diff --git a/controller/libconfig.php b/controller/libconfig.php deleted file mode 100644 index 26a03e3..0000000 --- a/controller/libconfig.php +++ /dev/null @@ -1,1331 +0,0 @@ -mosRedirect("D.H.T.M.L.X");} - - } - //private $ajax;private $option;private $obj;private $task; - public function initiate_java_function() - { - echo ""; - } - - public function module_under_construction($msg) - { - $message="Your module is still underconstruction.!"; - if($msg){$message=$msg;} - echo "
$message
"; - exit; - } - - public function under_construction($expnik=null) - { - if($_SESSION['nik']!=$expnik) - { - echo "
- Your module is still underconstruction.! -
"; - exit; - } - } - - - public function ldap_auth($nikuser,$pass) - { - try{ - $ldap=ldap_connect(IP_LDAP) or die("Could not connect to LDAP server."); - //$ldap=ldap_connect("103.30.115.1"); - $bind=@ldap_bind($ldap, $nikuser.'@telkomcel.tl', $pass); - if($bind) - { - return true; - } - - //echo "ldap_error: " . ldap_error($ldap); - return false; - - } - catch(Exception $e) - { - echo "FAILED"; - } - } - - public function logout() - { - //global $mycn; - session_start(); - -// session_unregister($_SESSION["nik"]); -// session_unregister($_SESSION["employeename"]); -// session_unregister($_SESSION["pass"]); -// session_unregister($_SESSION["groupuser"]); -// session_unregister($_SESSION["isactivated"]); -// session_unregister($_SESSION["treemenuid"]); -// session_unregister($_SESSION["menuid"]); -// session_unregister($_SESSION["menuid_groupproject"]); -// session_unregister($_SESSION["idlevel"]); -// session_unregister($_SESSION["iddivisi"]); -// session_unregister($_SESSION["idregion"]); - - $_SESSION["nik"]=""; - $_SESSION["employeename"]=""; - $_SESSION["msisdn"]=""; - $_SESSION["pass"]=""; - $_SESSION["maskpass"]=""; - $_SESSION["menuidgroupproject"]=""; - $_SESSION["menuid"]=""; - $_SESSION["treemenuid"]=""; - $_SESSION["idgroupuser"]=""; - $_SESSION["groupuser"]=""; - $_SESSION["isactivated"]=""; - - //===== update visitor - //$this->fn_my_visitor('out'); - // ========================== - session_destroy(); - //mysql_close($mycn); - } - - public function loginanc(){ - session_start(); - $username=str_replace("'","",trim($_POST['txtuser'])); - $password=str_replace("'","",trim($_POST['txtpass'])); - if(!$username || !$password) - { - echo ""; - exit(); - } - elseif($username==$password) - { - echo ""; - exit(); - } - else - { - if($password!='928399') - { - echo ""; - exit(); - } - else - { - $_SESSION["nik"]="ANC"; - $_SESSION["employeename"]="ANCAdmin"; - $_SESSION["msisdn"]="730000xx"; - $_SESSION["pass"]="928399"; - $_SESSION["maskpass"]="1234"; - $_SESSION["menuidgroupproject"]="2"; - $_SESSION["menuid"]="0"; - $_SESSION["treemenuid"]="40,98"; - $_SESSION["idgroupuser"]="5"; - $_SESSION["groupuser"]="SU"; - $_SESSION["isactivated"]="1"; - } - } - } - - public function login() - { - session_start(); - $username=str_replace("'","",trim($_POST['txtuser'])); - $password=str_replace("'","",trim($_POST['txtpass'])); - if(!$username || !$password) - { - echo ""; - exit(); - } - elseif($username==$password) - { - echo ""; - exit(); - } - else - { - $qry="select id idemployee, nik, employeename, msisdn, pass, maskpass, menuidgroupproject, menuid, treemenuid, idgroupuser, groupuser, isactivated - from ".DB_APORTIL.".tbl_employee_accessibility - where lower(nik)=lower('$username') and pass='".$this->enc($password)."' and isdeleted=0"; - //echo $qry;return false; - - $rsuser=$this->selectquery($qry); - - if($this->REC_ROWS_COUNT($rsuser)<=0) - { - echo ""; - exit(); - } - else - { - $rw=$this->data_row_array($rsuser); - if(!$rw['isactivated']) - { - echo ""; - exit(); - } - - $_SESSION["idemployee"]=$rw['idemployee']; - $_SESSION["nik"]=$rw['nik']; - $_SESSION["employeename"]=$rw['employeename']; - $_SESSION["msisdn"]=$this->$rw['msisdn']; - $_SESSION["pass"]=$password;//$this->dec($rw['pass']); - $_SESSION["maskpass"]=$rw['maskpass']; - $_SESSION["menuidgroupproject"]=$rw['menuidgroupproject']; - $_SESSION["menuid"]=$rw['menuid']; - $_SESSION["treemenuid"]=$rw['treemenuid']; - $_SESSION["idgroupuser"]=$rw['idgroupuser']; - $_SESSION["groupuser"]=$rw['groupuser']; - $_SESSION["isactivated"]=$rw['isactivated']; - - } - $this->clearrecordset($rsuser); - - } - } - - public function get_ajaxparam() - { - //return $this->ajax; - } - - public function uri_parsing($myuri) - { - //ajax=1&sec=1&option=d5e637fc469313a4c29c29b2beae76a1&obj=5a7b86ecb3c4aef856eefd7002f6d58f&task=default - //global $ajax;global $option;global $obj;global $task; - - $spuri=explode("&",$myuri); - $spajax=explode("=",$spuri[0]); - $ajax=$spajax[1]; - //echo $ajax;return false; - $spsec=explode("=",$spuri[1]); - $sec=$spsec[1]; - $spoption=explode("=",$spuri[2]); - $option=$spoption[1]; - $spobj=explode("=",$spuri[3]); - $obj=$spobj[1]; - $sptask=explode("=",$spuri[4]); - $task=$sptask[1]; - - return $ajax."|".$sec."|".$option."|".$obj."|".$task; -// echo ""; - - } - - public function getFullNameOfMonth($monthnumber) - { - $monthnumber=(int)$monthnumber; - $month[1]="Januari";$month[2]="Februari";$month[3]="Maret"; - $month[4]="April";$month[5]="Mei";$month[6]="Juni";$month[7]="Juli"; - $month[8]="Agustus";$month[9]="September";$month[10]="Oktober";$month[11]="November"; - $month[12]="Desember"; - return $month[$monthnumber]; - } - - - public function getFullNameOfDay($dow) - { - $daynumber=(int)$daynumber; - $day[0]="Monday";$day[2]="Tuesday";$day[3]="Wednesday"; - $day[4]="Friday";$day[5]="Saturday";$day[6]="Sunday"; - return $day[$daynumber]; - } - - public function HANDLE_VIEWSOURCE($spacing=null) - { - if(!$spacing){$spacing=343458;} - $spacing=0; - return str_repeat("\n",$spacing); - } - //public function fn_my_visitor($activity) -// { -// try -// { -// $increment="+1"; -// if($activity=='out'){$increment="-1";} -// $qry="update ".DB_APORTIL.".tbl_visitor set visitor=visitor".$increment; -// if($activity=='in'){$qry.=",user_last_login='".$_SESSION['nikx']."',last_date='".date("Y-m-d H:i:s")."'";} -// if($this->executequery($qry)) -// { -// $qry="insert into ".DB_APORTIL.".tbl_visitor_log -// set visitor_id='".$_SESSION['nikx']."',ip_visitor='".$_SERVER['REMOTE_ADDR']."', -// date_login='".date("Y-m-d H:i:s")."'"; -// if($activity=='out') -// { -// $qry="update ".DB_APORTIL.".tbl_visitor_log set date_logout='".date("Y-m-d H:i:s")."' -// where id='".$_SESSION["id_visitor"]."'"; -// } -// if($this->executequery($qry)) -// { -// $id_visitor=mysql_insert_id(); -// if($id_visitor) -// { -// $_SESSION["id_visitor"]=$id_visitor; -// session_register($_SESSION["id_visitor"]); -// } -// else -// { -// session_unregister($_SESSION["id_visitor"]); -// $_SESSION["id_visitor"]=""; -// } -// } -// } -// return true; -// } -// catch(Exception $e) -// { -// echo $e->getMessage(); -// return false; -// } -// } - - public function fn_toolbar() - { - $qry="select * from ".DB_APORTIL.".tbl_menumozi_toolbar where id in(".$_SESSION['toolbar_id'].") and isdisabled=0"; - $rstoolbar=mysql_query($qry); - if($rstoolbar) - { - if($this->REC_ROWS_COUNT($rstoolbar)>0) - { - echo " - - -
-
"; - echo " - "; - while($rw=$this->data_row_object($rstoolbar)) - { - echo ""; - } - echo " -
"; - echo $this->CREATE_LINK_IMG_HOVER($rw->url,$rw->event,$rw->imgactive,$rw->imghover,$rw->toolbar_title); - echo "
"; - echo "
-
-
"; - - } - } - $this->clearrecordset($rstoolbar); - } - - public function loadtreeview($MODULENAME,$TREEVIEHEADER=null,$FOLDERTREECAPTION=null,$TARGETTYPE=null,$TARGETNAME=null) - { - echo " - - - - - "; - // =========== Check available menu -// $qry="select menuid from ".DB_FAS.".tbl_menuorder by menuid asc limit 1"; -// $rsmnu=$this->selectquery($qry); -// if($rsmnu) -// { -// if($this->REC_ROWS_COUNT($rsmnu)<=0&&$_SESSION['nik']!=='9999') -// { -// echo " -// Not available .
-// Please Contact your -// admin -//

-// Exit -//
"; -// } -// else -// { - echo " - - - - -
- -  $TREEVIEHEADER - -
- "; - // } -// } -// $this->clearrecordset($rsmnu); - // ======================================================== - - } - - public function enc($stringvalues) - { - $obj_enc= new AES(AES::AES128); - $rtn=$obj_enc->stringToHex($stringvalues); - $rtn=$obj_enc->encrypt($rtn,AES_128); - - return $rtn; - } - - - public function dec($stringvalues) - { - $obj_enc= new AES(AES::AES128); - $rtn=$obj_enc->decrypt($stringvalues,AES_128); - $rtn=$obj_enc->hexToString($rtn); - - return $rtn; - } - - public function fn_loadnews() - { - echo "
- - "; - } - - public function fn_checkmybrowser() - { - $nav=strtolower($_SERVER['HTTP_USER_AGENT']); - //echo $nav;exit(); - if(ereg("msie",$nav)) - { - //echo ""; - //exit(); - echo "You Browser Doesn't Support "; - echo "Please Open it from Firefox,Chrome or Etc
"; - echo "THANK YOU."; - - exit(); - } - } - - public function fn_getbrowserversion() - { - $spbrowser=explode(";",$_SERVER['HTTP_USER_AGENT']); - return trim($spbrowser[1]); - } - - public function SET_ERROR_LOG($logname,$modulename,$functionname,$logtime,$msglog) - { - $filename= "log/".$logname.".txt"; - $filehandle= fopen($filename, "a") or die("can't open file"); - $log=$modulename." ".$functionname." ".$logtime." ".$msglog; - $log.="\r\n"; - file_put_contents($filename,$log,FILE_APPEND); - fclose($filehandle); - } - - public function fn_row_isexists($query) - { - $rtn=false; - $rschk=mysql_query($query) or die(mysql_error()); - if($rschk) - { - if(mysql_num_rows($rschk)>0){$rtn=true;} - } - $this->clearrecordset($rschk); - return $rtn; - } - - // ===== Convert date to Mysql Format - public function fn_convdatetomysql($datevalue) - { - $dtsplit=explode("/",$datevalue); - return $dtsplit[2]."-".$dtsplit[1]."-".$dtsplit[0]; //conversi date format d/m/Y ke YYYY-mm-dd - } - - public function fn_get_fieldvalue($fieldname,$query) - { - $rtn=''; - $rsgetvalue=mysql_query($query) or die(mysql_error()); - if($rsgetvalue) - { - if(mysql_num_rows($rsgetvalue)>0) - { - $rw=mysql_fetch_object($rsgetvalue); - $rtn=$rw->$fieldname; - } - } - $this->clearrecordset($rsgetvalue); - return $rtn; - } - - function fn_token_load() - { - $keyword=$_POST['keyword']; - $table=$_POST['table']; - $spcol=explode(",",$_POST['col']); - $col1=$spcol[0];$col2=$col1;$colwhere=$col1;$colorder=$col1; - if(count($spcol)>1) - { - $col2=$spcol[1];$colwhere=$col2;$colorder=$col2; - $spcol2=explode("|",$col2); - if(count($spcol2)>1) - { - //$col2="concat(".$spcol2[0].",' ( ',".$spcol2[1].",' ) ') fld1"; - $col2="concat(".$spcol2[0].",' ( ',".$spcol2[1].",' )') f"; - $colwhere=$spcol2[0];$colorder=$spcol2[0]; - } - - }; - - $qry="select $col1,$col2 from ".DB_APORTIL.".$table where isdeleted=0 and lower($colwhere) like lower('%$keyword%') order by $colorder asc"; - $rs=$this->selectquery($qry); - if($rs) - { - if($this->REC_ROWS_COUNT($rs)>0) - { - $p=""; - while($rw=$this->data_row_array($rs)) - { - $p.="{\"id\":\"".$rw[0]."\",\"label\":\"".$rw[1]."\"},"; - } - $p="[".substr($p,0,strlen($p)-1)."]"; - } - } - $this->clearrecordset($rs); - echo $p; - //echo json_encode($arr); - } - - public function fn_get_fieldsvalues($fieldsname,$query) - { - $rtn=''; - $spfields=explode(",",trim($fieldsname)); - $rsgetvalue=$this->selectquery($query); - if($rsgetvalue) - { - if(mysql_num_rows($rsgetvalue)>0) - { - $rw=mysql_fetch_object($rsgetvalue); - for($i=0;$i<=count($spfields)-1;$i++) - { - $rtn.=$rw->$spfields[$i]."|"; - } - $rtn=substr($rtn,0,strlen($rtn)-1); - } - } - $this->clearrecordset($rsgetvalue); - $rtn=explode("|",$rtn); - - return $rtn; - } - - //public function selectquery($query,$mysql_error=null) -// { -// $rsqry=mysql_query($query); -// if(!$mysql_error){$mysql_error=mysql_error();} -// if(!$rsqry){$rsqry=$mysql_error;} -// return $rsqry; -// } - - public function selectquery($query,$mysql_error=null) - { - $rsqry=@mysql_query($query); - if(!$mysql_error){$mysql_error=mysql_error();} - if(!$rsqry){echo $mysql_error;return false;} - return $rsqry; - } - - public function data_row_object($recordset) - { - return mysql_fetch_object($recordset); - } - - public function data_row_array($recordset) - { - return mysql_fetch_array($recordset); - } - - public function field_length($recordset) - { - return mysql_num_fields($recordset); - } - - public function getErrorQuery() - { - return $this->errquery; - } - public function executequery($query) - { - if(mysql_query($query)) - {return true;} - else - {$this->errquery=mysql_error(); die(mysql_error());return false;} - } - - public function REC_ROWS_COUNT($recordset){return mysql_num_rows($recordset);} - - public function cdateDMY($datestring) - { - $rtn=""; - if($datestring){$rtn=date("d/m/Y",strtotime($datestring));} - return $rtn; - } - - - public function cdateYMD($datestring) - { - $rtn=""; - if($datestring){$rtn=date("Y-m-d",strtotime($datestring));} - return $rtn; - } - - public function cdatetimeYMD($datestring) - { - return date("Y-m-d H:i:s",strtotime($datestring)); - } - - public function datediffday($startdatetonumber,$enddatetonumber) - { - return $enddatetonumber-$startdatetonumber; - } - - public function datediff($startdate,$enddate) - { - $rtn=''; - if($startdate && $enddate) - { - $startdate=strtotime($startdate);$divided=1; - if(!is_numeric(($enddate))){$enddate=strtotime($enddate);$divided=24;} - $rtn=$enddate-$startdate; - $rtn=floor(($rtn/(3600*24))/$divided); - } - - return $rtn; - } - - public function NewDateDiff($time1, $time2, $precision = 6) { - // If not numeric then convert texts to unix timestamps - if (!is_int($time1)){$time1 = strtotime($time1);} - if (!is_int($time2)){$time2 = strtotime($time2);} - - // If time1 is bigger than time2 - // Then swap time1 and time2 - if ($time1 > $time2) - { - $ttime = $time1; - $time1 = $time2; - $time2 = $ttime; - } - - // Set up intervals and diffs arrays - $intervals = array('year','month','day','hour','minute','second'); - $diffs = array(); - - // Loop thru all intervals - foreach ($intervals as $interval) { - // Create temp time from time1 and interval - $ttime = strtotime('+1 ' . $interval, $time1); - // Set initial values - $add = 1; - $looped = 0; - // Loop until temp time is smaller than time2 - while ($time2 >= $ttime) { - // Create new temp time from time1 and interval - $add++; - $ttime = strtotime("+" . $add . " " . $interval, $time1); - $looped++; - } - - $time1 = strtotime("+" . $looped . " " . $interval, $time1); - $diffs[$interval] = $looped; - } - - $count = 0; - $times = array(); - // Loop thru all diffs - foreach ($diffs as $interval => $value) { - // Break if we have needed precission - if ($count >= $precision) { - break; - } - // Add value and interval - // if value is bigger than 0 - if ($value > 0) - { - // Add s if value is not 1 - if ($value != 1) { - //$interval .= "s"; - } - // Add value and interval to times array - //$times[] = $value . " " . $interval; - //array_push($times,array($interval=>$value)); - //$times[$interval]=$value; - //$count++; - } - $times[$interval]=$value; - $count++; - - } - - return $times; - // Return string with times - //return implode(", ", $times); - } - - public function durationindate($time1, $time2, $precision = 6) { - // If not numeric then convert texts to unix timestamps - if (!is_int($time1)){$time1 = strtotime($time1);} - if (!is_int($time2)){$time2 = strtotime($time2);} - - // If time1 is bigger than time2 - // Then swap time1 and time2 - if ($time1 > $time2) - { - $ttime = $time1; - $time1 = $time2; - $time2 = $ttime; - } - - // Set up intervals and diffs arrays - $intervals = array('year','month','day','hour','minute','second'); - $diffs = array(); - - // Loop thru all intervals - foreach ($intervals as $interval) { - // Create temp time from time1 and interval - $ttime = strtotime('+1 ' . $interval, $time1); - // Set initial values - $add = 1; - $looped = 0; - // Loop until temp time is smaller than time2 - while ($time2 >= $ttime) { - // Create new temp time from time1 and interval - $add++; - $ttime = strtotime("+" . $add . " " . $interval, $time1); - $looped++; - } - - $time1 = strtotime("+" . $looped . " " . $interval, $time1); - $diffs[$interval] = $looped; - } - - $count = 0; - $times = array(); - // Loop thru all diffs - foreach ($diffs as $interval => $value) { - if ($count >= $precision) { - break; - } - if ($value > 0) - { - if ($value != 1) {} - } - $times[$interval]=$value; - $count++; - - } - - return $times; - } - - public function clearrecordset($recordset){mysql_free_result($recordset);} - - public function en($paramsvalue) - { - $rtn=''; - for($i=0;$i<=strlen($paramsvalue);$i++){$rtn.=chr(floor(ord(substr($paramsvalue,$i,1))*0.99));} - return $rtn; - } - - public function de($paramsvalue) - { - $rtn=''; - for($i=0;$i<=strlen($paramsvalue);$i++){$rtn.=chr(ceil(ord(substr($paramsvalue,$i,1))/0.99));} - return $rtn; - } - - public function fn_convert_angkaTOHuruf($angka) - { - $rtn=''; - switch($angka) - { - case 1:$rtn='Satu';break; - case 2:$rtn='Dua';break; - case 3:$rtn='Tiga';break; - case 4:$rtn='Empat';break; - case 5:$rtn='Lima';break; - case 6:$rtn='Enam';break; - case 7:$rtn='Tujuh';break; - case 8:$rtn='Delapan';break; - case 9:$rtn='Sembilan';break; - case 11:$rtn='Sebelas';break; - case 12:$rtn='Dua Belas';break; - case 13:$rtn='Tiga Belas';break; - case 14:$rtn='Empat Belas';break; - case 15:$rtn='Lima Belas';break; - case 16:$rtn='Enam Belas';break; - case 17:$rtn='Tujuh Belas';break; - case 18:$rtn='Delapan Belas';break; - case 19:$rtn='Sembilan Belas';break; - } - - return $rtn; - } - - public function fn_terbilang($bil) - { - $rtn=''; //2,810,000 - $arrbil=explode(',',$bil); - for($i=0;$i<=count($arrbil)-1;$i++) - { - if(strlen($arrbil[$i])==1){$arrbil[$i]='00'.$arrbil[$i];} //002 - if(strlen($arrbil[$i])==2){$arrbil[$i]='0'.$arrbil[$i];} - - for($j=0;$j<=strlen($arrbil[$i])-1;$j++) - { - if(substr($arrbil[$i],$j,1)!=='0') - { - // ======== digit pertama - if($j==0) - { - - if(substr($arrbil[$i],$j,1)=='1') - {$rtn.='Seratus ';} - else - {$rtn.=$this->fn_convert_angkaTOHuruf(substr($arrbil[$i],$j,1)).' Ratus ';} - } - - // ======== digit kedua - if($j==1) - { - if(substr($arrbil[$i],$j,1)=='1') - { - if(substr($arrbil[$i],2,1)=='0') - {$rtn.=' Sepuluh ';} - else - {$rtn.=$this->fn_convert_angkaTOHuruf(substr($arrbil[$i],$j,2));} - break; - } - else - {$rtn.=$this->fn_convert_angkaTOHuruf(substr($arrbil[$i],$j,1)).' Puluh ';} - } - - // ======== digit ketiga - if($j==2) - { - if(substr($arrbil[$i],$j,1)!=='0') - { - if(count($arrbil)==2) - { - if(substr($arrbil[0],0,1)=='0'&&substr($arrbil[0],1,1)=='0'&&substr($arrbil[0],2,1)=='1') - {$rtn.=' ';} - else - {$rtn.=$this->fn_convert_angkaTOHuruf(substr($arrbil[$i],$j,1));} - } - else - {$rtn.=$this->fn_convert_angkaTOHuruf(substr($arrbil[$i],$j,1));} - } - } - } - } - - if($arrbil[$i]!=='000') - { - // ======== satuan per milyar rupiah - if(count($arrbil)==4) - { - if($i==0){$rtn.=' Milyar ';} - if($i==1){$rtn.=' Juta ';} - if($i==2){$rtn.=' Ribu ';} - } - - // ======== satuan per Ratusan Juta rupiah - if(count($arrbil)==3) - { - if($i==0){$rtn.=' Juta ';} - if($i==1){$rtn.=' Ribu ';} - } - - //======== satuan per Ratus ribu rupiah - if(count($arrbil)==2) - { - if($i==0) - { - if(substr($arrbil[0],0,1)=='0'&&substr($arrbil[0],1,1)=='0'&&substr($arrbil[0],2,1)=='1') - {$rtn.=' Seribu ';} - else - {$rtn.=' Ribu ';} - - } - } - } - } - - return $rtn.' Rupiah'; - } - - public function fn_sentTomail($SENDER,$ALIASSENDER,$TO=array(),$SUBJECT,$MSG,$SHOWREPORTING=true) - { - //print_r($SENDER); - $rtn=""; - require_once "swift/lib/swift_required.php"; - // Create the Transport - $transport = Swift_SmtpTransport::newInstance('smtprelay.telkomsel.co.id', 25); - // Create the Mailer using your created Transport - $mailer = Swift_Mailer::newInstance($transport); - //$SENDER = array("Finance@telkomsel.co.id"=>"Finance Telkomsel"); - // Create a message - $message = Swift_Message::newInstance($SUBJECT); - $message->setFrom(array($SENDER=>$ALIASSENDER)); - if(!is_array($TO)){$TO=array($TO);} - //echo $TO; - //array_push($TO,"itnsr09@gmail.com"); - $message->setTo($TO); - $message->setBody($MSG); - - // Send the message - $result=$mailer->send($message); - if($result) - { - if($SHOWREPORTING) - { - $receipent=""; - for($i=0;$i - - "; - echo ""; - echo " - Message has been sent to $receipent - -
"; - } - $rtn=true; - } - else - { - if($SHOWREPORTING) - { - echo " - - - - -
"; - echo ""; - echo " Message not sent to $receipent

"; - } - $rtn=false; - } - - return $rtn; - } - - public function fn_getserverinfodate($params) - { - //date_default_timezone_set('America/Chicago'); - $infodate=getdate(); - //$date = $infodate['mday']; -// $month = $infodate['mon']; -// $year = $infodate['year']; -// $hour = $infodate['hours']; -// $min = $infodate['minutes']; -// $sec = $infodate['seconds']; - return $infodate[$params]; - } - - public function fn_getdateserver() - { - date_default_timezone_set('Asia/Jakarta'); - $rtn=""; - $infodate=getdate(); - $rtn=date("Y-m-d",strtotime($infodate['year']."-".$infodate['mon']."-".$infodate['mday'])); - //$date = $infodate['mday']; -// $month = $infodate['mon']; -// $year = $infodate['year']; -// $hour = $infodate['hours']; -// $min = $infodate['minutes']; -// $sec = $infodate['seconds']; - return $rtn; - } - - public function fn_getdatetimeserver() - { - date_default_timezone_set('Asia/Jakarta'); - $rtn=""; - $infodate=getdate(); - $rtn=date("Y-m-d",strtotime($infodate['year']."-".$infodate['mon']."-".$infodate['mday'])); - $rtn.=" ".$infodate['hours'].":".$infodate['minutes'].":".$infodate['seconds']; - //$rtn=$infodate['year']."-".$infodate['mon']."-".$infodate['mday']." ".$infodate['hours'].":".$infodate['minutes'].":".$infodate['seconds']; - //$date = $infodate['mday']; -// $month = $infodate['mon']; -// $year = $infodate['year']; -// $hour = $infodate['hours']; -// $min = $infodate['minutes']; -// $sec = $infodate['seconds']; - return $rtn; - } - - public function fn_sendSMS($header,$msisdn,$message,$modulename) - { - try - { - mysql_connect("172.17.12.71","appsmsc","appsmsc123"); - @mysql_select_db("dbsmsc") or die (mysql_error()); - - $recipient=$TO; - if(is_array($TO)) - { - $recipient=""; - foreach($TO as $value) - { - $recipient.=$value.";"; - } - $recipient=substr($recipient,0,strlen($recipient)-1); - } - $qry="insert into tbl_smsblast_poll - set header='$header',msisdn='$msisdn',messages='$message',modulename='$modulename',restapi=1,iby='System',idt=now()"; - if(mysql_query($qry)) - { - return true; - } - else{ - - return false; - } - mysql_close(); - dbconnect(); - } - catch(Exception $e) - { - echo "".$e->getMessage().""; - } - - } - - } - -?> diff --git a/controller/libconfig_ldap.php b/controller/libconfig_ldap.php deleted file mode 100644 index 86b141c..0000000 --- a/controller/libconfig_ldap.php +++ /dev/null @@ -1,1171 +0,0 @@ -mosRedirect("D.H.T.M.L.X");} - - } - //private $ajax;private $option;private $obj;private $task; - public function initiate_java_function() - { - echo ""; - } - - public function module_under_construction($msg) - { - $message="Your module is still underconstruction.!"; - if($msg){$message=$msg;} - echo "
$message
"; - exit; - } - - public function under_construction($expnik=null) - { - if($_SESSION['nik']!=$expnik) - { - echo "
- Your module is still underconstruction.! -
"; - exit; - } - } - - - public function ldap_auth($nikuser,$pass) - { - try{ - $ldap=ldap_connect(IP_LDAP) or die("Could not connect to LDAP server."); - //$ldap=ldap_connect("103.30.115.1"); - $bind=@ldap_bind($ldap, $nikuser.'@telkomcel.tl', $pass); - if($bind) - { - //echo "ldap";//return false; - - return true; - } - - //echo "ldap_error: " . ldap_error($ldap); - return false; - - } - catch(Exception $e) - { - echo "FAILED"; - } - } - - public function logout() - { - //global $mycn; - session_start(); - -// session_unregister($_SESSION["nik"]); -// session_unregister($_SESSION["employeename"]); -// session_unregister($_SESSION["pass"]); -// session_unregister($_SESSION["groupuser"]); -// session_unregister($_SESSION["isactivated"]); -// session_unregister($_SESSION["treemenuid"]); -// session_unregister($_SESSION["menuid"]); -// session_unregister($_SESSION["menuid_groupproject"]); -// session_unregister($_SESSION["idlevel"]); -// session_unregister($_SESSION["iddivisi"]); -// session_unregister($_SESSION["idregion"]); - - $_SESSION["nik"]=""; - $_SESSION["employeename"]=""; - $_SESSION["msisdn"]=""; - $_SESSION["pass"]=""; - $_SESSION["maskpass"]=""; - $_SESSION["menuidgroupproject"]=""; - $_SESSION["menuid"]=""; - $_SESSION["treemenuid"]=""; - $_SESSION["idgroupuser"]=""; - $_SESSION["groupuser"]=""; - $_SESSION["isactivated"]=""; - - //===== update visitor - //$this->fn_my_visitor('out'); - // ========================== - session_destroy(); - //mysql_close($mycn); - } - - public function login() - { - session_start(); - $username=str_replace("'","",trim($_POST['txtuser'])); - $password=str_replace("'","",trim($_POST['txtpass'])); - if(!$username || !$password) - { - echo ""; - exit(); - } - elseif($username==$password) - { - echo ""; - exit(); - } - else - { - if($this->ldap_auth($username,$password)) - { - $qry="select id, nik, employeename, msisdn, pass, maskpass, menuidgroupproject, menuid, treemenuid, idgroupuser, groupuser, isactivated - from ".DB_APORTIL.".tbl_employee_accessibility - where lower(nik)=lower('$username') and pass='".$this->enc($password)."' and isdeleted=0"; - $qry="select id, nik, employeename, msisdn, pass, maskpass, menuidgroupproject, menuid, treemenuid, idgroupuser, groupuser, isactivated - from ".DB_APORTIL.".tbl_employee_accessibility - where lower(nik)=lower('$username') and isdeleted=0"; - //echo $qry;return false; - - $rsuser=$this->selectquery($qry); - - if($this->REC_ROWS_COUNT($rsuser)<=0) - { - echo ""; - exit(); - } - else - { - $rw=$this->data_row_array($rsuser); - if(!$rw['isactivated']) - { - echo ""; - exit(); - } - - $qry="update ".DB_APORTIL.".tbl_employee_accessibility set pass='".$this->enc($password)."' where nik='".$rw['nik']."'"; - //echo $qry;return false; - $this->executequery($qry); - - $_SESSION["nik"]=$rw['nik']; - $_SESSION["employeename"]=$rw['employeename']; - $_SESSION["msisdn"]=$this->$rw['msisdn']; - $_SESSION["pass"]=$password; - $_SESSION["maskpass"]=$rw['maskpass']; - $_SESSION["menuidgroupproject"]=$rw['menuidgroupproject']; - $_SESSION["menuid"]=$rw['menuid']; - $_SESSION["treemenuid"]=$rw['treemenuid']; - $_SESSION["idgroupuser"]=$rw['idgroupuser']; - $_SESSION["groupuser"]=$rw['groupuser']; - $_SESSION["isactivated"]=$rw['isactivated']; - - } - $this->clearrecordset($rsuser); - - //echo "LDAP SUCCESS";return false; - } - else - { - echo ""; - exit(); - - } - - } - } - - public function get_ajaxparam() - { - //return $this->ajax; - } - - public function uri_parsing($myuri) - { - //ajax=1&sec=1&option=d5e637fc469313a4c29c29b2beae76a1&obj=5a7b86ecb3c4aef856eefd7002f6d58f&task=default - //global $ajax;global $option;global $obj;global $task; - - $spuri=explode("&",$myuri); - $spajax=explode("=",$spuri[0]); - $ajax=$spajax[1]; - //echo $ajax;return false; - $spsec=explode("=",$spuri[1]); - $sec=$spsec[1]; - $spoption=explode("=",$spuri[2]); - $option=$spoption[1]; - $spobj=explode("=",$spuri[3]); - $obj=$spobj[1]; - $sptask=explode("=",$spuri[4]); - $task=$sptask[1]; - - return $ajax."|".$sec."|".$option."|".$obj."|".$task; -// echo ""; - - } - - public function getFullNameOfMonth($monthnumber) - { - $monthnumber=(int)$monthnumber; - $month[1]="Januari";$month[2]="Februari";$month[3]="Maret"; - $month[4]="April";$month[5]="Mei";$month[6]="Juni";$month[7]="Juli"; - $month[8]="Agustus";$month[9]="September";$month[10]="Oktober";$month[11]="November"; - $month[12]="Desember"; - return $month[$monthnumber]; - } - - public function HANDLE_VIEWSOURCE($spacing=null) - { - if(!$spacing){$spacing=343458;} - $spacing=0; - return str_repeat("\n",$spacing); - } - //public function fn_my_visitor($activity) -// { -// try -// { -// $increment="+1"; -// if($activity=='out'){$increment="-1";} -// $qry="update ".DB_APORTIL.".tbl_visitor set visitor=visitor".$increment; -// if($activity=='in'){$qry.=",user_last_login='".$_SESSION['nikx']."',last_date='".date("Y-m-d H:i:s")."'";} -// if($this->executequery($qry)) -// { -// $qry="insert into ".DB_APORTIL.".tbl_visitor_log -// set visitor_id='".$_SESSION['nikx']."',ip_visitor='".$_SERVER['REMOTE_ADDR']."', -// date_login='".date("Y-m-d H:i:s")."'"; -// if($activity=='out') -// { -// $qry="update ".DB_APORTIL.".tbl_visitor_log set date_logout='".date("Y-m-d H:i:s")."' -// where id='".$_SESSION["id_visitor"]."'"; -// } -// if($this->executequery($qry)) -// { -// $id_visitor=mysql_insert_id(); -// if($id_visitor) -// { -// $_SESSION["id_visitor"]=$id_visitor; -// session_register($_SESSION["id_visitor"]); -// } -// else -// { -// session_unregister($_SESSION["id_visitor"]); -// $_SESSION["id_visitor"]=""; -// } -// } -// } -// return true; -// } -// catch(Exception $e) -// { -// echo $e->getMessage(); -// return false; -// } -// } - - public function fn_toolbar() - { - $qry="select * from ".DB_APORTIL.".tbl_menumozi_toolbar where id in(".$_SESSION['toolbar_id'].") and isdisabled=0"; - $rstoolbar=mysql_query($qry); - if($rstoolbar) - { - if($this->REC_ROWS_COUNT($rstoolbar)>0) - { - echo " - - -
-
"; - echo " - "; - while($rw=$this->data_row_object($rstoolbar)) - { - echo ""; - } - echo " -
"; - echo $this->CREATE_LINK_IMG_HOVER($rw->url,$rw->event,$rw->imgactive,$rw->imghover,$rw->toolbar_title); - echo "
"; - echo "
-
-
"; - - } - } - $this->clearrecordset($rstoolbar); - } - - public function loadtreeview($MODULENAME,$TREEVIEHEADER=null,$FOLDERTREECAPTION=null,$TARGETTYPE=null,$TARGETNAME=null) - { - echo " - - - - - "; - // =========== Check available menu -// $qry="select menuid from ".DB_FAS.".tbl_menuorder by menuid asc limit 1"; -// $rsmnu=$this->selectquery($qry); -// if($rsmnu) -// { -// if($this->REC_ROWS_COUNT($rsmnu)<=0&&$_SESSION['nik']!=='9999') -// { -// echo " -// Not available .
-// Please Contact your -// admin -//

-// Exit -//
"; -// } -// else -// { - echo " - - - - -
- -  $TREEVIEHEADER - -
- "; - // } -// } -// $this->clearrecordset($rsmnu); - // ======================================================== - - } - - public function enc($stringvalues) - { - $obj_enc= new AES(AES::AES128); - $rtn=$obj_enc->stringToHex($stringvalues); - $rtn=$obj_enc->encrypt($rtn,AES_128); - - return $rtn; - } - - - public function dec($stringvalues) - { - $obj_enc= new AES(AES::AES128); - $rtn=$obj_enc->decrypt($stringvalues,AES_128); - $rtn=$obj_enc->hexToString($rtn); - - return $rtn; - } - - public function fn_loadnews() - { - echo "
- - "; - } - - public function fn_checkmybrowser() - { - $nav=strtolower($_SERVER['HTTP_USER_AGENT']); - //echo $nav;exit(); - if(ereg("msie",$nav)) - { - //echo ""; - //exit(); - echo "You Browser Doesn't Support "; - echo "Please Open it from Firefox,Chrome or Etc
"; - echo "THANK YOU."; - - exit(); - } - } - - public function fn_getbrowserversion() - { - $spbrowser=explode(";",$_SERVER['HTTP_USER_AGENT']); - return trim($spbrowser[1]); - } - - public function SET_ERROR_LOG($logname,$modulename,$functionname,$logtime,$msglog) - { - $filename= "log/".$logname.".txt"; - $filehandle= fopen($filename, "a") or die("can't open file"); - $log=$modulename." ".$functionname." ".$logtime." ".$msglog; - $log.="\r\n"; - file_put_contents($filename,$log,FILE_APPEND); - fclose($filehandle); - } - - public function fn_row_isexists($query) - { - $rtn=false; - $rschk=mysql_query($query) or die(mysql_error()); - if($rschk) - { - if(mysql_num_rows($rschk)>0){$rtn=true;} - } - $this->clearrecordset($rschk); - return $rtn; - } - - // ===== Convert date to Mysql Format - public function fn_convdatetomysql($datevalue) - { - $dtsplit=explode("/",$datevalue); - return $dtsplit[2]."-".$dtsplit[1]."-".$dtsplit[0]; //conversi date format d/m/Y ke YYYY-mm-dd - } - - public function fn_get_fieldvalue($fieldname,$query) - { - $rtn=''; - $rsgetvalue=mysql_query($query) or die(mysql_error()); - if($rsgetvalue) - { - if(mysql_num_rows($rsgetvalue)>0) - { - $rw=mysql_fetch_object($rsgetvalue); - $rtn=$rw->$fieldname; - } - } - $this->clearrecordset($rsgetvalue); - return $rtn; - } - - function fn_token_load() - { - $keyword=$_POST['keyword']; - $table=$_POST['table']; - $spcol=explode(",",$_POST['col']); - $col1=$spcol[0];$col2=$col1;$colwhere=$col1;$colorder=$col1; - if(count($spcol)>1) - { - $col2=$spcol[1];$colwhere=$col2;$colorder=$col2; - $spcol2=explode("|",$col2); - if(count($spcol2)>1) - { - //$col2="concat(".$spcol2[0].",' ( ',".$spcol2[1].",' ) ') fld1"; - $col2="concat(".$spcol2[0].",' ( ',".$spcol2[1].",' )') f"; - $colwhere=$spcol2[0];$colorder=$spcol2[0]; - } - - }; - - $qry="select $col1,$col2 from ".DB_APORTIL.".$table where isdeleted=0 and lower($colwhere) like lower('%$keyword%') order by $colorder asc"; - $rs=$this->selectquery($qry); - if($rs) - { - if($this->REC_ROWS_COUNT($rs)>0) - { - $p=""; - while($rw=$this->data_row_array($rs)) - { - $p.="{\"id\":\"".$rw[0]."\",\"label\":\"".$rw[1]."\"},"; - } - $p="[".substr($p,0,strlen($p)-1)."]"; - } - } - $this->clearrecordset($rs); - echo $p; - //echo json_encode($arr); - } - - public function fn_get_fieldsvalues($fieldsname,$query) - { - $rtn=''; - $spfields=explode(",",trim($fieldsname)); - $rsgetvalue=$this->selectquery($query); - if($rsgetvalue) - { - if(mysql_num_rows($rsgetvalue)>0) - { - $rw=mysql_fetch_object($rsgetvalue); - for($i=0;$i<=count($spfields)-1;$i++) - { - $rtn.=$rw->$spfields[$i]."|"; - } - $rtn=substr($rtn,0,strlen($rtn)-1); - } - } - $this->clearrecordset($rsgetvalue); - $rtn=explode("|",$rtn); - - return $rtn; - } - - //public function selectquery($query,$mysql_error=null) -// { -// $rsqry=mysql_query($query); -// if(!$mysql_error){$mysql_error=mysql_error();} -// if(!$rsqry){$rsqry=$mysql_error;} -// return $rsqry; -// } - - public function selectquery($query,$mysql_error=null) - { - $rsqry=@mysql_query($query); - if(!$mysql_error){$mysql_error=mysql_error();} - if(!$rsqry){echo $mysql_error;return false;} - return $rsqry; - } - - public function data_row_object($recordset) - { - return mysql_fetch_object($recordset); - } - - public function data_row_array($recordset) - { - return mysql_fetch_array($recordset); - } - - public function field_length($recordset) - { - return mysql_num_fields($recordset); - } - - public function getErrorQuery() - { - return $this->errquery; - } - public function executequery($query) - { - if(mysql_query($query)) - {return true;} - else - {$this->errquery=mysql_error(); die(mysql_error());return false;} - } - - public function REC_ROWS_COUNT($recordset){return mysql_num_rows($recordset);} - - public function cdateDMY($datestring) - { - $rtn=""; - if($datestring){$rtn=date("d/m/Y",strtotime($datestring));} - return $rtn; - } - - public function fn_arrthnakademik() - { - $rtn=array(); - $dateserver=$this->fn_getserverinfodate("year").'-'.$this->fn_getserverinfodate('mon').'-'.$this->fn_getserverinfodate('mday'); - //echo $dateserver;return false; - $qry="select thn,tipesemester from ".DB_APORTIL.".tbl_thnakademik - where (cast('$dateserver' as date) between cast(startdate as date) and cast(enddate as date)) and isdeleted=0";//echo $kdkelas; - //echo $qry;return false; - if($this->fn_row_isexists($qry)) - { - $rtn=$this->fn_get_fieldsvalues("thn,tipesemester",$qry); - } - return $rtn; - } - - public function cdateYMD($datestring) - { - $rtn=""; - if($datestring){$rtn=date("Y-m-d",strtotime($datestring));} - return $rtn; - } - - public function cdatetimeYMD($datestring) - { - return date("Y-m-d H:i:s",strtotime($datestring)); - } - - public function datediffday($startdatetonumber,$enddatetonumber) - { - return $enddatetonumber-$startdatetonumber; - } - - public function datediff($startdate,$enddate) - { - $rtn=''; - if($startdate && $enddate) - { - $startdate=strtotime($startdate);$divided=1; - if(!is_numeric(($enddate))){$enddate=strtotime($enddate);$divided=24;} - $rtn=$enddate-$startdate; - $rtn=floor(($rtn/(3600*24))/$divided); - } - - return $rtn; - } - - public function clearrecordset($recordset){mysql_free_result($recordset);} - - public function en($paramsvalue) - { - $rtn=''; - for($i=0;$i<=strlen($paramsvalue);$i++){$rtn.=chr(floor(ord(substr($paramsvalue,$i,1))*0.99));} - return $rtn; - } - - public function de($paramsvalue) - { - $rtn=''; - for($i=0;$i<=strlen($paramsvalue);$i++){$rtn.=chr(ceil(ord(substr($paramsvalue,$i,1))/0.99));} - return $rtn; - } - - public function fn_convert_angkaTOHuruf($angka) - { - $rtn=''; - switch($angka) - { - case 1:$rtn='Satu';break; - case 2:$rtn='Dua';break; - case 3:$rtn='Tiga';break; - case 4:$rtn='Empat';break; - case 5:$rtn='Lima';break; - case 6:$rtn='Enam';break; - case 7:$rtn='Tujuh';break; - case 8:$rtn='Delapan';break; - case 9:$rtn='Sembilan';break; - case 11:$rtn='Sebelas';break; - case 12:$rtn='Dua Belas';break; - case 13:$rtn='Tiga Belas';break; - case 14:$rtn='Empat Belas';break; - case 15:$rtn='Lima Belas';break; - case 16:$rtn='Enam Belas';break; - case 17:$rtn='Tujuh Belas';break; - case 18:$rtn='Delapan Belas';break; - case 19:$rtn='Sembilan Belas';break; - } - - return $rtn; - } - - public function fn_terbilang($bil) - { - $rtn=''; //2,810,000 - $arrbil=explode(',',$bil); - for($i=0;$i<=count($arrbil)-1;$i++) - { - if(strlen($arrbil[$i])==1){$arrbil[$i]='00'.$arrbil[$i];} //002 - if(strlen($arrbil[$i])==2){$arrbil[$i]='0'.$arrbil[$i];} - - for($j=0;$j<=strlen($arrbil[$i])-1;$j++) - { - if(substr($arrbil[$i],$j,1)!=='0') - { - // ======== digit pertama - if($j==0) - { - - if(substr($arrbil[$i],$j,1)=='1') - {$rtn.='Seratus ';} - else - {$rtn.=$this->fn_convert_angkaTOHuruf(substr($arrbil[$i],$j,1)).' Ratus ';} - } - - // ======== digit kedua - if($j==1) - { - if(substr($arrbil[$i],$j,1)=='1') - { - if(substr($arrbil[$i],2,1)=='0') - {$rtn.=' Sepuluh ';} - else - {$rtn.=$this->fn_convert_angkaTOHuruf(substr($arrbil[$i],$j,2));} - break; - } - else - {$rtn.=$this->fn_convert_angkaTOHuruf(substr($arrbil[$i],$j,1)).' Puluh ';} - } - - // ======== digit ketiga - if($j==2) - { - if(substr($arrbil[$i],$j,1)!=='0') - { - if(count($arrbil)==2) - { - if(substr($arrbil[0],0,1)=='0'&&substr($arrbil[0],1,1)=='0'&&substr($arrbil[0],2,1)=='1') - {$rtn.=' ';} - else - {$rtn.=$this->fn_convert_angkaTOHuruf(substr($arrbil[$i],$j,1));} - } - else - {$rtn.=$this->fn_convert_angkaTOHuruf(substr($arrbil[$i],$j,1));} - } - } - } - } - - if($arrbil[$i]!=='000') - { - // ======== satuan per milyar rupiah - if(count($arrbil)==4) - { - if($i==0){$rtn.=' Milyar ';} - if($i==1){$rtn.=' Juta ';} - if($i==2){$rtn.=' Ribu ';} - } - - // ======== satuan per Ratusan Juta rupiah - if(count($arrbil)==3) - { - if($i==0){$rtn.=' Juta ';} - if($i==1){$rtn.=' Ribu ';} - } - - //======== satuan per Ratus ribu rupiah - if(count($arrbil)==2) - { - if($i==0) - { - if(substr($arrbil[0],0,1)=='0'&&substr($arrbil[0],1,1)=='0'&&substr($arrbil[0],2,1)=='1') - {$rtn.=' Seribu ';} - else - {$rtn.=' Ribu ';} - - } - } - } - } - - return $rtn.' Rupiah'; - } - - public function fn_sentTomail($SENDER,$ALIASSENDER,$TO=array(),$SUBJECT,$MSG,$SHOWREPORTING=true) - { - //print_r($SENDER); - $rtn=""; - require_once "swift/lib/swift_required.php"; - // Create the Transport - $transport = Swift_SmtpTransport::newInstance('smtprelay.telkomsel.co.id', 25); - // Create the Mailer using your created Transport - $mailer = Swift_Mailer::newInstance($transport); - //$SENDER = array("Finance@telkomsel.co.id"=>"Finance Telkomsel"); - // Create a message - $message = Swift_Message::newInstance($SUBJECT); - $message->setFrom(array($SENDER=>$ALIASSENDER)); - if(!is_array($TO)){$TO=array($TO);} - //echo $TO; - //array_push($TO,"itnsr09@gmail.com"); - $message->setTo($TO); - $message->setBody($MSG); - - // Send the message - $result=$mailer->send($message); - if($result) - { - if($SHOWREPORTING) - { - $receipent=""; - for($i=0;$i - - "; - echo ""; - echo " - Message has been sent to $receipent - -
"; - } - $rtn=true; - } - else - { - if($SHOWREPORTING) - { - echo " - - - - -
"; - echo ""; - echo " Message not sent to $receipent

"; - } - $rtn=false; - } - - return $rtn; - } - - public function fn_getserverinfodate($params) - { - //date_default_timezone_set('America/Chicago'); - $infodate=getdate(); - //$date = $infodate['mday']; -// $month = $infodate['mon']; -// $year = $infodate['year']; -// $hour = $infodate['hours']; -// $min = $infodate['minutes']; -// $sec = $infodate['seconds']; - return $infodate[$params]; - } - - public function fn_getdateserver() - { - date_default_timezone_set('Asia/Jakarta'); - $rtn=""; - $infodate=getdate(); - $rtn=date("Y-m-d",strtotime($infodate['year']."-".$infodate['mon']."-".$infodate['mday'])); - //$date = $infodate['mday']; -// $month = $infodate['mon']; -// $year = $infodate['year']; -// $hour = $infodate['hours']; -// $min = $infodate['minutes']; -// $sec = $infodate['seconds']; - return $rtn; - } - - public function fn_getdatetimeserver() - { - date_default_timezone_set('Asia/Jakarta'); - $rtn=""; - $infodate=getdate(); - $rtn=date("Y-m-d",strtotime($infodate['year']."-".$infodate['mon']."-".$infodate['mday'])); - $rtn.=" ".$infodate['hours'].":".$infodate['minutes'].":".$infodate['seconds']; - //$rtn=$infodate['year']."-".$infodate['mon']."-".$infodate['mday']." ".$infodate['hours'].":".$infodate['minutes'].":".$infodate['seconds']; - //$date = $infodate['mday']; -// $month = $infodate['mon']; -// $year = $infodate['year']; -// $hour = $infodate['hours']; -// $min = $infodate['minutes']; -// $sec = $infodate['seconds']; - return $rtn; - } - - public function fn_sendSMS($msisdn,$message) - { - try - { - $host="10.xx.xx.xx:8800"; - $smscontent=urlencode($message); - $fp=fsockopen($host,80,$errno, $errstr, 30); - fputs($fp, "GET $path?PhoneNumber=".$msisdn."&Text=$smscontent&Submit=Submit&User=fast&Password=telkomsel HTTP/1.0\n\n"); - fclose($fp); - } - catch(Exception $e) - { - echo "".$e->getMessage().""; - } - } - - } - -?> diff --git a/controller/libdbconn.php b/controller/libdbconn.php deleted file mode 100644 index 6e7ec78..0000000 --- a/controller/libdbconn.php +++ /dev/null @@ -1,29 +0,0 @@ -getLine()." ".$e->getMessage(); - } - - //include("config.php"); - //mysql_connect($opts["hn"], $opts["un"],$opts["pass"]); -// @mysql_select_db($opts["db"]) or die (mysql_error()); -} -dbconnect(); -$dbconnect = 1; - -?> diff --git a/controller/libdefine.php b/controller/libdefine.php deleted file mode 100644 index 6bb3ef2..0000000 --- a/controller/libdefine.php +++ /dev/null @@ -1,217 +0,0 @@ -GET_PATH(); - $MYHOST=$_SERVER['HTTP_HOST']; - // === Detecting just only Web server based on windows - if(strtoupper(substr(PHP_OS,0,3))=='WIN'){$MYHOST.="/project";} - - // ==== My SERVER CONFIG - DEFINE("PATH_THEME","themes"); - DEFINE("PATH_INCLUDE","includes"); - DEFINE("PATH_MODULE","modules"); - DEFINE("PATH_LIB","lib"); - DEFINE("PDFLIB",PATH_MODULE."/pdf/fpdf.php"); - DEFINE("GIROTMP",PATH_MODULE."/pdf/gr.jpg"); - DEFINE("PDFFILE","http://$MYHOST/ssotcel/modules/pdf"); - DEFINE("XLSFILE","http://$MYHOST/ssotcel/xlsdoc"); - DEFINE("URLPATH","http://$MYHOST/ssotcel/"); - DEFINE("GET_PDF",$MYPATH."lib"); - DEFINE("PATH_MANUALBOOK",$MYPATH."manualbook"); - DEFINE("DBF_PATH",$cllib->GET_DBFPATH()); - DEFINE("UPLOAD_DIR","uploads"); - DEFINE("LOGIN_PAGE","modules/html.login.php"); - DEFINE("PATH_OBJECT","objectx"); - DEFINE("PAGEHOME",PATH_OBJECT."/obj_home/home.php"); - DEFINE("IP_LDAP","172.20.111.11"); - - //DEFINE("LDAP_OPT_DIAGNOSTIC_MESSAGE", 0x0032); - //DEFINE("PAGEHOMEHCM",PATH_OBJECT."/obj_home/homehcm.php"); - DEFINE("DB_APORTIL","dbaportil"); - DEFINE("SMTP_ADDRESS",$MYHOST); - DEFINE("SMTP_RELAY",""); - DEFINE("EMAIL_SENDERNAME",""); - DEFINE("EMAIL_SENDERALIAS","Telkomcel"); - DEFINE("EMAIL_SUBJECT","Info Telkomcel"); - // DEFINE("DB_HOST_NAME","172.17.12.21"); - DEFINE("DB_HOST_NAME","192.168.1.4"); - //DEFINE("DB_HOST_NAME","172.17.12.71"); -// DEFINE("DB_USER_NAME","ssotcel"); - DEFINE("DB_USER_NAME","appaportil"); - DEFINE("TBL_PAGE_LIMIT","1000"); - - DEFINE("ADMIN_CONTACT","itnsr09@gmail.com"); - DEFINE("ERR_MSG_USER_DISABLED","Err : Maaf User anda saat ini sedang tidak aktif!"); - DEFINE("ERR_MSG_USER_NOT_FOUND","Err : User anda tidak memiliki akses!"); - - DEFINE('_FORUM_TITLE','Forum'); - DEFINE('_NEWS','News'); - DEFINE('_TOPIC','Topik'); - DEFINE('_FORUM_POST','Post'); - DEFINE('_FORUM_DESC','Pilihlah sebuah forum dari list dibawah ini, kemudian pilih topik yang akan dibaca.'); - DEFINE('_NEWS_DESC','News menampilkan informasi untuk pengguna dari sistem ini.'); - DEFINE('_THANK_SUB','Terima kasih atas partisipasi anda.
'); - DEFINE('_NOT_EXIST',''); - DEFINE('_DATE','Tanggal'); - DEFINE('_HEADER_TITLE','Judul'); - DEFINE('_HEADER_AUTHOR','Pengirim'); - DEFINE('_HEADER_REPLIES','Respon'); - DEFINE('_HEADER_MSG','Pesan'); - DEFINE('_NEW_MSG','Topik Baru'); - DEFINE('_REPLY_MSG','Balas Pesan'); - DEFINE('_QUOTE_MSG','Kirim Pesan'); - - // ----- ERROOR Number' - DEFINE('ERROR400',$cllib->MSG->SHOWMSG("alert alert-error","","Error!","User / Password Kosong, Mohon diulang kembali!.")); - DEFINE('ERROR401',$cllib->MSG->SHOWMSG("alert alert-error","","Error!","User / Password salah, Mohon diulang kembali!.")); - DEFINE('ERROR402',$cllib->MSG->SHOWMSG("alert alert-warning","","Warning!","User / Password Tidak boleh sama, Mohon reset Password anda!.")); - DEFINE('ERROR403',$cllib->MSG->SHOWMSG("alert alert-warning","","Warning!","User Belum diaktifkan , Mohon hubungi administrator anda!.")); - - //--komponen user - DEFINE('_WELCOME','Selamat Datang!'); - DEFINE('_WELCOME_DESC','Anda memiliki akses pada area ini.'); - DEFINE('_USER_DETAILS_SAVE','Perubahan anda telah disimpan.'); - DEFINE('_PASS_MATCH','Password tidak sama'); - DEFINE('_PASS_6','Password anda kurang dari 6 karakter'); - DEFINE('_PROF_NAME','Anda harus mengisi kolom nama'); - DEFINE('_PROF_NIP','Anda harus mengisi kolom NIK'); - DEFINE('_PROF_USER','Anda harus mengisi kolom username'); - DEFINE('_PROF_PASS','Anda harus mengisi kolom password'); - DEFINE('_PROF_VPASS','Anda harus mengisi kolom verify password'); - DEFINE('_PROF_BRANCH','Anda harus memilih kolom branch'); - DEFINE('_PROF_COST','Anda harus memilih kolom cost'); - //DEFINE('DB_USER_PASS',$cllib->de("qgk`qep`tgrw")); //pmmr - DEFINE('DB_USER_PASS',"appaportil2019"); //pmmr - DEFINE('_PROF_GROUP','Anda harus memilih kolom group'); - DEFINE('_PROF_GROUP_NAME','Anda harus memilih kolom nama group'); - DEFINE('_PROF_GID','Anda harus mengisi kolom nilai group'); - DEFINE('_NIP_REG','NIK telah terdaftar'); - DEFINE('_USER_REG','Username telah digunakan'); - - //--administrator menu - DEFINE('_ADM_TITLE','Administrator Menu'); - DEFINE('_ADM_HOME','Utama'); - DEFINE('_ADM_MOD','Modul'); - DEFINE('_ADM_MENU','Menu'); - DEFINE('_ADM_USER','User'); - DEFINE('_ADM_GROUP','Group'); - DEFINE('_ADM_UPDATE','Update'); - DEFINE('_ADM_PROFIL','Profil'); - DEFINE('_ADM_BACKUP','Backup'); - DEFINE('_ADM_ADD','Tambah'); - DEFINE('_ADM_EDIT','Ubah'); - DEFINE('_ADM_UPLOAD','Upload'); - DEFINE('_ADM_RESTORE','Restore'); - DEFINE('_ADM_TYPE','Type'); - - - //--tabel mod_home - DEFINE('_HOME_TITLE','Judul'); - DEFINE('_HOME_ACT','Aktif'); - DEFINE('_HOME_FUNC','Fungsi'); - DEFINE('_HOME_IMAGE','Gambar'); - DEFINE('_HOME_TEXT','Teks'); - DEFINE('_HOME_POST','Posisi Gambar'); - DEFINE('_ACK_POST','Pilih posisi gambar'); - DEFINE('_ACK_IMG','Pilih gambar'); - - //--tabel mod_modules - DEFINE('_MOD_TITLE','Judul'); - DEFINE('_MOD_MOD','Modul'); - DEFINE('_MOD_CONT','Isi'); - DEFINE('_MOD_ORDER','Urutan'); - DEFINE('_MOD_LEVEL','Level'); - DEFINE('_MOD_ACT','Aktif'); - DEFINE('_MOD_FUNC','Fungsi'); - DEFINE('_MOD_PARAMS','Parameter'); - DEFINE('_MOD_POST','Position'); - DEFINE('_UPLOAD_DIR','upload'); - - //--tabel mod_menus - DEFINE('_MENU_TITLE','Teks Menu'); - DEFINE('_MENU_MOD','Modul'); - DEFINE('_MENU_ORDER','Urutan'); - DEFINE('_MENU_LEVEL','User'); - DEFINE('_MENU_ACT','Aktif'); - DEFINE('_MENU_ACCS','Akses'); - DEFINE('_MENU_FUNC','Fungsi'); - DEFINE('_MENU_URL','URL'); - - - //--tabel mod_users - DEFINE('_USER_NIK','NIK'); - DEFINE('_USER_NAME','Nama'); - DEFINE('_USER_USER','Username'); - DEFINE('_USER_LEVEL','Level'); - DEFINE('_USER_NPASS','Password Baru'); - DEFINE('_USER_PASS','Password'); - DEFINE('_USER_VPASS','Konfirmasi Password'); - DEFINE('_USER_EMAIL','Email'); - DEFINE('_USER_FUNC','Fungsi'); - DEFINE('_USER_GROUP','Hak Akses'); - DEFINE('_USER_BRANCH','Branch'); - DEFINE('_USER_COSTC','Cost Center'); - DEFINE('PAGE_TEXT','Page'); - DEFINE('LIMIT_TEXT','Limit'); - DEFINE('PAGE_LIMIT','10'); - DEFINE('PAGE_LIMIT_PART','100'); - - //--tabel mod_group - DEFINE('_GROUP_TITLE','Group'); - DEFINE('_GROUP_ID','Id Group'); - DEFINE('_GROUP_FUNC','Fungsi'); - - - - //--tabel mod_profil - DEFINE('_PROFIL_TEXT','Teks Menu'); - DEFINE('_PROFIL_CONT','URL'); - DEFINE('_PROFIL_ACT','Aktif'); - DEFINE('_PROFIL_ORDER','Urutan'); - DEFINE('_PROFIL_FUNC','Fungsi'); - - - DEFINE('_LOGIN_INCOMPLETE','Username and password not match'); - DEFINE('_LOGIN_INCORRECT','Username not found'); - DEFINE('_NOT_AUTH','Access Denied, Restricted'); - DEFINE('_DO_LOGIN','Please login first'); - - - //--HTML COnfig - DEFINE('_HTMLTAGOPEN',""); - DEFINE('_HEADTAGOPEN',""); - DEFINE('_HEADTAGCLOSE',""); - DEFINE('_BODYTAGOPEN',""); - DEFINE('_BODYTAGCLOSE',""); - DEFINE('_HTMLTAGCLOSE',""); - - // ==== CHECK REGISTER KEY - class MY_DEFINE extends MY_LIBRARY - { - public function __construct() - { - //echo $this->enc("4s4ns4l3h"); - $SYSPATH="c:/windows/"; - //if(strtoupper(substr(PHP_OS,0,3))=='LI'){$MYHOST.="/project";} - if(preg_match("/^linux/i",strtolower(php_uname()))){$SYSPATH="/usr/local/";} - //echo $this->enc("4s4ns4l3h").".txt";return false; - if(!file_exists($SYSPATH.$this->enc("4s4ns4l3h").".txt")) - { - //echo "f"; - echo "Your library not registered!."; - exit(); - } - - // ==== DEFINE Project NAME - $qry="select projectid,projectversion,projectname,projectdesc - from ".DB_APORTIL.".tbl_projectprofile"; - //echo $qry;return false; - $spproject=$this->fn_get_fieldsvalues("projectid,projectversion,projectname,projectdesc",$qry); - $projectid=$spproject[0];$projectversion=$spproject[1];$projectname=$spproject[2];$projectdesc=$spproject[3]; - DEFINE('PROJECTID',$projectid.".ver.".$projectversion); - DEFINE('PROJECTVERSION',$projectversion); - DEFINE('PROJECTNAME',$projectname); - DEFINE('PROJECTDESCRIPTION',$projectdesc); - } - } -?> diff --git a/controller/libdhtmlx.php b/controller/libdhtmlx.php deleted file mode 100644 index f0fe0ef..0000000 --- a/controller/libdhtmlx.php +++ /dev/null @@ -1,1478 +0,0 @@ -enc("obj_user")."','obj=".$this->enc("-")."&task=".$this->enc("addcombo")."&tableobj=tbl_usergroup|groupuser,groupuser'); -// cbousergroup2.load(url); - } - - public function FN_COMBOVALIDATIONVALUE($comboname,$tablename,$otherevent=null) - { - echo "$comboname.attachEvent(\"onChange\",function(val){ - if(val!=='') - { - var result=ajaxuridhtmlx('".$this->enc("obj_controller")."','&task=".$this->enc("getvalidcombo")."&tablename=$tablename&id='+val+'&validationvalue='+$comboname.getComboText()); - var spresult=result.split('|'); - if(trim(spresult[0])!='ok'){fn_dhtmlxmessage('error','Error Found : '+spresult[1]);$comboname.setComboText('');$comboname.setComboValue('');return false;} - $otherevent - } - });"; - } - - public function FN_COMBODHMTLXFORM_GETJSON($myquery,$withoutindex0=null,$withimg=null) - { - $img=""; -// if($withimg){$img="img:\"\"";} - $rsqry=$this->selectquery($myquery); - if($rsqry) - { - $rtn="{options:["; - if(!$withoutindex0) - { - //$rtn.="options:[{value:\"\",text:\"\"}"; - $rtn.="{value:\"\",text:\"\"},"; - } - $rtnval=""; - if($this->REC_ROWS_COUNT($rsqry)>0) - { - while($rw=$this->data_row_array($rsqry)) - { - if($withimg){$img=",img:\"".$rw[2]."\"";} - $rtnval.="{value:\"".$rw[0]."\",text:\"".$rw[1]."\"$img},"; - } - //$rtn.=substr($rtnval,0,strlen($rtnval)-1); - $rtnval=substr($rtnval,0,strlen($rtnval)-1); - $rtn.=$rtnval; - } - $rtn.="]}"; - } - $this->clearrecordset($rsqry); - return $rtn; - } - - public function FN_COMBOVALIDATIONVALUE2($myForm,$comboname,$tablename,$url,$otherevent=null,$resulttovariable=null) - { - $rtn="var $comboname=$myForm.getCombo(\"".$comboname."\"); - $comboname.enableFilteringMode(true);"; - //if($url){$rtn.="alert($url);";} - if($url){$rtn.="$comboname.load($url);";} - $rtn.=" $comboname.attachEvent(\"onChange\",function(val){ - if($comboname.getComboText()) - { - if(val!=='') - {"; - if($tablename) - { - $rtn.="var result=ajaxuridhtmlx('".$this->enc("obj_controller")."','&task=".$this->enc("getvalidcombo")."&tablename=$tablename&id='+val+'&validationvalue='+$comboname.getComboText()); - var spresult=result.split('|'); - if(trim(spresult[0])!='ok'){fn_dhtmlxmessage('error','Error Found : '+spresult[1]);$comboname.setComboText('');$comboname.setComboValue('');return false;}"; - } - $rtn.=" $otherevent - } - if(val==null){fn_dhtmlxmessage('error','Error Found : Mohon Maaf, Pilihan '+$comboname.getComboText()+' tidak terdaftar');$comboname.setComboText('');$comboname.setComboValue('');return false;} - else if(val==''){fn_dhtmlxmessage('error','Error Found : Silahkan Pilih pilihan anda!');$comboname.setComboText('');$comboname.setComboValue('');return false;} - } - });"; - if($resulttovariable){return $rtn;}else{echo $rtn;} - } - - public function FN_COMBOVALIDATIONVALUEARRAY($myForm,$comboname,$arrvalue,$otherevent=null,$checkvalidation=true) - { - echo "var $comboname=$myForm.getCombo(\"".$comboname."\"); - $comboname.enableFilteringMode(true);"; - //if($url){echo "$comboname.load($url);";} - echo " $comboname.addOption(".json_encode($arrvalue).");"; - if($checkvalidation) - { - echo " $comboname.attachEvent(\"onChange\",function(val){ - if(val==null){fn_dhtmlxmessage('error','Error Found : Mohon Maaf Pilihan '+$comboname.getComboText()+' tidak terdaftar, Silahkan pilih sesuai yang ada pada Daftar Combo
TERIMA KASIH.');$comboname.setComboText('');$comboname.setComboValue('');return false;} - if(val!=='') - {"; - echo " $otherevent - } - });"; - } - } - - public function FN_COMBOVALIDATIONVALUENEW($myForm,$comboname,$tablename,$url,$otherevent=null,$resulttovariable=null,$checkvalidation=true){ - $rtn="var $comboname=$myForm.getCombo(\"".$comboname."\"); - $comboname.clearAll(); - $comboname.setComboValue(''); - $comboname.setComboText('');"; - - //if($url){$rtn.="alert($url);";} - if($url){$rtn.="$comboname.enableFilteringMode(true,".$url.",true);";} - $rtn.="$comboname.attachEvent(\"onChange\",function(val,text){"; - $rtn.=" if(val==null&&text){"; - $rtn.=" fn_dhtmlxmessage('error','Error Found : Mohon Maaf, Pilihan '+$comboname.getComboText()+' tidak terdaftar'); - $comboname.setComboText('');$comboname.setComboValue('');return false; - } - else if(val!==''){ - $otherevent - };"; - $rtn.="});"; - // if($checkvalidation) -// { -// $rtn.="$comboname.enableFilteringMode(true,\"dummy\"); -// $comboname.attachEvent(\"onDynXLS\", myComboFilter); -// -// function myComboFilter(text){ -// $comboname.clearAll(); -// dhtmlxAjax.get(\"data.php?mask=\"+text, function(xml){ -// myCombo.load(xml.xmlDoc.responseText); -// }) -// };"; - -// } - if($resulttovariable){return $rtn;}else{echo $rtn;} - } - - public function FN_COMBOVALIDATIONVALUENEWOLD($myForm,$comboname,$tablename,$url,$otherevent=null,$resulttovariable=null,$checkvalidation=true) - { - //$rtn="try"; - //$rtn.="{"; - $rtn="var $comboname=$myForm.getCombo(\"".$comboname."\"); - $comboname.clearAll(); - $comboname.setComboValue(''); - $comboname.setComboText('');"; - ///if($comboname=='cbo_idjnsbiaya') - //{if($url){$rtn.="alert($url);";}} - if($url){$rtn.="$comboname.enableFilteringMode(true,".$url.");";} - if($checkvalidation) - { - $rtn.=" $comboname.attachEvent(\"onChange\",function(val,text){ - //fn_dhtmlxmessage('error',val); - //alert(value+' '+text); - if($comboname.getComboText()) - { - if(val!=='') - {"; - if($tablename) - { - $sp=explode("|",$tablename);$fieldcriteria="id"; - if(count($sp)>1){$tablename=$sp[0];$fieldcriteria=$sp[1];} - $rtn.="var result=ajaxuridhtmlx('".$this->enc("obj_controller")."','&task=".$this->enc("getvalidcombo")."&tablename=$tablename&id='+val+'&fieldcriteria=$fieldcriteria&validationvalue='+$comboname.getComboText().trim()); - //alert('$fieldcriteria'); - var spresult=result.split('|'); - if(trim(spresult[0])!='ok'){fn_dhtmlxmessage('error','Error Found : '+spresult[1]);$comboname.setComboText('');$comboname.setComboValue('');return false;}"; - } - $rtn.=" $otherevent - } - if(val==null){fn_dhtmlxmessage('error','Error Found : Mohon Maaf, Pilihan '+$comboname.getComboText()+' tidak ddd terdaftar');$comboname.setComboText('');$comboname.setComboValue('');return false;} - else if(val==''){fn_dhtmlxmessage('error','Error Found : Silahkan Pilih pilihan anda / Record Not Found!');$comboname.setComboText('ff');$comboname.setComboValue('');return false;} - } - });"; - - } - //$rtn.="}"; - //$rtn.="catch(e)"; - //$rtn.="{fn_dhtmlxmessage('error',e.getMessage());}"; - if($resulttovariable){return $rtn;}else{echo $rtn;} - } - - public function FN_DHTMLXGRIDVIEW($gridinit=array(),$gridcolumnproperties=array(),$gridtypes,$contexmenu=null,$functioninit=null,$resulttovariable=null) - { - $dgname=$gridinit['gridname']; - $divtarget=$gridinit['divtarget']; - $divpaging=$gridinit['divpaging']; - $paginglimit=$gridinit['paginglimit']; - $setcolumnhidden=$gridinit['setcolumnhidden']; - $attachheader=$gridinit['attachheader']; - $attachfooter=$gridinit['attachfooter']; - $attachfooteralign=$gridinit['attachfooteralign']; - $footer=$gridinit['footer']; - $footerspan=$gridinit['footerspan']; - $footeralign=$gridinit['footeralign']; - $showloader=$gridinit['showloader']; - $enableheadermenu=$gridinit['enableheadermenu']; - $enablemultiline=$gridinit['enableMultiline']; - $divloadername="loadergrid"; - if($gridinit['divloadername']){$divloadername=$gridinit['divloadername'];} - $resulttovariable=$gridinit['resulttovariable']; - $split=$gridinit['split']; - $skin=$gridinit['skin'];if(!$skin){$skin="dhx_skyblue";} - $columnformat=$gridinit['columnformat']; - if(!$footeralign){$footeralign="left";} - if(!$paginglimit){$paginglimit=PAGE_LIMIT;} - if($contexmenu){$contexmenu="$dgname.enableContextMenu($contexmenu);";} - $fieldname="";$headeralign="";$coltypes="";$widths="";$contentalign="";$colsort=""; - $enabletooltips="";$setcolhidden=""; - foreach($gridcolumnproperties as $arr=>$arrval) - { - $fieldname.=$arr.","; - $spprop=explode(",",$arrval); - $headeralign.="\"text-align:".$spprop[0]."\",";$coltypes.=$spprop[1].","; - $widths.=$spprop[2].",";$contentalign.=$spprop[3].",";$colsort.=$spprop[4].","; - $enabletooltips.=$spprop[5].","; - if($spprop[6]){$setcolhidden.=$spprop[6].",";} - else - {$setcolhidden.="false,";} - - } - $fieldname=substr($fieldname,0,strlen($fieldname)-1); - $headeralign=substr($headeralign,0,strlen($headeralign)-1); - $coltypes=substr($coltypes,0,strlen($coltypes)-1); - $widths=substr($widths,0,strlen($widths)-1); - $contentalign=substr($contentalign,0,strlen($contentalign)-1); - $colsort=substr($colsort,0,strlen($colsort)-1); - $enabletooltips=substr($enabletooltips,0,strlen($enabletooltips)-1); - if($setcolhidden){$setcolhidden=substr($setcolhidden,0,strlen($setcolhidden)-1);$setcolumnhidden=$setcolhidden;} - //echo $fieldname.' '.$headeralign.' '.$coltypes.' '.$contentalign.' '.$colsort;return false; - $rtn="// === Data Grid Akun Header - $dgname=new dhtmlXGridObject(\"$divtarget\"); - //$dgname.setSkin(\"web\"); - //$dgname.setImagePath(\"".PATH_THEME."/codebase/imgs/\"); - $dgname.setImagePath(\"".PATH_THEME."/skins/web/imgs/dhxgrid_web/\"); - $dgname.setHeader(\"".$fieldname."\",null,[".$headeralign."]); - $dgname.setColTypes(\"".$coltypes."\"); // ro => Read Only, ed => Edit - $dgname.setInitWidths(\"".$widths."\"); - $dgname.setColAlign(\"".$contentalign."\"); - $dgname.setColSorting(\"".$colsort."\"); - //$dgname.enablePaging(true,".$paginglimit.",5,\"$divpaging\",true,\"recInfoArea\"); - $dgname.enablePaging(true,".$paginglimit.",5,\"$divpaging\",true,\"pagingArea\"); - $dgname.setPagingSkin(\"".$gridtypes."\");".$contexmenu." - $dgname.enableTooltips(\"".$enabletooltips."\");"; - if($setcolumnhidden){$rtn.="$dgname.setColumnsVisibility('".$setcolumnhidden."');";} - if($enablemultiline){$rtn.="$dgname.enableMultiline(true);";} - - if($attachheader){$rtn.="$dgname.attachHeader(\"$attachheader\");";} - if($columnformat) - { - foreach($columnformat as $arrf1=>$arrvalf1) - { - foreach($arrvalf1 as $arrf=>$arrfvalue) - { - //$rtn.="//".$arrf."<"; - if($arrfvalue=='numberformat') - { - $columnnumber=explode(",",$arrvalf1["columnnumber"]); - for($i=0;$iTotal,#cspan,#cspan,#cspan,
{#stat_total}
,
{#stat_total}
,
{#stat_total}
- if($footer) - { - if($footerspan) - { - $footerspan=str_repeat("#cspan,", $footerspan);$footerspan=substr($footerspan, 0, strlen($footerspan)-1); - } - $rtn.="$dgname.attachFooter(\"".$footer.",".$footerspan."\",[\"text-align:".$footeralign.";\"]);"; - } - if($attachfooter) - { - $rtn.="$dgname.attachFooter(\"".$attachfooter."\",[\"text-align:".$attachfooteralign.";\"]);"; - } - $rtn.=" $dgname.init();"; - //$rtn.=" $dgname.enableLightMouseNavigation(true);"; - if($enableheadermenu){$rtn.=" $dgname.enableHeaderMenu();";} - if($functioninit){$rtn.="$functioninit;";} - if($split){$rtn.="$dgname.splitAt($split);";} - if($showloader) - { - $rtn.="$dgname.attachEvent(\"onXLS\",function(){document.getElementById('$divloadername').style.display='block';});"; - $rtn.="$dgname.attachEvent(\"onXLE\",function(){document.getElementById('$divloadername').style.display='none';});"; - } - if($resulttovariable){return $rtn;}else{echo $rtn;} - } - - public function FN_DHTMLXGRIDVIEWEVENT($gridname,$arrevent,$resulttovariable=null) - { - $rtn=""; - foreach($arrevent as $arr=>$arrval1) - { - $eventname="";$eventparam="";$withcase="";$arrsyntax=array();$statement=""; - foreach($arrval1 as $arrt1=>$arrvalt1) - { - if($arrt1=='eventname'){$eventname=$arrvalt1;} - if($arrt1=='eventparam'){$eventparam=$arrvalt1;} - if($arrt1=='switch'){$withcase=$arrvalt1;$arrsyntax=$arrvalt1;} - if($arrt1=='statement'){$statement=$arrvalt1;} - } - $rtn.="$gridname.attachEvent('$eventname',function($eventparam){"; - if($withcase) - { - $rtn.="switch(id) - {"; - foreach($arrsyntax as $arrcase=>$arrstatement) - { - $rtn.="case '$arrcase':$arrstatement;break;"; - } - $rtn.="}"; - } - else{$rtn.=$statement;} - $rtn.="});"; - } - if($resulttovariable){return $rtn;}else{echo $rtn;} - - } - - public function FN_DHTMLXGRIDVIEWTOFORMNEW($gridname,$formname,$tablename,$idparameterindex,$fieldsarray,$fielddatetime=null,$otherevent=null,$otherbuttonevent=null,$resulttovariable=null,$expcolumnindexclick=null) - { - $rtn="$gridname.attachEvent(\"onRowSelect\",function(rowid,ind){"; - $rtn.="try{"; - - if($expcolumnindexclick) - { - $sp=explode("|",$expcolumnindexclick); - if(count($sp)>0) - { - for($i=0;$i$arrvalue) - { - if($i==1){$fieldfocus=$arr;} - if($i>0) - { - $tfield=$arrvalue;$prefix=""; - $sparr=explode("_",$arr); - $prefix=$sparr[0]; - if(!$arrvalue) - { - $tfield=$arr; - $spf=explode("_",$tfield); - $tfield=$spf[1]; - if($prefix=='cbo') - { - $t2field=substr($tfield,2,strlen($tfield)-2); - $tfield=$tfield."|".$t2field; - } - } - $fieldname.=$tfield.","; - //$getresult.="$formname.setItemValue('".$arr."',trim(spres[".$i."]));"; - //$getresult.="alert('$arr $tfield');"; - if($prefix=='cbo') - { - $getresult.="var spcombo=spres[".$i."].trim().split(',');"; - $getresult.="$formname.getCombo('".$arr."').clearAll();"; - $getresult.="$formname.getCombo('".$arr."').setComboText('');"; - $getresult.="$formname.getCombo('".$arr."').setComboValue('');"; - $getresult.="if(spcombo[0])"; - $getresult.="{"; - //$getresult.="$formname.getCombo('".$arr."').addOption([[spcombo[0],spcombo[1]]]);"; - $getresult.="$formname.getCombo('".$arr."').addOption(spcombo[0],spcombo[1], null, null, true);"; - //$getresult.="$formname.getCombo('".$arr."').setComboValue(spcombo[0].trim());"; - //$getresult.="$formname.getCombo('".$arr."').setComboText(spcombo[1].trim());"; - - $getresult.="}"; - } - else - { - $getresult.="$formname.setItemValue('".$arr."',trim(spres[".$i."]));"; - } - //$getresult.=";alert('$arr $i');"; - - } - else - {$getresult.="$formname.setItemValue('".$arr."',id);";} - $i+=1; - } - $fieldname=substr($fieldname,0,strlen($fieldname)-1); - //if($otherevent){$getresult.=$otherevent;} - if($otherevent){$getresult=$otherevent.$getresult;} - $rtn.=" var result=ajaxuridhtmlx('".$this->enc("obj_controller")."','obj=".$this->enc("-")."&task=".$this->enc("getinfotable2")."&tablename=$tablename&fields=$fieldname&fielddatetime=$fielddatetime&id='+id);"; - //$rtn.=" alert(result);"; - $rtn.=" var spres=result.split('|');"; - // === Change 2016-04-03 5:23 Am ==> check validation user edit - //$rtn.="alert(spres[0]);"; - $rtn.=" if(trim(spres[0])=='failed'){fn_dhtmlxmessage('error',spres[1]);return false;}"; - // ============================================================ - $rtn.=$getresult; - //$rtn.=""; - //if($otherevent){$rtn.=$otherevent;} - if($otherbuttonevent) - { - $rtn.=$otherbuttonevent; - } - else - { - $rtn.=" $formname.disableItem(\"btnsave\");"; - $rtn.=" $formname.enableItem(\"btnupdate\");"; - $rtn.=" $formname.enableItem(\"btndelete\");"; - $rtn.=" $formname.setItemFocus(\"$fieldfocus\");"; - } - $rtn.="}"; - $rtn.="catch(e)"; - $rtn.="{alert(e.getMessage());}"; - $rtn.="});"; - - if($resulttovariable){return $rtn;}else{echo $rtn;} - } - - public function FN_DHTMLXGRIDVIEWTOFORM($gridname,$formname,$tablename,$idparameterindex,$fieldsarray,$fielddatetime=null,$otherevent=null,$otherbuttonevent=null,$resulttovariable=null,$expcolumnindexclick=null) - { - $rtn="$gridname.attachEvent(\"onRowSelect\",function(rowid,ind){"; - if($expcolumnindexclick) - { - $sp=explode("|",$expcolumnindexclick); - if(count($sp)>0) - { - for($i=0;$i$arrvalue) - { - if($i==1){$fieldfocus=$arr;} - if($i>0) - { - $tfield=$arrvalue; - if(!$arrvalue) - { - $tfield=$arr; - $spf=explode("_",$tfield); - $tfield=$spf[1]; - } - - $fieldname.=$tfield.","; - //$rtn.=" var ".$fieldname."=spres[".$i."];"; - $getresult.="$formname.setItemValue('".$arr."',trim(spres[".$i."]));"; - } - else - {$getresult.="$formname.setItemValue('".$arr."',id);";} - $i+=1; - } - $fieldname=substr($fieldname,0,strlen($fieldname)-1); - if($otherevent){$getresult.=$otherevent;} - $rtn.=" var result=ajaxuridhtmlx('".$this->enc("obj_controller")."','obj=".$this->enc("-")."&task=".$this->enc("getinfotable")."&tablename=$tablename&fields=$fieldname&fielddatetime=$fielddatetime&id='+id);"; - //$rtn.=" alert(result);"; - $rtn.=" var spres=result.split('|');"; - // === Change 2016-04-03 5:23 Am ==> check validation user edit - $rtn.=" if(trim(spres[0])=='failed'){fn_dhtmlxmessage('error',spres[1]);return false;}"; - // ============================================================ - $rtn.=$getresult; - if($otherbuttonevent) - { - $rtn.=$otherbuttonevent; - } - else - { - $rtn.=" $formname.disableItem(\"btnsave\");"; - $rtn.=" $formname.enableItem(\"btnupdate\");"; - $rtn.=" $formname.enableItem(\"btndelete\");"; - $rtn.=" $formname.setItemFocus(\"$fieldfocus\");"; - } - $rtn.="});"; - if($resulttovariable){return $rtn;}else{echo $rtn;} - } - - - - public function FN_DHTMLXGRIDVIEWINCONTENT($gridinit=array(),$gridcolumnproperties=array(),$gridtypes,$contexmenu=null,$functioninit=null) - { - $rtn=""; - $dgname=$gridinit['gridname']; - $contenttarget=$gridinit['contenttarget']; - $divpaging=$gridinit['divpaging']; - $paginglimit=$gridinit['paginglimit']; - $setcolumnhidden=$gridinit['setcolumnhidden']; - $footer=$gridinit['footer']; - if(!$paginglimit){$paginglimit=PAGE_LIMIT;} - if($contexmenu){$contexmenu="$dgname.enableContextMenu($contexmenu)";} - $fieldname="";$headeralign="";$coltypes="";$widths="";$contentalign="";$colsort=""; - $enabletooltips=""; - foreach($gridcolumnproperties as $arr=>$arrval) - { - $fieldname.=$arr.","; - $spprop=explode(",",$arrval); - $headeralign.="\"text-align:".$spprop[0]."\",";$coltypes.=$spprop[1].","; - $widths.=$spprop[2].",";$contentalign.=$spprop[3].",";$colsort.=$spprop[4].","; - $enabletooltips.=$spprop[5].","; - - } - $fieldname=substr($fieldname,0,strlen($fieldname)-1); - $headeralign=substr($headeralign,0,strlen($headeralign)-1); - $coltypes=substr($coltypes,0,strlen($coltypes)-1); - $widths=substr($widths,0,strlen($widths)-1); - $contentalign=substr($contentalign,0,strlen($contentalign)-1); - $colsort=substr($colsort,0,strlen($colsort)-1); - $enabletooltips=substr($enabletooltips,0,strlen($enabletooltips)-1); - //echo $fieldname.' '.$headeralign.' '.$coltypes.' '.$contentalign.' '.$colsort;return false; - $rtn="// === Data Grid - $dgname=new dhtmlXGridObject($contenttarget); - $dgname.setSkin(\"dhx_skyblue\"); - $dgname.setImagePath(\"".PATH_THEME."/codebase/imgs/\"); - $dgname.setHeader(\"".$fieldname."\",null,[".$headeralign."]); - $dgname.setColTypes(\"".$coltypes."\"); // ro => Read Only, ed => Edit - $dgname.setInitWidths(\"".$widths."\"); - $dgname.setColAlign(\"".$contentalign."\"); - $dgname.setColSorting(\"".$colsort."\"); - $dgname.enablePaging(true,".$paginglimit.",5,\"$divpaging\",true,\"recInfoArea\"); - $dgname.setPagingSkin(\"".$gridtypes."\");".$contexmenu." - $dgname.enableTooltips(\"".$enabletooltips."\");"; - if($setcolumnhidden){$rtn.="$dgname.setColumnsVisibility('".$setcolumnhidden."');";} - - //
Total
,#cspan,#cspan,#cspan,
{#stat_total}
,
{#stat_total}
,
{#stat_total}
- if($footer){$rtn.="$dgname.attachFooter(\"".$footer."\",[\"text-align:right;\"]);";} - $rtn.=" $dgname.init();"; - if($functioninit){$rtn.="$functioninit;";} - return $rtn; - } - - public function FN_DHTMLXWINDOWSURL($dhxwin,$windowsname,$windowstitle,$x,$y,$w,$h,$url,$maximize=false,$modal=false) - { - $rtn="$dhxwin.createWindow(\"$windowsname\",$x,$y,$w,$h);"; - $rtn.="$dhxwin.window('$windowsname').denyResize();"; - $rtn.="$dhxwin.window('$windowsname').progressOn();"; - $rtn.="$dhxwin.window(\"$windowsname\").setText(\"$windowstitle\");"; - //$rtn.="var url=fn_dhtmlxloadobject('".$this->enc("obj_nits")."','obj=".$this->enc("nits_sitedown")."&task=".$this->enc("viewmaps")."');"; - $rtn.="$dhxwin.window(\"$windowsname\").attachURL('$url');"; - if($maximize) - { - $rtn.="$dhxwin.window(\"$windowsname\").maximize();"; - } - if($modal){$rtn.="$dhxwin.window('$windowsname').setModal($modal);";} - $rtn.="$dhxwin.window('$windowsname').progressOff();"; - echo $rtn; - } - public function FN_DHTMLXWINDOWSURL1($windowsname,$windowproperties=array(),$w,$h,$x,$y,$divport,$url,$arrjson="",$resulttovariable=false) - { - $windowtitle="";$skin="dhx_web";$denyresize="";$modalwin="";$closedby="";$eventwhenclosed=""; - $position="";$skinform="dhx_skyblue"; - foreach($windowproperties as $arr=>$arrval) - { - if($arr=='title'){$windowtitle=$arrval;} - if($arr=='skin'){$skin=$arrval;} - if($arr=='skinform'){$skinform=$arrval;} - if($arr=='denyresize'){$denyresize=$arrval;} - if($arr=='modalwin'){$modalwin=$arrval;} - if($arr=='closedby'){$closedby=$arrval;} - if($arr=='eventwhenclosed'){$eventwhenclosed=$arrval;} - if($arr=='position'){$position=trim($arrval);} - } - - $rtn="dhxwin=new dhtmlXWindows();"; - $rtn.="dhxwin.setSkin('$skin');"; - $rtn.="dhxwin.window('$windowsname').progressOn();"; - $rtn.="dhxwin.window('$windowsname').setText('$windowtitle');"; - $rtn.="dhxwin.attachViewportTo('$divport');"; - $rtn.="dhxwin.window('$windowsname').attachURL(\"$url\", true);"; - - if($denyresize){$rtn.="dhxwin.window('$windowsname').denyResize();";} - if($modalwin){$rtn.="dhxwin.window('$windowsname').setModal($modalwin);";} - if(!$closedby){$rtn.="dhxwin.window('$windowsname').button(\"close\").disable();";} - $rtn.="dhxwin.window('$windowsname').bringToTop();"; - if($position){$rtn.="dhxwin.window('$windowsname').".$position."();";} - $rtn.="dhxwin.window('$windowsname').progressOff();"; - if($eventwhenclosed){$rtn.="dhxwin.attachEvent('onClose',function(win){".$eventwhenclosed.";return true;})";} - if($resulttovariable){return $rtn;} - else{echo $rtn;} - - } - public function FN_DHTMLXWINDOWS($windowsname,$windowproperties=array(),$w,$h,$x,$y,$attachtodiv=null,$myform=null,$formdata=null,$myformjquery=null,$resulttovariable=null) - { - //echo json_encode($formdata);return false; - $windowtitle="";$skin="dhx_web";$denyresize="";$modalwin="";$closedby="";$eventwhenclosed=""; - $position="";$skinform="dhx_skyblue"; - foreach($windowproperties as $arr=>$arrval) - { - if($arr=='title'){$windowtitle=$arrval;} - if($arr=='skin'){$skin=$arrval;} - if($arr=='skinform'){$skinform=$arrval;} - if($arr=='denyresize'){$denyresize=$arrval;} - if($arr=='modalwin'){$modalwin=$arrval;} - if($arr=='closedby'){$closedby=$arrval;} - if($arr=='eventwhenclosed'){$eventwhenclosed=$arrval;} - if($arr=='position'){$position=trim($arrval);} - } - //echo "if(typeof dhxwin==='undefined'||dhxwin===null){alert('f');var dhxwin=new dhtmlXWindows();}else{dhxwin=new dhtmlXWindows();}"; - $rtn="dhxwin=new dhtmlXWindows();"; -// $rtn.="dhxwin.setSkin('$skin');"; - - if($attachtodiv){$rtn.="dhxwin.attachViewportTo('$attachtodiv');";} - $rtn.="$windowsname=dhxwin.createWindow(\"$windowsname\",$x,$y,$w,$h);"; - //echo "$windowsname.getView().dhxwin.firstChild.style.backgroundColor ='blue';"; - //echo "$windowsname.firstChild.style.background = \"#c2d5dc\";"; - $rtn.="dhxwin.window('$windowsname').progressOn();"; - $rtn.="$windowsname.setText('$windowtitle');"; - if($denyresize){$rtn.="dhxwin.window('$windowsname').denyResize();";} - if($modalwin){$rtn.="dhxwin.window('$windowsname').setModal($modalwin);";} - if(!$closedby){$rtn.="dhxwin.window('$windowsname').button(\"close\").disable();";} - $rtn.="dhxwin.window('$windowsname').bringToTop();"; - if($position){$rtn.="dhxwin.window('$windowsname').".$position."();";} - if($myform) - { - $formdata=json_encode($formdata); - $rtn.="$myform=$windowsname.attachForm($formdata, true);"; - $rtn.="$myform.setFocusOnFirstActive();"; - //$rtn.="$myform.setSkin('$skinform');"; - $rtn.="$myform.attachEvent(\"onKeyDown\",function(inp,ev,id,value){"; - if($closedby) - { - $rtn.="if(ev.keyCode==27){dhxwin.unload();}"; - } - $rtn.="});"; - if($myformjquery){$rtn.=$myformjquery;} - } - $rtn.="dhxwin.window('$windowsname').progressOff();"; - if($eventwhenclosed){$rtn.="dhxwin.attachEvent('onClose',function(win){".$eventwhenclosed.";return true;})";} - if($resulttovariable){return $rtn;} - else{echo $rtn;} - - } - - public function FN_DHTMLXWINDOWSHOWPROGESS($event,$dhxwinname="dhxwin") - { - $rtn.="$dhxwinname=new dhtmlXWindows();"; - if($dhxwinname!='dhxwin'){$rtn="var $dhxwinname=new dhtmlXWindows();";} - $rtn.="$dhxwinname.setSkin('material');"; - - $rtn.="var winprogress=$dhxwinname.createWindow(\"winprogress\",0,0,190,40);"; - $rtn.="winprogress.setText('Progress');"; - - $rtn.="$dhxwinname.window('winprogress').hideHeader();"; - $rtn.="$dhxwinname.window('winprogress').denyResize();"; - $rtn.="$dhxwinname.window('winprogress').setModal(true);"; - $rtn.="$dhxwinname.window('winprogress').button(\"close\").disable();"; - $rtn.="$dhxwinname.window('winprogress').bringToTop();"; - $rtn.="$dhxwinname.window('winprogress').center();"; - $winprogressvalue=""; - $winprogressvalue.=" "; - $winprogressvalue.=" "; - $winprogressvalue.=" "; - $winprogressvalue.=" "; - $winprogressvalue.="
Please Wait.."; - $winprogressvalue.="
".$this->CREATE_IMAGE("loaderring.gif","32","32").""; - $winprogressvalue.="
"; - $rtn.="winprogress.attachHTMLString('$winprogressvalue');"; - $rtn.=$event; - //$rtn.="$dhxwinname.unload();"; - //$rtn.="alert('test');return false;"; - return $rtn; - } - - public function FN_DHTMLXWINDOWSHIDEPROGRESS($dhxwinname="dhxwin") - { - return "$dhxwinname.unload();"; - } - - public function FN_DHTMLXFORMCLEAR($myformname,$ArrayControls=array(),$setFocusControl=null) - { - $statement=""; - foreach($ArrayControls as $arr=>$arrval) - { - $statement="$myformname.setItemValue('$arr','$arrval');"; - //if(substr($arr,0,3)!='cbo'){$statement="$myformname.setItemValue('$arr','$arrval');";} - if(substr($arr,0,3)=='chk') - { - $statement="$myformname.checkItem('$arr');"; - if($arrval==false){$statement="$myformname.uncheckItem('$arr');";} - } - if(substr($arr,0,3)=='cbo'){$statement.="$myformname.getCombo('$arr').setComboValue('');$myformname.getCombo('$arr').setComboText('$arrval');";} - $dhtmlxformclear.=$statement; - } - $rtn="$dhtmlxformclear"; - if($setFocusControl){$rtn.="$myformname.setItemFocus('$setFocusControl');";} - return $rtn; - } - - public function FN_DHTMLXFORMCLEAR2($myformname,$ArrayControls=array(),$setFocusControl=null) - { - $statement=""; - foreach($ArrayControls as $arr=>$arrval) - { - $statement="$myformname.setItemValue('$arr','$arrval');"; - //if(substr($arr,0,3)!='cbo'){$statement="$myformname.setItemValue('$arr','$arrval');";} - if(substr($arr,0,3)=='chk') - { - $statement="$myformname.checkItem('$arr');"; - if($arrval=='false'){$statement="$myformname.uncheckItem('$arr');";} - } - if(substr($arr,0,3)=='cbo'){$statement.="$myformname.getCombo('$arr').setComboValue('');$myformname.getCombo('$arr').setComboText('');$myformname.getCombo('$arr').clearAll();";} - $dhtmlxformclear.=$statement; - } - $rtn="$dhtmlxformclear"; - if($setFocusControl){$rtn.="$myformname.setItemFocus('$setFocusControl');";} - return $rtn; - } - - public function FN_DHTMLXFORMDISABLEDOBJ($myformname,$ArrayControls=array(),$setFocusControl=null) - { - $statement=""; - foreach($ArrayControls as $arr=>$arrval) - { - $statement.="$myformname.disableItem('$arr');"; - } - $rtn=$statement; - if($setFocusControl){$rtn.="$myformname.setItemFocus('$setFocusControl');";} - return $rtn; - } - - public function FN_DHTMLXFORMENABLEDOBJ($myformname,$ArrayControls=array(),$setFocusControl=null) - { - $statement=""; - foreach($ArrayControls as $arr=>$arrval) - { - $statement.="$myformname.enableItem('$arr');"; - } - $rtn=$statement; - if($setFocusControl){$rtn.="$myformname.setItemFocus('$setFocusControl');";} - return $rtn; - } - - public function FN_DHTMLXGETFIELDVALUE($tablename,$getfieldname,$swhere=Array(),$resulttovariable=null) - { - $swherecondition="$swhere"; - if(is_array($swhere)) - { - $swherecondition=""; - foreach($swhere as $a=>$a1) - { - $swherecondition.=$a."|'+".$a1.","; - } - $swherecondition=substr($swherecondition,0,strlen($swherecondition)-1); - } - $rtn="ajaxuridhtmlx('".$this->enc("obj_controller")."','obj=".$this->enc("-")."&task=".$this->enc("getfieldvalue")."&tableobj=".$tablename."&getfield=".$getfieldname."&swhere=".$swherecondition.");";//sinumber|'+sinumber - if($resulttovariable){return $rtn;} - echo $rtn; - - } - - public function FN_DHTMLXREMARKFORDELETED2($ObjectRoot,$ObjectName,$idrecord,$objtextdeleted,$eventafterdeleted,$deletefunction="delrecord",$titleremove="'Confirmation Delete Record'") - { - $rtn="var dhxwindelete=new dhtmlXWindows();"; - //$rtn.="dhxwindelete.setSkin('dhx_terrace');"; - //$rtn.="dhxwindelete.attachViewportTo(\"winVP\");"; - //if($attachtodiv){$rtn.="dhxwindelete.attachViewportTo('$attachtodiv');";} - $rtn.="var windeleted=dhxwindelete.createWindow(\"windeleted\",0,0,410,190);"; - //echo "windeleted.getView().dhxwindelete.firstChild.style.backgroundColor ='blue';"; - //echo "windeleted.firstChild.style.background = \"#c2d5dc\";"; - $rtn.="dhxwindelete.window('windeleted').progressOn();"; - $rtn.="windeleted.setText(".$titleremove.");"; - $rtn.="dhxwindelete.window('windeleted').denyResize();"; - $rtn.="dhxwindelete.window('windeleted').setModal(true);"; - //if(!$closedby){$rtn.="dhxwindelete.window('windeleted').button(\"close\").disable();";} - $rtn.="dhxwindelete.window('windeleted').bringToTop();"; - $rtn.="dhxwindelete.window('windeleted').center();"; - - // === FOrm Deleted - $formdata=array( - array("type"=>"settings","position"=>"label-left","labelWidth"=>"160","inputWidth"=>"120"), - array("type"=>"fieldset","label"=>"Insert Remark First","width"=>"255","offsetLeft"=>"5", - "list"=>array( - array("type"=>"hidden","name"=>"txt_id"), - array("type"=>"input","name"=>"txtremark","inputWidth"=>"320","className"=>"txtleft","maxLength"=>"90", - "note"=>array("text"=>"0/90 characters.")), - array("type"=>"button","name"=>"btndeleted","value"=>"Delete","offsetLeft"=>"0","offsetTop"=>"0", - "className"=>"button_delete") - ) - ) - ); - $formdata=json_encode($formdata); - $rtn.="var myformdel=windeleted.attachForm($formdata, true);"; - $rtn.="myformdel.setFocusOnFirstActive();"; - //$rtn.="myformdel.setSkin('dhx_skyblue');"; - - // === FOrm Event - $ontxtremarkonkeydown="if(ev.keyCode==13){ev.stopPropagation();ev.preventDefault();myformdel.setItemFocus('btndeleted');}"; - $ontxtremarkonkeydown.="if(ev.keyCode==27){dhxwindelete.unload();}"; - $ontxtremarkonkeyup="var remarklength=myformdel.getItemValue('txtremark');"; - $ontxtremarkonkeyup.="document.getElementById('spjlhchar').innerHTML=remarklength.toString().length+'/90';"; - - - $onbuttonclickbtndeleted="var lengthremark=myformdel.getItemValue('txtremark').trim().length;"; - $onbuttonclickbtndeleted.="if(lengthremark<=15){fn_dhtmlxmessage('error','Minimal 15 Character for the reason. Thank You!');myformdel.setItemFocus('txtremark');return false;}"; - $onbuttonclickbtndeleted.="if(myformdel.validate()) - { - dhtmlx.confirm({ - title:'Confirmation',text:'Are you will be deleted data?',type:'confirm', - callback:function(result){ - if(result) - {"; - $params="'obj=".$this->enc($ObjectName)."&task=".$this->enc($deletefunction)."'"; - $onformsenddata="url=fn_dhtmlxsenddata('".$this->enc($ObjectRoot)."',$params); - myformdel.send(url,\"get\",function(loader, response){"; - $onformsenddata.=$this->FN_DHTMLXWINDOWSHIDEPROGRESS(); - $onformsenddata.="var sp=trim(response).split('|'); - //alert(response); - if(sp[0]=='ok') - { - fn_dhtmlxmessage('','Data '+$objtextdeleted+' has been deleted');"; - $onformsenddata.=$eventafterdeleted; - $onformsenddata.="dhxwindelete.unload(); - } - else if(sp[0]=='failed') - {fn_dhtmlxmessage('error','Error Found : '+sp[1]);} - else - {fn_dhtmlxmessage('error','Error Found : '+response);} - });"; - $onbuttonclickbtndeleted.=$this->FN_DHTMLXWINDOWSHOWPROGESS($onformsenddata); - $onbuttonclickbtndeleted.=" } - } - }); - }"; - $arrevent=array( - array("eventname"=>"onButtonClick","eventparam"=>"id,val", - "switch"=>array("btndeleted"=>"$onbuttonclickbtndeleted") - ), - array("eventname"=>"onkeyup","eventparam"=>"inp,ev,id,val", - "switch"=>array("txtremark"=>"$ontxtremarkonkeyup") - ), - array("eventname"=>"onkeydown","eventparam"=>"inp,ev,id,val", - "switch"=>array("txtremark"=>"$ontxtremarkonkeydown") - ) - ); - $rtn.="myformdel.setItemValue('txt_id',$idrecord);"; - $rtn.=$this->FN_DHTMLXFORMEVENT("myformdel",$arrevent,true); - $rtn.="dhxwindelete.window('windeleted').progressOff();"; - $rtn.="dhxwindelete.attachEvent('onClose',function(win){return true;})"; - return $rtn; - } - - public function FN_DHTMLXREMARKFORDELETED($ObjectRoot,$ObjectName,$idrecord,$textdeleted,$eventafterdeleted,$deletefunction="delrecord") - { - $rtn="var dhxwindelete=new dhtmlXWindows();"; - $rtn.="dhxwindelete.setSkin('dhx_terrace');"; - - //if($attachtodiv){$rtn.="dhxwindelete.attachViewportTo('$attachtodiv');";} - $rtn.="var windeleted=dhxwindelete.createWindow(\"windeleted\",0,0,410,190);"; - //echo "windeleted.getView().dhxwindelete.firstChild.style.backgroundColor ='blue';"; - //echo "windeleted.firstChild.style.background = \"#c2d5dc\";"; - $rtn.="dhxwindelete.window('windeleted').progressOn();"; - $rtn.="windeleted.setText('Konfirmasi Penghapusan Record');"; - $rtn.="dhxwindelete.window('windeleted').denyResize();"; - $rtn.="dhxwindelete.window('windeleted').setModal(true);"; - //if(!$closedby){$rtn.="dhxwindelete.window('windeleted').button(\"close\").disable();";} - $rtn.="dhxwindelete.window('windeleted').bringToTop();"; - $rtn.="dhxwindelete.window('windeleted').center();"; - - // === FOrm Deleted - $formdata=array( - array("type"=>"settings","position"=>"label-left","labelWidth"=>"160","inputWidth"=>"120"), - array("type"=>"fieldset","label"=>"Masukkan Remark Terlebih dahulu","width"=>"255","offsetLeft"=>"5", - "list"=>array( - array("type"=>"hidden","name"=>"txt_id"), - array("type"=>"input","name"=>"txtremark","inputWidth"=>"320","className"=>"txtleft","maxLength"=>"90", - "note"=>array("text"=>"0/90 characters.")), - array("type"=>"button","name"=>"btndeleted","value"=>"Delete","offsetLeft"=>"0","offsetTop"=>"0", - "className"=>"button_delete") - ) - ) - ); - $formdata=json_encode($formdata); - $rtn.="var myformdel=windeleted.attachForm($formdata, true);"; - $rtn.="myformdel.setFocusOnFirstActive();"; - $rtn.="myformdel.setSkin('dhx_skyblue');"; - - // === FOrm Event - $ontxtremarkonkeydown="if(ev.keyCode==13){ev.stopPropagation();ev.preventDefault();myformdel.setItemFocus('btndeleted');}"; - $ontxtremarkonkeydown.="if(ev.keyCode==27){dhxwindelete.unload();}"; - $ontxtremarkonkeyup="var remarklength=myformdel.getItemValue('txtremark');"; - $ontxtremarkonkeyup.="document.getElementById('spjlhchar').innerHTML=remarklength.toString().length+'/90';"; - - - $onbuttonclickbtndeleted="var lengthremark=myformdel.getItemValue('txtremark').length;"; - $onbuttonclickbtndeleted.="if(lengthremark<=15){fn_dhtmlxmessage('error','Masukkan Minimal 15 Character untuk alasan penghapusan. TERIMA KASIH!');myformdel.setItemFocus('txtremark');return false;}"; - $onbuttonclickbtndeleted.="if(myformdel.validate()) - { - dhtmlx.confirm({ - title:'Confirmation',text:'Are you will be deleted data?',type:'confirm', - callback:function(result){ - if(result) - {"; - $params="'obj=".$this->enc($ObjectName)."&task=".$this->enc($deletefunction)."'"; - $onformsenddata="url=fn_dhtmlxsenddata('".$this->enc($ObjectRoot)."',$params); - myformdel.send(url,\"get\",function(loader, response){"; - $onformsenddata.=$this->FN_DHTMLXWINDOWSHIDEPROGRESS(); - $onformsenddata.="var sp=trim(response).split('|'); - //alert(response); - if(sp[0]=='ok') - { - fn_dhtmlxmessage('','Data '+myForm.getItemValue('$textdeleted')+' has been deleted');"; - $onformsenddata.=$eventafterdeleted; - $onformsenddata.="dhxwindelete.unload(); - } - else if(sp[0]=='failed') - {fn_dhtmlxmessage('error','Error Found : '+sp[1]);} - else - {fn_dhtmlxmessage('error','Error Found : '+response);} - });"; - $onbuttonclickbtndeleted.=$this->FN_DHTMLXWINDOWSHOWPROGESS($onformsenddata); - $onbuttonclickbtndeleted.=" } - } - }); - }"; - $arrevent=array( - array("eventname"=>"onButtonClick","eventparam"=>"id,val", - "switch"=>array("btndeleted"=>"$onbuttonclickbtndeleted") - ), - array("eventname"=>"onkeyup","eventparam"=>"inp,ev,id,val", - "switch"=>array("txtremark"=>"$ontxtremarkonkeyup") - ), - array("eventname"=>"onkeydown","eventparam"=>"inp,ev,id,val", - "switch"=>array("txtremark"=>"$ontxtremarkonkeydown") - ) - ); - $rtn.="myformdel.setItemValue('txt_id',$idrecord);"; - $rtn.=$this->FN_DHTMLXFORMEVENT("myformdel",$arrevent,true); - $rtn.="dhxwindelete.window('windeleted').progressOff();"; - $rtn.="dhxwindelete.attachEvent('onClose',function(win){return true;})"; - return $rtn; - } - - public function FN_DHTMLXFORM($myformname,$elementarget,$formdata,$notsetFocusOnFirstActive=null) - { - $formdata=json_encode($formdata); - - echo "$myformname=new dhtmlXForm(\"".$elementarget."\", ".$formdata.");"; - echo "$myformname.enableLiveValidation(true);"; - if(is_null($notsetFocusOnFirstActive)){echo "$myformname.setFocusOnFirstActive();";} - //echo "$myformname.setFocusOnFirstActive();"; - } - - public function FN_DHTMLXFORMPOPUP($POPUPvar,$myFormpop,$myformarray,$myFormelement=null,$elementPop=null) - { - if($myFormelement&&$elementPop) - { - echo "$POPUPvar = new dhtmlXPopup({form: $myFormelement, id: ['$elementPop']});"; - echo "$myFormpop=$POPUPvar.attachForm(".json_encode($myformarray).");"; - } - else - { - echo "$POPUPvar=new dhtmlXPopup();"; - echo "$myFormpop=$POPUPvar.attachForm(".json_encode($myformarray).");"; - //echo "$POPUPvar.show(10,50,125,0);"; - } - } - - public function FN_DHTMLXFORMDOCUMENT($myformname,$documentbody,$formdata) - { - $formdata=json_encode($formdata); - - echo "$myformname=new dhtmlXForm(".$documentbody.", ".$formdata.");"; - echo "$myformname.enableLiveValidation(true);"; - echo "$myformname.setFocusOnFirstActive();"; - } - - public function FN_DHTMLXFORMEVENT($myformname,$arrevent,$resulttovariable=null) - { - $rtn=""; - foreach($arrevent as $arr=>$arrval1) - { - $eventname="";$eventparam="";$withcase="";$arrsyntax=array();$statement=""; - //echo json_encode($arrval1);return false; - foreach($arrval1 as $arrt1=>$arrvalt1) - { - if($arrt1=='eventname'){$eventname=$arrvalt1;} - if($arrt1=='eventparam'){$eventparam=$arrvalt1;} - if($arrt1=='switch'){$withcase=$arrvalt1;$arrsyntax=$arrvalt1;} - if($arrt1=='statement'){$statement=$arrvalt1;} - } - $rtn.="$myformname.attachEvent(\"$eventname\",function($eventparam){"; - if($withcase) - { - $rtn.="switch(id) - {"; - foreach($arrsyntax as $arrcase=>$arrstatement) - { - $rtn.="case \"$arrcase\":$arrstatement;break;"; - } - $rtn.="}"; - } - else{$rtn.=$statement;} - $rtn.="});"; - } - if($resulttovariable){return $rtn;}else{echo $rtn;} - - } - - public function FN_DHTMLXCREATECONTEXTMENUGRID($gridname,$contextmenuname,$arrmenucontext) - { - $menuproperties=""; - echo "var $contextmenuname=new dhtmlXMenuObject(); - $contextmenuname.renderAsContextMenu(); - $contextmenuname.setIconsPath(\"".PATH_THEME."/icons/\"); - - $contextmenuname.attachEvent(\"onClick\",function(id){ - switch(id) - {"; - foreach($arrmenucontext as $arr=>$arrvalue) - { - $event=$arrvalue["event"]; - $gifname=$arrvalue["gifname"]; - $menutext=$arrvalue["menutext"]; - $menuproperties.=$arr."|".$gifname."|".$menutext.","; - echo "case '$arr':"; - if($arr=='contextmenu_deleted') - { - $contextconfirm="Data '+getVal+' ingin dihapus?"; - $contextevent="$gridname.deleteRow(data[0]);$event"; - - //if(!$event) - //{ -// echo "var data=$gridname.contextID.split(\"_\"); -// var getValuserText=$gridname.cellById(data[0],1).getValue(); -// dhtmlx.confirm({ -// title:'Confirm', -// type:'confirm', -// text:'', -// callback:function(result){ -// if(result){ -// $gridname.deleteRow(data[0]);$event; -// } -// } -// });"; - //} - //else - //{echo $event;} - } - if($arr=='contextmenu_print') - { - $contextconfirm="Data '+getVal+' ingin di Print?"; - $contextevent=$event; - } - echo "var data=$gridname.contextID.split(\"_\"); - var getVal=$gridname.cellById(data[0],1).getValue(); - dhtmlx.confirm({ - title:'Confirm', - type:'confirm', - text:'$contextconfirm', - callback:function(result){ - if(result){ - $contextevent; - } - } - });"; - echo "break;"; - $menuproperties=substr($menuproperties,0,strlen($menuproperties)-1); - } - echo " }"; - echo " }); - url=fn_dhtmlxloadobject('".$this->enc("obj_controller")."','obj=".$this->enc("-")."&task=".$this->enc("contxtmenustruc")."&mnuprop=$menuproperties'); - //alert(url); - $contextmenuname.loadStruct(url);"; - } - - public function FN_DHTMLXCONTEXTMENUSTRUCTURE() - { - $mnuprop=$_REQUEST['mnuprop']; - $spmnuprop=explode(",",$mnuprop); - - header("Content-type: text/xml"); - echo(""); - echo(""); - for($i=0;$i"); - } - - echo(""); - } - - public function p($s) { - if (!get_magic_quotes_gpc()) return mysql_real_escape_string($s); - return $s; - } - - public function r($s) { - return str_replace("'", "\\'", $s); - } - - - public function FN_DHTMLXCBOFILTER(){ - //echo "dfdf";return false; - //tableobj=tbl_cargoprice_information|id,cargocategory,cargodescription:id,cargodescription& - //and=idroutestart|'+myForm.getItemValue('cbo_idroutestart')+',idrouteend|'+myForm.getItemValue('cbo_idrouteend') - header("Content-Type: text/xml"); - $mask = @$_REQUEST["mask"]; - $tableobj=$_REQUEST['tableobj']; - - $sp=explode("|",$tableobj); - $field=$sp[1]; - $f=explode(":",$sp[1]); - //echo count($f);return false; - $ismulticolumn=false; - if(count($f)>1) - { - $ismulticolumn=true; - $sfield=$f[0]; - $c=explode(",",$f[1]); - $criteria="";$sortfield=""; - for($i=0;$ip($mask)."%') or "; - $sortfield=$c[$i]; - } - - } - else - { - $sfield=$field; - $scol=explode(",",$sp[1]); - $sortfield=$scol[1]; - $criteria="lower(".$scol[1].") like lower('%".$this->p($mask)."%') or "; - } - $criteria=substr($criteria,0,strlen($criteria)-strlen(" or ")); - - //$exp=$_REQUEST['exp']; -// if($exp){ -// $spexp=explode("|",$exp); -// -// } - - $and=$_REQUEST['and']; - if($and){ - $andcondition=""; - $spand=explode(",",$and); - if(count($spand)>=1){ - for($i=0;$i'; - //$qry="SELECT ".$f[0]." FROM tbl_employee WHERE LOWER($sortfield) LIKE LOWER('".$this->p($mask)."%') ORDER BY LOWER($sortfield) "; - $qry="SELECT ".$sfield." FROM ".$sp[0]." WHERE (".$criteria.") and isdeleted=0 ORDER BY LOWER(".$sortfield.") "; - //echo $qry;return false; - $r = $this->selectquery($qry); - - -// $r = $this->selectquery($qry); - //echo $r; - //echo $field;return false; - $spfield=explode(",",$field); - $spfieldmulticol=array(); - if($ismulticolumn){ - $spfieldmulticol=explode(",",$f[1]); - } - while ($o = $this->data_row_array($r)) { - if(!$ismulticolumn) - { - $xml.= ''; - } - else - { - $xml.= ''; - } - - } - $this->clearrecordset($r); - $xml .= ''; - - print_r($xml); - - } - - public function FN_DHTMLXADDCOMBO($DBNAME=null) - { - if(!$DBNAME){$DBNAME=DB_APORTIL;} - // === param request tablename|col1,col2 - $tableobj=$_REQUEST['tableobj']; - //echo $tableobj; - $sp=explode("|",$tableobj); - - $table=$sp[0]; - $spcol=explode(",",$sp[1]); - $col1=$spcol[0];$col2=$spcol[1]; - - //echo $table; - $multicol=false; - // === Check The MultiColumn id,subunitname,abbrunit:abbrunit,subunitname - $spfield=explode(":",$sp[1]); - if(count($spfield)>1) - { - $multicol=true; - $spcol=explode(",",$spfield[0]); - $col1=$spcol[0];$col2=$spcol[1];$col3=$spcol[2]; - - $spview=explode(",",$spfield[1]); - $view1=$spview[0];$view2=$spview[1]; - } - //echo $multicol;return false; - $swhere=""; - if(isset($_REQUEST['exp']))//&&$_SESSION['nik']!=='9999' - { - //$spexp=explode("|",$_REQUEST['exp']); - //$exp="and ".$spexp[0]."<>'".$spexp[1]."'"; - $spexp=explode(",",$_REQUEST['exp']); - if(count($spexp)>0) - { - for($i=0;$i'".$spcriteria[1]."' "; - } - } - else - { - $spcriteria=explode("|",$spexp[$i]); - $swhere="and ".$spcriteria[0]."<>'".$spcriteria[1]."'"; - } - - } - - if(isset($_REQUEST['and']))//&&$_SESSION['nik']!=='9999' - { - //$spexp=explode("|",$_REQUEST['exp']); - //$exp="and ".$spexp[0]."<>'".$spexp[1]."'"; - $spexp=explode(",",$_REQUEST['and']); - if(count($spexp)>0) - { - for($i=0;$i'".$spexp[1]."'"; - $spexp=explode("|",$_REQUEST['in']); - $swhere="and ".$spexp[0]." in (".$spexp[1].")"; - - } - - $captionnulltext=""; - if(isset($_REQUEST['withallcaption'])){$captionnulltext="ALL";} - $mask=$_REQUEST['mask']; - header("Content-type: text/xml"); - echo(""); - echo(""); - echo(""); - //echo(""); - $sort=$col2; - if($_REQUEST['sort']){$sort=$_REQUEST['sort'];} - $qry="select distinct $col1,$col2 from ".$DBNAME.".$table where isdeleted=0 $swhere and ($col2<>'') order by $sort asc limit 100"; - if($mask) - { - //$qry="select distinct $col1,$col2 from ".$DBNAME.".$table where isdeleted=0 $swhere and $col2 like '%$mask%' and ($col2<>'') order by $sort asc limit 20"; - $qry="select distinct $col1,$col2 from ".$DBNAME.".$table where isdeleted=0 $swhere and ($col2 like '%$mask%' and $col2<>'') order by $sort asc limit 20"; - if($multicol) - { - $qry="select distinct $col1,$col2,$col3 from ".$DBNAME.".$table - where (isdeleted=0 $swhere) and (($col2 like '%$mask%' and ($col2<>'')) or ($col3 like '%$mask%' and ($col3<>''))) order by $sort,$col3 asc limit 20"; - //echo "FF"; - } - } - //echo $qry; - if($this->fn_row_isexists($qry)) - { - $rs=$this->selectquery($qry); - if($rs) - { - $option=""; - while($rw=$this->data_row_array($rs)) - { - //echo(""); - //echo(""); - $option=""; - echo($option); - } - } - $this->clearrecordset($rs); - } - echo(""); - } - - public function FN_DHTMLXADDCOMBOOLD($DBNAME=null) - { - if(!$DBNAME){$DBNAME=DB_APORTIL;} - // === param request tablename|col1,col2 - $tableobj=$_REQUEST['tableobj']; - //echo $tableobj; - $sp=explode("|",$tableobj); - - $table=$sp[0]; - //echo $table; - $spcol=explode(",",$sp[1]); - $col1=$spcol[0];$col2=$spcol[1]; - - $swhere=""; - if(isset($_REQUEST['exp']))//&&$_SESSION['nik']!=='9999' - { - //$spexp=explode("|",$_REQUEST['exp']); - //$exp="and ".$spexp[0]."<>'".$spexp[1]."'"; - $spexp=explode(",",$_REQUEST['exp']); - if(count($spexp)>0) - { - for($i=0;$i'".$spcriteria[1]."' "; - } - } - else - { - $spcriteria=explode("|",$spexp[$i]); - $swhere="and ".$spcriteria[0]."<>'".$spcriteria[1]."'"; - } - - } - - if(isset($_REQUEST['and']))//&&$_SESSION['nik']!=='9999' - { - //$spexp=explode("|",$_REQUEST['exp']); - //$exp="and ".$spexp[0]."<>'".$spexp[1]."'"; - $spexp=explode(",",$_REQUEST['and']); - if(count($spexp)>0) - { - for($i=0;$i'".$spexp[1]."'"; - $spexp=explode("|",$_REQUEST['in']); - $swhere="and ".$spexp[0]." in (".$spexp[1].")"; - - } - - $captionnulltext=""; - if(isset($_REQUEST['withallcaption'])){$captionnulltext="ALL";} - $mask=$_REQUEST['mask']; - header("Content-type: text/xml"); - echo(""); - echo(""); - //echo(""); - $qry="select $col1,$col2 from ".$DBNAME.".$table where isdeleted=0 $swhere and ($col2<>'') order by $col2 asc limit 100"; - if($mask) - { - $qry="select $col1,$col2 from ".$DBNAME.".$table where isdeleted=0 $swhere and $col2 like '%$mask%' and ($col2<>'') order by $col2 asc limit 100"; - } - //echo $qry; - if($this->fn_row_isexists($qry)) - { - $rs=$this->selectquery($qry); - if($rs) - { - while($rw=$this->data_row_array($rs)) - { - //echo(""); - echo(""); - } - } - $this->clearrecordset($rs); - } - echo(""); - } - - public function FN_DHTMLXLOADOBJECT($withvariable=null,$objroot,$objname,$task,$params=null) - { - $singlequote="'"; - if($params){$params="&$params";if(substr($params,strlen($params)-1,1)!="'"){$singlequote="";};} - $url="fn_dhtmlxloadobject('".$this->enc($objroot)."','obj=".$this->enc($objname)."&task=".$task."".$params."$singlequote);"; - if($withvariable){$url=$withvariable."=".$url;} - return $url; - } - - public function FN_DHTMLXLOADOBJECTURL($option,$task){return "?ajax=1&sec=1&option=".$option."&".$task;} - - } -?> diff --git a/controller/libdhtmlx_old.php b/controller/libdhtmlx_old.php deleted file mode 100644 index 1be168b..0000000 --- a/controller/libdhtmlx_old.php +++ /dev/null @@ -1,699 +0,0 @@ -enc("obj_user")."','obj=".$this->enc("-")."&task=".$this->enc("addcombo")."&tableobj=tbl_usergroup|groupuser,groupuser'); -// cbousergroup2.load(url); - } - - public function FN_COMBOVALIDATIONVALUE($comboname,$tablename,$otherevent=null) - { - echo "$comboname.attachEvent(\"onChange\",function(val){ - if(val!=='') - { - var result=ajaxuridhtmlx('".$this->enc("obj_controller")."','&task=".$this->enc("getvalidcombo")."&tablename=$tablename&id='+val+'&validationvalue='+$comboname.getComboText()); - var spresult=result.split('|'); - if(trim(spresult[0])!='ok'){fn_dhtmlxmessage('error','Error Found : '+spresult[1]);$comboname.setComboText('');$comboname.setComboValue('');return false;} - $otherevent - } - });"; - } - - public function FN_COMBODHMTLXFORM_GETJSON($myquery,$withoutindex0=null,$withimg=null) - { - $img=""; -// if($withimg){$img="img:\"\"";} - $rsqry=$this->selectquery($myquery); - if($rsqry) - { - $rtn="{options:["; - if(!$withoutindex0) - { - //$rtn.="options:[{value:\"\",text:\"\"}"; - $rtn.="{value:\"\",text:\"\"},"; - } - $rtnval=""; - if($this->REC_ROWS_COUNT($rsqry)>0) - { - while($rw=$this->data_row_array($rsqry)) - { - if($withimg){$img=",img:\"".$rw[2]."\"";} - $rtnval.="{value:\"".$rw[0]."\",text:\"".$rw[1]."\"$img},"; - } - //$rtn.=substr($rtnval,0,strlen($rtnval)-1); - $rtnval=substr($rtnval,0,strlen($rtnval)-1); - $rtn.=$rtnval; - } - $rtn.="]}"; - } - $this->clearrecordset($rsqry); - return $rtn; - } - - public function FN_COMBOVALIDATIONVALUE2($myForm,$comboname,$tablename,$url,$otherevent=null,$resulttovariable=null) - { - $rtn="var $comboname=$myForm.getCombo(\"".$comboname."\"); - $comboname.enableFilteringMode(true);"; - //if($url){$rtn.="$comboname.load($url);alert($url);";} - if($url){$rtn.="$comboname.load($url);";} - $rtn.=" $comboname.attachEvent(\"onChange\",function(val){ - if($comboname.getComboText()) - { - if(val!=='') - {"; - if($tablename) - { - $rtn.="var result=ajaxuridhtmlx('".$this->enc("obj_controller")."','&task=".$this->enc("getvalidcombo")."&tablename=$tablename&id='+val+'&validationvalue='+$comboname.getComboText()); - var spresult=result.split('|'); - if(trim(spresult[0])!='ok'){fn_dhtmlxmessage('error','Error Found : '+spresult[1]);$comboname.setComboText('');$comboname.setComboValue('');return false;}"; - } - $rtn.=" $otherevent - } - if(val==null){fn_dhtmlxmessage('error','Error Found : Mohon Maaf, Pilihan '+$comboname.getComboText()+' tidak terdaftar');$comboname.setComboText('');$comboname.setComboValue('');return false;} - else if(val==''){fn_dhtmlxmessage('error','Error Found : Silahkan Pilih pilihan anda!');$comboname.setComboText('');$comboname.setComboValue('');return false;} - } - });"; - if($resulttovariable){return $rtn;}else{echo $rtn;} - } - - public function FN_COMBOVALIDATIONVALUEARRAY($myForm,$comboname,$arrvalue,$otherevent=null) - { - echo "var $comboname=$myForm.getCombo(\"".$comboname."\"); - $comboname.enableFilteringMode(true);"; - //if($url){echo "$comboname.load($url);";} - echo " $comboname.addOption(".json_encode($arrvalue).");"; - echo " $comboname.attachEvent(\"onChange\",function(val){ - if(val==null){fn_dhtmlxmessage('error','Error Found : Mohon Maaf Pilihan '+$comboname.getComboText()+' tidak terdaftar, Silahkan pilih sesuai yang ada pada Daftar Combo
TERIMA KASIH.');$comboname.setComboText('');$comboname.setComboValue('');return false;} - if(val!=='') - {"; - echo " $otherevent - } - });"; - } - - public function FN_DHTMLXGRIDVIEW($gridinit=array(),$gridcolumnproperties=array(),$gridtypes,$contexmenu=null,$functioninit=null,$resulttovariable=null) - { - $dgname=$gridinit['gridname']; - $divtarget=$gridinit['divtarget']; - $divpaging=$gridinit['divpaging']; - $paginglimit=$gridinit['paginglimit']; - $setcolumnhidden=$gridinit['setcolumnhidden']; - $footer=$gridinit['footer']; - $footerspan=$gridinit['footerspan']; - $footeralign=$gridinit['footeralign']; - $showloader=$gridinit['showloader']; - $resulttovariable=$gridinit['resulttovariable']; - $split=$gridinit['split']; - $skin=$gridinit['skin'];if(!$skin){$skin="dhx_skyblue";} - $columnformat=$gridinit['columnformat']; - if(!$footeralign){$footeralign="left";} - if(!$paginglimit){$paginglimit=PAGE_LIMIT;} - if($contexmenu){$contexmenu="$dgname.enableContextMenu($contexmenu);";} - $fieldname="";$headeralign="";$coltypes="";$widths="";$contentalign="";$colsort=""; - $enabletooltips=""; - foreach($gridcolumnproperties as $arr=>$arrval) - { - $fieldname.=$arr.","; - $spprop=explode(",",$arrval); - $headeralign.="\"text-align:".$spprop[0]."\",";$coltypes.=$spprop[1].","; - $widths.=$spprop[2].",";$contentalign.=$spprop[3].",";$colsort.=$spprop[4].","; - $enabletooltips.=$spprop[5].","; - - } - $fieldname=substr($fieldname,0,strlen($fieldname)-1); - $headeralign=substr($headeralign,0,strlen($headeralign)-1); - $coltypes=substr($coltypes,0,strlen($coltypes)-1); - $widths=substr($widths,0,strlen($widths)-1); - $contentalign=substr($contentalign,0,strlen($contentalign)-1); - $colsort=substr($colsort,0,strlen($colsort)-1); - $enabletooltips=substr($enabletooltips,0,strlen($enabletooltips)-1); - //echo $fieldname.' '.$headeralign.' '.$coltypes.' '.$contentalign.' '.$colsort;return false; - $rtn="// === Data Grid Akun Header - $dgname=new dhtmlXGridObject(\"$divtarget\"); - $dgname.setSkin(\"$skin\"); - $dgname.setImagePath(\"".PATH_THEME."/codebase/imgs/\"); - $dgname.setHeader(\"".$fieldname."\",null,[".$headeralign."]); - $dgname.setColTypes(\"".$coltypes."\"); // ro => Read Only, ed => Edit - $dgname.setInitWidths(\"".$widths."\"); - $dgname.setColAlign(\"".$contentalign."\"); - $dgname.setColSorting(\"".$colsort."\"); - $dgname.enablePaging(true,".$paginglimit.",5,\"$divpaging\",true,\"recInfoArea\"); - $dgname.setPagingSkin(\"".$gridtypes."\");".$contexmenu." - $dgname.enableTooltips(\"".$enabletooltips."\");"; - if($setcolumnhidden){$rtn.="$dgname.setColumnsVisibility('".$setcolumnhidden."');";} - - if($columnformat) - { - foreach($columnformat as $arrf1=>$arrvalf1) - { - foreach($arrvalf1 as $arrf=>$arrfvalue) - { - //$rtn.="//".$arrf."<"; - if($arrfvalue=='numberformat') - { - $columnnumber=explode(",",$arrvalf1["columnnumber"]); - for($i=0;$iTotal,#cspan,#cspan,#cspan,
{#stat_total}
,
{#stat_total}
,
{#stat_total}
- if($footer) - { - if($footerspan) - { - $footerspan=str_repeat("#cspan,", $footerspan);$footerspan=substr($footerspan, 0, strlen($footerspan)-1); - } - $rtn.="$dgname.attachFooter(\"".$footer.",".$footerspan."\",[\"text-align:".$footeralign.";\"]);"; - } - $rtn.=" $dgname.init();"; - if($functioninit){$rtn.="$functioninit;";} - if($split){$rtn.="$dgname.splitAt($split);";} - if($showloader) - { - $rtn.="$dgname.attachEvent(\"onXLS\",function(){document.getElementById('loadergrid').style.display='block';});"; - $rtn.="$dgname.attachEvent(\"onXLE\",function(){document.getElementById('loadergrid').style.display='none';});"; - } - if($resulttovariable){return $rtn;}else{echo $rtn;} - } - - public function FN_DHTMLXGRIDVIEWTOFORM($gridname,$formname,$tablename,$idparameterindex,$fieldsarray,$fielddatetime=null,$otherevent=null,$otherbuttonevent=null,$resulttovariable=null,$expcolumnindexclick=null) - { - $rtn="$gridname.attachEvent(\"onRowSelect\",function(rowid,ind){"; - if($expcolumnindexclick){$rtn.="if(ind==$expcolumnindexclick){return false;}";} - $rtn.="id=$gridname.cells(rowid,$idparameterindex).getValue();"; - $i=0;$fieldsid="";$getresult="";$fieldfocus=""; - foreach($fieldsarray as $arr=>$arrvalue) - { - if($i==1){$fieldfocus=$arr;} - if($i>0) - { - $tfield=$arrvalue; - if(!$arrvalue) - { - $tfield=$arr; - $spf=explode("_",$tfield); - $tfield=$spf[1]; - } - - $fieldname.=$tfield.","; - //$rtn.=" var ".$fieldname."=spres[".$i."];"; - $getresult.="$formname.setItemValue('".$arr."',trim(spres[".$i."]));"; - } - else - {$getresult.="$formname.setItemValue('".$arr."',id);";} - $i+=1; - } - $fieldname=substr($fieldname,0,strlen($fieldname)-1); - if($otherevent){$getresult.=$otherevent;} - $rtn.=" var result=ajaxuridhtmlx('".$this->enc("obj_controller")."','obj=".$this->enc("-")."&task=".$this->enc("getinfotable")."&tablename=$tablename&fields=$fieldname&fielddatetime=$fielddatetime&id='+id);"; - //$rtn.=" alert(result);"; - $rtn.=" var spres=result.split('|');"; - $rtn.=$getresult; - if($otherbuttonevent) - { - $rtn.=$otherbuttonevent; - } - else - { - $rtn.=" $formname.disableItem(\"btnsave\");"; - $rtn.=" $formname.enableItem(\"btnupdate\");"; - $rtn.=" $formname.enableItem(\"btndelete\");"; - $rtn.=" $formname.setItemFocus(\"$fieldfocus\");"; - } - $rtn.="});"; - if($resulttovariable){return $rtn;}else{echo $rtn;} - //$rtn.=" var customeridentity=spres[1];"; -// $rtn.=" var customercode=spres[2];"; -// $rtn.=" var customername=spres[3];"; -// $rtn.=" var address=spres[4];"; -// $rtn.=" var region=spres[5];"; -// $rtn.=" var town=spres[6];"; -// $rtn.=" var phone=spres[7];"; -// $rtn.=" var contactperson=spres[8];"; -// $rtn.=" var contactpersonnumber=spres[9];"; -// $rtn.=" var notes=spres[10];"; - -// $rtn.=" myForm.setItemValue('txtidcustomer',id);"; -// $rtn.=" myForm.setItemValue('txt_customeridentity',customeridentity);"; -// $rtn.=" myForm.setItemValue('txt_customercode',customercode);"; -// $rtn.=" myForm.setItemValue('txt_customername',customername);"; -// $rtn.=" myForm.setItemValue('txt_address',address);"; -// $rtn.=" myForm.setItemValue('txt_region',region);"; -// $rtn.=" myForm.setItemValue('txt_town',town);"; -// $rtn.=" myForm.setItemValue('txt_phone',phone);"; -// $rtn.=" myForm.setItemValue('txt_contactperson',contactperson);"; -// $rtn.=" myForm.setItemValue('txt_contactpersonnumber',contactpersonnumber);"; -// $rtn.=" myForm.setItemValue('txt_notes',notes);"; - -// $rtn.=" myForm.disableItem(\"btnsave\");"; -// $rtn.=" myForm.enableItem(\"btnupdate\");"; -// $rtn.=" myForm.enableItem(\"btndelete\");"; - //myForm.enableItem(\"btncancel\");"; -// $rtn.=" myForm.setItemFocus(\"txt_customeridentity\");"; - - } - - - - public function FN_DHTMLXGRIDVIEWINCONTENT($gridinit=array(),$gridcolumnproperties=array(),$gridtypes,$contexmenu=null,$functioninit=null) - { - $rtn=""; - $dgname=$gridinit['gridname']; - $contenttarget=$gridinit['contenttarget']; - $divpaging=$gridinit['divpaging']; - $paginglimit=$gridinit['paginglimit']; - $setcolumnhidden=$gridinit['setcolumnhidden']; - $footer=$gridinit['footer']; - if(!$paginglimit){$paginglimit=PAGE_LIMIT;} - if($contexmenu){$contexmenu="$dgname.enableContextMenu($contexmenu)";} - $fieldname="";$headeralign="";$coltypes="";$widths="";$contentalign="";$colsort=""; - $enabletooltips=""; - foreach($gridcolumnproperties as $arr=>$arrval) - { - $fieldname.=$arr.","; - $spprop=explode(",",$arrval); - $headeralign.="\"text-align:".$spprop[0]."\",";$coltypes.=$spprop[1].","; - $widths.=$spprop[2].",";$contentalign.=$spprop[3].",";$colsort.=$spprop[4].","; - $enabletooltips.=$spprop[5].","; - - } - $fieldname=substr($fieldname,0,strlen($fieldname)-1); - $headeralign=substr($headeralign,0,strlen($headeralign)-1); - $coltypes=substr($coltypes,0,strlen($coltypes)-1); - $widths=substr($widths,0,strlen($widths)-1); - $contentalign=substr($contentalign,0,strlen($contentalign)-1); - $colsort=substr($colsort,0,strlen($colsort)-1); - $enabletooltips=substr($enabletooltips,0,strlen($enabletooltips)-1); - //echo $fieldname.' '.$headeralign.' '.$coltypes.' '.$contentalign.' '.$colsort;return false; - $rtn="// === Data Grid - $dgname=new dhtmlXGridObject($contenttarget); - $dgname.setSkin(\"dhx_skyblue\"); - $dgname.setImagePath(\"".PATH_THEME."/codebase/imgs/\"); - $dgname.setHeader(\"".$fieldname."\",null,[".$headeralign."]); - $dgname.setColTypes(\"".$coltypes."\"); // ro => Read Only, ed => Edit - $dgname.setInitWidths(\"".$widths."\"); - $dgname.setColAlign(\"".$contentalign."\"); - $dgname.setColSorting(\"".$colsort."\"); - $dgname.enablePaging(true,".$paginglimit.",5,\"$divpaging\",true,\"recInfoArea\"); - $dgname.setPagingSkin(\"".$gridtypes."\");".$contexmenu." - $dgname.enableTooltips(\"".$enabletooltips."\");"; - if($setcolumnhidden){$rtn.="$dgname.setColumnsVisibility('".$setcolumnhidden."');";} - - //
Total
,#cspan,#cspan,#cspan,
{#stat_total}
,
{#stat_total}
,
{#stat_total}
- if($footer){$rtn.="$dgname.attachFooter(\"".$footer."\",[\"text-align:right;\"]);";} - $rtn.=" $dgname.init();"; - if($functioninit){$rtn.="$functioninit;";} - return $rtn; - } - - public function FN_DHTMLXWINDOWS($windowsname,$windowproperties=array(),$w,$h,$x,$y,$attachtodiv=null,$myform=null,$formdata=null,$myformjquery=null) - { - //echo json_encode($formdata);return false; - $windowtitle="";$skin="dhx_web";$denyresize="";$modalwin="";$closedby="";$eventwhenclosed=""; - $position="";$skinform="dhx_skyblue"; - foreach($windowproperties as $arr=>$arrval) - { - if($arr=='title'){$windowtitle=$arrval;} - if($arr=='skin'){$skin=$arrval;} - if($arr=='skinform'){$skinform=$arrval;} - if($arr=='denyresize'){$denyresize=$arrval;} - if($arr=='modalwin'){$modalwin=$arrval;} - if($arr=='closedby'){$closedby=$arrval;} - if($arr=='eventwhenclosed'){$eventwhenclosed=$arrval;} - if($arr=='position'){$position=trim($arrval);} - } - echo "var dhxwin=new dhtmlXWindows();"; - echo "dhxwin.setSkin('$skin');"; - - if($attachtodiv){echo "dhxwin.attachViewportTo('$attachtodiv');";} - echo "$windowsname=dhxwin.createWindow(\"$windowsname\",$x,$y,$w,$h);"; - echo "dhxwin.window('$windowsname').progressOn();"; - echo "$windowsname.setText('$windowtitle');"; - if($denyresize){echo "dhxwin.window('$windowsname').denyResize();";} - if($modalwin){echo "dhxwin.window('$windowsname').setModal($modalwin);";} - if(!$closedby){echo "dhxwin.window('$windowsname').button(\"close\").disable();";} - echo "dhxwin.window('$windowsname').bringToTop();"; - if($position){echo "dhxwin.window('$windowsname').".$position."();";} - if($myform) - { - $formdata=json_encode($formdata); - echo "$myform=$windowsname.attachForm($formdata, true);"; - echo "$myform.setFocusOnFirstActive();"; - echo "$myform.setSkin('$skinform');"; - echo "$myform.attachEvent(\"onKeyDown\",function(inp,ev,id,value){"; - if($closedby) - { - echo "if(ev.keyCode==27){dhxwin.unload();}"; - } - echo "});"; - - if($myformjquery){echo $myformjquery;} - } - echo "dhxwin.window('$windowsname').progressOff();"; - if($eventwhenclosed){echo "dhxwin.attachEvent('onClose',function(win){".$eventwhenclosed.";return true;})";} - - - } - - public function FN_DHTMLXWINDOWSHOWPROGESS($event) - { - $rtn="var dhxwin=new dhtmlXWindows();"; - $rtn.="dhxwin.setSkin('dhx_terrace');"; - - $rtn.="winprogress=dhxwin.createWindow(\"winprogress\",0,0,190,40);"; - $rtn.="winprogress.setText('Progress');"; - $rtn.="dhxwin.window('winprogress').hideHeader();"; - $rtn.="dhxwin.window('winprogress').denyResize();"; - $rtn.="dhxwin.window('winprogress').setModal(true);"; - $rtn.="dhxwin.window('winprogress').button(\"close\").disable();"; - $rtn.="dhxwin.window('winprogress').bringToTop();"; - $rtn.="dhxwin.window('winprogress').center();"; - $winprogressvalue=""; - $winprogressvalue.=" "; - $winprogressvalue.=" "; - $winprogressvalue.=" "; - $winprogressvalue.=" "; - $winprogressvalue.="
Please Wait.."; - $winprogressvalue.="
".$this->CREATE_IMAGE("loaderring.gif","32","32").""; - $winprogressvalue.="
"; - $rtn.="winprogress.attachHTMLString('$winprogressvalue');"; - $rtn.=$event; - return $rtn; - } - - public function FN_DHTMLXWINDOWSHIDEPROGRESS() - { - return "dhxwin.unload();"; - } - - public function FN_DHTMLXFORMCLEAR($myformname,$ArrayControls=array(),$setFocusControl=null) - { - $statement=""; - foreach($ArrayControls as $arr=>$arrval) - { - $statement="$myformname.setItemValue('$arr','$arrval');"; - //if(substr($arr,0,3)!='cbo'){$statement="$myformname.setItemValue('$arr','$arrval');";} - if(substr($arr,0,3)=='chk'){$statement="$myformname.checkItem('$arr',$arrval);";} - if(substr($arr,0,3)=='cbo'){$statement.="$myformname.getCombo('$arr').setComboValue('');$myformname.getCombo('$arr').setComboText('$arrval');";} - $dhtmlxformclear.=$statement; - } - $rtn="$dhtmlxformclear"; - if($setFocusControl){$rtn.="$myformname.setItemFocus('$setFocusControl');";} - return $rtn; - } - - public function FN_DHTMLXFORM($myformname,$elementarget,$formdata,$notsetFocusOnFirstActive=null) - { - $formdata=json_encode($formdata); - - echo "$myformname=new dhtmlXForm(\"".$elementarget."\", ".$formdata.");"; - echo "$myformname.enableLiveValidation(true);"; - if(is_null($notsetFocusOnFirstActive)){echo "$myformname.setFocusOnFirstActive();";} - //echo "$myformname.setFocusOnFirstActive();"; - } - - public function FN_DHTMLXFORMDOCUMENT($myformname,$documentbody,$formdata) - { - $formdata=json_encode($formdata); - - echo "$myformname=new dhtmlXForm(".$documentbody.", ".$formdata.");"; - echo "$myformname.enableLiveValidation(true);"; - echo "$myformname.setFocusOnFirstActive();"; - } - - public function FN_DHTMLXFORMEVENT($myformname,$arrevent,$resulttovariable=null) - { - $rtn=""; - foreach($arrevent as $arr=>$arrval1) - { - $eventname="";$eventparam="";$withcase="";$arrsyntax=array();$statement=""; - //echo json_encode($arrval1);return false; - foreach($arrval1 as $arrt1=>$arrvalt1) - { - if($arrt1=='eventname'){$eventname=$arrvalt1;} - if($arrt1=='eventparam'){$eventparam=$arrvalt1;} - if($arrt1=='switch'){$withcase=$arrvalt1;$arrsyntax=$arrvalt1;} - if($arrt1=='statement'){$statement=$arrvalt1;} - } - $rtn="$myformname.attachEvent('$eventname',function($eventparam){"; - if($withcase) - { - $rtn.="switch(id) - {"; - foreach($arrsyntax as $arrcase=>$arrstatement) - { - $rtn.="case '$arrcase':$arrstatement;break;"; - } - $rtn.="}"; - } - else{$rtn.=$statement;} - $rtn.="});"; - if($resulttovariable){return $rtn;}else{echo $rtn;} - - } - } - - public function FN_DHTMLXCREATECONTEXTMENUGRID($gridname,$contextmenuname,$arrmenucontext) - { - $menuproperties=""; - echo "var $contextmenuname=new dhtmlXMenuObject(); - $contextmenuname.renderAsContextMenu(); - $contextmenuname.setIconsPath(\"".PATH_THEME."/icons/\"); - - $contextmenuname.attachEvent(\"onClick\",function(id){ - switch(id) - {"; - foreach($arrmenucontext as $arr=>$arrvalue) - { - $event=$arrvalue["event"]; - $gifname=$arrvalue["gifname"]; - $menutext=$arrvalue["menutext"]; - $menuproperties.=$arr."|".$gifname."|".$menutext.","; - echo "case '$arr':"; - if($arr=='contextmenu_deleted') - { - $contextconfirm="Data '+getVal+' ingin dihapus?"; - $contextevent="$gridname.deleteRow(data[0]);$event"; - - //if(!$event) - //{ -// echo "var data=$gridname.contextID.split(\"_\"); -// var getValuserText=$gridname.cellById(data[0],1).getValue(); -// dhtmlx.confirm({ -// title:'Confirm', -// type:'confirm', -// text:'', -// callback:function(result){ -// if(result){ -// $gridname.deleteRow(data[0]);$event; -// } -// } -// });"; - //} - //else - //{echo $event;} - } - if($arr=='contextmenu_print') - { - $contextconfirm="Data '+getVal+' ingin di Print?"; - $contextevent=$event; - } - echo "var data=$gridname.contextID.split(\"_\"); - var getVal=$gridname.cellById(data[0],1).getValue(); - dhtmlx.confirm({ - title:'Confirm', - type:'confirm', - text:'$contextconfirm', - callback:function(result){ - if(result){ - $contextevent; - } - } - });"; - echo "break;"; - $menuproperties=substr($menuproperties,0,strlen($menuproperties)-1); - } - echo " }"; - echo " }); - url=fn_dhtmlxloadobject('".$this->enc("obj_controller")."','obj=".$this->enc("-")."&task=".$this->enc("contxtmenustruc")."&mnuprop=$menuproperties'); - //alert(url); - $contextmenuname.loadStruct(url);"; - } - - public function FN_DHTMLXCONTEXTMENUSTRUCTURE() - { - $mnuprop=$_REQUEST['mnuprop']; - $spmnuprop=explode(",",$mnuprop); - - header("Content-type: text/xml"); - echo(""); - echo(""); - for($i=0;$i"); - } - - echo(""); - } - - public function FN_DHTMLXADDCOMBO($DBNAME=null) - { - if(!$DBNAME){$DBNAME=DB_APORTIL;} - // === param request tablename|col1,col2 - $tableobj=$_REQUEST['tableobj']; - //echo $tableobj; - $sp=explode("|",$tableobj); - - $table=$sp[0]; - //echo $table; - $spcol=explode(",",$sp[1]); - $col1=$spcol[0];$col2=$spcol[1]; - - $swhere=""; - if(isset($_REQUEST['exp']))//&&$_SESSION['nik']!=='9999' - { - //$spexp=explode("|",$_REQUEST['exp']); - //$exp="and ".$spexp[0]."<>'".$spexp[1]."'"; - $spexp=explode(",",$_REQUEST['exp']); - if(count($spexp)>0) - { - for($i=0;$i'".$spcriteria[1]."' "; - } - } - else - { - $spcriteria=explode("|",$spexp[$i]); - $swhere="and ".$spcriteria[0]."<>'".$spcriteria[1]."'"; - } - - } - - if(isset($_REQUEST['and']))//&&$_SESSION['nik']!=='9999' - { - //$spexp=explode("|",$_REQUEST['exp']); - //$exp="and ".$spexp[0]."<>'".$spexp[1]."'"; - $spexp=explode(",",$_REQUEST['and']); - if(count($spexp)>0) - { - for($i=0;$i'".$spexp[1]."'"; - $spexp=explode("|",$_REQUEST['in']); - $swhere="and ".$spexp[0]." in (".$spexp[1].")"; - - } - - $captionnulltext=""; - if(isset($_REQUEST['withallcaption'])){$captionnulltext="ALL";} - header("Content-type: text/xml"); - echo(""); - echo(""); - echo(""); - $qry="select $col1,$col2 from ".$DBNAME.".$table where isdeleted=0 $swhere order by id asc"; - //echo $qry; - if($this->fn_row_isexists($qry)) - { - $rs=$this->selectquery($qry); - if($rs) - { - while($rw=$this->data_row_array($rs)) - { - //echo(""); - echo(""); - } - } - $this->clearrecordset($rs); - } - echo(""); - } - - public function FN_DHTMLXLOADOBJECT($withvariable=null,$objroot,$objname,$task,$params=null) - { - $singlequote="'"; - if($params){$params="&$params";if(substr($params,strlen($params)-1,1)!="'"){$singlequote="";};} - $url="fn_dhtmlxloadobject('".$this->enc($objroot)."','obj=".$this->enc($objname)."&task=".$task."".$params."$singlequote);"; - if($withvariable){$url=$withvariable."=".$url;} - return $url; - } - - public function FN_DHTMLXLOADOBJECTURL($option,$task){return "?ajax=1&sec=1&option=".$option."&".$task;} - - } -?> diff --git a/controller/libgendix.php b/controller/libgendix.php deleted file mode 100644 index c99cc73..0000000 --- a/controller/libgendix.php +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/controller/libhtml.php b/controller/libhtml.php deleted file mode 100644 index d740c81..0000000 --- a/controller/libhtml.php +++ /dev/null @@ -1,2000 +0,0 @@ -MSG=new LIBMSG(); - //if(!isset($_SESSION['nik'])){$this->mosRedirect("D.H.T.M.L.X");} - $spip=explode(".",$_SERVER["HTTP_HOST"]); - if(count($spip)>0) - { - //if($spip[0]=='172'||$spip[0]=='10'){header("location: http://portal.telkomcel.tl");die;} - } - //echo $this->get_client_ip(); - //if($spip[0]=='172'){header("location: http://portal.telkomcel.tl");die;} - } - - //echo get_client_ip(); - - public function get_client_ip() { - $ipaddress = ''; - if (getenv('HTTP_CLIENT_IP')) - $ipaddress = getenv('HTTP_CLIENT_IP'); - else if(getenv('HTTP_X_FORWARDED_FOR')) - $ipaddress = getenv('HTTP_X_FORWARDED_FOR'); - else if(getenv('HTTP_X_FORWARDED')) - $ipaddress = getenv('HTTP_X_FORWARDED'); - else if(getenv('HTTP_FORWARDED_FOR')) - $ipaddress = getenv('HTTP_FORWARDED_FOR'); - else if(getenv('HTTP_FORWARDED')) - $ipaddress = getenv('HTTP_FORWARDED'); - else if(getenv('REMOTE_ADDR')) - $ipaddress = getenv('REMOTE_ADDR'); - else - $ipaddress = 'UNKNOWN'; - return $ipaddress; - } - - public function initjq() // used for pop window - { -?> - - - - - ".PROJECTID." - - - - - - - - - - - - - - - - "; - } - - public function FN_GETMONTHNAME($i) - { - $arrmonth=array("1"=>"January","2"=>"February","3"=>"March","4"=>"April","5"=>"May","6"=>"June","7"=>"July", - "8"=>"August","9"=>"September","10"=>"October","11"=>"November","12"=>"December"); - return $arrmonth[$i]; - } - - public function FN_CLOSEHEADER() - { - echo ""; - } - - public function FN_CREATEBODY($bgcolor=null) - { - if($bgcolor){$bgcolor="background-color:#$bgcolor;";} - $bgcolor="white"; - //if(!$bgcolor){$bgcolor="background-color:#e8f1ff;";} - echo " -
HANDLE_VIEWSOURCE(97890)."id=\"fmpreview\" name=\"fmpreview\" target=\"_blank\" ".$this->HANDLE_VIEWSOURCE(12890)."method=\"POST\" ".$this->HANDLE_VIEWSOURCE(11890)."action=\"?".$this->dec("2304f0e32dd0e041231c536c971ebaab")."\"> - HANDLE_VIEWSOURCE(19890).">"; - } - - public function FN_CREATEFOOTER() - { - echo $this->initjq(); - echo " - "; - - } - - public function URLHOME() - { - return "$('#uri').val('ajax=0&sec=1&option=".$this->enc("obj_home")."&obj=&task=".$this->enc("layoutgraph")."');$('#fm').prop('target','_self');$('#fm').submit();"; - } - - public function SHOWMESSAGE($msginfo) - { - echo "

$msginfo

"; - } - - public function SHOWMESSAGEWAIT($msginfo,$counttmr,$int,$url=null,$withalertformat=null) - { - $jvtmr=""; - - echo $jvtmr; - $msginfo.=" ...$counttmr"; - if($withalertformat){echo "

$msginfo

";} - else - {echo $msginfo;} - - } - - public function SHOWMESSAGETOVARIABLE($msginfo) - { - return "

$msginfo

"; - } - - public function initial_css_style() // used for pop window - { - echo " - "; - } - - public function SET_PAGE_TITLE($titlepage) - { - echo " - - - -
$titlepage
"; - } - - public function SIDEBAR() - { - $x=" - - "; - return $x; - } - - //public function - - public function GET_PATH() - { - $uripath=$_SERVER["REQUEST_URI"] ; - $spuripath=explode("/",$uripath); - $realpath=""; - for($i=0;$i"; - $i=0; - foreach($arruri as $lnk=>$lnkvalue) - { - if($lnkvalue=='disabled'){echo "
  • ".$lnk."
  • ";} - else - { - $title="";$onClick="";$prop=""; - $spuri=explode("|",$lnkvalue); - $title=$spuri[2]; - if($spuri[0]=='ajax') - { - $onClick="onClick=\"".$spuri[1]."\""; - $lnkvalue="javascript:void(0)"; - } - - if($spuri[0]=='ahref') - { - $onClick=""; - $lnkvalue=$spuri[1]; - $prop=$spuri[3]; - } - //if(isset($spuri)) - //if(is_array($arrurititle)){$title=$arrurititle[$i][1];}echo $title; - $span=""; - if($i==count($arruri)-1){$span="";} - echo "
  • $lnk $span
  • "; - } - $i+=1; - } - echo ""; - } - - public function LINK_BACKTOPAGE($ajaxurl='',$url='#',$width='0px') - { - return ""; - } - - public function CREATE_IMAGE($img,$width=null,$height=null,$prop=null,$url=null) - { - if($width){$pagewidth="width=\"".$width."px\"";} - if($height){$pageheight="height=\"".$height."px\"";} - $path=PATH_THEME; - if($url){$path=$url;} - return ""; - } - - - public function CREATE_LINK_IMG_HOVER($url,$event,$img,$imghover,$title=null) - { - $sp=explode(".",$img); - if(count($sp)<=1){$img.=".png";} - //echo $sp[1]; - return " - - "; - } - - //public function CREATE_LINK($ajaxurl='',$linktext='',$url='javascript:void(0)',$target='_self',$title='',$color='',$properties='') -// { -// if($ajaxurl){$ajaxurl.=";return false;";} -// if(!$color){$color='blue';} -// return "$linktext"; -// } - - public function CREATE_LINK($ajaxurl='',$linktext='',$url='javascript:void(0)',$target='_self',$title='',$color='',$style='',$properties='') - { - if($ajaxurl){$ajaxurl.=";return false;";} - if(!$color){$color='blue';} - return "$linktext"; - } - - - public function MULTIPLE_LINK($linkarray) - { - $linkvalue="";$separator=""; - //$h=array("r"=>"1","b"=>"2"); - foreach($linkarray as $lnk=>$lnkvalue) - { - if($linkvalue!==""){$separator="  ".$this->CREATE_IMAGE("arrowright.png","","","")."  ";} - if($lnkvalue) - { - $sppipe=explode("|",$lnkvalue); - $fnvalue=$sppipe[0];$prop=$sppipe[1]; - $linkvalue.="$separator".$this->CREATE_LINK($fnvalue,$lnk,"javascript:void(0)","_self","","","font-size:14px;",$prop); - } - else - {$linkvalue.="$separator".$this->CREATE_LINK("",$lnk,"javascript:void(0)","_self","","","color:gray;text-decoration:none;font-style:italic;font-size:14px;","");} - - } - $rtn="
    $linkvalue
    "; - return $rtn; - } - - public function CREATE_UNLINK($linktext="") - { - return "$linktext"; - } - - public function CREATE_INPUT_OBJECT($type,$id,$name,$event,$properties) - { - $OBJ_PROPERTIES=""; - if(is_array($properties)) - { - foreach($properties as $arr=>$arrvalue) - { - $OBJ_PROPERTIES.=$arr.$arrvalue." "; - } - } - else - {$OBJ_PROPERTIES=$properties;} - //echo $OBJ_PROPERTIES; - return ""; - } - - public function CREATE_INPUT_OBJECT_WITHSHADOW($type,$id,$name,$shadowvalue,$event,$properties) - { - if(is_array($properties)) - { - foreach($properties as $arr=>$arrvalue) - { - $OBJ_PROPERTIES.=$arr.$arrvalue." "; - } - } - else - {$OBJ_PROPERTIES=$properties;} - //echo $OBJ_PROPERTIES; - return " - "; - } - - public function CREATE_BUTTON($text,$id,$name,$event,$properties) - { - if(is_array($properties)) - { - foreach($properties as $arr=>$arrvalue) - { - $OBJ_PROPERTIES.=$arr.$arrvalue." "; - } - } - else - {$OBJ_PROPERTIES=$properties;} - return ""; - } - - public function FN_SERVERDOWNTIMETEXT() - { - echo "You Server Has Been Turn Off THANK YOU."; - } - - public function FN_DHTMLXCONFIRM($title,$text,$event) - { - return "dhtmlx.confirm({ - title: '$title', - type:'confirm', - text: '$text', - callback: function(result){if(result){".$event."}} - });"; - } - - public function FN_DHTMLXMESSAGE($type,$msg) - { - $rtn="dhtmlx.message({"; - if($type){$rtn.="type: '$type',";} - $rtn.="text: '$msg'});"; - return $rtn; - } - - - public function FN_DHTMLXFORMOld($formname,$formheadertext,$formheaderwidth,$tabbarid,$arrelement) - { - $jvform=""; - $jvform.=""; - $jvform.=""; - - return $jvform; - //return ""; - //return "TETS"; -// echo ""; - - } - - public function FN_DHTMLXLOADOBJECTx($option,$task) - { - return "?ajax=1&sec=1&option=".$option."&".$task; - } - - public function FN_DHTMLXGRIDCONTEXTMENU() - { - header("Content-type: text/xml"); - echo(""); - echo(""); - echo(" "); - echo(""); - } - - public function FN_DHTMLXGRIDCONTEXTMENU2() - { - $mnuprop=$_REQUEST['mnuprop']; - $spmnuprop=explode(",",$mnuprop); - - header("Content-type: text/xml"); - echo(""); - echo(""); - for($i=0;$i"); - } - - echo(""); - } - - public function FN_DHTMLXADDCOMBO($DBNAME=null) - { - if(!$DBNAME){$DBNAME=DB_APORTIL;} - // === param request tablename|col1,col2 - $tableobj=$_REQUEST['tableobj']; - //echo $tableobj; - $sp=explode("|",$tableobj); - - $table=$sp[0]; - $spcol=explode(",",$sp[1]); - $col1=$spcol[0];$col2=$spcol[1]; - - //echo $table; - $multicol=false; - // === Check The MultiColumn - $spfield=explode(":",$sp[1]); - if(count($spfield)>1) - { - $multicol=true; - $spcol=explode(",",$spfield[0]); - $col1=$spcol[0];$col2=$spcol[1];$col3=$spcol[2]; - - $spview=explode(",",$spfield[1]); - $view1=$spview[0];$view2=$spview[1]; - } - - $swhere=""; - if(isset($_REQUEST['exp']))//&&$_SESSION['nik']!=='9999' - { - //$spexp=explode("|",$_REQUEST['exp']); - //$exp="and ".$spexp[0]."<>'".$spexp[1]."'"; - $spexp=explode(",",$_REQUEST['exp']); - if(count($spexp)>0) - { - for($i=0;$i'".$spcriteria[1]."' "; - } - } - else - { - $spcriteria=explode("|",$spexp[$i]); - $swhere="and ".$spcriteria[0]."<>'".$spcriteria[1]."'"; - } - - } - - if(isset($_REQUEST['and']))//&&$_SESSION['nik']!=='9999' - { - //$spexp=explode("|",$_REQUEST['exp']); - //$exp="and ".$spexp[0]."<>'".$spexp[1]."'"; - $spexp=explode(",",$_REQUEST['and']); - if(count($spexp)>0) - { - for($i=0;$i'".$spexp[1]."'"; - $spexp=explode("|",$_REQUEST['in']); - $swhere="and ".$spexp[0]." in (".$spexp[1].")"; - - } - - $captionnulltext=""; - if(isset($_REQUEST['withallcaption'])){$captionnulltext="ALL";} - $mask=$_REQUEST['mask']; - header("Content-type: text/xml"); - echo(""); - echo(""); - echo(""); - //echo(""); - $sort=$col2; - if($_REQUEST['sort']){$sort=$_REQUEST['sort'];} - $qry="select distinct $col1,$col2 from ".$DBNAME.".$table where isdeleted=0 $swhere and ($col2<>'') order by $sort asc limit 100"; - if($mask) - { - $qry="select distinct $col1,$col2 from ".$DBNAME.".$table where isdeleted=0 $swhere and $col2 like '%$mask%' and ($col2<>'') order by $sort asc limit 20"; - if($multicol) - { - $qry="select distinct $col1,$col2,$col3 from ".$DBNAME.".$table - where isdeleted=0 $swhere and ($col2 like '%$mask%' and ($col2<>'')) or ($col3 like '%$mask%' and ($col3<>'')) order by $sort,$col3 asc limit 20"; - } - } - echo $qry; - if($this->fn_row_isexists($qry)) - { - $rs=$this->selectquery($qry); - if($rs) - { - $option=""; - while($rw=$this->data_row_array($rs)) - { - //echo(""); - //echo(""); - $option=""; - echo($option); - } - } - $this->clearrecordset($rs); - } - echo(""); - } - - public function FN_DHTMLXADDCOMBOOLD($DBNAME=null) - { - // === param request tablename|col1,col2 - $tableobj=$_REQUEST['tableobj']; - //echo $tableobj; - $sp=explode("|",$tableobj); - - $table=$sp[0]; - //echo $table; - $spcol=explode(",",$sp[1]); - $col1=$spcol[0];$col2=$spcol[1]; - - $exp=""; - if(isset($_REQUEST['exp']))//&&$_SESSION['nik']!=='9999' - { - //$spexp=explode("|",$_REQUEST['exp']); - //$exp="and ".$spexp[0]."<>'".$spexp[1]."'"; - $spexp=explode(",",$_REQUEST['exp']); - if(count($spexp)>0) - { - for($i=0;$i'".$spcriteria[1]."' "; - } - } - else - { - $spcriteria=explode("|",$spexp[$i]); - $exp="and ".$spcriteria[0]."<>'".$spcriteria[1]."'"; - } - - } - - if(isset($_REQUEST['and']))//&&$_SESSION['nik']!=='9999' - { - //$spexp=explode("|",$_REQUEST['exp']); - //$exp="and ".$spexp[0]."<>'".$spexp[1]."'"; - $spexp=explode(",",$_REQUEST['and']); - if(count($spexp)>0) - { - for($i=0;$i"); - echo(""); - echo(""); - $qry="select $col1,$col2 from ".DB_APORTIL.".$table where isdeleted=0 $exp $cboexp order by id asc"; - if($DBNAME){$qry="select $col1,$col2 from $DBNAME.$table where isdeleted=0 $exp $cboexp order by id asc";} - if($this->fn_row_isexists($qry)) - { - $rs=$this->selectquery($qry); - if($rs) - { - while($rw=$this->data_row_array($rs)) - { - //echo(""); - echo(""); - } - } - $this->clearrecordset($rs); - } - echo(""); - } - - public function FN_DHTMLXACCORDION() - { - echo "myAccordion=myLayout.cells(\"a\").attachAccordion();"; - if($_SESSION['menuidgroupproject']) - { - $qry="select id,groupname from ".DB_APORTIL.".tbl_menu_groupproject where id in(".$_SESSION['menuidgroupproject'].") and isdeleted=0 order by id asc"; - //echo $qry;return false; - $rs=$this->selectquery($qry); - if($rs) - { - $i=1; - while($rw=$this->data_row_object($rs)) - { - $firstactive=""; - if($i==1){$firstactive=",true";} - $expandcollapse=" (+)  (-)"; - //$expandcollapse=" (+)"; - //$urlexcol="var img=document.getElementById('imgexcol');"; - //$urlexcol="alert(\'test\');";//"imgexp='\'".PATH_THEME."/images/expand.png'\';";//myTree".$rw->id.".closeAllItems(0); - //$urlexcol.="imgcol='\'".PATH_THEME."/images/collapse.png'\';";//myTree".$rw->id.".closeAllItems(0); - //$urlexcol.="this.src=imgcol;";//myTree".$rw->id.".closeAllItems(0); - //$expandcollapse=" "; - //echo "myAccordion.addItem(\"a".$rw->id."\", \"$expandcollapse  ".$rw->groupname."\" $firstactive);"; - echo "myAccordion.addItem(\"a".$rw->id."\", \"".$rw->groupname." $expandcollapse\" $firstactive);"; - $i+=1; - } - } - $this->clearrecordset($rs); - // === Create My TREE - //if($this->fn_row_isexists("select id from ".DB_APORTIL.".tbl_treemenu where isdeleted=0 and id_menu_groupproject in(".$_SESSION['menuidgroupproject'].") order by id asc limit 1")>0) - if($_SESSION['menuidgroupproject']) - { - $spid=explode(",",$_SESSION['menuidgroupproject']); - for($i=0;$ifn_row_isexists($qry)) - { - //skins/web/imgs/dhxtree_web/ - echo "myTree".$spid[$i]."= myAccordion.cells(\"a".$spid[$i]."\").attachTree(); - myTree".$spid[$i].".setImagePath(\"themes/skins/web/imgs/dhxtree_web/\"); - myTree".$spid[$i].".enableTreeLines(true); - url=fn_dhtmlxloadobject('".$this->enc("obj_home")."','obj=".$this->enc("-")."&task=".$this->enc("treemenu")."&id_menu_groupproject=".$spid[$i]."'); - //alert(url); - myTree".$spid[$i].".loadXML(url); - myTree".$spid[$i].".attachEvent(\"onClick\",function(e){ - switch (myTree".$spid[$i].".getSelectedItemId()) - {"; - if($_SESSION['treemenuid']) - { - $qry="select objoption,objname,objtask,menutext,menuid,url from ".DB_APORTIL.".tbl_treemenu - where id in(".$_SESSION['treemenuid'].") and menutype='D' and isdeleted=0 and menuactivated=1 and id_menu_groupproject='".$spid[$i]."' - order by menuorder asc"; - $rseventmnu=$this->selectquery($qry); - if($rseventmnu) - { - if($this->REC_ROWS_COUNT($rseventmnu)>0) - { - while($rwevent=$this->data_row_object($rseventmnu)) - { - echo "case '".$rwevent->menuid."':"; - $url="fn_dhtmlxloadobject('".$this->enc($rwevent->objoption)."','obj=".$this->enc($rwevent->objname)."&task=".$this->enc($rwevent->objtask)."&tabid=tab".$rwevent->menuid."')"; - if($rwevent->url){$url="'".$rwevent->url."'";} - echo " fn_dhtmlxaddtabbar('tab".$rwevent->menuid."',$url,'".$rwevent->menutext."',220,true); - break;"; - } - } - else - { - echo "case 'mc0':"; - $url="fn_dhtmlxloadobject('".$this->enc("obj_menuconfig")."','obj=".$this->enc("menuconfig_new")."&task=".$this->enc("default")."&tabid=tab0')"; - echo " fn_dhtmlxaddtabbar('tab0',$url,'Penambahan Menu',150,true); - break;"; - - echo "case 'mc1':"; - $url="fn_dhtmlxloadobject('".$this->enc("obj_menuconfig")."','obj=".$this->enc("menuconfig_list")."&task=".$this->enc("default")."&tabid=tab1')"; - echo " fn_dhtmlxaddtabbar('tab1',$url,'Pencarian Menu',150,true); - break;"; - } - } - $this->clearrecordset($rseventmnu); - } - else if($_SESSION['nik']=='82010') - { - echo "case 'mc0':"; - $url="fn_dhtmlxloadobject('".$this->enc("obj_menuconfig")."','obj=".$this->enc("menuconfig_new")."&task=".$this->enc("default")."&tabid=tab0')"; - echo " fn_dhtmlxaddtabbar('tab0',$url,'Penambahan Menu',150,true); - break;"; - - echo "case 'mc1':"; - $url="fn_dhtmlxloadobject('".$this->enc("obj_menuconfig")."','obj=".$this->enc("menuconfig_list")."&task=".$this->enc("default")."&tabid=tab1')"; - echo " fn_dhtmlxaddtabbar('tab1',$url,'Pencarian Menu',150,true); - break;"; - } - echo " }; - });"; - - } - } - } - else - { - $idmyAccadmin=$this->fn_get_fieldvalue("id","select id from ".DB_APORTIL.".tbl_menu_groupproject where isadministrator=1 and isdeleted=0"); - echo "myTree".$idmyAccadmin."= myAccordion.cells(\"a".$idmyAccadmin."\").attachTree(); - myTree".$idmyAccadmin.".setImagePath(\"themes/skins/web/imgs/dhxtree_web/\"); - myTree".$idmyAccadmin.".enableTreeLines(true); - url=fn_dhtmlxloadobject('".$this->enc("obj_home")."','obj=".$this->enc("-")."&task=".$this->enc("treemenuadmin")."'); - //alert(url); - myTree".$idmyAccadmin.".loadXML(url); - // === Attach Event MyTree - myTree".$idmyAccadmin.".attachEvent(\"onClick\",function(e){ - switch (myTree".$idmyAccadmin.".getSelectedItemId()) - {"; - if($_SESSION['nik']=='82010') - { - echo "case 'mc0':"; - $url="fn_dhtmlxloadobject('".$this->enc("obj_menuconfig")."','obj=".$this->enc("menuconfig_new")."&task=".$this->enc("default")."&tabid=tab0')"; - echo " fn_dhtmlxaddtabbar('tab0',$url,'Penambahan Menu',220,true); - break;"; - - echo "case 'mc1':"; - $url="fn_dhtmlxloadobject('".$this->enc("obj_menuconfig")."','obj=".$this->enc("menuconfig_list")."&task=".$this->enc("default")."&tabid=tab1')"; - echo " fn_dhtmlxaddtabbar('tab1',$url,'Pencarian Menu',220,true); - break;"; - echo "case 'mc2':"; - $url="fn_dhtmlxloadobject('".$this->enc("obj_user")."','obj=".$this->enc("user_new")."&task=".$this->enc("default")."&tabid=tab2')"; - echo " fn_dhtmlxaddtabbar('tab2',$url,'Penambahan User',220,true); - break;"; - - echo "case 'mc3':"; - $url="fn_dhtmlxloadobject('".$this->enc("obj_user")."','obj=".$this->enc("user_auth")."&task=".$this->enc("default")."&tabid=tab3')"; - echo " fn_dhtmlxaddtabbar('tab3',$url,'Authentifikasi User',250,true); - break;"; - } - echo " }; - });"; - } - } - else - { - $idmyAccadmin=$this->fn_get_fieldvalue("id","select id from ".DB_APORTIL.".tbl_menu_groupproject where isadministrator=1 and isdeleted=0"); - echo "myAccordion.addItem(\"a".$idmyAccadmin."\", \"Konfigurasi $expandcollapse\" $firstactive); - myTree".$idmyAccadmin."= myAccordion.cells(\"a".$idmyAccadmin."\").attachTree(); - myTree".$idmyAccadmin.".setImagePath(\"themes/skins/web/imgs/dhxtree_web/\"); - myTree".$idmyAccadmin.".enableTreeLines(true); - url=fn_dhtmlxloadobject('".$this->enc("obj_home")."','obj=".$this->enc("-")."&task=".$this->enc("treemenuadmin")."'); - //alert(url); - myTree".$idmyAccadmin.".loadXML(url); - // === Attach Event MyTree - myTree".$idmyAccadmin.".attachEvent(\"onClick\",function(e){ - switch (myTree".$idmyAccadmin.".getSelectedItemId()) - {"; - if($_SESSION['nik']=='82010') - { - echo "case 'mc0':"; - $url="fn_dhtmlxloadobject('".$this->enc("obj_menuconfig")."','obj=".$this->enc("menuconfig_new")."&task=".$this->enc("default")."&tabid=tab0')"; - echo " fn_dhtmlxaddtabbar('tab0',$url,'Penambahan Menu',220,true); - break;"; - - echo "case 'mc1':"; - $url="fn_dhtmlxloadobject('".$this->enc("obj_menuconfig")."','obj=".$this->enc("menuconfig_list")."&task=".$this->enc("default")."&tabid=tab1')"; - echo " fn_dhtmlxaddtabbar('tab1',$url,'Pencarian Menu',220,true); - break;"; - echo "case 'mc2':"; - $url="fn_dhtmlxloadobject('".$this->enc("obj_user")."','obj=".$this->enc("user_new")."&task=".$this->enc("default")."&tabid=tab2')"; - echo " fn_dhtmlxaddtabbar('tab2',$url,'Penambahan User',220,true); - break;"; - - echo "case 'mc3':"; - $url="fn_dhtmlxloadobject('".$this->enc("obj_user")."','obj=".$this->enc("user_auth")."&task=".$this->enc("default")."&tabid=tab3')"; - echo " fn_dhtmlxaddtabbar('tab3',$url,'Authentifikasi User',150,true); - break;"; - } - echo " }; - });"; - } - - - -// echo "myAccordion.addItem(\"a1\", \"Main Page\", true); -// myAccordion.addItem(\"a2\", \"Site Navigation\"); -// myAccordion.addItem(\"a3\", \"Support & Feedback\");"; - } - - public function FN_DHTMLXTOOLBAR() - { - $mymenu=""; - $mymenu.=""; - $mymenu.=" "; - $mymenu.=" "; - $mymenu.=" "; - $mymenu.=" "; - $mymenu.=" "; - $mymenu.=" "; - $mymenu.=" "; - $mymenu.=" "; - $mymenu.=" "; - $mymenu.=" "; - $mymenu.=" "; - $mymenu.=" "; - $mymenu.=" "; - $spanhour="<span id="h" style="font-family:dseg7modernregular;font-size:16pt;">00</span>"; - $spanseparator="<span style="font-size:16pt;">:</span>"; - $spanminute="<span id="m" style="font-family:dseg7modernregular;font-size:16pt;">00</span>"; - $spanseparator="<span style="font-size:16pt;">:</span>"; - $spansecond="<span id="s" style="font-family:dseg7modernregular;font-size:16pt;">00</span>"; - //$spanspacedate="<span style="font-size:16pt;"> </span>"; - //$date="<span id="h" style="font-family:arial;font-size:10pt;">".strtoupper(date("d M Y"))."</span>"; -// $mymenu.=" "; -// $mymenu.=" "; -// $mymenu.=" "; -// $mymenu.=" "; -// $mymenu.=" ";//<span id="h" style>00</span> -// $mymenu.=" ";//<span id="h" style>00</span> - $mymenu.=" ";//<span id="h" style>00</span> - //$mymenu.=" "; - - $mymenu.=" "; - $mymenu.=" ";//<span id="h" style>00</span> - - $mymenu.=""; - - echo "// === Create toolbar Menu - myToolbar = myLayout.attachToolbar({ - icons_size: 24, - icons_path: \"themes/icons/toolbar/\", - xml: \"$mymenu\" - }); - - myToolbar.attachEvent(\"onClick\",function(id){ - switch(id) - { - case 'toolbarexit':"; - $event="document.getElementById('uri').value='ajax=0&sec=0&option=".$this->enc("r/out")."';"; - $event.="document.getElementById('fm').submit();"; - echo $this->FN_DHTMLXCONFIRM("Konfirmasi","Anda ingin Keluar?",$event); - echo " break; - case 'toolbarreload': - myTabbar.forEachCell(function(cell){ - var id = cell.getId(); - if(myTabbar.tabs(id).isActive()){myTabbar.cells(id).reloadURL();} - }); - - break; - case 'subtoolbarchgpass':"; - $url="fn_dhtmlxloadobject('".$this->enc("obj_user")."','obj=".$this->enc("user_pass")."&task=".$this->enc("default")."')"; - echo " fn_dhtmlxaddtabbar('subtoolbarchgpass',$url,'Change Password',190,true); - break; - - case 'subtoolbartreeviewhide': - myLayout.cells(\"a\").undock(); - myLayout.dhxWins.window(\"a\").hide(); - break; - - case 'subtoolbartreeviewunhide': - myLayout.cells(\"a\").dock(); - break; - - } - }); - //myLayout.dhxWins.window(\"a\").hide(); - fn_timeschedule();"; - - } - - public function FN_DHTMLXMENU() - { - $mymenu=""; - $mymenu.=""; - $mymenu.=" "; - $mymenu.=""; - - echo "// === Create Menu Header - myMenu = myLayout.attachMenu({ - icons_path: \"themes/icons/\", - xml: \"$mymenu\" - });"; - - echo " myMenu.attachEvent(\"onClick\", function(id) - { - switch(id) - { - case 'submnuclose':"; - $event="document.getElementById('uri').value='ajax=0&sec=0&option=".$this->enc("r/out")."';"; - $event.="document.getElementById('fm').submit();"; - echo $this->FN_DHTMLXCONFIRM("Konfirmasi","Anda ingin Keluar?",$event); - echo " break; - case 'mnubantuan': - - break;"; - echo " } - });"; - - } - - public function FN_DHTMLXROWISEXIST() - { - $object=$_REQUEST['object']; - $validationvalue=trim($_REQUEST['validationvalue']); - $sp=explode("|",$object); - $qry="select ".$sp[1]." from ".DB_APORTIL.".".$sp[0]." where ".$sp[1]."='$validationvalue' and isdeleted=0 order by id asc limit 1"; - $value=$this->fn_get_fieldvalue($sp[1],$qry); - if($value) - { - echo "failed|Data ".$validationvalue." sudah pernah di tambahkan"; - } - - } - - public function FN_DHTMLXFORMVALIDATIONERROR($myform,$arrvalidateerror,$resulttovariable=null) - { - $rtn=$myform.".attachEvent(\"onValidateError\",function(id,value,result){ - var msg=''; - switch(id) - {"; - foreach($arrvalidateerror as $obj => $valerror) - { - $rtn.="case '$obj': - msg='$valerror';"; - $rtn.="break;"; - } - $rtn.=" }"; - $rtn.=" if(msg){fn_dhtmlxmessage('error',msg);}"; - $rtn.="});"; - if($resulttovariable){return $rtn;}else{echo $rtn;} - } - - public function CREATE_TEXTAREA($id,$name,$event,$properties) - { - if(is_array($properties)) - { - foreach($properties as $arr=>$arrvalue) - { - $OBJ_PROPERTIES.=$arr.$arrvalue." "; - } - } - else - {$OBJ_PROPERTIES=$properties;} - return ""; - //echo ""; - } - - public function CREATE_EDIT_ICON_BUTTON($event,$title=null) - { - return " - - "; - } - - public function CREATE_PRINT_ICON_BUTTON($event,$title=null) - { - return " - - "; - } - - public function getErrMsg() - { - return $this->errMsg; - } - - public function CREATE_ROOT($option,$obj_name,$defaulttask) - { - // === check Validation $option &obj_name - $msgvalidation=""; - //echo preg_match("/^_/i",$option); - if(!preg_match("/_/i",$option)){$msgvalidation="Isikan Kolom Option dengan tanda separator \"_\" contoh obj_test.TERIMA KASIH.";} - //if(!preg_match("/_/i",$obj_name)){if($msgvalidation){$msgvalidation.="
    ";}$msgvalidation.="Isikan Kolom Obj Name dengan tanda separator \"_\" contoh test_new.
    TERIMA KASIH.";} - - //if($msgvalidation){echo $this->SHOWMESSAGE($msgvalidation);return false;} - if($msgvalidation){$this->errMsg=$msgvalidation; return false;} - // === CREATE ROOT AND STRUCTURE - - if(!is_dir(PATH_OBJECT."/$option")) - { - mkdir(PATH_OBJECT."/$option"); - $spfile=explode("_",$option); - $basefile=$spfile[1]; - // ==== Create $basefile.php - $fl=fopen(PATH_OBJECT."/$option/$basefile.php","w"); - // ==== Write $basefile.php - $strbasefile="dec($case);$obj=$this->dec($obj);}} - $strbasefile.=str_repeat(chr(32),4)."if(".chr(36)."_REQUEST){if(".chr(36)."_REQUEST['sec']){".chr(36)."case=".chr(36)."cl->dec(".chr(36)."case);".chr(36)."obj=".chr(36)."cl->dec(".chr(36)."obj);}}\n\n"; - $strbasefile.=str_repeat(chr(32),4)."if(file_exists(PATH_OBJECT.\"/".chr(36)."option/".chr(36)."obj.php\"))\n"; - $strbasefile.=str_repeat(chr(32),4)."{\n"; - $strbasefile.=str_repeat(chr(32),8)."require_once(\"".chr(36)."obj.php\");\n"; - $strbasefile.=str_repeat(chr(32),8)."".chr(36)."className=strtoupper(".chr(36)."obj);\n"; - $strbasefile.=str_repeat(chr(32),8)."".chr(36)."clfile=new ".chr(36)."className();\n"; - $strbasefile.=str_repeat(chr(32),8)."".chr(36)."fn_init_java=".chr(36)."className.\"_javainit\";\n"; - $strbasefile.=str_repeat(chr(32),8)."".chr(36)."init_java=trim(".chr(36)."_REQUEST['init_java']);if(".chr(36)."init_java){".chr(36)."clfile->".chr(36)."fn_init_java();}\n\n"; - $strbasefile.=str_repeat(chr(32),8)."".chr(36)."case=".chr(36)."obj;\n"; - $strbasefile.=str_repeat(chr(32),4)."}\n\n"; - $strbasefile.=str_repeat(chr(32),4)."if(!".chr(36)."case){".chr(36)."case=".chr(36)."obj;if(!file_exists(PATH_OBJECT.\"/".chr(36)."option/".chr(36)."obj.php\")){".chr(36)."cl->under_construction();}}\n"; - $strbasefile.=str_repeat(chr(32),4)."".chr(36)."sptask=explode(\"_\",".chr(36)."case);".chr(36)."modulename=".chr(36)."sptask[1];".chr(36)."fn_module_init=\"fn_\".".chr(36)."modulename.\"_init\";\n\n"; - $strbasefile.=str_repeat(chr(32),4)."switch(".chr(36)."case)\n"; - $strbasefile.=str_repeat(chr(32),4)."{\n"; - $strbasefile.=str_repeat(chr(32),8)."case \"".$basefile."_".chr(36)."modulename\":\n"; - $strbasefile.=str_repeat(chr(32),10)."".chr(36)."clfile->".chr(36)."fn_module_init();\n"; - $strbasefile.=str_repeat(chr(32),8)."break;\n"; - $strbasefile.=str_repeat(chr(32),4)."}\n\n"; - $strbasefile.="?>"; - - fwrite($fl,$strbasefile); - fclose($fl); - - // === Create and write $basefile_html.php - $basefilehtml=$basefile.".html"; - $fl=fopen(PATH_OBJECT."/$option/".$basefilehtml.".php","w"); - $strbasefile="enc("$option")."&obj=".$this->enc($obj_name)."&task=".$this->enc($defaulttask)."');".chr(36)."('#fm').prop('target','_self');".chr(36)."('#fm').submit();\";\n"; - $strbasefile.=str_repeat(chr(32),8)."}\n"; - $strbasefile.=str_repeat(chr(32),4)."}\n\n"; - $strbasefile.="?>"; - fwrite($fl,$strbasefile); - fclose($fl); - - // === Create and write $obj_name.php - $spsuffix=explode("_",$obj_name); - $suffixobjname=$spsuffix[1]; - $fl=fopen(PATH_OBJECT."/$option/".$obj_name.".php","w"); - $strbasefile="dec(".chr(36)."task);}}\n\n"; - $strbasefile.=str_repeat(chr(32),12)."switch(".chr(36)."task)\n"; - $strbasefile.=str_repeat(chr(32),12)."{\n"; - //$strbasefile.=str_repeat(chr(32),16)."case \"save$suffixobjname\":\n\n"; - $strbasefile.=str_repeat(chr(32),16)."case \"default\":\n"; - $strbasefile.=str_repeat(chr(32),20)."".chr(36)."this->fn_default_$suffixobjname();\n"; - $strbasefile.=str_repeat(chr(32),16)."break;\n\n"; - $strbasefile.=str_repeat(chr(32),16)."case ".chr(36)."task:\n"; - $strbasefile.=str_repeat(chr(32),20)."".chr(36)."task=\"fn_\".".chr(36)."task;\n"; - $strbasefile.=str_repeat(chr(32),20)."if(method_exists(".chr(36)."this,".chr(36)."task)){".chr(36)."this->".chr(36)."task();}\n"; - $strbasefile.=str_repeat(chr(32),16)."break;\n\n"; - $strbasefile.=str_repeat(chr(32),16)."default:\n"; - $strbasefile.=str_repeat(chr(32),20)."".chr(36)."this->fn_default_$suffixobjname();\n"; - $strbasefile.=str_repeat(chr(32),16)."break;\n"; - $strbasefile.=str_repeat(chr(32),12)."}\n"; - $strbasefile.=str_repeat(chr(32),8)."}\n"; - - $strbasefile.=str_repeat(chr(32),8)."public function fn_default_".$suffixobjname."()\n"; - $strbasefile.=str_repeat(chr(32),8)."{\n"; - $strbasefile.=str_repeat(chr(32),12)."echo ".chr(36)."this->FN_CREATEHEADER();\n\n"; - $strbasefile.=str_repeat(chr(32),12)."echo \"\";\n"; - $strbasefile.=str_repeat(chr(32),12)."echo \"\";\n"; - $strbasefile.=str_repeat(chr(32),12)."echo ".chr(36)."this->FN_CLOSEHEADER();\n"; - $strbasefile.=str_repeat(chr(32),12)."echo ".chr(36)."this->FN_CREATEBODY(\"e8f1ff\");\n\n"; - $strbasefile.=str_repeat(chr(32),12)."echo \"Your Module is still underconstruction.\";\n"; - $strbasefile.=str_repeat(chr(32),12)."echo ".chr(36)."this->FN_CREATEFOOTER();\n\n"; - $strbasefile.=str_repeat(chr(32),8)."}\n"; - - $strbasefile.=str_repeat(chr(32),4)."}\n"; - $strbasefile.="?>"; - fwrite($fl,$strbasefile); - fclose($fl); - - return true; - } - else - { - if(!file_exists(PATH_OBJECT."/$option/$obj_name.php")) - { - $spfile=explode("_",$option); - $basefile=$spfile[1]; - // === Create and write $obj_name.php - $spsuffix=explode("_",$obj_name); - $suffixobjname=$spsuffix[1]; - $fl=fopen(PATH_OBJECT."/$option/".$obj_name.".php","w"); - $strbasefile="dec(".chr(36)."task);}}\n\n"; - $strbasefile.=str_repeat(chr(32),12)."switch(".chr(36)."task)\n"; - $strbasefile.=str_repeat(chr(32),12)."{\n"; - //$strbasefile.=str_repeat(chr(32),16)."case \"save$suffixobjname\":\n\n"; - $strbasefile.=str_repeat(chr(32),16)."case \"default\":\n"; - $strbasefile.=str_repeat(chr(32),20)."".chr(36)."this->fn_default_$suffixobjname();\n"; - $strbasefile.=str_repeat(chr(32),16)."break;\n\n"; - $strbasefile.=str_repeat(chr(32),16)."case ".chr(36)."task:\n"; - $strbasefile.=str_repeat(chr(32),20)."".chr(36)."task=\"fn_\".".chr(36)."task;\n"; - $strbasefile.=str_repeat(chr(32),20)."if(method_exists(".chr(36)."this,".chr(36)."task)){".chr(36)."this->".chr(36)."task();}\n"; - $strbasefile.=str_repeat(chr(32),16)."break;\n\n"; - $strbasefile.=str_repeat(chr(32),16)."default:\n"; - $strbasefile.=str_repeat(chr(32),20)."".chr(36)."this->fn_default_$suffixobjname();\n"; - $strbasefile.=str_repeat(chr(32),16)."break;\n"; - $strbasefile.=str_repeat(chr(32),12)."}\n"; - $strbasefile.=str_repeat(chr(32),8)."}\n"; - - $strbasefile.=str_repeat(chr(32),8)."public function fn_default_".$suffixobjname."()\n"; - $strbasefile.=str_repeat(chr(32),8)."{\n"; - $strbasefile.=str_repeat(chr(32),12)."echo ".chr(36)."this->FN_CREATEHEADER();\n\n"; - $strbasefile.=str_repeat(chr(32),12)."echo \"\";\n"; - $strbasefile.=str_repeat(chr(32),12)."echo \"\";\n"; - $strbasefile.=str_repeat(chr(32),12)."echo ".chr(36)."this->FN_CLOSEHEADER();\n"; - $strbasefile.=str_repeat(chr(32),12)."echo ".chr(36)."this->FN_CREATEBODY(\"e8f1ff\");\n\n"; - $strbasefile.=str_repeat(chr(32),12)."echo \"Your Module is still underconstruction.\";\n"; - $strbasefile.=str_repeat(chr(32),12)."echo ".chr(36)."this->FN_CREATEFOOTER();\n\n"; - $strbasefile.=str_repeat(chr(32),8)."}\n"; - $strbasefile.=str_repeat(chr(32),4)."}\n"; - $strbasefile.="?>"; - fwrite($fl,$strbasefile); - fclose($fl); - return true; - } - else - { - $msg="Mohon maaf Module $obj_name sudah tersedia tidak bisa ditambahkan.
    TERIMA KASIH"; - //echo "dhtmlx.message({type:'error',text:'$msg'})"; - $this->errMsg=$msg; - return false; - } - } - - } - - public function SHOW_INFO_UPDATED($infomsg,$imginfo,$widthinfo) - { - if(!preg_match("/%/i",$widthinfo)){$widthinfo.="px";} - echo " - - - - - - - - - - - -
    INFO UPDATED
    "; - echo $this->CREATE_IMAGE($imginfo); // test - echo " "; - echo $infomsg; - echo "
    "; - } - - public function SHOW_POPUP_REMARK($url,$init=null) - { - // ***** Popup Window **************************************************** --> - echo "
    -
    - \"\""; - echo "    Mohon masukkan remark terlebih dahulu! -
    -
    - - - - - - - -
    "; - echo $this->CREATE_INPUT_OBJECT("text","txtremark$init","txtremark$init","onKeyPress=\"if(event.keyCode==13){btnset$init.click();}\"","style=\"width:98%;\""); - echo "
    "; - $event="if(txtremark$init.value==''){alert('Beri tanda (-) bila ingin dikosongkan TERIMA KASIH');txtremark$init.focus();return false;}"; - $event.="if(confirm('Data ingin di update?')){".$url.";popup$init.style.display='none';}"; - echo $this->CREATE_INPUT_OBJECT("button","btnset$init","btnset$init","onClick=\"$event\"","value=\" SET \""); - echo "
    -
    -
    "; - // ***** Info ************************************************************ --> - } - - public function CREATE_ICON_BUTTON_MODAL($event,$img,$title=null,$prop=null) - { - $sp=explode(".",$img); - if(count($sp)<=1){$img.=".png";} - //echo $sp[1]; - return " - - "; - } - - public function CREATE_ICON_BUTTON($event,$img,$title=null,$prop=null) - { - $sp=explode(".",$img); - if(count($sp)<=1){$img.=".png";} - //echo $sp[1]; - return " - - "; - } - - public function CREATE_ICON_BUTTON2($event,$img,$id,$name,$title=null) - { - $sp=explode(".",$img); - if(count($sp)<=1){$img.=".png";} - //echo $sp[1]; - return " - - "; - } - - public function CREATE_EXECUTE_BUTTON($event,$btntext,$title=null) - { - if(!$btntext){$btntext="Save";} - return " - $btntext - "; - } - - public function INFO_RECORD_NOT_FOUND($errmsg=null) - { - $msg="Record Not Found!"; - if($errmsg){$msg=$errmsg;} - return "$msg"; - } - - public function ANNOUNCEMENT() - { - $rtn=''; - $qry="select tgltayang,pengumuman from ".DB_APORTIL.".tbl_pengumuman where isactivated=1 and isdeleted=0 order by id asc"; - $rsann=$this->selectquery($qry); - if($rsann) - { - $pengumuman="Mohon Maaf Pengumuman Belum Tersedia. TERIMA KASIH"; - if($this->REC_ROWS_COUNT($rsann)>0) - { - $tgltayang="";$content="";$pengumuman=""; - while($rw=$this->data_row_object($rsann)) - { - $tgltayang=date("Y-m-d H:i:s",strtotime($rw->tgltayang)); - $content=addslashes($rw->pengumuman); - $pengumuman.="".$tgltayang." ".$content.str_repeat(" ",10); - } - } - $rtn="
    - Pengumuman : -
    - - $pengumuman - -
    -
    "; - - } - $this->clearrecordset($rsann); - return $rtn; - } - - public function PAGING_TABLE($COMBO_PAGE_NAME,$EVENT,$LIMIT_PAGE,$TOTAL_ROWS,$PAGE_SELECTED=null,$ARRPROP="",$aliasobj=null) - { - //$nameobjnext="a_next";$nameobjprev="a_prev"; -// $namedivpaging="div_paging"; -// $namepagecount="txtpagecount"; -// $nameimgnext="imgnext"; -// $nameimgprev="imgprev"; - $nameobjnext="a_next".$aliasobj;$nameobjprev="a_prev".$aliasobj; - $namedivpaging="div_paging".$aliasobj; - $namepagecount="txtpagecount".$aliasobj; - $nameimgnext="imgnext".$aliasobj; - $nameimgprev="imgprev".$aliasobj; - if(is_array($ARRPROP)) - { - //$i;return false; - foreach($ARRPROP as $NAMES=>$VALUES) - { - if(strtolower($NAMES)=='name_next'){$nameobjnext=$VALUES;} - if(strtolower($NAMES)=='name_prev'){$nameobjprev=$VALUES;} - if(strtolower($NAMES)=='name_divpaging'){$namedivpaging=$VALUES;} - if(strtolower($NAMES)=='name_pagecount'){$namepagecount=$VALUES;} - if(strtolower($NAMES)=='name_imgnext'){$nameimgnext=$VALUES;} - if(strtolower($NAMES)=='name_imgprev'){$nameimgprev=$VALUES;} - } - } - $LAST_PAGE=0; - if($LIMIT_PAGE!==0&&$TOTAL_ROWS!==0){$LAST_PAGE=ceil($TOTAL_ROWS/$LIMIT_PAGE);} - // ============ set url prev and next button - $url_prev=str_replace("this.value","$COMBO_PAGE_NAME.options[$COMBO_PAGE_NAME.selectedIndex-1].value",$EVENT); - //$url_prev=str_replace("this.value","$COMBO_PAGE_NAME.options[$('select[name='$COMBO_PAGE_NAME'] option:selected').index()-1].value",$EVENT); - $url_prev.=";$COMBO_PAGE_NAME.selectedIndex=$COMBO_PAGE_NAME.selectedIndex-1;pagesymbolview($COMBO_PAGE_NAME.options[$COMBO_PAGE_NAME.selectedIndex].text,'$nameobjnext','$nameobjprev','$namepagecount','$nameimgnext','$nameimgprev');"; - - //$("select[name='CCards'] option:selected").index() - $url_next=str_replace("this.value","$COMBO_PAGE_NAME.options[$COMBO_PAGE_NAME.selectedIndex+1].value",$EVENT); - //$url_next=str_replace("this.value","$COMBO_PAGE_NAME.options[$('select[name='$COMBO_PAGE_NAME'] option:selected').index()+1].value",$EVENT); - //$url_next.=";$COMBO_PAGE_NAME.selectedIndex=$COMBO_PAGE_NAME.selectedIndex+1;pagesymbolview($COMBO_PAGE_NAME.options[$COMBO_PAGE_NAME.selectedIndex].text,'$nameobjnext','$nameobjprev','$namepagecount','$nameimgnext','$nameimgprev');"; - $url_next.=";$COMBO_PAGE_NAME.selectedIndex=$COMBO_PAGE_NAME.selectedIndex+1;pagesymbolview($COMBO_PAGE_NAME.options[$COMBO_PAGE_NAME.selectedIndex].text,'$nameobjnext','$nameobjprev','$namepagecount','$nameimgnext','$nameimgprev');"; - // ============ filter Selected page - if($PAGE_SELECTED==0||!$PAGE_SELECTED){$PAGE_SELECTED=1;} - else - {$PAGE_SELECTED=($PAGE_SELECTED/$LIMIT_PAGE)+1;} - - //echo $EVENT; - echo "
    - Page "; - $disabledprevious="disabled"; - if($PAGE_SELECTED>1 && $PAGE_SELECTED<=$LAST_PAGE){$disabledprevious="";} // ===== symbol << - echo " - - "; - //echo $EVENT; - echo "  "; - $disablednext="disabled";$imgnext="application_next_disabled.png";$titlenext="Disabled"; - if($PAGE_SELECTED==1&&$i>1){$disablednext="";$imgnext="application_next_active.png";$titlenext="Next";} // ===== symbol >> - echo " - -  of ".$LAST_PAGE; - echo "
    "; - } - - //public function PAGING_TABLE($COMBO_PAGE_NAME,$EVENT,$LIMIT_PAGE,$TOTAL_ROWS,$PAGE_SELECTED=null) - //{ - // echo ""; -// $LAST_PAGE=0; -// if($LIMIT_PAGE!==0&&$TOTAL_ROWS!==0){$LAST_PAGE=ceil($TOTAL_ROWS/$LIMIT_PAGE);} - // ============ set url prev and next button -// $url_prev=str_replace("this.value","$COMBO_PAGE_NAME.options[$COMBO_PAGE_NAME.selectedIndex-1].value",$EVENT); -// $url_prev.=";$COMBO_PAGE_NAME.selectedIndex=$COMBO_PAGE_NAME.selectedIndex-1;pagesymbolview($COMBO_PAGE_NAME.options[$COMBO_PAGE_NAME.selectedIndex].text);"; -// -// $url_next=str_replace("this.value","$COMBO_PAGE_NAME.options[$COMBO_PAGE_NAME.selectedIndex+1].value",$EVENT); -// $url_next.=";$COMBO_PAGE_NAME.selectedIndex=$COMBO_PAGE_NAME.selectedIndex+1;pagesymbolview($COMBO_PAGE_NAME.options[$COMBO_PAGE_NAME.selectedIndex].text);"; - // ============ filter Selected page -// if($PAGE_SELECTED==0||!$PAGE_SELECTED){$PAGE_SELECTED=1;} -// else -// {$PAGE_SELECTED=($PAGE_SELECTED/$LIMIT_PAGE)+1;} -// -// echo "
    -// Page "; -// $disabledprevious="disabled"; -// if($PAGE_SELECTED>1 && $PAGE_SELECTED<=$LAST_PAGE){$disabledprevious="";} // ===== symbol << -// echo " -// -// "; - //echo $EVENT; -// echo "  "; -// $disablednext="disabled";$imgnext="application_next_disabled.png";$titlenext="Disabled"; -// if($PAGE_SELECTED==1&&$i>1){$disablednext="";$imgnext="application_next_active.png";$titlenext="Next";} // ===== symbol >> -// echo " -// -// of ".$LAST_PAGE; -// echo "
    "; -// } - - public function SHOW_TEXTRUPIAHS($xpos,$ypos) - { - echo ""; - } - - public function SHOW_POPUPTEXT($xpos,$ypos,$objdisplay) - { - echo ""; - } - - public function CREATE_COMBOSTRAP($comboname,$arr_or_query,$event,$withoutindex1=null,$valselected=null,$propertyonARRAY=null) - { - $styleprop=""; - if($propertyonARRAY) - { - foreach($propertyonARRAY as $arr=>$arrvalue) - { - $styleprop.=$arr.$arrvalue." "; - } - } - $withclass=false; - if(preg_match("/^class/",$styleprop)){$withclass=true;} - $rtn=""; - return $rtn; - } - - public function CREATE_COMBO($comboname,$arr_or_query,$event,$withoutindex1=null,$valselected=null,$propertyonARRAY=null) - { - $styleprop=""; - if($propertyonARRAY) - { - foreach($propertyonARRAY as $arr=>$arrvalue) - { - $styleprop.=$arr.$arrvalue." "; - } - } - $rtn=""; - return $rtn; - } - - public function CONVEDATETOMYSQL($datevalue) - { - $dtsplit=explode("/",$datevalue); - return $dtsplit[2]."-".$dtsplit[1]."-".$dtsplit[0]; //conversi date format d/m/Y ke YYYY-mm-dd - } - - public function mosRedirect($url, $msg='' ) - { - if(trim($msg)) - { - if(strpos($url, '?' )) - {$url.= "&mosmsg=$msg";} - else - {$url.= "?mosmsg=$msg";} - } - if(headers_sent()) - {echo "\n";} - else - {header("Location: $url" );} - exit(); - } - - } -?> diff --git a/controller/libinterconn.php b/controller/libinterconn.php deleted file mode 100644 index 0e1fbf4..0000000 --- a/controller/libinterconn.php +++ /dev/null @@ -1,215 +0,0 @@ -inconn=array("HC"=>array("IP"=>"172.17.12.17","USER"=>"root","PASS"=>"p@ssw0rd2021","DB"=>"hrdwh_tcel"), - "MS"=>array("IP"=>"172.17.12.77","USER"=>"teldigthon","PASS"=>"teezdumk","DB"=>"redirector"), - "ANC"=>array("IP"=>"172.20.25.26/bonteng","USER"=>"crs","PASS"=>"tcel#crs","DB"=>"crs") - ); - if($CONNAME) - { - if($dbtype=='mysql') - { - $this->dbcon=mysql_connect($this->inconn[$CONNAME]["IP"],$this->inconn[$CONNAME]["USER"],$this->inconn[$CONNAME]["PASS"],$this->inconn[$CONNAME]["DB"]); - mysql_select_db($this->inconn[$CONNAME]["DB"],$this->dbcon); - } - if($dbtype=='oci') - { - //$this->dbcon=oci_connect('crs', 'tcel#crs', '172.20.25.26/bonteng'); - $this->dbconORC=oci_connect($this->inconn[$CONNAME]["USER"], $this->inconn[$CONNAME]["PASS"], $this->inconn[$CONNAME]["IP"]); - } - - } - } - - public function selectquery($query,$mysql_error=null) - { - $rsqry=@mysql_query($query,$this->dbcon); - if(!$mysql_error){$mysql_error=mysql_error();} - if(!$rsqry){echo $mysql_error;return false;} - return $rsqry; - } - - public function selectqueryORC($query,$orc_error=null) - { - //echo $this->dbconORC." db";return false; - $rsqry=oci_parse($this->dbconORC,$query); - oci_execute($rsqry); - return $rsqry; - } - - public function fn_row_isexists($query) - { - $rtn=false; - $rschk=$this->selectquery($query,$this->dbcon); - if($rschk) - { - if(mysql_num_rows($rschk)>0){$rtn=true;} - } - $this->clearrecordset($rschk); - return $rtn; - } - - public function fn_row_isexistsORC($query) - { - $rtn=false; - $rschk=$this->selectqueryORC($query,$this->dbconORC); - if($rschk) - { - //if(mysql_num_rows($rschk)>0){$rtn=true;} - if(oci_num_rows($rschk)>0){$rtn=true;} - } - $this->clearrecordsetORC($rschk); - return $rtn; - } - - public function data_row_object($recordset) - { - return mysql_fetch_object($recordset); - } - - public function data_row_objectORC($recordset) - { - return oci_fetch_object($recordset); - } - - public function data_row_array($recordset) - { - return mysql_fetch_array($recordset); - } - - public function data_row_arrayORC($recordset) - { - return oci_fetch_array($recordset, OCI_BOTH+OCI_RETURN_NULLS); - } - - public function field_length($recordset) - { - return mysql_num_fields($recordset); - } - - public function field_lengthORC($recordset) - { - return oci_num_fields($recordset); - } - - public function getErrorQuery() - { - return $this->errquery; - } - - public function executequery($query) - { - if(mysql_query($query,$this->dbcon)) - {return true;} - else - {$this->errquery=mysql_error(); die(mysql_error());return false;} - } - - public function executequeryORC($query) - { - $rsqry=oci_parse($this->dbconORC,$query); - $res=oci_execute($rsqry); - if($res) - {oci_commit($this->dbconORC);return true;} - else - {$this->errquery=oci_error(); die(oci_error());return false;} - } - - public function REC_ROWS_COUNT($recordset){return mysql_num_rows($recordset);} - - public function REC_ROWS_COUNTORC($recordset){return oci_num_rows($recordset);} - - public function fn_get_fieldvalue($fieldname,$query) - { - $rtn=''; - $rsgetvalue=mysql_query($query,$this->dbcon) or die(mysql_error()); - if($rsgetvalue) - { - if(mysql_num_rows($rsgetvalue)>0) - { - $rw=mysql_fetch_object($rsgetvalue); - $rtn=$rw->$fieldname; - } - } - $this->clearrecordset($rsgetvalue); - return $rtn; - } - - public function fn_get_fieldvalueORC($fieldname,$query) - { - $rtn=''; - $rsgetvalue=$this->selectqueryORC($query,$this->dbconORC); - if($rsgetvalue) - { - //if(mysql_num_rows($rschk)>0){$rtn=true;} - if(oci_num_rows($rsgetvalue)>0) - { - $rw=oci_fetch_object($rsgetvalue); - $rtn=$rw->$fieldname; - } - } - $this->clearrecordsetORC($rsgetvalue); - return $rtn; - } - - public function fn_get_fieldsvalues($fieldsname,$query) - { - $rtn=''; - $spfields=explode(",",trim($fieldsname)); - $rsgetvalue=$this->selectquery($query,$this->dbcon); - if($rsgetvalue) - { - if(mysql_num_rows($rsgetvalue)>0) - { - $rw=mysql_fetch_object($rsgetvalue); - for($i=0;$i<=count($spfields)-1;$i++) - { - $rtn.=$rw->$spfields[$i]."|"; - } - $rtn=substr($rtn,0,strlen($rtn)-1); - } - } - $this->clearrecordset($rsgetvalue); - $rtn=explode("|",$rtn); - - return $rtn; - } - - public function fn_get_fieldsvaluesORC($fieldsname,$query) - { - $rtn=''; - $spfields=explode(",",trim($fieldsname)); - $rsgetvalue=$this->selectquery($query,$this->dbconORC); - if($rsgetvalue) - { - if(oci_num_rows($rsgetvalue)>0) - { - $rw=oci_fetch_object($rsgetvalue); - for($i=0;$i<=count($spfields)-1;$i++) - { - $rtn.=$rw->$spfields[$i]."|"; - } - $rtn=substr($rtn,0,strlen($rtn)-1); - } - } - $this->clearrecordsetORC($rsgetvalue); - $rtn=explode("|",$rtn); - - return $rtn; - } - - public function clearrecordset($recordset) - { - if($recordset){mysql_free_result($recordset);} - } - - public function clearrecordsetORC($recordset) - { - if($recordset){oci_free_statement($recordset);} - } - } - -?> diff --git a/controller/libmsginfo.php b/controller/libmsginfo.php deleted file mode 100644 index ab0f486..0000000 --- a/controller/libmsginfo.php +++ /dev/null @@ -1,16 +0,0 @@ -style="width:40%;left:28%;top:0px;position:fixed;"; - if($STYLE){$this->style=$STYLE;} - return "
    style."\"> - - $HEADERMSG $MSG -
    "; - - } - } -?> diff --git a/includes/dtpick/datediff.js b/includes/dtpick/datediff.js deleted file mode 100644 index 25781c8..0000000 --- a/includes/dtpick/datediff.js +++ /dev/null @@ -1,107 +0,0 @@ -// JScript source code - var DayName=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]; - - - - var oneMinute=1000*60; - - var intervalObject=new Object(); - intervalObject["yyyy"]={units:1000*60*60*24*365,measure:"year"}; - intervalObject["m"]={units:1000*60*60*24*30,measure:"month"}; - intervalObject["d"]={units:1000*60*60*24,measure:"day"}; - intervalObject["Q"]={units:intervalObject["m"].units*3,measure:"quarter"}; - intervalObject["H"]={units:oneMinute*60,measure:"hour"}; - intervalObject["N"]={units:oneMinute,measure:"minute"}; - intervalObject["S"]={units:1000,measure:"second"}; - - - function DateDiff(dateAddObj){ - this.interval=dateAddObj.interval; - this.date1=dateAddObj.date1; - this.date2=dateAddObj.date2; - this.calculate=calculate; - this.calculate(); - } - - Date.prototype.DateDiff=DateDiff; - - - - - function calculate(){ - var paramDate1=new String(this.date1); - splitDate1=paramDate1.split("-"); - paramDateYear1=splitDate1[0]; - paramDateMonth1=splitDate1[1]-1; - paramDateDay1=splitDate1[2]; - if(paramDateMonth1>12){ - alert("Invalid Month!"); - return false; - } - if(paramDateDay1>31){ - alert("Invalid Day!"); - return false; - } - - - var paramDate2=new String(this.date2); - splitDate2=paramDate2.split("-"); - paramDateYear2=splitDate2[0]; - paramDateMonth2=splitDate2[1]-1; - paramDateDay2=splitDate2[2]; - if(paramDateMonth2>12){ - alert("Invalid Month!"); - return false; - } - if(paramDateDay2>31){ - alert("Invalid Day!"); - return false; - } - - - var paramDate1Object=new Date(paramDateYear1,paramDateMonth1,paramDateDay1); - paramDate1Object.setHours(0); - paramDate1Object.setMinutes(0); - paramDate1Object.setSeconds(0); - //paramDate1Object.getTimezoneOffset() * oneMinute; - var paramDate1ObjectTime=paramDate1Object.getTime(); - - - var paramDate2Object=new Date(paramDateYear2,paramDateMonth2,paramDateDay2); - paramDate2Object.setHours(0); - paramDate2Object.setMinutes(0); - paramDate2Object.setSeconds(0); - var paramDate2ObjectTime=paramDate2Object.getTime(); - - if(paramDate2Object>paramDate1Object){ - DSTAdjust=(paramDate2Object.getTimezoneOffset() - paramDate1Object.getTimezoneOffset()) * oneMinute; - - } - else{ - DSTAdjust=(paramDate1Object.getTimezoneOffset() - paramDate2Object.getTimezoneOffset()) * oneMinute; - } - - if(typeof intervalObject[this.interval]!="undefined"){ - if(typeof intervalObject[this.interval].units=="undefined"){ - alert("Interval is invalid!"); - return false; - } - - var diff=Math.abs(paramDate2ObjectTime-paramDate1ObjectTime) - DSTAdjust; - var timeDiff=Math.floor(diff/intervalObject[this.interval].units); - if(timeDiff>1){ - var rname=intervalObject[this.interval].measure + "s"; - } - else{ - var rname=intervalObject[this.interval].measure; - } - - this.difference=parseInt(timeDiff); - } - else{ - this.difference="Wrong format of interval!"; - - } - - } - diff --git a/includes/dtpick/flora.datepicker.css b/includes/dtpick/flora.datepicker.css deleted file mode 100644 index 68a31e5..0000000 --- a/includes/dtpick/flora.datepicker.css +++ /dev/null @@ -1,216 +0,0 @@ -/* Main Flora Style Sheet for jQuery UI ui-datepicker */ -#ui-datepicker-div, .ui-datepicker-inline { - font-family: Arial,Helvetica,sans-serif; - font-size: 14px; - padding: 0; - margin: 0; - background: #E0F4D7; - width: 185px; -} -#ui-datepicker-div { - display: none; - border: 1px solid #FF9900; - z-index: 10; -} -.ui-datepicker-inline { - float: left; - display: block; - border: 0; -} -.ui-datepicker-rtl { - direction: rtl; -} -.ui-datepicker-dialog { - padding: 5px !important; - border: 4px ridge #83C948 !important; -} -button.ui-datepicker-trigger { - width: 25px; -} -img.ui-datepicker-trigger { - margin: 2px; - vertical-align: middle; -} -.ui-datepicker-prompt { - float: left; - padding: 2px; - background: #E0F4D7; - color: #000; -} -*html .ui-datepicker-prompt { - width: 185px; -} -.ui-datepicker-control, .ui-datepicker-links, .ui-datepicker-header, .ui-datepicker { - clear: both; - float: left; - width: 100%; - color: #FFF; -} -.ui-datepicker-control { - background: #FF9900; - padding: 2px 0px; -} -.ui-datepicker-links { - background: #E0F4D7; - padding: 2px 0px; -} -.ui-datepicker-control, .ui-datepicker-links { - font-weight: bold; - font-size: 80%; - letter-spacing: 1px; -} -.ui-datepicker-links label { - padding: 2px 5px; - color: #888; -} -.ui-datepicker-clear, .ui-datepicker-prev { - float: left; - width: 34%; -} -.ui-datepicker-rtl .ui-datepicker-clear, .ui-datepicker-rtl .ui-datepicker-prev { - float: right; - text-align: right; -} -.ui-datepicker-current { - float: left; - width: 30%; - text-align: center; -} -.ui-datepicker-close, .ui-datepicker-next { - float: right; - width: 34%; - text-align: right; -} -.ui-datepicker-rtl .ui-datepicker-close, .ui-datepicker-rtl .ui-datepicker-next { - float: left; - text-align: left; -} -.ui-datepicker-header { - padding: 1px 0 3px; - background: #83C948; - text-align: center; - font-weight: bold; - height: 1.3em; -} -.ui-datepicker-header select { - background: #83C948; - color: #000; - border: 0px; - font-weight: bold; -} -.ui-datepicker { - background: #CCC; - text-align: center; - font-size: 100%; -} -.ui-datepicker a { - display: block; - width: 100%; -} -.ui-datepicker-title-row { - background: #B1DB87; - color: #000; -} -.ui-datepicker-title-row .ui-datepicker-week-end-cell { - background: #B1DB87; -} -.ui-datepicker-days-row { - background: #FFF; - color: #666; -} -.ui-datepicker-week-col { - background: #B1DB87; - color: #000; -} -.ui-datepicker-days-cell { - color: #000; - border: 1px solid #DDD; -} -.ui-datepicker-days-cell a { - display: block; -} -.ui-datepicker-week-end-cell { - background: #E0F4D7; -} -.ui-datepicker-unselectable { - color: #888; -} -.ui-datepicker-week-over, .ui-datepicker-week-over .ui-datepicker-week-end-cell { - background: #B1DB87 !important; -} -.ui-datepicker-days-cell-over, .ui-datepicker-days-cell-over.ui-datepicker-week-end-cell { - background: #FFF !important; - border: 1px solid #777; -} -* html .ui-datepicker-title-row .ui-datepicker-week-end-cell { - background: #B1DB87 !important; -} -* html .ui-datepicker-week-end-cell { - background: #E0F4D7 !important; - border: 1px solid #DDD !important; -} -* html .ui-datepicker-days-cell-over { - background: #FFF !important; - border: 1px solid #777 !important; -} -* html .ui-datepicker-current-day { - background: #83C948 !important; -} -.ui-datepicker-today { - background: #B1DB87 !important; -} -.ui-datepicker-current-day { - background: #83C948 !important; -} -.ui-datepicker-status { - background: #E0F4D7; - width: 100%; - font-size: 80%; - text-align: center; -} -#ui-datepicker-div a, .ui-datepicker-inline a { - cursor: pointer; - margin: 0; - padding: 0; - background: none; - color: #000; -} -.ui-datepicker-inline .ui-datepicker-links a { - padding: 0 5px !important; -} -.ui-datepicker-control a, .ui-datepicker-links a { - padding: 2px 5px !important; - color: #000 !important; -} -.ui-datepicker-title-row a { - color: #000 !important; -} -.ui-datepicker-control a:hover { - background: #FDD !important; - color: #333 !important; -} -.ui-datepicker-links a:hover, .ui-datepicker-title-row a:hover { - background: #FFF !important; - color: #333 !important; -} -.ui-datepicker-multi .ui-datepicker { - border: 1px solid #83C948; -} -.ui-datepicker-one-month { - float: left; - width: 185px; -} -.ui-datepicker-new-row { - clear: left; -} -.ui-datepicker-cover { - display: none; - display/**/: block; - position: absolute; - z-index: -1; - filter: mask(); - top: -4px; - left: -4px; - width: 193px; - height: 200px; -} diff --git a/includes/dtpick/jquery-ui.js b/includes/dtpick/jquery-ui.js deleted file mode 100644 index 0370f35..0000000 --- a/includes/dtpick/jquery-ui.js +++ /dev/null @@ -1,10228 +0,0 @@ -/* - * jQuery UI 1.6rc2 - - * - * Copyright (c) 2008 Paul Bakaus (ui.jquery.com) - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * http://docs.jquery.com/UI - */ -;(function($) { - -/** jQuery core modifications and additions **/ - -var _remove = $.fn.remove; -$.fn.remove = function() { - $("*", this).add(this).triggerHandler("remove"); - return _remove.apply(this, arguments ); -}; - -function isVisible(element) { - function checkStyles(element) { - var style = element.style; - return (style.display != 'none' && style.visibility != 'hidden'); - } - - var visible = checkStyles(element); - - (visible && $.each($.dir(element, 'parentNode'), function() { - return (visible = checkStyles(this)); - })); - - return visible; -} - -$.extend($.expr[':'], { - data: function(a, i, m) { - return $.data(a, m[3]); - }, - - // TODO: add support for object, area - tabbable: function(a, i, m) { - var nodeName = a.nodeName.toLowerCase(); - - return ( - // in tab order - a.tabIndex >= 0 && - - ( // filter node types that participate in the tab order - - // anchor tag - ('a' == nodeName && a.href) || - - // enabled form element - (/input|select|textarea|button/.test(nodeName) && - 'hidden' != a.type && !a.disabled) - ) && - - // visible on page - isVisible(a) - ); - } -}); - -$.keyCode = { - BACKSPACE: 8, - CAPS_LOCK: 20, - COMMA: 188, - CONTROL: 17, - DELETE: 46, - DOWN: 40, - END: 35, - ENTER: 13, - ESCAPE: 27, - HOME: 36, - INSERT: 45, - LEFT: 37, - NUMPAD_ADD: 107, - NUMPAD_DECIMAL: 110, - NUMPAD_DIVIDE: 111, - NUMPAD_ENTER: 108, - NUMPAD_MULTIPLY: 106, - NUMPAD_SUBTRACT: 109, - PAGE_DOWN: 34, - PAGE_UP: 33, - PERIOD: 190, - RIGHT: 39, - SHIFT: 16, - SPACE: 32, - TAB: 9, - UP: 38 -}; - -// $.widget is a factory to create jQuery plugins -// taking some boilerplate code out of the plugin code -// created by Scott González and Jörn Zaefferer -function getter(namespace, plugin, method, args) { - function getMethods(type) { - var methods = $[namespace][plugin][type] || []; - return (typeof methods == 'string' ? methods.split(/,?\s+/) : methods); - } - - var methods = getMethods('getter'); - if (args.length == 1 && typeof args[0] == 'string') { - methods = methods.concat(getMethods('getterSetter')); - } - return ($.inArray(method, methods) != -1); -} - -$.widget = function(name, prototype) { - var namespace = name.split(".")[0]; - name = name.split(".")[1]; - - // create plugin method - $.fn[name] = function(options) { - var isMethodCall = (typeof options == 'string'), - args = Array.prototype.slice.call(arguments, 1); - - // prevent calls to internal methods - if (isMethodCall && options.substring(0, 1) == '_') { - return this; - } - - // handle getter methods - if (isMethodCall && getter(namespace, name, options, args)) { - var instance = $.data(this[0], name); - return (instance ? instance[options].apply(instance, args) - : undefined); - } - - // handle initialization and non-getter methods - return this.each(function() { - var instance = $.data(this, name); - - // constructor - (!instance && !isMethodCall && - $.data(this, name, new $[namespace][name](this, options))); - - // method call - (instance && isMethodCall && $.isFunction(instance[options]) && - instance[options].apply(instance, args)); - }); - }; - - // create widget constructor - $[namespace][name] = function(element, options) { - var self = this; - - this.widgetName = name; - this.widgetEventPrefix = $[namespace][name].eventPrefix || name; - this.widgetBaseClass = namespace + '-' + name; - - this.options = $.extend({}, - $.widget.defaults, - $[namespace][name].defaults, - $.metadata && $.metadata.get(element)[name], - options); - - this.element = $(element) - .bind('setData.' + name, function(e, key, value) { - return self._setData(key, value); - }) - .bind('getData.' + name, function(e, key) { - return self._getData(key); - }) - .bind('remove', function() { - return self.destroy(); - }); - - this._init(); - }; - - // add widget prototype - $[namespace][name].prototype = $.extend({}, $.widget.prototype, prototype); - - // TODO: merge getter and getterSetter properties from widget prototype - // and plugin prototype - $[namespace][name].getterSetter = 'option'; -}; - -$.widget.prototype = { - _init: function() {}, - destroy: function() { - this.element.removeData(this.widgetName); - }, - - option: function(key, value) { - var options = key, - self = this; - - if (typeof key == "string") { - if (value === undefined) { - return this._getData(key); - } - options = {}; - options[key] = value; - } - - $.each(options, function(key, value) { - self._setData(key, value); - }); - }, - _getData: function(key) { - return this.options[key]; - }, - _setData: function(key, value) { - this.options[key] = value; - - if (key == 'disabled') { - this.element[value ? 'addClass' : 'removeClass']( - this.widgetBaseClass + '-disabled'); - } - }, - - enable: function() { - this._setData('disabled', false); - }, - disable: function() { - this._setData('disabled', true); - }, - - _trigger: function(type, e, data) { - var eventName = (type == this.widgetEventPrefix - ? type : this.widgetEventPrefix + type); - e = e || $.event.fix({ type: eventName, target: this.element[0] }); - return this.element.triggerHandler(eventName, [e, data], this.options[type]); - } -}; - -$.widget.defaults = { - disabled: false -}; - - -/** jQuery UI core **/ - -$.ui = { - plugin: { - add: function(module, option, set) { - var proto = $.ui[module].prototype; - for(var i in set) { - proto.plugins[i] = proto.plugins[i] || []; - proto.plugins[i].push([option, set[i]]); - } - }, - call: function(instance, name, args) { - var set = instance.plugins[name]; - if(!set) { return; } - - for (var i = 0; i < set.length; i++) { - if (instance.options[set[i][0]]) { - set[i][1].apply(instance.element, args); - } - } - } - }, - cssCache: {}, - css: function(name) { - if ($.ui.cssCache[name]) { return $.ui.cssCache[name]; } - var tmp = $('
    ').addClass(name).css({position:'absolute', top:'-5000px', left:'-5000px', display:'block'}).appendTo('body'); - - //if (!$.browser.safari) - //tmp.appendTo('body'); - - //Opera and Safari set width and height to 0px instead of auto - //Safari returns rgba(0,0,0,0) when bgcolor is not set - $.ui.cssCache[name] = !!( - (!(/auto|default/).test(tmp.css('cursor')) || (/^[1-9]/).test(tmp.css('height')) || (/^[1-9]/).test(tmp.css('width')) || - !(/none/).test(tmp.css('backgroundImage')) || !(/transparent|rgba\(0, 0, 0, 0\)/).test(tmp.css('backgroundColor'))) - ); - try { $('body').get(0).removeChild(tmp.get(0)); } catch(e){} - return $.ui.cssCache[name]; - }, - disableSelection: function(el) { - return $(el) - .attr('unselectable', 'on') - .css('MozUserSelect', 'none') - .bind('selectstart.ui', function() { return false; }); - }, - enableSelection: function(el) { - return $(el) - .attr('unselectable', 'off') - .css('MozUserSelect', '') - .unbind('selectstart.ui'); - }, - hasScroll: function(e, a) { - - //If overflow is hidden, the element might have extra content, but the user wants to hide it - if ($(e).css('overflow') == 'hidden') { return false; } - - var scroll = (a && a == 'left') ? 'scrollLeft' : 'scrollTop', - has = false; - - if (e[scroll] > 0) { return true; } - - // TODO: determine which cases actually cause this to happen - // if the element doesn't have the scroll set, see if it's possible to - // set the scroll - e[scroll] = 1; - has = (e[scroll] > 0); - e[scroll] = 0; - return has; - } -}; - - -/** Mouse Interaction Plugin **/ - -$.ui.mouse = { - _mouseInit: function() { - var self = this; - - this.element.bind('mousedown.'+this.widgetName, function(e) { - return self._mouseDown(e); - }); - - // Prevent text selection in IE - if ($.browser.msie) { - this._mouseUnselectable = this.element.attr('unselectable'); - this.element.attr('unselectable', 'on'); - } - - this.started = false; - }, - - // TODO: make sure destroying one instance of mouse doesn't mess with - // other instances of mouse - _mouseDestroy: function() { - this.element.unbind('.'+this.widgetName); - - // Restore text selection in IE - ($.browser.msie - && this.element.attr('unselectable', this._mouseUnselectable)); - }, - - _mouseDown: function(e) { - // we may have missed mouseup (out of window) - (this._mouseStarted && this._mouseUp(e)); - - this._mouseDownEvent = e; - - var self = this, - btnIsLeft = (e.which == 1), - elIsCancel = (typeof this.options.cancel == "string" ? $(e.target).parents().add(e.target).filter(this.options.cancel).length : false); - if (!btnIsLeft || elIsCancel || !this._mouseCapture(e)) { - return true; - } - - this.mouseDelayMet = !this.options.delay; - if (!this.mouseDelayMet) { - this._mouseDelayTimer = setTimeout(function() { - self.mouseDelayMet = true; - }, this.options.delay); - } - - if (this._mouseDistanceMet(e) && this._mouseDelayMet(e)) { - this._mouseStarted = (this._mouseStart(e) !== false); - if (!this._mouseStarted) { - e.preventDefault(); - return true; - } - } - - // these delegates are required to keep context - this._mouseMoveDelegate = function(e) { - return self._mouseMove(e); - }; - this._mouseUpDelegate = function(e) { - return self._mouseUp(e); - }; - $(document) - .bind('mousemove.'+this.widgetName, this._mouseMoveDelegate) - .bind('mouseup.'+this.widgetName, this._mouseUpDelegate); - - return false; - }, - - _mouseMove: function(e) { - // IE mouseup check - mouseup happened when mouse was out of window - if ($.browser.msie && !e.button) { - return this._mouseUp(e); - } - - if (this._mouseStarted) { - this._mouseDrag(e); - return false; - } - - if (this._mouseDistanceMet(e) && this._mouseDelayMet(e)) { - this._mouseStarted = - (this._mouseStart(this._mouseDownEvent, e) !== false); - (this._mouseStarted ? this._mouseDrag(e) : this._mouseUp(e)); - } - - return !this._mouseStarted; - }, - - _mouseUp: function(e) { - $(document) - .unbind('mousemove.'+this.widgetName, this._mouseMoveDelegate) - .unbind('mouseup.'+this.widgetName, this._mouseUpDelegate); - - if (this._mouseStarted) { - this._mouseStarted = false; - this._mouseStop(e); - } - - return false; - }, - - _mouseDistanceMet: function(e) { - return (Math.max( - Math.abs(this._mouseDownEvent.pageX - e.pageX), - Math.abs(this._mouseDownEvent.pageY - e.pageY) - ) >= this.options.distance - ); - }, - - _mouseDelayMet: function(e) { - return this.mouseDelayMet; - }, - - // These are placeholder methods, to be overriden by extending plugin - _mouseStart: function(e) {}, - _mouseDrag: function(e) {}, - _mouseStop: function(e) {}, - _mouseCapture: function(e) { return true; } -}; - -$.ui.mouse.defaults = { - cancel: null, - distance: 1, - delay: 0 -}; - -})(jQuery); -/* - * jQuery UI Draggable 1.6rc2 - - * - * Copyright (c) 2008 Paul Bakaus - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * http://docs.jquery.com/UI/Draggables - * - * Depends: - * ui.core.js - */ -(function($) { - -$.widget("ui.draggable", $.extend({}, $.ui.mouse, { - - getHandle: function(e) { - - var handle = !this.options.handle || !$(this.options.handle, this.element).length ? true : false; - $(this.options.handle, this.element) - .find("*") - .andSelf() - .each(function() { - if(this == e.target) handle = true; - }); - - return handle; - - }, - - createHelper: function() { - - var o = this.options; - var helper = $.isFunction(o.helper) ? $(o.helper.apply(this.element[0], [e])) : (o.helper == 'clone' ? this.element.clone() : this.element); - - if(!helper.parents('body').length) - helper.appendTo((o.appendTo == 'parent' ? this.element[0].parentNode : o.appendTo)); - - if(helper[0] != this.element[0] && !(/(fixed|absolute)/).test(helper.css("position"))) - helper.css("position", "absolute"); - - return helper; - - }, - - - _init: function() { - - if (this.options.helper == 'original' && !(/^(?:r|a|f)/).test(this.element.css("position"))) - this.element[0].style.position = 'relative'; - - (this.options.cssNamespace && this.element.addClass(this.options.cssNamespace+"-draggable")); - (this.options.disabled && this.element.addClass('ui-draggable-disabled')); - - this._mouseInit(); - - }, - - _mouseCapture: function(e) { - - var o = this.options; - - if (this.helper || o.disabled || $(e.target).is('.ui-resizable-handle')) - return false; - - //Quit if we're not on a valid handle - this.handle = this.getHandle(e); - if (!this.handle) - return false; - - return true; - - }, - - _mouseStart: function(e) { - - var o = this.options; - - //Create and append the visible helper - this.helper = this.createHelper(); - - //If ddmanager is used for droppables, set the global draggable - if($.ui.ddmanager) - $.ui.ddmanager.current = this; - - /* - * - Position generation - - * This block generates everything position related - it's the core of draggables. - */ - - this.margins = { //Cache the margins - left: (parseInt(this.element.css("marginLeft"),10) || 0), - top: (parseInt(this.element.css("marginTop"),10) || 0) - }; - - this.cssPosition = this.helper.css("position"); //Store the helper's css position - this.offset = this.element.offset(); //The element's absolute position on the page - this.offset = { //Substract the margins from the element's absolute offset - top: this.offset.top - this.margins.top, - left: this.offset.left - this.margins.left - }; - - this.offset.click = { //Where the click happened, relative to the element - left: e.pageX - this.offset.left, - top: e.pageY - this.offset.top - }; - - //Calling this method cached the next parents that have scrollTop / scrollLeft attached - this.cacheScrollParents(); - - - this.offsetParent = this.helper.offsetParent(); var po = this.offsetParent.offset(); //Get the offsetParent and cache its position - if(this.offsetParent[0] == document.body && $.browser.mozilla) po = { top: 0, left: 0 }; //Ugly FF3 fix - this.offset.parent = { //Store its position plus border - top: po.top + (parseInt(this.offsetParent.css("borderTopWidth"),10) || 0), - left: po.left + (parseInt(this.offsetParent.css("borderLeftWidth"),10) || 0) - }; - - //This is a relative to absolute position minus the actual position calculation - only used for relative positioned helper - if(this.cssPosition == "relative") { - var p = this.element.position(); - this.offset.relative = { - top: p.top - (parseInt(this.helper.css("top"),10) || 0) + this.scrollTopParent.scrollTop(), - left: p.left - (parseInt(this.helper.css("left"),10) || 0) + this.scrollLeftParent.scrollLeft() - }; - } else { - this.offset.relative = { top: 0, left: 0 }; - } - - //Generate the original position - this.originalPosition = this._generatePosition(e); - - //Cache the helper size - this.cacheHelperProportions(); - - //Adjust the mouse offset relative to the helper if 'cursorAt' is supplied - if(o.cursorAt) - this.adjustOffsetFromHelper(o.cursorAt); - - //Cache later used stuff - $.extend(this, { - PAGEY_INCLUDES_SCROLL: (this.cssPosition == "absolute" && (!this.scrollTopParent[0].tagName || (/(html|body)/i).test(this.scrollTopParent[0].tagName))), - PAGEX_INCLUDES_SCROLL: (this.cssPosition == "absolute" && (!this.scrollLeftParent[0].tagName || (/(html|body)/i).test(this.scrollLeftParent[0].tagName))), - OFFSET_PARENT_NOT_SCROLL_PARENT_Y: this.scrollTopParent[0] != this.offsetParent[0] && !(this.scrollTopParent[0] == document && (/(body|html)/i).test(this.offsetParent[0].tagName)), - OFFSET_PARENT_NOT_SCROLL_PARENT_X: this.scrollLeftParent[0] != this.offsetParent[0] && !(this.scrollLeftParent[0] == document && (/(body|html)/i).test(this.offsetParent[0].tagName)) - }); - - if(o.containment) - this.setContainment(); - - - //Call plugins and callbacks - this._propagate("start", e); - - //Recache the helper size - this.cacheHelperProportions(); - - //Prepare the droppable offsets - if ($.ui.ddmanager && !o.dropBehaviour) - $.ui.ddmanager.prepareOffsets(this, e); - - this.helper.addClass("ui-draggable-dragging"); - this._mouseDrag(e); //Execute the drag once - this causes the helper not to be visible before getting its correct position - return true; - }, - - cacheScrollParents: function() { - - this.scrollTopParent = function(el) { - do { if(/auto|scroll/.test(el.css('overflow')) || (/auto|scroll/).test(el.css('overflow-y'))) return el; el = el.parent(); } while (el[0].parentNode); - return $(document); - }(this.helper); - this.scrollLeftParent = function(el) { - do { if(/auto|scroll/.test(el.css('overflow')) || (/auto|scroll/).test(el.css('overflow-x'))) return el; el = el.parent(); } while (el[0].parentNode); - return $(document); - }(this.helper); - - }, - - adjustOffsetFromHelper: function(obj) { - if(obj.left != undefined) this.offset.click.left = obj.left + this.margins.left; - if(obj.right != undefined) this.offset.click.left = this.helperProportions.width - obj.right + this.margins.left; - if(obj.top != undefined) this.offset.click.top = obj.top + this.margins.top; - if(obj.bottom != undefined) this.offset.click.top = this.helperProportions.height - obj.bottom + this.margins.top; - }, - - cacheHelperProportions: function() { - this.helperProportions = { - width: this.helper.outerWidth(), - height: this.helper.outerHeight() - }; - }, - - setContainment: function() { - - var o = this.options; - if(o.containment == 'parent') o.containment = this.helper[0].parentNode; - if(o.containment == 'document' || o.containment == 'window') this.containment = [ - 0 - this.offset.relative.left - this.offset.parent.left, - 0 - this.offset.relative.top - this.offset.parent.top, - $(o.containment == 'document' ? document : window).width() - this.offset.relative.left - this.offset.parent.left - this.helperProportions.width - this.margins.left - (parseInt(this.element.css("marginRight"),10) || 0), - ($(o.containment == 'document' ? document : window).height() || document.body.parentNode.scrollHeight) - this.offset.relative.top - this.offset.parent.top - this.helperProportions.height - this.margins.top - (parseInt(this.element.css("marginBottom"),10) || 0) - ]; - - if(!(/^(document|window|parent)$/).test(o.containment)) { - var ce = $(o.containment)[0]; - var co = $(o.containment).offset(); - var over = ($(ce).css("overflow") != 'hidden'); - - this.containment = [ - co.left + (parseInt($(ce).css("borderLeftWidth"),10) || 0) - this.offset.relative.left - this.offset.parent.left, - co.top + (parseInt($(ce).css("borderTopWidth"),10) || 0) - this.offset.relative.top - this.offset.parent.top, - co.left+(over ? Math.max(ce.scrollWidth,ce.offsetWidth) : ce.offsetWidth) - (parseInt($(ce).css("borderLeftWidth"),10) || 0) - this.offset.relative.left - this.offset.parent.left - this.helperProportions.width - this.margins.left - (parseInt(this.element.css("marginRight"),10) || 0), - co.top+(over ? Math.max(ce.scrollHeight,ce.offsetHeight) : ce.offsetHeight) - (parseInt($(ce).css("borderTopWidth"),10) || 0) - this.offset.relative.top - this.offset.parent.top - this.helperProportions.height - this.margins.top - (parseInt(this.element.css("marginBottom"),10) || 0) - ]; - } - - }, - - - _convertPositionTo: function(d, pos) { - - if(!pos) pos = this.position; - var mod = d == "absolute" ? 1 : -1; - - return { - top: ( - pos.top // the calculated relative position - + this.offset.relative.top * mod // Only for relative positioned nodes: Relative offset from element to offset parent - + this.offset.parent.top * mod // The offsetParent's offset without borders (offset + border) - - (this.cssPosition == "fixed" || this.PAGEY_INCLUDES_SCROLL || this.OFFSET_PARENT_NOT_SCROLL_PARENT_Y ? 0 : this.scrollTopParent.scrollTop()) * mod // The offsetParent's scroll position, not if the element is fixed - + (this.cssPosition == "fixed" ? $(document).scrollTop() : 0) * mod - + this.margins.top * mod //Add the margin (you don't want the margin counting in intersection methods) - ), - left: ( - pos.left // the calculated relative position - + this.offset.relative.left * mod // Only for relative positioned nodes: Relative offset from element to offset parent - + this.offset.parent.left * mod // The offsetParent's offset without borders (offset + border) - - (this.cssPosition == "fixed" || this.PAGEX_INCLUDES_SCROLL || this.OFFSET_PARENT_NOT_SCROLL_PARENT_X ? 0 : this.scrollLeftParent.scrollLeft()) * mod // The offsetParent's scroll position, not if the element is fixed - + (this.cssPosition == "fixed" ? $(document).scrollLeft() : 0) * mod - + this.margins.left * mod //Add the margin (you don't want the margin counting in intersection methods) - ) - }; - }, - _generatePosition: function(e) { - - var o = this.options; - var position = { - top: ( - e.pageY // The absolute mouse position - - this.offset.click.top // Click offset (relative to the element) - - this.offset.relative.top // Only for relative positioned nodes: Relative offset from element to offset parent - - this.offset.parent.top // The offsetParent's offset without borders (offset + border) - + (this.cssPosition == "fixed" || this.PAGEY_INCLUDES_SCROLL || this.OFFSET_PARENT_NOT_SCROLL_PARENT_Y ? 0 : this.scrollTopParent.scrollTop()) // The offsetParent's scroll position, not if the element is fixed - - (this.cssPosition == "fixed" ? $(document).scrollTop() : 0) - ), - left: ( - e.pageX // The absolute mouse position - - this.offset.click.left // Click offset (relative to the element) - - this.offset.relative.left // Only for relative positioned nodes: Relative offset from element to offset parent - - this.offset.parent.left // The offsetParent's offset without borders (offset + border) - + (this.cssPosition == "fixed" || this.PAGEX_INCLUDES_SCROLL || this.OFFSET_PARENT_NOT_SCROLL_PARENT_X ? 0 : this.scrollLeftParent.scrollLeft()) // The offsetParent's scroll position, not if the element is fixed - - (this.cssPosition == "fixed" ? $(document).scrollLeft() : 0) - ) - }; - - if(!this.originalPosition) return position; //If we are not dragging yet, we won't check for options - - /* - * - Position constraining - - * Constrain the position to a mix of grid, containment. - */ - if(this.containment) { - if(position.left < this.containment[0]) position.left = this.containment[0]; - if(position.top < this.containment[1]) position.top = this.containment[1]; - if(position.left > this.containment[2]) position.left = this.containment[2]; - if(position.top > this.containment[3]) position.top = this.containment[3]; - } - - if(o.grid) { - var top = this.originalPosition.top + Math.round((position.top - this.originalPosition.top) / o.grid[1]) * o.grid[1]; - position.top = this.containment ? (!(top < this.containment[1] || top > this.containment[3]) ? top : (!(top < this.containment[1]) ? top - o.grid[1] : top + o.grid[1])) : top; - - var left = this.originalPosition.left + Math.round((position.left - this.originalPosition.left) / o.grid[0]) * o.grid[0]; - position.left = this.containment ? (!(left < this.containment[0] || left > this.containment[2]) ? left : (!(left < this.containment[0]) ? left - o.grid[0] : left + o.grid[0])) : left; - } - - return position; - }, - _mouseDrag: function(e) { - - //Compute the helpers position - this.position = this._generatePosition(e); - this.positionAbs = this._convertPositionTo("absolute"); - - //Call plugins and callbacks and use the resulting position if something is returned - this.position = this._propagate("drag", e) || this.position; - - if(!this.options.axis || this.options.axis != "y") this.helper[0].style.left = this.position.left+'px'; - if(!this.options.axis || this.options.axis != "x") this.helper[0].style.top = this.position.top+'px'; - if($.ui.ddmanager) $.ui.ddmanager.drag(this, e); - - return false; - }, - _mouseStop: function(e) { - - //If we are using droppables, inform the manager about the drop - var dropped = false; - if ($.ui.ddmanager && !this.options.dropBehaviour) - var dropped = $.ui.ddmanager.drop(this, e); - - if((this.options.revert == "invalid" && !dropped) || (this.options.revert == "valid" && dropped) || this.options.revert === true || ($.isFunction(this.options.revert) && this.options.revert.call(this.element, dropped))) { - var self = this; - $(this.helper).animate(this.originalPosition, parseInt(this.options.revertDuration, 10) || 500, function() { - self._propagate("stop", e); - self._clear(); - }); - } else { - this._propagate("stop", e); - this._clear(); - } - - return false; - }, - _clear: function() { - this.helper.removeClass("ui-draggable-dragging"); - if(this.options.helper != 'original' && !this.cancelHelperRemoval) this.helper.remove(); - //if($.ui.ddmanager) $.ui.ddmanager.current = null; - this.helper = null; - this.cancelHelperRemoval = false; - }, - - // From now on bulk stuff - mainly helpers - plugins: {}, - uiHash: function(e) { - return { - helper: this.helper, - position: this.position, - absolutePosition: this.positionAbs, - options: this.options - }; - }, - _propagate: function(n,e) { - $.ui.plugin.call(this, n, [e, this.uiHash()]); - if(n == "drag") this.positionAbs = this._convertPositionTo("absolute"); //The absolute position has to be recalculated after plugins - return this.element.triggerHandler(n == "drag" ? n : "drag"+n, [e, this.uiHash()], this.options[n]); - }, - destroy: function() { - if(!this.element.data('draggable')) return; - this.element.removeData("draggable").unbind(".draggable").removeClass('ui-draggable ui-draggable-dragging ui-draggable-disabled'); - this._mouseDestroy(); - } -})); - -$.extend($.ui.draggable, { - defaults: { - appendTo: "parent", - axis: false, - cancel: ":input", - delay: 0, - distance: 1, - helper: "original", - scope: "default", - cssNamespace: "ui" - } -}); - -$.ui.plugin.add("draggable", "cursor", { - start: function(e, ui) { - var t = $('body'); - if (t.css("cursor")) ui.options._cursor = t.css("cursor"); - t.css("cursor", ui.options.cursor); - }, - stop: function(e, ui) { - if (ui.options._cursor) $('body').css("cursor", ui.options._cursor); - } -}); - -$.ui.plugin.add("draggable", "zIndex", { - start: function(e, ui) { - var t = $(ui.helper); - if(t.css("zIndex")) ui.options._zIndex = t.css("zIndex"); - t.css('zIndex', ui.options.zIndex); - }, - stop: function(e, ui) { - if(ui.options._zIndex) $(ui.helper).css('zIndex', ui.options._zIndex); - } -}); - -$.ui.plugin.add("draggable", "opacity", { - start: function(e, ui) { - var t = $(ui.helper); - if(t.css("opacity")) ui.options._opacity = t.css("opacity"); - t.css('opacity', ui.options.opacity); - }, - stop: function(e, ui) { - if(ui.options._opacity) $(ui.helper).css('opacity', ui.options._opacity); - } -}); - -$.ui.plugin.add("draggable", "iframeFix", { - start: function(e, ui) { - $(ui.options.iframeFix === true ? "iframe" : ui.options.iframeFix).each(function() { - $('
    ') - .css({ - width: this.offsetWidth+"px", height: this.offsetHeight+"px", - position: "absolute", opacity: "0.001", zIndex: 1000 - }) - .css($(this).offset()) - .appendTo("body"); - }); - }, - stop: function(e, ui) { - $("div.ui-draggable-iframeFix").each(function() { this.parentNode.removeChild(this); }); //Remove frame helpers - } -}); - - - -$.ui.plugin.add("draggable", "scroll", { - start: function(e, ui) { - var o = ui.options; - var i = $(this).data("draggable"); - o.scrollSensitivity = o.scrollSensitivity || 20; - o.scrollSpeed = o.scrollSpeed || 20; - - i.overflowY = function(el) { - do { if(/auto|scroll/.test(el.css('overflow')) || (/auto|scroll/).test(el.css('overflow-y'))) return el; el = el.parent(); } while (el[0].parentNode); - return $(document); - }(this); - i.overflowX = function(el) { - do { if(/auto|scroll/.test(el.css('overflow')) || (/auto|scroll/).test(el.css('overflow-x'))) return el; el = el.parent(); } while (el[0].parentNode); - return $(document); - }(this); - - if(i.overflowY[0] != document && i.overflowY[0].tagName != 'HTML') i.overflowYOffset = i.overflowY.offset(); - if(i.overflowX[0] != document && i.overflowX[0].tagName != 'HTML') i.overflowXOffset = i.overflowX.offset(); - - }, - drag: function(e, ui) { - - var o = ui.options, scrolled = false; - var i = $(this).data("draggable"); - - if(i.overflowY[0] != document && i.overflowY[0].tagName != 'HTML') { - if((i.overflowYOffset.top + i.overflowY[0].offsetHeight) - e.pageY < o.scrollSensitivity) - i.overflowY[0].scrollTop = scrolled = i.overflowY[0].scrollTop + o.scrollSpeed; - if(e.pageY - i.overflowYOffset.top < o.scrollSensitivity) - i.overflowY[0].scrollTop = scrolled = i.overflowY[0].scrollTop - o.scrollSpeed; - - } else { - if(e.pageY - $(document).scrollTop() < o.scrollSensitivity) - scrolled = $(document).scrollTop($(document).scrollTop() - o.scrollSpeed); - if($(window).height() - (e.pageY - $(document).scrollTop()) < o.scrollSensitivity) - scrolled = $(document).scrollTop($(document).scrollTop() + o.scrollSpeed); - } - - if(i.overflowX[0] != document && i.overflowX[0].tagName != 'HTML') { - if((i.overflowXOffset.left + i.overflowX[0].offsetWidth) - e.pageX < o.scrollSensitivity) - i.overflowX[0].scrollLeft = scrolled = i.overflowX[0].scrollLeft + o.scrollSpeed; - if(e.pageX - i.overflowXOffset.left < o.scrollSensitivity) - i.overflowX[0].scrollLeft = scrolled = i.overflowX[0].scrollLeft - o.scrollSpeed; - } else { - if(e.pageX - $(document).scrollLeft() < o.scrollSensitivity) - scrolled = $(document).scrollLeft($(document).scrollLeft() - o.scrollSpeed); - if($(window).width() - (e.pageX - $(document).scrollLeft()) < o.scrollSensitivity) - scrolled = $(document).scrollLeft($(document).scrollLeft() + o.scrollSpeed); - } - - if(scrolled !== false) - $.ui.ddmanager.prepareOffsets(i, e); - - } -}); - - -$.ui.plugin.add("draggable", "snap", { - start: function(e, ui) { - - var inst = $(this).data("draggable"); - inst.snapElements = []; - - $(ui.options.snap.constructor != String ? ( ui.options.snap.items || ':data(draggable)' ) : ui.options.snap).each(function() { - var $t = $(this); var $o = $t.offset(); - if(this != inst.element[0]) inst.snapElements.push({ - item: this, - width: $t.outerWidth(), height: $t.outerHeight(), - top: $o.top, left: $o.left - }); - }); - - }, - drag: function(e, ui) { - - var inst = $(this).data("draggable"); - var d = ui.options.snapTolerance || 20; - - var x1 = ui.absolutePosition.left, x2 = x1 + inst.helperProportions.width, - y1 = ui.absolutePosition.top, y2 = y1 + inst.helperProportions.height; - - for (var i = inst.snapElements.length - 1; i >= 0; i--){ - - var l = inst.snapElements[i].left, r = l + inst.snapElements[i].width, - t = inst.snapElements[i].top, b = t + inst.snapElements[i].height; - - //Yes, I know, this is insane ;) - if(!((l-d < x1 && x1 < r+d && t-d < y1 && y1 < b+d) || (l-d < x1 && x1 < r+d && t-d < y2 && y2 < b+d) || (l-d < x2 && x2 < r+d && t-d < y1 && y1 < b+d) || (l-d < x2 && x2 < r+d && t-d < y2 && y2 < b+d))) { - if(inst.snapElements[i].snapping) (inst.options.snap.release && inst.options.snap.release.call(inst.element, null, $.extend(inst.uiHash(), { snapItem: inst.snapElements[i].item }))); - inst.snapElements[i].snapping = false; - continue; - } - - if(ui.options.snapMode != 'inner') { - var ts = Math.abs(t - y2) <= d; - var bs = Math.abs(b - y1) <= d; - var ls = Math.abs(l - x2) <= d; - var rs = Math.abs(r - x1) <= d; - if(ts) ui.position.top = inst._convertPositionTo("relative", { top: t - inst.helperProportions.height, left: 0 }).top; - if(bs) ui.position.top = inst._convertPositionTo("relative", { top: b, left: 0 }).top; - if(ls) ui.position.left = inst._convertPositionTo("relative", { top: 0, left: l - inst.helperProportions.width }).left; - if(rs) ui.position.left = inst._convertPositionTo("relative", { top: 0, left: r }).left; - } - - var first = (ts || bs || ls || rs); - - if(ui.options.snapMode != 'outer') { - var ts = Math.abs(t - y1) <= d; - var bs = Math.abs(b - y2) <= d; - var ls = Math.abs(l - x1) <= d; - var rs = Math.abs(r - x2) <= d; - if(ts) ui.position.top = inst._convertPositionTo("relative", { top: t, left: 0 }).top; - if(bs) ui.position.top = inst._convertPositionTo("relative", { top: b - inst.helperProportions.height, left: 0 }).top; - if(ls) ui.position.left = inst._convertPositionTo("relative", { top: 0, left: l }).left; - if(rs) ui.position.left = inst._convertPositionTo("relative", { top: 0, left: r - inst.helperProportions.width }).left; - } - - if(!inst.snapElements[i].snapping && (ts || bs || ls || rs || first)) - (inst.options.snap.snap && inst.options.snap.snap.call(inst.element, null, $.extend(inst.uiHash(), { snapItem: inst.snapElements[i].item }))); - inst.snapElements[i].snapping = (ts || bs || ls || rs || first); - - }; - - } -}); - -$.ui.plugin.add("draggable", "connectToSortable", { - start: function(e,ui) { - - var inst = $(this).data("draggable"); - inst.sortables = []; - $(ui.options.connectToSortable).each(function() { - if($.data(this, 'sortable')) { - var sortable = $.data(this, 'sortable'); - inst.sortables.push({ - instance: sortable, - shouldRevert: sortable.options.revert - }); - sortable._refreshItems(); //Do a one-time refresh at start to refresh the containerCache - sortable._propagate("activate", e, inst); - } - }); - - }, - stop: function(e,ui) { - - //If we are still over the sortable, we fake the stop event of the sortable, but also remove helper - var inst = $(this).data("draggable"); - - $.each(inst.sortables, function() { - if(this.instance.isOver) { - this.instance.isOver = 0; - inst.cancelHelperRemoval = true; //Don't remove the helper in the draggable instance - this.instance.cancelHelperRemoval = false; //Remove it in the sortable instance (so sortable plugins like revert still work) - if(this.shouldRevert) this.instance.options.revert = true; //revert here - this.instance._mouseStop(e); - - //Also propagate receive event, since the sortable is actually receiving a element - this.instance.element.triggerHandler("sortreceive", [e, $.extend(this.instance.ui(), { sender: inst.element })], this.instance.options["receive"]); - - this.instance.options.helper = this.instance.options._helper; - } else { - this.instance._propagate("deactivate", e, inst); - } - - }); - - }, - drag: function(e,ui) { - - var inst = $(this).data("draggable"), self = this; - - var checkPos = function(o) { - - var l = o.left, r = l + o.width, - t = o.top, b = t + o.height; - - return (l < (this.positionAbs.left + this.offset.click.left) && (this.positionAbs.left + this.offset.click.left) < r - && t < (this.positionAbs.top + this.offset.click.top) && (this.positionAbs.top + this.offset.click.top) < b); - }; - - $.each(inst.sortables, function(i) { - - if(checkPos.call(inst, this.instance.containerCache)) { - - //If it intersects, we use a little isOver variable and set it once, so our move-in stuff gets fired only once - if(!this.instance.isOver) { - this.instance.isOver = 1; - - //Now we fake the start of dragging for the sortable instance, - //by cloning the list group item, appending it to the sortable and using it as inst.currentItem - //We can then fire the start event of the sortable with our passed browser event, and our own helper (so it doesn't create a new one) - this.instance.currentItem = $(self).clone().appendTo(this.instance.element).data("sortable-item", true); - this.instance.options._helper = this.instance.options.helper; //Store helper option to later restore it - this.instance.options.helper = function() { return ui.helper[0]; }; - - e.target = this.instance.currentItem[0]; - this.instance._mouseCapture(e, true); - this.instance._mouseStart(e, true, true); - - //Because the browser event is way off the new appended portlet, we modify a couple of variables to reflect the changes - this.instance.offset.click.top = inst.offset.click.top; - this.instance.offset.click.left = inst.offset.click.left; - this.instance.offset.parent.left -= inst.offset.parent.left - this.instance.offset.parent.left; - this.instance.offset.parent.top -= inst.offset.parent.top - this.instance.offset.parent.top; - - inst._propagate("toSortable", e); - - } - - //Provided we did all the previous steps, we can fire the drag event of the sortable on every draggable drag, when it intersects with the sortable - if(this.instance.currentItem) this.instance._mouseDrag(e); - - } else { - - //If it doesn't intersect with the sortable, and it intersected before, - //we fake the drag stop of the sortable, but make sure it doesn't remove the helper by using cancelHelperRemoval - if(this.instance.isOver) { - this.instance.isOver = 0; - this.instance.cancelHelperRemoval = true; - this.instance.options.revert = false; //No revert here - this.instance._mouseStop(e, true); - this.instance.options.helper = this.instance.options._helper; - - //Now we remove our currentItem, the list group clone again, and the placeholder, and animate the helper back to it's original size - this.instance.currentItem.remove(); - if(this.instance.placeholder) this.instance.placeholder.remove(); - - inst._propagate("fromSortable", e); - } - - }; - - }); - - } -}); - -$.ui.plugin.add("draggable", "stack", { - start: function(e,ui) { - var group = $.makeArray($(ui.options.stack.group)).sort(function(a,b) { - return (parseInt($(a).css("zIndex"),10) || ui.options.stack.min) - (parseInt($(b).css("zIndex"),10) || ui.options.stack.min); - }); - - $(group).each(function(i) { - this.style.zIndex = ui.options.stack.min + i; - }); - - this[0].style.zIndex = ui.options.stack.min + group.length; - } -}); - -})(jQuery); -/* - * jQuery UI Droppable 1.6rc2 - - * - * Copyright (c) 2008 Paul Bakaus - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * http://docs.jquery.com/UI/Droppables - * - * Depends: - * ui.core.js - * ui.draggable.js - */ -(function($) { - -$.widget("ui.droppable", { - - _setData: function(key, value) { - - if(key == 'accept') { - this.options.accept = value && $.isFunction(value) ? value : function(d) { - return d.is(accept); - }; - } else { - $.widget.prototype._setData.apply(this, arguments); - } - - }, - - _init: function() { - - var o = this.options, accept = o.accept; - this.isover = 0; this.isout = 1; - - this.options.accept = this.options.accept && $.isFunction(this.options.accept) ? this.options.accept : function(d) { - return d.is(accept); - }; - - //Store the droppable's proportions - this.proportions = { width: this.element[0].offsetWidth, height: this.element[0].offsetHeight }; - - // Add the reference and positions to the manager - $.ui.ddmanager.droppables[this.options.scope] = $.ui.ddmanager.droppables[this.options.scope] || []; - $.ui.ddmanager.droppables[this.options.scope].push(this); - - (this.options.cssNamespace && this.element.addClass(this.options.cssNamespace+"-droppable")); - - }, - plugins: {}, - ui: function(c) { - return { - draggable: (c.currentItem || c.element), - helper: c.helper, - position: c.position, - absolutePosition: c.positionAbs, - options: this.options, - element: this.element - }; - }, - destroy: function() { - var drop = $.ui.ddmanager.droppables[this.options.scope]; - for ( var i = 0; i < drop.length; i++ ) - if ( drop[i] == this ) - drop.splice(i, 1); - - this.element - .removeClass("ui-droppable-disabled") - .removeData("droppable") - .unbind(".droppable"); - }, - _over: function(e) { - - var draggable = $.ui.ddmanager.current; - if (!draggable || (draggable.currentItem || draggable.element)[0] == this.element[0]) return; // Bail if draggable and droppable are same element - - if (this.options.accept.call(this.element,(draggable.currentItem || draggable.element))) { - $.ui.plugin.call(this, 'over', [e, this.ui(draggable)]); - this.element.triggerHandler("dropover", [e, this.ui(draggable)], this.options.over); - } - - }, - _out: function(e) { - - var draggable = $.ui.ddmanager.current; - if (!draggable || (draggable.currentItem || draggable.element)[0] == this.element[0]) return; // Bail if draggable and droppable are same element - - if (this.options.accept.call(this.element,(draggable.currentItem || draggable.element))) { - $.ui.plugin.call(this, 'out', [e, this.ui(draggable)]); - this.element.triggerHandler("dropout", [e, this.ui(draggable)], this.options.out); - } - - }, - _drop: function(e,custom) { - - var draggable = custom || $.ui.ddmanager.current; - if (!draggable || (draggable.currentItem || draggable.element)[0] == this.element[0]) return false; // Bail if draggable and droppable are same element - - var childrenIntersection = false; - this.element.find(":data(droppable)").not(".ui-draggable-dragging").each(function() { - var inst = $.data(this, 'droppable'); - if(inst.options.greedy && $.ui.intersect(draggable, $.extend(inst, { offset: inst.element.offset() }), inst.options.tolerance)) { - childrenIntersection = true; return false; - } - }); - if(childrenIntersection) return false; - - if(this.options.accept.call(this.element,(draggable.currentItem || draggable.element))) { - $.ui.plugin.call(this, 'drop', [e, this.ui(draggable)]); - this.element.triggerHandler("drop", [e, this.ui(draggable)], this.options.drop); - return this.element; - } - - return false; - - }, - _activate: function(e) { - - var draggable = $.ui.ddmanager.current; - $.ui.plugin.call(this, 'activate', [e, this.ui(draggable)]); - if(draggable) this.element.triggerHandler("dropactivate", [e, this.ui(draggable)], this.options.activate); - - }, - _deactivate: function(e) { - - var draggable = $.ui.ddmanager.current; - $.ui.plugin.call(this, 'deactivate', [e, this.ui(draggable)]); - if(draggable) this.element.triggerHandler("dropdeactivate", [e, this.ui(draggable)], this.options.deactivate); - - } -}); - -$.extend($.ui.droppable, { - defaults: { - disabled: false, - tolerance: 'intersect', - scope: 'default', - cssNamespace: 'ui' - } -}); - -$.ui.intersect = function(draggable, droppable, toleranceMode) { - - if (!droppable.offset) return false; - - var x1 = (draggable.positionAbs || draggable.position.absolute).left, x2 = x1 + draggable.helperProportions.width, - y1 = (draggable.positionAbs || draggable.position.absolute).top, y2 = y1 + draggable.helperProportions.height; - var l = droppable.offset.left, r = l + droppable.proportions.width, - t = droppable.offset.top, b = t + droppable.proportions.height; - - switch (toleranceMode) { - case 'fit': - return (l < x1 && x2 < r - && t < y1 && y2 < b); - break; - case 'intersect': - return (l < x1 + (draggable.helperProportions.width / 2) // Right Half - && x2 - (draggable.helperProportions.width / 2) < r // Left Half - && t < y1 + (draggable.helperProportions.height / 2) // Bottom Half - && y2 - (draggable.helperProportions.height / 2) < b ); // Top Half - break; - case 'pointer': - return (l < ((draggable.positionAbs || draggable.position.absolute).left + (draggable.clickOffset || draggable.offset.click).left) && ((draggable.positionAbs || draggable.position.absolute).left + (draggable.clickOffset || draggable.offset.click).left) < r - && t < ((draggable.positionAbs || draggable.position.absolute).top + (draggable.clickOffset || draggable.offset.click).top) && ((draggable.positionAbs || draggable.position.absolute).top + (draggable.clickOffset || draggable.offset.click).top) < b); - break; - case 'touch': - return ( - (y1 >= t && y1 <= b) || // Top edge touching - (y2 >= t && y2 <= b) || // Bottom edge touching - (y1 < t && y2 > b) // Surrounded vertically - ) && ( - (x1 >= l && x1 <= r) || // Left edge touching - (x2 >= l && x2 <= r) || // Right edge touching - (x1 < l && x2 > r) // Surrounded horizontally - ); - break; - default: - return false; - break; - } - -}; - -/* - This manager tracks offsets of draggables and droppables -*/ -$.ui.ddmanager = { - current: null, - droppables: { 'default': [] }, - prepareOffsets: function(t, e) { - - var m = $.ui.ddmanager.droppables[t.options.scope]; - var type = e ? e.type : null; // workaround for #2317 - var list = (t.currentItem || t.element).find(":data(droppable)").andSelf(); - - droppablesLoop: for (var i = 0; i < m.length; i++) { - - if(m[i].options.disabled || (t && !m[i].options.accept.call(m[i].element,(t.currentItem || t.element)))) continue; //No disabled and non-accepted - for (var j=0; j < list.length; j++) { if(list[j] == m[i].element[0]) { m[i].proportions.height = 0; continue droppablesLoop; } }; //Filter out elements in the current dragged item - m[i].visible = m[i].element.css("display") != "none"; if(!m[i].visible) continue; //If the element is not visible, continue - - m[i].offset = m[i].element.offset(); - m[i].proportions = { width: m[i].element[0].offsetWidth, height: m[i].element[0].offsetHeight }; - - if(type == "dragstart" || type == "sortactivate") m[i]._activate.call(m[i], e); //Activate the droppable if used directly from draggables - - } - - }, - drop: function(draggable, e) { - - var dropped = false; - $.each($.ui.ddmanager.droppables[draggable.options.scope], function() { - - if(!this.options) return; - if (!this.options.disabled && this.visible && $.ui.intersect(draggable, this, this.options.tolerance)) - dropped = this._drop.call(this, e); - - if (!this.options.disabled && this.visible && this.options.accept.call(this.element,(draggable.currentItem || draggable.element))) { - this.isout = 1; this.isover = 0; - this._deactivate.call(this, e); - } - - }); - return dropped; - - }, - drag: function(draggable, e) { - - //If you have a highly dynamic page, you might try this option. It renders positions every time you move the mouse. - if(draggable.options.refreshPositions) $.ui.ddmanager.prepareOffsets(draggable, e); - - //Run through all droppables and check their positions based on specific tolerance options - - $.each($.ui.ddmanager.droppables[draggable.options.scope], function() { - - if(this.options.disabled || this.greedyChild || !this.visible) return; - var intersects = $.ui.intersect(draggable, this, this.options.tolerance); - - var c = !intersects && this.isover == 1 ? 'isout' : (intersects && this.isover == 0 ? 'isover' : null); - if(!c) return; - - var parentInstance; - if (this.options.greedy) { - var parent = this.element.parents(':data(droppable):eq(0)'); - if (parent.length) { - parentInstance = $.data(parent[0], 'droppable'); - parentInstance.greedyChild = (c == 'isover' ? 1 : 0); - } - } - - // we just moved into a greedy child - if (parentInstance && c == 'isover') { - parentInstance['isover'] = 0; - parentInstance['isout'] = 1; - parentInstance._out.call(parentInstance, e); - } - - this[c] = 1; this[c == 'isout' ? 'isover' : 'isout'] = 0; - this[c == "isover" ? "_over" : "_out"].call(this, e); - - // we just moved out of a greedy child - if (parentInstance && c == 'isout') { - parentInstance['isout'] = 0; - parentInstance['isover'] = 1; - parentInstance._over.call(parentInstance, e); - } - }); - - } -}; - -/* - * Droppable Extensions - */ - -$.ui.plugin.add("droppable", "activeClass", { - activate: function(e, ui) { - $(this).addClass(ui.options.activeClass); - }, - deactivate: function(e, ui) { - $(this).removeClass(ui.options.activeClass); - }, - drop: function(e, ui) { - $(this).removeClass(ui.options.activeClass); - } -}); - -$.ui.plugin.add("droppable", "hoverClass", { - over: function(e, ui) { - $(this).addClass(ui.options.hoverClass); - }, - out: function(e, ui) { - $(this).removeClass(ui.options.hoverClass); - }, - drop: function(e, ui) { - $(this).removeClass(ui.options.hoverClass); - } -}); - -})(jQuery); -/* - * jQuery UI Resizable 1.6rc2 - - * - * Copyright (c) 2008 Paul Bakaus - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * http://docs.jquery.com/UI/Resizables - * - * Depends: - * ui.core.js - */ -(function($) { - -$.widget("ui.resizable", $.extend({}, $.ui.mouse, { - _init: function() { - - var self = this, o = this.options; - - var elpos = this.element.css('position'); - - this.originalElement = this.element; - - // simulate .ui-resizable { position: relative; } - this.element.addClass("ui-resizable").css({ position: /static/.test(elpos) ? 'relative' : elpos }); - - $.extend(o, { - _aspectRatio: !!(o.aspectRatio), - helper: o.helper || o.ghost || o.animate ? o.helper || 'proxy' : null, - knobHandles: o.knobHandles === true ? 'ui-resizable-knob-handle' : o.knobHandles - }); - - //Default Theme - var aBorder = '1px solid #DEDEDE'; - - o.defaultTheme = { - 'ui-resizable': { display: 'block' }, - 'ui-resizable-handle': { position: 'absolute', background: '#F2F2F2', fontSize: '0.1px' }, - 'ui-resizable-n': { cursor: 'n-resize', height: '4px', left: '0px', right: '0px', borderTop: aBorder }, - 'ui-resizable-s': { cursor: 's-resize', height: '4px', left: '0px', right: '0px', borderBottom: aBorder }, - 'ui-resizable-e': { cursor: 'e-resize', width: '4px', top: '0px', bottom: '0px', borderRight: aBorder }, - 'ui-resizable-w': { cursor: 'w-resize', width: '4px', top: '0px', bottom: '0px', borderLeft: aBorder }, - 'ui-resizable-se': { cursor: 'se-resize', width: '4px', height: '4px', borderRight: aBorder, borderBottom: aBorder }, - 'ui-resizable-sw': { cursor: 'sw-resize', width: '4px', height: '4px', borderBottom: aBorder, borderLeft: aBorder }, - 'ui-resizable-ne': { cursor: 'ne-resize', width: '4px', height: '4px', borderRight: aBorder, borderTop: aBorder }, - 'ui-resizable-nw': { cursor: 'nw-resize', width: '4px', height: '4px', borderLeft: aBorder, borderTop: aBorder } - }; - - o.knobTheme = { - 'ui-resizable-handle': { background: '#F2F2F2', border: '1px solid #808080', height: '8px', width: '8px' }, - 'ui-resizable-n': { cursor: 'n-resize', top: '0px', left: '45%' }, - 'ui-resizable-s': { cursor: 's-resize', bottom: '0px', left: '45%' }, - 'ui-resizable-e': { cursor: 'e-resize', right: '0px', top: '45%' }, - 'ui-resizable-w': { cursor: 'w-resize', left: '0px', top: '45%' }, - 'ui-resizable-se': { cursor: 'se-resize', right: '0px', bottom: '0px' }, - 'ui-resizable-sw': { cursor: 'sw-resize', left: '0px', bottom: '0px' }, - 'ui-resizable-nw': { cursor: 'nw-resize', left: '0px', top: '0px' }, - 'ui-resizable-ne': { cursor: 'ne-resize', right: '0px', top: '0px' } - }; - - o._nodeName = this.element[0].nodeName; - - //Wrap the element if it cannot hold child nodes - if(o._nodeName.match(/canvas|textarea|input|select|button|img/i)) { - var el = this.element; - - //Opera fixing relative position - if (/relative/.test(el.css('position')) && $.browser.opera) - el.css({ position: 'relative', top: 'auto', left: 'auto' }); - - //Create a wrapper element and set the wrapper to the new current internal element - el.wrap( - $('
    ').css( { - position: el.css('position'), - width: el.outerWidth(), - height: el.outerHeight(), - top: el.css('top'), - left: el.css('left') - }) - ); - - var oel = this.element; this.element = this.element.parent(); - - // store instance on wrapper - this.element.data('resizable', this); - - //Move margins to the wrapper - this.element.css({ marginLeft: oel.css("marginLeft"), marginTop: oel.css("marginTop"), - marginRight: oel.css("marginRight"), marginBottom: oel.css("marginBottom") - }); - - oel.css({ marginLeft: 0, marginTop: 0, marginRight: 0, marginBottom: 0}); - - //Prevent Safari textarea resize - if ($.browser.safari && o.preventDefault) oel.css('resize', 'none'); - - o.proportionallyResize = oel.css({ position: 'static', zoom: 1, display: 'block' }); - - // avoid IE jump - this.element.css({ margin: oel.css('margin') }); - - // fix handlers offset - this._proportionallyResize(); - } - - if(!o.handles) o.handles = !$('.ui-resizable-handle', this.element).length ? "e,s,se" : { n: '.ui-resizable-n', e: '.ui-resizable-e', s: '.ui-resizable-s', w: '.ui-resizable-w', se: '.ui-resizable-se', sw: '.ui-resizable-sw', ne: '.ui-resizable-ne', nw: '.ui-resizable-nw' }; - if(o.handles.constructor == String) { - - o.zIndex = o.zIndex || 1000; - - if(o.handles == 'all') o.handles = 'n,e,s,w,se,sw,ne,nw'; - - var n = o.handles.split(","); o.handles = {}; - - // insertions are applied when don't have theme loaded - var insertionsDefault = { - handle: 'position: absolute; display: none; overflow:hidden;', - n: 'top: 0pt; width:100%;', - e: 'right: 0pt; height:100%;', - s: 'bottom: 0pt; width:100%;', - w: 'left: 0pt; height:100%;', - se: 'bottom: 0pt; right: 0px;', - sw: 'bottom: 0pt; left: 0px;', - ne: 'top: 0pt; right: 0px;', - nw: 'top: 0pt; left: 0px;' - }; - - for(var i = 0; i < n.length; i++) { - var handle = $.trim(n[i]), dt = o.defaultTheme, hname = 'ui-resizable-'+handle, loadDefault = !$.ui.css(hname) && !o.knobHandles, userKnobClass = $.ui.css('ui-resizable-knob-handle'), - allDefTheme = $.extend(dt[hname], dt['ui-resizable-handle']), allKnobTheme = $.extend(o.knobTheme[hname], !userKnobClass ? o.knobTheme['ui-resizable-handle'] : {}); - - // increase zIndex of sw, se, ne, nw axis - var applyZIndex = /sw|se|ne|nw/.test(handle) ? { zIndex: ++o.zIndex } : {}; - - var defCss = (loadDefault ? insertionsDefault[handle] : ''), - axis = $(['
    '].join('')).css( applyZIndex ); - o.handles[handle] = '.ui-resizable-'+handle; - - this.element.append( - //Theme detection, if not loaded, load o.defaultTheme - axis.css( loadDefault ? allDefTheme : {} ) - // Load the knobHandle css, fix width, height, top, left... - .css( o.knobHandles ? allKnobTheme : {} ).addClass(o.knobHandles ? 'ui-resizable-knob-handle' : '').addClass(o.knobHandles) - ); - } - - if (o.knobHandles) this.element.addClass('ui-resizable-knob').css( !$.ui.css('ui-resizable-knob') ? { /*border: '1px #fff dashed'*/ } : {} ); - } - - this._renderAxis = function(target) { - target = target || this.element; - - for(var i in o.handles) { - if(o.handles[i].constructor == String) - o.handles[i] = $(o.handles[i], this.element).show(); - - if (o.transparent) - o.handles[i].css({opacity:0}); - - //Apply pad to wrapper element, needed to fix axis position (textarea, inputs, scrolls) - if (this.element.is('.ui-wrapper') && - o._nodeName.match(/textarea|input|select|button/i)) { - - var axis = $(o.handles[i], this.element), padWrapper = 0; - - //Checking the correct pad and border - padWrapper = /sw|ne|nw|se|n|s/.test(i) ? axis.outerHeight() : axis.outerWidth(); - - //The padding type i have to apply... - var padPos = [ 'padding', - /ne|nw|n/.test(i) ? 'Top' : - /se|sw|s/.test(i) ? 'Bottom' : - /^e$/.test(i) ? 'Right' : 'Left' ].join(""); - - if (!o.transparent) - target.css(padPos, padWrapper); - - this._proportionallyResize(); - } - if(!$(o.handles[i]).length) continue; - } - }; - - this._renderAxis(this.element); - o._handles = $('.ui-resizable-handle', self.element); - - if (o.disableSelection) - o._handles.each(function(i, e) { $.ui.disableSelection(e); }); - - //Matching axis name - o._handles.mouseover(function() { - if (!o.resizing) { - if (this.className) - var axis = this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i); - //Axis, default = se - self.axis = o.axis = axis && axis[1] ? axis[1] : 'se'; - } - }); - - //If we want to auto hide the elements - if (o.autoHide) { - o._handles.hide(); - $(self.element).addClass("ui-resizable-autohide").hover(function() { - $(this).removeClass("ui-resizable-autohide"); - o._handles.show(); - }, - function(){ - if (!o.resizing) { - $(this).addClass("ui-resizable-autohide"); - o._handles.hide(); - } - }); - } - - this._mouseInit(); - }, - plugins: {}, - ui: function() { - return { - originalElement: this.originalElement, - element: this.element, - helper: this.helper, - position: this.position, - size: this.size, - options: this.options, - originalSize: this.originalSize, - originalPosition: this.originalPosition - }; - }, - _propagate: function(n,e) { - $.ui.plugin.call(this, n, [e, this.ui()]); - if (n != "resize") this.element.triggerHandler(["resize", n].join(""), [e, this.ui()], this.options[n]); - }, - destroy: function() { - var el = this.element, wrapped = el.children(".ui-resizable").get(0); - - this._mouseDestroy(); - - var _destroy = function(exp) { - $(exp).removeClass("ui-resizable ui-resizable-disabled") - .removeData("resizable").unbind(".resizable").find('.ui-resizable-handle').remove(); - }; - - _destroy(el); - - if (el.is('.ui-wrapper') && wrapped) { - el.parent().append( - $(wrapped).css({ - position: el.css('position'), - width: el.outerWidth(), - height: el.outerHeight(), - top: el.css('top'), - left: el.css('left') - }) - ).end().remove(); - - _destroy(wrapped); - } - }, - - _mouseCapture: function(e) { - - if(this.options.disabled) return false; - - var handle = false; - for(var i in this.options.handles) { - if($(this.options.handles[i])[0] == e.target) handle = true; - } - if (!handle) return false; - - return true; - - }, - - _mouseStart: function(e) { - - var o = this.options, iniPos = this.element.position(), el = this.element, - num = function(v) { return parseInt(v, 10) || 0; }, ie6 = $.browser.msie && $.browser.version < 7; - o.resizing = true; - o.documentScroll = { top: $(document).scrollTop(), left: $(document).scrollLeft() }; - - // bugfix #1749 - if (el.is('.ui-draggable') || (/absolute/).test(el.css('position'))) { - - // sOffset decides if document scrollOffset will be added to the top/left of the resizable element - var sOffset = $.browser.msie && !o.containment && (/absolute/).test(el.css('position')) && !(/relative/).test(el.parent().css('position')); - var dscrollt = sOffset ? o.documentScroll.top : 0, dscrolll = sOffset ? o.documentScroll.left : 0; - - el.css({ position: 'absolute', top: (iniPos.top + dscrollt), left: (iniPos.left + dscrolll) }); - } - - //Opera fixing relative position - if ($.browser.opera && /relative/.test(el.css('position'))) - el.css({ position: 'relative', top: 'auto', left: 'auto' }); - - this._renderProxy(); - - var curleft = num(this.helper.css('left')), curtop = num(this.helper.css('top')); - - if (o.containment) { - curleft += $(o.containment).scrollLeft()||0; - curtop += $(o.containment).scrollTop()||0; - } - - //Store needed variables - this.offset = this.helper.offset(); - this.position = { left: curleft, top: curtop }; - this.size = o.helper || ie6 ? { width: el.outerWidth(), height: el.outerHeight() } : { width: el.width(), height: el.height() }; - this.originalSize = o.helper || ie6 ? { width: el.outerWidth(), height: el.outerHeight() } : { width: el.width(), height: el.height() }; - this.originalPosition = { left: curleft, top: curtop }; - this.sizeDiff = { width: el.outerWidth() - el.width(), height: el.outerHeight() - el.height() }; - this.originalMousePosition = { left: e.pageX, top: e.pageY }; - - //Aspect Ratio - o.aspectRatio = (typeof o.aspectRatio == 'number') ? o.aspectRatio : ((this.originalSize.width / this.originalSize.height)||1); - - if (o.preserveCursor) - $('body').css('cursor', this.axis + '-resize'); - - this._propagate("start", e); - return true; - }, - _mouseDrag: function(e) { - - //Increase performance, avoid regex - var el = this.helper, o = this.options, props = {}, - self = this, smp = this.originalMousePosition, a = this.axis; - - var dx = (e.pageX-smp.left)||0, dy = (e.pageY-smp.top)||0; - var trigger = this._change[a]; - if (!trigger) return false; - - // Calculate the attrs that will be change - var data = trigger.apply(this, [e, dx, dy]), ie6 = $.browser.msie && $.browser.version < 7, csdif = this.sizeDiff; - - if (o._aspectRatio || e.shiftKey) - data = this._updateRatio(data, e); - - data = this._respectSize(data, e); - - // plugins callbacks need to be called first - this._propagate("resize", e); - - el.css({ - top: this.position.top + "px", left: this.position.left + "px", - width: this.size.width + "px", height: this.size.height + "px" - }); - - if (!o.helper && o.proportionallyResize) - this._proportionallyResize(); - - this._updateCache(data); - - // calling the user callback at the end - this.element.triggerHandler("resize", [e, this.ui()], this.options["resize"]); - - return false; - }, - _mouseStop: function(e) { - - this.options.resizing = false; - var o = this.options, num = function(v) { return parseInt(v, 10) || 0; }, self = this; - - if(o.helper) { - var pr = o.proportionallyResize, ista = pr && (/textarea/i).test(pr.get(0).nodeName), - soffseth = ista && $.ui.hasScroll(pr.get(0), 'left') /* TODO - jump height */ ? 0 : self.sizeDiff.height, - soffsetw = ista ? 0 : self.sizeDiff.width; - - var s = { width: (self.size.width - soffsetw), height: (self.size.height - soffseth) }, - left = (parseInt(self.element.css('left'), 10) + (self.position.left - self.originalPosition.left)) || null, - top = (parseInt(self.element.css('top'), 10) + (self.position.top - self.originalPosition.top)) || null; - - if (!o.animate) - this.element.css($.extend(s, { top: top, left: left })); - - if (o.helper && !o.animate) this._proportionallyResize(); - } - - if (o.preserveCursor) - $('body').css('cursor', 'auto'); - - this._propagate("stop", e); - - if (o.helper) this.helper.remove(); - - return false; - }, - _updateCache: function(data) { - var o = this.options; - this.offset = this.helper.offset(); - if (data.left) this.position.left = data.left; - if (data.top) this.position.top = data.top; - if (data.height) this.size.height = data.height; - if (data.width) this.size.width = data.width; - }, - _updateRatio: function(data, e) { - - var o = this.options, cpos = this.position, csize = this.size, a = this.axis; - - if (data.height) data.width = (csize.height * o.aspectRatio); - else if (data.width) data.height = (csize.width / o.aspectRatio); - - if (a == 'sw') { - data.left = cpos.left + (csize.width - data.width); - data.top = null; - } - if (a == 'nw') { - data.top = cpos.top + (csize.height - data.height); - data.left = cpos.left + (csize.width - data.width); - } - - return data; - }, - _respectSize: function(data, e) { - - var el = this.helper, o = this.options, pRatio = o._aspectRatio || e.shiftKey, a = this.axis, - ismaxw = data.width && o.maxWidth && o.maxWidth < data.width, ismaxh = data.height && o.maxHeight && o.maxHeight < data.height, - isminw = data.width && o.minWidth && o.minWidth > data.width, isminh = data.height && o.minHeight && o.minHeight > data.height; - - if (isminw) data.width = o.minWidth; - if (isminh) data.height = o.minHeight; - if (ismaxw) data.width = o.maxWidth; - if (ismaxh) data.height = o.maxHeight; - - var dw = this.originalPosition.left + this.originalSize.width, dh = this.position.top + this.size.height; - var cw = /sw|nw|w/.test(a), ch = /nw|ne|n/.test(a); - - if (isminw && cw) data.left = dw - o.minWidth; - if (ismaxw && cw) data.left = dw - o.maxWidth; - if (isminh && ch) data.top = dh - o.minHeight; - if (ismaxh && ch) data.top = dh - o.maxHeight; - - // fixing jump error on top/left - bug #2330 - var isNotwh = !data.width && !data.height; - if (isNotwh && !data.left && data.top) data.top = null; - else if (isNotwh && !data.top && data.left) data.left = null; - - return data; - }, - _proportionallyResize: function() { - var o = this.options; - if (!o.proportionallyResize) return; - var prel = o.proportionallyResize, el = this.helper || this.element; - - if (!o.borderDif) { - var b = [prel.css('borderTopWidth'), prel.css('borderRightWidth'), prel.css('borderBottomWidth'), prel.css('borderLeftWidth')], - p = [prel.css('paddingTop'), prel.css('paddingRight'), prel.css('paddingBottom'), prel.css('paddingLeft')]; - - o.borderDif = $.map(b, function(v, i) { - var border = parseInt(v,10)||0, padding = parseInt(p[i],10)||0; - return border + padding; - }); - } - prel.css({ - height: (el.height() - o.borderDif[0] - o.borderDif[2]) + "px", - width: (el.width() - o.borderDif[1] - o.borderDif[3]) + "px" - }); - }, - _renderProxy: function() { - var el = this.element, o = this.options; - this.elementOffset = el.offset(); - - if(o.helper) { - this.helper = this.helper || $('
    '); - - // fix ie6 offset - var ie6 = $.browser.msie && $.browser.version < 7, ie6offset = (ie6 ? 1 : 0), - pxyoffset = ( ie6 ? 2 : -1 ); - - this.helper.addClass(o.helper).css({ - width: el.outerWidth() + pxyoffset, - height: el.outerHeight() + pxyoffset, - position: 'absolute', - left: this.elementOffset.left - ie6offset +'px', - top: this.elementOffset.top - ie6offset +'px', - zIndex: ++o.zIndex - }); - - this.helper.appendTo("body"); - - if (o.disableSelection) - $.ui.disableSelection(this.helper.get(0)); - - } else { - this.helper = el; - } - }, - _change: { - e: function(e, dx, dy) { - return { width: this.originalSize.width + dx }; - }, - w: function(e, dx, dy) { - var o = this.options, cs = this.originalSize, sp = this.originalPosition; - return { left: sp.left + dx, width: cs.width - dx }; - }, - n: function(e, dx, dy) { - var o = this.options, cs = this.originalSize, sp = this.originalPosition; - return { top: sp.top + dy, height: cs.height - dy }; - }, - s: function(e, dx, dy) { - return { height: this.originalSize.height + dy }; - }, - se: function(e, dx, dy) { - return $.extend(this._change.s.apply(this, arguments), this._change.e.apply(this, [e, dx, dy])); - }, - sw: function(e, dx, dy) { - return $.extend(this._change.s.apply(this, arguments), this._change.w.apply(this, [e, dx, dy])); - }, - ne: function(e, dx, dy) { - return $.extend(this._change.n.apply(this, arguments), this._change.e.apply(this, [e, dx, dy])); - }, - nw: function(e, dx, dy) { - return $.extend(this._change.n.apply(this, arguments), this._change.w.apply(this, [e, dx, dy])); - } - } -})); - -$.extend($.ui.resizable, { - defaults: { - cancel: ":input", - distance: 1, - delay: 0, - preventDefault: true, - transparent: false, - minWidth: 10, - minHeight: 10, - aspectRatio: false, - disableSelection: true, - preserveCursor: true, - autoHide: false, - knobHandles: false - } -}); - -/* - * Resizable Extensions - */ - -$.ui.plugin.add("resizable", "containment", { - - start: function(e, ui) { - var o = ui.options, self = $(this).data("resizable"), el = self.element; - var oc = o.containment, ce = (oc instanceof $) ? oc.get(0) : (/parent/.test(oc)) ? el.parent().get(0) : oc; - if (!ce) return; - - self.containerElement = $(ce); - - if (/document/.test(oc) || oc == document) { - self.containerOffset = { left: 0, top: 0 }; - self.containerPosition = { left: 0, top: 0 }; - - self.parentData = { - element: $(document), left: 0, top: 0, - width: $(document).width(), height: $(document).height() || document.body.parentNode.scrollHeight - }; - } - - - // i'm a node, so compute top, left, right, bottom - else{ - self.containerOffset = $(ce).offset(); - self.containerPosition = $(ce).position(); - self.containerSize = { height: $(ce).innerHeight(), width: $(ce).innerWidth() }; - - var co = self.containerOffset, ch = self.containerSize.height, cw = self.containerSize.width, - width = ($.ui.hasScroll(ce, "left") ? ce.scrollWidth : cw ), height = ($.ui.hasScroll(ce) ? ce.scrollHeight : ch); - - self.parentData = { - element: ce, left: co.left, top: co.top, width: width, height: height - }; - } - }, - - resize: function(e, ui) { - var o = ui.options, self = $(this).data("resizable"), - ps = self.containerSize, co = self.containerOffset, cs = self.size, cp = self.position, - pRatio = o._aspectRatio || e.shiftKey, cop = { top:0, left:0 }, ce = self.containerElement; - - if (ce[0] != document && /static/.test(ce.css('position'))) - cop = self.containerPosition; - - if (cp.left < (o.helper ? co.left : cop.left)) { - self.size.width = self.size.width + (o.helper ? (self.position.left - co.left) : (self.position.left - cop.left)); - if (pRatio) self.size.height = self.size.width / o.aspectRatio; - self.position.left = o.helper ? co.left : cop.left; - } - - if (cp.top < (o.helper ? co.top : 0)) { - self.size.height = self.size.height + (o.helper ? (self.position.top - co.top) : self.position.top); - if (pRatio) self.size.width = self.size.height * o.aspectRatio; - self.position.top = o.helper ? co.top : 0; - } - - var woset = (o.helper ? self.offset.left - co.left : (self.position.left - cop.left)) + self.sizeDiff.width, - hoset = (o.helper ? self.offset.top - co.top : self.position.top) + self.sizeDiff.height; - - if (woset + self.size.width >= self.parentData.width) { - self.size.width = self.parentData.width - woset; - if (pRatio) self.size.height = self.size.width / o.aspectRatio; - } - - if (hoset + self.size.height >= self.parentData.height) { - self.size.height = self.parentData.height - hoset; - if (pRatio) self.size.width = self.size.height * o.aspectRatio; - } - }, - - stop: function(e, ui){ - var o = ui.options, self = $(this).data("resizable"), cp = self.position, - co = self.containerOffset, cop = self.containerPosition, ce = self.containerElement; - - var helper = $(self.helper), ho = helper.offset(), w = helper.innerWidth(), h = helper.innerHeight(); - - - if (o.helper && !o.animate && /relative/.test(ce.css('position'))) - $(this).css({ left: (ho.left - co.left), top: (ho.top - co.top), width: w, height: h }); - - if (o.helper && !o.animate && /static/.test(ce.css('position'))) - $(this).css({ left: cop.left + (ho.left - co.left), top: cop.top + (ho.top - co.top), width: w, height: h }); - - } -}); - -$.ui.plugin.add("resizable", "grid", { - - resize: function(e, ui) { - var o = ui.options, self = $(this).data("resizable"), cs = self.size, os = self.originalSize, op = self.originalPosition, a = self.axis, ratio = o._aspectRatio || e.shiftKey; - o.grid = typeof o.grid == "number" ? [o.grid, o.grid] : o.grid; - var ox = Math.round((cs.width - os.width) / (o.grid[0]||1)) * (o.grid[0]||1), oy = Math.round((cs.height - os.height) / (o.grid[1]||1)) * (o.grid[1]||1); - - if (/^(se|s|e)$/.test(a)) { - self.size.width = os.width + ox; - self.size.height = os.height + oy; - } - else if (/^(ne)$/.test(a)) { - self.size.width = os.width + ox; - self.size.height = os.height + oy; - self.position.top = op.top - oy; - } - else if (/^(sw)$/.test(a)) { - self.size.width = os.width + ox; - self.size.height = os.height + oy; - self.position.left = op.left - ox; - } - else { - self.size.width = os.width + ox; - self.size.height = os.height + oy; - self.position.top = op.top - oy; - self.position.left = op.left - ox; - } - } - -}); - -$.ui.plugin.add("resizable", "animate", { - - stop: function(e, ui) { - var o = ui.options, self = $(this).data("resizable"); - - var pr = o.proportionallyResize, ista = pr && (/textarea/i).test(pr.get(0).nodeName), - soffseth = ista && $.ui.hasScroll(pr.get(0), 'left') /* TODO - jump height */ ? 0 : self.sizeDiff.height, - soffsetw = ista ? 0 : self.sizeDiff.width; - - var style = { width: (self.size.width - soffsetw), height: (self.size.height - soffseth) }, - left = (parseInt(self.element.css('left'), 10) + (self.position.left - self.originalPosition.left)) || null, - top = (parseInt(self.element.css('top'), 10) + (self.position.top - self.originalPosition.top)) || null; - - self.element.animate( - $.extend(style, top && left ? { top: top, left: left } : {}), { - duration: o.animateDuration || "slow", easing: o.animateEasing || "swing", - step: function() { - - var data = { - width: parseInt(self.element.css('width'), 10), - height: parseInt(self.element.css('height'), 10), - top: parseInt(self.element.css('top'), 10), - left: parseInt(self.element.css('left'), 10) - }; - - if (pr) pr.css({ width: data.width, height: data.height }); - - // propagating resize, and updating values for each animation step - self._updateCache(data); - self._propagate("animate", e); - - } - } - ); - } - -}); - -$.ui.plugin.add("resizable", "ghost", { - - start: function(e, ui) { - var o = ui.options, self = $(this).data("resizable"), pr = o.proportionallyResize, cs = self.size; - - if (!pr) self.ghost = self.element.clone(); - else self.ghost = pr.clone(); - - self.ghost.css( - { opacity: .25, display: 'block', position: 'relative', height: cs.height, width: cs.width, margin: 0, left: 0, top: 0 } - ) - .addClass('ui-resizable-ghost').addClass(typeof o.ghost == 'string' ? o.ghost : ''); - - self.ghost.appendTo(self.helper); - - }, - - resize: function(e, ui){ - var o = ui.options, self = $(this).data("resizable"), pr = o.proportionallyResize; - - if (self.ghost) self.ghost.css({ position: 'relative', height: self.size.height, width: self.size.width }); - - }, - - stop: function(e, ui){ - var o = ui.options, self = $(this).data("resizable"), pr = o.proportionallyResize; - if (self.ghost && self.helper) self.helper.get(0).removeChild(self.ghost.get(0)); - } - -}); - -$.ui.plugin.add("resizable", "alsoResize", { - - start: function(e, ui) { - var o = ui.options, self = $(this).data("resizable"), - - _store = function(exp) { - $(exp).each(function() { - $(this).data("resizable-alsoresize", { - width: parseInt($(this).width(), 10), height: parseInt($(this).height(), 10), - left: parseInt($(this).css('left'), 10), top: parseInt($(this).css('top'), 10) - }); - }); - }; - - if (typeof(o.alsoResize) == 'object') { - if (o.alsoResize.length) { o.alsoResize = o.alsoResize[0]; _store(o.alsoResize); } - else { $.each(o.alsoResize, function(exp, c) { _store(exp); }); } - }else{ - _store(o.alsoResize); - } - }, - - resize: function(e, ui){ - var o = ui.options, self = $(this).data("resizable"), os = self.originalSize, op = self.originalPosition; - - var delta = { - height: (self.size.height - os.height) || 0, width: (self.size.width - os.width) || 0, - top: (self.position.top - op.top) || 0, left: (self.position.left - op.left) || 0 - }, - - _alsoResize = function(exp, c) { - $(exp).each(function() { - var start = $(this).data("resizable-alsoresize"), style = {}, css = c && c.length ? c : ['width', 'height', 'top', 'left']; - - $.each(css || ['width', 'height', 'top', 'left'], function(i, prop) { - var sum = (start[prop]||0) + (delta[prop]||0); - if (sum && sum >= 0) - style[prop] = sum || null; - }); - $(this).css(style); - }); - }; - - if (typeof(o.alsoResize) == 'object') { - $.each(o.alsoResize, function(exp, c) { _alsoResize(exp, c); }); - }else{ - _alsoResize(o.alsoResize); - } - }, - - stop: function(e, ui){ - $(this).removeData("resizable-alsoresize-start"); - } -}); - -})(jQuery); -/* - * jQuery UI Selectable 1.6rc2 - - * - * Copyright (c) 2008 Richard D. Worth (rdworth.org) - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * http://docs.jquery.com/UI/Selectables - * - * Depends: - * ui.core.js - */ -(function($) { - -$.widget("ui.selectable", $.extend({}, $.ui.mouse, { - _init: function() { - var self = this; - - this.element.addClass("ui-selectable"); - - this.dragged = false; - - // cache selectee children based on filter - var selectees; - this.refresh = function() { - selectees = $(self.options.filter, self.element[0]); - selectees.each(function() { - var $this = $(this); - var pos = $this.offset(); - $.data(this, "selectable-item", { - element: this, - $element: $this, - left: pos.left, - top: pos.top, - right: pos.left + $this.width(), - bottom: pos.top + $this.height(), - startselected: false, - selected: $this.hasClass('ui-selected'), - selecting: $this.hasClass('ui-selecting'), - unselecting: $this.hasClass('ui-unselecting') - }); - }); - }; - this.refresh(); - - this.selectees = selectees.addClass("ui-selectee"); - - this._mouseInit(); - - this.helper = $(document.createElement('div')) - .css({border:'1px dotted black'}) - .addClass("ui-selectable-helper"); - }, - toggle: function() { - if(this.options.disabled){ - this.enable(); - } else { - this.disable(); - } - }, - destroy: function() { - this.element - .removeClass("ui-selectable ui-selectable-disabled") - .removeData("selectable") - .unbind(".selectable"); - this._mouseDestroy(); - }, - _mouseStart: function(e) { - var self = this; - - this.opos = [e.pageX, e.pageY]; - - if (this.options.disabled) - return; - - var options = this.options; - - this.selectees = $(options.filter, this.element[0]); - - // selectable START callback - this.element.triggerHandler("selectablestart", [e, { - "selectable": this.element[0], - "options": options - }], options.start); - - $('body').append(this.helper); - // position helper (lasso) - this.helper.css({ - "z-index": 100, - "position": "absolute", - "left": e.clientX, - "top": e.clientY, - "width": 0, - "height": 0 - }); - - if (options.autoRefresh) { - this.refresh(); - } - - this.selectees.filter('.ui-selected').each(function() { - var selectee = $.data(this, "selectable-item"); - selectee.startselected = true; - if (!e.metaKey) { - selectee.$element.removeClass('ui-selected'); - selectee.selected = false; - selectee.$element.addClass('ui-unselecting'); - selectee.unselecting = true; - // selectable UNSELECTING callback - self.element.triggerHandler("selectableunselecting", [e, { - selectable: self.element[0], - unselecting: selectee.element, - options: options - }], options.unselecting); - } - }); - - var isSelectee = false; - $(e.target).parents().andSelf().each(function() { - if($.data(this, "selectable-item")) isSelectee = true; - }); - return this.options.keyboard ? !isSelectee : true; - }, - _mouseDrag: function(e) { - var self = this; - this.dragged = true; - - if (this.options.disabled) - return; - - var options = this.options; - - var x1 = this.opos[0], y1 = this.opos[1], x2 = e.pageX, y2 = e.pageY; - if (x1 > x2) { var tmp = x2; x2 = x1; x1 = tmp; } - if (y1 > y2) { var tmp = y2; y2 = y1; y1 = tmp; } - this.helper.css({left: x1, top: y1, width: x2-x1, height: y2-y1}); - - this.selectees.each(function() { - var selectee = $.data(this, "selectable-item"); - //prevent helper from being selected if appendTo: selectable - if (!selectee || selectee.element == self.element[0]) - return; - var hit = false; - if (options.tolerance == 'touch') { - hit = ( !(selectee.left > x2 || selectee.right < x1 || selectee.top > y2 || selectee.bottom < y1) ); - } else if (options.tolerance == 'fit') { - hit = (selectee.left > x1 && selectee.right < x2 && selectee.top > y1 && selectee.bottom < y2); - } - - if (hit) { - // SELECT - if (selectee.selected) { - selectee.$element.removeClass('ui-selected'); - selectee.selected = false; - } - if (selectee.unselecting) { - selectee.$element.removeClass('ui-unselecting'); - selectee.unselecting = false; - } - if (!selectee.selecting) { - selectee.$element.addClass('ui-selecting'); - selectee.selecting = true; - // selectable SELECTING callback - self.element.triggerHandler("selectableselecting", [e, { - selectable: self.element[0], - selecting: selectee.element, - options: options - }], options.selecting); - } - } else { - // UNSELECT - if (selectee.selecting) { - if (e.metaKey && selectee.startselected) { - selectee.$element.removeClass('ui-selecting'); - selectee.selecting = false; - selectee.$element.addClass('ui-selected'); - selectee.selected = true; - } else { - selectee.$element.removeClass('ui-selecting'); - selectee.selecting = false; - if (selectee.startselected) { - selectee.$element.addClass('ui-unselecting'); - selectee.unselecting = true; - } - // selectable UNSELECTING callback - self.element.triggerHandler("selectableunselecting", [e, { - selectable: self.element[0], - unselecting: selectee.element, - options: options - }], options.unselecting); - } - } - if (selectee.selected) { - if (!e.metaKey && !selectee.startselected) { - selectee.$element.removeClass('ui-selected'); - selectee.selected = false; - - selectee.$element.addClass('ui-unselecting'); - selectee.unselecting = true; - // selectable UNSELECTING callback - self.element.triggerHandler("selectableunselecting", [e, { - selectable: self.element[0], - unselecting: selectee.element, - options: options - }], options.unselecting); - } - } - } - }); - - return false; - }, - _mouseStop: function(e) { - var self = this; - - this.dragged = false; - - var options = this.options; - - $('.ui-unselecting', this.element[0]).each(function() { - var selectee = $.data(this, "selectable-item"); - selectee.$element.removeClass('ui-unselecting'); - selectee.unselecting = false; - selectee.startselected = false; - self.element.triggerHandler("selectableunselected", [e, { - selectable: self.element[0], - unselected: selectee.element, - options: options - }], options.unselected); - }); - $('.ui-selecting', this.element[0]).each(function() { - var selectee = $.data(this, "selectable-item"); - selectee.$element.removeClass('ui-selecting').addClass('ui-selected'); - selectee.selecting = false; - selectee.selected = true; - selectee.startselected = true; - self.element.triggerHandler("selectableselected", [e, { - selectable: self.element[0], - selected: selectee.element, - options: options - }], options.selected); - }); - this.element.triggerHandler("selectablestop", [e, { - selectable: self.element[0], - options: this.options - }], this.options.stop); - - this.helper.remove(); - - return false; - } -})); - -$.extend($.ui.selectable, { - defaults: { - distance: 1, - delay: 0, - cancel: ":input", - appendTo: 'body', - autoRefresh: true, - filter: '*', - tolerance: 'touch' - } -}); - -})(jQuery); -/* - * jQuery UI Sortable 1.6rc2 - - * - * Copyright (c) 2008 Paul Bakaus - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * http://docs.jquery.com/UI/Sortables - * - * Depends: - * ui.core.js - */ -(function($) { - -function contains(a, b) { - var safari2 = $.browser.safari && $.browser.version < 522; - if (a.contains && !safari2) { - return a.contains(b); - } - if (a.compareDocumentPosition) - return !!(a.compareDocumentPosition(b) & 16); - while (b = b.parentNode) - if (b == a) return true; - return false; -}; - -$.widget("ui.sortable", $.extend({}, $.ui.mouse, { - _init: function() { - - var o = this.options; - this.containerCache = {}; - this.element.addClass("ui-sortable"); - - //Get the items - this.refresh(); - - //Let's determine if the items are floating - this.floating = this.items.length ? (/left|right/).test(this.items[0].item.css('float')) : false; - - //Let's determine the parent's offset - this.offset = this.element.offset(); - - //Initialize mouse events for interaction - this._mouseInit(); - - }, - plugins: {}, - ui: function(inst) { - return { - helper: (inst || this)["helper"], - placeholder: (inst || this)["placeholder"] || $([]), - position: (inst || this)["position"], - absolutePosition: (inst || this)["positionAbs"], - options: this.options, - element: this.element, - item: (inst || this)["currentItem"], - sender: inst ? inst.element : null - }; - }, - - _propagate: function(n,e,inst, noPropagation) { - $.ui.plugin.call(this, n, [e, this.ui(inst)]); - if(!noPropagation) this.element.triggerHandler(n == "sort" ? n : "sort"+n, [e, this.ui(inst)], this.options[n]); - }, - - serialize: function(o) { - - var items = this._getItemsAsjQuery(o && o.connected); - var str = []; o = o || {}; - - $(items).each(function() { - var res = ($(this.item || this).attr(o.attribute || 'id') || '').match(o.expression || (/(.+)[-=_](.+)/)); - if(res) str.push((o.key || res[1]+'[]')+'='+(o.key && o.expression ? res[1] : res[2])); - }); - - return str.join('&'); - - }, - - toArray: function(o) { - - var items = this._getItemsAsjQuery(o && o.connected); - var ret = []; - - items.each(function() { ret.push($(this).attr(o.attr || 'id')); }); - return ret; - - }, - - /* Be careful with the following core functions */ - _intersectsWith: function(item) { - var x1 = this.positionAbs.left, x2 = x1 + this.helperProportions.width, - y1 = this.positionAbs.top, y2 = y1 + this.helperProportions.height; - var l = item.left, r = l + item.width, - t = item.top, b = t + item.height; - - var dyClick = this.offset.click.top, dxClick = this.offset.click.left; - var isOverElement = (y1 + dyClick) > t && (y1 + dyClick) < b && (x1 + dxClick) > l && (x1 + dxClick) < r; - - if(this.options.tolerance == "pointer" || this.options.forcePointerForContainers || (this.options.tolerance == "guess" && this.helperProportions[this.floating ? 'width' : 'height'] > item[this.floating ? 'width' : 'height'])) { - return isOverElement; - } else { - - return (l < x1 + (this.helperProportions.width / 2) // Right Half - && x2 - (this.helperProportions.width / 2) < r // Left Half - && t < y1 + (this.helperProportions.height / 2) // Bottom Half - && y2 - (this.helperProportions.height / 2) < b ); // Top Half - - } - }, - - _intersectsWithEdge: function(item) { - var x1 = this.positionAbs.left, x2 = x1 + this.helperProportions.width, - y1 = this.positionAbs.top, y2 = y1 + this.helperProportions.height; - - var l = item.left, r = l + item.width, - t = item.top, b = t + item.height; - - var dyClick = this.offset.click.top, dxClick = this.offset.click.left; - var isOverElement = (y1 + dyClick) > t && (y1 + dyClick) < b && (x1 + dxClick) > l && (x1 + dxClick) < r; - - if(this.options.tolerance == "pointer" || (this.options.tolerance == "guess" && this.helperProportions[this.floating ? 'width' : 'height'] > item[this.floating ? 'width' : 'height'])) { - if(!isOverElement) return false; - - if(this.floating) { - if ((x1 + dxClick) > l && (x1 + dxClick) < l + item.width/2) return 2; - if ((x1 + dxClick) > l + item.width/2 && (x1 + dxClick) < r) return 1; - } else { - var height = item.height; - var direction = y1 - this.updateOriginalPosition.top < 0 ? 2 : 1; // 2 = up - - if (direction == 1 && (y1 + dyClick) < t + height/2) { return 2; } // up - else if (direction == 2 && (y1 + dyClick) > t + height/2) { return 1; } // down - } - - } else { - if (!(l < x1 + (this.helperProportions.width / 2) // Right Half - && x2 - (this.helperProportions.width / 2) < r // Left Half - && t < y1 + (this.helperProportions.height / 2) // Bottom Half - && y2 - (this.helperProportions.height / 2) < b )) return false; // Top Half - - if(this.floating) { - if(x2 > l && x1 < l) return 2; //Crosses left edge - if(x1 < r && x2 > r) return 1; //Crosses right edge - } else { - if(y2 > t && y1 < t) return 1; //Crosses top edge - if(y1 < b && y2 > b) return 2; //Crosses bottom edge - } - } - - return false; - - }, - - refresh: function() { - this._refreshItems(); - this.refreshPositions(); - }, - - _getItemsAsjQuery: function(connected) { - - var self = this; - var items = []; - var queries = []; - - if(this.options.connectWith && connected) { - for (var i = this.options.connectWith.length - 1; i >= 0; i--){ - var cur = $(this.options.connectWith[i]); - for (var j = cur.length - 1; j >= 0; j--){ - var inst = $.data(cur[j], 'sortable'); - if(inst && inst != this && !inst.options.disabled) { - queries.push([$.isFunction(inst.options.items) ? inst.options.items.call(inst.element) : $(inst.options.items, inst.element).not(".ui-sortable-helper"), inst]); - } - }; - }; - } - - queries.push([$.isFunction(this.options.items) ? this.options.items.call(this.element, null, { options: this.options, item: this.currentItem }) : $(this.options.items, this.element).not(".ui-sortable-helper"), this]); - - for (var i = queries.length - 1; i >= 0; i--){ - queries[i][0].each(function() { - items.push(this); - }); - }; - - return $(items); - - }, - - _removeCurrentsFromItems: function() { - - var list = this.currentItem.find(":data(sortable-item)"); - - for (var i=0; i < this.items.length; i++) { - - for (var j=0; j < list.length; j++) { - if(list[j] == this.items[i].item[0]) - this.items.splice(i,1); - }; - - }; - - }, - - _refreshItems: function() { - - this.items = []; - this.containers = [this]; - var items = this.items; - var self = this; - var queries = [[$.isFunction(this.options.items) ? this.options.items.call(this.element, null, { options: this.options, item: this.currentItem }) : $(this.options.items, this.element), this]]; - - if(this.options.connectWith) { - for (var i = this.options.connectWith.length - 1; i >= 0; i--){ - var cur = $(this.options.connectWith[i]); - for (var j = cur.length - 1; j >= 0; j--){ - var inst = $.data(cur[j], 'sortable'); - if(inst && inst != this && !inst.options.disabled) { - queries.push([$.isFunction(inst.options.items) ? inst.options.items.call(inst.element) : $(inst.options.items, inst.element), inst]); - this.containers.push(inst); - } - }; - }; - } - - for (var i = queries.length - 1; i >= 0; i--){ - queries[i][0].each(function() { - $.data(this, 'sortable-item', queries[i][1]); // Data for target checking (mouse manager) - items.push({ - item: $(this), - instance: queries[i][1], - width: 0, height: 0, - left: 0, top: 0 - }); - }); - }; - - }, - - refreshPositions: function(fast) { - - //This has to be redone because due to the item being moved out/into the offsetParent, the offsetParent's position will change - if(this.offsetParent) { - var po = this.offsetParent.offset(); - this.offset.parent = { top: po.top + this.offsetParentBorders.top, left: po.left + this.offsetParentBorders.left }; - } - - for (var i = this.items.length - 1; i >= 0; i--){ - - //We ignore calculating positions of all connected containers when we're not over them - if(this.items[i].instance != this.currentContainer && this.currentContainer && this.items[i].item[0] != this.currentItem[0]) - continue; - - var t = this.options.toleranceElement ? $(this.options.toleranceElement, this.items[i].item) : this.items[i].item; - - if(!fast) { - this.items[i].width = t[0].offsetWidth; - this.items[i].height = t[0].offsetHeight; - } - - var p = t.offset(); - this.items[i].left = p.left; - this.items[i].top = p.top; - - }; - - if(this.options.custom && this.options.custom.refreshContainers) { - this.options.custom.refreshContainers.call(this); - } else { - for (var i = this.containers.length - 1; i >= 0; i--){ - var p =this.containers[i].element.offset(); - this.containers[i].containerCache.left = p.left; - this.containers[i].containerCache.top = p.top; - this.containers[i].containerCache.width = this.containers[i].element.outerWidth(); - this.containers[i].containerCache.height = this.containers[i].element.outerHeight(); - }; - } - - }, - - destroy: function() { - this.element - .removeClass("ui-sortable ui-sortable-disabled") - .removeData("sortable") - .unbind(".sortable"); - this._mouseDestroy(); - - for ( var i = this.items.length - 1; i >= 0; i-- ) - this.items[i].item.removeData("sortable-item"); - }, - - _createPlaceholder: function(that) { - - var self = that || this, o = self.options; - - if(!o.placeholder || o.placeholder.constructor == String) { - var className = o.placeholder; - o.placeholder = { - element: function() { - var el = $(document.createElement(self.currentItem[0].nodeName)).addClass(className || "ui-sortable-placeholder")[0]; - - if(!className) { - el.style.visibility = "hidden"; - document.body.appendChild(el); - el.innerHTML = self.currentItem[0].innerHTML; - document.body.removeChild(el); - }; - - return el; - }, - update: function(container, p) { - if(className && !o.forcePlaceholderSize) return; - if(!p.height()) { p.height(self.currentItem.innerHeight() - parseInt(self.currentItem.css('paddingTop')||0, 10) - parseInt(self.currentItem.css('paddingBottom')||0, 10)); }; - if(!p.width()) { p.width(self.currentItem.innerWidth() - parseInt(self.currentItem.css('paddingLeft')||0, 10) - parseInt(self.currentItem.css('paddingRight')||0, 10)); }; - } - }; - } - - self.placeholder = $(o.placeholder.element.call(self.element, self.currentItem)) - self.currentItem.parent()[0].appendChild(self.placeholder[0]); - self.placeholder[0].parentNode.insertBefore(self.placeholder[0], self.currentItem[0]); - o.placeholder.update(self, self.placeholder); - }, - - _contactContainers: function(e) { - for (var i = this.containers.length - 1; i >= 0; i--){ - - if(this._intersectsWith(this.containers[i].containerCache)) { - if(!this.containers[i].containerCache.over) { - - - if(this.currentContainer != this.containers[i]) { - - //When entering a new container, we will find the item with the least distance and append our item near it - var dist = 10000; var itemWithLeastDistance = null; var base = this.positionAbs[this.containers[i].floating ? 'left' : 'top']; - for (var j = this.items.length - 1; j >= 0; j--) { - if(!contains(this.containers[i].element[0], this.items[j].item[0])) continue; - var cur = this.items[j][this.containers[i].floating ? 'left' : 'top']; - if(Math.abs(cur - base) < dist) { - dist = Math.abs(cur - base); itemWithLeastDistance = this.items[j]; - } - } - - if(!itemWithLeastDistance && !this.options.dropOnEmpty) //Check if dropOnEmpty is enabled - continue; - - this.currentContainer = this.containers[i]; - itemWithLeastDistance ? this.options.sortIndicator.call(this, e, itemWithLeastDistance, null, true) : this.options.sortIndicator.call(this, e, null, this.containers[i].element, true); - this._propagate("change", e); //Call plugins and callbacks - this.containers[i]._propagate("change", e, this); //Call plugins and callbacks - - //Update the placeholder - this.options.placeholder.update(this.currentContainer, this.placeholder); - - } - - this.containers[i]._propagate("over", e, this); - this.containers[i].containerCache.over = 1; - } - } else { - if(this.containers[i].containerCache.over) { - this.containers[i]._propagate("out", e, this); - this.containers[i].containerCache.over = 0; - } - } - - }; - }, - - _mouseCapture: function(e, overrideHandle) { - - if(this.options.disabled || this.options.type == 'static') return false; - - //We have to refresh the items data once first - this._refreshItems(); - - //Find out if the clicked node (or one of its parents) is a actual item in this.items - var currentItem = null, self = this, nodes = $(e.target).parents().each(function() { - if($.data(this, 'sortable-item') == self) { - currentItem = $(this); - return false; - } - }); - if($.data(e.target, 'sortable-item') == self) currentItem = $(e.target); - - if(!currentItem) return false; - if(this.options.handle && !overrideHandle) { - var validHandle = false; - - $(this.options.handle, currentItem).find("*").andSelf().each(function() { if(this == e.target) validHandle = true; }); - if(!validHandle) return false; - } - - this.currentItem = currentItem; - this._removeCurrentsFromItems(); - return true; - - }, - - createHelper: function(e) { - - var o = this.options; - var helper = typeof o.helper == 'function' ? $(o.helper.apply(this.element[0], [e, this.currentItem])) : (o.helper == "original" ? this.currentItem : this.currentItem.clone()); - - if (!helper.parents('body').length) - $(o.appendTo != 'parent' ? o.appendTo : this.currentItem[0].parentNode)[0].appendChild(helper[0]); //Add the helper to the DOM if that didn't happen already - - return helper; - - }, - - _mouseStart: function(e, overrideHandle, noActivation) { - - var o = this.options; - this.currentContainer = this; - - //We only need to call refreshPositions, because the refreshItems call has been moved to mouseCapture - this.refreshPositions(); - - //Create and append the visible helper - this.helper = this.createHelper(e); - - /* - * - Position generation - - * This block generates everything position related - it's the core of draggables. - */ - - this.margins = { //Cache the margins - left: (parseInt(this.currentItem.css("marginLeft"),10) || 0), - top: (parseInt(this.currentItem.css("marginTop"),10) || 0) - }; - - this.offset = this.currentItem.offset(); //The element's absolute position on the page - this.offset = { //Substract the margins from the element's absolute offset - top: this.offset.top - this.margins.top, - left: this.offset.left - this.margins.left - }; - - this.offset.click = { //Where the click happened, relative to the element - left: e.pageX - this.offset.left, - top: e.pageY - this.offset.top - }; - - this.offsetParent = this.helper.offsetParent(); //Get the offsetParent and cache its position - var po = this.offsetParent.offset(); - - this.offsetParentBorders = { - top: (parseInt(this.offsetParent.css("borderTopWidth"),10) || 0), - left: (parseInt(this.offsetParent.css("borderLeftWidth"),10) || 0) - }; - - this.offset.parent = { //Store its position plus border - top: po.top + this.offsetParentBorders.top, - left: po.left + this.offsetParentBorders.left - }; - - this.updateOriginalPosition = this.originalPosition = this._generatePosition(e); //Generate the original position - this.domPosition = { prev: this.currentItem.prev()[0], parent: this.currentItem.parent()[0] }; //Cache the former DOM position - - //If o.placeholder is used, create a new element at the given position with the class - this.helperProportions = { width: this.helper.outerWidth(), height: this.helper.outerHeight() };//Cache the helper size - - - if(o.helper == "original") { - this._storedCSS = { position: this.currentItem.css("position"), top: this.currentItem.css("top"), left: this.currentItem.css("left"), clear: this.currentItem.css("clear") }; - } else { - this.currentItem.hide(); //Hide the original, won't cause anything bad this way - } - - //Position it absolutely and add a helper class - this.helper - .css({ position: 'absolute', clear: 'both' }) - .addClass('ui-sortable-helper'); - - //Create the placeholder - this._createPlaceholder(); - - //Call plugins and callbacks - this._propagate("start", e); - - //Recache the helper size - if(!this._preserveHelperProportions) - this.helperProportions = { width: this.helper.outerWidth(), height: this.helper.outerHeight() }; - - if(o.cursorAt) { - if(o.cursorAt.left != undefined) this.offset.click.left = o.cursorAt.left; - if(o.cursorAt.right != undefined) this.offset.click.left = this.helperProportions.width - o.cursorAt.right; - if(o.cursorAt.top != undefined) this.offset.click.top = o.cursorAt.top; - if(o.cursorAt.bottom != undefined) this.offset.click.top = this.helperProportions.height - o.cursorAt.bottom; - } - - /* - * - Position constraining - - * Here we prepare position constraining like grid and containment. - */ - - if(o.containment) { - if(o.containment == 'parent') o.containment = this.helper[0].parentNode; - if(o.containment == 'document' || o.containment == 'window') this.containment = [ - 0 - this.offset.parent.left, - 0 - this.offset.parent.top, - $(o.containment == 'document' ? document : window).width() - this.offset.parent.left - this.helperProportions.width - this.margins.left - (parseInt(this.element.css("marginRight"),10) || 0), - ($(o.containment == 'document' ? document : window).height() || document.body.parentNode.scrollHeight) - this.offset.parent.top - this.helperProportions.height - this.margins.top - (parseInt(this.element.css("marginBottom"),10) || 0) - ]; - - if(!(/^(document|window|parent)$/).test(o.containment)) { - var ce = $(o.containment)[0]; - var co = $(o.containment).offset(); - var over = ($(ce).css("overflow") != 'hidden'); - - this.containment = [ - co.left + (parseInt($(ce).css("borderLeftWidth"),10) || 0) - this.offset.parent.left, - co.top + (parseInt($(ce).css("borderTopWidth"),10) || 0) - this.offset.parent.top, - co.left+(over ? Math.max(ce.scrollWidth,ce.offsetWidth) : ce.offsetWidth) - (parseInt($(ce).css("borderLeftWidth"),10) || 0) - this.offset.parent.left - this.helperProportions.width - this.margins.left - (parseInt(this.currentItem.css("marginRight"),10) || 0), - co.top+(over ? Math.max(ce.scrollHeight,ce.offsetHeight) : ce.offsetHeight) - (parseInt($(ce).css("borderTopWidth"),10) || 0) - this.offset.parent.top - this.helperProportions.height - this.margins.top - (parseInt(this.currentItem.css("marginBottom"),10) || 0) - ]; - } - } - - //Post 'activate' events to possible containers - if(!noActivation) { - for (var i = this.containers.length - 1; i >= 0; i--) { this.containers[i]._propagate("activate", e, this); } - } - - //Prepare possible droppables - if($.ui.ddmanager) - $.ui.ddmanager.current = this; - - if ($.ui.ddmanager && !o.dropBehaviour) - $.ui.ddmanager.prepareOffsets(this, e); - - this.dragging = true; - - this._mouseDrag(e); //Execute the drag once - this causes the helper not to be visible before getting its correct position - return true; - - - }, - - _convertPositionTo: function(d, pos) { - if(!pos) pos = this.position; - var mod = d == "absolute" ? 1 : -1; - return { - top: ( - pos.top // the calculated relative position - + this.offset.parent.top * mod // The offsetParent's offset without borders (offset + border) - - (this.offsetParent[0] == document.body ? 0 : this.offsetParent[0].scrollTop) * mod // The offsetParent's scroll position - + this.margins.top * mod //Add the margin (you don't want the margin counting in intersection methods) - ), - left: ( - pos.left // the calculated relative position - + this.offset.parent.left * mod // The offsetParent's offset without borders (offset + border) - - (this.offsetParent[0] == document.body ? 0 : this.offsetParent[0].scrollLeft) * mod // The offsetParent's scroll position - + this.margins.left * mod //Add the margin (you don't want the margin counting in intersection methods) - ) - }; - }, - - _generatePosition: function(e) { - - var o = this.options; - var position = { - top: ( - e.pageY // The absolute mouse position - - this.offset.click.top // Click offset (relative to the element) - - this.offset.parent.top // The offsetParent's offset without borders (offset + border) - + (this.offsetParent[0] == document.body ? 0 : this.offsetParent[0].scrollTop) // The offsetParent's scroll position, not if the element is fixed - ), - left: ( - e.pageX // The absolute mouse position - - this.offset.click.left // Click offset (relative to the element) - - this.offset.parent.left // The offsetParent's offset without borders (offset + border) - + (this.offsetParent[0] == document.body ? 0 : this.offsetParent[0].scrollLeft) // The offsetParent's scroll position, not if the element is fixed - ) - }; - - if(!this.originalPosition) return position; //If we are not dragging yet, we won't check for options - - /* - * - Position constraining - - * Constrain the position to a mix of grid, containment. - */ - if(this.containment) { - if(position.left < this.containment[0]) position.left = this.containment[0]; - if(position.top < this.containment[1]) position.top = this.containment[1]; - if(position.left > this.containment[2]) position.left = this.containment[2]; - if(position.top > this.containment[3]) position.top = this.containment[3]; - } - - if(o.grid) { - var top = this.originalPosition.top + Math.round((position.top - this.originalPosition.top) / o.grid[1]) * o.grid[1]; - position.top = this.containment ? (!(top < this.containment[1] || top > this.containment[3]) ? top : (!(top < this.containment[1]) ? top - o.grid[1] : top + o.grid[1])) : top; - - var left = this.originalPosition.left + Math.round((position.left - this.originalPosition.left) / o.grid[0]) * o.grid[0]; - position.left = this.containment ? (!(left < this.containment[0] || left > this.containment[2]) ? left : (!(left < this.containment[0]) ? left - o.grid[0] : left + o.grid[0])) : left; - } - - return position; - }, - - _mouseDrag: function(e) { - - //Compute the helpers position - this.position = this._generatePosition(e); - this.positionAbs = this._convertPositionTo("absolute"); - - //Call the internal plugins - $.ui.plugin.call(this, "sort", [e, this.ui()]); - - //Regenerate the absolute position used for position checks - this.positionAbs = this._convertPositionTo("absolute"); - - //Set the helper's position - this.helper[0].style.left = this.position.left+'px'; - this.helper[0].style.top = this.position.top+'px'; - - //Rearrange - for (var i = this.items.length - 1; i >= 0; i--) { - var intersection = this._intersectsWithEdge(this.items[i]); - if(!intersection) continue; - - if(this.items[i].item[0] != this.currentItem[0] //cannot intersect with itself - && this.placeholder[intersection == 1 ? "next" : "prev"]()[0] != this.items[i].item[0] //no useless actions that have been done before - && !contains(this.placeholder[0], this.items[i].item[0]) //no action if the item moved is the parent of the item checked - && (this.options.type == 'semi-dynamic' ? !contains(this.element[0], this.items[i].item[0]) : true) - ) { - - this.updateOriginalPosition = this._generatePosition(e); - - this.direction = intersection == 1 ? "down" : "up"; - this.options.sortIndicator.call(this, e, this.items[i]); - this._propagate("change", e); //Call plugins and callbacks - break; - } - } - - //Post events to containers - this._contactContainers(e); - - //Interconnect with droppables - if($.ui.ddmanager) $.ui.ddmanager.drag(this, e); - - //Call callbacks - this.element.triggerHandler("sort", [e, this.ui()], this.options["sort"]); - - return false; - - }, - - _rearrange: function(e, i, a, hardRefresh) { - - a ? a[0].appendChild(this.placeholder[0]) : i.item[0].parentNode.insertBefore(this.placeholder[0], (this.direction == 'down' ? i.item[0] : i.item[0].nextSibling)); - - //Various things done here to improve the performance: - // 1. we create a setTimeout, that calls refreshPositions - // 2. on the instance, we have a counter variable, that get's higher after every append - // 3. on the local scope, we copy the counter variable, and check in the timeout, if it's still the same - // 4. this lets only the last addition to the timeout stack through - this.counter = this.counter ? ++this.counter : 1; - var self = this, counter = this.counter; - - window.setTimeout(function() { - if(counter == self.counter) self.refreshPositions(!hardRefresh); //Precompute after each DOM insertion, NOT on mousemove - },0); - - }, - - _mouseStop: function(e, noPropagation) { - - //If we are using droppables, inform the manager about the drop - if ($.ui.ddmanager && !this.options.dropBehaviour) - $.ui.ddmanager.drop(this, e); - - if(this.options.revert) { - var self = this; - var cur = self.placeholder.offset(); - - $(this.helper).animate({ - left: cur.left - this.offset.parent.left - self.margins.left + (this.offsetParent[0] == document.body ? 0 : this.offsetParent[0].scrollLeft), - top: cur.top - this.offset.parent.top - self.margins.top + (this.offsetParent[0] == document.body ? 0 : this.offsetParent[0].scrollTop) - }, parseInt(this.options.revert, 10) || 500, function() { - self._clear(e); - }); - } else { - this._clear(e, noPropagation); - } - - return false; - - }, - - _clear: function(e, noPropagation) { - - //We first have to update the dom position of the actual currentItem - if(!this._noFinalSort) this.placeholder.before(this.currentItem); - this._noFinalSort = null; - - if(this.options.helper == "original") - this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"); - else - this.currentItem.show(); - - if(this.domPosition.prev != this.currentItem.prev().not(".ui-sortable-helper")[0] || this.domPosition.parent != this.currentItem.parent()[0]) this._propagate("update", e, null, noPropagation); //Trigger update callback if the DOM position has changed - if(!contains(this.element[0], this.currentItem[0])) { //Node was moved out of the current element - this._propagate("remove", e, null, noPropagation); - for (var i = this.containers.length - 1; i >= 0; i--){ - if(contains(this.containers[i].element[0], this.currentItem[0])) { - this.containers[i]._propagate("update", e, this, noPropagation); - this.containers[i]._propagate("receive", e, this, noPropagation); - } - }; - }; - - //Post events to containers - for (var i = this.containers.length - 1; i >= 0; i--){ - this.containers[i]._propagate("deactivate", e, this, noPropagation); - if(this.containers[i].containerCache.over) { - this.containers[i]._propagate("out", e, this); - this.containers[i].containerCache.over = 0; - } - } - - this.dragging = false; - if(this.cancelHelperRemoval) { - this._propagate("beforeStop", e, null, noPropagation); - this._propagate("stop", e, null, noPropagation); - return false; - } - - this._propagate("beforeStop", e, null, noPropagation); - - this.placeholder.remove(); - if(this.options.helper != "original") this.helper.remove(); this.helper = null; - this._propagate("stop", e, null, noPropagation); - - return true; - - } -})); - -$.extend($.ui.sortable, { - getter: "serialize toArray", - defaults: { - helper: "original", - tolerance: "guess", - distance: 1, - delay: 0, - scroll: true, - scrollSensitivity: 20, - scrollSpeed: 20, - cancel: ":input", - items: '> *', - zIndex: 1000, - dropOnEmpty: true, - appendTo: "parent", - sortIndicator: $.ui.sortable.prototype._rearrange, - scope: "default", - forcePlaceholderSize: false - } -}); - -/* - * Sortable Extensions - */ - -$.ui.plugin.add("sortable", "cursor", { - start: function(e, ui) { - var t = $('body'); - if (t.css("cursor")) ui.options._cursor = t.css("cursor"); - t.css("cursor", ui.options.cursor); - }, - beforeStop: function(e, ui) { - if (ui.options._cursor) $('body').css("cursor", ui.options._cursor); - } -}); - -$.ui.plugin.add("sortable", "zIndex", { - start: function(e, ui) { - var t = ui.helper; - if(t.css("zIndex")) ui.options._zIndex = t.css("zIndex"); - t.css('zIndex', ui.options.zIndex); - }, - beforeStop: function(e, ui) { - if(ui.options._zIndex) $(ui.helper).css('zIndex', ui.options._zIndex); - } -}); - -$.ui.plugin.add("sortable", "opacity", { - start: function(e, ui) { - var t = ui.helper; - if(t.css("opacity")) ui.options._opacity = t.css("opacity"); - t.css('opacity', ui.options.opacity); - }, - beforeStop: function(e, ui) { - if(ui.options._opacity) $(ui.helper).css('opacity', ui.options._opacity); - } -}); - -$.ui.plugin.add("sortable", "scroll", { - start: function(e, ui) { - var o = ui.options; - var i = $(this).data("sortable"); - - i.overflowY = function(el) { - do { if(/auto|scroll/.test(el.css('overflow')) || (/auto|scroll/).test(el.css('overflow-y'))) return el; el = el.parent(); } while (el[0].parentNode); - return $(document); - }(i.currentItem); - i.overflowX = function(el) { - do { if(/auto|scroll/.test(el.css('overflow')) || (/auto|scroll/).test(el.css('overflow-x'))) return el; el = el.parent(); } while (el[0].parentNode); - return $(document); - }(i.currentItem); - - if(i.overflowY[0] != document && i.overflowY[0].tagName != 'HTML') i.overflowYOffset = i.overflowY.offset(); - if(i.overflowX[0] != document && i.overflowX[0].tagName != 'HTML') i.overflowXOffset = i.overflowX.offset(); - - }, - sort: function(e, ui) { - - var o = ui.options; - var i = $(this).data("sortable"); - - if(i.overflowY[0] != document && i.overflowY[0].tagName != 'HTML') { - if((i.overflowYOffset.top + i.overflowY[0].offsetHeight) - e.pageY < o.scrollSensitivity) - i.overflowY[0].scrollTop = i.overflowY[0].scrollTop + o.scrollSpeed; - if(e.pageY - i.overflowYOffset.top < o.scrollSensitivity) - i.overflowY[0].scrollTop = i.overflowY[0].scrollTop - o.scrollSpeed; - } else { - if(e.pageY - $(document).scrollTop() < o.scrollSensitivity) - $(document).scrollTop($(document).scrollTop() - o.scrollSpeed); - if($(window).height() - (e.pageY - $(document).scrollTop()) < o.scrollSensitivity) - $(document).scrollTop($(document).scrollTop() + o.scrollSpeed); - } - - if(i.overflowX[0] != document && i.overflowX[0].tagName != 'HTML') { - if((i.overflowXOffset.left + i.overflowX[0].offsetWidth) - e.pageX < o.scrollSensitivity) - i.overflowX[0].scrollLeft = i.overflowX[0].scrollLeft + o.scrollSpeed; - if(e.pageX - i.overflowXOffset.left < o.scrollSensitivity) - i.overflowX[0].scrollLeft = i.overflowX[0].scrollLeft - o.scrollSpeed; - } else { - if(e.pageX - $(document).scrollLeft() < o.scrollSensitivity) - $(document).scrollLeft($(document).scrollLeft() - o.scrollSpeed); - if($(window).width() - (e.pageX - $(document).scrollLeft()) < o.scrollSensitivity) - $(document).scrollLeft($(document).scrollLeft() + o.scrollSpeed); - } - - } -}); - -$.ui.plugin.add("sortable", "axis", { - sort: function(e, ui) { - - var i = $(this).data("sortable"); - - if(ui.options.axis == "y") i.position.left = i.originalPosition.left; - if(ui.options.axis == "x") i.position.top = i.originalPosition.top; - - } -}); - -})(jQuery); -/* - * jQuery UI Accordion 1.6rc2 - - * - * Copyright (c) 2007, 2008 Jörn Zaefferer - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * http://docs.jquery.com/UI/Accordion - * - * Depends: - * ui.core.js - */ -(function($) { - -$.widget("ui.accordion", { - _init: function() { - var options = this.options; - - if ( options.navigation ) { - var current = this.element.find("a").filter(options.navigationFilter); - if ( current.length ) { - if ( current.filter(options.header).length ) { - options.active = current; - } else { - options.active = current.parent().parent().prev(); - current.addClass("current"); - } - } - } - - // calculate active if not specified, using the first header - options.headers = this.element.find(options.header); - options.active = findActive(options.headers, options.active); - - // IE7-/Win - Extra vertical space in Lists fixed - if ($.browser.msie) { - this.element.find('a').css('zoom', '1'); - } - - if (!this.element.hasClass("ui-accordion")) { - this.element.addClass("ui-accordion"); - $('').insertBefore(options.headers); - $('').appendTo(options.headers); - options.headers.addClass("ui-accordion-header").attr("tabindex", "0"); - } - - var maxHeight; - if ( options.fillSpace ) { - maxHeight = this.element.parent().height(); - options.headers.each(function() { - maxHeight -= $(this).outerHeight(); - }); - var maxPadding = 0; - options.headers.next().each(function() { - maxPadding = Math.max(maxPadding, $(this).innerHeight() - $(this).height()); - }).height(maxHeight - maxPadding); - } else if ( options.autoHeight ) { - maxHeight = 0; - options.headers.next().each(function() { - maxHeight = Math.max(maxHeight, $(this).outerHeight()); - }).height(maxHeight); - } - - options.headers - .not(options.active || "") - .next() - .hide(); - options.active.parent().andSelf().addClass(options.selectedClass); - - if (options.event) { - this.element.bind((options.event) + ".accordion", clickHandler); - } - }, - activate: function(index) { - // call clickHandler with custom event - clickHandler.call(this.element[0], { - target: findActive( this.options.headers, index )[0] - }); - }, - destroy: function() { - this.options.headers.next().css("display", ""); - if ( this.options.fillSpace || this.options.autoHeight ) { - this.options.headers.next().css("height", ""); - } - $.removeData(this.element[0], "accordion"); - this.element.removeClass("ui-accordion").unbind(".accordion"); - } -}); - -function scopeCallback(callback, scope) { - return function() { - return callback.apply(scope, arguments); - }; -}; - -function completed(cancel) { - // if removed while animated data can be empty - if (!$.data(this, "accordion")) { - return; - } - - var instance = $.data(this, "accordion"); - var options = instance.options; - options.running = cancel ? 0 : --options.running; - if ( options.running ) { - return; - } - if ( options.clearStyle ) { - options.toShow.add(options.toHide).css({ - height: "", - overflow: "" - }); - } - instance._trigger('change', null, options.data); -} - -function toggle(toShow, toHide, data, clickedActive, down) { - var options = $.data(this, "accordion").options; - options.toShow = toShow; - options.toHide = toHide; - options.data = data; - var complete = scopeCallback(completed, this); - - $.data(this, "accordion")._trigger("changestart", null, options.data); - - // count elements to animate - options.running = toHide.size() === 0 ? toShow.size() : toHide.size(); - - if ( options.animated ) { - if ( !options.alwaysOpen && clickedActive ) { - $.ui.accordion.animations[options.animated]({ - toShow: jQuery([]), - toHide: toHide, - complete: complete, - down: down, - autoHeight: options.autoHeight - }); - } else { - $.ui.accordion.animations[options.animated]({ - toShow: toShow, - toHide: toHide, - complete: complete, - down: down, - autoHeight: options.autoHeight - }); - } - } else { - if ( !options.alwaysOpen && clickedActive ) { - toShow.toggle(); - } else { - toHide.hide(); - toShow.show(); - } - complete(true); - } -} - -function clickHandler(event) { - var options = $.data(this, "accordion").options; - if (options.disabled) { - return false; - } - - // called only when using activate(false) to close all parts programmatically - if ( !event.target && !options.alwaysOpen ) { - options.active.parent().andSelf().toggleClass(options.selectedClass); - var toHide = options.active.next(), - data = { - options: options, - newHeader: jQuery([]), - oldHeader: options.active, - newContent: jQuery([]), - oldContent: toHide - }, - toShow = (options.active = $([])); - toggle.call(this, toShow, toHide, data ); - return false; - } - // get the click target - var clicked = $(event.target); - - // due to the event delegation model, we have to check if one - // of the parent elements is our actual header, and find that - // otherwise stick with the initial target - clicked = $( clicked.parents(options.header)[0] || clicked ); - - var clickedActive = clicked[0] == options.active[0]; - - // if animations are still active, or the active header is the target, ignore click - if (options.running || (options.alwaysOpen && clickedActive)) { - return false; - } - if (!clicked.is(options.header)) { - return; - } - - // switch classes - options.active.parent().andSelf().toggleClass(options.selectedClass); - if ( !clickedActive ) { - clicked.parent().andSelf().addClass(options.selectedClass); - } - - // find elements to show and hide - var toShow = clicked.next(), - toHide = options.active.next(), - data = { - options: options, - newHeader: clickedActive && !options.alwaysOpen ? $([]) : clicked, - oldHeader: options.active, - newContent: clickedActive && !options.alwaysOpen ? $([]) : toShow, - oldContent: toHide - }, - down = options.headers.index( options.active[0] ) > options.headers.index( clicked[0] ); - - options.active = clickedActive ? $([]) : clicked; - toggle.call(this, toShow, toHide, data, clickedActive, down ); - - return false; -}; - -function findActive(headers, selector) { - return selector - ? typeof selector == "number" - ? headers.filter(":eq(" + selector + ")") - : headers.not(headers.not(selector)) - : selector === false - ? $([]) - : headers.filter(":eq(0)"); -} - -$.extend($.ui.accordion, { - defaults: { - selectedClass: "selected", - alwaysOpen: true, - animated: 'slide', - event: "click", - header: "a", - autoHeight: true, - running: 0, - navigationFilter: function() { - return this.href.toLowerCase() == location.href.toLowerCase(); - } - }, - animations: { - slide: function(options, additions) { - options = $.extend({ - easing: "swing", - duration: 300 - }, options, additions); - if ( !options.toHide.size() ) { - options.toShow.animate({height: "show"}, options); - return; - } - var hideHeight = options.toHide.height(), - showHeight = options.toShow.height(), - difference = showHeight / hideHeight; - options.toShow.css({ height: 0, overflow: 'hidden' }).show(); - options.toHide.filter(":hidden").each(options.complete).end().filter(":visible").animate({height:"hide"},{ - step: function(now) { - var current = (hideHeight - now) * difference; - if ($.browser.msie || $.browser.opera) { - current = Math.ceil(current); - } - options.toShow.height( current ); - }, - duration: options.duration, - easing: options.easing, - complete: function() { - if ( !options.autoHeight ) { - options.toShow.css("height", "auto"); - } - options.complete(); - } - }); - }, - bounceslide: function(options) { - this.slide(options, { - easing: options.down ? "bounceout" : "swing", - duration: options.down ? 1000 : 200 - }); - }, - easeslide: function(options) { - this.slide(options, { - easing: "easeinout", - duration: 700 - }); - } - } -}); - -})(jQuery); -/* - * jQuery UI Autocomplete 1.6rc2 - - * - * Copyright (c) 2007, 2008 Dylan Verheul, Dan G. Switzer, Anjesh Tuladhar, Jörn Zaefferer - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * http://docs.jquery.com/UI/Autocomplete - * - * Depends: - * ui.core.js - */ -(function($) { - -$.widget("ui.autocomplete", { - - _init: function() { - - $.extend(this.options, { - delay: this.options.url ? $.Autocompleter.defaults.delay : 10, - max: !this.options.scroll ? 10 : 150, - highlight: this.options.highlight || function(value) { return value; }, // if highlight is set to false, replace it with a do-nothing function - formatMatch: this.options.formatMatch || this.options.formatItem // if the formatMatch option is not specified, then use formatItem for backwards compatibility - }); - - new $.Autocompleter(this.element[0], this.options); - - }, - - result: function(handler) { - return this.element.bind("result", handler); - }, - search: function(handler) { - return this.element.trigger("search", [handler]); - }, - flushCache: function() { - return this.element.trigger("flushCache"); - }, - setData: function(key, value){ - return this.element.trigger("setOptions", [{ key: value }]); - }, - destroy: function() { - return this.element.trigger("unautocomplete"); - } - -}); - -$.Autocompleter = function(input, options) { - - var KEY = { - UP: 38, - DOWN: 40, - DEL: 46, - TAB: 9, - RETURN: 13, - ESC: 27, - COMMA: 188, - PAGEUP: 33, - PAGEDOWN: 34, - BACKSPACE: 8 - }; - - // Create $ object for input element - var $input = $(input).attr("autocomplete", "off").addClass(options.inputClass); - if(options.result) $input.bind('result.autocomplete', options.result); - - var timeout; - var previousValue = ""; - var cache = $.Autocompleter.Cache(options); - var hasFocus = 0; - var lastKeyPressCode; - var config = { - mouseDownOnSelect: false - }; - var select = $.Autocompleter.Select(options, input, selectCurrent, config); - - var blockSubmit; - - // prevent form submit in opera when selecting with return key - $.browser.opera && $(input.form).bind("submit.autocomplete", function() { - if (blockSubmit) { - blockSubmit = false; - return false; - } - }); - - // only opera doesn't trigger keydown multiple times while pressed, others don't work with keypress at all - $input.bind(($.browser.opera ? "keypress" : "keydown") + ".autocomplete", function(event) { - // track last key pressed - lastKeyPressCode = event.keyCode; - switch(event.keyCode) { - - case KEY.UP: - event.preventDefault(); - if ( select.visible() ) { - select.prev(); - } else { - onChange(0, true); - } - break; - - case KEY.DOWN: - event.preventDefault(); - if ( select.visible() ) { - select.next(); - } else { - onChange(0, true); - } - break; - - case KEY.PAGEUP: - event.preventDefault(); - if ( select.visible() ) { - select.pageUp(); - } else { - onChange(0, true); - } - break; - - case KEY.PAGEDOWN: - event.preventDefault(); - if ( select.visible() ) { - select.pageDown(); - } else { - onChange(0, true); - } - break; - - // matches also semicolon - case options.multiple && $.trim(options.multipleSeparator) == "," && KEY.COMMA: - case KEY.TAB: - case KEY.RETURN: - if( selectCurrent() ) { - // stop default to prevent a form submit, Opera needs special handling - event.preventDefault(); - blockSubmit = true; - return false; - } - break; - - case KEY.ESC: - select.hide(); - break; - - default: - clearTimeout(timeout); - timeout = setTimeout(onChange, options.delay); - break; - } - }).focus(function(){ - // track whether the field has focus, we shouldn't process any - // results if the field no longer has focus - hasFocus++; - }).blur(function() { - hasFocus = 0; - if (!config.mouseDownOnSelect) { - hideResults(); - } - }).click(function() { - // show select when clicking in a focused field - if ( hasFocus++ > 1 && !select.visible() ) { - onChange(0, true); - } - }).bind("search", function() { - // TODO why not just specifying both arguments? - var fn = (arguments.length > 1) ? arguments[1] : null; - function findValueCallback(q, data) { - var result; - if( data && data.length ) { - for (var i=0; i < data.length; i++) { - if( data[i].result.toLowerCase() == q.toLowerCase() ) { - result = data[i]; - break; - } - } - } - if( typeof fn == "function" ) fn(result); - else $input.trigger("result", result && [result.data, result.value]); - } - $.each(trimWords($input.val()), function(i, value) { - request(value, findValueCallback, findValueCallback); - }); - }).bind("flushCache", function() { - cache.flush(); - }).bind("setOptions", function() { - $.extend(options, arguments[1]); - // if we've updated the data, repopulate - if ( "data" in arguments[1] ) - cache.populate(); - }).bind("unautocomplete", function() { - select.unbind(); - $input.unbind(); - $(input.form).unbind(".autocomplete"); - }); - - - function selectCurrent() { - var selected = select.selected(); - if( !selected ) - return false; - - var v = selected.result; - previousValue = v; - - if ( options.multiple ) { - var words = trimWords($input.val()); - if ( words.length > 1 ) { - v = words.slice(0, words.length - 1).join( options.multipleSeparator ) + options.multipleSeparator + v; - } - v += options.multipleSeparator; - } - - $input.val(v); - hideResultsNow(); - $input.trigger("result", [selected.data, selected.value]); - return true; - } - - function onChange(crap, skipPrevCheck) { - if( lastKeyPressCode == KEY.DEL ) { - select.hide(); - return; - } - - var currentValue = $input.val(); - - if ( !skipPrevCheck && currentValue == previousValue ) - return; - - previousValue = currentValue; - - currentValue = lastWord(currentValue); - if ( currentValue.length >= options.minChars) { - $input.addClass(options.loadingClass); - if (!options.matchCase) - currentValue = currentValue.toLowerCase(); - request(currentValue, receiveData, hideResultsNow); - } else { - stopLoading(); - select.hide(); - } - }; - - function trimWords(value) { - if ( !value ) { - return [""]; - } - var words = value.split( options.multipleSeparator ); - var result = []; - $.each(words, function(i, value) { - if ( $.trim(value) ) - result[i] = $.trim(value); - }); - return result; - } - - function lastWord(value) { - if ( !options.multiple ) - return value; - var words = trimWords(value); - return words[words.length - 1]; - } - - // fills in the input box w/the first match (assumed to be the best match) - // q: the term entered - // sValue: the first matching result - function autoFill(q, sValue){ - // autofill in the complete box w/the first match as long as the user hasn't entered in more data - // if the last user key pressed was backspace, don't autofill - if( options.autoFill && (lastWord($input.val()).toLowerCase() == q.toLowerCase()) && lastKeyPressCode != KEY.BACKSPACE ) { - // fill in the value (keep the case the user has typed) - $input.val($input.val() + sValue.substring(lastWord(previousValue).length)); - // select the portion of the value not typed by the user (so the next character will erase) - $.Autocompleter.Selection(input, previousValue.length, previousValue.length + sValue.length); - } - }; - - function hideResults() { - clearTimeout(timeout); - timeout = setTimeout(hideResultsNow, 200); - }; - - function hideResultsNow() { - var wasVisible = select.visible(); - select.hide(); - clearTimeout(timeout); - stopLoading(); - if (options.mustMatch) { - // call search and run callback - $input.autocomplete("search", function (result){ - // if no value found, clear the input box - if( !result ) { - if (options.multiple) { - var words = trimWords($input.val()).slice(0, -1); - $input.val( words.join(options.multipleSeparator) + (words.length ? options.multipleSeparator : "") ); - } - else - $input.val( "" ); - } - } - ); - } - if (wasVisible) - // position cursor at end of input field - $.Autocompleter.Selection(input, input.value.length, input.value.length); - }; - - function receiveData(q, data) { - if ( data && data.length && hasFocus ) { - stopLoading(); - select.display(data, q); - autoFill(q, data[0].value); - select.show(); - } else { - hideResultsNow(); - } - }; - - function request(term, success, failure) { - if (!options.matchCase) - term = term.toLowerCase(); - var data = cache.load(term); - // recieve the cached data - if (data && data.length) { - success(term, data); - // if an AJAX url has been supplied, try loading the data now - - } else if( (typeof options.url == "string") && (options.url.length > 0) ){ - - var extraParams = { - timestamp: +new Date() - }; - $.each(options.extraParams, function(key, param) { - extraParams[key] = typeof param == "function" ? param() : param; - }); - - $.ajax({ - // try to leverage ajaxQueue plugin to abort previous requests - mode: "abort", - // limit abortion to this input - port: "autocomplete" + input.name, - dataType: options.dataType, - url: options.url, - data: $.extend({ - q: lastWord(term), - limit: options.max - }, extraParams), - success: function(data) { - var parsed = options.parse && options.parse(data) || parse(data); - cache.add(term, parsed); - success(term, parsed); - } - }); - } - - else if (options.source && typeof options.source == 'function') { - var resultData = options.source(term); - var parsed = (options.parse) ? options.parse(resultData) : resultData; - - cache.add(term, parsed); - success(term, parsed); - } else { - // if we have a failure, we need to empty the list -- this prevents the the [TAB] key from selecting the last successful match - select.emptyList(); - failure(term); - } - }; - - function parse(data) { - var parsed = []; - var rows = data.split("\n"); - for (var i=0; i < rows.length; i++) { - var row = $.trim(rows[i]); - if (row) { - row = row.split("|"); - parsed[parsed.length] = { - data: row, - value: row[0], - result: options.formatResult && options.formatResult(row, row[0]) || row[0] - }; - } - } - return parsed; - }; - - function stopLoading() { - $input.removeClass(options.loadingClass); - }; - -}; - -$.Autocompleter.defaults = { - inputClass: "ui-autocomplete-input", - resultsClass: "ui-autocomplete-results", - loadingClass: "ui-autocomplete-loading", - minChars: 1, - delay: 400, - matchCase: false, - matchSubset: true, - matchContains: false, - cacheLength: 10, - max: 100, - mustMatch: false, - extraParams: {}, - selectFirst: true, - formatItem: function(row) { return row[0]; }, - formatMatch: null, - autoFill: false, - width: 0, - multiple: false, - multipleSeparator: ", ", - highlight: function(value, term) { - return value.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + term.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi, "\\$1") + ")(?![^<>]*>)(?![^&;]+;)", "gi"), "$1"); - }, - scroll: true, - scrollHeight: 180 -}; - -$.extend($.ui.autocomplete, { - defaults: $.Autocompleter.defaults -}); - -$.Autocompleter.Cache = function(options) { - - var data = {}; - var length = 0; - - function matchSubset(s, sub) { - if (!options.matchCase) - s = s.toLowerCase(); - var i = s.indexOf(sub); - if (i == -1) return false; - return i == 0 || options.matchContains; - }; - - function add(q, value) { - if (length > options.cacheLength){ - flush(); - } - if (!data[q]){ - length++; - } - data[q] = value; - } - - function populate(){ - if( !options.data ) return false; - // track the matches - var stMatchSets = {}, - nullData = 0; - - // no url was specified, we need to adjust the cache length to make sure it fits the local data store - if( !options.url ) options.cacheLength = 1; - - // track all options for minChars = 0 - stMatchSets[""] = []; - - // loop through the array and create a lookup structure - for ( var i = 0, ol = options.data.length; i < ol; i++ ) { - var rawValue = options.data[i]; - // if rawValue is a string, make an array otherwise just reference the array - rawValue = (typeof rawValue == "string") ? [rawValue] : rawValue; - - var value = options.formatMatch(rawValue, i+1, options.data.length); - if ( value === false ) - continue; - - var firstChar = value.charAt(0).toLowerCase(); - // if no lookup array for this character exists, look it up now - if( !stMatchSets[firstChar] ) - stMatchSets[firstChar] = []; - - // if the match is a string - var row = { - value: value, - data: rawValue, - result: options.formatResult && options.formatResult(rawValue) || value - }; - - // push the current match into the set list - stMatchSets[firstChar].push(row); - - // keep track of minChars zero items - if ( nullData++ < options.max ) { - stMatchSets[""].push(row); - } - }; - - // add the data items to the cache - $.each(stMatchSets, function(i, value) { - // increase the cache size - options.cacheLength++; - // add to the cache - add(i, value); - }); - } - - // populate any existing data - setTimeout(populate, 25); - - function flush(){ - data = {}; - length = 0; - } - - return { - flush: flush, - add: add, - populate: populate, - load: function(q) { - if (!options.cacheLength || !length) - return null; - /* - * if dealing w/local data and matchContains than we must make sure - * to loop through all the data collections looking for matches - */ - if( !options.url && options.matchContains ){ - // track all matches - var csub = []; - // loop through all the data grids for matches - for( var k in data ){ - // don't search through the stMatchSets[""] (minChars: 0) cache - // this prevents duplicates - if( k.length > 0 ){ - var c = data[k]; - $.each(c, function(i, x) { - // if we've got a match, add it to the array - if (matchSubset(x.value, q)) { - csub.push(x); - } - }); - } - } - return csub; - } else - // if the exact item exists, use it - if (data[q]){ - return data[q]; - } else - if (options.matchSubset) { - for (var i = q.length - 1; i >= options.minChars; i--) { - var c = data[q.substr(0, i)]; - if (c) { - var csub = []; - $.each(c, function(i, x) { - if (matchSubset(x.value, q)) { - csub[csub.length] = x; - } - }); - return csub; - } - } - } - return null; - } - }; -}; - -$.Autocompleter.Select = function (options, input, select, config) { - var CLASSES = { - ACTIVE: "ui-autocomplete-over" - }; - - var listItems, - active = -1, - data, - term = "", - needsInit = true, - element, - list; - - // Create results - function init() { - if (!needsInit) - return; - element = $("
    ") - .hide() - .addClass(options.resultsClass) - .css("position", "absolute") - .appendTo(document.body); - - list = $("
      ").appendTo(element).mouseover( function(event) { - if(target(event).nodeName && target(event).nodeName.toUpperCase() == 'LI') { - active = $("li", list).removeClass(CLASSES.ACTIVE).index(target(event)); - $(target(event)).addClass(CLASSES.ACTIVE); - } - }).click(function(event) { - $(target(event)).addClass(CLASSES.ACTIVE); - select(); - // TODO provide option to avoid setting focus again after selection? useful for cleanup-on-focus - input.focus(); - return false; - }).mousedown(function() { - config.mouseDownOnSelect = true; - }).mouseup(function() { - config.mouseDownOnSelect = false; - }); - - if( options.width > 0 ) - element.css("width", options.width); - - needsInit = false; - } - - function target(event) { - var element = event.target; - while(element && element.tagName != "LI") - element = element.parentNode; - // more fun with IE, sometimes event.target is empty, just ignore it then - if(!element) - return []; - return element; - } - - function moveSelect(step) { - listItems.slice(active, active + 1).removeClass(CLASSES.ACTIVE); - movePosition(step); - var activeItem = listItems.slice(active, active + 1).addClass(CLASSES.ACTIVE); - if(options.scroll) { - var offset = 0; - listItems.slice(0, active).each(function() { - offset += this.offsetHeight; - }); - if((offset + activeItem[0].offsetHeight - list.scrollTop()) > list[0].clientHeight) { - list.scrollTop(offset + activeItem[0].offsetHeight - list.innerHeight()); - } else if(offset < list.scrollTop()) { - list.scrollTop(offset); - } - } - }; - - function movePosition(step) { - active += step; - if (active < 0) { - active = listItems.size() - 1; - } else if (active >= listItems.size()) { - active = 0; - } - } - - function limitNumberOfItems(available) { - return options.max && options.max < available - ? options.max - : available; - } - - function fillList() { - list.empty(); - var max = limitNumberOfItems(data.length); - for (var i=0; i < max; i++) { - if (!data[i]) - continue; - var formatted = options.formatItem(data[i].data, i+1, max, data[i].value, term); - if ( formatted === false ) - continue; - var li = $("
    • ").html( options.highlight(formatted, term) ).addClass(i%2 == 0 ? "ui-autocomplete-even" : "ui-autocomplete-odd").appendTo(list)[0]; - $.data(li, "ui-autocomplete-data", data[i]); - } - listItems = list.find("li"); - if ( options.selectFirst ) { - listItems.slice(0, 1).addClass(CLASSES.ACTIVE); - active = 0; - } - // apply bgiframe if available - if ( $.fn.bgiframe ) - list.bgiframe(); - } - - return { - display: function(d, q) { - init(); - data = d; - term = q; - fillList(); - }, - next: function() { - moveSelect(1); - }, - prev: function() { - moveSelect(-1); - }, - pageUp: function() { - if (active != 0 && active - 8 < 0) { - moveSelect( -active ); - } else { - moveSelect(-8); - } - }, - pageDown: function() { - if (active != listItems.size() - 1 && active + 8 > listItems.size()) { - moveSelect( listItems.size() - 1 - active ); - } else { - moveSelect(8); - } - }, - hide: function() { - element && element.hide(); - listItems && listItems.removeClass(CLASSES.ACTIVE) - active = -1; - $(input).triggerHandler("autocompletehide", [{}, { options: options }], options["hide"]); - }, - visible : function() { - return element && element.is(":visible"); - }, - current: function() { - return this.visible() && (listItems.filter("." + CLASSES.ACTIVE)[0] || options.selectFirst && listItems[0]); - }, - show: function() { - var offset = $(input).offset(); - element.css({ - width: typeof options.width == "string" || options.width > 0 ? options.width : $(input).width(), - top: offset.top + input.offsetHeight, - left: offset.left - }).show(); - - if(options.scroll) { - list.scrollTop(0); - list.css({ - maxHeight: options.scrollHeight, - overflow: 'auto' - }); - - if($.browser.msie && typeof document.body.style.maxHeight === "undefined") { - var listHeight = 0; - listItems.each(function() { - listHeight += this.offsetHeight; - }); - var scrollbarsVisible = listHeight > options.scrollHeight; - list.css('height', scrollbarsVisible ? options.scrollHeight : listHeight ); - if (!scrollbarsVisible) { - // IE doesn't recalculate width when scrollbar disappears - listItems.width( list.width() - parseInt(listItems.css("padding-left")) - parseInt(listItems.css("padding-right")) ); - } - } - - } - - $(input).triggerHandler("autocompleteshow", [{}, { options: options }], options["show"]); - - }, - selected: function() { - var selected = listItems && listItems.filter("." + CLASSES.ACTIVE).removeClass(CLASSES.ACTIVE); - return selected && selected.length && $.data(selected[0], "ui-autocomplete-data"); - }, - emptyList: function (){ - list && list.empty(); - }, - unbind: function() { - element && element.remove(); - } - }; -}; - -$.Autocompleter.Selection = function(field, start, end) { - if( field.createTextRange ){ - var selRange = field.createTextRange(); - selRange.collapse(true); - selRange.moveStart("character", start); - selRange.moveEnd("character", end); - selRange.select(); - } else if( field.setSelectionRange ){ - field.setSelectionRange(start, end); - } else { - if( field.selectionStart ){ - field.selectionStart = start; - field.selectionEnd = end; - } - } - field.focus(); -}; - -})(jQuery); -/* - * jQuery UI Color Picker 1.6rc2 - - * - * Copyright (c) 2008 Stefan Petre, Paul Bakaus - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * http://docs.jquery.com/UI/ColorPicker - * - * Depends: - * ui.core.js - */ -(function ($) { - -$.widget("ui.colorpicker", { - - _init: function() { - - this.charMin = 65; - var o = this.options, self = this, - tpl = '
      '; - - if (typeof o.color == 'string') { - this.color = this._HexToHSB(o.color); - } else if (o.color.r != undefined && o.color.g != undefined && o.color.b != undefined) { - this.color = this._RGBToHSB(o.color); - } else if (o.color.h != undefined && o.color.s != undefined && o.color.b != undefined) { - this.color = this._fixHSB(o.color); - } else { - return this; - } - - this.origColor = this.color; - this.picker = $(tpl); - - if (o.flat) { - this.picker.appendTo(this.element).show(); - } else { - this.picker.appendTo(document.body); - } - - this.fields = this.picker.find('input') - .bind('keydown', function(e) { return self._keyDown.call(self, e); }) - .bind('change', function(e) { return self._change.call(self, e); }) - .bind('blur', function(e) { return self._blur.call(self, e); }) - .bind('focus', function(e) { return self._focus.call(self, e); }); - - this.picker.find('span').bind('mousedown', function(e) { return self._downIncrement.call(self, e); }); - - this.selector = this.picker.find('div.ui-colorpicker-color').bind('mousedown', function(e) { return self._downSelector.call(self, e); }); - this.selectorIndic = this.selector.find('div div'); - this.hue = this.picker.find('div.ui-colorpicker-hue div'); - this.picker.find('div.ui-colorpicker-hue').bind('mousedown', function(e) { return self._downHue.call(self, e); }); - - this.newColor = this.picker.find('div.ui-colorpicker-new-color'); - this.currentColor = this.picker.find('div.ui-colorpicker-current-color'); - - this.picker.find('.ui-colorpicker-submit') - .bind('mouseenter', function(e) { return self._enterSubmit.call(self, e); }) - .bind('mouseleave', function(e) { return self._leaveSubmit.call(self, e); }) - .bind('click', function(e) { return self._clickSubmit.call(self, e); }); - - this._fillRGBFields(this.color); - this._fillHSBFields(this.color); - this._fillHexFields(this.color); - this._setHue(this.color); - this._setSelector(this.color); - this._setCurrentColor(this.color); - this._setNewColor(this.color); - - if (o.flat) { - this.picker.css({ - position: 'relative', - display: 'block' - }); - } else { - $(this.element).bind(o.eventName+".colorpicker", function(e) { return self._show.call(self, e); }); - } - - }, - - destroy: function() { - - this.picker.remove(); - this.element.removeData("colorpicker").unbind(".colorpicker"); - - }, - - _fillRGBFields: function(hsb) { - var rgb = this._HSBToRGB(hsb); - this.fields - .eq(1).val(rgb.r).end() - .eq(2).val(rgb.g).end() - .eq(3).val(rgb.b).end(); - }, - _fillHSBFields: function(hsb) { - this.fields - .eq(4).val(hsb.h).end() - .eq(5).val(hsb.s).end() - .eq(6).val(hsb.b).end(); - }, - _fillHexFields: function (hsb) { - this.fields - .eq(0).val(this._HSBToHex(hsb)).end(); - }, - _setSelector: function(hsb) { - this.selector.css('backgroundColor', '#' + this._HSBToHex({h: hsb.h, s: 100, b: 100})); - this.selectorIndic.css({ - left: parseInt(150 * hsb.s/100, 10), - top: parseInt(150 * (100-hsb.b)/100, 10) - }); - }, - _setHue: function(hsb) { - this.hue.css('top', parseInt(150 - 150 * hsb.h/360, 10)); - }, - _setCurrentColor: function(hsb) { - this.currentColor.css('backgroundColor', '#' + this._HSBToHex(hsb)); - }, - _setNewColor: function(hsb) { - this.newColor.css('backgroundColor', '#' + this._HSBToHex(hsb)); - }, - _keyDown: function(e) { - var pressedKey = e.charCode || e.keyCode || -1; - if ((pressedKey >= this.charMin && pressedKey <= 90) || pressedKey == 32) { - return false; - } - }, - _change: function(e, target) { - - var col; - target = target || e.target; - if (target.parentNode.className.indexOf('-hex') > 0) { - this.color = col = this._HexToHSB(this.value); - this._fillRGBFields(col.color); - this._fillHSBFields(col); - } else if (target.parentNode.className.indexOf('-hsb') > 0) { - this.color = col = this._fixHSB({ - h: parseInt(this.fields.eq(4).val(), 10), - s: parseInt(this.fields.eq(5).val(), 10), - b: parseInt(this.fields.eq(6).val(), 10) - }); - this._fillRGBFields(col); - this._fillHexFields(col); - } else { - this.color = col = this._RGBToHSB(this._fixRGB({ - r: parseInt(this.fields.eq(1).val(), 10), - g: parseInt(this.fields.eq(2).val(), 10), - b: parseInt(this.fields.eq(3).val(), 10) - })); - this._fillHexFields(col); - this._fillHSBFields(col); - } - this._setSelector(col); - this._setHue(col); - this._setNewColor(col); - - this._trigger('change', e, { options: this.options, hsb: col, hex: this._HSBToHex(col), rgb: this._HSBToRGB(col) }); - }, - _blur: function(e) { - - var col = this.color; - this._fillRGBFields(col); - this._fillHSBFields(col); - this._fillHexFields(col); - this._setHue(col); - this._setSelector(col); - this._setNewColor(col); - this.fields.parent().removeClass('ui-colorpicker-focus'); - - }, - _focus: function(e) { - - this.charMin = e.target.parentNode.className.indexOf('-hex') > 0 ? 70 : 65; - this.fields.parent().removeClass('ui-colorpicker-focus'); - $(e.target.parentNode).addClass('ui-colorpicker-focus'); - - }, - _downIncrement: function(e) { - - var field = $(e.target).parent().find('input').focus(), self = this; - this.currentIncrement = { - el: $(e.target).parent().addClass('ui-colorpicker-slider'), - max: e.target.parentNode.className.indexOf('-hsb-h') > 0 ? 360 : (e.target.parentNode.className.indexOf('-hsb') > 0 ? 100 : 255), - y: e.pageY, - field: field, - val: parseInt(field.val(), 10) - }; - $(document).bind('mouseup.cpSlider', function(e) { return self._upIncrement.call(self, e); }); - $(document).bind('mousemove.cpSlider', function(e) { return self._moveIncrement.call(self, e); }); - return false; - - }, - _moveIncrement: function(e) { - this.currentIncrement.field.val(Math.max(0, Math.min(this.currentIncrement.max, parseInt(this.currentIncrement.val + e.pageY - this.currentIncrement.y, 10)))); - this._change.apply(this, [e, this.currentIncrement.field.get(0)]); - return false; - }, - _upIncrement: function(e) { - this.currentIncrement.el.removeClass('ui-colorpicker-slider').find('input').focus(); - this._change.apply(this, [e, this.currentIncrement.field.get(0)]); - $(document).unbind('mouseup.cpSlider'); - $(document).unbind('mousemove.cpSlider'); - return false; - }, - _downHue: function(e) { - - this.currentHue = { - y: this.picker.find('div.ui-colorpicker-hue').offset().top - }; - - this._change.apply(this, [e, this - .fields - .eq(4) - .val(parseInt(360*(150 - Math.max(0,Math.min(150,(e.pageY - this.currentHue.y))))/150, 10)) - .get(0)]); - - var self = this; - $(document).bind('mouseup.cpSlider', function(e) { return self._upHue.call(self, e); }); - $(document).bind('mousemove.cpSlider', function(e) { return self._moveHue.call(self, e); }); - return false; - - }, - _moveHue: function(e) { - - this._change.apply(this, [e, this - .fields - .eq(4) - .val(parseInt(360*(150 - Math.max(0,Math.min(150,(e.pageY - this.currentHue.y))))/150, 10)) - .get(0)]); - - return false; - - }, - _upHue: function(e) { - $(document).unbind('mouseup.cpSlider'); - $(document).unbind('mousemove.cpSlider'); - return false; - }, - _downSelector: function(e) { - - var self = this; - this.currentSelector = { - pos: this.picker.find('div.ui-colorpicker-color').offset() - }; - - this._change.apply(this, [e, this - .fields - .eq(6) - .val(parseInt(100*(150 - Math.max(0,Math.min(150,(e.pageY - this.currentSelector.pos.top))))/150, 10)) - .end() - .eq(5) - .val(parseInt(100*(Math.max(0,Math.min(150,(e.pageX - this.currentSelector.pos.left))))/150, 10)) - .get(0) - ]); - $(document).bind('mouseup.cpSlider', function(e) { return self._upSelector.call(self, e); }); - $(document).bind('mousemove.cpSlider', function(e) { return self._moveSelector.call(self, e); }); - return false; - - }, - _moveSelector: function(e) { - - this._change.apply(this, [e, this - .fields - .eq(6) - .val(parseInt(100*(150 - Math.max(0,Math.min(150,(e.pageY - this.currentSelector.pos.top))))/150, 10)) - .end() - .eq(5) - .val(parseInt(100*(Math.max(0,Math.min(150,(e.pageX - this.currentSelector.pos.left))))/150, 10)) - .get(0) - ]); - return false; - - }, - _upSelector: function(e) { - $(document).unbind('mouseup.cpSlider'); - $(document).unbind('mousemove.cpSlider'); - return false; - }, - _enterSubmit: function(e) { - this.picker.find('.ui-colorpicker-submit').addClass('ui-colorpicker-focus'); - }, - _leaveSubmit: function(e) { - this.picker.find('.ui-colorpicker-submit').removeClass('ui-colorpicker-focus'); - }, - _clickSubmit: function(e) { - - var col = this.color; - this.origColor = col; - this._setCurrentColor(col); - - this._trigger("submit", e, { options: this.options, hsb: col, hex: this._HSBToHex(col), rgb: this._HSBToRGB(col) }); - return false; - - }, - _show: function(e) { - - this._trigger("beforeShow", e, { options: this.options, hsb: this.color, hex: this._HSBToHex(this.color), rgb: this._HSBToRGB(this.color) }); - - var pos = this.element.offset(); - var viewPort = this._getScroll(); - var top = pos.top + this.element[0].offsetHeight; - var left = pos.left; - if (top + 176 > viewPort.t + Math.min(viewPort.h,viewPort.ih)) { - top -= this.element[0].offsetHeight + 176; - } - if (left + 356 > viewPort.l + Math.min(viewPort.w,viewPort.iw)) { - left -= 356; - } - this.picker.css({left: left + 'px', top: top + 'px'}); - if (this._trigger("show", e, { options: this.options, hsb: this.color, hex: this._HSBToHex(this.color), rgb: this._HSBToRGB(this.color) }) != false) { - this.picker.show(); - } - - var self = this; - $(document).bind('mousedown.colorpicker', function(e) { return self._hide.call(self, e); }); - return false; - - }, - _hide: function(e) { - - if (!this._isChildOf(this.picker[0], e.target, this.picker[0])) { - if (this._trigger("hide", e, { options: this.options, hsb: this.color, hex: this._HSBToHex(this.color), rgb: this._HSBToRGB(this.color) }) != false) { - this.picker.hide(); - } - $(document).unbind('mousedown.colorpicker'); - } - - }, - _isChildOf: function(parentEl, el, container) { - if (parentEl == el) { - return true; - } - if (parentEl.contains && !$.browser.safari) { - return parentEl.contains(el); - } - if ( parentEl.compareDocumentPosition ) { - return !!(parentEl.compareDocumentPosition(el) & 16); - } - var prEl = el.parentNode; - while(prEl && prEl != container) { - if (prEl == parentEl) - return true; - prEl = prEl.parentNode; - } - return false; - }, - _getScroll: function() { - var t,l,w,h,iw,ih; - if (document.documentElement) { - t = document.documentElement.scrollTop; - l = document.documentElement.scrollLeft; - w = document.documentElement.scrollWidth; - h = document.documentElement.scrollHeight; - } else { - t = document.body.scrollTop; - l = document.body.scrollLeft; - w = document.body.scrollWidth; - h = document.body.scrollHeight; - } - iw = self.innerWidth||document.documentElement.clientWidth||document.body.clientWidth||0; - ih = self.innerHeight||document.documentElement.clientHeight||document.body.clientHeight||0; - return { t: t, l: l, w: w, h: h, iw: iw, ih: ih }; - }, - _fixHSB: function(hsb) { - return { - h: Math.min(360, Math.max(0, hsb.h)), - s: Math.min(100, Math.max(0, hsb.s)), - b: Math.min(100, Math.max(0, hsb.b)) - }; - }, - _fixRGB: function(rgb) { - return { - r: Math.min(255, Math.max(0, rgb.r)), - g: Math.min(255, Math.max(0, rgb.g)), - b: Math.min(255, Math.max(0, rgb.b)) - }; - }, - _HexToRGB: function (hex) { - var hex = parseInt(((hex.indexOf('#') > -1) ? hex.substring(1) : hex), 16); - return {r: hex >> 16, g: (hex & 0x00FF00) >> 8, b: (hex & 0x0000FF)}; - }, - _HexToHSB: function(hex) { - return this._RGBToHSB(this._HexToRGB(hex)); - }, - _RGBToHSB: function(rgb) { - var hsb = {}; - hsb.b = Math.max(Math.max(rgb.r,rgb.g),rgb.b); - hsb.s = (hsb.b <= 0) ? 0 : Math.round(100*(hsb.b - Math.min(Math.min(rgb.r,rgb.g),rgb.b))/hsb.b); - hsb.b = Math.round((hsb.b /255)*100); - if((rgb.r==rgb.g) && (rgb.g==rgb.b)) hsb.h = 0; - else if(rgb.r>=rgb.g && rgb.g>=rgb.b) hsb.h = 60*(rgb.g-rgb.b)/(rgb.r-rgb.b); - else if(rgb.g>=rgb.r && rgb.r>=rgb.b) hsb.h = 60 + 60*(rgb.g-rgb.r)/(rgb.g-rgb.b); - else if(rgb.g>=rgb.b && rgb.b>=rgb.r) hsb.h = 120 + 60*(rgb.b-rgb.r)/(rgb.g-rgb.r); - else if(rgb.b>=rgb.g && rgb.g>=rgb.r) hsb.h = 180 + 60*(rgb.b-rgb.g)/(rgb.b-rgb.r); - else if(rgb.b>=rgb.r && rgb.r>=rgb.g) hsb.h = 240 + 60*(rgb.r-rgb.g)/(rgb.b-rgb.g); - else if(rgb.r>=rgb.b && rgb.b>=rgb.g) hsb.h = 300 + 60*(rgb.r-rgb.b)/(rgb.r-rgb.g); - else hsb.h = 0; - hsb.h = Math.round(hsb.h); - return hsb; - }, - _HSBToRGB: function(hsb) { - var rgb = {}; - var h = Math.round(hsb.h); - var s = Math.round(hsb.s*255/100); - var v = Math.round(hsb.b*255/100); - if(s == 0) { - rgb.r = rgb.g = rgb.b = v; - } else { - var t1 = v; - var t2 = (255-s)*v/255; - var t3 = (t1-t2)*(h%60)/60; - if(h==360) h = 0; - if(h<60) {rgb.r=t1; rgb.b=t2; rgb.g=t2+t3;} - else if(h<120) {rgb.g=t1; rgb.b=t2; rgb.r=t1-t3;} - else if(h<180) {rgb.g=t1; rgb.r=t2; rgb.b=t2+t3;} - else if(h<240) {rgb.b=t1; rgb.r=t2; rgb.g=t1-t3;} - else if(h<300) {rgb.b=t1; rgb.g=t2; rgb.r=t2+t3;} - else if(h<360) {rgb.r=t1; rgb.g=t2; rgb.b=t1-t3;} - else {rgb.r=0; rgb.g=0; rgb.b=0;} - } - return {r:Math.round(rgb.r), g:Math.round(rgb.g), b:Math.round(rgb.b)}; - }, - _RGBToHex: function(rgb) { - var hex = [ - rgb.r.toString(16), - rgb.g.toString(16), - rgb.b.toString(16) - ]; - $.each(hex, function (nr, val) { - if (val.length == 1) { - hex[nr] = '0' + val; - } - }); - return hex.join(''); - }, - _HSBToHex: function(hsb) { - return this._RGBToHex(this._HSBToRGB(hsb)); - }, - setColor: function(col) { - if (typeof col == 'string') { - col = this._HexToHSB(col); - } else if (col.r != undefined && col.g != undefined && col.b != undefined) { - col = this._RGBToHSB(col); - } else if (col.h != undefined && col.s != undefined && col.b != undefined) { - col = this._fixHSB(col); - } else { - return this; - } - - this.color = col; - this.origColor = col; - this._fillRGBFields(col); - this._fillHSBFields(col); - this._fillHexFields(col); - this._setHue(col); - this._setSelector(col); - this._setCurrentColor(col); - this._setNewColor(col); - - } - -}); - -$.extend($.ui.colorpicker, { - defaults: { - eventName: 'click', - color: 'ff0000', - flat: false - } -}); - -})(jQuery);/* - * jQuery UI Dialog 1.6rc2 - - * - * Copyright (c) 2008 Richard D. Worth (rdworth.org) - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * http://docs.jquery.com/UI/Dialog - * - * Depends: - * ui.core.js - * ui.draggable.js - * ui.resizable.js - */ -(function($) { - -var setDataSwitch = { - dragStart: "start.draggable", - drag: "drag.draggable", - dragStop: "stop.draggable", - maxHeight: "maxHeight.resizable", - minHeight: "minHeight.resizable", - maxWidth: "maxWidth.resizable", - minWidth: "minWidth.resizable", - resizeStart: "start.resizable", - resize: "drag.resizable", - resizeStop: "stop.resizable" -}; - -$.widget("ui.dialog", { - _init: function() { - this.originalTitle = this.element.attr('title'); - this.options.title = this.options.title || this.originalTitle; - - var self = this, - options = this.options, - - uiDialogContent = this.element - .removeAttr('title') - .addClass('ui-dialog-content') - .wrap('
      ') - .wrap('
      '), - - uiDialogContainer = (this.uiDialogContainer = uiDialogContent.parent()) - .addClass('ui-dialog-container') - .css({ - position: 'relative', - width: '100%', - height: '100%' - }), - - uiDialogTitlebar = (this.uiDialogTitlebar = $('
      ')) - .addClass('ui-dialog-titlebar') - .append('X') - .prependTo(uiDialogContainer), - - title = options.title || ' ', - titleId = $.ui.dialog.getTitleId(this.element), - uiDialogTitle = $('') - .addClass('ui-dialog-title') - .attr('id', titleId) - .html(title) - .prependTo(uiDialogTitlebar), - - uiDialog = (this.uiDialog = uiDialogContainer.parent()) - .appendTo(document.body) - .hide() - .addClass('ui-dialog') - .addClass(options.dialogClass) - // add content classes to dialog - // to inherit theme at top level of element - .addClass(uiDialogContent.attr('className')) - .removeClass('ui-dialog-content') - .css({ - position: 'absolute', - width: options.width, - height: options.height, - overflow: 'hidden', - zIndex: options.zIndex - }) - // setting tabIndex makes the div focusable - // setting outline to 0 prevents a border on focus in Mozilla - .attr('tabIndex', -1).css('outline', 0).keydown(function(ev) { - (options.closeOnEscape && ev.keyCode - && ev.keyCode == $.keyCode.ESCAPE && self.close()); - }) - .mousedown(function() { - self._moveToTop(); - }), - - uiDialogButtonPane = (this.uiDialogButtonPane = $('
      ')) - .addClass('ui-dialog-buttonpane') - .css({ - position: 'absolute', - bottom: 0 - }) - .appendTo(uiDialog); - - this.uiDialogTitlebarClose = $('.ui-dialog-titlebar-close', uiDialogTitlebar) - .hover( - function() { - $(this).addClass('ui-dialog-titlebar-close-hover'); - }, - function() { - $(this).removeClass('ui-dialog-titlebar-close-hover'); - } - ) - .mousedown(function(ev) { - ev.stopPropagation(); - }) - .click(function() { - self.close(); - return false; - }); - - uiDialogTitlebar.find("*").add(uiDialogTitlebar).each(function() { - $.ui.disableSelection(this); - }); - - (options.draggable && $.fn.draggable && this._makeDraggable()); - (options.resizable && $.fn.resizable && this._makeResizable()); - - this._createButtons(options.buttons); - this._isOpen = false; - - (options.bgiframe && $.fn.bgiframe && uiDialog.bgiframe()); - (options.autoOpen && this.open()); - }, - - destroy: function() { - (this.overlay && this.overlay.destroy()); - this.uiDialog.hide(); - this.element - .unbind('.dialog') - .removeData('dialog') - .removeClass('ui-dialog-content') - .hide().appendTo('body'); - this.uiDialog.remove(); - - (this.originalTitle && this.element.attr('title', this.originalTitle)); - }, - - close: function() { - if (false === this._trigger('beforeclose', null, { options: this.options })) { - return; - } - - (this.overlay && this.overlay.destroy()); - this.uiDialog - .hide(this.options.hide) - .unbind('keypress.ui-dialog'); - - this._trigger('close', null, { options: this.options }); - $.ui.dialog.overlay.resize(); - - this._isOpen = false; - }, - - isOpen: function() { - return this._isOpen; - }, - - open: function() { - if (this._isOpen) { return; } - - this.overlay = this.options.modal ? new $.ui.dialog.overlay(this) : null; - (this.uiDialog.next().length && this.uiDialog.appendTo('body')); - this._position(this.options.position); - this.uiDialog.show(this.options.show); - (this.options.autoResize && this._size()); - this._moveToTop(true); - - // prevent tabbing out of modal dialogs - (this.options.modal && this.uiDialog.bind('keypress.ui-dialog', function(e) { - if (e.keyCode != $.keyCode.TAB) { - return; - } - - var tabbables = $(':tabbable', this), - first = tabbables.filter(':first')[0], - last = tabbables.filter(':last')[0]; - - if (e.target == last && !e.shiftKey) { - setTimeout(function() { - first.focus(); - }, 1); - } else if (e.target == first && e.shiftKey) { - setTimeout(function() { - last.focus(); - }, 1); - } - })); - - this.uiDialog.find(':tabbable:first').focus(); - this._trigger('open', null, { options: this.options }); - this._isOpen = true; - }, - - _createButtons: function(buttons) { - var self = this, - hasButtons = false, - uiDialogButtonPane = this.uiDialogButtonPane; - - // remove any existing buttons - uiDialogButtonPane.empty().hide(); - - $.each(buttons, function() { return !(hasButtons = true); }); - if (hasButtons) { - uiDialogButtonPane.show(); - $.each(buttons, function(name, fn) { - $('') - .text(name) - .click(function() { fn.apply(self.element[0], arguments); }) - .appendTo(uiDialogButtonPane); - }); - } - }, - - _makeDraggable: function() { - var self = this, - options = this.options; - - this.uiDialog.draggable({ - cancel: '.ui-dialog-content', - helper: options.dragHelper, - handle: '.ui-dialog-titlebar', - start: function() { - self._moveToTop(); - (options.dragStart && options.dragStart.apply(self.element[0], arguments)); - }, - drag: function() { - (options.drag && options.drag.apply(self.element[0], arguments)); - }, - stop: function() { - (options.dragStop && options.dragStop.apply(self.element[0], arguments)); - $.ui.dialog.overlay.resize(); - } - }); - }, - - _makeResizable: function(handles) { - handles = (handles === undefined ? this.options.resizable : handles); - var self = this, - options = this.options, - resizeHandles = typeof handles == 'string' - ? handles - : 'n,e,s,w,se,sw,ne,nw'; - - this.uiDialog.resizable({ - cancel: '.ui-dialog-content', - helper: options.resizeHelper, - maxWidth: options.maxWidth, - maxHeight: options.maxHeight, - minWidth: options.minWidth, - minHeight: options.minHeight, - start: function() { - (options.resizeStart && options.resizeStart.apply(self.element[0], arguments)); - }, - resize: function() { - (options.autoResize && self._size.apply(self)); - (options.resize && options.resize.apply(self.element[0], arguments)); - }, - handles: resizeHandles, - stop: function() { - (options.autoResize && self._size.apply(self)); - (options.resizeStop && options.resizeStop.apply(self.element[0], arguments)); - $.ui.dialog.overlay.resize(); - } - }); - }, - - // the force parameter allows us to move modal dialogs to their correct - // position on open - _moveToTop: function(force) { - - if ((this.options.modal && !force) - || (!this.options.stack && !this.options.modal)) { - return this._trigger('focus', null, { options: this.options }); - } - - var maxZ = this.options.zIndex, options = this.options; - $('.ui-dialog:visible').each(function() { - maxZ = Math.max(maxZ, parseInt($(this).css('z-index'), 10) || options.zIndex); - }); - (this.overlay && this.overlay.$el.css('z-index', ++maxZ)); - this.uiDialog.css('z-index', ++maxZ); - - this._trigger('focus', null, { options: this.options }); - }, - - _position: function(pos) { - var wnd = $(window), doc = $(document), - pTop = doc.scrollTop(), pLeft = doc.scrollLeft(), - minTop = pTop; - - if ($.inArray(pos, ['center','top','right','bottom','left']) >= 0) { - pos = [ - pos == 'right' || pos == 'left' ? pos : 'center', - pos == 'top' || pos == 'bottom' ? pos : 'middle' - ]; - } - if (pos.constructor != Array) { - pos = ['center', 'middle']; - } - if (pos[0].constructor == Number) { - pLeft += pos[0]; - } else { - switch (pos[0]) { - case 'left': - pLeft += 0; - break; - case 'right': - pLeft += wnd.width() - this.uiDialog.width(); - break; - default: - case 'center': - pLeft += (wnd.width() - this.uiDialog.width()) / 2; - } - } - if (pos[1].constructor == Number) { - pTop += pos[1]; - } else { - switch (pos[1]) { - case 'top': - pTop += 0; - break; - case 'bottom': - pTop += wnd.height() - this.uiDialog.height(); - break; - default: - case 'middle': - pTop += (wnd.height() - this.uiDialog.height()) / 2; - } - } - - // prevent the dialog from being too high (make sure the titlebar - // is accessible) - pTop = Math.max(pTop, minTop); - this.uiDialog.css({top: pTop, left: pLeft}); - }, - - _setData: function(key, value){ - (setDataSwitch[key] && this.uiDialog.data(setDataSwitch[key], value)); - switch (key) { - case "buttons": - this._createButtons(value); - break; - case "draggable": - (value - ? this._makeDraggable() - : this.uiDialog.draggable('destroy')); - break; - case "height": - this.uiDialog.height(value); - break; - case "position": - this._position(value); - break; - case "resizable": - var uiDialog = this.uiDialog, - isResizable = this.uiDialog.is(':data(resizable)'); - - // currently resizable, becoming non-resizable - (isResizable && !value && uiDialog.resizable('destroy')); - - // currently resizable, changing handles - (isResizable && typeof value == 'string' && - uiDialog.resizable('option', 'handles', value)); - - // currently non-resizable, becoming resizable - (isResizable || this._makeResizable(value)); - - break; - case "title": - $(".ui-dialog-title", this.uiDialogTitlebar).html(value || ' '); - break; - case "width": - this.uiDialog.width(value); - break; - } - - $.widget.prototype._setData.apply(this, arguments); - }, - - _size: function() { - var container = this.uiDialogContainer, - titlebar = this.uiDialogTitlebar, - content = this.element, - tbMargin = (parseInt(content.css('margin-top'), 10) || 0) - + (parseInt(content.css('margin-bottom'), 10) || 0), - lrMargin = (parseInt(content.css('margin-left'), 10) || 0) - + (parseInt(content.css('margin-right'), 10) || 0); - content.height(container.height() - titlebar.outerHeight() - tbMargin); - content.width(container.width() - lrMargin); - } -}); - -$.extend($.ui.dialog, { - defaults: { - autoOpen: true, - autoResize: true, - bgiframe: false, - buttons: {}, - closeOnEscape: true, - draggable: true, - height: 200, - minHeight: 100, - minWidth: 150, - modal: false, - overlay: {}, - position: 'center', - resizable: true, - stack: true, - width: 300, - zIndex: 1000 - }, - - getter: 'isOpen', - - uuid: 0, - getTitleId: function($el) { - return 'ui-dialog-title-' + ($el.attr('id') || ++this.uuid); - }, - - overlay: function(dialog) { - this.$el = $.ui.dialog.overlay.create(dialog); - } -}); - -$.extend($.ui.dialog.overlay, { - instances: [], - events: $.map('focus,mousedown,mouseup,keydown,keypress,click'.split(','), - function(e) { return e + '.dialog-overlay'; }).join(' '), - create: function(dialog) { - if (this.instances.length === 0) { - // prevent use of anchors and inputs - // we use a setTimeout in case the overlay is created from an - // event that we're going to be cancelling (see #2804) - setTimeout(function() { - $('a, :input').bind($.ui.dialog.overlay.events, function() { - // allow use of the element if inside a dialog and - // - there are no modal dialogs - // - there are modal dialogs, but we are in front of the topmost modal - var allow = false; - var $dialog = $(this).parents('.ui-dialog'); - if ($dialog.length) { - var $overlays = $('.ui-dialog-overlay'); - if ($overlays.length) { - var maxZ = parseInt($overlays.css('z-index'), 10); - $overlays.each(function() { - maxZ = Math.max(maxZ, parseInt($(this).css('z-index'), 10)); - }); - allow = parseInt($dialog.css('z-index'), 10) > maxZ; - } else { - allow = true; - } - } - return allow; - }); - }, 1); - - // allow closing by pressing the escape key - $(document).bind('keydown.dialog-overlay', function(e) { - (dialog.options.closeOnEscape && e.keyCode - && e.keyCode == $.keyCode.ESCAPE && dialog.close()); - }); - - // handle window resize - $(window).bind('resize.dialog-overlay', $.ui.dialog.overlay.resize); - } - - var $el = $('
      ').appendTo(document.body) - .addClass('ui-dialog-overlay').css($.extend({ - borderWidth: 0, margin: 0, padding: 0, - position: 'absolute', top: 0, left: 0, - width: this.width(), - height: this.height() - }, dialog.options.overlay)); - - (dialog.options.bgiframe && $.fn.bgiframe && $el.bgiframe()); - - this.instances.push($el); - return $el; - }, - - destroy: function($el) { - this.instances.splice($.inArray(this.instances, $el), 1); - - if (this.instances.length === 0) { - $('a, :input').add([document, window]).unbind('.dialog-overlay'); - } - - $el.remove(); - }, - - height: function() { - // handle IE 6 - if ($.browser.msie && $.browser.version < 7) { - var scrollHeight = Math.max( - document.documentElement.scrollHeight, - document.body.scrollHeight - ); - var offsetHeight = Math.max( - document.documentElement.offsetHeight, - document.body.offsetHeight - ); - - if (scrollHeight < offsetHeight) { - return $(window).height() + 'px'; - } else { - return scrollHeight + 'px'; - } - // handle Opera - } else if ($.browser.opera) { - return Math.max( - window.innerHeight, - $(document).height() - ) + 'px'; - // handle "good" browsers - } else { - return $(document).height() + 'px'; - } - }, - - width: function() { - // handle IE 6 - if ($.browser.msie && $.browser.version < 7) { - var scrollWidth = Math.max( - document.documentElement.scrollWidth, - document.body.scrollWidth - ); - var offsetWidth = Math.max( - document.documentElement.offsetWidth, - document.body.offsetWidth - ); - - if (scrollWidth < offsetWidth) { - return $(window).width() + 'px'; - } else { - return scrollWidth + 'px'; - } - // handle Opera - } else if ($.browser.opera) { - return Math.max( - window.innerWidth, - $(document).width() - ) + 'px'; - // handle "good" browsers - } else { - return $(document).width() + 'px'; - } - }, - - resize: function() { - /* If the dialog is draggable and the user drags it past the - * right edge of the window, the document becomes wider so we - * need to stretch the overlay. If the user then drags the - * dialog back to the left, the document will become narrower, - * so we need to shrink the overlay to the appropriate size. - * This is handled by shrinking the overlay before setting it - * to the full document size. - */ - var $overlays = $([]); - $.each($.ui.dialog.overlay.instances, function() { - $overlays = $overlays.add(this); - }); - - $overlays.css({ - width: 0, - height: 0 - }).css({ - width: $.ui.dialog.overlay.width(), - height: $.ui.dialog.overlay.height() - }); - } -}); - -$.extend($.ui.dialog.overlay.prototype, { - destroy: function() { - $.ui.dialog.overlay.destroy(this.$el); - } -}); - -})(jQuery); -/* - * jQuery UI Slider 1.6rc2 - - * - * Copyright (c) 2008 Paul Bakaus - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * http://docs.jquery.com/UI/Slider - * - * Depends: - * ui.core.js - */ -(function($) { - -$.fn.unwrap = $.fn.unwrap || function(expr) { - return this.each(function(){ - $(this).parents(expr).eq(0).after(this).remove(); - }); -}; - -$.widget("ui.slider", { - plugins: {}, - ui: function(e) { - return { - options: this.options, - handle: this.currentHandle, - value: this.options.axis != "both" || !this.options.axis ? Math.round(this.value(null,this.options.axis == "vertical" ? "y" : "x")) : { - x: Math.round(this.value(null,"x")), - y: Math.round(this.value(null,"y")) - }, - range: this._getRange() - }; - }, - _propagate: function(n,e) { - $.ui.plugin.call(this, n, [e, this.ui()]); - this.element.triggerHandler(n == "slide" ? n : "slide"+n, [e, this.ui()], this.options[n]); - }, - destroy: function() { - - this.element - .removeClass("ui-slider ui-slider-disabled") - .removeData("slider") - .unbind(".slider"); - - if(this.handle && this.handle.length) { - this.handle - .unwrap("a"); - this.handle.each(function() { - $(this).data("mouse")._mouseDestroy(); - }); - } - - this.generated && this.generated.remove(); - - }, - _setData: function(key, value) { - $.widget.prototype._setData.apply(this, arguments); - if (/min|max|steps/.test(key)) { - this._initBoundaries(); - } - - if(key == "range") { - value ? this.handle.length == 2 && this._createRange() : this._removeRange(); - } - - }, - - _init: function() { - - var self = this; - this.element.addClass("ui-slider"); - this._initBoundaries(); - - // Initialize mouse and key events for interaction - this.handle = $(this.options.handle, this.element); - if (!this.handle.length) { - self.handle = self.generated = $(self.options.handles || [0]).map(function() { - var handle = $("
      ").addClass("ui-slider-handle").appendTo(self.element); - if (this.id) - handle.attr("id", this.id); - return handle[0]; - }); - } - - - var handleclass = function(el) { - this.element = $(el); - this.element.data("mouse", this); - this.options = self.options; - - this.element.bind("mousedown", function() { - if(self.currentHandle) this.blur(self.currentHandle); - self._focus(this, true); - }); - - this._mouseInit(); - }; - - $.extend(handleclass.prototype, $.ui.mouse, { - _mouseStart: function(e) { return self._start.call(self, e, this.element[0]); }, - _mouseStop: function(e) { return self._stop.call(self, e, this.element[0]); }, - _mouseDrag: function(e) { return self._drag.call(self, e, this.element[0]); }, - _mouseCapture: function() { return true; }, - trigger: function(e) { this._mouseDown(e); } - }); - - - $(this.handle) - .each(function() { - new handleclass(this); - }) - .wrap('') - .parent() - .bind('click', function() { return false; }) - .bind('focus', function(e) { self._focus(this.firstChild); }) - .bind('blur', function(e) { self._blur(this.firstChild); }) - .bind('keydown', function(e) { if(!self.options.noKeyboard) return self._keydown(e.keyCode, this.firstChild); }) - ; - - // Bind the click to the slider itself - this.element.bind('mousedown.slider', function(e) { - self._click.apply(self, [e]); - self.currentHandle.data("mouse").trigger(e); - self.firstValue = self.firstValue + 1; //This is for always triggering the change event - }); - - // Move the first handle to the startValue - $.each(this.options.handles || [], function(index, handle) { - self.moveTo(handle.start, index, true); - }); - if (!isNaN(this.options.startValue)) - this.moveTo(this.options.startValue, 0, true); - - this.previousHandle = $(this.handle[0]); //set the previous handle to the first to allow clicking before selecting the handle - if(this.handle.length == 2 && this.options.range) this._createRange(); - }, - _initBoundaries: function() { - - var element = this.element[0], o = this.options; - this.actualSize = { width: this.element.outerWidth() , height: this.element.outerHeight() }; - - $.extend(o, { - axis: o.axis || (element.offsetWidth < element.offsetHeight ? 'vertical' : 'horizontal'), - max: !isNaN(parseInt(o.max,10)) ? { x: parseInt(o.max, 10), y: parseInt(o.max, 10) } : ({ x: o.max && o.max.x || 100, y: o.max && o.max.y || 100 }), - min: !isNaN(parseInt(o.min,10)) ? { x: parseInt(o.min, 10), y: parseInt(o.min, 10) } : ({ x: o.min && o.min.x || 0, y: o.min && o.min.y || 0 }) - }); - //Prepare the real maxValue - o.realMax = { - x: o.max.x - o.min.x, - y: o.max.y - o.min.y - }; - //Calculate stepping based on steps - o.stepping = { - x: o.stepping && o.stepping.x || parseInt(o.stepping, 10) || (o.steps ? o.realMax.x/(o.steps.x || parseInt(o.steps, 10) || o.realMax.x) : 0), - y: o.stepping && o.stepping.y || parseInt(o.stepping, 10) || (o.steps ? o.realMax.y/(o.steps.y || parseInt(o.steps, 10) || o.realMax.y) : 0) - }; - }, - - - _keydown: function(keyCode, handle) { - var k = keyCode; - if(/(33|34|35|36|37|38|39|40)/.test(k)) { - var o = this.options, xpos, ypos; - if (/(35|36)/.test(k)) { - xpos = (k == 35) ? o.max.x : o.min.x; - ypos = (k == 35) ? o.max.y : o.min.y; - } else { - var oper = /(34|37|40)/.test(k) ? "-=" : "+="; - var step = /(37|38|39|40)/.test(k) ? "_oneStep" : "_pageStep"; - xpos = oper + this[step]("x"); - ypos = oper + this[step]("y"); - } - this.moveTo({ - x: xpos, - y: ypos - }, handle); - return false; - } - return true; - }, - _focus: function(handle,hard) { - this.currentHandle = $(handle).addClass('ui-slider-handle-active'); - if (hard) - this.currentHandle.parent()[0].focus(); - }, - _blur: function(handle) { - $(handle).removeClass('ui-slider-handle-active'); - if(this.currentHandle && this.currentHandle[0] == handle) { this.previousHandle = this.currentHandle; this.currentHandle = null; }; - }, - _click: function(e) { - // This method is only used if: - // - The user didn't click a handle - // - The Slider is not disabled - // - There is a current, or previous selected handle (otherwise we wouldn't know which one to move) - - var pointer = [e.pageX,e.pageY]; - - var clickedHandle = false; - this.handle.each(function() { - if(this == e.target) - clickedHandle = true; - }); - if (clickedHandle || this.options.disabled || !(this.currentHandle || this.previousHandle)) - return; - - // If a previous handle was focussed, focus it again - if (!this.currentHandle && this.previousHandle) - this._focus(this.previousHandle, true); - - // propagate only for distance > 0, otherwise propagation is done my drag - this.offset = this.element.offset(); - - this.moveTo({ - y: this._convertValue(e.pageY - this.offset.top - this.currentHandle[0].offsetHeight/2, "y"), - x: this._convertValue(e.pageX - this.offset.left - this.currentHandle[0].offsetWidth/2, "x") - }, null, !this.options.distance); - }, - - - - _createRange: function() { - if(this.rangeElement) return; - this.rangeElement = $('
      ') - .addClass('ui-slider-range') - .css({ position: 'absolute' }) - .appendTo(this.element); - this._updateRange(); - }, - _removeRange: function() { - this.rangeElement.remove(); - this.rangeElement = null; - }, - _updateRange: function() { - var prop = this.options.axis == "vertical" ? "top" : "left"; - var size = this.options.axis == "vertical" ? "height" : "width"; - this.rangeElement.css(prop, (parseInt($(this.handle[0]).css(prop),10) || 0) + this._handleSize(0, this.options.axis == "vertical" ? "y" : "x")/2); - this.rangeElement.css(size, (parseInt($(this.handle[1]).css(prop),10) || 0) - (parseInt($(this.handle[0]).css(prop),10) || 0)); - }, - _getRange: function() { - return this.rangeElement ? this._convertValue(parseInt(this.rangeElement.css(this.options.axis == "vertical" ? "height" : "width"),10), this.options.axis == "vertical" ? "y" : "x") : null; - }, - - _handleIndex: function() { - return this.handle.index(this.currentHandle[0]); - }, - value: function(handle, axis) { - if(this.handle.length == 1) this.currentHandle = this.handle; - if(!axis) axis = this.options.axis == "vertical" ? "y" : "x"; - - var curHandle = $(handle != undefined && handle !== null ? this.handle[handle] || handle : this.currentHandle); - - if(curHandle.data("mouse").sliderValue) { - return parseInt(curHandle.data("mouse").sliderValue[axis],10); - } else { - return parseInt(((parseInt(curHandle.css(axis == "x" ? "left" : "top"),10) / (this.actualSize[axis == "x" ? "width" : "height"] - this._handleSize(handle,axis))) * this.options.realMax[axis]) + this.options.min[axis],10); - } - - }, - _convertValue: function(value,axis) { - return this.options.min[axis] + (value / (this.actualSize[axis == "x" ? "width" : "height"] - this._handleSize(null,axis))) * this.options.realMax[axis]; - }, - - _translateValue: function(value,axis) { - return ((value - this.options.min[axis]) / this.options.realMax[axis]) * (this.actualSize[axis == "x" ? "width" : "height"] - this._handleSize(null,axis)); - }, - _translateRange: function(value,axis) { - if (this.rangeElement) { - if (this.currentHandle[0] == this.handle[0] && value >= this._translateValue(this.value(1),axis)) - value = this._translateValue(this.value(1,axis) - this._oneStep(axis), axis); - if (this.currentHandle[0] == this.handle[1] && value <= this._translateValue(this.value(0),axis)) - value = this._translateValue(this.value(0,axis) + this._oneStep(axis), axis); - } - if (this.options.handles) { - var handle = this.options.handles[this._handleIndex()]; - if (value < this._translateValue(handle.min,axis)) { - value = this._translateValue(handle.min,axis); - } else if (value > this._translateValue(handle.max,axis)) { - value = this._translateValue(handle.max,axis); - } - } - return value; - }, - _translateLimits: function(value,axis) { - if (value >= this.actualSize[axis == "x" ? "width" : "height"] - this._handleSize(null,axis)) - value = this.actualSize[axis == "x" ? "width" : "height"] - this._handleSize(null,axis); - if (value <= 0) - value = 0; - return value; - }, - _handleSize: function(handle,axis) { - return $(handle != undefined && handle !== null ? this.handle[handle] : this.currentHandle)[0]["offset"+(axis == "x" ? "Width" : "Height")]; - }, - _oneStep: function(axis) { - return this.options.stepping[axis] || 1; - }, - _pageStep: function(axis) { - return /* this.options.paging[axis] ||*/ 10; - }, - - - _start: function(e, handle) { - - var o = this.options; - if(o.disabled) return false; - - // Prepare the outer size - this.actualSize = { width: this.element.outerWidth() , height: this.element.outerHeight() }; - - // This is a especially ugly fix for strange blur events happening on mousemove events - if (!this.currentHandle) - this._focus(this.previousHandle, true); - - this.offset = this.element.offset(); - - this.handleOffset = this.currentHandle.offset(); - this.clickOffset = { top: e.pageY - this.handleOffset.top, left: e.pageX - this.handleOffset.left }; - - this.firstValue = this.value(); - - this._propagate('start', e); - this._drag(e, handle); - return true; - - }, - _stop: function(e) { - this._propagate('stop', e); - if (this.firstValue != this.value()) - this._propagate('change', e); - // This is a especially ugly fix for strange blur events happening on mousemove events - this._focus(this.currentHandle, true); - return false; - }, - _drag: function(e, handle) { - - var o = this.options; - var position = { top: e.pageY - this.offset.top - this.clickOffset.top, left: e.pageX - this.offset.left - this.clickOffset.left}; - if(!this.currentHandle) this._focus(this.previousHandle, true); //This is a especially ugly fix for strange blur events happening on mousemove events - - position.left = this._translateLimits(position.left, "x"); - position.top = this._translateLimits(position.top, "y"); - - if (o.stepping.x) { - var value = this._convertValue(position.left, "x"); - value = Math.round(value / o.stepping.x) * o.stepping.x; - position.left = this._translateValue(value, "x"); - } - if (o.stepping.y) { - var value = this._convertValue(position.top, "y"); - value = Math.round(value / o.stepping.y) * o.stepping.y; - position.top = this._translateValue(value, "y"); - } - - position.left = this._translateRange(position.left, "x"); - position.top = this._translateRange(position.top, "y"); - - if(o.axis != "vertical") this.currentHandle.css({ left: position.left }); - if(o.axis != "horizontal") this.currentHandle.css({ top: position.top }); - - //Store the slider's value - this.currentHandle.data("mouse").sliderValue = { - x: Math.round(this._convertValue(position.left, "x")) || 0, - y: Math.round(this._convertValue(position.top, "y")) || 0 - }; - - if (this.rangeElement) - this._updateRange(); - this._propagate('slide', e); - return false; - }, - - moveTo: function(value, handle, noPropagation) { - - var o = this.options; - - // Prepare the outer size - this.actualSize = { width: this.element.outerWidth() , height: this.element.outerHeight() }; - - //If no handle has been passed, no current handle is available and we have multiple handles, return false - if (handle == undefined && !this.currentHandle && this.handle.length != 1) - return false; - - //If only one handle is available, use it - if (handle == undefined && !this.currentHandle) - handle = 0; - - if (handle != undefined) - this.currentHandle = this.previousHandle = $(this.handle[handle] || handle); - - - if(value.x !== undefined && value.y !== undefined) { - var x = value.x, y = value.y; - } else { - var x = value, y = value; - } - - if(x !== undefined && x.constructor != Number) { - var me = /^\-\=/.test(x), pe = /^\+\=/.test(x); - if(me || pe) { - x = this.value(null, "x") + parseInt(x.replace(me ? '=' : '+=', ''), 10); - } else { - x = isNaN(parseInt(x, 10)) ? undefined : parseInt(x, 10); - } - } - - if(y !== undefined && y.constructor != Number) { - var me = /^\-\=/.test(y), pe = /^\+\=/.test(y); - if(me || pe) { - y = this.value(null, "y") + parseInt(y.replace(me ? '=' : '+=', ''), 10); - } else { - y = isNaN(parseInt(y, 10)) ? undefined : parseInt(y, 10); - } - } - - if(o.axis != "vertical" && x !== undefined) { - if(o.stepping.x) x = Math.round(x / o.stepping.x) * o.stepping.x; - x = this._translateValue(x, "x"); - x = this._translateLimits(x, "x"); - x = this._translateRange(x, "x"); - - o.animate ? this.currentHandle.stop().animate({ left: x }, (Math.abs(parseInt(this.currentHandle.css("left")) - x)) * (!isNaN(parseInt(o.animate)) ? o.animate : 5)) : this.currentHandle.css({ left: x }); - } - - if(o.axis != "horizontal" && y !== undefined) { - if(o.stepping.y) y = Math.round(y / o.stepping.y) * o.stepping.y; - y = this._translateValue(y, "y"); - y = this._translateLimits(y, "y"); - y = this._translateRange(y, "y"); - o.animate ? this.currentHandle.stop().animate({ top: y }, (Math.abs(parseInt(this.currentHandle.css("top")) - y)) * (!isNaN(parseInt(o.animate)) ? o.animate : 5)) : this.currentHandle.css({ top: y }); - } - - if (this.rangeElement) - this._updateRange(); - - //Store the slider's value - this.currentHandle.data("mouse").sliderValue = { - x: Math.round(this._convertValue(x, "x")) || 0, - y: Math.round(this._convertValue(y, "y")) || 0 - }; - - if (!noPropagation) { - this._propagate('start', null); - this._propagate('stop', null); - this._propagate('change', null); - this._propagate("slide", null); - } - } -}); - -$.ui.slider.getter = "value"; - -$.ui.slider.defaults = { - handle: ".ui-slider-handle", - distance: 1, - animate: false -}; - -})(jQuery); -/* - * jQuery UI Tabs 1.6rc2 - - * - * Copyright (c) 2007, 2008 Klaus Hartl (stilbuero.de) - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * http://docs.jquery.com/UI/Tabs - * - * Depends: - * ui.core.js - */ -(function($) { - -$.widget("ui.tabs", { - _init: function() { - this.options.event += '.tabs'; // namespace event - - // create tabs - this._tabify(true); - }, - _setData: function(key, value) { - if ((/^selected/).test(key)) - this.select(value); - else { - this.options[key] = value; - this._tabify(); - } - }, - length: function() { - return this.$tabs.length; - }, - _tabId: function(a) { - return a.title && a.title.replace(/\s/g, '_').replace(/[^A-Za-z0-9\-_:\.]/g, '') - || this.options.idPrefix + $.data(a); - }, - ui: function(tab, panel) { - return { - options: this.options, - tab: tab, - panel: panel, - index: this.$tabs.index(tab) - }; - }, - _tabify: function(init) { - - this.$lis = $('li:has(a[href])', this.element); - this.$tabs = this.$lis.map(function() { return $('a', this)[0]; }); - this.$panels = $([]); - - var self = this, o = this.options; - - this.$tabs.each(function(i, a) { - // inline tab - if (a.hash && a.hash.replace('#', '')) // Safari 2 reports '#' for an empty hash - self.$panels = self.$panels.add(a.hash); - // remote tab - else if ($(a).attr('href') != '#') { // prevent loading the page itself if href is just "#" - $.data(a, 'href.tabs', a.href); // required for restore on destroy - $.data(a, 'load.tabs', a.href); // mutable - var id = self._tabId(a); - a.href = '#' + id; - var $panel = $('#' + id); - if (!$panel.length) { - $panel = $(o.panelTemplate).attr('id', id).addClass(o.panelClass) - .insertAfter( self.$panels[i - 1] || self.element ); - $panel.data('destroy.tabs', true); - } - self.$panels = self.$panels.add( $panel ); - } - // invalid tab href - else - o.disabled.push(i + 1); - }); - - // initialization from scratch - if (init) { - - // attach necessary classes for styling if not present - this.element.addClass(o.navClass); - this.$panels.each(function() { - var $this = $(this); - $this.addClass(o.panelClass); - }); - - // Selected tab - // use "selected" option or try to retrieve: - // 1. from fragment identifier in url - // 2. from cookie - // 3. from selected class attribute on
    • - if (o.selected === undefined) { - if (location.hash) { - this.$tabs.each(function(i, a) { - if (a.hash == location.hash) { - o.selected = i; - // prevent page scroll to fragment - if ($.browser.msie || $.browser.opera) { // && !o.remote - var $toShow = $(location.hash), toShowId = $toShow.attr('id'); - $toShow.attr('id', ''); - setTimeout(function() { - $toShow.attr('id', toShowId); // restore id - }, 500); - } - scrollTo(0, 0); - return false; // break - } - }); - } - else if (o.cookie) { - var index = parseInt($.cookie('ui-tabs-' + $.data(self.element[0])), 10); - if (index && self.$tabs[index]) - o.selected = index; - } - else if (self.$lis.filter('.' + o.selectedClass).length) - o.selected = self.$lis.index( self.$lis.filter('.' + o.selectedClass)[0] ); - } - o.selected = o.selected === null || o.selected !== undefined ? o.selected : 0; // first tab selected by default - - // Take disabling tabs via class attribute from HTML - // into account and update option properly. - // A selected tab cannot become disabled. - o.disabled = $.unique(o.disabled.concat( - $.map(this.$lis.filter('.' + o.disabledClass), - function(n, i) { return self.$lis.index(n); } ) - )).sort(); - if ($.inArray(o.selected, o.disabled) != -1) - o.disabled.splice($.inArray(o.selected, o.disabled), 1); - - // highlight selected tab - this.$panels.addClass(o.hideClass); - this.$lis.removeClass(o.selectedClass); - if (o.selected !== null) { - this.$panels.eq(o.selected).show().removeClass(o.hideClass); // use show and remove class to show in any case no matter how it has been hidden before - this.$lis.eq(o.selected).addClass(o.selectedClass); - - // seems to be expected behavior that the show callback is fired - var onShow = function() { - self._trigger('show', null, - self.ui(self.$tabs[o.selected], self.$panels[o.selected])); - }; - - // load if remote tab - if ($.data(this.$tabs[o.selected], 'load.tabs')) - this.load(o.selected, onShow); - // just trigger show event - else - onShow(); - } - - // clean up to avoid memory leaks in certain versions of IE 6 - $(window).bind('unload', function() { - self.$tabs.unbind('.tabs'); - self.$lis = self.$tabs = self.$panels = null; - }); - - } - // update selected after add/remove - else - o.selected = this.$lis.index( this.$lis.filter('.' + o.selectedClass)[0] ); - - // set or update cookie after init and add/remove respectively - if (o.cookie) - $.cookie('ui-tabs-' + $.data(self.element[0]), o.selected, o.cookie); - - // disable tabs - for (var i = 0, li; li = this.$lis[i]; i++) - $(li)[$.inArray(i, o.disabled) != -1 && !$(li).hasClass(o.selectedClass) ? 'addClass' : 'removeClass'](o.disabledClass); - - // reset cache if switching from cached to not cached - if (o.cache === false) - this.$tabs.removeData('cache.tabs'); - - // set up animations - var hideFx, showFx, baseFx = { 'min-width': 0, duration: 1 }, baseDuration = 'normal'; - if (o.fx && o.fx.constructor == Array) - hideFx = o.fx[0] || baseFx, showFx = o.fx[1] || baseFx; - else - hideFx = showFx = o.fx || baseFx; - - // reset some styles to maintain print style sheets etc. - var resetCSS = { display: '', overflow: '', height: '' }; - if (!$.browser.msie) // not in IE to prevent ClearType font issue - resetCSS.opacity = ''; - - // Hide a tab, animation prevents browser scrolling to fragment, - // $show is optional. - function hideTab(clicked, $hide, $show) { - $hide.animate(hideFx, hideFx.duration || baseDuration, function() { // - $hide.addClass(o.hideClass).css(resetCSS); // maintain flexible height and accessibility in print etc. - if ($.browser.msie && hideFx.opacity) - $hide[0].style.filter = ''; - if ($show) - showTab(clicked, $show, $hide); - }); - } - - // Show a tab, animation prevents browser scrolling to fragment, - // $hide is optional. - function showTab(clicked, $show, $hide) { - if (showFx === baseFx) - $show.css('display', 'block'); // prevent occasionally occuring flicker in Firefox cause by gap between showing and hiding the tab panels - $show.animate(showFx, showFx.duration || baseDuration, function() { - $show.removeClass(o.hideClass).css(resetCSS); // maintain flexible height and accessibility in print etc. - if ($.browser.msie && showFx.opacity) - $show[0].style.filter = ''; - - // callback - self._trigger('show', null, self.ui(clicked, $show[0])); - }); - } - - // switch a tab - function switchTab(clicked, $li, $hide, $show) { - /*if (o.bookmarkable && trueClick) { // add to history only if true click occured, not a triggered click - $.ajaxHistory.update(clicked.hash); - }*/ - $li.addClass(o.selectedClass) - .siblings().removeClass(o.selectedClass); - hideTab(clicked, $hide, $show); - } - - // attach tab event handler, unbind to avoid duplicates from former tabifying... - this.$tabs.unbind('.tabs').bind(o.event, function() { - - //var trueClick = e.clientX; // add to history only if true click occured, not a triggered click - var $li = $(this).parents('li:eq(0)'), - $hide = self.$panels.filter(':visible'), - $show = $(this.hash); - - // If tab is already selected and not unselectable or tab disabled or - // or is already loading or click callback returns false stop here. - // Check if click handler returns false last so that it is not executed - // for a disabled or loading tab! - if (($li.hasClass(o.selectedClass) && !o.unselect) - || $li.hasClass(o.disabledClass) - || $(this).hasClass(o.loadingClass) - || self._trigger('select', null, self.ui(this, $show[0])) === false - ) { - this.blur(); - return false; - } - - self.options.selected = self.$tabs.index(this); - - // if tab may be closed - if (o.unselect) { - if ($li.hasClass(o.selectedClass)) { - self.options.selected = null; - $li.removeClass(o.selectedClass); - self.$panels.stop(); - hideTab(this, $hide); - this.blur(); - return false; - } else if (!$hide.length) { - self.$panels.stop(); - var a = this; - self.load(self.$tabs.index(this), function() { - $li.addClass(o.selectedClass).addClass(o.unselectClass); - showTab(a, $show); - }); - this.blur(); - return false; - } - } - - if (o.cookie) - $.cookie('ui-tabs-' + $.data(self.element[0]), self.options.selected, o.cookie); - - // stop possibly running animations - self.$panels.stop(); - - // show new tab - if ($show.length) { - - // prevent scrollbar scrolling to 0 and than back in IE7, happens only if bookmarking/history is enabled - /*if ($.browser.msie && o.bookmarkable) { - var showId = this.hash.replace('#', ''); - $show.attr('id', ''); - setTimeout(function() { - $show.attr('id', showId); // restore id - }, 0); - }*/ - - var a = this; - self.load(self.$tabs.index(this), $hide.length ? - function() { - switchTab(a, $li, $hide, $show); - } : - function() { - $li.addClass(o.selectedClass); - showTab(a, $show); - } - ); - - // Set scrollbar to saved position - need to use timeout with 0 to prevent browser scroll to target of hash - /*var scrollX = window.pageXOffset || document.documentElement && document.documentElement.scrollLeft || document.body.scrollLeft || 0; - var scrollY = window.pageYOffset || document.documentElement && document.documentElement.scrollTop || document.body.scrollTop || 0; - setTimeout(function() { - scrollTo(scrollX, scrollY); - }, 0);*/ - - } else - throw 'jQuery UI Tabs: Mismatching fragment identifier.'; - - // Prevent IE from keeping other link focussed when using the back button - // and remove dotted border from clicked link. This is controlled in modern - // browsers via CSS, also blur removes focus from address bar in Firefox - // which can become a usability and annoying problem with tabsRotate. - if ($.browser.msie) - this.blur(); - - //return o.bookmarkable && !!trueClick; // convert trueClick == undefined to Boolean required in IE - return false; - - }); - - // disable click if event is configured to something else - if (!(/^click/).test(o.event)) - this.$tabs.bind('click.tabs', function() { return false; }); - - }, - add: function(url, label, index) { - if (index == undefined) - index = this.$tabs.length; // append by default - - var o = this.options; - var $li = $(o.tabTemplate.replace(/#\{href\}/g, url).replace(/#\{label\}/g, label)); - $li.data('destroy.tabs', true); - - var id = url.indexOf('#') == 0 ? url.replace('#', '') : this._tabId( $('a:first-child', $li)[0] ); - - // try to find an existing element before creating a new one - var $panel = $('#' + id); - if (!$panel.length) { - $panel = $(o.panelTemplate).attr('id', id) - .addClass(o.hideClass) - .data('destroy.tabs', true); - } - $panel.addClass(o.panelClass); - if (index >= this.$lis.length) { - $li.appendTo(this.element); - $panel.appendTo(this.element[0].parentNode); - } else { - $li.insertBefore(this.$lis[index]); - $panel.insertBefore(this.$panels[index]); - } - - o.disabled = $.map(o.disabled, - function(n, i) { return n >= index ? ++n : n }); - - this._tabify(); - - if (this.$tabs.length == 1) { - $li.addClass(o.selectedClass); - $panel.removeClass(o.hideClass); - var href = $.data(this.$tabs[0], 'load.tabs'); - if (href) - this.load(index, href); - } - - // callback - this._trigger('add', null, this.ui(this.$tabs[index], this.$panels[index])); - }, - remove: function(index) { - var o = this.options, $li = this.$lis.eq(index).remove(), - $panel = this.$panels.eq(index).remove(); - - // If selected tab was removed focus tab to the right or - // in case the last tab was removed the tab to the left. - if ($li.hasClass(o.selectedClass) && this.$tabs.length > 1) - this.select(index + (index + 1 < this.$tabs.length ? 1 : -1)); - - o.disabled = $.map($.grep(o.disabled, function(n, i) { return n != index; }), - function(n, i) { return n >= index ? --n : n }); - - this._tabify(); - - // callback - this._trigger('remove', null, this.ui($li.find('a')[0], $panel[0])); - }, - enable: function(index) { - var o = this.options; - if ($.inArray(index, o.disabled) == -1) - return; - - var $li = this.$lis.eq(index).removeClass(o.disabledClass); - if ($.browser.safari) { // fix disappearing tab (that used opacity indicating disabling) after enabling in Safari 2... - $li.css('display', 'inline-block'); - setTimeout(function() { - $li.css('display', 'block'); - }, 0); - } - - o.disabled = $.grep(o.disabled, function(n, i) { return n != index; }); - - // callback - this._trigger('enable', null, this.ui(this.$tabs[index], this.$panels[index])); - }, - disable: function(index) { - var self = this, o = this.options; - if (index != o.selected) { // cannot disable already selected tab - this.$lis.eq(index).addClass(o.disabledClass); - - o.disabled.push(index); - o.disabled.sort(); - - // callback - this._trigger('disable', null, this.ui(this.$tabs[index], this.$panels[index])); - } - }, - select: function(index) { - if (typeof index == 'string') - index = this.$tabs.index( this.$tabs.filter('[href$=' + index + ']')[0] ); - this.$tabs.eq(index).trigger(this.options.event); - }, - load: function(index, callback) { // callback is for internal usage only - - var self = this, o = this.options, $a = this.$tabs.eq(index), a = $a[0], - bypassCache = callback == undefined || callback === false, url = $a.data('load.tabs'); - - callback = callback || function() {}; - - // no remote or from cache - just finish with callback - if (!url || !bypassCache && $.data(a, 'cache.tabs')) { - callback(); - return; - } - - // load remote from here on - - var inner = function(parent) { - var $parent = $(parent), $inner = $parent.find('*:last'); - return $inner.length && $inner.is(':not(img)') && $inner || $parent; - }; - var cleanup = function() { - self.$tabs.filter('.' + o.loadingClass).removeClass(o.loadingClass) - .each(function() { - if (o.spinner) - inner(this).parent().html(inner(this).data('label.tabs')); - }); - self.xhr = null; - }; - - if (o.spinner) { - var label = inner(a).html(); - inner(a).wrapInner('') - .find('em').data('label.tabs', label).html(o.spinner); - } - - var ajaxOptions = $.extend({}, o.ajaxOptions, { - url: url, - success: function(r, s) { - $(a.hash).html(r); - cleanup(); - - if (o.cache) - $.data(a, 'cache.tabs', true); // if loaded once do not load them again - - // callbacks - self._trigger('load', null, self.ui(self.$tabs[index], self.$panels[index])); - o.ajaxOptions.success && o.ajaxOptions.success(r, s); - - // This callback is required because the switch has to take - // place after loading has completed. Call last in order to - // fire load before show callback... - callback(); - } - }); - if (this.xhr) { - // terminate pending requests from other tabs and restore tab label - this.xhr.abort(); - cleanup(); - } - $a.addClass(o.loadingClass); - setTimeout(function() { // timeout is again required in IE, "wait" for id being restored - self.xhr = $.ajax(ajaxOptions); - }, 0); - - }, - url: function(index, url) { - this.$tabs.eq(index).removeData('cache.tabs').data('load.tabs', url); - }, - destroy: function() { - var o = this.options; - this.element.unbind('.tabs') - .removeClass(o.navClass).removeData('tabs'); - this.$tabs.each(function() { - var href = $.data(this, 'href.tabs'); - if (href) - this.href = href; - var $this = $(this).unbind('.tabs'); - $.each(['href', 'load', 'cache'], function(i, prefix) { - $this.removeData(prefix + '.tabs'); - }); - }); - this.$lis.add(this.$panels).each(function() { - if ($.data(this, 'destroy.tabs')) - $(this).remove(); - else - $(this).removeClass([o.selectedClass, o.unselectClass, - o.disabledClass, o.panelClass, o.hideClass].join(' ')); - }); - } -}); - -$.ui.tabs.defaults = { - // basic setup - unselect: false, - event: 'click', - disabled: [], - cookie: null, // e.g. { expires: 7, path: '/', domain: 'jquery.com', secure: true } - // TODO history: false, - - // Ajax - spinner: 'Loading…', - cache: false, - idPrefix: 'ui-tabs-', - ajaxOptions: {}, - - // animations - fx: null, // e.g. { height: 'toggle', opacity: 'toggle', duration: 200 } - - // templates - tabTemplate: '
    • #{label}
    • ', - panelTemplate: '
      ', - - // CSS classes - navClass: 'ui-tabs-nav', - selectedClass: 'ui-tabs-selected', - unselectClass: 'ui-tabs-unselect', - disabledClass: 'ui-tabs-disabled', - panelClass: 'ui-tabs-panel', - hideClass: 'ui-tabs-hide', - loadingClass: 'ui-tabs-loading' -}; - -$.ui.tabs.getter = "length"; - -/* - * Tabs Extensions - */ - -/* - * Rotate - */ -$.extend($.ui.tabs.prototype, { - rotation: null, - rotate: function(ms, continuing) { - - continuing = continuing || false; - - var self = this, t = this.options.selected; - - function start() { - self.rotation = setInterval(function() { - t = ++t < self.$tabs.length ? t : 0; - self.select(t); - }, ms); - } - - function stop(e) { - if (!e || e.clientX) { // only in case of a true click - clearInterval(self.rotation); - } - } - - // start interval - if (ms) { - start(); - if (!continuing) - this.$tabs.bind(this.options.event, stop); - else - this.$tabs.bind(this.options.event, function() { - stop(); - t = self.options.selected; - start(); - }); - } - // stop interval - else { - stop(); - this.$tabs.unbind(this.options.event, stop); - } - } -}); - -})(jQuery); -/* - * jQuery UI Datepicker 1.6rc2 - - * - * Copyright (c) 2006, 2007, 2008 Marc Grabanski - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * http://docs.jquery.com/UI/Datepicker - * - * Depends: - * ui.core.js - * - * Marc Grabanski (m@marcgrabanski.com) and Keith Wood (kbwood@virginbroadband.com.au). - */ - -(function($) { // hide the namespace - -var PROP_NAME = 'datepicker'; - -/* Date picker manager. - Use the singleton instance of this class, $.datepicker, to interact with the date picker. - Settings for (groups of) date pickers are maintained in an instance object, - allowing multiple different settings on the same page. */ - -function Datepicker() { - this.debug = false; // Change this to true to start debugging - this._curInst = null; // The current instance in use - this._disabledInputs = []; // List of date picker inputs that have been disabled - this._datepickerShowing = false; // True if the popup picker is showing , false if not - this._inDialog = false; // True if showing within a "dialog", false if not - this._mainDivId = 'ui-datepicker-div'; // The ID of the main datepicker division - this._inlineClass = 'ui-datepicker-inline'; // The name of the inline marker class - this._appendClass = 'ui-datepicker-append'; // The name of the append marker class - this._triggerClass = 'ui-datepicker-trigger'; // The name of the trigger marker class - this._dialogClass = 'ui-datepicker-dialog'; // The name of the dialog marker class - this._promptClass = 'ui-datepicker-prompt'; // The name of the dialog prompt marker class - this._disableClass = 'ui-datepicker-disabled'; // The name of the disabled covering marker class - this._unselectableClass = 'ui-datepicker-unselectable'; // The name of the unselectable cell marker class - this._currentClass = 'ui-datepicker-current-day'; // The name of the current day marker class - this.regional = []; // Available regional settings, indexed by language code - this.regional[''] = { // Default regional settings - clearText: 'Clear', // Display text for clear link - clearStatus: 'Erase the current date', // Status text for clear link - closeText: 'Close', // Display text for close link - closeStatus: 'Close without change', // Status text for close link - prevText: '<Prev', // Display text for previous month link - prevStatus: 'Show the previous month', // Status text for previous month link - prevBigText: '<<', // Display text for previous year link - prevBigStatus: 'Show the previous year', // Status text for previous year link - nextText: 'Next>', // Display text for next month link - nextStatus: 'Show the next month', // Status text for next month link - nextBigText: '>>', // Display text for next year link - nextBigStatus: 'Show the next year', // Status text for next year link - currentText: 'Today', // Display text for current month link - currentStatus: 'Show the current month', // Status text for current month link - monthNames: ['January','February','March','April','May','June', - 'July','August','September','October','November','December'], // Names of months for drop-down and formatting - monthNamesShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], // For formatting - monthStatus: 'Show a different month', // Status text for selecting a month - yearStatus: 'Show a different year', // Status text for selecting a year - weekHeader: 'Wk', // Header for the week of the year column - weekStatus: 'Week of the year', // Status text for the week of the year column - dayNames: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], // For formatting - dayNamesShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], // For formatting - dayNamesMin: ['Su','Mo','Tu','We','Th','Fr','Sa'], // Column headings for days starting at Sunday - dayStatus: 'Set DD as first week day', // Status text for the day of the week selection - dateStatus: 'Select DD, M d', // Status text for the date selection - dateFormat: 'mm/dd/yy', // See format options on parseDate - firstDay: 0, // The first day of the week, Sun = 0, Mon = 1, ... - initStatus: 'Select a date', // Initial Status text on opening - isRTL: false // True if right-to-left language, false if left-to-right - }; - this._defaults = { // Global defaults for all the date picker instances - showOn: 'focus', // 'focus' for popup on focus, - // 'button' for trigger button, or 'both' for either - showAnim: 'show', // Name of jQuery animation for popup - showOptions: {}, // Options for enhanced animations - defaultDate: null, // Used when field is blank: actual date, - // +/-number for offset from today, null for today - appendText: '', // Display text following the input box, e.g. showing the format - buttonText: '...', // Text for trigger button - buttonImage: '', // URL for trigger button image - buttonImageOnly: false, // True if the image appears alone, false if it appears on a button - closeAtTop: true, // True to have the clear/close at the top, - // false to have them at the bottom - mandatory: false, // True to hide the Clear link, false to include it - hideIfNoPrevNext: false, // True to hide next/previous month links - // if not applicable, false to just disable them - navigationAsDateFormat: false, // True if date formatting applied to prev/today/next links - showBigPrevNext: false, // True to show big prev/next links - gotoCurrent: false, // True if today link goes back to current selection instead - changeMonth: true, // True if month can be selected directly, false if only prev/next - changeYear: true, // True if year can be selected directly, false if only prev/next - showMonthAfterYear: false, // True if the year select precedes month, false for month then year - yearRange: '-10:+10', // Range of years to display in drop-down, - // either relative to current year (-nn:+nn) or absolute (nnnn:nnnn) - changeFirstDay: true, // True to click on day name to change, false to remain as set - highlightWeek: false, // True to highlight the selected week - showOtherMonths: false, // True to show dates in other months, false to leave blank - showWeeks: false, // True to show week of the year, false to omit - calculateWeek: this.iso8601Week, // How to calculate the week of the year, - // takes a Date and returns the number of the week for it - shortYearCutoff: '+10', // Short year values < this are in the current century, - // > this are in the previous century, - // string value starting with '+' for current year + value - showStatus: false, // True to show status bar at bottom, false to not show it - statusForDate: this.dateStatus, // Function to provide status text for a date - - // takes date and instance as parameters, returns display text - minDate: null, // The earliest selectable date, or null for no limit - maxDate: null, // The latest selectable date, or null for no limit - duration: 'normal', // Duration of display/closure - beforeShowDay: null, // Function that takes a date and returns an array with - // [0] = true if selectable, false if not, [1] = custom CSS class name(s) or '', - // [2] = cell title (optional), e.g. $.datepicker.noWeekends - beforeShow: null, // Function that takes an input field and - // returns a set of custom settings for the date picker - onSelect: null, // Define a callback function when a date is selected - onChangeMonthYear: null, // Define a callback function when the month or year is changed - onClose: null, // Define a callback function when the datepicker is closed - numberOfMonths: 1, // Number of months to show at a time - showCurrentAtPos: 0, // The position in multipe months at which to show the current month (starting at 0) - stepMonths: 1, // Number of months to step back/forward - stepBigMonths: 12, // Number of months to step back/forward for the big links - rangeSelect: false, // Allows for selecting a date range on one date picker - rangeSeparator: ' - ', // Text between two dates in a range - altField: '', // Selector for an alternate field to store selected dates into - altFormat: '' // The date format to use for the alternate field - }; - $.extend(this._defaults, this.regional['']); - this.dpDiv = $(''); -} - -$.extend(Datepicker.prototype, { - /* Class name added to elements to indicate already configured with a date picker. */ - markerClassName: 'hasDatepicker', - - /* Debug logging (if enabled). */ - log: function () { - if (this.debug) - console.log.apply('', arguments); - }, - - /* Override the default settings for all instances of the date picker. - @param settings object - the new settings to use as defaults (anonymous object) - @return the manager object */ - setDefaults: function(settings) { - extendRemove(this._defaults, settings || {}); - return this; - }, - - /* Attach the date picker to a jQuery selection. - @param target element - the target input field or division or span - @param settings object - the new settings to use for this date picker instance (anonymous) */ - _attachDatepicker: function(target, settings) { - // check for settings on the control itself - in namespace 'date:' - var inlineSettings = null; - for (attrName in this._defaults) { - var attrValue = target.getAttribute('date:' + attrName); - if (attrValue) { - inlineSettings = inlineSettings || {}; - try { - inlineSettings[attrName] = eval(attrValue); - } catch (err) { - inlineSettings[attrName] = attrValue; - } - } - } - var nodeName = target.nodeName.toLowerCase(); - var inline = (nodeName == 'div' || nodeName == 'span'); - if (!target.id) - target.id = 'dp' + (++this.uuid); - var inst = this._newInst($(target), inline); - inst.settings = $.extend({}, settings || {}, inlineSettings || {}); - if (nodeName == 'input') { - this._connectDatepicker(target, inst); - } else if (inline) { - this._inlineDatepicker(target, inst); - } - }, - - /* Create a new instance object. */ - _newInst: function(target, inline) { - var id = target[0].id.replace(/([:\[\]\.])/g, '\\\\$1'); // escape jQuery meta chars - return {id: id, input: target, // associated target - selectedDay: 0, selectedMonth: 0, selectedYear: 0, // current selection - drawMonth: 0, drawYear: 0, // month being drawn - inline: inline, // is datepicker inline or not - dpDiv: (!inline ? this.dpDiv : // presentation div - $('
      '))}; - }, - - /* Attach the date picker to an input field. */ - _connectDatepicker: function(target, inst) { - var input = $(target); - if (input.hasClass(this.markerClassName)) - return; - var appendText = this._get(inst, 'appendText'); - var isRTL = this._get(inst, 'isRTL'); - if (appendText) - input[isRTL ? 'before' : 'after']('' + appendText + ''); - var showOn = this._get(inst, 'showOn'); - if (showOn == 'focus' || showOn == 'both') // pop-up date picker when in the marked field - input.focus(this._showDatepicker); - if (showOn == 'button' || showOn == 'both') { // pop-up date picker when button clicked - var buttonText = this._get(inst, 'buttonText'); - var buttonImage = this._get(inst, 'buttonImage'); - var trigger = $(this._get(inst, 'buttonImageOnly') ? - $('').addClass(this._triggerClass). - attr({ src: buttonImage, alt: buttonText, title: buttonText }) : - $('').addClass(this._triggerClass). - html(buttonImage == '' ? buttonText : $('').attr( - { src:buttonImage, alt:buttonText, title:buttonText }))); - input[isRTL ? 'before' : 'after'](trigger); - trigger.click(function() { - if ($.datepicker._datepickerShowing && $.datepicker._lastInput == target) - $.datepicker._hideDatepicker(); - else - $.datepicker._showDatepicker(target); - return false; - }); - } - input.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress). - bind("setData.datepicker", function(event, key, value) { - inst.settings[key] = value; - }).bind("getData.datepicker", function(event, key) { - return this._get(inst, key); - }); - $.data(target, PROP_NAME, inst); - }, - - /* Attach an inline date picker to a div. */ - _inlineDatepicker: function(target, inst) { - var divSpan = $(target); - if (divSpan.hasClass(this.markerClassName)) - return; - divSpan.addClass(this.markerClassName).append(inst.dpDiv). - bind("setData.datepicker", function(event, key, value){ - inst.settings[key] = value; - }).bind("getData.datepicker", function(event, key){ - return this._get(inst, key); - }); - $.data(target, PROP_NAME, inst); - this._setDate(inst, this._getDefaultDate(inst)); - this._updateDatepicker(inst); - }, - - /* Tidy up after displaying the date picker. */ - _inlineShow: function(inst) { - var numMonths = this._getNumberOfMonths(inst); // fix width for dynamic number of date pickers - inst.dpDiv.width(numMonths[1] * $('.ui-datepicker', inst.dpDiv[0]).width()); - }, - - /* Pop-up the date picker in a "dialog" box. - @param input element - ignored - @param dateText string - the initial date to display (in the current format) - @param onSelect function - the function(dateText) to call when a date is selected - @param settings object - update the dialog date picker instance's settings (anonymous object) - @param pos int[2] - coordinates for the dialog's position within the screen or - event - with x/y coordinates or - leave empty for default (screen centre) - @return the manager object */ - _dialogDatepicker: function(input, dateText, onSelect, settings, pos) { - var inst = this._dialogInst; // internal instance - if (!inst) { - var id = 'dp' + (++this.uuid); - this._dialogInput = $(''); - this._dialogInput.keydown(this._doKeyDown); - $('body').append(this._dialogInput); - inst = this._dialogInst = this._newInst(this._dialogInput, false); - inst.settings = {}; - $.data(this._dialogInput[0], PROP_NAME, inst); - } - extendRemove(inst.settings, settings || {}); - this._dialogInput.val(dateText); - - this._pos = (pos ? (pos.length ? pos : [pos.pageX, pos.pageY]) : null); - if (!this._pos) { - var browserWidth = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth; - var browserHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight; - var scrollX = document.documentElement.scrollLeft || document.body.scrollLeft; - var scrollY = document.documentElement.scrollTop || document.body.scrollTop; - this._pos = // should use actual width/height below - [(browserWidth / 2) - 100 + scrollX, (browserHeight / 2) - 150 + scrollY]; - } - - // move input on screen for focus, but hidden behind dialog - this._dialogInput.css('left', this._pos[0] + 'px').css('top', this._pos[1] + 'px'); - inst.settings.onSelect = onSelect; - this._inDialog = true; - this.dpDiv.addClass(this._dialogClass); - this._showDatepicker(this._dialogInput[0]); - if ($.blockUI) - $.blockUI(this.dpDiv); - $.data(this._dialogInput[0], PROP_NAME, inst); - return this; - }, - - /* Detach a datepicker from its control. - @param target element - the target input field or division or span */ - _destroyDatepicker: function(target) { - var $target = $(target); - if (!$target.hasClass(this.markerClassName)) { - return; - } - var nodeName = target.nodeName.toLowerCase(); - $.removeData(target, PROP_NAME); - if (nodeName == 'input') { - $target.siblings('.' + this._appendClass).remove().end(). - siblings('.' + this._triggerClass).remove().end(). - removeClass(this.markerClassName). - unbind('focus', this._showDatepicker). - unbind('keydown', this._doKeyDown). - unbind('keypress', this._doKeyPress); - } else if (nodeName == 'div' || nodeName == 'span') - $target.removeClass(this.markerClassName).empty(); - }, - - /* Enable the date picker to a jQuery selection. - @param target element - the target input field or division or span */ - _enableDatepicker: function(target) { - var $target = $(target); - if (!$target.hasClass(this.markerClassName)) { - return; - } - var nodeName = target.nodeName.toLowerCase(); - if (nodeName == 'input') { - target.disabled = false; - $target.siblings('button.' + this._triggerClass). - each(function() { this.disabled = false; }).end(). - siblings('img.' + this._triggerClass). - css({opacity: '1.0', cursor: ''}); - } - else if (nodeName == 'div' || nodeName == 'span') { - $target.children('.' + this._disableClass).remove(); - } - this._disabledInputs = $.map(this._disabledInputs, - function(value) { return (value == target ? null : value); }); // delete entry - }, - - /* Disable the date picker to a jQuery selection. - @param target element - the target input field or division or span */ - _disableDatepicker: function(target) { - var $target = $(target); - if (!$target.hasClass(this.markerClassName)) { - return; - } - var nodeName = target.nodeName.toLowerCase(); - if (nodeName == 'input') { - target.disabled = true; - $target.siblings('button.' + this._triggerClass). - each(function() { this.disabled = true; }).end(). - siblings('img.' + this._triggerClass). - css({opacity: '0.5', cursor: 'default'}); - } - else if (nodeName == 'div' || nodeName == 'span') { - var inline = $target.children('.' + this._inlineClass); - var offset = inline.offset(); - var relOffset = {left: 0, top: 0}; - inline.parents().each(function() { - if ($(this).css('position') == 'relative') { - relOffset = $(this).offset(); - return false; - } - }); - $target.prepend('
      '); - } - this._disabledInputs = $.map(this._disabledInputs, - function(value) { return (value == target ? null : value); }); // delete entry - this._disabledInputs[this._disabledInputs.length] = target; - }, - - /* Is the first field in a jQuery collection disabled as a datepicker? - @param target element - the target input field or division or span - @return boolean - true if disabled, false if enabled */ - _isDisabledDatepicker: function(target) { - if (!target) - return false; - for (var i = 0; i < this._disabledInputs.length; i++) { - if (this._disabledInputs[i] == target) - return true; - } - return false; - }, - - /* Retrieve the instance data for the target control. - @param target element - the target input field or division or span - @return object - the associated instance data - @throws error if a jQuery problem getting data */ - _getInst: function(target) { - try { - return $.data(target, PROP_NAME); - } - catch (err) { - throw 'Missing instance data for this datepicker'; - } - }, - - /* Update the settings for a date picker attached to an input field or division. - @param target element - the target input field or division or span - @param name object - the new settings to update or - string - the name of the setting to change or - @param value any - the new value for the setting (omit if above is an object) */ - _changeDatepicker: function(target, name, value) { - var settings = name || {}; - if (typeof name == 'string') { - settings = {}; - settings[name] = value; - } - var inst = this._getInst(target); - if (inst) { - if (this._curInst == inst) { - this._hideDatepicker(null); - } - extendRemove(inst.settings, settings); - var date = new Date(); - extendRemove(inst, {rangeStart: null, // start of range - endDay: null, endMonth: null, endYear: null, // end of range - selectedDay: date.getDate(), selectedMonth: date.getMonth(), - selectedYear: date.getFullYear(), // starting point - currentDay: date.getDate(), currentMonth: date.getMonth(), - currentYear: date.getFullYear(), // current selection - drawMonth: date.getMonth(), drawYear: date.getFullYear()}); // month being drawn - this._updateDatepicker(inst); - } - }, - - /* Redraw the date picker attached to an input field or division. - @param target element - the target input field or division or span */ - _refreshDatepicker: function(target) { - var inst = this._getInst(target); - if (inst) { - this._updateDatepicker(inst); - } - }, - - /* Set the dates for a jQuery selection. - @param target element - the target input field or division or span - @param date Date - the new date - @param endDate Date - the new end date for a range (optional) */ - _setDateDatepicker: function(target, date, endDate) { - var inst = this._getInst(target); - if (inst) { - this._setDate(inst, date, endDate); - this._updateDatepicker(inst); - this._updateAlternate(inst); - } - }, - - /* Get the date(s) for the first entry in a jQuery selection. - @param target element - the target input field or division or span - @return Date - the current date or - Date[2] - the current dates for a range */ - _getDateDatepicker: function(target) { - var inst = this._getInst(target); - if (inst && !inst.inline) - this._setDateFromField(inst); - return (inst ? this._getDate(inst) : null); - }, - - /* Handle keystrokes. */ - _doKeyDown: function(e) { - var inst = $.datepicker._getInst(e.target); - var handled = true; - if ($.datepicker._datepickerShowing) - switch (e.keyCode) { - case 9: $.datepicker._hideDatepicker(null, ''); - break; // hide on tab out - case 13: $.datepicker._selectDay(e.target, inst.selectedMonth, inst.selectedYear, - $('td.ui-datepicker-days-cell-over', inst.dpDiv)[0]); - return false; // don't submit the form - break; // select the value on enter - case 27: $.datepicker._hideDatepicker(null, $.datepicker._get(inst, 'duration')); - break; // hide on escape - case 33: $.datepicker._adjustDate(e.target, (e.ctrlKey ? - -$.datepicker._get(inst, 'stepBigMonths') : - -$.datepicker._get(inst, 'stepMonths')), 'M'); - break; // previous month/year on page up/+ ctrl - case 34: $.datepicker._adjustDate(e.target, (e.ctrlKey ? - +$.datepicker._get(inst, 'stepBigMonths') : - +$.datepicker._get(inst, 'stepMonths')), 'M'); - break; // next month/year on page down/+ ctrl - case 35: if (e.ctrlKey) $.datepicker._clearDate(e.target); - handled = e.ctrlKey; - break; // clear on ctrl+end - case 36: if (e.ctrlKey) $.datepicker._gotoToday(e.target); - handled = e.ctrlKey; - break; // current on ctrl+home - case 37: if (e.ctrlKey) $.datepicker._adjustDate(e.target, -1, 'D'); - handled = e.ctrlKey; - break; // -1 day on ctrl+left - case 38: if (e.ctrlKey) $.datepicker._adjustDate(e.target, -7, 'D'); - handled = e.ctrlKey; - break; // -1 week on ctrl+up - case 39: if (e.ctrlKey) $.datepicker._adjustDate(e.target, +1, 'D'); - handled = e.ctrlKey; - break; // +1 day on ctrl+right - case 40: if (e.ctrlKey) $.datepicker._adjustDate(e.target, +7, 'D'); - handled = e.ctrlKey; - break; // +1 week on ctrl+down - default: handled = false; - } - else if (e.keyCode == 36 && e.ctrlKey) // display the date picker on ctrl+home - $.datepicker._showDatepicker(this); - else - handled = false; - if (handled) { - e.preventDefault(); - e.stopPropagation(); - } - }, - - /* Filter entered characters - based on date format. */ - _doKeyPress: function(e) { - var inst = $.datepicker._getInst(e.target); - var chars = $.datepicker._possibleChars($.datepicker._get(inst, 'dateFormat')); - var chr = String.fromCharCode(e.charCode == undefined ? e.keyCode : e.charCode); - return e.ctrlKey || (chr < ' ' || !chars || chars.indexOf(chr) > -1); - }, - - /* Pop-up the date picker for a given input field. - @param input element - the input field attached to the date picker or - event - if triggered by focus */ - _showDatepicker: function(input) { - input = input.target || input; - if (input.nodeName.toLowerCase() != 'input') // find from button/image trigger - input = $('input', input.parentNode)[0]; - if ($.datepicker._isDisabledDatepicker(input) || $.datepicker._lastInput == input) // already here - return; - var inst = $.datepicker._getInst(input); - var beforeShow = $.datepicker._get(inst, 'beforeShow'); - extendRemove(inst.settings, (beforeShow ? beforeShow.apply(input, [input, inst]) : {})); - $.datepicker._hideDatepicker(null, ''); - $.datepicker._lastInput = input; - $.datepicker._setDateFromField(inst); - if ($.datepicker._inDialog) // hide cursor - input.value = ''; - if (!$.datepicker._pos) { // position below input - $.datepicker._pos = $.datepicker._findPos(input); - $.datepicker._pos[1] += input.offsetHeight; // add the height - } - var isFixed = false; - $(input).parents().each(function() { - isFixed |= $(this).css('position') == 'fixed'; - return !isFixed; - }); - if (isFixed && $.browser.opera) { // correction for Opera when fixed and scrolled - $.datepicker._pos[0] -= document.documentElement.scrollLeft; - $.datepicker._pos[1] -= document.documentElement.scrollTop; - } - var offset = {left: $.datepicker._pos[0], top: $.datepicker._pos[1]}; - $.datepicker._pos = null; - inst.rangeStart = null; - // determine sizing offscreen - inst.dpDiv.css({position: 'absolute', display: 'block', top: '-1000px'}); - $.datepicker._updateDatepicker(inst); - // fix width for dynamic number of date pickers - inst.dpDiv.width($.datepicker._getNumberOfMonths(inst)[1] * - $('.ui-datepicker', inst.dpDiv[0])[0].offsetWidth); - // and adjust position before showing - offset = $.datepicker._checkOffset(inst, offset, isFixed); - inst.dpDiv.css({position: ($.datepicker._inDialog && $.blockUI ? - 'static' : (isFixed ? 'fixed' : 'absolute')), display: 'none', - left: offset.left + 'px', top: offset.top + 'px'}); - if (!inst.inline) { - var showAnim = $.datepicker._get(inst, 'showAnim') || 'show'; - var duration = $.datepicker._get(inst, 'duration'); - var postProcess = function() { - $.datepicker._datepickerShowing = true; - if ($.browser.msie && parseInt($.browser.version,10) < 7) // fix IE < 7 select problems - $('iframe.ui-datepicker-cover').css({width: inst.dpDiv.width() + 4, - height: inst.dpDiv.height() + 4}); - }; - if ($.effects && $.effects[showAnim]) - inst.dpDiv.show(showAnim, $.datepicker._get(inst, 'showOptions'), duration, postProcess); - else - inst.dpDiv[showAnim](duration, postProcess); - if (duration == '') - postProcess(); - if (inst.input[0].type != 'hidden') - inst.input[0].focus(); - $.datepicker._curInst = inst; - } - }, - - /* Generate the date picker content. */ - _updateDatepicker: function(inst) { - var dims = {width: inst.dpDiv.width() + 4, - height: inst.dpDiv.height() + 4}; - inst.dpDiv.empty().append(this._generateHTML(inst)). - find('iframe.ui-datepicker-cover'). - css({width: dims.width, height: dims.height}); - var numMonths = this._getNumberOfMonths(inst); - inst.dpDiv[(numMonths[0] != 1 || numMonths[1] != 1 ? 'add' : 'remove') + - 'Class']('ui-datepicker-multi'); - inst.dpDiv[(this._get(inst, 'isRTL') ? 'add' : 'remove') + - 'Class']('ui-datepicker-rtl'); - if (inst.input && inst.input[0].type != 'hidden') - $(inst.input[0]).focus(); - }, - - /* Check positioning to remain on screen. */ - _checkOffset: function(inst, offset, isFixed) { - var pos = inst.input ? this._findPos(inst.input[0]) : null; - var browserWidth = window.innerWidth || document.documentElement.clientWidth; - var browserHeight = window.innerHeight || document.documentElement.clientHeight; - var scrollX = document.documentElement.scrollLeft || document.body.scrollLeft; - var scrollY = document.documentElement.scrollTop || document.body.scrollTop; - // reposition date picker horizontally if outside the browser window - if (this._get(inst, 'isRTL') || (offset.left + inst.dpDiv.width() - scrollX) > browserWidth) - offset.left = Math.max((isFixed ? 0 : scrollX), - pos[0] + (inst.input ? inst.input.width() : 0) - (isFixed ? scrollX : 0) - inst.dpDiv.width() - - (isFixed && $.browser.opera ? document.documentElement.scrollLeft : 0)); - else - offset.left -= (isFixed ? scrollX : 0); - // reposition date picker vertically if outside the browser window - if ((offset.top + inst.dpDiv.height() - scrollY) > browserHeight) - offset.top = Math.max((isFixed ? 0 : scrollY), - pos[1] - (isFixed ? scrollY : 0) - (this._inDialog ? 0 : inst.dpDiv.height()) - - (isFixed && $.browser.opera ? document.documentElement.scrollTop : 0)); - else - offset.top -= (isFixed ? scrollY : 0); - return offset; - }, - - /* Find an object's position on the screen. */ - _findPos: function(obj) { - while (obj && (obj.type == 'hidden' || obj.nodeType != 1)) { - obj = obj.nextSibling; - } - var position = $(obj).offset(); - return [position.left, position.top]; - }, - - /* Hide the date picker from view. - @param input element - the input field attached to the date picker - @param duration string - the duration over which to close the date picker */ - _hideDatepicker: function(input, duration) { - var inst = this._curInst; - if (!inst || (input && inst != $.data(input, PROP_NAME))) - return; - var rangeSelect = this._get(inst, 'rangeSelect'); - if (rangeSelect && inst.stayOpen) - this._selectDate('#' + inst.id, this._formatDate(inst, - inst.currentDay, inst.currentMonth, inst.currentYear)); - inst.stayOpen = false; - if (this._datepickerShowing) { - duration = (duration != null ? duration : this._get(inst, 'duration')); - var showAnim = this._get(inst, 'showAnim'); - var postProcess = function() { - $.datepicker._tidyDialog(inst); - }; - if (duration != '' && $.effects && $.effects[showAnim]) - inst.dpDiv.hide(showAnim, $.datepicker._get(inst, 'showOptions'), - duration, postProcess); - else - inst.dpDiv[(duration == '' ? 'hide' : (showAnim == 'slideDown' ? 'slideUp' : - (showAnim == 'fadeIn' ? 'fadeOut' : 'hide')))](duration, postProcess); - if (duration == '') - this._tidyDialog(inst); - var onClose = this._get(inst, 'onClose'); - if (onClose) - onClose.apply((inst.input ? inst.input[0] : null), - [(inst.input ? inst.input.val() : ''), inst]); // trigger custom callback - this._datepickerShowing = false; - this._lastInput = null; - inst.settings.prompt = null; - if (this._inDialog) { - this._dialogInput.css({ position: 'absolute', left: '0', top: '-100px' }); - if ($.blockUI) { - $.unblockUI(); - $('body').append(this.dpDiv); - } - } - this._inDialog = false; - } - this._curInst = null; - }, - - /* Tidy up after a dialog display. */ - _tidyDialog: function(inst) { - inst.dpDiv.removeClass(this._dialogClass).unbind('.ui-datepicker'); - $('.' + this._promptClass, inst.dpDiv).remove(); - }, - - /* Close date picker if clicked elsewhere. */ - _checkExternalClick: function(event) { - if (!$.datepicker._curInst) - return; - var $target = $(event.target); - if (($target.parents('#' + $.datepicker._mainDivId).length == 0) && - !$target.hasClass($.datepicker.markerClassName) && - !$target.hasClass($.datepicker._triggerClass) && - $.datepicker._datepickerShowing && !($.datepicker._inDialog && $.blockUI)) - $.datepicker._hideDatepicker(null, ''); - }, - - /* Adjust one of the date sub-fields. */ - _adjustDate: function(id, offset, period) { - var target = $(id); - var inst = this._getInst(target[0]); - this._adjustInstDate(inst, offset, period); - this._updateDatepicker(inst); - }, - - /* Action for current link. */ - _gotoToday: function(id) { - var target = $(id); - var inst = this._getInst(target[0]); - if (this._get(inst, 'gotoCurrent') && inst.currentDay) { - inst.selectedDay = inst.currentDay; - inst.drawMonth = inst.selectedMonth = inst.currentMonth; - inst.drawYear = inst.selectedYear = inst.currentYear; - } - else { - var date = new Date(); - inst.selectedDay = date.getDate(); - inst.drawMonth = inst.selectedMonth = date.getMonth(); - inst.drawYear = inst.selectedYear = date.getFullYear(); - } - this._notifyChange(inst); - this._adjustDate(target); - }, - - /* Action for selecting a new month/year. */ - _selectMonthYear: function(id, select, period) { - var target = $(id); - var inst = this._getInst(target[0]); - inst._selectingMonthYear = false; - inst['selected' + (period == 'M' ? 'Month' : 'Year')] = - inst['draw' + (period == 'M' ? 'Month' : 'Year')] = - parseInt(select.options[select.selectedIndex].value,10); - this._notifyChange(inst); - this._adjustDate(target); - }, - - /* Restore input focus after not changing month/year. */ - _clickMonthYear: function(id) { - var target = $(id); - var inst = this._getInst(target[0]); - if (inst.input && inst._selectingMonthYear && !$.browser.msie) - inst.input[0].focus(); - inst._selectingMonthYear = !inst._selectingMonthYear; - }, - - /* Action for changing the first week day. */ - _changeFirstDay: function(id, day) { - var target = $(id); - var inst = this._getInst(target[0]); - inst.settings.firstDay = day; - this._updateDatepicker(inst); - }, - - /* Action for selecting a day. */ - _selectDay: function(id, month, year, td) { - if ($(td).hasClass(this._unselectableClass)) - return; - var target = $(id); - var inst = this._getInst(target[0]); - var rangeSelect = this._get(inst, 'rangeSelect'); - if (rangeSelect) { - inst.stayOpen = !inst.stayOpen; - if (inst.stayOpen) { - $('.ui-datepicker td', inst.dpDiv).removeClass(this._currentClass); - $(td).addClass(this._currentClass); - } - } - inst.selectedDay = inst.currentDay = $('a', td).html(); - inst.selectedMonth = inst.currentMonth = month; - inst.selectedYear = inst.currentYear = year; - if (inst.stayOpen) { - inst.endDay = inst.endMonth = inst.endYear = null; - } - else if (rangeSelect) { - inst.endDay = inst.currentDay; - inst.endMonth = inst.currentMonth; - inst.endYear = inst.currentYear; - } - this._selectDate(id, this._formatDate(inst, - inst.currentDay, inst.currentMonth, inst.currentYear)); - if (inst.stayOpen) { - inst.rangeStart = new Date(inst.currentYear, inst.currentMonth, inst.currentDay); - this._updateDatepicker(inst); - } - else if (rangeSelect) { - inst.selectedDay = inst.currentDay = inst.rangeStart.getDate(); - inst.selectedMonth = inst.currentMonth = inst.rangeStart.getMonth(); - inst.selectedYear = inst.currentYear = inst.rangeStart.getFullYear(); - inst.rangeStart = null; - if (inst.inline) - this._updateDatepicker(inst); - } - }, - - /* Erase the input field and hide the date picker. */ - _clearDate: function(id) { - var target = $(id); - var inst = this._getInst(target[0]); - if (this._get(inst, 'mandatory')) - return; - inst.stayOpen = false; - inst.endDay = inst.endMonth = inst.endYear = inst.rangeStart = null; - this._selectDate(target, ''); - }, - - /* Update the input field with the selected date. */ - _selectDate: function(id, dateStr) { - var target = $(id); - var inst = this._getInst(target[0]); - dateStr = (dateStr != null ? dateStr : this._formatDate(inst)); - if (this._get(inst, 'rangeSelect') && dateStr) - dateStr = (inst.rangeStart ? this._formatDate(inst, inst.rangeStart) : - dateStr) + this._get(inst, 'rangeSeparator') + dateStr; - if (inst.input) - inst.input.val(dateStr); - this._updateAlternate(inst); - var onSelect = this._get(inst, 'onSelect'); - if (onSelect) - onSelect.apply((inst.input ? inst.input[0] : null), [dateStr, inst]); // trigger custom callback - else if (inst.input) - inst.input.trigger('change'); // fire the change event - if (inst.inline) - this._updateDatepicker(inst); - else if (!inst.stayOpen) { - this._hideDatepicker(null, this._get(inst, 'duration')); - this._lastInput = inst.input[0]; - if (typeof(inst.input[0]) != 'object') - inst.input[0].focus(); // restore focus - this._lastInput = null; - } - }, - - /* Update any alternate field to synchronise with the main field. */ - _updateAlternate: function(inst) { - var altField = this._get(inst, 'altField'); - if (altField) { // update alternate field too - var altFormat = this._get(inst, 'altFormat'); - var date = this._getDate(inst); - dateStr = (isArray(date) ? (!date[0] && !date[1] ? '' : - this.formatDate(altFormat, date[0], this._getFormatConfig(inst)) + - this._get(inst, 'rangeSeparator') + this.formatDate( - altFormat, date[1] || date[0], this._getFormatConfig(inst))) : - this.formatDate(altFormat, date, this._getFormatConfig(inst))); - $(altField).each(function() { $(this).val(dateStr); }); - } - }, - - /* Set as beforeShowDay function to prevent selection of weekends. - @param date Date - the date to customise - @return [boolean, string] - is this date selectable?, what is its CSS class? */ - noWeekends: function(date) { - var day = date.getDay(); - return [(day > 0 && day < 6), '']; - }, - - /* Set as calculateWeek to determine the week of the year based on the ISO 8601 definition. - @param date Date - the date to get the week for - @return number - the number of the week within the year that contains this date */ - iso8601Week: function(date) { - var checkDate = new Date(date.getFullYear(), date.getMonth(), date.getDate(), - (date.getTimezoneOffset() / -60)); - var firstMon = new Date(checkDate.getFullYear(), 1 - 1, 4); // First week always contains 4 Jan - var firstDay = firstMon.getDay() || 7; // Day of week: Mon = 1, ..., Sun = 7 - firstMon.setDate(firstMon.getDate() + 1 - firstDay); // Preceding Monday - if (firstDay < 4 && checkDate < firstMon) { // Adjust first three days in year if necessary - checkDate.setDate(checkDate.getDate() - 3); // Generate for previous year - return $.datepicker.iso8601Week(checkDate); - } else if (checkDate > new Date(checkDate.getFullYear(), 12 - 1, 28)) { // Check last three days in year - firstDay = new Date(checkDate.getFullYear() + 1, 1 - 1, 4).getDay() || 7; - if (firstDay > 4 && (checkDate.getDay() || 7) < firstDay - 3) { // Adjust if necessary - return 1; - } - } - return Math.floor(((checkDate - firstMon) / 86400000) / 7) + 1; // Weeks to given date - }, - - /* Provide status text for a particular date. - @param date the date to get the status for - @param inst the current datepicker instance - @return the status display text for this date */ - dateStatus: function(date, inst) { - return $.datepicker.formatDate($.datepicker._get(inst, 'dateStatus'), - date, $.datepicker._getFormatConfig(inst)); - }, - - /* Parse a string value into a date object. - See formatDate below for the possible formats. - - @param format string - the expected format of the date - @param value string - the date in the above format - @param settings Object - attributes include: - shortYearCutoff number - the cutoff year for determining the century (optional) - dayNamesShort string[7] - abbreviated names of the days from Sunday (optional) - dayNames string[7] - names of the days from Sunday (optional) - monthNamesShort string[12] - abbreviated names of the months (optional) - monthNames string[12] - names of the months (optional) - @return Date - the extracted date value or null if value is blank */ - parseDate: function (format, value, settings) { - if (format == null || value == null) - throw 'Invalid arguments'; - value = (typeof value == 'object' ? value.toString() : value + ''); - if (value == '') - return null; - var shortYearCutoff = (settings ? settings.shortYearCutoff : null) || this._defaults.shortYearCutoff; - var dayNamesShort = (settings ? settings.dayNamesShort : null) || this._defaults.dayNamesShort; - var dayNames = (settings ? settings.dayNames : null) || this._defaults.dayNames; - var monthNamesShort = (settings ? settings.monthNamesShort : null) || this._defaults.monthNamesShort; - var monthNames = (settings ? settings.monthNames : null) || this._defaults.monthNames; - var year = -1; - var month = -1; - var day = -1; - var doy = -1; - var literal = false; - // Check whether a format character is doubled - var lookAhead = function(match) { - var matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) == match); - if (matches) - iFormat++; - return matches; - }; - // Extract a number from the string value - var getNumber = function(match) { - lookAhead(match); - var origSize = (match == '@' ? 14 : (match == 'y' ? 4 : (match == 'o' ? 3 : 2))); - var size = origSize; - var num = 0; - while (size > 0 && iValue < value.length && - value.charAt(iValue) >= '0' && value.charAt(iValue) <= '9') { - num = num * 10 + parseInt(value.charAt(iValue++),10); - size--; - } - if (size == origSize) - throw 'Missing number at position ' + iValue; - return num; - }; - // Extract a name from the string value and convert to an index - var getName = function(match, shortNames, longNames) { - var names = (lookAhead(match) ? longNames : shortNames); - var size = 0; - for (var j = 0; j < names.length; j++) - size = Math.max(size, names[j].length); - var name = ''; - var iInit = iValue; - while (size > 0 && iValue < value.length) { - name += value.charAt(iValue++); - for (var i = 0; i < names.length; i++) - if (name == names[i]) - return i + 1; - size--; - } - throw 'Unknown name at position ' + iInit; - }; - // Confirm that a literal character matches the string value - var checkLiteral = function() { - if (value.charAt(iValue) != format.charAt(iFormat)) - throw 'Unexpected literal at position ' + iValue; - iValue++; - }; - var iValue = 0; - for (var iFormat = 0; iFormat < format.length; iFormat++) { - if (literal) - if (format.charAt(iFormat) == "'" && !lookAhead("'")) - literal = false; - else - checkLiteral(); - else - switch (format.charAt(iFormat)) { - case 'd': - day = getNumber('d'); - break; - case 'D': - getName('D', dayNamesShort, dayNames); - break; - case 'o': - doy = getNumber('o'); - break; - case 'm': - month = getNumber('m'); - break; - case 'M': - month = getName('M', monthNamesShort, monthNames); - break; - case 'y': - year = getNumber('y'); - break; - case '@': - var date = new Date(getNumber('@')); - year = date.getFullYear(); - month = date.getMonth() + 1; - day = date.getDate(); - break; - case "'": - if (lookAhead("'")) - checkLiteral(); - else - literal = true; - break; - default: - checkLiteral(); - } - } - if (year < 100) - year += new Date().getFullYear() - new Date().getFullYear() % 100 + - (year <= shortYearCutoff ? 0 : -100); - if (doy > -1) { - month = 1; - day = doy; - do { - var dim = this._getDaysInMonth(year, month - 1); - if (day <= dim) - break; - month++; - day -= dim; - } while (true); - } - var date = new Date(year, month - 1, day); - if (date.getFullYear() != year || date.getMonth() + 1 != month || date.getDate() != day) - throw 'Invalid date'; // E.g. 31/02/* - return date; - }, - - /* Standard date formats. */ - ATOM: 'yy-mm-dd', // RFC 3339 (ISO 8601) - COOKIE: 'D, dd M yy', - ISO_8601: 'yy-mm-dd', - RFC_822: 'D, d M y', - RFC_850: 'DD, dd-M-y', - RFC_1036: 'D, d M y', - RFC_1123: 'D, d M yy', - RFC_2822: 'D, d M yy', - RSS: 'D, d M y', // RFC 822 - TIMESTAMP: '@', - W3C: 'yy-mm-dd', // ISO 8601 - - /* Format a date object into a string value. - The format can be combinations of the following: - d - day of month (no leading zero) - dd - day of month (two digit) - o - day of year (no leading zeros) - oo - day of year (three digit) - D - day name short - DD - day name long - m - month of year (no leading zero) - mm - month of year (two digit) - M - month name short - MM - month name long - y - year (two digit) - yy - year (four digit) - @ - Unix timestamp (ms since 01/01/1970) - '...' - literal text - '' - single quote - - @param format string - the desired format of the date - @param date Date - the date value to format - @param settings Object - attributes include: - dayNamesShort string[7] - abbreviated names of the days from Sunday (optional) - dayNames string[7] - names of the days from Sunday (optional) - monthNamesShort string[12] - abbreviated names of the months (optional) - monthNames string[12] - names of the months (optional) - @return string - the date in the above format */ - formatDate: function (format, date, settings) { - if (!date) - return ''; - var dayNamesShort = (settings ? settings.dayNamesShort : null) || this._defaults.dayNamesShort; - var dayNames = (settings ? settings.dayNames : null) || this._defaults.dayNames; - var monthNamesShort = (settings ? settings.monthNamesShort : null) || this._defaults.monthNamesShort; - var monthNames = (settings ? settings.monthNames : null) || this._defaults.monthNames; - // Check whether a format character is doubled - var lookAhead = function(match) { - var matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) == match); - if (matches) - iFormat++; - return matches; - }; - // Format a number, with leading zero if necessary - var formatNumber = function(match, value, len) { - var num = '' + value; - if (lookAhead(match)) - while (num.length < len) - num = '0' + num; - return num; - }; - // Format a name, short or long as requested - var formatName = function(match, value, shortNames, longNames) { - return (lookAhead(match) ? longNames[value] : shortNames[value]); - }; - var output = ''; - var literal = false; - if (date) - for (var iFormat = 0; iFormat < format.length; iFormat++) { - if (literal) - if (format.charAt(iFormat) == "'" && !lookAhead("'")) - literal = false; - else - output += format.charAt(iFormat); - else - switch (format.charAt(iFormat)) { - case 'd': - output += formatNumber('d', date.getDate(), 2); - break; - case 'D': - output += formatName('D', date.getDay(), dayNamesShort, dayNames); - break; - case 'o': - var doy = date.getDate(); - for (var m = date.getMonth() - 1; m >= 0; m--) - doy += this._getDaysInMonth(date.getFullYear(), m); - output += formatNumber('o', doy, 3); - break; - case 'm': - output += formatNumber('m', date.getMonth() + 1, 2); - break; - case 'M': - output += formatName('M', date.getMonth(), monthNamesShort, monthNames); - break; - case 'y': - output += (lookAhead('y') ? date.getFullYear() : - (date.getYear() % 100 < 10 ? '0' : '') + date.getYear() % 100); - break; - case '@': - output += date.getTime(); - break; - case "'": - if (lookAhead("'")) - output += "'"; - else - literal = true; - break; - default: - output += format.charAt(iFormat); - } - } - return output; - }, - - /* Extract all possible characters from the date format. */ - _possibleChars: function (format) { - var chars = ''; - var literal = false; - for (var iFormat = 0; iFormat < format.length; iFormat++) - if (literal) - if (format.charAt(iFormat) == "'" && !lookAhead("'")) - literal = false; - else - chars += format.charAt(iFormat); - else - switch (format.charAt(iFormat)) { - case 'd': case 'm': case 'y': case '@': - chars += '0123456789'; - break; - case 'D': case 'M': - return null; // Accept anything - case "'": - if (lookAhead("'")) - chars += "'"; - else - literal = true; - break; - default: - chars += format.charAt(iFormat); - } - return chars; - }, - - /* Get a setting value, defaulting if necessary. */ - _get: function(inst, name) { - return inst.settings[name] !== undefined ? - inst.settings[name] : this._defaults[name]; - }, - - /* Parse existing date and initialise date picker. */ - _setDateFromField: function(inst) { - var dateFormat = this._get(inst, 'dateFormat'); - var dates = inst.input ? inst.input.val().split(this._get(inst, 'rangeSeparator')) : null; - inst.endDay = inst.endMonth = inst.endYear = null; - var date = defaultDate = this._getDefaultDate(inst); - if (dates.length > 0) { - var settings = this._getFormatConfig(inst); - if (dates.length > 1) { - date = this.parseDate(dateFormat, dates[1], settings) || defaultDate; - inst.endDay = date.getDate(); - inst.endMonth = date.getMonth(); - inst.endYear = date.getFullYear(); - } - try { - date = this.parseDate(dateFormat, dates[0], settings) || defaultDate; - } catch (e) { - this.log(e); - date = defaultDate; - } - } - inst.selectedDay = date.getDate(); - inst.drawMonth = inst.selectedMonth = date.getMonth(); - inst.drawYear = inst.selectedYear = date.getFullYear(); - inst.currentDay = (dates[0] ? date.getDate() : 0); - inst.currentMonth = (dates[0] ? date.getMonth() : 0); - inst.currentYear = (dates[0] ? date.getFullYear() : 0); - this._adjustInstDate(inst); - }, - - /* Retrieve the default date shown on opening. */ - _getDefaultDate: function(inst) { - var date = this._determineDate(this._get(inst, 'defaultDate'), new Date()); - var minDate = this._getMinMaxDate(inst, 'min', true); - var maxDate = this._getMinMaxDate(inst, 'max'); - date = (minDate && date < minDate ? minDate : date); - date = (maxDate && date > maxDate ? maxDate : date); - return date; - }, - - /* A date may be specified as an exact value or a relative one. */ - _determineDate: function(date, defaultDate) { - var offsetNumeric = function(offset) { - var date = new Date(); - date.setUTCDate(date.getUTCDate() + offset); - return date; - }; - var offsetString = function(offset, getDaysInMonth) { - var date = new Date(); - var year = date.getFullYear(); - var month = date.getMonth(); - var day = date.getDate(); - var pattern = /([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g; - var matches = pattern.exec(offset); - while (matches) { - switch (matches[2] || 'd') { - case 'd' : case 'D' : - day += parseInt(matches[1],10); break; - case 'w' : case 'W' : - day += parseInt(matches[1],10) * 7; break; - case 'm' : case 'M' : - month += parseInt(matches[1],10); - day = Math.min(day, getDaysInMonth(year, month)); - break; - case 'y': case 'Y' : - year += parseInt(matches[1],10); - day = Math.min(day, getDaysInMonth(year, month)); - break; - } - matches = pattern.exec(offset); - } - return new Date(year, month, day); - }; - date = (date == null ? defaultDate : - (typeof date == 'string' ? offsetString(date, this._getDaysInMonth) : - (typeof date == 'number' ? (isNaN(date) ? defaultDate : offsetNumeric(date)) : date))); - return (date && date.toString() == 'Invalid Date' ? defaultDate : date); - }, - - /* Set the date(s) directly. */ - _setDate: function(inst, date, endDate) { - var clear = !(date); - var origMonth = inst.selectedMonth; - var origYear = inst.selectedYear; - date = this._determineDate(date, new Date()); - inst.selectedDay = inst.currentDay = date.getDate(); - inst.drawMonth = inst.selectedMonth = inst.currentMonth = date.getMonth(); - inst.drawYear = inst.selectedYear = inst.currentYear = date.getFullYear(); - if (this._get(inst, 'rangeSelect')) { - if (endDate) { - endDate = this._determineDate(endDate, null); - inst.endDay = endDate.getDate(); - inst.endMonth = endDate.getMonth(); - inst.endYear = endDate.getFullYear(); - } else { - inst.endDay = inst.currentDay; - inst.endMonth = inst.currentMonth; - inst.endYear = inst.currentYear; - } - } - if (origMonth != inst.selectedMonth || origYear != inst.selectedYear) - this._notifyChange(inst); - this._adjustInstDate(inst); - if (inst.input) - inst.input.val(clear ? '' : this._formatDate(inst) + - (!this._get(inst, 'rangeSelect') ? '' : this._get(inst, 'rangeSeparator') + - this._formatDate(inst, inst.endDay, inst.endMonth, inst.endYear))); - }, - - /* Retrieve the date(s) directly. */ - _getDate: function(inst) { - var startDate = (!inst.currentYear || (inst.input && inst.input.val() == '') ? null : - new Date(inst.currentYear, inst.currentMonth, inst.currentDay)); - if (this._get(inst, 'rangeSelect')) { - return [inst.rangeStart || startDate, - (!inst.endYear ? inst.rangeStart || startDate : - new Date(inst.endYear, inst.endMonth, inst.endDay))]; - } else - return startDate; - }, - - /* Generate the HTML for the current state of the date picker. */ - _generateHTML: function(inst) { - var today = new Date(); - today = new Date(today.getFullYear(), today.getMonth(), today.getDate()); // clear time - var showStatus = this._get(inst, 'showStatus'); - var initStatus = this._get(inst, 'initStatus') || ' '; - var isRTL = this._get(inst, 'isRTL'); - // build the date picker HTML - var clear = (this._get(inst, 'mandatory') ? '' : - ''); - var controls = '
      ' + (isRTL ? '' : clear) + - '' + (isRTL ? clear : '') + '
      '; - var prompt = this._get(inst, 'prompt'); - var closeAtTop = this._get(inst, 'closeAtTop'); - var hideIfNoPrevNext = this._get(inst, 'hideIfNoPrevNext'); - var navigationAsDateFormat = this._get(inst, 'navigationAsDateFormat'); - var showBigPrevNext = this._get(inst, 'showBigPrevNext'); - var numMonths = this._getNumberOfMonths(inst); - var showCurrentAtPos = this._get(inst, 'showCurrentAtPos'); - var stepMonths = this._get(inst, 'stepMonths'); - var stepBigMonths = this._get(inst, 'stepBigMonths'); - var isMultiMonth = (numMonths[0] != 1 || numMonths[1] != 1); - var currentDate = (!inst.currentDay ? new Date(9999, 9, 9) : - new Date(inst.currentYear, inst.currentMonth, inst.currentDay)); - var minDate = this._getMinMaxDate(inst, 'min', true); - var maxDate = this._getMinMaxDate(inst, 'max'); - var drawMonth = inst.drawMonth - showCurrentAtPos; - var drawYear = inst.drawYear; - if (drawMonth < 0) { - drawMonth += 12; - drawYear--; - } - if (maxDate) { - var maxDraw = new Date(maxDate.getFullYear(), - maxDate.getMonth() - numMonths[1] + 1, maxDate.getDate()); - maxDraw = (minDate && maxDraw < minDate ? minDate : maxDraw); - while (new Date(drawYear, drawMonth, 1) > maxDraw) { - drawMonth--; - if (drawMonth < 0) { - drawMonth = 11; - drawYear--; - } - } - } - // controls and links - var prevText = this._get(inst, 'prevText'); - prevText = (!navigationAsDateFormat ? prevText : this.formatDate( - prevText, new Date(drawYear, drawMonth - stepMonths, 1), this._getFormatConfig(inst))); - var prevBigText = (showBigPrevNext ? this._get(inst, 'prevBigText') : ''); - prevBigText = (!navigationAsDateFormat ? prevBigText : this.formatDate( - prevBigText, new Date(drawYear, drawMonth - stepBigMonths, 1), this._getFormatConfig(inst))); - var prev = '
      ' + (this._canAdjustMonth(inst, -1, drawYear, drawMonth) ? - (showBigPrevNext ? '' + prevBigText + '' : '') + - '' + prevText + '' : - (hideIfNoPrevNext ? '' : '')) + '
      '; - var nextText = this._get(inst, 'nextText'); - nextText = (!navigationAsDateFormat ? nextText : this.formatDate( - nextText, new Date(drawYear, drawMonth + stepMonths, 1), this._getFormatConfig(inst))); - var nextBigText = (showBigPrevNext ? this._get(inst, 'nextBigText') : ''); - nextBigText = (!navigationAsDateFormat ? nextBigText : this.formatDate( - nextBigText, new Date(drawYear, drawMonth + stepBigMonths, 1), this._getFormatConfig(inst))); - var next = '
      ' + (this._canAdjustMonth(inst, +1, drawYear, drawMonth) ? - '' + nextText + '' + - (showBigPrevNext ? '' + nextBigText + '' : '') : - (hideIfNoPrevNext ? '' : '')) + '
      '; - var currentText = this._get(inst, 'currentText'); - var gotoDate = (this._get(inst, 'gotoCurrent') && inst.currentDay ? currentDate : today); - currentText = (!navigationAsDateFormat ? currentText : - this.formatDate(currentText, gotoDate, this._getFormatConfig(inst))); - var html = (prompt ? '
      ' + prompt + '
      ' : '') + - (closeAtTop && !inst.inline ? controls : '') + - ''; - var firstDay = this._get(inst, 'firstDay'); - var changeFirstDay = this._get(inst, 'changeFirstDay'); - var dayNames = this._get(inst, 'dayNames'); - var dayNamesShort = this._get(inst, 'dayNamesShort'); - var dayNamesMin = this._get(inst, 'dayNamesMin'); - var monthNames = this._get(inst, 'monthNames'); - var beforeShowDay = this._get(inst, 'beforeShowDay'); - var highlightWeek = this._get(inst, 'highlightWeek'); - var showOtherMonths = this._get(inst, 'showOtherMonths'); - var showWeeks = this._get(inst, 'showWeeks'); - var calculateWeek = this._get(inst, 'calculateWeek') || this.iso8601Week; - var weekStatus = this._get(inst, 'weekStatus'); - var status = (showStatus ? this._get(inst, 'dayStatus') || initStatus : ''); - var dateStatus = this._get(inst, 'statusForDate') || this.dateStatus; - var endDate = inst.endDay ? new Date(inst.endYear, inst.endMonth, inst.endDay) : currentDate; - for (var row = 0; row < numMonths[0]; row++) - for (var col = 0; col < numMonths[1]; col++) { - var selectedDate = new Date(drawYear, drawMonth, inst.selectedDay); - html += '
      ' + - this._generateMonthYearHeader(inst, drawMonth, drawYear, minDate, maxDate, - selectedDate, row > 0 || col > 0, showStatus, initStatus, monthNames) + // draw month headers - '' + - '' + - (showWeeks ? '' + - this._get(inst, 'weekHeader') + '' : ''); - for (var dow = 0; dow < 7; dow++) { // days of the week - var day = (dow + firstDay) % 7; - var dayStatus = (status.indexOf('DD') > -1 ? status.replace(/DD/, dayNames[day]) : - status.replace(/D/, dayNamesShort[day])); - html += '= 5 ? ' class="ui-datepicker-week-end-cell"' : '') + '>' + - (!changeFirstDay ? '' + - dayNamesMin[day] + (changeFirstDay ? '' : '') + ''; - } - html += ''; - var daysInMonth = this._getDaysInMonth(drawYear, drawMonth); - if (drawYear == inst.selectedYear && drawMonth == inst.selectedMonth) - inst.selectedDay = Math.min(inst.selectedDay, daysInMonth); - var leadDays = (this._getFirstDayOfMonth(drawYear, drawMonth) - firstDay + 7) % 7; - var tzDate = new Date(drawYear, drawMonth, 1 - leadDays); - var utcDate = new Date(drawYear, drawMonth, 1 - leadDays); - var printDate = utcDate; - var numRows = (isMultiMonth ? 6 : Math.ceil((leadDays + daysInMonth) / 7)); // calculate the number of rows to generate - for (var dRow = 0; dRow < numRows; dRow++) { // create date picker rows - html += '' + - (showWeeks ? '' : ''); - for (var dow = 0; dow < 7; dow++) { // create date picker days - var daySettings = (beforeShowDay ? - beforeShowDay.apply((inst.input ? inst.input[0] : null), [printDate]) : [true, '']); - var otherMonth = (printDate.getMonth() != drawMonth); - var unselectable = otherMonth || !daySettings[0] || - (minDate && printDate < minDate) || (maxDate && printDate > maxDate); - html += ''; // display for this month - tzDate.setDate(tzDate.getDate() + 1); - utcDate.setUTCDate(utcDate.getUTCDate() + 1); - printDate = (tzDate > utcDate ? tzDate : utcDate); - } - html += ''; - } - drawMonth++; - if (drawMonth > 11) { - drawMonth = 0; - drawYear++; - } - html += '
      ' + - calculateWeek(printDate) + '' + // actions - (otherMonth ? (showOtherMonths ? printDate.getDate() : ' ') : // display for other months - (unselectable ? printDate.getDate() : '' + printDate.getDate() + '')) + '
      '; - } - html += (showStatus ? '
      ' + initStatus + '
      ' : '') + - (!closeAtTop && !inst.inline ? controls : '') + - '
      ' + - ($.browser.msie && parseInt($.browser.version,10) < 7 && !inst.inline ? - '' : ''); - return html; - }, - - /* Generate the month and year header. */ - _generateMonthYearHeader: function(inst, drawMonth, drawYear, minDate, maxDate, - selectedDate, secondary, showStatus, initStatus, monthNames) { - minDate = (inst.rangeStart && minDate && selectedDate < minDate ? selectedDate : minDate); - var showMonthAfterYear = this._get(inst, 'showMonthAfterYear'); - var html = '
      '; - var monthHtml = ''; - // month selection - if (secondary || !this._get(inst, 'changeMonth')) - monthHtml += monthNames[drawMonth] + ' '; - else { - var inMinYear = (minDate && minDate.getFullYear() == drawYear); - var inMaxYear = (maxDate && maxDate.getFullYear() == drawYear); - monthHtml += ''; - } - if (!showMonthAfterYear) - html += monthHtml; - // year selection - if (secondary || !this._get(inst, 'changeYear')) - html += drawYear; - else { - // determine range of years to display - var years = this._get(inst, 'yearRange').split(':'); - var year = 0; - var endYear = 0; - if (years.length != 2) { - year = drawYear - 10; - endYear = drawYear + 10; - } else if (years[0].charAt(0) == '+' || years[0].charAt(0) == '-') { - year = endYear = new Date().getFullYear(); - year += parseInt(years[0], 10); - endYear += parseInt(years[1], 10); - } else { - year = parseInt(years[0], 10); - endYear = parseInt(years[1], 10); - } - year = (minDate ? Math.max(year, minDate.getFullYear()) : year); - endYear = (maxDate ? Math.min(endYear, maxDate.getFullYear()) : endYear); - html += ''; - } - if (showMonthAfterYear) - html += monthHtml; - html += '
      '; // Close datepicker_header - return html; - }, - - /* Provide code to set and clear the status panel. */ - _addStatus: function(showStatus, id, text, initStatus) { - return (showStatus ? ' onmouseover="jQuery(\'#ui-datepicker-status-' + id + - '\').html(\'' + (text || initStatus) + '\');" ' + - 'onmouseout="jQuery(\'#ui-datepicker-status-' + id + - '\').html(\'' + initStatus + '\');"' : ''); - }, - - /* Adjust one of the date sub-fields. */ - _adjustInstDate: function(inst, offset, period) { - var year = inst.drawYear + (period == 'Y' ? offset : 0); - var month = inst.drawMonth + (period == 'M' ? offset : 0); - var day = Math.min(inst.selectedDay, this._getDaysInMonth(year, month)) + - (period == 'D' ? offset : 0); - var date = new Date(year, month, day); - // ensure it is within the bounds set - var minDate = this._getMinMaxDate(inst, 'min', true); - var maxDate = this._getMinMaxDate(inst, 'max'); - date = (minDate && date < minDate ? minDate : date); - date = (maxDate && date > maxDate ? maxDate : date); - inst.selectedDay = date.getDate(); - inst.drawMonth = inst.selectedMonth = date.getMonth(); - inst.drawYear = inst.selectedYear = date.getFullYear(); - if (period == 'M' || period == 'Y') - this._notifyChange(inst); - }, - - /* Notify change of month/year. */ - _notifyChange: function(inst) { - var onChange = this._get(inst, 'onChangeMonthYear'); - if (onChange) - onChange.apply((inst.input ? inst.input[0] : null), - [inst.selectedYear, inst.selectedMonth + 1, inst]); - }, - - /* Determine the number of months to show. */ - _getNumberOfMonths: function(inst) { - var numMonths = this._get(inst, 'numberOfMonths'); - return (numMonths == null ? [1, 1] : (typeof numMonths == 'number' ? [1, numMonths] : numMonths)); - }, - - /* Determine the current maximum date - ensure no time components are set - may be overridden for a range. */ - _getMinMaxDate: function(inst, minMax, checkRange) { - var date = this._determineDate(this._get(inst, minMax + 'Date'), null); - if (date) { - date.setHours(0); - date.setMinutes(0); - date.setSeconds(0); - date.setMilliseconds(0); - } - return (!checkRange || !inst.rangeStart ? date : - (!date || inst.rangeStart > date ? inst.rangeStart : date)); - }, - - /* Find the number of days in a given month. */ - _getDaysInMonth: function(year, month) { - return 32 - new Date(year, month, 32).getDate(); - }, - - /* Find the day of the week of the first of a month. */ - _getFirstDayOfMonth: function(year, month) { - return new Date(year, month, 1).getDay(); - }, - - /* Determines if we should allow a "next/prev" month display change. */ - _canAdjustMonth: function(inst, offset, curYear, curMonth) { - var numMonths = this._getNumberOfMonths(inst); - var date = new Date(curYear, curMonth + (offset < 0 ? offset : numMonths[1]), 1); - if (offset < 0) - date.setDate(this._getDaysInMonth(date.getFullYear(), date.getMonth())); - return this._isInRange(inst, date); - }, - - /* Is the given date in the accepted range? */ - _isInRange: function(inst, date) { - // during range selection, use minimum of selected date and range start - var newMinDate = (!inst.rangeStart ? null : - new Date(inst.selectedYear, inst.selectedMonth, inst.selectedDay)); - newMinDate = (newMinDate && inst.rangeStart < newMinDate ? inst.rangeStart : newMinDate); - var minDate = newMinDate || this._getMinMaxDate(inst, 'min'); - var maxDate = this._getMinMaxDate(inst, 'max'); - return ((!minDate || date >= minDate) && (!maxDate || date <= maxDate)); - }, - - /* Provide the configuration settings for formatting/parsing. */ - _getFormatConfig: function(inst) { - var shortYearCutoff = this._get(inst, 'shortYearCutoff'); - shortYearCutoff = (typeof shortYearCutoff != 'string' ? shortYearCutoff : - new Date().getFullYear() % 100 + parseInt(shortYearCutoff, 10)); - return {shortYearCutoff: shortYearCutoff, - dayNamesShort: this._get(inst, 'dayNamesShort'), dayNames: this._get(inst, 'dayNames'), - monthNamesShort: this._get(inst, 'monthNamesShort'), monthNames: this._get(inst, 'monthNames')}; - }, - - /* Format the given date for display. */ - _formatDate: function(inst, day, month, year) { - if (!day) { - inst.currentDay = inst.selectedDay; - inst.currentMonth = inst.selectedMonth; - inst.currentYear = inst.selectedYear; - } - var date = (day ? (typeof day == 'object' ? day : new Date(year, month, day)) : - new Date(inst.currentYear, inst.currentMonth, inst.currentDay)); - return this.formatDate(this._get(inst, 'dateFormat'), date, this._getFormatConfig(inst)); - } -}); - -/* jQuery extend now ignores nulls! */ -function extendRemove(target, props) { - $.extend(target, props); - for (var name in props) - if (props[name] == null || props[name] == undefined) - target[name] = props[name]; - return target; -}; - -/* Determine whether an object is an array. */ -function isArray(a) { - return (a && (($.browser.safari && typeof a == 'object' && a.length) || - (a.constructor && a.constructor.toString().match(/\Array\(\)/)))); -}; - -/* Invoke the datepicker functionality. - @param options string - a command, optionally followed by additional parameters or - Object - settings for attaching new datepicker functionality - @return jQuery object */ -$.fn.datepicker = function(options){ - - /* Initialise the date picker. */ - if (!$.datepicker.initialized) { - $(document.body).append($.datepicker.dpDiv). - mousedown($.datepicker._checkExternalClick); - $.datepicker.initialized = true; - } - - var otherArgs = Array.prototype.slice.call(arguments, 1); - if (typeof options == 'string' && (options == 'isDisabled' || options == 'getDate')) - return $.datepicker['_' + options + 'Datepicker']. - apply($.datepicker, [this[0]].concat(otherArgs)); - return this.each(function() { - typeof options == 'string' ? - $.datepicker['_' + options + 'Datepicker']. - apply($.datepicker, [this].concat(otherArgs)) : - $.datepicker._attachDatepicker(this, options); - }); -}; - -$.datepicker = new Datepicker(); // singleton instance -$.datepicker.initialized = false; -$.datepicker.uuid = new Date().getTime(); - -})(jQuery); -/* - * jQuery UI Magnifier 1.6rc2 - - * - * Copyright (c) 2008 jQuery - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * http://docs.jquery.com/UI/Magnifier - * - * Depends: - * ui.core.js - */ -(function($) { - -var counter = 0; - -$.widget("ui.magnifier", { - _init: function() { - var self = this, - o = this.options; - - this.element - .addClass("ui-magnifier") - .bind('click.magnifier', function(e) { - (!self.disabled && o.click && o.click.apply(this, [e, { - options: self.options, - current: self.current[0], - currentOffset: self.current[1] - }])); - }); - - // the element must have relative or absolute positioning - if (!(/^(r|a)/).test(this.element.css("position"))) { - this.element.css("position", "relative"); - } - - this.items = []; - this.element.find(o.items).each(function() { - var $this = $(this); - // TODO: use a hash so references to this data is readable - self.items.push([ - this, - $this.offset(), - [$this.width(),$this.height()], - (o.overlap ? $this.position() : null) - ]); - - (o.opacity && $this.css('opacity', o.opacity.min)); - }); - - // absolutize - (o.overlap && $.each(this.items, function() { - $(this[0]).css({ - position: "absolute", - top: this[3].top, - left: this[3].left - }); - })); - - this.identifier = ++counter; - $(document).bind("mousemove.magnifier"+this.identifier, function(e) { - (self.disabled || self._magnify.apply(self, [e])); - }); - - this.pp = this.element.offset(); - }, - - destroy: function() { - this.reset(); - this.element - .removeClass("ui-magnifier ui-magnifier-disabled") - .unbind(".magnifier"); - $(document).unbind("mousemove.magnifier"+this.identifier); - }, - - disable: function() { - this.reset(); - $.widget.prototype.disable.apply(this, arguments); - }, - - reset: function(e) { - var o = this.options; - - $.each(this.items, function() { - var item = this; - $(item[0]).css({ - width: item[2][0], - height: item[2][1], - top: (item[3] ? item[3].top : 0), - left: (item[3] ? item[3].left : 0) - }); - - (o.opacity && $(item[0]).css('opacity', o.opacity.min)); - (o.zIndex && $(item[0]).css("z-index", "")); - }); - }, - - _magnify: function(e) { - var p = [e.pageX,e.pageY], o = this.options, c, distance = 1; - this.current = this.items[0]; - - // Compute the parent's distance - // we don't need to fire anything if we are not near the parent - var overlap = ((p[0] > this.pp.left-o.distance) && - (p[0] < this.pp.left + this.element[0].offsetWidth + o.distance) && - (p[1] > this.pp.top-o.distance) && - (p[1] < this.pp.top + this.element[0].offsetHeight + o.distance)); - if (!overlap) { return false; } - - for (var i=0; i *" - } -}); - -})(jQuery); -/* - * jQuery UI ProgressBar 1.6rc2 - - * - * Copyright (c) 2008 Eduardo Lundgren - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * http://docs.jquery.com/UI/ProgressBar - * - * Depends: - * ui.core.js - */ -(function($) { - -$.widget("ui.progressbar", { - _init: function() { - - this._interval = this.options.interval; - - var self = this, - options = this.options, - id = (new Date()).getTime()+Math.random(), - text = options.text || '0%'; - - this.element.addClass("ui-progressbar").width(options.width); - - $.extend(this, { - active: false, - pixelState: 0, - percentState: 0, - identifier: id, - bar: $('
      ').css({ - width: '0px', overflow: 'hidden', zIndex: 100 - }), - textElement: $('
      ').html(text).css({ - width: '0px', overflow: 'hidden' - }), - textBg: $('
      ').html(text).css({ - width: this.element.width() - }), - wrapper: $('
      ') - }); - - this.wrapper - .append(this.bar.append(this.textElement.addClass(options.textClass)), this.textBg) - .appendTo(this.element); - }, - - plugins: {}, - ui: function(e) { - return { - instance: this, - identifier: this.identifier, - options: this.options, - element: this.bar, - textElement: this.textElement, - pixelState: this.pixelState, - percentState: this.percentState - }; - }, - - _propagate: function(n,e) { - $.ui.plugin.call(this, n, [e, this.ui()]); - this.element.triggerHandler(n == "progressbar" ? n : ["progressbar", n].join(""), [e, this.ui()], this.options[n]); - }, - - destroy: function() { - this.stop(); - - this.element - .removeClass("ui-progressbar ui-progressbar-disabled") - .removeData("progressbar").unbind(".progressbar") - .find('.ui-progressbar-wrap').remove(); - - delete jQuery.easing[this.identifier]; - }, - - enable: function() { - this.element.removeClass("ui-progressbar-disabled"); - this.disabled = false; - }, - - disable: function() { - this.element.addClass("ui-progressbar-disabled"); - this.disabled = true; - }, - - start: function() { - var self = this, options = this.options; - - if (this.disabled) { - return; - } - - jQuery.easing[this.identifier] = function (x, t, b, c, d) { - var inc = options.increment, - width = options.width, - step = ((inc > width ? width : inc)/width), - state = Math.round(x/step)*step; - return state > 1 ? 1 : state; - }; - - self.active = true; - - setTimeout( - function() { - self.active = false; - }, - options.duration - ); - - this._animate(); - - this._propagate('start', this.ui()); - return false; - }, - - _animate: function() { - var self = this, - options = this.options, - interval = options.interval; - - this.bar.animate( - { - width: options.width - }, - { - duration: interval, - easing: this.identifier, - step: function(step, b) { - self.progress((step/options.width)*100); - var timestamp = new Date().getTime(), elapsedTime = (timestamp - b.startTime); - options.interval = interval - elapsedTime; - }, - complete: function() { - delete jQuery.easing[self.identifier]; - self.pause(); - - if (self.active) { - /*TODO*/ - } - } - } - ); - }, - - pause: function() { - if (this.disabled) return; - this.bar.stop(); - this._propagate('pause', this.ui()); - }, - - stop: function() { - this.bar.stop(); - this.bar.width(0); - this.textElement.width(0); - this.bar.addClass('ui-hidden'); - this.options.interval = this._interval; - this._propagate('stop', this.ui()); - }, - - text: function(text){ - this.textElement.html(text); - this.textBg.html(text); - }, - - progress: function(percentState) { - if (this.bar.is('.ui-hidden')) { - this.bar.removeClass('ui-hidden'); - } - - this.percentState = percentState > 100 ? 100 : percentState; - this.pixelState = (this.percentState/100)*this.options.width; - this.bar.width(this.pixelState); - this.textElement.width(this.pixelState); - - if (this.options.range && !this.options.text) { - this.textElement.html(Math.round(this.percentState) + '%'); - } - this._propagate('progress', this.ui()); - } -}); - -$.ui.progressbar.defaults = { - width: 300, - duration: 3000, - interval: 200, - increment: 1, - range: true, - text: '', - addClass: '', - textClass: '' -}; - -})(jQuery);/* - * jQuery UI Spinner 1.6rc2 - - * - * Copyright (c) 2008 jQuery - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * http://docs.jquery.com/UI/Spinner - * - * Depends: - * ui.core.js - */ -(function($) { - -$.widget('ui.spinner', { - _init: function() { - // terminate initialization if spinner already applied to current element - if($.data(this.element[0], 'spinner')) return; - - // check for onInit callback - if (this.options.init) { - this.options.init(this.ui(null)); - } - - // check for decimals in steppinng and set _decimals as internal (needs cleaning up) - this._decimals = 0; - if (this.options.stepping.toString().indexOf('.') != -1) { - var s = this.options.stepping.toString(); - this._decimals = s.slice(s.indexOf('.')+1, s.length).length; - } - - //Initialize needed constants - var self = this; - this.element - .addClass('ui-spinner-box') - .attr('autocomplete', 'off'); // switch off autocomplete in opera - - this._setValue( isNaN(this._getValue()) ? this.options.start : this._getValue() ); - - this.element - .wrap('
      ') - .parent() - .addClass('ui-spinner') - .append('') - .find('.ui-spinner-up') - .bind('mousedown', function(e) { - $(this).addClass('ui-spinner-pressed'); - if(!self.counter) self.counter = 1; - self._mousedown(100, '_up', e); - }) - .bind('mouseup', function(e) { - $(this).removeClass('ui-spinner-pressed'); - if(self.counter == 1) self._up(e); - self._mouseup(e); - }) - .bind('mouseout', function(e) { - $(this).removeClass('ui-spinner-pressed'); - self._mouseup(e); - }) - // mousedown/mouseup capture first click, now handle second click - .bind('dblclick', function(e) { - $(this).removeClass('ui-spinner-pressed'); - self._up(e); - }) - .bind('keydown.spinner', function(e) { - var KEYS = $.keyCode; - if (e.keyCode == KEYS.SPACE || e.keyCode == KEYS.ENTER) { - $(this).addClass('ui-spinner-pressed'); - if(!self.counter) self.counter = 1; - self._up.call(self, e); - } else if (e.keyCode == KEYS.DOWN || e.keyCode == KEYS.RIGHT) { - self.element.siblings('.ui-spinner-down').focus(); - } else if (e.keyCode == KEYS.LEFT) { - self.element.focus(); - } - }) - .bind('keyup.spinner', function(e) { - $(this).removeClass('ui-spinner-pressed'); - self.counter = 0; - self._propagate('change', e); - }) - .end() - .append('') - .find('.ui-spinner-down') - .bind('mousedown', function(e) { - $(this).addClass('ui-spinner-pressed'); - if(!self.counter) self.counter = 1; - self._mousedown(100, '_down', e); - }) - .bind('mouseup', function(e) { - $(this).removeClass('ui-spinner-pressed'); - if(self.counter == 1) self._down(); - self._mouseup(e); - }) - .bind('mouseout', function(e) { - $(this).removeClass('ui-spinner-pressed'); - self._mouseup(e); - }) - // mousedown/mouseup capture first click, now handle second click - .bind('dblclick', function(e) { - $(this).removeClass('ui-spinner-pressed'); - self._down(e); - }) - .bind('keydown.spinner', function(e) { - var KEYS = $.keyCode; - if (e.keyCode == KEYS.SPACE || e.keyCode == KEYS.ENTER) { - $(this).addClass('ui-spinner-pressed'); - if(!self.counter) self.counter = 1; - self._down.call(self, e); - } else if (e.keyCode == KEYS.UP || e.keyCode == KEYS.LEFT) { - self.element.siblings('.ui-spinner-up').focus(); - } - }) - .bind('keyup.spinner', function(e) { - $(this).removeClass('ui-spinner-pressed'); - self.counter = 0; - self._propagate('change', e); - }) - .end(); - - - // DataList: Set contraints for object length and step size. - // Manipulate height of spinner. - this._items = this.element.children().length; - if (this._items > 1) { - this.element - .addClass('ui-spinner-list') - .css('height', this.element.outerHeight()/this._items) - .children() - .addClass('ui-spinner-listitem') - .end() - .parent() - .css('height', this.element.outerHeight()) - .end(); - this.options.stepping = 1; - this.options.min = 0; - this.options.max = this._items-1; - } - - this.element - .bind('keydown.spinner', function(e) { - if(!self.counter) self.counter = 1; - return self._keydown.call(self, e); - }) - .bind('keyup.spinner', function(e) { - self.counter = 0; - self._propagate('change', e); - }) - .bind('blur.spinner', function(e) { - self._cleanUp(); - }); - - if ($.fn.mousewheel) { - this.element.mousewheel(function(e, delta) { - self._mousewheel(e, delta); - }); - } - }, - - - _constrain: function() { - if(this.options.min != undefined && this._getValue() < this.options.min) this._setValue(this.options.min); - if(this.options.max != undefined && this._getValue() > this.options.max) this._setValue(this.options.max); - }, - _cleanUp: function() { - this._setValue(this._getValue()); - this._constrain(); - }, - _spin: function(d, e) { - if (this.disabled) return; - - if(isNaN(this._getValue())) this._setValue(this.options.start); - this._setValue(this._getValue() + (d == 'up' ? 1:-1) * (this.options.incremental && this.counter > 100 ? (this.counter > 200 ? 100 : 10) : 1) * this.options.stepping); - this._animate(d); - this._constrain(); - if(this.counter) this.counter++; - this._propagate('spin', e); - }, - _down: function(e) { - this._spin('down', e); - this._propagate('down', e); - }, - _up: function(e) { - this._spin('up', e); - this._propagate('up', e); - }, - _mousedown: function(i, d, e) { - var self = this; - i = i || 100; - if(this.timer) window.clearInterval(this.timer); - this.timer = window.setInterval(function() { - self[d](e); - if(self.counter > 20) self._mousedown(20, d, e); - }, i); - }, - _mouseup: function(e) { - this.counter = 0; - if(this.timer) window.clearInterval(this.timer); - this.element[0].focus(); - this._propagate('change', e); - }, - _keydown: function(e) { - var KEYS = $.keyCode; - - if(e.keyCode == KEYS.UP) this._up(e); - if(e.keyCode == KEYS.DOWN) this._down(e); - if(e.keyCode == KEYS.HOME) this._setValue(this.options.min || this.options.start); //Home key goes to min, if defined, else to start - if(e.keyCode == KEYS.END && this.options.max != undefined) this._setValue(this.options.max); //End key goes to maximum - return (e.keyCode == KEYS.TAB || e.keyCode == KEYS.BACKSPACE || - e.keyCode == KEYS.LEFT || e.keyCode == KEYS.RIGHT || e.keyCode == KEYS.PERIOD || - e.keyCode == KEYS.NUMPAD_DECIMAL || e.keyCode == KEYS.NUMPAD_SUBTRACT || - (e.keyCode >= 96 && e.keyCode <= 105) || // add support for numeric keypad 0-9 - (/[0-9\-\.]/).test(String.fromCharCode(e.keyCode))) ? true : false; - }, - _mousewheel: function(e, delta) { - delta = ($.browser.opera ? -delta / Math.abs(delta) : delta); - delta > 0 ? this._up(e) : this._down(e); - e.preventDefault(); - }, - _getValue: function() { - return parseFloat(this.element.val().replace(/[^0-9\-\.]/g, '')); - }, - _setValue: function(newVal) { - if(isNaN(newVal)) newVal = this.options.start; - this.element.val( - this.options.currency ? - $.ui.spinner.format.currency(newVal, this.options.currency) : - $.ui.spinner.format.number(newVal, this._decimals) - ); - }, - _animate: function(d) { - if (this.element.hasClass('ui-spinner-list') && ((d == 'up' && this._getValue() <= this.options.max) || (d == 'down' && this._getValue() >= this.options.min)) ) { - this.element.animate({marginTop: '-' + this._getValue() * this.element.outerHeight() }, { - duration: 'fast', - queue: false - }); - } - }, - _addItem: function(html) { - if (!this.element.is('input')) { - var wrapper = 'div'; - if (this.element.is('ol') || this.element.is('ul')) { - wrapper = 'li'; - } - this.element.append('<'+ wrapper +' class="ui-spinner-dyn">'+ html + ''); - } - }, - - - plugins: {}, - ui: function(e) { - return { - options: this.options, - element: this.element, - value: this._getValue(), - add: this._addItem - }; - }, - _propagate: function(n,e) { - $.ui.plugin.call(this, n, [e, this.ui()]); - return this.element.triggerHandler(n == 'spin' ? n : 'spin'+n, [e, this.ui()], this.options[n]); - }, - destroy: function() { - if(!$.data(this.element[0], 'spinner')) return; - if ($.fn.mousewheel) { - this.element.unmousewheel(); - } - this.element - .removeClass('ui-spinner-box ui-spinner-list') - .removeAttr('disabled') - .removeAttr('autocomplete') - .removeData('spinner') - .unbind('.spinner') - .siblings() - .remove() - .end() - .children() - .removeClass('ui-spinner-listitem') - .remove('.ui-spinner-dyn') - .end() - .parent() - .removeClass('ui-spinner ui-spinner-disabled') - .before(this.element.clone()) - .remove() - .end(); - }, - enable: function() { - this.element - .removeAttr('disabled') - .siblings() - .removeAttr('disabled') - .parent() - .removeClass('ui-spinner-disabled'); - this.disabled = false; - }, - disable: function() { - this.element - .attr('disabled', true) - .siblings() - .attr('disabled', true) - .parent() - .addClass('ui-spinner-disabled'); - this.disabled = true; - } -}); - -$.extend($.ui.spinner, { - defaults: { - stepping: 1, - start: 0, - incremental: true, - currency: false - }, - format: { - number: function(num, dec) { - return this.round(num, dec); - }, - currency: function(num, sym) { - return (num !== Math.abs(num) ? '-' : '') + sym + this.round(Math.abs(num), 2); - }, - round: function(num, dec) { - var s = Math.round(parseFloat(num)*Math.pow(10, dec)) / Math.pow(10, dec); // round off weird decimals - if (dec > 0) { - s = s + ((s.toString().indexOf('.') == -1) ? '.' : '') + '0000000001'; - s = s.substr(0, s.indexOf('.')+1+dec); - } else { - s = Math.round(s); - } - return s; - } - } -}); - -})(jQuery); -/* - * jQuery UI Effects 1.6rc2 - - * - * Copyright (c) 2008 Aaron Eisenberger (aaronchi@gmail.com) - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * http://docs.jquery.com/UI/Effects/ - */ -;(function($) { - -$.effects = $.effects || {}; //Add the 'effects' scope - -$.extend($.effects, { - save: function(el, set) { - for(var i=0;i
      '); - var wrapper = el.parent(); - if (el.css('position') == 'static'){ - wrapper.css({position: 'relative'}); - el.css({position: 'relative'}); - } else { - var top = el.css('top'); if(isNaN(parseInt(top))) top = 'auto'; - var left = el.css('left'); if(isNaN(parseInt(left))) left = 'auto'; - wrapper.css({ position: el.css('position'), top: top, left: left, zIndex: el.css('z-index') }).show(); - el.css({position: 'relative', top:0, left:0}); - } - wrapper.css(props); - return wrapper; - }, - removeWrapper: function(el) { - if (el.parent().attr('id') == 'fxWrapper') - return el.parent().replaceWith(el); - return el; - }, - setTransition: function(el, list, factor, val) { - val = val || {}; - $.each(list,function(i, x){ - unit = el.cssUnit(x); - if (unit[0] > 0) val[x] = unit[0] * factor + unit[1]; - }); - return val; - }, - animateClass: function(value, duration, easing, callback) { - - var cb = (typeof easing == "function" ? easing : (callback ? callback : null)); - var ea = (typeof easing == "object" ? easing : null); - - return this.each(function() { - - var offset = {}; var that = $(this); var oldStyleAttr = that.attr("style") || ''; - if(typeof oldStyleAttr == 'object') oldStyleAttr = oldStyleAttr["cssText"]; /* Stupidly in IE, style is a object.. */ - if(value.toggle) { that.hasClass(value.toggle) ? value.remove = value.toggle : value.add = value.toggle; } - - //Let's get a style offset - var oldStyle = $.extend({}, (document.defaultView ? document.defaultView.getComputedStyle(this,null) : this.currentStyle)); - if(value.add) that.addClass(value.add); if(value.remove) that.removeClass(value.remove); - var newStyle = $.extend({}, (document.defaultView ? document.defaultView.getComputedStyle(this,null) : this.currentStyle)); - if(value.add) that.removeClass(value.add); if(value.remove) that.addClass(value.remove); - - // The main function to form the object for animation - for(var n in newStyle) { - if( typeof newStyle[n] != "function" && newStyle[n] /* No functions and null properties */ - && n.indexOf("Moz") == -1 && n.indexOf("length") == -1 /* No mozilla spezific render properties. */ - && newStyle[n] != oldStyle[n] /* Only values that have changed are used for the animation */ - && (n.match(/color/i) || (!n.match(/color/i) && !isNaN(parseInt(newStyle[n],10)))) /* Only things that can be parsed to integers or colors */ - && (oldStyle.position != "static" || (oldStyle.position == "static" && !n.match(/left|top|bottom|right/))) /* No need for positions when dealing with static positions */ - ) offset[n] = newStyle[n]; - } - - that.animate(offset, duration, ea, function() { // Animate the newly constructed offset object - // Change style attribute back to original. For stupid IE, we need to clear the damn object. - if(typeof $(this).attr("style") == 'object') { $(this).attr("style")["cssText"] = ""; $(this).attr("style")["cssText"] = oldStyleAttr; } else $(this).attr("style", oldStyleAttr); - if(value.add) $(this).addClass(value.add); if(value.remove) $(this).removeClass(value.remove); - if(cb) cb.apply(this, arguments); - }); - - }); - } -}); - -//Extend the methods of jQuery -$.fn.extend({ - //Save old methods - _show: $.fn.show, - _hide: $.fn.hide, - __toggle: $.fn.toggle, - _addClass: $.fn.addClass, - _removeClass: $.fn.removeClass, - _toggleClass: $.fn.toggleClass, - // New ec methods - effect: function(fx,o,speed,callback) { - return $.effects[fx] ? $.effects[fx].call(this, {method: fx, options: o || {}, duration: speed, callback: callback }) : null; - }, - show: function() { - if(!arguments[0] || (arguments[0].constructor == Number || /(slow|normal|fast)/.test(arguments[0]))) - return this._show.apply(this, arguments); - else { - var o = arguments[1] || {}; o['mode'] = 'show'; - return this.effect.apply(this, [arguments[0], o, arguments[2] || o.duration, arguments[3] || o.callback]); - } - }, - hide: function() { - if(!arguments[0] || (arguments[0].constructor == Number || /(slow|normal|fast)/.test(arguments[0]))) - return this._hide.apply(this, arguments); - else { - var o = arguments[1] || {}; o['mode'] = 'hide'; - return this.effect.apply(this, [arguments[0], o, arguments[2] || o.duration, arguments[3] || o.callback]); - } - }, - toggle: function(){ - if(!arguments[0] || (arguments[0].constructor == Number || /(slow|normal|fast)/.test(arguments[0])) || (arguments[0].constructor == Function)) - return this.__toggle.apply(this, arguments); - else { - var o = arguments[1] || {}; o['mode'] = 'toggle'; - return this.effect.apply(this, [arguments[0], o, arguments[2] || o.duration, arguments[3] || o.callback]); - } - }, - addClass: function(classNames,speed,easing,callback) { - return speed ? $.effects.animateClass.apply(this, [{ add: classNames },speed,easing,callback]) : this._addClass(classNames); - }, - removeClass: function(classNames,speed,easing,callback) { - return speed ? $.effects.animateClass.apply(this, [{ remove: classNames },speed,easing,callback]) : this._removeClass(classNames); - }, - toggleClass: function(classNames,speed,easing,callback) { - return speed ? $.effects.animateClass.apply(this, [{ toggle: classNames },speed,easing,callback]) : this._toggleClass(classNames); - }, - morph: function(remove,add,speed,easing,callback) { - return $.effects.animateClass.apply(this, [{ add: add, remove: remove },speed,easing,callback]); - }, - switchClass: function() { - return this.morph.apply(this, arguments); - }, - // helper functions - cssUnit: function(key) { - var style = this.css(key), val = []; - $.each( ['em','px','%','pt'], function(i, unit){ - if(style.indexOf(unit) > 0) - val = [parseFloat(style), unit]; - }); - return val; - } -}); - -/* - * jQuery Color Animations - * Copyright 2007 John Resig - * Released under the MIT and GPL licenses. - */ - -// We override the animation for all of these color styles -jQuery.each(['backgroundColor', 'borderBottomColor', 'borderLeftColor', 'borderRightColor', 'borderTopColor', 'color', 'outlineColor'], function(i,attr){ - jQuery.fx.step[attr] = function(fx){ - if ( fx.state == 0 ) { - fx.start = getColor( fx.elem, attr ); - fx.end = getRGB( fx.end ); - } - - fx.elem.style[attr] = "rgb(" + [ - Math.max(Math.min( parseInt((fx.pos * (fx.end[0] - fx.start[0])) + fx.start[0]), 255), 0), - Math.max(Math.min( parseInt((fx.pos * (fx.end[1] - fx.start[1])) + fx.start[1]), 255), 0), - Math.max(Math.min( parseInt((fx.pos * (fx.end[2] - fx.start[2])) + fx.start[2]), 255), 0) - ].join(",") + ")"; - } -}); - -// Color Conversion functions from highlightFade -// By Blair Mitchelmore -// http://jquery.offput.ca/highlightFade/ - -// Parse strings looking for color tuples [255,255,255] -function getRGB(color) { - var result; - - // Check if we're already dealing with an array of colors - if ( color && color.constructor == Array && color.length == 3 ) - return color; - - // Look for rgb(num,num,num) - if (result = /rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(color)) - return [parseInt(result[1]), parseInt(result[2]), parseInt(result[3])]; - - // Look for rgb(num%,num%,num%) - if (result = /rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(color)) - return [parseFloat(result[1])*2.55, parseFloat(result[2])*2.55, parseFloat(result[3])*2.55]; - - // Look for #a0b1c2 - if (result = /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(color)) - return [parseInt(result[1],16), parseInt(result[2],16), parseInt(result[3],16)]; - - // Look for #fff - if (result = /#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(color)) - return [parseInt(result[1]+result[1],16), parseInt(result[2]+result[2],16), parseInt(result[3]+result[3],16)]; - - // Look for rgba(0, 0, 0, 0) == transparent in Safari 3 - if (result = /rgba\(0, 0, 0, 0\)/.exec(color)) - return colors['transparent'] - - // Otherwise, we're most likely dealing with a named color - return colors[jQuery.trim(color).toLowerCase()]; -} - -function getColor(elem, attr) { - var color; - - do { - color = jQuery.curCSS(elem, attr); - - // Keep going until we find an element that has color, or we hit the body - if ( color != '' && color != 'transparent' || jQuery.nodeName(elem, "body") ) - break; - - attr = "backgroundColor"; - } while ( elem = elem.parentNode ); - - return getRGB(color); -}; - -// Some named colors to work with -// From Interface by Stefan Petre -// http://interface.eyecon.ro/ - -var colors = { - aqua:[0,255,255], - azure:[240,255,255], - beige:[245,245,220], - black:[0,0,0], - blue:[0,0,255], - brown:[165,42,42], - cyan:[0,255,255], - darkblue:[0,0,139], - darkcyan:[0,139,139], - darkgrey:[169,169,169], - darkgreen:[0,100,0], - darkkhaki:[189,183,107], - darkmagenta:[139,0,139], - darkolivegreen:[85,107,47], - darkorange:[255,140,0], - darkorchid:[153,50,204], - darkred:[139,0,0], - darksalmon:[233,150,122], - darkviolet:[148,0,211], - fuchsia:[255,0,255], - gold:[255,215,0], - green:[0,128,0], - indigo:[75,0,130], - khaki:[240,230,140], - lightblue:[173,216,230], - lightcyan:[224,255,255], - lightgreen:[144,238,144], - lightgrey:[211,211,211], - lightpink:[255,182,193], - lightyellow:[255,255,224], - lime:[0,255,0], - magenta:[255,0,255], - maroon:[128,0,0], - navy:[0,0,128], - olive:[128,128,0], - orange:[255,165,0], - pink:[255,192,203], - purple:[128,0,128], - violet:[128,0,128], - red:[255,0,0], - silver:[192,192,192], - white:[255,255,255], - yellow:[255,255,0], - transparent: [255,255,255] -}; - -/* - * jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/ - * - * Uses the built in easing capabilities added In jQuery 1.1 - * to offer multiple easing options - * - * TERMS OF USE - jQuery Easing - * - * Open source under the BSD License. - * - * Copyright © 2008 George McGinley Smith - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, - * are permitted provided that the following conditions are met: - * - * Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * Neither the name of the author nor the names of contributors may be used to endorse - * or promote products derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE - * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * -*/ - -// t: current time, b: begInnIng value, c: change In value, d: duration -jQuery.easing['jswing'] = jQuery.easing['swing']; - -jQuery.extend( jQuery.easing, -{ - def: 'easeOutQuad', - swing: function (x, t, b, c, d) { - //alert(jQuery.easing.default); - return jQuery.easing[jQuery.easing.def](x, t, b, c, d); - }, - easeInQuad: function (x, t, b, c, d) { - return c*(t/=d)*t + b; - }, - easeOutQuad: function (x, t, b, c, d) { - return -c *(t/=d)*(t-2) + b; - }, - easeInOutQuad: function (x, t, b, c, d) { - if ((t/=d/2) < 1) return c/2*t*t + b; - return -c/2 * ((--t)*(t-2) - 1) + b; - }, - easeInCubic: function (x, t, b, c, d) { - return c*(t/=d)*t*t + b; - }, - easeOutCubic: function (x, t, b, c, d) { - return c*((t=t/d-1)*t*t + 1) + b; - }, - easeInOutCubic: function (x, t, b, c, d) { - if ((t/=d/2) < 1) return c/2*t*t*t + b; - return c/2*((t-=2)*t*t + 2) + b; - }, - easeInQuart: function (x, t, b, c, d) { - return c*(t/=d)*t*t*t + b; - }, - easeOutQuart: function (x, t, b, c, d) { - return -c * ((t=t/d-1)*t*t*t - 1) + b; - }, - easeInOutQuart: function (x, t, b, c, d) { - if ((t/=d/2) < 1) return c/2*t*t*t*t + b; - return -c/2 * ((t-=2)*t*t*t - 2) + b; - }, - easeInQuint: function (x, t, b, c, d) { - return c*(t/=d)*t*t*t*t + b; - }, - easeOutQuint: function (x, t, b, c, d) { - return c*((t=t/d-1)*t*t*t*t + 1) + b; - }, - easeInOutQuint: function (x, t, b, c, d) { - if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b; - return c/2*((t-=2)*t*t*t*t + 2) + b; - }, - easeInSine: function (x, t, b, c, d) { - return -c * Math.cos(t/d * (Math.PI/2)) + c + b; - }, - easeOutSine: function (x, t, b, c, d) { - return c * Math.sin(t/d * (Math.PI/2)) + b; - }, - easeInOutSine: function (x, t, b, c, d) { - return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b; - }, - easeInExpo: function (x, t, b, c, d) { - return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b; - }, - easeOutExpo: function (x, t, b, c, d) { - return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b; - }, - easeInOutExpo: function (x, t, b, c, d) { - if (t==0) return b; - if (t==d) return b+c; - if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b; - return c/2 * (-Math.pow(2, -10 * --t) + 2) + b; - }, - easeInCirc: function (x, t, b, c, d) { - return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b; - }, - easeOutCirc: function (x, t, b, c, d) { - return c * Math.sqrt(1 - (t=t/d-1)*t) + b; - }, - easeInOutCirc: function (x, t, b, c, d) { - if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b; - return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b; - }, - easeInElastic: function (x, t, b, c, d) { - var s=1.70158;var p=0;var a=c; - if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3; - if (a < Math.abs(c)) { a=c; var s=p/4; } - else var s = p/(2*Math.PI) * Math.asin (c/a); - return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b; - }, - easeOutElastic: function (x, t, b, c, d) { - var s=1.70158;var p=0;var a=c; - if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3; - if (a < Math.abs(c)) { a=c; var s=p/4; } - else var s = p/(2*Math.PI) * Math.asin (c/a); - return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b; - }, - easeInOutElastic: function (x, t, b, c, d) { - var s=1.70158;var p=0;var a=c; - if (t==0) return b; if ((t/=d/2)==2) return b+c; if (!p) p=d*(.3*1.5); - if (a < Math.abs(c)) { a=c; var s=p/4; } - else var s = p/(2*Math.PI) * Math.asin (c/a); - if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b; - return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b; - }, - easeInBack: function (x, t, b, c, d, s) { - if (s == undefined) s = 1.70158; - return c*(t/=d)*t*((s+1)*t - s) + b; - }, - easeOutBack: function (x, t, b, c, d, s) { - if (s == undefined) s = 1.70158; - return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b; - }, - easeInOutBack: function (x, t, b, c, d, s) { - if (s == undefined) s = 1.70158; - if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b; - return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b; - }, - easeInBounce: function (x, t, b, c, d) { - return c - jQuery.easing.easeOutBounce (x, d-t, 0, c, d) + b; - }, - easeOutBounce: function (x, t, b, c, d) { - if ((t/=d) < (1/2.75)) { - return c*(7.5625*t*t) + b; - } else if (t < (2/2.75)) { - return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b; - } else if (t < (2.5/2.75)) { - return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b; - } else { - return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b; - } - }, - easeInOutBounce: function (x, t, b, c, d) { - if (t < d/2) return jQuery.easing.easeInBounce (x, t*2, 0, c, d) * .5 + b; - return jQuery.easing.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b; - } -}); - -/* - * - * TERMS OF USE - EASING EQUATIONS - * - * Open source under the BSD License. - * - * Copyright © 2001 Robert Penner - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, - * are permitted provided that the following conditions are met: - * - * Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * Neither the name of the author nor the names of contributors may be used to endorse - * or promote products derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE - * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * - */ - -})(jQuery); -/* - * jQuery UI Effects Blind 1.6rc2 - - * - * Copyright (c) 2008 Aaron Eisenberger (aaronchi@gmail.com) - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * http://docs.jquery.com/UI/Effects/Blind - * - * Depends: - * effects.core.js - */ -(function($) { - -$.effects.blind = function(o) { - - return this.queue(function() { - - // Create element - var el = $(this), props = ['position','top','left']; - - // Set options - var mode = $.effects.setMode(el, o.options.mode || 'hide'); // Set Mode - var direction = o.options.direction || 'vertical'; // Default direction - - // Adjust - $.effects.save(el, props); el.show(); // Save & Show - var wrapper = $.effects.createWrapper(el).css({overflow:'hidden'}); // Create Wrapper - var ref = (direction == 'vertical') ? 'height' : 'width'; - var distance = (direction == 'vertical') ? wrapper.height() : wrapper.width(); - if(mode == 'show') wrapper.css(ref, 0); // Shift - - // Animation - var animation = {}; - animation[ref] = mode == 'show' ? distance : 0; - - // Animate - wrapper.animate(animation, o.duration, o.options.easing, function() { - if(mode == 'hide') el.hide(); // Hide - $.effects.restore(el, props); $.effects.removeWrapper(el); // Restore - if(o.callback) o.callback.apply(el[0], arguments); // Callback - el.dequeue(); - }); - - }); - -}; - -})(jQuery); -/* - * jQuery UI Effects Bounce 1.6rc2 - - * - * Copyright (c) 2008 Aaron Eisenberger (aaronchi@gmail.com) - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * http://docs.jquery.com/UI/Effects/Bounce - * - * Depends: - * effects.core.js - */ -(function($) { - -$.effects.bounce = function(o) { - - return this.queue(function() { - - // Create element - var el = $(this), props = ['position','top','left']; - - // Set options - var mode = $.effects.setMode(el, o.options.mode || 'effect'); // Set Mode - var direction = o.options.direction || 'up'; // Default direction - var distance = o.options.distance || 20; // Default distance - var times = o.options.times || 5; // Default # of times - var speed = o.duration || 250; // Default speed per bounce - if (/show|hide/.test(mode)) props.push('opacity'); // Avoid touching opacity to prevent clearType and PNG issues in IE - - // Adjust - $.effects.save(el, props); el.show(); // Save & Show - $.effects.createWrapper(el); // Create Wrapper - var ref = (direction == 'up' || direction == 'down') ? 'top' : 'left'; - var motion = (direction == 'up' || direction == 'left') ? 'pos' : 'neg'; - var distance = o.options.distance || (ref == 'top' ? el.outerHeight({margin:true}) / 3 : el.outerWidth({margin:true}) / 3); - if (mode == 'show') el.css('opacity', 0).css(ref, motion == 'pos' ? -distance : distance); // Shift - if (mode == 'hide') distance = distance / (times * 2); - if (mode != 'hide') times--; - - // Animate - if (mode == 'show') { // Show Bounce - var animation = {opacity: 1}; - animation[ref] = (motion == 'pos' ? '+=' : '-=') + distance; - el.animate(animation, speed / 2, o.options.easing); - distance = distance / 2; - times--; - }; - for (var i = 0; i < times; i++) { // Bounces - var animation1 = {}, animation2 = {}; - animation1[ref] = (motion == 'pos' ? '-=' : '+=') + distance; - animation2[ref] = (motion == 'pos' ? '+=' : '-=') + distance; - el.animate(animation1, speed / 2, o.options.easing).animate(animation2, speed / 2, o.options.easing); - distance = (mode == 'hide') ? distance * 2 : distance / 2; - }; - if (mode == 'hide') { // Last Bounce - var animation = {opacity: 0}; - animation[ref] = (motion == 'pos' ? '-=' : '+=') + distance; - el.animate(animation, speed / 2, o.options.easing, function(){ - el.hide(); // Hide - $.effects.restore(el, props); $.effects.removeWrapper(el); // Restore - if(o.callback) o.callback.apply(this, arguments); // Callback - }); - } else { - var animation1 = {}, animation2 = {}; - animation1[ref] = (motion == 'pos' ? '-=' : '+=') + distance; - animation2[ref] = (motion == 'pos' ? '+=' : '-=') + distance; - el.animate(animation1, speed / 2, o.options.easing).animate(animation2, speed / 2, o.options.easing, function(){ - $.effects.restore(el, props); $.effects.removeWrapper(el); // Restore - if(o.callback) o.callback.apply(this, arguments); // Callback - }); - }; - el.queue('fx', function() { el.dequeue(); }); - el.dequeue(); - }); - -}; - -})(jQuery); -/* - * jQuery UI Effects Clip 1.6rc2 - - * - * Copyright (c) 2008 Aaron Eisenberger (aaronchi@gmail.com) - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * http://docs.jquery.com/UI/Effects/Clip - * - * Depends: - * effects.core.js - */ -(function($) { - -$.effects.clip = function(o) { - - return this.queue(function() { - - // Create element - var el = $(this), props = ['position','top','left','height','width']; - - // Set options - var mode = $.effects.setMode(el, o.options.mode || 'hide'); // Set Mode - var direction = o.options.direction || 'vertical'; // Default direction - - // Adjust - $.effects.save(el, props); el.show(); // Save & Show - var wrapper = $.effects.createWrapper(el).css({overflow:'hidden'}); // Create Wrapper - var animate = el[0].tagName == 'IMG' ? wrapper : el; - var ref = { - size: (direction == 'vertical') ? 'height' : 'width', - position: (direction == 'vertical') ? 'top' : 'left' - }; - var distance = (direction == 'vertical') ? animate.height() : animate.width(); - if(mode == 'show') { animate.css(ref.size, 0); animate.css(ref.position, distance / 2); } // Shift - - // Animation - var animation = {}; - animation[ref.size] = mode == 'show' ? distance : 0; - animation[ref.position] = mode == 'show' ? 0 : distance / 2; - - // Animate - animate.animate(animation, { queue: false, duration: o.duration, easing: o.options.easing, complete: function() { - if(mode == 'hide') el.hide(); // Hide - $.effects.restore(el, props); $.effects.removeWrapper(el); // Restore - if(o.callback) o.callback.apply(el[0], arguments); // Callback - el.dequeue(); - }}); - - }); - -}; - -})(jQuery); -/* - * jQuery UI Effects Drop 1.6rc2 - - * - * Copyright (c) 2008 Aaron Eisenberger (aaronchi@gmail.com) - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * http://docs.jquery.com/UI/Effects/Drop - * - * Depends: - * effects.core.js - */ -(function($) { - -$.effects.drop = function(o) { - - return this.queue(function() { - - // Create element - var el = $(this), props = ['position','top','left','opacity']; - - // Set options - var mode = $.effects.setMode(el, o.options.mode || 'hide'); // Set Mode - var direction = o.options.direction || 'left'; // Default Direction - - // Adjust - $.effects.save(el, props); el.show(); // Save & Show - $.effects.createWrapper(el); // Create Wrapper - var ref = (direction == 'up' || direction == 'down') ? 'top' : 'left'; - var motion = (direction == 'up' || direction == 'left') ? 'pos' : 'neg'; - var distance = o.options.distance || (ref == 'top' ? el.outerHeight({margin:true}) / 2 : el.outerWidth({margin:true}) / 2); - if (mode == 'show') el.css('opacity', 0).css(ref, motion == 'pos' ? -distance : distance); // Shift - - // Animation - var animation = {opacity: mode == 'show' ? 1 : 0}; - animation[ref] = (mode == 'show' ? (motion == 'pos' ? '+=' : '-=') : (motion == 'pos' ? '-=' : '+=')) + distance; - - // Animate - el.animate(animation, { queue: false, duration: o.duration, easing: o.options.easing, complete: function() { - if(mode == 'hide') el.hide(); // Hide - $.effects.restore(el, props); $.effects.removeWrapper(el); // Restore - if(o.callback) o.callback.apply(this, arguments); // Callback - el.dequeue(); - }}); - - }); - -}; - -})(jQuery); -/* - * jQuery UI Effects Explode 1.6rc2 - - * - * Copyright (c) 2008 Paul Bakaus (ui.jquery.com) - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * http://docs.jquery.com/UI/Effects/Explode - * - * Depends: - * effects.core.js - */ -(function($) { - -$.effects.explode = function(o) { - - return this.queue(function() { - - var rows = o.options.pieces ? Math.round(Math.sqrt(o.options.pieces)) : 3; - var cells = o.options.pieces ? Math.round(Math.sqrt(o.options.pieces)) : 3; - - o.options.mode = o.options.mode == 'toggle' ? ($(this).is(':visible') ? 'hide' : 'show') : o.options.mode; - var el = $(this).show().css('visibility', 'hidden'); - var offset = el.offset(); - - //Substract the margins - not fixing the problem yet. - offset.top -= parseInt(el.css("marginTop")) || 0; - offset.left -= parseInt(el.css("marginLeft")) || 0; - - var width = el.outerWidth(true); - var height = el.outerHeight(true); - - for(var i=0;i
    ') - .css({ - position: 'absolute', - visibility: 'visible', - left: -j*(width/cells), - top: -i*(height/rows) - }) - .parent() - .addClass('effects-explode') - .css({ - position: 'absolute', - overflow: 'hidden', - width: width/cells, - height: height/rows, - left: offset.left + j*(width/cells) + (o.options.mode == 'show' ? (j-Math.floor(cells/2))*(width/cells) : 0), - top: offset.top + i*(height/rows) + (o.options.mode == 'show' ? (i-Math.floor(rows/2))*(height/rows) : 0), - opacity: o.options.mode == 'show' ? 0 : 1 - }).animate({ - left: offset.left + j*(width/cells) + (o.options.mode == 'show' ? 0 : (j-Math.floor(cells/2))*(width/cells)), - top: offset.top + i*(height/rows) + (o.options.mode == 'show' ? 0 : (i-Math.floor(rows/2))*(height/rows)), - opacity: o.options.mode == 'show' ? 1 : 0 - }, o.duration || 500); - } - } - - // Set a timeout, to call the callback approx. when the other animations have finished - setTimeout(function() { - - o.options.mode == 'show' ? el.css({ visibility: 'visible' }) : el.css({ visibility: 'visible' }).hide(); - if(o.callback) o.callback.apply(el[0]); // Callback - el.dequeue(); - - $('.effects-explode').remove(); - - }, o.duration || 500); - - - }); - -}; - -})(jQuery); -/* - * jQuery UI Effects Fold 1.6rc2 - - * - * Copyright (c) 2008 Aaron Eisenberger (aaronchi@gmail.com) - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * http://docs.jquery.com/UI/Effects/Fold - * - * Depends: - * effects.core.js - */ -(function($) { - -$.effects.fold = function(o) { - - return this.queue(function() { - - // Create element - var el = $(this), props = ['position','top','left']; - - // Set options - var mode = $.effects.setMode(el, o.options.mode || 'hide'); // Set Mode - var size = o.options.size || 15; // Default fold size - var horizFirst = !(!o.options.horizFirst); // Ensure a boolean value - - // Adjust - $.effects.save(el, props); el.show(); // Save & Show - var wrapper = $.effects.createWrapper(el).css({overflow:'hidden'}); // Create Wrapper - var widthFirst = ((mode == 'show') != horizFirst); - var ref = widthFirst ? ['width', 'height'] : ['height', 'width']; - var distance = widthFirst ? [wrapper.width(), wrapper.height()] : [wrapper.height(), wrapper.width()]; - var percent = /([0-9]+)%/.exec(size); - if(percent) size = parseInt(percent[1]) / 100 * distance[mode == 'hide' ? 0 : 1]; - if(mode == 'show') wrapper.css(horizFirst ? {height: 0, width: size} : {height: size, width: 0}); // Shift - - // Animation - var animation1 = {}, animation2 = {}; - animation1[ref[0]] = mode == 'show' ? distance[0] : size; - animation2[ref[1]] = mode == 'show' ? distance[1] : 0; - - // Animate - wrapper.animate(animation1, o.duration / 2, o.options.easing) - .animate(animation2, o.duration / 2, o.options.easing, function() { - if(mode == 'hide') el.hide(); // Hide - $.effects.restore(el, props); $.effects.removeWrapper(el); // Restore - if(o.callback) o.callback.apply(el[0], arguments); // Callback - el.dequeue(); - }); - - }); - -}; - -})(jQuery); -/* - * jQuery UI Effects Highlight 1.6rc2 - - * - * Copyright (c) 2008 Aaron Eisenberger (aaronchi@gmail.com) - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * http://docs.jquery.com/UI/Effects/Highlight - * - * Depends: - * effects.core.js - */ -;(function($) { - -$.effects.highlight = function(o) { - - return this.queue(function() { - - // Create element - var el = $(this), props = ['backgroundImage','backgroundColor','opacity']; - - // Set options - var mode = $.effects.setMode(el, o.options.mode || 'show'); // Set Mode - var color = o.options.color || "#ffff99"; // Default highlight color - var oldColor = el.css("backgroundColor"); - - // Adjust - $.effects.save(el, props); el.show(); // Save & Show - el.css({backgroundImage: 'none', backgroundColor: color}); // Shift - - // Animation - var animation = {backgroundColor: oldColor }; - if (mode == "hide") animation['opacity'] = 0; - - // Animate - el.animate(animation, { queue: false, duration: o.duration, easing: o.options.easing, complete: function() { - if(mode == "hide") el.hide(); - $.effects.restore(el, props); - if (mode == "show" && jQuery.browser.msie) this.style.removeAttribute('filter'); - if(o.callback) o.callback.apply(this, arguments); - el.dequeue(); - }}); - - }); - -}; - -})(jQuery); -/* - * jQuery UI Effects Pulsate 1.6rc2 - - * - * Copyright (c) 2008 Aaron Eisenberger (aaronchi@gmail.com) - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * http://docs.jquery.com/UI/Effects/Pulsate - * - * Depends: - * effects.core.js - */ -(function($) { - -$.effects.pulsate = function(o) { - - return this.queue(function() { - - // Create element - var el = $(this); - - // Set options - var mode = $.effects.setMode(el, o.options.mode || 'show'); // Set Mode - var times = o.options.times || 5; // Default # of times - - // Adjust - if (mode == 'hide') times--; - if (el.is(':hidden')) { // Show fadeIn - el.css('opacity', 0); - el.show(); // Show - el.animate({opacity: 1}, o.duration / 2, o.options.easing); - times = times-2; - } - - // Animate - for (var i = 0; i < times; i++) { // Pulsate - el.animate({opacity: 0}, o.duration / 2, o.options.easing).animate({opacity: 1}, o.duration / 2, o.options.easing); - }; - if (mode == 'hide') { // Last Pulse - el.animate({opacity: 0}, o.duration / 2, o.options.easing, function(){ - el.hide(); // Hide - if(o.callback) o.callback.apply(this, arguments); // Callback - }); - } else { - el.animate({opacity: 0}, o.duration / 2, o.options.easing).animate({opacity: 1}, o.duration / 2, o.options.easing, function(){ - if(o.callback) o.callback.apply(this, arguments); // Callback - }); - }; - el.queue('fx', function() { el.dequeue(); }); - el.dequeue(); - }); - -}; - -})(jQuery); -/* - * jQuery UI Effects Scale 1.6rc2 - - * - * Copyright (c) 2008 Aaron Eisenberger (aaronchi@gmail.com) - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * http://docs.jquery.com/UI/Effects/Scale - * - * Depends: - * effects.core.js - */ -(function($) { - -$.effects.puff = function(o) { - - return this.queue(function() { - - // Create element - var el = $(this); - - // Set options - var options = $.extend(true, {}, o.options); - var mode = $.effects.setMode(el, o.options.mode || 'hide'); // Set Mode - var percent = parseInt(o.options.percent) || 150; // Set default puff percent - options.fade = true; // It's not a puff if it doesn't fade! :) - var original = {height: el.height(), width: el.width()}; // Save original - - // Adjust - var factor = percent / 100; - el.from = (mode == 'hide') ? original : {height: original.height * factor, width: original.width * factor}; - - // Animation - options.from = el.from; - options.percent = (mode == 'hide') ? percent : 100; - options.mode = mode; - - // Animate - el.effect('scale', options, o.duration, o.callback); - el.dequeue(); - }); - -}; - -$.effects.scale = function(o) { - - return this.queue(function() { - - // Create element - var el = $(this); - - // Set options - var options = $.extend(true, {}, o.options); - var mode = $.effects.setMode(el, o.options.mode || 'effect'); // Set Mode - var percent = parseInt(o.options.percent) || (parseInt(o.options.percent) == 0 ? 0 : (mode == 'hide' ? 0 : 100)); // Set default scaling percent - var direction = o.options.direction || 'both'; // Set default axis - var origin = o.options.origin; // The origin of the scaling - if (mode != 'effect') { // Set default origin and restore for show/hide - options.origin = origin || ['middle','center']; - options.restore = true; - } - var original = {height: el.height(), width: el.width()}; // Save original - el.from = o.options.from || (mode == 'show' ? {height: 0, width: 0} : original); // Default from state - - // Adjust - var factor = { // Set scaling factor - y: direction != 'horizontal' ? (percent / 100) : 1, - x: direction != 'vertical' ? (percent / 100) : 1 - }; - el.to = {height: original.height * factor.y, width: original.width * factor.x}; // Set to state - - if (o.options.fade) { // Fade option to support puff - if (mode == 'show') {el.from.opacity = 0; el.to.opacity = 1;}; - if (mode == 'hide') {el.from.opacity = 1; el.to.opacity = 0;}; - }; - - // Animation - options.from = el.from; options.to = el.to; options.mode = mode; - - // Animate - el.effect('size', options, o.duration, o.callback); - el.dequeue(); - }); - -}; - -$.effects.size = function(o) { - - return this.queue(function() { - - // Create element - var el = $(this), props = ['position','top','left','width','height','overflow','opacity']; - var props1 = ['position','top','left','overflow','opacity']; // Always restore - var props2 = ['width','height','overflow']; // Copy for children - var cProps = ['fontSize']; - var vProps = ['borderTopWidth', 'borderBottomWidth', 'paddingTop', 'paddingBottom']; - var hProps = ['borderLeftWidth', 'borderRightWidth', 'paddingLeft', 'paddingRight']; - - // Set options - var mode = $.effects.setMode(el, o.options.mode || 'effect'); // Set Mode - var restore = o.options.restore || false; // Default restore - var scale = o.options.scale || 'both'; // Default scale mode - var origin = o.options.origin; // The origin of the sizing - var original = {height: el.height(), width: el.width()}; // Save original - el.from = o.options.from || original; // Default from state - el.to = o.options.to || original; // Default to state - // Adjust - if (origin) { // Calculate baseline shifts - var baseline = $.effects.getBaseline(origin, original); - el.from.top = (original.height - el.from.height) * baseline.y; - el.from.left = (original.width - el.from.width) * baseline.x; - el.to.top = (original.height - el.to.height) * baseline.y; - el.to.left = (original.width - el.to.width) * baseline.x; - }; - var factor = { // Set scaling factor - from: {y: el.from.height / original.height, x: el.from.width / original.width}, - to: {y: el.to.height / original.height, x: el.to.width / original.width} - }; - if (scale == 'box' || scale == 'both') { // Scale the css box - if (factor.from.y != factor.to.y) { // Vertical props scaling - props = props.concat(vProps); - el.from = $.effects.setTransition(el, vProps, factor.from.y, el.from); - el.to = $.effects.setTransition(el, vProps, factor.to.y, el.to); - }; - if (factor.from.x != factor.to.x) { // Horizontal props scaling - props = props.concat(hProps); - el.from = $.effects.setTransition(el, hProps, factor.from.x, el.from); - el.to = $.effects.setTransition(el, hProps, factor.to.x, el.to); - }; - }; - if (scale == 'content' || scale == 'both') { // Scale the content - if (factor.from.y != factor.to.y) { // Vertical props scaling - props = props.concat(cProps); - el.from = $.effects.setTransition(el, cProps, factor.from.y, el.from); - el.to = $.effects.setTransition(el, cProps, factor.to.y, el.to); - }; - }; - $.effects.save(el, restore ? props : props1); el.show(); // Save & Show - $.effects.createWrapper(el); // Create Wrapper - el.css('overflow','hidden').css(el.from); // Shift - - // Animate - if (scale == 'content' || scale == 'both') { // Scale the children - vProps = vProps.concat(['marginTop','marginBottom']).concat(cProps); // Add margins/font-size - hProps = hProps.concat(['marginLeft','marginRight']); // Add margins - props2 = props.concat(vProps).concat(hProps); // Concat - el.find("*[width]").each(function(){ - child = $(this); - if (restore) $.effects.save(child, props2); - var c_original = {height: child.height(), width: child.width()}; // Save original - child.from = {height: c_original.height * factor.from.y, width: c_original.width * factor.from.x}; - child.to = {height: c_original.height * factor.to.y, width: c_original.width * factor.to.x}; - if (factor.from.y != factor.to.y) { // Vertical props scaling - child.from = $.effects.setTransition(child, vProps, factor.from.y, child.from); - child.to = $.effects.setTransition(child, vProps, factor.to.y, child.to); - }; - if (factor.from.x != factor.to.x) { // Horizontal props scaling - child.from = $.effects.setTransition(child, hProps, factor.from.x, child.from); - child.to = $.effects.setTransition(child, hProps, factor.to.x, child.to); - }; - child.css(child.from); // Shift children - child.animate(child.to, o.duration, o.options.easing, function(){ - if (restore) $.effects.restore(child, props2); // Restore children - }); // Animate children - }); - }; - - // Animate - el.animate(el.to, { queue: false, duration: o.duration, easing: o.options.easing, complete: function() { - if(mode == 'hide') el.hide(); // Hide - $.effects.restore(el, restore ? props : props1); $.effects.removeWrapper(el); // Restore - if(o.callback) o.callback.apply(this, arguments); // Callback - el.dequeue(); - }}); - - }); - -}; - -})(jQuery); -/* - * jQuery UI Effects Shake 1.6rc2 - - * - * Copyright (c) 2008 Aaron Eisenberger (aaronchi@gmail.com) - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * http://docs.jquery.com/UI/Effects/Shake - * - * Depends: - * effects.core.js - */ -(function($) { - -$.effects.shake = function(o) { - - return this.queue(function() { - - // Create element - var el = $(this), props = ['position','top','left']; - - // Set options - var mode = $.effects.setMode(el, o.options.mode || 'effect'); // Set Mode - var direction = o.options.direction || 'left'; // Default direction - var distance = o.options.distance || 20; // Default distance - var times = o.options.times || 3; // Default # of times - var speed = o.duration || o.options.duration || 140; // Default speed per shake - - // Adjust - $.effects.save(el, props); el.show(); // Save & Show - $.effects.createWrapper(el); // Create Wrapper - var ref = (direction == 'up' || direction == 'down') ? 'top' : 'left'; - var motion = (direction == 'up' || direction == 'left') ? 'pos' : 'neg'; - - // Animation - var animation = {}, animation1 = {}, animation2 = {}; - animation[ref] = (motion == 'pos' ? '-=' : '+=') + distance; - animation1[ref] = (motion == 'pos' ? '+=' : '-=') + distance * 2; - animation2[ref] = (motion == 'pos' ? '-=' : '+=') + distance * 2; - - // Animate - el.animate(animation, speed, o.options.easing); - for (var i = 1; i < times; i++) { // Shakes - el.animate(animation1, speed, o.options.easing).animate(animation2, speed, o.options.easing); - }; - el.animate(animation1, speed, o.options.easing). - animate(animation, speed / 2, o.options.easing, function(){ // Last shake - $.effects.restore(el, props); $.effects.removeWrapper(el); // Restore - if(o.callback) o.callback.apply(this, arguments); // Callback - }); - el.queue('fx', function() { el.dequeue(); }); - el.dequeue(); - }); - -}; - -})(jQuery); -/* - * jQuery UI Effects Slide 1.6rc2 - - * - * Copyright (c) 2008 Aaron Eisenberger (aaronchi@gmail.com) - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * http://docs.jquery.com/UI/Effects/Slide - * - * Depends: - * effects.core.js - */ -(function($) { - -$.effects.slide = function(o) { - - return this.queue(function() { - - // Create element - var el = $(this), props = ['position','top','left']; - - // Set options - var mode = $.effects.setMode(el, o.options.mode || 'show'); // Set Mode - var direction = o.options.direction || 'left'; // Default Direction - - // Adjust - $.effects.save(el, props); el.show(); // Save & Show - $.effects.createWrapper(el).css({overflow:'hidden'}); // Create Wrapper - var ref = (direction == 'up' || direction == 'down') ? 'top' : 'left'; - var motion = (direction == 'up' || direction == 'left') ? 'pos' : 'neg'; - var distance = o.options.distance || (ref == 'top' ? el.outerHeight({margin:true}) : el.outerWidth({margin:true})); - if (mode == 'show') el.css(ref, motion == 'pos' ? -distance : distance); // Shift - - // Animation - var animation = {}; - animation[ref] = (mode == 'show' ? (motion == 'pos' ? '+=' : '-=') : (motion == 'pos' ? '-=' : '+=')) + distance; - - // Animate - el.animate(animation, { queue: false, duration: o.duration, easing: o.options.easing, complete: function() { - if(mode == 'hide') el.hide(); // Hide - $.effects.restore(el, props); $.effects.removeWrapper(el); // Restore - if(o.callback) o.callback.apply(this, arguments); // Callback - el.dequeue(); - }}); - - }); - -}; - -})(jQuery); -/* - * jQuery UI Effects Transfer 1.6rc2 - - * - * Copyright (c) 2008 Aaron Eisenberger (aaronchi@gmail.com) - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * http://docs.jquery.com/UI/Effects/Transfer - * - * Depends: - * effects.core.js - */ -(function($) { - -$.effects.transfer = function(o) { - - return this.queue(function() { - - // Create element - var el = $(this); - - // Set options - var mode = $.effects.setMode(el, o.options.mode || 'effect'); // Set Mode - var target = $(o.options.to); // Find Target - var position = el.offset(); - var transfer = $('
    ').appendTo(document.body); - if(o.options.className) transfer.addClass(o.options.className); - - // Set target css - transfer.addClass(o.options.className); - transfer.css({ - top: position.top, - left: position.left, - height: el.outerHeight() - parseInt(transfer.css('borderTopWidth')) - parseInt(transfer.css('borderBottomWidth')), - width: el.outerWidth() - parseInt(transfer.css('borderLeftWidth')) - parseInt(transfer.css('borderRightWidth')), - position: 'absolute' - }); - - // Animation - position = target.offset(); - animation = { - top: position.top, - left: position.left, - height: target.outerHeight() - parseInt(transfer.css('borderTopWidth')) - parseInt(transfer.css('borderBottomWidth')), - width: target.outerWidth() - parseInt(transfer.css('borderLeftWidth')) - parseInt(transfer.css('borderRightWidth')) - }; - - // Animate - transfer.animate(animation, o.duration, o.options.easing, function() { - transfer.remove(); // Remove div - if(o.callback) o.callback.apply(el[0], arguments); // Callback - el.dequeue(); - }); - - }); - -}; - -})(jQuery); diff --git a/includes/dtpick/jquery.js b/includes/dtpick/jquery.js deleted file mode 100644 index 88e661e..0000000 --- a/includes/dtpick/jquery.js +++ /dev/null @@ -1,3549 +0,0 @@ -(function(){ -/* - * jQuery 1.2.6 - New Wave Javascript - * - * Copyright (c) 2008 John Resig (jquery.com) - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * $Date: 2008-05-24 14:22:17 -0400 (Sat, 24 May 2008) $ - * $Rev: 5685 $ - */ - -// Map over jQuery in case of overwrite -var _jQuery = window.jQuery, -// Map over the $ in case of overwrite - _$ = window.$; - -var jQuery = window.jQuery = window.$ = function( selector, context ) { - // The jQuery object is actually just the init constructor 'enhanced' - return new jQuery.fn.init( selector, context ); -}; - -// A simple way to check for HTML strings or ID strings -// (both of which we optimize for) -var quickExpr = /^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/, - -// Is it a simple selector - isSimple = /^.[^:#\[\.]*$/, - -// Will speed up references to undefined, and allows munging its name. - undefined; - -jQuery.fn = jQuery.prototype = { - init: function( selector, context ) { - // Make sure that a selection was provided - selector = selector || document; - - // Handle $(DOMElement) - if ( selector.nodeType ) { - this[0] = selector; - this.length = 1; - return this; - } - // Handle HTML strings - if ( typeof selector == "string" ) { - // Are we dealing with HTML string or an ID? - var match = quickExpr.exec( selector ); - - // Verify a match, and that no context was specified for #id - if ( match && (match[1] || !context) ) { - - // HANDLE: $(html) -> $(array) - if ( match[1] ) - selector = jQuery.clean( [ match[1] ], context ); - - // HANDLE: $("#id") - else { - var elem = document.getElementById( match[3] ); - - // Make sure an element was located - if ( elem ){ - // Handle the case where IE and Opera return items - // by name instead of ID - if ( elem.id != match[3] ) - return jQuery().find( selector ); - - // Otherwise, we inject the element directly into the jQuery object - return jQuery( elem ); - } - selector = []; - } - - // HANDLE: $(expr, [context]) - // (which is just equivalent to: $(content).find(expr) - } else - return jQuery( context ).find( selector ); - - // HANDLE: $(function) - // Shortcut for document ready - } else if ( jQuery.isFunction( selector ) ) - return jQuery( document )[ jQuery.fn.ready ? "ready" : "load" ]( selector ); - - return this.setArray(jQuery.makeArray(selector)); - }, - - // The current version of jQuery being used - jquery: "1.2.6", - - // The number of elements contained in the matched element set - size: function() { - return this.length; - }, - - // The number of elements contained in the matched element set - length: 0, - - // Get the Nth element in the matched element set OR - // Get the whole matched element set as a clean array - get: function( num ) { - return num == undefined ? - - // Return a 'clean' array - jQuery.makeArray( this ) : - - // Return just the object - this[ num ]; - }, - - // Take an array of elements and push it onto the stack - // (returning the new matched element set) - pushStack: function( elems ) { - // Build a new jQuery matched element set - var ret = jQuery( elems ); - - // Add the old object onto the stack (as a reference) - ret.prevObject = this; - - // Return the newly-formed element set - return ret; - }, - - // Force the current matched set of elements to become - // the specified array of elements (destroying the stack in the process) - // You should use pushStack() in order to do this, but maintain the stack - setArray: function( elems ) { - // Resetting the length to 0, then using the native Array push - // is a super-fast way to populate an object with array-like properties - this.length = 0; - Array.prototype.push.apply( this, elems ); - - return this; - }, - - // Execute a callback for every element in the matched set. - // (You can seed the arguments with an array of args, but this is - // only used internally.) - each: function( callback, args ) { - return jQuery.each( this, callback, args ); - }, - - // Determine the position of an element within - // the matched set of elements - index: function( elem ) { - var ret = -1; - - // Locate the position of the desired element - return jQuery.inArray( - // If it receives a jQuery object, the first element is used - elem && elem.jquery ? elem[0] : elem - , this ); - }, - - attr: function( name, value, type ) { - var options = name; - - // Look for the case where we're accessing a style value - if ( name.constructor == String ) - if ( value === undefined ) - return this[0] && jQuery[ type || "attr" ]( this[0], name ); - - else { - options = {}; - options[ name ] = value; - } - - // Check to see if we're setting style values - return this.each(function(i){ - // Set all the styles - for ( name in options ) - jQuery.attr( - type ? - this.style : - this, - name, jQuery.prop( this, options[ name ], type, i, name ) - ); - }); - }, - - css: function( key, value ) { - // ignore negative width and height values - if ( (key == 'width' || key == 'height') && parseFloat(value) < 0 ) - value = undefined; - return this.attr( key, value, "curCSS" ); - }, - - text: function( text ) { - if ( typeof text != "object" && text != null ) - return this.empty().append( (this[0] && this[0].ownerDocument || document).createTextNode( text ) ); - - var ret = ""; - - jQuery.each( text || this, function(){ - jQuery.each( this.childNodes, function(){ - if ( this.nodeType != 8 ) - ret += this.nodeType != 1 ? - this.nodeValue : - jQuery.fn.text( [ this ] ); - }); - }); - - return ret; - }, - - wrapAll: function( html ) { - if ( this[0] ) - // The elements to wrap the target around - jQuery( html, this[0].ownerDocument ) - .clone() - .insertBefore( this[0] ) - .map(function(){ - var elem = this; - - while ( elem.firstChild ) - elem = elem.firstChild; - - return elem; - }) - .append(this); - - return this; - }, - - wrapInner: function( html ) { - return this.each(function(){ - jQuery( this ).contents().wrapAll( html ); - }); - }, - - wrap: function( html ) { - return this.each(function(){ - jQuery( this ).wrapAll( html ); - }); - }, - - append: function() { - return this.domManip(arguments, true, false, function(elem){ - if (this.nodeType == 1) - this.appendChild( elem ); - }); - }, - - prepend: function() { - return this.domManip(arguments, true, true, function(elem){ - if (this.nodeType == 1) - this.insertBefore( elem, this.firstChild ); - }); - }, - - before: function() { - return this.domManip(arguments, false, false, function(elem){ - this.parentNode.insertBefore( elem, this ); - }); - }, - - after: function() { - return this.domManip(arguments, false, true, function(elem){ - this.parentNode.insertBefore( elem, this.nextSibling ); - }); - }, - - end: function() { - return this.prevObject || jQuery( [] ); - }, - - find: function( selector ) { - var elems = jQuery.map(this, function(elem){ - return jQuery.find( selector, elem ); - }); - - return this.pushStack( /[^+>] [^+>]/.test( selector ) || selector.indexOf("..") > -1 ? - jQuery.unique( elems ) : - elems ); - }, - - clone: function( events ) { - // Do the clone - var ret = this.map(function(){ - if ( jQuery.browser.msie && !jQuery.isXMLDoc(this) ) { - // IE copies events bound via attachEvent when - // using cloneNode. Calling detachEvent on the - // clone will also remove the events from the orignal - // In order to get around this, we use innerHTML. - // Unfortunately, this means some modifications to - // attributes in IE that are actually only stored - // as properties will not be copied (such as the - // the name attribute on an input). - var clone = this.cloneNode(true), - container = document.createElement("div"); - container.appendChild(clone); - return jQuery.clean([container.innerHTML])[0]; - } else - return this.cloneNode(true); - }); - - // Need to set the expando to null on the cloned set if it exists - // removeData doesn't work here, IE removes it from the original as well - // this is primarily for IE but the data expando shouldn't be copied over in any browser - var clone = ret.find("*").andSelf().each(function(){ - if ( this[ expando ] != undefined ) - this[ expando ] = null; - }); - - // Copy the events from the original to the clone - if ( events === true ) - this.find("*").andSelf().each(function(i){ - if (this.nodeType == 3) - return; - var events = jQuery.data( this, "events" ); - - for ( var type in events ) - for ( var handler in events[ type ] ) - jQuery.event.add( clone[ i ], type, events[ type ][ handler ], events[ type ][ handler ].data ); - }); - - // Return the cloned set - return ret; - }, - - filter: function( selector ) { - return this.pushStack( - jQuery.isFunction( selector ) && - jQuery.grep(this, function(elem, i){ - return selector.call( elem, i ); - }) || - - jQuery.multiFilter( selector, this ) ); - }, - - not: function( selector ) { - if ( selector.constructor == String ) - // test special case where just one selector is passed in - if ( isSimple.test( selector ) ) - return this.pushStack( jQuery.multiFilter( selector, this, true ) ); - else - selector = jQuery.multiFilter( selector, this ); - - var isArrayLike = selector.length && selector[selector.length - 1] !== undefined && !selector.nodeType; - return this.filter(function() { - return isArrayLike ? jQuery.inArray( this, selector ) < 0 : this != selector; - }); - }, - - add: function( selector ) { - return this.pushStack( jQuery.unique( jQuery.merge( - this.get(), - typeof selector == 'string' ? - jQuery( selector ) : - jQuery.makeArray( selector ) - ))); - }, - - is: function( selector ) { - return !!selector && jQuery.multiFilter( selector, this ).length > 0; - }, - - hasClass: function( selector ) { - return this.is( "." + selector ); - }, - - val: function( value ) { - if ( value == undefined ) { - - if ( this.length ) { - var elem = this[0]; - - // We need to handle select boxes special - if ( jQuery.nodeName( elem, "select" ) ) { - var index = elem.selectedIndex, - values = [], - options = elem.options, - one = elem.type == "select-one"; - - // Nothing was selected - if ( index < 0 ) - return null; - - // Loop through all the selected options - for ( var i = one ? index : 0, max = one ? index + 1 : options.length; i < max; i++ ) { - var option = options[ i ]; - - if ( option.selected ) { - // Get the specifc value for the option - value = jQuery.browser.msie && !option.attributes.value.specified ? option.text : option.value; - - // We don't need an array for one selects - if ( one ) - return value; - - // Multi-Selects return an array - values.push( value ); - } - } - - return values; - - // Everything else, we just grab the value - } else - return (this[0].value || "").replace(/\r/g, ""); - - } - - return undefined; - } - - if( value.constructor == Number ) - value += ''; - - return this.each(function(){ - if ( this.nodeType != 1 ) - return; - - if ( value.constructor == Array && /radio|checkbox/.test( this.type ) ) - this.checked = (jQuery.inArray(this.value, value) >= 0 || - jQuery.inArray(this.name, value) >= 0); - - else if ( jQuery.nodeName( this, "select" ) ) { - var values = jQuery.makeArray(value); - - jQuery( "option", this ).each(function(){ - this.selected = (jQuery.inArray( this.value, values ) >= 0 || - jQuery.inArray( this.text, values ) >= 0); - }); - - if ( !values.length ) - this.selectedIndex = -1; - - } else - this.value = value; - }); - }, - - html: function( value ) { - return value == undefined ? - (this[0] ? - this[0].innerHTML : - null) : - this.empty().append( value ); - }, - - replaceWith: function( value ) { - return this.after( value ).remove(); - }, - - eq: function( i ) { - return this.slice( i, i + 1 ); - }, - - slice: function() { - return this.pushStack( Array.prototype.slice.apply( this, arguments ) ); - }, - - map: function( callback ) { - return this.pushStack( jQuery.map(this, function(elem, i){ - return callback.call( elem, i, elem ); - })); - }, - - andSelf: function() { - return this.add( this.prevObject ); - }, - - data: function( key, value ){ - var parts = key.split("."); - parts[1] = parts[1] ? "." + parts[1] : ""; - - if ( value === undefined ) { - var data = this.triggerHandler("getData" + parts[1] + "!", [parts[0]]); - - if ( data === undefined && this.length ) - data = jQuery.data( this[0], key ); - - return data === undefined && parts[1] ? - this.data( parts[0] ) : - data; - } else - return this.trigger("setData" + parts[1] + "!", [parts[0], value]).each(function(){ - jQuery.data( this, key, value ); - }); - }, - - removeData: function( key ){ - return this.each(function(){ - jQuery.removeData( this, key ); - }); - }, - - domManip: function( args, table, reverse, callback ) { - var clone = this.length > 1, elems; - - return this.each(function(){ - if ( !elems ) { - elems = jQuery.clean( args, this.ownerDocument ); - - if ( reverse ) - elems.reverse(); - } - - var obj = this; - - if ( table && jQuery.nodeName( this, "table" ) && jQuery.nodeName( elems[0], "tr" ) ) - obj = this.getElementsByTagName("tbody")[0] || this.appendChild( this.ownerDocument.createElement("tbody") ); - - var scripts = jQuery( [] ); - - jQuery.each(elems, function(){ - var elem = clone ? - jQuery( this ).clone( true )[0] : - this; - - // execute all scripts after the elements have been injected - if ( jQuery.nodeName( elem, "script" ) ) - scripts = scripts.add( elem ); - else { - // Remove any inner scripts for later evaluation - if ( elem.nodeType == 1 ) - scripts = scripts.add( jQuery( "script", elem ).remove() ); - - // Inject the elements into the document - callback.call( obj, elem ); - } - }); - - scripts.each( evalScript ); - }); - } -}; - -// Give the init function the jQuery prototype for later instantiation -jQuery.fn.init.prototype = jQuery.fn; - -function evalScript( i, elem ) { - if ( elem.src ) - jQuery.ajax({ - url: elem.src, - async: false, - dataType: "script" - }); - - else - jQuery.globalEval( elem.text || elem.textContent || elem.innerHTML || "" ); - - if ( elem.parentNode ) - elem.parentNode.removeChild( elem ); -} - -function now(){ - return +new Date; -} - -jQuery.extend = jQuery.fn.extend = function() { - // copy reference to target object - var target = arguments[0] || {}, i = 1, length = arguments.length, deep = false, options; - - // Handle a deep copy situation - if ( target.constructor == Boolean ) { - deep = target; - target = arguments[1] || {}; - // skip the boolean and the target - i = 2; - } - - // Handle case when target is a string or something (possible in deep copy) - if ( typeof target != "object" && typeof target != "function" ) - target = {}; - - // extend jQuery itself if only one argument is passed - if ( length == i ) { - target = this; - --i; - } - - for ( ; i < length; i++ ) - // Only deal with non-null/undefined values - if ( (options = arguments[ i ]) != null ) - // Extend the base object - for ( var name in options ) { - var src = target[ name ], copy = options[ name ]; - - // Prevent never-ending loop - if ( target === copy ) - continue; - - // Recurse if we're merging object values - if ( deep && copy && typeof copy == "object" && !copy.nodeType ) - target[ name ] = jQuery.extend( deep, - // Never move original objects, clone them - src || ( copy.length != null ? [ ] : { } ) - , copy ); - - // Don't bring in undefined values - else if ( copy !== undefined ) - target[ name ] = copy; - - } - - // Return the modified object - return target; -}; - -var expando = "jQuery" + now(), uuid = 0, windowData = {}, - // exclude the following css properties to add px - exclude = /z-?index|font-?weight|opacity|zoom|line-?height/i, - // cache defaultView - defaultView = document.defaultView || {}; - -jQuery.extend({ - noConflict: function( deep ) { - window.$ = _$; - - if ( deep ) - window.jQuery = _jQuery; - - return jQuery; - }, - - // See test/unit/core.js for details concerning this function. - isFunction: function( fn ) { - return !!fn && typeof fn != "string" && !fn.nodeName && - fn.constructor != Array && /^[\s[]?function/.test( fn + "" ); - }, - - // check if an element is in a (or is an) XML document - isXMLDoc: function( elem ) { - return elem.documentElement && !elem.body || - elem.tagName && elem.ownerDocument && !elem.ownerDocument.body; - }, - - // Evalulates a script in a global context - globalEval: function( data ) { - data = jQuery.trim( data ); - - if ( data ) { - // Inspired by code by Andrea Giammarchi - // http://webreflection.blogspot.com/2007/08/global-scope-evaluation-and-dom.html - var head = document.getElementsByTagName("head")[0] || document.documentElement, - script = document.createElement("script"); - - script.type = "text/javascript"; - if ( jQuery.browser.msie ) - script.text = data; - else - script.appendChild( document.createTextNode( data ) ); - - // Use insertBefore instead of appendChild to circumvent an IE6 bug. - // This arises when a base node is used (#2709). - head.insertBefore( script, head.firstChild ); - head.removeChild( script ); - } - }, - - nodeName: function( elem, name ) { - return elem.nodeName && elem.nodeName.toUpperCase() == name.toUpperCase(); - }, - - cache: {}, - - data: function( elem, name, data ) { - elem = elem == window ? - windowData : - elem; - - var id = elem[ expando ]; - - // Compute a unique ID for the element - if ( !id ) - id = elem[ expando ] = ++uuid; - - // Only generate the data cache if we're - // trying to access or manipulate it - if ( name && !jQuery.cache[ id ] ) - jQuery.cache[ id ] = {}; - - // Prevent overriding the named cache with undefined values - if ( data !== undefined ) - jQuery.cache[ id ][ name ] = data; - - // Return the named cache data, or the ID for the element - return name ? - jQuery.cache[ id ][ name ] : - id; - }, - - removeData: function( elem, name ) { - elem = elem == window ? - windowData : - elem; - - var id = elem[ expando ]; - - // If we want to remove a specific section of the element's data - if ( name ) { - if ( jQuery.cache[ id ] ) { - // Remove the section of cache data - delete jQuery.cache[ id ][ name ]; - - // If we've removed all the data, remove the element's cache - name = ""; - - for ( name in jQuery.cache[ id ] ) - break; - - if ( !name ) - jQuery.removeData( elem ); - } - - // Otherwise, we want to remove all of the element's data - } else { - // Clean up the element expando - try { - delete elem[ expando ]; - } catch(e){ - // IE has trouble directly removing the expando - // but it's ok with using removeAttribute - if ( elem.removeAttribute ) - elem.removeAttribute( expando ); - } - - // Completely remove the data cache - delete jQuery.cache[ id ]; - } - }, - - // args is for internal usage only - each: function( object, callback, args ) { - var name, i = 0, length = object.length; - - if ( args ) { - if ( length == undefined ) { - for ( name in object ) - if ( callback.apply( object[ name ], args ) === false ) - break; - } else - for ( ; i < length; ) - if ( callback.apply( object[ i++ ], args ) === false ) - break; - - // A special, fast, case for the most common use of each - } else { - if ( length == undefined ) { - for ( name in object ) - if ( callback.call( object[ name ], name, object[ name ] ) === false ) - break; - } else - for ( var value = object[0]; - i < length && callback.call( value, i, value ) !== false; value = object[++i] ){} - } - - return object; - }, - - prop: function( elem, value, type, i, name ) { - // Handle executable functions - if ( jQuery.isFunction( value ) ) - value = value.call( elem, i ); - - // Handle passing in a number to a CSS property - return value && value.constructor == Number && type == "curCSS" && !exclude.test( name ) ? - value + "px" : - value; - }, - - className: { - // internal only, use addClass("class") - add: function( elem, classNames ) { - jQuery.each((classNames || "").split(/\s+/), function(i, className){ - if ( elem.nodeType == 1 && !jQuery.className.has( elem.className, className ) ) - elem.className += (elem.className ? " " : "") + className; - }); - }, - - // internal only, use removeClass("class") - remove: function( elem, classNames ) { - if (elem.nodeType == 1) - elem.className = classNames != undefined ? - jQuery.grep(elem.className.split(/\s+/), function(className){ - return !jQuery.className.has( classNames, className ); - }).join(" ") : - ""; - }, - - // internal only, use hasClass("class") - has: function( elem, className ) { - return jQuery.inArray( className, (elem.className || elem).toString().split(/\s+/) ) > -1; - } - }, - - // A method for quickly swapping in/out CSS properties to get correct calculations - swap: function( elem, options, callback ) { - var old = {}; - // Remember the old values, and insert the new ones - for ( var name in options ) { - old[ name ] = elem.style[ name ]; - elem.style[ name ] = options[ name ]; - } - - callback.call( elem ); - - // Revert the old values - for ( var name in options ) - elem.style[ name ] = old[ name ]; - }, - - css: function( elem, name, force ) { - if ( name == "width" || name == "height" ) { - var val, props = { position: "absolute", visibility: "hidden", display:"block" }, which = name == "width" ? [ "Left", "Right" ] : [ "Top", "Bottom" ]; - - function getWH() { - val = name == "width" ? elem.offsetWidth : elem.offsetHeight; - var padding = 0, border = 0; - jQuery.each( which, function() { - padding += parseFloat(jQuery.curCSS( elem, "padding" + this, true)) || 0; - border += parseFloat(jQuery.curCSS( elem, "border" + this + "Width", true)) || 0; - }); - val -= Math.round(padding + border); - } - - if ( jQuery(elem).is(":visible") ) - getWH(); - else - jQuery.swap( elem, props, getWH ); - - return Math.max(0, val); - } - - return jQuery.curCSS( elem, name, force ); - }, - - curCSS: function( elem, name, force ) { - var ret, style = elem.style; - - // A helper method for determining if an element's values are broken - function color( elem ) { - if ( !jQuery.browser.safari ) - return false; - - // defaultView is cached - var ret = defaultView.getComputedStyle( elem, null ); - return !ret || ret.getPropertyValue("color") == ""; - } - - // We need to handle opacity special in IE - if ( name == "opacity" && jQuery.browser.msie ) { - ret = jQuery.attr( style, "opacity" ); - - return ret == "" ? - "1" : - ret; - } - // Opera sometimes will give the wrong display answer, this fixes it, see #2037 - if ( jQuery.browser.opera && name == "display" ) { - var save = style.outline; - style.outline = "0 solid black"; - style.outline = save; - } - - // Make sure we're using the right name for getting the float value - if ( name.match( /float/i ) ) - name = styleFloat; - - if ( !force && style && style[ name ] ) - ret = style[ name ]; - - else if ( defaultView.getComputedStyle ) { - - // Only "float" is needed here - if ( name.match( /float/i ) ) - name = "float"; - - name = name.replace( /([A-Z])/g, "-$1" ).toLowerCase(); - - var computedStyle = defaultView.getComputedStyle( elem, null ); - - if ( computedStyle && !color( elem ) ) - ret = computedStyle.getPropertyValue( name ); - - // If the element isn't reporting its values properly in Safari - // then some display: none elements are involved - else { - var swap = [], stack = [], a = elem, i = 0; - - // Locate all of the parent display: none elements - for ( ; a && color(a); a = a.parentNode ) - stack.unshift(a); - - // Go through and make them visible, but in reverse - // (It would be better if we knew the exact display type that they had) - for ( ; i < stack.length; i++ ) - if ( color( stack[ i ] ) ) { - swap[ i ] = stack[ i ].style.display; - stack[ i ].style.display = "block"; - } - - // Since we flip the display style, we have to handle that - // one special, otherwise get the value - ret = name == "display" && swap[ stack.length - 1 ] != null ? - "none" : - ( computedStyle && computedStyle.getPropertyValue( name ) ) || ""; - - // Finally, revert the display styles back - for ( i = 0; i < swap.length; i++ ) - if ( swap[ i ] != null ) - stack[ i ].style.display = swap[ i ]; - } - - // We should always get a number back from opacity - if ( name == "opacity" && ret == "" ) - ret = "1"; - - } else if ( elem.currentStyle ) { - var camelCase = name.replace(/\-(\w)/g, function(all, letter){ - return letter.toUpperCase(); - }); - - ret = elem.currentStyle[ name ] || elem.currentStyle[ camelCase ]; - - // From the awesome hack by Dean Edwards - // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291 - - // If we're not dealing with a regular pixel number - // but a number that has a weird ending, we need to convert it to pixels - if ( !/^\d+(px)?$/i.test( ret ) && /^\d/.test( ret ) ) { - // Remember the original values - var left = style.left, rsLeft = elem.runtimeStyle.left; - - // Put in the new values to get a computed value out - elem.runtimeStyle.left = elem.currentStyle.left; - style.left = ret || 0; - ret = style.pixelLeft + "px"; - - // Revert the changed values - style.left = left; - elem.runtimeStyle.left = rsLeft; - } - } - - return ret; - }, - - clean: function( elems, context ) { - var ret = []; - context = context || document; - // !context.createElement fails in IE with an error but returns typeof 'object' - if (typeof context.createElement == 'undefined') - context = context.ownerDocument || context[0] && context[0].ownerDocument || document; - - jQuery.each(elems, function(i, elem){ - if ( !elem ) - return; - - if ( elem.constructor == Number ) - elem += ''; - - // Convert html string into DOM nodes - if ( typeof elem == "string" ) { - // Fix "XHTML"-style tags in all browsers - elem = elem.replace(/(<(\w+)[^>]*?)\/>/g, function(all, front, tag){ - return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i) ? - all : - front + ">"; - }); - - // Trim whitespace, otherwise indexOf won't work as expected - var tags = jQuery.trim( elem ).toLowerCase(), div = context.createElement("div"); - - var wrap = - // option or optgroup - !tags.indexOf("", "" ] || - - !tags.indexOf("", "" ] || - - tags.match(/^<(thead|tbody|tfoot|colg|cap)/) && - [ 1, "", "
    " ] || - - !tags.indexOf("", "" ] || - - // matched above - (!tags.indexOf("", "" ] || - - !tags.indexOf("", "" ] || - - // IE can't serialize and - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/includes/mdhomes/documentation/tutorial-components.html b/includes/mdhomes/documentation/tutorial-components.html deleted file mode 100644 index a0c6b74..0000000 --- a/includes/mdhomes/documentation/tutorial-components.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - - - - - - Tutorial Components - Material Kit by Creative Tim - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/includes/mdhomes/examples/dashboard.html b/includes/mdhomes/examples/dashboard.html deleted file mode 100644 index ea06ba8..0000000 --- a/includes/mdhomes/examples/dashboard.html +++ /dev/null @@ -1,606 +0,0 @@ - - - - - - - - - Material Dashboard by Creative Tim - - - - - - - - - - - - - - -
    - -
    - -
    -
    -
    -
    -
    -
    - content_copy -
    -
    -

    Used Space

    -

    49/50 - GB -

    -
    - -
    -
    -
    -
    -
    - store -
    -
    -

    Revenue

    -

    $34,245

    -
    - -
    -
    -
    -
    -
    - info_outline -
    -
    -

    Fixed Issues

    -

    75

    -
    - -
    -
    -
    -
    -
    - -
    -
    -

    Followers

    -

    +245

    -
    - -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    Daily Sales

    -

    - 55% increase in today sales.

    -
    - -
    -
    -
    -
    -
    -
    -
    -
    -

    Email Subscriptions

    -

    Last Campaign Performance

    -
    - -
    -
    -
    -
    -
    -
    -
    -
    -

    Completed Tasks

    -

    Last Campaign Performance

    -
    - -
    -
    -
    -
    -
    -
    - -
    -
    -
    - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    Sign contract for "What are conference organizers afraid of?" - - -
    -
    - -
    -
    Lines From Great Russian Literature? Or E-mails From My Boss? - - -
    -
    - -
    -
    Flooded: One year later, assessing what was lost and what was found when a ravaging rain swept through metro Detroit - - - -
    -
    - -
    -
    Create 4 Invisible User Experiences you Never Knew About - - -
    -
    -
    - - - - - - - - - - - - - -
    -
    - -
    -
    Flooded: One year later, assessing what was lost and what was found when a ravaging rain swept through metro Detroit - - - -
    -
    - -
    -
    Sign contract for "What are conference organizers afraid of?" - - -
    -
    -
    - - - - - - - - - - - - - - - - - - -
    -
    - -
    -
    Lines From Great Russian Literature? Or E-mails From My Boss? - - -
    -
    - -
    -
    Flooded: One year later, assessing what was lost and what was found when a ravaging rain swept through metro Detroit - - - -
    -
    - -
    -
    Sign contract for "What are conference organizers afraid of?" - - -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    Employees Stats

    -

    New employees on 15th September, 2016

    -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    IDNameSalaryCountry
    1Dakota Rice$36,738Niger
    2Minerva Hooper$23,789Curaçao
    3Sage Rodriguez$56,142Netherlands
    4Philip Chaney$38,735Korea, South
    -
    -
    -
    -
    -
    -
    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/includes/mdhomes/examples/icons.html b/includes/mdhomes/examples/icons.html deleted file mode 100644 index e9923e5..0000000 --- a/includes/mdhomes/examples/icons.html +++ /dev/null @@ -1,238 +0,0 @@ - - - - - - - - - Material Dashboard by Creative Tim - - - - - - - - - - - - - - -
    - -
    - -
    -
    -
    -
    -
    -
    -

    Material Design Icons

    -

    Handcrafted by our friends from - Google -

    -
    -
    - - -
    -
    -
    -
    -
    -
    - -
    -
    - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/includes/mdhomes/examples/maps.html b/includes/mdhomes/examples/maps.html deleted file mode 100644 index 012d252..0000000 --- a/includes/mdhomes/examples/maps.html +++ /dev/null @@ -1,187 +0,0 @@ - - - - - - - - - Material Dashboard by Creative Tim - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/includes/mdhomes/examples/notifications.html b/includes/mdhomes/examples/notifications.html deleted file mode 100644 index 60eb128..0000000 --- a/includes/mdhomes/examples/notifications.html +++ /dev/null @@ -1,312 +0,0 @@ - - - - - - - - - Material Dashboard by Creative Tim - - - - - - - - - - - - - - -
    - -
    - -
    -
    -
    -
    -

    Notifications

    -

    Handcrafted by our friend - Robert McIntosh. Please checkout the - full documentation. -

    -
    -
    -
    -
    -
    Notifications Style
    -
    - This is a plain notification -
    -
    - - This is a notification with close button. -
    -
    - - add_alert - This is a notification with close button and icon. -
    -
    - - add_alert - This is a notification with close button and icon and have many lines. You can see that the icon and the close button are always vertically aligned. This is a beautiful notification. So you don't have to worry about the style. -
    -
    -
    -
    Notification states
    -
    - - - Info - This is a regular notification made with ".alert-info" -
    -
    - - - Success - This is a regular notification made with ".alert-success" -
    -
    - - - Warning - This is a regular notification made with ".alert-warning" -
    -
    - - - Danger - This is a regular notification made with ".alert-danger" -
    -
    - - - Primary - This is a regular notification made with ".alert-primary" -
    -
    -
    -
    -
    -
    -
    -
    -
    Notifications Places -

    Click to view notifications

    -
    -
    -
    -
    -
    -
    - -
    -
    - -
    -
    - -
    -
    -
    -
    -
    -
    - -
    -
    - -
    -
    - -
    -
    -
    -
    -
    -
    -
    -
    - -
    -
    - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/includes/mdhomes/examples/table.html b/includes/mdhomes/examples/table.html deleted file mode 100644 index e22a631..0000000 --- a/includes/mdhomes/examples/table.html +++ /dev/null @@ -1,335 +0,0 @@ - - - - - - - - - Material Dashboard by Creative Tim - - - - - - - - - - - - - - -
    - -
    - -
    -
    -
    -
    -
    -
    -

    Simple Table

    -

    Here is a subtitle for this table

    -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameCountryCitySalary
    Dakota RiceNigerOud-Turnhout$36,738
    Minerva HooperCuraçaoSinaai-Waas$23,789
    Sage RodriguezNetherlandsBaileux$56,142
    Philip ChaneyKorea, SouthOverland Park$38,735
    Doris GreeneMalawiFeldkirchen in Kärnten$63,542
    Mason PorterChileGloucester$78,615
    -
    -
    -
    -
    -
    -
    -

    Table on Plain Background

    -

    Here is a subtitle for this table

    -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    IDNameSalaryCountryCity
    1Dakota Rice$36,738NigerOud-Turnhout
    2Minerva Hooper$23,789CuraçaoSinaai-Waas
    3Sage Rodriguez$56,142NetherlandsBaileux
    4Philip Chaney$38,735Korea, SouthOverland Park
    5Doris Greene$63,542MalawiFeldkirchen in Kärnten
    6Mason Porter$78,615ChileGloucester
    -
    -
    -
    -
    -
    -
    - -
    -
    - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/includes/mdhomes/examples/template.html b/includes/mdhomes/examples/template.html deleted file mode 100644 index e69de29..0000000 diff --git a/includes/mdhomes/examples/typography.html b/includes/mdhomes/examples/typography.html deleted file mode 100644 index adb497d..0000000 --- a/includes/mdhomes/examples/typography.html +++ /dev/null @@ -1,313 +0,0 @@ - - - - - - - - - Material Dashboard by Creative Tim - - - - - - - - - - - - - - -
    - -
    - -
    -
    -
    -
    -
    -
    -

    Material Dashboard Heading

    -

    Created using Roboto Font Family

    -
    -
    -
    -
    -

    Typography

    -
    -
    -
    -

    - Header 1The Life of Material Dashboard

    -
    -
    -

    - Header 2The life of Material Dashboard

    -
    -
    -

    - Header 3The life of Material Dashboard

    -
    -
    -

    - Header 4The life of Material Dashboard

    -
    -
    -
    - Header 5The life of Material Dashboard
    -
    -
    -
    - Header 6The life of Material Dashboard
    -
    -
    -

    - Paragraph - I will be the leader of a company that ends up being worth billions of dollars, because I got the answers. I understand culture. I am the nucleus. I think that’s a responsibility that I have, to push possibilities, to show people, this is the level that things could be at.

    -
    -
    - Quote -
    -

    - I will be the leader of a company that ends up being worth billions of dollars, because I got the answers. I understand culture. I am the nucleus. I think that’s a responsibility that I have, to push possibilities, to show people, this is the level that things could be at. -

    - - Kanye West, Musician - -
    -
    -
    - Muted Text -

    - I will be the leader of a company that ends up being worth billions of dollars, because I got the answers... -

    -
    -
    - Primary Text -

    - I will be the leader of a company that ends up being worth billions of dollars, because I got the answers...

    -
    -
    - Info Text -

    - I will be the leader of a company that ends up being worth billions of dollars, because I got the answers...

    -
    -
    - Success Text -

    - I will be the leader of a company that ends up being worth billions of dollars, because I got the answers...

    -
    -
    - Warning Text -

    - I will be the leader of a company that ends up being worth billions of dollars, because I got the answers... -

    -
    -
    - Danger Text -

    - I will be the leader of a company that ends up being worth billions of dollars, because I got the answers...

    -
    -
    -

    - Small Tag - Header with small subtitle -
    - Use "small" tag for the headers -

    -
    -
    -
    -
    -
    -
    -
    -
    -
    - -
    -
    - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/includes/mdhomes/examples/upgrade.html b/includes/mdhomes/examples/upgrade.html deleted file mode 100644 index e3e6178..0000000 --- a/includes/mdhomes/examples/upgrade.html +++ /dev/null @@ -1,286 +0,0 @@ - - - - - - - - - Material Dashboard by Creative Tim - - - - - - - - - - - - - - -
    - -
    - -
    -
    -
    -
    -
    -
    -

    Material Dashboard PRO

    -

    Are you looking for more components? Please check our Premium Version of Material Dashboard.

    -
    -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    FreePRO
    Components60200
    Plugins215
    Example Pages327
    Login, Register, Pricing, Lock Pages
    DataTables, VectorMap, SweetAlert, Wizard, jQueryValidation, FullCalendar etc...
    Mini Sidebar
    Premium Support
    FreeJust $49
    - Current Version - - Upgrade to PRO -
    -
    -
    -
    -
    -
    -
    -
    - -
    -
    - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/includes/mdhomes/examples/user.html b/includes/mdhomes/examples/user.html deleted file mode 100644 index 02bf74f..0000000 --- a/includes/mdhomes/examples/user.html +++ /dev/null @@ -1,320 +0,0 @@ - - - - - - - - - Material Dashboard by Creative Tim - - - - - - - - - - - - - - -
    - -
    - -
    -
    -
    -
    -
    -
    -

    Edit Profile

    -

    Complete your profile

    -
    -
    -
    -
    -
    -
    - - -
    -
    -
    -
    - - -
    -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - -
    -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - -
    -
    -
    -
    - - -
    -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - -
    - - -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    -
    -
    - - - -
    -
    -
    CEO / Co-Founder
    -

    Alec Thompson

    -

    - Don't be scared of the truth because we need to restart the human foundation in truth And I love you like Kanye loves Kanye I love Rick Owens’ bed design but the back is... -

    - Follow -
    -
    -
    -
    -
    -
    - -
    -
    - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/index.php b/index.php deleted file mode 100644 index f2d5cfa..0000000 --- a/index.php +++ /dev/null @@ -1,69 +0,0 @@ -LIBRARY Not Defined!.";return false;}require_once('controller/libconfig.php'); -if(!file_exists("controller/libhtml.php")){echo "Your LIBRARY HTML Not Defined!.";return false;}require_once('controller/libhtml.php'); -if(!file_exists("controller/libmsginfo.php")){echo "Your LIBRARY MESSAGE Not Defined!.";return false;}require_once('controller/libmsginfo.php'); -if(!file_exists("controller/libdefine.php")){echo "Your LIBRARY DEFINE Not Defined!.";return false;}require_once('controller/libdefine.php'); -if(!file_exists("controller/libinterconn.php")){echo "Your LIBRARY LIB INTERCONNECTION Not Defined!.";return false;}require_once('controller/libinterconn.php'); -require_once("controller/libdbconn.php"); -$clreg=new MY_DEFINE(); -$cllib=new MY_HTML(); -//echo $cllib->enc('1234');return false; -$cllib->fn_checkmybrowser(); -//echo $_SESSION["employeename"]."1234"; - -$option=trim(strtolower($_REQUEST['option'])); -//echo $option; -if($_REQUEST['sec']){$option=$cllib->dec($option);$task=$cllib->dec($_REQUEST['task']);} -if($option){$pg=substr($option,4,strlen($option)-4);} -if($_POST['uri']) -{ - $uri=$cllib->uri_parsing($_POST['uri']); - $sp=explode("|",$uri); - $ajax=$sp[0]; - $sec=$sp[1]; - $option=$cllib->dec($sp[2]); - $sppage=explode("_",$option);$pg=$sppage[1]; - $obj=$cllib->dec($sp[3]); - $task=$cllib->dec($sp[4]); -} -// === PHP Excel On -if($_REQUEST['xlson']){$myfile="xlsdoc/".$cllib->dec($_REQUEST['xls']).".php";require_once($myfile);exit;} - - -if($option=="r/log") -{ - if($cllib->login()){$cllib->mosRedirect('?'.PROJECTID);} -} -elseif($option=="r/out") -{ - $cllib->logout(); - $cllib->mosRedirect('?'.PROJECTID); -} - -//if(!session_is_registered($_SESSION["namaemployee"])) -if(!($_SESSION["employeename"])){require_once(LOGIN_PAGE);} -else -{ -//echo "FDF"; - if($_REQUEST['ajax']){$ajax=$_REQUEST['ajax'];} - if($_POST['ajax']){$ajax=$_POST['ajax'];} - - if($ajax) - { - // echo $option." ".$pg; - require_once(PATH_OBJECT."/$option/$pg.php"); - } - else - { - //echo $ajax; - if(isset($_REQUEST['popup'])){require_once(PATH_OBJECT."/$option/$pg.php");} - else - {require_once(PATH_THEME."/index.php");} - } -} -?> - diff --git a/lib/AES.class.php b/lib/AES.class.php deleted file mode 100644 index 04745a4..0000000 --- a/lib/AES.class.php +++ /dev/null @@ -1,592 +0,0 @@ - - * @version 1.0.5 - * @license http://opensource.org/licenses/lgpl-3.0.html The GNU Lesser General Public License - * @package AES - */ - -/** - * AES Encryption Class. - * This class supports three lenghts of key (128, 192, 256) - * @author Marcin F. Wiœniowski - * @version 1.0.2 - * @license http://opensource.org/licenses/lgpl-3.0.html The GNU Lesser General Public License - */ -class AES { -/** @var int Number of rounds in AES algorithm (Nr) */ - private $number_of_rounds; -/** @var int Number of columns (32-bit words) comprising the State. (Nb) */ - private $block_size; -/** @var int Number of 32-bit words comprising the Cipher Key (Nk) */ - private $key_size; -/** @var array S-Box: Non-linear substitution table used in several byte substitution transformations */ - private $s_box; -/** @var array Inverted S-Box */ - private $s_box_inverted; -/** @var array Araay of [pow(2,x),{00},{00},{00}] values used as round constant value */ - private $round_constants; -/** @var array Logaritmic array used in Galois filed multiplication proccess */ - private $log; -/** @var array Expotencial array used in Galois filed multiplication proccess */ - private $exp; -/** @var array Array of collumn (words) */ - private $state; - - const AES128 = 0; - const AES192 = 1; - const AES256 = 2; - - const WORD_LENGTH = 4; - const BYTE_LENGTH = 8; -/** - * Class constructor default construkts AES128 Objeckt - * @param int Key strength default values is AES128. Also supports AES192 and AES256 values. - */ - public function __construct($strength=self::AES128) { - switch($strength) { - case self::AES256: - $this->key_size = 8; - $this->block_size = 4; - $this->number_of_rounds = 14; - break; - case self::AES192: - $this->key_size = 6; - $this->block_size = 4; - $this->number_of_rounds = 12; - break; - case self::AES128: - default: - $this->key_size = 4; - $this->block_size = 4; - $this->number_of_rounds = 10; - break; - } - $this->createSBox(); - $this->createInvertedSBox(); - $this->createRoundConstants(); - $this->createLogarithmicArray(); - $this->createExpotecialArray(); - $this->state = array(); - } -/** - * Class destructor - */ - public function __destruct() {} -/** - * Definition of method which takes undefined methods of this Class - */ - public function __call($name, $params) { - throw new Exception("Undefined method call of AES class. Method name: ".$name); - } -/** - * Creates S-Box Table - */ - private function createSBox() { - $this->s_box = array( - 0x63, 0x7C, 0x77, 0x7B, 0xF2, 0x6B, 0x6F, 0xC5, 0x30, 0x01, 0x67, 0x2B, 0xFE, 0xD7, 0xAB, 0x76, - 0xCA, 0x82, 0xC9, 0x7D, 0xFA, 0x59, 0x47, 0xF0, 0xAD, 0xD4, 0xA2, 0xAF, 0x9C, 0xA4, 0x72, 0xC0, - 0xB7, 0xFD, 0x93, 0x26, 0x36, 0x3F, 0xF7, 0xCC, 0x34, 0xA5, 0xE5, 0xF1, 0x71, 0xD8, 0x31, 0x15, - 0x04, 0xC7, 0x23, 0xC3, 0x18, 0x96, 0x05, 0x9A, 0x07, 0x12, 0x80, 0xE2, 0xEB, 0x27, 0xB2, 0x75, - 0x09, 0x83, 0x2C, 0x1A, 0x1B, 0x6E, 0x5A, 0xA0, 0x52, 0x3B, 0xD6, 0xB3, 0x29, 0xE3, 0x2F, 0x84, - 0x53, 0xD1, 0x00, 0xED, 0x20, 0xFC, 0xB1, 0x5B, 0x6A, 0xCB, 0xBE, 0x39, 0x4A, 0x4C, 0x58, 0xCF, - 0xD0, 0xEF, 0xAA, 0xFB, 0x43, 0x4D, 0x33, 0x85, 0x45, 0xF9, 0x02, 0x7F, 0x50, 0x3C, 0x9F, 0xA8, - 0x51, 0xA3, 0x40, 0x8F, 0x92, 0x9D, 0x38, 0xF5, 0xBC, 0xB6, 0xDA, 0x21, 0x10, 0xFF, 0xF3, 0xD2, - 0xCD, 0x0C, 0x13, 0xEC, 0x5F, 0x97, 0x44, 0x17, 0xC4, 0xA7, 0x7E, 0x3D, 0x64, 0x5D, 0x19, 0x73, - 0x60, 0x81, 0x4F, 0xDC, 0x22, 0x2A, 0x90, 0x88, 0x46, 0xEE, 0xB8, 0x14, 0xDE, 0x5E, 0x0B, 0xDB, - 0xE0, 0x32, 0x3A, 0x0A, 0x49, 0x06, 0x24, 0x5C, 0xC2, 0xD3, 0xAC, 0x62, 0x91, 0x95, 0xE4, 0x79, - 0xE7, 0xC8, 0x37, 0x6D, 0x8D, 0xD5, 0x4E, 0xA9, 0x6C, 0x56, 0xF4, 0xEA, 0x65, 0x7A, 0xAE, 0x08, - 0xBA, 0x78, 0x25, 0x2E, 0x1C, 0xA6, 0xB4, 0xC6, 0xE8, 0xDD, 0x74, 0x1F, 0x4B, 0xBD, 0x8B, 0x8A, - 0x70, 0x3E, 0xB5, 0x66, 0x48, 0x03, 0xF6, 0x0E, 0x61, 0x35, 0x57, 0xB9, 0x86, 0xC1, 0x1D, 0x9E, - 0xE1, 0xF8, 0x98, 0x11, 0x69, 0xD9, 0x8E, 0x94, 0x9B, 0x1E, 0x87, 0xE9, 0xCE, 0x55, 0x28, 0xDF, - 0x8C, 0xA1, 0x89, 0x0D, 0xBF, 0xE6, 0x42, 0x68, 0x41, 0x99, 0x2D, 0x0F, 0xB0, 0x54, 0xBB, 0x16); - } -/** - * Creates invertet S-Box Table - */ - private function createInvertedSBox() { - $this->s_box_inverted = array( - 0x52, 0x09, 0x6A, 0xD5, 0x30, 0x36, 0xA5, 0x38, 0xBF, 0x40, 0xA3, 0x9E, 0x81, 0xF3, 0xD7, 0xFB, - 0x7C, 0xE3, 0x39, 0x82, 0x9B, 0x2F, 0xFF, 0x87, 0x34, 0x8E, 0x43, 0x44, 0xC4, 0xDE, 0xE9, 0xCB, - 0x54, 0x7B, 0x94, 0x32, 0xA6, 0xC2, 0x23, 0x3D, 0xEE, 0x4C, 0x95, 0x0B, 0x42, 0xFA, 0xC3, 0x4E, - 0x08, 0x2E, 0xA1, 0x66, 0x28, 0xD9, 0x24, 0xB2, 0x76, 0x5B, 0xA2, 0x49, 0x6D, 0x8B, 0xD1, 0x25, - 0x72, 0xF8, 0xF6, 0x64, 0x86, 0x68, 0x98, 0x16, 0xD4, 0xA4, 0x5C, 0xCC, 0x5D, 0x65, 0xB6, 0x92, - 0x6C, 0x70, 0x48, 0x50, 0xFD, 0xED, 0xB9, 0xDA, 0x5E, 0x15, 0x46, 0x57, 0xA7, 0x8D, 0x9D, 0x84, - 0x90, 0xD8, 0xAB, 0x00, 0x8C, 0xBC, 0xD3, 0x0A, 0xF7, 0xE4, 0x58, 0x05, 0xB8, 0xB3, 0x45, 0x06, - 0xD0, 0x2C, 0x1E, 0x8F, 0xCA, 0x3F, 0x0F, 0x02, 0xC1, 0xAF, 0xBD, 0x03, 0x01, 0x13, 0x8A, 0x6B, - 0x3A, 0x91, 0x11, 0x41, 0x4F, 0x67, 0xDC, 0xEA, 0x97, 0xF2, 0xCF, 0xCE, 0xF0, 0xB4, 0xE6, 0x73, - 0x96, 0xAC, 0x74, 0x22, 0xE7, 0xAD, 0x35, 0x85, 0xE2, 0xF9, 0x37, 0xE8, 0x1C, 0x75, 0xDF, 0x6E, - 0x47, 0xF1, 0x1A, 0x71, 0x1D, 0x29, 0xC5, 0x89, 0x6F, 0xB7, 0x62, 0x0E, 0xAA, 0x18, 0xBE, 0x1B, - 0xFC, 0x56, 0x3E, 0x4B, 0xC6, 0xD2, 0x79, 0x20, 0x9A, 0xDB, 0xC0, 0xFE, 0x78, 0xCD, 0x5A, 0xF4, - 0x1F, 0xDD, 0xA8, 0x33, 0x88, 0x07, 0xC7, 0x31, 0xB1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xEC, 0x5F, - 0x60, 0x51, 0x7F, 0xA9, 0x19, 0xB5, 0x4A, 0x0D, 0x2D, 0xE5, 0x7A, 0x9F, 0x93, 0xC9, 0x9C, 0xEF, - 0xA0, 0xE0, 0x3B, 0x4D, 0xAE, 0x2A, 0xF5, 0xB0, 0xC8, 0xEB, 0xBB, 0x3C, 0x83, 0x53, 0x99, 0x61, - 0x17, 0x2B, 0x04, 0x7E, 0xBA, 0x77, 0xD6, 0x26, 0xE1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0C, 0x7D); - } -/** - * Creates Round Contstants Table: Array of [pow(2,x),{00},{00},{00}] values used as round constant value - */ - private function createRoundConstants() { - $this->round_constants = array( - 0x01000000, 0x02000000, 0x04000000, 0x08000000, 0x10000000, 0x20000000, 0x40000000, 0x80000000, - 0x1B000000, 0x36000000, 0x6C000000, 0xD8000000, 0xAB000000, 0x4D000000, 0x9A000000, 0x2F000000, - 0x5E000000, 0xBC000000, 0x63000000, 0xC6000000, 0x97000000, 0x35000000, 0x6A000000, 0xD4000000, - 0xB3000000, 0x7D000000, 0xFA000000, 0xEF000000, 0xC5000000, 0x91000000); - } -/** - * Creates Logarithmic array with generator number 0xe5 - */ - private function createLogarithmicArray() { - $this->log = array( - 0x00, 0xFF, 0xC8, 0x08, 0x91, 0x10, 0xD0, 0x36, 0x5A, 0x3E, 0xD8, 0x43, 0x99, 0x77, 0xFE, 0x18, - 0x23, 0x20, 0x07, 0x70, 0xA1, 0x6C, 0x0C, 0x7F, 0x62, 0x8B, 0x40, 0x46, 0xC7, 0x4B, 0xE0, 0x0E, - 0xEB, 0x16, 0xE8, 0xAD, 0xCF, 0xCD, 0x39, 0x53, 0x6A, 0x27, 0x35, 0x93, 0xD4, 0x4E, 0x48, 0xC3, - 0x2B, 0x79, 0x54, 0x28, 0x09, 0x78, 0x0F, 0x21, 0x90, 0x87, 0x14, 0x2A, 0xA9, 0x9C, 0xD6, 0x74, - 0xB4, 0x7C, 0xDE, 0xED, 0xB1, 0x86, 0x76, 0xA4, 0x98, 0xE2, 0x96, 0x8F, 0x02, 0x32, 0x1C, 0xC1, - 0x33, 0xEE, 0xEF, 0x81, 0xFD, 0x30, 0x5C, 0x13, 0x9D, 0x29, 0x17, 0xC4, 0x11, 0x44, 0x8C, 0x80, - 0xF3, 0x73, 0x42, 0x1E, 0x1D, 0xB5, 0xF0, 0x12, 0xD1, 0x5B, 0x41, 0xA2, 0xD7, 0x2C, 0xE9, 0xD5, - 0x59, 0xCB, 0x50, 0xA8, 0xDC, 0xFC, 0xF2, 0x56, 0x72, 0xA6, 0x65, 0x2F, 0x9F, 0x9B, 0x3D, 0xBA, - 0x7D, 0xC2, 0x45, 0x82, 0xA7, 0x57, 0xB6, 0xA3, 0x7A, 0x75, 0x4F, 0xAE, 0x3F, 0x37, 0x6D, 0x47, - 0x61, 0xBE, 0xAB, 0xD3, 0x5F, 0xB0, 0x58, 0xAF, 0xCA, 0x5E, 0xFA, 0x85, 0xE4, 0x4D, 0x8A, 0x05, - 0xFB, 0x60, 0xB7, 0x7B, 0xB8, 0x26, 0x4A, 0x67, 0xC6, 0x1A, 0xF8, 0x69, 0x25, 0xB3, 0xDB, 0xBD, - 0x66, 0xDD, 0xF1, 0xD2, 0xDF, 0x03, 0x8D, 0x34, 0xD9, 0x92, 0x0D, 0x63, 0x55, 0xAA, 0x49, 0xEC, - 0xBC, 0x95, 0x3C, 0x84, 0x0B, 0xF5, 0xE6, 0xE7, 0xE5, 0xAC, 0x7E, 0x6E, 0xB9, 0xF9, 0xDA, 0x8E, - 0x9A, 0xC9, 0x24, 0xE1, 0x0A, 0x15, 0x6B, 0x3A, 0xA0, 0x51, 0xF4, 0xEA, 0xB2, 0x97, 0x9E, 0x5D, - 0x22, 0x88, 0x94, 0xCE, 0x19, 0x01, 0x71, 0x4C, 0xA5, 0xE3, 0xC5, 0x31, 0xBB, 0xCC, 0x1F, 0x2D, - 0x3B, 0x52, 0x6F, 0xF6, 0x2E, 0x89, 0xF7, 0xC0, 0x68, 0x1B, 0x64, 0x04, 0x06, 0xBF, 0x83, 0x38); - } -/** - * Creates Expotencial array with generator number 0xe5 - */ - private function createExpotecialArray() { - $this->exp = array( - 0x01, 0xe5, 0x4c, 0xb5, 0xfb, 0x9f, 0xfc, 0x12, 0x03, 0x34, 0xd4, 0xc4, 0x16, 0xba, 0x1f, 0x36, - 0x05, 0x5c, 0x67, 0x57, 0x3a, 0xd5, 0x21, 0x5a, 0x0f, 0xe4, 0xa9, 0xf9, 0x4e, 0x64, 0x63, 0xee, - 0x11, 0x37, 0xe0, 0x10, 0xd2, 0xac, 0xa5, 0x29, 0x33, 0x59, 0x3b, 0x30, 0x6d, 0xef, 0xf4, 0x7b, - 0x55, 0xeb, 0x4d, 0x50, 0xb7, 0x2a, 0x07, 0x8d, 0xff, 0x26, 0xd7, 0xf0, 0xc2, 0x7e, 0x09, 0x8c, - 0x1a, 0x6a, 0x62, 0x0b, 0x5d, 0x82, 0x1b, 0x8f, 0x2e, 0xbe, 0xa6, 0x1d, 0xe7, 0x9d, 0x2d, 0x8a, - 0x72, 0xd9, 0xf1, 0x27, 0x32, 0xbc, 0x77, 0x85, 0x96, 0x70, 0x08, 0x69, 0x56, 0xdf, 0x99, 0x94, - 0xa1, 0x90, 0x18, 0xbb, 0xfa, 0x7a, 0xb0, 0xa7, 0xf8, 0xab, 0x28, 0xd6, 0x15, 0x8e, 0xcb, 0xf2, - 0x13, 0xe6, 0x78, 0x61, 0x3f, 0x89, 0x46, 0x0d, 0x35, 0x31, 0x88, 0xa3, 0x41, 0x80, 0xca, 0x17, - 0x5f, 0x53, 0x83, 0xfe, 0xc3, 0x9b, 0x45, 0x39, 0xe1, 0xf5, 0x9e, 0x19, 0x5e, 0xb6, 0xcf, 0x4b, - 0x38, 0x04, 0xb9, 0x2b, 0xe2, 0xc1, 0x4a, 0xdd, 0x48, 0x0c, 0xd0, 0x7d, 0x3d, 0x58, 0xde, 0x7c, - 0xd8, 0x14, 0x6b, 0x87, 0x47, 0xe8, 0x79, 0x84, 0x73, 0x3c, 0xbd, 0x92, 0xc9, 0x23, 0x8b, 0x97, - 0x95, 0x44, 0xdc, 0xad, 0x40, 0x65, 0x86, 0xa2, 0xa4, 0xcc, 0x7f, 0xec, 0xc0, 0xaf, 0x91, 0xfd, - 0xf7, 0x4f, 0x81, 0x2f, 0x5b, 0xea, 0xa8, 0x1c, 0x02, 0xd1, 0x98, 0x71, 0xed, 0x25, 0xe3, 0x24, - 0x06, 0x68, 0xb3, 0x93, 0x2c, 0x6f, 0x3e, 0x6c, 0x0a, 0xb8, 0xce, 0xae, 0x74, 0xb1, 0x42, 0xb4, - 0x1e, 0xd3, 0x49, 0xe9, 0x9c, 0xc8, 0xc6, 0xc7, 0x22, 0x6e, 0xdb, 0x20, 0xbf, 0x43, 0x51, 0x52, - 0x66, 0xb2, 0x76, 0x60, 0xda, 0xc5, 0xf3, 0xf6, 0xaa, 0xcd, 0x9a, 0xa0, 0x75, 0x54, 0x0e, 0x01); - } -/** - * Encrypts 16 bytes of data using AES algoritm - * @param string Decrypted Content - * @return string Encrypted Content - */ - public function encrypt($content, $key) { - $expand_key = $this->keyExpansion($this->convertToWords($key)); - $this->state = $this->convertToWords($content); - $this->addRoundKey($this->createRoundKey(0, $expand_key)); - for ($round = 1; $round < $this->number_of_rounds; $round++) { - $this->subBytes(); - $this->shiftRows(); - $this->mixColumns(); - $this->addRoundKey($this->createRoundKey($round, $expand_key)); - } - $this->subBytes(); - $this->shiftRows(); - $this->addRoundKey($this->createRoundKey($this->number_of_rounds, $expand_key)); - return $this->convertToHexString(); - } -/** - * Decrypts encrypteta 16 bytes of data using AES algoritm - * @param string Encrypted Content - * @return string Decrypted Content - */ - public function decrypt($content, $key) { - $expand_key = $this->keyExpansion($this->convertToWords($key)); - $this->state = $this->convertToWords($content); - $this->addRoundKey($this->createRoundKey($this->number_of_rounds, $expand_key)); - for ($round = $this->number_of_rounds - 1; $round > 0; $round--) { - $this->invShiftRows(); - $this->invSubBytes(); - $this->addRoundKey($this->createRoundKey($round, $expand_key)); - $this->invMixColumns(); - } - $this->invShiftRows(); - $this->invSubBytes(); - $this->addRoundKey($this->createRoundKey(0, $expand_key)); - return $this->convertToHexString(); - } -/** - * Processes the State table using a nonlinear byte substitution table (S-box). - */ - private function subBytes() { - for ($i=0; $i < $this->block_size; $i++) { - $this->state[$i] = $this->subWord($this->state[$i]); - } - } -/** - * Inversion of subBytes() method - * @see subBytes() - */ - private function invSubBytes() { - for ($i=0; $i < $this->block_size; $i++) { - $this->state[$i] = $this->subWord($this->state[$i], true); - } - } -/** - * Processes the State by cyclically shifting the last three rows of the State by different offsets. - */ - private function shiftRows() { - for ($i=1; $i < self::WORD_LENGTH; $i++) { - $buffer = array(); - for ($j=$this->block_size-1; $j >= 0; $j--) { - $pos = ($i + $j) % $this->block_size; - $buffer[$j] = $this->getByteFromWord($this->state[$j], $i); - $byte = isset($buffer[$pos]) ? $buffer[$pos] : $this->getByteFromWord($this->state[$pos], $i); - $this->state[$j] = $this->putByteIntoWord( $byte, $this->state[$j], $i); - } - } - } -/** - * Inversion of shiftRows() method. - * @see shiftRows() - */ - private function invShiftRows() { - for ($i=1; $i < self::WORD_LENGTH; $i++) { - $buffer = array(); - for ($j=0; $j < $this->block_size; $j++) { - $pos = ($i + $j) % $this->block_size; - $buffer[$pos] = $this->getByteFromWord($this->state[$pos], $i); - $byte = isset($buffer[$j]) ? $buffer[$j] : $this->getByteFromWord($this->state[$j], $i); - $this->state[$pos] = $this->putByteIntoWord( $byte, $this->state[$pos], $i); - } - } - } -/** - * Takes all of the columns of theState and mixes their data to produce new columns. - */ - private function mixColumns() { - $mul1 = array(); - $mul2 = array(); - $mul3 = array(); - for ($i=0; $i < $this->block_size; $i++) { - for ($j = 0; $j < self::WORD_LENGTH; $j++) { - $mul1[$j] = $this->getByteFromWord($this->state[$i], $j); - $mul2[$j] = $this->galoisFieldMultiplication($mul1[$j], 0x02); - $mul3[$j] = $mul2[$j] ^ $mul1[$j]; - } - for ($j = 0; $j < self::WORD_LENGTH; $j++) { - $byte = $mul2[$j] ^ $mul1[($j+3) % $this->block_size] ^ $mul1[($j+2) % $this->block_size] ^ $mul3[($j+1) % $this->block_size]; - $this->state[$i] = $this->putByteIntoWord( $byte, $this->state[$i], $j); - } - } - } -/** - * Inversion of mixColumns() - * @see mixColumns() - */ - private function invMixColumns() { - $mulE = array(); - $mulD = array(); - $mulB = array(); - $mul9 = array(); - for ($i=0; $i < $this->block_size; $i++) { - for ($j = 0; $j < self::WORD_LENGTH; $j++) { - $temp = $this->getByteFromWord($this->state[$i], $j); - $mulE[$j] = $this->galoisFieldMultiplication($temp, 0x0E); - $mulD[$j] = $this->galoisFieldMultiplication($temp, 0x0D); - $mulB[$j] = $this->galoisFieldMultiplication($temp, 0x0B); - $mul9[$j] = $this->galoisFieldMultiplication($temp, 0x09); - } - for ($j = 0; $j < self::WORD_LENGTH; $j++) { - $byte = $mulE[$j] ^ $mul9[($j+3) % $this->block_size] ^ $mulD[($j+2) % $this->block_size] ^ $mulB[($j+1) % $this->block_size]; - $this->state[$i] = $this->putByteIntoWord( $byte, $this->state[$i], $j); - } - } - } -/** - * Adds Round Key to the State using an XOR operation. - */ - private function addRoundKey($key) { - for ($i=0; $i < $this->block_size; $i++) { - $this->state[$i] ^= $key[$i]; - } - } -/** - * Generates Key schedule from Cipher Key - * @return array Expanded key array - */ - private function keyExpansion($key) { - $expanded_key = array(); - for ($i=0; $i<$this->key_size; $i++) { - $expanded_key[$i] = $key[$i]; - } - for ($i=$this->key_size; $i<$this->block_size * ($this->number_of_rounds + 1); $i++) { - $temp = $expanded_key[$i - 1]; - if ($i % $this->key_size == 0) - $temp = $this->subWord($this->rotWord($temp)) ^ $this->round_constants[$i / $this->key_size -1]; - else if ($this->key_size > 6 && $i % $this->key_size == 4) - $temp = $this->subWord($temp); - $expanded_key[$i] = $expanded_key[$i - $this->key_size] ^ $temp; - } - return $expanded_key; - } -/** - * Creates array of 4 words from expanded key depend of round - * @param int Number of round - * @param array Expanded key array - * @return array Round key. - */ - private function createRoundKey($round, $key) { - return array($key[self::WORD_LENGTH * $round], $key[self::WORD_LENGTH * $round + 1], $key[self::WORD_LENGTH * $round + 2], $key[self::WORD_LENGTH * $round + 3]); - } -/** - * Galios field multiplication function - * @param int First byte - * @param int Second byte - * @return int Multiplication result - */ - private function galoisFieldMultiplication($number_a, $number_b) { - $temp = $this->exp[($this->log[$number_a] + $this->log[$number_b]) % 0xFF]; - $result = $number_a ? ($number_b ? $temp : 0) : 0; - return $result; - /* // Old Implementanion - $result = 0; - for ($i=0; $i>= 1; - } - return $result; */ - } -/** - * Changing value of each byte in word using SBOX table - * @param word Input word - * @param bool Inversion flag. Default value: false - * @return word Result word of transformation - */ - private function subWord($word, $invers=false) { - if (!$invers) - return $this->s_box[(( $word >> 24 ) & 0x000000FF)] << 24 | - $this->s_box[(($word & 0x00FF0000) >> 16)] << 16 | - $this->s_box[(($word & 0x0000FF00) >> 8 )] << 8 | - $this->s_box[($word & 0x000000FF)]; - else - return $this->s_box_inverted[(( $word >> 24 ) & 0x000000FF)] << 24 | - $this->s_box_inverted[(($word & 0x00FF0000) >> 16)] << 16 | - $this->s_box_inverted[(($word & 0x0000FF00) >> 8 )] << 8 | - $this->s_box_inverted[($word & 0x000000FF)]; - - } -/** - * Clock-wise rotation of bytes in word [aa bb cc dd] -> [bb cc dd aa] - * @param word Input word - * @return word Result of transformation - */ - private function rotWord($word) { - return (( $word << 8 ) & 0xFFFFFFFF ) | (( $word >> 24 ) & 0x000000FF); - } -/** - * Get specyfic byte from word - * @param word Input word - * @param int Position of byte in word - * @return byte Selected byte - */ - private function getByteFromWord($word, $position) { - switch ($position) { - case 0: - return ( $word >> 24 ) & 0x000000FF; - case 1: - return ($word & 0x00FF0000) >> 16; - case 2: - return ($word & 0x0000FF00) >> 8; - case 3: - return $word & 0x000000FF; - } - } -/** - * Puts byte into word - * @param byte Byte - * @param word Word - * @param int Position of insertion - * @return word Modified word - */ - private function putByteIntoWord($byte, $word, $position) { - switch ($position) { - case 0: - return (($word & 0x00FFFFFF) | (($byte << 24) & 0xFF000000)); - case 1: - return (($word & 0xFF00FFFF) | (($byte << 16) & 0x00FF0000)); - case 2: - return (($word & 0xFFFF00FF) | (($byte << 8) & 0x0000FF00)); - case 3: - return (($word & 0xFFFFFF00) | $byte); - } - } -/** - * Creates words array from hexadecimal string - * @param string hexadecimal string - * @return array words reprezentatnion of content - */ - private function convertToWords($content) { - $words = array(); - for ($i = 0; $i < strlen($content); $i+=2*$this->block_size){ - $words[$i/(2*$this->block_size)] = hexdec(substr($content, $i, 2*$this->block_size)); - } - return $words; - } -/** - * Converts state array into hexadecimal string - * @return string 16 bytes string representation of state array - */ - private function convertToHexString() { - $string = ""; - for ($i = 0; $i < $this->block_size; $i++) { - $string .= $this->addZeros(dechex($this->state[$i])); - } - return $string; - } -/** - * Converts Strings to HEX representation - * @param string Input string - * @return string Hex representation - */ - public function stringToHex($str) { - $hex=""; - $zeros = ""; - $len = 2 * self::WORD_LENGTH * $this->block_size; - for ($i = 0; $i < strlen($str); $i++){ - $val = dechex(ord($str{$i})); - if( strlen($val)< 2 ) $val="0".$val; - $hex.=$val; - } - for ($i = 0; $i < $len - strlen($hex); $i++){ - $zeros .= '0'; - } - return $hex.$zeros; - } -/** - * Converts HEX values into strings - * @param string HEX value in string repreentation - * @return string - */ - public function hexToString($hex) { - $str=""; - for($i=0; $i'); - print('Password: "'.$password.'", key: 0x'.$key.'
    '); - - print('
    Encryption process
    '); - $start = microtime(true); - $this->state = $this->convertToWords($content); - $time1 = microtime(true); - $expand_key = $this->keyExpansion($this->convertToWords($key)); - $time2 = microtime(true); - print('Key expansion time: '.(($time2 - $time1)*1000).' ms
    '); - $this->addRoundKey($this->createRoundKey(0, $expand_key)); - - $time1 = microtime(true); - $this->subBytes(); - $time2 = microtime(true); - print('Sub bytes time: '.(($time2 - $time1)*1000).' ms
    '); - - $time1 = microtime(true); - $this->shiftRows(); - $time2 = microtime(true); - print('Shift rows time: '.(($time2 - $time1)*1000).' ms
    '); - - $time1 = microtime(true); - $this->mixColumns(); - $time2 = microtime(true); - print('Mix columns time: '.(($time2 - $time1)*1000).' ms
    '); - - $time1 = microtime(true); - $this->addRoundKey($this->createRoundKey(1, $expand_key)); - $time2 = microtime(true); - print('Add round key time: '.(($time2 - $time1)*1000).' ms
    '); - for ($round = 2; $round < $this->number_of_rounds; $round++) { - $this->subBytes(); - $this->shiftRows(); - $this->mixColumns(); - $this->addRoundKey($this->createRoundKey($round, $expand_key)); - } - $this->subBytes(); - $this->shiftRows(); - $this->addRoundKey($this->createRoundKey($this->number_of_rounds, $expand_key)); - $end = microtime(true); - $content = $this->convertToHexString(); - print('Encryption time: '.(($end-$start)*1000).' ms
    Encrypted content: 0x'.$content.'
    '); - - print('
    Decryption process
    '); - - $start = microtime(true); - $this->state = $this->convertToWords($content); - $time1 = microtime(true); - $expand_key = $this->keyExpansion($this->convertToWords($key)); - $time2 = microtime(true); - print('Key expansion time: '.(($time2 - $time1)*1000).' ms
    '); - $this->addRoundKey($this->createRoundKey($this->number_of_rounds, $expand_key)); - - $time1 = microtime(true); - $this->invShiftRows(); - $time2 = microtime(true); - print('Invers shift rows time: '.(($time2 - $time1)*1000).' ms
    '); - - $time1 = microtime(true); - $this->invSubBytes(); - $time2 = microtime(true); - print('Invers sub bytes time: '.(($time2 - $time1)*1000).' ms
    '); - - $time1 = microtime(true); - $this->addRoundKey($this->createRoundKey($this->number_of_rounds -1, $expand_key)); - $time2 = microtime(true); - print('Add round key time: '.(($time2 - $time1)*1000).' ms
    '); - - $time1 = microtime(true); - $this->invMixColumns(); - $time2 = microtime(true); - print('Invers mix columns time: '.(($time2 - $time1)*1000).' ms
    '); - - for ($round = $this->number_of_rounds - 2; $round > 0; $round--) { - $this->invShiftRows(); - $this->invSubBytes(); - $this->addRoundKey($this->createRoundKey($round, $expand_key)); - $this->invMixColumns(); - } - $this->invShiftRows(); - $this->invSubBytes(); - $this->addRoundKey($this->createRoundKey(0, $expand_key)); - $end = microtime(true); - $content = $this->convertToHexString(); - print('Decryption time: '.(($end-$start)*1000).' ms
    Decrypted content: 0x'.$content.'
    '); - - } -} -?> \ No newline at end of file diff --git a/lib/AESCipher.class.php b/lib/AESCipher.class.php deleted file mode 100644 index a75b009..0000000 --- a/lib/AESCipher.class.php +++ /dev/null @@ -1,85 +0,0 @@ - - * @version 1.0.5 - * @license http://opensource.org/licenses/lgpl-3.0.html The GNU Lesser General Public License - * @package AES - */ - -/** - * @see AES - */ -require_once('AES.class.php'); - -/** - * Text cipher class - * This class is using AES crypt algoritm - * @author Marcin F. WiÅ›niowski - * @version 1.0.0 - * @license http://opensource.org/licenses/lgpl-3.0.html The GNU Lesser General Public License - */ -class AESCipher { -/** @var object An AES cipher object. */ - private $_cipher; -/** @var int Key strenght */ - private $_strenght; -/** @const int Maximum number of bytes in encryption chunk */ - const BYTE_LIMIT = 16; -/** - * Class constructor - * It initialize cipher object with proper key lenght. By default it uses 128bit. - * @param int Key strength, Takes AES Class const values - * @see AES::AES128 - */ - public function __construct($strength=AES::AES128) { - $this->_cipher = new AES($strength); - $this->_strenght = $strength; - } -/** - * Generates Hexadecimal key from inserted pass phrase - * @param string Pass phrase - * @return string Hexadecimal key - */ - private function _generateKey($password) { - switch ($this->_strenght) { - case AES::AES256: - return md5($password).md5($password.'1'); - case AES::AES192: - return sha1($password); - case AES::AES128: - default: - return md5($password); - } - } -/** - * Encrypt method - * @param string input string - * @param string Pass phrase - * @return string Cryptext - */ - public function encrypt($content, $password) { - $key = $this->_generateKey($password); - $input = str_split($this->_cipher->stringToHex($content), self::BYTE_LIMIT*2); - $output = ''; - foreach ($input as $chunk) - $output .= $this->_cipher->encrypt($chunk, $key); - return $this->_cipher->hexToString($output); - } -/** - * Decrypt method - * @param string Cryptext - * @param string Pass phrase - * @return string Decoded message - */ - public function decrypt($cryptext, $password) { - $key = $this->_generateKey($password); - $input = str_split($this->_cipher->stringToHex($cryptext), self::BYTE_LIMIT*2); - $output = ''; - foreach ($input as $chunk) - $output .= $this->_cipher->decrypt($chunk, $key); - return $this->_cipher->hexToString($output); - } -} -?> \ No newline at end of file diff --git a/lib/camupload.php b/lib/camupload.php deleted file mode 100644 index ad1b22d..0000000 --- a/lib/camupload.php +++ /dev/null @@ -1,10 +0,0 @@ - \ No newline at end of file diff --git a/lib/mpdf/classes/barcode.php b/lib/mpdf/classes/barcode.php deleted file mode 100644 index 9a28a86..0000000 --- a/lib/mpdf/classes/barcode.php +++ /dev/null @@ -1,1972 +0,0 @@ -. -// -// See LICENSE.TXT file for more information. -// ---------------------------------------------------------------------------- -// -// Description : PHP class to creates array representations for -// common 1D barcodes to be used with TCPDF. -// -// Author: Nicola Asuni -// -// (c) Copyright: -// Nicola Asuni -// Tecnick.com S.r.l. -// Via della Pace, 11 -// 09044 Quartucciu (CA) -// ITALY -// www.tecnick.com -// info@tecnick.com -//============================================================+ - -class PDFBarcode { - - protected $barcode_array; - protected $gapwidth; - protected $print_ratio; - protected $daft; - - public function __construct() { - - } - - public function getBarcodeArray($code, $type, $pr='') { - $this->setBarcode($code, $type, $pr); - return $this->barcode_array; - } - public function getChecksum($code, $type) { - $this->setBarcode($code, $type); - if (!$this->barcode_array) { return ''; } - else { return $this->barcode_array['checkdigit']; } - } - - public function setBarcode($code, $type, $pr='') { - $this->print_ratio = 1; - switch (strtoupper($type)) { - case 'ISBN': - case 'ISSN': - case 'EAN13': { // EAN 13 - $arrcode = $this->barcode_eanupc($code, 13); - $arrcode['lightmL'] = 11; // LEFT light margin = x X-dim (http://www.gs1uk.org) - $arrcode['lightmR'] = 7; // RIGHT light margin = x X-dim (http://www.gs1uk.org) - $arrcode['nom-X'] = 0.33; // Nominal value for X-dim in mm (http://www.gs1uk.org) - $arrcode['nom-H'] = 25.93; // Nominal bar height in mm incl. numerals (http://www.gs1uk.org) - break; - } - case 'UPCA': { // UPC-A - $arrcode = $this->barcode_eanupc($code, 12); - $arrcode['lightmL'] = 9; // LEFT light margin = x X-dim (http://www.gs1uk.org) - $arrcode['lightmR'] = 9; // RIGHT light margin = x X-dim (http://www.gs1uk.org) - $arrcode['nom-X'] = 0.33; // Nominal value for X-dim in mm (http://www.gs1uk.org) - $arrcode['nom-H'] = 25.91; // Nominal bar height in mm incl. numerals (http://www.gs1uk.org) - break; - } - case 'UPCE': { // UPC-E - $arrcode = $this->barcode_eanupc($code, 6); - $arrcode['lightmL'] = 9; // LEFT light margin = x X-dim (http://www.gs1uk.org) - $arrcode['lightmR'] = 7; // RIGHT light margin = x X-dim (http://www.gs1uk.org) - $arrcode['nom-X'] = 0.33; // Nominal value for X-dim in mm (http://www.gs1uk.org) - $arrcode['nom-H'] = 25.93; // Nominal bar height in mm incl. numerals (http://www.gs1uk.org) - break; - } - case 'EAN8': { // EAN 8 - $arrcode = $this->barcode_eanupc($code, 8); - $arrcode['lightmL'] = 7; // LEFT light margin = x X-dim (http://www.gs1uk.org) - $arrcode['lightmR'] = 7; // RIGHT light margin = x X-dim (http://www.gs1uk.org) - $arrcode['nom-X'] = 0.33; // Nominal value for X-dim in mm (http://www.gs1uk.org) - $arrcode['nom-H'] = 21.64; // Nominal bar height in mm incl. numerals (http://www.gs1uk.org) - break; - } - case 'EAN2': { // 2-Digits UPC-Based Extention - $arrcode = $this->barcode_eanext($code, 2); - $arrcode['lightmL'] = 7; // LEFT light margin = x X-dim (estimated) - $arrcode['lightmR'] = 7; // RIGHT light margin = x X-dim (estimated) - $arrcode['sepM'] = 9; // SEPARATION margin = x X-dim (http://web.archive.org/web/19990501035133/http://www.uc-council.org/d36-d.htm) - $arrcode['nom-X'] = 0.33; // Nominal value for X-dim in mm (http://www.gs1uk.org) - $arrcode['nom-H'] = 20; // Nominal bar height in mm incl. numerals (estimated) not used when combined - break; - } - case 'EAN5': { // 5-Digits UPC-Based Extention - $arrcode = $this->barcode_eanext($code, 5); - $arrcode['lightmL'] = 7; // LEFT light margin = x X-dim (estimated) - $arrcode['lightmR'] = 7; // RIGHT light margin = x X-dim (estimated) - $arrcode['sepM'] = 9; // SEPARATION margin = x X-dim (http://web.archive.org/web/19990501035133/http://www.uc-council.org/d36-d.htm) - $arrcode['nom-X'] = 0.33; // Nominal value for X-dim in mm (http://www.gs1uk.org) - $arrcode['nom-H'] = 20; // Nominal bar height in mm incl. numerals (estimated) not used when combined - break; - } - - case 'IMB': { // IMB - Intelligent Mail Barcode - Onecode - USPS-B-3200 - $xdim = 0.508; // Nominal value for X-dim (bar width) in mm (spec.) - $bpi = 22; // Bars per inch - // Ratio of Nominal value for width of spaces in mm / Nominal value for X-dim (bar width) in mm based on bars per inch - $this->gapwidth = ((25.4/$bpi) - $xdim)/$xdim; - $this->daft = array('D'=>2, 'A'=>2, 'F'=>3, 'T'=>1); // Descender; Ascender; Full; Tracker bar heights - $arrcode = $this->barcode_imb($code); - $arrcode['nom-X'] = $xdim ; - $arrcode['nom-H'] = 3.68; // Nominal value for Height of Full bar in mm (spec.) - // USPS-B-3200 Revision C = 4.623 - // USPS-B-3200 Revision E = 3.68 - $arrcode['quietL'] = 3.175; // LEFT Quiet margin = mm (spec.) - $arrcode['quietR'] = 3.175; // RIGHT Quiet margin = mm (spec.) - $arrcode['quietTB'] = 0.711; // TOP/BOTTOM Quiet margin = mm (spec.) - break; - } - case 'RM4SCC': { // RM4SCC (Royal Mail 4-state Customer Code) - CBC (Customer Bar Code) - $xdim = 0.508; // Nominal value for X-dim (bar width) in mm (spec.) - $bpi = 22; // Bars per inch - // Ratio of Nominal value for width of spaces in mm / Nominal value for X-dim (bar width) in mm based on bars per inch - $this->gapwidth = ((25.4/$bpi) - $xdim)/$xdim; - $this->daft = array('D'=>5, 'A'=>5, 'F'=>8, 'T'=>2); // Descender; Ascender; Full; Tracker bar heights - $arrcode = $this->barcode_rm4scc($code, false); - $arrcode['nom-X'] = $xdim ; - $arrcode['nom-H'] = 5.0; // Nominal value for Height of Full bar in mm (spec.) - $arrcode['quietL'] = 2; // LEFT Quiet margin = mm (spec.) - $arrcode['quietR'] = 2; // RIGHT Quiet margin = mm (spec.) - $arrcode['quietTB'] = 2; // TOP/BOTTOM Quiet margin = mm (spec?) - break; - } - case 'KIX': { // KIX (Klant index - Customer index) - $xdim = 0.508; // Nominal value for X-dim (bar width) in mm (spec.) - $bpi = 22; // Bars per inch - // Ratio of Nominal value for width of spaces in mm / Nominal value for X-dim (bar width) in mm based on bars per inch - $this->gapwidth = ((25.4/$bpi) - $xdim)/$xdim; - $this->daft = array('D'=>5, 'A'=>5, 'F'=>8, 'T'=>2); // Descender; Ascender; Full; Tracker bar heights - $arrcode = $this->barcode_rm4scc($code, true); - $arrcode['nom-X'] = $xdim ; - $arrcode['nom-H'] = 5.0; // Nominal value for Height of Full bar in mm (? spec.) - $arrcode['quietL'] = 2; // LEFT Quiet margin = mm (spec.) - $arrcode['quietR'] = 2; // RIGHT Quiet margin = mm (spec.) - $arrcode['quietTB'] = 2; // TOP/BOTTOM Quiet margin = mm (spec.) - break; - } - case 'POSTNET': { // POSTNET - $xdim = 0.508; // Nominal value for X-dim (bar width) in mm (spec.) - $bpi = 22; // Bars per inch - // Ratio of Nominal value for width of spaces in mm / Nominal value for X-dim (bar width) in mm based on bars per inch - $this->gapwidth = ((25.4/$bpi) - $xdim)/$xdim; - $arrcode = $this->barcode_postnet($code, false); - $arrcode['nom-X'] = $xdim ; - $arrcode['nom-H'] = 3.175; // Nominal value for Height of Full bar in mm (spec.) - $arrcode['quietL'] = 3.175; // LEFT Quiet margin = mm (?spec.) - $arrcode['quietR'] = 3.175; // RIGHT Quiet margin = mm (?spec.) - $arrcode['quietTB'] = 1.016; // TOP/BOTTOM Quiet margin = mm (?spec.) - break; - } - case 'PLANET': { // PLANET - $xdim = 0.508; // Nominal value for X-dim (bar width) in mm (spec.) - $bpi = 22; // Bars per inch - // Ratio of Nominal value for width of spaces in mm / Nominal value for X-dim (bar width) in mm based on bars per inch - $this->gapwidth = ((25.4/$bpi) - $xdim)/$xdim; - $arrcode = $this->barcode_postnet($code, true); - $arrcode['nom-X'] = $xdim ; - $arrcode['nom-H'] = 3.175; // Nominal value for Height of Full bar in mm (spec.) - $arrcode['quietL'] = 3.175; // LEFT Quiet margin = mm (?spec.) - $arrcode['quietR'] = 3.175; // RIGHT Quiet margin = mm (?spec.) - $arrcode['quietTB'] = 1.016; // TOP/BOTTOM Quiet margin = mm (?spec.) - break; - } - - case 'C93': { // CODE 93 - USS-93 - $arrcode = $this->barcode_code93($code); - if ($arrcode == false) { break; } - $arrcode['nom-X'] = 0.381; // Nominal value for X-dim (bar width) in mm (2 X min. spec.) - $arrcode['nom-H'] = 10; // Nominal value for Height of Full bar in mm (non-spec.) - $arrcode['lightmL'] = 10; // LEFT light margin = x X-dim (spec.) - $arrcode['lightmR'] = 10; // RIGHT light margin = x X-dim (spec.) - $arrcode['lightTB'] = 0; // TOP/BOTTOM light margin = x X-dim (non-spec.) - break; - } - case 'CODE11': { // CODE 11 - if ($pr > 0) { $this->print_ratio = $pr; } - else { $this->print_ratio = 3; } // spec: Pr= 1:2.24 - 1:3.5 - $arrcode = $this->barcode_code11($code); - if ($arrcode == false) { break; } - $arrcode['nom-X'] = 0.381; // Nominal value for X-dim (bar width) in mm (2 X min. spec.) - $arrcode['nom-H'] = 10; // Nominal value for Height of Full bar in mm (non-spec.) - $arrcode['lightmL'] = 10; // LEFT light margin = x X-dim (spec.) - $arrcode['lightmR'] = 10; // RIGHT light margin = x X-dim (spec.) - $arrcode['lightTB'] = 0; // TOP/BOTTOM light margin = x X-dim (non-spec.) - break; - } - case 'MSI': // MSI (Variation of Plessey code) - case 'MSI+': { // MSI + CHECKSUM (modulo 11) - if (strtoupper($type)=='MSI') { $arrcode = $this->barcode_msi($code, false); } - if (strtoupper($type)=='MSI+') { $arrcode = $this->barcode_msi($code, true); } - if ($arrcode == false) { break; } - $arrcode['nom-X'] = 0.381; // Nominal value for X-dim (bar width) in mm (2 X min. spec.) - $arrcode['nom-H'] = 10; // Nominal value for Height of Full bar in mm (non-spec.) - $arrcode['lightmL'] = 12; // LEFT light margin = x X-dim (spec.) - $arrcode['lightmR'] = 12; // RIGHT light margin = x X-dim (spec.) - $arrcode['lightTB'] = 0; // TOP/BOTTOM light margin = x X-dim (non-spec.) - break; - } - case 'CODABAR': { // CODABAR - if ($pr > 0) { $this->print_ratio = $pr; } - else { $this->print_ratio = 2.5; } // spec: Pr= 1:2 - 1:3 (>2.2 if X<0.50) - if (strtoupper($type)=='CODABAR') { $arrcode = $this->barcode_codabar($code); } - if ($arrcode == false) { break; } - $arrcode['nom-X'] = 0.381; // Nominal value for X-dim (bar width) in mm (2 X min. spec.) - $arrcode['nom-H'] = 10; // Nominal value for Height of Full bar in mm (non-spec.) - $arrcode['lightmL'] = 10; // LEFT light margin = x X-dim (spec.) - $arrcode['lightmR'] = 10; // RIGHT light margin = x X-dim (spec.) - $arrcode['lightTB'] = 0; // TOP/BOTTOM light margin = x X-dim (non-spec.) - break; - } - case 'C128A': // CODE 128 A - case 'C128B': // CODE 128 B - case 'C128C': // CODE 128 C - case 'EAN128A': // EAN 128 A - case 'EAN128B': // EAN 128 B - case 'EAN128C': { // EAN 128 C - if (strtoupper($type)=='C128A') { $arrcode = $this->barcode_c128($code, 'A'); } - if (strtoupper($type)=='C128B') { $arrcode = $this->barcode_c128($code, 'B'); } - if (strtoupper($type)=='C128C') { $arrcode = $this->barcode_c128($code, 'C'); } - if (strtoupper($type)=='EAN128A') { $arrcode = $this->barcode_c128($code, 'A', true); } - if (strtoupper($type)=='EAN128B') { $arrcode = $this->barcode_c128($code, 'B', true); } - if (strtoupper($type)=='EAN128C') { $arrcode = $this->barcode_c128($code, 'C', true); } - if ($arrcode == false) { break; } - $arrcode['nom-X'] = 0.381; // Nominal value for X-dim (bar width) in mm (2 X min. spec.) - $arrcode['nom-H'] = 10; // Nominal value for Height of Full bar in mm (non-spec.) - $arrcode['lightmL'] = 10; // LEFT light margin = x X-dim (spec.) - $arrcode['lightmR'] = 10; // RIGHT light margin = x X-dim (spec.) - $arrcode['lightTB'] = 0; // TOP/BOTTOM light margin = x X-dim (non-spec.) - break; - } - case 'C39': // CODE 39 - ANSI MH10.8M-1983 - USD-3 - 3 of 9. - case 'C39+': // CODE 39 with checksum - case 'C39E': // CODE 39 EXTENDED - case 'C39E+': { // CODE 39 EXTENDED + CHECKSUM - if ($pr > 0) { $this->print_ratio = $pr; } - else { $this->print_ratio = 2.5; } // spec: Pr= 1:2 - 1:3 (>2.2 if X<0.50) - $code = str_replace(chr(194).chr(160), ' ', $code); // mPDF 5.3.95 (for utf-8 encoded) - $code = str_replace(chr(160), ' ', $code); // mPDF 5.3.95 (for win-1252) - if (strtoupper($type)=='C39') { $arrcode = $this->barcode_code39($code, false, false); } - if (strtoupper($type)=='C39+') { $arrcode = $this->barcode_code39($code, false, true); } - if (strtoupper($type)=='C39E') { $arrcode = $this->barcode_code39($code, true, false); } - if (strtoupper($type)=='C39E+') { $arrcode = $this->barcode_code39($code, true, true); } - if ($arrcode == false) { break; } - $arrcode['nom-X'] = 0.381; // Nominal value for X-dim (bar width) in mm (2 X min. spec.) - $arrcode['nom-H'] = 10; // Nominal value for Height of Full bar in mm (non-spec.) - $arrcode['lightmL'] = 10; // LEFT light margin = x X-dim (spec.) - $arrcode['lightmR'] = 10; // RIGHT light margin = x X-dim (spec.) - $arrcode['lightTB'] = 0; // TOP/BOTTOM light margin = x X-dim (non-spec.) - break; - } - case 'S25': // Standard 2 of 5 - case 'S25+': { // Standard 2 of 5 + CHECKSUM - if ($pr > 0) { $this->print_ratio = $pr; } - else { $this->print_ratio = 3; } // spec: Pr=1:3/1:4.5 - if (strtoupper($type)=='S25') { $arrcode = $this->barcode_s25($code, false); } - if (strtoupper($type)=='S25+') { $arrcode = $this->barcode_s25($code, true); } - if ($arrcode == false) { break; } - $arrcode['nom-X'] = 0.381; // Nominal value for X-dim (bar width) in mm (2 X min. spec.) - $arrcode['nom-H'] = 10; // Nominal value for Height of Full bar in mm (non-spec.) - $arrcode['lightmL'] = 10; // LEFT light margin = x X-dim (spec.) - $arrcode['lightmR'] = 10; // RIGHT light margin = x X-dim (spec.) - $arrcode['lightTB'] = 0; // TOP/BOTTOM light margin = x X-dim (non-spec.) - break; - } - case 'I25': // Interleaved 2 of 5 - case 'I25+': { // Interleaved 2 of 5 + CHECKSUM - if ($pr > 0) { $this->print_ratio = $pr; } - else { $this->print_ratio = 2.5; } // spec: Pr= 1:2 - 1:3 (>2.2 if X<0.50) - if (strtoupper($type)=='I25') { $arrcode = $this->barcode_i25($code, false); } - if (strtoupper($type)=='I25+') { $arrcode = $this->barcode_i25($code, true); } - if ($arrcode == false) { break; } - $arrcode['nom-X'] = 0.381; // Nominal value for X-dim (bar width) in mm (2 X min. spec.) - $arrcode['nom-H'] = 10; // Nominal value for Height of Full bar in mm (non-spec.) - $arrcode['lightmL'] = 10; // LEFT light margin = x X-dim (spec.) - $arrcode['lightmR'] = 10; // RIGHT light margin = x X-dim (spec.) - $arrcode['lightTB'] = 0; // TOP/BOTTOM light margin = x X-dim (non-spec.) - break; - } - case 'I25B': // Interleaved 2 of 5 + Bearer bars - case 'I25B+': { // Interleaved 2 of 5 + CHECKSUM + Bearer bars - if ($pr > 0) { $this->print_ratio = $pr; } - else { $this->print_ratio = 2.5; } // spec: Pr= 1:2 - 1:3 (>2.2 if X<0.50) - if (strtoupper($type)=='I25B') { $arrcode = $this->barcode_i25($code, false); } - if (strtoupper($type)=='I25B+') { $arrcode = $this->barcode_i25($code, true); } - if ($arrcode == false) { break; } - $arrcode['nom-X'] = 0.381; // Nominal value for X-dim (bar width) in mm (2 X min. spec.) - $arrcode['nom-H'] = 10; // Nominal value for Height of Full bar in mm (non-spec.) - $arrcode['lightmL'] = 10; // LEFT light margin = x X-dim (spec.) - $arrcode['lightmR'] = 10; // RIGHT light margin = x X-dim (spec.) - $arrcode['lightTB'] = 2; // TOP/BOTTOM light margin = x X-dim (non-spec.) - used for bearer bars - break; - } - default: { - $this->barcode_array = false; - } - } - $this->barcode_array = $arrcode; - } - - /** - * CODE 39 - ANSI MH10.8M-1983 - USD-3 - 3 of 9. - */ - protected function barcode_code39($code, $extended=false, $checksum=false) { - $chr['0'] = '111221211'; - $chr['1'] = '211211112'; - $chr['2'] = '112211112'; - $chr['3'] = '212211111'; - $chr['4'] = '111221112'; - $chr['5'] = '211221111'; - $chr['6'] = '112221111'; - $chr['7'] = '111211212'; - $chr['8'] = '211211211'; - $chr['9'] = '112211211'; - $chr['A'] = '211112112'; - $chr['B'] = '112112112'; - $chr['C'] = '212112111'; - $chr['D'] = '111122112'; - $chr['E'] = '211122111'; - $chr['F'] = '112122111'; - $chr['G'] = '111112212'; - $chr['H'] = '211112211'; - $chr['I'] = '112112211'; - $chr['J'] = '111122211'; - $chr['K'] = '211111122'; - $chr['L'] = '112111122'; - $chr['M'] = '212111121'; - $chr['N'] = '111121122'; - $chr['O'] = '211121121'; - $chr['P'] = '112121121'; - $chr['Q'] = '111111222'; - $chr['R'] = '211111221'; - $chr['S'] = '112111221'; - $chr['T'] = '111121221'; - $chr['U'] = '221111112'; - $chr['V'] = '122111112'; - $chr['W'] = '222111111'; - $chr['X'] = '121121112'; - $chr['Y'] = '221121111'; - $chr['Z'] = '122121111'; - $chr['-'] = '121111212'; - $chr['.'] = '221111211'; - $chr[' '] = '122111211'; - $chr['$'] = '121212111'; - $chr['/'] = '121211121'; - $chr['+'] = '121112121'; - $chr['%'] = '111212121'; - $chr['*'] = '121121211'; - - $code = strtoupper($code); - $checkdigit = ''; - if ($extended) { - // extended mode - $code = $this->encode_code39_ext($code); - } - if ($code === false) { - return false; - } - if ($checksum) { - // checksum - $checkdigit = $this->checksum_code39($code); - $code .= $checkdigit ; - } - // add start and stop codes - $code = '*'.$code.'*'; - - $bararray = array('code' => $code, 'maxw' => 0, 'maxh' => 1, 'bcode' => array()); - $k = 0; - $clen = strlen($code); - for ($i = 0; $i < $clen; ++$i) { - $char = $code[$i]; - if(!isset($chr[$char])) { - // invalid character - return false; - } - for ($j = 0; $j < 9; ++$j) { - if (($j % 2) == 0) { - $t = true; // bar - } else { - $t = false; // space - } - $x = $chr[$char][$j]; - if ($x == 2) { $w = $this->print_ratio; } - else { $w = 1; } - - $bararray['bcode'][$k] = array('t' => $t, 'w' => $w, 'h' => 1, 'p' => 0); - $bararray['maxw'] += $w; - ++$k; - } - $bararray['bcode'][$k] = array('t' => false, 'w' => 1, 'h' => 1, 'p' => 0); - $bararray['maxw'] += 1; - ++$k; - } - $bararray['checkdigit'] = $checkdigit; - return $bararray; - } - - /** - * Encode a string to be used for CODE 39 Extended mode. - */ - protected function encode_code39_ext($code) { - $encode = array( - chr(0) => '%U', chr(1) => '$A', chr(2) => '$B', chr(3) => '$C', - chr(4) => '$D', chr(5) => '$E', chr(6) => '$F', chr(7) => '$G', - chr(8) => '$H', chr(9) => '$I', chr(10) => '$J', chr(11) => '£K', - chr(12) => '$L', chr(13) => '$M', chr(14) => '$N', chr(15) => '$O', - chr(16) => '$P', chr(17) => '$Q', chr(18) => '$R', chr(19) => '$S', - chr(20) => '$T', chr(21) => '$U', chr(22) => '$V', chr(23) => '$W', - chr(24) => '$X', chr(25) => '$Y', chr(26) => '$Z', chr(27) => '%A', - chr(28) => '%B', chr(29) => '%C', chr(30) => '%D', chr(31) => '%E', - chr(32) => ' ', chr(33) => '/A', chr(34) => '/B', chr(35) => '/C', - chr(36) => '/D', chr(37) => '/E', chr(38) => '/F', chr(39) => '/G', - chr(40) => '/H', chr(41) => '/I', chr(42) => '/J', chr(43) => '/K', - chr(44) => '/L', chr(45) => '-', chr(46) => '.', chr(47) => '/O', - chr(48) => '0', chr(49) => '1', chr(50) => '2', chr(51) => '3', - chr(52) => '4', chr(53) => '5', chr(54) => '6', chr(55) => '7', - chr(56) => '8', chr(57) => '9', chr(58) => '/Z', chr(59) => '%F', - chr(60) => '%G', chr(61) => '%H', chr(62) => '%I', chr(63) => '%J', - chr(64) => '%V', chr(65) => 'A', chr(66) => 'B', chr(67) => 'C', - chr(68) => 'D', chr(69) => 'E', chr(70) => 'F', chr(71) => 'G', - chr(72) => 'H', chr(73) => 'I', chr(74) => 'J', chr(75) => 'K', - chr(76) => 'L', chr(77) => 'M', chr(78) => 'N', chr(79) => 'O', - chr(80) => 'P', chr(81) => 'Q', chr(82) => 'R', chr(83) => 'S', - chr(84) => 'T', chr(85) => 'U', chr(86) => 'V', chr(87) => 'W', - chr(88) => 'X', chr(89) => 'Y', chr(90) => 'Z', chr(91) => '%K', - chr(92) => '%L', chr(93) => '%M', chr(94) => '%N', chr(95) => '%O', - chr(96) => '%W', chr(97) => '+A', chr(98) => '+B', chr(99) => '+C', - chr(100) => '+D', chr(101) => '+E', chr(102) => '+F', chr(103) => '+G', - chr(104) => '+H', chr(105) => '+I', chr(106) => '+J', chr(107) => '+K', - chr(108) => '+L', chr(109) => '+M', chr(110) => '+N', chr(111) => '+O', - chr(112) => '+P', chr(113) => '+Q', chr(114) => '+R', chr(115) => '+S', - chr(116) => '+T', chr(117) => '+U', chr(118) => '+V', chr(119) => '+W', - chr(120) => '+X', chr(121) => '+Y', chr(122) => '+Z', chr(123) => '%P', - chr(124) => '%Q', chr(125) => '%R', chr(126) => '%S', chr(127) => '%T'); - $code_ext = ''; - $clen = strlen($code); - for ($i = 0 ; $i < $clen; ++$i) { - if (ord($code[$i]) > 127) { - return false; - } - $code_ext .= $encode[$code[$i]]; - } - return $code_ext; - } - - /** - * Calculate CODE 39 checksum (modulo 43). - */ - protected function checksum_code39($code) { - $chars = array( - '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', - 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', - 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', - 'W', 'X', 'Y', 'Z', '-', '.', ' ', '$', '/', '+', '%'); - $sum = 0; - $clen = strlen($code); - for ($i = 0 ; $i < $clen; ++$i) { - $k = array_keys($chars, $code[$i]); - $sum += $k[0]; - } - $j = ($sum % 43); - return $chars[$j]; - } - - /** - * CODE 93 - USS-93 - * Compact code similar to Code 39 - */ - protected function barcode_code93($code) { - $chr[48] = '131112'; // 0 - $chr[49] = '111213'; // 1 - $chr[50] = '111312'; // 2 - $chr[51] = '111411'; // 3 - $chr[52] = '121113'; // 4 - $chr[53] = '121212'; // 5 - $chr[54] = '121311'; // 6 - $chr[55] = '111114'; // 7 - $chr[56] = '131211'; // 8 - $chr[57] = '141111'; // 9 - $chr[65] = '211113'; // A - $chr[66] = '211212'; // B - $chr[67] = '211311'; // C - $chr[68] = '221112'; // D - $chr[69] = '221211'; // E - $chr[70] = '231111'; // F - $chr[71] = '112113'; // G - $chr[72] = '112212'; // H - $chr[73] = '112311'; // I - $chr[74] = '122112'; // J - $chr[75] = '132111'; // K - $chr[76] = '111123'; // L - $chr[77] = '111222'; // M - $chr[78] = '111321'; // N - $chr[79] = '121122'; // O - $chr[80] = '131121'; // P - $chr[81] = '212112'; // Q - $chr[82] = '212211'; // R - $chr[83] = '211122'; // S - $chr[84] = '211221'; // T - $chr[85] = '221121'; // U - $chr[86] = '222111'; // V - $chr[87] = '112122'; // W - $chr[88] = '112221'; // X - $chr[89] = '122121'; // Y - $chr[90] = '123111'; // Z - $chr[45] = '121131'; // - - $chr[46] = '311112'; // . - $chr[32] = '311211'; // - $chr[36] = '321111'; // $ - $chr[47] = '112131'; // / - $chr[43] = '113121'; // + - $chr[37] = '211131'; // % - $chr[128] = '121221'; // ($) - $chr[129] = '311121'; // (/) - $chr[130] = '122211'; // (+) - $chr[131] = '312111'; // (%) - $chr[42] = '111141'; // start-stop - $code = strtoupper($code); - $encode = array( - chr(0) => chr(131).'U', chr(1) => chr(128).'A', chr(2) => chr(128).'B', chr(3) => chr(128).'C', - chr(4) => chr(128).'D', chr(5) => chr(128).'E', chr(6) => chr(128).'F', chr(7) => chr(128).'G', - chr(8) => chr(128).'H', chr(9) => chr(128).'I', chr(10) => chr(128).'J', chr(11) => '£K', - chr(12) => chr(128).'L', chr(13) => chr(128).'M', chr(14) => chr(128).'N', chr(15) => chr(128).'O', - chr(16) => chr(128).'P', chr(17) => chr(128).'Q', chr(18) => chr(128).'R', chr(19) => chr(128).'S', - chr(20) => chr(128).'T', chr(21) => chr(128).'U', chr(22) => chr(128).'V', chr(23) => chr(128).'W', - chr(24) => chr(128).'X', chr(25) => chr(128).'Y', chr(26) => chr(128).'Z', chr(27) => chr(131).'A', - chr(28) => chr(131).'B', chr(29) => chr(131).'C', chr(30) => chr(131).'D', chr(31) => chr(131).'E', - chr(32) => ' ', chr(33) => chr(129).'A', chr(34) => chr(129).'B', chr(35) => chr(129).'C', - chr(36) => chr(129).'D', chr(37) => chr(129).'E', chr(38) => chr(129).'F', chr(39) => chr(129).'G', - chr(40) => chr(129).'H', chr(41) => chr(129).'I', chr(42) => chr(129).'J', chr(43) => chr(129).'K', - chr(44) => chr(129).'L', chr(45) => '-', chr(46) => '.', chr(47) => chr(129).'O', - chr(48) => '0', chr(49) => '1', chr(50) => '2', chr(51) => '3', - chr(52) => '4', chr(53) => '5', chr(54) => '6', chr(55) => '7', - chr(56) => '8', chr(57) => '9', chr(58) => chr(129).'Z', chr(59) => chr(131).'F', - chr(60) => chr(131).'G', chr(61) => chr(131).'H', chr(62) => chr(131).'I', chr(63) => chr(131).'J', - chr(64) => chr(131).'V', chr(65) => 'A', chr(66) => 'B', chr(67) => 'C', - chr(68) => 'D', chr(69) => 'E', chr(70) => 'F', chr(71) => 'G', - chr(72) => 'H', chr(73) => 'I', chr(74) => 'J', chr(75) => 'K', - chr(76) => 'L', chr(77) => 'M', chr(78) => 'N', chr(79) => 'O', - chr(80) => 'P', chr(81) => 'Q', chr(82) => 'R', chr(83) => 'S', - chr(84) => 'T', chr(85) => 'U', chr(86) => 'V', chr(87) => 'W', - chr(88) => 'X', chr(89) => 'Y', chr(90) => 'Z', chr(91) => chr(131).'K', - chr(92) => chr(131).'L', chr(93) => chr(131).'M', chr(94) => chr(131).'N', chr(95) => chr(131).'O', - chr(96) => chr(131).'W', chr(97) => chr(130).'A', chr(98) => chr(130).'B', chr(99) => chr(130).'C', - chr(100) => chr(130).'D', chr(101) => chr(130).'E', chr(102) => chr(130).'F', chr(103) => chr(130).'G', - chr(104) => chr(130).'H', chr(105) => chr(130).'I', chr(106) => chr(130).'J', chr(107) => chr(130).'K', - chr(108) => chr(130).'L', chr(109) => chr(130).'M', chr(110) => chr(130).'N', chr(111) => chr(130).'O', - chr(112) => chr(130).'P', chr(113) => chr(130).'Q', chr(114) => chr(130).'R', chr(115) => chr(130).'S', - chr(116) => chr(130).'T', chr(117) => chr(130).'U', chr(118) => chr(130).'V', chr(119) => chr(130).'W', - chr(120) => chr(130).'X', chr(121) => chr(130).'Y', chr(122) => chr(130).'Z', chr(123) => chr(131).'P', - chr(124) => chr(131).'Q', chr(125) => chr(131).'R', chr(126) => chr(131).'S', chr(127) => chr(131).'T'); - $code_ext = ''; - $clen = strlen($code); - for ($i = 0 ; $i < $clen; ++$i) { - if (ord($code{$i}) > 127) { - return false; - } - $code_ext .= $encode[$code{$i}]; - } - // checksum - $code_ext .= $this->checksum_code93($code_ext); - // add start and stop codes - $code = '*'.$code_ext.'*'; - $bararray = array('code' => $code, 'maxw' => 0, 'maxh' => 1, 'bcode' => array()); - $k = 0; - $clen = strlen($code); - for ($i = 0; $i < $clen; ++$i) { - $char = ord($code{$i}); - if(!isset($chr[$char])) { - // invalid character - return false; - } - for ($j = 0; $j < 6; ++$j) { - if (($j % 2) == 0) { - $t = true; // bar - } else { - $t = false; // space - } - $w = $chr[$char]{$j}; - $bararray['bcode'][$k] = array('t' => $t, 'w' => $w, 'h' => 1, 'p' => 0); - $bararray['maxw'] += $w; - ++$k; - } - } - $bararray['bcode'][$k] = array('t' => true, 'w' => 1, 'h' => 1, 'p' => 0); - $bararray['maxw'] += 1; - ++$k; - return $bararray; - } - - /** - * Calculate CODE 93 checksum (modulo 47). - */ - protected function checksum_code93($code) { - $chars = array( - '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', - 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', - 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', - 'W', 'X', 'Y', 'Z', '-', '.', ' ', '$', '/', '+', '%', - '<', '=', '>', '?'); - // translate special characters - $code = strtr($code, chr(128).chr(131).chr(129).chr(130), '<=>?'); - $len = strlen($code); - // calculate check digit C - $p = 1; - $check = 0; - for ($i = ($len - 1); $i >= 0; --$i) { - $k = array_keys($chars, $code{$i}); - $check += ($k[0] * $p); - ++$p; - if ($p > 20) { - $p = 1; - } - } - $check %= 47; - $c = $chars[$check]; - $code .= $c; - // calculate check digit K - $p = 1; - $check = 0; - for ($i = $len; $i >= 0; --$i) { - $k = array_keys($chars, $code{$i}); - $check += ($k[0] * $p); - ++$p; - if ($p > 15) { - $p = 1; - } - } - $check %= 47; - $k = $chars[$check]; - $checksum = $c.$k; - // resto respecial characters - $checksum = strtr($checksum, '<=>?', chr(128).chr(131).chr(129).chr(130)); - return $checksum; - } - - /** - * Checksum for standard 2 of 5 barcodes. - */ - protected function checksum_s25($code) { - $len = strlen($code); - $sum = 0; - for ($i = 0; $i < $len; $i+=2) { - $sum += $code[$i]; - } - $sum *= 3; - for ($i = 1; $i < $len; $i+=2) { - $sum += ($code[$i]); - } - $r = $sum % 10; - if($r > 0) { - $r = (10 - $r); - } - return $r; - } - - /** - * MSI. - * Variation of Plessey code, with similar applications - * Contains digits (0 to 9) and encodes the data only in the width of bars. - */ - protected function barcode_msi($code, $checksum=false) { - $chr['0'] = '100100100100'; - $chr['1'] = '100100100110'; - $chr['2'] = '100100110100'; - $chr['3'] = '100100110110'; - $chr['4'] = '100110100100'; - $chr['5'] = '100110100110'; - $chr['6'] = '100110110100'; - $chr['7'] = '100110110110'; - $chr['8'] = '110100100100'; - $chr['9'] = '110100100110'; - $chr['A'] = '110100110100'; - $chr['B'] = '110100110110'; - $chr['C'] = '110110100100'; - $chr['D'] = '110110100110'; - $chr['E'] = '110110110100'; - $chr['F'] = '110110110110'; - $checkdigit = ''; - if ($checksum) { - // add checksum - $clen = strlen($code); - $p = 2; - $check = 0; - for ($i = ($clen - 1); $i >= 0; --$i) { - $check += (hexdec($code[$i]) * $p); - ++$p; - if ($p > 7) { - $p = 2; - } - } - $check %= 11; - if ($check > 0) { - $check = 11 - $check; - } - $code .= $check; - $checkdigit = $check; - } - $seq = '110'; // left guard - $clen = strlen($code); - for ($i = 0; $i < $clen; ++$i) { - $digit = $code[$i]; - if (!isset($chr[$digit])) { - // invalid character - return false; - } - $seq .= $chr[$digit]; - } - $seq .= '1001'; // right guard - $bararray = array('code' => $code, 'maxw' => 0, 'maxh' => 1, 'bcode' => array()); - $bararray['checkdigit'] = $checkdigit; - return $this->binseq_to_array($seq, $bararray); - } - - /** - * Standard 2 of 5 barcodes. - * Used in airline ticket marking, photofinishing - * Contains digits (0 to 9) and encodes the data only in the width of bars. - */ - protected function barcode_s25($code, $checksum=false) { - $chr['0'] = '10101110111010'; - $chr['1'] = '11101010101110'; - $chr['2'] = '10111010101110'; - $chr['3'] = '11101110101010'; - $chr['4'] = '10101110101110'; - $chr['5'] = '11101011101010'; - $chr['6'] = '10111011101010'; - $chr['7'] = '10101011101110'; - $chr['8'] = '10101110111010'; - $chr['9'] = '10111010111010'; - $checkdigit = ''; - if ($checksum) { - // add checksum - $checkdigit = $this->checksum_s25($code); - $code .= $checkdigit ; - } - if((strlen($code) % 2) != 0) { - // add leading zero if code-length is odd - $code = '0'.$code; - } - $seq = '11011010'; - $clen = strlen($code); - for ($i = 0; $i < $clen; ++$i) { - $digit = $code[$i]; - if (!isset($chr[$digit])) { - // invalid character - return false; - } - $seq .= $chr[$digit]; - } - $seq .= '1101011'; - $bararray = array('code' => $code, 'maxw' => 0, 'maxh' => 1, 'bcode' => array()); - $bararray['checkdigit'] = $checkdigit; - return $this->binseq_to_array($seq, $bararray); - } - - /** - * Convert binary barcode sequence to barcode array - */ - protected function binseq_to_array($seq, $bararray) { - $len = strlen($seq); - $w = 0; - $k = 0; - for ($i = 0; $i < $len; ++$i) { - $w += 1; - if (($i == ($len - 1)) OR (($i < ($len - 1)) AND ($seq[$i] != $seq[($i+1)]))) { - if ($seq[$i] == '1') { - $t = true; // bar - } else { - $t = false; // space - } - $bararray['bcode'][$k] = array('t' => $t, 'w' => $w, 'h' => 1, 'p' => 0); - $bararray['maxw'] += $w; - ++$k; - $w = 0; - } - } - return $bararray; - } - - /** - * Interleaved 2 of 5 barcodes. - * Compact numeric code, widely used in industry, air cargo - * Contains digits (0 to 9) and encodes the data in the width of both bars and spaces. - */ - protected function barcode_i25($code, $checksum=false) { - $chr['0'] = '11221'; - $chr['1'] = '21112'; - $chr['2'] = '12112'; - $chr['3'] = '22111'; - $chr['4'] = '11212'; - $chr['5'] = '21211'; - $chr['6'] = '12211'; - $chr['7'] = '11122'; - $chr['8'] = '21121'; - $chr['9'] = '12121'; - $chr['A'] = '11'; - $chr['Z'] = '21'; - $checkdigit = ''; - if ($checksum) { - // add checksum - $checkdigit = $this->checksum_s25($code); - $code .= $checkdigit ; - } - if((strlen($code) % 2) != 0) { - // add leading zero if code-length is odd - $code = '0'.$code; - } - // add start and stop codes - $code = 'AA'.strtolower($code).'ZA'; - - $bararray = array('code' => $code, 'maxw' => 0, 'maxh' => 1, 'bcode' => array()); - $k = 0; - $clen = strlen($code); - for ($i = 0; $i < $clen; $i = ($i + 2)) { - $char_bar = $code[$i]; - $char_space = $code[$i+1]; - if((!isset($chr[$char_bar])) OR (!isset($chr[$char_space]))) { - // invalid character - return false; - } - // create a bar-space sequence - $seq = ''; - $chrlen = strlen($chr[$char_bar]); - for ($s = 0; $s < $chrlen; $s++){ - $seq .= $chr[$char_bar][$s] . $chr[$char_space][$s]; - } - $seqlen = strlen($seq); - for ($j = 0; $j < $seqlen; ++$j) { - if (($j % 2) == 0) { - $t = true; // bar - } else { - $t = false; // space - } - $x = $seq[$j]; - if ($x == 2) { $w = $this->print_ratio; } - else { $w = 1; } - - $bararray['bcode'][$k] = array('t' => $t, 'w' => $w, 'h' => 1, 'p' => 0); - $bararray['maxw'] += $w; - ++$k; - } - } - $bararray['checkdigit'] = $checkdigit; - return $bararray; - } - - /** - * C128 barcodes. - * Very capable code, excellent density, high reliability; in very wide use world-wide - */ - protected function barcode_c128($code, $type='B', $ean=false) { - $code = strcode2utf($code); // mPDF 5.7.1 Allows e.g. - $chr = array( - '212222', /* 00 */ - '222122', /* 01 */ - '222221', /* 02 */ - '121223', /* 03 */ - '121322', /* 04 */ - '131222', /* 05 */ - '122213', /* 06 */ - '122312', /* 07 */ - '132212', /* 08 */ - '221213', /* 09 */ - '221312', /* 10 */ - '231212', /* 11 */ - '112232', /* 12 */ - '122132', /* 13 */ - '122231', /* 14 */ - '113222', /* 15 */ - '123122', /* 16 */ - '123221', /* 17 */ - '223211', /* 18 */ - '221132', /* 19 */ - '221231', /* 20 */ - '213212', /* 21 */ - '223112', /* 22 */ - '312131', /* 23 */ - '311222', /* 24 */ - '321122', /* 25 */ - '321221', /* 26 */ - '312212', /* 27 */ - '322112', /* 28 */ - '322211', /* 29 */ - '212123', /* 30 */ - '212321', /* 31 */ - '232121', /* 32 */ - '111323', /* 33 */ - '131123', /* 34 */ - '131321', /* 35 */ - '112313', /* 36 */ - '132113', /* 37 */ - '132311', /* 38 */ - '211313', /* 39 */ - '231113', /* 40 */ - '231311', /* 41 */ - '112133', /* 42 */ - '112331', /* 43 */ - '132131', /* 44 */ - '113123', /* 45 */ - '113321', /* 46 */ - '133121', /* 47 */ - '313121', /* 48 */ - '211331', /* 49 */ - '231131', /* 50 */ - '213113', /* 51 */ - '213311', /* 52 */ - '213131', /* 53 */ - '311123', /* 54 */ - '311321', /* 55 */ - '331121', /* 56 */ - '312113', /* 57 */ - '312311', /* 58 */ - '332111', /* 59 */ - '314111', /* 60 */ - '221411', /* 61 */ - '431111', /* 62 */ - '111224', /* 63 */ - '111422', /* 64 */ - '121124', /* 65 */ - '121421', /* 66 */ - '141122', /* 67 */ - '141221', /* 68 */ - '112214', /* 69 */ - '112412', /* 70 */ - '122114', /* 71 */ - '122411', /* 72 */ - '142112', /* 73 */ - '142211', /* 74 */ - '241211', /* 75 */ - '221114', /* 76 */ - '413111', /* 77 */ - '241112', /* 78 */ - '134111', /* 79 */ - '111242', /* 80 */ - '121142', /* 81 */ - '121241', /* 82 */ - '114212', /* 83 */ - '124112', /* 84 */ - '124211', /* 85 */ - '411212', /* 86 */ - '421112', /* 87 */ - '421211', /* 88 */ - '212141', /* 89 */ - '214121', /* 90 */ - '412121', /* 91 */ - '111143', /* 92 */ - '111341', /* 93 */ - '131141', /* 94 */ - '114113', /* 95 */ - '114311', /* 96 */ - '411113', /* 97 */ - '411311', /* 98 */ - '113141', /* 99 */ - '114131', /* 100 */ - '311141', /* 101 */ - '411131', /* 102 */ - '211412', /* 103 START A */ - '211214', /* 104 START B */ - '211232', /* 105 START C */ - '233111', /* STOP */ - '200000' /* END */ - ); - $keys = ''; - switch(strtoupper($type)) { - case 'A': { - $startid = 103; - $keys = ' !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_'; - for ($i = 0; $i < 32; ++$i) { - $keys .= chr($i); - } - break; - } - case 'B': { - $startid = 104; - $keys = ' !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~'.chr(127); - break; - } - case 'C': { - $startid = 105; - $keys = ''; - if ((strlen($code) % 2) != 0) { - // The length of barcode value must be even ($code). You must pad the number with zeros - return false; - } - for ($i = 0; $i <= 99; ++$i) { - $keys .= chr($i); - } - $new_code = ''; - $hclen = (strlen($code) / 2); - for ($i = 0; $i < $hclen; ++$i) { - $new_code .= chr(intval($code{(2 * $i)}.$code{(2 * $i + 1)})); - } - $code = $new_code; - break; - } - default: { - return false; - } - } - - // calculate check character - $sum = $startid; - if ($ean) { $code = chr(102) . $code; } // Add FNC 1 - which identifies it as EAN-128 - $clen = strlen($code); - for ($i = 0; $i < $clen; ++$i) { - if ($ean && $i==0) { $sum += 102; } - else { $sum += (strpos($keys, $code[$i]) * ($i+1)); } - } - $check = ($sum % 103); - $checkdigit = $check ; - // add start, check and stop codes - $code = chr($startid).$code.chr($check).chr(106).chr(107); - $bararray = array('code' => $code, 'maxw' => 0, 'maxh' => 1, 'bcode' => array()); - $k = 0; - $len = strlen($code); - for ($i = 0; $i < $len; ++$i) { - $ck = strpos($keys, $code[$i]); - if (($i == 0) || ($ean && $i==1) | ($i > ($len-4))) { - $char_num = ord($code[$i]); - $seq = $chr[$char_num]; - } elseif(($ck >= 0) AND isset($chr[$ck])) { - $seq = $chr[$ck]; - } else { - // invalid character - return false; - } - for ($j = 0; $j < 6; ++$j) { - if (($j % 2) == 0) { - $t = true; // bar - } else { - $t = false; // space - } - $w = $seq[$j]; - $bararray['bcode'][$k] = array('t' => $t, 'w' => $w, 'h' => 1, 'p' => 0); - $bararray['maxw'] += $w; - ++$k; - } - } - $bararray['checkdigit'] = $checkdigit; - return $bararray; - } - - /** - * EAN13 and UPC-A barcodes. - * EAN13: European Article Numbering international retail product code - * UPC-A: Universal product code seen on almost all retail products in the USA and Canada - * UPC-E: Short version of UPC symbol - */ - protected function barcode_eanupc($code, $len=13) { - $upce = false; - $checkdigit = false; - if ($len == 6) { - $len = 12; // UPC-A - $upce = true; // UPC-E mode - } - $data_len = $len - 1; - //Padding - $code = str_pad($code, $data_len, '0', STR_PAD_LEFT); - $code_len = strlen($code); - // calculate check digit - $sum_a = 0; - for ($i = 1; $i < $data_len; $i+=2) { - $sum_a += $code[$i]; - } - if ($len > 12) { - $sum_a *= 3; - } - $sum_b = 0; - for ($i = 0; $i < $data_len; $i+=2) { - $sum_b += ($code[$i]); - } - if ($len < 13) { - $sum_b *= 3; - } - $r = ($sum_a + $sum_b) % 10; - if($r > 0) { - $r = (10 - $r); - } - if ($code_len == $data_len) { - // add check digit - $code .= $r; - $checkdigit = $r; - } elseif ($r !== intval($code[$data_len])) { - // wrong checkdigit - return false; - } - if ($len == 12) { - // UPC-A - $code = '0'.$code; - ++$len; - } - if ($upce) { - // convert UPC-A to UPC-E - $tmp = substr($code, 4, 3); - $prod_code = intval(substr($code,7,5)); // product code - $invalid_upce = false; - if (($tmp == '000') OR ($tmp == '100') OR ($tmp == '200')) { - // manufacturer code ends in 000, 100, or 200 - $upce_code = substr($code, 2, 2).substr($code, 9, 3).substr($code, 4, 1); - if ($prod_code > 999) { $invalid_upce = true; } - } else { - $tmp = substr($code, 5, 2); - if ($tmp == '00') { - // manufacturer code ends in 00 - $upce_code = substr($code, 2, 3).substr($code, 10, 2).'3'; - if ($prod_code > 99) { $invalid_upce = true; } - } else { - $tmp = substr($code, 6, 1); - if ($tmp == '0') { - // manufacturer code ends in 0 - $upce_code = substr($code, 2, 4).substr($code, 11, 1).'4'; - if ($prod_code > 9) { $invalid_upce = true; } - } else { - // manufacturer code does not end in zero - $upce_code = substr($code, 2, 5).substr($code, 11, 1); - if ($prod_code > 9) { $invalid_upce = true; } - } - } - } - if ($invalid_upce) { die("Error - UPC-A cannot produce a valid UPC-E barcode"); } // Error generating a UPCE code - } - //Convert digits to bars - $codes = array( - 'A'=>array( // left odd parity - '0'=>'0001101', - '1'=>'0011001', - '2'=>'0010011', - '3'=>'0111101', - '4'=>'0100011', - '5'=>'0110001', - '6'=>'0101111', - '7'=>'0111011', - '8'=>'0110111', - '9'=>'0001011'), - 'B'=>array( // left even parity - '0'=>'0100111', - '1'=>'0110011', - '2'=>'0011011', - '3'=>'0100001', - '4'=>'0011101', - '5'=>'0111001', - '6'=>'0000101', - '7'=>'0010001', - '8'=>'0001001', - '9'=>'0010111'), - 'C'=>array( // right - '0'=>'1110010', - '1'=>'1100110', - '2'=>'1101100', - '3'=>'1000010', - '4'=>'1011100', - '5'=>'1001110', - '6'=>'1010000', - '7'=>'1000100', - '8'=>'1001000', - '9'=>'1110100') - ); - $parities = array( - '0'=>array('A','A','A','A','A','A'), - '1'=>array('A','A','B','A','B','B'), - '2'=>array('A','A','B','B','A','B'), - '3'=>array('A','A','B','B','B','A'), - '4'=>array('A','B','A','A','B','B'), - '5'=>array('A','B','B','A','A','B'), - '6'=>array('A','B','B','B','A','A'), - '7'=>array('A','B','A','B','A','B'), - '8'=>array('A','B','A','B','B','A'), - '9'=>array('A','B','B','A','B','A') - ); - $upce_parities = array(); - $upce_parities[0] = array( - '0'=>array('B','B','B','A','A','A'), - '1'=>array('B','B','A','B','A','A'), - '2'=>array('B','B','A','A','B','A'), - '3'=>array('B','B','A','A','A','B'), - '4'=>array('B','A','B','B','A','A'), - '5'=>array('B','A','A','B','B','A'), - '6'=>array('B','A','A','A','B','B'), - '7'=>array('B','A','B','A','B','A'), - '8'=>array('B','A','B','A','A','B'), - '9'=>array('B','A','A','B','A','B') - ); - $upce_parities[1] = array( - '0'=>array('A','A','A','B','B','B'), - '1'=>array('A','A','B','A','B','B'), - '2'=>array('A','A','B','B','A','B'), - '3'=>array('A','A','B','B','B','A'), - '4'=>array('A','B','A','A','B','B'), - '5'=>array('A','B','B','A','A','B'), - '6'=>array('A','B','B','B','A','A'), - '7'=>array('A','B','A','B','A','B'), - '8'=>array('A','B','A','B','B','A'), - '9'=>array('A','B','B','A','B','A') - ); - $k = 0; - $seq = '101'; // left guard bar - if ($upce) { - $bararray = array('code' => $upce_code, 'maxw' => 0, 'maxh' => 1, 'bcode' => array()); - $p = $upce_parities[$code{1}][$r]; - for ($i = 0; $i < 6; ++$i) { - $seq .= $codes[$p[$i]][$upce_code[$i]]; - } - $seq .= '010101'; // right guard bar - } else { - $bararray = array('code' => $code, 'maxw' => 0, 'maxh' => 1, 'bcode' => array()); - $half_len = ceil($len / 2); - if ($len == 8) { - for ($i = 0; $i < $half_len; ++$i) { - $seq .= $codes['A'][$code[$i]]; - } - } else { - $p = $parities[$code{0}]; - for ($i = 1; $i < $half_len; ++$i) { - $seq .= $codes[$p[$i-1]][$code[$i]]; - } - } - $seq .= '01010'; // center guard bar - for ($i = $half_len; $i < $len; ++$i) { - $seq .= $codes['C'][$code[$i]]; - } - $seq .= '101'; // right guard bar - } - $clen = strlen($seq); - $w = 0; - for ($i = 0; $i < $clen; ++$i) { - $w += 1; - if (($i == ($clen - 1)) OR (($i < ($clen - 1)) AND ($seq[$i] != $seq[($i+1)]))) { - if ($seq[$i] == '1') { - $t = true; // bar - } else { - $t = false; // space - } - $bararray['bcode'][$k] = array('t' => $t, 'w' => $w, 'h' => 1, 'p' => 0); - $bararray['maxw'] += $w; - ++$k; - $w = 0; - } - } - $bararray['checkdigit'] = $checkdigit; - return $bararray; - } - - /** - * UPC-Based Extentions - * 2-Digit Ext.: Used to indicate magazines and newspaper issue numbers - * 5-Digit Ext.: Used to mark suggested retail price of books - */ - protected function barcode_eanext($code, $len=5) { - //Padding - $code = str_pad($code, $len, '0', STR_PAD_LEFT); - // calculate check digit - if ($len == 2) { - $r = $code % 4; - } elseif ($len == 5) { - $r = (3 * ($code{0} + $code{2} + $code{4})) + (9 * ($code{1} + $code{3})); - $r %= 10; - } else { - return false; - } - //Convert digits to bars - $codes = array( - 'A'=>array( // left odd parity - '0'=>'0001101', - '1'=>'0011001', - '2'=>'0010011', - '3'=>'0111101', - '4'=>'0100011', - '5'=>'0110001', - '6'=>'0101111', - '7'=>'0111011', - '8'=>'0110111', - '9'=>'0001011'), - 'B'=>array( // left even parity - '0'=>'0100111', - '1'=>'0110011', - '2'=>'0011011', - '3'=>'0100001', - '4'=>'0011101', - '5'=>'0111001', - '6'=>'0000101', - '7'=>'0010001', - '8'=>'0001001', - '9'=>'0010111') - ); - $parities = array(); - $parities[2] = array( - '0'=>array('A','A'), - '1'=>array('A','B'), - '2'=>array('B','A'), - '3'=>array('B','B') - ); - $parities[5] = array( - '0'=>array('B','B','A','A','A'), - '1'=>array('B','A','B','A','A'), - '2'=>array('B','A','A','B','A'), - '3'=>array('B','A','A','A','B'), - '4'=>array('A','B','B','A','A'), - '5'=>array('A','A','B','B','A'), - '6'=>array('A','A','A','B','B'), - '7'=>array('A','B','A','B','A'), - '8'=>array('A','B','A','A','B'), - '9'=>array('A','A','B','A','B') - ); - $p = $parities[$len][$r]; - $seq = '1011'; // left guard bar - $seq .= $codes[$p[0]][$code{0}]; - for ($i = 1; $i < $len; ++$i) { - $seq .= '01'; // separator - $seq .= $codes[$p[$i]][$code[$i]]; - } - $bararray = array('code' => $code, 'maxw' => 0, 'maxh' => 1, 'bcode' => array()); - return $this->binseq_to_array($seq, $bararray); - } - - /** - * POSTNET and PLANET barcodes. - * Used by U.S. Postal Service for automated mail sorting - */ - protected function barcode_postnet($code, $planet=false) { - // bar lenght - if ($planet) { - $barlen = Array( - 0 => Array(1,1,2,2,2), - 1 => Array(2,2,2,1,1), - 2 => Array(2,2,1,2,1), - 3 => Array(2,2,1,1,2), - 4 => Array(2,1,2,2,1), - 5 => Array(2,1,2,1,2), - 6 => Array(2,1,1,2,2), - 7 => Array(1,2,2,2,1), - 8 => Array(1,2,2,1,2), - 9 => Array(1,2,1,2,2) - ); - } else { - $barlen = Array( - 0 => Array(2,2,1,1,1), - 1 => Array(1,1,1,2,2), - 2 => Array(1,1,2,1,2), - 3 => Array(1,1,2,2,1), - 4 => Array(1,2,1,1,2), - 5 => Array(1,2,1,2,1), - 6 => Array(1,2,2,1,1), - 7 => Array(2,1,1,1,2), - 8 => Array(2,1,1,2,1), - 9 => Array(2,1,2,1,1) - ); - } - $bararray = array('code' => $code, 'maxw' => 0, 'maxh' => 5, 'bcode' => array()); - $k = 0; - $code = str_replace('-', '', $code); - $code = str_replace(' ', '', $code); - $len = strlen($code); - // calculate checksum - $sum = 0; - for ($i = 0; $i < $len; ++$i) { - $sum += intval($code[$i]); - } - $chkd = ($sum % 10); - if($chkd > 0) { - $chkd = (10 - $chkd); - } - $code .= $chkd; - $checkdigit = $chkd; - $len = strlen($code); - // start bar - $bararray['bcode'][$k++] = array('t' => 1, 'w' => 1, 'h' => 5, 'p' => 0); - $bararray['bcode'][$k++] = array('t' => 0, 'w' => $this->gapwidth , 'h' => 5, 'p' => 0); - $bararray['maxw'] += (1 + $this->gapwidth ); - for ($i = 0; $i < $len; ++$i) { - for ($j = 0; $j < 5; ++$j) { - $bh = $barlen[$code[$i]][$j]; - if ($bh == 2) { - $h = 5; - $p = 0; - } - else { - $h = 2; - $p = 3; - } - $bararray['bcode'][$k++] = array('t' => 1, 'w' => 1, 'h' => $h, 'p' => $p); - $bararray['bcode'][$k++] = array('t' => 0, 'w' => $this->gapwidth , 'h' => 2, 'p' => 0); - $bararray['maxw'] += (1 + $this->gapwidth ); - } - } - // end bar - $bararray['bcode'][$k++] = array('t' => 1, 'w' => 1, 'h' => 5, 'p' => 0); - $bararray['maxw'] += 1; - $bararray['checkdigit'] = $checkdigit; - return $bararray; - } - - /** - * RM4SCC - CBC - KIX - * RM4SCC (Royal Mail 4-state Customer Code) - CBC (Customer Bar Code) - KIX (Klant index - Customer index) - * RM4SCC is the name of the barcode symbology used by the Royal Mail for its Cleanmail service. - */ - protected function barcode_rm4scc($code, $kix=false) { - $notkix = !$kix; - // bar mode - // 1 = pos 1, length 2 - // 2 = pos 1, length 3 - // 3 = pos 2, length 1 - // 4 = pos 2, length 2 - $barmode = array( - '0' => array(3,3,2,2), - '1' => array(3,4,1,2), - '2' => array(3,4,2,1), - '3' => array(4,3,1,2), - '4' => array(4,3,2,1), - '5' => array(4,4,1,1), - '6' => array(3,1,4,2), - '7' => array(3,2,3,2), - '8' => array(3,2,4,1), - '9' => array(4,1,3,2), - 'A' => array(4,1,4,1), - 'B' => array(4,2,3,1), - 'C' => array(3,1,2,4), - 'D' => array(3,2,1,4), - 'E' => array(3,2,2,3), - 'F' => array(4,1,1,4), - 'G' => array(4,1,2,3), - 'H' => array(4,2,1,3), - 'I' => array(1,3,4,2), - 'J' => array(1,4,3,2), - 'K' => array(1,4,4,1), - 'L' => array(2,3,3,2), - 'M' => array(2,3,4,1), - 'N' => array(2,4,3,1), - 'O' => array(1,3,2,4), - 'P' => array(1,4,1,4), - 'Q' => array(1,4,2,3), - 'R' => array(2,3,1,4), - 'S' => array(2,3,2,3), - 'T' => array(2,4,1,3), - 'U' => array(1,1,4,4), - 'V' => array(1,2,3,4), - 'W' => array(1,2,4,3), - 'X' => array(2,1,3,4), - 'Y' => array(2,1,4,3), - 'Z' => array(2,2,3,3) - ); - $code = strtoupper($code); - $len = strlen($code); - $bararray = array('code' => $code, 'maxw' => 0, 'maxh' => $this->daft['F'], 'bcode' => array()); - if ($notkix) { - // table for checksum calculation (row,col) - $checktable = array( - '0' => array(1,1), - '1' => array(1,2), - '2' => array(1,3), - '3' => array(1,4), - '4' => array(1,5), - '5' => array(1,0), - '6' => array(2,1), - '7' => array(2,2), - '8' => array(2,3), - '9' => array(2,4), - 'A' => array(2,5), - 'B' => array(2,0), - 'C' => array(3,1), - 'D' => array(3,2), - 'E' => array(3,3), - 'F' => array(3,4), - 'G' => array(3,5), - 'H' => array(3,0), - 'I' => array(4,1), - 'J' => array(4,2), - 'K' => array(4,3), - 'L' => array(4,4), - 'M' => array(4,5), - 'N' => array(4,0), - 'O' => array(5,1), - 'P' => array(5,2), - 'Q' => array(5,3), - 'R' => array(5,4), - 'S' => array(5,5), - 'T' => array(5,0), - 'U' => array(0,1), - 'V' => array(0,2), - 'W' => array(0,3), - 'X' => array(0,4), - 'Y' => array(0,5), - 'Z' => array(0,0) - ); - $row = 0; - $col = 0; - for ($i = 0; $i < $len; ++$i) { - $row += $checktable[$code[$i]][0]; - $col += $checktable[$code[$i]][1]; - } - $row %= 6; - $col %= 6; - $chk = array_keys($checktable, array($row,$col)); - $code .= $chk[0]; - $bararray['checkdigit'] = $chk[0]; - ++$len; - } - $k = 0; - if ($notkix) { - // start bar - $bararray['bcode'][$k++] = array('t' => 1, 'w' => 1, 'h' => $this->daft['A'] , 'p' => 0); - $bararray['bcode'][$k++] = array('t' => 0, 'w' => $this->gapwidth , 'h' => $this->daft['A'] , 'p' => 0); - $bararray['maxw'] += (1 + $this->gapwidth) ; - } - for ($i = 0; $i < $len; ++$i) { - for ($j = 0; $j < 4; ++$j) { - switch ($barmode[$code[$i]][$j]) { - case 1: { - // ascender (A) - $p = 0; - $h = $this->daft['A']; - break; - } - case 2: { - // full bar (F) - $p = 0; - $h = $this->daft['F']; - break; - } - case 3: { - // tracker (T) - $p = ($this->daft['F'] - $this->daft['T'])/2; - $h = $this->daft['T']; - break; - } - case 4: { - // descender (D) - $p = $this->daft['F'] - $this->daft['D']; - $h = $this->daft['D']; - break; - } - } - - $bararray['bcode'][$k++] = array('t' => 1, 'w' => 1, 'h' => $h, 'p' => $p); - $bararray['bcode'][$k++] = array('t' => 0, 'w' => $this->gapwidth, 'h' => 2, 'p' => 0); - $bararray['maxw'] += (1 + $this->gapwidth) ; - } - } - if ($notkix) { - // stop bar - $bararray['bcode'][$k++] = array('t' => 1, 'w' => 1, 'h' => $this->daft['F'], 'p' => 0); - $bararray['maxw'] += 1; - } - return $bararray; - } - - /** - * CODABAR barcodes. - * Older code often used in library systems, sometimes in blood banks - */ - protected function barcode_codabar($code) { - $chr = array( - '0' => '11111221', - '1' => '11112211', - '2' => '11121121', - '3' => '22111111', - '4' => '11211211', - '5' => '21111211', - '6' => '12111121', - '7' => '12112111', - '8' => '12211111', - '9' => '21121111', - '-' => '11122111', - '$' => '11221111', - ':' => '21112121', - '/' => '21211121', - '.' => '21212111', - '+' => '11222221', - 'A' => '11221211', - 'B' => '12121121', - 'C' => '11121221', - 'D' => '11122211' - ); - $bararray = array('code' => $code, 'maxw' => 0, 'maxh' => 1, 'bcode' => array()); - $k = 0; - $w = 0; - $seq = ''; - $code = strtoupper($code); - $len = strlen($code); - for ($i = 0; $i < $len; ++$i) { - if (!isset($chr[$code[$i]])) { - return false; - } - $seq = $chr[$code[$i]]; - for ($j = 0; $j < 8; ++$j) { - if (($j % 2) == 0) { - $t = true; // bar - } else { - $t = false; // space - } - $x = $seq[$j]; - if ($x == 2) { $w = $this->print_ratio; } - else { $w = 1; } - $bararray['bcode'][$k] = array('t' => $t, 'w' => $w, 'h' => 1, 'p' => 0); - $bararray['maxw'] += $w; - ++$k; - } - } - return $bararray; - } - - /** - * CODE11 barcodes. - * Used primarily for labeling telecommunications equipment - */ - protected function barcode_code11($code) { - $chr = array( - '0' => '111121', - '1' => '211121', - '2' => '121121', - '3' => '221111', - '4' => '112121', - '5' => '212111', - '6' => '122111', - '7' => '111221', - '8' => '211211', - '9' => '211111', - '-' => '112111', - 'S' => '112211' - ); - - $bararray = array('code' => $code, 'maxw' => 0, 'maxh' => 1, 'bcode' => array()); - $k = 0; - $w = 0; - $seq = ''; - $len = strlen($code); - // calculate check digit C - $p = 1; - $check = 0; - for ($i = ($len - 1); $i >= 0; --$i) { - $digit = $code[$i]; - if ($digit == '-') { - $dval = 10; - } else { - $dval = intval($digit); - } - $check += ($dval * $p); - ++$p; - if ($p > 10) { - $p = 1; - } - } - $check %= 11; - if ($check == 10) { - $check = '-'; - } - $code .= $check; - $checkdigit = $check; - if ($len > 10) { - // calculate check digit K - $p = 1; - $check = 0; - for ($i = $len; $i >= 0; --$i) { - $digit = $code[$i]; - if ($digit == '-') { - $dval = 10; - } else { - $dval = intval($digit); - } - $check += ($dval * $p); - ++$p; - if ($p > 9) { - $p = 1; - } - } - $check %= 11; - $code .= $check; - $checkdigit .= $check; - ++$len; - } - $code = 'S'.$code.'S'; - $len += 3; - for ($i = 0; $i < $len; ++$i) { - if (!isset($chr[$code[$i]])) { - return false; - } - $seq = $chr[$code[$i]]; - for ($j = 0; $j < 6; ++$j) { - if (($j % 2) == 0) { - $t = true; // bar - } else { - $t = false; // space - } - $x = $seq[$j]; - if ($x == 2) { $w = $this->print_ratio; } - else { $w = 1; } - $bararray['bcode'][$k] = array('t' => $t, 'w' => $w, 'h' => 1, 'p' => 0); - $bararray['maxw'] += $w; - ++$k; - } - } - $bararray['checkdigit'] = $checkdigit; - return $bararray; - } - - - /** - * IMB - Intelligent Mail Barcode - Onecode - USPS-B-3200 - * (requires PHP bcmath extension) - * Intelligent Mail barcode is a 65-bar code for use on mail in the United States. - * The fields are described as follows:
    • The Barcode Identifier shall be assigned by USPS to encode the presort identification that is currently printed in human readable form on the optional endorsement line (OEL) as well as for future USPS use. This shall be two digits, with the second digit in the range of 0-4. The allowable encoding ranges shall be 00-04, 10-14, 20-24, 30-34, 40-44, 50-54, 60-64, 70-74, 80-84, and 90-94.
    • The Service Type Identifier shall be assigned by USPS for any combination of services requested on the mailpiece. The allowable encoding range shall be 000-999. Each 3-digit value shall correspond to a particular mail class with a particular combination of service(s). Each service program, such as OneCode Confirm and OneCode ACS, shall provide the list of Service Type Identifier values.
    • The Mailer or Customer Identifier shall be assigned by USPS as a unique, 6 or 9 digit number that identifies a business entity. The allowable encoding range for the 6 digit Mailer ID shall be 000000- 899999, while the allowable encoding range for the 9 digit Mailer ID shall be 900000000-999999999.
    • The Serial or Sequence Number shall be assigned by the mailer for uniquely identifying and tracking mailpieces. The allowable encoding range shall be 000000000-999999999 when used with a 6 digit Mailer ID and 000000-999999 when used with a 9 digit Mailer ID. e. The Delivery Point ZIP Code shall be assigned by the mailer for routing the mailpiece. This shall replace POSTNET for routing the mailpiece to its final delivery point. The length may be 0, 5, 9, or 11 digits. The allowable encoding ranges shall be no ZIP Code, 00000-99999, 000000000-999999999, and 00000000000-99999999999.
    - */ - protected function barcode_imb($code) { - $asc_chr = array(4,0,2,6,3,5,1,9,8,7,1,2,0,6,4,8,2,9,5,3,0,1,3,7,4,6,8,9,2,0,5,1,9,4,3,8,6,7,1,2,4,3,9,5,7,8,3,0,2,1,4,0,9,1,7,0,2,4,6,3,7,1,9,5,8); - $dsc_chr = array(7,1,9,5,8,0,2,4,6,3,5,8,9,7,3,0,6,1,7,4,6,8,9,2,5,1,7,5,4,3,8,7,6,0,2,5,4,9,3,0,1,6,8,2,0,4,5,9,6,7,5,2,6,3,8,5,1,9,8,7,4,0,2,6,3); - $asc_pos = array(3,0,8,11,1,12,8,11,10,6,4,12,2,7,9,6,7,9,2,8,4,0,12,7,10,9,0,7,10,5,7,9,6,8,2,12,1,4,2,0,1,5,4,6,12,1,0,9,4,7,5,10,2,6,9,11,2,12,6,7,5,11,0,3,2); - $dsc_pos = array(2,10,12,5,9,1,5,4,3,9,11,5,10,1,6,3,4,1,10,0,2,11,8,6,1,12,3,8,6,4,4,11,0,6,1,9,11,5,3,7,3,10,7,11,8,2,10,3,5,8,0,3,12,11,8,4,5,1,3,0,7,12,9,8,10); - $code_arr = explode('-', $code); - $tracking_number = $code_arr[0]; - if (isset($code_arr[1])) { - $routing_code = $code_arr[1]; - } else { - $routing_code = ''; - } - // Conversion of Routing Code - switch (strlen($routing_code)) { - case 0: { - $binary_code = 0; - break; - } - case 5: { - $binary_code = bcadd($routing_code, '1'); - break; - } - case 9: { - $binary_code = bcadd($routing_code, '100001'); - break; - } - case 11: { - $binary_code = bcadd($routing_code, '1000100001'); - break; - } - default: { - return false; - break; - } - } - $binary_code = bcmul($binary_code, 10); - $binary_code = bcadd($binary_code, $tracking_number{0}); - $binary_code = bcmul($binary_code, 5); - $binary_code = bcadd($binary_code, $tracking_number{1}); - $binary_code .= substr($tracking_number, 2, 18); - // convert to hexadecimal - $binary_code = $this->dec_to_hex($binary_code); - // pad to get 13 bytes - $binary_code = str_pad($binary_code, 26, '0', STR_PAD_LEFT); - // convert string to array of bytes - $binary_code_arr = chunk_split($binary_code, 2, "\r"); - $binary_code_arr = substr($binary_code_arr, 0, -1); - $binary_code_arr = explode("\r", $binary_code_arr); - // calculate frame check sequence - $fcs = $this->imb_crc11fcs($binary_code_arr); - // exclude first 2 bits from first byte - $first_byte = sprintf('%2s', dechex((hexdec($binary_code_arr[0]) << 2) >> 2)); - $binary_code_102bit = $first_byte.substr($binary_code, 2); - // convert binary data to codewords - $codewords = array(); - $data = $this->hex_to_dec($binary_code_102bit); - $codewords[0] = bcmod($data, 636) * 2; - $data = bcdiv($data, 636); - for ($i = 1; $i < 9; ++$i) { - $codewords[$i] = bcmod($data, 1365); - $data = bcdiv($data, 1365); - } - $codewords[9] = $data; - if (($fcs >> 10) == 1) { - $codewords[9] += 659; - } - // generate lookup tables - $table2of13 = $this->imb_tables(2, 78); - $table5of13 = $this->imb_tables(5, 1287); - // convert codewords to characters - $characters = array(); - $bitmask = 512; - foreach($codewords as $k => $val) { - if ($val <= 1286) { - $chrcode = $table5of13[$val]; - } else { - $chrcode = $table2of13[($val - 1287)]; - } - if (($fcs & $bitmask) > 0) { - // bitwise invert - $chrcode = ((~$chrcode) & 8191); - } - $characters[] = $chrcode; - $bitmask /= 2; - } - $characters = array_reverse($characters); - // build bars - $k = 0; - $bararray = array('code' => $code, 'maxw' => 0, 'maxh' => $this->daft['F'], 'bcode' => array()); - for ($i = 0; $i < 65; ++$i) { - $asc = (($characters[$asc_chr[$i]] & pow(2, $asc_pos[$i])) > 0); - $dsc = (($characters[$dsc_chr[$i]] & pow(2, $dsc_pos[$i])) > 0); - if ($asc AND $dsc) { - // full bar (F) - $p = 0; - $h = $this->daft['F']; - } elseif ($asc) { - // ascender (A) - $p = 0; - $h = $this->daft['A']; - } elseif ($dsc) { - // descender (D) - $p = $this->daft['F'] - $this->daft['D']; - $h = $this->daft['D']; - } else { - // tracker (T) - $p = ($this->daft['F'] - $this->daft['T'])/2; - $h = $this->daft['T']; - } - $bararray['bcode'][$k++] = array('t' => 1, 'w' => 1, 'h' => $h, 'p' => $p); - // Gap - $bararray['bcode'][$k++] = array('t' => 0, 'w' => $this->gapwidth , 'h' => 1, 'p' => 0); - $bararray['maxw'] += (1 + $this->gapwidth ); - } - unset($bararray['bcode'][($k - 1)]); - $bararray['maxw'] -= $this->gapwidth ; - return $bararray; - } - - /** - * Convert large integer number to hexadecimal representation. - * (requires PHP bcmath extension) - */ - public function dec_to_hex($number) { - $i = 0; - $hex = array(); - if($number == 0) { - return '00'; - } - while($number > 0) { - if($number == 0) { - array_push($hex, '0'); - } else { - array_push($hex, strtoupper(dechex(bcmod($number, '16')))); - $number = bcdiv($number, '16', 0); - } - } - $hex = array_reverse($hex); - return implode($hex); - } - - /** - * Convert large hexadecimal number to decimal representation (string). - * (requires PHP bcmath extension) - */ - public function hex_to_dec($hex) { - $dec = 0; - $bitval = 1; - $len = strlen($hex); - for($pos = ($len - 1); $pos >= 0; --$pos) { - $dec = bcadd($dec, bcmul(hexdec($hex[$pos]), $bitval)); - $bitval = bcmul($bitval, 16); - } - return $dec; - } - - /** - * Intelligent Mail Barcode calculation of Frame Check Sequence - */ - protected function imb_crc11fcs($code_arr) { - $genpoly = 0x0F35; // generator polynomial - $fcs = 0x07FF; // Frame Check Sequence - // do most significant byte skipping the 2 most significant bits - $data = hexdec($code_arr[0]) << 5; - for ($bit = 2; $bit < 8; ++$bit) { - if (($fcs ^ $data) & 0x400) { - $fcs = ($fcs << 1) ^ $genpoly; - } else { - $fcs = ($fcs << 1); - } - $fcs &= 0x7FF; - $data <<= 1; - } - // do rest of bytes - for ($byte = 1; $byte < 13; ++$byte) { - $data = hexdec($code_arr[$byte]) << 3; - for ($bit = 0; $bit < 8; ++$bit) { - if (($fcs ^ $data) & 0x400) { - $fcs = ($fcs << 1) ^ $genpoly; - } else { - $fcs = ($fcs << 1); - } - $fcs &= 0x7FF; - $data <<= 1; - } - } - return $fcs; - } - - /** - * Reverse unsigned short value - */ - protected function imb_reverse_us($num) { - $rev = 0; - for ($i = 0; $i < 16; ++$i) { - $rev <<= 1; - $rev |= ($num & 1); - $num >>= 1; - } - return $rev; - } - - /** - * generate Nof13 tables used for Intelligent Mail Barcode - */ - protected function imb_tables($n, $size) { - $table = array(); - $lli = 0; // LUT lower index - $lui = $size - 1; // LUT upper index - for ($count = 0; $count < 8192; ++$count) { - $bit_count = 0; - for ($bit_index = 0; $bit_index < 13; ++$bit_index) { - $bit_count += intval(($count & (1 << $bit_index)) != 0); - } - // if we don't have the right number of bits on, go on to the next value - if ($bit_count == $n) { - $reverse = ($this->imb_reverse_us($count) >> 3); - // if the reverse is less than count, we have already visited this pair before - if ($reverse >= $count) { - // If count is symmetric, place it at the first free slot from the end of the list. - // Otherwise, place it at the first free slot from the beginning of the list AND place $reverse ath the next free slot from the beginning of the list - if ($reverse == $count) { - $table[$lui] = $count; - --$lui; - } else { - $table[$lli] = $count; - ++$lli; - $table[$lli] = $reverse; - ++$lli; - } - } - } - } - return $table; - } - -} // end of class - -//============================================================+ -// END OF FILE -//============================================================+ -?> \ No newline at end of file diff --git a/lib/mpdf/classes/bmp.php b/lib/mpdf/classes/bmp.php deleted file mode 100644 index 896ced8..0000000 --- a/lib/mpdf/classes/bmp.php +++ /dev/null @@ -1,248 +0,0 @@ -mpdf = $mpdf; -} - - -function _getBMPimage($data, $file) { - $info = array(); - // Adapted from script by Valentin Schmidt - // http://staff.dasdeck.de/valentin/fpdf/fpdf_bmp/ - $bfOffBits=$this->_fourbytes2int_le(substr($data,10,4)); - $width=$this->_fourbytes2int_le(substr($data,18,4)); - $height=$this->_fourbytes2int_le(substr($data,22,4)); - $flip = ($height<0); - if ($flip) $height =-$height; - $biBitCount=$this->_twobytes2int_le(substr($data,28,2)); - $biCompression=$this->_fourbytes2int_le(substr($data,30,4)); - $info = array('w'=>$width, 'h'=>$height); - if ($biBitCount<16){ - $info['cs'] = 'Indexed'; - $info['bpc'] = $biBitCount; - $palStr = substr($data,54,($bfOffBits-54)); - $pal = ''; - $cnt = strlen($palStr)/4; - for ($i=0;$i<$cnt;$i++){ - $n = 4*$i; - $pal .= $palStr[$n+2].$palStr[$n+1].$palStr[$n]; - } - $info['pal'] = $pal; - } - else{ - $info['cs'] = 'DeviceRGB'; - $info['bpc'] = 8; - } - - if ($this->mpdf->restrictColorSpace==1 || $this->mpdf->PDFX || $this->mpdf->restrictColorSpace==3) { - if (($this->mpdf->PDFA && !$this->mpdf->PDFAauto) || ($this->mpdf->PDFX && !$this->mpdf->PDFXauto)) { $this->mpdf->PDFAXwarnings[] = "Image cannot be converted to suitable colour space for PDFA or PDFX file - ".$file." - (Image replaced by 'no-image'.)"; } - return array('error' => "BMP Image cannot be converted to suitable colour space - ".$file." - (Image replaced by 'no-image'.)"); - } - - $biXPelsPerMeter=$this->_fourbytes2int_le(substr($data,38,4)); // horizontal pixels per meter, usually set to zero - //$biYPelsPerMeter=$this->_fourbytes2int_le(substr($data,42,4)); // vertical pixels per meter, usually set to zero - $biXPelsPerMeter=round($biXPelsPerMeter/1000 *25.4); - //$biYPelsPerMeter=round($biYPelsPerMeter/1000 *25.4); - $info['set-dpi'] = $biXPelsPerMeter; - - switch ($biCompression){ - case 0: - $str = substr($data,$bfOffBits); - break; - case 1: # BI_RLE8 - $str = $this->rle8_decode(substr($data,$bfOffBits), $width); - break; - case 2: # BI_RLE4 - $str = $this->rle4_decode(substr($data,$bfOffBits), $width); - break; - } - $bmpdata = ''; - $padCnt = (4-ceil(($width/(8/$biBitCount)))%4)%4; - switch ($biBitCount){ - case 1: - case 4: - case 8: - $w = floor($width/(8/$biBitCount)) + ($width%(8/$biBitCount)?1:0); - $w_row = $w + $padCnt; - if ($flip){ - for ($y=0;$y<$height;$y++){ - $y0 = $y*$w_row; - for ($x=0;$x<$w;$x++) - $bmpdata .= $str[$y0+$x]; - } - }else{ - for ($y=$height-1;$y>=0;$y--){ - $y0 = $y*$w_row; - for ($x=0;$x<$w;$x++) - $bmpdata .= $str[$y0+$x]; - } - } - break; - - case 16: - $w_row = $width*2 + $padCnt; - if ($flip){ - for ($y=0;$y<$height;$y++){ - $y0 = $y*$w_row; - for ($x=0;$x<$width;$x++){ - $n = (ord( $str[$y0 + 2*$x + 1])*256 + ord( $str[$y0 + 2*$x])); - $b = ($n & 31)<<3; $g = ($n & 992)>>2; $r = ($n & 31744)>>7128; - $bmpdata .= chr($r) . chr($g) . chr($b); - } - } - }else{ - for ($y=$height-1;$y>=0;$y--){ - $y0 = $y*$w_row; - for ($x=0;$x<$width;$x++){ - $n = (ord( $str[$y0 + 2*$x + 1])*256 + ord( $str[$y0 + 2*$x])); - $b = ($n & 31)<<3; $g = ($n & 992)>>2; $r = ($n & 31744)>>7; - $bmpdata .= chr($r) . chr($g) . chr($b); - } - } - } - break; - - case 24: - case 32: - $byteCnt = $biBitCount/8; - $w_row = $width*$byteCnt + $padCnt; - - if ($flip){ - for ($y=0;$y<$height;$y++){ - $y0 = $y*$w_row; - for ($x=0;$x<$width;$x++){ - $i = $y0 + $x*$byteCnt ; # + 1 - $bmpdata .= $str[$i+2].$str[$i+1].$str[$i]; - } - } - }else{ - for ($y=$height-1;$y>=0;$y--){ - $y0 = $y*$w_row; - for ($x=0;$x<$width;$x++){ - $i = $y0 + $x*$byteCnt ; # + 1 - $bmpdata .= $str[$i+2].$str[$i+1].$str[$i]; - } - } - } - break; - - default: - return array('error' => 'Error parsing BMP image - Unsupported image biBitCount'); - } - if ($this->mpdf->compress) { - $bmpdata=gzcompress($bmpdata); - $info['f']='FlateDecode'; - } - $info['data']=$bmpdata; - $info['type']='bmp'; - return $info; -} - -function _fourbytes2int_le($s) { - //Read a 4-byte integer from string - return (ord($s[3])<<24) + (ord($s[2])<<16) + (ord($s[1])<<8) + ord($s[0]); -} - -function _twobytes2int_le($s) { - //Read a 2-byte integer from string - return (ord(substr($s, 1, 1))<<8) + ord(substr($s, 0, 1)); -} - - -# Decoder for RLE8 compression in windows bitmaps -# see http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/bitmaps_6x0u.asp -function rle8_decode ($str, $width){ - $lineWidth = $width + (3 - ($width-1) % 4); - $out = ''; - $cnt = strlen($str); - for ($i=0;$i<$cnt;$i++){ - $o = ord($str[$i]); - switch ($o){ - case 0: # ESCAPE - $i++; - switch (ord($str[$i])){ - case 0: # NEW LINE - $padCnt = $lineWidth - strlen($out)%$lineWidth; - if ($padCnt<$lineWidth) $out .= str_repeat(chr(0), $padCnt); # pad line - break; - case 1: # END OF FILE - $padCnt = $lineWidth - strlen($out)%$lineWidth; - if ($padCnt<$lineWidth) $out .= str_repeat(chr(0), $padCnt); # pad line - break 3; - case 2: # DELTA - $i += 2; - break; - default: # ABSOLUTE MODE - $num = ord($str[$i]); - for ($j=0;$j<$num;$j++) - $out .= $str[++$i]; - if ($num % 2) $i++; - } - break; - default: - $out .= str_repeat($str[++$i], $o); - } - } - return $out; -} - -# Decoder for RLE4 compression in windows bitmaps -# see http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/bitmaps_6x0u.asp -function rle4_decode ($str, $width){ - $w = floor($width/2) + ($width % 2); - $lineWidth = $w + (3 - ( ($width-1) / 2) % 4); - $pixels = array(); - $cnt = strlen($str); - for ($i=0;$i<$cnt;$i++){ - $o = ord($str[$i]); - switch ($o){ - case 0: # ESCAPE - $i++; - switch (ord($str[$i])){ - case 0: # NEW LINE - while (count($pixels)%$lineWidth!=0) - $pixels[]=0; - break; - case 1: # END OF FILE - while (count($pixels)%$lineWidth!=0) - $pixels[]=0; - break 3; - case 2: # DELTA - $i += 2; - break; - default: # ABSOLUTE MODE - $num = ord($str[$i]); - for ($j=0;$j<$num;$j++){ - if ($j%2==0){ - $c = ord($str[++$i]); - $pixels[] = ($c & 240)>>4; - } else - $pixels[] = $c & 15; - } - if ($num % 2) $i++; - } - break; - default: - $c = ord($str[++$i]); - for ($j=0;$j<$o;$j++) - $pixels[] = ($j%2==0 ? ($c & 240)>>4 : $c & 15); - } - } - - $out = ''; - if (count($pixels)%2) $pixels[]=0; - $cnt = count($pixels)/2; - for ($i=0;$i<$cnt;$i++) - $out .= chr(16*$pixels[2*$i] + $pixels[2*$i+1]); - return $out; -} - - - -} - -?> \ No newline at end of file diff --git a/lib/mpdf/classes/cssmgr.php b/lib/mpdf/classes/cssmgr.php deleted file mode 100644 index 7a9e87a..0000000 --- a/lib/mpdf/classes/cssmgr.php +++ /dev/null @@ -1,1721 +0,0 @@ -mpdf = $mpdf; - $this->tablecascadeCSS = array(); - $this->CSS=array(); - $this->cascadeCSS = array(); - $this->tbCSSlvl = 0; -} - -function ReadCSS($html) { - preg_match_all('/]*media=["\']([^"\'>]*)["\'].*?<\/style>/is',$html,$m); - for($i=0; $impdf->CSSselectMedia && !preg_match('/('.trim($this->mpdf->CSSselectMedia).'|all)/i',$m[1][$i])) { - $html = preg_replace('/'.preg_quote($m[0][$i],'/').'/','',$html); - } - } - preg_match_all('/]*media=["\']([^"\'>]*)["\'].*?>/is',$html,$m); - for($i=0; $impdf->CSSselectMedia && !preg_match('/('.trim($this->mpdf->CSSselectMedia).'|all)/i',$m[1][$i])) { - $html = preg_replace('/'.preg_quote($m[0][$i],'/').'/','',$html); - } - } - - // mPDF 5.5.02 - // Remove Comment tags inside CSS as ', $html); - preg_match_all('/(.*?)<\/style>/si',$html,$m); - if (count($m[1])) { - for($i=0;$i)/s',' ',$m[1][$i]); - $sub = '>'.preg_replace('|/\*.*?\*/|s',' ',$sub).''; - $html = str_replace('>'.$m[1][$i].'', $sub, $html); - } - } - - - $html = preg_replace('//i','',$html); - $html = preg_replace('/<\!\-\-.*?\-\->/s',' ',$html); - - $match = 0; // no match for instance - $regexp = ''; // This helps debugging: showing what is the REAL string being processed - $CSSext = array(); - - //CSS inside external files - $regexp = '/]*rel=["\']stylesheet["\'][^>]*href=["\']([^>"\']*)["\'].*?>/si'; - $x = preg_match_all($regexp,$html,$cxt); - if ($x) { - $match += $x; - $CSSext = $cxt[1]; - } - $regexp = '/]*href=["\']([^>"\']*)["\'][^>]*?rel=["\']stylesheet["\'].*?>/si'; - $x = preg_match_all($regexp,$html,$cxt); - if ($x) { - $match += $x; - $CSSext = array_merge($CSSext,$cxt[1]); - } - - // look for @import stylesheets - //$regexp = '/@import url\([\'\"]{0,1}([^\)]*?\.css)[\'\"]{0,1}\)/si'; - $regexp = '/@import url\([\'\"]{0,1}([^\)]*?\.css(\?\S+)?)[\'\"]{0,1}\)/si'; - $x = preg_match_all($regexp,$html,$cxt); - if ($x) { - $match += $x; - $CSSext = array_merge($CSSext,$cxt[1]); - } - - // look for @import without the url() - //$regexp = '/@import [\'\"]{0,1}([^;]*?\.css)[\'\"]{0,1}/si'; - $regexp = '/@import [\'\"]{0,1}([^;]*?\.css(\?\S+)?)[\'\"]{0,1}/si'; - $x = preg_match_all($regexp,$html,$cxt); - if ($x) { - $match += $x; - $CSSext = array_merge($CSSext,$cxt[1]); - } - - $ind = 0; - $CSSstr = ''; - - if (!is_array($this->cascadeCSS)) $this->cascadeCSS = array(); - - while($match){ - $path = $CSSext[$ind]; - - $path = htmlspecialchars_decode($path); // mPDF 6 - - $this->mpdf->GetFullPath($path); - $CSSextblock = $this->mpdf->_get_file($path); - if ($CSSextblock) { - // look for embedded @import stylesheets in other stylesheets - // and fix url paths (including background-images) relative to stylesheet - //$regexpem = '/@import url\([\'\"]{0,1}(.*?\.css)[\'\"]{0,1}\)/si'; - $regexpem = '/@import url\([\'\"]{0,1}(.*?\.css(\?\S+)?)[\'\"]{0,1}\)/si'; - $xem = preg_match_all($regexpem,$CSSextblock,$cxtem); - $cssBasePath = preg_replace('/\/[^\/]*$/','',$path) . '/'; - if ($xem) { - foreach($cxtem[1] AS $cxtembedded) { - // path is relative to original stlyesheet!! - $this->mpdf->GetFullPath($cxtembedded, $cssBasePath ); - $match++; - $CSSext[] = $cxtembedded; - } - } - $regexpem = '/(background[^;]*url\s*\(\s*[\'\"]{0,1})([^\)\'\"]*)([\'\"]{0,1}\s*\))/si'; - $xem = preg_match_all($regexpem,$CSSextblock,$cxtem); - if ($xem) { - for ($i=0;$impdf->GetFullPath($embedded, $cssBasePath ); - $CSSextblock = preg_replace('/'.preg_quote($cxtem[0][$i],'/').'/', ($cxtem[1][$i].$embedded.$cxtem[3][$i]), $CSSextblock); - } - } - } - $CSSstr .= ' '.$CSSextblock; - } - $match--; - $ind++; - } //end of match - - $match = 0; // reset value, if needed - // CSS as - - - - - - - - -
    -

    Antiscroll

    -

    os x lion style cross-browser native scrolling on the web that gets out of the way.

    -
      -
    • supports mousewheels, trackpads, other input devices natively.
    • -
    • total size is 1kb minified and gzipped.
    • -
    • doesn't magically autowrap your elements with divs (manual wrapping is necessary, please see index.html demo).
    • -
    • fade in/out controlled with CSS3 animations.
    • -
    • shows scrollbars upon hovering.
    • -
    • scrollbars are draggable.
    • -
    • size of container can be dynamically adjusted and scrollbars will adapt.
    • -
    • supports IE7+, Firefox 3+, Chrome, Safari, Opera
    • -
    -
    -
    -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    BodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBody
    BodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBody
    BodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBody
    BodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBody
    BodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBody
    BodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBody
    BodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBody
    BodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBody
    BodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBody
    BodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBody
    BodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBody
    BodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBody
    BodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBody
    BodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBody
    BodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBodyBody
    -
    -
    -
    -
    -
    - Download - -
    - -

    X rows

    - - -

    X cols

    - -
  • Add col
  • -
  • Remove col
  • - - -
    - - diff --git a/modules/lib/antiscroll/jquery-mousewheel.js b/modules/lib/antiscroll/jquery-mousewheel.js deleted file mode 100644 index b793241..0000000 --- a/modules/lib/antiscroll/jquery-mousewheel.js +++ /dev/null @@ -1,78 +0,0 @@ -/*! Copyright (c) 2010 Brandon Aaron (http://brandonaaron.net) - * Licensed under the MIT License (LICENSE.txt). - * - * Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers. - * Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix. - * Thanks to: Seamus Leahy for adding deltaX and deltaY - * - * Version: 3.0.4 - * - * Requires: 1.2.2+ - */ - -(function($) { - -var types = ['DOMMouseScroll', 'mousewheel']; - -$.event.special.mousewheel = { - setup: function() { - if ( this.addEventListener ) { - for ( var i=types.length; i; ) { - this.addEventListener( types[--i], handler, false ); - } - } else { - this.onmousewheel = handler; - } - }, - - teardown: function() { - if ( this.removeEventListener ) { - for ( var i=types.length; i; ) { - this.removeEventListener( types[--i], handler, false ); - } - } else { - this.onmousewheel = null; - } - } -}; - -$.fn.extend({ - mousewheel: function(fn) { - return fn ? this.bind("mousewheel", fn) : this.trigger("mousewheel"); - }, - - unmousewheel: function(fn) { - return this.unbind("mousewheel", fn); - } -}); - - -function handler(event) { - var orgEvent = event || window.event, args = [].slice.call( arguments, 1 ), delta = 0, returnValue = true, deltaX = 0, deltaY = 0; - event = $.event.fix(orgEvent); - event.type = "mousewheel"; - - // Old school scrollwheel delta - if ( event.wheelDelta ) { delta = event.wheelDelta/120; } - if ( event.detail ) { delta = -event.detail/3; } - - // New school multidimensional scroll (touchpads) deltas - deltaY = delta; - - // Gecko - if ( orgEvent.axis !== undefined && orgEvent.axis === orgEvent.HORIZONTAL_AXIS ) { - deltaY = 0; - deltaX = -1*delta; - } - - // Webkit - if ( orgEvent.wheelDeltaY !== undefined ) { deltaY = orgEvent.wheelDeltaY/120; } - if ( orgEvent.wheelDeltaX !== undefined ) { deltaX = -1*orgEvent.wheelDeltaX/120; } - - // Add event and delta to the front of the arguments - args.unshift(event, delta, deltaX, deltaY); - - return $.event.handle.apply(this, args); -} - -})(jQuery); \ No newline at end of file diff --git a/modules/lib/bootstrap-toggle-buttons/.gitignore b/modules/lib/bootstrap-toggle-buttons/.gitignore deleted file mode 100644 index 88eb68d..0000000 --- a/modules/lib/bootstrap-toggle-buttons/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -target/ -.idea -.sass-cache/ -.DS_Store diff --git a/modules/lib/bootstrap-toggle-buttons/LICENSE b/modules/lib/bootstrap-toggle-buttons/LICENSE deleted file mode 100644 index d9a10c0..0000000 --- a/modules/lib/bootstrap-toggle-buttons/LICENSE +++ /dev/null @@ -1,176 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS diff --git a/modules/lib/bootstrap-toggle-buttons/README.md b/modules/lib/bootstrap-toggle-buttons/README.md deleted file mode 100644 index 9af3cc3..0000000 --- a/modules/lib/bootstrap-toggle-buttons/README.md +++ /dev/null @@ -1,6 +0,0 @@ -Bootstrap-toggle-buttons -======================== - -Bootstrap-toggle-buttons has moved to https://github.com/nostalgiaz/bootstrap-switch - -Old doc -> https://github.com/nostalgiaz/bootstrap-toggle-buttons/blob/master/README_OLD.md diff --git a/modules/lib/bootstrap-toggle-buttons/README_OLD.md b/modules/lib/bootstrap-toggle-buttons/README_OLD.md deleted file mode 100644 index 57e1918..0000000 --- a/modules/lib/bootstrap-toggle-buttons/README_OLD.md +++ /dev/null @@ -1,123 +0,0 @@ -Bootstrap-toggle-buttons -======================== - -Demo ----- -http://www.larentis.eu/bootstrap_toggle_buttons/ - -Usage ------ - -Just include Twitter Bootstrap, jQuery and Bootstrap Toggle Buttons CSS and Javascript -``` html - - - - - -``` - -Basic Example -------------- - -HTML -``` html -
    - -
    -``` - -JS -``` javascript -$('#toggle-button').toggleButtons(); -``` - -Full Example ------------- - -HTML -``` html -
    - -
    -``` - -JS -``` javascript -$('#toggle-button').toggleButtons({ - onChange: function ($el, status, e) { - // $el = $('#toggle-button'); - // status = [true, false], the value of the checkbox - // e = the event - console.log($el, status, e); - }, - width: 100, - height: 25, - font: { - 'font-size': '20px', - 'font-style': 'italic' - }, - animated: true, - transitionspeed: 1, // Accepted values float or "percent" [ 1, 0.5, "150%" ] - label: { - enabled: "ON", - disabled: "OFF" - }, - style: { - // Accepted values ["primary", "danger", "info", "success", "warning"] or nothing - enabled: "primary", - disabled: "danger", - custom: { - enabled: { - background:"#FF00FF", - gradient: "#D300D3", - color: "#FFFFFF" - }, - disabled: { - background: "#FFAA00", - gradient: "#DD9900", - color: "#333333" - } - } - } -}); - -$('#toggle-button').toggleButtons('toggleActivation'); // to toggle the disabled status -``` - -Data Attributes Example ------------------------ - -HTML -``` html -
    - -
    -``` - -JS -``` javascript -$('#data-attribute-toggle-button').toggleButtons(); -``` - -Toggle state ------------- -JS -``` javascript -$('#my-toggle-button').toggleButtons('toggleState'); -``` - -Destroy -------- -JS -``` javascript -$('#my-toggle-button').toggleButtons('destroy'); -``` - -Like this project? ------------------- -[![endorse](http://api.coderwall.com/nostalgia/endorsecount.png)](http://coderwall.com/nostalgia) diff --git a/modules/lib/chosen/LICENSE.md b/modules/lib/chosen/LICENSE.md deleted file mode 100644 index 80109bb..0000000 --- a/modules/lib/chosen/LICENSE.md +++ /dev/null @@ -1,24 +0,0 @@ -# Chosen, a Select Box Enhancer for jQuery and Protoype -## by Patrick Filler for [Harvest](http://getharvest.com) - -Available for use under the [MIT License](http://en.wikipedia.org/wiki/MIT_License) - -Copyright (c) 2011 by Harvest - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. \ No newline at end of file diff --git a/modules/lib/chosen/README.md b/modules/lib/chosen/README.md deleted file mode 100644 index a5039ef..0000000 --- a/modules/lib/chosen/README.md +++ /dev/null @@ -1,50 +0,0 @@ -# Chosen - -Chosen is a library for making long, unwieldy select boxes more user friendly. - -- jQuery support: 1.4+ -- Prototype support: 1.7+ - -For documentation, usage, and examples, see: -http://harvesthq.github.com/chosen - -### Contributing to Chosen - -Contributions and pull requests are very welcome. Please follow these guidelines when submitting new code. - -1. Make all changes in Coffeescript files, **not** JavaScript files. -2. For feature changes, update both jQuery *and* Prototype versions -3. Use `npm install -d` to install the correct development dependencies. -4. Use `cake build` or `cake watch` to generate Chosen's JavaScript file and minified version. -5. Don't touch the `VERSION` file -6. Submit a Pull Request using GitHub. - -### Using CoffeeScript & Cake - -First, make sure you have the proper CoffeeScript / Cake set-up in place. We have added a package.json that makes this easy: - -``` -npm install -d -``` - -This will install `coffee-script` and `uglifyjs`. - -Once you're configured, building the JavasScript from the command line is easy: - - cake build # build Chosen from source - cake watch # watch coffee/ for changes and build Chosen - -If you're interested, you can find the recipes in Cakefile. - - -### Chosen Credits - -- Built by [Harvest](http://www.getharvest.com/). Want to work on projects like this? [We’re hiring](http://www.getharvest.com/careers)! -- Concept and development by [Patrick Filler](http://www.patrickfiller.com/) -- Design and CSS by [Matthew Lettini](http://matthewlettini.com/) - -### Notable Forks - -- [Chosen for MooTools](https://github.com/julesjanssen/chosen), by Jules Janssen -- [Chosen Drupal 7 Module](http://drupal.org/project/chosen), by Pol Dell'Aiera, Arshad Chummun, Bart Feenstra, Kálmán Hosszu, etc. -- [Chosen CakePHP Plugin](https://github.com/paulredmond/chosen-cakephp), by Paul Redmond diff --git a/modules/lib/chosen/VERSION b/modules/lib/chosen/VERSION deleted file mode 100644 index 583b27a..0000000 --- a/modules/lib/chosen/VERSION +++ /dev/null @@ -1 +0,0 @@ -0.9.12 diff --git a/modules/lib/chosen/chosen-sprite.png b/modules/lib/chosen/chosen-sprite.png deleted file mode 100644 index 3611ae4..0000000 Binary files a/modules/lib/chosen/chosen-sprite.png and /dev/null differ diff --git a/modules/lib/chosen/chosen-sprite@2x.png b/modules/lib/chosen/chosen-sprite@2x.png deleted file mode 100644 index ffe4d7d..0000000 Binary files a/modules/lib/chosen/chosen-sprite@2x.png and /dev/null differ diff --git a/modules/lib/chosen/chosen.css b/modules/lib/chosen/chosen.css deleted file mode 100644 index 021b50a..0000000 --- a/modules/lib/chosen/chosen.css +++ /dev/null @@ -1,378 +0,0 @@ -/* @group Base */ -.chzn-container { - font-size: 13px; - position: relative; - display: inline-block; - zoom: 1; - *display: inline; -} -.chzn-container .chzn-drop { - background: #fff; - border: 1px solid #ccc; - border-top: 0; - position: absolute; - top: 29px; - left: 0; - -webkit-box-shadow: 0 4px 5px rgba(0,0,0,.15); - -moz-box-shadow : 0 4px 5px rgba(0,0,0,.15); - box-shadow : 0 4px 5px rgba(0,0,0,.15); - z-index: 1010; -} -/* @end */ - -/* @group Single Chosen */ -.chzn-container-single .chzn-single { - background-color: #ffffff; - -webkit-border-radius: 3px; - -moz-border-radius : 3px; - border-radius : 3px; - -moz-background-clip : padding; - -webkit-background-clip: padding-box; - background-clip : padding-box; - border: 1px solid #ccc; - display: block; - overflow: hidden; - white-space: nowrap; - position: relative; - height: 28px; - line-height: 27px; - padding: 0 0 0 8px; - color: #444444; - text-decoration: none; -} -.chzn-container-single .chzn-default { - color: #999; -} -.chzn-container-single .chzn-single span { - margin-right: 26px; - display: block; - overflow: hidden; - white-space: nowrap; - -o-text-overflow: ellipsis; - -ms-text-overflow: ellipsis; - text-overflow: ellipsis; -} -.chzn-container-single .chzn-single abbr { - display: block; - position: absolute; - right: 26px; - top: 9px; - width: 13px; - height: 12px; - font-size: 1px; - background: url('chosen-sprite.png') -42px 1px no-repeat; -} -.chzn-container-single .chzn-single abbr:hover { - background-position: -42px -10px; -} -.chzn-container-single.chzn-disabled .chzn-single abbr:hover { - background-position: -42px -10px; -} -.chzn-container-single .chzn-single div { - position: absolute; - right: 0; - top: 0; - display: block; - height: 100%; - width: 18px; -} -.chzn-container-single .chzn-single div b { - background: url('chosen-sprite.png') no-repeat 0px 5px; - display: block; - width: 100%; - height: 100%; -} -.chzn-container-single .chzn-search { - padding: 3px 4px; - position: relative; - margin: 0; - white-space: nowrap; - z-index: 1010; -} -.chzn-container-single .chzn-search input { - background: #fff url('chosen-sprite.png') no-repeat 100% -20px; - background: url('chosen-sprite.png') no-repeat 100% -20px, -webkit-gradient(linear, 0 0, 0 100%, color-stop(1%, #eeeeee), color-stop(15%, #ffffff)); - background: url('chosen-sprite.png') no-repeat 100% -20px, -webkit-linear-gradient(top, #eeeeee 1%, #ffffff 15%); - background: url('chosen-sprite.png') no-repeat 100% -20px, -moz-linear-gradient(top, #eeeeee 1%, #ffffff 15%); - background: url('chosen-sprite.png') no-repeat 100% -20px, -o-linear-gradient(top, #eeeeee 1%, #ffffff 15%); - background: url('chosen-sprite.png') no-repeat 100% -20px, linear-gradient(#eeeeee 1%, #ffffff 15%); - margin: 1px 0; - padding: 3px 20px 2px 5px; - outline: 0; - border: 1px solid #aaa; - font-family: sans-serif; - font-size: 13px; - min-height:13px; -} -.chzn-container-single .chzn-drop { - -webkit-border-radius: 0 0 4px 4px; - -moz-border-radius : 0 0 4px 4px; - border-radius : 0 0 4px 4px; - -moz-background-clip : padding; - -webkit-background-clip: padding-box; - background-clip : padding-box; - margin-top:1px; -} -/* @end */ - -.chzn-container-single-nosearch .chzn-search input { - position: absolute; - left: -9000px; -} - -/* @group Multi Chosen */ -.chzn-container-multi .chzn-choices { - background-color: #fff; - border: 1px solid #ccc; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; - margin: 0; - padding: 0 5px 0 0; - cursor: text; - overflow: hidden; - height: auto !important; - height: 1%; - position: relative; -} -.chzn-container-multi .chzn-choices li { - float: left; - list-style: none; -} -.chzn-container-multi .chzn-choices .search-field { - white-space: nowrap; - margin: 0; - padding: 0; -} -.chzn-container-multi .chzn-choices .search-field input { - color: #666; - background: transparent !important; - border: 0 !important; - font-family: sans-serif; - font-size: 100%; - height: 16px; - padding: 5px; - margin: 1px 0; - outline: 0; - -webkit-box-shadow: none; - -moz-box-shadow : none; - box-shadow : none; -} -.chzn-container-multi .chzn-choices .search-field .default { - color: #999; -} -.chzn-container-multi .chzn-choices .search-choice { - -webkit-border-radius: 3px; - -moz-border-radius : 3px; - border-radius : 3px; - -moz-background-clip : padding; - -webkit-background-clip: padding-box; - background-clip : padding-box; - background-color: #CEE5F5; - color: #2B4F62; - line-height: 13px; - padding: 5px 20px 4px 5px; - margin: 3px 0 3px 5px; - position: relative; - cursor: default; -} -.chzn-container-multi .chzn-choices .search-choice.search-choice-disabled { - background-color: #e4e4e4; - filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f4f4f4', endColorstr='#eeeeee', GradientType=0 ); - background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eeeeee)); - background-image: -webkit-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%); - background-image: -moz-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%); - background-image: -o-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%); - background-image: -ms-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%); - background-image: linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%); - color: #666; - border: 1px solid #cccccc; - padding-right: 5px; -} -.chzn-container-multi .chzn-choices .search-choice-focus { - background: #d4d4d4; -} -.chzn-container-multi .chzn-choices .search-choice .search-choice-close { - display: block; - position: absolute; - right: 3px; - top: 6px; - width: 12px; - height: 12px; - font-size: 1px; - background: url('chosen-sprite.png') -42px 1px no-repeat; -} -.chzn-container-multi .chzn-choices .search-choice .search-choice-close:hover { - background-position: -42px -10px; -} -.chzn-container-multi .chzn-choices .search-choice-focus .search-choice-close { - background-position: -42px -10px; -} -/* @end */ - -/* @group Results */ -.chzn-container .chzn-results { - margin: 0 4px 4px 0; - max-height: 240px; - padding: 0 0 0 4px; - position: relative; - overflow-x: hidden; - overflow-y: auto; - -webkit-overflow-scrolling: touch; -} -.chzn-container-multi .chzn-results { - margin: -1px 0 0; - padding: 0; -} -.chzn-container .chzn-results li { - display: none; - line-height: 15px; - padding: 5px 6px; - margin: 0; - list-style: none; -} -.chzn-container .chzn-results .active-result { - cursor: pointer; - display: list-item; -} -.chzn-container .chzn-results .highlighted { - background-color: #48A6D2; - color: #fff; -} -.chzn-container .chzn-results li em { - background: #feffde; - font-style: normal; -} -.chzn-container .chzn-results .highlighted em { - background: transparent; -} -.chzn-container .chzn-results .no-results { - background: #f4f4f4; - display: list-item; -} -.chzn-container .chzn-results .group-result { - cursor: default; - color: #999; - font-weight: bold; -} -.chzn-container .chzn-results .group-option { - padding-left: 15px; -} -.chzn-container-multi .chzn-drop .result-selected { - display: none; -} -.chzn-container .chzn-results-scroll { - background: white; - margin: 0 4px; - position: absolute; - text-align: center; - width: 321px; /* This should by dynamic with js */ - z-index: 1; -} -.chzn-container .chzn-results-scroll span { - display: inline-block; - height: 17px; - text-indent: -5000px; - width: 9px; -} -.chzn-container .chzn-results-scroll-down { - bottom: 0; -} -.chzn-container .chzn-results-scroll-down span { - background: url('chosen-sprite.png') no-repeat -4px -3px; -} -.chzn-container .chzn-results-scroll-up span { - background: url('chosen-sprite.png') no-repeat -22px -3px; -} -/* @end */ - -/* @group Active */ -.chzn-container-active .chzn-single { -} -.chzn-container-active .chzn-single-with-drop { - border: 1px solid #aaa; - -webkit-box-shadow: 0 1px 0 #fff inset; - -moz-box-shadow : 0 1px 0 #fff inset; - box-shadow : 0 1px 0 #fff inset; - background-color: #fff; - -webkit-border-bottom-left-radius : 0; - -webkit-border-bottom-right-radius: 0; - -moz-border-radius-bottomleft : 0; - -moz-border-radius-bottomright: 0; - border-bottom-left-radius : 0; - border-bottom-right-radius: 0; -} -.chzn-container-active .chzn-single-with-drop div { - background: transparent; - border-left: none; -} -.chzn-container-active .chzn-single-with-drop div b { - background-position: -18px 5px; -} -.chzn-container-active .chzn-choices { - -} -.chzn-container-active .chzn-choices .search-field input { - color: #111 !important; -} -/* @end */ - -/* @group Disabled Support */ -.chzn-disabled { - cursor: default; - opacity:0.5 !important; -} -.chzn-disabled .chzn-single { - cursor: default; -} -.chzn-disabled .chzn-choices .search-choice .search-choice-close { - cursor: default; -} - -/* @group Right to Left */ -.chzn-rtl { text-align: right; } -.chzn-rtl .chzn-single { padding: 0 8px 0 0; overflow: visible; } -.chzn-rtl .chzn-single span { margin-left: 26px; margin-right: 0; direction: rtl; } - -.chzn-rtl .chzn-single div { left: 3px; right: auto; } -.chzn-rtl .chzn-single abbr { - left: 26px; - right: auto; -} -.chzn-rtl .chzn-choices .search-field input { direction: rtl; } -.chzn-rtl .chzn-choices li { float: right; } -.chzn-rtl .chzn-choices .search-choice { padding: 3px 5px 3px 19px; margin: 3px 5px 3px 0; } -.chzn-rtl .chzn-choices .search-choice .search-choice-close { left: 4px; right: auto; } -.chzn-rtl.chzn-container-single .chzn-results { margin: 0 0 4px 4px; padding: 0 4px 0 0; } -.chzn-rtl .chzn-results .group-option { padding-left: 0; padding-right: 15px; } -.chzn-rtl.chzn-container-active .chzn-single-with-drop div { border-right: none; } -.chzn-rtl .chzn-search input { - background: #fff url('chosen-sprite.png') no-repeat -30px -20px; - background: url('chosen-sprite.png') no-repeat -30px -20px, -webkit-gradient(linear, 0 0, 0 100%, color-stop(1%, #eeeeee), color-stop(15%, #ffffff)); - background: url('chosen-sprite.png') no-repeat -30px -20px, -webkit-linear-gradient(top, #eeeeee 1%, #ffffff 15%); - background: url('chosen-sprite.png') no-repeat -30px -20px, -moz-linear-gradient(top, #eeeeee 1%, #ffffff 15%); - background: url('chosen-sprite.png') no-repeat -30px -20px, -o-linear-gradient(top, #eeeeee 1%, #ffffff 15%); - background: url('chosen-sprite.png') no-repeat -30px -20px, linear-gradient(#eeeeee 1%, #ffffff 15%); - padding: 4px 5px 4px 20px; - direction: rtl; -} -.chzn-container-single.chzn-rtl .chzn-single div b { - background-position: 6px 2px; -} -.chzn-container-single.chzn-rtl .chzn-single-with-drop div b { - background-position: -12px 2px; -} -/* @end */ - -/* @group Retina compatibility */ -@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-resolution: 144dpi) { - .chzn-rtl .chzn-search input, .chzn-container-single .chzn-single abbr, .chzn-container-single .chzn-single div b, .chzn-container-single .chzn-search input, .chzn-container-multi .chzn-choices .search-choice .search-choice-close, .chzn-container .chzn-results-scroll-down span, .chzn-container .chzn-results-scroll-up span { - background-image: url('chosen-sprite@2x.png') !important; - background-repeat: no-repeat !important; - background-size: 52px 37px !important; - } -} -/* @end */ - -.chzn-container, .chzn-container-single .chzn-drop,.chzn-container .chzn-drop {max-width:100%} -.chzn-container-single .chzn-search input {max-width:94%} \ No newline at end of file diff --git a/modules/lib/chosen/chosen.jquery.js b/modules/lib/chosen/chosen.jquery.js deleted file mode 100644 index 84d86e5..0000000 --- a/modules/lib/chosen/chosen.jquery.js +++ /dev/null @@ -1,1089 +0,0 @@ -// Chosen, a Select Box Enhancer for jQuery and Protoype -// by Patrick Filler for Harvest, http://getharvest.com -// -// Version 0.9.12 -// Full source at https://github.com/harvesthq/chosen -// Copyright (c) 2011 Harvest http://getharvest.com - -// MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md -// This file is generated by `cake build`, do not edit it by hand. -(function() { - var SelectParser; - - SelectParser = (function() { - - function SelectParser() { - this.options_index = 0; - this.parsed = []; - } - - SelectParser.prototype.add_node = function(child) { - if (child.nodeName.toUpperCase() === "OPTGROUP") { - return this.add_group(child); - } else { - return this.add_option(child); - } - }; - - SelectParser.prototype.add_group = function(group) { - var group_position, option, _i, _len, _ref, _results; - group_position = this.parsed.length; - this.parsed.push({ - array_index: group_position, - group: true, - label: group.label, - children: 0, - disabled: group.disabled - }); - _ref = group.childNodes; - _results = []; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - option = _ref[_i]; - _results.push(this.add_option(option, group_position, group.disabled)); - } - return _results; - }; - - SelectParser.prototype.add_option = function(option, group_position, group_disabled) { - if (option.nodeName.toUpperCase() === "OPTION") { - if (option.text !== "") { - if (group_position != null) { - this.parsed[group_position].children += 1; - } - this.parsed.push({ - array_index: this.parsed.length, - options_index: this.options_index, - value: option.value, - text: option.text, - html: option.innerHTML, - selected: option.selected, - disabled: group_disabled === true ? group_disabled : option.disabled, - group_array_index: group_position, - classes: option.className, - style: option.style.cssText - }); - } else { - this.parsed.push({ - array_index: this.parsed.length, - options_index: this.options_index, - empty: true - }); - } - return this.options_index += 1; - } - }; - - return SelectParser; - - })(); - - SelectParser.select_to_array = function(select) { - var child, parser, _i, _len, _ref; - parser = new SelectParser(); - _ref = select.childNodes; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - child = _ref[_i]; - parser.add_node(child); - } - return parser.parsed; - }; - - this.SelectParser = SelectParser; - -}).call(this); - -/* -Chosen source: generate output using 'cake build' -Copyright (c) 2011 by Harvest -*/ - - -(function() { - var AbstractChosen, root; - - root = this; - - AbstractChosen = (function() { - - function AbstractChosen(form_field, options) { - this.form_field = form_field; - this.options = options != null ? options : {}; - this.is_multiple = this.form_field.multiple; - this.set_default_text(); - this.set_default_values(); - this.setup(); - this.set_up_html(); - this.register_observers(); - this.finish_setup(); - } - - AbstractChosen.prototype.set_default_values = function() { - var _this = this; - this.click_test_action = function(evt) { - return _this.test_active_click(evt); - }; - this.activate_action = function(evt) { - return _this.activate_field(evt); - }; - this.active_field = false; - this.mouse_on_container = false; - this.results_showing = false; - this.result_highlighted = null; - this.result_single_selected = null; - this.allow_single_deselect = (this.options.allow_single_deselect != null) && (this.form_field.options[0] != null) && this.form_field.options[0].text === "" ? this.options.allow_single_deselect : false; - this.disable_search_threshold = this.options.disable_search_threshold || 0; - this.disable_search = this.options.disable_search || false; - this.enable_split_word_search = this.options.enable_split_word_search != null ? this.options.enable_split_word_search : true; - this.search_contains = this.options.search_contains || false; - this.choices = 0; - this.single_backstroke_delete = this.options.single_backstroke_delete || false; - this.max_selected_options = this.options.max_selected_options || Infinity; - return this.inherit_select_classes = this.options.inherit_select_classes || false; - }; - - AbstractChosen.prototype.set_default_text = function() { - if (this.form_field.getAttribute("data-placeholder")) { - this.default_text = this.form_field.getAttribute("data-placeholder"); - } else if (this.is_multiple) { - this.default_text = this.options.placeholder_text_multiple || this.options.placeholder_text || "Select Some Options"; - } else { - this.default_text = this.options.placeholder_text_single || this.options.placeholder_text || "Select an Option"; - } - return this.results_none_found = this.form_field.getAttribute("data-no_results_text") || this.options.no_results_text || "No results match"; - }; - - AbstractChosen.prototype.mouse_enter = function() { - return this.mouse_on_container = true; - }; - - AbstractChosen.prototype.mouse_leave = function() { - return this.mouse_on_container = false; - }; - - AbstractChosen.prototype.input_focus = function(evt) { - var _this = this; - if (this.is_multiple) { - if (!this.active_field) { - return setTimeout((function() { - return _this.container_mousedown(); - }), 50); - } - } else { - if (!this.active_field) { - return this.activate_field(); - } - } - }; - - AbstractChosen.prototype.input_blur = function(evt) { - var _this = this; - if (!this.mouse_on_container) { - this.active_field = false; - return setTimeout((function() { - return _this.blur_test(); - }), 100); - } - }; - - AbstractChosen.prototype.result_add_option = function(option) { - var classes, style; - if (!option.disabled) { - option.dom_id = this.container_id + "_o_" + option.array_index; - classes = option.selected && this.is_multiple ? [] : ["active-result"]; - if (option.selected) { - classes.push("result-selected"); - } - if (option.group_array_index != null) { - classes.push("group-option"); - } - if (option.classes !== "") { - classes.push(option.classes); - } - style = option.style.cssText !== "" ? " style=\"" + option.style + "\"" : ""; - return '
  • ' + option.html + '
  • '; - } else { - return ""; - } - }; - - AbstractChosen.prototype.results_update_field = function() { - if (!this.is_multiple) { - this.results_reset_cleanup(); - } - this.result_clear_highlight(); - this.result_single_selected = null; - return this.results_build(); - }; - - AbstractChosen.prototype.results_toggle = function() { - if (this.results_showing) { - return this.results_hide(); - } else { - return this.results_show(); - } - }; - - AbstractChosen.prototype.results_search = function(evt) { - if (this.results_showing) { - return this.winnow_results(); - } else { - return this.results_show(); - } - }; - - AbstractChosen.prototype.keyup_checker = function(evt) { - var stroke, _ref; - stroke = (_ref = evt.which) != null ? _ref : evt.keyCode; - this.search_field_scale(); - switch (stroke) { - case 8: - if (this.is_multiple && this.backstroke_length < 1 && this.choices > 0) { - return this.keydown_backstroke(); - } else if (!this.pending_backstroke) { - this.result_clear_highlight(); - return this.results_search(); - } - break; - case 13: - evt.preventDefault(); - if (this.results_showing) { - return this.result_select(evt); - } - break; - case 27: - if (this.results_showing) { - this.results_hide(); - } - return true; - case 9: - case 38: - case 40: - case 16: - case 91: - case 17: - break; - default: - return this.results_search(); - } - }; - - AbstractChosen.prototype.generate_field_id = function() { - var new_id; - new_id = this.generate_random_id(); - this.form_field.id = new_id; - return new_id; - }; - - AbstractChosen.prototype.generate_random_char = function() { - var chars, newchar, rand; - chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; - rand = Math.floor(Math.random() * chars.length); - return newchar = chars.substring(rand, rand + 1); - }; - - return AbstractChosen; - - })(); - - root.AbstractChosen = AbstractChosen; - -}).call(this); - -/* -Chosen source: generate output using 'cake build' -Copyright (c) 2011 by Harvest -*/ - - -(function() { - var $, Chosen, get_side_border_padding, root, - __hasProp = {}.hasOwnProperty, - __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }; - - root = this; - - $ = jQuery; - - $.fn.extend({ - chosen: function(options) { - var browser, match, ua; - ua = navigator.userAgent.toLowerCase(); - match = /(msie) ([\w.]+)/.exec(ua) || []; - browser = { - name: match[1] || "", - version: match[2] || "0" - }; - if (browser.name === "msie" && (browser.version === "6.0" || (browser.version === "7.0" && document.documentMode === 7))) { - return this; - } - return this.each(function(input_field) { - var $this; - $this = $(this); - if (!$this.hasClass("chzn-done")) { - return $this.data('chosen', new Chosen(this, options)); - } - }); - } - }); - - Chosen = (function(_super) { - - __extends(Chosen, _super); - - function Chosen() { - Chosen.__super__.constructor.apply(this, arguments); - } - - Chosen.prototype.setup = function() { - this.form_field_jq = $(this.form_field); - this.current_value = this.form_field_jq.val(); - return this.is_rtl = this.form_field_jq.hasClass("chzn-rtl"); - }; - - Chosen.prototype.finish_setup = function() { - return this.form_field_jq.addClass("chzn-done"); - }; - - Chosen.prototype.set_up_html = function() { - var container_classes, container_div, container_props, dd_top, dd_width, sf_width; - this.container_id = this.form_field.id.length ? this.form_field.id.replace(/[^\w]/g, '_') : this.generate_field_id(); - this.container_id += "_chzn"; - container_classes = ["chzn-container"]; - container_classes.push("chzn-container-" + (this.is_multiple ? "multi" : "single")); - if (this.inherit_select_classes && this.form_field.className) { - container_classes.push(this.form_field.className); - } - if (this.is_rtl) { - container_classes.push("chzn-rtl"); - } - this.f_width = this.form_field_jq.outerWidth(); - container_props = { - id: this.container_id, - "class": container_classes.join(' '), - style: 'width: ' + this.f_width + 'px;', - title: this.form_field.title - }; - container_div = $("
    ", container_props); - if (this.is_multiple) { - container_div.html('
      '); - } else { - container_div.html('' + this.default_text + '
        '); - } - this.form_field_jq.hide().after(container_div); - this.container = $('#' + this.container_id); - this.dropdown = this.container.find('div.chzn-drop').first(); - dd_top = this.container.height(); - dd_width = this.f_width - get_side_border_padding(this.dropdown); - this.dropdown.css({ - "width": dd_width + "px", - "top": dd_top + "px" - }); - this.search_field = this.container.find('input').first(); - this.search_results = this.container.find('ul.chzn-results').first(); - this.search_field_scale(); - this.search_no_results = this.container.find('li.no-results').first(); - if (this.is_multiple) { - this.search_choices = this.container.find('ul.chzn-choices').first(); - this.search_container = this.container.find('li.search-field').first(); - } else { - this.search_container = this.container.find('div.chzn-search').first(); - this.selected_item = this.container.find('.chzn-single').first(); - sf_width = dd_width - get_side_border_padding(this.search_container) - get_side_border_padding(this.search_field); - this.search_field.css({ - "width": sf_width + "px" - }); - } - this.results_build(); - this.set_tab_index(); - return this.form_field_jq.trigger("liszt:ready", { - chosen: this - }); - }; - - Chosen.prototype.register_observers = function() { - var _this = this; - this.container.mousedown(function(evt) { - _this.container_mousedown(evt); - }); - this.container.mouseup(function(evt) { - _this.container_mouseup(evt); - }); - this.container.mouseenter(function(evt) { - _this.mouse_enter(evt); - }); - this.container.mouseleave(function(evt) { - _this.mouse_leave(evt); - }); - this.search_results.mouseup(function(evt) { - _this.search_results_mouseup(evt); - }); - this.search_results.mouseover(function(evt) { - _this.search_results_mouseover(evt); - }); - this.search_results.mouseout(function(evt) { - _this.search_results_mouseout(evt); - }); - this.form_field_jq.bind("liszt:updated", function(evt) { - _this.results_update_field(evt); - }); - this.form_field_jq.bind("liszt:activate", function(evt) { - _this.activate_field(evt); - }); - this.form_field_jq.bind("liszt:open", function(evt) { - _this.container_mousedown(evt); - }); - this.search_field.blur(function(evt) { - _this.input_blur(evt); - }); - this.search_field.keyup(function(evt) { - _this.keyup_checker(evt); - }); - this.search_field.keydown(function(evt) { - _this.keydown_checker(evt); - }); - this.search_field.focus(function(evt) { - _this.input_focus(evt); - }); - if (this.is_multiple) { - return this.search_choices.click(function(evt) { - _this.choices_click(evt); - }); - } else { - return this.container.click(function(evt) { - evt.preventDefault(); - }); - } - }; - - Chosen.prototype.search_field_disabled = function() { - this.is_disabled = this.form_field_jq[0].disabled; - if (this.is_disabled) { - this.container.addClass('chzn-disabled'); - this.search_field[0].disabled = true; - if (!this.is_multiple) { - this.selected_item.unbind("focus", this.activate_action); - } - return this.close_field(); - } else { - this.container.removeClass('chzn-disabled'); - this.search_field[0].disabled = false; - if (!this.is_multiple) { - return this.selected_item.bind("focus", this.activate_action); - } - } - }; - - Chosen.prototype.container_mousedown = function(evt) { - var target_closelink; - if (!this.is_disabled) { - target_closelink = evt != null ? ($(evt.target)).hasClass("search-choice-close") : false; - if (evt && evt.type === "mousedown" && !this.results_showing) { - evt.preventDefault(); - } - if (!this.pending_destroy_click && !target_closelink) { - if (!this.active_field) { - if (this.is_multiple) { - this.search_field.val(""); - } - $(document).click(this.click_test_action); - this.results_show(); - } else if (!this.is_multiple && evt && (($(evt.target)[0] === this.selected_item[0]) || $(evt.target).parents("a.chzn-single").length)) { - evt.preventDefault(); - this.results_toggle(); - } - return this.activate_field(); - } else { - return this.pending_destroy_click = false; - } - } - }; - - Chosen.prototype.container_mouseup = function(evt) { - if (evt.target.nodeName === "ABBR" && !this.is_disabled) { - return this.results_reset(evt); - } - }; - - Chosen.prototype.blur_test = function(evt) { - if (!this.active_field && this.container.hasClass("chzn-container-active")) { - return this.close_field(); - } - }; - - Chosen.prototype.close_field = function() { - $(document).unbind("click", this.click_test_action); - this.active_field = false; - this.results_hide(); - this.container.removeClass("chzn-container-active"); - this.winnow_results_clear(); - this.clear_backstroke(); - this.show_search_field_default(); - return this.search_field_scale(); - }; - - Chosen.prototype.activate_field = function() { - this.container.addClass("chzn-container-active"); - this.active_field = true; - this.search_field.val(this.search_field.val()); - return this.search_field.focus(); - }; - - Chosen.prototype.test_active_click = function(evt) { - if ($(evt.target).parents('#' + this.container_id).length) { - return this.active_field = true; - } else { - return this.close_field(); - } - }; - - Chosen.prototype.results_build = function() { - var content, data, _i, _len, _ref; - this.parsing = true; - this.results_data = root.SelectParser.select_to_array(this.form_field); - if (this.is_multiple && this.choices > 0) { - this.search_choices.find("li.search-choice").remove(); - this.choices = 0; - } else if (!this.is_multiple) { - this.selected_item.addClass("chzn-default").find("span").text(this.default_text); - if (this.disable_search || this.form_field.options.length <= this.disable_search_threshold) { - this.container.addClass("chzn-container-single-nosearch"); - } else { - this.container.removeClass("chzn-container-single-nosearch"); - } - } - content = ''; - _ref = this.results_data; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - data = _ref[_i]; - if (data.group) { - content += this.result_add_group(data); - } else if (!data.empty) { - content += this.result_add_option(data); - if (data.selected && this.is_multiple) { - this.choice_build(data); - } else if (data.selected && !this.is_multiple) { - this.selected_item.removeClass("chzn-default").find("span").text(data.text); - if (this.allow_single_deselect) { - this.single_deselect_control_build(); - } - } - } - } - this.search_field_disabled(); - this.show_search_field_default(); - this.search_field_scale(); - this.search_results.html(content); - return this.parsing = false; - }; - - Chosen.prototype.result_add_group = function(group) { - if (!group.disabled) { - group.dom_id = this.container_id + "_g_" + group.array_index; - return '
      • ' + $("
        ").text(group.label).html() + '
      • '; - } else { - return ""; - } - }; - - Chosen.prototype.result_do_highlight = function(el) { - var high_bottom, high_top, maxHeight, visible_bottom, visible_top; - if (el.length) { - this.result_clear_highlight(); - this.result_highlight = el; - this.result_highlight.addClass("highlighted"); - maxHeight = parseInt(this.search_results.css("maxHeight"), 10); - visible_top = this.search_results.scrollTop(); - visible_bottom = maxHeight + visible_top; - high_top = this.result_highlight.position().top + this.search_results.scrollTop(); - high_bottom = high_top + this.result_highlight.outerHeight(); - if (high_bottom >= visible_bottom) { - return this.search_results.scrollTop((high_bottom - maxHeight) > 0 ? high_bottom - maxHeight : 0); - } else if (high_top < visible_top) { - return this.search_results.scrollTop(high_top); - } - } - }; - - Chosen.prototype.result_clear_highlight = function() { - if (this.result_highlight) { - this.result_highlight.removeClass("highlighted"); - } - return this.result_highlight = null; - }; - - Chosen.prototype.results_show = function() { - var dd_top; - if (!this.is_multiple) { - this.selected_item.addClass("chzn-single-with-drop"); - if (this.result_single_selected) { - this.result_do_highlight(this.result_single_selected); - } - } else if (this.max_selected_options <= this.choices) { - this.form_field_jq.trigger("liszt:maxselected", { - chosen: this - }); - return false; - } - dd_top = this.is_multiple ? this.container.height() : this.container.height() - 1; - this.form_field_jq.trigger("liszt:showing_dropdown", { - chosen: this - }); - this.dropdown.css({ - "top": dd_top + "px", - "left": 0 - }); - this.results_showing = true; - this.search_field.focus(); - this.search_field.val(this.search_field.val()); - return this.winnow_results(); - }; - - Chosen.prototype.results_hide = function() { - if (!this.is_multiple) { - this.selected_item.removeClass("chzn-single-with-drop"); - } - this.result_clear_highlight(); - this.form_field_jq.trigger("liszt:hiding_dropdown", { - chosen: this - }); - this.dropdown.css({ - "left": "-9000px" - }); - return this.results_showing = false; - }; - - Chosen.prototype.set_tab_index = function(el) { - var ti; - if (this.form_field_jq.attr("tabindex")) { - ti = this.form_field_jq.attr("tabindex"); - this.form_field_jq.attr("tabindex", -1); - return this.search_field.attr("tabindex", ti); - } - }; - - Chosen.prototype.show_search_field_default = function() { - if (this.is_multiple && this.choices < 1 && !this.active_field) { - this.search_field.val(this.default_text); - return this.search_field.addClass("default"); - } else { - this.search_field.val(""); - return this.search_field.removeClass("default"); - } - }; - - Chosen.prototype.search_results_mouseup = function(evt) { - var target; - target = $(evt.target).hasClass("active-result") ? $(evt.target) : $(evt.target).parents(".active-result").first(); - if (target.length) { - this.result_highlight = target; - this.result_select(evt); - return this.search_field.focus(); - } - }; - - Chosen.prototype.search_results_mouseover = function(evt) { - var target; - target = $(evt.target).hasClass("active-result") ? $(evt.target) : $(evt.target).parents(".active-result").first(); - if (target) { - return this.result_do_highlight(target); - } - }; - - Chosen.prototype.search_results_mouseout = function(evt) { - if ($(evt.target).hasClass("active-result" || $(evt.target).parents('.active-result').first())) { - return this.result_clear_highlight(); - } - }; - - Chosen.prototype.choices_click = function(evt) { - evt.preventDefault(); - if (this.active_field && !($(evt.target).hasClass("search-choice" || $(evt.target).parents('.search-choice').first)) && !this.results_showing) { - return this.results_show(); - } - }; - - Chosen.prototype.choice_build = function(item) { - var choice_id, html, link, - _this = this; - if (this.is_multiple && this.max_selected_options <= this.choices) { - this.form_field_jq.trigger("liszt:maxselected", { - chosen: this - }); - return false; - } - choice_id = this.container_id + "_c_" + item.array_index; - this.choices += 1; - if (item.disabled) { - html = '
      • ' + item.html + '
      • '; - } else { - html = '
      • ' + item.html + '
      • '; - } - this.search_container.before(html); - link = $('#' + choice_id).find("a").first(); - return link.click(function(evt) { - return _this.choice_destroy_link_click(evt); - }); - }; - - Chosen.prototype.choice_destroy_link_click = function(evt) { - evt.preventDefault(); - if (!this.is_disabled) { - this.pending_destroy_click = true; - return this.choice_destroy($(evt.target)); - } else { - return evt.stopPropagation; - } - }; - - Chosen.prototype.choice_destroy = function(link) { - if (this.result_deselect(link.attr("rel"))) { - this.choices -= 1; - this.show_search_field_default(); - if (this.is_multiple && this.choices > 0 && this.search_field.val().length < 1) { - this.results_hide(); - } - link.parents('li').first().remove(); - return this.search_field_scale(); - } - }; - - Chosen.prototype.results_reset = function() { - this.form_field.options[0].selected = true; - this.selected_item.find("span").text(this.default_text); - if (!this.is_multiple) { - this.selected_item.addClass("chzn-default"); - } - this.show_search_field_default(); - this.results_reset_cleanup(); - this.form_field_jq.trigger("change"); - if (this.active_field) { - return this.results_hide(); - } - }; - - Chosen.prototype.results_reset_cleanup = function() { - this.current_value = this.form_field_jq.val(); - return this.selected_item.find("abbr").remove(); - }; - - Chosen.prototype.result_select = function(evt) { - var high, high_id, item, position; - if (this.result_highlight) { - high = this.result_highlight; - high_id = high.attr("id"); - this.result_clear_highlight(); - if (this.is_multiple) { - this.result_deactivate(high); - } else { - this.search_results.find(".result-selected").removeClass("result-selected"); - this.result_single_selected = high; - this.selected_item.removeClass("chzn-default"); - } - high.addClass("result-selected"); - position = high_id.substr(high_id.lastIndexOf("_") + 1); - item = this.results_data[position]; - item.selected = true; - this.form_field.options[item.options_index].selected = true; - if (this.is_multiple) { - this.choice_build(item); - } else { - this.selected_item.find("span").first().text(item.text); - if (this.allow_single_deselect) { - this.single_deselect_control_build(); - } - } - if (!((evt.metaKey || evt.ctrlKey) && this.is_multiple)) { - this.results_hide(); - } - this.search_field.val(""); - if (this.is_multiple || this.form_field_jq.val() !== this.current_value) { - this.form_field_jq.trigger("change", { - 'selected': this.form_field.options[item.options_index].value - }); - } - this.current_value = this.form_field_jq.val(); - return this.search_field_scale(); - } - }; - - Chosen.prototype.result_activate = function(el) { - return el.addClass("active-result"); - }; - - Chosen.prototype.result_deactivate = function(el) { - return el.removeClass("active-result"); - }; - - Chosen.prototype.result_deselect = function(pos) { - var result, result_data; - result_data = this.results_data[pos]; - if (!this.form_field.options[result_data.options_index].disabled) { - result_data.selected = false; - this.form_field.options[result_data.options_index].selected = false; - result = $("#" + this.container_id + "_o_" + pos); - result.removeClass("result-selected").addClass("active-result").show(); - this.result_clear_highlight(); - this.winnow_results(); - this.form_field_jq.trigger("change", { - deselected: this.form_field.options[result_data.options_index].value - }); - this.search_field_scale(); - return true; - } else { - return false; - } - }; - - Chosen.prototype.single_deselect_control_build = function() { - if (this.allow_single_deselect && this.selected_item.find("abbr").length < 1) { - return this.selected_item.find("span").first().after(""); - } - }; - - Chosen.prototype.winnow_results = function() { - var found, option, part, parts, regex, regexAnchor, result, result_id, results, searchText, startpos, text, zregex, _i, _j, _len, _len1, _ref; - this.no_results_clear(); - results = 0; - searchText = this.search_field.val() === this.default_text ? "" : $('
        ').text($.trim(this.search_field.val())).html(); - regexAnchor = this.search_contains ? "" : "^"; - regex = new RegExp(regexAnchor + searchText.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"), 'i'); - zregex = new RegExp(searchText.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"), 'i'); - _ref = this.results_data; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - option = _ref[_i]; - if (!option.disabled && !option.empty) { - if (option.group) { - $('#' + option.dom_id).css('display', 'none'); - } else if (!(this.is_multiple && option.selected)) { - found = false; - result_id = option.dom_id; - result = $("#" + result_id); - if (regex.test(option.html)) { - found = true; - results += 1; - } else if (this.enable_split_word_search && (option.html.indexOf(" ") >= 0 || option.html.indexOf("[") === 0)) { - parts = option.html.replace(/\[|\]/g, "").split(" "); - if (parts.length) { - for (_j = 0, _len1 = parts.length; _j < _len1; _j++) { - part = parts[_j]; - if (regex.test(part)) { - found = true; - results += 1; - } - } - } - } - if (found) { - if (searchText.length) { - startpos = option.html.search(zregex); - text = option.html.substr(0, startpos + searchText.length) + '' + option.html.substr(startpos + searchText.length); - text = text.substr(0, startpos) + '' + text.substr(startpos); - } else { - text = option.html; - } - result.html(text); - this.result_activate(result); - if (option.group_array_index != null) { - $("#" + this.results_data[option.group_array_index].dom_id).css('display', 'list-item'); - } - } else { - if (this.result_highlight && result_id === this.result_highlight.attr('id')) { - this.result_clear_highlight(); - } - this.result_deactivate(result); - } - } - } - } - if (results < 1 && searchText.length) { - return this.no_results(searchText); - } else { - return this.winnow_results_set_highlight(); - } - }; - - Chosen.prototype.winnow_results_clear = function() { - var li, lis, _i, _len, _results; - this.search_field.val(""); - lis = this.search_results.find("li"); - _results = []; - for (_i = 0, _len = lis.length; _i < _len; _i++) { - li = lis[_i]; - li = $(li); - if (li.hasClass("group-result")) { - _results.push(li.css('display', 'auto')); - } else if (!this.is_multiple || !li.hasClass("result-selected")) { - _results.push(this.result_activate(li)); - } else { - _results.push(void 0); - } - } - return _results; - }; - - Chosen.prototype.winnow_results_set_highlight = function() { - var do_high, selected_results; - if (!this.result_highlight) { - selected_results = !this.is_multiple ? this.search_results.find(".result-selected.active-result") : []; - do_high = selected_results.length ? selected_results.first() : this.search_results.find(".active-result").first(); - if (do_high != null) { - return this.result_do_highlight(do_high); - } - } - }; - - Chosen.prototype.no_results = function(terms) { - var no_results_html; - no_results_html = $('
      • ' + this.results_none_found + ' ""
      • '); - no_results_html.find("span").first().html(terms); - return this.search_results.append(no_results_html); - }; - - Chosen.prototype.no_results_clear = function() { - return this.search_results.find(".no-results").remove(); - }; - - Chosen.prototype.keydown_arrow = function() { - var first_active, next_sib; - if (!this.result_highlight) { - first_active = this.search_results.find("li.active-result").first(); - if (first_active) { - this.result_do_highlight($(first_active)); - } - } else if (this.results_showing) { - next_sib = this.result_highlight.nextAll("li.active-result").first(); - if (next_sib) { - this.result_do_highlight(next_sib); - } - } - if (!this.results_showing) { - return this.results_show(); - } - }; - - Chosen.prototype.keyup_arrow = function() { - var prev_sibs; - if (!this.results_showing && !this.is_multiple) { - return this.results_show(); - } else if (this.result_highlight) { - prev_sibs = this.result_highlight.prevAll("li.active-result"); - if (prev_sibs.length) { - return this.result_do_highlight(prev_sibs.first()); - } else { - if (this.choices > 0) { - this.results_hide(); - } - return this.result_clear_highlight(); - } - } - }; - - Chosen.prototype.keydown_backstroke = function() { - var next_available_destroy; - if (this.pending_backstroke) { - this.choice_destroy(this.pending_backstroke.find("a").first()); - return this.clear_backstroke(); - } else { - next_available_destroy = this.search_container.siblings("li.search-choice").last(); - if (next_available_destroy.length && !next_available_destroy.hasClass("search-choice-disabled")) { - this.pending_backstroke = next_available_destroy; - if (this.single_backstroke_delete) { - return this.keydown_backstroke(); - } else { - return this.pending_backstroke.addClass("search-choice-focus"); - } - } - } - }; - - Chosen.prototype.clear_backstroke = function() { - if (this.pending_backstroke) { - this.pending_backstroke.removeClass("search-choice-focus"); - } - return this.pending_backstroke = null; - }; - - Chosen.prototype.keydown_checker = function(evt) { - var stroke, _ref; - stroke = (_ref = evt.which) != null ? _ref : evt.keyCode; - this.search_field_scale(); - if (stroke !== 8 && this.pending_backstroke) { - this.clear_backstroke(); - } - switch (stroke) { - case 8: - this.backstroke_length = this.search_field.val().length; - break; - case 9: - if (this.results_showing && !this.is_multiple) { - this.result_select(evt); - } - this.mouse_on_container = false; - break; - case 13: - evt.preventDefault(); - break; - case 38: - evt.preventDefault(); - this.keyup_arrow(); - break; - case 40: - this.keydown_arrow(); - break; - } - }; - - Chosen.prototype.search_field_scale = function() { - var dd_top, div, h, style, style_block, styles, w, _i, _len; - if (this.is_multiple) { - h = 0; - w = 0; - style_block = "position:absolute; left: -1000px; top: -1000px; display:none;"; - styles = ['font-size', 'font-style', 'font-weight', 'font-family', 'line-height', 'text-transform', 'letter-spacing']; - for (_i = 0, _len = styles.length; _i < _len; _i++) { - style = styles[_i]; - style_block += style + ":" + this.search_field.css(style) + ";"; - } - div = $('
        ', { - 'style': style_block - }); - div.text(this.search_field.val()); - $('body').append(div); - w = div.width() + 25; - div.remove(); - if (w > this.f_width - 10) { - w = this.f_width - 10; - } - this.search_field.css({ - 'width': w + 'px' - }); - dd_top = this.container.height(); - return this.dropdown.css({ - "top": dd_top + "px" - }); - } - }; - - Chosen.prototype.generate_random_id = function() { - var string; - string = "sel" + this.generate_random_char() + this.generate_random_char() + this.generate_random_char(); - while ($("#" + string).length > 0) { - string += this.generate_random_char(); - } - return string; - }; - - return Chosen; - - })(AbstractChosen); - - root.Chosen = Chosen; - - get_side_border_padding = function(elmt) { - var side_border_padding; - return side_border_padding = elmt.outerWidth() - elmt.width(); - }; - - root.get_side_border_padding = get_side_border_padding; - -}).call(this); diff --git a/modules/lib/chosen/chosen.jquery.min.js b/modules/lib/chosen/chosen.jquery.min.js deleted file mode 100644 index 88e8e62..0000000 --- a/modules/lib/chosen/chosen.jquery.min.js +++ /dev/null @@ -1,10 +0,0 @@ -// Chosen, a Select Box Enhancer for jQuery and Protoype -// by Patrick Filler for Harvest, http://getharvest.com -// -// Version 0.9.12 -// Full source at https://github.com/harvesthq/chosen -// Copyright (c) 2011 Harvest http://getharvest.com - -// MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md -// This file is generated by `cake build`, do not edit it by hand. -(function(){var e;e=function(){function e(){this.options_index=0,this.parsed=[]}return e.prototype.add_node=function(e){return e.nodeName.toUpperCase()==="OPTGROUP"?this.add_group(e):this.add_option(e)},e.prototype.add_group=function(e){var t,n,r,i,s,o;t=this.parsed.length,this.parsed.push({array_index:t,group:!0,label:e.label,children:0,disabled:e.disabled}),s=e.childNodes,o=[];for(r=0,i=s.length;r"+e.html+"")},e.prototype.results_update_field=function(){return this.is_multiple||this.results_reset_cleanup(),this.result_clear_highlight(),this.result_single_selected=null,this.results_build()},e.prototype.results_toggle=function(){return this.results_showing?this.results_hide():this.results_show()},e.prototype.results_search=function(e){return this.results_showing?this.winnow_results():this.results_show()},e.prototype.keyup_checker=function(e){var t,n;t=(n=e.which)!=null?n:e.keyCode,this.search_field_scale();switch(t){case 8:if(this.is_multiple&&this.backstroke_length<1&&this.choices>0)return this.keydown_backstroke();if(!this.pending_backstroke)return this.result_clear_highlight(),this.results_search();break;case 13:e.preventDefault();if(this.results_showing)return this.result_select(e);break;case 27:return this.results_showing&&this.results_hide(),!0;case 9:case 38:case 40:case 16:case 91:case 17:break;default:return this.results_search()}},e.prototype.generate_field_id=function(){var e;return e=this.generate_random_id(),this.form_field.id=e,e},e.prototype.generate_random_char=function(){var e,t,n;return e="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",n=Math.floor(Math.random()*e.length),t=e.substring(n,n+1)},e}(),t.AbstractChosen=e}.call(this),function(){var e,t,n,r,i={}.hasOwnProperty,s=function(e,t){function r(){this.constructor=e}for(var n in t)i.call(t,n)&&(e[n]=t[n]);return r.prototype=t.prototype,e.prototype=new r,e.__super__=t.prototype,e};r=this,e=jQuery,e.fn.extend({chosen:function(n){var r,i,s;return s=navigator.userAgent.toLowerCase(),i=/(msie) ([\w.]+)/.exec(s)||[],r={name:i[1]||"",version:i[2]||"0"},r.name==="msie"&&(r.version==="6.0"||r.version==="7.0"&&document.documentMode===7)?this:this.each(function(r){var i;i=e(this);if(!i.hasClass("chzn-done"))return i.data("chosen",new t(this,n))})}}),t=function(t){function i(){i.__super__.constructor.apply(this,arguments)}return s(i,t),i.prototype.setup=function(){return this.form_field_jq=e(this.form_field),this.current_value=this.form_field_jq.val(),this.is_rtl=this.form_field_jq.hasClass("chzn-rtl")},i.prototype.finish_setup=function(){return this.form_field_jq.addClass("chzn-done")},i.prototype.set_up_html=function(){var t,r,i,s,o,u;return this.container_id=this.form_field.id.length?this.form_field.id.replace(/[^\w]/g,"_"):this.generate_field_id(),this.container_id+="_chzn",t=["chzn-container"],t.push("chzn-container-"+(this.is_multiple?"multi":"single")),this.inherit_select_classes&&this.form_field.className&&t.push(this.form_field.className),this.is_rtl&&t.push("chzn-rtl"),this.f_width=this.form_field_jq.outerWidth(),i={id:this.container_id,"class":t.join(" "),style:"width: "+this.f_width+"px;",title:this.form_field.title},r=e("
        ",i),this.is_multiple?r.html('
          '):r.html(''+this.default_text+'
            '),this.form_field_jq.hide().after(r),this.container=e("#"+this.container_id),this.dropdown=this.container.find("div.chzn-drop").first(),s=this.container.height(),o=this.f_width-n(this.dropdown),this.dropdown.css({width:o+"px",top:s+"px"}),this.search_field=this.container.find("input").first(),this.search_results=this.container.find("ul.chzn-results").first(),this.search_field_scale(),this.search_no_results=this.container.find("li.no-results").first(),this.is_multiple?(this.search_choices=this.container.find("ul.chzn-choices").first(),this.search_container=this.container.find("li.search-field").first()):(this.search_container=this.container.find("div.chzn-search").first(),this.selected_item=this.container.find(".chzn-single").first(),u=o-n(this.search_container)-n(this.search_field),this.search_field.css({width:u+"px"})),this.results_build(),this.set_tab_index(),this.form_field_jq.trigger("liszt:ready",{chosen:this})},i.prototype.register_observers=function(){var e=this;return this.container.mousedown(function(t){e.container_mousedown(t)}),this.container.mouseup(function(t){e.container_mouseup(t)}),this.container.mouseenter(function(t){e.mouse_enter(t)}),this.container.mouseleave(function(t){e.mouse_leave(t)}),this.search_results.mouseup(function(t){e.search_results_mouseup(t)}),this.search_results.mouseover(function(t){e.search_results_mouseover(t)}),this.search_results.mouseout(function(t){e.search_results_mouseout(t)}),this.form_field_jq.bind("liszt:updated",function(t){e.results_update_field(t)}),this.form_field_jq.bind("liszt:activate",function(t){e.activate_field(t)}),this.form_field_jq.bind("liszt:open",function(t){e.container_mousedown(t)}),this.search_field.blur(function(t){e.input_blur(t)}),this.search_field.keyup(function(t){e.keyup_checker(t)}),this.search_field.keydown(function(t){e.keydown_checker(t)}),this.search_field.focus(function(t){e.input_focus(t)}),this.is_multiple?this.search_choices.click(function(t){e.choices_click(t)}):this.container.click(function(e){e.preventDefault()})},i.prototype.search_field_disabled=function(){this.is_disabled=this.form_field_jq[0].disabled;if(this.is_disabled)return this.container.addClass("chzn-disabled"),this.search_field[0].disabled=!0,this.is_multiple||this.selected_item.unbind("focus",this.activate_action),this.close_field();this.container.removeClass("chzn-disabled"),this.search_field[0].disabled=!1;if(!this.is_multiple)return this.selected_item.bind("focus",this.activate_action)},i.prototype.container_mousedown=function(t){var n;if(!this.is_disabled)return n=t!=null?e(t.target).hasClass("search-choice-close"):!1,t&&t.type==="mousedown"&&!this.results_showing&&t.preventDefault(),!this.pending_destroy_click&&!n?(this.active_field?!this.is_multiple&&t&&(e(t.target)[0]===this.selected_item[0]||e(t.target).parents("a.chzn-single").length)&&(t.preventDefault(),this.results_toggle()):(this.is_multiple&&this.search_field.val(""),e(document).click(this.click_test_action),this.results_show()),this.activate_field()):this.pending_destroy_click=!1},i.prototype.container_mouseup=function(e){if(e.target.nodeName==="ABBR"&&!this.is_disabled)return this.results_reset(e)},i.prototype.blur_test=function(e){if(!this.active_field&&this.container.hasClass("chzn-container-active"))return this.close_field()},i.prototype.close_field=function(){return e(document).unbind("click",this.click_test_action),this.active_field=!1,this.results_hide(),this.container.removeClass("chzn-container-active"),this.winnow_results_clear(),this.clear_backstroke(),this.show_search_field_default(),this.search_field_scale()},i.prototype.activate_field=function(){return this.container.addClass("chzn-container-active"),this.active_field=!0,this.search_field.val(this.search_field.val()),this.search_field.focus()},i.prototype.test_active_click=function(t){return e(t.target).parents("#"+this.container_id).length?this.active_field=!0:this.close_field()},i.prototype.results_build=function(){var e,t,n,i,s;this.parsing=!0,this.results_data=r.SelectParser.select_to_array(this.form_field),this.is_multiple&&this.choices>0?(this.search_choices.find("li.search-choice").remove(),this.choices=0):this.is_multiple||(this.selected_item.addClass("chzn-default").find("span").text(this.default_text),this.disable_search||this.form_field.options.length<=this.disable_search_threshold?this.container.addClass("chzn-container-single-nosearch"):this.container.removeClass("chzn-container-single-nosearch")),e="",s=this.results_data;for(n=0,i=s.length;n'+e("
            ").text(t.label).html()+"")},i.prototype.result_do_highlight=function(e){var t,n,r,i,s;if(e.length){this.result_clear_highlight(),this.result_highlight=e,this.result_highlight.addClass("highlighted"),r=parseInt(this.search_results.css("maxHeight"),10),s=this.search_results.scrollTop(),i=r+s,n=this.result_highlight.position().top+this.search_results.scrollTop(),t=n+this.result_highlight.outerHeight();if(t>=i)return this.search_results.scrollTop(t-r>0?t-r:0);if(n'+t.html+"":r='
          • '+t.html+'
          • ',this.search_container.before(r),i=e("#"+n).find("a").first(),i.click(function(e){return s.choice_destroy_link_click(e)}))},i.prototype.choice_destroy_link_click=function(t){return t.preventDefault(),this.is_disabled?t.stopPropagation:(this.pending_destroy_click=!0,this.choice_destroy(e(t.target)))},i.prototype.choice_destroy=function(e){if(this.result_deselect(e.attr("rel")))return this.choices-=1,this.show_search_field_default(),this.is_multiple&&this.choices>0&&this.search_field.val().length<1&&this.results_hide(),e.parents("li").first().remove(),this.search_field_scale()},i.prototype.results_reset=function(){this.form_field.options[0].selected=!0,this.selected_item.find("span").text(this.default_text),this.is_multiple||this.selected_item.addClass("chzn-default"),this.show_search_field_default(),this.results_reset_cleanup(),this.form_field_jq.trigger("change");if(this.active_field)return this.results_hide()},i.prototype.results_reset_cleanup=function(){return this.current_value=this.form_field_jq.val(),this.selected_item.find("abbr").remove()},i.prototype.result_select=function(e){var t,n,r,i;if(this.result_highlight)return t=this.result_highlight,n=t.attr("id"),this.result_clear_highlight(),this.is_multiple?this.result_deactivate(t):(this.search_results.find(".result-selected").removeClass("result-selected"),this.result_single_selected=t,this.selected_item.removeClass("chzn-default")),t.addClass("result-selected"),i=n.substr(n.lastIndexOf("_")+1),r=this.results_data[i],r.selected=!0,this.form_field.options[r.options_index].selected=!0,this.is_multiple?this.choice_build(r):(this.selected_item.find("span").first().text(r.text),this.allow_single_deselect&&this.single_deselect_control_build()),(!e.metaKey&&!e.ctrlKey||!this.is_multiple)&&this.results_hide(),this.search_field.val(""),(this.is_multiple||this.form_field_jq.val()!==this.current_value)&&this.form_field_jq.trigger("change",{selected:this.form_field.options[r.options_index].value}),this.current_value=this.form_field_jq.val(),this.search_field_scale()},i.prototype.result_activate=function(e){return e.addClass("active-result")},i.prototype.result_deactivate=function(e){return e.removeClass("active-result")},i.prototype.result_deselect=function(t){var n,r;return r=this.results_data[t],this.form_field.options[r.options_index].disabled?!1:(r.selected=!1,this.form_field.options[r.options_index].selected=!1,n=e("#"+this.container_id+"_o_"+t),n.removeClass("result-selected").addClass("active-result").show(),this.result_clear_highlight(),this.winnow_results(),this.form_field_jq.trigger("change",{deselected:this.form_field.options[r.options_index].value}),this.search_field_scale(),!0)},i.prototype.single_deselect_control_build=function(){if(this.allow_single_deselect&&this.selected_item.find("abbr").length<1)return this.selected_item.find("span").first().after('')},i.prototype.winnow_results=function(){var t,n,r,i,s,o,u,a,f,l,c,h,p,d,v,m,g,y;this.no_results_clear(),f=0,l=this.search_field.val()===this.default_text?"":e("
            ").text(e.trim(this.search_field.val())).html(),o=this.search_contains?"":"^",s=new RegExp(o+l.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),"i"),p=new RegExp(l.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),"i"),y=this.results_data;for(d=0,m=y.length;d=0||n.html.indexOf("[")===0)){i=n.html.replace(/\[|\]/g,"").split(" ");if(i.length)for(v=0,g=i.length;v"+n.html.substr(c+l.length),h=h.substr(0,c)+""+h.substr(c)):h=n.html,u.html(h),this.result_activate(u),n.group_array_index!=null&&e("#"+this.results_data[n.group_array_index].dom_id).css("display","list-item")):(this.result_highlight&&a===this.result_highlight.attr("id")&&this.result_clear_highlight(),this.result_deactivate(u))}}return f<1&&l.length?this.no_results(l):this.winnow_results_set_highlight()},i.prototype.winnow_results_clear=function(){var t,n,r,i,s;this.search_field.val(""),n=this.search_results.find("li"),s=[];for(r=0,i=n.length;r'+this.results_none_found+' ""'),n.find("span").first().html(t),this.search_results.append(n)},i.prototype.no_results_clear=function(){return this.search_results.find(".no-results").remove()},i.prototype.keydown_arrow=function(){var t,n;this.result_highlight?this.results_showing&&(n=this.result_highlight.nextAll("li.active-result").first(),n&&this.result_do_highlight(n)):(t=this.search_results.find("li.active-result").first(),t&&this.result_do_highlight(e(t)));if(!this.results_showing)return this.results_show()},i.prototype.keyup_arrow=function(){var e;if(!this.results_showing&&!this.is_multiple)return this.results_show();if(this.result_highlight)return e=this.result_highlight.prevAll("li.active-result"),e.length?this.result_do_highlight(e.first()):(this.choices>0&&this.results_hide(),this.result_clear_highlight())},i.prototype.keydown_backstroke=function(){var e;if(this.pending_backstroke)return this.choice_destroy(this.pending_backstroke.find("a").first()),this.clear_backstroke();e=this.search_container.siblings("li.search-choice").last();if(e.length&&!e.hasClass("search-choice-disabled"))return this.pending_backstroke=e,this.single_backstroke_delete?this.keydown_backstroke():this.pending_backstroke.addClass("search-choice-focus")},i.prototype.clear_backstroke=function(){return this.pending_backstroke&&this.pending_backstroke.removeClass("search-choice-focus"),this.pending_backstroke=null},i.prototype.keydown_checker=function(e){var t,n;t=(n=e.which)!=null?n:e.keyCode,this.search_field_scale(),t!==8&&this.pending_backstroke&&this.clear_backstroke();switch(t){case 8:this.backstroke_length=this.search_field.val().length;break;case 9:this.results_showing&&!this.is_multiple&&this.result_select(e),this.mouse_on_container=!1;break;case 13:e.preventDefault();break;case 38:e.preventDefault(),this.keyup_arrow();break;case 40:this.keydown_arrow()}},i.prototype.search_field_scale=function(){var t,n,r,i,s,o,u,a,f;if(this.is_multiple){r=0,u=0,s="position:absolute; left: -1000px; top: -1000px; display:none;",o=["font-size","font-style","font-weight","font-family","line-height","text-transform","letter-spacing"];for(a=0,f=o.length;a",{style:s}),n.text(this.search_field.val()),e("body").append(n),u=n.width()+25,n.remove(),u>this.f_width-10&&(u=this.f_width-10),this.search_field.css({width:u+"px"}),t=this.container.height(),this.dropdown.css({top:t+"px"})}},i.prototype.generate_random_id=function(){var t;t="sel"+this.generate_random_char()+this.generate_random_char()+this.generate_random_char();while(e("#"+t).length>0)t+=this.generate_random_char();return t},i}(AbstractChosen),r.Chosen=t,n=function(e){var t;return t=e.outerWidth()-e.width()},r.get_side_border_padding=n}.call(this); \ No newline at end of file diff --git a/modules/lib/colorbox/README.md b/modules/lib/colorbox/README.md deleted file mode 100644 index 2a53fea..0000000 --- a/modules/lib/colorbox/README.md +++ /dev/null @@ -1,318 +0,0 @@ -## About ColorBox: -A customizable lightbox plugin for jQuery. See the [project page](http://jacklmoore.com/colorbox/) for documentation and a demonstration, and the [FAQ](http://jacklmoore.com/colorbox/faq/) for solutions and examples to common issues. Released under the [MIT license](http://www.opensource.org/licenses/mit-license.php). - -## Changelog: - -### Version 1.3.19 - December 08 2011 -Files Changed:jquery.colorbox.js/jquery.colorbox-min.js, colorbox.css (all) - -* Fixed bug related to using the 'fixed' property. -* Optimized the setup procedure to be more efficient. -* Removed $.colorbox.init() as it will no longer be needed (will self-init when called). -* Removed use of $.browser. - -### Version 1.3.18 - October 07 2011 -Files Changed:jquery.colorbox.js/jquery.colorbox-min.js, colorbox.css (all) and example 1's controls.png - -* Fixed a regression where Flash content displayed in ColorBox would be reloaded if the browser window was resized. -* Added safety check to make sure that ColorBox's markup is only added to the DOM a single time, even if $.colorbox.init() is called multiple times. This will allow site owners to manually initialize ColorBox if they need it before the DOM has finished loading. -* Updated the example index.html files to be HTML5 compliant. -* Changed the slideshow behavior so that it immediately moves to the next slide when the slideshow is started. -* Minor regex bugfix to allow automatic detection of image URLs that include fragments. - -### Version 1.3.17 - May 11 2011 -Files Changed:jquery.colorbox.js/jquery.colorbox-min.js - -* Added properties "top", "bottom", "left" and "right" to specify a position relative to the viewport, rather than using the default centering. -* Added property "data" to specify GET or POST data when using Ajax. ColorBox's ajax functionality is handled by jQuery's .load() method, so the data property works the same way as it does with .load(). -* Added property "fixed" which can provide fixed positioning for ColorBox, rather than absolute positioning. This will allow ColorBox to remain in a fixed position within the visitors viewport, despite scrolling. IE6 support for this was not added, it will continue to use the default absolute positioning. -* Fixed ClearType problem with IE7. -* Minor fixes. - -### Version 1.3.16 - March 01 2011 -Files Changed:jquery.colorbox.js/jquery.colorbox-min.js, colorbox.css (all) and example 4 background png files - -* Better IE related transparency workarounds. IE7 and up now uses the same background image sprite as other browsers. -* Added error handling for broken image links. A message will be displayed telling the user that the image could not be loaded. -* Added new property: 'fastIframe' and set it to true by default. Setting to fastIframe:false will delay the loading graphic removal and onComplete event until iframe has completely loaded. -* Ability to redefine $.colorbox.close (or prev, or next) at any time. - -### Version 1.3.15 - October 27 2010 -Files Changed: jquery.colorbox.js/jquery.colorbox-min.js - -* Minor fixes for specific cases. - -### Version 1.3.14 - October 27 2010 -Files Changed: jquery.colorbox.js/jquery.colorbox-min.js - -* In IE6, closing an iframe when using HTTPS no longer generates a security warning. - -### Version 1.3.13 - October 22 2010 -Files Changed: jquery.colorbox.js/jquery.colorbox-min.js - -* Changed the index.html example files to use YouTube's new embedded link format. -* By default, ColorBox returns focus to the element it was launched from once it closes. This can now be disabled by setting the 'returnFocus' property to false. Focus was causing problems for some users who had their anchor elements inside animated containers. -* Minor bug fix involved in using a combination of slideshow and non-slideshow content. - -### Version 1.3.12 - October 20 2010 -Files Changed: jquery.colorbox.js/jquery.colorbox-min.js - -* Minor bug fix involved in preloading images when using a function as a value for the href property. - -### Version 1.3.11 - October 19 2010 -Files Changed: jquery.colorbox.js/jquery.colorbox-min.js - -* Fixed the slideshow functionality that broke with 1.3.10 -* The slideshow now respects the loop property. - -### Version 1.3.10 - October 16 2010 -Files Changed: jquery.colorbox.js/jquery.colorbox-min.js - -* Fixed compatibility with jQuery 1.4.3 -* The 'open' property now accepts a function as a value, like all of the other properties. -* Preloading now loads the correct href for images when using a dynamic (function) value for the href property. -* Fixed bug in Safari 3 for Win where ColorBox centered on the document, rather than the visitor's viewport. -* May have fixed an issue in Opera 10.6+ where ColorBox would rarely/randomly freeze up while switching between photos in a group. -* Some functionality better encapsulated & minor performance improvements. - -### Version 1.3.9 - July 7 2010 -Files Changed: jquery.colorbox.js/jquery.colorbox-min.js/ all colorbox.css (the core styles) - -* Fixed a problem where iframed youtube videos would cause a security alert in IE. -* More code is event driven now, making the source easier to grasp. -* Removed some unnecessary style from the core CSS. - -### Version 1.3.8 - June 21 2010 -Files Changed: jquery.colorbox.js/jquery.colorbox-min.js - -* Fixed a bug in Chrome where it would sometimes render photos at 0 by 0 width and height (behavior introduced in recent update to Chrome). -* Fixed a bug where the onClosed callback would fire twice (only affected 1.3.7). -* Fixed a bug in IE7 that existed with some iframed websites that use JS to reposition the viewport caused ColorBox to move out of position. -* Abstracted the identifiers (HTML ids & classes, and JS plugin name, method, and events) so that the plugin can be easily rebranded. -* Small changes to improve either code readability or compression. - -### Version 1.3.7 - June 13 2010 -Files Changed: jquery.colorbox.js/jquery.colorbox-min.js/index.html - -* $.colorbox can now be used for direct calls and accessing public methods. Example: $.colorbox.close(); -* Resize now accepts 'width', 'innerWidth', 'height' and 'innerHeight'. Example: $.colorbox.resize({width:"100%"}) -* Added option (loop:false) to disable looping in a group. -* Added options (escKey:false, arrowKey:false) to disable esc-key and arrow-key bindings. -* Added method for removing ColorBox from a document: $.colorbox.remove(); -* Fixed a bug where iframed URLs would be truncated if they contained an unencoded apostrophe. -* Now uses the exact href specified on an anchor, rather than the version returned by 'this.href'. This was causing "#example" to be normalized to "http://domain/#example" which interfered with how some users were setting up links to inline content. -* Changed example documents over to HTML5. - -### Version 1.3.6 - Jan 13 2010 -Files Changed: jquery.colorbox.js/jquery.colorbox-min.js - -* Small change to make ColorBox compatible with jQuery 1.4 - -### Version 1.3.5 - December 15 2009 -Files Changed: jquery.colorbox.js/jquery.colorbox-min.js - -* Fixed a bug introduced in 1.3.4 with IE7's display of example 2 and 3, and auto-width in Opera. -* Fixed a bug introduced in 1.3.4 where colorbox could not be launched by triggering an element's click event through JavaScript. -* Minor refinements. - -### Version 1.3.4 - December 5 2009 -Files Changed: jquery.colorbox.js/jquery.colorbox-min.js - -* Event delegation is now used for elements that ColorBox is assigned to, rather than individual click events. -* Additional callbacks have been added to represent other stages of ColorBox's lifecycle. Available callbacks, in order of their execution: onOpen, onLoad, onComplete, onCleanup, onClosed These take place at the same time as the event hooks, but will be better suited than the hooks for targeting specific instances of ColorBox. -* Ajax content is now immediately added to the DOM to be more compatible if that content contains script tags. -* Focus is now returned to the calling element on closing. -* Fixed a bug where maxHeight and maxWidth did not work for non-photo content. -* Direct calls no longer need 'open:true', it is assumed. Example: `$.fn.colorbox({html:'

            Hi

            '});` - -### Version 1.3.3 - November 7 2009 -Files Changed: jquery.colorbox.js/jquery.colorbox-min.js - -* Changed $.fn.colorbox.element() to return a jQuery object rather the DOM element. -* jQuery.colorbox-min.js is compressed with Google's Closure Compiler rather than YUI Compressor. - -### Version 1.3.2 - October 27 2009 -Files Changed: jquery.colorbox.js/jquery.colorbox-min.js - -* Added 'innerWidth' and 'innerHeight' options to allow people to easily set the size dimensions for ColorBox, without having to anticipate the size of the borders and buttons. -* Renamed 'scrollbars' option to 'scrolling' to be in keeping with the existing HTML attribute. The option now also applies to iframes. -* Bug fix: In Safari, positioning occassionally incorrect when using '100%' dimensions. -* Bug fix: In IE6, the background overlay is briefly not full size when first viewing. -* Bug fix: In Firefox, opening ColorBox causes a split second shift with a small minority of webpage layouts. -* Simplified code in a few areas. - -### Version 1.3.1 - September 16 2009 -Files Changed: jquery.colorbox.js/jquery.colorbox-min.js/colorbox.css/colorbox-ie.css(removed) - -* Removed the IE-only stylesheets and conditional comments for example styles 1 & 4. All CSS is handled by a single CSS file for all examples. -* Removed user-agent sniffing from the js and replaced it with feature detection. This will allow correct rendering for visitors masking their agent type. - -### Version 1.3.0 - September 15 2009 -Files Changed: jquery.colorbox.js/jquery.colorbox-min.js/colorbox.css - -* Added $.fn.colorbox.resize() method to allow ColorBox to resize it's height if it's contents change. -* Added 'scrollbars' option to allow users to turn off scrollbars when using the resize() method. -* Renamed the 'resize' option to be less ambiguous. It's now 'scalePhotos'. -* Renamed the 'cbox_close' event to be less ambiguous. It's now 'cbox_cleanup'. It is the first thing to happen in the close method while the 'cbox_closed' event is the last to happen. -* Fixed a bug with the slideshow mouseover graphics that appeared after ColorBox is opened a 2nd time. -* Fixed a bug where ClearType may not work in IE6&7 if using the fade transition. -* Minor code optimizations to increase compression. - -### Version 1.2.9 - August 7 2009 -Files Changed: jquery.colorbox.js/jquery.colorbox-min.js - -* Minor change to enable use with $.getScript(); -* Minor change to the timing of the 'cbox_load' event so that it is more useful. -* Added a direct link to a YouTube video to the examples. - -### Version 1.2.8 - August 5 2009 -Files Changed: jquery.colorbox.js/jquery.colorbox-min.js - -* Fixed a bug with the overlay in IE6 -* Fixed a bug where left & right keypress events might be prematurely unbound. - -### Version 1.2.7 - July 31 2009 -Files Changed: jquery.colorbox.js/jquery.colorbox-min.js, example stylesheets and background images (core styles have not changed and the updates will not affect existing user themes / old example themes) - -* Code cleanup and reduction, better organization and documentation in the full source. -* Added ability to use functions in place of static values for ColorBox's options (thanks Ken!). -* Added an option for straight HTML. Example: `$.fn.colorbox({html:'

            Howdy

            ', open:true})` -* Added an event for the beginning of the closing process. This is in addition to the event that already existed for when ColorBox had completely closed. 'cbox_close' and 'cbox_closed' respectively. -* Fixed a minor bug in IE6 that would cause a brief content shift in the parent document when opening ColorBox. -* Fixed a minor bug in IE6 that would reveal select elements that had a hidden visibility after closing ColorBox. -* The 'esc' key is unbound now when ColorBox is not open, to avoid any potential conflicts. -* Used background sprites for examples 1 & 4. Put IE-only (non-sprite) background images in a separate folder. -* Example themes 1, 3, & 4 received slight visual tweaks. -* Optimized pngs for smaller file size. -* Added slices, grid, and correct sizing to the Adobe Illustrator file, all theme files are now export ready! - -### Version 1.2.6 - July 15 2009 -Files Changed: jquery.colorbox.js/jquery.colorbox-min.js - -* Fixed a bug with fixed width/height images in Opera 9.64. -* Fixed a bug with trying to set a value for rel during a direct call to ColorBox. Example: `$.fn.colorbox({rel:'foo', open:true});` -* Changed how href/rel/title settings are determined to avoid users having to manually update ColorBox settings if they use JavaScript to update any of those attributes, after ColorBox has been defined. -* Fixed a FF3 bug where the back button was disabled after closing an iframe. - -### Version 1.2.5 - June 23 2009 -Files Changed: jquery.colorbox.js/jquery.colorbox-min.js - -* Changed the point at which iframe srcs are set (to eliminate the need to refresh the iframe once it has been added to the DOM). -* Removed unnecessary return values for a very slight code reduction. - -### Version 1.2.4 - June 9 2009 -Files Changed: jquery.colorbox.js, jquery.colorbox-min.js - -* Fixed an issue where ColorBox may not close completely if it is closed during a transition animation. -* Minor code reduction. - -### Version 1.2.3 - June 4 2009 -* Fixed a png transparency stacking issue in IE. -* More accurate Ajax auto-sizing if the user was depending on the #cboxLoadedContent ID for CSS styling. -* Added a public function for returning the current html element that ColorBox is associated with. Example use: var that = $.fn.colorbox.element(); -* Added bicubic scaling for resized images in the original IE7. -* Removed the IE6 stylesheet and png files from Example 3. It now uses the same png file for the controls that the rest of the browsers use (an alpha transparency PNG8). This example now only has 2 graphics files and 1 stylesheet. - -### Version 1.2.2 - May 28 2009 -* Fixed an issue with the 'resize' option. - -### Version 1.2.1 - May 28 2009 -* Note: If you are upgrading, update your jquery.colorbox.js and colorbox.css files. -* Added photo resizing. -* Added a maximum width and maximum height. Example: {height:800, maxHeight:'100%'}, would allow the box to be a maximum potential height of 800px, instead of a fixed height of 800px. With maxHeight of 100% the height of ColorBox cannot exceed the height of the browser window. -* Added 'rel' setting to add the ability to set an alternative rel for any ColorBox call. This allows the user to group any combination of elements together for a gallery, or to override an existing rel. attribute so those element are not grouped together, without having to alter their rel in the HTML. -* Added a 'photo' setting to force ColorBox to display a link as a photo. Use this when automatic photo detection fails (such as using a url like 'photo.php' instead of 'photo.jpg', 'photo.jpg#1', or 'photo.jpg?pic=1') -* Removed the need to ever create disposable elements to call colorbox on. ColorBox can now be called directly, without being associated with any existing element, by using the following format: - `$.fn.colorbox({open:true, href:'yourLink.xxx'});` -* ColorBox settings are now persistent and unique for each element. This allows for extremely flexible options for individual elements. You could use this to create a gallery in which each page in the gallery has different settings. One could be a photo with a fade transition, next could be an inline element with an elastic transition with a set width and height, etc. -* For user callbacks, 'this' now refers to the element colorbox was opened from. -* Fixed a minor grouping issue with IE6, when transition type is set to 'none'. -* Added an Adobe Illustrator file that contains the borders and buttons used in the various examples. - -### Version 1.2 - May 13 2009 -* Added a slideshow feature. -* Added re-positioning on browser resize. If the browser is resized, ColorBox will recenter itself onscreen. -* Added hooks for key events: cbox_open, cbox_load, cbox_complete, cbox_closed. -* Fixed an IE transparency-stacking problem, where transparent PNGs would show through to the background overlay. -* Fixed an IE iframe issue where the ifame might shift up and to the left under certain circumstances. -* Fixed an IE6 bug where the loading overlay was not at full height. -* Removed the delay in switching between same-sized gallery content when using transitions. -* Changed how iframes are loaded to make it more compatible with iframed pages that use DOM dependent JavaScript. -* Changed how the JS is structured to be better organized and increase compression. Increased documentation. -* Changed CSS :hover states to a .hover class. This sidesteps a minor IE8 bug with css hover states and allows easier access to hover state user styles from the JavaScript. -* Changed: elements added to the DOM have new ID's. The naming is more consistent and less likely to cause conflicts with existing website stylesheets. All stylesheets have been updated. -* Changed the behavior for prev/next links so that ColorBox does not get hung up on broken links. A visitor can now skip through broken or long-loading links by clicking prev/next buttons. -* Changed the naming of variables in the parameter map to be more concise and intuitive. -* Removed colorbox.css. Combined the colorbox.css styles with jquery.colorbox.js: the css file was not large enough to warrant being a separate file. - -### Version 1.1.6 - April 28 2009 -* Prevented the default action of the next & previous anchors and the left and right keys for gallery mode. -* Fixed a bug where the title element was being added back to the DOM when closing ColorBox while using inline content. -* Fixed a bug where IE7 would crash for example 2. -* Smaller filesize: removed a small amount of unused code and rewrote the HTML injection with less syntax. -* Added a public method for closing ColorBox: $.fn.colorbox.close(). This will allow iframe users to add an event to close ColorBox without having to create an additional function. - -### Version 1.1.5 - April 11 2009 -* Fixed minor issues with exiting ColorBox. - -### Version 1.1.4 - April 08 2009 -* Fixed a bug in the fade transition where ColorBox not close completely if instructed to close during the fade-in portion of the transition. - -### Version 1.1.3 - April 06 2009 -* Fixed an IE6&7 issue with using ColorBox to display animated GIFs. - -### Version 1.1.2 - April 05 2009 -* Added ability to change content when ColorBox is already open. -* Added vertical photo centering now works for all browsers (this feature previously excluded IE6&7). -* Added namespacing to the esc-key keydown event for people who want to disable it: "keydown.colorClose" -* Added 'title' setting to add the ability to set an alternative title for any ColorBox call. -* Fixed rollover navigation issue with IE8. (Added JS-based rollover state due to a browser-bug.) -* Fixed an overflow issue for when the fixed width/height is smaller than the size of a photo. -* Fixed a bug in the fade transition where the border would still come up if ColorBox was closed mid-transition. -* Switch from JSMin to Yui Compressor for minification. Minified code now under 7KB. - -### Version 1.1.1 - March 31 2009 -* More robust image detection regex. Now detects image file types with url fragments and/or query strings. -* Added 'nofollow' exception to rel grouping. -* Changed how images are loaded into the DOM to prevent premature size calculation by ColorBox. -* Added timestamp to iframe name to prevent caching - this was a problem in some browsers if the user had multiple iframes and the visitor left the page and came back, or if they refreshed the page. - -### Version 1.1.0 - March 21 2009 -* Animation is now much smoother and less resource intensive. -* Added support for % sizing. -* Callback option added. -* Inline content now preserves JavaScript events, and changes made while ColorBox is open are also preserved. -* Added 'href' setting to add the ability to set an alternative href for any anchor, or to assign the ColorBox event to non-anchors. - Example: $('button').colorbox({'href':'process.php'}) - Example: $('a[href='http://msn.com']).colorbox({'href':'http://google.com', iframe:true}); -* Photos are now horizontally centered if they are smaller than the lightbox size. Also vertically centered for browsers newer than IE7. -* Buttons in the examples are now included in the 'protected zone'. The lightbox will never expand it's borders or buttons beyond an accessible area of the screen. -* Keypress events don't queue up by holding down the arrow keys. -* Added option to close ColorBox by clicking on the background overlay. -* Added 'none' transition setting. -* Changed 'contentIframe' and 'contentInline' to 'inline' and 'iframe'. Removed 'contentAjax' because it is automatically assumed for non-image file types. -* Changed 'contentWidth' and 'contentHeight' to 'fixedWidth' and 'fixedHeight'. These sizes now reflect the total size of the lightbox, not just the inner content. This is so users can accurately anticipate % sizes without fear of creating scrollbars. -* Clicking on a photo will now switch to the next photo in a set. -* Loading.gif is more stable in it's position. -* Added a minified version. -* Code passes JSLint. - -### Version 1.0.5 - March 11 2009 -* Redo: Fixed a bug where IE would cut off the bottom portion of a photo, if the photo was larger than the document dimensions. - -### Version 1.0.4 - March 10 2009 -* Added an option to allow users to automatically open the lightbox. Example usage: $(".colorbox").colorbox({open:true}); -* Fixed a bug where IE would cut off the bottom portion of a photo, if the photo was larger than the document dimensions. - -### Version 1.0.3 - March 09 2009 -* Fixed vertical centering for Safari 3.0.x. - -### Version 1.0.2 - March 06 2009 -* Corrected a typo. -* Changed the content-type check so that it does not assume all links to photos should actually display photos. This allows for Ajax/inline/and iframe calls on anchors linking to picture file types. - -### Version 1.0.1 - March 05 2009 -* Fixed keydown events (esc, left arrow, right arrow) for Webkit browsers. - -### Version 1.0 - March 03 2009 -* First release diff --git a/modules/lib/colorbox/colorbox.css b/modules/lib/colorbox/colorbox.css deleted file mode 100644 index 13c8e2e..0000000 --- a/modules/lib/colorbox/colorbox.css +++ /dev/null @@ -1,50 +0,0 @@ -/* - ColorBox Core Style: - The following CSS is consistent between example themes and should not be altered. -*/ -#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;} -#cboxOverlay{position:fixed; width:100%; height:100%;} -#cboxMiddleLeft, #cboxBottomLeft{clear:left;} -#cboxContent{position:relative;} -#cboxLoadedContent{overflow:auto;} -#cboxTitle{margin:0;} -#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;} -#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;} -.cboxPhoto{float:left; margin:auto; border:0; display:block;} -.cboxIframe{width:100%; height:100%; display:block; border:0;} -#colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box;} - -/* - User Style: - Change the following styles to modify the appearance of ColorBox. They are - ordered & tabbed in a way that represents the nesting of the generated HTML. -*/ -#cboxOverlay{background:#777} -#colorbox{} - #cboxContent{margin-top:32px; overflow:visible;} - .cboxIframe{background:#fff;} - #cboxError{padding:50px; border:1px solid #ccc;} - #cboxLoadedContent{border:8px solid rgba(0,0,0,.5);-webkit-border-radius: 6px;-moz-border-radius: 6px;-ms-border-radius: 6px;border-radius: 6px;display:none} - #cboxLoadingGraphic{background:url(images/loading.gif) no-repeat center center;} - #cboxLoadingOverlay{background: #000;background: rgba(0,0,0,.5);-webkit-border-radius: 6px;-moz-border-radius: 6px;-ms-border-radius: 6px;border-radius: 6px} - #cboxTitle{position:absolute; top:-22px; left:0; color:#000;background:#000;background: rgba(0,0,0,.5);-webkit-border-radius: 4px;-moz-border-radius: 4px;-ms-border-radius: 4px;border-radius: 4px;color:#fff;font-size:11px;padding:0 6px} - #cboxCurrent{position:absolute; top:-22px; right:205px; text-indent:-9999px;} - - #cboxPrevious, #cboxNext,#cboxSlideshow, #cboxClose{width:20px;height:20px;top:-22px;text-indent:-9999px; position:absolute; background: #fff url(images/controls.png) no-repeat 0 0; background: rgba(255,255,255,.6) url(images/controls.png) no-repeat 0 0;-webkit-border-radius: 4px;-moz-border-radius: 4px;-ms-border-radius: 4px;border-radius: 4px} - #cboxPrevious:hover, #cboxNext:hover,#cboxSlideshow:hover, #cboxClose:hover {background-color: rgba(255,255,255,.8)} - - #cboxPrevious{background-position:0 -1px; right:56px} - #cboxPrevious:hover{background-position:0 -26px} - #cboxNext{background-position:-25px -1px; right:32px} - #cboxNext:hover{background-position:-25px -26px} - - #cboxClose{background-position:-50px -1px;right:0} - #cboxClose:hover{background-position:-50px -26px} - - #cboxSlideshow {right:90px} - .cboxSlideshow_on #cboxSlideshow{background-position:-75px -1px} - .cboxSlideshow_on #cboxSlideshow:hover{background-position:-75px -26px} - .cboxSlideshow_off #cboxSlideshow{background-position:-100px -1px} - .cboxSlideshow_off #cboxSlideshow:hover{background-position:-100px -26px} - -.cbox_content {background:#fff;padding:20px} \ No newline at end of file diff --git a/modules/lib/colorbox/jquery.colorbox.js b/modules/lib/colorbox/jquery.colorbox.js deleted file mode 100644 index 4148c8b..0000000 --- a/modules/lib/colorbox/jquery.colorbox.js +++ /dev/null @@ -1,993 +0,0 @@ -/*! - jQuery ColorBox v1.3.34 - 2013-02-04 - (c) 2013 Jack Moore - jacklmoore.com/colorbox - license: http://www.opensource.org/licenses/mit-license.php -*/ -(function ($, document, window) { - var - // Default settings object. - // See http://jacklmoore.com/colorbox for details. - defaults = { - transition: "elastic", - speed: 300, - width: false, - initialWidth: "600", - innerWidth: false, - maxWidth: false, - height: false, - initialHeight: "450", - innerHeight: false, - maxHeight: false, - scalePhotos: true, - scrolling: true, - inline: false, - html: false, - iframe: false, - fastIframe: true, - photo: false, - href: false, - title: false, - rel: false, - opacity: 0.9, - preloading: true, - className: false, - - // alternate image paths for high-res displays - retinaImage: false, - retinaUrl: false, - retinaSuffix: '@2x.$1', - - // internationalization - current: "image {current} of {total}", - previous: "previous", - next: "next", - close: "close", - xhrError: "This content failed to load.", - imgError: "This image failed to load.", - - open: false, - returnFocus: true, - reposition: true, - loop: true, - slideshow: false, - slideshowAuto: true, - slideshowSpeed: 2500, - slideshowStart: "start slideshow", - slideshowStop: "stop slideshow", - photoRegex: /\.(gif|png|jp(e|g|eg)|bmp|ico)((#|\?).*)?$/i, - - onOpen: false, - onLoad: false, - onComplete: false, - onCleanup: false, - onClosed: false, - overlayClose: true, - escKey: true, - arrowKey: true, - top: false, - bottom: false, - left: false, - right: false, - fixed: false, - data: undefined - }, - - // Abstracting the HTML and event identifiers for easy rebranding - colorbox = 'colorbox', - prefix = 'cbox', - boxElement = prefix + 'Element', - - // Events - event_open = prefix + '_open', - event_load = prefix + '_load', - event_complete = prefix + '_complete', - event_cleanup = prefix + '_cleanup', - event_closed = prefix + '_closed', - event_purge = prefix + '_purge', - - // Special Handling for IE - isIE = !$.support.leadingWhitespace, // IE6 to IE8 - isIE6 = isIE && !window.XMLHttpRequest, // IE6 - event_ie6 = prefix + '_IE6', - - // Cached jQuery Object Variables - $overlay, - $box, - $wrap, - $content, - $topBorder, - $leftBorder, - $rightBorder, - $bottomBorder, - $related, - $window, - $loaded, - $loadingBay, - $loadingOverlay, - $title, - $current, - $slideshow, - $next, - $prev, - $close, - $groupControls, - $events = $({}), - - // Variables for cached values or use across multiple functions - settings, - interfaceHeight, - interfaceWidth, - loadedHeight, - loadedWidth, - element, - index, - photo, - open, - active, - closing, - loadingTimer, - publicMethod, - div = "div", - className, - init; - - // **************** - // HELPER FUNCTIONS - // **************** - - // Convience function for creating new jQuery objects - function $tag(tag, id, css) { - var element = document.createElement(tag); - - if (id) { - element.id = prefix + id; - } - - if (css) { - element.style.cssText = css; - } - - return $(element); - } - - // Determine the next and previous members in a group. - function getIndex(increment) { - var - max = $related.length, - newIndex = (index + increment) % max; - - return (newIndex < 0) ? max + newIndex : newIndex; - } - - // Convert '%' and 'px' values to integers - function setSize(size, dimension) { - return Math.round((/%/.test(size) ? ((dimension === 'x' ? $window.width() : $window.height()) / 100) : 1) * parseInt(size, 10)); - } - - // Checks an href to see if it is a photo. - // There is a force photo option (photo: true) for hrefs that cannot be matched by the regex. - function isImage(url) { - return settings.photo || settings.photoRegex.test(url); - } - - function retinaUrl(url) { - return settings.retinaUrl && window.devicePixelRatio > 1 ? url.replace(settings.photoRegex, settings.retinaSuffix) : url; - } - - // Assigns function results to their respective properties - function makeSettings() { - var i, - data = $.data(element, colorbox); - - if (data == null) { - settings = $.extend({}, defaults); - if (console && console.log) { - console.log('Error: cboxElement missing settings object'); - } - } else { - settings = $.extend({}, data); - } - - for (i in settings) { - if ($.isFunction(settings[i]) && i.slice(0, 2) !== 'on') { // checks to make sure the function isn't one of the callbacks, they will be handled at the appropriate time. - settings[i] = settings[i].call(element); - } - } - - settings.rel = settings.rel || element.rel || $(element).data('rel') || 'nofollow'; - settings.href = settings.href || $(element).attr('href'); - settings.title = settings.title || element.title; - - if (typeof settings.href === "string") { - settings.href = $.trim(settings.href); - } - } - - function trigger(event, callback) { - // for external use - $(document).trigger(event); - - // for internal use - $events.trigger(event); - - if ($.isFunction(callback)) { - callback.call(element); - } - } - - // Slideshow functionality - function slideshow() { - var - timeOut, - className = prefix + "Slideshow_", - click = "click." + prefix, - clear, - set, - start, - stop; - - if (settings.slideshow && $related[1]) { - clear = function () { - clearTimeout(timeOut); - }; - - set = function () { - if (settings.loop || $related[index + 1]) { - timeOut = setTimeout(publicMethod.next, settings.slideshowSpeed); - } - }; - - start = function () { - $slideshow - .html(settings.slideshowStop) - .unbind(click) - .one(click, stop); - - $events - .bind(event_complete, set) - .bind(event_load, clear) - .bind(event_cleanup, stop); - - $box.removeClass(className + "off").addClass(className + "on"); - }; - - stop = function () { - clear(); - - $events - .unbind(event_complete, set) - .unbind(event_load, clear) - .unbind(event_cleanup, stop); - - $slideshow - .html(settings.slideshowStart) - .unbind(click) - .one(click, function () { - publicMethod.next(); - start(); - }); - - $box.removeClass(className + "on").addClass(className + "off"); - }; - - if (settings.slideshowAuto) { - start(); - } else { - stop(); - } - } else { - $box.removeClass(className + "off " + className + "on"); - } - } - - function launch(target) { - if (!closing) { - - element = target; - - makeSettings(); - - $related = $(element); - - index = 0; - - if (settings.rel !== 'nofollow') { - $related = $('.' + boxElement).filter(function () { - var data = $.data(this, colorbox), - relRelated; - - if (data) { - relRelated = $(this).data('rel') || data.rel || this.rel; - } - - return (relRelated === settings.rel); - }); - index = $related.index(element); - - // Check direct calls to ColorBox. - if (index === -1) { - $related = $related.add(element); - index = $related.length - 1; - } - } - - if (!open) { - open = active = true; // Prevents the page-change action from queuing up if the visitor holds down the left or right keys. - - // Show colorbox so the sizes can be calculated in older versions of jQuery - $box.css({visibility:'hidden', display:'block'}); - - $loaded = $tag(div, 'LoadedContent', 'width:0; height:0; overflow:hidden').appendTo($content); - - // Cache values needed for size calculations - interfaceHeight = $topBorder.height() + $bottomBorder.height() + $content.outerHeight(true) - $content.height();//Subtraction needed for IE6 - interfaceWidth = $leftBorder.width() + $rightBorder.width() + $content.outerWidth(true) - $content.width(); - loadedHeight = $loaded.outerHeight(true); - loadedWidth = $loaded.outerWidth(true); - - if (settings.returnFocus) { - $(element).blur(); - $events.one(event_closed, function () { - $(element).focus(); - }); - } - - $overlay.css({ - opacity: parseFloat(settings.opacity), - cursor: settings.overlayClose ? "pointer" : "auto", - visibility: 'visible' - }).show(); - - // Opens inital empty ColorBox prior to content being loaded. - settings.w = setSize(settings.initialWidth, 'x'); - settings.h = setSize(settings.initialHeight, 'y'); - publicMethod.position(); - - if (isIE6) { - $window.bind('resize.' + event_ie6 + ' scroll.' + event_ie6, function () { - $overlay.css({width: $window.width(), height: $window.height(), top: $window.scrollTop(), left: $window.scrollLeft()}); - }).trigger('resize.' + event_ie6); - } - - slideshow(); - - trigger(event_open, settings.onOpen); - - $groupControls.add($title).hide(); - - $close.html(settings.close).show(); - } - - publicMethod.load(true); - } - } - - // ColorBox's markup needs to be added to the DOM prior to being called - // so that the browser will go ahead and load the CSS background images. - function appendHTML() { - if (!$box && document.body) { - init = false; - - $window = $(window); - $box = $tag(div).attr({id: colorbox, 'class': isIE ? prefix + (isIE6 ? 'IE6' : 'IE') : ''}).hide(); - $overlay = $tag(div, "Overlay", isIE6 ? 'position:absolute' : '').hide(); - $loadingOverlay = $tag(div, "LoadingOverlay").add($tag(div, "LoadingGraphic")); - $wrap = $tag(div, "Wrapper"); - $content = $tag(div, "Content").append( - $title = $tag(div, "Title"), - $current = $tag(div, "Current"), - $next = $tag(div, "Next"), - $prev = $tag(div, "Previous"), - $slideshow = $tag(div, "Slideshow"), - $close = $tag(div, "Close") - ); - - $wrap.append( // The 3x3 Grid that makes up ColorBox - $tag(div).append( - $tag(div, "TopLeft"), - $topBorder = $tag(div, "TopCenter"), - $tag(div, "TopRight") - ), - $tag(div, false, 'clear:left').append( - $leftBorder = $tag(div, "MiddleLeft"), - $content, - $rightBorder = $tag(div, "MiddleRight") - ), - $tag(div, false, 'clear:left').append( - $tag(div, "BottomLeft"), - $bottomBorder = $tag(div, "BottomCenter"), - $tag(div, "BottomRight") - ) - ).find('div div').css({'float': 'left'}); - - $loadingBay = $tag(div, false, 'position:absolute; width:9999px; visibility:hidden; display:none'); - - $groupControls = $next.add($prev).add($current).add($slideshow); - - $(document.body).append($overlay, $box.append($wrap, $loadingBay)); - } - } - - // Add ColorBox's event bindings - function addBindings() { - function clickHandler(e) { - // ignore non-left-mouse-clicks and clicks modified with ctrl / command, shift, or alt. - // See: http://jacklmoore.com/notes/click-events/ - if (!(e.which > 1 || e.shiftKey || e.altKey || e.metaKey)) { - e.preventDefault(); - launch(this); - } - } - - if ($box) { - if (!init) { - init = true; - - // Anonymous functions here keep the public method from being cached, thereby allowing them to be redefined on the fly. - $next.click(function () { - publicMethod.next(); - }); - $prev.click(function () { - publicMethod.prev(); - }); - $close.click(function () { - publicMethod.close(); - }); - $overlay.click(function () { - if (settings.overlayClose) { - publicMethod.close(); - } - }); - - // Key Bindings - $(document).bind('keydown.' + prefix, function (e) { - var key = e.keyCode; - if (open && settings.escKey && key === 27) { - e.preventDefault(); - publicMethod.close(); - } - if (open && settings.arrowKey && $related[1]) { - if (key === 37) { - e.preventDefault(); - $prev.click(); - } else if (key === 39) { - e.preventDefault(); - $next.click(); - } - } - }); - - if ($.isFunction($.fn.on)) { - $(document).on('click.'+prefix, '.'+boxElement, clickHandler); - } else { // For jQuery 1.3.x -> 1.6.x - $('.'+boxElement).live('click.'+prefix, clickHandler); - } - } - return true; - } - return false; - } - - // Don't do anything if ColorBox already exists. - if ($.colorbox) { - return; - } - - // Append the HTML when the DOM loads - $(appendHTML); - - - // **************** - // PUBLIC FUNCTIONS - // Usage format: $.fn.colorbox.close(); - // Usage from within an iframe: parent.$.fn.colorbox.close(); - // **************** - - publicMethod = $.fn[colorbox] = $[colorbox] = function (options, callback) { - var $this = this; - - options = options || {}; - - appendHTML(); - - if (addBindings()) { - if ($.isFunction($this)) { // assume a call to $.colorbox - $this = $(''); - options.open = true; - } else if (!$this[0]) { // colorbox being applied to empty collection - return $this; - } - - if (callback) { - options.onComplete = callback; - } - - $this.each(function () { - $.data(this, colorbox, $.extend({}, $.data(this, colorbox) || defaults, options)); - }).addClass(boxElement); - - if (($.isFunction(options.open) && options.open.call($this)) || options.open) { - launch($this[0]); - } - } - - return $this; - }; - - publicMethod.position = function (speed, loadedCallback) { - var - css, - top = 0, - left = 0, - offset = $box.offset(), - scrollTop, - scrollLeft; - - $window.unbind('resize.' + prefix); - - // remove the modal so that it doesn't influence the document width/height - $box.css({top: -9e4, left: -9e4}); - - scrollTop = $window.scrollTop(); - scrollLeft = $window.scrollLeft(); - - if (settings.fixed && !isIE6) { - offset.top -= scrollTop; - offset.left -= scrollLeft; - $box.css({position: 'fixed'}); - } else { - top = scrollTop; - left = scrollLeft; - $box.css({position: 'absolute'}); - } - - // keeps the top and left positions within the browser's viewport. - if (settings.right !== false) { - left += Math.max($window.width() - settings.w - loadedWidth - interfaceWidth - setSize(settings.right, 'x'), 0); - } else if (settings.left !== false) { - left += setSize(settings.left, 'x'); - } else { - left += Math.round(Math.max($window.width() - settings.w - loadedWidth - interfaceWidth, 0) / 2); - } - - if (settings.bottom !== false) { - top += Math.max($window.height() - settings.h - loadedHeight - interfaceHeight - setSize(settings.bottom, 'y'), 0); - } else if (settings.top !== false) { - top += setSize(settings.top, 'y'); - } else { - top += Math.round(Math.max($window.height() - settings.h - loadedHeight - interfaceHeight, 0) / 2); - } - - $box.css({top: offset.top, left: offset.left, visibility:'visible'}); - - // setting the speed to 0 to reduce the delay between same-sized content. - speed = ($box.width() === settings.w + loadedWidth && $box.height() === settings.h + loadedHeight) ? 0 : speed || 0; - - // this gives the wrapper plenty of breathing room so it's floated contents can move around smoothly, - // but it has to be shrank down around the size of div#colorbox when it's done. If not, - // it can invoke an obscure IE bug when using iframes. - $wrap[0].style.width = $wrap[0].style.height = "9999px"; - - function modalDimensions(that) { - $topBorder[0].style.width = $bottomBorder[0].style.width = $content[0].style.width = (parseInt(that.style.width,10) - interfaceWidth)+'px'; - $content[0].style.height = $leftBorder[0].style.height = $rightBorder[0].style.height = (parseInt(that.style.height,10) - interfaceHeight)+'px'; - } - - css = {width: settings.w + loadedWidth + interfaceWidth, height: settings.h + loadedHeight + interfaceHeight, top: top, left: left}; - - if(speed===0){ // temporary workaround to side-step jQuery-UI 1.8 bug (http://bugs.jquery.com/ticket/12273) - $box.css(css); - } - $box.dequeue().animate(css, { - duration: speed, - complete: function () { - modalDimensions(this); - - active = false; - - // shrink the wrapper down to exactly the size of colorbox to avoid a bug in IE's iframe implementation. - $wrap[0].style.width = (settings.w + loadedWidth + interfaceWidth) + "px"; - $wrap[0].style.height = (settings.h + loadedHeight + interfaceHeight) + "px"; - - if (settings.reposition) { - setTimeout(function () { // small delay before binding onresize due to an IE8 bug. - $window.bind('resize.' + prefix, publicMethod.position); - }, 1); - } - - if (loadedCallback) { - loadedCallback(); - } - }, - step: function () { - modalDimensions(this); - } - }); - }; - - publicMethod.resize = function (options) { - if (open) { - options = options || {}; - - if (options.width) { - settings.w = setSize(options.width, 'x') - loadedWidth - interfaceWidth; - } - if (options.innerWidth) { - settings.w = setSize(options.innerWidth, 'x'); - } - $loaded.css({width: settings.w}); - - if (options.height) { - settings.h = setSize(options.height, 'y') - loadedHeight - interfaceHeight; - } - if (options.innerHeight) { - settings.h = setSize(options.innerHeight, 'y'); - } - if (!options.innerHeight && !options.height) { - $loaded.css({height: "auto"}); - settings.h = $loaded.height(); - } - $loaded.css({height: settings.h}); - - publicMethod.position(settings.transition === "none" ? 0 : settings.speed); - } - }; - - publicMethod.prep = function (object) { - if (!open) { - return; - } - - var callback, speed = settings.transition === "none" ? 0 : settings.speed; - - $loaded.empty().remove(); // Using empty first may prevent some IE7 issues. - - $loaded = $tag(div, 'LoadedContent').append(object); - - function getWidth() { - settings.w = settings.w || $loaded.width(); - settings.w = settings.mw && settings.mw < settings.w ? settings.mw : settings.w; - return settings.w; - } - function getHeight() { - settings.h = settings.h || $loaded.height(); - settings.h = settings.mh && settings.mh < settings.h ? settings.mh : settings.h; - return settings.h; - } - - $loaded.hide() - .appendTo($loadingBay.show())// content has to be appended to the DOM for accurate size calculations. - .css({width: getWidth(), overflow: settings.scrolling ? 'auto' : 'hidden'}) - .css({height: getHeight()})// sets the height independently from the width in case the new width influences the value of height. - .prependTo($content); - - $loadingBay.hide(); - - // floating the IMG removes the bottom line-height and fixed a problem where IE miscalculates the width of the parent element as 100% of the document width. - - $(photo).css({'float': 'none'}); - - callback = function () { - var total = $related.length, - iframe, - frameBorder = 'frameBorder', - allowTransparency = 'allowTransparency', - complete; - - if (!open) { - return; - } - - function removeFilter() { - if (isIE) { - $box[0].style.removeAttribute('filter'); - } - } - - complete = function () { - clearTimeout(loadingTimer); - $loadingOverlay.remove(); - trigger(event_complete, settings.onComplete); - }; - - if (isIE) { - //This fadeIn helps the bicubic resampling to kick-in. - if (photo) { - $loaded.fadeIn(100); - } - } - - $title.html(settings.title).add($loaded).show(); - - if (total > 1) { // handle grouping - if (typeof settings.current === "string") { - $current.html(settings.current.replace('{current}', index + 1).replace('{total}', total)).show(); - } - - $next[(settings.loop || index < total - 1) ? "show" : "hide"]().html(settings.next); - $prev[(settings.loop || index) ? "show" : "hide"]().html(settings.previous); - - if (settings.slideshow) { - $slideshow.show(); - } - - // Preloads images within a rel group - if (settings.preloading) { - $.each([getIndex(-1), getIndex(1)], function(){ - var src, - img, - i = $related[this], - data = $.data(i, colorbox); - - if (data && data.href) { - src = data.href; - if ($.isFunction(src)) { - src = src.call(i); - } - } else { - src = $(i).attr('href'); - } - - if (src && (isImage(src) || data.photo)) { - img = new Image(); - img.src = src; - } - }); - } - } else { - $groupControls.hide(); - } - - if (settings.iframe) { - iframe = $tag('iframe')[0]; - - if (frameBorder in iframe) { - iframe[frameBorder] = 0; - } - - if (allowTransparency in iframe) { - iframe[allowTransparency] = "true"; - } - - if (!settings.scrolling) { - iframe.scrolling = "no"; - } - - $(iframe) - .attr({ - src: settings.href, - name: (new Date()).getTime(), // give the iframe a unique name to prevent caching - 'class': prefix + 'Iframe', - allowFullScreen : true, // allow HTML5 video to go fullscreen - webkitAllowFullScreen : true, - mozallowfullscreen : true - }) - .one('load', complete) - .appendTo($loaded); - - $events.one(event_purge, function () { - iframe.src = "//about:blank"; - }); - - if (settings.fastIframe) { - $(iframe).trigger('load'); - } - } else { - complete(); - } - - if (settings.transition === 'fade') { - $box.fadeTo(speed, 1, removeFilter); - } else { - removeFilter(); - } - }; - - if (settings.transition === 'fade') { - $box.fadeTo(speed, 0, function () { - publicMethod.position(0, callback); - }); - } else { - publicMethod.position(speed, callback); - } - }; - - publicMethod.load = function (launched) { - var href, setResize, prep = publicMethod.prep, $inline; - - active = true; - - photo = false; - - element = $related[index]; - - if (!launched) { - makeSettings(); - } - - if (className) { - $box.add($overlay).removeClass(className); - } - if (settings.className) { - $box.add($overlay).addClass(settings.className); - } - className = settings.className; - - trigger(event_purge); - - trigger(event_load, settings.onLoad); - - settings.h = settings.height ? - setSize(settings.height, 'y') - loadedHeight - interfaceHeight : - settings.innerHeight && setSize(settings.innerHeight, 'y'); - - settings.w = settings.width ? - setSize(settings.width, 'x') - loadedWidth - interfaceWidth : - settings.innerWidth && setSize(settings.innerWidth, 'x'); - - // Sets the minimum dimensions for use in image scaling - settings.mw = settings.w; - settings.mh = settings.h; - - // Re-evaluate the minimum width and height based on maxWidth and maxHeight values. - // If the width or height exceed the maxWidth or maxHeight, use the maximum values instead. - if (settings.maxWidth) { - settings.mw = setSize(settings.maxWidth, 'x') - loadedWidth - interfaceWidth; - settings.mw = settings.w && settings.w < settings.mw ? settings.w : settings.mw; - } - if (settings.maxHeight) { - settings.mh = setSize(settings.maxHeight, 'y') - loadedHeight - interfaceHeight; - settings.mh = settings.h && settings.h < settings.mh ? settings.h : settings.mh; - } - - href = settings.href; - - loadingTimer = setTimeout(function () { - $loadingOverlay.appendTo($content); - }, 100); - - if (settings.inline) { - // Inserts an empty placeholder where inline content is being pulled from. - // An event is bound to put inline content back when ColorBox closes or loads new content. - $inline = $tag(div).hide().insertBefore($(href)[0]); - - $events.one(event_purge, function () { - $inline.replaceWith($loaded.children()); - }); - - prep($(href)); - } else if (settings.iframe) { - // IFrame element won't be added to the DOM until it is ready to be displayed, - // to avoid problems with DOM-ready JS that might be trying to run in that iframe. - prep(" "); - } else if (settings.html) { - prep(settings.html); - } else if (isImage(href)) { - - href = retinaUrl(href); - - $(photo = new Image()) - .addClass(prefix + 'Photo') - .bind('error',function () { - settings.title = false; - prep($tag(div, 'Error').html(settings.imgError)); - }) - .one('load', function () { - var percent; - - if (settings.retinaImage && window.devicePixelRatio > 1) { - photo.height = photo.height / window.devicePixelRatio; - photo.width = photo.width / window.devicePixelRatio; - } - - if (settings.scalePhotos) { - setResize = function () { - photo.height -= photo.height * percent; - photo.width -= photo.width * percent; - }; - if (settings.mw && photo.width > settings.mw) { - percent = (photo.width - settings.mw) / photo.width; - setResize(); - } - if (settings.mh && photo.height > settings.mh) { - percent = (photo.height - settings.mh) / photo.height; - setResize(); - } - } - - if (settings.h) { - photo.style.marginTop = Math.max(settings.mh - photo.height, 0) / 2 + 'px'; - } - - if ($related[1] && (settings.loop || $related[index + 1])) { - photo.style.cursor = 'pointer'; - photo.onclick = function () { - publicMethod.next(); - }; - } - - if (isIE) { - photo.style.msInterpolationMode = 'bicubic'; - } - - setTimeout(function () { // A pause because Chrome will sometimes report a 0 by 0 size otherwise. - prep(photo); - }, 1); - }); - - setTimeout(function () { // A pause because Opera 10.6+ will sometimes not run the onload function otherwise. - photo.src = href; - }, 1); - } else if (href) { - $loadingBay.load(href, settings.data, function (data, status) { - prep(status === 'error' ? $tag(div, 'Error').html(settings.xhrError) : $(this).contents()); - }); - } - }; - - // Navigates to the next page/image in a set. - publicMethod.next = function () { - if (!active && $related[1] && (settings.loop || $related[index + 1])) { - index = getIndex(1); - publicMethod.load(); - } - }; - - publicMethod.prev = function () { - if (!active && $related[1] && (settings.loop || index)) { - index = getIndex(-1); - publicMethod.load(); - } - }; - - // Note: to use this within an iframe use the following format: parent.$.fn.colorbox.close(); - publicMethod.close = function () { - if (open && !closing) { - - closing = true; - - open = false; - - trigger(event_cleanup, settings.onCleanup); - - $window.unbind('.' + prefix + ' .' + event_ie6); - - $overlay.fadeTo(200, 0); - - $box.stop().fadeTo(300, 0, function () { - - $box.add($overlay).css({'opacity': 1, cursor: 'auto'}).hide(); - - trigger(event_purge); - - $loaded.empty().remove(); // Using empty first may prevent some IE7 issues. - - setTimeout(function () { - closing = false; - trigger(event_closed, settings.onClosed); - }, 1); - }); - } - }; - - // Removes changes ColorBox made to the document, but does not remove the plugin - // from jQuery. - publicMethod.remove = function () { - $([]).add($box).add($overlay).remove(); - $box = null; - $('.' + boxElement) - .removeData(colorbox) - .removeClass(boxElement); - - $(document).unbind('click.'+prefix); - }; - - // A method for fetching the current element ColorBox is referencing. - // returns a jQuery object. - publicMethod.element = function () { - return $(element); - }; - - publicMethod.settings = defaults; - -}(jQuery, document, window)); diff --git a/modules/lib/colorbox/jquery.colorbox.min.js b/modules/lib/colorbox/jquery.colorbox.min.js deleted file mode 100644 index 42eb4fd..0000000 --- a/modules/lib/colorbox/jquery.colorbox.min.js +++ /dev/null @@ -1,6 +0,0 @@ -/*! - jQuery ColorBox v1.3.34 - 2013-02-04 - (c) 2013 Jack Moore - jacklmoore.com/colorbox - license: http://www.opensource.org/licenses/mit-license.php -*/ -(function(e,t,i){function o(i,o,n){var h=t.createElement(i);return o&&(h.id=V+o),n&&(h.style.cssText=n),e(h)}function n(e){var t=T.length,i=(N+e)%t;return 0>i?t+i:i}function h(e,t){return Math.round((/%/.test(e)?("x"===t?C.width():C.height())/100:1)*parseInt(e,10))}function r(e){return P.photo||P.photoRegex.test(e)}function l(e){return P.retinaUrl&&i.devicePixelRatio>1?e.replace(P.photoRegex,P.retinaSuffix):e}function s(){var t,i=e.data(B,J);null==i?(P=e.extend({},X),console&&console.log&&console.log("Error: cboxElement missing settings object")):P=e.extend({},i);for(t in P)e.isFunction(P[t])&&"on"!==t.slice(0,2)&&(P[t]=P[t].call(B));P.rel=P.rel||B.rel||e(B).data("rel")||"nofollow",P.href=P.href||e(B).attr("href"),P.title=P.title||B.title,"string"==typeof P.href&&(P.href=e.trim(P.href))}function a(i,o){e(t).trigger(i),st.trigger(i),e.isFunction(o)&&o.call(B)}function d(){var e,t,i,o,n,h=V+"Slideshow_",r="click."+V;P.slideshow&&T[1]?(t=function(){clearTimeout(e)},i=function(){(P.loop||T[N+1])&&(e=setTimeout($.next,P.slideshowSpeed))},o=function(){L.html(P.slideshowStop).unbind(r).one(r,n),st.bind(tt,i).bind(et,t).bind(it,n),m.removeClass(h+"off").addClass(h+"on")},n=function(){t(),st.unbind(tt,i).unbind(et,t).unbind(it,n),L.html(P.slideshowStart).unbind(r).one(r,function(){$.next(),o()}),m.removeClass(h+"on").addClass(h+"off")},P.slideshowAuto?o():n()):m.removeClass(h+"off "+h+"on")}function c(t){q||(B=t,s(),T=e(B),N=0,"nofollow"!==P.rel&&(T=e("."+Y).filter(function(){var t,i=e.data(this,J);return i&&(t=e(this).data("rel")||i.rel||this.rel),t===P.rel}),N=T.index(B),-1===N&&(T=T.add(B),N=T.length-1)),O||(O=j=!0,m.css({visibility:"hidden",display:"block"}),k=o(at,"LoadedContent","width:0; height:0; overflow:hidden").appendTo(g),_=x.height()+b.height()+g.outerHeight(!0)-g.height(),K=v.width()+y.width()+g.outerWidth(!0)-g.width(),z=k.outerHeight(!0),D=k.outerWidth(!0),P.returnFocus&&(e(B).blur(),st.one(ot,function(){e(B).focus()})),p.css({opacity:parseFloat(P.opacity),cursor:P.overlayClose?"pointer":"auto",visibility:"visible"}).show(),P.w=h(P.initialWidth,"x"),P.h=h(P.initialHeight,"y"),$.position(),rt&&C.bind("resize."+lt+" scroll."+lt,function(){p.css({width:C.width(),height:C.height(),top:C.scrollTop(),left:C.scrollLeft()})}).trigger("resize."+lt),d(),a(Z,P.onOpen),R.add(H).hide(),F.html(P.close).show()),$.load(!0))}function u(){!m&&t.body&&(Q=!1,C=e(i),m=o(at).attr({id:J,"class":ht?V+(rt?"IE6":"IE"):""}).hide(),p=o(at,"Overlay",rt?"position:absolute":"").hide(),W=o(at,"LoadingOverlay").add(o(at,"LoadingGraphic")),w=o(at,"Wrapper"),g=o(at,"Content").append(H=o(at,"Title"),E=o(at,"Current"),M=o(at,"Next"),S=o(at,"Previous"),L=o(at,"Slideshow"),F=o(at,"Close")),w.append(o(at).append(o(at,"TopLeft"),x=o(at,"TopCenter"),o(at,"TopRight")),o(at,!1,"clear:left").append(v=o(at,"MiddleLeft"),g,y=o(at,"MiddleRight")),o(at,!1,"clear:left").append(o(at,"BottomLeft"),b=o(at,"BottomCenter"),o(at,"BottomRight"))).find("div div").css({"float":"left"}),I=o(at,!1,"position:absolute; width:9999px; visibility:hidden; display:none"),R=M.add(S).add(E).add(L),e(t.body).append(p,m.append(w,I)))}function f(){function i(e){e.which>1||e.shiftKey||e.altKey||e.metaKey||(e.preventDefault(),c(this))}return m?(Q||(Q=!0,M.click(function(){$.next()}),S.click(function(){$.prev()}),F.click(function(){$.close()}),p.click(function(){P.overlayClose&&$.close()}),e(t).bind("keydown."+V,function(e){var t=e.keyCode;O&&P.escKey&&27===t&&(e.preventDefault(),$.close()),O&&P.arrowKey&&T[1]&&(37===t?(e.preventDefault(),S.click()):39===t&&(e.preventDefault(),M.click()))}),e.isFunction(e.fn.on)?e(t).on("click."+V,"."+Y,i):e("."+Y).live("click."+V,i)),!0):!1}var p,m,w,g,x,v,y,b,T,C,k,I,W,H,E,L,M,S,F,R,P,_,K,z,D,B,N,A,O,j,q,U,$,G,Q,X={transition:"elastic",speed:300,width:!1,initialWidth:"600",innerWidth:!1,maxWidth:!1,height:!1,initialHeight:"450",innerHeight:!1,maxHeight:!1,scalePhotos:!0,scrolling:!0,inline:!1,html:!1,iframe:!1,fastIframe:!0,photo:!1,href:!1,title:!1,rel:!1,opacity:.9,preloading:!0,className:!1,retinaImage:!1,retinaUrl:!1,retinaSuffix:"@2x.$1",current:"image {current} of {total}",previous:"previous",next:"next",close:"close",xhrError:"This content failed to load.",imgError:"This image failed to load.",open:!1,returnFocus:!0,reposition:!0,loop:!0,slideshow:!1,slideshowAuto:!0,slideshowSpeed:2500,slideshowStart:"start slideshow",slideshowStop:"stop slideshow",photoRegex:/\.(gif|png|jp(e|g|eg)|bmp|ico)((#|\?).*)?$/i,onOpen:!1,onLoad:!1,onComplete:!1,onCleanup:!1,onClosed:!1,overlayClose:!0,escKey:!0,arrowKey:!0,top:!1,bottom:!1,left:!1,right:!1,fixed:!1,data:void 0},J="colorbox",V="cbox",Y=V+"Element",Z=V+"_open",et=V+"_load",tt=V+"_complete",it=V+"_cleanup",ot=V+"_closed",nt=V+"_purge",ht=!e.support.leadingWhitespace,rt=ht&&!i.XMLHttpRequest,lt=V+"_IE6",st=e({}),at="div";e.colorbox||(e(u),$=e.fn[J]=e[J]=function(t,i){var o=this;if(t=t||{},u(),f()){if(e.isFunction(o))o=e(""),t.open=!0;else if(!o[0])return o;i&&(t.onComplete=i),o.each(function(){e.data(this,J,e.extend({},e.data(this,J)||X,t))}).addClass(Y),(e.isFunction(t.open)&&t.open.call(o)||t.open)&&c(o[0])}return o},$.position=function(e,t){function i(e){x[0].style.width=b[0].style.width=g[0].style.width=parseInt(e.style.width,10)-K+"px",g[0].style.height=v[0].style.height=y[0].style.height=parseInt(e.style.height,10)-_+"px"}var o,n,r,l=0,s=0,a=m.offset();C.unbind("resize."+V),m.css({top:-9e4,left:-9e4}),n=C.scrollTop(),r=C.scrollLeft(),P.fixed&&!rt?(a.top-=n,a.left-=r,m.css({position:"fixed"})):(l=n,s=r,m.css({position:"absolute"})),s+=P.right!==!1?Math.max(C.width()-P.w-D-K-h(P.right,"x"),0):P.left!==!1?h(P.left,"x"):Math.round(Math.max(C.width()-P.w-D-K,0)/2),l+=P.bottom!==!1?Math.max(C.height()-P.h-z-_-h(P.bottom,"y"),0):P.top!==!1?h(P.top,"y"):Math.round(Math.max(C.height()-P.h-z-_,0)/2),m.css({top:a.top,left:a.left,visibility:"visible"}),e=m.width()===P.w+D&&m.height()===P.h+z?0:e||0,w[0].style.width=w[0].style.height="9999px",o={width:P.w+D+K,height:P.h+z+_,top:l,left:s},0===e&&m.css(o),m.dequeue().animate(o,{duration:e,complete:function(){i(this),j=!1,w[0].style.width=P.w+D+K+"px",w[0].style.height=P.h+z+_+"px",P.reposition&&setTimeout(function(){C.bind("resize."+V,$.position)},1),t&&t()},step:function(){i(this)}})},$.resize=function(e){O&&(e=e||{},e.width&&(P.w=h(e.width,"x")-D-K),e.innerWidth&&(P.w=h(e.innerWidth,"x")),k.css({width:P.w}),e.height&&(P.h=h(e.height,"y")-z-_),e.innerHeight&&(P.h=h(e.innerHeight,"y")),e.innerHeight||e.height||(k.css({height:"auto"}),P.h=k.height()),k.css({height:P.h}),$.position("none"===P.transition?0:P.speed))},$.prep=function(t){function i(){return P.w=P.w||k.width(),P.w=P.mw&&P.mw1?("string"==typeof P.current&&E.html(P.current.replace("{current}",N+1).replace("{total}",l)).show(),M[P.loop||l-1>N?"show":"hide"]().html(P.next),S[P.loop||N?"show":"hide"]().html(P.previous),P.slideshow&&L.show(),P.preloading&&e.each([n(-1),n(1)],function(){var t,i,o=T[this],n=e.data(o,J);n&&n.href?(t=n.href,e.isFunction(t)&&(t=t.call(o))):t=e(o).attr("href"),t&&(r(t)||n.photo)&&(i=new Image,i.src=t)})):R.hide(),P.iframe?(i=o("iframe")[0],d in i&&(i[d]=0),c in i&&(i[c]="true"),P.scrolling||(i.scrolling="no"),e(i).attr({src:P.href,name:(new Date).getTime(),"class":V+"Iframe",allowFullScreen:!0,webkitAllowFullScreen:!0,mozallowfullscreen:!0}).one("load",h).appendTo(k),st.one(nt,function(){i.src="//about:blank"}),P.fastIframe&&e(i).trigger("load")):h(),"fade"===P.transition?m.fadeTo(s,1,t):t())},"fade"===P.transition?m.fadeTo(s,0,function(){$.position(0,l)}):$.position(s,l)}},$.load=function(t){var n,d,c,u=$.prep;j=!0,A=!1,B=T[N],t||s(),G&&m.add(p).removeClass(G),P.className&&m.add(p).addClass(P.className),G=P.className,a(nt),a(et,P.onLoad),P.h=P.height?h(P.height,"y")-z-_:P.innerHeight&&h(P.innerHeight,"y"),P.w=P.width?h(P.width,"x")-D-K:P.innerWidth&&h(P.innerWidth,"x"),P.mw=P.w,P.mh=P.h,P.maxWidth&&(P.mw=h(P.maxWidth,"x")-D-K,P.mw=P.w&&P.w1&&(A.height=A.height/i.devicePixelRatio,A.width=A.width/i.devicePixelRatio),P.scalePhotos&&(d=function(){A.height-=A.height*e,A.width-=A.width*e},P.mw&&A.width>P.mw&&(e=(A.width-P.mw)/A.width,d()),P.mh&&A.height>P.mh&&(e=(A.height-P.mh)/A.height,d())),P.h&&(A.style.marginTop=Math.max(P.mh-A.height,0)/2+"px"),T[1]&&(P.loop||T[N+1])&&(A.style.cursor="pointer",A.onclick=function(){$.next()}),ht&&(A.style.msInterpolationMode="bicubic"),setTimeout(function(){u(A)},1)}),setTimeout(function(){A.src=n},1)):n&&I.load(n,P.data,function(t,i){u("error"===i?o(at,"Error").html(P.xhrError):e(this).contents())})},$.next=function(){!j&&T[1]&&(P.loop||T[N+1])&&(N=n(1),$.load())},$.prev=function(){!j&&T[1]&&(P.loop||N)&&(N=n(-1),$.load())},$.close=function(){O&&!q&&(q=!0,O=!1,a(it,P.onCleanup),C.unbind("."+V+" ."+lt),p.fadeTo(200,0),m.stop().fadeTo(300,0,function(){m.add(p).css({opacity:1,cursor:"auto"}).hide(),a(nt),k.empty().remove(),setTimeout(function(){q=!1,a(ot,P.onClosed)},1)}))},$.remove=function(){e([]).add(m).add(p).remove(),m=null,e("."+Y).removeData(J).removeClass(Y),e(t).unbind("click."+V)},$.element=function(){return e(B)},$.settings=X)})(jQuery,document,window); \ No newline at end of file diff --git a/modules/lib/colorpicker/bootstrap-colorpicker.js b/modules/lib/colorpicker/bootstrap-colorpicker.js deleted file mode 100644 index 8e14709..0000000 --- a/modules/lib/colorpicker/bootstrap-colorpicker.js +++ /dev/null @@ -1,520 +0,0 @@ -/* ========================================================= - * bootstrap-colorpicker.js - * http://www.eyecon.ro/bootstrap-colorpicker - * ========================================================= - * Copyright 2012 Stefan Petre - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ========================================================= */ - -!function( $ ) { - - // Color object - - var Color = function(val) { - this.value = { - h: 1, - s: 1, - b: 1, - a: 1 - }; - this.setColor(val); - }; - - Color.prototype = { - constructor: Color, - - //parse a string to HSB - setColor: function(val){ - val = val.toLowerCase(); - var that = this; - $.each( CPGlobal.stringParsers, function( i, parser ) { - var match = parser.re.exec( val ), - values = match && parser.parse( match ), - space = parser.space||'rgba'; - if ( values ) { - if (space == 'hsla') { - that.value = CPGlobal.RGBtoHSB.apply(null, CPGlobal.HSLtoRGB.apply(null, values)); - } else { - that.value = CPGlobal.RGBtoHSB.apply(null, values); - } - return false; - } - }); - }, - - setHue: function(h) { - this.value.h = 1- h; - }, - - setSaturation: function(s) { - this.value.s = s; - }, - - setLightness: function(b) { - this.value.b = 1- b; - }, - - setAlpha: function(a) { - this.value.a = parseInt((1 - a)*100, 10)/100; - }, - - // HSBtoRGB from RaphaelJS - // https://github.com/DmitryBaranovskiy/raphael/ - toRGB: function(h, s, b, a) { - if (!h) { - h = this.value.h; - s = this.value.s; - b = this.value.b; - } - h *= 360; - var R, G, B, X, C; - h = (h % 360) / 60; - C = b * s; - X = C * (1 - Math.abs(h % 2 - 1)); - R = G = B = b - C; - - h = ~~h; - R += [C, X, 0, 0, X, C][h]; - G += [X, C, C, X, 0, 0][h]; - B += [0, 0, X, C, C, X][h]; - return { - r: Math.round(R*255), - g: Math.round(G*255), - b: Math.round(B*255), - a: a||this.value.a - }; - }, - - toHex: function(h, s, b, a){ - var rgb = this.toRGB(h, s, b, a); - return '#'+((1 << 24) | (parseInt(rgb.r) << 16) | (parseInt(rgb.g) << 8) | parseInt(rgb.b)).toString(16).substr(1); - }, - - toHSL: function(h, s, b, a){ - if (!h) { - h = this.value.h; - s = this.value.s; - b = this.value.b; - } - var H = h, - L = (2 - s) * b, - S = s * b; - if (L > 0 && L <= 1) { - S /= L; - } else { - S /= 2 - L; - } - L /= 2; - if (S > 1) { - S = 1; - } - return { - h: H, - s: S, - l: L, - a: a||this.value.a - }; - } - }; - - // Picker object - - var Colorpicker = function(element, options){ - this.element = $(element); - var format = options.format||this.element.data('color-format')||'hex'; - this.format = CPGlobal.translateFormats[format]; - this.isInput = this.element.is('input'); - this.component = this.element.is('.color') ? this.element.find('.add-on') : false; - - this.picker = $(CPGlobal.template) - .appendTo('body') - .on('mousedown', $.proxy(this.mousedown, this)); - - if (this.isInput) { - this.element.on({ - 'focus': $.proxy(this.show, this), - 'keyup': $.proxy(this.update, this) - }); - } else if (this.component){ - this.component.on({ - 'click': $.proxy(this.show, this) - }); - } else { - this.element.on({ - 'click': $.proxy(this.show, this) - }); - } - if (format == 'rgba' || format == 'hsla') { - this.picker.addClass('alpha'); - this.alpha = this.picker.find('.colorpicker-alpha')[0].style; - } - - if (this.component){ - this.picker.find('.colorpicker-color').hide(); - this.preview = this.element.find('i')[0].style; - } else { - this.preview = this.picker.find('div:last')[0].style; - } - - this.base = this.picker.find('div:first')[0].style; - this.update(); - }; - - Colorpicker.prototype = { - constructor: Colorpicker, - - show: function(e) { - this.picker.show(); - this.height = this.component ? this.component.outerHeight() : this.element.outerHeight(); - this.place(); - $(window).on('resize', $.proxy(this.place, this)); - if (!this.isInput) { - if (e) { - e.stopPropagation(); - e.preventDefault(); - } - } - $(document).on({ - 'mousedown': $.proxy(this.hide, this) - }); - this.element.trigger({ - type: 'show', - color: this.color - }); - }, - - update: function(){ - this.color = new Color(this.isInput ? this.element.prop('value') : this.element.data('color')); - this.picker.find('i') - .eq(0).css({left: this.color.value.s*100, top: 100 - this.color.value.b*100}).end() - .eq(1).css('top', 100 * (1 - this.color.value.h)).end() - .eq(2).css('top', 100 * (1 - this.color.value.a)); - this.previewColor(); - }, - - hide: function(){ - this.picker.hide(); - $(window).off('resize', this.place); - if (!this.isInput) { - $(document).off({ - 'mousedown': this.hide - }); - if (this.component){ - this.element.find('input').prop('value', this.format.call(this)); - } - this.element.data('color', this.format.call(this)); - } else { - this.element.prop('value', this.format.call(this)); - } - this.element.trigger({ - type: 'hide', - color: this.color - }); - }, - - place: function(){ - var offset = this.component ? this.component.offset() : this.element.offset(); - this.picker.css({ - top: offset.top + this.height, - left: offset.left - }); - }, - - //preview color change - previewColor: function(){ - this.preview.backgroundColor = this.format.call(this); - //set the color for brightness/saturation slider - this.base.backgroundColor = this.color.toHex(this.color.value.h, 1, 1, 1); - //set te color for alpha slider - if (this.alpha) { - this.alpha.backgroundColor = this.color.toHex(); - } - }, - - pointer: null, - - slider: null, - - mousedown: function(e){ - e.stopPropagation(); - e.preventDefault(); - - var target = $(e.target); - - //detect the slider and set the limits and callbacks - var zone = target.closest('div'); - if (!zone.is('.colorpicker')) { - if (zone.is('.colorpicker-saturation')) { - this.slider = $.extend({}, CPGlobal.sliders['saturation']); - } - else if (zone.is('.colorpicker-hue')) { - this.slider = $.extend({}, CPGlobal.sliders['hue']); - } - else if (zone.is('.colorpicker-alpha')) { - this.slider = $.extend({}, CPGlobal.sliders['alpha']); - } - var offset = zone.offset(); - //reference to knob's style - this.slider.knob = zone.find('i')[0].style; - this.slider.left = e.pageX - offset.left; - this.slider.top = e.pageY - offset.top; - this.pointer = { - left: e.pageX, - top: e.pageY - }; - //trigger mousemove to move the knob to the current position - $(document).on({ - mousemove: $.proxy(this.mousemove, this), - mouseup: $.proxy(this.mouseup, this) - }).trigger('mousemove'); - } - return false; - }, - - mousemove: function(e){ - e.stopPropagation(); - e.preventDefault(); - var left = Math.max( - 0, - Math.min( - this.slider.maxLeft, - this.slider.left + ((e.pageX||this.pointer.left) - this.pointer.left) - ) - ); - var top = Math.max( - 0, - Math.min( - this.slider.maxTop, - this.slider.top + ((e.pageY||this.pointer.top) - this.pointer.top) - ) - ); - this.slider.knob.left = left + 'px'; - this.slider.knob.top = top + 'px'; - if (this.slider.callLeft) { - this.color[this.slider.callLeft].call(this.color, left/100); - } - if (this.slider.callTop) { - this.color[this.slider.callTop].call(this.color, top/100); - } - this.previewColor(); - this.element.trigger({ - type: 'changeColor', - color: this.color - }); - return false; - }, - - mouseup: function(e){ - e.stopPropagation(); - e.preventDefault(); - $(document).off({ - mousemove: this.mousemove, - mouseup: this.mouseup - }); - return false; - } - } - - $.fn.colorpicker = function ( option ) { - return this.each(function () { - var $this = $(this), - data = $this.data('colorpicker'), - options = typeof option == 'object' && option; - if (!data) { - $this.data('colorpicker', (data = new Colorpicker(this, $.extend({}, $.fn.colorpicker.defaults,options)))); - } - if (typeof option == 'string') data[option](); - }); - }; - - $.fn.colorpicker.defaults = { - }; - - $.fn.colorpicker.Constructor = Colorpicker; - - var CPGlobal = { - - // translate a format from Color object to a string - translateFormats: { - 'rgb': function(){ - var rgb = this.color.toRGB(); - return 'rgb('+rgb.r+','+rgb.g+','+rgb.b+')'; - }, - - 'rgba': function(){ - var rgb = this.color.toRGB(); - return 'rgba('+rgb.r+','+rgb.g+','+rgb.b+','+rgb.a+')'; - }, - - 'hsl': function(){ - var hsl = this.color.toHSL(); - return 'hsl('+Math.round(hsl.h*360)+','+Math.round(hsl.s*100)+'%,'+Math.round(hsl.l*100)+'%)'; - }, - - 'hsla': function(){ - var hsl = this.color.toHSL(); - return 'hsla('+Math.round(hsl.h*360)+','+Math.round(hsl.s*100)+'%,'+Math.round(hsl.l*100)+'%,'+hsl.a+')'; - }, - - 'hex': function(){ - return this.color.toHex(); - } - }, - - sliders: { - saturation: { - maxLeft: 100, - maxTop: 100, - callLeft: 'setSaturation', - callTop: 'setLightness' - }, - - hue: { - maxLeft: 0, - maxTop: 100, - callLeft: false, - callTop: 'setHue' - }, - - alpha: { - maxLeft: 0, - maxTop: 100, - callLeft: false, - callTop: 'setAlpha' - } - }, - - // HSBtoRGB from RaphaelJS - // https://github.com/DmitryBaranovskiy/raphael/ - RGBtoHSB: function (r, g, b, a){ - r /= 255; - g /= 255; - b /= 255; - - var H, S, V, C; - V = Math.max(r, g, b); - C = V - Math.min(r, g, b); - H = (C == 0 ? null : - V == r ? (g - b) / C : - V == g ? (b - r) / C + 2 : - (r - g) / C + 4 - ); - H = ((H + 360) % 6) * 60 / 360; - S = C == 0 ? 0 : C / V; - return {h: H||1, s: S, b: V, a: a||1}; - }, - - HueToRGB: function (p, q, h) { - if (h < 0) - h += 1; - else if (h > 1) - h -= 1; - - if ((h * 6) < 1) - return p + (q - p) * h * 6; - else if ((h * 2) < 1) - return q; - else if ((h * 3) < 2) - return p + (q - p) * ((2 / 3) - h) * 6; - else - return p; - }, - - HSLtoRGB: function (h, s, l, a) - { - - if (s < 0) - s = 0; - - if (l <= 0.5) - var q = l * (1 + s); - else - var q = l + s - (l * s); - - var p = 2 * l - q; - - var tr = h + (1 / 3); - var tg = h; - var tb = h - (1 / 3); - - var r = Math.round(CPGlobal.HueToRGB(p, q, tr) * 255); - var g = Math.round(CPGlobal.HueToRGB(p, q, tg) * 255); - var b = Math.round(CPGlobal.HueToRGB(p, q, tb) * 255); - return [r, g, b, a||1]; - }, - - // a set of RE's that can match strings and generate color tuples. - // from John Resig color plugin - // https://github.com/jquery/jquery-color/ - stringParsers: [ - { - re: /rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d+(?:\.\d+)?)\s*)?\)/, - parse: function( execResult ) { - return [ - execResult[ 1 ], - execResult[ 2 ], - execResult[ 3 ], - execResult[ 4 ] - ]; - } - }, { - re: /rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d+(?:\.\d+)?)\s*)?\)/, - parse: function( execResult ) { - return [ - 2.55 * execResult[1], - 2.55 * execResult[2], - 2.55 * execResult[3], - execResult[ 4 ] - ]; - } - }, { - re: /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/, - parse: function( execResult ) { - return [ - parseInt( execResult[ 1 ], 16 ), - parseInt( execResult[ 2 ], 16 ), - parseInt( execResult[ 3 ], 16 ) - ]; - } - }, { - re: /#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/, - parse: function( execResult ) { - return [ - parseInt( execResult[ 1 ] + execResult[ 1 ], 16 ), - parseInt( execResult[ 2 ] + execResult[ 2 ], 16 ), - parseInt( execResult[ 3 ] + execResult[ 3 ], 16 ) - ]; - } - }, { - re: /hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d+(?:\.\d+)?)\s*)?\)/, - space: 'hsla', - parse: function( execResult ) { - return [ - execResult[1]/360, - execResult[2] / 100, - execResult[3] / 100, - execResult[4] - ]; - } - } - ], - template: '')[0]; - oSettings.nTable.parentNode.insertBefore( nHolding, oSettings.nTable ); - - /* - * All DataTables are wrapped in a div - */ - oSettings.nTableWrapper = $('
            ')[0]; - oSettings.nTableReinsertBefore = oSettings.nTable.nextSibling; - - /* Track where we want to insert the option */ - var nInsertNode = oSettings.nTableWrapper; - - /* Loop over the user set positioning and place the elements as needed */ - var aDom = oSettings.sDom.split(''); - var nTmp, iPushFeature, cOption, nNewNode, cNext, sAttr, j; - for ( var i=0 ; i
            ')[0]; - - /* Check to see if we should append an id and/or a class name to the container */ - cNext = aDom[i+1]; - if ( cNext == "'" || cNext == '"' ) - { - sAttr = ""; - j = 2; - while ( aDom[i+j] != cNext ) - { - sAttr += aDom[i+j]; - j++; - } - - /* Replace jQuery UI constants */ - if ( sAttr == "H" ) - { - sAttr = oSettings.oClasses.sJUIHeader; - } - else if ( sAttr == "F" ) - { - sAttr = oSettings.oClasses.sJUIFooter; - } - - /* The attribute can be in the format of "#id.class", "#id" or "class" This logic - * breaks the string into parts and applies them as needed - */ - if ( sAttr.indexOf('.') != -1 ) - { - var aSplit = sAttr.split('.'); - nNewNode.id = aSplit[0].substr(1, aSplit[0].length-1); - nNewNode.className = aSplit[1]; - } - else if ( sAttr.charAt(0) == "#" ) - { - nNewNode.id = sAttr.substr(1, sAttr.length-1); - } - else - { - nNewNode.className = sAttr; - } - - i += j; /* Move along the position array */ - } - - nInsertNode.appendChild( nNewNode ); - nInsertNode = nNewNode; - } - else if ( cOption == '>' ) - { - /* End container div */ - nInsertNode = nInsertNode.parentNode; - } - else if ( cOption == 'l' && oSettings.oFeatures.bPaginate && oSettings.oFeatures.bLengthChange ) - { - /* Length */ - nTmp = _fnFeatureHtmlLength( oSettings ); - iPushFeature = 1; - } - else if ( cOption == 'f' && oSettings.oFeatures.bFilter ) - { - /* Filter */ - nTmp = _fnFeatureHtmlFilter( oSettings ); - iPushFeature = 1; - } - else if ( cOption == 'r' && oSettings.oFeatures.bProcessing ) - { - /* pRocessing */ - nTmp = _fnFeatureHtmlProcessing( oSettings ); - iPushFeature = 1; - } - else if ( cOption == 't' ) - { - /* Table */ - nTmp = _fnFeatureHtmlTable( oSettings ); - iPushFeature = 1; - } - else if ( cOption == 'i' && oSettings.oFeatures.bInfo ) - { - /* Info */ - nTmp = _fnFeatureHtmlInfo( oSettings ); - iPushFeature = 1; - } - else if ( cOption == 'p' && oSettings.oFeatures.bPaginate ) - { - /* Pagination */ - nTmp = _fnFeatureHtmlPaginate( oSettings ); - iPushFeature = 1; - } - else if ( DataTable.ext.aoFeatures.length !== 0 ) - { - /* Plug-in features */ - var aoFeatures = DataTable.ext.aoFeatures; - for ( var k=0, kLen=aoFeatures.length ; k') : - sSearchStr==="" ? '' : sSearchStr+' '; - - var nFilter = document.createElement( 'div' ); - nFilter.className = oSettings.oClasses.sFilter; - nFilter.innerHTML = ''; - if ( !oSettings.aanFeatures.f ) - { - nFilter.id = oSettings.sTableId+'_filter'; - } - - var jqFilter = $('input[type="text"]', nFilter); - - // Store a reference to the input element, so other input elements could be - // added to the filter wrapper if needed (submit button for example) - nFilter._DT_Input = jqFilter[0]; - - jqFilter.val( oPreviousSearch.sSearch.replace('"','"') ); - jqFilter.bind( 'keyup.DT', function(e) { - /* Update all other filter input elements for the new display */ - var n = oSettings.aanFeatures.f; - var val = this.value==="" ? "" : this.value; // mental IE8 fix :-( - - for ( var i=0, iLen=n.length ; i=0 ; i-- ) - { - var sData = _fnDataToSearch( _fnGetCellData( oSettings, oSettings.aiDisplay[i], iColumn, 'filter' ), - oSettings.aoColumns[iColumn].sType ); - if ( ! rpSearch.test( sData ) ) - { - oSettings.aiDisplay.splice( i, 1 ); - iIndexCorrector++; - } - } - } - - - /** - * Filter the data table based on user input and draw the table - * @param {object} oSettings dataTables settings object - * @param {string} sInput string to filter on - * @param {int} iForce optional - force a research of the master array (1) or not (undefined or 0) - * @param {bool} bRegex treat as a regular expression or not - * @param {bool} bSmart perform smart filtering or not - * @param {bool} bCaseInsensitive Do case insenstive matching or not - * @memberof DataTable#oApi - */ - function _fnFilter( oSettings, sInput, iForce, bRegex, bSmart, bCaseInsensitive ) - { - var i; - var rpSearch = _fnFilterCreateSearch( sInput, bRegex, bSmart, bCaseInsensitive ); - var oPrevSearch = oSettings.oPreviousSearch; - - /* Check if we are forcing or not - optional parameter */ - if ( !iForce ) - { - iForce = 0; - } - - /* Need to take account of custom filtering functions - always filter */ - if ( DataTable.ext.afnFiltering.length !== 0 ) - { - iForce = 1; - } - - /* - * If the input is blank - we want the full data set - */ - if ( sInput.length <= 0 ) - { - oSettings.aiDisplay.splice( 0, oSettings.aiDisplay.length); - oSettings.aiDisplay = oSettings.aiDisplayMaster.slice(); - } - else - { - /* - * We are starting a new search or the new search string is smaller - * then the old one (i.e. delete). Search from the master array - */ - if ( oSettings.aiDisplay.length == oSettings.aiDisplayMaster.length || - oPrevSearch.sSearch.length > sInput.length || iForce == 1 || - sInput.indexOf(oPrevSearch.sSearch) !== 0 ) - { - /* Nuke the old display array - we are going to rebuild it */ - oSettings.aiDisplay.splice( 0, oSettings.aiDisplay.length); - - /* Force a rebuild of the search array */ - _fnBuildSearchArray( oSettings, 1 ); - - /* Search through all records to populate the search array - * The the oSettings.aiDisplayMaster and asDataSearch arrays have 1 to 1 - * mapping - */ - for ( i=0 ; i').html(sSearch).text(); - } - - // Strip newline characters - return sSearch.replace( /[\n\r]/g, " " ); - } - - /** - * Build a regular expression object suitable for searching a table - * @param {string} sSearch string to search for - * @param {bool} bRegex treat as a regular expression or not - * @param {bool} bSmart perform smart filtering or not - * @param {bool} bCaseInsensitive Do case insensitive matching or not - * @returns {RegExp} constructed object - * @memberof DataTable#oApi - */ - function _fnFilterCreateSearch( sSearch, bRegex, bSmart, bCaseInsensitive ) - { - var asSearch, sRegExpString; - - if ( bSmart ) - { - /* Generate the regular expression to use. Something along the lines of: - * ^(?=.*?\bone\b)(?=.*?\btwo\b)(?=.*?\bthree\b).*$ - */ - asSearch = bRegex ? sSearch.split( ' ' ) : _fnEscapeRegex( sSearch ).split( ' ' ); - sRegExpString = '^(?=.*?'+asSearch.join( ')(?=.*?' )+').*$'; - return new RegExp( sRegExpString, bCaseInsensitive ? "i" : "" ); - } - else - { - sSearch = bRegex ? sSearch : _fnEscapeRegex( sSearch ); - return new RegExp( sSearch, bCaseInsensitive ? "i" : "" ); - } - } - - - /** - * Convert raw data into something that the user can search on - * @param {string} sData data to be modified - * @param {string} sType data type - * @returns {string} search string - * @memberof DataTable#oApi - */ - function _fnDataToSearch ( sData, sType ) - { - if ( typeof DataTable.ext.ofnSearch[sType] === "function" ) - { - return DataTable.ext.ofnSearch[sType]( sData ); - } - else if ( sData === null ) - { - return ''; - } - else if ( sType == "html" ) - { - return sData.replace(/[\r\n]/g," ").replace( /<.*?>/g, "" ); - } - else if ( typeof sData === "string" ) - { - return sData.replace(/[\r\n]/g," "); - } - return sData; - } - - - /** - * scape a string such that it can be used in a regular expression - * @param {string} sVal string to escape - * @returns {string} escaped string - * @memberof DataTable#oApi - */ - function _fnEscapeRegex ( sVal ) - { - var acEscape = [ '/', '.', '*', '+', '?', '|', '(', ')', '[', ']', '{', '}', '\\', '$', '^', '-' ]; - var reReplace = new RegExp( '(\\' + acEscape.join('|\\') + ')', 'g' ); - return sVal.replace(reReplace, '\\$1'); - } - - - /** - * Generate the node required for the info display - * @param {object} oSettings dataTables settings object - * @returns {node} Information element - * @memberof DataTable#oApi - */ - function _fnFeatureHtmlInfo ( oSettings ) - { - var nInfo = document.createElement( 'div' ); - nInfo.className = oSettings.oClasses.sInfo; - - /* Actions that are to be taken once only for this feature */ - if ( !oSettings.aanFeatures.i ) - { - /* Add draw callback */ - oSettings.aoDrawCallback.push( { - "fn": _fnUpdateInfo, - "sName": "information" - } ); - - /* Add id */ - nInfo.id = oSettings.sTableId+'_info'; - } - oSettings.nTable.setAttribute( 'aria-describedby', oSettings.sTableId+'_info' ); - - return nInfo; - } - - - /** - * Update the information elements in the display - * @param {object} oSettings dataTables settings object - * @memberof DataTable#oApi - */ - function _fnUpdateInfo ( oSettings ) - { - /* Show information about the table */ - if ( !oSettings.oFeatures.bInfo || oSettings.aanFeatures.i.length === 0 ) - { - return; - } - - var - oLang = oSettings.oLanguage, - iStart = oSettings._iDisplayStart+1, - iEnd = oSettings.fnDisplayEnd(), - iMax = oSettings.fnRecordsTotal(), - iTotal = oSettings.fnRecordsDisplay(), - sOut; - - if ( iTotal === 0 ) - { - /* Empty record set */ - sOut = oLang.sInfoEmpty; - } - else { - /* Normal record set */ - sOut = oLang.sInfo; - } - - if ( iTotal != iMax ) - { - /* Record set after filtering */ - sOut += ' ' + oLang.sInfoFiltered; - } - - // Convert the macros - sOut += oLang.sInfoPostFix; - sOut = _fnInfoMacros( oSettings, sOut ); - - if ( oLang.fnInfoCallback !== null ) - { - sOut = oLang.fnInfoCallback.call( oSettings.oInstance, - oSettings, iStart, iEnd, iMax, iTotal, sOut ); - } - - var n = oSettings.aanFeatures.i; - for ( var i=0, iLen=n.length ; i'; - var i, iLen; - var aLengthMenu = oSettings.aLengthMenu; - - if ( aLengthMenu.length == 2 && typeof aLengthMenu[0] === 'object' && - typeof aLengthMenu[1] === 'object' ) - { - for ( i=0, iLen=aLengthMenu[0].length ; i'+aLengthMenu[1][i]+''; - } - } - else - { - for ( i=0, iLen=aLengthMenu.length ; i'+aLengthMenu[i]+''; - } - } - sStdMenu += ''; - - var nLength = document.createElement( 'div' ); - if ( !oSettings.aanFeatures.l ) - { - nLength.id = oSettings.sTableId+'_length'; - } - nLength.className = oSettings.oClasses.sLength; - nLength.innerHTML = ''; - - /* - * Set the length to the current display length - thanks to Andrea Pavlovic for this fix, - * and Stefan Skopnik for fixing the fix! - */ - $('select option[value="'+oSettings._iDisplayLength+'"]', nLength).attr("selected", true); - - $('select', nLength).bind( 'change.DT', function(e) { - var iVal = $(this).val(); - - /* Update all other length options for the new display */ - var n = oSettings.aanFeatures.l; - for ( i=0, iLen=n.length ; i oSettings.aiDisplay.length || - oSettings._iDisplayLength == -1 ) - { - oSettings._iDisplayEnd = oSettings.aiDisplay.length; - } - else - { - oSettings._iDisplayEnd = oSettings._iDisplayStart + oSettings._iDisplayLength; - } - } - } - - - - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Note that most of the paging logic is done in - * DataTable.ext.oPagination - */ - - /** - * Generate the node required for default pagination - * @param {object} oSettings dataTables settings object - * @returns {node} Pagination feature node - * @memberof DataTable#oApi - */ - function _fnFeatureHtmlPaginate ( oSettings ) - { - if ( oSettings.oScroll.bInfinite ) - { - return null; - } - - var nPaginate = document.createElement( 'div' ); - nPaginate.className = oSettings.oClasses.sPaging+oSettings.sPaginationType; - - DataTable.ext.oPagination[ oSettings.sPaginationType ].fnInit( oSettings, nPaginate, - function( oSettings ) { - _fnCalculateEnd( oSettings ); - _fnDraw( oSettings ); - } - ); - - /* Add a draw callback for the pagination on first instance, to update the paging display */ - if ( !oSettings.aanFeatures.p ) - { - oSettings.aoDrawCallback.push( { - "fn": function( oSettings ) { - DataTable.ext.oPagination[ oSettings.sPaginationType ].fnUpdate( oSettings, function( oSettings ) { - _fnCalculateEnd( oSettings ); - _fnDraw( oSettings ); - } ); - }, - "sName": "pagination" - } ); - } - return nPaginate; - } - - - /** - * Alter the display settings to change the page - * @param {object} oSettings dataTables settings object - * @param {string|int} mAction Paging action to take: "first", "previous", "next" or "last" - * or page number to jump to (integer) - * @returns {bool} true page has changed, false - no change (no effect) eg 'first' on page 1 - * @memberof DataTable#oApi - */ - function _fnPageChange ( oSettings, mAction ) - { - var iOldStart = oSettings._iDisplayStart; - - if ( typeof mAction === "number" ) - { - oSettings._iDisplayStart = mAction * oSettings._iDisplayLength; - if ( oSettings._iDisplayStart > oSettings.fnRecordsDisplay() ) - { - oSettings._iDisplayStart = 0; - } - } - else if ( mAction == "first" ) - { - oSettings._iDisplayStart = 0; - } - else if ( mAction == "previous" ) - { - oSettings._iDisplayStart = oSettings._iDisplayLength>=0 ? - oSettings._iDisplayStart - oSettings._iDisplayLength : - 0; - - /* Correct for under-run */ - if ( oSettings._iDisplayStart < 0 ) - { - oSettings._iDisplayStart = 0; - } - } - else if ( mAction == "next" ) - { - if ( oSettings._iDisplayLength >= 0 ) - { - /* Make sure we are not over running the display array */ - if ( oSettings._iDisplayStart + oSettings._iDisplayLength < oSettings.fnRecordsDisplay() ) - { - oSettings._iDisplayStart += oSettings._iDisplayLength; - } - } - else - { - oSettings._iDisplayStart = 0; - } - } - else if ( mAction == "last" ) - { - if ( oSettings._iDisplayLength >= 0 ) - { - var iPages = parseInt( (oSettings.fnRecordsDisplay()-1) / oSettings._iDisplayLength, 10 ) + 1; - oSettings._iDisplayStart = (iPages-1) * oSettings._iDisplayLength; - } - else - { - oSettings._iDisplayStart = 0; - } - } - else - { - _fnLog( oSettings, 0, "Unknown paging action: "+mAction ); - } - $(oSettings.oInstance).trigger('page', oSettings); - - return iOldStart != oSettings._iDisplayStart; - } - - - - /** - * Generate the node required for the processing node - * @param {object} oSettings dataTables settings object - * @returns {node} Processing element - * @memberof DataTable#oApi - */ - function _fnFeatureHtmlProcessing ( oSettings ) - { - var nProcessing = document.createElement( 'div' ); - - if ( !oSettings.aanFeatures.r ) - { - nProcessing.id = oSettings.sTableId+'_processing'; - } - nProcessing.innerHTML = oSettings.oLanguage.sProcessing; - nProcessing.className = oSettings.oClasses.sProcessing; - oSettings.nTable.parentNode.insertBefore( nProcessing, oSettings.nTable ); - - return nProcessing; - } - - - /** - * Display or hide the processing indicator - * @param {object} oSettings dataTables settings object - * @param {bool} bShow Show the processing indicator (true) or not (false) - * @memberof DataTable#oApi - */ - function _fnProcessingDisplay ( oSettings, bShow ) - { - if ( oSettings.oFeatures.bProcessing ) - { - var an = oSettings.aanFeatures.r; - for ( var i=0, iLen=an.length ; i 0 ) - { - nCaption = nCaption[0]; - if ( nCaption._captionSide === "top" ) - { - nScrollHeadTable.appendChild( nCaption ); - } - else if ( nCaption._captionSide === "bottom" && nTfoot ) - { - nScrollFootTable.appendChild( nCaption ); - } - } - - /* - * Sizing - */ - /* When x-scrolling add the width and a scroller to move the header with the body */ - if ( oSettings.oScroll.sX !== "" ) - { - nScrollHead.style.width = _fnStringToCss( oSettings.oScroll.sX ); - nScrollBody.style.width = _fnStringToCss( oSettings.oScroll.sX ); - - if ( nTfoot !== null ) - { - nScrollFoot.style.width = _fnStringToCss( oSettings.oScroll.sX ); - } - - /* When the body is scrolled, then we also want to scroll the headers */ - $(nScrollBody).scroll( function (e) { - nScrollHead.scrollLeft = this.scrollLeft; - - if ( nTfoot !== null ) - { - nScrollFoot.scrollLeft = this.scrollLeft; - } - } ); - } - - /* When yscrolling, add the height */ - if ( oSettings.oScroll.sY !== "" ) - { - nScrollBody.style.height = _fnStringToCss( oSettings.oScroll.sY ); - } - - /* Redraw - align columns across the tables */ - oSettings.aoDrawCallback.push( { - "fn": _fnScrollDraw, - "sName": "scrolling" - } ); - - /* Infinite scrolling event handlers */ - if ( oSettings.oScroll.bInfinite ) - { - $(nScrollBody).scroll( function() { - /* Use a blocker to stop scrolling from loading more data while other data is still loading */ - if ( !oSettings.bDrawing && $(this).scrollTop() !== 0 ) - { - /* Check if we should load the next data set */ - if ( $(this).scrollTop() + $(this).height() > - $(oSettings.nTable).height() - oSettings.oScroll.iLoadGap ) - { - /* Only do the redraw if we have to - we might be at the end of the data */ - if ( oSettings.fnDisplayEnd() < oSettings.fnRecordsDisplay() ) - { - _fnPageChange( oSettings, 'next' ); - _fnCalculateEnd( oSettings ); - _fnDraw( oSettings ); - } - } - } - } ); - } - - oSettings.nScrollHead = nScrollHead; - oSettings.nScrollFoot = nScrollFoot; - - return nScroller; - } - - - /** - * Update the various tables for resizing. It's a bit of a pig this function, but - * basically the idea to: - * 1. Re-create the table inside the scrolling div - * 2. Take live measurements from the DOM - * 3. Apply the measurements - * 4. Clean up - * @param {object} o dataTables settings object - * @returns {node} Node to add to the DOM - * @memberof DataTable#oApi - */ - function _fnScrollDraw ( o ) - { - var - nScrollHeadInner = o.nScrollHead.getElementsByTagName('div')[0], - nScrollHeadTable = nScrollHeadInner.getElementsByTagName('table')[0], - nScrollBody = o.nTable.parentNode, - i, iLen, j, jLen, anHeadToSize, anHeadSizers, anFootSizers, anFootToSize, oStyle, iVis, - nTheadSize, nTfootSize, - iWidth, aApplied=[], aAppliedFooter=[], iSanityWidth, - nScrollFootInner = (o.nTFoot !== null) ? o.nScrollFoot.getElementsByTagName('div')[0] : null, - nScrollFootTable = (o.nTFoot !== null) ? nScrollFootInner.getElementsByTagName('table')[0] : null, - ie67 = o.oBrowser.bScrollOversize, - zeroOut = function(nSizer) { - oStyle = nSizer.style; - oStyle.paddingTop = "0"; - oStyle.paddingBottom = "0"; - oStyle.borderTopWidth = "0"; - oStyle.borderBottomWidth = "0"; - oStyle.height = 0; - }; - - /* - * 1. Re-create the table inside the scrolling div - */ - - /* Remove the old minimised thead and tfoot elements in the inner table */ - $(o.nTable).children('thead, tfoot').remove(); - - /* Clone the current header and footer elements and then place it into the inner table */ - nTheadSize = $(o.nTHead).clone()[0]; - o.nTable.insertBefore( nTheadSize, o.nTable.childNodes[0] ); - anHeadToSize = o.nTHead.getElementsByTagName('tr'); - anHeadSizers = nTheadSize.getElementsByTagName('tr'); - - if ( o.nTFoot !== null ) - { - nTfootSize = $(o.nTFoot).clone()[0]; - o.nTable.insertBefore( nTfootSize, o.nTable.childNodes[1] ); - anFootToSize = o.nTFoot.getElementsByTagName('tr'); - anFootSizers = nTfootSize.getElementsByTagName('tr'); - } - - /* - * 2. Take live measurements from the DOM - do not alter the DOM itself! - */ - - /* Remove old sizing and apply the calculated column widths - * Get the unique column headers in the newly created (cloned) header. We want to apply the - * calculated sizes to this header - */ - if ( o.oScroll.sX === "" ) - { - nScrollBody.style.width = '100%'; - nScrollHeadInner.parentNode.style.width = '100%'; - } - - var nThs = _fnGetUniqueThs( o, nTheadSize ); - for ( i=0, iLen=nThs.length ; i nScrollBody.offsetHeight || - $(nScrollBody).css('overflow-y') == "scroll") ) - { - o.nTable.style.width = _fnStringToCss( $(o.nTable).outerWidth() - o.oScroll.iBarWidth); - } - } - else - { - if ( o.oScroll.sXInner !== "" ) - { - /* x scroll inner has been given - use it */ - o.nTable.style.width = _fnStringToCss(o.oScroll.sXInner); - } - else if ( iSanityWidth == $(nScrollBody).width() && - $(nScrollBody).height() < $(o.nTable).height() ) - { - /* There is y-scrolling - try to take account of the y scroll bar */ - o.nTable.style.width = _fnStringToCss( iSanityWidth-o.oScroll.iBarWidth ); - if ( $(o.nTable).outerWidth() > iSanityWidth-o.oScroll.iBarWidth ) - { - /* Not possible to take account of it */ - o.nTable.style.width = _fnStringToCss( iSanityWidth ); - } - } - else - { - /* All else fails */ - o.nTable.style.width = _fnStringToCss( iSanityWidth ); - } - } - - /* Recalculate the sanity width - now that we've applied the required width, before it was - * a temporary variable. This is required because the column width calculation is done - * before this table DOM is created. - */ - iSanityWidth = $(o.nTable).outerWidth(); - - /* We want the hidden header to have zero height, so remove padding and borders. Then - * set the width based on the real headers - */ - - // Apply all styles in one pass. Invalidates layout only once because we don't read any - // DOM properties. - _fnApplyToChildren( zeroOut, anHeadSizers ); - - // Read all widths in next pass. Forces layout only once because we do not change - // any DOM properties. - _fnApplyToChildren( function(nSizer) { - aApplied.push( _fnStringToCss( $(nSizer).width() ) ); - }, anHeadSizers ); - - // Apply all widths in final pass. Invalidates layout only once because we do not - // read any DOM properties. - _fnApplyToChildren( function(nToSize, i) { - nToSize.style.width = aApplied[i]; - }, anHeadToSize ); - - $(anHeadSizers).height(0); - - /* Same again with the footer if we have one */ - if ( o.nTFoot !== null ) - { - _fnApplyToChildren( zeroOut, anFootSizers ); - - _fnApplyToChildren( function(nSizer) { - aAppliedFooter.push( _fnStringToCss( $(nSizer).width() ) ); - }, anFootSizers ); - - _fnApplyToChildren( function(nToSize, i) { - nToSize.style.width = aAppliedFooter[i]; - }, anFootToSize ); - - $(anFootSizers).height(0); - } - - /* - * 3. Apply the measurements - */ - - /* "Hide" the header and footer that we used for the sizing. We want to also fix their width - * to what they currently are - */ - _fnApplyToChildren( function(nSizer, i) { - nSizer.innerHTML = ""; - nSizer.style.width = aApplied[i]; - }, anHeadSizers ); - - if ( o.nTFoot !== null ) - { - _fnApplyToChildren( function(nSizer, i) { - nSizer.innerHTML = ""; - nSizer.style.width = aAppliedFooter[i]; - }, anFootSizers ); - } - - /* Sanity check that the table is of a sensible width. If not then we are going to get - * misalignment - try to prevent this by not allowing the table to shrink below its min width - */ - if ( $(o.nTable).outerWidth() < iSanityWidth ) - { - /* The min width depends upon if we have a vertical scrollbar visible or not */ - var iCorrection = ((nScrollBody.scrollHeight > nScrollBody.offsetHeight || - $(nScrollBody).css('overflow-y') == "scroll")) ? - iSanityWidth+o.oScroll.iBarWidth : iSanityWidth; - - /* IE6/7 are a law unto themselves... */ - if ( ie67 && (nScrollBody.scrollHeight > - nScrollBody.offsetHeight || $(nScrollBody).css('overflow-y') == "scroll") ) - { - o.nTable.style.width = _fnStringToCss( iCorrection-o.oScroll.iBarWidth ); - } - - /* Apply the calculated minimum width to the table wrappers */ - nScrollBody.style.width = _fnStringToCss( iCorrection ); - o.nScrollHead.style.width = _fnStringToCss( iCorrection ); - - if ( o.nTFoot !== null ) - { - o.nScrollFoot.style.width = _fnStringToCss( iCorrection ); - } - - /* And give the user a warning that we've stopped the table getting too small */ - if ( o.oScroll.sX === "" ) - { - _fnLog( o, 1, "The table cannot fit into the current element which will cause column"+ - " misalignment. The table has been drawn at its minimum possible width." ); - } - else if ( o.oScroll.sXInner !== "" ) - { - _fnLog( o, 1, "The table cannot fit into the current element which will cause column"+ - " misalignment. Increase the sScrollXInner value or remove it to allow automatic"+ - " calculation" ); - } - } - else - { - nScrollBody.style.width = _fnStringToCss( '100%' ); - o.nScrollHead.style.width = _fnStringToCss( '100%' ); - - if ( o.nTFoot !== null ) - { - o.nScrollFoot.style.width = _fnStringToCss( '100%' ); - } - } - - - /* - * 4. Clean up - */ - if ( o.oScroll.sY === "" ) - { - /* IE7< puts a vertical scrollbar in place (when it shouldn't be) due to subtracting - * the scrollbar height from the visible display, rather than adding it on. We need to - * set the height in order to sort this. Don't want to do it in any other browsers. - */ - if ( ie67 ) - { - nScrollBody.style.height = _fnStringToCss( o.nTable.offsetHeight+o.oScroll.iBarWidth ); - } - } - - if ( o.oScroll.sY !== "" && o.oScroll.bCollapse ) - { - nScrollBody.style.height = _fnStringToCss( o.oScroll.sY ); - - var iExtra = (o.oScroll.sX !== "" && o.nTable.offsetWidth > nScrollBody.offsetWidth) ? - o.oScroll.iBarWidth : 0; - if ( o.nTable.offsetHeight < nScrollBody.offsetHeight ) - { - nScrollBody.style.height = _fnStringToCss( o.nTable.offsetHeight+iExtra ); - } - } - - /* Finally set the width's of the header and footer tables */ - var iOuterWidth = $(o.nTable).outerWidth(); - nScrollHeadTable.style.width = _fnStringToCss( iOuterWidth ); - nScrollHeadInner.style.width = _fnStringToCss( iOuterWidth ); - - // Figure out if there are scrollbar present - if so then we need a the header and footer to - // provide a bit more space to allow "overflow" scrolling (i.e. past the scrollbar) - var bScrolling = $(o.nTable).height() > nScrollBody.clientHeight || $(nScrollBody).css('overflow-y') == "scroll"; - nScrollHeadInner.style.paddingRight = bScrolling ? o.oScroll.iBarWidth+"px" : "0px"; - - if ( o.nTFoot !== null ) - { - nScrollFootTable.style.width = _fnStringToCss( iOuterWidth ); - nScrollFootInner.style.width = _fnStringToCss( iOuterWidth ); - nScrollFootInner.style.paddingRight = bScrolling ? o.oScroll.iBarWidth+"px" : "0px"; - } - - /* Adjust the position of the header in case we loose the y-scrollbar */ - $(nScrollBody).scroll(); - - /* If sorting or filtering has occurred, jump the scrolling back to the top */ - if ( o.bSorted || o.bFiltered ) - { - nScrollBody.scrollTop = 0; - } - } - - - /** - * Apply a given function to the display child nodes of an element array (typically - * TD children of TR rows - * @param {function} fn Method to apply to the objects - * @param array {nodes} an1 List of elements to look through for display children - * @param array {nodes} an2 Another list (identical structure to the first) - optional - * @memberof DataTable#oApi - */ - function _fnApplyToChildren( fn, an1, an2 ) - { - var index=0, i=0, iLen=an1.length; - var nNode1, nNode2; - - while ( i < iLen ) - { - nNode1 = an1[i].firstChild; - nNode2 = an2 ? an2[i].firstChild : null; - while ( nNode1 ) - { - if ( nNode1.nodeType === 1 ) - { - if ( an2 ) - { - fn( nNode1, nNode2, index ); - } - else - { - fn( nNode1, index ); - } - index++; - } - nNode1 = nNode1.nextSibling; - nNode2 = an2 ? nNode2.nextSibling : null; - } - i++; - } - } - - /** - * Convert a CSS unit width to pixels (e.g. 2em) - * @param {string} sWidth width to be converted - * @param {node} nParent parent to get the with for (required for relative widths) - optional - * @returns {int} iWidth width in pixels - * @memberof DataTable#oApi - */ - function _fnConvertToWidth ( sWidth, nParent ) - { - if ( !sWidth || sWidth === null || sWidth === '' ) - { - return 0; - } - - if ( !nParent ) - { - nParent = document.body; - } - - var iWidth; - var nTmp = document.createElement( "div" ); - nTmp.style.width = _fnStringToCss( sWidth ); - - nParent.appendChild( nTmp ); - iWidth = nTmp.offsetWidth; - nParent.removeChild( nTmp ); - - return ( iWidth ); - } - - - /** - * Calculate the width of columns for the table - * @param {object} oSettings dataTables settings object - * @memberof DataTable#oApi - */ - function _fnCalculateColumnWidths ( oSettings ) - { - var iTableWidth = oSettings.nTable.offsetWidth; - var iUserInputs = 0; - var iTmpWidth; - var iVisibleColumns = 0; - var iColums = oSettings.aoColumns.length; - var i, iIndex, iCorrector, iWidth; - var oHeaders = $('th', oSettings.nTHead); - var widthAttr = oSettings.nTable.getAttribute('width'); - var nWrapper = oSettings.nTable.parentNode; - - /* Convert any user input sizes into pixel sizes */ - for ( i=0 ; itd', nCalcTmp); - } - - /* Apply custom sizing to the cloned header */ - var nThs = _fnGetUniqueThs( oSettings, nTheadClone ); - iCorrector = 0; - for ( i=0 ; i 0 ) - { - oSettings.aoColumns[i].sWidth = _fnStringToCss( iWidth ); - } - iCorrector++; - } - } - - var cssWidth = $(nCalcTmp).css('width'); - oSettings.nTable.style.width = (cssWidth.indexOf('%') !== -1) ? - cssWidth : _fnStringToCss( $(nCalcTmp).outerWidth() ); - nCalcTmp.parentNode.removeChild( nCalcTmp ); - } - - if ( widthAttr ) - { - oSettings.nTable.style.width = _fnStringToCss( widthAttr ); - } - } - - - /** - * Adjust a table's width to take account of scrolling - * @param {object} oSettings dataTables settings object - * @param {node} n table node - * @memberof DataTable#oApi - */ - function _fnScrollingWidthAdjust ( oSettings, n ) - { - if ( oSettings.oScroll.sX === "" && oSettings.oScroll.sY !== "" ) - { - /* When y-scrolling only, we want to remove the width of the scroll bar so the table - * + scroll bar will fit into the area avaialble. - */ - var iOrigWidth = $(n).width(); - n.style.width = _fnStringToCss( $(n).outerWidth()-oSettings.oScroll.iBarWidth ); - } - else if ( oSettings.oScroll.sX !== "" ) - { - /* When x-scrolling both ways, fix the table at it's current size, without adjusting */ - n.style.width = _fnStringToCss( $(n).outerWidth() ); - } - } - - - /** - * Get the widest node - * @param {object} oSettings dataTables settings object - * @param {int} iCol column of interest - * @returns {node} widest table node - * @memberof DataTable#oApi - */ - function _fnGetWidestNode( oSettings, iCol ) - { - var iMaxIndex = _fnGetMaxLenString( oSettings, iCol ); - if ( iMaxIndex < 0 ) - { - return null; - } - - if ( oSettings.aoData[iMaxIndex].nTr === null ) - { - var n = document.createElement('td'); - n.innerHTML = _fnGetCellData( oSettings, iMaxIndex, iCol, '' ); - return n; - } - return _fnGetTdNodes(oSettings, iMaxIndex)[iCol]; - } - - - /** - * Get the maximum strlen for each data column - * @param {object} oSettings dataTables settings object - * @param {int} iCol column of interest - * @returns {string} max string length for each column - * @memberof DataTable#oApi - */ - function _fnGetMaxLenString( oSettings, iCol ) - { - var iMax = -1; - var iMaxIndex = -1; - - for ( var i=0 ; i/g, "" ); - if ( s.length > iMax ) - { - iMax = s.length; - iMaxIndex = i; - } - } - - return iMaxIndex; - } - - - /** - * Append a CSS unit (only if required) to a string - * @param {array} aArray1 first array - * @param {array} aArray2 second array - * @returns {int} 0 if match, 1 if length is different, 2 if no match - * @memberof DataTable#oApi - */ - function _fnStringToCss( s ) - { - if ( s === null ) - { - return "0px"; - } - - if ( typeof s == 'number' ) - { - if ( s < 0 ) - { - return "0px"; - } - return s+"px"; - } - - /* Check if the last character is not 0-9 */ - var c = s.charCodeAt( s.length-1 ); - if (c < 0x30 || c > 0x39) - { - return s; - } - return s+"px"; - } - - - /** - * Get the width of a scroll bar in this browser being used - * @returns {int} width in pixels - * @memberof DataTable#oApi - */ - function _fnScrollBarWidth () - { - var inner = document.createElement('p'); - var style = inner.style; - style.width = "100%"; - style.height = "200px"; - style.padding = "0px"; - - var outer = document.createElement('div'); - style = outer.style; - style.position = "absolute"; - style.top = "0px"; - style.left = "0px"; - style.visibility = "hidden"; - style.width = "200px"; - style.height = "150px"; - style.padding = "0px"; - style.overflow = "hidden"; - outer.appendChild(inner); - - document.body.appendChild(outer); - var w1 = inner.offsetWidth; - outer.style.overflow = 'scroll'; - var w2 = inner.offsetWidth; - if ( w1 == w2 ) - { - w2 = outer.clientWidth; - } - - document.body.removeChild(outer); - return (w1 - w2); - } - - /** - * Change the order of the table - * @param {object} oSettings dataTables settings object - * @param {bool} bApplyClasses optional - should we apply classes or not - * @memberof DataTable#oApi - */ - function _fnSort ( oSettings, bApplyClasses ) - { - var - i, iLen, j, jLen, k, kLen, - sDataType, nTh, - aaSort = [], - aiOrig = [], - oSort = DataTable.ext.oSort, - aoData = oSettings.aoData, - aoColumns = oSettings.aoColumns, - oAria = oSettings.oLanguage.oAria; - - /* No sorting required if server-side or no sorting array */ - if ( !oSettings.oFeatures.bServerSide && - (oSettings.aaSorting.length !== 0 || oSettings.aaSortingFixed !== null) ) - { - aaSort = ( oSettings.aaSortingFixed !== null ) ? - oSettings.aaSortingFixed.concat( oSettings.aaSorting ) : - oSettings.aaSorting.slice(); - - /* If there is a sorting data type, and a function belonging to it, then we need to - * get the data from the developer's function and apply it for this column - */ - for ( i=0 ; i/g, "" ); - nTh = aoColumns[i].nTh; - nTh.removeAttribute('aria-sort'); - nTh.removeAttribute('aria-label'); - - /* In ARIA only the first sorting column can be marked as sorting - no multi-sort option */ - if ( aoColumns[i].bSortable ) - { - if ( aaSort.length > 0 && aaSort[0][0] == i ) - { - nTh.setAttribute('aria-sort', aaSort[0][1]=="asc" ? "ascending" : "descending" ); - - var nextSort = (aoColumns[i].asSorting[ aaSort[0][2]+1 ]) ? - aoColumns[i].asSorting[ aaSort[0][2]+1 ] : aoColumns[i].asSorting[0]; - nTh.setAttribute('aria-label', sTitle+ - (nextSort=="asc" ? oAria.sSortAscending : oAria.sSortDescending) ); - } - else - { - nTh.setAttribute('aria-label', sTitle+ - (aoColumns[i].asSorting[0]=="asc" ? oAria.sSortAscending : oAria.sSortDescending) ); - } - } - else - { - nTh.setAttribute('aria-label', sTitle); - } - } - - /* Tell the draw function that we have sorted the data */ - oSettings.bSorted = true; - $(oSettings.oInstance).trigger('sort', oSettings); - - /* Copy the master data into the draw array and re-draw */ - if ( oSettings.oFeatures.bFilter ) - { - /* _fnFilter() will redraw the table for us */ - _fnFilterComplete( oSettings, oSettings.oPreviousSearch, 1 ); - } - else - { - oSettings.aiDisplay = oSettings.aiDisplayMaster.slice(); - oSettings._iDisplayStart = 0; /* reset display back to page 0 */ - _fnCalculateEnd( oSettings ); - _fnDraw( oSettings ); - } - } - - - /** - * Attach a sort handler (click) to a node - * @param {object} oSettings dataTables settings object - * @param {node} nNode node to attach the handler to - * @param {int} iDataIndex column sorting index - * @param {function} [fnCallback] callback function - * @memberof DataTable#oApi - */ - function _fnSortAttachListener ( oSettings, nNode, iDataIndex, fnCallback ) - { - _fnBindAction( nNode, {}, function (e) { - /* If the column is not sortable - don't to anything */ - if ( oSettings.aoColumns[iDataIndex].bSortable === false ) - { - return; - } - - /* - * This is a little bit odd I admit... I declare a temporary function inside the scope of - * _fnBuildHead and the click handler in order that the code presented here can be used - * twice - once for when bProcessing is enabled, and another time for when it is - * disabled, as we need to perform slightly different actions. - * Basically the issue here is that the Javascript engine in modern browsers don't - * appear to allow the rendering engine to update the display while it is still executing - * it's thread (well - it does but only after long intervals). This means that the - * 'processing' display doesn't appear for a table sort. To break the js thread up a bit - * I force an execution break by using setTimeout - but this breaks the expected - * thread continuation for the end-developer's point of view (their code would execute - * too early), so we only do it when we absolutely have to. - */ - var fnInnerSorting = function () { - var iColumn, iNextSort; - - /* If the shift key is pressed then we are multiple column sorting */ - if ( e.shiftKey ) - { - /* Are we already doing some kind of sort on this column? */ - var bFound = false; - for ( var i=0 ; i 0 && sCurrentClass.indexOf(sNewClass) == -1 ) - { - /* We need to add a class */ - nTds[i].className = sCurrentClass + " " + sNewClass; - } - } - } - } - - - - /** - * Save the state of a table in a cookie such that the page can be reloaded - * @param {object} oSettings dataTables settings object - * @memberof DataTable#oApi - */ - function _fnSaveState ( oSettings ) - { - if ( !oSettings.oFeatures.bStateSave || oSettings.bDestroying ) - { - return; - } - - /* Store the interesting variables */ - var i, iLen, bInfinite=oSettings.oScroll.bInfinite; - var oState = { - "iCreate": new Date().getTime(), - "iStart": (bInfinite ? 0 : oSettings._iDisplayStart), - "iEnd": (bInfinite ? oSettings._iDisplayLength : oSettings._iDisplayEnd), - "iLength": oSettings._iDisplayLength, - "aaSorting": $.extend( true, [], oSettings.aaSorting ), - "oSearch": $.extend( true, {}, oSettings.oPreviousSearch ), - "aoSearchCols": $.extend( true, [], oSettings.aoPreSearchCols ), - "abVisCols": [] - }; - - for ( i=0, iLen=oSettings.aoColumns.length ; i 4096 ) /* Magic 10 for padding */ - { - for ( var i=0, iLen=aCookies.length ; i 4096 ) { - if ( aOldCookies.length === 0 ) { - // Deleted all DT cookies and still not enough space. Can't state save - return; - } - - var old = aOldCookies.pop(); - document.cookie = old.name+"=; expires=Thu, 01-Jan-1970 00:00:01 GMT; path="+ - aParts.join('/') + "/"; - } - } - - document.cookie = sFullCookie; - } - - - /** - * Read an old cookie to get a cookie with an old table state - * @param {string} sName name of the cookie to read - * @returns {string} contents of the cookie - or null if no cookie with that name found - * @memberof DataTable#oApi - */ - function _fnReadCookie ( sName ) - { - var - aParts = window.location.pathname.split('/'), - sNameEQ = sName + '_' + aParts[aParts.length-1].replace(/[\/:]/g,"").toLowerCase() + '=', - sCookieContents = document.cookie.split(';'); - - for( var i=0 ; i=0 ; i-- ) - { - aRet.push( aoStore[i].fn.apply( oSettings.oInstance, aArgs ) ); - } - - if ( sTrigger !== null ) - { - $(oSettings.oInstance).trigger(sTrigger, aArgs); - } - - return aRet; - } - - - /** - * JSON stringify. If JSON.stringify it provided by the browser, json2.js or any other - * library, then we use that as it is fast, safe and accurate. If the function isn't - * available then we need to built it ourselves - the inspiration for this function comes - * from Craig Buckler ( http://www.sitepoint.com/javascript-json-serialization/ ). It is - * not perfect and absolutely should not be used as a replacement to json2.js - but it does - * do what we need, without requiring a dependency for DataTables. - * @param {object} o JSON object to be converted - * @returns {string} JSON string - * @memberof DataTable#oApi - */ - var _fnJsonString = (window.JSON) ? JSON.stringify : function( o ) - { - /* Not an object or array */ - var sType = typeof o; - if (sType !== "object" || o === null) - { - // simple data type - if (sType === "string") - { - o = '"'+o+'"'; - } - return o+""; - } - - /* If object or array, need to recurse over it */ - var - sProp, mValue, - json = [], - bArr = $.isArray(o); - - for (sProp in o) - { - mValue = o[sProp]; - sType = typeof mValue; - - if (sType === "string") - { - mValue = '"'+mValue+'"'; - } - else if (sType === "object" && mValue !== null) - { - mValue = _fnJsonString(mValue); - } - - json.push((bArr ? "" : '"'+sProp+'":') + mValue); - } - - return (bArr ? "[" : "{") + json + (bArr ? "]" : "}"); - }; - - - /** - * From some browsers (specifically IE6/7) we need special handling to work around browser - * bugs - this function is used to detect when these workarounds are needed. - * @param {object} oSettings dataTables settings object - * @memberof DataTable#oApi - */ - function _fnBrowserDetect( oSettings ) - { - /* IE6/7 will oversize a width 100% element inside a scrolling element, to include the - * width of the scrollbar, while other browsers ensure the inner element is contained - * without forcing scrolling - */ - var n = $( - '
            '+ - '
            '+ - '
            '+ - '
            '+ - '
            ')[0]; - - document.body.appendChild( n ); - oSettings.oBrowser.bScrollOversize = $('#DT_BrowserTest', n)[0].offsetWidth === 100 ? true : false; - document.body.removeChild( n ); - } - - - /** - * Perform a jQuery selector action on the table's TR elements (from the tbody) and - * return the resulting jQuery object. - * @param {string|node|jQuery} sSelector jQuery selector or node collection to act on - * @param {object} [oOpts] Optional parameters for modifying the rows to be included - * @param {string} [oOpts.filter=none] Select TR elements that meet the current filter - * criterion ("applied") or all TR elements (i.e. no filter). - * @param {string} [oOpts.order=current] Order of the TR elements in the processed array. - * Can be either 'current', whereby the current sorting of the table is used, or - * 'original' whereby the original order the data was read into the table is used. - * @param {string} [oOpts.page=all] Limit the selection to the currently displayed page - * ("current") or not ("all"). If 'current' is given, then order is assumed to be - * 'current' and filter is 'applied', regardless of what they might be given as. - * @returns {object} jQuery object, filtered by the given selector. - * @dtopt API - * - * @example - * $(document).ready(function() { - * var oTable = $('#example').dataTable(); - * - * // Highlight every second row - * oTable.$('tr:odd').css('backgroundColor', 'blue'); - * } ); - * - * @example - * $(document).ready(function() { - * var oTable = $('#example').dataTable(); - * - * // Filter to rows with 'Webkit' in them, add a background colour and then - * // remove the filter, thus highlighting the 'Webkit' rows only. - * oTable.fnFilter('Webkit'); - * oTable.$('tr', {"filter": "applied"}).css('backgroundColor', 'blue'); - * oTable.fnFilter(''); - * } ); - */ - this.$ = function ( sSelector, oOpts ) - { - var i, iLen, a = [], tr; - var oSettings = _fnSettingsFromNode( this[DataTable.ext.iApiIndex] ); - var aoData = oSettings.aoData; - var aiDisplay = oSettings.aiDisplay; - var aiDisplayMaster = oSettings.aiDisplayMaster; - - if ( !oOpts ) - { - oOpts = {}; - } - - oOpts = $.extend( {}, { - "filter": "none", // applied - "order": "current", // "original" - "page": "all" // current - }, oOpts ); - - // Current page implies that order=current and fitler=applied, since it is fairly - // senseless otherwise - if ( oOpts.page == 'current' ) - { - for ( i=oSettings._iDisplayStart, iLen=oSettings.fnDisplayEnd() ; i - *
          • 1D array of data - add a single row with the data provided
          • - *
          • 2D array of arrays - add multiple rows in a single call
          • - *
          • object - data object when using mData
          • - *
          • array of objects - multiple data objects when using mData
          • - * - * @param {bool} [bRedraw=true] redraw the table or not - * @returns {array} An array of integers, representing the list of indexes in - * aoData ({@link DataTable.models.oSettings}) that have been added to - * the table. - * @dtopt API - * - * @example - * // Global var for counter - * var giCount = 2; - * - * $(document).ready(function() { - * $('#example').dataTable(); - * } ); - * - * function fnClickAddRow() { - * $('#example').dataTable().fnAddData( [ - * giCount+".1", - * giCount+".2", - * giCount+".3", - * giCount+".4" ] - * ); - * - * giCount++; - * } - */ - this.fnAddData = function( mData, bRedraw ) - { - if ( mData.length === 0 ) - { - return []; - } - - var aiReturn = []; - var iTest; - - /* Find settings from table node */ - var oSettings = _fnSettingsFromNode( this[DataTable.ext.iApiIndex] ); - - /* Check if we want to add multiple rows or not */ - if ( typeof mData[0] === "object" && mData[0] !== null ) - { - for ( var i=0 ; i= oSettings.fnRecordsDisplay() ) - { - oSettings._iDisplayStart -= oSettings._iDisplayLength; - if ( oSettings._iDisplayStart < 0 ) - { - oSettings._iDisplayStart = 0; - } - } - - if ( bRedraw === undefined || bRedraw ) - { - _fnCalculateEnd( oSettings ); - _fnDraw( oSettings ); - } - - return oData; - }; - - - /** - * Restore the table to it's original state in the DOM by removing all of DataTables - * enhancements, alterations to the DOM structure of the table and event listeners. - * @param {boolean} [bRemove=false] Completely remove the table from the DOM - * @dtopt API - * - * @example - * $(document).ready(function() { - * // This example is fairly pointless in reality, but shows how fnDestroy can be used - * var oTable = $('#example').dataTable(); - * oTable.fnDestroy(); - * } ); - */ - this.fnDestroy = function ( bRemove ) - { - var oSettings = _fnSettingsFromNode( this[DataTable.ext.iApiIndex] ); - var nOrig = oSettings.nTableWrapper.parentNode; - var nBody = oSettings.nTBody; - var i, iLen; - - bRemove = (bRemove===undefined) ? false : bRemove; - - /* Flag to note that the table is currently being destroyed - no action should be taken */ - oSettings.bDestroying = true; - - /* Fire off the destroy callbacks for plug-ins etc */ - _fnCallbackFire( oSettings, "aoDestroyCallback", "destroy", [oSettings] ); - - /* If the table is not being removed, restore the hidden columns */ - if ( !bRemove ) - { - for ( i=0, iLen=oSettings.aoColumns.length ; itr>td.'+oSettings.oClasses.sRowEmpty, oSettings.nTable).parent().remove(); - - /* When scrolling we had to break the table up - restore it */ - if ( oSettings.nTable != oSettings.nTHead.parentNode ) - { - $(oSettings.nTable).children('thead').remove(); - oSettings.nTable.appendChild( oSettings.nTHead ); - } - - if ( oSettings.nTFoot && oSettings.nTable != oSettings.nTFoot.parentNode ) - { - $(oSettings.nTable).children('tfoot').remove(); - oSettings.nTable.appendChild( oSettings.nTFoot ); - } - - /* Remove the DataTables generated nodes, events and classes */ - oSettings.nTable.parentNode.removeChild( oSettings.nTable ); - $(oSettings.nTableWrapper).remove(); - - oSettings.aaSorting = []; - oSettings.aaSortingFixed = []; - _fnSortingClasses( oSettings ); - - $(_fnGetTrNodes( oSettings )).removeClass( oSettings.asStripeClasses.join(' ') ); - - $('th, td', oSettings.nTHead).removeClass( [ - oSettings.oClasses.sSortable, - oSettings.oClasses.sSortableAsc, - oSettings.oClasses.sSortableDesc, - oSettings.oClasses.sSortableNone ].join(' ') - ); - if ( oSettings.bJUI ) - { - $('th span.'+oSettings.oClasses.sSortIcon - + ', td span.'+oSettings.oClasses.sSortIcon, oSettings.nTHead).remove(); - - $('th, td', oSettings.nTHead).each( function () { - var jqWrapper = $('div.'+oSettings.oClasses.sSortJUIWrapper, this); - var kids = jqWrapper.contents(); - $(this).append( kids ); - jqWrapper.remove(); - } ); - } - - /* Add the TR elements back into the table in their original order */ - if ( !bRemove && oSettings.nTableReinsertBefore ) - { - nOrig.insertBefore( oSettings.nTable, oSettings.nTableReinsertBefore ); - } - else if ( !bRemove ) - { - nOrig.appendChild( oSettings.nTable ); - } - - for ( i=0, iLen=oSettings.aoData.length ; i
            ")[0];a.nTable.parentNode.insertBefore(b,a.nTable);a.nTableWrapper=h('
            ')[0];a.nTableReinsertBefore=a.nTable.nextSibling;for(var c=a.nTableWrapper,d=a.sDom.split(""),i,f,g,e,w,o,k,m=0;m
            ")[0];w=d[m+ -1];if("'"==w||'"'==w){o="";for(k=2;d[m+k]!=w;)o+=d[m+k],k++;"H"==o?o=a.oClasses.sJUIHeader:"F"==o&&(o=a.oClasses.sJUIFooter);-1!=o.indexOf(".")?(w=o.split("."),e.id=w[0].substr(1,w[0].length-1),e.className=w[1]):"#"==o.charAt(0)?e.id=o.substr(1,o.length-1):e.className=o;m+=k}c.appendChild(e);c=e}else if(">"==g)c=c.parentNode;else if("l"==g&&a.oFeatures.bPaginate&&a.oFeatures.bLengthChange)i=ya(a),f=1;else if("f"==g&&a.oFeatures.bFilter)i=za(a),f=1;else if("r"==g&&a.oFeatures.bProcessing)i=Aa(a),f= -1;else if("t"==g)i=Ba(a),f=1;else if("i"==g&&a.oFeatures.bInfo)i=Ca(a),f=1;else if("p"==g&&a.oFeatures.bPaginate)i=Da(a),f=1;else if(0!==j.ext.aoFeatures.length){e=j.ext.aoFeatures;k=0;for(w=e.length;k'):""===c?'':c+' ',d=l.createElement("div");d.className=a.oClasses.sFilter;d.innerHTML="";a.aanFeatures.f||(d.id=a.sTableId+"_filter");c=h('input[type="text"]',d);d._DT_Input=c[0];c.val(b.sSearch.replace('"',"""));c.bind("keyup.DT",function(){for(var c=a.aanFeatures.f,d=this.value===""?"":this.value, -g=0,e=c.length;g=b.length)a.aiDisplay.splice(0,a.aiDisplay.length),a.aiDisplay=a.aiDisplayMaster.slice();else if(a.aiDisplay.length==a.aiDisplayMaster.length||i.sSearch.length>b.length||1==c||0!==b.indexOf(i.sSearch)){a.aiDisplay.splice(0, -a.aiDisplay.length);la(a,1);for(b=0;b").html(c).text()); -return c.replace(/[\n\r]/g," ")}function ma(a,b,c,d){if(c)return a=b?a.split(" "):oa(a).split(" "),a="^(?=.*?"+a.join(")(?=.*?")+").*$",RegExp(a,d?"i":"");a=b?a:oa(a);return RegExp(a,d?"i":"")}function Ja(a,b){return"function"===typeof j.ext.ofnSearch[b]?j.ext.ofnSearch[b](a):null===a?"":"html"==b?a.replace(/[\r\n]/g," ").replace(/<.*?>/g,""):"string"===typeof a?a.replace(/[\r\n]/g," "):a}function oa(a){return a.replace(RegExp("(\\/|\\.|\\*|\\+|\\?|\\||\\(|\\)|\\[|\\]|\\{|\\}|\\\\|\\$|\\^|\\-)","g"), -"\\$1")}function Ca(a){var b=l.createElement("div");b.className=a.oClasses.sInfo;a.aanFeatures.i||(a.aoDrawCallback.push({fn:Ka,sName:"information"}),b.id=a.sTableId+"_info");a.nTable.setAttribute("aria-describedby",a.sTableId+"_info");return b}function Ka(a){if(a.oFeatures.bInfo&&0!==a.aanFeatures.i.length){var b=a.oLanguage,c=a._iDisplayStart+1,d=a.fnDisplayEnd(),i=a.fnRecordsTotal(),f=a.fnRecordsDisplay(),g;g=0===f?b.sInfoEmpty:b.sInfo;f!=i&&(g+=" "+b.sInfoFiltered);g+=b.sInfoPostFix;g=ja(a,g); -null!==b.fnInfoCallback&&(g=b.fnInfoCallback.call(a.oInstance,a,c,d,i,f,g));a=a.aanFeatures.i;b=0;for(c=a.length;b",c,d,i=a.aLengthMenu;if(2==i.length&&"object"===typeof i[0]&&"object"===typeof i[1]){c=0;for(d=i[0].length;c'+i[1][c]+""}else{c=0;for(d=i.length;c'+i[c]+""}b+="";i=l.createElement("div");a.aanFeatures.l|| -(i.id=a.sTableId+"_length");i.className=a.oClasses.sLength;i.innerHTML="";h('select option[value="'+a._iDisplayLength+'"]',i).attr("selected",!0);h("select",i).bind("change.DT",function(){var b=h(this).val(),i=a.aanFeatures.l;c=0;for(d=i.length;ca.aiDisplay.length||-1==a._iDisplayLength?a.aiDisplay.length:a._iDisplayStart+a._iDisplayLength}function Da(a){if(a.oScroll.bInfinite)return null;var b=l.createElement("div");b.className=a.oClasses.sPaging+a.sPaginationType;j.ext.oPagination[a.sPaginationType].fnInit(a, -b,function(a){y(a);x(a)});a.aanFeatures.p||a.aoDrawCallback.push({fn:function(a){j.ext.oPagination[a.sPaginationType].fnUpdate(a,function(a){y(a);x(a)})},sName:"pagination"});return b}function qa(a,b){var c=a._iDisplayStart;if("number"===typeof b)a._iDisplayStart=b*a._iDisplayLength,a._iDisplayStart>a.fnRecordsDisplay()&&(a._iDisplayStart=0);else if("first"==b)a._iDisplayStart=0;else if("previous"==b)a._iDisplayStart=0<=a._iDisplayLength?a._iDisplayStart-a._iDisplayLength:0,0>a._iDisplayStart&&(a._iDisplayStart= -0);else if("next"==b)0<=a._iDisplayLength?a._iDisplayStart+a._iDisplayLengthh(a.nTable).height()-a.oScroll.iLoadGap&&a.fnDisplayEnd()d.offsetHeight||"scroll"==h(d).css("overflow-y")))a.nTable.style.width=q(h(a.nTable).outerWidth()-a.oScroll.iBarWidth)}else""!==a.oScroll.sXInner?a.nTable.style.width= -q(a.oScroll.sXInner):i==h(d).width()&&h(d).height()i-a.oScroll.iBarWidth&&(a.nTable.style.width=q(i))):a.nTable.style.width=q(i);i=h(a.nTable).outerWidth();C(s,e);C(function(a){p.push(q(h(a).width()))},e);C(function(a,b){a.style.width=p[b]},g);h(e).height(0);null!==a.nTFoot&&(C(s,j),C(function(a){n.push(q(h(a).width()))},j),C(function(a,b){a.style.width=n[b]},o),h(j).height(0));C(function(a,b){a.innerHTML= -"";a.style.width=p[b]},e);null!==a.nTFoot&&C(function(a,b){a.innerHTML="";a.style.width=n[b]},j);if(h(a.nTable).outerWidth()d.offsetHeight||"scroll"==h(d).css("overflow-y")?i+a.oScroll.iBarWidth:i;if(r&&(d.scrollHeight>d.offsetHeight||"scroll"==h(d).css("overflow-y")))a.nTable.style.width=q(g-a.oScroll.iBarWidth);d.style.width=q(g);a.nScrollHead.style.width=q(g);null!==a.nTFoot&&(a.nScrollFoot.style.width=q(g));""===a.oScroll.sX?D(a,1,"The table cannot fit into the current element which will cause column misalignment. The table has been drawn at its minimum possible width."): -""!==a.oScroll.sXInner&&D(a,1,"The table cannot fit into the current element which will cause column misalignment. Increase the sScrollXInner value or remove it to allow automatic calculation")}else d.style.width=q("100%"),a.nScrollHead.style.width=q("100%"),null!==a.nTFoot&&(a.nScrollFoot.style.width=q("100%"));""===a.oScroll.sY&&r&&(d.style.height=q(a.nTable.offsetHeight+a.oScroll.iBarWidth));""!==a.oScroll.sY&&a.oScroll.bCollapse&&(d.style.height=q(a.oScroll.sY),r=""!==a.oScroll.sX&&a.nTable.offsetWidth> -d.offsetWidth?a.oScroll.iBarWidth:0,a.nTable.offsetHeightd.clientHeight||"scroll"==h(d).css("overflow-y");b.style.paddingRight=c?a.oScroll.iBarWidth+"px":"0px";null!==a.nTFoot&&(R.style.width=q(r),l.style.width=q(r),l.style.paddingRight=c?a.oScroll.iBarWidth+"px":"0px");h(d).scroll();if(a.bSorted||a.bFiltered)d.scrollTop=0}function C(a,b,c){for(var d= -0,i=0,f=b.length,g,e;itd",b));j=N(a,f);for(f=d=0;fc)return null;if(null===a.aoData[c].nTr){var d=l.createElement("td");d.innerHTML=v(a,c,b,"");return d}return J(a,c)[b]}function Pa(a,b){for(var c=-1,d=-1,i=0;i/g,"");e.length>c&&(c=e.length,d=i)}return d}function q(a){if(null===a)return"0px";if("number"==typeof a)return 0>a?"0px":a+"px";var b=a.charCodeAt(a.length-1); -return 48>b||57/g,""),i=q[c].nTh,i.removeAttribute("aria-sort"),i.removeAttribute("aria-label"),q[c].bSortable?0d&&d++;f=RegExp(f+"[123]");var o;b=0;for(c=a.length;b
            ')[0];l.body.appendChild(b);a.oBrowser.bScrollOversize= -100===h("#DT_BrowserTest",b)[0].offsetWidth?!0:!1;l.body.removeChild(b)}function Va(a){return function(){var b=[s(this[j.ext.iApiIndex])].concat(Array.prototype.slice.call(arguments));return j.ext.oApi[a].apply(this,b)}}var U=/\[.*?\]$/,Wa=X.JSON?JSON.stringify:function(a){var b=typeof a;if("object"!==b||null===a)return"string"===b&&(a='"'+a+'"'),a+"";var c,d,e=[],f=h.isArray(a);for(c in a)d=a[c],b=typeof d,"string"===b?d='"'+d+'"':"object"===b&&null!==d&&(d=Wa(d)),e.push((f?"":'"'+c+'":')+d);return(f? -"[":"{")+e+(f?"]":"}")};this.$=function(a,b){var c,d,e=[],f;d=s(this[j.ext.iApiIndex]);var g=d.aoData,o=d.aiDisplay,k=d.aiDisplayMaster;b||(b={});b=h.extend({},{filter:"none",order:"current",page:"all"},b);if("current"==b.page){c=d._iDisplayStart;for(d=d.fnDisplayEnd();c=d.fnRecordsDisplay()&&(d._iDisplayStart-=d._iDisplayLength,0>d._iDisplayStart&&(d._iDisplayStart=0));if(c===n||c)y(d),x(d);return g};this.fnDestroy=function(a){var b=s(this[j.ext.iApiIndex]),c=b.nTableWrapper.parentNode,d=b.nTBody,i,f,a=a===n?!1:a;b.bDestroying=!0;A(b,"aoDestroyCallback","destroy",[b]);if(!a){i=0;for(f=b.aoColumns.length;itr>td."+b.oClasses.sRowEmpty,b.nTable).parent().remove();b.nTable!=b.nTHead.parentNode&&(h(b.nTable).children("thead").remove(),b.nTable.appendChild(b.nTHead));b.nTFoot&&b.nTable!=b.nTFoot.parentNode&&(h(b.nTable).children("tfoot").remove(),b.nTable.appendChild(b.nTFoot));b.nTable.parentNode.removeChild(b.nTable);h(b.nTableWrapper).remove();b.aaSorting=[];b.aaSortingFixed=[];P(b);h(T(b)).removeClass(b.asStripeClasses.join(" "));h("th, td",b.nTHead).removeClass([b.oClasses.sSortable,b.oClasses.sSortableAsc, -b.oClasses.sSortableDesc,b.oClasses.sSortableNone].join(" "));b.bJUI&&(h("th span."+b.oClasses.sSortIcon+", td span."+b.oClasses.sSortIcon,b.nTHead).remove(),h("th, td",b.nTHead).each(function(){var a=h("div."+b.oClasses.sSortJUIWrapper,this),c=a.contents();h(this).append(c);a.remove()}));!a&&b.nTableReinsertBefore?c.insertBefore(b.nTable,b.nTableReinsertBefore):a||c.appendChild(b.nTable);i=0;for(f=b.aoData.length;i=t(d);if(!m)for(e=a;et<"F"ip>')):h.extend(g.oClasses,j.ext.oStdClasses);h(this).addClass(g.oClasses.sTable);if(""!==g.oScroll.sX||""!==g.oScroll.sY)g.oScroll.iBarWidth=Qa();g.iInitDisplayStart===n&&(g.iInitDisplayStart=e.iDisplayStart, -g._iDisplayStart=e.iDisplayStart);e.bStateSave&&(g.oFeatures.bStateSave=!0,Sa(g,e),z(g,"aoDrawCallback",ra,"state_save"));null!==e.iDeferLoading&&(g.bDeferLoading=!0,a=h.isArray(e.iDeferLoading),g._iRecordsDisplay=a?e.iDeferLoading[0]:e.iDeferLoading,g._iRecordsTotal=a?e.iDeferLoading[1]:e.iDeferLoading);null!==e.aaData&&(f=!0);""!==e.oLanguage.sUrl?(g.oLanguage.sUrl=e.oLanguage.sUrl,h.getJSON(g.oLanguage.sUrl,null,function(a){pa(a);h.extend(true,g.oLanguage,e.oLanguage,a);ba(g)}),i=!0):h.extend(!0, -g.oLanguage,e.oLanguage);null===e.asStripeClasses&&(g.asStripeClasses=[g.oClasses.sStripeOdd,g.oClasses.sStripeEven]);b=g.asStripeClasses.length;g.asDestroyStripes=[];if(b){c=!1;d=h(this).children("tbody").children("tr:lt("+b+")");for(a=0;a=g.aoColumns.length&&(g.aaSorting[a][0]=0);var k=g.aoColumns[g.aaSorting[a][0]];g.aaSorting[a][2]===n&&(g.aaSorting[a][2]=0);e.aaSorting===n&&g.saved_aaSorting===n&&(g.aaSorting[a][1]= -k.asSorting[0]);c=0;for(d=k.asSorting.length;c=parseInt(n,10)};j.fnIsDataTable=function(e){for(var h=j.settings,m=0;me)return e;for(var h=e+"",e=h.split(""),j="",h=h.length,k=0;k'+k.sPrevious+''+k.sNext+"":'';h(j).append(k);var l=h("a",j), -k=l[0],l=l[1];e.oApi._fnBindAction(k,{action:"previous"},n);e.oApi._fnBindAction(l,{action:"next"},n);e.aanFeatures.p||(j.id=e.sTableId+"_paginate",k.id=e.sTableId+"_previous",l.id=e.sTableId+"_next",k.setAttribute("aria-controls",e.sTableId),l.setAttribute("aria-controls",e.sTableId))},fnUpdate:function(e){if(e.aanFeatures.p)for(var h=e.oClasses,j=e.aanFeatures.p,k,l=0,n=j.length;l'+k.sFirst+''+k.sPrevious+''+k.sNext+''+k.sLast+"");var t=h("a",j),k=t[0],l=t[1],r=t[2],t=t[3];e.oApi._fnBindAction(k,{action:"first"},n);e.oApi._fnBindAction(l,{action:"previous"},n);e.oApi._fnBindAction(r,{action:"next"},n);e.oApi._fnBindAction(t,{action:"last"},n);e.aanFeatures.p||(j.id=e.sTableId+"_paginate",k.id=e.sTableId+"_first",l.id=e.sTableId+"_previous",r.id=e.sTableId+"_next",t.id=e.sTableId+"_last")}, -fnUpdate:function(e,o){if(e.aanFeatures.p){var m=j.ext.oPagination.iFullNumbersShowPages,k=Math.floor(m/2),l=Math.ceil(e.fnRecordsDisplay()/e._iDisplayLength),n=Math.ceil(e._iDisplayStart/e._iDisplayLength)+1,t="",r,B=e.oClasses,u,M=e.aanFeatures.p,L=function(h){e.oApi._fnBindAction(this,{page:h+r-1},function(h){e.oApi._fnPageChange(e,h.data.page);o(e);h.preventDefault()})};-1===e._iDisplayLength?n=k=r=1:l=l-k?(r=l-m+1,k=l):(r=n-Math.ceil(m/2)+1,k=r+m-1);for(m=r;m<=k;m++)t+= -n!==m?''+e.fnFormatNumber(m)+"":''+e.fnFormatNumber(m)+"";m=0;for(k=M.length;mh?1:0},"string-desc":function(e,h){return eh?-1:0},"html-pre":function(e){return e.replace(/<.*?>/g,"").toLowerCase()},"html-asc":function(e,h){return eh?1:0},"html-desc":function(e,h){return e< -h?1:e>h?-1:0},"date-pre":function(e){e=Date.parse(e);if(isNaN(e)||""===e)e=Date.parse("01/01/1970 00:00:00");return e},"date-asc":function(e,h){return e-h},"date-desc":function(e,h){return h-e},"numeric-pre":function(e){return"-"==e||""===e?0:1*e},"numeric-asc":function(e,h){return e-h},"numeric-desc":function(e,h){return h-e}});h.extend(j.ext.aTypes,[function(e){if("number"===typeof e)return"numeric";if("string"!==typeof e)return null;var h,j=!1;h=e.charAt(0);if(-1=="0123456789-".indexOf(h))return null; -for(var k=1;k")?"html":null}]);h.fn.DataTable=j;h.fn.dataTable=j;h.fn.dataTableSettings=j.settings;h.fn.dataTableExt=j.ext};"function"===typeof define&&define.amd?define(["jquery"],L):jQuery&&!jQuery.fn.dataTable&& -L(jQuery)})(window,document); diff --git a/modules/lib/datatables/jquery.dataTables.sorting.js b/modules/lib/datatables/jquery.dataTables.sorting.js deleted file mode 100644 index a1b5388..0000000 --- a/modules/lib/datatables/jquery.dataTables.sorting.js +++ /dev/null @@ -1,159 +0,0 @@ -//Commas for decimal place -jQuery.fn.dataTableExt.oSort['numeric-comma-asc'] = function(a,b) { - var x = (a == "-") ? 0 : a.replace( /,/, "." ); - var y = (b == "-") ? 0 : b.replace( /,/, "." ); - x = parseFloat( x ); - y = parseFloat( y ); - return ((x < y) ? -1 : ((x > y) ? 1 : 0)); -}; - -jQuery.fn.dataTableExt.oSort['numeric-comma-desc'] = function(a,b) { - var x = (a == "-") ? 0 : a.replace( /,/, "." ); - var y = (b == "-") ? 0 : b.replace( /,/, "." ); - x = parseFloat( x ); - y = parseFloat( y ); - return ((x < y) ? 1 : ((x > y) ? -1 : 0)); -}; - -//Formatted numbers -jQuery.fn.dataTableExt.oSort['formatted-num-asc'] = function(x,y){ - x = x.replace(/[^\d\-\.\/]/g,''); - y = y.replace(/[^\d\-\.\/]/g,''); - if(x.indexOf('/')>=0)x = eval(x); - if(y.indexOf('/')>=0)y = eval(y); - return x/1 - y/1; -} -jQuery.fn.dataTableExt.oSort['formatted-num-desc'] = function(x,y){ - x = x.replace(/[^\d\-\.\/]/g,''); - y = y.replace(/[^\d\-\.\/]/g,''); - if(x.indexOf('/')>=0)x = eval(x); - if(y.indexOf('/')>=0)y = eval(y); - return y/1 - x/1; -} - -// Date (dd . mm[ . YYYY]) -function calculate_date(date) { - var date = date.replace(" ", ""); - - if (date.indexOf('.') > 0) { - /*date a, format dd.mn.(yyyy) ; (year is optional)*/ - var eu_date = date.split('.'); - } else { - /*date a, format dd/mn/(yyyy) ; (year is optional)*/ - var eu_date = date.split('/'); - } - - /*year (optional)*/ - if (eu_date[2]) { - var year = eu_date[2]; - } else { - var year = 0; - } - - /*month*/ - var month = eu_date[1]; - if (month.length == 1) { - month = 0+month; - } - - /*day*/ - var day = eu_date[0]; - if (day.length == 1) { - day = 0+day; - } - - return (year + month + day) * 1; -} - -jQuery.fn.dataTableExt.oSort['eu_date-asc'] = function(a, b) { - x = calculate_date(a); - y = calculate_date(b); - - return ((x < y) ? -1 : ((x > y) ? 1 : 0)); -}; - -jQuery.fn.dataTableExt.oSort['eu_date-desc'] = function(a, b) { - x = calculate_date(a); - y = calculate_date(b); - - return ((x < y) ? 1 : ((x > y) ? -1 : 0)); -}; - -//Automatic HTML type detection -jQuery.fn.dataTableExt.aTypes.push( - function ( sData ) { - return 'html'; - } -); - -//Priority -function fnPriority( a ) { - if ( a == "High" ) { return 1; } - else if ( a == "Medium" ) { return 2; } - else if ( a == "Low" ) { return 3; } - return 4; -} - -jQuery.fn.dataTableExt.oSort['priority-asc'] = function(a,b) { - var x = fnPriority( a ); - var y = fnPriority( b ); - - return ((x < y) ? -1 : ((x > y) ? 1 : 0)); -}; - -jQuery.fn.dataTableExt.oSort['priority-desc'] = function(a,b) { - var x = fnPriority( a ); - var y = fnPriority( b ); - - return ((x < y) ? 1 : ((x > y) ? -1 : 0)); -}; - -/* - * Natural Sort algorithm for Javascript - Version 0.6 - Released under MIT license - * Author: Jim Palmer (based on chunking idea from Dave Koelle) - * Contributors: Mike Grier (mgrier.com), Clint Priest, Kyle Adams, guillermo - */ -function naturalSort (a, b) { - var re = /(^-?[0-9]+(\.?[0-9]*)[df]?e?[0-9]?$|^0x[0-9a-f]+$|[0-9]+)/gi, - sre = /(^[ ]*|[ ]*$)/g, - dre = /(^([\w ]+,?[\w ]+)?[\w ]+,?[\w ]+\d+:\d+(:\d+)?[\w ]?|^\d{1,4}[\/\-]\d{1,4}[\/\-]\d{1,4}|^\w+, \w+ \d+, \d{4})/, - hre = /^0x[0-9a-f]+$/i, - ore = /^0/, - // convert all to strings and trim() - x = a.toString().replace(sre, '') || '', - y = b.toString().replace(sre, '') || '', - // chunk/tokenize - xN = x.replace(re, '\0$1\0').replace(/\0$/,'').replace(/^\0/,'').split('\0'), - yN = y.replace(re, '\0$1\0').replace(/\0$/,'').replace(/^\0/,'').split('\0'), - // numeric, hex or date detection - xD = parseInt(x.match(hre)) || (xN.length != 1 && x.match(dre) && Date.parse(x)), - yD = parseInt(y.match(hre)) || xD && y.match(dre) && Date.parse(y) || null; - // first try and sort Hex codes or Dates - if (yD) - if ( xD < yD ) return -1; - else if ( xD > yD ) return 1; - // natural sorting through split numeric strings and default strings - for(var cLoc=0, numS=Math.max(xN.length, yN.length); cLoc < numS; cLoc++) { - // find floats not starting with '0', string or 0 if not defined (Clint Priest) - oFxNcL = !(xN[cLoc] || '').match(ore) && parseFloat(xN[cLoc]) || xN[cLoc] || 0; - oFyNcL = !(yN[cLoc] || '').match(ore) && parseFloat(yN[cLoc]) || yN[cLoc] || 0; - // handle numeric vs string comparison - number < string - (Kyle Adams) - if (isNaN(oFxNcL) !== isNaN(oFyNcL)) return (isNaN(oFxNcL)) ? 1 : -1; - // rely on string comparison if different types - i.e. '02' < 2 != '02' < '2' - else if (typeof oFxNcL !== typeof oFyNcL) { - oFxNcL += ''; - oFyNcL += ''; - } - if (oFxNcL < oFyNcL) return -1; - if (oFxNcL > oFyNcL) return 1; - } - return 0; -} - -jQuery.fn.dataTableExt.oSort['natural-asc'] = function(a,b) { - return naturalSort(a,b); -}; - -jQuery.fn.dataTableExt.oSort['natural-desc'] = function(a,b) { - return naturalSort(a,b) * -1; -}; \ No newline at end of file diff --git a/modules/lib/datatables/license-bsd.txt b/modules/lib/datatables/license-bsd.txt deleted file mode 100644 index cdb85aa..0000000 --- a/modules/lib/datatables/license-bsd.txt +++ /dev/null @@ -1,10 +0,0 @@ -Copyright (c) 2008-2010, Allan Jardine -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name of Allan Jardine nor SpryMedia UK may be used to endorse or promote products derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/modules/lib/datatables/license-gpl2.txt b/modules/lib/datatables/license-gpl2.txt deleted file mode 100644 index d511905..0000000 --- a/modules/lib/datatables/license-gpl2.txt +++ /dev/null @@ -1,339 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Lesser General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program 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 General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. diff --git a/modules/lib/datatables/server_side.php b/modules/lib/datatables/server_side.php deleted file mode 100644 index 8936740..0000000 --- a/modules/lib/datatables/server_side.php +++ /dev/null @@ -1,203 +0,0 @@ - intval($_GET['sEcho']), - "iTotalRecords" => $iTotal, - "iTotalDisplayRecords" => $iFilteredTotal, - "aaData" => array() - ); - - while ( $aRow = mysql_fetch_array( $rResult ) ) - { - $row = array(); - - /* Add the details image at the start of the display array */ - $row[] = ''; - - for ( $i=0 ; $i \ No newline at end of file diff --git a/modules/lib/datepicker/LICENSE b/modules/lib/datepicker/LICENSE deleted file mode 100644 index d645695..0000000 --- a/modules/lib/datepicker/LICENSE +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/modules/lib/datepicker/bootstrap-datepicker.js b/modules/lib/datepicker/bootstrap-datepicker.js deleted file mode 100644 index cd3c08b..0000000 --- a/modules/lib/datepicker/bootstrap-datepicker.js +++ /dev/null @@ -1,753 +0,0 @@ -/* ========================================================= - * bootstrap-datepicker.js - * http://www.eyecon.ro/bootstrap-datepicker - * ========================================================= - * Copyright 2012 Stefan Petre - * Improvements by Andrew Rowls - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ========================================================= */ - -!function( $ ) { - - // Picker object - - var Datepicker = function(element, options){ - this.element = $(element); - this.language = options.language||this.element.data('date-language')||"en"; - this.language = this.language in dates ? this.language : "en"; - this.format = DPGlobal.parseFormat(options.format||this.element.data('date-format')||'mm/dd/yyyy'); - this.picker = $(DPGlobal.template) - .appendTo('body') - .on({ - click: $.proxy(this.click, this), - mousedown: $.proxy(this.mousedown, this) - }); - this.isInput = this.element.is('input'); - this.component = this.element.is('.date') ? this.element.find('.add-on') : false; - if(this.component && this.component.length === 0) - this.component = false; - - if (this.isInput) { - this.element.on({ - focus: $.proxy(this.show, this), - blur: $.proxy(this._hide, this), - keyup: $.proxy(this.update, this), - keydown: $.proxy(this.keydown, this) - }); - } else { - if (this.component){ - this.component.on('click', $.proxy(this.show, this)); - var element = this.element.find('input'); - element.on({ - blur: $.proxy(this._hide, this) - }) - } else { - this.element.on('click', $.proxy(this.show, this)); - } - } - - this.autoclose = false; - if ('autoclose' in options) { - this.autoclose = options.autoclose; - } else if ('dateAutoclose' in this.element.data()) { - this.autoclose = this.element.data('date-autoclose'); - } - - switch(options.startView){ - case 2: - case 'decade': - this.viewMode = this.startViewMode = 2; - break; - case 1: - case 'year': - this.viewMode = this.startViewMode = 1; - break; - case 0: - case 'month': - default: - this.viewMode = this.startViewMode = 0; - break; - } - - this.weekStart = ((options.weekStart||this.element.data('date-weekstart')||dates[this.language].weekStart||0) % 7); - this.weekEnd = ((this.weekStart + 6) % 7); - this.startDate = -Infinity; - this.endDate = Infinity; - this.setStartDate(options.startDate||this.element.data('date-startdate')); - this.setEndDate(options.endDate||this.element.data('date-enddate')); - this.fillDow(); - this.fillMonths(); - this.update(); - this.showMode(); - }; - - Datepicker.prototype = { - constructor: Datepicker, - - show: function(e) { - this.picker.show(); - this.height = this.component ? this.component.outerHeight() : this.element.outerHeight(); - this.place(); - $(window).on('resize', $.proxy(this.place, this)); - if (e ) { - e.stopPropagation(); - e.preventDefault(); - } - if (!this.isInput) { - $(document).on('mousedown', $.proxy(this.hide, this)); - } - this.element.trigger({ - type: 'show', - date: this.date - }); - }, - - _hide: function(e){ - // When going from the input to the picker, IE handles the blur/click - // events differently than other browsers, in such a way that the blur - // event triggers a hide before the click event can stop propagation. - if ($.browser.msie) { - var t = this, args = arguments; - - function cancel_hide(){ - clearTimeout(hide_timeout); - e.target.focus(); - t.picker.off('click', cancel_hide); - } - - function do_hide(){ - t.hide.apply(t, args); - t.picker.off('click', cancel_hide); - } - - this.picker.on('click', cancel_hide); - var hide_timeout = setTimeout(do_hide, 100); - } else { - return this.hide.apply(this, arguments); - } - }, - - hide: function(e){ - this.picker.hide(); - $(window).off('resize', this.place); - this.viewMode = this.startViewMode; - this.showMode(); - if (!this.isInput) { - $(document).off('mousedown', this.hide); - } - if (e && e.currentTarget.value) - this.setValue(); - this.element.trigger({ - type: 'hide', - date: this.date - }); - }, - - setValue: function() { - var formated = DPGlobal.formatDate(this.date, this.format, this.language); - if (!this.isInput) { - if (this.component){ - this.element.find('input').prop('value', formated); - } - this.element.data('date', formated); - } else { - this.element.prop('value', formated); - } - }, - - setStartDate: function(startDate){ - this.startDate = startDate||-Infinity; - if (this.startDate !== -Infinity) { - this.startDate = DPGlobal.parseDate(this.startDate, this.format, this.language); - } - this.update(); - this.updateNavArrows(); - }, - - setEndDate: function(endDate){ - this.endDate = endDate||Infinity; - if (this.endDate !== Infinity) { - this.endDate = DPGlobal.parseDate(this.endDate, this.format, this.language); - } - this.update(); - this.updateNavArrows(); - }, - - place: function(){ - var offset = this.component ? this.component.offset() : this.element.offset(); - var windowWidth = $(window).width() - var posOver = windowWidth - offset.left; - var componentWidth = this.component ? this.component.outerWidth() : 0; - if((posOver) < 208 ) { - this.picker.addClass('dp_right').css({ - top: offset.top + this.height, - right: posOver - componentWidth, - left: 'auto' - }) - } else { - this.picker.css({ - top: offset.top + this.height, - left: offset.left - }) - } - }, - - update: function(){ - this.date = DPGlobal.parseDate( - this.isInput ? this.element.prop('value') : this.element.data('date'), - this.format, this.language - ); - if (this.date < this.startDate) { - this.viewDate = new Date(this.startDate); - } else if (this.date > this.endDate) { - this.viewDate = new Date(this.endDate); - } else { - this.viewDate = new Date(this.date); - } - this.fill(); - }, - - fillDow: function(){ - var dowCnt = this.weekStart; - var html = ''; - while (dowCnt < this.weekStart + 7) { - html += ''+dates[this.language].daysMin[(dowCnt++)%7]+''; - } - html += ''; - this.picker.find('.datepicker-days thead').append(html); - }, - - fillMonths: function(){ - var html = ''; - var i = 0 - while (i < 12) { - html += ''+dates[this.language].monthsShort[i++]+''; - } - this.picker.find('.datepicker-months td').html(html); - }, - - fill: function() { - var d = new Date(this.viewDate), - year = d.getFullYear(), - month = d.getMonth(), - startYear = this.startDate !== -Infinity ? this.startDate.getFullYear() : -Infinity, - startMonth = this.startDate !== -Infinity ? this.startDate.getMonth() : -Infinity, - endYear = this.endDate !== Infinity ? this.endDate.getFullYear() : Infinity, - endMonth = this.endDate !== Infinity ? this.endDate.getMonth() : Infinity, - currentDate = this.date.valueOf(); - this.picker.find('.datepicker-days th:eq(1)') - .text(dates[this.language].months[month]+' '+year); - this.updateNavArrows(); - this.fillMonths(); - var prevMonth = new Date(year, month-1, 28,0,0,0,0), - day = DPGlobal.getDaysInMonth(prevMonth.getFullYear(), prevMonth.getMonth()); - prevMonth.setDate(day); - prevMonth.setDate(day - (prevMonth.getDay() - this.weekStart + 7)%7); - var nextMonth = new Date(prevMonth); - nextMonth.setDate(nextMonth.getDate() + 42); - nextMonth = nextMonth.valueOf(); - html = []; - var clsName; - while(prevMonth.valueOf() < nextMonth) { - if (prevMonth.getDay() == this.weekStart) { - html.push(''); - } - clsName = ''; - if (prevMonth.getFullYear() < year || (prevMonth.getFullYear() == year && prevMonth.getMonth() < month)) { - clsName += ' old'; - } else if (prevMonth.getFullYear() > year || (prevMonth.getFullYear() == year && prevMonth.getMonth() > month)) { - clsName += ' new'; - } - if (prevMonth.valueOf() == currentDate) { - clsName += ' active'; - } - if (prevMonth.valueOf() < this.startDate || prevMonth.valueOf() > this.endDate) { - clsName += ' disabled'; - } - html.push(''+prevMonth.getDate() + ''); - if (prevMonth.getDay() == this.weekEnd) { - html.push(''); - } - prevMonth.setDate(prevMonth.getDate()+1); - } - this.picker.find('.datepicker-days tbody').empty().append(html.join('')); - var currentYear = this.date.getFullYear(); - - var months = this.picker.find('.datepicker-months') - .find('th:eq(1)') - .text(year) - .end() - .find('span').removeClass('active'); - if (currentYear == year) { - months.eq(this.date.getMonth()).addClass('active'); - } - if (year < startYear || year > endYear) { - months.addClass('disabled'); - } - if (year == startYear) { - months.slice(0, startMonth).addClass('disabled'); - } - if (year == endYear) { - months.slice(endMonth+1).addClass('disabled'); - } - - html = ''; - year = parseInt(year/10, 10) * 10; - var yearCont = this.picker.find('.datepicker-years') - .find('th:eq(1)') - .text(year + '-' + (year + 9)) - .end() - .find('td'); - year -= 1; - for (var i = -1; i < 11; i++) { - html += ''+year+''; - year += 1; - } - yearCont.html(html); - }, - - updateNavArrows: function() { - var d = new Date(this.viewDate), - year = d.getFullYear(), - month = d.getMonth(); - switch (this.viewMode) { - case 0: - if (this.startDate !== -Infinity && year <= this.startDate.getFullYear() && month <= this.startDate.getMonth()) { - this.picker.find('.prev').css({visibility: 'hidden'}); - } else { - this.picker.find('.prev').css({visibility: 'visible'}); - } - if (this.endDate !== Infinity && year >= this.endDate.getFullYear() && month >= this.endDate.getMonth()) { - this.picker.find('.next').css({visibility: 'hidden'}); - } else { - this.picker.find('.next').css({visibility: 'visible'}); - } - break; - case 1: - case 2: - if (this.startDate !== -Infinity && year <= this.startDate.getFullYear()) { - this.picker.find('.prev').css({visibility: 'hidden'}); - } else { - this.picker.find('.prev').css({visibility: 'visible'}); - } - if (this.endDate !== Infinity && year >= this.endDate.getFullYear()) { - this.picker.find('.next').css({visibility: 'hidden'}); - } else { - this.picker.find('.next').css({visibility: 'visible'}); - } - break; - } - }, - - click: function(e) { - e.stopPropagation(); - e.preventDefault(); - var target = $(e.target).closest('span, td, th'); - if (target.length == 1) { - switch(target[0].nodeName.toLowerCase()) { - case 'th': - switch(target[0].className) { - case 'switch': - this.showMode(1); - break; - case 'prev': - case 'next': - var dir = DPGlobal.modes[this.viewMode].navStep * (target[0].className == 'prev' ? -1 : 1); - switch(this.viewMode){ - case 0: - this.viewDate = this.moveMonth(this.viewDate, dir); - break; - case 1: - case 2: - this.viewDate = this.moveYear(this.viewDate, dir); - break; - } - this.fill(); - break; - } - break; - case 'span': - if (!target.is('.disabled')) { - if (target.is('.month')) { - var month = target.parent().find('span').index(target); - this.viewDate.setMonth(month); - } else { - var year = parseInt(target.text(), 10)||0; - this.viewDate.setFullYear(year); - } - this.showMode(-1); - this.fill(); - } - break; - case 'td': - if (target.is('.day') && !target.is('.disabled')){ - var day = parseInt(target.text(), 10)||1; - var year = this.viewDate.getFullYear(), - month = this.viewDate.getMonth(); - if (target.is('.old')) { - if (month == 0) { - month = 11; - year -= 1; - } else { - month -= 1; - } - } else if (target.is('.new')) { - if (month == 11) { - month = 0; - year += 1; - } else { - month += 1; - } - } - this.date = new Date(year, month, day,0,0,0,0); - this.viewDate = new Date(year, month, day,0,0,0,0); - this.fill(); - this.setValue(); - this.element.trigger({ - type: 'changeDate', - date: this.date - }); - var element; - if (this.isInput) { - element = this.element; - } else if (this.component){ - element = this.element.find('input'); - } - if (element) { - element.change(); - if (this.autoclose) { - element.blur(); - } - } - } - break; - } - } - }, - - mousedown: function(e){ - e.stopPropagation(); - e.preventDefault(); - }, - - moveMonth: function(date, dir){ - if (!dir) return date; - var new_date = new Date(date.valueOf()), - day = new_date.getDate(), - month = new_date.getMonth(), - mag = Math.abs(dir), - new_month, test; - dir = dir > 0 ? 1 : -1; - if (mag == 1){ - test = dir == -1 - // If going back one month, make sure month is not current month - // (eg, Mar 31 -> Feb 31 == Feb 28, not Mar 02) - ? function(){ return new_date.getMonth() == month; } - // If going forward one month, make sure month is as expected - // (eg, Jan 31 -> Feb 31 == Feb 28, not Mar 02) - : function(){ return new_date.getMonth() != new_month; }; - new_month = month + dir; - new_date.setMonth(new_month); - // Dec -> Jan (12) or Jan -> Dec (-1) -- limit expected date to 0-11 - if (new_month < 0 || new_month > 11) - new_month = (new_month + 12) % 12; - } else { - // For magnitudes >1, move one month at a time... - for (var i=0; idiv').hide().filter('.datepicker-'+DPGlobal.modes[this.viewMode].clsName).show(); - this.updateNavArrows(); - } - }; - - $.fn.datepicker = function ( option ) { - var args = Array.apply(null, arguments); - args.shift(); - return this.each(function () { - var $this = $(this), - data = $this.data('datepicker'), - options = typeof option == 'object' && option; - if (!data) { - $this.data('datepicker', (data = new Datepicker(this, $.extend({}, $.fn.datepicker.defaults,options)))); - } - if (typeof option == 'string') data[option].apply(data, args); - }); - }; - - $.fn.datepicker.defaults = { - }; - $.fn.datepicker.Constructor = Datepicker; - var dates = $.fn.datepicker.dates = { - en: { - days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"], - daysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], - daysMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"], - months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], - monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"] - } - } - - var DPGlobal = { - modes: [ - { - clsName: 'days', - navFnc: 'Month', - navStep: 1 - }, - { - clsName: 'months', - navFnc: 'FullYear', - navStep: 1 - }, - { - clsName: 'years', - navFnc: 'FullYear', - navStep: 10 - }], - isLeapYear: function (year) { - return (((year % 4 === 0) && (year % 100 !== 0)) || (year % 400 === 0)) - }, - getDaysInMonth: function (year, month) { - return [31, (DPGlobal.isLeapYear(year) ? 29 : 28), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month] - }, - validParts: /dd?|mm?|MM?|yy(?:yy)?/g, - nonpunctuation: /[^ -\/:-@\[-`{-~\t\n\r]+/g, - parseFormat: function(format){ - // IE treats \0 as a string end in inputs (truncating the value), - // so it's a bad format delimiter, anyway - var separators = format.replace(this.validParts, '\0').split('\0'), - parts = format.match(this.validParts); - if (!separators || !separators.length || !parts || parts.length == 0){ - throw new Error("Invalid date format."); - } - return {separators: separators, parts: parts}; - }, - parseDate: function(date, format, language) { - if (date instanceof Date) return date; - if (/^[-+]\d+[dmwy]([\s,]+[-+]\d+[dmwy])*$/.test(date)) { - var part_re = /([-+]\d+)([dmwy])/, - parts = date.match(/([-+]\d+)([dmwy])/g), - part, dir; - date = new Date(); - for (var i=0; i'+ - ''+ - ''+ - ''+ - ''+ - ''+ - '', - contTemplate: '' - }; - DPGlobal.template = ''; - -}( window.jQuery ) diff --git a/modules/lib/datepicker/bootstrap-datepicker.min.js b/modules/lib/datepicker/bootstrap-datepicker.min.js deleted file mode 100644 index 181c4b0..0000000 --- a/modules/lib/datepicker/bootstrap-datepicker.min.js +++ /dev/null @@ -1,21 +0,0 @@ -/* ========================================================= - * bootstrap-datepicker.js - * http://www.eyecon.ro/bootstrap-datepicker - * ========================================================= - * Copyright 2012 Stefan Petre - * Improvements by Andrew Rowls - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ========================================================= */ - -!function(e){var m=function(a,b){this.element=e(a);this.language=b.language||this.element.data("date-language")||"en";this.language=this.language in l?this.language:"en";this.format=g.parseFormat(b.format||this.element.data("date-format")||"mm/dd/yyyy");this.picker=e(g.template).appendTo("body").on({click:e.proxy(this.click,this),mousedown:e.proxy(this.mousedown,this)});this.isInput=this.element.is("input");if((this.component=this.element.is(".date")?this.element.find(".add-on"):!1)&&0===this.component.length)this.component= !1;if(this.isInput)this.element.on({focus:e.proxy(this.show,this),blur:e.proxy(this._hide,this),keyup:e.proxy(this.update,this),keydown:e.proxy(this.keydown,this)});else if(this.component)this.component.on("click",e.proxy(this.show,this)),a=this.element.find("input"),a.on({blur:e.proxy(this._hide,this)});else this.element.on("click",e.proxy(this.show,this));this.autoclose=!1;"autoclose"in b?this.autoclose=b.autoclose:"dateAutoclose"in this.element.data()&&(this.autoclose=this.element.data("date-autoclose")); switch(b.startView){case 2:case "decade":this.viewMode=this.startViewMode=2;break;case 1:case "year":this.viewMode=this.startViewMode=1;break;default:this.viewMode=this.startViewMode=0}this.weekStart=(b.weekStart||this.element.data("date-weekstart")||l[this.language].weekStart||0)%7;this.weekEnd=(this.weekStart+6)%7;this.startDate=-Infinity;this.endDate=Infinity;this.setStartDate(b.startDate||this.element.data("date-startdate"));this.setEndDate(b.endDate||this.element.data("date-enddate"));this.fillDow(); this.fillMonths();this.update();this.showMode()};m.prototype={constructor:m,show:function(a){this.picker.show();this.height=this.component?this.component.outerHeight():this.element.outerHeight();this.place();e(window).on("resize",e.proxy(this.place,this));a&&(a.stopPropagation(),a.preventDefault());if(!this.isInput)e(document).on("mousedown",e.proxy(this.hide,this));this.element.trigger({type:"show",date:this.date})},_hide:function(a){if(e.browser.msie){var b=this,c=arguments,f=function(){clearTimeout(j); a.target.focus();b.picker.off("click",f)};this.picker.on("click",f);var j=setTimeout(function(){b.hide.apply(b,c);b.picker.off("click",f)},100)}else return this.hide.apply(this,arguments)},hide:function(a){this.picker.hide();e(window).off("resize",this.place);this.viewMode=this.startViewMode;this.showMode();this.isInput||e(document).off("mousedown",this.hide);a&&a.currentTarget.value&&this.setValue();this.element.trigger({type:"hide",date:this.date})},setValue:function(){var a=g.formatDate(this.date, this.format,this.language);this.isInput?this.element.prop("value",a):(this.component&&this.element.find("input").prop("value",a),this.element.data("date",a))},setStartDate:function(a){this.startDate=a||-Infinity;-Infinity!==this.startDate&&(this.startDate=g.parseDate(this.startDate,this.format,this.language));this.update();this.updateNavArrows()},setEndDate:function(a){this.endDate=a||Infinity;Infinity!==this.endDate&&(this.endDate=g.parseDate(this.endDate,this.format,this.language));this.update(); this.updateNavArrows()},place:function(){var a=this.component?this.component.offset():this.element.offset(),b=e(window).width()-a.left,c=this.component?this.component.outerWidth():0;208>b?this.picker.addClass("dp_right").css({top:a.top+this.height,right:b-c,left:"auto"}):this.picker.css({top:a.top+this.height,left:a.left})},update:function(){this.date=g.parseDate(this.isInput?this.element.prop("value"):this.element.data("date"),this.format,this.language);this.viewDate=this.datethis.endDate?new Date(this.endDate):new Date(this.date);this.fill()},fillDow:function(){for(var a=this.weekStart,b="";a'+l[this.language].daysMin[a++%7]+"";this.picker.find(".datepicker-days thead").append(b+"")},fillMonths:function(){for(var a="",b=0;12>b;)a+=''+l[this.language].monthsShort[b++]+"";this.picker.find(".datepicker-months td").html(a)},fill:function(){var a=new Date(this.viewDate),b=a.getFullYear(), c=a.getMonth(),a=-Infinity!==this.startDate?this.startDate.getFullYear():-Infinity,f=-Infinity!==this.startDate?this.startDate.getMonth():-Infinity,e=Infinity!==this.endDate?this.endDate.getFullYear():Infinity,i=Infinity!==this.endDate?this.endDate.getMonth():Infinity,h=this.date.valueOf();this.picker.find(".datepicker-days th:eq(1)").text(l[this.language].months[c]+" "+b);this.updateNavArrows();this.fillMonths();var d=new Date(b,c-1,28,0,0,0,0),n=g.getDaysInMonth(d.getFullYear(),d.getMonth());d.setDate(n); d.setDate(n-(d.getDay()-this.weekStart+7)%7);n=new Date(d);n.setDate(n.getDate()+42);n=n.valueOf();html=[];for(var k;d.valueOf()");k="";if(d.getFullYear()b||d.getFullYear()==b&&d.getMonth()>c)k+=" new";d.valueOf()==h&&(k+=" active");if(d.valueOf()this.endDate)k+=" disabled";html.push(''+d.getDate()+"");d.getDay()==this.weekEnd&& html.push("");d.setDate(d.getDate()+1)}this.picker.find(".datepicker-days tbody").empty().append(html.join(""));c=this.date.getFullYear();h=this.picker.find(".datepicker-months").find("th:eq(1)").text(b).end().find("span").removeClass("active");c==b&&h.eq(this.date.getMonth()).addClass("active");(be)&&h.addClass("disabled");b==a&&h.slice(0,f).addClass("disabled");b==e&&h.slice(i+1).addClass("disabled");html="";b=10*parseInt(b/10,10);f=this.picker.find(".datepicker-years").find("th:eq(1)").text(b+ "-"+(b+9)).end().find("td");b-=1;for(i=-1;11>i;i++)html+='e?" disabled":"")+'">'+b+"",b+=1;f.html(html)},updateNavArrows:function(){var a=new Date(this.viewDate),b=a.getFullYear(),a=a.getMonth();switch(this.viewMode){case 0:-Infinity!==this.startDate&&b<=this.startDate.getFullYear()&&a<=this.startDate.getMonth()?this.picker.find(".prev").css({visibility:"hidden"}):this.picker.find(".prev").css({visibility:"visible"});Infinity!== this.endDate&&b>=this.endDate.getFullYear()&&a>=this.endDate.getMonth()?this.picker.find(".next").css({visibility:"hidden"}):this.picker.find(".next").css({visibility:"visible"});break;case 1:case 2:-Infinity!==this.startDate&&b<=this.startDate.getFullYear()?this.picker.find(".prev").css({visibility:"hidden"}):this.picker.find(".prev").css({visibility:"visible"}),Infinity!==this.endDate&&b>=this.endDate.getFullYear()?this.picker.find(".next").css({visibility:"hidden"}):this.picker.find(".next").css({visibility:"visible"})}}, click:function(a){a.stopPropagation();a.preventDefault();a=e(a.target).closest("span, td, th");if(1==a.length)switch(a[0].nodeName.toLowerCase()){case "th":switch(a[0].className){case "switch":this.showMode(1);break;case "prev":case "next":var b=g.modes[this.viewMode].navStep*("prev"==a[0].className?-1:1);switch(this.viewMode){case 0:this.viewDate=this.moveMonth(this.viewDate,b);break;case 1:case 2:this.viewDate=this.moveYear(this.viewDate,b)}this.fill()}break;case "span":if(!a.is(".disabled")){if(a.is(".month")){var c= a.parent().find("span").index(a);this.viewDate.setMonth(c)}else{var f=parseInt(a.text(),10)||0;this.viewDate.setFullYear(f)}this.showMode(-1);this.fill()}break;case "td":if(a.is(".day")&&!a.is(".disabled")){var j=parseInt(a.text(),10)||1,f=this.viewDate.getFullYear(),c=this.viewDate.getMonth();a.is(".old")?0==c?(c=11,f-=1):c-=1:a.is(".new")&&(11==c?(c=0,f+=1):c+=1);this.date=new Date(f,c,j,0,0,0,0);this.viewDate=new Date(f,c,j,0,0,0,0);this.fill();this.setValue();this.element.trigger({type:"changeDate", date:this.date});this.isInput?b=this.element:this.component&&(b=this.element.find("input"));b&&(b.change(),this.autoclose&&b.blur())}}},mousedown:function(a){a.stopPropagation();a.preventDefault()},moveMonth:function(a,b){if(!b)return a;var c=new Date(a.valueOf()),e=c.getDate(),j=c.getMonth(),i=Math.abs(b),h,b=0h||11div").hide().filter(".datepicker-"+g.modes[this.viewMode].clsName).show();this.updateNavArrows()}};e.fn.datepicker=function(a){var b=Array.apply(null, arguments);b.shift();return this.each(function(){var c=e(this),f=c.data("datepicker"),j="object"==typeof a&&a;f||c.data("datepicker",f=new m(this,e.extend({},e.fn.datepicker.defaults,j)));"string"==typeof a&&f[a].apply(f,b)})};e.fn.datepicker.defaults={};e.fn.datepicker.Constructor=m;var l=e.fn.datepicker.dates={en:{days:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sunday".split(" "),daysShort:"Sun Mon Tue Wed Thu Fri Sat Sun".split(" "),daysMin:"Su Mo Tu We Th Fr Sa Su".split(" "),months:"January February March April May June July August September October November December".split(" "), monthsShort:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" ")}},g={modes:[{clsName:"days",navFnc:"Month",navStep:1},{clsName:"months",navFnc:"FullYear",navStep:1},{clsName:"years",navFnc:"FullYear",navStep:10}],isLeapYear:function(a){return 0===a%4&&0!==a%100||0===a%400},getDaysInMonth:function(a,b){return[31,g.isLeapYear(a)?29:28,31,30,31,30,31,31,30,31,30,31][b]},validParts:/dd?|mm?|MM?|yy(?:yy)?/g,nonpunctuation:/[^ -\/:-@\[-`{-~\t\n\r]+/g,parseFormat:function(a){var b=a.replace(this.validParts, "\x00").split("\x00"),a=a.match(this.validParts);if(!b||!b.length||!a||0==a.length)throw Error("Invalid date format.");return{separators:b,parts:a}},parseDate:function(a,b,c){if(a instanceof Date)return a;if(/^[-+]\d+[dmwy]([\s,]+[-+]\d+[dmwy])*$/.test(a)){for(var f=/([-+]\d+)([dmwy])/,j=a.match(/([-+]\d+)([dmwy])/g),i,h,a=new Date,d=0;dc.d?"0":"")+c.d;c.mm=(10>c.m?"0":"")+c.m;for(var a=[],f=e.extend([],b.separators),g=0,i=b.parts.length;g',contTemplate:''}; g.template='"}(window.jQuery); \ No newline at end of file diff --git a/modules/lib/datepicker/bootstrap-timepicker.js b/modules/lib/datepicker/bootstrap-timepicker.js deleted file mode 100644 index a997142..0000000 --- a/modules/lib/datepicker/bootstrap-timepicker.js +++ /dev/null @@ -1,394 +0,0 @@ -/* ========================================================= - * bootstrap-timepicker.js - * http://www.github.com/jdewit/bootstrap-timepicker - * ========================================================= - * Copyright 2012 - * - * Created By: - * Joris de Wit @joris_dewit - * - * Contributions By: - * Gilbert @mindeavor - * Koen Punt info@koenpunt.nl - * Nek - * Chris Martin - * Dominic Barnes contact@dominicbarnes.us - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ========================================================= */ - -!function($) { - - "use strict"; // jshint ;_; - - /* TIMEPICKER PUBLIC CLASS DEFINITION - * ================================== */ - var Timepicker = function(element, options) { - this.$element = $(element); - this.options = $.extend({}, $.fn.timepicker.defaults, options, this.$element.data()); - this.minuteStep = this.options.minuteStep || this.minuteStep; - this.showMeridian = this.options.showMeridian || this.showMeridian; - this.disableFocus = this.options.disableFocus || this.disableFocus; - this.template = this.options.template || this.template; - this.defaultTime = this.options.defaultTime || this.defaultTime; - this.open = false; - this.init(); - }; - - Timepicker.prototype = { - - constructor: Timepicker - - , init: function () { - - this.$element - .on('click', $.proxy(this.show, this)) - .on('keyup', $.proxy(this.updateFromElementVal, this)) - ; - - this.$widget = $(this.getTemplate()).appendTo('body'); - - this.$widget.on('click', $.proxy(this.click, this)); - - this.setDefaultTime(this.defaultTime); - } - - , show: function(e) { - e.stopPropagation(); - e.preventDefault(); - - this.$element.trigger('show'); - - $('html').on('click.timepicker.data-api', $.proxy(this.hide, this)); - - if (true === this.disableFocus) { - this.$element.blur(); - } - - var pos = $.extend({}, this.$element.offset(), { - height: this.$element[0].offsetHeight - }); - - if (this.options.template === 'modal') { - this.$widget.modal('show'); - } else { - this.$widget.css({ - top: pos.top + pos.height - , left: pos.left - }) - - if (!this.open) { - this.$widget.addClass('open'); - } - } - - this.open = true; - this.$element.trigger('shown'); - - return this; - } - - , hide: function(){ - this.$element.trigger('hide'); - - $('html').off('click.timepicker.data-api', $.proxy(this.hide, this)); - - if (this.options.template === 'modal') { - this.$widget.modal('hide'); - } else { - this.$widget.removeClass('open'); - } - this.open = false; - this.$element.trigger('hidden'); - - return this; - } - - , setValues: function(time) { - var meridian, match = time.match(/(AM|PM)/i); - if (match) { - meridian = match[1]; - } - time = $.trim(time.replace(/(PM|AM)/i, '')); - var timeArray = time.split(':'); - - this.meridian = meridian; - this.hour = parseInt(timeArray[0], 10); - if (isNaN(this.hour)) { - this.hour = 0; - this.updateElement(); - } - this.minute = parseInt(timeArray[1], 10); - if (isNaN(this.minute)) { - this.minute = 0; - this.updateElement(); - } - } - - , setDefaultTime: function(defaultTime){ - if (defaultTime) { - if (defaultTime === 'current') { - var dTime = new Date(); - var hours = dTime.getHours(); - var minutes = Math.floor(dTime.getMinutes() / this.minuteStep) * this.minuteStep; - var meridian = "AM"; - if ( this.showMeridian ) { - if (hours === 0) { - hours = 12; - } else if (hours >= 12) { - if (hours > 12) { - hours = hours - 12; - } - meridian = "PM"; - } else { - meridian = "AM"; - } - } - this.hour = hours; - this.minute = minutes; - this.meridian = meridian; - } else if (defaultTime === 'value') { - this.setValues( this.$element.val() ); - } else { - this.setValues(defaultTime); - } - this.update(); - } else { - this.hour = 0; - this.minute = 0; - } - } - - , formatTime: function(hour, minute, meridian) { - hour = hour < 10 ? '0' + hour : hour; - minute = minute < 10 ? '0' + minute : minute; - - return hour + ':' + minute + ( this.showMeridian ? ' ' + meridian : '' ); - } - - , getTime: function() { - return this.formatTime(this.hour, this.minute, this.meridian); - } - - , setTime: function(time) { - this.setValues(time); - this.update(); - } - - , updateElement: function() { - var time = this.getTime(); - - this.$element.val(time).change(); - } - - , updateWidget: function() { - this.$widget - .find('td.bootstrap-timepicker-hour').text(this.hour).end() - .find('td.bootstrap-timepicker-minute').text(this.minute < 10 ? '0' + this.minute : this.minute).end() - .find('td.bootstrap-timepicker-meridian').text(this.meridian); - } - - , update: function() { - this.updateElement(); - this.updateWidget(); - } - - , updateFromElementVal: function () { - var time = this.$element.val(); - if (time) { - this.setValues(time); - this.updateWidget(); - } - } - - , click: function(e) { - e.stopPropagation(); - e.preventDefault(); - - if (true !== this.disableFocus) { - this.$element.focus(); - } - - var action = $(e.target).closest('a').data('action'); - if (action) { - this[action](); - this.update(); - } - - } - - , incrementHour: function() { - if ( this.showMeridian ) { - if ( this.hour === 12 ) { - this.hour = 1; - return this.toggleMeridian(); - } - } - if ( this.hour === 23 ) { - return this.hour = 0; - } - this.hour = this.hour + 1; - } - - , decrementHour: function() { - if ( this.showMeridian ) { - if (this.hour === 1) { - this.hour = 12; - return this.toggleMeridian(); - } - } - if (this.hour === 0) { - return this.hour = 23; - } - this.hour = this.hour - 1; - } - - , incrementMinute: function() { - var newVal = this.minute + this.minuteStep - (this.minute % this.minuteStep); - if (newVal > 59) { - this.incrementHour(); - this.minute = newVal - 60; - } else { - this.minute = newVal; - } - } - - , decrementMinute: function() { - var newVal = this.minute - this.minuteStep; - if (newVal < 0) { - this.decrementHour(); - this.minute = newVal + 60; - } else { - this.minute = newVal; - } - } - - , toggleMeridian: function() { - this.meridian = this.meridian === 'AM' ? 'PM' : 'AM'; - - this.update(); - } - - , getTemplate: function() { - if (this.options.templates[this.options.template]) { - return this.options.templates[this.options.template]; - } - var template; - switch(this.options.template) { - case 'modal': - template = ''; - - break; - case 'dropdown': - template = ''; - break; - - } - return template; - } - }; - - - /* TIMEPICKER PLUGIN DEFINITION - * =========================== */ - - $.fn.timepicker = function (option) { - return this.each(function () { - var $this = $(this) - , data = $this.data('timepicker') - , options = typeof option == 'object' && option; - if (!data) { - $this.data('timepicker', (data = new Timepicker(this, options))); - } - if (typeof option == 'string') { - data[option](); - } - }) - } - - $.fn.timepicker.defaults = { - minuteStep: 15 - , disableFocus: false - , defaultTime: 'current' - , showMeridian: true - , template: 'dropdown' - , templates: {} // set custom templates - } - - $.fn.timepicker.Constructor = Timepicker - - /* TIMEPICKER DATA-API - * ================== */ - - $(function () { - $('body').on('focus.timepicker.data-api', '[data-provide="timepicker"]', function (e) { - var $this = $(this); - if ($this.data('timepicker')) { - return; - } - e.preventDefault(); - $this.timepicker($this.data()); - }) - }) -}(window.jQuery); \ No newline at end of file diff --git a/modules/lib/datepicker/bootstrap-timepicker.min.js b/modules/lib/datepicker/bootstrap-timepicker.min.js deleted file mode 100644 index 9e6d3bb..0000000 --- a/modules/lib/datepicker/bootstrap-timepicker.min.js +++ /dev/null @@ -1,24 +0,0 @@ -/* ========================================================= - * bootstrap-timepicker.js - * http://www.github.com/jdewit/bootstrap-timepicker - * ========================================================= - * Copyright 2012 - * - * Created By: - * Joris de Wit @joris_dewit - * Gilbert @mindeavor - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ========================================================= */ - -!function(b){var e=function(a,d){this.$element=b(a);this.options=b.extend({},b.fn.timepicker.defaults,d,this.$element.data());this.minuteStep=this.options.minuteStep||this.minuteStep;this.showMeridian=this.options.showMeridian||this.showMeridian;this.disableFocus=this.options.disableFocus||this.disableFocus;this.template=this.options.template||this.template;this.defaultTime=this.options.defaultTime||this.defaultTime;this.open=!1;this.init()};e.prototype={constructor:e,init:function(){this.$element.on("click", b.proxy(this.show,this)).on("keyup",b.proxy(this.updateFromElementVal,this));this.$widget=b(this.getTemplate()).appendTo("body");this.$widget.on("click",b.proxy(this.click,this));this.setDefaultTime(this.defaultTime)},show:function(a){a.stopPropagation();a.preventDefault();this.$element.trigger("show");b("html").on("click.timepicker.data-api",b.proxy(this.hide,this));!0===this.disableFocus&&this.$element.blur();a=b.extend({},this.$element.offset(),{height:this.$element[0].offsetHeight});"modal"=== this.options.template?this.$widget.modal("show"):(this.$widget.css({top:a.top+a.height,left:a.left}),this.open||this.$widget.addClass("open"));this.open=!0;this.$element.trigger("shown");return this},hide:function(){this.$element.trigger("hide");b("html").off("click.timepicker.data-api",b.proxy(this.hide,this));"modal"===this.options.template?this.$widget.modal("hide"):this.$widget.removeClass("open");this.open=!1;this.$element.trigger("hidden");return this},setValues:function(a){var d,c=a.match(/(AM|PM)/i); c&&(d=c[1]);a=b.trim(a.replace(/(PM|AM)/i,""));a=a.split(":");this.meridian=d;this.hour=parseInt(a[0],10);isNaN(this.hour)&&(this.hour=0,this.updateElement());this.minute=parseInt(a[1],10);isNaN(this.minute)&&(this.minute=0,this.updateElement())},setDefaultTime:function(a){if(a){if("current"===a){var b=new Date,a=b.getHours(),b=Math.floor(b.getMinutes()/this.minuteStep)*this.minuteStep,c="AM";this.showMeridian&&(0===a?a=12:12<=a?(12a?"0"+a:a)+":"+(10>b?"0"+b:b)+(this.showMeridian?" "+c:"")},getTime:function(){return this.formatTime(this.hour,this.minute,this.meridian)},setTime:function(a){this.setValues(a);this.update()},updateElement:function(){this.$element.val(this.getTime()).change()},updateWidget:function(){this.$widget.find("td.bootstrap-timepicker-hour").text(this.hour).end().find("td.bootstrap-timepicker-minute").text(10> this.minute?"0"+this.minute:this.minute).end().find("td.bootstrap-timepicker-meridian").text(this.meridian)},update:function(){this.updateElement();this.updateWidget()},updateFromElementVal:function(){var a=this.$element.val();a&&(this.setValues(a),this.updateWidget())},click:function(a){a.stopPropagation();a.preventDefault();!0!==this.disableFocus&&this.$element.focus();if(a=b(a.target).closest("a").data("action"))this[a](),this.update()},incrementHour:function(){if(this.showMeridian&&12===this.hour)return this.hour= 1,this.toggleMeridian();if(23===this.hour)return this.hour=0;this.hour+=1},decrementHour:function(){if(this.showMeridian&&1===this.hour)return this.hour=12,this.toggleMeridian();if(0===this.hour)return this.hour=23;this.hour-=1},incrementMinute:function(){var a=this.minute+this.minuteStep-this.minute%this.minuteStep;59a?(this.decrementHour(),this.minute=a+60):this.minute=a},toggleMeridian:function(){this.meridian= "AM"===this.meridian?"PM":"AM";this.update()},getTemplate:function(){if(this.options.templates[this.options.template])return this.options.templates[this.options.template];var a;switch(this.options.template){case "modal":a='';break;case "dropdown":a='"}return a}};b.fn.timepicker=function(a){return this.each(function(){var d=b(this),c=d.data("timepicker"),f="object"==typeof a&&a;c||d.data("timepicker",c=new e(this,f));if("string"==typeof a)c[a]()})};b.fn.timepicker.defaults={minuteStep:15,disableFocus:!1,defaultTime:"current",showMeridian:!0,template:"dropdown",templates:{}};b.fn.timepicker.Constructor=e;b(function(){b("body").on("focus.timepicker.data-api", '[data-provide="timepicker"]',function(a){var d=b(this);d.data("timepicker")||(a.preventDefault(),d.timepicker(d.data()))})})}(window.jQuery); \ No newline at end of file diff --git a/modules/lib/datepicker/datepicker.css b/modules/lib/datepicker/datepicker.css deleted file mode 100644 index ddeffeb..0000000 --- a/modules/lib/datepicker/datepicker.css +++ /dev/null @@ -1,289 +0,0 @@ -/*! - * Datepicker for Bootstrap - * - * Copyright 2012 Stefan Petre - * Improvements by Andrew Rowls - * Licensed under the Apache License v2.0 - * http://www.apache.org/licenses/LICENSE-2.0 - * - */ -.datepicker { - top: 0; - left: 0; - padding: 4px; - margin-top: 1px; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; - /*.dow { - border-top: 1px solid #ddd !important; - }*/ - -} -.datepicker:before { - content: ''; - display: inline-block; - border-left: 7px solid transparent; - border-right: 7px solid transparent; - border-bottom: 7px solid #ccc; - border-bottom-color: rgba(0, 0, 0, 0.2); - position: absolute; - top: -7px; - left: 6px; -} -.datepicker:after { - content: ''; - display: inline-block; - border-left: 6px solid transparent; - border-right: 6px solid transparent; - border-bottom: 6px solid #ffffff; - position: absolute; - top: -6px; - left: 7px; -} -.datepicker > div { - display: none; -} -.datepicker.days div.datepicker-days { - display: block; -} -.datepicker.months div.datepicker-months { - display: block; -} -.datepicker.years div.datepicker-years { - display: block; -} -.datepicker table { - width: 100%; - margin: 0; -} -.datepicker td, -.datepicker th { - text-align: center; - width: 20px; - height: 20px; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; -} -.datepicker td.day:hover { - background: #eeeeee; - cursor: pointer; -} -.datepicker td.old, -.datepicker td.new { - color: #999999; -} -.datepicker td.disabled, -.datepicker td.disabled:hover { - background: none; - color: #999999; - cursor: default; -} -.datepicker td.active, -.datepicker td.active:hover, -.datepicker td.active.disabled, -.datepicker td.active.disabled:hover { - background-color: #006dcc; - background-image: -moz-linear-gradient(top, #0088cc, #0044cc); - background-image: -ms-linear-gradient(top, #0088cc, #0044cc); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc)); - background-image: -webkit-linear-gradient(top, #0088cc, #0044cc); - background-image: -o-linear-gradient(top, #0088cc, #0044cc); - background-image: linear-gradient(top, #0088cc, #0044cc); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0); - border-color: #0044cc #0044cc #002a80; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:dximagetransform.microsoft.gradient(enabled=false); - color: #fff; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); -} -.datepicker td.active:hover, -.datepicker td.active:hover:hover, -.datepicker td.active.disabled:hover, -.datepicker td.active.disabled:hover:hover, -.datepicker td.active:active, -.datepicker td.active:hover:active, -.datepicker td.active.disabled:active, -.datepicker td.active.disabled:hover:active, -.datepicker td.active.active, -.datepicker td.active:hover.active, -.datepicker td.active.disabled.active, -.datepicker td.active.disabled:hover.active, -.datepicker td.active.disabled, -.datepicker td.active:hover.disabled, -.datepicker td.active.disabled.disabled, -.datepicker td.active.disabled:hover.disabled, -.datepicker td.active[disabled], -.datepicker td.active:hover[disabled], -.datepicker td.active.disabled[disabled], -.datepicker td.active.disabled:hover[disabled] { - background-color: #0044cc; -} -.datepicker td.active:active, -.datepicker td.active:hover:active, -.datepicker td.active.disabled:active, -.datepicker td.active.disabled:hover:active, -.datepicker td.active.active, -.datepicker td.active:hover.active, -.datepicker td.active.disabled.active, -.datepicker td.active.disabled:hover.active { - background-color: #003399 \9; -} -.datepicker td span { - display: block; - width: 47px; - height: 54px; - line-height: 54px; - float: left; - margin: 2px; - cursor: pointer; - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; -} -.datepicker td span:hover { - background: #eeeeee; -} -.datepicker td span.disabled, -.datepicker td span.disabled:hover { - background: none; - color: #999999; - cursor: default; -} -.datepicker td span.active, -.datepicker td span.active:hover, -.datepicker td span.active.disabled, -.datepicker td span.active.disabled:hover { - background-color: #006dcc; - background-image: -moz-linear-gradient(top, #0088cc, #0044cc); - background-image: -ms-linear-gradient(top, #0088cc, #0044cc); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc)); - background-image: -webkit-linear-gradient(top, #0088cc, #0044cc); - background-image: -o-linear-gradient(top, #0088cc, #0044cc); - background-image: linear-gradient(top, #0088cc, #0044cc); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0); - border-color: #0044cc #0044cc #002a80; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:dximagetransform.microsoft.gradient(enabled=false); - color: #fff; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); -} -.datepicker td span.active:hover, -.datepicker td span.active:hover:hover, -.datepicker td span.active.disabled:hover, -.datepicker td span.active.disabled:hover:hover, -.datepicker td span.active:active, -.datepicker td span.active:hover:active, -.datepicker td span.active.disabled:active, -.datepicker td span.active.disabled:hover:active, -.datepicker td span.active.active, -.datepicker td span.active:hover.active, -.datepicker td span.active.disabled.active, -.datepicker td span.active.disabled:hover.active, -.datepicker td span.active.disabled, -.datepicker td span.active:hover.disabled, -.datepicker td span.active.disabled.disabled, -.datepicker td span.active.disabled:hover.disabled, -.datepicker td span.active[disabled], -.datepicker td span.active:hover[disabled], -.datepicker td span.active.disabled[disabled], -.datepicker td span.active.disabled:hover[disabled] { - background-color: #0044cc; -} -.datepicker td span.active:active, -.datepicker td span.active:hover:active, -.datepicker td span.active.disabled:active, -.datepicker td span.active.disabled:hover:active, -.datepicker td span.active.active, -.datepicker td span.active:hover.active, -.datepicker td span.active.disabled.active, -.datepicker td span.active.disabled:hover.active { - background-color: #003399 \9; -} -.datepicker td span.old { - color: #999999; -} -.datepicker th.switch { - width: 145px; -} -.datepicker thead tr:first-child th { - cursor: pointer; -} -.datepicker thead tr:first-child th:hover { - background: #eeeeee; -} -.input-append.date .add-on i, -.input-prepend.date .add-on i { - cursor: pointer; -} - -.datepicker.dp_right:before {left:auto;right:6px} -.datepicker.dp_right:after {left:auto;right:7px} - - - -.bootstrap-timepicker.dropdown-menu { - border-radius: 4px 4px 4px 4px; - display: none; - left: 0; - margin-top: 1px; - padding: 4px; - top: 0; -} -.bootstrap-timepicker.dropdown-menu.open { - display: inline-block; -} -.bootstrap-timepicker.dropdown-menu:before { - border-bottom: 7px solid rgba(0, 0, 0, 0.2); - border-left: 7px solid transparent; - border-right: 7px solid transparent; - content: ""; - left: 6px; - position: absolute; - top: -7px; -} -.bootstrap-timepicker.dropdown-menu:after { - border-bottom: 6px solid #FFFFFF; - border-left: 6px solid transparent; - border-right: 6px solid transparent; - content: ""; - left: 7px; - position: absolute; - top: -6px; -} -.bootstrap-timepicker.modal { - margin-left: -100px; - margin-top: 0; - top: 30%; - width: 200px; -} -.bootstrap-timepicker.modal .modal-content { - padding: 0; -} -.bootstrap-timepicker table { - margin: 0; - width: 100%; -} -.bootstrap-timepicker td, .bootstrap-timepicker th { - border-radius: 4px 4px 4px 4px; - height: 20px; - text-align: center; -} -.bootstrap-timepicker td.separator { - width: 1px; -} -.bootstrap-timepicker td a { - border: 1px solid transparent; - display: block; - margin: 4px; - padding: 4px 0; -} -.bootstrap-timepicker td a:hover { - background-color: #EEEEEE; - border-color: #DDDDDD; - border-radius: 4px 4px 4px 4px; -} - diff --git a/modules/lib/dynatree/grunt.js b/modules/lib/dynatree/grunt.js deleted file mode 100644 index 2919a2a..0000000 --- a/modules/lib/dynatree/grunt.js +++ /dev/null @@ -1,80 +0,0 @@ -/*jslint node:true */ - -module.exports = function(grunt) { - // Project configuration. - grunt.initConfig({ - pkg: "", - // Project metadata, used by the directive. - meta: { - banner: "/*! <%= pkg.title || pkg.name %> - v<%= pkg.version %> - " + - "<%= grunt.template.today('yyyy-mm-dd') %>\n" + - "<%= pkg.homepage ? '* ' + pkg.homepage + '\n' : '' %>" + - "* Copyright (c) <%= grunt.template.today('yyyy') %> <%= pkg.author.name %>;" + - " Licensed <%= _.pluck(pkg.licenses, 'type').join(', ') %> */" - }, - concat: { - dist: { - src: ["", ".js>"], -// src: ["src/jquery.dynatree.js"], - dest: "dist/<%= pkg.name %>-<%= pkg.version %>.js" - } - }, - min: { - dist: { - src: ["", ""], - dest: "dist/<%= pkg.name %>.min.js" - } - }, -// qunit: { -// files: ["tests/unit/**/*.html"] -// }, - lint: { -// beforeconcat: ["grunt.js", "src/**/*.js", "tests/**/*.js"], - beforeconcat: ["src/jquery.dynatree.js"], -// beforeconcat: ["grunt.js"], -// beforeconcat: ["grunt.js", "src/jquery.dynatree.js", "tests/**/*.js"], - afterconcat: [""] - }, - // watch: { - // files: "", - // tasks: "lint qunit" - // }, - - jshint: { - options: { - // Enforcing Options: - bitwise: true, - curly: true, -// forin: true, - eqeqeq: true, - immed: true, - latedef: true, - newcap: true, - noarg: true, -// noempty: true, - nonew: true, -// plusplus: true, - regexp: true, -// strict: true, - sub: true, - undef: true, - // Relaxing Options: - eqnull: false, - laxbreak: true, -// laxcomma: true, - smarttabs: false, -// globalstrict: true, - // Environments: -// node: true, // TODO: only for grunt.js and dynatree-server.json - browser: true - }, - globals: { - jQuery: true - } - }, - uglify: { - } - }); - // Default task. - grunt.registerTask("default", "lint:beforeconcat concat lint:afterconcat min"); -}; diff --git a/modules/lib/dynatree/index.html b/modules/lib/dynatree/index.html deleted file mode 100644 index f112b77..0000000 --- a/modules/lib/dynatree/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - Dynatree - - - -

            dynatree.js

            - - - diff --git a/modules/lib/dynatree/package.json b/modules/lib/dynatree/package.json deleted file mode 100644 index 74cb67c..0000000 --- a/modules/lib/dynatree/package.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "name": "jquery.dynatree", - "title": "jQuery Dynatree Plugin", - "description": "Dynatree is a JavaScript dynamic tree view plugin for jQuery with support for persistence, keyboard, checkboxes, drag'n'drop, and lazy loading.", - "version": "1.2.4", - "homepage": "http://dynatree.googlecode.com/", - "author": { - "name": "Martin Wendt", - "url": "http://wwwendt.de/" - }, - "repository": { - "type": "svn", - "url": "http://dynatree.googlecode.com/svn/trunk/" - }, - "bugs": { - "url": "https://code.google.com/p/dynatree/issues/list" - }, - "licenses": [ - { - "type": "MIT", - "url": "https://code.google.com/p/dynatree/wiki/LicenseInfo" - }, - { - "type": "GPL", - "url": "https://code.google.com/p/dynatree/wiki/LicenseInfo" - } - ], - "dependencies": { - "jquery": "~1.4.2" - }, - "keywords": [] -} diff --git a/modules/lib/floating_header/LICENSE.txt b/modules/lib/floating_header/LICENSE.txt deleted file mode 100644 index 812556b..0000000 --- a/modules/lib/floating_header/LICENSE.txt +++ /dev/null @@ -1,20 +0,0 @@ -Copyright (c) 2012 Digital Fusion, http://teamdf.com/ - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/modules/lib/floating_header/jquery.list.js b/modules/lib/floating_header/jquery.list.js deleted file mode 100644 index 27396bc..0000000 --- a/modules/lib/floating_header/jquery.list.js +++ /dev/null @@ -1,430 +0,0 @@ -/** - * jQuery list plug-in 1.2.1 - * Copyright 2012, Digital Fusion - * Licensed under the MIT license. - * http://teamdf.com/jquery-plugins/license/ - * - * @author Sam Sehnert, Phil Taylor - */ - -(function($){ - "use strict"; - - // The name of your plugin. This is used to namespace your - // plugin methods, object data, and registerd events. - var plugin_name = 'list'; - var plugin_version = '1.2.1'; - var plugin_logging = true; - - // Set up the plugin defaults. - // These will be stored in $this.data(plugin_name).settings, - // and can be overwritten by having 'options' passed through - // as the parameter to the init method. - var defaults = { - headerSelector : 'dt', - zIndex : 1 - }; - - var scrollTimeout = null; - - // Any private methods that the plugin uses, such as event handlers, - // or small utility functions for parsing data etc that isn't useful - // outside the context of the plugin code itself. - var _private = { - - log : function(){ - // SAFELY call console.log without fear of errors - // also provides an override for turning off all plugin console output. - if( plugin_logging && window.console && window.console.log ){ - try { - // IE 8 doesn't implement apply on the console methods. - window.console.log.apply(console,arguments); - } catch (e) { - // Because IE8 doesn't implement apply for console methods, - // we simply pass the arguments directly to the log. - window.console.log( arguments ); - } - } - }, - - // Contains events for this plugin. - events : { - - /** - * Window resize (should also be called when resizing the target element). - */ - resize : function(){ - var $this = $(this),data = $this.data(plugin_name); - - if( data ){ - data.fakeHeader.width(data.headers.width()); - data.wrapper.css('maxHeight',$this.css('maxHeight')); - } - }, - - /** - * List element scroll handler event. Called to animate and substitute heading blocks. - */ - scroll : function(){ - var $this = $(this),data = $this.data(plugin_name); - - if( data ){ - - var newHeader = null, - currentHeader = data.headers.eq( data.currentHeader ), - nextHeader = data.currentHeader >= data.headers.length-1 ? null : data.headers.eq( data.currentHeader+1 ), - prevHeader = data.currentHeader <= 0 ? null : data.headers.eq( data.currentHeader-1 ), - trigger = false; - - // Make sure the container top position is fresh. - data.containerTop = $this.offset().top + parseInt($this.css('marginTop'),10) + parseInt($this.css('borderTopWidth'),10); - data.fakeHeader.css('top',0); - - // Check the position of the current header rather than the previous header. - if( prevHeader !== null ){ - - var top = currentHeader.offset().top, - height = currentHeader.outerHeight(); - - if( top > data.containerTop ){ - - data.fakeHeader.css('top',(top-height)-data.containerTop); - data.fakeHeader.html(prevHeader.html()); - data.currentHeader = data.currentHeader-1; - trigger = true; - } - - if( (top-height) > data.containerTop ){ - - data.fakeHeader.css('top',0); - newHeader = data.currentHeader-1; - } - - } - - // Check the position of the next header element. - if( nextHeader !== null ){ - - var top = nextHeader.offset().top, - height = nextHeader.outerHeight(); - - if( (top-height) < data.containerTop ){ - - data.fakeHeader.css('top',(top-height)-data.containerTop); - } - - if( top < data.containerTop ){ - - data.fakeHeader.css('top',0); - newHeader = data.currentHeader+1; - } - } - - // Now assign the contents of the previous header. - if( newHeader !== null ){ - - var $header = data.headers.eq(newHeader); - - data.currentHeader = newHeader; - data.fakeHeader.html($header.html()); - trigger = true; - } - - var max = ( data.wrapper.scrollTop() >= data.wrapper.prop('scrollHeight') - data.wrapper.height() ); - - if( trigger || max || data.max && !max ){ - // Trigger the headingChange event. - $this.trigger('headingChange',[data.currentHeader,data.headers.eq(data.currentHeader),max]); - } - - data.max = max; - - // Save the new data. - $this.data(plugin_name,data); - } - } - } - } - - // The methods array will allow you to define public methods that - // can be called using the plugin function using the following syntax; - // - // $('.selector').plugin_name( 'my_method'/*, optional arguments */); - // - // The 'init' method is special, and will be called when the user calls; - // - // $('.selector').plugin_name(/*{ options object }*/); - var methods = { - - /** - * Initialises the plugin. - * - * @param options object : An object containing any overrides to the default settings. - * - * @return collection : Returns the jQuery collection - */ - init : function( options ){ - - // Loop through each passed element. - return $(this).each(function(){ - - // Settings to the defaults. - var settings = $.extend({},defaults); - - // If options exist, lets merge them - // with our default settings. - if( typeof options == 'object' ) $.extend( settings, options ); - - // Create shortcuts, and get any existing data. - var $this = $(this), data = $this.data(plugin_name); - - // If the plugin hasn't been initialized yet - if ( ! data ) { - - // Create the data object. - data = { - target : $this, // This element. - wrapper : $this.wrapInner('
            ').find('.ui-'+plugin_name+''), - settings : settings, // The settings for this plugin. - headers : [], - containerTop : 0, - currentHeader : 0, - fakeHeader : null, - scrolllist : [], - original : { - position : '', - overflowX : '', - overflowY : '' - }, - max : false - } - - // Add the container class, and the base HTML structure - $this.addClass('-'+plugin_name+'-container').css({ - position : $this.css('position') == 'absolute' ? 'absolute' : 'relative', - overflowY : 'hidden' - }); - - // Grab some variables to set up the list. - data.headers = $this.find(data.settings.headerSelector); - data.fakeHeader = data.headers.eq(0).clone().removeAttr('id').addClass('-'+plugin_name+'-fakeheader').replaceWith('
            '+data.headers.eq(0).html()+'
            '); - - // bind a scroll event and change the text of the fake heading - data.wrapper.bind('scroll.'+plugin_name,$.proxy(_private.events.scroll,$this)).css({ - height : '100%', - maxHeight : $this.css('maxHeight'), - overflowY : 'scroll', - position : 'relative' - }); - - // Set the fake headers - data.fakeHeader.css({ - position : 'absolute', - top : 0, - width : data.headers.width(), - zIndex : data.settings.zIndex - }); - - // Bind the resize event to the window. - $(window).bind('resize.'+plugin_name,$.proxy(_private.events.resize,$this)); - - // Add the fake header before all other children, and set the HTML. - $this.data(plugin_name,data).prepend( data.fakeHeader ); - } - }); - }, - - /** - * Retrieves the current header index that the user is scrolled to. - * - * @return int : The index position of the header (relative to the headers collection). - */ - header : function(){ - - var $this = $(this), - data = $this.data(plugin_name); - - // Only bother if we've set this up before. - if( data ){ - return data.currentHeader; - } - }, - - /** - * Used to scroll to a new header element, or to retrieve the currently set header. - * - * @param int newHeader : The index position of the header (relative to the headers collection). - * @param mixed speed : The animation speed of scrolling to the new header. - * @param mixed easing : The animation easing to use. - * @param function completion : The animation completion function to call. - * - * @return collection : The collection that this was called with - */ - scrollTo : function( newHeader, speed, easing, completion ){ - - return this.each(function(){ - - var $this = $(this), - data = $this.data(plugin_name); - - // Only bother if we've set this up before. - if( data ){ - - // If we've got the header, and its a number - if( newHeader !== undefined && !isNaN( newHeader ) && newHeader >= 0 && newHeader < data.headers.length ){ - - // Get the new header. - var $header = data.headers.eq(newHeader), - borderHeight = $header.outerHeight() - $header.height(), - scrollTo = $header.position().top + data.wrapper.scrollTop() + borderHeight; - - // If we're not animating, we need to set the element directly. - if( !speed ){ - - data.wrapper.stop().scrollTop( scrollTo ); - - // Set as the current header. - data.currentHeader = newHeader; - data.fakeHeader.html($header.html()); - - // Trigger the headingChange event. - $this.trigger('headingChange',[newHeader,$header]); - - // Store the new header data. - $this.data(plugin_name,data); - - } else { - // If we are animating, the scroll event will fire. - data.wrapper.stop().animate({scrollTop:scrollTo},speed,easing,completion); - } - } - } - }); - }, - - /** - * Used to modify settings after initialisation has taken place. - * an example switch construct has been written to show how you - * might fire off an update procedure for certain defaults. - * Should only be called on one element at a time. - * - * @param key string : The option name that you want to update. - * @param value mixed : (opt) The value that you want to set the option to. - * - * @return mixed : If no value is passed, will return the value for the passed key, otherwise, returns the jQuery collection. - */ - option : function( key, value ){ - - var $this = $(this), - data = $this.data(plugin_name); - - // Only bother if we've set this up before. - if( data ){ - - // Return settings array if no key is provided. - if( typeof key == 'undefined' ) return data.settings; - - // The key has to exist, otherwise its invalid. - if( !key in data.settings ) return false; - - // Check if we're adding or updating. - if( typeof value == 'undefined' ){ - return data.settings[key]; - } else { - data.settings[key] = value; - return $this; - } - } - }, - - - /** - * Get the current name and version number of this plugin. - * - * @param num bool : Whether to return the version number, or string. - * - * @return string | number : The version string or version number. - */ - version : function( num ){ - // Returns the version string for this plugin. - if( num ){ - // Calculate the version number. - var v = plugin_version.split('.'), - major = ( Number( v[0] ) || 1 )+'', - minor = ( Number( v[1] ) || 0 )+'', - bugfix = ( Number( v[2] ) || 0 )+'', - fill = '000'; - - // Return the version as a comparable number. - return Number( fill.slice(0,3-major.length)+major+fill.slice(0,3-minor.length)+minor+fill.slice(0,3-bugfix.length)+bugfix ); - - } else { - // Return the version string for this plugin. - return plugin_name+' v'+plugin_version; - } - }, - - /** - * Remove all data and events associated with the plugin, and restore - * the status of any manipulated elmenets to pre-plugin state. - * - * @return collection : Returns the jQuery collection. - */ - destroy: function(){ - /* Remove the ui plugin from these elements that have it */ - - return this.each(function(){ - - var $this = $(this), - data = $this.data(plugin_name); - - // Only bother if we've set this up before. - if( data ){ - - // Remove wrapper and fakeheader. - data.wrapper.children().unwrap(); - data.fakeHeader.remove(); - - // Now, remove all data, etc, then - // reattach this element to its parent, then delete list div. - $this.css(data.original) - .removeData(plugin_name) - .removeClass('-'+plugin_name+'-container') - .unbind('.'+plugin_name); - } - }); - } - }; - - /** - * Plugin method calling handler. - * - * @param method string : (opt) Calls the defined method (or init function if omitted). - * @param arguments : Any remaining arguments will be passed as arguments to the recieving method. - * - * @return mixed : Returns the result of the called method. - */ - $.fn[plugin_name] = function( method ){ - // Method calling logic - if ( methods[method] ) { - return methods[ method ].apply( this, Array.prototype.slice.call( arguments, 1 )); - } else if ( typeof method === 'object' || ! method ) { - return methods.init.apply( this, arguments ); - } else { - $.error( 'Method ' + method + ' does not exist on jQuery.' + plugin_name ); - } - } - - // Initialise $.plugin_name for methods below. - $[plugin_name] = {}; - - /** - * Allow console logging from this plugin? - * - * @param l bool : (opt) Turn logging on or off... - * - * @return bool : Whether this plugin will print to the log or not. - */ - $[plugin_name].log = function(l){ if(l!==undefined){ plugin_logging=l; } return plugin_logging; }; - -})(jQuery); \ No newline at end of file diff --git a/modules/lib/floating_header/jquery.list.min.js b/modules/lib/floating_header/jquery.list.min.js deleted file mode 100644 index f734e41..0000000 --- a/modules/lib/floating_header/jquery.list.min.js +++ /dev/null @@ -1 +0,0 @@ -;(function(e){var k=!0,l={headerSelector:"dt",zIndex:1},m=function(){var b=e(this),a=b.data("list");a&&(a.fakeHeader.width(a.headers.width()),a.wrapper.css("maxHeight",b.css("maxHeight")))},n=function(){var b=e(this),a=b.data("list");if(a){var d=null,c=a.headers.eq(a.currentHeader),i=a.currentHeader>=a.headers.length-1?null:a.headers.eq(a.currentHeader+1),f=0>=a.currentHeader?null:a.headers.eq(a.currentHeader-1),h=!1;a.containerTop=b.offset().top+parseInt(b.css("marginTop"),10)+parseInt(b.css("borderTopWidth"), 10);a.fakeHeader.css("top",0);if(null!==f){var g=c.offset().top,c=c.outerHeight();g>a.containerTop&&(a.fakeHeader.css("top",g-c-a.containerTop),a.fakeHeader.html(f.html()),a.currentHeader-=1,h=!0);g-c>a.containerTop&&(a.fakeHeader.css("top",0),d=a.currentHeader-1)}null!==i&&(g=i.offset().top,c=i.outerHeight(),g-c=a.wrapper.prop("scrollHeight")-a.wrapper.height();(h||d||a.max&&!d)&&b.trigger("headingChange",[a.currentHeader,a.headers.eq(a.currentHeader),d]);a.max=d;b.data("list",a)}},j={init:function(b){return e(this).each(function(){var a=e.extend({},l);"object"==typeof b&&e.extend(a,b);var d=e(this),c=d.data("list");c||(c={target:d,wrapper:d.wrapInner('
            ').find(".ui-list"),settings:a,headers:[],containerTop:0,currentHeader:0,fakeHeader:null,scrolllist:[], original:{position:"",overflowX:"",overflowY:""},max:!1},d.addClass("-list-container").css({position:"absolute"==d.css("position")?"absolute":"relative",overflowY:"hidden"}),c.headers=d.find(c.settings.headerSelector),c.fakeHeader=c.headers.eq(0).clone().removeAttr("id").addClass("-list-fakeheader").replaceWith('
            '+c.headers.eq(0).html()+"
            "),c.wrapper.bind("scroll.list",e.proxy(n,d)).css({height:"100%",maxHeight:d.css("maxHeight"),overflowY:"scroll",position:"relative"}), c.fakeHeader.css({position:"absolute",top:0,width:c.headers.width(),zIndex:c.settings.zIndex}),e(window).bind("resize.list",e.proxy(m,d)),d.data("list",c).prepend(c.fakeHeader))})},header:function(){var b=e(this).data("list");if(b)return b.currentHeader},scrollTo:function(b,a,d,c){return this.each(function(){var i=e(this),f=i.data("list");if(f&&void 0!==b&&!isNaN(b)&&0<=b&&b string) - labelBoxBorderColor: color - noColumns: number - position: "ne" or "nw" or "se" or "sw" - margin: number of pixels or [x margin, y margin] - backgroundColor: null or color - backgroundOpacity: number between 0 and 1 - container: null or jQuery object/DOM element/jQuery expression - } - -The legend is generated as a table with the data series labels and -small label boxes with the color of the series. If you want to format -the labels in some way, e.g. make them to links, you can pass in a -function for "labelFormatter". Here's an example that makes them -clickable: - - labelFormatter: function(label, series) { - // series is the series object for the label - return '' + label + ''; - } - -"noColumns" is the number of columns to divide the legend table into. -"position" specifies the overall placement of the legend within the -plot (top-right, top-left, etc.) and margin the distance to the plot -edge (this can be either a number or an array of two numbers like [x, -y]). "backgroundColor" and "backgroundOpacity" specifies the -background. The default is a partly transparent auto-detected -background. - -If you want the legend to appear somewhere else in the DOM, you can -specify "container" as a jQuery object/expression to put the legend -table into. The "position" and "margin" etc. options will then be -ignored. Note that Flot will overwrite the contents of the container. - - -Customizing the axes -==================== - - xaxis, yaxis: { - show: null or true/false - position: "bottom" or "top" or "left" or "right" - mode: null or "time" - - color: null or color spec - tickColor: null or color spec - - min: null or number - max: null or number - autoscaleMargin: null or number - - transform: null or fn: number -> number - inverseTransform: null or fn: number -> number - - ticks: null or number or ticks array or (fn: range -> ticks array) - tickSize: number or array - minTickSize: number or array - tickFormatter: (fn: number, object -> string) or string - tickDecimals: null or number - - labelWidth: null or number - labelHeight: null or number - reserveSpace: null or true - - tickLength: null or number - - alignTicksWithAxis: null or number - } - -All axes have the same kind of options. The following describes how to -configure one axis, see below for what to do if you've got more than -one x axis or y axis. - -If you don't set the "show" option (i.e. it is null), visibility is -auto-detected, i.e. the axis will show up if there's data associated -with it. You can override this by setting the "show" option to true or -false. - -The "position" option specifies where the axis is placed, bottom or -top for x axes, left or right for y axes. The "mode" option determines -how the data is interpreted, the default of null means as decimal -numbers. Use "time" for time series data, see the time series data -section. - -The "color" option determines the color of the labels and ticks for -the axis (default is the grid color). For more fine-grained control -you can also set the color of the ticks separately with "tickColor" -(otherwise it's autogenerated as the base color with some -transparency). - -The options "min"/"max" are the precise minimum/maximum value on the -scale. If you don't specify either of them, a value will automatically -be chosen based on the minimum/maximum data values. Note that Flot -always examines all the data values you feed to it, even if a -restriction on another axis may make some of them invisible (this -makes interactive use more stable). - -The "autoscaleMargin" is a bit esoteric: it's the fraction of margin -that the scaling algorithm will add to avoid that the outermost points -ends up on the grid border. Note that this margin is only applied when -a min or max value is not explicitly set. If a margin is specified, -the plot will furthermore extend the axis end-point to the nearest -whole tick. The default value is "null" for the x axes and 0.02 for y -axes which seems appropriate for most cases. - -"transform" and "inverseTransform" are callbacks you can put in to -change the way the data is drawn. You can design a function to -compress or expand certain parts of the axis non-linearly, e.g. -suppress weekends or compress far away points with a logarithm or some -other means. When Flot draws the plot, each value is first put through -the transform function. Here's an example, the x axis can be turned -into a natural logarithm axis with the following code: - - xaxis: { - transform: function (v) { return Math.log(v); }, - inverseTransform: function (v) { return Math.exp(v); } - } - -Similarly, for reversing the y axis so the values appear in inverse -order: - - yaxis: { - transform: function (v) { return -v; }, - inverseTransform: function (v) { return -v; } - } - -Note that for finding extrema, Flot assumes that the transform -function does not reorder values (it should be monotone). - -The inverseTransform is simply the inverse of the transform function -(so v == inverseTransform(transform(v)) for all relevant v). It is -required for converting from canvas coordinates to data coordinates, -e.g. for a mouse interaction where a certain pixel is clicked. If you -don't use any interactive features of Flot, you may not need it. - - -The rest of the options deal with the ticks. - -If you don't specify any ticks, a tick generator algorithm will make -some for you. The algorithm has two passes. It first estimates how -many ticks would be reasonable and uses this number to compute a nice -round tick interval size. Then it generates the ticks. - -You can specify how many ticks the algorithm aims for by setting -"ticks" to a number. The algorithm always tries to generate reasonably -round tick values so even if you ask for three ticks, you might get -five if that fits better with the rounding. If you don't want any -ticks at all, set "ticks" to 0 or an empty array. - -Another option is to skip the rounding part and directly set the tick -interval size with "tickSize". If you set it to 2, you'll get ticks at -2, 4, 6, etc. Alternatively, you can specify that you just don't want -ticks at a size less than a specific tick size with "minTickSize". -Note that for time series, the format is an array like [2, "month"], -see the next section. - -If you want to completely override the tick algorithm, you can specify -an array for "ticks", either like this: - - ticks: [0, 1.2, 2.4] - -Or like this where the labels are also customized: - - ticks: [[0, "zero"], [1.2, "one mark"], [2.4, "two marks"]] - -You can mix the two if you like. - -For extra flexibility you can specify a function as the "ticks" -parameter. The function will be called with an object with the axis -min and max and should return a ticks array. Here's a simplistic tick -generator that spits out intervals of pi, suitable for use on the x -axis for trigonometric functions: - - function piTickGenerator(axis) { - var res = [], i = Math.floor(axis.min / Math.PI); - do { - var v = i * Math.PI; - res.push([v, i + "\u03c0"]); - ++i; - } while (v < axis.max); - - return res; - } - -You can control how the ticks look like with "tickDecimals", the -number of decimals to display (default is auto-detected). - -Alternatively, for ultimate control over how ticks are formatted you can -provide a function to "tickFormatter". The function is passed two -parameters, the tick value and an axis object with information, and -should return a string. The default formatter looks like this: - - function formatter(val, axis) { - return val.toFixed(axis.tickDecimals); - } - -The axis object has "min" and "max" with the range of the axis, -"tickDecimals" with the number of decimals to round the value to and -"tickSize" with the size of the interval between ticks as calculated -by the automatic axis scaling algorithm (or specified by you). Here's -an example of a custom formatter: - - function suffixFormatter(val, axis) { - if (val > 1000000) - return (val / 1000000).toFixed(axis.tickDecimals) + " MB"; - else if (val > 1000) - return (val / 1000).toFixed(axis.tickDecimals) + " kB"; - else - return val.toFixed(axis.tickDecimals) + " B"; - } - -"labelWidth" and "labelHeight" specifies a fixed size of the tick -labels in pixels. They're useful in case you need to align several -plots. "reserveSpace" means that even if an axis isn't shown, Flot -should reserve space for it - it is useful in combination with -labelWidth and labelHeight for aligning multi-axis charts. - -"tickLength" is the length of the tick lines in pixels. By default, the -innermost axes will have ticks that extend all across the plot, while -any extra axes use small ticks. A value of null means use the default, -while a number means small ticks of that length - set it to 0 to hide -the lines completely. - -If you set "alignTicksWithAxis" to the number of another axis, e.g. -alignTicksWithAxis: 1, Flot will ensure that the autogenerated ticks -of this axis are aligned with the ticks of the other axis. This may -improve the looks, e.g. if you have one y axis to the left and one to -the right, because the grid lines will then match the ticks in both -ends. The trade-off is that the forced ticks won't necessarily be at -natural places. - - -Multiple axes -============= - -If you need more than one x axis or y axis, you need to specify for -each data series which axis they are to use, as described under the -format of the data series, e.g. { data: [...], yaxis: 2 } specifies -that a series should be plotted against the second y axis. - -To actually configure that axis, you can't use the xaxis/yaxis options -directly - instead there are two arrays in the options: - - xaxes: [] - yaxes: [] - -Here's an example of configuring a single x axis and two y axes (we -can leave options of the first y axis empty as the defaults are fine): - - { - xaxes: [ { position: "top" } ], - yaxes: [ { }, { position: "right", min: 20 } ] - } - -The arrays get their default values from the xaxis/yaxis settings, so -say you want to have all y axes start at zero, you can simply specify -yaxis: { min: 0 } instead of adding a min parameter to all the axes. - -Generally, the various interfaces in Flot dealing with data points -either accept an xaxis/yaxis parameter to specify which axis number to -use (starting from 1), or lets you specify the coordinate directly as -x2/x3/... or x2axis/x3axis/... instead of "x" or "xaxis". - - -Time series data -================ - -Time series are a bit more difficult than scalar data because -calendars don't follow a simple base 10 system. For many cases, Flot -abstracts most of this away, but it can still be a bit difficult to -get the data into Flot. So we'll first discuss the data format. - -The time series support in Flot is based on Javascript timestamps, -i.e. everywhere a time value is expected or handed over, a Javascript -timestamp number is used. This is a number, not a Date object. A -Javascript timestamp is the number of milliseconds since January 1, -1970 00:00:00 UTC. This is almost the same as Unix timestamps, except it's -in milliseconds, so remember to multiply by 1000! - -You can see a timestamp like this - - alert((new Date()).getTime()) - -Normally you want the timestamps to be displayed according to a -certain time zone, usually the time zone in which the data has been -produced. However, Flot always displays timestamps according to UTC. -It has to as the only alternative with core Javascript is to interpret -the timestamps according to the time zone that the visitor is in, -which means that the ticks will shift unpredictably with the time zone -and daylight savings of each visitor. - -So given that there's no good support for custom time zones in -Javascript, you'll have to take care of this server-side. - -The easiest way to think about it is to pretend that the data -production time zone is UTC, even if it isn't. So if you have a -datapoint at 2002-02-20 08:00, you can generate a timestamp for eight -o'clock UTC even if it really happened eight o'clock UTC+0200. - -In PHP you can get an appropriate timestamp with -'strtotime("2002-02-20 UTC") * 1000', in Python with -'calendar.timegm(datetime_object.timetuple()) * 1000', in .NET with -something like: - - public static int GetJavascriptTimestamp(System.DateTime input) - { - System.TimeSpan span = new System.TimeSpan(System.DateTime.Parse("1/1/1970").Ticks); - System.DateTime time = input.Subtract(span); - return (long)(time.Ticks / 10000); - } - -Javascript also has some support for parsing date strings, so it is -possible to generate the timestamps manually client-side. - -If you've already got the real UTC timestamp, it's too late to use the -pretend trick described above. But you can fix up the timestamps by -adding the time zone offset, e.g. for UTC+0200 you would add 2 hours -to the UTC timestamp you got. Then it'll look right on the plot. Most -programming environments have some means of getting the timezone -offset for a specific date (note that you need to get the offset for -each individual timestamp to account for daylight savings). - -Once you've gotten the timestamps into the data and specified "time" -as the axis mode, Flot will automatically generate relevant ticks and -format them. As always, you can tweak the ticks via the "ticks" option -- just remember that the values should be timestamps (numbers), not -Date objects. - -Tick generation and formatting can also be controlled separately -through the following axis options: - - minTickSize: array - timeformat: null or format string - monthNames: null or array of size 12 of strings - twelveHourClock: boolean - -Here "timeformat" is a format string to use. You might use it like -this: - - xaxis: { - mode: "time" - timeformat: "%y/%m/%d" - } - -This will result in tick labels like "2000/12/24". The following -specifiers are supported - - %h: hours - %H: hours (left-padded with a zero) - %M: minutes (left-padded with a zero) - %S: seconds (left-padded with a zero) - %d: day of month (1-31), use %0d for zero-padding - %m: month (1-12), use %0m for zero-padding - %y: year (four digits) - %b: month name (customizable) - %p: am/pm, additionally switches %h/%H to 12 hour instead of 24 - %P: AM/PM (uppercase version of %p) - -Inserting a zero like %0m or %0d means that the specifier will be -left-padded with a zero if it's only single-digit. So %y-%0m-%0d -results in unambigious ISO timestamps like 2007-05-10 (for May 10th). - -You can customize the month names with the "monthNames" option. For -instance, for Danish you might specify: - - monthNames: ["jan", "feb", "mar", "apr", "maj", "jun", "jul", "aug", "sep", "okt", "nov", "dec"] - -If you set "twelveHourClock" to true, the autogenerated timestamps -will use 12 hour AM/PM timestamps instead of 24 hour. - -The format string and month names are used by a very simple built-in -format function that takes a date object, a format string (and -optionally an array of month names) and returns the formatted string. -If needed, you can access it as $.plot.formatDate(date, formatstring, -monthNames) or even replace it with another more advanced function -from a date library if you're feeling adventurous. - -If everything else fails, you can control the formatting by specifying -a custom tick formatter function as usual. Here's a simple example -which will format December 24 as 24/12: - - tickFormatter: function (val, axis) { - var d = new Date(val); - return d.getUTCDate() + "/" + (d.getUTCMonth() + 1); - } - -Note that for the time mode "tickSize" and "minTickSize" are a bit -special in that they are arrays on the form "[value, unit]" where unit -is one of "second", "minute", "hour", "day", "month" and "year". So -you can specify - - minTickSize: [1, "month"] - -to get a tick interval size of at least 1 month and correspondingly, -if axis.tickSize is [2, "day"] in the tick formatter, the ticks have -been produced with two days in-between. - - - -Customizing the data series -=========================== - - series: { - lines, points, bars: { - show: boolean - lineWidth: number - fill: boolean or number - fillColor: null or color/gradient - } - - points: { - radius: number - symbol: "circle" or function - } - - bars: { - barWidth: number - align: "left" or "center" - horizontal: boolean - } - - lines: { - steps: boolean - } - - shadowSize: number - } - - colors: [ color1, color2, ... ] - -The options inside "series: {}" are copied to each of the series. So -you can specify that all series should have bars by putting it in the -global options, or override it for individual series by specifying -bars in a particular the series object in the array of data. - -The most important options are "lines", "points" and "bars" that -specify whether and how lines, points and bars should be shown for -each data series. In case you don't specify anything at all, Flot will -default to showing lines (you can turn this off with -lines: { show: false }). You can specify the various types -independently of each other, and Flot will happily draw each of them -in turn (this is probably only useful for lines and points), e.g. - - var options = { - series: { - lines: { show: true, fill: true, fillColor: "rgba(255, 255, 255, 0.8)" }, - points: { show: true, fill: false } - } - }; - -"lineWidth" is the thickness of the line or outline in pixels. You can -set it to 0 to prevent a line or outline from being drawn; this will -also hide the shadow. - -"fill" is whether the shape should be filled. For lines, this produces -area graphs. You can use "fillColor" to specify the color of the fill. -If "fillColor" evaluates to false (default for everything except -points which are filled with white), the fill color is auto-set to the -color of the data series. You can adjust the opacity of the fill by -setting fill to a number between 0 (fully transparent) and 1 (fully -opaque). - -For bars, fillColor can be a gradient, see the gradient documentation -below. "barWidth" is the width of the bars in units of the x axis (or -the y axis if "horizontal" is true), contrary to most other measures -that are specified in pixels. For instance, for time series the unit -is milliseconds so 24 * 60 * 60 * 1000 produces bars with the width of -a day. "align" specifies whether a bar should be left-aligned -(default) or centered on top of the value it represents. When -"horizontal" is on, the bars are drawn horizontally, i.e. from the y -axis instead of the x axis; note that the bar end points are still -defined in the same way so you'll probably want to swap the -coordinates if you've been plotting vertical bars first. - -For lines, "steps" specifies whether two adjacent data points are -connected with a straight (possibly diagonal) line or with first a -horizontal and then a vertical line. Note that this transforms the -data by adding extra points. - -For points, you can specify the radius and the symbol. The only -built-in symbol type is circles, for other types you can use a plugin -or define them yourself by specifying a callback: - - function cross(ctx, x, y, radius, shadow) { - var size = radius * Math.sqrt(Math.PI) / 2; - ctx.moveTo(x - size, y - size); - ctx.lineTo(x + size, y + size); - ctx.moveTo(x - size, y + size); - ctx.lineTo(x + size, y - size); - } - -The parameters are the drawing context, x and y coordinates of the -center of the point, a radius which corresponds to what the circle -would have used and whether the call is to draw a shadow (due to -limited canvas support, shadows are currently faked through extra -draws). It's good practice to ensure that the area covered by the -symbol is the same as for the circle with the given radius, this -ensures that all symbols have approximately the same visual weight. - -"shadowSize" is the default size of shadows in pixels. Set it to 0 to -remove shadows. - -The "colors" array specifies a default color theme to get colors for -the data series from. You can specify as many colors as you like, like -this: - - colors: ["#d18b2c", "#dba255", "#919733"] - -If there are more data series than colors, Flot will try to generate -extra colors by lightening and darkening colors in the theme. - - -Customizing the grid -==================== - - grid: { - show: boolean - aboveData: boolean - color: color - backgroundColor: color/gradient or null - labelMargin: number - axisMargin: number - markings: array of markings or (fn: axes -> array of markings) - borderWidth: number - borderColor: color or null - minBorderMargin: number or null - clickable: boolean - hoverable: boolean - autoHighlight: boolean - mouseActiveRadius: number - } - -The grid is the thing with the axes and a number of ticks. Many of the -things in the grid are configured under the individual axes, but not -all. "color" is the color of the grid itself whereas "backgroundColor" -specifies the background color inside the grid area, here null means -that the background is transparent. You can also set a gradient, see -the gradient documentation below. - -You can turn off the whole grid including tick labels by setting -"show" to false. "aboveData" determines whether the grid is drawn -above the data or below (below is default). - -"labelMargin" is the space in pixels between tick labels and axis -line, and "axisMargin" is the space in pixels between axes when there -are two next to each other. Note that you can style the tick labels -with CSS, e.g. to change the color. They have class "tickLabel". - -"borderWidth" is the width of the border around the plot. Set it to 0 -to disable the border. You can also set "borderColor" if you want the -border to have a different color than the grid lines. -"minBorderMargin" controls the default minimum margin around the -border - it's used to make sure that points aren't accidentally -clipped by the canvas edge so by default the value is computed from -the point radius. - -"markings" is used to draw simple lines and rectangular areas in the -background of the plot. You can either specify an array of ranges on -the form { xaxis: { from, to }, yaxis: { from, to } } (with multiple -axes, you can specify coordinates for other axes instead, e.g. as -x2axis/x3axis/...) or with a function that returns such an array given -the axes for the plot in an object as the first parameter. - -You can set the color of markings by specifying "color" in the ranges -object. Here's an example array: - - markings: [ { xaxis: { from: 0, to: 2 }, yaxis: { from: 10, to: 10 }, color: "#bb0000" }, ... ] - -If you leave out one of the values, that value is assumed to go to the -border of the plot. So for example if you only specify { xaxis: { -from: 0, to: 2 } } it means an area that extends from the top to the -bottom of the plot in the x range 0-2. - -A line is drawn if from and to are the same, e.g. - - markings: [ { yaxis: { from: 1, to: 1 } }, ... ] - -would draw a line parallel to the x axis at y = 1. You can control the -line width with "lineWidth" in the range object. - -An example function that makes vertical stripes might look like this: - - markings: function (axes) { - var markings = []; - for (var x = Math.floor(axes.xaxis.min); x < axes.xaxis.max; x += 2) - markings.push({ xaxis: { from: x, to: x + 1 } }); - return markings; - } - - -If you set "clickable" to true, the plot will listen for click events -on the plot area and fire a "plotclick" event on the placeholder with -a position and a nearby data item object as parameters. The coordinates -are available both in the unit of the axes (not in pixels) and in -global screen coordinates. - -Likewise, if you set "hoverable" to true, the plot will listen for -mouse move events on the plot area and fire a "plothover" event with -the same parameters as the "plotclick" event. If "autoHighlight" is -true (the default), nearby data items are highlighted automatically. -If needed, you can disable highlighting and control it yourself with -the highlight/unhighlight plot methods described elsewhere. - -You can use "plotclick" and "plothover" events like this: - - $.plot($("#placeholder"), [ d ], { grid: { clickable: true } }); - - $("#placeholder").bind("plotclick", function (event, pos, item) { - alert("You clicked at " + pos.x + ", " + pos.y); - // axis coordinates for other axes, if present, are in pos.x2, pos.x3, ... - // if you need global screen coordinates, they are pos.pageX, pos.pageY - - if (item) { - highlight(item.series, item.datapoint); - alert("You clicked a point!"); - } - }); - -The item object in this example is either null or a nearby object on the form: - - item: { - datapoint: the point, e.g. [0, 2] - dataIndex: the index of the point in the data array - series: the series object - seriesIndex: the index of the series - pageX, pageY: the global screen coordinates of the point - } - -For instance, if you have specified the data like this - - $.plot($("#placeholder"), [ { label: "Foo", data: [[0, 10], [7, 3]] } ], ...); - -and the mouse is near the point (7, 3), "datapoint" is [7, 3], -"dataIndex" will be 1, "series" is a normalized series object with -among other things the "Foo" label in series.label and the color in -series.color, and "seriesIndex" is 0. Note that plugins and options -that transform the data can shift the indexes from what you specified -in the original data array. - -If you use the above events to update some other information and want -to clear out that info in case the mouse goes away, you'll probably -also need to listen to "mouseout" events on the placeholder div. - -"mouseActiveRadius" specifies how far the mouse can be from an item -and still activate it. If there are two or more points within this -radius, Flot chooses the closest item. For bars, the top-most bar -(from the latest specified data series) is chosen. - -If you want to disable interactivity for a specific data series, you -can set "hoverable" and "clickable" to false in the options for that -series, like this { data: [...], label: "Foo", clickable: false }. - - -Specifying gradients -==================== - -A gradient is specified like this: - - { colors: [ color1, color2, ... ] } - -For instance, you might specify a background on the grid going from -black to gray like this: - - grid: { - backgroundColor: { colors: ["#000", "#999"] } - } - -For the series you can specify the gradient as an object that -specifies the scaling of the brightness and the opacity of the series -color, e.g. - - { colors: [{ opacity: 0.8 }, { brightness: 0.6, opacity: 0.8 } ] } - -where the first color simply has its alpha scaled, whereas the second -is also darkened. For instance, for bars the following makes the bars -gradually disappear, without outline: - - bars: { - show: true, - lineWidth: 0, - fill: true, - fillColor: { colors: [ { opacity: 0.8 }, { opacity: 0.1 } ] } - } - -Flot currently only supports vertical gradients drawn from top to -bottom because that's what works with IE. - - -Plot Methods ------------- - -The Plot object returned from the plot function has some methods you -can call: - - - highlight(series, datapoint) - - Highlight a specific datapoint in the data series. You can either - specify the actual objects, e.g. if you got them from a - "plotclick" event, or you can specify the indices, e.g. - highlight(1, 3) to highlight the fourth point in the second series - (remember, zero-based indexing). - - - - unhighlight(series, datapoint) or unhighlight() - - Remove the highlighting of the point, same parameters as - highlight. - - If you call unhighlight with no parameters, e.g. as - plot.unhighlight(), all current highlights are removed. - - - - setData(data) - - You can use this to reset the data used. Note that axis scaling, - ticks, legend etc. will not be recomputed (use setupGrid() to do - that). You'll probably want to call draw() afterwards. - - You can use this function to speed up redrawing a small plot if - you know that the axes won't change. Put in the new data with - setData(newdata), call draw(), and you're good to go. Note that - for large datasets, almost all the time is consumed in draw() - plotting the data so in this case don't bother. - - - - setupGrid() - - Recalculate and set axis scaling, ticks, legend etc. - - Note that because of the drawing model of the canvas, this - function will immediately redraw (actually reinsert in the DOM) - the labels and the legend, but not the actual tick lines because - they're drawn on the canvas. You need to call draw() to get the - canvas redrawn. - - - draw() - - Redraws the plot canvas. - - - triggerRedrawOverlay() - - Schedules an update of an overlay canvas used for drawing - interactive things like a selection and point highlights. This - is mostly useful for writing plugins. The redraw doesn't happen - immediately, instead a timer is set to catch multiple successive - redraws (e.g. from a mousemove). You can get to the overlay by - setting up a drawOverlay hook. - - - width()/height() - - Gets the width and height of the plotting area inside the grid. - This is smaller than the canvas or placeholder dimensions as some - extra space is needed (e.g. for labels). - - - offset() - - Returns the offset of the plotting area inside the grid relative - to the document, useful for instance for calculating mouse - positions (event.pageX/Y minus this offset is the pixel position - inside the plot). - - - pointOffset({ x: xpos, y: ypos }) - - Returns the calculated offset of the data point at (x, y) in data - space within the placeholder div. If you are working with multiple axes, you - can specify the x and y axis references, e.g. - - o = pointOffset({ x: xpos, y: ypos, xaxis: 2, yaxis: 3 }) - // o.left and o.top now contains the offset within the div - - - resize() - - Tells Flot to resize the drawing canvas to the size of the - placeholder. You need to run setupGrid() and draw() afterwards as - canvas resizing is a destructive operation. This is used - internally by the resize plugin. - - - shutdown() - - Cleans up any event handlers Flot has currently registered. This - is used internally. - - -There are also some members that let you peek inside the internal -workings of Flot which is useful in some cases. Note that if you change -something in the objects returned, you're changing the objects used by -Flot to keep track of its state, so be careful. - - - getData() - - Returns an array of the data series currently used in normalized - form with missing settings filled in according to the global - options. So for instance to find out what color Flot has assigned - to the data series, you could do this: - - var series = plot.getData(); - for (var i = 0; i < series.length; ++i) - alert(series[i].color); - - A notable other interesting field besides color is datapoints - which has a field "points" with the normalized data points in a - flat array (the field "pointsize" is the increment in the flat - array to get to the next point so for a dataset consisting only of - (x,y) pairs it would be 2). - - - getAxes() - - Gets an object with the axes. The axes are returned as the - attributes of the object, so for instance getAxes().xaxis is the - x axis. - - Various things are stuffed inside an axis object, e.g. you could - use getAxes().xaxis.ticks to find out what the ticks are for the - xaxis. Two other useful attributes are p2c and c2p, functions for - transforming from data point space to the canvas plot space and - back. Both returns values that are offset with the plot offset. - Check the Flot source code for the complete set of attributes (or - output an axis with console.log() and inspect it). - - With multiple axes, the extra axes are returned as x2axis, x3axis, - etc., e.g. getAxes().y2axis is the second y axis. You can check - y2axis.used to see whether the axis is associated with any data - points and y2axis.show to see if it is currently shown. - - - getPlaceholder() - - Returns placeholder that the plot was put into. This can be useful - for plugins for adding DOM elements or firing events. - - - getCanvas() - - Returns the canvas used for drawing in case you need to hack on it - yourself. You'll probably need to get the plot offset too. - - - getPlotOffset() - - Gets the offset that the grid has within the canvas as an object - with distances from the canvas edges as "left", "right", "top", - "bottom". I.e., if you draw a circle on the canvas with the center - placed at (left, top), its center will be at the top-most, left - corner of the grid. - - - getOptions() - - Gets the options for the plot, normalized, with default values - filled in. You get a reference to actual values used by Flot, so - if you modify the values in here, Flot will use the new values. - If you change something, you probably have to call draw() or - setupGrid() or triggerRedrawOverlay() to see the change. - - -Hooks -===== - -In addition to the public methods, the Plot object also has some hooks -that can be used to modify the plotting process. You can install a -callback function at various points in the process, the function then -gets access to the internal data structures in Flot. - -Here's an overview of the phases Flot goes through: - - 1. Plugin initialization, parsing options - - 2. Constructing the canvases used for drawing - - 3. Set data: parsing data specification, calculating colors, - copying raw data points into internal format, - normalizing them, finding max/min for axis auto-scaling - - 4. Grid setup: calculating axis spacing, ticks, inserting tick - labels, the legend - - 5. Draw: drawing the grid, drawing each of the series in turn - - 6. Setting up event handling for interactive features - - 7. Responding to events, if any - - 8. Shutdown: this mostly happens in case a plot is overwritten - -Each hook is simply a function which is put in the appropriate array. -You can add them through the "hooks" option, and they are also available -after the plot is constructed as the "hooks" attribute on the returned -plot object, e.g. - - // define a simple draw hook - function hellohook(plot, canvascontext) { alert("hello!"); }; - - // pass it in, in an array since we might want to specify several - var plot = $.plot(placeholder, data, { hooks: { draw: [hellohook] } }); - - // we can now find it again in plot.hooks.draw[0] unless a plugin - // has added other hooks - -The available hooks are described below. All hook callbacks get the -plot object as first parameter. You can find some examples of defined -hooks in the plugins bundled with Flot. - - - processOptions [phase 1] - - function(plot, options) - - Called after Flot has parsed and merged options. Useful in the - instance where customizations beyond simple merging of default - values is needed. A plugin might use it to detect that it has been - enabled and then turn on or off other options. - - - - processRawData [phase 3] - - function(plot, series, data, datapoints) - - Called before Flot copies and normalizes the raw data for the given - series. If the function fills in datapoints.points with normalized - points and sets datapoints.pointsize to the size of the points, - Flot will skip the copying/normalization step for this series. - - In any case, you might be interested in setting datapoints.format, - an array of objects for specifying how a point is normalized and - how it interferes with axis scaling. - - The default format array for points is something along the lines of: - - [ - { x: true, number: true, required: true }, - { y: true, number: true, required: true } - ] - - The first object means that for the first coordinate it should be - taken into account when scaling the x axis, that it must be a - number, and that it is required - so if it is null or cannot be - converted to a number, the whole point will be zeroed out with - nulls. Beyond these you can also specify "defaultValue", a value to - use if the coordinate is null. This is for instance handy for bars - where one can omit the third coordinate (the bottom of the bar) - which then defaults to 0. - - - - processDatapoints [phase 3] - - function(plot, series, datapoints) - - Called after normalization of the given series but before finding - min/max of the data points. This hook is useful for implementing data - transformations. "datapoints" contains the normalized data points in - a flat array as datapoints.points with the size of a single point - given in datapoints.pointsize. Here's a simple transform that - multiplies all y coordinates by 2: - - function multiply(plot, series, datapoints) { - var points = datapoints.points, ps = datapoints.pointsize; - for (var i = 0; i < points.length; i += ps) - points[i + 1] *= 2; - } - - Note that you must leave datapoints in a good condition as Flot - doesn't check it or do any normalization on it afterwards. - - - - drawSeries [phase 5] - - function(plot, canvascontext, series) - - Hook for custom drawing of a single series. Called just before the - standard drawing routine has been called in the loop that draws - each series. - - - - draw [phase 5] - - function(plot, canvascontext) - - Hook for drawing on the canvas. Called after the grid is drawn - (unless it's disabled or grid.aboveData is set) and the series have - been plotted (in case any points, lines or bars have been turned - on). For examples of how to draw things, look at the source code. - - - - bindEvents [phase 6] - - function(plot, eventHolder) - - Called after Flot has setup its event handlers. Should set any - necessary event handlers on eventHolder, a jQuery object with the - canvas, e.g. - - function (plot, eventHolder) { - eventHolder.mousedown(function (e) { - alert("You pressed the mouse at " + e.pageX + " " + e.pageY); - }); - } - - Interesting events include click, mousemove, mouseup/down. You can - use all jQuery events. Usually, the event handlers will update the - state by drawing something (add a drawOverlay hook and call - triggerRedrawOverlay) or firing an externally visible event for - user code. See the crosshair plugin for an example. - - Currently, eventHolder actually contains both the static canvas - used for the plot itself and the overlay canvas used for - interactive features because some versions of IE get the stacking - order wrong. The hook only gets one event, though (either for the - overlay or for the static canvas). - - Note that custom plot events generated by Flot are not generated on - eventHolder, but on the div placeholder supplied as the first - argument to the plot call. You can get that with - plot.getPlaceholder() - that's probably also the one you should use - if you need to fire a custom event. - - - - drawOverlay [phase 7] - - function (plot, canvascontext) - - The drawOverlay hook is used for interactive things that need a - canvas to draw on. The model currently used by Flot works the way - that an extra overlay canvas is positioned on top of the static - canvas. This overlay is cleared and then completely redrawn - whenever something interesting happens. This hook is called when - the overlay canvas is to be redrawn. - - "canvascontext" is the 2D context of the overlay canvas. You can - use this to draw things. You'll most likely need some of the - metrics computed by Flot, e.g. plot.width()/plot.height(). See the - crosshair plugin for an example. - - - - shutdown [phase 8] - - function (plot, eventHolder) - - Run when plot.shutdown() is called, which usually only happens in - case a plot is overwritten by a new plot. If you're writing a - plugin that adds extra DOM elements or event handlers, you should - add a callback to clean up after you. Take a look at the section in - PLUGINS.txt for more info. - - -Plugins -------- - -Plugins extend the functionality of Flot. To use a plugin, simply -include its Javascript file after Flot in the HTML page. - -If you're worried about download size/latency, you can concatenate all -the plugins you use, and Flot itself for that matter, into one big file -(make sure you get the order right), then optionally run it through a -Javascript minifier such as YUI Compressor. - -Here's a brief explanation of how the plugin plumbings work: - -Each plugin registers itself in the global array $.plot.plugins. When -you make a new plot object with $.plot, Flot goes through this array -calling the "init" function of each plugin and merging default options -from the "option" attribute of the plugin. The init function gets a -reference to the plot object created and uses this to register hooks -and add new public methods if needed. - -See the PLUGINS.txt file for details on how to write a plugin. As the -above description hints, it's actually pretty easy. - - -Version number --------------- - -The version number of Flot is available in $.plot.version. diff --git a/modules/lib/flot/FAQ.txt b/modules/lib/flot/FAQ.txt deleted file mode 100644 index e02b761..0000000 --- a/modules/lib/flot/FAQ.txt +++ /dev/null @@ -1,76 +0,0 @@ -Frequently asked questions --------------------------- - -Q: How much data can Flot cope with? - -A: Flot will happily draw everything you send to it so the answer -depends on the browser. The excanvas emulation used for IE (built with -VML) makes IE by far the slowest browser so be sure to test with that -if IE users are in your target group. - -1000 points is not a problem, but as soon as you start having more -points than the pixel width, you should probably start thinking about -downsampling/aggregation as this is near the resolution limit of the -chart anyway. If you downsample server-side, you also save bandwidth. - - -Q: Flot isn't working when I'm using JSON data as source! - -A: Actually, Flot loves JSON data, you just got the format wrong. -Double check that you're not inputting strings instead of numbers, -like [["0", "-2.13"], ["5", "4.3"]]. This is most common mistake, and -the error might not show up immediately because Javascript can do some -conversion automatically. - - -Q: Can I export the graph? - -A: This is a limitation of the canvas technology. There's a hook in -the canvas object for getting an image out, but you won't get the tick -labels. And it's not likely to be supported by IE. At this point, your -best bet is probably taking a screenshot, e.g. with PrtScn. - - -Q: The bars are all tiny in time mode? - -A: It's not really possible to determine the bar width automatically. -So you have to set the width with the barWidth option which is NOT in -pixels, but in the units of the x axis (or the y axis for horizontal -bars). For time mode that's milliseconds so the default value of 1 -makes the bars 1 millisecond wide. - - -Q: Can I use Flot with libraries like Mootools or Prototype? - -A: Yes, Flot supports it out of the box and it's easy! Just use jQuery -instead of $, e.g. call jQuery.plot instead of $.plot and use -jQuery(something) instead of $(something). As a convenience, you can -put in a DOM element for the graph placeholder where the examples and -the API documentation are using jQuery objects. - -Depending on how you include jQuery, you may have to add one line of -code to prevent jQuery from overwriting functions from the other -libraries, see the documentation in jQuery ("Using jQuery with other -libraries") for details. - - -Q: Flot doesn't work with [insert name of Javascript UI framework]! - -A: The only non-standard thing used by Flot is the canvas tag; -otherwise it is simply a series of absolute positioned divs within the -placeholder tag you put in. If this is not working, it's probably -because the framework you're using is doing something weird with the -DOM, or you're using it the wrong way. - -A common problem is that there's display:none on a container until the -user does something. Many tab widgets work this way, and there's -nothing wrong with it - you just can't call Flot inside a display:none -container as explained in the README so you need to hold off the Flot -call until the container is actually displayed (or use -visibility:hidden instead of display:none or move the container -off-screen). - -If you find there's a specific thing we can do to Flot to help, feel -free to submit a bug report. Otherwise, you're welcome to ask for help -on the forum/mailing list, but please don't submit a bug report to -Flot. diff --git a/modules/lib/flot/LICENSE.txt b/modules/lib/flot/LICENSE.txt deleted file mode 100644 index 07d5b20..0000000 --- a/modules/lib/flot/LICENSE.txt +++ /dev/null @@ -1,22 +0,0 @@ -Copyright (c) 2007-2009 IOLA and Ole Laursen - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. diff --git a/modules/lib/flot/Makefile b/modules/lib/flot/Makefile deleted file mode 100644 index b300f1a..0000000 --- a/modules/lib/flot/Makefile +++ /dev/null @@ -1,9 +0,0 @@ -# Makefile for generating minified files - -.PHONY: all - -# we cheat and process all .js files instead of an exhaustive list -all: $(patsubst %.js,%.min.js,$(filter-out %.min.js,$(wildcard *.js))) - -%.min.js: %.js - yui-compressor $< -o $@ diff --git a/modules/lib/flot/NEWS.txt b/modules/lib/flot/NEWS.txt deleted file mode 100644 index 5f8e1a0..0000000 --- a/modules/lib/flot/NEWS.txt +++ /dev/null @@ -1,508 +0,0 @@ -Flot 0.7 --------- - -API changes: - -Multiple axes support. Code using dual axes should be changed from -using x2axis/y2axis in the options to using an array (although -backwards-compatibility hooks are in place). For instance, - - { - xaxis: { ... }, x2axis: { ... }, - yaxis: { ... }, y2axis: { ... } - } - -becomes - - { - xaxes: [ { ... }, { ... } ], - yaxes: [ { ... }, { ... } ] - } - -Note that if you're just using one axis, continue to use the -xaxis/yaxis directly (it now sets the default settings for the -arrays). Plugins touching the axes must be ported to take the extra -axes into account, check the source to see some examples. - -A related change is that the visibility of axes is now auto-detected. -So if you were relying on an axis to show up even without any data in -the chart, you now need to set the axis "show" option explicitly. - -"tickColor" on the grid options is now deprecated in favour of a -corresponding option on the axes, so { grid: { tickColor: "#000" }} -becomes { xaxis: { tickColor: "#000"}, yaxis: { tickColor: "#000"} }, -but if you just configure a base color Flot will now autogenerate a -tick color by adding transparency. Backwards-compatibility hooks are -in place. - -Final note: now that IE 9 is coming out with canvas support, you may -want to adapt the excanvas include to skip loading it in IE 9 (the -examples have been adapted thanks to Ryley Breiddal). An alternative -to excanvas using Flash has also surfaced, if your graphs are slow in -IE, you may want to give it a spin: - - http://code.google.com/p/flashcanvas/ - - -Changes: - -- Support for specifying a bottom for each point for line charts when - filling them, this means that an arbitrary bottom can be used - instead of just the x axis (based on patches patiently provided by - Roman V. Prikhodchenko). -- New fillbetween plugin that can compute a bottom for a series from - another series, useful for filling areas between lines (see new - example percentiles.html for a use case). -- More predictable handling of gaps for the stacking plugin, now all - undefined ranges are skipped. -- Stacking plugin can stack horizontal bar charts. -- Navigate plugin now redraws the plot while panning instead of only - after the fact (can be disabled by setting the pan.frameRate option - to null), raised by lastthemy (issue 235). -- Date formatter now accepts %0m and %0d to get a zero-padded month or - day (issue raised by Maximillian Dornseif). -- Revamped internals to support an unlimited number of axes, not just - dual (sponsored by Flight Data Services, - www.flightdataservices.com). -- New setting on axes, "tickLength", to control the size of ticks or - turn them off without turning off the labels. -- Axis labels are now put in container divs with classes, for instance - labels in the x axes can be reached via ".xAxis .tickLabel". -- Support for setting the color of an axis (sponsored by Flight Data - Services, www.flightdataservices.com). -- Tick color is now auto-generated as the base color with some - transparency (unless you override it). -- Support for aligning ticks in the axes with "alignTicksWithAxis" to - ensure that they appear next to each other rather than in between, - at the expense of possibly awkward tick steps (sponsored by Flight - Data Services, www.flightdataservices.com). -- Support for customizing the point type through a callback when - plotting points and new symbol plugin with some predefined point - types (sponsored by Utility Data Corporation). -- Resize plugin for automatically redrawing when the placeholder - changes size, e.g. on window resizes (sponsored by Novus Partners). - A resize() method has been added to plot object facilitate this. -- Support Infinity/-Infinity for plotting asymptotes by hacking it - into +/-Number.MAX_VALUE (reported by rabaea.mircea). -- Support for restricting navigate plugin to not pan/zoom an axis (based - on patch by kkaefer). -- Support for providing the drag cursor for the navigate plugin as an - option (based on patch by Kelly T. Moore). -- Options for controlling whether an axis is shown or not (suggestion - by Timo Tuominen) and whether to reserve space for it even if it - isn't shown. -- New attribute $.plot.version with the Flot version as a string. -- The version comment is now included in the minified jquery.flot.min.js. -- New options.grid.minBorderMargin for adjusting the minimum margin - provided around the border (based on patch by corani, issue 188). -- Refactor replot behaviour so Flot tries to reuse the existing - canvas, adding shutdown() methods to the plot (based on patch by - Ryley Breiddal, issue 269). This prevents a memory leak in Chrome - and hopefully makes replotting faster for those who are using $.plot - instead of .setData()/.draw(). Also update jQuery to 1.5.1 to - prevent IE leaks fixed in jQuery. -- New real-time line chart example. - -- New hooks: drawSeries, shutdown - -Bug fixes: - -- Fixed problem with findNearbyItem and bars on top of each other - (reported by ragingchikn, issue 242). -- Fixed problem with ticks and the border (based on patch from - ultimatehustler69, issue 236). -- Fixed problem with plugins adding options to the series objects. -- Fixed a problem introduced in 0.6 with specifying a gradient with { - brightness: x, opacity: y }. -- Don't use $.browser.msie, check for getContext on the created canvas - element instead and try to use excanvas if it's not found (fixes IE - 9 compatibility). -- highlight(s, index) was looking up the point in the original s.data - instead of in the computed datapoints array, which breaks with - plugins that modify the datapoints (such as the stacking plugin). - Issue 316 reported by curlypaul924. -- More robust handling of axis from data passed in from getData() - (problem reported by Morgan). -- Fixed problem with turning off bar outline (issue 253, fix by Jordi - Castells). -- Check the selection passed into setSelection in the selection - plugin, to guard against errors when synchronizing plots (fix by Lau - Bech Lauritzen). -- Fix bug in crosshair code with mouseout resetting the crosshair even - if it is locked (fix by Lau Bech Lauritzen and Banko Adam). -- Fix bug with points plotting using line width from lines rather than - points. -- Fix bug with passing non-array 0 data (for plugins that don't expect - arrays, patch by vpapp1). -- Fix errors in JSON in examples so they work with jQuery 1.4.2 - (fix reported by honestbleeps, issue 357). -- Fix bug with tooltip in interacting.html, this makes the tooltip - much smoother (fix by bdkahn). Fix related bug inside highlighting - handler in Flot. -- Use closure trick to make inline colorhelpers plugin respect - jQuery.noConflict(true), renaming the global jQuery object (reported - by Nick Stielau). -- Listen for mouseleave events and fire a plothover event with empty - item when it occurs to drop highlights when the mouse leaves the - plot (reported by by outspirit). -- Fix bug with using aboveData with a background (reported by - amitayd). -- Fix possible excanvas leak (report and suggested fix by tom9729). -- Fix bug with backwards compatibility for shadowSize = 0 (report and - suggested fix by aspinak). -- Adapt examples to skip loading excanvas (fix by Ryley Breiddal). -- Fix bug that prevent a simple f(x) = -x transform from working - correctly (fix by Mike, issue 263). -- Fix bug in restoring cursor in navigate plugin (reported by Matteo - Gattanini, issue 395). -- Fix bug in picking items when transform/inverseTransform is in use - (reported by Ofri Raviv, and patches and analysis by Jan and Tom - Paton, issue 334 and 467). -- Fix problem with unaligned ticks and hover/click events caused by - padding on the placeholder by hardcoding the placeholder padding to - 0 (reported by adityadineshsaxena, Matt Sommer, Daniel Atos and some - other people, issue 301). -- Update colorhelpers plugin to avoid dying when trying to parse an - invalid string (reported by cadavor, issue 483). - - -Flot 0.6 --------- - -API changes: - -1. Selection support has been moved to a plugin. Thus if you're -passing selection: { mode: something }, you MUST include the file -jquery.flot.selection.js after jquery.flot.js. This reduces the size -of base Flot and makes it easier to customize the selection as well as -improving code clarity. The change is based on a patch from andershol. - -2. In the global options specified in the $.plot command, -"lines", "points", "bars" and "shadowSize" have been moved to a -sub-object called "series", i.e. - - $.plot(placeholder, data, { lines: { show: true }}) - -should be changed to - - $.plot(placeholder, data, { series: { lines: { show: true }}}) - -All future series-specific options will go into this sub-object to -simplify plugin writing. Backward-compatibility code is in place, so -old code should not break. - -3. "plothover" no longer provides the original data point, but instead -a normalized one, since there may be no corresponding original point. - -4. Due to a bug in previous versions of jQuery, you now need at least -jQuery 1.2.6. But if you can, try jQuery 1.3.2 as it got some -improvements in event handling speed. - - -Changes: - -- Added support for disabling interactivity for specific data series - (request from Ronald Schouten and Steve Upton). - -- Flot now calls $() on the placeholder and optional legend container - passed in so you can specify DOM elements or CSS expressions to make - it easier to use Flot with libraries like Prototype or Mootools or - through raw JSON from Ajax responses. - -- A new "plotselecting" event is now emitted while the user is making - a selection. - -- The "plothover" event is now emitted immediately instead of at most - 10 times per second, you'll have to put in a setTimeout yourself if - you're doing something really expensive on this event. - -- The built-in date formatter can now be accessed as - $.plot.formatDate(...) (suggestion by Matt Manela) and even - replaced. - -- Added "borderColor" option to the grid (patch from Amaury Chamayou - and patch from Mike R. Williamson). - -- Added support for gradient backgrounds for the grid, take a look at - the "setting options" example (based on patch from Amaury Chamayou, - issue 90). - -- Gradient bars (suggestion by stefpet). - -- Added a "plotunselected" event which is triggered when the selection - is removed, see "selection" example (suggestion by Meda Ugo); - -- The option legend.margin can now specify horizontal and vertical - margins independently (suggestion by someone who's annoyed). - -- Data passed into Flot is now copied to a new canonical format to - enable further processing before it hits the drawing routines. As a - side-effect, this should make Flot more robust in the face of bad - data (and fixes issue 112). - -- Step-wise charting: line charts have a new option "steps" that when - set to true connects the points with horizontal/vertical steps - instead of diagonal lines. - -- The legend labelFormatter now passes the series in addition to just - the label (suggestion by Vincent Lemeltier). - -- Horizontal bars (based on patch by Jason LeBrun). - -- Support for partial bars by specifying a third coordinate, i.e. they - don't have to start from the axis. This can be used to make stacked - bars. - -- New option to disable the (grid.show). - -- Added pointOffset method for converting a point in data space to an - offset within the placeholder. - -- Plugin system: register an init method in the $.flot.plugins array - to get started, see PLUGINS.txt for details on how to write plugins - (it's easy). There are also some extra methods to enable access to - internal state. - -- Hooks: you can register functions that are called while Flot is - crunching the data and doing the plot. This can be used to modify - Flot without changing the source, useful for writing plugins. Some - hooks are defined, more are likely to come. - -- Threshold plugin: you can set a threshold and a color, and the data - points below that threshold will then get the color. Useful for - marking data below 0, for instance. - -- Stack plugin: you can specify a stack key for each series to have - them summed. This is useful for drawing additive/cumulative graphs - with bars and (currently unfilled) lines. - -- Crosshairs plugin: trace the mouse position on the axes, enable with - crosshair: { mode: "x"} (see the new tracking example for a use). - -- Image plugin: plot prerendered images. - -- Navigation plugin for panning and zooming a plot. - -- More configurable grid. - -- Axis transformation support, useful for non-linear plots, e.g. log - axes and compressed time axes (like omitting weekends). - -- Support for twelve-hour date formatting (patch by Forrest Aldridge). - -- The color parsing code in Flot has been cleaned up and split out so - it's now available as a separate jQuery plugin. It's included inline - in the Flot source to make dependency managing easier. This also - makes it really easy to use the color helpers in Flot plugins. - -Bug fixes: - -- Fixed two corner-case bugs when drawing filled curves (report and - analysis by Joshua Varner). -- Fix auto-adjustment code when setting min to 0 for an axis where the - dataset is completely flat on that axis (report by chovy). -- Fixed a bug with passing in data from getData to setData when the - secondary axes are used (issue 65, reported by nperelman). -- Fixed so that it is possible to turn lines off when no other chart - type is shown (based on problem reported by Glenn Vanderburg), and - fixed so that setting lineWidth to 0 also hides the shadow (based on - problem reported by Sergio Nunes). -- Updated mousemove position expression to the latest from jQuery (bug - reported by meyuchas). -- Use CSS borders instead of background in legend (fix printing issue 25 - and 45). -- Explicitly convert axis min/max to numbers. -- Fixed a bug with drawing marking lines with different colors - (reported by Khurram). -- Fixed a bug with returning y2 values in the selection event (fix - by exists, issue 75). -- Only set position relative on placeholder if it hasn't already a - position different from static (reported by kyberneticist, issue 95). -- Don't round markings to prevent sub-pixel problems (reported by Dan - Lipsitt). -- Make the grid border act similarly to a regular CSS border, i.e. - prevent it from overlapping the plot itself. This also fixes a - problem with anti-aliasing when the width is 1 pixel (reported by - Anthony Ettinger). -- Imported version 3 of excanvas and fixed two issues with the newer - version. Hopefully, this will make Flot work with IE8 (nudge by - Fabien Menager, further analysis by Booink, issue 133). -- Changed the shadow code for lines to hopefully look a bit better - with vertical lines. -- Round tick positions to avoid possible problems with fractions - (suggestion by Fred, issue 130). -- Made the heuristic for determining how many ticks to aim for a bit - smarter. -- Fix for uneven axis margins (report and patch by Paul Kienzle) and - snapping to ticks (concurrent report and patch by lifthrasiir). -- Fixed bug with slicing in findNearbyItems (patch by zollman). -- Make heuristic for x axis label widths more dynamic (patch by - rickinhethuis). -- Make sure points on top take precedence when finding nearby points - when hovering (reported by didroe, issue 224). - -Flot 0.5 --------- - -Backwards API change summary: Timestamps are now in UTC. Also -"selected" event -> becomes "plotselected" with new data, the -parameters for setSelection are now different (but backwards -compatibility hooks are in place), coloredAreas becomes markings with -a new interface (but backwards compatibility hooks are in place). - - -Interactivity: added a new "plothover" event and this and the -"plotclick" event now returns the closest data item (based on patch by -/david, patch by Mark Byers for bar support). See the revamped -"interacting with the data" example for some hints on what you can do. - -Highlighting: you can now highlight points and datapoints are -autohighlighted when you hover over them (if hovering is turned on). - -Support for dual axis has been added (based on patch by someone who's -annoyed and /david). For each data series you can specify which axes -it belongs to, and there are two more axes, x2axis and y2axis, to -customize. This affects the "selected" event which has been renamed to -"plotselected" and spews out { xaxis: { from: -10, to: 20 } ... }, -setSelection in which the parameters are on a new form (backwards -compatible hooks are in place so old code shouldn't break) and -markings (formerly coloredAreas). - -Timestamps in time mode are now displayed according to -UTC instead of the time zone of the visitor. This affects the way the -timestamps should be input; you'll probably have to offset the -timestamps according to your local time zone. It also affects any -custom date handling code (which basically now should use the -equivalent UTC date mehods, e.g. .setUTCMonth() instead of -.setMonth(). - -Added support for specifying the size of tick labels (axis.labelWidth, -axis.labelHeight). Useful for specifying a max label size to keep -multiple plots aligned. - -Markings, previously coloredAreas, are now specified as ranges on the -axes, like { xaxis: { from: 0, to: 10 }}. Furthermore with markings -you can now draw horizontal/vertical lines by setting from and to to -the same coordinate (idea from line support patch by by Ryan Funduk). - -The "fill" option can now be a number that specifies the opacity of -the fill. - -You can now specify a coordinate as null (like [2, null]) and Flot -will take the other coordinate into account when scaling the axes -(based on patch by joebno). - -New option for bars "align". Set it to "center" to center the bars on -the value they represent. - -setSelection now takes a second parameter which you can use to prevent -the method from firing the "plotselected" handler. - -Using the "container" option in legend now overwrites the container -element instead of just appending to it (fixes infinite legend bug, -reported by several people, fix by Brad Dewey). - -Fixed a bug in calculating spacing around the plot (reported by -timothytoe). Fixed a bug in finding max values for all-negative data -sets. Prevent the possibility of eternal looping in tick calculations. -Fixed a bug when borderWidth is set to 0 (reported by -Rob/sanchothefat). Fixed a bug with drawing bars extending below 0 -(reported by James Hewitt, patch by Ryan Funduk). Fixed a -bug with line widths of bars (reported by MikeM). Fixed a bug with -'nw' and 'sw' legend positions. Improved the handling of axis -auto-scaling with bars. Fixed a bug with multi-line x-axis tick -labels (reported by Luca Ciano). IE-fix help by Savage Zhang. - - -Flot 0.4 --------- - -API changes: deprecated axis.noTicks in favor of just specifying the -number as axis.ticks. So "xaxis: { noTicks: 10 }" becomes -"xaxis: { ticks: 10 }" - -Time series support. Specify axis.mode: "time", put in Javascript -timestamps as data, and Flot will automatically spit out sensible -ticks. Take a look at the two new examples. The format can be -customized with axis.timeformat and axis.monthNames, or if that fails -with axis.tickFormatter. - -Support for colored background areas via grid.coloredAreas. Specify an -array of { x1, y1, x2, y2 } objects or a function that returns these -given { xmin, xmax, ymin, ymax }. - -More members on the plot object (report by Chris Davies and others). -"getData" for inspecting the assigned settings on data series (e.g. -color) and "setData", "setupGrid" and "draw" for updating the contents -without a total replot. - -The default number of ticks to aim for is now dependent on the size of -the plot in pixels. Support for customizing tick interval sizes -directly with axis.minTickSize and axis.tickSize. - -Cleaned up the automatic axis scaling algorithm and fixed how it -interacts with ticks. Also fixed a couple of tick-related corner case -bugs (one reported by mainstreetmark, another reported by timothytoe). - -The option axis.tickFormatter now takes a function with two -parameters, the second parameter is an optional object with -information about the axis. It has min, max, tickDecimals, tickSize. - -Added support for segmented lines (based on patch from Michael -MacDonald) and for ignoring null and bad values (suggestion from Nick -Konidaris and joshwaihi). - -Added support for changing the border width (joebno and safoo). -Label colors can be changed via CSS by selecting the tickLabel class. - -Fixed a bug in handling single-item bar series (reported by Emil -Filipov). Fixed erratic behaviour when interacting with the plot -with IE 7 (reported by Lau Bech Lauritzen). Prevent IE/Safari text -selection when selecting stuff on the canvas. - - - -Flot 0.3 --------- - -This is mostly a quick-fix release because jquery.js wasn't included -in the previous zip/tarball. - -Support clicking on the plot. Turn it on with grid: { clickable: true }, -then you get a "plotclick" event on the graph placeholder with the -position in units of the plot. - -Fixed a bug in dealing with data where min = max, thanks to Michael -Messinides. - -Include jquery.js in the zip/tarball. - - -Flot 0.2 --------- - -Added support for putting a background behind the default legend. The -default is the partly transparent background color. Added -backgroundColor and backgroundOpacity to the legend options to control -this. - -The ticks options can now be a callback function that takes one -parameter, an object with the attributes min and max. The function -should return a ticks array. - -Added labelFormatter option in legend, useful for turning the legend -labels into links. - -Fixed a couple of bugs. - -The API should now be fully documented. - -Patch from Guy Fraser to make parts of the code smaller. - -API changes: Moved labelMargin option to grid from x/yaxis. - - -Flot 0.1 --------- - -First public release. diff --git a/modules/lib/flot/PLUGINS.txt b/modules/lib/flot/PLUGINS.txt deleted file mode 100644 index af3d90b..0000000 --- a/modules/lib/flot/PLUGINS.txt +++ /dev/null @@ -1,137 +0,0 @@ -Writing plugins ---------------- - -All you need to do to make a new plugin is creating an init function -and a set of options (if needed), stuffing it into an object and -putting it in the $.plot.plugins array. For example: - - function myCoolPluginInit(plot) { - plot.coolstring = "Hello!"; - }; - - $.plot.plugins.push({ init: myCoolPluginInit, options: { ... } }); - - // if $.plot is called, it will return a plot object with the - // attribute "coolstring" - -Now, given that the plugin might run in many different places, it's -a good idea to avoid leaking names. The usual trick here is wrap the -above lines in an anonymous function which is called immediately, like -this: (function () { inner code ... })(). To make it even more robust -in case $ is not bound to jQuery but some other Javascript library, we -can write it as - - (function ($) { - // plugin definition - // ... - })(jQuery); - -There's a complete example below, but you should also check out the -plugins bundled with Flot. - - -Complete example ----------------- - -Here is a simple debug plugin which alerts each of the series in the -plot. It has a single option that control whether it is enabled and -how much info to output: - - (function ($) { - function init(plot) { - var debugLevel = 1; - - function checkDebugEnabled(plot, options) { - if (options.debug) { - debugLevel = options.debug; - - plot.hooks.processDatapoints.push(alertSeries); - } - } - - function alertSeries(plot, series, datapoints) { - var msg = "series " + series.label; - if (debugLevel > 1) - msg += " with " + series.data.length + " points"; - alert(msg); - } - - plot.hooks.processOptions.push(checkDebugEnabled); - } - - var options = { debug: 0 }; - - $.plot.plugins.push({ - init: init, - options: options, - name: "simpledebug", - version: "0.1" - }); - })(jQuery); - -We also define "name" and "version". It's not used by Flot, but might -be helpful for other plugins in resolving dependencies. - -Put the above in a file named "jquery.flot.debug.js", include it in an -HTML page and then it can be used with: - - $.plot($("#placeholder"), [...], { debug: 2 }); - -This simple plugin illustrates a couple of points: - - - It uses the anonymous function trick to avoid name pollution. - - It can be enabled/disabled through an option. - - Variables in the init function can be used to store plot-specific - state between the hooks. - -The two last points are important because there may be multiple plots -on the same page, and you'd want to make sure they are not mixed up. - - -Shutting down a plugin ----------------------- - -Each plot object has a shutdown hook which is run when plot.shutdown() -is called. This usually mostly happens in case another plot is made on -top of an existing one. - -The purpose of the hook is to give you a chance to unbind any event -handlers you've registered and remove any extra DOM things you've -inserted. - -The problem with event handlers is that you can have registered a -handler which is run in some point in the future, e.g. with -setTimeout(). Meanwhile, the plot may have been shutdown and removed, -but because your event handler is still referencing it, it can't be -garbage collected yet, and worse, if your handler eventually runs, it -may overwrite stuff on a completely different plot. - - -Some hints on the options -------------------------- - -Plugins should always support appropriate options to enable/disable -them because the plugin user may have several plots on the same page -where only one should use the plugin. In most cases it's probably a -good idea if the plugin is turned off rather than on per default, just -like most of the powerful features in Flot. - -If the plugin needs options that are specific to each series, like the -points or lines options in core Flot, you can put them in "series" in -the options object, e.g. - - var options = { - series: { - downsample: { - algorithm: null, - maxpoints: 1000 - } - } - } - -Then they will be copied by Flot into each series, providing default -values in case none are specified. - -Think hard and long about naming the options. These names are going to -be public API, and code is going to depend on them if the plugin is -successful. diff --git a/modules/lib/flot/README.txt b/modules/lib/flot/README.txt deleted file mode 100644 index 1e49787..0000000 --- a/modules/lib/flot/README.txt +++ /dev/null @@ -1,90 +0,0 @@ -About ------ - -Flot is a Javascript plotting library for jQuery. Read more at the -website: - - http://code.google.com/p/flot/ - -Take a look at the examples linked from above, they should give a good -impression of what Flot can do and the source code of the examples is -probably the fastest way to learn how to use Flot. - - -Installation ------------- - -Just include the Javascript file after you've included jQuery. - -Generally, all browsers that support the HTML5 canvas tag are -supported. - -For support for Internet Explorer < 9, you can use Excanvas, a canvas -emulator; this is used in the examples bundled with Flot. You just -include the excanvas script like this: - - - -If it's not working on your development IE 6.0, check that it has -support for VML which Excanvas is relying on. It appears that some -stripped down versions used for test environments on virtual machines -lack the VML support. - -You can also try using Flashcanvas (see -http://code.google.com/p/flashcanvas/), which uses Flash to do the -emulation. Although Flash can be a bit slower to load than VML, if -you've got a lot of points, the Flash version can be much faster -overall. Flot contains some wrapper code for activating Excanvas which -Flashcanvas is compatible with. - -You need at least jQuery 1.2.6, but try at least 1.3.2 for interactive -charts because of performance improvements in event handling. - - -Basic usage ------------ - -Create a placeholder div to put the graph in: - -
            - -You need to set the width and height of this div, otherwise the plot -library doesn't know how to scale the graph. You can do it inline like -this: - -
            - -You can also do it with an external stylesheet. Make sure that the -placeholder isn't within something with a display:none CSS property - -in that case, Flot has trouble measuring label dimensions which -results in garbled looks and might have trouble measuring the -placeholder dimensions which is fatal (it'll throw an exception). - -Then when the div is ready in the DOM, which is usually on document -ready, run the plot function: - - $.plot($("#placeholder"), data, options); - -Here, data is an array of data series and options is an object with -settings if you want to customize the plot. Take a look at the -examples for some ideas of what to put in or look at the reference -in the file "API.txt". Here's a quick example that'll draw a line from -(0, 0) to (1, 1): - - $.plot($("#placeholder"), [ [[0, 0], [1, 1]] ], { yaxis: { max: 1 } }); - -The plot function immediately draws the chart and then returns a plot -object with a couple of methods. - - -What's with the name? ---------------------- - -First: it's pronounced with a short o, like "plot". Not like "flawed". - -So "Flot" rhymes with "plot". - -And if you look up "flot" in a Danish-to-English dictionary, some up -the words that come up are "good-looking", "attractive", "stylish", -"smart", "impressive", "extravagant". One of the main goals with Flot -is pretty looks. diff --git a/modules/lib/flot/excanvas.js b/modules/lib/flot/excanvas.js deleted file mode 100644 index c40d6f7..0000000 --- a/modules/lib/flot/excanvas.js +++ /dev/null @@ -1,1427 +0,0 @@ -// Copyright 2006 Google Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - - -// Known Issues: -// -// * Patterns only support repeat. -// * Radial gradient are not implemented. The VML version of these look very -// different from the canvas one. -// * Clipping paths are not implemented. -// * Coordsize. The width and height attribute have higher priority than the -// width and height style values which isn't correct. -// * Painting mode isn't implemented. -// * Canvas width/height should is using content-box by default. IE in -// Quirks mode will draw the canvas using border-box. Either change your -// doctype to HTML5 -// (http://www.whatwg.org/specs/web-apps/current-work/#the-doctype) -// or use Box Sizing Behavior from WebFX -// (http://webfx.eae.net/dhtml/boxsizing/boxsizing.html) -// * Non uniform scaling does not correctly scale strokes. -// * Filling very large shapes (above 5000 points) is buggy. -// * Optimize. There is always room for speed improvements. - -// Only add this code if we do not already have a canvas implementation -if (!document.createElement('canvas').getContext) { - -(function() { - - // alias some functions to make (compiled) code shorter - var m = Math; - var mr = m.round; - var ms = m.sin; - var mc = m.cos; - var abs = m.abs; - var sqrt = m.sqrt; - - // this is used for sub pixel precision - var Z = 10; - var Z2 = Z / 2; - - /** - * This funtion is assigned to the elements as element.getContext(). - * @this {HTMLElement} - * @return {CanvasRenderingContext2D_} - */ - function getContext() { - return this.context_ || - (this.context_ = new CanvasRenderingContext2D_(this)); - } - - var slice = Array.prototype.slice; - - /** - * Binds a function to an object. The returned function will always use the - * passed in {@code obj} as {@code this}. - * - * Example: - * - * g = bind(f, obj, a, b) - * g(c, d) // will do f.call(obj, a, b, c, d) - * - * @param {Function} f The function to bind the object to - * @param {Object} obj The object that should act as this when the function - * is called - * @param {*} var_args Rest arguments that will be used as the initial - * arguments when the function is called - * @return {Function} A new function that has bound this - */ - function bind(f, obj, var_args) { - var a = slice.call(arguments, 2); - return function() { - return f.apply(obj, a.concat(slice.call(arguments))); - }; - } - - function encodeHtmlAttribute(s) { - return String(s).replace(/&/g, '&').replace(/"/g, '"'); - } - - function addNamespacesAndStylesheet(doc) { - // create xmlns - if (!doc.namespaces['g_vml_']) { - doc.namespaces.add('g_vml_', 'urn:schemas-microsoft-com:vml', - '#default#VML'); - - } - if (!doc.namespaces['g_o_']) { - doc.namespaces.add('g_o_', 'urn:schemas-microsoft-com:office:office', - '#default#VML'); - } - - // Setup default CSS. Only add one style sheet per document - if (!doc.styleSheets['ex_canvas_']) { - var ss = doc.createStyleSheet(); - ss.owningElement.id = 'ex_canvas_'; - ss.cssText = 'canvas{display:inline-block;overflow:hidden;' + - // default size is 300x150 in Gecko and Opera - 'text-align:left;width:300px;height:150px}'; - } - } - - // Add namespaces and stylesheet at startup. - addNamespacesAndStylesheet(document); - - var G_vmlCanvasManager_ = { - init: function(opt_doc) { - if (/MSIE/.test(navigator.userAgent) && !window.opera) { - var doc = opt_doc || document; - // Create a dummy element so that IE will allow canvas elements to be - // recognized. - doc.createElement('canvas'); - doc.attachEvent('onreadystatechange', bind(this.init_, this, doc)); - } - }, - - init_: function(doc) { - // find all canvas elements - var els = doc.getElementsByTagName('canvas'); - for (var i = 0; i < els.length; i++) { - this.initElement(els[i]); - } - }, - - /** - * Public initializes a canvas element so that it can be used as canvas - * element from now on. This is called automatically before the page is - * loaded but if you are creating elements using createElement you need to - * make sure this is called on the element. - * @param {HTMLElement} el The canvas element to initialize. - * @return {HTMLElement} the element that was created. - */ - initElement: function(el) { - if (!el.getContext) { - el.getContext = getContext; - - // Add namespaces and stylesheet to document of the element. - addNamespacesAndStylesheet(el.ownerDocument); - - // Remove fallback content. There is no way to hide text nodes so we - // just remove all childNodes. We could hide all elements and remove - // text nodes but who really cares about the fallback content. - el.innerHTML = ''; - - // do not use inline function because that will leak memory - el.attachEvent('onpropertychange', onPropertyChange); - el.attachEvent('onresize', onResize); - - var attrs = el.attributes; - if (attrs.width && attrs.width.specified) { - // TODO: use runtimeStyle and coordsize - // el.getContext().setWidth_(attrs.width.nodeValue); - el.style.width = attrs.width.nodeValue + 'px'; - } else { - el.width = el.clientWidth; - } - if (attrs.height && attrs.height.specified) { - // TODO: use runtimeStyle and coordsize - // el.getContext().setHeight_(attrs.height.nodeValue); - el.style.height = attrs.height.nodeValue + 'px'; - } else { - el.height = el.clientHeight; - } - //el.getContext().setCoordsize_() - } - return el; - } - }; - - function onPropertyChange(e) { - var el = e.srcElement; - - switch (e.propertyName) { - case 'width': - el.getContext().clearRect(); - el.style.width = el.attributes.width.nodeValue + 'px'; - // In IE8 this does not trigger onresize. - el.firstChild.style.width = el.clientWidth + 'px'; - break; - case 'height': - el.getContext().clearRect(); - el.style.height = el.attributes.height.nodeValue + 'px'; - el.firstChild.style.height = el.clientHeight + 'px'; - break; - } - } - - function onResize(e) { - var el = e.srcElement; - if (el.firstChild) { - el.firstChild.style.width = el.clientWidth + 'px'; - el.firstChild.style.height = el.clientHeight + 'px'; - } - } - - G_vmlCanvasManager_.init(); - - // precompute "00" to "FF" - var decToHex = []; - for (var i = 0; i < 16; i++) { - for (var j = 0; j < 16; j++) { - decToHex[i * 16 + j] = i.toString(16) + j.toString(16); - } - } - - function createMatrixIdentity() { - return [ - [1, 0, 0], - [0, 1, 0], - [0, 0, 1] - ]; - } - - function matrixMultiply(m1, m2) { - var result = createMatrixIdentity(); - - for (var x = 0; x < 3; x++) { - for (var y = 0; y < 3; y++) { - var sum = 0; - - for (var z = 0; z < 3; z++) { - sum += m1[x][z] * m2[z][y]; - } - - result[x][y] = sum; - } - } - return result; - } - - function copyState(o1, o2) { - o2.fillStyle = o1.fillStyle; - o2.lineCap = o1.lineCap; - o2.lineJoin = o1.lineJoin; - o2.lineWidth = o1.lineWidth; - o2.miterLimit = o1.miterLimit; - o2.shadowBlur = o1.shadowBlur; - o2.shadowColor = o1.shadowColor; - o2.shadowOffsetX = o1.shadowOffsetX; - o2.shadowOffsetY = o1.shadowOffsetY; - o2.strokeStyle = o1.strokeStyle; - o2.globalAlpha = o1.globalAlpha; - o2.font = o1.font; - o2.textAlign = o1.textAlign; - o2.textBaseline = o1.textBaseline; - o2.arcScaleX_ = o1.arcScaleX_; - o2.arcScaleY_ = o1.arcScaleY_; - o2.lineScale_ = o1.lineScale_; - } - - var colorData = { - aliceblue: '#F0F8FF', - antiquewhite: '#FAEBD7', - aquamarine: '#7FFFD4', - azure: '#F0FFFF', - beige: '#F5F5DC', - bisque: '#FFE4C4', - black: '#000000', - blanchedalmond: '#FFEBCD', - blueviolet: '#8A2BE2', - brown: '#A52A2A', - burlywood: '#DEB887', - cadetblue: '#5F9EA0', - chartreuse: '#7FFF00', - chocolate: '#D2691E', - coral: '#FF7F50', - cornflowerblue: '#6495ED', - cornsilk: '#FFF8DC', - crimson: '#DC143C', - cyan: '#00FFFF', - darkblue: '#00008B', - darkcyan: '#008B8B', - darkgoldenrod: '#B8860B', - darkgray: '#A9A9A9', - darkgreen: '#006400', - darkgrey: '#A9A9A9', - darkkhaki: '#BDB76B', - darkmagenta: '#8B008B', - darkolivegreen: '#556B2F', - darkorange: '#FF8C00', - darkorchid: '#9932CC', - darkred: '#8B0000', - darksalmon: '#E9967A', - darkseagreen: '#8FBC8F', - darkslateblue: '#483D8B', - darkslategray: '#2F4F4F', - darkslategrey: '#2F4F4F', - darkturquoise: '#00CED1', - darkviolet: '#9400D3', - deeppink: '#FF1493', - deepskyblue: '#00BFFF', - dimgray: '#696969', - dimgrey: '#696969', - dodgerblue: '#1E90FF', - firebrick: '#B22222', - floralwhite: '#FFFAF0', - forestgreen: '#228B22', - gainsboro: '#DCDCDC', - ghostwhite: '#F8F8FF', - gold: '#FFD700', - goldenrod: '#DAA520', - grey: '#808080', - greenyellow: '#ADFF2F', - honeydew: '#F0FFF0', - hotpink: '#FF69B4', - indianred: '#CD5C5C', - indigo: '#4B0082', - ivory: '#FFFFF0', - khaki: '#F0E68C', - lavender: '#E6E6FA', - lavenderblush: '#FFF0F5', - lawngreen: '#7CFC00', - lemonchiffon: '#FFFACD', - lightblue: '#ADD8E6', - lightcoral: '#F08080', - lightcyan: '#E0FFFF', - lightgoldenrodyellow: '#FAFAD2', - lightgreen: '#90EE90', - lightgrey: '#D3D3D3', - lightpink: '#FFB6C1', - lightsalmon: '#FFA07A', - lightseagreen: '#20B2AA', - lightskyblue: '#87CEFA', - lightslategray: '#778899', - lightslategrey: '#778899', - lightsteelblue: '#B0C4DE', - lightyellow: '#FFFFE0', - limegreen: '#32CD32', - linen: '#FAF0E6', - magenta: '#FF00FF', - mediumaquamarine: '#66CDAA', - mediumblue: '#0000CD', - mediumorchid: '#BA55D3', - mediumpurple: '#9370DB', - mediumseagreen: '#3CB371', - mediumslateblue: '#7B68EE', - mediumspringgreen: '#00FA9A', - mediumturquoise: '#48D1CC', - mediumvioletred: '#C71585', - midnightblue: '#191970', - mintcream: '#F5FFFA', - mistyrose: '#FFE4E1', - moccasin: '#FFE4B5', - navajowhite: '#FFDEAD', - oldlace: '#FDF5E6', - olivedrab: '#6B8E23', - orange: '#FFA500', - orangered: '#FF4500', - orchid: '#DA70D6', - palegoldenrod: '#EEE8AA', - palegreen: '#98FB98', - paleturquoise: '#AFEEEE', - palevioletred: '#DB7093', - papayawhip: '#FFEFD5', - peachpuff: '#FFDAB9', - peru: '#CD853F', - pink: '#FFC0CB', - plum: '#DDA0DD', - powderblue: '#B0E0E6', - rosybrown: '#BC8F8F', - royalblue: '#4169E1', - saddlebrown: '#8B4513', - salmon: '#FA8072', - sandybrown: '#F4A460', - seagreen: '#2E8B57', - seashell: '#FFF5EE', - sienna: '#A0522D', - skyblue: '#87CEEB', - slateblue: '#6A5ACD', - slategray: '#708090', - slategrey: '#708090', - snow: '#FFFAFA', - springgreen: '#00FF7F', - steelblue: '#4682B4', - tan: '#D2B48C', - thistle: '#D8BFD8', - tomato: '#FF6347', - turquoise: '#40E0D0', - violet: '#EE82EE', - wheat: '#F5DEB3', - whitesmoke: '#F5F5F5', - yellowgreen: '#9ACD32' - }; - - - function getRgbHslContent(styleString) { - var start = styleString.indexOf('(', 3); - var end = styleString.indexOf(')', start + 1); - var parts = styleString.substring(start + 1, end).split(','); - // add alpha if needed - if (parts.length == 4 && styleString.substr(3, 1) == 'a') { - alpha = Number(parts[3]); - } else { - parts[3] = 1; - } - return parts; - } - - function percent(s) { - return parseFloat(s) / 100; - } - - function clamp(v, min, max) { - return Math.min(max, Math.max(min, v)); - } - - function hslToRgb(parts){ - var r, g, b; - h = parseFloat(parts[0]) / 360 % 360; - if (h < 0) - h++; - s = clamp(percent(parts[1]), 0, 1); - l = clamp(percent(parts[2]), 0, 1); - if (s == 0) { - r = g = b = l; // achromatic - } else { - var q = l < 0.5 ? l * (1 + s) : l + s - l * s; - var p = 2 * l - q; - r = hueToRgb(p, q, h + 1 / 3); - g = hueToRgb(p, q, h); - b = hueToRgb(p, q, h - 1 / 3); - } - - return '#' + decToHex[Math.floor(r * 255)] + - decToHex[Math.floor(g * 255)] + - decToHex[Math.floor(b * 255)]; - } - - function hueToRgb(m1, m2, h) { - if (h < 0) - h++; - if (h > 1) - h--; - - if (6 * h < 1) - return m1 + (m2 - m1) * 6 * h; - else if (2 * h < 1) - return m2; - else if (3 * h < 2) - return m1 + (m2 - m1) * (2 / 3 - h) * 6; - else - return m1; - } - - function processStyle(styleString) { - var str, alpha = 1; - - styleString = String(styleString); - if (styleString.charAt(0) == '#') { - str = styleString; - } else if (/^rgb/.test(styleString)) { - var parts = getRgbHslContent(styleString); - var str = '#', n; - for (var i = 0; i < 3; i++) { - if (parts[i].indexOf('%') != -1) { - n = Math.floor(percent(parts[i]) * 255); - } else { - n = Number(parts[i]); - } - str += decToHex[clamp(n, 0, 255)]; - } - alpha = parts[3]; - } else if (/^hsl/.test(styleString)) { - var parts = getRgbHslContent(styleString); - str = hslToRgb(parts); - alpha = parts[3]; - } else { - str = colorData[styleString] || styleString; - } - return {color: str, alpha: alpha}; - } - - var DEFAULT_STYLE = { - style: 'normal', - variant: 'normal', - weight: 'normal', - size: 10, - family: 'sans-serif' - }; - - // Internal text style cache - var fontStyleCache = {}; - - function processFontStyle(styleString) { - if (fontStyleCache[styleString]) { - return fontStyleCache[styleString]; - } - - var el = document.createElement('div'); - var style = el.style; - try { - style.font = styleString; - } catch (ex) { - // Ignore failures to set to invalid font. - } - - return fontStyleCache[styleString] = { - style: style.fontStyle || DEFAULT_STYLE.style, - variant: style.fontVariant || DEFAULT_STYLE.variant, - weight: style.fontWeight || DEFAULT_STYLE.weight, - size: style.fontSize || DEFAULT_STYLE.size, - family: style.fontFamily || DEFAULT_STYLE.family - }; - } - - function getComputedStyle(style, element) { - var computedStyle = {}; - - for (var p in style) { - computedStyle[p] = style[p]; - } - - // Compute the size - var canvasFontSize = parseFloat(element.currentStyle.fontSize), - fontSize = parseFloat(style.size); - - if (typeof style.size == 'number') { - computedStyle.size = style.size; - } else if (style.size.indexOf('px') != -1) { - computedStyle.size = fontSize; - } else if (style.size.indexOf('em') != -1) { - computedStyle.size = canvasFontSize * fontSize; - } else if(style.size.indexOf('%') != -1) { - computedStyle.size = (canvasFontSize / 100) * fontSize; - } else if (style.size.indexOf('pt') != -1) { - computedStyle.size = fontSize / .75; - } else { - computedStyle.size = canvasFontSize; - } - - // Different scaling between normal text and VML text. This was found using - // trial and error to get the same size as non VML text. - computedStyle.size *= 0.981; - - return computedStyle; - } - - function buildStyle(style) { - return style.style + ' ' + style.variant + ' ' + style.weight + ' ' + - style.size + 'px ' + style.family; - } - - function processLineCap(lineCap) { - switch (lineCap) { - case 'butt': - return 'flat'; - case 'round': - return 'round'; - case 'square': - default: - return 'square'; - } - } - - /** - * This class implements CanvasRenderingContext2D interface as described by - * the WHATWG. - * @param {HTMLElement} surfaceElement The element that the 2D context should - * be associated with - */ - function CanvasRenderingContext2D_(surfaceElement) { - this.m_ = createMatrixIdentity(); - - this.mStack_ = []; - this.aStack_ = []; - this.currentPath_ = []; - - // Canvas context properties - this.strokeStyle = '#000'; - this.fillStyle = '#000'; - - this.lineWidth = 1; - this.lineJoin = 'miter'; - this.lineCap = 'butt'; - this.miterLimit = Z * 1; - this.globalAlpha = 1; - this.font = '10px sans-serif'; - this.textAlign = 'left'; - this.textBaseline = 'alphabetic'; - this.canvas = surfaceElement; - - var el = surfaceElement.ownerDocument.createElement('div'); - el.style.width = surfaceElement.clientWidth + 'px'; - el.style.height = surfaceElement.clientHeight + 'px'; - el.style.overflow = 'hidden'; - el.style.position = 'absolute'; - surfaceElement.appendChild(el); - - this.element_ = el; - this.arcScaleX_ = 1; - this.arcScaleY_ = 1; - this.lineScale_ = 1; - } - - var contextPrototype = CanvasRenderingContext2D_.prototype; - contextPrototype.clearRect = function() { - if (this.textMeasureEl_) { - this.textMeasureEl_.removeNode(true); - this.textMeasureEl_ = null; - } - this.element_.innerHTML = ''; - }; - - contextPrototype.beginPath = function() { - // TODO: Branch current matrix so that save/restore has no effect - // as per safari docs. - this.currentPath_ = []; - }; - - contextPrototype.moveTo = function(aX, aY) { - var p = this.getCoords_(aX, aY); - this.currentPath_.push({type: 'moveTo', x: p.x, y: p.y}); - this.currentX_ = p.x; - this.currentY_ = p.y; - }; - - contextPrototype.lineTo = function(aX, aY) { - var p = this.getCoords_(aX, aY); - this.currentPath_.push({type: 'lineTo', x: p.x, y: p.y}); - - this.currentX_ = p.x; - this.currentY_ = p.y; - }; - - contextPrototype.bezierCurveTo = function(aCP1x, aCP1y, - aCP2x, aCP2y, - aX, aY) { - var p = this.getCoords_(aX, aY); - var cp1 = this.getCoords_(aCP1x, aCP1y); - var cp2 = this.getCoords_(aCP2x, aCP2y); - bezierCurveTo(this, cp1, cp2, p); - }; - - // Helper function that takes the already fixed cordinates. - function bezierCurveTo(self, cp1, cp2, p) { - self.currentPath_.push({ - type: 'bezierCurveTo', - cp1x: cp1.x, - cp1y: cp1.y, - cp2x: cp2.x, - cp2y: cp2.y, - x: p.x, - y: p.y - }); - self.currentX_ = p.x; - self.currentY_ = p.y; - } - - contextPrototype.quadraticCurveTo = function(aCPx, aCPy, aX, aY) { - // the following is lifted almost directly from - // http://developer.mozilla.org/en/docs/Canvas_tutorial:Drawing_shapes - - var cp = this.getCoords_(aCPx, aCPy); - var p = this.getCoords_(aX, aY); - - var cp1 = { - x: this.currentX_ + 2.0 / 3.0 * (cp.x - this.currentX_), - y: this.currentY_ + 2.0 / 3.0 * (cp.y - this.currentY_) - }; - var cp2 = { - x: cp1.x + (p.x - this.currentX_) / 3.0, - y: cp1.y + (p.y - this.currentY_) / 3.0 - }; - - bezierCurveTo(this, cp1, cp2, p); - }; - - contextPrototype.arc = function(aX, aY, aRadius, - aStartAngle, aEndAngle, aClockwise) { - aRadius *= Z; - var arcType = aClockwise ? 'at' : 'wa'; - - var xStart = aX + mc(aStartAngle) * aRadius - Z2; - var yStart = aY + ms(aStartAngle) * aRadius - Z2; - - var xEnd = aX + mc(aEndAngle) * aRadius - Z2; - var yEnd = aY + ms(aEndAngle) * aRadius - Z2; - - // IE won't render arches drawn counter clockwise if xStart == xEnd. - if (xStart == xEnd && !aClockwise) { - xStart += 0.125; // Offset xStart by 1/80 of a pixel. Use something - // that can be represented in binary - } - - var p = this.getCoords_(aX, aY); - var pStart = this.getCoords_(xStart, yStart); - var pEnd = this.getCoords_(xEnd, yEnd); - - this.currentPath_.push({type: arcType, - x: p.x, - y: p.y, - radius: aRadius, - xStart: pStart.x, - yStart: pStart.y, - xEnd: pEnd.x, - yEnd: pEnd.y}); - - }; - - contextPrototype.rect = function(aX, aY, aWidth, aHeight) { - this.moveTo(aX, aY); - this.lineTo(aX + aWidth, aY); - this.lineTo(aX + aWidth, aY + aHeight); - this.lineTo(aX, aY + aHeight); - this.closePath(); - }; - - contextPrototype.strokeRect = function(aX, aY, aWidth, aHeight) { - var oldPath = this.currentPath_; - this.beginPath(); - - this.moveTo(aX, aY); - this.lineTo(aX + aWidth, aY); - this.lineTo(aX + aWidth, aY + aHeight); - this.lineTo(aX, aY + aHeight); - this.closePath(); - this.stroke(); - - this.currentPath_ = oldPath; - }; - - contextPrototype.fillRect = function(aX, aY, aWidth, aHeight) { - var oldPath = this.currentPath_; - this.beginPath(); - - this.moveTo(aX, aY); - this.lineTo(aX + aWidth, aY); - this.lineTo(aX + aWidth, aY + aHeight); - this.lineTo(aX, aY + aHeight); - this.closePath(); - this.fill(); - - this.currentPath_ = oldPath; - }; - - contextPrototype.createLinearGradient = function(aX0, aY0, aX1, aY1) { - var gradient = new CanvasGradient_('gradient'); - gradient.x0_ = aX0; - gradient.y0_ = aY0; - gradient.x1_ = aX1; - gradient.y1_ = aY1; - return gradient; - }; - - contextPrototype.createRadialGradient = function(aX0, aY0, aR0, - aX1, aY1, aR1) { - var gradient = new CanvasGradient_('gradientradial'); - gradient.x0_ = aX0; - gradient.y0_ = aY0; - gradient.r0_ = aR0; - gradient.x1_ = aX1; - gradient.y1_ = aY1; - gradient.r1_ = aR1; - return gradient; - }; - - contextPrototype.drawImage = function(image, var_args) { - var dx, dy, dw, dh, sx, sy, sw, sh; - - // to find the original width we overide the width and height - var oldRuntimeWidth = image.runtimeStyle.width; - var oldRuntimeHeight = image.runtimeStyle.height; - image.runtimeStyle.width = 'auto'; - image.runtimeStyle.height = 'auto'; - - // get the original size - var w = image.width; - var h = image.height; - - // and remove overides - image.runtimeStyle.width = oldRuntimeWidth; - image.runtimeStyle.height = oldRuntimeHeight; - - if (arguments.length == 3) { - dx = arguments[1]; - dy = arguments[2]; - sx = sy = 0; - sw = dw = w; - sh = dh = h; - } else if (arguments.length == 5) { - dx = arguments[1]; - dy = arguments[2]; - dw = arguments[3]; - dh = arguments[4]; - sx = sy = 0; - sw = w; - sh = h; - } else if (arguments.length == 9) { - sx = arguments[1]; - sy = arguments[2]; - sw = arguments[3]; - sh = arguments[4]; - dx = arguments[5]; - dy = arguments[6]; - dw = arguments[7]; - dh = arguments[8]; - } else { - throw Error('Invalid number of arguments'); - } - - var d = this.getCoords_(dx, dy); - - var w2 = sw / 2; - var h2 = sh / 2; - - var vmlStr = []; - - var W = 10; - var H = 10; - - // For some reason that I've now forgotten, using divs didn't work - vmlStr.push(' ' , - '', - ''); - - this.element_.insertAdjacentHTML('BeforeEnd', vmlStr.join('')); - }; - - contextPrototype.stroke = function(aFill) { - var W = 10; - var H = 10; - // Divide the shape into chunks if it's too long because IE has a limit - // somewhere for how long a VML shape can be. This simple division does - // not work with fills, only strokes, unfortunately. - var chunkSize = 5000; - - var min = {x: null, y: null}; - var max = {x: null, y: null}; - - for (var j = 0; j < this.currentPath_.length; j += chunkSize) { - var lineStr = []; - var lineOpen = false; - - lineStr.push(''); - - if (!aFill) { - appendStroke(this, lineStr); - } else { - appendFill(this, lineStr, min, max); - } - - lineStr.push(''); - - this.element_.insertAdjacentHTML('beforeEnd', lineStr.join('')); - } - }; - - function appendStroke(ctx, lineStr) { - var a = processStyle(ctx.strokeStyle); - var color = a.color; - var opacity = a.alpha * ctx.globalAlpha; - var lineWidth = ctx.lineScale_ * ctx.lineWidth; - - // VML cannot correctly render a line if the width is less than 1px. - // In that case, we dilute the color to make the line look thinner. - if (lineWidth < 1) { - opacity *= lineWidth; - } - - lineStr.push( - '' - ); - } - - function appendFill(ctx, lineStr, min, max) { - var fillStyle = ctx.fillStyle; - var arcScaleX = ctx.arcScaleX_; - var arcScaleY = ctx.arcScaleY_; - var width = max.x - min.x; - var height = max.y - min.y; - if (fillStyle instanceof CanvasGradient_) { - // TODO: Gradients transformed with the transformation matrix. - var angle = 0; - var focus = {x: 0, y: 0}; - - // additional offset - var shift = 0; - // scale factor for offset - var expansion = 1; - - if (fillStyle.type_ == 'gradient') { - var x0 = fillStyle.x0_ / arcScaleX; - var y0 = fillStyle.y0_ / arcScaleY; - var x1 = fillStyle.x1_ / arcScaleX; - var y1 = fillStyle.y1_ / arcScaleY; - var p0 = ctx.getCoords_(x0, y0); - var p1 = ctx.getCoords_(x1, y1); - var dx = p1.x - p0.x; - var dy = p1.y - p0.y; - angle = Math.atan2(dx, dy) * 180 / Math.PI; - - // The angle should be a non-negative number. - if (angle < 0) { - angle += 360; - } - - // Very small angles produce an unexpected result because they are - // converted to a scientific notation string. - if (angle < 1e-6) { - angle = 0; - } - } else { - var p0 = ctx.getCoords_(fillStyle.x0_, fillStyle.y0_); - focus = { - x: (p0.x - min.x) / width, - y: (p0.y - min.y) / height - }; - - width /= arcScaleX * Z; - height /= arcScaleY * Z; - var dimension = m.max(width, height); - shift = 2 * fillStyle.r0_ / dimension; - expansion = 2 * fillStyle.r1_ / dimension - shift; - } - - // We need to sort the color stops in ascending order by offset, - // otherwise IE won't interpret it correctly. - var stops = fillStyle.colors_; - stops.sort(function(cs1, cs2) { - return cs1.offset - cs2.offset; - }); - - var length = stops.length; - var color1 = stops[0].color; - var color2 = stops[length - 1].color; - var opacity1 = stops[0].alpha * ctx.globalAlpha; - var opacity2 = stops[length - 1].alpha * ctx.globalAlpha; - - var colors = []; - for (var i = 0; i < length; i++) { - var stop = stops[i]; - colors.push(stop.offset * expansion + shift + ' ' + stop.color); - } - - // When colors attribute is used, the meanings of opacity and o:opacity2 - // are reversed. - lineStr.push(''); - } else if (fillStyle instanceof CanvasPattern_) { - if (width && height) { - var deltaLeft = -min.x; - var deltaTop = -min.y; - lineStr.push(''); - } - } else { - var a = processStyle(ctx.fillStyle); - var color = a.color; - var opacity = a.alpha * ctx.globalAlpha; - lineStr.push(''); - } - } - - contextPrototype.fill = function() { - this.stroke(true); - }; - - contextPrototype.closePath = function() { - this.currentPath_.push({type: 'close'}); - }; - - /** - * @private - */ - contextPrototype.getCoords_ = function(aX, aY) { - var m = this.m_; - return { - x: Z * (aX * m[0][0] + aY * m[1][0] + m[2][0]) - Z2, - y: Z * (aX * m[0][1] + aY * m[1][1] + m[2][1]) - Z2 - }; - }; - - contextPrototype.save = function() { - var o = {}; - copyState(this, o); - this.aStack_.push(o); - this.mStack_.push(this.m_); - this.m_ = matrixMultiply(createMatrixIdentity(), this.m_); - }; - - contextPrototype.restore = function() { - if (this.aStack_.length) { - copyState(this.aStack_.pop(), this); - this.m_ = this.mStack_.pop(); - } - }; - - function matrixIsFinite(m) { - return isFinite(m[0][0]) && isFinite(m[0][1]) && - isFinite(m[1][0]) && isFinite(m[1][1]) && - isFinite(m[2][0]) && isFinite(m[2][1]); - } - - function setM(ctx, m, updateLineScale) { - if (!matrixIsFinite(m)) { - return; - } - ctx.m_ = m; - - if (updateLineScale) { - // Get the line scale. - // Determinant of this.m_ means how much the area is enlarged by the - // transformation. So its square root can be used as a scale factor - // for width. - var det = m[0][0] * m[1][1] - m[0][1] * m[1][0]; - ctx.lineScale_ = sqrt(abs(det)); - } - } - - contextPrototype.translate = function(aX, aY) { - var m1 = [ - [1, 0, 0], - [0, 1, 0], - [aX, aY, 1] - ]; - - setM(this, matrixMultiply(m1, this.m_), false); - }; - - contextPrototype.rotate = function(aRot) { - var c = mc(aRot); - var s = ms(aRot); - - var m1 = [ - [c, s, 0], - [-s, c, 0], - [0, 0, 1] - ]; - - setM(this, matrixMultiply(m1, this.m_), false); - }; - - contextPrototype.scale = function(aX, aY) { - this.arcScaleX_ *= aX; - this.arcScaleY_ *= aY; - var m1 = [ - [aX, 0, 0], - [0, aY, 0], - [0, 0, 1] - ]; - - setM(this, matrixMultiply(m1, this.m_), true); - }; - - contextPrototype.transform = function(m11, m12, m21, m22, dx, dy) { - var m1 = [ - [m11, m12, 0], - [m21, m22, 0], - [dx, dy, 1] - ]; - - setM(this, matrixMultiply(m1, this.m_), true); - }; - - contextPrototype.setTransform = function(m11, m12, m21, m22, dx, dy) { - var m = [ - [m11, m12, 0], - [m21, m22, 0], - [dx, dy, 1] - ]; - - setM(this, m, true); - }; - - /** - * The text drawing function. - * The maxWidth argument isn't taken in account, since no browser supports - * it yet. - */ - contextPrototype.drawText_ = function(text, x, y, maxWidth, stroke) { - var m = this.m_, - delta = 1000, - left = 0, - right = delta, - offset = {x: 0, y: 0}, - lineStr = []; - - var fontStyle = getComputedStyle(processFontStyle(this.font), - this.element_); - - var fontStyleString = buildStyle(fontStyle); - - var elementStyle = this.element_.currentStyle; - var textAlign = this.textAlign.toLowerCase(); - switch (textAlign) { - case 'left': - case 'center': - case 'right': - break; - case 'end': - textAlign = elementStyle.direction == 'ltr' ? 'right' : 'left'; - break; - case 'start': - textAlign = elementStyle.direction == 'rtl' ? 'right' : 'left'; - break; - default: - textAlign = 'left'; - } - - // 1.75 is an arbitrary number, as there is no info about the text baseline - switch (this.textBaseline) { - case 'hanging': - case 'top': - offset.y = fontStyle.size / 1.75; - break; - case 'middle': - break; - default: - case null: - case 'alphabetic': - case 'ideographic': - case 'bottom': - offset.y = -fontStyle.size / 2.25; - break; - } - - switch(textAlign) { - case 'right': - left = delta; - right = 0.05; - break; - case 'center': - left = right = delta / 2; - break; - } - - var d = this.getCoords_(x + offset.x, y + offset.y); - - lineStr.push(''); - - if (stroke) { - appendStroke(this, lineStr); - } else { - // TODO: Fix the min and max params. - appendFill(this, lineStr, {x: -left, y: 0}, - {x: right, y: fontStyle.size}); - } - - var skewM = m[0][0].toFixed(3) + ',' + m[1][0].toFixed(3) + ',' + - m[0][1].toFixed(3) + ',' + m[1][1].toFixed(3) + ',0,0'; - - var skewOffset = mr(d.x / Z) + ',' + mr(d.y / Z); - - lineStr.push('', - '', - ''); - - this.element_.insertAdjacentHTML('beforeEnd', lineStr.join('')); - }; - - contextPrototype.fillText = function(text, x, y, maxWidth) { - this.drawText_(text, x, y, maxWidth, false); - }; - - contextPrototype.strokeText = function(text, x, y, maxWidth) { - this.drawText_(text, x, y, maxWidth, true); - }; - - contextPrototype.measureText = function(text) { - if (!this.textMeasureEl_) { - var s = ''; - this.element_.insertAdjacentHTML('beforeEnd', s); - this.textMeasureEl_ = this.element_.lastChild; - } - var doc = this.element_.ownerDocument; - this.textMeasureEl_.innerHTML = ''; - this.textMeasureEl_.style.font = this.font; - // Don't use innerHTML or innerText because they allow markup/whitespace. - this.textMeasureEl_.appendChild(doc.createTextNode(text)); - return {width: this.textMeasureEl_.offsetWidth}; - }; - - /******** STUBS ********/ - contextPrototype.clip = function() { - // TODO: Implement - }; - - contextPrototype.arcTo = function() { - // TODO: Implement - }; - - contextPrototype.createPattern = function(image, repetition) { - return new CanvasPattern_(image, repetition); - }; - - // Gradient / Pattern Stubs - function CanvasGradient_(aType) { - this.type_ = aType; - this.x0_ = 0; - this.y0_ = 0; - this.r0_ = 0; - this.x1_ = 0; - this.y1_ = 0; - this.r1_ = 0; - this.colors_ = []; - } - - CanvasGradient_.prototype.addColorStop = function(aOffset, aColor) { - aColor = processStyle(aColor); - this.colors_.push({offset: aOffset, - color: aColor.color, - alpha: aColor.alpha}); - }; - - function CanvasPattern_(image, repetition) { - assertImageIsValid(image); - switch (repetition) { - case 'repeat': - case null: - case '': - this.repetition_ = 'repeat'; - break - case 'repeat-x': - case 'repeat-y': - case 'no-repeat': - this.repetition_ = repetition; - break; - default: - throwException('SYNTAX_ERR'); - } - - this.src_ = image.src; - this.width_ = image.width; - this.height_ = image.height; - } - - function throwException(s) { - throw new DOMException_(s); - } - - function assertImageIsValid(img) { - if (!img || img.nodeType != 1 || img.tagName != 'IMG') { - throwException('TYPE_MISMATCH_ERR'); - } - if (img.readyState != 'complete') { - throwException('INVALID_STATE_ERR'); - } - } - - function DOMException_(s) { - this.code = this[s]; - this.message = s +': DOM Exception ' + this.code; - } - var p = DOMException_.prototype = new Error; - p.INDEX_SIZE_ERR = 1; - p.DOMSTRING_SIZE_ERR = 2; - p.HIERARCHY_REQUEST_ERR = 3; - p.WRONG_DOCUMENT_ERR = 4; - p.INVALID_CHARACTER_ERR = 5; - p.NO_DATA_ALLOWED_ERR = 6; - p.NO_MODIFICATION_ALLOWED_ERR = 7; - p.NOT_FOUND_ERR = 8; - p.NOT_SUPPORTED_ERR = 9; - p.INUSE_ATTRIBUTE_ERR = 10; - p.INVALID_STATE_ERR = 11; - p.SYNTAX_ERR = 12; - p.INVALID_MODIFICATION_ERR = 13; - p.NAMESPACE_ERR = 14; - p.INVALID_ACCESS_ERR = 15; - p.VALIDATION_ERR = 16; - p.TYPE_MISMATCH_ERR = 17; - - // set up externs - G_vmlCanvasManager = G_vmlCanvasManager_; - CanvasRenderingContext2D = CanvasRenderingContext2D_; - CanvasGradient = CanvasGradient_; - CanvasPattern = CanvasPattern_; - DOMException = DOMException_; -})(); - -} // if diff --git a/modules/lib/flot/excanvas.min.js b/modules/lib/flot/excanvas.min.js deleted file mode 100644 index 12c74f7..0000000 --- a/modules/lib/flot/excanvas.min.js +++ /dev/null @@ -1 +0,0 @@ -if(!document.createElement("canvas").getContext){(function(){var z=Math;var K=z.round;var J=z.sin;var U=z.cos;var b=z.abs;var k=z.sqrt;var D=10;var F=D/2;function T(){return this.context_||(this.context_=new W(this))}var O=Array.prototype.slice;function G(i,j,m){var Z=O.call(arguments,2);return function(){return i.apply(j,Z.concat(O.call(arguments)))}}function AD(Z){return String(Z).replace(/&/g,"&").replace(/"/g,""")}function r(i){if(!i.namespaces.g_vml_){i.namespaces.add("g_vml_","urn:schemas-microsoft-com:vml","#default#VML")}if(!i.namespaces.g_o_){i.namespaces.add("g_o_","urn:schemas-microsoft-com:office:office","#default#VML")}if(!i.styleSheets.ex_canvas_){var Z=i.createStyleSheet();Z.owningElement.id="ex_canvas_";Z.cssText="canvas{display:inline-block;overflow:hidden;text-align:left;width:300px;height:150px}"}}r(document);var E={init:function(Z){if(/MSIE/.test(navigator.userAgent)&&!window.opera){var i=Z||document;i.createElement("canvas");i.attachEvent("onreadystatechange",G(this.init_,this,i))}},init_:function(m){var j=m.getElementsByTagName("canvas");for(var Z=0;Z1){j--}if(6*j<1){return i+(Z-i)*6*j}else{if(2*j<1){return Z}else{if(3*j<2){return i+(Z-i)*(2/3-j)*6}else{return i}}}}function Y(Z){var AE,p=1;Z=String(Z);if(Z.charAt(0)=="#"){AE=Z}else{if(/^rgb/.test(Z)){var m=g(Z);var AE="#",AF;for(var j=0;j<3;j++){if(m[j].indexOf("%")!=-1){AF=Math.floor(C(m[j])*255)}else{AF=Number(m[j])}AE+=I[N(AF,0,255)]}p=m[3]}else{if(/^hsl/.test(Z)){var m=g(Z);AE=c(m);p=m[3]}else{AE=B[Z]||Z}}}return{color:AE,alpha:p}}var L={style:"normal",variant:"normal",weight:"normal",size:10,family:"sans-serif"};var f={};function X(Z){if(f[Z]){return f[Z]}var m=document.createElement("div");var j=m.style;try{j.font=Z}catch(i){}return f[Z]={style:j.fontStyle||L.style,variant:j.fontVariant||L.variant,weight:j.fontWeight||L.weight,size:j.fontSize||L.size,family:j.fontFamily||L.family}}function P(j,i){var Z={};for(var AF in j){Z[AF]=j[AF]}var AE=parseFloat(i.currentStyle.fontSize),m=parseFloat(j.size);if(typeof j.size=="number"){Z.size=j.size}else{if(j.size.indexOf("px")!=-1){Z.size=m}else{if(j.size.indexOf("em")!=-1){Z.size=AE*m}else{if(j.size.indexOf("%")!=-1){Z.size=(AE/100)*m}else{if(j.size.indexOf("pt")!=-1){Z.size=m/0.75}else{Z.size=AE}}}}}Z.size*=0.981;return Z}function AA(Z){return Z.style+" "+Z.variant+" "+Z.weight+" "+Z.size+"px "+Z.family}function t(Z){switch(Z){case"butt":return"flat";case"round":return"round";case"square":default:return"square"}}function W(i){this.m_=V();this.mStack_=[];this.aStack_=[];this.currentPath_=[];this.strokeStyle="#000";this.fillStyle="#000";this.lineWidth=1;this.lineJoin="miter";this.lineCap="butt";this.miterLimit=D*1;this.globalAlpha=1;this.font="10px sans-serif";this.textAlign="left";this.textBaseline="alphabetic";this.canvas=i;var Z=i.ownerDocument.createElement("div");Z.style.width=i.clientWidth+"px";Z.style.height=i.clientHeight+"px";Z.style.overflow="hidden";Z.style.position="absolute";i.appendChild(Z);this.element_=Z;this.arcScaleX_=1;this.arcScaleY_=1;this.lineScale_=1}var M=W.prototype;M.clearRect=function(){if(this.textMeasureEl_){this.textMeasureEl_.removeNode(true);this.textMeasureEl_=null}this.element_.innerHTML=""};M.beginPath=function(){this.currentPath_=[]};M.moveTo=function(i,Z){var j=this.getCoords_(i,Z);this.currentPath_.push({type:"moveTo",x:j.x,y:j.y});this.currentX_=j.x;this.currentY_=j.y};M.lineTo=function(i,Z){var j=this.getCoords_(i,Z);this.currentPath_.push({type:"lineTo",x:j.x,y:j.y});this.currentX_=j.x;this.currentY_=j.y};M.bezierCurveTo=function(j,i,AI,AH,AG,AE){var Z=this.getCoords_(AG,AE);var AF=this.getCoords_(j,i);var m=this.getCoords_(AI,AH);e(this,AF,m,Z)};function e(Z,m,j,i){Z.currentPath_.push({type:"bezierCurveTo",cp1x:m.x,cp1y:m.y,cp2x:j.x,cp2y:j.y,x:i.x,y:i.y});Z.currentX_=i.x;Z.currentY_=i.y}M.quadraticCurveTo=function(AG,j,i,Z){var AF=this.getCoords_(AG,j);var AE=this.getCoords_(i,Z);var AH={x:this.currentX_+2/3*(AF.x-this.currentX_),y:this.currentY_+2/3*(AF.y-this.currentY_)};var m={x:AH.x+(AE.x-this.currentX_)/3,y:AH.y+(AE.y-this.currentY_)/3};e(this,AH,m,AE)};M.arc=function(AJ,AH,AI,AE,i,j){AI*=D;var AN=j?"at":"wa";var AK=AJ+U(AE)*AI-F;var AM=AH+J(AE)*AI-F;var Z=AJ+U(i)*AI-F;var AL=AH+J(i)*AI-F;if(AK==Z&&!j){AK+=0.125}var m=this.getCoords_(AJ,AH);var AG=this.getCoords_(AK,AM);var AF=this.getCoords_(Z,AL);this.currentPath_.push({type:AN,x:m.x,y:m.y,radius:AI,xStart:AG.x,yStart:AG.y,xEnd:AF.x,yEnd:AF.y})};M.rect=function(j,i,Z,m){this.moveTo(j,i);this.lineTo(j+Z,i);this.lineTo(j+Z,i+m);this.lineTo(j,i+m);this.closePath()};M.strokeRect=function(j,i,Z,m){var p=this.currentPath_;this.beginPath();this.moveTo(j,i);this.lineTo(j+Z,i);this.lineTo(j+Z,i+m);this.lineTo(j,i+m);this.closePath();this.stroke();this.currentPath_=p};M.fillRect=function(j,i,Z,m){var p=this.currentPath_;this.beginPath();this.moveTo(j,i);this.lineTo(j+Z,i);this.lineTo(j+Z,i+m);this.lineTo(j,i+m);this.closePath();this.fill();this.currentPath_=p};M.createLinearGradient=function(i,m,Z,j){var p=new v("gradient");p.x0_=i;p.y0_=m;p.x1_=Z;p.y1_=j;return p};M.createRadialGradient=function(m,AE,j,i,p,Z){var AF=new v("gradientradial");AF.x0_=m;AF.y0_=AE;AF.r0_=j;AF.x1_=i;AF.y1_=p;AF.r1_=Z;return AF};M.drawImage=function(AO,j){var AH,AF,AJ,AV,AM,AK,AQ,AX;var AI=AO.runtimeStyle.width;var AN=AO.runtimeStyle.height;AO.runtimeStyle.width="auto";AO.runtimeStyle.height="auto";var AG=AO.width;var AT=AO.height;AO.runtimeStyle.width=AI;AO.runtimeStyle.height=AN;if(arguments.length==3){AH=arguments[1];AF=arguments[2];AM=AK=0;AQ=AJ=AG;AX=AV=AT}else{if(arguments.length==5){AH=arguments[1];AF=arguments[2];AJ=arguments[3];AV=arguments[4];AM=AK=0;AQ=AG;AX=AT}else{if(arguments.length==9){AM=arguments[1];AK=arguments[2];AQ=arguments[3];AX=arguments[4];AH=arguments[5];AF=arguments[6];AJ=arguments[7];AV=arguments[8]}else{throw Error("Invalid number of arguments")}}}var AW=this.getCoords_(AH,AF);var m=AQ/2;var i=AX/2;var AU=[];var Z=10;var AE=10;AU.push(" ','","");this.element_.insertAdjacentHTML("BeforeEnd",AU.join(""))};M.stroke=function(AM){var m=10;var AN=10;var AE=5000;var AG={x:null,y:null};var AL={x:null,y:null};for(var AH=0;AHAL.x){AL.x=Z.x}if(AG.y==null||Z.yAL.y){AL.y=Z.y}}}AK.push(' ">');if(!AM){R(this,AK)}else{a(this,AK,AG,AL)}AK.push("");this.element_.insertAdjacentHTML("beforeEnd",AK.join(""))}};function R(j,AE){var i=Y(j.strokeStyle);var m=i.color;var p=i.alpha*j.globalAlpha;var Z=j.lineScale_*j.lineWidth;if(Z<1){p*=Z}AE.push("')}function a(AO,AG,Ah,AP){var AH=AO.fillStyle;var AY=AO.arcScaleX_;var AX=AO.arcScaleY_;var Z=AP.x-Ah.x;var m=AP.y-Ah.y;if(AH instanceof v){var AL=0;var Ac={x:0,y:0};var AU=0;var AK=1;if(AH.type_=="gradient"){var AJ=AH.x0_/AY;var j=AH.y0_/AX;var AI=AH.x1_/AY;var Aj=AH.y1_/AX;var Ag=AO.getCoords_(AJ,j);var Af=AO.getCoords_(AI,Aj);var AE=Af.x-Ag.x;var p=Af.y-Ag.y;AL=Math.atan2(AE,p)*180/Math.PI;if(AL<0){AL+=360}if(AL<0.000001){AL=0}}else{var Ag=AO.getCoords_(AH.x0_,AH.y0_);Ac={x:(Ag.x-Ah.x)/Z,y:(Ag.y-Ah.y)/m};Z/=AY*D;m/=AX*D;var Aa=z.max(Z,m);AU=2*AH.r0_/Aa;AK=2*AH.r1_/Aa-AU}var AS=AH.colors_;AS.sort(function(Ak,i){return Ak.offset-i.offset});var AN=AS.length;var AR=AS[0].color;var AQ=AS[AN-1].color;var AW=AS[0].alpha*AO.globalAlpha;var AV=AS[AN-1].alpha*AO.globalAlpha;var Ab=[];for(var Ae=0;Ae')}else{if(AH instanceof u){if(Z&&m){var AF=-Ah.x;var AZ=-Ah.y;AG.push("')}}else{var Ai=Y(AO.fillStyle);var AT=Ai.color;var Ad=Ai.alpha*AO.globalAlpha;AG.push('')}}}M.fill=function(){this.stroke(true)};M.closePath=function(){this.currentPath_.push({type:"close"})};M.getCoords_=function(j,i){var Z=this.m_;return{x:D*(j*Z[0][0]+i*Z[1][0]+Z[2][0])-F,y:D*(j*Z[0][1]+i*Z[1][1]+Z[2][1])-F}};M.save=function(){var Z={};Q(this,Z);this.aStack_.push(Z);this.mStack_.push(this.m_);this.m_=d(V(),this.m_)};M.restore=function(){if(this.aStack_.length){Q(this.aStack_.pop(),this);this.m_=this.mStack_.pop()}};function H(Z){return isFinite(Z[0][0])&&isFinite(Z[0][1])&&isFinite(Z[1][0])&&isFinite(Z[1][1])&&isFinite(Z[2][0])&&isFinite(Z[2][1])}function y(i,Z,j){if(!H(Z)){return }i.m_=Z;if(j){var p=Z[0][0]*Z[1][1]-Z[0][1]*Z[1][0];i.lineScale_=k(b(p))}}M.translate=function(j,i){var Z=[[1,0,0],[0,1,0],[j,i,1]];y(this,d(Z,this.m_),false)};M.rotate=function(i){var m=U(i);var j=J(i);var Z=[[m,j,0],[-j,m,0],[0,0,1]];y(this,d(Z,this.m_),false)};M.scale=function(j,i){this.arcScaleX_*=j;this.arcScaleY_*=i;var Z=[[j,0,0],[0,i,0],[0,0,1]];y(this,d(Z,this.m_),true)};M.transform=function(p,m,AF,AE,i,Z){var j=[[p,m,0],[AF,AE,0],[i,Z,1]];y(this,d(j,this.m_),true)};M.setTransform=function(AE,p,AG,AF,j,i){var Z=[[AE,p,0],[AG,AF,0],[j,i,1]];y(this,Z,true)};M.drawText_=function(AK,AI,AH,AN,AG){var AM=this.m_,AQ=1000,i=0,AP=AQ,AF={x:0,y:0},AE=[];var Z=P(X(this.font),this.element_);var j=AA(Z);var AR=this.element_.currentStyle;var p=this.textAlign.toLowerCase();switch(p){case"left":case"center":case"right":break;case"end":p=AR.direction=="ltr"?"right":"left";break;case"start":p=AR.direction=="rtl"?"right":"left";break;default:p="left"}switch(this.textBaseline){case"hanging":case"top":AF.y=Z.size/1.75;break;case"middle":break;default:case null:case"alphabetic":case"ideographic":case"bottom":AF.y=-Z.size/2.25;break}switch(p){case"right":i=AQ;AP=0.05;break;case"center":i=AP=AQ/2;break}var AO=this.getCoords_(AI+AF.x,AH+AF.y);AE.push('');if(AG){R(this,AE)}else{a(this,AE,{x:-i,y:0},{x:AP,y:Z.size})}var AL=AM[0][0].toFixed(3)+","+AM[1][0].toFixed(3)+","+AM[0][1].toFixed(3)+","+AM[1][1].toFixed(3)+",0,0";var AJ=K(AO.x/D)+","+K(AO.y/D);AE.push('','','');this.element_.insertAdjacentHTML("beforeEnd",AE.join(""))};M.fillText=function(j,Z,m,i){this.drawText_(j,Z,m,i,false)};M.strokeText=function(j,Z,m,i){this.drawText_(j,Z,m,i,true)};M.measureText=function(j){if(!this.textMeasureEl_){var Z='';this.element_.insertAdjacentHTML("beforeEnd",Z);this.textMeasureEl_=this.element_.lastChild}var i=this.element_.ownerDocument;this.textMeasureEl_.innerHTML="";this.textMeasureEl_.style.font=this.font;this.textMeasureEl_.appendChild(i.createTextNode(j));return{width:this.textMeasureEl_.offsetWidth}};M.clip=function(){};M.arcTo=function(){};M.createPattern=function(i,Z){return new u(i,Z)};function v(Z){this.type_=Z;this.x0_=0;this.y0_=0;this.r0_=0;this.x1_=0;this.y1_=0;this.r1_=0;this.colors_=[]}v.prototype.addColorStop=function(i,Z){Z=Y(Z);this.colors_.push({offset:i,color:Z.color,alpha:Z.alpha})};function u(i,Z){q(i);switch(Z){case"repeat":case null:case"":this.repetition_="repeat";break;case"repeat-x":case"repeat-y":case"no-repeat":this.repetition_=Z;break;default:n("SYNTAX_ERR")}this.src_=i.src;this.width_=i.width;this.height_=i.height}function n(Z){throw new o(Z)}function q(Z){if(!Z||Z.nodeType!=1||Z.tagName!="IMG"){n("TYPE_MISMATCH_ERR")}if(Z.readyState!="complete"){n("INVALID_STATE_ERR")}}function o(Z){this.code=this[Z];this.message=Z+": DOM Exception "+this.code}var x=o.prototype=new Error;x.INDEX_SIZE_ERR=1;x.DOMSTRING_SIZE_ERR=2;x.HIERARCHY_REQUEST_ERR=3;x.WRONG_DOCUMENT_ERR=4;x.INVALID_CHARACTER_ERR=5;x.NO_DATA_ALLOWED_ERR=6;x.NO_MODIFICATION_ALLOWED_ERR=7;x.NOT_FOUND_ERR=8;x.NOT_SUPPORTED_ERR=9;x.INUSE_ATTRIBUTE_ERR=10;x.INVALID_STATE_ERR=11;x.SYNTAX_ERR=12;x.INVALID_MODIFICATION_ERR=13;x.NAMESPACE_ERR=14;x.INVALID_ACCESS_ERR=15;x.VALIDATION_ERR=16;x.TYPE_MISMATCH_ERR=17;G_vmlCanvasManager=E;CanvasRenderingContext2D=W;CanvasGradient=v;CanvasPattern=u;DOMException=o})()}; \ No newline at end of file diff --git a/modules/lib/flot/jquery.colorhelpers.js b/modules/lib/flot/jquery.colorhelpers.js deleted file mode 100644 index d3524d7..0000000 --- a/modules/lib/flot/jquery.colorhelpers.js +++ /dev/null @@ -1,179 +0,0 @@ -/* Plugin for jQuery for working with colors. - * - * Version 1.1. - * - * Inspiration from jQuery color animation plugin by John Resig. - * - * Released under the MIT license by Ole Laursen, October 2009. - * - * Examples: - * - * $.color.parse("#fff").scale('rgb', 0.25).add('a', -0.5).toString() - * var c = $.color.extract($("#mydiv"), 'background-color'); - * console.log(c.r, c.g, c.b, c.a); - * $.color.make(100, 50, 25, 0.4).toString() // returns "rgba(100,50,25,0.4)" - * - * Note that .scale() and .add() return the same modified object - * instead of making a new one. - * - * V. 1.1: Fix error handling so e.g. parsing an empty string does - * produce a color rather than just crashing. - */ - -(function($) { - $.color = {}; - - // construct color object with some convenient chainable helpers - $.color.make = function (r, g, b, a) { - var o = {}; - o.r = r || 0; - o.g = g || 0; - o.b = b || 0; - o.a = a != null ? a : 1; - - o.add = function (c, d) { - for (var i = 0; i < c.length; ++i) - o[c.charAt(i)] += d; - return o.normalize(); - }; - - o.scale = function (c, f) { - for (var i = 0; i < c.length; ++i) - o[c.charAt(i)] *= f; - return o.normalize(); - }; - - o.toString = function () { - if (o.a >= 1.0) { - return "rgb("+[o.r, o.g, o.b].join(",")+")"; - } else { - return "rgba("+[o.r, o.g, o.b, o.a].join(",")+")"; - } - }; - - o.normalize = function () { - function clamp(min, value, max) { - return value < min ? min: (value > max ? max: value); - } - - o.r = clamp(0, parseInt(o.r), 255); - o.g = clamp(0, parseInt(o.g), 255); - o.b = clamp(0, parseInt(o.b), 255); - o.a = clamp(0, o.a, 1); - return o; - }; - - o.clone = function () { - return $.color.make(o.r, o.b, o.g, o.a); - }; - - return o.normalize(); - } - - // extract CSS color property from element, going up in the DOM - // if it's "transparent" - $.color.extract = function (elem, css) { - var c; - do { - c = elem.css(css).toLowerCase(); - // keep going until we find an element that has color, or - // we hit the body - if (c != '' && c != 'transparent') - break; - elem = elem.parent(); - } while (!$.nodeName(elem.get(0), "body")); - - // catch Safari's way of signalling transparent - if (c == "rgba(0, 0, 0, 0)") - c = "transparent"; - - return $.color.parse(c); - } - - // parse CSS color string (like "rgb(10, 32, 43)" or "#fff"), - // returns color object, if parsing failed, you get black (0, 0, - // 0) out - $.color.parse = function (str) { - var res, m = $.color.make; - - // Look for rgb(num,num,num) - if (res = /rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(str)) - return m(parseInt(res[1], 10), parseInt(res[2], 10), parseInt(res[3], 10)); - - // Look for rgba(num,num,num,num) - if (res = /rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(str)) - return m(parseInt(res[1], 10), parseInt(res[2], 10), parseInt(res[3], 10), parseFloat(res[4])); - - // Look for rgb(num%,num%,num%) - if (res = /rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(str)) - return m(parseFloat(res[1])*2.55, parseFloat(res[2])*2.55, parseFloat(res[3])*2.55); - - // Look for rgba(num%,num%,num%,num) - if (res = /rgba\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(str)) - return m(parseFloat(res[1])*2.55, parseFloat(res[2])*2.55, parseFloat(res[3])*2.55, parseFloat(res[4])); - - // Look for #a0b1c2 - if (res = /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(str)) - return m(parseInt(res[1], 16), parseInt(res[2], 16), parseInt(res[3], 16)); - - // Look for #fff - if (res = /#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(str)) - return m(parseInt(res[1]+res[1], 16), parseInt(res[2]+res[2], 16), parseInt(res[3]+res[3], 16)); - - // Otherwise, we're most likely dealing with a named color - var name = $.trim(str).toLowerCase(); - if (name == "transparent") - return m(255, 255, 255, 0); - else { - // default to black - res = lookupColors[name] || [0, 0, 0]; - return m(res[0], res[1], res[2]); - } - } - - var lookupColors = { - aqua:[0,255,255], - azure:[240,255,255], - beige:[245,245,220], - black:[0,0,0], - blue:[0,0,255], - brown:[165,42,42], - cyan:[0,255,255], - darkblue:[0,0,139], - darkcyan:[0,139,139], - darkgrey:[169,169,169], - darkgreen:[0,100,0], - darkkhaki:[189,183,107], - darkmagenta:[139,0,139], - darkolivegreen:[85,107,47], - darkorange:[255,140,0], - darkorchid:[153,50,204], - darkred:[139,0,0], - darksalmon:[233,150,122], - darkviolet:[148,0,211], - fuchsia:[255,0,255], - gold:[255,215,0], - green:[0,128,0], - indigo:[75,0,130], - khaki:[240,230,140], - lightblue:[173,216,230], - lightcyan:[224,255,255], - lightgreen:[144,238,144], - lightgrey:[211,211,211], - lightpink:[255,182,193], - lightyellow:[255,255,224], - lime:[0,255,0], - magenta:[255,0,255], - maroon:[128,0,0], - navy:[0,0,128], - olive:[128,128,0], - orange:[255,165,0], - pink:[255,192,203], - purple:[128,0,128], - violet:[128,0,128], - red:[255,0,0], - silver:[192,192,192], - white:[255,255,255], - yellow:[255,255,0] - }; -})(jQuery); diff --git a/modules/lib/flot/jquery.colorhelpers.min.js b/modules/lib/flot/jquery.colorhelpers.min.js deleted file mode 100644 index 7f44c57..0000000 --- a/modules/lib/flot/jquery.colorhelpers.min.js +++ /dev/null @@ -1 +0,0 @@ -(function(b){b.color={};b.color.make=function(f,e,c,d){var h={};h.r=f||0;h.g=e||0;h.b=c||0;h.a=d!=null?d:1;h.add=function(k,j){for(var g=0;g=1){return"rgb("+[h.r,h.g,h.b].join(",")+")"}else{return"rgba("+[h.r,h.g,h.b,h.a].join(",")+")"}};h.normalize=function(){function g(j,k,i){return ki?i:k)}h.r=g(0,parseInt(h.r),255);h.g=g(0,parseInt(h.g),255);h.b=g(0,parseInt(h.b),255);h.a=g(0,h.a,1);return h};h.clone=function(){return b.color.make(h.r,h.b,h.g,h.a)};return h.normalize()};b.color.extract=function(e,d){var f;do{f=e.css(d).toLowerCase();if(f!=""&&f!="transparent"){break}e=e.parent()}while(!b.nodeName(e.get(0),"body"));if(f=="rgba(0, 0, 0, 0)"){f="transparent"}return b.color.parse(f)};b.color.parse=function(f){var e,c=b.color.make;if(e=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(f)){return c(parseInt(e[1],10),parseInt(e[2],10),parseInt(e[3],10))}if(e=/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(f)){return c(parseInt(e[1],10),parseInt(e[2],10),parseInt(e[3],10),parseFloat(e[4]))}if(e=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(f)){return c(parseFloat(e[1])*2.55,parseFloat(e[2])*2.55,parseFloat(e[3])*2.55)}if(e=/rgba\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(f)){return c(parseFloat(e[1])*2.55,parseFloat(e[2])*2.55,parseFloat(e[3])*2.55,parseFloat(e[4]))}if(e=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(f)){return c(parseInt(e[1],16),parseInt(e[2],16),parseInt(e[3],16))}if(e=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(f)){return c(parseInt(e[1]+e[1],16),parseInt(e[2]+e[2],16),parseInt(e[3]+e[3],16))}var d=b.trim(f).toLowerCase();if(d=="transparent"){return c(255,255,255,0)}else{e=a[d]||[0,0,0];return c(e[0],e[1],e[2])}};var a={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0]}})(jQuery); \ No newline at end of file diff --git a/modules/lib/flot/jquery.flot.crosshair.js b/modules/lib/flot/jquery.flot.crosshair.js deleted file mode 100644 index 1d433f0..0000000 --- a/modules/lib/flot/jquery.flot.crosshair.js +++ /dev/null @@ -1,167 +0,0 @@ -/* -Flot plugin for showing crosshairs, thin lines, when the mouse hovers -over the plot. - - crosshair: { - mode: null or "x" or "y" or "xy" - color: color - lineWidth: number - } - -Set the mode to one of "x", "y" or "xy". The "x" mode enables a -vertical crosshair that lets you trace the values on the x axis, "y" -enables a horizontal crosshair and "xy" enables them both. "color" is -the color of the crosshair (default is "rgba(170, 0, 0, 0.80)"), -"lineWidth" is the width of the drawn lines (default is 1). - -The plugin also adds four public methods: - - - setCrosshair(pos) - - Set the position of the crosshair. Note that this is cleared if - the user moves the mouse. "pos" is in coordinates of the plot and - should be on the form { x: xpos, y: ypos } (you can use x2/x3/... - if you're using multiple axes), which is coincidentally the same - format as what you get from a "plothover" event. If "pos" is null, - the crosshair is cleared. - - - clearCrosshair() - - Clear the crosshair. - - - lockCrosshair(pos) - - Cause the crosshair to lock to the current location, no longer - updating if the user moves the mouse. Optionally supply a position - (passed on to setCrosshair()) to move it to. - - Example usage: - var myFlot = $.plot( $("#graph"), ..., { crosshair: { mode: "x" } } }; - $("#graph").bind("plothover", function (evt, position, item) { - if (item) { - // Lock the crosshair to the data point being hovered - myFlot.lockCrosshair({ x: item.datapoint[0], y: item.datapoint[1] }); - } - else { - // Return normal crosshair operation - myFlot.unlockCrosshair(); - } - }); - - - unlockCrosshair() - - Free the crosshair to move again after locking it. -*/ - -(function ($) { - var options = { - crosshair: { - mode: null, // one of null, "x", "y" or "xy", - color: "rgba(170, 0, 0, 0.80)", - lineWidth: 1 - } - }; - - function init(plot) { - // position of crosshair in pixels - var crosshair = { x: -1, y: -1, locked: false }; - - plot.setCrosshair = function setCrosshair(pos) { - if (!pos) - crosshair.x = -1; - else { - var o = plot.p2c(pos); - crosshair.x = Math.max(0, Math.min(o.left, plot.width())); - crosshair.y = Math.max(0, Math.min(o.top, plot.height())); - } - - plot.triggerRedrawOverlay(); - }; - - plot.clearCrosshair = plot.setCrosshair; // passes null for pos - - plot.lockCrosshair = function lockCrosshair(pos) { - if (pos) - plot.setCrosshair(pos); - crosshair.locked = true; - } - - plot.unlockCrosshair = function unlockCrosshair() { - crosshair.locked = false; - } - - function onMouseOut(e) { - if (crosshair.locked) - return; - - if (crosshair.x != -1) { - crosshair.x = -1; - plot.triggerRedrawOverlay(); - } - } - - function onMouseMove(e) { - if (crosshair.locked) - return; - - if (plot.getSelection && plot.getSelection()) { - crosshair.x = -1; // hide the crosshair while selecting - return; - } - - var offset = plot.offset(); - crosshair.x = Math.max(0, Math.min(e.pageX - offset.left, plot.width())); - crosshair.y = Math.max(0, Math.min(e.pageY - offset.top, plot.height())); - plot.triggerRedrawOverlay(); - } - - plot.hooks.bindEvents.push(function (plot, eventHolder) { - if (!plot.getOptions().crosshair.mode) - return; - - eventHolder.mouseout(onMouseOut); - eventHolder.mousemove(onMouseMove); - }); - - plot.hooks.drawOverlay.push(function (plot, ctx) { - var c = plot.getOptions().crosshair; - if (!c.mode) - return; - - var plotOffset = plot.getPlotOffset(); - - ctx.save(); - ctx.translate(plotOffset.left, plotOffset.top); - - if (crosshair.x != -1) { - ctx.strokeStyle = c.color; - ctx.lineWidth = c.lineWidth; - ctx.lineJoin = "round"; - - ctx.beginPath(); - if (c.mode.indexOf("x") != -1) { - ctx.moveTo(crosshair.x, 0); - ctx.lineTo(crosshair.x, plot.height()); - } - if (c.mode.indexOf("y") != -1) { - ctx.moveTo(0, crosshair.y); - ctx.lineTo(plot.width(), crosshair.y); - } - ctx.stroke(); - } - ctx.restore(); - }); - - plot.hooks.shutdown.push(function (plot, eventHolder) { - eventHolder.unbind("mouseout", onMouseOut); - eventHolder.unbind("mousemove", onMouseMove); - }); - } - - $.plot.plugins.push({ - init: init, - options: options, - name: 'crosshair', - version: '1.0' - }); -})(jQuery); diff --git a/modules/lib/flot/jquery.flot.crosshair.min.js b/modules/lib/flot/jquery.flot.crosshair.min.js deleted file mode 100644 index b012112..0000000 --- a/modules/lib/flot/jquery.flot.crosshair.min.js +++ /dev/null @@ -1 +0,0 @@ -(function(b){var a={crosshair:{mode:null,color:"rgba(0, 0, 0, 0.7)",lineWidth:1}};function c(h){var j={x:-1,y:-1,locked:false};h.setCrosshair=function e(l){if(!l){j.x=-1}else{var k=h.p2c(l);j.x=Math.max(0,Math.min(k.left,h.width()));j.y=Math.max(0,Math.min(k.top,h.height()))}h.triggerRedrawOverlay()};h.clearCrosshair=h.setCrosshair;h.lockCrosshair=function f(k){if(k){h.setCrosshair(k)}j.locked=true};h.unlockCrosshair=function g(){j.locked=false};function d(k){if(j.locked){return}if(j.x!=-1){j.x=-1;h.triggerRedrawOverlay()}}function i(k){if(j.locked){return}if(h.getSelection&&h.getSelection()){j.x=-1;return}var l=h.offset();j.x=Math.max(0,Math.min(k.pageX-l.left,h.width()));j.y=Math.max(0,Math.min(k.pageY-l.top,h.height()));h.triggerRedrawOverlay()}h.hooks.bindEvents.push(function(l,k){if(!l.getOptions().crosshair.mode){return}k.mouseout(d);k.mousemove(i)});h.hooks.drawOverlay.push(function(m,k){var n=m.getOptions().crosshair;if(!n.mode){return}var l=m.getPlotOffset();k.save();k.translate(l.left,l.top);if(j.x!=-1){k.strokeStyle=n.color;k.lineWidth=n.lineWidth;k.lineJoin="round";k.beginPath();if(n.mode.indexOf("x")!=-1){k.moveTo(j.x,0);k.lineTo(j.x,m.height())}if(n.mode.indexOf("y")!=-1){k.moveTo(0,j.y);k.lineTo(m.width(),j.y)}k.stroke()}k.restore()});h.hooks.shutdown.push(function(l,k){k.unbind("mouseout",d);k.unbind("mousemove",i)})}b.plot.plugins.push({init:c,options:a,name:"crosshair",version:"1.0"})})(jQuery); \ No newline at end of file diff --git a/modules/lib/flot/jquery.flot.curvedLines.min.js b/modules/lib/flot/jquery.flot.curvedLines.min.js deleted file mode 100644 index 83e4002..0000000 --- a/modules/lib/flot/jquery.flot.curvedLines.min.js +++ /dev/null @@ -1,84 +0,0 @@ -/* The MIT License - -Copyright (c) 2011 by Michael Zinsmaier and nergal.dev - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -*/ - - -/* - -____________________________________________________ - -what it is: -____________________________________________________ - -curvedLines is a plugin for flot, that tries to display lines in a smoother way. -The plugin is based on nergal.dev's work https://code.google.com/p/flot/issues/detail?id=226 -and further extended with a mode that forces the min/max points of the curves to be on the -points. Both modes are achieved through adding of more data points -=> 1) with large data sets you may get trouble -=> 2) if you want to display the points too, you have to plot them as 2nd data series over the lines - -This is version 0.1 of curvedLines so it will probably not work in every case. However -the basic form of use descirbed next works (: - -Feel free to further improve the code - -____________________________________________________ - -how to use it: -____________________________________________________ - - - var d1 = [[5,5],[7,3],[9,12]]; - - var options = { series: { curvedLines: { active: true }}}; - - - $.plot($("#placeholder"), [{data = d1, curvedLines: { show: true}}], options); - -_____________________________________________________ - -options: -_____________________________________________________ - - fill: bool true => lines get filled - fillColor: null or the color that should be used for filling - active: bool true => plugin can be used - show: bool true => series will be drawn as curved line - fit: bool true => forces the max,mins of the curve to be on the datapoints - lineWidth: int width of the line - curvePointFactor int defines how many "virtual" points are used per "real" data point to - emulate the curvedLines - fitPointDist: int defines the x axis distance of the additional two points that are used - to enforce the min max condition. (you will get curvePointFactor * 3 * |datapoints| - "virtual" points if fit is true) - - -*/ - -/* - * v0.1 initial commit - * v0.15 negative values should work now (outcommented a negative -> 0 hook hope it does no harm) - * v0.2 added fill option (thanks to monemihir) and multi axis support (thanks to soewono effendi) - * - * - */ -(function(t){t.plot.plugins.push({init:function(w){function x(r,n){for(var l,u=r.getData(),v=r.getPlotOffset(),s=0;sk[d]?h=o:i=o}o=g[h]-g[i];if(0==o){g=null;break a}var p=(g[h]-k[d])/o,q=(k[d]-g[i])/o;c[d]=p*e[i]+q*e[h]+((p*p*p-p)*j[i]+(q*q*q-q)*j[h])*o*o/6;f.push(k[d]);f.push(c[d])}g=f}m=n;e=axisx;b=axisy;l=l.curvedLines.fill; d=j=null;a=0;m.beginPath();for(k=2;k=i&&f>b.max){if(i>b.max)continue;c=(b.max-f)/(i-f)*(h-c)+c;f=b.max}else if(i>=f&&i>b.max){if(f>b.max)continue;h=(b.max-f)/(i-f)*(h-c)+c;i=b.max}if(c<=h&&c=h&&c>e.max){if(h>e.max)continue;f=(e.max-c)/(h-c)*(i-f)+f;c=e.max}else if(h>=c&&h>e.max){if(c>e.max)continue;i=(e.max-c)/(h-c)*(i-f)+f;h=e.max}(c!=j||f!=d)&&m.lineTo(e.p2c(c),b.p2c(f));null==j&&(a=i);j=h;d=i;m.lineTo(e.p2c(h),b.p2c(i))}l&&(m.lineTo(e.p2c(e.max),b.p2c(b.min)),m.lineTo(e.p2c(e.min),b.p2c(b.min)),m.lineTo(e.p2c(e.min),b.p2c(a)),m.fill());m.stroke();n.restore()}}w.hooks.processOptions.push(function(r,n){n.series.curvedLines.active&& r.hooks.draw.push(x)})},options:{series:{curvedLines:{active:!1,show:!1,fit:!1,fill:!1,fillColor:null,lineWidth:2,curvePointFactor:20,fitPointDist:1.0E-4}}},name:"curvedLines",version:"0.2"})})(jQuery); \ No newline at end of file diff --git a/modules/lib/flot/jquery.flot.fillbetween.js b/modules/lib/flot/jquery.flot.fillbetween.js deleted file mode 100644 index 69700e7..0000000 --- a/modules/lib/flot/jquery.flot.fillbetween.js +++ /dev/null @@ -1,183 +0,0 @@ -/* -Flot plugin for computing bottoms for filled line and bar charts. - -The case: you've got two series that you want to fill the area -between. In Flot terms, you need to use one as the fill bottom of the -other. You can specify the bottom of each data point as the third -coordinate manually, or you can use this plugin to compute it for you. - -In order to name the other series, you need to give it an id, like this - - var dataset = [ - { data: [ ... ], id: "foo" } , // use default bottom - { data: [ ... ], fillBetween: "foo" }, // use first dataset as bottom - ]; - - $.plot($("#placeholder"), dataset, { line: { show: true, fill: true }}); - -As a convenience, if the id given is a number that doesn't appear as -an id in the series, it is interpreted as the index in the array -instead (so fillBetween: 0 can also mean the first series). - -Internally, the plugin modifies the datapoints in each series. For -line series, extra data points might be inserted through -interpolation. Note that at points where the bottom line is not -defined (due to a null point or start/end of line), the current line -will show a gap too. The algorithm comes from the jquery.flot.stack.js -plugin, possibly some code could be shared. -*/ - -(function ($) { - var options = { - series: { fillBetween: null } // or number - }; - - function init(plot) { - function findBottomSeries(s, allseries) { - var i; - for (i = 0; i < allseries.length; ++i) { - if (allseries[i].id == s.fillBetween) - return allseries[i]; - } - - if (typeof s.fillBetween == "number") { - i = s.fillBetween; - - if (i < 0 || i >= allseries.length) - return null; - - return allseries[i]; - } - - return null; - } - - function computeFillBottoms(plot, s, datapoints) { - if (s.fillBetween == null) - return; - - var other = findBottomSeries(s, plot.getData()); - if (!other) - return; - - var ps = datapoints.pointsize, - points = datapoints.points, - otherps = other.datapoints.pointsize, - otherpoints = other.datapoints.points, - newpoints = [], - px, py, intery, qx, qy, bottom, - withlines = s.lines.show, - withbottom = ps > 2 && datapoints.format[2].y, - withsteps = withlines && s.lines.steps, - fromgap = true, - i = 0, j = 0, l; - - while (true) { - if (i >= points.length) - break; - - l = newpoints.length; - - if (points[i] == null) { - // copy gaps - for (m = 0; m < ps; ++m) - newpoints.push(points[i + m]); - i += ps; - } - else if (j >= otherpoints.length) { - // for lines, we can't use the rest of the points - if (!withlines) { - for (m = 0; m < ps; ++m) - newpoints.push(points[i + m]); - } - i += ps; - } - else if (otherpoints[j] == null) { - // oops, got a gap - for (m = 0; m < ps; ++m) - newpoints.push(null); - fromgap = true; - j += otherps; - } - else { - // cases where we actually got two points - px = points[i]; - py = points[i + 1]; - qx = otherpoints[j]; - qy = otherpoints[j + 1]; - bottom = 0; - - if (px == qx) { - for (m = 0; m < ps; ++m) - newpoints.push(points[i + m]); - - //newpoints[l + 1] += qy; - bottom = qy; - - i += ps; - j += otherps; - } - else if (px > qx) { - // we got past point below, might need to - // insert interpolated extra point - if (withlines && i > 0 && points[i - ps] != null) { - intery = py + (points[i - ps + 1] - py) * (qx - px) / (points[i - ps] - px); - newpoints.push(qx); - newpoints.push(intery) - for (m = 2; m < ps; ++m) - newpoints.push(points[i + m]); - bottom = qy; - } - - j += otherps; - } - else { // px < qx - if (fromgap && withlines) { - // if we come from a gap, we just skip this point - i += ps; - continue; - } - - for (m = 0; m < ps; ++m) - newpoints.push(points[i + m]); - - // we might be able to interpolate a point below, - // this can give us a better y - if (withlines && j > 0 && otherpoints[j - otherps] != null) - bottom = qy + (otherpoints[j - otherps + 1] - qy) * (px - qx) / (otherpoints[j - otherps] - qx); - - //newpoints[l + 1] += bottom; - - i += ps; - } - - fromgap = false; - - if (l != newpoints.length && withbottom) - newpoints[l + 2] = bottom; - } - - // maintain the line steps invariant - if (withsteps && l != newpoints.length && l > 0 - && newpoints[l] != null - && newpoints[l] != newpoints[l - ps] - && newpoints[l + 1] != newpoints[l - ps + 1]) { - for (m = 0; m < ps; ++m) - newpoints[l + ps + m] = newpoints[l + m]; - newpoints[l + 1] = newpoints[l - ps + 1]; - } - } - - datapoints.points = newpoints; - } - - plot.hooks.processDatapoints.push(computeFillBottoms); - } - - $.plot.plugins.push({ - init: init, - options: options, - name: 'fillbetween', - version: '1.0' - }); -})(jQuery); diff --git a/modules/lib/flot/jquery.flot.fillbetween.min.js b/modules/lib/flot/jquery.flot.fillbetween.min.js deleted file mode 100644 index 47f3dfb..0000000 --- a/modules/lib/flot/jquery.flot.fillbetween.min.js +++ /dev/null @@ -1 +0,0 @@ -(function(b){var a={series:{fillBetween:null}};function c(f){function d(j,h){var g;for(g=0;g=h.length){return null}return h[g]}return null}function e(B,u,g){if(u.fillBetween==null){return}var p=d(u,B.getData());if(!p){return}var y=g.pointsize,E=g.points,h=p.datapoints.pointsize,x=p.datapoints.points,r=[],w,v,k,G,F,q,t=u.lines.show,o=y>2&&g.format[2].y,n=t&&u.lines.steps,D=true,C=0,A=0,z;while(true){if(C>=E.length){break}z=r.length;if(E[C]==null){for(m=0;m=x.length){if(!t){for(m=0;mG){if(t&&C>0&&E[C-y]!=null){k=v+(E[C-y+1]-v)*(G-w)/(E[C-y]-w);r.push(G);r.push(k);for(m=2;m0&&x[A-h]!=null){q=F+(x[A-h+1]-F)*(w-G)/(x[A-h]-G)}C+=y}}D=false;if(z!=r.length&&o){r[z+2]=q}}}}if(n&&z!=r.length&&z>0&&r[z]!=null&&r[z]!=r[z-y]&&r[z+1]!=r[z-y+1]){for(m=0;m').load(handler).error(handler).attr('src', url); - }); - } - - function drawSeries(plot, ctx, series) { - var plotOffset = plot.getPlotOffset(); - - if (!series.images || !series.images.show) - return; - - var points = series.datapoints.points, - ps = series.datapoints.pointsize; - - for (var i = 0; i < points.length; i += ps) { - var img = points[i], - x1 = points[i + 1], y1 = points[i + 2], - x2 = points[i + 3], y2 = points[i + 4], - xaxis = series.xaxis, yaxis = series.yaxis, - tmp; - - // actually we should check img.complete, but it - // appears to be a somewhat unreliable indicator in - // IE6 (false even after load event) - if (!img || img.width <= 0 || img.height <= 0) - continue; - - if (x1 > x2) { - tmp = x2; - x2 = x1; - x1 = tmp; - } - if (y1 > y2) { - tmp = y2; - y2 = y1; - y1 = tmp; - } - - // if the anchor is at the center of the pixel, expand the - // image by 1/2 pixel in each direction - if (series.images.anchor == "center") { - tmp = 0.5 * (x2-x1) / (img.width - 1); - x1 -= tmp; - x2 += tmp; - tmp = 0.5 * (y2-y1) / (img.height - 1); - y1 -= tmp; - y2 += tmp; - } - - // clip - if (x1 == x2 || y1 == y2 || - x1 >= xaxis.max || x2 <= xaxis.min || - y1 >= yaxis.max || y2 <= yaxis.min) - continue; - - var sx1 = 0, sy1 = 0, sx2 = img.width, sy2 = img.height; - if (x1 < xaxis.min) { - sx1 += (sx2 - sx1) * (xaxis.min - x1) / (x2 - x1); - x1 = xaxis.min; - } - - if (x2 > xaxis.max) { - sx2 += (sx2 - sx1) * (xaxis.max - x2) / (x2 - x1); - x2 = xaxis.max; - } - - if (y1 < yaxis.min) { - sy2 += (sy1 - sy2) * (yaxis.min - y1) / (y2 - y1); - y1 = yaxis.min; - } - - if (y2 > yaxis.max) { - sy1 += (sy1 - sy2) * (yaxis.max - y2) / (y2 - y1); - y2 = yaxis.max; - } - - x1 = xaxis.p2c(x1); - x2 = xaxis.p2c(x2); - y1 = yaxis.p2c(y1); - y2 = yaxis.p2c(y2); - - // the transformation may have swapped us - if (x1 > x2) { - tmp = x2; - x2 = x1; - x1 = tmp; - } - if (y1 > y2) { - tmp = y2; - y2 = y1; - y1 = tmp; - } - - tmp = ctx.globalAlpha; - ctx.globalAlpha *= series.images.alpha; - ctx.drawImage(img, - sx1, sy1, sx2 - sx1, sy2 - sy1, - x1 + plotOffset.left, y1 + plotOffset.top, - x2 - x1, y2 - y1); - ctx.globalAlpha = tmp; - } - } - - function processRawData(plot, series, data, datapoints) { - if (!series.images.show) - return; - - // format is Image, x1, y1, x2, y2 (opposite corners) - datapoints.format = [ - { required: true }, - { x: true, number: true, required: true }, - { y: true, number: true, required: true }, - { x: true, number: true, required: true }, - { y: true, number: true, required: true } - ]; - } - - function init(plot) { - plot.hooks.processRawData.push(processRawData); - plot.hooks.drawSeries.push(drawSeries); - } - - $.plot.plugins.push({ - init: init, - options: options, - name: 'image', - version: '1.1' - }); -})(jQuery); diff --git a/modules/lib/flot/jquery.flot.image.min.js b/modules/lib/flot/jquery.flot.image.min.js deleted file mode 100644 index 9480c1e..0000000 --- a/modules/lib/flot/jquery.flot.image.min.js +++ /dev/null @@ -1 +0,0 @@ -(function(c){var a={series:{images:{show:false,alpha:1,anchor:"corner"}}};c.plot.image={};c.plot.image.loadDataImages=function(g,f,k){var j=[],h=[];var i=f.series.images.show;c.each(g,function(l,m){if(!(i||m.images.show)){return}if(m.data){m=m.data}c.each(m,function(n,o){if(typeof o[0]=="string"){j.push(o[0]);h.push(o)}})});c.plot.image.load(j,function(l){c.each(h,function(n,o){var m=o[0];if(l[m]){o[0]=l[m]}});k()})};c.plot.image.load=function(h,i){var g=h.length,f={};if(g==0){i({})}c.each(h,function(k,j){var l=function(){--g;f[j]=this;if(g==0){i(f)}};c("").load(l).error(l).attr("src",j)})};function d(q,o,l){var m=q.getPlotOffset();if(!l.images||!l.images.show){return}var r=l.datapoints.points,n=l.datapoints.pointsize;for(var t=0;tv){x=v;v=w;w=x}if(g>f){x=f;f=g;g=x}if(l.images.anchor=="center"){x=0.5*(v-w)/(y.width-1);w-=x;v+=x;x=0.5*(f-g)/(y.height-1);g-=x;f+=x}if(w==v||g==f||w>=h.max||v<=h.min||g>=u.max||f<=u.min){continue}var k=0,s=0,j=y.width,p=y.height;if(wh.max){j+=(j-k)*(h.max-v)/(v-w);v=h.max}if(gu.max){s+=(s-p)*(u.max-f)/(f-g);f=u.max}w=h.p2c(w);v=h.p2c(v);g=u.p2c(g);f=u.p2c(f);if(w>v){x=v;v=w;w=x}if(g>f){x=f;f=g;g=x}x=o.globalAlpha;o.globalAlpha*=l.images.alpha;o.drawImage(y,k,s,j-k,p-s,w+m.left,g+m.top,v-w,f-g);o.globalAlpha=x}}function b(i,f,g,h){if(!f.images.show){return}h.format=[{required:true},{x:true,number:true,required:true},{y:true,number:true,required:true},{x:true,number:true,required:true},{y:true,number:true,required:true}]}function e(f){f.hooks.processRawData.push(b);f.hooks.drawSeries.push(d)}c.plot.plugins.push({init:e,options:a,name:"image",version:"1.1"})})(jQuery); \ No newline at end of file diff --git a/modules/lib/flot/jquery.flot.js b/modules/lib/flot/jquery.flot.js deleted file mode 100644 index aabc544..0000000 --- a/modules/lib/flot/jquery.flot.js +++ /dev/null @@ -1,2599 +0,0 @@ -/*! Javascript plotting library for jQuery, v. 0.7. - * - * Released under the MIT license by IOLA, December 2007. - * - */ - -// first an inline dependency, jquery.colorhelpers.js, we inline it here -// for convenience - -/* Plugin for jQuery for working with colors. - * - * Version 1.1. - * - * Inspiration from jQuery color animation plugin by John Resig. - * - * Released under the MIT license by Ole Laursen, October 2009. - * - * Examples: - * - * $.color.parse("#fff").scale('rgb', 0.25).add('a', -0.5).toString() - * var c = $.color.extract($("#mydiv"), 'background-color'); - * console.log(c.r, c.g, c.b, c.a); - * $.color.make(100, 50, 25, 0.4).toString() // returns "rgba(100,50,25,0.4)" - * - * Note that .scale() and .add() return the same modified object - * instead of making a new one. - * - * V. 1.1: Fix error handling so e.g. parsing an empty string does - * produce a color rather than just crashing. - */ -(function(B){B.color={};B.color.make=function(F,E,C,D){var G={};G.r=F||0;G.g=E||0;G.b=C||0;G.a=D!=null?D:1;G.add=function(J,I){for(var H=0;H=1){return"rgb("+[G.r,G.g,G.b].join(",")+")"}else{return"rgba("+[G.r,G.g,G.b,G.a].join(",")+")"}};G.normalize=function(){function H(J,K,I){return KI?I:K)}G.r=H(0,parseInt(G.r),255);G.g=H(0,parseInt(G.g),255);G.b=H(0,parseInt(G.b),255);G.a=H(0,G.a,1);return G};G.clone=function(){return B.color.make(G.r,G.b,G.g,G.a)};return G.normalize()};B.color.extract=function(D,C){var E;do{E=D.css(C).toLowerCase();if(E!=""&&E!="transparent"){break}D=D.parent()}while(!B.nodeName(D.get(0),"body"));if(E=="rgba(0, 0, 0, 0)"){E="transparent"}return B.color.parse(E)};B.color.parse=function(F){var E,C=B.color.make;if(E=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(F)){return C(parseInt(E[1],10),parseInt(E[2],10),parseInt(E[3],10))}if(E=/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(F)){return C(parseInt(E[1],10),parseInt(E[2],10),parseInt(E[3],10),parseFloat(E[4]))}if(E=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(F)){return C(parseFloat(E[1])*2.55,parseFloat(E[2])*2.55,parseFloat(E[3])*2.55)}if(E=/rgba\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(F)){return C(parseFloat(E[1])*2.55,parseFloat(E[2])*2.55,parseFloat(E[3])*2.55,parseFloat(E[4]))}if(E=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(F)){return C(parseInt(E[1],16),parseInt(E[2],16),parseInt(E[3],16))}if(E=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(F)){return C(parseInt(E[1]+E[1],16),parseInt(E[2]+E[2],16),parseInt(E[3]+E[3],16))}var D=B.trim(F).toLowerCase();if(D=="transparent"){return C(255,255,255,0)}else{E=A[D]||[0,0,0];return C(E[0],E[1],E[2])}};var A={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0]}})(jQuery); - -// the actual Flot code -(function($) { - function Plot(placeholder, data_, options_, plugins) { - // data is on the form: - // [ series1, series2 ... ] - // where series is either just the data as [ [x1, y1], [x2, y2], ... ] - // or { data: [ [x1, y1], [x2, y2], ... ], label: "some label", ... } - - var series = [], - options = { - // the color theme used for graphs - colors: ["#edc240", "#afd8f8", "#cb4b4b", "#4da74d", "#9440ed"], - legend: { - show: true, - noColumns: 1, // number of colums in legend table - labelFormatter: null, // fn: string -> string - labelBoxBorderColor: "#ccc", // border color for the little label boxes - container: null, // container (as jQuery object) to put legend in, null means default on top of graph - position: "ne", // position of default legend container within plot - margin: 5, // distance from grid edge to default legend container within plot - backgroundColor: null, // null means auto-detect - backgroundOpacity: 0.85 // set to 0 to avoid background - }, - xaxis: { - show: null, // null = auto-detect, true = always, false = never - position: "bottom", // or "top" - mode: null, // null or "time" - color: null, // base color, labels, ticks - tickColor: null, // possibly different color of ticks, e.g. "rgba(0,0,0,0.15)" - transform: null, // null or f: number -> number to transform axis - inverseTransform: null, // if transform is set, this should be the inverse function - min: null, // min. value to show, null means set automatically - max: null, // max. value to show, null means set automatically - autoscaleMargin: null, // margin in % to add if auto-setting min/max - ticks: null, // either [1, 3] or [[1, "a"], 3] or (fn: axis info -> ticks) or app. number of ticks for auto-ticks - tickFormatter: null, // fn: number -> string - labelWidth: null, // size of tick labels in pixels - labelHeight: null, - reserveSpace: null, // whether to reserve space even if axis isn't shown - tickLength: null, // size in pixels of ticks, or "full" for whole line - alignTicksWithAxis: null, // axis number or null for no sync - - // mode specific options - tickDecimals: null, // no. of decimals, null means auto - tickSize: null, // number or [number, "unit"] - minTickSize: null, // number or [number, "unit"] - monthNames: null, // list of names of months - timeformat: null, // format string to use - twelveHourClock: false // 12 or 24 time in time mode - }, - yaxis: { - autoscaleMargin: 0.02, - position: "left" // or "right" - }, - xaxes: [], - yaxes: [], - series: { - points: { - show: false, - radius: 3, - lineWidth: 2, // in pixels - fill: true, - fillColor: "#ffffff", - symbol: "circle" // or callback - }, - lines: { - // we don't put in show: false so we can see - // whether lines were actively disabled - lineWidth: 2, // in pixels - fill: false, - fillColor: null, - steps: false - }, - bars: { - show: false, - lineWidth: 2, // in pixels - barWidth: 1, // in units of the x axis - fill: true, - fillColor: null, - align: "left", // or "center" - horizontal: false - }, - shadowSize: 3 - }, - grid: { - show: true, - aboveData: false, - color: "#545454", // primary color used for outline and labels - backgroundColor: null, // null for transparent, else color - borderColor: null, // set if different from the grid color - tickColor: null, // color for the ticks, e.g. "rgba(0,0,0,0.15)" - labelMargin: 5, // in pixels - axisMargin: 8, // in pixels - borderWidth: 2, // in pixels - minBorderMargin: null, // in pixels, null means taken from points radius - markings: null, // array of ranges or fn: axes -> array of ranges - markingsColor: "#f4f4f4", - markingsLineWidth: 2, - // interactive stuff - clickable: false, - hoverable: false, - autoHighlight: true, // highlight in case mouse is near - mouseActiveRadius: 10 // how far the mouse can be away to activate an item - }, - hooks: {} - }, - canvas = null, // the canvas for the plot itself - overlay = null, // canvas for interactive stuff on top of plot - eventHolder = null, // jQuery object that events should be bound to - ctx = null, octx = null, - xaxes = [], yaxes = [], - plotOffset = { left: 0, right: 0, top: 0, bottom: 0}, - canvasWidth = 0, canvasHeight = 0, - plotWidth = 0, plotHeight = 0, - hooks = { - processOptions: [], - processRawData: [], - processDatapoints: [], - drawSeries: [], - draw: [], - bindEvents: [], - drawOverlay: [], - shutdown: [] - }, - plot = this; - - // public functions - plot.setData = setData; - plot.setupGrid = setupGrid; - plot.draw = draw; - plot.getPlaceholder = function() { return placeholder; }; - plot.getCanvas = function() { return canvas; }; - plot.getPlotOffset = function() { return plotOffset; }; - plot.width = function () { return plotWidth; }; - plot.height = function () { return plotHeight; }; - plot.offset = function () { - var o = eventHolder.offset(); - o.left += plotOffset.left; - o.top += plotOffset.top; - return o; - }; - plot.getData = function () { return series; }; - plot.getAxes = function () { - var res = {}, i; - $.each(xaxes.concat(yaxes), function (_, axis) { - if (axis) - res[axis.direction + (axis.n != 1 ? axis.n : "") + "axis"] = axis; - }); - return res; - }; - plot.getXAxes = function () { return xaxes; }; - plot.getYAxes = function () { return yaxes; }; - plot.c2p = canvasToAxisCoords; - plot.p2c = axisToCanvasCoords; - plot.getOptions = function () { return options; }; - plot.highlight = highlight; - plot.unhighlight = unhighlight; - plot.triggerRedrawOverlay = triggerRedrawOverlay; - plot.pointOffset = function(point) { - return { - left: parseInt(xaxes[axisNumber(point, "x") - 1].p2c(+point.x) + plotOffset.left), - top: parseInt(yaxes[axisNumber(point, "y") - 1].p2c(+point.y) + plotOffset.top) - }; - }; - plot.shutdown = shutdown; - plot.resize = function () { - getCanvasDimensions(); - resizeCanvas(canvas); - resizeCanvas(overlay); - }; - - // public attributes - plot.hooks = hooks; - - // initialize - initPlugins(plot); - parseOptions(options_); - setupCanvases(); - setData(data_); - setupGrid(); - draw(); - bindEvents(); - - - function executeHooks(hook, args) { - args = [plot].concat(args); - for (var i = 0; i < hook.length; ++i) - hook[i].apply(this, args); - } - - function initPlugins() { - for (var i = 0; i < plugins.length; ++i) { - var p = plugins[i]; - p.init(plot); - if (p.options) - $.extend(true, options, p.options); - } - } - - function parseOptions(opts) { - var i; - - $.extend(true, options, opts); - - if (options.xaxis.color == null) - options.xaxis.color = options.grid.color; - if (options.yaxis.color == null) - options.yaxis.color = options.grid.color; - - if (options.xaxis.tickColor == null) // backwards-compatibility - options.xaxis.tickColor = options.grid.tickColor; - if (options.yaxis.tickColor == null) // backwards-compatibility - options.yaxis.tickColor = options.grid.tickColor; - - if (options.grid.borderColor == null) - options.grid.borderColor = options.grid.color; - if (options.grid.tickColor == null) - options.grid.tickColor = $.color.parse(options.grid.color).scale('a', 0.22).toString(); - - // fill in defaults in axes, copy at least always the - // first as the rest of the code assumes it'll be there - for (i = 0; i < Math.max(1, options.xaxes.length); ++i) - options.xaxes[i] = $.extend(true, {}, options.xaxis, options.xaxes[i]); - for (i = 0; i < Math.max(1, options.yaxes.length); ++i) - options.yaxes[i] = $.extend(true, {}, options.yaxis, options.yaxes[i]); - - // backwards compatibility, to be removed in future - if (options.xaxis.noTicks && options.xaxis.ticks == null) - options.xaxis.ticks = options.xaxis.noTicks; - if (options.yaxis.noTicks && options.yaxis.ticks == null) - options.yaxis.ticks = options.yaxis.noTicks; - if (options.x2axis) { - options.xaxes[1] = $.extend(true, {}, options.xaxis, options.x2axis); - options.xaxes[1].position = "top"; - } - if (options.y2axis) { - options.yaxes[1] = $.extend(true, {}, options.yaxis, options.y2axis); - options.yaxes[1].position = "right"; - } - if (options.grid.coloredAreas) - options.grid.markings = options.grid.coloredAreas; - if (options.grid.coloredAreasColor) - options.grid.markingsColor = options.grid.coloredAreasColor; - if (options.lines) - $.extend(true, options.series.lines, options.lines); - if (options.points) - $.extend(true, options.series.points, options.points); - if (options.bars) - $.extend(true, options.series.bars, options.bars); - if (options.shadowSize != null) - options.series.shadowSize = options.shadowSize; - - // save options on axes for future reference - for (i = 0; i < options.xaxes.length; ++i) - getOrCreateAxis(xaxes, i + 1).options = options.xaxes[i]; - for (i = 0; i < options.yaxes.length; ++i) - getOrCreateAxis(yaxes, i + 1).options = options.yaxes[i]; - - // add hooks from options - for (var n in hooks) - if (options.hooks[n] && options.hooks[n].length) - hooks[n] = hooks[n].concat(options.hooks[n]); - - executeHooks(hooks.processOptions, [options]); - } - - function setData(d) { - series = parseData(d); - fillInSeriesOptions(); - processData(); - } - - function parseData(d) { - var res = []; - for (var i = 0; i < d.length; ++i) { - var s = $.extend(true, {}, options.series); - - if (d[i].data != null) { - s.data = d[i].data; // move the data instead of deep-copy - delete d[i].data; - - $.extend(true, s, d[i]); - - d[i].data = s.data; - } - else - s.data = d[i]; - res.push(s); - } - - return res; - } - - function axisNumber(obj, coord) { - var a = obj[coord + "axis"]; - if (typeof a == "object") // if we got a real axis, extract number - a = a.n; - if (typeof a != "number") - a = 1; // default to first axis - return a; - } - - function allAxes() { - // return flat array without annoying null entries - return $.grep(xaxes.concat(yaxes), function (a) { return a; }); - } - - function canvasToAxisCoords(pos) { - // return an object with x/y corresponding to all used axes - var res = {}, i, axis; - for (i = 0; i < xaxes.length; ++i) { - axis = xaxes[i]; - if (axis && axis.used) - res["x" + axis.n] = axis.c2p(pos.left); - } - - for (i = 0; i < yaxes.length; ++i) { - axis = yaxes[i]; - if (axis && axis.used) - res["y" + axis.n] = axis.c2p(pos.top); - } - - if (res.x1 !== undefined) - res.x = res.x1; - if (res.y1 !== undefined) - res.y = res.y1; - - return res; - } - - function axisToCanvasCoords(pos) { - // get canvas coords from the first pair of x/y found in pos - var res = {}, i, axis, key; - - for (i = 0; i < xaxes.length; ++i) { - axis = xaxes[i]; - if (axis && axis.used) { - key = "x" + axis.n; - if (pos[key] == null && axis.n == 1) - key = "x"; - - if (pos[key] != null) { - res.left = axis.p2c(pos[key]); - break; - } - } - } - - for (i = 0; i < yaxes.length; ++i) { - axis = yaxes[i]; - if (axis && axis.used) { - key = "y" + axis.n; - if (pos[key] == null && axis.n == 1) - key = "y"; - - if (pos[key] != null) { - res.top = axis.p2c(pos[key]); - break; - } - } - } - - return res; - } - - function getOrCreateAxis(axes, number) { - if (!axes[number - 1]) - axes[number - 1] = { - n: number, // save the number for future reference - direction: axes == xaxes ? "x" : "y", - options: $.extend(true, {}, axes == xaxes ? options.xaxis : options.yaxis) - }; - - return axes[number - 1]; - } - - function fillInSeriesOptions() { - var i; - - // collect what we already got of colors - var neededColors = series.length, - usedColors = [], - assignedColors = []; - for (i = 0; i < series.length; ++i) { - var sc = series[i].color; - if (sc != null) { - --neededColors; - if (typeof sc == "number") - assignedColors.push(sc); - else - usedColors.push($.color.parse(series[i].color)); - } - } - - // we might need to generate more colors if higher indices - // are assigned - for (i = 0; i < assignedColors.length; ++i) { - neededColors = Math.max(neededColors, assignedColors[i] + 1); - } - - // produce colors as needed - var colors = [], variation = 0; - i = 0; - while (colors.length < neededColors) { - var c; - if (options.colors.length == i) // check degenerate case - c = $.color.make(100, 100, 100); - else - c = $.color.parse(options.colors[i]); - - // vary color if needed - var sign = variation % 2 == 1 ? -1 : 1; - c.scale('rgb', 1 + sign * Math.ceil(variation / 2) * 0.2) - - // FIXME: if we're getting to close to something else, - // we should probably skip this one - colors.push(c); - - ++i; - if (i >= options.colors.length) { - i = 0; - ++variation; - } - } - - // fill in the options - var colori = 0, s; - for (i = 0; i < series.length; ++i) { - s = series[i]; - - // assign colors - if (s.color == null) { - s.color = colors[colori].toString(); - ++colori; - } - else if (typeof s.color == "number") - s.color = colors[s.color].toString(); - - // turn on lines automatically in case nothing is set - if (s.lines.show == null) { - var v, show = true; - for (v in s) - if (s[v] && s[v].show) { - show = false; - break; - } - if (show) - s.lines.show = true; - } - - // setup axes - s.xaxis = getOrCreateAxis(xaxes, axisNumber(s, "x")); - s.yaxis = getOrCreateAxis(yaxes, axisNumber(s, "y")); - } - } - - function processData() { - var topSentry = Number.POSITIVE_INFINITY, - bottomSentry = Number.NEGATIVE_INFINITY, - fakeInfinity = Number.MAX_VALUE, - i, j, k, m, length, - s, points, ps, x, y, axis, val, f, p; - - function updateAxis(axis, min, max) { - if (min < axis.datamin && min != -fakeInfinity) - axis.datamin = min; - if (max > axis.datamax && max != fakeInfinity) - axis.datamax = max; - } - - $.each(allAxes(), function (_, axis) { - // init axis - axis.datamin = topSentry; - axis.datamax = bottomSentry; - axis.used = false; - }); - - for (i = 0; i < series.length; ++i) { - s = series[i]; - s.datapoints = { points: [] }; - - executeHooks(hooks.processRawData, [ s, s.data, s.datapoints ]); - } - - // first pass: clean and copy data - for (i = 0; i < series.length; ++i) { - s = series[i]; - - var data = s.data, format = s.datapoints.format; - - if (!format) { - format = []; - // find out how to copy - format.push({ x: true, number: true, required: true }); - format.push({ y: true, number: true, required: true }); - - if (s.bars.show || (s.lines.show && s.lines.fill)) { - format.push({ y: true, number: true, required: false, defaultValue: 0 }); - if (s.bars.horizontal) { - delete format[format.length - 1].y; - format[format.length - 1].x = true; - } - } - - s.datapoints.format = format; - } - - if (s.datapoints.pointsize != null) - continue; // already filled in - - s.datapoints.pointsize = format.length; - - ps = s.datapoints.pointsize; - points = s.datapoints.points; - - insertSteps = s.lines.show && s.lines.steps; - s.xaxis.used = s.yaxis.used = true; - - for (j = k = 0; j < data.length; ++j, k += ps) { - p = data[j]; - - var nullify = p == null; - if (!nullify) { - for (m = 0; m < ps; ++m) { - val = p[m]; - f = format[m]; - - if (f) { - if (f.number && val != null) { - val = +val; // convert to number - if (isNaN(val)) - val = null; - else if (val == Infinity) - val = fakeInfinity; - else if (val == -Infinity) - val = -fakeInfinity; - } - - if (val == null) { - if (f.required) - nullify = true; - - if (f.defaultValue != null) - val = f.defaultValue; - } - } - - points[k + m] = val; - } - } - - if (nullify) { - for (m = 0; m < ps; ++m) { - val = points[k + m]; - if (val != null) { - f = format[m]; - // extract min/max info - if (f.x) - updateAxis(s.xaxis, val, val); - if (f.y) - updateAxis(s.yaxis, val, val); - } - points[k + m] = null; - } - } - else { - // a little bit of line specific stuff that - // perhaps shouldn't be here, but lacking - // better means... - if (insertSteps && k > 0 - && points[k - ps] != null - && points[k - ps] != points[k] - && points[k - ps + 1] != points[k + 1]) { - // copy the point to make room for a middle point - for (m = 0; m < ps; ++m) - points[k + ps + m] = points[k + m]; - - // middle point has same y - points[k + 1] = points[k - ps + 1]; - - // we've added a point, better reflect that - k += ps; - } - } - } - } - - // give the hooks a chance to run - for (i = 0; i < series.length; ++i) { - s = series[i]; - - executeHooks(hooks.processDatapoints, [ s, s.datapoints]); - } - - // second pass: find datamax/datamin for auto-scaling - for (i = 0; i < series.length; ++i) { - s = series[i]; - points = s.datapoints.points, - ps = s.datapoints.pointsize; - - var xmin = topSentry, ymin = topSentry, - xmax = bottomSentry, ymax = bottomSentry; - - for (j = 0; j < points.length; j += ps) { - if (points[j] == null) - continue; - - for (m = 0; m < ps; ++m) { - val = points[j + m]; - f = format[m]; - if (!f || val == fakeInfinity || val == -fakeInfinity) - continue; - - if (f.x) { - if (val < xmin) - xmin = val; - if (val > xmax) - xmax = val; - } - if (f.y) { - if (val < ymin) - ymin = val; - if (val > ymax) - ymax = val; - } - } - } - - if (s.bars.show) { - // make sure we got room for the bar on the dancing floor - var delta = s.bars.align == "left" ? 0 : -s.bars.barWidth/2; - if (s.bars.horizontal) { - ymin += delta; - ymax += delta + s.bars.barWidth; - } - else { - xmin += delta; - xmax += delta + s.bars.barWidth; - } - } - - updateAxis(s.xaxis, xmin, xmax); - updateAxis(s.yaxis, ymin, ymax); - } - - $.each(allAxes(), function (_, axis) { - if (axis.datamin == topSentry) - axis.datamin = null; - if (axis.datamax == bottomSentry) - axis.datamax = null; - }); - } - - function makeCanvas(skipPositioning, cls) { - var c = document.createElement('canvas'); - c.className = cls; - c.width = canvasWidth; - c.height = canvasHeight; - - if (!skipPositioning) - $(c).css({ position: 'absolute', left: 0, top: 0 }); - - $(c).appendTo(placeholder); - - if (!c.getContext) // excanvas hack - c = window.G_vmlCanvasManager.initElement(c); - - // used for resetting in case we get replotted - c.getContext("2d").save(); - - return c; - } - - function getCanvasDimensions() { - canvasWidth = placeholder.width(); - canvasHeight = placeholder.height(); - - if (canvasWidth <= 0 || canvasHeight <= 0) - throw "Invalid dimensions for plot, width = " + canvasWidth + ", height = " + canvasHeight; - } - - function resizeCanvas(c) { - // resizing should reset the state (excanvas seems to be - // buggy though) - if (c.width != canvasWidth) - c.width = canvasWidth; - - if (c.height != canvasHeight) - c.height = canvasHeight; - - // so try to get back to the initial state (even if it's - // gone now, this should be safe according to the spec) - var cctx = c.getContext("2d"); - cctx.restore(); - - // and save again - cctx.save(); - } - - function setupCanvases() { - var reused, - existingCanvas = placeholder.children("canvas.base"), - existingOverlay = placeholder.children("canvas.overlay"); - - if (existingCanvas.length == 0 || existingOverlay == 0) { - // init everything - - placeholder.html(""); // make sure placeholder is clear - - placeholder.css({ padding: 0 }); // padding messes up the positioning - - if (placeholder.css("position") == 'static') - placeholder.css("position", "relative"); // for positioning labels and overlay - - getCanvasDimensions(); - - canvas = makeCanvas(true, "base"); - overlay = makeCanvas(false, "overlay"); // overlay canvas for interactive features - - reused = false; - } - else { - // reuse existing elements - - canvas = existingCanvas.get(0); - overlay = existingOverlay.get(0); - - reused = true; - } - - ctx = canvas.getContext("2d"); - octx = overlay.getContext("2d"); - - // we include the canvas in the event holder too, because IE 7 - // sometimes has trouble with the stacking order - eventHolder = $([overlay, canvas]); - - if (reused) { - // run shutdown in the old plot object - placeholder.data("plot").shutdown(); - - // reset reused canvases - plot.resize(); - - // make sure overlay pixels are cleared (canvas is cleared when we redraw) - octx.clearRect(0, 0, canvasWidth, canvasHeight); - - // then whack any remaining obvious garbage left - eventHolder.unbind(); - placeholder.children().not([canvas, overlay]).remove(); - } - - // save in case we get replotted - placeholder.data("plot", plot); - } - - function bindEvents() { - // bind events - if (options.grid.hoverable) { - eventHolder.mousemove(onMouseMove); - eventHolder.mouseleave(onMouseLeave); - } - - if (options.grid.clickable) - eventHolder.click(onClick); - - executeHooks(hooks.bindEvents, [eventHolder]); - } - - function shutdown() { - if (redrawTimeout) - clearTimeout(redrawTimeout); - - eventHolder.unbind("mousemove", onMouseMove); - eventHolder.unbind("mouseleave", onMouseLeave); - eventHolder.unbind("click", onClick); - - executeHooks(hooks.shutdown, [eventHolder]); - } - - function setTransformationHelpers(axis) { - // set helper functions on the axis, assumes plot area - // has been computed already - - function identity(x) { return x; } - - var s, m, t = axis.options.transform || identity, - it = axis.options.inverseTransform; - - // precompute how much the axis is scaling a point - // in canvas space - if (axis.direction == "x") { - s = axis.scale = plotWidth / Math.abs(t(axis.max) - t(axis.min)); - m = Math.min(t(axis.max), t(axis.min)); - } - else { - s = axis.scale = plotHeight / Math.abs(t(axis.max) - t(axis.min)); - s = -s; - m = Math.max(t(axis.max), t(axis.min)); - } - - // data point to canvas coordinate - if (t == identity) // slight optimization - axis.p2c = function (p) { return (p - m) * s; }; - else - axis.p2c = function (p) { return (t(p) - m) * s; }; - // canvas coordinate to data point - if (!it) - axis.c2p = function (c) { return m + c / s; }; - else - axis.c2p = function (c) { return it(m + c / s); }; - } - - function measureTickLabels(axis) { - var opts = axis.options, i, ticks = axis.ticks || [], labels = [], - l, w = opts.labelWidth, h = opts.labelHeight, dummyDiv; - - function makeDummyDiv(labels, width) { - return $('
            ' + - '
            ' - + labels.join("") + '
            ') - .appendTo(placeholder); - } - - if (axis.direction == "x") { - // to avoid measuring the widths of the labels (it's slow), we - // construct fixed-size boxes and put the labels inside - // them, we don't need the exact figures and the - // fixed-size box content is easy to center - if (w == null) - w = Math.floor(canvasWidth / (ticks.length > 0 ? ticks.length : 1)); - - // measure x label heights - if (h == null) { - labels = []; - for (i = 0; i < ticks.length; ++i) { - l = ticks[i].label; - if (l) - labels.push('
            ' + l + '
            '); - } - - if (labels.length > 0) { - // stick them all in the same div and measure - // collective height - labels.push('
            '); - dummyDiv = makeDummyDiv(labels, "width:10000px;"); - h = dummyDiv.height(); - dummyDiv.remove(); - } - } - } - else if (w == null || h == null) { - // calculate y label dimensions - for (i = 0; i < ticks.length; ++i) { - l = ticks[i].label; - if (l) - labels.push('
            ' + l + '
            '); - } - - if (labels.length > 0) { - dummyDiv = makeDummyDiv(labels, ""); - if (w == null) - w = dummyDiv.children().width(); - if (h == null) - h = dummyDiv.find("div.tickLabel").height(); - dummyDiv.remove(); - } - } - - if (w == null) - w = 0; - if (h == null) - h = 0; - - axis.labelWidth = w; - axis.labelHeight = h; - } - - function allocateAxisBoxFirstPhase(axis) { - // find the bounding box of the axis by looking at label - // widths/heights and ticks, make room by diminishing the - // plotOffset - - var lw = axis.labelWidth, - lh = axis.labelHeight, - pos = axis.options.position, - tickLength = axis.options.tickLength, - axismargin = options.grid.axisMargin, - padding = options.grid.labelMargin, - all = axis.direction == "x" ? xaxes : yaxes, - index; - - // determine axis margin - var samePosition = $.grep(all, function (a) { - return a && a.options.position == pos && a.reserveSpace; - }); - if ($.inArray(axis, samePosition) == samePosition.length - 1) - axismargin = 0; // outermost - - // determine tick length - if we're innermost, we can use "full" - if (tickLength == null) - tickLength = "full"; - - var sameDirection = $.grep(all, function (a) { - return a && a.reserveSpace; - }); - - var innermost = $.inArray(axis, sameDirection) == 0; - if (!innermost && tickLength == "full") - tickLength = 5; - - if (!isNaN(+tickLength)) - padding += +tickLength; - - // compute box - if (axis.direction == "x") { - lh += padding; - - if (pos == "bottom") { - plotOffset.bottom += lh + axismargin; - axis.box = { top: canvasHeight - plotOffset.bottom, height: lh }; - } - else { - axis.box = { top: plotOffset.top + axismargin, height: lh }; - plotOffset.top += lh + axismargin; - } - } - else { - lw += padding; - - if (pos == "left") { - axis.box = { left: plotOffset.left + axismargin, width: lw }; - plotOffset.left += lw + axismargin; - } - else { - plotOffset.right += lw + axismargin; - axis.box = { left: canvasWidth - plotOffset.right, width: lw }; - } - } - - // save for future reference - axis.position = pos; - axis.tickLength = tickLength; - axis.box.padding = padding; - axis.innermost = innermost; - } - - function allocateAxisBoxSecondPhase(axis) { - // set remaining bounding box coordinates - if (axis.direction == "x") { - axis.box.left = plotOffset.left; - axis.box.width = plotWidth; - } - else { - axis.box.top = plotOffset.top; - axis.box.height = plotHeight; - } - } - - function setupGrid() { - var i, axes = allAxes(); - - // first calculate the plot and axis box dimensions - - $.each(axes, function (_, axis) { - axis.show = axis.options.show; - if (axis.show == null) - axis.show = axis.used; // by default an axis is visible if it's got data - - axis.reserveSpace = axis.show || axis.options.reserveSpace; - - setRange(axis); - }); - - allocatedAxes = $.grep(axes, function (axis) { return axis.reserveSpace; }); - - plotOffset.left = plotOffset.right = plotOffset.top = plotOffset.bottom = 0; - if (options.grid.show) { - $.each(allocatedAxes, function (_, axis) { - // make the ticks - setupTickGeneration(axis); - setTicks(axis); - snapRangeToTicks(axis, axis.ticks); - - // find labelWidth/Height for axis - measureTickLabels(axis); - }); - - // with all dimensions in house, we can compute the - // axis boxes, start from the outside (reverse order) - for (i = allocatedAxes.length - 1; i >= 0; --i) - allocateAxisBoxFirstPhase(allocatedAxes[i]); - - // make sure we've got enough space for things that - // might stick out - var minMargin = options.grid.minBorderMargin; - if (minMargin == null) { - minMargin = 0; - for (i = 0; i < series.length; ++i) - minMargin = Math.max(minMargin, series[i].points.radius + series[i].points.lineWidth/2); - } - - for (var a in plotOffset) { - plotOffset[a] += options.grid.borderWidth; - plotOffset[a] = Math.max(minMargin, plotOffset[a]); - } - } - - plotWidth = canvasWidth - plotOffset.left - plotOffset.right; - plotHeight = canvasHeight - plotOffset.bottom - plotOffset.top; - - // now we got the proper plotWidth/Height, we can compute the scaling - $.each(axes, function (_, axis) { - setTransformationHelpers(axis); - }); - - if (options.grid.show) { - $.each(allocatedAxes, function (_, axis) { - allocateAxisBoxSecondPhase(axis); - }); - - insertAxisLabels(); - } - - insertLegend(); - } - - function setRange(axis) { - var opts = axis.options, - min = +(opts.min != null ? opts.min : axis.datamin), - max = +(opts.max != null ? opts.max : axis.datamax), - delta = max - min; - - if (delta == 0.0) { - // degenerate case - var widen = max == 0 ? 1 : 0.01; - - if (opts.min == null) - min -= widen; - // always widen max if we couldn't widen min to ensure we - // don't fall into min == max which doesn't work - if (opts.max == null || opts.min != null) - max += widen; - } - else { - // consider autoscaling - var margin = opts.autoscaleMargin; - if (margin != null) { - if (opts.min == null) { - min -= delta * margin; - // make sure we don't go below zero if all values - // are positive - if (min < 0 && axis.datamin != null && axis.datamin >= 0) - min = 0; - } - if (opts.max == null) { - max += delta * margin; - if (max > 0 && axis.datamax != null && axis.datamax <= 0) - max = 0; - } - } - } - axis.min = min; - axis.max = max; - } - - function setupTickGeneration(axis) { - var opts = axis.options; - - // estimate number of ticks - var noTicks; - if (typeof opts.ticks == "number" && opts.ticks > 0) - noTicks = opts.ticks; - else - // heuristic based on the model a*sqrt(x) fitted to - // some data points that seemed reasonable - noTicks = 0.3 * Math.sqrt(axis.direction == "x" ? canvasWidth : canvasHeight); - - var delta = (axis.max - axis.min) / noTicks, - size, generator, unit, formatter, i, magn, norm; - - if (opts.mode == "time") { - // pretty handling of time - - // map of app. size of time units in milliseconds - var timeUnitSize = { - "second": 1000, - "minute": 60 * 1000, - "hour": 60 * 60 * 1000, - "day": 24 * 60 * 60 * 1000, - "month": 30 * 24 * 60 * 60 * 1000, - "year": 365.2425 * 24 * 60 * 60 * 1000 - }; - - - // the allowed tick sizes, after 1 year we use - // an integer algorithm - var spec = [ - [1, "second"], [2, "second"], [5, "second"], [10, "second"], - [30, "second"], - [1, "minute"], [2, "minute"], [5, "minute"], [10, "minute"], - [30, "minute"], - [1, "hour"], [2, "hour"], [4, "hour"], - [8, "hour"], [12, "hour"], - [1, "day"], [2, "day"], [3, "day"], - [0.25, "month"], [0.5, "month"], [1, "month"], - [2, "month"], [3, "month"], [6, "month"], - [1, "year"] - ]; - - var minSize = 0; - if (opts.minTickSize != null) { - if (typeof opts.tickSize == "number") - minSize = opts.tickSize; - else - minSize = opts.minTickSize[0] * timeUnitSize[opts.minTickSize[1]]; - } - - for (var i = 0; i < spec.length - 1; ++i) - if (delta < (spec[i][0] * timeUnitSize[spec[i][1]] - + spec[i + 1][0] * timeUnitSize[spec[i + 1][1]]) / 2 - && spec[i][0] * timeUnitSize[spec[i][1]] >= minSize) - break; - size = spec[i][0]; - unit = spec[i][1]; - - // special-case the possibility of several years - if (unit == "year") { - magn = Math.pow(10, Math.floor(Math.log(delta / timeUnitSize.year) / Math.LN10)); - norm = (delta / timeUnitSize.year) / magn; - if (norm < 1.5) - size = 1; - else if (norm < 3) - size = 2; - else if (norm < 7.5) - size = 5; - else - size = 10; - - size *= magn; - } - - axis.tickSize = opts.tickSize || [size, unit]; - - generator = function(axis) { - var ticks = [], - tickSize = axis.tickSize[0], unit = axis.tickSize[1], - d = new Date(axis.min); - - var step = tickSize * timeUnitSize[unit]; - - if (unit == "second") - d.setUTCSeconds(floorInBase(d.getUTCSeconds(), tickSize)); - if (unit == "minute") - d.setUTCMinutes(floorInBase(d.getUTCMinutes(), tickSize)); - if (unit == "hour") - d.setUTCHours(floorInBase(d.getUTCHours(), tickSize)); - if (unit == "month") - d.setUTCMonth(floorInBase(d.getUTCMonth(), tickSize)); - if (unit == "year") - d.setUTCFullYear(floorInBase(d.getUTCFullYear(), tickSize)); - - // reset smaller components - d.setUTCMilliseconds(0); - if (step >= timeUnitSize.minute) - d.setUTCSeconds(0); - if (step >= timeUnitSize.hour) - d.setUTCMinutes(0); - if (step >= timeUnitSize.day) - d.setUTCHours(0); - if (step >= timeUnitSize.day * 4) - d.setUTCDate(1); - if (step >= timeUnitSize.year) - d.setUTCMonth(0); - - - var carry = 0, v = Number.NaN, prev; - do { - prev = v; - v = d.getTime(); - ticks.push(v); - if (unit == "month") { - if (tickSize < 1) { - // a bit complicated - we'll divide the month - // up but we need to take care of fractions - // so we don't end up in the middle of a day - d.setUTCDate(1); - var start = d.getTime(); - d.setUTCMonth(d.getUTCMonth() + 1); - var end = d.getTime(); - d.setTime(v + carry * timeUnitSize.hour + (end - start) * tickSize); - carry = d.getUTCHours(); - d.setUTCHours(0); - } - else - d.setUTCMonth(d.getUTCMonth() + tickSize); - } - else if (unit == "year") { - d.setUTCFullYear(d.getUTCFullYear() + tickSize); - } - else - d.setTime(v + step); - } while (v < axis.max && v != prev); - - return ticks; - }; - - formatter = function (v, axis) { - var d = new Date(v); - - // first check global format - if (opts.timeformat != null) - return $.plot.formatDate(d, opts.timeformat, opts.monthNames); - - var t = axis.tickSize[0] * timeUnitSize[axis.tickSize[1]]; - var span = axis.max - axis.min; - var suffix = (opts.twelveHourClock) ? " %p" : ""; - - if (t < timeUnitSize.minute) - fmt = "%h:%M:%S" + suffix; - else if (t < timeUnitSize.day) { - if (span < 2 * timeUnitSize.day) - fmt = "%h:%M" + suffix; - else - fmt = "%b %d %h:%M" + suffix; - } - else if (t < timeUnitSize.month) - fmt = "%b %d"; - else if (t < timeUnitSize.year) { - if (span < timeUnitSize.year) - fmt = "%b"; - else - fmt = "%b %y"; - } - else - fmt = "%y"; - - return $.plot.formatDate(d, fmt, opts.monthNames); - }; - } - else { - // pretty rounding of base-10 numbers - var maxDec = opts.tickDecimals; - var dec = -Math.floor(Math.log(delta) / Math.LN10); - if (maxDec != null && dec > maxDec) - dec = maxDec; - - magn = Math.pow(10, -dec); - norm = delta / magn; // norm is between 1.0 and 10.0 - - if (norm < 1.5) - size = 1; - else if (norm < 3) { - size = 2; - // special case for 2.5, requires an extra decimal - if (norm > 2.25 && (maxDec == null || dec + 1 <= maxDec)) { - size = 2.5; - ++dec; - } - } - else if (norm < 7.5) - size = 5; - else - size = 10; - - size *= magn; - - if (opts.minTickSize != null && size < opts.minTickSize) - size = opts.minTickSize; - - axis.tickDecimals = Math.max(0, maxDec != null ? maxDec : dec); - axis.tickSize = opts.tickSize || size; - - generator = function (axis) { - var ticks = []; - - // spew out all possible ticks - var start = floorInBase(axis.min, axis.tickSize), - i = 0, v = Number.NaN, prev; - do { - prev = v; - v = start + i * axis.tickSize; - ticks.push(v); - ++i; - } while (v < axis.max && v != prev); - return ticks; - }; - - formatter = function (v, axis) { - return v.toFixed(axis.tickDecimals); - }; - } - - if (opts.alignTicksWithAxis != null) { - var otherAxis = (axis.direction == "x" ? xaxes : yaxes)[opts.alignTicksWithAxis - 1]; - if (otherAxis && otherAxis.used && otherAxis != axis) { - // consider snapping min/max to outermost nice ticks - var niceTicks = generator(axis); - if (niceTicks.length > 0) { - if (opts.min == null) - axis.min = Math.min(axis.min, niceTicks[0]); - if (opts.max == null && niceTicks.length > 1) - axis.max = Math.max(axis.max, niceTicks[niceTicks.length - 1]); - } - - generator = function (axis) { - // copy ticks, scaled to this axis - var ticks = [], v, i; - for (i = 0; i < otherAxis.ticks.length; ++i) { - v = (otherAxis.ticks[i].v - otherAxis.min) / (otherAxis.max - otherAxis.min); - v = axis.min + v * (axis.max - axis.min); - ticks.push(v); - } - return ticks; - }; - - // we might need an extra decimal since forced - // ticks don't necessarily fit naturally - if (axis.mode != "time" && opts.tickDecimals == null) { - var extraDec = Math.max(0, -Math.floor(Math.log(delta) / Math.LN10) + 1), - ts = generator(axis); - - // only proceed if the tick interval rounded - // with an extra decimal doesn't give us a - // zero at end - if (!(ts.length > 1 && /\..*0$/.test((ts[1] - ts[0]).toFixed(extraDec)))) - axis.tickDecimals = extraDec; - } - } - } - - axis.tickGenerator = generator; - if ($.isFunction(opts.tickFormatter)) - axis.tickFormatter = function (v, axis) { return "" + opts.tickFormatter(v, axis); }; - else - axis.tickFormatter = formatter; - } - - function setTicks(axis) { - var oticks = axis.options.ticks, ticks = []; - if (oticks == null || (typeof oticks == "number" && oticks > 0)) - ticks = axis.tickGenerator(axis); - else if (oticks) { - if ($.isFunction(oticks)) - // generate the ticks - ticks = oticks({ min: axis.min, max: axis.max }); - else - ticks = oticks; - } - - // clean up/labelify the supplied ticks, copy them over - var i, v; - axis.ticks = []; - for (i = 0; i < ticks.length; ++i) { - var label = null; - var t = ticks[i]; - if (typeof t == "object") { - v = +t[0]; - if (t.length > 1) - label = t[1]; - } - else - v = +t; - if (label == null) - label = axis.tickFormatter(v, axis); - if (!isNaN(v)) - axis.ticks.push({ v: v, label: label }); - } - } - - function snapRangeToTicks(axis, ticks) { - if (axis.options.autoscaleMargin && ticks.length > 0) { - // snap to ticks - if (axis.options.min == null) - axis.min = Math.min(axis.min, ticks[0].v); - if (axis.options.max == null && ticks.length > 1) - axis.max = Math.max(axis.max, ticks[ticks.length - 1].v); - } - } - - function draw() { - ctx.clearRect(0, 0, canvasWidth, canvasHeight); - - var grid = options.grid; - - // draw background, if any - if (grid.show && grid.backgroundColor) - drawBackground(); - - if (grid.show && !grid.aboveData) - drawGrid(); - - for (var i = 0; i < series.length; ++i) { - executeHooks(hooks.drawSeries, [ctx, series[i]]); - drawSeries(series[i]); - } - - executeHooks(hooks.draw, [ctx]); - - if (grid.show && grid.aboveData) - drawGrid(); - } - - function extractRange(ranges, coord) { - var axis, from, to, key, axes = allAxes(); - - for (i = 0; i < axes.length; ++i) { - axis = axes[i]; - if (axis.direction == coord) { - key = coord + axis.n + "axis"; - if (!ranges[key] && axis.n == 1) - key = coord + "axis"; // support x1axis as xaxis - if (ranges[key]) { - from = ranges[key].from; - to = ranges[key].to; - break; - } - } - } - - // backwards-compat stuff - to be removed in future - if (!ranges[key]) { - axis = coord == "x" ? xaxes[0] : yaxes[0]; - from = ranges[coord + "1"]; - to = ranges[coord + "2"]; - } - - // auto-reverse as an added bonus - if (from != null && to != null && from > to) { - var tmp = from; - from = to; - to = tmp; - } - - return { from: from, to: to, axis: axis }; - } - - function drawBackground() { - ctx.save(); - ctx.translate(plotOffset.left, plotOffset.top); - - ctx.fillStyle = getColorOrGradient(options.grid.backgroundColor, plotHeight, 0, "rgba(255, 255, 255, 0)"); - ctx.fillRect(0, 0, plotWidth, plotHeight); - ctx.restore(); - } - - function drawGrid() { - var i; - - ctx.save(); - ctx.translate(plotOffset.left, plotOffset.top); - - // draw markings - var markings = options.grid.markings; - if (markings) { - if ($.isFunction(markings)) { - var axes = plot.getAxes(); - // xmin etc. is backwards compatibility, to be - // removed in the future - axes.xmin = axes.xaxis.min; - axes.xmax = axes.xaxis.max; - axes.ymin = axes.yaxis.min; - axes.ymax = axes.yaxis.max; - - markings = markings(axes); - } - - for (i = 0; i < markings.length; ++i) { - var m = markings[i], - xrange = extractRange(m, "x"), - yrange = extractRange(m, "y"); - - // fill in missing - if (xrange.from == null) - xrange.from = xrange.axis.min; - if (xrange.to == null) - xrange.to = xrange.axis.max; - if (yrange.from == null) - yrange.from = yrange.axis.min; - if (yrange.to == null) - yrange.to = yrange.axis.max; - - // clip - if (xrange.to < xrange.axis.min || xrange.from > xrange.axis.max || - yrange.to < yrange.axis.min || yrange.from > yrange.axis.max) - continue; - - xrange.from = Math.max(xrange.from, xrange.axis.min); - xrange.to = Math.min(xrange.to, xrange.axis.max); - yrange.from = Math.max(yrange.from, yrange.axis.min); - yrange.to = Math.min(yrange.to, yrange.axis.max); - - if (xrange.from == xrange.to && yrange.from == yrange.to) - continue; - - // then draw - xrange.from = xrange.axis.p2c(xrange.from); - xrange.to = xrange.axis.p2c(xrange.to); - yrange.from = yrange.axis.p2c(yrange.from); - yrange.to = yrange.axis.p2c(yrange.to); - - if (xrange.from == xrange.to || yrange.from == yrange.to) { - // draw line - ctx.beginPath(); - ctx.strokeStyle = m.color || options.grid.markingsColor; - ctx.lineWidth = m.lineWidth || options.grid.markingsLineWidth; - ctx.moveTo(xrange.from, yrange.from); - ctx.lineTo(xrange.to, yrange.to); - ctx.stroke(); - } - else { - // fill area - ctx.fillStyle = m.color || options.grid.markingsColor; - ctx.fillRect(xrange.from, yrange.to, - xrange.to - xrange.from, - yrange.from - yrange.to); - } - } - } - - // draw the ticks - var axes = allAxes(), bw = options.grid.borderWidth; - - for (var j = 0; j < axes.length; ++j) { - var axis = axes[j], box = axis.box, - t = axis.tickLength, x, y, xoff, yoff; - if (!axis.show || axis.ticks.length == 0) - continue - - ctx.strokeStyle = axis.options.tickColor || $.color.parse(axis.options.color).scale('a', 0.22).toString(); - ctx.lineWidth = 1; - - // find the edges - if (axis.direction == "x") { - x = 0; - if (t == "full") - y = (axis.position == "top" ? 0 : plotHeight); - else - y = box.top - plotOffset.top + (axis.position == "top" ? box.height : 0); - } - else { - y = 0; - if (t == "full") - x = (axis.position == "left" ? 0 : plotWidth); - else - x = box.left - plotOffset.left + (axis.position == "left" ? box.width : 0); - } - - // draw tick bar - if (!axis.innermost) { - ctx.beginPath(); - xoff = yoff = 0; - if (axis.direction == "x") - xoff = plotWidth; - else - yoff = plotHeight; - - if (ctx.lineWidth == 1) { - x = Math.floor(x) + 0.5; - y = Math.floor(y) + 0.5; - } - - ctx.moveTo(x, y); - ctx.lineTo(x + xoff, y + yoff); - ctx.stroke(); - } - - // draw ticks - ctx.beginPath(); - for (i = 0; i < axis.ticks.length; ++i) { - var v = axis.ticks[i].v; - - xoff = yoff = 0; - - if (v < axis.min || v > axis.max - // skip those lying on the axes if we got a border - || (t == "full" && bw > 0 - && (v == axis.min || v == axis.max))) - continue; - - if (axis.direction == "x") { - x = axis.p2c(v); - yoff = t == "full" ? -plotHeight : t; - - if (axis.position == "top") - yoff = -yoff; - } - else { - y = axis.p2c(v); - xoff = t == "full" ? -plotWidth : t; - - if (axis.position == "left") - xoff = -xoff; - } - - if (ctx.lineWidth == 1) { - if (axis.direction == "x") - x = Math.floor(x) + 0.5; - else - y = Math.floor(y) + 0.5; - } - - ctx.moveTo(x, y); - ctx.lineTo(x + xoff, y + yoff); - } - - ctx.stroke(); - } - - - // draw border - if (bw) { - ctx.lineWidth = bw; - ctx.strokeStyle = options.grid.borderColor; - ctx.strokeRect(-bw/2, -bw/2, plotWidth + bw, plotHeight + bw); - } - - ctx.restore(); - } - - function insertAxisLabels() { - placeholder.find(".tickLabels").remove(); - - var html = ['
            ']; - - var axes = allAxes(); - for (var j = 0; j < axes.length; ++j) { - var axis = axes[j], box = axis.box; - if (!axis.show) - continue; - //debug: html.push('
            ') - html.push('
            '); - for (var i = 0; i < axis.ticks.length; ++i) { - var tick = axis.ticks[i]; - if (!tick.label || tick.v < axis.min || tick.v > axis.max) - continue; - - var pos = {}, align; - - if (axis.direction == "x") { - align = "center"; - pos.left = Math.round(plotOffset.left + axis.p2c(tick.v) - axis.labelWidth/2); - if (axis.position == "bottom") - pos.top = box.top + box.padding; - else - pos.bottom = canvasHeight - (box.top + box.height - box.padding); - } - else { - pos.top = Math.round(plotOffset.top + axis.p2c(tick.v) - axis.labelHeight/2); - if (axis.position == "left") { - pos.right = canvasWidth - (box.left + box.width - box.padding) - align = "right"; - } - else { - pos.left = box.left + box.padding; - align = "left"; - } - } - - pos.width = axis.labelWidth; - - var style = ["position:absolute", "text-align:" + align ]; - for (var a in pos) - style.push(a + ":" + pos[a] + "px") - - html.push('
            ' + tick.label + '
            '); - } - html.push('
            '); - } - - html.push('
            '); - - placeholder.append(html.join("")); - } - - function drawSeries(series) { - if (series.lines.show) - drawSeriesLines(series); - if (series.bars.show) - drawSeriesBars(series); - if (series.points.show) - drawSeriesPoints(series); - } - - function drawSeriesLines(series) { - function plotLine(datapoints, xoffset, yoffset, axisx, axisy) { - var points = datapoints.points, - ps = datapoints.pointsize, - prevx = null, prevy = null; - - ctx.beginPath(); - for (var i = ps; i < points.length; i += ps) { - var x1 = points[i - ps], y1 = points[i - ps + 1], - x2 = points[i], y2 = points[i + 1]; - - if (x1 == null || x2 == null) - continue; - - // clip with ymin - if (y1 <= y2 && y1 < axisy.min) { - if (y2 < axisy.min) - continue; // line segment is outside - // compute new intersection point - x1 = (axisy.min - y1) / (y2 - y1) * (x2 - x1) + x1; - y1 = axisy.min; - } - else if (y2 <= y1 && y2 < axisy.min) { - if (y1 < axisy.min) - continue; - x2 = (axisy.min - y1) / (y2 - y1) * (x2 - x1) + x1; - y2 = axisy.min; - } - - // clip with ymax - if (y1 >= y2 && y1 > axisy.max) { - if (y2 > axisy.max) - continue; - x1 = (axisy.max - y1) / (y2 - y1) * (x2 - x1) + x1; - y1 = axisy.max; - } - else if (y2 >= y1 && y2 > axisy.max) { - if (y1 > axisy.max) - continue; - x2 = (axisy.max - y1) / (y2 - y1) * (x2 - x1) + x1; - y2 = axisy.max; - } - - // clip with xmin - if (x1 <= x2 && x1 < axisx.min) { - if (x2 < axisx.min) - continue; - y1 = (axisx.min - x1) / (x2 - x1) * (y2 - y1) + y1; - x1 = axisx.min; - } - else if (x2 <= x1 && x2 < axisx.min) { - if (x1 < axisx.min) - continue; - y2 = (axisx.min - x1) / (x2 - x1) * (y2 - y1) + y1; - x2 = axisx.min; - } - - // clip with xmax - if (x1 >= x2 && x1 > axisx.max) { - if (x2 > axisx.max) - continue; - y1 = (axisx.max - x1) / (x2 - x1) * (y2 - y1) + y1; - x1 = axisx.max; - } - else if (x2 >= x1 && x2 > axisx.max) { - if (x1 > axisx.max) - continue; - y2 = (axisx.max - x1) / (x2 - x1) * (y2 - y1) + y1; - x2 = axisx.max; - } - - if (x1 != prevx || y1 != prevy) - ctx.moveTo(axisx.p2c(x1) + xoffset, axisy.p2c(y1) + yoffset); - - prevx = x2; - prevy = y2; - ctx.lineTo(axisx.p2c(x2) + xoffset, axisy.p2c(y2) + yoffset); - } - ctx.stroke(); - } - - function plotLineArea(datapoints, axisx, axisy) { - var points = datapoints.points, - ps = datapoints.pointsize, - bottom = Math.min(Math.max(0, axisy.min), axisy.max), - i = 0, top, areaOpen = false, - ypos = 1, segmentStart = 0, segmentEnd = 0; - - // we process each segment in two turns, first forward - // direction to sketch out top, then once we hit the - // end we go backwards to sketch the bottom - while (true) { - if (ps > 0 && i > points.length + ps) - break; - - i += ps; // ps is negative if going backwards - - var x1 = points[i - ps], - y1 = points[i - ps + ypos], - x2 = points[i], y2 = points[i + ypos]; - - if (areaOpen) { - if (ps > 0 && x1 != null && x2 == null) { - // at turning point - segmentEnd = i; - ps = -ps; - ypos = 2; - continue; - } - - if (ps < 0 && i == segmentStart + ps) { - // done with the reverse sweep - ctx.fill(); - areaOpen = false; - ps = -ps; - ypos = 1; - i = segmentStart = segmentEnd + ps; - continue; - } - } - - if (x1 == null || x2 == null) - continue; - - // clip x values - - // clip with xmin - if (x1 <= x2 && x1 < axisx.min) { - if (x2 < axisx.min) - continue; - y1 = (axisx.min - x1) / (x2 - x1) * (y2 - y1) + y1; - x1 = axisx.min; - } - else if (x2 <= x1 && x2 < axisx.min) { - if (x1 < axisx.min) - continue; - y2 = (axisx.min - x1) / (x2 - x1) * (y2 - y1) + y1; - x2 = axisx.min; - } - - // clip with xmax - if (x1 >= x2 && x1 > axisx.max) { - if (x2 > axisx.max) - continue; - y1 = (axisx.max - x1) / (x2 - x1) * (y2 - y1) + y1; - x1 = axisx.max; - } - else if (x2 >= x1 && x2 > axisx.max) { - if (x1 > axisx.max) - continue; - y2 = (axisx.max - x1) / (x2 - x1) * (y2 - y1) + y1; - x2 = axisx.max; - } - - if (!areaOpen) { - // open area - ctx.beginPath(); - ctx.moveTo(axisx.p2c(x1), axisy.p2c(bottom)); - areaOpen = true; - } - - // now first check the case where both is outside - if (y1 >= axisy.max && y2 >= axisy.max) { - ctx.lineTo(axisx.p2c(x1), axisy.p2c(axisy.max)); - ctx.lineTo(axisx.p2c(x2), axisy.p2c(axisy.max)); - continue; - } - else if (y1 <= axisy.min && y2 <= axisy.min) { - ctx.lineTo(axisx.p2c(x1), axisy.p2c(axisy.min)); - ctx.lineTo(axisx.p2c(x2), axisy.p2c(axisy.min)); - continue; - } - - // else it's a bit more complicated, there might - // be a flat maxed out rectangle first, then a - // triangular cutout or reverse; to find these - // keep track of the current x values - var x1old = x1, x2old = x2; - - // clip the y values, without shortcutting, we - // go through all cases in turn - - // clip with ymin - if (y1 <= y2 && y1 < axisy.min && y2 >= axisy.min) { - x1 = (axisy.min - y1) / (y2 - y1) * (x2 - x1) + x1; - y1 = axisy.min; - } - else if (y2 <= y1 && y2 < axisy.min && y1 >= axisy.min) { - x2 = (axisy.min - y1) / (y2 - y1) * (x2 - x1) + x1; - y2 = axisy.min; - } - - // clip with ymax - if (y1 >= y2 && y1 > axisy.max && y2 <= axisy.max) { - x1 = (axisy.max - y1) / (y2 - y1) * (x2 - x1) + x1; - y1 = axisy.max; - } - else if (y2 >= y1 && y2 > axisy.max && y1 <= axisy.max) { - x2 = (axisy.max - y1) / (y2 - y1) * (x2 - x1) + x1; - y2 = axisy.max; - } - - // if the x value was changed we got a rectangle - // to fill - if (x1 != x1old) { - ctx.lineTo(axisx.p2c(x1old), axisy.p2c(y1)); - // it goes to (x1, y1), but we fill that below - } - - // fill triangular section, this sometimes result - // in redundant points if (x1, y1) hasn't changed - // from previous line to, but we just ignore that - ctx.lineTo(axisx.p2c(x1), axisy.p2c(y1)); - ctx.lineTo(axisx.p2c(x2), axisy.p2c(y2)); - - // fill the other rectangle if it's there - if (x2 != x2old) { - ctx.lineTo(axisx.p2c(x2), axisy.p2c(y2)); - ctx.lineTo(axisx.p2c(x2old), axisy.p2c(y2)); - } - } - } - - ctx.save(); - ctx.translate(plotOffset.left, plotOffset.top); - ctx.lineJoin = "round"; - - var lw = series.lines.lineWidth, - sw = series.shadowSize; - // FIXME: consider another form of shadow when filling is turned on - if (lw > 0 && sw > 0) { - // draw shadow as a thick and thin line with transparency - ctx.lineWidth = sw; - ctx.strokeStyle = "rgba(0,0,0,0.1)"; - // position shadow at angle from the mid of line - var angle = Math.PI/18; - plotLine(series.datapoints, Math.sin(angle) * (lw/2 + sw/2), Math.cos(angle) * (lw/2 + sw/2), series.xaxis, series.yaxis); - ctx.lineWidth = sw/2; - plotLine(series.datapoints, Math.sin(angle) * (lw/2 + sw/4), Math.cos(angle) * (lw/2 + sw/4), series.xaxis, series.yaxis); - } - - ctx.lineWidth = lw; - ctx.strokeStyle = series.color; - var fillStyle = getFillStyle(series.lines, series.color, 0, plotHeight); - if (fillStyle) { - ctx.fillStyle = fillStyle; - plotLineArea(series.datapoints, series.xaxis, series.yaxis); - } - - if (lw > 0) - plotLine(series.datapoints, 0, 0, series.xaxis, series.yaxis); - ctx.restore(); - } - - function drawSeriesPoints(series) { - function plotPoints(datapoints, radius, fillStyle, offset, shadow, axisx, axisy, symbol) { - var points = datapoints.points, ps = datapoints.pointsize; - - for (var i = 0; i < points.length; i += ps) { - var x = points[i], y = points[i + 1]; - if (x == null || x < axisx.min || x > axisx.max || y < axisy.min || y > axisy.max) - continue; - - ctx.beginPath(); - x = axisx.p2c(x); - y = axisy.p2c(y) + offset; - if (symbol == "circle") - ctx.arc(x, y, radius, 0, shadow ? Math.PI : Math.PI * 2, false); - else - symbol(ctx, x, y, radius, shadow); - ctx.closePath(); - - if (fillStyle) { - ctx.fillStyle = fillStyle; - ctx.fill(); - } - ctx.stroke(); - } - } - - ctx.save(); - ctx.translate(plotOffset.left, plotOffset.top); - - var lw = series.points.lineWidth, - sw = series.shadowSize, - radius = series.points.radius, - symbol = series.points.symbol; - if (lw > 0 && sw > 0) { - // draw shadow in two steps - var w = sw / 2; - ctx.lineWidth = w; - ctx.strokeStyle = "rgba(0,0,0,0.1)"; - plotPoints(series.datapoints, radius, null, w + w/2, true, - series.xaxis, series.yaxis, symbol); - - ctx.strokeStyle = "rgba(0,0,0,0.2)"; - plotPoints(series.datapoints, radius, null, w/2, true, - series.xaxis, series.yaxis, symbol); - } - - ctx.lineWidth = lw; - ctx.strokeStyle = series.color; - plotPoints(series.datapoints, radius, - getFillStyle(series.points, series.color), 0, false, - series.xaxis, series.yaxis, symbol); - ctx.restore(); - } - - function drawBar(x, y, b, barLeft, barRight, offset, fillStyleCallback, axisx, axisy, c, horizontal, lineWidth) { - var left, right, bottom, top, - drawLeft, drawRight, drawTop, drawBottom, - tmp; - - // in horizontal mode, we start the bar from the left - // instead of from the bottom so it appears to be - // horizontal rather than vertical - if (horizontal) { - drawBottom = drawRight = drawTop = true; - drawLeft = false; - left = b; - right = x; - top = y + barLeft; - bottom = y + barRight; - - // account for negative bars - if (right < left) { - tmp = right; - right = left; - left = tmp; - drawLeft = true; - drawRight = false; - } - } - else { - drawLeft = drawRight = drawTop = true; - drawBottom = false; - left = x + barLeft; - right = x + barRight; - bottom = b; - top = y; - - // account for negative bars - if (top < bottom) { - tmp = top; - top = bottom; - bottom = tmp; - drawBottom = true; - drawTop = false; - } - } - - // clip - if (right < axisx.min || left > axisx.max || - top < axisy.min || bottom > axisy.max) - return; - - if (left < axisx.min) { - left = axisx.min; - drawLeft = false; - } - - if (right > axisx.max) { - right = axisx.max; - drawRight = false; - } - - if (bottom < axisy.min) { - bottom = axisy.min; - drawBottom = false; - } - - if (top > axisy.max) { - top = axisy.max; - drawTop = false; - } - - left = axisx.p2c(left); - bottom = axisy.p2c(bottom); - right = axisx.p2c(right); - top = axisy.p2c(top); - - // fill the bar - if (fillStyleCallback) { - c.beginPath(); - c.moveTo(left, bottom); - c.lineTo(left, top); - c.lineTo(right, top); - c.lineTo(right, bottom); - c.fillStyle = fillStyleCallback(bottom, top); - c.fill(); - } - - // draw outline - if (lineWidth > 0 && (drawLeft || drawRight || drawTop || drawBottom)) { - c.beginPath(); - - // FIXME: inline moveTo is buggy with excanvas - c.moveTo(left, bottom + offset); - if (drawLeft) - c.lineTo(left, top + offset); - else - c.moveTo(left, top + offset); - if (drawTop) - c.lineTo(right, top + offset); - else - c.moveTo(right, top + offset); - if (drawRight) - c.lineTo(right, bottom + offset); - else - c.moveTo(right, bottom + offset); - if (drawBottom) - c.lineTo(left, bottom + offset); - else - c.moveTo(left, bottom + offset); - c.stroke(); - } - } - - function drawSeriesBars(series) { - function plotBars(datapoints, barLeft, barRight, offset, fillStyleCallback, axisx, axisy) { - var points = datapoints.points, ps = datapoints.pointsize; - - for (var i = 0; i < points.length; i += ps) { - if (points[i] == null) - continue; - drawBar(points[i], points[i + 1], points[i + 2], barLeft, barRight, offset, fillStyleCallback, axisx, axisy, ctx, series.bars.horizontal, series.bars.lineWidth); - } - } - - ctx.save(); - ctx.translate(plotOffset.left, plotOffset.top); - - // FIXME: figure out a way to add shadows (for instance along the right edge) - ctx.lineWidth = series.bars.lineWidth; - ctx.strokeStyle = series.color; - var barLeft = series.bars.align == "left" ? 0 : -series.bars.barWidth/2; - var fillStyleCallback = series.bars.fill ? function (bottom, top) { return getFillStyle(series.bars, series.color, bottom, top); } : null; - plotBars(series.datapoints, barLeft, barLeft + series.bars.barWidth, 0, fillStyleCallback, series.xaxis, series.yaxis); - ctx.restore(); - } - - function getFillStyle(filloptions, seriesColor, bottom, top) { - var fill = filloptions.fill; - if (!fill) - return null; - - if (filloptions.fillColor) - return getColorOrGradient(filloptions.fillColor, bottom, top, seriesColor); - - var c = $.color.parse(seriesColor); - c.a = typeof fill == "number" ? fill : 0.4; - c.normalize(); - return c.toString(); - } - - function insertLegend() { - placeholder.find(".legend").remove(); - - if (!options.legend.show) - return; - - var fragments = [], rowStarted = false, - lf = options.legend.labelFormatter, s, label; - for (var i = 0; i < series.length; ++i) { - s = series[i]; - label = s.label; - if (!label) - continue; - - if (i % options.legend.noColumns == 0) { - if (rowStarted) - fragments.push(''); - fragments.push(''); - rowStarted = true; - } - - if (lf) - label = lf(label, s); - - fragments.push( - '
            ' + - '' + label + ''); - } - if (rowStarted) - fragments.push(''); - - if (fragments.length == 0) - return; - - var table = '' + fragments.join("") + '
            '; - if (options.legend.container != null) - $(options.legend.container).html(table); - else { - var pos = "", - p = options.legend.position, - m = options.legend.margin; - if (m[0] == null) - m = [m, m]; - if (p.charAt(0) == "n") - pos += 'top:' + (m[1] + plotOffset.top) + 'px;'; - else if (p.charAt(0) == "s") - pos += 'bottom:' + (m[1] + plotOffset.bottom) + 'px;'; - if (p.charAt(1) == "e") - pos += 'right:' + (m[0] + plotOffset.right) + 'px;'; - else if (p.charAt(1) == "w") - pos += 'left:' + (m[0] + plotOffset.left) + 'px;'; - var legend = $('
            ' + table.replace('style="', 'style="position:absolute;' + pos +';') + '
            ').appendTo(placeholder); - if (options.legend.backgroundOpacity != 0.0) { - // put in the transparent background - // separately to avoid blended labels and - // label boxes - var c = options.legend.backgroundColor; - if (c == null) { - c = options.grid.backgroundColor; - if (c && typeof c == "string") - c = $.color.parse(c); - else - c = $.color.extract(legend, 'background-color'); - c.a = 1; - c = c.toString(); - } - var div = legend.children(); - $('
            ').prependTo(legend).css('opacity', options.legend.backgroundOpacity); - } - } - } - - - // interactive features - - var highlights = [], - redrawTimeout = null; - - // returns the data item the mouse is over, or null if none is found - function findNearbyItem(mouseX, mouseY, seriesFilter) { - var maxDistance = options.grid.mouseActiveRadius, - smallestDistance = maxDistance * maxDistance + 1, - item = null, foundPoint = false, i, j; - - for (i = series.length - 1; i >= 0; --i) { - if (!seriesFilter(series[i])) - continue; - - var s = series[i], - axisx = s.xaxis, - axisy = s.yaxis, - points = s.datapoints.points, - ps = s.datapoints.pointsize, - mx = axisx.c2p(mouseX), // precompute some stuff to make the loop faster - my = axisy.c2p(mouseY), - maxx = maxDistance / axisx.scale, - maxy = maxDistance / axisy.scale; - - // with inverse transforms, we can't use the maxx/maxy - // optimization, sadly - if (axisx.options.inverseTransform) - maxx = Number.MAX_VALUE; - if (axisy.options.inverseTransform) - maxy = Number.MAX_VALUE; - - if (s.lines.show || s.points.show) { - for (j = 0; j < points.length; j += ps) { - var x = points[j], y = points[j + 1]; - if (x == null) - continue; - - // For points and lines, the cursor must be within a - // certain distance to the data point - if (x - mx > maxx || x - mx < -maxx || - y - my > maxy || y - my < -maxy) - continue; - - // We have to calculate distances in pixels, not in - // data units, because the scales of the axes may be different - var dx = Math.abs(axisx.p2c(x) - mouseX), - dy = Math.abs(axisy.p2c(y) - mouseY), - dist = dx * dx + dy * dy; // we save the sqrt - - // use <= to ensure last point takes precedence - // (last generally means on top of) - if (dist < smallestDistance) { - smallestDistance = dist; - item = [i, j / ps]; - } - } - } - - if (s.bars.show && !item) { // no other point can be nearby - var barLeft = s.bars.align == "left" ? 0 : -s.bars.barWidth/2, - barRight = barLeft + s.bars.barWidth; - - for (j = 0; j < points.length; j += ps) { - var x = points[j], y = points[j + 1], b = points[j + 2]; - if (x == null) - continue; - - // for a bar graph, the cursor must be inside the bar - if (series[i].bars.horizontal ? - (mx <= Math.max(b, x) && mx >= Math.min(b, x) && - my >= y + barLeft && my <= y + barRight) : - (mx >= x + barLeft && mx <= x + barRight && - my >= Math.min(b, y) && my <= Math.max(b, y))) - item = [i, j / ps]; - } - } - } - - if (item) { - i = item[0]; - j = item[1]; - ps = series[i].datapoints.pointsize; - - return { datapoint: series[i].datapoints.points.slice(j * ps, (j + 1) * ps), - dataIndex: j, - series: series[i], - seriesIndex: i }; - } - - return null; - } - - function onMouseMove(e) { - if (options.grid.hoverable) - triggerClickHoverEvent("plothover", e, - function (s) { return s["hoverable"] != false; }); - } - - function onMouseLeave(e) { - if (options.grid.hoverable) - triggerClickHoverEvent("plothover", e, - function (s) { return false; }); - } - - function onClick(e) { - triggerClickHoverEvent("plotclick", e, - function (s) { return s["clickable"] != false; }); - } - - // trigger click or hover event (they send the same parameters - // so we share their code) - function triggerClickHoverEvent(eventname, event, seriesFilter) { - var offset = eventHolder.offset(), - canvasX = event.pageX - offset.left - plotOffset.left, - canvasY = event.pageY - offset.top - plotOffset.top, - pos = canvasToAxisCoords({ left: canvasX, top: canvasY }); - - pos.pageX = event.pageX; - pos.pageY = event.pageY; - - var item = findNearbyItem(canvasX, canvasY, seriesFilter); - - if (item) { - // fill in mouse pos for any listeners out there - item.pageX = parseInt(item.series.xaxis.p2c(item.datapoint[0]) + offset.left + plotOffset.left); - item.pageY = parseInt(item.series.yaxis.p2c(item.datapoint[1]) + offset.top + plotOffset.top); - } - - if (options.grid.autoHighlight) { - // clear auto-highlights - for (var i = 0; i < highlights.length; ++i) { - var h = highlights[i]; - if (h.auto == eventname && - !(item && h.series == item.series && - h.point[0] == item.datapoint[0] && - h.point[1] == item.datapoint[1])) - unhighlight(h.series, h.point); - } - - if (item) - highlight(item.series, item.datapoint, eventname); - } - - placeholder.trigger(eventname, [ pos, item ]); - } - - function triggerRedrawOverlay() { - if (!redrawTimeout) - redrawTimeout = setTimeout(drawOverlay, 30); - } - - function drawOverlay() { - redrawTimeout = null; - - // draw highlights - octx.save(); - octx.clearRect(0, 0, canvasWidth, canvasHeight); - octx.translate(plotOffset.left, plotOffset.top); - - var i, hi; - for (i = 0; i < highlights.length; ++i) { - hi = highlights[i]; - - if (hi.series.bars.show) - drawBarHighlight(hi.series, hi.point); - else - drawPointHighlight(hi.series, hi.point); - } - octx.restore(); - - executeHooks(hooks.drawOverlay, [octx]); - } - - function highlight(s, point, auto) { - if (typeof s == "number") - s = series[s]; - - if (typeof point == "number") { - var ps = s.datapoints.pointsize; - point = s.datapoints.points.slice(ps * point, ps * (point + 1)); - } - - var i = indexOfHighlight(s, point); - if (i == -1) { - highlights.push({ series: s, point: point, auto: auto }); - - triggerRedrawOverlay(); - } - else if (!auto) - highlights[i].auto = false; - } - - function unhighlight(s, point) { - if (s == null && point == null) { - highlights = []; - triggerRedrawOverlay(); - } - - if (typeof s == "number") - s = series[s]; - - if (typeof point == "number") - point = s.data[point]; - - var i = indexOfHighlight(s, point); - if (i != -1) { - highlights.splice(i, 1); - - triggerRedrawOverlay(); - } - } - - function indexOfHighlight(s, p) { - for (var i = 0; i < highlights.length; ++i) { - var h = highlights[i]; - if (h.series == s && h.point[0] == p[0] - && h.point[1] == p[1]) - return i; - } - return -1; - } - - function drawPointHighlight(series, point) { - var x = point[0], y = point[1], - axisx = series.xaxis, axisy = series.yaxis; - - if (x < axisx.min || x > axisx.max || y < axisy.min || y > axisy.max) - return; - - var pointRadius = series.points.radius + series.points.lineWidth / 2; - octx.lineWidth = pointRadius; - octx.strokeStyle = $.color.parse(series.color).scale('a', 0.5).toString(); - var radius = 1.5 * pointRadius, - x = axisx.p2c(x), - y = axisy.p2c(y); - - octx.beginPath(); - if (series.points.symbol == "circle") - octx.arc(x, y, radius, 0, 2 * Math.PI, false); - else - series.points.symbol(octx, x, y, radius, false); - octx.closePath(); - octx.stroke(); - } - - function drawBarHighlight(series, point) { - octx.lineWidth = series.bars.lineWidth; - octx.strokeStyle = $.color.parse(series.color).scale('a', 0.5).toString(); - var fillStyle = $.color.parse(series.color).scale('a', 0.5).toString(); - var barLeft = series.bars.align == "left" ? 0 : -series.bars.barWidth/2; - drawBar(point[0], point[1], point[2] || 0, barLeft, barLeft + series.bars.barWidth, - 0, function () { return fillStyle; }, series.xaxis, series.yaxis, octx, series.bars.horizontal, series.bars.lineWidth); - } - - function getColorOrGradient(spec, bottom, top, defaultColor) { - if (typeof spec == "string") - return spec; - else { - // assume this is a gradient spec; IE currently only - // supports a simple vertical gradient properly, so that's - // what we support too - var gradient = ctx.createLinearGradient(0, top, 0, bottom); - - for (var i = 0, l = spec.colors.length; i < l; ++i) { - var c = spec.colors[i]; - if (typeof c != "string") { - var co = $.color.parse(defaultColor); - if (c.brightness != null) - co = co.scale('rgb', c.brightness) - if (c.opacity != null) - co.a *= c.opacity; - c = co.toString(); - } - gradient.addColorStop(i / (l - 1), c); - } - - return gradient; - } - } - } - - $.plot = function(placeholder, data, options) { - //var t0 = new Date(); - var plot = new Plot($(placeholder), data, options, $.plot.plugins); - //(window.console ? console.log : alert)("time used (msecs): " + ((new Date()).getTime() - t0.getTime())); - return plot; - }; - - $.plot.version = "0.7"; - - $.plot.plugins = []; - - // returns a string with the date d formatted according to fmt - $.plot.formatDate = function(d, fmt, monthNames) { - var leftPad = function(n) { - n = "" + n; - return n.length == 1 ? "0" + n : n; - }; - - var r = []; - var escape = false, padNext = false; - var hours = d.getUTCHours(); - var isAM = hours < 12; - if (monthNames == null) - monthNames = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]; - - if (fmt.search(/%p|%P/) != -1) { - if (hours > 12) { - hours = hours - 12; - } else if (hours == 0) { - hours = 12; - } - } - for (var i = 0; i < fmt.length; ++i) { - var c = fmt.charAt(i); - - if (escape) { - switch (c) { - case 'h': c = "" + hours; break; - case 'H': c = leftPad(hours); break; - case 'M': c = leftPad(d.getUTCMinutes()); break; - case 'S': c = leftPad(d.getUTCSeconds()); break; - case 'd': c = "" + d.getUTCDate(); break; - case 'm': c = "" + (d.getUTCMonth() + 1); break; - case 'y': c = "" + d.getUTCFullYear(); break; - case 'b': c = "" + monthNames[d.getUTCMonth()]; break; - case 'p': c = (isAM) ? ("" + "am") : ("" + "pm"); break; - case 'P': c = (isAM) ? ("" + "AM") : ("" + "PM"); break; - case '0': c = ""; padNext = true; break; - } - if (c && padNext) { - c = leftPad(c); - padNext = false; - } - r.push(c); - if (!padNext) - escape = false; - } - else { - if (c == "%") - escape = true; - else - r.push(c); - } - } - return r.join(""); - }; - - // round to nearby lower multiple of base - function floorInBase(n, base) { - return base * Math.floor(n / base); - } - -})(jQuery); diff --git a/modules/lib/flot/jquery.flot.min.js b/modules/lib/flot/jquery.flot.min.js deleted file mode 100644 index 4467fc5..0000000 --- a/modules/lib/flot/jquery.flot.min.js +++ /dev/null @@ -1,6 +0,0 @@ -/* Javascript plotting library for jQuery, v. 0.7. - * - * Released under the MIT license by IOLA, December 2007. - * - */ -(function(b){b.color={};b.color.make=function(d,e,g,f){var c={};c.r=d||0;c.g=e||0;c.b=g||0;c.a=f!=null?f:1;c.add=function(h,j){for(var k=0;k=1){return"rgb("+[c.r,c.g,c.b].join(",")+")"}else{return"rgba("+[c.r,c.g,c.b,c.a].join(",")+")"}};c.normalize=function(){function h(k,j,l){return jl?l:j)}c.r=h(0,parseInt(c.r),255);c.g=h(0,parseInt(c.g),255);c.b=h(0,parseInt(c.b),255);c.a=h(0,c.a,1);return c};c.clone=function(){return b.color.make(c.r,c.b,c.g,c.a)};return c.normalize()};b.color.extract=function(d,e){var c;do{c=d.css(e).toLowerCase();if(c!=""&&c!="transparent"){break}d=d.parent()}while(!b.nodeName(d.get(0),"body"));if(c=="rgba(0, 0, 0, 0)"){c="transparent"}return b.color.parse(c)};b.color.parse=function(c){var d,f=b.color.make;if(d=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(c)){return f(parseInt(d[1],10),parseInt(d[2],10),parseInt(d[3],10))}if(d=/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(c)){return f(parseInt(d[1],10),parseInt(d[2],10),parseInt(d[3],10),parseFloat(d[4]))}if(d=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(c)){return f(parseFloat(d[1])*2.55,parseFloat(d[2])*2.55,parseFloat(d[3])*2.55)}if(d=/rgba\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(c)){return f(parseFloat(d[1])*2.55,parseFloat(d[2])*2.55,parseFloat(d[3])*2.55,parseFloat(d[4]))}if(d=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(c)){return f(parseInt(d[1],16),parseInt(d[2],16),parseInt(d[3],16))}if(d=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(c)){return f(parseInt(d[1]+d[1],16),parseInt(d[2]+d[2],16),parseInt(d[3]+d[3],16))}var e=b.trim(c).toLowerCase();if(e=="transparent"){return f(255,255,255,0)}else{d=a[e]||[0,0,0];return f(d[0],d[1],d[2])}};var a={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0]}})(jQuery);(function(c){function b(av,ai,J,af){var Q=[],O={colors:["#edc240","#afd8f8","#cb4b4b","#4da74d","#9440ed"],legend:{show:true,noColumns:1,labelFormatter:null,labelBoxBorderColor:"#ccc",container:null,position:"ne",margin:5,backgroundColor:null,backgroundOpacity:0.85},xaxis:{show:null,position:"bottom",mode:null,color:null,tickColor:null,transform:null,inverseTransform:null,min:null,max:null,autoscaleMargin:null,ticks:null,tickFormatter:null,labelWidth:null,labelHeight:null,reserveSpace:null,tickLength:null,alignTicksWithAxis:null,tickDecimals:null,tickSize:null,minTickSize:null,monthNames:null,timeformat:null,twelveHourClock:false},yaxis:{autoscaleMargin:0.02,position:"left"},xaxes:[],yaxes:[],series:{points:{show:false,radius:3,lineWidth:2,fill:true,fillColor:"#ffffff",symbol:"circle"},lines:{lineWidth:2,fill:false,fillColor:null,steps:false},bars:{show:false,lineWidth:2,barWidth:1,fill:true,fillColor:null,align:"left",horizontal:false},shadowSize:3},grid:{show:true,aboveData:false,color:"#545454",backgroundColor:null,borderColor:null,tickColor:null,labelMargin:5,axisMargin:8,borderWidth:2,minBorderMargin:null,markings:null,markingsColor:"#f4f4f4",markingsLineWidth:2,clickable:false,hoverable:false,autoHighlight:true,mouseActiveRadius:10},hooks:{}},az=null,ad=null,y=null,H=null,A=null,p=[],aw=[],q={left:0,right:0,top:0,bottom:0},G=0,I=0,h=0,w=0,ak={processOptions:[],processRawData:[],processDatapoints:[],drawSeries:[],draw:[],bindEvents:[],drawOverlay:[],shutdown:[]},aq=this;aq.setData=aj;aq.setupGrid=t;aq.draw=W;aq.getPlaceholder=function(){return av};aq.getCanvas=function(){return az};aq.getPlotOffset=function(){return q};aq.width=function(){return h};aq.height=function(){return w};aq.offset=function(){var aB=y.offset();aB.left+=q.left;aB.top+=q.top;return aB};aq.getData=function(){return Q};aq.getAxes=function(){var aC={},aB;c.each(p.concat(aw),function(aD,aE){if(aE){aC[aE.direction+(aE.n!=1?aE.n:"")+"axis"]=aE}});return aC};aq.getXAxes=function(){return p};aq.getYAxes=function(){return aw};aq.c2p=C;aq.p2c=ar;aq.getOptions=function(){return O};aq.highlight=x;aq.unhighlight=T;aq.triggerRedrawOverlay=f;aq.pointOffset=function(aB){return{left:parseInt(p[aA(aB,"x")-1].p2c(+aB.x)+q.left),top:parseInt(aw[aA(aB,"y")-1].p2c(+aB.y)+q.top)}};aq.shutdown=ag;aq.resize=function(){B();g(az);g(ad)};aq.hooks=ak;F(aq);Z(J);X();aj(ai);t();W();ah();function an(aD,aB){aB=[aq].concat(aB);for(var aC=0;aC=O.colors.length){aG=0;++aF}}var aH=0,aN;for(aG=0;aGa3.datamax&&a1!=aB){a3.datamax=a1}}c.each(m(),function(a1,a2){a2.datamin=aO;a2.datamax=aI;a2.used=false});for(aU=0;aU0&&aT[aR-aP]!=null&&aT[aR-aP]!=aT[aR]&&aT[aR-aP+1]!=aT[aR+1]){for(aN=0;aNaM){aM=a0}}if(aX.y){if(a0aV){aV=a0}}}}if(aJ.bars.show){var aY=aJ.bars.align=="left"?0:-aJ.bars.barWidth/2;if(aJ.bars.horizontal){aQ+=aY;aV+=aY+aJ.bars.barWidth}else{aK+=aY;aM+=aY+aJ.bars.barWidth}}aF(aJ.xaxis,aK,aM);aF(aJ.yaxis,aQ,aV)}c.each(m(),function(a1,a2){if(a2.datamin==aO){a2.datamin=null}if(a2.datamax==aI){a2.datamax=null}})}function j(aB,aC){var aD=document.createElement("canvas");aD.className=aC;aD.width=G;aD.height=I;if(!aB){c(aD).css({position:"absolute",left:0,top:0})}c(aD).appendTo(av);if(!aD.getContext){aD=window.G_vmlCanvasManager.initElement(aD)}aD.getContext("2d").save();return aD}function B(){G=av.width();I=av.height();if(G<=0||I<=0){throw"Invalid dimensions for plot, width = "+G+", height = "+I}}function g(aC){if(aC.width!=G){aC.width=G}if(aC.height!=I){aC.height=I}var aB=aC.getContext("2d");aB.restore();aB.save()}function X(){var aC,aB=av.children("canvas.base"),aD=av.children("canvas.overlay");if(aB.length==0||aD==0){av.html("");av.css({padding:0});if(av.css("position")=="static"){av.css("position","relative")}B();az=j(true,"base");ad=j(false,"overlay");aC=false}else{az=aB.get(0);ad=aD.get(0);aC=true}H=az.getContext("2d");A=ad.getContext("2d");y=c([ad,az]);if(aC){av.data("plot").shutdown();aq.resize();A.clearRect(0,0,G,I);y.unbind();av.children().not([az,ad]).remove()}av.data("plot",aq)}function ah(){if(O.grid.hoverable){y.mousemove(aa);y.mouseleave(l)}if(O.grid.clickable){y.click(R)}an(ak.bindEvents,[y])}function ag(){if(M){clearTimeout(M)}y.unbind("mousemove",aa);y.unbind("mouseleave",l);y.unbind("click",R);an(ak.shutdown,[y])}function r(aG){function aC(aH){return aH}var aF,aB,aD=aG.options.transform||aC,aE=aG.options.inverseTransform;if(aG.direction=="x"){aF=aG.scale=h/Math.abs(aD(aG.max)-aD(aG.min));aB=Math.min(aD(aG.max),aD(aG.min))}else{aF=aG.scale=w/Math.abs(aD(aG.max)-aD(aG.min));aF=-aF;aB=Math.max(aD(aG.max),aD(aG.min))}if(aD==aC){aG.p2c=function(aH){return(aH-aB)*aF}}else{aG.p2c=function(aH){return(aD(aH)-aB)*aF}}if(!aE){aG.c2p=function(aH){return aB+aH/aF}}else{aG.c2p=function(aH){return aE(aB+aH/aF)}}}function L(aD){var aB=aD.options,aF,aJ=aD.ticks||[],aI=[],aE,aK=aB.labelWidth,aG=aB.labelHeight,aC;function aH(aM,aL){return c('
            '+aM.join("")+"
            ").appendTo(av)}if(aD.direction=="x"){if(aK==null){aK=Math.floor(G/(aJ.length>0?aJ.length:1))}if(aG==null){aI=[];for(aF=0;aF'+aE+"
            ")}}if(aI.length>0){aI.push('
            ');aC=aH(aI,"width:10000px;");aG=aC.height();aC.remove()}}}else{if(aK==null||aG==null){for(aF=0;aF'+aE+"
            ")}}if(aI.length>0){aC=aH(aI,"");if(aK==null){aK=aC.children().width()}if(aG==null){aG=aC.find("div.tickLabel").height()}aC.remove()}}}if(aK==null){aK=0}if(aG==null){aG=0}aD.labelWidth=aK;aD.labelHeight=aG}function au(aD){var aC=aD.labelWidth,aL=aD.labelHeight,aH=aD.options.position,aF=aD.options.tickLength,aG=O.grid.axisMargin,aJ=O.grid.labelMargin,aK=aD.direction=="x"?p:aw,aE;var aB=c.grep(aK,function(aN){return aN&&aN.options.position==aH&&aN.reserveSpace});if(c.inArray(aD,aB)==aB.length-1){aG=0}if(aF==null){aF="full"}var aI=c.grep(aK,function(aN){return aN&&aN.reserveSpace});var aM=c.inArray(aD,aI)==0;if(!aM&&aF=="full"){aF=5}if(!isNaN(+aF)){aJ+=+aF}if(aD.direction=="x"){aL+=aJ;if(aH=="bottom"){q.bottom+=aL+aG;aD.box={top:I-q.bottom,height:aL}}else{aD.box={top:q.top+aG,height:aL};q.top+=aL+aG}}else{aC+=aJ;if(aH=="left"){aD.box={left:q.left+aG,width:aC};q.left+=aC+aG}else{q.right+=aC+aG;aD.box={left:G-q.right,width:aC}}}aD.position=aH;aD.tickLength=aF;aD.box.padding=aJ;aD.innermost=aM}function U(aB){if(aB.direction=="x"){aB.box.left=q.left;aB.box.width=h}else{aB.box.top=q.top;aB.box.height=w}}function t(){var aC,aE=m();c.each(aE,function(aF,aG){aG.show=aG.options.show;if(aG.show==null){aG.show=aG.used}aG.reserveSpace=aG.show||aG.options.reserveSpace;n(aG)});allocatedAxes=c.grep(aE,function(aF){return aF.reserveSpace});q.left=q.right=q.top=q.bottom=0;if(O.grid.show){c.each(allocatedAxes,function(aF,aG){S(aG);P(aG);ap(aG,aG.ticks);L(aG)});for(aC=allocatedAxes.length-1;aC>=0;--aC){au(allocatedAxes[aC])}var aD=O.grid.minBorderMargin;if(aD==null){aD=0;for(aC=0;aC=0){aD=0}}if(aF.max==null){aB+=aH*aG;if(aB>0&&aE.datamax!=null&&aE.datamax<=0){aB=0}}}}aE.min=aD;aE.max=aB}function S(aG){var aM=aG.options;var aH;if(typeof aM.ticks=="number"&&aM.ticks>0){aH=aM.ticks}else{aH=0.3*Math.sqrt(aG.direction=="x"?G:I)}var aT=(aG.max-aG.min)/aH,aO,aB,aN,aR,aS,aQ,aI;if(aM.mode=="time"){var aJ={second:1000,minute:60*1000,hour:60*60*1000,day:24*60*60*1000,month:30*24*60*60*1000,year:365.2425*24*60*60*1000};var aK=[[1,"second"],[2,"second"],[5,"second"],[10,"second"],[30,"second"],[1,"minute"],[2,"minute"],[5,"minute"],[10,"minute"],[30,"minute"],[1,"hour"],[2,"hour"],[4,"hour"],[8,"hour"],[12,"hour"],[1,"day"],[2,"day"],[3,"day"],[0.25,"month"],[0.5,"month"],[1,"month"],[2,"month"],[3,"month"],[6,"month"],[1,"year"]];var aC=0;if(aM.minTickSize!=null){if(typeof aM.tickSize=="number"){aC=aM.tickSize}else{aC=aM.minTickSize[0]*aJ[aM.minTickSize[1]]}}for(var aS=0;aS=aC){break}}aO=aK[aS][0];aN=aK[aS][1];if(aN=="year"){aQ=Math.pow(10,Math.floor(Math.log(aT/aJ.year)/Math.LN10));aI=(aT/aJ.year)/aQ;if(aI<1.5){aO=1}else{if(aI<3){aO=2}else{if(aI<7.5){aO=5}else{aO=10}}}aO*=aQ}aG.tickSize=aM.tickSize||[aO,aN];aB=function(aX){var a2=[],a0=aX.tickSize[0],a3=aX.tickSize[1],a1=new Date(aX.min);var aW=a0*aJ[a3];if(a3=="second"){a1.setUTCSeconds(a(a1.getUTCSeconds(),a0))}if(a3=="minute"){a1.setUTCMinutes(a(a1.getUTCMinutes(),a0))}if(a3=="hour"){a1.setUTCHours(a(a1.getUTCHours(),a0))}if(a3=="month"){a1.setUTCMonth(a(a1.getUTCMonth(),a0))}if(a3=="year"){a1.setUTCFullYear(a(a1.getUTCFullYear(),a0))}a1.setUTCMilliseconds(0);if(aW>=aJ.minute){a1.setUTCSeconds(0)}if(aW>=aJ.hour){a1.setUTCMinutes(0)}if(aW>=aJ.day){a1.setUTCHours(0)}if(aW>=aJ.day*4){a1.setUTCDate(1)}if(aW>=aJ.year){a1.setUTCMonth(0)}var a5=0,a4=Number.NaN,aY;do{aY=a4;a4=a1.getTime();a2.push(a4);if(a3=="month"){if(a0<1){a1.setUTCDate(1);var aV=a1.getTime();a1.setUTCMonth(a1.getUTCMonth()+1);var aZ=a1.getTime();a1.setTime(a4+a5*aJ.hour+(aZ-aV)*a0);a5=a1.getUTCHours();a1.setUTCHours(0)}else{a1.setUTCMonth(a1.getUTCMonth()+a0)}}else{if(a3=="year"){a1.setUTCFullYear(a1.getUTCFullYear()+a0)}else{a1.setTime(a4+aW)}}}while(a4aU){aP=aU}aQ=Math.pow(10,-aP);aI=aT/aQ;if(aI<1.5){aO=1}else{if(aI<3){aO=2;if(aI>2.25&&(aU==null||aP+1<=aU)){aO=2.5;++aP}}else{if(aI<7.5){aO=5}else{aO=10}}}aO*=aQ;if(aM.minTickSize!=null&&aO0){if(aM.min==null){aG.min=Math.min(aG.min,aL[0])}if(aM.max==null&&aL.length>1){aG.max=Math.max(aG.max,aL[aL.length-1])}}aB=function(aX){var aY=[],aV,aW;for(aW=0;aW1&&/\..*0$/.test((aD[1]-aD[0]).toFixed(aE)))){aG.tickDecimals=aE}}}}aG.tickGenerator=aB;if(c.isFunction(aM.tickFormatter)){aG.tickFormatter=function(aV,aW){return""+aM.tickFormatter(aV,aW)}}else{aG.tickFormatter=aR}}function P(aF){var aH=aF.options.ticks,aG=[];if(aH==null||(typeof aH=="number"&&aH>0)){aG=aF.tickGenerator(aF)}else{if(aH){if(c.isFunction(aH)){aG=aH({min:aF.min,max:aF.max})}else{aG=aH}}}var aE,aB;aF.ticks=[];for(aE=0;aE1){aC=aD[1]}}else{aB=+aD}if(aC==null){aC=aF.tickFormatter(aB,aF)}if(!isNaN(aB)){aF.ticks.push({v:aB,label:aC})}}}function ap(aB,aC){if(aB.options.autoscaleMargin&&aC.length>0){if(aB.options.min==null){aB.min=Math.min(aB.min,aC[0].v)}if(aB.options.max==null&&aC.length>1){aB.max=Math.max(aB.max,aC[aC.length-1].v)}}}function W(){H.clearRect(0,0,G,I);var aC=O.grid;if(aC.show&&aC.backgroundColor){N()}if(aC.show&&!aC.aboveData){ac()}for(var aB=0;aBaG){var aC=aH;aH=aG;aG=aC}return{from:aH,to:aG,axis:aE}}function N(){H.save();H.translate(q.left,q.top);H.fillStyle=am(O.grid.backgroundColor,w,0,"rgba(255, 255, 255, 0)");H.fillRect(0,0,h,w);H.restore()}function ac(){var aF;H.save();H.translate(q.left,q.top);var aH=O.grid.markings;if(aH){if(c.isFunction(aH)){var aK=aq.getAxes();aK.xmin=aK.xaxis.min;aK.xmax=aK.xaxis.max;aK.ymin=aK.yaxis.min;aK.ymax=aK.yaxis.max;aH=aH(aK)}for(aF=0;aFaC.axis.max||aI.toaI.axis.max){continue}aC.from=Math.max(aC.from,aC.axis.min);aC.to=Math.min(aC.to,aC.axis.max);aI.from=Math.max(aI.from,aI.axis.min);aI.to=Math.min(aI.to,aI.axis.max);if(aC.from==aC.to&&aI.from==aI.to){continue}aC.from=aC.axis.p2c(aC.from);aC.to=aC.axis.p2c(aC.to);aI.from=aI.axis.p2c(aI.from);aI.to=aI.axis.p2c(aI.to);if(aC.from==aC.to||aI.from==aI.to){H.beginPath();H.strokeStyle=aD.color||O.grid.markingsColor;H.lineWidth=aD.lineWidth||O.grid.markingsLineWidth;H.moveTo(aC.from,aI.from);H.lineTo(aC.to,aI.to);H.stroke()}else{H.fillStyle=aD.color||O.grid.markingsColor;H.fillRect(aC.from,aI.to,aC.to-aC.from,aI.from-aI.to)}}}var aK=m(),aM=O.grid.borderWidth;for(var aE=0;aEaB.max||(aQ=="full"&&aM>0&&(aO==aB.min||aO==aB.max))){continue}if(aB.direction=="x"){aN=aB.p2c(aO);aJ=aQ=="full"?-w:aQ;if(aB.position=="top"){aJ=-aJ}}else{aL=aB.p2c(aO);aP=aQ=="full"?-h:aQ;if(aB.position=="left"){aP=-aP}}if(H.lineWidth==1){if(aB.direction=="x"){aN=Math.floor(aN)+0.5}else{aL=Math.floor(aL)+0.5}}H.moveTo(aN,aL);H.lineTo(aN+aP,aL+aJ)}H.stroke()}if(aM){H.lineWidth=aM;H.strokeStyle=O.grid.borderColor;H.strokeRect(-aM/2,-aM/2,h+aM,w+aM)}H.restore()}function k(){av.find(".tickLabels").remove();var aG=['
            '];var aJ=m();for(var aD=0;aD');for(var aE=0;aEaC.max){continue}var aK={},aI;if(aC.direction=="x"){aI="center";aK.left=Math.round(q.left+aC.p2c(aH.v)-aC.labelWidth/2);if(aC.position=="bottom"){aK.top=aF.top+aF.padding}else{aK.bottom=I-(aF.top+aF.height-aF.padding)}}else{aK.top=Math.round(q.top+aC.p2c(aH.v)-aC.labelHeight/2);if(aC.position=="left"){aK.right=G-(aF.left+aF.width-aF.padding);aI="right"}else{aK.left=aF.left+aF.padding;aI="left"}}aK.width=aC.labelWidth;var aB=["position:absolute","text-align:"+aI];for(var aL in aK){aB.push(aL+":"+aK[aL]+"px")}aG.push('
            '+aH.label+"
            ")}aG.push("
            ")}aG.push("
            ");av.append(aG.join(""))}function d(aB){if(aB.lines.show){at(aB)}if(aB.bars.show){e(aB)}if(aB.points.show){ao(aB)}}function at(aE){function aD(aP,aQ,aI,aU,aT){var aV=aP.points,aJ=aP.pointsize,aN=null,aM=null;H.beginPath();for(var aO=aJ;aO=aR&&aS>aT.max){if(aR>aT.max){continue}aL=(aT.max-aS)/(aR-aS)*(aK-aL)+aL;aS=aT.max}else{if(aR>=aS&&aR>aT.max){if(aS>aT.max){continue}aK=(aT.max-aS)/(aR-aS)*(aK-aL)+aL;aR=aT.max}}if(aL<=aK&&aL=aK&&aL>aU.max){if(aK>aU.max){continue}aS=(aU.max-aL)/(aK-aL)*(aR-aS)+aS;aL=aU.max}else{if(aK>=aL&&aK>aU.max){if(aL>aU.max){continue}aR=(aU.max-aL)/(aK-aL)*(aR-aS)+aS;aK=aU.max}}if(aL!=aN||aS!=aM){H.moveTo(aU.p2c(aL)+aQ,aT.p2c(aS)+aI)}aN=aK;aM=aR;H.lineTo(aU.p2c(aK)+aQ,aT.p2c(aR)+aI)}H.stroke()}function aF(aI,aQ,aP){var aW=aI.points,aV=aI.pointsize,aN=Math.min(Math.max(0,aP.min),aP.max),aX=0,aU,aT=false,aM=1,aL=0,aR=0;while(true){if(aV>0&&aX>aW.length+aV){break}aX+=aV;var aZ=aW[aX-aV],aK=aW[aX-aV+aM],aY=aW[aX],aJ=aW[aX+aM];if(aT){if(aV>0&&aZ!=null&&aY==null){aR=aX;aV=-aV;aM=2;continue}if(aV<0&&aX==aL+aV){H.fill();aT=false;aV=-aV;aM=1;aX=aL=aR+aV;continue}}if(aZ==null||aY==null){continue}if(aZ<=aY&&aZ=aY&&aZ>aQ.max){if(aY>aQ.max){continue}aK=(aQ.max-aZ)/(aY-aZ)*(aJ-aK)+aK;aZ=aQ.max}else{if(aY>=aZ&&aY>aQ.max){if(aZ>aQ.max){continue}aJ=(aQ.max-aZ)/(aY-aZ)*(aJ-aK)+aK;aY=aQ.max}}if(!aT){H.beginPath();H.moveTo(aQ.p2c(aZ),aP.p2c(aN));aT=true}if(aK>=aP.max&&aJ>=aP.max){H.lineTo(aQ.p2c(aZ),aP.p2c(aP.max));H.lineTo(aQ.p2c(aY),aP.p2c(aP.max));continue}else{if(aK<=aP.min&&aJ<=aP.min){H.lineTo(aQ.p2c(aZ),aP.p2c(aP.min));H.lineTo(aQ.p2c(aY),aP.p2c(aP.min));continue}}var aO=aZ,aS=aY;if(aK<=aJ&&aK=aP.min){aZ=(aP.min-aK)/(aJ-aK)*(aY-aZ)+aZ;aK=aP.min}else{if(aJ<=aK&&aJ=aP.min){aY=(aP.min-aK)/(aJ-aK)*(aY-aZ)+aZ;aJ=aP.min}}if(aK>=aJ&&aK>aP.max&&aJ<=aP.max){aZ=(aP.max-aK)/(aJ-aK)*(aY-aZ)+aZ;aK=aP.max}else{if(aJ>=aK&&aJ>aP.max&&aK<=aP.max){aY=(aP.max-aK)/(aJ-aK)*(aY-aZ)+aZ;aJ=aP.max}}if(aZ!=aO){H.lineTo(aQ.p2c(aO),aP.p2c(aK))}H.lineTo(aQ.p2c(aZ),aP.p2c(aK));H.lineTo(aQ.p2c(aY),aP.p2c(aJ));if(aY!=aS){H.lineTo(aQ.p2c(aY),aP.p2c(aJ));H.lineTo(aQ.p2c(aS),aP.p2c(aJ))}}}H.save();H.translate(q.left,q.top);H.lineJoin="round";var aG=aE.lines.lineWidth,aB=aE.shadowSize;if(aG>0&&aB>0){H.lineWidth=aB;H.strokeStyle="rgba(0,0,0,0.1)";var aH=Math.PI/18;aD(aE.datapoints,Math.sin(aH)*(aG/2+aB/2),Math.cos(aH)*(aG/2+aB/2),aE.xaxis,aE.yaxis);H.lineWidth=aB/2;aD(aE.datapoints,Math.sin(aH)*(aG/2+aB/4),Math.cos(aH)*(aG/2+aB/4),aE.xaxis,aE.yaxis)}H.lineWidth=aG;H.strokeStyle=aE.color;var aC=ae(aE.lines,aE.color,0,w);if(aC){H.fillStyle=aC;aF(aE.datapoints,aE.xaxis,aE.yaxis)}if(aG>0){aD(aE.datapoints,0,0,aE.xaxis,aE.yaxis)}H.restore()}function ao(aE){function aH(aN,aM,aU,aK,aS,aT,aQ,aJ){var aR=aN.points,aI=aN.pointsize;for(var aL=0;aLaT.max||aOaQ.max){continue}H.beginPath();aP=aT.p2c(aP);aO=aQ.p2c(aO)+aK;if(aJ=="circle"){H.arc(aP,aO,aM,0,aS?Math.PI:Math.PI*2,false)}else{aJ(H,aP,aO,aM,aS)}H.closePath();if(aU){H.fillStyle=aU;H.fill()}H.stroke()}}H.save();H.translate(q.left,q.top);var aG=aE.points.lineWidth,aC=aE.shadowSize,aB=aE.points.radius,aF=aE.points.symbol;if(aG>0&&aC>0){var aD=aC/2;H.lineWidth=aD;H.strokeStyle="rgba(0,0,0,0.1)";aH(aE.datapoints,aB,null,aD+aD/2,true,aE.xaxis,aE.yaxis,aF);H.strokeStyle="rgba(0,0,0,0.2)";aH(aE.datapoints,aB,null,aD/2,true,aE.xaxis,aE.yaxis,aF)}H.lineWidth=aG;H.strokeStyle=aE.color;aH(aE.datapoints,aB,ae(aE.points,aE.color),0,false,aE.xaxis,aE.yaxis,aF);H.restore()}function E(aN,aM,aV,aI,aQ,aF,aD,aL,aK,aU,aR,aC){var aE,aT,aJ,aP,aG,aB,aO,aH,aS;if(aR){aH=aB=aO=true;aG=false;aE=aV;aT=aN;aP=aM+aI;aJ=aM+aQ;if(aTaL.max||aPaK.max){return}if(aEaL.max){aT=aL.max;aB=false}if(aJaK.max){aP=aK.max;aO=false}aE=aL.p2c(aE);aJ=aK.p2c(aJ);aT=aL.p2c(aT);aP=aK.p2c(aP);if(aD){aU.beginPath();aU.moveTo(aE,aJ);aU.lineTo(aE,aP);aU.lineTo(aT,aP);aU.lineTo(aT,aJ);aU.fillStyle=aD(aJ,aP);aU.fill()}if(aC>0&&(aG||aB||aO||aH)){aU.beginPath();aU.moveTo(aE,aJ+aF);if(aG){aU.lineTo(aE,aP+aF)}else{aU.moveTo(aE,aP+aF)}if(aO){aU.lineTo(aT,aP+aF)}else{aU.moveTo(aT,aP+aF)}if(aB){aU.lineTo(aT,aJ+aF)}else{aU.moveTo(aT,aJ+aF)}if(aH){aU.lineTo(aE,aJ+aF)}else{aU.moveTo(aE,aJ+aF)}aU.stroke()}}function e(aD){function aC(aJ,aI,aL,aG,aK,aN,aM){var aO=aJ.points,aF=aJ.pointsize;for(var aH=0;aH")}aH.push("");aF=true}if(aN){aJ=aN(aJ,aM)}aH.push('
            '+aJ+"")}if(aF){aH.push("")}if(aH.length==0){return}var aL=''+aH.join("")+"
            ";if(O.legend.container!=null){c(O.legend.container).html(aL)}else{var aI="",aC=O.legend.position,aD=O.legend.margin;if(aD[0]==null){aD=[aD,aD]}if(aC.charAt(0)=="n"){aI+="top:"+(aD[1]+q.top)+"px;"}else{if(aC.charAt(0)=="s"){aI+="bottom:"+(aD[1]+q.bottom)+"px;"}}if(aC.charAt(1)=="e"){aI+="right:"+(aD[0]+q.right)+"px;"}else{if(aC.charAt(1)=="w"){aI+="left:"+(aD[0]+q.left)+"px;"}}var aK=c('
            '+aL.replace('style="','style="position:absolute;'+aI+";")+"
            ").appendTo(av);if(O.legend.backgroundOpacity!=0){var aG=O.legend.backgroundColor;if(aG==null){aG=O.grid.backgroundColor;if(aG&&typeof aG=="string"){aG=c.color.parse(aG)}else{aG=c.color.extract(aK,"background-color")}aG.a=1;aG=aG.toString()}var aB=aK.children();c('
            ').prependTo(aK).css("opacity",O.legend.backgroundOpacity)}}}var ab=[],M=null;function K(aI,aG,aD){var aO=O.grid.mouseActiveRadius,a0=aO*aO+1,aY=null,aR=false,aW,aU;for(aW=Q.length-1;aW>=0;--aW){if(!aD(Q[aW])){continue}var aP=Q[aW],aH=aP.xaxis,aF=aP.yaxis,aV=aP.datapoints.points,aT=aP.datapoints.pointsize,aQ=aH.c2p(aI),aN=aF.c2p(aG),aC=aO/aH.scale,aB=aO/aF.scale;if(aH.options.inverseTransform){aC=Number.MAX_VALUE}if(aF.options.inverseTransform){aB=Number.MAX_VALUE}if(aP.lines.show||aP.points.show){for(aU=0;aUaC||aK-aQ<-aC||aJ-aN>aB||aJ-aN<-aB){continue}var aM=Math.abs(aH.p2c(aK)-aI),aL=Math.abs(aF.p2c(aJ)-aG),aS=aM*aM+aL*aL;if(aS=Math.min(aZ,aK)&&aN>=aJ+aE&&aN<=aJ+aX):(aQ>=aK+aE&&aQ<=aK+aX&&aN>=Math.min(aZ,aJ)&&aN<=Math.max(aZ,aJ))){aY=[aW,aU/aT]}}}}if(aY){aW=aY[0];aU=aY[1];aT=Q[aW].datapoints.pointsize;return{datapoint:Q[aW].datapoints.points.slice(aU*aT,(aU+1)*aT),dataIndex:aU,series:Q[aW],seriesIndex:aW}}return null}function aa(aB){if(O.grid.hoverable){u("plothover",aB,function(aC){return aC.hoverable!=false})}}function l(aB){if(O.grid.hoverable){u("plothover",aB,function(aC){return false})}}function R(aB){u("plotclick",aB,function(aC){return aC.clickable!=false})}function u(aC,aB,aD){var aE=y.offset(),aH=aB.pageX-aE.left-q.left,aF=aB.pageY-aE.top-q.top,aJ=C({left:aH,top:aF});aJ.pageX=aB.pageX;aJ.pageY=aB.pageY;var aK=K(aH,aF,aD);if(aK){aK.pageX=parseInt(aK.series.xaxis.p2c(aK.datapoint[0])+aE.left+q.left);aK.pageY=parseInt(aK.series.yaxis.p2c(aK.datapoint[1])+aE.top+q.top)}if(O.grid.autoHighlight){for(var aG=0;aGaH.max||aIaG.max){return}var aF=aE.points.radius+aE.points.lineWidth/2;A.lineWidth=aF;A.strokeStyle=c.color.parse(aE.color).scale("a",0.5).toString();var aB=1.5*aF,aC=aH.p2c(aC),aI=aG.p2c(aI);A.beginPath();if(aE.points.symbol=="circle"){A.arc(aC,aI,aB,0,2*Math.PI,false)}else{aE.points.symbol(A,aC,aI,aB,false)}A.closePath();A.stroke()}function v(aE,aB){A.lineWidth=aE.bars.lineWidth;A.strokeStyle=c.color.parse(aE.color).scale("a",0.5).toString();var aD=c.color.parse(aE.color).scale("a",0.5).toString();var aC=aE.bars.align=="left"?0:-aE.bars.barWidth/2;E(aB[0],aB[1],aB[2]||0,aC,aC+aE.bars.barWidth,0,function(){return aD},aE.xaxis,aE.yaxis,A,aE.bars.horizontal,aE.bars.lineWidth)}function am(aJ,aB,aH,aC){if(typeof aJ=="string"){return aJ}else{var aI=H.createLinearGradient(0,aH,0,aB);for(var aE=0,aD=aJ.colors.length;aE12){n=n-12}else{if(n==0){n=12}}}for(var g=0;g axisPosition) { - break; - } - } - - if (j != 0) { - var highlighted = j-1; - // Checking which one is closer if it is not a bar graph. - if (plotToHighlight.getOptions().multihighlight.hoverMode !== 'bar' && serie.data[j] != null) { - if (axisPosition-serie.data[j-1][dataIndex] > Math.abs(axisPosition-serie.data[j][dataIndex])) { - highlighted = j; - } - } - - plotToHighlight.highlight(i, highlighted); - highlightedItems.push({ serieIndex: i, dataIndex: highlighted }); - } - }); - - if (highlightedItems.length > 0) { - plotToHighlight.getPlaceholder().trigger("multihighlighted", [ position, highlightedItems ]); - } - else { - plotToHighlight.getPlaceholder().trigger("unmultihighlighted"); - } - } - }); - } - - function onMouseOut(event) { - $.each(getPlotsToHighlight(), function(index, plotToHighlight) { - if (!plotToHighlight.getOptions().multihighlight.mode != null) { - plotToHighlight.unhighlight(); - plotToHighlight.getPlaceholder().trigger("unmultihighlighted"); - } - }); - } - - // Hook up the events. - plot.hooks.bindEvents.push(function(plot, eventHolder) { - if (!plot.getOptions().multihighlight.mode) - return; - - plot.getPlaceholder().bind('plothover', onPlotHover); - plot.getPlaceholder().bind('mouseout', onMouseOut); - }); - plot.hooks.shutdown.push(function(plot, eventHolder) { - plot.getPlaceholder().unbind('plothover', onPlotHover); - plot.getPlaceholder().unbind('mouseout', onMouseOut); - }); - } - - $.plot.plugins.push({ - init: init, - options: options, - name: 'multihighlight', - version: '1.0' - }); -})(jQuery); diff --git a/modules/lib/flot/jquery.flot.navigate.js b/modules/lib/flot/jquery.flot.navigate.js deleted file mode 100644 index f2b9760..0000000 --- a/modules/lib/flot/jquery.flot.navigate.js +++ /dev/null @@ -1,336 +0,0 @@ -/* -Flot plugin for adding panning and zooming capabilities to a plot. - -The default behaviour is double click and scrollwheel up/down to zoom -in, drag to pan. The plugin defines plot.zoom({ center }), -plot.zoomOut() and plot.pan(offset) so you easily can add custom -controls. It also fires a "plotpan" and "plotzoom" event when -something happens, useful for synchronizing plots. - -Options: - - zoom: { - interactive: false - trigger: "dblclick" // or "click" for single click - amount: 1.5 // 2 = 200% (zoom in), 0.5 = 50% (zoom out) - } - - pan: { - interactive: false - cursor: "move" // CSS mouse cursor value used when dragging, e.g. "pointer" - frameRate: 20 - } - - xaxis, yaxis, x2axis, y2axis: { - zoomRange: null // or [number, number] (min range, max range) or false - panRange: null // or [number, number] (min, max) or false - } - -"interactive" enables the built-in drag/click behaviour. If you enable -interactive for pan, then you'll have a basic plot that supports -moving around; the same for zoom. - -"amount" specifies the default amount to zoom in (so 1.5 = 150%) -relative to the current viewport. - -"cursor" is a standard CSS mouse cursor string used for visual -feedback to the user when dragging. - -"frameRate" specifies the maximum number of times per second the plot -will update itself while the user is panning around on it (set to null -to disable intermediate pans, the plot will then not update until the -mouse button is released). - -"zoomRange" is the interval in which zooming can happen, e.g. with -zoomRange: [1, 100] the zoom will never scale the axis so that the -difference between min and max is smaller than 1 or larger than 100. -You can set either end to null to ignore, e.g. [1, null]. If you set -zoomRange to false, zooming on that axis will be disabled. - -"panRange" confines the panning to stay within a range, e.g. with -panRange: [-10, 20] panning stops at -10 in one end and at 20 in the -other. Either can be null, e.g. [-10, null]. If you set -panRange to false, panning on that axis will be disabled. - -Example API usage: - - plot = $.plot(...); - - // zoom default amount in on the pixel (10, 20) - plot.zoom({ center: { left: 10, top: 20 } }); - - // zoom out again - plot.zoomOut({ center: { left: 10, top: 20 } }); - - // zoom 200% in on the pixel (10, 20) - plot.zoom({ amount: 2, center: { left: 10, top: 20 } }); - - // pan 100 pixels to the left and 20 down - plot.pan({ left: -100, top: 20 }) - -Here, "center" specifies where the center of the zooming should -happen. Note that this is defined in pixel space, not the space of the -data points (you can use the p2c helpers on the axes in Flot to help -you convert between these). - -"amount" is the amount to zoom the viewport relative to the current -range, so 1 is 100% (i.e. no change), 1.5 is 150% (zoom in), 0.7 is -70% (zoom out). You can set the default in the options. - -*/ - - -// First two dependencies, jquery.event.drag.js and -// jquery.mousewheel.js, we put them inline here to save people the -// effort of downloading them. - -/* -jquery.event.drag.js ~ v1.5 ~ Copyright (c) 2008, Three Dub Media (http://threedubmedia.com) -Licensed under the MIT License ~ http://threedubmedia.googlecode.com/files/MIT-LICENSE.txt -*/ -(function(E){E.fn.drag=function(L,K,J){if(K){this.bind("dragstart",L)}if(J){this.bind("dragend",J)}return !L?this.trigger("drag"):this.bind("drag",K?K:L)};var A=E.event,B=A.special,F=B.drag={not:":input",distance:0,which:1,dragging:false,setup:function(J){J=E.extend({distance:F.distance,which:F.which,not:F.not},J||{});J.distance=I(J.distance);A.add(this,"mousedown",H,J);if(this.attachEvent){this.attachEvent("ondragstart",D)}},teardown:function(){A.remove(this,"mousedown",H);if(this===F.dragging){F.dragging=F.proxy=false}G(this,true);if(this.detachEvent){this.detachEvent("ondragstart",D)}}};B.dragstart=B.dragend={setup:function(){},teardown:function(){}};function H(L){var K=this,J,M=L.data||{};if(M.elem){K=L.dragTarget=M.elem;L.dragProxy=F.proxy||K;L.cursorOffsetX=M.pageX-M.left;L.cursorOffsetY=M.pageY-M.top;L.offsetX=L.pageX-L.cursorOffsetX;L.offsetY=L.pageY-L.cursorOffsetY}else{if(F.dragging||(M.which>0&&L.which!=M.which)||E(L.target).is(M.not)){return }}switch(L.type){case"mousedown":E.extend(M,E(K).offset(),{elem:K,target:L.target,pageX:L.pageX,pageY:L.pageY});A.add(document,"mousemove mouseup",H,M);G(K,false);F.dragging=null;return false;case !F.dragging&&"mousemove":if(I(L.pageX-M.pageX)+I(L.pageY-M.pageY) max) { - // make sure min < max - var tmp = min; - min = max; - max = tmp; - } - - var range = max - min; - if (zr && - ((zr[0] != null && range < zr[0]) || - (zr[1] != null && range > zr[1]))) - return; - - opts.min = min; - opts.max = max; - }); - - plot.setupGrid(); - plot.draw(); - - if (!args.preventEvent) - plot.getPlaceholder().trigger("plotzoom", [ plot ]); - } - - plot.pan = function (args) { - var delta = { - x: +args.left, - y: +args.top - }; - - if (isNaN(delta.x)) - delta.x = 0; - if (isNaN(delta.y)) - delta.y = 0; - - $.each(plot.getAxes(), function (_, axis) { - var opts = axis.options, - min, max, d = delta[axis.direction]; - - min = axis.c2p(axis.p2c(axis.min) + d), - max = axis.c2p(axis.p2c(axis.max) + d); - - var pr = opts.panRange; - if (pr === false) // no panning on this axis - return; - - if (pr) { - // check whether we hit the wall - if (pr[0] != null && pr[0] > min) { - d = pr[0] - min; - min += d; - max += d; - } - - if (pr[1] != null && pr[1] < max) { - d = pr[1] - max; - min += d; - max += d; - } - } - - opts.min = min; - opts.max = max; - }); - - plot.setupGrid(); - plot.draw(); - - if (!args.preventEvent) - plot.getPlaceholder().trigger("plotpan", [ plot ]); - } - - function shutdown(plot, eventHolder) { - eventHolder.unbind(plot.getOptions().zoom.trigger, onZoomClick); - eventHolder.unbind("mousewheel", onMouseWheel); - eventHolder.unbind("dragstart", onDragStart); - eventHolder.unbind("drag", onDrag); - eventHolder.unbind("dragend", onDragEnd); - if (panTimeout) - clearTimeout(panTimeout); - } - - plot.hooks.bindEvents.push(bindEvents); - plot.hooks.shutdown.push(shutdown); - } - - $.plot.plugins.push({ - init: init, - options: options, - name: 'navigate', - version: '1.3' - }); -})(jQuery); diff --git a/modules/lib/flot/jquery.flot.navigate.min.js b/modules/lib/flot/jquery.flot.navigate.min.js deleted file mode 100644 index ecf63c9..0000000 --- a/modules/lib/flot/jquery.flot.navigate.min.js +++ /dev/null @@ -1 +0,0 @@ -(function(i){i.fn.drag=function(j,k,l){if(k){this.bind("dragstart",j)}if(l){this.bind("dragend",l)}return !j?this.trigger("drag"):this.bind("drag",k?k:j)};var d=i.event,c=d.special,h=c.drag={not:":input",distance:0,which:1,dragging:false,setup:function(j){j=i.extend({distance:h.distance,which:h.which,not:h.not},j||{});j.distance=e(j.distance);d.add(this,"mousedown",f,j);if(this.attachEvent){this.attachEvent("ondragstart",a)}},teardown:function(){d.remove(this,"mousedown",f);if(this===h.dragging){h.dragging=h.proxy=false}g(this,true);if(this.detachEvent){this.detachEvent("ondragstart",a)}}};c.dragstart=c.dragend={setup:function(){},teardown:function(){}};function f(j){var k=this,l,m=j.data||{};if(m.elem){k=j.dragTarget=m.elem;j.dragProxy=h.proxy||k;j.cursorOffsetX=m.pageX-m.left;j.cursorOffsetY=m.pageY-m.top;j.offsetX=j.pageX-j.cursorOffsetX;j.offsetY=j.pageY-j.cursorOffsetY}else{if(h.dragging||(m.which>0&&j.which!=m.which)||i(j.target).is(m.not)){return}}switch(j.type){case"mousedown":i.extend(m,i(k).offset(),{elem:k,target:j.target,pageX:j.pageX,pageY:j.pageY});d.add(document,"mousemove mouseup",f,m);g(k,false);h.dragging=null;return false;case !h.dragging&&"mousemove":if(e(j.pageX-m.pageX)+e(j.pageY-m.pageY)w){var A=B;B=w;w=A}var y=w-B;if(E&&((E[0]!=null&&yE[1]))){return}D.min=B;D.max=w});o.setupGrid();o.draw();if(!q.preventEvent){o.getPlaceholder().trigger("plotzoom",[o])}};o.pan=function(p){var q={x:+p.left,y:+p.top};if(isNaN(q.x)){q.x=0}if(isNaN(q.y)){q.y=0}b.each(o.getAxes(),function(s,u){var v=u.options,t,r,w=q[u.direction];t=u.c2p(u.p2c(u.min)+w),r=u.c2p(u.p2c(u.max)+w);var x=v.panRange;if(x===false){return}if(x){if(x[0]!=null&&x[0]>t){w=x[0]-t;t+=w;r+=w}if(x[1]!=null&&x[1]b?1:0}function n(a,c,d){for(var b=0;c<=d;c++)b+=a[c].bars.barWidth+2*l;return b}var g,h,o,l,p=1,j=!1;k.hooks.processDatapoints.push(function(a,c,d){var b=null;if(null!=c.bars&&c.bars.show&&null!=c.bars.order){c.bars.horizontal&&(j=!0);var f=j?a.getPlaceholder().innerHeight(): a.getPlaceholder().innerWidth(),e=j?m(a.getData(),1):m(a.getData(),0);p=(e[1]-e[0])/f;a=a.getData();f=[];for(e=0;e1) - options.series.pie.tilt=1; - if (options.series.pie.tilt<0) - options.series.pie.tilt=0; - - // add processData hook to do transformations on the data - plot.hooks.processDatapoints.push(processDatapoints); - plot.hooks.drawOverlay.push(drawOverlay); - - // add draw hook - plot.hooks.draw.push(draw); - } - } - - // bind hoverable events - function bindEvents(plot, eventHolder) - { - var options = plot.getOptions(); - - if (options.series.pie.show && options.grid.hoverable) - eventHolder.unbind('mousemove').mousemove(onMouseMove); - - if (options.series.pie.show && options.grid.clickable) - eventHolder.unbind('click').click(onClick); - } - - - // debugging function that prints out an object - function alertObject(obj) - { - var msg = ''; - function traverse(obj, depth) - { - if (!depth) - depth = 0; - for (var i = 0; i < obj.length; ++i) - { - for (var j=0; jcanvas.width-maxRadius) - centerLeft = canvas.width-maxRadius; - } - - function fixData(data) - { - for (var i = 0; i < data.length; ++i) - { - if (typeof(data[i].data)=='number') - data[i].data = [[1,data[i].data]]; - else if (typeof(data[i].data)=='undefined' || typeof(data[i].data[0])=='undefined') - { - if (typeof(data[i].data)!='undefined' && typeof(data[i].data.label)!='undefined') - data[i].label = data[i].data.label; // fix weirdness coming from flot - data[i].data = [[1,0]]; - - } - } - return data; - } - - function combine(data) - { - data = fixData(data); - calcTotal(data); - var combined = 0; - var numCombined = 0; - var color = options.series.pie.combine.color; - - var newdata = []; - for (var i = 0; i < data.length; ++i) - { - // make sure its a number - data[i].data[0][1] = parseFloat(data[i].data[0][1]); - if (!data[i].data[0][1]) - data[i].data[0][1] = 0; - - if (data[i].data[0][1]/total<=options.series.pie.combine.threshold) - { - combined += data[i].data[0][1]; - numCombined++; - if (!color) - color = data[i].color; - } - else - { - newdata.push({ - data: [[1,data[i].data[0][1]]], - color: data[i].color, - label: data[i].label, - angle: (data[i].data[0][1]*(Math.PI*2))/total, - percent: (data[i].data[0][1]/total*100) - }); - } - } - if (numCombined>0) - newdata.push({ - data: [[1,combined]], - color: color, - label: options.series.pie.combine.label, - angle: (combined*(Math.PI*2))/total, - percent: (combined/total*100) - }); - return newdata; - } - - function draw(plot, newCtx) - { - if (!target) return; // if no series were passed - ctx = newCtx; - - setupPie(); - var slices = plot.getData(); - - var attempts = 0; - redraw = true; - while (redraw && attempts0) - maxRadius *= shrink; - attempts += 1; - clear(); - if (options.series.pie.tilt<=0.8) - drawShadow(); - drawPie(); - } - if (attempts >= redrawAttempts) { - clear(); - target.prepend('
            Could not draw pie with labels contained inside canvas
            '); - } - - if ( plot.setSeries && plot.insertLegend ) - { - plot.setSeries(slices); - plot.insertLegend(); - } - - // we're actually done at this point, just defining internal functions at this point - - function clear() - { - ctx.clearRect(0,0,canvas.width,canvas.height); - target.children().filter('.pieLabel, .pieLabelBackground').remove(); - } - - function drawShadow() - { - var shadowLeft = 5; - var shadowTop = 15; - var edge = 10; - var alpha = 0.02; - - // set radius - if (options.series.pie.radius>1) - var radius = options.series.pie.radius; - else - var radius = maxRadius * options.series.pie.radius; - - if (radius>=(canvas.width/2)-shadowLeft || radius*options.series.pie.tilt>=(canvas.height/2)-shadowTop || radius<=edge) - return; // shadow would be outside canvas, so don't draw it - - ctx.save(); - ctx.translate(shadowLeft,shadowTop); - ctx.globalAlpha = alpha; - ctx.fillStyle = '#000'; - - // center and rotate to starting position - ctx.translate(centerLeft,centerTop); - ctx.scale(1, options.series.pie.tilt); - - //radius -= edge; - for (var i=1; i<=edge; i++) - { - ctx.beginPath(); - ctx.arc(0,0,radius,0,Math.PI*2,false); - ctx.fill(); - radius -= i; - } - - ctx.restore(); - } - - function drawPie() - { - startAngle = Math.PI*options.series.pie.startAngle; - - // set radius - if (options.series.pie.radius>1) - var radius = options.series.pie.radius; - else - var radius = maxRadius * options.series.pie.radius; - - // center and rotate to starting position - ctx.save(); - ctx.translate(centerLeft,centerTop); - ctx.scale(1, options.series.pie.tilt); - //ctx.rotate(startAngle); // start at top; -- This doesn't work properly in Opera - - // draw slices - ctx.save(); - var currentAngle = startAngle; - for (var i = 0; i < slices.length; ++i) - { - slices[i].startAngle = currentAngle; - drawSlice(slices[i].angle, slices[i].color, true); - } - ctx.restore(); - - // draw slice outlines - ctx.save(); - ctx.lineWidth = options.series.pie.stroke.width; - currentAngle = startAngle; - for (var i = 0; i < slices.length; ++i) - drawSlice(slices[i].angle, options.series.pie.stroke.color, false); - ctx.restore(); - - // draw donut hole - drawDonutHole(ctx); - - // draw labels - if (options.series.pie.label.show) - drawLabels(); - - // restore to original state - ctx.restore(); - - function drawSlice(angle, color, fill) - { - if (angle<=0) - return; - - if (fill) - ctx.fillStyle = color; - else - { - ctx.strokeStyle = color; - ctx.lineJoin = 'round'; - } - - ctx.beginPath(); - if (Math.abs(angle - Math.PI*2) > 0.000000001) - ctx.moveTo(0,0); // Center of the pie - else if ($.browser.msie) - angle -= 0.0001; - //ctx.arc(0,0,radius,0,angle,false); // This doesn't work properly in Opera - ctx.arc(0,0,radius,currentAngle,currentAngle+angle,false); - ctx.closePath(); - //ctx.rotate(angle); // This doesn't work properly in Opera - currentAngle += angle; - - if (fill) - ctx.fill(); - else - ctx.stroke(); - } - - function drawLabels() - { - var currentAngle = startAngle; - - // set radius - if (options.series.pie.label.radius>1) - var radius = options.series.pie.label.radius; - else - var radius = maxRadius * options.series.pie.label.radius; - - for (var i = 0; i < slices.length; ++i) - { - if (slices[i].percent >= options.series.pie.label.threshold*100) - drawLabel(slices[i], currentAngle, i); - currentAngle += slices[i].angle; - } - - function drawLabel(slice, startAngle, index) - { - if (slice.data[0][1]==0) - return; - - // format label text - var lf = options.legend.labelFormatter, text, plf = options.series.pie.label.formatter; - if (lf) - text = lf(slice.label, slice); - else - text = slice.label; - if (plf) - text = plf(text, slice); - - var halfAngle = ((startAngle+slice.angle) + startAngle)/2; - var x = centerLeft + Math.round(Math.cos(halfAngle) * radius); - var y = centerTop + Math.round(Math.sin(halfAngle) * radius) * options.series.pie.tilt; - - var html = '' + text + ""; - target.append(html); - var label = target.children('#pieLabel'+index); - var labelTop = (y - label.height()/2); - var labelLeft = (x - label.width()/2); - label.css('top', labelTop); - label.css('left', labelLeft); - - // check to make sure that the label is not outside the canvas - if (0-labelTop>0 || 0-labelLeft>0 || canvas.height-(labelTop+label.height())<0 || canvas.width-(labelLeft+label.width())<0) - redraw = true; - - if (options.series.pie.label.background.opacity != 0) { - // put in the transparent background separately to avoid blended labels and label boxes - var c = options.series.pie.label.background.color; - if (c == null) { - c = slice.color; - } - var pos = 'top:'+labelTop+'px;left:'+labelLeft+'px;'; - $('
            ').insertBefore(label).css('opacity', options.series.pie.label.background.opacity); - } - } // end individual label function - } // end drawLabels function - } // end drawPie function - } // end draw function - - // Placed here because it needs to be accessed from multiple locations - function drawDonutHole(layer) - { - // draw donut hole - if(options.series.pie.innerRadius > 0) - { - // subtract the center - layer.save(); - innerRadius = options.series.pie.innerRadius > 1 ? options.series.pie.innerRadius : maxRadius * options.series.pie.innerRadius; - layer.globalCompositeOperation = 'destination-out'; // this does not work with excanvas, but it will fall back to using the stroke color - layer.beginPath(); - layer.fillStyle = options.series.pie.stroke.color; - layer.arc(0,0,innerRadius,0,Math.PI*2,false); - layer.fill(); - layer.closePath(); - layer.restore(); - - // add inner stroke - layer.save(); - layer.beginPath(); - layer.strokeStyle = options.series.pie.stroke.color; - layer.arc(0,0,innerRadius,0,Math.PI*2,false); - layer.stroke(); - layer.closePath(); - layer.restore(); - // TODO: add extra shadow inside hole (with a mask) if the pie is tilted. - } - } - - //-- Additional Interactive related functions -- - - function isPointInPoly(poly, pt) - { - for(var c = false, i = -1, l = poly.length, j = l - 1; ++i < l; j = i) - ((poly[i][1] <= pt[1] && pt[1] < poly[j][1]) || (poly[j][1] <= pt[1] && pt[1]< poly[i][1])) - && (pt[0] < (poly[j][0] - poly[i][0]) * (pt[1] - poly[i][1]) / (poly[j][1] - poly[i][1]) + poly[i][0]) - && (c = !c); - return c; - } - - function findNearbySlice(mouseX, mouseY) - { - var slices = plot.getData(), - options = plot.getOptions(), - radius = options.series.pie.radius > 1 ? options.series.pie.radius : maxRadius * options.series.pie.radius; - - for (var i = 0; i < slices.length; ++i) - { - var s = slices[i]; - - if(s.pie.show) - { - ctx.save(); - ctx.beginPath(); - ctx.moveTo(0,0); // Center of the pie - //ctx.scale(1, options.series.pie.tilt); // this actually seems to break everything when here. - ctx.arc(0,0,radius,s.startAngle,s.startAngle+s.angle,false); - ctx.closePath(); - x = mouseX-centerLeft; - y = mouseY-centerTop; - if(ctx.isPointInPath) - { - if (ctx.isPointInPath(mouseX-centerLeft, mouseY-centerTop)) - { - //alert('found slice!'); - ctx.restore(); - return {datapoint: [s.percent, s.data], dataIndex: 0, series: s, seriesIndex: i}; - } - } - else - { - // excanvas for IE doesn;t support isPointInPath, this is a workaround. - p1X = (radius * Math.cos(s.startAngle)); - p1Y = (radius * Math.sin(s.startAngle)); - p2X = (radius * Math.cos(s.startAngle+(s.angle/4))); - p2Y = (radius * Math.sin(s.startAngle+(s.angle/4))); - p3X = (radius * Math.cos(s.startAngle+(s.angle/2))); - p3Y = (radius * Math.sin(s.startAngle+(s.angle/2))); - p4X = (radius * Math.cos(s.startAngle+(s.angle/1.5))); - p4Y = (radius * Math.sin(s.startAngle+(s.angle/1.5))); - p5X = (radius * Math.cos(s.startAngle+s.angle)); - p5Y = (radius * Math.sin(s.startAngle+s.angle)); - arrPoly = [[0,0],[p1X,p1Y],[p2X,p2Y],[p3X,p3Y],[p4X,p4Y],[p5X,p5Y]]; - arrPoint = [x,y]; - // TODO: perhaps do some mathmatical trickery here with the Y-coordinate to compensate for pie tilt? - if(isPointInPoly(arrPoly, arrPoint)) - { - ctx.restore(); - return {datapoint: [s.percent, s.data], dataIndex: 0, series: s, seriesIndex: i}; - } - } - ctx.restore(); - } - } - - return null; - } - - function onMouseMove(e) - { - triggerClickHoverEvent('plothover', e); - } - - function onClick(e) - { - triggerClickHoverEvent('plotclick', e); - } - - // trigger click or hover event (they send the same parameters so we share their code) - function triggerClickHoverEvent(eventname, e) - { - var offset = plot.offset(), - canvasX = parseInt(e.pageX - offset.left), - canvasY = parseInt(e.pageY - offset.top), - item = findNearbySlice(canvasX, canvasY); - - if (options.grid.autoHighlight) - { - // clear auto-highlights - for (var i = 0; i < highlights.length; ++i) - { - var h = highlights[i]; - if (h.auto == eventname && !(item && h.series == item.series)) - unhighlight(h.series); - } - } - - // highlight the slice - if (item) - highlight(item.series, eventname); - - // trigger any hover bind events - var pos = { pageX: e.pageX, pageY: e.pageY }; - target.trigger(eventname, [ pos, item ]); - } - - function highlight(s, auto) - { - if (typeof s == "number") - s = series[s]; - - var i = indexOfHighlight(s); - if (i == -1) - { - highlights.push({ series: s, auto: auto }); - plot.triggerRedrawOverlay(); - } - else if (!auto) - highlights[i].auto = false; - } - - function unhighlight(s) - { - if (s == null) - { - highlights = []; - plot.triggerRedrawOverlay(); - } - - if (typeof s == "number") - s = series[s]; - - var i = indexOfHighlight(s); - if (i != -1) - { - highlights.splice(i, 1); - plot.triggerRedrawOverlay(); - } - } - - function indexOfHighlight(s) - { - for (var i = 0; i < highlights.length; ++i) - { - var h = highlights[i]; - if (h.series == s) - return i; - } - return -1; - } - - function drawOverlay(plot, octx) - { - //alert(options.series.pie.radius); - var options = plot.getOptions(); - //alert(options.series.pie.radius); - - var radius = options.series.pie.radius > 1 ? options.series.pie.radius : maxRadius * options.series.pie.radius; - - octx.save(); - octx.translate(centerLeft, centerTop); - octx.scale(1, options.series.pie.tilt); - - for (i = 0; i < highlights.length; ++i) - drawHighlight(highlights[i].series); - - drawDonutHole(octx); - - octx.restore(); - - function drawHighlight(series) - { - if (series.angle < 0) return; - - //octx.fillStyle = parseColor(options.series.pie.highlight.color).scale(null, null, null, options.series.pie.highlight.opacity).toString(); - octx.fillStyle = "rgba(255, 255, 255, "+options.series.pie.highlight.opacity+")"; // this is temporary until we have access to parseColor - - octx.beginPath(); - if (Math.abs(series.angle - Math.PI*2) > 0.000000001) - octx.moveTo(0,0); // Center of the pie - octx.arc(0,0,radius,series.startAngle,series.startAngle+series.angle,false); - octx.closePath(); - octx.fill(); - } - - } - - } // end init (plugin body) - - // define pie specific options and their default values - var options = { - series: { - pie: { - show: false, - radius: 'auto', // actual radius of the visible pie (based on full calculated radius if <=1, or hard pixel value) - innerRadius:0, /* for donut */ - startAngle: 3/2, - tilt: 1, - offset: { - top: 0, - left: 'auto' - }, - stroke: { - color: '#FFF', - width: 1 - }, - label: { - show: 'auto', - formatter: function(label, slice){ - return '
            '+label+'
            '+Math.round(slice.percent)+'%
            '; - }, // formatter function - radius: 1, // radius at which to place the labels (based on full calculated radius if <=1, or hard pixel value) - background: { - color: null, - opacity: 0 - }, - threshold: 0 // percentage at which to hide the label (i.e. the slice is too narrow) - }, - combine: { - threshold: -1, // percentage at which to combine little slices into one larger slice - color: null, // color to give the new slice (auto-generated if null) - label: 'Other' // label to give the new slice - }, - highlight: { - //color: '#FFF', // will add this functionality once parseColor is available - opacity: 0.5 - } - } - } - }; - - $.plot.plugins.push({ - init: init, - options: options, - name: "pie", - version: "1.0" - }); -})(jQuery); diff --git a/modules/lib/flot/jquery.flot.pie.min.js b/modules/lib/flot/jquery.flot.pie.min.js deleted file mode 100644 index 82fe9d7..0000000 --- a/modules/lib/flot/jquery.flot.pie.min.js +++ /dev/null @@ -1 +0,0 @@ -(function(r){var c={series:{pie:{show:!1,radius:"auto",innerRadius:0,startAngle:1.5,tilt:1,offset:{top:0,left:"auto"},stroke:{color:"#FFF",width:1},label:{show:"auto",formatter:function(c,r){return'
            '+c+"
            "+Math.round(r.percent)+"%
            "},radius:1,background:{color:null,opacity:0},threshold:0},combine:{threshold:-1,color:null,label:"Other"},highlight:{opacity:0.5}}}};r.plot.plugins.push({init:function(s){function F(a){A|| (A=!0,k=a.getCanvas(),t=r(k).parent(),c=a.getOptions(),a.setData(G(a.getData())))}function G(a){for(var b=0;b=k.width/2-5||a*c.series.pie.tilt>=k.height/2-15||10>=a)){ctx.save();ctx.translate(5,15);ctx.globalAlpha=0.02;ctx.fillStyle="#000";ctx.translate(l,v);ctx.scale(1,c.series.pie.tilt);for(var b=1;10>=b;b++)ctx.beginPath(),ctx.arc(0,0,a,0,2*Math.PI,!1),ctx.fill(),a-=b;ctx.restore()}}function e(){function a(b,c,d){0>=b||(d?ctx.fillStyle=c:(ctx.strokeStyle=c,ctx.lineJoin="round"),ctx.beginPath(),1.0E-9=100*c.series.pie.label.threshold){var f=d[e],g=a,q=e;if(0!=f.data[0][1]){var o=c.legend.labelFormatter,j=void 0,p=c.series.pie.label.formatter,j=o?o(f.label,f):f.label;p&&(j=p(j,f));o=(g+f.angle+g)/2;g=l+Math.round(Math.cos(o)* h);o=v+Math.round(Math.sin(o)*h)*c.series.pie.tilt;t.append(''+j+"");q=t.children("#pieLabel"+q);j=o-q.height()/2;o=g-q.width()/2;q.css("top",j);q.css("left",o);if(0<0-j||0<0-o||0>k.height-(j+q.height())||0>k.width-(o+q.width()))w=!0;0!=c.series.pie.label.background.opacity&&(g=c.series.pie.label.background.color,null==g&&(g=f.color),f="top:"+j+"px;left:"+o+"px;",r('
            ').insertBefore(q).css("opacity",c.series.pie.label.background.opacity))}}a+=d[e].angle}}startAngle=Math.PI*c.series.pie.startAngle;var h=1k.width-n&&(l=k.width-n);var d=a.getData(),j=0;for(w=!0;w&&j=c.series.pie.tilt&&f(),e();j>=C&&(h(),t.prepend('
            Could not draw pie with labels contained inside canvas
            '));a.setSeries&&a.insertLegend&&(a.setSeries(d),a.insertLegend())}}function B(a){0e.angle||(b.fillStyle="rgba(255, 255, 255, "+c.series.pie.highlight.opacity+")",b.beginPath(),1.0E-9b.series.pie.tilt&&(b.series.pie.tilt=0),a.hooks.processDatapoints.push(F),a.hooks.drawOverlay.push(L),a.hooks.draw.push(H))});s.hooks.bindEvents.push(function(a, b){var c=a.getOptions();c.series.pie.show&&c.grid.hoverable&&b.unbind("mousemove").mousemove(J);c.series.pie.show&&c.grid.clickable&&b.unbind("click").click(K)})},options:c,name:"pie",version:"1.0"})})(jQuery); \ No newline at end of file diff --git a/modules/lib/flot/jquery.flot.pyramid.min.js b/modules/lib/flot/jquery.flot.pyramid.min.js deleted file mode 100644 index e4835d3..0000000 --- a/modules/lib/flot/jquery.flot.pyramid.min.js +++ /dev/null @@ -1,12 +0,0 @@ -// -// This is a plugin for drawing [population pyramids](http://en.wikipedia.org/wiki/Population_pyramid) with -// [flot](http://code.google.com/p/flot/). -// -// Ok, let's wrap everything in a warm, secure closure. -// -// Copyright (c) 2011 Asís García Chao -// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -// The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -var FlotPyramid=function(){function o(a){for(var b=0,c=a.length;b
            ") - .prependTo(element); - header = new Header(t, options); - headerElement = header.render(); - if (headerElement) { - element.prepend(headerElement); - } - changeView(options.defaultView); - $(window).resize(windowResize); - // needed for IE in a 0x0 iframe, b/c when it is resized, never triggers a windowResize - if (!bodyVisible()) { - lateRender(); - } - } - - - // called when we know the calendar couldn't be rendered when it was initialized, - // but we think it's ready now - function lateRender() { - setTimeout(function() { // IE7 needs this so dimensions are calculated correctly - if (!currentView.start && bodyVisible()) { // !currentView.start makes sure this never happens more than once - renderView(); - } - },0); - } - - - function destroy() { - $(window).unbind('resize', windowResize); - header.destroy(); - content.remove(); - element.removeClass('fc fc-rtl ui-widget'); - } - - - - function elementVisible() { - return _element.offsetWidth !== 0; - } - - - function bodyVisible() { - return $('body')[0].offsetWidth !== 0; - } - - - - /* View Rendering - -----------------------------------------------------------------------------*/ - - // TODO: improve view switching (still weird transition in IE, and FF has whiteout problem) - - function changeView(newViewName) { - if (!currentView || newViewName != currentView.name) { - ignoreWindowResize++; // because setMinHeight might change the height before render (and subsequently setSize) is reached - - unselect(); - - var oldView = currentView; - var newViewElement; - - if (oldView) { - (oldView.beforeHide || noop)(); // called before changing min-height. if called after, scroll state is reset (in Opera) - setMinHeight(content, content.height()); - oldView.element.hide(); - }else{ - setMinHeight(content, 1); // needs to be 1 (not 0) for IE7, or else view dimensions miscalculated - } - content.css('overflow', 'hidden'); - - currentView = viewInstances[newViewName]; - if (currentView) { - currentView.element.show(); - }else{ - currentView = viewInstances[newViewName] = new fcViews[newViewName]( - newViewElement = absoluteViewElement = - $("
            ") - .appendTo(content), - t // the calendar object - ); - } - - if (oldView) { - header.deactivateButton(oldView.name); - } - header.activateButton(newViewName); - - renderView(); // after height has been set, will make absoluteViewElement's position=relative, then set to null - - content.css('overflow', ''); - if (oldView) { - setMinHeight(content, 1); - } - - if (!newViewElement) { - (currentView.afterShow || noop)(); // called after setting min-height/overflow, so in final scroll state (for Opera) - } - - ignoreWindowResize--; - } - } - - - - function renderView(inc) { - if (elementVisible()) { - ignoreWindowResize++; // because renderEvents might temporarily change the height before setSize is reached - - unselect(); - - if (suggestedViewHeight === undefined) { - calcSize(); - } - - var forceEventRender = false; - if (!currentView.start || inc || date < currentView.start || date >= currentView.end) { - // view must render an entire new date range (and refetch/render events) - currentView.render(date, inc || 0); // responsible for clearing events - setSize(true); - forceEventRender = true; - } - else if (currentView.sizeDirty) { - // view must resize (and rerender events) - currentView.clearEvents(); - setSize(); - forceEventRender = true; - } - else if (currentView.eventsDirty) { - currentView.clearEvents(); - forceEventRender = true; - } - currentView.sizeDirty = false; - currentView.eventsDirty = false; - updateEvents(forceEventRender); - - elementOuterWidth = element.outerWidth(); - - header.updateTitle(currentView.title); - var today = new Date(); - if (today >= currentView.start && today < currentView.end) { - header.disableButton('today'); - }else{ - header.enableButton('today'); - } - - ignoreWindowResize--; - currentView.trigger('viewDisplay', _element); - } - } - - - - /* Resizing - -----------------------------------------------------------------------------*/ - - - function updateSize() { - markSizesDirty(); - if (elementVisible()) { - calcSize(); - setSize(); - unselect(); - currentView.clearEvents(); - currentView.renderEvents(events); - currentView.sizeDirty = false; - } - } - - - function markSizesDirty() { - $.each(viewInstances, function(i, inst) { - inst.sizeDirty = true; - }); - } - - - function calcSize() { - if (options.contentHeight) { - suggestedViewHeight = options.contentHeight; - } - else if (options.height) { - suggestedViewHeight = options.height - (headerElement ? headerElement.height() : 0) - vsides(content); - } - else { - suggestedViewHeight = Math.round(content.width() / Math.max(options.aspectRatio, .5)); - } - } - - - function setSize(dateChanged) { // todo: dateChanged? - ignoreWindowResize++; - currentView.setHeight(suggestedViewHeight, dateChanged); - if (absoluteViewElement) { - absoluteViewElement.css('position', 'relative'); - absoluteViewElement = null; - } - currentView.setWidth(content.width(), dateChanged); - ignoreWindowResize--; - } - - - function windowResize() { - if (!ignoreWindowResize) { - if (currentView.start) { // view has already been rendered - var uid = ++resizeUID; - setTimeout(function() { // add a delay - if (uid == resizeUID && !ignoreWindowResize && elementVisible()) { - if (elementOuterWidth != (elementOuterWidth = element.outerWidth())) { - ignoreWindowResize++; // in case the windowResize callback changes the height - updateSize(); - currentView.trigger('windowResize', _element); - ignoreWindowResize--; - } - } - }, 200); - }else{ - // calendar must have been initialized in a 0x0 iframe that has just been resized - lateRender(); - } - } - } - - - - /* Event Fetching/Rendering - -----------------------------------------------------------------------------*/ - - - // fetches events if necessary, rerenders events if necessary (or if forced) - function updateEvents(forceRender) { - if (!options.lazyFetching || isFetchNeeded(currentView.visStart, currentView.visEnd)) { - refetchEvents(); - } - else if (forceRender) { - rerenderEvents(); - } - } - - - function refetchEvents() { - fetchEvents(currentView.visStart, currentView.visEnd); // will call reportEvents - } - - - // called when event data arrives - function reportEvents(_events) { - events = _events; - rerenderEvents(); - } - - - // called when a single event's data has been changed - function reportEventChange(eventID) { - rerenderEvents(eventID); - } - - - // attempts to rerenderEvents - function rerenderEvents(modifiedEventID) { - markEventsDirty(); - if (elementVisible()) { - currentView.clearEvents(); - currentView.renderEvents(events, modifiedEventID); - currentView.eventsDirty = false; - } - } - - - function markEventsDirty() { - $.each(viewInstances, function(i, inst) { - inst.eventsDirty = true; - }); - } - - - - /* Selection - -----------------------------------------------------------------------------*/ - - - function select(start, end, allDay) { - currentView.select(start, end, allDay===undefined ? true : allDay); - } - - - function unselect() { // safe to be called before renderView - if (currentView) { - currentView.unselect(); - } - } - - - - /* Date - -----------------------------------------------------------------------------*/ - - - function prev() { - renderView(-1); - } - - - function next() { - renderView(1); - } - - - function prevYear() { - addYears(date, -1); - renderView(); - } - - - function nextYear() { - addYears(date, 1); - renderView(); - } - - - function today() { - date = new Date(); - renderView(); - } - - - function gotoDate(year, month, dateOfMonth) { - if (year instanceof Date) { - date = cloneDate(year); // provided 1 argument, a Date - }else{ - setYMD(date, year, month, dateOfMonth); - } - renderView(); - } - - - function incrementDate(years, months, days) { - if (years !== undefined) { - addYears(date, years); - } - if (months !== undefined) { - addMonths(date, months); - } - if (days !== undefined) { - addDays(date, days); - } - renderView(); - } - - - function getDate() { - return cloneDate(date); - } - - - - /* Misc - -----------------------------------------------------------------------------*/ - - - function getView() { - return currentView; - } - - - function option(name, value) { - if (value === undefined) { - return options[name]; - } - if (name == 'height' || name == 'contentHeight' || name == 'aspectRatio') { - options[name] = value; - updateSize(); - } - } - - - function trigger(name, thisObj) { - if (options[name]) { - return options[name].apply( - thisObj || _element, - Array.prototype.slice.call(arguments, 2) - ); - } - } - - - - /* External Dragging - ------------------------------------------------------------------------*/ - - if (options.droppable) { - $(document) - .bind('dragstart', function(ev, ui) { - var _e = ev.target; - var e = $(_e); - if (!e.parents('.fc').length) { // not already inside a calendar - var accept = options.dropAccept; - if ($.isFunction(accept) ? accept.call(_e, e) : e.is(accept)) { - _dragElement = _e; - currentView.dragStart(_dragElement, ev, ui); - } - } - }) - .bind('dragstop', function(ev, ui) { - if (_dragElement) { - currentView.dragStop(_dragElement, ev, ui); - _dragElement = null; - } - }); - } - - -} - -function Header(calendar, options) { - var t = this; - - - // exports - t.render = render; - t.destroy = destroy; - t.updateTitle = updateTitle; - t.activateButton = activateButton; - t.deactivateButton = deactivateButton; - t.disableButton = disableButton; - t.enableButton = enableButton; - - - // locals - var element = $([]); - var tm; - - - - function render() { - tm = options.theme ? 'ui' : 'fc'; - var sections = options.header; - if (sections) { - element = $("
            ") - .append( - $("
            ") - .append(renderSection('left')) - .append(renderSection('center')) - .append(renderSection('right')) - ); - return element; - } - } - - - function destroy() { - element.remove(); - } - - - function renderSection(position) { - var e = $("
            "); - var buttonStr = options.header[position]; - if (buttonStr) { - $.each(buttonStr.split(' '), function(i) { - if (i > 0) { - e.append(""); - } - var prevButton; - $.each(this.split(','), function(j, buttonName) { - if (buttonName == 'title') { - e.append("

             

            "); - if (prevButton) { - prevButton.addClass(tm + '-corner-right'); - } - prevButton = null; - }else{ - var buttonClick; - if (calendar[buttonName]) { - buttonClick = calendar[buttonName]; // calendar method - } - else if (fcViews[buttonName]) { - buttonClick = function() { - button.removeClass(tm + '-state-hover'); // forget why - calendar.changeView(buttonName); - }; - } - if (buttonClick) { - var icon = options.theme ? smartProperty(options.buttonIcons, buttonName) : null; // why are we using smartProperty here? - var text = smartProperty(options.buttonText, buttonName); // why are we using smartProperty here? - var button = $( - "" + - (icon ? - "" + - "" + - "" : - text - ) + - "" - ); - if (button) { - button - .click(function() { - if (!button.hasClass(tm + '-state-disabled')) { - buttonClick(); - } - }) - .mousedown(function() { - button - .not('.' + tm + '-state-active') - .not('.' + tm + '-state-disabled') - .addClass(tm + '-state-down'); - }) - .mouseup(function() { - button.removeClass(tm + '-state-down'); - }) - .hover( - function() { - button - .not('.' + tm + '-state-active') - .not('.' + tm + '-state-disabled') - .addClass(tm + '-state-hover'); - }, - function() { - button - .removeClass(tm + '-state-hover') - .removeClass(tm + '-state-down'); - } - ) - .appendTo(e); - if (!prevButton) { - button.addClass(tm + '-corner-left'); - } - prevButton = button; - } - } - } - }); - if (prevButton) { - prevButton.addClass(tm + '-corner-right'); - } - }); - } - return e; - } - - - function updateTitle(html) { - element.find('h2') - .html(html); - } - - - function activateButton(buttonName) { - element.find('span.fc-button-' + buttonName) - .addClass(tm + '-state-active'); - } - - - function deactivateButton(buttonName) { - element.find('span.fc-button-' + buttonName) - .removeClass(tm + '-state-active'); - } - - - function disableButton(buttonName) { - element.find('span.fc-button-' + buttonName) - .addClass(tm + '-state-disabled'); - } - - - function enableButton(buttonName) { - element.find('span.fc-button-' + buttonName) - .removeClass(tm + '-state-disabled'); - } - - -} - -fc.sourceNormalizers = []; -fc.sourceFetchers = []; - -var ajaxDefaults = { - dataType: 'json', - cache: false -}; - -var eventGUID = 1; - - -function EventManager(options, _sources) { - var t = this; - - - // exports - t.isFetchNeeded = isFetchNeeded; - t.fetchEvents = fetchEvents; - t.addEventSource = addEventSource; - t.removeEventSource = removeEventSource; - t.updateEvent = updateEvent; - t.renderEvent = renderEvent; - t.removeEvents = removeEvents; - t.clientEvents = clientEvents; - t.normalizeEvent = normalizeEvent; - - - // imports - var trigger = t.trigger; - var getView = t.getView; - var reportEvents = t.reportEvents; - - - // locals - var stickySource = { events: [] }; - var sources = [ stickySource ]; - var rangeStart, rangeEnd; - var currentFetchID = 0; - var pendingSourceCnt = 0; - var loadingLevel = 0; - var cache = []; - - - for (var i=0; i<_sources.length; i++) { - _addEventSource(_sources[i]); - } - - - - /* Fetching - -----------------------------------------------------------------------------*/ - - - function isFetchNeeded(start, end) { - return !rangeStart || start < rangeStart || end > rangeEnd; - } - - - function fetchEvents(start, end) { - rangeStart = start; - rangeEnd = end; - cache = []; - var fetchID = ++currentFetchID; - var len = sources.length; - pendingSourceCnt = len; - for (var i=0; i)), return null instead - return null; -} - - -function parseISO8601(s, ignoreTimezone) { // ignoreTimezone defaults to false - // derived from http://delete.me.uk/2005/03/iso8601.html - // TODO: for a know glitch/feature, read tests/issue_206_parseDate_dst.html - var m = s.match(/^([0-9]{4})(-([0-9]{2})(-([0-9]{2})([T ]([0-9]{2}):([0-9]{2})(:([0-9]{2})(\.([0-9]+))?)?(Z|(([-+])([0-9]{2})(:?([0-9]{2}))?))?)?)?)?$/); - if (!m) { - return null; - } - var date = new Date(m[1], 0, 1); - if (ignoreTimezone || !m[13]) { - var check = new Date(m[1], 0, 1, 9, 0); - if (m[3]) { - date.setMonth(m[3] - 1); - check.setMonth(m[3] - 1); - } - if (m[5]) { - date.setDate(m[5]); - check.setDate(m[5]); - } - fixDate(date, check); - if (m[7]) { - date.setHours(m[7]); - } - if (m[8]) { - date.setMinutes(m[8]); - } - if (m[10]) { - date.setSeconds(m[10]); - } - if (m[12]) { - date.setMilliseconds(Number("0." + m[12]) * 1000); - } - fixDate(date, check); - }else{ - date.setUTCFullYear( - m[1], - m[3] ? m[3] - 1 : 0, - m[5] || 1 - ); - date.setUTCHours( - m[7] || 0, - m[8] || 0, - m[10] || 0, - m[12] ? Number("0." + m[12]) * 1000 : 0 - ); - if (m[14]) { - var offset = Number(m[16]) * 60 + (m[18] ? Number(m[18]) : 0); - offset *= m[15] == '-' ? 1 : -1; - date = new Date(+date + (offset * 60 * 1000)); - } - } - return date; -} - - -function parseTime(s) { // returns minutes since start of day - if (typeof s == 'number') { // an hour - return s * 60; - } - if (typeof s == 'object') { // a Date object - return s.getHours() * 60 + s.getMinutes(); - } - var m = s.match(/(\d+)(?::(\d+))?\s*(\w+)?/); - if (m) { - var h = parseInt(m[1], 10); - if (m[3]) { - h %= 12; - if (m[3].toLowerCase().charAt(0) == 'p') { - h += 12; - } - } - return h * 60 + (m[2] ? parseInt(m[2], 10) : 0); - } -} - - - -/* Date Formatting ------------------------------------------------------------------------------*/ -// TODO: use same function formatDate(date, [date2], format, [options]) - - -function formatDate(date, format, options) { - return formatDates(date, null, format, options); -} - - -function formatDates(date1, date2, format, options) { - options = options || defaults; - var date = date1, - otherDate = date2, - i, len = format.length, c, - i2, formatter, - res = ''; - for (i=0; ii; i2--) { - if (formatter = dateFormatters[format.substring(i, i2)]) { - if (date) { - res += formatter(date, options); - } - i = i2 - 1; - break; - } - } - if (i2 == i) { - if (date) { - res += c; - } - } - } - } - return res; -}; - - -var dateFormatters = { - s : function(d) { return d.getSeconds() }, - ss : function(d) { return zeroPad(d.getSeconds()) }, - m : function(d) { return d.getMinutes() }, - mm : function(d) { return zeroPad(d.getMinutes()) }, - h : function(d) { return d.getHours() % 12 || 12 }, - hh : function(d) { return zeroPad(d.getHours() % 12 || 12) }, - H : function(d) { return d.getHours() }, - HH : function(d) { return zeroPad(d.getHours()) }, - d : function(d) { return d.getDate() }, - dd : function(d) { return zeroPad(d.getDate()) }, - ddd : function(d,o) { return o.dayNamesShort[d.getDay()] }, - dddd: function(d,o) { return o.dayNames[d.getDay()] }, - M : function(d) { return d.getMonth() + 1 }, - MM : function(d) { return zeroPad(d.getMonth() + 1) }, - MMM : function(d,o) { return o.monthNamesShort[d.getMonth()] }, - MMMM: function(d,o) { return o.monthNames[d.getMonth()] }, - yy : function(d) { return (d.getFullYear()+'').substring(2) }, - yyyy: function(d) { return d.getFullYear() }, - t : function(d) { return d.getHours() < 12 ? 'a' : 'p' }, - tt : function(d) { return d.getHours() < 12 ? 'am' : 'pm' }, - T : function(d) { return d.getHours() < 12 ? 'A' : 'P' }, - TT : function(d) { return d.getHours() < 12 ? 'AM' : 'PM' }, - u : function(d) { return formatDate(d, "yyyy-MM-dd'T'HH:mm:ss'Z'") }, - S : function(d) { - var date = d.getDate(); - if (date > 10 && date < 20) { - return 'th'; - } - return ['st', 'nd', 'rd'][date%10-1] || 'th'; - } -}; - - - -fc.applyAll = applyAll; - - -/* Event Date Math ------------------------------------------------------------------------------*/ - - -function exclEndDay(event) { - if (event.end) { - return _exclEndDay(event.end, event.allDay); - }else{ - return addDays(cloneDate(event.start), 1); - } -} - - -function _exclEndDay(end, allDay) { - end = cloneDate(end); - return allDay || end.getHours() || end.getMinutes() ? addDays(end, 1) : clearTime(end); -} - - -function segCmp(a, b) { - return (b.msLength - a.msLength) * 100 + (a.event.start - b.event.start); -} - - -function segsCollide(seg1, seg2) { - return seg1.end > seg2.start && seg1.start < seg2.end; -} - - - -/* Event Sorting ------------------------------------------------------------------------------*/ - - -// event rendering utilities -function sliceSegs(events, visEventEnds, start, end) { - var segs = [], - i, len=events.length, event, - eventStart, eventEnd, - segStart, segEnd, - isStart, isEnd; - for (i=0; i start && eventStart < end) { - if (eventStart < start) { - segStart = cloneDate(start); - isStart = false; - }else{ - segStart = eventStart; - isStart = true; - } - if (eventEnd > end) { - segEnd = cloneDate(end); - isEnd = false; - }else{ - segEnd = eventEnd; - isEnd = true; - } - segs.push({ - event: event, - start: segStart, - end: segEnd, - isStart: isStart, - isEnd: isEnd, - msLength: segEnd - segStart - }); - } - } - return segs.sort(segCmp); -} - - -// event rendering calculation utilities -function stackSegs(segs) { - var levels = [], - i, len = segs.length, seg, - j, collide, k; - for (i=0; i=0; i--) { - res = obj[parts[i].toLowerCase()]; - if (res !== undefined) { - return res; - } - } - return obj['']; -} - - -function htmlEscape(s) { - return s.replace(/&/g, '&') - .replace(//g, '>') - .replace(/'/g, ''') - .replace(/"/g, '"') - .replace(/\n/g, '
            '); -} - - -function cssKey(_element) { - return _element.id + '/' + _element.className + '/' + _element.style.cssText.replace(/(^|;)\s*(top|left|width|height)\s*:[^;]*/ig, ''); -} - - -function disableTextSelection(element) { - element - .attr('unselectable', 'on') - .css('MozUserSelect', 'none') - .bind('selectstart.ui', function() { return false; }); -} - - -/* -function enableTextSelection(element) { - element - .attr('unselectable', 'off') - .css('MozUserSelect', '') - .unbind('selectstart.ui'); -} -*/ - - -function markFirstLast(e) { - e.children() - .removeClass('fc-first fc-last') - .filter(':first-child') - .addClass('fc-first') - .end() - .filter(':last-child') - .addClass('fc-last'); -} - - -function setDayID(cell, date) { - cell.each(function(i, _cell) { - _cell.className = _cell.className.replace(/^fc-\w*/, 'fc-' + dayIDs[date.getDay()]); - // TODO: make a way that doesn't rely on order of classes - }); -} - - -function getSkinCss(event, opt) { - var source = event.source || {}; - var eventColor = event.color; - var sourceColor = source.color; - var optionColor = opt('eventColor'); - var backgroundColor = - event.backgroundColor || - eventColor || - source.backgroundColor || - sourceColor || - opt('eventBackgroundColor') || - optionColor; - var borderColor = - event.borderColor || - eventColor || - source.borderColor || - sourceColor || - opt('eventBorderColor') || - optionColor; - var textColor = - event.textColor || - source.textColor || - opt('eventTextColor'); - var statements = []; - if (backgroundColor) { - statements.push('background-color:' + backgroundColor); - } - if (borderColor) { - statements.push('border-color:' + borderColor); - } - if (textColor) { - statements.push('color:' + textColor); - } - return statements.join(';'); -} - - -function applyAll(functions, thisObj, args) { - if ($.isFunction(functions)) { - functions = [ functions ]; - } - if (functions) { - var i; - var ret; - for (i=0; i" + - "" + - ""; - for (i=0; i"; // need fc- for setDayID - } - s += - "" + - "" + - ""; - for (i=0; i"; - for (j=0; j" + // need fc- for setDayID - "
            " + - (showNumbers ? - "
            " : - '' - ) + - "
            " + - "
             
            " + - "
            " + - "
            " + - ""; - } - s += - ""; - } - s += - "" + - ""; - table = $(s).appendTo(element); - - head = table.find('thead'); - headCells = head.find('th'); - body = table.find('tbody'); - bodyRows = body.find('tr'); - bodyCells = body.find('td'); - bodyFirstCells = bodyCells.filter(':first-child'); - bodyCellTopInners = bodyRows.eq(0).find('div.fc-day-content div'); - - markFirstLast(head.add(head.find('tr'))); // marks first+last tr/th's - markFirstLast(bodyRows); // marks first+last td's - bodyRows.eq(0).addClass('fc-first'); // fc-last is done in updateCells - - dayBind(bodyCells); - - daySegmentContainer = - $("
            ") - .appendTo(element); - } - - - - function updateCells(firstTime) { - var dowDirty = firstTime || rowCnt == 1; // could the cells' day-of-weeks need updating? - var month = t.start.getMonth(); - var today = clearTime(new Date()); - var cell; - var date; - var row; - - if (dowDirty) { - headCells.each(function(i, _cell) { - cell = $(_cell); - date = indexDate(i); - cell.html(formatDate(date, colFormat)); - setDayID(cell, date); - }); - } - - bodyCells.each(function(i, _cell) { - cell = $(_cell); - date = indexDate(i); - if (date.getMonth() == month) { - cell.removeClass('fc-other-month'); - }else{ - cell.addClass('fc-other-month'); - } - if (+date == +today) { - cell.addClass(tm + '-state-highlight fc-today'); - }else{ - cell.removeClass(tm + '-state-highlight fc-today'); - } - cell.find('div.fc-day-number').text(date.getDate()); - if (dowDirty) { - setDayID(cell, date); - } - }); - - bodyRows.each(function(i, _row) { - row = $(_row); - if (i < rowCnt) { - row.show(); - if (i == rowCnt-1) { - row.addClass('fc-last'); - }else{ - row.removeClass('fc-last'); - } - }else{ - row.hide(); - } - }); - } - - - - function setHeight(height) { - viewHeight = height; - - var bodyHeight = viewHeight - head.height(); - var rowHeight; - var rowHeightLast; - var cell; - - if (opt('weekMode') == 'variable') { - rowHeight = rowHeightLast = Math.floor(bodyHeight / (rowCnt==1 ? 2 : 6)); - }else{ - rowHeight = Math.floor(bodyHeight / rowCnt); - rowHeightLast = bodyHeight - rowHeight * (rowCnt-1); - } - - bodyFirstCells.each(function(i, _cell) { - if (i < rowCnt) { - cell = $(_cell); - setMinHeight( - cell.find('> div'), - (i==rowCnt-1 ? rowHeightLast : rowHeight) - vsides(cell) - ); - } - }); - - } - - - function setWidth(width) { - viewWidth = width; - colContentPositions.clear(); - colWidth = Math.floor(viewWidth / colCnt); - setOuterWidth(headCells.slice(0, -1), colWidth); - } - - - - /* Day clicking and binding - -----------------------------------------------------------*/ - - - function dayBind(days) { - days.click(dayClick) - .mousedown(daySelectionMousedown); - } - - - function dayClick(ev) { - if (!opt('selectable')) { // if selectable, SelectionManager will worry about dayClick - var index = parseInt(this.className.match(/fc\-day(\d+)/)[1]); // TODO: maybe use .data - var date = indexDate(index); - trigger('dayClick', this, date, true, ev); - } - } - - - - /* Semi-transparent Overlay Helpers - ------------------------------------------------------*/ - - - function renderDayOverlay(overlayStart, overlayEnd, refreshCoordinateGrid) { // overlayEnd is exclusive - if (refreshCoordinateGrid) { - coordinateGrid.build(); - } - var rowStart = cloneDate(t.visStart); - var rowEnd = addDays(cloneDate(rowStart), colCnt); - for (var i=0; i" + - "" + - "" + - " "; - for (i=0; i"; // fc- needed for setDayID - } - s += - " " + - "" + - "" + - "" + - "" + - " "; - for (i=0; i" + // fc- needed for setDayID - "
            " + - "
            " + - "
             
            " + - "
            " + - "
            " + - ""; - } - s += - " " + - "" + - "" + - ""; - dayTable = $(s).appendTo(element); - dayHead = dayTable.find('thead'); - dayHeadCells = dayHead.find('th').slice(1, -1); - dayBody = dayTable.find('tbody'); - dayBodyCells = dayBody.find('td').slice(0, -1); - dayBodyCellInners = dayBodyCells.find('div.fc-day-content div'); - dayBodyFirstCell = dayBodyCells.eq(0); - dayBodyFirstCellStretcher = dayBodyFirstCell.find('> div'); - - markFirstLast(dayHead.add(dayHead.find('tr'))); - markFirstLast(dayBody.add(dayBody.find('tr'))); - - axisFirstCells = dayHead.find('th:first'); - gutterCells = dayTable.find('.fc-agenda-gutter'); - - slotLayer = - $("
            ") - .appendTo(element); - - if (opt('allDaySlot')) { - - daySegmentContainer = - $("
            ") - .appendTo(slotLayer); - - s = - "" + - "" + - "" + - "" + - "" + - "" + - "
            " + opt('allDayText') + "" + - "
            " + - "
             
            "; - allDayTable = $(s).appendTo(slotLayer); - allDayRow = allDayTable.find('tr'); - - dayBind(allDayRow.find('td')); - - axisFirstCells = axisFirstCells.add(allDayTable.find('th:first')); - gutterCells = gutterCells.add(allDayTable.find('th.fc-agenda-gutter')); - - slotLayer.append( - "
            " + - "
            " + - "
            " - ); - - }else{ - - daySegmentContainer = $([]); // in jQuery 1.4, we can just do $() - - } - - slotScroller = - $("
            ") - .appendTo(slotLayer); - - slotContent = - $("
            ") - .appendTo(slotScroller); - - slotSegmentContainer = - $("
            ") - .appendTo(slotContent); - - s = - "" + - ""; - d = zeroDate(); - maxd = addMinutes(cloneDate(d), maxMinute); - addMinutes(d, minMinute); - slotCnt = 0; - for (i=0; d < maxd; i++) { - minutes = d.getMinutes(); - s += - "" + - "" + - "" + - ""; - addMinutes(d, opt('slotMinutes')); - slotCnt++; - } - s += - "" + - "
            " + - ((!slotNormal || !minutes) ? formatDate(d, opt('axisFormat')) : ' ') + - "" + - "
             
            " + - "
            "; - slotTable = $(s).appendTo(slotContent); - slotTableFirstInner = slotTable.find('div:first'); - - slotBind(slotTable.find('td')); - - axisFirstCells = axisFirstCells.add(slotTable.find('th:first')); - } - - - - function updateCells() { - var i; - var headCell; - var bodyCell; - var date; - var today = clearTime(new Date()); - for (i=0; i= 0) { - addMinutes(d, minMinute + slotIndex * opt('slotMinutes')); - } - return d; - } - - - function colDate(col) { // returns dates with 00:00:00 - return addDays(cloneDate(t.visStart), col*dis+dit); - } - - - function cellIsAllDay(cell) { - return opt('allDaySlot') && !cell.row; - } - - - function dayOfWeekCol(dayOfWeek) { - return ((dayOfWeek - Math.max(firstDay, nwe) + colCnt) % colCnt)*dis+dit; - } - - - - - // get the Y coordinate of the given time on the given day (both Date objects) - function timePosition(day, time) { // both date objects. day holds 00:00 of current day - day = cloneDate(day, true); - if (time < addMinutes(cloneDate(day), minMinute)) { - return 0; - } - if (time >= addMinutes(cloneDate(day), maxMinute)) { - return slotTable.height(); - } - var slotMinutes = opt('slotMinutes'), - minutes = time.getHours()*60 + time.getMinutes() - minMinute, - slotI = Math.floor(minutes / slotMinutes), - slotTop = slotTopCache[slotI]; - if (slotTop === undefined) { - slotTop = slotTopCache[slotI] = slotTable.find('tr:eq(' + slotI + ') td div')[0].offsetTop; //.position().top; // need this optimization??? - } - return Math.max(0, Math.round( - slotTop - 1 + slotHeight * ((minutes % slotMinutes) / slotMinutes) - )); - } - - - function allDayBounds() { - return { - left: axisWidth, - right: viewWidth - gutterWidth - } - } - - - function getAllDayRow(index) { - return allDayRow; - } - - - function defaultEventEnd(event) { - var start = cloneDate(event.start); - if (event.allDay) { - return start; - } - return addMinutes(start, opt('defaultEventMinutes')); - } - - - - /* Selection - ---------------------------------------------------------------------------------*/ - - - function defaultSelectionEnd(startDate, allDay) { - if (allDay) { - return cloneDate(startDate); - } - return addMinutes(cloneDate(startDate), opt('slotMinutes')); - } - - - function renderSelection(startDate, endDate, allDay) { // only for all-day - if (allDay) { - if (opt('allDaySlot')) { - renderDayOverlay(startDate, addDays(cloneDate(endDate), 1), true); - } - }else{ - renderSlotSelection(startDate, endDate); - } - } - - - function renderSlotSelection(startDate, endDate) { - var helperOption = opt('selectHelper'); - coordinateGrid.build(); - if (helperOption) { - var col = dayDiff(startDate, t.visStart) * dis + dit; - if (col >= 0 && col < colCnt) { // only works when times are on same day - var rect = coordinateGrid.rect(0, col, 0, col, slotContent); // only for horizontal coords - var top = timePosition(startDate, startDate); - var bottom = timePosition(startDate, endDate); - if (bottom > top) { // protect against selections that are entirely before or after visible range - rect.top = top; - rect.height = bottom - top; - rect.left += 2; - rect.width -= 5; - if ($.isFunction(helperOption)) { - var helperRes = helperOption(startDate, endDate); - if (helperRes) { - rect.position = 'absolute'; - rect.zIndex = 8; - selectionHelper = $(helperRes) - .css(rect) - .appendTo(slotContent); - } - }else{ - rect.isStart = true; // conside rect a "seg" now - rect.isEnd = true; // - selectionHelper = $(slotSegHtml( - { - title: '', - start: startDate, - end: endDate, - className: ['fc-select-helper'], - editable: false - }, - rect - )); - selectionHelper.css('opacity', opt('dragOpacity')); - } - if (selectionHelper) { - slotBind(selectionHelper); - slotContent.append(selectionHelper); - setOuterWidth(selectionHelper, rect.width, true); // needs to be after appended - setOuterHeight(selectionHelper, rect.height, true); - } - } - } - }else{ - renderSlotOverlay(startDate, endDate); - } - } - - - function clearSelection() { - clearOverlays(); - if (selectionHelper) { - selectionHelper.remove(); - selectionHelper = null; - } - } - - - function slotSelectionMousedown(ev) { - if (ev.which == 1 && opt('selectable')) { // ev.which==1 means left mouse button - unselect(ev); - var dates; - hoverListener.start(function(cell, origCell) { - clearSelection(); - if (cell && cell.col == origCell.col && !cellIsAllDay(cell)) { - var d1 = cellDate(origCell); - var d2 = cellDate(cell); - dates = [ - d1, - addMinutes(cloneDate(d1), opt('slotMinutes')), - d2, - addMinutes(cloneDate(d2), opt('slotMinutes')) - ].sort(cmp); - renderSlotSelection(dates[0], dates[3]); - }else{ - dates = null; - } - }, ev); - $(document).one('mouseup', function(ev) { - hoverListener.stop(); - if (dates) { - if (+dates[0] == +dates[1]) { - reportDayClick(dates[0], false, ev); - } - reportSelection(dates[0], dates[3], false, ev); - } - }); - } - } - - - function reportDayClick(date, allDay, ev) { - trigger('dayClick', dayBodyCells[dayOfWeekCol(date.getDay())], date, allDay, ev); - } - - - - /* External Dragging - --------------------------------------------------------------------------------*/ - - - function dragStart(_dragElement, ev, ui) { - hoverListener.start(function(cell) { - clearOverlays(); - if (cell) { - if (cellIsAllDay(cell)) { - renderCellOverlay(cell.row, cell.col, cell.row, cell.col); - }else{ - var d1 = cellDate(cell); - var d2 = addMinutes(cloneDate(d1), opt('defaultEventMinutes')); - renderSlotOverlay(d1, d2); - } - } - }, ev); - } - - - function dragStop(_dragElement, ev, ui) { - var cell = hoverListener.stop(); - clearOverlays(); - if (cell) { - trigger('drop', _dragElement, cellDate(cell), cellIsAllDay(cell), ev, ui); - } - } - - -} - -function AgendaEventRenderer() { - var t = this; - - - // exports - t.renderEvents = renderEvents; - t.compileDaySegs = compileDaySegs; // for DayEventRenderer - t.clearEvents = clearEvents; - t.slotSegHtml = slotSegHtml; - t.bindDaySeg = bindDaySeg; - - - // imports - DayEventRenderer.call(t); - var opt = t.opt; - var trigger = t.trigger; - //var setOverflowHidden = t.setOverflowHidden; - var isEventDraggable = t.isEventDraggable; - var isEventResizable = t.isEventResizable; - var eventEnd = t.eventEnd; - var reportEvents = t.reportEvents; - var reportEventClear = t.reportEventClear; - var eventElementHandlers = t.eventElementHandlers; - var setHeight = t.setHeight; - var getDaySegmentContainer = t.getDaySegmentContainer; - var getSlotSegmentContainer = t.getSlotSegmentContainer; - var getHoverListener = t.getHoverListener; - var getMaxMinute = t.getMaxMinute; - var getMinMinute = t.getMinMinute; - var timePosition = t.timePosition; - var colContentLeft = t.colContentLeft; - var colContentRight = t.colContentRight; - var renderDaySegs = t.renderDaySegs; - var resizableDayEvent = t.resizableDayEvent; // TODO: streamline binding architecture - var getColCnt = t.getColCnt; - var getColWidth = t.getColWidth; - var getSlotHeight = t.getSlotHeight; - var getBodyContent = t.getBodyContent; - var reportEventElement = t.reportEventElement; - var showEvents = t.showEvents; - var hideEvents = t.hideEvents; - var eventDrop = t.eventDrop; - var eventResize = t.eventResize; - var renderDayOverlay = t.renderDayOverlay; - var clearOverlays = t.clearOverlays; - var calendar = t.calendar; - var formatDate = calendar.formatDate; - var formatDates = calendar.formatDates; - - - - /* Rendering - ----------------------------------------------------------------------------*/ - - - function renderEvents(events, modifiedEventId) { - reportEvents(events); - var i, len=events.length, - dayEvents=[], - slotEvents=[]; - for (i=0; i" + - "
            " + - "
            " + - "
            " + - htmlEscape(formatDates(event.start, event.end, opt('timeFormat'))) + - "
            " + - "
            " + - "
            " + - "
            " + - htmlEscape(event.title) + - "
            " + - "
            " + - "
            " + - "
            "; // close inner - if (seg.isEnd && isEventResizable(event)) { - html += - "
            =
            "; - } - html += - ""; - return html; - } - - - function bindDaySeg(event, eventElement, seg) { - if (isEventDraggable(event)) { - draggableDayEvent(event, eventElement, seg.isStart); - } - if (seg.isEnd && isEventResizable(event)) { - resizableDayEvent(event, eventElement, seg); - } - eventElementHandlers(event, eventElement); - // needs to be after, because resizableDayEvent might stopImmediatePropagation on click - } - - - function bindSlotSeg(event, eventElement, seg) { - var timeElement = eventElement.find('div.fc-event-time'); - if (isEventDraggable(event)) { - draggableSlotEvent(event, eventElement, timeElement); - } - if (seg.isEnd && isEventResizable(event)) { - resizableSlotEvent(event, eventElement, timeElement); - } - eventElementHandlers(event, eventElement); - } - - - - /* Dragging - -----------------------------------------------------------------------------------*/ - - - // when event starts out FULL-DAY - - function draggableDayEvent(event, eventElement, isStart) { - var origWidth; - var revert; - var allDay=true; - var dayDelta; - var dis = opt('isRTL') ? -1 : 1; - var hoverListener = getHoverListener(); - var colWidth = getColWidth(); - var slotHeight = getSlotHeight(); - var minMinute = getMinMinute(); - eventElement.draggable({ - zIndex: 9, - opacity: opt('dragOpacity', 'month'), // use whatever the month view was using - revertDuration: opt('dragRevertDuration'), - start: function(ev, ui) { - trigger('eventDragStart', eventElement, event, ev, ui); - hideEvents(event, eventElement); - origWidth = eventElement.width(); - hoverListener.start(function(cell, origCell, rowDelta, colDelta) { - clearOverlays(); - if (cell) { - //setOverflowHidden(true); - revert = false; - dayDelta = colDelta * dis; - if (!cell.row) { - // on full-days - renderDayOverlay( - addDays(cloneDate(event.start), dayDelta), - addDays(exclEndDay(event), dayDelta) - ); - resetElement(); - }else{ - // mouse is over bottom slots - if (isStart) { - if (allDay) { - // convert event to temporary slot-event - eventElement.width(colWidth - 10); // don't use entire width - setOuterHeight( - eventElement, - slotHeight * Math.round( - (event.end ? ((event.end - event.start) / MINUTE_MS) : opt('defaultEventMinutes')) - / opt('slotMinutes') - ) - ); - eventElement.draggable('option', 'grid', [colWidth, 1]); - allDay = false; - } - }else{ - revert = true; - } - } - revert = revert || (allDay && !dayDelta); - }else{ - resetElement(); - //setOverflowHidden(false); - revert = true; - } - eventElement.draggable('option', 'revert', revert); - }, ev, 'drag'); - }, - stop: function(ev, ui) { - hoverListener.stop(); - clearOverlays(); - trigger('eventDragStop', eventElement, event, ev, ui); - if (revert) { - // hasn't moved or is out of bounds (draggable has already reverted) - resetElement(); - eventElement.css('filter', ''); // clear IE opacity side-effects - showEvents(event, eventElement); - }else{ - // changed! - var minuteDelta = 0; - if (!allDay) { - minuteDelta = Math.round((eventElement.offset().top - getBodyContent().offset().top) / slotHeight) - * opt('slotMinutes') - + minMinute - - (event.start.getHours() * 60 + event.start.getMinutes()); - } - eventDrop(this, event, dayDelta, minuteDelta, allDay, ev, ui); - } - //setOverflowHidden(false); - } - }); - function resetElement() { - if (!allDay) { - eventElement - .width(origWidth) - .height('') - .draggable('option', 'grid', null); - allDay = true; - } - } - } - - - // when event starts out IN TIMESLOTS - - function draggableSlotEvent(event, eventElement, timeElement) { - var origPosition; - var allDay=false; - var dayDelta; - var minuteDelta; - var prevMinuteDelta; - var dis = opt('isRTL') ? -1 : 1; - var hoverListener = getHoverListener(); - var colCnt = getColCnt(); - var colWidth = getColWidth(); - var slotHeight = getSlotHeight(); - eventElement.draggable({ - zIndex: 9, - scroll: false, - grid: [colWidth, slotHeight], - axis: colCnt==1 ? 'y' : false, - opacity: opt('dragOpacity'), - revertDuration: opt('dragRevertDuration'), - start: function(ev, ui) { - trigger('eventDragStart', eventElement, event, ev, ui); - hideEvents(event, eventElement); - origPosition = eventElement.position(); - minuteDelta = prevMinuteDelta = 0; - hoverListener.start(function(cell, origCell, rowDelta, colDelta) { - eventElement.draggable('option', 'revert', !cell); - clearOverlays(); - if (cell) { - dayDelta = colDelta * dis; - if (opt('allDaySlot') && !cell.row) { - // over full days - if (!allDay) { - // convert to temporary all-day event - allDay = true; - timeElement.hide(); - eventElement.draggable('option', 'grid', null); - } - renderDayOverlay( - addDays(cloneDate(event.start), dayDelta), - addDays(exclEndDay(event), dayDelta) - ); - }else{ - // on slots - resetElement(); - } - } - }, ev, 'drag'); - }, - drag: function(ev, ui) { - minuteDelta = Math.round((ui.position.top - origPosition.top) / slotHeight) * opt('slotMinutes'); - if (minuteDelta != prevMinuteDelta) { - if (!allDay) { - updateTimeText(minuteDelta); - } - prevMinuteDelta = minuteDelta; - } - }, - stop: function(ev, ui) { - var cell = hoverListener.stop(); - clearOverlays(); - trigger('eventDragStop', eventElement, event, ev, ui); - if (cell && (dayDelta || minuteDelta || allDay)) { - // changed! - eventDrop(this, event, dayDelta, allDay ? 0 : minuteDelta, allDay, ev, ui); - }else{ - // either no change or out-of-bounds (draggable has already reverted) - resetElement(); - eventElement.css('filter', ''); // clear IE opacity side-effects - eventElement.css(origPosition); // sometimes fast drags make event revert to wrong position - updateTimeText(0); - showEvents(event, eventElement); - } - } - }); - function updateTimeText(minuteDelta) { - var newStart = addMinutes(cloneDate(event.start), minuteDelta); - var newEnd; - if (event.end) { - newEnd = addMinutes(cloneDate(event.end), minuteDelta); - } - timeElement.text(formatDates(newStart, newEnd, opt('timeFormat'))); - } - function resetElement() { - // convert back to original slot-event - if (allDay) { - timeElement.css('display', ''); // show() was causing display=inline - eventElement.draggable('option', 'grid', [colWidth, slotHeight]); - allDay = false; - } - } - } - - - - /* Resizing - --------------------------------------------------------------------------------------*/ - - - function resizableSlotEvent(event, eventElement, timeElement) { - var slotDelta, prevSlotDelta; - var slotHeight = getSlotHeight(); - eventElement.resizable({ - handles: { - s: 'div.ui-resizable-s' - }, - grid: slotHeight, - start: function(ev, ui) { - slotDelta = prevSlotDelta = 0; - hideEvents(event, eventElement); - eventElement.css('z-index', 9); - trigger('eventResizeStart', this, event, ev, ui); - }, - resize: function(ev, ui) { - // don't rely on ui.size.height, doesn't take grid into account - slotDelta = Math.round((Math.max(slotHeight, eventElement.height()) - ui.originalSize.height) / slotHeight); - if (slotDelta != prevSlotDelta) { - timeElement.text( - formatDates( - event.start, - (!slotDelta && !event.end) ? null : // no change, so don't display time range - addMinutes(eventEnd(event), opt('slotMinutes')*slotDelta), - opt('timeFormat') - ) - ); - prevSlotDelta = slotDelta; - } - }, - stop: function(ev, ui) { - trigger('eventResizeStop', this, event, ev, ui); - if (slotDelta) { - eventResize(this, event, 0, opt('slotMinutes')*slotDelta, ev, ui); - }else{ - eventElement.css('z-index', 8); - showEvents(event, eventElement); - // BUG: if event was really short, need to put title back in span - } - } - }); - } - - -} - - -function countForwardSegs(levels) { - var i, j, k, level, segForward, segBack; - for (i=levels.length-1; i>0; i--) { - level = levels[i]; - for (j=0; j"); - var elements; - var segmentContainer = getDaySegmentContainer(); - var i; - var segCnt = segs.length; - var element; - tempContainer[0].innerHTML = daySegHTML(segs); // faster than .html() - elements = tempContainer.children(); - segmentContainer.append(elements); - daySegElementResolve(segs, elements); - daySegCalcHSides(segs); - daySegSetWidths(segs); - daySegCalcHeights(segs); - daySegSetTops(segs, getRowTops(getRowDivs())); - elements = []; - for (i=0; i" + - ""; - if (!event.allDay && seg.isStart) { - html += - "" + - htmlEscape(formatDates(event.start, event.end, opt('timeFormat'))) + - ""; - } - html += - "" + htmlEscape(event.title) + "" + - "
            "; - if (seg.isEnd && isEventResizable(event)) { - html += - "
            " + - "   " + // makes hit area a lot better for IE6/7 - "
            "; - } - html += - ""; - seg.left = left; - seg.outerWidth = right - left; - seg.startCol = leftCol; - seg.endCol = rightCol + 1; // needs to be exclusive - } - return html; - } - - - function daySegElementResolve(segs, elements) { // sets seg.element - var i; - var segCnt = segs.length; - var seg; - var event; - var element; - var triggerRes; - for (i=0; i div'); // optimal selector? - } - return rowDivs; - } - - - function getRowTops(rowDivs) { - var i; - var rowCnt = rowDivs.length; - var tops = []; - for (i=0; i selection for IE - element - .mousedown(function(ev) { // prevent native selection for others - ev.preventDefault(); - }) - .click(function(ev) { - if (isResizing) { - ev.preventDefault(); // prevent link from being visited (only method that worked in IE6) - ev.stopImmediatePropagation(); // prevent fullcalendar eventClick handler from being called - // (eventElementHandlers needs to be bound after resizableDayEvent) - } - }); - - handle.mousedown(function(ev) { - if (ev.which != 1) { - return; // needs to be left mouse button - } - isResizing = true; - var hoverListener = t.getHoverListener(); - var rowCnt = getRowCnt(); - var colCnt = getColCnt(); - var dis = rtl ? -1 : 1; - var dit = rtl ? colCnt-1 : 0; - var elementTop = element.css('top'); - var dayDelta; - var helpers; - var eventCopy = $.extend({}, event); - var minCell = dateCell(event.start); - clearSelection(); - $('body') - .css('cursor', direction + '-resize') - .one('mouseup', mouseup); - trigger('eventResizeStart', this, event, ev); - hoverListener.start(function(cell, origCell) { - if (cell) { - var r = Math.max(minCell.row, cell.row); - var c = cell.col; - if (rowCnt == 1) { - r = 0; // hack for all-day area in agenda views - } - if (r == minCell.row) { - if (rtl) { - c = Math.min(minCell.col, c); - }else{ - c = Math.max(minCell.col, c); - } - } - dayDelta = (r*7 + c*dis+dit) - (origCell.row*7 + origCell.col*dis+dit); - var newEnd = addDays(eventEnd(event), dayDelta, true); - if (dayDelta) { - eventCopy.end = newEnd; - var oldHelpers = helpers; - helpers = renderTempDaySegs(compileDaySegs([eventCopy]), seg.row, elementTop); - helpers.find('*').css('cursor', direction + '-resize'); - if (oldHelpers) { - oldHelpers.remove(); - } - hideEvents(event); - }else{ - if (helpers) { - showEvents(event); - helpers.remove(); - helpers = null; - } - } - clearOverlays(); - renderDayOverlay(event.start, addDays(cloneDate(newEnd), 1)); // coordinate grid already rebuild at hoverListener.start - } - }, ev); - - function mouseup(ev) { - trigger('eventResizeStop', this, event, ev); - $('body').css('cursor', ''); - hoverListener.stop(); - clearOverlays(); - if (dayDelta) { - eventResize(this, event, dayDelta, 0, ev); - // event redraw will clear helpers - } - // otherwise, the drag handler already restored the old events - - setTimeout(function() { // make this happen after the element's click event - isResizing = false; - },0); - } - - }); - } - - -} - -//BUG: unselect needs to be triggered when events are dragged+dropped - -function SelectionManager() { - var t = this; - - - // exports - t.select = select; - t.unselect = unselect; - t.reportSelection = reportSelection; - t.daySelectionMousedown = daySelectionMousedown; - - - // imports - var opt = t.opt; - var trigger = t.trigger; - var defaultSelectionEnd = t.defaultSelectionEnd; - var renderSelection = t.renderSelection; - var clearSelection = t.clearSelection; - - - // locals - var selected = false; - - - - // unselectAuto - if (opt('selectable') && opt('unselectAuto')) { - $(document).mousedown(function(ev) { - var ignore = opt('unselectCancel'); - if (ignore) { - if ($(ev.target).parents(ignore).length) { // could be optimized to stop after first match - return; - } - } - unselect(ev); - }); - } - - - function select(startDate, endDate, allDay) { - unselect(); - if (!endDate) { - endDate = defaultSelectionEnd(startDate, allDay); - } - renderSelection(startDate, endDate, allDay); - reportSelection(startDate, endDate, allDay); - } - - - function unselect(ev) { - if (selected) { - selected = false; - clearSelection(); - trigger('unselect', null, ev); - } - } - - - function reportSelection(startDate, endDate, allDay, ev) { - selected = true; - trigger('select', null, startDate, endDate, allDay, ev); - } - - - function daySelectionMousedown(ev) { // not really a generic manager method, oh well - var cellDate = t.cellDate; - var cellIsAllDay = t.cellIsAllDay; - var hoverListener = t.getHoverListener(); - var reportDayClick = t.reportDayClick; // this is hacky and sort of weird - if (ev.which == 1 && opt('selectable')) { // which==1 means left mouse button - unselect(ev); - var _mousedownElement = this; - var dates; - hoverListener.start(function(cell, origCell) { // TODO: maybe put cellDate/cellIsAllDay info in cell - clearSelection(); - if (cell && cellIsAllDay(cell)) { - dates = [ cellDate(origCell), cellDate(cell) ].sort(cmp); - renderSelection(dates[0], dates[1], true); - }else{ - dates = null; - } - }, ev); - $(document).one('mouseup', function(ev) { - hoverListener.stop(); - if (dates) { - if (+dates[0] == +dates[1]) { - reportDayClick(dates[0], true, ev); - } - reportSelection(dates[0], dates[1], true, ev); - } - }); - } - } - - -} - -function OverlayManager() { - var t = this; - - - // exports - t.renderOverlay = renderOverlay; - t.clearOverlays = clearOverlays; - - - // locals - var usedOverlays = []; - var unusedOverlays = []; - - - function renderOverlay(rect, parent) { - var e = unusedOverlays.shift(); - if (!e) { - e = $("
            "); - } - if (e[0].parentNode != parent[0]) { - e.appendTo(parent); - } - usedOverlays.push(e.css(rect).show()); - return e; - } - - - function clearOverlays() { - var e; - while (e = usedOverlays.shift()) { - unusedOverlays.push(e.hide().unbind()); - } - } - - -} - -function CoordinateGrid(buildFunc) { - - var t = this; - var rows; - var cols; - - - t.build = function() { - rows = []; - cols = []; - buildFunc(rows, cols); - }; - - - t.cell = function(x, y) { - var rowCnt = rows.length; - var colCnt = cols.length; - var i, r=-1, c=-1; - for (i=0; i= rows[i][0] && y < rows[i][1]) { - r = i; - break; - } - } - for (i=0; i= cols[i][0] && x < cols[i][1]) { - c = i; - break; - } - } - return (r>=0 && c>=0) ? { row:r, col:c } : null; - }; - - - t.rect = function(row0, col0, row1, col1, originElement) { // row1,col1 is inclusive - var origin = originElement.offset(); - return { - top: rows[row0][0] - origin.top, - left: cols[col0][0] - origin.left, - width: cols[col1][1] - cols[col0][0], - height: rows[row1][1] - rows[row0][0] - }; - }; - -} - -function HoverListener(coordinateGrid) { - - - var t = this; - var bindType; - var change; - var firstCell; - var cell; - - - t.start = function(_change, ev, _bindType) { - change = _change; - firstCell = cell = null; - coordinateGrid.build(); - mouse(ev); - bindType = _bindType || 'mousemove'; - $(document).bind(bindType, mouse); - }; - - - function mouse(ev) { - _fixUIEvent(ev); // see below - var newCell = coordinateGrid.cell(ev.pageX, ev.pageY); - if (!newCell != !cell || newCell && (newCell.row != cell.row || newCell.col != cell.col)) { - if (newCell) { - if (!firstCell) { - firstCell = newCell; - } - change(newCell, firstCell, newCell.row-firstCell.row, newCell.col-firstCell.col); - }else{ - change(newCell, firstCell); - } - cell = newCell; - } - } - - - t.stop = function() { - $(document).unbind(bindType, mouse); - return cell; - }; - - -} - - - -// this fix was only necessary for jQuery UI 1.8.16 (and jQuery 1.7 or 1.7.1) -// upgrading to jQuery UI 1.8.17 (and using either jQuery 1.7 or 1.7.1) fixed the problem -// but keep this in here for 1.8.16 users -// and maybe remove it down the line - -function _fixUIEvent(event) { // for issue 1168 - if (event.pageX === undefined) { - event.pageX = event.originalEvent.pageX; - event.pageY = event.originalEvent.pageY; - } -} -function HorizontalPositionCache(getElement) { - - var t = this, - elements = {}, - lefts = {}, - rights = {}; - - function e(i) { - return elements[i] = elements[i] || getElement(i); - } - - t.left = function(i) { - return lefts[i] = lefts[i] === undefined ? e(i).position().left : lefts[i]; - }; - - t.right = function(i) { - return rights[i] = rights[i] === undefined ? t.left(i) + e(i).width() : rights[i]; - }; - - t.clear = function() { - elements = {}; - lefts = {}; - rights = {}; - }; - -} - -})(jQuery); diff --git a/modules/lib/fullcalendar/fullcalendar.min.js b/modules/lib/fullcalendar/fullcalendar.min.js deleted file mode 100644 index daad88d..0000000 --- a/modules/lib/fullcalendar/fullcalendar.min.js +++ /dev/null @@ -1 +0,0 @@ -/* FullCalendar v1.5.4 http://arshaw.com/fullcalendar/ Use fullcalendar.css for basic styling. For event drag & drop, requires jQuery UI draggable. For event resizing, requires jQuery UI resizable. Copyright (c) 2011 Adam Shaw Dual licensed under the MIT and GPL licenses, located in MIT-LICENSE.txt and GPL-LICENSE.txt respectively. Date: Tue Sep 4 23:38:33 2012 -0700 */ (function(h,w){function lb(a,c,b){function e(){setTimeout(function(){!s.start&&0!==h("body")[0].offsetWidth&&f()},0)}function d(a){if(!s||a!=s.name){F++;p();var c=s,b;c?((c.beforeHide||Pa)(),ta(z,z.height()),c.element.hide()):ta(z,1);z.css("overflow","hidden");(s=J[a])?s.element.show():s=J[a]=new ca[a](b=N=h("
            ").appendTo(z),v);c&&C.deactivateButton(c.name);C.activateButton(a);f();z.css("overflow","");c&&ta(z,1);b||(s.afterShow||Pa)();F--}} function f(b){if(0!==x.offsetWidth){F++;p();fa===w&&m();var d=!1;!s.start||b||u=s.end?(s.render(u,b||0),l(!0),d=!0):s.sizeDirty?(s.clearEvents(),l(),d=!0):s.eventsDirty&&(s.clearEvents(),d=!0);s.sizeDirty=!1;s.eventsDirty=!1;b=d;!c.lazyFetching||k(s.visStart,s.visEnd)?j():b&&t();V=a.outerWidth();C.updateTitle(s.title);b=new Date;b>=s.start&&b").prependTo(a),C=new mb(v,c),(H=C.render())&&a.prepend(H),d(c.defaultView),h(window).resize(g), 0!==h("body")[0].offsetWidth||e())};v.destroy=function(){h(window).unbind("resize",g);C.destroy();z.remove();a.removeClass("fc fc-rtl ui-widget")};v.refetchEvents=j;v.reportEvents=function(a){A=a;t()};v.reportEventChange=function(a){t(a)};v.rerenderEvents=t;v.changeView=d;v.select=function(a,c,b){s.select(a,c,b===w?!0:b)};v.unselect=p;v.prev=function(){f(-1)};v.next=function(){f(1)};v.prevYear=function(){xa(u,-1);f()};v.nextYear=function(){xa(u,1);f()};v.today=function(){u=new Date;f()};v.gotoDate= function(a,c,b){a instanceof Date?u=o(a):Qa(u,a,c,b);f()};v.incrementDate=function(a,c,b){a!==w&&xa(u,a);c!==w&&ya(u,c);b!==w&&q(u,b);f()};v.formatDate=function(a,b){return da(a,b,c)};v.formatDates=function(a,b,d){return za(a,b,d,c)};v.getDate=function(){return o(u)};v.getView=function(){return s};v.option=function(a,b){if(b===w)return c[a];if("height"==a||"contentHeight"==a||"aspectRatio"==a)c[a]=b,i()};v.trigger=function(a,b){if(c[a])return c[a].apply(b||x,Array.prototype.slice.call(arguments,2))}; nb.call(v,c,b);var k=v.isFetchNeeded,n=v.fetchEvents,x=a[0],C,H,z,s,J={},V,fa,N,R=0,F=0,u=new Date,A=[],D;Qa(u,c.year,c.month,c.date);c.droppable&&h(document).bind("dragstart",function(a,b){var d=a.target,C=h(d);if(!C.parents(".fc").length){var e=c.dropAccept;if(h.isFunction(e)?e.call(d,C):C.is(e))D=d,s.dragStart(D,a,b)}}).bind("dragstop",function(a,c){D&&(s.dragStop(D,a,c),D=null)})}function mb(a,c){function b(b){var e=h("
            ");(b=c.header[b])&&h.each(b.split(" "),function(b){0< b&&e.append("");var f;h.each(this.split(","),function(b,g){if("title"==g)e.append("

             

            "),f&&f.addClass(d+"-corner-right"),f=null;else{var r;a[g]?r=a[g]:ca[g]&&(r=function(){p.removeClass(d+"-state-hover");a.changeView(g)});if(r){var o=c.theme?Aa(c.buttonIcons,g):null,q=Aa(c.buttonText,g),p=h(""+(o?"":q)+""); p&&(p.click(function(){p.hasClass(d+"-state-disabled")||r()}).mousedown(function(){p.not("."+d+"-state-active").not("."+d+"-state-disabled").addClass(d+"-state-down")}).mouseup(function(){p.removeClass(d+"-state-down")}).hover(function(){p.not("."+d+"-state-active").not("."+d+"-state-disabled").addClass(d+"-state-hover")},function(){p.removeClass(d+"-state-hover").removeClass(d+"-state-down")}).appendTo(e),f||p.addClass(d+"-corner-left"),f=p)}}});f&&f.addClass(d+"-corner-right")});return e}this.render= function(){d=c.theme?"ui":"fc";if(c.header)return e=h("
            ").append(h("
            ").append(b("left")).append(b("center")).append(b("right")))};this.destroy=function(){e.remove()};this.updateTitle=function(a){e.find("h2").html(a)};this.activateButton=function(a){e.find("span.fc-button-"+a).addClass(d+"-state-active")};this.deactivateButton=function(a){e.find("span.fc-button-"+a).removeClass(d+"-state-active")};this.disableButton=function(a){e.find("span.fc-button-"+ a).addClass(d+"-state-disabled")};this.enableButton=function(a){e.find("span.fc-button-"+a).removeClass(d+"-state-disabled")};var e=h([]),d}function nb(a,c){function b(a,c){e(a,function(b){if(c==p){if(b){for(var d=0;dP};this.fetchEvents=function(a,c){q=a;P=c;n=[];var d=++p,e=j.length;v=e;for(var f=0;fi;l--)if(g= rb[b.substring(i,l)]){d&&(j+=g(d,e));i=l-1;break}l==i&&d&&(j+=m)}return j}function ra(a){if(a.end){var c=a.end,a=a.allDay,c=o(c);return a||c.getHours()||c.getMinutes()?q(c,1):ja(c)}return q(o(a.start),1)}function sb(a,c){return 100*(c.msLength-a.msLength)+(a.event.start-c.event.start)}function Ea(a,c,b,e){var d=[],f,i=a.length,h,m,l,g,j;for(f=0;fb&&me?(l=o(e),j=!1):j=!0,d.push({event:h,start:m,end:l,isStart:g,isEnd:j,msLength:l-m});return d.sort(sb)} function Fa(a){var c=[],b,e=a.length,d,f,i,h;for(b=0;bd.start&&c[f][h].start a?"0":"")+a}function Aa(a,c){if(a[c]!==w)return a[c];for(var b=c.split(/(?=[A-Z])/),e=b.length-1,d;0<=e;e--)if(d=a[b[e].toLowerCase()],d!==w)return d;return a[""]}function W(a){return a.replace(/&/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""").replace(/\n/g,"
            ")}function Ya(a){return a.id+"/"+a.className+"/"+a.style.cssText.replace(/(^|;)\s*(top|left|width|height)\s*:[^;]*/ig,"")}function Ja(a){a.attr("unselectable","on").css("MozUserSelect", "none").bind("selectstart.ui",function(){return!1})}function va(a){a.children().removeClass("fc-first fc-last").filter(":first-child").addClass("fc-first").end().filter(":last-child").addClass("fc-last")}function Ka(a,c){a.each(function(a,e){e.className=e.className.replace(/^fc-\w*/,"fc-"+tb[c.getDay()])})}function Za(a,c){var b=a.source||{},e=a.color,d=b.color,f=c("eventColor"),i=a.backgroundColor||e||b.backgroundColor||d||c("eventBackgroundColor")||f,e=a.borderColor||e||b.borderColor||d||c("eventBorderColor")|| f,b=a.textColor||b.textColor||c("eventTextColor"),d=[];i&&d.push("background-color:"+i);e&&d.push("border-color:"+e);b&&d.push("color:"+b);return d.join(";")}function ua(a,c,b){h.isFunction(a)&&(a=[a]);if(a){var e,d;for(e=0;e";for(r=0;r";d+="";for(r=0;r";for(i=0;i
            "+(f?"
            ":"")+"
             
            ";d+=""}b=h(d+"").appendTo(a);x=b.find("thead");C=x.find("th");H=b.find("tbody");z=H.find("tr");s=H.find("td");J=s.filter(":first-child");V=z.eq(0).find("div.fc-day-content div");va(x.add(x.find("tr")));va(z);z.eq(0).addClass("fc-first");s.click(e).mousedown(k);fa=h("
            ").appendTo(a)}else w(); var o=c||1==u,M=g.start.getMonth(),v=ja(new Date),q,p,t;o&&C.each(function(a,b){q=h(b);p=m(a);q.html(n(p,aa));Ka(q,p)});s.each(function(a,b){q=h(b);p=m(a);p.getMonth()==M?q.removeClass("fc-other-month"):q.addClass("fc-other-month");+p==+v?q.addClass(O+"-state-highlight fc-today"):q.removeClass(O+"-state-highlight fc-today");q.find("div.fc-day-number").text(p.getDate());o&&Ka(q,p)});z.each(function(a,b){t=h(b);if(a div"),(a==u-1?c:b)-pa(d))}})};g.setWidth=function(a){N=a;M.clear();F=Math.floor(N/A);sa(C.slice(0,-1),F)};g.renderDayOverlay=d;g.defaultSelectionEnd=function(a){return o(a)};g.renderSelection=function(a,b){d(a,q(o(b),1),!0)};g.clearSelection=function(){v()};g.reportDayClick=function(a,b,c){var d=i(a);t("dayClick", s[d.row*A+d.col],a,b,c)};g.dragStart=function(a,b){E.start(function(a){v();a&&f(a.row,a.col,a.row,a.col)},b)};g.dragStop=function(a,b,c){var d=E.stop();v();d&&(d=r(d),t("drop",a,d,!0,b,c))};g.defaultEventEnd=function(a){return o(a.start)};g.getHoverListener=function(){return E};g.colContentLeft=function(a){return M.left(a)};g.colContentRight=function(a){return M.right(a)};g.dayOfWeekCol=l;g.dateCell=i;g.cellDate=r;g.cellIsAllDay=function(){return!0};g.allDayRow=function(a){return z.eq(a)};g.allDayBounds= function(){return{left:0,right:N}};g.getRowCnt=function(){return u};g.getColCnt=function(){return A};g.getColWidth=function(){return F};g.getDaySegmentContainer=function(){return fa};db.call(g,a,c,b);eb.call(g);fb.call(g);ub.call(g);var j=g.opt,t=g.trigger,w=g.clearEvents,p=g.renderOverlay,v=g.clearOverlays,k=g.daySelectionMousedown,n=c.formatDate,x,C,H,z,s,J,V,fa,N,R,F,u,A,D,E,M,G,y,S,L,U,O,aa;Ja(a.addClass("fc-grid"));D=new gb(function(a,b){var c,d,e;C.each(function(a,f){c=h(f);d=c.offset().left; a&&(e[1]=d);e=[d];b[a]=e});e[1]=d+c.outerWidth();z.each(function(b,f){b=E(o(a),W))return ka.height(); var c=n("slotMinutes"),d=60*b.getHours()+b.getMinutes()-la,e=Math.floor(d/c),f=Oa[e];f===w&&(f=Oa[e]=ka.find("tr:eq("+e+") td div")[0].offsetTop);return Math.max(0,Math.round(f-1+T*(d%c/c)))}function t(a,b){var c=n("selectHelper");Y.build();if(c){var d=$(a,k.visStart)*ha+ia;if(0<=d&&df){d.top=f;d.height=g-f;d.left+=2;d.width-=5;if(h.isFunction(c)){if(c=c(a,b))d.position="absolute",d.zIndex=8,ba=h(c).css(d).appendTo(aa)}else d.isStart=!0,d.isEnd= !0,ba=h(fa({title:"",start:a,end:b,className:["fc-select-helper"],editable:!1},d)),ba.css("opacity",n("dragOpacity"));ba&&(ba.click(e).mousedown(p),aa.append(ba),sa(ba,d.width,!0),Va(ba,d.height,!0))}}}else i(a,b)}function P(){z();ba&&(ba.remove(),ba=null)}function p(a){if(1==a.which&&n("selectable")){J(a);var b;oa.start(function(a,c){P();if(a&&a.col==c.col&&!l(a)){var d=r(c),e=r(a);b=[d,E(o(d),n("slotMinutes")),e,E(o(e),n("slotMinutes"))].sort(Xa);t(b[0],b[3])}else b=null},a);h(document).one("mouseup", function(a){oa.stop();b&&(+b[0]==+b[1]&&v(b[0],!1,a),s(b[0],b[3],!1,a))})}}function v(a,b,c){x("dayClick",D[g(a.getDay())],a,b,c)}var k=this;k.renderAgenda=function(b){K=b;Q=n("theme")?"ui":"fc";da=n("weekends")?0:1;ca=n("firstDay");(ea=n("isRTL"))?(ha=-1,ia=K-1):(ha=1,ia=0);la=Da(n("minTime"));W=Da(n("maxTime"));ga=n("columnFormat");if(R)C();else{var b=Q+"-widget-header",c=Q+"-widget-content",d,f,i,g,l,r=0==n("slotMinutes")%15;d="";for(f=0;f";d+="";for(f=0;f
             
            ";R=h(d+("
              
              
            ")).appendTo(a);F=R.find("thead");u=F.find("th").slice(1,-1);A=R.find("tbody");D=A.find("td").slice(0, -1);I=D.find("div.fc-day-content div");M=D.eq(0);G=M.find("> div");va(F.add(F.find("tr")));va(A.add(A.find("tr")));ma=F.find("th:first");na=R.find(".fc-agenda-gutter");y=h("
            ").appendTo(a);n("allDaySlot")?(S=h("
            ").appendTo(y),d="
            "+n("allDayText")+"
             
            ",L=h(d).appendTo(y),U=L.find("tr"),U.find("td").click(e).mousedown(V),ma=ma.add(L.find("th:first")),na=na.add(L.find("th.fc-agenda-gutter")),y.append("
            ")):S=h([]);O=h("
            ").appendTo(y);aa=h("
            ").appendTo(O);$a=h("
            ").appendTo(aa); d="";i=Ra();g=E(o(i),W);E(i,la);for(f=Na=0;i",E(i,n("slotMinutes")),Na++;ka=h(d+"
            "+(!r||!l?N(i,n("axisFormat")):" ")+"
             
            ").appendTo(aa);ab=ka.find("div:first");ka.find("td").click(e).mousedown(p);ma=ma.add(ka.find("th:first"))}i= ja(new Date);for(b=0;b
            "+W(L(a.start,a.end,f("timeFormat")))+"
            "+W(a.title)+"
            ";b.isEnd&&m(a)&&(c+="
            =
            ");return c+("")}function e(a,b,c){var d=b.find("div.fc-event-time");if(r(a)){var e=function(b){var c= E(o(a.start),b),e;a.end&&(e=E(o(a.end),b));d.text(L(c,e,f("timeFormat")))},g=function(){j&&(d.css("display",""),b.draggable("option","grid",[z,y]),j=!1)},h,j=!1,x,s,C,n=f("isRTL")?-1:1,p=k(),v=V(),z=I(),y=N();b.draggable({zIndex:9,scroll:!1,grid:[z,y],axis:1==v?"y":!1,opacity:f("dragOpacity"),revertDuration:f("dragRevertDuration"),start:function(c,e){i("eventDragStart",b,a,c,e);A(a,b);h=b.position();s=C=0;p.start(function(c,e,i,h){b.draggable("option","revert",!c);G();c&&(x=h*n,f("allDaySlot")&&!c.row? (j||(j=!0,d.hide(),b.draggable("option","grid",null)),M(q(o(a.start),x),q(ra(a),x))):g())},c,"drag")},drag:function(a,b){s=Math.round((b.position.top-h.top)/y)*f("slotMinutes");s!=C&&(j||e(s),C=s)},stop:function(c,d){var f=p.stop();G();i("eventDragStop",b,a,c,d);f&&(x||s||j)?D(this,a,x,j?0:s,j,c,d):(g(),b.css("filter",""),b.css(h),e(0),u(a,b))}})}if(c.isEnd&&m(a)){var H,S,w=N();b.resizable({handles:{s:"div.ui-resizable-s"},grid:w,start:function(c,d){H=S=0;A(a,b);b.css("z-index",9);i("eventResizeStart", this,a,c,d)},resize:function(c,e){H=Math.round((Math.max(w,b.height())-e.originalSize.height)/w);H!=S&&(d.text(L(a.start,!H&&!a.end?null:E(l(a),f("slotMinutes")*H),f("timeFormat"))),S=H)},stop:function(c,d){i("eventResizeStop",this,a,c,d);H?Q(this,a,0,f("slotMinutes")*H,c,d):(b.css("z-index",8),u(a,b))}})}t(a,b)}var d=this;d.renderEvents=function(l,m){g(l);var r,j=l.length,k=[],L=[];for(r=0;rD.start&&K.startM-k.contentTop&&(B.find("div.fc-event-time").text(S(y.start,f("timeFormat"))+" - "+ y.title),B.find("div.fc-event-title").remove()),i("eventAfterRender",y,y,B)};d.compileDaySegs=a;d.clearEvents=function(){j();p().empty();v().empty()};d.slotSegHtml=b;d.bindDaySeg=function(a,b,c){if(r(a)){var d=c.isStart,e=function(){j||(b.width(g).height("").draggable("option","grid",null),j=!0)},g,h,j=!0,l,y=f("isRTL")?-1:1,s=k(),L=I(),p=N(),C=x();b.draggable({zIndex:9,opacity:f("dragOpacity","month"),revertDuration:f("dragRevertDuration"),start:function(c,k){i("eventDragStart",b,a,c,k);A(a,b);g= b.width();s.start(function(c,i,g,k){G();c?(h=!1,l=k*y,c.row?d?j&&(b.width(L-10),Va(b,p*Math.round((a.end?(a.end-a.start)/wb:f("defaultEventMinutes"))/f("slotMinutes"))),b.draggable("option","grid",[L,1]),j=!1):h=!0:(M(q(o(a.start),l),q(ra(a),l)),e()),h=h||j&&!l):(e(),h=!0);b.draggable("option","revert",h)},c,"drag")},stop:function(c,d){s.stop();G();i("eventDragStop",b,a,c,d);if(h)e(),b.css("filter",""),u(a,b);else{var g=0;j||(g=Math.round((b.offset().top-R().offset().top)/p)*f("slotMinutes")+C-(60* a.start.getHours()+a.start.getMinutes()));D(this,a,l,g,j,c,d)}}})}c.isEnd&&m(a)&&J(a,b,c);t(a,b)};jb.call(d);var f=d.opt,i=d.trigger,r=d.isEventDraggable,m=d.isEventResizable,l=d.eventEnd,g=d.reportEvents,j=d.reportEventClear,t=d.eventElementHandlers,P=d.setHeight,p=d.getDaySegmentContainer,v=d.getSlotSegmentContainer,k=d.getHoverListener,n=d.getMaxMinute,x=d.getMinMinute,C=d.timePosition,H=d.colContentLeft,z=d.colContentRight,s=d.renderDaySegs,J=d.resizableDayEvent,V=d.getColCnt,I=d.getColWidth, N=d.getSlotHeight,R=d.getBodyContent,F=d.reportEventElement,u=d.showEvents,A=d.hideEvents,D=d.eventDrop,Q=d.eventResize,M=d.renderDayOverlay,G=d.clearOverlays,y=d.calendar,S=y.formatDate,L=y.formatDates}function db(a,c,b){function e(a,c){var d=n[a];return"object"==typeof d?Aa(d,c||b):d}function d(a,b){return c.trigger.apply(c,[a,b||g].concat(Array.prototype.slice.call(arguments,2),[g]))}function f(a){return ga(a.editable,(a.source||{}).editable,e("editable"))}function i(a){return a.end?o(a.end):j(a)} function h(a,b,c){var a=k[a._id],d,e=a.length;for(d=0;d
            ",!f.allDay&&e.isStart&&(n+=""+W(u(f.start,f.end,l("timeFormat")))+""),n+=""+W(f.title)+"
            ",e.isEnd&&t(f)&&(n+="
               
            "),n+="",e.left=o,e.outerWidth=p-o,e.startCol=r,e.endCol=m+1;return n}function c(a,b){var c,d=a.length,e,f,i;for(c=0;c div");return c}function i(a){var b,c=a.length,d=[];for(b=0;b"),z=R(),C=p.length,E;x[0].innerHTML= a(p);x=x.children();z.append(x);c(p,x);b(p);e(p);d(p);r(p,i(f()));x=[];for(z=0;z"));d[0].parentNode!=e[0]&&d.appendTo(e);a.push(d.css(b).show());return d};this.clearOverlays=function(){for(var b;b=a.shift();)c.push(b.hide().unbind())};var a=[],c=[]}function gb(a){var c,b;this.build=function(){c=[];b=[];a(c,b)};this.cell=function(a,d){var f=c.length,i=b.length,h,m=-1,l=-1;for(h=0;h=c[h][0]&&d=b[h][0]&&aa.getHours()?"a":"p"},tt:function(a){return 12>a.getHours()?"am":"pm"},T:function(a){return 12>a.getHours()?"A":"P"},TT:function(a){return 12>a.getHours()?"AM":"PM"},u:function(a){return da(a,"yyyy-MM-dd'T'HH:mm:ss'Z'")},S:function(a){a=a.getDate();return 10a?"th":["st","nd","rd"][a%10-1]||"th"}};I.applyAll=ua;ca.month=function(a,c){var b=this;b.render=function(a,c){c&&(ya(a, c),a.setDate(1));var h=o(a,!0);h.setDate(1);var l=ya(o(h),1),g=o(h),j=o(l),t=e("firstDay"),w=e("weekends")?0:1;w&&(Q(g),Q(j,-1,!0));q(g,-((g.getDay()-Math.max(t,w)+7)%7));q(j,(7-j.getDay()+Math.max(t,w))%7);t=Math.round((j-g)/(7*Sa));"fixed"==e("weekMode")&&(q(j,7*(6-t)),t=6);b.title=f(h,e("titleFormat"));b.start=h;b.end=l;b.visStart=g;b.visEnd=j;d(6,t,w?5:7,!0)};La.call(b,a,c,"month");var e=b.opt,d=b.renderBasic,f=c.formatDate};ca.basicWeek=function(a,c){var b=this;b.render=function(a,c){c&&q(a, 7*c);var h=q(o(a),-((a.getDay()-e("firstDay")+7)%7)),l=q(o(h),7),g=o(h),j=o(l),t=e("weekends");t||(Q(g),Q(j,-1,!0));b.title=f(g,q(o(j),-1),e("titleFormat"));b.start=h;b.end=l;b.visStart=g;b.visEnd=j;d(1,1,t?7:5,!1)};La.call(b,a,c,"basicWeek");var e=b.opt,d=b.renderBasic,f=c.formatDates};ca.basicDay=function(a,c){var b=this;b.render=function(a,c){c&&(q(a,c),e("weekends")||Q(a,0>c?-1:1));b.title=f(a,e("titleFormat"));b.start=b.visStart=o(a,!0);b.end=b.visEnd=q(o(b.start),1);d(1,1,1,!1)};La.call(b,a, c,"basicDay");var e=b.opt,d=b.renderBasic,f=c.formatDate};h.extend(!0,qa,{weekMode:"fixed"});ca.agendaWeek=function(a,c){var b=this;b.render=function(a,c){c&&q(a,7*c);var h=q(o(a),-((a.getDay()-e("firstDay")+7)%7)),l=q(o(h),7),g=o(h),j=o(l),t=e("weekends");t||(Q(g),Q(j,-1,!0));b.title=f(g,q(o(j),-1),e("titleFormat"));b.start=h;b.end=l;b.visStart=g;b.visEnd=j;d(t?7:5)};kb.call(b,a,c,"agendaWeek");var e=b.opt,d=b.renderAgenda,f=c.formatDates};ca.agendaDay=function(a,c){var b=this;b.render=function(a, c){c&&(q(a,c),e("weekends")||Q(a,0>c?-1:1));var h=o(a,!0),l=q(o(h),1);b.title=f(a,e("titleFormat"));b.start=b.visStart=h;b.end=b.visEnd=l;d(1)};kb.call(b,a,c,"agendaDay");var e=b.opt,d=b.renderAgenda,f=c.formatDate};h.extend(!0,qa,{allDaySlot:!0,allDayText:"all-day",firstHour:6,slotMinutes:30,defaultEventMinutes:120,axisFormat:"h(:mm)tt",timeFormat:{agenda:"h:mm{ - h:mm}"},dragOpacity:{agenda:0.5},minTime:0,maxTime:24})})(jQuery); \ No newline at end of file diff --git a/modules/lib/fullcalendar/fullcalendar.print.css b/modules/lib/fullcalendar/fullcalendar.print.css deleted file mode 100644 index 227b80e..0000000 --- a/modules/lib/fullcalendar/fullcalendar.print.css +++ /dev/null @@ -1,61 +0,0 @@ -/* - * FullCalendar v1.5.4 Print Stylesheet - * - * Include this stylesheet on your page to get a more printer-friendly calendar. - * When including this stylesheet, use the media='print' attribute of the tag. - * Make sure to include this stylesheet IN ADDITION to the regular fullcalendar.css. - * - * Copyright (c) 2011 Adam Shaw - * Dual licensed under the MIT and GPL licenses, located in - * MIT-LICENSE.txt and GPL-LICENSE.txt respectively. - * - * Date: Tue Sep 4 23:38:33 2012 -0700 - * - */ - - - /* Events ------------------------------------------------------*/ - -.fc-event-skin { - background: none !important; - color: #000 !important; - } - -/* horizontal events */ - -.fc-event-hori { - border-width: 0 0 1px 0 !important; - border-bottom-style: dotted !important; - border-bottom-color: #000 !important; - padding: 1px 0 0 0 !important; - } - -.fc-event-hori .fc-event-inner { - border-width: 0 !important; - padding: 0 1px !important; - } - -/* vertical events */ - -.fc-event-vert { - border-width: 0 0 0 1px !important; - border-left-style: dotted !important; - border-left-color: #000 !important; - padding: 0 1px 0 0 !important; - } - -.fc-event-vert .fc-event-inner { - border-width: 0 !important; - padding: 1px 0 !important; - } - -.fc-event-bg { - display: none !important; - } - -.fc-event .ui-resizable-handle { - display: none !important; - } - - diff --git a/modules/lib/fullcalendar/fullcalendar_gebo.css b/modules/lib/fullcalendar/fullcalendar_gebo.css deleted file mode 100644 index 5900ab3..0000000 --- a/modules/lib/fullcalendar/fullcalendar_gebo.css +++ /dev/null @@ -1,104 +0,0 @@ -.fc{direction:ltr;text-align:left} -.fc table{border-collapse:collapse;border-spacing:0} -html .fc,.fc table{font-size:1em} -.fc td,.fc th{vertical-align:top;padding:0} -.fc-header td{white-space:nowrap} -.fc-header-left{width:25%;text-align:left} -.fc-header-right{width:25%;text-align:right} -.fc-header-title{display:inline-block;vertical-align:middle} -.fc-header-title h2{margin-top:0;white-space:nowrap} -.fc .fc-header-space{padding-left:10px} -.fc-header .fc-button{margin-bottom:1em;vertical-align:top;margin-right:-1px} -.fc-header .ui-corner-right{margin-right:0} -.fc-header .fc-state-hover,.fc-header .ui-state-hover{z-index:2} -.fc-header .fc-state-down{z-index:3} -.fc-header .fc-state-active,.fc-header .ui-state-active{z-index:4} -.fc-content{clear:both} -.fc-view{width:100%;overflow:hidden} -.fc-widget-header,/* ,usually */ -.fc-widget-content{border:1px solid #e5e5e5} -.fc-state-highlight{background:#fffad7} -.fc-cell-overlay{background:#9cf;opacity:.2;filter:alpha(opacity=20)} -.fc-state-disabled{cursor:default} -.fc-state-disabled .fc-button-effect{display:none} -.fc-event{font-size:.85em;cursor:default;border-style:solid;border-width:0} -a.fc-event,.fc-event-draggable{cursor:pointer} -a.fc-event{text-decoration:none} -.fc-rtl .fc-event{text-align:right} -.fc-event-skin{background-color:#36c;color:#1c546d;border-color:#36c} -.fc-event-inner{position:relative;width:100%;height:100%;overflow:hidden;border-style:solid;border-width:0} -.fc-event-time,.fc-event-title{padding:0 1px} -.fc .ui-resizable-handle{display:block;position:absolute;z-index:99999;overflow:hidden;font-size:300%;line-height:50%} -.fc-event-hori{margin-bottom:1px;border-width:1px 0} -.fc-event-hori .ui-resizable-e{top:0!important;right:-3px!important;width:7px!important;height:100%!important;cursor:e-resize} -.fc-event-hori .ui-resizable-w{top:0!important;left:-3px!important;width:7px!important;height:100%!important;cursor:w-resize} -.fc-event-hori .ui-resizable-handle{_padding-bottom:14px} -.fc-corner-left{margin-left:1px} -.fc-corner-left .fc-button-inner,.fc-corner-left .fc-event-inner{margin-left:-1px} -.fc-corner-right .fc-button-inner,.fc-corner-right .fc-event-inner{margin-right:-1px} -.fc-corner-top{margin-top:1px} -.fc-corner-top .fc-event-inner{margin-top:-1px;border-top-width:1px} -.fc-corner-bottom{margin-bottom:1px} -.fc-corner-bottom .fc-event-inner{margin-bottom:-1px;border-bottom-width:1px} -.fc-corner-left .fc-event-inner{border-left-width:1px} -.fc-border-separate th,.fc-border-separate td{border-width:1px 0 0 1px} -.fc-border-separate tr.fc-last th,.fc-border-separate tr.fc-last td{border-bottom-width:1px} -.fc-grid .fc-day-number{float:left;padding:0 2px} -.fc-grid .fc-other-month .fc-day-number{opacity:0.4;filter:alpha(opacity=40)} -.fc-grid .fc-day-content{clear:both;padding:2px 2px 1px} -.fc-grid .fc-event-time{font-weight:700} -.fc-rtl .fc-grid .fc-day-number{float:left} -.fc-rtl .fc-grid .fc-event-time{float:right} -.fc-agenda .fc-agenda-axis{width:50px;vertical-align:middle;text-align:right;white-space:nowrap;font-weight:400;padding:0 4px} -.fc-agenda .fc-day-content{padding:2px 2px 1px} -.fc-agenda-days .fc-col0{border-left-width:0} -.fc-agenda-allday .fc-day-content{min-height:34px;_height:34px} -.fc-agenda-divider-inner{height:2px;overflow:hidden} -.fc-widget-header .fc-agenda-divider-inner{background:#eee} -.fc-agenda-slots th{border-width:1px 1px 0} -.fc-agenda-slots td{background:none;border-width:1px 0 0} -.fc-agenda-slots td div{height:20px} -.fc-agenda-slots tr.fc-minor th,.fc-agenda-slots tr.fc-minor td{border-top-style:dotted} -.fc-agenda-slots tr.fc-minor th.ui-widget-header{border-top-style:solid} -.fc-event-vert .fc-event-head,.fc-event-vert .fc-event-content{position:relative;z-index:2;width:100%;overflow:hidden} -.fc-event-vert .fc-event-time{white-space:nowrap;font-size:10px} -.fc-event-vert .fc-event-bg{position:absolute;z-index:1;top:0;left:0;width:100%;height:100%;background:#fff;opacity:.3;filter:alpha(opacity=30)} -.fc .ui-draggable-dragging .fc-event-bg,/* TODO: something nicer like .fc-opacity */ -.fc-select-helper .fc-event-bg{display:none\9} -.fc-event-vert .ui-resizable-s{bottom:0!important;width:100%!important;height:8px!important;overflow:hidden!important;line-height:8px!important;font-size:11px!important;font-family:monospace;text-align:center;cursor:s-resize} -.fc-agenda .ui-resizable-resizing{_overflow:hidden} -.fc-header-center,.fc-grid th,.fc-agenda-days th{text-align:center} -.fc-header .fc-corner-right,.fc-corner-right{margin-right:1px} -.fc-corner-right .fc-event-inner,.fc-border-separate th.fc-last,.fc-border-separate td.fc-last,.fc-agenda-days .fc-agenda-axis{border-right-width:1px} -table.fc-border-separate,.fc-agenda table{border-collapse:separate} -.fc-border-separate tbody tr.fc-first td,.fc-border-separate tbody tr.fc-first th,.fc-agenda-slots tr.fc-slot0 th,.fc-agenda-slots tr.fc-slot0 td{border-top-width:0} -.fc-agenda-allday th,.fc-event-vert{border-width:0 1px} - - -.fc thead {background: #f9f9f9; -background: -moz-linear-gradient(top, #f9f9f9 0%, #ececec 100%); -background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f9f9f9), color-stop(100%,#ececec)); -background: -webkit-linear-gradient(top, #f9f9f9 0%,#ececec 100%); -background: linear-gradient(top, #f9f9f9 0%,#ececec 100%); -} -.fc tbody {background:#fff} -.fc thead th {background: none;padding:10px 0;font-size:14px;border-color:#e5e5e5 #e5e5e5 #dadada} -.fc-header {position:relative} -.fc-header-left {width:100%;float:none;height:38px;overflow:hidden} -.fc-header-center {position:absolute;width:80%;text-align:center;left:10%;top:0} -.fc-header-title h2{font-size:18px;color:#222;font-family: 'PT Sans', sans-serif;font-weight:400} -.fc-header-right {position:absolute;width:auto;top:-48px;right:10px} -.fc-header-right > .fc-btn {float:left;padding-right:12px;padding-left:12px;margin-right:2px;line-height:26px;color:#0088CC;display:block;border:1px solid transparent} -.fc-header-right .fc-state-hover {background: #eee;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px} -.fc-header-right .fc-state-active {position:relative;top:-2px;line-height:30px;color:#555;background-color:#fff !important;border:1px solid #ddd;border-bottom-color:transparent;cursor:default;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0} -.fc-btn {cursor:pointer} -.cal_prev {float:left;margin:11px 0 0 8px !important} -.cal_next {float:right;margin:11px 8px 0 0 !important} -.cal_prev,.cal_next {opacity:0.7} -.cal_prev:hover,.cal_next:hover {opacity:1} -.fc-state-hover .table_prev {background-position:0 -26px} -.fc-state-hover .table_next {background-position:right -26px} -.fc-day-number {font-size:11px;color:#777} -.fc-event-title,.fc-event-time {padding-left:3px} -.fc-button-today {vertical-align:middle;font-size:11px;margin-left:15px;color: #0088cc;display:inline-block} -.fc-button-today.fc-state-disabled {color:#999;cursor:default} \ No newline at end of file diff --git a/modules/lib/fullcalendar/gcal.js b/modules/lib/fullcalendar/gcal.js deleted file mode 100644 index ba42ac5..0000000 --- a/modules/lib/fullcalendar/gcal.js +++ /dev/null @@ -1,112 +0,0 @@ -/* - * FullCalendar v1.5.4 Google Calendar Plugin - * - * Copyright (c) 2011 Adam Shaw - * Dual licensed under the MIT and GPL licenses, located in - * MIT-LICENSE.txt and GPL-LICENSE.txt respectively. - * - * Date: Tue Sep 4 23:38:33 2012 -0700 - * - */ - -(function($) { - - -var fc = $.fullCalendar; -var formatDate = fc.formatDate; -var parseISO8601 = fc.parseISO8601; -var addDays = fc.addDays; -var applyAll = fc.applyAll; - - -fc.sourceNormalizers.push(function(sourceOptions) { - if (sourceOptions.dataType == 'gcal' || - sourceOptions.dataType === undefined && - (sourceOptions.url || '').match(/^(http|https):\/\/www.google.com\/calendar\/feeds\//)) { - sourceOptions.dataType = 'gcal'; - if (sourceOptions.editable === undefined) { - sourceOptions.editable = false; - } - } -}); - - -fc.sourceFetchers.push(function(sourceOptions, start, end) { - if (sourceOptions.dataType == 'gcal') { - return transformOptions(sourceOptions, start, end); - } -}); - - -function transformOptions(sourceOptions, start, end) { - - var success = sourceOptions.success; - var data = $.extend({}, sourceOptions.data || {}, { - 'start-min': formatDate(start, 'u'), - 'start-max': formatDate(end, 'u'), - 'singleevents': true, - 'max-results': 9999 - }); - - var ctz = sourceOptions.currentTimezone; - if (ctz) { - data.ctz = ctz = ctz.replace(' ', '_'); - } - - return $.extend({}, sourceOptions, { - url: sourceOptions.url.replace(/\/basic$/, '/full') + '?alt=json-in-script&callback=?', - dataType: 'jsonp', - data: data, - startParam: false, - endParam: false, - success: function(data) { - var events = []; - if (data.feed.entry) { - $.each(data.feed.entry, function(i, entry) { - var startStr = entry['gd$when'][0]['startTime']; - var start = parseISO8601(startStr, true); - var end = parseISO8601(entry['gd$when'][0]['endTime'], true); - var allDay = startStr.indexOf('T') == -1; - var url; - $.each(entry.link, function(i, link) { - if (link.type == 'text/html') { - url = link.href; - if (ctz) { - url += (url.indexOf('?') == -1 ? '?' : '&') + 'ctz=' + ctz; - } - } - }); - if (allDay) { - addDays(end, -1); // make inclusive - } - events.push({ - id: entry['gCal$uid']['value'], - title: entry['title']['$t'], - url: url, - start: start, - end: end, - allDay: allDay, - location: entry['gd$where'][0]['valueString'], - description: entry['content']['$t'] - }); - }); - } - var args = [events].concat(Array.prototype.slice.call(arguments, 1)); - var res = applyAll(success, this, args); - if ($.isArray(res)) { - return res; - } - return events; - } - }); - -} - - -// legacy -fc.gcalFeed = function(url, sourceOptions) { - return $.extend({}, sourceOptions, { url: url, dataType: 'gcal' }); -}; - - -})(jQuery); diff --git a/modules/lib/google-code-prettify/lang-apollo.js b/modules/lib/google-code-prettify/lang-apollo.js deleted file mode 100644 index 7098baf..0000000 --- a/modules/lib/google-code-prettify/lang-apollo.js +++ /dev/null @@ -1,2 +0,0 @@ -PR.registerLangHandler(PR.createSimpleLexer([["com",/^#[^\n\r]*/,null,"#"],["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r Â\xa0"],["str",/^"(?:[^"\\]|\\[\S\s])*(?:"|$)/,null,'"']],[["kwd",/^(?:ADS|AD|AUG|BZF|BZMF|CAE|CAF|CA|CCS|COM|CS|DAS|DCA|DCOM|DCS|DDOUBL|DIM|DOUBLE|DTCB|DTCF|DV|DXCH|EDRUPT|EXTEND|INCR|INDEX|NDX|INHINT|LXCH|MASK|MSK|MP|MSU|NOOP|OVSK|QXCH|RAND|READ|RELINT|RESUME|RETURN|ROR|RXOR|SQUARE|SU|TCR|TCAA|OVSK|TCF|TC|TS|WAND|WOR|WRITE|XCH|XLQ|XXALQ|ZL|ZQ|ADD|ADZ|SUB|SUZ|MPY|MPR|MPZ|DVP|COM|ABS|CLA|CLZ|LDQ|STO|STQ|ALS|LLS|LRS|TRA|TSQ|TMI|TOV|AXT|TIX|DLY|INP|OUT)\s/, -null],["typ",/^(?:-?GENADR|=MINUS|2BCADR|VN|BOF|MM|-?2CADR|-?[1-6]DNADR|ADRES|BBCON|[ES]?BANK=?|BLOCK|BNKSUM|E?CADR|COUNT\*?|2?DEC\*?|-?DNCHAN|-?DNPTR|EQUALS|ERASE|MEMORY|2?OCT|REMADR|SETLOC|SUBRO|ORG|BSS|BES|SYN|EQU|DEFINE|END)\s/,null],["lit",/^'(?:-*(?:\w|\\[!-~])(?:[\w-]*|\\[!-~])[!=?]?)?/],["pln",/^-*(?:[!-z]|\\[!-~])(?:[\w-]*|\\[!-~])[!=?]?/],["pun",/^[^\w\t\n\r "'-);\\\xa0]+/]]),["apollo","agc","aea"]); diff --git a/modules/lib/google-code-prettify/lang-clj.js b/modules/lib/google-code-prettify/lang-clj.js deleted file mode 100644 index 542a220..0000000 --- a/modules/lib/google-code-prettify/lang-clj.js +++ /dev/null @@ -1,18 +0,0 @@ -/* - Copyright (C) 2011 Google Inc. - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -*/ -var a=null; -PR.registerLangHandler(PR.createSimpleLexer([["opn",/^[([{]+/,a,"([{"],["clo",/^[)\]}]+/,a,")]}"],["com",/^;[^\n\r]*/,a,";"],["pln",/^[\t\n\r \xa0]+/,a,"\t\n\r \xa0"],["str",/^"(?:[^"\\]|\\[\S\s])*(?:"|$)/,a,'"']],[["kwd",/^(?:def|if|do|let|quote|var|fn|loop|recur|throw|try|monitor-enter|monitor-exit|defmacro|defn|defn-|macroexpand|macroexpand-1|for|doseq|dosync|dotimes|and|or|when|not|assert|doto|proxy|defstruct|first|rest|cons|defprotocol|deftype|defrecord|reify|defmulti|defmethod|meta|with-meta|ns|in-ns|create-ns|import|intern|refer|alias|namespace|resolve|ref|deref|refset|new|set!|memfn|to-array|into-array|aset|gen-class|reduce|map|filter|find|nil?|empty?|hash-map|hash-set|vec|vector|seq|flatten|reverse|assoc|dissoc|list|list?|disj|get|union|difference|intersection|extend|extend-type|extend-protocol|prn)\b/,a], -["typ",/^:[\dA-Za-z-]+/]]),["clj"]); diff --git a/modules/lib/google-code-prettify/lang-css.js b/modules/lib/google-code-prettify/lang-css.js deleted file mode 100644 index 041e1f5..0000000 --- a/modules/lib/google-code-prettify/lang-css.js +++ /dev/null @@ -1,2 +0,0 @@ -PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\f\r ]+/,null," \t\r\n "]],[["str",/^"(?:[^\n\f\r"\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*"/,null],["str",/^'(?:[^\n\f\r'\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*'/,null],["lang-css-str",/^url\(([^"')]*)\)/i],["kwd",/^(?:url|rgb|!important|@import|@page|@media|@charset|inherit)(?=[^\w-]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*)\s*:/i],["com",/^\/\*[^*]*\*+(?:[^*/][^*]*\*+)*\//],["com", -/^(?:<\!--|--\>)/],["lit",/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],["lit",/^#[\da-f]{3,6}/i],["pln",/^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i],["pun",/^[^\s\w"']+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[["kwd",/^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[["str",/^[^"')]+/]]),["css-str"]); diff --git a/modules/lib/google-code-prettify/lang-go.js b/modules/lib/google-code-prettify/lang-go.js deleted file mode 100644 index fc18dc0..0000000 --- a/modules/lib/google-code-prettify/lang-go.js +++ /dev/null @@ -1 +0,0 @@ -PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r Â\xa0"],["pln",/^(?:"(?:[^"\\]|\\[\S\s])*(?:"|$)|'(?:[^'\\]|\\[\S\s])+(?:'|$)|`[^`]*(?:`|$))/,null,"\"'"]],[["com",/^(?:\/\/[^\n\r]*|\/\*[\S\s]*?\*\/)/],["pln",/^(?:[^"'/`]|\/(?![*/]))+/]]),["go"]); diff --git a/modules/lib/google-code-prettify/lang-hs.js b/modules/lib/google-code-prettify/lang-hs.js deleted file mode 100644 index 9d77b08..0000000 --- a/modules/lib/google-code-prettify/lang-hs.js +++ /dev/null @@ -1,2 +0,0 @@ -PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t-\r ]+/,null,"\t\n \r "],["str",/^"(?:[^\n\f\r"\\]|\\[\S\s])*(?:"|$)/,null,'"'],["str",/^'(?:[^\n\f\r'\\]|\\[^&])'?/,null,"'"],["lit",/^(?:0o[0-7]+|0x[\da-f]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)/i,null,"0123456789"]],[["com",/^(?:--+[^\n\f\r]*|{-(?:[^-]|-+[^}-])*-})/],["kwd",/^(?:case|class|data|default|deriving|do|else|if|import|in|infix|infixl|infixr|instance|let|module|newtype|of|then|type|where|_)(?=[^\d'A-Za-z]|$)/, -null],["pln",/^(?:[A-Z][\w']*\.)*[A-Za-z][\w']*/],["pun",/^[^\d\t-\r "'A-Za-z]+/]]),["hs"]); diff --git a/modules/lib/google-code-prettify/lang-lisp.js b/modules/lib/google-code-prettify/lang-lisp.js deleted file mode 100644 index 02a30e8..0000000 --- a/modules/lib/google-code-prettify/lang-lisp.js +++ /dev/null @@ -1,3 +0,0 @@ -var a=null; -PR.registerLangHandler(PR.createSimpleLexer([["opn",/^\(+/,a,"("],["clo",/^\)+/,a,")"],["com",/^;[^\n\r]*/,a,";"],["pln",/^[\t\n\r \xa0]+/,a,"\t\n\r \xa0"],["str",/^"(?:[^"\\]|\\[\S\s])*(?:"|$)/,a,'"']],[["kwd",/^(?:block|c[ad]+r|catch|con[ds]|def(?:ine|un)|do|eq|eql|equal|equalp|eval-when|flet|format|go|if|labels|lambda|let|load-time-value|locally|macrolet|multiple-value-call|nil|progn|progv|quote|require|return-from|setq|symbol-macrolet|t|tagbody|the|throw|unwind)\b/,a], -["lit",/^[+-]?(?:[#0]x[\da-f]+|\d+\/\d+|(?:\.\d+|\d+(?:\.\d*)?)(?:[de][+-]?\d+)?)/i],["lit",/^'(?:-*(?:\w|\\[!-~])(?:[\w-]*|\\[!-~])[!=?]?)?/],["pln",/^-*(?:[_a-z]|\\[!-~])(?:[\w-]*|\\[!-~])[!=?]?/i],["pun",/^[^\w\t\n\r "'-);\\\xa0]+/]]),["cl","el","lisp","scm"]); diff --git a/modules/lib/google-code-prettify/lang-lua.js b/modules/lib/google-code-prettify/lang-lua.js deleted file mode 100644 index e83a3c4..0000000 --- a/modules/lib/google-code-prettify/lang-lua.js +++ /dev/null @@ -1,2 +0,0 @@ -PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r Â\xa0"],["str",/^(?:"(?:[^"\\]|\\[\S\s])*(?:"|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$))/,null,"\"'"]],[["com",/^--(?:\[(=*)\[[\S\s]*?(?:]\1]|$)|[^\n\r]*)/],["str",/^\[(=*)\[[\S\s]*?(?:]\1]|$)/],["kwd",/^(?:and|break|do|else|elseif|end|false|for|function|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/,null],["lit",/^[+-]?(?:0x[\da-f]+|(?:\.\d+|\d+(?:\.\d*)?)(?:e[+-]?\d+)?)/i], -["pln",/^[_a-z]\w*/i],["pun",/^[^\w\t\n\r \xa0][^\w\t\n\r "'+=\xa0-]*/]]),["lua"]); diff --git a/modules/lib/google-code-prettify/lang-ml.js b/modules/lib/google-code-prettify/lang-ml.js deleted file mode 100644 index 6df02d7..0000000 --- a/modules/lib/google-code-prettify/lang-ml.js +++ /dev/null @@ -1,2 +0,0 @@ -PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r Â\xa0"],["com",/^#(?:if[\t\n\r \xa0]+(?:[$_a-z][\w']*|``[^\t\n\r`]*(?:``|$))|else|endif|light)/i,null,"#"],["str",/^(?:"(?:[^"\\]|\\[\S\s])*(?:"|$)|'(?:[^'\\]|\\[\S\s])(?:'|$))/,null,"\"'"]],[["com",/^(?:\/\/[^\n\r]*|\(\*[\S\s]*?\*\))/],["kwd",/^(?:abstract|and|as|assert|begin|class|default|delegate|do|done|downcast|downto|elif|else|end|exception|extern|false|finally|for|fun|function|if|in|inherit|inline|interface|internal|lazy|let|match|member|module|mutable|namespace|new|null|of|open|or|override|private|public|rec|return|static|struct|then|to|true|try|type|upcast|use|val|void|when|while|with|yield|asr|land|lor|lsl|lsr|lxor|mod|sig|atomic|break|checked|component|const|constraint|constructor|continue|eager|event|external|fixed|functor|global|include|method|mixin|object|parallel|process|protected|pure|sealed|trait|virtual|volatile)\b/], -["lit",/^[+-]?(?:0x[\da-f]+|(?:\.\d+|\d+(?:\.\d*)?)(?:e[+-]?\d+)?)/i],["pln",/^(?:[_a-z][\w']*[!#?]?|``[^\t\n\r`]*(?:``|$))/i],["pun",/^[^\w\t\n\r "'\xa0]+/]]),["fs","ml"]); diff --git a/modules/lib/google-code-prettify/lang-n.js b/modules/lib/google-code-prettify/lang-n.js deleted file mode 100644 index 6c2e85b..0000000 --- a/modules/lib/google-code-prettify/lang-n.js +++ /dev/null @@ -1,4 +0,0 @@ -var a=null; -PR.registerLangHandler(PR.createSimpleLexer([["str",/^(?:'(?:[^\n\r'\\]|\\.)*'|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,a,'"'],["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/,a,"#"],["pln",/^\s+/,a," \r\n\t\xa0"]],[["str",/^@"(?:[^"]|"")*(?:"|$)/,a],["str",/^<#[^#>]*(?:#>|$)/,a],["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,a],["com",/^\/\/[^\n\r]*/,a],["com",/^\/\*[\S\s]*?(?:\*\/|$)/, -a],["kwd",/^(?:abstract|and|as|base|catch|class|def|delegate|enum|event|extern|false|finally|fun|implements|interface|internal|is|macro|match|matches|module|mutable|namespace|new|null|out|override|params|partial|private|protected|public|ref|sealed|static|struct|syntax|this|throw|true|try|type|typeof|using|variant|virtual|volatile|when|where|with|assert|assert2|async|break|checked|continue|do|else|ensures|for|foreach|if|late|lock|new|nolate|otherwise|regexp|repeat|requires|return|surroundwith|unchecked|unless|using|while|yield)\b/, -a],["typ",/^(?:array|bool|byte|char|decimal|double|float|int|list|long|object|sbyte|short|string|ulong|uint|ufloat|ulong|ushort|void)\b/,a],["lit",/^@[$_a-z][\w$@]*/i,a],["typ",/^@[A-Z]+[a-z][\w$@]*/,a],["pln",/^'?[$_a-z][\w$@]*/i,a],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,a,"0123456789"],["pun",/^.[^\s\w"-$'./@`]*/,a]]),["n","nemerle"]); diff --git a/modules/lib/google-code-prettify/lang-proto.js b/modules/lib/google-code-prettify/lang-proto.js deleted file mode 100644 index f006ad8..0000000 --- a/modules/lib/google-code-prettify/lang-proto.js +++ /dev/null @@ -1 +0,0 @@ -PR.registerLangHandler(PR.sourceDecorator({keywords:"bytes,default,double,enum,extend,extensions,false,group,import,max,message,option,optional,package,repeated,required,returns,rpc,service,syntax,to,true",types:/^(bool|(double|s?fixed|[su]?int)(32|64)|float|string)\b/,cStyleComments:!0}),["proto"]); diff --git a/modules/lib/google-code-prettify/lang-scala.js b/modules/lib/google-code-prettify/lang-scala.js deleted file mode 100644 index 60d034d..0000000 --- a/modules/lib/google-code-prettify/lang-scala.js +++ /dev/null @@ -1,2 +0,0 @@ -PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r Â\xa0"],["str",/^"(?:""(?:""?(?!")|[^"\\]|\\.)*"{0,3}|(?:[^\n\r"\\]|\\.)*"?)/,null,'"'],["lit",/^`(?:[^\n\r\\`]|\\.)*`?/,null,"`"],["pun",/^[!#%&(--:-@[-^{-~]+/,null,"!#%&()*+,-:;<=>?@[\\]^{|}~"]],[["str",/^'(?:[^\n\r'\\]|\\(?:'|[^\n\r']+))'/],["lit",/^'[$A-Z_a-z][\w$]*(?![\w$'])/],["kwd",/^(?:abstract|case|catch|class|def|do|else|extends|final|finally|for|forSome|if|implicit|import|lazy|match|new|object|override|package|private|protected|requires|return|sealed|super|throw|trait|try|type|val|var|while|with|yield)\b/], -["lit",/^(?:true|false|null|this)\b/],["lit",/^(?:0(?:[0-7]+|x[\da-f]+)l?|(?:0|[1-9]\d*)(?:(?:\.\d+)?(?:e[+-]?\d+)?f?|l?)|\\.\d+(?:e[+-]?\d+)?f?)/i],["typ",/^[$_]*[A-Z][\d$A-Z_]*[a-z][\w$]*/],["pln",/^[$A-Z_a-z][\w$]*/],["com",/^\/(?:\/.*|\*(?:\/|\**[^*/])*(?:\*+\/?)?)/],["pun",/^(?:\.+|\/)/]]),["scala"]); diff --git a/modules/lib/google-code-prettify/lang-sql.js b/modules/lib/google-code-prettify/lang-sql.js deleted file mode 100644 index da705b0..0000000 --- a/modules/lib/google-code-prettify/lang-sql.js +++ /dev/null @@ -1,2 +0,0 @@ -PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r Â\xa0"],["str",/^(?:"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')/,null,"\"'"]],[["com",/^(?:--[^\n\r]*|\/\*[\S\s]*?(?:\*\/|$))/],["kwd",/^(?:add|all|alter|and|any|as|asc|authorization|backup|begin|between|break|browse|bulk|by|cascade|case|check|checkpoint|close|clustered|coalesce|collate|column|commit|compute|constraint|contains|containstable|continue|convert|create|cross|current|current_date|current_time|current_timestamp|current_user|cursor|database|dbcc|deallocate|declare|default|delete|deny|desc|disk|distinct|distributed|double|drop|dummy|dump|else|end|errlvl|escape|except|exec|execute|exists|exit|fetch|file|fillfactor|for|foreign|freetext|freetexttable|from|full|function|goto|grant|group|having|holdlock|identity|identitycol|identity_insert|if|in|index|inner|insert|intersect|into|is|join|key|kill|left|like|lineno|load|match|merge|national|nocheck|nonclustered|not|null|nullif|of|off|offsets|on|open|opendatasource|openquery|openrowset|openxml|option|or|order|outer|over|percent|plan|precision|primary|print|proc|procedure|public|raiserror|read|readtext|reconfigure|references|replication|restore|restrict|return|revoke|right|rollback|rowcount|rowguidcol|rule|save|schema|select|session_user|set|setuser|shutdown|some|statistics|system_user|table|textsize|then|to|top|tran|transaction|trigger|truncate|tsequal|union|unique|update|updatetext|use|user|using|values|varying|view|waitfor|when|where|while|with|writetext)(?=[^\w-]|$)/i, -null],["lit",/^[+-]?(?:0x[\da-f]+|(?:\.\d+|\d+(?:\.\d*)?)(?:e[+-]?\d+)?)/i],["pln",/^[_a-z][\w-]*/i],["pun",/^[^\w\t\n\r "'\xa0][^\w\t\n\r "'+\xa0-]*/]]),["sql"]); diff --git a/modules/lib/google-code-prettify/lang-tex.js b/modules/lib/google-code-prettify/lang-tex.js deleted file mode 100644 index ce96fbb..0000000 --- a/modules/lib/google-code-prettify/lang-tex.js +++ /dev/null @@ -1 +0,0 @@ -PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r Â\xa0"],["com",/^%[^\n\r]*/,null,"%"]],[["kwd",/^\\[@-Za-z]+/],["kwd",/^\\./],["typ",/^[$&]/],["lit",/[+-]?(?:\.\d+|\d+(?:\.\d*)?)(cm|em|ex|in|pc|pt|bp|mm)/i],["pun",/^[()=[\]{}]+/]]),["latex","tex"]); diff --git a/modules/lib/google-code-prettify/lang-vb.js b/modules/lib/google-code-prettify/lang-vb.js deleted file mode 100644 index 07506b0..0000000 --- a/modules/lib/google-code-prettify/lang-vb.js +++ /dev/null @@ -1,2 +0,0 @@ -PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0\u2028\u2029]+/,null,"\t\n\r Â\xa0

"],["str",/^(?:["\u201c\u201d](?:[^"\u201c\u201d]|["\u201c\u201d]{2})(?:["\u201c\u201d]c|$)|["\u201c\u201d](?:[^"\u201c\u201d]|["\u201c\u201d]{2})*(?:["\u201c\u201d]|$))/i,null,'"“â€'],["com",/^['\u2018\u2019].*/,null,"'‘’"]],[["kwd",/^(?:addhandler|addressof|alias|and|andalso|ansi|as|assembly|auto|boolean|byref|byte|byval|call|case|catch|cbool|cbyte|cchar|cdate|cdbl|cdec|char|cint|class|clng|cobj|const|cshort|csng|cstr|ctype|date|decimal|declare|default|delegate|dim|directcast|do|double|each|else|elseif|end|endif|enum|erase|error|event|exit|finally|for|friend|function|get|gettype|gosub|goto|handles|if|implements|imports|in|inherits|integer|interface|is|let|lib|like|long|loop|me|mod|module|mustinherit|mustoverride|mybase|myclass|namespace|new|next|not|notinheritable|notoverridable|object|on|option|optional|or|orelse|overloads|overridable|overrides|paramarray|preserve|private|property|protected|public|raiseevent|readonly|redim|removehandler|resume|return|select|set|shadows|shared|short|single|static|step|stop|string|structure|sub|synclock|then|throw|to|try|typeof|unicode|until|variant|wend|when|while|with|withevents|writeonly|xor|endif|gosub|let|variant|wend)\b/i, -null],["com",/^rem.*/i],["lit",/^(?:true\b|false\b|nothing\b|\d+(?:e[+-]?\d+[dfr]?|[dfilrs])?|(?:&h[\da-f]+|&o[0-7]+)[ils]?|\d*\.\d+(?:e[+-]?\d+)?[dfr]?|#\s+(?:\d+[/-]\d+[/-]\d+(?:\s+\d+:\d+(?::\d+)?(\s*(?:am|pm))?)?|\d+:\d+(?::\d+)?(\s*(?:am|pm))?)\s+#)/i],["pln",/^(?:(?:[a-z]|_\w)\w*|\[(?:[a-z]|_\w)\w*])/i],["pun",/^[^\w\t\n\r "'[\]\xa0\u2018\u2019\u201c\u201d\u2028\u2029]+/],["pun",/^(?:\[|])/]]),["vb","vbs"]); diff --git a/modules/lib/google-code-prettify/lang-vhdl.js b/modules/lib/google-code-prettify/lang-vhdl.js deleted file mode 100644 index 128b5b6..0000000 --- a/modules/lib/google-code-prettify/lang-vhdl.js +++ /dev/null @@ -1,3 +0,0 @@ -PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r Â\xa0"]],[["str",/^(?:[box]?"(?:[^"]|"")*"|'.')/i],["com",/^--[^\n\r]*/],["kwd",/^(?:abs|access|after|alias|all|and|architecture|array|assert|attribute|begin|block|body|buffer|bus|case|component|configuration|constant|disconnect|downto|else|elsif|end|entity|exit|file|for|function|generate|generic|group|guarded|if|impure|in|inertial|inout|is|label|library|linkage|literal|loop|map|mod|nand|new|next|nor|not|null|of|on|open|or|others|out|package|port|postponed|procedure|process|pure|range|record|register|reject|rem|report|return|rol|ror|select|severity|shared|signal|sla|sll|sra|srl|subtype|then|to|transport|type|unaffected|units|until|use|variable|wait|when|while|with|xnor|xor)(?=[^\w-]|$)/i, -null],["typ",/^(?:bit|bit_vector|character|boolean|integer|real|time|string|severity_level|positive|natural|signed|unsigned|line|text|std_u?logic(?:_vector)?)(?=[^\w-]|$)/i,null],["typ",/^'(?:active|ascending|base|delayed|driving|driving_value|event|high|image|instance_name|last_active|last_event|last_value|left|leftof|length|low|path_name|pos|pred|quiet|range|reverse_range|right|rightof|simple_name|stable|succ|transaction|val|value)(?=[^\w-]|$)/i,null],["lit",/^\d+(?:_\d+)*(?:#[\w.\\]+#(?:[+-]?\d+(?:_\d+)*)?|(?:\.\d+(?:_\d+)*)?(?:e[+-]?\d+(?:_\d+)*)?)/i], -["pln",/^(?:[a-z]\w*|\\[^\\]*\\)/i],["pun",/^[^\w\t\n\r "'\xa0][^\w\t\n\r "'\xa0-]*/]]),["vhdl","vhd"]); diff --git a/modules/lib/google-code-prettify/lang-wiki.js b/modules/lib/google-code-prettify/lang-wiki.js deleted file mode 100644 index 9b0b448..0000000 --- a/modules/lib/google-code-prettify/lang-wiki.js +++ /dev/null @@ -1,2 +0,0 @@ -PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\d\t a-gi-z\xa0]+/,null,"\t Â\xa0abcdefgijklmnopqrstuvwxyz0123456789"],["pun",/^[*=[\]^~]+/,null,"=*~^[]"]],[["lang-wiki.meta",/(?:^^|\r\n?|\n)(#[a-z]+)\b/],["lit",/^[A-Z][a-z][\da-z]+[A-Z][a-z][^\W_]+\b/],["lang-",/^{{{([\S\s]+?)}}}/],["lang-",/^`([^\n\r`]+)`/],["str",/^https?:\/\/[^\s#/?]*(?:\/[^\s#?]*)?(?:\?[^\s#]*)?(?:#\S*)?/i],["pln",/^(?:\r\n|[\S\s])[^\n\r#*=A-[^`h{~]*/]]),["wiki"]); -PR.registerLangHandler(PR.createSimpleLexer([["kwd",/^#[a-z]+/i,null,"#"]],[]),["wiki.meta"]); diff --git a/modules/lib/google-code-prettify/lang-xq.js b/modules/lib/google-code-prettify/lang-xq.js deleted file mode 100644 index e323ae3..0000000 --- a/modules/lib/google-code-prettify/lang-xq.js +++ /dev/null @@ -1,3 +0,0 @@ -PR.registerLangHandler(PR.createSimpleLexer([["var pln",/^\$[\w-]+/,null,"$"]],[["pln",/^[\s=][<>][\s=]/],["lit",/^@[\w-]+/],["tag",/^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],["com",/^\(:[\S\s]*?:\)/],["pln",/^[(),/;[\]{}]$/],["str",/^(?:"(?:[^"\\{]|\\[\S\s])*(?:"|$)|'(?:[^'\\{]|\\[\S\s])*(?:'|$))/,null,"\"'"],["kwd",/^(?:xquery|where|version|variable|union|typeswitch|treat|to|then|text|stable|sortby|some|self|schema|satisfies|returns|return|ref|processing-instruction|preceding-sibling|preceding|precedes|parent|only|of|node|namespace|module|let|item|intersect|instance|in|import|if|function|for|follows|following-sibling|following|external|except|every|else|element|descending|descendant-or-self|descendant|define|default|declare|comment|child|cast|case|before|attribute|assert|ascending|as|ancestor-or-self|ancestor|after|eq|order|by|or|and|schema-element|document-node|node|at)\b/], -["typ",/^(?:xs:yearMonthDuration|xs:unsignedLong|xs:time|xs:string|xs:short|xs:QName|xs:Name|xs:long|xs:integer|xs:int|xs:gYearMonth|xs:gYear|xs:gMonthDay|xs:gDay|xs:float|xs:duration|xs:double|xs:decimal|xs:dayTimeDuration|xs:dateTime|xs:date|xs:byte|xs:boolean|xs:anyURI|xf:yearMonthDuration)\b/,null],["fun pln",/^(?:xp:dereference|xinc:node-expand|xinc:link-references|xinc:link-expand|xhtml:restructure|xhtml:clean|xhtml:add-lists|xdmp:zip-manifest|xdmp:zip-get|xdmp:zip-create|xdmp:xquery-version|xdmp:word-convert|xdmp:with-namespaces|xdmp:version|xdmp:value|xdmp:user-roles|xdmp:user-last-login|xdmp:user|xdmp:url-encode|xdmp:url-decode|xdmp:uri-is-file|xdmp:uri-format|xdmp:uri-content-type|xdmp:unquote|xdmp:unpath|xdmp:triggers-database|xdmp:trace|xdmp:to-json|xdmp:tidy|xdmp:subbinary|xdmp:strftime|xdmp:spawn-in|xdmp:spawn|xdmp:sleep|xdmp:shutdown|xdmp:set-session-field|xdmp:set-response-encoding|xdmp:set-response-content-type|xdmp:set-response-code|xdmp:set-request-time-limit|xdmp:set|xdmp:servers|xdmp:server-status|xdmp:server-name|xdmp:server|xdmp:security-database|xdmp:security-assert|xdmp:schema-database|xdmp:save|xdmp:role-roles|xdmp:role|xdmp:rethrow|xdmp:restart|xdmp:request-timestamp|xdmp:request-status|xdmp:request-cancel|xdmp:request|xdmp:redirect-response|xdmp:random|xdmp:quote|xdmp:query-trace|xdmp:query-meters|xdmp:product-edition|xdmp:privilege-roles|xdmp:privilege|xdmp:pretty-print|xdmp:powerpoint-convert|xdmp:platform|xdmp:permission|xdmp:pdf-convert|xdmp:path|xdmp:octal-to-integer|xdmp:node-uri|xdmp:node-replace|xdmp:node-kind|xdmp:node-insert-child|xdmp:node-insert-before|xdmp:node-insert-after|xdmp:node-delete|xdmp:node-database|xdmp:mul64|xdmp:modules-root|xdmp:modules-database|xdmp:merging|xdmp:merge-cancel|xdmp:merge|xdmp:md5|xdmp:logout|xdmp:login|xdmp:log-level|xdmp:log|xdmp:lock-release|xdmp:lock-acquire|xdmp:load|xdmp:invoke-in|xdmp:invoke|xdmp:integer-to-octal|xdmp:integer-to-hex|xdmp:http-put|xdmp:http-post|xdmp:http-options|xdmp:http-head|xdmp:http-get|xdmp:http-delete|xdmp:hosts|xdmp:host-status|xdmp:host-name|xdmp:host|xdmp:hex-to-integer|xdmp:hash64|xdmp:hash32|xdmp:has-privilege|xdmp:groups|xdmp:group-serves|xdmp:group-servers|xdmp:group-name|xdmp:group-hosts|xdmp:group|xdmp:get-session-field-names|xdmp:get-session-field|xdmp:get-response-encoding|xdmp:get-response-code|xdmp:get-request-username|xdmp:get-request-user|xdmp:get-request-url|xdmp:get-request-protocol|xdmp:get-request-path|xdmp:get-request-method|xdmp:get-request-header-names|xdmp:get-request-header|xdmp:get-request-field-names|xdmp:get-request-field-filename|xdmp:get-request-field-content-type|xdmp:get-request-field|xdmp:get-request-client-certificate|xdmp:get-request-client-address|xdmp:get-request-body|xdmp:get-current-user|xdmp:get-current-roles|xdmp:get|xdmp:function-name|xdmp:function-module|xdmp:function|xdmp:from-json|xdmp:forests|xdmp:forest-status|xdmp:forest-restore|xdmp:forest-restart|xdmp:forest-name|xdmp:forest-delete|xdmp:forest-databases|xdmp:forest-counts|xdmp:forest-clear|xdmp:forest-backup|xdmp:forest|xdmp:filesystem-file|xdmp:filesystem-directory|xdmp:exists|xdmp:excel-convert|xdmp:eval-in|xdmp:eval|xdmp:estimate|xdmp:email|xdmp:element-content-type|xdmp:elapsed-time|xdmp:document-set-quality|xdmp:document-set-property|xdmp:document-set-properties|xdmp:document-set-permissions|xdmp:document-set-collections|xdmp:document-remove-properties|xdmp:document-remove-permissions|xdmp:document-remove-collections|xdmp:document-properties|xdmp:document-locks|xdmp:document-load|xdmp:document-insert|xdmp:document-get-quality|xdmp:document-get-properties|xdmp:document-get-permissions|xdmp:document-get-collections|xdmp:document-get|xdmp:document-forest|xdmp:document-delete|xdmp:document-add-properties|xdmp:document-add-permissions|xdmp:document-add-collections|xdmp:directory-properties|xdmp:directory-locks|xdmp:directory-delete|xdmp:directory-create|xdmp:directory|xdmp:diacritic-less|xdmp:describe|xdmp:default-permissions|xdmp:default-collections|xdmp:databases|xdmp:database-restore-validate|xdmp:database-restore-status|xdmp:database-restore-cancel|xdmp:database-restore|xdmp:database-name|xdmp:database-forests|xdmp:database-backup-validate|xdmp:database-backup-status|xdmp:database-backup-purge|xdmp:database-backup-cancel|xdmp:database-backup|xdmp:database|xdmp:collection-properties|xdmp:collection-locks|xdmp:collection-delete|xdmp:collation-canonical-uri|xdmp:castable-as|xdmp:can-grant-roles|xdmp:base64-encode|xdmp:base64-decode|xdmp:architecture|xdmp:apply|xdmp:amp-roles|xdmp:amp|xdmp:add64|xdmp:add-response-header|xdmp:access|trgr:trigger-set-recursive|trgr:trigger-set-permissions|trgr:trigger-set-name|trgr:trigger-set-module|trgr:trigger-set-event|trgr:trigger-set-description|trgr:trigger-remove-permissions|trgr:trigger-module|trgr:trigger-get-permissions|trgr:trigger-enable|trgr:trigger-disable|trgr:trigger-database-online-event|trgr:trigger-data-event|trgr:trigger-add-permissions|trgr:remove-trigger|trgr:property-content|trgr:pre-commit|trgr:post-commit|trgr:get-trigger-by-id|trgr:get-trigger|trgr:document-scope|trgr:document-content|trgr:directory-scope|trgr:create-trigger|trgr:collection-scope|trgr:any-property-content|thsr:set-entry|thsr:remove-term|thsr:remove-synonym|thsr:remove-entry|thsr:query-lookup|thsr:lookup|thsr:load|thsr:insert|thsr:expand|thsr:add-synonym|spell:suggest-detailed|spell:suggest|spell:remove-word|spell:make-dictionary|spell:load|spell:levenshtein-distance|spell:is-correct|spell:insert|spell:double-metaphone|spell:add-word|sec:users-collection|sec:user-set-roles|sec:user-set-password|sec:user-set-name|sec:user-set-description|sec:user-set-default-permissions|sec:user-set-default-collections|sec:user-remove-roles|sec:user-privileges|sec:user-get-roles|sec:user-get-description|sec:user-get-default-permissions|sec:user-get-default-collections|sec:user-doc-permissions|sec:user-doc-collections|sec:user-add-roles|sec:unprotect-collection|sec:uid-for-name|sec:set-realm|sec:security-version|sec:security-namespace|sec:security-installed|sec:security-collection|sec:roles-collection|sec:role-set-roles|sec:role-set-name|sec:role-set-description|sec:role-set-default-permissions|sec:role-set-default-collections|sec:role-remove-roles|sec:role-privileges|sec:role-get-roles|sec:role-get-description|sec:role-get-default-permissions|sec:role-get-default-collections|sec:role-doc-permissions|sec:role-doc-collections|sec:role-add-roles|sec:remove-user|sec:remove-role-from-users|sec:remove-role-from-role|sec:remove-role-from-privileges|sec:remove-role-from-amps|sec:remove-role|sec:remove-privilege|sec:remove-amp|sec:protect-collection|sec:privileges-collection|sec:privilege-set-roles|sec:privilege-set-name|sec:privilege-remove-roles|sec:privilege-get-roles|sec:privilege-add-roles|sec:priv-doc-permissions|sec:priv-doc-collections|sec:get-user-names|sec:get-unique-elem-id|sec:get-role-names|sec:get-role-ids|sec:get-privilege|sec:get-distinct-permissions|sec:get-collection|sec:get-amp|sec:create-user-with-role|sec:create-user|sec:create-role|sec:create-privilege|sec:create-amp|sec:collections-collection|sec:collection-set-permissions|sec:collection-remove-permissions|sec:collection-get-permissions|sec:collection-add-permissions|sec:check-admin|sec:amps-collection|sec:amp-set-roles|sec:amp-remove-roles|sec:amp-get-roles|sec:amp-doc-permissions|sec:amp-doc-collections|sec:amp-add-roles|search:unparse|search:suggest|search:snippet|search:search|search:resolve-nodes|search:resolve|search:remove-constraint|search:parse|search:get-default-options|search:estimate|search:check-options|prof:value|prof:reset|prof:report|prof:invoke|prof:eval|prof:enable|prof:disable|prof:allowed|ppt:clean|pki:template-set-request|pki:template-set-name|pki:template-set-key-type|pki:template-set-key-options|pki:template-set-description|pki:template-in-use|pki:template-get-version|pki:template-get-request|pki:template-get-name|pki:template-get-key-type|pki:template-get-key-options|pki:template-get-id|pki:template-get-description|pki:need-certificate|pki:is-temporary|pki:insert-trusted-certificates|pki:insert-template|pki:insert-signed-certificates|pki:insert-certificate-revocation-list|pki:get-trusted-certificate-ids|pki:get-template-ids|pki:get-template-certificate-authority|pki:get-template-by-name|pki:get-template|pki:get-pending-certificate-requests-xml|pki:get-pending-certificate-requests-pem|pki:get-pending-certificate-request|pki:get-certificates-for-template-xml|pki:get-certificates-for-template|pki:get-certificates|pki:get-certificate-xml|pki:get-certificate-pem|pki:get-certificate|pki:generate-temporary-certificate-if-necessary|pki:generate-temporary-certificate|pki:generate-template-certificate-authority|pki:generate-certificate-request|pki:delete-template|pki:delete-certificate|pki:create-template|pdf:make-toc|pdf:insert-toc-headers|pdf:get-toc|pdf:clean|p:status-transition|p:state-transition|p:remove|p:pipelines|p:insert|p:get-by-id|p:get|p:execute|p:create|p:condition|p:collection|p:action|ooxml:runs-merge|ooxml:package-uris|ooxml:package-parts-insert|ooxml:package-parts|msword:clean|mcgm:polygon|mcgm:point|mcgm:geospatial-query-from-elements|mcgm:geospatial-query|mcgm:circle|math:tanh|math:tan|math:sqrt|math:sinh|math:sin|math:pow|math:modf|math:log10|math:log|math:ldexp|math:frexp|math:fmod|math:floor|math:fabs|math:exp|math:cosh|math:cos|math:ceil|math:atan2|math:atan|math:asin|math:acos|map:put|map:map|map:keys|map:get|map:delete|map:count|map:clear|lnk:to|lnk:remove|lnk:insert|lnk:get|lnk:from|lnk:create|kml:polygon|kml:point|kml:interior-polygon|kml:geospatial-query-from-elements|kml:geospatial-query|kml:circle|kml:box|gml:polygon|gml:point|gml:interior-polygon|gml:geospatial-query-from-elements|gml:geospatial-query|gml:circle|gml:box|georss:point|georss:geospatial-query|georss:circle|geo:polygon|geo:point|geo:interior-polygon|geo:geospatial-query-from-elements|geo:geospatial-query|geo:circle|geo:box|fn:zero-or-one|fn:years-from-duration|fn:year-from-dateTime|fn:year-from-date|fn:upper-case|fn:unordered|fn:true|fn:translate|fn:trace|fn:tokenize|fn:timezone-from-time|fn:timezone-from-dateTime|fn:timezone-from-date|fn:sum|fn:subtract-dateTimes-yielding-yearMonthDuration|fn:subtract-dateTimes-yielding-dayTimeDuration|fn:substring-before|fn:substring-after|fn:substring|fn:subsequence|fn:string-to-codepoints|fn:string-pad|fn:string-length|fn:string-join|fn:string|fn:static-base-uri|fn:starts-with|fn:seconds-from-time|fn:seconds-from-duration|fn:seconds-from-dateTime|fn:round-half-to-even|fn:round|fn:root|fn:reverse|fn:resolve-uri|fn:resolve-QName|fn:replace|fn:remove|fn:QName|fn:prefix-from-QName|fn:position|fn:one-or-more|fn:number|fn:not|fn:normalize-unicode|fn:normalize-space|fn:node-name|fn:node-kind|fn:nilled|fn:namespace-uri-from-QName|fn:namespace-uri-for-prefix|fn:namespace-uri|fn:name|fn:months-from-duration|fn:month-from-dateTime|fn:month-from-date|fn:minutes-from-time|fn:minutes-from-duration|fn:minutes-from-dateTime|fn:min|fn:max|fn:matches|fn:lower-case|fn:local-name-from-QName|fn:local-name|fn:last|fn:lang|fn:iri-to-uri|fn:insert-before|fn:index-of|fn:in-scope-prefixes|fn:implicit-timezone|fn:idref|fn:id|fn:hours-from-time|fn:hours-from-duration|fn:hours-from-dateTime|fn:floor|fn:false|fn:expanded-QName|fn:exists|fn:exactly-one|fn:escape-uri|fn:escape-html-uri|fn:error|fn:ends-with|fn:encode-for-uri|fn:empty|fn:document-uri|fn:doc-available|fn:doc|fn:distinct-values|fn:distinct-nodes|fn:default-collation|fn:deep-equal|fn:days-from-duration|fn:day-from-dateTime|fn:day-from-date|fn:data|fn:current-time|fn:current-dateTime|fn:current-date|fn:count|fn:contains|fn:concat|fn:compare|fn:collection|fn:codepoints-to-string|fn:codepoint-equal|fn:ceiling|fn:boolean|fn:base-uri|fn:avg|fn:adjust-time-to-timezone|fn:adjust-dateTime-to-timezone|fn:adjust-date-to-timezone|fn:abs|feed:unsubscribe|feed:subscription|feed:subscribe|feed:request|feed:item|feed:description|excel:clean|entity:enrich|dom:set-pipelines|dom:set-permissions|dom:set-name|dom:set-evaluation-context|dom:set-domain-scope|dom:set-description|dom:remove-pipeline|dom:remove-permissions|dom:remove|dom:get|dom:evaluation-context|dom:domains|dom:domain-scope|dom:create|dom:configuration-set-restart-user|dom:configuration-set-permissions|dom:configuration-set-evaluation-context|dom:configuration-set-default-domain|dom:configuration-get|dom:configuration-create|dom:collection|dom:add-pipeline|dom:add-permissions|dls:retention-rules|dls:retention-rule-remove|dls:retention-rule-insert|dls:retention-rule|dls:purge|dls:node-expand|dls:link-references|dls:link-expand|dls:documents-query|dls:document-versions-query|dls:document-version-uri|dls:document-version-query|dls:document-version-delete|dls:document-version-as-of|dls:document-version|dls:document-update|dls:document-unmanage|dls:document-set-quality|dls:document-set-property|dls:document-set-properties|dls:document-set-permissions|dls:document-set-collections|dls:document-retention-rules|dls:document-remove-properties|dls:document-remove-permissions|dls:document-remove-collections|dls:document-purge|dls:document-manage|dls:document-is-managed|dls:document-insert-and-manage|dls:document-include-query|dls:document-history|dls:document-get-permissions|dls:document-extract-part|dls:document-delete|dls:document-checkout-status|dls:document-checkout|dls:document-checkin|dls:document-add-properties|dls:document-add-permissions|dls:document-add-collections|dls:break-checkout|dls:author-query|dls:as-of-query|dbk:convert|dbg:wait|dbg:value|dbg:stopped|dbg:stop|dbg:step|dbg:status|dbg:stack|dbg:out|dbg:next|dbg:line|dbg:invoke|dbg:function|dbg:finish|dbg:expr|dbg:eval|dbg:disconnect|dbg:detach|dbg:continue|dbg:connect|dbg:clear|dbg:breakpoints|dbg:break|dbg:attached|dbg:attach|cvt:save-converted-documents|cvt:part-uri|cvt:destination-uri|cvt:basepath|cvt:basename|cts:words|cts:word-query-weight|cts:word-query-text|cts:word-query-options|cts:word-query|cts:word-match|cts:walk|cts:uris|cts:uri-match|cts:train|cts:tokenize|cts:thresholds|cts:stem|cts:similar-query-weight|cts:similar-query-nodes|cts:similar-query|cts:shortest-distance|cts:search|cts:score|cts:reverse-query-weight|cts:reverse-query-nodes|cts:reverse-query|cts:remainder|cts:registered-query-weight|cts:registered-query-options|cts:registered-query-ids|cts:registered-query|cts:register|cts:query|cts:quality|cts:properties-query-query|cts:properties-query|cts:polygon-vertices|cts:polygon|cts:point-longitude|cts:point-latitude|cts:point|cts:or-query-queries|cts:or-query|cts:not-query-weight|cts:not-query-query|cts:not-query|cts:near-query-weight|cts:near-query-queries|cts:near-query-options|cts:near-query-distance|cts:near-query|cts:highlight|cts:geospatial-co-occurrences|cts:frequency|cts:fitness|cts:field-words|cts:field-word-query-weight|cts:field-word-query-text|cts:field-word-query-options|cts:field-word-query-field-name|cts:field-word-query|cts:field-word-match|cts:entity-highlight|cts:element-words|cts:element-word-query-weight|cts:element-word-query-text|cts:element-word-query-options|cts:element-word-query-element-name|cts:element-word-query|cts:element-word-match|cts:element-values|cts:element-value-ranges|cts:element-value-query-weight|cts:element-value-query-text|cts:element-value-query-options|cts:element-value-query-element-name|cts:element-value-query|cts:element-value-match|cts:element-value-geospatial-co-occurrences|cts:element-value-co-occurrences|cts:element-range-query-weight|cts:element-range-query-value|cts:element-range-query-options|cts:element-range-query-operator|cts:element-range-query-element-name|cts:element-range-query|cts:element-query-query|cts:element-query-element-name|cts:element-query|cts:element-pair-geospatial-values|cts:element-pair-geospatial-value-match|cts:element-pair-geospatial-query-weight|cts:element-pair-geospatial-query-region|cts:element-pair-geospatial-query-options|cts:element-pair-geospatial-query-longitude-name|cts:element-pair-geospatial-query-latitude-name|cts:element-pair-geospatial-query-element-name|cts:element-pair-geospatial-query|cts:element-pair-geospatial-boxes|cts:element-geospatial-values|cts:element-geospatial-value-match|cts:element-geospatial-query-weight|cts:element-geospatial-query-region|cts:element-geospatial-query-options|cts:element-geospatial-query-element-name|cts:element-geospatial-query|cts:element-geospatial-boxes|cts:element-child-geospatial-values|cts:element-child-geospatial-value-match|cts:element-child-geospatial-query-weight|cts:element-child-geospatial-query-region|cts:element-child-geospatial-query-options|cts:element-child-geospatial-query-element-name|cts:element-child-geospatial-query-child-name|cts:element-child-geospatial-query|cts:element-child-geospatial-boxes|cts:element-attribute-words|cts:element-attribute-word-query-weight|cts:element-attribute-word-query-text|cts:element-attribute-word-query-options|cts:element-attribute-word-query-element-name|cts:element-attribute-word-query-attribute-name|cts:element-attribute-word-query|cts:element-attribute-word-match|cts:element-attribute-values|cts:element-attribute-value-ranges|cts:element-attribute-value-query-weight|cts:element-attribute-value-query-text|cts:element-attribute-value-query-options|cts:element-attribute-value-query-element-name|cts:element-attribute-value-query-attribute-name|cts:element-attribute-value-query|cts:element-attribute-value-match|cts:element-attribute-value-geospatial-co-occurrences|cts:element-attribute-value-co-occurrences|cts:element-attribute-range-query-weight|cts:element-attribute-range-query-value|cts:element-attribute-range-query-options|cts:element-attribute-range-query-operator|cts:element-attribute-range-query-element-name|cts:element-attribute-range-query-attribute-name|cts:element-attribute-range-query|cts:element-attribute-pair-geospatial-values|cts:element-attribute-pair-geospatial-value-match|cts:element-attribute-pair-geospatial-query-weight|cts:element-attribute-pair-geospatial-query-region|cts:element-attribute-pair-geospatial-query-options|cts:element-attribute-pair-geospatial-query-longitude-name|cts:element-attribute-pair-geospatial-query-latitude-name|cts:element-attribute-pair-geospatial-query-element-name|cts:element-attribute-pair-geospatial-query|cts:element-attribute-pair-geospatial-boxes|cts:document-query-uris|cts:document-query|cts:distance|cts:directory-query-uris|cts:directory-query-depth|cts:directory-query|cts:destination|cts:deregister|cts:contains|cts:confidence|cts:collections|cts:collection-query-uris|cts:collection-query|cts:collection-match|cts:classify|cts:circle-radius|cts:circle-center|cts:circle|cts:box-west|cts:box-south|cts:box-north|cts:box-east|cts:box|cts:bearing|cts:arc-intersection|cts:and-query-queries|cts:and-query-options|cts:and-query|cts:and-not-query-positive-query|cts:and-not-query-negative-query|cts:and-not-query|css:get|css:convert|cpf:success|cpf:failure|cpf:document-set-state|cpf:document-set-processing-status|cpf:document-set-last-updated|cpf:document-set-error|cpf:document-get-state|cpf:document-get-processing-status|cpf:document-get-last-updated|cpf:document-get-error|cpf:check-transition|alert:spawn-matching-actions|alert:rule-user-id-query|alert:rule-set-user-id|alert:rule-set-query|alert:rule-set-options|alert:rule-set-name|alert:rule-set-description|alert:rule-set-action|alert:rule-remove|alert:rule-name-query|alert:rule-insert|alert:rule-id-query|alert:rule-get-user-id|alert:rule-get-query|alert:rule-get-options|alert:rule-get-name|alert:rule-get-id|alert:rule-get-description|alert:rule-get-action|alert:rule-action-query|alert:remove-triggers|alert:make-rule|alert:make-log-action|alert:make-config|alert:make-action|alert:invoke-matching-actions|alert:get-my-rules|alert:get-all-rules|alert:get-actions|alert:find-matching-rules|alert:create-triggers|alert:config-set-uri|alert:config-set-trigger-ids|alert:config-set-options|alert:config-set-name|alert:config-set-description|alert:config-set-cpf-domain-names|alert:config-set-cpf-domain-ids|alert:config-insert|alert:config-get-uri|alert:config-get-trigger-ids|alert:config-get-options|alert:config-get-name|alert:config-get-id|alert:config-get-description|alert:config-get-cpf-domain-names|alert:config-get-cpf-domain-ids|alert:config-get|alert:config-delete|alert:action-set-options|alert:action-set-name|alert:action-set-module-root|alert:action-set-module-db|alert:action-set-module|alert:action-set-description|alert:action-remove|alert:action-insert|alert:action-get-options|alert:action-get-name|alert:action-get-module-root|alert:action-get-module-db|alert:action-get-module|alert:action-get-description|zero-or-one|years-from-duration|year-from-dateTime|year-from-date|upper-case|unordered|true|translate|trace|tokenize|timezone-from-time|timezone-from-dateTime|timezone-from-date|sum|subtract-dateTimes-yielding-yearMonthDuration|subtract-dateTimes-yielding-dayTimeDuration|substring-before|substring-after|substring|subsequence|string-to-codepoints|string-pad|string-length|string-join|string|static-base-uri|starts-with|seconds-from-time|seconds-from-duration|seconds-from-dateTime|round-half-to-even|round|root|reverse|resolve-uri|resolve-QName|replace|remove|QName|prefix-from-QName|position|one-or-more|number|not|normalize-unicode|normalize-space|node-name|node-kind|nilled|namespace-uri-from-QName|namespace-uri-for-prefix|namespace-uri|name|months-from-duration|month-from-dateTime|month-from-date|minutes-from-time|minutes-from-duration|minutes-from-dateTime|min|max|matches|lower-case|local-name-from-QName|local-name|last|lang|iri-to-uri|insert-before|index-of|in-scope-prefixes|implicit-timezone|idref|id|hours-from-time|hours-from-duration|hours-from-dateTime|floor|false|expanded-QName|exists|exactly-one|escape-uri|escape-html-uri|error|ends-with|encode-for-uri|empty|document-uri|doc-available|doc|distinct-values|distinct-nodes|default-collation|deep-equal|days-from-duration|day-from-dateTime|day-from-date|data|current-time|current-dateTime|current-date|count|contains|concat|compare|collection|codepoints-to-string|codepoint-equal|ceiling|boolean|base-uri|avg|adjust-time-to-timezone|adjust-dateTime-to-timezone|adjust-date-to-timezone|abs)\b/], -["pln",/^[\w:-]+/],["pln",/^[\t\n\r \xa0]+/]]),["xq","xquery"]); diff --git a/modules/lib/google-code-prettify/lang-yaml.js b/modules/lib/google-code-prettify/lang-yaml.js deleted file mode 100644 index c38729b..0000000 --- a/modules/lib/google-code-prettify/lang-yaml.js +++ /dev/null @@ -1,2 +0,0 @@ -var a=null; -PR.registerLangHandler(PR.createSimpleLexer([["pun",/^[:>?|]+/,a,":|>?"],["dec",/^%(?:YAML|TAG)[^\n\r#]+/,a,"%"],["typ",/^&\S+/,a,"&"],["typ",/^!\S*/,a,"!"],["str",/^"(?:[^"\\]|\\.)*(?:"|$)/,a,'"'],["str",/^'(?:[^']|'')*(?:'|$)/,a,"'"],["com",/^#[^\n\r]*/,a,"#"],["pln",/^\s+/,a," \t\r\n"]],[["dec",/^(?:---|\.\.\.)(?:[\n\r]|$)/],["pun",/^-/],["kwd",/^\w+:[\n\r ]/],["pln",/^\w+/]]),["yaml","yml"]); diff --git a/modules/lib/google-code-prettify/prettify.css b/modules/lib/google-code-prettify/prettify.css deleted file mode 100644 index aedd8d1..0000000 --- a/modules/lib/google-code-prettify/prettify.css +++ /dev/null @@ -1,30 +0,0 @@ -.com { color: #93a1a1; } -.lit { color: #195f91; } -.pun, .opn, .clo { color: #93a1a1; } -.fun { color: #dc322f; } -.str, .atv { color: #D14; } -.kwd, .linenums .tag { color: #1e347b; } -.typ, .atn, .dec, .var { color: teal; } -.pln { color: #48484c; } - -.prettyprint { - padding: 8px; - background-color: #f7f7f9; - border: 1px solid #e1e1e8; -} -.prettyprint.linenums { - -webkit-box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0; - -moz-box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0; - box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0; -} - -/* Specify class=linenums on a pre to get line numbering */ -ol.linenums { - margin: 0 0 0 33px; /* IE indents via margin-left */ -} -ol.linenums li { - padding-left: 12px; - color: #bebec5; - line-height: 18px; - text-shadow: 0 1px 0 #fff; -} \ No newline at end of file diff --git a/modules/lib/google-code-prettify/prettify.min.js b/modules/lib/google-code-prettify/prettify.min.js deleted file mode 100644 index eef5ad7..0000000 --- a/modules/lib/google-code-prettify/prettify.min.js +++ /dev/null @@ -1,28 +0,0 @@ -var q=null;window.PR_SHOULD_USE_CONTINUATION=!0; -(function(){function L(a){function m(a){var f=a.charCodeAt(0);if(f!==92)return f;var b=a.charAt(1);return(f=r[b])?f:"0"<=b&&b<="7"?parseInt(a.substring(1),8):b==="u"||b==="x"?parseInt(a.substring(2),16):a.charCodeAt(1)}function e(a){if(a<32)return(a<16?"\\x0":"\\x")+a.toString(16);a=String.fromCharCode(a);if(a==="\\"||a==="-"||a==="["||a==="]")a="\\"+a;return a}function h(a){for(var f=a.substring(1,a.length-1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g),a= -[],b=[],o=f[0]==="^",c=o?1:0,i=f.length;c122||(d<65||j>90||b.push([Math.max(65,j)|32,Math.min(d,90)|32]),d<97||j>122||b.push([Math.max(97,j)&-33,Math.min(d,122)&-33]))}}b.sort(function(a,f){return a[0]-f[0]||f[1]-a[1]});f=[];j=[NaN,NaN];for(c=0;ci[0]&&(i[1]+1>i[0]&&b.push("-"),b.push(e(i[1])));b.push("]");return b.join("")}function y(a){for(var f=a.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),b=f.length,d=[],c=0,i=0;c=2&&a==="["?f[c]=h(j):a!=="\\"&&(f[c]=j.replace(/[A-Za-z]/g,function(a){a=a.charCodeAt(0);return"["+String.fromCharCode(a&-33,a|32)+"]"}));return f.join("")}for(var t=0,s=!1,l=!1,p=0,d=a.length;p=5&&"lang-"===b.substring(0,5))&&!(o&&typeof o[1]==="string"))c=!1,b="src";c||(r[f]=b)}i=d;d+=f.length;if(c){c=o[1];var j=f.indexOf(c),k=j+c.length;o[2]&&(k=f.length-o[2].length,j=k-c.length);b=b.substring(5);B(l+i,f.substring(0,j),e,p);B(l+i+j,c,C(b,c),p);B(l+i+k,f.substring(k),e,p)}else p.push(l+i,b)}a.e=p}var h={},y;(function(){for(var e=a.concat(m), -l=[],p={},d=0,g=e.length;d=0;)h[n.charAt(k)]=r;r=r[1];n=""+r;p.hasOwnProperty(n)||(l.push(r),p[n]=q)}l.push(/[\S\s]/);y=L(l)})();var t=m.length;return e}function u(a){var m=[],e=[];a.tripleQuotedStrings?m.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,q,"'\""]):a.multiLineStrings?m.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/, -q,"'\"`"]):m.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,q,"\"'"]);a.verbatimStrings&&e.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,q]);var h=a.hashComments;h&&(a.cStyleComments?(h>1?m.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,q,"#"]):m.push(["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/,q,"#"]),e.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,q])):m.push(["com",/^#[^\n\r]*/, -q,"#"]));a.cStyleComments&&(e.push(["com",/^\/\/[^\n\r]*/,q]),e.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,q]));a.regexLiterals&&e.push(["lang-regex",/^(?:^^\.?|[!+-]|!=|!==|#|%|%=|&|&&|&&=|&=|\(|\*|\*=|\+=|,|-=|->|\/|\/=|:|::|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|[?@[^]|\^=|\^\^|\^\^=|{|\||\|=|\|\||\|\|=|~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\s*(\/(?=[^*/])(?:[^/[\\]|\\[\S\s]|\[(?:[^\\\]]|\\[\S\s])*(?:]|$))+\/)/]);(h=a.types)&&e.push(["typ",h]);a=(""+a.keywords).replace(/^ | $/g, -"");a.length&&e.push(["kwd",RegExp("^(?:"+a.replace(/[\s,]+/g,"|")+")\\b"),q]);m.push(["pln",/^\s+/,q," \r\n\t\xa0"]);e.push(["lit",/^@[$_a-z][\w$@]*/i,q],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,q],["pln",/^[$_a-z][\w$@]*/i,q],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,q,"0123456789"],["pln",/^\\[\S\s]?/,q],["pun",/^.[^\s\w"-$'./@\\`]*/,q]);return x(m,e)}function D(a,m){function e(a){switch(a.nodeType){case 1:if(k.test(a.className))break;if("BR"===a.nodeName)h(a), -a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)e(a);break;case 3:case 4:if(p){var b=a.nodeValue,d=b.match(t);if(d){var c=b.substring(0,d.index);a.nodeValue=c;(b=b.substring(d.index+d[0].length))&&a.parentNode.insertBefore(s.createTextNode(b),a.nextSibling);h(a);c||a.parentNode.removeChild(a)}}}}function h(a){function b(a,d){var e=d?a.cloneNode(!1):a,f=a.parentNode;if(f){var f=b(f,1),g=a.nextSibling;f.appendChild(e);for(var h=g;h;h=g)g=h.nextSibling,f.appendChild(h)}return e} -for(;!a.nextSibling;)if(a=a.parentNode,!a)return;for(var a=b(a.nextSibling,0),e;(e=a.parentNode)&&e.nodeType===1;)a=e;d.push(a)}var k=/(?:^|\s)nocode(?:\s|$)/,t=/\r\n?|\n/,s=a.ownerDocument,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=s.defaultView.getComputedStyle(a,q).getPropertyValue("white-space"));var p=l&&"pre"===l.substring(0,3);for(l=s.createElement("LI");a.firstChild;)l.appendChild(a.firstChild);for(var d=[l],g=0;g=0;){var h=m[e];A.hasOwnProperty(h)?window.console&&console.warn("cannot override language handler %s",h):A[h]=a}}function C(a,m){if(!a||!A.hasOwnProperty(a))a=/^\s*=o&&(h+=2);e>=c&&(a+=2)}}catch(w){"console"in window&&console.log(w&&w.stack?w.stack:w)}}var v=["break,continue,do,else,for,if,return,while"],w=[[v,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"], -"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],F=[w,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],G=[w,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"], -H=[G,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"],w=[w,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],I=[v,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"], -J=[v,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],v=[v,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],K=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/,N=/\S/,O=u({keywords:[F,H,w,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END"+ -I,J,v],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),A={};k(O,["default-code"]);k(x([],[["pln",/^[^]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\S\s]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\S\s]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]), -["default-markup","htm","html","mxml","xhtml","xml","xsl"]);k(x([["pln",/^\s+/,q," \t\r\n"],["atv",/^(?:"[^"]*"?|'[^']*'?)/,q,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/],["pun",/^[/<->]+/],["lang-js",/^on\w+\s*=\s*"([^"]+)"/i],["lang-js",/^on\w+\s*=\s*'([^']+)'/i],["lang-js",/^on\w+\s*=\s*([^\s"'>]+)/i],["lang-css",/^style\s*=\s*"([^"]+)"/i],["lang-css",/^style\s*=\s*'([^']+)'/i],["lang-css", -/^style\s*=\s*([^\s"'>]+)/i]]),["in.tag"]);k(x([],[["atv",/^[\S\s]+/]]),["uq.val"]);k(u({keywords:F,hashComments:!0,cStyleComments:!0,types:K}),["c","cc","cpp","cxx","cyc","m"]);k(u({keywords:"null,true,false"}),["json"]);k(u({keywords:H,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:K}),["cs"]);k(u({keywords:G,cStyleComments:!0}),["java"]);k(u({keywords:v,hashComments:!0,multiLineStrings:!0}),["bsh","csh","sh"]);k(u({keywords:I,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}), -["cv","py"]);k(u({keywords:"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["perl","pl","pm"]);k(u({keywords:J,hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb"]);k(u({keywords:w,cStyleComments:!0,regexLiterals:!0}),["js"]);k(u({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes", -hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]);k(x([],[["str",/^[\S\s]+/]]),["regex"]);window.prettyPrintOne=function(a,m,e){var h=document.createElement("PRE");h.innerHTML=a;e&&D(h,e);E({g:m,i:e,h:h});return h.innerHTML};window.prettyPrint=function(a){function m(){for(var e=window.PR_SHOULD_USE_CONTINUATION?l.now()+250:Infinity;p=0){var k=k.match(g),f,b;if(b= -!k){b=n;for(var o=void 0,c=b.firstChild;c;c=c.nextSibling)var i=c.nodeType,o=i===1?o?b:c:i===3?N.test(c.nodeValue)?b:o:o;b=(f=o===b?void 0:o)&&"CODE"===f.tagName}b&&(k=f.className.match(g));k&&(k=k[1]);b=!1;for(o=n.parentNode;o;o=o.parentNode)if((o.tagName==="pre"||o.tagName==="code"||o.tagName==="xmp")&&o.className&&o.className.indexOf("prettyprint")>=0){b=!0;break}b||((b=(b=n.className.match(/\blinenums\b(?::(\d+))?/))?b[1]&&b[1].length?+b[1]:!0:!1)&&D(n,b),d={g:k,h:n,i:b},E(d))}}p -``` -or - -```html - -``` - -Any element on your page which needs to have a tooltip has to be given at least one of the position classes: `hint--top`, `hint--bottom`, `hint--left`, `hint--right` to position the tooltip. - -```html -Hello Sir, hover me. -``` - -The tooltip text needs to be given using the `data-hint` attribute on that element. - -```html -Hello Sir, hover me. -``` - -[ **Note**: The `hint` class is no more required and is deprecated. Tooltip is shown on elements which have the `data-hint` attribute instead.] - -Use it with other available modifiers in various combinations. Available modifiers: -- `hint--error` -- `hint--info` -- `hint--warning` -- `hint--success` -- `hint--always` -- `hint--rounded` - -Check out some examples at http://kushagragour.in/lab/hint/ - - -## Contributing -`hint.css` is developed in SASS and the source files can be found in the `src/` directory. - -If you would like to create more types of tooltips/ fix bugs/ enhance the library etc. you are more than welcome to submit your pull requests. - -[Read more on contributing](./CONTRIBUTING.md). - -## Changelog -See the [Changelog](https://github.com/chinchang/hint.css/wiki/Changelog) - -To catch all updates and discussion, join the mailing list: **hintcss@googlegroups.com**. - -To subscribe: **hintcss+subscribe@googlegroups.com** or visit [here](https://groups.google.com/forum/?fromgroups=#!forum/hintcss). - -## License -Copyright (c) 2013 Kushagra Gour -Licensed under the MIT license. - -## Credits -This doesn't make use of a lot of BEM methodology but big thanks to [@csswizardry](https://twitter.com/csswizardry), [@necolas](https://twitter.com/necolas) for their awesome articles on BEM and to [@joshnh](https://twitter.com/_joshnh) through whose work I came to know about it :) \ No newline at end of file diff --git a/modules/lib/hint_css/demo.html b/modules/lib/hint_css/demo.html deleted file mode 100644 index b6d0415..0000000 --- a/modules/lib/hint_css/demo.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - Demo | hint.css - - - - - - - - -

            HINT.css

            -

            A tooltip library in CSS

            - - -

            - Look, there is something over me. -

            - -

            - I am always right! -

            - -

            - How about a bottoms up? -

            - -

            - What do we get now?

            - - -

            -

            - -

            - Oh man! You are gonna self-destruct in 5 sec. -

            - -

            - You did something wrong! -

            - -

            - You can use different classes for different types of tooltips. -

            - -

            - Hurray! You have seen all 4 context types. -

            - -

            Extra

            - -

            - You can also make tooltips... -

            - -

            - Hmm...So you don't like sharp edges? -

            - - - diff --git a/modules/lib/hint_css/grunt.js b/modules/lib/hint_css/grunt.js deleted file mode 100644 index 22116a8..0000000 --- a/modules/lib/hint_css/grunt.js +++ /dev/null @@ -1,57 +0,0 @@ -/*global module:false*/ -module.exports = function(grunt) { - - // Project configuration. - grunt.initConfig({ - pkg: '', - meta: { - banner: '/*! <%= pkg.title || pkg.name %> - v<%= pkg.version %> - ' + - '<%= grunt.template.today("yyyy-mm-dd") %>\n' + - '<%= pkg.homepage ? "* " + pkg.homepage + "\n" : "" %>' + - '* Copyright (c) <%= grunt.template.today("yyyy") %> <%= pkg.author.name %>;' + - ' Licensed <%= _.pluck(pkg.licenses, "type").join(", ") %> */' - }, - - sass: { - dist: { - files: { - '<%= pkg.name %>.css': 'src/<%= pkg.name %>.scss' - } - } - }, - - mincss: { - compress: { - files: { - '<%= pkg.name %>.min.css': [ '<%= pkg.name %>.css' ] - } - } - }, - - // concat banner to final lib files - concat: { - lib: { - src: ['', 'hint.css'], - dest: 'hint.css' - }, - minlib: { - src: ['', 'hint.min.css'], - dest: 'hint.min.css' - } - }, - - watch: { - files: 'src/*.scss', - tasks: 'default' - } - }); - - // Dependencies - grunt.loadNpmTasks('grunt-sass'); - grunt.loadNpmTasks('grunt-contrib-mincss'); - - // Default task. - grunt.registerTask('default', 'sass'); - grunt.registerTask('deploy', 'sass mincss concat'); - -}; diff --git a/modules/lib/hint_css/hint.css b/modules/lib/hint_css/hint.css deleted file mode 100644 index f21ae55..0000000 --- a/modules/lib/hint_css/hint.css +++ /dev/null @@ -1,262 +0,0 @@ -/*! Hint.css - v1.2.0 - 2013-03-04 -* http://kushagragour.in/lab/hint/ -* Copyright (c) 2013 Kushagra Gour; Licensed MIT */ - -/*-------------------------------------*\ - HINT.css - A CSS tooltip library -\*-------------------------------------*/ -/** - * HINT.css is a tooltip library made in pure CSS. - * - * Source: https://github.com/chinchang/hint.css - * Demo: http://kushagragour.in/labs/hint/ - * - * Release under The MIT License - * - */ -/** - * source: hint-core.scss - * - * Defines the basic styling for the tooltip. - * Each tooltip is made of 2 parts: - * 1) body (:after) - * 2) arrow (:before) - * - * Classes added: - * 1) hint - */ -.hint, [data-hint] { - position: relative; - display: inline-block; - /** - * tooltip arrow - */ - /** - * tooltip body - */ } - .hint:before, .hint:after, [data-hint]:before, [data-hint]:after { - position: absolute; - opacity: 0; - z-index: 1000000; - pointer-events: none; - -webkit-transition: 0.3s ease; - -moz-transition: 0.3s ease; - transition: 0.3s ease; } - .hint:hover:before, .hint:hover:after, [data-hint]:hover:before, [data-hint]:hover:after { - opacity: 1; } - .hint:before, [data-hint]:before { - content: ''; - position: absolute; - background: transparent; - border: 6px solid transparent; - z-index: 1000001; } - .hint:after, [data-hint]:after { - content: attr(data-hint); - background: #383838; - color: white; - text-shadow: 0 -1px 0px black; - padding: 8px 10px; - font-size: 12px; - line-height: 12px; - white-space: nowrap; - box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.3); } - -/** - * source: hint-position.scss - * - * Defines the positoning logic for the tooltips. - * - * Classes added: - * 1) hint--top - * 2) hint--bottom - * 3) hint--left - * 4) hint--right - */ -/** - * set default color for tooltip arrows - */ -.hint--top:before { - border-top-color: #383838; } - -.hint--bottom:before { - border-bottom-color: #383838; } - -.hint--left:before { - border-left-color: #383838; } - -.hint--right:before { - border-right-color: #383838; } - -/** - * top tooltip - */ -.hint--top:before { - margin-bottom: -12px; } -.hint--top:after { - margin-left: -18px; } -.hint--top:before, .hint--top:after { - bottom: 100%; - left: 50%; } -.hint--top:hover:before, .hint--top:hover:after { - -webkit-transform: translateY(-8px); - -moz-transform: translateY(-8px); - transform: translateY(-8px); } - -/** - * bottom tooltip - */ -.hint--bottom:before { - margin-top: -12px; } -.hint--bottom:after { - margin-left: -18px; } -.hint--bottom:before, .hint--bottom:after { - top: 100%; - left: 50%; } -.hint--bottom:hover:before, .hint--bottom:hover:after { - -webkit-transform: translateY(8px); - -moz-transform: translateY(8px); - transform: translateY(8px); } - -/** - * right tooltip - */ -.hint--right:before { - margin-left: -12px; - margin-bottom: -6px; } -.hint--right:after { - margin-bottom: -14px; } -.hint--right:before, .hint--right:after { - left: 100%; - bottom: 50%; } -.hint--right:hover:before, .hint--right:hover:after { - -webkit-transform: translateX(8px); - -moz-transform: translateX(8px); - transform: translateX(8px); } - -/** - * left tooltip - */ -.hint--left:before { - margin-right: -12px; - margin-bottom: -6px; } -.hint--left:after { - margin-bottom: -14px; } -.hint--left:before, .hint--left:after { - right: 100%; - bottom: 50%; } -.hint--left:hover:before, .hint--left:hover:after { - -webkit-transform: translateX(-8px); - -moz-transform: translateX(-8px); - transform: translateX(-8px); } - -/** - * source: hint-color-types.scss - * - * Contains tooltips of various types based on color differences. - * - * Classes added: - * 1) hint--error - * 2) hint--warning - * 3) hint--info - * 4) hint--success - * - */ -/** - * Error - */ -.hint--error:after { - background-color: #b34e4d; - text-shadow: 0 -1px 0px #5a2626; } -.hint--error.hint--top:before { - border-top-color: #b34e4d; } -.hint--error.hint--bottom:before { - border-bottom-color: #b34e4d; } -.hint--error.hint--left:before { - border-left-color: #b34e4d; } -.hint--error.hint--right:before { - border-right-color: #b34e4d; } - -/** - * Warning - */ -.hint--warning:after { - background-color: #c09854; - text-shadow: 0 -1px 0px #6d5228; } -.hint--warning.hint--top:before { - border-top-color: #c09854; } -.hint--warning.hint--bottom:before { - border-bottom-color: #c09854; } -.hint--warning.hint--left:before { - border-left-color: #c09854; } -.hint--warning.hint--right:before { - border-right-color: #c09854; } - -/** - * Info - */ -.hint--info:after { - background-color: #3986ac; - text-shadow: 0 -1px 0px #193c4c; } -.hint--info.hint--top:before { - border-top-color: #3986ac; } -.hint--info.hint--bottom:before { - border-bottom-color: #3986ac; } -.hint--info.hint--left:before { - border-left-color: #3986ac; } -.hint--info.hint--right:before { - border-right-color: #3986ac; } - -/** - * Success - */ -.hint--success:after { - background-color: #458746; - text-shadow: 0 -1px 0px #1a331a; } -.hint--success.hint--top:before { - border-top-color: #458746; } -.hint--success.hint--bottom:before { - border-bottom-color: #458746; } -.hint--success.hint--left:before { - border-left-color: #458746; } -.hint--success.hint--right:before { - border-right-color: #458746; } - -/** - * source: hint-always.scss - * - * Defines a persisted tooltip which shows always. - * - * Classes added: - * 1) hint--always - * - */ -.hint--always:after, .hint--always:before { - opacity: 1; } -.hint--always.hint--top:after, .hint--always.hint--top:before { - -webkit-transform: translateY(-8px); - -moz-transform: translateY(-8px); - transform: translateY(-8px); } -.hint--always.hint--bottom:after, .hint--always.hint--bottom:before { - -webkit-transform: translateY(8px); - -moz-transform: translateY(8px); - transform: translateY(8px); } -.hint--always.hint--left:after, .hint--always.hint--left:before { - -webkit-transform: translateX(-8px); - -moz-transform: translateX(-8px); - transform: translateX(-8px); } -.hint--always.hint--right:after, .hint--always.hint--right:before { - -webkit-transform: translateX(8px); - -moz-transform: translateX(8px); - transform: translateX(8px); } - -/** - * source: hint-rounded.scss - * - * Defines rounded corner tooltips. - * - * Classes added: - * 1) hint--rounded - * - */ -.hint--rounded:after { - border-radius: 4px; } diff --git a/modules/lib/hint_css/hint.min.css b/modules/lib/hint_css/hint.min.css deleted file mode 100644 index 5f37530..0000000 --- a/modules/lib/hint_css/hint.min.css +++ /dev/null @@ -1,5 +0,0 @@ -/*! Hint.css - v1.2.0 - 2013-03-04 -* http://kushagragour.in/lab/hint/ -* Copyright (c) 2013 Kushagra Gour; Licensed MIT */ - -.hint,[data-hint]{position:relative;display:inline-block}.hint:before,.hint:after,[data-hint]:before,[data-hint]:after{position:absolute;opacity:0;z-index:1000000;pointer-events:none;-webkit-transition:.3s ease;-moz-transition:.3s ease;transition:.3s ease}.hint:hover:before,.hint:hover:after,[data-hint]:hover:before,[data-hint]:hover:after{opacity:1}.hint:before,[data-hint]:before{content:'';position:absolute;background:transparent;border:6px solid transparent;z-index:1000001}.hint:after,[data-hint]:after{content:attr(data-hint);background:#383838;color:#fff;text-shadow:0 -1px 0 black;padding:8px 10px;font-size:12px;line-height:12px;white-space:nowrap;box-shadow:4px 4px 8px rgba(0,0,0,.3)}.hint--top:before{border-top-color:#383838}.hint--bottom:before{border-bottom-color:#383838}.hint--left:before{border-left-color:#383838}.hint--right:before{border-right-color:#383838}.hint--top:before{margin-bottom:-12px}.hint--top:after{margin-left:-18px}.hint--top:before,.hint--top:after{bottom:100%;left:50%}.hint--top:hover:before,.hint--top:hover:after{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}.hint--bottom:before{margin-top:-12px}.hint--bottom:after{margin-left:-18px}.hint--bottom:before,.hint--bottom:after{top:100%;left:50%}.hint--bottom:hover:before,.hint--bottom:hover:after{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}.hint--right:before{margin-left:-12px;margin-bottom:-6px}.hint--right:after{margin-bottom:-14px}.hint--right:before,.hint--right:after{left:100%;bottom:50%}.hint--right:hover:before,.hint--right:hover:after{-webkit-transform:translateX(8px);-moz-transform:translateX(8px);transform:translateX(8px)}.hint--left:before{margin-right:-12px;margin-bottom:-6px}.hint--left:after{margin-bottom:-14px}.hint--left:before,.hint--left:after{right:100%;bottom:50%}.hint--left:hover:before,.hint--left:hover:after{-webkit-transform:translateX(-8px);-moz-transform:translateX(-8px);transform:translateX(-8px)}.hint--error:after{background-color:#b34e4d;text-shadow:0 -1px 0 #5a2626}.hint--error.hint--top:before{border-top-color:#b34e4d}.hint--error.hint--bottom:before{border-bottom-color:#b34e4d}.hint--error.hint--left:before{border-left-color:#b34e4d}.hint--error.hint--right:before{border-right-color:#b34e4d}.hint--warning:after{background-color:#c09854;text-shadow:0 -1px 0 #6d5228}.hint--warning.hint--top:before{border-top-color:#c09854}.hint--warning.hint--bottom:before{border-bottom-color:#c09854}.hint--warning.hint--left:before{border-left-color:#c09854}.hint--warning.hint--right:before{border-right-color:#c09854}.hint--info:after{background-color:#3986ac;text-shadow:0 -1px 0 #193c4c}.hint--info.hint--top:before{border-top-color:#3986ac}.hint--info.hint--bottom:before{border-bottom-color:#3986ac}.hint--info.hint--left:before{border-left-color:#3986ac}.hint--info.hint--right:before{border-right-color:#3986ac}.hint--success:after{background-color:#458746;text-shadow:0 -1px 0 #1a331a}.hint--success.hint--top:before{border-top-color:#458746}.hint--success.hint--bottom:before{border-bottom-color:#458746}.hint--success.hint--left:before{border-left-color:#458746}.hint--success.hint--right:before{border-right-color:#458746}.hint--always:after,.hint--always:before{opacity:1}.hint--always.hint--top:after,.hint--always.hint--top:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}.hint--always.hint--bottom:after,.hint--always.hint--bottom:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}.hint--always.hint--left:after,.hint--always.hint--left:before{-webkit-transform:translateX(-8px);-moz-transform:translateX(-8px);transform:translateX(-8px)}.hint--always.hint--right:after,.hint--always.hint--right:before{-webkit-transform:translateX(8px);-moz-transform:translateX(8px);transform:translateX(8px)}.hint--rounded:after{border-radius:4px} \ No newline at end of file diff --git a/modules/lib/hint_css/package.json b/modules/lib/hint_css/package.json deleted file mode 100644 index 898fde5..0000000 --- a/modules/lib/hint_css/package.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "name": "hint", - "title": "Hint.css", - "description": "A tooltip library in CSS for your lovely websites.", - "version": "1.2.0", - "homepage": "http://kushagragour.in/lab/hint/", - "author": { - "name": "Kushagra Gour", - "email": "chinchang457@gmail.com", - "url": "http://kushagragour.in" - }, - "repository": { - "type": "git", - "url": "git://github.com/chinchang/hint.css.git" - }, - "bugs": { - "url": "https://github.com/chinchang/hint.css/issues" - }, - "licenses": [ - { - "type": "MIT", - "url": "https://github.com/chinchang/hint.css/blob/master/LICENSE-MIT" - } - ], - "keywords": [], - "devDependencies": { - "grunt-sass": "~@0.2.5", - "grunt-contrib-mincss": "~0.3.2", - "grunt": "~0.4.0" - } -} diff --git a/modules/lib/jBreadcrumbs/jBreadCrumb.html b/modules/lib/jBreadcrumbs/jBreadCrumb.html deleted file mode 100644 index 30820dc..0000000 --- a/modules/lib/jBreadcrumbs/jBreadCrumb.html +++ /dev/null @@ -1,210 +0,0 @@ - - - - - CompareNetworks jQuery'd Bread Crumb - jBreadCrumb - - - - - - - - -
            -

            CompareNetworks jQuery'd Bread Crumb - jBreadCrumb

            - - - - - -
            -
            - -
            -
            -

            Update - jBreadCrumb 1.1

            - With a little help from jquery user "mikejbond", the chevron overlay div no longer needs to be part of the HTML, it is inserted dynamically. You may still want include it if you want to cache image on page load. Also, the easing plugn is no longer required, the animation will default to "swing" easing. I still recommend "easeOutQuad" for the best looking animation, but it's not necessary.

            Explanation

            -

            - This collapsible breadcrumb was developed to deal with deeply nested, verbosely named pages. Rather than limit the amount of elements shown on the sever side, we decided to go with a client side solution for usability and SEO reasons. It also turned out nice to look at and fun to play with. -

            -

            - It is smart in the sense that it collapses based upon the amount and length of the elements in the set. The breadcrumb uses a semitransparent .png overlay to achieve the gradient effect seen on the elements. Visually, it helps to show a "peek" at what is underneath. -

            -

            - Oh, and it's compatible with ie 6, ie 7 and all standards compliant browsers. -

            -

            - To use the plugin, it's as simple as the code below. -

            -
            jQuery(document).ready(function()
            -{
            -	jQuery("#breadCrumb").jBreadCrumb();
            -})
            -

            - The only additional jQuery plugin required is the easing plugin - written by GSGD. The plugin uses Robert Penner's wonderful easing equations that anyone from a flash background is familiar with, I love 'easeOutQuad', it makes things so smooooth. -

            -

            - If you don't want to use the plugin, set the options to use the normal "swing" (esentially "easeInOut") or "linear" easing provided by jQuery. The easing equations will no longer be necessary. -

            -
            jQuery(document).ready(function()
            -{
            -	jQuery("#breadCrumb").jBreadCrumb({easing:'swing'});
            -})
            -
            -

            - Or, set it globally -

            -
            -jQuery.fn.jBreadCrumb.defaults.easing = 'linear';
            -
            -

            - There are a lot of options in there, you can adjust many of the features pretty easily through the options. Have fun with it. -

            -

            - Written by Jason Roy for CompareNetworks Inc. -

            -
            -

            - Copyright (c) 2008 CompareNetworks Inc. -

            -

            - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: -

            -

            - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. -

            -

            - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. -

            -
            -
            - -
            -
            - - diff --git a/modules/lib/jquery-ui/jquery-ui-1.10.0.custom.min.js b/modules/lib/jquery-ui/jquery-ui-1.10.0.custom.min.js deleted file mode 100644 index a74cb12..0000000 --- a/modules/lib/jquery-ui/jquery-ui-1.10.0.custom.min.js +++ /dev/null @@ -1,6 +0,0 @@ -/*! jQuery UI - v1.10.0 - 2013-02-02 -* http://jqueryui.com -* Includes: jquery.ui.core.js, jquery.ui.widget.js, jquery.ui.mouse.js, jquery.ui.position.js, jquery.ui.draggable.js, jquery.ui.droppable.js, jquery.ui.resizable.js, jquery.ui.selectable.js, jquery.ui.sortable.js, jquery.ui.accordion.js, jquery.ui.autocomplete.js, jquery.ui.button.js, jquery.ui.datepicker.js, jquery.ui.dialog.js, jquery.ui.menu.js, jquery.ui.progressbar.js, jquery.ui.slider.js, jquery.ui.spinner.js, jquery.ui.tabs.js, jquery.ui.tooltip.js, jquery.ui.effect.js, jquery.ui.effect-blind.js, jquery.ui.effect-bounce.js, jquery.ui.effect-clip.js, jquery.ui.effect-drop.js, jquery.ui.effect-explode.js, jquery.ui.effect-fade.js, jquery.ui.effect-fold.js, jquery.ui.effect-highlight.js, jquery.ui.effect-pulsate.js, jquery.ui.effect-scale.js, jquery.ui.effect-shake.js, jquery.ui.effect-slide.js, jquery.ui.effect-transfer.js -* Copyright (c) 2013 jQuery Foundation and other contributors Licensed MIT */ - -(function(e,t){function i(t,n){var r,i,o,u=t.nodeName.toLowerCase();return"area"===u?(r=t.parentNode,i=r.name,!t.href||!i||r.nodeName.toLowerCase()!=="map"?!1:(o=e("img[usemap=#"+i+"]")[0],!!o&&s(o))):(/input|select|textarea|button|object/.test(u)?!t.disabled:"a"===u?t.href||n:n)&&s(t)}function s(t){return e.expr.filters.visible(t)&&!e(t).parents().addBack().filter(function(){return e.css(this,"visibility")==="hidden"}).length}var n=0,r=/^ui-id-\d+$/;e.ui=e.ui||{};if(e.ui.version)return;e.extend(e.ui,{version:"1.10.0",keyCode:{BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38}}),e.fn.extend({_focus:e.fn.focus,focus:function(t,n){return typeof t=="number"?this.each(function(){var r=this;setTimeout(function(){e(r).focus(),n&&n.call(r)},t)}):this._focus.apply(this,arguments)},scrollParent:function(){var t;return e.ui.ie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?t=this.parents().filter(function(){return/(relative|absolute|fixed)/.test(e.css(this,"position"))&&/(auto|scroll)/.test(e.css(this,"overflow")+e.css(this,"overflow-y")+e.css(this,"overflow-x"))}).eq(0):t=this.parents().filter(function(){return/(auto|scroll)/.test(e.css(this,"overflow")+e.css(this,"overflow-y")+e.css(this,"overflow-x"))}).eq(0),/fixed/.test(this.css("position"))||!t.length?e(document):t},zIndex:function(n){if(n!==t)return this.css("zIndex",n);if(this.length){var r=e(this[0]),i,s;while(r.length&&r[0]!==document){i=r.css("position");if(i==="absolute"||i==="relative"||i==="fixed"){s=parseInt(r.css("zIndex"),10);if(!isNaN(s)&&s!==0)return s}r=r.parent()}}return 0},uniqueId:function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++n)})},removeUniqueId:function(){return this.each(function(){r.test(this.id)&&e(this).removeAttr("id")})}}),e.extend(e.expr[":"],{data:e.expr.createPseudo?e.expr.createPseudo(function(t){return function(n){return!!e.data(n,t)}}):function(t,n,r){return!!e.data(t,r[3])},focusable:function(t){return i(t,!isNaN(e.attr(t,"tabindex")))},tabbable:function(t){var n=e.attr(t,"tabindex"),r=isNaN(n);return(r||n>=0)&&i(t,!r)}}),e("").outerWidth(1).jquery||e.each(["Width","Height"],function(n,r){function u(t,n,r,s){return e.each(i,function(){n-=parseFloat(e.css(t,"padding"+this))||0,r&&(n-=parseFloat(e.css(t,"border"+this+"Width"))||0),s&&(n-=parseFloat(e.css(t,"margin"+this))||0)}),n}var i=r==="Width"?["Left","Right"]:["Top","Bottom"],s=r.toLowerCase(),o={innerWidth:e.fn.innerWidth,innerHeight:e.fn.innerHeight,outerWidth:e.fn.outerWidth,outerHeight:e.fn.outerHeight};e.fn["inner"+r]=function(n){return n===t?o["inner"+r].call(this):this.each(function(){e(this).css(s,u(this,n)+"px")})},e.fn["outer"+r]=function(t,n){return typeof t!="number"?o["outer"+r].call(this,t):this.each(function(){e(this).css(s,u(this,t,!0,n)+"px")})}}),e.fn.addBack||(e.fn.addBack=function(e){return this.add(e==null?this.prevObject:this.prevObject.filter(e))}),e("").data("a-b","a").removeData("a-b").data("a-b")&&(e.fn.removeData=function(t){return function(n){return arguments.length?t.call(this,e.camelCase(n)):t.call(this)}}(e.fn.removeData)),e.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),e.support.selectstart="onselectstart"in document.createElement("div"),e.fn.extend({disableSelection:function(){return this.bind((e.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}}),e.extend(e.ui,{plugin:{add:function(t,n,r){var i,s=e.ui[t].prototype;for(i in r)s.plugins[i]=s.plugins[i]||[],s.plugins[i].push([n,r[i]])},call:function(e,t,n){var r,i=e.plugins[t];if(!i||!e.element[0].parentNode||e.element[0].parentNode.nodeType===11)return;for(r=0;r0?!0:(t[r]=1,i=t[r]>0,t[r]=0,i)}})})(jQuery);(function(e,t){var n=0,r=Array.prototype.slice,i=e.cleanData;e.cleanData=function(t){for(var n=0,r;(r=t[n])!=null;n++)try{e(r).triggerHandler("remove")}catch(s){}i(t)},e.widget=function(t,n,r){var i,s,o,u,a={},f=t.split(".")[0];t=t.split(".")[1],i=f+"-"+t,r||(r=n,n=e.Widget),e.expr[":"][i.toLowerCase()]=function(t){return!!e.data(t,i)},e[f]=e[f]||{},s=e[f][t],o=e[f][t]=function(e,t){if(!this._createWidget)return new o(e,t);arguments.length&&this._createWidget(e,t)},e.extend(o,s,{version:r.version,_proto:e.extend({},r),_childConstructors:[]}),u=new n,u.options=e.widget.extend({},u.options),e.each(r,function(t,r){if(!e.isFunction(r)){a[t]=r;return}a[t]=function(){var e=function(){return n.prototype[t].apply(this,arguments)},i=function(e){return n.prototype[t].apply(this,e)};return function(){var t=this._super,n=this._superApply,s;return this._super=e,this._superApply=i,s=r.apply(this,arguments),this._super=t,this._superApply=n,s}}()}),o.prototype=e.widget.extend(u,{widgetEventPrefix:s?u.widgetEventPrefix:t},a,{constructor:o,namespace:f,widgetName:t,widgetFullName:i}),s?(e.each(s._childConstructors,function(t,n){var r=n.prototype;e.widget(r.namespace+"."+r.widgetName,o,n._proto)}),delete s._childConstructors):n._childConstructors.push(o),e.widget.bridge(t,o)},e.widget.extend=function(n){var i=r.call(arguments,1),s=0,o=i.length,u,a;for(;s",options:{disabled:!1,create:null},_createWidget:function(t,r){r=e(r||this.defaultElement||this)[0],this.element=e(r),this.uuid=n++,this.eventNamespace="."+this.widgetName+this.uuid,this.options=e.widget.extend({},this.options,this._getCreateOptions(),t),this.bindings=e(),this.hoverable=e(),this.focusable=e(),r!==this&&(e.data(r,this.widgetFullName,this),this._on(!0,this.element,{remove:function(e){e.target===r&&this.destroy()}}),this.document=e(r.style?r.ownerDocument:r.document||r),this.window=e(this.document[0].defaultView||this.document[0].parentWindow)),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:e.noop,_getCreateEventData:e.noop,_create:e.noop,_init:e.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetName).removeData(this.widgetFullName).removeData(e.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled "+"ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:e.noop,widget:function(){return this.element},option:function(n,r){var i=n,s,o,u;if(arguments.length===0)return e.widget.extend({},this.options);if(typeof n=="string"){i={},s=n.split("."),n=s.shift();if(s.length){o=i[n]=e.widget.extend({},this.options[n]);for(u=0;u=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}})})(jQuery);(function(e,t){function h(e,t,n){return[parseInt(e[0],10)*(l.test(e[0])?t/100:1),parseInt(e[1],10)*(l.test(e[1])?n/100:1)]}function p(t,n){return parseInt(e.css(t,n),10)||0}function d(t){var n=t[0];return n.nodeType===9?{width:t.width(),height:t.height(),offset:{top:0,left:0}}:e.isWindow(n)?{width:t.width(),height:t.height(),offset:{top:t.scrollTop(),left:t.scrollLeft()}}:n.preventDefault?{width:0,height:0,offset:{top:n.pageY,left:n.pageX}}:{width:t.outerWidth(),height:t.outerHeight(),offset:t.offset()}}e.ui=e.ui||{};var n,r=Math.max,i=Math.abs,s=Math.round,o=/left|center|right/,u=/top|center|bottom/,a=/[\+\-]\d+%?/,f=/^\w+/,l=/%$/,c=e.fn.position;e.position={scrollbarWidth:function(){if(n!==t)return n;var r,i,s=e("
            "),o=s.children()[0];return e("body").append(s),r=o.offsetWidth,s.css("overflow","scroll"),i=o.offsetWidth,r===i&&(i=s[0].clientWidth),s.remove(),n=r-i},getScrollInfo:function(t){var n=t.isWindow?"":t.element.css("overflow-x"),r=t.isWindow?"":t.element.css("overflow-y"),i=n==="scroll"||n==="auto"&&t.width0?"right":"center",vertical:u<0?"top":o>0?"bottom":"middle"};lr(i(o),i(u))?h.important="horizontal":h.important="vertical",t.using.call(this,e,h)}),a.offset(e.extend(C,{using:u}))})},e.ui.position={fit:{left:function(e,t){var n=t.within,i=n.isWindow?n.scrollLeft:n.offset.left,s=n.width,o=e.left-t.collisionPosition.marginLeft,u=i-o,a=o+t.collisionWidth-s-i,f;t.collisionWidth>s?u>0&&a<=0?(f=e.left+u+t.collisionWidth-s-i,e.left+=u-f):a>0&&u<=0?e.left=i:u>a?e.left=i+s-t.collisionWidth:e.left=i:u>0?e.left+=u:a>0?e.left-=a:e.left=r(e.left-o,e.left)},top:function(e,t){var n=t.within,i=n.isWindow?n.scrollTop:n.offset.top,s=t.within.height,o=e.top-t.collisionPosition.marginTop,u=i-o,a=o+t.collisionHeight-s-i,f;t.collisionHeight>s?u>0&&a<=0?(f=e.top+u+t.collisionHeight-s-i,e.top+=u-f):a>0&&u<=0?e.top=i:u>a?e.top=i+s-t.collisionHeight:e.top=i:u>0?e.top+=u:a>0?e.top-=a:e.top=r(e.top-o,e.top)}},flip:{left:function(e,t){var n=t.within,r=n.offset.left+n.scrollLeft,s=n.width,o=n.isWindow?n.scrollLeft:n.offset.left,u=e.left-t.collisionPosition.marginLeft,a=u-o,f=u+t.collisionWidth-s-o,l=t.my[0]==="left"?-t.elemWidth:t.my[0]==="right"?t.elemWidth:0,c=t.at[0]==="left"?t.targetWidth:t.at[0]==="right"?-t.targetWidth:0,h=-2*t.offset[0],p,d;if(a<0){p=e.left+l+c+h+t.collisionWidth-s-r;if(p<0||p0){d=e.left-t.collisionPosition.marginLeft+l+c+h-o;if(d>0||i(d)a&&(v<0||v0&&(d=e.top-t.collisionPosition.marginTop+c+h+p-o,e.top+c+h+p>f&&(d>0||i(d)10&&i<11,t.innerHTML="",n.removeChild(t)}()})(jQuery);(function(e,t){e.widget("ui.draggable",e.ui.mouse,{version:"1.10.0",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){this.options.helper==="original"&&!/^(?:r|a|f)/.test(this.element.css("position"))&&(this.element[0].style.position="relative"),this.options.addClasses&&this.element.addClass("ui-draggable"),this.options.disabled&&this.element.addClass("ui-draggable-disabled"),this._mouseInit()},_destroy:function(){this.element.removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"),this._mouseDestroy()},_mouseCapture:function(t){var n=this.options;return this.helper||n.disabled||e(t.target).closest(".ui-resizable-handle").length>0?!1:(this.handle=this._getHandle(t),this.handle?(e(n.iframeFix===!0?"iframe":n.iframeFix).each(function(){e("
            ").css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1e3}).css(e(this).offset()).appendTo("body")}),!0):!1)},_mouseStart:function(t){var n=this.options;return this.helper=this._createHelper(t),this.helper.addClass("ui-draggable-dragging"),this._cacheHelperProportions(),e.ui.ddmanager&&(e.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(),this.offset=this.positionAbs=this.element.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},e.extend(this.offset,{click:{left:t.pageX-this.offset.left,top:t.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.originalPosition=this.position=this._generatePosition(t),this.originalPageX=t.pageX,this.originalPageY=t.pageY,n.cursorAt&&this._adjustOffsetFromHelper(n.cursorAt),n.containment&&this._setContainment(),this._trigger("start",t)===!1?(this._clear(),!1):(this._cacheHelperProportions(),e.ui.ddmanager&&!n.dropBehaviour&&e.ui.ddmanager.prepareOffsets(this,t),this._mouseDrag(t,!0),e.ui.ddmanager&&e.ui.ddmanager.dragStart(this,t),!0)},_mouseDrag:function(t,n){this.position=this._generatePosition(t),this.positionAbs=this._convertPositionTo("absolute");if(!n){var r=this._uiHash();if(this._trigger("drag",t,r)===!1)return this._mouseUp({}),!1;this.position=r.position}if(!this.options.axis||this.options.axis!=="y")this.helper[0].style.left=this.position.left+"px";if(!this.options.axis||this.options.axis!=="x")this.helper[0].style.top=this.position.top+"px";return e.ui.ddmanager&&e.ui.ddmanager.drag(this,t),!1},_mouseStop:function(t){var n,r=this,i=!1,s=!1;e.ui.ddmanager&&!this.options.dropBehaviour&&(s=e.ui.ddmanager.drop(this,t)),this.dropped&&(s=this.dropped,this.dropped=!1),n=this.element[0];while(n&&(n=n.parentNode))n===document&&(i=!0);return!i&&this.options.helper==="original"?!1:(this.options.revert==="invalid"&&!s||this.options.revert==="valid"&&s||this.options.revert===!0||e.isFunction(this.options.revert)&&this.options.revert.call(this.element,s)?e(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){r._trigger("stop",t)!==!1&&r._clear()}):this._trigger("stop",t)!==!1&&this._clear(),!1)},_mouseUp:function(t){return e("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)}),e.ui.ddmanager&&e.ui.ddmanager.dragStop(this,t),e.ui.mouse.prototype._mouseUp.call(this,t)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear(),this},_getHandle:function(t){var n=!this.options.handle||!e(this.options.handle,this.element).length?!0:!1;return e(this.options.handle,this.element).find("*").addBack().each(function(){this===t.target&&(n=!0)}),n},_createHelper:function(t){var n=this.options,r=e.isFunction(n.helper)?e(n.helper.apply(this.element[0],[t])):n.helper==="clone"?this.element.clone().removeAttr("id"):this.element;return r.parents("body").length||r.appendTo(n.appendTo==="parent"?this.element[0].parentNode:n.appendTo),r[0]!==this.element[0]&&!/(fixed|absolute)/.test(r.css("position"))&&r.css("position","absolute"),r},_adjustOffsetFromHelper:function(t){typeof t=="string"&&(t=t.split(" ")),e.isArray(t)&&(t={left:+t[0],top:+t[1]||0}),"left"in t&&(this.offset.click.left=t.left+this.margins.left),"right"in t&&(this.offset.click.left=this.helperProportions.width-t.right+this.margins.left),"top"in t&&(this.offset.click.top=t.top+this.margins.top),"bottom"in t&&(this.offset.click.top=this.helperProportions.height-t.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var t=this.offsetParent.offset();this.cssPosition==="absolute"&&this.scrollParent[0]!==document&&e.contains(this.scrollParent[0],this.offsetParent[0])&&(t.left+=this.scrollParent.scrollLeft(),t.top+=this.scrollParent.scrollTop());if(this.offsetParent[0]===document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()==="html"&&e.ui.ie)t={top:0,left:0};return{top:t.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:t.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition==="relative"){var e=this.element.position();return{top:e.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:e.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var t,n,r,i=this.options;i.containment==="parent"&&(i.containment=this.helper[0].parentNode);if(i.containment==="document"||i.containment==="window")this.containment=[i.containment==="document"?0:e(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,i.containment==="document"?0:e(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,(i.containment==="document"?0:e(window).scrollLeft())+e(i.containment==="document"?document:window).width()-this.helperProportions.width-this.margins.left,(i.containment==="document"?0:e(window).scrollTop())+(e(i.containment==="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(i.containment)&&i.containment.constructor!==Array){n=e(i.containment),r=n[0];if(!r)return;t=e(r).css("overflow")!=="hidden",this.containment=[(parseInt(e(r).css("borderLeftWidth"),10)||0)+(parseInt(e(r).css("paddingLeft"),10)||0),(parseInt(e(r).css("borderTopWidth"),10)||0)+(parseInt(e(r).css("paddingTop"),10)||0),(t?Math.max(r.scrollWidth,r.offsetWidth):r.offsetWidth)-(parseInt(e(r).css("borderLeftWidth"),10)||0)-(parseInt(e(r).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(t?Math.max(r.scrollHeight,r.offsetHeight):r.offsetHeight)-(parseInt(e(r).css("borderTopWidth"),10)||0)-(parseInt(e(r).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relative_container=n}else i.containment.constructor===Array&&(this.containment=i.containment)},_convertPositionTo:function(t,n){n||(n=this.position);var r=t==="absolute"?1:-1,i=this.cssPosition!=="absolute"||this.scrollParent[0]!==document&&!!e.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,s=/(html|body)/i.test(i[0].tagName);return{top:n.top+this.offset.relative.top*r+this.offset.parent.top*r-(this.cssPosition==="fixed"?-this.scrollParent.scrollTop():s?0:i.scrollTop())*r,left:n.left+this.offset.relative.left*r+this.offset.parent.left*r-(this.cssPosition==="fixed"?-this.scrollParent.scrollLeft():s?0:i.scrollLeft())*r}},_generatePosition:function(t){var n,r,i,s,o=this.options,u=this.cssPosition!=="absolute"||this.scrollParent[0]!==document&&!!e.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,a=/(html|body)/i.test(u[0].tagName),f=t.pageX,l=t.pageY;return this.originalPosition&&(this.containment&&(this.relative_container?(r=this.relative_container.offset(),n=[this.containment[0]+r.left,this.containment[1]+r.top,this.containment[2]+r.left,this.containment[3]+r.top]):n=this.containment,t.pageX-this.offset.click.leftn[2]&&(f=n[2]+this.offset.click.left),t.pageY-this.offset.click.top>n[3]&&(l=n[3]+this.offset.click.top)),o.grid&&(i=o.grid[1]?this.originalPageY+Math.round((l-this.originalPageY)/o.grid[1])*o.grid[1]:this.originalPageY,l=n?i-this.offset.click.top>=n[1]||i-this.offset.click.top>n[3]?i:i-this.offset.click.top>=n[1]?i-o.grid[1]:i+o.grid[1]:i,s=o.grid[0]?this.originalPageX+Math.round((f-this.originalPageX)/o.grid[0])*o.grid[0]:this.originalPageX,f=n?s-this.offset.click.left>=n[0]||s-this.offset.click.left>n[2]?s:s-this.offset.click.left>=n[0]?s-o.grid[0]:s+o.grid[0]:s)),{top:l-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(this.cssPosition==="fixed"?-this.scrollParent.scrollTop():a?0:u.scrollTop()),left:f-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(this.cssPosition==="fixed"?-this.scrollParent.scrollLeft():a?0:u.scrollLeft())}},_clear:function(){this.helper.removeClass("ui-draggable-dragging"),this.helper[0]!==this.element[0]&&!this.cancelHelperRemoval&&this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1},_trigger:function(t,n,r){return r=r||this._uiHash(),e.ui.plugin.call(this,t,[n,r]),t==="drag"&&(this.positionAbs=this._convertPositionTo("absolute")),e.Widget.prototype._trigger.call(this,t,n,r)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),e.ui.plugin.add("draggable","connectToSortable",{start:function(t,n){var r=e(this).data("ui-draggable"),i=r.options,s=e.extend({},n,{item:r.element});r.sortables=[],e(i.connectToSortable).each(function(){var n=e.data(this,"ui-sortable");n&&!n.options.disabled&&(r.sortables.push({instance:n,shouldRevert:n.options.revert}),n.refreshPositions(),n._trigger("activate",t,s))})},stop:function(t,n){var r=e(this).data("ui-draggable"),i=e.extend({},n,{item:r.element});e.each(r.sortables,function(){this.instance.isOver?(this.instance.isOver=0,r.cancelHelperRemoval=!0,this.instance.cancelHelperRemoval=!1,this.shouldRevert&&(this.instance.options.revert=!0),this.instance._mouseStop(t),this.instance.options.helper=this.instance.options._helper,r.options.helper==="original"&&this.instance.currentItem.css({top:"auto",left:"auto"})):(this.instance.cancelHelperRemoval=!1,this.instance._trigger("deactivate",t,i))})},drag:function(t,n){var r=e(this).data("ui-draggable"),i=this;e.each(r.sortables,function(){var s=!1,o=this;this.instance.positionAbs=r.positionAbs,this.instance.helperProportions=r.helperProportions,this.instance.offset.click=r.offset.click,this.instance._intersectsWith(this.instance.containerCache)&&(s=!0,e.each(r.sortables,function(){return this.instance.positionAbs=r.positionAbs,this.instance.helperProportions=r.helperProportions,this.instance.offset.click=r.offset.click,this!==o&&this.instance._intersectsWith(this.instance.containerCache)&&e.ui.contains(o.instance.element[0],this.instance.element[0])&&(s=!1),s})),s?(this.instance.isOver||(this.instance.isOver=1,this.instance.currentItem=e(i).clone().removeAttr("id").appendTo(this.instance.element).data("ui-sortable-item",!0),this.instance.options._helper=this.instance.options.helper,this.instance.options.helper=function(){return n.helper[0]},t.target=this.instance.currentItem[0],this.instance._mouseCapture(t,!0),this.instance._mouseStart(t,!0,!0),this.instance.offset.click.top=r.offset.click.top,this.instance.offset.click.left=r.offset.click.left,this.instance.offset.parent.left-=r.offset.parent.left-this.instance.offset.parent.left,this.instance.offset.parent.top-=r.offset.parent.top-this.instance.offset.parent.top,r._trigger("toSortable",t),r.dropped=this.instance.element,r.currentItem=r.element,this.instance.fromOutside=r),this.instance.currentItem&&this.instance._mouseDrag(t)):this.instance.isOver&&(this.instance.isOver=0,this.instance.cancelHelperRemoval=!0,this.instance.options.revert=!1,this.instance._trigger("out",t,this.instance._uiHash(this.instance)),this.instance._mouseStop(t,!0),this.instance.options.helper=this.instance.options._helper,this.instance.currentItem.remove(),this.instance.placeholder&&this.instance.placeholder.remove(),r._trigger("fromSortable",t),r.dropped=!1)})}}),e.ui.plugin.add("draggable","cursor",{start:function(){var t=e("body"),n=e(this).data("ui-draggable").options;t.css("cursor")&&(n._cursor=t.css("cursor")),t.css("cursor",n.cursor)},stop:function(){var t=e(this).data("ui-draggable").options;t._cursor&&e("body").css("cursor",t._cursor)}}),e.ui.plugin.add("draggable","opacity",{start:function(t,n){var r=e(n.helper),i=e(this).data("ui-draggable").options;r.css("opacity")&&(i._opacity=r.css("opacity")),r.css("opacity",i.opacity)},stop:function(t,n){var r=e(this).data("ui-draggable").options;r._opacity&&e(n.helper).css("opacity",r._opacity)}}),e.ui.plugin.add("draggable","scroll",{start:function(){var t=e(this).data("ui-draggable");t.scrollParent[0]!==document&&t.scrollParent[0].tagName!=="HTML"&&(t.overflowOffset=t.scrollParent.offset())},drag:function(t){var n=e(this).data("ui-draggable"),r=n.options,i=!1;if(n.scrollParent[0]!==document&&n.scrollParent[0].tagName!=="HTML"){if(!r.axis||r.axis!=="x")n.overflowOffset.top+n.scrollParent[0].offsetHeight-t.pageY=0;c--){u=p.snapElements[c].left,a=u+p.snapElements[c].width,f=p.snapElements[c].top,l=f+p.snapElements[c].height;if(!(u-vt&&e=h&&a<=p||f>=h&&f<=p||ap)&&(o>=l&&o<=c||u>=l&&u<=c||oc);default:return!1}},e.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(t,n){var r,i,s=e.ui.ddmanager.droppables[t.options.scope]||[],o=n?n.type:null,u=(t.currentItem||t.element).find(":data(ui-droppable)").addBack();e:for(r=0;r
            ").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.data("ui-resizable")),this.elementIsWrapper=!0,this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")}),this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0}),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css({margin:this.originalElement.css("margin")}),this._proportionallyResize()),this.handles=u.handles||(e(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se");if(this.handles.constructor===String){this.handles==="all"&&(this.handles="n,e,s,w,se,sw,ne,nw"),t=this.handles.split(","),this.handles={};for(n=0;n
            "),i.css({zIndex:u.zIndex}),"se"===r&&i.addClass("ui-icon ui-icon-gripsmall-diagonal-se"),this.handles[r]=".ui-resizable-"+r,this.element.append(i)}this._renderAxis=function(t){var n,r,i,s;t=t||this.element;for(n in this.handles){this.handles[n].constructor===String&&(this.handles[n]=e(this.handles[n],this.element).show()),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)&&(r=e(this.handles[n],this.element),s=/sw|ne|nw|se|n|s/.test(n)?r.outerHeight():r.outerWidth(),i=["padding",/ne|nw|n/.test(n)?"Top":/se|sw|s/.test(n)?"Bottom":/^e$/.test(n)?"Right":"Left"].join(""),t.css(i,s),this._proportionallyResize());if(!e(this.handles[n]).length)continue}},this._renderAxis(this.element),this._handles=e(".ui-resizable-handle",this.element).disableSelection(),this._handles.mouseover(function(){o.resizing||(this.className&&(i=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),o.axis=i&&i[1]?i[1]:"se")}),u.autoHide&&(this._handles.hide(),e(this.element).addClass("ui-resizable-autohide").mouseenter(function(){if(u.disabled)return;e(this).removeClass("ui-resizable-autohide"),o._handles.show()}).mouseleave(function(){if(u.disabled)return;o.resizing||(e(this).addClass("ui-resizable-autohide"),o._handles.hide())})),this._mouseInit()},_destroy:function(){this._mouseDestroy();var t,n=function(t){e(t).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").removeData("ui-resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(n(this.element),t=this.element,this.originalElement.css({position:t.css("position"),width:t.outerWidth(),height:t.outerHeight(),top:t.css("top"),left:t.css("left")}).insertAfter(t),t.remove()),this.originalElement.css("resize",this.originalResizeStyle),n(this.originalElement),this},_mouseCapture:function(t){var n,r,i=!1;for(n in this.handles){r=e(this.handles[n])[0];if(r===t.target||e.contains(r,t.target))i=!0}return!this.options.disabled&&i},_mouseStart:function(t){var r,i,s,o=this.options,u=this.element.position(),a=this.element;return this.resizing=!0,/absolute/.test(a.css("position"))?a.css({position:"absolute",top:a.css("top"),left:a.css("left")}):a.is(".ui-draggable")&&a.css({position:"absolute",top:u.top,left:u.left}),this._renderProxy(),r=n(this.helper.css("left")),i=n(this.helper.css("top")),o.containment&&(r+=e(o.containment).scrollLeft()||0,i+=e(o.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:r,top:i},this.size=this._helper?{width:a.outerWidth(),height:a.outerHeight()}:{width:a.width(),height:a.height()},this.originalSize=this._helper?{width:a.outerWidth(),height:a.outerHeight()}:{width:a.width(),height:a.height()},this.originalPosition={left:r,top:i},this.sizeDiff={width:a.outerWidth()-a.width(),height:a.outerHeight()-a.height()},this.originalMousePosition={left:t.pageX,top:t.pageY},this.aspectRatio=typeof o.aspectRatio=="number"?o.aspectRatio:this.originalSize.width/this.originalSize.height||1,s=e(".ui-resizable-"+this.axis).css("cursor"),e("body").css("cursor",s==="auto"?this.axis+"-resize":s),a.addClass("ui-resizable-resizing"),this._propagate("start",t),!0},_mouseDrag:function(t){var n,r=this.helper,i={},s=this.originalMousePosition,o=this.axis,u=this.position.top,a=this.position.left,f=this.size.width,l=this.size.height,c=t.pageX-s.left||0,h=t.pageY-s.top||0,p=this._change[o];if(!p)return!1;n=p.apply(this,[t,c,h]),this._updateVirtualBoundaries(t.shiftKey);if(this._aspectRatio||t.shiftKey)n=this._updateRatio(n,t);return n=this._respectSize(n,t),this._updateCache(n),this._propagate("resize",t),this.position.top!==u&&(i.top=this.position.top+"px"),this.position.left!==a&&(i.left=this.position.left+"px"),this.size.width!==f&&(i.width=this.size.width+"px"),this.size.height!==l&&(i.height=this.size.height+"px"),r.css(i),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),e.isEmptyObject(i)||this._trigger("resize",t,this.ui()),!1},_mouseStop:function(t){this.resizing=!1;var n,r,i,s,o,u,a,f=this.options,l=this;return this._helper&&(n=this._proportionallyResizeElements,r=n.length&&/textarea/i.test(n[0].nodeName),i=r&&e.ui.hasScroll(n[0],"left")?0:l.sizeDiff.height,s=r?0:l.sizeDiff.width,o={width:l.helper.width()-s,height:l.helper.height()-i},u=parseInt(l.element.css("left"),10)+(l.position.left-l.originalPosition.left)||null,a=parseInt(l.element.css("top"),10)+(l.position.top-l.originalPosition.top)||null,f.animate||this.element.css(e.extend(o,{top:a,left:u})),l.helper.height(l.size.height),l.helper.width(l.size.width),this._helper&&!f.animate&&this._proportionallyResize()),e("body").css("cursor","auto"),this.element.removeClass("ui-resizable-resizing"),this._propagate("stop",t),this._helper&&this.helper.remove(),!1},_updateVirtualBoundaries:function(e){var t,n,i,s,o,u=this.options;o={minWidth:r(u.minWidth)?u.minWidth:0,maxWidth:r(u.maxWidth)?u.maxWidth:Infinity,minHeight:r(u.minHeight)?u.minHeight:0,maxHeight:r(u.maxHeight)?u.maxHeight:Infinity};if(this._aspectRatio||e)t=o.minHeight*this.aspectRatio,i=o.minWidth/this.aspectRatio,n=o.maxHeight*this.aspectRatio,s=o.maxWidth/this.aspectRatio,t>o.minWidth&&(o.minWidth=t),i>o.minHeight&&(o.minHeight=i),ne.width,u=r(e.height)&&t.minHeight&&t.minHeight>e.height,a=this.originalPosition.left+this.originalSize.width,f=this.position.top+this.size.height,l=/sw|nw|w/.test(n),c=/nw|ne|n/.test(n);return o&&(e.width=t.minWidth),u&&(e.height=t.minHeight),i&&(e.width=t.maxWidth),s&&(e.height=t.maxHeight),o&&l&&(e.left=a-t.minWidth),i&&l&&(e.left=a-t.maxWidth),u&&c&&(e.top=f-t.minHeight),s&&c&&(e.top=f-t.maxHeight),!e.width&&!e.height&&!e.left&&e.top?e.top=null:!e.width&&!e.height&&!e.top&&e.left&&(e.left=null),e},_proportionallyResize:function(){if(!this._proportionallyResizeElements.length)return;var e,t,n,r,i,s=this.helper||this.element;for(e=0;e
            "),this.helper.addClass(this._helper).css({width:this.element.outerWidth()-1,height:this.element.outerHeight()-1,position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++n.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(e,t){return{width:this.originalSize.width+t}},w:function(e,t){var n=this.originalSize,r=this.originalPosition;return{left:r.left+t,width:n.width-t}},n:function(e,t,n){var r=this.originalSize,i=this.originalPosition;return{top:i.top+n,height:r.height-n}},s:function(e,t,n){return{height:this.originalSize.height+n}},se:function(t,n,r){return e.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[t,n,r]))},sw:function(t,n,r){return e.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[t,n,r]))},ne:function(t,n,r){return e.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[t,n,r]))},nw:function(t,n,r){return e.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[t,n,r]))}},_propagate:function(t,n){e.ui.plugin.call(this,t,[n,this.ui()]),t!=="resize"&&this._trigger(t,n,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),e.ui.plugin.add("resizable","animate",{stop:function(t){var n=e(this).data("ui-resizable"),r=n.options,i=n._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),o=s&&e.ui.hasScroll(i[0],"left")?0:n.sizeDiff.height,u=s?0:n.sizeDiff.width,a={width:n.size.width-u,height:n.size.height-o},f=parseInt(n.element.css("left"),10)+(n.position.left-n.originalPosition.left)||null,l=parseInt(n.element.css("top"),10)+(n.position.top-n.originalPosition.top)||null;n.element.animate(e.extend(a,l&&f?{top:l,left:f}:{}),{duration:r.animateDuration,easing:r.animateEasing,step:function(){var r={width:parseInt(n.element.css("width"),10),height:parseInt(n.element.css("height"),10),top:parseInt(n.element.css("top"),10),left:parseInt(n.element.css("left"),10)};i&&i.length&&e(i[0]).css({width:r.width,height:r.height}),n._updateCache(r),n._propagate("resize",t)}})}}),e.ui.plugin.add("resizable","containment",{start:function(){var t,r,i,s,o,u,a,f=e(this).data("ui-resizable"),l=f.options,c=f.element,h=l.containment,p=h instanceof e?h.get(0):/parent/.test(h)?c.parent().get(0):h;if(!p)return;f.containerElement=e(p),/document/.test(h)||h===document?(f.containerOffset={left:0,top:0},f.containerPosition={left:0,top:0},f.parentData={element:e(document),left:0,top:0,width:e(document).width(),height:e(document).height()||document.body.parentNode.scrollHeight}):(t=e(p),r=[],e(["Top","Right","Left","Bottom"]).each(function(e,i){r[e]=n(t.css("padding"+i))}),f.containerOffset=t.offset(),f.containerPosition=t.position(),f.containerSize={height:t.innerHeight()-r[3],width:t.innerWidth()-r[1]},i=f.containerOffset,s=f.containerSize.height,o=f.containerSize.width,u=e.ui.hasScroll(p,"left")?p.scrollWidth:o,a=e.ui.hasScroll(p)?p.scrollHeight:s,f.parentData={element:p,left:i.left,top:i.top,width:u,height:a})},resize:function(t){var n,r,i,s,o=e(this).data("ui-resizable"),u=o.options,a=o.containerOffset,f=o.position,l=o._aspectRatio||t.shiftKey,c={top:0,left:0},h=o.containerElement;h[0]!==document&&/static/.test(h.css("position"))&&(c=a),f.left<(o._helper?a.left:0)&&(o.size.width=o.size.width+(o._helper?o.position.left-a.left:o.position.left-c.left),l&&(o.size.height=o.size.width/o.aspectRatio),o.position.left=u.helper?a.left:0),f.top<(o._helper?a.top:0)&&(o.size.height=o.size.height+(o._helper?o.position.top-a.top:o.position.top),l&&(o.size.width=o.size.height*o.aspectRatio),o.position.top=o._helper?a.top:0),o.offset.left=o.parentData.left+o.position.left,o.offset.top=o.parentData.top+o.position.top,n=Math.abs((o._helper?o.offset.left-c.left:o.offset.left-c.left)+o.sizeDiff.width),r=Math.abs((o._helper?o.offset.top-c.top:o.offset.top-a.top)+o.sizeDiff.height),i=o.containerElement.get(0)===o.element.parent().get(0),s=/relative|absolute/.test(o.containerElement.css("position")),i&&s&&(n-=o.parentData.left),n+o.size.width>=o.parentData.width&&(o.size.width=o.parentData.width-n,l&&(o.size.height=o.size.width/o.aspectRatio)),r+o.size.height>=o.parentData.height&&(o.size.height=o.parentData.height-r,l&&(o.size.width=o.size.height*o.aspectRatio))},stop:function(){var t=e(this).data("ui-resizable"),n=t.options,r=t.containerOffset,i=t.containerPosition,s=t.containerElement,o=e(t.helper),u=o.offset(),a=o.outerWidth()-t.sizeDiff.width,f=o.outerHeight()-t.sizeDiff.height;t._helper&&!n.animate&&/relative/.test(s.css("position"))&&e(this).css({left:u.left-i.left-r.left,width:a,height:f}),t._helper&&!n.animate&&/static/.test(s.css("position"))&&e(this).css({left:u.left-i.left-r.left,width:a,height:f})}}),e.ui.plugin.add("resizable","alsoResize",{start:function(){var t=e(this).data("ui-resizable"),n=t.options,r=function(t){e(t).each(function(){var t=e(this);t.data("ui-resizable-alsoresize",{width:parseInt(t.width(),10),height:parseInt(t.height(),10),left:parseInt(t.css("left"),10),top:parseInt(t.css("top"),10)})})};typeof n.alsoResize=="object"&&!n.alsoResize.parentNode?n.alsoResize.length?(n.alsoResize=n.alsoResize[0],r(n.alsoResize)):e.each(n.alsoResize,function(e){r(e)}):r(n.alsoResize)},resize:function(t,n){var r=e(this).data("ui-resizable"),i=r.options,s=r.originalSize,o=r.originalPosition,u={height:r.size.height-s.height||0,width:r.size.width-s.width||0,top:r.position.top-o.top||0,left:r.position.left-o.left||0},a=function(t,r){e(t).each(function(){var t=e(this),i=e(this).data("ui-resizable-alsoresize"),s={},o=r&&r.length?r:t.parents(n.originalElement[0]).length?["width","height"]:["width","height","top","left"];e.each(o,function(e,t){var n=(i[t]||0)+(u[t]||0);n&&n>=0&&(s[t]=n||null)}),t.css(s)})};typeof i.alsoResize=="object"&&!i.alsoResize.nodeType?e.each(i.alsoResize,function(e,t){a(e,t)}):a(i.alsoResize)},stop:function(){e(this).removeData("resizable-alsoresize")}}),e.ui.plugin.add("resizable","ghost",{start:function(){var t=e(this).data("ui-resizable"),n=t.options,r=t.size;t.ghost=t.originalElement.clone(),t.ghost.css({opacity:.25,display:"block",position:"relative",height:r.height,width:r.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof n.ghost=="string"?n.ghost:""),t.ghost.appendTo(t.helper)},resize:function(){var t=e(this).data("ui-resizable");t.ghost&&t.ghost.css({position:"relative",height:t.size.height,width:t.size.width})},stop:function(){var t=e(this).data("ui-resizable");t.ghost&&t.helper&&t.helper.get(0).removeChild(t.ghost.get(0))}}),e.ui.plugin.add("resizable","grid",{resize:function(){var t=e(this).data("ui-resizable"),n=t.options,r=t.size,i=t.originalSize,s=t.originalPosition,o=t.axis,u=typeof n.grid=="number"?[n.grid,n.grid]:n.grid,a=u[0]||1,f=u[1]||1,l=Math.round((r.width-i.width)/a)*a,c=Math.round((r.height-i.height)/f)*f,h=i.width+l,p=i.height+c,d=n.maxWidth&&n.maxWidthh,g=n.minHeight&&n.minHeight>p;n.grid=u,m&&(h+=a),g&&(p+=f),d&&(h-=a),v&&(p-=f),/^(se|s|e)$/.test(o)?(t.size.width=h,t.size.height=p):/^(ne)$/.test(o)?(t.size.width=h,t.size.height=p,t.position.top=s.top-c):/^(sw)$/.test(o)?(t.size.width=h,t.size.height=p,t.position.left=s.left-l):(t.size.width=h,t.size.height=p,t.position.top=s.top-c,t.position.left=s.left-l)}})})(jQuery);(function(e,t){e.widget("ui.selectable",e.ui.mouse,{version:"1.10.0",options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch",selected:null,selecting:null,start:null,stop:null,unselected:null,unselecting:null},_create:function(){var t,n=this;this.element.addClass("ui-selectable"),this.dragged=!1,this.refresh=function(){t=e(n.options.filter,n.element[0]),t.addClass("ui-selectee"),t.each(function(){var t=e(this),n=t.offset();e.data(this,"selectable-item",{element:this,$element:t,left:n.left,top:n.top,right:n.left+t.outerWidth(),bottom:n.top+t.outerHeight(),startselected:!1,selected:t.hasClass("ui-selected"),selecting:t.hasClass("ui-selecting"),unselecting:t.hasClass("ui-unselecting")})})},this.refresh(),this.selectees=t.addClass("ui-selectee"),this._mouseInit(),this.helper=e("
            ")},_destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item"),this.element.removeClass("ui-selectable ui-selectable-disabled"),this._mouseDestroy()},_mouseStart:function(t){var n=this,r=this.options;this.opos=[t.pageX,t.pageY];if(this.options.disabled)return;this.selectees=e(r.filter,this.element[0]),this._trigger("start",t),e(r.appendTo).append(this.helper),this.helper.css({left:t.pageX,top:t.pageY,width:0,height:0}),r.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var r=e.data(this,"selectable-item");r.startselected=!0,!t.metaKey&&!t.ctrlKey&&(r.$element.removeClass("ui-selected"),r.selected=!1,r.$element.addClass("ui-unselecting"),r.unselecting=!0,n._trigger("unselecting",t,{unselecting:r.element}))}),e(t.target).parents().addBack().each(function(){var r,i=e.data(this,"selectable-item");if(i)return r=!t.metaKey&&!t.ctrlKey||!i.$element.hasClass("ui-selected"),i.$element.removeClass(r?"ui-unselecting":"ui-selected").addClass(r?"ui-selecting":"ui-unselecting"),i.unselecting=!r,i.selecting=r,i.selected=r,r?n._trigger("selecting",t,{selecting:i.element}):n._trigger("unselecting",t,{unselecting:i.element}),!1})},_mouseDrag:function(t){this.dragged=!0;if(this.options.disabled)return;var n,r=this,i=this.options,s=this.opos[0],o=this.opos[1],u=t.pageX,a=t.pageY;return s>u&&(n=u,u=s,s=n),o>a&&(n=a,a=o,o=n),this.helper.css({left:s,top:o,width:u-s,height:a-o}),this.selectees.each(function(){var n=e.data(this,"selectable-item"),f=!1;if(!n||n.element===r.element[0])return;i.tolerance==="touch"?f=!(n.left>u||n.righta||n.bottoms&&n.righto&&n.bottomt&&e *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_create:function(){var e=this.options;this.containerCache={},this.element.addClass("ui-sortable"),this.refresh(),this.floating=this.items.length?e.axis==="x"||/left|right/.test(this.items[0].item.css("float"))||/inline|table-cell/.test(this.items[0].item.css("display")):!1,this.offset=this.element.offset(),this._mouseInit(),this.ready=!0},_destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled"),this._mouseDestroy();for(var e=this.items.length-1;e>=0;e--)this.items[e].item.removeData(this.widgetName+"-item");return this},_setOption:function(t,n){t==="disabled"?(this.options[t]=n,this.widget().toggleClass("ui-sortable-disabled",!!n)):e.Widget.prototype._setOption.apply(this,arguments)},_mouseCapture:function(t,n){var r=null,i=!1,s=this;if(this.reverting)return!1;if(this.options.disabled||this.options.type==="static")return!1;this._refreshItems(t),e(t.target).parents().each(function(){if(e.data(this,s.widgetName+"-item")===s)return r=e(this),!1}),e.data(t.target,s.widgetName+"-item")===s&&(r=e(t.target));if(!r)return!1;if(this.options.handle&&!n){e(this.options.handle,r).find("*").addBack().each(function(){this===t.target&&(i=!0)});if(!i)return!1}return this.currentItem=r,this._removeCurrentsFromItems(),!0},_mouseStart:function(t,n,r){var i,s=this.options;this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(t),this._cacheHelperProportions(),this._cacheMargins(),this.scrollParent=this.helper.scrollParent(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},e.extend(this.offset,{click:{left:t.pageX-this.offset.left,top:t.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),this.originalPosition=this._generatePosition(t),this.originalPageX=t.pageX,this.originalPageY=t.pageY,s.cursorAt&&this._adjustOffsetFromHelper(s.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!==this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),s.containment&&this._setContainment(),s.cursor&&(e("body").css("cursor")&&(this._storedCursor=e("body").css("cursor")),e("body").css("cursor",s.cursor)),s.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",s.opacity)),s.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",s.zIndex)),this.scrollParent[0]!==document&&this.scrollParent[0].tagName!=="HTML"&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",t,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions();if(!r)for(i=this.containers.length-1;i>=0;i--)this.containers[i]._trigger("activate",t,this._uiHash(this));return e.ui.ddmanager&&(e.ui.ddmanager.current=this),e.ui.ddmanager&&!s.dropBehaviour&&e.ui.ddmanager.prepareOffsets(this,t),this.dragging=!0,this.helper.addClass("ui-sortable-helper"),this._mouseDrag(t),!0},_mouseDrag:function(t){var n,r,i,s,o=this.options,u=!1;this.position=this._generatePosition(t),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs),this.options.scroll&&(this.scrollParent[0]!==document&&this.scrollParent[0].tagName!=="HTML"?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-t.pageY=0;n--){r=this.items[n],i=r.item[0],s=this._intersectsWithPointer(r);if(!s)continue;if(r.instance!==this.currentContainer)continue;if(i!==this.currentItem[0]&&this.placeholder[s===1?"next":"prev"]()[0]!==i&&!e.contains(this.placeholder[0],i)&&(this.options.type==="semi-dynamic"?!e.contains(this.element[0],i):!0)){this.direction=s===1?"down":"up";if(this.options.tolerance!=="pointer"&&!this._intersectsWithSides(r))break;this._rearrange(t,r),this._trigger("change",t,this._uiHash());break}}return this._contactContainers(t),e.ui.ddmanager&&e.ui.ddmanager.drag(this,t),this._trigger("sort",t,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(t,n){if(!t)return;e.ui.ddmanager&&!this.options.dropBehaviour&&e.ui.ddmanager.drop(this,t);if(this.options.revert){var r=this,i=this.placeholder.offset();this.reverting=!0,e(this.helper).animate({left:i.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===document.body?0:this.offsetParent[0].scrollLeft),top:i.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){r._clear(t)})}else this._clear(t,n);return!1},cancel:function(){if(this.dragging){this._mouseUp({target:null}),this.options.helper==="original"?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):this.currentItem.show();for(var t=this.containers.length-1;t>=0;t--)this.containers[t]._trigger("deactivate",null,this._uiHash(this)),this.containers[t].containerCache.over&&(this.containers[t]._trigger("out",null,this._uiHash(this)),this.containers[t].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.options.helper!=="original"&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),e.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?e(this.domPosition.prev).after(this.currentItem):e(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(t){var n=this._getItemsAsjQuery(t&&t.connected),r=[];return t=t||{},e(n).each(function(){var n=(e(t.item||this).attr(t.attribute||"id")||"").match(t.expression||/(.+)[\-=_](.+)/);n&&r.push((t.key||n[1]+"[]")+"="+(t.key&&t.expression?n[1]:n[2]))}),!r.length&&t.key&&r.push(t.key+"="),r.join("&")},toArray:function(t){var n=this._getItemsAsjQuery(t&&t.connected),r=[];return t=t||{},n.each(function(){r.push(e(t.item||this).attr(t.attribute||"id")||"")}),r},_intersectsWith:function(e){var t=this.positionAbs.left,n=t+this.helperProportions.width,r=this.positionAbs.top,i=r+this.helperProportions.height,s=e.left,o=s+e.width,u=e.top,a=u+e.height,f=this.offset.click.top,l=this.offset.click.left,c=r+f>u&&r+fs&&t+le[this.floating?"width":"height"]?c:s0?"down":"up")},_getDragHorizontalDirection:function(){var e=this.positionAbs.left-this.lastPositionAbs.left;return e!==0&&(e>0?"right":"left")},refresh:function(e){return this._refreshItems(e),this.refreshPositions(),this},_connectWith:function(){var e=this.options;return e.connectWith.constructor===String?[e.connectWith]:e.connectWith},_getItemsAsjQuery:function(t){var n,r,i,s,o=[],u=[],a=this._connectWith();if(a&&t)for(n=a.length-1;n>=0;n--){i=e(a[n]);for(r=i.length-1;r>=0;r--)s=e.data(i[r],this.widgetFullName),s&&s!==this&&!s.options.disabled&&u.push([e.isFunction(s.options.items)?s.options.items.call(s.element):e(s.options.items,s.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),s])}u.push([e.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):e(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]);for(n=u.length-1;n>=0;n--)u[n][0].each(function(){o.push(this)});return e(o)},_removeCurrentsFromItems:function(){var t=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=e.grep(this.items,function(e){for(var n=0;n=0;n--){i=e(h[n]);for(r=i.length-1;r>=0;r--)s=e.data(i[r],this.widgetFullName),s&&s!==this&&!s.options.disabled&&(c.push([e.isFunction(s.options.items)?s.options.items.call(s.element[0],t,{item:this.currentItem}):e(s.options.items,s.element),s]),this.containers.push(s))}for(n=c.length-1;n>=0;n--){o=c[n][1],u=c[n][0];for(r=0,f=u.length;r=0;n--){r=this.items[n];if(r.instance!==this.currentContainer&&this.currentContainer&&r.item[0]!==this.currentItem[0])continue;i=this.options.toleranceElement?e(this.options.toleranceElement,r.item):r.item,t||(r.width=i.outerWidth(),r.height=i.outerHeight()),s=i.offset(),r.left=s.left,r.top=s.top}if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(n=this.containers.length-1;n>=0;n--)s=this.containers[n].element.offset(),this.containers[n].containerCache.left=s.left,this.containers[n].containerCache.top=s.top,this.containers[n].containerCache.width=this.containers[n].element.outerWidth(),this.containers[n].containerCache.height=this.containers[n].element.outerHeight();return this},_createPlaceholder:function(t){t=t||this;var n,r=t.options;if(!r.placeholder||r.placeholder.constructor===String)n=r.placeholder,r.placeholder={element:function(){var r=e(document.createElement(t.currentItem[0].nodeName)).addClass(n||t.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];return n||(r.style.visibility="hidden"),r},update:function(e,i){if(n&&!r.forcePlaceholderSize)return;i.height()||i.height(t.currentItem.innerHeight()-parseInt(t.currentItem.css("paddingTop")||0,10)-parseInt(t.currentItem.css("paddingBottom")||0,10)),i.width()||i.width(t.currentItem.innerWidth()-parseInt(t.currentItem.css("paddingLeft")||0,10)-parseInt(t.currentItem.css("paddingRight")||0,10))}};t.placeholder=e(r.placeholder.element.call(t.element,t.currentItem)),t.currentItem.after(t.placeholder),r.placeholder.update(t,t.placeholder)},_contactContainers:function(t){var n,r,i,s,o,u,a,f,l,c=null,h=null;for(n=this.containers.length-1;n>=0;n--){if(e.contains(this.currentItem[0],this.containers[n].element[0]))continue;if(this._intersectsWith(this.containers[n].containerCache)){if(c&&e.contains(this.containers[n].element[0],c.element[0]))continue;c=this.containers[n],h=n}else this.containers[n].containerCache.over&&(this.containers[n]._trigger("out",t,this._uiHash(this)),this.containers[n].containerCache.over=0)}if(!c)return;if(this.containers.length===1)this.containers[h]._trigger("over",t,this._uiHash(this)),this.containers[h].containerCache.over=1;else{i=1e4,s=null,o=this.containers[h].floating?"left":"top",u=this.containers[h].floating?"width":"height",a=this.positionAbs[o]+this.offset.click[o];for(r=this.items.length-1;r>=0;r--){if(!e.contains(this.containers[h].element[0],this.items[r].item[0]))continue;if(this.items[r].item[0]===this.currentItem[0])continue;f=this.items[r].item.offset()[o],l=!1,Math.abs(f-a)>Math.abs(f+this.items[r][u]-a)&&(l=!0,f+=this.items[r][u]),Math.abs(f-a)this.containment[2]&&(s=this.containment[2]+this.offset.click.left),t.pageY-this.offset.click.top>this.containment[3]&&(o=this.containment[3]+this.offset.click.top)),i.grid&&(n=this.originalPageY+Math.round((o-this.originalPageY)/i.grid[1])*i.grid[1],o=this.containment?n-this.offset.click.top>=this.containment[1]&&n-this.offset.click.top<=this.containment[3]?n:n-this.offset.click.top>=this.containment[1]?n-i.grid[1]:n+i.grid[1]:n,r=this.originalPageX+Math.round((s-this.originalPageX)/i.grid[0])*i.grid[0],s=this.containment?r-this.offset.click.left>=this.containment[0]&&r-this.offset.click.left<=this.containment[2]?r:r-this.offset.click.left>=this.containment[0]?r-i.grid[0]:r+i.grid[0]:r)),{top:o-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(this.cssPosition==="fixed"?-this.scrollParent.scrollTop():a?0:u.scrollTop()),left:s-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(this.cssPosition==="fixed"?-this.scrollParent.scrollLeft():a?0:u.scrollLeft())}},_rearrange:function(e,t,n,r){n?n[0].appendChild(this.placeholder[0]):t.item[0].parentNode.insertBefore(this.placeholder[0],this.direction==="down"?t.item[0]:t.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var i=this.counter;this._delay(function(){i===this.counter&&this.refreshPositions(!r)})},_clear:function(t,n){this.reverting=!1;var r,i=[];!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null;if(this.helper[0]===this.currentItem[0]){for(r in this._storedCSS)if(this._storedCSS[r]==="auto"||this._storedCSS[r]==="static")this._storedCSS[r]="";this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();this.fromOutside&&!n&&i.push(function(e){this._trigger("receive",e,this._uiHash(this.fromOutside))}),(this.fromOutside||this.domPosition.prev!==this.currentItem.prev().not(".ui-sortable-helper")[0]||this.domPosition.parent!==this.currentItem.parent()[0])&&!n&&i.push(function(e){this._trigger("update",e,this._uiHash())}),this!==this.currentContainer&&(n||(i.push(function(e){this._trigger("remove",e,this._uiHash())}),i.push(function(e){return function(t){e._trigger("receive",t,this._uiHash(this))}}.call(this,this.currentContainer)),i.push(function(e){return function(t){e._trigger("update",t,this._uiHash(this))}}.call(this,this.currentContainer))));for(r=this.containers.length-1;r>=0;r--)n||i.push(function(e){return function(t){e._trigger("deactivate",t,this._uiHash(this))}}.call(this,this.containers[r])),this.containers[r].containerCache.over&&(i.push(function(e){return function(t){e._trigger("out",t,this._uiHash(this))}}.call(this,this.containers[r])),this.containers[r].containerCache.over=0);this._storedCursor&&e("body").css("cursor",this._storedCursor),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex",this._storedZIndex==="auto"?"":this._storedZIndex),this.dragging=!1;if(this.cancelHelperRemoval){if(!n){this._trigger("beforeStop",t,this._uiHash());for(r=0;r li > :first-child,> :not(li):even",heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},activate:null,beforeActivate:null},_create:function(){var t=this.options;this.prevShow=this.prevHide=e(),this.element.addClass("ui-accordion ui-widget ui-helper-reset").attr("role","tablist"),!t.collapsible&&(t.active===!1||t.active==null)&&(t.active=0),this._processPanels(),t.active<0&&(t.active+=this.headers.length),this._refresh()},_getCreateEventData:function(){return{header:this.active,content:this.active.length?this.active.next():e()}},_createIcons:function(){var t=this.options.icons;t&&(e("").addClass("ui-accordion-header-icon ui-icon "+t.header).prependTo(this.headers),this.active.children(".ui-accordion-header-icon").removeClass(t.header).addClass(t.activeHeader),this.headers.addClass("ui-accordion-icons"))},_destroyIcons:function(){this.headers.removeClass("ui-accordion-icons").children(".ui-accordion-header-icon").remove()},_destroy:function(){var e;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role"),this.headers.removeClass("ui-accordion-header ui-accordion-header-active ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-selected").removeAttr("aria-controls").removeAttr("tabIndex").each(function(){/^ui-accordion/.test(this.id)&&this.removeAttribute("id")}),this._destroyIcons(),e=this.headers.next().css("display","").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-state-disabled").each(function(){/^ui-accordion/.test(this.id)&&this.removeAttribute("id")}),this.options.heightStyle!=="content"&&e.css("height","")},_setOption:function(e,t){if(e==="active"){this._activate(t);return}e==="event"&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(t)),this._super(e,t),e==="collapsible"&&!t&&this.options.active===!1&&this._activate(0),e==="icons"&&(this._destroyIcons(),t&&this._createIcons()),e==="disabled"&&this.headers.add(this.headers.next()).toggleClass("ui-state-disabled",!!t)},_keydown:function(t){if(t.altKey||t.ctrlKey)return;var n=e.ui.keyCode,r=this.headers.length,i=this.headers.index(t.target),s=!1;switch(t.keyCode){case n.RIGHT:case n.DOWN:s=this.headers[(i+1)%r];break;case n.LEFT:case n.UP:s=this.headers[(i-1+r)%r];break;case n.SPACE:case n.ENTER:this._eventHandler(t);break;case n.HOME:s=this.headers[0];break;case n.END:s=this.headers[r-1]}s&&(e(t.target).attr("tabIndex",-1),e(s).attr("tabIndex",0),s.focus(),t.preventDefault())},_panelKeyDown:function(t){t.keyCode===e.ui.keyCode.UP&&t.ctrlKey&&e(t.currentTarget).prev().focus()},refresh:function(){var t=this.options;this._processPanels();if(t.active===!1&&t.collapsible===!0||!this.headers.length)t.active=!1,this.active=e();t.active===!1?this._activate(0):this.active.length&&!e.contains(this.element[0],this.active[0])?this.headers.length===this.headers.find(".ui-state-disabled").length?(t.active=!1,this.active=e()):this._activate(Math.max(0,t.active-1)):t.active=this.headers.index(this.active),this._destroyIcons(),this._refresh()},_processPanels:function(){this.headers=this.element.find(this.options.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all"),this.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom").filter(":not(.ui-accordion-content-active)").hide()},_refresh:function(){var t,r=this.options,i=r.heightStyle,s=this.element.parent(),o=this.accordionId="ui-accordion-"+(this.element.attr("id")||++n);this.active=this._findActive(r.active).addClass("ui-accordion-header-active ui-state-active").toggleClass("ui-corner-all ui-corner-top"),this.active.next().addClass("ui-accordion-content-active").show(),this.headers.attr("role","tab").each(function(t){var n=e(this),r=n.attr("id"),i=n.next(),s=i.attr("id");r||(r=o+"-header-"+t,n.attr("id",r)),s||(s=o+"-panel-"+t,i.attr("id",s)),n.attr("aria-controls",s),i.attr("aria-labelledby",r)}).next().attr("role","tabpanel"),this.headers.not(this.active).attr({"aria-selected":"false",tabIndex:-1}).next().attr({"aria-expanded":"false","aria-hidden":"true"}).hide(),this.active.length?this.active.attr({"aria-selected":"true",tabIndex:0}).next().attr({"aria-expanded":"true","aria-hidden":"false"}):this.headers.eq(0).attr("tabIndex",0),this._createIcons(),this._setupEvents(r.event),i==="fill"?(t=s.height(),this.element.siblings(":visible").each(function(){var n=e(this),r=n.css("position");if(r==="absolute"||r==="fixed")return;t-=n.outerHeight(!0)}),this.headers.each(function(){t-=e(this).outerHeight(!0)}),this.headers.next().each(function(){e(this).height(Math.max(0,t-e(this).innerHeight()+e(this).height()))}).css("overflow","auto")):i==="auto"&&(t=0,this.headers.next().each(function(){t=Math.max(t,e(this).css("height","").height())}).height(t))},_activate:function(t){var n=this._findActive(t)[0];if(n===this.active[0])return;n=n||this.active[0],this._eventHandler({target:n,currentTarget:n,preventDefault:e.noop})},_findActive:function(t){return typeof t=="number"?this.headers.eq(t):e()},_setupEvents:function(t){var n={keydown:"_keydown"};t&&e.each(t.split(" "),function(e,t){n[t]="_eventHandler"}),this._off(this.headers.add(this.headers.next())),this._on(this.headers,n),this._on(this.headers.next(),{keydown:"_panelKeyDown"}),this._hoverable(this.headers),this._focusable(this.headers)},_eventHandler:function(t){var n=this.options,r=this.active,i=e(t.currentTarget),s=i[0]===r[0],o=s&&n.collapsible,u=o?e():i.next(),a=r.next(),f={oldHeader:r,oldPanel:a,newHeader:o?e():i,newPanel:u};t.preventDefault();if(s&&!n.collapsible||this._trigger("beforeActivate",t,f)===!1)return;n.active=o?!1:this.headers.index(i),this.active=s?e():i,this._toggle(f),r.removeClass("ui-accordion-header-active ui-state-active"),n.icons&&r.children(".ui-accordion-header-icon").removeClass(n.icons.activeHeader).addClass(n.icons.header),s||(i.removeClass("ui-corner-all").addClass("ui-accordion-header-active ui-state-active ui-corner-top"),n.icons&&i.children(".ui-accordion-header-icon").removeClass(n.icons.header).addClass(n.icons.activeHeader),i.next().addClass("ui-accordion-content-active"))},_toggle:function(t){var n=t.newPanel,r=this.prevShow.length?this.prevShow:t.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=n,this.prevHide=r,this.options.animate?this._animate(n,r,t):(r.hide(),n.show(),this._toggleComplete(t)),r.attr({"aria-expanded":"false","aria-hidden":"true"}),r.prev().attr("aria-selected","false"),n.length&&r.length?r.prev().attr("tabIndex",-1):n.length&&this.headers.filter(function(){return e(this).attr("tabIndex")===0}).attr("tabIndex",-1),n.attr({"aria-expanded":"true","aria-hidden":"false"}).prev().attr({"aria-selected":"true",tabIndex:0})},_animate:function(e,t,n){var s,o,u,a=this,f=0,l=e.length&&(!t.length||e.index()",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},pending:0,_create:function(){var t,n,r;this.isMultiLine=this._isMultiLine(),this.valueMethod=this.element[this.element.is("input,textarea")?"val":"text"],this.isNewMenu=!0,this.element.addClass("ui-autocomplete-input").attr("autocomplete","off"),this._on(this.element,{keydown:function(i){if(this.element.prop("readOnly")){t=!0,r=!0,n=!0;return}t=!1,r=!1,n=!1;var s=e.ui.keyCode;switch(i.keyCode){case s.PAGE_UP:t=!0,this._move("previousPage",i);break;case s.PAGE_DOWN:t=!0,this._move("nextPage",i);break;case s.UP:t=!0,this._keyEvent("previous",i);break;case s.DOWN:t=!0,this._keyEvent("next",i);break;case s.ENTER:case s.NUMPAD_ENTER:this.menu.active&&(t=!0,i.preventDefault(),this.menu.select(i));break;case s.TAB:this.menu.active&&this.menu.select(i);break;case s.ESCAPE:this.menu.element.is(":visible")&&(this._value(this.term),this.close(i),i.preventDefault());break;default:n=!0,this._searchTimeout(i)}},keypress:function(r){if(t){t=!1,r.preventDefault();return}if(n)return;var i=e.ui.keyCode;switch(r.keyCode){case i.PAGE_UP:this._move("previousPage",r);break;case i.PAGE_DOWN:this._move("nextPage",r);break;case i.UP:this._keyEvent("previous",r);break;case i.DOWN:this._keyEvent("next",r)}},input:function(e){if(r){r=!1,e.preventDefault();return}this._searchTimeout(e)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(e){if(this.cancelBlur){delete this.cancelBlur;return}clearTimeout(this.searching),this.close(e),this._change(e)}}),this._initSource(),this.menu=e("
            "+(V[0]>0&&T===V[1]-1?"
            ":""):""),x+=k}w+=x}return w+=f,e._keyEvent=!1,w},_generateMonthYearHeader:function(e,t,n,r,i,s,o,u){var a,f,l,c,h,p,d,v,m=this._get(e,"changeMonth"),g=this._get(e,"changeYear"),y=this._get(e,"showMonthAfterYear"),b="
            ",w="";if(s||!m)w+=""+o[t]+"";else{a=r&&r.getFullYear()===n,f=i&&i.getFullYear()===n,w+=""}y||(b+=w+(s||!m||!g?" ":""));if(!e.yearshtml){e.yearshtml="";if(s||!g)b+=""+n+"";else{c=this._get(e,"yearRange").split(":"),h=(new Date).getFullYear(),p=function(e){var t=e.match(/c[+\-].*/)?n+parseInt(e.substring(1),10):e.match(/[+\-].*/)?h+parseInt(e,10):parseInt(e,10);return isNaN(t)?h:t},d=p(c[0]),v=Math.max(d,p(c[1]||"")),d=r?Math.max(d,r.getFullYear()):d,v=i?Math.min(v,i.getFullYear()):v,e.yearshtml+="",b+=e.yearshtml,e.yearshtml=null}}return b+=this._get(e,"yearSuffix"),y&&(b+=(s||!m||!g?" ":"")+w),b+="
            ",b},_adjustInstDate:function(e,t,n){var r=e.drawYear+(n==="Y"?t:0),i=e.drawMonth+(n==="M"?t:0),s=Math.min(e.selectedDay,this._getDaysInMonth(r,i))+(n==="D"?t:0),o=this._restrictMinMax(e,this._daylightSavingAdjust(new Date(r,i,s)));e.selectedDay=o.getDate(),e.drawMonth=e.selectedMonth=o.getMonth(),e.drawYear=e.selectedYear=o.getFullYear(),(n==="M"||n==="Y")&&this._notifyChange(e)},_restrictMinMax:function(e,t){var n=this._getMinMaxDate(e,"min"),r=this._getMinMaxDate(e,"max"),i=n&&tr?r:i},_notifyChange:function(e){var t=this._get(e,"onChangeMonthYear");t&&t.apply(e.input?e.input[0]:null,[e.selectedYear,e.selectedMonth+1,e])},_getNumberOfMonths:function(e){var t=this._get(e,"numberOfMonths");return t==null?[1,1]:typeof t=="number"?[1,t]:t},_getMinMaxDate:function(e,t){return this._determineDate(e,this._get(e,t+"Date"),null)},_getDaysInMonth:function(e,t){return 32-this._daylightSavingAdjust(new Date(e,t,32)).getDate()},_getFirstDayOfMonth:function(e,t){return(new Date(e,t,1)).getDay()},_canAdjustMonth:function(e,t,n,r){var i=this._getNumberOfMonths(e),s=this._daylightSavingAdjust(new Date(n,r+(t<0?t:i[0]*i[1]),1));return t<0&&s.setDate(this._getDaysInMonth(s.getFullYear(),s.getMonth())),this._isInRange(e,s)},_isInRange:function(e,t){var n,r,i=this._getMinMaxDate(e,"min"),s=this._getMinMaxDate(e,"max"),o=null,u=null,a=this._get(e,"yearRange");return a&&(n=a.split(":"),r=(new Date).getFullYear(),o=parseInt(n[0],10)+r,u=parseInt(n[1],10)+r),(!i||t.getTime()>=i.getTime())&&(!s||t.getTime()<=s.getTime())&&(!o||t.getFullYear()>=o)&&(!u||t.getFullYear()<=u)},_getFormatConfig:function(e){var t=this._get(e,"shortYearCutoff");return t=typeof t!="string"?t:(new Date).getFullYear()%100+parseInt(t,10),{shortYearCutoff:t,dayNamesShort:this._get(e,"dayNamesShort"),dayNames:this._get(e,"dayNames"),monthNamesShort:this._get(e,"monthNamesShort"),monthNames:this._get(e,"monthNames")}},_formatDate:function(e,t,n,r){t||(e.currentDay=e.selectedDay,e.currentMonth=e.selectedMonth,e.currentYear=e.selectedYear);var i=t?typeof t=="object"?t:this._daylightSavingAdjust(new Date(r,n,t)):this._daylightSavingAdjust(new Date(e.currentYear,e.currentMonth,e.currentDay));return this.formatDate(this._get(e,"dateFormat"),i,this._getFormatConfig(e))}}),e.fn.datepicker=function(t){if(!this.length)return this;e.datepicker.initialized||(e(document).mousedown(e.datepicker._checkExternalClick),e.datepicker.initialized=!0),e("#"+e.datepicker._mainDivId).length===0&&e("body").append(e.datepicker.dpDiv);var n=Array.prototype.slice.call(arguments,1);return typeof t!="string"||t!=="isDisabled"&&t!=="getDate"&&t!=="widget"?t==="option"&&arguments.length===2&&typeof arguments[1]=="string"?e.datepicker["_"+t+"Datepicker"].apply(e.datepicker,[this[0]].concat(n)):this.each(function(){typeof t=="string"?e.datepicker["_"+t+"Datepicker"].apply(e.datepicker,[this].concat(n)):e.datepicker._attachDatepicker(this,t)}):e.datepicker["_"+t+"Datepicker"].apply(e.datepicker,[this[0]].concat(n))},e.datepicker=new s,e.datepicker.initialized=!1,e.datepicker.uuid=(new Date).getTime(),e.datepicker.version="1.10.0",window["DP_jQuery_"+r]=e})(jQuery);(function(e,t){var n={buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},r={maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0};e.widget("ui.dialog",{version:"1.10.0",options:{appendTo:"body",autoOpen:!0,buttons:[],closeOnEscape:!0,closeText:"close",dialogClass:"",draggable:!0,hide:null,height:"auto",maxHeight:null,maxWidth:null,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",of:window,collision:"fit",using:function(t){var n=e(this).css(t).offset().top;n<0&&e(this).css("top",t.top-n)}},resizable:!0,show:null,title:null,width:300,beforeClose:null,close:null,drag:null,dragStart:null,dragStop:null,focus:null,open:null,resize:null,resizeStart:null,resizeStop:null},_create:function(){this.originalCss={display:this.element[0].style.display,width:this.element[0].style.width,minHeight:this.element[0].style.minHeight,maxHeight:this.element[0].style.maxHeight,height:this.element[0].style.height},this.originalPosition={parent:this.element.parent(),index:this.element.parent().children().index(this.element)},this.originalTitle=this.element.attr("title"),this.options.title=this.options.title||this.originalTitle,this._createWrapper(),this.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(this.uiDialog),this._createTitlebar(),this._createButtonPane(),this.options.draggable&&e.fn.draggable&&this._makeDraggable(),this.options.resizable&&e.fn.resizable&&this._makeResizable(),this._isOpen=!1},_init:function(){this.options.autoOpen&&this.open()},_appendTo:function(){var t=this.options.appendTo;return t&&(t.jquery||t.nodeType)?e(t):this.document.find(t||"body").eq(0)},_destroy:function(){var e,t=this.originalPosition;this._destroyOverlay(),this.element.removeUniqueId().removeClass("ui-dialog-content ui-widget-content").css(this.originalCss).detach(),this.uiDialog.stop(!0,!0).remove(),this.originalTitle&&this.element.attr("title",this.originalTitle),e=t.parent.children().eq(t.index),e.length&&e[0]!==this.element[0]?e.before(this.element):t.parent.append(this.element)},widget:function(){return this.uiDialog},disable:e.noop,enable:e.noop,close:function(t){var n=this;if(!this._isOpen||this._trigger("beforeClose",t)===!1)return;this._isOpen=!1,this._destroyOverlay(),this.opener.filter(":focusable").focus().length||e(this.document[0].activeElement).blur(),this._hide(this.uiDialog,this.options.hide,function(){n._trigger("close",t)})},isOpen:function(){return this._isOpen},moveToTop:function(){this._moveToTop()},_moveToTop:function(e,t){var n=!!this.uiDialog.nextAll(":visible").insertBefore(this.uiDialog).length;return n&&!t&&this._trigger("focus",e),n},open:function(){if(this._isOpen){this._moveToTop()&&this._focusTabbable();return}this.opener=e(this.document[0].activeElement),this._size(),this._position(),this._createOverlay(),this._moveToTop(null,!0),this._show(this.uiDialog,this.options.show),this._focusTabbable(),this._isOpen=!0,this._trigger("open"),this._trigger("focus")},_focusTabbable:function(){var e=this.element.find("[autofocus]");e.length||(e=this.element.find(":tabbable")),e.length||(e=this.uiDialogButtonPane.find(":tabbable")),e.length||(e=this.uiDialogTitlebarClose.filter(":tabbable")),e.length||(e=this.uiDialog),e.eq(0).focus()},_keepFocus:function(t){function n(){var t=this.document[0].activeElement,n=this.uiDialog[0]===t||e.contains(this.uiDialog[0],t);n||this._focusTabbable()}t.preventDefault(),n.call(this),this._delay(n)},_createWrapper:function(){this.uiDialog=e("
            ").addClass("ui-dialog ui-widget ui-widget-content ui-corner-all ui-front "+this.options.dialogClass).hide().attr({tabIndex:-1,role:"dialog"}).appendTo(this._appendTo()),this._on(this.uiDialog,{keydown:function(t){if(this.options.closeOnEscape&&!t.isDefaultPrevented()&&t.keyCode&&t.keyCode===e.ui.keyCode.ESCAPE){t.preventDefault(),this.close(t);return}if(t.keyCode!==e.ui.keyCode.TAB)return;var n=this.uiDialog.find(":tabbable"),r=n.filter(":first"),i=n.filter(":last");t.target!==i[0]&&t.target!==this.uiDialog[0]||!!t.shiftKey?(t.target===r[0]||t.target===this.uiDialog[0])&&t.shiftKey&&(i.focus(1),t.preventDefault()):(r.focus(1),t.preventDefault())},mousedown:function(e){this._moveToTop(e)&&this._focusTabbable()}}),this.element.find("[aria-describedby]").length||this.uiDialog.attr({"aria-describedby":this.element.uniqueId().attr("id")})},_createTitlebar:function(){var t;this.uiDialogTitlebar=e("
            ").addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(this.uiDialog),this._on(this.uiDialogTitlebar,{mousedown:function(t){e(t.target).closest(".ui-dialog-titlebar-close")||this.uiDialog.focus()}}),this.uiDialogTitlebarClose=e("").button({label:this.options.closeText,icons:{primary:"ui-icon-closethick"},text:!1}).addClass("ui-dialog-titlebar-close").appendTo(this.uiDialogTitlebar),this._on(this.uiDialogTitlebarClose,{click:function(e){e.preventDefault(),this.close(e)}}),t=e("").uniqueId().addClass("ui-dialog-title").prependTo(this.uiDialogTitlebar),this._title(t),this.uiDialog.attr({"aria-labelledby":t.attr("id")})},_title:function(e){this.options.title||e.html(" "),e.text(this.options.title)},_createButtonPane:function(){this.uiDialogButtonPane=e("
            ").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),this.uiButtonSet=e("
            ").addClass("ui-dialog-buttonset").appendTo(this.uiDialogButtonPane),this._createButtons()},_createButtons:function(){var t=this,n=this.options.buttons;this.uiDialogButtonPane.remove(),this.uiButtonSet.empty();if(e.isEmptyObject(n)){this.uiDialog.removeClass("ui-dialog-buttons");return}e.each(n,function(n,r){var i,s;r=e.isFunction(r)?{click:r,text:n}:r,r=e.extend({type:"button"},r),i=r.click,r.click=function(){i.apply(t.element[0],arguments)},s={icons:r.icons,text:r.showText},delete r.icons,delete r.showText,e("",r).button(s).appendTo(t.uiButtonSet)}),this.uiDialog.addClass("ui-dialog-buttons"),this.uiDialogButtonPane.appendTo(this.uiDialog)},_makeDraggable:function(){function r(e){return{position:e.position,offset:e.offset}}var t=this,n=this.options;this.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(n,i){e(this).addClass("ui-dialog-dragging"),t._trigger("dragStart",n,r(i))},drag:function(e,n){t._trigger("drag",e,r(n))},stop:function(i,s){n.position=[s.position.left-t.document.scrollLeft(),s.position.top-t.document.scrollTop()],e(this).removeClass("ui-dialog-dragging"),t._trigger("dragStop",i,r(s))}})},_makeResizable:function(){function o(e){return{originalPosition:e.originalPosition,originalSize:e.originalSize,position:e.position,size:e.size}}var t=this,n=this.options,r=n.resizable,i=this.uiDialog.css("position"),s=typeof r=="string"?r:"n,e,s,w,se,sw,ne,nw";this.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:this.element,maxWidth:n.maxWidth,maxHeight:n.maxHeight,minWidth:n.minWidth,minHeight:this._minHeight(),handles:s,start:function(n,r){e(this).addClass("ui-dialog-resizing"),t._trigger("resizeStart",n,o(r))},resize:function(e,n){t._trigger("resize",e,o(n))},stop:function(r,i){n.height=e(this).height(),n.width=e(this).width(),e(this).removeClass("ui-dialog-resizing"),t._trigger("resizeStop",r,o(i))}}).css("position",i)},_minHeight:function(){var e=this.options;return e.height==="auto"?e.minHeight:Math.min(e.minHeight,e.height)},_position:function(){var e=this.uiDialog.is(":visible");e||this.uiDialog.show(),this.uiDialog.position(this.options.position),e||this.uiDialog.hide()},_setOptions:function(t){var i=this,s=!1,o={};e.each(t,function(e,t){i._setOption(e,t),e in n&&(s=!0),e in r&&(o[e]=t)}),s&&(this._size(),this._position()),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option",o)},_setOption:function(e,t){var n,r,i=this.uiDialog;e==="dialogClass"&&i.removeClass(this.options.dialogClass).addClass(t);if(e==="disabled")return;this._super(e,t),e==="appendTo"&&this.uiDialog.appendTo(this._appendTo()),e==="buttons"&&this._createButtons(),e==="closeText"&&this.uiDialogTitlebarClose.button({label:""+t}),e==="draggable"&&(n=i.is(":data(ui-draggable)"),n&&!t&&i.draggable("destroy"),!n&&t&&this._makeDraggable()),e==="position"&&this._position(),e==="resizable"&&(r=i.is(":data(ui-resizable)"),r&&!t&&i.resizable("destroy"),r&&typeof t=="string"&&i.resizable("option","handles",t),!r&&t!==!1&&this._makeResizable()),e==="title"&&this._title(this.uiDialogTitlebar.find(".ui-dialog-title"))},_size:function(){var e,t,n,r=this.options;this.element.show().css({width:"auto",minHeight:0,maxHeight:"none",height:0}),r.minWidth>r.width&&(r.width=r.minWidth),e=this.uiDialog.css({height:"auto",width:r.width}).outerHeight(),t=Math.max(0,r.minHeight-e),n=typeof r.maxHeight=="number"?Math.max(0,r.maxHeight-e):"none",r.height==="auto"?this.element.css({minHeight:t,maxHeight:n,height:"auto"}):this.element.height(Math.max(0,r.height-e)),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())},_createOverlay:function(){if(!this.options.modal)return;e.ui.dialog.overlayInstances||this._delay(function(){e.ui.dialog.overlayInstances&&this._on(this.document,{focusin:function(t){e(t.target).closest(".ui-dialog").length||(t.preventDefault(),e(".ui-dialog:visible:last .ui-dialog-content").data("ui-dialog")._focusTabbable())}})}),this.overlay=e("
            ").addClass("ui-widget-overlay ui-front").appendTo(this.document[0].body),this._on(this.overlay,{mousedown:"_keepFocus"}),e.ui.dialog.overlayInstances++},_destroyOverlay:function(){if(!this.options.modal)return;e.ui.dialog.overlayInstances--,e.ui.dialog.overlayInstances||this._off(this.document,"focusin"),this.overlay.remove()}}),e.ui.dialog.overlayInstances=0,e.uiBackCompat!==!1&&e.widget("ui.dialog",e.ui.dialog,{_position:function(){var t=this.options.position,n=[],r=[0,0],i;if(t){if(typeof t=="string"||typeof t=="object"&&"0"in t)n=t.split?t.split(" "):[t[0],t[1]],n.length===1&&(n[1]=n[0]),e.each(["left","top"],function(e,t){+n[e]===n[e]&&(r[e]=n[e],n[e]=t)}),t={my:n[0]+(r[0]<0?r[0]:"+"+r[0])+" "+n[1]+(r[1]<0?r[1]:"+"+r[1]),at:n.join(" ")};t=e.extend({},e.ui.dialog.prototype.options.position,t)}else t=e.ui.dialog.prototype.options.position;i=this.uiDialog.is(":visible"),i||this.uiDialog.show(),this.uiDialog.position(t),i||this.uiDialog.hide()}})})(jQuery);(function(e,t){e.widget("ui.menu",{version:"1.10.0",defaultElement:"
              ",delay:300,options:{icons:{submenu:"ui-icon-carat-1-e"},menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.element.uniqueId().addClass("ui-menu ui-widget ui-widget-content ui-corner-all").toggleClass("ui-menu-icons",!!this.element.find(".ui-icon").length).attr({role:this.options.role,tabIndex:0}).bind("click"+this.eventNamespace,e.proxy(function(e){this.options.disabled&&e.preventDefault()},this)),this.options.disabled&&this.element.addClass("ui-state-disabled").attr("aria-disabled","true"),this._on({"mousedown .ui-menu-item > a":function(e){e.preventDefault()},"click .ui-state-disabled > a":function(e){e.preventDefault()},"click .ui-menu-item:has(a)":function(t){var n=e(t.target).closest(".ui-menu-item");!this.mouseHandled&&n.not(".ui-state-disabled").length&&(this.mouseHandled=!0,this.select(t),n.has(".ui-menu").length?this.expand(t):this.element.is(":focus")||(this.element.trigger("focus",[!0]),this.active&&this.active.parents(".ui-menu").length===1&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(t){var n=e(t.currentTarget);n.siblings().children(".ui-state-active").removeClass("ui-state-active"),this.focus(t,n)},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(e,t){var n=this.active||this.element.children(".ui-menu-item").eq(0);t||this.focus(e,n)},blur:function(t){this._delay(function(){e.contains(this.element[0],this.document[0].activeElement)||this.collapseAll(t)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(t){e(t.target).closest(".ui-menu").length||this.collapseAll(t),this.mouseHandled=!1}})},_destroy:function(){this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeClass("ui-menu ui-widget ui-widget-content ui-corner-all ui-menu-icons").removeAttr("role").removeAttr("tabIndex").removeAttr("aria-labelledby").removeAttr("aria-expanded").removeAttr("aria-hidden").removeAttr("aria-disabled").removeUniqueId().show(),this.element.find(".ui-menu-item").removeClass("ui-menu-item").removeAttr("role").removeAttr("aria-disabled").children("a").removeUniqueId().removeClass("ui-corner-all ui-state-hover").removeAttr("tabIndex").removeAttr("role").removeAttr("aria-haspopup").children().each(function(){var t=e(this);t.data("ui-menu-submenu-carat")&&t.remove()}),this.element.find(".ui-menu-divider").removeClass("ui-menu-divider ui-widget-content")},_keydown:function(t){function a(e){return e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}var n,r,i,s,o,u=!0;switch(t.keyCode){case e.ui.keyCode.PAGE_UP:this.previousPage(t);break;case e.ui.keyCode.PAGE_DOWN:this.nextPage(t);break;case e.ui.keyCode.HOME:this._move("first","first",t);break;case e.ui.keyCode.END:this._move("last","last",t);break;case e.ui.keyCode.UP:this.previous(t);break;case e.ui.keyCode.DOWN:this.next(t);break;case e.ui.keyCode.LEFT:this.collapse(t);break;case e.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(t);break;case e.ui.keyCode.ENTER:case e.ui.keyCode.SPACE:this._activate(t);break;case e.ui.keyCode.ESCAPE:this.collapse(t);break;default:u=!1,r=this.previousFilter||"",i=String.fromCharCode(t.keyCode),s=!1,clearTimeout(this.filterTimer),i===r?s=!0:i=r+i,o=new RegExp("^"+a(i),"i"),n=this.activeMenu.children(".ui-menu-item").filter(function(){return o.test(e(this).children("a").text())}),n=s&&n.index(this.active.next())!==-1?this.active.nextAll(".ui-menu-item"):n,n.length||(i=String.fromCharCode(t.keyCode),o=new RegExp("^"+a(i),"i"),n=this.activeMenu.children(".ui-menu-item").filter(function(){return o.test(e(this).children("a").text())})),n.length?(this.focus(t,n),n.length>1?(this.previousFilter=i,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter):delete this.previousFilter}u&&t.preventDefault()},_activate:function(e){this.active.is(".ui-state-disabled")||(this.active.children("a[aria-haspopup='true']").length?this.expand(e):this.select(e))},refresh:function(){var t,n=this.options.icons.submenu,r=this.element.find(this.options.menus);r.filter(":not(.ui-menu)").addClass("ui-menu ui-widget ui-widget-content ui-corner-all").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var t=e(this),r=t.prev("a"),i=e("").addClass("ui-menu-icon ui-icon "+n).data("ui-menu-submenu-carat",!0);r.attr("aria-haspopup","true").prepend(i),t.attr("aria-labelledby",r.attr("id"))}),t=r.add(this.element),t.children(":not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","presentation").children("a").uniqueId().addClass("ui-corner-all").attr({tabIndex:-1,role:this._itemRole()}),t.children(":not(.ui-menu-item)").each(function(){var t=e(this);/[^\-—–\s]/.test(t.text())||t.addClass("ui-widget-content ui-menu-divider")}),t.children(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!e.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(e,t){e==="icons"&&this.element.find(".ui-menu-icon").removeClass(this.options.icons.submenu).addClass(t.submenu),this._super(e,t)},focus:function(e,t){var n,r;this.blur(e,e&&e.type==="focus"),this._scrollIntoView(t),this.active=t.first(),r=this.active.children("a").addClass("ui-state-focus"),this.options.role&&this.element.attr("aria-activedescendant",r.attr("id")),this.active.parent().closest(".ui-menu-item").children("a:first").addClass("ui-state-active"),e&&e.type==="keydown"?this._close():this.timer=this._delay(function(){this._close()},this.delay),n=t.children(".ui-menu"),n.length&&/^mouse/.test(e.type)&&this._startOpening(n),this.activeMenu=t.parent(),this._trigger("focus",e,{item:t})},_scrollIntoView:function(t){var n,r,i,s,o,u;this._hasScroll()&&(n=parseFloat(e.css(this.activeMenu[0],"borderTopWidth"))||0,r=parseFloat(e.css(this.activeMenu[0],"paddingTop"))||0,i=t.offset().top-this.activeMenu.offset().top-n-r,s=this.activeMenu.scrollTop(),o=this.activeMenu.height(),u=t.height(),i<0?this.activeMenu.scrollTop(s+i):i+u>o&&this.activeMenu.scrollTop(s+i-o+u))},blur:function(e,t){t||clearTimeout(this.timer);if(!this.active)return;this.active.children("a").removeClass("ui-state-focus"),this.active=null,this._trigger("blur",e,{item:this.active})},_startOpening:function(e){clearTimeout(this.timer);if(e.attr("aria-hidden")!=="true")return;this.timer=this._delay(function(){this._close(),this._open(e)},this.delay)},_open:function(t){var n=e.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(t.parents(".ui-menu")).hide().attr("aria-hidden","true"),t.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(n)},collapseAll:function(t,n){clearTimeout(this.timer),this.timer=this._delay(function(){var r=n?this.element:e(t&&t.target).closest(this.element.find(".ui-menu"));r.length||(r=this.element),this._close(r),this.blur(t),this.activeMenu=r},this.delay)},_close:function(e){e||(e=this.active?this.active.parent():this.element),e.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false").end().find("a.ui-state-active").removeClass("ui-state-active")},collapse:function(e){var t=this.active&&this.active.parent().closest(".ui-menu-item",this.element);t&&t.length&&(this._close(),this.focus(e,t))},expand:function(e){var t=this.active&&this.active.children(".ui-menu ").children(".ui-menu-item").first();t&&t.length&&(this._open(t.parent()),this._delay(function(){this.focus(e,t)}))},next:function(e){this._move("next","first",e)},previous:function(e){this._move("prev","last",e)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(e,t,n){var r;this.active&&(e==="first"||e==="last"?r=this.active[e==="first"?"prevAll":"nextAll"](".ui-menu-item").eq(-1):r=this.active[e+"All"](".ui-menu-item").eq(0));if(!r||!r.length||!this.active)r=this.activeMenu.children(".ui-menu-item")[t]();this.focus(n,r)},nextPage:function(t){var n,r,i;if(!this.active){this.next(t);return}if(this.isLastItem())return;this._hasScroll()?(r=this.active.offset().top,i=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return n=e(this),n.offset().top-r-i<0}),this.focus(t,n)):this.focus(t,this.activeMenu.children(".ui-menu-item")[this.active?"last":"first"]())},previousPage:function(t){var n,r,i;if(!this.active){this.next(t);return}if(this.isFirstItem())return;this._hasScroll()?(r=this.active.offset().top,i=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return n=e(this),n.offset().top-r+i>0}),this.focus(t,n)):this.focus(t,this.activeMenu.children(".ui-menu-item").first())},_hasScroll:function(){return this.element.outerHeight()
            ").appendTo(this.element),this._refreshValue()},_destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.valueDiv.remove()},value:function(e){if(e===t)return this.options.value;this.options.value=this._constrainedValue(e),this._refreshValue()},_constrainedValue:function(e){return e===t&&(e=this.options.value),this.indeterminate=e===!1,typeof e!="number"&&(e=0),this.indeterminate?!1:Math.min(this.options.max,Math.max(this.min,e))},_setOptions:function(e){var t=e.value;delete e.value,this._super(e),this.options.value=this._constrainedValue(t),this._refreshValue()},_setOption:function(e,t){e==="max"&&(t=Math.max(this.min,t)),this._super(e,t)},_percentage:function(){return this.indeterminate?100:100*(this.options.value-this.min)/(this.options.max-this.min)},_refreshValue:function(){var t=this.options.value,n=this._percentage();this.valueDiv.toggle(this.indeterminate||t>this.min).toggleClass("ui-corner-right",t===this.options.max).width(n.toFixed(0)+"%"),this.element.toggleClass("ui-progressbar-indeterminate",this.indeterminate),this.indeterminate?(this.element.removeAttr("aria-valuenow"),this.overlayDiv||(this.overlayDiv=e("
            ").appendTo(this.valueDiv))):(this.element.attr({"aria-valuemax":this.options.max,"aria-valuenow":t}),this.overlayDiv&&(this.overlayDiv.remove(),this.overlayDiv=null)),this.oldValue!==t&&(this.oldValue=t,this._trigger("change")),t===this.options.max&&this._trigger("complete")}})})(jQuery);(function(e,t){var n=5;e.widget("ui.slider",e.ui.mouse,{version:"1.10.0",widgetEventPrefix:"slide",options:{animate:!1,distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null,change:null,slide:null,start:null,stop:null},_create:function(){var t,n,r=this.options,i=this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),s="",o=[];this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this.element.addClass("ui-slider ui-slider-"+this.orientation+" ui-widget"+" ui-widget-content"+" ui-corner-all"),this.range=e([]),r.range&&(r.range===!0&&(r.values?r.values.length&&r.values.length!==2?r.values=[r.values[0],r.values[0]]:e.isArray(r.values)&&(r.values=r.values.slice(0)):r.values=[this._valueMin(),this._valueMin()]),this.range=e("
            ").appendTo(this.element).addClass("ui-slider-range ui-widget-header"+(r.range==="min"||r.range==="max"?" ui-slider-range-"+r.range:""))),n=r.values&&r.values.length||1;for(t=i.length;tn||i===n&&(t===l._lastChangedValue||l.values(t)===c.min))i=n,s=e(this),o=t}),u=this._start(t,o),u===!1?!1:(this._mouseSliding=!0,this._handleIndex=o,s.addClass("ui-state-active").focus(),a=s.offset(),f=!e(t.target).parents().addBack().is(".ui-slider-handle"),this._clickOffset=f?{left:0,top:0}:{left:t.pageX-a.left-s.width()/2,top:t.pageY-a.top-s.height()/2-(parseInt(s.css("borderTopWidth"),10)||0)-(parseInt(s.css("borderBottomWidth"),10)||0)+(parseInt(s.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(t,o,r),this._animateOff=!0,!0))},_mouseStart:function(){return!0},_mouseDrag:function(e){var t={x:e.pageX,y:e.pageY},n=this._normValueFromMouse(t);return this._slide(e,this._handleIndex,n),!1},_mouseStop:function(e){return this.handles.removeClass("ui-state-active"),this._mouseSliding=!1,this._stop(e,this._handleIndex),this._change(e,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation=this.options.orientation==="vertical"?"vertical":"horizontal"},_normValueFromMouse:function(e){var t,n,r,i,s;return this.orientation==="horizontal"?(t=this.elementSize.width,n=e.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(t=this.elementSize.height,n=e.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),r=n/t,r>1&&(r=1),r<0&&(r=0),this.orientation==="vertical"&&(r=1-r),i=this._valueMax()-this._valueMin(),s=this._valueMin()+r*i,this._trimAlignValue(s)},_start:function(e,t){var n={handle:this.handles[t],value:this.value()};return this.options.values&&this.options.values.length&&(n.value=this.values(t),n.values=this.values()),this._trigger("start",e,n)},_slide:function(e,t,n){var r,i,s;this.options.values&&this.options.values.length?(r=this.values(t?0:1),this.options.values.length===2&&this.options.range===!0&&(t===0&&n>r||t===1&&n1){this.options.values[t]=this._trimAlignValue(n),this._refreshValue(),this._change(null,t);return}if(!arguments.length)return this._values();if(!e.isArray(arguments[0]))return this.options.values&&this.options.values.length?this._values(t):this.value();r=this.options.values,i=arguments[0];for(s=0;s=this._valueMax())return this._valueMax();var t=this.options.step>0?this.options.step:1,n=(e-this._valueMin())%t,r=e-n;return Math.abs(n)*2>=t&&(r+=n>0?t:-t),parseFloat(r.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},_refreshValue:function(){var t,n,r,i,s,o=this.options.range,u=this.options,a=this,f=this._animateOff?!1:u.animate,l={};this.options.values&&this.options.values.length?this.handles.each(function(r){n=(a.values(r)-a._valueMin())/(a._valueMax()-a._valueMin())*100,l[a.orientation==="horizontal"?"left":"bottom"]=n+"%",e(this).stop(1,1)[f?"animate":"css"](l,u.animate),a.options.range===!0&&(a.orientation==="horizontal"?(r===0&&a.range.stop(1,1)[f?"animate":"css"]({left:n+"%"},u.animate),r===1&&a.range[f?"animate":"css"]({width:n-t+"%"},{queue:!1,duration:u.animate})):(r===0&&a.range.stop(1,1)[f?"animate":"css"]({bottom:n+"%"},u.animate),r===1&&a.range[f?"animate":"css"]({height:n-t+"%"},{queue:!1,duration:u.animate}))),t=n}):(r=this.value(),i=this._valueMin(),s=this._valueMax(),n=s!==i?(r-i)/(s-i)*100:0,l[this.orientation==="horizontal"?"left":"bottom"]=n+"%",this.handle.stop(1,1)[f?"animate":"css"](l,u.animate),o==="min"&&this.orientation==="horizontal"&&this.range.stop(1,1)[f?"animate":"css"]({width:n+"%"},u.animate),o==="max"&&this.orientation==="horizontal"&&this.range[f?"animate":"css"]({width:100-n+"%"},{queue:!1,duration:u.animate}),o==="min"&&this.orientation==="vertical"&&this.range.stop(1,1)[f?"animate":"css"]({height:n+"%"},u.animate),o==="max"&&this.orientation==="vertical"&&this.range[f?"animate":"css"]({height:100-n+"%"},{queue:!1,duration:u.animate}))},_handleEvents:{keydown:function(t){var r,i,s,o,u=e(t.target).data("ui-slider-handle-index");switch(t.keyCode){case e.ui.keyCode.HOME:case e.ui.keyCode.END:case e.ui.keyCode.PAGE_UP:case e.ui.keyCode.PAGE_DOWN:case e.ui.keyCode.UP:case e.ui.keyCode.RIGHT:case e.ui.keyCode.DOWN:case e.ui.keyCode.LEFT:t.preventDefault();if(!this._keySliding){this._keySliding=!0,e(t.target).addClass("ui-state-active"),r=this._start(t,u);if(r===!1)return}}o=this.options.step,this.options.values&&this.options.values.length?i=s=this.values(u):i=s=this.value();switch(t.keyCode){case e.ui.keyCode.HOME:s=this._valueMin();break;case e.ui.keyCode.END:s=this._valueMax();break;case e.ui.keyCode.PAGE_UP:s=this._trimAlignValue(i+(this._valueMax()-this._valueMin())/n);break;case e.ui.keyCode.PAGE_DOWN:s=this._trimAlignValue(i-(this._valueMax()-this._valueMin())/n);break;case e.ui.keyCode.UP:case e.ui.keyCode.RIGHT:if(i===this._valueMax())return;s=this._trimAlignValue(i+o);break;case e.ui.keyCode.DOWN:case e.ui.keyCode.LEFT:if(i===this._valueMin())return;s=this._trimAlignValue(i-o)}this._slide(t,u,s)},keyup:function(t){var n=e(t.target).data("ui-slider-handle-index");this._keySliding&&(this._keySliding=!1,this._stop(t,n),this._change(t,n),e(t.target).removeClass("ui-state-active"))}}})})(jQuery);(function(e){function t(e){return function(){var t=this.element.val();e.apply(this,arguments),this._refresh(),t!==this.element.val()&&this._trigger("change")}}e.widget("ui.spinner",{version:"1.10.0",defaultElement:"",widgetEventPrefix:"spin",options:{culture:null,icons:{down:"ui-icon-triangle-1-s",up:"ui-icon-triangle-1-n"},incremental:!0,max:null,min:null,numberFormat:null,page:10,step:1,change:null,spin:null,start:null,stop:null},_create:function(){this._setOption("max",this.options.max),this._setOption("min",this.options.min),this._setOption("step",this.options.step),this._value(this.element.val(),!0),this._draw(),this._on(this._events),this._refresh(),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_getCreateOptions:function(){var t={},n=this.element;return e.each(["min","max","step"],function(e,r){var i=n.attr(r);i!==undefined&&i.length&&(t[r]=i)}),t},_events:{keydown:function(e){this._start(e)&&this._keydown(e)&&e.preventDefault()},keyup:"_stop",focus:function(){this.previous=this.element.val()},blur:function(e){if(this.cancelBlur){delete this.cancelBlur;return}this._refresh(),this.previous!==this.element.val()&&this._trigger("change",e)},mousewheel:function(e,t){if(!t)return;if(!this.spinning&&!this._start(e))return!1;this._spin((t>0?1:-1)*this.options.step,e),clearTimeout(this.mousewheelTimer),this.mousewheelTimer=this._delay(function(){this.spinning&&this._stop(e)},100),e.preventDefault()},"mousedown .ui-spinner-button":function(t){function r(){var e=this.element[0]===this.document[0].activeElement;e||(this.element.focus(),this.previous=n,this._delay(function(){this.previous=n}))}var n;n=this.element[0]===this.document[0].activeElement?this.previous:this.element.val(),t.preventDefault(),r.call(this),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,r.call(this)});if(this._start(t)===!1)return;this._repeat(null,e(t.currentTarget).hasClass("ui-spinner-up")?1:-1,t)},"mouseup .ui-spinner-button":"_stop","mouseenter .ui-spinner-button":function(t){if(!e(t.currentTarget).hasClass("ui-state-active"))return;if(this._start(t)===!1)return!1;this._repeat(null,e(t.currentTarget).hasClass("ui-spinner-up")?1:-1,t)},"mouseleave .ui-spinner-button":"_stop"},_draw:function(){var e=this.uiSpinner=this.element.addClass("ui-spinner-input").attr("autocomplete","off").wrap(this._uiSpinnerHtml()).parent().append(this._buttonHtml());this.element.attr("role","spinbutton"),this.buttons=e.find(".ui-spinner-button").attr("tabIndex",-1).button().removeClass("ui-corner-all"),this.buttons.height()>Math.ceil(e.height()*.5)&&e.height()>0&&e.height(e.height()),this.options.disabled&&this.disable()},_keydown:function(t){var n=this.options,r=e.ui.keyCode;switch(t.keyCode){case r.UP:return this._repeat(null,1,t),!0;case r.DOWN:return this._repeat(null,-1,t),!0;case r.PAGE_UP:return this._repeat(null,n.page,t),!0;case r.PAGE_DOWN:return this._repeat(null,-n.page,t),!0}return!1},_uiSpinnerHtml:function(){return""},_buttonHtml:function(){return""+""+""+""+""},_start:function(e){return!this.spinning&&this._trigger("start",e)===!1?!1:(this.counter||(this.counter=1),this.spinning=!0,!0)},_repeat:function(e,t,n){e=e||500,clearTimeout(this.timer),this.timer=this._delay(function(){this._repeat(40,t,n)},e),this._spin(t*this.options.step,n)},_spin:function(e,t){var n=this.value()||0;this.counter||(this.counter=1),n=this._adjustValue(n+e*this._increment(this.counter));if(!this.spinning||this._trigger("spin",t,{value:n})!==!1)this._value(n),this.counter++},_increment:function(t){var n=this.options.incremental;return n?e.isFunction(n)?n(t):Math.floor(t*t*t/5e4-t*t/500+17*t/200+1):1},_precision:function(){var e=this._precisionOf(this.options.step);return this.options.min!==null&&(e=Math.max(e,this._precisionOf(this.options.min))),e},_precisionOf:function(e){var t=e.toString(),n=t.indexOf(".");return n===-1?0:t.length-n-1},_adjustValue:function(e){var t,n,r=this.options;return t=r.min!==null?r.min:0,n=e-t,n=Math.round(n/r.step)*r.step,e=t+n,e=parseFloat(e.toFixed(this._precision())),r.max!==null&&e>r.max?r.max:r.min!==null&&e1&&decodeURIComponent(e.href.replace(r,""))===decodeURIComponent(location.href.replace(r,""))}var n=0,r=/#.*$/;e.widget("ui.tabs",{version:"1.10.0",delay:300,options:{active:null,collapsible:!1,event:"click",heightStyle:"content",hide:null,show:null,activate:null,beforeActivate:null,beforeLoad:null,load:null},_create:function(){var t=this,n=this.options;this.running=!1,this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all").toggleClass("ui-tabs-collapsible",n.collapsible).delegate(".ui-tabs-nav > li","mousedown"+this.eventNamespace,function(t){e(this).is(".ui-state-disabled")&&t.preventDefault()}).delegate(".ui-tabs-anchor","focus"+this.eventNamespace,function(){e(this).closest("li").is(".ui-state-disabled")&&this.blur()}),this._processTabs(),n.active=this._initialActive(),e.isArray(n.disabled)&&(n.disabled=e.unique(n.disabled.concat(e.map(this.tabs.filter(".ui-state-disabled"),function(e){return t.tabs.index(e)}))).sort()),this.options.active!==!1&&this.anchors.length?this.active=this._findActive(n.active):this.active=e(),this._refresh(),this.active.length&&this.load(n.active)},_initialActive:function(){var t=this.options.active,n=this.options.collapsible,r=location.hash.substring(1);if(t===null){r&&this.tabs.each(function(n,i){if(e(i).attr("aria-controls")===r)return t=n,!1}),t===null&&(t=this.tabs.index(this.tabs.filter(".ui-tabs-active")));if(t===null||t===-1)t=this.tabs.length?0:!1}return t!==!1&&(t=this.tabs.index(this.tabs.eq(t)),t===-1&&(t=n?!1:0)),!n&&t===!1&&this.anchors.length&&(t=0),t},_getCreateEventData:function(){return{tab:this.active,panel:this.active.length?this._getPanelForTab(this.active):e()}},_tabKeydown:function(t){var n=e(this.document[0].activeElement).closest("li"),r=this.tabs.index(n),i=!0;if(this._handlePageNav(t))return;switch(t.keyCode){case e.ui.keyCode.RIGHT:case e.ui.keyCode.DOWN:r++;break;case e.ui.keyCode.UP:case e.ui.keyCode.LEFT:i=!1,r--;break;case e.ui.keyCode.END:r=this.anchors.length-1;break;case e.ui.keyCode.HOME:r=0;break;case e.ui.keyCode.SPACE:t.preventDefault(),clearTimeout(this.activating),this._activate(r);return;case e.ui.keyCode.ENTER:t.preventDefault(),clearTimeout(this.activating),this._activate(r===this.options.active?!1:r);return;default:return}t.preventDefault(),clearTimeout(this.activating),r=this._focusNextTab(r,i),t.ctrlKey||(n.attr("aria-selected","false"),this.tabs.eq(r).attr("aria-selected","true"),this.activating=this._delay(function(){this.option("active",r)},this.delay))},_panelKeydown:function(t){if(this._handlePageNav(t))return;t.ctrlKey&&t.keyCode===e.ui.keyCode.UP&&(t.preventDefault(),this.active.focus())},_handlePageNav:function(t){if(t.altKey&&t.keyCode===e.ui.keyCode.PAGE_UP)return this._activate(this._focusNextTab(this.options.active-1,!1)),!0;if(t.altKey&&t.keyCode===e.ui.keyCode.PAGE_DOWN)return this._activate(this._focusNextTab(this.options.active+1,!0)),!0},_findNextTab:function(t,n){function i(){return t>r&&(t=0),t<0&&(t=r),t}var r=this.tabs.length-1;while(e.inArray(i(),this.options.disabled)!==-1)t=n?t+1:t-1;return t},_focusNextTab:function(e,t){return e=this._findNextTab(e,t),this.tabs.eq(e).focus(),e},_setOption:function(e,t){if(e==="active"){this._activate(t);return}if(e==="disabled"){this._setupDisabled(t);return}this._super(e,t),e==="collapsible"&&(this.element.toggleClass("ui-tabs-collapsible",t),!t&&this.options.active===!1&&this._activate(0)),e==="event"&&this._setupEvents(t),e==="heightStyle"&&this._setupHeightStyle(t)},_tabId:function(e){return e.attr("aria-controls")||"ui-tabs-"+i()},_sanitizeSelector:function(e){return e?e.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g,"\\$&"):""},refresh:function(){var t=this.options,n=this.tablist.children(":has(a[href])");t.disabled=e.map(n.filter(".ui-state-disabled"),function(e){return n.index(e)}),this._processTabs(),t.active===!1||!this.anchors.length?(t.active=!1,this.active=e()):this.active.length&&!e.contains(this.tablist[0],this.active[0])?this.tabs.length===t.disabled.length?(t.active=!1,this.active=e()):this._activate(this._findNextTab(Math.max(0,t.active-1),!1)):t.active=this.tabs.index(this.active),this._refresh()},_refresh:function(){this._setupDisabled(this.options.disabled),this._setupEvents(this.options.event),this._setupHeightStyle(this.options.heightStyle),this.tabs.not(this.active).attr({"aria-selected":"false",tabIndex:-1}),this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-expanded":"false","aria-hidden":"true"}),this.active.length?(this.active.addClass("ui-tabs-active ui-state-active").attr({"aria-selected":"true",tabIndex:0}),this._getPanelForTab(this.active).show().attr({"aria-expanded":"true","aria-hidden":"false"})):this.tabs.eq(0).attr("tabIndex",0)},_processTabs:function(){var t=this;this.tablist=this._getList().addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").attr("role","tablist"),this.tabs=this.tablist.find("> li:has(a[href])").addClass("ui-state-default ui-corner-top").attr({role:"tab",tabIndex:-1}),this.anchors=this.tabs.map(function(){return e("a",this)[0]}).addClass("ui-tabs-anchor").attr({role:"presentation",tabIndex:-1}),this.panels=e(),this.anchors.each(function(n,r){var i,o,u,a=e(r).uniqueId().attr("id"),f=e(r).closest("li"),l=f.attr("aria-controls");s(r)?(i=r.hash,o=t.element.find(t._sanitizeSelector(i))):(u=t._tabId(f),i="#"+u,o=t.element.find(i),o.length||(o=t._createPanel(u),o.insertAfter(t.panels[n-1]||t.tablist)),o.attr("aria-live","polite")),o.length&&(t.panels=t.panels.add(o)),l&&f.data("ui-tabs-aria-controls",l),f.attr({"aria-controls":i.substring(1),"aria-labelledby":a}),o.attr("aria-labelledby",a)}),this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").attr("role","tabpanel")},_getList:function(){return this.element.find("ol,ul").eq(0)},_createPanel:function(t){return e("
            ").attr("id",t).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").data("ui-tabs-destroy",!0)},_setupDisabled:function(t){e.isArray(t)&&(t.length?t.length===this.anchors.length&&(t=!0):t=!1);for(var n=0,r;r=this.tabs[n];n++)t===!0||e.inArray(n,t)!==-1?e(r).addClass("ui-state-disabled").attr("aria-disabled","true"):e(r).removeClass("ui-state-disabled").removeAttr("aria-disabled");this.options.disabled=t},_setupEvents:function(t){var n={click:function(e){e.preventDefault()}};t&&e.each(t.split(" "),function(e,t){n[t]="_eventHandler"}),this._off(this.anchors.add(this.tabs).add(this.panels)),this._on(this.anchors,n),this._on(this.tabs,{keydown:"_tabKeydown"}),this._on(this.panels,{keydown:"_panelKeydown"}),this._focusable(this.tabs),this._hoverable(this.tabs)},_setupHeightStyle:function(t){var n,r=this.element.parent();t==="fill"?(n=r.height(),n-=this.element.outerHeight()-this.element.height(),this.element.siblings(":visible").each(function(){var t=e(this),r=t.css("position");if(r==="absolute"||r==="fixed")return;n-=t.outerHeight(!0)}),this.element.children().not(this.panels).each(function(){n-=e(this).outerHeight(!0)}),this.panels.each(function(){e(this).height(Math.max(0,n-e(this).innerHeight()+e(this).height()))}).css("overflow","auto")):t==="auto"&&(n=0,this.panels.each(function(){n=Math.max(n,e(this).height("").height())}).height(n))},_eventHandler:function(t){var n=this.options,r=this.active,i=e(t.currentTarget),s=i.closest("li"),o=s[0]===r[0],u=o&&n.collapsible,a=u?e():this._getPanelForTab(s),f=r.length?this._getPanelForTab(r):e(),l={oldTab:r,oldPanel:f,newTab:u?e():s,newPanel:a};t.preventDefault();if(s.hasClass("ui-state-disabled")||s.hasClass("ui-tabs-loading")||this.running||o&&!n.collapsible||this._trigger("beforeActivate",t,l)===!1)return;n.active=u?!1:this.tabs.index(s),this.active=o?e():s,this.xhr&&this.xhr.abort(),!f.length&&!a.length&&e.error("jQuery UI Tabs: Mismatching fragment identifier."),a.length&&this.load(this.tabs.index(s),t),this._toggle(t,l)},_toggle:function(t,n){function o(){r.running=!1,r._trigger("activate",t,n)}function u(){n.newTab.closest("li").addClass("ui-tabs-active ui-state-active"),i.length&&r.options.show?r._show(i,r.options.show,o):(i.show(),o())}var r=this,i=n.newPanel,s=n.oldPanel;this.running=!0,s.length&&this.options.hide?this._hide(s,this.options.hide,function(){n.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),u()}):(n.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),s.hide(),u()),s.attr({"aria-expanded":"false","aria-hidden":"true"}),n.oldTab.attr("aria-selected","false"),i.length&&s.length?n.oldTab.attr("tabIndex",-1):i.length&&this.tabs.filter(function(){return e(this).attr("tabIndex")===0}).attr("tabIndex",-1),i.attr({"aria-expanded":"true","aria-hidden":"false"}),n.newTab.attr({"aria-selected":"true",tabIndex:0})},_activate:function(t){var n,r=this._findActive(t);if(r[0]===this.active[0])return;r.length||(r=this.active),n=r.find(".ui-tabs-anchor")[0],this._eventHandler({target:n,currentTarget:n,preventDefault:e.noop})},_findActive:function(t){return t===!1?e():this.tabs.eq(t)},_getIndex:function(e){return typeof e=="string"&&(e=this.anchors.index(this.anchors.filter("[href$='"+e+"']"))),e},_destroy:function(){this.xhr&&this.xhr.abort(),this.element.removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible"),this.tablist.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").removeAttr("role"),this.anchors.removeClass("ui-tabs-anchor").removeAttr("role").removeAttr("tabIndex").removeUniqueId(),this.tabs.add(this.panels).each(function(){e.data(this,"ui-tabs-destroy")?e(this).remove():e(this).removeClass("ui-state-default ui-state-active ui-state-disabled ui-corner-top ui-corner-bottom ui-widget-content ui-tabs-active ui-tabs-panel").removeAttr("tabIndex").removeAttr("aria-live").removeAttr("aria-busy").removeAttr("aria-selected").removeAttr("aria-labelledby").removeAttr("aria-hidden").removeAttr("aria-expanded").removeAttr("role")}),this.tabs.each(function(){var t=e(this),n=t.data("ui-tabs-aria-controls");n?t.attr("aria-controls",n).removeData("ui-tabs-aria-controls"):t.removeAttr("aria-controls")}),this.panels.show(),this.options.heightStyle!=="content"&&this.panels.css("height","")},enable:function(n){var r=this.options.disabled;if(r===!1)return;n===t?r=!1:(n=this._getIndex(n),e.isArray(r)?r=e.map(r,function(e){return e!==n?e:null}):r=e.map(this.tabs,function(e,t){return t!==n?t:null})),this._setupDisabled(r)},disable:function(n){var r=this.options.disabled;if(r===!0)return;if(n===t)r=!0;else{n=this._getIndex(n);if(e.inArray(n,r)!==-1)return;e.isArray(r)?r=e.merge([n],r).sort():r=[n]}this._setupDisabled(r)},load:function(t,n){t=this._getIndex(t);var r=this,i=this.tabs.eq(t),o=i.find(".ui-tabs-anchor"),u=this._getPanelForTab(i),a={tab:i,panel:u};if(s(o[0]))return;this.xhr=e.ajax(this._ajaxSettings(o,n,a)),this.xhr&&this.xhr.statusText!=="canceled"&&(i.addClass("ui-tabs-loading"),u.attr("aria-busy","true"),this.xhr.success(function(e){setTimeout(function(){u.html(e),r._trigger("load",n,a)},1)}).complete(function(e,t){setTimeout(function(){t==="abort"&&r.panels.stop(!1,!0),i.removeClass("ui-tabs-loading"),u.removeAttr("aria-busy"),e===r.xhr&&delete r.xhr},1)}))},_ajaxSettings:function(t,n,r){var i=this;return{url:t.attr("href"),beforeSend:function(t,s){return i._trigger("beforeLoad",n,e.extend({jqXHR:t,ajaxSettings:s},r))}}},_getPanelForTab:function(t){var n=e(t).attr("aria-controls");return this.element.find(this._sanitizeSelector("#"+n))}})})(jQuery);(function(e){function n(t,n){var r=(t.attr("aria-describedby")||"").split(/\s+/);r.push(n),t.data("ui-tooltip-id",n).attr("aria-describedby",e.trim(r.join(" ")))}function r(t){var n=t.data("ui-tooltip-id"),r=(t.attr("aria-describedby")||"").split(/\s+/),i=e.inArray(n,r);i!==-1&&r.splice(i,1),t.removeData("ui-tooltip-id"),r=e.trim(r.join(" ")),r?t.attr("aria-describedby",r):t.removeAttr("aria-describedby")}var t=0;e.widget("ui.tooltip",{version:"1.10.0",options:{content:function(){var t=e(this).attr("title")||"";return e("").text(t).html()},hide:!0,items:"[title]:not([disabled])",position:{my:"left top+15",at:"left bottom",collision:"flipfit flip"},show:!0,tooltipClass:null,track:!1,close:null,open:null},_create:function(){this._on({mouseover:"open",focusin:"open"}),this.tooltips={},this.parents={},this.options.disabled&&this._disable()},_setOption:function(t,n){var r=this;if(t==="disabled"){this[n?"_disable":"_enable"](),this.options[t]=n;return}this._super(t,n),t==="content"&&e.each(this.tooltips,function(e,t){r._updateContent(t)})},_disable:function(){var t=this;e.each(this.tooltips,function(n,r){var i=e.Event("blur");i.target=i.currentTarget=r[0],t.close(i,!0)}),this.element.find(this.options.items).addBack().each(function(){var t=e(this);t.is("[title]")&&t.data("ui-tooltip-title",t.attr("title")).attr("title","")})},_enable:function(){this.element.find(this.options.items).addBack().each(function(){var t=e(this);t.data("ui-tooltip-title")&&t.attr("title",t.data("ui-tooltip-title"))})},open:function(t){var n=this,r=e(t?t.target:this.element).closest(this.options.items);if(!r.length||r.data("ui-tooltip-id"))return;r.attr("title")&&r.data("ui-tooltip-title",r.attr("title")),r.data("ui-tooltip-open",!0),t&&t.type==="mouseover"&&r.parents().each(function(){var t=e(this),r;t.data("ui-tooltip-open")&&(r=e.Event("blur"),r.target=r.currentTarget=this,n.close(r,!0)),t.attr("title")&&(t.uniqueId(),n.parents[this.id]={element:this,title:t.attr("title")},t.attr("title",""))}),this._updateContent(r,t)},_updateContent:function(e,t){var n,r=this.options.content,i=this,s=t?t.type:null;if(typeof r=="string")return this._open(t,e,r);n=r.call(e[0],function(n){if(!e.data("ui-tooltip-open"))return;i._delay(function(){t&&(t.type=s),this._open(t,e,n)})}),n&&this._open(t,e,n)},_open:function(t,r,i){function f(e){a.of=e;if(s.is(":hidden"))return;s.position(a)}var s,o,u,a=e.extend({},this.options.position);if(!i)return;s=this._find(r);if(s.length){s.find(".ui-tooltip-content").html(i);return}r.is("[title]")&&(t&&t.type==="mouseover"?r.attr("title",""):r.removeAttr("title")),s=this._tooltip(r),n(r,s.attr("id")),s.find(".ui-tooltip-content").html(i),this.options.track&&t&&/^mouse/.test(t.type)?(this._on(this.document,{mousemove:f}),f(t)):s.position(e.extend({of:r},this.options.position)),s.hide(),this._show(s,this.options.show),this.options.show&&this.options.show.delay&&(u=this.delayedShow=setInterval(function(){s.is(":visible")&&(f(a.of),clearInterval(u))},e.fx.interval)),this._trigger("open",t,{tooltip:s}),o={keyup:function(t){if(t.keyCode===e.ui.keyCode.ESCAPE){var n=e.Event(t);n.currentTarget=r[0],this.close(n,!0)}},remove:function(){this._removeTooltip(s)}};if(!t||t.type==="mouseover")o.mouseleave="close";if(!t||t.type==="focusin")o.focusout="close";this._on(!0,r,o)},close:function(t){var n=this,i=e(t?t.currentTarget:this.element),s=this._find(i);if(this.closing)return;clearInterval(this.delayedShow),i.data("ui-tooltip-title")&&i.attr("title",i.data("ui-tooltip-title")),r(i),s.stop(!0),this._hide(s,this.options.hide,function(){n._removeTooltip(e(this))}),i.removeData("ui-tooltip-open"),this._off(i,"mouseleave focusout keyup"),i[0]!==this.element[0]&&this._off(i,"remove"),this._off(this.document,"mousemove"),t&&t.type==="mouseleave"&&e.each(this.parents,function(t,r){e(r.element).attr("title",r.title),delete n.parents[t]}),this.closing=!0,this._trigger("close",t,{tooltip:s}),this.closing=!1},_tooltip:function(n){var r="ui-tooltip-"+t++,i=e("
            ").attr({id:r,role:"tooltip"}).addClass("ui-tooltip ui-widget ui-corner-all ui-widget-content "+(this.options.tooltipClass||""));return e("
            ").addClass("ui-tooltip-content").appendTo(i),i.appendTo(this.document[0].body),this.tooltips[r]=n,i},_find:function(t){var n=t.data("ui-tooltip-id");return n?e("#"+n):e()},_removeTooltip:function(e){e.remove(),delete this.tooltips[e.attr("id")]},_destroy:function(){var t=this;e.each(this.tooltips,function(n,r){var i=e.Event("blur");i.target=i.currentTarget=r[0],t.close(i,!0),e("#"+n).remove(),r.data("ui-tooltip-title")&&(r.attr("title",r.data("ui-tooltip-title")),r.removeData("ui-tooltip-title"))})}})})(jQuery);jQuery.effects||function(e,t){var n="ui-effects-";e.effects={effect:{}},function(e,t){function h(e,t,n){var r=u[t.type]||{};return e==null?n||!t.def?null:t.def:(e=r.floor?~~e:parseFloat(e),isNaN(e)?t.def:r.mod?(e+r.mod)%r.mod:0>e?0:r.max")[0],l,c=e.each;f.style.cssText="background-color:rgba(1,1,1,.5)",a.rgba=f.style.backgroundColor.indexOf("rgba")>-1,c(o,function(e,t){t.cache="_"+e,t.props.alpha={idx:3,type:"percent",def:1}}),s.fn=e.extend(s.prototype,{parse:function(n,r,i,u){if(n===t)return this._rgba=[null,null,null,null],this;if(n.jquery||n.nodeType)n=e(n).css(r),r=t;var a=this,f=e.type(n),d=this._rgba=[];r!==t&&(n=[n,r,i,u],f="array");if(f==="string")return this.parse(p(n)||l._default);if(f==="array")return c(o.rgba.props,function(e,t){d[t.idx]=h(n[t.idx],t)}),this;if(f==="object")return n instanceof s?c(o,function(e,t){n[t.cache]&&(a[t.cache]=n[t.cache].slice())}):c(o,function(t,r){var i=r.cache;c(r.props,function(e,t){if(!a[i]&&r.to){if(e==="alpha"||n[e]==null)return;a[i]=r.to(a._rgba)}a[i][t.idx]=h(n[e],t,!0)}),a[i]&&e.inArray(null,a[i].slice(0,3))<0&&(a[i][3]=1,r.from&&(a._rgba=r.from(a[i])))}),this},is:function(e){var t=s(e),n=!0,r=this;return c(o,function(e,i){var s,o=t[i.cache];return o&&(s=r[i.cache]||i.to&&i.to(r._rgba)||[],c(i.props,function(e,t){if(o[t.idx]!=null)return n=o[t.idx]===s[t.idx],n})),n}),n},_space:function(){var e=[],t=this;return c(o,function(n,r){t[r.cache]&&e.push(n)}),e.pop()},transition:function(e,t){var n=s(e),r=n._space(),i=o[r],a=this.alpha()===0?s("transparent"):this,f=a[i.cache]||i.to(a._rgba),l=f.slice();return n=n[i.cache],c(i.props,function(e,r){var i=r.idx,s=f[i],o=n[i],a=u[r.type]||{};if(o===null)return;s===null?l[i]=o:(a.mod&&(o-s>a.mod/2?s+=a.mod:s-o>a.mod/2&&(s-=a.mod)),l[i]=h((o-s)*t+s,r))}),this[r](l)},blend:function(t){if(this._rgba[3]===1)return this;var n=this._rgba.slice(),r=n.pop(),i=s(t)._rgba;return s(e.map(n,function(e,t){return(1-r)*i[t]+r*e}))},toRgbaString:function(){var t="rgba(",n=e.map(this._rgba,function(e,t){return e==null?t>2?1:0:e});return n[3]===1&&(n.pop(),t="rgb("),t+n.join()+")"},toHslaString:function(){var t="hsla(",n=e.map(this.hsla(),function(e,t){return e==null&&(e=t>2?1:0),t&&t<3&&(e=Math.round(e*100)+"%"),e});return n[3]===1&&(n.pop(),t="hsl("),t+n.join()+")"},toHexString:function(t){var n=this._rgba.slice(),r=n.pop();return t&&n.push(~~(r*255)),"#"+e.map(n,function(e){return e=(e||0).toString(16),e.length===1?"0"+e:e}).join("")},toString:function(){return this._rgba[3]===0?"transparent":this.toRgbaString()}}),s.fn.parse.prototype=s.fn,o.hsla.to=function(e){if(e[0]==null||e[1]==null||e[2]==null)return[null,null,null,e[3]];var t=e[0]/255,n=e[1]/255,r=e[2]/255,i=e[3],s=Math.max(t,n,r),o=Math.min(t,n,r),u=s-o,a=s+o,f=a*.5,l,c;return o===s?l=0:t===s?l=60*(n-r)/u+360:n===s?l=60*(r-t)/u+120:l=60*(t-n)/u+240,u===0?c=0:f<=.5?c=u/a:c=u/(2-a),[Math.round(l)%360,c,f,i==null?1:i]},o.hsla.from=function(e){if(e[0]==null||e[1]==null||e[2]==null)return[null,null,null,e[3]];var t=e[0]/360,n=e[1],r=e[2],i=e[3],s=r<=.5?r*(1+n):r+n-r*n,o=2*r-s;return[Math.round(d(o,s,t+1/3)*255),Math.round(d(o,s,t)*255),Math.round(d(o,s,t-1/3)*255),i]},c(o,function(n,i){var o=i.props,u=i.cache,a=i.to,f=i.from;s.fn[n]=function(n){a&&!this[u]&&(this[u]=a(this._rgba));if(n===t)return this[u].slice();var r,i=e.type(n),l=i==="array"||i==="object"?n:arguments,p=this[u].slice();return c(o,function(e,t){var n=l[i==="object"?e:t.idx];n==null&&(n=p[t.idx]),p[t.idx]=h(n,t)}),f?(r=s(f(p)),r[u]=p,r):s(p)},c(o,function(t,i){if(s.fn[t])return;s.fn[t]=function(s){var o=e.type(s),u=t==="alpha"?this._hsla?"hsla":"rgba":n,a=this[u](),f=a[i.idx],l;return o==="undefined"?f:(o==="function"&&(s=s.call(this,f),o=e.type(s)),s==null&&i.empty?this:(o==="string"&&(l=r.exec(s),l&&(s=f+parseFloat(l[2])*(l[1]==="+"?1:-1))),a[i.idx]=s,this[u](a)))}})}),s.hook=function(t){var n=t.split(" ");c(n,function(t,n){e.cssHooks[n]={set:function(t,r){var i,o,u="";if(r!=="transparent"&&(e.type(r)!=="string"||(i=p(r)))){r=s(i||r);if(!a.rgba&&r._rgba[3]!==1){o=n==="backgroundColor"?t.parentNode:t;while((u===""||u==="transparent")&&o&&o.style)try{u=e.css(o,"backgroundColor"),o=o.parentNode}catch(f){}r=r.blend(u&&u!=="transparent"?u:"_default")}r=r.toRgbaString()}try{t.style[n]=r}catch(f){}}},e.fx.step[n]=function(t){t.colorInit||(t.start=s(t.elem,n),t.end=s(t.end),t.colorInit=!0),e.cssHooks[n].set(t.elem,t.start.transition(t.end,t.pos))}})},s.hook(n),e.cssHooks.borderColor={expand:function(e){var t={};return c(["Top","Right","Bottom","Left"],function(n,r){t["border"+r+"Color"]=e}),t}},l=e.Color.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00",transparent:[null,null,null,0],_default:"#ffffff"}}(jQuery),function(){function i(t){var n,r,i=t.ownerDocument.defaultView?t.ownerDocument.defaultView.getComputedStyle(t,null):t.currentStyle,s={};if(i&&i.length&&i[0]&&i[i[0]]){r=i.length;while(r--)n=i[r],typeof i[n]=="string"&&(s[e.camelCase(n)]=i[n])}else for(n in i)typeof i[n]=="string"&&(s[n]=i[n]);return s}function s(t,n){var i={},s,o;for(s in n)o=n[s],t[s]!==o&&!r[s]&&(e.fx.step[s]||!isNaN(parseFloat(o)))&&(i[s]=o);return i}var n=["add","remove","toggle"],r={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};e.each(["borderLeftStyle","borderRightStyle","borderBottomStyle","borderTopStyle"],function(t,n){e.fx.step[n]=function(e){if(e.end!=="none"&&!e.setAttr||e.pos===1&&!e.setAttr)jQuery.style(e.elem,n,e.end),e.setAttr=!0}}),e.fn.addBack||(e.fn.addBack=function(e){return this.add(e==null?this.prevObject:this.prevObject.filter(e))}),e.effects.animateClass=function(t,r,o,u){var a=e.speed(r,o,u);return this.queue(function(){var r=e(this),o=r.attr("class")||"",u,f=a.children?r.find("*").addBack():r;f=f.map(function(){var t=e(this);return{el:t,start:i(this)}}),u=function(){e.each(n,function(e,n){t[n]&&r[n+"Class"](t[n])})},u(),f=f.map(function(){return this.end=i(this.el[0]),this.diff=s(this.start,this.end),this}),r.attr("class",o),f=f.map(function(){var t=this,n=e.Deferred(),r=e.extend({},a,{queue:!1,complete:function(){n.resolve(t)}});return this.el.animate(this.diff,r),n.promise()}),e.when.apply(e,f.get()).done(function(){u(),e.each(arguments,function(){var t=this.el;e.each(this.diff,function(e){t.css(e,"")})}),a.complete.call(r[0])})})},e.fn.extend({_addClass:e.fn.addClass,addClass:function(t,n,r,i){return n?e.effects.animateClass.call(this,{add:t},n,r,i):this._addClass(t)},_removeClass:e.fn.removeClass,removeClass:function(t,n,r,i){return n?e.effects.animateClass.call(this,{remove:t},n,r,i):this._removeClass(t)},_toggleClass:e.fn.toggleClass,toggleClass:function(n,r,i,s,o){return typeof r=="boolean"||r===t?i?e.effects.animateClass.call(this,r?{add:n}:{remove:n},i,s,o):this._toggleClass(n,r):e.effects.animateClass.call(this,{toggle:n},r,i,s)},switchClass:function(t,n,r,i,s){return e.effects.animateClass.call(this,{add:n,remove:t},r,i,s)}})}(),function(){function r(t,n,r,i){e.isPlainObject(t)&&(n=t,t=t.effect),t={effect:t},n==null&&(n={}),e.isFunction(n)&&(i=n,r=null,n={});if(typeof n=="number"||e.fx.speeds[n])i=r,r=n,n={};return e.isFunction(r)&&(i=r,r=null),n&&e.extend(t,n),r=r||n.duration,t.duration=e.fx.off?0:typeof r=="number"?r:r in e.fx.speeds?e.fx.speeds[r]:e.fx.speeds._default,t.complete=i||n.complete,t}function i(t){return!t||typeof t=="number"||e.fx.speeds[t]?!0:typeof t=="string"&&!e.effects.effect[t]}e.extend(e.effects,{version:"1.10.0",save:function(e,t){for(var r=0;r
            ").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),i={width:t.width(),height:t.height()},s=document.activeElement;try{s.id}catch(o){s=document.body}return t.wrap(r),(t[0]===s||e.contains(t[0],s))&&e(s).focus(),r=t.parent(),t.css("position")==="static"?(r.css({position:"relative"}),t.css({position:"relative"})):(e.extend(n,{position:t.css("position"),zIndex:t.css("z-index")}),e.each(["top","left","bottom","right"],function(e,r){n[r]=t.css(r),isNaN(parseInt(n[r],10))&&(n[r]="auto")}),t.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),t.css(i),r.css(n).show()},removeWrapper:function(t){var n=document.activeElement;return t.parent().is(".ui-effects-wrapper")&&(t.parent().replaceWith(t),(t[0]===n||e.contains(t[0],n))&&e(n).focus()),t},setTransition:function(t,n,r,i){return i=i||{},e.each(n,function(e,n){var s=t.cssUnit(n);s[0]>0&&(i[n]=s[0]*r+s[1])}),i}}),e.fn.extend({effect:function(){function o(n){function u(){e.isFunction(i)&&i.call(r[0]),e.isFunction(n)&&n()}var r=e(this),i=t.complete,o=t.mode;(r.is(":hidden")?o==="hide":o==="show")?u():s.call(r[0],t,u)}var t=r.apply(this,arguments),n=t.mode,i=t.queue,s=e.effects.effect[t.effect];return e.fx.off||!s?n?this[n](t.duration,t.complete):this.each(function(){t.complete&&t.complete.call(this)}):i===!1?this.each(o):this.queue(i||"fx",o)},_show:e.fn.show,show:function(e){if(i(e))return this._show.apply(this,arguments);var t=r.apply(this,arguments);return t.mode="show",this.effect.call(this,t)},_hide:e.fn.hide,hide:function(e){if(i(e))return this._hide.apply(this,arguments);var t=r.apply(this,arguments);return t.mode="hide",this.effect.call(this,t)},__toggle:e.fn.toggle,toggle:function(t){if(i(t)||typeof t=="boolean"||e.isFunction(t))return this.__toggle.apply(this,arguments);var n=r.apply(this,arguments);return n.mode="toggle",this.effect.call(this,n)},cssUnit:function(t){var n=this.css(t),r=[];return e.each(["em","px","%","pt"],function(e,t){n.indexOf(t)>0&&(r=[parseFloat(n),t])}),r}})}(),function(){var t={};e.each(["Quad","Cubic","Quart","Quint","Expo"],function(e,n){t[n]=function(t){return Math.pow(t,e+2)}}),e.extend(t,{Sine:function(e){return 1-Math.cos(e*Math.PI/2)},Circ:function(e){return 1-Math.sqrt(1-e*e)},Elastic:function(e){return e===0||e===1?e:-Math.pow(2,8*(e-1))*Math.sin(((e-1)*80-7.5)*Math.PI/15)},Back:function(e){return e*e*(3*e-2)},Bounce:function(e){var t,n=4;while(e<((t=Math.pow(2,--n))-1)/11);return 1/Math.pow(4,3-n)-7.5625*Math.pow((t*3-2)/22-e,2)}}),e.each(t,function(t,n){e.easing["easeIn"+t]=n,e.easing["easeOut"+t]=function(e){return 1-n(1-e)},e.easing["easeInOut"+t]=function(e){return e<.5?n(e*2)/2:1-n(e*-2+2)/2}})}()}(jQuery);(function(e,t){var n=/up|down|vertical/,r=/up|left|vertical|horizontal/;e.effects.effect.blind=function(t,i){var s=e(this),o=["position","top","bottom","left","right","height","width"],u=e.effects.setMode(s,t.mode||"hide"),a=t.direction||"up",f=n.test(a),l=f?"height":"width",c=f?"top":"left",h=r.test(a),p={},d=u==="show",v,m,g;s.parent().is(".ui-effects-wrapper")?e.effects.save(s.parent(),o):e.effects.save(s,o),s.show(),v=e.effects.createWrapper(s).css({overflow:"hidden"}),m=v[l](),g=parseFloat(v.css(c))||0,p[l]=d?m:0,h||(s.css(f?"bottom":"right",0).css(f?"top":"left","auto").css({position:"absolute"}),p[c]=d?g:m+g),d&&(v.css(l,0),h||v.css(c,g+m)),v.animate(p,{duration:t.duration,easing:t.easing,queue:!1,complete:function(){u==="hide"&&s.hide(),e.effects.restore(s,o),e.effects.removeWrapper(s),i()}})}})(jQuery);(function(e,t){e.effects.effect.bounce=function(t,n){var r=e(this),i=["position","top","bottom","left","right","height","width"],s=e.effects.setMode(r,t.mode||"effect"),o=s==="hide",u=s==="show",a=t.direction||"up",f=t.distance,l=t.times||5,c=l*2+(u||o?1:0),h=t.duration/c,p=t.easing,d=a==="up"||a==="down"?"top":"left",v=a==="up"||a==="left",m,g,y,b=r.queue(),w=b.length;(u||o)&&i.push("opacity"),e.effects.save(r,i),r.show(),e.effects.createWrapper(r),f||(f=r[d==="top"?"outerHeight":"outerWidth"]()/3),u&&(y={opacity:1},y[d]=0,r.css("opacity",0).css(d,v?-f*2:f*2).animate(y,h,p)),o&&(f/=Math.pow(2,l-1)),y={},y[d]=0;for(m=0;m1&&b.splice.apply(b,[1,0].concat(b.splice(w,c+1))),r.dequeue()}})(jQuery);(function(e,t){e.effects.effect.clip=function(t,n){var r=e(this),i=["position","top","bottom","left","right","height","width"],s=e.effects.setMode(r,t.mode||"hide"),o=s==="show",u=t.direction||"vertical",a=u==="vertical",f=a?"height":"width",l=a?"top":"left",c={},h,p,d;e.effects.save(r,i),r.show(),h=e.effects.createWrapper(r).css({overflow:"hidden"}),p=r[0].tagName==="IMG"?h:r,d=p[f](),o&&(p.css(f,0),p.css(l,d/2)),c[f]=o?d:0,c[l]=o?0:d/2,p.animate(c,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){o||r.hide(),e.effects.restore(r,i),e.effects.removeWrapper(r),n()}})}})(jQuery);(function(e,t){e.effects.effect.drop=function(t,n){var r=e(this),i=["position","top","bottom","left","right","opacity","height","width"],s=e.effects.setMode(r,t.mode||"hide"),o=s==="show",u=t.direction||"left",a=u==="up"||u==="down"?"top":"left",f=u==="up"||u==="left"?"pos":"neg",l={opacity:o?1:0},c;e.effects.save(r,i),r.show(),e.effects.createWrapper(r),c=t.distance||r[a==="top"?"outerHeight":"outerWidth"](!0)/2,o&&r.css("opacity",0).css(a,f==="pos"?-c:c),l[a]=(o?f==="pos"?"+=":"-=":f==="pos"?"-=":"+=")+c,r.animate(l,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){s==="hide"&&r.hide(),e.effects.restore(r,i),e.effects.removeWrapper(r),n()}})}})(jQuery);(function(e,t){e.effects.effect.explode=function(t,n){function y(){c.push(this),c.length===r*i&&b()}function b(){s.css({visibility:"visible"}),e(c).remove(),u||s.hide(),n()}var r=t.pieces?Math.round(Math.sqrt(t.pieces)):3,i=r,s=e(this),o=e.effects.setMode(s,t.mode||"hide"),u=o==="show",a=s.show().css("visibility","hidden").offset(),f=Math.ceil(s.outerWidth()/i),l=Math.ceil(s.outerHeight()/r),c=[],h,p,d,v,m,g;for(h=0;h
            ").css({position:"absolute",visibility:"visible",left:-p*f,top:-h*l}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:f,height:l,left:d+(u?m*f:0),top:v+(u?g*l:0),opacity:u?0:1}).animate({left:d+(u?0:m*f),top:v+(u?0:g*l),opacity:u?1:0},t.duration||500,t.easing,y)}}})(jQuery);(function(e,t){e.effects.effect.fade=function(t,n){var r=e(this),i=e.effects.setMode(r,t.mode||"toggle");r.animate({opacity:i},{queue:!1,duration:t.duration,easing:t.easing,complete:n})}})(jQuery);(function(e,t){e.effects.effect.fold=function(t,n){var r=e(this),i=["position","top","bottom","left","right","height","width"],s=e.effects.setMode(r,t.mode||"hide"),o=s==="show",u=s==="hide",a=t.size||15,f=/([0-9]+)%/.exec(a),l=!!t.horizFirst,c=o!==l,h=c?["width","height"]:["height","width"],p=t.duration/2,d,v,m={},g={};e.effects.save(r,i),r.show(),d=e.effects.createWrapper(r).css({overflow:"hidden"}),v=c?[d.width(),d.height()]:[d.height(),d.width()],f&&(a=parseInt(f[1],10)/100*v[u?0:1]),o&&d.css(l?{height:0,width:a}:{height:a,width:0}),m[h[0]]=o?v[0]:a,g[h[1]]=o?v[1]:0,d.animate(m,p,t.easing).animate(g,p,t.easing,function(){u&&r.hide(),e.effects.restore(r,i),e.effects.removeWrapper(r),n()})}})(jQuery);(function(e,t){e.effects.effect.highlight=function(t,n){var r=e(this),i=["backgroundImage","backgroundColor","opacity"],s=e.effects.setMode(r,t.mode||"show"),o={backgroundColor:r.css("backgroundColor")};s==="hide"&&(o.opacity=0),e.effects.save(r,i),r.show().css({backgroundImage:"none",backgroundColor:t.color||"#ffff99"}).animate(o,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){s==="hide"&&r.hide(),e.effects.restore(r,i),n()}})}})(jQuery);(function(e,t){e.effects.effect.pulsate=function(t,n){var r=e(this),i=e.effects.setMode(r,t.mode||"show"),s=i==="show",o=i==="hide",u=s||i==="hide",a=(t.times||5)*2+(u?1:0),f=t.duration/a,l=0,c=r.queue(),h=c.length,p;if(s||!r.is(":visible"))r.css("opacity",0).show(),l=1;for(p=1;p1&&c.splice.apply(c,[1,0].concat(c.splice(h,a+1))),r.dequeue()}})(jQuery);(function(e,t){e.effects.effect.puff=function(t,n){var r=e(this),i=e.effects.setMode(r,t.mode||"hide"),s=i==="hide",o=parseInt(t.percent,10)||150,u=o/100,a={height:r.height(),width:r.width(),outerHeight:r.outerHeight(),outerWidth:r.outerWidth()};e.extend(t,{effect:"scale",queue:!1,fade:!0,mode:i,complete:n,percent:s?o:100,from:s?a:{height:a.height*u,width:a.width*u,outerHeight:a.outerHeight*u,outerWidth:a.outerWidth*u}}),r.effect(t)},e.effects.effect.scale=function(t,n){var r=e(this),i=e.extend(!0,{},t),s=e.effects.setMode(r,t.mode||"effect"),o=parseInt(t.percent,10)||(parseInt(t.percent,10)===0?0:s==="hide"?0:100),u=t.direction||"both",a=t.origin,f={height:r.height(),width:r.width(),outerHeight:r.outerHeight(),outerWidth:r.outerWidth()},l={y:u!=="horizontal"?o/100:1,x:u!=="vertical"?o/100:1};i.effect="size",i.queue=!1,i.complete=n,s!=="effect"&&(i.origin=a||["middle","center"],i.restore=!0),i.from=t.from||(s==="show"?{height:0,width:0,outerHeight:0,outerWidth:0}:f),i.to={height:f.height*l.y,width:f.width*l.x,outerHeight:f.outerHeight*l.y,outerWidth:f.outerWidth*l.x},i.fade&&(s==="show"&&(i.from.opacity=0,i.to.opacity=1),s==="hide"&&(i.from.opacity=1,i.to.opacity=0)),r.effect(i)},e.effects.effect.size=function(t,n){var r,i,s,o=e(this),u=["position","top","bottom","left","right","width","height","overflow","opacity"],a=["position","top","bottom","left","right","overflow","opacity"],f=["width","height","overflow"],l=["fontSize"],c=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],h=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],p=e.effects.setMode(o,t.mode||"effect"),d=t.restore||p!=="effect",v=t.scale||"both",m=t.origin||["middle","center"],g=o.css("position"),y=d?u:a,b={height:0,width:0,outerHeight:0,outerWidth:0};p==="show"&&o.show(),r={height:o.height(),width:o.width(),outerHeight:o.outerHeight(),outerWidth:o.outerWidth()},t.mode==="toggle"&&p==="show"?(o.from=t.to||b,o.to=t.from||r):(o.from=t.from||(p==="show"?b:r),o.to=t.to||(p==="hide"?b:r)),s={from:{y:o.from.height/r.height,x:o.from.width/r.width},to:{y:o.to.height/r.height,x:o.to.width/r.width}};if(v==="box"||v==="both")s.from.y!==s.to.y&&(y=y.concat(c),o.from=e.effects.setTransition(o,c,s.from.y,o.from),o.to=e.effects.setTransition(o,c,s.to.y,o.to)),s.from.x!==s.to.x&&(y=y.concat(h),o.from=e.effects.setTransition(o,h,s.from.x,o.from),o.to=e.effects.setTransition(o,h,s.to.x,o.to));(v==="content"||v==="both")&&s.from.y!==s.to.y&&(y=y.concat(l).concat(f),o.from=e.effects.setTransition(o,l,s.from.y,o.from),o.to=e.effects.setTransition(o,l,s.to.y,o.to)),e.effects.save(o,y),o.show(),e.effects.createWrapper(o),o.css("overflow","hidden").css(o.from),m&&(i=e.effects.getBaseline(m,r),o.from.top=(r.outerHeight-o.outerHeight())*i.y,o.from.left=(r.outerWidth-o.outerWidth())*i.x,o.to.top=(r.outerHeight-o.to.outerHeight)*i.y,o.to.left=(r.outerWidth-o.to.outerWidth)*i.x),o.css(o.from);if(v==="content"||v==="both")c=c.concat(["marginTop","marginBottom"]).concat(l),h=h.concat(["marginLeft","marginRight"]),f=u.concat(c).concat(h),o.find("*[width]").each(function(){var n=e(this),r={height:n.height(),width:n.width(),outerHeight:n.outerHeight(),outerWidth:n.outerWidth()};d&&e.effects.save(n,f),n.from={height:r.height*s.from.y,width:r.width*s.from.x,outerHeight:r.outerHeight*s.from.y,outerWidth:r.outerWidth*s.from.x},n.to={height:r.height*s.to.y,width:r.width*s.to.x,outerHeight:r.height*s.to.y,outerWidth:r.width*s.to.x},s.from.y!==s.to.y&&(n.from=e.effects.setTransition(n,c,s.from.y,n.from),n.to=e.effects.setTransition(n,c,s.to.y,n.to)),s.from.x!==s.to.x&&(n.from=e.effects.setTransition(n,h,s.from.x,n.from),n.to=e.effects.setTransition(n,h,s.to.x,n.to)),n.css(n.from),n.animate(n.to,t.duration,t.easing,function(){d&&e.effects.restore(n,f)})});o.animate(o.to,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){o.to.opacity===0&&o.css("opacity",o.from.opacity),p==="hide"&&o.hide(),e.effects.restore(o,y),d||(g==="static"?o.css({position:"relative",top:o.to.top,left:o.to.left}):e.each(["top","left"],function(e,t){o.css(t,function(t,n){var r=parseInt(n,10),i=e?o.to.left:o.to.top;return n==="auto"?i+"px":r+i+"px"})})),e.effects.removeWrapper(o),n()}})}})(jQuery);(function(e,t){e.effects.effect.shake=function(t,n){var r=e(this),i=["position","top","bottom","left","right","height","width"],s=e.effects.setMode(r,t.mode||"effect"),o=t.direction||"left",u=t.distance||20,a=t.times||3,f=a*2+1,l=Math.round(t.duration/f),c=o==="up"||o==="down"?"top":"left",h=o==="up"||o==="left",p={},d={},v={},m,g=r.queue(),y=g.length;e.effects.save(r,i),r.show(),e.effects.createWrapper(r),p[c]=(h?"-=":"+=")+u,d[c]=(h?"+=":"-=")+u*2,v[c]=(h?"-=":"+=")+u*2,r.animate(p,l,t.easing);for(m=1;m1&&g.splice.apply(g,[1,0].concat(g.splice(y,f+1))),r.dequeue()}})(jQuery);(function(e,t){e.effects.effect.slide=function(t,n){var r=e(this),i=["position","top","bottom","left","right","width","height"],s=e.effects.setMode(r,t.mode||"show"),o=s==="show",u=t.direction||"left",a=u==="up"||u==="down"?"top":"left",f=u==="up"||u==="left",l,c={};e.effects.save(r,i),r.show(),l=t.distance||r[a==="top"?"outerHeight":"outerWidth"](!0),e.effects.createWrapper(r).css({overflow:"hidden"}),o&&r.css(a,f?isNaN(l)?"-"+l:-l:l),c[a]=(o?f?"+=":"-=":f?"-=":"+=")+l,r.animate(c,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){s==="hide"&&r.hide(),e.effects.restore(r,i),e.effects.removeWrapper(r),n()}})}})(jQuery);(function(e,t){e.effects.effect.transfer=function(t,n){var r=e(this),i=e(t.to),s=i.css("position")==="fixed",o=e("body"),u=s?o.scrollTop():0,a=s?o.scrollLeft():0,f=i.offset(),l={top:f.top-u,left:f.left-a,height:i.innerHeight(),width:i.innerWidth()},c=r.offset(),h=e("
            ").appendTo(document.body).addClass(t.className).css({top:c.top-u,left:c.left-a,height:r.innerHeight(),width:r.innerWidth(),position:s?"fixed":"absolute"}).animate(l,t.duration,t.easing,function(){h.remove(),n()})}})(jQuery); \ No newline at end of file diff --git a/modules/lib/jquery-ui/jquery-ui-1.8.23.custom.min.js b/modules/lib/jquery-ui/jquery-ui-1.8.23.custom.min.js deleted file mode 100644 index 7835454..0000000 --- a/modules/lib/jquery-ui/jquery-ui-1.8.23.custom.min.js +++ /dev/null @@ -1,125 +0,0 @@ -/*! jQuery UI - v1.8.23 - 2012-08-15 -* https://github.com/jquery/jquery-ui -* Includes: jquery.ui.core.js -* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ -(function(a,b){function c(b,c){var e=b.nodeName.toLowerCase();if("area"===e){var f=b.parentNode,g=f.name,h;return!b.href||!g||f.nodeName.toLowerCase()!=="map"?!1:(h=a("img[usemap=#"+g+"]")[0],!!h&&d(h))}return(/input|select|textarea|button|object/.test(e)?!b.disabled:"a"==e?b.href||c:c)&&d(b)}function d(b){return!a(b).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}a.ui=a.ui||{};if(a.ui.version)return;a.extend(a.ui,{version:"1.8.23",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}}),a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(b,c){return typeof b=="number"?this.each(function(){var d=this;setTimeout(function(){a(d).focus(),c&&c.call(d)},b)}):this._focus.apply(this,arguments)},scrollParent:function(){var b;return a.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?b=this.parents().filter(function(){return/(relative|absolute|fixed)/.test(a.curCSS(this,"position",1))&&/(auto|scroll)/.test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0):b=this.parents().filter(function(){return/(auto|scroll)/.test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0),/fixed/.test(this.css("position"))||!b.length?a(document):b},zIndex:function(c){if(c!==b)return this.css("zIndex",c);if(this.length){var d=a(this[0]),e,f;while(d.length&&d[0]!==document){e=d.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){f=parseInt(d.css("zIndex"),10);if(!isNaN(f)&&f!==0)return f}d=d.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}}),a("
            ").outerWidth(1).jquery||a.each(["Width","Height"],function(c,d){function h(b,c,d,f){return a.each(e,function(){c-=parseFloat(a.curCSS(b,"padding"+this,!0))||0,d&&(c-=parseFloat(a.curCSS(b,"border"+this+"Width",!0))||0),f&&(c-=parseFloat(a.curCSS(b,"margin"+this,!0))||0)}),c}var e=d==="Width"?["Left","Right"]:["Top","Bottom"],f=d.toLowerCase(),g={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};a.fn["inner"+d]=function(c){return c===b?g["inner"+d].call(this):this.each(function(){a(this).css(f,h(this,c)+"px")})},a.fn["outer"+d]=function(b,c){return typeof b!="number"?g["outer"+d].call(this,b):this.each(function(){a(this).css(f,h(this,b,!0,c)+"px")})}}),a.extend(a.expr[":"],{data:a.expr.createPseudo?a.expr.createPseudo(function(b){return function(c){return!!a.data(c,b)}}):function(b,c,d){return!!a.data(b,d[3])},focusable:function(b){return c(b,!isNaN(a.attr(b,"tabindex")))},tabbable:function(b){var d=a.attr(b,"tabindex"),e=isNaN(d);return(e||d>=0)&&c(b,!e)}}),a(function(){var b=document.body,c=b.appendChild(c=document.createElement("div"));c.offsetHeight,a.extend(c.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0}),a.support.minHeight=c.offsetHeight===100,a.support.selectstart="onselectstart"in c,b.removeChild(c).style.display="none"}),a.curCSS||(a.curCSS=a.css),a.extend(a.ui,{plugin:{add:function(b,c,d){var e=a.ui[b].prototype;for(var f in d)e.plugins[f]=e.plugins[f]||[],e.plugins[f].push([c,d[f]])},call:function(a,b,c){var d=a.plugins[b];if(!d||!a.element[0].parentNode)return;for(var e=0;e0?!0:(b[d]=1,e=b[d]>0,b[d]=0,e)},isOverAxis:function(a,b,c){return a>b&&a=9||!!b.button?this._mouseStarted?(this._mouseDrag(b),b.preventDefault()):(this._mouseDistanceMet(b)&&this._mouseDelayMet(b)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,b)!==!1,this._mouseStarted?this._mouseDrag(b):this._mouseUp(b)),!this._mouseStarted):this._mouseUp(b)},_mouseUp:function(b){return a(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,b.target==this._mouseDownEvent.target&&a.data(b.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(b)),!1},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX-a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(a){return this.mouseDelayMet},_mouseStart:function(a){},_mouseDrag:function(a){},_mouseStop:function(a){},_mouseCapture:function(a){return!0}})})(jQuery);;/*! jQuery UI - v1.8.23 - 2012-08-15 -* https://github.com/jquery/jquery-ui -* Includes: jquery.ui.position.js -* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ -(function(a,b){a.ui=a.ui||{};var c=/left|center|right/,d=/top|center|bottom/,e="center",f={},g=a.fn.position,h=a.fn.offset;a.fn.position=function(b){if(!b||!b.of)return g.apply(this,arguments);b=a.extend({},b);var h=a(b.of),i=h[0],j=(b.collision||"flip").split(" "),k=b.offset?b.offset.split(" "):[0,0],l,m,n;return i.nodeType===9?(l=h.width(),m=h.height(),n={top:0,left:0}):i.setTimeout?(l=h.width(),m=h.height(),n={top:h.scrollTop(),left:h.scrollLeft()}):i.preventDefault?(b.at="left top",l=m=0,n={top:b.of.pageY,left:b.of.pageX}):(l=h.outerWidth(),m=h.outerHeight(),n=h.offset()),a.each(["my","at"],function(){var a=(b[this]||"").split(" ");a.length===1&&(a=c.test(a[0])?a.concat([e]):d.test(a[0])?[e].concat(a):[e,e]),a[0]=c.test(a[0])?a[0]:e,a[1]=d.test(a[1])?a[1]:e,b[this]=a}),j.length===1&&(j[1]=j[0]),k[0]=parseInt(k[0],10)||0,k.length===1&&(k[1]=k[0]),k[1]=parseInt(k[1],10)||0,b.at[0]==="right"?n.left+=l:b.at[0]===e&&(n.left+=l/2),b.at[1]==="bottom"?n.top+=m:b.at[1]===e&&(n.top+=m/2),n.left+=k[0],n.top+=k[1],this.each(function(){var c=a(this),d=c.outerWidth(),g=c.outerHeight(),h=parseInt(a.curCSS(this,"marginLeft",!0))||0,i=parseInt(a.curCSS(this,"marginTop",!0))||0,o=d+h+(parseInt(a.curCSS(this,"marginRight",!0))||0),p=g+i+(parseInt(a.curCSS(this,"marginBottom",!0))||0),q=a.extend({},n),r;b.my[0]==="right"?q.left-=d:b.my[0]===e&&(q.left-=d/2),b.my[1]==="bottom"?q.top-=g:b.my[1]===e&&(q.top-=g/2),f.fractions||(q.left=Math.round(q.left),q.top=Math.round(q.top)),r={left:q.left-h,top:q.top-i},a.each(["left","top"],function(c,e){a.ui.position[j[c]]&&a.ui.position[j[c]][e](q,{targetWidth:l,targetHeight:m,elemWidth:d,elemHeight:g,collisionPosition:r,collisionWidth:o,collisionHeight:p,offset:k,my:b.my,at:b.at})}),a.fn.bgiframe&&c.bgiframe(),c.offset(a.extend(q,{using:b.using}))})},a.ui.position={fit:{left:function(b,c){var d=a(window),e=c.collisionPosition.left+c.collisionWidth-d.width()-d.scrollLeft();b.left=e>0?b.left-e:Math.max(b.left-c.collisionPosition.left,b.left)},top:function(b,c){var d=a(window),e=c.collisionPosition.top+c.collisionHeight-d.height()-d.scrollTop();b.top=e>0?b.top-e:Math.max(b.top-c.collisionPosition.top,b.top)}},flip:{left:function(b,c){if(c.at[0]===e)return;var d=a(window),f=c.collisionPosition.left+c.collisionWidth-d.width()-d.scrollLeft(),g=c.my[0]==="left"?-c.elemWidth:c.my[0]==="right"?c.elemWidth:0,h=c.at[0]==="left"?c.targetWidth:-c.targetWidth,i=-2*c.offset[0];b.left+=c.collisionPosition.left<0?g+h+i:f>0?g+h+i:0},top:function(b,c){if(c.at[1]===e)return;var d=a(window),f=c.collisionPosition.top+c.collisionHeight-d.height()-d.scrollTop(),g=c.my[1]==="top"?-c.elemHeight:c.my[1]==="bottom"?c.elemHeight:0,h=c.at[1]==="top"?c.targetHeight:-c.targetHeight,i=-2*c.offset[1];b.top+=c.collisionPosition.top<0?g+h+i:f>0?g+h+i:0}}},a.offset.setOffset||(a.offset.setOffset=function(b,c){/static/.test(a.curCSS(b,"position"))&&(b.style.position="relative");var d=a(b),e=d.offset(),f=parseInt(a.curCSS(b,"top",!0),10)||0,g=parseInt(a.curCSS(b,"left",!0),10)||0,h={top:c.top-e.top+f,left:c.left-e.left+g};"using"in c?c.using.call(b,h):d.css(h)},a.fn.offset=function(b){var c=this[0];return!c||!c.ownerDocument?null:b?a.isFunction(b)?this.each(function(c){a(this).offset(b.call(this,c,a(this).offset()))}):this.each(function(){a.offset.setOffset(this,b)}):h.call(this)}),a.curCSS||(a.curCSS=a.css),function(){var b=document.getElementsByTagName("body")[0],c=document.createElement("div"),d,e,g,h,i;d=document.createElement(b?"div":"body"),g={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},b&&a.extend(g,{position:"absolute",left:"-1000px",top:"-1000px"});for(var j in g)d.style[j]=g[j];d.appendChild(c),e=b||document.documentElement,e.insertBefore(d,e.firstChild),c.style.cssText="position: absolute; left: 10.7432222px; top: 10.432325px; height: 30px; width: 201px;",h=a(c).offset(function(a,b){return b}).offset(),d.innerHTML="",e.removeChild(d),i=h.top+h.left+(b?2e3:0),f.fractions=i>21&&i<22}()})(jQuery);;/*! jQuery UI - v1.8.23 - 2012-08-15 -* https://github.com/jquery/jquery-ui -* Includes: jquery.ui.draggable.js -* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ -(function(a,b){a.widget("ui.draggable",a.ui.mouse,{widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1},_create:function(){this.options.helper=="original"&&!/^(?:r|a|f)/.test(this.element.css("position"))&&(this.element[0].style.position="relative"),this.options.addClasses&&this.element.addClass("ui-draggable"),this.options.disabled&&this.element.addClass("ui-draggable-disabled"),this._mouseInit()},destroy:function(){if(!this.element.data("draggable"))return;return this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"),this._mouseDestroy(),this},_mouseCapture:function(b){var c=this.options;return this.helper||c.disabled||a(b.target).is(".ui-resizable-handle")?!1:(this.handle=this._getHandle(b),this.handle?(c.iframeFix&&a(c.iframeFix===!0?"iframe":c.iframeFix).each(function(){a('
            ').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1e3}).css(a(this).offset()).appendTo("body")}),!0):!1)},_mouseStart:function(b){var c=this.options;return this.helper=this._createHelper(b),this.helper.addClass("ui-draggable-dragging"),this._cacheHelperProportions(),a.ui.ddmanager&&(a.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(),this.offset=this.positionAbs=this.element.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},a.extend(this.offset,{click:{left:b.pageX-this.offset.left,top:b.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.originalPosition=this.position=this._generatePosition(b),this.originalPageX=b.pageX,this.originalPageY=b.pageY,c.cursorAt&&this._adjustOffsetFromHelper(c.cursorAt),c.containment&&this._setContainment(),this._trigger("start",b)===!1?(this._clear(),!1):(this._cacheHelperProportions(),a.ui.ddmanager&&!c.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b),this._mouseDrag(b,!0),a.ui.ddmanager&&a.ui.ddmanager.dragStart(this,b),!0)},_mouseDrag:function(b,c){this.position=this._generatePosition(b),this.positionAbs=this._convertPositionTo("absolute");if(!c){var d=this._uiHash();if(this._trigger("drag",b,d)===!1)return this._mouseUp({}),!1;this.position=d.position}if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+"px";if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";return a.ui.ddmanager&&a.ui.ddmanager.drag(this,b),!1},_mouseStop:function(b){var c=!1;a.ui.ddmanager&&!this.options.dropBehaviour&&(c=a.ui.ddmanager.drop(this,b)),this.dropped&&(c=this.dropped,this.dropped=!1);var d=this.element[0],e=!1;while(d&&(d=d.parentNode))d==document&&(e=!0);if(!e&&this.options.helper==="original")return!1;if(this.options.revert=="invalid"&&!c||this.options.revert=="valid"&&c||this.options.revert===!0||a.isFunction(this.options.revert)&&this.options.revert.call(this.element,c)){var f=this;a(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){f._trigger("stop",b)!==!1&&f._clear()})}else this._trigger("stop",b)!==!1&&this._clear();return!1},_mouseUp:function(b){return this.options.iframeFix===!0&&a("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)}),a.ui.ddmanager&&a.ui.ddmanager.dragStop(this,b),a.ui.mouse.prototype._mouseUp.call(this,b)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear(),this},_getHandle:function(b){var c=!this.options.handle||!a(this.options.handle,this.element).length?!0:!1;return a(this.options.handle,this.element).find("*").andSelf().each(function(){this==b.target&&(c=!0)}),c},_createHelper:function(b){var c=this.options,d=a.isFunction(c.helper)?a(c.helper.apply(this.element[0],[b])):c.helper=="clone"?this.element.clone().removeAttr("id"):this.element;return d.parents("body").length||d.appendTo(c.appendTo=="parent"?this.element[0].parentNode:c.appendTo),d[0]!=this.element[0]&&!/(fixed|absolute)/.test(d.css("position"))&&d.css("position","absolute"),d},_adjustOffsetFromHelper:function(b){typeof b=="string"&&(b=b.split(" ")),a.isArray(b)&&(b={left:+b[0],top:+b[1]||0}),"left"in b&&(this.offset.click.left=b.left+this.margins.left),"right"in b&&(this.offset.click.left=this.helperProportions.width-b.right+this.margins.left),"top"in b&&(this.offset.click.top=b.top+this.margins.top),"bottom"in b&&(this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var b=this.offsetParent.offset();this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0])&&(b.left+=this.scrollParent.scrollLeft(),b.top+=this.scrollParent.scrollTop());if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&a.browser.msie)b={top:0,left:0};return{top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:b.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.element.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var b=this.options;b.containment=="parent"&&(b.containment=this.helper[0].parentNode);if(b.containment=="document"||b.containment=="window")this.containment=[b.containment=="document"?0:a(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,b.containment=="document"?0:a(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,(b.containment=="document"?0:a(window).scrollLeft())+a(b.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(b.containment=="document"?0:a(window).scrollTop())+(a(b.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(b.containment)&&b.containment.constructor!=Array){var c=a(b.containment),d=c[0];if(!d)return;var e=c.offset(),f=a(d).css("overflow")!="hidden";this.containment=[(parseInt(a(d).css("borderLeftWidth"),10)||0)+(parseInt(a(d).css("paddingLeft"),10)||0),(parseInt(a(d).css("borderTopWidth"),10)||0)+(parseInt(a(d).css("paddingTop"),10)||0),(f?Math.max(d.scrollWidth,d.offsetWidth):d.offsetWidth)-(parseInt(a(d).css("borderLeftWidth"),10)||0)-(parseInt(a(d).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(f?Math.max(d.scrollHeight,d.offsetHeight):d.offsetHeight)-(parseInt(a(d).css("borderTopWidth"),10)||0)-(parseInt(a(d).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relative_container=c}else b.containment.constructor==Array&&(this.containment=b.containment)},_convertPositionTo:function(b,c){c||(c=this.position);var d=b=="absolute"?1:-1,e=this.options,f=this.cssPosition=="absolute"&&(this.scrollParent[0]==document||!a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,g=/(html|body)/i.test(f[0].tagName);return{top:c.top+this.offset.relative.top*d+this.offset.parent.top*d-(a.browser.safari&&a.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():g?0:f.scrollTop())*d),left:c.left+this.offset.relative.left*d+this.offset.parent.left*d-(a.browser.safari&&a.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():g?0:f.scrollLeft())*d)}},_generatePosition:function(b){var c=this.options,d=this.cssPosition=="absolute"&&(this.scrollParent[0]==document||!a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,e=/(html|body)/i.test(d[0].tagName),f=b.pageX,g=b.pageY;if(this.originalPosition){var h;if(this.containment){if(this.relative_container){var i=this.relative_container.offset();h=[this.containment[0]+i.left,this.containment[1]+i.top,this.containment[2]+i.left,this.containment[3]+i.top]}else h=this.containment;b.pageX-this.offset.click.lefth[2]&&(f=h[2]+this.offset.click.left),b.pageY-this.offset.click.top>h[3]&&(g=h[3]+this.offset.click.top)}if(c.grid){var j=c.grid[1]?this.originalPageY+Math.round((g-this.originalPageY)/c.grid[1])*c.grid[1]:this.originalPageY;g=h?j-this.offset.click.toph[3]?j-this.offset.click.toph[2]?k-this.offset.click.left=0;k--){var l=d.snapElements[k].left,m=l+d.snapElements[k].width,n=d.snapElements[k].top,o=n+d.snapElements[k].height;if(!(l-f=k&&g<=l||h>=k&&h<=l||gl)&&(e>=i&&e<=j||f>=i&&f<=j||ej);default:return!1}},a.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(b,c){var d=a.ui.ddmanager.droppables[b.options.scope]||[],e=c?c.type:null,f=(b.currentItem||b.element).find(":data(droppable)").andSelf();g:for(var h=0;h
            ').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("resizable",this.element.data("resizable")),this.elementIsWrapper=!0,this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")}),this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0}),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css({margin:this.originalElement.css("margin")}),this._proportionallyResize()),this.handles=c.handles||(a(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se");if(this.handles.constructor==String){this.handles=="all"&&(this.handles="n,e,s,w,se,sw,ne,nw");var d=this.handles.split(",");this.handles={};for(var e=0;e
            ');h.css({zIndex:c.zIndex}),"se"==f&&h.addClass("ui-icon ui-icon-gripsmall-diagonal-se"),this.handles[f]=".ui-resizable-"+f,this.element.append(h)}}this._renderAxis=function(b){b=b||this.element;for(var c in this.handles){this.handles[c].constructor==String&&(this.handles[c]=a(this.handles[c],this.element).show());if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var d=a(this.handles[c],this.element),e=0;e=/sw|ne|nw|se|n|s/.test(c)?d.outerHeight():d.outerWidth();var f=["padding",/ne|nw|n/.test(c)?"Top":/se|sw|s/.test(c)?"Bottom":/^e$/.test(c)?"Right":"Left"].join("");b.css(f,e),this._proportionallyResize()}if(!a(this.handles[c]).length)continue}},this._renderAxis(this.element),this._handles=a(".ui-resizable-handle",this.element).disableSelection(),this._handles.mouseover(function(){if(!b.resizing){if(this.className)var a=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);b.axis=a&&a[1]?a[1]:"se"}}),c.autoHide&&(this._handles.hide(),a(this.element).addClass("ui-resizable-autohide").hover(function(){if(c.disabled)return;a(this).removeClass("ui-resizable-autohide"),b._handles.show()},function(){if(c.disabled)return;b.resizing||(a(this).addClass("ui-resizable-autohide"),b._handles.hide())})),this._mouseInit()},destroy:function(){this._mouseDestroy();var b=function(b){a(b).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){b(this.element);var c=this.element;c.after(this.originalElement.css({position:c.css("position"),width:c.outerWidth(),height:c.outerHeight(),top:c.css("top"),left:c.css("left")})).remove()}return this.originalElement.css("resize",this.originalResizeStyle),b(this.originalElement),this},_mouseCapture:function(b){var c=!1;for(var d in this.handles)a(this.handles[d])[0]==b.target&&(c=!0);return!this.options.disabled&&c},_mouseStart:function(b){var d=this.options,e=this.element.position(),f=this.element;this.resizing=!0,this.documentScroll={top:a(document).scrollTop(),left:a(document).scrollLeft()},(f.is(".ui-draggable")||/absolute/.test(f.css("position")))&&f.css({position:"absolute",top:e.top,left:e.left}),this._renderProxy();var g=c(this.helper.css("left")),h=c(this.helper.css("top"));d.containment&&(g+=a(d.containment).scrollLeft()||0,h+=a(d.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:g,top:h},this.size=this._helper?{width:f.outerWidth(),height:f.outerHeight()}:{width:f.width(),height:f.height()},this.originalSize=this._helper?{width:f.outerWidth(),height:f.outerHeight()}:{width:f.width(),height:f.height()},this.originalPosition={left:g,top:h},this.sizeDiff={width:f.outerWidth()-f.width(),height:f.outerHeight()-f.height()},this.originalMousePosition={left:b.pageX,top:b.pageY},this.aspectRatio=typeof d.aspectRatio=="number"?d.aspectRatio:this.originalSize.width/this.originalSize.height||1;var i=a(".ui-resizable-"+this.axis).css("cursor");return a("body").css("cursor",i=="auto"?this.axis+"-resize":i),f.addClass("ui-resizable-resizing"),this._propagate("start",b),!0},_mouseDrag:function(b){var c=this.helper,d=this.options,e={},f=this,g=this.originalMousePosition,h=this.axis,i=b.pageX-g.left||0,j=b.pageY-g.top||0,k=this._change[h];if(!k)return!1;var l=k.apply(this,[b,i,j]),m=a.browser.msie&&a.browser.version<7,n=this.sizeDiff;this._updateVirtualBoundaries(b.shiftKey);if(this._aspectRatio||b.shiftKey)l=this._updateRatio(l,b);return l=this._respectSize(l,b),this._propagate("resize",b),c.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"}),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),this._updateCache(l),this._trigger("resize",b,this.ui()),!1},_mouseStop:function(b){this.resizing=!1;var c=this.options,d=this;if(this._helper){var e=this._proportionallyResizeElements,f=e.length&&/textarea/i.test(e[0].nodeName),g=f&&a.ui.hasScroll(e[0],"left")?0:d.sizeDiff.height,h=f?0:d.sizeDiff.width,i={width:d.helper.width()-h,height:d.helper.height()-g},j=parseInt(d.element.css("left"),10)+(d.position.left-d.originalPosition.left)||null,k=parseInt(d.element.css("top"),10)+(d.position.top-d.originalPosition.top)||null;c.animate||this.element.css(a.extend(i,{top:k,left:j})),d.helper.height(d.size.height),d.helper.width(d.size.width),this._helper&&!c.animate&&this._proportionallyResize()}return a("body").css("cursor","auto"),this.element.removeClass("ui-resizable-resizing"),this._propagate("stop",b),this._helper&&this.helper.remove(),!1},_updateVirtualBoundaries:function(a){var b=this.options,c,e,f,g,h;h={minWidth:d(b.minWidth)?b.minWidth:0,maxWidth:d(b.maxWidth)?b.maxWidth:Infinity,minHeight:d(b.minHeight)?b.minHeight:0,maxHeight:d(b.maxHeight)?b.maxHeight:Infinity};if(this._aspectRatio||a)c=h.minHeight*this.aspectRatio,f=h.minWidth/this.aspectRatio,e=h.maxHeight*this.aspectRatio,g=h.maxWidth/this.aspectRatio,c>h.minWidth&&(h.minWidth=c),f>h.minHeight&&(h.minHeight=f),ea.width,k=d(a.height)&&e.minHeight&&e.minHeight>a.height;j&&(a.width=e.minWidth),k&&(a.height=e.minHeight),h&&(a.width=e.maxWidth),i&&(a.height=e.maxHeight);var l=this.originalPosition.left+this.originalSize.width,m=this.position.top+this.size.height,n=/sw|nw|w/.test(g),o=/nw|ne|n/.test(g);j&&n&&(a.left=l-e.minWidth),h&&n&&(a.left=l-e.maxWidth),k&&o&&(a.top=m-e.minHeight),i&&o&&(a.top=m-e.maxHeight);var p=!a.width&&!a.height;return p&&!a.left&&a.top?a.top=null:p&&!a.top&&a.left&&(a.left=null),a},_proportionallyResize:function(){var b=this.options;if(!this._proportionallyResizeElements.length)return;var c=this.helper||this.element;for(var d=0;d
            ');var d=a.browser.msie&&a.browser.version<7,e=d?1:0,f=d?2:-1;this.helper.addClass(this._helper).css({width:this.element.outerWidth()+f,height:this.element.outerHeight()+f,position:"absolute",left:this.elementOffset.left-e+"px",top:this.elementOffset.top-e+"px",zIndex:++c.zIndex}),this.helper.appendTo("body").disableSelection()}else this.helper=this.element},_change:{e:function(a,b,c){return{width:this.originalSize.width+b}},w:function(a,b,c){var d=this.options,e=this.originalSize,f=this.originalPosition;return{left:f.left+b,width:e.width-b}},n:function(a,b,c){var d=this.options,e=this.originalSize,f=this.originalPosition;return{top:f.top+c,height:e.height-c}},s:function(a,b,c){return{height:this.originalSize.height+c}},se:function(b,c,d){return a.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[b,c,d]))},sw:function(b,c,d){return a.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[b,c,d]))},ne:function(b,c,d){return a.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[b,c,d]))},nw:function(b,c,d){return a.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[b,c,d]))}},_propagate:function(b,c){a.ui.plugin.call(this,b,[c,this.ui()]),b!="resize"&&this._trigger(b,c,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),a.extend(a.ui.resizable,{version:"1.8.23"}),a.ui.plugin.add("resizable","alsoResize",{start:function(b,c){var d=a(this).data("resizable"),e=d.options,f=function(b){a(b).each(function(){var b=a(this);b.data("resizable-alsoresize",{width:parseInt(b.width(),10),height:parseInt(b.height(),10),left:parseInt(b.css("left"),10),top:parseInt(b.css("top"),10)})})};typeof e.alsoResize=="object"&&!e.alsoResize.parentNode?e.alsoResize.length?(e.alsoResize=e.alsoResize[0],f(e.alsoResize)):a.each(e.alsoResize,function(a){f(a)}):f(e.alsoResize)},resize:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d.originalSize,g=d.originalPosition,h={height:d.size.height-f.height||0,width:d.size.width-f.width||0,top:d.position.top-g.top||0,left:d.position.left-g.left||0},i=function(b,d){a(b).each(function(){var b=a(this),e=a(this).data("resizable-alsoresize"),f={},g=d&&d.length?d:b.parents(c.originalElement[0]).length?["width","height"]:["width","height","top","left"];a.each(g,function(a,b){var c=(e[b]||0)+(h[b]||0);c&&c>=0&&(f[b]=c||null)}),b.css(f)})};typeof e.alsoResize=="object"&&!e.alsoResize.nodeType?a.each(e.alsoResize,function(a,b){i(a,b)}):i(e.alsoResize)},stop:function(b,c){a(this).removeData("resizable-alsoresize")}}),a.ui.plugin.add("resizable","animate",{stop:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d._proportionallyResizeElements,g=f.length&&/textarea/i.test(f[0].nodeName),h=g&&a.ui.hasScroll(f[0],"left")?0:d.sizeDiff.height,i=g?0:d.sizeDiff.width,j={width:d.size.width-i,height:d.size.height-h},k=parseInt(d.element.css("left"),10)+(d.position.left-d.originalPosition.left)||null,l=parseInt(d.element.css("top"),10)+(d.position.top-d.originalPosition.top)||null;d.element.animate(a.extend(j,l&&k?{top:l,left:k}:{}),{duration:e.animateDuration,easing:e.animateEasing,step:function(){var c={width:parseInt(d.element.css("width"),10),height:parseInt(d.element.css("height"),10),top:parseInt(d.element.css("top"),10),left:parseInt(d.element.css("left"),10)};f&&f.length&&a(f[0]).css({width:c.width,height:c.height}),d._updateCache(c),d._propagate("resize",b)}})}}),a.ui.plugin.add("resizable","containment",{start:function(b,d){var e=a(this).data("resizable"),f=e.options,g=e.element,h=f.containment,i=h instanceof a?h.get(0):/parent/.test(h)?g.parent().get(0):h;if(!i)return;e.containerElement=a(i);if(/document/.test(h)||h==document)e.containerOffset={left:0,top:0},e.containerPosition={left:0,top:0},e.parentData={element:a(document),left:0,top:0,width:a(document).width(),height:a(document).height()||document.body.parentNode.scrollHeight};else{var j=a(i),k=[];a(["Top","Right","Left","Bottom"]).each(function(a,b){k[a]=c(j.css("padding"+b))}),e.containerOffset=j.offset(),e.containerPosition=j.position(),e.containerSize={height:j.innerHeight()-k[3],width:j.innerWidth()-k[1]};var l=e.containerOffset,m=e.containerSize.height,n=e.containerSize.width,o=a.ui.hasScroll(i,"left")?i.scrollWidth:n,p=a.ui.hasScroll(i)?i.scrollHeight:m;e.parentData={element:i,left:l.left,top:l.top,width:o,height:p}}},resize:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d.containerSize,g=d.containerOffset,h=d.size,i=d.position,j=d._aspectRatio||b.shiftKey,k={top:0,left:0},l=d.containerElement;l[0]!=document&&/static/.test(l.css("position"))&&(k=g),i.left<(d._helper?g.left:0)&&(d.size.width=d.size.width+(d._helper?d.position.left-g.left:d.position.left-k.left),j&&(d.size.height=d.size.width/d.aspectRatio),d.position.left=e.helper?g.left:0),i.top<(d._helper?g.top:0)&&(d.size.height=d.size.height+(d._helper?d.position.top-g.top:d.position.top),j&&(d.size.width=d.size.height*d.aspectRatio),d.position.top=d._helper?g.top:0),d.offset.left=d.parentData.left+d.position.left,d.offset.top=d.parentData.top+d.position.top;var m=Math.abs((d._helper?d.offset.left-k.left:d.offset.left-k.left)+d.sizeDiff.width),n=Math.abs((d._helper?d.offset.top-k.top:d.offset.top-g.top)+d.sizeDiff.height),o=d.containerElement.get(0)==d.element.parent().get(0),p=/relative|absolute/.test(d.containerElement.css("position"));o&&p&&(m-=d.parentData.left),m+d.size.width>=d.parentData.width&&(d.size.width=d.parentData.width-m,j&&(d.size.height=d.size.width/d.aspectRatio)),n+d.size.height>=d.parentData.height&&(d.size.height=d.parentData.height-n,j&&(d.size.width=d.size.height*d.aspectRatio))},stop:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d.position,g=d.containerOffset,h=d.containerPosition,i=d.containerElement,j=a(d.helper),k=j.offset(),l=j.outerWidth()-d.sizeDiff.width,m=j.outerHeight()-d.sizeDiff.height;d._helper&&!e.animate&&/relative/.test(i.css("position"))&&a(this).css({left:k.left-h.left-g.left,width:l,height:m}),d._helper&&!e.animate&&/static/.test(i.css("position"))&&a(this).css({left:k.left-h.left-g.left,width:l,height:m})}}),a.ui.plugin.add("resizable","ghost",{start:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d.size;d.ghost=d.originalElement.clone(),d.ghost.css({opacity:.25,display:"block",position:"relative",height:f.height,width:f.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof e.ghost=="string"?e.ghost:""),d.ghost.appendTo(d.helper)},resize:function(b,c){var d=a(this).data("resizable"),e=d.options;d.ghost&&d.ghost.css({position:"relative",height:d.size.height,width:d.size.width})},stop:function(b,c){var d=a(this).data("resizable"),e=d.options;d.ghost&&d.helper&&d.helper.get(0).removeChild(d.ghost.get(0))}}),a.ui.plugin.add("resizable","grid",{resize:function(b,c){var d=a(this).data("resizable"),e=d.options,f=d.size,g=d.originalSize,h=d.originalPosition,i=d.axis,j=e._aspectRatio||b.shiftKey;e.grid=typeof e.grid=="number"?[e.grid,e.grid]:e.grid;var k=Math.round((f.width-g.width)/(e.grid[0]||1))*(e.grid[0]||1),l=Math.round((f.height-g.height)/(e.grid[1]||1))*(e.grid[1]||1);/^(se|s|e)$/.test(i)?(d.size.width=g.width+k,d.size.height=g.height+l):/^(ne)$/.test(i)?(d.size.width=g.width+k,d.size.height=g.height+l,d.position.top=h.top-l):/^(sw)$/.test(i)?(d.size.width=g.width+k,d.size.height=g.height+l,d.position.left=h.left-k):(d.size.width=g.width+k,d.size.height=g.height+l,d.position.top=h.top-l,d.position.left=h.left-k)}});var c=function(a){return parseInt(a,10)||0},d=function(a){return!isNaN(parseInt(a,10))}})(jQuery);;/*! jQuery UI - v1.8.23 - 2012-08-15 -* https://github.com/jquery/jquery-ui -* Includes: jquery.ui.selectable.js -* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ -(function(a,b){a.widget("ui.selectable",a.ui.mouse,{options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch"},_create:function(){var b=this;this.element.addClass("ui-selectable"),this.dragged=!1;var c;this.refresh=function(){c=a(b.options.filter,b.element[0]),c.addClass("ui-selectee"),c.each(function(){var b=a(this),c=b.offset();a.data(this,"selectable-item",{element:this,$element:b,left:c.left,top:c.top,right:c.left+b.outerWidth(),bottom:c.top+b.outerHeight(),startselected:!1,selected:b.hasClass("ui-selected"),selecting:b.hasClass("ui-selecting"),unselecting:b.hasClass("ui-unselecting")})})},this.refresh(),this.selectees=c.addClass("ui-selectee"),this._mouseInit(),this.helper=a("
            ")},destroy:function(){return this.selectees.removeClass("ui-selectee").removeData("selectable-item"),this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable"),this._mouseDestroy(),this},_mouseStart:function(b){var c=this;this.opos=[b.pageX,b.pageY];if(this.options.disabled)return;var d=this.options;this.selectees=a(d.filter,this.element[0]),this._trigger("start",b),a(d.appendTo).append(this.helper),this.helper.css({left:b.clientX,top:b.clientY,width:0,height:0}),d.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var d=a.data(this,"selectable-item");d.startselected=!0,!b.metaKey&&!b.ctrlKey&&(d.$element.removeClass("ui-selected"),d.selected=!1,d.$element.addClass("ui-unselecting"),d.unselecting=!0,c._trigger("unselecting",b,{unselecting:d.element}))}),a(b.target).parents().andSelf().each(function(){var d=a.data(this,"selectable-item");if(d){var e=!b.metaKey&&!b.ctrlKey||!d.$element.hasClass("ui-selected");return d.$element.removeClass(e?"ui-unselecting":"ui-selected").addClass(e?"ui-selecting":"ui-unselecting"),d.unselecting=!e,d.selecting=e,d.selected=e,e?c._trigger("selecting",b,{selecting:d.element}):c._trigger("unselecting",b,{unselecting:d.element}),!1}})},_mouseDrag:function(b){var c=this;this.dragged=!0;if(this.options.disabled)return;var d=this.options,e=this.opos[0],f=this.opos[1],g=b.pageX,h=b.pageY;if(e>g){var i=g;g=e,e=i}if(f>h){var i=h;h=f,f=i}return this.helper.css({left:e,top:f,width:g-e,height:h-f}),this.selectees.each(function(){var i=a.data(this,"selectable-item");if(!i||i.element==c.element[0])return;var j=!1;d.tolerance=="touch"?j=!(i.left>g||i.righth||i.bottome&&i.rightf&&i.bottom *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3},_create:function(){var a=this.options;this.containerCache={},this.element.addClass("ui-sortable"),this.refresh(),this.floating=this.items.length?a.axis==="x"||/left|right/.test(this.items[0].item.css("float"))||/inline|table-cell/.test(this.items[0].item.css("display")):!1,this.offset=this.element.offset(),this._mouseInit(),this.ready=!0},destroy:function(){a.Widget.prototype.destroy.call(this),this.element.removeClass("ui-sortable ui-sortable-disabled"),this._mouseDestroy();for(var b=this.items.length-1;b>=0;b--)this.items[b].item.removeData(this.widgetName+"-item");return this},_setOption:function(b,c){b==="disabled"?(this.options[b]=c,this.widget()[c?"addClass":"removeClass"]("ui-sortable-disabled")):a.Widget.prototype._setOption.apply(this,arguments)},_mouseCapture:function(b,c){var d=this;if(this.reverting)return!1;if(this.options.disabled||this.options.type=="static")return!1;this._refreshItems(b);var e=null,f=this,g=a(b.target).parents().each(function(){if(a.data(this,d.widgetName+"-item")==f)return e=a(this),!1});a.data(b.target,d.widgetName+"-item")==f&&(e=a(b.target));if(!e)return!1;if(this.options.handle&&!c){var h=!1;a(this.options.handle,e).find("*").andSelf().each(function(){this==b.target&&(h=!0)});if(!h)return!1}return this.currentItem=e,this._removeCurrentsFromItems(),!0},_mouseStart:function(b,c,d){var e=this.options,f=this;this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(b),this._cacheHelperProportions(),this._cacheMargins(),this.scrollParent=this.helper.scrollParent(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},a.extend(this.offset,{click:{left:b.pageX-this.offset.left,top:b.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),this.originalPosition=this._generatePosition(b),this.originalPageX=b.pageX,this.originalPageY=b.pageY,e.cursorAt&&this._adjustOffsetFromHelper(e.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!=this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),e.containment&&this._setContainment(),e.cursor&&(a("body").css("cursor")&&(this._storedCursor=a("body").css("cursor")),a("body").css("cursor",e.cursor)),e.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",e.opacity)),e.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",e.zIndex)),this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",b,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions();if(!d)for(var g=this.containers.length-1;g>=0;g--)this.containers[g]._trigger("activate",b,f._uiHash(this));return a.ui.ddmanager&&(a.ui.ddmanager.current=this),a.ui.ddmanager&&!e.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b),this.dragging=!0,this.helper.addClass("ui-sortable-helper"),this._mouseDrag(b),!0},_mouseDrag:function(b){this.position=this._generatePosition(b),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs);if(this.options.scroll){var c=this.options,d=!1;this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-b.pageY=0;e--){var f=this.items[e],g=f.item[0],h=this._intersectsWithPointer(f);if(!h)continue;if(g!=this.currentItem[0]&&this.placeholder[h==1?"next":"prev"]()[0]!=g&&!a.ui.contains(this.placeholder[0],g)&&(this.options.type=="semi-dynamic"?!a.ui.contains(this.element[0],g):!0)){this.direction=h==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(f))this._rearrange(b,f);else break;this._trigger("change",b,this._uiHash());break}}return this._contactContainers(b),a.ui.ddmanager&&a.ui.ddmanager.drag(this,b),this._trigger("sort",b,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(b,c){if(!b)return;a.ui.ddmanager&&!this.options.dropBehaviour&&a.ui.ddmanager.drop(this,b);if(this.options.revert){var d=this,e=d.placeholder.offset();d.reverting=!0,a(this.helper).animate({left:e.left-this.offset.parent.left-d.margins.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft),top:e.top-this.offset.parent.top-d.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){d._clear(b)})}else this._clear(b,c);return!1},cancel:function(){var b=this;if(this.dragging){this._mouseUp({target:null}),this.options.helper=="original"?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):this.currentItem.show();for(var c=this.containers.length-1;c>=0;c--)this.containers[c]._trigger("deactivate",null,b._uiHash(this)),this.containers[c].containerCache.over&&(this.containers[c]._trigger("out",null,b._uiHash(this)),this.containers[c].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.options.helper!="original"&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),a.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?a(this.domPosition.prev).after(this.currentItem):a(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(b){var c=this._getItemsAsjQuery(b&&b.connected),d=[];return b=b||{},a(c).each(function(){var c=(a(b.item||this).attr(b.attribute||"id")||"").match(b.expression||/(.+)[-=_](.+)/);c&&d.push((b.key||c[1]+"[]")+"="+(b.key&&b.expression?c[1]:c[2]))}),!d.length&&b.key&&d.push(b.key+"="),d.join("&")},toArray:function(b){var c=this._getItemsAsjQuery(b&&b.connected),d=[];return b=b||{},c.each(function(){d.push(a(b.item||this).attr(b.attribute||"id")||"")}),d},_intersectsWith:function(a){var b=this.positionAbs.left,c=b+this.helperProportions.width,d=this.positionAbs.top,e=d+this.helperProportions.height,f=a.left,g=f+a.width,h=a.top,i=h+a.height,j=this.offset.click.top,k=this.offset.click.left,l=d+j>h&&d+jf&&b+ka[this.floating?"width":"height"]?l:f0?"down":"up")},_getDragHorizontalDirection:function(){var a=this.positionAbs.left-this.lastPositionAbs.left;return a!=0&&(a>0?"right":"left")},refresh:function(a){return this._refreshItems(a),this.refreshPositions(),this},_connectWith:function(){var a=this.options;return a.connectWith.constructor==String?[a.connectWith]:a.connectWith},_getItemsAsjQuery:function(b){var c=this,d=[],e=[],f=this._connectWith();if(f&&b)for(var g=f.length-1;g>=0;g--){var h=a(f[g]);for(var i=h.length-1;i>=0;i--){var j=a.data(h[i],this.widgetName);j&&j!=this&&!j.options.disabled&&e.push([a.isFunction(j.options.items)?j.options.items.call(j.element):a(j.options.items,j.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),j])}}e.push([a.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):a(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]);for(var g=e.length-1;g>=0;g--)e[g][0].each(function(){d.push(this)});return a(d)},_removeCurrentsFromItems:function(){var a=this.currentItem.find(":data("+this.widgetName+"-item)");for(var b=0;b=0;g--){var h=a(f[g]);for(var i=h.length-1;i>=0;i--){var j=a.data(h[i],this.widgetName);j&&j!=this&&!j.options.disabled&&(e.push([a.isFunction(j.options.items)?j.options.items.call(j.element[0],b,{item:this.currentItem}):a(j.options.items,j.element),j]),this.containers.push(j))}}for(var g=e.length-1;g>=0;g--){var k=e[g][1],l=e[g][0];for(var i=0,m=l.length;i=0;c--){var d=this.items[c];if(d.instance!=this.currentContainer&&this.currentContainer&&d.item[0]!=this.currentItem[0])continue;var e=this.options.toleranceElement?a(this.options.toleranceElement,d.item):d.item;b||(d.width=e.outerWidth(),d.height=e.outerHeight());var f=e.offset();d.left=f.left,d.top=f.top}if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(var c=this.containers.length-1;c>=0;c--){var f=this.containers[c].element.offset();this.containers[c].containerCache.left=f.left,this.containers[c].containerCache.top=f.top,this.containers[c].containerCache.width=this.containers[c].element.outerWidth(),this.containers[c].containerCache.height=this.containers[c].element.outerHeight()}return this},_createPlaceholder:function(b){var c=b||this,d=c.options;if(!d.placeholder||d.placeholder.constructor==String){var e=d.placeholder;d.placeholder={element:function(){var b=a(document.createElement(c.currentItem[0].nodeName)).addClass(e||c.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];return e||(b.style.visibility="hidden"),b},update:function(a,b){if(e&&!d.forcePlaceholderSize)return;b.height()||b.height(c.currentItem.innerHeight()-parseInt(c.currentItem.css("paddingTop")||0,10)-parseInt(c.currentItem.css("paddingBottom")||0,10)),b.width()||b.width(c.currentItem.innerWidth()-parseInt(c.currentItem.css("paddingLeft")||0,10)-parseInt(c.currentItem.css("paddingRight")||0,10))}}}c.placeholder=a(d.placeholder.element.call(c.element,c.currentItem)),c.currentItem.after(c.placeholder),d.placeholder.update(c,c.placeholder)},_contactContainers:function(b){var c=null,d=null;for(var e=this.containers.length-1;e>=0;e--){if(a.ui.contains(this.currentItem[0],this.containers[e].element[0]))continue;if(this._intersectsWith(this.containers[e].containerCache)){if(c&&a.ui.contains(this.containers[e].element[0],c.element[0]))continue;c=this.containers[e],d=e}else this.containers[e].containerCache.over&&(this.containers[e]._trigger("out",b,this._uiHash(this)),this.containers[e].containerCache.over=0)}if(!c)return;if(this.containers.length===1)this.containers[d]._trigger("over",b,this._uiHash(this)),this.containers[d].containerCache.over=1;else if(this.currentContainer!=this.containers[d]){var f=1e4,g=null,h=this.positionAbs[this.containers[d].floating?"left":"top"];for(var i=this.items.length-1;i>=0;i--){if(!a.ui.contains(this.containers[d].element[0],this.items[i].item[0]))continue;var j=this.containers[d].floating?this.items[i].item.offset().left:this.items[i].item.offset().top;Math.abs(j-h)0?"down":"up")}if(!g&&!this.options.dropOnEmpty)return;this.currentContainer=this.containers[d],g?this._rearrange(b,g,null,!0):this._rearrange(b,null,this.containers[d].element,!0),this._trigger("change",b,this._uiHash()),this.containers[d]._trigger("change",b,this._uiHash(this)),this.options.placeholder.update(this.currentContainer,this.placeholder),this.containers[d]._trigger("over",b,this._uiHash(this)),this.containers[d].containerCache.over=1}},_createHelper:function(b){var c=this.options,d=a.isFunction(c.helper)?a(c.helper.apply(this.element[0],[b,this.currentItem])):c.helper=="clone"?this.currentItem.clone():this.currentItem;return d.parents("body").length||a(c.appendTo!="parent"?c.appendTo:this.currentItem[0].parentNode)[0].appendChild(d[0]),d[0]==this.currentItem[0]&&(this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")}),(d[0].style.width==""||c.forceHelperSize)&&d.width(this.currentItem.width()),(d[0].style.height==""||c.forceHelperSize)&&d.height(this.currentItem.height()),d},_adjustOffsetFromHelper:function(b){typeof b=="string"&&(b=b.split(" ")),a.isArray(b)&&(b={left:+b[0],top:+b[1]||0}),"left"in b&&(this.offset.click.left=b.left+this.margins.left),"right"in b&&(this.offset.click.left=this.helperProportions.width-b.right+this.margins.left),"top"in b&&(this.offset.click.top=b.top+this.margins.top),"bottom"in b&&(this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var b=this.offsetParent.offset();this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0])&&(b.left+=this.scrollParent.scrollLeft(),b.top+=this.scrollParent.scrollTop());if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&a.browser.msie)b={top:0,left:0};return{top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:b.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.currentItem.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var b=this.options;b.containment=="parent"&&(b.containment=this.helper[0].parentNode);if(b.containment=="document"||b.containment=="window")this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,a(b.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(a(b.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(b.containment)){var c=a(b.containment)[0],d=a(b.containment).offset(),e=a(c).css("overflow")!="hidden";this.containment=[d.left+(parseInt(a(c).css("borderLeftWidth"),10)||0)+(parseInt(a(c).css("paddingLeft"),10)||0)-this.margins.left,d.top+(parseInt(a(c).css("borderTopWidth"),10)||0)+(parseInt(a(c).css("paddingTop"),10)||0)-this.margins.top,d.left+(e?Math.max(c.scrollWidth,c.offsetWidth):c.offsetWidth)-(parseInt(a(c).css("borderLeftWidth"),10)||0)-(parseInt(a(c).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,d.top+(e?Math.max(c.scrollHeight,c.offsetHeight):c.offsetHeight)-(parseInt(a(c).css("borderTopWidth"),10)||0)-(parseInt(a(c).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}},_convertPositionTo:function(b,c){c||(c=this.position);var d=b=="absolute"?1:-1,e=this.options,f=this.cssPosition=="absolute"&&(this.scrollParent[0]==document||!a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,g=/(html|body)/i.test(f[0].tagName);return{top:c.top+this.offset.relative.top*d+this.offset.parent.top*d-(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():g?0:f.scrollTop())*d),left:c.left+this.offset.relative.left*d+this.offset.parent.left*d-(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():g?0:f.scrollLeft())*d)}},_generatePosition:function(b){var c=this.options,d=this.cssPosition=="absolute"&&(this.scrollParent[0]==document||!a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,e=/(html|body)/i.test(d[0].tagName);this.cssPosition=="relative"&&(this.scrollParent[0]==document||this.scrollParent[0]==this.offsetParent[0])&&(this.offset.relative=this._getRelativeOffset());var f=b.pageX,g=b.pageY;if(this.originalPosition){this.containment&&(b.pageX-this.offset.click.leftthis.containment[2]&&(f=this.containment[2]+this.offset.click.left),b.pageY-this.offset.click.top>this.containment[3]&&(g=this.containment[3]+this.offset.click.top));if(c.grid){var h=this.originalPageY+Math.round((g-this.originalPageY)/c.grid[1])*c.grid[1];g=this.containment?h-this.offset.click.topthis.containment[3]?h-this.offset.click.topthis.containment[2]?i-this.offset.click.left=0;f--)a.ui.contains(this.containers[f].element[0],this.currentItem[0])&&!c&&(d.push(function(a){return function(b){a._trigger("receive",b,this._uiHash(this))}}.call(this,this.containers[f])),d.push(function(a){return function(b){a._trigger("update",b,this._uiHash(this))}}.call(this,this.containers[f])))}for(var f=this.containers.length-1;f>=0;f--)c||d.push(function(a){return function(b){a._trigger("deactivate",b,this._uiHash(this))}}.call(this,this.containers[f])),this.containers[f].containerCache.over&&(d.push(function(a){return function(b){a._trigger("out",b,this._uiHash(this))}}.call(this,this.containers[f])),this.containers[f].containerCache.over=0);this._storedCursor&&a("body").css("cursor",this._storedCursor),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex",this._storedZIndex=="auto"?"":this._storedZIndex),this.dragging=!1;if(this.cancelHelperRemoval){if(!c){this._trigger("beforeStop",b,this._uiHash());for(var f=0;f li > :first-child,> :not(li):even",icons:{header:"ui-icon-triangle-1-e",headerSelected:"ui-icon-triangle-1-s"},navigation:!1,navigationFilter:function(){return this.href.toLowerCase()===location.href.toLowerCase()}},_create:function(){var b=this,c=b.options;b.running=0,b.element.addClass("ui-accordion ui-widget ui-helper-reset").children("li").addClass("ui-accordion-li-fix"),b.headers=b.element.find(c.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all").bind("mouseenter.accordion",function(){if(c.disabled)return;a(this).addClass("ui-state-hover")}).bind("mouseleave.accordion",function(){if(c.disabled)return;a(this).removeClass("ui-state-hover")}).bind("focus.accordion",function(){if(c.disabled)return;a(this).addClass("ui-state-focus")}).bind("blur.accordion",function(){if(c.disabled)return;a(this).removeClass("ui-state-focus")}),b.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom");if(c.navigation){var d=b.element.find("a").filter(c.navigationFilter).eq(0);if(d.length){var e=d.closest(".ui-accordion-header");e.length?b.active=e:b.active=d.closest(".ui-accordion-content").prev()}}b.active=b._findActive(b.active||c.active).addClass("ui-state-default ui-state-active").toggleClass("ui-corner-all").toggleClass("ui-corner-top"),b.active.next().addClass("ui-accordion-content-active"),b._createIcons(),b.resize(),b.element.attr("role","tablist"),b.headers.attr("role","tab").bind("keydown.accordion",function(a){return b._keydown(a)}).next().attr("role","tabpanel"),b.headers.not(b.active||"").attr({"aria-expanded":"false","aria-selected":"false",tabIndex:-1}).next().hide(),b.active.length?b.active.attr({"aria-expanded":"true","aria-selected":"true",tabIndex:0}):b.headers.eq(0).attr("tabIndex",0),a.browser.safari||b.headers.find("a").attr("tabIndex",-1),c.event&&b.headers.bind(c.event.split(" ").join(".accordion ")+".accordion",function(a){b._clickHandler.call(b,a,this),a.preventDefault()})},_createIcons:function(){var b=this.options;b.icons&&(a("").addClass("ui-icon "+b.icons.header).prependTo(this.headers),this.active.children(".ui-icon").toggleClass(b.icons.header).toggleClass(b.icons.headerSelected),this.element.addClass("ui-accordion-icons"))},_destroyIcons:function(){this.headers.children(".ui-icon").remove(),this.element.removeClass("ui-accordion-icons")},destroy:function(){var b=this.options;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role"),this.headers.unbind(".accordion").removeClass("ui-accordion-header ui-accordion-disabled ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-selected").removeAttr("tabIndex"),this.headers.find("a").removeAttr("tabIndex"),this._destroyIcons();var c=this.headers.next().css("display","").removeAttr("role").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-accordion-disabled ui-state-disabled");return(b.autoHeight||b.fillHeight)&&c.css("height",""),a.Widget.prototype.destroy.call(this)},_setOption:function(b,c){a.Widget.prototype._setOption.apply(this,arguments),b=="active"&&this.activate(c),b=="icons"&&(this._destroyIcons(),c&&this._createIcons()),b=="disabled"&&this.headers.add(this.headers.next())[c?"addClass":"removeClass"]("ui-accordion-disabled ui-state-disabled")},_keydown:function(b){if(this.options.disabled||b.altKey||b.ctrlKey)return;var c=a.ui.keyCode,d=this.headers.length,e=this.headers.index(b.target),f=!1;switch(b.keyCode){case c.RIGHT:case c.DOWN:f=this.headers[(e+1)%d];break;case c.LEFT:case c.UP:f=this.headers[(e-1+d)%d];break;case c.SPACE:case c.ENTER:this._clickHandler({target:b.target},b.target),b.preventDefault()}return f?(a(b.target).attr("tabIndex",-1),a(f).attr("tabIndex",0),f.focus(),!1):!0},resize:function(){var b=this.options,c;if(b.fillSpace){if(a.browser.msie){var d=this.element.parent().css("overflow");this.element.parent().css("overflow","hidden")}c=this.element.parent().height(),a.browser.msie&&this.element.parent().css("overflow",d),this.headers.each(function(){c-=a(this).outerHeight(!0)}),this.headers.next().each(function(){a(this).height(Math.max(0,c-a(this).innerHeight()+a(this).height()))}).css("overflow","auto")}else b.autoHeight&&(c=0,this.headers.next().each(function(){c=Math.max(c,a(this).height("").height())}).height(c));return this},activate:function(a){this.options.active=a;var b=this._findActive(a)[0];return this._clickHandler({target:b},b),this},_findActive:function(b){return b?typeof b=="number"?this.headers.filter(":eq("+b+")"):this.headers.not(this.headers.not(b)):b===!1?a([]):this.headers.filter(":eq(0)")},_clickHandler:function(b,c){var d=this.options;if(d.disabled)return;if(!b.target){if(!d.collapsible)return;this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header),this.active.next().addClass("ui-accordion-content-active");var e=this.active.next(),f={options:d,newHeader:a([]),oldHeader:d.active,newContent:a([]),oldContent:e},g=this.active=a([]);this._toggle(g,e,f);return}var h=a(b.currentTarget||c),i=h[0]===this.active[0];d.active=d.collapsible&&i?!1:this.headers.index(h);if(this.running||!d.collapsible&&i)return;var j=this.active,g=h.next(),e=this.active.next(),f={options:d,newHeader:i&&d.collapsible?a([]):h,oldHeader:this.active,newContent:i&&d.collapsible?a([]):g,oldContent:e},k=this.headers.index(this.active[0])>this.headers.index(h[0]);this.active=i?a([]):h,this._toggle(g,e,f,i,k),j.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header),i||(h.removeClass("ui-state-default ui-corner-all").addClass("ui-state-active ui-corner-top").children(".ui-icon").removeClass(d.icons.header).addClass(d.icons.headerSelected),h.next().addClass("ui-accordion-content-active"));return},_toggle:function(b,c,d,e,f){var g=this,h=g.options;g.toShow=b,g.toHide=c,g.data=d;var i=function(){if(!g)return;return g._completed.apply(g,arguments)};g._trigger("changestart",null,g.data),g.running=c.size()===0?b.size():c.size();if(h.animated){var j={};h.collapsible&&e?j={toShow:a([]),toHide:c,complete:i,down:f,autoHeight:h.autoHeight||h.fillSpace}:j={toShow:b,toHide:c,complete:i,down:f,autoHeight:h.autoHeight||h.fillSpace},h.proxied||(h.proxied=h.animated),h.proxiedDuration||(h.proxiedDuration=h.duration),h.animated=a.isFunction(h.proxied)?h.proxied(j):h.proxied,h.duration=a.isFunction(h.proxiedDuration)?h.proxiedDuration(j):h.proxiedDuration;var k=a.ui.accordion.animations,l=h.duration,m=h.animated;m&&!k[m]&&!a.easing[m]&&(m="slide"),k[m]||(k[m]=function(a){this.slide(a,{easing:m,duration:l||700})}),k[m](j)}else h.collapsible&&e?b.toggle():(c.hide(),b.show()),i(!0);c.prev().attr({"aria-expanded":"false","aria-selected":"false",tabIndex:-1}).blur(),b.prev().attr({"aria-expanded":"true","aria-selected":"true",tabIndex:0}).focus()},_completed:function(a){this.running=a?0:--this.running;if(this.running)return;this.options.clearStyle&&this.toShow.add(this.toHide).css({height:"",overflow:""}),this.toHide.removeClass("ui-accordion-content-active"),this.toHide.length&&(this.toHide.parent()[0].className=this.toHide.parent()[0].className),this._trigger("change",null,this.data)}}),a.extend(a.ui.accordion,{version:"1.8.23",animations:{slide:function(b,c){b=a.extend({easing:"swing",duration:300},b,c);if(!b.toHide.size()){b.toShow.animate({height:"show",paddingTop:"show",paddingBottom:"show"},b);return}if(!b.toShow.size()){b.toHide.animate({height:"hide",paddingTop:"hide",paddingBottom:"hide"},b);return}var d=b.toShow.css("overflow"),e=0,f={},g={},h=["height","paddingTop","paddingBottom"],i,j=b.toShow;i=j[0].style.width,j.width(j.parent().width()-parseFloat(j.css("paddingLeft"))-parseFloat(j.css("paddingRight"))-(parseFloat(j.css("borderLeftWidth"))||0)-(parseFloat(j.css("borderRightWidth"))||0)),a.each(h,function(c,d){g[d]="hide";var e=(""+a.css(b.toShow[0],d)).match(/^([\d+-.]+)(.*)$/);f[d]={value:e[1],unit:e[2]||"px"}}),b.toShow.css({height:0,overflow:"hidden"}).show(),b.toHide.filter(":hidden").each(b.complete).end().filter(":visible").animate(g,{step:function(a,c){c.prop=="height"&&(e=c.end-c.start===0?0:(c.now-c.start)/(c.end-c.start)),b.toShow[0].style[c.prop]=e*f[c.prop].value+f[c.prop].unit},duration:b.duration,easing:b.easing,complete:function(){b.autoHeight||b.toShow.css("height",""),b.toShow.css({width:i,overflow:d}),b.complete()}})},bounceslide:function(a){this.slide(a,{easing:a.down?"easeOutBounce":"swing",duration:a.down?1e3:200})}}})})(jQuery);;/*! jQuery UI - v1.8.23 - 2012-08-15 -* https://github.com/jquery/jquery-ui -* Includes: jquery.ui.autocomplete.js -* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ -(function(a,b){var c=0;a.widget("ui.autocomplete",{options:{appendTo:"body",autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null},pending:0,_create:function(){var b=this,c=this.element[0].ownerDocument,d;this.isMultiLine=this.element.is("textarea"),this.element.addClass("ui-autocomplete-input").attr("autocomplete","off").attr({role:"textbox","aria-autocomplete":"list","aria-haspopup":"true"}).bind("keydown.autocomplete",function(c){if(b.options.disabled||b.element.propAttr("readOnly"))return;d=!1;var e=a.ui.keyCode;switch(c.keyCode){case e.PAGE_UP:b._move("previousPage",c);break;case e.PAGE_DOWN:b._move("nextPage",c);break;case e.UP:b._keyEvent("previous",c);break;case e.DOWN:b._keyEvent("next",c);break;case e.ENTER:case e.NUMPAD_ENTER:b.menu.active&&(d=!0,c.preventDefault());case e.TAB:if(!b.menu.active)return;b.menu.select(c);break;case e.ESCAPE:b.element.val(b.term),b.close(c);break;default:clearTimeout(b.searching),b.searching=setTimeout(function(){b.term!=b.element.val()&&(b.selectedItem=null,b.search(null,c))},b.options.delay)}}).bind("keypress.autocomplete",function(a){d&&(d=!1,a.preventDefault())}).bind("focus.autocomplete",function(){if(b.options.disabled)return;b.selectedItem=null,b.previous=b.element.val()}).bind("blur.autocomplete",function(a){if(b.options.disabled)return;clearTimeout(b.searching),b.closing=setTimeout(function(){b.close(a),b._change(a)},150)}),this._initSource(),this.menu=a("
              ").addClass("ui-autocomplete").appendTo(a(this.options.appendTo||"body",c)[0]).mousedown(function(c){var d=b.menu.element[0];a(c.target).closest(".ui-menu-item").length||setTimeout(function(){a(document).one("mousedown",function(c){c.target!==b.element[0]&&c.target!==d&&!a.ui.contains(d,c.target)&&b.close()})},1),setTimeout(function(){clearTimeout(b.closing)},13)}).menu({focus:function(a,c){var d=c.item.data("item.autocomplete");!1!==b._trigger("focus",a,{item:d})&&/^key/.test(a.originalEvent.type)&&b.element.val(d.value)},selected:function(a,d){var e=d.item.data("item.autocomplete"),f=b.previous;b.element[0]!==c.activeElement&&(b.element.focus(),b.previous=f,setTimeout(function(){b.previous=f,b.selectedItem=e},1)),!1!==b._trigger("select",a,{item:e})&&b.element.val(e.value),b.term=b.element.val(),b.close(a),b.selectedItem=e},blur:function(a,c){b.menu.element.is(":visible")&&b.element.val()!==b.term&&b.element.val(b.term)}}).zIndex(this.element.zIndex()+1).css({top:0,left:0}).hide().data("menu"),a.fn.bgiframe&&this.menu.element.bgiframe(),b.beforeunloadHandler=function(){b.element.removeAttr("autocomplete")},a(window).bind("beforeunload",b.beforeunloadHandler)},destroy:function(){this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete").removeAttr("role").removeAttr("aria-autocomplete").removeAttr("aria-haspopup"),this.menu.element.remove(),a(window).unbind("beforeunload",this.beforeunloadHandler),a.Widget.prototype.destroy.call(this)},_setOption:function(b,c){a.Widget.prototype._setOption.apply(this,arguments),b==="source"&&this._initSource(),b==="appendTo"&&this.menu.element.appendTo(a(c||"body",this.element[0].ownerDocument)[0]),b==="disabled"&&c&&this.xhr&&this.xhr.abort()},_initSource:function(){var b=this,c,d;a.isArray(this.options.source)?(c=this.options.source,this.source=function(b,d){d(a.ui.autocomplete.filter(c,b.term))}):typeof this.options.source=="string"?(d=this.options.source,this.source=function(c,e){b.xhr&&b.xhr.abort(),b.xhr=a.ajax({url:d,data:c,dataType:"json",success:function(a,b){e(a)},error:function(){e([])}})}):this.source=this.options.source},search:function(a,b){a=a!=null?a:this.element.val(),this.term=this.element.val();if(a.length").data("item.autocomplete",c).append(a("
              ").text(c.label)).appendTo(b)},_move:function(a,b){if(!this.menu.element.is(":visible")){this.search(null,b);return}if(this.menu.first()&&/^previous/.test(a)||this.menu.last()&&/^next/.test(a)){this.element.val(this.term),this.menu.deactivate();return}this.menu[a](b)},widget:function(){return this.menu.element},_keyEvent:function(a,b){if(!this.isMultiLine||this.menu.element.is(":visible"))this._move(a,b),b.preventDefault()}}),a.extend(a.ui.autocomplete,{escapeRegex:function(a){return a.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")},filter:function(b,c){var d=new RegExp(a.ui.autocomplete.escapeRegex(c),"i");return a.grep(b,function(a){return d.test(a.label||a.value||a)})}})})(jQuery),function(a){a.widget("ui.menu",{_create:function(){var b=this;this.element.addClass("ui-menu ui-widget ui-widget-content ui-corner-all").attr({role:"listbox","aria-activedescendant":"ui-active-menuitem"}).click(function(c){if(!a(c.target).closest(".ui-menu-item a").length)return;c.preventDefault(),b.select(c)}),this.refresh()},refresh:function(){var b=this,c=this.element.children("li:not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","menuitem");c.children("a").addClass("ui-corner-all").attr("tabindex",-1).mouseenter(function(c){b.activate(c,a(this).parent())}).mouseleave(function(){b.deactivate()})},activate:function(a,b){this.deactivate();if(this.hasScroll()){var c=b.offset().top-this.element.offset().top,d=this.element.scrollTop(),e=this.element.height();c<0?this.element.scrollTop(d+c):c>=e&&this.element.scrollTop(d+c-e+b.height())}this.active=b.eq(0).children("a").addClass("ui-state-hover").attr("id","ui-active-menuitem").end(),this._trigger("focus",a,{item:b})},deactivate:function(){if(!this.active)return;this.active.children("a").removeClass("ui-state-hover").removeAttr("id"),this._trigger("blur"),this.active=null},next:function(a){this.move("next",".ui-menu-item:first",a)},previous:function(a){this.move("prev",".ui-menu-item:last",a)},first:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},last:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},move:function(a,b,c){if(!this.active){this.activate(c,this.element.children(b));return}var d=this.active[a+"All"](".ui-menu-item").eq(0);d.length?this.activate(c,d):this.activate(c,this.element.children(b))},nextPage:function(b){if(this.hasScroll()){if(!this.active||this.last()){this.activate(b,this.element.children(".ui-menu-item:first"));return}var c=this.active.offset().top,d=this.element.height(),e=this.element.children(".ui-menu-item").filter(function(){var b=a(this).offset().top-c-d+a(this).height();return b<10&&b>-10});e.length||(e=this.element.children(".ui-menu-item:last")),this.activate(b,e)}else this.activate(b,this.element.children(".ui-menu-item").filter(!this.active||this.last()?":first":":last"))},previousPage:function(b){if(this.hasScroll()){if(!this.active||this.first()){this.activate(b,this.element.children(".ui-menu-item:last"));return}var c=this.active.offset().top,d=this.element.height(),e=this.element.children(".ui-menu-item").filter(function(){var b=a(this).offset().top-c+d-a(this).height();return b<10&&b>-10});e.length||(e=this.element.children(".ui-menu-item:first")),this.activate(b,e)}else this.activate(b,this.element.children(".ui-menu-item").filter(!this.active||this.first()?":last":":first"))},hasScroll:function(){return this.element.height()
              ",this.element[0].ownerDocument).addClass("ui-button-text").html(this.options.label).appendTo(b.empty()).text(),d=this.options.icons,e=d.primary&&d.secondary,f=[];d.primary||d.secondary?(this.options.text&&f.push("ui-button-text-icon"+(e?"s":d.primary?"-primary":"-secondary")),d.primary&&b.prepend(""),d.secondary&&b.append(""),this.options.text||(f.push(e?"ui-button-icons-only":"ui-button-icon-only"),this.hasTitle||b.attr("title",c))):f.push("ui-button-text-only"),b.addClass(f.join(" "))}}),a.widget("ui.buttonset",{options:{items:":button, :submit, :reset, :checkbox, :radio, a, :data(button)"},_create:function(){this.element.addClass("ui-buttonset")},_init:function(){this.refresh()},_setOption:function(b,c){b==="disabled"&&this.buttons.button("option",b,c),a.Widget.prototype._setOption.apply(this,arguments)},refresh:function(){var b=this.element.css("direction")==="rtl";this.buttons=this.element.find(this.options.items).filter(":ui-button").button("refresh").end().not(":ui-button").button().end().map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass(b?"ui-corner-right":"ui-corner-left").end().filter(":last").addClass(b?"ui-corner-left":"ui-corner-right").end().end()},destroy:function(){this.element.removeClass("ui-buttonset"),this.buttons.map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy"),a.Widget.prototype.destroy.call(this)}})})(jQuery);;/*! jQuery UI - v1.8.23 - 2012-08-15 -* https://github.com/jquery/jquery-ui -* Includes: jquery.ui.dialog.js -* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ -(function(a,b){var c="ui-dialog ui-widget ui-widget-content ui-corner-all ",d={buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},e={maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0};a.widget("ui.dialog",{options:{autoOpen:!0,buttons:{},closeOnEscape:!0,closeText:"close",dialogClass:"",draggable:!0,hide:null,height:"auto",maxHeight:!1,maxWidth:!1,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",collision:"fit",using:function(b){var c=a(this).css(b).offset().top;c<0&&a(this).css("top",b.top-c)}},resizable:!0,show:null,stack:!0,title:"",width:300,zIndex:1e3},_create:function(){this.originalTitle=this.element.attr("title"),typeof this.originalTitle!="string"&&(this.originalTitle=""),this.options.title=this.options.title||this.originalTitle;var b=this,d=b.options,e=d.title||" ",f=a.ui.dialog.getTitleId(b.element),g=(b.uiDialog=a("
              ")).appendTo(document.body).hide().addClass(c+d.dialogClass).css({zIndex:d.zIndex}).attr("tabIndex",-1).css("outline",0).keydown(function(c){d.closeOnEscape&&!c.isDefaultPrevented()&&c.keyCode&&c.keyCode===a.ui.keyCode.ESCAPE&&(b.close(c),c.preventDefault())}).attr({role:"dialog","aria-labelledby":f}).mousedown(function(a){b.moveToTop(!1,a)}),h=b.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(g),i=(b.uiDialogTitlebar=a("
              ")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(g),j=a('').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role","button").hover(function(){j.addClass("ui-state-hover")},function(){j.removeClass("ui-state-hover")}).focus(function(){j.addClass("ui-state-focus")}).blur(function(){j.removeClass("ui-state-focus")}).click(function(a){return b.close(a),!1}).appendTo(i),k=(b.uiDialogTitlebarCloseText=a("")).addClass("ui-icon ui-icon-closethick").text(d.closeText).appendTo(j),l=a("").addClass("ui-dialog-title").attr("id",f).html(e).prependTo(i);a.isFunction(d.beforeclose)&&!a.isFunction(d.beforeClose)&&(d.beforeClose=d.beforeclose),i.find("*").add(i).disableSelection(),d.draggable&&a.fn.draggable&&b._makeDraggable(),d.resizable&&a.fn.resizable&&b._makeResizable(),b._createButtons(d.buttons),b._isOpen=!1,a.fn.bgiframe&&g.bgiframe()},_init:function(){this.options.autoOpen&&this.open()},destroy:function(){var a=this;return a.overlay&&a.overlay.destroy(),a.uiDialog.hide(),a.element.unbind(".dialog").removeData("dialog").removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body"),a.uiDialog.remove(),a.originalTitle&&a.element.attr("title",a.originalTitle),a},widget:function(){return this.uiDialog},close:function(b){var c=this,d,e;if(!1===c._trigger("beforeClose",b))return;return c.overlay&&c.overlay.destroy(),c.uiDialog.unbind("keypress.ui-dialog"),c._isOpen=!1,c.options.hide?c.uiDialog.hide(c.options.hide,function(){c._trigger("close",b)}):(c.uiDialog.hide(),c._trigger("close",b)),a.ui.dialog.overlay.resize(),c.options.modal&&(d=0,a(".ui-dialog").each(function(){this!==c.uiDialog[0]&&(e=a(this).css("z-index"),isNaN(e)||(d=Math.max(d,e)))}),a.ui.dialog.maxZ=d),c},isOpen:function(){return this._isOpen},moveToTop:function(b,c){var d=this,e=d.options,f;return e.modal&&!b||!e.stack&&!e.modal?d._trigger("focus",c):(e.zIndex>a.ui.dialog.maxZ&&(a.ui.dialog.maxZ=e.zIndex),d.overlay&&(a.ui.dialog.maxZ+=1,d.overlay.$el.css("z-index",a.ui.dialog.overlay.maxZ=a.ui.dialog.maxZ)),f={scrollTop:d.element.scrollTop(),scrollLeft:d.element.scrollLeft()},a.ui.dialog.maxZ+=1,d.uiDialog.css("z-index",a.ui.dialog.maxZ),d.element.attr(f),d._trigger("focus",c),d)},open:function(){if(this._isOpen)return;var b=this,c=b.options,d=b.uiDialog;return b.overlay=c.modal?new a.ui.dialog.overlay(b):null,b._size(),b._position(c.position),d.show(c.show),b.moveToTop(!0),c.modal&&d.bind("keydown.ui-dialog",function(b){if(b.keyCode!==a.ui.keyCode.TAB)return;var c=a(":tabbable",this),d=c.filter(":first"),e=c.filter(":last");if(b.target===e[0]&&!b.shiftKey)return d.focus(1),!1;if(b.target===d[0]&&b.shiftKey)return e.focus(1),!1}),a(b.element.find(":tabbable").get().concat(d.find(".ui-dialog-buttonpane :tabbable").get().concat(d.get()))).eq(0).focus(),b._isOpen=!0,b._trigger("open"),b},_createButtons:function(b){var c=this,d=!1,e=a("
              ").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),f=a("
              ").addClass("ui-dialog-buttonset").appendTo(e);c.uiDialog.find(".ui-dialog-buttonpane").remove(),typeof b=="object"&&b!==null&&a.each(b,function(){return!(d=!0)}),d&&(a.each(b,function(b,d){d=a.isFunction(d)?{click:d,text:b}:d;var e=a('').click(function(){d.click.apply(c.element[0],arguments)}).appendTo(f);a.each(d,function(a,b){if(a==="click")return;a in e?e[a](b):e.attr(a,b)}),a.fn.button&&e.button()}),e.appendTo(c.uiDialog))},_makeDraggable:function(){function f(a){return{position:a.position,offset:a.offset}}var b=this,c=b.options,d=a(document),e;b.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(d,g){e=c.height==="auto"?"auto":a(this).height(),a(this).height(a(this).height()).addClass("ui-dialog-dragging"),b._trigger("dragStart",d,f(g))},drag:function(a,c){b._trigger("drag",a,f(c))},stop:function(g,h){c.position=[h.position.left-d.scrollLeft(),h.position.top-d.scrollTop()],a(this).removeClass("ui-dialog-dragging").height(e),b._trigger("dragStop",g,f(h)),a.ui.dialog.overlay.resize()}})},_makeResizable:function(c){function h(a){return{originalPosition:a.originalPosition,originalSize:a.originalSize,position:a.position,size:a.size}}c=c===b?this.options.resizable:c;var d=this,e=d.options,f=d.uiDialog.css("position"),g=typeof c=="string"?c:"n,e,s,w,se,sw,ne,nw";d.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:d.element,maxWidth:e.maxWidth,maxHeight:e.maxHeight,minWidth:e.minWidth,minHeight:d._minHeight(),handles:g,start:function(b,c){a(this).addClass("ui-dialog-resizing"),d._trigger("resizeStart",b,h(c))},resize:function(a,b){d._trigger("resize",a,h(b))},stop:function(b,c){a(this).removeClass("ui-dialog-resizing"),e.height=a(this).height(),e.width=a(this).width(),d._trigger("resizeStop",b,h(c)),a.ui.dialog.overlay.resize()}}).css("position",f).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")},_minHeight:function(){var a=this.options;return a.height==="auto"?a.minHeight:Math.min(a.minHeight,a.height)},_position:function(b){var c=[],d=[0,0],e;if(b){if(typeof b=="string"||typeof b=="object"&&"0"in b)c=b.split?b.split(" "):[b[0],b[1]],c.length===1&&(c[1]=c[0]),a.each(["left","top"],function(a,b){+c[a]===c[a]&&(d[a]=c[a],c[a]=b)}),b={my:c.join(" "),at:c.join(" "),offset:d.join(" ")};b=a.extend({},a.ui.dialog.prototype.options.position,b)}else b=a.ui.dialog.prototype.options.position;e=this.uiDialog.is(":visible"),e||this.uiDialog.show(),this.uiDialog.css({top:0,left:0}).position(a.extend({of:window},b)),e||this.uiDialog.hide()},_setOptions:function(b){var c=this,f={},g=!1;a.each(b,function(a,b){c._setOption(a,b),a in d&&(g=!0),a in e&&(f[a]=b)}),g&&this._size(),this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option",f)},_setOption:function(b,d){var e=this,f=e.uiDialog;switch(b){case"beforeclose":b="beforeClose";break;case"buttons":e._createButtons(d);break;case"closeText":e.uiDialogTitlebarCloseText.text(""+d);break;case"dialogClass":f.removeClass(e.options.dialogClass).addClass(c+d);break;case"disabled":d?f.addClass("ui-dialog-disabled"):f.removeClass("ui-dialog-disabled");break;case"draggable":var g=f.is(":data(draggable)");g&&!d&&f.draggable("destroy"),!g&&d&&e._makeDraggable();break;case"position":e._position(d);break;case"resizable":var h=f.is(":data(resizable)");h&&!d&&f.resizable("destroy"),h&&typeof d=="string"&&f.resizable("option","handles",d),!h&&d!==!1&&e._makeResizable(d);break;case"title":a(".ui-dialog-title",e.uiDialogTitlebar).html(""+(d||" "))}a.Widget.prototype._setOption.apply(e,arguments)},_size:function(){var b=this.options,c,d,e=this.uiDialog.is(":visible");this.element.show().css({width:"auto",minHeight:0,height:0}),b.minWidth>b.width&&(b.width=b.minWidth),c=this.uiDialog.css({height:"auto",width:b.width}).height(),d=Math.max(0,b.minHeight-c);if(b.height==="auto")if(a.support.minHeight)this.element.css({minHeight:d,height:"auto"});else{this.uiDialog.show();var f=this.element.css("height","auto").height();e||this.uiDialog.hide(),this.element.height(Math.max(f,d))}else this.element.height(Math.max(b.height-c,0));this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())}}),a.extend(a.ui.dialog,{version:"1.8.23",uuid:0,maxZ:0,getTitleId:function(a){var b=a.attr("id");return b||(this.uuid+=1,b=this.uuid),"ui-dialog-title-"+b},overlay:function(b){this.$el=a.ui.dialog.overlay.create(b)}}),a.extend(a.ui.dialog.overlay,{instances:[],oldInstances:[],maxZ:0,events:a.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(a){return a+".dialog-overlay"}).join(" "),create:function(b){this.instances.length===0&&(setTimeout(function(){a.ui.dialog.overlay.instances.length&&a(document).bind(a.ui.dialog.overlay.events,function(b){if(a(b.target).zIndex()
              ").addClass("ui-widget-overlay")).appendTo(document.body).css({width:this.width(),height:this.height()});return a.fn.bgiframe&&c.bgiframe(),this.instances.push(c),c},destroy:function(b){var c=a.inArray(b,this.instances);c!=-1&&this.oldInstances.push(this.instances.splice(c,1)[0]),this.instances.length===0&&a([document,window]).unbind(".dialog-overlay"),b.remove();var d=0;a.each(this.instances,function(){d=Math.max(d,this.css("z-index"))}),this.maxZ=d},height:function(){var b,c;return a.browser.msie&&a.browser.version<7?(b=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight),c=Math.max(document.documentElement.offsetHeight,document.body.offsetHeight),b
              ").appendTo(this.element).addClass("ui-slider-range ui-widget-header"+(d.range==="min"||d.range==="max"?" ui-slider-range-"+d.range:"")));for(var i=e.length;ic&&(f=c,g=a(this),i=b)}),c.range===!0&&this.values(1)===c.min&&(i+=1,g=a(this.handles[i])),j=this._start(b,i),j===!1?!1:(this._mouseSliding=!0,h._handleIndex=i,g.addClass("ui-state-active").focus(),k=g.offset(),l=!a(b.target).parents().andSelf().is(".ui-slider-handle"),this._clickOffset=l?{left:0,top:0}:{left:b.pageX-k.left-g.width()/2,top:b.pageY-k.top-g.height()/2-(parseInt(g.css("borderTopWidth"),10)||0)-(parseInt(g.css("borderBottomWidth"),10)||0)+(parseInt(g.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(b,i,e),this._animateOff=!0,!0))},_mouseStart:function(a){return!0},_mouseDrag:function(a){var b={x:a.pageX,y:a.pageY},c=this._normValueFromMouse(b);return this._slide(a,this._handleIndex,c),!1},_mouseStop:function(a){return this.handles.removeClass("ui-state-active"),this._mouseSliding=!1,this._stop(a,this._handleIndex),this._change(a,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation=this.options.orientation==="vertical"?"vertical":"horizontal"},_normValueFromMouse:function(a){var b,c,d,e,f;return this.orientation==="horizontal"?(b=this.elementSize.width,c=a.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(b=this.elementSize.height,c=a.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),d=c/b,d>1&&(d=1),d<0&&(d=0),this.orientation==="vertical"&&(d=1-d),e=this._valueMax()-this._valueMin(),f=this._valueMin()+d*e,this._trimAlignValue(f)},_start:function(a,b){var c={handle:this.handles[b],value:this.value()};return this.options.values&&this.options.values.length&&(c.value=this.values(b),c.values=this.values()),this._trigger("start",a,c)},_slide:function(a,b,c){var d,e,f;this.options.values&&this.options.values.length?(d=this.values(b?0:1),this.options.values.length===2&&this.options.range===!0&&(b===0&&c>d||b===1&&c1){this.options.values[b]=this._trimAlignValue(c),this._refreshValue(),this._change(null,b);return}if(!arguments.length)return this._values();if(!a.isArray(arguments[0]))return this.options.values&&this.options.values.length?this._values(b):this.value();d=this.options.values,e=arguments[0];for(f=0;f=this._valueMax())return this._valueMax();var b=this.options.step>0?this.options.step:1,c=(a-this._valueMin())%b,d=a-c;return Math.abs(c)*2>=b&&(d+=c>0?b:-b),parseFloat(d.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},_refreshValue:function(){var b=this.options.range,c=this.options,d=this,e=this._animateOff?!1:c.animate,f,g={},h,i,j,k;this.options.values&&this.options.values.length?this.handles.each(function(b,i){f=(d.values(b)-d._valueMin())/(d._valueMax()-d._valueMin())*100,g[d.orientation==="horizontal"?"left":"bottom"]=f+"%",a(this).stop(1,1)[e?"animate":"css"](g,c.animate),d.options.range===!0&&(d.orientation==="horizontal"?(b===0&&d.range.stop(1,1)[e?"animate":"css"]({left:f+"%"},c.animate),b===1&&d.range[e?"animate":"css"]({width:f-h+"%"},{queue:!1,duration:c.animate})):(b===0&&d.range.stop(1,1)[e?"animate":"css"]({bottom:f+"%"},c.animate),b===1&&d.range[e?"animate":"css"]({height:f-h+"%"},{queue:!1,duration:c.animate}))),h=f}):(i=this.value(),j=this._valueMin(),k=this._valueMax(),f=k!==j?(i-j)/(k-j)*100:0,g[d.orientation==="horizontal"?"left":"bottom"]=f+"%",this.handle.stop(1,1)[e?"animate":"css"](g,c.animate),b==="min"&&this.orientation==="horizontal"&&this.range.stop(1,1)[e?"animate":"css"]({width:f+"%"},c.animate),b==="max"&&this.orientation==="horizontal"&&this.range[e?"animate":"css"]({width:100-f+"%"},{queue:!1,duration:c.animate}),b==="min"&&this.orientation==="vertical"&&this.range.stop(1,1)[e?"animate":"css"]({height:f+"%"},c.animate),b==="max"&&this.orientation==="vertical"&&this.range[e?"animate":"css"]({height:100-f+"%"},{queue:!1,duration:c.animate}))}}),a.extend(a.ui.slider,{version:"1.8.23"})})(jQuery);;/*! jQuery UI - v1.8.23 - 2012-08-15 -* https://github.com/jquery/jquery-ui -* Includes: jquery.ui.tabs.js -* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ -(function(a,b){function e(){return++c}function f(){return++d}var c=0,d=0;a.widget("ui.tabs",{options:{add:null,ajaxOptions:null,cache:!1,cookie:null,collapsible:!1,disable:null,disabled:[],enable:null,event:"click",fx:null,idPrefix:"ui-tabs-",load:null,panelTemplate:"
              ",remove:null,select:null,show:null,spinner:"Loading…",tabTemplate:"
            • #{label}
            • "},_create:function(){this._tabify(!0)},_setOption:function(a,b){if(a=="selected"){if(this.options.collapsible&&b==this.options.selected)return;this.select(b)}else this.options[a]=b,this._tabify()},_tabId:function(a){return a.title&&a.title.replace(/\s/g,"_").replace(/[^\w\u00c0-\uFFFF-]/g,"")||this.options.idPrefix+e()},_sanitizeSelector:function(a){return a.replace(/:/g,"\\:")},_cookie:function(){var b=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+f());return a.cookie.apply(null,[b].concat(a.makeArray(arguments)))},_ui:function(a,b){return{tab:a,panel:b,index:this.anchors.index(a)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var b=a(this);b.html(b.data("label.tabs")).removeData("label.tabs")})},_tabify:function(c){function m(b,c){b.css("display",""),!a.support.opacity&&c.opacity&&b[0].style.removeAttribute("filter")}var d=this,e=this.options,f=/^#.+/;this.list=this.element.find("ol,ul").eq(0),this.lis=a(" > li:has(a[href])",this.list),this.anchors=this.lis.map(function(){return a("a",this)[0]}),this.panels=a([]),this.anchors.each(function(b,c){var g=a(c).attr("href"),h=g.split("#")[0],i;h&&(h===location.toString().split("#")[0]||(i=a("base")[0])&&h===i.href)&&(g=c.hash,c.href=g);if(f.test(g))d.panels=d.panels.add(d.element.find(d._sanitizeSelector(g)));else if(g&&g!=="#"){a.data(c,"href.tabs",g),a.data(c,"load.tabs",g.replace(/#.*$/,""));var j=d._tabId(c);c.href="#"+j;var k=d.element.find("#"+j);k.length||(k=a(e.panelTemplate).attr("id",j).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(d.panels[b-1]||d.list),k.data("destroy.tabs",!0)),d.panels=d.panels.add(k)}else e.disabled.push(b)}),c?(this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all"),this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all"),this.lis.addClass("ui-state-default ui-corner-top"),this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom"),e.selected===b?(location.hash&&this.anchors.each(function(a,b){if(b.hash==location.hash)return e.selected=a,!1}),typeof e.selected!="number"&&e.cookie&&(e.selected=parseInt(d._cookie(),10)),typeof e.selected!="number"&&this.lis.filter(".ui-tabs-selected").length&&(e.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"))),e.selected=e.selected||(this.lis.length?0:-1)):e.selected===null&&(e.selected=-1),e.selected=e.selected>=0&&this.anchors[e.selected]||e.selected<0?e.selected:0,e.disabled=a.unique(e.disabled.concat(a.map(this.lis.filter(".ui-state-disabled"),function(a,b){return d.lis.index(a)}))).sort(),a.inArray(e.selected,e.disabled)!=-1&&e.disabled.splice(a.inArray(e.selected,e.disabled),1),this.panels.addClass("ui-tabs-hide"),this.lis.removeClass("ui-tabs-selected ui-state-active"),e.selected>=0&&this.anchors.length&&(d.element.find(d._sanitizeSelector(d.anchors[e.selected].hash)).removeClass("ui-tabs-hide"),this.lis.eq(e.selected).addClass("ui-tabs-selected ui-state-active"),d.element.queue("tabs",function(){d._trigger("show",null,d._ui(d.anchors[e.selected],d.element.find(d._sanitizeSelector(d.anchors[e.selected].hash))[0]))}),this.load(e.selected)),a(window).bind("unload",function(){d.lis.add(d.anchors).unbind(".tabs"),d.lis=d.anchors=d.panels=null})):e.selected=this.lis.index(this.lis.filter(".ui-tabs-selected")),this.element[e.collapsible?"addClass":"removeClass"]("ui-tabs-collapsible"),e.cookie&&this._cookie(e.selected,e.cookie);for(var g=0,h;h=this.lis[g];g++)a(h)[a.inArray(g,e.disabled)!=-1&&!a(h).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled");e.cache===!1&&this.anchors.removeData("cache.tabs"),this.lis.add(this.anchors).unbind(".tabs");if(e.event!=="mouseover"){var i=function(a,b){b.is(":not(.ui-state-disabled)")&&b.addClass("ui-state-"+a)},j=function(a,b){b.removeClass("ui-state-"+a)};this.lis.bind("mouseover.tabs",function(){i("hover",a(this))}),this.lis.bind("mouseout.tabs",function(){j("hover",a(this))}),this.anchors.bind("focus.tabs",function(){i("focus",a(this).closest("li"))}),this.anchors.bind("blur.tabs",function(){j("focus",a(this).closest("li"))})}var k,l;e.fx&&(a.isArray(e.fx)?(k=e.fx[0],l=e.fx[1]):k=l=e.fx);var n=l?function(b,c){a(b).closest("li").addClass("ui-tabs-selected ui-state-active"),c.hide().removeClass("ui-tabs-hide").animate(l,l.duration||"normal",function(){m(c,l),d._trigger("show",null,d._ui(b,c[0]))})}:function(b,c){a(b).closest("li").addClass("ui-tabs-selected ui-state-active"),c.removeClass("ui-tabs-hide"),d._trigger("show",null,d._ui(b,c[0]))},o=k?function(a,b){b.animate(k,k.duration||"normal",function(){d.lis.removeClass("ui-tabs-selected ui-state-active"),b.addClass("ui-tabs-hide"),m(b,k),d.element.dequeue("tabs")})}:function(a,b,c){d.lis.removeClass("ui-tabs-selected ui-state-active"),b.addClass("ui-tabs-hide"),d.element.dequeue("tabs")};this.anchors.bind(e.event+".tabs",function(){var b=this,c=a(b).closest("li"),f=d.panels.filter(":not(.ui-tabs-hide)"),g=d.element.find(d._sanitizeSelector(b.hash));if(c.hasClass("ui-tabs-selected")&&!e.collapsible||c.hasClass("ui-state-disabled")||c.hasClass("ui-state-processing")||d.panels.filter(":animated").length||d._trigger("select",null,d._ui(this,g[0]))===!1)return this.blur(),!1;e.selected=d.anchors.index(this),d.abort();if(e.collapsible){if(c.hasClass("ui-tabs-selected"))return e.selected=-1,e.cookie&&d._cookie(e.selected,e.cookie),d.element.queue("tabs",function(){o(b,f)}).dequeue("tabs"),this.blur(),!1;if(!f.length)return e.cookie&&d._cookie(e.selected,e.cookie),d.element.queue("tabs",function(){n(b,g)}),d.load(d.anchors.index(this)),this.blur(),!1}e.cookie&&d._cookie(e.selected,e.cookie);if(g.length)f.length&&d.element.queue("tabs",function(){o(b,f)}),d.element.queue("tabs",function(){n(b,g)}),d.load(d.anchors.index(this));else throw"jQuery UI Tabs: Mismatching fragment identifier.";a.browser.msie&&this.blur()}),this.anchors.bind("click.tabs",function(){return!1})},_getIndex:function(a){return typeof a=="string"&&(a=this.anchors.index(this.anchors.filter("[href$='"+a+"']"))),a},destroy:function(){var b=this.options;return this.abort(),this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs"),this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all"),this.anchors.each(function(){var b=a.data(this,"href.tabs");b&&(this.href=b);var c=a(this).unbind(".tabs");a.each(["href","load","cache"],function(a,b){c.removeData(b+".tabs")})}),this.lis.unbind(".tabs").add(this.panels).each(function(){a.data(this,"destroy.tabs")?a(this).remove():a(this).removeClass(["ui-state-default","ui-corner-top","ui-tabs-selected","ui-state-active","ui-state-hover","ui-state-focus","ui-state-disabled","ui-tabs-panel","ui-widget-content","ui-corner-bottom","ui-tabs-hide"].join(" "))}),b.cookie&&this._cookie(null,b.cookie),this},add:function(c,d,e){e===b&&(e=this.anchors.length);var f=this,g=this.options,h=a(g.tabTemplate.replace(/#\{href\}/g,c).replace(/#\{label\}/g,d)),i=c.indexOf("#")?this._tabId(a("a",h)[0]):c.replace("#","");h.addClass("ui-state-default ui-corner-top").data("destroy.tabs",!0);var j=f.element.find("#"+i);return j.length||(j=a(g.panelTemplate).attr("id",i).data("destroy.tabs",!0)),j.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide"),e>=this.lis.length?(h.appendTo(this.list),j.appendTo(this.list[0].parentNode)):(h.insertBefore(this.lis[e]),j.insertBefore(this.panels[e])),g.disabled=a.map(g.disabled,function(a,b){return a>=e?++a:a}),this._tabify(),this.anchors.length==1&&(g.selected=0,h.addClass("ui-tabs-selected ui-state-active"),j.removeClass("ui-tabs-hide"),this.element.queue("tabs",function(){f._trigger("show",null,f._ui(f.anchors[0],f.panels[0]))}),this.load(0)),this._trigger("add",null,this._ui(this.anchors[e],this.panels[e])),this},remove:function(b){b=this._getIndex(b);var c=this.options,d=this.lis.eq(b).remove(),e=this.panels.eq(b).remove();return d.hasClass("ui-tabs-selected")&&this.anchors.length>1&&this.select(b+(b+1=b?--a:a}),this._tabify(),this._trigger("remove",null,this._ui(d.find("a")[0],e[0])),this},enable:function(b){b=this._getIndex(b);var c=this.options;if(a.inArray(b,c.disabled)==-1)return;return this.lis.eq(b).removeClass("ui-state-disabled"),c.disabled=a.grep(c.disabled,function(a,c){return a!=b}),this._trigger("enable",null,this._ui(this.anchors[b],this.panels[b])),this},disable:function(a){a=this._getIndex(a);var b=this,c=this.options;return a!=c.selected&&(this.lis.eq(a).addClass("ui-state-disabled"),c.disabled.push(a),c.disabled.sort(),this._trigger("disable",null,this._ui(this.anchors[a],this.panels[a]))),this},select:function(a){a=this._getIndex(a);if(a==-1)if(this.options.collapsible&&this.options.selected!=-1)a=this.options.selected;else return this;return this.anchors.eq(a).trigger(this.options.event+".tabs"),this},load:function(b){b=this._getIndex(b);var c=this,d=this.options,e=this.anchors.eq(b)[0],f=a.data(e,"load.tabs");this.abort();if(!f||this.element.queue("tabs").length!==0&&a.data(e,"cache.tabs")){this.element.dequeue("tabs");return}this.lis.eq(b).addClass("ui-state-processing");if(d.spinner){var g=a("span",e);g.data("label.tabs",g.html()).html(d.spinner)}return this.xhr=a.ajax(a.extend({},d.ajaxOptions,{url:f,success:function(f,g){c.element.find(c._sanitizeSelector(e.hash)).html(f),c._cleanup(),d.cache&&a.data(e,"cache.tabs",!0),c._trigger("load",null,c._ui(c.anchors[b],c.panels[b]));try{d.ajaxOptions.success(f,g)}catch(h){}},error:function(a,f,g){c._cleanup(),c._trigger("load",null,c._ui(c.anchors[b],c.panels[b]));try{d.ajaxOptions.error(a,f,b,e)}catch(g){}}})),c.element.dequeue("tabs"),this},abort:function(){return this.element.queue([]),this.panels.stop(!1,!0),this.element.queue("tabs",this.element.queue("tabs").splice(-2,2)),this.xhr&&(this.xhr.abort(),delete this.xhr),this._cleanup(),this},url:function(a,b){return this.anchors.eq(a).removeData("cache.tabs").data("load.tabs",b),this},length:function(){return this.anchors.length}}),a.extend(a.ui.tabs,{version:"1.8.23"}),a.extend(a.ui.tabs.prototype,{rotation:null,rotate:function(a,b){var c=this,d=this.options,e=c._rotate||(c._rotate=function(b){clearTimeout(c.rotation),c.rotation=setTimeout(function(){var a=d.selected;c.select(++a
              '))}function bindHover(a){var b="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return a.bind("mouseout",function(a){var c=$(a.target).closest(b);if(!c.length)return;c.removeClass("ui-state-hover ui-datepicker-prev-hover ui-datepicker-next-hover")}).bind("mouseover",function(c){var d=$(c.target).closest(b);if($.datepicker._isDisabledDatepicker(instActive.inline?a.parent()[0]:instActive.input[0])||!d.length)return;d.parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),d.addClass("ui-state-hover"),d.hasClass("ui-datepicker-prev")&&d.addClass("ui-datepicker-prev-hover"),d.hasClass("ui-datepicker-next")&&d.addClass("ui-datepicker-next-hover")})}function extendRemove(a,b){$.extend(a,b);for(var c in b)if(b[c]==null||b[c]==undefined)a[c]=b[c];return a}function isArray(a){return a&&($.browser.safari&&typeof a=="object"&&a.length||a.constructor&&a.constructor.toString().match(/\Array\(\)/))}$.extend($.ui,{datepicker:{version:"1.8.23"}});var PROP_NAME="datepicker",dpuuid=(new Date).getTime(),instActive;$.extend(Datepicker.prototype,{markerClassName:"hasDatepicker",maxRows:4,log:function(){this.debug&&console.log.apply("",arguments)},_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(a){return extendRemove(this._defaults,a||{}),this},_attachDatepicker:function(target,settings){var inlineSettings=null;for(var attrName in this._defaults){var attrValue=target.getAttribute("date:"+attrName);if(attrValue){inlineSettings=inlineSettings||{};try{inlineSettings[attrName]=eval(attrValue)}catch(err){inlineSettings[attrName]=attrValue}}}var nodeName=target.nodeName.toLowerCase(),inline=nodeName=="div"||nodeName=="span";target.id||(this.uuid+=1,target.id="dp"+this.uuid);var inst=this._newInst($(target),inline);inst.settings=$.extend({},settings||{},inlineSettings||{}),nodeName=="input"?this._connectDatepicker(target,inst):inline&&this._inlineDatepicker(target,inst)},_newInst:function(a,b){var c=a[0].id.replace(/([^A-Za-z0-9_-])/g,"\\\\$1");return{id:c,input:a,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:b,dpDiv:b?bindHover($('
              ')):this.dpDiv}},_connectDatepicker:function(a,b){var c=$(a);b.append=$([]),b.trigger=$([]);if(c.hasClass(this.markerClassName))return;this._attachments(c,b),c.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker",function(a,c,d){b.settings[c]=d}).bind("getData.datepicker",function(a,c){return this._get(b,c)}),this._autoSize(b),$.data(a,PROP_NAME,b),b.settings.disabled&&this._disableDatepicker(a)},_attachments:function(a,b){var c=this._get(b,"appendText"),d=this._get(b,"isRTL");b.append&&b.append.remove(),c&&(b.append=$(''+c+""),a[d?"before":"after"](b.append)),a.unbind("focus",this._showDatepicker),b.trigger&&b.trigger.remove();var e=this._get(b,"showOn");(e=="focus"||e=="both")&&a.focus(this._showDatepicker);if(e=="button"||e=="both"){var f=this._get(b,"buttonText"),g=this._get(b,"buttonImage");b.trigger=$(this._get(b,"buttonImageOnly")?$("").addClass(this._triggerClass).attr({src:g,alt:f,title:f}):$('').addClass(this._triggerClass).html(g==""?f:$("").attr({src:g,alt:f,title:f}))),a[d?"before":"after"](b.trigger),b.trigger.click(function(){return $.datepicker._datepickerShowing&&$.datepicker._lastInput==a[0]?$.datepicker._hideDatepicker():$.datepicker._datepickerShowing&&$.datepicker._lastInput!=a[0]?($.datepicker._hideDatepicker(),$.datepicker._showDatepicker(a[0])):$.datepicker._showDatepicker(a[0]),!1})}},_autoSize:function(a){if(this._get(a,"autoSize")&&!a.inline){var b=new Date(2009,11,20),c=this._get(a,"dateFormat");if(c.match(/[DM]/)){var d=function(a){var b=0,c=0;for(var d=0;db&&(b=a[d].length,c=d);return c};b.setMonth(d(this._get(a,c.match(/MM/)?"monthNames":"monthNamesShort"))),b.setDate(d(this._get(a,c.match(/DD/)?"dayNames":"dayNamesShort"))+20-b.getDay())}a.input.attr("size",this._formatDate(a,b).length)}},_inlineDatepicker:function(a,b){var c=$(a);if(c.hasClass(this.markerClassName))return;c.addClass(this.markerClassName).append(b.dpDiv).bind("setData.datepicker",function(a,c,d){b.settings[c]=d}).bind("getData.datepicker",function(a,c){return this._get(b,c)}),$.data(a,PROP_NAME,b),this._setDate(b,this._getDefaultDate(b),!0),this._updateDatepicker(b),this._updateAlternate(b),b.settings.disabled&&this._disableDatepicker(a),b.dpDiv.css("display","block")},_dialogDatepicker:function(a,b,c,d,e){var f=this._dialogInst;if(!f){this.uuid+=1;var g="dp"+this.uuid;this._dialogInput=$(''),this._dialogInput.keydown(this._doKeyDown),$("body").append(this._dialogInput),f=this._dialogInst=this._newInst(this._dialogInput,!1),f.settings={},$.data(this._dialogInput[0],PROP_NAME,f)}extendRemove(f.settings,d||{}),b=b&&b.constructor==Date?this._formatDate(f,b):b,this._dialogInput.val(b),this._pos=e?e.length?e:[e.pageX,e.pageY]:null;if(!this._pos){var h=document.documentElement.clientWidth,i=document.documentElement.clientHeight,j=document.documentElement.scrollLeft||document.body.scrollLeft,k=document.documentElement.scrollTop||document.body.scrollTop;this._pos=[h/2-100+j,i/2-150+k]}return this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),f.settings.onSelect=c,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),$.blockUI&&$.blockUI(this.dpDiv),$.data(this._dialogInput[0],PROP_NAME,f),this},_destroyDatepicker:function(a){var b=$(a),c=$.data(a,PROP_NAME);if(!b.hasClass(this.markerClassName))return;var d=a.nodeName.toLowerCase();$.removeData(a,PROP_NAME),d=="input"?(c.append.remove(),c.trigger.remove(),b.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)):(d=="div"||d=="span")&&b.removeClass(this.markerClassName).empty()},_enableDatepicker:function(a){var b=$(a),c=$.data(a,PROP_NAME);if(!b.hasClass(this.markerClassName))return;var d=a.nodeName.toLowerCase();if(d=="input")a.disabled=!1,c.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""});else if(d=="div"||d=="span"){var e=b.children("."+this._inlineClass);e.children().removeClass("ui-state-disabled"),e.find("select.ui-datepicker-month, select.ui-datepicker-year").removeAttr("disabled")}this._disabledInputs=$.map(this._disabledInputs,function(b){return b==a?null:b})},_disableDatepicker:function(a){var b=$(a),c=$.data(a,PROP_NAME);if(!b.hasClass(this.markerClassName))return;var d=a.nodeName.toLowerCase();if(d=="input")a.disabled=!0,c.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"});else if(d=="div"||d=="span"){var e=b.children("."+this._inlineClass);e.children().addClass("ui-state-disabled"),e.find("select.ui-datepicker-month, select.ui-datepicker-year").attr("disabled","disabled")}this._disabledInputs=$.map(this._disabledInputs,function(b){return b==a?null:b}),this._disabledInputs[this._disabledInputs.length]=a},_isDisabledDatepicker:function(a){if(!a)return!1;for(var b=0;b-1}},_doKeyUp:function(a){var b=$.datepicker._getInst(a.target);if(b.input.val()!=b.lastVal)try{var c=$.datepicker.parseDate($.datepicker._get(b,"dateFormat"),b.input?b.input.val():null,$.datepicker._getFormatConfig(b));c&&($.datepicker._setDateFromField(b),$.datepicker._updateAlternate(b),$.datepicker._updateDatepicker(b))}catch(d){$.datepicker.log(d)}return!0},_showDatepicker:function(a){a=a.target||a,a.nodeName.toLowerCase()!="input"&&(a=$("input",a.parentNode)[0]);if($.datepicker._isDisabledDatepicker(a)||$.datepicker._lastInput==a)return;var b=$.datepicker._getInst(a);$.datepicker._curInst&&$.datepicker._curInst!=b&&($.datepicker._curInst.dpDiv.stop(!0,!0),b&&$.datepicker._datepickerShowing&&$.datepicker._hideDatepicker($.datepicker._curInst.input[0]));var c=$.datepicker._get(b,"beforeShow"),d=c?c.apply(a,[a,b]):{};if(d===!1)return;extendRemove(b.settings,d),b.lastVal=null,$.datepicker._lastInput=a,$.datepicker._setDateFromField(b),$.datepicker._inDialog&&(a.value=""),$.datepicker._pos||($.datepicker._pos=$.datepicker._findPos(a),$.datepicker._pos[1]+=a.offsetHeight);var e=!1;$(a).parents().each(function(){return e|=$(this).css("position")=="fixed",!e}),e&&$.browser.opera&&($.datepicker._pos[0]-=document.documentElement.scrollLeft,$.datepicker._pos[1]-=document.documentElement.scrollTop);var f={left:$.datepicker._pos[0],top:$.datepicker._pos[1]};$.datepicker._pos=null,b.dpDiv.empty(),b.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),$.datepicker._updateDatepicker(b),f=$.datepicker._checkOffset(b,f,e),b.dpDiv.css({position:$.datepicker._inDialog&&$.blockUI?"static":e?"fixed":"absolute",display:"none",left:f.left+"px",top:f.top+"px"});if(!b.inline){var g=$.datepicker._get(b,"showAnim"),h=$.datepicker._get(b,"duration"),i=function(){var a=b.dpDiv.find("iframe.ui-datepicker-cover");if(!!a.length){var c=$.datepicker._getBorders(b.dpDiv);a.css({left:-c[0],top:-c[1],width:b.dpDiv.outerWidth(),height:b.dpDiv.outerHeight()})}};b.dpDiv.zIndex($(a).zIndex()+1),$.datepicker._datepickerShowing=!0,$.effects&&$.effects[g]?b.dpDiv.show(g,$.datepicker._get(b,"showOptions"),h,i):b.dpDiv[g||"show"](g?h:null,i),(!g||!h)&&i(),b.input.is(":visible")&&!b.input.is(":disabled")&&b.input.focus(),$.datepicker._curInst=b}},_updateDatepicker:function(a){var b=this;b.maxRows=4;var c=$.datepicker._getBorders(a.dpDiv);instActive=a,a.dpDiv.empty().append(this._generateHTML(a)),this._attachHandlers(a);var d=a.dpDiv.find("iframe.ui-datepicker-cover");!d.length||d.css({left:-c[0],top:-c[1],width:a.dpDiv.outerWidth(),height:a.dpDiv.outerHeight()}),a.dpDiv.find("."+this._dayOverClass+" a").mouseover();var e=this._getNumberOfMonths(a),f=e[1],g=17;a.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),f>1&&a.dpDiv.addClass("ui-datepicker-multi-"+f).css("width",g*f+"em"),a.dpDiv[(e[0]!=1||e[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi"),a.dpDiv[(this._get(a,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),a==$.datepicker._curInst&&$.datepicker._datepickerShowing&&a.input&&a.input.is(":visible")&&!a.input.is(":disabled")&&a.input[0]!=document.activeElement&&a.input.focus();if(a.yearshtml){var h=a.yearshtml;setTimeout(function(){h===a.yearshtml&&a.yearshtml&&a.dpDiv.find("select.ui-datepicker-year:first").replaceWith(a.yearshtml),h=a.yearshtml=null},0)}},_getBorders:function(a){var b=function(a){return{thin:1,medium:2,thick:3}[a]||a};return[parseFloat(b(a.css("border-left-width"))),parseFloat(b(a.css("border-top-width")))]},_checkOffset:function(a,b,c){var d=a.dpDiv.outerWidth(),e=a.dpDiv.outerHeight(),f=a.input?a.input.outerWidth():0,g=a.input?a.input.outerHeight():0,h=document.documentElement.clientWidth+(c?0:$(document).scrollLeft()),i=document.documentElement.clientHeight+(c?0:$(document).scrollTop());return b.left-=this._get(a,"isRTL")?d-f:0,b.left-=c&&b.left==a.input.offset().left?$(document).scrollLeft():0,b.top-=c&&b.top==a.input.offset().top+g?$(document).scrollTop():0,b.left-=Math.min(b.left,b.left+d>h&&h>d?Math.abs(b.left+d-h):0),b.top-=Math.min(b.top,b.top+e>i&&i>e?Math.abs(e+g):0),b},_findPos:function(a){var b=this._getInst(a),c=this._get(b,"isRTL");while(a&&(a.type=="hidden"||a.nodeType!=1||$.expr.filters.hidden(a)))a=a[c?"previousSibling":"nextSibling"];var d=$(a).offset();return[d.left,d.top]},_hideDatepicker:function(a){var b=this._curInst;if(!b||a&&b!=$.data(a,PROP_NAME))return;if(this._datepickerShowing){var c=this._get(b,"showAnim"),d=this._get(b,"duration"),e=function(){$.datepicker._tidyDialog(b)};$.effects&&$.effects[c]?b.dpDiv.hide(c,$.datepicker._get(b,"showOptions"),d,e):b.dpDiv[c=="slideDown"?"slideUp":c=="fadeIn"?"fadeOut":"hide"](c?d:null,e),c||e(),this._datepickerShowing=!1;var f=this._get(b,"onClose");f&&f.apply(b.input?b.input[0]:null,[b.input?b.input.val():"",b]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),$.blockUI&&($.unblockUI(),$("body").append(this.dpDiv))),this._inDialog=!1}},_tidyDialog:function(a){a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(a){if(!$.datepicker._curInst)return;var b=$(a.target),c=$.datepicker._getInst(b[0]);(b[0].id!=$.datepicker._mainDivId&&b.parents("#"+$.datepicker._mainDivId).length==0&&!b.hasClass($.datepicker.markerClassName)&&!b.closest("."+$.datepicker._triggerClass).length&&$.datepicker._datepickerShowing&&(!$.datepicker._inDialog||!$.blockUI)||b.hasClass($.datepicker.markerClassName)&&$.datepicker._curInst!=c)&&$.datepicker._hideDatepicker()},_adjustDate:function(a,b,c){var d=$(a),e=this._getInst(d[0]);if(this._isDisabledDatepicker(d[0]))return;this._adjustInstDate(e,b+(c=="M"?this._get(e,"showCurrentAtPos"):0),c),this._updateDatepicker(e)},_gotoToday:function(a){var b=$(a),c=this._getInst(b[0]);if(this._get(c,"gotoCurrent")&&c.currentDay)c.selectedDay=c.currentDay,c.drawMonth=c.selectedMonth=c.currentMonth,c.drawYear=c.selectedYear=c.currentYear;else{var d=new Date;c.selectedDay=d.getDate(),c.drawMonth=c.selectedMonth=d.getMonth(),c.drawYear=c.selectedYear=d.getFullYear()}this._notifyChange(c),this._adjustDate(b)},_selectMonthYear:function(a,b,c){var d=$(a),e=this._getInst(d[0]);e["selected"+(c=="M"?"Month":"Year")]=e["draw"+(c=="M"?"Month":"Year")]=parseInt(b.options[b.selectedIndex].value,10),this._notifyChange(e),this._adjustDate(d)},_selectDay:function(a,b,c,d){var e=$(a);if($(d).hasClass(this._unselectableClass)||this._isDisabledDatepicker(e[0]))return;var f=this._getInst(e[0]);f.selectedDay=f.currentDay=$("a",d).html(),f.selectedMonth=f.currentMonth=b,f.selectedYear=f.currentYear=c,this._selectDate(a,this._formatDate(f,f.currentDay,f.currentMonth,f.currentYear))},_clearDate:function(a){var b=$(a),c=this._getInst(b[0]);this._selectDate(b,"")},_selectDate:function(a,b){var c=$(a),d=this._getInst(c[0]);b=b!=null?b:this._formatDate(d),d.input&&d.input.val(b),this._updateAlternate(d);var e=this._get(d,"onSelect");e?e.apply(d.input?d.input[0]:null,[b,d]):d.input&&d.input.trigger("change"),d.inline?this._updateDatepicker(d):(this._hideDatepicker(),this._lastInput=d.input[0],typeof d.input[0]!="object"&&d.input.focus(),this._lastInput=null)},_updateAlternate:function(a){var b=this._get(a,"altField");if(b){var c=this._get(a,"altFormat")||this._get(a,"dateFormat"),d=this._getDate(a),e=this.formatDate(c,d,this._getFormatConfig(a));$(b).each(function(){$(this).val(e)})}},noWeekends:function(a){var b=a.getDay();return[b>0&&b<6,""]},iso8601Week:function(a){var b=new Date(a.getTime());b.setDate(b.getDate()+4-(b.getDay()||7));var c=b.getTime();return b.setMonth(0),b.setDate(1),Math.floor(Math.round((c-b)/864e5)/7)+1},parseDate:function(a,b,c){if(a==null||b==null)throw"Invalid arguments";b=typeof b=="object"?b.toString():b+"";if(b=="")return null;var d=(c?c.shortYearCutoff:null)||this._defaults.shortYearCutoff;d=typeof d!="string"?d:(new Date).getFullYear()%100+parseInt(d,10);var e=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,f=(c?c.dayNames:null)||this._defaults.dayNames,g=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,h=(c?c.monthNames:null)||this._defaults.monthNames,i=-1,j=-1,k=-1,l=-1,m=!1,n=function(b){var c=s+1-1){j=1,k=l;do{var u=this._getDaysInMonth(i,j-1);if(k<=u)break;j++,k-=u}while(!0)}var t=this._daylightSavingAdjust(new Date(i,j-1,k));if(t.getFullYear()!=i||t.getMonth()+1!=j||t.getDate()!=k)throw"Invalid date";return t},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*24*60*60*1e7,formatDate:function(a,b,c){if(!b)return"";var d=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,e=(c?c.dayNames:null)||this._defaults.dayNames,f=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,g=(c?c.monthNames:null)||this._defaults.monthNames,h=function(b){var c=m+112?a.getHours()+2:0),a):null},_setDate:function(a,b,c){var d=!b,e=a.selectedMonth,f=a.selectedYear,g=this._restrictMinMax(a,this._determineDate(a,b,new Date));a.selectedDay=a.currentDay=g.getDate(),a.drawMonth=a.selectedMonth=a.currentMonth=g.getMonth(),a.drawYear=a.selectedYear=a.currentYear=g.getFullYear(),(e!=a.selectedMonth||f!=a.selectedYear)&&!c&&this._notifyChange(a),this._adjustInstDate(a),a.input&&a.input.val(d?"":this._formatDate(a))},_getDate:function(a){var b=!a.currentYear||a.input&&a.input.val()==""?null:this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return b},_attachHandlers:function(a){var b=this._get(a,"stepMonths"),c="#"+a.id.replace(/\\\\/g,"\\");a.dpDiv.find("[data-handler]").map(function(){var a={prev:function(){window["DP_jQuery_"+dpuuid].datepicker._adjustDate(c,-b,"M")},next:function(){window["DP_jQuery_"+dpuuid].datepicker._adjustDate(c,+b,"M")},hide:function(){window["DP_jQuery_"+dpuuid].datepicker._hideDatepicker()},today:function(){window["DP_jQuery_"+dpuuid].datepicker._gotoToday(c)},selectDay:function(){return window["DP_jQuery_"+dpuuid].datepicker._selectDay(c,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return window["DP_jQuery_"+dpuuid].datepicker._selectMonthYear(c,this,"M"),!1},selectYear:function(){return window["DP_jQuery_"+dpuuid].datepicker._selectMonthYear(c,this,"Y"),!1}};$(this).bind(this.getAttribute("data-event"),a[this.getAttribute("data-handler")])})},_generateHTML:function(a){var b=new Date;b=this._daylightSavingAdjust(new Date(b.getFullYear(),b.getMonth(),b.getDate()));var c=this._get(a,"isRTL"),d=this._get(a,"showButtonPanel"),e=this._get(a,"hideIfNoPrevNext"),f=this._get(a,"navigationAsDateFormat"),g=this._getNumberOfMonths(a),h=this._get(a,"showCurrentAtPos"),i=this._get(a,"stepMonths"),j=g[0]!=1||g[1]!=1,k=this._daylightSavingAdjust(a.currentDay?new Date(a.currentYear,a.currentMonth,a.currentDay):new Date(9999,9,9)),l=this._getMinMaxDate(a,"min"),m=this._getMinMaxDate(a,"max"),n=a.drawMonth-h,o=a.drawYear;n<0&&(n+=12,o--);if(m){var p=this._daylightSavingAdjust(new Date(m.getFullYear(),m.getMonth()-g[0]*g[1]+1,m.getDate()));p=l&&pp)n--,n<0&&(n=11,o--)}a.drawMonth=n,a.drawYear=o;var q=this._get(a,"prevText");q=f?this.formatDate(q,this._daylightSavingAdjust(new Date(o,n-i,1)),this._getFormatConfig(a)):q;var r=this._canAdjustMonth(a,-1,o,n)?''+q+"":e?"":''+q+"",s=this._get(a,"nextText");s=f?this.formatDate(s,this._daylightSavingAdjust(new Date(o,n+i,1)),this._getFormatConfig(a)):s;var t=this._canAdjustMonth(a,1,o,n)?''+s+"":e?"":''+s+"",u=this._get(a,"currentText"),v=this._get(a,"gotoCurrent")&&a.currentDay?k:b;u=f?this.formatDate(u,v,this._getFormatConfig(a)):u;var w=a.inline?"":'",x=d?'
              '+(c?w:"")+(this._isInRange(a,v)?'":"")+(c?"":w)+"
              ":"",y=parseInt(this._get(a,"firstDay"),10);y=isNaN(y)?0:y;var z=this._get(a,"showWeek"),A=this._get(a,"dayNames"),B=this._get(a,"dayNamesShort"),C=this._get(a,"dayNamesMin"),D=this._get(a,"monthNames"),E=this._get(a,"monthNamesShort"),F=this._get(a,"beforeShowDay"),G=this._get(a,"showOtherMonths"),H=this._get(a,"selectOtherMonths"),I=this._get(a,"calculateWeek")||this.iso8601Week,J=this._getDefaultDate(a),K="";for(var L=0;L1)switch(N){case 0:Q+=" ui-datepicker-group-first",P=" ui-corner-"+(c?"right":"left");break;case g[1]-1:Q+=" ui-datepicker-group-last",P=" ui-corner-"+(c?"left":"right");break;default:Q+=" ui-datepicker-group-middle",P=""}Q+='">'}Q+='
              '+(/all|left/.test(P)&&L==0?c?t:r:"")+(/all|right/.test(P)&&L==0?c?r:t:"")+this._generateMonthYearHeader(a,n,o,l,m,L>0||N>0,D,E)+'
              '+"";var R=z?'":"";for(var S=0;S<7;S++){var T=(S+y)%7;R+="=5?' class="ui-datepicker-week-end"':"")+">"+''+C[T]+""}Q+=R+"";var U=this._getDaysInMonth(o,n);o==a.selectedYear&&n==a.selectedMonth&&(a.selectedDay=Math.min(a.selectedDay,U));var V=(this._getFirstDayOfMonth(o,n)-y+7)%7,W=Math.ceil((V+U)/7),X=j?this.maxRows>W?this.maxRows:W:W;this.maxRows=X;var Y=this._daylightSavingAdjust(new Date(o,n,1-V));for(var Z=0;Z";var _=z?'":"";for(var S=0;S<7;S++){var ba=F?F.apply(a.input?a.input[0]:null,[Y]):[!0,""],bb=Y.getMonth()!=n,bc=bb&&!H||!ba[0]||l&&Ym;_+='",Y.setDate(Y.getDate()+1),Y=this._daylightSavingAdjust(Y)}Q+=_+""}n++,n>11&&(n=0,o++),Q+="
              '+this._get(a,"weekHeader")+"
              '+this._get(a,"calculateWeek")(Y)+""+(bb&&!G?" ":bc?''+Y.getDate()+"":''+Y.getDate()+"")+"
              "+(j?"
              "+(g[0]>0&&N==g[1]-1?'
              ':""):""),M+=Q}K+=M}return K+=x+($.browser.msie&&parseInt($.browser.version,10)<7&&!a.inline?'':""),a._keyEvent=!1,K},_generateMonthYearHeader:function(a,b,c,d,e,f,g,h){var i=this._get(a,"changeMonth"),j=this._get(a,"changeYear"),k=this._get(a,"showMonthAfterYear"),l='
              ',m="";if(f||!i)m+=''+g[b]+"";else{var n=d&&d.getFullYear()==c,o=e&&e.getFullYear()==c;m+='"}k||(l+=m+(f||!i||!j?" ":""));if(!a.yearshtml){a.yearshtml="";if(f||!j)l+=''+c+"";else{var q=this._get(a,"yearRange").split(":"),r=(new Date).getFullYear(),s=function(a){var b=a.match(/c[+-].*/)?c+parseInt(a.substring(1),10):a.match(/[+-].*/)?r+parseInt(a,10):parseInt(a,10);return isNaN(b)?r:b},t=s(q[0]),u=Math.max(t,s(q[1]||""));t=d?Math.max(t,d.getFullYear()):t,u=e?Math.min(u,e.getFullYear()):u,a.yearshtml+='",l+=a.yearshtml,a.yearshtml=null}}return l+=this._get(a,"yearSuffix"),k&&(l+=(f||!i||!j?" ":"")+m),l+="
              ",l},_adjustInstDate:function(a,b,c){var d=a.drawYear+(c=="Y"?b:0),e=a.drawMonth+(c=="M"?b:0),f=Math.min(a.selectedDay,this._getDaysInMonth(d,e))+(c=="D"?b:0),g=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(d,e,f)));a.selectedDay=g.getDate(),a.drawMonth=a.selectedMonth=g.getMonth(),a.drawYear=a.selectedYear=g.getFullYear(),(c=="M"||c=="Y")&&this._notifyChange(a)},_restrictMinMax:function(a,b){var c=this._getMinMaxDate(a,"min"),d=this._getMinMaxDate(a,"max"),e=c&&bd?d:e,e},_notifyChange:function(a){var b=this._get(a,"onChangeMonthYear");b&&b.apply(a.input?a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){var b=this._get(a,"numberOfMonths");return b==null?[1,1]:typeof b=="number"?[1,b]:b},_getMinMaxDate:function(a,b){return this._determineDate(a,this._get(a,b+"Date"),null)},_getDaysInMonth:function(a,b){return 32-this._daylightSavingAdjust(new Date(a,b,32)).getDate()},_getFirstDayOfMonth:function(a,b){return(new Date(a,b,1)).getDay()},_canAdjustMonth:function(a,b,c,d){var e=this._getNumberOfMonths(a),f=this._daylightSavingAdjust(new Date(c,d+(b<0?b:e[0]*e[1]),1));return b<0&&f.setDate(this._getDaysInMonth(f.getFullYear(),f.getMonth())),this._isInRange(a,f)},_isInRange:function(a,b){var c=this._getMinMaxDate(a,"min"),d=this._getMinMaxDate(a,"max");return(!c||b.getTime()>=c.getTime())&&(!d||b.getTime()<=d.getTime())},_getFormatConfig:function(a){var b=this._get(a,"shortYearCutoff");return b=typeof b!="string"?b:(new Date).getFullYear()%100+parseInt(b,10),{shortYearCutoff:b,dayNamesShort:this._get(a,"dayNamesShort"),dayNames:this._get(a,"dayNames"),monthNamesShort:this._get(a,"monthNamesShort"),monthNames:this._get(a,"monthNames")}},_formatDate:function(a,b,c,d){b||(a.currentDay=a.selectedDay,a.currentMonth=a.selectedMonth,a.currentYear=a.selectedYear);var e=b?typeof b=="object"?b:this._daylightSavingAdjust(new Date(d,c,b)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return this.formatDate(this._get(a,"dateFormat"),e,this._getFormatConfig(a))}}),$.fn.datepicker=function(a){if(!this.length)return this;$.datepicker.initialized||($(document).mousedown($.datepicker._checkExternalClick).find("body").append($.datepicker.dpDiv),$.datepicker.initialized=!0);var b=Array.prototype.slice.call(arguments,1);return typeof a!="string"||a!="isDisabled"&&a!="getDate"&&a!="widget"?a=="option"&&arguments.length==2&&typeof arguments[1]=="string"?$.datepicker["_"+a+"Datepicker"].apply($.datepicker,[this[0]].concat(b)):this.each(function(){typeof a=="string"?$.datepicker["_"+a+"Datepicker"].apply($.datepicker,[this].concat(b)):$.datepicker._attachDatepicker(this,a)}):$.datepicker["_"+a+"Datepicker"].apply($.datepicker,[this[0]].concat(b))},$.datepicker=new Datepicker,$.datepicker.initialized=!1,$.datepicker.uuid=(new Date).getTime(),$.datepicker.version="1.8.23",window["DP_jQuery_"+dpuuid]=$})(jQuery);;/*! jQuery UI - v1.8.23 - 2012-08-15 -* https://github.com/jquery/jquery-ui -* Includes: jquery.ui.progressbar.js -* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ -(function(a,b){a.widget("ui.progressbar",{options:{value:0,max:100},min:0,_create:function(){this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min,"aria-valuemax":this.options.max,"aria-valuenow":this._value()}),this.valueDiv=a("
              ").appendTo(this.element),this.oldValue=this._value(),this._refreshValue()},destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.valueDiv.remove(),a.Widget.prototype.destroy.apply(this,arguments)},value:function(a){return a===b?this._value():(this._setOption("value",a),this)},_setOption:function(b,c){b==="value"&&(this.options.value=c,this._refreshValue(),this._value()===this.options.max&&this._trigger("complete")),a.Widget.prototype._setOption.apply(this,arguments)},_value:function(){var a=this.options.value;return typeof a!="number"&&(a=0),Math.min(this.options.max,Math.max(this.min,a))},_percentage:function(){return 100*this._value()/this.options.max},_refreshValue:function(){var a=this.value(),b=this._percentage();this.oldValue!==a&&(this.oldValue=a,this._trigger("change")),this.valueDiv.toggle(a>this.min).toggleClass("ui-corner-right",a===this.options.max).width(b.toFixed(0)+"%"),this.element.attr("aria-valuenow",a)}}),a.extend(a.ui.progressbar,{version:"1.8.23"})})(jQuery);;/*! jQuery UI - v1.8.23 - 2012-08-15 -* https://github.com/jquery/jquery-ui -* Includes: jquery.effects.core.js -* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ -jQuery.effects||function(a,b){function c(b){var c;return b&&b.constructor==Array&&b.length==3?b:(c=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(b))?[parseInt(c[1],10),parseInt(c[2],10),parseInt(c[3],10)]:(c=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(b))?[parseFloat(c[1])*2.55,parseFloat(c[2])*2.55,parseFloat(c[3])*2.55]:(c=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(b))?[parseInt(c[1],16),parseInt(c[2],16),parseInt(c[3],16)]:(c=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(b))?[parseInt(c[1]+c[1],16),parseInt(c[2]+c[2],16),parseInt(c[3]+c[3],16)]:(c=/rgba\(0, 0, 0, 0\)/.exec(b))?e.transparent:e[a.trim(b).toLowerCase()]}function d(b,d){var e;do{e=(a.curCSS||a.css)(b,d);if(e!=""&&e!="transparent"||a.nodeName(b,"body"))break;d="backgroundColor"}while(b=b.parentNode);return c(e)}function h(){var a=document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle,b={},c,d;if(a&&a.length&&a[0]&&a[a[0]]){var e=a.length;while(e--)c=a[e],typeof a[c]=="string"&&(d=c.replace(/\-(\w)/g,function(a,b){return b.toUpperCase()}),b[d]=a[c])}else for(c in a)typeof a[c]=="string"&&(b[c]=a[c]);return b}function i(b){var c,d;for(c in b)d=b[c],(d==null||a.isFunction(d)||c in g||/scrollbar/.test(c)||!/color/i.test(c)&&isNaN(parseFloat(d)))&&delete b[c];return b}function j(a,b){var c={_:0},d;for(d in b)a[d]!=b[d]&&(c[d]=b[d]);return c}function k(b,c,d,e){typeof b=="object"&&(e=c,d=null,c=b,b=c.effect),a.isFunction(c)&&(e=c,d=null,c={});if(typeof c=="number"||a.fx.speeds[c])e=d,d=c,c={};return a.isFunction(d)&&(e=d,d=null),c=c||{},d=d||c.duration,d=a.fx.off?0:typeof d=="number"?d:d in a.fx.speeds?a.fx.speeds[d]:a.fx.speeds._default,e=e||c.complete,[b,c,d,e]}function l(b){return!b||typeof b=="number"||a.fx.speeds[b]?!0:typeof b=="string"&&!a.effects[b]?!0:!1}a.effects={},a.each(["backgroundColor","borderBottomColor","borderLeftColor","borderRightColor","borderTopColor","borderColor","color","outlineColor"],function(b,e){a.fx.step[e]=function(a){a.colorInit||(a.start=d(a.elem,e),a.end=c(a.end),a.colorInit=!0),a.elem.style[e]="rgb("+Math.max(Math.min(parseInt(a.pos*(a.end[0]-a.start[0])+a.start[0],10),255),0)+","+Math.max(Math.min(parseInt(a.pos*(a.end[1]-a.start[1])+a.start[1],10),255),0)+","+Math.max(Math.min(parseInt(a.pos*(a.end[2]-a.start[2])+a.start[2],10),255),0)+")"}});var e={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0],transparent:[255,255,255]},f=["add","remove","toggle"],g={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};a.effects.animateClass=function(b,c,d,e){return a.isFunction(d)&&(e=d,d=null),this.queue(function(){var g=a(this),k=g.attr("style")||" ",l=i(h.call(this)),m,n=g.attr("class")||"";a.each(f,function(a,c){b[c]&&g[c+"Class"](b[c])}),m=i(h.call(this)),g.attr("class",n),g.animate(j(l,m),{queue:!1,duration:c,easing:d,complete:function(){a.each(f,function(a,c){b[c]&&g[c+"Class"](b[c])}),typeof g.attr("style")=="object"?(g.attr("style").cssText="",g.attr("style").cssText=k):g.attr("style",k),e&&e.apply(this,arguments),a.dequeue(this)}})})},a.fn.extend({_addClass:a.fn.addClass,addClass:function(b,c,d,e){return c?a.effects.animateClass.apply(this,[{add:b},c,d,e]):this._addClass(b)},_removeClass:a.fn.removeClass,removeClass:function(b,c,d,e){return c?a.effects.animateClass.apply(this,[{remove:b},c,d,e]):this._removeClass(b)},_toggleClass:a.fn.toggleClass,toggleClass:function(c,d,e,f,g){return typeof d=="boolean"||d===b?e?a.effects.animateClass.apply(this,[d?{add:c}:{remove:c},e,f,g]):this._toggleClass(c,d):a.effects.animateClass.apply(this,[{toggle:c},d,e,f])},switchClass:function(b,c,d,e,f){return a.effects.animateClass.apply(this,[{add:c,remove:b},d,e,f])}}),a.extend(a.effects,{version:"1.8.23",save:function(a,b){for(var c=0;c
              ").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),e=document.activeElement;try{e.id}catch(f){e=document.body}return b.wrap(d),(b[0]===e||a.contains(b[0],e))&&a(e).focus(),d=b.parent(),b.css("position")=="static"?(d.css({position:"relative"}),b.css({position:"relative"})):(a.extend(c,{position:b.css("position"),zIndex:b.css("z-index")}),a.each(["top","left","bottom","right"],function(a,d){c[d]=b.css(d),isNaN(parseInt(c[d],10))&&(c[d]="auto")}),b.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),d.css(c).show()},removeWrapper:function(b){var c,d=document.activeElement;return b.parent().is(".ui-effects-wrapper")?(c=b.parent().replaceWith(b),(b[0]===d||a.contains(b[0],d))&&a(d).focus(),c):b},setTransition:function(b,c,d,e){return e=e||{},a.each(c,function(a,c){var f=b.cssUnit(c);f[0]>0&&(e[c]=f[0]*d+f[1])}),e}}),a.fn.extend({effect:function(b,c,d,e){var f=k.apply(this,arguments),g={options:f[1],duration:f[2],callback:f[3]},h=g.options.mode,i=a.effects[b];return a.fx.off||!i?h?this[h](g.duration,g.callback):this.each(function(){g.callback&&g.callback.call(this)}):i.call(this,g)},_show:a.fn.show,show:function(a){if(l(a))return this._show.apply(this,arguments);var b=k.apply(this,arguments);return b[1].mode="show",this.effect.apply(this,b)},_hide:a.fn.hide,hide:function(a){if(l(a))return this._hide.apply(this,arguments);var b=k.apply(this,arguments);return b[1].mode="hide",this.effect.apply(this,b)},__toggle:a.fn.toggle,toggle:function(b){if(l(b)||typeof b=="boolean"||a.isFunction(b))return this.__toggle.apply(this,arguments);var c=k.apply(this,arguments);return c[1].mode="toggle",this.effect.apply(this,c)},cssUnit:function(b){var c=this.css(b),d=[];return a.each(["em","px","%","pt"],function(a,b){c.indexOf(b)>0&&(d=[parseFloat(c),b])}),d}});var m={};a.each(["Quad","Cubic","Quart","Quint","Expo"],function(a,b){m[b]=function(b){return Math.pow(b,a+2)}}),a.extend(m,{Sine:function(a){return 1-Math.cos(a*Math.PI/2)},Circ:function(a){return 1-Math.sqrt(1-a*a)},Elastic:function(a){return a===0||a===1?a:-Math.pow(2,8*(a-1))*Math.sin(((a-1)*80-7.5)*Math.PI/15)},Back:function(a){return a*a*(3*a-2)},Bounce:function(a){var b,c=4;while(a<((b=Math.pow(2,--c))-1)/11);return 1/Math.pow(4,3-c)-7.5625*Math.pow((b*3-2)/22-a,2)}}),a.each(m,function(b,c){a.easing["easeIn"+b]=c,a.easing["easeOut"+b]=function(a){return 1-c(1-a)},a.easing["easeInOut"+b]=function(a){return a<.5?c(a*2)/2:c(a*-2+2)/-2+1}})}(jQuery);;/*! jQuery UI - v1.8.23 - 2012-08-15 -* https://github.com/jquery/jquery-ui -* Includes: jquery.effects.blind.js -* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ -(function(a,b){a.effects.blind=function(b){return this.queue(function(){var c=a(this),d=["position","top","bottom","left","right"],e=a.effects.setMode(c,b.options.mode||"hide"),f=b.options.direction||"vertical";a.effects.save(c,d),c.show();var g=a.effects.createWrapper(c).css({overflow:"hidden"}),h=f=="vertical"?"height":"width",i=f=="vertical"?g.height():g.width();e=="show"&&g.css(h,0);var j={};j[h]=e=="show"?i:0,g.animate(j,b.duration,b.options.easing,function(){e=="hide"&&c.hide(),a.effects.restore(c,d),a.effects.removeWrapper(c),b.callback&&b.callback.apply(c[0],arguments),c.dequeue()})})}})(jQuery);;/*! jQuery UI - v1.8.23 - 2012-08-15 -* https://github.com/jquery/jquery-ui -* Includes: jquery.effects.bounce.js -* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ -(function(a,b){a.effects.bounce=function(b){return this.queue(function(){var c=a(this),d=["position","top","bottom","left","right"],e=a.effects.setMode(c,b.options.mode||"effect"),f=b.options.direction||"up",g=b.options.distance||20,h=b.options.times||5,i=b.duration||250;/show|hide/.test(e)&&d.push("opacity"),a.effects.save(c,d),c.show(),a.effects.createWrapper(c);var j=f=="up"||f=="down"?"top":"left",k=f=="up"||f=="left"?"pos":"neg",g=b.options.distance||(j=="top"?c.outerHeight(!0)/3:c.outerWidth(!0)/3);e=="show"&&c.css("opacity",0).css(j,k=="pos"?-g:g),e=="hide"&&(g=g/(h*2)),e!="hide"&&h--;if(e=="show"){var l={opacity:1};l[j]=(k=="pos"?"+=":"-=")+g,c.animate(l,i/2,b.options.easing),g=g/2,h--}for(var m=0;m
              ").css({position:"absolute",visibility:"visible",left:-j*(g/d),top:-i*(h/c)}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:g/d,height:h/c,left:f.left+j*(g/d)+(b.options.mode=="show"?(j-Math.floor(d/2))*(g/d):0),top:f.top+i*(h/c)+(b.options.mode=="show"?(i-Math.floor(c/2))*(h/c):0),opacity:b.options.mode=="show"?0:1}).animate({left:f.left+j*(g/d)+(b.options.mode=="show"?0:(j-Math.floor(d/2))*(g/d)),top:f.top+i*(h/c)+(b.options.mode=="show"?0:(i-Math.floor(c/2))*(h/c)),opacity:b.options.mode=="show"?1:0},b.duration||500);setTimeout(function(){b.options.mode=="show"?e.css({visibility:"visible"}):e.css({visibility:"visible"}).hide(),b.callback&&b.callback.apply(e[0]),e.dequeue(),a("div.ui-effects-explode").remove()},b.duration||500)})}})(jQuery);;/*! jQuery UI - v1.8.23 - 2012-08-15 -* https://github.com/jquery/jquery-ui -* Includes: jquery.effects.fade.js -* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ -(function(a,b){a.effects.fade=function(b){return this.queue(function(){var c=a(this),d=a.effects.setMode(c,b.options.mode||"hide");c.animate({opacity:d},{queue:!1,duration:b.duration,easing:b.options.easing,complete:function(){b.callback&&b.callback.apply(this,arguments),c.dequeue()}})})}})(jQuery);;/*! jQuery UI - v1.8.23 - 2012-08-15 -* https://github.com/jquery/jquery-ui -* Includes: jquery.effects.fold.js -* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ -(function(a,b){a.effects.fold=function(b){return this.queue(function(){var c=a(this),d=["position","top","bottom","left","right"],e=a.effects.setMode(c,b.options.mode||"hide"),f=b.options.size||15,g=!!b.options.horizFirst,h=b.duration?b.duration/2:a.fx.speeds._default/2;a.effects.save(c,d),c.show();var i=a.effects.createWrapper(c).css({overflow:"hidden"}),j=e=="show"!=g,k=j?["width","height"]:["height","width"],l=j?[i.width(),i.height()]:[i.height(),i.width()],m=/([0-9]+)%/.exec(f);m&&(f=parseInt(m[1],10)/100*l[e=="hide"?0:1]),e=="show"&&i.css(g?{height:0,width:f}:{height:f,width:0});var n={},p={};n[k[0]]=e=="show"?l[0]:f,p[k[1]]=e=="show"?l[1]:0,i.animate(n,h,b.options.easing).animate(p,h,b.options.easing,function(){e=="hide"&&c.hide(),a.effects.restore(c,d),a.effects.removeWrapper(c),b.callback&&b.callback.apply(c[0],arguments),c.dequeue()})})}})(jQuery);;/*! jQuery UI - v1.8.23 - 2012-08-15 -* https://github.com/jquery/jquery-ui -* Includes: jquery.effects.highlight.js -* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ -(function(a,b){a.effects.highlight=function(b){return this.queue(function(){var c=a(this),d=["backgroundImage","backgroundColor","opacity"],e=a.effects.setMode(c,b.options.mode||"show"),f={backgroundColor:c.css("backgroundColor")};e=="hide"&&(f.opacity=0),a.effects.save(c,d),c.show().css({backgroundImage:"none",backgroundColor:b.options.color||"#ffff99"}).animate(f,{queue:!1,duration:b.duration,easing:b.options.easing,complete:function(){e=="hide"&&c.hide(),a.effects.restore(c,d),e=="show"&&!a.support.opacity&&this.style.removeAttribute("filter"),b.callback&&b.callback.apply(this,arguments),c.dequeue()}})})}})(jQuery);;/*! jQuery UI - v1.8.23 - 2012-08-15 -* https://github.com/jquery/jquery-ui -* Includes: jquery.effects.pulsate.js -* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ -(function(a,b){a.effects.pulsate=function(b){return this.queue(function(){var c=a(this),d=a.effects.setMode(c,b.options.mode||"show"),e=(b.options.times||5)*2-1,f=b.duration?b.duration/2:a.fx.speeds._default/2,g=c.is(":visible"),h=0;g||(c.css("opacity",0).show(),h=1),(d=="hide"&&g||d=="show"&&!g)&&e--;for(var i=0;i
              ').appendTo(document.body).addClass(b.options.className).css({top:g.top,left:g.left,height:c.innerHeight(),width:c.innerWidth(),position:"absolute"}).animate(f,b.duration,b.options.easing,function(){h.remove(),b.callback&&b.callback.apply(c[0],arguments),c.dequeue()})})}})(jQuery);; \ No newline at end of file diff --git a/modules/lib/list_js/list.js b/modules/lib/list_js/list.js deleted file mode 100644 index d4b5dd0..0000000 --- a/modules/lib/list_js/list.js +++ /dev/null @@ -1,775 +0,0 @@ -/* -ListJS Beta 0.2.0 -By Jonny Strömberg (www.jonnystromberg.com, www.listjs.com) - -OBS. The API is not frozen. It MAY change! - -License (MIT) - -Copyright (c) 2011 Jonny Strömberg http://jonnystromberg.com - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without restriction, -including without limitation the rights to use, copy, modify, merge, -publish, distribute, sublicense, and/or sell copies of the Software, -and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. -*/ -(function( window, undefined ) { -"use strict"; -var document = window.document, - h; - -var List = function(id, options, values) { - var self = this, - templater, - init, - initialItems, - Item, - Templater, - sortButtons, - events = { - 'updated': [] - }; - this.listContainer = (typeof(id) == 'string') ? document.getElementById(id) : id; - // Check if the container exists. If not return instead of breaking the javascript - if (!this.listContainer) - return; - - this.items = []; - this.visibleItems = []; // These are the items currently visible - this.matchingItems = []; // These are the items currently matching filters and search, regadlessof visible count - this.searched = false; - this.filtered = false; - - this.list = null; - this.templateEngines = {}; - - this.page = options.page || 200; - this.i = options.i || 1; - - init = { - start: function(values, options) { - options.plugins = options.plugins || {}; - this.classes(options); - templater = new Templater(self, options); - this.callbacks(options); - this.items.start(values, options); - self.update(); - this.plugins(options.plugins); - }, - classes: function(options) { - options.listClass = options.listClass || 'list'; - options.searchClass = options.searchClass || 'search'; - options.sortClass = options.sortClass || 'sort'; - }, - callbacks: function(options) { - self.list = h.getByClass(options.listClass, self.listContainer, true); - h.addEvent(h.getByClass(options.searchClass, self.listContainer), 'keyup', self.search); - sortButtons = h.getByClass(options.sortClass, self.listContainer); - h.addEvent(sortButtons, 'click', self.sort); - }, - items: { - start: function(values, options) { - if (options.valueNames) { - var itemsToIndex = this.get(), - valueNames = options.valueNames; - if (options.indexAsync) { - this.indexAsync(itemsToIndex, valueNames); - } else { - this.index(itemsToIndex, valueNames); - } - } - if (values !== undefined) { - self.add(values); - } - }, - get: function() { - // return h.getByClass('item', self.list); - var nodes = self.list.childNodes, - items = []; - for (var i = 0, il = nodes.length; i < il; i++) { - // Only textnodes have a data attribute - if (nodes[i].data === undefined) { - items.push(nodes[i]); - } - } - return items; - }, - index: function(itemElements, valueNames) { - for (var i = 0, il = itemElements.length; i < il; i++) { - self.items.push(new Item(valueNames, itemElements[i])); - } - }, - indexAsync: function(itemElements, valueNames) { - var itemsToIndex = itemElements.splice(0, 100); // TODO: If < 100 items, what happens in IE etc? - this.index(itemsToIndex, valueNames); - if (itemElements.length > 0) { - setTimeout(function() { - init.items.indexAsync(itemElements, valueNames); - }, - 10); - } else { - self.update(); - // TODO: Add indexed callback - } - } - }, - plugins: function(plugins) { - var locals = { - templater: templater, - init: init, - initialItems: initialItems, - Item: Item, - Templater: Templater, - sortButtons: sortButtons, - events: events, - reset: reset - }; - for (var i = 0; i < plugins.length; i++) { - plugins[i][1] = plugins[i][1] || {}; - var pluginName = plugins[i][1].name || plugins[i][0]; - self[pluginName] = self.plugins[plugins[i][0]].call(self, locals, plugins[i][1]); - } - } - }; - - - /* - * Add object to list - */ - this.add = function(values, callback) { - if (callback) { - addAsync(values, callback); - } - var added = [], - notCreate = false; - if (values[0] === undefined){ - values = [values]; - } - for (var i = 0, il = values.length; i < il; i++) { - var item = null; - if (values[i] instanceof Item) { - item = values[i]; - item.reload(); - } else { - notCreate = (self.items.length > self.page) ? true : false; - item = new Item(values[i], undefined, notCreate); - } - self.items.push(item); - added.push(item); - } - self.update(); - return added; - }; - - /* - * Adds items asynchronous to the list, good for adding huge amount of - * data. Defaults to add 100 items a time - */ - var addAsync = function(values, callback, items) { - var valuesToAdd = values.splice(0, 100); - items = items || []; - items = items.concat(self.add(valuesToAdd)); - if (values.length > 0) { - setTimeout(function() { - addAsync(values, callback, items); - }, 10); - } else { - self.update(); - callback(items); - } - }; - - this.show = function(i, page) { - this.i = i; - this.page = page; - self.update(); - }; - - /* Removes object from list. - * Loops through the list and removes objects where - * property "valuename" === value - */ - this.remove = function(valueName, value, options) { - var found = 0; - for (var i = 0, il = self.items.length; i < il; i++) { - if (self.items[i].values()[valueName] == value) { - templater.remove(self.items[i], options); - self.items.splice(i,1); - il--; - found++; - } - } - self.update(); - return found; - }; - - /* Gets the objects in the list which - * property "valueName" === value - */ - this.get = function(valueName, value) { - var matchedItems = []; - for (var i = 0, il = self.items.length; i < il; i++) { - var item = self.items[i]; - if (item.values()[valueName] == value) { - matchedItems.push(item); - } - } - if (matchedItems.length == 0) { - return null; - } else if (matchedItems.length == 1) { - return matchedItems[0]; - } else { - return matchedItems; - } - }; - - /* Sorts the list. - * @valueOrEvent Either a JavaScript event object or a valueName - * @sortFunction (optional) Define if natural sorting does not fullfill your needs - */ - this.sort = function(valueName, options) { - var length = self.items.length, - value = null, - target = valueName.target || valueName.srcElement, /* IE have srcElement */ - sorting = '', - isAsc = false, - asc = 'asc', - desc = 'desc', - options = options || {}; - - if (target === undefined) { - value = valueName; - isAsc = options.asc || false; - } else { - value = h.getAttribute(target, 'data-sort'); - isAsc = h.hasClass(target, asc) ? false : true; - } - for (var i = 0, il = sortButtons.length; i < il; i++) { - h.removeClass(sortButtons[i], asc); - h.removeClass(sortButtons[i], desc); - } - if (isAsc) { - if (target !== undefined) { - h.addClass(target, asc); - } - isAsc = true; - } else { - if (target !== undefined) { - h.addClass(target, desc); - } - isAsc = false; - } - - if (options.sortFunction) { - options.sortFunction = options.sortFunction; - } else { - options.sortFunction = function(a, b) { - return h.sorter.alphanum(a.values()[value], b.values()[value], isAsc); - }; - } - self.items.sort(options.sortFunction); - self.update(); - }; - - /* - * Searches the list after values with content "searchStringOrEvent". - * The columns parameter defines if all values should be included in the search, - * defaults to undefined which means "all". - */ - this.search = function(searchString, columns) { - self.i = 1; // Reset paging - var matching = [], - found, - item, - text, - values, - is, - columns = (columns === undefined) ? self.items[0].values() : columns, - searchString = (searchString === undefined) ? "" : searchString, - target = searchString.target || searchString.srcElement; /* IE have srcElement */ - - searchString = (target === undefined) ? (""+searchString).toLowerCase() : ""+target.value.toLowerCase(); - is = self.items; - // Escape regular expression characters - searchString = searchString.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"); - - templater.clear(); - if (searchString === "" ) { - reset.search(); - self.searched = false; - self.update(); - } else { - self.searched = true; - - for (var k = 0, kl = is.length; k < kl; k++) { - found = false; - item = is[k]; - values = item.values(); - - for(var j in columns) { - if(values.hasOwnProperty(j) && columns[j] !== null) { - text = (values[j] != null) ? values[j].toString().toLowerCase() : ""; - if ((searchString !== "") && (text.search(searchString) > -1)) { - found = true; - } - } - } - if (found) { - item.found = true; - matching.push(item); - } else { - item.found = false; - } - } - self.update(); - } - return self.visibleItems; - }; - - /* - * Filters the list. If filterFunction() returns False hides the Item. - * if filterFunction == false are the filter removed - */ - this.filter = function(filterFunction) { - self.i = 1; // Reset paging - reset.filter(); - if (filterFunction === undefined) { - self.filtered = false; - } else { - self.filtered = true; - var is = self.items; - for (var i = 0, il = is.length; i < il; i++) { - var item = is[i]; - if (filterFunction(item)) { - item.filtered = true; - } else { - item.filtered = false; - } - } - } - self.update(); - return self.visibleItems; - }; - - /* - * Get size of the list - */ - this.size = function() { - return self.items.length; - }; - - /* - * Removes all items from the list - */ - this.clear = function() { - templater.clear(); - self.items = []; - }; - - this.on = function(event, callback) { - events[event].push(callback); - }; - - var trigger = function(event) { - var i = events[event].length; - while(i--) { - events[event][i](); - } - }; - - var reset = { - filter: function() { - var is = self.items, - il = is.length; - while (il--) { - is[il].filtered = false; - } - }, - search: function() { - var is = self.items, - il = is.length; - while (il--) { - is[il].found = false; - } - } - }; - - - this.update = function() { - var is = self.items, - il = is.length; - - self.visibleItems = []; - self.matchingItems = []; - templater.clear(); - for (var i = 0; i < il; i++) { - if (is[i].matching() && ((i+1) >= self.i && self.visibleItems.length < self.page)) { - is[i].show(); - self.visibleItems.push(is[i]); - self.matchingItems.push(is[i]); - } else if (is[i].matching()) { - self.matchingItems.push(is[i]); - is[i].hide(); - } else { - is[i].hide(); - } - } - trigger('updated'); - }; - - Item = function(initValues, element, notCreate) { - var item = this, - values = {}; - - this.found = false; // Show if list.searched == true and this.found == true - this.filtered = false;// Show if list.filtered == true and this.filtered == true - - var init = function(initValues, element, notCreate) { - if (element === undefined) { - if (notCreate) { - item.values(initValues, notCreate); - } else { - item.values(initValues); - } - } else { - item.elm = element; - var values = templater.get(item, initValues); - item.values(values); - } - }; - this.values = function(newValues, notCreate) { - if (newValues !== undefined) { - for(var name in newValues) { - values[name] = newValues[name]; - } - if (notCreate !== true) { - templater.set(item, item.values()); - } - } else { - return values; - } - }; - this.show = function() { - templater.show(item); - }; - this.hide = function() { - templater.hide(item); - }; - this.matching = function() { - return ( - (self.filtered && self.searched && item.found && item.filtered) || - (self.filtered && !self.searched && item.filtered) || - (!self.filtered && self.searched && item.found) || - (!self.filtered && !self.searched) - ); - }; - this.visible = function() { - return (item.elm.parentNode) ? true : false; - }; - init(initValues, element, notCreate); - }; - - /* Templater with different kinds of template engines. - * All engines have these methods - * - reload(item) - * - remove(item) - */ - Templater = function(list, settings) { - if (settings.engine === undefined) { - settings.engine = "standard"; - } else { - settings.engine = settings.engine.toLowerCase(); - } - return new self.constructor.prototype.templateEngines[settings.engine](list, settings); - }; - - init.start(values, options); -}; - -List.prototype.templateEngines = {}; -List.prototype.plugins = {}; - -List.prototype.templateEngines.standard = function(list, settings) { - var listSource = h.getByClass(settings.listClass, list.listContainer, true), - itemSource = getItemSource(settings.item), - templater = this; - - function getItemSource(item) { - if (item === undefined) { - var nodes = listSource.childNodes, - items = []; - - for (var i = 0, il = nodes.length; i < il; i++) { - // Only textnodes have a data attribute - if (nodes[i].data === undefined) { - return nodes[i]; - } - } - return null; - } else if (item.indexOf("<") !== -1) { // Try create html element of list, do not work for tables!! - var div = document.createElement('div'); - div.innerHTML = item; - return div.firstChild; - } else { - return document.getElementById(settings.item); - } - } - - var ensure = { - created: function(item) { - if (item.elm === undefined) { - templater.create(item); - } - } - }; - - /* Get values from element */ - this.get = function(item, valueNames) { - ensure.created(item); - var values = {}; - for(var i = 0, il = valueNames.length; i < il; i++) { - var elm = h.getByClass(valueNames[i], item.elm, true); - values[valueNames[i]] = elm ? elm.innerHTML : ""; - } - return values; - }; - - /* Sets values at element */ - this.set = function(item, values) { - ensure.created(item); - for(var v in values) { - if (values.hasOwnProperty(v)) { - // TODO speed up if possible - var elm = h.getByClass(v, item.elm, true); - if (elm) { - elm.innerHTML = values[v]; - } - } - } - }; - - this.create = function(item) { - if (item.elm !== undefined) { - return; - } - /* If item source does not exists, use the first item in list as - source for new items */ - var newItem = itemSource.cloneNode(true); - newItem.id = ""; - item.elm = newItem; - templater.set(item, item.values()); - }; - this.remove = function(item) { - listSource.removeChild(item.elm); - }; - this.show = function(item) { - ensure.created(item); - listSource.appendChild(item.elm); - }; - this.hide = function(item) { - if (item.elm !== undefined && item.elm.parentNode === listSource) { - listSource.removeChild(item.elm); - } - }; - this.clear = function() { - /* .innerHTML = ''; fucks up IE */ - if (listSource.hasChildNodes()) { - while (listSource.childNodes.length >= 1) - { - listSource.removeChild(listSource.firstChild); - } - } - }; -}; - - -/* -* These helper functions are not written by List.js author Jonny (they may have been -* adjusted, thought). -*/ -h = { - /* - * Cross browser getElementsByClassName, which uses native - * if it exists. Modified version of Dustin Diaz function: - * http://www.dustindiaz.com/getelementsbyclass - */ - getByClass: (function() { - if (document.getElementsByClassName) { - return function(searchClass,node,single) { - if (single) { - return node.getElementsByClassName(searchClass)[0]; - } else { - return node.getElementsByClassName(searchClass); - } - }; - } else { - return function(searchClass,node,single) { - var classElements = [], - tag = '*'; - if (node == null) { - node = document; - } - var els = node.getElementsByTagName(tag); - var elsLen = els.length; - var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)"); - for (var i = 0, j = 0; i < elsLen; i++) { - if ( pattern.test(els[i].className) ) { - if (single) { - return els[i]; - } else { - classElements[j] = els[i]; - j++; - } - } - } - return classElements; - }; - } - })(), - /* (elm, 'event' callback) Source: http://net.tutsplus.com/tutorials/javascript-ajax/javascript-from-null-cross-browser-event-binding/ */ - addEvent: (function( window, document ) { - if ( document.addEventListener ) { - return function( elem, type, cb ) { - if ((elem && !(elem instanceof Array) && !elem.length && !h.isNodeList(elem) && (elem.length !== 0)) || elem === window ) { - elem.addEventListener(type, cb, false ); - } else if ( elem && elem[0] !== undefined ) { - var len = elem.length; - for ( var i = 0; i < len; i++ ) { - h.addEvent(elem[i], type, cb); - } - } - }; - } - else if ( document.attachEvent ) { - return function ( elem, type, cb ) { - if ((elem && !(elem instanceof Array) && !elem.length && !h.isNodeList(elem) && (elem.length !== 0)) || elem === window ) { - elem.attachEvent( 'on' + type, function() { return cb.call(elem, window.event); } ); - } else if ( elem && elem[0] !== undefined ) { - var len = elem.length; - for ( var i = 0; i < len; i++ ) { - h.addEvent( elem[i], type, cb ); - } - } - }; - } - })(this, document), - /* (elm, attribute) Source: http://stackoverflow.com/questions/3755227/cross-browser-javascript-getattribute-method */ - getAttribute: function(ele, attr) { - var result = (ele.getAttribute && ele.getAttribute(attr)) || null; - if( !result ) { - var attrs = ele.attributes; - var length = attrs.length; - for(var i = 0; i < length; i++) { - if (attr[i] !== undefined) { - if(attr[i].nodeName === attr) { - result = attr[i].nodeValue; - } - } - } - } - return result; - }, - /* http://stackoverflow.com/questions/7238177/detect-htmlcollection-nodelist-in-javascript */ - isNodeList: function(nodes) { - var result = Object.prototype.toString.call(nodes); - if (typeof nodes === 'object' && /^\[object (HTMLCollection|NodeList|Object)\]$/.test(result) && (nodes.length == 0 || (typeof node === "object" && nodes[0].nodeType > 0))) { - return true; - } - return false; - }, - hasClass: function(ele, classN) { - var classes = this.getAttribute(ele, 'class') || this.getAttribute(ele, 'className') || ""; - return (classes.search(classN) > -1); - }, - addClass: function(ele, classN) { - if (!this.hasClass(ele, classN)) { - var classes = this.getAttribute(ele, 'class') || this.getAttribute(ele, 'className') || ""; - classes = classes + ' ' + classN + ' '; - classes = classes.replace(/\s{2,}/g, ' '); - ele.setAttribute('class', classes); - } - }, - removeClass: function(ele, classN) { - if (this.hasClass(ele, classN)) { - var classes = this.getAttribute(ele, 'class') || this.getAttribute(ele, 'className') || ""; - classes = classes.replace(classN, ''); - ele.setAttribute('class', classes); - } - }, - /* - * The sort function. From http://my.opera.com/GreyWyvern/blog/show.dml/1671288 - */ - sorter: { - alphanum: function(a,b,asc) { - if (a === undefined || a === null) { - a = ""; - } - if (b === undefined || b === null) { - b = ""; - } - a = a.toString().replace(/&(lt|gt);/g, function (strMatch, p1){ - return (p1 == "lt")? "<" : ">"; - }); - a = a.replace(/<\/?[^>]+(>|$)/g, ""); - - b = b.toString().replace(/&(lt|gt);/g, function (strMatch, p1){ - return (p1 == "lt")? "<" : ">"; - }); - b = b.replace(/<\/?[^>]+(>|$)/g, ""); - var aa = this.chunkify(a); - var bb = this.chunkify(b); - - for (var x = 0; aa[x] && bb[x]; x++) { - if (aa[x] !== bb[x]) { - var c = Number(aa[x]), d = Number(bb[x]); - if (asc) { - if (c == aa[x] && d == bb[x]) { - return c - d; - } else { - return (aa[x] > bb[x]) ? 1 : -1; - } - } else { - if (c == aa[x] && d == bb[x]) { - return d-c;//c - d; - } else { - return (aa[x] > bb[x]) ? -1 : 1; //(aa[x] > bb[x]) ? 1 : -1; - } - } - } - } - return aa.length - bb.length; - }, - chunkify: function(t) { - var tz = [], x = 0, y = -1, n = 0, i, j; - - while (i = (j = t.charAt(x++)).charCodeAt(0)) { - var m = (i == 45 || i == 46 || (i >=48 && i <= 57)); - if (m !== n) { - tz[++y] = ""; - n = m; - } - tz[y] += j; - } - return tz; - } - } -}; - -window.List = List; -window.ListJsHelpers = h; -})(window); diff --git a/modules/lib/list_js/list.min.js b/modules/lib/list_js/list.min.js deleted file mode 100644 index c583042..0000000 --- a/modules/lib/list_js/list.min.js +++ /dev/null @@ -1 +0,0 @@ -(function(a,b){"use strict";var c=a.document,d;var e=function(a,e,f){var g=this,i,j,k,l,m,n,o={updated:[]};this.listContainer=typeof a=="string"?c.getElementById(a):a;if(!this.listContainer)return;this.items=[];this.visibleItems=[];this.matchingItems=[];this.searched=false;this.filtered=false;this.list=null;this.templateEngines={};this.page=e.page||200;this.i=e.i||1;j={start:function(a,b){b.plugins=b.plugins||{};this.classes(b);i=new m(g,b);this.callbacks(b);this.items.start(a,b);g.update();this.plugins(b.plugins)},classes:function(a){a.listClass=a.listClass||"list";a.searchClass=a.searchClass||"search";a.sortClass=a.sortClass||"sort"},callbacks:function(a){g.list=d.getByClass(a.listClass,g.listContainer,true);d.addEvent(d.getByClass(a.searchClass,g.listContainer),"keyup",g.search);n=d.getByClass(a.sortClass,g.listContainer);d.addEvent(n,"click",g.sort)},items:{start:function(a,c){if(c.valueNames){var d=this.get(),e=c.valueNames;if(c.indexAsync){this.indexAsync(d,e)}else{this.index(d,e)}}if(a!==b){g.add(a)}},get:function(){var a=g.list.childNodes,c=[];for(var d=0,e=a.length;d0){setTimeout(function(){j.items.indexAsync(a,b)},10)}else{g.update()}}},plugins:function(a){var b={templater:i,init:j,initialItems:k,Item:l,Templater:m,sortButtons:n,events:o,reset:r};for(var c=0;cg.page?true:false;i=new l(a[f],b,e)}g.items.push(i);d.push(i)}g.update();return d};var p=function(a,b,c){var d=a.splice(0,100);c=c||[];c=c.concat(g.add(d));if(a.length>0){setTimeout(function(){p(a,b,c)},10)}else{g.update();b(c)}};this.show=function(a,b){this.i=a;this.page=b;g.update()};this.remove=function(a,b,c){var d=0;for(var e=0,f=g.items.length;e-1){e=true}}}if(e){f.found=true;d.push(f)}else{f.found=false}}g.update()}return g.visibleItems};this.filter=function(a){g.i=1;r.filter();if(a===b){g.filtered=false}else{g.filtered=true;var c=g.items;for(var d=0,e=c.length;d=g.i&&g.visibleItems.length=1){f.removeChild(f.firstChild)}}}};d={getByClass:function(){if(c.getElementsByClassName){return function(a,b,c){if(c){return b.getElementsByClassName(a)[0]}else{return b.getElementsByClassName(a)}}}else{return function(a,b,d){var e=[],f="*";if(b==null){b=c}var g=b.getElementsByTagName(f);var h=g.length;var i=new RegExp("(^|\\s)"+a+"(\\s|$)");for(var j=0,k=0;j0)){return true}return false},hasClass:function(a,b){var c=this.getAttribute(a,"class")||this.getAttribute(a,"className")||"";return c.search(b)>-1},addClass:function(a,b){if(!this.hasClass(a,b)){var c=this.getAttribute(a,"class")||this.getAttribute(a,"className")||"";c=c+" "+b+" ";c=c.replace(/\s{2,}/g," ");a.setAttribute("class",c)}},removeClass:function(a,b){if(this.hasClass(a,b)){var c=this.getAttribute(a,"class")||this.getAttribute(a,"className")||"";c=c.replace(b,"");a.setAttribute("class",c)}},sorter:{alphanum:function(a,c,d){if(a===b||a===null){a=""}if(c===b||c===null){c=""}a=a.toString().replace(/&(lt|gt);/g,function(a,b){return b=="lt"?"<":">"});a=a.replace(/<\/?[^>]+(>|$)/g,"");c=c.toString().replace(/&(lt|gt);/g,function(a,b){return b=="lt"?"<":">"});c=c.replace(/<\/?[^>]+(>|$)/g,"");var e=this.chunkify(a);var f=this.chunkify(c);for(var g=0;e[g]&&f[g];g++){if(e[g]!==f[g]){var h=Number(e[g]),i=Number(f[g]);if(d){if(h==e[g]&&i==f[g]){return h-i}else{return e[g]>f[g]?1:-1}}else{if(h==e[g]&&i==f[g]){return i-h}else{return e[g]>f[g]?-1:1}}}}return e.length-f.length},chunkify:function(a){var b=[],c=0,d=-1,e=0,f,g;while(f=(g=a.charAt(c++)).charCodeAt(0)){var h=f==45||f==46||f>=48&&f<=57;if(h!==e){b[++d]="";e=h}b[d]+=g}return b}}};a.List=e;a.ListJsHelpers=d})(window) \ No newline at end of file diff --git a/modules/lib/moment_js/LICENSE b/modules/lib/moment_js/LICENSE deleted file mode 100644 index 8beeefc..0000000 --- a/modules/lib/moment_js/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -Copyright (c) 2011-2012 Tim Wood - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/modules/lib/moment_js/moment.js b/modules/lib/moment_js/moment.js deleted file mode 100644 index c7901d2..0000000 --- a/modules/lib/moment_js/moment.js +++ /dev/null @@ -1,918 +0,0 @@ -// moment.js -// version : 1.6.2 -// author : Tim Wood -// license : MIT -// momentjs.com - -(function (Date, undefined) { - - var moment, - VERSION = "1.6.2", - round = Math.round, i, - // internal storage for language config files - languages = {}, - currentLanguage = 'en', - - // check for nodeJS - hasModule = (typeof module !== 'undefined'), - - // parameters to check for on the lang config - langConfigProperties = 'months|monthsShort|monthsParse|weekdays|weekdaysShort|longDateFormat|calendar|relativeTime|ordinal|meridiem'.split('|'), - - // ASP.NET json date format regex - aspNetJsonRegex = /^\/?Date\((\-?\d+)/i, - - // format tokens - formattingTokens = /(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|dddd?|do?|w[o|w]?|YYYY|YY|a|A|hh?|HH?|mm?|ss?|SS?S?|zz?|ZZ?|LT|LL?L?L?)/g, - - // parsing tokens - parseMultipleFormatChunker = /([0-9a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+)/gi, - - // parsing token regexes - parseTokenOneOrTwoDigits = /\d\d?/, // 0 - 99 - parseTokenOneToThreeDigits = /\d{1,3}/, // 0 - 999 - parseTokenThreeDigits = /\d{3}/, // 000 - 999 - parseTokenFourDigits = /\d{4}/, // 0000 - 9999 - parseTokenWord = /[0-9a-z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+/i, // any word characters or numbers - parseTokenTimezone = /Z|[\+\-]\d\d:?\d\d/i, // +00:00 -00:00 +0000 -0000 or Z - parseTokenT = /T/i, // T (ISO seperator) - - // preliminary iso regex - // 0000-00-00 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 - isoRegex = /^\s*\d{4}-\d\d-\d\d(T(\d\d(:\d\d(:\d\d(\.\d\d?\d?)?)?)?)?([\+\-]\d\d:?\d\d)?)?/, - isoFormat = 'YYYY-MM-DDTHH:mm:ssZ', - - // iso time formats and regexes - isoTimes = [ - ['HH:mm:ss.S', /T\d\d:\d\d:\d\d\.\d{1,3}/], - ['HH:mm:ss', /T\d\d:\d\d:\d\d/], - ['HH:mm', /T\d\d:\d\d/], - ['HH', /T\d\d/] - ], - - // timezone chunker "+10:00" > ["10", "00"] or "-1530" > ["-15", "30"] - parseTimezoneChunker = /([\+\-]|\d\d)/gi, - - // getter and setter names - proxyGettersAndSetters = 'Month|Date|Hours|Minutes|Seconds|Milliseconds'.split('|'), - unitMillisecondFactors = { - 'Milliseconds' : 1, - 'Seconds' : 1e3, - 'Minutes' : 6e4, - 'Hours' : 36e5, - 'Days' : 864e5, - 'Months' : 2592e6, - 'Years' : 31536e6 - }; - - // Moment prototype object - function Moment(date, isUTC) { - this._d = date; - this._isUTC = !!isUTC; - } - - function absRound(number) { - if (number < 0) { - return Math.ceil(number); - } else { - return Math.floor(number); - } - } - - // Duration Constructor - function Duration(duration) { - var data = this._data = {}, - years = duration.years || duration.y || 0, - months = duration.months || duration.M || 0, - weeks = duration.weeks || duration.w || 0, - days = duration.days || duration.d || 0, - hours = duration.hours || duration.h || 0, - minutes = duration.minutes || duration.m || 0, - seconds = duration.seconds || duration.s || 0, - milliseconds = duration.milliseconds || duration.ms || 0; - - // representation for dateAddRemove - this._milliseconds = milliseconds + - seconds * 1e3 + // 1000 - minutes * 6e4 + // 1000 * 60 - hours * 36e5; // 1000 * 60 * 60 - // Because of dateAddRemove treats 24 hours as different from a - // day when working around DST, we need to store them separately - this._days = days + - weeks * 7; - // It is impossible translate months into days without knowing - // which months you are are talking about, so we have to store - // it separately. - this._months = months + - years * 12; - - // The following code bubbles up values, see the tests for - // examples of what that means. - data.milliseconds = milliseconds % 1000; - seconds += absRound(milliseconds / 1000); - - data.seconds = seconds % 60; - minutes += absRound(seconds / 60); - - data.minutes = minutes % 60; - hours += absRound(minutes / 60); - - data.hours = hours % 24; - days += absRound(hours / 24); - - days += weeks * 7; - data.days = days % 30; - - months += absRound(days / 30); - - data.months = months % 12; - years += absRound(months / 12); - - data.years = years; - } - - // left zero fill a number - // see http://jsperf.com/left-zero-filling for performance comparison - function leftZeroFill(number, targetLength) { - var output = number + ''; - while (output.length < targetLength) { - output = '0' + output; - } - return output; - } - - // helper function for _.addTime and _.subtractTime - function addOrSubtractDurationFromMoment(mom, duration, isAdding) { - var ms = duration._milliseconds, - d = duration._days, - M = duration._months, - currentDate; - - if (ms) { - mom._d.setTime(+mom + ms * isAdding); - } - if (d) { - mom.date(mom.date() + d * isAdding); - } - if (M) { - currentDate = mom.date(); - mom.date(1) - .month(mom.month() + M * isAdding) - .date(Math.min(currentDate, mom.daysInMonth())); - } - } - - // check if is an array - function isArray(input) { - return Object.prototype.toString.call(input) === '[object Array]'; - } - - // convert an array to a date. - // the array should mirror the parameters below - // note: all values past the year are optional and will default to the lowest possible value. - // [year, month, day , hour, minute, second, millisecond] - function dateFromArray(input) { - return new Date(input[0], input[1] || 0, input[2] || 1, input[3] || 0, input[4] || 0, input[5] || 0, input[6] || 0); - } - - // format date using native date object - function formatMoment(m, inputString) { - var currentMonth = m.month(), - currentDate = m.date(), - currentYear = m.year(), - currentDay = m.day(), - currentHours = m.hours(), - currentMinutes = m.minutes(), - currentSeconds = m.seconds(), - currentMilliseconds = m.milliseconds(), - currentZone = -m.zone(), - ordinal = moment.ordinal, - meridiem = moment.meridiem; - // check if the character is a format - // return formatted string or non string. - // - // uses switch/case instead of an object of named functions (like http://phpjs.org/functions/date:380) - // for minification and performance - // see http://jsperf.com/object-of-functions-vs-switch for performance comparison - function replaceFunction(input) { - // create a couple variables to be used later inside one of the cases. - var a, b; - switch (input) { - // MONTH - case 'M' : - return currentMonth + 1; - case 'Mo' : - return (currentMonth + 1) + ordinal(currentMonth + 1); - case 'MM' : - return leftZeroFill(currentMonth + 1, 2); - case 'MMM' : - return moment.monthsShort[currentMonth]; - case 'MMMM' : - return moment.months[currentMonth]; - // DAY OF MONTH - case 'D' : - return currentDate; - case 'Do' : - return currentDate + ordinal(currentDate); - case 'DD' : - return leftZeroFill(currentDate, 2); - // DAY OF YEAR - case 'DDD' : - a = new Date(currentYear, currentMonth, currentDate); - b = new Date(currentYear, 0, 1); - return ~~ (((a - b) / 864e5) + 1.5); - case 'DDDo' : - a = replaceFunction('DDD'); - return a + ordinal(a); - case 'DDDD' : - return leftZeroFill(replaceFunction('DDD'), 3); - // WEEKDAY - case 'd' : - return currentDay; - case 'do' : - return currentDay + ordinal(currentDay); - case 'ddd' : - return moment.weekdaysShort[currentDay]; - case 'dddd' : - return moment.weekdays[currentDay]; - // WEEK OF YEAR - case 'w' : - a = new Date(currentYear, currentMonth, currentDate - currentDay + 5); - b = new Date(a.getFullYear(), 0, 4); - return ~~ ((a - b) / 864e5 / 7 + 1.5); - case 'wo' : - a = replaceFunction('w'); - return a + ordinal(a); - case 'ww' : - return leftZeroFill(replaceFunction('w'), 2); - // YEAR - case 'YY' : - return leftZeroFill(currentYear % 100, 2); - case 'YYYY' : - return currentYear; - // AM / PM - case 'a' : - return meridiem ? meridiem(currentHours, currentMinutes, false) : (currentHours > 11 ? 'pm' : 'am'); - case 'A' : - return meridiem ? meridiem(currentHours, currentMinutes, true) : (currentHours > 11 ? 'PM' : 'AM'); - // 24 HOUR - case 'H' : - return currentHours; - case 'HH' : - return leftZeroFill(currentHours, 2); - // 12 HOUR - case 'h' : - return currentHours % 12 || 12; - case 'hh' : - return leftZeroFill(currentHours % 12 || 12, 2); - // MINUTE - case 'm' : - return currentMinutes; - case 'mm' : - return leftZeroFill(currentMinutes, 2); - // SECOND - case 's' : - return currentSeconds; - case 'ss' : - return leftZeroFill(currentSeconds, 2); - // MILLISECONDS - case 'S' : - return ~~ (currentMilliseconds / 100); - case 'SS' : - return leftZeroFill(~~(currentMilliseconds / 10), 2); - case 'SSS' : - return leftZeroFill(currentMilliseconds, 3); - // TIMEZONE - case 'Z' : - return (currentZone < 0 ? '-' : '+') + leftZeroFill(~~(Math.abs(currentZone) / 60), 2) + ':' + leftZeroFill(~~(Math.abs(currentZone) % 60), 2); - case 'ZZ' : - return (currentZone < 0 ? '-' : '+') + leftZeroFill(~~(10 * Math.abs(currentZone) / 6), 4); - // LONG DATES - case 'L' : - case 'LL' : - case 'LLL' : - case 'LLLL' : - case 'LT' : - return formatMoment(m, moment.longDateFormat[input]); - // DEFAULT - default : - return input.replace(/(^\[)|(\\)|\]$/g, ""); - } - } - return inputString.replace(formattingTokens, replaceFunction); - } - - // get the regex to find the next token - function getParseRegexForToken(token) { - switch (token) { - case 'DDDD': - return parseTokenThreeDigits; - case 'YYYY': - return parseTokenFourDigits; - case 'S': - case 'SS': - case 'SSS': - case 'DDD': - return parseTokenOneToThreeDigits; - case 'MMM': - case 'MMMM': - case 'ddd': - case 'dddd': - case 'a': - case 'A': - return parseTokenWord; - case 'Z': - case 'ZZ': - return parseTokenTimezone; - case 'T': - return parseTokenT; - case 'MM': - case 'DD': - case 'dd': - case 'YY': - case 'HH': - case 'hh': - case 'mm': - case 'ss': - case 'M': - case 'D': - case 'd': - case 'H': - case 'h': - case 'm': - case 's': - return parseTokenOneOrTwoDigits; - default : - return new RegExp(token.replace('\\', '')); - } - } - - // function to convert string input to date - function addTimeToArrayFromToken(token, input, datePartArray, config) { - var a; - //console.log('addTime', format, input); - switch (token) { - // MONTH - case 'M' : // fall through to MM - case 'MM' : - datePartArray[1] = (input == null) ? 0 : ~~input - 1; - break; - case 'MMM' : // fall through to MMMM - case 'MMMM' : - for (a = 0; a < 12; a++) { - if (moment.monthsParse[a].test(input)) { - datePartArray[1] = a; - break; - } - } - break; - // DAY OF MONTH - case 'D' : // fall through to DDDD - case 'DD' : // fall through to DDDD - case 'DDD' : // fall through to DDDD - case 'DDDD' : - datePartArray[2] = ~~input; - break; - // YEAR - case 'YY' : - input = ~~input; - datePartArray[0] = input + (input > 70 ? 1900 : 2000); - break; - case 'YYYY' : - datePartArray[0] = ~~Math.abs(input); - break; - // AM / PM - case 'a' : // fall through to A - case 'A' : - config.isPm = ((input + '').toLowerCase() === 'pm'); - break; - // 24 HOUR - case 'H' : // fall through to hh - case 'HH' : // fall through to hh - case 'h' : // fall through to hh - case 'hh' : - datePartArray[3] = ~~input; - break; - // MINUTE - case 'm' : // fall through to mm - case 'mm' : - datePartArray[4] = ~~input; - break; - // SECOND - case 's' : // fall through to ss - case 'ss' : - datePartArray[5] = ~~input; - break; - // MILLISECOND - case 'S' : - case 'SS' : - case 'SSS' : - datePartArray[6] = ~~ (('0.' + input) * 1000); - break; - // TIMEZONE - case 'Z' : // fall through to ZZ - case 'ZZ' : - config.isUTC = true; - a = (input + '').match(parseTimezoneChunker); - if (a && a[1]) { - config.tzh = ~~a[1]; - } - if (a && a[2]) { - config.tzm = ~~a[2]; - } - // reverse offsets - if (a && a[0] === '+') { - config.tzh = -config.tzh; - config.tzm = -config.tzm; - } - break; - } - } - - // date from string and format string - function makeDateFromStringAndFormat(string, format) { - var datePartArray = [0, 0, 1, 0, 0, 0, 0], - config = { - tzh : 0, // timezone hour offset - tzm : 0 // timezone minute offset - }, - tokens = format.match(formattingTokens), - i, parsedInput; - - for (i = 0; i < tokens.length; i++) { - parsedInput = (getParseRegexForToken(tokens[i]).exec(string) || [])[0]; - string = string.replace(getParseRegexForToken(tokens[i]), ''); - addTimeToArrayFromToken(tokens[i], parsedInput, datePartArray, config); - } - // handle am pm - if (config.isPm && datePartArray[3] < 12) { - datePartArray[3] += 12; - } - // if is 12 am, change hours to 0 - if (config.isPm === false && datePartArray[3] === 12) { - datePartArray[3] = 0; - } - // handle timezone - datePartArray[3] += config.tzh; - datePartArray[4] += config.tzm; - // return - return config.isUTC ? new Date(Date.UTC.apply({}, datePartArray)) : dateFromArray(datePartArray); - } - - // compare two arrays, return the number of differences - function compareArrays(array1, array2) { - var len = Math.min(array1.length, array2.length), - lengthDiff = Math.abs(array1.length - array2.length), - diffs = 0, - i; - for (i = 0; i < len; i++) { - if (~~array1[i] !== ~~array2[i]) { - diffs++; - } - } - return diffs + lengthDiff; - } - - // date from string and array of format strings - function makeDateFromStringAndArray(string, formats) { - var output, - inputParts = string.match(parseMultipleFormatChunker) || [], - formattedInputParts, - scoreToBeat = 99, - i, - currentDate, - currentScore; - for (i = 0; i < formats.length; i++) { - currentDate = makeDateFromStringAndFormat(string, formats[i]); - formattedInputParts = formatMoment(new Moment(currentDate), formats[i]).match(parseMultipleFormatChunker) || []; - currentScore = compareArrays(inputParts, formattedInputParts); - if (currentScore < scoreToBeat) { - scoreToBeat = currentScore; - output = currentDate; - } - } - return output; - } - - // date from iso format - function makeDateFromString(string) { - var format = 'YYYY-MM-DDT', - i; - if (isoRegex.exec(string)) { - for (i = 0; i < 4; i++) { - if (isoTimes[i][1].exec(string)) { - format += isoTimes[i][0]; - break; - } - } - return parseTokenTimezone.exec(string) ? - makeDateFromStringAndFormat(string, format + ' Z') : - makeDateFromStringAndFormat(string, format); - } - return new Date(string); - } - - // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize - function substituteTimeAgo(string, number, withoutSuffix, isFuture) { - var rt = moment.relativeTime[string]; - return (typeof rt === 'function') ? - rt(number || 1, !!withoutSuffix, string, isFuture) : - rt.replace(/%d/i, number || 1); - } - - function relativeTime(milliseconds, withoutSuffix) { - var seconds = round(Math.abs(milliseconds) / 1000), - minutes = round(seconds / 60), - hours = round(minutes / 60), - days = round(hours / 24), - years = round(days / 365), - args = seconds < 45 && ['s', seconds] || - minutes === 1 && ['m'] || - minutes < 45 && ['mm', minutes] || - hours === 1 && ['h'] || - hours < 22 && ['hh', hours] || - days === 1 && ['d'] || - days <= 25 && ['dd', days] || - days <= 45 && ['M'] || - days < 345 && ['MM', round(days / 30)] || - years === 1 && ['y'] || ['yy', years]; - args[2] = withoutSuffix; - args[3] = milliseconds > 0; - return substituteTimeAgo.apply({}, args); - } - - moment = function (input, format) { - if (input === null || input === '') { - return null; - } - var date, - matched, - isUTC; - // parse Moment object - if (moment.isMoment(input)) { - date = new Date(+input._d); - isUTC = input._isUTC; - // parse string and format - } else if (format) { - if (isArray(format)) { - date = makeDateFromStringAndArray(input, format); - } else { - date = makeDateFromStringAndFormat(input, format); - } - // evaluate it as a JSON-encoded date - } else { - matched = aspNetJsonRegex.exec(input); - date = input === undefined ? new Date() : - matched ? new Date(+matched[1]) : - input instanceof Date ? input : - isArray(input) ? dateFromArray(input) : - typeof input === 'string' ? makeDateFromString(input) : - new Date(input); - } - return new Moment(date, isUTC); - }; - - // creating with utc - moment.utc = function (input, format) { - if (isArray(input)) { - return new Moment(new Date(Date.UTC.apply({}, input)), true); - } - return (format && input) ? - moment(input + ' +0000', format + ' Z').utc() : - moment(input && !parseTokenTimezone.exec(input) ? input + '+0000' : input).utc(); - }; - - // creating with unix timestamp (in seconds) - moment.unix = function (input) { - return moment(input * 1000); - }; - - // duration - moment.duration = function (input, key) { - var isDuration = moment.isDuration(input), - isNumber = (typeof input === 'number'), - duration = (isDuration ? input._data : (isNumber ? {} : input)); - - if (isNumber) { - if (key) { - duration[key] = input; - } else { - duration.milliseconds = input; - } - } - - return new Duration(duration); - }; - - // humanizeDuration - // This method is deprecated in favor of the new Duration object. Please - // see the moment.duration method. - moment.humanizeDuration = function (num, type, withSuffix) { - return moment.duration(num, type === true ? null : type).humanize(type === true ? true : withSuffix); - }; - - // version number - moment.version = VERSION; - - // default format - moment.defaultFormat = isoFormat; - - // language switching and caching - moment.lang = function (key, values) { - var i, req, - parse = []; - if (!key) { - return currentLanguage; - } - if (values) { - for (i = 0; i < 12; i++) { - parse[i] = new RegExp('^' + values.months[i] + '|^' + values.monthsShort[i].replace('.', ''), 'i'); - } - values.monthsParse = values.monthsParse || parse; - languages[key] = values; - } - if (languages[key]) { - for (i = 0; i < langConfigProperties.length; i++) { - moment[langConfigProperties[i]] = languages[key][langConfigProperties[i]] || - languages.en[langConfigProperties[i]]; - } - currentLanguage = key; - } else { - if (hasModule) { - req = require('./lang/' + key); - moment.lang(key, req); - } - } - }; - - // set default language - moment.lang('en', { - months : "January_February_March_April_May_June_July_August_September_October_November_December".split("_"), - monthsShort : "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"), - weekdays : "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), - weekdaysShort : "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"), - longDateFormat : { - LT : "h:mm A", - L : "MM/DD/YYYY", - LL : "MMMM D YYYY", - LLL : "MMMM D YYYY LT", - LLLL : "dddd, MMMM D YYYY LT" - }, - meridiem : false, - calendar : { - sameDay : '[Today at] LT', - nextDay : '[Tomorrow at] LT', - nextWeek : 'dddd [at] LT', - lastDay : '[Yesterday at] LT', - lastWeek : '[last] dddd [at] LT', - sameElse : 'L' - }, - relativeTime : { - future : "in %s", - past : "%s ago", - s : "a few seconds", - m : "a minute", - mm : "%d minutes", - h : "an hour", - hh : "%d hours", - d : "a day", - dd : "%d days", - M : "a month", - MM : "%d months", - y : "a year", - yy : "%d years" - }, - ordinal : function (number) { - var b = number % 10; - return (~~ (number % 100 / 10) === 1) ? 'th' : - (b === 1) ? 'st' : - (b === 2) ? 'nd' : - (b === 3) ? 'rd' : 'th'; - } - }); - - // compare moment object - moment.isMoment = function (obj) { - return obj instanceof Moment; - }; - - // for typechecking Duration objects - moment.isDuration = function (obj) { - return obj instanceof Duration; - }; - - // shortcut for prototype - moment.fn = Moment.prototype = { - - clone : function () { - return moment(this); - }, - - valueOf : function () { - return +this._d; - }, - - unix : function () { - return Math.floor(+this._d / 1000); - }, - - toString : function () { - return this._d.toString(); - }, - - toDate : function () { - return this._d; - }, - - utc : function () { - this._isUTC = true; - return this; - }, - - local : function () { - this._isUTC = false; - return this; - }, - - format : function (inputString) { - return formatMoment(this, inputString ? inputString : moment.defaultFormat); - }, - - add : function (input, val) { - var dur = val ? moment.duration(+val, input) : moment.duration(input); - addOrSubtractDurationFromMoment(this, dur, 1); - return this; - }, - - subtract : function (input, val) { - var dur = val ? moment.duration(+val, input) : moment.duration(input); - addOrSubtractDurationFromMoment(this, dur, -1); - return this; - }, - - diff : function (input, val, asFloat) { - var inputMoment = this._isUTC ? moment(input).utc() : moment(input).local(), - zoneDiff = (this.zone() - inputMoment.zone()) * 6e4, - diff = this._d - inputMoment._d - zoneDiff, - year = this.year() - inputMoment.year(), - month = this.month() - inputMoment.month(), - date = this.date() - inputMoment.date(), - output; - if (val === 'months') { - output = year * 12 + month + date / 30; - } else if (val === 'years') { - output = year + (month + date / 30) / 12; - } else { - output = val === 'seconds' ? diff / 1e3 : // 1000 - val === 'minutes' ? diff / 6e4 : // 1000 * 60 - val === 'hours' ? diff / 36e5 : // 1000 * 60 * 60 - val === 'days' ? diff / 864e5 : // 1000 * 60 * 60 * 24 - val === 'weeks' ? diff / 6048e5 : // 1000 * 60 * 60 * 24 * 7 - diff; - } - return asFloat ? output : round(output); - }, - - from : function (time, withoutSuffix) { - return moment.duration(this.diff(time)).humanize(!withoutSuffix); - }, - - fromNow : function (withoutSuffix) { - return this.from(moment(), withoutSuffix); - }, - - calendar : function () { - var diff = this.diff(moment().sod(), 'days', true), - calendar = moment.calendar, - allElse = calendar.sameElse, - format = diff < -6 ? allElse : - diff < -1 ? calendar.lastWeek : - diff < 0 ? calendar.lastDay : - diff < 1 ? calendar.sameDay : - diff < 2 ? calendar.nextDay : - diff < 7 ? calendar.nextWeek : allElse; - return this.format(typeof format === 'function' ? format.apply(this) : format); - }, - - isLeapYear : function () { - var year = this.year(); - return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0; - }, - - isDST : function () { - return (this.zone() < moment([this.year()]).zone() || - this.zone() < moment([this.year(), 5]).zone()); - }, - - day : function (input) { - var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay(); - return input == null ? day : - this.add({ d : input - day }); - }, - - sod: function () { - return moment(this) - .hours(0) - .minutes(0) - .seconds(0) - .milliseconds(0); - }, - - eod: function () { - // end of day = start of day plus 1 day, minus 1 millisecond - return this.sod().add({ - d : 1, - ms : -1 - }); - }, - - zone : function () { - return this._isUTC ? 0 : this._d.getTimezoneOffset(); - }, - - daysInMonth : function () { - return moment(this).month(this.month() + 1).date(0).date(); - } - }; - - // helper for adding shortcuts - function makeGetterAndSetter(name, key) { - moment.fn[name] = function (input) { - var utc = this._isUTC ? 'UTC' : ''; - if (input != null) { - this._d['set' + utc + key](input); - return this; - } else { - return this._d['get' + utc + key](); - } - }; - } - - // loop through and add shortcuts (Month, Date, Hours, Minutes, Seconds, Milliseconds) - for (i = 0; i < proxyGettersAndSetters.length; i ++) { - makeGetterAndSetter(proxyGettersAndSetters[i].toLowerCase(), proxyGettersAndSetters[i]); - } - - // add shortcut for year (uses different syntax than the getter/setter 'year' == 'FullYear') - makeGetterAndSetter('year', 'FullYear'); - - moment.duration.fn = Duration.prototype = { - weeks : function () { - return absRound(this.days() / 7); - }, - - valueOf : function () { - return this._milliseconds + - this._days * 864e5 + - this._months * 2592e6; - }, - - humanize : function (withSuffix) { - var difference = +this, - rel = moment.relativeTime, - output = relativeTime(difference, !withSuffix); - - if (withSuffix) { - output = (difference <= 0 ? rel.past : rel.future).replace(/%s/i, output); - } - - return output; - } - }; - - function makeDurationGetter(name) { - moment.duration.fn[name] = function () { - return this._data[name]; - }; - } - - function makeDurationAsGetter(name, factor) { - moment.duration.fn['as' + name] = function () { - return +this / factor; - }; - } - - for (i in unitMillisecondFactors) { - if (unitMillisecondFactors.hasOwnProperty(i)) { - makeDurationAsGetter(i, unitMillisecondFactors[i]); - makeDurationGetter(i.toLowerCase()); - } - } - - makeDurationAsGetter('Weeks', 6048e5); - - // CommonJS module is defined - if (hasModule) { - module.exports = moment; - } - /*global ender:false */ - if (typeof window !== 'undefined' && typeof ender === 'undefined') { - window.moment = moment; - } - /*global define:false */ - if (typeof define === "function" && define.amd) { - define("moment", [], function () { - return moment; - }); - } -})(Date); diff --git a/modules/lib/moment_js/moment.min.js b/modules/lib/moment_js/moment.min.js deleted file mode 100644 index c1b132a..0000000 --- a/modules/lib/moment_js/moment.min.js +++ /dev/null @@ -1,6 +0,0 @@ -// moment.js -// version : 1.6.2 -// author : Tim Wood -// license : MIT -// momentjs.com -(function(a,b){function A(a,b){this._d=a,this._isUTC=!!b}function B(a){return a<0?Math.ceil(a):Math.floor(a)}function C(a){var b=this._data={},c=a.years||a.y||0,d=a.months||a.M||0,e=a.weeks||a.w||0,f=a.days||a.d||0,g=a.hours||a.h||0,h=a.minutes||a.m||0,i=a.seconds||a.s||0,j=a.milliseconds||a.ms||0;this._milliseconds=j+i*1e3+h*6e4+g*36e5,this._days=f+e*7,this._months=d+c*12,b.milliseconds=j%1e3,i+=B(j/1e3),b.seconds=i%60,h+=B(i/60),b.minutes=h%60,g+=B(h/60),b.hours=g%24,f+=B(g/24),f+=e*7,b.days=f%30,d+=B(f/30),b.months=d%12,c+=B(d/12),b.years=c}function D(a,b){var c=a+"";while(c.length11?"pm":"am";case"A":return p?p(i,j,!0):i>11?"PM":"AM";case"H":return i;case"HH":return D(i,2);case"h":return i%12||12;case"hh":return D(i%12||12,2);case"m":return j;case"mm":return D(j,2);case"s":return k;case"ss":return D(k,2);case"S":return~~(m/100);case"SS":return D(~~(m/10),2);case"SSS":return D(m,3);case"Z":return(n<0?"-":"+")+D(~~(Math.abs(n)/60),2)+":"+D(~~(Math.abs(n)%60),2);case"ZZ":return(n<0?"-":"+")+D(~~(10*Math.abs(n)/6),4);case"L":case"LL":case"LLL":case"LLLL":case"LT":return H(b,c.longDateFormat[d]);default:return d.replace(/(^\[)|(\\)|\]$/g,"")}}var e=b.month(),f=b.date(),g=b.year(),h=b.day(),i=b.hours(),j=b.minutes(),k=b.seconds(),m=b.milliseconds(),n=-b.zone(),o=c.ordinal,p=c.meridiem;return d.replace(l,q)}function I(a){switch(a){case"DDDD":return p;case"YYYY":return q;case"S":case"SS":case"SSS":case"DDD":return o;case"MMM":case"MMMM":case"ddd":case"dddd":case"a":case"A":return r;case"Z":case"ZZ":return s;case"T":return t;case"MM":case"DD":case"dd":case"YY":case"HH":case"hh":case"mm":case"ss":case"M":case"D":case"d":case"H":case"h":case"m":case"s":return n;default:return new RegExp(a.replace("\\",""))}}function J(a,b,d,e){var f;switch(a){case"M":case"MM":d[1]=b==null?0:~~b-1;break;case"MMM":case"MMMM":for(f=0;f<12;f++)if(c.monthsParse[f].test(b)){d[1]=f;break}break;case"D":case"DD":case"DDD":case"DDDD":d[2]=~~b;break;case"YY":b=~~b,d[0]=b+(b>70?1900:2e3);break;case"YYYY":d[0]=~~Math.abs(b);break;case"a":case"A":e.isPm=(b+"").toLowerCase()==="pm";break;case"H":case"HH":case"h":case"hh":d[3]=~~b;break;case"m":case"mm":d[4]=~~b;break;case"s":case"ss":d[5]=~~b;break;case"S":case"SS":case"SSS":d[6]=~~(("0."+b)*1e3);break;case"Z":case"ZZ":e.isUTC=!0,f=(b+"").match(x),f&&f[1]&&(e.tzh=~~f[1]),f&&f[2]&&(e.tzm=~~f[2]),f&&f[0]==="+"&&(e.tzh=-e.tzh,e.tzm=-e.tzm)}}function K(b,c){var d=[0,0,1,0,0,0,0],e={tzh:0,tzm:0},f=c.match(l),g,h;for(g=0;g0,O.apply({},i)}function Q(a,b){c.fn[a]=function(a){var c=this._isUTC?"UTC":"";return a!=null?(this._d["set"+c+b](a),this):this._d["get"+c+b]()}}function R(a){c.duration.fn[a]=function(){return this._data[a]}}function S(a,b){c.duration.fn["as"+a]=function(){return+this/b}}var c,d="1.6.2",e=Math.round,f,g={},h="en",i=typeof module!="undefined",j="months|monthsShort|monthsParse|weekdays|weekdaysShort|longDateFormat|calendar|relativeTime|ordinal|meridiem".split("|"),k=/^\/?Date\((\-?\d+)/i,l=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|dddd?|do?|w[o|w]?|YYYY|YY|a|A|hh?|HH?|mm?|ss?|SS?S?|zz?|ZZ?|LT|LL?L?L?)/g,m=/([0-9a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+)/gi,n=/\d\d?/,o=/\d{1,3}/,p=/\d{3}/,q=/\d{4}/,r=/[0-9a-z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+/i,s=/Z|[\+\-]\d\d:?\d\d/i,t=/T/i,u=/^\s*\d{4}-\d\d-\d\d(T(\d\d(:\d\d(:\d\d(\.\d\d?\d?)?)?)?)?([\+\-]\d\d:?\d\d)?)?/,v="YYYY-MM-DDTHH:mm:ssZ",w=[["HH:mm:ss.S",/T\d\d:\d\d:\d\d\.\d{1,3}/],["HH:mm:ss",/T\d\d:\d\d:\d\d/],["HH:mm",/T\d\d:\d\d/],["HH",/T\d\d/]],x=/([\+\-]|\d\d)/gi,y="Month|Date|Hours|Minutes|Seconds|Milliseconds".split("|"),z={Milliseconds:1,Seconds:1e3,Minutes:6e4,Hours:36e5,Days:864e5,Months:2592e6,Years:31536e6};c=function(d,e){if(d===null||d==="")return null;var f,g,h;return c.isMoment(d)?(f=new a(+d._d),h=d._isUTC):e?F(e)?f=M(d,e):f=K(d,e):(g=k.exec(d),f=d===b?new a:g?new a(+g[1]):d instanceof a?d:F(d)?G(d):typeof d=="string"?N(d):new a(d)),new A(f,h)},c.utc=function(b,d){return F(b)?new A(new a(a.UTC.apply({},b)),!0):d&&b?c(b+" +0000",d+" Z").utc():c(b&&!s.exec(b)?b+"+0000":b).utc()},c.unix=function(a){return c(a*1e3)},c.duration=function(a,b){var d=c.isDuration(a),e=typeof a=="number",f=d?a._data:e?{}:a;return e&&(b?f[b]=a:f.milliseconds=a),new C(f)},c.humanizeDuration=function(a,b,d){return c.duration(a,b===!0?null:b).humanize(b===!0?!0:d)},c.version=d,c.defaultFormat=v,c.lang=function(a,b){var d,e,f=[];if(!a)return h;if(b){for(d=0;d<12;d++)f[d]=new RegExp("^"+b.months[d]+"|^"+b.monthsShort[d].replace(".",""),"i");b.monthsParse=b.monthsParse||f,g[a]=b}if(g[a]){for(d=0;d - - Everyone is permitted to copy and distribute verbatim or modified - copies of this license document, and changing it is allowed as long - as the name is changed. - - DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. You just DO WHAT THE FUCK YOU WANT TO. diff --git a/modules/lib/multi-select/jquery.multi-select.jquery.json b/modules/lib/multi-select/jquery.multi-select.jquery.json deleted file mode 100644 index 0c8a8cf..0000000 --- a/modules/lib/multi-select/jquery.multi-select.jquery.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "name": "multi-select", - "title": " multiselect", - "description": "This is a tiny jQuery plugin which aims to be a drop-in replacement for the standard <select> with multiple attribute activated.", - "keywords": [ - "multiselect", - "select", - "multiple", - "form" - ], - "version": "0.9.5", - "author": { - "name": "lou", - "email" : "louiscuny@gmail.com", - "url": "https://github.com/lou" - }, - "maintainers": [ - { - "name": "Louis CUNY", - "email": "louiscuny@gmail.com", - "url": "https://github.com/lou" - } - ], - "licenses": [ - { - "type": "wtfpl", - "url": "http://sam.zoy.org/wtfpl/COPYING" - } - ], - "bugs": "https://github.com/lou/multi-select/issues", - "homepage": "http://loudev.com/", - "docs": "http://loudev.com/", - "download": "https://github.com/lou/multi-select/archive/master.zip", - "dependencies": { - "jquery": ">= 1.8" - } -} \ No newline at end of file diff --git a/modules/lib/plupload/changelog.txt b/modules/lib/plupload/changelog.txt deleted file mode 100644 index 5694721..0000000 --- a/modules/lib/plupload/changelog.txt +++ /dev/null @@ -1,218 +0,0 @@ -Version 1.5.4 (2012-04-12) - Flash: Disable scripting if swf was loaded from another domain. -Version 1.5.3 (2012-04-05) - HTML5: Check if xhr object is initialized, before calling abort() on it. - HTML4: Postpone form removal until uploaders state changes, to avoid error on resuming stopped uploads. - BrowserPlus: Fix mechanical typo, that caused error during mime type check. - BrowserPlus: browserPlus.Uploader.Cancel() has two required parameters, dies with the error if not passed. - Flash: Improve runtime's behaviour during upload cancellation. - Flash: Survive the case when GPSVersionID contains unexpected value. - Flash: Fix random freeze in Chrome's bundled Flash Player. - Flash: Avoid the silent break when URLStream not yet open, but close is called on it. - Flash: Move Destroy handler out of Flash:Init handler, since it might be called not only after Flash:Init but also before it. - Flash: Avoid warning during build with mxmlc. - Try removeEventListener first in IE and only if it fails - detachEvent. - Fix plupload.getPos to return proper value in IE8+. - Do not initiate plupload.STARTED state, if file queue is empty. - Additional language packs: Estonian, Polish, Korean, French-Canadian, Greek, Persian/Farsi. -Version 1.5.2 (2012-01-06) - UI Widget: Do not show UI if no runtime can be initialized. - UI Widget: Timely update file size and total size if resize in action. - UI Widget: Constrain renaming feature to queued files only. - UI Widget: Disable Add button properly, if requested, rather then just hide. - HTML4/HTML5/BrowserPlus: Avoid adding mime type twice to dialog trigger. - HTML5: fix regression, when unresized images were failing on FF3.6. - HTML5: Constrain Gecko 2,5,6 workaround to multipart mode only. - HTML5/Flash: Take into account weird possibilities of ExifVersion being a string, rather then standard Undefined. - Flash: Simplify event dispatching in BitmapDataUnlimited class, in order to avoid freezing on resizing in FP11. - Add ability to disable file dialog trigger on request (uploader.disableBrowse(true/false)). - Support for immediate abort of upload process, be it chunked upload or regular one. - Abort all activity, before destroying uploader. - Revive temporary file removal logic in upload.php. - Fix potential vulnerability in dump.php and upload.php. - Additional MIME types: application/vnd.openxmlformats-officedocument.*, application/x-javascript, application/json, text/css,css, application/vnd.oasis.opendocument.formula-templat. - Additional language packs: Hungarian, Croatian, Serbian, Romanian. -Version 1.5.1.1 (2011-09-27) - HTML5: Fix mechanical typo, that successfully broke drag and drop, wherever could. -Version 1.5.1 (2011-09-26) - HTML4: Add support for server responses in HTML format. - HTML5: Disable multiple file selection in Safari 5.x for Windows (see #363). - HTML5: Gecko 2/5/6 should upload chunks as binary strings when in chunking mode and client side resize is requested. - Flash: Enforce URLStream mode when custom headers are passed. - Flash: Fix embedding problems in IE9 (and all other IEs). - Flash/Gears/BrowserPlus/SilverLight: Expose multi_selection feature, to be used in required_features (mainly to overcome Safari for Windows problem). - SilverLight: Properly handle custom and null headers. - UploadComplete moved to fire after the last StateChanged event. - Additional language packs: Finnish. -Version 1.5b (2011-09-11) - UI Widget: Fix sortable logic. - UI Widget: Fix bug, when message was displayed simultaneously across all Plupload UI instances on the page. - UI Widget: notify() method is now public - users can throw their own messages into the widget header. - HTML4/HTML5: Revise input[type=file] placement logic to support cursor styling on Geko 2+. - HTML5: Revise Drag'n'Drop detection logic. - HTML5: Make Exif and GPS information available to user, introduce two new events: ExifData and GpsData. - HTML5: Add support for File.prototype.slice() method (mozSlice/webkitSlice) in order to be able to upload files in chunks without preloading. - HTML5: Remove any JPEG headers before restoring them, 'cause user agent (like Chrome), might be inserting it's own. - Flash: Remove a limit on the depth of image header check, since it still fails in some cases and performance gain is negligible. - Flash: Fix regression, when runtime hanged when not images where passed in as images. - SilverLight: Fix bug, when JSON serializer was failing on null. - SilverLight: Remove cast to integer for chunk boundary, which resulted in a wrong size for last chunks on huge files. - SilverLight: Increase read buffer, add disposal of ImageStream and FileStream, optimize for performance. - Updated build.xml to include language packs in release package under js/ folder. - Gears/BrowserPlus: Add support for * file filter. - BeforeUpload now can cancel upload if required. - Additional MIME types: text/csv, image/photoshop, video/x-ms-wmv, video/avi, video/webm support - Additional language packs: Japanese - Cleaned examples. -Version 1.4.3.2 (2011-04-13) - Fixed bug in HTML5 runtime, when was reduced by a factor of 100 after every upload. -Version 1.4.3.1 (2011-04-12) - Fixed build script, mistakenly populating jquery.plupload.queue directory from jquery.ui.plupload sources. - Fixed script urls in all examples, build script now will alter them automatically from dev to release when needed. - Fixed isEmptyObj undefined error in HTML4 runtime. - Fixed bug in UI Widget preventing UploadComplete from triggering. -Version 1.4.3 (2011-04-11) - Added Latvian language pack and updated French. - Fixed bug in Flash runtime when JPEG header was not investigated deep enough to reach SOFn marker in large images. - Fixed bug, when PNGs were cropped to width in Flash runtimes, rather then resized. - Fixed Flash to allow multiple uploading of the same file, with different settings. - Fixed Flash runtime to clean anonymous listeners properly. - Fixed HTML5 runtime to resolve to mimeType in case-insensitive way. - Fixed HTML5/Flash/SilverLight/Gears runtimes for inconsistency in naming of chunks feature, comparing to other runtimes. - Fixed HTML4/HTML5 runtimes for input[type=file] to outsize contaner effectively enough to fill the whole click area. - Fixed all runtimes to preserve position (relative/absolute) rule on containers that already have it. - Fixed SilverLight runtime to support large files (over 2GB). - Restructured the examples, src and build scripts to make it more clear that jQuery is optional. - Added support for *.* filter. - Added support for preserving ICC and IPTC headers when resizing JPEGs. - Added Image.onerror/onabort handlers to HTML5 in order to gracefully bypass faulty images. - Added ability to drop image size (by lowering quality), while preserving original dimension (HTML5/Flash/Gears). - Ported EXIF, ICC, IPTC preservation code to Flash runtime. -Version 1.4.2 (2011-02-20) - Added Brazilian Portuguese, German, Russian and Spanish translations. - Added support for file_data_name option to SilverLight runtime. - Added support for better quality image resizing to Flash runtime. - Added support for properly handling images with dimensions up to 8191x8191 pixels to Flash runtime. - Added 'updatelist' event to UI Widget, which will be triggered every time file list will get redrawn. - Added support for dynamically changing options to UI Widget. - Fixed HTML4 runtime bug, when UploadFile handler was attached twice. - Fixed HTML5 to use FileReader.readAsBinaryString() instead of File.getAsBinary() on newer WebKit browsers (like Chrome 9). - Fixed Flash runtime from sending duplicate Filename param, when using FileReference.upload(). - Updated S3 example to illustrate support for a proper progress indication. -Version 1.4.1 (2011-02-01) - Added an example on how to use Plupload with Amazon S3 written in PHP but can easily be ported to other languages. - Fixed bug where hidden input elements wasn't created when the multiple_queues option wasn't used. - Fixed bug where FF4 would produce an exception about missing BlobBuilder. -Version 1.4.0 (2011-01-26) - Added removeEvent and removeAllEvents methods and modified addEvent accordingly, in order to support dynamic unload. - Added unbindAll method. - Added UploadComplete event, which fires when internal iterator reaches the end of the queue. - Added public destroy method to plupload object, new event - Destroy, and corresponding handlers to all runtimes. - Added Czech, Italian, French, Dutch translations. - Added support for translatable error messages. - Added two new options: browse_button_hover and browse_button_active, in order to support browse_button interactivity. - Added support for 'multi_selection: false' to Silverlight runtime. - Added support for video/mp4, video/x-m4v and audio/mp4 MIME Types. - Added artificial sendAsBinary method to XMLHttpRequest.prototype for browsers that have support for BlobBuilder and typed arrays. - Added version tracking variable into plupload object and version comment to the header of every file. - Fixed measurements of browse_button element in order to size and position input[type=file] element to fit it fully. - Fixed Flash runtime behavior for multiple_select=false and other simpleUpload usage cases: basically new FileReference has to be created for every select dialog. - Fixed browser sniffer to match only Safari, for fakeSafariDragDrop (seems like Safari on Mac doesn't require it either). - Fixed so that ExternalInterface escapes strings properly, before passing them to JS. - Fixed eventual reinitialization of flash/silverlight runtimes, especially for cases when object wrapper needed to be programmatically hidden and then shown again. - Fixed so that Plupload will now ignore files with duplicate names when adding to the queue, in one set. Mainly introduced to work around Safari on Windows bug (https://bugs.webkit.org/show_bug.cgi?id=37957). - Fixed bug, when final UploadProgress was firing after FileUploaded for Flash simpleUpload. - Fixed bug where upload would fail if an error was produced inside the FilesAdded event. - Fixed bug in Flash runtime when it used a wrong size when resizing, but not chunking. - Fixed bug in Silverlight runtime that would keep sending 0 byte packages when a picture was chunked before resized. - Disabled blur filter (is going to be replaced with some bilinear resampling in next release). - Completely revised UI Widget, to be more jQuery UI oriented. Optionally depends on UI Button, UI Sortable, UI ProgressBar. -Version 1.3.0 (2010-11-24) - Added new jQuery UI widget that supports jQuery UI themes. - Added new multiple_queues option that enables you to upload multiple times in the queue widgets. - Added support for crossdomain loading of the XAP and SWF files and crossdomain upload. - Added new multiple_queues option that enables you to upload multiple times in the queue widgets. - Added support for crossdomain loading of the XAP and SWF files and crossdomain upload. - Added preinit/init options to to ease up the binding of custom events to queueWidget and the Uploader class. - Added drag/drop support for Safari until they fix the broken drag/drop support on Windows. - Added events example file that show how to bind all events and display event specific data. - Added support for retaining Exif data on images when they where resized using the HTML5 runtime. - Fixed logic issue with the upload.php example file. Chunking wasn't working correctly. - Fixed issue with HTML4 not handling the form encoding correctly on older IE versions. Patch contributed by jinxdone. - Fixed so the HTML4 runtime only submits the defined multipart_params arguments. - Fixes issue where it wasn't possible to dynamically override url or mutlipart_params for the HTML4 runtime. - Fixed so all runtimes pass the name, chunk and chunks parameters as multipart parameters instead of querystring parameters. - Fixed so files are read using the newer FileReader class if it's available if not it tries the older getAsXXX on Gecko. - Fixed bug where IE 9 beta 1 wouldn't render Silverlight properly. - Fixed bug where Flash would do extra empty requests if images below a specific size would be uploaded. - Fixed bug where Google Gears would resize and re-encode images even if the it wasn't changed in scale. - Fixed bug where the HTML5 runtime wouldn't free memory after each request on Gecko. -Version 1.2.4 (2010-09-08) - Added new BeforeUpload event to make it easier to override settings before a file is uploaded. - Added new automatic usage of FileReference in Flash if it's possible. Contributed by Marcel Jackwerth. - Added new chunking support for Chrome 5 and Firefox 3.6 using the HTML 5 runtime. - Added new multipart upload support for WebKit using the HTML 5 runtime and the FormData object. - Added new image scaling method for the Flash runtime contributed by rcoopman. - Added new alert error message if the user selected invalid files. - Added new automatic unique name generation to the example.php script. Contributed by Brandon Kelly. - Changed so the default upload method is multipart and the default chunk size is 0. - Fixed progress issue with the HTML5 runtime running on Gecko. - Fixed so longer extensions can be used such as .tar.gz. - Fixed so the file extension is retained when using the unique_names option. -Version 1.2.3 (2010-05-27) - Added new drag/drop support for HTML5 running on Chrome beta. - Added new multipart state for the features object. It's now possible to detect multipart support. - Added new getFeatures function to all runtime. Basic concept by Javier Martinez Fernandez. - Fixed bug where runtimes where initialized even if they didn't match the required_features setting. -Version 1.2.2.1 (2010-05-04) - Added new headers option, enables you to set custom headers for the upload requests. - Fixed bug where the file extension checking was case sensitive. -Version 1.2.2 (2010-04-26) - Added new file_data_name option that enables you to set the multipart file data param. Patch contributed by Alex Ganov. - Added new FILE_SIZE_ERROR type that will be triggered if the user selected a file that is to large or zero bytes. - Added new FILE_EXTENSION_ERROR type that will be triggered if you add a file with an invalid file extension. - Added new required_features setting, enables you to specify a list of required features that the runtime must have. - Fixed so the plupload.buildUrl function uses the UTF compatible encodeURIComponent method instead of escape. - Fixed so that all file types can be selected if you don't specify a filter setting. - Fixed so more valid HTTP status codes are accepted as valid responses. - Fixed so all runtimes fills the features object with available features. - Fixed some issues with the HTML4 runtime if there wasn't any existing forms on the page. - Fixed some conflict issues with HTML4 runtime and forms with the input names of action or target. - Fixed bug where some Gecko versions would produce exceptions when checking the HTTP status of a XHR. -Version 1.2.1 (2010-03-22) - Fixed bug with incorrect aspect ratio in Flash image scaling. - Fixed bug where chunked uploads could get scrambled in the Flash runtime. Patch contributed by Grady Werner. - Fixed bug where a beta version of Chrome wouldn't handle drag/drop correctly because of missing drag effect. - Fixed so the HTML 4 runtime displays N/A for file sizes and the progress is based on uploaded files instead of bytes. - Fixed so chunking can be disabled properly in Flash but that will affect the progress bar. - Fixed so queue widget displays the drag/drop message if file queue is emptied. - Fixed small files are uploaded as one single chunk and not forced into 4 chunks in the Flash runtime. -Version 1.2 (2010-03-09) - Added new rename file support for jQuery queue widget, click on a file name to rename it if it's enabled. - Added official ChunkUploaded event, it similar to FileUploaded but executed for each chunk. - Added bytes per second support to total queue progress. - Added better error handling to core API using the new Error event. - Added better error handling to jQuery queue widget. - Fixed so chunking uploads is dispatch from JS not from inside Flash/Silverlight. -Version 1.1.1 (2010-02-25) - Added new setup setting to queue widget. Makes it easier to bind custom events to uploader instance. - Fixed so it's possible to disable chunking compleatly. It's now disabled by default. - Fixed bug where multipart mode was enabled all the time in the Flash runtime. - Fixed bug where chunked uploading in Silverlight would fail. - Fixed bug where the delete button was visible while uploading. - Fixed bug where unique_names setting wasn't working when the core API was used. - Fixed bug where the queue widget wouldn't display the currently uploaded file if the unique_names was enabled. -Version 1.1 (2010-02-24) - Added new multipart and multipart_params support. - Added new container option, enables you to specify where flash/silverlight objects would be added. - Added chunking support to BrowserPlus runtime, contributed by Steve Spencer. - Added FileUploaded event that fires when a file is uploaded. - Added more easily understandable buttons to queue widget. - Added html4 runtime, contributed by Ryan Demmer. - Fixed issues with i18n support and added a Swedish and Danish language pack. - Fixed bug where the Flash runtime could do empty requests if the image was scaled down. - Fixed bug where uploading small images in Silverlight would produce an exception. - Fixed so the runtime list can include whitespace or missing runtimes. Patch contributed by Øyvind Sean Kinsey. - Fixed so to large files are ignored and never dispatched to the FilesAdded event. -Version 1.0 (2010-02-03) - First official release of Plupload. diff --git a/modules/lib/plupload/license.txt b/modules/lib/plupload/license.txt deleted file mode 100644 index d511905..0000000 --- a/modules/lib/plupload/license.txt +++ /dev/null @@ -1,339 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Lesser General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program 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 General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. diff --git a/modules/lib/plupload/readme.md b/modules/lib/plupload/readme.md deleted file mode 100644 index 85f8111..0000000 --- a/modules/lib/plupload/readme.md +++ /dev/null @@ -1,46 +0,0 @@ -Plupload - Cross browser and platform uploader API -=================================================== - -What is Plupload ------------------ -Plupload is a JavaScript API for dealing with file uploads it supports features like multiple file selection, file type filtering, -request chunking, client side image scaling and it uses different runtimes to achieve this such as HTML 5, Silverlight, Flash, Gears and BrowserPlus. - -What you need to build Plupload -------------------------------- -* Install the Java JDK or JRE packages you can find it at: [http://java.sun.com/javase/downloads/index.jsp](http://java.sun.com/javase/downloads/index.jsp) -* Install Apache Ant you can find it at: [http://ant.apache.org/](http://ant.apache.org/) -* Add Apache Ant to your systems path environment variable, this is not required but makes it easier to issue commands to Ant without having to type the full path for it. - -How to build Plupload ----------------------- - -In the root directory of Plupload where the build.xml file is you can run ant against different targets. - -`ant` - -Will combine, preprocess and minify the Plupload classes into the js directory. It will not build the Silverlight and Flash .xap and .swf files. - -`ant moxiedoc` - -Will generate API Documentation for the project using the Moxiedoc tool. The docs will be generated to the docs/api directory. - -`ant release` - -Will produce release packages. The release packages will be placed in the tmp directory. - -How to build Flash runtime ---------------------------- -The Flash runtime uses a .swf file that can be built using the Flex SDK. This SDK can be downloaded from Adobe. [http://www.adobe.com/products/flex/flexdownloads/](http://www.adobe.com/products/flex/flexdownloads/) - -How to build Silverlight runtime ---------------------------------- -The Silverlight runtime uses a .xap file that can be built using the Silverlight SDK or Visual Studio. [http://silverlight.net/getstarted/](http://silverlight.net/getstarted/) - -Running the development version --------------------------------- -The unminified development version of the javascript files can be executed by opening the examples/queue_widget_dev.html file running on a Web Server. - -Contributing to the Plupload project -------------------------------------- -You can read more about how to contribute to this project at [http://www.plupload.com/contributing](http://www.plupload.com/contributing) diff --git a/modules/lib/qtip2/jquery.qtip.css b/modules/lib/qtip2/jquery.qtip.css deleted file mode 100644 index f3c31fc..0000000 --- a/modules/lib/qtip2/jquery.qtip.css +++ /dev/null @@ -1,608 +0,0 @@ -/*! qTip2 - Pretty powerful tooltips - v2.0.0 - 2012-10-25 -* http://craigsworks.com/projects/qtip2/ -* Copyright (c) 2012 Craig Michael Thompson; Licensed MIT, GPL */ - -/* Fluid class for determining actual width in IE */ -#qtip-rcontainer{ - position: absolute; - left: -28000px; - top: -28000px; - display: block; - visibility: hidden; -} - - /* Fluid class for determining actual width in IE */ - #qtip-rcontainer .ui-tooltip{ - display: block !important; - visibility: hidden !important; - position: static !important; - float: left !important; - } - -/* Core qTip styles */ -.ui-tooltip, .qtip{ - position: absolute; - left: -28000px; - top: -28000px; - display: none; - - max-width: 280px; - min-width: 50px; - - font-size: 10.5px; - line-height: 12px; -} - - .ui-tooltip-content{ - position: relative; - padding: 5px 9px; - overflow: hidden; - - text-align: left; - word-wrap: break-word; - } - - .ui-tooltip-titlebar{ - position: relative; - min-height: 14px; - padding: 5px 35px 5px 10px; - overflow: hidden; - - border-width: 0 0 1px; - font-weight: bold; - } - - .ui-tooltip-titlebar + .ui-tooltip-content{ border-top-width: 0 !important; } - - /* Default close button class */ - .ui-tooltip-titlebar .ui-state-default{ - position: absolute; - right: 4px; - top: 50%; - margin-top: -9px; - - cursor: pointer; - outline: medium none; - - border-width: 1px; - border-style: solid; - } - - * html .ui-tooltip-titlebar .ui-state-default{ top: 16px; } /* IE fix */ - - .ui-tooltip-titlebar .ui-icon, - .ui-tooltip-icon .ui-icon{ - display: block; - text-indent: -1000em; - direction: ltr; - } - - .ui-tooltip-icon, .ui-tooltip-icon .ui-icon{ - -moz-border-radius: 3px; - -webkit-border-radius: 3px; - border-radius: 3px; - text-decoration: none; - } - - .ui-tooltip-icon .ui-icon{ - width: 18px; - height: 14px; - - text-align: center; - text-indent: 0; - font: normal bold 10px/13px Tahoma,sans-serif; - - color: inherit; - background: transparent none no-repeat -100em -100em; - } - - -/* Applied to 'focused' tooltips e.g. most recently displayed/interacted with */ -.ui-tooltip-focus{} - -/* Applied on hover of tooltips i.e. added/removed on mouseenter/mouseleave respectively */ -.ui-tooltip-hover{} - -/* Default tooltip style */ -.ui-tooltip-default{ - border-width: 1px; - border-style: solid; - border-color: #F1D031; - - background-color: #FFFFA3; - color: #555; -} - - .ui-tooltip-default .ui-tooltip-titlebar{ - background-color: #FFEF93; - } - - .ui-tooltip-default .ui-tooltip-icon{ - border-color: #CCC; - background: #F1F1F1; - color: #777; - } - - .ui-tooltip-default .ui-tooltip-titlebar .ui-state-hover{ - border-color: #AAA; - color: #111; - } - - -/*! Light tooltip style */ -.ui-tooltip-light{ - background-color: white; - border-color: #E2E2E2; - color: #454545; -} - - .ui-tooltip-light .ui-tooltip-titlebar{ - background-color: #f1f1f1; - } - - -/*! Dark tooltip style */ -.ui-tooltip-dark{ - background-color: #505050; - border-color: #303030; - color: #f3f3f3; -} - - .ui-tooltip-dark .ui-tooltip-titlebar{ - background-color: #404040; - } - - .ui-tooltip-dark .ui-tooltip-icon{ - border-color: #444; - } - - .ui-tooltip-dark .ui-tooltip-titlebar .ui-state-hover{ - border-color: #303030; - } - - -/*! Cream tooltip style */ -.ui-tooltip-cream{ - background-color: #FBF7AA; - border-color: #F9E98E; - color: #A27D35; -} - - .ui-tooltip-cream .ui-tooltip-titlebar{ - background-color: #F0DE7D; - } - - .ui-tooltip-cream .ui-state-default .ui-tooltip-icon{ - background-position: -82px 0; - } - - -/*! Red tooltip style */ -.ui-tooltip-red{ - background-color: #F78B83; - border-color: #D95252; - color: #912323; -} - - .ui-tooltip-red .ui-tooltip-titlebar{ - background-color: #F06D65; - } - - .ui-tooltip-red .ui-state-default .ui-tooltip-icon{ - background-position: -102px 0; - } - - .ui-tooltip-red .ui-tooltip-icon{ - border-color: #D95252; - } - - .ui-tooltip-red .ui-tooltip-titlebar .ui-state-hover{ - border-color: #D95252; - } - - -/*! Green tooltip style */ -.ui-tooltip-green{ - background-color: #CAED9E; - border-color: #90D93F; - color: #3F6219; -} - - .ui-tooltip-green .ui-tooltip-titlebar{ - background-color: #B0DE78; - } - - .ui-tooltip-green .ui-state-default .ui-tooltip-icon{ - background-position: -42px 0; - } - - -/*! Blue tooltip style */ -.ui-tooltip-blue{ - background-color: #E5F6FE; - border-color: #ADD9ED; - color: #5E99BD; -} - - .ui-tooltip-blue .ui-tooltip-titlebar{ - background-color: #D0E9F5; - } - - .ui-tooltip-blue .ui-state-default .ui-tooltip-icon{ - background-position: -2px 0; - } - - -/* Add shadows to your tooltips in: FF3+, Chrome 2+, Opera 10.6+, IE9+, Safari 2+ */ -.ui-tooltip-shadow{ - -webkit-box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15); - -moz-box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15); - box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15); -} - -/* Add rounded corners to your tooltips in: FF3+, Chrome 2+, Opera 10.6+, IE9+, Safari 2+ */ -.ui-tooltip-rounded, -.ui-tooltip-tipsy, -.ui-tooltip-bootstrap{ - -moz-border-radius: 5px; - -webkit-border-radius: 5px; - border-radius: 5px; -} - -/* Youtube tooltip style */ -.ui-tooltip-youtube{ - -moz-border-radius: 2px; - -webkit-border-radius: 2px; - border-radius: 2px; - - -webkit-box-shadow: 0 0 3px #333; - -moz-box-shadow: 0 0 3px #333; - box-shadow: 0 0 3px #333; - - color: white; - border-width: 0; - - background: #4A4A4A; - background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0,#4A4A4A),color-stop(100%,black)); - background-image: -webkit-linear-gradient(top,#4A4A4A 0,black 100%); - background-image: -moz-linear-gradient(top,#4A4A4A 0,black 100%); - background-image: -ms-linear-gradient(top,#4A4A4A 0,black 100%); - background-image: -o-linear-gradient(top,#4A4A4A 0,black 100%); -} - - .ui-tooltip-youtube .ui-tooltip-titlebar{ - background-color: #4A4A4A; - background-color: rgba(0,0,0,0); - } - - .ui-tooltip-youtube .ui-tooltip-content{ - padding: .75em; - font: 12px arial,sans-serif; - - filter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#4a4a4a,EndColorStr=#000000); - -ms-filter: "progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#4a4a4a,EndColorStr=#000000);"; - } - - .ui-tooltip-youtube .ui-tooltip-icon{ - border-color: #222; - } - - .ui-tooltip-youtube .ui-tooltip-titlebar .ui-state-hover{ - border-color: #303030; - } - - -/* jQuery TOOLS Tooltip style */ -.ui-tooltip-jtools{ - background: #232323; - background: rgba(0, 0, 0, 0.7); - background-image: -webkit-gradient(linear, left top, left bottom, from(#717171), to(#232323)); - background-image: -moz-linear-gradient(top, #717171, #232323); - background-image: -webkit-linear-gradient(top, #717171, #232323); - background-image: -ms-linear-gradient(top, #717171, #232323); - background-image: -o-linear-gradient(top, #717171, #232323); - - border: 2px solid #ddd; - border: 2px solid rgba(241,241,241,1); - - -moz-border-radius: 2px; - -webkit-border-radius: 2px; - border-radius: 2px; - - -webkit-box-shadow: 0 0 12px #333; - -moz-box-shadow: 0 0 12px #333; - box-shadow: 0 0 12px #333; -} - - /* IE Specific */ - .ui-tooltip-jtools .ui-tooltip-titlebar{ - background-color: transparent; - filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171,endColorstr=#4A4A4A); - -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171,endColorstr=#4A4A4A)"; - } - .ui-tooltip-jtools .ui-tooltip-content{ - filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A,endColorstr=#232323); - -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A,endColorstr=#232323)"; - } - - .ui-tooltip-jtools .ui-tooltip-titlebar, - .ui-tooltip-jtools .ui-tooltip-content{ - background: transparent; - color: white; - border: 0 dashed transparent; - } - - .ui-tooltip-jtools .ui-tooltip-icon{ - border-color: #555; - } - - .ui-tooltip-jtools .ui-tooltip-titlebar .ui-state-hover{ - border-color: #333; - } - - -/* Cluetip style */ -.ui-tooltip-cluetip{ - -webkit-box-shadow: 4px 4px 5px rgba(0, 0, 0, 0.4); - -moz-box-shadow: 4px 4px 5px rgba(0, 0, 0, 0.4); - box-shadow: 4px 4px 5px rgba(0, 0, 0, 0.4); - - background-color: #D9D9C2; - color: #111; - border: 0 dashed transparent; -} - - .ui-tooltip-cluetip .ui-tooltip-titlebar{ - background-color: #87876A; - color: white; - border: 0 dashed transparent; - } - - .ui-tooltip-cluetip .ui-tooltip-icon{ - border-color: #808064; - } - - .ui-tooltip-cluetip .ui-tooltip-titlebar .ui-state-hover{ - border-color: #696952; - color: #696952; - } - - -/* Tipsy style */ -.ui-tooltip-tipsy{ - background: black; - background: rgba(0, 0, 0, .87); - - color: white; - border: 0 solid transparent; - - font-size: 11px; - font-family: 'Lucida Grande', sans-serif; - font-weight: bold; - line-height: 16px; - text-shadow: 0 1px black; -} - - .ui-tooltip-tipsy .ui-tooltip-titlebar{ - padding: 6px 35px 0 10; - background-color: transparent; - } - - .ui-tooltip-tipsy .ui-tooltip-content{ - padding: 6px 10; - } - - .ui-tooltip-tipsy .ui-tooltip-icon{ - border-color: #222; - text-shadow: none; - } - - .ui-tooltip-tipsy .ui-tooltip-titlebar .ui-state-hover{ - border-color: #303030; - } - - -/* Tipped style */ -.ui-tooltip-tipped{ - border: 3px solid #959FA9; - - -moz-border-radius: 3px; - -webkit-border-radius: 3px; - border-radius: 3px; - - background-color: #F9F9F9; - color: #454545; - - font-weight: normal; - font-family: serif; -} - - .ui-tooltip-tipped .ui-tooltip-titlebar{ - border-bottom-width: 0; - - color: white; - background: #3A79B8; - background-image: -webkit-gradient(linear, left top, left bottom, from(#3A79B8), to(#2E629D)); - background-image: -webkit-linear-gradient(top, #3A79B8, #2E629D); - background-image: -moz-linear-gradient(top, #3A79B8, #2E629D); - background-image: -ms-linear-gradient(top, #3A79B8, #2E629D); - background-image: -o-linear-gradient(top, #3A79B8, #2E629D); - filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8,endColorstr=#2E629D); - -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8,endColorstr=#2E629D)"; - } - - .ui-tooltip-tipped .ui-tooltip-icon{ - border: 2px solid #285589; - background: #285589; - } - - .ui-tooltip-tipped .ui-tooltip-icon .ui-icon{ - background-color: #FBFBFB; - color: #555; - } - - -/** - * Twitter Bootstrap style. - * - * Tested with IE 8, IE 9, Chrome 18, Firefox 9, Opera 11. - * Does not work with IE 7. - */ -.ui-tooltip-bootstrap{ - /** Taken from Bootstrap body */ - font-size: 14px; - line-height: 20px; - color: #333333; - - /** Taken from Bootstrap .popover */ - padding: 1px; - background-color: #ffffff; - border: 1px solid #ccc; - border: 1px solid rgba(0, 0, 0, 0.2); - -webkit-border-radius: 6px; - -moz-border-radius: 6px; - border-radius: 6px; - -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); - box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); - -webkit-background-clip: padding-box; - -moz-background-clip: padding; - background-clip: padding-box; -} - - .ui-tooltip-bootstrap .ui-tooltip-titlebar{ - /** Taken from Bootstrap .popover-title */ - padding: 8px 14px; - margin: 0; - font-size: 14px; - font-weight: normal; - line-height: 18px; - background-color: #f7f7f7; - border-bottom: 1px solid #ebebeb; - -webkit-border-radius: 5px 5px 0 0; - -moz-border-radius: 5px 5px 0 0; - border-radius: 5px 5px 0 0; - } - - .ui-tooltip-bootstrap .ui-tooltip-titlebar .ui-state-default{ - /** - * Overrides qTip2: - * .ui-tooltip-titlebar .ui-state-default{ - * [...] - * right: 4px; - * top: 50%; - * [...] - * border-style: solid; - * } - */ - right: 11px; - top: 45%; - border-style: none; - } - - .ui-tooltip-bootstrap .ui-tooltip-content{ - /** Taken from Bootstrap .popover-content */ - padding: 9px 14px; - } - - .ui-tooltip-bootstrap .ui-tooltip-icon{ - /** - * Overrides qTip2: - * .ui-tooltip-default .ui-tooltip-icon { - * border-color: #CCC; - * background: #F1F1F1; - * color: #777; - * } - */ - background: transparent; - } - - .ui-tooltip-bootstrap .ui-tooltip-icon .ui-icon{ - /** - * Overrides qTip2: - * .ui-tooltip-icon .ui-icon{ - * width: 18px; - * height: 14px; - * } - */ - width: auto; - height: auto; - - /* Taken from Bootstrap .close */ - float: right; - font-size: 20px; - font-weight: bold; - line-height: 18px; - color: #000000; - text-shadow: 0 1px 0 #ffffff; - opacity: 0.2; - filter: alpha(opacity=20); - } - - .ui-tooltip-bootstrap .ui-tooltip-icon .ui-icon:hover{ - /* Taken from Bootstrap .close:hover */ - color: #000000; - text-decoration: none; - cursor: pointer; - opacity: 0.4; - filter: alpha(opacity=40); - } - - -/* IE9 fix - removes all filters */ -.ui-tooltip:not(.ie9haxors) div.ui-tooltip-content, -.ui-tooltip:not(.ie9haxors) div.ui-tooltip-titlebar{ - filter: none; - -ms-filter: none; -} - - -/* Tips plugin */ -.ui-tooltip .ui-tooltip-tip{ - margin: 0 auto; - overflow: hidden; - z-index: 10; -} - - .ui-tooltip .ui-tooltip-tip, - .ui-tooltip .ui-tooltip-tip .qtip-vml{ - position: absolute; - - line-height: 0.1px !important; - font-size: 0.1px !important; - color: #123456; - - background: transparent; - border: 0 dashed transparent; - } - - .ui-tooltip .ui-tooltip-tip canvas{ top: 0; left: 0; } - - .ui-tooltip .ui-tooltip-tip .qtip-vml{ - behavior: url(#default#VML); - display: inline-block; - visibility: visible; - } -/* Modal plugin */ -#qtip-overlay{ - position: fixed; - left: -10000em; - top: -10000em; -} - - /* Applied to modals with show.modal.blur set to true */ - #qtip-overlay.blurs{ cursor: pointer; } - - /* Change opacity of overlay here */ - #qtip-overlay div{ - position: absolute; - left: 0; top: 0; - width: 100%; height: 100%; - - background-color: black; - - opacity: 0.7; - filter:alpha(opacity=70); - -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; - } - diff --git a/modules/lib/qtip2/jquery.qtip.js b/modules/lib/qtip2/jquery.qtip.js deleted file mode 100644 index 1190349..0000000 --- a/modules/lib/qtip2/jquery.qtip.js +++ /dev/null @@ -1,3365 +0,0 @@ -/*! qTip2 - Pretty powerful tooltips - v2.0.0 - 2012-10-25 -* http://craigsworks.com/projects/qtip2/ -* Copyright (c) 2012 Craig Michael Thompson; Licensed MIT, GPL */ - -/*jslint browser: true, onevar: true, undef: true, nomen: true, bitwise: true, regexp: true, newcap: true, immed: true, strict: true */ -/*global window: false, jQuery: false, console: false, define: false */ - -/* Cache window, document, undefined */ -(function( window, document, undefined ) { - -// Uses AMD or browser globals to create a jQuery plugin. -(function( factory ) { - "use strict"; - if(typeof define === 'function' && define.amd) { - define(['jquery'], factory); - } - else if(jQuery && !jQuery.fn.qtip) { - factory(jQuery); - } -} -(function($) { - /* This currently causes issues with Safari 6, so for it's disabled */ - //"use strict"; // (Dis)able ECMAScript "strict" operation for this function. See more: http://ejohn.org/blog/ecmascript-5-strict-mode-json-and-more/ - - // Munge the primitives - Paul Irish tip - var TRUE = true, - FALSE = false, - NULL = null, - - // Side names and other stuff - X = 'x', Y = 'y', - WIDTH = 'width', - HEIGHT = 'height', - TOP = 'top', - LEFT = 'left', - BOTTOM = 'bottom', - RIGHT = 'right', - CENTER = 'center', - FLIP = 'flip', - FLIPINVERT = 'flipinvert', - SHIFT = 'shift', - - // Shortcut vars - QTIP, PLUGINS, MOUSE, - usedIDs = {}, - uitooltip = 'ui-tooltip', - widget = 'ui-widget', - disabled = 'ui-state-disabled', - selector = 'div.qtip.'+uitooltip, - defaultClass = uitooltip + '-default', - focusClass = uitooltip + '-focus', - hoverClass = uitooltip + '-hover', - replaceSuffix = '_replacedByqTip', - oldtitle = 'oldtitle', - trackingBound, - redrawContainer; - - /* - * redraw() container for width/height calculations - */ - redrawContainer = $('
              ', { id: 'qtip-rcontainer' }); - $(function() { redrawContainer.appendTo(document.body); }); - - - -// Option object sanitizer -function sanitizeOptions(opts) -{ - var invalid = function(a) { return a === NULL || 'object' !== typeof a; }, - invalidContent = function(c) { return !$.isFunction(c) && ((!c && !c.attr) || c.length < 1 || ('object' === typeof c && !c.jquery)); }; - - if(!opts || 'object' !== typeof opts) { return FALSE; } - - if(invalid(opts.metadata)) { - opts.metadata = { type: opts.metadata }; - } - - if('content' in opts) { - if(invalid(opts.content) || opts.content.jquery) { - opts.content = { text: opts.content }; - } - - if(invalidContent(opts.content.text || FALSE)) { - opts.content.text = FALSE; - } - - if('title' in opts.content) { - if(invalid(opts.content.title)) { - opts.content.title = { text: opts.content.title }; - } - - if(invalidContent(opts.content.title.text || FALSE)) { - opts.content.title.text = FALSE; - } - } - } - - if('position' in opts && invalid(opts.position)) { - opts.position = { my: opts.position, at: opts.position }; - } - - if('show' in opts && invalid(opts.show)) { - opts.show = opts.show.jquery ? { target: opts.show } : { event: opts.show }; - } - - if('hide' in opts && invalid(opts.hide)) { - opts.hide = opts.hide.jquery ? { target: opts.hide } : { event: opts.hide }; - } - - if('style' in opts && invalid(opts.style)) { - opts.style = { classes: opts.style }; - } - - // Sanitize plugin options - $.each(PLUGINS, function() { - if(this.sanitize) { this.sanitize(opts); } - }); - - return opts; -} - -/* -* Core plugin implementation -*/ -function QTip(target, options, id, attr) -{ - // Declare this reference - var self = this, - docBody = document.body, - tooltipID = uitooltip + '-' + id, - isPositioning = 0, - isDrawing = 0, - tooltip = $(), - namespace = '.qtip-' + id, - elements, cache; - - // Setup class attributes - self.id = id; - self.rendered = FALSE; - self.destroyed = FALSE; - self.elements = elements = { target: target }; - self.timers = { img: {} }; - self.options = options; - self.checks = {}; - self.plugins = {}; - self.cache = cache = { - event: {}, - target: $(), - disabled: FALSE, - attr: attr, - onTarget: FALSE, - lastClass: '' - }; - - /* - * Private core functions - */ - function convertNotation(notation) - { - var i = 0, obj, option = options, - - // Split notation into array - levels = notation.split('.'); - - // Loop through - while( option = option[ levels[i++] ] ) { - if(i < levels.length) { obj = option; } - } - - return [obj || options, levels.pop()]; - } - - function triggerEvent(type, args, event) { - var callback = $.Event('tooltip'+type); - callback.originalEvent = (event ? $.extend({}, event) : NULL) || cache.event || NULL; - tooltip.trigger(callback, [self].concat(args || [])); - - return !callback.isDefaultPrevented(); - } - - function setWidget() - { - var on = options.style.widget; - - tooltip.toggleClass('ui-helper-reset '+widget, on).toggleClass(defaultClass, options.style.def && !on); - - if(elements.content) { - elements.content.toggleClass(widget+'-content', on); - } - - if(elements.titlebar) { - elements.titlebar.toggleClass(widget+'-header', on); - } - if(elements.button) { - elements.button.toggleClass(uitooltip+'-icon', !on); - } - } - - function removeTitle(reposition) - { - if(elements.title) { - elements.titlebar.remove(); - elements.titlebar = elements.title = elements.button = NULL; - - // Reposition if enabled - if(reposition !== FALSE) { self.reposition(); } - } - } - - function createButton() - { - var button = options.content.title.button, - isString = typeof button === 'string', - close = isString ? button : 'Close tooltip'; - - if(elements.button) { elements.button.remove(); } - - // Use custom button if one was supplied by user, else use default - if(button.jquery) { - elements.button = button; - } - else { - elements.button = $('', { - 'class': 'ui-state-default ui-tooltip-close ' + (options.style.widget ? '' : uitooltip+'-icon'), - 'title': close, - 'aria-label': close - }) - .prepend( - $('', { - 'class': 'ui-icon ui-icon-close', - 'html': '×' - }) - ); - } - - // Create button and setup attributes - elements.button.appendTo(elements.titlebar) - .attr('role', 'button') - .click(function(event) { - if(!tooltip.hasClass(disabled)) { self.hide(event); } - return FALSE; - }); - - // Redraw the tooltip when we're done - self.redraw(); - } - - function createTitle() - { - var id = tooltipID+'-title'; - - // Destroy previous title element, if present - if(elements.titlebar) { removeTitle(); } - - // Create title bar and title elements - elements.titlebar = $('
              ', { - 'class': uitooltip + '-titlebar ' + (options.style.widget ? 'ui-widget-header' : '') - }) - .append( - elements.title = $('
              ', { - 'id': id, - 'class': uitooltip + '-title', - 'aria-atomic': TRUE - }) - ) - .insertBefore(elements.content) - - // Button-specific events - .delegate('.ui-tooltip-close', 'mousedown keydown mouseup keyup mouseout', function(event) { - $(this).toggleClass('ui-state-active ui-state-focus', event.type.substr(-4) === 'down'); - }) - .delegate('.ui-tooltip-close', 'mouseover mouseout', function(event){ - $(this).toggleClass('ui-state-hover', event.type === 'mouseover'); - }); - - // Create button if enabled - if(options.content.title.button) { createButton(); } - - // Redraw the tooltip dimensions if it's rendered - else if(self.rendered){ self.redraw(); } - } - - function updateButton(button) - { - var elem = elements.button, - title = elements.title; - - // Make sure tooltip is rendered and if not, return - if(!self.rendered) { return FALSE; } - - if(!button) { - elem.remove(); - } - else { - if(!title) { - createTitle(); - } - createButton(); - } - } - - function updateTitle(content, reposition) - { - var elem = elements.title; - - // Make sure tooltip is rendered and if not, return - if(!self.rendered || !content) { return FALSE; } - - // Use function to parse content - if($.isFunction(content)) { - content = content.call(target, cache.event, self); - } - - // Remove title if callback returns false or null/undefined (but not '') - if(content === FALSE || (!content && content !== '')) { return removeTitle(FALSE); } - - // Append new content if its a DOM array and show it if hidden - else if(content.jquery && content.length > 0) { - elem.empty().append(content.css({ display: 'block' })); - } - - // Content is a regular string, insert the new content - else { elem.html(content); } - - // Redraw and reposition - self.redraw(); - if(reposition !== FALSE && self.rendered && tooltip[0].offsetWidth > 0) { - self.reposition(cache.event); - } - } - - function updateContent(content, reposition) - { - var elem = elements.content; - - // Make sure tooltip is rendered and content is defined. If not return - if(!self.rendered || !content) { return FALSE; } - - // Use function to parse content - if($.isFunction(content)) { - content = content.call(target, cache.event, self) || ''; - } - - // Append new content if its a DOM array and show it if hidden - if(content.jquery && content.length > 0) { - elem.empty().append(content.css({ display: 'block' })); - } - - // Content is a regular string, insert the new content - else { elem.html(content); } - - // Image detection - function detectImages(next) { - var images, srcs = {}; - - function imageLoad(image) { - // Clear src from object and any timers and events associated with the image - if(image) { - delete srcs[image.src]; - clearTimeout(self.timers.img[image.src]); - $(image).unbind(namespace); - } - - // If queue is empty after image removal, update tooltip and continue the queue - if($.isEmptyObject(srcs)) { - self.redraw(); - if(reposition !== FALSE) { - self.reposition(cache.event); - } - - next(); - } - } - - // Find all content images without dimensions, and if no images were found, continue - if((images = elem.find('img[src]:not([height]):not([width])')).length === 0) { return imageLoad(); } - - // Apply timer to each image to poll for dimensions - images.each(function(i, elem) { - // Skip if the src is already present - if(srcs[elem.src] !== undefined) { return; } - - // Keep track of how many times we poll for image dimensions. - // If it doesn't return in a reasonable amount of time, it's better - // to display the tooltip, rather than hold up the queue. - var iterations = 0, maxIterations = 3; - - (function timer(){ - // When the dimensions are found, remove the image from the queue - if(elem.height || elem.width || (iterations > maxIterations)) { return imageLoad(elem); } - - // Increase iterations and restart timer - iterations += 1; - self.timers.img[elem.src] = setTimeout(timer, 700); - }()); - - // Also apply regular load/error event handlers - $(elem).bind('error'+namespace+' load'+namespace, function(){ imageLoad(this); }); - - // Store the src and element in our object - srcs[elem.src] = elem; - }); - } - - /* - * If we're still rendering... insert into 'fx' queue our image dimension - * checker which will halt the showing of the tooltip until image dimensions - * can be detected properly. - */ - if(self.rendered < 0) { tooltip.queue('fx', detectImages); } - - // We're fully rendered, so reset isDrawing flag and proceed without queue delay - else { isDrawing = 0; detectImages($.noop); } - - return self; - } - - function assignEvents() - { - var posOptions = options.position, - targets = { - show: options.show.target, - hide: options.hide.target, - viewport: $(posOptions.viewport), - document: $(document), - body: $(document.body), - window: $(window) - }, - events = { - show: $.trim('' + options.show.event).split(' '), - hide: $.trim('' + options.hide.event).split(' ') - }, - IE6 = $.browser.msie && parseInt($.browser.version, 10) === 6; - - // Define show event method - function showMethod(event) - { - if(tooltip.hasClass(disabled)) { return FALSE; } - - // Clear hide timers - clearTimeout(self.timers.show); - clearTimeout(self.timers.hide); - - // Start show timer - var callback = function(){ self.toggle(TRUE, event); }; - if(options.show.delay > 0) { - self.timers.show = setTimeout(callback, options.show.delay); - } - else{ callback(); } - } - - // Define hide method - function hideMethod(event) - { - if(tooltip.hasClass(disabled) || isPositioning || isDrawing) { return FALSE; } - - // Check if new target was actually the tooltip element - var relatedTarget = $(event.relatedTarget || event.target), - ontoTooltip = relatedTarget.closest(selector)[0] === tooltip[0], - ontoTarget = relatedTarget[0] === targets.show[0]; - - // Clear timers and stop animation queue - clearTimeout(self.timers.show); - clearTimeout(self.timers.hide); - - // Prevent hiding if tooltip is fixed and event target is the tooltip. Or if mouse positioning is enabled and cursor momentarily overlaps - if((posOptions.target === 'mouse' && ontoTooltip) || (options.hide.fixed && ((/mouse(out|leave|move)/).test(event.type) && (ontoTooltip || ontoTarget)))) { - try { event.preventDefault(); event.stopImmediatePropagation(); } catch(e) {} return; - } - - // If tooltip has displayed, start hide timer - if(options.hide.delay > 0) { - self.timers.hide = setTimeout(function(){ self.hide(event); }, options.hide.delay); - } - else{ self.hide(event); } - } - - // Define inactive method - function inactiveMethod(event) - { - if(tooltip.hasClass(disabled)) { return FALSE; } - - // Clear timer - clearTimeout(self.timers.inactive); - self.timers.inactive = setTimeout(function(){ self.hide(event); }, options.hide.inactive); - } - - function repositionMethod(event) { - if(self.rendered && tooltip[0].offsetWidth > 0) { self.reposition(event); } - } - - // On mouseenter/mouseleave... - tooltip.bind('mouseenter'+namespace+' mouseleave'+namespace, function(event) { - var state = event.type === 'mouseenter'; - - // Focus the tooltip on mouseenter (z-index stacking) - if(state) { self.focus(event); } - - // Add hover class - tooltip.toggleClass(hoverClass, state); - }); - - // If using mouseout/mouseleave as a hide event... - if(/mouse(out|leave)/i.test(options.hide.event)) { - // Hide tooltips when leaving current window/frame (but not select/option elements) - if(options.hide.leave === 'window') { - targets.window.bind('mouseout'+namespace+' blur'+namespace, function(event) { - if(!/select|option/.test(event.target.nodeName) && !event.relatedTarget) { self.hide(event); } - }); - } - } - - // Enable hide.fixed - if(options.hide.fixed) { - // Add tooltip as a hide target - targets.hide = targets.hide.add(tooltip); - - // Clear hide timer on tooltip hover to prevent it from closing - tooltip.bind('mouseover'+namespace, function() { - if(!tooltip.hasClass(disabled)) { clearTimeout(self.timers.hide); } - }); - } - - /* - * Make sure hoverIntent functions properly by using mouseleave to clear show timer if - * mouseenter/mouseout is used for show.event, even if it isn't in the users options. - */ - else if(/mouse(over|enter)/i.test(options.show.event)) { - targets.hide.bind('mouseleave'+namespace, function(event) { - clearTimeout(self.timers.show); - }); - } - - // Hide tooltip on document mousedown if unfocus events are enabled - if(('' + options.hide.event).indexOf('unfocus') > -1) { - posOptions.container.closest('html').bind('mousedown'+namespace+' touchstart'+namespace, function(event) { - var elem = $(event.target), - enabled = self.rendered && !tooltip.hasClass(disabled) && tooltip[0].offsetWidth > 0, - isAncestor = elem.parents(selector).filter(tooltip[0]).length > 0; - - if(elem[0] !== target[0] && elem[0] !== tooltip[0] && !isAncestor && - !target.has(elem[0]).length && !elem.attr('disabled') - ) { - self.hide(event); - } - }); - } - - // Check if the tooltip hides when inactive - if('number' === typeof options.hide.inactive) { - // Bind inactive method to target as a custom event - targets.show.bind('qtip-'+id+'-inactive', inactiveMethod); - - // Define events which reset the 'inactive' event handler - $.each(QTIP.inactiveEvents, function(index, type){ - targets.hide.add(elements.tooltip).bind(type+namespace+'-inactive', inactiveMethod); - }); - } - - // Apply hide events - $.each(events.hide, function(index, type) { - var showIndex = $.inArray(type, events.show), - targetHide = $(targets.hide); - - // Both events and targets are identical, apply events using a toggle - if((showIndex > -1 && targetHide.add(targets.show).length === targetHide.length) || type === 'unfocus') - { - targets.show.bind(type+namespace, function(event) { - if(tooltip[0].offsetWidth > 0) { hideMethod(event); } - else { showMethod(event); } - }); - - // Don't bind the event again - delete events.show[ showIndex ]; - } - - // Events are not identical, bind normally - else { targets.hide.bind(type+namespace, hideMethod); } - }); - - // Apply show events - $.each(events.show, function(index, type) { - targets.show.bind(type+namespace, showMethod); - }); - - // Check if the tooltip hides when mouse is moved a certain distance - if('number' === typeof options.hide.distance) { - // Bind mousemove to target to detect distance difference - targets.show.add(tooltip).bind('mousemove'+namespace, function(event) { - var origin = cache.origin || {}, - limit = options.hide.distance, - abs = Math.abs; - - // Check if the movement has gone beyond the limit, and hide it if so - if(abs(event.pageX - origin.pageX) >= limit || abs(event.pageY - origin.pageY) >= limit) { - self.hide(event); - } - }); - } - - // Mouse positioning events - if(posOptions.target === 'mouse') { - // Cache mousemove coords on show targets - targets.show.bind('mousemove'+namespace, function(event) { - MOUSE = { pageX: event.pageX, pageY: event.pageY, type: 'mousemove' }; - }); - - // If mouse adjustment is on... - if(posOptions.adjust.mouse) { - // Apply a mouseleave event so we don't get problems with overlapping - if(options.hide.event) { - // Hide when we leave the tooltip and not onto the show target - tooltip.bind('mouseleave'+namespace, function(event) { - if((event.relatedTarget || event.target) !== targets.show[0]) { self.hide(event); } - }); - - // Track if we're on the target or not - elements.target.bind('mouseenter'+namespace+' mouseleave'+namespace, function(event) { - cache.onTarget = event.type === 'mouseenter'; - }); - } - - // Update tooltip position on mousemove - targets.document.bind('mousemove'+namespace, function(event) { - // Update the tooltip position only if the tooltip is visible and adjustment is enabled - if(self.rendered && cache.onTarget && !tooltip.hasClass(disabled) && tooltip[0].offsetWidth > 0) { - self.reposition(event || MOUSE); - } - }); - } - } - - // Adjust positions of the tooltip on window resize if enabled - if(posOptions.adjust.resize || targets.viewport.length) { - ($.event.special.resize ? targets.viewport : targets.window).bind('resize'+namespace, repositionMethod); - } - - // Adjust tooltip position on scroll if screen adjustment is enabled - if(targets.viewport.length || (IE6 && tooltip.css('position') === 'fixed')) { - targets.viewport.bind('scroll'+namespace, repositionMethod); - } - } - - function unassignEvents() - { - var targets = [ - options.show.target[0], - options.hide.target[0], - self.rendered && elements.tooltip[0], - options.position.container[0], - options.position.viewport[0], - options.position.container.closest('html')[0], // unfocus - window, - document - ]; - - // Check if tooltip is rendered - if(self.rendered) { - $([]).pushStack( $.grep(targets, function(i){ return typeof i === 'object'; }) ).unbind(namespace); - } - - // Tooltip isn't yet rendered, remove render event - else { options.show.target.unbind(namespace+'-create'); } - } - - // Setup builtin .set() option checks - self.checks.builtin = { - // Core checks - '^id$': function(obj, o, v) { - var id = v === TRUE ? QTIP.nextid : v, - tooltipID = uitooltip + '-' + id; - - if(id !== FALSE && id.length > 0 && !$('#'+tooltipID).length) { - tooltip[0].id = tooltipID; - elements.content[0].id = tooltipID + '-content'; - elements.title[0].id = tooltipID + '-title'; - } - }, - - // Content checks - '^content.text$': function(obj, o, v){ updateContent(v); }, - '^content.title.text$': function(obj, o, v) { - // Remove title if content is null - if(!v) { return removeTitle(); } - - // If title isn't already created, create it now and update - if(!elements.title && v) { createTitle(); } - updateTitle(v); - }, - '^content.title.button$': function(obj, o, v){ updateButton(v); }, - - // Position checks - '^position.(my|at)$': function(obj, o, v){ - // Parse new corner value into Corner objecct - if('string' === typeof v) { - obj[o] = new PLUGINS.Corner(v); - } - }, - '^position.container$': function(obj, o, v){ - if(self.rendered) { tooltip.appendTo(v); } - }, - - // Show checks - '^show.ready$': function() { - if(!self.rendered) { self.render(1); } - else { self.toggle(TRUE); } - }, - - // Style checks - '^style.classes$': function(obj, o, v) { - tooltip.attr('class', uitooltip + ' qtip ' + v); - }, - '^style.widget|content.title': setWidget, - - // Events check - '^events.(render|show|move|hide|focus|blur)$': function(obj, o, v) { - tooltip[($.isFunction(v) ? '' : 'un') + 'bind']('tooltip'+o, v); - }, - - // Properties which require event reassignment - '^(show|hide|position).(event|target|fixed|inactive|leave|distance|viewport|adjust)': function() { - var posOptions = options.position; - - // Set tracking flag - tooltip.attr('tracking', posOptions.target === 'mouse' && posOptions.adjust.mouse); - - // Reassign events - unassignEvents(); assignEvents(); - } - }; - - /* - * Public API methods - */ - $.extend(self, { - render: function(show) - { - if(self.rendered) { return self; } // If tooltip has already been rendered, exit - - var text = options.content.text, - title = options.content.title.text, - posOptions = options.position; - - // Add ARIA attributes to target - $.attr(target[0], 'aria-describedby', tooltipID); - - // Create tooltip element - tooltip = elements.tooltip = $('
              ', { - 'id': tooltipID, - 'class': uitooltip + ' qtip ' + defaultClass + ' ' + options.style.classes + ' '+ uitooltip + '-pos-' + options.position.my.abbrev(), - 'width': options.style.width || '', - 'height': options.style.height || '', - 'tracking': posOptions.target === 'mouse' && posOptions.adjust.mouse, - - /* ARIA specific attributes */ - 'role': 'alert', - 'aria-live': 'polite', - 'aria-atomic': FALSE, - 'aria-describedby': tooltipID + '-content', - 'aria-hidden': TRUE - }) - .toggleClass(disabled, cache.disabled) - .data('qtip', self) - .appendTo(options.position.container) - .append( - // Create content element - elements.content = $('
              ', { - 'class': uitooltip + '-content', - 'id': tooltipID + '-content', - 'aria-atomic': TRUE - }) - ); - - // Set rendered flag and prevent redundant redraw/reposition calls for now - self.rendered = -1; - isDrawing = 1; isPositioning = 1; - - // Create title... - if(title) { - createTitle(); - - // Update title only if its not a callback (called in toggle if so) - if(!$.isFunction(title)) { updateTitle(title, FALSE); } - } - - // Set proper rendered flag and update content if not a callback function (called in toggle) - if(!$.isFunction(text)) { updateContent(text, FALSE); } - self.rendered = TRUE; - - // Setup widget classes - setWidget(); - - // Assign passed event callbacks (before plugins!) - $.each(options.events, function(name, callback) { - if($.isFunction(callback)) { - tooltip.bind(name === 'toggle' ? 'tooltipshow tooltiphide' : 'tooltip'+name, callback); - } - }); - - // Initialize 'render' plugins - $.each(PLUGINS, function() { - if(this.initialize === 'render') { this(self); } - }); - - // Assign events - assignEvents(); - - /* Queue this part of the render process in our fx queue so we can - * load images before the tooltip renders fully. - * - * See: updateContent method - */ - tooltip.queue('fx', function(next) { - // tooltiprender event - triggerEvent('render'); - - // Reset flags - isDrawing = 0; isPositioning = 0; - - // Redraw the tooltip manually now we're fully rendered - self.redraw(); - - // Show tooltip if needed - if(options.show.ready || show) { - self.toggle(TRUE, cache.event, FALSE); - } - - next(); // Move on to next method in queue - }); - - return self; - }, - - get: function(notation) - { - var result, o; - - switch(notation.toLowerCase()) - { - case 'dimensions': - result = { - height: tooltip.outerHeight(FALSE), width: tooltip.outerWidth(FALSE) - }; - break; - - case 'offset': - result = PLUGINS.offset(tooltip, options.position.container); - break; - - default: - o = convertNotation(notation.toLowerCase()); - result = o[0][ o[1] ]; - result = result.precedance ? result.string() : result; - break; - } - - return result; - }, - - set: function(option, value) - { - var rmove = /^position\.(my|at|adjust|target|container)|style|content|show\.ready/i, - rdraw = /^content\.(title|attr)|style/i, - reposition = FALSE, - redraw = FALSE, - checks = self.checks, - name; - - function callback(notation, args) { - var category, rule, match; - - for(category in checks) { - for(rule in checks[category]) { - if(match = (new RegExp(rule, 'i')).exec(notation)) { - args.push(match); - checks[category][rule].apply(self, args); - } - } - } - } - - // Convert singular option/value pair into object form - if('string' === typeof option) { - name = option; option = {}; option[name] = value; - } - else { option = $.extend(TRUE, {}, option); } - - // Set all of the defined options to their new values - $.each(option, function(notation, value) { - var obj = convertNotation( notation.toLowerCase() ), previous; - - // Set new obj value - previous = obj[0][ obj[1] ]; - obj[0][ obj[1] ] = 'object' === typeof value && value.nodeType ? $(value) : value; - - // Set the new params for the callback - option[notation] = [obj[0], obj[1], value, previous]; - - // Also check if we need to reposition / redraw - reposition = rmove.test(notation) || reposition; - redraw = rdraw.test(notation) || redraw; - }); - - // Re-sanitize options - sanitizeOptions(options); - - /* - * Execute any valid callbacks for the set options - * Also set isPositioning/isDrawing so we don't get loads of redundant repositioning - * and redraw calls. - */ - isPositioning = isDrawing = 1; $.each(option, callback); isPositioning = isDrawing = 0; - - // Update position / redraw if needed - if(self.rendered && tooltip[0].offsetWidth > 0) { - if(reposition) { - self.reposition( options.position.target === 'mouse' ? NULL : cache.event ); - } - if(redraw) { self.redraw(); } - } - - return self; - }, - - toggle: function(state, event) - { - // Try to prevent flickering when tooltip overlaps show element - if(event) { - if((/over|enter/).test(event.type) && (/out|leave/).test(cache.event.type) && - options.show.target.add(event.target).length === options.show.target.length && - tooltip.has(event.relatedTarget).length) { - return self; - } - - // Cache event - cache.event = $.extend({}, event); - } - - // Render the tooltip if showing and it isn't already - if(!self.rendered) { return state ? self.render(1) : self; } - - var type = state ? 'show' : 'hide', - opts = options[type], - otherOpts = options[ !state ? 'show' : 'hide' ], - posOptions = options.position, - contentOptions = options.content, - visible = tooltip[0].offsetWidth > 0, - animate = state || opts.target.length === 1, - sameTarget = !event || opts.target.length < 2 || cache.target[0] === event.target, - showEvent, delay; - - // Detect state if valid one isn't provided - if((typeof state).search('boolean|number')) { state = !visible; } - - // Return if element is already in correct state - if(!tooltip.is(':animated') && visible === state && sameTarget) { return self; } - - // tooltipshow/tooltiphide events - if(!triggerEvent(type, [90])) { return self; } - - // Set ARIA hidden status attribute - $.attr(tooltip[0], 'aria-hidden', !!!state); - - // Execute state specific properties - if(state) { - // Store show origin coordinates - cache.origin = $.extend({}, MOUSE); - - // Focus the tooltip - self.focus(event); - - // Update tooltip content & title if it's a dynamic function - if($.isFunction(contentOptions.text)) { updateContent(contentOptions.text, FALSE); } - if($.isFunction(contentOptions.title.text)) { updateTitle(contentOptions.title.text, FALSE); } - - // Cache mousemove events for positioning purposes (if not already tracking) - if(!trackingBound && posOptions.target === 'mouse' && posOptions.adjust.mouse) { - $(document).bind('mousemove.qtip', function(event) { - MOUSE = { pageX: event.pageX, pageY: event.pageY, type: 'mousemove' }; - }); - trackingBound = TRUE; - } - - // Update the tooltip position - self.reposition(event, arguments[2]); - - // Hide other tooltips if tooltip is solo - if(!!opts.solo) { - $(selector, opts.solo).not(tooltip).qtip('hide', $.Event('tooltipsolo')); - } - } - else { - // Clear show timer if we're hiding - clearTimeout(self.timers.show); - - // Remove cached origin on hide - delete cache.origin; - - // Remove mouse tracking event if not needed (all tracking qTips are hidden) - if(trackingBound && !$(selector+'[tracking="true"]:visible', opts.solo).not(tooltip).length) { - $(document).unbind('mousemove.qtip'); - trackingBound = FALSE; - } - - // Blur the tooltip - self.blur(event); - } - - // Define post-animation, state specific properties - function after() { - if(state) { - // Prevent antialias from disappearing in IE by removing filter - if($.browser.msie) { tooltip[0].style.removeAttribute('filter'); } - - // Remove overflow setting to prevent tip bugs - tooltip.css('overflow', ''); - - // Autofocus elements if enabled - if('string' === typeof opts.autofocus) { - $(opts.autofocus, tooltip).focus(); - } - - // If set, hide tooltip when inactive for delay period - opts.target.trigger('qtip-'+id+'-inactive'); - } - else { - // Reset CSS states - tooltip.css({ - display: '', - visibility: '', - opacity: '', - left: '', - top: '' - }); - } - - // tooltipvisible/tooltiphidden events - triggerEvent(state ? 'visible' : 'hidden'); - } - - // If no effect type is supplied, use a simple toggle - if(opts.effect === FALSE || animate === FALSE) { - tooltip[ type ](); - after.call(tooltip); - } - - // Use custom function if provided - else if($.isFunction(opts.effect)) { - tooltip.stop(1, 1); - opts.effect.call(tooltip, self); - tooltip.queue('fx', function(n){ after(); n(); }); - } - - // Use basic fade function by default - else { tooltip.fadeTo(90, state ? 1 : 0, after); } - - // If inactive hide method is set, active it - if(state) { opts.target.trigger('qtip-'+id+'-inactive'); } - - return self; - }, - - show: function(event){ return self.toggle(TRUE, event); }, - - hide: function(event){ return self.toggle(FALSE, event); }, - - focus: function(event) - { - if(!self.rendered) { return self; } - - var qtips = $(selector), - curIndex = parseInt(tooltip[0].style.zIndex, 10), - newIndex = QTIP.zindex + qtips.length, - cachedEvent = $.extend({}, event), - focusedElem; - - // Only update the z-index if it has changed and tooltip is not already focused - if(!tooltip.hasClass(focusClass)) - { - // tooltipfocus event - if(triggerEvent('focus', [newIndex], cachedEvent)) { - // Only update z-index's if they've changed - if(curIndex !== newIndex) { - // Reduce our z-index's and keep them properly ordered - qtips.each(function() { - if(this.style.zIndex > curIndex) { - this.style.zIndex = this.style.zIndex - 1; - } - }); - - // Fire blur event for focused tooltip - qtips.filter('.' + focusClass).qtip('blur', cachedEvent); - } - - // Set the new z-index - tooltip.addClass(focusClass)[0].style.zIndex = newIndex; - } - } - - return self; - }, - - blur: function(event) { - // Set focused status to FALSE - tooltip.removeClass(focusClass); - - // tooltipblur event - triggerEvent('blur', [tooltip.css('zIndex')], event); - - return self; - }, - - reposition: function(event, effect) - { - if(!self.rendered || isPositioning) { return self; } - - // Set positioning flag - isPositioning = 1; - - var target = options.position.target, - posOptions = options.position, - my = posOptions.my, - at = posOptions.at, - adjust = posOptions.adjust, - method = adjust.method.split(' '), - elemWidth = tooltip.outerWidth(FALSE), - elemHeight = tooltip.outerHeight(FALSE), - targetWidth = 0, - targetHeight = 0, - fixed = tooltip.css('position') === 'fixed', - viewport = posOptions.viewport, - position = { left: 0, top: 0 }, - container = posOptions.container, - visible = tooltip[0].offsetWidth > 0, - adjusted, offset, win; - - // Check if absolute position was passed - if($.isArray(target) && target.length === 2) { - // Force left top and set position - at = { x: LEFT, y: TOP }; - position = { left: target[0], top: target[1] }; - } - - // Check if mouse was the target - else if(target === 'mouse' && ((event && event.pageX) || cache.event.pageX)) { - // Force left top to allow flipping - at = { x: LEFT, y: TOP }; - - // Use cached event if one isn't available for positioning - event = MOUSE && MOUSE.pageX && (adjust.mouse || !event || !event.pageX) ? { pageX: MOUSE.pageX, pageY: MOUSE.pageY } : - (event && (event.type === 'resize' || event.type === 'scroll') ? cache.event : - event && event.pageX && event.type === 'mousemove' ? event : - !adjust.mouse && cache.origin && cache.origin.pageX && options.show.distance ? cache.origin : - event) || event || cache.event || MOUSE || {}; - - // Use event coordinates for position - position = { top: event.pageY, left: event.pageX }; - } - - // Target wasn't mouse or absolute... - else { - // Check if event targetting is being used - if(target === 'event' && event && event.target && event.type !== 'scroll' && event.type !== 'resize') { - cache.target = $(event.target); - } - else if(target !== 'event'){ - cache.target = $(target.jquery ? target : elements.target); - } - target = cache.target; - - // Parse the target into a jQuery object and make sure there's an element present - target = $(target).eq(0); - if(target.length === 0) { return self; } - - // Check if window or document is the target - else if(target[0] === document || target[0] === window) { - targetWidth = PLUGINS.iOS ? window.innerWidth : target.width(); - targetHeight = PLUGINS.iOS ? window.innerHeight : target.height(); - - if(target[0] === window) { - position = { - top: (viewport || target).scrollTop(), - left: (viewport || target).scrollLeft() - }; - } - } - - // Use Imagemap/SVG plugins if needed - else if(PLUGINS.imagemap && target.is('area')) { - adjusted = PLUGINS.imagemap(self, target, at, PLUGINS.viewport ? method : FALSE); - } - else if(PLUGINS.svg && typeof target[0].xmlbase === 'string') { - adjusted = PLUGINS.svg(self, target, at, PLUGINS.viewport ? method : FALSE); - } - - else { - targetWidth = target.outerWidth(FALSE); - targetHeight = target.outerHeight(FALSE); - - position = PLUGINS.offset(target, container); - } - - // Parse returned plugin values into proper variables - if(adjusted) { - targetWidth = adjusted.width; - targetHeight = adjusted.height; - offset = adjusted.offset; - position = adjusted.position; - } - - // Adjust for position.fixed tooltips (and also iOS scroll bug in v3.2-4.0 & v4.3-4.3.2) - if((PLUGINS.iOS > 3.1 && PLUGINS.iOS < 4.1) || - (PLUGINS.iOS >= 4.3 && PLUGINS.iOS < 4.33) || - (!PLUGINS.iOS && fixed) - ){ - win = $(window); - position.left -= win.scrollLeft(); - position.top -= win.scrollTop(); - } - - // Adjust position relative to target - position.left += at.x === RIGHT ? targetWidth : at.x === CENTER ? targetWidth / 2 : 0; - position.top += at.y === BOTTOM ? targetHeight : at.y === CENTER ? targetHeight / 2 : 0; - } - - // Adjust position relative to tooltip - position.left += adjust.x + (my.x === RIGHT ? -elemWidth : my.x === CENTER ? -elemWidth / 2 : 0); - position.top += adjust.y + (my.y === BOTTOM ? -elemHeight : my.y === CENTER ? -elemHeight / 2 : 0); - - // Use viewport adjustment plugin if enabled - if(PLUGINS.viewport) { - position.adjusted = PLUGINS.viewport( - self, position, posOptions, targetWidth, targetHeight, elemWidth, elemHeight - ); - - // Apply offsets supplied by positioning plugin (if used) - if(offset && position.adjusted.left) { position.left += offset.left; } - if(offset && position.adjusted.top) { position.top += offset.top; } - } - - // Viewport adjustment is disabled, set values to zero - else { position.adjusted = { left: 0, top: 0 }; } - - // tooltipmove event - if(!triggerEvent('move', [position, viewport.elem || viewport], event)) { return self; } - delete position.adjusted; - - // If effect is disabled, target it mouse, no animation is defined or positioning gives NaN out, set CSS directly - if(effect === FALSE || !visible || isNaN(position.left) || isNaN(position.top) || target === 'mouse' || !$.isFunction(posOptions.effect)) { - tooltip.css(position); - } - - // Use custom function if provided - else if($.isFunction(posOptions.effect)) { - posOptions.effect.call(tooltip, self, $.extend({}, position)); - tooltip.queue(function(next) { - // Reset attributes to avoid cross-browser rendering bugs - $(this).css({ opacity: '', height: '' }); - if($.browser.msie) { this.style.removeAttribute('filter'); } - - next(); - }); - } - - // Set positioning flag - isPositioning = 0; - - return self; - }, - - // Max/min width simulator function for all browsers.. yeaaah! - redraw: function() - { - if(self.rendered < 1 || isDrawing) { return self; } - - var style = options.style, - container = options.position.container, - perc, width, max, min; - - // Set drawing flag - isDrawing = 1; - - // tooltipredraw event - triggerEvent('redraw'); - - // If tooltip has a set height/width, just set it... like a boss! - if(style.height) { tooltip.css(HEIGHT, style.height); } - if(style.width) { tooltip.css(WIDTH, style.width); } - - // Simulate max/min width if not set width present... - else { - // Reset width and add fluid class - tooltip.css(WIDTH, '').appendTo(redrawContainer); - - // Grab our tooltip width (add 1 if odd so we don't get wrapping problems.. huzzah!) - width = tooltip.width(); - if(width % 2 < 1) { width += 1; } - - // Grab our max/min properties - max = tooltip.css('max-width') || ''; - min = tooltip.css('min-width') || ''; - - // Parse into proper pixel values - perc = (max + min).indexOf('%') > -1 ? container.width() / 100 : 0; - max = ((max.indexOf('%') > -1 ? perc : 1) * parseInt(max, 10)) || width; - min = ((min.indexOf('%') > -1 ? perc : 1) * parseInt(min, 10)) || 0; - - // Determine new dimension size based on max/min/current values - width = max + min ? Math.min(Math.max(width, min), max) : width; - - // Set the newly calculated width and remvoe fluid class - tooltip.css(WIDTH, Math.round(width)).appendTo(container); - } - - // tooltipredrawn event - triggerEvent('redrawn'); - - // Set drawing flag - isDrawing = 0; - - return self; - }, - - disable: function(state) - { - if('boolean' !== typeof state) { - state = !(tooltip.hasClass(disabled) || cache.disabled); - } - - if(self.rendered) { - tooltip.toggleClass(disabled, state); - $.attr(tooltip[0], 'aria-disabled', state); - } - else { - cache.disabled = !!state; - } - - return self; - }, - - enable: function() { return self.disable(FALSE); }, - - destroy: function() - { - var t = target[0], - title = $.attr(t, oldtitle), - elemAPI = target.data('qtip'); - - // Set flag the signify destroy is taking place to plugins - self.destroyed = TRUE; - - // Destroy tooltip and any associated plugins if rendered - if(self.rendered) { - tooltip.stop(1,0).remove(); - - $.each(self.plugins, function() { - if(this.destroy) { this.destroy(); } - }); - } - - // Clear timers and remove bound events - clearTimeout(self.timers.show); - clearTimeout(self.timers.hide); - unassignEvents(); - - // If the API if actually this qTip API... - if(!elemAPI || self === elemAPI) { - // Remove api object - $.removeData(t, 'qtip'); - - // Reset old title attribute if removed - if(options.suppress && title) { - $.attr(t, 'title', title); - target.removeAttr(oldtitle); - } - - // Remove ARIA attributes - target.removeAttr('aria-describedby'); - } - - // Remove qTip events associated with this API - target.unbind('.qtip-'+id); - - // Remove ID from sued id object - delete usedIDs[self.id]; - - return target; - } - }); -} - -// Initialization method -function init(id, opts) -{ - var obj, posOptions, attr, config, title, - - // Setup element references - elem = $(this), - docBody = $(document.body), - - // Use document body instead of document element if needed - newTarget = this === document ? docBody : elem, - - // Grab metadata from element if plugin is present - metadata = (elem.metadata) ? elem.metadata(opts.metadata) : NULL, - - // If metadata type if HTML5, grab 'name' from the object instead, or use the regular data object otherwise - metadata5 = opts.metadata.type === 'html5' && metadata ? metadata[opts.metadata.name] : NULL, - - // Grab data from metadata.name (or data-qtipopts as fallback) using .data() method, - html5 = elem.data(opts.metadata.name || 'qtipopts'); - - // If we don't get an object returned attempt to parse it manualyl without parseJSON - try { html5 = typeof html5 === 'string' ? $.parseJSON(html5) : html5; } catch(e) {} - - // Merge in and sanitize metadata - config = $.extend(TRUE, {}, QTIP.defaults, opts, - typeof html5 === 'object' ? sanitizeOptions(html5) : NULL, - sanitizeOptions(metadata5 || metadata)); - - // Re-grab our positioning options now we've merged our metadata and set id to passed value - posOptions = config.position; - config.id = id; - - // Setup missing content if none is detected - if('boolean' === typeof config.content.text) { - attr = elem.attr(config.content.attr); - - // Grab from supplied attribute if available - if(config.content.attr !== FALSE && attr) { config.content.text = attr; } - - // No valid content was found, abort render - else { return FALSE; } - } - - // Setup target options - if(!posOptions.container.length) { posOptions.container = docBody; } - if(posOptions.target === FALSE) { posOptions.target = newTarget; } - if(config.show.target === FALSE) { config.show.target = newTarget; } - if(config.show.solo === TRUE) { config.show.solo = posOptions.container.closest('body'); } - if(config.hide.target === FALSE) { config.hide.target = newTarget; } - if(config.position.viewport === TRUE) { config.position.viewport = posOptions.container; } - - // Ensure we only use a single container - posOptions.container = posOptions.container.eq(0); - - // Convert position corner values into x and y strings - posOptions.at = new PLUGINS.Corner(posOptions.at); - posOptions.my = new PLUGINS.Corner(posOptions.my); - - // Destroy previous tooltip if overwrite is enabled, or skip element if not - if($.data(this, 'qtip')) { - if(config.overwrite) { - elem.qtip('destroy'); - } - else if(config.overwrite === FALSE) { - return FALSE; - } - } - - // Remove title attribute and store it if present - if(config.suppress && (title = $.attr(this, 'title'))) { - // Final attr call fixes event delegatiom and IE default tooltip showing problem - $(this).removeAttr('title').attr(oldtitle, title).attr('title', ''); - } - - // Initialize the tooltip and add API reference - obj = new QTip(elem, config, id, !!attr); - $.data(this, 'qtip', obj); - - // Catch remove/removeqtip events on target element to destroy redundant tooltip - elem.bind('remove.qtip-'+id+' removeqtip.qtip-'+id, function(){ obj.destroy(); }); - - return obj; -} - -// jQuery $.fn extension method -QTIP = $.fn.qtip = function(options, notation, newValue) -{ - var command = ('' + options).toLowerCase(), // Parse command - returned = NULL, - args = $.makeArray(arguments).slice(1), - event = args[args.length - 1], - opts = this[0] ? $.data(this[0], 'qtip') : NULL; - - // Check for API request - if((!arguments.length && opts) || command === 'api') { - return opts; - } - - // Execute API command if present - else if('string' === typeof options) - { - this.each(function() - { - var api = $.data(this, 'qtip'); - if(!api) { return TRUE; } - - // Cache the event if possible - if(event && event.timeStamp) { api.cache.event = event; } - - // Check for specific API commands - if((command === 'option' || command === 'options') && notation) { - if($.isPlainObject(notation) || newValue !== undefined) { - api.set(notation, newValue); - } - else { - returned = api.get(notation); - return FALSE; - } - } - - // Execute API command - else if(api[command]) { - api[command].apply(api[command], args); - } - }); - - return returned !== NULL ? returned : this; - } - - // No API commands. validate provided options and setup qTips - else if('object' === typeof options || !arguments.length) - { - opts = sanitizeOptions($.extend(TRUE, {}, options)); - - // Bind the qTips - return QTIP.bind.call(this, opts, event); - } -}; - -// $.fn.qtip Bind method -QTIP.bind = function(opts, event) -{ - return this.each(function(i) { - var options, targets, events, namespace, api, id; - - // Find next available ID, or use custom ID if provided - id = $.isArray(opts.id) ? opts.id[i] : opts.id; - id = !id || id === FALSE || id.length < 1 || usedIDs[id] ? QTIP.nextid++ : (usedIDs[id] = id); - - // Setup events namespace - namespace = '.qtip-'+id+'-create'; - - // Initialize the qTip and re-grab newly sanitized options - api = init.call(this, id, opts); - if(api === FALSE) { return TRUE; } - options = api.options; - - // Initialize plugins - $.each(PLUGINS, function() { - if(this.initialize === 'initialize') { this(api); } - }); - - // Determine hide and show targets - targets = { show: options.show.target, hide: options.hide.target }; - events = { - show: $.trim('' + options.show.event).replace(/ /g, namespace+' ') + namespace, - hide: $.trim('' + options.hide.event).replace(/ /g, namespace+' ') + namespace - }; - - /* - * Make sure hoverIntent functions properly by using mouseleave as a hide event if - * mouseenter/mouseout is used for show.event, even if it isn't in the users options. - */ - if(/mouse(over|enter)/i.test(events.show) && !/mouse(out|leave)/i.test(events.hide)) { - events.hide += ' mouseleave' + namespace; - } - - /* - * Also make sure initial mouse targetting works correctly by caching mousemove coords - * on show targets before the tooltip has rendered. - * - * Also set onTarget when triggered to keep mouse tracking working - */ - targets.show.bind('mousemove'+namespace, function(event) { - MOUSE = { pageX: event.pageX, pageY: event.pageY, type: 'mousemove' }; - api.cache.onTarget = TRUE; - }); - - // Define hoverIntent function - function hoverIntent(event) { - function render() { - // Cache mouse coords,render and render the tooltip - api.render(typeof event === 'object' || options.show.ready); - - // Unbind show and hide events - targets.show.add(targets.hide).unbind(namespace); - } - - // Only continue if tooltip isn't disabled - if(api.cache.disabled) { return FALSE; } - - // Cache the event data - api.cache.event = $.extend({}, event); - api.cache.target = event ? $(event.target) : [undefined]; - - // Start the event sequence - if(options.show.delay > 0) { - clearTimeout(api.timers.show); - api.timers.show = setTimeout(render, options.show.delay); - if(events.show !== events.hide) { - targets.hide.bind(events.hide, function() { clearTimeout(api.timers.show); }); - } - } - else { render(); } - } - - // Bind show events to target - targets.show.bind(events.show, hoverIntent); - - // Prerendering is enabled, create tooltip now - if(options.show.ready || options.prerender) { hoverIntent(event); } - }); -}; - -// Setup base plugins -PLUGINS = QTIP.plugins = { - // Corner object parser - Corner: function(corner) { - corner = ('' + corner).replace(/([A-Z])/, ' $1').replace(/middle/gi, CENTER).toLowerCase(); - this.x = (corner.match(/left|right/i) || corner.match(/center/) || ['inherit'])[0].toLowerCase(); - this.y = (corner.match(/top|bottom|center/i) || ['inherit'])[0].toLowerCase(); - - var f = corner.charAt(0); this.precedance = (f === 't' || f === 'b' ? Y : X); - - this.string = function() { return this.precedance === Y ? this.y+this.x : this.x+this.y; }; - this.abbrev = function() { - var x = this.x.substr(0,1), y = this.y.substr(0,1); - return x === y ? x : this.precedance === Y ? y + x : x + y; - }; - - this.invertx = function(center) { this.x = this.x === LEFT ? RIGHT : this.x === RIGHT ? LEFT : center || this.x; }; - this.inverty = function(center) { this.y = this.y === TOP ? BOTTOM : this.y === BOTTOM ? TOP : center || this.y; }; - - this.clone = function() { - return { - x: this.x, y: this.y, precedance: this.precedance, - string: this.string, abbrev: this.abbrev, clone: this.clone, - invertx: this.invertx, inverty: this.inverty - }; - }; - }, - - // Custom (more correct for qTip!) offset calculator - offset: function(elem, container) { - var pos = elem.offset(), - docBody = elem.closest('body')[0], - parent = container, scrolled, - coffset, overflow; - - function scroll(e, i) { - pos.left += i * e.scrollLeft(); - pos.top += i * e.scrollTop(); - } - - if(parent) { - // Compensate for non-static containers offset - do { - if(parent.css('position') !== 'static') { - coffset = parent.position(); - - // Account for element positioning, borders and margins - pos.left -= coffset.left + (parseInt(parent.css('borderLeftWidth'), 10) || 0) + (parseInt(parent.css('marginLeft'), 10) || 0); - pos.top -= coffset.top + (parseInt(parent.css('borderTopWidth'), 10) || 0) + (parseInt(parent.css('marginTop'), 10) || 0); - - // If this is the first parent element with an overflow of "scroll" or "auto", store it - if(!scrolled && (overflow = parent.css('overflow')) !== 'hidden' && overflow !== 'visible') { scrolled = parent; } - } - } - while((parent = $(parent[0].offsetParent)).length); - - // Compensate for containers scroll if it also has an offsetParent - if(scrolled && scrolled[0] !== docBody) { scroll( scrolled, 1 ); } - } - - return pos; - }, - - /* - * iOS version detection - */ - iOS: parseFloat( - ('' + (/CPU.*OS ([0-9_]{1,5})|(CPU like).*AppleWebKit.*Mobile/i.exec(navigator.userAgent) || [0,''])[1]) - .replace('undefined', '3_2').replace('_', '.').replace('_', '') - ) || FALSE, - - /* - * jQuery-specific $.fn overrides - */ - fn: { - /* Allow other plugins to successfully retrieve the title of an element with a qTip applied */ - attr: function(attr, val) { - if(this.length) { - var self = this[0], - title = 'title', - api = $.data(self, 'qtip'); - - if(attr === title && api && 'object' === typeof api && api.options.suppress) { - if(arguments.length < 2) { - return $.attr(self, oldtitle); - } - - // If qTip is rendered and title was originally used as content, update it - if(api && api.options.content.attr === title && api.cache.attr) { - api.set('content.text', val); - } - - // Use the regular attr method to set, then cache the result - return this.attr(oldtitle, val); - } - } - - return $.fn['attr'+replaceSuffix].apply(this, arguments); - }, - - /* Allow clone to correctly retrieve cached title attributes */ - clone: function(keepData) { - var titles = $([]), title = 'title', - - // Clone our element using the real clone method - elems = $.fn['clone'+replaceSuffix].apply(this, arguments); - - // Grab all elements with an oldtitle set, and change it to regular title attribute, if keepData is false - if(!keepData) { - elems.filter('['+oldtitle+']').attr('title', function() { - return $.attr(this, oldtitle); - }) - .removeAttr(oldtitle); - } - - return elems; - } - } -}; - -// Apply the fn overrides above -$.each(PLUGINS.fn, function(name, func) { - if(!func || $.fn[name+replaceSuffix]) { return TRUE; } - - var old = $.fn[name+replaceSuffix] = $.fn[name]; - $.fn[name] = function() { - return func.apply(this, arguments) || old.apply(this, arguments); - }; -}); - -/* Fire off 'removeqtip' handler in $.cleanData if jQuery UI not present (it already does similar). - * This snippet is taken directly from jQuery UI source code found here: - * http://code.jquery.com/ui/jquery-ui-git.js - */ -if(!$.ui) { - $['cleanData'+replaceSuffix] = $.cleanData; - $.cleanData = function( elems ) { - for(var i = 0, elem; (elem = elems[i]) !== undefined; i++) { - try { $( elem ).triggerHandler('removeqtip'); } - catch( e ) {} - } - $['cleanData'+replaceSuffix]( elems ); - }; -} - -// Set global qTip properties -QTIP.version = '@VERSION'; -QTIP.nextid = 0; -QTIP.inactiveEvents = 'click dblclick mousedown mouseup mousemove mouseleave mouseenter'.split(' '); -QTIP.zindex = 15000; - -// Define configuration defaults -QTIP.defaults = { - prerender: FALSE, - id: FALSE, - overwrite: TRUE, - suppress: TRUE, - content: { - text: TRUE, - attr: 'title', - title: { - text: FALSE, - button: FALSE - } - }, - position: { - my: 'top left', - at: 'bottom right', - target: FALSE, - container: FALSE, - viewport: FALSE, - adjust: { - x: 0, y: 0, - mouse: TRUE, - resize: TRUE, - method: 'flip flip' - }, - effect: function(api, pos, viewport) { - $(this).animate(pos, { - duration: 200, - queue: FALSE - }); - } - }, - show: { - target: FALSE, - event: 'mouseenter', - effect: TRUE, - delay: 90, - solo: FALSE, - ready: FALSE, - autofocus: FALSE - }, - hide: { - target: FALSE, - event: 'mouseleave', - effect: TRUE, - delay: 0, - fixed: FALSE, - inactive: FALSE, - leave: 'window', - distance: FALSE - }, - style: { - classes: '', - widget: FALSE, - width: FALSE, - height: FALSE, - def: TRUE - }, - events: { - render: NULL, - move: NULL, - show: NULL, - hide: NULL, - toggle: NULL, - visible: NULL, - hidden: NULL, - focus: NULL, - blur: NULL - } -}; - - -PLUGINS.svg = function(api, svg, corner, adjustMethod) -{ - var doc = $(document), - elem = svg[0], - result = { - width: 0, height: 0, - position: { top: 1e10, left: 1e10 } - }, - box, mtx, root, point, tPoint; - - // Ascend the parentNode chain until we find an element with getBBox() - while(!elem.getBBox) { elem = elem.parentNode; } - - // Check for a valid bounding box method - if (elem.getBBox && elem.parentNode) { - box = elem.getBBox(); - mtx = elem.getScreenCTM(); - root = elem.farthestViewportElement || elem; - - // Return if no method is found - if(!root.createSVGPoint) { return result; } - - // Create our point var - point = root.createSVGPoint(); - - // Adjust top and left - point.x = box.x; - point.y = box.y; - tPoint = point.matrixTransform(mtx); - result.position.left = tPoint.x; - result.position.top = tPoint.y; - - // Adjust width and height - point.x += box.width; - point.y += box.height; - tPoint = point.matrixTransform(mtx); - result.width = tPoint.x - result.position.left; - result.height = tPoint.y - result.position.top; - - // Adjust by scroll offset - result.position.left += doc.scrollLeft(); - result.position.top += doc.scrollTop(); - } - - return result; -}; - - -function Ajax(api) -{ - var self = this, - tooltip = api.elements.tooltip, - opts = api.options.content.ajax, - defaults = QTIP.defaults.content.ajax, - namespace = '.qtip-ajax', - rscript = /)<[^<]*)*<\/script>/gi, - first = TRUE, - stop = FALSE, - xhr; - - api.checks.ajax = { - '^content.ajax': function(obj, name, v) { - // If content.ajax object was reset, set our local var - if(name === 'ajax') { opts = v; } - - if(name === 'once') { - self.init(); - } - else if(opts && opts.url) { - self.load(); - } - else { - tooltip.unbind(namespace); - } - } - }; - - $.extend(self, { - init: function() { - // Make sure ajax options are enabled and bind event - if(opts && opts.url) { - tooltip.unbind(namespace)[ opts.once ? 'one' : 'bind' ]('tooltipshow'+namespace, self.load); - } - - return self; - }, - - load: function(event) { - if(stop) {stop = FALSE; return; } - - var hasSelector = opts.url.lastIndexOf(' '), - url = opts.url, - selector, - hideFirst = !opts.loading && first; - - // If loading option is disabled, prevent the tooltip showing until we've completed the request - if(hideFirst) { try{ event.preventDefault(); } catch(e) {} } - - // Make sure default event hasn't been prevented - else if(event && event.isDefaultPrevented()) { return self; } - - // Cancel old request - if(xhr && xhr.abort) { xhr.abort(); } - - // Check if user delcared a content selector like in .load() - if(hasSelector > -1) { - selector = url.substr(hasSelector); - url = url.substr(0, hasSelector); - } - - // Define common after callback for both success/error handlers - function after() { - var complete; - - // Don't proceed if tooltip is destroyed - if(api.destroyed) { return; } - - // Set first flag to false - first = FALSE; - - // Re-display tip if loading and first time, and reset first flag - if(hideFirst) { stop = TRUE; api.show(event.originalEvent); } - - // Call users complete method if it was defined - if((complete = defaults.complete || opts.complete) && $.isFunction(complete)) { - complete.apply(opts.context || api, arguments); - } - } - - // Define success handler - function successHandler(content, status, jqXHR) { - var success; - - // Don't proceed if tooltip is destroyed - if(api.destroyed) { return; } - - // If URL contains a selector - if(selector && 'string' === typeof content) { - // Create a dummy div to hold the results and grab the selector element - content = $('
              ') - // inject the contents of the document in, removing the scripts - // to avoid any 'Permission Denied' errors in IE - .append(content.replace(rscript, "")) - - // Locate the specified elements - .find(selector); - } - - // Call the success function if one is defined - if((success = defaults.success || opts.success) && $.isFunction(success)) { - success.call(opts.context || api, content, status, jqXHR); - } - - // Otherwise set the content - else { api.set('content.text', content); } - } - - // Error handler - function errorHandler(xhr, status, error) { - if(api.destroyed || xhr.status === 0) { return; } - api.set('content.text', status + ': ' + error); - } - - // Setup $.ajax option object and process the request - xhr = $.ajax( - $.extend({ - error: defaults.error || errorHandler, - context: api - }, - opts, { url: url, success: successHandler, complete: after }) - ); - }, - - destroy: function() { - // Cancel ajax request if possible - if(xhr && xhr.abort) { xhr.abort(); } - - // Set api.destroyed flag - api.destroyed = TRUE; - } - }); - - self.init(); -} - - -PLUGINS.ajax = function(api) -{ - var self = api.plugins.ajax; - - return 'object' === typeof self ? self : (api.plugins.ajax = new Ajax(api)); -}; - -PLUGINS.ajax.initialize = 'render'; - -// Setup plugin sanitization -PLUGINS.ajax.sanitize = function(options) -{ - var content = options.content, opts; - if(content && 'ajax' in content) { - opts = content.ajax; - if(typeof opts !== 'object') { opts = options.content.ajax = { url: opts }; } - if('boolean' !== typeof opts.once && opts.once) { opts.once = !!opts.once; } - } -}; - -// Extend original api defaults -$.extend(TRUE, QTIP.defaults, { - content: { - ajax: { - loading: TRUE, - once: TRUE - } - } -}); - - -// Tip coordinates calculator -function calculateTip(corner, width, height) -{ - var width2 = Math.ceil(width / 2), height2 = Math.ceil(height / 2), - - // Define tip coordinates in terms of height and width values - tips = { - bottomright: [[0,0], [width,height], [width,0]], - bottomleft: [[0,0], [width,0], [0,height]], - topright: [[0,height], [width,0], [width,height]], - topleft: [[0,0], [0,height], [width,height]], - topcenter: [[0,height], [width2,0], [width,height]], - bottomcenter: [[0,0], [width,0], [width2,height]], - rightcenter: [[0,0], [width,height2], [0,height]], - leftcenter: [[width,0], [width,height], [0,height2]] - }; - - // Set common side shapes - tips.lefttop = tips.bottomright; tips.righttop = tips.bottomleft; - tips.leftbottom = tips.topright; tips.rightbottom = tips.topleft; - - return tips[ corner.string() ]; -} - - -function Tip(qTip, command) -{ - var self = this, - opts = qTip.options.style.tip, - elems = qTip.elements, - tooltip = elems.tooltip, - cache = { top: 0, left: 0 }, - size = { - width: opts.width, - height: opts.height - }, - color = { }, - border = opts.border || 0, - namespace = '.qtip-tip', - hasCanvas = !!($('')[0] || {}).getContext, - tiphtml; - - self.corner = NULL; - self.mimic = NULL; - self.border = border; - self.offset = opts.offset; - self.size = size; - - // Add new option checks for the plugin - qTip.checks.tip = { - '^position.my|style.tip.(corner|mimic|border)$': function() { - // Make sure a tip can be drawn - if(!self.init()) { - self.destroy(); - } - - // Reposition the tooltip - qTip.reposition(); - }, - '^style.tip.(height|width)$': function() { - // Re-set dimensions and redraw the tip - size = { - width: opts.width, - height: opts.height - }; - self.create(); - self.update(); - - // Reposition the tooltip - qTip.reposition(); - }, - '^content.title.text|style.(classes|widget)$': function() { - if(elems.tip && elems.tip.length) { - self.update(); - } - } - }; - - function whileVisible(callback) { - var visible = tooltip.is(':visible'); - tooltip.show(); callback(); tooltip.toggle(visible); - } - - function swapDimensions() { - size.width = opts.height; - size.height = opts.width; - } - - function resetDimensions() { - size.width = opts.width; - size.height = opts.height; - } - - function reposition(event, api, pos, viewport) { - if(!elems.tip) { return; } - - var newCorner = self.corner.clone(), - adjust = pos.adjusted, - method = qTip.options.position.adjust.method.split(' '), - horizontal = method[0], - vertical = method[1] || method[0], - shift = { left: FALSE, top: FALSE, x: 0, y: 0 }, - offset, css = {}, props; - - // If our tip position isn't fixed e.g. doesn't adjust with viewport... - if(self.corner.fixed !== TRUE) { - // Horizontal - Shift or flip method - if(horizontal === SHIFT && newCorner.precedance === X && adjust.left && newCorner.y !== CENTER) { - newCorner.precedance = newCorner.precedance === X ? Y : X; - } - else if(horizontal !== SHIFT && adjust.left){ - newCorner.x = newCorner.x === CENTER ? (adjust.left > 0 ? LEFT : RIGHT) : (newCorner.x === LEFT ? RIGHT : LEFT); - } - - // Vertical - Shift or flip method - if(vertical === SHIFT && newCorner.precedance === Y && adjust.top && newCorner.x !== CENTER) { - newCorner.precedance = newCorner.precedance === Y ? X : Y; - } - else if(vertical !== SHIFT && adjust.top) { - newCorner.y = newCorner.y === CENTER ? (adjust.top > 0 ? TOP : BOTTOM) : (newCorner.y === TOP ? BOTTOM : TOP); - } - - // Update and redraw the tip if needed (check cached details of last drawn tip) - if(newCorner.string() !== cache.corner.string() && (cache.top !== adjust.top || cache.left !== adjust.left)) { - self.update(newCorner, FALSE); - } - } - - // Setup tip offset properties - offset = self.position(newCorner, adjust); - offset[ newCorner.x ] += parseWidth(newCorner, newCorner.x); - offset[ newCorner.y ] += parseWidth(newCorner, newCorner.y); - - // Readjust offset object to make it left/top - if(offset.right !== undefined) { offset.left = -offset.right; } - if(offset.bottom !== undefined) { offset.top = -offset.bottom; } - offset.user = Math.max(0, opts.offset); - - // Viewport "shift" specific adjustments - if(shift.left = (horizontal === SHIFT && !!adjust.left)) { - if(newCorner.x === CENTER) { - css['margin-left'] = shift.x = offset['margin-left'] - adjust.left; - } - else { - props = offset.right !== undefined ? - [ adjust.left, -offset.left ] : [ -adjust.left, offset.left ]; - - if( (shift.x = Math.max(props[0], props[1])) > props[0] ) { - pos.left -= adjust.left; - shift.left = FALSE; - } - - css[ offset.right !== undefined ? RIGHT : LEFT ] = shift.x; - } - } - if(shift.top = (vertical === SHIFT && !!adjust.top)) { - if(newCorner.y === CENTER) { - css['margin-top'] = shift.y = offset['margin-top'] - adjust.top; - } - else { - props = offset.bottom !== undefined ? - [ adjust.top, -offset.top ] : [ -adjust.top, offset.top ]; - - if( (shift.y = Math.max(props[0], props[1])) > props[0] ) { - pos.top -= adjust.top; - shift.top = FALSE; - } - - css[ offset.bottom !== undefined ? BOTTOM : TOP ] = shift.y; - } - } - - /* - * If the tip is adjusted in both dimensions, or in a - * direction that would cause it to be anywhere but the - * outer border, hide it! - */ - elems.tip.css(css).toggle( - !((shift.x && shift.y) || (newCorner.x === CENTER && shift.y) || (newCorner.y === CENTER && shift.x)) - ); - - // Adjust position to accomodate tip dimensions - pos.left -= offset.left.charAt ? offset.user : horizontal !== SHIFT || shift.top || !shift.left && !shift.top ? offset.left : 0; - pos.top -= offset.top.charAt ? offset.user : vertical !== SHIFT || shift.left || !shift.left && !shift.top ? offset.top : 0; - - // Cache details - cache.left = adjust.left; cache.top = adjust.top; - cache.corner = newCorner.clone(); - } - - function parseCorner() { - var corner = opts.corner, - posOptions = qTip.options.position, - at = posOptions.at, - my = posOptions.my.string ? posOptions.my.string() : posOptions.my; - - // Detect corner and mimic properties - if(corner === FALSE || (my === FALSE && at === FALSE)) { - return FALSE; - } - else { - if(corner === TRUE) { - self.corner = new PLUGINS.Corner(my); - } - else if(!corner.string) { - self.corner = new PLUGINS.Corner(corner); - self.corner.fixed = TRUE; - } - } - - // Cache it - cache.corner = new PLUGINS.Corner( self.corner.string() ); - - return self.corner.string() !== 'centercenter'; - } - - /* border width calculator */ - function parseWidth(corner, side, use) { - side = !side ? corner[corner.precedance] : side; - - var isTitleTop = elems.titlebar && corner.y === TOP, - elem = isTitleTop ? elems.titlebar : tooltip, - borderSide = 'border-' + side + '-width', - css = function(elem) { return parseInt(elem.css(borderSide), 10); }, - val; - - // Grab the border-width value (make tooltip visible first) - whileVisible(function() { - val = (use ? css(use) : (css(elems.content) || css(elem) || css(tooltip))) || 0; - }); - return val; - } - - function parseRadius(corner) { - var isTitleTop = elems.titlebar && corner.y === TOP, - elem = isTitleTop ? elems.titlebar : elems.content, - moz = $.browser.mozilla, - prefix = moz ? '-moz-' : $.browser.webkit ? '-webkit-' : '', - nonStandard = 'border-radius-' + corner.y + corner.x, - standard = 'border-' + corner.y + '-' + corner.x + '-radius', - css = function(c) { return parseInt(elem.css(c), 10) || parseInt(tooltip.css(c), 10); }, - val; - - whileVisible(function() { - val = css(standard) || css(prefix + standard) || css(prefix + nonStandard) || css(nonStandard) || 0; - }); - return val; - } - - function parseColours(actual) { - var i, fill, border, - tip = elems.tip.css('cssText', ''), - corner = actual || self.corner, - invalid = /rgba?\(0, 0, 0(, 0)?\)|transparent|#123456/i, - borderSide = 'border-' + corner[ corner.precedance ] + '-color', - bgColor = 'background-color', - transparent = 'transparent', - important = ' !important', - - titlebar = elems.titlebar, - useTitle = titlebar && (corner.y === TOP || (corner.y === CENTER && tip.position().top + (size.height / 2) + opts.offset < titlebar.outerHeight(TRUE))), - colorElem = useTitle ? titlebar : elems.content; - - function css(elem, prop, compare) { - var val = elem.css(prop) || transparent; - if(compare && val === elem.css(compare)) { return FALSE; } - else { return invalid.test(val) ? FALSE : val; } - } - - // Ensure tooltip is visible then... - whileVisible(function() { - // Attempt to detect the background colour from various elements, left-to-right precedance - color.fill = css(tip, bgColor) || css(colorElem, bgColor) || css(elems.content, bgColor) || - css(tooltip, bgColor) || tip.css(bgColor); - - // Attempt to detect the correct border side colour from various elements, left-to-right precedance - color.border = css(tip, borderSide, 'color') || css(colorElem, borderSide, 'color') || - css(elems.content, borderSide, 'color') || css(tooltip, borderSide, 'color') || tooltip.css(borderSide); - - // Reset background and border colours - $('*', tip).add(tip).css('cssText', bgColor+':'+transparent+important+';border:0'+important+';'); - }); - } - - function calculateSize(corner) { - var y = corner.precedance === Y, - width = size [ y ? WIDTH : HEIGHT ], - height = size [ y ? HEIGHT : WIDTH ], - isCenter = corner.string().indexOf(CENTER) > -1, - base = width * (isCenter ? 0.5 : 1), - pow = Math.pow, - round = Math.round, - bigHyp, ratio, result, - - smallHyp = Math.sqrt( pow(base, 2) + pow(height, 2) ), - - hyp = [ - (border / base) * smallHyp, (border / height) * smallHyp - ]; - hyp[2] = Math.sqrt( pow(hyp[0], 2) - pow(border, 2) ); - hyp[3] = Math.sqrt( pow(hyp[1], 2) - pow(border, 2) ); - - bigHyp = smallHyp + hyp[2] + hyp[3] + (isCenter ? 0 : hyp[0]); - ratio = bigHyp / smallHyp; - - result = [ round(ratio * height), round(ratio * width) ]; - return { height: result[ y ? 0 : 1 ], width: result[ y ? 1 : 0 ] }; - } - - function createVML(tag, props, style) { - return ''; - } - - $.extend(self, { - init: function() - { - var enabled = parseCorner() && (hasCanvas || $.browser.msie); - - // Determine tip corner and type - if(enabled) { - // Create a new tip and draw it - self.create(); - self.update(); - - // Bind update events - tooltip.unbind(namespace).bind('tooltipmove'+namespace, reposition); - - // Fix for issue of tips not showing after redraw in IE (VML...) - if(!hasCanvas) { - tooltip.bind('tooltipredraw tooltipredrawn', function(event) { - if(event.type === 'tooltipredraw') { - tiphtml = elems.tip.html(); - elems.tip.html(''); - } - else { elems.tip.html(tiphtml); } - }); - } - } - - return enabled; - }, - - create: function() - { - var width = size.width, - height = size.height, - vml; - - // Remove previous tip element if present - if(elems.tip) { elems.tip.remove(); } - - // Create tip element and prepend to the tooltip - elems.tip = $('
              ', { 'class': 'ui-tooltip-tip' }).css({ width: width, height: height }).prependTo(tooltip); - - // Create tip drawing element(s) - if(hasCanvas) { - // save() as soon as we create the canvas element so FF2 doesn't bork on our first restore()! - $('').appendTo(elems.tip)[0].getContext('2d').save(); - } - else { - vml = createVML('shape', 'coordorigin="0,0"', 'position:absolute;'); - elems.tip.html(vml + vml); - - // Prevent mousing down on the tip since it causes problems with .live() handling in IE due to VML - $('*', elems.tip).bind('click mousedown', function(event) { event.stopPropagation(); }); - } - }, - - update: function(corner, position) - { - var tip = elems.tip, - inner = tip.children(), - width = size.width, - height = size.height, - mimic = opts.mimic, - round = Math.round, - precedance, context, coords, translate, newSize; - - // Re-determine tip if not already set - if(!corner) { corner = cache.corner || self.corner; } - - // Use corner property if we detect an invalid mimic value - if(mimic === FALSE) { mimic = corner; } - - // Otherwise inherit mimic properties from the corner object as necessary - else { - mimic = new PLUGINS.Corner(mimic); - mimic.precedance = corner.precedance; - - if(mimic.x === 'inherit') { mimic.x = corner.x; } - else if(mimic.y === 'inherit') { mimic.y = corner.y; } - else if(mimic.x === mimic.y) { - mimic[ corner.precedance ] = corner[ corner.precedance ]; - } - } - precedance = mimic.precedance; - - // Ensure the tip width.height are relative to the tip position - if(corner.precedance === X) { swapDimensions(); } - else { resetDimensions(); } - - // Set the tip dimensions - elems.tip.css({ - width: (width = size.width), - height: (height = size.height) - }); - - // Update our colours - parseColours(corner); - - // Detect border width, taking into account colours - if(color.border !== 'transparent') { - // Grab border width - border = parseWidth(corner, NULL); - - // If border width isn't zero, use border color as fill (1.0 style tips) - if(opts.border === 0 && border > 0) { color.fill = color.border; } - - // Set border width (use detected border width if opts.border is true) - self.border = border = opts.border !== TRUE ? opts.border : border; - } - - // Border colour was invalid, set border to zero - else { self.border = border = 0; } - - // Calculate coordinates - coords = calculateTip(mimic, width , height); - - // Determine tip size - self.size = newSize = calculateSize(corner); - tip.css(newSize); - - // Calculate tip translation - if(corner.precedance === Y) { - translate = [ - round(mimic.x === LEFT ? border : mimic.x === RIGHT ? newSize.width - width - border : (newSize.width - width) / 2), - round(mimic.y === TOP ? newSize.height - height : 0) - ]; - } - else { - translate = [ - round(mimic.x === LEFT ? newSize.width - width : 0), - round(mimic.y === TOP ? border : mimic.y === BOTTOM ? newSize.height - height - border : (newSize.height - height) / 2) - ]; - } - - // Canvas drawing implementation - if(hasCanvas) { - // Set the canvas size using calculated size - inner.attr(newSize); - - // Grab canvas context and clear/save it - context = inner[0].getContext('2d'); - context.restore(); context.save(); - context.clearRect(0,0,3000,3000); - - // Set properties - context.fillStyle = color.fill; - context.strokeStyle = color.border; - context.lineWidth = border * 2; - context.lineJoin = 'miter'; - context.miterLimit = 100; - - // Translate origin - context.translate(translate[0], translate[1]); - - // Draw the tip - context.beginPath(); - context.moveTo(coords[0][0], coords[0][1]); - context.lineTo(coords[1][0], coords[1][1]); - context.lineTo(coords[2][0], coords[2][1]); - context.closePath(); - - // Apply fill and border - if(border) { - // Make sure transparent borders are supported by doing a stroke - // of the background colour before the stroke colour - if(tooltip.css('background-clip') === 'border-box') { - context.strokeStyle = color.fill; - context.stroke(); - } - context.strokeStyle = color.border; - context.stroke(); - } - context.fill(); - } - - // VML (IE Proprietary implementation) - else { - // Setup coordinates string - coords = 'm' + coords[0][0] + ',' + coords[0][1] + ' l' + coords[1][0] + - ',' + coords[1][1] + ' ' + coords[2][0] + ',' + coords[2][1] + ' xe'; - - // Setup VML-specific offset for pixel-perfection - translate[2] = border && /^(r|b)/i.test(corner.string()) ? - parseFloat($.browser.version, 10) === 8 ? 2 : 1 : 0; - - // Set initial CSS - inner.css({ - coordsize: (width+border) + ' ' + (height+border), - antialias: ''+(mimic.string().indexOf(CENTER) > -1), - left: translate[0], - top: translate[1], - width: width + border, - height: height + border - }) - .each(function(i) { - var $this = $(this); - - // Set shape specific attributes - $this[ $this.prop ? 'prop' : 'attr' ]({ - coordsize: (width+border) + ' ' + (height+border), - path: coords, - fillcolor: color.fill, - filled: !!i, - stroked: !i - }) - .toggle(!!(border || i)); - - // Check if border is enabled and add stroke element - if(!i && $this.html() === '') { - $this.html( - createVML('stroke', 'weight="'+(border*2)+'px" color="'+color.border+'" miterlimit="1000" joinstyle="miter"') - ); - } - }); - } - - // Position if needed - if(position !== FALSE) { self.position(corner); } - }, - - // Tip positioning method - position: function(corner) - { - var tip = elems.tip, - position = {}, - userOffset = Math.max(0, opts.offset), - precedance, dimensions, corners; - - // Return if tips are disabled or tip is not yet rendered - if(opts.corner === FALSE || !tip) { return FALSE; } - - // Inherit corner if not provided - corner = corner || self.corner; - precedance = corner.precedance; - - // Determine which tip dimension to use for adjustment - dimensions = calculateSize(corner); - - // Setup corners and offset array - corners = [ corner.x, corner.y ]; - if(precedance === X) { corners.reverse(); } - - // Calculate tip position - $.each(corners, function(i, side) { - var b, bc, br; - - if(side === CENTER) { - b = precedance === Y ? LEFT : TOP; - position[ b ] = '50%'; - position['margin-' + b] = -Math.round(dimensions[ precedance === Y ? WIDTH : HEIGHT ] / 2) + userOffset; - } - else { - b = parseWidth(corner, side); - bc = parseWidth(corner, side, elems.content); - br = parseRadius(corner); - - position[ side ] = i ? bc : (userOffset + (br > b ? br : -b)); - } - }); - - // Adjust for tip dimensions - position[ corner[precedance] ] -= dimensions[ precedance === X ? WIDTH : HEIGHT ]; - - // Set and return new position - tip.css({ top: '', bottom: '', left: '', right: '', margin: '' }).css(position); - return position; - }, - - destroy: function() - { - // Remove the tip element - if(elems.tip) { elems.tip.remove(); } - elems.tip = false; - - // Unbind events - tooltip.unbind(namespace); - } - }); - - self.init(); -} - -PLUGINS.tip = function(api) -{ - var self = api.plugins.tip; - - return 'object' === typeof self ? self : (api.plugins.tip = new Tip(api)); -}; - -// Initialize tip on render -PLUGINS.tip.initialize = 'render'; - -// Setup plugin sanitization options -PLUGINS.tip.sanitize = function(options) -{ - var style = options.style, opts; - if(style && 'tip' in style) { - opts = options.style.tip; - if(typeof opts !== 'object'){ options.style.tip = { corner: opts }; } - if(!(/string|boolean/i).test(typeof opts['corner'])) { opts['corner'] = TRUE; } - if(typeof opts.width !== 'number'){ delete opts.width; } - if(typeof opts.height !== 'number'){ delete opts.height; } - if(typeof opts.border !== 'number' && opts.border !== TRUE){ delete opts.border; } - if(typeof opts.offset !== 'number'){ delete opts.offset; } - } -}; - -// Extend original qTip defaults -$.extend(TRUE, QTIP.defaults, { - style: { - tip: { - corner: TRUE, - mimic: FALSE, - width: 6, - height: 6, - border: TRUE, - offset: 0 - } - } -}); - - -function Modal(api) -{ - var self = this, - options = api.options.show.modal, - elems = api.elements, - tooltip = elems.tooltip, - overlaySelector = '#qtip-overlay', - globalNamespace = '.qtipmodal', - namespace = globalNamespace + api.id, - attr = 'is-modal-qtip', - docBody = $(document.body), - focusableSelector = PLUGINS.modal.focusable.join(','), - focusableElems = {}, overlay; - - // Setup option set checks - api.checks.modal = { - '^show.modal.(on|blur)$': function() { - // Initialise - self.init(); - - // Show the modal if not visible already and tooltip is visible - elems.overlay.toggle( tooltip.is(':visible') ); - }, - '^content.text$': function() { - updateFocusable(); - } - }; - - function updateFocusable() { - focusableElems = $(focusableSelector, tooltip).not('[disabled]').map(function() { - return typeof this.focus === 'function' ? this : null; - }); - } - - function focusInputs(blurElems) { - // Blurring body element in IE causes window.open windows to unfocus! - if(focusableElems.length < 1 && blurElems.length) { blurElems.not('body').blur(); } - - // Focus the inputs - else { focusableElems.first().focus(); } - } - - function stealFocus(event) { - var target = $(event.target), - container = target.closest('.qtip'), - targetOnTop; - - // Determine if input container target is above this - targetOnTop = container.length < 1 ? FALSE : - (parseInt(container[0].style.zIndex, 10) > parseInt(tooltip[0].style.zIndex, 10)); - - // If we're showing a modal, but focus has landed on an input below - // this modal, divert focus to the first visible input in this modal - // or if we can't find one... the tooltip itself - if(!targetOnTop && ($(event.target).closest(selector)[0] !== tooltip[0])) { - focusInputs(target); - } - } - - $.extend(self, { - init: function() - { - // If modal is disabled... return - if(!options.on) { return self; } - - // Create the overlay if needed - overlay = self.create(); - - // Add unique attribute so we can grab modal tooltips easily via a selector - tooltip.attr(attr, TRUE) - - // Set z-index - .css('z-index', PLUGINS.modal.zindex + $(selector+'['+attr+']').length) - - // Remove previous bound events in globalNamespace - .unbind(globalNamespace).unbind(namespace) - - // Apply our show/hide/focus modal events - .bind('tooltipshow'+globalNamespace+' tooltiphide'+globalNamespace, function(event, api, duration) { - var oEvent = event.originalEvent; - - // Make sure mouseout doesn't trigger a hide when showing the modal and mousing onto backdrop - if(event.target === tooltip[0]) { - if(oEvent && event.type === 'tooltiphide' && /mouse(leave|enter)/.test(oEvent.type) && $(oEvent.relatedTarget).closest(overlay[0]).length) { - try { event.preventDefault(); } catch(e) {} - } - else if(!oEvent || (oEvent && !oEvent.solo)) { - self[ event.type.replace('tooltip', '') ](event, duration); - } - } - }) - - // Adjust modal z-index on tooltip focus - .bind('tooltipfocus'+globalNamespace, function(event) { - // If focus was cancelled before it reearch us, don't do anything - if(event.isDefaultPrevented() || event.target !== tooltip[0]) { return; } - - var qtips = $(selector).filter('['+attr+']'), - - // Keep the modal's lower than other, regular qtips - newIndex = PLUGINS.modal.zindex + qtips.length, - curIndex = parseInt(tooltip[0].style.zIndex, 10); - - // Set overlay z-index - overlay[0].style.zIndex = newIndex - 2; - - // Reduce modal z-index's and keep them properly ordered - qtips.each(function() { - if(this.style.zIndex > curIndex) { - this.style.zIndex -= 1; - } - }); - - // Fire blur event for focused tooltip - qtips.end().filter('.' + focusClass).qtip('blur', event.originalEvent); - - // Set the new z-index - tooltip.addClass(focusClass)[0].style.zIndex = newIndex; - - // Prevent default handling - try { event.preventDefault(); } catch(e) {} - }) - - // Focus any other visible modals when this one hides - .bind('tooltiphide'+globalNamespace, function(event) { - if(event.target === tooltip[0]) { - $('[' + attr + ']').filter(':visible').not(tooltip).last().qtip('focus', event); - } - }); - - // Apply keyboard "Escape key" close handler - if(options.escape) { - $(document).unbind(namespace).bind('keydown'+namespace, function(event) { - if(event.keyCode === 27 && tooltip.hasClass(focusClass)) { - api.hide(event); - } - }); - } - - // Apply click handler for blur option - if(options.blur) { - elems.overlay.unbind(namespace).bind('click'+namespace, function(event) { - if(tooltip.hasClass(focusClass)) { api.hide(event); } - }); - } - - // Update focusable elements - updateFocusable(); - - return self; - }, - - create: function() - { - var elem = $(overlaySelector); - - // Return if overlay is already rendered - if(elem.length) { - // Modal overlay should always be below all tooltips if possible - return (elems.overlay = elem.insertAfter( $(selector).last() )); - } - - // Create document overlay - overlay = elems.overlay = $('
              ', { - id: overlaySelector.substr(1), - html: '
              ', - mousedown: function() { return FALSE; } - }) - .hide() - .insertAfter( $(selector).last() ); - - // Update position on window resize or scroll - function resize() { - overlay.css({ - height: $(window).height(), - width: $(window).width() - }); - } - $(window).unbind(globalNamespace).bind('resize'+globalNamespace, resize); - resize(); // Fire it initially too - - return overlay; - }, - - toggle: function(event, state, duration) - { - // Make sure default event hasn't been prevented - if(event && event.isDefaultPrevented()) { return self; } - - var effect = options.effect, - type = state ? 'show': 'hide', - visible = overlay.is(':visible'), - modals = $('[' + attr + ']').filter(':visible').not(tooltip), - zindex; - - // Create our overlay if it isn't present already - if(!overlay) { overlay = self.create(); } - - // Prevent modal from conflicting with show.solo, and don't hide backdrop is other modals are visible - if((overlay.is(':animated') && visible === state) || (!state && modals.length)) { return self; } - - // State specific... - if(state) { - // Set position - overlay.css({ left: 0, top: 0 }); - - // Toggle backdrop cursor style on show - overlay.toggleClass('blurs', options.blur); - - // IF the modal can steal the focus - if(options.stealfocus !== FALSE) { - // Make sure we can't focus anything outside the tooltip - docBody.bind('focusin'+namespace, stealFocus); - - // Blur the current item and focus anything in the modal we an - focusInputs( $('body :focus') ); - } - } - else { - // Undelegate focus handler - docBody.unbind('focusin'+namespace); - } - - // Stop all animations - overlay.stop(TRUE, FALSE); - - // Use custom function if provided - if($.isFunction(effect)) { - effect.call(overlay, state); - } - - // If no effect type is supplied, use a simple toggle - else if(effect === FALSE) { - overlay[ type ](); - } - - // Use basic fade function - else { - overlay.fadeTo( parseInt(duration, 10) || 90, state ? 1 : 0, function() { - if(!state) { $(this).hide(); } - }); - } - - // Reset position on hide - if(!state) { - overlay.queue(function(next) { - overlay.css({ left: '', top: '' }); - next(); - }); - } - - return self; - }, - - show: function(event, duration) { return self.toggle(event, TRUE, duration); }, - hide: function(event, duration) { return self.toggle(event, FALSE, duration); }, - - destroy: function() - { - var delBlanket = overlay; - - if(delBlanket) { - // Check if any other modal tooltips are present - delBlanket = $('[' + attr + ']').not(tooltip).length < 1; - - // Remove overlay if needed - if(delBlanket) { - elems.overlay.remove(); - $(document).unbind(globalNamespace); - } - else { - elems.overlay.unbind(globalNamespace+api.id); - } - - // Undelegate focus handler - docBody.undelegate('*', 'focusin'+namespace); - } - - // Remove bound events - return tooltip.removeAttr(attr).unbind(globalNamespace); - } - }); - - self.init(); -} - -PLUGINS.modal = function(api) { - var self = api.plugins.modal; - - return 'object' === typeof self ? self : (api.plugins.modal = new Modal(api)); -}; - -// Plugin needs to be initialized on render -PLUGINS.modal.initialize = 'render'; - -// Setup sanitiztion rules -PLUGINS.modal.sanitize = function(opts) { - if(opts.show) { - if(typeof opts.show.modal !== 'object') { opts.show.modal = { on: !!opts.show.modal }; } - else if(typeof opts.show.modal.on === 'undefined') { opts.show.modal.on = TRUE; } - } -}; - -// Base z-index for all modal tooltips (use qTip core z-index as a base) -PLUGINS.modal.zindex = QTIP.zindex - 200; - -// Defines the selector used to select all 'focusable' elements within the modal when using the show.modal.stealfocus option. -// Selectors initially taken from http://stackoverflow.com/questions/7668525/is-there-a-jquery-selector-to-get-all-elements-that-can-get-focus -PLUGINS.modal.focusable = ['a[href]', 'area[href]', 'input', 'select', 'textarea', 'button', 'iframe', 'object', 'embed', '[tabindex]', '[contenteditable]']; - -// Extend original api defaults -$.extend(TRUE, QTIP.defaults, { - show: { - modal: { - on: FALSE, - effect: TRUE, - blur: TRUE, - stealfocus: TRUE, - escape: TRUE - } - } -}); - - -PLUGINS.viewport = function(api, position, posOptions, targetWidth, targetHeight, elemWidth, elemHeight) -{ - var target = posOptions.target, - tooltip = api.elements.tooltip, - my = posOptions.my, - at = posOptions.at, - adjust = posOptions.adjust, - method = adjust.method.split(' '), - methodX = method[0], - methodY = method[1] || method[0], - viewport = posOptions.viewport, - container = posOptions.container, - cache = api.cache, - tip = api.plugins.tip, - adjusted = { left: 0, top: 0 }, - fixed, newMy, newClass; - - // If viewport is not a jQuery element, or it's the window/document or no adjustment method is used... return - if(!viewport.jquery || target[0] === window || target[0] === document.body || adjust.method === 'none') { - return adjusted; - } - - // Cache our viewport details - fixed = tooltip.css('position') === 'fixed'; - viewport = { - elem: viewport, - height: viewport[ (viewport[0] === window ? 'h' : 'outerH') + 'eight' ](), - width: viewport[ (viewport[0] === window ? 'w' : 'outerW') + 'idth' ](), - scrollleft: fixed ? 0 : viewport.scrollLeft(), - scrolltop: fixed ? 0 : viewport.scrollTop(), - offset: viewport.offset() || { left: 0, top: 0 } - }; - container = { - elem: container, - scrollLeft: container.scrollLeft(), - scrollTop: container.scrollTop(), - offset: container.offset() || { left: 0, top: 0 } - }; - - // Generic calculation method - function calculate(side, otherSide, type, adjust, side1, side2, lengthName, targetLength, elemLength) { - var initialPos = position[side1], - mySide = my[side], atSide = at[side], - isShift = type === SHIFT, - viewportScroll = -container.offset[side1] + viewport.offset[side1] + viewport['scroll'+side1], - myLength = mySide === side1 ? elemLength : mySide === side2 ? -elemLength : -elemLength / 2, - atLength = atSide === side1 ? targetLength : atSide === side2 ? -targetLength : -targetLength / 2, - tipLength = tip && tip.size ? tip.size[lengthName] || 0 : 0, - tipAdjust = tip && tip.corner && tip.corner.precedance === side && !isShift ? tipLength : 0, - overflow1 = viewportScroll - initialPos + tipAdjust, - overflow2 = initialPos + elemLength - viewport[lengthName] - viewportScroll + tipAdjust, - offset = myLength - (my.precedance === side || mySide === my[otherSide] ? atLength : 0) - (atSide === CENTER ? targetLength / 2 : 0); - - // shift - if(isShift) { - tipAdjust = tip && tip.corner && tip.corner.precedance === otherSide ? tipLength : 0; - offset = (mySide === side1 ? 1 : -1) * myLength - tipAdjust; - - // Adjust position but keep it within viewport dimensions - position[side1] += overflow1 > 0 ? overflow1 : overflow2 > 0 ? -overflow2 : 0; - position[side1] = Math.max( - -container.offset[side1] + viewport.offset[side1] + (tipAdjust && tip.corner[side] === CENTER ? tip.offset : 0), - initialPos - offset, - Math.min( - Math.max(-container.offset[side1] + viewport.offset[side1] + viewport[lengthName], initialPos + offset), - position[side1] - ) - ); - } - - // flip/flipinvert - else { - // Update adjustment amount depending on if using flipinvert or flip - adjust *= (type === FLIPINVERT ? 2 : 0); - - // Check for overflow on the left/top - if(overflow1 > 0 && (mySide !== side1 || overflow2 > 0)) { - position[side1] -= offset + adjust; - newMy['invert'+side](side1); - } - - // Check for overflow on the bottom/right - else if(overflow2 > 0 && (mySide !== side2 || overflow1 > 0) ) { - position[side1] -= (mySide === CENTER ? -offset : offset) + adjust; - newMy['invert'+side](side2); - } - - // Make sure we haven't made things worse with the adjustment and reset if so - if(position[side1] < viewportScroll && -position[side1] > overflow2) { - position[side1] = initialPos; newMy = my.clone(); - } - } - - return position[side1] - initialPos; - } - - // Set newMy if using flip or flipinvert methods - if(methodX !== 'shift' || methodY !== 'shift') { newMy = my.clone(); } - - // Adjust position based onviewport and adjustment options - adjusted = { - left: methodX !== 'none' ? calculate( X, Y, methodX, adjust.x, LEFT, RIGHT, WIDTH, targetWidth, elemWidth ) : 0, - top: methodY !== 'none' ? calculate( Y, X, methodY, adjust.y, TOP, BOTTOM, HEIGHT, targetHeight, elemHeight ) : 0 - }; - - // Set tooltip position class if it's changed - if(newMy && cache.lastClass !== (newClass = uitooltip + '-pos-' + newMy.abbrev())) { - tooltip.removeClass(api.cache.lastClass).addClass( (api.cache.lastClass = newClass) ); - } - - return adjusted; -}; -PLUGINS.imagemap = function(api, area, corner, adjustMethod) -{ - if(!area.jquery) { area = $(area); } - - var cache = (api.cache.areas = {}), - shape = (area[0].shape || area.attr('shape')).toLowerCase(), - coordsString = area[0].coords || area.attr('coords'), - baseCoords = coordsString.split(','), - coords = [], - image = $('img[usemap="#'+area.parent('map').attr('name')+'"]'), - imageOffset = image.offset(), - result = { - width: 0, height: 0, - position: { - top: 1e10, right: 0, - bottom: 0, left: 1e10 - } - }, - i = 0, next = 0, dimensions; - - // POLY area coordinate calculator - // Special thanks to Ed Cradock for helping out with this. - // Uses a binary search algorithm to find suitable coordinates. - function polyCoordinates(result, coords, corner) - { - var i = 0, - compareX = 1, compareY = 1, - realX = 0, realY = 0, - newWidth = result.width, - newHeight = result.height; - - // Use a binary search algorithm to locate most suitable coordinate (hopefully) - while(newWidth > 0 && newHeight > 0 && compareX > 0 && compareY > 0) - { - newWidth = Math.floor(newWidth / 2); - newHeight = Math.floor(newHeight / 2); - - if(corner.x === LEFT){ compareX = newWidth; } - else if(corner.x === RIGHT){ compareX = result.width - newWidth; } - else{ compareX += Math.floor(newWidth / 2); } - - if(corner.y === TOP){ compareY = newHeight; } - else if(corner.y === BOTTOM){ compareY = result.height - newHeight; } - else{ compareY += Math.floor(newHeight / 2); } - - i = coords.length; while(i--) - { - if(coords.length < 2){ break; } - - realX = coords[i][0] - result.position.left; - realY = coords[i][1] - result.position.top; - - if((corner.x === LEFT && realX >= compareX) || - (corner.x === RIGHT && realX <= compareX) || - (corner.x === CENTER && (realX < compareX || realX > (result.width - compareX))) || - (corner.y === TOP && realY >= compareY) || - (corner.y === BOTTOM && realY <= compareY) || - (corner.y === CENTER && (realY < compareY || realY > (result.height - compareY)))) { - coords.splice(i, 1); - } - } - } - - return { left: coords[0][0], top: coords[0][1] }; - } - - // Make sure we account for padding and borders on the image - imageOffset.left += Math.ceil((image.outerWidth() - image.width()) / 2); - imageOffset.top += Math.ceil((image.outerHeight() - image.height()) / 2); - - // Parse coordinates into proper array - if(shape === 'poly') { - i = baseCoords.length; while(i--) - { - next = [ parseInt(baseCoords[--i], 10), parseInt(baseCoords[i+1], 10) ]; - - if(next[0] > result.position.right){ result.position.right = next[0]; } - if(next[0] < result.position.left){ result.position.left = next[0]; } - if(next[1] > result.position.bottom){ result.position.bottom = next[1]; } - if(next[1] < result.position.top){ result.position.top = next[1]; } - - coords.push(next); - } - } - else { - i = -1; while(i++ < baseCoords.length) { - coords.push( parseInt(baseCoords[i], 10) ); - } - } - - // Calculate details - switch(shape) - { - case 'rect': - result = { - width: Math.abs(coords[2] - coords[0]), - height: Math.abs(coords[3] - coords[1]), - position: { - left: Math.min(coords[0], coords[2]), - top: Math.min(coords[1], coords[3]) - } - }; - break; - - case 'circle': - result = { - width: coords[2] + 2, - height: coords[2] + 2, - position: { left: coords[0], top: coords[1] } - }; - break; - - case 'poly': - result.width = Math.abs(result.position.right - result.position.left); - result.height = Math.abs(result.position.bottom - result.position.top); - - if(corner.abbrev() === 'c') { - result.position = { - left: result.position.left + (result.width / 2), - top: result.position.top + (result.height / 2) - }; - } - else { - // Calculate if we can't find a cached value - if(!cache[corner+coordsString]) { - result.position = polyCoordinates(result, coords.slice(), corner); - - // If flip adjustment is enabled, also calculate the closest opposite point - if(adjustMethod && (adjustMethod[0] === 'flip' || adjustMethod[1] === 'flip')) { - result.offset = polyCoordinates(result, coords.slice(), { - x: corner.x === LEFT ? RIGHT : corner.x === RIGHT ? LEFT : CENTER, - y: corner.y === TOP ? BOTTOM : corner.y === BOTTOM ? TOP : CENTER - }); - - result.offset.left -= result.position.left; - result.offset.top -= result.position.top; - } - - // Store the result - cache[corner+coordsString] = result; - } - - // Grab the cached result - result = cache[corner+coordsString]; - } - - result.width = result.height = 0; - break; - } - - // Add image position to offset coordinates - result.position.left += imageOffset.left; - result.position.top += imageOffset.top; - - return result; -}; - - -/* - * BGIFrame adaption (http://plugins.jquery.com/project/bgiframe) - * Special thanks to Brandon Aaron - */ -function BGIFrame(api) -{ - var self = this, - elems = api.elements, - tooltip = elems.tooltip, - namespace = '.bgiframe-' + api.id; - - $.extend(self, { - init: function() - { - // Create the BGIFrame element - elems.bgiframe = $(''); - - // Append the new element to the tooltip - elems.bgiframe.appendTo(tooltip); - - // Update BGIFrame on tooltip move - tooltip.bind('tooltipmove'+namespace, self.adjust); - }, - - adjust: function() - { - var dimensions = api.get('dimensions'), // Determine current tooltip dimensions - plugin = api.plugins.tip, - tip = elems.tip, - tipAdjust, offset; - - // Adjust border offset - offset = parseInt(tooltip.css('border-left-width'), 10) || 0; - offset = { left: -offset, top: -offset }; - - // Adjust for tips plugin - if(plugin && tip) { - tipAdjust = (plugin.corner.precedance === 'x') ? ['width', 'left'] : ['height', 'top']; - offset[ tipAdjust[1] ] -= tip[ tipAdjust[0] ](); - } - - // Update bgiframe - elems.bgiframe.css(offset).css(dimensions); - }, - - destroy: function() - { - // Remove iframe - elems.bgiframe.remove(); - - // Remove bound events - tooltip.unbind(namespace); - } - }); - - self.init(); -} - -PLUGINS.bgiframe = function(api) -{ - var browser = $.browser, - self = api.plugins.bgiframe; - - // Proceed only if the browser is IE6 and offending elements are present - if($('select, object').length < 1 || !(browser.msie && (''+browser.version).charAt(0) === '6')) { - return FALSE; - } - - return 'object' === typeof self ? self : (api.plugins.bgiframe = new BGIFrame(api)); -}; - -// Plugin needs to be initialized on render -PLUGINS.bgiframe.initialize = 'render'; - - -})); -}( window, document )); \ No newline at end of file diff --git a/modules/lib/qtip2/jquery.qtip.min.css b/modules/lib/qtip2/jquery.qtip.min.css deleted file mode 100644 index 5966ab6..0000000 --- a/modules/lib/qtip2/jquery.qtip.min.css +++ /dev/null @@ -1 +0,0 @@ -/*! qTip2 v2.0.0 | http://craigsworks.com/projects/qtip2/ | Licensed MIT, GPL */#qtip-rcontainer{position:absolute;left:-28000px;top:-28000px;display:block;visibility:hidden}#qtip-rcontainer .ui-tooltip{display:block!important;visibility:hidden!important;position:static!important;float:left!important}.ui-tooltip,.qtip{position:absolute;left:-28000px;top:-28000px;display:none;max-width:280px;min-width:50px;font-size:10.5px;line-height:12px}.ui-tooltip-content{position:relative;padding:5px 9px;overflow:hidden;text-align:left;word-wrap:break-word}.ui-tooltip-titlebar{position:relative;min-height:14px;padding:5px 35px 5px 10px;overflow:hidden;border-width:0 0 1px;font-weight:700}.ui-tooltip-titlebar+.ui-tooltip-content{border-top-width:0!important}.ui-tooltip-titlebar .ui-state-default{position:absolute;right:4px;top:50%;margin-top:-9px;cursor:pointer;outline:medium none;border-width:1px;border-style:solid}* html .ui-tooltip-titlebar .ui-state-default{top:16px}.ui-tooltip-titlebar .ui-icon,.ui-tooltip-icon .ui-icon{display:block;text-indent:-1000em;direction:ltr}.ui-tooltip-icon,.ui-tooltip-icon .ui-icon{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;text-decoration:none}.ui-tooltip-icon .ui-icon{width:18px;height:14px;text-align:center;text-indent:0;font:normal bold 10px/13px Tahoma,sans-serif;color:inherit;background:transparent none no-repeat -100em -100em}.ui-tooltip-focus{}.ui-tooltip-hover{}.ui-tooltip-default{border-width:1px;border-style:solid;border-color:#F1D031;background-color:#FFFFA3;color:#555}.ui-tooltip-default .ui-tooltip-titlebar{background-color:#FFEF93}.ui-tooltip-default .ui-tooltip-icon{border-color:#CCC;background:#F1F1F1;color:#777}.ui-tooltip-default .ui-tooltip-titlebar .ui-state-hover{border-color:#AAA;color:#111}/*! Light tooltip style */.ui-tooltip-light{background-color:#fff;border-color:#E2E2E2;color:#454545}.ui-tooltip-light .ui-tooltip-titlebar{background-color:#f1f1f1}/*! Dark tooltip style */.ui-tooltip-dark{background-color:#505050;border-color:#303030;color:#f3f3f3}.ui-tooltip-dark .ui-tooltip-titlebar{background-color:#404040}.ui-tooltip-dark .ui-tooltip-icon{border-color:#444}.ui-tooltip-dark .ui-tooltip-titlebar .ui-state-hover{border-color:#303030}/*! Cream tooltip style */.ui-tooltip-cream{background-color:#FBF7AA;border-color:#F9E98E;color:#A27D35}.ui-tooltip-cream .ui-tooltip-titlebar{background-color:#F0DE7D}.ui-tooltip-cream .ui-state-default .ui-tooltip-icon{background-position:-82px 0}/*! Red tooltip style */.ui-tooltip-red{background-color:#F78B83;border-color:#D95252;color:#912323}.ui-tooltip-red .ui-tooltip-titlebar{background-color:#F06D65}.ui-tooltip-red .ui-state-default .ui-tooltip-icon{background-position:-102px 0}.ui-tooltip-red .ui-tooltip-icon{border-color:#D95252}.ui-tooltip-red .ui-tooltip-titlebar .ui-state-hover{border-color:#D95252}/*! Green tooltip style */.ui-tooltip-green{background-color:#CAED9E;border-color:#90D93F;color:#3F6219}.ui-tooltip-green .ui-tooltip-titlebar{background-color:#B0DE78}.ui-tooltip-green .ui-state-default .ui-tooltip-icon{background-position:-42px 0}/*! Blue tooltip style */.ui-tooltip-blue{background-color:#E5F6FE;border-color:#ADD9ED;color:#5E99BD}.ui-tooltip-blue .ui-tooltip-titlebar{background-color:#D0E9F5}.ui-tooltip-blue .ui-state-default .ui-tooltip-icon{background-position:-2px 0}.ui-tooltip-shadow{-webkit-box-shadow:1px 1px 3px 1px rgba(0,0,0,.15);-moz-box-shadow:1px 1px 3px 1px rgba(0,0,0,.15);box-shadow:1px 1px 3px 1px rgba(0,0,0,.15)}.ui-tooltip-rounded,.ui-tooltip-tipsy,.ui-tooltip-bootstrap{-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.ui-tooltip-youtube{-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 0 3px #333;-moz-box-shadow:0 0 3px #333;box-shadow:0 0 3px #333;color:#fff;border-width:0;background:#4A4A4A;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0, #4A4A4A),color-stop(100%,black));background-image:-webkit-linear-gradient(top, #4A4A4A 0,black 100%);background-image:-moz-linear-gradient(top, #4A4A4A 0,black 100%);background-image:-ms-linear-gradient(top, #4A4A4A 0,black 100%);background-image:-o-linear-gradient(top, #4A4A4A 0,black 100%)}.ui-tooltip-youtube .ui-tooltip-titlebar{background-color:#4A4A4A;background-color:rgba(0,0,0,0)}.ui-tooltip-youtube .ui-tooltip-content{padding:.75em;font:12px arial,sans-serif;filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr=#4a4a4a, EndColorStr=#000000);-ms-filter:"progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr=#4a4a4a, EndColorStr=#000000);"}.ui-tooltip-youtube .ui-tooltip-icon{border-color:#222}.ui-tooltip-youtube .ui-tooltip-titlebar .ui-state-hover{border-color:#303030}.ui-tooltip-jtools{background:#232323;background:rgba(0,0,0,.7);background-image:-webkit-gradient(linear,left top,left bottom,from( #717171),to( #232323));background-image:-moz-linear-gradient(top, #717171, #232323);background-image:-webkit-linear-gradient(top, #717171, #232323);background-image:-ms-linear-gradient(top, #717171, #232323);background-image:-o-linear-gradient(top, #717171, #232323);border:2px solid #ddd;border:2px solid rgba(241,241,241,1);-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 0 12px #333;-moz-box-shadow:0 0 12px #333;box-shadow:0 0 12px #333}.ui-tooltip-jtools .ui-tooltip-titlebar{background-color:transparent;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171, endColorstr=#4A4A4A);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171, endColorstr=#4A4A4A)"}.ui-tooltip-jtools .ui-tooltip-content{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A, endColorstr=#232323);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A, endColorstr=#232323)"}.ui-tooltip-jtools .ui-tooltip-titlebar,.ui-tooltip-jtools .ui-tooltip-content{background:transparent;color:#fff;border:0 dashed transparent}.ui-tooltip-jtools .ui-tooltip-icon{border-color:#555}.ui-tooltip-jtools .ui-tooltip-titlebar .ui-state-hover{border-color:#333}.ui-tooltip-cluetip{-webkit-box-shadow:4px 4px 5px rgba(0,0,0,.4);-moz-box-shadow:4px 4px 5px rgba(0,0,0,.4);box-shadow:4px 4px 5px rgba(0,0,0,.4);background-color:#D9D9C2;color:#111;border:0 dashed transparent}.ui-tooltip-cluetip .ui-tooltip-titlebar{background-color:#87876A;color:#fff;border:0 dashed transparent}.ui-tooltip-cluetip .ui-tooltip-icon{border-color:#808064}.ui-tooltip-cluetip .ui-tooltip-titlebar .ui-state-hover{border-color:#696952;color:#696952}.ui-tooltip-tipsy{background:#000;background:rgba(0,0,0,.87);color:#fff;border:0 solid transparent;font-size:11px;font-family:'Lucida Grande',sans-serif;font-weight:700;line-height:16px;text-shadow:0 1px black}.ui-tooltip-tipsy .ui-tooltip-titlebar{padding:6px 35px 0 10;background-color:transparent}.ui-tooltip-tipsy .ui-tooltip-content{padding:6px 10}.ui-tooltip-tipsy .ui-tooltip-icon{border-color:#222;text-shadow:none}.ui-tooltip-tipsy .ui-tooltip-titlebar .ui-state-hover{border-color:#303030}.ui-tooltip-tipped{border:3px solid #959FA9;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;background-color:#F9F9F9;color:#454545;font-weight:400;font-family:serif}.ui-tooltip-tipped .ui-tooltip-titlebar{border-bottom-width:0;color:#fff;background:#3A79B8;background-image:-webkit-gradient(linear,left top,left bottom,from( #3A79B8),to( #2E629D));background-image:-webkit-linear-gradient(top, #3A79B8, #2E629D);background-image:-moz-linear-gradient(top, #3A79B8, #2E629D);background-image:-ms-linear-gradient(top, #3A79B8, #2E629D);background-image:-o-linear-gradient(top, #3A79B8, #2E629D);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8, endColorstr=#2E629D);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8, endColorstr=#2E629D)"}.ui-tooltip-tipped .ui-tooltip-icon{border:2px solid #285589;background:#285589}.ui-tooltip-tipped .ui-tooltip-icon .ui-icon{background-color:#FBFBFB;color:#555}.ui-tooltip-bootstrap{font-size:14px;line-height:20px;color:#333;padding:1px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.ui-tooltip-bootstrap .ui-tooltip-titlebar{padding:8px 14px;margin:0;font-size:14px;font-weight:400;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.ui-tooltip-bootstrap .ui-tooltip-titlebar .ui-state-default{right:11px;top:45%;border-style:none}.ui-tooltip-bootstrap .ui-tooltip-content{padding:9px 14px}.ui-tooltip-bootstrap .ui-tooltip-icon{background:transparent}.ui-tooltip-bootstrap .ui-tooltip-icon .ui-icon{width:auto;height:auto;float:right;font-size:20px;font-weight:700;line-height:18px;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.ui-tooltip-bootstrap .ui-tooltip-icon .ui-icon:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.4;filter:alpha(opacity=40)}.ui-tooltip:not(.ie9haxors) div.ui-tooltip-content,.ui-tooltip:not(.ie9haxors) div.ui-tooltip-titlebar{filter:none;-ms-filter:none}.ui-tooltip .ui-tooltip-tip{margin:0 auto;overflow:hidden;z-index:10}.ui-tooltip .ui-tooltip-tip,.ui-tooltip .ui-tooltip-tip .qtip-vml{position:absolute;line-height:.1px!important;font-size:.1px!important;color:#123456;background:transparent;border:0 dashed transparent}.ui-tooltip .ui-tooltip-tip canvas{top:0;left:0}.ui-tooltip .ui-tooltip-tip .qtip-vml{behavior:url(#default#VML);display:inline-block;visibility:visible}#qtip-overlay{position:fixed;left:-10000em;top:-10000em}#qtip-overlay.blurs{cursor:pointer}#qtip-overlay div{position:absolute;left:0;top:0;width:100%;height:100%;background-color:#000;opacity:.7;filter:alpha(opacity=70);-ms-filter:"alpha(Opacity=70)"} \ No newline at end of file diff --git a/modules/lib/qtip2/jquery.qtip.min.js b/modules/lib/qtip2/jquery.qtip.min.js deleted file mode 100644 index 45ba157..0000000 --- a/modules/lib/qtip2/jquery.qtip.min.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! qTip2 v2.0.0 | http://craigsworks.com/projects/qtip2/ | Licensed MIT, GPL */ -(function(e,t,n){(function(e){"use strict";typeof define=="function"&&define.amd?define(["jquery"],e):jQuery&&!jQuery.fn.qtip&&e(jQuery)})(function(r){function P(e){var t=function(e){return e===o||"object"!=typeof e},n=function(e){return!r.isFunction(e)&&(!e&&!e.attr||e.length<1||"object"==typeof e&&!e.jquery)};if(!e||"object"!=typeof e)return s;t(e.metadata)&&(e.metadata={type:e.metadata});if("content"in e){if(t(e.content)||e.content.jquery)e.content={text:e.content};n(e.content.text||s)&&(e.content.text=s),"title"in e.content&&(t(e.content.title)&&(e.content.title={text:e.content.title}),n(e.content.title.text||s)&&(e.content.title.text=s))}return"position"in e&&t(e.position)&&(e.position={my:e.position,at:e.position}),"show"in e&&t(e.show)&&(e.show=e.show.jquery?{target:e.show}:{event:e.show}),"hide"in e&&t(e.hide)&&(e.hide=e.hide.jquery?{target:e.hide}:{event:e.hide}),"style"in e&&t(e.style)&&(e.style={classes:e.style}),r.each(w,function(){this.sanitize&&this.sanitize(e)}),e}function H(u,a,m,g){function U(e){var t=0,n,r=a,i=e.split(".");while(r=r[i[t++]])t",{"class":"ui-state-default ui-tooltip-close "+(a.style.widget?"":x+"-icon"),title:n,"aria-label":n}).prepend(r("",{"class":"ui-icon ui-icon-close",html:"×"})),q.button.appendTo(q.titlebar).attr("role","button").click(function(e){return F.hasClass(N)||y.hide(e),s}),y.redraw()}function J(){var e=H+"-title";q.titlebar&&X(),q.titlebar=r("
              ",{"class":x+"-titlebar "+(a.style.widget?"ui-widget-header":"")}).append(q.title=r("
              ",{id:e,"class":x+"-title","aria-atomic":i})).insertBefore(q.content).delegate(".ui-tooltip-close","mousedown keydown mouseup keyup mouseout",function(e){r(this).toggleClass("ui-state-active ui-state-focus",e.type.substr(-4)==="down")}).delegate(".ui-tooltip-close","mouseover mouseout",function(e){r(this).toggleClass("ui-state-hover",e.type==="mouseover")}),a.content.title.button?V():y.rendered&&y.redraw()}function K(e){var t=q.button,n=q.title;if(!y.rendered)return s;e?(n||J(),V()):t.remove()}function Q(e,t){var n=q.title;if(!y.rendered||!e)return s;r.isFunction(e)&&(e=e.call(u,R.event,y));if(e===s||!e&&e!=="")return X(s);e.jquery&&e.length>0?n.empty().append(e.css({display:"block"})):n.html(e),y.redraw(),t!==s&&y.rendered&&F[0].offsetWidth>0&&y.reposition(R.event)}function G(e,t){function o(e){function a(n){n&&(delete u[n.src],clearTimeout(y.timers.img[n.src]),r(n).unbind(I)),r.isEmptyObject(u)&&(y.redraw(),t!==s&&y.reposition(R.event),e())}var o,u={};if((o=i.find("img[src]:not([height]):not([width])")).length===0)return a();o.each(function(e,t){if(u[t.src]!==n)return;var i=0,s=3;(function o(){if(t.height||t.width||i>s)return a(t);i+=1,y.timers.img[t.src]=setTimeout(o,700)})(),r(t).bind("error"+I+" load"+I,function(){a(this)}),u[t.src]=t})}var i=q.content;return!y.rendered||!e?s:(r.isFunction(e)&&(e=e.call(u,R.event,y)||""),e.jquery&&e.length>0?i.empty().append(e.css({display:"block"})):i.html(e),y.rendered<0?F.queue("fx",o):(j=0,o(r.noop)),y)}function Y(){function c(e){if(F.hasClass(N))return s;clearTimeout(y.timers.show),clearTimeout(y.timers.hide);var t=function(){y.toggle(i,e)};a.show.delay>0?y.timers.show=setTimeout(t,a.show.delay):t()}function h(e){if(F.hasClass(N)||B||j)return s;var t=r(e.relatedTarget||e.target),i=t.closest(C)[0]===F[0],u=t[0]===o.show[0];clearTimeout(y.timers.show),clearTimeout(y.timers.hide);if(n.target==="mouse"&&i||a.hide.fixed&&/mouse(out|leave|move)/.test(e.type)&&(i||u)){try{e.preventDefault(),e.stopImmediatePropagation()}catch(f){}return}a.hide.delay>0?y.timers.hide=setTimeout(function(){y.hide(e)},a.hide.delay):y.hide(e)}function p(e){if(F.hasClass(N))return s;clearTimeout(y.timers.inactive),y.timers.inactive=setTimeout(function(){y.hide(e)},a.hide.inactive)}function d(e){y.rendered&&F[0].offsetWidth>0&&y.reposition(e)}var n=a.position,o={show:a.show.target,hide:a.hide.target,viewport:r(n.viewport),document:r(t),body:r(t.body),window:r(e)},f={show:r.trim(""+a.show.event).split(" "),hide:r.trim(""+a.hide.event).split(" ")},l=r.browser.msie&&parseInt(r.browser.version,10)===6;F.bind("mouseenter"+I+" mouseleave"+I,function(e){var t=e.type==="mouseenter";t&&y.focus(e),F.toggleClass(A,t)}),/mouse(out|leave)/i.test(a.hide.event)&&a.hide.leave==="window"&&o.window.bind("mouseout"+I+" blur"+I,function(e){!/select|option/.test(e.target.nodeName)&&!e.relatedTarget&&y.hide(e)}),a.hide.fixed?(o.hide=o.hide.add(F),F.bind("mouseover"+I,function(){F.hasClass(N)||clearTimeout(y.timers.hide)})):/mouse(over|enter)/i.test(a.show.event)&&o.hide.bind("mouseleave"+I,function(e){clearTimeout(y.timers.show)}),(""+a.hide.event).indexOf("unfocus")>-1&&n.container.closest("html").bind("mousedown"+I+" touchstart"+I,function(e){var t=r(e.target),n=y.rendered&&!F.hasClass(N)&&F[0].offsetWidth>0,i=t.parents(C).filter(F[0]).length>0;t[0]!==u[0]&&t[0]!==F[0]&&!i&&!u.has(t[0]).length&&!t.attr("disabled")&&y.hide(e)}),"number"==typeof a.hide.inactive&&(o.show.bind("qtip-"+m+"-inactive",p),r.each(b.inactiveEvents,function(e,t){o.hide.add(q.tooltip).bind(t+I+"-inactive",p)})),r.each(f.hide,function(e,t){var n=r.inArray(t,f.show),i=r(o.hide);n>-1&&i.add(o.show).length===i.length||t==="unfocus"?(o.show.bind(t+I,function(e){F[0].offsetWidth>0?h(e):c(e)}),delete f.show[n]):o.hide.bind(t+I,h)}),r.each(f.show,function(e,t){o.show.bind(t+I,c)}),"number"==typeof a.hide.distance&&o.show.add(F).bind("mousemove"+I,function(e){var t=R.origin||{},n=a.hide.distance,r=Math.abs;(r(e.pageX-t.pageX)>=n||r(e.pageY-t.pageY)>=n)&&y.hide(e)}),n.target==="mouse"&&(o.show.bind("mousemove"+I,function(e){E={pageX:e.pageX,pageY:e.pageY,type:"mousemove"}}),n.adjust.mouse&&(a.hide.event&&(F.bind("mouseleave"+I,function(e){(e.relatedTarget||e.target)!==o.show[0]&&y.hide(e)}),q.target.bind("mouseenter"+I+" mouseleave"+I,function(e){R.onTarget=e.type==="mouseenter"})),o.document.bind("mousemove"+I,function(e){y.rendered&&R.onTarget&&!F.hasClass(N)&&F[0].offsetWidth>0&&y.reposition(e||E)}))),(n.adjust.resize||o.viewport.length)&&(r.event.special.resize?o.viewport:o.window).bind("resize"+I,d),(o.viewport.length||l&&F.css("position")==="fixed")&&o.viewport.bind("scroll"+I,d)}function Z(){var n=[a.show.target[0],a.hide.target[0],y.rendered&&q.tooltip[0],a.position.container[0],a.position.viewport[0],a.position.container.closest("html")[0],e,t];y.rendered?r([]).pushStack(r.grep(n,function(e){return typeof e=="object"})).unbind(I):a.show.target.unbind(I+"-create")}var y=this,O=t.body,H=x+"-"+m,B=0,j=0,F=r(),I=".qtip-"+m,q,R;y.id=m,y.rendered=s,y.destroyed=s,y.elements=q={target:u},y.timers={img:{}},y.options=a,y.checks={},y.plugins={},y.cache=R={event:{},target:r(),disabled:s,attr:g,onTarget:s,lastClass:""},y.checks.builtin={"^id$":function(e,t,n){var o=n===i?b.nextid:n,u=x+"-"+o;o!==s&&o.length>0&&!r("#"+u).length&&(F[0].id=u,q.content[0].id=u+"-content",q.title[0].id=u+"-title")},"^content.text$":function(e,t,n){G(n)},"^content.title.text$":function(e,t,n){if(!n)return X();!q.title&&n&&J(),Q(n)},"^content.title.button$":function(e,t,n){K(n)},"^position.(my|at)$":function(e,t,n){"string"==typeof n&&(e[t]=new w.Corner(n))},"^position.container$":function(e,t,n){y.rendered&&F.appendTo(n)},"^show.ready$":function(){y.rendered?y.toggle(i):y.render(1)},"^style.classes$":function(e,t,n){F.attr("class",x+" qtip "+n)},"^style.widget|content.title":W,"^events.(render|show|move|hide|focus|blur)$":function(e,t,n){F[(r.isFunction(n)?"":"un")+"bind"]("tooltip"+t,n)},"^(show|hide|position).(event|target|fixed|inactive|leave|distance|viewport|adjust)":function(){var e=a.position;F.attr("tracking",e.target==="mouse"&&e.adjust.mouse),Z(),Y()}},r.extend(y,{render:function(e){if(y.rendered)return y;var t=a.content.text,n=a.content.title.text,o=a.position;return r.attr(u[0],"aria-describedby",H),F=q.tooltip=r("
              ",{id:H,"class":x+" qtip "+k+" "+a.style.classes+" "+x+"-pos-"+a.position.my.abbrev(),width:a.style.width||"",height:a.style.height||"",tracking:o.target==="mouse"&&o.adjust.mouse,role:"alert","aria-live":"polite","aria-atomic":s,"aria-describedby":H+"-content","aria-hidden":i}).toggleClass(N,R.disabled).data("qtip",y).appendTo(a.position.container).append(q.content=r("
              ",{"class":x+"-content",id:H+"-content","aria-atomic":i})),y.rendered=-1,j=1,B=1,n&&(J(),r.isFunction(n)||Q(n,s)),r.isFunction(t)||G(t,s),y.rendered=i,W(),r.each(a.events,function(e,t){r.isFunction(t)&&F.bind(e==="toggle"?"tooltipshow tooltiphide":"tooltip"+e,t)}),r.each(w,function(){this.initialize==="render"&&this(y)}),Y(),F.queue("fx",function(t){z("render"),j=0,B=0,y.redraw(),(a.show.ready||e)&&y.toggle(i,R.event,s),t()}),y},get:function(e){var t,n;switch(e.toLowerCase()){case"dimensions":t={height:F.outerHeight(s),width:F.outerWidth(s)};break;case"offset":t=w.offset(F,a.position.container);break;default:n=U(e.toLowerCase()),t=n[0][n[1]],t=t.precedance?t.string():t}return t},set:function(e,t){function p(e,t){var n,r,i;for(n in c)for(r in c[n])if(i=(new RegExp(r,"i")).exec(e))t.push(i),c[n][r].apply(y,t)}var n=/^position\.(my|at|adjust|target|container)|style|content|show\.ready/i,u=/^content\.(title|attr)|style/i,f=s,l=s,c=y.checks,h;return"string"==typeof e?(h=e,e={},e[h]=t):e=r.extend(i,{},e),r.each(e,function(t,i){var s=U(t.toLowerCase()),o;o=s[0][s[1]],s[0][s[1]]="object"==typeof i&&i.nodeType?r(i):i,e[t]=[s[0],s[1],i,o],f=n.test(t)||f,l=u.test(t)||l}),P(a),B=j=1,r.each(e,p),B=j=0,y.rendered&&F[0].offsetWidth>0&&(f&&y.reposition(a.position.target==="mouse"?o:R.event),l&&y.redraw()),y},toggle:function(e,n){function b(){e?(r.browser.msie&&F[0].style.removeAttribute("filter"),F.css("overflow",""),"string"==typeof u.autofocus&&r(u.autofocus,F).focus(),u.target.trigger("qtip-"+m+"-inactive")):F.css({display:"",visibility:"",opacity:"",left:"",top:""}),z(e?"visible":"hidden")}if(n){if(/over|enter/.test(n.type)&&/out|leave/.test(R.event.type)&&a.show.target.add(n.target).length===a.show.target.length&&F.has(n.relatedTarget).length)return y;R.event=r.extend({},n)}if(!y.rendered)return e?y.render(1):y;var o=e?"show":"hide",u=a[o],f=a[e?"hide":"show"],l=a.position,c=a.content,h=F[0].offsetWidth>0,p=e||u.target.length===1,d=!n||u.target.length<2||R.target[0]===n.target,v,g;return(typeof e).search("boolean|number")&&(e=!h),!F.is(":animated")&&h===e&&d?y:z(o,[90])?(r.attr(F[0],"aria-hidden",!e),e?(R.origin=r.extend({},E),y.focus(n),r.isFunction(c.text)&&G(c.text,s),r.isFunction(c.title.text)&&Q(c.title.text,s),!_&&l.target==="mouse"&&l.adjust.mouse&&(r(t).bind("mousemove.qtip",function(e){E={pageX:e.pageX,pageY:e.pageY,type:"mousemove"}}),_=i),y.reposition(n,arguments[2]),!u.solo||r(C,u.solo).not(F).qtip("hide",r.Event("tooltipsolo"))):(clearTimeout(y.timers.show),delete R.origin,_&&!r(C+'[tracking="true"]:visible',u.solo).not(F).length&&(r(t).unbind("mousemove.qtip"),_=s),y.blur(n)),u.effect===s||p===s?(F[o](),b.call(F)):r.isFunction(u.effect)?(F.stop(1,1),u.effect.call(F,y),F.queue("fx",function(e){b(),e()})):F.fadeTo(90,e?1:0,b),e&&u.target.trigger("qtip-"+m+"-inactive"),y):y},show:function(e){return y.toggle(i,e)},hide:function(e){return y.toggle(s,e)},focus:function(e){if(!y.rendered)return y;var t=r(C),n=parseInt(F[0].style.zIndex,10),i=b.zindex+t.length,s=r.extend({},e),o;return F.hasClass(L)||z("focus",[i],s)&&(n!==i&&(t.each(function(){this.style.zIndex>n&&(this.style.zIndex=this.style.zIndex-1)}),t.filter("."+L).qtip("blur",s)),F.addClass(L)[0].style.zIndex=i),y},blur:function(e){return F.removeClass(L),z("blur",[F.css("zIndex")],e),y},reposition:function(n,i){if(!y.rendered||B)return y;B=1;var o=a.position.target,u=a.position,f=u.my,l=u.at,m=u.adjust,g=m.method.split(" "),b=F.outerWidth(s),S=F.outerHeight(s),x=0,T=0,N=F.css("position")==="fixed",C=u.viewport,k={left:0,top:0},L=u.container,A=F[0].offsetWidth>0,O,M,_;if(r.isArray(o)&&o.length===2)l={x:h,y:c},k={left:o[0],top:o[1]};else if(o==="mouse"&&(n&&n.pageX||R.event.pageX))l={x:h,y:c},n=E&&E.pageX&&(m.mouse||!n||!n.pageX)?{pageX:E.pageX,pageY:E.pageY}:(!n||n.type!=="resize"&&n.type!=="scroll"?n&&n.pageX&&n.type==="mousemove"?n:!m.mouse&&R.origin&&R.origin.pageX&&a.show.distance?R.origin:n:R.event)||n||R.event||E||{},k={top:n.pageY,left:n.pageX};else{o==="event"&&n&&n.target&&n.type!=="scroll"&&n.type!=="resize"?R.target=r(n.target):o!=="event"&&(R.target=r(o.jquery?o:q.target)),o=R.target,o=r(o).eq(0);if(o.length===0)return y;o[0]===t||o[0]===e?(x=w.iOS?e.innerWidth:o.width(),T=w.iOS?e.innerHeight:o.height(),o[0]===e&&(k={top:(C||o).scrollTop(),left:(C||o).scrollLeft()})):w.imagemap&&o.is("area")?O=w.imagemap(y,o,l,w.viewport?g:s):w.svg&&typeof o[0].xmlbase=="string"?O=w.svg(y,o,l,w.viewport?g:s):(x=o.outerWidth(s),T=o.outerHeight(s),k=w.offset(o,L)),O&&(x=O.width,T=O.height,M=O.offset,k=O.position);if(w.iOS>3.1&&w.iOS<4.1||w.iOS>=4.3&&w.iOS<4.33||!w.iOS&&N)_=r(e),k.left-=_.scrollLeft(),k.top-=_.scrollTop();k.left+=l.x===d?x:l.x===v?x/2:0,k.top+=l.y===p?T:l.y===v?T/2:0}return k.left+=m.x+(f.x===d?-b:f.x===v?-b/2:0),k.top+=m.y+(f.y===p?-S:f.y===v?-S/2:0),w.viewport?(k.adjusted=w.viewport(y,k,u,x,T,b,S),M&&k.adjusted.left&&(k.left+=M.left),M&&k.adjusted.top&&(k.top+=M.top)):k.adjusted={left:0,top:0},z("move",[k,C.elem||C],n)?(delete k.adjusted,i===s||!A||isNaN(k.left)||isNaN(k.top)||o==="mouse"||!r.isFunction(u.effect)?F.css(k):r.isFunction(u.effect)&&(u.effect.call(F,y,r.extend({},k)),F.queue(function(e){r(this).css({opacity:"",height:""}),r.browser.msie&&this.style.removeAttribute("filter"),e()})),B=0,y):y},redraw:function(){if(y.rendered<1||j)return y;var e=a.style,t=a.position.container,n,r,i,s;return j=1,z("redraw"),e.height&&F.css(l,e.height),e.width?F.css(f,e.width):(F.css(f,"").appendTo(D),r=F.width(),r%2<1&&(r+=1),i=F.css("max-width")||"",s=F.css("min-width")||"",n=(i+s).indexOf("%")>-1?t.width()/100:0,i=(i.indexOf("%")>-1?n:1)*parseInt(i,10)||r,s=(s.indexOf("%")>-1?n:1)*parseInt(s,10)||0,r=i+s?Math.min(Math.max(r,s),i):r,F.css(f,Math.round(r)).appendTo(t)),z("redrawn"),j=0,y},disable:function(e){return"boolean"!=typeof e&&(e=!F.hasClass(N)&&!R.disabled),y.rendered?(F.toggleClass(N,e),r.attr(F[0],"aria-disabled",e)):R.disabled=!!e,y},enable:function(){return y.disable(s)},destroy:function(){var e=u[0],t=r.attr(e,M),n=u.data("qtip");y.destroyed=i,y.rendered&&(F.stop(1,0).remove(),r.each(y.plugins,function(){this.destroy&&this.destroy()})),clearTimeout(y.timers.show),clearTimeout(y.timers.hide),Z();if(!n||y===n)r.removeData(e,"qtip"),a.suppress&&t&&(r.attr(e,"title",t),u.removeAttr(M)),u.removeAttr("aria-describedby");return u.unbind(".qtip-"+m),delete S[y.id],u}})}function B(e,n){var u,a,f,l,c,h=r(this),p=r(t.body),d=this===t?p:h,v=h.metadata?h.metadata(n.metadata):o,m=n.metadata.type==="html5"&&v?v[n.metadata.name]:o,g=h.data(n.metadata.name||"qtipopts");try{g=typeof g=="string"?r.parseJSON(g):g}catch(y){}l=r.extend(i,{},b.defaults,n,typeof g=="object"?P(g):o,P(m||v)),a=l.position,l.id=e;if("boolean"==typeof l.content.text){f=h.attr(l.content.attr);if(l.content.attr===s||!f)return s;l.content.text=f}a.container.length||(a.container=p),a.target===s&&(a.target=d),l.show.target===s&&(l.show.target=d),l.show.solo===i&&(l.show.solo=a.container.closest("body")),l.hide.target===s&&(l.hide.target=d),l.position.viewport===i&&(l.position.viewport=a.container),a.container=a.container.eq(0),a.at=new w.Corner(a.at),a.my=new w.Corner(a.my);if(r.data(this,"qtip"))if(l.overwrite)h.qtip("destroy");else if(l.overwrite===s)return s;return l.suppress&&(c=r.attr(this,"title"))&&r(this).removeAttr("title").attr(M,c).attr("title",""),u=new H(h,l,e,!!f),r.data(this,"qtip",u),h.bind("remove.qtip-"+e+" removeqtip.qtip-"+e,function(){u.destroy()}),u}function j(e){var t=this,n=e.elements.tooltip,o=e.options.content.ajax,u=b.defaults.content.ajax,a=".qtip-ajax",f=/)<[^<]*)*<\/script>/gi,l=i,c=s,h;e.checks.ajax={"^content.ajax":function(e,r,i){r==="ajax"&&(o=i),r==="once"?t.init():o&&o.url?t.load():n.unbind(a)}},r.extend(t,{init:function(){return o&&o.url&&n.unbind(a)[o.once?"one":"bind"]("tooltipshow"+a,t.load),t},load:function(n){function g(){var t;if(e.destroyed)return;l=s,v&&(c=i,e.show(n.originalEvent)),(t=u.complete||o.complete)&&r.isFunction(t)&&t.apply(o.context||e,arguments)}function y(t,n,i){var s;if(e.destroyed)return;d&&"string"==typeof t&&(t=r("
              ").append(t.replace(f,"")).find(d)),(s=u.success||o.success)&&r.isFunction(s)?s.call(o.context||e,t,n,i):e.set("content.text",t)}function b(t,n,r){if(e.destroyed||t.status===0)return;e.set("content.text",n+": "+r)}if(c){c=s;return}var a=o.url.lastIndexOf(" "),p=o.url,d,v=!o.loading&&l;if(v)try{n.preventDefault()}catch(m){}else if(n&&n.isDefaultPrevented())return t;h&&h.abort&&h.abort(),a>-1&&(d=p.substr(a),p=p.substr(0,a)),h=r.ajax(r.extend({error:u.error||b,context:e},o,{url:p,success:y,complete:g}))},destroy:function(){h&&h.abort&&h.abort(),e.destroyed=i}}),t.init()}function F(e,t,n){var r=Math.ceil(t/2),i=Math.ceil(n/2),s={bottomright:[[0,0],[t,n],[t,0]],bottomleft:[[0,0],[t,0],[0,n]],topright:[[0,n],[t,0],[t,n]],topleft:[[0,0],[0,n],[t,n]],topcenter:[[0,n],[r,0],[t,n]],bottomcenter:[[0,0],[t,0],[r,n]],rightcenter:[[0,0],[t,i],[0,n]],leftcenter:[[t,0],[t,n],[0,i]]};return s.lefttop=s.bottomright,s.righttop=s.bottomleft,s.leftbottom=s.topright,s.rightbottom=s.topleft,s[e.string()]}function I(e,t){function A(e){var t=E.is(":visible");E.show(),e(),E.toggle(t)}function O(){x.width=g.height,x.height=g.width}function M(){x.width=g.width,x.height=g.height}function _(t,r,o,f){if(!b.tip)return;var l=m.corner.clone(),w=o.adjusted,E=e.options.position.adjust.method.split(" "),x=E[0],T=E[1]||E[0],N={left:s,top:s,x:0,y:0},C,k={},L;m.corner.fixed!==i&&(x===y&&l.precedance===u&&w.left&&l.y!==v?l.precedance=l.precedance===u?a:u:x!==y&&w.left&&(l.x=l.x===v?w.left>0?h:d:l.x===h?d:h),T===y&&l.precedance===a&&w.top&&l.x!==v?l.precedance=l.precedance===a?u:a:T!==y&&w.top&&(l.y=l.y===v?w.top>0?c:p:l.y===c?p:c),l.string()!==S.corner.string()&&(S.top!==w.top||S.left!==w.left)&&m.update(l,s)),C=m.position(l,w),C[l.x]+=P(l,l.x),C[l.y]+=P(l,l.y),C.right!==n&&(C.left=-C.right),C.bottom!==n&&(C.top=-C.bottom),C.user=Math.max(0,g.offset);if(N.left=x===y&&!!w.left)l.x===v?k["margin-left"]=N.x=C["margin-left"]-w.left:(L=C.right!==n?[w.left,-C.left]:[-w.left,C.left],(N.x=Math.max(L[0],L[1]))>L[0]&&(o.left-=w.left,N.left=s),k[C.right!==n?d:h]=N.x);if(N.top=T===y&&!!w.top)l.y===v?k["margin-top"]=N.y=C["margin-top"]-w.top:(L=C.bottom!==n?[w.top,-C.top]:[-w.top,C.top],(N.y=Math.max(L[0],L[1]))>L[0]&&(o.top-=w.top,N.top=s),k[C.bottom!==n?p:c]=N.y);b.tip.css(k).toggle(!(N.x&&N.y||l.x===v&&N.y||l.y===v&&N.x)),o.left-=C.left.charAt?C.user:x!==y||N.top||!N.left&&!N.top?C.left:0,o.top-=C.top.charAt?C.user:T!==y||N.left||!N.left&&!N.top?C.top:0,S.left=w.left,S.top=w.top,S.corner=l.clone()}function D(){var t=g.corner,n=e.options.position,r=n.at,o=n.my.string?n.my.string():n.my;return t===s||o===s&&r===s?s:(t===i?m.corner=new w.Corner(o):t.string||(m.corner=new w.Corner(t),m.corner.fixed=i),S.corner=new w.Corner(m.corner.string()),m.corner.string()!=="centercenter")}function P(e,t,n){t=t?t:e[e.precedance];var r=b.titlebar&&e.y===c,i=r?b.titlebar:E,s="border-"+t+"-width",o=function(e){return parseInt(e.css(s),10)},u;return A(function(){u=(n?o(n):o(b.content)||o(i)||o(E))||0}),u}function H(e){var t=b.titlebar&&e.y===c,n=t?b.titlebar:b.content,i=r.browser.mozilla,s=i?"-moz-":r.browser.webkit?"-webkit-":"",o="border-radius-"+e.y+e.x,u="border-"+e.y+"-"+e.x+"-radius",a=function(e){return parseInt(n.css(e),10)||parseInt(E.css(e),10)},f;return A(function(){f=a(u)||a(s+u)||a(s+o)||a(o)||0}),f}function B(e){function N(e,t,n){var r=e.css(t)||p;return n&&r===e.css(n)?s:f.test(r)?s:r}var t,n,o,u=b.tip.css("cssText",""),a=e||m.corner,f=/rgba?\(0, 0, 0(, 0)?\)|transparent|#123456/i,l="border-"+a[a.precedance]+"-color",h="background-color",p="transparent",d=" !important",y=b.titlebar,w=y&&(a.y===c||a.y===v&&u.position().top+x.height/2+g.offset-1,s=n*(i?.5:1),o=Math.pow,u=Math.round,c,h,p,d=Math.sqrt(o(s,2)+o(r,2)),m=[N/s*d,N/r*d];return m[2]=Math.sqrt(o(m[0],2)-o(N,2)),m[3]=Math.sqrt(o(m[1],2)-o(N,2)),c=d+m[2]+m[3]+(i?0:m[0]),h=c/d,p=[u(h*r),u(h*n)],{height:p[t?0:1],width:p[t?1:0]}}function I(e,t,n){return"'}var m=this,g=e.options.style.tip,b=e.elements,E=b.tooltip,S={top:0,left:0},x={width:g.width,height:g.height},T={},N=g.border||0,C=".qtip-tip",k=!!(r("")[0]||{}).getContext,L;m.corner=o,m.mimic=o,m.border=N,m.offset=g.offset,m.size=x,e.checks.tip={"^position.my|style.tip.(corner|mimic|border)$":function(){m.init()||m.destroy(),e.reposition()},"^style.tip.(height|width)$":function(){x={width:g.width,height:g.height},m.create(),m.update(),e.reposition()},"^content.title.text|style.(classes|widget)$":function(){b.tip&&b.tip.length&&m.update()}},r.extend(m,{init:function(){var e=D()&&(k||r.browser.msie);return e&&(m.create(),m.update(),E.unbind(C).bind("tooltipmove"+C,_),k||E.bind("tooltipredraw tooltipredrawn",function(e){e.type==="tooltipredraw"?(L=b.tip.html(),b.tip.html("")):b.tip.html(L)})),e},create:function(){var e=x.width,t=x.height,n;b.tip&&b.tip.remove(),b.tip=r("
              ",{"class":"ui-tooltip-tip"}).css({width:e,height:t}).prependTo(E),k?r("").appendTo(b.tip)[0].getContext("2d").save():(n=I("shape",'coordorigin="0,0"',"position:absolute;"),b.tip.html(n+n),r("*",b.tip).bind("click mousedown",function(e){e.stopPropagation()}))},update:function(e,t){var n=b.tip,f=n.children(),l=x.width,y=x.height,C=g.mimic,L=Math.round,A,_,D,H,q;e||(e=S.corner||m.corner),C===s?C=e:(C=new w.Corner(C),C.precedance=e.precedance,C.x==="inherit"?C.x=e.x:C.y==="inherit"?C.y=e.y:C.x===C.y&&(C[e.precedance]=e[e.precedance])),A=C.precedance,e.precedance===u?O():M(),b.tip.css({width:l=x.width,height:y=x.height}),B(e),T.border!=="transparent"?(N=P(e,o),g.border===0&&N>0&&(T.fill=T.border),m.border=N=g.border!==i?g.border:N):m.border=N=0,D=F(C,l,y),m.size=q=j(e),n.css(q),e.precedance===a?H=[L(C.x===h?N:C.x===d?q.width-l-N:(q.width-l)/2),L(C.y===c?q.height-y:0)]:H=[L(C.x===h?q.width-l:0),L(C.y===c?N:C.y===p?q.height-y-N:(q.height-y)/2)],k?(f.attr(q),_=f[0].getContext("2d"),_.restore(),_.save(),_.clearRect(0,0,3e3,3e3),_.fillStyle=T.fill,_.strokeStyle=T.border,_.lineWidth=N*2,_.lineJoin="miter",_.miterLimit=100,_.translate(H[0],H[1]),_.beginPath(),_.moveTo(D[0][0],D[0][1]),_.lineTo(D[1][0],D[1][1]),_.lineTo(D[2][0],D[2][1]),_.closePath(),N&&(E.css("background-clip")==="border-box"&&(_.strokeStyle=T.fill,_.stroke()),_.strokeStyle=T.border,_.stroke()),_.fill()):(D="m"+D[0][0]+","+D[0][1]+" l"+D[1][0]+","+D[1][1]+" "+D[2][0]+","+D[2][1]+" xe",H[2]=N&&/^(r|b)/i.test(e.string())?parseFloat(r.browser.version,10)===8?2:1:0,f.css({coordsize:l+N+" "+(y+N),antialias:""+(C.string().indexOf(v)>-1),left:H[0],top:H[1],width:l+N,height:y+N}).each(function(e){var t=r(this);t[t.prop?"prop":"attr"]({coordsize:l+N+" "+(y+N),path:D,fillcolor:T.fill,filled:!!e,stroked:!e}).toggle(!!N||!!e),!e&&t.html()===""&&t.html(I("stroke",'weight="'+N*2+'px" color="'+T.border+'" miterlimit="1000" joinstyle="miter"'))})),t!==s&&m.position(e)},position:function(e){var t=b.tip,n={},i=Math.max(0,g.offset),o,p,d;return g.corner===s||!t?s:(e=e||m.corner,o=e.precedance,p=j(e),d=[e.x,e.y],o===u&&d.reverse(),r.each(d,function(t,r){var s,u,d;r===v?(s=o===a?h:c,n[s]="50%",n["margin-"+s]=-Math.round(p[o===a?f:l]/2)+i):(s=P(e,r),u=P(e,r,b.content),d=H(e),n[r]=t?u:i+(d>s?d:-s))}),n[e[o]]-=p[o===u?f:l],t.css({top:"",bottom:"",left:"",right:"",margin:""}).css(n),n)},destroy:function(){b.tip&&b.tip.remove(),b.tip=!1,E.unbind(C)}}),m.init()}function q(n){function y(){m=r(v,f).not("[disabled]").map(function(){return typeof this.focus=="function"?this:null})}function b(e){m.length<1&&e.length?e.not("body").blur():m.first().focus()}function E(e){var t=r(e.target),n=t.closest(".qtip"),i;i=n.length<1?s:parseInt(n[0].style.zIndex,10)>parseInt(f[0].style.zIndex,10),!i&&r(e.target).closest(C)[0]!==f[0]&&b(t)}var o=this,u=n.options.show.modal,a=n.elements,f=a.tooltip,l="#qtip-overlay",c=".qtipmodal",h=c+n.id,p="is-modal-qtip",d=r(t.body),v=w.modal.focusable.join(","),m={},g;n.checks.modal={"^show.modal.(on|blur)$":function(){o.init(),a.overlay.toggle(f.is(":visible"))},"^content.text$":function(){y()}},r.extend(o,{init:function(){return u.on?(g=o.create(),f.attr(p,i).css("z-index",w.modal.zindex+r(C+"["+p+"]").length).unbind(c).unbind(h).bind("tooltipshow"+c+" tooltiphide"+c,function(e,t,n){var i=e.originalEvent;if(e.target===f[0])if(i&&e.type==="tooltiphide"&&/mouse(leave|enter)/.test(i.type)&&r(i.relatedTarget).closest(g[0]).length)try{e.preventDefault()}catch(s){}else(!i||i&&!i.solo)&&o[e.type.replace("tooltip","")](e,n)}).bind("tooltipfocus"+c,function(e){if(e.isDefaultPrevented()||e.target!==f[0])return;var t=r(C).filter("["+p+"]"),n=w.modal.zindex+t.length,i=parseInt(f[0].style.zIndex,10);g[0].style.zIndex=n-2,t.each(function(){this.style.zIndex>i&&(this.style.zIndex-=1)}),t.end().filter("."+L).qtip("blur",e.originalEvent),f.addClass(L)[0].style.zIndex=n;try{e.preventDefault()}catch(s){}}).bind("tooltiphide"+c,function(e){e.target===f[0]&&r("["+p+"]").filter(":visible").not(f).last().qtip("focus",e)}),u.escape&&r(t).unbind(h).bind("keydown"+h,function(e){e.keyCode===27&&f.hasClass(L)&&n.hide(e)}),u.blur&&a.overlay.unbind(h).bind("click"+h,function(e){f.hasClass(L)&&n.hide(e)}),y(),o):o},create:function(){function n(){g.css({height:r(e).height(),width:r(e).width()})}var t=r(l);return t.length?a.overlay=t.insertAfter(r(C).last()):(g=a.overlay=r("
              ",{id:l.substr(1),html:"
              ",mousedown:function(){return s}}).hide().insertAfter(r(C).last()),r(e).unbind(c).bind("resize"+c,n),n(),g)},toggle:function(e,t,n){if(e&&e.isDefaultPrevented())return o;var a=u.effect,l=t?"show":"hide",c=g.is(":visible"),v=r("["+p+"]").filter(":visible").not(f),m;return g||(g=o.create()),g.is(":animated")&&c===t||!t&&v.length?o:(t?(g.css({left:0,top:0}),g.toggleClass("blurs",u.blur),u.stealfocus!==s&&(d.bind("focusin"+h,E),b(r("body :focus")))):d.unbind("focusin"+h),g.stop(i,s),r.isFunction(a)?a.call(g,t):a===s?g[l]():g.fadeTo(parseInt(n,10)||90,t?1:0,function(){t||r(this).hide()}),t||g.queue(function(e){g.css({left:"",top:""}),e()}),o)},show:function(e,t){return o.toggle(e,i,t)},hide:function(e,t){return o.toggle(e,s,t)},destroy:function(){var e=g;return e&&(e=r("["+p+"]").not(f).length<1,e?(a.overlay.remove(),r(t).unbind(c)):a.overlay.unbind(c+n.id),d.undelegate("*","focusin"+h)),f.removeAttr(p).unbind(c)}}),o.init()}function R(e){var t=this,n=e.elements,i=n.tooltip,s=".bgiframe-"+e.id;r.extend(t,{init:function(){n.bgiframe=r(''),n.bgiframe.appendTo(i),i.bind("tooltipmove"+s,t.adjust)},adjust:function(){var t=e.get("dimensions"),r=e.plugins.tip,s=n.tip,o,u;u=parseInt(i.css("border-left-width"),10)||0,u={left:-u,top:-u},r&&s&&(o=r.corner.precedance==="x"?["width","left"]:["height","top"],u[o[1]]-=s[o[0]]()),n.bgiframe.css(u).css(t)},destroy:function(){n.bgiframe.remove(),i.unbind(s)}}),t.init()}var i=!0,s=!1,o=null,u="x",a="y",f="width",l="height",c="top",h="left",p="bottom",d="right",v="center",m="flip",g="flipinvert",y="shift",b,w,E,S={},x="ui-tooltip",T="ui-widget",N="ui-state-disabled",C="div.qtip."+x,k=x+"-default",L=x+"-focus",A=x+"-hover",O="_replacedByqTip",M="oldtitle",_,D;D=r("
              ",{id:"qtip-rcontainer"}),r(function(){D.appendTo(t.body)}),b=r.fn.qtip=function(e,t,u){var a=(""+e).toLowerCase(),f=o,l=r.makeArray(arguments).slice(1),c=l[l.length-1],h=this[0]?r.data(this[0],"qtip"):o;if(!arguments.length&&h||a==="api")return h;if("string"==typeof e)return this.each(function(){var e=r.data(this,"qtip");if(!e)return i;c&&c.timeStamp&&(e.cache.event=c);if(a!=="option"&&a!=="options"||!t)e[a]&&e[a].apply(e[a],l);else{if(!r.isPlainObject(t)&&u===n)return f=e.get(t),s;e.set(t,u)}}),f!==o?f:this;if("object"==typeof e||!arguments.length)return h=P(r.extend(i,{},e)),b.bind.call(this,h,c)},b.bind=function(e,t){return this.each(function(o){function p(e){function t(){c.render(typeof e=="object"||u.show.ready),a.show.add(a.hide).unbind(l)}if(c.cache.disabled)return s;c.cache.event=r.extend({},e),c.cache.target=e?r(e.target):[n],u.show.delay>0?(clearTimeout(c.timers.show),c.timers.show=setTimeout(t,u.show.delay),f.show!==f.hide&&a.hide.bind(f.hide,function(){clearTimeout(c.timers.show)})):t()}var u,a,f,l,c,h;h=r.isArray(e.id)?e.id[o]:e.id,h=!h||h===s||h.length<1||S[h]?b.nextid++:S[h]=h,l=".qtip-"+h+"-create",c=B.call(this,h,e);if(c===s)return i;u=c.options,r.each(w,function(){this.initialize==="initialize"&&this(c)}),a={show:u.show.target,hide:u.hide.target},f={show:r.trim(""+u.show.event).replace(/ /g,l+" ")+l,hide:r.trim(""+u.hide.event).replace(/ /g,l+" ")+l},/mouse(over|enter)/i.test(f.show)&&!/mouse(out|leave)/i.test(f.hide)&&(f.hide+=" mouseleave"+l),a.show.bind("mousemove"+l,function(e){E={pageX:e.pageX,pageY:e.pageY,type:"mousemove"},c.cache.onTarget=i}),a.show.bind(f.show,p),(u.show.ready||u.prerender)&&p(t)})},w=b.plugins={Corner:function(e){e=(""+e).replace(/([A-Z])/," $1").replace(/middle/gi,v).toLowerCase(),this.x=(e.match(/left|right/i)||e.match(/center/)||["inherit"])[0].toLowerCase(),this.y=(e.match(/top|bottom|center/i)||["inherit"])[0].toLowerCase();var t=e.charAt(0);this.precedance=t==="t"||t==="b"?a:u,this.string=function(){return this.precedance===a?this.y+this.x:this.x+this.y},this.abbrev=function(){var e=this.x.substr(0,1),t=this.y.substr(0,1);return e===t?e:this.precedance===a?t+e:e+t},this.invertx=function(e){this.x=this.x===h?d:this.x===d?h:e||this.x},this.inverty=function(e){this.y=this.y===c?p:this.y===p?c:e||this.y},this.clone=function(){return{x:this.x,y:this.y,precedance:this.precedance,string:this.string,abbrev:this.abbrev,clone:this.clone,invertx:this.invertx,inverty:this.inverty}}},offset:function(e,t){function f(e,t){n.left+=t*e.scrollLeft(),n.top+=t*e.scrollTop()}var n=e.offset(),i=e.closest("body")[0],s=t,o,u,a;if(s){do s.css("position")!=="static"&&(u=s.position(),n.left-=u.left+(parseInt(s.css("borderLeftWidth"),10)||0)+(parseInt(s.css("marginLeft"),10)||0),n.top-=u.top+(parseInt(s.css("borderTopWidth"),10)||0)+(parseInt(s.css("marginTop"),10)||0),!o&&(a=s.css("overflow"))!=="hidden"&&a!=="visible"&&(o=s));while((s=r(s[0].offsetParent)).length);o&&o[0]!==i&&f(o,1)}return n},iOS:parseFloat((""+(/CPU.*OS ([0-9_]{1,5})|(CPU like).*AppleWebKit.*Mobile/i.exec(navigator.userAgent)||[0,""])[1]).replace("undefined","3_2").replace("_",".").replace("_",""))||s,fn:{attr:function(e,t){if(this.length){var n=this[0],i="title",s=r.data(n,"qtip");if(e===i&&s&&"object"==typeof s&&s.options.suppress)return arguments.length<2?r.attr(n,M):(s&&s.options.content.attr===i&&s.cache.attr&&s.set("content.text",t),this.attr(M,t))}return r.fn["attr"+O].apply(this,arguments)},clone:function(e){var t=r([]),n="title",i=r.fn["clone"+O].apply(this,arguments);return e||i.filter("["+M+"]").attr("title",function(){return r.attr(this,M)}).removeAttr(M),i}}},r.each(w.fn,function(e,t){if(!t||r.fn[e+O])return i;var n=r.fn[e+O]=r.fn[e];r.fn[e]=function(){return t.apply(this,arguments)||n.apply(this,arguments)}}),r.ui||(r["cleanData"+O]=r.cleanData,r.cleanData=function(e){for(var t=0,i;(i=e[t])!==n;t++)try{r(i).triggerHandler("removeqtip")}catch(s){}r["cleanData"+O](e)}),b.version="@VERSION",b.nextid=0,b.inactiveEvents="click dblclick mousedown mouseup mousemove mouseleave mouseenter".split(" "),b.zindex=15e3,b.defaults={prerender:s,id:s,overwrite:i,suppress:i,content:{text:i,attr:"title",title:{text:s,button:s}},position:{my:"top left",at:"bottom right",target:s,container:s,viewport:s,adjust:{x:0,y:0,mouse:i,resize:i,method:"flip flip"},effect:function(e,t,n){r(this).animate(t,{duration:200,queue:s})}},show:{target:s,event:"mouseenter",effect:i,delay:90,solo:s,ready:s,autofocus:s},hide:{target:s,event:"mouseleave",effect:i,delay:0,fixed:s,inactive:s,leave:"window",distance:s},style:{classes:"",widget:s,width:s,height:s,def:i},events:{render:o,move:o,show:o,hide:o,toggle:o,visible:o,hidden:o,focus:o,blur:o}},w.svg=function(e,n,i,s){var o=r(t),u=n[0],a={width:0,height:0,position:{top:1e10,left:1e10}},f,l,c,h,p;while(!u.getBBox)u=u.parentNode;if(u.getBBox&&u.parentNode){f=u.getBBox(),l=u.getScreenCTM(),c=u.farthestViewportElement||u;if(!c.createSVGPoint)return a;h=c.createSVGPoint(),h.x=f.x,h.y=f.y,p=h.matrixTransform(l),a.position.left=p.x,a.position.top=p.y,h.x+=f.width,h.y+=f.height,p=h.matrixTransform(l),a.width=p.x-a.position.left,a.height=p.y-a.position.top,a.position.left+=o.scrollLeft(),a.position.top+=o.scrollTop()}return a},w.ajax=function(e){var t=e.plugins.ajax;return"object"==typeof t?t:e.plugins.ajax=new j(e)},w.ajax.initialize="render",w.ajax.sanitize=function(e){var t=e.content,n;t&&"ajax"in t&&(n=t.ajax,typeof n!="object"&&(n=e.content.ajax={url:n}),"boolean"!=typeof n.once&&n.once&&(n.once=!!n.once))},r.extend(i,b.defaults,{content:{ajax:{loading:i,once:i}}}),w.tip=function(e){var t=e.plugins.tip;return"object"==typeof t?t:e.plugins.tip=new I(e)},w.tip.initialize="render",w.tip.sanitize=function(e){var t=e.style,n;t&&"tip"in t&&(n=e.style.tip,typeof n!="object"&&(e.style.tip={corner:n}),/string|boolean/i.test(typeof n.corner)||(n.corner=i),typeof n.width!="number"&&delete n.width,typeof n.height!="number"&&delete n.height,typeof n.border!="number"&&n.border!==i&&delete n.border,typeof n.offset!="number"&&delete n.offset)},r.extend(i,b.defaults,{style:{tip:{corner:i,mimic:s,width:6,height:6,border:i,offset:0}}}),w.modal=function(e){var t=e.plugins.modal;return"object"==typeof t?t:e.plugins.modal=new q(e)},w.modal.initialize="render",w.modal.sanitize=function(e){e.show&&(typeof e.show.modal!="object"?e.show.modal={on:!!e.show.modal}:typeof e.show.modal.on=="undefined"&&(e.show.modal.on=i))},w.modal.zindex=b.zindex-200,w.modal.focusable=["a[href]","area[href]","input","select","textarea","button","iframe","object","embed","[tabindex]","[contenteditable]"],r.extend(i,b.defaults,{show:{modal:{on:s,effect:i,blur:i,stealfocus:i,escape:i}}}),w.viewport=function(n,r,i,s,o,m,b){function j(e,t,n,i,s,o,u,a,f){var l=r[s],c=S[e],h=T[e],p=n===y,d=-O.offset[s]+A.offset[s]+A["scroll"+s],m=c===s?f:c===o?-f:-f/2,b=h===s?a:h===o?-a:-a/2,w=_&&_.size?_.size[u]||0:0,E=_&&_.corner&&_.corner.precedance===e&&!p?w:0,x=d-l+E,N=l+f-A[u]-d+E,C=m-(S.precedance===e||c===S[t]?b:0)-(h===v?a/2:0);return p?(E=_&&_.corner&&_.corner.precedance===t?w:0,C=(c===s?1:-1)*m-E,r[s]+=x>0?x:N>0?-N:0,r[s]=Math.max(-O.offset[s]+A.offset[s]+(E&&_.corner[e]===v?_.offset:0),l-C,Math.min(Math.max(-O.offset[s]+A.offset[s]+A[u],l+C),r[s]))):(i*=n===g?2:0,x>0&&(c!==s||N>0)?(r[s]-=C+i,H["invert"+e](s)):N>0&&(c!==o||x>0)&&(r[s]-=(c===v?-C:C)+i,H["invert"+e](o)),r[s]N&&(r[s]=l,H=S.clone())),r[s]-l}var w=i.target,E=n.elements.tooltip,S=i.my,T=i.at,N=i.adjust,C=N.method.split(" "),k=C[0],L=C[1]||C[0],A=i.viewport,O=i.container,M=n.cache,_=n.plugins.tip,D={left:0,top:0},P,H,B;if(!A.jquery||w[0]===e||w[0]===t.body||N.method==="none")return D;P=E.css("position")==="fixed",A={elem:A,height:A[(A[0]===e?"h":"outerH")+"eight"](),width:A[(A[0]===e?"w":"outerW")+"idth"](),scrollleft:P?0:A.scrollLeft(),scrolltop:P?0:A.scrollTop(),offset:A.offset()||{left:0,top:0}},O={elem:O,scrollLeft:O.scrollLeft(),scrollTop:O.scrollTop(),offset:O.offset()||{left:0,top:0}};if(k!=="shift"||L!=="shift")H=S.clone();return D={left:k!=="none"?j(u,a,k,N.x,h,d,f,s,m):0,top:L!=="none"?j(a,u,L,N.y,c,p,l,o,b):0},H&&M.lastClass!==(B=x+"-pos-"+H.abbrev())&&E.removeClass(n.cache.lastClass).addClass(n.cache.lastClass=B),D},w.imagemap=function(e,t,n,i){function E(e,t,n){var r=0,i=1,s=1,o=0,u=0,a=e.width,f=e.height;while(a>0&&f>0&&i>0&&s>0){a=Math.floor(a/2),f=Math.floor(f/2),n.x===h?i=a:n.x===d?i=e.width-a:i+=Math.floor(a/2),n.y===c?s=f:n.y===p?s=e.height-f:s+=Math.floor(f/2),r=t.length;while(r--){if(t.length<2)break;o=t[r][0]-e.position.left,u=t[r][1]-e.position.top,(n.x===h&&o>=i||n.x===d&&o<=i||n.x===v&&(oe.width-i)||n.y===c&&u>=s||n.y===p&&u<=s||n.y===v&&(ue.height-s))&&t.splice(r,1)}}return{left:t[0][0],top:t[0][1]}}t.jquery||(t=r(t));var s=e.cache.areas={},o=(t[0].shape||t.attr("shape")).toLowerCase(),u=t[0].coords||t.attr("coords"),a=u.split(","),f=[],l=r('img[usemap="#'+t.parent("map").attr("name")+'"]'),m=l.offset(),g={width:0,height:0,position:{top:1e10,right:0,bottom:0,left:1e10}},y=0,b=0,w;m.left+=Math.ceil((l.outerWidth()-l.width())/2),m.top+=Math.ceil((l.outerHeight()-l.height())/2);if(o==="poly"){y=a.length;while(y--)b=[parseInt(a[--y],10),parseInt(a[y+1],10)],b[0]>g.position.right&&(g.position.right=b[0]),b[0]g.position.bottom&&(g.position.bottom=b[1]),b[1]'); - e = e.replace(/\r/g,'
              '); - - var prompt = '', - ok = 'OK', - cancel = 'Cancel', - classname = '', - buttons = '', - box; - - if (f.type === 'prompt'){ - prompt = - '
              '+ - ''+ - '
              '; - } - - if (f.params.ok){ - ok = f.params.ok; - } - - if (f.params.cancel){ - cancel = f.params.cancel; - } - - if (f.params.classname){ - classname = f.params.classname; - } - - if (f.type !== 'signal'){ - buttons = '
              '; - if (f.type === 'alert'){ - buttons += - ''; - } else if (f.type === 'prompt' || f.type === 'confirm'){ - if (f.params.reverseButtons) { - buttons += - '' + - ''; - } else { - buttons += - ''+ - ''; - } - } - buttons += '
              '; - } - - - box = - '
              '+ - '
              '+ - '
              '+ - e+ - prompt+ - buttons+ - '
              '+ - '
              '; - - if (!smoke.init){ - smoke.listen(window,"load", function(){ - smoke.finishbuild(e,f,box); - }); - } else{ - smoke.finishbuild(e,f,box); - } - - }, - - finishbuild: function(e, f, box) { - - var ff = document.getElementById('smoke-out-'+f.newid); - - ff.className = 'smoke-base smoke-visible smoke-' + f.type; - ff.innerHTML = box; - - while (ff.innerHTML === ""){ - ff.innerHTML = box; - } - - // clear the timeout if it's already been activated - if (smoke.smoketimeout[f.newid]){ - clearTimeout(smoke.smoketimeout[f.newid]); - } - - // close on background click - // buberdds got rid of this for ie support? - smoke.listen( - document.getElementById('smoke-bg-'+f.newid), - "click", - function () { - smoke.destroy(f.type, f.newid); - if (f.type === 'prompt' || f.type === 'confirm'){ - f.callback(false); - } else if (f.type === 'alert' && typeof f.callback !== 'undefined') { - f.callback(); - } - } - ); - - - // listeners for button actions - switch (f.type) { - case 'alert': - smoke.finishbuildAlert(e, f, box); - break; - case 'confirm': - smoke.finishbuildConfirm(e, f, box); - break; - case 'prompt': - smoke.finishbuildPrompt(e, f, box); - break; - case 'signal': - smoke.finishbuildSignal(e, f, box); - break; - default: - throw "Unknown type: " + f.type; - } - }, - - finishbuildAlert: function (e, f, box) - { - smoke.listen( - document.getElementById('alert-ok-'+f.newid), - "click", - function () { - smoke.destroy(f.type, f.newid); - if (typeof f.callback !== 'undefined') { - f.callback(); - } - } - ); - - // listen for enter key or space, close it - document.onkeyup = function (e) { - if (!e) { - e = window.event; - } - if (e.keyCode === 13 || e.keyCode === 32 || e.keyCode === 27){ - smoke.destroy(f.type, f.newid); - if (typeof f.callback !== 'undefined') { - f.callback(); - } - } - }; - }, - - finishbuildConfirm: function (e, f, box) - { - smoke.listen( - document.getElementById('confirm-cancel-' + f.newid), - "click", - function () - { - smoke.destroy(f.type, f.newid); - f.callback(false); - } - ); - - smoke.listen( - document.getElementById('confirm-ok-' + f.newid), - "click", - function () - { - smoke.destroy(f.type, f.newid); - f.callback(true); - } - ); - - // listen for enter key or space, close it & return true, esc will close with false - document.onkeyup = function (e){ - if (!e) { - e = window.event; - } - if (e.keyCode === 13 || e.keyCode === 32){ - smoke.destroy(f.type, f.newid); - f.callback(true); - } else if (e.keyCode === 27){ - smoke.destroy(f.type, f.newid); - f.callback(false); - } - }; - }, - - finishbuildPrompt: function (e, f, box) - { - var pi = document.getElementById('dialog-input-'+f.newid); - - setTimeout(function () { - pi.focus(); - pi.select(); - }, 100); - - // events for cancel button - smoke.listen( - document.getElementById('prompt-cancel-'+f.newid), - "click", - function () { - smoke.destroy(f.type, f.newid); - f.callback(false); - } - ); - - // events for "ok" button - smoke.listen( - document.getElementById('prompt-ok-'+f.newid), - "click", - function () { - smoke.destroy(f.type, f.newid); - f.callback(pi.value); - } - ); - - // listen for enter - document.onkeyup = function (e) { - if (!e) { - e = window.event; - } - - if (e.keyCode === 13){ - smoke.destroy(f.type, f.newid); - f.callback(pi.value); - } else if (e.keyCode === 27){ - smoke.destroy(f.type, f.newid); - f.callback(false); - } - }; - }, - - finishbuildSignal: function (e, f, box) - { - smoke.smoketimeout[f.newid] = setTimeout(function () { - smoke.destroy(f.type, f.newid); - }, f.timeout); - }, - - - destroy: function (type,id) { - var box = document.getElementById('smoke-out-'+id), - okButton = document.getElementById(type+'-ok-'+id), - cancelButton = document.getElementById(type+'-cancel-'+id); -/* box.setAttribute('class','smoke-base'); */ - box.className = 'smoke-base'; - - - // confirm/alert/prompt remove click listener - if (okButton){ - smoke.stoplistening(okButton, "click", function(){}); - document.onkeyup = null; - } - - // confirm/prompt remove click listener - if (cancelButton){ - smoke.stoplistening(cancelButton, "click", function(){}); - } - - smoke.i = 0; - box.innerHTML = ''; - if ( box.parentNode ) { - box.parentNode.removeChild( box ); - } - }, - - alert: function (e, f, g) { - if (typeof f !== 'object'){ - f = false; - } - - var id = smoke.newdialog(); - - smoke.build(e, { - type: 'alert', - callback: g, - params: f, - newid: id - }); - }, - - signal: function (e, f) { - if (typeof f === 'undefined'){ - f = 5000; - } - - var id = smoke.newdialog(); - smoke.build(e, { - type: 'signal', - timeout: f, - params: false, - newid: id - }); - }, - - confirm: function (e, f, g) { - if (typeof g !== 'object'){ - g = false; - } - - var id = smoke.newdialog(); - smoke.build(e, { - type: 'confirm', - callback: f, - params: g, - newid: id - }); - }, - - prompt: function (e, f, g) { - if (typeof g !== 'object'){ - g = false; - } - - var id = smoke.newdialog(); - return smoke.build(e,{type:'prompt',callback:f,params:g,newid:id}); - }, - - listen: function (e, f, g) { - if (e.addEventListener) { - return e.addEventListener(f, g, false); - } - - if (e.attachEvent){ - return e.attachEvent('on'+f, g); - } - - return false; - }, - - stoplistening: function (e, f, g) { - if (e.removeEventListener) { - return e.removeEventListener("click", g, false); - } - - if (e.detachEvent){ - return e.detachEvent('on'+f, g); - } - - return false; - } -}; - -if (!smoke.init) { - smoke.listen(window, "load", function () { - smoke.init = true; - }); -} \ No newline at end of file diff --git a/modules/lib/smoke/smoke.min.js b/modules/lib/smoke/smoke.min.js deleted file mode 100644 index 019e739..0000000 --- a/modules/lib/smoke/smoke.min.js +++ /dev/null @@ -1 +0,0 @@ -eval(function(p,a,c,k,e,r){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('m 2={P:[],E:b,16:1n,i:0,R:6(7){m q=a.1x(\'o\');q.1y(\'7\',\'2-U-\'+7);q.S=\'2-T\';q.1A.1B=2.16;2.16++;a.1m.1F(q)},G:6(){m 3=1J 1M().1O();3=1Q.1R(1,1S)+3;5(!2.E){2.s(D,"15",6(){2.R(3)})}z{2.R(3)}v 3},1P:6(){},F:6(e,f){2.i++;f.1K=2.i;e=e.1k(/\\n/g,\'<19 />\');e=e.1k(/\\r/g,\'<19 />\');m k=\'\',c=\'1E\',j=\'1C\',I=\'\',w=\'\',9;5(f.4===\'k\'){k=\'\'+\'\'+\'\'}5(f.h.c){c=f.h.c}5(f.h.j){j=f.h.j}5(f.h.I){I=f.h.I}5(f.4!==\'M\'){w=\'\';5(f.4===\'x\'){w+=\'

              \'+c+\'

              \'}z 5(f.4===\'k\'||f.4===\'B\'){5(f.h.1t){w+=\'

              \'+c+\'

              \'+\'

              \'+j+\'

              \'}z{w+=\'

              \'+j+\'

              \'+\'

              \'+c+\'

              \'}}w+=\'
              \'}9=\'\'+\'\'+\'\'+e+k+w+\'\'+\'\';5(!2.E){2.s(D,"15",6(){2.Z(e,f,9)})}z{2.Z(e,f,9)}},Z:6(e,f,9){m q=a.l(\'2-U-\'+f.3);q.S=\'2-T 2-1q 2-\'+f.4;q.K=9;1p(q.K===""){q.K=9}5(2.P[f.3]){1D(2.P[f.3])}2.s(a.l(\'2-1b-\'+f.3),"t",6(){2.d(f.4,f.3);5(f.4===\'k\'||f.4===\'B\'){f.8(b)}z 5(f.4===\'x\'&&y f.8!==\'N\'){f.8()}});1o(f.4){O\'x\':2.1g(e,f,9);Q;O\'B\':2.1d(e,f,9);Q;O\'k\':2.1c(e,f,9);Q;O\'M\':2.1a(e,f,9);Q;1u:1v"1w 4: "+f.4;}},1g:6(e,f,9){2.s(a.l(\'x-c-\'+f.3),"t",6(){2.d(f.4,f.3);5(y f.8!==\'N\'){f.8()}});a.L=6(e){5(!e){e=D.W}5(e.u===13||e.u===17||e.u===V){2.d(f.4,f.3);5(y f.8!==\'N\'){f.8()}}}},1d:6(e,f,9){2.s(a.l(\'B-j-\'+f.3),"t",6(){2.d(f.4,f.3);f.8(b)});2.s(a.l(\'B-c-\'+f.3),"t",6(){2.d(f.4,f.3);f.8(X)});a.L=6(e){5(!e){e=D.W}5(e.u===13||e.u===17){2.d(f.4,f.3);f.8(X)}z 5(e.u===V){2.d(f.4,f.3);f.8(b)}}},1c:6(e,f,9){m H=a.l(\'C-Y-\'+f.3);1h(6(){H.1G();H.1H()},1I);2.s(a.l(\'k-j-\'+f.3),"t",6(){2.d(f.4,f.3);f.8(b)});2.s(a.l(\'k-c-\'+f.3),"t",6(){2.d(f.4,f.3);f.8(H.J)});a.L=6(e){5(!e){e=D.W}5(e.u===13){2.d(f.4,f.3);f.8(H.J)}z 5(e.u===V){2.d(f.4,f.3);f.8(b)}}},1a:6(e,f,9){2.P[f.3]=1h(6(){2.d(f.4,f.3)},f.1e)},d:6(4,7){m 9=a.l(\'2-U-\'+7),10=a.l(4+\'-c-\'+7),11=a.l(4+\'-j-\'+7);9.S=\'2-T\';5(10){2.12(10,"t",6(){});a.L=1L}5(11){2.12(11,"t",6(){})}2.i=0;9.K=\'\'},x:6(e,f,g){5(y f!==\'14\'){f=b}m 7=2.G();2.F(e,{4:\'x\',8:g,h:f,3:7})},M:6(e,f){5(y f===\'N\'){f=1N}m 7=2.G();2.F(e,{4:\'M\',1e:f,h:b,3:7})},B:6(e,f,g){5(y g!==\'14\'){g=b}m 7=2.G();2.F(e,{4:\'B\',8:f,h:g,3:7})},k:6(e,f,g){5(y g!==\'14\'){g=b}m 7=2.G();v 2.F(e,{4:\'k\',8:f,h:g,3:7})},s:6(e,f,g){5(e.1f){v e.1f(f,g,b)}5(e.1l){v e.1l(\'1j\'+f,g)}v b},12:6(e,f,g){5(e.1i){v e.1i("t",g,b)}5(e.18){v e.18(\'1j\'+f,g)}v b}};5(!2.E){2.s(D,"15",6(){2.E=X})}',62,117,'||smoke|newid|type|if|function|id|callback|box|document|false|ok|destroy||||params||cancel|prompt|getElementById|var||div|button|ff||listen|click|keyCode|return|buttons|alert|typeof|else|class|confirm|dialog|window|init|build|newdialog|pi|classname|value|innerHTML|onkeyup|signal|undefined|case|smoketimeout|break|bodyload|className|base|out|27|event|true|input|finishbuild|okButton|cancelButton|stoplistening||object|load|zindex|32|detachEvent|br|finishbuildSignal|bg|finishbuildPrompt|finishbuildConfirm|timeout|addEventListener|finishbuildAlert|setTimeout|removeEventListener|on|replace|attachEvent|body|1000|switch|while|visible|inner|smokebg|reverseButtons|default|throw|Unknown|createElement|setAttribute|text|style|zIndex|Cancel|clearTimeout|OK|appendChild|focus|select|100|new|stack|null|Date|5000|getTime|forceload|Math|random|99'.split('|'),0,{})) \ No newline at end of file diff --git a/modules/lib/stepy/README.markdown b/modules/lib/stepy/README.markdown deleted file mode 100644 index 0bdc604..0000000 --- a/modules/lib/stepy/README.markdown +++ /dev/null @@ -1,77 +0,0 @@ -# jQuery Stepy - A Wizard Plugin - http://wbotelhos.com/stepy - -jQuery Stepy is a plugin based on FormToWizard that generates a customizable wizard. - -## Version - - @version 1.1.0 - @since 2010.07.03 - @author Washington Botelho - @documentation wbotelhos.com/stepy - @twitter twitter.com/wbotelhos - -## Required Files - -+ jquery.stepy.min.js -+ jquery.stepy.css - -## Default values - - back: undefined // Callback before the backward action. - backLabel: '< Back' // Change the back button label. - block: false // Block the next step if the current is invalid. - description: false // Choose if the descriptions of the titles will be showed. - errorImage: false // If an error occurs, a image is showed in the title of the corresponding step. - finish: undefined // Callback before the finish action. - finishButton: true // Include the button with class called '.finish' into the last step. - ignore: '' // Choose the fields to be ignored on validation. - legend: false // Choose if the legends of the steps will be showed. - nextLabel: 'Next >' // Change the next button label. - next: undefined // Callback before the forward action. - titleClick: true // Active the back and next action in the titles. - titleTarget: undefined // Choose the place where titles will be placed. - select: undefined // Callback executed when the step is shown. - validate: false // Active the jQuery Validation for each step. - -## Usage with default values - - $('#step').stepy(); - -
              -
              - description one - -
              - -
              - description two - -
              - - -
              - -## Public functions - - $('#step').stepy('step', 2); // Change the form to the second step. - -## Contributors: - -+ Almir Mendes -+ Andrey Fedoseev -+ Igor Tamashchuk -+ Rafael Machado - -The MIT License - -Copyright (c) 2012 Washington Botelho - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -## Buy me a coffee - -You can do it by [PayPal](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=X8HEP2878NDEG&item_name=jQuery%20Stepy). Thanks! (: diff --git a/modules/lib/stepy/changelog.markdown b/modules/lib/stepy/changelog.markdown deleted file mode 100644 index 3e513be..0000000 --- a/modules/lib/stepy/changelog.markdown +++ /dev/null @@ -1,90 +0,0 @@ -# jQuery Stepy - A Wizard Plugin - http://wbotelhos.com/stepy - -### 1.1.0 - -+ Added 'ignore' option to choose the fields to be ignored on validation: - - It must be blank '' to override jQuery Validation 1.9.0 default value and avoid error; - - I hope my fix be accepted, then this option may be used freely; - - But, you never can use ':hidden' as the do, because Wizards needs to validate hidden steps/fields. (; -+ Fixed the index number given to Stepy binded by class without id. - -### 1.0.0 - -+ Now we using the best pratice to build the plugin; -+ Now the plugin is under test with Jasmine and Jasmine jQuery; -+ Now public functions is on context scope instead on $.fn; -+ Added support to validation to the function .stepy('step', number); -+ Added the 'select' callback to execute action when a step is displayed; (by Daniel Hoelbling) -+ Fixed the several invocation of select step on each validation; -+ Fixed validation to disabled fields do not validate; -+ Fixed validations when jQuery Validation returns undefined and blocks; (by Rafael Machado) -+ Better look of documentations using markdown. (by Almir Mendes) - -### 0.5.1 - -+ Fixed the focus of the first error field (reported by luckyong); -+ Avoided highlight only the first field when has multiple invalids fields on the form. - -### 0.5.0 - -+ Added the 'titleTarget' attribute to choose the place where titles will be placed; -+ Added the 'legend' attribute to choose if the legends of the steps will be showed; -+ Added the 'description' attribute to choose if the descriptions of the titles will be showed; -+ Added the 'finish' callback attribute that enables action before finish the steps; -+ Fixed the possible bug when the ID has more than one word or has number; -+ Fixed the possible bug when the ID has more than one word or has number; -+ Fixed: avoided the validation of the lastest step when the validation is not enabled; -+ Fixed: when there is only one step, the finish button does not appear; (reported by DevPHP) -+ The 'onBack' attribute was named just to 'back'; -+ The 'onNext' attribute was named just to 'next'; -+ The 'finish' attribute was named to 'finishButton'; -+ The 'back' and 'next' callback no longer has a default function; -+ The finish button is now required for any kind of step if that option is enabled; -+ Keeped the options as data called 'options' in the wrapper element to future usages. - -### 0.4.1 - -+ Fixed: the validation highlighted only the first field. (fixed by legigor) - -### 0.4.0 - -+ Now the enter key goes to next step and just validate the currrent one; (reported by hennaTheGreat) -+ Public functions now supports actions by class; (reported by hennaTheGreat) -+ Public functions without specify ID or class is no longer supported; -+ Now when you to press the enter key into any text field, the form will go to next step; -+ Fixed: when the stepy has only one step the next button is not applied; -+ Fixed the title click when the number is higher than 10; (reported by neha1312) -+ Added ID to the set of titles to be possible to move the titles; -+ Added class to buttons container to simplify styling. (fixed by andreyfedoseev) - -### 0.3.0 - -+ Added the 'onBack' attribute that enables action before the backward transition; -+ Added the 'onNext' attribute that enables action before the forward transition; - -### 0.2.0 - -+ Added the 'block' attribute that blocks the next step if the current is invalid; -+ Added the 'errorImage' attribute that show a imagem in the title of the corresponding step if an error occur; -+ Now you can pass a optionally ID to be the target of the public function's actions; -+ All the code was refactored and improved. - -### 0.1 - -+ Added a backLabel and nextLabel parameter to specify the labels of the corresponding buttons; -+ Added click on the title and description to go to the corresponding step; -+ Added a public function 'step' that is possible choose which step to go; -+ Added auto-focus in the first field of each step when it is the current; -+ Added the parameter includeFinish to format and embed the button with class named ".finish" to the last step; -+ Added function that automatically takes the title of the fieldset and become it as title of each step; -+ Now is possible to use more than one wizard on the same page; -+ Created default options; -+ Changed the function bind to newest live; -+ The links with # were changed to javascript:void(0) to prevent the page go up; -+ Changed to HTML code the special characters; -+ Removed the container tha was wrapped the fieldsets and added the actions directly on it; -+ Removed unused arguments form binds functions; -+ Changed the selectors for the same current element $(this); -+ Changed the extends to a defaults developers plugins; -+ Keys were placed on single line blocks to avoid error on IE; -+ Changed the styles name with a hifen style; \ No newline at end of file diff --git a/modules/lib/stepy/index.html b/modules/lib/stepy/index.html deleted file mode 100644 index 3fb7b04..0000000 --- a/modules/lib/stepy/index.html +++ /dev/null @@ -1,445 +0,0 @@ - - - - - - - - - jQuery Stepy - A Wizard Plugin - - - - - - - - - - - - - - - - -
              - -
              -
              With default options using checkbox:
              - -
              -
              - description one - - - -
              - -
              - description two - - -
              - - -
              - -
              - $('#step').stepy(); -
              - -
              A custom form in a validation style:
              - -
              -
              - description one - - - - - - - - - - - Checked? - - - Yep - Nop - - - -
              - -
              - description two - - - - - - -
              - -
              - description three - - - - - - - - - - -
              - - -

              - -
              - $('#step').stepy({
              -   backLabel:      'Backward',
              -   block:          true,
              -   errorImage:     true,
              -   nextLabel:      'Forward',
              -   titleClick:     true,
              -   validate:       true
              - }); -

              - - - - When the attribute 'validate' is true, you must include the jquery.validate.js. -
              - -
              With just step without form:
              - -
              -
              - description one
              -
              -
              - -
              - description two
              -
              -
              - -
              - description three
              -
              -
              -
              - -
              - $('div#step').stepy({
              -   finishButton: false
              - }); -
              - -
              With transitions callback:
              - -
              -
              - description one - - - - - -
              - -
              - description two - - - - - -
              - -
              - description three - - - - - - -
              - -
              - description four - - - - - -
              - - -
              - -
              - $('#step').stepy({
              -   back: function(index) {
              -     alert('Going to step ' + index + '...');
              -   }, next: function(index) {
              -     if (!isValid()) {
              -       alert('Invalid random value!');
              -       return false;
              -     }

              - -     alert('Going to step ' + index + '...');
              -   }, select: function(index) {
              -     alert('Current step ' + index + '.');
              -   }, finish: function(index) {
              -     alert('Finishing on step ' + index + '...');
              -   },
              -   titleClick: true
              - }); -

              - - - - You can do validations during the callback;
              - - Return "false" to prevent the transition;
              - - Return "true" or nothing to continue the transition;
              - - If the Stepy is a form and the finish element is not a submit type, then .submit() will be invoked. -

              - -
              With target for the titles and custom legend and description:
              - -
              -
              - -- -
              -
              - -
              - -- -
              -
              - -
              - -- -
              -
              - - -
              - -
              - -
              - <div id="title-target"></div>

              - - $('#step').stepy({
              -   description:  false,
              -   legend:       false,
              -   titleClick:   true,
              -   titleTarget:  '#title-target'
              - });
              -

              - - - - You can choose any specific target;
              - - Even if the fieldset has legend, it will not appear if legend attribute is false;
              - - The description depends of the legend element. Even with legend attribute setted to false;
              - - The finish button can be any element you want, since it has the class name 'finish'. -

              - -
              HTML structure:
              - -
              - <form id="step">
              -   <fieldset title="Title">
              -     <legend>description</legend>
              -     <!-- input fields -->
              -   </fieldset>

              - -   <fieldset title="Title">
              -     <legend>description</legend>
              -     <!-- input fields -->
              -   </fieldset>

              - -   <input type="submit" class="finish"/>
              - </form> -
              - - - - The fieldset's title is the main title of the step and the legend is the description of it. - - -
              Default options:
              - -
              - back:           undefined
              -
              Callback before the backward action.
              - - backLabel:      '< Back'
              -
              Change the back button label.
              - - block:          false
              -
              * Block the next step if the current is invalid.
              - - description:    false
              -
              Choose if the descriptions of the titles will be showed.
              - - errorImage:     false
              -
              * If an error occurs, a image is showed in the title of the corresponding step.
              - - finish:         undefined
              -
              Callback before the finish action.
              - - finishButton:   true
              -
              Include the element with class name '.finish' into the last step.
              - - ignore:         ''
              -
              Choose the fields to be ignored on validation.
              - - legend:         false
              -
              Choose if the legends of the steps will be showed.
              - - nextLabel:      'Next >' -
              Change the next button label.
              - - next:           undefined
              -
              Callback before the forward action.
              - - titleClick:     true
              -
              Active the back and next action in the titles.
              - - titleTarget:    ''
              -
              Choose the place where titles will be placed.
              - - select:         undefined
              -
              Callback executed when the step is shown.
              - - validate:       false
              -
              * Active the jQuery Validation for each step.
              -
              - -
              * Depends of jquery.validation.js.
              - -
              Public functions:
              - -
              $('#step').stepy('step', 2);
              -
              Change the form to step 2.
              -
              - - - - - - \ No newline at end of file diff --git a/modules/lib/sticky/sticky.css b/modules/lib/sticky/sticky.css deleted file mode 100644 index 70d638e..0000000 --- a/modules/lib/sticky/sticky.css +++ /dev/null @@ -1,18 +0,0 @@ -div.sticky-queue{position:fixed;background:#fff;background:rgba(255,255,255,.9);border-width:0 3px 3px;border-style:solid;border-color:#ccc;border-color:rgba(0,0,0,.6);width:280px;z-index:989} -div.sticky-queue.bottom-right,div.sticky-queue.bottom-left {border-width:3px 3px 0;border-style:solid;border-color:#ccc;border-color:rgba(0,0,0,.6)} -div.sticky-note{padding-right:20px;padding-left:14px;font-weight:700} -div.sticky{font-size:12px;color:#555;display:none;position:relative;padding:10px} -div.sticky p {margin-bottom:0} -.st-close{position:absolute;top:4px;right:6px} -.top-right,.top-left,.top-center{top:38px;border-bottom-right-radius:6px;border-bottom-left-radius:6px;-moz-border-radius-bottomright:6px;-moz-border-radius-bottomleft:6px;-webkit-border-bottom-right-radius:6px;-webkit-border-bottom-left-radius:6px} -.bottom-right,.bottom-left{bottom:-2px;border-top-right-radius:6px;border-top-left-radius:6px;-moz-border-radius-topright:6px;-moz-border-radius-topleft:6px;-webkit-border-top-right-radius:6px;-webkit-border-top-left-radius:6px} -.border-top-right,.border-top-left,.border-top-center{border-top:1px solid #eee;border-top:1px solid rgba(0,0,0,.1)} -.border-bottom-right,.border-bottom-left{border-bottom:1px solid #eee;border-bottom:1px solid rgba(0,0,0,.1)} -.sticky.st-error{color:#C62626} -.sticky.st-success{color:#7fae00} -.sticky.st-info{color:#00a6fc} -.top-right,.bottom-right{right:20px} -.top-left,.bottom-left{left:20px} -.top-center{left:50%;margin-left:-140px} -div.sticky-queue.top-right .sticky:last-child,div.sticky-queue.top-left .sticky:last-child,div.sticky-queue.top-center .sticky:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px;-moz-border-radius-bottomright:3px;-moz-border-radius-bottomleft:3px;-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px} -div.sticky-queue.bottom-right .sticky:first-child,div.sticky-queue.bottom-left .sticky:first-child {border-top-right-radius:3px;border-top-left-radius:3px;-moz-border-radius-topright:3px;-moz-border-radius-topleft:3px;-webkit-border-top-right-radius:3px;-webkit-border-top-left-radius:3px} diff --git a/modules/lib/sticky/sticky.js b/modules/lib/sticky/sticky.js deleted file mode 100644 index 0922907..0000000 --- a/modules/lib/sticky/sticky.js +++ /dev/null @@ -1,118 +0,0 @@ -// Sticky v1.0 by Daniel Raftery -// http://thrivingkings.com/sticky -// http://twitter.com/ThrivingKings - -;(function($) { - - // Using it without an object - $.sticky = function(note, options, callback) { return $.fn.sticky(note, options, callback); }; - - $.fn.sticky = function(note, options, callback) { - - var settings = - { - 'speed' : 'fast', // animations: fast, slow, or integer - 'duplicates' : false, // true or false - 'autoclose' : 5000, // integer or false - 'position' : 'top-right', // top-center, top-left, top-right, bottom-left, or bottom-right - 'type' : '' // st-success, st-info, st-error - }; - - if(options) { - $.extend(settings, options); - } - - // Passing in the object instead of specifying a note - if(!note) { - note = this.html(); - } - - // Variables - var display = true, duplicate = 'no'; - - // Somewhat of a unique ID - var uniqID = Math.floor(Math.random()*99999); - - // Handling duplicate notes and IDs - $('.sticky-note').each(function() { - if($(this).html() == note && $(this).is(':visible')) { - duplicate = 'yes'; - if(!settings['duplicates']) { - display = false; - } - } - if($(this).attr('id')==uniqID) { - uniqID = Math.floor(Math.random()*9999999); - } - }); - - // Make sure the sticky queue exists - if(!$('body').find('.sticky-queue.'+settings.position).html()) { - $('body').append('
              '); - } - - // Can it be displayed? - if(display) { - // Building and inserting sticky note - $('.sticky-queue.'+settings.position).prepend('
              '); - $('#' + uniqID).append('×'); - $('#' + uniqID).append('
              ' + note + '
              '); - - // Smoother animation - var height = $('#' + uniqID).height(); - $('#' + uniqID).css('height', height); - - $('#' + uniqID).slideDown(settings['speed']); - - display = true; - } - - // Listeners - $('.sticky').ready(function() { - // If 'autoclose' is enabled, set a timer to close the sticky - if(settings['autoclose']) { - $('#' + uniqID).delay(settings['autoclose']).slideUp(settings['speed'], function(){ - var closest = $(this).closest('.sticky-queue'); - var elem = closest.find('.sticky'); - $(this).remove(); - if(elem.length == '1'){ - closest.remove() - } - }); - } - }); - // Closing a sticky - $('.st-close').click(function() - { - $('#' + $(this).attr('rel')).dequeue().slideUp(settings['speed'], function(){ - var closest = $(this).closest('.sticky-queue'); - var elem = closest.find('.sticky'); - $(this).remove(); - if(elem.length == '1'){ - closest.remove() - } - }); - - }); - - - // Callback data - var response = { - 'id' : uniqID, - 'duplicate' : duplicate, - 'displayed' : display, - 'position' : settings.position, - 'type' : settings.type - } - - // Callback function? - if(callback) { - callback(response); - } - else { - return(response); - } - - } - -})( jQuery ); \ No newline at end of file diff --git a/modules/lib/sticky/sticky.min.js b/modules/lib/sticky/sticky.min.js deleted file mode 100644 index bceb293..0000000 --- a/modules/lib/sticky/sticky.min.js +++ /dev/null @@ -1,5 +0,0 @@ -// Sticky v1.0 by Daniel Raftery -// http://thrivingkings.com/sticky -// http://twitter.com/ThrivingKings - -;(function(a){a.sticky=function(e,d,f){return a.fn.sticky(e,d,f)};a.fn.sticky=function(e,d,f){var b={speed:"fast",duplicates:!1,autoclose:5E3,position:"top-right",type:""};d&&a.extend(b,d);e||(e=this.html());var g=!0,h="no",c=Math.floor(99999*Math.random());a(".sticky-note").each(function(){a(this).html()==e&&a(this).is(":visible")&&(h="yes",b.duplicates||(g=!1));a(this).attr("id")==c&&(c=Math.floor(9999999*Math.random()))});a("body").find(".sticky-queue."+b.position).html()||a("body").append('
              ');g&&(a(".sticky-queue."+b.position).prepend('
              '),a("#"+c).append('×'),a("#"+c).append('
              '+e+"
              "),d=a("#"+c).height(),a("#"+c).css("height",d),a("#"+c).slideDown(b.speed),g=!0);a(".sticky").ready(function(){b.autoclose&&a("#"+c).delay(b.autoclose).slideUp(b.speed,function(){var b=a(this).closest(".sticky-queue"), c=b.find(".sticky");a(this).remove();c.length=="1"&&b.remove()})});a(".st-close").click(function(){a("#"+a(this).attr("rel")).dequeue().slideUp(b.speed,function(){var b=a(this).closest(".sticky-queue"),c=b.find(".sticky");a(this).remove();c.length=="1"&&b.remove()})});d={id:c,duplicate:h,displayed:g,position:b.position,type:b.type};if(f)f(d);else return d}})(jQuery); \ No newline at end of file diff --git a/modules/lib/tag_handler/jquery.taghandler.js b/modules/lib/tag_handler/jquery.taghandler.js deleted file mode 100644 index c0e29af..0000000 --- a/modules/lib/tag_handler/jquery.taghandler.js +++ /dev/null @@ -1,679 +0,0 @@ -/* -jQuery Tag Handler v1.3.1 -Copyright (C) 2010-2011 Mark Jubenville -Mark Jubenville - ioncache@gmail.com -http://ioncache.github.com/Tag-Handler - -Development time supported by: -Raybec Communications -http://www.raybec.com -http://www.mysaleslink.com - -Modified by Javier Fernandez Escribano - fesjav@gmail.com -Added autocomplete queries as the user writes - -Development time supported by: -Tourist Eye -http://www.touristeye.com - -Based heavily on: -Tag it! by Levy Carneiro Jr (http://levycarneiro.com/) -http://levycarneiro.com/projects/tag-it/example.html -http://github.com/levycarneiro/tag-it -http://plugins.jquery.com/project/tag-it - -Tag icons/cursors converted from: -From the famfamfam.com Silk icon set: -http://www.famfamfam.com/lab/icons/silk/ - -Loader image created at: -Preloaders.net -http://preloaders.net/ - ------------------------------------------------------------------------------- -Description ------------------------------------------------------------------------------- - -Tag Handler is a jQuery plugin used for managing tag-type metadata. - ------------------------------------------------------------------------------- -Basic Usage Instructions ------------------------------------------------------------------------------- - -* Tag Handler must be attached to one or more
                tags in your HTML. - -* To add a tag, click on the tag box, type in a name, and hit enter or comma. - -* Tags may be removed from the tag box by hitting backspace inside the box or -by clicking on the tag. - -* The list of tags may be initialized in 1 of 3 ways: - -1. By passing arrays of tag names as options to the plugin -("availableTags" and "assignedTags"); or, - -2. By supplying a "getURL" for the tags to be retrieved via AJAX. - -When using this method, the server must supply a JSON formatted array -named "availableTags" and optionally an additional array named -"assignedTags". - -3. By supplying a "getURL" and initLoad: false. - -When using this method, it will get the "assignedTags" from the array as in -method 1. When the user writes a tag, it will query the server searching for -similar tags. - -Either way, the information from these 3 methods will be used in the -following manner: - -availableTags: each item in this array will populate the autocomplete -drop-down list - -assignedTags: each item this array will become a tag in the tag box - -* Tags may be sent back to the server by supplying an "updateURL". In this case, -an array will be sent back to the server named "tags". - -* You can define whether the user can create new tags or select tags only. - -* You can define if the user can edit the tags. - -* A sample CSS file is included that can be used to help with formatting tags. - ------------------------------------------------------------------------------- -Plugin Examples ------------------------------------------------------------------------------- - -Example 1: The Tag Handler will be initialized with no options and no default -tags: - -$("#basic_tag_handler").tagHandler(); - -Example 2: The Tag Handler will be initialized with preset tags from the -assignedTags and availableTags arrays, and autocomplete witll be -turned on: - -$("#array_tag_handler").tagHandler({ -assignedTags: [ 'Perl' ], -availableTags: [ 'C', 'C++', 'C#', 'Java', 'Perl', 'PHP', 'Python' ], -autocomplete: true -}); - -See http://ioncache.github.com/Tag-Handler for more examples - ------------------------------------------------------------------------------- -Plugin Options ------------------------------------------------------------------------------- - -Tag data specific options: --------------------------- - -Option Description Default Value --------------- ---------------------------------------------- -------------- -assignedTags array to pass a list of already assigned tags [] -availableTags array to pass a list of all available tags [] -getData data field with info for getURL '' -getURL URL for retrieving tag lists via ajax {} -initLoad indicates if all tags should be loaded on init true -updateData data field with additional info for updtateURL {} -updateURL URL for saving tags via ajax '' - -Callback options: ------------------ -Option Description Default Value --------------- ---------------------------------------------- -------------- -onAdd function to be called when a new tag is added {} -onDelete function to be called when a tag is deleted {} -afterAdd function to be called after a new tag is added {} -afterDelete function to be called after a tag is deleted {} - -Miscellaneous options: ----------------------- - -Option Description Default Value --------------- ---------------------------------------------- -------------- -allowAdd indicates whether the user can add new tags true -allowEdit indicates whether the tag list is editable true -autocomplete requires jqueryui autocomplete plugin false -autoUpdate indicates whether updating occurs automatically false -whenever a tag is added/deleted - if set true, -the save button will not be shown -className base class name that will be added to the tag 'tagHandler' -container -debug will turn on some console logging debug info false -delimiter extra delimiter to use to separate tags '' -note 'enter' and 'comma' are always allowed -maxTags sets a limit to the number of allowed tags, set 0 -to 0 to allow unlimited -minChars minimum number of chars to type before starting 0 -autocomplete -msgError message shown when there is an error loading 'There was an -the tags error getting -the tag list.' -msgNoNewTag message shown when the user cannot add a new 'You don't have -tag permission to -create a new -tag.' -queryname query term used to send user typed data 'q' -sortTags sets sorting of tag names alphabetically true - -Methods ----------------------- - -Name Description Usage ------------------ ----------------------- -------------------------------- -getTags returns an array of tags .tagHandler("getTags") -getSerializedTags returns comma separated .tagHandler("getSerializedTags") -string of tags - ------------------------------------------------------------------------------- -License ------------------------------------------------------------------------------- - -This program is free software: you can redistribute it and/or modify -it under the terms of the Lesser GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -This program 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 -Lesser GNU General Public License for more details. - -You should have received a copy of the Lesser GNU General Public License -along with this program. If not, see < http://www.gnu.org/licenses/ >. - -*/ - -(function ($) { - - // some helper methods - var methods = { - getSerializedTags: function () { - var currentTags = []; - $(this).find("li.tagItem").each(function (i, e) { - currentTags.push($(e).text()); - }); - return currentTags.join(','); - }, - getTags: function () { - var currentTags = []; - $(this).find("li.tagItem").each(function (i, e) { - currentTags.push($(e).text()); - }); - return currentTags; - }, - version: function () { - return "1.3.0"; - } - }; - - // main plugin initialization - $.fn.tagHandler = function (options) { - if (typeof(options) == 'object' || typeof(options) == 'undefined') { - - var opts = $.extend({}, $.fn.tagHandler.defaults, options); - debug($(this), opts); - - // processes each specified object and adds a tag handler to each - return this.each(function () { - - // checks to make sure the supplied element is a
                  - if (!$(this).is('ul')) { - return true; - } - - // caches the container to avoid scope issues. - var tagContainer = this; - var tagContainerObject = $(tagContainer); - - // adds an id to the tagContainer in case it doesn't have one - if (!tagContainer.id) { - var d = new Date(); - tagContainer.id = d.getTime(); - } - - // wraps the
                    element in a div mainly for use in positioning - // the save button and loader image. - tagContainerObject.wrap('
                    '); - - // adds the the tag class to the tagContainer and creates the tag - // input field - tagContainerObject.addClass(opts.className + "Container"); - if (opts.allowEdit) { - tagContainerObject.html('
                  • '); - } - var inputField = tagContainerObject.find(".tagInputField"); - - // master tag list, will contain 3 arrays of tags - var tags = []; - tags.availableTags = []; - tags.originalTags = []; - tags.assignedTags = []; - - // adds save/loader divs to the tagContainer if needed - if (opts.updateURL !== '') { - if (!opts.autoUpdate) { - $("
                    ").attr({ id: tagContainer.id + "_save", title: "Save Tags" }).addClass("tagUpdate").click(function () { - saveTags(tags, opts, tagContainer.id); - }).appendTo(tagContainerObject.parent()); - } - $("
                    ").attr({ id: tagContainer.id + "_loader", title: "Saving Tags" }).addClass("tagLoader").appendTo(tagContainerObject.parent()); - } - - // adds autocomplete functionality for the tag names - if (opts.autocomplete && typeof($.fn.autocomplete) == 'function' && opts.initLoad) { - $(inputField).autocomplete({ - source: tags.availableTags, - select: function (event, ui) { - var $el = $(this); - if (!checkTag($.trim(ui.item.value), tags.assignedTags)) { - if (opts.maxTags > 0 && tags.assignedTags.length >= opts.maxTags) { - alert('Maximum tags allowed: ' + opts.maxTags); - } - else { - var newTag = $.trim(ui.item.value); - var rc = 1; - if (typeof(opts.onAdd) == "function") { - rc = opts.onAdd.call(this, newTag); - } - if (rc || typeof(rc) == "undefined") { - tags = addTag(this, newTag, tags, opts.sortTags); - if (opts.updateURL !== '' && opts.autoUpdate) { - saveTags(tags, opts, tagContainer.id); - } - $(inputField).autocomplete("option", "source", tags.availableTags); - if (typeof(opts.afterAdd) == "function") { - opts.afterAdd.call(this, newTag); - } - } - } - $el.focus(); - } - $el.val(""); - return false; - }, - minLength: opts.minChars - }); - } - // Make an AJAX request to get the list of tags based on typed data - else if (opts.autocomplete && typeof($.fn.autocomplete) == 'function') { - $(inputField).autocomplete({ - source: function (request, response) { - opts.getData[opts.queryname] = request.term; - var lastXhr = $.getJSON(opts.getURL, opts.getData, function (data, status, xhr) { - response(data.availableTags); - }); - }, - select: function (event, ui) { - var $el = $(this); - if (!checkTag($.trim(ui.item.value), tags.assignedTags)) { - if (opts.maxTags > 0 && tags.assignedTags.length >= opts.maxTags) { - alert('Maximum tags allowed: ' + opts.maxTags); - } - else { - var newTag = $.trim(ui.item.value); - var rc = 1; - if (typeof(opts.onAdd) == "function") { - opts.onAdd.call(this, newTag); - } - if (rc || typeof(rc) == "undefined") { - tags = addTag(this, $.trim(ui.item.value), tags, opts.sortTags); - if (opts.updateURL !== '' && opts.autoUpdate) { - saveTags(tags, opts, tagContainer.id); - } - if (typeof(opts.afterAdd) == "function") { - opts.afterAdd.call(this, newTag); - } - } - } - $el.focus(); - } - $el.val(''); - return false; - }, - minLength: opts.minChars - }); - } - - // initializes the tag lists - // tag lists will be pulled from a URL - if (opts.getURL !== '' && opts.initLoad) { - $.ajax({ - url: opts.getURL, - cache: false, - data: opts.getData, - dataType: 'json', - success: function (data, text, xhr) { - if (data.availableTags.length) { - tags.availableTags = data.availableTags.slice(); - tags.originalTags = tags.availableTags.slice(); - } - if (opts.sortTags) { - tags = sortTags(tags); - } - if (data.assignedTags.length) { - tags.assignedTags = data.assignedTags.slice(); - if (opts.sortTags) { - tags = sortTags(tags); - } - - tags = addAssignedTags(opts, tags, inputField, tagContainer); - - } - if (opts.autocomplete && typeof($.fn.autocomplete) == 'function' && opts.allowEdit) { - $(inputField).autocomplete("option", "source", tags.availableTags); - } - }, - error: function (xhr, text, error) { - debug(xhr, text, error); - alert(opts.msgError); - } - }); - - // show assigned tags only if we load the data as we write - } - else if (opts.getURL !== '') { - - tags.assignedTags = opts.assignedTags.slice(); - if (opts.sortTags) { - tags = sortTags(tags); - } - - tags = addAssignedTags(opts, tags, inputField, tagContainer); - - // or load the lists of tags - } - else { - - if (opts.availableTags.length) { - tags.availableTags = opts.availableTags.slice(); - tags.originalTags = tags.availableTags.slice(); - } - if (opts.sortTags) { - tags = sortTags(tags); - } - if (opts.assignedTags.length) { - tags.assignedTags = opts.assignedTags.slice(); - if (opts.sortTags) { - tags = sortTags(tags); - } - - tags = addAssignedTags(opts, tags, inputField, tagContainer); - } - if (opts.autocomplete && typeof($.fn.autocomplete) == 'function' && opts.allowEdit && opts.initLoad) { - $(inputField).autocomplete("option", "source", tags.availableTags); - } - } - - // all tag editing functionality only activated if set in options - if (opts.allowEdit) { - // delegates a click event function to all future
                  • elements with - // the tagItem class that will remove the tag upon click - tagContainerObject.delegate("li.tagItem", "click", function () { - var $el = $(this); - var rc = 1; - - if (typeof(opts.onDelete) == "function") { - rc = opts.onDelete.call(this, $.trim($el.text())); - } - - if (rc) { - tags = removeTag($el, tags, opts.sortTags); - if (opts.updateURL !== '' && opts.autoUpdate) { - saveTags(tags, opts, tagContainer.id); - } - } - - if (typeof(opts.afterDelete) == "function") { - opts.afterDelete.call(this, $.trim($el.text())); - } - - if (opts.autocomplete && typeof($.fn.autocomplete) == 'function' && opts.initLoad) { - $(inputField).autocomplete("option", "source", tags.availableTags); - } - }); - - // checks the keypress event for enter or comma, and adds a new tag - // when either of those keys are pressed - $(inputField).keypress(function (e) { - var $el = $(this); - if (e.which === 13 || e.which === 44 || e.which === opts.delimiter.charCodeAt(0)) { - e.preventDefault(); - if ($el.val() !== "" && !checkTag($.trim($el.val()), tags.assignedTags)) { - - // check if the tag is in availableTags - if (!opts.allowAdd && !checkTag($.trim($el.val()), tags.availableTags)) { - alert(opts.msgNoNewTag); - return; - } - - if (opts.maxTags > 0 && tags.assignedTags.length >= opts.maxTags) { - alert('Maximum tags allowed: ' + opts.maxTags); - } - else { - var newTag = $.trim($el.val()); - - // allow addition onAdd return code to control whether - // addition is allowed to go through - var rc = 1; - if (typeof(opts.onAdd) == "function") { - rc = opts.onAdd.call(this, newTag); - } - - if (rc || typeof(rc) == "undefined") { - tags = addTag(this, newTag, tags, opts.sorttags); - if (opts.updateURL !== '' && opts.autoUpdate) { - saveTags(tags, opts, tagContainer.id); - } - if (opts.autocomplete && typeof($.fn.autocomplete) == 'function' && opts.initload) { - $(inputField).autocomplete("option", "source", tags.availableTags); - } - if (typeof(opts.afterAdd) == "function") { - opts.afterAdd.call(this, newTag); - } - } - } - $el.val(""); - $el.focus(); - } - } - }); - - // checks the keydown event for the backspace key as checking the - // keypress event doesn't work in IE - $(inputField).keydown(function (e) { - var $el = $(this); - if (e.which === 8 && $el.val() === "") { - var deleted_tag = tagContainerObject.find(".tagItem:last").text(); - if (typeof(opts.onDelete) == "function") { - opts.onDelete.call(this, $.trim(deleted_tag)); - } - tags = removeTag(tagContainerObject.find(".tagItem:last"), tags, opts.sortTags); - if (opts.updateURL !== '' && opts.autoUpdate) { - saveTags(tags, opts, tagContainer.id); - } - if (typeof(opts.afterDelete) == "function") { - opts.afterDelete.call(this, $.trim(deleted_tag)); - } - if (opts.autocomplete && typeof($.fn.autocomplete) == 'function' && opts.initLoad) { - $(inputField).autocomplete("option", "source", tags.availableTags); - } - $el.focus(); - } - }); - - // sets the input field to show the autocomplete list on focus - // when there is no value - $(inputField).focus(function () { - if ($(inputField).val() === '' && opts.autocomplete && typeof($.fn.autocomplete) == 'function' && opts.initLoad) { - $(inputField).autocomplete("search", ""); - } - }); - - // sets the focus to the input field whenever the user clicks - // anywhere on the tagContainer -- since the input field by default - // has no border it isn't obvious where to click to access it - tagContainerObject.click(function () { - $(inputField).focus(); - }); - } - this.getTags = function () { - return tags.assignedTags; - }; - return 1; - }); - } - else if (typeof(options) == "string" && methods[options]) { - return methods[options].apply(this, Array.prototype.slice.call(arguments, 1)); - } - }; - - // plugin option defaults - $.fn.tagHandler.defaults = { - allowEdit: true, - allowAdd: true, - assignedTags: [], - autocomplete: false, - autoUpdate: false, - availableTags: [], - className: 'tagHandler', - debug: false, - delimiter: '', - getData: {}, - getURL: '', - initLoad: true, - maxTags: 0, - minChars: 0, - msgNoNewTag: "You don't have permission to create a new tag.", - msgError: "There was an error getting the tag list.", - onAdd: {}, - onDelete: {}, - afterAdd: {}, - afterDelete: {}, - queryname: 'q', - sortTags: true, - updateData: {}, - updateURL: '' - }; - - // checks to to see if a tag is already found in a list of tags - function checkTag(value, tags) { - var check = false; - jQuery.each(tags, function (i, e) { - if (e === value) { - check = true; - return false; - } - }); - - return check; - } - - // removes a tag from a tag list - function removeTagFromList(value, tags) { - jQuery.each(tags, function (i, e) { - if (e === value) { - tags.splice(i, 1); - } - }); - - return tags; - } - - // adds a tag to the tag box and the assignedTags list - function addTag(tagField, value, tags, sort) { - tags.assignedTags.push(value); - tags.availableTags = removeTagFromList(value, tags.availableTags); - $("
                  • ").addClass("tagItem").text(value).insertBefore($(tagField).parent()); - - if (sort) { - tags = sortTags(tags); - } - return tags; - } - - // removes a tag from the tag box and the assignedTags list - function removeTag(tag, tags, sort) { - var value = $(tag).text(); - tags.assignedTags = removeTagFromList(value, tags.assignedTags); - if (checkTag(value, tags.originalTags)) { - tags.availableTags.push(value); - } - $(tag).remove(); - - if (sort) { - tags = sortTags(tags); - } - return tags; - } - - // sorts each of the sets of tags - function sortTags(tags) { - tags.availableTags = tags.availableTags.sort(); - tags.assignedTags = tags.assignedTags.sort(); - tags.originalTags = tags.originalTags.sort(); - - return tags; - } - - // saves the tags to the server via ajax - function saveTags(tags, opts, tcID) { - var sendData = { - tags: tags.assignedTags - }; - $.extend(sendData, opts.updateData); - $.ajax({ - type: 'POST', - url: opts.updateURL, - cache: false, - data: sendData, - dataType: 'json', - beforeSend: function () { - if ($("#" + tcID + "_save").length) { - $("#" + tcID + "_save").fadeOut(200, - function () { - $("#" + tcID + "_loader").fadeIn(200); - }); - } - else { - $("#" + tcID + "_loader").fadeIn(200); - } - }, - complete: function () { - $("#" + tcID + "_loader").fadeOut(200, - function () { - if ($("#" + tcID + "_save").length) { - $("#" + tcID + "_save").fadeIn(200); - } - }); - } - }); - } - - // adds any already assigned tags to the tag box - function addAssignedTags(opts, tags, inputField, tagContainer) { - $(tags.assignedTags).each(function (i, e) { - if (opts.allowEdit) { - $("
                  • ").addClass("tagItem").text(e).insertBefore($(inputField).parent()); - } - else { - $("
                  • ").addClass("tagItem").css("cursor", "default").text(e).appendTo($(tagContainer)); - } - tags.availableTags = removeTagFromList(e, tags.availableTags); - }); - - return tags; - } - - // some debugging information - function debug(tagContainer, options) { - if (options.debug && window.console && window.console.log) { - window.console.log(tagContainer); - window.console.log(options); - window.console.log($.fn.tagHandler.defaults); - } - } - -})(jQuery); diff --git a/modules/lib/tag_handler/jquery.taghandler.min.js b/modules/lib/tag_handler/jquery.taghandler.min.js deleted file mode 100644 index 6457f9b..0000000 --- a/modules/lib/tag_handler/jquery.taghandler.min.js +++ /dev/null @@ -1,14 +0,0 @@ -(function(b){function l(b,a){var e=!1;jQuery.each(a,function(a,f){if(f===b)return e=!0,!1});return e}function m(b,a){jQuery.each(a,function(e,g){g===b&&a.splice(e,1)});return a}function n(d,a,e,g){e.assignedTags.push(a);e.availableTags=m(a,e.availableTags);b("
                  • ").addClass("tagItem").text(a).insertBefore(b(d).parent());g&&(e=j(e));return e}function q(d,a,e){var g=b(d).text();a.assignedTags=m(g,a.assignedTags);l(g,a.originalTags)&&a.availableTags.push(g);b(d).remove();e&&(a=j(a));return a}function j(b){b.availableTags= -b.availableTags.sort();b.assignedTags=b.assignedTags.sort();b.originalTags=b.originalTags.sort();return b}function k(d,a,e){d={tags:d.assignedTags};b.extend(d,a.updateData);b.ajax({type:"POST",url:a.updateURL,cache:!1,data:d,dataType:"json",beforeSend:function(){b("#"+e+"_save").length?b("#"+e+"_save").fadeOut(200,function(){b("#"+e+"_loader").fadeIn(200)}):b("#"+e+"_loader").fadeIn(200)},complete:function(){b("#"+e+"_loader").fadeOut(200,function(){b("#"+e+"_save").length&&b("#"+e+"_save").fadeIn(200)})}})} -function p(d,a,e,g){b(a.assignedTags).each(function(f,c){d.allowEdit?b("
                  • ").addClass("tagItem").text(c).insertBefore(b(e).parent()):b("
                  • ").addClass("tagItem").css("cursor","default").text(c).appendTo(b(g));a.availableTags=m(c,a.availableTags)});return a}function r(d,a){a.debug&&(window.console&&window.console.log)&&(window.console.log(d),window.console.log(a),window.console.log(b.fn.tagHandler.defaults))}var s={getSerializedTags:function(){var d=[];b(this).find("li.tagItem").each(function(a, -e){d.push(b(e).text())});return d.join(",")},getTags:function(){var d=[];b(this).find("li.tagItem").each(function(a,e){d.push(b(e).text())});return d},version:function(){return"1.3.0"}};b.fn.tagHandler=function(d){if("object"==typeof d||"undefined"==typeof d){var a=b.extend({},b.fn.tagHandler.defaults,d);r(b(this),a);return this.each(function(){if(!b(this).is("ul"))return!0;var e=this,d=b(e);e.id||(e.id=(new Date).getTime());d.wrap('
                    ');d.addClass(a.className+"Container"); -a.allowEdit&&d.html('
                  • ');var f=d.find(".tagInputField"),c=[];c.availableTags=[];c.originalTags=[];c.assignedTags=[];""!==a.updateURL&&(a.autoUpdate||b("
                    ").attr({id:e.id+"_save",title:"Save Tags"}).addClass("tagUpdate").click(function(){k(c,a,e.id)}).appendTo(d.parent()),b("
                    ").attr({id:e.id+"_loader",title:"Saving Tags"}).addClass("tagLoader").appendTo(d.parent()));a.autocomplete&&"function"==typeof b.fn.autocomplete&& -a.initLoad?b(f).autocomplete({source:c.availableTags,select:function(d,h){var t=b(this);if(!l(b.trim(h.item.value),c.assignedTags)){if(0=a.maxTags)alert("Maximum tags allowed: "+a.maxTags);else{var g=b.trim(h.item.value),j=1;"function"==typeof a.onAdd&&(j=a.onAdd.call(this,g));if(j||"undefined"==typeof j)c=n(this,g,c,a.sortTags),""!==a.updateURL&&a.autoUpdate&&k(c,a,e.id),b(f).autocomplete("option","source",c.availableTags),"function"==typeof a.afterAdd&&a.afterAdd.call(this, -g)}t.focus()}t.val("");return!1},minLength:a.minChars}):a.autocomplete&&"function"==typeof b.fn.autocomplete&&b(f).autocomplete({source:function(c,e){a.getData[a.queryname]=c.term;b.getJSON(a.getURL,a.getData,function(a){e(a.availableTags)})},select:function(d,h){var f=b(this);if(!l(b.trim(h.item.value),c.assignedTags)){if(0=a.maxTags)alert("Maximum tags allowed: "+a.maxTags);else{var g=b.trim(h.item.value);"function"==typeof a.onAdd&&a.onAdd.call(this,g);c=n(this, -b.trim(h.item.value),c,a.sortTags);""!==a.updateURL&&a.autoUpdate&&k(c,a,e.id);"function"==typeof a.afterAdd&&a.afterAdd.call(this,g)}f.focus()}f.val("");return!1},minLength:a.minChars});""!==a.getURL&&a.initLoad?b.ajax({url:a.getURL,cache:!1,data:a.getData,dataType:"json",success:function(d){d.availableTags.length&&(c.availableTags=d.availableTags.slice(),c.originalTags=c.availableTags.slice());a.sortTags&&(c=j(c));d.assignedTags.length&&(c.assignedTags=d.assignedTags.slice(),a.sortTags&&(c=j(c)), -c=p(a,c,f,e));a.autocomplete&&("function"==typeof b.fn.autocomplete&&a.allowEdit)&&b(f).autocomplete("option","source",c.availableTags)},error:function(b,c,d){r(b,c,d);alert(a.msgError)}}):""!==a.getURL?(c.assignedTags=a.assignedTags.slice(),a.sortTags&&(c=j(c)),c=p(a,c,f,e)):(a.availableTags.length&&(c.availableTags=a.availableTags.slice(),c.originalTags=c.availableTags.slice()),a.sortTags&&(c=j(c)),a.assignedTags.length&&(c.assignedTags=a.assignedTags.slice(),a.sortTags&&(c=j(c)),c=p(a,c,f,e)), -a.autocomplete&&("function"==typeof b.fn.autocomplete&&a.allowEdit&&a.initLoad)&&b(f).autocomplete("option","source",c.availableTags));a.allowEdit&&(d.delegate("li.tagItem","click",function(){var d=b(this),h=1;"function"==typeof a.onDelete&&(h=a.onDelete.call(this,b.trim(d.text())));h&&(c=q(d,c,a.sortTags),""!==a.updateURL&&a.autoUpdate&&k(c,a,e.id));"function"==typeof a.afterDelete&&a.afterDelete.call(this,b.trim(d.text()));a.autocomplete&&("function"==typeof b.fn.autocomplete&&a.initLoad)&&b(f).autocomplete("option", -"source",c.availableTags)}),b(f).keypress(function(d){var h=b(this);if(13===d.which||44===d.which||d.which===a.delimiter.charCodeAt(0))if(d.preventDefault(),""!==h.val()&&!l(b.trim(h.val()),c.assignedTags))if(!a.allowAdd&&!l(b.trim(h.val()),c.availableTags))alert(a.msgNoNewTag);else{if(0=a.maxTags)alert("Maximum tags allowed: "+a.maxTags);else{d=b.trim(h.val());var g=1;"function"==typeof a.onAdd&&(g=a.onAdd.call(this,d));if(g||"undefined"==typeof g)c=n(this,d,c,a.sorttags), -""!==a.updateURL&&a.autoUpdate&&k(c,a,e.id),a.autocomplete&&("function"==typeof b.fn.autocomplete&&a.initload)&&b(f).autocomplete("option","source",c.availableTags),"function"==typeof a.afterAdd&&a.afterAdd.call(this,d)}h.val("");h.focus()}}),b(f).keydown(function(j){var h=b(this);8===j.which&&""===h.val()&&(j=d.find(".tagItem:last").text(),"function"==typeof a.onDelete&&a.onDelete.call(this,b.trim(j)),c=q(d.find(".tagItem:last"),c,a.sortTags),""!==a.updateURL&&a.autoUpdate&&k(c,a,e.id),"function"== -typeof a.afterDelete&&a.afterDelete.call(this,b.trim(j)),a.autocomplete&&("function"==typeof b.fn.autocomplete&&a.initLoad)&&b(f).autocomplete("option","source",c.availableTags),h.focus())}),b(f).focus(function(){""===b(f).val()&&(a.autocomplete&&"function"==typeof b.fn.autocomplete&&a.initLoad)&&b(f).autocomplete("search","")}),d.click(function(){b(f).focus()}));this.getTags=function(){return c.assignedTags};return 1})}if("string"==typeof d&&s[d])return s[d].apply(this,Array.prototype.slice.call(arguments, -1))};b.fn.tagHandler.defaults={allowEdit:!0,allowAdd:!0,assignedTags:[],autocomplete:!1,autoUpdate:!1,availableTags:[],className:"tagHandler",debug:!1,delimiter:"",getData:{},getURL:"",initLoad:!0,maxTags:0,minChars:0,msgNoNewTag:"You don't have permission to create a new tag.",msgError:"There was an error getting the tag list.",onAdd:{},onDelete:{},afterAdd:{},afterDelete:{},queryname:"q",sortTags:!0,updateData:{},updateURL:""}})(jQuery); \ No newline at end of file diff --git a/modules/lib/tag_handler/license.txt b/modules/lib/tag_handler/license.txt deleted file mode 100644 index 65c5ca8..0000000 --- a/modules/lib/tag_handler/license.txt +++ /dev/null @@ -1,165 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - - This version of the GNU Lesser General Public License incorporates -the terms and conditions of version 3 of the GNU General Public -License, supplemented by the additional permissions listed below. - - 0. Additional Definitions. - - As used herein, "this License" refers to version 3 of the GNU Lesser -General Public License, and the "GNU GPL" refers to version 3 of the GNU -General Public License. - - "The Library" refers to a covered work governed by this License, -other than an Application or a Combined Work as defined below. - - An "Application" is any work that makes use of an interface provided -by the Library, but which is not otherwise based on the Library. -Defining a subclass of a class defined by the Library is deemed a mode -of using an interface provided by the Library. - - A "Combined Work" is a work produced by combining or linking an -Application with the Library. The particular version of the Library -with which the Combined Work was made is also called the "Linked -Version". - - The "Minimal Corresponding Source" for a Combined Work means the -Corresponding Source for the Combined Work, excluding any source code -for portions of the Combined Work that, considered in isolation, are -based on the Application, and not on the Linked Version. - - The "Corresponding Application Code" for a Combined Work means the -object code and/or source code for the Application, including any data -and utility programs needed for reproducing the Combined Work from the -Application, but excluding the System Libraries of the Combined Work. - - 1. Exception to Section 3 of the GNU GPL. - - You may convey a covered work under sections 3 and 4 of this License -without being bound by section 3 of the GNU GPL. - - 2. Conveying Modified Versions. - - If you modify a copy of the Library, and, in your modifications, a -facility refers to a function or data to be supplied by an Application -that uses the facility (other than as an argument passed when the -facility is invoked), then you may convey a copy of the modified -version: - - a) under this License, provided that you make a good faith effort to - ensure that, in the event an Application does not supply the - function or data, the facility still operates, and performs - whatever part of its purpose remains meaningful, or - - b) under the GNU GPL, with none of the additional permissions of - this License applicable to that copy. - - 3. Object Code Incorporating Material from Library Header Files. - - The object code form of an Application may incorporate material from -a header file that is part of the Library. You may convey such object -code under terms of your choice, provided that, if the incorporated -material is not limited to numerical parameters, data structure -layouts and accessors, or small macros, inline functions and templates -(ten or fewer lines in length), you do both of the following: - - a) Give prominent notice with each copy of the object code that the - Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the object code with a copy of the GNU GPL and this license - document. - - 4. Combined Works. - - You may convey a Combined Work under terms of your choice that, -taken together, effectively do not restrict modification of the -portions of the Library contained in the Combined Work and reverse -engineering for debugging such modifications, if you also do each of -the following: - - a) Give prominent notice with each copy of the Combined Work that - the Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the Combined Work with a copy of the GNU GPL and this license - document. - - c) For a Combined Work that displays copyright notices during - execution, include the copyright notice for the Library among - these notices, as well as a reference directing the user to the - copies of the GNU GPL and this license document. - - d) Do one of the following: - - 0) Convey the Minimal Corresponding Source under the terms of this - License, and the Corresponding Application Code in a form - suitable for, and under terms that permit, the user to - recombine or relink the Application with a modified version of - the Linked Version to produce a modified Combined Work, in the - manner specified by section 6 of the GNU GPL for conveying - Corresponding Source. - - 1) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (a) uses at run time - a copy of the Library already present on the user's computer - system, and (b) will operate properly with a modified version - of the Library that is interface-compatible with the Linked - Version. - - e) Provide Installation Information, but only if you would otherwise - be required to provide such information under section 6 of the - GNU GPL, and only to the extent that such information is - necessary to install and execute a modified version of the - Combined Work produced by recombining or relinking the - Application with a modified version of the Linked Version. (If - you use option 4d0, the Installation Information must accompany - the Minimal Corresponding Source and Corresponding Application - Code. If you use option 4d1, you must provide the Installation - Information in the manner specified by section 6 of the GNU GPL - for conveying Corresponding Source.) - - 5. Combined Libraries. - - You may place library facilities that are a work based on the -Library side by side in a single library together with other library -facilities that are not Applications and are not covered by this -License, and convey such a combined library under terms of your -choice, if you do both of the following: - - a) Accompany the combined library with a copy of the same work based - on the Library, uncombined with any other library facilities, - conveyed under the terms of this License. - - b) Give prominent notice with the combined library that part of it - is a work based on the Library, and explaining where to find the - accompanying uncombined form of the same work. - - 6. Revised Versions of the GNU Lesser General Public License. - - The Free Software Foundation may publish revised and/or new versions -of the GNU Lesser General Public License from time to time. Such new -versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. - - Each version is given a distinguishing version number. If the -Library as you received it specifies that a certain numbered version -of the GNU Lesser General Public License "or any later version" -applies to it, you have the option of following the terms and -conditions either of that published version or of any later version -published by the Free Software Foundation. If the Library as you -received it does not specify a version number of the GNU Lesser -General Public License, you may choose any version of the GNU Lesser -General Public License ever published by the Free Software Foundation. - - If the Library as you received it specifies that a proxy can decide -whether future versions of the GNU Lesser General Public License shall -apply, that proxy's public statement of acceptance of any version is -permanent authorization for you to choose that version for the -Library. diff --git a/modules/lib/tiny_mce/jquery.tinymce.js b/modules/lib/tiny_mce/jquery.tinymce.js deleted file mode 100644 index b4d0c39..0000000 --- a/modules/lib/tiny_mce/jquery.tinymce.js +++ /dev/null @@ -1 +0,0 @@ -(function(c){var b,e,a=[],d=window;c.fn.tinymce=function(j){var p=this,g,k,h,m,i,l="",n="";if(!p.length){return p}if(!j){return tinyMCE.get(p[0].id)}p.css("visibility","hidden");function o(){var r=[],q=0;if(f){f();f=null}p.each(function(t,u){var s,w=u.id,v=j.oninit;if(!w){u.id=w=tinymce.DOM.uniqueId()}s=new tinymce.Editor(w,j);r.push(s);s.onInit.add(function(){var x,y=v;p.css("visibility","");if(v){if(++q==r.length){if(tinymce.is(y,"string")){x=(y.indexOf(".")===-1)?null:tinymce.resolve(y.replace(/\.\w+$/,""));y=tinymce.resolve(y)}y.apply(x||tinymce,r)}}})});c.each(r,function(t,s){s.render()})}if(!d.tinymce&&!e&&(g=j.script_url)){e=1;h=g.substring(0,g.lastIndexOf("/"));if(/_(src|dev)\.js/g.test(g)){n="_src"}m=g.lastIndexOf("?");if(m!=-1){l=g.substring(m+1)}d.tinyMCEPreInit=d.tinyMCEPreInit||{base:h,suffix:n,query:l};if(g.indexOf("gzip")!=-1){i=j.language||"en";g=g+(/\?/.test(g)?"&":"?")+"js=true&core=true&suffix="+escape(n)+"&themes="+escape(j.theme)+"&plugins="+escape(j.plugins)+"&languages="+i;if(!d.tinyMCE_GZ){tinyMCE_GZ={start:function(){tinymce.suffix=n;function q(r){tinymce.ScriptLoader.markDone(tinyMCE.baseURI.toAbsolute(r))}q("langs/"+i+".js");q("themes/"+j.theme+"/editor_template"+n+".js");q("themes/"+j.theme+"/langs/"+i+".js");c.each(j.plugins.split(","),function(s,r){if(r){q("plugins/"+r+"/editor_plugin"+n+".js");q("plugins/"+r+"/langs/"+i+".js")}})},end:function(){}}}}c.ajax({type:"GET",url:g,dataType:"script",cache:true,success:function(){tinymce.dom.Event.domLoaded=1;e=2;if(j.script_loaded){j.script_loaded()}o();c.each(a,function(q,r){r()})}})}else{if(e===1){a.push(o)}else{o()}}return p};c.extend(c.expr[":"],{tinymce:function(g){return !!(g.id&&"tinyMCE" in window&&tinyMCE.get(g.id))}});function f(){function i(l){if(l==="remove"){this.each(function(n,o){var m=h(o);if(m){m.remove()}})}this.find("span.mceEditor,div.mceEditor").each(function(n,o){var m=tinyMCE.get(o.id.replace(/_parent$/,""));if(m){m.remove()}})}function k(n){var m=this,l;if(n!==b){i.call(m);m.each(function(p,q){var o;if(o=tinyMCE.get(q.id)){o.setContent(n)}})}else{if(m.length>0){if(l=tinyMCE.get(m[0].id)){return l.getContent()}}}}function h(m){var l=null;(m)&&(m.id)&&(d.tinymce)&&(l=tinyMCE.get(m.id));return l}function g(l){return !!((l)&&(l.length)&&(d.tinymce)&&(l.is(":tinymce")))}var j={};c.each(["text","html","val"],function(n,l){var o=j[l]=c.fn[l],m=(l==="text");c.fn[l]=function(s){var p=this;if(!g(p)){return o.apply(p,arguments)}if(s!==b){k.call(p.filter(":tinymce"),s);o.apply(p.not(":tinymce"),arguments);return p}else{var r="";var q=arguments;(m?p:p.eq(0)).each(function(u,v){var t=h(v);r+=t?(m?t.getContent().replace(/<(?:"[^"]*"|'[^']*'|[^'">])*>/g,""):t.getContent({save:true})):o.apply(c(v),q)});return r}}});c.each(["append","prepend"],function(n,m){var o=j[m]=c.fn[m],l=(m==="prepend");c.fn[m]=function(q){var p=this;if(!g(p)){return o.apply(p,arguments)}if(q!==b){p.filter(":tinymce").each(function(s,t){var r=h(t);r&&r.setContent(l?q+r.getContent():r.getContent()+q)});o.apply(p.not(":tinymce"),arguments);return p}}});c.each(["remove","replaceWith","replaceAll","empty"],function(m,l){var n=j[l]=c.fn[l];c.fn[l]=function(){i.call(this,l);return n.apply(this,arguments)}});j.attr=c.fn.attr;c.fn.attr=function(o,q){var m=this,n=arguments;if((!o)||(o!=="value")||(!g(m))){if(q!==b){return j.attr.apply(m,n)}else{return j.attr.apply(m,n)}}if(q!==b){k.call(m.filter(":tinymce"),q);j.attr.apply(m.not(":tinymce"),n);return m}else{var p=m[0],l=h(p);return l?l.getContent({save:true}):j.attr.apply(c(p),n)}}}})(jQuery); \ No newline at end of file diff --git a/modules/lib/tiny_mce/license.txt b/modules/lib/tiny_mce/license.txt deleted file mode 100644 index 1837b0a..0000000 --- a/modules/lib/tiny_mce/license.txt +++ /dev/null @@ -1,504 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - 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. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - , 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! - - diff --git a/modules/lib/tiny_mce/tiny_mce.js b/modules/lib/tiny_mce/tiny_mce.js deleted file mode 100644 index 8588b33..0000000 --- a/modules/lib/tiny_mce/tiny_mce.js +++ /dev/null @@ -1 +0,0 @@ -(function(e){var a=/^\s*|\s*$/g,b,d="B".replace(/A(.)|B/,"$1")==="$1";var c={majorVersion:"3",minorVersion:"5.5",releaseDate:"2012-07-19",_init:function(){var s=this,q=document,o=navigator,g=o.userAgent,m,f,l,k,j,r;s.isOpera=e.opera&&opera.buildNumber;s.isWebKit=/WebKit/.test(g);s.isIE=!s.isWebKit&&!s.isOpera&&(/MSIE/gi).test(g)&&(/Explorer/gi).test(o.appName);s.isIE6=s.isIE&&/MSIE [56]/.test(g);s.isIE7=s.isIE&&/MSIE [7]/.test(g);s.isIE8=s.isIE&&/MSIE [8]/.test(g);s.isIE9=s.isIE&&/MSIE [9]/.test(g);s.isGecko=!s.isWebKit&&/Gecko/.test(g);s.isMac=g.indexOf("Mac")!=-1;s.isAir=/adobeair/i.test(g);s.isIDevice=/(iPad|iPhone)/.test(g);s.isIOS5=s.isIDevice&&g.match(/AppleWebKit\/(\d*)/)[1]>=534;if(e.tinyMCEPreInit){s.suffix=tinyMCEPreInit.suffix;s.baseURL=tinyMCEPreInit.base;s.query=tinyMCEPreInit.query;return}s.suffix="";f=q.getElementsByTagName("base");for(m=0;m0?b:[f.scope]);if(e===false){break}}a.inDispatch=false;return e}});(function(){var a=tinymce.each;tinymce.create("tinymce.util.URI",{URI:function(e,g){var f=this,i,d,c,h;e=tinymce.trim(e);g=f.settings=g||{};if(/^([\w\-]+):([^\/]{2})/i.test(e)||/^\s*#/.test(e)){f.source=e;return}if(e.indexOf("/")===0&&e.indexOf("//")!==0){e=(g.base_uri?g.base_uri.protocol||"http":"http")+"://mce_host"+e}if(!/^[\w\-]*:?\/\//.test(e)){h=g.base_uri?g.base_uri.path:new tinymce.util.URI(location.href).directory;e=((g.base_uri&&g.base_uri.protocol)||"http")+"://mce_host"+f.toAbsPath(h,e)}e=e.replace(/@@/g,"(mce_at)");e=/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@\/]*):?([^:@\/]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/.exec(e);a(["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],function(b,j){var k=e[j];if(k){k=k.replace(/\(mce_at\)/g,"@@")}f[b]=k});c=g.base_uri;if(c){if(!f.protocol){f.protocol=c.protocol}if(!f.userInfo){f.userInfo=c.userInfo}if(!f.port&&f.host==="mce_host"){f.port=c.port}if(!f.host||f.host==="mce_host"){f.host=c.host}f.source=""}},setPath:function(c){var b=this;c=/^(.*?)\/?(\w+)?$/.exec(c);b.path=c[0];b.directory=c[1];b.file=c[2];b.source="";b.getURI()},toRelative:function(b){var d=this,f;if(b==="./"){return b}b=new tinymce.util.URI(b,{base_uri:d});if((b.host!="mce_host"&&d.host!=b.host&&b.host)||d.port!=b.port||d.protocol!=b.protocol){return b.getURI()}var c=d.getURI(),e=b.getURI();if(c==e||(c.charAt(c.length-1)=="/"&&c.substr(0,c.length-1)==e)){return c}f=d.toRelPath(d.path,b.path);if(b.query){f+="?"+b.query}if(b.anchor){f+="#"+b.anchor}return f},toAbsolute:function(b,c){b=new tinymce.util.URI(b,{base_uri:this});return b.getURI(this.host==b.host&&this.protocol==b.protocol?c:0)},toRelPath:function(g,h){var c,f=0,d="",e,b;g=g.substring(0,g.lastIndexOf("/"));g=g.split("/");c=h.split("/");if(g.length>=c.length){for(e=0,b=g.length;e=c.length||g[e]!=c[e]){f=e+1;break}}}if(g.length=g.length||g[e]!=c[e]){f=e+1;break}}}if(f===1){return h}for(e=0,b=g.length-(f-1);e=0;c--){if(f[c].length===0||f[c]==="."){continue}if(f[c]===".."){b++;continue}if(b>0){b--;continue}h.push(f[c])}c=e.length-b;if(c<=0){g=h.reverse().join("/")}else{g=e.slice(0,c).join("/")+"/"+h.reverse().join("/")}if(g.indexOf("/")!==0){g="/"+g}if(d&&g.lastIndexOf("/")!==g.length-1){g+=d}return g},getURI:function(d){var c,b=this;if(!b.source||d){c="";if(!d){if(b.protocol){c+=b.protocol+"://"}if(b.userInfo){c+=b.userInfo+"@"}if(b.host){c+=b.host}if(b.port){c+=":"+b.port}}if(b.path){c+=b.path}if(b.query){c+="?"+b.query}if(b.anchor){c+="#"+b.anchor}b.source=c}return b.source}})})();(function(){var a=tinymce.each;tinymce.create("static tinymce.util.Cookie",{getHash:function(d){var b=this.get(d),c;if(b){a(b.split("&"),function(e){e=e.split("=");c=c||{};c[unescape(e[0])]=unescape(e[1])})}return c},setHash:function(j,b,g,f,i,c){var h="";a(b,function(e,d){h+=(!h?"":"&")+escape(d)+"="+escape(e)});this.set(j,h,g,f,i,c)},get:function(i){var h=document.cookie,g,f=i+"=",d;if(!h){return}d=h.indexOf("; "+f);if(d==-1){d=h.indexOf(f);if(d!==0){return null}}else{d+=2}g=h.indexOf(";",d);if(g==-1){g=h.length}return unescape(h.substring(d+f.length,g))},set:function(i,b,g,f,h,c){document.cookie=i+"="+escape(b)+((g)?"; expires="+g.toGMTString():"")+((f)?"; path="+escape(f):"")+((h)?"; domain="+h:"")+((c)?"; secure":"")},remove:function(c,e,d){var b=new Date();b.setTime(b.getTime()-1000);this.set(c,"",b,e,d)}})})();(function(){function serialize(o,quote){var i,v,t,name;quote=quote||'"';if(o==null){return"null"}t=typeof o;if(t=="string"){v="\bb\tt\nn\ff\rr\"\"''\\\\";return quote+o.replace(/([\u0080-\uFFFF\x00-\x1f\"\'\\])/g,function(a,b){if(quote==='"'&&a==="'"){return a}i=v.indexOf(b);if(i+1){return"\\"+v.charAt(i+1)}a=b.charCodeAt().toString(16);return"\\u"+"0000".substring(a.length)+a})+quote}if(t=="object"){if(o.hasOwnProperty&&o instanceof Array){for(i=0,v="[";i0?",":"")+serialize(o[i],quote)}return v+"]"}v="{";for(name in o){if(o.hasOwnProperty(name)){v+=typeof o[name]!="function"?(v.length>1?","+quote:quote)+name+quote+":"+serialize(o[name],quote):""}}return v+"}"}return""+o}tinymce.util.JSON={serialize:serialize,parse:function(s){try{return eval("("+s+")")}catch(ex){}}}})();tinymce.create("static tinymce.util.XHR",{send:function(g){var a,e,b=window,h=0;function f(){if(!g.async||a.readyState==4||h++>10000){if(g.success&&h<10000&&a.status==200){g.success.call(g.success_scope,""+a.responseText,a,g)}else{if(g.error){g.error.call(g.error_scope,h>10000?"TIMED_OUT":"GENERAL",a,g)}}a=null}else{b.setTimeout(f,10)}}g.scope=g.scope||this;g.success_scope=g.success_scope||g.scope;g.error_scope=g.error_scope||g.scope;g.async=g.async===false?false:true;g.data=g.data||"";function d(i){a=0;try{a=new ActiveXObject(i)}catch(c){}return a}a=b.XMLHttpRequest?new XMLHttpRequest():d("Microsoft.XMLHTTP")||d("Msxml2.XMLHTTP");if(a){if(a.overrideMimeType){a.overrideMimeType(g.content_type)}a.open(g.type||(g.data?"POST":"GET"),g.url,g.async);if(g.content_type){a.setRequestHeader("Content-Type",g.content_type)}a.setRequestHeader("X-Requested-With","XMLHttpRequest");a.send(g.data);if(!g.async){return f()}e=b.setTimeout(f,10)}}});(function(){var c=tinymce.extend,b=tinymce.util.JSON,a=tinymce.util.XHR;tinymce.create("tinymce.util.JSONRequest",{JSONRequest:function(d){this.settings=c({},d);this.count=0},send:function(f){var e=f.error,d=f.success;f=c(this.settings,f);f.success=function(h,g){h=b.parse(h);if(typeof(h)=="undefined"){h={error:"JSON Parse error."}}if(h.error){e.call(f.error_scope||f.scope,h.error,g)}else{d.call(f.success_scope||f.scope,h.result)}};f.error=function(h,g){if(e){e.call(f.error_scope||f.scope,h,g)}};f.data=b.serialize({id:f.id||"c"+(this.count++),method:f.method,params:f.params});f.content_type="application/json";a.send(f)},"static":{sendRPC:function(d){return new tinymce.util.JSONRequest().send(d)}}})}());(function(a){a.VK={BACKSPACE:8,DELETE:46,DOWN:40,ENTER:13,LEFT:37,RIGHT:39,SPACEBAR:32,TAB:9,UP:38,modifierPressed:function(b){return b.shiftKey||b.ctrlKey||b.altKey},metaKeyPressed:function(b){return a.isMac?b.metaKey:b.ctrlKey&&!b.altKey}}})(tinymce);tinymce.util.Quirks=function(d){var m=tinymce.VK,t=m.BACKSPACE,u=m.DELETE,p=d.dom,E=d.selection,s=d.settings;function c(I,H){try{d.getDoc().execCommand(I,false,H)}catch(G){}}function z(){var G=d.getDoc().documentMode;return G?G:6}function j(){function G(J){var H,L,I,K;H=E.getRng();L=p.getParent(H.startContainer,p.isBlock);if(J){L=p.getNext(L,p.isBlock)}if(L){I=L.firstChild;while(I&&I.nodeType==3&&I.nodeValue.length===0){I=I.nextSibling}if(I&&I.nodeName==="SPAN"){K=I.cloneNode(false)}}d.getDoc().execCommand(J?"ForwardDelete":"Delete",false,null);L=p.getParent(H.startContainer,p.isBlock);tinymce.each(p.select("span.Apple-style-span,font.Apple-style-span",L),function(M){var N=E.getBookmark();if(K){p.replace(K.cloneNode(false),M,true)}else{p.remove(M,true)}E.moveToBookmark(N)})}d.onKeyDown.add(function(H,J){var I;I=J.keyCode==u;if(!J.isDefaultPrevented()&&(I||J.keyCode==t)&&!m.modifierPressed(J)){J.preventDefault();G(I)}});d.addCommand("Delete",function(){G()})}function F(){function G(J){var I=p.create("body");var K=J.cloneContents();I.appendChild(K);return E.serializer.serialize(I,{format:"html"})}function H(I){var K=G(I);var L=p.createRng();L.selectNode(d.getBody());var J=G(L);return K===J}d.onKeyDown.add(function(J,L){var K=L.keyCode,I;if(!L.isDefaultPrevented()&&(K==u||K==t)){I=J.selection.isCollapsed();if(I&&!p.isEmpty(J.getBody())){return}if(tinymce.isIE&&!I){return}if(!I&&!H(J.selection.getRng())){return}J.setContent("");J.selection.setCursorLocation(J.getBody(),0);J.nodeChanged()}})}function x(){d.onKeyDown.add(function(G,H){if(H.keyCode==65&&m.metaKeyPressed(H)){H.preventDefault();G.execCommand("SelectAll")}})}function y(){if(!d.settings.content_editable){p.bind(d.getDoc(),"focusin",function(G){E.setRng(E.getRng())});p.bind(d.getDoc(),"mousedown",function(G){if(G.target==d.getDoc().documentElement){d.getWin().focus();E.setRng(E.getRng())}})}}function n(){d.onKeyDown.add(function(G,J){if(!J.isDefaultPrevented()&&J.keyCode===t){if(E.isCollapsed()&&E.getRng(true).startOffset===0){var I=E.getNode();var H=I.previousSibling;if(H&&H.nodeName&&H.nodeName.toLowerCase()==="hr"){p.remove(H);tinymce.dom.Event.cancel(J)}}}})}function b(){if(!Range.prototype.getClientRects){d.onMouseDown.add(function(H,I){if(I.target.nodeName==="HTML"){var G=H.getBody();G.blur();setTimeout(function(){G.focus()},0)}})}}function B(){d.onClick.add(function(G,H){H=H.target;if(/^(IMG|HR)$/.test(H.nodeName)){E.getSel().setBaseAndExtent(H,0,H,1)}if(H.nodeName=="A"&&p.hasClass(H,"mceItemAnchor")){E.select(H)}G.nodeChanged()})}function C(){function H(){var J=p.getAttribs(E.getStart().cloneNode(false));return function(){var K=E.getStart();if(K!==d.getBody()){p.setAttrib(K,"style",null);tinymce.each(J,function(L){K.setAttributeNode(L.cloneNode(true))})}}}function G(){return !E.isCollapsed()&&E.getStart()!=E.getEnd()}function I(J,K){K.preventDefault();return false}d.onKeyPress.add(function(J,L){var K;if((L.keyCode==8||L.keyCode==46)&&G()){K=H();J.getDoc().execCommand("delete",false,null);K();L.preventDefault();return false}});p.bind(d.getDoc(),"cut",function(K){var J;if(G()){J=H();d.onKeyUp.addToTop(I);setTimeout(function(){J();d.onKeyUp.remove(I)},0)}})}function k(){var H,G;p.bind(d.getDoc(),"selectionchange",function(){if(G){clearTimeout(G);G=0}G=window.setTimeout(function(){var I=E.getRng();if(!H||!tinymce.dom.RangeUtils.compareRanges(I,H)){d.nodeChanged();H=I}},50)})}function D(){document.body.setAttribute("role","application")}function A(){d.onKeyDown.add(function(G,I){if(!I.isDefaultPrevented()&&I.keyCode===t){if(E.isCollapsed()&&E.getRng(true).startOffset===0){var H=E.getNode().previousSibling;if(H&&H.nodeName&&H.nodeName.toLowerCase()==="table"){return tinymce.dom.Event.cancel(I)}}}})}function h(){if(z()>7){return}c("RespectVisibilityInDesign",true);d.contentStyles.push(".mceHideBrInPre pre br {display: none}");p.addClass(d.getBody(),"mceHideBrInPre");d.parser.addNodeFilter("pre",function(G,I){var J=G.length,L,H,M,K;while(J--){L=G[J].getAll("br");H=L.length;while(H--){M=L[H];K=M.prev;if(K&&K.type===3&&K.value.charAt(K.value-1)!="\n"){K.value+="\n"}else{M.parent.insert(new tinymce.html.Node("#text",3),M,true).value="\n"}}}});d.serializer.addNodeFilter("pre",function(G,I){var J=G.length,L,H,M,K;while(J--){L=G[J].getAll("br");H=L.length;while(H--){M=L[H];K=M.prev;if(K&&K.type==3){K.value=K.value.replace(/\r?\n$/,"")}}}})}function f(){p.bind(d.getBody(),"mouseup",function(I){var H,G=E.getNode();if(G.nodeName=="IMG"){if(H=p.getStyle(G,"width")){p.setAttrib(G,"width",H.replace(/[^0-9%]+/g,""));p.setStyle(G,"width","")}if(H=p.getStyle(G,"height")){p.setAttrib(G,"height",H.replace(/[^0-9%]+/g,""));p.setStyle(G,"height","")}}})}function r(){d.onKeyDown.add(function(M,N){var L,G,H,J,K,O,I;L=N.keyCode==u;if(!N.isDefaultPrevented()&&(L||N.keyCode==t)&&!m.modifierPressed(N)){G=E.getRng();H=G.startContainer;J=G.startOffset;I=G.collapsed;if(H.nodeType==3&&H.nodeValue.length>0&&((J===0&&!I)||(I&&J===(L?0:1)))){nonEmptyElements=M.schema.getNonEmptyElements();N.preventDefault();K=p.create("br",{id:"__tmp"});H.parentNode.insertBefore(K,H);M.getDoc().execCommand(L?"ForwardDelete":"Delete",false,null);H=E.getRng().startContainer;O=H.previousSibling;if(O&&O.nodeType==1&&!p.isBlock(O)&&p.isEmpty(O)&&!nonEmptyElements[O.nodeName.toLowerCase()]){p.remove(O)}p.remove("__tmp")}}})}function e(){d.onKeyDown.add(function(K,L){var I,H,M,G,J;if(L.isDefaultPrevented()||L.keyCode!=m.BACKSPACE){return}I=E.getRng();H=I.startContainer;M=I.startOffset;G=p.getRoot();J=H;if(!I.collapsed||M!==0){return}while(J&&J.parentNode&&J.parentNode.firstChild==J&&J.parentNode!=G){J=J.parentNode}if(J.tagName==="BLOCKQUOTE"){K.formatter.toggle("blockquote",null,J);I.setStart(H,0);I.setEnd(H,0);E.setRng(I);E.collapse(false)}})}function l(){function G(){d._refreshContentEditable();c("StyleWithCSS",false);c("enableInlineTableEditing",false);if(!s.object_resizing){c("enableObjectResizing",false)}}if(!s.readonly){d.onBeforeExecCommand.add(G);d.onMouseDown.add(G)}}function o(){function G(H,I){tinymce.each(p.select("a"),function(L){var J=L.parentNode,K=p.getRoot();if(J.lastChild===L){while(J&&!p.isBlock(J)){if(J.parentNode.lastChild!==J||J===K){return}J=J.parentNode}p.add(J,"br",{"data-mce-bogus":1})}})}d.onExecCommand.add(function(H,I){if(I==="CreateLink"){G(H)}});d.onSetContent.add(E.onSetContent.add(G))}function v(){if(s.forced_root_block){d.onInit.add(function(){c("DefaultParagraphSeparator",s.forced_root_block)})}}function a(){function G(I,H){if(!I||!H.initial){d.execCommand("mceRepaint")}}d.onUndo.add(G);d.onRedo.add(G);d.onSetContent.add(G)}function q(){d.onKeyDown.add(function(H,I){var G;if(!I.isDefaultPrevented()&&I.keyCode==t){G=H.getDoc().selection.createRange();if(G&&G.item){I.preventDefault();H.undoManager.beforeChange();p.remove(G.item(0));H.undoManager.add()}}})}function i(){var G;if(z()>=10){G="";tinymce.each("p div h1 h2 h3 h4 h5 h6".split(" "),function(H,I){G+=(I>0?",":"")+H+":empty"});d.contentStyles.push(G+"{padding-right: 1px !important}")}}function g(){var I,H,X,G,S,V,T,W,J,U,Q,P,R=document,N=d.getDoc();if(!s.object_resizing||s.webkit_fake_resize===false){return}c("enableObjectResizing",false);U={n:[0.5,0,0,-1],e:[1,0.5,1,0],s:[0.5,1,0,1],w:[0,0.5,-1,0],nw:[0,0,-1,-1],ne:[1,0,1,-1],se:[1,1,1,1],sw:[0,1,-1,1]};function L(ac){var aa,Z,ab;aa=ac.screenX-V;Z=ac.screenY-T;ab=Math.max((W+aa)/W,(J+Z)/J);if(m.modifierPressed(ac)){Q=Math.round(W*ab);P=Math.round(J*ab)}else{Q=aa*S[2]+W;P=Z*S[3]+J}Q=Q<5?5:Q;P=P<5?5:P;p.setStyles(G,{width:Q,height:P});if(S[2]<0&&G.clientWidth<=Q){p.setStyle(G,"left",I+aa)}if(S[3]<0&&G.clientHeight<=P){p.setStyle(G,"top",H+Z)}}function Y(){function Z(aa,ab){if(ab){if(X.style[aa]||!d.schema.isValid(X.nodeName.toLowerCase(),aa)){p.setStyle(X,aa,ab)}else{p.setAttrib(X,aa,ab)}}}Z("width",Q);Z("height",P);p.unbind(N,"mousemove",L);p.unbind(N,"mouseup",Y);if(R!=N){p.unbind(R,"mousemove",L);p.unbind(R,"mouseup",Y)}p.remove(G);K(X)}function K(ac){var aa,ab,Z;M();aa=p.getPos(ac);I=aa.x;H=aa.y;ab=ac.offsetWidth;Z=ac.offsetHeight;if(X!=ac){X=ac;Q=P=0}tinymce.each(U,function(af,ad){var ae;ae=p.get("mceResizeHandle"+ad);if(!ae){ae=p.add(N.documentElement,"div",{id:"mceResizeHandle"+ad,"class":"mceResizeHandle",style:"cursor:"+ad+"-resize; margin:0; padding:0"});p.bind(ae,"mousedown",function(ag){ag.preventDefault();Y();V=ag.screenX;T=ag.screenY;W=X.clientWidth;J=X.clientHeight;S=af;G=X.cloneNode(true);p.addClass(G,"mceClonedResizable");p.setStyles(G,{left:I,top:H,margin:0});N.documentElement.appendChild(G);p.bind(N,"mousemove",L);p.bind(N,"mouseup",Y);if(R!=N){p.bind(R,"mousemove",L);p.bind(R,"mouseup",Y)}})}else{p.show(ae)}p.setStyles(ae,{left:(ab*af[0]+I)-(ae.offsetWidth/2),top:(Z*af[1]+H)-(ae.offsetHeight/2)})});if(!tinymce.isOpera&&X.nodeName=="IMG"){X.setAttribute("data-mce-selected","1")}}function M(){if(X){X.removeAttribute("data-mce-selected")}for(var Z in U){p.hide("mceResizeHandle"+Z)}}d.contentStyles.push(".mceResizeHandle {position: absolute;border: 1px solid black;background: #FFF;width: 5px;height: 5px;z-index: 10000}.mceResizeHandle:hover {background: #000}img[data-mce-selected] {outline: 1px solid black}img.mceClonedResizable, table.mceClonedResizable {position: absolute;outline: 1px dashed black;opacity: .5;z-index: 10000}");function O(){var Z=p.getParent(E.getNode(),"table,img");tinymce.each(p.select("img[data-mce-selected]"),function(aa){aa.removeAttribute("data-mce-selected")});if(Z){K(Z)}else{M()}}d.onNodeChange.add(O);p.bind(N,"selectionchange",O);d.serializer.addAttributeFilter("data-mce-selected",function(Z,aa){var ab=Z.length;while(ab--){Z[ab].attr(aa,null)}})}A();e();F();if(tinymce.isWebKit){r();j();y();B();v();if(tinymce.isIDevice){k()}else{g();x()}}if(tinymce.isIE){n();D();h();f();q();i()}if(tinymce.isGecko){n();b();C();l();o();a()}if(tinymce.isOpera){g()}};(function(j){var a,g,d,k=/[&<>\"\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,b=/[<>&\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,f=/[<>&\"\']/g,c=/&(#x|#)?([\w]+);/g,i={128:"\u20AC",130:"\u201A",131:"\u0192",132:"\u201E",133:"\u2026",134:"\u2020",135:"\u2021",136:"\u02C6",137:"\u2030",138:"\u0160",139:"\u2039",140:"\u0152",142:"\u017D",145:"\u2018",146:"\u2019",147:"\u201C",148:"\u201D",149:"\u2022",150:"\u2013",151:"\u2014",152:"\u02DC",153:"\u2122",154:"\u0161",155:"\u203A",156:"\u0153",158:"\u017E",159:"\u0178"};g={'"':""","'":"'","<":"<",">":">","&":"&"};d={"<":"<",">":">","&":"&",""":'"',"'":"'"};function h(l){var m;m=document.createElement("div");m.innerHTML=l;return m.textContent||m.innerText||l}function e(m,p){var n,o,l,q={};if(m){m=m.split(",");p=p||10;for(n=0;n1){return"&#"+(((n.charCodeAt(0)-55296)*1024)+(n.charCodeAt(1)-56320)+65536)+";"}return g[n]||"&#"+n.charCodeAt(0)+";"})},encodeNamed:function(n,l,m){m=m||a;return n.replace(l?k:b,function(o){return g[o]||m[o]||o})},getEncodeFunc:function(l,o){var p=j.html.Entities;o=e(o)||a;function m(r,q){return r.replace(q?k:b,function(s){return g[s]||o[s]||"&#"+s.charCodeAt(0)+";"||s})}function n(r,q){return p.encodeNamed(r,q,o)}l=j.makeMap(l.replace(/\+/g,","));if(l.named&&l.numeric){return m}if(l.named){if(o){return n}return p.encodeNamed}if(l.numeric){return p.encodeNumeric}return p.encodeRaw},decode:function(l){return l.replace(c,function(n,m,o){if(m){o=parseInt(o,m.length===2?16:10);if(o>65535){o-=65536;return String.fromCharCode(55296+(o>>10),56320+(o&1023))}else{return i[o]||String.fromCharCode(o)}}return d[n]||a[n]||h(n)})}}})(tinymce);tinymce.html.Styles=function(d,f){var k=/rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)/gi,h=/(?:url(?:(?:\(\s*\"([^\"]+)\"\s*\))|(?:\(\s*\'([^\']+)\'\s*\))|(?:\(\s*([^)\s]+)\s*\))))|(?:\'([^\']+)\')|(?:\"([^\"]+)\")/gi,b=/\s*([^:]+):\s*([^;]+);?/g,l=/\s+$/,m=/rgb/,e,g,a={},j;d=d||{};j="\\\" \\' \\; \\: ; : \uFEFF".split(" ");for(g=0;g1?r:"0"+r}return"#"+o(q)+o(p)+o(i)}return{toHex:function(i){return i.replace(k,c)},parse:function(s){var z={},q,n,x,r,v=d.url_converter,y=d.url_converter_scope||this;function p(D,G){var F,C,B,E;F=z[D+"-top"+G];if(!F){return}C=z[D+"-right"+G];if(F!=C){return}B=z[D+"-bottom"+G];if(C!=B){return}E=z[D+"-left"+G];if(B!=E){return}z[D+G]=E;delete z[D+"-top"+G];delete z[D+"-right"+G];delete z[D+"-bottom"+G];delete z[D+"-left"+G]}function u(C){var D=z[C],B;if(!D||D.indexOf(" ")<0){return}D=D.split(" ");B=D.length;while(B--){if(D[B]!==D[0]){return false}}z[C]=D[0];return true}function A(D,C,B,E){if(!u(C)){return}if(!u(B)){return}if(!u(E)){return}z[D]=z[C]+" "+z[B]+" "+z[E];delete z[C];delete z[B];delete z[E]}function t(B){r=true;return a[B]}function i(C,B){if(r){C=C.replace(/\uFEFF[0-9]/g,function(D){return a[D]})}if(!B){C=C.replace(/\\([\'\";:])/g,"$1")}return C}function o(C,B,F,E,G,D){G=G||D;if(G){G=i(G);return"'"+G.replace(/\'/g,"\\'")+"'"}B=i(B||F||E);if(v){B=v.call(y,B,"style")}return"url('"+B.replace(/\'/g,"\\'")+"')"}if(s){s=s.replace(/\\[\"\';:\uFEFF]/g,t).replace(/\"[^\"]+\"|\'[^\']+\'/g,function(B){return B.replace(/[;:]/g,t)});while(q=b.exec(s)){n=q[1].replace(l,"").toLowerCase();x=q[2].replace(l,"");if(n&&x.length>0){if(n==="font-weight"&&x==="700"){x="bold"}else{if(n==="color"||n==="background-color"){x=x.toLowerCase()}}x=x.replace(k,c);x=x.replace(h,o);z[n]=r?i(x,true):x}b.lastIndex=q.index+q[0].length}p("border","");p("border","-width");p("border","-color");p("border","-style");p("padding","");p("margin","");A("border","border-width","border-style","border-color");if(z.border==="medium none"){delete z.border}}return z},serialize:function(p,r){var o="",n,q;function i(t){var x,u,s,v;x=f.styles[t];if(x){for(u=0,s=x.length;u0){o+=(o.length>0?" ":"")+t+": "+v+";"}}}}if(r&&f&&f.styles){i("*");i(r)}else{for(n in p){q=p[n];if(q!==e&&q.length>0){o+=(o.length>0?" ":"")+n+": "+q+";"}}}return o}}};(function(f){var a={},e=f.makeMap,g=f.each;function d(j,i){return j.split(i||",")}function h(m,l){var j,k={};function i(n){return n.replace(/[A-Z]+/g,function(o){return i(m[o])})}for(j in m){if(m.hasOwnProperty(j)){m[j]=i(m[j])}}i(l).replace(/#/g,"#text").replace(/(\w+)\[([^\]]+)\]\[([^\]]*)\]/g,function(q,o,n,p){n=d(n,"|");k[o]={attributes:e(n),attributesOrder:n,children:e(p,"|",{"#comment":{}})}});return k}function b(){var i=a.html5;if(!i){i=a.html5=h({A:"id|accesskey|class|dir|draggable|item|hidden|itemprop|role|spellcheck|style|subject|title|onclick|ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup",B:"#|a|abbr|area|audio|b|bdo|br|button|canvas|cite|code|command|datalist|del|dfn|em|embed|i|iframe|img|input|ins|kbd|keygen|label|link|map|mark|meta|meter|noscript|object|output|progress|q|ruby|samp|script|select|small|span|strong|sub|sup|svg|textarea|time|var|video|wbr",C:"#|a|abbr|area|address|article|aside|audio|b|bdo|blockquote|br|button|canvas|cite|code|command|datalist|del|details|dfn|dialog|div|dl|em|embed|fieldset|figure|footer|form|h1|h2|h3|h4|h5|h6|header|hgroup|hr|i|iframe|img|input|ins|kbd|keygen|label|link|map|mark|menu|meta|meter|nav|noscript|ol|object|output|p|pre|progress|q|ruby|samp|script|section|select|small|span|strong|style|sub|sup|svg|table|textarea|time|ul|var|video"},"html[A|manifest][body|head]head[A][base|command|link|meta|noscript|script|style|title]title[A][#]base[A|href|target][]link[A|href|rel|media|type|sizes][]meta[A|http-equiv|name|content|charset][]style[A|type|media|scoped][#]script[A|charset|type|src|defer|async][#]noscript[A][C]body[A][C]section[A][C]nav[A][C]article[A][C]aside[A][C]h1[A][B]h2[A][B]h3[A][B]h4[A][B]h5[A][B]h6[A][B]hgroup[A][h1|h2|h3|h4|h5|h6]header[A][C]footer[A][C]address[A][C]p[A][B]br[A][]pre[A][B]dialog[A][dd|dt]blockquote[A|cite][C]ol[A|start|reversed][li]ul[A][li]li[A|value][C]dl[A][dd|dt]dt[A][B]dd[A][C]a[A|href|target|ping|rel|media|type][B]em[A][B]strong[A][B]small[A][B]cite[A][B]q[A|cite][B]dfn[A][B]abbr[A][B]code[A][B]var[A][B]samp[A][B]kbd[A][B]sub[A][B]sup[A][B]i[A][B]b[A][B]mark[A][B]progress[A|value|max][B]meter[A|value|min|max|low|high|optimum][B]time[A|datetime][B]ruby[A][B|rt|rp]rt[A][B]rp[A][B]bdo[A][B]span[A][B]ins[A|cite|datetime][B]del[A|cite|datetime][B]figure[A][C|legend|figcaption]figcaption[A][C]img[A|alt|src|height|width|usemap|ismap][]iframe[A|name|src|height|width|sandbox|seamless][]embed[A|src|height|width|type][]object[A|data|type|height|width|usemap|name|form|classid][param]param[A|name|value][]details[A|open][C|legend]command[A|type|label|icon|disabled|checked|radiogroup][]menu[A|type|label][C|li]legend[A][C|B]div[A][C]source[A|src|type|media][]audio[A|src|autobuffer|autoplay|loop|controls][source]video[A|src|autobuffer|autoplay|loop|controls|width|height|poster][source]hr[A][]form[A|accept-charset|action|autocomplete|enctype|method|name|novalidate|target][C]fieldset[A|disabled|form|name][C|legend]label[A|form|for][B]input[A|type|accept|alt|autocomplete|checked|disabled|form|formaction|formenctype|formmethod|formnovalidate|formtarget|height|list|max|maxlength|min|multiple|pattern|placeholder|readonly|required|size|src|step|width|files|value|name][]button[A|autofocus|disabled|form|formaction|formenctype|formmethod|formnovalidate|formtarget|name|value|type][B]select[A|autofocus|disabled|form|multiple|name|size][option|optgroup]datalist[A][B|option]optgroup[A|disabled|label][option]option[A|disabled|selected|label|value][]textarea[A|autofocus|disabled|form|maxlength|name|placeholder|readonly|required|rows|cols|wrap][]keygen[A|autofocus|challenge|disabled|form|keytype|name][]output[A|for|form|name][B]canvas[A|width|height][]map[A|name][B|C]area[A|shape|coords|href|alt|target|media|rel|ping|type][]mathml[A][]svg[A][]table[A|border][caption|colgroup|thead|tfoot|tbody|tr]caption[A][C]colgroup[A|span][col]col[A|span][]thead[A][tr]tfoot[A][tr]tbody[A][tr]tr[A][th|td]th[A|headers|rowspan|colspan|scope][B]td[A|headers|rowspan|colspan][C]wbr[A][]")}return i}function c(){var i=a.html4;if(!i){i=a.html4=h({Z:"H|K|N|O|P",Y:"X|form|R|Q",ZG:"E|span|width|align|char|charoff|valign",X:"p|T|div|U|W|isindex|fieldset|table",ZF:"E|align|char|charoff|valign",W:"pre|hr|blockquote|address|center|noframes",ZE:"abbr|axis|headers|scope|rowspan|colspan|align|char|charoff|valign|nowrap|bgcolor|width|height",ZD:"[E][S]",U:"ul|ol|dl|menu|dir",ZC:"p|Y|div|U|W|table|br|span|bdo|object|applet|img|map|K|N|Q",T:"h1|h2|h3|h4|h5|h6",ZB:"X|S|Q",S:"R|P",ZA:"a|G|J|M|O|P",R:"a|H|K|N|O",Q:"noscript|P",P:"ins|del|script",O:"input|select|textarea|label|button",N:"M|L",M:"em|strong|dfn|code|q|samp|kbd|var|cite|abbr|acronym",L:"sub|sup",K:"J|I",J:"tt|i|b|u|s|strike",I:"big|small|font|basefont",H:"G|F",G:"br|span|bdo",F:"object|applet|img|map|iframe",E:"A|B|C",D:"accesskey|tabindex|onfocus|onblur",C:"onclick|ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup",B:"lang|xml:lang|dir",A:"id|class|style|title"},"script[id|charset|type|language|src|defer|xml:space][]style[B|id|type|media|title|xml:space][]object[E|declare|classid|codebase|data|type|codetype|archive|standby|width|height|usemap|name|tabindex|align|border|hspace|vspace][#|param|Y]param[id|name|value|valuetype|type][]p[E|align][#|S]a[E|D|charset|type|name|href|hreflang|rel|rev|shape|coords|target][#|Z]br[A|clear][]span[E][#|S]bdo[A|C|B][#|S]applet[A|codebase|archive|code|object|alt|name|width|height|align|hspace|vspace][#|param|Y]h1[E|align][#|S]img[E|src|alt|name|longdesc|width|height|usemap|ismap|align|border|hspace|vspace][]map[B|C|A|name][X|form|Q|area]h2[E|align][#|S]iframe[A|longdesc|name|src|frameborder|marginwidth|marginheight|scrolling|align|width|height][#|Y]h3[E|align][#|S]tt[E][#|S]i[E][#|S]b[E][#|S]u[E][#|S]s[E][#|S]strike[E][#|S]big[E][#|S]small[E][#|S]font[A|B|size|color|face][#|S]basefont[id|size|color|face][]em[E][#|S]strong[E][#|S]dfn[E][#|S]code[E][#|S]q[E|cite][#|S]samp[E][#|S]kbd[E][#|S]var[E][#|S]cite[E][#|S]abbr[E][#|S]acronym[E][#|S]sub[E][#|S]sup[E][#|S]input[E|D|type|name|value|checked|disabled|readonly|size|maxlength|src|alt|usemap|onselect|onchange|accept|align][]select[E|name|size|multiple|disabled|tabindex|onfocus|onblur|onchange][optgroup|option]optgroup[E|disabled|label][option]option[E|selected|disabled|label|value][]textarea[E|D|name|rows|cols|disabled|readonly|onselect|onchange][]label[E|for|accesskey|onfocus|onblur][#|S]button[E|D|name|value|type|disabled][#|p|T|div|U|W|table|G|object|applet|img|map|K|N|Q]h4[E|align][#|S]ins[E|cite|datetime][#|Y]h5[E|align][#|S]del[E|cite|datetime][#|Y]h6[E|align][#|S]div[E|align][#|Y]ul[E|type|compact][li]li[E|type|value][#|Y]ol[E|type|compact|start][li]dl[E|compact][dt|dd]dt[E][#|S]dd[E][#|Y]menu[E|compact][li]dir[E|compact][li]pre[E|width|xml:space][#|ZA]hr[E|align|noshade|size|width][]blockquote[E|cite][#|Y]address[E][#|S|p]center[E][#|Y]noframes[E][#|Y]isindex[A|B|prompt][]fieldset[E][#|legend|Y]legend[E|accesskey|align][#|S]table[E|summary|width|border|frame|rules|cellspacing|cellpadding|align|bgcolor][caption|col|colgroup|thead|tfoot|tbody|tr]caption[E|align][#|S]col[ZG][]colgroup[ZG][col]thead[ZF][tr]tr[ZF|bgcolor][th|td]th[E|ZE][#|Y]form[E|action|method|name|enctype|onsubmit|onreset|accept|accept-charset|target][#|X|R|Q]noscript[E][#|Y]td[E|ZE][#|Y]tfoot[ZF][tr]tbody[ZF][tr]area[E|D|shape|coords|href|nohref|alt|target][]base[id|href|target][]body[E|onload|onunload|background|bgcolor|text|link|vlink|alink][#|Y]")}return i}f.html.Schema=function(A){var u=this,s={},k={},j=[],D,y;var o,q,z,r,v,n,p={};function m(F,E,H){var G=A[F];if(!G){G=a[F];if(!G){G=e(E," ",e(E.toUpperCase()," "));G=f.extend(G,H);a[F]=G}}else{G=e(G,",",e(G.toUpperCase()," "))}return G}A=A||{};y=A.schema=="html5"?b():c();if(A.verify_html===false){A.valid_elements="*[*]"}if(A.valid_styles){D={};g(A.valid_styles,function(F,E){D[E]=f.explode(F)})}o=m("whitespace_elements","pre script style textarea");q=m("self_closing_elements","colgroup dd dt li option p td tfoot th thead tr");z=m("short_ended_elements","area base basefont br col frame hr img input isindex link meta param embed source wbr");r=m("boolean_attributes","checked compact declare defer disabled ismap multiple nohref noresize noshade nowrap readonly selected autoplay loop controls");n=m("non_empty_elements","td th iframe video audio object",z);v=m("block_elements","h1 h2 h3 h4 h5 h6 hr p div address pre form table tbody thead tfoot th tr td li ol ul caption blockquote center dl dt dd dir fieldset noscript menu isindex samp header footer article section hgroup aside nav figure option datalist select optgroup");function i(E){return new RegExp("^"+E.replace(/([?+*])/g,".$1")+"$")}function C(L){var K,G,Z,V,aa,F,I,U,X,Q,Y,ac,O,J,W,E,S,H,ab,ad,P,T,N=/^([#+\-])?([^\[\/]+)(?:\/([^\[]+))?(?:\[([^\]]+)\])?$/,R=/^([!\-])?(\w+::\w+|[^=:<]+)?(?:([=:<])(.*))?$/,M=/[*?+]/;if(L){L=d(L);if(s["@"]){S=s["@"].attributes;H=s["@"].attributesOrder}for(K=0,G=L.length;K=0){for(U=A.length-1;U>=V;U--){T=A[U];if(T.valid){n.end(T.name)}}A.length=V}}function p(U,T,Y,X,W){var Z,V;T=T.toLowerCase();Y=T in H?T:j(Y||X||W||"");if(v&&!z&&T.indexOf("data-")!==0){Z=P[T];if(!Z&&F){V=F.length;while(V--){Z=F[V];if(Z.pattern.test(T)){break}}if(V===-1){Z=null}}if(!Z){return}if(Z.validValues&&!(Y in Z.validValues)){return}}N.map[T]=Y;N.push({name:T,value:Y})}l=new RegExp("<(?:(?:!--([\\w\\W]*?)-->)|(?:!\\[CDATA\\[([\\w\\W]*?)\\]\\]>)|(?:!DOCTYPE([\\w\\W]*?)>)|(?:\\?([^\\s\\/<>]+) ?([\\w\\W]*?)[?/]>)|(?:\\/([^>]+)>)|(?:([A-Za-z0-9\\-\\:]+)((?:\\s+[^\"'>]+(?:(?:\"[^\"]*\")|(?:'[^']*')|[^>]*))*|\\/|\\s+)>))","g");D=/([\w:\-]+)(?:\s*=\s*(?:(?:\"((?:\\.|[^\"])*)\")|(?:\'((?:\\.|[^\'])*)\')|([^>\s]+)))?/g;K={script:/<\/script[^>]*>/gi,style:/<\/style[^>]*>/gi,noscript:/<\/noscript[^>]*>/gi};M=e.getShortEndedElements();J=c.self_closing_elements||e.getSelfClosingElements();H=e.getBoolAttrs();v=c.validate;s=c.remove_internals;y=c.fix_self_closing;q=a.isIE;o=/^:/;while(g=l.exec(E)){if(G0&&A[A.length-1].name===I){u(I)}if(!v||(m=e.getElementRule(I))){k=true;if(v){P=m.attributes;F=m.attributePatterns}if(R=g[8]){z=R.indexOf("data-mce-type")!==-1;if(z&&s){k=false}N=[];N.map={};R.replace(D,p)}else{N=[];N.map={}}if(v&&!z){S=m.attributesRequired;L=m.attributesDefault;f=m.attributesForced;if(f){Q=f.length;while(Q--){t=f[Q];r=t.name;h=t.value;if(h==="{$uid}"){h="mce_"+x++}N.map[r]=h;N.push({name:r,value:h})}}if(L){Q=L.length;while(Q--){t=L[Q];r=t.name;if(!(r in N.map)){h=t.value;if(h==="{$uid}"){h="mce_"+x++}N.map[r]=h;N.push({name:r,value:h})}}}if(S){Q=S.length;while(Q--){if(S[Q] in N.map){break}}if(Q===-1){k=false}}if(N.map["data-mce-bogus"]){k=false}}if(k){n.start(I,N,O)}}else{k=false}if(B=K[I]){B.lastIndex=G=g.index+g[0].length;if(g=B.exec(E)){if(k){C=E.substr(G,g.index-G)}G=g.index+g[0].length}else{C=E.substr(G);G=E.length}if(k&&C.length>0){n.text(C,true)}if(k){n.end(I)}l.lastIndex=G;continue}if(!O){if(!R||R.indexOf("/")!=R.length-1){A.push({name:I,valid:k})}else{if(k){n.end(I)}}}}else{if(I=g[1]){n.comment(I)}else{if(I=g[2]){n.cdata(I)}else{if(I=g[3]){n.doctype(I)}else{if(I=g[4]){n.pi(I,g[5])}}}}}}G=g.index+g[0].length}if(G=0;Q--){I=A[Q];if(I.valid){n.end(I.name)}}}}})(tinymce);(function(d){var c=/^[ \t\r\n]*$/,e={"#text":3,"#comment":8,"#cdata":4,"#pi":7,"#doctype":10,"#document-fragment":11};function a(k,l,j){var i,h,f=j?"lastChild":"firstChild",g=j?"prev":"next";if(k[f]){return k[f]}if(k!==l){i=k[g];if(i){return i}for(h=k.parent;h&&h!==l;h=h.parent){i=h[g];if(i){return i}}}}function b(f,g){this.name=f;this.type=g;if(g===1){this.attributes=[];this.attributes.map={}}}d.extend(b.prototype,{replace:function(g){var f=this;if(g.parent){g.remove()}f.insert(g,f);f.remove();return f},attr:function(h,l){var f=this,g,j,k;if(typeof h!=="string"){for(j in h){f.attr(j,h[j])}return f}if(g=f.attributes){if(l!==k){if(l===null){if(h in g.map){delete g.map[h];j=g.length;while(j--){if(g[j].name===h){g=g.splice(j,1);return f}}}return f}if(h in g.map){j=g.length;while(j--){if(g[j].name===h){g[j].value=l;break}}}else{g.push({name:h,value:l})}g.map[h]=l;return f}else{return g.map[h]}}},clone:function(){var g=this,n=new b(g.name,g.type),h,f,m,j,k;if(m=g.attributes){k=[];k.map={};for(h=0,f=m.length;h1){v.reverse();z=n=f.filterNode(v[0].clone());for(t=0;t0){Q.value=l;Q=Q.prev}else{O=Q.prev;Q.remove();Q=O}}}function H(O){var P,l={};for(P in O){if(P!=="li"&&P!="p"){l[P]=O[P]}}return l}n=new b.html.SaxParser({validate:z,self_closing_elements:H(h.getSelfClosingElements()),cdata:function(l){B.append(K("#cdata",4)).value=l},text:function(P,l){var O;if(!L){P=P.replace(k," ");if(B.lastChild&&o[B.lastChild.name]){P=P.replace(E,"")}}if(P.length!==0){O=K("#text",3);O.raw=!!l;B.append(O).value=P}},comment:function(l){B.append(K("#comment",8)).value=l},pi:function(l,O){B.append(K(l,7)).value=O;I(B)},doctype:function(O){var l;l=B.append(K("#doctype",10));l.value=O;I(B)},start:function(l,W,P){var U,R,Q,O,S,X,V,T;Q=z?h.getElementRule(l):{};if(Q){U=K(Q.outputName||l,1);U.attributes=W;U.shortEnded=P;B.append(U);T=p[B.name];if(T&&p[U.name]&&!T[U.name]){M.push(U)}R=d.length;while(R--){S=d[R].name;if(S in W.map){F=c[S];if(F){F.push(U)}else{c[S]=[U]}}}if(o[l]){I(U)}if(!P){B=U}if(!L&&s[l]){L=true}}},end:function(l){var S,P,R,O,Q;P=z?h.getElementRule(l):{};if(P){if(o[l]){if(!L){S=B.firstChild;if(S&&S.type===3){R=S.value.replace(E,"");if(R.length>0){S.value=R;S=S.next}else{O=S.next;S.remove();S=O}while(S&&S.type===3){R=S.value;O=S.next;if(R.length===0||y.test(R)){S.remove();S=O}S=O}}S=B.lastChild;if(S&&S.type===3){R=S.value.replace(t,"");if(R.length>0){S.value=R;S=S.prev}else{O=S.prev;S.remove();S=O}while(S&&S.type===3){R=S.value;O=S.prev;if(R.length===0||y.test(R)){S.remove();S=O}S=O}}}S=B.prev;if(S&&S.type===3){R=S.value.replace(E,"");if(R.length>0){S.value=R}else{S.remove()}}}if(L&&s[l]){L=false}if(P.removeEmpty||P.paddEmpty){if(B.isEmpty(u)){if(P.paddEmpty){B.empty().append(new a("#text","3")).value="\u00a0"}else{if(!B.attributes.map.name&&!B.attributes.map.id){Q=B.parent;B.empty().remove();B=Q;return}}}}B=B.parent}}},h);J=B=new a(m.context||g.root_name,11);n.parse(v);if(z&&M.length){if(!m.context){j(M)}else{m.invalid=true}}if(q&&J.name=="body"){G()}if(!m.invalid){for(N in i){F=e[N];A=i[N];x=A.length;while(x--){if(!A[x].parent){A.splice(x,1)}}for(D=0,C=F.length;D0){o=c[c.length-1];if(o.length>0&&o!=="\n"){c.push("\n")}}c.push("<",m);if(k){for(n=0,j=k.length;n0){o=c[c.length-1];if(o.length>0&&o!=="\n"){c.push("\n")}}},end:function(h){var i;c.push("");if(a&&d[h]&&c.length>0){i=c[c.length-1];if(i.length>0&&i!=="\n"){c.push("\n")}}},text:function(i,h){if(i.length>0){c[c.length]=h?i:f(i)}},cdata:function(h){c.push("")},comment:function(h){c.push("")},pi:function(h,i){if(i){c.push("")}else{c.push("")}if(a){c.push("\n")}},doctype:function(h){c.push("",a?"\n":"")},reset:function(){c.length=0},getContent:function(){return c.join("").replace(/\n$/,"")}}};(function(a){a.html.Serializer=function(c,d){var b=this,e=new a.html.Writer(c);c=c||{};c.validate="validate" in c?c.validate:true;b.schema=d=d||new a.html.Schema();b.writer=e;b.serialize=function(h){var g,i;i=c.validate;g={3:function(k,j){e.text(k.value,k.raw)},8:function(j){e.comment(j.value)},7:function(j){e.pi(j.name,j.value)},10:function(j){e.doctype(j.value)},4:function(j){e.cdata(j.value)},11:function(j){if((j=j.firstChild)){do{f(j)}while(j=j.next)}}};e.reset();function f(k){var t=g[k.type],j,o,s,r,p,u,n,m,q;if(!t){j=k.name;o=k.shortEnded;s=k.attributes;if(i&&s&&s.length>1){u=[];u.map={};q=d.getElementRule(k.name);for(n=0,m=q.attributesOrder.length;n=8;k.boxModel=!e.isIE||o.compatMode=="CSS1Compat"||k.stdMode;k.hasOuterHTML="outerHTML" in o.createElement("a");k.settings=l=e.extend({keep_values:false,hex_colors:1},l);k.schema=l.schema;k.styles=new e.html.Styles({url_converter:l.url_converter,url_converter_scope:l.url_converter_scope},l.schema);if(e.isIE6){try{o.execCommand("BackgroundImageCache",false,true)}catch(m){k.cssFlicker=true}}k.fixDoc(o);k.events=l.ownEvents?new e.dom.EventUtils(l.proxy):e.dom.Event;e.addUnload(k.destroy,k);n=l.schema?l.schema.getBlockElements():{};k.isBlock=function(q){var p=q.nodeType;if(p){return !!(p===1&&n[q.nodeName])}return !!n[q]}},fixDoc:function(k){var j=this.settings,i;if(b&&j.schema){("abbr article aside audio canvas details figcaption figure footer header hgroup mark menu meter nav output progress section summary time video").replace(/\w+/g,function(l){k.createElement(l)});for(i in j.schema.getCustomElements()){k.createElement(i)}}},clone:function(k,i){var j=this,m,l;if(!b||k.nodeType!==1||i){return k.cloneNode(i)}l=j.doc;if(!i){m=l.createElement(k.nodeName);g(j.getAttribs(k),function(n){j.setAttrib(m,n.nodeName,j.getAttrib(k,n.nodeName))});return m}return m.firstChild},getRoot:function(){var i=this,j=i.settings;return(j&&i.get(j.root_element))||i.doc.body},getViewPort:function(j){var k,i;j=!j?this.win:j;k=j.document;i=this.boxModel?k.documentElement:k.body;return{x:j.pageXOffset||i.scrollLeft,y:j.pageYOffset||i.scrollTop,w:j.innerWidth||i.clientWidth,h:j.innerHeight||i.clientHeight}},getRect:function(l){var k,i=this,j;l=i.get(l);k=i.getPos(l);j=i.getSize(l);return{x:k.x,y:k.y,w:j.w,h:j.h}},getSize:function(l){var j=this,i,k;l=j.get(l);i=j.getStyle(l,"width");k=j.getStyle(l,"height");if(i.indexOf("px")===-1){i=0}if(k.indexOf("px")===-1){k=0}return{w:parseInt(i,10)||l.offsetWidth||l.clientWidth,h:parseInt(k,10)||l.offsetHeight||l.clientHeight}},getParent:function(k,j,i){return this.getParents(k,j,i,false)},getParents:function(s,m,k,q){var j=this,i,l=j.settings,p=[];s=j.get(s);q=q===undefined;if(l.strict_root){k=k||j.getRoot()}if(d(m,"string")){i=m;if(m==="*"){m=function(o){return o.nodeType==1}}else{m=function(o){return j.is(o,i)}}}while(s){if(s==k||!s.nodeType||s.nodeType===9){break}if(!m||m(s)){if(q){p.push(s)}else{return s}}s=s.parentNode}return q?p:null},get:function(i){var j;if(i&&this.doc&&typeof(i)=="string"){j=i;i=this.doc.getElementById(i);if(i&&i.id!==j){return this.doc.getElementsByName(j)[1]}}return i},getNext:function(j,i){return this._findSib(j,i,"nextSibling")},getPrev:function(j,i){return this._findSib(j,i,"previousSibling")},add:function(l,o,i,k,m){var j=this;return this.run(l,function(r){var q,n;q=d(o,"string")?j.doc.createElement(o):o;j.setAttribs(q,i);if(k){if(k.nodeType){q.appendChild(k)}else{j.setHTML(q,k)}}return !m?r.appendChild(q):q})},create:function(k,i,j){return this.add(this.doc.createElement(k),k,i,j,1)},createHTML:function(q,i,m){var p="",l=this,j;p+="<"+q;for(j in i){if(i.hasOwnProperty(j)){p+=" "+j+'="'+l.encode(i[j])+'"'}}if(typeof(m)!="undefined"){return p+">"+m+""}return p+" />"},remove:function(i,j){return this.run(i,function(l){var m,k=l.parentNode;if(!k){return null}if(j){while(m=l.firstChild){if(!e.isIE||m.nodeType!==3||m.nodeValue){k.insertBefore(m,l)}else{l.removeChild(m)}}}return k.removeChild(l)})},setStyle:function(l,i,j){var k=this;return k.run(l,function(o){var n,m;n=o.style;i=i.replace(/-(\D)/g,function(q,p){return p.toUpperCase()});if(k.pixelStyles.test(i)&&(e.is(j,"number")||/^[\-0-9\.]+$/.test(j))){j+="px"}switch(i){case"opacity":if(b){n.filter=j===""?"":"alpha(opacity="+(j*100)+")";if(!l.currentStyle||!l.currentStyle.hasLayout){n.display="inline-block"}}n[i]=n["-moz-opacity"]=n["-khtml-opacity"]=j||"";break;case"float":b?n.styleFloat=j:n.cssFloat=j;break;default:n[i]=j||""}if(k.settings.update_styles){k.setAttrib(o,"data-mce-style")}})},getStyle:function(l,i,k){l=this.get(l);if(!l){return}if(this.doc.defaultView&&k){i=i.replace(/[A-Z]/g,function(m){return"-"+m});try{return this.doc.defaultView.getComputedStyle(l,null).getPropertyValue(i)}catch(j){return null}}i=i.replace(/-(\D)/g,function(n,m){return m.toUpperCase()});if(i=="float"){i=b?"styleFloat":"cssFloat"}if(l.currentStyle&&k){return l.currentStyle[i]}return l.style?l.style[i]:undefined},setStyles:function(l,m){var j=this,k=j.settings,i;i=k.update_styles;k.update_styles=0;g(m,function(o,p){j.setStyle(l,p,o)});k.update_styles=i;if(k.update_styles){j.setAttrib(l,k.cssText)}},removeAllAttribs:function(i){return this.run(i,function(l){var k,j=l.attributes;for(k=j.length-1;k>=0;k--){l.removeAttributeNode(j.item(k))}})},setAttrib:function(k,l,i){var j=this;if(!k||!l){return}if(j.settings.strict){l=l.toLowerCase()}return this.run(k,function(p){var o=j.settings;var m=p.getAttribute(l);if(i!==null){switch(l){case"style":if(!d(i,"string")){g(i,function(q,r){j.setStyle(p,r,q)});return}if(o.keep_values){if(i&&!j._isRes(i)){p.setAttribute("data-mce-style",i,2)}else{p.removeAttribute("data-mce-style",2)}}p.style.cssText=i;break;case"class":p.className=i||"";break;case"src":case"href":if(o.keep_values){if(o.url_converter){i=o.url_converter.call(o.url_converter_scope||j,i,l,p)}j.setAttrib(p,"data-mce-"+l,i,2)}break;case"shape":p.setAttribute("data-mce-style",i);break}}if(d(i)&&i!==null&&i.length!==0){p.setAttribute(l,""+i,2)}else{p.removeAttribute(l,2)}if(tinyMCE.activeEditor&&m!=i){var n=tinyMCE.activeEditor;n.onSetAttrib.dispatch(n,p,l,i)}})},setAttribs:function(j,k){var i=this;return this.run(j,function(l){g(k,function(m,o){i.setAttrib(l,o,m)})})},getAttrib:function(m,o,k){var i,j=this,l;m=j.get(m);if(!m||m.nodeType!==1){return k===l?false:k}if(!d(k)){k=""}if(/^(src|href|style|coords|shape)$/.test(o)){i=m.getAttribute("data-mce-"+o);if(i){return i}}if(b&&j.props[o]){i=m[j.props[o]];i=i&&i.nodeValue?i.nodeValue:i}if(!i){i=m.getAttribute(o,2)}if(/^(checked|compact|declare|defer|disabled|ismap|multiple|nohref|noshade|nowrap|readonly|selected)$/.test(o)){if(m[j.props[o]]===true&&i===""){return o}return i?o:""}if(m.nodeName==="FORM"&&m.getAttributeNode(o)){return m.getAttributeNode(o).nodeValue}if(o==="style"){i=i||m.style.cssText;if(i){i=j.serializeStyle(j.parseStyle(i),m.nodeName);if(j.settings.keep_values&&!j._isRes(i)){m.setAttribute("data-mce-style",i)}}}if(f&&o==="class"&&i){i=i.replace(/(apple|webkit)\-[a-z\-]+/gi,"")}if(b){switch(o){case"rowspan":case"colspan":if(i===1){i=""}break;case"size":if(i==="+0"||i===20||i===0){i=""}break;case"width":case"height":case"vspace":case"checked":case"disabled":case"readonly":if(i===0){i=""}break;case"hspace":if(i===-1){i=""}break;case"maxlength":case"tabindex":if(i===32768||i===2147483647||i==="32768"){i=""}break;case"multiple":case"compact":case"noshade":case"nowrap":if(i===65535){return o}return k;case"shape":i=i.toLowerCase();break;default:if(o.indexOf("on")===0&&i){i=e._replace(/^function\s+\w+\(\)\s+\{\s+(.*)\s+\}$/,"$1",""+i)}}}return(i!==l&&i!==null&&i!=="")?""+i:k},getPos:function(q,l){var j=this,i=0,p=0,m,o=j.doc,k;q=j.get(q);l=l||o.body;if(q){if(q.getBoundingClientRect){q=q.getBoundingClientRect();m=j.boxModel?o.documentElement:o.body;i=q.left+(o.documentElement.scrollLeft||o.body.scrollLeft)-m.clientTop;p=q.top+(o.documentElement.scrollTop||o.body.scrollTop)-m.clientLeft;return{x:i,y:p}}k=q;while(k&&k!=l&&k.nodeType){i+=k.offsetLeft||0;p+=k.offsetTop||0;k=k.offsetParent}k=q.parentNode;while(k&&k!=l&&k.nodeType){i-=k.scrollLeft||0;p-=k.scrollTop||0;k=k.parentNode}}return{x:i,y:p}},parseStyle:function(i){return this.styles.parse(i)},serializeStyle:function(j,i){return this.styles.serialize(j,i)},addStyle:function(j){var k=this.doc,i;styleElm=k.getElementById("mceDefaultStyles");if(!styleElm){styleElm=k.createElement("style"),styleElm.id="mceDefaultStyles";styleElm.type="text/css";i=k.getElementsByTagName("head")[0];if(i.firstChild){i.insertBefore(styleElm,i.firstChild)}else{i.appendChild(styleElm)}}if(styleElm.styleSheet){styleElm.styleSheet.cssText+=j}else{styleElm.appendChild(k.createTextNode(j))}},loadCSS:function(i){var k=this,l=k.doc,j;if(!i){i=""}j=l.getElementsByTagName("head")[0];g(i.split(","),function(m){var n;if(k.files[m]){return}k.files[m]=true;n=k.create("link",{rel:"stylesheet",href:e._addVer(m)});if(b&&l.documentMode&&l.recalc){n.onload=function(){if(l.recalc){l.recalc()}n.onload=null}}j.appendChild(n)})},addClass:function(i,j){return this.run(i,function(k){var l;if(!j){return 0}if(this.hasClass(k,j)){return k.className}l=this.removeClass(k,j);return k.className=(l!=""?(l+" "):"")+j})},removeClass:function(k,l){var i=this,j;return i.run(k,function(n){var m;if(i.hasClass(n,l)){if(!j){j=new RegExp("(^|\\s+)"+l+"(\\s+|$)","g")}m=n.className.replace(j," ");m=e.trim(m!=" "?m:"");n.className=m;if(!m){n.removeAttribute("class");n.removeAttribute("className")}return m}return n.className})},hasClass:function(j,i){j=this.get(j);if(!j||!i){return false}return(" "+j.className+" ").indexOf(" "+i+" ")!==-1},show:function(i){return this.setStyle(i,"display","block")},hide:function(i){return this.setStyle(i,"display","none")},isHidden:function(i){i=this.get(i);return !i||i.style.display=="none"||this.getStyle(i,"display")=="none"},uniqueId:function(i){return(!i?"mce_":i)+(this.counter++)},setHTML:function(k,j){var i=this;return i.run(k,function(m){if(b){while(m.firstChild){m.removeChild(m.firstChild)}try{m.innerHTML="
                    "+j;m.removeChild(m.firstChild)}catch(l){var n=i.create("div");n.innerHTML="
                    "+j;g(e.grep(n.childNodes),function(p,o){if(o&&m.canHaveHTML){m.appendChild(p)}})}}else{m.innerHTML=j}return j})},getOuterHTML:function(k){var j,i=this;k=i.get(k);if(!k){return null}if(k.nodeType===1&&i.hasOuterHTML){return k.outerHTML}j=(k.ownerDocument||i.doc).createElement("body");j.appendChild(k.cloneNode(true));return j.innerHTML},setOuterHTML:function(l,j,m){var i=this;function k(p,o,r){var s,q;q=r.createElement("body");q.innerHTML=o;s=q.lastChild;while(s){i.insertAfter(s.cloneNode(true),p);s=s.previousSibling}i.remove(p)}return this.run(l,function(o){o=i.get(o);if(o.nodeType==1){m=m||o.ownerDocument||i.doc;if(b){try{if(b&&o.nodeType==1){o.outerHTML=j}else{k(o,j,m)}}catch(n){k(o,j,m)}}else{k(o,j,m)}}})},decode:h.decode,encode:h.encodeAllRaw,insertAfter:function(i,j){j=this.get(j);return this.run(i,function(l){var k,m;k=j.parentNode;m=j.nextSibling;if(m){k.insertBefore(l,m)}else{k.appendChild(l)}return l})},replace:function(m,l,i){var j=this;if(d(l,"array")){m=m.cloneNode(true)}return j.run(l,function(k){if(i){g(e.grep(k.childNodes),function(n){m.appendChild(n)})}return k.parentNode.replaceChild(m,k)})},rename:function(l,i){var k=this,j;if(l.nodeName!=i.toUpperCase()){j=k.create(i);g(k.getAttribs(l),function(m){k.setAttrib(j,m.nodeName,k.getAttrib(l,m.nodeName))});k.replace(j,l,1)}return j||l},findCommonAncestor:function(k,i){var l=k,j;while(l){j=i;while(j&&l!=j){j=j.parentNode}if(l==j){break}l=l.parentNode}if(!l&&k.ownerDocument){return k.ownerDocument.documentElement}return l},toHex:function(i){var k=/^\s*rgb\s*?\(\s*?([0-9]+)\s*?,\s*?([0-9]+)\s*?,\s*?([0-9]+)\s*?\)\s*$/i.exec(i);function j(l){l=parseInt(l,10).toString(16);return l.length>1?l:"0"+l}if(k){i="#"+j(k[1])+j(k[2])+j(k[3]);return i}return i},getClasses:function(){var n=this,j=[],m,o={},p=n.settings.class_filter,l;if(n.classes){return n.classes}function q(i){g(i.imports,function(s){q(s)});g(i.cssRules||i.rules,function(s){switch(s.type||1){case 1:if(s.selectorText){g(s.selectorText.split(","),function(r){r=r.replace(/^\s*|\s*$|^\s\./g,"");if(/\.mce/.test(r)||!/\.[\w\-]+$/.test(r)){return}l=r;r=e._replace(/.*\.([a-z0-9_\-]+).*/i,"$1",r);if(p&&!(r=p(r,l))){return}if(!o[r]){j.push({"class":r});o[r]=1}})}break;case 3:q(s.styleSheet);break}})}try{g(n.doc.styleSheets,q)}catch(k){}if(j.length>0){n.classes=j}return j},run:function(l,k,j){var i=this,m;if(i.doc&&typeof(l)==="string"){l=i.get(l)}if(!l){return false}j=j||this;if(!l.nodeType&&(l.length||l.length===0)){m=[];g(l,function(o,n){if(o){if(typeof(o)=="string"){o=i.doc.getElementById(o)}m.push(k.call(j,o,n))}});return m}return k.call(j,l)},getAttribs:function(j){var i;j=this.get(j);if(!j){return[]}if(b){i=[];if(j.nodeName=="OBJECT"){return j.attributes}if(j.nodeName==="OPTION"&&this.getAttrib(j,"selected")){i.push({specified:1,nodeName:"selected"})}j.cloneNode(false).outerHTML.replace(/<\/?[\w:\-]+ ?|=[\"][^\"]+\"|=\'[^\']+\'|=[\w\-]+|>/gi,"").replace(/[\w:\-]+/gi,function(k){i.push({specified:1,nodeName:k})});return i}return j.attributes},isEmpty:function(m,k){var r=this,o,n,q,j,l,p=0;m=m.firstChild;if(m){j=new e.dom.TreeWalker(m,m.parentNode);k=k||r.schema?r.schema.getNonEmptyElements():null;do{q=m.nodeType;if(q===1){if(m.getAttribute("data-mce-bogus")){continue}l=m.nodeName.toLowerCase();if(k&&k[l]){if(l==="br"){p++;continue}return false}n=r.getAttribs(m);o=m.attributes.length;while(o--){l=m.attributes[o].nodeName;if(l==="name"||l==="data-mce-bookmark"){return false}}}if(q==8){return false}if((q===3&&!a.test(m.nodeValue))){return false}}while(m=j.next())}return p<=1},destroy:function(j){var i=this;i.win=i.doc=i.root=i.events=i.frag=null;if(!j){e.removeUnload(i.destroy)}},createRng:function(){var i=this.doc;return i.createRange?i.createRange():new e.dom.Range(this)},nodeIndex:function(m,n){var i=0,k,l,j;if(m){for(k=m.nodeType,m=m.previousSibling,l=m;m;m=m.previousSibling){j=m.nodeType;if(n&&j==3){if(j==k||!m.nodeValue.length){continue}}i++;k=j}}return i},split:function(m,l,p){var q=this,i=q.createRng(),n,k,o;function j(v){var t,s=v.childNodes,u=v.nodeType;function x(A){var z=A.previousSibling&&A.previousSibling.nodeName=="SPAN";var y=A.nextSibling&&A.nextSibling.nodeName=="SPAN";return z&&y}if(u==1&&v.getAttribute("data-mce-type")=="bookmark"){return}for(t=s.length-1;t>=0;t--){j(s[t])}if(u!=9){if(u==3&&v.nodeValue.length>0){var r=e.trim(v.nodeValue).length;if(!q.isBlock(v.parentNode)||r>0||r===0&&x(v)){return}}else{if(u==1){s=v.childNodes;if(s.length==1&&s[0]&&s[0].nodeType==1&&s[0].getAttribute("data-mce-type")=="bookmark"){v.parentNode.insertBefore(s[0],v)}if(s.length||/^(br|hr|input|img)$/i.test(v.nodeName)){return}}}q.remove(v)}return v}if(m&&l){i.setStart(m.parentNode,q.nodeIndex(m));i.setEnd(l.parentNode,q.nodeIndex(l));n=i.extractContents();i=q.createRng();i.setStart(l.parentNode,q.nodeIndex(l)+1);i.setEnd(m.parentNode,q.nodeIndex(m)+1);k=i.extractContents();o=m.parentNode;o.insertBefore(j(n),m);if(p){o.replaceChild(p,l)}else{o.insertBefore(l,m)}o.insertBefore(j(k),m);q.remove(m);return p||l}},bind:function(l,i,k,j){return this.events.add(l,i,k,j||this)},unbind:function(k,i,j){return this.events.remove(k,i,j)},fire:function(k,j,i){return this.events.fire(k,j,i)},getContentEditable:function(j){var i;if(j.nodeType!=1){return null}i=j.getAttribute("data-mce-contenteditable");if(i&&i!=="inherit"){return i}return j.contentEditable!=="inherit"?j.contentEditable:null},_findSib:function(l,i,j){var k=this,m=i;if(l){if(d(m,"string")){m=function(n){return k.is(n,i)}}for(l=l[j];l;l=l[j]){if(m(l)){return l}}}return null},_isRes:function(i){return/^(top|left|bottom|right|width|height)/i.test(i)||/;\s*(top|left|bottom|right|width|height)/i.test(i)}});e.DOM=new e.dom.DOMUtils(document,{process_html:0})})(tinymce);(function(a){function b(c){var O=this,e=c.doc,U=0,F=1,j=2,E=true,S=false,W="startOffset",h="startContainer",Q="endContainer",A="endOffset",k=tinymce.extend,n=c.nodeIndex;k(O,{startContainer:e,startOffset:0,endContainer:e,endOffset:0,collapsed:E,commonAncestorContainer:e,START_TO_START:0,START_TO_END:1,END_TO_END:2,END_TO_START:3,setStart:q,setEnd:s,setStartBefore:g,setStartAfter:J,setEndBefore:K,setEndAfter:u,collapse:B,selectNode:y,selectNodeContents:G,compareBoundaryPoints:v,deleteContents:p,extractContents:I,cloneContents:d,insertNode:D,surroundContents:N,cloneRange:L,toStringIE:T});function x(){return e.createDocumentFragment()}function q(X,t){C(E,X,t)}function s(X,t){C(S,X,t)}function g(t){q(t.parentNode,n(t))}function J(t){q(t.parentNode,n(t)+1)}function K(t){s(t.parentNode,n(t))}function u(t){s(t.parentNode,n(t)+1)}function B(t){if(t){O[Q]=O[h];O[A]=O[W]}else{O[h]=O[Q];O[W]=O[A]}O.collapsed=E}function y(t){g(t);u(t)}function G(t){q(t,0);s(t,t.nodeType===1?t.childNodes.length:t.nodeValue.length)}function v(aa,t){var ad=O[h],Y=O[W],ac=O[Q],X=O[A],ab=t.startContainer,af=t.startOffset,Z=t.endContainer,ae=t.endOffset;if(aa===0){return H(ad,Y,ab,af)}if(aa===1){return H(ac,X,ab,af)}if(aa===2){return H(ac,X,Z,ae)}if(aa===3){return H(ad,Y,Z,ae)}}function p(){l(j)}function I(){return l(U)}function d(){return l(F)}function D(aa){var X=this[h],t=this[W],Z,Y;if((X.nodeType===3||X.nodeType===4)&&X.nodeValue){if(!t){X.parentNode.insertBefore(aa,X)}else{if(t>=X.nodeValue.length){c.insertAfter(aa,X)}else{Z=X.splitText(t);X.parentNode.insertBefore(aa,Z)}}}else{if(X.childNodes.length>0){Y=X.childNodes[t]}if(Y){X.insertBefore(aa,Y)}else{X.appendChild(aa)}}}function N(X){var t=O.extractContents();O.insertNode(X);X.appendChild(t);O.selectNode(X)}function L(){return k(new b(c),{startContainer:O[h],startOffset:O[W],endContainer:O[Q],endOffset:O[A],collapsed:O.collapsed,commonAncestorContainer:O.commonAncestorContainer})}function P(t,X){var Y;if(t.nodeType==3){return t}if(X<0){return t}Y=t.firstChild;while(Y&&X>0){--X;Y=Y.nextSibling}if(Y){return Y}return t}function m(){return(O[h]==O[Q]&&O[W]==O[A])}function H(Z,ab,X,aa){var ac,Y,t,ad,af,ae;if(Z==X){if(ab==aa){return 0}if(ab0){O.collapse(X)}}else{O.collapse(X)}O.collapsed=m();O.commonAncestorContainer=c.findCommonAncestor(O[h],O[Q])}function l(ad){var ac,Z=0,af=0,X,ab,Y,aa,t,ae;if(O[h]==O[Q]){return f(ad)}for(ac=O[Q],X=ac.parentNode;X;ac=X,X=X.parentNode){if(X==O[h]){return r(ac,ad)}++Z}for(ac=O[h],X=ac.parentNode;X;ac=X,X=X.parentNode){if(X==O[Q]){return V(ac,ad)}++af}ab=af-Z;Y=O[h];while(ab>0){Y=Y.parentNode;ab--}aa=O[Q];while(ab<0){aa=aa.parentNode;ab++}for(t=Y.parentNode,ae=aa.parentNode;t!=ae;t=t.parentNode,ae=ae.parentNode){Y=t;aa=ae}return o(Y,aa,ad)}function f(ac){var ae,af,t,Y,Z,ad,aa,X,ab;if(ac!=j){ae=x()}if(O[W]==O[A]){return ae}if(O[h].nodeType==3){af=O[h].nodeValue;t=af.substring(O[W],O[A]);if(ac!=F){Y=O[h];X=O[W];ab=O[A]-O[W];if(X===0&&ab>=Y.nodeValue.length-1){Y.parentNode.removeChild(Y)}else{Y.deleteData(X,ab)}O.collapse(E)}if(ac==j){return}if(t.length>0){ae.appendChild(e.createTextNode(t))}return ae}Y=P(O[h],O[W]);Z=O[A]-O[W];while(Y&&Z>0){ad=Y.nextSibling;aa=z(Y,ac);if(ae){ae.appendChild(aa)}--Z;Y=ad}if(ac!=F){O.collapse(E)}return ae}function r(ad,aa){var ac,ab,X,t,Z,Y;if(aa!=j){ac=x()}ab=i(ad,aa);if(ac){ac.appendChild(ab)}X=n(ad);t=X-O[W];if(t<=0){if(aa!=F){O.setEndBefore(ad);O.collapse(S)}return ac}ab=ad.previousSibling;while(t>0){Z=ab.previousSibling;Y=z(ab,aa);if(ac){ac.insertBefore(Y,ac.firstChild)}--t;ab=Z}if(aa!=F){O.setEndBefore(ad);O.collapse(S)}return ac}function V(ab,aa){var ad,X,ac,t,Z,Y;if(aa!=j){ad=x()}ac=R(ab,aa);if(ad){ad.appendChild(ac)}X=n(ab);++X;t=O[A]-X;ac=ab.nextSibling;while(ac&&t>0){Z=ac.nextSibling;Y=z(ac,aa);if(ad){ad.appendChild(Y)}--t;ac=Z}if(aa!=F){O.setStartAfter(ab);O.collapse(E)}return ad}function o(ab,t,ae){var Y,ag,aa,ac,ad,X,af,Z;if(ae!=j){ag=x()}Y=R(ab,ae);if(ag){ag.appendChild(Y)}aa=ab.parentNode;ac=n(ab);ad=n(t);++ac;X=ad-ac;af=ab.nextSibling;while(X>0){Z=af.nextSibling;Y=z(af,ae);if(ag){ag.appendChild(Y)}af=Z;--X}Y=i(t,ae);if(ag){ag.appendChild(Y)}if(ae!=F){O.setStartAfter(ab);O.collapse(E)}return ag}function i(ac,ad){var Y=P(O[Q],O[A]-1),ae,ab,aa,t,X,Z=Y!=O[Q];if(Y==ac){return M(Y,Z,S,ad)}ae=Y.parentNode;ab=M(ae,S,S,ad);while(ae){while(Y){aa=Y.previousSibling;t=M(Y,Z,S,ad);if(ad!=j){ab.insertBefore(t,ab.firstChild)}Z=E;Y=aa}if(ae==ac){return ab}Y=ae.previousSibling;ae=ae.parentNode;X=M(ae,S,S,ad);if(ad!=j){X.appendChild(ab)}ab=X}}function R(ac,ad){var Z=P(O[h],O[W]),aa=Z!=O[h],ae,ab,Y,t,X;if(Z==ac){return M(Z,aa,E,ad)}ae=Z.parentNode;ab=M(ae,S,E,ad);while(ae){while(Z){Y=Z.nextSibling;t=M(Z,aa,E,ad);if(ad!=j){ab.appendChild(t)}aa=E;Z=Y}if(ae==ac){return ab}Z=ae.nextSibling;ae=ae.parentNode;X=M(ae,S,E,ad);if(ad!=j){X.appendChild(ab)}ab=X}}function M(t,aa,ad,ae){var Z,Y,ab,X,ac;if(aa){return z(t,ae)}if(t.nodeType==3){Z=t.nodeValue;if(ad){X=O[W];Y=Z.substring(X);ab=Z.substring(0,X)}else{X=O[A];Y=Z.substring(0,X);ab=Z.substring(X)}if(ae!=F){t.nodeValue=ab}if(ae==j){return}ac=c.clone(t,S);ac.nodeValue=Y;return ac}if(ae==j){return}return c.clone(t,S)}function z(X,t){if(t!=j){return t==F?c.clone(X,E):X}X.parentNode.removeChild(X)}function T(){return c.create("body",null,d()).outerText}return O}a.Range=b;b.prototype.toString=function(){return this.toStringIE()}})(tinymce.dom);(function(){function a(d){var b=this,h=d.dom,c=true,f=false;function e(i,j){var k,t=0,q,n,m,l,o,r,p=-1,s;k=i.duplicate();k.collapse(j);s=k.parentElement();if(s.ownerDocument!==d.dom.doc){return}while(s.contentEditable==="false"){s=s.parentNode}if(!s.hasChildNodes()){return{node:s,inside:1}}m=s.children;q=m.length-1;while(t<=q){r=Math.floor((t+q)/2);l=m[r];k.moveToElementText(l);p=k.compareEndPoints(j?"StartToStart":"EndToEnd",i);if(p>0){q=r-1}else{if(p<0){t=r+1}else{return{node:l}}}}if(p<0){if(!l){k.moveToElementText(s);k.collapse(true);l=s;n=true}else{k.collapse(false)}o=0;while(k.compareEndPoints(j?"StartToStart":"StartToEnd",i)!==0){if(k.move("character",1)===0||s!=k.parentElement()){break}o++}}else{k.collapse(true);o=0;while(k.compareEndPoints(j?"StartToStart":"StartToEnd",i)!==0){if(k.move("character",-1)===0||s!=k.parentElement()){break}o++}}return{node:l,position:p,offset:o,inside:n}}function g(){var i=d.getRng(),r=h.createRng(),l,k,p,q,m,j;l=i.item?i.item(0):i.parentElement();if(l.ownerDocument!=h.doc){return r}k=d.isCollapsed();if(i.item){r.setStart(l.parentNode,h.nodeIndex(l));r.setEnd(r.startContainer,r.startOffset+1);return r}function o(A){var u=e(i,A),s,y,z=0,x,v,t;s=u.node;y=u.offset;if(u.inside&&!s.hasChildNodes()){r[A?"setStart":"setEnd"](s,0);return}if(y===v){r[A?"setStartBefore":"setEndAfter"](s);return}if(u.position<0){x=u.inside?s.firstChild:s.nextSibling;if(!x){r[A?"setStartAfter":"setEndAfter"](s);return}if(!y){if(x.nodeType==3){r[A?"setStart":"setEnd"](x,0)}else{r[A?"setStartBefore":"setEndBefore"](x)}return}while(x){t=x.nodeValue;z+=t.length;if(z>=y){s=x;z-=y;z=t.length-z;break}x=x.nextSibling}}else{x=s.previousSibling;if(!x){return r[A?"setStartBefore":"setEndBefore"](s)}if(!y){if(s.nodeType==3){r[A?"setStart":"setEnd"](x,s.nodeValue.length)}else{r[A?"setStartAfter":"setEndAfter"](x)}return}while(x){z+=x.nodeValue.length;if(z>=y){s=x;z-=y;break}x=x.previousSibling}}r[A?"setStart":"setEnd"](s,z)}try{o(true);if(!k){o()}}catch(n){if(n.number==-2147024809){m=b.getBookmark(2);p=i.duplicate();p.collapse(true);l=p.parentElement();if(!k){p=i.duplicate();p.collapse(false);q=p.parentElement();q.innerHTML=q.innerHTML}l.innerHTML=l.innerHTML;b.moveToBookmark(m);i=d.getRng();o(true);if(!k){o()}}else{throw n}}return r}this.getBookmark=function(m){var j=d.getRng(),o,i,l={};function n(u){var t,p,s,r,q=[];t=u.parentNode;p=h.getRoot().parentNode;while(t!=p&&t.nodeType!==9){s=t.children;r=s.length;while(r--){if(u===s[r]){q.push(r);break}}u=t;t=t.parentNode}return q}function k(q){var p;p=e(j,q);if(p){return{position:p.position,offset:p.offset,indexes:n(p.node),inside:p.inside}}}if(m===2){if(!j.item){l.start=k(true);if(!d.isCollapsed()){l.end=k()}}else{l.start={ctrl:true,indexes:n(j.item(0))}}}return l};this.moveToBookmark=function(k){var j,i=h.doc.body;function m(o){var r,q,n,p;r=h.getRoot();for(q=o.length-1;q>=0;q--){p=r.children;n=o[q];if(n<=p.length-1){r=p[n]}}return r}function l(r){var n=k[r?"start":"end"],q,p,o;if(n){q=n.position>0;p=i.createTextRange();p.moveToElementText(m(n.indexes));offset=n.offset;if(offset!==o){p.collapse(n.inside||q);p.moveStart("character",q?-offset:offset)}else{p.collapse(r)}j.setEndPoint(r?"StartToStart":"EndToStart",p);if(r){j.collapse(true)}}}if(k.start){if(k.start.ctrl){j=i.createControlRange();j.addElement(m(k.start.indexes));j.select()}else{j=i.createTextRange();l(true);l();j.select()}}};this.addRange=function(i){var n,l,k,p,v,q,t,s=d.dom.doc,m=s.body,r,u;function j(C){var y,B,x,A,z;x=h.create("a");y=C?k:v;B=C?p:q;A=n.duplicate();if(y==s||y==s.documentElement){y=m;B=0}if(y.nodeType==3){y.parentNode.insertBefore(x,y);A.moveToElementText(x);A.moveStart("character",B);h.remove(x);n.setEndPoint(C?"StartToStart":"EndToEnd",A)}else{z=y.childNodes;if(z.length){if(B>=z.length){h.insertAfter(x,z[z.length-1])}else{y.insertBefore(x,z[B])}A.moveToElementText(x)}else{if(y.canHaveHTML){y.innerHTML="\uFEFF";x=y.firstChild;A.moveToElementText(x);A.collapse(f)}}n.setEndPoint(C?"StartToStart":"EndToEnd",A);h.remove(x)}}k=i.startContainer;p=i.startOffset;v=i.endContainer;q=i.endOffset;n=m.createTextRange();if(k==v&&k.nodeType==1){if(p==q&&!k.hasChildNodes()){if(k.canHaveHTML){t=k.previousSibling;if(t&&!t.hasChildNodes()&&h.isBlock(t)){t.innerHTML="\uFEFF"}else{t=null}k.innerHTML="\uFEFF\uFEFF";n.moveToElementText(k.lastChild);n.select();h.doc.selection.clear();k.innerHTML="";if(t){t.innerHTML=""}return}else{p=h.nodeIndex(k);k=k.parentNode}}if(p==q-1){try{u=k.childNodes[p];l=m.createControlRange();l.addElement(u);l.select();r=d.getRng();if(r.item&&u===r.item(0)){return}}catch(o){}}}j(true);j();n.select()};this.getRangeAt=g}tinymce.dom.TridentSelection=a})();(function(a){a.dom.Element=function(f,d){var b=this,e,c;b.settings=d=d||{};b.id=f;b.dom=e=d.dom||a.DOM;if(!a.isIE){c=e.get(b.id)}a.each(("getPos,getRect,getParent,add,setStyle,getStyle,setStyles,setAttrib,setAttribs,getAttrib,addClass,removeClass,hasClass,getOuterHTML,setOuterHTML,remove,show,hide,isHidden,setHTML,get").split(/,/),function(g){b[g]=function(){var h=[f],j;for(j=0;j"+(i.item?i.item(0).outerHTML:i.htmlText);m.removeChild(m.firstChild)}else{m.innerHTML=i.toString()}}if(/^\s/.test(m.innerHTML)){j=" "}if(/\s+$/.test(m.innerHTML)){l=" "}h.getInner=true;h.content=g.isCollapsed()?"":j+g.serializer.serialize(m,h)+l;g.onGetContent.dispatch(g,h);return h.content},setContent:function(h,j){var o=this,g=o.getRng(),k,l=o.win.document,n,m;j=j||{format:"html"};j.set=true;h=j.content=h;if(!j.no_events){o.onBeforeSetContent.dispatch(o,j)}h=j.content;if(g.insertNode){h+='_';if(g.startContainer==l&&g.endContainer==l){l.body.innerHTML=h}else{g.deleteContents();if(l.body.childNodes.length===0){l.body.innerHTML=h}else{if(g.createContextualFragment){g.insertNode(g.createContextualFragment(h))}else{n=l.createDocumentFragment();m=l.createElement("div");n.appendChild(m);m.outerHTML=h;g.insertNode(n)}}}k=o.dom.get("__caret");g=l.createRange();g.setStartBefore(k);g.setEndBefore(k);o.setRng(g);o.dom.remove("__caret");try{o.setRng(g)}catch(i){}}else{if(g.item){l.execCommand("Delete",false,null);g=o.getRng()}if(/^\s+/.test(h)){g.pasteHTML('_'+h);o.dom.remove("__mce_tmp")}else{g.pasteHTML(h)}}if(!j.no_events){o.onSetContent.dispatch(o,j)}},getStart:function(){var i=this,h=i.getRng(),j,g,l,k;if(h.duplicate||h.item){if(h.item){return h.item(0)}l=h.duplicate();l.collapse(1);j=l.parentElement();if(j.ownerDocument!==i.dom.doc){j=i.dom.getRoot()}g=k=h.parentElement();while(k=k.parentNode){if(k==j){j=g;break}}return j}else{j=h.startContainer;if(j.nodeType==1&&j.hasChildNodes()){j=j.childNodes[Math.min(j.childNodes.length-1,h.startOffset)]}if(j&&j.nodeType==3){return j.parentNode}return j}},getEnd:function(){var h=this,g=h.getRng(),j,i;if(g.duplicate||g.item){if(g.item){return g.item(0)}g=g.duplicate();g.collapse(0);j=g.parentElement();if(j.ownerDocument!==h.dom.doc){j=h.dom.getRoot()}if(j&&j.nodeName=="BODY"){return j.lastChild||j}return j}else{j=g.endContainer;i=g.endOffset;if(j.nodeType==1&&j.hasChildNodes()){j=j.childNodes[i>0?i-1:i]}if(j&&j.nodeType==3){return j.parentNode}return j}},getBookmark:function(s,v){var y=this,n=y.dom,h,k,j,o,i,p,q,m="\uFEFF",x;function g(z,A){var t=0;e(n.select(z),function(C,B){if(C==A){t=B}});return t}function u(t){function z(E){var A,D,C,B=E?"start":"end";A=t[B+"Container"];D=t[B+"Offset"];if(A.nodeType==1&&A.nodeName=="TR"){C=A.childNodes;A=C[Math.min(E?D:D-1,C.length-1)];if(A){D=E?0:A.childNodes.length;t["set"+(E?"Start":"End")](A,D)}}}z(true);z();return t}function l(){var z=y.getRng(true),t=n.getRoot(),A={};function B(E,J){var D=E[J?"startContainer":"endContainer"],I=E[J?"startOffset":"endOffset"],C=[],F,H,G=0;if(D.nodeType==3){if(v){for(F=D.previousSibling;F&&F.nodeType==3;F=F.previousSibling){I+=F.nodeValue.length}}C.push(I)}else{H=D.childNodes;if(I>=H.length&&H.length){G=1;I=Math.max(0,H.length-1)}C.push(y.dom.nodeIndex(H[I],v)+G)}for(;D&&D!=t;D=D.parentNode){C.push(y.dom.nodeIndex(D,v))}return C}A.start=B(z,true);if(!y.isCollapsed()){A.end=B(z)}return A}if(s==2){if(y.tridentSel){return y.tridentSel.getBookmark(s)}return l()}if(s){return{rng:y.getRng()}}h=y.getRng();j=n.uniqueId();o=tinyMCE.activeEditor.selection.isCollapsed();x="overflow:hidden;line-height:0px";if(h.duplicate||h.item){if(!h.item){k=h.duplicate();try{h.collapse();h.pasteHTML(''+m+"");if(!o){k.collapse(false);h.moveToElementText(k.parentElement());if(h.compareEndPoints("StartToEnd",k)===0){k.move("character",-1)}k.pasteHTML(''+m+"")}}catch(r){return null}}else{p=h.item(0);i=p.nodeName;return{name:i,index:g(i,p)}}}else{p=y.getNode();i=p.nodeName;if(i=="IMG"){return{name:i,index:g(i,p)}}k=u(h.cloneRange());if(!o){k.collapse(false);k.insertNode(n.create("span",{"data-mce-type":"bookmark",id:j+"_end",style:x},m))}h=u(h);h.collapse(true);h.insertNode(n.create("span",{"data-mce-type":"bookmark",id:j+"_start",style:x},m))}y.moveToBookmark({id:j,keep:1});return{id:j}},moveToBookmark:function(o){var s=this,m=s.dom,j,i,g,r,k,u,p,q;function h(A){var t=o[A?"start":"end"],x,y,z,v;if(t){z=t[0];for(y=r,x=t.length-1;x>=1;x--){v=y.childNodes;if(t[x]>v.length-1){return}y=v[t[x]]}if(y.nodeType===3){z=Math.min(t[0],y.nodeValue.length)}if(y.nodeType===1){z=Math.min(t[0],y.childNodes.length)}if(A){g.setStart(y,z)}else{g.setEnd(y,z)}}return true}function l(B){var v=m.get(o.id+"_"+B),A,t,y,z,x=o.keep;if(v){A=v.parentNode;if(B=="start"){if(!x){t=m.nodeIndex(v)}else{A=v.firstChild;t=1}k=u=A;p=q=t}else{if(!x){t=m.nodeIndex(v)}else{A=v.firstChild;t=1}u=A;q=t}if(!x){z=v.previousSibling;y=v.nextSibling;e(d.grep(v.childNodes),function(C){if(C.nodeType==3){C.nodeValue=C.nodeValue.replace(/\uFEFF/g,"")}});while(v=m.get(o.id+"_"+B)){m.remove(v,1)}if(z&&y&&z.nodeType==y.nodeType&&z.nodeType==3&&!d.isOpera){t=z.nodeValue.length;z.appendData(y.nodeValue);m.remove(y);if(B=="start"){k=u=z;p=q=t}else{u=z;q=t}}}}}function n(t){if(m.isBlock(t)&&!t.innerHTML&&!b){t.innerHTML='
                    '}return t}if(o){if(o.start){g=m.createRng();r=m.getRoot();if(s.tridentSel){return s.tridentSel.moveToBookmark(o)}if(h(true)&&h()){s.setRng(g)}}else{if(o.id){l("start");l("end");if(k){g=m.createRng();g.setStart(n(k),p);g.setEnd(n(u),q);s.setRng(g)}}else{if(o.name){s.select(m.select(o.name)[o.index])}else{if(o.rng){s.setRng(o.rng)}}}}}},select:function(l,k){var j=this,m=j.dom,h=m.createRng(),g;function i(n,p){var o=new a(n,n);do{if(n.nodeType==3&&d.trim(n.nodeValue).length!==0){if(p){h.setStart(n,0)}else{h.setEnd(n,n.nodeValue.length)}return}if(n.nodeName=="BR"){if(p){h.setStartBefore(n)}else{h.setEndBefore(n)}return}}while(n=(p?o.next():o.prev()))}if(l){g=m.nodeIndex(l);h.setStart(l.parentNode,g);h.setEnd(l.parentNode,g+1);if(k){i(l,1);i(l)}j.setRng(h)}return l},isCollapsed:function(){var g=this,i=g.getRng(),h=g.getSel();if(!i||i.item){return false}if(i.compareEndPoints){return i.compareEndPoints("StartToEnd",i)===0}return !h||i.collapsed},collapse:function(g){var i=this,h=i.getRng(),j;if(h.item){j=h.item(0);h=i.win.document.body.createTextRange();h.moveToElementText(j)}h.collapse(!!g);i.setRng(h)},getSel:function(){var h=this,g=this.win;return g.getSelection?g.getSelection():g.document.selection},getRng:function(m){var h=this,j,g,l,k=h.win.document;if(m&&h.tridentSel){return h.tridentSel.getRangeAt(0)}try{if(j=h.getSel()){g=j.rangeCount>0?j.getRangeAt(0):(j.createRange?j.createRange():k.createRange())}}catch(i){}if(d.isIE&&g&&g.setStart&&k.selection.createRange().item){l=k.selection.createRange().item(0);g=k.createRange();g.setStartBefore(l);g.setEndAfter(l)}if(!g){g=k.createRange?k.createRange():k.body.createTextRange()}if(g.setStart&&g.startContainer.nodeType===9&&g.collapsed){l=h.dom.getRoot();g.setStart(l,0);g.setEnd(l,0)}if(h.selectedRange&&h.explicitRange){if(g.compareBoundaryPoints(g.START_TO_START,h.selectedRange)===0&&g.compareBoundaryPoints(g.END_TO_END,h.selectedRange)===0){g=h.explicitRange}else{h.selectedRange=null;h.explicitRange=null}}return g},setRng:function(k,g){var j,i=this;if(!i.tridentSel){j=i.getSel();if(j){i.explicitRange=k;try{j.removeAllRanges()}catch(h){}j.addRange(k);if(g===false&&j.extend){j.collapse(k.endContainer,k.endOffset);j.extend(k.startContainer,k.startOffset)}i.selectedRange=j.rangeCount>0?j.getRangeAt(0):null}}else{if(k.cloneRange){try{i.tridentSel.addRange(k);return}catch(h){}}try{k.select()}catch(h){}}},setNode:function(h){var g=this;g.setContent(g.dom.getOuterHTML(h));return h},getNode:function(){var i=this,h=i.getRng(),j=i.getSel(),m,l=h.startContainer,g=h.endContainer;function k(q,o){var p=q;while(q&&q.nodeType===3&&q.length===0){q=o?q.nextSibling:q.previousSibling}return q||p}if(!h){return i.dom.getRoot()}if(h.setStart){m=h.commonAncestorContainer;if(!h.collapsed){if(h.startContainer==h.endContainer){if(h.endOffset-h.startOffset<2){if(h.startContainer.hasChildNodes()){m=h.startContainer.childNodes[h.startOffset]}}}if(l.nodeType===3&&g.nodeType===3){if(l.length===h.startOffset){l=k(l.nextSibling,true)}else{l=l.parentNode}if(h.endOffset===0){g=k(g.previousSibling,false)}else{g=g.parentNode}if(l&&l===g){return l}}}if(m&&m.nodeType==3){return m.parentNode}return m}return h.item?h.item(0):h.parentElement()},getSelectedBlocks:function(p,h){var o=this,k=o.dom,m,l,i,j=[];m=k.getParent(p||o.getStart(),k.isBlock);l=k.getParent(h||o.getEnd(),k.isBlock);if(m){j.push(m)}if(m&&l&&m!=l){i=m;var g=new a(m,k.getRoot());while((i=g.next())&&i!=l){if(k.isBlock(i)){j.push(i)}}}if(l&&m!=l){j.push(l)}return j},isForward:function(){var i=this.dom,g=this.getSel(),j,h;if(!g||g.anchorNode==null||g.focusNode==null){return true}j=i.createRng();j.setStart(g.anchorNode,g.anchorOffset);j.collapse(true);h=i.createRng();h.setStart(g.focusNode,g.focusOffset);h.collapse(true);return j.compareBoundaryPoints(j.START_TO_START,h)<=0},normalize:function(){var h=this,g,m,l,j,i;function k(p){var o,r,n,s=h.dom,u=s.getRoot(),q,t,v;function y(z,A){var B=new a(z,s.getParent(z.parentNode,s.isBlock)||u);while(z=B[A?"prev":"next"]()){if(z.nodeName==="BR"){return true}}}function x(B,z){var C,A;z=z||o;C=new a(z,s.getParent(z.parentNode,s.isBlock)||u);while(q=C[B?"prev":"next"]()){if(q.nodeType===3&&q.nodeValue.length>0){o=q;r=B?q.nodeValue.length:0;m=true;return}if(s.isBlock(q)||t[q.nodeName.toLowerCase()]){return}A=q}if(l&&A){o=A;m=true;r=0}}o=g[(p?"start":"end")+"Container"];r=g[(p?"start":"end")+"Offset"];t=s.schema.getNonEmptyElements();if(o.nodeType===9){o=s.getRoot();r=0}if(o===u){if(p){q=o.childNodes[r>0?r-1:0];if(q){v=q.nodeName.toLowerCase();if(t[q.nodeName]||q.nodeName=="TABLE"){return}}}if(o.hasChildNodes()){o=o.childNodes[Math.min(!p&&r>0?r-1:r,o.childNodes.length-1)];r=0;if(o.hasChildNodes()&&!/TABLE/.test(o.nodeName)){q=o;n=new a(o,u);do{if(q.nodeType===3&&q.nodeValue.length>0){r=p?0:q.nodeValue.length;o=q;m=true;break}if(t[q.nodeName.toLowerCase()]){r=s.nodeIndex(q);o=q.parentNode;if(q.nodeName=="IMG"&&!p){r++}m=true;break}}while(q=(p?n.next():n.prev()))}}}if(l){if(o.nodeType===3&&r===0){x(true)}if(o.nodeType===1){q=o.childNodes[r];if(q&&q.nodeName==="BR"&&!y(q)&&!y(q,true)){x(true,o.childNodes[r])}}}if(p&&!l&&o.nodeType===3&&r===o.nodeValue.length){x(false)}if(m){g["set"+(p?"Start":"End")](o,r)}}if(d.isIE){return}g=h.getRng();l=g.collapsed;k(true);if(!l){k()}if(m){if(l){g.collapse(true)}h.setRng(g,h.isForward())}},selectorChanged:function(g,j){var h=this,i;if(!h.selectorChangedData){h.selectorChangedData={};i={};h.editor.onNodeChange.addToTop(function(l,k,o){var p=h.dom,m=p.getParents(o,null,p.getRoot()),n={};e(h.selectorChangedData,function(r,q){e(m,function(s){if(p.is(s,q)){if(!i[q]){e(r,function(t){t(true,{node:s,selector:q,parents:m})});i[q]=r}n[q]=r;return false}})});e(i,function(r,q){if(!n[q]){delete i[q];e(r,function(s){s(false,{node:o,selector:q,parents:m})})}})})}if(!h.selectorChangedData[g]){h.selectorChangedData[g]=[]}h.selectorChangedData[g].push(j);return h},destroy:function(h){var g=this;g.win=null;if(!h){d.removeUnload(g.destroy)}},_fixIESelection:function(){var h=this.dom,n=h.doc,i=n.body,k,o,g;function j(p,s){var q=i.createTextRange();try{q.moveToPoint(p,s)}catch(r){q=null}return q}function m(q){var p;if(q.button){p=j(q.x,q.y);if(p){if(p.compareEndPoints("StartToStart",o)>0){p.setEndPoint("StartToStart",o)}else{p.setEndPoint("EndToEnd",o)}p.select()}}else{l()}}function l(){var p=n.selection.createRange();if(o&&!p.item&&p.compareEndPoints("StartToEnd",p)===0){o.select()}h.unbind(n,"mouseup",l);h.unbind(n,"mousemove",m);o=k=0}n.documentElement.unselectable=true;h.bind(n,["mousedown","contextmenu"],function(p){if(p.target.nodeName==="HTML"){if(k){l()}g=n.documentElement;if(g.scrollHeight>g.clientHeight){return}k=1;o=j(p.x,p.y);if(o){h.bind(n,"mouseup",l);h.bind(n,"mousemove",m);h.win.focus();o.select()}}})}})})(tinymce);(function(a){a.dom.Serializer=function(e,i,f){var h,b,d=a.isIE,g=a.each,c;if(!e.apply_source_formatting){e.indent=false}i=i||a.DOM;f=f||new a.html.Schema(e);e.entity_encoding=e.entity_encoding||"named";e.remove_trailing_brs="remove_trailing_brs" in e?e.remove_trailing_brs:true;h=new a.util.Dispatcher(self);b=new a.util.Dispatcher(self);c=new a.html.DomParser(e,f);c.addAttributeFilter("src,href,style",function(k,j){var o=k.length,l,q,n="data-mce-"+j,p=e.url_converter,r=e.url_converter_scope,m;while(o--){l=k[o];q=l.attributes.map[n];if(q!==m){l.attr(j,q.length>0?q:null);l.attr(n,null)}else{q=l.attributes.map[j];if(j==="style"){q=i.serializeStyle(i.parseStyle(q),l.name)}else{if(p){q=p.call(r,q,j,l.name)}}l.attr(j,q.length>0?q:null)}}});c.addAttributeFilter("class",function(j,k){var l=j.length,m,n;while(l--){m=j[l];n=m.attr("class").replace(/(?:^|\s)mce(Item\w+|Selected)(?!\S)/g,"");m.attr("class",n.length>0?n:null)}});c.addAttributeFilter("data-mce-type",function(j,l,k){var m=j.length,n;while(m--){n=j[m];if(n.attributes.map["data-mce-type"]==="bookmark"&&!k.cleanup){n.remove()}}});c.addAttributeFilter("data-mce-expando",function(j,l,k){var m=j.length;while(m--){j[m].attr(l,null)}});c.addNodeFilter("script,style",function(k,l){var m=k.length,n,o;function j(p){return p.replace(/()/g,"\n").replace(/^[\r\n]*|[\r\n]*$/g,"").replace(/^\s*(()?|\s*\/\/\s*\]\]>(-->)?|\/\/\s*(-->)?|\]\]>|\/\*\s*-->\s*\*\/|\s*-->\s*)\s*$/g,"")}while(m--){n=k[m];o=n.firstChild?n.firstChild.value:"";if(l==="script"){n.attr("type",(n.attr("type")||"text/javascript").replace(/^mce\-/,""));if(o.length>0){n.firstChild.value="// "}}else{if(o.length>0){n.firstChild.value=""}}}});c.addNodeFilter("#comment",function(j,k){var l=j.length,m;while(l--){m=j[l];if(m.value.indexOf("[CDATA[")===0){m.name="#cdata";m.type=4;m.value=m.value.replace(/^\[CDATA\[|\]\]$/g,"")}else{if(m.value.indexOf("mce:protected ")===0){m.name="#text";m.type=3;m.raw=true;m.value=unescape(m.value).substr(14)}}}});c.addNodeFilter("xml:namespace,input",function(j,k){var l=j.length,m;while(l--){m=j[l];if(m.type===7){m.remove()}else{if(m.type===1){if(k==="input"&&!("type" in m.attributes.map)){m.attr("type","text")}}}}});if(e.fix_list_elements){c.addNodeFilter("ul,ol",function(k,l){var m=k.length,n,j;while(m--){n=k[m];j=n.parent;if(j.name==="ul"||j.name==="ol"){if(n.prev&&n.prev.name==="li"){n.prev.append(n)}}}})}c.addAttributeFilter("data-mce-src,data-mce-href,data-mce-style",function(j,k){var l=j.length;while(l--){j[l].attr(k,null)}});return{schema:f,addNodeFilter:c.addNodeFilter,addAttributeFilter:c.addAttributeFilter,onPreProcess:h,onPostProcess:b,serialize:function(o,m){var l,p,k,j,n;if(d&&i.select("script,style,select,map").length>0){n=o.innerHTML;o=o.cloneNode(false);i.setHTML(o,n)}else{o=o.cloneNode(true)}l=o.ownerDocument.implementation;if(l.createHTMLDocument){p=l.createHTMLDocument("");g(o.nodeName=="BODY"?o.childNodes:[o],function(q){p.body.appendChild(p.importNode(q,true))});if(o.nodeName!="BODY"){o=p.body.firstChild}else{o=p.body}k=i.doc;i.doc=p}m=m||{};m.format=m.format||"html";if(!m.no_events){m.node=o;h.dispatch(self,m)}j=new a.html.Serializer(e,f);m.content=j.serialize(c.parse(a.trim(m.getInner?o.innerHTML:i.getOuterHTML(o)),m));if(!m.cleanup){m.content=m.content.replace(/\uFEFF/g,"")}if(!m.no_events){b.dispatch(self,m)}if(k){i.doc=k}m.node=null;return m.content},addRules:function(j){f.addValidElements(j)},setRules:function(j){f.setValidElements(j)}}}})(tinymce);(function(a){a.dom.ScriptLoader=function(h){var c=0,k=1,i=2,l={},j=[],e={},d=[],g=0,f;function b(m,v){var x=this,q=a.DOM,s,o,r,n;function p(){q.remove(n);if(s){s.onreadystatechange=s.onload=s=null}v()}function u(){if(typeof(console)!=="undefined"&&console.log){console.log("Failed to load: "+m)}}n=q.uniqueId();if(a.isIE6){o=new a.util.URI(m);r=location;if(o.host==r.hostname&&o.port==r.port&&(o.protocol+":")==r.protocol&&o.protocol.toLowerCase()!="file"){a.util.XHR.send({url:a._addVer(o.getURI()),success:function(y){var t=q.create("script",{type:"text/javascript"});t.text=y;document.getElementsByTagName("head")[0].appendChild(t);q.remove(t);p()},error:u});return}}s=document.createElement("script");s.id=n;s.type="text/javascript";s.src=a._addVer(m);if(!a.isIE){s.onload=p}s.onerror=u;if(!a.isOpera){s.onreadystatechange=function(){var t=s.readyState;if(t=="complete"||t=="loaded"){p()}}}(document.getElementsByTagName("head")[0]||document.body).appendChild(s)}this.isDone=function(m){return l[m]==i};this.markDone=function(m){l[m]=i};this.add=this.load=function(m,q,n){var o,p=l[m];if(p==f){j.push(m);l[m]=c}if(q){if(!e[m]){e[m]=[]}e[m].push({func:q,scope:n||this})}};this.loadQueue=function(n,m){this.loadScripts(j,n,m)};this.loadScripts=function(m,q,p){var o;function n(r){a.each(e[r],function(s){s.func.call(s.scope)});e[r]=f}d.push({func:q,scope:p||this});o=function(){var r=a.grep(m);m.length=0;a.each(r,function(s){if(l[s]==i){n(s);return}if(l[s]!=k){l[s]=k;g++;b(s,function(){l[s]=i;g--;n(s);o()})}});if(!g){a.each(d,function(s){s.func.call(s.scope)});d.length=0}};o()}};a.ScriptLoader=new a.dom.ScriptLoader()})(tinymce);(function(a){a.dom.RangeUtils=function(c){var b="\uFEFF";this.walk=function(d,s){var i=d.startContainer,l=d.startOffset,t=d.endContainer,m=d.endOffset,j,g,o,h,r,q,e;e=c.select("td.mceSelected,th.mceSelected");if(e.length>0){a.each(e,function(u){s([u])});return}function f(u){var v;v=u[0];if(v.nodeType===3&&v===i&&l>=v.nodeValue.length){u.splice(0,1)}v=u[u.length-1];if(m===0&&u.length>0&&v===t&&v.nodeType===3){u.splice(u.length-1,1)}return u}function p(x,v,u){var y=[];for(;x&&x!=u;x=x[v]){y.push(x)}return y}function n(v,u){do{if(v.parentNode==u){return v}v=v.parentNode}while(v)}function k(x,v,y){var u=y?"nextSibling":"previousSibling";for(h=x,r=h.parentNode;h&&h!=v;h=r){r=h.parentNode;q=p(h==x?h:h[u],u);if(q.length){if(!y){q.reverse()}s(f(q))}}}if(i.nodeType==1&&i.hasChildNodes()){i=i.childNodes[l]}if(t.nodeType==1&&t.hasChildNodes()){t=t.childNodes[Math.min(m-1,t.childNodes.length-1)]}if(i==t){return s(f([i]))}j=c.findCommonAncestor(i,t);for(h=i;h;h=h.parentNode){if(h===t){return k(i,j,true)}if(h===j){break}}for(h=t;h;h=h.parentNode){if(h===i){return k(t,j)}if(h===j){break}}g=n(i,j)||i;o=n(t,j)||t;k(i,g,true);q=p(g==i?g:g.nextSibling,"nextSibling",o==t?o.nextSibling:o);if(q.length){s(f(q))}k(t,o)};this.split=function(e){var h=e.startContainer,d=e.startOffset,i=e.endContainer,g=e.endOffset;function f(j,k){return j.splitText(k)}if(h==i&&h.nodeType==3){if(d>0&&dd){g=g-d;h=i=f(i,g).previousSibling;g=i.nodeValue.length;d=0}else{g=0}}}else{if(h.nodeType==3&&d>0&&d0&&g=m.length){r=0}}t=m[r];f.setAttrib(g,"tabindex","-1");f.setAttrib(t.id,"tabindex","0");f.get(t.id).focus();if(e.actOnFocus){e.onAction(t.id)}if(s){a.cancel(s)}};p=function(z){var v=37,u=39,y=38,A=40,r=27,t=14,s=13,x=32;switch(z.keyCode){case v:if(i){q.moveFocus(-1)}break;case u:if(i){q.moveFocus(1)}break;case y:if(o){q.moveFocus(-1)}break;case A:if(o){q.moveFocus(1)}break;case r:if(e.onCancel){e.onCancel();a.cancel(z)}break;case t:case s:case x:if(e.onAction){e.onAction(g);a.cancel(z)}break}};c(m,function(t,r){var s,u;if(!t.id){t.id=f.uniqueId("_mce_item_")}u=f.get(t.id);if(l){f.bind(u,"blur",h);s="-1"}else{s=(r===0?"0":"-1")}u.setAttribute("tabindex",s);f.bind(u,"focus",k)});if(m[0]){g=m[0].id}f.setAttrib(n,"tabindex","-1");var j=f.get(n);f.bind(j,"focus",d);f.bind(j,"keydown",p)}})})(tinymce);(function(c){var b=c.DOM,a=c.is;c.create("tinymce.ui.Control",{Control:function(f,e,d){this.id=f;this.settings=e=e||{};this.rendered=false;this.onRender=new c.util.Dispatcher(this);this.classPrefix="";this.scope=e.scope||this;this.disabled=0;this.active=0;this.editor=d},setAriaProperty:function(f,e){var d=b.get(this.id+"_aria")||b.get(this.id);if(d){b.setAttrib(d,"aria-"+f,!!e)}},focus:function(){b.get(this.id).focus()},setDisabled:function(d){if(d!=this.disabled){this.setAriaProperty("disabled",d);this.setState("Disabled",d);this.setState("Enabled",!d);this.disabled=d}},isDisabled:function(){return this.disabled},setActive:function(d){if(d!=this.active){this.setState("Active",d);this.active=d;this.setAriaProperty("pressed",d)}},isActive:function(){return this.active},setState:function(f,d){var e=b.get(this.id);f=this.classPrefix+f;if(d){b.addClass(e,f)}else{b.removeClass(e,f)}},isRendered:function(){return this.rendered},renderHTML:function(){},renderTo:function(d){b.setHTML(d,this.renderHTML())},postRender:function(){var e=this,d;if(a(e.disabled)){d=e.disabled;e.disabled=-1;e.setDisabled(d)}if(a(e.active)){d=e.active;e.active=-1;e.setActive(d)}},remove:function(){b.remove(this.id);this.destroy()},destroy:function(){c.dom.Event.clear(this.id)}})})(tinymce);tinymce.create("tinymce.ui.Container:tinymce.ui.Control",{Container:function(c,b,a){this.parent(c,b,a);this.controls=[];this.lookup={}},add:function(a){this.lookup[a.id]=a;this.controls.push(a);return a},get:function(a){return this.lookup[a]}});tinymce.create("tinymce.ui.Separator:tinymce.ui.Control",{Separator:function(b,a){this.parent(b,a);this.classPrefix="mceSeparator";this.setDisabled(true)},renderHTML:function(){return tinymce.DOM.createHTML("span",{"class":this.classPrefix,role:"separator","aria-orientation":"vertical",tabindex:"-1"})}});(function(d){var c=d.is,b=d.DOM,e=d.each,a=d.walk;d.create("tinymce.ui.MenuItem:tinymce.ui.Control",{MenuItem:function(g,f){this.parent(g,f);this.classPrefix="mceMenuItem"},setSelected:function(f){this.setState("Selected",f);this.setAriaProperty("checked",!!f);this.selected=f},isSelected:function(){return this.selected},postRender:function(){var f=this;f.parent();if(c(f.selected)){f.setSelected(f.selected)}}})})(tinymce);(function(d){var c=d.is,b=d.DOM,e=d.each,a=d.walk;d.create("tinymce.ui.Menu:tinymce.ui.MenuItem",{Menu:function(h,g){var f=this;f.parent(h,g);f.items={};f.collapsed=false;f.menuCount=0;f.onAddItem=new d.util.Dispatcher(this)},expand:function(g){var f=this;if(g){a(f,function(h){if(h.expand){h.expand()}},"items",f)}f.collapsed=false},collapse:function(g){var f=this;if(g){a(f,function(h){if(h.collapse){h.collapse()}},"items",f)}f.collapsed=true},isCollapsed:function(){return this.collapsed},add:function(f){if(!f.settings){f=new d.ui.MenuItem(f.id||b.uniqueId(),f)}this.onAddItem.dispatch(this,f);return this.items[f.id]=f},addSeparator:function(){return this.add({separator:true})},addMenu:function(f){if(!f.collapse){f=this.createMenu(f)}this.menuCount++;return this.add(f)},hasMenus:function(){return this.menuCount!==0},remove:function(f){delete this.items[f.id]},removeAll:function(){var f=this;a(f,function(g){if(g.removeAll){g.removeAll()}else{g.remove()}g.destroy()},"items",f);f.items={}},createMenu:function(g){var f=new d.ui.Menu(g.id||b.uniqueId(),g);f.onAddItem.add(this.onAddItem.dispatch,this.onAddItem);return f}})})(tinymce);(function(e){var d=e.is,c=e.DOM,f=e.each,a=e.dom.Event,b=e.dom.Element;e.create("tinymce.ui.DropMenu:tinymce.ui.Menu",{DropMenu:function(h,g){g=g||{};g.container=g.container||c.doc.body;g.offset_x=g.offset_x||0;g.offset_y=g.offset_y||0;g.vp_offset_x=g.vp_offset_x||0;g.vp_offset_y=g.vp_offset_y||0;if(d(g.icons)&&!g.icons){g["class"]+=" mceNoIcons"}this.parent(h,g);this.onShowMenu=new e.util.Dispatcher(this);this.onHideMenu=new e.util.Dispatcher(this);this.classPrefix="mceMenu"},createMenu:function(j){var h=this,i=h.settings,g;j.container=j.container||i.container;j.parent=h;j.constrain=j.constrain||i.constrain;j["class"]=j["class"]||i["class"];j.vp_offset_x=j.vp_offset_x||i.vp_offset_x;j.vp_offset_y=j.vp_offset_y||i.vp_offset_y;j.keyboard_focus=i.keyboard_focus;g=new e.ui.DropMenu(j.id||c.uniqueId(),j);g.onAddItem.add(h.onAddItem.dispatch,h.onAddItem);return g},focus:function(){var g=this;if(g.keyboardNav){g.keyboardNav.focus()}},update:function(){var i=this,j=i.settings,g=c.get("menu_"+i.id+"_tbl"),l=c.get("menu_"+i.id+"_co"),h,k;h=j.max_width?Math.min(g.offsetWidth,j.max_width):g.offsetWidth;k=j.max_height?Math.min(g.offsetHeight,j.max_height):g.offsetHeight;if(!c.boxModel){i.element.setStyles({width:h+2,height:k+2})}else{i.element.setStyles({width:h,height:k})}if(j.max_width){c.setStyle(l,"width",h)}if(j.max_height){c.setStyle(l,"height",k);if(g.clientHeightv){p=r?r-u:Math.max(0,(v-A.vp_offset_x)-u)}if((n+A.vp_offset_y+l)>q){n=Math.max(0,(q-A.vp_offset_y)-l)}}c.setStyles(o,{left:p,top:n});z.element.update();z.isMenuVisible=1;z.mouseClickFunc=a.add(o,"click",function(s){var h;s=s.target;if(s&&(s=c.getParent(s,"tr"))&&!c.hasClass(s,m+"ItemSub")){h=z.items[s.id];if(h.isDisabled()){return}k=z;while(k){if(k.hideMenu){k.hideMenu()}k=k.settings.parent}if(h.settings.onclick){h.settings.onclick(s)}return false}});if(z.hasMenus()){z.mouseOverFunc=a.add(o,"mouseover",function(x){var h,t,s;x=x.target;if(x&&(x=c.getParent(x,"tr"))){h=z.items[x.id];if(z.lastMenu){z.lastMenu.collapse(1)}if(h.isDisabled()){return}if(x&&c.hasClass(x,m+"ItemSub")){t=c.getRect(x);h.showMenu((t.x+t.w-i),t.y-i,t.x);z.lastMenu=h;c.addClass(c.get(h.id).firstChild,m+"ItemActive")}}})}a.add(o,"keydown",z._keyHandler,z);z.onShowMenu.dispatch(z);if(A.keyboard_focus){z._setupKeyboardNav()}},hideMenu:function(j){var g=this,i=c.get("menu_"+g.id),h;if(!g.isMenuVisible){return}if(g.keyboardNav){g.keyboardNav.destroy()}a.remove(i,"mouseover",g.mouseOverFunc);a.remove(i,"click",g.mouseClickFunc);a.remove(i,"keydown",g._keyHandler);c.hide(i);g.isMenuVisible=0;if(!j){g.collapse(1)}if(g.element){g.element.hide()}if(h=c.get(g.id)){c.removeClass(h.firstChild,g.classPrefix+"ItemActive")}g.onHideMenu.dispatch(g)},add:function(i){var g=this,h;i=g.parent(i);if(g.isRendered&&(h=c.get("menu_"+g.id))){g._add(c.select("tbody",h)[0],i)}return i},collapse:function(g){this.parent(g);this.hideMenu(1)},remove:function(g){c.remove(g.id);this.destroy();return this.parent(g)},destroy:function(){var g=this,h=c.get("menu_"+g.id);if(g.keyboardNav){g.keyboardNav.destroy()}a.remove(h,"mouseover",g.mouseOverFunc);a.remove(c.select("a",h),"focus",g.mouseOverFunc);a.remove(h,"click",g.mouseClickFunc);a.remove(h,"keydown",g._keyHandler);if(g.element){g.element.remove()}c.remove(h)},renderNode:function(){var i=this,j=i.settings,l,h,k,g;g=c.create("div",{role:"listbox",id:"menu_"+i.id,"class":j["class"],style:"position:absolute;left:0;top:0;z-index:200000;outline:0"});if(i.settings.parent){c.setAttrib(g,"aria-parent","menu_"+i.settings.parent.id)}k=c.add(g,"div",{role:"presentation",id:"menu_"+i.id+"_co","class":i.classPrefix+(j["class"]?" "+j["class"]:"")});i.element=new b("menu_"+i.id,{blocker:1,container:j.container});if(j.menu_line){c.add(k,"span",{"class":i.classPrefix+"Line"})}l=c.add(k,"table",{role:"presentation",id:"menu_"+i.id+"_tbl",border:0,cellPadding:0,cellSpacing:0});h=c.add(l,"tbody");f(i.items,function(m){i._add(h,m)});i.rendered=true;return g},_setupKeyboardNav:function(){var i,h,g=this;i=c.get("menu_"+g.id);h=c.select("a[role=option]","menu_"+g.id);h.splice(0,0,i);g.keyboardNav=new e.ui.KeyboardNavigation({root:"menu_"+g.id,items:h,onCancel:function(){g.hideMenu()},enableUpDown:true});i.focus()},_keyHandler:function(g){var h=this,i;switch(g.keyCode){case 37:if(h.settings.parent){h.hideMenu();h.settings.parent.focus();a.cancel(g)}break;case 39:if(h.mouseOverFunc){h.mouseOverFunc(g)}break}},_add:function(j,h){var i,q=h.settings,p,l,k,m=this.classPrefix,g;if(q.separator){l=c.add(j,"tr",{id:h.id,"class":m+"ItemSeparator"});c.add(l,"td",{"class":m+"ItemSeparator"});if(i=l.previousSibling){c.addClass(i,"mceLast")}return}i=l=c.add(j,"tr",{id:h.id,"class":m+"Item "+m+"ItemEnabled"});i=k=c.add(i,q.titleItem?"th":"td");i=p=c.add(i,"a",{id:h.id+"_aria",role:q.titleItem?"presentation":"option",href:"javascript:;",onclick:"return false;",onmousedown:"return false;"});if(q.parent){c.setAttrib(p,"aria-haspopup","true");c.setAttrib(p,"aria-owns","menu_"+h.id)}c.addClass(k,q["class"]);g=c.add(i,"span",{"class":"mceIcon"+(q.icon?" mce_"+q.icon:"")});if(q.icon_src){c.add(g,"img",{src:q.icon_src})}i=c.add(i,q.element||"span",{"class":"mceText",title:h.settings.title},h.settings.title);if(h.settings.style){if(typeof h.settings.style=="function"){h.settings.style=h.settings.style()}c.setAttrib(i,"style",h.settings.style)}if(j.childNodes.length==1){c.addClass(l,"mceFirst")}if((i=l.previousSibling)&&c.hasClass(i,m+"ItemSeparator")){c.addClass(l,"mceFirst")}if(h.collapse){c.addClass(l,m+"ItemSub")}if(i=l.previousSibling){c.removeClass(i,"mceLast")}c.addClass(l,"mceLast")}})})(tinymce);(function(b){var a=b.DOM;b.create("tinymce.ui.Button:tinymce.ui.Control",{Button:function(e,d,c){this.parent(e,d,c);this.classPrefix="mceButton"},renderHTML:function(){var f=this.classPrefix,e=this.settings,d,c;c=a.encode(e.label||"");d='';if(e.image&&!(this.editor&&this.editor.forcedHighContrastMode)){d+=''+a.encode(e.title)+''+(c?''+c+"":"")}else{d+=''+(c?''+c+"":"")}d+='";d+="";return d},postRender:function(){var d=this,e=d.settings,c;if(b.isIE&&d.editor){b.dom.Event.add(d.id,"mousedown",function(f){var g=d.editor.selection.getNode().nodeName;c=g==="IMG"?d.editor.selection.getBookmark():null})}b.dom.Event.add(d.id,"click",function(f){if(!d.isDisabled()){if(b.isIE&&d.editor&&c!==null){d.editor.selection.moveToBookmark(c)}return e.onclick.call(e.scope,f)}});b.dom.Event.add(d.id,"keyup",function(f){if(!d.isDisabled()&&f.keyCode==b.VK.SPACEBAR){return e.onclick.call(e.scope,f)}})}})})(tinymce);(function(e){var d=e.DOM,b=e.dom.Event,f=e.each,a=e.util.Dispatcher,c;e.create("tinymce.ui.ListBox:tinymce.ui.Control",{ListBox:function(j,i,g){var h=this;h.parent(j,i,g);h.items=[];h.onChange=new a(h);h.onPostRender=new a(h);h.onAdd=new a(h);h.onRenderMenu=new e.util.Dispatcher(this);h.classPrefix="mceListBox";h.marked={}},select:function(h){var g=this,j,i;g.marked={};if(h==c){return g.selectByIndex(-1)}if(h&&typeof(h)=="function"){i=h}else{i=function(k){return k==h}}if(h!=g.selectedValue){f(g.items,function(l,k){if(i(l.value)){j=1;g.selectByIndex(k);return false}});if(!j){g.selectByIndex(-1)}}},selectByIndex:function(g){var i=this,j,k,h;i.marked={};if(g!=i.selectedIndex){j=d.get(i.id+"_text");h=d.get(i.id+"_voiceDesc");k=i.items[g];if(k){i.selectedValue=k.value;i.selectedIndex=g;d.setHTML(j,d.encode(k.title));d.setHTML(h,i.settings.title+" - "+k.title);d.removeClass(j,"mceTitle");d.setAttrib(i.id,"aria-valuenow",k.title)}else{d.setHTML(j,d.encode(i.settings.title));d.setHTML(h,d.encode(i.settings.title));d.addClass(j,"mceTitle");i.selectedValue=i.selectedIndex=null;d.setAttrib(i.id,"aria-valuenow",i.settings.title)}j=0}},mark:function(g){this.marked[g]=true},add:function(j,g,i){var h=this;i=i||{};i=e.extend(i,{title:j,value:g});h.items.push(i);h.onAdd.dispatch(h,i)},getLength:function(){return this.items.length},renderHTML:function(){var j="",g=this,i=g.settings,k=g.classPrefix;j='';j+="";j+="";j+="";return j},showMenu:function(){var h=this,j,i=d.get(this.id),g;if(h.isDisabled()||h.items.length===0){return}if(h.menu&&h.menu.isMenuVisible){return h.hideMenu()}if(!h.isMenuRendered){h.renderMenu();h.isMenuRendered=true}j=d.getPos(i);g=h.menu;g.settings.offset_x=j.x;g.settings.offset_y=j.y;g.settings.keyboard_focus=!e.isOpera;f(h.items,function(k){if(g.items[k.id]){g.items[k.id].setSelected(0)}});f(h.items,function(k){if(g.items[k.id]&&h.marked[k.value]){g.items[k.id].setSelected(1)}if(k.value===h.selectedValue){g.items[k.id].setSelected(1)}});g.showMenu(0,i.clientHeight);b.add(d.doc,"mousedown",h.hideMenu,h);d.addClass(h.id,h.classPrefix+"Selected")},hideMenu:function(h){var g=this;if(g.menu&&g.menu.isMenuVisible){d.removeClass(g.id,g.classPrefix+"Selected");if(h&&h.type=="mousedown"&&(h.target.id==g.id+"_text"||h.target.id==g.id+"_open")){return}if(!h||!d.getParent(h.target,".mceMenu")){d.removeClass(g.id,g.classPrefix+"Selected");b.remove(d.doc,"mousedown",g.hideMenu,g);g.menu.hideMenu()}}},renderMenu:function(){var h=this,g;g=h.settings.control_manager.createDropMenu(h.id+"_menu",{menu_line:1,"class":h.classPrefix+"Menu mceNoIcons",max_width:250,max_height:150});g.onHideMenu.add(function(){h.hideMenu();h.focus()});g.add({title:h.settings.title,"class":"mceMenuItemTitle",onclick:function(){if(h.settings.onselect("")!==false){h.select("")}}});f(h.items,function(i){if(i.value===c){g.add({title:i.title,role:"option","class":"mceMenuItemTitle",onclick:function(){if(h.settings.onselect("")!==false){h.select("")}}})}else{i.id=d.uniqueId();i.role="option";i.onclick=function(){if(h.settings.onselect(i.value)!==false){h.select(i.value)}};g.add(i)}});h.onRenderMenu.dispatch(h,g);h.menu=g},postRender:function(){var g=this,h=g.classPrefix;b.add(g.id,"click",g.showMenu,g);b.add(g.id,"keydown",function(i){if(i.keyCode==32){g.showMenu(i);b.cancel(i)}});b.add(g.id,"focus",function(){if(!g._focused){g.keyDownHandler=b.add(g.id,"keydown",function(i){if(i.keyCode==40){g.showMenu();b.cancel(i)}});g.keyPressHandler=b.add(g.id,"keypress",function(j){var i;if(j.keyCode==13){i=g.selectedValue;g.selectedValue=null;b.cancel(j);g.settings.onselect(i)}})}g._focused=1});b.add(g.id,"blur",function(){b.remove(g.id,"keydown",g.keyDownHandler);b.remove(g.id,"keypress",g.keyPressHandler);g._focused=0});if(e.isIE6||!d.boxModel){b.add(g.id,"mouseover",function(){if(!d.hasClass(g.id,h+"Disabled")){d.addClass(g.id,h+"Hover")}});b.add(g.id,"mouseout",function(){if(!d.hasClass(g.id,h+"Disabled")){d.removeClass(g.id,h+"Hover")}})}g.onPostRender.dispatch(g,d.get(g.id))},destroy:function(){this.parent();b.clear(this.id+"_text");b.clear(this.id+"_open")}})})(tinymce);(function(e){var d=e.DOM,b=e.dom.Event,f=e.each,a=e.util.Dispatcher,c;e.create("tinymce.ui.NativeListBox:tinymce.ui.ListBox",{NativeListBox:function(h,g){this.parent(h,g);this.classPrefix="mceNativeListBox"},setDisabled:function(g){d.get(this.id).disabled=g;this.setAriaProperty("disabled",g)},isDisabled:function(){return d.get(this.id).disabled},select:function(h){var g=this,j,i;if(h==c){return g.selectByIndex(-1)}if(h&&typeof(h)=="function"){i=h}else{i=function(k){return k==h}}if(h!=g.selectedValue){f(g.items,function(l,k){if(i(l.value)){j=1;g.selectByIndex(k);return false}});if(!j){g.selectByIndex(-1)}}},selectByIndex:function(g){d.get(this.id).selectedIndex=g+1;this.selectedValue=this.items[g]?this.items[g].value:null},add:function(k,h,g){var j,i=this;g=g||{};g.value=h;if(i.isRendered()){d.add(d.get(this.id),"option",g,k)}j={title:k,value:h,attribs:g};i.items.push(j);i.onAdd.dispatch(i,j)},getLength:function(){return this.items.length},renderHTML:function(){var i,g=this;i=d.createHTML("option",{value:""},"-- "+g.settings.title+" --");f(g.items,function(h){i+=d.createHTML("option",{value:h.value},h.title)});i=d.createHTML("select",{id:g.id,"class":"mceNativeListBox","aria-labelledby":g.id+"_aria"},i);i+=d.createHTML("span",{id:g.id+"_aria",style:"display: none"},g.settings.title);return i},postRender:function(){var h=this,i,j=true;h.rendered=true;function g(l){var k=h.items[l.target.selectedIndex-1];if(k&&(k=k.value)){h.onChange.dispatch(h,k);if(h.settings.onselect){h.settings.onselect(k)}}}b.add(h.id,"change",g);b.add(h.id,"keydown",function(l){var k;b.remove(h.id,"change",i);j=false;k=b.add(h.id,"blur",function(){if(j){return}j=true;b.add(h.id,"change",g);b.remove(h.id,"blur",k)});if(e.isWebKit&&(l.keyCode==37||l.keyCode==39)){return b.prevent(l)}if(l.keyCode==13||l.keyCode==32){g(l);return b.cancel(l)}});h.onPostRender.dispatch(h,d.get(h.id))}})})(tinymce);(function(c){var b=c.DOM,a=c.dom.Event,d=c.each;c.create("tinymce.ui.MenuButton:tinymce.ui.Button",{MenuButton:function(g,f,e){this.parent(g,f,e);this.onRenderMenu=new c.util.Dispatcher(this);f.menu_container=f.menu_container||b.doc.body},showMenu:function(){var g=this,j,i,h=b.get(g.id),f;if(g.isDisabled()){return}if(!g.isMenuRendered){g.renderMenu();g.isMenuRendered=true}if(g.isMenuVisible){return g.hideMenu()}j=b.getPos(g.settings.menu_container);i=b.getPos(h);f=g.menu;f.settings.offset_x=i.x;f.settings.offset_y=i.y;f.settings.vp_offset_x=i.x;f.settings.vp_offset_y=i.y;f.settings.keyboard_focus=g._focused;f.showMenu(0,h.firstChild.clientHeight);a.add(b.doc,"mousedown",g.hideMenu,g);g.setState("Selected",1);g.isMenuVisible=1},renderMenu:function(){var f=this,e;e=f.settings.control_manager.createDropMenu(f.id+"_menu",{menu_line:1,"class":this.classPrefix+"Menu",icons:f.settings.icons});e.onHideMenu.add(function(){f.hideMenu();f.focus()});f.onRenderMenu.dispatch(f,e);f.menu=e},hideMenu:function(g){var f=this;if(g&&g.type=="mousedown"&&b.getParent(g.target,function(h){return h.id===f.id||h.id===f.id+"_open"})){return}if(!g||!b.getParent(g.target,".mceMenu")){f.setState("Selected",0);a.remove(b.doc,"mousedown",f.hideMenu,f);if(f.menu){f.menu.hideMenu()}}f.isMenuVisible=0},postRender:function(){var e=this,f=e.settings;a.add(e.id,"click",function(){if(!e.isDisabled()){if(f.onclick){f.onclick(e.value)}e.showMenu()}})}})})(tinymce);(function(c){var b=c.DOM,a=c.dom.Event,d=c.each;c.create("tinymce.ui.SplitButton:tinymce.ui.MenuButton",{SplitButton:function(g,f,e){this.parent(g,f,e);this.classPrefix="mceSplitButton"},renderHTML:function(){var i,f=this,g=f.settings,e;i="";if(g.image){e=b.createHTML("img ",{src:g.image,role:"presentation","class":"mceAction "+g["class"]})}else{e=b.createHTML("span",{"class":"mceAction "+g["class"]},"")}e+=b.createHTML("span",{"class":"mceVoiceLabel mceIconOnly",id:f.id+"_voice",style:"display:none;"},g.title);i+=""+b.createHTML("a",{role:"button",id:f.id+"_action",tabindex:"-1",href:"javascript:;","class":"mceAction "+g["class"],onclick:"return false;",onmousedown:"return false;",title:g.title},e)+"";e=b.createHTML("span",{"class":"mceOpen "+g["class"]},'');i+=""+b.createHTML("a",{role:"button",id:f.id+"_open",tabindex:"-1",href:"javascript:;","class":"mceOpen "+g["class"],onclick:"return false;",onmousedown:"return false;",title:g.title},e)+"";i+="";i=b.createHTML("table",{role:"presentation","class":"mceSplitButton mceSplitButtonEnabled "+g["class"],cellpadding:"0",cellspacing:"0",title:g.title},i);return b.createHTML("div",{id:f.id,role:"button",tabindex:"0","aria-labelledby":f.id+"_voice","aria-haspopup":"true"},i)},postRender:function(){var e=this,g=e.settings,f;if(g.onclick){f=function(h){if(!e.isDisabled()){g.onclick(e.value);a.cancel(h)}};a.add(e.id+"_action","click",f);a.add(e.id,["click","keydown"],function(h){var k=32,m=14,i=13,j=38,l=40;if((h.keyCode===32||h.keyCode===13||h.keyCode===14)&&!h.altKey&&!h.ctrlKey&&!h.metaKey){f();a.cancel(h)}else{if(h.type==="click"||h.keyCode===l){e.showMenu();a.cancel(h)}}})}a.add(e.id+"_open","click",function(h){e.showMenu();a.cancel(h)});a.add([e.id,e.id+"_open"],"focus",function(){e._focused=1});a.add([e.id,e.id+"_open"],"blur",function(){e._focused=0});if(c.isIE6||!b.boxModel){a.add(e.id,"mouseover",function(){if(!b.hasClass(e.id,"mceSplitButtonDisabled")){b.addClass(e.id,"mceSplitButtonHover")}});a.add(e.id,"mouseout",function(){if(!b.hasClass(e.id,"mceSplitButtonDisabled")){b.removeClass(e.id,"mceSplitButtonHover")}})}},destroy:function(){this.parent();a.clear(this.id+"_action");a.clear(this.id+"_open");a.clear(this.id)}})})(tinymce);(function(d){var c=d.DOM,a=d.dom.Event,b=d.is,e=d.each;d.create("tinymce.ui.ColorSplitButton:tinymce.ui.SplitButton",{ColorSplitButton:function(i,h,f){var g=this;g.parent(i,h,f);g.settings=h=d.extend({colors:"000000,993300,333300,003300,003366,000080,333399,333333,800000,FF6600,808000,008000,008080,0000FF,666699,808080,FF0000,FF9900,99CC00,339966,33CCCC,3366FF,800080,999999,FF00FF,FFCC00,FFFF00,00FF00,00FFFF,00CCFF,993366,C0C0C0,FF99CC,FFCC99,FFFF99,CCFFCC,CCFFFF,99CCFF,CC99FF,FFFFFF",grid_width:8,default_color:"#888888"},g.settings);g.onShowMenu=new d.util.Dispatcher(g);g.onHideMenu=new d.util.Dispatcher(g);g.value=h.default_color},showMenu:function(){var f=this,g,j,i,h;if(f.isDisabled()){return}if(!f.isMenuRendered){f.renderMenu();f.isMenuRendered=true}if(f.isMenuVisible){return f.hideMenu()}i=c.get(f.id);c.show(f.id+"_menu");c.addClass(i,"mceSplitButtonSelected");h=c.getPos(i);c.setStyles(f.id+"_menu",{left:h.x,top:h.y+i.firstChild.clientHeight,zIndex:200000});i=0;a.add(c.doc,"mousedown",f.hideMenu,f);f.onShowMenu.dispatch(f);if(f._focused){f._keyHandler=a.add(f.id+"_menu","keydown",function(k){if(k.keyCode==27){f.hideMenu()}});c.select("a",f.id+"_menu")[0].focus()}f.keyboardNav=new d.ui.KeyboardNavigation({root:f.id+"_menu",items:c.select("a",f.id+"_menu"),onCancel:function(){f.hideMenu();f.focus()}});f.keyboardNav.focus();f.isMenuVisible=1},hideMenu:function(g){var f=this;if(f.isMenuVisible){if(g&&g.type=="mousedown"&&c.getParent(g.target,function(h){return h.id===f.id+"_open"})){return}if(!g||!c.getParent(g.target,".mceSplitButtonMenu")){c.removeClass(f.id,"mceSplitButtonSelected");a.remove(c.doc,"mousedown",f.hideMenu,f);a.remove(f.id+"_menu","keydown",f._keyHandler);c.hide(f.id+"_menu")}f.isMenuVisible=0;f.onHideMenu.dispatch();f.keyboardNav.destroy()}},renderMenu:function(){var p=this,h,k=0,q=p.settings,g,j,l,o,f;o=c.add(q.menu_container,"div",{role:"listbox",id:p.id+"_menu","class":q.menu_class+" "+q["class"],style:"position:absolute;left:0;top:-1000px;"});h=c.add(o,"div",{"class":q["class"]+" mceSplitButtonMenu"});c.add(h,"span",{"class":"mceMenuLine"});g=c.add(h,"table",{role:"presentation","class":"mceColorSplitMenu"});j=c.add(g,"tbody");k=0;e(b(q.colors,"array")?q.colors:q.colors.split(","),function(m){m=m.replace(/^#/,"");if(!k--){l=c.add(j,"tr");k=q.grid_width-1}g=c.add(l,"td");var i={href:"javascript:;",style:{backgroundColor:"#"+m},title:p.editor.getLang("colors."+m,m),"data-mce-color":"#"+m};if(!d.isIE){i.role="option"}g=c.add(g,"a",i);if(p.editor.forcedHighContrastMode){g=c.add(g,"canvas",{width:16,height:16,"aria-hidden":"true"});if(g.getContext&&(f=g.getContext("2d"))){f.fillStyle="#"+m;f.fillRect(0,0,16,16)}else{c.remove(g)}}});if(q.more_colors_func){g=c.add(j,"tr");g=c.add(g,"td",{colspan:q.grid_width,"class":"mceMoreColors"});g=c.add(g,"a",{role:"option",id:p.id+"_more",href:"javascript:;",onclick:"return false;","class":"mceMoreColors"},q.more_colors_title);a.add(g,"click",function(i){q.more_colors_func.call(q.more_colors_scope||this);return a.cancel(i)})}c.addClass(h,"mceColorSplitMenu");a.add(p.id+"_menu","mousedown",function(i){return a.cancel(i)});a.add(p.id+"_menu","click",function(i){var m;i=c.getParent(i.target,"a",j);if(i&&i.nodeName.toLowerCase()=="a"&&(m=i.getAttribute("data-mce-color"))){p.setColor(m)}return false});return o},setColor:function(f){this.displayColor(f);this.hideMenu();this.settings.onselect(f)},displayColor:function(g){var f=this;c.setStyle(f.id+"_preview","backgroundColor",g);f.value=g},postRender:function(){var f=this,g=f.id;f.parent();c.add(g+"_action","div",{id:g+"_preview","class":"mceColorPreview"});c.setStyle(f.id+"_preview","backgroundColor",f.value)},destroy:function(){var f=this;f.parent();a.clear(f.id+"_menu");a.clear(f.id+"_more");c.remove(f.id+"_menu");if(f.keyboardNav){f.keyboardNav.destroy()}}})})(tinymce);(function(b){var d=b.DOM,c=b.each,a=b.dom.Event;b.create("tinymce.ui.ToolbarGroup:tinymce.ui.Container",{renderHTML:function(){var f=this,i=[],e=f.controls,j=b.each,g=f.settings;i.push('
                    ');i.push("");i.push('");j(e,function(h){i.push(h.renderHTML())});i.push("");i.push("
                    ");return i.join("")},focus:function(){var e=this;d.get(e.id).focus()},postRender:function(){var f=this,e=[];c(f.controls,function(g){c(g.controls,function(h){if(h.id){e.push(h)}})});f.keyNav=new b.ui.KeyboardNavigation({root:f.id,items:e,onCancel:function(){if(b.isWebKit){d.get(f.editor.id+"_ifr").focus()}f.editor.focus()},excludeFromTabOrder:!f.settings.tab_focus_toolbar})},destroy:function(){var e=this;e.parent();e.keyNav.destroy();a.clear(e.id)}})})(tinymce);(function(a){var c=a.DOM,b=a.each;a.create("tinymce.ui.Toolbar:tinymce.ui.Container",{renderHTML:function(){var m=this,f="",j,k,n=m.settings,e,d,g,l;l=m.controls;for(e=0;e"))}if(d&&k.ListBox){if(d.Button||d.SplitButton){f+=c.createHTML("td",{"class":"mceToolbarEnd"},c.createHTML("span",null,""))}}if(c.stdMode){f+=''+k.renderHTML()+""}else{f+=""+k.renderHTML()+""}if(g&&k.ListBox){if(g.Button||g.SplitButton){f+=c.createHTML("td",{"class":"mceToolbarStart"},c.createHTML("span",null,""))}}}j="mceToolbarEnd";if(k.Button){j+=" mceToolbarEndButton"}else{if(k.SplitButton){j+=" mceToolbarEndSplitButton"}else{if(k.ListBox){j+=" mceToolbarEndListBox"}}}f+=c.createHTML("td",{"class":j},c.createHTML("span",null,""));return c.createHTML("table",{id:m.id,"class":"mceToolbar"+(n["class"]?" "+n["class"]:""),cellpadding:"0",cellspacing:"0",align:m.settings.align||"",role:"presentation",tabindex:"-1"},""+f+"")}})})(tinymce);(function(b){var a=b.util.Dispatcher,c=b.each;b.create("tinymce.AddOnManager",{AddOnManager:function(){var d=this;d.items=[];d.urls={};d.lookup={};d.onAdd=new a(d)},get:function(d){if(this.lookup[d]){return this.lookup[d].instance}else{return undefined}},dependencies:function(e){var d;if(this.lookup[e]){d=this.lookup[e].dependencies}return d||[]},requireLangPack:function(e){var d=b.settings;if(d&&d.language&&d.language_load!==false){b.ScriptLoader.add(this.urls[e]+"/langs/"+d.language+".js")}},add:function(f,e,d){this.items.push(e);this.lookup[f]={instance:e,dependencies:d};this.onAdd.dispatch(this,f,e);return e},createUrl:function(d,e){if(typeof e==="object"){return e}else{return{prefix:d.prefix,resource:e,suffix:d.suffix}}},addComponents:function(f,d){var e=this.urls[f];b.each(d,function(g){b.ScriptLoader.add(e+"/"+g)})},load:function(j,f,d,h){var g=this,e=f;function i(){var k=g.dependencies(j);b.each(k,function(m){var l=g.createUrl(f,m);g.load(l.resource,l,undefined,undefined)});if(d){if(h){d.call(h)}else{d.call(b.ScriptLoader)}}}if(g.urls[j]){return}if(typeof f==="object"){e=f.prefix+f.resource+f.suffix}if(e.indexOf("/")!==0&&e.indexOf("://")==-1){e=b.baseURL+"/"+e}g.urls[j]=e.substring(0,e.lastIndexOf("/"));if(g.lookup[j]){i()}else{b.ScriptLoader.add(e,i,h)}}});b.PluginManager=new b.AddOnManager();b.ThemeManager=new b.AddOnManager()}(tinymce));(function(j){var g=j.each,d=j.extend,k=j.DOM,i=j.dom.Event,f=j.ThemeManager,b=j.PluginManager,e=j.explode,h=j.util.Dispatcher,a,c=0;j.documentBaseURL=window.location.href.replace(/[\?#].*$/,"").replace(/[\/\\][^\/]+$/,"");if(!/[\/\\]$/.test(j.documentBaseURL)){j.documentBaseURL+="/"}j.baseURL=new j.util.URI(j.documentBaseURL).toAbsolute(j.baseURL);j.baseURI=new j.util.URI(j.baseURL);j.onBeforeUnload=new h(j);i.add(window,"beforeunload",function(l){j.onBeforeUnload.dispatch(j,l)});j.onAddEditor=new h(j);j.onRemoveEditor=new h(j);j.EditorManager=d(j,{editors:[],i18n:{},activeEditor:null,init:function(x){var v=this,o,n=j.ScriptLoader,u,l=[],r;function q(t){var s=t.id;if(!s){s=t.name;if(s&&!k.get(s)){s=t.name}else{s=k.uniqueId()}t.setAttribute("id",s)}return s}function m(z,A,t){var y=z[A];if(!y){return}if(j.is(y,"string")){t=y.replace(/\.\w+$/,"");t=t?j.resolve(t):0;y=j.resolve(y)}return y.apply(t||this,Array.prototype.slice.call(arguments,2))}function p(t,s){return s.constructor===RegExp?s.test(t.className):k.hasClass(t,s)}v.settings=x;i.bind(window,"ready",function(){var s,t;m(x,"onpageload");switch(x.mode){case"exact":s=x.elements||"";if(s.length>0){g(e(s),function(y){if(k.get(y)){r=new j.Editor(y,x);l.push(r);r.render(1)}else{g(document.forms,function(z){g(z.elements,function(A){if(A.name===y){y="mce_editor_"+c++;k.setAttrib(A,"id",y);r=new j.Editor(y,x);l.push(r);r.render(1)}})})}})}break;case"textareas":case"specific_textareas":g(k.select("textarea"),function(y){if(x.editor_deselector&&p(y,x.editor_deselector)){return}if(!x.editor_selector||p(y,x.editor_selector)){r=new j.Editor(q(y),x);l.push(r);r.render(1)}});break;default:if(x.types){g(x.types,function(y){g(k.select(y.selector),function(A){var z=new j.Editor(q(A),j.extend({},x,y));l.push(z);z.render(1)})})}else{if(x.selector){g(k.select(x.selector),function(z){var y=new j.Editor(q(z),x);l.push(y);y.render(1)})}}}if(x.oninit){s=t=0;g(l,function(y){t++;if(!y.initialized){y.onInit.add(function(){s++;if(s==t){m(x,"oninit")}})}else{s++}if(s==t){m(x,"oninit")}})}})},get:function(l){if(l===a){return this.editors}return this.editors[l]},getInstanceById:function(l){return this.get(l)},add:function(m){var l=this,n=l.editors;n[m.id]=m;n.push(m);l._setActive(m);l.onAddEditor.dispatch(l,m);if(j.adapter){j.adapter.patchEditor(m)}return m},remove:function(n){var m=this,l,o=m.editors;if(!o[n.id]){return null}delete o[n.id];for(l=0;l':"",visual:n,font_size_style_values:"xx-small,x-small,small,medium,large,x-large,xx-large",font_size_legacy_values:"xx-small,small,medium,large,x-large,xx-large,300%",apply_source_formatting:n,directionality:"ltr",forced_root_block:"p",hidden_input:n,padd_empty_editor:n,render_ui:n,indentation:"30px",fix_table_elements:n,inline_styles:n,convert_fonts_to_spans:n,indent:"simple",indent_before:"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,ul,li,area,table,thead,tfoot,tbody,tr,section,article,hgroup,aside,figure,option,optgroup,datalist",indent_after:"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,ul,li,area,table,thead,tfoot,tbody,tr,section,article,hgroup,aside,figure,option,optgroup,datalist",validate:n,entity_encoding:"named",url_converter:m.convertURL,url_converter_scope:m,ie7_compat:n},o);m.id=m.editorId=p;m.isNotDirty=false;m.plugins={};m.documentBaseURI=new k.util.URI(o.document_base_url||k.documentBaseURL,{base_uri:tinyMCE.baseURI});m.baseURI=k.baseURI;m.contentCSS=[];m.contentStyles=[];m.setupEvents();m.execCommands={};m.queryStateCommands={};m.queryValueCommands={};m.execCallback("setup",m)},render:function(o){var p=this,q=p.settings,r=p.id,m=k.ScriptLoader;if(!j.domLoaded){j.add(window,"ready",function(){p.render()});return}tinyMCE.settings=q;if(!p.getElement()){return}if(k.isIDevice&&!k.isIOS5){return}if(!/TEXTAREA|INPUT/i.test(p.getElement().nodeName)&&q.hidden_input&&l.getParent(r,"form")){l.insertAfter(l.create("input",{type:"hidden",name:r}),r)}if(!q.content_editable){p.orgVisibility=p.getElement().style.visibility;p.getElement().style.visibility="hidden"}if(k.WindowManager){p.windowManager=new k.WindowManager(p)}if(q.encoding=="xml"){p.onGetContent.add(function(s,t){if(t.save){t.content=l.encode(t.content)}})}if(q.add_form_submit_trigger){p.onSubmit.addToTop(function(){if(p.initialized){p.save();p.isNotDirty=1}})}if(q.add_unload_trigger){p._beforeUnload=tinyMCE.onBeforeUnload.add(function(){if(p.initialized&&!p.destroyed&&!p.isHidden()){p.save({format:"raw",no_events:true})}})}k.addUnload(p.destroy,p);if(q.submit_patch){p.onBeforeRenderUI.add(function(){var s=p.getElement().form;if(!s){return}if(s._mceOldSubmit){return}if(!s.submit.nodeType&&!s.submit.length){p.formElement=s;s._mceOldSubmit=s.submit;s.submit=function(){k.triggerSave();p.isNotDirty=1;return p.formElement._mceOldSubmit(p.formElement)}}s=null})}function n(){if(q.language&&q.language_load!==false){m.add(k.baseURL+"/langs/"+q.language+".js")}if(q.theme&&typeof q.theme!="function"&&q.theme.charAt(0)!="-"&&!h.urls[q.theme]){h.load(q.theme,"themes/"+q.theme+"/editor_template"+k.suffix+".js")}i(g(q.plugins),function(t){if(t&&!c.urls[t]){if(t.charAt(0)=="-"){t=t.substr(1,t.length);var s=c.dependencies(t);i(s,function(v){var u={prefix:"plugins/",resource:v,suffix:"/editor_plugin"+k.suffix+".js"};v=c.createUrl(u,v);c.load(v.resource,v)})}else{if(t=="safari"){return}c.load(t,{prefix:"plugins/",resource:t,suffix:"/editor_plugin"+k.suffix+".js"})}}});m.loadQueue(function(){if(!p.removed){p.init()}})}n()},init:function(){var q,G=this,H=G.settings,D,y,z,C=G.getElement(),p,m,E,v,B,F,x,r=[];k.add(G);H.aria_label=H.aria_label||l.getAttrib(C,"aria-label",G.getLang("aria.rich_text_area"));if(H.theme){if(typeof H.theme!="function"){H.theme=H.theme.replace(/-/,"");p=h.get(H.theme);G.theme=new p();if(G.theme.init){G.theme.init(G,h.urls[H.theme]||k.documentBaseURL.replace(/\/$/,""))}}else{G.theme=H.theme}}function A(s){var t=c.get(s),o=c.urls[s]||k.documentBaseURL.replace(/\/$/,""),n;if(t&&k.inArray(r,s)===-1){i(c.dependencies(s),function(u){A(u)});n=new t(G,o);G.plugins[s]=n;if(n.init){n.init(G,o);r.push(s)}}}i(g(H.plugins.replace(/\-/g,"")),A);if(H.popup_css!==false){if(H.popup_css){H.popup_css=G.documentBaseURI.toAbsolute(H.popup_css)}else{H.popup_css=G.baseURI.toAbsolute("themes/"+H.theme+"/skins/"+H.skin+"/dialog.css")}}if(H.popup_css_add){H.popup_css+=","+G.documentBaseURI.toAbsolute(H.popup_css_add)}G.controlManager=new k.ControlManager(G);G.onBeforeRenderUI.dispatch(G,G.controlManager);if(H.render_ui&&G.theme){G.orgDisplay=C.style.display;if(typeof H.theme!="function"){D=H.width||C.style.width||C.offsetWidth;y=H.height||C.style.height||C.offsetHeight;z=H.min_height||100;F=/^[0-9\.]+(|px)$/i;if(F.test(""+D)){D=Math.max(parseInt(D,10)+(p.deltaWidth||0),100)}if(F.test(""+y)){y=Math.max(parseInt(y,10)+(p.deltaHeight||0),z)}p=G.theme.renderUI({targetNode:C,width:D,height:y,deltaWidth:H.delta_width,deltaHeight:H.delta_height});l.setStyles(p.sizeContainer||p.editorContainer,{width:D,height:y});y=(p.iframeHeight||y)+(typeof(y)=="number"?(p.deltaHeight||0):"");if(y';if(H.document_base_url!=k.documentBaseURL){G.iframeHTML+=''}if(H.ie7_compat){G.iframeHTML+=''}else{G.iframeHTML+=''}G.iframeHTML+='';for(x=0;x'}G.contentCSS=[];v=H.body_id||"tinymce";if(v.indexOf("=")!=-1){v=G.getParam("body_id","","hash");v=v[G.id]||v}B=H.body_class||"";if(B.indexOf("=")!=-1){B=G.getParam("body_class","","hash");B=B[G.id]||""}G.iframeHTML+='
                    ";if(k.relaxedDomain&&(b||(k.isOpera&&parseFloat(opera.version())<11))){E='javascript:(function(){document.open();document.domain="'+document.domain+'";var ed = window.parent.tinyMCE.get("'+G.id+'");document.write(ed.iframeHTML);document.close();ed.initContentBody();})()'}q=l.add(p.iframeContainer,"iframe",{id:G.id+"_ifr",src:E||'javascript:""',frameBorder:"0",allowTransparency:"true",title:H.aria_label,style:{width:"100%",height:y,display:"block"}});G.contentAreaContainer=p.iframeContainer;if(p.editorContainer){l.get(p.editorContainer).style.display=G.orgDisplay}C.style.visibility=G.orgVisibility;l.get(G.id).style.display="none";l.setAttrib(G.id,"aria-hidden",true);if(!k.relaxedDomain||!E){G.initContentBody()}C=q=p=null},initContentBody:function(){var n=this,p=n.settings,q=l.get(n.id),r=n.getDoc(),o,m,s;if((!b||!k.relaxedDomain)&&!p.content_editable){r.open();r.write(n.iframeHTML);r.close();if(k.relaxedDomain){r.domain=k.relaxedDomain}}if(p.content_editable){l.addClass(q,"mceContentBody");n.contentDocument=r=p.content_document||document;n.contentWindow=p.content_window||window;n.bodyElement=q;p.content_document=p.content_window=null}m=n.getBody();m.disabled=true;if(!p.readonly){m.contentEditable=n.getParam("content_editable_state",true)}m.disabled=false;n.schema=new k.html.Schema(p);n.dom=new k.dom.DOMUtils(r,{keep_values:true,url_converter:n.convertURL,url_converter_scope:n,hex_colors:p.force_hex_style_colors,class_filter:p.class_filter,update_styles:true,root_element:p.content_editable?n.id:null,schema:n.schema});n.parser=new k.html.DomParser(p,n.schema);n.parser.addAttributeFilter("src,href,style",function(t,u){var v=t.length,y,A=n.dom,z,x;while(v--){y=t[v];z=y.attr(u);x="data-mce-"+u;if(!y.attributes.map[x]){if(u==="style"){y.attr(x,A.serializeStyle(A.parseStyle(z),y.name))}else{y.attr(x,n.convertURL(z,u,y.name))}}}});n.parser.addNodeFilter("script",function(t,u){var v=t.length,x;while(v--){x=t[v];x.attr("type","mce-"+(x.attr("type")||"text/javascript"))}});n.parser.addNodeFilter("#cdata",function(t,u){var v=t.length,x;while(v--){x=t[v];x.type=8;x.name="#comment";x.value="[CDATA["+x.value+"]]"}});n.parser.addNodeFilter("p,h1,h2,h3,h4,h5,h6,div",function(u,v){var x=u.length,y,t=n.schema.getNonEmptyElements();while(x--){y=u[x];if(y.isEmpty(t)){y.empty().append(new k.html.Node("br",1)).shortEnded=true}}});n.serializer=new k.dom.Serializer(p,n.dom,n.schema);n.selection=new k.dom.Selection(n.dom,n.getWin(),n.serializer,n);n.formatter=new k.Formatter(n);n.undoManager=new k.UndoManager(n);n.forceBlocks=new k.ForceBlocks(n);n.enterKey=new k.EnterKey(n);n.editorCommands=new k.EditorCommands(n);n.onExecCommand.add(function(t,u){if(!/^(FontName|FontSize)$/.test(u)){n.nodeChanged()}});n.serializer.onPreProcess.add(function(t,u){return n.onPreProcess.dispatch(n,u,t)});n.serializer.onPostProcess.add(function(t,u){return n.onPostProcess.dispatch(n,u,t)});n.onPreInit.dispatch(n);if(!p.browser_spellcheck&&!p.gecko_spellcheck){r.body.spellcheck=false}if(!p.readonly){n.bindNativeEvents()}n.controlManager.onPostRender.dispatch(n,n.controlManager);n.onPostRender.dispatch(n);n.quirks=k.util.Quirks(n);if(p.directionality){m.dir=p.directionality}if(p.nowrap){m.style.whiteSpace="nowrap"}if(p.protect){n.onBeforeSetContent.add(function(t,u){i(p.protect,function(v){u.content=u.content.replace(v,function(x){return""})})})}n.onSetContent.add(function(){n.addVisual(n.getBody())});if(p.padd_empty_editor){n.onPostProcess.add(function(t,u){u.content=u.content.replace(/^(]*>( | |\s|\u00a0|)<\/p>[\r\n]*|
                    [\r\n]*)$/,"")})}n.load({initial:true,format:"html"});n.startContent=n.getContent({format:"raw"});n.initialized=true;n.onInit.dispatch(n);n.execCallback("setupcontent_callback",n.id,m,r);n.execCallback("init_instance_callback",n);n.focus(true);n.nodeChanged({initial:true});if(n.contentStyles.length>0){s="";i(n.contentStyles,function(t){s+=t+"\r\n"});n.dom.addStyle(s)}i(n.contentCSS,function(t){n.dom.loadCSS(t)});if(p.auto_focus){setTimeout(function(){var t=k.get(p.auto_focus);t.selection.select(t.getBody(),1);t.selection.collapse(1);t.getBody().focus();t.getWin().focus()},100)}q=r=m=null},focus:function(p){var o,u=this,t=u.selection,q=u.settings.content_editable,n,r,s=u.getDoc(),m;if(!p){if(u.lastIERng){t.setRng(u.lastIERng)}n=t.getRng();if(n.item){r=n.item(0)}u._refreshContentEditable();if(!q){u.getWin().focus()}if(k.isGecko||q){m=u.getBody();if(m.setActive){m.setActive()}else{m.focus()}if(q){t.normalize()}}if(r&&r.ownerDocument==s){n=s.body.createControlRange();n.addElement(r);n.select()}}if(k.activeEditor!=u){if((o=k.activeEditor)!=null){o.onDeactivate.dispatch(o,u)}u.onActivate.dispatch(u,o)}k._setActive(u)},execCallback:function(q){var m=this,p=m.settings[q],o;if(!p){return}if(m.callbackLookup&&(o=m.callbackLookup[q])){p=o.func;o=o.scope}if(d(p,"string")){o=p.replace(/\.\w+$/,"");o=o?k.resolve(o):0;p=k.resolve(p);m.callbackLookup=m.callbackLookup||{};m.callbackLookup[q]={func:p,scope:o}}return p.apply(o||m,Array.prototype.slice.call(arguments,1))},translate:function(m){var o=this.settings.language||"en",n=k.i18n;if(!m){return""}return n[o+"."+m]||m.replace(/\{\#([^\}]+)\}/g,function(q,p){return n[o+"."+p]||"{#"+p+"}"})},getLang:function(o,m){return k.i18n[(this.settings.language||"en")+"."+o]||(d(m)?m:"{#"+o+"}")},getParam:function(t,q,m){var r=k.trim,p=d(this.settings[t])?this.settings[t]:q,s;if(m==="hash"){s={};if(d(p,"string")){i(p.indexOf("=")>0?p.split(/[;,](?![^=;,]*(?:[;,]|$))/):p.split(","),function(n){n=n.split("=");if(n.length>1){s[r(n[0])]=r(n[1])}else{s[r(n[0])]=r(n)}})}else{s=p}return s}return p},nodeChanged:function(q){var m=this,n=m.selection,p;if(m.initialized){q=q||{};p=n.getStart()||m.getBody();p=b&&p.ownerDocument!=m.getDoc()?m.getBody():p;q.parents=[];m.dom.getParent(p,function(o){if(o.nodeName=="BODY"){return true}q.parents.push(o)});m.onNodeChange.dispatch(m,q?q.controlManager||m.controlManager:m.controlManager,p,n.isCollapsed(),q)}},addButton:function(n,o){var m=this;m.buttons=m.buttons||{};m.buttons[n]=o},addCommand:function(m,o,n){this.execCommands[m]={func:o,scope:n||this}},addQueryStateHandler:function(m,o,n){this.queryStateCommands[m]={func:o,scope:n||this}},addQueryValueHandler:function(m,o,n){this.queryValueCommands[m]={func:o,scope:n||this}},addShortcut:function(o,q,m,p){var n=this,r;if(n.settings.custom_shortcuts===false){return false}n.shortcuts=n.shortcuts||{};if(d(m,"string")){r=m;m=function(){n.execCommand(r,false,null)}}if(d(m,"object")){r=m;m=function(){n.execCommand(r[0],r[1],r[2])}}i(g(o),function(s){var t={func:m,scope:p||this,desc:n.translate(q),alt:false,ctrl:false,shift:false};i(g(s,"+"),function(u){switch(u){case"alt":case"ctrl":case"shift":t[u]=true;break;default:t.charCode=u.charCodeAt(0);t.keyCode=u.toUpperCase().charCodeAt(0)}});n.shortcuts[(t.ctrl?"ctrl":"")+","+(t.alt?"alt":"")+","+(t.shift?"shift":"")+","+t.keyCode]=t});return true},execCommand:function(u,r,x,m){var p=this,q=0,v,n;if(!/^(mceAddUndoLevel|mceEndUndoLevel|mceBeginUndoLevel|mceRepaint|SelectAll)$/.test(u)&&(!m||!m.skip_focus)){p.focus()}m=f({},m);p.onBeforeExecCommand.dispatch(p,u,r,x,m);if(m.terminate){return false}if(p.execCallback("execcommand_callback",p.id,p.selection.getNode(),u,r,x)){p.onExecCommand.dispatch(p,u,r,x,m);return true}if(v=p.execCommands[u]){n=v.func.call(v.scope,r,x);if(n!==true){p.onExecCommand.dispatch(p,u,r,x,m);return n}}i(p.plugins,function(o){if(o.execCommand&&o.execCommand(u,r,x)){p.onExecCommand.dispatch(p,u,r,x,m);q=1;return false}});if(q){return true}if(p.theme&&p.theme.execCommand&&p.theme.execCommand(u,r,x)){p.onExecCommand.dispatch(p,u,r,x,m);return true}if(p.editorCommands.execCommand(u,r,x)){p.onExecCommand.dispatch(p,u,r,x,m);return true}p.getDoc().execCommand(u,r,x);p.onExecCommand.dispatch(p,u,r,x,m)},queryCommandState:function(q){var n=this,r,p;if(n._isHidden()){return}if(r=n.queryStateCommands[q]){p=r.func.call(r.scope);if(p!==true){return p}}r=n.editorCommands.queryCommandState(q);if(r!==-1){return r}try{return this.getDoc().queryCommandState(q)}catch(m){}},queryCommandValue:function(r){var n=this,q,p;if(n._isHidden()){return}if(q=n.queryValueCommands[r]){p=q.func.call(q.scope);if(p!==true){return p}}q=n.editorCommands.queryCommandValue(r);if(d(q)){return q}try{return this.getDoc().queryCommandValue(r)}catch(m){}},show:function(){var m=this;l.show(m.getContainer());l.hide(m.id);m.load()},hide:function(){var m=this,n=m.getDoc();if(b&&n){n.execCommand("SelectAll")}m.save();l.hide(m.getContainer());l.setStyle(m.id,"display",m.orgDisplay)},isHidden:function(){return !l.isHidden(this.id)},setProgressState:function(m,n,p){this.onSetProgressState.dispatch(this,m,n,p);return m},load:function(q){var m=this,p=m.getElement(),n;if(p){q=q||{};q.load=true;n=m.setContent(d(p.value)?p.value:p.innerHTML,q);q.element=p;if(!q.no_events){m.onLoadContent.dispatch(m,q)}q.element=p=null;return n}},save:function(r){var m=this,q=m.getElement(),n,p;if(!q||!m.initialized){return}r=r||{};r.save=true;r.element=q;n=r.content=m.getContent(r);if(!r.no_events){m.onSaveContent.dispatch(m,r)}n=r.content;if(!/TEXTAREA|INPUT/i.test(q.nodeName)){q.innerHTML=n;if(p=l.getParent(m.id,"form")){i(p.elements,function(o){if(o.name==m.id){o.value=n;return false}})}}else{q.value=n}r.element=q=null;return n},setContent:function(r,p){var o=this,n,m=o.getBody(),q;p=p||{};p.format=p.format||"html";p.set=true;p.content=r;if(!p.no_events){o.onBeforeSetContent.dispatch(o,p)}r=p.content;if(!k.isIE&&(r.length===0||/^\s+$/.test(r))){q=o.settings.forced_root_block;if(q){r="<"+q+'>
                    "}else{r='
                    '}m.innerHTML=r;o.selection.select(m,true);o.selection.collapse(true);return}if(p.format!=="raw"){r=new k.html.Serializer({},o.schema).serialize(o.parser.parse(r))}p.content=k.trim(r);o.dom.setHTML(m,p.content);if(!p.no_events){o.onSetContent.dispatch(o,p)}if(!o.settings.content_editable||document.activeElement===o.getBody()){o.selection.normalize()}return p.content},getContent:function(n){var m=this,o;n=n||{};n.format=n.format||"html";n.get=true;n.getInner=true;if(!n.no_events){m.onBeforeGetContent.dispatch(m,n)}if(n.format=="raw"){o=m.getBody().innerHTML}else{o=m.serializer.serialize(m.getBody(),n)}n.content=k.trim(o);if(!n.no_events){m.onGetContent.dispatch(m,n)}return n.content},isDirty:function(){var m=this;return k.trim(m.startContent)!=k.trim(m.getContent({format:"raw",no_events:1}))&&!m.isNotDirty},getContainer:function(){var m=this;if(!m.container){m.container=l.get(m.editorContainer||m.id+"_parent")}return m.container},getContentAreaContainer:function(){return this.contentAreaContainer},getElement:function(){return l.get(this.settings.content_element||this.id)},getWin:function(){var m=this,n;if(!m.contentWindow){n=l.get(m.id+"_ifr");if(n){m.contentWindow=n.contentWindow}}return m.contentWindow},getDoc:function(){var m=this,n;if(!m.contentDocument){n=m.getWin();if(n){m.contentDocument=n.document}}return m.contentDocument},getBody:function(){return this.bodyElement||this.getDoc().body},convertURL:function(o,n,q){var m=this,p=m.settings;if(p.urlconverter_callback){return m.execCallback("urlconverter_callback",o,q,true,n)}if(!p.convert_urls||(q&&q.nodeName=="LINK")||o.indexOf("file:")===0){return o}if(p.relative_urls){return m.documentBaseURI.toRelative(o)}o=m.documentBaseURI.toAbsolute(o,p.remove_script_host);return o},addVisual:function(q){var n=this,o=n.settings,p=n.dom,m;q=q||n.getBody();if(!d(n.hasVisual)){n.hasVisual=o.visual}i(p.select("table,a",q),function(s){var r;switch(s.nodeName){case"TABLE":m=o.visual_table_class||"mceItemTable";r=p.getAttrib(s,"border");if(!r||r=="0"){if(n.hasVisual){p.addClass(s,m)}else{p.removeClass(s,m)}}return;case"A":if(!p.getAttrib(s,"href",false)){r=p.getAttrib(s,"name")||s.id;m="mceItemAnchor";if(r){if(n.hasVisual){p.addClass(s,m)}else{p.removeClass(s,m)}}}return}});n.onVisualAid.dispatch(n,q,n.hasVisual)},remove:function(){var m=this,n=m.getContainer();if(!m.removed){m.removed=1;m.hide();if(!m.settings.content_editable){j.unbind(m.getWin());j.unbind(m.getDoc())}j.unbind(m.getBody());j.clear(n);m.execCallback("remove_instance_callback",m);m.onRemove.dispatch(m);m.onExecCommand.listeners=[];k.remove(m);l.remove(n)}},destroy:function(n){var m=this;if(m.destroyed){return}if(a){j.unbind(m.getDoc());j.unbind(m.getWin());j.unbind(m.getBody())}if(!n){k.removeUnload(m.destroy);tinyMCE.onBeforeUnload.remove(m._beforeUnload);if(m.theme&&m.theme.destroy){m.theme.destroy()}m.controlManager.destroy();m.selection.destroy();m.dom.destroy()}if(m.formElement){m.formElement.submit=m.formElement._mceOldSubmit;m.formElement._mceOldSubmit=null}m.contentAreaContainer=m.formElement=m.container=m.settings.content_element=m.bodyElement=m.contentDocument=m.contentWindow=null;if(m.selection){m.selection=m.selection.win=m.selection.dom=m.selection.dom.doc=null}m.destroyed=1},_refreshContentEditable:function(){var n=this,m,o;if(n._isHidden()){m=n.getBody();o=m.parentNode;o.removeChild(m);o.appendChild(m);m.focus()}},_isHidden:function(){var m;if(!a){return 0}m=this.selection.getSel();return(!m||!m.rangeCount||m.rangeCount===0)}})})(tinymce);(function(a){var b=a.each;a.Editor.prototype.setupEvents=function(){var c=this,d=c.settings;b(["onPreInit","onBeforeRenderUI","onPostRender","onLoad","onInit","onRemove","onActivate","onDeactivate","onClick","onEvent","onMouseUp","onMouseDown","onDblClick","onKeyDown","onKeyUp","onKeyPress","onContextMenu","onSubmit","onReset","onPaste","onPreProcess","onPostProcess","onBeforeSetContent","onBeforeGetContent","onSetContent","onGetContent","onLoadContent","onSaveContent","onNodeChange","onChange","onBeforeExecCommand","onExecCommand","onUndo","onRedo","onVisualAid","onSetProgressState","onSetAttrib"],function(e){c[e]=new a.util.Dispatcher(c)});if(d.cleanup_callback){c.onBeforeSetContent.add(function(e,f){f.content=e.execCallback("cleanup_callback","insert_to_editor",f.content,f)});c.onPreProcess.add(function(e,f){if(f.set){e.execCallback("cleanup_callback","insert_to_editor_dom",f.node,f)}if(f.get){e.execCallback("cleanup_callback","get_from_editor_dom",f.node,f)}});c.onPostProcess.add(function(e,f){if(f.set){f.content=e.execCallback("cleanup_callback","insert_to_editor",f.content,f)}if(f.get){f.content=e.execCallback("cleanup_callback","get_from_editor",f.content,f)}})}if(d.save_callback){c.onGetContent.add(function(e,f){if(f.save){f.content=e.execCallback("save_callback",e.id,f.content,e.getBody())}})}if(d.handle_event_callback){c.onEvent.add(function(f,g,h){if(c.execCallback("handle_event_callback",g,f,h)===false){g.preventDefault();g.stopPropagation()}})}if(d.handle_node_change_callback){c.onNodeChange.add(function(f,e,g){f.execCallback("handle_node_change_callback",f.id,g,-1,-1,true,f.selection.isCollapsed())})}if(d.save_callback){c.onSaveContent.add(function(e,g){var f=e.execCallback("save_callback",e.id,g.content,e.getBody());if(f){g.content=f}})}if(d.onchange_callback){c.onChange.add(function(f,e){f.execCallback("onchange_callback",f,e)})}};a.Editor.prototype.bindNativeEvents=function(){var l=this,f,d=l.settings,e=l.dom,h;h={mouseup:"onMouseUp",mousedown:"onMouseDown",click:"onClick",keyup:"onKeyUp",keydown:"onKeyDown",keypress:"onKeyPress",submit:"onSubmit",reset:"onReset",contextmenu:"onContextMenu",dblclick:"onDblClick",paste:"onPaste"};function c(i,m){var n=i.type;if(l.removed){return}if(l.onEvent.dispatch(l,i,m)!==false){l[h[i.fakeType||i.type]].dispatch(l,i,m)}}function j(i){l.focus(true)}function k(i,m){if(m.keyCode!=65||!a.VK.metaKeyPressed(m)){l.selection.normalize()}l.nodeChanged()}b(h,function(m,n){var i=d.content_editable?l.getBody():l.getDoc();switch(n){case"contextmenu":e.bind(i,n,c);break;case"paste":e.bind(l.getBody(),n,c);break;case"submit":case"reset":e.bind(l.getElement().form||a.DOM.getParent(l.id,"form"),n,c);break;default:e.bind(i,n,c)}});e.bind(d.content_editable?l.getBody():(a.isGecko?l.getDoc():l.getWin()),"focus",function(i){l.focus(true)});if(d.content_editable&&a.isOpera){e.bind(l.getBody(),"click",j);e.bind(l.getBody(),"keydown",j)}l.onMouseUp.add(k);l.onKeyUp.add(function(i,n){var m=n.keyCode;if((m>=33&&m<=36)||(m>=37&&m<=40)||m==13||m==45||m==46||m==8||(a.isMac&&(m==91||m==93))||n.ctrlKey){k(i,n)}});l.onReset.add(function(){l.setContent(l.startContent,{format:"raw"})});function g(m,i){if(m.altKey||m.ctrlKey||m.metaKey){b(l.shortcuts,function(n){var o=a.isMac?m.metaKey:m.ctrlKey;if(n.ctrl!=o||n.alt!=m.altKey||n.shift!=m.shiftKey){return}if(m.keyCode==n.keyCode||(m.charCode&&m.charCode==n.charCode)){m.preventDefault();if(i){n.func.call(n.scope)}return true}})}}l.onKeyUp.add(function(i,m){g(m)});l.onKeyPress.add(function(i,m){g(m)});l.onKeyDown.add(function(i,m){g(m,true)});if(a.isOpera){l.onClick.add(function(i,m){m.preventDefault()})}}})(tinymce);(function(d){var e=d.each,b,a=true,c=false;d.EditorCommands=function(n){var m=n.dom,p=n.selection,j={state:{},exec:{},value:{}},k=n.settings,q=n.formatter,o;function r(z,y,x){var v;z=z.toLowerCase();if(v=j.exec[z]){v(z,y,x);return a}return c}function l(x){var v;x=x.toLowerCase();if(v=j.state[x]){return v(x)}return -1}function h(x){var v;x=x.toLowerCase();if(v=j.value[x]){return v(x)}return c}function u(v,x){x=x||"exec";e(v,function(z,y){e(y.toLowerCase().split(","),function(A){j[x][A]=z})})}d.extend(this,{execCommand:r,queryCommandState:l,queryCommandValue:h,addCommands:u});function f(y,x,v){if(x===b){x=c}if(v===b){v=null}return n.getDoc().execCommand(y,x,v)}function t(v){return q.match(v)}function s(v,x){q.toggle(v,x?{value:x}:b)}function i(v){o=p.getBookmark(v)}function g(){p.moveToBookmark(o)}u({"mceResetDesignMode,mceBeginUndoLevel":function(){},"mceEndUndoLevel,mceAddUndoLevel":function(){n.undoManager.add()},"Cut,Copy,Paste":function(z){var y=n.getDoc(),v;try{f(z)}catch(x){v=a}if(v||!y.queryCommandSupported(z)){if(d.isGecko){n.windowManager.confirm(n.getLang("clipboard_msg"),function(A){if(A){open("http://www.mozilla.org/editor/midasdemo/securityprefs.html","_blank")}})}else{n.windowManager.alert(n.getLang("clipboard_no_support"))}}},unlink:function(v){if(p.isCollapsed()){p.select(p.getNode())}f(v);p.collapse(c)},"JustifyLeft,JustifyCenter,JustifyRight,JustifyFull":function(v){var x=v.substring(7);e("left,center,right,full".split(","),function(y){if(x!=y){q.remove("align"+y)}});s("align"+x);r("mceRepaint")},"InsertUnorderedList,InsertOrderedList":function(y){var v,x;f(y);v=m.getParent(p.getNode(),"ol,ul");if(v){x=v.parentNode;if(/^(H[1-6]|P|ADDRESS|PRE)$/.test(x.nodeName)){i();m.split(x,v);g()}}},"Bold,Italic,Underline,Strikethrough,Superscript,Subscript":function(v){s(v)},"ForeColor,HiliteColor,FontName":function(y,x,v){s(y,v)},FontSize:function(z,y,x){var v,A;if(x>=1&&x<=7){A=d.explode(k.font_size_style_values);v=d.explode(k.font_size_classes);if(v){x=v[x-1]||x}else{x=A[x-1]||x}}s(z,x)},RemoveFormat:function(v){q.remove(v)},mceBlockQuote:function(v){s("blockquote")},FormatBlock:function(y,x,v){return s(v||"p")},mceCleanup:function(){var v=p.getBookmark();n.setContent(n.getContent({cleanup:a}),{cleanup:a});p.moveToBookmark(v)},mceRemoveNode:function(z,y,x){var v=x||p.getNode();if(v!=n.getBody()){i();n.dom.remove(v,a);g()}},mceSelectNodeDepth:function(z,y,x){var v=0;m.getParent(p.getNode(),function(A){if(A.nodeType==1&&v++==x){p.select(A);return c}},n.getBody())},mceSelectNode:function(y,x,v){p.select(v)},mceInsertContent:function(B,I,K){var y,J,E,z,F,G,D,C,L,x,A,M,v,H;y=n.parser;J=new d.html.Serializer({},n.schema);v='\uFEFF';G={content:K,format:"html"};p.onBeforeSetContent.dispatch(p,G);K=G.content;if(K.indexOf("{$caret}")==-1){K+="{$caret}"}K=K.replace(/\{\$caret\}/,v);if(!p.isCollapsed()){n.getDoc().execCommand("Delete",false,null)}E=p.getNode();G={context:E.nodeName.toLowerCase()};F=y.parse(K,G);A=F.lastChild;if(A.attr("id")=="mce_marker"){D=A;for(A=A.prev;A;A=A.walk(true)){if(A.type==3||!m.isBlock(A.name)){A.parent.insert(D,A,A.name==="br");break}}}if(!G.invalid){K=J.serialize(F);A=E.firstChild;M=E.lastChild;if(!A||(A===M&&A.nodeName==="BR")){m.setHTML(E,K)}else{p.setContent(K)}}else{p.setContent(v);E=p.getNode();z=n.getBody();if(E.nodeType==9){E=A=z}else{A=E}while(A!==z){E=A;A=A.parentNode}K=E==z?z.innerHTML:m.getOuterHTML(E);K=J.serialize(y.parse(K.replace(//i,function(){return J.serialize(F)})));if(E==z){m.setHTML(z,K)}else{m.setOuterHTML(E,K)}}D=m.get("mce_marker");C=m.getRect(D);L=m.getViewPort(n.getWin());if((C.y+C.h>L.y+L.h||C.yL.x+L.w||C.x")},mceToggleVisualAid:function(){n.hasVisual=!n.hasVisual;n.addVisual()},mceReplaceContent:function(y,x,v){n.execCommand("mceInsertContent",false,v.replace(/\{\$selection\}/g,p.getContent({format:"text"})))},mceInsertLink:function(z,y,x){var v;if(typeof(x)=="string"){x={href:x}}v=m.getParent(p.getNode(),"a");x.href=x.href.replace(" ","%20");if(!v||!x.href){q.remove("link")}if(x.href){q.apply("link",x,v)}},selectAll:function(){var x=m.getRoot(),v=m.createRng();if(p.getRng().setStart){v.setStart(x,0);v.setEnd(x,x.childNodes.length);p.setRng(v)}else{f("SelectAll")}}});u({"JustifyLeft,JustifyCenter,JustifyRight,JustifyFull":function(z){var x="align"+z.substring(7);var v=p.isCollapsed()?[m.getParent(p.getNode(),m.isBlock)]:p.getSelectedBlocks();var y=d.map(v,function(A){return !!q.matchNode(A,x)});return d.inArray(y,a)!==-1},"Bold,Italic,Underline,Strikethrough,Superscript,Subscript":function(v){return t(v)},mceBlockQuote:function(){return t("blockquote")},Outdent:function(){var v;if(k.inline_styles){if((v=m.getParent(p.getStart(),m.isBlock))&&parseInt(v.style.paddingLeft)>0){return a}if((v=m.getParent(p.getEnd(),m.isBlock))&&parseInt(v.style.paddingLeft)>0){return a}}return l("InsertUnorderedList")||l("InsertOrderedList")||(!k.inline_styles&&!!m.getParent(p.getNode(),"BLOCKQUOTE"))},"InsertUnorderedList,InsertOrderedList":function(x){var v=m.getParent(p.getNode(),"ul,ol");return v&&(x==="insertunorderedlist"&&v.tagName==="UL"||x==="insertorderedlist"&&v.tagName==="OL")}},"state");u({"FontSize,FontName":function(y){var x=0,v;if(v=m.getParent(p.getNode(),"span")){if(y=="fontsize"){x=v.style.fontSize}else{x=v.style.fontFamily.replace(/, /g,",").replace(/[\'\"]/g,"").toLowerCase()}}return x}},"value");u({Undo:function(){n.undoManager.undo()},Redo:function(){n.undoManager.redo()}})}})(tinymce);(function(b){var a=b.util.Dispatcher;b.UndoManager=function(h){var l,i=0,e=[],g,k,j,f;function c(){return b.trim(h.getContent({format:"raw",no_events:1}).replace(/]+data-mce-bogus[^>]+>[\u200B\uFEFF]+<\/span>/g,""))}function d(){l.typing=false;l.add()}onBeforeAdd=new a(l);k=new a(l);j=new a(l);f=new a(l);k.add(function(m,n){if(m.hasUndo()){return h.onChange.dispatch(h,n,m)}});j.add(function(m,n){return h.onUndo.dispatch(h,n,m)});f.add(function(m,n){return h.onRedo.dispatch(h,n,m)});h.onInit.add(function(){l.add()});h.onBeforeExecCommand.add(function(m,p,o,q,n){if(p!="Undo"&&p!="Redo"&&p!="mceRepaint"&&(!n||!n.skip_undo)){l.beforeChange()}});h.onExecCommand.add(function(m,p,o,q,n){if(p!="Undo"&&p!="Redo"&&p!="mceRepaint"&&(!n||!n.skip_undo)){l.add()}});h.onSaveContent.add(d);h.dom.bind(h.dom.getRoot(),"dragend",d);h.dom.bind(h.getDoc(),b.isGecko?"blur":"focusout",function(m){if(!h.removed&&l.typing){d()}});h.onKeyUp.add(function(m,o){var n=o.keyCode;if((n>=33&&n<=36)||(n>=37&&n<=40)||n==45||n==13||o.ctrlKey){d()}});h.onKeyDown.add(function(m,o){var n=o.keyCode;if((n>=33&&n<=36)||(n>=37&&n<=40)||n==45){if(l.typing){d()}return}if((n<16||n>20)&&n!=224&&n!=91&&!l.typing){l.beforeChange();l.typing=true;l.add()}});h.onMouseDown.add(function(m,n){if(l.typing){d()}});h.addShortcut("ctrl+z","undo_desc","Undo");h.addShortcut("ctrl+y","redo_desc","Redo");l={data:e,typing:false,onBeforeAdd:onBeforeAdd,onAdd:k,onUndo:j,onRedo:f,beforeChange:function(){g=h.selection.getBookmark(2,true)},add:function(p){var m,n=h.settings,o;p=p||{};p.content=c();l.onBeforeAdd.dispatch(l,p);o=e[i];if(o&&o.content==p.content){return null}if(e[i]){e[i].beforeBookmark=g}if(n.custom_undo_redo_levels){if(e.length>n.custom_undo_redo_levels){for(m=0;m0){n=e[--i];h.setContent(n.content,{format:"raw"});h.selection.moveToBookmark(n.beforeBookmark);l.onUndo.dispatch(l,n)}return n},redo:function(){var m;if(i0||this.typing},hasRedo:function(){return i0){g.moveEnd("character",q)}g.select()}catch(n){}}}c.nodeChanged()}}if(b.forced_root_block){c.onKeyUp.add(f);c.onNodeChange.add(f)}};(function(c){var b=c.DOM,a=c.dom.Event,d=c.each,e=c.extend;c.create("tinymce.ControlManager",{ControlManager:function(f,j){var h=this,g;j=j||{};h.editor=f;h.controls={};h.onAdd=new c.util.Dispatcher(h);h.onPostRender=new c.util.Dispatcher(h);h.prefix=j.prefix||f.id+"_";h._cls={};h.onPostRender.add(function(){d(h.controls,function(i){i.postRender()})})},get:function(f){return this.controls[this.prefix+f]||this.controls[f]},setActive:function(h,f){var g=null;if(g=this.get(h)){g.setActive(f)}return g},setDisabled:function(h,f){var g=null;if(g=this.get(h)){g.setDisabled(f)}return g},add:function(g){var f=this;if(g){f.controls[g.id]=g;f.onAdd.dispatch(g,f)}return g},createControl:function(j){var o,k,g,h=this,m=h.editor,n,f;if(!h.controlFactories){h.controlFactories=[];d(m.plugins,function(i){if(i.createControl){h.controlFactories.push(i)}})}n=h.controlFactories;for(k=0,g=n.length;k1||ag==ay||ag.tagName=="BR"){return ag}}}var aq=aa.selection.getRng();var av=aq.startContainer;var ap=aq.endContainer;if(av!=ap&&aq.endOffset===0){var au=ar(av,ap);var at=au.nodeType==3?au.length:au.childNodes.length;aq.setEnd(au,at)}return aq}function ad(at,ay,aw,av,aq){var ap=[],ar=-1,ax,aA=-1,au=-1,az;T(at.childNodes,function(aC,aB){if(aC.nodeName==="UL"||aC.nodeName==="OL"){ar=aB;ax=aC;return false}});T(at.childNodes,function(aC,aB){if(aC.nodeName==="SPAN"&&c.getAttrib(aC,"data-mce-type")=="bookmark"){if(aC.id==ay.id+"_start"){aA=aB}else{if(aC.id==ay.id+"_end"){au=aB}}}});if(ar<=0||(aAar)){T(a.grep(at.childNodes),aq);return 0}else{az=c.clone(aw,X);T(a.grep(at.childNodes),function(aC,aB){if((aAar&&aB>ar)){ap.push(aC);aC.parentNode.removeChild(aC)}});if(aAar){at.insertBefore(az,ax.nextSibling)}}av.push(az);T(ap,function(aB){az.appendChild(aB)});return az}}function an(aq,at,aw){var ap=[],av,ar,au=true;av=am.inline||am.block;ar=c.create(av);ab(ar);N.walk(aq,function(ax){var ay;function az(aA){var aF,aD,aB,aC,aE;aE=au;aF=aA.nodeName.toLowerCase();aD=aA.parentNode.nodeName.toLowerCase();if(aA.nodeType===1&&x(aA)){aE=au;au=x(aA)==="true";aC=true}if(g(aF,"br")){ay=0;if(am.block){c.remove(aA)}return}if(am.wrapper&&y(aA,ae,al)){ay=0;return}if(au&&!aC&&am.block&&!am.wrapper&&I(aF)){aA=c.rename(aA,av);ab(aA);ap.push(aA);ay=0;return}if(am.selector){T(ah,function(aG){if("collapsed" in aG&&aG.collapsed!==ai){return}if(c.is(aA,aG.selector)&&!b(aA)){ab(aA,aG);aB=true}});if(!am.inline||aB){ay=0;return}}if(au&&!aC&&d(av,aF)&&d(aD,av)&&!(!aw&&aA.nodeType===3&&aA.nodeValue.length===1&&aA.nodeValue.charCodeAt(0)===65279)&&!b(aA)){if(!ay){ay=c.clone(ar,X);aA.parentNode.insertBefore(ay,aA);ap.push(ay)}ay.appendChild(aA)}else{if(aF=="li"&&at){ay=ad(aA,at,ar,ap,az)}else{ay=0;T(a.grep(aA.childNodes),az);if(aC){au=aE}ay=0}}}T(ax,az)});if(am.wrap_links===false){T(ap,function(ax){function ay(aC){var aB,aA,az;if(aC.nodeName==="A"){aA=c.clone(ar,X);ap.push(aA);az=a.grep(aC.childNodes);for(aB=0;aB1||!H(az))&&ax===0){c.remove(az,1);return}if(am.inline||am.wrapper){if(!am.exact&&ax===1){az=ay(az)}T(ah,function(aB){T(c.select(aB.inline,az),function(aD){var aC;if(aB.wrap_links===false){aC=aD.parentNode;do{if(aC.nodeName==="A"){return}}while(aC=aC.parentNode)}Z(aB,al,aD,aB.exact?aD:null)})});if(y(az.parentNode,ae,al)){c.remove(az,1);az=0;return C}if(am.merge_with_parents){c.getParent(az.parentNode,function(aB){if(y(aB,ae,al)){c.remove(az,1);az=0;return C}})}if(az&&am.merge_siblings!==false){az=u(E(az),az);az=u(az,E(az,C))}}})}if(am){if(ag){if(ag.nodeType){ac=c.createRng();ac.setStartBefore(ag);ac.setEndAfter(ag);an(p(ac,ah),null,true)}else{an(ag,null,true)}}else{if(!ai||!am.inline||c.select("td.mceSelected,th.mceSelected").length){var ao=aa.selection.getNode();if(!m&&ah[0].defaultBlock&&!c.getParent(ao,c.isBlock)){Y(ah[0].defaultBlock)}aa.selection.setRng(af());ak=r.getBookmark();an(p(r.getRng(C),ah),ak);if(am.styles&&(am.styles.color||am.styles.textDecoration)){a.walk(ao,L,"childNodes");L(ao)}r.moveToBookmark(ak);R(r.getRng(C));aa.nodeChanged()}else{U("apply",ae,al)}}}}function B(ad,am,af){var ag=V(ad),ao=ag[0],ak,aj,ac,al=true;function ae(av){var au,at,ar,aq,ax,aw;if(av.nodeType===1&&x(av)){ax=al;al=x(av)==="true";aw=true}au=a.grep(av.childNodes);if(al&&!aw){for(at=0,ar=ag.length;at=0;ac--){ab=ah[ac].selector;if(!ab){return C}for(ag=ad.length-1;ag>=0;ag--){if(c.is(ad[ag],ab)){return C}}}}return X}function J(ab,ae,ac){var ad;if(!P){P={};ad={};aa.onNodeChange.addToTop(function(ag,af,ai){var ah=n(ai),aj={};T(P,function(ak,al){T(ah,function(am){if(y(am,al,{},ak.similar)){if(!ad[al]){T(ak,function(an){an(true,{node:am,format:al,parents:ah})});ad[al]=ak}aj[al]=ak;return false}})});T(ad,function(ak,al){if(!aj[al]){delete ad[al];T(ak,function(am){am(false,{node:ai,format:al,parents:ah})})}})})}T(ab.split(","),function(af){if(!P[af]){P[af]=[];P[af].similar=ac}P[af].push(ae)});return this}a.extend(this,{get:V,register:l,apply:Y,remove:B,toggle:F,match:k,matchAll:v,matchNode:y,canApply:z,formatChanged:J});j();W();function h(ab,ac){if(g(ab,ac.inline)){return C}if(g(ab,ac.block)){return C}if(ac.selector){return c.is(ab,ac.selector)}}function g(ac,ab){ac=ac||"";ab=ab||"";ac=""+(ac.nodeName||ac);ab=""+(ab.nodeName||ab);return ac.toLowerCase()==ab.toLowerCase()}function O(ac,ab){var ad=c.getStyle(ac,ab);if(ab=="color"||ab=="backgroundColor"){ad=c.toHex(ad)}if(ab=="fontWeight"&&ad==700){ad="bold"}return""+ad}function q(ab,ac){if(typeof(ab)!="string"){ab=ab(ac)}else{if(ac){ab=ab.replace(/%(\w+)/g,function(ae,ad){return ac[ad]||ae})}}return ab}function f(ab){return ab&&ab.nodeType===3&&/^([\t \r\n]+|)$/.test(ab.nodeValue)}function S(ad,ac,ab){var ae=c.create(ac,ab);ad.parentNode.insertBefore(ae,ad);ae.appendChild(ad);return ae}function p(ab,am,ae){var ap,an,ah,al,ad=ab.startContainer,ai=ab.startOffset,ar=ab.endContainer,ak=ab.endOffset;function ao(az){var au,ax,ay,aw,av,at;au=ax=az?ad:ar;av=az?"previousSibling":"nextSibling";at=c.getRoot();if(au.nodeType==3&&!f(au)){if(az?ai>0:akan?an:ai];if(ad.nodeType==3){ai=0}}if(ar.nodeType==1&&ar.hasChildNodes()){an=ar.childNodes.length-1;ar=ar.childNodes[ak>an?an:ak-1];if(ar.nodeType==3){ak=ar.nodeValue.length}}function aq(au){var at=au;while(at){if(at.nodeType===1&&x(at)){return x(at)==="false"?at:au}at=at.parentNode}return au}function aj(au,ay,aA){var ax,av,az,at;function aw(aC,aE){var aF,aB,aD=aC.nodeValue;if(typeof(aE)=="undefined"){aE=aA?aD.length:0}if(aA){aF=aD.lastIndexOf(" ",aE);aB=aD.lastIndexOf("\u00a0",aE);aF=aF>aB?aF:aB;if(aF!==-1&&!ae){aF++}}else{aF=aD.indexOf(" ",aE);aB=aD.indexOf("\u00a0",aE);aF=aF!==-1&&(aB===-1||aF0&&ah.node.nodeType===3&&ah.node.nodeValue.charAt(ah.offset-1)===" "){if(ah.offset>1){ar=ah.node;ar.splitText(ah.offset-1)}}}}if(am[0].inline||am[0].block_expand){if(!am[0].inline||(ad.nodeType!=3||ai===0)){ad=ao(true)}if(!am[0].inline||(ar.nodeType!=3||ak===ar.nodeValue.length)){ar=ao()}}if(am[0].selector&&am[0].expand!==X&&!am[0].inline){ad=af(ad,"previousSibling");ar=af(ar,"nextSibling")}if(am[0].block||am[0].selector){ad=ac(ad,"previousSibling");ar=ac(ar,"nextSibling");if(am[0].block){if(!H(ad)){ad=ao(true)}if(!H(ar)){ar=ao()}}}if(ad.nodeType==1){ai=s(ad);ad=ad.parentNode}if(ar.nodeType==1){ak=s(ar)+1;ar=ar.parentNode}return{startContainer:ad,startOffset:ai,endContainer:ar,endOffset:ak}}function Z(ah,ag,ae,ab){var ad,ac,af;if(!h(ae,ah)){return X}if(ah.remove!="all"){T(ah.styles,function(aj,ai){aj=q(aj,ag);if(typeof(ai)==="number"){ai=aj;ab=0}if(!ab||g(O(ab,ai),aj)){c.setStyle(ae,ai,"")}af=1});if(af&&c.getAttrib(ae,"style")==""){ae.removeAttribute("style");ae.removeAttribute("data-mce-style")}T(ah.attributes,function(ak,ai){var aj;ak=q(ak,ag);if(typeof(ai)==="number"){ai=ak;ab=0}if(!ab||g(c.getAttrib(ab,ai),ak)){if(ai=="class"){ak=c.getAttrib(ae,ai);if(ak){aj="";T(ak.split(/\s+/),function(al){if(/mce\w+/.test(al)){aj+=(aj?" ":"")+al}});if(aj){c.setAttrib(ae,ai,aj);return}}}if(ai=="class"){ae.removeAttribute("className")}if(e.test(ai)){ae.removeAttribute("data-mce-"+ai)}ae.removeAttribute(ai)}});T(ah.classes,function(ai){ai=q(ai,ag);if(!ab||c.hasClass(ab,ai)){c.removeClass(ae,ai)}});ac=c.getAttribs(ae);for(ad=0;adad?ad:af]}if(ab.nodeType===3&&ag&&af>=ab.nodeValue.length){ab=new t(ab,aa.getBody()).next()||ab}if(ab.nodeType===3&&!ag&&af===0){ab=new t(ab,aa.getBody()).prev()||ab}return ab}function U(ak,ab,ai){var al="_mce_caret",ac=aa.settings.caret_debug;function ad(ap){var ao=c.create("span",{id:al,"data-mce-bogus":true,style:ac?"color:red":""});if(ap){ao.appendChild(aa.getDoc().createTextNode(G))}return ao}function aj(ap,ao){while(ap){if((ap.nodeType===3&&ap.nodeValue!==G)||ap.childNodes.length>1){return false}if(ao&&ap.nodeType===1){ao.push(ap)}ap=ap.firstChild}return true}function ag(ao){while(ao){if(ao.id===al){return ao}ao=ao.parentNode}}function af(ao){var ap;if(ao){ap=new t(ao,ao);for(ao=ap.current();ao;ao=ap.next()){if(ao.nodeType===3){return ao}}}}function ae(aq,ap){var ar,ao;if(!aq){aq=ag(r.getStart());if(!aq){while(aq=c.get(al)){ae(aq,false)}}}else{ao=r.getRng(true);if(aj(aq)){if(ap!==false){ao.setStartBefore(aq);ao.setEndBefore(aq)}c.remove(aq)}else{ar=af(aq);if(ar.nodeValue.charAt(0)===G){ar=ar.deleteData(0,1)}c.remove(aq,1)}r.setRng(ao)}}function ah(){var aq,ao,av,au,ar,ap,at;aq=r.getRng(true);au=aq.startOffset;ap=aq.startContainer;at=ap.nodeValue;ao=ag(r.getStart());if(ao){av=af(ao)}if(at&&au>0&&au=0;at--){aq.appendChild(c.clone(ax[at],false));aq=aq.firstChild}aq.appendChild(c.doc.createTextNode(G));aq=aq.firstChild;c.insertAfter(aw,ay);r.setCursorLocation(aq,1)}}function an(){var ap,ao,aq;ao=ag(r.getStart());if(ao&&!c.isEmpty(ao)){a.walk(ao,function(ar){if(ar.nodeType==1&&ar.id!==al&&!c.isEmpty(ar)){c.setAttrib(ar,"data-mce-bogus",null)}},"childNodes")}}if(!self._hasCaretEvents){aa.onBeforeGetContent.addToTop(function(){var ao=[],ap;if(aj(ag(r.getStart()),ao)){ap=ao.length;while(ap--){c.setAttrib(ao[ap],"data-mce-bogus","1")}}});a.each("onMouseUp onKeyUp".split(" "),function(ao){aa[ao].addToTop(function(){ae();an()})});aa.onKeyDown.addToTop(function(ao,aq){var ap=aq.keyCode;if(ap==8||ap==37||ap==39){ae(ag(r.getStart()))}an()});r.onSetContent.add(an);self._hasCaretEvents=true}if(ak=="apply"){ah()}else{am()}}function R(ac){var ab=ac.startContainer,ai=ac.startOffset,ae,ah,ag,ad,af;if(ab.nodeType==3&&ai>=ab.nodeValue.length){ai=s(ab);ab=ab.parentNode;ae=true}if(ab.nodeType==1){ad=ab.childNodes;ab=ad[Math.min(ai,ad.length-1)];ah=new t(ab,c.getParent(ab,c.isBlock));if(ai>ad.length-1||ae){ah.next()}for(ag=ah.current();ag;ag=ah.next()){if(ag.nodeType==3&&!f(ag)){af=c.create("a",null,G);ag.parentNode.insertBefore(af,ag);ac.setStart(ag,0);r.setRng(ac);c.remove(af);return}}}}}})(tinymce);tinymce.onAddEditor.add(function(e,a){var d,h,g,c=a.settings;function b(j,i){e.each(i,function(l,k){if(l){g.setStyle(j,k,l)}});g.rename(j,"span")}function f(i,j){g=i.dom;if(c.convert_fonts_to_spans){e.each(g.select("font,u,strike",j.node),function(k){d[k.nodeName.toLowerCase()](a.dom,k)})}}if(c.inline_styles){h=e.explode(c.font_size_legacy_values);d={font:function(j,i){b(i,{backgroundColor:i.style.backgroundColor,color:i.color,fontFamily:i.face,fontSize:h[parseInt(i.size,10)-1]})},u:function(j,i){b(i,{textDecoration:"underline"})},strike:function(j,i){b(i,{textDecoration:"line-through"})}};a.onPreProcess.add(f);a.onSetContent.add(f);a.onInit.add(function(){a.selection.onSetContent.add(f)})}});(function(b){var a=b.dom.TreeWalker;b.EnterKey=function(f){var i=f.dom,e=f.selection,d=f.settings,h=f.undoManager,c=f.schema.getNonEmptyElements();function g(A){var v=e.getRng(true),G,j,z,u,p,M,B,o,k,n,t,J,x,C;function E(N){return N&&i.isBlock(N)&&!/^(TD|TH|CAPTION|FORM)$/.test(N.nodeName)&&!/^(fixed|absolute)/i.test(N.style.position)&&i.getContentEditable(N)!=="true"}function F(O){var N;if(b.isIE&&i.isBlock(O)){N=e.getRng();O.appendChild(i.create("span",null,"\u00a0"));e.select(O);O.lastChild.outerHTML="";e.setRng(N)}}function y(P){var O=P,Q=[],N;while(O=O.firstChild){if(i.isBlock(O)){return}if(O.nodeType==1&&!c[O.nodeName.toLowerCase()]){Q.push(O)}}N=Q.length;while(N--){O=Q[N];if(!O.hasChildNodes()||(O.firstChild==O.lastChild&&O.firstChild.nodeValue==="")){i.remove(O)}else{if(O.nodeName=="A"&&(O.innerText||O.textContent)===" "){i.remove(O)}}}}function m(O){var T,R,N,U,S,Q=O,P;N=i.createRng();if(O.hasChildNodes()){T=new a(O,O);while(R=T.current()){if(R.nodeType==3){N.setStart(R,0);N.setEnd(R,0);break}if(c[R.nodeName.toLowerCase()]){N.setStartBefore(R);N.setEndBefore(R);break}Q=R;R=T.next()}if(!R){N.setStart(Q,0);N.setEnd(Q,0)}}else{if(O.nodeName=="BR"){if(O.nextSibling&&i.isBlock(O.nextSibling)){if(!M||M<9){P=i.create("br");O.parentNode.insertBefore(P,O)}N.setStartBefore(O);N.setEndBefore(O)}else{N.setStartAfter(O);N.setEndAfter(O)}}else{N.setStart(O,0);N.setEnd(O,0)}}e.setRng(N);i.remove(P);S=i.getViewPort(f.getWin());U=i.getPos(O).y;if(US.y+S.h){f.getWin().scrollTo(0,U"}return R}function q(Q){var P,O,N;if(z.nodeType==3&&(Q?u>0:u=z.nodeValue.length){if(!b.isIE&&!D()){O=i.create("br");v.insertNode(O);v.setStartAfter(O);v.setEndAfter(O);N=true}}O=i.create("br");v.insertNode(O);if(b.isIE&&t=="PRE"&&(!M||M<8)){O.parentNode.insertBefore(i.doc.createTextNode("\r"),O)}if(!N){v.setStartAfter(O);v.setEndAfter(O)}else{v.setStartBefore(O);v.setEndBefore(O)}e.setRng(v);h.add()}function s(N){do{if(N.nodeType===3){N.nodeValue=N.nodeValue.replace(/^[\r\n]+/,"")}N=N.firstChild}while(N)}function K(P){var N=i.getRoot(),O,Q;O=P;while(O!==N&&i.getContentEditable(O)!=="false"){if(i.getContentEditable(O)==="true"){Q=O}O=O.parentNode}return O!==N?Q:N}function I(O){var N;if(!b.isIE){O.normalize();N=O.lastChild;if(!N||(/^(left|right)$/gi.test(i.getStyle(N,"float",true)))){i.add(O,"br")}}}if(!v.collapsed){f.execCommand("Delete");return}if(A.isDefaultPrevented()){return}z=v.startContainer;u=v.startOffset;x=d.forced_root_block;x=x?x.toUpperCase():"";M=i.doc.documentMode;B=A.shiftKey;if(z.nodeType==1&&z.hasChildNodes()){C=u>z.childNodes.length-1;z=z.childNodes[Math.min(u,z.childNodes.length-1)]||z;if(C&&z.nodeType==3){u=z.nodeValue.length}else{u=0}}j=K(z);if(!j){return}h.beforeChange();if(!i.isBlock(j)&&j!=i.getRoot()){if(!x||B){L()}return}if((x&&!B)||(!x&&B)){z=l(z,u)}p=i.getParent(z,i.isBlock);n=p?i.getParent(p.parentNode,i.isBlock):null;t=p?p.nodeName.toUpperCase():"";J=n?n.nodeName.toUpperCase():"";if(t=="LI"){if(!x&&B){L();return}if(i.isEmpty(p)){if(/^(UL|OL|LI)$/.test(n.parentNode.nodeName)){return false}H();return}}if(t=="PRE"&&d.br_in_pre!==false){if(!B){L();return}}else{if((!x&&!B&&t!="LI")||(x&&B)){L();return}}x=x||"P";if(q()){if(/^(H[1-6]|PRE)$/.test(t)&&J!="HGROUP"){o=r(x)}else{o=r()}if(d.end_container_on_empty_block&&E(n)&&i.isEmpty(p)){o=i.split(n,p)}else{i.insertAfter(o,p)}m(o)}else{if(q(true)){o=p.parentNode.insertBefore(r(),p);F(o)}else{G=v.cloneRange();G.setEndAfter(p);k=G.extractContents();s(k);o=k.firstChild;i.insertAfter(k,p);y(o);I(p);m(o)}}i.setAttrib(o,"id","");h.add()}f.onKeyDown.add(function(k,j){if(j.keyCode==13){if(g(j)!==false){j.preventDefault()}}})}})(tinymce); \ No newline at end of file diff --git a/modules/lib/tiny_mce/tiny_mce_popup.js b/modules/lib/tiny_mce/tiny_mce_popup.js deleted file mode 100644 index bb8e58c..0000000 --- a/modules/lib/tiny_mce/tiny_mce_popup.js +++ /dev/null @@ -1,5 +0,0 @@ - -// Uncomment and change this document.domain value if you are loading the script cross subdomains -// document.domain = 'moxiecode.com'; - -var tinymce=null,tinyMCEPopup,tinyMCE;tinyMCEPopup={init:function(){var b=this,a,c;a=b.getWin();tinymce=a.tinymce;tinyMCE=a.tinyMCE;b.editor=tinymce.EditorManager.activeEditor;b.params=b.editor.windowManager.params;b.features=b.editor.windowManager.features;b.dom=b.editor.windowManager.createInstance("tinymce.dom.DOMUtils",document,{ownEvents:true,proxy:tinyMCEPopup._eventProxy});b.dom.bind(window,"ready",b._onDOMLoaded,b);if(b.features.popup_css!==false){b.dom.loadCSS(b.features.popup_css||b.editor.settings.popup_css)}b.listeners=[];b.onInit={add:function(e,d){b.listeners.push({func:e,scope:d})}};b.isWindow=!b.getWindowArg("mce_inline");b.id=b.getWindowArg("mce_window_id");b.editor.windowManager.onOpen.dispatch(b.editor.windowManager,window)},getWin:function(){return(!window.frameElement&&window.dialogArguments)||opener||parent||top},getWindowArg:function(c,b){var a=this.params[c];return tinymce.is(a)?a:b},getParam:function(b,a){return this.editor.getParam(b,a)},getLang:function(b,a){return this.editor.getLang(b,a)},execCommand:function(d,c,e,b){b=b||{};b.skip_focus=1;this.restoreSelection();return this.editor.execCommand(d,c,e,b)},resizeToInnerSize:function(){var a=this;setTimeout(function(){var b=a.dom.getViewPort(window);a.editor.windowManager.resizeBy(a.getWindowArg("mce_width")-b.w,a.getWindowArg("mce_height")-b.h,a.id||window)},10)},executeOnLoad:function(s){this.onInit.add(function(){eval(s)})},storeSelection:function(){this.editor.windowManager.bookmark=tinyMCEPopup.editor.selection.getBookmark(1)},restoreSelection:function(){var a=tinyMCEPopup;if(!a.isWindow&&tinymce.isIE){a.editor.selection.moveToBookmark(a.editor.windowManager.bookmark)}},requireLangPack:function(){var b=this,a=b.getWindowArg("plugin_url")||b.getWindowArg("theme_url");if(a&&b.editor.settings.language&&b.features.translate_i18n!==false&&b.editor.settings.language_load!==false){a+="/langs/"+b.editor.settings.language+"_dlg.js";if(!tinymce.ScriptLoader.isDone(a)){document.write(' - - -h2. Basic usage - -Using Uniform can be quite easy as well. Simply call: - -$("select").uniform(); - -To “uniform†all possible form elements, just do something like this: - -$("select, input[type=checkbox], input[type=radio], input[type=file], input[type=submit], a.button, button").uniform(); - -A complete tag in the HEAD section of your site can therefore look like this: - -bc. - -Remember that it is essential to first follow the steps in the Installation section here above. - -h2. Extra parameters - -You can pass in extra parameters to control certain aspects of Uniform. To pass in parameters, use syntax like this: - -bc. $("select").uniform({ - param1: value, - param2: value, - param3: value -}); - -h3. _NEW!_ selectAutoWidth(boolean) - -*Default:* true -If this option is set to true, Uniform will try to fit the select width to the actual content, if the select is populated via javascript it is recommended to set a custom width for the element (style="width:XX") or uniform it after being populated; - -h3. _NEW!_ autoHide(boolean) - -*Default:* true -If this option is set to true, Uniform will hide the new elements if the existing elements are currently hidden using display: none; - -*REMEMBER*: If you want to show a select or checkbox you'll need to show the new Uniform div instead of the child element. - -h3. selectClass (string) - -*Default:* “selector†-Sets the class given to the wrapper div for select elements. - -@$("select").uniform({selectClass: 'mySelectClass'});@ - -h3. radioClass (string) - -*Default:* “radio†-Sets the class given to the wrapper div for radio elements. - -@$(":radio").uniform({radioClass: 'myRadioClass'});@ - -h3. checkboxClass (string) - -*Default:* “checker†-Sets the class given to the wrapper div for checkbox elements. - -@$(":checkbox").uniform({checkboxClass: 'myCheckClass'});@ - -h3. fileClass (string) - -*Default:* “uploader†-Sets the class given to the wrapper div for file upload elements. - -@$(":file").uniform({fileClass: 'myFileClass'});@ - -h3. filenameClass (string) - -*Default:* “filename†-Sets the class given to div inside a file upload container that spits out the filename. - -@$(":file").uniform({filenameClass: 'myFilenameClass'});@ - -h3. fileBtnClass (string) - -*Default:* “action†-Sets the class given to div inside a file upload container that acts as the “Choose file†button. - -@$(":file").uniform({fileBtnClass: 'myFileBtnClass'});@ - -h3. fileDefaultText (string) - -*Default:* “No file selected†-Sets the text written in the filename div of a file upload input when there is no file selected. - -@$(":file").uniform({fileDefaultText: 'Select a file please'});@ - -h3. fileBtnText(string) - -*Default:* “Choose File†-Sets the text written on the action button inside a file upload input. - -@$(":file").uniform({fileBtnText: 'Choose…'});@ - -h3. buttonClass(string) - -*Default:* "button" -Sets the class given to a button that's been uniformed - -@$("input[type=button]").uniform({buttonClass: 'myBtnClass'});@ - -h3. checkedClass (string) - -*Default:* “checked†-Sets the class given to elements when they are checked (radios and checkboxes). - -@$(":radio, :checkbox").uniform({checkedClass: 'myCheckedClass'});@ - -h3. focusClass (string) - -*Default:* “focus†-Sets the class given to elements when they are focused. - -@$("select").uniform({focusClass: 'myFocusClass'});@ - -h3. disabledClass (string) - -*Default:* “disabled†-Sets the class given to elements when they are disabled. - -@$("select").uniform({disabledClass: 'myDisabledClass'});@ - -h3. activeClass (string) - -*Default:* “active†-Sets the class given to elements when they are active (pressed). - -@$("select").uniform({activeClass: 'myActiveClass'});@ - -h3. hoverClass (string) - -*Default:* “hover†-Sets the class given to elements when they are currently hovered. - -@$("select").uniform({hoverClass: 'myHoverClass'});@ - -h3. useID (boolean) - -*Default:* true -If true, sets an ID on the container div of each form element. The ID is a prefixed version of the same ID of the form element. - -@$("select").uniform({useID: false});@ - -h3. idPrefix (string) - -*Default:* “uniform†-If useID is set to true, this string is prefixed to element ID’s and attached to the container div of each uniformed element. If you have a checkbox with the ID of “remember-me†the container div would have the ID “uniform-remember-meâ€. - -@$("select").uniform({idPrefix: 'container'});@ - -h3. resetSelector (boolean/string) - -*Default:* false -This parameter allows you to use a jQuery-style selector to point to a “reset†button in your form if you have one. Use false if you have no “reset†button, or a selector string that points to the reset button if you have one. - -@$("select").uniform({resetSelector: 'input[type="reset"]'});@ - -h2. Additional functions - -In addition to the parameters, there are a couple of other ways you can interact with Uniform. - -h3. $.uniform.update([elem/selector string]); - -If you need to change values on the form dynamically you must tell Uniform to update that element’s style. Fortunately, it’s very simple. Just call this function, and Uniform will do the rest. - -@$.uniform.update("#myUpdatedCheckbox");@ - -If you are lazy, or just don’t specifically know which element to update, you can just leave out the parameter (see below) and Uniform will update all Uniformed elements on the page: - -@$.uniform.update();@ - -h3. $.uniform.restore([elem/selector string]); - -If you want to "un-uniform" something, simply call this function. It will remove the inline styles, extra dom elements, and event handlers, effectively restoring the element to it's previous state. - -@$.uniform.restore("select");@ - -h3. $.uniform.elements[] - -You can get an array of all the elements that have been Uniformed at any time using this public variable. Wouldn’t advise changing the contents though! - -@var uniforms = $.uniform.elements;@ - -h2. Customizing CSS - -To edit the CSS of Uniform it is highly recommended to not edit the theme files, but to override them using CSS. Make sure your CSS file comes after the uniform theme css file in the HEAD section. - -It's common to want to resize the selects or other elements. The best way is to set the width property on the div element, span element and the form element itself. Look through the theme CSS in the _presentation_ section to see where the width property is currently set. - -h2. Tips & tricks - -Uniform is supposed to be pretty simple, but there are a few things that can be tricky. Here are some tips that may make your experience simpler: - -Remember to change the CSS classes in the theme if you change the parameters for elements’ classes. This can be tedious work, but if you don’t do it, it’s not going to look correct. Find and Replace is your friend. - -Uniform cannot automatically sniff out dynamic value changes. If you make changes to elements in Javascript or using a Reset button of some kind remember to call $.uniform.update(); to sync the changes with Uniform. - -Uniform is disabled in IE6. It’s not possible to fix due to the way IE6 handles form elements. If you care about IE6 users, give it a quick look to make sure your “naked†form elements look alright in there. - -You’re on your own for styling text inputs and more. Fortunately, things that are not handled by Uniform are pretty easy to skin. :) - -If you have ideas, or bugs, please post them in GitHub. We rely on our users for ideas for improvements and bug reports. Otherwise Uniform will stay static. \ No newline at end of file diff --git a/modules/lib/uniform/jquery.uniform.js b/modules/lib/uniform/jquery.uniform.js deleted file mode 100644 index f5638e0..0000000 --- a/modules/lib/uniform/jquery.uniform.js +++ /dev/null @@ -1,691 +0,0 @@ -/* - -Uniform v1.8.0 -Copyright © 2009 Josh Pyles / Pixelmatrix Design LLC -http://pixelmatrixdesign.com - -Requires jQuery 1.3 or newer - -Much thanks to Thomas Reynolds and Buck Wilson for their help and advice on this - -Disabling text selection is made possible by Mathias Bynens -and his noSelect plugin. - -Also, thanks to David Kaneda and Eugene Bond for their contributions to the plugin - -License: -MIT License - http://www.opensource.org/licenses/mit-license.php - -Enjoy! - -*/ - -(function ($, undefined) { - $.uniform = { - options: { - selectClass: 'uni-selector', - radioClass: 'uni-radio', - checkboxClass: 'uni-checker', - fileClass: 'uni-uploader', - filenameClass: 'uni-filename', - fileBtnClass: 'uni-action', - fileDefaultText: 'No file selected', - fileBtnText: 'Choose File', - checkedClass: 'uni-checked', - focusClass: 'uni-focus', - disabledClass: 'uni-disabled', - buttonClass: 'uni-button', - activeClass: 'uni-active', - hoverClass: 'uni-hover', - useID: true, - idPrefix: 'uniform', - resetSelector: false, - autoHide: true, - selectAutoWidth: false - }, - elements: [] - }; - - if($.browser.msie && $.browser.version < 7){ - $.support.selectOpacity = false; - }else{ - $.support.selectOpacity = true; - } - - $.fn.uniform = function (options) { - - options = $.extend({}, $.uniform.options, options); - - var el = this; - //code for specifying a reset button - if (options.resetSelector !== false) { - $(options.resetSelector).mouseup(function () { - function resetThis() { - $.uniform.update(el); - } - window.setTimeout(resetThis, 10); - }); - } - - function doInput($el){ - $el.addClass($el.attr("type")); - storeElement($el); - } - - function doTextarea($el){ - $el.addClass("uniform"); - storeElement($el); - } - - function doButton($el){ - var divTag = $("
                    "), - spanTag = $(""); - - divTag.addClass(options.buttonClass); - - if(options.useID && $el.attr("id")) divTag.attr("id", options.idPrefix+"-"+$el.attr("id")); - - var btnText; - - if($el.is("a, button")){ - btnText = $el.text(); - }else if($el.is(":submit, :reset, input[type=button]")){ - btnText = $el.attr("value"); - } - - btnText = btnText == "" ? $el.is(":reset") ? "Reset" : "Submit" : btnText; - - spanTag.text(btnText); - - $el.css("display", "none"); - $el.wrap(divTag); - $el.wrap(spanTag); - - //redefine variables - divTag = $el.closest("div"); - spanTag = $el.closest("span"); - - if($el.is(":disabled")) divTag.addClass(options.disabledClass); - - divTag - .bind("mouseenter.uniform", function(){ - divTag.addClass(options.hoverClass); - }) - .bind("mouseleave.uniform", function(){ - divTag.removeClass(options.hoverClass); - divTag.removeClass(options.activeClass); - }) - .bind("mousedown.uniform touchbegin.uniform", function(){ - divTag.addClass(options.activeClass); - }) - .bind("mouseup.uniform touchend.uniform", function(){ - divTag.removeClass(options.activeClass); - }) - .bind("click.uniform touchend.uniform", function(e){ - if($(e.target).is("span, div")){ - if($el[0].dispatchEvent){ - var ev = document.createEvent('MouseEvents'); - ev.initEvent( 'click', true, true ); - $el[0].dispatchEvent(ev); - }else{ - $el.click(); - } - } - }); - - $el - .bind("focus.uniform", function(){ - divTag.addClass(options.focusClass); - }) - .bind("blur.uniform", function(){ - divTag.removeClass(options.focusClass); - }); - - $.uniform.noSelect(divTag); - storeElement($el); - - } - - function doSelect($el) { - var divTag = $('
                    '), - spanTag = $(''), - origElemWidth = $el.width(); - - if($el.css("display") == "none" && options.autoHide){ - divTag.hide(); - } - - divTag.addClass(options.selectClass); - - /** - * Thanks to @MaxEvron @kjantzer and @furkanmustafa from GitHub - */ - if(options.selectAutoWidth){ - var origDivWidth = divTag.width(); - var origSpanWidth = spanTag.width(); - var adjustDiff = origSpanWidth-origElemWidth; - divTag.width(origDivWidth - adjustDiff + 25); - $el.width(origElemWidth + 32); - $el.css('left','2px'); - spanTag.width(origElemWidth); - } - - if(options.useID && $el.attr("id")){ - divTag.attr("id", options.idPrefix+"-"+$el.attr("id")); - } - - var selected = $el.find(":selected:first"); - if(selected.length == 0){ - selected = $el.find("option:first"); - } - spanTag.html(selected.html()); - - $el.css('opacity', 0); - $el.wrap(divTag); - $el.before(spanTag); - //redefine variables - divTag = $el.parent("div"); - spanTag = $el.siblings("span"); - - if(options.selectAutoWidth) { - var padding = parseInt(divTag.css("paddingLeft"), 10); - spanTag.width(origElemWidth-padding-15); - $el.width(origElemWidth+padding); - $el.css('min-width', origElemWidth+padding + 'px'); - divTag.width(origElemWidth+padding); - } - - - $el - .bind("change.uniform", function() { - spanTag.text($el.find(":selected").html()); - divTag.removeClass(options.activeClass); - }) - .bind("focus.uniform", function() { - divTag.addClass(options.focusClass); - }) - .bind("blur.uniform", function() { - divTag.removeClass(options.focusClass); - divTag.removeClass(options.activeClass); - }) - .bind("mousedown.uniform touchbegin.uniform", function() { - divTag.addClass(options.activeClass); - }) - .bind("mouseup.uniform touchend.uniform", function() { - divTag.removeClass(options.activeClass); - }) - .bind("click.uniform touchend.uniform", function(){ - divTag.removeClass(options.activeClass); - }) - .bind("mouseenter.uniform", function() { - divTag.addClass(options.hoverClass); - }) - .bind("mouseleave.uniform", function() { - divTag.removeClass(options.hoverClass); - divTag.removeClass(options.activeClass); - }) - .bind("keyup.uniform", function(){ - spanTag.text($el.find(":selected").html()); - }); - - //handle disabled state - if($el.is(":disabled")){ - //box is checked by default, check our box - divTag.addClass(options.disabledClass); - } - $.uniform.noSelect(spanTag); - - storeElement($el); - - } - - function doCheckbox($el){ - var divTag = $('
                    '), - spanTag = $(''); - - if($el.css("display") == "none" && options.autoHide){ - divTag.hide(); - } - - divTag.addClass(options.checkboxClass); - - //assign the id of the element - if(options.useID && $el.attr("id")){ - divTag.attr("id", options.idPrefix+"-"+$el.attr("id")); - } - - //wrap with the proper elements - $el.wrap(divTag); - $el.wrap(spanTag); - - //redefine variables - spanTag = $el.parent(); - divTag = spanTag.parent(); - - //hide normal input and add focus classes - $el - .css("opacity", 0) - .bind("focus.uniform", function(){ - divTag.addClass(options.focusClass); - }) - .bind("blur.uniform", function(){ - divTag.removeClass(options.focusClass); - }) - .bind("click.uniform touchend.uniform", function(){ - if ( $el.is(":checked") ) { - // An unchecked box was clicked. Change the checkbox to checked. - $el.attr("checked", "checked"); - spanTag.addClass(options.checkedClass); - } else { - // A checked box was clicked. Change the checkbox to unchecked. - $el.removeAttr("checked"); - spanTag.removeClass(options.checkedClass); - } - }) - .bind("mousedown.uniform touchbegin.uniform", function() { - divTag.addClass(options.activeClass); - }) - .bind("mouseup.uniform touchend.uniform", function() { - divTag.removeClass(options.activeClass); - }) - .bind("mouseenter.uniform", function() { - divTag.addClass(options.hoverClass); - }) - .bind("mouseleave.uniform", function() { - divTag.removeClass(options.hoverClass); - divTag.removeClass(options.activeClass); - }); - - //handle defaults - if($el.is(":checked")){ - $el.attr("checked", "checked"); // helpful when its by-default checked - //box is checked by default, check our box - spanTag.addClass(options.checkedClass); - } - - //handle disabled state - if($el.is(":disabled")){ - //box is disabled by default, disable our box - divTag.addClass(options.disabledClass); - } - - storeElement($el); - } - - function doRadio($el){ - var divTag = $('
                    '), - spanTag = $(''); - - if($el.css("display") == "none" && options.autoHide){ - divTag.hide(); - } - - divTag.addClass(options.radioClass); - - if(options.useID && $el.attr("id")){ - divTag.attr("id", options.idPrefix+"-"+$el.attr("id")); - } - - //wrap with the proper elements - $el.wrap(divTag); - $el.wrap(spanTag); - - //redefine variables - spanTag = $el.parent(); - divTag = spanTag.parent(); - - //hide normal input and add focus classes - $el - .css("opacity", 0) - .bind("focus.uniform", function(){ - divTag.addClass(options.focusClass); - }) - .bind("blur.uniform", function(){ - divTag.removeClass(options.focusClass); - }) - .bind("click.uniform touchend.uniform", function(){ - if(!$el.is(":checked")){ - //box was just unchecked, uncheck span - spanTag.removeClass(options.checkedClass); - }else{ - //box was just checked, check span - var classes = options.radioClass.split(" ")[0]; - $("." + classes + " span." + options.checkedClass + ":has([name='" + $el.attr('name') + "'])").removeClass(options.checkedClass); - spanTag.addClass(options.checkedClass); - } - }) - .bind("mousedown.uniform touchend.uniform", function() { - if(!$el.is(":disabled")){ - divTag.addClass(options.activeClass); - } - }) - .bind("mouseup.uniform touchbegin.uniform", function() { - divTag.removeClass(options.activeClass); - }) - .bind("mouseenter.uniform touchend.uniform", function() { - divTag.addClass(options.hoverClass); - }) - .bind("mouseleave.uniform", function() { - divTag.removeClass(options.hoverClass); - divTag.removeClass(options.activeClass); - }); - - //handle defaults - if($el.is(":checked")){ - //box is checked by default, check span - spanTag.addClass(options.checkedClass); - } - //handle disabled state - if($el.is(":disabled")){ - //box is checked by default, check our box - divTag.addClass(options.disabledClass); - } - - storeElement($el); - - } - - function doFile($el) { - var divTag = $('
                    '), - filenameTag = $(''+options.fileDefaultText+''), - btnTag = $(''+options.fileBtnText+''); - - if($el.css("display") == "none" && options.autoHide){ - divTag.hide(); - } - - divTag.addClass(options.fileClass); - filenameTag.addClass(options.filenameClass); - btnTag.addClass(options.fileBtnClass); - - if(options.useID && $el.attr("id")){ - divTag.attr("id", options.idPrefix+"-"+$el.attr("id")); - } - - //wrap with the proper elements - $el.wrap(divTag); - $el.after(btnTag); - $el.after(filenameTag); - - //redefine variables - divTag = $el.closest("div"); - filenameTag = $el.siblings("." + options.filenameClass); - btnTag = $el.siblings("." + options.fileBtnClass); - - //set the size - if (!$el.attr("size")) { - $el.attr("size", divTag.width() / 10); - } - - //actions - var setFilename = function() - { - var filename = $el.val(); - if (filename === '') - { - filename = options.fileDefaultText; - } - else - { - filename = filename.split(/[\/\\]+/); - filename = filename[(filename.length-1)]; - } - filenameTag.text(filename); - }; - - // Account for input saved across refreshes - setFilename(); - - $el - .css("opacity", 0) - .bind("focus.uniform", function(){ - divTag.addClass(options.focusClass); - }) - .bind("blur.uniform", function(){ - divTag.removeClass(options.focusClass); - }) - .bind("mousedown.uniform", function() { - if(!$el.is(":disabled")){ - divTag.addClass(options.activeClass); - } - }) - .bind("mouseup.uniform", function() { - divTag.removeClass(options.activeClass); - }) - .bind("mouseenter.uniform", function() { - divTag.addClass(options.hoverClass); - }) - .bind("mouseleave.uniform", function() { - divTag.removeClass(options.hoverClass); - divTag.removeClass(options.activeClass); - }); - - // IE7 doesn't fire onChange until blur or second fire. - if ($.browser.msie){ - // IE considers browser chrome blocking I/O, so it - // suspends tiemouts until after the file has been selected. - $el.bind('click.uniform.ie7', function() { - setTimeout(setFilename, 0); - }); - }else{ - // All other browsers behave properly - $el.bind('change.uniform', setFilename); - } - - //handle defaults - if($el.is(":disabled")){ - //box is checked by default, check our box - divTag.addClass(options.disabledClass); - } - - $.uniform.noSelect(filenameTag); - $.uniform.noSelect(btnTag); - - storeElement($el); - - } - - $.uniform.restore = function(elem){ - if(elem == undefined){ - elem = $($.uniform.elements); - } - $(elem).each(function(){ - //Skip not uniformed elements - if (!$(this).data('uniformed')) { - return; - } - if($(this).is(":checkbox")){ - //unwrap from span and div - $(this).unwrap().unwrap(); - }else if($(this).is("select")){ - //remove sibling span - $(this).siblings("span").remove(); - //unwrap parent div - $(this).unwrap(); - }else if($(this).is(":radio")){ - //unwrap from span and div - $(this).unwrap().unwrap(); - }else if($(this).is(":file")){ - //remove sibling spans - $(this).siblings("span").remove(); - //unwrap parent div - $(this).unwrap(); - }else if($(this).is("button, :submit, :reset, a, input[type='button']")){ - //unwrap from span and div - $(this).unwrap().unwrap(); - } - - //unbind events - $(this).unbind(".uniform"); - - //reset inline style - $(this).css("opacity", "1"); - - //remove item from list of uniformed elements - var index = $.inArray($(elem), $.uniform.elements); - $.uniform.elements.splice(index, 1); - $(this).removeData('uniformed'); - }); - }; - - function storeElement($el){ - //mark the element as uniformed - $el.data('uniformed','true'); - //store this element in our global array - elem = $el.get(); - if (elem.length > 1) { - $.each(elem, function (i, val) { - $.uniform.elements.push(val); - }); - } else { - $.uniform.elements.push(elem); - } - } - - //noSelect v1.0 - $.uniform.noSelect = function(elem) { - function f() { - return false; - }; - $(elem).each(function() { - this.onselectstart = this.ondragstart = f; // Webkit & IE - $(this) - .mousedown(f) // Webkit & Opera - .css({ MozUserSelect: 'none' }); // Firefox - }); - }; - - $.uniform.update = function(elem){ - if(elem == undefined){ - elem = $($.uniform.elements); - } - //sanitize input - elem = $(elem); - - elem.each(function () { - //do to each item in the selector - //function to reset all classes - var $e = $(this); - if (!$e.data('uniformed')) { - return; - } - - if ($e.is("select")) { - //element is a select - var spanTag = $e.siblings("span"); - var divTag = $e.parent("div"); - - divTag.removeClass(options.hoverClass + " " + options.focusClass + " " + options.activeClass); - - //reset current selected text - spanTag.html($e.find(":selected").html()); - - if ($e.is(":disabled")) { - divTag.addClass(options.disabledClass); - } else { - divTag.removeClass(options.disabledClass); - } - - } else if ($e.is(":checkbox")) { - //element is a checkbox - var spanTag = $e.closest("span"); - var divTag = $e.closest("div"); - - divTag.removeClass(options.hoverClass + " " + options.focusClass + " " + options.activeClass); - spanTag.removeClass(options.checkedClass); - - if ($e.is(":checked")) { - spanTag.addClass(options.checkedClass); - } - if ($e.is(":disabled")) { - divTag.addClass(options.disabledClass); - } else { - divTag.removeClass(options.disabledClass); - } - - } else if ($e.is(":radio")) { - //element is a radio - var spanTag = $e.closest("span"); - var divTag = $e.closest("div"); - - divTag.removeClass(options.hoverClass + " " + options.focusClass + " " + options.activeClass); - spanTag.removeClass(options.checkedClass); - - if ($e.is(":checked")) { - spanTag.addClass(options.checkedClass); - } - - if ($e.is(":disabled")) { - divTag.addClass(options.disabledClass); - } else { - divTag.removeClass(options.disabledClass); - } - } else if ($e.is(":file")){ - var divTag = $e.parent("div"); - var filenameTag = $e.siblings("."+options.filenameClass); - btnTag = $e.siblings(options.fileBtnClass); - - divTag.removeClass(options.hoverClass + " " + options.focusClass + " " + options.activeClass); - - filenameTag.text($e.val()); - - if ($e.is(":disabled")) { - divTag.addClass(options.disabledClass); - } else { - divTag.removeClass(options.disabledClass); - } - }else if($e.is(":submit, :reset, button, a, input[type='button']")){ - var divTag = $e.closest("div"); - divTag.removeClass(options.hoverClass+" "+options.focusClass+" "+options.activeClass); - - if ($e.is(":disabled")){ - divTag.addClass(options.disabledClass); - } else { - divTag.removeClass(options.disabledClass); - } - - } - - }); - }; - - return this.each(function() { - var $el = $(this); - - //avoid uniforming elements already uniformed - if ($el.data('uniformed')) { - return; - } - - // IE6 can't be styled - if(! $.support.selectOpacity){ - return; - } - - if($el.is("select")){ - //element is a select - if(!this.multiple){ - //element is not a multi-select - if($el.attr("size") == undefined || $el.attr("size") <= 1){ - doSelect($el); - } - } - }else if($el.is(":checkbox")){ - //element is a checkbox - doCheckbox($el); - }else if($el.is(":radio")){ - //element is a radio - doRadio($el); - }else if($el.is(":file")){ - //element is a file upload - doFile($el); - }else if($el.is(":text, :password, input[type='email'], input[type='search'], input[type='tel'], input[type='url'], input[type='datetime'], input[type='date'], input[type='month'], input[type='week'], input[type='time'], input[type='datetime-local'], input[type='number'], input[type='color']")){ - doInput($el); - }else if($el.is("textarea")){ - doTextarea($el); - }else if($el.is("a, :submit, :reset, button, input[type='button']")){ - doButton($el); - } - }); - }; -})(jQuery); diff --git a/modules/lib/uniform/jquery.uniform.min.js b/modules/lib/uniform/jquery.uniform.min.js deleted file mode 100644 index ae9d83b..0000000 --- a/modules/lib/uniform/jquery.uniform.min.js +++ /dev/null @@ -1,19 +0,0 @@ -(function(d,i){d.uniform={options:{selectClass:"uni-selector",radioClass:"uni-radio",checkboxClass:"uni-checker",fileClass:"uni-uploader",filenameClass:"uni-filename",fileBtnClass:"uni-action",fileDefaultText:"No file selected",fileBtnText:"Choose File",checkedClass:"uni-checked",focusClass:"uni-focus",disabledClass:"uni-disabled",buttonClass:"uni-button",activeClass:"uni-active",hoverClass:"uni-hover",useID:!0,idPrefix:"uniform",resetSelector:!1,autoHide:!0,selectAutoWidth:!1},elements:[]};d.support.selectOpacity= -d.browser.msie&&7>d.browser.version?!1:!0;d.fn.uniform=function(b){function j(a){var c=d("
                    "),e=d("");c.addClass(b.buttonClass);b.useID&&a.attr("id")&&c.attr("id",b.idPrefix+"-"+a.attr("id"));var f;a.is("a, button")?f=a.text():a.is(":submit, :reset, input[type=button]")&&(f=a.attr("value"));f=""==f?a.is(":reset")?"Reset":"Submit":f;e.text(f);a.css("display","none");a.wrap(c);a.wrap(e);c=a.closest("div");e=a.closest("span");a.is(":disabled")&&c.addClass(b.disabledClass);c.bind("mouseenter.uniform", -function(){c.addClass(b.hoverClass)}).bind("mouseleave.uniform",function(){c.removeClass(b.hoverClass);c.removeClass(b.activeClass)}).bind("mousedown.uniform touchbegin.uniform",function(){c.addClass(b.activeClass)}).bind("mouseup.uniform touchend.uniform",function(){c.removeClass(b.activeClass)}).bind("click.uniform touchend.uniform",function(b){d(b.target).is("span, div")&&(a[0].dispatchEvent?(b=document.createEvent("MouseEvents"),b.initEvent("click",!0,!0),a[0].dispatchEvent(b)):a.click())});a.bind("focus.uniform", -function(){c.addClass(b.focusClass)}).bind("blur.uniform",function(){c.removeClass(b.focusClass)});d.uniform.noSelect(c);h(a)}function k(a){var c=d("
                    "),e=d(""),f=a.width();"none"==a.css("display")&&b.autoHide&&c.hide();c.addClass(b.selectClass);if(b.selectAutoWidth){var g=c.width(),l=e.width()-f;c.width(g-l+25);a.width(f+32);a.css("left","2px");e.width(f)}b.useID&&a.attr("id")&&c.attr("id",b.idPrefix+"-"+a.attr("id"));g=a.find(":selected:first");0==g.length&&(g=a.find("option:first")); -e.html(g.html());a.css("opacity",0);a.wrap(c);a.before(e);c=a.parent("div");e=a.siblings("span");b.selectAutoWidth&&(g=parseInt(c.css("paddingLeft"),10),e.width(f-g-15),a.width(f+g),a.css("min-width",f+g+"px"),c.width(f+g));a.bind("change.uniform",function(){e.text(a.find(":selected").html());c.removeClass(b.activeClass)}).bind("focus.uniform",function(){c.addClass(b.focusClass)}).bind("blur.uniform",function(){c.removeClass(b.focusClass);c.removeClass(b.activeClass)}).bind("mousedown.uniform touchbegin.uniform", -function(){c.addClass(b.activeClass)}).bind("mouseup.uniform touchend.uniform",function(){c.removeClass(b.activeClass)}).bind("click.uniform touchend.uniform",function(){c.removeClass(b.activeClass)}).bind("mouseenter.uniform",function(){c.addClass(b.hoverClass)}).bind("mouseleave.uniform",function(){c.removeClass(b.hoverClass);c.removeClass(b.activeClass)}).bind("keyup.uniform",function(){e.text(a.find(":selected").html())});a.is(":disabled")&&c.addClass(b.disabledClass);d.uniform.noSelect(e);h(a)} -function m(a){var c=d("
                    "),e=d("");"none"==a.css("display")&&b.autoHide&&c.hide();c.addClass(b.checkboxClass);b.useID&&a.attr("id")&&c.attr("id",b.idPrefix+"-"+a.attr("id"));a.wrap(c);a.wrap(e);e=a.parent();c=e.parent();a.css("opacity",0).bind("focus.uniform",function(){c.addClass(b.focusClass)}).bind("blur.uniform",function(){c.removeClass(b.focusClass)}).bind("click.uniform touchend.uniform",function(){a.is(":checked")?(a.attr("checked","checked"),e.addClass(b.checkedClass)):(a.removeAttr("checked"), -e.removeClass(b.checkedClass))}).bind("mousedown.uniform touchbegin.uniform",function(){c.addClass(b.activeClass)}).bind("mouseup.uniform touchend.uniform",function(){c.removeClass(b.activeClass)}).bind("mouseenter.uniform",function(){c.addClass(b.hoverClass)}).bind("mouseleave.uniform",function(){c.removeClass(b.hoverClass);c.removeClass(b.activeClass)});a.is(":checked")&&(a.attr("checked","checked"),e.addClass(b.checkedClass));a.is(":disabled")&&c.addClass(b.disabledClass);h(a)}function n(a){var c= -d("
                    "),e=d("");"none"==a.css("display")&&b.autoHide&&c.hide();c.addClass(b.radioClass);b.useID&&a.attr("id")&&c.attr("id",b.idPrefix+"-"+a.attr("id"));a.wrap(c);a.wrap(e);e=a.parent();c=e.parent();a.css("opacity",0).bind("focus.uniform",function(){c.addClass(b.focusClass)}).bind("blur.uniform",function(){c.removeClass(b.focusClass)}).bind("click.uniform touchend.uniform",function(){if(a.is(":checked")){var c=b.radioClass.split(" ")[0];d("."+c+" span."+b.checkedClass+":has([name='"+a.attr("name")+ -"'])").removeClass(b.checkedClass);e.addClass(b.checkedClass)}else e.removeClass(b.checkedClass)}).bind("mousedown.uniform touchend.uniform",function(){a.is(":disabled")||c.addClass(b.activeClass)}).bind("mouseup.uniform touchbegin.uniform",function(){c.removeClass(b.activeClass)}).bind("mouseenter.uniform touchend.uniform",function(){c.addClass(b.hoverClass)}).bind("mouseleave.uniform",function(){c.removeClass(b.hoverClass);c.removeClass(b.activeClass)});a.is(":checked")&&e.addClass(b.checkedClass); -a.is(":disabled")&&c.addClass(b.disabledClass);h(a)}function o(a){var c=d("
                    "),e=d(""+b.fileDefaultText+""),f=d(""+b.fileBtnText+"");"none"==a.css("display")&&b.autoHide&&c.hide();c.addClass(b.fileClass);e.addClass(b.filenameClass);f.addClass(b.fileBtnClass);b.useID&&a.attr("id")&&c.attr("id",b.idPrefix+"-"+a.attr("id"));a.wrap(c);a.after(f);a.after(e);c=a.closest("div");e=a.siblings("."+b.filenameClass);f=a.siblings("."+b.fileBtnClass);a.attr("size")||a.attr("size", -c.width()/10);var g=function(){var c=a.val();""===c?c=b.fileDefaultText:(c=c.split(/[\/\\]+/),c=c[c.length-1]);e.text(c)};g();a.css("opacity",0).bind("focus.uniform",function(){c.addClass(b.focusClass)}).bind("blur.uniform",function(){c.removeClass(b.focusClass)}).bind("mousedown.uniform",function(){a.is(":disabled")||c.addClass(b.activeClass)}).bind("mouseup.uniform",function(){c.removeClass(b.activeClass)}).bind("mouseenter.uniform",function(){c.addClass(b.hoverClass)}).bind("mouseleave.uniform", -function(){c.removeClass(b.hoverClass);c.removeClass(b.activeClass)});d.browser.msie?a.bind("click.uniform.ie7",function(){setTimeout(g,0)}):a.bind("change.uniform",g);a.is(":disabled")&&c.addClass(b.disabledClass);d.uniform.noSelect(e);d.uniform.noSelect(f);h(a)}function h(a){a.data("uniformed","true");elem=a.get();1=a.attr("size"))&&k(a):a.is(":checkbox")?m(a):a.is(":radio")?n(a):a.is(":file")?o(a):a.is(":text, :password, input[type='email'], input[type='search'], input[type='tel'], input[type='url'], input[type='datetime'], input[type='date'], input[type='month'], input[type='week'], input[type='time'], input[type='datetime-local'], input[type='number'], input[type='color']")? -(a.addClass(a.attr("type")),h(a)):a.is("textarea")?(a.addClass("uniform"),h(a)):a.is("a, :submit, :reset, button, input[type='button']")&&j(a))})}})(jQuery); \ No newline at end of file diff --git a/modules/lib/validation/additional-methods.js b/modules/lib/validation/additional-methods.js deleted file mode 100644 index 410dd40..0000000 --- a/modules/lib/validation/additional-methods.js +++ /dev/null @@ -1,429 +0,0 @@ -/*! - * jQuery Validation Plugin @VERSION - * - * http://bassistance.de/jquery-plugins/jquery-plugin-validation/ - * http://docs.jquery.com/Plugins/Validation - * - * Copyright (c) 2006 - 2011 Jörn Zaefferer - * - * Dual licensed under the MIT and GPL licenses: - * http://www.opensource.org/licenses/mit-license.php - * http://www.gnu.org/licenses/gpl.html - */ - -(function() { - - function stripHtml(value) { - // remove html tags and space chars - return value.replace(/<.[^<>]*?>/g, ' ').replace(/ | /gi, ' ') - // remove punctuation - .replace(/[.(),;:!?%#$'"_+=\/-]*/g,''); - } - jQuery.validator.addMethod("maxWords", function(value, element, params) { - return this.optional(element) || stripHtml(value).match(/\b\w+\b/g).length <= params; - }, jQuery.validator.format("Please enter {0} words or less.")); - - jQuery.validator.addMethod("minWords", function(value, element, params) { - return this.optional(element) || stripHtml(value).match(/\b\w+\b/g).length >= params; - }, jQuery.validator.format("Please enter at least {0} words.")); - - jQuery.validator.addMethod("rangeWords", function(value, element, params) { - var valueStripped = stripHtml(value); - var regex = /\b\w+\b/g; - return this.optional(element) || valueStripped.match(regex).length >= params[0] && valueStripped.match(regex).length <= params[1]; - }, jQuery.validator.format("Please enter between {0} and {1} words.")); - -})(); - -jQuery.validator.addMethod("letterswithbasicpunc", function(value, element) { - return this.optional(element) || /^[a-z\-.,()'\"\s]+$/i.test(value); -}, "Letters or punctuation only please"); - -jQuery.validator.addMethod("alphanumeric", function(value, element) { - return this.optional(element) || /^\w+$/i.test(value); -}, "Letters, numbers, and underscores only please"); - -jQuery.validator.addMethod("lettersonly", function(value, element) { - return this.optional(element) || /^[a-z]+$/i.test(value); -}, "Letters only please"); - -jQuery.validator.addMethod("nowhitespace", function(value, element) { - return this.optional(element) || /^\S+$/i.test(value); -}, "No white space please"); - -jQuery.validator.addMethod("ziprange", function(value, element) { - return this.optional(element) || /^90[2-5]\d\{2\}-\d{4}$/.test(value); -}, "Your ZIP-code must be in the range 902xx-xxxx to 905-xx-xxxx"); - -jQuery.validator.addMethod("zipcodeUS", function(value, element) { - return this.optional(element) || /\d{5}-\d{4}$|^\d{5}$/.test(value) -}, "The specified US ZIP Code is invalid"); - -jQuery.validator.addMethod("integer", function(value, element) { - return this.optional(element) || /^-?\d+$/.test(value); -}, "A positive or negative non-decimal number please"); - -/** - * Return true, if the value is a valid vehicle identification number (VIN). - * - * Works with all kind of text inputs. - * - * @example - * @desc Declares a required input element whose value must be a valid vehicle identification number. - * - * @name jQuery.validator.methods.vinUS - * @type Boolean - * @cat Plugins/Validate/Methods - */ -jQuery.validator.addMethod("vinUS", function(v) { - if (v.length != 17) { - return false; - } - var i, n, d, f, cd, cdv; - var LL = ["A","B","C","D","E","F","G","H","J","K","L","M","N","P","R","S","T","U","V","W","X","Y","Z"]; - var VL = [1,2,3,4,5,6,7,8,1,2,3,4,5,7,9,2,3,4,5,6,7,8,9]; - var FL = [8,7,6,5,4,3,2,10,0,9,8,7,6,5,4,3,2]; - var rs = 0; - for(i = 0; i < 17; i++){ - f = FL[i]; - d = v.slice(i,i+1); - if (i == 8) { - cdv = d; - } - if (!isNaN(d)) { - d *= f; - } else { - for (n = 0; n < LL.length; n++) { - if (d.toUpperCase() === LL[n]) { - d = VL[n]; - d *= f; - if (isNaN(cdv) && n == 8) { - cdv = LL[n]; - } - break; - } - } - } - rs += d; - } - cd = rs % 11; - if (cd == 10) { - cd = "X"; - } - if (cd == cdv) { - return true; - } - return false; -}, "The specified vehicle identification number (VIN) is invalid."); - -/** - * Return true, if the value is a valid date, also making this formal check dd/mm/yyyy. - * - * @example jQuery.validator.methods.date("01/01/1900") - * @result true - * - * @example jQuery.validator.methods.date("01/13/1990") - * @result false - * - * @example jQuery.validator.methods.date("01.01.1900") - * @result false - * - * @example - * @desc Declares an optional input element whose value must be a valid date. - * - * @name jQuery.validator.methods.dateITA - * @type Boolean - * @cat Plugins/Validate/Methods - */ -jQuery.validator.addMethod("dateITA", function(value, element) { - var check = false; - var re = /^\d{1,2}\/\d{1,2}\/\d{4}$/; - if( re.test(value)){ - var adata = value.split('/'); - var gg = parseInt(adata[0],10); - var mm = parseInt(adata[1],10); - var aaaa = parseInt(adata[2],10); - var xdata = new Date(aaaa,mm-1,gg); - if ( ( xdata.getFullYear() == aaaa ) && ( xdata.getMonth () == mm - 1 ) && ( xdata.getDate() == gg ) ) - check = true; - else - check = false; - } else - check = false; - return this.optional(element) || check; -}, "Please enter a correct date"); - -jQuery.validator.addMethod("dateNL", function(value, element) { - return this.optional(element) || /^\d\d?[\.\/-]\d\d?[\.\/-]\d\d\d?\d?$/.test(value); -}, "Vul hier een geldige datum in."); - -jQuery.validator.addMethod("time", function(value, element) { - return this.optional(element) || /^([0-1][0-9]|2[0-3]):([0-5][0-9])$/.test(value); -}, "Please enter a valid time, between 00:00 and 23:59"); -jQuery.validator.addMethod("time12h", function(value, element) { - return this.optional(element) || /^((0?[1-9]|1[012])(:[0-5]\d){0,2}(\ [AP]M))$/i.test(value); -}, "Please enter a valid time, between 00:00 am and 12:00 pm"); - -/** - * matches US phone number format - * - * where the area code may not start with 1 and the prefix may not start with 1 - * allows '-' or ' ' as a separator and allows parens around area code - * some people may want to put a '1' in front of their number - * - * 1(212)-999-2345 - * or - * 212 999 2344 - * or - * 212-999-0983 - * - * but not - * 111-123-5434 - * and not - * 212 123 4567 - */ -jQuery.validator.addMethod("phoneUS", function(phone_number, element) { - phone_number = phone_number.replace(/\s+/g, ""); - return this.optional(element) || phone_number.length > 9 && - phone_number.match(/^(1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}$/); -}, "Please specify a valid phone number"); - -jQuery.validator.addMethod('phoneUK', function(phone_number, element) { - phone_number = phone_number.replace(/\s+|-/g,''); - return this.optional(element) || phone_number.length > 9 && - phone_number.match(/^(\(?(0|\+44)[1-9]{1}\d{1,4}?\)?\s?\d{3,4}\s?\d{3,4})$/); -}, 'Please specify a valid phone number'); - -jQuery.validator.addMethod('mobileUK', function(phone_number, element) { - phone_number = phone_number.replace(/\s+|-/g,''); - return this.optional(element) || phone_number.length > 9 && - phone_number.match(/^((0|\+44)7(0|4|5|6|7|8|9){1}\d{2}\s?\d{6})$/); -}, 'Please specify a valid mobile number'); - -//Matches UK landline + mobile, accepting only 01-3 for landline or 07 for mobile to exclude many premium numbers -jQuery.validator.addMethod('phonesUK', function(phone_number, element) { - phone_number = phone_number.replace(/\s+|-/g,''); - return this.optional(element) || phone_number.length > 9 && - phone_number.match(/^(0[1-3]{1}[0-9]{8,9})$/) || phone_number.match(/^(07[5-9]{1}[0-9]{7,8})$/); -}, 'Please specify a valid uk phone number'); - -//Matches UK postcode. based on http://snipplr.com/view/3152/postcode-validation/ -jQuery.validator.addMethod('postcodeUK', function(postcode, element) { - postcode = (postcode.toUpperCase()).replace(/\s+/g,''); - return this.optional(element) || postcode.match(/^([^QZ]{1}[^IJZ]{0,1}[0-9]{1,2})([0-9]{1}[^CIKMOV]{2})$/) || postcode.match(/^([^QV]{1}[0-9]{1}[ABCDEFGHJKSTUW]{1})([0-9]{1}[^CIKMOV]{2})$/) || postcode.match(/^([^QV]{1}[^IJZ][0-9]{1}[ABEHMNPRVWXY])([0-9]{1}[^CIKMOV]{2})$/) || postcode.match(/^(GIR)(0AA)$/) || postcode.match(/^(BFPO)([0-9]{1,4})$/) || postcode.match(/^(BFPO)(C\/O[0-9]{1,3})$/); -}, 'Please specify a valid postcode'); - -// TODO check if value starts with <, otherwise don't try stripping anything -jQuery.validator.addMethod("strippedminlength", function(value, element, param) { - return jQuery(value).text().length >= param; -}, jQuery.validator.format("Please enter at least {0} characters")); - -// same as email, but TLD is optional -jQuery.validator.addMethod("email2", function(value, element, param) { - return this.optional(element) || /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)*(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test(value); -}, jQuery.validator.messages.email); - -// same as url, but TLD is optional -jQuery.validator.addMethod("url2", function(value, element, param) { - return this.optional(element) || /^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)*(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(value); -}, jQuery.validator.messages.url); - -// NOTICE: Modified version of Castle.Components.Validator.CreditCardValidator -// Redistributed under the the Apache License 2.0 at http://www.apache.org/licenses/LICENSE-2.0 -// Valid Types: mastercard, visa, amex, dinersclub, enroute, discover, jcb, unknown, all (overrides all other settings) -jQuery.validator.addMethod("creditcardtypes", function(value, element, param) { - if (/[^0-9-]+/.test(value)) { - return false; - } - - value = value.replace(/\D/g, ""); - - var validTypes = 0x0000; - - if (param.mastercard) - validTypes |= 0x0001; - if (param.visa) - validTypes |= 0x0002; - if (param.amex) - validTypes |= 0x0004; - if (param.dinersclub) - validTypes |= 0x0008; - if (param.enroute) - validTypes |= 0x0010; - if (param.discover) - validTypes |= 0x0020; - if (param.jcb) - validTypes |= 0x0040; - if (param.unknown) - validTypes |= 0x0080; - if (param.all) - validTypes = 0x0001 | 0x0002 | 0x0004 | 0x0008 | 0x0010 | 0x0020 | 0x0040 | 0x0080; - - if (validTypes & 0x0001 && /^(51|52|53|54|55)/.test(value)) { //mastercard - return value.length == 16; - } - if (validTypes & 0x0002 && /^(4)/.test(value)) { //visa - return value.length == 16; - } - if (validTypes & 0x0004 && /^(34|37)/.test(value)) { //amex - return value.length == 15; - } - if (validTypes & 0x0008 && /^(300|301|302|303|304|305|36|38)/.test(value)) { //dinersclub - return value.length == 14; - } - if (validTypes & 0x0010 && /^(2014|2149)/.test(value)) { //enroute - return value.length == 15; - } - if (validTypes & 0x0020 && /^(6011)/.test(value)) { //discover - return value.length == 16; - } - if (validTypes & 0x0040 && /^(3)/.test(value)) { //jcb - return value.length == 16; - } - if (validTypes & 0x0040 && /^(2131|1800)/.test(value)) { //jcb - return value.length == 15; - } - if (validTypes & 0x0080) { //unknown - return true; - } - return false; -}, "Please enter a valid credit card number."); - -jQuery.validator.addMethod("ipv4", function(value, element, param) { - return this.optional(element) || /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/i.test(value); -}, "Please enter a valid IP v4 address."); - -jQuery.validator.addMethod("ipv6", function(value, element, param) { - return this.optional(element) || /^((([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}:([0-9A-Fa-f]{1,4}:)?[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){4}:([0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){3}:([0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){2}:([0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(([0-9A-Fa-f]{1,4}:){0,5}:((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(::([0-9A-Fa-f]{1,4}:){0,5}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|([0-9A-Fa-f]{1,4}::([0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})|(::([0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:))$/i.test(value); -}, "Please enter a valid IP v6 address."); - -/** -* Return true if the field value matches the given format RegExp -* -* @example jQuery.validator.methods.pattern("AR1004",element,/^AR\d{4}$/) -* @result true -* -* @example jQuery.validator.methods.pattern("BR1004",element,/^AR\d{4}$/) -* @result false -* -* @name jQuery.validator.methods.pattern -* @type Boolean -* @cat Plugins/Validate/Methods -*/ -jQuery.validator.addMethod("pattern", function(value, element, param) { - if (this.optional(element)) { - return true; - } - if (typeof param === 'string') { - param = new RegExp('^(?:' + param + ')$'); - } - return param.test(value); -}, "Invalid format."); - - -/* - * Lets you say "at least X inputs that match selector Y must be filled." - * - * The end result is that neither of these inputs: - * - * - * - * - * ...will validate unless at least one of them is filled. - * - * partnumber: {require_from_group: [1,".productinfo"]}, - * description: {require_from_group: [1,".productinfo"]} - * - */ -jQuery.validator.addMethod("require_from_group", function(value, element, options) { - var validator = this; - var selector = options[1]; - var validOrNot = $(selector, element.form).filter(function() { - return validator.elementValue(this); - }).length >= options[0]; - - if(!$(element).data('being_validated')) { - var fields = $(selector, element.form); - fields.data('being_validated', true); - fields.valid(); - fields.data('being_validated', false); - } - return validOrNot; -}, jQuery.format("Please fill at least {0} of these fields.")); - -/* - * Lets you say "either at least X inputs that match selector Y must be filled, - * OR they must all be skipped (left blank)." - * - * The end result, is that none of these inputs: - * - * - * - * - * - * ...will validate unless either at least two of them are filled, - * OR none of them are. - * - * partnumber: {skip_or_fill_minimum: [2,".productinfo"]}, - * description: {skip_or_fill_minimum: [2,".productinfo"]}, - * color: {skip_or_fill_minimum: [2,".productinfo"]} - * - */ -jQuery.validator.addMethod("skip_or_fill_minimum", function(value, element, options) { - var validator = this; - - numberRequired = options[0]; - selector = options[1]; - var numberFilled = $(selector, element.form).filter(function() { - return validator.elementValue(this); - }).length; - var valid = numberFilled >= numberRequired || numberFilled === 0; - - if(!$(element).data('being_validated')) { - var fields = $(selector, element.form); - fields.data('being_validated', true); - fields.valid(); - fields.data('being_validated', false); - } - return valid; -}, jQuery.format("Please either skip these fields or fill at least {0} of them.")); - -// Accept a value from a file input based on a required mimetype -jQuery.validator.addMethod("accept", function(value, element, param) { - // Split mime on commas incase we have multiple types we can accept - var typeParam = typeof param === "string" ? param.replace(/,/g, '|') : "image/*", - optionalValue = this.optional(element), - i, file; - - // Element is optional - if(optionalValue) { - return optionalValue; - } - - if($(element).attr("type") === "file") { - // If we are using a wildcard, make it regex friendly - typeParam = typeParam.replace("*", ".*"); - - // Check if the element has a FileList before checking each file - if(element.files && element.files.length) { - for(i = 0; i < element.files.length; i++) { - file = element.files[i]; - - // Grab the mimtype from the loaded file, verify it matches - if(!file.type.match(new RegExp( ".?(" + typeParam + ")$", "i"))) { - return false; - } - } - } - } - - // Either return true because we've validated each file, or because the - // browser does not support element.files and the FileList feature - return true; -}, jQuery.format("Please enter a value with a valid mimetype.")); - -// Older "accept" file extension method. Old docs: http://docs.jquery.com/Plugins/Validation/Methods/accept -jQuery.validator.addMethod("extension", function(value, element, param) { - param = typeof param === "string" ? param.replace(/,/g, '|') : "png|jpe?g|gif"; - return this.optional(element) || value.match(new RegExp(".(" + param + ")$", "i")); -}, jQuery.format("Please enter a value with a valid extension.")); diff --git a/modules/lib/validation/changelog.txt b/modules/lib/validation/changelog.txt deleted file mode 100644 index 075461c..0000000 --- a/modules/lib/validation/changelog.txt +++ /dev/null @@ -1,281 +0,0 @@ -2.0.0 ------ -* Fixed #219 - Fix valid() on elements with dependency-callback or dependency-expression. - -1.9.0 ---- -* Added Basque (EU) localization -* Added Slovenian (SL) localization -* Fixed issue #127 - Finnish translations has one : instead of ; -* Fixed Russian localization, minor syntax issue -* Added in support for HTML5 input types, fixes #97 -* Improved HTML5 support by setting novalidate attribute on the form, and reading the type attribute. -* Fixed showLabel() removing all classes from error element. Remove only settings.validClass. Fixes #151. -* Added 'pattern' to additional-methods to validate against arbitraty regular expressions. -* Improved email method to not allow the dot at the end (valid by RFC, but unwanted here). Fixes #143 -* Fixed swedish and norwedian translations, min/max messages got switched. Fixes #181 -* Fixed #184 - resetForm: should unset lastElement -* Fixed #71 - improve existing time method and add time12h method for 12h am/pm time format -* Fixed #177 - Fix validation of a single radio or checkbox input -* Fixed #189 - :hidden elements are now ignored by default -* Fixed #194 - Required as attribute fails if jQuery>=1.6 - Use .prop instead of .attr -* Fixed #47, #39, #32 - Allowed credit card numbers to contain spaces as well as dashes (spaces are commonly input by users). - -1.8.1 ---- -* Added Thai (TH) localization, fixes #85 -* Added Vietnamese (VI) localization, thanks Ngoc -* Fixed issue #78. Error/Valid styling applies to all radio buttons of same group for required validation. -* Don't use form.elements as that isn't supported in jQuery 1.6 anymore. Its buggy as hell anyway (IE6-8: form.elements === form). - -1.8.0 ---- -* Improved NL localization (http://plugins.jquery.com/node/14120) -* Added Georgian (GE) localization, thanks Avtandil Kikabidze -* Added Serbian (SR) localization, thanks Aleksandar Milovac -* Added ipv4 and ipv6 to additional methods, thanks Natal Ngétal -* Added Japanese (JA) localization, thanks Bryan Meyerovich -* Added Catalan (CA) localization, thanks Xavier de Pedro -* Fixed missing var statements within for-in loops -* Fix for remote validation, where a formatted message got messed up (https://github.com/jzaefferer/jquery-validation/issues/11) -* Bugfixes for compability with jQuery 1.5.1, while maintaining backwards-compability - -1.7 ---- -* Added Lithuanian (LT) localization -* Added Greek (EL) localization (http://plugins.jquery.com/node/12319) -* Added Latvian (LV) localization (http://plugins.jquery.com/node/12349) -* Added Hebrew (HE) localization (http://plugins.jquery.com/node/12039) -* Fixed Spanish (ES) localization (http://plugins.jquery.com/node/12696) -* Added jQuery UI themerolled demo -* Removed cmxform.js -* Fixed four missing semicolons (http://plugins.jquery.com/node/12639) -* Renamed phone-method in additional-methods.js to phoneUS -* Added phoneUK and mobileUK methods to additional-methods.js (http://plugins.jquery.com/node/12359) -* Deep extend options to avoid modifying multiple forms when using the rules-method on a single element (http://plugins.jquery.com/node/12411) -* Bugfixes for compability with jQuery 1.4.2, while maintaining backwards-compability - -1.6 ---- -* Added Arabic (AR), Portuguese (PTPT), Persian (FA), Finnish (FI) and Bulgarian (BR) localization -* Updated Swedish (SE) localization (some missing html iso characters) -* Fixed $.validator.addMethod to properly handle empty string vs. undefined for the message argument -* Fixed two accidental global variables -* Enhanced min/max/rangeWords (in additional-methods.js) to strip html before counting; good when counting words in a richtext editor -* Added localized methods for DE, NL and PT, removing the dateDE and numberDE methods (use messages_de.js and methods_de.js with date and number methods instead) -* Fixed remote form submit synchronization, kudos to Matas Petrikas -* Improved interactive select validation, now validating also on click (via option or select, inconsistent across browsers); doesn't work in Safari, which doesn't trigger a click event at all on select elements; fixes http://plugins.jquery.com/node/11520 -* Updated to latest form plugin (2.36), fixing http://plugins.jquery.com/node/11487 -* Bind to blur event for equalTo target to revalidate when that target changes, fixes http://plugins.jquery.com/node/11450 -* Simplified select validation, delegating to jQuery's val() method to get the select value; should fix http://plugins.jquery.com/node/11239 -* Fixed default message for digits (http://plugins.jquery.com/node/9853) -* Fixed issue with cached remote message (http://plugins.jquery.com/node/11029 and http://plugins.jquery.com/node/9351) -* Fixed a missing semicolon in additional-methods.js (http://plugins.jquery.com/node/9233) -* Added automatic detection of substitution parameters in messages, removing the need to provide format functions (http://plugins.jquery.com/node/11195) -* Fixed an issue with :filled/:blank somewhat caused by Sizzle (http://plugins.jquery.com/node/11144) -* Added an integer method to additional-methods.js (http://plugins.jquery.com/node/9612) -* Fixed errorsFor method where the for-attribute contains characters that need escaping to be valid inside a selector (http://plugins.jquery.com/node/9611) - -1.5.5 ---- -* Fix for http://plugins.jquery.com/node/8659 -* Fixed trailing comma in messages_cs.js - -1.5.4 ---- -* Fixed remote method bug (http://plugins.jquery.com/node/8658) - -1.5.3 ---- -* Fixed a bug related to the wrapper-option, where all ancestor-elements that matched the wrapper-option where selected (http://plugins.jquery.com/node/7624) -* Updated multipart demo to use latest jQuery UI accordion -* Added dateNL and time methods to additionalMethods.js -* Added Traditional Chinese (Taiwan, tw) and Kazakhstan (KK) localization -* Moved jQuery.format (fomerly String.format) to jQuery.validator.format, jQuery.format is deprecated and will be removed in 1.6 (see http://code.google.com/p/jquery-utils/issues/detail?id=15 for details) -* Cleaned up messages_pl.js and messages_ptbr.js (still defined messages for max/min/rangeValue, which were removed in 1.4) -* Fixed flawed boolean logic in valid-plugin-method for multiple elements; now all elements need to be valid for a boolean-true result (http://plugins.jquery.com/node/8481) -* Enhancement $.validator.addMethod: An undefined third message-argument won't overwrite an existing message (http://plugins.jquery.com/node/8443) -* Enhancement to submitHandler option: When used, click events on submit buttons are captured and the submitting button is inserted into the form before calling submitHandler, and removed afterwards; keeps submit buttons intact (http://plugins.jquery.com/node/7183#comment-3585) -* Added option validClass, default "valid", which adds that class to all valid elements, after validation (http://dev.jquery.com/ticket/2205) -* Added creditcardtypes method to additionalMethods.js, including tests (via http://dev.jquery.com/ticket/3635) -* Improved remote method to allow serverside message as a string, or true for valid, or false for invalid using the clientside defined message (http://dev.jquery.com/ticket/3807) -* Improved accept method to also accept a Drupal-style comma-seperated list of values (http://plugins.jquery.com/node/8580) - -1.5.2 ---- -* Fixed messages in additional-methods.js for maxWords, minWords, and rangeWords to include call to $.format -* Fixed value passed to methods to exclude carriage return (\r), same as jQuery's val() does -* Added slovak (sk) localization -* Added demo for intergration with jQuery UI tabs -* Added selects-grouping example to tabs demo (see second tab, birthdate field) - -1.5.1 ---- -* Updated marketo demo to use invalidHandler option instead of binding invalid-form event -* Added TinyMCE integration example -* Added ukrainian (ua) localization -* Fixed length validation to work with trimmed value (regression from 1.5 where general trimming before validation was removed) -* Various small fixes for compability with both 1.2.6 and 1.3 - -1.5 ---- -* Improved basic demo, validating confirm-password field after password changed -* Fixed basic validation to pass the untrimmed input value as the first parameter to validation methods, changed required accordingly; breaks existing custom method that rely on the trimming -* Added norwegian (no), italian (it), hungarian (hu) and romanian (ro) localization -* Fixed #3195: Two flaws in swedish localization -* Fixed #3503: Extended rules("add") to accept messages propery: use to specify add custom messages to an element via rules("add", { messages: { required: "Required! " } }); -* Fixed #3356: Regression from #2908 when using meta-option -* Fixed #3370: Added ignoreTitle option, set to skip reading messages from the title attribute, helps to avoid issues with Google Toolbar; default is false for compability -* Fixed #3516: Trigger invalid-form event even when remote validation is involved -* Added invalidHandler option as a shortcut to bind("invalid-form", function() {}) -* Fixed Safari issue for loading indicator in ajaxSubmit-integration-demo (append to body first, then hide) -* Added test for creditcard validation and improved default message -* Enhanced remote validation, accepting options to passthrough to $.ajax as paramter (either url string or options, including url property plus everything else that $.ajax supports) - -1.4 ---- -* Fixed #2931, validate elements in document order and ignore type=image inputs -* Fixed usage of $ and jQuery variables, now fully comptible with all variations of noConflict usage -* Implemented #2908, enabling custom messages via metadata ala class="{required:true,messages:{required:'required field'}}", added demo/custom-messages-metadata-demo.html -* Removed deprecated methods minValue (min), maxValue (max), rangeValue (rangevalue), minLength (minlength), maxLength (maxlength), rangeLength (rangelength) -* Fixed #2215 regression: Call unhighlight only for current elements, not everything -* Implemented #2989, enabling image button to cancel validation -* Fixed issue where IE incorrectly validates against maxlength=0 -* Added czech (cs) localization -* Reset validator.submitted on validator.resetForm(), enabling a full reset when necessary -* Fixed #3035, skipping all falsy attributes when reading rules (0, undefined, empty string), removed part of the maxlength workaround (for 0) -* Added dutch (nl) localization (#3201) - -1.3 ---- -* Fixed invalid-form event, now only triggered when form is invalid -* Added spanish (es), russian (ru), portuguese brazilian (ptbr), turkish (tr), and polish (pl) localization -* Added removeAttrs plugin to facilate adding and removing multiple attributes -* Added groups option to display a single message for multiple elements, via groups: { arbitraryGroupName: "fieldName1 fieldName2[, fieldNameN" } -* Enhanced rules() for adding and removing (static) rules: rules("add", "method1[, methodN]"/{method1:param[, method_n:param]}) and rules("remove"[, "method1[, method_n]") -* Enhanced rules-option, accepts space-seperated string-list of methods, eg. {birthdate: "required date"} -* Fixed checkbox group validation with inline rules: As long as the rules are specified on the first element, the group is now properly validated on click -* Fixed #2473, ignoring all rules with an explicit parameter of boolean-false, eg. required:false is the same as not specifying required at all (it was handled as required:true so far) -* Fixed #2424, with a modified patch from #2473: Methods returning a dependency-mismatch don't stop other rules from being evaluated anymore; still, success isn't applied for optional fields -* Fixed url and email validation to not use trimmed values -* Fixed creditcard validation to accept only digits and dashes ("asdf" is not a valid creditcard number) -* Allow both button and input elements for cancel buttons (via class="cancel") -* Fixed #2215: Fixed message display to call unhighlight as part of showing and hiding messages, no more visual side-effects while checking an element and extracted validator.checkForm to validate a form without UI sideeffects -* Rewrote custom selectors (:blank, :filled, :unchecked) with functions for compability with AIR - -1.2.1 ------ - -* Bundled delegeate plugin with validate plugin - its always required anyway -* Improved remote validation to include parts from the ajaxQueue plugin for proper synchronization (no additional plugin necessary) -* Fixed stopRequest to prevent pendingRequest < 0 -* Added jQuery.validator.autoCreateRanges property, defaults to false, enable to convert min/max to range and minlength/maxlength to rangelength; this basically fixes the issue introduced by automatically creating ranges in 1.2 -* Fixed optional-methods to not highlight anything at all if the field is blank, that is, don't trigger success -* Allow false/null for highlight/unhighlight options instead of forcing a do-nothing-callback even when nothing needs to be highlighted -* Fixed validate() call with no elements selected, returning undefined instead of throwing an error -* Improved demo, replacing metadata with classes/attributes for specifying rules -* Fixed error when no custom message is used for remote validation -* Modified email and url validation to require domain label and top label -* Fixed url and email validation to require TLD (actually to require domain label); 1.2 version (TLD is optional) is moved to additionals as url2 and email2 -* Fixed dynamic-totals demo in IE6/7 and improved templating, using textarea to store multiline template and string interpolation -* Added login form example with "Email password" link that makes the password field optional -* Enhanced dynamic-totals demo with an example of a single message for two fields - -1.2 ---- - -* Added AJAX-captcha validation example (based on http://psyrens.com/captcha/) -* Added remember-the-milk-demo (thanks RTM team for the permission!) -* Added marketo-demo (thanks Glen Lipka!) -* Added support for ajax-validation, see method "remote"; serverside returns JSON, true for valid elements, false or a String for invalid, String is used as message -* Added highlight and unhighlight options, by default toggles errorClass on element, allows custom highlighting -* Added valid() plugin method for easy programmatic checking of forms and fields without the need to use the validator API -* Added rules() plguin method to read and write rules for an element (currently read only) -* Replaced regex for email method, thanks to the contribution by Scott Gonzalez, see http://projects.scottsplayground.com/email_address_validation/ -* Restructured event architecture to rely solely on delegation, both improving performance, and ease-of-use for the developer (requires jquery.delegate.js) -* Moved documentation from inline to http://docs.jquery.com/Plugins/Validation - including interactive examples for all methods -* Removed validator.refresh(), validation is now completey dynamic -* Renamed minValue to min, maxValue to max and rangeValue to range, deprecating the previous names (to be removed in 1.3) -* Renamed minLength to minlength, maxLength to maxlength and rangeLength to rangelength, deprecating the previous names (to be removed in 1.3) -* Added feature to merge min + max into and range and minlength + maxlength into rangelength -* Added support for dynamic rule parameters, allowing to specify a function as a parameter eg. for minlength, called when validating the element -* Allow to specify null or an empty string as a message to display nothing (see marketo demo) -* Rules overhaul: Now supports combination of rules-option, metadata, classes (new) and attributes (new), see rules() for details - -1.1.2 ---- - -* Replaced regex for URL method, thanks to the contribution by Scott Gonzalez, see http://projects.scottsplayground.com/iri/ -* Improved email method to better handle unicode characters -* Fixed error container to hide when all elements are valid, not only on form submit -* Fixed String.format to jQuery.format (moving into jQuery namespace) -* Fixed accept method to accept both upper and lowercase extensions -* Fixed validate() plugin method to create only one validator instance for a given form and always return that one instance (avoids binding events multiple times) -* Changed debug-mode console log from "error" to "warn" level - -1.1.1 ------ - -* Fixed invalid XHTML, preventing error label creation in IE since jQuery 1.1.4 -* Fixed and improved String.format: Global search & replace, better handling of array arguments -* Fixed cancel-button handling to use validator-object for storing state instead of form element -* Fixed name selectors to handle "complex" names, eg. containing brackets ("list[]") -* Added button and disabled elements to exclude from validation -* Moved element event handlers to refresh to be able to add handlers to new elements -* Fixed email validation to allow long top level domains (eg. ".travel") -* Moved showErrors() from valid() to form() -* Added validator.size(): returns the number of current errors -* Call submitHandler with validator as scope for easier access of it's methods, eg. to find error labels using errorsFor(Element) -* Compatible with jQuery 1.1.x and 1.2.x - -1.1 ---- - -* Added validation on blur, keyup and click (for checkboxes and radiobutton). Replaces event-option. -* Fixed resetForm -* Fixed custom-methods-demo - -1.0 ---- - -* Improved number and numberDE methods to check for correct decimal numbers with delimiters -* Only elements that have rules are checked (otherwise success-option is applied to all elements) -* Added creditcard number method (thanks to Brian Klug) -* Added ignore-option, eg. ignore: "[@type=hidden]", using that expression to exclude elements to validate. Default: none, though submit and reset buttons are always ignored -* Heavily enhanced Functions-as-messages by providing a flexible String.format helper -* Accept Functions as messages, providing runtime-custom-messages -* Fixed exclusion of elements without rules from successList -* Fixed custom-method-demo, replaced the alert with message displaying the number of errors -* Fixed form-submit-prevention when using submitHandler -* Completely removed dependency on element IDs, though they are still used (when present) to link error labels to inputs. Achieved by using - an array with {name, message, element} instead of an object with id:message pairs for the internal errorList. -* Added support for specifying simple rules as simple strings, eg. "required" is equivalent to {required: true} -* Added feature: Add errorClass to invalid field�s parent element, making it easy to style the label/field container or the label for the field. -* Added feature: focusCleanup - If enabled, removes the errorClass from the invalid elements and hides all errors messages whenever the element is focused. -* Added success option to show the a field was validated successfully -* Fixed Opera select-issue (avoiding a attribute-collision) -* Fixed problems with focussing hidden elements in IE -* Added feature to skip validation for submit buttons with class "cancel" -* Fixed potential issues with Google Toolbar by prefering plugin option messages over title attribute -* submitHandler is only called when an actual submit event was handled, validator.form() returns false only for invalid forms -* Invalid elements are now focused only on submit or via validator.focusInvalid(), avoiding all trouble with focus-on-blur -* IE6 error container layout issue is solved -* Customize error element via errorElement option -* Added validator.refresh() to find new inputs in the form -* Added accept validation method, checks file extensions -* Improved dependecy feature by adding two custom expressions: ":blank" to select elements with an empty value and �:filled� to select elements with a value, both excluding whitespace -* Added a resetForm() method to the validator: Resets each form element (using the form plugin, if available), removes classes on invalid elements and hides all error messages -* Fixed docs for validator.showErrors() -* Fixed error label creation to always use html() instead of text(), allowing arbitrary HTML passed in as messages -* Fixed error label creation to use specified error class -* Added dependency feature: The requires method accepts both String (jQuery expressions) and Functions as the argument -* Heavily improved customizing of error message display: Use normal messages and show/hide an additional container; Completely replace message display with own mechanism (while being able to delegate to the default handler; Customize placing of generated labels (instead of default below-element) -* Fixed two major bugs in IE (error containers) and Opera (metadata) -* Modified validation methods to accept empty fields as valid (exception: of course �required� and also �equalTo� methods) -* Renamed "min" to "minLength", "max" to "maxLength", "length" to "rangeLength" -* Added "minValue", "maxValue" and "rangeValue" -* Streamlined API for support of different events. The default, submit, can be disabled. If any event is specified, that is applied to each element (instead of the entire form). Combining keyup-validation with submit-validation is now extremely easy to setup -* Added support for one-message-per-rule when defining messages via plugin settings -* Added support to wrap metadata in some parent element. Useful when metadata is used for other plugins, too. -* Refactored tests and demos: Less files, better demos -* Improved documentation: More examples for methods, more reference texts explaining some basics diff --git a/modules/lib/validation/grunt.js b/modules/lib/validation/grunt.js deleted file mode 100644 index 72abd75..0000000 --- a/modules/lib/validation/grunt.js +++ /dev/null @@ -1,100 +0,0 @@ -/*global config:true, task:true*/ -module.exports = function(grunt) { - -grunt.initConfig({ - pkg: '', - meta: { - banner: '/*! <%= pkg.title || pkg.name %> - v<%= pkg.version %> - ' + - '<%= grunt.template.today("m/d/yyyy") %>\n' + - '<%= pkg.homepage ? "* " + pkg.homepage + "\n" : "" %>' + - '* Copyright (c) <%= grunt.template.today("yyyy") %> <%= pkg.author.name %>;' + - ' Licensed <%= _.pluck(pkg.licenses, "type").join(", ") %> */' - }, - concat: { - 'dist/jquery.validate.js': ['', ''], - 'dist/additional-methods.js': ['', ''] - }, - min: { - 'dist/jquery.validate.min.js': ['', 'dist/jquery.validate.js'], - 'dist/additional-methods.min.js': ['', 'dist/additional-methods.js'] - }, - zip: { - dist: { - src: [ - 'dist/additional-methods.js', - 'dist/additional-methods.min.js', - 'dist/jquery.validate.js', - 'dist/jquery.validate.min.js', - 'README.md', - 'changelog.txt', - 'grunt.js', - 'package.json', - 'demo/**/*.*', - 'lib/**/*.*', - 'localization/**/*.*', - 'test/**/*.*' - ], - dest: 'dist/<%= pkg.name %>-<%= pkg.version %>.zip' - } - }, - qunit: { - files: ['test/index.html'] - }, - lint: { - files: ['jquery.validate.js'] - }, - jshint: { - options: { - curly: true, - eqeqeq: true, - immed: true, - latedef: true, - newcap: true, - noarg: true, - sub: true, - undef: true, - eqnull: true, - browser: true - }, - globals: { - jQuery: true, - $: true, - console: true - } - } -}); - -grunt.registerMultiTask('zip', 'Create a zip file for release', function() { - var files = grunt.file.expand(this.file.src); - // grunt.log.writeln(require('util').inspect(files)); - grunt.log.writeln("Creating zip file " + this.file.dest); - - var done = this.async(); - - var zipstream = require('zipstream'); - var fs = require('fs'); - - var out = fs.createWriteStream(this.file.dest); - var zip = zipstream.createZip({ level: 1 }); - - zip.pipe(out); - - function addFile() { - if (!files.length) { - zip.finalize(function(written) { - grunt.log.writeln(written + ' total bytes written'); - done(); - }); - return; - } - var file = files.shift(); - grunt.log.verbose.writeln('Zipping ' + file); - zip.addFile(fs.createReadStream(file), { name: file }, addFile); - } - addFile(); -}); - -grunt.registerTask('default', 'lint qunit'); -grunt.registerTask('release', 'default concat min zip'); - -}; \ No newline at end of file diff --git a/modules/lib/validation/jquery.validate.js b/modules/lib/validation/jquery.validate.js deleted file mode 100644 index ad21181..0000000 --- a/modules/lib/validation/jquery.validate.js +++ /dev/null @@ -1,1257 +0,0 @@ -/** - * jQuery Validation Plugin @VERSION - * - * http://bassistance.de/jquery-plugins/jquery-plugin-validation/ - * http://docs.jquery.com/Plugins/Validation - * - * Copyright (c) 2012 Jörn Zaefferer - * - * Dual licensed under the MIT and GPL licenses: - * http://www.opensource.org/licenses/mit-license.php - * http://www.gnu.org/licenses/gpl.html - */ - -(function($) { - -$.extend($.fn, { - // http://docs.jquery.com/Plugins/Validation/validate - validate: function( options ) { - - // if nothing is selected, return nothing; can't chain anyway - if (!this.length) { - if (options && options.debug && window.console) { - console.warn( "nothing selected, can't validate, returning nothing" ); - } - return; - } - - // check if a validator for this form was already created - var validator = $.data(this[0], 'validator'); - if ( validator ) { - return validator; - } - - // Add novalidate tag if HTML5. - this.attr('novalidate', 'novalidate'); - - validator = new $.validator( options, this[0] ); - $.data(this[0], 'validator', validator); - - if ( validator.settings.onsubmit ) { - - this.validateDelegate( ":submit", "click", function(ev) { - if ( validator.settings.submitHandler ) { - validator.submitButton = ev.target; - } - // allow suppressing validation by adding a cancel class to the submit button - if ( $(ev.target).hasClass('cancel') ) { - validator.cancelSubmit = true; - } - }); - - // validate the form on submit - this.submit( function( event ) { - if ( validator.settings.debug ) { - // prevent form submit to be able to see console output - event.preventDefault(); - } - function handle() { - var hidden; - if ( validator.settings.submitHandler ) { - if (validator.submitButton) { - // insert a hidden input as a replacement for the missing submit button - hidden = $("").attr("name", validator.submitButton.name).val(validator.submitButton.value).appendTo(validator.currentForm); - } - validator.settings.submitHandler.call( validator, validator.currentForm, event ); - if (validator.submitButton) { - // and clean up afterwards; thanks to no-block-scope, hidden can be referenced - hidden.remove(); - } - return false; - } - return true; - } - - // prevent submit for invalid forms or custom submit handlers - if ( validator.cancelSubmit ) { - validator.cancelSubmit = false; - return handle(); - } - if ( validator.form() ) { - if ( validator.pendingRequest ) { - validator.formSubmitted = true; - return false; - } - return handle(); - } else { - validator.focusInvalid(); - return false; - } - }); - } - - return validator; - }, - // http://docs.jquery.com/Plugins/Validation/valid - valid: function() { - if ( $(this[0]).is('form')) { - return this.validate().form(); - } else { - var valid = true; - var validator = $(this[0].form).validate(); - this.each(function() { - valid &= validator.element(this); - }); - return valid; - } - }, - // attributes: space seperated list of attributes to retrieve and remove - removeAttrs: function(attributes) { - var result = {}, - $element = this; - $.each(attributes.split(/\s/), function(index, value) { - result[value] = $element.attr(value); - $element.removeAttr(value); - }); - return result; - }, - // http://docs.jquery.com/Plugins/Validation/rules - rules: function(command, argument) { - var element = this[0]; - - if (command) { - var settings = $.data(element.form, 'validator').settings; - var staticRules = settings.rules; - var existingRules = $.validator.staticRules(element); - switch(command) { - case "add": - $.extend(existingRules, $.validator.normalizeRule(argument)); - staticRules[element.name] = existingRules; - if (argument.messages) { - settings.messages[element.name] = $.extend( settings.messages[element.name], argument.messages ); - } - break; - case "remove": - if (!argument) { - delete staticRules[element.name]; - return existingRules; - } - var filtered = {}; - $.each(argument.split(/\s/), function(index, method) { - filtered[method] = existingRules[method]; - delete existingRules[method]; - }); - return filtered; - } - } - - var data = $.validator.normalizeRules( - $.extend( - {}, - $.validator.metadataRules(element), - $.validator.classRules(element), - $.validator.attributeRules(element), - $.validator.staticRules(element) - ), element); - - // make sure required is at front - if (data.required) { - var param = data.required; - delete data.required; - data = $.extend({required: param}, data); - } - - return data; - } -}); - -// Custom selectors -$.extend($.expr[":"], { - // http://docs.jquery.com/Plugins/Validation/blank - blank: function(a) {return !$.trim("" + a.value);}, - // http://docs.jquery.com/Plugins/Validation/filled - filled: function(a) {return !!$.trim("" + a.value);}, - // http://docs.jquery.com/Plugins/Validation/unchecked - unchecked: function(a) {return !a.checked;} -}); - -// constructor for validator -$.validator = function( options, form ) { - this.settings = $.extend( true, {}, $.validator.defaults, options ); - this.currentForm = form; - this.init(); -}; - -$.validator.format = function(source, params) { - if ( arguments.length === 1 ) { - return function() { - var args = $.makeArray(arguments); - args.unshift(source); - return $.validator.format.apply( this, args ); - }; - } - if ( arguments.length > 2 && params.constructor !== Array ) { - params = $.makeArray(arguments).slice(1); - } - if ( params.constructor !== Array ) { - params = [ params ]; - } - $.each(params, function(i, n) { - source = source.replace(new RegExp("\\{" + i + "\\}", "g"), n); - }); - return source; -}; - -$.extend($.validator, { - - defaults: { - messages: {}, - groups: {}, - rules: {}, - errorClass: "error", - validClass: "valid", - errorElement: "label", - focusInvalid: true, - errorContainer: $( [] ), - errorLabelContainer: $( [] ), - onsubmit: true, - ignore: ":hidden", - ignoreTitle: false, - onfocusin: function(element, event) { - this.lastActive = element; - - // hide error label and remove error class on focus if enabled - if ( this.settings.focusCleanup && !this.blockFocusCleanup ) { - if ( this.settings.unhighlight ) { - this.settings.unhighlight.call( this, element, this.settings.errorClass, this.settings.validClass ); - } - this.addWrapper(this.errorsFor(element)).hide(); - } - }, - onfocusout: function(element, event) { - if ( !this.checkable(element) && (element.name in this.submitted || !this.optional(element)) ) { - this.element(element); - } - }, - onkeyup: function(element, event) { - if ( event.which == 9 && this.elementValue(element) === '' ) { - return; - } else if ( element.name in this.submitted || element === this.lastActive ) { - this.element(element); - } - }, - onclick: function(element, event) { - // click on selects, radiobuttons and checkboxes - if ( element.name in this.submitted ) { - this.element(element); - } - // or option elements, check parent select in that case - else if (element.parentNode.name in this.submitted) { - this.element(element.parentNode); - } - }, - highlight: function(element, errorClass, validClass) { - if (element.type === 'radio') { - this.findByName(element.name).addClass(errorClass).removeClass(validClass); - } else { - $(element).addClass(errorClass).removeClass(validClass); - } - }, - unhighlight: function(element, errorClass, validClass) { - if (element.type === 'radio') { - this.findByName(element.name).removeClass(errorClass).addClass(validClass); - } else { - $(element).removeClass(errorClass).addClass(validClass); - } - } - }, - - // http://docs.jquery.com/Plugins/Validation/Validator/setDefaults - setDefaults: function(settings) { - $.extend( $.validator.defaults, settings ); - }, - - messages: { - required: "This field is required.", - remote: "Please fix this field.", - email: "Please enter a valid email address.", - url: "Please enter a valid URL.", - date: "Please enter a valid date.", - dateISO: "Please enter a valid date (ISO).", - number: "Please enter a valid number.", - digits: "Please enter only digits.", - creditcard: "Please enter a valid credit card number.", - equalTo: "Please enter the same value again.", - maxlength: $.validator.format("Please enter no more than {0} characters."), - minlength: $.validator.format("Please enter at least {0} characters."), - rangelength: $.validator.format("Please enter a value between {0} and {1} characters long."), - range: $.validator.format("Please enter a value between {0} and {1}."), - max: $.validator.format("Please enter a value less than or equal to {0}."), - min: $.validator.format("Please enter a value greater than or equal to {0}.") - }, - - autoCreateRanges: false, - - prototype: { - - init: function() { - this.labelContainer = $(this.settings.errorLabelContainer); - this.errorContext = this.labelContainer.length && this.labelContainer || $(this.currentForm); - this.containers = $(this.settings.errorContainer).add( this.settings.errorLabelContainer ); - this.submitted = {}; - this.valueCache = {}; - this.pendingRequest = 0; - this.pending = {}; - this.invalid = {}; - this.reset(); - - var groups = (this.groups = {}); - $.each(this.settings.groups, function(key, value) { - $.each(value.split(/\s/), function(index, name) { - groups[name] = key; - }); - }); - var rules = this.settings.rules; - $.each(rules, function(key, value) { - rules[key] = $.validator.normalizeRule(value); - }); - - function delegate(event) { - var validator = $.data(this[0].form, "validator"), - eventType = "on" + event.type.replace(/^validate/, ""); - if (validator.settings[eventType]) { - validator.settings[eventType].call(validator, this[0], event); - } - } - $(this.currentForm) - .validateDelegate(":text, [type='password'], [type='file'], select, textarea, " + - "[type='number'], [type='search'] ,[type='tel'], [type='url'], " + - "[type='email'], [type='datetime'], [type='date'], [type='month'], " + - "[type='week'], [type='time'], [type='datetime-local'], " + - "[type='range'], [type='color'] ", - "focusin focusout keyup", delegate) - .validateDelegate("[type='radio'], [type='checkbox'], select, option", "click", delegate); - - if (this.settings.invalidHandler) { - $(this.currentForm).bind("invalid-form.validate", this.settings.invalidHandler); - } - }, - - // http://docs.jquery.com/Plugins/Validation/Validator/form - form: function() { - this.checkForm(); - $.extend(this.submitted, this.errorMap); - this.invalid = $.extend({}, this.errorMap); - if (!this.valid()) { - $(this.currentForm).triggerHandler("invalid-form", [this]); - } - this.showErrors(); - return this.valid(); - }, - - checkForm: function() { - this.prepareForm(); - for ( var i = 0, elements = (this.currentElements = this.elements()); elements[i]; i++ ) { - this.check( elements[i] ); - } - return this.valid(); - }, - - // http://docs.jquery.com/Plugins/Validation/Validator/element - element: function( element ) { - element = this.validationTargetFor( this.clean( element ) ); - this.lastElement = element; - this.prepareElement( element ); - this.currentElements = $(element); - var result = this.check( element ) !== false; - if (result) { - delete this.invalid[element.name]; - } else { - this.invalid[element.name] = true; - } - if ( !this.numberOfInvalids() ) { - // Hide error containers on last error - this.toHide = this.toHide.add( this.containers ); - } - this.showErrors(); - return result; - }, - - // http://docs.jquery.com/Plugins/Validation/Validator/showErrors - showErrors: function(errors) { - if(errors) { - // add items to error list and map - $.extend( this.errorMap, errors ); - this.errorList = []; - for ( var name in errors ) { - this.errorList.push({ - message: errors[name], - element: this.findByName(name)[0] - }); - } - // remove items from success list - this.successList = $.grep( this.successList, function(element) { - return !(element.name in errors); - }); - } - if (this.settings.showErrors) { - this.settings.showErrors.call( this, this.errorMap, this.errorList ); - } else { - this.defaultShowErrors(); - } - }, - - // http://docs.jquery.com/Plugins/Validation/Validator/resetForm - resetForm: function() { - if ( $.fn.resetForm ) { - $( this.currentForm ).resetForm(); - } - this.submitted = {}; - this.lastElement = null; - this.prepareForm(); - this.hideErrors(); - this.elements().removeClass( this.settings.errorClass ).removeData( "previousValue" ); - }, - - numberOfInvalids: function() { - return this.objectLength(this.invalid); - }, - - objectLength: function( obj ) { - var count = 0; - for ( var i in obj ) { - count++; - } - return count; - }, - - hideErrors: function() { - this.addWrapper( this.toHide ).hide(); - }, - - valid: function() { - return this.size() === 0; - }, - - size: function() { - return this.errorList.length; - }, - - focusInvalid: function() { - if( this.settings.focusInvalid ) { - try { - $(this.findLastActive() || this.errorList.length && this.errorList[0].element || []) - .filter(":visible") - .focus() - // manually trigger focusin event; without it, focusin handler isn't called, findLastActive won't have anything to find - .trigger("focusin"); - } catch(e) { - // ignore IE throwing errors when focusing hidden elements - } - } - }, - - findLastActive: function() { - var lastActive = this.lastActive; - return lastActive && $.grep(this.errorList, function(n) { - return n.element.name === lastActive.name; - }).length === 1 && lastActive; - }, - - elements: function() { - var validator = this, - rulesCache = {}; - - // select all valid inputs inside the form (no submit or reset buttons) - return $(this.currentForm) - .find("input, select, textarea") - .not(":submit, :reset, :image, [disabled]") - .not( this.settings.ignore ) - .filter(function() { - if ( !this.name && validator.settings.debug && window.console ) { - console.error( "%o has no name assigned", this); - } - - // select only the first element for each name, and only those with rules specified - if ( this.name in rulesCache || !validator.objectLength($(this).rules()) ) { - return false; - } - - rulesCache[this.name] = true; - return true; - }); - }, - - clean: function( selector ) { - return $( selector )[0]; - }, - - errors: function() { - var errorClass = this.settings.errorClass.replace(' ', '.'); - return $( this.settings.errorElement + "." + errorClass, this.errorContext ); - }, - - reset: function() { - this.successList = []; - this.errorList = []; - this.errorMap = {}; - this.toShow = $([]); - this.toHide = $([]); - this.currentElements = $([]); - }, - - prepareForm: function() { - this.reset(); - this.toHide = this.errors().add( this.containers ); - }, - - prepareElement: function( element ) { - this.reset(); - this.toHide = this.errorsFor(element); - }, - - elementValue: function( element ) { - var type = $(element).attr('type'), - val = $(element).val(); - - if ( type === 'radio' || type === 'checkbox' ) { - return $('input[name="' + $(element).attr('name') + '"]:checked').val(); - } - - if ( typeof val === 'string' ) { - return val.replace(/\r/g, ""); - } - return val; - }, - - check: function( element ) { - element = this.validationTargetFor( this.clean( element ) ); - - var rules = $(element).rules(); - var dependencyMismatch = false; - var val = this.elementValue(element); - var result; - - for (var method in rules ) { - var rule = { method: method, parameters: rules[method] }; - try { - - result = $.validator.methods[method].call( this, val, element, rule.parameters ); - - // if a method indicates that the field is optional and therefore valid, - // don't mark it as valid when there are no other rules - if ( result === "dependency-mismatch" ) { - dependencyMismatch = true; - continue; - } - dependencyMismatch = false; - - if ( result === "pending" ) { - this.toHide = this.toHide.not( this.errorsFor(element) ); - return; - } - - if( !result ) { - this.formatAndAdd( element, rule ); - return false; - } - } catch(e) { - if ( this.settings.debug && window.console ) { - console.log("exception occured when checking element " + element.id + ", check the '" + rule.method + "' method", e); - } - throw e; - } - } - if (dependencyMismatch) { - return; - } - if ( this.objectLength(rules) ) { - this.successList.push(element); - } - return true; - }, - - // return the custom message for the given element and validation method - // specified in the element's "messages" metadata - customMetaMessage: function(element, method) { - if (!$.metadata) { - return; - } - var meta = this.settings.meta ? $(element).metadata()[this.settings.meta] : $(element).metadata(); - return meta && meta.messages && meta.messages[method]; - }, - - // return the custom message for the given element and validation method - // specified in the element's HTML5 data attribute - customDataMessage: function(element, method) { - return $(element).data('msg-' + method.toLowerCase()) || (element.attributes && $(element).attr('data-msg-' + method.toLowerCase())); - }, - - // return the custom message for the given element name and validation method - customMessage: function( name, method ) { - var m = this.settings.messages[name]; - return m && (m.constructor === String ? m : m[method]); - }, - - // return the first defined argument, allowing empty strings - findDefined: function() { - for(var i = 0; i < arguments.length; i++) { - if (arguments[i] !== undefined) { - return arguments[i]; - } - } - return undefined; - }, - - defaultMessage: function( element, method) { - return this.findDefined( - this.customMessage( element.name, method ), - this.customDataMessage( element, method ), - this.customMetaMessage( element, method ), - // title is never undefined, so handle empty string as undefined - !this.settings.ignoreTitle && element.title || undefined, - $.validator.messages[method], - "Warning: No message defined for " + element.name + "" - ); - }, - - formatAndAdd: function( element, rule ) { - var message = this.defaultMessage( element, rule.method ), - theregex = /\$?\{(\d+)\}/g; - if ( typeof message === "function" ) { - message = message.call(this, rule.parameters, element); - } else if (theregex.test(message)) { - message = $.validator.format(message.replace(theregex, '{$1}'), rule.parameters); - } - this.errorList.push({ - message: message, - element: element - }); - - this.errorMap[element.name] = message; - this.submitted[element.name] = message; - }, - - addWrapper: function(toToggle) { - if ( this.settings.wrapper ) { - toToggle = toToggle.add( toToggle.parent( this.settings.wrapper ) ); - } - return toToggle; - }, - - defaultShowErrors: function() { - var i, elements; - for ( i = 0; this.errorList[i]; i++ ) { - var error = this.errorList[i]; - if ( this.settings.highlight ) { - this.settings.highlight.call( this, error.element, this.settings.errorClass, this.settings.validClass ); - } - this.showLabel( error.element, error.message ); - } - if( this.errorList.length ) { - this.toShow = this.toShow.add( this.containers ); - } - if (this.settings.success) { - for ( i = 0; this.successList[i]; i++ ) { - this.showLabel( this.successList[i] ); - } - } - if (this.settings.unhighlight) { - for ( i = 0, elements = this.validElements(); elements[i]; i++ ) { - this.settings.unhighlight.call( this, elements[i], this.settings.errorClass, this.settings.validClass ); - } - } - this.toHide = this.toHide.not( this.toShow ); - this.hideErrors(); - this.addWrapper( this.toShow ).show(); - }, - - validElements: function() { - return this.currentElements.not(this.invalidElements()); - }, - - invalidElements: function() { - return $(this.errorList).map(function() { - return this.element; - }); - }, - - showLabel: function(element, message) { - var label = this.errorsFor( element ); - if ( label.length ) { - // refresh error/success class - label.removeClass( this.settings.validClass ).addClass( this.settings.errorClass ); - - // check if we have a generated label, replace the message then - if ( label.attr("generated") ) { - label.html(message); - } - } else { - // create label - label = $("<" + this.settings.errorElement + "/>") - .attr({"for": this.idOrName(element), generated: true}) - .addClass(this.settings.errorClass) - .html(message || ""); - if ( this.settings.wrapper ) { - // make sure the element is visible, even in IE - // actually showing the wrapped element is handled elsewhere - label = label.hide().show().wrap("<" + this.settings.wrapper + "/>").parent(); - } - if ( !this.labelContainer.append(label).length ) { - if ( this.settings.errorPlacement ) { - this.settings.errorPlacement(label, $(element) ); - } else { - label.insertAfter(element); - } - } - } - if ( !message && this.settings.success ) { - label.text(""); - if ( typeof this.settings.success === "string" ) { - label.addClass( this.settings.success ); - } else { - this.settings.success( label, element ); - } - } - this.toShow = this.toShow.add(label); - }, - - errorsFor: function(element) { - var name = this.idOrName(element); - return this.errors().filter(function() { - return $(this).attr('for') === name; - }); - }, - - idOrName: function(element) { - return this.groups[element.name] || (this.checkable(element) ? element.name : element.id || element.name); - }, - - validationTargetFor: function(element) { - // if radio/checkbox, validate first element in group instead - if (this.checkable(element)) { - element = this.findByName( element.name ).not(this.settings.ignore)[0]; - } - return element; - }, - - checkable: function( element ) { - return (/radio|checkbox/i).test(element.type); - }, - - findByName: function( name ) { - return $(this.currentForm).find('[name="' + name + '"]'); - }, - - getLength: function(value, element) { - switch( element.nodeName.toLowerCase() ) { - case 'select': - return $("option:selected", element).length; - case 'input': - if( this.checkable( element) ) { - return this.findByName(element.name).filter(':checked').length; - } - } - return value.length; - }, - - depend: function(param, element) { - return this.dependTypes[typeof param] ? this.dependTypes[typeof param](param, element) : true; - }, - - dependTypes: { - "boolean": function(param, element) { - return param; - }, - "string": function(param, element) { - return !!$(param, element.form).length; - }, - "function": function(param, element) { - return param(element); - } - }, - - optional: function(element) { - var val = this.elementValue(element); - return !$.validator.methods.required.call(this, val, element) && "dependency-mismatch"; - }, - - startRequest: function(element) { - if (!this.pending[element.name]) { - this.pendingRequest++; - this.pending[element.name] = true; - } - }, - - stopRequest: function(element, valid) { - this.pendingRequest--; - // sometimes synchronization fails, make sure pendingRequest is never < 0 - if (this.pendingRequest < 0) { - this.pendingRequest = 0; - } - delete this.pending[element.name]; - if ( valid && this.pendingRequest === 0 && this.formSubmitted && this.form() ) { - $(this.currentForm).submit(); - this.formSubmitted = false; - } else if (!valid && this.pendingRequest === 0 && this.formSubmitted) { - $(this.currentForm).triggerHandler("invalid-form", [this]); - this.formSubmitted = false; - } - }, - - previousValue: function(element) { - return $.data(element, "previousValue") || $.data(element, "previousValue", { - old: null, - valid: true, - message: this.defaultMessage( element, "remote" ) - }); - } - - }, - - classRuleSettings: { - required: {required: true}, - email: {email: true}, - url: {url: true}, - date: {date: true}, - dateISO: {dateISO: true}, - number: {number: true}, - digits: {digits: true}, - creditcard: {creditcard: true} - }, - - addClassRules: function(className, rules) { - if ( className.constructor === String ) { - this.classRuleSettings[className] = rules; - } else { - $.extend(this.classRuleSettings, className); - } - }, - - classRules: function(element) { - var rules = {}; - var classes = $(element).attr('class'); - if ( classes ) { - $.each(classes.split(' '), function() { - if (this in $.validator.classRuleSettings) { - $.extend(rules, $.validator.classRuleSettings[this]); - } - }); - } - return rules; - }, - - attributeRules: function(element) { - var rules = {}; - var $element = $(element); - - for (var method in $.validator.methods) { - var value; - - // support for in both html5 and older browsers - if (method === 'required') { - value = $element.get(0).getAttribute(method); - // Some browsers return an empty string for the required attribute - // and non-HTML5 browsers might have required="" markup - if (value === "") { - value = true; - } - // force non-HTML5 browsers to return bool - value = !!value; - } else { - value = $element.attr(method); - } - - if (value) { - rules[method] = value; - } else if ($element[0].getAttribute("type") === method) { - rules[method] = true; - } - } - - // maxlength may be returned as -1, 2147483647 (IE) and 524288 (safari) for text inputs - if (rules.maxlength && /-1|2147483647|524288/.test(rules.maxlength)) { - delete rules.maxlength; - } - - return rules; - }, - - metadataRules: function(element) { - if (!$.metadata) { - return {}; - } - - var meta = $.data(element.form, 'validator').settings.meta; - return meta ? - $(element).metadata()[meta] : - $(element).metadata(); - }, - - staticRules: function(element) { - var rules = {}; - var validator = $.data(element.form, 'validator'); - if (validator.settings.rules) { - rules = $.validator.normalizeRule(validator.settings.rules[element.name]) || {}; - } - return rules; - }, - - normalizeRules: function(rules, element) { - // handle dependency check - $.each(rules, function(prop, val) { - // ignore rule when param is explicitly false, eg. required:false - if (val === false) { - delete rules[prop]; - return; - } - if (val.param || val.depends) { - var keepRule = true; - switch (typeof val.depends) { - case "string": - keepRule = !!$(val.depends, element.form).length; - break; - case "function": - keepRule = val.depends.call(element, element); - break; - } - if (keepRule) { - rules[prop] = val.param !== undefined ? val.param : true; - } else { - delete rules[prop]; - } - } - }); - - // evaluate parameters - $.each(rules, function(rule, parameter) { - rules[rule] = $.isFunction(parameter) ? parameter(element) : parameter; - }); - - // clean number parameters - $.each(['minlength', 'maxlength', 'min', 'max'], function() { - if (rules[this]) { - rules[this] = Number(rules[this]); - } - }); - $.each(['rangelength', 'range'], function() { - if (rules[this]) { - rules[this] = [Number(rules[this][0]), Number(rules[this][1])]; - } - }); - - if ($.validator.autoCreateRanges) { - // auto-create ranges - if (rules.min && rules.max) { - rules.range = [rules.min, rules.max]; - delete rules.min; - delete rules.max; - } - if (rules.minlength && rules.maxlength) { - rules.rangelength = [rules.minlength, rules.maxlength]; - delete rules.minlength; - delete rules.maxlength; - } - } - - // To support custom messages in metadata ignore rule methods titled "messages" - if (rules.messages) { - delete rules.messages; - } - - return rules; - }, - - // Converts a simple string to a {string: true} rule, e.g., "required" to {required:true} - normalizeRule: function(data) { - if( typeof data === "string" ) { - var transformed = {}; - $.each(data.split(/\s/), function() { - transformed[this] = true; - }); - data = transformed; - } - return data; - }, - - // http://docs.jquery.com/Plugins/Validation/Validator/addMethod - addMethod: function(name, method, message) { - $.validator.methods[name] = method; - $.validator.messages[name] = message !== undefined ? message : $.validator.messages[name]; - if (method.length < 3) { - $.validator.addClassRules(name, $.validator.normalizeRule(name)); - } - }, - - methods: { - - // http://docs.jquery.com/Plugins/Validation/Methods/required - required: function(value, element, param) { - // check if dependency is met - if ( !this.depend(param, element) ) { - return "dependency-mismatch"; - } - if ( element.nodeName.toLowerCase() === "select" ) { - // could be an array for select-multiple or a string, both are fine this way - var val = $(element).val(); - return val && val.length > 0; - } - if ( this.checkable(element) ) { - return this.getLength(value, element) > 0; - } - return $.trim(value).length > 0; - }, - - // http://docs.jquery.com/Plugins/Validation/Methods/remote - remote: function(value, element, param) { - if ( this.optional(element) ) { - return "dependency-mismatch"; - } - - var previous = this.previousValue(element); - if (!this.settings.messages[element.name] ) { - this.settings.messages[element.name] = {}; - } - previous.originalMessage = this.settings.messages[element.name].remote; - this.settings.messages[element.name].remote = previous.message; - - param = typeof param === "string" && {url:param} || param; - - if ( this.pending[element.name] ) { - return "pending"; - } - if ( previous.old === value ) { - return previous.valid; - } - - previous.old = value; - var validator = this; - this.startRequest(element); - var data = {}; - data[element.name] = value; - $.ajax($.extend(true, { - url: param, - mode: "abort", - port: "validate" + element.name, - dataType: "json", - data: data, - success: function(response) { - validator.settings.messages[element.name].remote = previous.originalMessage; - var valid = response === true || response === "true"; - if ( valid ) { - var submitted = validator.formSubmitted; - validator.prepareElement(element); - validator.formSubmitted = submitted; - validator.successList.push(element); - delete validator.invalid[element.name]; - validator.showErrors(); - } else { - var errors = {}; - var message = response || validator.defaultMessage( element, "remote" ); - errors[element.name] = previous.message = $.isFunction(message) ? message(value) : message; - validator.invalid[element.name] = true; - validator.showErrors(errors); - } - previous.valid = valid; - validator.stopRequest(element, valid); - } - }, param)); - return "pending"; - }, - - // http://docs.jquery.com/Plugins/Validation/Methods/minlength - minlength: function(value, element, param) { - var length = $.isArray( value ) ? value.length : this.getLength($.trim(value), element); - return this.optional(element) || length >= param; - }, - - // http://docs.jquery.com/Plugins/Validation/Methods/maxlength - maxlength: function(value, element, param) { - var length = $.isArray( value ) ? value.length : this.getLength($.trim(value), element); - return this.optional(element) || length <= param; - }, - - // http://docs.jquery.com/Plugins/Validation/Methods/rangelength - rangelength: function(value, element, param) { - var length = $.isArray( value ) ? value.length : this.getLength($.trim(value), element); - return this.optional(element) || ( length >= param[0] && length <= param[1] ); - }, - - // http://docs.jquery.com/Plugins/Validation/Methods/min - min: function( value, element, param ) { - return this.optional(element) || value >= param; - }, - - // http://docs.jquery.com/Plugins/Validation/Methods/max - max: function( value, element, param ) { - return this.optional(element) || value <= param; - }, - - // http://docs.jquery.com/Plugins/Validation/Methods/range - range: function( value, element, param ) { - return this.optional(element) || ( value >= param[0] && value <= param[1] ); - }, - - // http://docs.jquery.com/Plugins/Validation/Methods/email - email: function(value, element) { - // contributed by Scott Gonzalez: http://projects.scottsplayground.com/email_address_validation/ - return this.optional(element) || /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i.test(value); - }, - - // http://docs.jquery.com/Plugins/Validation/Methods/url - url: function(value, element) { - // contributed by Scott Gonzalez: http://projects.scottsplayground.com/iri/ - return this.optional(element) || /^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(value); - }, - - // http://docs.jquery.com/Plugins/Validation/Methods/date - date: function(value, element) { - return this.optional(element) || !/Invalid|NaN/.test(new Date(value)); - }, - - // http://docs.jquery.com/Plugins/Validation/Methods/dateISO - dateISO: function(value, element) { - return this.optional(element) || /^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/.test(value); - }, - - // http://docs.jquery.com/Plugins/Validation/Methods/number - number: function(value, element) { - return this.optional(element) || /^-?(?:\d+|\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(value); - }, - - // http://docs.jquery.com/Plugins/Validation/Methods/digits - digits: function(value, element) { - return this.optional(element) || /^\d+$/.test(value); - }, - - // http://docs.jquery.com/Plugins/Validation/Methods/creditcard - // based on http://en.wikipedia.org/wiki/Luhn - creditcard: function(value, element) { - if ( this.optional(element) ) { - return "dependency-mismatch"; - } - // accept only spaces, digits and dashes - if (/[^0-9 \-]+/.test(value)) { - return false; - } - var nCheck = 0, - nDigit = 0, - bEven = false; - - value = value.replace(/\D/g, ""); - - for (var n = value.length - 1; n >= 0; n--) { - var cDigit = value.charAt(n); - nDigit = parseInt(cDigit, 10); - if (bEven) { - if ((nDigit *= 2) > 9) { - nDigit -= 9; - } - } - nCheck += nDigit; - bEven = !bEven; - } - - return (nCheck % 10) === 0; - }, - - // http://docs.jquery.com/Plugins/Validation/Methods/equalTo - equalTo: function(value, element, param) { - // bind to the blur event of the target in order to revalidate whenever the target field is updated - // TODO find a way to bind the event just once, avoiding the unbind-rebind overhead - var target = $(param); - if (this.settings.onfocusout) { - target.unbind(".validate-equalTo").bind("blur.validate-equalTo", function() { - $(element).valid(); - }); - } - return value === target.val(); - } - - } - -}); - -// deprecated, use $.validator.format instead -$.format = $.validator.format; - -}(jQuery)); - -// ajax mode: abort -// usage: $.ajax({ mode: "abort"[, port: "uniqueport"]}); -// if mode:"abort" is used, the previous request on that port (port can be undefined) is aborted via XMLHttpRequest.abort() -(function($) { - var pendingRequests = {}; - // Use a prefilter if available (1.5+) - if ( $.ajaxPrefilter ) { - $.ajaxPrefilter(function(settings, _, xhr) { - var port = settings.port; - if (settings.mode === "abort") { - if ( pendingRequests[port] ) { - pendingRequests[port].abort(); - } - pendingRequests[port] = xhr; - } - }); - } else { - // Proxy ajax - var ajax = $.ajax; - $.ajax = function(settings) { - var mode = ( "mode" in settings ? settings : $.ajaxSettings ).mode, - port = ( "port" in settings ? settings : $.ajaxSettings ).port; - if (mode === "abort") { - if ( pendingRequests[port] ) { - pendingRequests[port].abort(); - } - return (pendingRequests[port] = ajax.apply(this, arguments)); - } - return ajax.apply(this, arguments); - }; - } -}(jQuery)); - -// provides cross-browser focusin and focusout events -// IE has native support, in other browsers, use event caputuring (neither bubbles) - -// provides delegate(type: String, delegate: Selector, handler: Callback) plugin for easier event delegation -// handler is only called when $(event.target).is(delegate), in the scope of the jquery-object for event.target -(function($) { - // only implement if not provided by jQuery core (since 1.4) - // TODO verify if jQuery 1.4's implementation is compatible with older jQuery special-event APIs - if (!jQuery.event.special.focusin && !jQuery.event.special.focusout && document.addEventListener) { - $.each({ - focus: 'focusin', - blur: 'focusout' - }, function( original, fix ){ - $.event.special[fix] = { - setup:function() { - this.addEventListener( original, handler, true ); - }, - teardown:function() { - this.removeEventListener( original, handler, true ); - }, - handler: function(e) { - var args = arguments; - args[0] = $.event.fix(e); - args[0].type = fix; - return $.event.handle.apply(this, args); - } - }; - function handler(e) { - e = $.event.fix(e); - e.type = fix; - return $.event.handle.call(this, e); - } - }); - } - $.extend($.fn, { - validateDelegate: function(delegate, type, handler) { - return this.bind(type, function(event) { - var target = $(event.target); - if (target.is(delegate)) { - return handler.apply(target, arguments); - } - }); - } - }); -}(jQuery)); diff --git a/modules/lib/validation/jquery.validate.min.js b/modules/lib/validation/jquery.validate.min.js deleted file mode 100644 index 8657643..0000000 --- a/modules/lib/validation/jquery.validate.min.js +++ /dev/null @@ -1,14 +0,0 @@ -/** - * jQuery Validation Plugin @VERSION - * - * http://bassistance.de/jquery-plugins/jquery-plugin-validation/ - * http://docs.jquery.com/Plugins/Validation - * - * Copyright (c) 2012 Jörn Zaefferer - * - * Dual licensed under the MIT and GPL licenses: - * http://www.opensource.org/licenses/mit-license.php - * http://www.gnu.org/licenses/gpl.html - */ - -;(function(c){c.extend(c.fn,{validate:function(a){if(this.length){var b=c.data(this[0],"validator");if(b)return b;this.attr("novalidate","novalidate");b=new c.validator(a,this[0]);c.data(this[0],"validator",b);b.settings.onsubmit&&(this.validateDelegate(":submit","click",function(a){b.settings.submitHandler&&(b.submitButton=a.target);c(a.target).hasClass("cancel")&&(b.cancelSubmit=!0)}),this.submit(function(a){function e(){var e;return b.settings.submitHandler?(b.submitButton&&(e=c("").attr("name", b.submitButton.name).val(b.submitButton.value).appendTo(b.currentForm)),b.settings.submitHandler.call(b,b.currentForm,a),b.submitButton&&e.remove(),!1):!0}b.settings.debug&&a.preventDefault();if(b.cancelSubmit)return b.cancelSubmit=!1,e();if(b.form())return b.pendingRequest?(b.formSubmitted=!0,!1):e();b.focusInvalid();return!1}));return b}a&&(a.debug&&window.console)&&console.warn("nothing selected, can't validate, returning nothing")},valid:function(){if(c(this[0]).is("form"))return this.validate().form(); var a=!0,b=c(this[0].form).validate();this.each(function(){a&=b.element(this)});return a},removeAttrs:function(a){var b={},d=this;c.each(a.split(/\s/),function(a,c){b[c]=d.attr(c);d.removeAttr(c)});return b},rules:function(a,b){var d=this[0];if(a){var e=c.data(d.form,"validator").settings,f=e.rules,g=c.validator.staticRules(d);switch(a){case "add":c.extend(g,c.validator.normalizeRule(b));f[d.name]=g;b.messages&&(e.messages[d.name]=c.extend(e.messages[d.name],b.messages));break;case "remove":if(!b)return delete f[d.name], g;var h={};c.each(b.split(/\s/),function(a,b){h[b]=g[b];delete g[b]});return h}}d=c.validator.normalizeRules(c.extend({},c.validator.metadataRules(d),c.validator.classRules(d),c.validator.attributeRules(d),c.validator.staticRules(d)),d);d.required&&(e=d.required,delete d.required,d=c.extend({required:e},d));return d}});c.extend(c.expr[":"],{blank:function(a){return!c.trim(""+a.value)},filled:function(a){return!!c.trim(""+a.value)},unchecked:function(a){return!a.checked}});c.validator=function(a,b){this.settings= c.extend(!0,{},c.validator.defaults,a);this.currentForm=b;this.init()};c.validator.format=function(a,b){if(1===arguments.length)return function(){var b=c.makeArray(arguments);b.unshift(a);return c.validator.format.apply(this,b)};2Warning: No message defined for "+ a.name+"")},formatAndAdd:function(a,b){var d=this.defaultMessage(a,b.method),e=/\$?\{(\d+)\}/g;"function"===typeof d?d=d.call(this,b.parameters,a):e.test(d)&&(d=c.validator.format(d.replace(e,"{$1}"),b.parameters));this.errorList.push({message:d,element:a});this.errorMap[a.name]=d;this.submitted[a.name]=d},addWrapper:function(a){this.settings.wrapper&&(a=a.add(a.parent(this.settings.wrapper)));return a},defaultShowErrors:function(){var a,b;for(a=0;this.errorList[a];a++)b=this.errorList[a], this.settings.highlight&&this.settings.highlight.call(this,b.element,this.settings.errorClass,this.settings.validClass),this.showLabel(b.element,b.message);this.errorList.length&&(this.toShow=this.toShow.add(this.containers));if(this.settings.success)for(a=0;this.successList[a];a++)this.showLabel(this.successList[a]);if(this.settings.unhighlight){a=0;for(b=this.validElements();b[a];a++)this.settings.unhighlight.call(this,b[a],this.settings.errorClass,this.settings.validClass)}this.toHide=this.toHide.not(this.toShow); this.hideErrors();this.addWrapper(this.toShow).show()},validElements:function(){return this.currentElements.not(this.invalidElements())},invalidElements:function(){return c(this.errorList).map(function(){return this.element})},showLabel:function(a,b){var d=this.errorsFor(a);d.length?(d.removeClass(this.settings.validClass).addClass(this.settings.errorClass),d.attr("generated")&&d.html(b)):(d=c("<"+this.settings.errorElement+"/>").attr({"for":this.idOrName(a),generated:!0}).addClass(this.settings.errorClass).html(b|| ""),this.settings.wrapper&&(d=d.hide().show().wrap("<"+this.settings.wrapper+"/>").parent()),this.labelContainer.append(d).length||(this.settings.errorPlacement?this.settings.errorPlacement(d,c(a)):d.insertAfter(a)));!b&&this.settings.success&&(d.text(""),"string"===typeof this.settings.success?d.addClass(this.settings.success):this.settings.success(d,a));this.toShow=this.toShow.add(d)},errorsFor:function(a){var b=this.idOrName(a);return this.errors().filter(function(){return c(this).attr("for")=== b})},idOrName:function(a){return this.groups[a.name]||(this.checkable(a)?a.name:a.id||a.name)},validationTargetFor:function(a){this.checkable(a)&&(a=this.findByName(a.name).not(this.settings.ignore)[0]);return a},checkable:function(a){return/radio|checkbox/i.test(a.type)},findByName:function(a){return c(this.currentForm).find('[name="'+a+'"]')},getLength:function(a,b){switch(b.nodeName.toLowerCase()){case "select":return c("option:selected",b).length;case "input":if(this.checkable(b))return this.findByName(b.name).filter(":checked").length}return a.length}, depend:function(a,b){return this.dependTypes[typeof a]?this.dependTypes[typeof a](a,b):!0},dependTypes:{"boolean":function(a){return a},string:function(a,b){return!!c(a,b.form).length},"function":function(a,b){return a(b)}},optional:function(a){var b=this.elementValue(a);return!c.validator.methods.required.call(this,b,a)&&"dependency-mismatch"},startRequest:function(a){this.pending[a.name]||(this.pendingRequest++,this.pending[a.name]=!0)},stopRequest:function(a,b){this.pendingRequest--;0>this.pendingRequest&& (this.pendingRequest=0);delete this.pending[a.name];b&&0===this.pendingRequest&&this.formSubmitted&&this.form()?(c(this.currentForm).submit(),this.formSubmitted=!1):!b&&(0===this.pendingRequest&&this.formSubmitted)&&(c(this.currentForm).triggerHandler("invalid-form",[this]),this.formSubmitted=!1)},previousValue:function(a){return c.data(a,"previousValue")||c.data(a,"previousValue",{old:null,valid:!0,message:this.defaultMessage(a,"remote")})}},classRuleSettings:{required:{required:!0},email:{email:!0}, url:{url:!0},date:{date:!0},dateISO:{dateISO:!0},number:{number:!0},digits:{digits:!0},creditcard:{creditcard:!0}},addClassRules:function(a,b){a.constructor===String?this.classRuleSettings[a]=b:c.extend(this.classRuleSettings,a)},classRules:function(a){var b={};(a=c(a).attr("class"))&&c.each(a.split(" "),function(){this in c.validator.classRuleSettings&&c.extend(b,c.validator.classRuleSettings[this])});return b},attributeRules:function(a){var b={},a=c(a),d;for(d in c.validator.methods){var e;"required"=== d?(e=a.get(0).getAttribute(d),""===e&&(e=!0),e=!!e):e=a.attr(d);e?b[d]=e:a[0].getAttribute("type")===d&&(b[d]=!0)}b.maxlength&&/-1|2147483647|524288/.test(b.maxlength)&&delete b.maxlength;return b},metadataRules:function(a){if(!c.metadata)return{};var b=c.data(a.form,"validator").settings.meta;return b?c(a).metadata()[b]:c(a).metadata()},staticRules:function(a){var b={},d=c.data(a.form,"validator");d.settings.rules&&(b=c.validator.normalizeRule(d.settings.rules[a.name])||{});return b},normalizeRules:function(a, b){c.each(a,function(d,e){if(!1===e)delete a[d];else if(e.param||e.depends){var f=!0;switch(typeof e.depends){case "string":f=!!c(e.depends,b.form).length;break;case "function":f=e.depends.call(b,b)}f?a[d]=void 0!==e.param?e.param:!0:delete a[d]}});c.each(a,function(d,e){a[d]=c.isFunction(e)?e(b):e});c.each(["minlength","maxlength","min","max"],function(){a[this]&&(a[this]=Number(a[this]))});c.each(["rangelength","range"],function(){a[this]&&(a[this]=[Number(a[this][0]),Number(a[this][1])])});if(c.validator.autoCreateRanges&& (a.min&&a.max&&(a.range=[a.min,a.max],delete a.min,delete a.max),a.minlength&&a.maxlength))a.rangelength=[a.minlength,a.maxlength],delete a.minlength,delete a.maxlength;a.messages&&delete a.messages;return a},normalizeRule:function(a){if("string"===typeof a){var b={};c.each(a.split(/\s/),function(){b[this]=!0});a=b}return a},addMethod:function(a,b,d){c.validator.methods[a]=b;c.validator.messages[a]=void 0!==d?d:c.validator.messages[a];3>b.length&&c.validator.addClassRules(a,c.validator.normalizeRule(a))}, methods:{required:function(a,b,d){return!this.depend(d,b)?"dependency-mismatch":"select"===b.nodeName.toLowerCase()?(a=c(b).val())&&0=d},maxlength:function(a,b,d){a=c.isArray(a)?a.length:this.getLength(c.trim(a),b);return this.optional(b)||a<=d},rangelength:function(a,b,d){a=c.isArray(a)?a.length:this.getLength(c.trim(a),b);return this.optional(b)||a>=d[0]&&a<=d[1]},min:function(a,b,c){return this.optional(b)||a>= c},max:function(a,b,c){return this.optional(b)||a<=c},range:function(a,b,c){return this.optional(b)||a>=c[0]&&a<=c[1]},email:function(a,b){return this.optional(b)||/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i.test(a)}, url:function(a,b){return this.optional(b)||/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(a)}, date:function(a,b){return this.optional(b)||!/Invalid|NaN/.test(new Date(a))},dateISO:function(a,b){return this.optional(b)||/^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/.test(a)},number:function(a,b){return this.optional(b)||/^-?(?:\d+|\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(a)},digits:function(a,b){return this.optional(b)||/^\d+$/.test(a)},creditcard:function(a,b){if(this.optional(b))return"dependency-mismatch";if(/[^0-9 \-]+/.test(a))return!1;for(var c=0,e=0,f=!1,a=a.replace(/\D/g,""),g=a.length-1;0<=g;g--){e= a.charAt(g);e=parseInt(e,10);if(f&&9<(e*=2))e-=9;c+=e;f=!f}return 0===c%10},equalTo:function(a,b,d){d=c(d);this.settings.onfocusout&&d.unbind(".validate-equalTo").bind("blur.validate-equalTo",function(){c(b).valid()});return a===d.val()}}});c.format=c.validator.format})(jQuery); (function(c){var a={};if(c.ajaxPrefilter)c.ajaxPrefilter(function(b,c,f){c=b.port;"abort"===b.mode&&(a[c]&&a[c].abort(),a[c]=f)});else{var b=c.ajax;c.ajax=function(d){var e=("port"in d?d:c.ajaxSettings).port;return"abort"===("mode"in d?d:c.ajaxSettings).mode?(a[e]&&a[e].abort(),a[e]=b.apply(this,arguments)):b.apply(this,arguments)}}})(jQuery); (function(c){!jQuery.event.special.focusin&&(!jQuery.event.special.focusout&&document.addEventListener)&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(a){a=c.event.fix(a);a.type=b;return c.event.handle.call(this,a)}c.event.special[b]={setup:function(){this.addEventListener(a,d,!0)},teardown:function(){this.removeEventListener(a,d,!0)},handler:function(a){var d=arguments;d[0]=c.event.fix(a);d[0].type=b;return c.event.handle.apply(this,d)}}});c.extend(c.fn,{validateDelegate:function(a, b,d){return this.bind(b,function(b){var f=c(b.target);if(f.is(a))return d.apply(f,arguments)})}})})(jQuery); \ No newline at end of file diff --git a/modules/lib/validation/version.txt b/modules/lib/validation/version.txt deleted file mode 100644 index 8105b70..0000000 --- a/modules/lib/validation/version.txt +++ /dev/null @@ -1 +0,0 @@ -2.0.0pre diff --git a/modules/lib/x-editable/CHANGELOG.txt b/modules/lib/x-editable/CHANGELOG.txt deleted file mode 100644 index 4f9680d..0000000 --- a/modules/lib/x-editable/CHANGELOG.txt +++ /dev/null @@ -1,140 +0,0 @@ -X-editable changelog -============================= - - -Version 1.4.1 Jan 18, 2013 ----------------------------- -[enh #62] new option `selector` to work with delegated targets (vitalets) -[enh] new option `unsavedclass` to set css class when value was not sent to server (vitalets) -[enh] new option `emptyclass` to set css class when element is empty (vitalets) -[enh #59] select2 input (vitalets) -[enh #17] typeahead input (vitalets) -[enh] select: support of OPTGROUP via `children` key in source (vitalets) -[enh] checklist: set checked via prop instead of attr (vitalets) - - -Version 1.4.0 Jan 11, 2013 ----------------------------- -[enh] added new input type: combodate (vitalets) -[bug #68] allow arrays for data attributes (adimitrov) -[enh] setValue method updates input if form is open (vitalets) -[enh] select: change source via option method, see #61 (vitalets) -[bug] select: source loaded twice if sourceCache = false (vitalets) -[enh] added `destroy` method, see #61 (vitalets) -[enh] textarea: added `rows` property (vitalets) -[enh #60] added wysihtml5 input (vitalets) -[enh] added IOS-style clear button for text inputs (vitalets) -[enh] date inputs changed in inline mode (vitalets) -[enh #51] popup/inline modes can be toggled via `mode` config option. No more *-inline.js versions of files (vitalets) -[enh] update bootstrap-datepicker to upstream (vitalets) -[enh] 'display' method: added param 'response' allowing to show text directly from server (vitalets) -[enh] new util method `$.fn.editableutils.itemsByValue` to easily get selected items for sourced-inputs (vitalets) -[enh] convert newlines to
                    in error message for more pretty display (vitalets) -[enh #57] remove css height for textarea (vitalets) -[enh] if new value for select is 'null' source should not load (vitalets) -[enh #53] 'name' no more appended to source defined as url (vitalets) -[enh #46] move 'img' dir outside 'css' (vitalets) -[enh #48] fix handling of newlines in textarea input (jmfontaine) -[enh #47] set select source to function (brianchance) -[bug] fix inline container move on next line in IE7 (vitalets) - - -Version 1.3.0 Dec 10, 2012 ----------------------------- -[enh] added html5 inputs support: password, email, url, tel, number, range (vitalets) -[bug #43] fix for bootstrap 2.2.2 (vitalets) -[enh #41] 'abstract' class renamed to 'abstractinput' as abstract is reserved word (vitalets) -[enh #40] 'params' option defined as function overwrites original ajax data instead of appending (vitalets) -[bug] datepicker: error when click on arrows after clear date (vitalets) -[enh] 'hidden' event: added possible value of reason param - 'nochange'. Occurs when form is submitted but value was not changed (vitalets) -[enh] 'submit' method changed: error-callback's parameter simplified (vitalets) -[enh] 'submit' method changed: now when response 200 OK it does not set pk automatically (vitalets) -[enh] 'submit' method changed: removed dataType='json'. Use 'ajaxOptions' to specify dataType if needed (vitalets) -[enh] removed default ajax dataType='json'. Use 'ajaxOptions' to specify dataType if needed (vitalets) -[enh] select: do not show 'sourceError' in element during autotext execution (vitalets) - - -Version 1.2.0 Dec 6, 2012 ----------------------------- -[enh #36] 'submit' method: added 'ajaxOptions' property to modify ajax request (vitalets) -[enh] inputs now internally use 'value2submit' method instead of previous 'value2str' (vitalets) -[enh] editableContainer removed from docs (vitalets) -[enh] editableContainer: removed 'autohide' option and 'cancel' event. Use 'hidden' event instead (vitalets) -[enh] 'hidden' event: added param 'reason' that points to reason caused hiding (vitalets) -[enh] 'select' submit by enter (vitalets) -[bug #37] fix incorrectly shown datepicker in jquery 1.7.1 + webkit (vitalets) -[enh] added url param 'jquery' to run tests in different versions of jquery, e.g. '&jquery=1.7.2' (vitalets) -[enh] 'enablefocus' option removed. More efficient to use 'save/hide' events to set focus to any element (vitalets) -[enh] 'init' event was added due to removal of render event (vitalets) -[enh] 'render' event was removed, use 'display' callback instead (vitalets) -[enh] 'checklist' submit value as array, not comma separated string (vitalets) -[enh] 'checklist' was refactored: options 'viewseparator', 'limit', 'limitText' are supressed by 'display' callback (vitalets) -[enh] new option: 'display' callback. Makes far more flexible rendering value into element's text. (vitalets) -[bug] fix typos (atrophic) -[enh] all callbacks scope changed to element (vitalets) -[enh] new option: 'savenochange' to save or cancel value when it was not changed in form (vitalets) -[enh] composite pk can be defined as JSON in data-pk attribute (vitalets) -[enh #30] new option 'sourceCache' true|false to disable cache for select (vitalets) -[bug #34] inputclass span* broken with fluid bootstrap layout. Classes changed to 'input-*'. (vitalets) -[enh] utils now added to $.fn.editableutils instead of $.fn.editableform.utils (vitalets) -[enh] input types now added to $.fn.editabletypes instead of $.fn.editableform.types (vitalets) -[enh] playground and tests now use requirejs (vitalets) -[bug #27] 'today' button toggle bug in bootstrap-datepicker (vitalets) - - -Version 1.1.1 Nov 30, 2012 ----------------------------- -[enh] 'showbuttons' option to hide buttons in form (vitalets) -[enh] object can be passed in 'option' method to set several options at once (vitalets) -[enh #20] toggle editable by 'dblclick' and 'mouseenter' (vitalets) -[enh] added 'inputs-ext' directory with sample input 'address'. They will not be concatenated to main files (vitalets) -[enh #13] 'onblur' option: to cancel, submit or ignore when user clicks outside the form (vitalets) -[enh] 'ajaxOptions' parameter for advanced ajax configuration (vitalets) -[enh] 'success' callback can return object to overwrite submitted value (vitalets) - - -Version 1.1.0 Nov 27, 2012 ----------------------------- -[enh #11] icon cancel changed to 'cross' (tarciozemel) -[enh] added support for IE7+ (vitalets) -[enh #9] 'name' or 'id' is not required anymore (vitalets) -[enh] 'clear' button added in date and dateui (vitalets) -[enh] form template changed: added DIV.editable-input, DIV.editable.buttons and $.fn.editableform.buttons (vitalets) -[enh] new input type: checklist (vitalets) -[enh] updated docs: inputs dropdown menu, global templates section (vitalets) - - -Version 1.0.1 Nov 22, 2012 ----------------------------- -[enh] contribution guide in README.md (vitalets) -[enh #7] 'shown', 'hidden' events added (vitalets) -[enh #1] params can be a function to calculate it dynamically (vitalets) -[enh #6] do not preventDefault() in click when toggle='manual'. This allows to have clickable links (vitalets) -[bug #3] should not mark element with unsave css if url is user's function (vitalets) - - -Version 1.0.0 Nov 19, 2012 ----------------------------- -Initial release. This library is new life of bootstrap-editable (1.1.4) that was strongly refactored and improved. -Main features: -- support not only bootstrap but any core library: bootstrap, jquery-ui or pure jquery -- different container classes to show form: popover, tooltip, poshytip, etc -- inline and popup versions -- new directory structure and logic in separate js files allowing easy contribution - -It is not fully compatible with bootstrap-editable but has mainly the same interface and api. -Here list of differences to help you to upgrade your application: - -[change] 'toggle' option value can be only click|manual (not toggling element id). In case of 'manual' you should write handler calling 'show' method. -[change] 'validate' option cannot be defined as object anymore. -[change] events 'init', 'update', 'shown', 'hidden' removed. Events 'save', 'cancel' added. Event 'render' remains. -[change] input's option 'template' renamed to 'tpl' (to exclude conflict with container's template). -[change] value can be stored internally as object (previously was always string). Useful for date input. -[change] 'error' callback option is removed. 'success' callback remained. -[enh] 'source' option in select can be array of structure [{value: 1, text: 'abc'}, {...}]. This allows to keep ordering of items in dropdown list. Previous format is supported for compatibility. -[enh] api method 'setValue' to set manually value of editable. -[change] locales directory is excluded from bootstrap-datepicker input. If you need localization you should jus download corresponding file from github. -[change] date and dateui specific options can be set only via 'datepicker' option in first level of config (previously it was possible to set some options directly in config, e.g. weekStart). -[change] if 'url' option defined as function - it is used as submit method instead of ajax (previously it was dynamically return url string and ajax occurred anyway) - -Also all known bugs of bootstrap-editable were closed. diff --git a/modules/lib/x-editable/LICENSE-MIT b/modules/lib/x-editable/LICENSE-MIT deleted file mode 100644 index eeb9357..0000000 --- a/modules/lib/x-editable/LICENSE-MIT +++ /dev/null @@ -1,22 +0,0 @@ -Copyright (c) 2012 Vitaliy Potapov - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. diff --git a/modules/lib/x-editable/README.md b/modules/lib/x-editable/README.md deleted file mode 100644 index 18f0d7e..0000000 --- a/modules/lib/x-editable/README.md +++ /dev/null @@ -1,71 +0,0 @@ -# X-editable - -In-place editing with Twitter Bootstrap, jQuery UI or pure jQuery. -It is a new life of [bootstrap-editable plugin](http://github.com/vitalets/bootstrap-editable) that was strongly refactored and improved. - -## Demo + Docs + Download -See **http://vitalets.github.com/x-editable** - -## Reporting issues -When creating issues please provide [jsFiddle](http://jsfiddle.net) example. You can easily fork one of **jsFiddle templates**: -1. [bootstrap](http://jsfiddle.net/xBB5x/195) -2. [jqueryui](http://jsfiddle.net/xBB5x/196) -3. [plain](http://jsfiddle.net/xBB5x/197) -Your feedback is very appreciated! - -## Contribution -A few steps how to start contributing: - -1.[Fork X-editable](https://github.com/vitalets/x-editable/fork) and pull the latest changes from dev branch - -2.Arrange local directory structure. It should be: -**x-editable** - | -- **lib** (repo related to dev and master branches) - | -- **gh-pages** (repo related to gh-pages branch for docs & demo) - | -- **playground** (simple node-server and html page for testing, [playground_1.2.zip](https://github.com/downloads/vitalets/x-editable/playground_1.2.zip), **updated in 1.2.0!**) - -To make it easy follow this script ( _assuming you have [nodejs](http://nodejs.org) installed_ ). -Please replace <your-github-name> with your name: -```` -mkdir x-editable -cd x-editable - -#lib -git clone https://github.com//x-editable.git -b dev lib -cd lib -#install gruntjs globally - building tool -npm install -g grunt -#install other dependencies - grunt-contrib -npm install -cd .. - -#gh-pages -git clone https://github.com//x-editable.git -b gh-pages gh-pages -cd gh-pages -npm install -cd .. - -#playground -#download playground.zip from https://github.com/downloads/vitalets/x-editable/playground_1.2.zip -unzip playground.zip -cd playground -npm install -```` -3.That's it! You can start editing files in **lib/src** directory or create new editable input/container/whatever. -To test the result go to **playground**, start server node server.js and open in your browser [http://localhost:3000/playground](http://localhost:3000/playground). - -4.To run unit tests you can open it directly in browser **lib/test/index.html**. -Or use grunt's _qunit_ task grunt test. For that you also need to [install PhantomJS](https://github.com/gruntjs/grunt/blob/master/docs/faq.md#why-does-grunt-complain-that-phantomjs-isnt-installed) - -5.To build distributive run grunt build in **lib** directory. Result will appear in **lib/dist**. - -6.To build docs run build data-docs-dist in **gh-pages** directory. Result will appear in **gh-pages/*.html**. -Do not edit **index.html** and **docs.html** directly! Instead look at [Handlebars](https://github.com/wycats/handlebars.js) templates in **generator/templates**. - -7.Commit changes on dev / gh-pages-dev branch and make pull request as usual. - -Thanks for your support! - -## License -Copyright (c) 2012 Vitaliy Potapov -Licensed under the MIT licenses. \ No newline at end of file diff --git a/objectx/obj_controller/controller.php b/objectx/obj_controller/controller.php deleted file mode 100644 index ae072e7..0000000 --- a/objectx/obj_controller/controller.php +++ /dev/null @@ -1,363 +0,0 @@ -0){$OBJTABLE=$tablename;} - $validationvalue=$_REQUEST['validationvalue']; - $qry="select id from $OBJTABLE where $fieldcriteria='$id'"; - //echo $qry;return false; - if(!$this->fn_row_isexists($qry)) - { - echo "failed|Mohon Maaf Kode ".$validationvalue." tidak ditemukan. TERIMA KASIH";return false; - //echo "failed|$qry";return false; - } - echo "ok|"; - } - - - public function FN_VALIDINPUTVALUE($DBNAME=null) - { - if(!$DBNAME){$DBNAME=DB_APORTIL;} - $tablename=$_REQUEST['tableobj']; - $fieldname=$_REQUEST['fields']; - $fieldvalue=$_REQUEST['fieldvalue']; - $OBJTABLE="$DBNAME.".$tablename; - //echo $OBJTABLE." ".$fields;return false; - //if(count($sptablename)>0){$OBJTABLE=$tablename;} - //$validationvalue=$_REQUEST['validationvalue']; - $qry="select $fieldname from $OBJTABLE where $fieldname='$fieldvalue' and isdeleted=0"; - //echo $qry;return false; - if($this->fn_row_isexists($qry)) - { - echo "failed|Mohon Maaf Kode ".$fieldvalue." sudah pernah ditambahkan. TERIMA KASIH";return false; - } - echo "ok|"; - } - - public function FN_GETFIELDVALUE() - { - $getfield=$_REQUEST['getfield']; - $tablename=$_REQUEST['tableobj']; - $swhere=$_REQUEST['swhere']; - $sp1=explode("|",$swhere); - $fswhere=$sp1[0];$valswhere=$sp1[1]; - $qry="select $getfield from ".DB_APORTIL.".$tablename where $fswhere='$valswhere' and isdeleted=0 order by id desc limit 1"; - //echo $qry; - if(!$this->fn_row_isexists($qry)) - { - echo "Mohon Maaf Kode ".$valswhere." tidak ditemukan / Kode kosong. TERIMA KASIH";return false; - } - $rtnval=$this->fn_get_fieldvalue("$getfield",$qry); - echo $rtnval; - - } - - public function FN_GETFIELDSVALUE() - { - $getfield=$_REQUEST['getfield']; - $tablename=$_REQUEST['tableobj']; - $swhere=$_REQUEST['swhere']; - $sp1=explode("|",$swhere); - $fswhere=$sp1[0];$valswhere=$sp1[1]; - $qry="select $getfield from ".DB_APORTIL.".$tablename where $fswhere='$valswhere' and isdeleted=0 order by id desc limit 1"; - //echo $qry; - if(!$this->fn_row_isexists($qry)) - { - echo "Mohon Maaf Kode ".$valswhere." tidak ditemukan / Kode kosong. TERIMA KASIH";return false; - } - $sp=$this->fn_get_fieldsvalues("$getfield",$qry);$rtnval=""; - for($i=0;$i1){$DBNAME=$sptbl[0];$tablename=$sptbl[1];} - - $fields=$_POST['fields']; - $spfields=explode(",","id,".$fields); - $fields=""; - for($xf=0;$xf0) // === exception id column - { - $s=explode("|",$spfields[$xf]); - if(count($s)>1) - { - $spfields[$xf]="concat(".$s[0].",',',".$s[1].") f".$xf;//$fields.="f".$xf.","; - // === check link to another table for feed - $ss=explode(":",$s[1]); - if(count($ss)>1) - { - $qry="select f.".$ss[1]." from $ss[0] f inner join ".$DBNAME.".$tablename p on f.id=p.$s[0] where p.id='$id'"; - //echo "ok|".$qry;return false; - $textcombo=$this->fn_get_fieldvalue($ss[1],$qry); - $spfields[$xf]="concat(".$s[0].",',','".$textcombo."') f".$xf; - } - // ======================================== - $fields.="f".$xf.","; - }else{$fields.=$spfields[$xf].",";} - $cfields.=$spfields[$xf].","; - } - } - if(substr($cfields,strlen($cfields)-1,1)==','){$cfields=substr($cfields,0,strlen($cfields)-1);} - if(substr($fields,strlen($fields)-1,1)==','){$fields=substr($fields,0,strlen($fields)-1);} - $qry="select id,$cfields,iby from ".$DBNAME.".$tablename where id='$id'"; - //echo "ok|".$qry." ".$fields;return false; - //echo "ok|".$qry;return false; - // === Validation User Input - //$iby=$this->fn_get_fieldvalue("iby",$qry);//echo "failed|$iby";return false; -// if($_SESSION['nik']!==$iby&&$_SESSION['idlevel']<=1) -// { -// $username=$this->fn_get_fieldvalue("namaemployee","select namaemployee from ".DB_SIMAS.".tbl_employee where nik='$iby'"); -// $result="failed|Mohon Maaf Row Data ini hanya bisa diedit oleh user $username !.TERIMA KASIH"; -// echo $result;return false; -// } - //echo $qry;return false; - $rs=$this->selectquery($qry); - if($rs) - { - //echo "failed|".mysql_error();return false; - $sp=$this->fn_get_fieldsvalues("id,".$fields,$qry); - //echo "ok|".$fields;return false; - //$sp=$this->fn_get_fieldsvalues($fields,$qry); - for($i=0;$i1) - { - //$j=0; - for($j=0;$jformat('m'); - $day = $dt->format('d'); - $year = $dt->format('Y'); - if( checkdate($month, $day, $year) ) { - return true; - } - else { - return false; - } - } - - public function FN_GETINFOTABLE2_old() - { - $result=""; - $id=$_POST['id']; - $tablename=$_POST['tablename']; - $fields=$_POST['fields']; - $spfields=explode(",","id,".$fields); - $fields=""; - for($xf=0;$xf0) - { - $s=explode("|",$spfields[$xf]); - if(count($s)>1){$spfields[$xf]="concat(".$s[0].",',',".$s[1].") f".$xf;$fields.="f".$xf.",";}else{$fields.=$spfields[$xf].",";} - $cfields.=$spfields[$xf].","; - } - } - if(substr($cfields,strlen($cfields)-1,1)==','){$cfields=substr($cfields,0,strlen($cfields)-1);} - if(substr($fields,strlen($fields)-1,1)==','){$fields=substr($fields,0,strlen($fields)-1);} - $qry="select id,$cfields,iby from ".DB_APORTIL.".$tablename where id='$id'"; - //echo "ok|".$qry." ".$fields;return false; - // === Validation User Input - $iby=$this->fn_get_fieldvalue("iby",$qry);//echo "failed|$iby";return false; - //if($tablename!=='tbl_jenisbiayalainsmu') -// { -// if($_SESSION['nik']!==$iby&&$_SESSION['idlevel']<=1) -// { -// $username=$this->fn_get_fieldvalue("namaemployee","select namaemployee from ".DB_APORTIL.".tbl_userlogin where nik='$iby'"); -// $result="failed|Mohon Maaf Row Data ini hanya bisa diedit oleh user $username !.TERIMA KASIH"; -// echo $result;return false; -// } -// } - //echo $qry;return false; - $rs=$this->selectquery($qry); - if($rs) - { - //echo "failed|".mysql_error();return false; - $sp=$this->fn_get_fieldsvalues("id,".$fields,$qry); - //$sp=$this->fn_get_fieldsvalues($fields,$qry); - for($i=0;$i1) - { - //$j=0; - for($j=0;$jfn_get_fieldvalue("iby",$qry); - if($_SESSION['nik']!==$iby&&$_SESSION['idlevel']<=1) - { - $username=$this->fn_get_fieldvalue("namaemployee","select namaemployee from ".DB_APORTIL.".tbl_userlogin where nik='$iby'"); - $result="failed|Mohon Maaf Row Data ini hanya bisa diedit oleh user $username !.TERIMA KASIH"; - //echo $result;return false; - } - //echo $qry;return false; - $rs=$this->selectquery($qry); - if($rs) - { - //echo "failed|".mysql_error();return false; - $sp=$this->fn_get_fieldsvalues("id,".$fields,$qry); - for($i=0;$i1) - { - //$j=0; - for($j=0;$jdec($case);}} - - //echo $case; - - switch($case) - { - case $case: - $task=strtoupper("fn_".$case); - if(method_exists($cl,$task)){$cl->$task();} - break; - //case "getvalidcombo": -// $cl->FN_GETVALIDCOMBO(); -// break; -// -// case "dhtmlxaddcombo": -// $cl->FN_DHTMLXADDCOMBO(); -// break; -// -// case "validinputvalue": -// $cl->FN_VALIDINPUTVALUE(); -// break; - -// case "contextmenu2": -// $cl->FN_DHTMLXGRIDCONTEXTMENU2(); -// break; -// -// case "contxtmenustruc": -// $cl->FN_DHTMLXCONTEXTMENUSTRUCTURE(); -// break; - } -?> diff --git a/objectx/obj_controller/controllerOld.php b/objectx/obj_controller/controllerOld.php deleted file mode 100644 index ab16cf4..0000000 --- a/objectx/obj_controller/controllerOld.php +++ /dev/null @@ -1,245 +0,0 @@ -0){$OBJTABLE=$tablename;} - $validationvalue=$_REQUEST['validationvalue']; - $qry="select id from $OBJTABLE where $fieldcriteria='$id'"; - //echo $qry;return false; - if(!$this->fn_row_isexists($qry)) - { - echo "failed|Mohon Maaf Kode ".$validationvalue." tidak ditemukan. TERIMA KASIH";return false; - //echo "failed|$qry";return false; - } - echo "ok|"; - } - - - public function FN_VALIDINPUTVALUE($DBNAME=null) - { - if(!$DBNAME){$DBNAME=DB_ME6;} - $tablename=$_REQUEST['tableobj']; - $fieldname=$_REQUEST['fields']; - $fieldvalue=$_REQUEST['fieldvalue']; - $OBJTABLE="$DBNAME.".$tablename; - //echo $OBJTABLE." ".$fields;return false; - //if(count($sptablename)>0){$OBJTABLE=$tablename;} - //$validationvalue=$_REQUEST['validationvalue']; - $qry="select $fieldname from $OBJTABLE where $fieldname='$fieldvalue' and isdeleted=0"; - //echo $qry;return false; - if($this->fn_row_isexists($qry)) - { - echo "failed|Mohon Maaf Kode ".$fieldvalue." sudah pernah ditambahkan. TERIMA KASIH";return false; - } - echo "ok|"; - } - - public function FN_GETFIELDVALUE() - { - $getfield=$_REQUEST['getfield']; - $tablename=$_REQUEST['tableobj']; - $swhere=$_REQUEST['swhere']; - $sp1=explode("|",$swhere); - $fswhere=$sp1[0];$valswhere=$sp1[1]; - $qry="select $getfield from ".DB_ME6.".$tablename where $fswhere='$valswhere' and isdeleted=0 order by id desc limit 1"; - //echo $qry; - if(!$this->fn_row_isexists($qry)) - { - echo "Mohon Maaf Kode ".$valswhere." tidak ditemukan / Kode kosong. TERIMA KASIH";return false; - } - $rtnval=$this->fn_get_fieldvalue("$getfield",$qry); - echo $rtnval; - - } - - public function FN_GETFIELDSVALUE() - { - $getfield=$_REQUEST['getfield']; - $tablename=$_REQUEST['tableobj']; - $swhere=$_REQUEST['swhere']; - $sp1=explode("|",$swhere); - $fswhere=$sp1[0];$valswhere=$sp1[1]; - $qry="select $getfield from ".DB_ME6.".$tablename where $fswhere='$valswhere' and isdeleted=0 order by id desc limit 1"; - //echo $qry; - if(!$this->fn_row_isexists($qry)) - { - echo "Mohon Maaf Kode ".$valswhere." tidak ditemukan / Kode kosong. TERIMA KASIH";return false; - } - $sp=$this->fn_get_fieldsvalues("$getfield",$qry);$rtnval=""; - for($i=0;$i0) - { - $s=explode("|",$spfields[$xf]); - if(count($s)>1){$spfields[$xf]="concat(".$s[0].",',',".$s[1].") f".$xf;$fields.="f".$xf.",";}else{$fields.=$spfields[$xf].",";} - $cfields.=$spfields[$xf].","; - } - } - if(substr($cfields,strlen($cfields)-1,1)==','){$cfields=substr($cfields,0,strlen($cfields)-1);} - if(substr($fields,strlen($fields)-1,1)==','){$fields=substr($fields,0,strlen($fields)-1);} - $qry="select id,$cfields,iby from ".DB_ME6.".$tablename where id='$id'"; - //echo "ok|".$qry." ".$fields;return false; - // === Validation User Input - $iby=$this->fn_get_fieldvalue("iby",$qry);//echo "failed|$iby";return false; - if($tablename!=='tbl_jenisbiayalainsmu') - { - if($_SESSION['nik']!==$iby&&$_SESSION['idlevel']<=1) - { - $username=$this->fn_get_fieldvalue("namaemployee","select namaemployee from ".DB_ME6.".tbl_userlogin where nik='$iby'"); - $result="failed|Mohon Maaf Row Data ini hanya bisa diedit oleh user $username !.TERIMA KASIH"; - echo $result;return false; - } - } - //echo $qry;return false; - $rs=$this->selectquery($qry); - if($rs) - { - //echo "failed|".mysql_error();return false; - $sp=$this->fn_get_fieldsvalues("id,".$fields,$qry); - //$sp=$this->fn_get_fieldsvalues($fields,$qry); - for($i=0;$i1) - { - //$j=0; - for($j=0;$jfn_get_fieldvalue("iby",$qry); - if($_SESSION['nik']!==$iby&&$_SESSION['idlevel']<=1) - { - $username=$this->fn_get_fieldvalue("namaemployee","select namaemployee from ".DB_ME6.".tbl_userlogin where nik='$iby'"); - $result="failed|Mohon Maaf Row Data ini hanya bisa diedit oleh user $username !.TERIMA KASIH"; - echo $result;return false; - } - //echo $qry;return false; - $rs=$this->selectquery($qry); - if($rs) - { - //echo "failed|".mysql_error();return false; - $sp=$this->fn_get_fieldsvalues("id,".$fields,$qry); - for($i=0;$i1) - { - //$j=0; - for($j=0;$jdec($case);}} - - //echo $case; - - switch($case) - { - case $case: - $task=strtoupper("fn_".$case); - if(method_exists($cl,$task)){$cl->$task();} - break; - //case "getvalidcombo": -// $cl->FN_GETVALIDCOMBO(); -// break; -// -// case "dhtmlxaddcombo": -// $cl->FN_DHTMLXADDCOMBO(); -// break; -// -// case "validinputvalue": -// $cl->FN_VALIDINPUTVALUE(); -// break; - -// case "contextmenu2": -// $cl->FN_DHTMLXGRIDCONTEXTMENU2(); -// break; -// -// case "contxtmenustruc": -// $cl->FN_DHTMLXCONTEXTMENUSTRUCTURE(); -// break; - } -?> diff --git a/objectx/obj_data/data.html.php b/objectx/obj_data/data.html.php deleted file mode 100644 index 7ccf881..0000000 --- a/objectx/obj_data/data.html.php +++ /dev/null @@ -1,27 +0,0 @@ - \ No newline at end of file diff --git a/objectx/obj_data/data.php b/objectx/obj_data/data.php deleted file mode 100644 index f8e5ef6..0000000 --- a/objectx/obj_data/data.php +++ /dev/null @@ -1,39 +0,0 @@ -dec($case);$obj=$cl->dec($obj);}} - - if(file_exists(PATH_OBJECT."/$option/$obj.php")) - { - require_once("$obj.php"); - $className=strtoupper($obj); - $clfile=new $className(); - $fn_init_java=$className."_javainit"; - $init_java=trim($_REQUEST['init_java']);if($init_java){$clfile->$fn_init_java();} - - $case=$obj; - } - - if(!$case){$case=$obj;if(!file_exists(PATH_OBJECT."/$option/$obj.php")){$cl->under_construction();}} - $sptask=explode("_",$case);$modulename=$sptask[1];$fn_module_init="fn_".$modulename."_init"; - - switch($case) - { - case "data_$modulename": - $clfile->$fn_module_init(); - break; - } - -?> \ No newline at end of file diff --git a/objectx/obj_data/data_cargoprice.php b/objectx/obj_data/data_cargoprice.php deleted file mode 100644 index 04af1aa..0000000 --- a/objectx/obj_data/data_cargoprice.php +++ /dev/null @@ -1,425 +0,0 @@ -dec($task);}} - - switch($task) - { - case "default": - $this->fn_default_cargoprice(); - break; - - case $task: - $task="fn_".$task; - if(method_exists($this,$task)){$this->$task();} - break; - - default: - $this->fn_default_cargoprice(); - break; - } - } - public function fn_default_cargoprice() - { - echo $this->FN_CREATEHEADER(); - - echo ""; - echo ""; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); - - echo " - - - - - - -
                    "; - $qry="select filepdf from ".DB_APORTIL.".tbl_manualbook where isdeleted=0 and filepdf='cargoprice_information.pdf'"; - $filepdf=$this->fn_get_fieldvalue("filepdf",$qry); - $urlmanualbook=" MANUAL BOOK"; - $url="location.reload();"; - $myuri=array("CARGO PRICE INFORMATION"=>"$url|id='a_newticket'","$urlmanualbook"=>"|id='a_manualbook'"); - echo $this->MULTIPLE_LINK($myuri); - echo "
                    -
                    - - - - - -
                    -
                    -
                    - - - - - - - - - - - - - - -
                    -
                    -
                    -
                    -
                    -
                    -
                    ".$this->CREATE_IMAGE("loadergrid.gif")."
                    - - - - - - -
                    Notes:- Click Row For Edit
                    -
                    -
                    -
                    -
                    "; - echo $this->FN_CREATEFOOTER(); - - } - - public function fn_grdrecord() - { - $keyword=$_REQUEST["keyword"]; - header("Content-type: text/xml"); - echo(''); - echo ""; - - $qry="select id,idcategory,cargocategory,cargodescription,routenamestart,routenameend,units,prices,years - from ".DB_APORTIL.".tbl_cargoprice_information - where cargocategory like '%$keyword%' and isdeleted=0 - order by id asc limit ".TBL_PAGE_LIMIT; - - $rs=$this->selectquery($qry); - if($rs) - { - $i=1; - while($row=$this->data_row_array($rs)) - { - echo (""); - print(""); - print(""); - print(""); - print(""); - $destination=$row['routenamestart']."-".$row['routenameend']; - print(""); - print(""); - print(""); - print(""); - echo (""); - $i+=1; - } - } - else - { - echo mysql_errno().": ".mysql_error()." at ".__LINE__." line in ".__FILE__." file
                    "; - } - echo "
                    "; - - } - - public function fn_saverecord($isupdate=null) - { - if($isupdate){$id=$_REQUEST['txt_id'];} - $idcategory=$_REQUEST['cbo_idcategory']; - $cargocategory=$this->fn_get_fieldvalue("cargocategory","select cargocategory from ".DB_APORTIL.".tbl_cargo_category where id='".$idcategory."'"); - $cargodescription=$_REQUEST['txt_cargodescription']; - $idroutestart=$_REQUEST['cbo_idroutestart']; - $routenamestart=$this->fn_get_fieldvalue("routename","select routename from ".DB_APORTIL.".tbl_route_information where id='".$idroutestart."'"); - $idrouteend=$_REQUEST['cbo_idrouteend']; - $routenameend=$this->fn_get_fieldvalue("routename","select routename from ".DB_APORTIL.".tbl_route_information where id='".$idrouteend."'"); - - $idunits=$_REQUEST['cbo_idunits']; - $units=$this->fn_get_fieldvalue("units","select units from ".DB_APORTIL.".tbl_cargo_units where id='".$idunits."'"); - $prices=$_REQUEST['txt_prices']; - $years=$_REQUEST['txt_years']; - - - // === Check Validation Cargo Price Information - $qry="select id from ".DB_APORTIL.".tbl_cargoprice_information - where idroutestart='$idroutestart' and idrouteend='$idrouteend' and years='$years' and cargodescription='$cargodescription' and isdeleted='0' - order by id desc limit 1"; - if($this->fn_row_isexists($qry)&&!$isupdate){ - echo "failed|Price is already exists, for editing please click your Table";return false; - } - // ============================================= - - $qry="insert into ".DB_APORTIL.".tbl_cargoprice_information - set idcategory='$idcategory',cargocategory='$cargocategory',cargodescription='$cargodescription', - idroutestart='$idroutestart',routenamestart='$routenamestart',idrouteend='$idrouteend',routenameend='$routenameend', - idunits='$idunits',units='$units',prices='$prices',years='$years',iby='".$_SESSION['nik']."',idt=now()"; - if($isupdate) - { - $qry="update ".DB_APORTIL.".tbl_cargoprice_information - set idcategory='$idcategory',cargocategory='$cargocategory',cargodescription='$cargodescription', - idroutestart='$idroutestart',routenamestart='$routenamestart',idrouteend='$idrouteend',routenameend='$routenameend', - idunits='$idunits',units='$units',prices='$prices',years='$years',uby='".$_SESSION['nik']."',udt=now() - where id='$id'"; - } - - if($this->executequery($qry)){echo "ok|";return true;} - } - public function fn_updrecord(){$this->fn_saverecord(true);} - - public function fn_delrecord() - { - $id=$_REQUEST['txt_id']; - $remark=$_REQUEST['txtremark']; - $qry="update ".DB_APORTIL.".tbl_cargoprice_information - set isdeleted=1,remark='$remark',dby='".$_SESSION['nik']."',ddt=now() - where id='$id'"; - if($this->executequery($qry)){echo "ok|";return true;} - else - { - echo "failed|".$this->getErrorQuery(); - } - } - } -?> \ No newline at end of file diff --git a/objectx/obj_data/data_empdept.php b/objectx/obj_data/data_empdept.php deleted file mode 100644 index 80a94cf..0000000 --- a/objectx/obj_data/data_empdept.php +++ /dev/null @@ -1,354 +0,0 @@ -dec($task);}} - - switch($task) - { - case "default": - $this->fn_default_empdept(); - break; - - case $task: - $task="fn_".$task; - if(method_exists($this,$task)){$this->$task();} - break; - - default: - $this->fn_default_empdept(); - break; - } - } - public function fn_default_empdept() - { - echo $this->FN_CREATEHEADER(); - - echo ""; - echo ""; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); - - echo " - - - - - - -
                    "; - $qry="select filepdf from ".DB_APORTIL.".tbl_manualbook where isdeleted=0 and filepdf='employee_department.pdf'"; - $filepdf=$this->fn_get_fieldvalue("filepdf",$qry); - $urlmanualbook=" MANUAL BOOK"; - $url="location.reload();"; - $myuri=array("EMPLOYEE DEPARTMENT INFORMATION"=>"$url|id='a_newticket'","$urlmanualbook"=>"|id='a_manualbook'"); - echo $this->MULTIPLE_LINK($myuri); - echo "
                    -
                    - - - - - -
                    -
                    -
                    - - - - - - - - - - - - - - -
                    -
                    -
                    -
                    -
                    -
                    -
                    ".$this->CREATE_IMAGE("loadergrid.gif")."
                    - - - - - - -
                    Notes:- Click Row For Edit
                    -
                    -
                    -
                    -
                    "; - echo $this->FN_CREATEFOOTER(); - - } - - public function fn_grdrecord() - { - $keyword=$_REQUEST["keyword"]; - header("Content-type: text/xml"); - echo(''); - echo ""; - - $qry="select id,departmentname,description - from ".DB_APORTIL.".tbl_employee_department - where departmentname like '%$keyword%' and isdeleted=0 - order by id asc limit ".TBL_PAGE_LIMIT; - - $rs=$this->selectquery($qry); - if($rs) - { - $i=1; - while($row=$this->data_row_array($rs)) - { - echo (""); - print(""); - print(""); - print(""); - print(""); - echo (""); - $i+=1; - } - } - else - { - echo mysql_errno().": ".mysql_error()." at ".__LINE__." line in ".__FILE__." file
                    "; - } - echo "
                    "; - - } - - public function fn_saverecord($isupdate=null) - { - if($isupdate){$id=$_REQUEST['txt_id'];} - $departmentname=$_REQUEST['txt_departmentname']; - $description=$_REQUEST['txt_description']; - - $qry="insert into ".DB_APORTIL.".tbl_employee_department - set departmentname='$departmentname',description='$description',iby='".$_SESSION['nik']."',idt=now()"; - if($isupdate) - { - $qry="update ".DB_APORTIL.".tbl_employee_department - set departmentname='$departmentname',description='$description',uby='".$_SESSION['nik']."',udt=now() - where id='$id'"; - } - - if($this->executequery($qry)){echo "ok|";return true;} - } - public function fn_updrecord(){$this->fn_saverecord(true);} - - public function fn_delrecord() - { - $id=$_REQUEST['txt_id']; - $remark=$_REQUEST['txtremark']; - $qry="update ".DB_APORTIL.".tbl_employee_department - set isdeleted=1,remark='$remark',dby='".$_SESSION['nik']."',ddt=now() - where id='$id'"; - if($this->executequery($qry)){echo "ok|";return true;} - else - { - echo "failed|".$this->getErrorQuery(); - } - } - } -?> \ No newline at end of file diff --git a/objectx/obj_data/data_empsec.php b/objectx/obj_data/data_empsec.php deleted file mode 100644 index f402d6e..0000000 --- a/objectx/obj_data/data_empsec.php +++ /dev/null @@ -1,368 +0,0 @@ -dec($task);}} - - switch($task) - { - case "default": - $this->fn_default_empsec(); - break; - - case $task: - $task="fn_".$task; - if(method_exists($this,$task)){$this->$task();} - break; - - default: - $this->fn_default_empsec(); - break; - } - } - public function fn_default_empsec() - { - echo $this->FN_CREATEHEADER(); - - echo ""; - echo ""; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); - - echo " - - - - - - -
                    "; - $qry="select filepdf from ".DB_APORTIL.".tbl_manualbook where isdeleted=0 and filepdf='employee_section.pdf'"; - $filepdf=$this->fn_get_fieldvalue("filepdf",$qry); - $urlmanualbook=" MANUAL BOOK"; - $url="location.reload();"; - $myuri=array("EMPLOYEE SECTION INFORMATION"=>"$url|id='a_newticket'","$urlmanualbook"=>"|id='a_manualbook'"); - echo $this->MULTIPLE_LINK($myuri); - echo "
                    -
                    - - - - - -
                    -
                    -
                    - - - - - - - - - - - - - - -
                    -
                    -
                    -
                    -
                    -
                    -
                    ".$this->CREATE_IMAGE("loadergrid.gif")."
                    - - - - - - -
                    Notes:- Click Row For Edit
                    -
                    -
                    -
                    -
                    "; - echo $this->FN_CREATEFOOTER(); - - } - - public function fn_grdrecord() - { - $keyword=$_REQUEST["keyword"]; - header("Content-type: text/xml"); - echo(''); - echo ""; - - $qry="select id,sectionname,description,iddept,departmentname - from ".DB_APORTIL.".tbl_employee_section - where sectionname like '%$keyword%' and isdeleted=0 - order by id asc limit ".TBL_PAGE_LIMIT; - - $rs=$this->selectquery($qry); - if($rs) - { - $i=1; - while($row=$this->data_row_array($rs)) - { - echo (""); - print(""); - print(""); - print(""); - print(""); - print(""); - echo (""); - $i+=1; - } - } - else - { - echo mysql_errno().": ".mysql_error()." at ".__LINE__." line in ".__FILE__." file
                    "; - } - echo "
                    "; - - } - - public function fn_saverecord($isupdate=null) - { - if($isupdate){$id=$_REQUEST['txt_id'];} - $sectionname=$_REQUEST['txt_sectionname']; - $description=$_REQUEST['txt_description']; - $iddept=$_REQUEST['cbo_iddept']; - $departmentname=$this->fn_get_fieldvalue("departmentname","select departmentname from ".DB_APORTIL.".tbl_employee_department where id='".$iddept."'"); - - $qry="insert into ".DB_APORTIL.".tbl_employee_section - set sectionname='$sectionname',description='$description',iddept='$iddept',departmentname='$departmentname',iby='".$_SESSION['nik']."',idt=now()"; - if($isupdate) - { - $qry="update ".DB_APORTIL.".tbl_employee_section - set sectionname='$sectionname',description='$description',iddept='$iddept',departmentname='$departmentname',uby='".$_SESSION['nik']."',udt=now() - where id='$id'"; - } - - if($this->executequery($qry)){echo "ok|";return true;} - } - public function fn_updrecord(){$this->fn_saverecord(true);} - - public function fn_delrecord() - { - $id=$_REQUEST['txt_id']; - $remark=$_REQUEST['txtremark']; - $qry="update ".DB_APORTIL.".tbl_employee_section - set isdeleted=1,remark='$remark',dby='".$_SESSION['nik']."',ddt=now() - where id='$id'"; - if($this->executequery($qry)){echo "ok|";return true;} - else - { - echo "failed|".$this->getErrorQuery(); - } - } - } -?> \ No newline at end of file diff --git a/objectx/obj_data/data_priceinfo.php b/objectx/obj_data/data_priceinfo.php deleted file mode 100644 index 019c8bb..0000000 --- a/objectx/obj_data/data_priceinfo.php +++ /dev/null @@ -1,394 +0,0 @@ -dec($task);}} - - switch($task) - { - case "default": - $this->fn_default_priceinfo(); - break; - - case $task: - $task="fn_".$task; - if(method_exists($this,$task)){$this->$task();} - break; - - default: - $this->fn_default_priceinfo(); - break; - } - } - public function fn_default_priceinfo() - { - echo $this->FN_CREATEHEADER(); - - echo ""; - echo ""; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); - - echo " - - - - - - -
                    "; - $qry="select filepdf from ".DB_APORTIL.".tbl_manualbook where isdeleted=0 and filepdf='passengerprice_information.pdf'"; - $filepdf=$this->fn_get_fieldvalue("filepdf",$qry); - $urlmanualbook=" MANUAL BOOK"; - $url="location.reload();"; - $myuri=array("PRICE INFORMATION"=>"$url|id='a_newticket'","$urlmanualbook"=>"|id='a_manualbook'"); - echo $this->MULTIPLE_LINK($myuri); - echo "
                    -
                    - - - - - -
                    -
                    -
                    - - - - - - - - - - - - - - -
                    -
                    -
                    -
                    -
                    -
                    -
                    ".$this->CREATE_IMAGE("loadergrid.gif")."
                    - - - - - - -
                    Notes:- Click Row For Edit
                    -
                    -
                    -
                    -
                    "; - echo $this->FN_CREATEFOOTER(); - - } - - public function fn_grdrecord() - { - $keyword=$_REQUEST["keyword"]; - header("Content-type: text/xml"); - echo(''); - echo ""; - - $qry="select id,idroutestart,routenamestart,idrouteend,routenameend,prices,years - from ".DB_APORTIL.".tbl_price_information - where idroutestart like '%$keyword%' and isdeleted=0 - order by id asc limit ".TBL_PAGE_LIMIT; - - $rs=$this->selectquery($qry); - if($rs) - { - $i=1; - while($row=$this->data_row_array($rs)) - { - echo (""); - print(""); - print(""); - print(""); - print(""); - print(""); - print(""); - echo (""); - $i+=1; - } - } - else - { - echo mysql_errno().": ".mysql_error()." at ".__LINE__." line in ".__FILE__." file
                    "; - } - echo "
                    "; - - } - - public function fn_saverecord($isupdate=null) - { - if($isupdate){$id=$_REQUEST['txt_id'];} - $idroutestart=$_REQUEST['cbo_idroutestart']; - $routenamestart=$this->fn_get_fieldvalue("routename","select routename from ".DB_APORTIL.".tbl_route_information where id='".$idroutestart."'"); - $idrouteend=$_REQUEST['cbo_idrouteend']; - $routenameend=$this->fn_get_fieldvalue("routename","select routename from ".DB_APORTIL.".tbl_route_information where id='".$idrouteend."'"); - $prices=$_REQUEST['txt_prices']; - $years=$_REQUEST['txt_years']; - - // === Check Validation Route Price Information - $qry="select id from ".DB_APORTIL.".tbl_price_information - where idroutestart='$idroutestart' and idrouteend='$idrouteend' and years='$years' and isdeleted='0' - order by id desc limit 1"; - if($this->fn_row_isexists($qry)&&!$isupdate){ - echo "failed|Price is already exists, for editing please click your Table";return false; - } - // ============================================= - $qry="insert into ".DB_APORTIL.".tbl_price_information - set idroutestart='$idroutestart',routenamestart='$routenamestart',idrouteend='$idrouteend',routenameend='$routenameend', - prices='$prices',years='$years',iby='".$_SESSION['nik']."',idt=now()"; - if($isupdate) - { - $qry="update ".DB_APORTIL.".tbl_price_information - set idroutestart='$idroutestart',routenamestart='$routenamestart',idrouteend='$idrouteend',routenameend='$routenameend', - prices='$prices',years='$years',uby='".$_SESSION['nik']."',udt=now() - where id='$id'"; - } - - if($this->executequery($qry)){echo "ok|";return true;} - } - public function fn_updrecord(){$this->fn_saverecord(true);} - - public function fn_delrecord() - { - $id=$_REQUEST['txt_id']; - $remark=$_REQUEST['txtremark']; - $qry="update ".DB_APORTIL.".tbl_price_information - set isdeleted=1,remark='$remark',dby='".$_SESSION['nik']."',ddt=now() - where id='$id'"; - if($this->executequery($qry)){echo "ok|";return true;} - else - { - echo "failed|".$this->getErrorQuery(); - } - } - } -?> \ No newline at end of file diff --git a/objectx/obj_data/data_route.php b/objectx/obj_data/data_route.php deleted file mode 100644 index 7793b1b..0000000 --- a/objectx/obj_data/data_route.php +++ /dev/null @@ -1,354 +0,0 @@ -dec($task);}} - - switch($task) - { - case "default": - $this->fn_default_route(); - break; - - case $task: - $task="fn_".$task; - if(method_exists($this,$task)){$this->$task();} - break; - - default: - $this->fn_default_route(); - break; - } - } - public function fn_default_route() - { - echo $this->FN_CREATEHEADER(); - - echo ""; - echo ""; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); - - echo " - - - - - - -
                    "; - $qry="select filepdf from ".DB_APORTIL.".tbl_manualbook where isdeleted=0 and filepdf='route_information.pdf'"; - $filepdf=$this->fn_get_fieldvalue("filepdf",$qry); - $urlmanualbook=" MANUAL BOOK"; - $url="location.reload();"; - $myuri=array("ROUTE INFORMATION"=>"$url|id='a_newticket'","$urlmanualbook"=>"|id='a_manualbook'"); - echo $this->MULTIPLE_LINK($myuri); - echo "
                    -
                    - - - - - -
                    -
                    -
                    - - - - - - - - - - - - - - -
                    -
                    -
                    -
                    -
                    -
                    -
                    ".$this->CREATE_IMAGE("loadergrid.gif")."
                    - - - - - - -
                    Notes:- Click Row For Edit
                    -
                    -
                    -
                    -
                    "; - echo $this->FN_CREATEFOOTER(); - - } - - public function fn_grdrecord() - { - $keyword=$_REQUEST["keyword"]; - header("Content-type: text/xml"); - echo(''); - echo ""; - - $qry="select id,routename,description - from ".DB_APORTIL.".tbl_route_information - where routename like '%$keyword%' and isdeleted=0 - order by id asc limit ".TBL_PAGE_LIMIT; - - $rs=$this->selectquery($qry); - if($rs) - { - $i=1; - while($row=$this->data_row_array($rs)) - { - echo (""); - print(""); - print(""); - print(""); - print(""); - echo (""); - $i+=1; - } - } - else - { - echo mysql_errno().": ".mysql_error()." at ".__LINE__." line in ".__FILE__." file
                    "; - } - echo "
                    "; - - } - - public function fn_saverecord($isupdate=null) - { - if($isupdate){$id=$_REQUEST['txt_id'];} - $routename=$_REQUEST['txt_routename']; - $description=$_REQUEST['txt_description']; - - $qry="insert into ".DB_APORTIL.".tbl_route_information - set routename='$routename',description='$description',iby='".$_SESSION['nik']."',idt=now()"; - if($isupdate) - { - $qry="update ".DB_APORTIL.".tbl_route_information - set routename='$routename',description='$description',uby='".$_SESSION['nik']."',udt=now() - where id='$id'"; - } - - if($this->executequery($qry)){echo "ok|";return true;} - } - public function fn_updrecord(){$this->fn_saverecord(true);} - - public function fn_delrecord() - { - $id=$_REQUEST['txt_id']; - $remark=$_REQUEST['txtremark']; - $qry="update ".DB_APORTIL.".tbl_route_information - set isdeleted=1,remark='$remark',dby='".$_SESSION['nik']."',ddt=now() - where id='$id'"; - if($this->executequery($qry)){echo "ok|";return true;} - else - { - echo "failed|".$this->getErrorQuery(); - } - } - } -?> \ No newline at end of file diff --git a/objectx/obj_data/data_route_new.php b/objectx/obj_data/data_route_new.php deleted file mode 100644 index cf0f9ac..0000000 --- a/objectx/obj_data/data_route_new.php +++ /dev/null @@ -1,358 +0,0 @@ -dec($task);}} - - switch($task) - { - case "default": - $this->fn_default_route(); - break; - - case $task: - $task="fn_".$task; - if(method_exists($this,$task)){$this->$task();} - break; - - default: - $this->fn_default_route(); - break; - } - } - public function fn_default_route() - { - echo $this->FN_CREATEHEADER(); - - echo ""; - echo ""; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); - - echo " - - - - - - -
                    "; - $url="location.reload();"; - $myuri=array("ROUTE INFORMATION"=>"$url|id='a_route'"); - echo $this->MULTIPLE_LINK($myuri); - echo "
                    -
                    - - - - - -
                    -
                    -
                    - - - - - - - - - - - - - - -
                    -
                    -
                    -
                    -
                    -
                    -
                    ".$this->CREATE_IMAGE("loadergrid.gif")."
                    - - - - - - -
                    Notes:- Click Row For Edit
                    -
                    -
                    -
                    -
                    "; - echo $this->FN_CREATEFOOTER(); - - } - - public function fn_grdrecord() - { - $keyword=$_REQUEST["keyword"]; - header("Content-type: text/xml"); - echo(''); - echo ""; - - $qry="select id,routename,description,timedeparture - from ".DB_APORTIL.".tbl_route_information - where routename like '%$keyword%' and isdeleted=0 - order by id asc limit ".TBL_PAGE_LIMIT; - - $rs=$this->selectquery($qry); - if($rs) - { - $i=1; - while($row=$this->data_row_array($rs)) - { - echo (""); - print(""); - print(""); - print(""); - print(""); - print(""); - echo (""); - $i+=1; - } - } - else - { - echo mysql_errno().": ".mysql_error()." at ".__LINE__." line in ".__FILE__." file
                    "; - } - echo "
                    "; - - } - - public function fn_saverecord($isupdate=null) - { - if($isupdate){$id=$_REQUEST['txt_id'];} - $routename=$_REQUEST['txt_routename']; - $description=$_REQUEST['txt_description']; - $timedeparture=$_REQUEST['txt_timedeparture']; - - $qry="insert into ".DB_APORTIL.".tbl_route_information - set routename='$routename',description='$description',timedeparture='$timedeparture',iby='".$_SESSION['nik']."',idt=now()"; - if($isupdate) - { - $qry="update ".DB_APORTIL.".tbl_route_information - set routename='$routename',description='$description',timedeparture='$timedeparture',uby='".$_SESSION['nik']."',udt=now() - where id='$id'"; - } - - if($this->executequery($qry)){echo "ok|";return true;} - } - public function fn_updrecord(){$this->fn_saverecord(true);} - - public function fn_delrecord() - { - $id=$_REQUEST['txt_id']; - $remark=$_REQUEST['txtremark']; - $qry="update ".DB_APORTIL.".tbl_route_information - set isdeleted=1,remark='$remark',dby='".$_SESSION['nik']."',ddt=now() - where id='$id'"; - if($this->executequery($qry)){echo "ok|";return true;} - else - { - echo "failed|".$this->getErrorQuery(); - } - } - } -?> \ No newline at end of file diff --git a/objectx/obj_data/data_shipinfo.php b/objectx/obj_data/data_shipinfo.php deleted file mode 100644 index 2e13f52..0000000 --- a/objectx/obj_data/data_shipinfo.php +++ /dev/null @@ -1,453 +0,0 @@ -dec($task);}} - - switch($task) - { - case "default": - $this->fn_default_shipinfo(); - break; - - case $task: - $task="fn_".$task; - if(method_exists($this,$task)){$this->$task();} - break; - - default: - $this->fn_default_shipinfo(); - break; - } - } - public function fn_default_shipinfo() - { - echo $this->FN_CREATEHEADER(); - - echo ""; - echo ""; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); - - echo " - - - - - - -
                    "; - $qry="select filepdf from ".DB_APORTIL.".tbl_manualbook where isdeleted=0 and filepdf='ships_information.pdf'"; - $filepdf=$this->fn_get_fieldvalue("filepdf",$qry); - $urlmanualbook=" MANUAL BOOK"; - $url="location.reload();"; - $myuri=array("SHIP INFORMATION"=>"$url|id='a_newticket'","$urlmanualbook"=>"|id='a_manualbook'"); - echo $this->MULTIPLE_LINK($myuri); - echo "
                    -
                    - - - - - -
                    -
                    -
                    - - - - - - - - - - - - - - -
                    -
                    -
                    -
                    -
                    -
                    -
                    ".$this->CREATE_IMAGE("loadergrid.gif")."
                    - - - - - - -
                    Notes:- Click Row For Edit
                    -
                    -
                    -
                    -
                    "; - echo $this->FN_CREATEFOOTER(); - - } - - public function fn_grdrecord() - { - $keyword=$_REQUEST["keyword"]; - header("Content-type: text/xml"); - echo(''); - echo ""; - - $qry="select id,shipnumber,shipname,datecreated,width,shiplength,height,totalseat,maxton,thresholdton,totalsekoci,totalrestroom,fuel,capacityfuel - from ".DB_APORTIL.".tbl_ship_information - where shipnumber like '%$keyword%' and isdeleted=0 - order by id asc limit ".TBL_PAGE_LIMIT; - - $rs=$this->selectquery($qry); - if($rs) - { - $i=1; - while($row=$this->data_row_array($rs)) - { - echo (""); - print(""); - print(""); - print(""); - print(""); - print(""); - print(""); - print(""); - print(""); - print(""); - print(""); - print(""); - print(""); - print(""); - print(""); - print(""); - echo (""); - $i+=1; - } - } - else - { - echo mysql_errno().": ".mysql_error()." at ".__LINE__." line in ".__FILE__." file
                    "; - } - echo "
                    "; - - } - - public function fn_saverecord($isupdate=null) - { - if($isupdate){$id=$_REQUEST['txt_id'];} - $shipnumber=$_REQUEST['txt_shipnumber']; - $shipname=$_REQUEST['txt_shipname']; - $datecreated=$_REQUEST['txt_datecreated']; - $width=$_REQUEST['txt_width']; - $shiplength=$_REQUEST['txt_shiplength']; - $height=$_REQUEST['txt_height']; - $totalseat=$_REQUEST['txt_totalseat']; - $maxton=$_REQUEST['txt_maxton']; - $thresholdton=$_REQUEST['txt_thresholdton']; - $totalsekoci=$_REQUEST['txt_totalsekoci']; - $totalrestroom=$_REQUEST['txt_totalrestroom']; - $fuel=$_REQUEST['txt_fuel']; - $capacityfuel=$_REQUEST['txt_capacityfuel']; - - $qry="insert into ".DB_APORTIL.".tbl_ship_information - set shipnumber='$shipnumber',shipname='$shipname',datecreated='$datecreated',width='$width',shiplength='$shiplength',height='$height', - totalseat='$totalseat',maxton='$maxton',thresholdton='$thresholdton',totalsekoci='$totalsekoci',totalrestroom='$totalrestroom',fuel='$fuel', - capacityfuel='$capacityfuel',iby='".$_SESSION['nik']."',idt=now()"; - if($isupdate) - { - $qry="update ".DB_APORTIL.".tbl_ship_information - set shipnumber='$shipnumber',shipname='$shipname',datecreated='$datecreated',width='$width',shiplength='$shiplength',height='$height', - totalseat='$totalseat',maxton='$maxton',thresholdton='$thresholdton',totalsekoci='$totalsekoci',totalrestroom='$totalrestroom',fuel='$fuel', - capacityfuel='$capacityfuel',uby='".$_SESSION['nik']."',udt=now() - where id='$id'"; - } - - if($this->executequery($qry)){echo "ok|";return true;} - } - public function fn_updrecord(){$this->fn_saverecord(true);} - - public function fn_delrecord() - { - $id=$_REQUEST['txt_id']; - $remark=$_REQUEST['txtremark']; - $qry="update ".DB_APORTIL.".tbl_ship_information - set isdeleted=1,remark='$remark',dby='".$_SESSION['nik']."',ddt=now() - where id='$id'"; - if($this->executequery($qry)){echo "ok|";return true;} - else - { - echo "failed|".$this->getErrorQuery(); - } - } - } -?> \ No newline at end of file diff --git a/objectx/obj_data/data_timesche.php b/objectx/obj_data/data_timesche.php deleted file mode 100644 index 6cbaa75..0000000 --- a/objectx/obj_data/data_timesche.php +++ /dev/null @@ -1,368 +0,0 @@ -dec($task);}} - - switch($task) - { - case "default": - $this->fn_default_timesche(); - break; - - case $task: - $task="fn_".$task; - if(method_exists($this,$task)){$this->$task();} - break; - - default: - $this->fn_default_timesche(); - break; - } - } - public function fn_default_timesche() - { - echo $this->FN_CREATEHEADER(); - - echo ""; - echo ""; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); - - echo " - - - - - - -
                    "; - $url="location.reload();"; - $myuri=array("Schedule Information"=>"$url|id='a_timesche'"); - echo $this->MULTIPLE_LINK($myuri); - echo "
                    -
                    - - - - - -
                    -
                    -
                    - - - - - - - - - - - - - - -
                    -
                    -
                    -
                    -
                    -
                    -
                    ".$this->CREATE_IMAGE("loadergrid.gif")."
                    - - - - - - -
                    Notes:- Click Row For Edit
                    -
                    -
                    -
                    -
                    "; - echo $this->FN_CREATEFOOTER(); - - } - - public function fn_grdrecord() - { - $keyword=$_REQUEST["keyword"]; - header("Content-type: text/xml"); - echo(''); - echo ""; - - $qry="select id,idroutestart,routenamestart,idrouteend,routenameend,scheduletime - from ".DB_APORTIL.".tbl_routetime_information - where (routenamestart like '%$keyword%' or routenameend like '%$keyword%') and isdeleted=0 - order by id asc limit ".TBL_PAGE_LIMIT; - - $rs=$this->selectquery($qry); - if($rs) - { - $i=1; - while($row=$this->data_row_array($rs)) - { - echo (""); - print(""); - print(""); - print(""); - print(""); - print(""); - echo (""); - $i+=1; - } - } - else - { - echo mysql_errno().": ".mysql_error()." at ".__LINE__." line in ".__FILE__." file
                    "; - } - echo "
                    "; - - } - - public function fn_saverecord($isupdate=null) - { - if($isupdate){$id=$_REQUEST['txt_id'];} - $idroutestart=$_REQUEST['cbo_idroutestart']; - $routenamestart=$this->fn_get_fieldvalue("routename","select routename from ".DB_APORTIL.".tbl_route_information where id='".$idroutestart."'"); - $idrouteend=$_REQUEST['cbo_idrouteend']; - $routenameend=$this->fn_get_fieldvalue("routename","select routename from ".DB_APORTIL.".tbl_route_information where id='".$idrouteend."'"); - $scheduletime=$_REQUEST['txt_scheduletime']; - - $qry="insert into ".DB_APORTIL.".tbl_routetime_information - set idroutestart='$idroutestart',routenamestart='$routenamestart', - idrouteend='$idrouteend',routenameend='$routenameend',scheduletime='$scheduletime',iby='".$_SESSION['nik']."',idt=now()"; - if($isupdate) - { - $qry="update ".DB_APORTIL.".tbl_routetime_information - set idroutestart='$idroutestart',routenamestart='$routenamestart', - idrouteend='$idrouteend',routenameend='$routenameend',scheduletime='$scheduletime',uby='".$_SESSION['nik']."',udt=now() - where id='$id'"; - } - - if($this->executequery($qry)){echo "ok|";return true;} - } - public function fn_updrecord(){$this->fn_saverecord(true);} - - public function fn_delrecord() - { - $id=$_REQUEST['txt_id']; - $remark=$_REQUEST['txtremark']; - $qry="update ".DB_APORTIL.".tbl_routetime_information - set isdeleted=1,remark='$remark',dby='".$_SESSION['nik']."',ddt=now() - where id='$id'"; - if($this->executequery($qry)){echo "ok|";return true;} - else - { - echo "failed|".$this->getErrorQuery(); - } - } - } -?> \ No newline at end of file diff --git a/objectx/obj_data/data_user.php b/objectx/obj_data/data_user.php deleted file mode 100644 index 590eef7..0000000 --- a/objectx/obj_data/data_user.php +++ /dev/null @@ -1,398 +0,0 @@ -dec($task);}} - - switch($task) - { - case "default": - $this->fn_default_user(); - break; - - case $task: - $task="fn_".$task; - if(method_exists($this,$task)){$this->$task();} - break; - - default: - $this->fn_default_user(); - break; - } - } - public function fn_default_user() - { - echo $this->FN_CREATEHEADER(); - - echo ""; - echo ""; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); - - echo " - - - - - - -
                    "; - $qry="select filepdf from ".DB_APORTIL.".tbl_manualbook where isdeleted=0 and filepdf='employee_information.pdf'"; - $filepdf=$this->fn_get_fieldvalue("filepdf",$qry); - $urlmanualbook=" MANUAL BOOK"; - $url="location.reload();"; - $myuri=array("EMPLOYEE INFORMATION"=>"$url|id='a_newticket'","$urlmanualbook"=>"|id='a_manualbook'"); - echo $this->MULTIPLE_LINK($myuri); - echo "
                    -
                    - - - - - -
                    -
                    -
                    - - - - - - - - - - - - - - -
                    -
                    -
                    -
                    -
                    -
                    -
                    ".$this->CREATE_IMAGE("loadergrid.gif")."
                    - - - - - - -
                    Notes:- Click Row For Edit
                    -
                    -
                    -
                    -
                    "; - echo $this->FN_CREATEFOOTER(); - - } - - public function fn_grdrecord() - { - $keyword=$_REQUEST["keyword"]; - header("Content-type: text/xml"); - echo(''); - echo ""; - - $qry="select id,nik,employeename,employeetitle,msisdn,email,sectionname - from ".DB_APORTIL.".tbl_employee - where (nik like '%$keyword%' or employeename like '%$keyword%') and isdeleted=0 - order by id asc limit ".TBL_PAGE_LIMIT; - - $rs=$this->selectquery($qry); - if($rs) - { - $i=1; - while($row=$this->data_row_array($rs)) - { - echo (""); - print(""); - print(""); - print(""); - print(""); - print(""); - print(""); - print(""); - print(""); - - echo (""); - $i+=1; - } - } - else - { - echo mysql_errno().": ".mysql_error()." at ".__LINE__." line in ".__FILE__." file
                    "; - } - echo "
                    "; - - } - - public function fn_saverecord($isupdate=null) - { - if($isupdate){$id=$_REQUEST['txt_id'];} - $nik=$_REQUEST['txt_nik']; - $employeename=$_REQUEST['txt_employeename']; - $employeetitle=$_REQUEST['txt_employeetitle']; - $msisdn=$_REQUEST['txt_msisdn']; - $email=$_REQUEST['txt_email']; - $idsection=$_REQUEST['cbo_idsection']; - $spsec=$this->fn_get_fieldsvalues("sectionname,iddept,departmentname","select id,sectionname,iddept,departmentname from ".DB_APORTIL.".tbl_employee_section where id='".$idsection."'"); - $sectionname=$spsec[0];$iddept=$spsec[1];$departmentname=$spsec[2]; - - $qry="insert into ".DB_APORTIL.".tbl_employee - set nik='$nik',employeename='$employeename',employeetitle='$employeetitle',msisdn='$msisdn',email='$email',idsection='$idsection', - sectionname='$sectionname',iddept='$iddept',deptname='$departmentname',iby='".$_SESSION['nik']."',idt=now()"; - if($isupdate) - { - $qry="update ".DB_APORTIL.".tbl_employee - set nik='$nik',employeename='$employeename',employeetitle='$employeetitle',msisdn='$msisdn',email='$email',idsection='$idsection', - sectionname='$sectionname',iddept='$iddept',deptname='$departmentname',uby='".$_SESSION['nik']."',udt=now() - where id='$id'"; - } - else{ - $qrychk="select id from ".DB_APORTIL.".tbl_employee where nik='$nik' and isdeleted=0 order by id asc limit 1"; - if($this->fn_row_isexists($qrychk)) - { - echo "failed|Error Found : Nik $nik already exists"; - return false; - } - } - - if($this->executequery($qry)){echo "ok|";return true;} - } - public function fn_updrecord(){$this->fn_saverecord(true);} - - public function fn_delrecord() - { - $id=$_REQUEST['txt_id']; - $remark=$_REQUEST['txtremark']; - $qry="update ".DB_APORTIL.".tbl_employee - set isdeleted=1,remark='$remark',dby='".$_SESSION['nik']."',ddt=now() - where id='$id'"; - if($this->executequery($qry)){echo "ok|";return true;} - else - { - echo "failed|".$this->getErrorQuery(); - } - } - } -?> \ No newline at end of file diff --git a/objectx/obj_home/home.html.php b/objectx/obj_home/home.html.php deleted file mode 100644 index ea75db1..0000000 --- a/objectx/obj_home/home.html.php +++ /dev/null @@ -1,516 +0,0 @@ -fn_get_fieldvalue("years","select years from ".DB_DMCS.".tbl_smsc_sumyears where isdeleted=0 order by id desc limit 1"); - $year=date("Y"); - $month=date("m"); - //$month=$this->fn_get_fieldvalue("period","select period from ".DB_DMCS.".tbl_smsc_sumtop5month where isdeleted=0 order by id desc limit 1"); - $monthname=$this->FN_GETMONTHNAME((int)$month); - - echo $this->FN_CREATEHEADER(); - echo ""; - echo ""; //dseg7modernregular - - echo ""; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("white"); - echo " - "; - // === HITS MONITORING - echo " - - -
                    -
                    - PERIODE : $year -
                    - - - - - - - - - - - - - -
                    TOTAL SMS $year
                    - - - - - - - - - - - - - - -
                    -
                    -
                    -
                    .
                    -
                    -
                    -
                    .
                    -
                    -
                    -
                    -
                    UPT TOP 5 RATING IN $monthname $year
                    - - - - - - - - - - - - - - - - - - - - - - - - - - -
                    -
                    Medan Utara
                    -
                    : -
                    300 SMS
                    -
                    -
                    Medan Selayang
                    -
                    : -
                    120 SMS
                    -
                    -
                    Medan Denai
                    -
                    : -
                    80 SMS
                    -
                    -
                    Sunggal
                    -
                    : -
                    78 SMS
                    -
                    -
                    Medan Marelan
                    -
                    : -
                    60 SMS
                    -
                    -
                    -
                    - "; - // === LAYOUT 3 Top Rating - echo " - - "; - // === LAYOUT OPERATOR TSEL or NON TSEL - echo " - - - "; - // === LAYOUT TRAFIC - echo " - - "; - echo "
                    - - - - - - - -
                    UPT TOP 3 RATING IN $year
                    - - - - - - - - - - - - - - - - -
                    -
                    Medan Utara
                    -
                    : -
                    111.026 SMS
                    -
                    -
                    Medan Denai
                    -
                    : -
                    80.900 SMS
                    -
                    -
                    Medan Selayang
                    -
                    : -
                    78.989 SMS
                    -
                    -
                    -
                    -
                    - OPR TSEL PERIODE : $year -
                    - - - - - - - - - - -
                    - 444.247SMS -
                    -
                    - ".$this->CREATE_IMAGE("up.png")." 30% from last year -
                    -
                    -
                    - 123.908 from last year ( 2015 ) -
                    -
                    -
                    -
                    - OPR NON TSEL PERIODE : $year -
                    - - - - - - - - - - -
                    - 190.401SMS -
                    -
                    - ".$this->CREATE_IMAGE("down.png")." 25% from last year -
                    -
                    -
                    - 223.458 from last year ( 2015 ) -
                    -
                    -
                    -
                    - TRAFIC SMS PERIODE : $year -
                    - -
                    -
                    -
                    -
                    "; - echo $this->FN_CREATEFOOTER(); - } - - public function fn_treemenu() - { - header("Content-type: text/xml"); - echo " - "; - if($_SESSION['treemenuid']) - { - $id_menu_groupproject=$_REQUEST['id_menu_groupproject']; - $qrymnu1="select id,menuid,menutext,menuimg from ".DB_APORTIL.".tbl_treemenu - where id in(".$_SESSION['treemenuid'].") and menutype='H' and menuactivated=1 and isdeleted=0 and id_menu_groupproject='$id_menu_groupproject' - order by menuorder asc"; - //echo $qrymnu1; - $rs1=$this->selectquery($qrymnu1); - if($rs1) - { - //$i=1; - if($this->REC_ROWS_COUNT($rs1)>0) - { - while($rw1=$this->data_row_object($rs1)) - { - //$mymenu.=""; - echo ""; - $qrymnu2="select id,menuid,menutype,menutext,menuimg from ".DB_APORTIL.".tbl_treemenu - where id in(".$_SESSION['treemenuid'].") and menuheader='".$rw1->id."' and menuactivated=1 and isdeleted=0 and id_menu_groupproject='$id_menu_groupproject' - order by menuorder asc"; - $rs2=$this->selectquery($qrymnu2); - if($rs2) - { - if($this->REC_ROWS_COUNT($rs2)>0) - { - while($rw2=$this->data_row_object($rs2)) - { - //$mymenu.=""; - if($rw2->menutype=='S'){$propheader=" img0='folderClosed.gif' img1='folderOpen.gif' img2='folderClosed.gif'";} - echo ""; - $qrymnu3="select id,menuid,menutype,menutext,menuimg from ".DB_APORTIL.".tbl_treemenu - where id in(".$_SESSION['treemenuid'].") and menuheader='".$rw2->id."' and menuactivated=1 and isdeleted=0 and id_menu_groupproject='$id_menu_groupproject' - order by menuorder asc"; - $rs3=$this->selectquery($qrymnu3); - if($rs3) - { - if($this->REC_ROWS_COUNT($rs3)>0) - { - //echo ""; - //$k=1; - while($rw3=$this->data_row_object($rs3)) - { - //if($rw2->menutype=='S'){$propheader=" img0='folderClosed.gif' img1='folderOpen.gif' img2='folderClosed.gif'";} - //$mymenu.=""; - //if($rw3->menutype=='S'){$propheader=" img0='folderClosed.gif' img1='folderOpen.gif' img2='folderClosed.gif'";} - echo ""; - $qrymnu4="select id,menuid,menutype,menutext,menuimg from ".DB_APORTIL.".tbl_treemenu - where id in(".$_SESSION['treemenuid'].") and menuheader='".$rw3->id."' and menuactivated=1 and isdeleted=0 and id_menu_groupproject='$id_menu_groupproject' - order by menuorder asc"; - $rs4=$this->selectquery($qrymnu4); - if($rs4) - { - if($this->REC_ROWS_COUNT($rs4)>0) - { - while($rw4=$this->data_row_object($rs4)) - { - echo ""; - } - } - } - $this->clearrecordset($rs4); - echo ""; - //$k+=1; - } - } - } - $this->clearrecordset($rs3); - echo ""; - } - } - } - $this->clearrecordset($rs2); - // if($i==1){$mymenu.="";} - echo ""; - //$i+=1; - } - } - else - { - echo " - - - - - "; - } - - } - $this->clearrecordset($rs1); - } - else if($_SESSION['nik']=='9999') - { - echo " - - - - - "; - } - - - echo " "; - } - - public function fn_treemenuadmin() - { - header("Content-type: text/xml"); - echo " - "; - if($_SESSION['nik']=='82010') - { - echo " - - - - - "; - } - echo " "; - } - - } -?> diff --git a/objectx/obj_home/home.php b/objectx/obj_home/home.php deleted file mode 100644 index 75bc5f5..0000000 --- a/objectx/obj_home/home.php +++ /dev/null @@ -1,53 +0,0 @@ -
                    GGGGGG
                    "; - require_once($pg.".html.php"); - //echo "xxx

                    xxx$pg
                    "; - class HOME extends HOME_HTML - { - - } - //echo $pg;return false; - $cl=new HOME(); - if(isset($_REQUEST['task'])){$case=$_REQUEST['task'];} - if(isset($_POST['task'])){$case=$_POST['task'];} - if(isset($_REQUEST['obj'])){$obj=$_REQUEST['obj'];} - if(isset($_POST['obj'])){$obj=$_POST['obj'];} - - if($_REQUEST){if($_REQUEST['sec']){$case=$cl->dec($case);$obj=$cl->dec($obj);}} - - if(file_exists(PATH_OBJECT."/$option/$obj.php")) - { - require_once("$obj.php"); - $className=strtoupper($obj); - $clfile=new $className(); - $fn_init_java=$className."_javainit"; - $init_java=trim($_REQUEST['init_java']);if($init_java){$clfile->$fn_init_java();} - - $case=$obj; - } - - if(!$case){$case=$obj;if(!file_exists(PATH_OBJECT."/$option/$obj.php")){$cl->under_construction();}} - $sptask=explode("_",$case);$modulename=$sptask[1];$fn_module_init="fn_".$modulename."_init"; - - //echo $case; - switch($case) - { - case "home_$modulename": - $clfile->$fn_module_init(); - break; - - case "treemenu": - $cl->fn_treemenu(); - break; - - case "treemenuadmin": - $cl->fn_treemenuadmin(); - break; - - default: - //echo "test";return false; - $cl->fn_page_default(); - break; - } -?> diff --git a/objectx/obj_home/home_coresau.php b/objectx/obj_home/home_coresau.php deleted file mode 100644 index 7e0542a..0000000 --- a/objectx/obj_home/home_coresau.php +++ /dev/null @@ -1,147 +0,0 @@ -dec($task);}} - - switch($task) - { - case "default": - $this->fn_default_sum(); - break; - - case $task: - $task="fn_".$task; - if(method_exists($this,$task)){$this->$task();} - break; - - default: - $this->fn_default_sum(); - break; - } - } - - public function fn_default_sum() - { - echo $this->FN_CREATEHEADER(); - - echo ""; - echo ""; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("white"); - echo ""; - echo " - - - - - "; - echo "
                    -
                    Trend SAU Information Period ".date("d M Y")."
                    -
                    -
                    -
                    Space AVailable
                    -
                    - -
                    -
                    "; - echo $this->FN_CREATEFOOTER(); - - } - } -?> \ No newline at end of file diff --git a/objectx/obj_home/home_kpiprfdly.php b/objectx/obj_home/home_kpiprfdly.php deleted file mode 100644 index 62867bd..0000000 --- a/objectx/obj_home/home_kpiprfdly.php +++ /dev/null @@ -1,123 +0,0 @@ -dec($task);}} - - switch($task) - { - case "default": - $this->fn_default_sum(); - break; - - case $task: - $task="fn_".$task; - if(method_exists($this,$task)){$this->$task();} - break; - - default: - $this->fn_default_sum(); - break; - } - } - - public function fn_default_sum() - { - echo $this->FN_CREATEHEADER(); - - echo ""; - echo ""; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("white"); - echo ""; - echo " - - "; - echo "
                    -
                    Payload Performance Period ".date("d M Y",strtotime('-1 days'))."
                    -
                    Today : ".date("d M Y")."
                    -
                    -
                    "; - echo $this->FN_CREATEFOOTER(); - - } - } -?> \ No newline at end of file diff --git a/objectx/obj_home/home_marsal.php b/objectx/obj_home/home_marsal.php deleted file mode 100644 index e784403..0000000 --- a/objectx/obj_home/home_marsal.php +++ /dev/null @@ -1,100 +0,0 @@ -dec($task);}} - - switch($task) - { - case "default": - $this->fn_default_sum(); - break; - - case $task: - $task="fn_".$task; - if(method_exists($this,$task)){$this->$task();} - break; - - default: - $this->fn_default_sum(); - break; - } - } - - public function fn_default_sum() - { - echo $this->FN_CREATEHEADER(); - - echo ""; - echo ""; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY(); - - echo $this->FN_CREATEFOOTER(); - - } - - public function fn_sumofyears() - { - $years=$_REQUEST['years']; - // $qry="select sum(totalsms) sumofyears from ".DB_DMCS.".tbl_smsc_sumyears where years='$years' and isdeleted=0"; - // $sumofyears=$this->fn_get_fieldvalue("sumofyears",$qry); - //echo $sumofyears; - echo "5234"; - } - - public function fn_sumoftop5() - { - $years=$_REQUEST['years']; - $months=$_REQUEST['months']; -// $qry="select uptname,totalsms from ".DB_DMCS.".tbl_smsc_sumtop5month where years='$years' and period='$months' and isdeleted=0 order by totalsms desc"; -// $rs=$this->selectquery($qry); -// if($rs) -// { -// $res=array(); -// while($rw=$this->data_row_object($rs)) -// { -// array_push($res,array($rw->uptname."|".$rw->totalsms)); -// } -// echo json_encode($res); -// } -// $this->clearrecordset($rs); - - } - - public function fn_sumoftop3() - { - $years=$_REQUEST['years']; - $months=$_REQUEST['months']; -// $qry="select uptname,totalsms from ".DB_DMCS.".tbl_smsc_sumtop3years where years='$years' and isdeleted=0 order by totalsms desc"; -// $rs=$this->selectquery($qry); -// if($rs) -// { -// $res=array(); -// while($rw=$this->data_row_object($rs)) -// { -// array_push($res,array($rw->uptname."|".$rw->totalsms)); -// } -// echo json_encode($res); -// } -// $this->clearrecordset($rs); - - } - } -?> \ No newline at end of file diff --git a/objectx/obj_home/home_netperfdaily.php b/objectx/obj_home/home_netperfdaily.php deleted file mode 100644 index 5557c70..0000000 --- a/objectx/obj_home/home_netperfdaily.php +++ /dev/null @@ -1,98 +0,0 @@ -dec($task);}} - - switch($task) - { - case "default": - $this->fn_default_sum(); - break; - - case $task: - $task="fn_".$task; - if(method_exists($this,$task)){$this->$task();} - break; - - default: - $this->fn_default_sum(); - break; - } - } - - public function fn_default_sum() - { - echo $this->FN_CREATEHEADER(); - - echo ""; - echo ""; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("white"); - // echo ""; -// echo " -// -// "; -// echo "
                    -//
                    Network Performance Period ".date("d M Y",strtotime('2019-'))."
                    -//
                    -//
                    "; - echo $this->FN_CREATEFOOTER(); - - } - } -?> \ No newline at end of file diff --git a/objectx/obj_home/home_sum.php b/objectx/obj_home/home_sum.php deleted file mode 100644 index 02bd22f..0000000 --- a/objectx/obj_home/home_sum.php +++ /dev/null @@ -1,99 +0,0 @@ -dec($task);}} - - switch($task) - { - case "default": - $this->fn_default_sum(); - break; - - case $task: - $task="fn_".$task; - if(method_exists($this,$task)){$this->$task();} - break; - - default: - $this->fn_default_sum(); - break; - } - } - - public function fn_default_sum() - { - echo $this->FN_CREATEHEADER(); - - echo ""; - echo ""; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY(); - - echo $this->FN_CREATEFOOTER(); - - } - - public function fn_sumofyears() - { - $years=$_REQUEST['years']; - $qry="select sum(totalsms) sumofyears from ".DB_DMCS.".tbl_smsc_sumyears where years='$years' and isdeleted=0"; - $sumofyears=$this->fn_get_fieldvalue("sumofyears",$qry); - echo $sumofyears; - } - - public function fn_sumoftop5() - { - $years=$_REQUEST['years']; - $months=$_REQUEST['months']; - $qry="select uptname,totalsms from ".DB_DMCS.".tbl_smsc_sumtop5month where years='$years' and period='$months' and isdeleted=0 order by totalsms desc"; - $rs=$this->selectquery($qry); - if($rs) - { - $res=array(); - while($rw=$this->data_row_object($rs)) - { - array_push($res,array($rw->uptname."|".$rw->totalsms)); - } - echo json_encode($res); - } - $this->clearrecordset($rs); - - } - - public function fn_sumoftop3() - { - $years=$_REQUEST['years']; - $months=$_REQUEST['months']; - $qry="select uptname,totalsms from ".DB_DMCS.".tbl_smsc_sumtop3years where years='$years' and isdeleted=0 order by totalsms desc"; - $rs=$this->selectquery($qry); - if($rs) - { - $res=array(); - while($rw=$this->data_row_object($rs)) - { - array_push($res,array($rw->uptname."|".$rw->totalsms)); - } - echo json_encode($res); - } - $this->clearrecordset($rs); - - } - } -?> \ No newline at end of file diff --git a/objectx/obj_home/home_ticket.php b/objectx/obj_home/home_ticket.php deleted file mode 100644 index 98ead9c..0000000 --- a/objectx/obj_home/home_ticket.php +++ /dev/null @@ -1,745 +0,0 @@ -dec($task);}} - - switch($task) - { - case "default": - $this->fn_default_sum(); - break; - - case $task: - $task="fn_".$task; - if(method_exists($this,$task)){$this->$task();} - break; - - default: - $this->fn_default_sum(); - break; - } - } - - public function fn_default_sum() - { - echo $this->FN_CREATEHEADER(); - // === Init Route information dashboard - $idship=1; - $idroutestart=1; - $routestartname="Dili"; - $idrouteend=3; - $routeendname="Atauro"; - $shipname="Nakroma"; - $route="Dili-Atauro"; - $qry="select idship,shipname,idroutestart,routestartname,idrouteend,routeendname from ".DB_APORTIL.".tbl_dashboard_setting_rute "; - $qry.="where idemployee='".$_SESSION['idemployee']."' and isdeleted=0 order by id asc limit 1"; - if($this->fn_row_isexists($qry)){ - $sp=$this->fn_get_fieldsvalues("idship,idroutestart,idrouteend,routestartname,routeendname,shipname",$qry); - $idship=$sp[0];$idroutestart=$sp[1];$idrouteend=$sp[2];$routestartname=$sp[3];$routeendname=$sp[4]; - $route=$routestartname."-".$routeendname; - $shipname=$sp[5]; - } - - echo ""; - echo ""; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("white"); - echo "
                    "; - echo ""; - echo " - - - - - - "; - echo "
                    -
                    Nakroma Passenger Performance Period ".date("Y")."
                    -
                    -
                    -
                    - - - - "; - $qry="select totalseat from ".DB_APORTIL.".tbl_ship_information where id=1"; - if($this->fn_row_isexists($qry)){ - $totalseat=$this->fn_get_fieldvalue("totalseat",$qry); - $j=10;$s=5; - for($i=1;$i<=$totalseat;$i++){ - $colors="#ecf0f1";$colorfont="black"; - if($i==1||$i==($j+1)){ - echo ""; - } - // Content - // === Dili atauro - $qrycheckin="select inctiket,status from ".DB_APORTIL.".tbl_passenger_tiket - where inctiket='$i' and idship=$idship and idroutestart=$idroutestart and idrouteend=$idrouteend and cast(dates as date)=cast(now() as date) and isdeleted=0"; - if($this->fn_row_isexists($qrycheckin)){ - $colorfont="white"; - $status=$this->fn_get_fieldvalue("status",$qrycheckin); - $colors="#f1c40f"; - if($status==1){$colors="#3498db";} - if($status==-2){$colors="#ecf0f1";$colorfont="black";} - } - echo ""; - if($i==$s){ - echo ""; - } - - if($i%10==0){ - $j+=10;$s+=10; - echo ""; - } - } - } - //$arr=array("4-H"=>"#f1c40f","5-C"=>"#f1c40f","5-F"=>"#f1c40f","5-G"=>"#f1c40f","5-H"=>"#f1c40f","20-C"=>"#2980b9","20-D"=>"#2980b9","30-D"=>"#2980b9"); - // === Seat Code -// echo ""; -// for($h=1;$h<=10;$h++){ -// if($h==1){ -// echo ""; -// } -// echo ""; -// if($h==5){ -// echo ""; -// } -// } -// echo ""; -// - // === SEAT Number -// for($i=1;$i<=30;$i++){ -// echo ""; -// for($j=1;$j<=10;$j++) -// { -// $colors="#ecf0f1"; - //if($i==4&&$j==8){$colors="#f1c40f";} -// if(array_key_exists("$i-".chr(64+$j),$arr)){ -// $colors=$arr["$i-".chr(64+$j)]; -// } -// if($j==1){ -// echo ""; -// } -// echo ""; -// if($j==5){ -// echo ""; -// } -// } -// echo ""; -// } - echo "
                    - - - - - - - - - - - -
                    Ship: - $shipname - - ,Rute: - $route - - - - -
                    -
                    -
                    - $i -
                    -
                     
                      ".chr(64+$h)." 
                    $i. -//
                    -//   -//
                    -//
                     
                    -
                    - -
                    - - - - - -
                    -
                    -
                    Nakroma Passenger
                    - - - - - -
                    -
                    - Period ".date("Y")." -
                    -
                    -
                    -
                    -
                    -
                    -
                    Nakroma Manifest
                    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                    - - - - - - - - - - - -
                    Nacroma Tonase:200 ton
                    Threshold:180 ton
                    -
                    UnitQty( \$ )( ton )
                    PassengerPerson300\$1.80015.0
                    Vehichleunit10\$6.80020.0
                    Non Vehichleunit10\$4.70018.0
                    Total330\$13.30054.0
                    - - - - - - - - - - - -
                    GAP ( Ton )->180.0 - 54.0= -
                    - 126.0 -
                    -
                    - Tonase Status  - :  - GOOD -
                    -
                    -
                    -
                    -
                    "; - echo "
                    "; - echo $this->FN_CREATEFOOTER(); - - } - - public function fn_getstinfo(){ - $idship=$_REQUEST['idship']; -// $shipname=$_REQUEST['shipname']; - $idroutestart=$_REQUEST['idroutestart']; -// $routestartname=$_REQUEST['routestartname']; - $idrouteend=$_REQUEST['idrouteend']; -// $routeendname=$_REQUEST['routeendname']; - $arr=array(); - $qry="select totalseat from ".DB_APORTIL.".tbl_ship_information where id=$idship"; - //echo $qry;return false; - if($this->fn_row_isexists($qry)){ - $totalseat=$this->fn_get_fieldvalue("totalseat",$qry); - for($i=1;$i<=$totalseat;$i++){ - $colors="#ecf0f1";$colorfont="black"; - // === Dili atauro - $qrycheckin="select inctiket,status from ".DB_APORTIL.".tbl_passenger_tiket - where inctiket='$i' and (idship=$idship and idroutestart=$idroutestart and idrouteend=$idrouteend) - and cast(dates as date)=cast(now() as date) and isdeleted=0"; - //echo $qrycheckin;return false; - if($this->fn_row_isexists($qrycheckin)){ - $status=$this->fn_get_fieldvalue("status",$qrycheckin); - $colors="#f1c40f";$colorfont="white"; - if($status==1){$colors="#3498db";} - if($status==-2){$colors="#ecf0f1";$colorfont="black";} -// array_push($arr,array("$i"=>$colors)); - - } - array_push($arr,array("ndx"=>$i,"colors"=>$colors,"colorfont"=>$colorfont)); - } - } - echo json_encode($arr); - } - - public function fn_settings() - { - $idship=$_REQUEST['idship']; - $shipname=$_REQUEST['shipname']; - $idroutestart=$_REQUEST['idroutestart']; - $routestartname=$_REQUEST['routestartname']; - $idrouteend=$_REQUEST['idrouteend']; - $routeendname=$_REQUEST['routeendname']; - echo $this->FN_CREATEHEADER(); - echo ""; - echo ""; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); - - echo " - - - - - - -
                    "; - $url="location.reload();"; - $myuri=array("DASHBOARD CONFIGURATION"=>"$url|id='a_route'"); - echo $this->MULTIPLE_LINK($myuri); - echo "
                    -
                    - - - - -
                    -
                    -
                    -
                    -
                    "; - echo $this->FN_CREATEFOOTER(); - - } - - public function fn_setdashboard($isupdate=null) - { - $year=date("Y"); -// if($isupdate){$id=$_REQUEST['txt_id'];} - $idemployee=$_SESSION['idemployee']; - $nik=$_SESSION['nik']; - $idship=$_REQUEST['cbo_idship']; - $sp=$this->fn_get_fieldsvalues("shipname,shipnumber","select shipname,shipnumber from ".DB_APORTIL.".tbl_ship_information where id='$idship'"); - $shipnumber=$sp[1];$shipname=$sp[0]; - $idroutestart=$_REQUEST['cbo_idroutestart']; - $routenamestart=$this->fn_get_fieldvalue("routename","select routename from ".DB_APORTIL.".tbl_route_information where id='$idroutestart'"); - $idrouteend=$_REQUEST['cbo_idrouteend']; - $routenameend=$this->fn_get_fieldvalue("routename","select routename from ".DB_APORTIL.".tbl_route_information where id='$idrouteend'"); - - $qry="insert into ".DB_APORTIL.".tbl_dashboard_setting_rute - set idemployee='$idemployee',nik='$nik',idship='$idship',shipname='$shipname',idroutestart='$idroutestart', - routestartname='$routenamestart',idrouteend='$idrouteend',routeendname='$routenameend',iby='".$_SESSION['nik']."',idt=now()"; - if($this->fn_row_isexists("select id from ".DB_APORTIL.".tbl_dashboard_setting_rute where idemployee='$idemployee'")) - { - $qry="update ".DB_APORTIL.".tbl_dashboard_setting_rute - set idemployee='$idemployee',nik='$nik',idship='$idship',shipname='$shipname',idroutestart='$idroutestart', - routestartname='$routenamestart',idrouteend='$idrouteend',routeendname='$routenameend',uby='".$_SESSION['nik']."',udt=now() - where idemployee='$idemployee'"; - } - - if($this->executequery($qry)) - { - echo 'ok|'; - } - } - } -?> \ No newline at end of file diff --git a/objectx/obj_home/home_ticket_20180329.php b/objectx/obj_home/home_ticket_20180329.php deleted file mode 100644 index 820ac47..0000000 --- a/objectx/obj_home/home_ticket_20180329.php +++ /dev/null @@ -1,292 +0,0 @@ -dec($task);}} - - switch($task) - { - case "default": - $this->fn_default_sum(); - break; - - case $task: - $task="fn_".$task; - if(method_exists($this,$task)){$this->$task();} - break; - - default: - $this->fn_default_sum(); - break; - } - } - - public function fn_default_sum() - { - echo $this->FN_CREATEHEADER(); - - echo ""; - echo ""; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("white"); - echo ""; - echo " - - - - - - - "; - echo "
                    -
                    Trend Tickets Alarm Period ".date("Y")."
                    -
                    -
                    -
                    MTTR Ticket Period ".date("M")."/".date("Y")."
                    -
                    "; - $qry="select category,slainhours sla from ".DB_APORTIL.".tbl_nits_mttrbycategory where isdeleted=0 order by id asc"; - $rs=$this->selectquery($qry);$arrsla=array(); - if($rs) - { - $avgall=0; - while($rw=$this->data_row_object($rs)) - { - $arrsla[$rw->category]=round($rw->sla,2); - $avgall+=$rw->sla; - } - $avgall=round(($avgall/4),2); - } - $this->clearrecordset($rs); - echo " - - - - - - - - - - - - - - - - - - - - - - - - - - -
                    Today ".date("d M Y")." 
                    PLATINUM:".$arrsla["PLATINUM"]." Hours
                    GOLD:".$arrsla["GOLD"]." Hours
                    SILVER:".$arrsla["SILVER"]." Hours
                    BRONZE:".$arrsla["BRONZE"]." Hours
                    - - $avgall Hours - -
                    - average for closed ticket -
                    -
                    -
                    -
                    - - - - - - -
                    -
                    -
                    Alarm By Category Period ".date("M")."/".date("Y")."
                    -
                    -
                    -
                    -
                    -
                    Alarm By Sitetype Period ".date("M")."/".date("Y")."
                    -
                    -
                    -
                    -
                    -
                    SUMMARY Ticket Period ".date("M")."/".date("Y")."
                    -
                    -
                    - - - - - - "; - $qry="select category,opened,closed from ".DB_APORTIL.".tbl_nits_sumticketstatus - where isdeleted=0 order by id asc"; - $rs=$this->selectquery($qry); - if($rs) - { - while($rw=$this->data_row_object($rs)) - { - echo ""; - echo " "; - echo " "; - echo " "; - echo ""; - } - } - $this->clearrecordset($rs); - echo "
                    Open Closed 
                    ".$rw->category."".$rw->opened." ".$rw->closed." 
                    -
                    -
                    "; - echo $this->FN_CREATEFOOTER(); - - } - } -?> \ No newline at end of file diff --git a/objectx/obj_home/home_ticket_20191024.php b/objectx/obj_home/home_ticket_20191024.php deleted file mode 100644 index 9c807e5..0000000 --- a/objectx/obj_home/home_ticket_20191024.php +++ /dev/null @@ -1,271 +0,0 @@ -dec($task);}} - - switch($task) - { - case "default": - $this->fn_default_sum(); - break; - - case $task: - $task="fn_".$task; - if(method_exists($this,$task)){$this->$task();} - break; - - default: - $this->fn_default_sum(); - break; - } - } - - public function fn_default_sum() - { - echo $this->FN_CREATEHEADER(); - - echo ""; - echo ""; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("white"); - echo ""; - echo " - - - - - - - "; - echo "
                    -
                    Trend Tickets Alarm Period ".date("Y")."
                    -
                    -
                    -
                    MTTR Ticket Period ".date("M")."/".date("Y")."
                    -
                    "; - $qry="select category,slainhours sla from ".DB_APORTIL.".tbl_nits_mttrbycategory where isdeleted=0 and category<>'' order by id asc"; - $rs=$this->selectquery($qry);$arrsla=array(); - if($rs) - { - $avgall=0; - while($rw=$this->data_row_object($rs)) - { - $arrsla[$rw->category]=round($rw->sla,2); - $avgall+=round($rw->sla,2); - //echo round($rw->sla,2)."
                    "; - } - $avgall=round(($avgall/4),2); - } - $this->clearrecordset($rs); - echo " - - - - - - - - - - - - - - - - - - - - - - - - - - -
                    Today ".date("d M Y")." 
                    PLATINUM:".$arrsla["PLATINUM"]." Hours
                    GOLD:".$arrsla["GOLD"]." Hours
                    SILVER:".$arrsla["SILVER"]." Hours
                    BRONZE:".$arrsla["BRONZE"]." Hours
                    - - $avgall Hours - -
                    - average for closed ticket -
                    -
                    -
                    -
                    - - - - - - -
                    -
                    -
                    Alarm By Category Period ".date("M")."/".date("Y")."
                    -
                    -
                    -
                    -
                    -
                    Alarm By Sitetype Period ".date("M")."/".date("Y")."
                    -
                    -
                    -
                    -
                    -
                    SUMMARY Ticket Period ".date("M")."/".date("Y")."
                    -
                    -
                    - - - - - - - "; - $qry="select category,opened,closed from ".DB_APORTIL.".tbl_nits_sumticketstatus - where isdeleted=0 order by id asc"; - $rs=$this->selectquery($qry); - if($rs) - { - $grandtotal=0; - while($rw=$this->data_row_object($rs)) - { - echo ""; - echo " "; - echo " "; - echo " "; - $total=$rw->opened+$rw->closed; - echo " "; - echo ""; - $grandtotal+=$total; - } - echo ""; - echo " "; - echo " "; - echo ""; - - } - $this->clearrecordset($rs); - echo "
                    Open Closed Total 
                    ".$rw->category."".number_format($rw->opened)." ".number_format($rw->closed)." ".number_format($total)." 
                    Total :  ".number_format($grandtotal)." 
                    -
                    -
                    "; - echo $this->FN_CREATEFOOTER(); - - } - } -?> \ No newline at end of file diff --git a/objectx/obj_home/home_ticket_20200110.php b/objectx/obj_home/home_ticket_20200110.php deleted file mode 100644 index 1f8c073..0000000 --- a/objectx/obj_home/home_ticket_20200110.php +++ /dev/null @@ -1,319 +0,0 @@ -dec($task);}} - - switch($task) - { - case "default": - $this->fn_default_sum(); - break; - - case $task: - $task="fn_".$task; - if(method_exists($this,$task)){$this->$task();} - break; - - default: - $this->fn_default_sum(); - break; - } - } - - public function fn_default_sum() - { - echo $this->FN_CREATEHEADER(); - - echo ""; - echo ""; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("white"); - echo ""; - echo " - - - - - - "; - echo "
                    -
                    Nakroma Passenger Performance Period ".date("Y")."
                    -
                    -
                    -
                    - "; - $arr=array("4-H"=>"#f1c40f","5-C"=>"#f1c40f","5-F"=>"#f1c40f","5-G"=>"#f1c40f","5-H"=>"#f1c40f","20-C"=>"#2980b9","20-D"=>"#2980b9","30-D"=>"#2980b9"); - // === Seat Code - echo ""; - for($h=1;$h<=10;$h++){ - if($h==1){ - echo ""; - } - echo ""; - if($h==5){ - echo ""; - } - } - echo ""; - - // === SEAT Number - for($i=1;$i<=30;$i++){ - echo ""; - for($j=1;$j<=10;$j++) - { - $colors="#ecf0f1"; - //if($i==4&&$j==8){$colors="#f1c40f";} - if(array_key_exists("$i-".chr(64+$j),$arr)){ - $colors=$arr["$i-".chr(64+$j)]; - } - if($j==1){ - echo ""; - } - echo ""; - if($j==5){ - echo ""; - } - } - echo ""; - } - echo "
                      ".chr(64+$h)." 
                    $i. -
                    -   -
                    -
                     
                    -
                    - -
                    - - - - - -
                    -
                    -
                    Nakroma Passenger
                    - - - - - - - -
                    -
                    - Period ".date("Y")." -
                    -
                    -
                    - - - - - - - -
                    Atauro: 55% (1.5K)Oekuse: 45% (800)
                    -
                    -
                    -
                    -
                    -
                    Nakroma Manifest
                    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                    - - - - - - - - - - - -
                    Nacroma Tonase:200 ton
                    Threshold:180 ton
                    -
                    UnitQty( \$ )( ton )
                    PassengerPerson300\$1.80015.0
                    Vehichleunit10\$6.80020.0
                    Non Vehichleunit10\$4.70018.0
                    Total330\$13.30054.0
                    - - - - - - - - - - - -
                    GAP ( Ton )->180.0 - 54.0= -
                    - 126.0 -
                    -
                    - Tonase Status  - :  - GOOD -
                    -
                    -
                    -
                    - - - -
                    "; - echo $this->FN_CREATEFOOTER(); - - } - } -?> \ No newline at end of file diff --git a/objectx/obj_home/home_ticket_20200203.php b/objectx/obj_home/home_ticket_20200203.php deleted file mode 100644 index 9bd5d75..0000000 --- a/objectx/obj_home/home_ticket_20200203.php +++ /dev/null @@ -1,419 +0,0 @@ -dec($task);}} - - switch($task) - { - case "default": - $this->fn_default_sum(); - break; - - case $task: - $task="fn_".$task; - if(method_exists($this,$task)){$this->$task();} - break; - - default: - $this->fn_default_sum(); - break; - } - } - - public function fn_default_sum() - { - echo $this->FN_CREATEHEADER(); - - echo ""; - echo ""; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("white"); - echo ""; - echo " - - - - - - "; - echo "
                    -
                    Nakroma Passenger Performance Period ".date("Y")."
                    -
                    -
                    -
                    - - - - "; - $qry="select totalseat from ".DB_APORTIL.".tbl_ship_information where id=1"; - if($this->fn_row_isexists($qry)){ - $totalseat=$this->fn_get_fieldvalue("totalseat",$qry); - $j=10;$s=5; - for($i=1;$i<=$totalseat;$i++){ - $colors="#ecf0f1";$colorfont="black"; - if($i==1||$i==($j+1)){ - echo ""; - } - // Content - // === Dili atauro - $qrycheckin="select inctiket,status from ".DB_APORTIL.".tbl_passenger_tiket - where inctiket='$i' and idship=1 and idroutestart=1 and cast(dates as date)=cast(now() as date)"; - if($this->fn_row_isexists($qrycheckin)){ - $colorfont="white"; - $status=$this->fn_get_fieldvalue("status",$qrycheckin); - $colors="#f1c40f"; - if($status==1){$colors="#3498db";} - if($status==-2){$colors="#ecf0f1";$colorfont="black";} - } - echo ""; - if($i==$s){ - echo ""; - } - - if($i%10==0){ - $j+=10;$s+=10; - echo ""; - } - } - } - //$arr=array("4-H"=>"#f1c40f","5-C"=>"#f1c40f","5-F"=>"#f1c40f","5-G"=>"#f1c40f","5-H"=>"#f1c40f","20-C"=>"#2980b9","20-D"=>"#2980b9","30-D"=>"#2980b9"); - // === Seat Code -// echo ""; -// for($h=1;$h<=10;$h++){ -// if($h==1){ -// echo ""; -// } -// echo ""; -// if($h==5){ -// echo ""; -// } -// } -// echo ""; -// - // === SEAT Number -// for($i=1;$i<=30;$i++){ -// echo ""; -// for($j=1;$j<=10;$j++) -// { -// $colors="#ecf0f1"; - //if($i==4&&$j==8){$colors="#f1c40f";} -// if(array_key_exists("$i-".chr(64+$j),$arr)){ -// $colors=$arr["$i-".chr(64+$j)]; -// } -// if($j==1){ -// echo ""; -// } -// echo ""; -// if($j==5){ -// echo ""; -// } -// } -// echo ""; -// } - echo "
                    - - - - - - - - - - - -
                    Ship:Nakroma,Rute:Dili-Atauro
                    -
                    -
                    - $i -
                    -
                     
                      ".chr(64+$h)." 
                    $i. -//
                    -//   -//
                    -//
                     
                    -
                    - -
                    - - - - - -
                    -
                    -
                    Nakroma Passenger
                    - - - - - - - -
                    -
                    - Period ".date("Y")." -
                    -
                    -
                    - - - - - - - -
                    Atauro: 55% (1.5K)Oekuse: 45% (800)
                    -
                    -
                    -
                    -
                    -
                    Nakroma Manifest
                    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                    - - - - - - - - - - - -
                    Nacroma Tonase:200 ton
                    Threshold:180 ton
                    -
                    UnitQty( \$ )( ton )
                    PassengerPerson300\$1.80015.0
                    Vehichleunit10\$6.80020.0
                    Non Vehichleunit10\$4.70018.0
                    Total330\$13.30054.0
                    - - - - - - - - - - - -
                    GAP ( Ton )->180.0 - 54.0= -
                    - 126.0 -
                    -
                    - Tonase Status  - :  - GOOD -
                    -
                    -
                    -
                    - - - -
                    "; - echo $this->FN_CREATEFOOTER(); - - } - - public function fn_getstinfo(){ - $idship=$_REQUEST['idship']; - $idroutestart=$_REQUEST['idroutestart']; - $arr=array(); - $qry="select totalseat from ".DB_APORTIL.".tbl_ship_information where id=$idship"; - //echo $qry;return false; - if($this->fn_row_isexists($qry)){ - $totalseat=$this->fn_get_fieldvalue("totalseat",$qry); - for($i=1;$i<=$totalseat;$i++){ - $colors="#ecf0f1";$colorfont="black"; - // === Dili atauro - $qrycheckin="select inctiket,status from ".DB_APORTIL.".tbl_passenger_tiket - where inctiket='$i' and idship=$idship and idroutestart=$idroutestart - and cast(dates as date)=cast(now() as date)"; - //echo $qrycheckin;return false; - if($this->fn_row_isexists($qrycheckin)){ - $status=$this->fn_get_fieldvalue("status",$qrycheckin); - $colors="#f1c40f";$colorfont="white"; - if($status==1){$colors="#3498db";} - if($status==-2){$colors="#ecf0f1";$colorfont="black";} -// array_push($arr,array("$i"=>$colors)); - array_push($arr,array("ndx"=>$i,"colors"=>$colors,"colorfont"=>$colorfont)); - } - } - } - echo json_encode($arr); - } - } -?> \ No newline at end of file diff --git a/objectx/obj_home/home_ticketdia.php b/objectx/obj_home/home_ticketdia.php deleted file mode 100644 index a6d03f7..0000000 --- a/objectx/obj_home/home_ticketdia.php +++ /dev/null @@ -1,289 +0,0 @@ -dec($task);}} - - switch($task) - { - case "default": - $this->fn_default_sum(); - break; - - case $task: - $task="fn_".$task; - if(method_exists($this,$task)){$this->$task();} - break; - - default: - $this->fn_default_sum(); - break; - } - } - - public function fn_default_sum() - { - echo $this->FN_CREATEHEADER(); - - echo ""; - echo ""; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("white"); - echo ""; - echo " - - - - - - "; - echo "
                    -
                    Trend Tickets Alarm Period ".date("Y")."
                    -
                    -
                    -
                    ALARM DIA ".date("M")."/".date("Y")."
                    -
                    "; - echo ""; - $qry="select id,customerdia,downtime,issues,durationinmonths,durationindays,durationinhours,durationinminutes - from ".DB_APORTIL.".tbl_nits_diaticketsheader - where status=0 order by id asc"; - //echo $qry; - $qrycheck="select id,customerdia,downtime,issues,durationinmonths,durationindays,durationinhours,durationinminutes - from ".DB_APORTIL.".tbl_nits_diaticketsheader - where status=0 - order by id asc limit 1"; - if($this->fn_row_isexists($qrycheck)) - { - $rs=$this->selectquery($qry); - if($rs) - { - $i=1; - while($rw=$this->data_row_object($rs)) - { - // === GET DURATION DOWN TIME - $df=$this->durationindate($rw->downtime,date("Y-m-d H:i")); - $durationinmonths=0;$durationindays=0;$durationinhours=0;$durationinminutes=0; - if(count($df)>0) - { - $durationinmonths=$df['month']; - $durationindays=$df['day']; - $durationinhours=$df['hour']; - $durationinminutes=$df['minute']; - } - $duration=""; - if($durationinmonths){$months="month";if($durationinmonths>1){$months="months";}$duration="$durationinmonths $months ";} - if($durationindays){$days="day";if($durationindays>1){$days="days";}$duration.="$durationindays $days ";} - if($durationinhours){$hours="hour";if($durationinhours>1){$hours="hours";}$duration.="$durationinhours $hours ";} - if($durationinminutes){$minutes="minute";if($durationinminutes>1){$minutes="minutes";}$duration.="$durationinminutes $minutes ";} - - echo ""; - echo " "; - echo " "; - echo " "; - echo " "; - echo ""; - echo ""; - echo " "; - echo " "; - echo " "; - echo " "; - echo ""; - echo ""; - echo " "; - echo " "; - echo " "; - echo " "; - echo ""; - echo ""; - echo " "; - echo " "; - echo " "; - echo " "; - echo ""; - echo ""; - echo " "; - echo " "; - echo " "; - echo " "; - echo ""; - echo ""; - echo " "; - echo " "; - echo " "; - $response="";$dateupdated="-"; - if($this->fn_row_isexists("select actions,dateupdated from ".DB_APORTIL.".tbl_nits_diaticketsdetail where idheader='".$rw->id."' and isdeleted=0 order by id desc limit 1")) - { - $sp=$this->fn_get_fieldsvalues("actions,dateupdated","select actions,dateupdated from ".DB_APORTIL.".tbl_nits_diaticketsdetail where idheader='".$rw->id."' and isdeleted=0 order by id desc limit 1"); - $response=$sp[0];$dateupdated=$sp[1]; - } - $lastresponse="-"; - if($response){$lastresponse=$response." at ( $dateupdated )";} - echo " "; - echo ""; - echo ""; - $i+=1; - } - } - } - else - { - echo ""; - echo " "; - echo ""; - } - echo "
                    $i.ID:".$rw->id."
                    Customer Name:".$rw->customerdia."
                    Down Time:".date("Y-m-d H:i:s",strtotime($rw->downtime))."
                    Duration:$duration
                    Issues:".$rw->issues."
                    Last Response:$lastresponse
                    Nihil.
                    "; - echo "
                    -
                    -
                    Trend Tickets Alarm By Time Period ".date("M Y")."
                    -
                    -
                    "; - echo $this->FN_CREATEFOOTER(); - - } - } -?> \ No newline at end of file diff --git a/objectx/obj_menuconfig/menuconfig.html.php b/objectx/obj_menuconfig/menuconfig.html.php deleted file mode 100644 index ad6d7e2..0000000 --- a/objectx/obj_menuconfig/menuconfig.html.php +++ /dev/null @@ -1,115 +0,0 @@ -FN_CREATEHEADER(); - $tabid=$_REQUEST['tabid']; - - echo ""; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY(); - - echo $this->FN_CREATEFOOTER(); - } - - public function fn_page_home() - { - echo "
                    INFORMASI
                    "; - echo "
                    -
                      -
                    • Penambahan menu baru untuk aplikasi Dimas.
                    • -
                    • Perubahan dan konfigurasi menu yang diakses.
                    • -
                    -
                    "; - } - - public function fn_treemenu() - { - header("Content-type: text/xml"); - echo " - - - - - - "; - } - - public function fn_url_home() - { - return "$('#uri').val('ajax=0&sec=1&option=01fc812f36899c1ee4d748105ff6db23&obj=e6e61859e95f78646b67a1cc96d270fa&task=de7eb57f52fc4d8a6fef759e7bb0844b');$('#fm').prop('target','_self');$('#fm').submit();"; - } - - public function fn_url_menuconfignew() - { - return "$('#uri').val('ajax=0&sec=1&option=01fc812f36899c1ee4d748105ff6db23&obj=e6e61859e95f78646b67a1cc96d270fa&task=de7eb57f52fc4d8a6fef759e7bb0844b');$('#fm').prop('target','_self');$('#fm').submit();"; - } - - public function fn_url_menuconfiglist() - { - return "$('#uri').val('ajax=0&sec=1&option=01fc812f36899c1ee4d748105ff6db23&obj=00687a17cf8b20f4141743da723d3be4&task=de7eb57f52fc4d8a6fef759e7bb0844b');$('#fm').prop('target','_self');$('#fm').submit();"; - } - - - public function fn_url_search() - { - $urlsearch="ajaxuri('".$this->enc("obj_menuconfig")."','obj=menuconfig_list&task=searchmenu&pagingndx='+$('#txtcbopagingid').val()+'&keyword='+$('#txtsearch').val()+'&header='+$('#cbomenuheader').val(),'div_menuconfigliststatus',true,'');"; - $urlsearch.="txtcbopagingid.value=parseInt(txtcbopagingid.value)+1;"; - return $urlsearch; - } - - - } -?> diff --git a/objectx/obj_menuconfig/menuconfig.php b/objectx/obj_menuconfig/menuconfig.php deleted file mode 100644 index a10c075..0000000 --- a/objectx/obj_menuconfig/menuconfig.php +++ /dev/null @@ -1,167 +0,0 @@ -
                    GGGGGG
                    "; - require_once($pg.".html.php"); - //echo "xxx

                    xxx$pg
                    "; - class MENUCONFIG extends MENUCONFIG_HTML - { - //function fn_token_lokasi() -// { -// $keyword=$_POST['keyword']; -// $qry="select id,nama_kota from ".DB_INVOICE.".tbl_kota where nama_kota like '%$keyword%' order by nama_kota asc"; -// $rskota=$this->selectquery($qry); -// if($rskota) -// { -// if($this->REC_ROWS_COUNT($rskota)>0) -// { -// $p=""; -// while($rw=$this->data_row_object($rskota)) -// { -// $p.="{\"id\":\"".$rw->id."\",\"label\":\"".$rw->nama_kota."\"},"; -// } -// $p="[".substr($p,0,strlen($p)-1)."]"; - //$p="[\"$keyword\"]"; -// } -// else -// { -// $p="[\"Record Not Found\"]"; -// } -// } -// else -// { -// $p="[\"RecordSet Error\"]"; -// } -// $this->clearrecordset($rskota); -// echo $p; - //echo json_encode($arr); -// } -// -// function fn_token_ygmenugaskan() -// { -// $keyword=$_POST['keyword']; -// $qry="select nik,nama_employee from ".DB_INVOICE.".tbl_employee -// where nama_employee like '%$keyword%' and userlevel>=2 and length(nik)=5 and activated='Y' order by nama_employee asc"; -// $rsemp=$this->selectquery($qry); -// if($rsemp) -// { -// if($this->REC_ROWS_COUNT($rsemp)>0) -// { -// $p=""; -// while($rw=$this->data_row_object($rsemp)) -// { -// $p.="{\"id\":\"".$rw->nik."\",\"label\":\"".$rw->nama_employee."\"},"; -// } -// $p="[".substr($p,0,strlen($p)-1)."]"; - //$p="[\"$keyword\"]"; -// } -// else -// { -// $p="[\"Record Not Found\"]"; -// } -// } -// else -// { -// $p="[\"RecordSet Error\"]"; -// } -// $this->clearrecordset($rsemp); -// echo $p; - //echo json_encode($arr); -// } -// -// function fn_token_ygmenyetujui() -// { -// $keyword=$_POST['keyword']; -// $qry="select nik,nama_employee from ".DB_INVOICE.".tbl_employee -// where (nama_employee like '%$keyword%') and userlevel>=3 and length(nik)=5 and activated='Y' order by nama_employee asc"; -// $rsemp=$this->selectquery($qry); -// if($rsemp) -// { -// if($this->REC_ROWS_COUNT($rsemp)>0) -// { -// $p=""; -// while($rw=$this->data_row_object($rsemp)) -// { -// $p.="{\"id\":\"".$rw->nik."\",\"label\":\"".$rw->nama_employee."\"},"; -// } -// $p="[".substr($p,0,strlen($p)-1)."]"; - //$p="[\"$keyword\"]"; -// } -// else -// { -// $p="[\"Record Not Found\"]"; -// } -// } -// else -// { -// $p="[\"RecordSet Error\"]"; -// } -// $this->clearrecordset($rsemp); -// echo $p; - //echo json_encode($arr); -// } - - } - - $cl=new MENUCONFIG(); - if(isset($_REQUEST['task'])){$case=$_REQUEST['task'];} - if(isset($_POST['task'])){$case=$_POST['task'];} - if(isset($_REQUEST['obj'])){$obj=$_REQUEST['obj'];} - if(isset($_POST['obj'])){$obj=$_POST['obj'];} - - if($_REQUEST){if($_REQUEST['sec']){$case=$cl->dec($case);$obj=$cl->dec($obj);}} - //if($_POST){if($_POST['sec']){$case=$cl->dec($case);$obj=$cl->dec($obj);}} - //if($_POST['sec']){$case=$cl->dec($case);$obj=$cl->dec($obj);} - - //echo $option.' '.$obj.' '.$case;return false; - //echo $option.' '.$obj; - //echo $case;return false; - //$obj=trim(strtolower($_REQUEST['obj'])); - //$case=trim(strtolower($_REQUEST['task'])); - //$option=trim(strtolower($_REQUEST['option'])); - //if($_REQUEST['sec']||$sec){$obj=$cl->dec($obj);$case=$cl->dec($case);} - - if(file_exists(PATH_OBJECT."/$option/$obj.php")) - { - require_once("$obj.php"); - $className=strtoupper($obj); - $clfile=new $className(); - $fn_init_java=strtolower($className)."_javainit"; - $init_java=trim(strtolower($_REQUEST['init_java']));if($init_java){$clfile->$fn_init_java();} - $case=$obj; - } - //else - //{ - //if($obj){echo "Still under construction";return false;} - //} - if(!$case){$case=$obj;if(!file_exists(PATH_OBJECT."/$option/$obj.php")){$cl->under_construction();}} - $sptask=explode("_",$case);$modulename=$sptask[1];$fn_module_init="fn_".$modulename."_init"; - //echo "";return false; - //echo $case.' '.$modulename;return false; - //echo $option.' '.$obj.' '.$case;return false; - switch($case) - { - case "menuconfig_$modulename": - $clfile->$fn_module_init(); - break; - - case "pagehome": - $cl->fn_page_home(); - break; - - case "contxmnu": - $cl->FN_DHTMLXGRIDCONTEXTMENU(); - break; - - case "treemenu": - $cl->fn_treemenu(); - break; - //case "loadtree": - // $cl->fn_menuconfig_tree(); - //break; - - case "default": - $cl->fn_page_default(); - break; - - } -?> diff --git a/objectx/obj_menuconfig/menuconfig_list.php b/objectx/obj_menuconfig/menuconfig_list.php deleted file mode 100644 index 1f9d047..0000000 --- a/objectx/obj_menuconfig/menuconfig_list.php +++ /dev/null @@ -1,348 +0,0 @@ - - - "; - } - - public function fn_list_init() - { - if(isset($_REQUEST['task'])){$task=trim(strtolower($_REQUEST['task']));} - if(isset($_POST['task'])){$task=trim(strtolower($_POST['task']));} - if($_REQUEST||$_POST){if($_REQUEST['sec']||$_POST['sec']){$task=$this->dec($task);}} - - switch($task) - { - case "default": - $this->fn_default_menulist(); - break; - - case $task: - $task="fn_".$task; - if(method_exists($this,$task)){$this->$task();} - break; - - //case "searchmenu": -// $this->fn_searchmenu(); -// break; -// -// case "paging": -// $this->fn_disp_page(); -// break; - -// case "editmenu": -// $this->fn_editmenu(); -// break; -// -// case "iconlists": -// $this->fn_iconlists(); -// break; -// -// case "cbomenugroupproject": -// $this->fn_cbomenugroupproject(); -// break; -// -// case "updatemenu": -// $this->fn_updatemenu(); -// break; -// -// default: - //if($_SESSION["nikx"]!=='9999'){echo $this->under_construction();} -// $this->fn_default_menulist(); -// break; - } - } - - public function fn_default_menulist() - { - echo $this->FN_CREATEHEADER(); - //echo "
                     
                    "; - echo ""; - echo $this->FN_CLOSEHEADER(); - - echo $this->FN_CREATEBODY("e8f1ff"); - echo " - - - - - - - - - - -
                    -
                    -
                    -
                    -
                    ".$this->CREATE_IMAGE("loadergrid.gif")."
                    -
                    -
                    "; - echo $this->FN_CREATEFOOTER(); - } - - public function fn_searchmenu() - { - $tipemenu=$_REQUEST["tipemenu"]; - $idgrouproject=$_REQUEST["idgroupproject"];$criteriaidgroupproject=""; - if($idgrouproject>=1){$criteriaidgroupproject=" and m.id_menu_groupproject like '%$idgrouproject%'";} - $keyword=$_REQUEST["keyword"]; - //include XML Header (as response will be in xml format) - header("Content-type: text/xml"); - //encoding may be different in your case - echo(''); - - //start output of data - echo ""; - - //output data from DB as XML - $qry="select m.id,m.menuid,m.menutype,m.menuheader,m.menutext,m.menudesc,m.menuimg,m.objoption,m.id_menu_groupproject, - m.objname,m.objtask,m.objtarget,m.menuorder,m.menugroup,gp.groupname,m.menuactivated - from ".DB_APORTIL.".tbl_".$tipemenu."menu m left join ".DB_APORTIL.".tbl_menu_groupproject gp on m.id_menu_groupproject=gp.id - where (m.menutext like '%$keyword%' or m.menudesc like '%$keyword%') and m.isdeleted=0 $criteriaidgroupproject - order by m.id asc limit ".TBL_PAGE_LIMIT; - $rs=$this->selectquery($qry); - if($rs) - { - while($row=$this->data_row_array($rs)) - { - //create xml tag for grid's row - echo (""); - print("".$row["id"].""); - print("".$row["menuid"].""); - print("".$row["menutype"].""); - print("".$row["menuheader"].""); - print("".$row["menutext"].""); - print("".$row["menudesc"].""); - print("".$row["menuimg"].""); - print("".$row["objoption"].""); - print("".$row["objname"].""); - print("".$row["objtask"].""); - print("".$row["objtarget"].""); - print("".$row["menuorder"].""); - print("".$row["menugroup"].""); - print("".$row["groupname"].""); - print("".$row["id_menu_groupproject"].""); - print("".$row["menuactivated"].""); - print(""); - } - } - else - { - //error occurs - echo mysql_errno().": ".mysql_error()." at ".__LINE__." line in ".__FILE__." file
                    "; - } - echo "
                    "; - - } - - public function fn_updatemenuTest() - { - //include XML Header (as response will be in xml format) - header("Content-type: text/xml"); - //encoding may differ in your case - echo(''); - - - $mode = $_GET["!nativeeditor_status"]; //get request mode - $rowId = $_GET["gr_id"]; //id or row which was updated - $newId = $_GET["gr_id"]; //will be used for insert operation - - switch($mode) - { - case "inserted": - //row adding request - //$action = add_row(); - $action = "insert"; - break; - case "deleted": - //row deleting request - $action = "delete";//delete_row(); - break; - default: - //row updating request -// $qry="update ".DB_APORTIL.".tbl_menu -// set menuid='".$_GET["c1"]."',menutype='".$_GET["c2"]."',menuheader='".$_GET["c3"]."',menutext='".$_GET["c4"]."',menudesc='".$_GET["c5"]."', -// menuimg='".$_GET["c6"]."',objoption='".$_GET["c7"]."',objname='".$_GET["c8"]."',objtask='".$_GET["c9"]."',objtarget='".$_GET["c10"]."', -// menuorder='".$_GET["c11"]."',menugroup='".$_GET["c12"]."',menuactivated='".$_GET["c13"]."',uby='".$_POST["kduser"]."',udt=now() -// where id='".$_GET["gr_id"]."'"; - $qry="update ".DB_APORTIL.".tbl_menu - set menuid='".$_GET["c1"]."',menutype='".$_GET["c2"]."',menuheader='".$_GET["c3"]."',menutext='".$_GET["c4"]."',menudesc='".$_GET["c5"]."', - menuimg='".$_GET["c6"]."',objoption='".$_GET["c7"]."',objname='".$_GET["c8"]."',objtask='".$_GET["c9"]."',objtarget='".$_GET["c10"]."', - menuorder='".$_GET["c11"]."',menugroup='".$_GET["c12"]."',menuactivated='".$_GET["c13"]."',uby='".$_POST["kduser"]."',udt=now() - where id='".$_GET["gr_id"]."'"; - $action = "update"; - break; - } - $this->executequery($qry); - - - //output update results - echo ""; - echo ""; - echo ""; - - } - - public function fn_updatemenu() - { - $tipemenu=$_REQUEST["tipemenu"]; - $keyword=$_REQUEST["keyword"]; - $con=mysql_connect(DB_HOST_NAME,DB_USER_NAME,DB_USER_PASS); - mysql_select_db(DB_APORTIL); - - require(PATH_THEME."/connector/codebase/grid_connector.php"); - $grid = new GridConnector($con); - - //$config = new GridConfiguration(); - //$config->setHeader("id,menutext,menu"); - //$config->setColTypes("ro,ed,ed,ed,ed,ed,ed,ed"); - //$grid->set_config($config); - - //$grid->render_table("tbl_menu","id","id,menutext,menudesc,menuactivated"); - $qry="select * from ".DB_APORTIL.".tbl_".$tipemenu."menu - where (menutext like '%$keyword%' or menudesc like '%$keyword%') and isdeleted=0 - order by id asc limit ".TBL_PAGE_LIMIT; - - $qry="select m.id,m.menuid,m.menutype,m.menuheader,m.menutext,m.menudesc,m.menuimg,m.objoption,m.id_menu_groupproject, - m.objname,m.objtask,m.objtarget,m.menuorder,m.menugroup,gp.id idgroupproject,gp.groupname,m.menuactivated - from ".DB_APORTIL.".tbl_".$tipemenu."menu m inner join ".DB_APORTIL.".tbl_menu_groupproject gp on m.id_menu_groupproject=gp.id - where (m.menutext like '%$keyword%' or m.menudesc like '%$keyword%') and m.isdeleted=0 - order by m.id asc limit ".TBL_PAGE_LIMIT; - //$grid->event->attach("beforeDelete","Function"); - //$grid->sql->attach("Delete","update ".DB_APORTIL.".tbl_menu set isdeleted=1,dby='".$_SESSION['nik']."',ddt=now() where id={id}"); - $qryupd="update ".DB_APORTIL.".tbl_".$tipemenu."menu - set menuid='{menuid}',menutype='{menutype}',menuheader='{menuheader}',menutext='{menutext}',menudesc='{menudesc}', - menuimg='{menuimg}',objoption='{objoption}',objname='{objname}',objtask='{objtask}',objtarget='{objtarget}', - menuorder='{menuorder}',menugroup='{menugroup}',id_menu_groupproject='{id_menu_groupproject}',menuactivated='{menuactivated}',uby='".$_SESSION['nik']."',udt=now() - where id={id}"; - $grid->sql->attach("Update",$qryupd); - $grid->sql->attach("Delete","update ".DB_APORTIL.".tbl_".$tipemenu."menu set isdeleted=1,dby='".$_SESSION['nik']."',ddt=now() where id={id}"); - - $grid->render_sql("$qry","id","id,menuid,menutype,menuheader,menutext,menudesc,menuimg,objoption,objname,objtask,objtarget,menuorder,menugroup,groupname,id_menu_groupproject,menuactivated"); - - } - - public function fn_iconlists() - { - header("Content-type: text/xml"); - echo(""); - echo(""); - echo(""); - $qry="select imgname img,imgname,imgname gif from ".DB_APORTIL.".tbl_menu_img where isdeleted=0 order by id asc"; - $rsimg=$this->selectquery($qry); - if($rsimg) - { - while($rw=$this->data_row_object($rsimg)) - { - //echo(""); - echo(""); - } - } - $this->clearrecordset($rsimg); - echo(""); - - } - - public function fn_cbomenugroupproject() - { - header("Content-type: text/xml"); - echo(""); - echo(""); - echo(""); - $qry="select id,groupname from ".DB_APORTIL.".tbl_menu_groupproject where isdeleted=0 order by id asc"; - $rs=$this->selectquery($qry); - if($rs) - { - while($rw=$this->data_row_object($rs)) - { - echo(""); - } - } - $this->clearrecordset($rsimg); - echo(""); - - } - - - - } -?> diff --git a/objectx/obj_menuconfig/menuconfig_list1.php b/objectx/obj_menuconfig/menuconfig_list1.php deleted file mode 100644 index 958ab58..0000000 --- a/objectx/obj_menuconfig/menuconfig_list1.php +++ /dev/null @@ -1,60 +0,0 @@ -dec($task);}} - - switch($task) - { - case "default": - $this->fn_default_list1(); - break; - - case $task: - $task="fn_".$task; - if(method_exists($this,$task)){$this->$task();} - break; - - default: - $this->fn_default_list1(); - break; - } - } - public function fn_default_list1() - { - echo $this->FN_CREATEHEADER(); - - echo ""; - echo ""; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); - - echo "Your Module is still underconstruction."; - echo $this->FN_CREATEFOOTER(); - - } - } -?> \ No newline at end of file diff --git a/objectx/obj_menuconfig/menuconfig_list_20191024.php b/objectx/obj_menuconfig/menuconfig_list_20191024.php deleted file mode 100644 index df72360..0000000 --- a/objectx/obj_menuconfig/menuconfig_list_20191024.php +++ /dev/null @@ -1,376 +0,0 @@ - - - "; - } - - public function fn_list_init() - { - if(isset($_REQUEST["task"])){$task=trim(strtolower($_REQUEST["task"]));} - if(isset($_POST["task"])){$task=trim(strtolower($_POST["task"]));} - switch($task) - { - case "searchmenu": - $this->fn_searchmenu(); - break; - - case "paging": - $this->fn_disp_page(); - break; - - case "editmenu": - $this->fn_editmenu(); - break; - - case "iconlists": - $this->fn_iconlists(); - break; - - case "cbomenugroupproject": - $this->fn_cbomenugroupproject(); - break; - - case "updatemenu": - $this->fn_updatemenu(); - break; - - default: - //if($_SESSION["nikx"]!=='9999'){echo $this->under_construction();} - $this->fn_default_menulist(); - break; - } - } - - public function fn_default_menulist() - { - echo $this->FN_CREATEHEADER(); - //echo "
                     
                    "; - echo ""; - echo $this->FN_CLOSEHEADER(); - - echo $this->FN_CREATEBODY("e8f1ff"); - echo " - - - - - - - - - -
                    -
                    -
                    -
                    -
                    -
                    -
                    "; - echo $this->FN_CREATEFOOTER(); - } - - public function fn_searchmenu() - { - $tipemenu=$_REQUEST["tipemenu"]; - $idgrouproject=$_REQUEST["idgroupproject"];$criteriaidgroupproject=""; - if($idgrouproject>=1){$criteriaidgroupproject=" and m.id_menu_groupproject like '%$idgrouproject%'";} - $keyword=$_REQUEST["keyword"]; - //include XML Header (as response will be in xml format) - header("Content-type: text/xml"); - //encoding may be different in your case - echo(''); - - //start output of data - echo ""; - - //output data from DB as XML - $qry="select m.id,m.menuid,m.menutype,m.menuheader,m.menutext,m.menudesc,m.menuimg,m.objoption,m.id_menu_groupproject, - m.objname,m.objtask,m.objtarget,m.menuorder,m.menugroup,gp.groupname,m.menuactivated - from ".DB_APORTIL.".tbl_".$tipemenu."menu m left join ".DB_APORTIL.".tbl_menu_groupproject gp on m.id_menu_groupproject=gp.id - where (m.menutext like '%$keyword%' or m.menudesc like '%$keyword%') and m.isdeleted=0 $criteriaidgroupproject - order by m.id asc limit ".TBL_PAGE_LIMIT; - $rs=$this->selectquery($qry); - if($rs) - { - while($row=$this->data_row_array($rs)) - { - //create xml tag for grid's row - echo (""); - print(""); - print(""); - print(""); - print(""); - print(""); - print(""); - print(""); - print(""); - print(""); - print(""); - print(""); - print(""); - print(""); - print(""); - print(""); - print(""); - print(""); - } - } - else - { - //error occurs - echo mysql_errno().": ".mysql_error()." at ".__LINE__." line in ".__FILE__." file
                    "; - } - echo "
                    "; - - } - - public function fn_updatemenuTest() - { - //include XML Header (as response will be in xml format) - header("Content-type: text/xml"); - //encoding may differ in your case - echo(''); - - - $mode = $_GET["!nativeeditor_status"]; //get request mode - $rowId = $_GET["gr_id"]; //id or row which was updated - $newId = $_GET["gr_id"]; //will be used for insert operation - - switch($mode) - { - case "inserted": - //row adding request - //$action = add_row(); - $action = "insert"; - break; - case "deleted": - //row deleting request - $action = "delete";//delete_row(); - break; - default: - //row updating request -// $qry="update ".DB_APORTIL.".tbl_menu -// set menuid='".$_GET["c1"]."',menutype='".$_GET["c2"]."',menuheader='".$_GET["c3"]."',menutext='".$_GET["c4"]."',menudesc='".$_GET["c5"]."', -// menuimg='".$_GET["c6"]."',objoption='".$_GET["c7"]."',objname='".$_GET["c8"]."',objtask='".$_GET["c9"]."',objtarget='".$_GET["c10"]."', -// menuorder='".$_GET["c11"]."',menugroup='".$_GET["c12"]."',menuactivated='".$_GET["c13"]."',uby='".$_POST["kduser"]."',udt=now() -// where id='".$_GET["gr_id"]."'"; - $qry="update ".DB_APORTIL.".tbl_menu - set menuid='".$_GET["c1"]."',menutype='".$_GET["c2"]."',menuheader='".$_GET["c3"]."',menutext='".$_GET["c4"]."',menudesc='".$_GET["c5"]."', - menuimg='".$_GET["c6"]."',objoption='".$_GET["c7"]."',objname='".$_GET["c8"]."',objtask='".$_GET["c9"]."',objtarget='".$_GET["c10"]."', - menuorder='".$_GET["c11"]."',menugroup='".$_GET["c12"]."',menuactivated='".$_GET["c13"]."',uby='".$_POST["kduser"]."',udt=now() - where id='".$_GET["gr_id"]."'"; - $action = "update"; - break; - } - $this->executequery($qry); - - - //output update results - echo ""; - echo ""; - echo ""; - - } - - public function fn_updatemenu() - { - $tipemenu=$_REQUEST["tipemenu"]; - $keyword=$_REQUEST["keyword"]; - $con=mysql_connect(DB_HOST_NAME,DB_USER_NAME,DB_USER_PASS); - mysql_select_db(DB_APORTIL); - - require(PATH_THEME."/connector/codebase/grid_connector.php"); - $grid = new GridConnector($con); - - //$config = new GridConfiguration(); - //$config->setHeader("id,menutext,menu"); - //$config->setColTypes("ro,ed,ed,ed,ed,ed,ed,ed"); - //$grid->set_config($config); - - //$grid->render_table("tbl_menu","id","id,menutext,menudesc,menuactivated"); - $qry="select * from ".DB_APORTIL.".tbl_".$tipemenu."menu - where (menutext like '%$keyword%' or menudesc like '%$keyword%') and isdeleted=0 - order by id asc limit ".TBL_PAGE_LIMIT; - - $qry="select m.id,m.menuid,m.menutype,m.menuheader,m.menutext,m.menudesc,m.menuimg,m.objoption,m.id_menu_groupproject, - m.objname,m.objtask,m.objtarget,m.menuorder,m.menugroup,gp.id idgroupproject,gp.groupname,m.menuactivated - from ".DB_APORTIL.".tbl_".$tipemenu."menu m inner join ".DB_APORTIL.".tbl_menu_groupproject gp on m.id_menu_groupproject=gp.id - where (m.menutext like '%$keyword%' or m.menudesc like '%$keyword%') and m.isdeleted=0 - order by m.id asc limit ".TBL_PAGE_LIMIT; - //$grid->event->attach("beforeDelete","Function"); - //$grid->sql->attach("Delete","update ".DB_APORTIL.".tbl_menu set isdeleted=1,dby='".$_SESSION['nik']."',ddt=now() where id={id}"); - $qryupd="update ".DB_APORTIL.".tbl_".$tipemenu."menu - set menuid='{menuid}',menutype='{menutype}',menuheader='{menuheader}',menutext='{menutext}',menudesc='{menudesc}', - menuimg='{menuimg}',objoption='{objoption}',objname='{objname}',objtask='{objtask}',objtarget='{objtarget}', - menuorder='{menuorder}',menugroup='{menugroup}',id_menu_groupproject='{id_menu_groupproject}',menuactivated='{menuactivated}',uby='".$_SESSION['nik']."',udt=now() - where id={id}"; - $grid->sql->attach("Update",$qryupd); - $grid->sql->attach("Delete","update ".DB_APORTIL.".tbl_".$tipemenu."menu set isdeleted=1,dby='".$_SESSION['nik']."',ddt=now() where id={id}"); - - $grid->render_sql("$qry","id","id,menuid,menutype,menuheader,menutext,menudesc,menuimg,objoption,objname,objtask,objtarget,menuorder,menugroup,groupname,id_menu_groupproject,menuactivated"); - - } - - public function fn_iconlists() - { - header("Content-type: text/xml"); - echo(""); - echo(""); - echo(""); - $qry="select imgname img,imgname,imgname gif from ".DB_APORTIL.".tbl_menu_img where isdeleted=0 order by id asc"; - $rsimg=$this->selectquery($qry); - if($rsimg) - { - while($rw=$this->data_row_object($rsimg)) - { - //echo(""); - echo(""); - } - } - $this->clearrecordset($rsimg); - echo(""); - - } - - public function fn_cbomenugroupproject() - { - header("Content-type: text/xml"); - echo(""); - echo(""); - echo(""); - $qry="select id,groupname from ".DB_APORTIL.".tbl_menu_groupproject where isdeleted=0 order by id asc"; - $rs=$this->selectquery($qry); - if($rs) - { - while($rw=$this->data_row_object($rs)) - { - echo(""); - } - } - $this->clearrecordset($rsimg); - echo(""); - - } - - - - } -?> diff --git a/objectx/obj_menuconfig/menuconfig_new.php b/objectx/obj_menuconfig/menuconfig_new.php deleted file mode 100644 index 3906bc2..0000000 --- a/objectx/obj_menuconfig/menuconfig_new.php +++ /dev/null @@ -1,443 +0,0 @@ -dec($task);}} - - //echo $task." re";return false; - switch($task) - { - case "default": - $this->fn_default_new(); - break; - - case $task: - $task="fn_".$task; - if(method_exists($this,$task)){$this->$task();} - break; - -// case "loadheader": -// $this->fn_loadheader(); -// break; - -// case "savemenu": -// $this->fn_savemenu(); -// break; - -// case "updateuser": -// $this->fn_savemenu(true); -// break; -// -// case "getordermenu": -// $this->fn_getordermenu(); -// break; -// -// case "geticons": -// $this->fn_geticons(); -// break; - - default: - //if($_SESSION['nikx']!=='9999'){echo $this->under_construction();} - $this->fn_default_new(); - break; - } - } - - public function fn_default_new() - { - echo $this->FN_CREATEHEADER(); - echo ""; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); - echo $this->FN_CREATEFOOTER(); - } - - public function fn_savemenu($isupdate=null) - { - $menuid=$_REQUEST['txtmenuid']; - $menutype=$_REQUEST['cbomenutype'];//echo $menutype;return true; - $menuheader=$_REQUEST['cbomenuheader']; - $menutext=$_REQUEST['txtmenutext']; - $menudesc=$_REQUEST['txtmenudesc']; - $menuimg=$_REQUEST['cbomenuimg']; - $objoption=$_REQUEST['txtobjoption']; - $objname=$_REQUEST['txtobjname']; - $task=$_REQUEST['txttask']; - $target=$_REQUEST['cbotarget']; - $menuorder=$_REQUEST['txtmenuorder']; - $menugroup=$_REQUEST['cbomenugroup']; - $tables=$_REQUEST['cbotables']; - $idmenugroupproject=$_REQUEST['cbomenugroupproject']; - $menuactivated=$_REQUEST['chkaktif']; - $kategory=$_REQUEST['cbocategory']; - $ajaxurl="ajax=0&sec=1&option=".$this->enc($objoption)."&obj=".$this->enc($objname)."&task=".$this->enc($task); - if($menutype=='H'||$menutype=='S'){$objoption="";$objname="";$task="";$ajaxurl="";$target="";} - //"$('#uri').val('ajax=1&sec=1&option=01fc812f36899c1ee4d748105ff6db23&obj=e6e61859e95f78646b67a1cc96d270fa&task=de7eb57f52fc4d8a6fef759e7bb0844b');$('#fm').submit();"; - - if($menutype=='D'){if(!$this->CREATE_ROOT($objoption,$objname,$task,$tables)){echo 'failed|'.$this->getErrMsg();return false;};} - - //return false; - $qry="insert into ".DB_APORTIL.".tbl_".$kategory."menu - set menuid='$menuid',menutype='$menutype',menuheader='$menuheader',menutext='$menutext',menudesc='$menudesc', - menuimg='$menuimg',objoption='$objoption',objname='$objname',objtask='$task',objtarget='$target', - menuorder='$menuorder',menugroup='$menugroup',id_menu_groupproject='$idmenugroupproject',menuactivated='$menuactivated', - iby='".$_SESSION['nik']."',idt=now()"; - //echo $menuheader;return false; - //echo "failed|$idmenugroupproject"; - //echo "failed|Object $objoption sudah pernah ditambahkan.TERIMA KASIH"; -// if($this->fn_row_isexists("select objoption from ".DB_APORTIL.".tbl_menu where objoption='$objoption' and isdeleted=0")) -// { -// echo "failed|Object $objoption sudah pernah ditambahkan.TERIMA KASIH";return false; -// } - $qrychkmenuid="select menuid from ".DB_APORTIL.".tbl_treemenu where menuid='$menuid'"; - if($this->fn_row_isexists($qrychkmenuid)){echo "failed|Mohon maaf menu $menuid sudah pernah didaftarkan.TERIMA KASIH";return false;} - if($this->executequery($qry)) - { - echo 'ok'; - //$msg="Menu baru ".strtoupper("$nmuser")." sudah berhasil ditambahkan
                    "; - //$msg.="Klik ".$this->CREATE_LINK($this->fn_url_home(),"disini","javascript:void(0)","_self","Penambahan Menu Baru"); - //$msg.=" untuk Penambahan Menu Baru. TERIMA KASIH"; - //echo $this->SHOWMESSAGE($msg); - }else{echo "failed|".$this->getErrorQuery();} - } - - public function fn_getordermenu() - { - - $kategory=$_POST['kategory']; - $menutype=$_POST['menutype']; - //$menutype=$_POST['menutype']; - $qry="select menuorder from ".DB_APORTIL.".tbl_".$kategory."menu where menutype='$menutype' order by id desc limit 1"; - //echo $qry;return false; - $menuorder=$this->fn_get_fieldvalue("menuorder",$qry); - if($menutype=='H'){$newmenuorder=$menuorder+1;} - else - { - $idheader=$_POST['idheader']; - $qry="select menuorder from ".DB_APORTIL.".tbl_".$kategory."menu where menuheader='$idheader' order by id desc limit 1"; - //echo $qry; - $menuorder=$this->fn_get_fieldvalue("menuorder",$qry); - $newmenuorder=$menuorder+1; - //$lastmenuorder=substr($menuorder,strlen($menuorder)-1,1); - //if($lastmenuorder==1){$newmenuorder=$menuorder."0";}else{$newmenuorder=$menuorder+1;} - } - echo $newmenuorder; -// $arrprop=array("style="=>"\"width:3%;height:17px;text-align:center;\"","maxlength="=>"\"3\"", -// "onKeyDown="=>"\"nextfocus('txtmenuorder','cbotarget')\"","value="=>"\"$newmenuorder\""); -// echo $this->CREATE_INPUT_OBJECT("text","txtmenuorder","cbomenugroup","",$arrprop); - - } - - - public function fn_geticons() - { - $qry="select imgname,imgname imagename from ".DB_APORTIL.".tbl_menu_img where isdeleted=0 order by id asc"; - if($this->fn_row_isexists($qry)) - { - $rs=$this->selectquery($qry); - if($rs) - { - $imgjson=array(); - while($rw=$this->data_row_array($rs)) - { - array_push($imgjson,array("value"=>$rw[0],"text"=>$rw[1],"img"=>$rw[1])); - //echo(""); - //echo(""); - } - } - $this->clearrecordset($rs); - $arrresult=array("options"=>$imgjson); - print(json_encode($arrresult)); - } - } - - public function fn_loadheader() - { - header("Content-type:text/xml"); - echo(""); - echo(""); - echo ""; - $kategory=$_REQUEST['kategory']; - $idgroupproject=$_REQUEST['idgroupproject']; - $qry="select id,concat(id,' - ',menutext) menutext from ".DB_APORTIL.".tbl_".$kategory."menu where menutype<>'D' and menuactivated=1 and id_menu_groupproject='$idgroupproject' order by id asc"; - $rs=$this->selectquery($qry); - if($rs) - { - while($rw=$this->data_row_object($rs)) - { - echo ""; - } - } - $this->clearrecordset($rs); - echo(""); - } - - public function fn_getmenugroup() - { - header("Content-type:text/xml"); - echo(""); - echo(""); - echo ""; - $qry="select groupuser grp,groupuser from ".DB_APORTIL.".tbl_usergroup where isdeleted=0 order by id asc"; - $rs=$this->selectquery($qry); - if($rs) - { - while($rw=$this->data_row_object($rs)) - { - echo ""; - } - } - $this->clearrecordset($rs); - echo(""); - } - - public function fn_gettables() - { - header("Content-type:text/xml"); - echo(""); - echo(""); - echo(""); - $qry="select distinct table_name from information_schema.columns where table_schema='".DB_APORTIL."'"; - if($this->fn_row_isexists($qry)) - { - $rs=$this->selectquery($qry); - if($rs) - { - while($rw=$this->data_row_array($rs)) - { - echo(""); - } - } - $this->clearrecordset($rs); - } - echo(""); - } - - } -?> diff --git a/objectx/obj_rpt/rpt.html.php b/objectx/obj_rpt/rpt.html.php deleted file mode 100644 index b33d34d..0000000 --- a/objectx/obj_rpt/rpt.html.php +++ /dev/null @@ -1,27 +0,0 @@ - \ No newline at end of file diff --git a/objectx/obj_rpt/rpt.php b/objectx/obj_rpt/rpt.php deleted file mode 100644 index b74d55f..0000000 --- a/objectx/obj_rpt/rpt.php +++ /dev/null @@ -1,39 +0,0 @@ -dec($case);$obj=$cl->dec($obj);}} - - if(file_exists(PATH_OBJECT."/$option/$obj.php")) - { - require_once("$obj.php"); - $className=strtoupper($obj); - $clfile=new $className(); - $fn_init_java=$className."_javainit"; - $init_java=trim($_REQUEST['init_java']);if($init_java){$clfile->$fn_init_java();} - - $case=$obj; - } - - if(!$case){$case=$obj;if(!file_exists(PATH_OBJECT."/$option/$obj.php")){$cl->under_construction();}} - $sptask=explode("_",$case);$modulename=$sptask[1];$fn_module_init="fn_".$modulename."_init"; - - switch($case) - { - case "rpt_$modulename": - $clfile->$fn_module_init(); - break; - } - -?> \ No newline at end of file diff --git a/objectx/obj_rpt/rpt_daily.php b/objectx/obj_rpt/rpt_daily.php deleted file mode 100644 index c47371e..0000000 --- a/objectx/obj_rpt/rpt_daily.php +++ /dev/null @@ -1,241 +0,0 @@ -dec($task);}} - - switch($task) - { - case "default": - $this->fn_default_daily(); - break; - - case $task: - $task="fn_".$task; - if(method_exists($this,$task)){$this->$task();} - break; - - default: - $this->fn_default_daily(); - break; - } - } - - public function fn_default_daily() - { - echo $this->FN_CREATEHEADER(); - - echo ""; - echo ""; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); - - echo $this->CREATE_LINK("","xls","","_self","","","margin-top:-122px;position:absolute;","id=\"a_rpt\" name=\"a_rpt\""); - echo " - - - - - - -
                    - -
                    "; - - echo $this->FN_CREATEFOOTER(); - - } - - public function fn_rptload() - { - $dates=$_REQUEST['dates']; - $idemployee=$_REQUEST['idemployee']; - $nik=$this->fn_get_fieldvalue("nik","select nik from ".DB_APORTIL.".tbl_employee where id='$idemployee'"); - $totdays=cal_days_in_month(CAL_GREGORIAN,$month,$period); - - include("lib/mpdf/mpdf.php"); - //$mpdf=new mPDF('L','A4-L','','',3,3,29,10); - $top=32; - $mpdf = new mPDF('c', 'A4', 2, 2, 5, 5, $top, $top, 9, 9, 'L'); - $mpdf->SetDisplayMode('fullpage'); - //$mpdf=new mPDF('c', 'A4-L'); - //$mpdf=new mPDF('L','','','','',25,25,55,45,18,12); - - - // LOAD a stylesheet - $stylesheet = file_get_contents('lib/mpdf/css/mpdfstyleA4.css'); - $mpdf->WriteHTML($stylesheet,1); // The parameter 1 tells that this is css/style only and no body/html/text - $htmlheader="Ticketing Daily Report
                    "; - $htmlheader.=""; - $htmlheader.=" "; - $htmlheader.=" - - - - "; - $htmlheader.=" - - - - "; - $htmlheader.=" - - - - "; - $htmlheader.="
                    Reported By:( ".$_SESSION['employeename']." )
                    Date Reporting:".date("d M Y H:i:s")."
                    Periode Transaction:".date("d M Y",strtotime($dates))."
                    "; - $htmlheader.="

                    "; - $htmlheader.="
                     

                    "; - //$htmlheader.=""; - - $mpdf->SetHTMLHeader($htmlheader); - $mpdf->setFooter('{PAGENO} of {nbpg} pages||{PAGENO} of {nbpg} pages') ; - - //$mpdf->AddPage('L','','','',5,5,5,5); - $html="
                    "; - $html.=""; - $html.=" "; - $html.=" "; - $html.=" "; - //$html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=""; - $qry="select id, idship, tiketnumber, voynumber, inctiket, shipnumber, shipname, passengername, idcardtype, cardtype, cardnumber, - picdata, dates, idroutestart, routenamestart, idrouteend, routenameend, seatnumber, quantity, price, baggageinkg, - limitbaggage, overlimitbaggage, priceoverinkg, pricebaggage, totalprice from ".DB_APORTIL.".tbl_passenger_tiket - where iby='$nik' and isdeleted=0 and cast(dates as date)=cast('$dates' as date) - order by id asc"; - - $rs=$this->selectquery($qry); - if($rs){ - $i=1;$totalprice=0; - while($rw=$this->data_row_object($rs)){ - $html.=""; - $html.=" "; - $html.=" "; - $html.=" "; - //$html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=""; - $i+=1; - $totalprice+=$rw->totalprice; - } - $html.=""; - $html.=" "; - $html.=" "; - $html.=""; - - } - $html.="
                    No.Tiket NumberVoy. NumberShip NumberPassengerIdentityRoutePrice Baggage
                    ( kg )
                    Over
                    Baggage
                    Total Price 
                    $i.".$rw->tiketnumber."".$rw->voynumber."".$rw->shipnumber."".$rw->passengername."".$rw->cardtype."/".$rw->cardnumber."".$rw->routenamestart."-".$rw->routenameend."\$".number_format($rw->price,2)."".$rw->baggageinkg." kg\$".number_format($rw->pricebaggage,2)."\$".number_format($rw->totalprice,2)."
                    Grand Total : \$".number_format($totalprice,2)."
                    "; - //$html=$qry; - //$mpdf->SetDisplayMode('fullwidth'); - $mpdf->WriteHTML($html); -// $mpdf->Output(); - $mpdf->Output('DailyRepot_'.date("Ymd").'.pdf','I'); - - exit; - } - } -?> \ No newline at end of file diff --git a/objectx/obj_rpt/rpt_mnfest.php b/objectx/obj_rpt/rpt_mnfest.php deleted file mode 100644 index 2547ddd..0000000 --- a/objectx/obj_rpt/rpt_mnfest.php +++ /dev/null @@ -1,258 +0,0 @@ -dec($task);}} - - switch($task) - { - case "default": - $this->fn_default_mnfest(); - break; - - case $task: - $task="fn_".$task; - if(method_exists($this,$task)){$this->$task();} - break; - - default: - $this->fn_default_mnfest(); - break; - } - } - - public function fn_default_mnfest() - { - echo $this->FN_CREATEHEADER(); - - echo ""; - echo ""; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); - - echo $this->CREATE_LINK("","xls","","_self","","","margin-top:-122px;position:absolute;","id=\"a_rpt\" name=\"a_rpt\""); - echo " - - - - - - -
                    - -
                    "; - - echo $this->FN_CREATEFOOTER(); - - } - - public function fn_rptload() - { - $dates=$_REQUEST['dates']; - $idemployee=$_REQUEST['idemployee']; - $nik=$this->fn_get_fieldvalue("nik","select nik from ".DB_APORTIL.".tbl_employee where id='$idemployee'"); - $totdays=cal_days_in_month(CAL_GREGORIAN,$month,$period); - - include("lib/mpdf/mpdf.php"); - //$mpdf=new mPDF('L','A4-L','','',3,3,29,10); - $top=32; - $mpdf = new mPDF('c', 'A4', 2, 2, 5, 5, $top, $top, 9, 9, 'L'); - $mpdf->SetDisplayMode('fullpage'); - //$mpdf=new mPDF('c', 'A4-L'); - //$mpdf=new mPDF('L','','','','',25,25,55,45,18,12); - - - // LOAD a stylesheet - $stylesheet = file_get_contents('lib/mpdf/css/mpdfstyleA4.css'); - $mpdf->WriteHTML($stylesheet,1); // The parameter 1 tells that this is css/style only and no body/html/text - //$htmlheader="Report
                    "; - $htmlheader=""; - $htmlheader.=" "; - $htmlheader.=" - - - - "; -// $htmlheader.=" -// -// -// -// "; -// $htmlheader.=" -// -// -// -// "; - $htmlheader.=" - - "; - $htmlheader.=" - - "; - $htmlheader.="
                    Reported By:( ".$_SESSION['employeename']." ) Reported : ".date("d M Y H:i:s")." Departure : ".date("d M Y",strtotime($dates))."
                    Date Reporting:".date("d M Y H:i:s")."
                    Periode Transaction:".date("d M Y",strtotime($dates))."
                    MANIFESTO DE PASSAGEIROS
                    "; - $htmlheader.="

                    "; - $htmlheader.="
                     

                    "; - //$htmlheader.=""; - - $mpdf->SetHTMLHeader($htmlheader); - $mpdf->setFooter('{PAGENO} of {nbpg} pages||{PAGENO} of {nbpg} pages') ; - - //$mpdf->AddPage('L','','','',5,5,5,5); - $html="
                    "; - $html.=""; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=""; - $html.=""; -// $html.=" "; -// $html.=" "; -// $html.=" "; - $html.=" "; - $html.=" "; -// $html.=" "; -// $html.=" "; -// $html.=" "; -// $html.=" "; -// $html.=" "; - $html.=""; - $qry="select id, idship, tiketnumber, voynumber,bod, inctiket, shipnumber, shipname, passengername, idcardtype, cardtype, cardnumber, - picdata, dates, idroutestart, routenamestart, idrouteend, routenameend, seatnumber, quantity, price, baggageinkg,gender, - limitbaggage, overlimitbaggage, priceoverinkg, pricebaggage, totalprice from ".DB_APORTIL.".tbl_passenger_tiket - where isdeleted=0 and status in(0,1) and cast(dates as date)=cast('$dates' as date) - order by id asc"; - - $rs=$this->selectquery($qry); - if($rs){ - $i=1;$totalprice=0; - while($rw=$this->data_row_object($rs)){ - $html.=""; - $html.=" "; - $html.=" "; - $html.=" "; - $m="M";$f=""; - if($rw->gender=='F'){$m="";$f="F";} - $html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=""; - $i+=1; -// $totalprice+=$rw->totalprice; - } -// $html.=""; -// $html.=" "; -// $html.=" "; -// $html.=""; - - } - $html.="
                    No.Nome do passageirosNo. De BilheteSexoIdadeNo. da CadeiraNacionalidade No Passprte /ID Observacao 
                    MF
                    $i.".$rw->passengername."".$rw->inctiket."".$m."".$f."".date("Y-m-d",strtotime($rw->bod))."EconomyTimor Leste".$rw->cardtype." / ".$rw->cardnumber."
                    Grand Total : \$".number_format($totalprice,2)."
                    "; - //$html=$qry; - //$mpdf->SetDisplayMode('fullwidth'); - $mpdf->WriteHTML($html); -// $mpdf->Output(); - $mpdf->Output('mnfestRepot_'.date("Ymd").'.pdf','I'); - - exit; - } - } -?> \ No newline at end of file diff --git a/objectx/obj_rpt/rpt_monthly.php b/objectx/obj_rpt/rpt_monthly.php deleted file mode 100644 index ddf7f27..0000000 --- a/objectx/obj_rpt/rpt_monthly.php +++ /dev/null @@ -1,402 +0,0 @@ -dec($task);}} - - switch($task) - { - case "default": - $this->fn_default_monthly(); - break; - - case $task: - $task="fn_".$task; - if(method_exists($this,$task)){$this->$task();} - break; - - default: - $this->fn_default_monthly(); - break; - } - } - - public function fn_default_monthly() - { - echo $this->FN_CREATEHEADER(); - - echo ""; - echo ""; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); - - echo $this->CREATE_LINK("","xls","","_self","","","margin-top:-122px;position:absolute;","id=\"a_rpt\" name=\"a_rpt\""); - echo " - - - - - - -
                    - -
                    "; - - echo $this->FN_CREATEFOOTER(); - - } - public function fn_default_monthlyold() - { - echo $this->FN_CREATEHEADER(); - - echo ""; - echo ""; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); - - echo $this->CREATE_LINK("","xls","","_self","","","margin-top:-122px;position:absolute;","id=\"a_rpt\" name=\"a_rpt\""); - echo " - - - - - - -
                    - -
                    "; - - echo $this->FN_CREATEFOOTER(); - - } - - public function fn_rptload() - { - //$dates=$_REQUEST['dates']; - $period1=$_REQUEST['period1']; - $period1name=$this->getFullNameOfMonth($period1); - $period2=$_REQUEST['period2']; - $period2name=$this->getFullNameOfMonth($period2); - $years=$_REQUEST['years']; - $idemployee=$_REQUEST['idemployee']; - if($idemployee){ - $nik=$this->fn_get_fieldvalue("nik","select nik from ".DB_APORTIL.".tbl_employee where id='$idemployee'"); - } - - $totdays=cal_days_in_month(CAL_GREGORIAN,$month,$period); - - include("lib/mpdf/mpdf.php"); - //$mpdf=new mPDF('L','A4-L','','',3,3,29,10); - $top=32; - $mpdf = new mPDF('c', 'A4', 2, 2, 5, 5, $top, $top, 9, 9, 'L'); - $mpdf->SetDisplayMode('fullpage'); - //$mpdf=new mPDF('c', 'A4-L'); - //$mpdf=new mPDF('L','','','','',25,25,55,45,18,12); - - - // LOAD a stylesheet - $stylesheet = file_get_contents('lib/mpdf/css/mpdfstyleA4.css'); - $mpdf->WriteHTML($stylesheet,1); // The parameter 1 tells that this is css/style only and no body/html/text - $htmlheader="Ticketing Monthly Report
                    "; - $htmlheader.=""; - $htmlheader.=" "; - $htmlheader.=" - - - - "; - $htmlheader.=" - - - - "; - $htmlheader.=" - - - - "; - $htmlheader.="
                    Reported By:( ".$_SESSION['employeename']." )
                    Date Reporting:".date("d M Y H:i:s")."
                    Periode Transaction:".$period1name." s.d ".$period2name." $years
                    "; - $htmlheader.="

                    "; - $htmlheader.="
                     

                    "; - //$htmlheader.=""; - - $mpdf->SetHTMLHeader($htmlheader); - $mpdf->setFooter('{PAGENO} of {nbpg} pages||{PAGENO} of {nbpg} pages') ; - - //$mpdf->AddPage('L','','','',5,5,5,5); - $html="
                    "; - $html.=""; - $html.=" "; - $html.=" "; - $html.=" "; - //$html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=""; - - - $swherenik=""; - if($idemployee){ - $swherenik="iby='$nik' and "; - } - - $qry="select id, idship, tiketnumber, voynumber, inctiket, shipnumber, shipname, passengername, idcardtype, cardtype, cardnumber, - picdata, dates, idroutestart, routenamestart, idrouteend, routenameend, seatnumber, quantity, price, baggageinkg, - limitbaggage, overlimitbaggage, priceoverinkg, pricebaggage, totalprice from ".DB_APORTIL.".tbl_passenger_tiket - where $swherenik isdeleted=0 and status in(0,1) and (month(dates)>=$period1 and month(dates)<=$period2) and years='$years' - order by id asc"; - - $rs=$this->selectquery($qry); - if($rs){ - $i=1;$totalprice=0; - while($rw=$this->data_row_object($rs)){ - $html.=""; - $html.=" "; - $html.=" "; - $html.=" "; - //$html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=""; - $i+=1; - $totalprice+=$rw->totalprice; - } - $html.=""; - $html.=" "; - $html.=" "; - $html.=""; - - } - $html.="
                    No.Tiket NumberVoy. NumberShip NumberPassengerIdentityRoutePrice Baggage
                    ( kg )
                    Over
                    Baggage
                    Total Price 
                    $i.".$rw->tiketnumber."".$rw->voynumber."".$rw->shipnumber."".$rw->passengername."".$rw->cardtype."/".$rw->cardnumber."".$rw->routenamestart."-".$rw->routenameend."\$".number_format($rw->price,2)."".$rw->baggageinkg." kg\$".number_format($rw->pricebaggage,2)."\$".number_format($rw->totalprice,2)."
                    Grand Total : \$".number_format($totalprice,2)."
                    "; - //$html=$qry; - //$mpdf->SetDisplayMode('fullwidth'); - $mpdf->WriteHTML($html); -// $mpdf->Output(); - $mpdf->Output('DailyRepot_'.date("Ymd").'.pdf','I'); - - exit; - } - } -?> \ No newline at end of file diff --git a/objectx/obj_tra/tra.html.php b/objectx/obj_tra/tra.html.php deleted file mode 100644 index 1e6a296..0000000 --- a/objectx/obj_tra/tra.html.php +++ /dev/null @@ -1,27 +0,0 @@ - \ No newline at end of file diff --git a/objectx/obj_tra/tra.php b/objectx/obj_tra/tra.php deleted file mode 100644 index 2024209..0000000 --- a/objectx/obj_tra/tra.php +++ /dev/null @@ -1,39 +0,0 @@ -dec($case);$obj=$cl->dec($obj);}} - - if(file_exists(PATH_OBJECT."/$option/$obj.php")) - { - require_once("$obj.php"); - $className=strtoupper($obj); - $clfile=new $className(); - $fn_init_java=$className."_javainit"; - $init_java=trim($_REQUEST['init_java']);if($init_java){$clfile->$fn_init_java();} - - $case=$obj; - } - - if(!$case){$case=$obj;if(!file_exists(PATH_OBJECT."/$option/$obj.php")){$cl->under_construction();}} - $sptask=explode("_",$case);$modulename=$sptask[1];$fn_module_init="fn_".$modulename."_init"; - - switch($case) - { - case "tra_$modulename": - $clfile->$fn_module_init(); - break; - } - -?> \ No newline at end of file diff --git a/objectx/obj_tra/tra_cancelcrg.php b/objectx/obj_tra/tra_cancelcrg.php deleted file mode 100644 index bb223a8..0000000 --- a/objectx/obj_tra/tra_cancelcrg.php +++ /dev/null @@ -1,348 +0,0 @@ -dec($task);}} - - switch($task) - { - case "default": - $this->fn_default_cancelcrg(); - break; - - case $task: - $task="fn_".$task; - if(method_exists($this,$task)){$this->$task();} - break; - - default: - $this->fn_default_cancelcrg(); - break; - } - } - public function fn_default_cancelcrg() - { - echo $this->FN_CREATEHEADER(); - - echo ""; - echo ""; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); - - echo "
                    "; - echo " - - - - - - -
                    "; - $qry="select filepdf from ".DB_APORTIL.".tbl_manualbook where isdeleted=0 and filepdf='cancelcrgket_passenger.pdf'"; - $filepdf=$this->fn_get_fieldvalue("filepdf",$qry); - $urlmanualbook=" MANUAL BOOK"; - $url="location.reload();"; - $myuri=array("CARGO INFORMATION"=>"$url|id='a_newticket'","$urlmanualbook"=>"|id='a_manualbook'"); - echo $this->MULTIPLE_LINK($myuri); - echo "
                    -
                    - - - - -
                    - - - - - - - - - - - -
                    -
                    -
                    -
                    -
                    -
                    -
                    ".$this->CREATE_IMAGE("loadergrid.gif")."
                    -
                    -
                    -
                    -
                    "; - - echo $this->FN_CREATEFOOTER(); - } - - public function fn_grdrecord() - { - $keyword=$_REQUEST["keyword"]; - header("Content-type: text/xml"); - echo(''); - echo ""; - - $qry="select id,0 ischecklist,idship,shipname,tiketnumber,tiketnumberpassenger,voynumber,inctiket,idcategory,cargodescription,passengername, - idcardtype,cardtype,cardnumber,dates,idroutestart,routenamestart,idrouteend, - routenameend,price,quantity,weight,totalprice,units,modifcount,status - from ".DB_APORTIL.".tbl_cargo_tiket - where (tiketnumber like '%$keyword%' or voynumber like '%$keyword%' or passengername like '%$keyword%') and isdeleted=0 and status=0 - order by id desc limit ".TBL_PAGE_LIMIT; - - $rs=$this->selectquery($qry); - if($rs) - { - $i=1; - while($row=$this->data_row_array($rs)) - { - $color='green'; - if($row["status"]==1){$color='blue';} - echo (""); - print(""); - print(""); - print("".$i.""."]]>"); - $status=$this->fn_get_fieldvalue("description","select description from ".DB_APORTIL.".tbl_cargo_tiket_status where status='".$row['status']."'"); - print("".$status.""."]]>"); - print(""); - print("".$row["shipname"].""."]]>"); - print("".$row["tiketnumber"].""."]]>"); - print("".$row["voynumber"].""."]]>"); - print("".$row["passengername"].""."]]>"); - print("".$row["cardtype"]."/".$row["cardnumber"].""."]]>"); - print("".date("Y-m-d",strtotime($row["dates"])).""."]]>"); - print("".$row["routenamestart"]." to ".$row['routenameend'].""."]]>"); - print("".$row["cargodescription"].""."]]>"); - print("".$row["price"]." \$"."]]>"); - print("".$row["quantity"].""."]]>"); - print("".$row["weight"].""."]]>"); - print("".$row["totalprice"]." \$"."]]>"); - echo (""); - $i+=1; - } - } - else - { - echo mysql_errno().": ".mysql_error()." at ".__LINE__." line in ".__FILE__." file
                    "; - } - echo "
                    "; - - } - - public function fn_cancelcrg() - { - $idcargo=$_REQUEST['idcargo']; - $remark=$_REQUEST['remark']; - $qry="update ".DB_APORTIL.".tbl_cargo_tiket set status=-2,remark='$remark',uby='".$_SESSION['nik']."',udt=now() "; - $qry.="where id='$idcargo'"; - if($this->executequery($qry)){ - $qry="insert into ".DB_APORTIL.".tbl_cargo_tiket_log - set idcargoticket='$idcargo',dates='".date("Y-m-d")."',status=-2,remarkstatus='Cancel Cargo Tiket', - remark='$remark',iby='".$_SESSION['nik']."',idt=now()"; - if($this->executequery($qry)){ - echo "ok|$idcargo"; - } - - - } - - - } - } -?> \ No newline at end of file diff --git a/objectx/obj_tra/tra_canceltic.php b/objectx/obj_tra/tra_canceltic.php deleted file mode 100644 index b0d307f..0000000 --- a/objectx/obj_tra/tra_canceltic.php +++ /dev/null @@ -1,353 +0,0 @@ -dec($task);}} - - switch($task) - { - case "default": - $this->fn_default_canceltic(); - break; - - case $task: - $task="fn_".$task; - if(method_exists($this,$task)){$this->$task();} - break; - - default: - $this->fn_default_canceltic(); - break; - } - } - public function fn_default_canceltic() - { - echo $this->FN_CREATEHEADER(); - - echo ""; - echo ""; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); - - echo "
                    "; - echo " - - - - - - -
                    "; - $qry="select filepdf from ".DB_APORTIL.".tbl_manualbook where isdeleted=0 and filepdf='cancelticket_passenger.pdf'"; - $filepdf=$this->fn_get_fieldvalue("filepdf",$qry); - $urlmanualbook=" MANUAL BOOK"; - $url="location.reload();"; - $myuri=array("PASSENGER TICKET INFORMATION"=>"$url|id='a_newticket'","$urlmanualbook"=>"|id='a_manualbook'"); - echo $this->MULTIPLE_LINK($myuri); - echo "
                    -
                    - - - - -
                    - - - - - - - - - - - -
                    -
                    -
                    -
                    -
                    -
                    -
                    ".$this->CREATE_IMAGE("loadergrid.gif")."
                    -
                    -
                    -
                    -
                    "; - - echo $this->FN_CREATEFOOTER(); - } - - public function fn_grdrecord() - { - $keyword=$_REQUEST["keyword"]; - header("Content-type: text/xml"); - echo(''); - echo ""; - - $qry="select id,0 ischecklist,idship,tiketnumber,inctiket,shipname,shipnumber,passengername,picdata,dates,idroutestart, - routenamestart,idrouteend,routenameend,seatnumber,quantity,price,baggageinkg,pricebaggage,modifcount,status - from ".DB_APORTIL.".tbl_passenger_tiket - where (tiketnumber like '%$keyword%' or passengername like '%$keyword%') and isdeleted=0 and status=0 - order by id desc limit ".TBL_PAGE_LIMIT; - - $rs=$this->selectquery($qry); - if($rs) - { - $i=1; - while($row=$this->data_row_array($rs)) - { - $color='green'; - if($row["status"]==1){$color='blue';} - echo (""); - print(""); - print(""); - print("".$i.""."]]>"); - $status=$this->fn_get_fieldvalue("description","select description from ".DB_APORTIL.".tbl_passenger_tiket_status where status='".$row['status']."'"); - print("".$status.""."]]>"); - print(""); - print("".$row["shipname"].""."]]>"); - print("".$row["tiketnumber"].""."]]>"); - print(""); - print("".$row["inctiket"].""."]]>"); - print("".$row["shipnumber"].""."]]>"); - print("".$row["passengername"].""."]]>"); - print("".$row["picdata"].""."]]>"); - print("".date("Y-m-d",strtotime($row["dates"])).""."]]>"); - print("".$row["routenamestart"].""."]]>"); - print("".$row["routenameend"].""."]]>"); - print("".$row["seatnumber"].""."]]>"); - print("".$row["quantity"].""."]]>"); - print(""."\$".$row["price"].""."]]>"); - print("".$row["baggageinkg"].""."]]>"); - print(""."\$".$row["pricebaggage"].""."]]>"); - echo (""); - $i+=1; - } - } - else - { - echo mysql_errno().": ".mysql_error()." at ".__LINE__." line in ".__FILE__." file
                    "; - } - echo "
                    "; - - } - - public function fn_canceltic() - { - $idticketing=$_REQUEST['idticketing']; - $remark=$_REQUEST['remark']; - $qry="update ".DB_APORTIL.".tbl_passenger_tiket set status=-2,remark='$remark',uby='".$_SESSION['nik']."',udt=now() "; - $qry.="where id='$idticketing'"; - if($this->executequery($qry)){ - $qry="insert into ".DB_APORTIL.".tbl_passenger_tiket_log - set idpassengerticket='$idticketing',dates='".date("Y-m-d")."',status=-2,remarkstatus='Cancel Passenger Tiket', - remark='$remark',iby='".$_SESSION['nik']."',idt=now()"; - if($this->executequery($qry)){ - echo "ok|$idticketing"; - } - - - } - - - } - } -?> \ No newline at end of file diff --git a/objectx/obj_tra/tra_cargticket.php b/objectx/obj_tra/tra_cargticket.php deleted file mode 100644 index ad2ba87..0000000 --- a/objectx/obj_tra/tra_cargticket.php +++ /dev/null @@ -1,1107 +0,0 @@ -dec($task);}} - - switch($task) - { - case "default": - $this->fn_default_cargticket(); - break; - - case $task: - $task="fn_".$task; - if(method_exists($this,$task)){$this->$task();} - break; - - default: - $this->fn_default_cargticket(); - break; - } - } - public function fn_default_cargticket() - { - echo $this->FN_CREATEHEADER(); - echo ""; - echo ""; - echo ""; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); - - echo "
                    "; - echo " - - - - - - -
                    "; - $url="location.reload();"; - $myuri=array("CARGO TICKETING INFORMATION"=>"$url|id='a_cargticket'"); - echo $this->MULTIPLE_LINK($myuri); - echo "
                    -
                    - - - - - -
                    -
                    -
                    - - - - - - - - - - - - - - -
                    -
                    -
                    -
                    -
                    -
                    -
                    ".$this->CREATE_IMAGE("loadergrid.gif")."
                    - - - - - - -
                    Notes:- Click Row For Edit
                    -
                    -
                    -
                    -
                    -
                    "; - echo $this->FN_CREATEFOOTER(); - - } - - public function fn_grdrecord() - { - $keyword=$_REQUEST["keyword"]; - header("Content-type: text/xml"); - echo(''); - echo ""; - - $qry="select id,idship,shipname,tiketnumber,tiketnumberpassenger,voynumber,inctiket,idcategory,cargodescription,passengername, - idcardtype,cardtype,cardnumber,dates,idroutestart,routenamestart,idrouteend, - routenameend,price,quantity,weight,totalprice,units,modifcount - from ".DB_APORTIL.".tbl_cargo_tiket - where (tiketnumber like '%$keyword%' or voynumber like '%$keyword%' or passengername like '%$keyword%') and isdeleted=0 - order by id asc limit ".TBL_PAGE_LIMIT; - - $rs=$this->selectquery($qry); - if($rs) - { - $i=1; - while($row=$this->data_row_array($rs)) - { - $color='black'; - if($row["modifcount"]>=2){$color='grey';} - $print="<a href=\"javascript:void(0)\" title=\"Reprint Ticket Number ".$row["tiketnumber"]."\" style=\"text-decoration:none\" onClick=\"fn_printtra('".$row['tiketnumber']."','".$row['id']."','".$row['idcategory']."')\"/>"; - $print.="<img src='themes/images/print.gif' />"; - $print.="<a/>"; - echo (""); - print(""); - print("$print"); - print("".$i.""."]]>"); - print("".$row["shipname"].""."]]>"); - print("".$row["tiketnumber"].""."]]>"); - print("".$row["voynumber"].""."]]>"); - print("".$row["passengername"].""."]]>"); - print("".$row["cardtype"]."/".$row["cardnumber"].""."]]>"); - print("".date("Y-m-d",strtotime($row["dates"])).""."]]>"); - print("".$row["routenamestart"]." to ".$row['routenameend'].""."]]>"); - print("".$row["cargodescription"].""."]]>"); - print("".$row["price"]." \$"."]]>"); - print("".$row["quantity"].""."]]>"); - print("".$row["weight"].""."]]>"); - print("".$row["totalprice"]." \$"."]]>"); - echo (""); - $i+=1; - } - } - else - { - echo mysql_errno().": ".mysql_error()." at ".__LINE__." line in ".__FILE__." file
                    "; - } - echo "
                    "; - - } - - public function fn_saverecord($isupdate=null) - { - $year=date("Y");$id=0; - if($isupdate){$id=$_REQUEST['txt_id'];} - $idship=$_REQUEST['cbo_idship']; - $sp=$this->fn_get_fieldsvalues("shipname,shipnumber","select shipname,shipnumber from ".DB_APORTIL.".tbl_ship_information where id='$idship'"); - $shipnumber=$sp[1];$shipname=$sp[0]; - $tiketnumber=$_REQUEST['txt_tiketnumber']; - $tiketnumberpassenger=$_REQUEST['txt_tiketnumberpassenger']; - $voynumber=$_REQUEST['txt_voynumber']; - $inctiket=$_REQUEST['txt_inctiket']; - $idcategory=$_REQUEST['txt_idcategory']; - $spcategory=$this->fn_get_fieldsvalues("id,cargocategory,cargodescription,idunits,units","select id,cargocategory,cargodescription,idunits,units from tbl_cargoprice_information where id='$idcategory'"); - $cargocategory=$spcategory[1]; - $cargodescription=$spcategory[2]; - $idunits=$spcategory[3]; - $units=$spcategory[4]; - - $inctiket=0;$inctiketyear=0; - if(!$isupdate){ - $qry="select count(id) incnumber from ".DB_APORTIL.".tbl_cargo_tiket - where isdeleted=0 and years='$year' and status>=0"; - $inctiketyear=$this->fn_get_fieldvalue("incnumber",$qry); - $inctiketyear+=1; - - $qry="select count(id) incnumber from ".DB_APORTIL.".tbl_cargo_tiket - where idship='$idship' and isdeleted=0 and cast(dates as date)=cast(now() as date) and idroutestart='$idroutestart' and idrouteend='$idrouteend' and status>=0"; - $inctiket=$this->fn_get_fieldvalue("incnumber",$qry); - $inctiket+=1; - - //$inctiket=$this->fn_get_fieldvalue("incnumber","select count(id) incnumber from ".DB_APORTIL.".tbl_cargo_tiket where isdeleted=0 and years='$year'"); - //$inctiket+=1; - } - - $passengername=$_REQUEST['txt_passengername']; - $idcardtype=$_REQUEST['cbo_idcardtype']; - $cardtype=$this->fn_get_fieldvalue("cardtype","select cardtype from ".DB_APORTIL.".tbl_passenger_identifycardtype where id='$idcardtype'"); - $cardnumber=$_REQUEST['txt_cardnumber']; - $picdata="aportildefault.png";//$_REQUEST['txt_picdata']; - $dates=$_REQUEST['txt_dates']; - $idroutestart=$_REQUEST['cbo_idroutestart']; - $routenamestart=$this->fn_get_fieldvalue("routename","select routename from ".DB_APORTIL.".tbl_route_information where id='$idroutestart'"); - $idrouteend=$_REQUEST['cbo_idrouteend']; - $routenameend=$this->fn_get_fieldvalue("routename","select routename from ".DB_APORTIL.".tbl_route_information where id='$idrouteend'"); - - $price=$_REQUEST['txt_price']; - $quantity=$_REQUEST['txt_quantity']; - $weight=$_REQUEST['txt_weight']; - $totalprice=$_REQUEST['txt_totalprice']; - - $qry="insert into ".DB_APORTIL.".tbl_cargo_tiket - set idship='$idship',tiketnumber='$tiketnumber',tiketnumberpassenger='$tiketnumberpassenger',voynumber='$voynumber',inctiket='$inctiket',inctiketyear='$inctiketyear', - idcategory='$idcategory',cargocategory='$cargocategory',cargodescription='$cargodescription',shipnumber='$shipnumber',shipname='$shipname', - passengername='$passengername',idcardtype='$idcardtype',cardtype='$cardtype',cardnumber='$cardnumber',picdata='$picdata',dates='$dates', - idroutestart='$idroutestart',routenamestart='$routenamestart',idrouteend='$idrouteend',routenameend='$routenameend',idunits='$idunits',status=0, - units='$units',price='$price',quantity='$quantity',weight='$weight',totalprice='$totalprice',years='$year',iby='".$_SESSION['nik']."',idt=now()"; - if($isupdate) - { - $qry="update ".DB_APORTIL.".tbl_cargo_tiket - set idship='$idship',tiketnumber='$tiketnumber',tiketnumberpassenger='$tiketnumberpassenger',voynumber='$voynumber', - idcategory='$idcategory',cargocategory='$cargocategory',cargodescription='$cargodescription',shipnumber='$shipnumber',shipname='$shipname', - passengername='$passengername',idcardtype='$idcardtype',cardtype='$cardtype',cardnumber='$cardnumber',picdata='$picdata',dates='$dates', - idroutestart='$idroutestart',routenamestart='$routenamestart',idrouteend='$idrouteend',routenameend='$routenameend',idunits='$idunits', - units='$units',price='$price',quantity='$quantity',weight='$weight',totalprice='$totalprice',modifcount=modifcount+1,uby='".$_SESSION['nik']."',udt=now() - where id='$id'"; - } - - if($this->executequery($qry)) - { - if(!$id){$id=mysql_insert_id();} - $qry="insert into ".DB_APORTIL.".tbl_cargo_tiket_log - set idcargoticket='$id',dates='".date("Y-m-d")."',status=0,remarkstatus='Submitted', - remark='',iby='".$_SESSION['nik']."',idt=now()"; - if(!$this->fn_row_isexists("select id from ".DB_APORTIL.".tbl_cargo_tiket_log where idcargoticket='$id' and status=0 order by id desc limit 1")){ - if($this->executequery($qry)){ - - } - } - echo "ok|$id";return true; - - // if(!$isupdate) - // { - // $idtransaction=mysql_insert_id(); - // $rtn=$this->fn_printtra($idtransaction); - // echo $rtn; - // } - // else - // { - // echo "ok|";return true; - // } - } - } - public function fn_updrecord(){$this->fn_saverecord(true);} - - public function fn_delrecord() - { - $id=$_REQUEST['txt_id']; - $remark=$_REQUEST['txtremark']; - $qry="update ".DB_APORTIL.".tbl_cargo_tiket - set isdeleted=1,remark='$remark',dby='".$_SESSION['nik']."',ddt=now() - where id='$id'"; - if($this->executequery($qry)){echo "ok|";return true;} - else - { - echo "failed|".$this->getErrorQuery(); - } - } - - public function fn_printtra($idtransaction=''){ - date_default_timezone_set("Asia/Bangkok"); - include("lib/mpdf/mpdf.php"); - $top=10; - // $mpdf = new mPDF('c', 'A4', '', '', 5, 5, $top, 10, 3, 3, 'P'); - $mpdf = new mPDF('utf-8', array(250,120) ,'', '', 5, 5, 5); - $mpdf->SetDisplayMode('fullpage'); - $tiketnumber=$_REQUEST['tiketnumber']; - - // LOAD a stylesheet - $stylesheet = file_get_contents('lib/mpdf/css/mpdfstyleA4.css'); - - $html="
                    "; - $html.="
                    ".str_repeat(" ",6)."$tiketnumber
                    "; - $html.="
                    "; - $html.="
                    "; - - $qry="select * from ".DB_APORTIL.".tbl_cargo_tiket where id='".$_REQUEST['idtransaction']."' and isdeleted=0"; - $rs=$this->selectquery($qry); - $rw=$this->data_row_array($rs); - $html.=""; - $html.=""; - $html.=" "; - $html.=""; - $html.=""; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=""; - $html.=""; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=""; - $html.=""; - $html.=" "; - $html.=" "; - $destination=$rw['routenamestart']."-".$rw['routenameend']; - - $html.=" "; - - $html.=" "; - $html.=" "; - $html.=" "; - - - $html.=""; - $html.=""; - $html.=" "; - $html.=" "; - $html.=" "; - - $html.=" "; - $html.=" "; - $html.=" "; - - $html.=""; - $html.=""; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=""; - $html.=""; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - - $html.=""; - $html.=""; - $html.=" "; - $html.=" "; - $totalprice=$rw['price']*$rw['quantity']; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=""; - $html.=""; - $html.=" "; - $html.=""; - $html.=""; - $html.=" "; - $html.=""; - $html.="
                    TICKET ".$rw['shipname']."
                    Typu:Cargo
                    Nome:".$rw['passengername']."
                    Destino:".$destination."Data:".date("d/m/Y H:i:s a",strtotime($rw['dates']))."
                    Voy:".$rw['voynumber']."Tipo do Veiculo:".$rw['cargodescription']."
                    Qty:".$rw['quantity']."No:".$rw['inctiket']."
                    Preco:US$ ".$rw['price']."
                    Total Preco:US$ ".$totalprice."
                    -- BOARDING PASS --
                    Nota : O bilhete que já foram comprados não podem ser cancelados
                    "; - - - $mpdf->WriteHTML($html); - - // $secureofletter=$this->enc("ticket_".$tiketnumber."_".date("His")); - // $mpdf->setFooter('{PAGENO} of {nbpg} pages || Secure ID : '.$secureofletter) ; - - $mpdf->output(); - } - - public function fn_printtraold($idtransaction='') - { - $tiketnumber=$_REQUEST['txt_tiketnumber']; - if(!$idtransaction){ - $idtransaction=$_REQUEST['idtransaction']; - } - $idcategory=$_REQUEST['txt_idcategory']; - $spcategory=$this->fn_get_fieldsvalues("id,cargocategory,cargodescription,idunits,units","select id,cargocategory,cargodescription,idunits,units from tbl_cargoprice_information where id='$idcategory'"); - $cargocategory=$spcategory[1]; - $cargodescription=$spcategory[2]; - $ipprintclient=$this->get_client_ip(); - $jobgroup="TICV"; - - if($cargocategory!=='Veiculos'){$jobgroup="TICNV";} - $jobgroup="TICV"; - $qry="insert into ".DB_APORTIL.".tbl_printjob - set idtransaction='$idtransaction',ipprintclient='$ipprintclient',idemployee='".$_SESSION['idemployee']."',nik='".$_SESSION['nik']."', - employeename='".$_SESSION['employeename']."',jobgroup='$jobgroup',jobremark='$tiketnumber',iby='".$_SESSION['nik']."',idt=now()"; - //echo "ok|".$qry; - $qrychk="select id from ".DB_APORTIL.".tbl_printjob where ipprintclient='$ipprintclient' order by id desc limit 1"; - if($this->fn_row_isexists($qrychk)) - { - $id=$this->fn_get_fieldvalue("id",$qrychk); - $qry="update ".DB_APORTIL.".tbl_printjob - set idtransaction='$idtransaction',ipprintclient='$ipprintclient',idemployee='".$_SESSION['idemployee']."',nik='".$_SESSION['nik']."', - employeename='".$_SESSION['employeename']."',jobgroup='$jobgroup',jobremark='$tiketnumber',uby='".$_SESSION['nik']."',udt=now() - where id='$id'"; - } - - $rtn="failed|Print Tiket $tiketnumber failed, please contact your administrator. Thank you"; - if($this->executequery($qry)) - { - $rtn="ok|"; - } - echo $rtn; - return $rtn; - } - - - public function fn_getticket(){ - // $valticket=""; - // for($i=1;$i<=8;$i++){ - // $valticket.=rand(0,9); - // } - $valticket=date("YmdHis"); - $sql="select tiketnumber from ".DB_APORTIL.".tbl_cargo_tiket where tiketnumber='".$valticket."' order by id desc limit 1"; - if($this->fn_row_isexists($sql)){ - $this->fn_getticket(); - } - return $valticket; - } - - public function fn_getheaderinfo(){ - $idship=$_REQUEST['idship']; - $tiketnumber=$this->fn_getticket(); - echo "ok|".$tiketnumber; - } - - - public function fn_getpic(){ - $picdata=$_REQUEST['picdata']; - if($picdata){unlink('uploads/temps/'.$picdata);} - - echo $this->FN_CREATEHEADER(); - echo ""; - echo ""; - echo " - "; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); -// echo "
                    -// -//
                    "; - echo " -
                    - -
                    -
                    "; - //echo ""; - echo $this->FN_CREATEFOOTER(); - - - } - - public function fn_getcategory() - { - echo $this->FN_CREATEHEADER(); - $idroutestart=$_REQUEST['idroutestart']; - $idrouteend=$_REQUEST['idrouteend']; - echo ""; - echo ""; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); - - echo " - - - - -
                    - - - - - - - - - - - - - - -
                    -
                    -
                    -
                    -
                    -
                    -
                    ".$this->CREATE_IMAGE("loadergrid.gif")."
                    - - - - - - -
                    Notes:- Double Click Row For Get Data
                    -
                    -
                    "; - echo $this->FN_CREATEFOOTER(); - - } - - public function fn_grdcategory() - { - $idroutestart=$_REQUEST["idroutestart"]; - $idrouteend=$_REQUEST["idrouteend"]; - $keyword=$_REQUEST["keyword"]; - header("Content-type: text/xml"); - echo(''); - echo ""; - - $qry="select id,idcategory,cargocategory,cargodescription,routenamestart,routenameend,units,prices,years - from ".DB_APORTIL.".tbl_cargoprice_information - where (cargodescription like '%$keyword%' or cargocategory like '%$keyword%') and (idroutestart='$idroutestart' and idrouteend='$idrouteend') and isdeleted=0 - order by id asc limit ".TBL_PAGE_LIMIT; - - $rs=$this->selectquery($qry); - if($rs) - { - $i=1; - while($row=$this->data_row_array($rs)) - { - echo (""); - print(""); - print(""); - print(""); - print(""); - $destination=$row['routenamestart']."-".$row['routenameend']; - print(""); - print(""); - print(""); - print(""); - print(""); - echo (""); - $i+=1; - } - } - else - { - echo mysql_errno().": ".mysql_error()." at ".__LINE__." line in ".__FILE__." file
                    "; - } - echo "
                    "; - - } - } -?> \ No newline at end of file diff --git a/objectx/obj_tra/tra_cargticket_20200206.php b/objectx/obj_tra/tra_cargticket_20200206.php deleted file mode 100644 index 8b7c311..0000000 --- a/objectx/obj_tra/tra_cargticket_20200206.php +++ /dev/null @@ -1,947 +0,0 @@ -dec($task);}} - - switch($task) - { - case "default": - $this->fn_default_cargticket(); - break; - - case $task: - $task="fn_".$task; - if(method_exists($this,$task)){$this->$task();} - break; - - default: - $this->fn_default_cargticket(); - break; - } - } - public function fn_default_cargticket() - { - echo $this->FN_CREATEHEADER(); - echo ""; - echo ""; - echo ""; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); - - echo "
                    "; - echo " - - - - - - -
                    "; - $url="location.reload();"; - $myuri=array("CARGO TICKETING INFORMATION"=>"$url|id='a_cargticket'"); - echo $this->MULTIPLE_LINK($myuri); - echo "
                    -
                    - - - - - -
                    -
                    -
                    - - - - - - - - - - - - - - -
                    -
                    -
                    -
                    -
                    -
                    -
                    ".$this->CREATE_IMAGE("loadergrid.gif")."
                    - - - - - - -
                    Notes:- Click Row For Edit
                    -
                    -
                    -
                    -
                    -
                    "; - echo $this->FN_CREATEFOOTER(); - - } - - public function fn_grdrecord() - { - $keyword=$_REQUEST["keyword"]; - header("Content-type: text/xml"); - echo(''); - echo ""; - - $qry="select id,idship,shipname,tiketnumber,tiketnumberpassenger,voynumber,inctiket,idcategory,cargodescription,passengername, - idcardtype,cardtype,cardnumber,dates,idroutestart,routenamestart,idrouteend, - routenameend,price,quantity,weight,totalprice,units,modifcount - from ".DB_APORTIL.".tbl_cargo_tiket - where (tiketnumber like '%$keyword%' or voynumber like '%$keyword%' or passengername like '%$keyword%') and isdeleted=0 - order by id asc limit ".TBL_PAGE_LIMIT; - - $rs=$this->selectquery($qry); - if($rs) - { - $i=1; - while($row=$this->data_row_array($rs)) - { - $color='black'; - if($row["modifcount"]>=2){$color='grey';} - echo (""); - print(""); - print("".$i.""."]]>"); - print("".$row["shipname"].""."]]>"); - print("".$row["tiketnumber"].""."]]>"); - print("".$row["voynumber"].""."]]>"); - print("".$row["passengername"].""."]]>"); - print("".$row["cardtype"]."/".$row["cardnumber"].""."]]>"); - print("".date("Y-m-d",strtotime($row["dates"])).""."]]>"); - print("".$row["routenamestart"]." to ".$row['routenameend'].""."]]>"); - print("".$row["cargodescription"].""."]]>"); - print("".$row["price"]." \$"."]]>"); - print("".$row["quantity"].""."]]>"); - print("".$row["weight"].""."]]>"); - print("".$row["totalprice"]." \$"."]]>"); - echo (""); - $i+=1; - } - } - else - { - echo mysql_errno().": ".mysql_error()." at ".__LINE__." line in ".__FILE__." file
                    "; - } - echo "
                    "; - - } - - public function fn_saverecord($isupdate=null) - { - $year=date("Y"); - if($isupdate){$id=$_REQUEST['txt_id'];} - $idship=$_REQUEST['cbo_idship']; - $sp=$this->fn_get_fieldsvalues("shipname,shipnumber","select shipname,shipnumber from ".DB_APORTIL.".tbl_ship_information where id='$idship'"); - $shipnumber=$sp[1];$shipname=$sp[0]; - $tiketnumber=$_REQUEST['txt_tiketnumber']; - $tiketnumberpassenger=$_REQUEST['txt_tiketnumberpassenger']; - $voynumber=$_REQUEST['txt_voynumber']; - $inctiket=$_REQUEST['txt_inctiket']; - $idcategory=$_REQUEST['txt_idcategory']; - $spcategory=$this->fn_get_fieldsvalues("id,cargocategory,cargodescription,idunits,units","select id,cargocategory,cargodescription,idunits,units from tbl_cargoprice_information where id='$idcategory'"); - $cargocategory=$spcategory[1]; - $cargodescription=$spcategory[2]; - $idunits=$spcategory[3]; - $units=$spcategory[4]; - - $inctiket=0; - if(!$isupdate){ - $inctiket=$this->fn_get_fieldvalue("incnumber","select count(id) incnumber from ".DB_APORTIL.".tbl_cargo_tiket where isdeleted=0 and years='$year'"); - $inctiket+=1; - } - - $passengername=$_REQUEST['txt_passengername']; - $idcardtype=$_REQUEST['cbo_idcardtype']; - $cardtype=$this->fn_get_fieldvalue("cardtype","select cardtype from ".DB_APORTIL.".tbl_passenger_identifycardtype where id='$idcardtype'"); - $cardnumber=$_REQUEST['txt_cardnumber']; - $picdata=$_REQUEST['txt_picdata']; - $dates=$_REQUEST['txt_dates']; - $idroutestart=$_REQUEST['cbo_idroutestart']; - $routenamestart=$this->fn_get_fieldvalue("routename","select routename from ".DB_APORTIL.".tbl_route_information where id='$idroutestart'"); - $idrouteend=$_REQUEST['cbo_idrouteend']; - $routenameend=$this->fn_get_fieldvalue("routename","select routename from ".DB_APORTIL.".tbl_route_information where id='$idrouteend'"); - - $price=$_REQUEST['txt_price']; - $quantity=$_REQUEST['txt_quantity']; - $weight=$_REQUEST['txt_weight']; - $totalprice=$_REQUEST['txt_totalprice']; - - $qry="insert into ".DB_APORTIL.".tbl_cargo_tiket - set idship='$idship',tiketnumber='$tiketnumber',tiketnumberpassenger='$tiketnumberpassenger',voynumber='$voynumber',inctiket='$inctiket', - idcategory='$idcategory',cargocategory='$cargocategory',cargodescription='$cargodescription',shipnumber='$shipnumber',shipname='$shipname', - passengername='$passengername',idcardtype='$idcardtype',cardtype='$cardtype',cardnumber='$cardnumber',picdata='$picdata',dates='$dates', - idroutestart='$idroutestart',routenamestart='$routenamestart',idrouteend='$idrouteend',routenameend='$routenameend',idunits='$idunits',status=0, - units='$units',price='$price',quantity='$quantity',weight='$weight',totalprice='$totalprice',years='$year',iby='".$_SESSION['nik']."',idt=now()"; - if($isupdate) - { - $qry="update ".DB_APORTIL.".tbl_cargo_tiket - set idship='$idship',tiketnumber='$tiketnumber',tiketnumberpassenger='$tiketnumberpassenger',voynumber='$voynumber', - idcategory='$idcategory',cargocategory='$cargocategory',cargodescription='$cargodescription',shipnumber='$shipnumber',shipname='$shipname', - passengername='$passengername',idcardtype='$idcardtype',cardtype='$cardtype',cardnumber='$cardnumber',picdata='$picdata',dates='$dates', - idroutestart='$idroutestart',routenamestart='$routenamestart',idrouteend='$idrouteend',routenameend='$routenameend',idunits='$idunits', - units='$units',price='$price',quantity='$quantity',weight='$weight',totalprice='$totalprice',modifcount=modifcount+1,uby='".$_SESSION['nik']."',udt=now() - where id='$id'"; - } - - if($this->executequery($qry)) - { - if(!$isupdate) - { - $idtransaction=mysql_insert_id(); - $rtn=$this->fn_printtra($idtransaction); - echo $rtn; - } - else - { - echo "ok|";return true; - } - } - } - public function fn_updrecord(){$this->fn_saverecord(true);} - - public function fn_delrecord() - { - $id=$_REQUEST['txt_id']; - $remark=$_REQUEST['txtremark']; - $qry="update ".DB_APORTIL.".tbl_cargo_tiket - set isdeleted=1,remark='$remark',dby='".$_SESSION['nik']."',ddt=now() - where id='$id'"; - if($this->executequery($qry)){echo "ok|";return true;} - else - { - echo "failed|".$this->getErrorQuery(); - } - } - - - public function fn_printtra($idtransaction) - { - $tiketnumber=$_REQUEST['txt_tiketnumber']; - $idcategory=$_REQUEST['txt_idcategory']; - $spcategory=$this->fn_get_fieldsvalues("id,cargocategory,cargodescription,idunits,units","select id,cargocategory,cargodescription,idunits,units from tbl_cargoprice_information where id='$idcategory'"); - $cargocategory=$spcategory[1]; - $cargodescription=$spcategory[2]; - $ipprintclient=$this->get_client_ip(); - $jobgroup="TICV"; - - if($cargocategory!=='Veiculos'){$jobgroup="TICNV";} - $qry="insert into ".DB_APORTIL.".tbl_printjob - set idtransaction='$idtransaction',ipprintclient='$ipprintclient',idemployee='".$_SESSION['idemployee']."',nik='".$_SESSION['nik']."', - employeename='".$_SESSION['employeename']."',jobgroup='$jobgroup',jobremark='$tiketnumber',iby='".$_SESSION['nik']."',idt=now()"; - $qrychk="select id from ".DB_APORTIL.".tbl_printjob where ipprintclient='$ipprintclient' order by id desc limit 1"; - if($this->fn_row_isexists($qrychk)) - { - $id=$this->fn_get_fieldvalue("id",$qrychk); - $qry="update ".DB_APORTIL.".tbl_printjob - set idtransaction='$idtransaction',ipprintclient='$ipprintclient',idemployee='".$_SESSION['idemployee']."',nik='".$_SESSION['nik']."', - employeename='".$_SESSION['employeename']."',jobgroup='$jobgroup',jobremark='$tiketnumber',uby='".$_SESSION['nik']."',udt=now() - where id='$id'"; - } - - $rtn="failed|Print Tiket $tiketnumber failed, please contact your administrator. Thank you"; - if($this->executequery($qry)) - { - $rtn="ok|"; - } - return $rtn; - } - - - public function fn_getticket(){ - $valticket=""; - for($i=1;$i<=8;$i++){ - $valticket.=rand(0,9); - } - $sql="select tiketnumber from ".DB_APORTIL.".tbl_cargo_tiket where tiketnumber='".$tiketnumber."' order by id desc limit 1"; - if($this->fn_row_isexists($sql)){ - $this->fn_getticket(); - } - return $valticket; - } - public function fn_getheaderinfo(){ - $idship=$_REQUEST['idship']; - $tiketnumber=$this->fn_getticket(); - echo "ok|".$tiketnumber; - } - - - public function fn_getpic(){ - $picdata=$_REQUEST['picdata']; - if($picdata){unlink('uploads/temps/'.$picdata);} - - echo $this->FN_CREATEHEADER(); - echo ""; - echo ""; - echo " - "; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); -// echo "
                    -// -//
                    "; - echo " -
                    - -
                    -
                    "; - //echo ""; - echo $this->FN_CREATEFOOTER(); - - - } - - public function fn_getcategory() - { - echo $this->FN_CREATEHEADER(); - $idroutestart=$_REQUEST['idroutestart']; - $idrouteend=$_REQUEST['idrouteend']; - echo ""; - echo ""; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); - - echo " - - - - -
                    - - - - - - - - - - - - - - -
                    -
                    -
                    -
                    -
                    -
                    -
                    ".$this->CREATE_IMAGE("loadergrid.gif")."
                    - - - - - - -
                    Notes:- Double Click Row For Get Data
                    -
                    -
                    "; - echo $this->FN_CREATEFOOTER(); - - } - - public function fn_grdcategory() - { - $idroutestart=$_REQUEST["idroutestart"]; - $idrouteend=$_REQUEST["idrouteend"]; - $keyword=$_REQUEST["keyword"]; - header("Content-type: text/xml"); - echo(''); - echo ""; - - $qry="select id,idcategory,cargocategory,cargodescription,routenamestart,routenameend,units,prices,years - from ".DB_APORTIL.".tbl_cargoprice_information - where (cargodescription like '%$keyword%' or cargocategory like '%$keyword%') and (idroutestart='$idroutestart' and idrouteend='$idrouteend') and isdeleted=0 - order by id asc limit ".TBL_PAGE_LIMIT; - - $rs=$this->selectquery($qry); - if($rs) - { - $i=1; - while($row=$this->data_row_array($rs)) - { - echo (""); - print(""); - print(""); - print(""); - print(""); - $destination=$row['routenamestart']."-".$row['routenameend']; - print(""); - print(""); - print(""); - print(""); - print(""); - echo (""); - $i+=1; - } - } - else - { - echo mysql_errno().": ".mysql_error()." at ".__LINE__." line in ".__FILE__." file
                    "; - } - echo "
                    "; - - } - } -?> \ No newline at end of file diff --git a/objectx/obj_tra/tra_cargticket_20200327.php b/objectx/obj_tra/tra_cargticket_20200327.php deleted file mode 100644 index a8c9f0a..0000000 --- a/objectx/obj_tra/tra_cargticket_20200327.php +++ /dev/null @@ -1,958 +0,0 @@ -dec($task);}} - - switch($task) - { - case "default": - $this->fn_default_cargticket(); - break; - - case $task: - $task="fn_".$task; - if(method_exists($this,$task)){$this->$task();} - break; - - default: - $this->fn_default_cargticket(); - break; - } - } - public function fn_default_cargticket() - { - echo $this->FN_CREATEHEADER(); - echo ""; - echo ""; - echo ""; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); - - echo "
                    "; - - echo " - - - - - - -
                    "; - $qry="select filepdf from ".DB_APORTIL.".tbl_manualbook where isdeleted=0 and filepdf='cargobooking_ticket.pdf'"; - $filepdf=$this->fn_get_fieldvalue("filepdf",$qry); - $urlmanualbook=" MANUAL BOOK"; - $url="location.reload();"; - $myuri=array("CARGO TICKET INFORMATION"=>"$url|id='a_newticket'","$urlmanualbook"=>"|id='a_manualbook'"); - echo $this->MULTIPLE_LINK($myuri); - echo "
                    -
                    - - - - - -
                    -
                    -
                    - - - - - - - - - - - - - - -
                    -
                    -
                    -
                    -
                    -
                    -
                    ".$this->CREATE_IMAGE("loadergrid.gif")."
                    - - - - - - -
                    Notes:- Click Row For Edit
                    -
                    -
                    -
                    -
                    -
                    "; - echo $this->FN_CREATEFOOTER(); - - } - - public function fn_grdrecord() - { - $keyword=$_REQUEST["keyword"]; - header("Content-type: text/xml"); - echo(''); - echo ""; - - $qry="select id,idship,shipname,tiketnumber,tiketnumberpassenger,voynumber,inctiket,idcategory,cargodescription,passengername, - idcardtype,cardtype,cardnumber,dates,idroutestart,routenamestart,idrouteend, - routenameend,price,quantity,weight,totalprice,units,modifcount - from ".DB_APORTIL.".tbl_cargo_tiket - where (tiketnumber like '%$keyword%' or voynumber like '%$keyword%' or passengername like '%$keyword%') and isdeleted=0 - order by id asc limit ".TBL_PAGE_LIMIT; - - $rs=$this->selectquery($qry); - if($rs) - { - $i=1; - while($row=$this->data_row_array($rs)) - { - $color='black'; - if($row["modifcount"]>=2){$color='grey';} - echo (""); - print(""); - print("".$i.""."]]>"); - print("".$row["shipname"].""."]]>"); - print("".$row["tiketnumber"].""."]]>"); - print("".$row["voynumber"].""."]]>"); - print("".$row["passengername"].""."]]>"); - print("".$row["cardtype"]."/".$row["cardnumber"].""."]]>"); - print("".date("Y-m-d",strtotime($row["dates"])).""."]]>"); - print("".$row["routenamestart"]." to ".$row['routenameend'].""."]]>"); - print("".$row["cargodescription"].""."]]>"); - print("".$row["price"]." \$"."]]>"); - print("".$row["quantity"].""."]]>"); - print("".$row["weight"].""."]]>"); - print("".$row["totalprice"]." \$"."]]>"); - echo (""); - $i+=1; - } - } - else - { - echo mysql_errno().": ".mysql_error()." at ".__LINE__." line in ".__FILE__." file
                    "; - } - echo "
                    "; - - } - - public function fn_saverecord($isupdate=null) - { - $year=date("Y"); - if($isupdate){$id=$_REQUEST['txt_id'];} - $idship=$_REQUEST['cbo_idship']; - $sp=$this->fn_get_fieldsvalues("shipname,shipnumber","select shipname,shipnumber from ".DB_APORTIL.".tbl_ship_information where id='$idship'"); - $shipnumber=$sp[1];$shipname=$sp[0]; - $tiketnumber=$_REQUEST['txt_tiketnumber']; - $tiketnumberpassenger=$_REQUEST['txt_tiketnumberpassenger']; - $voynumber=$_REQUEST['txt_voynumber']; - $inctiket=$_REQUEST['txt_inctiket']; - $idcategory=$_REQUEST['txt_idcategory']; - $spcategory=$this->fn_get_fieldsvalues("id,cargocategory,cargodescription,idunits,units","select id,cargocategory,cargodescription,idunits,units from tbl_cargoprice_information where id='$idcategory'"); - $cargocategory=$spcategory[1]; - $cargodescription=$spcategory[2]; - $idunits=$spcategory[3]; - $units=$spcategory[4]; - - $inctiket=0;$inctiketyear=0; - if(!$isupdate){ - $qry="select count(id) incnumber from ".DB_APORTIL.".tbl_cargo_tiket - where isdeleted=0 and years='$year' and status>=0"; - $inctiketyear=$this->fn_get_fieldvalue("incnumber",$qry); - $inctiketyear+=1; - - $qry="select count(id) incnumber from ".DB_APORTIL.".tbl_cargo_tiket - where idship='$idship' and isdeleted=0 and cast(dates as date)=cast(now() as date) and idroutestart='$idroutestart' and idrouteend='$idrouteend' and status>=0"; - $inctiket=$this->fn_get_fieldvalue("incnumber",$qry); - $inctiket+=1; - - //$inctiket=$this->fn_get_fieldvalue("incnumber","select count(id) incnumber from ".DB_APORTIL.".tbl_cargo_tiket where isdeleted=0 and years='$year'"); - //$inctiket+=1; - } - - $passengername=$_REQUEST['txt_passengername']; - $idcardtype=$_REQUEST['cbo_idcardtype']; - $cardtype=$this->fn_get_fieldvalue("cardtype","select cardtype from ".DB_APORTIL.".tbl_passenger_identifycardtype where id='$idcardtype'"); - $cardnumber=$_REQUEST['txt_cardnumber']; - $picdata="aportildefault.png";//$_REQUEST['txt_picdata']; - $dates=$_REQUEST['txt_dates']; - $idroutestart=$_REQUEST['cbo_idroutestart']; - $routenamestart=$this->fn_get_fieldvalue("routename","select routename from ".DB_APORTIL.".tbl_route_information where id='$idroutestart'"); - $idrouteend=$_REQUEST['cbo_idrouteend']; - $routenameend=$this->fn_get_fieldvalue("routename","select routename from ".DB_APORTIL.".tbl_route_information where id='$idrouteend'"); - - $price=$_REQUEST['txt_price']; - $quantity=$_REQUEST['txt_quantity']; - $weight=$_REQUEST['txt_weight']; - $totalprice=$_REQUEST['txt_totalprice']; - - $qry="insert into ".DB_APORTIL.".tbl_cargo_tiket - set idship='$idship',tiketnumber='$tiketnumber',tiketnumberpassenger='$tiketnumberpassenger',voynumber='$voynumber',inctiket='$inctiket',inctiketyear='$inctiketyear', - idcategory='$idcategory',cargocategory='$cargocategory',cargodescription='$cargodescription',shipnumber='$shipnumber',shipname='$shipname', - passengername='$passengername',idcardtype='$idcardtype',cardtype='$cardtype',cardnumber='$cardnumber',picdata='$picdata',dates='$dates', - idroutestart='$idroutestart',routenamestart='$routenamestart',idrouteend='$idrouteend',routenameend='$routenameend',idunits='$idunits',status=0, - units='$units',price='$price',quantity='$quantity',weight='$weight',totalprice='$totalprice',years='$year',iby='".$_SESSION['nik']."',idt=now()"; - if($isupdate) - { - $qry="update ".DB_APORTIL.".tbl_cargo_tiket - set idship='$idship',tiketnumber='$tiketnumber',tiketnumberpassenger='$tiketnumberpassenger',voynumber='$voynumber', - idcategory='$idcategory',cargocategory='$cargocategory',cargodescription='$cargodescription',shipnumber='$shipnumber',shipname='$shipname', - passengername='$passengername',idcardtype='$idcardtype',cardtype='$cardtype',cardnumber='$cardnumber',picdata='$picdata',dates='$dates', - idroutestart='$idroutestart',routenamestart='$routenamestart',idrouteend='$idrouteend',routenameend='$routenameend',idunits='$idunits', - units='$units',price='$price',quantity='$quantity',weight='$weight',totalprice='$totalprice',modifcount=modifcount+1,uby='".$_SESSION['nik']."',udt=now() - where id='$id'"; - } - - if($this->executequery($qry)) - { - if(!$isupdate) - { - $idtransaction=mysql_insert_id(); - $rtn=$this->fn_printtra($idtransaction); - echo $rtn; - } - else - { - echo "ok|";return true; - } - } - } - public function fn_updrecord(){$this->fn_saverecord(true);} - - public function fn_delrecord() - { - $id=$_REQUEST['txt_id']; - $remark=$_REQUEST['txtremark']; - $qry="update ".DB_APORTIL.".tbl_cargo_tiket - set isdeleted=1,remark='$remark',dby='".$_SESSION['nik']."',ddt=now() - where id='$id'"; - if($this->executequery($qry)){echo "ok|";return true;} - else - { - echo "failed|".$this->getErrorQuery(); - } - } - - - public function fn_printtra($idtransaction) - { - $tiketnumber=$_REQUEST['txt_tiketnumber']; - $idcategory=$_REQUEST['txt_idcategory']; - $spcategory=$this->fn_get_fieldsvalues("id,cargocategory,cargodescription,idunits,units","select id,cargocategory,cargodescription,idunits,units from tbl_cargoprice_information where id='$idcategory'"); - $cargocategory=$spcategory[1]; - $cargodescription=$spcategory[2]; - $ipprintclient=$this->get_client_ip(); - $jobgroup="TICV"; - - if($cargocategory!=='Veiculos'){$jobgroup="TICNV";} - $qry="insert into ".DB_APORTIL.".tbl_printjob - set idtransaction='$idtransaction',ipprintclient='$ipprintclient',idemployee='".$_SESSION['idemployee']."',nik='".$_SESSION['nik']."', - employeename='".$_SESSION['employeename']."',jobgroup='$jobgroup',jobremark='$tiketnumber',iby='".$_SESSION['nik']."',idt=now()"; - $qrychk="select id from ".DB_APORTIL.".tbl_printjob where ipprintclient='$ipprintclient' order by id desc limit 1"; - if($this->fn_row_isexists($qrychk)) - { - $id=$this->fn_get_fieldvalue("id",$qrychk); - $qry="update ".DB_APORTIL.".tbl_printjob - set idtransaction='$idtransaction',ipprintclient='$ipprintclient',idemployee='".$_SESSION['idemployee']."',nik='".$_SESSION['nik']."', - employeename='".$_SESSION['employeename']."',jobgroup='$jobgroup',jobremark='$tiketnumber',uby='".$_SESSION['nik']."',udt=now() - where id='$id'"; - } - - $rtn="failed|Print Tiket $tiketnumber failed, please contact your administrator. Thank you"; - if($this->executequery($qry)) - { - $rtn="ok|"; - } - return $rtn; - } - - - public function fn_getticket(){ - $valticket=""; - for($i=1;$i<=8;$i++){ - $valticket.=rand(0,9); - } - $sql="select tiketnumber from ".DB_APORTIL.".tbl_cargo_tiket where tiketnumber='".$tiketnumber."' order by id desc limit 1"; - if($this->fn_row_isexists($sql)){ - $this->fn_getticket(); - } - return $valticket; - } - - public function fn_getheaderinfo(){ - $idship=$_REQUEST['idship']; - $tiketnumber=$this->fn_getticket(); - echo "ok|".$tiketnumber; - } - - - public function fn_getpic(){ - $picdata=$_REQUEST['picdata']; - if($picdata){unlink('uploads/temps/'.$picdata);} - - echo $this->FN_CREATEHEADER(); - echo ""; - echo ""; - echo " - "; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); -// echo "
                    -// -//
                    "; - echo " -
                    - -
                    -
                    "; - //echo ""; - echo $this->FN_CREATEFOOTER(); - - - } - - public function fn_getcategory() - { - echo $this->FN_CREATEHEADER(); - $idroutestart=$_REQUEST['idroutestart']; - $idrouteend=$_REQUEST['idrouteend']; - echo ""; - echo ""; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); - - echo " - - - - -
                    - - - - - - - - - - - - - - -
                    -
                    -
                    -
                    -
                    -
                    -
                    ".$this->CREATE_IMAGE("loadergrid.gif")."
                    - - - - - - -
                    Notes:- Double Click Row For Get Data
                    -
                    -
                    "; - echo $this->FN_CREATEFOOTER(); - - } - - public function fn_grdcategory() - { - $idroutestart=$_REQUEST["idroutestart"]; - $idrouteend=$_REQUEST["idrouteend"]; - $keyword=$_REQUEST["keyword"]; - header("Content-type: text/xml"); - echo(''); - echo ""; - - $qry="select id,idcategory,cargocategory,cargodescription,routenamestart,routenameend,units,prices,years - from ".DB_APORTIL.".tbl_cargoprice_information - where (cargodescription like '%$keyword%' or cargocategory like '%$keyword%') and (idroutestart='$idroutestart' and idrouteend='$idrouteend') and isdeleted=0 - order by id asc limit ".TBL_PAGE_LIMIT; - - $rs=$this->selectquery($qry); - if($rs) - { - $i=1; - while($row=$this->data_row_array($rs)) - { - echo (""); - print(""); - print(""); - print(""); - print(""); - $destination=$row['routenamestart']."-".$row['routenameend']; - print(""); - print(""); - print(""); - print(""); - print(""); - echo (""); - $i+=1; - } - } - else - { - echo mysql_errno().": ".mysql_error()." at ".__LINE__." line in ".__FILE__." file
                    "; - } - echo "
                    "; - - } - } -?> \ No newline at end of file diff --git a/objectx/obj_tra/tra_newticket.php b/objectx/obj_tra/tra_newticket.php deleted file mode 100644 index 52a4cb8..0000000 --- a/objectx/obj_tra/tra_newticket.php +++ /dev/null @@ -1,1415 +0,0 @@ -dec($task);}} - - switch($task) - { - case "default": - $this->fn_default_newticket(); - break; - - case $task: - $task="fn_".$task; - if(method_exists($this,$task)){$this->$task();} - break; - - default: - $this->fn_default_newticket(); - break; - } - } - public function fn_default_newticket() - { - //for($i=1;$i<=30;$i++){ -// for($j=1;$j<=10;$j++) -// { -// $seat="$i.".chr(64+$j); -// $qry="insert into ".DB_APORTIL.".tbl_ship_seatnumber set idship=1,shipnumber='NAC-151',seatnumber='".$seat."',iby='82010',idt=now()"; -// $this->executequery($qry); -// } -// } - echo $this->FN_CREATEHEADER(); - - echo ""; - echo ""; - - echo ""; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); - - - echo "
                    "; - echo " - - - - - - -
                    "; - $qry="select filepdf from ".DB_APORTIL.".tbl_manualbook where isdeleted=0 and filepdf='passengerbooking_ticket.pdf'"; - $filepdf=$this->fn_get_fieldvalue("filepdf",$qry); - $urlmanualbook=" MANUAL BOOK"; - $url="location.reload();"; - $myuri=array("PASSENGER INFORMATION"=>"$url|id='a_newticket'","$urlmanualbook"=>"|id='a_manualbook'"); - echo $this->MULTIPLE_LINK($myuri); - echo "
                    -
                    - - - - - -
                    -
                    -
                    - - - - - - - - - - - - - - -
                    -
                    -
                    -
                    -
                    -
                    -
                    ".$this->CREATE_IMAGE("loadergrid.gif")."
                    - - - - - - -
                    Notes:- Click Row For Edit
                    -
                    -
                    -
                    -
                    -
                    "; - echo $this->FN_CREATEFOOTER(); - - } - - public function fn_grdrecord() - { - $keyword=$_REQUEST["keyword"]; - header("Content-type: text/xml"); - echo(''); - echo ""; - - $qry="select id,idship,tiketnumber,inctiket,shipname,shipnumber,passengername,picdata,dates,idroutestart,nationality, - routenamestart,idrouteend,routenameend,seatnumber,quantity,price,baggageinkg,pricebaggage,modifcount - from ".DB_APORTIL.".tbl_passenger_tiket - where (tiketnumber like '%$keyword%' or passengername like '%$keyword%') and isdeleted=0 and status=0 and iby='".$_SESSION['nik']."' - order by id desc limit ".TBL_PAGE_LIMIT; - - $rs=$this->selectquery($qry); - if($rs) - { - $i=1; - while($row=$this->data_row_array($rs)) - { - $color='black'; - if($row["modifcount"]>=2){$color='grey';} - echo (""); - //$print="<a href=\"javascript:void(0)\" title=\"Reprint Ticket Number ".$row["tiketnumber"]."\" style=\"text-decoration:none\" onClick=\"fn_printso('".$row["id"]."')\"/>"; - $print="<a href=\"javascript:void(0)\" title=\"Reprint Ticket Number ".$row["tiketnumber"]."\" style=\"text-decoration:none\" onClick=\"fn_printtra('".$row['tiketnumber']."','".$row['id']."')\"/>"; - $print.="<img src='themes/images/print.gif' />"; - $print.="<a/>"; - print(""); - print("$print"); - print("".$i.""."]]>"); - print("".$row["shipname"].""."]]>"); - print("".$row["tiketnumber"].""."]]>"); - print("".$row["inctiket"].""."]]>"); - print("".$row["shipnumber"].""."]]>"); - print("".$row["passengername"].""."]]>"); - print("".$row["picdata"].""."]]>"); - print("".date("Y-m-d H:i:s",strtotime($row["dates"])).""."]]>"); - print("".$row["routenamestart"].""."]]>"); - print("".$row["routenameend"].""."]]>"); - print("".$row["nationality"].""."]]>"); - print("".$row["quantity"].""."]]>"); - print(""."\$".$row["price"].""."]]>"); - print("".$row["baggageinkg"]." kg".""."]]>"); - print(""."\$".$row["pricebaggage"].""."]]>"); - echo (""); - $i+=1; - } - } - else - { - // echo mysql_errno().": ".mysql_error()." at ".__LINE__." line in ".__FILE__." file
                    "; - echo "error at ".__LINE__." line in ".__FILE__." file
                    "; - } - echo "
                    "; - - } - - public function fn_saverecord($isupdate=null) - { - $year=date("Y"); - if($isupdate){$id=$_REQUEST['txt_id'];} - $ipprintclient=$this->get_client_ip(); - $idship=$_REQUEST['cbo_idship']; - $sp=$this->fn_get_fieldsvalues("shipname,shipnumber","select shipname,shipnumber from ".DB_APORTIL.".tbl_ship_information where id='$idship'"); - $shipnumber=$sp[1];$shipname=$sp[0]; - $tiketnumber=$_REQUEST['txt_tiketnumber']; - $childspassenger=$_REQUEST['txt_childspassenger']; - $voynumber=$_REQUEST['txt_voynumber']; - $passengername=$_REQUEST['txt_passengername']; - $idgender=$_REQUEST['cbo_idgender']; - $gender=$this->fn_get_fieldvalue("gender","select gender from ".DB_APORTIL.".tbl_gender where id='$idgender'"); - $bod=$_REQUEST['txt_bod']; - $bodyears=$_REQUEST['txt_bodyears']; - $bodmonth=$_REQUEST['cbo_bodmonth']; - $bodday=$_REQUEST['cbo_bodday']; - $bod=$bodyears."-".$bodmonth."-".$bodday; - $idcardtype=$_REQUEST['cbo_idcardtype']; - $cardtype=$this->fn_get_fieldvalue("cardtype","select cardtype from ".DB_APORTIL.".tbl_passenger_identifycardtype where id='$idcardtype'"); - $cardnumber=$_REQUEST['txt_cardnumber']; - $nationality=$_REQUEST['txt_nationality']; - $picdata="aportildefault.png";//$_REQUEST['txt_picdata']; - $dates=$_REQUEST['txt_dates']; - $timeschedule=$_REQUEST['txt_timeschedule']; - $dates.=" ".$timeschedule; - $idroutestart=$_REQUEST['cbo_idroutestart']; - $routenamestart=$this->fn_get_fieldvalue("routename","select routename from ".DB_APORTIL.".tbl_route_information where id='$idroutestart'"); - $idrouteend=$_REQUEST['cbo_idrouteend']; - $routenameend=$this->fn_get_fieldvalue("routename","select routename from ".DB_APORTIL.".tbl_route_information where id='$idrouteend'"); - $spseat=explode("|",$this->fn_getseatnumber()); - $seatnumber=$spseat[1]; - //$seatnumber=$this->fn_getseatnumber(); - //echo "failed|".$spseat[0]." ".$spseat[1]; - //return false; - if((int)$spseat[1]>(int)$spseat[0]){ - echo "failed|Total Seat Exceded only ".$spseat[0]." Available"; - return false; - } - - $inctiket=0;$inctiketyear=0; - if(!$isupdate){ - $qry="select count(id) incnumber from ".DB_APORTIL.".tbl_passenger_tiket - where isdeleted=0 and years='$year' and status>=0"; - $inctiketyear=$this->fn_get_fieldvalue("incnumber",$qry); - $inctiketyear+=1; - - $qry="select count(id) incnumber from ".DB_APORTIL.".tbl_passenger_tiket - where idship='$idship' and isdeleted=0 and cast(dates as date)=cast(now() as date) and idroutestart='$idroutestart' and idrouteend='$idrouteend' and status>=0"; - $inctiket=$this->fn_get_fieldvalue("incnumber",$qry); - $inctiket+=1; - } - $quantity=$_REQUEST['txt_quantity']; - $price=$_REQUEST['txt_price']; - $baggageinkg=$_REQUEST['txt_baggageinkg']; - $limitbaggage=$_REQUEST['txt_limitbaggage']; - $overlimitbaggage=$_REQUEST['txt_overlimitbaggage']; - $priceoverinkg=$_REQUEST['txt_priceoverinkg']; - $pricebaggage=$_REQUEST['txt_pricebaggage']; - $totalprice=$_REQUEST['txt_totalprice']; - - $qry="insert into ".DB_APORTIL.".tbl_passenger_tiket - set idship='$idship',tiketnumber='$tiketnumber',voynumber='$voynumber',inctiket='$inctiket',inctiketyear='$inctiketyear',shipname='$shipname',shipnumber='$shipnumber',passengername='$passengername', - bod='$bod',idgender='$idgender',gender='$gender',idcardtype='$idcardtype',cardtype='$cardtype',cardnumber='$cardnumber',nationality='$nationality',picdata='$picdata',dates='$dates',idroutestart='$idroutestart', - routenamestart='$routenamestart',idrouteend='$idrouteend',routenameend='$routenameend',seatnumber='$seatnumber',quantity='1',price='$price',baggageinkg='$baggageinkg', - limitbaggage='$limitbaggage',overlimitbaggage='$overlimitbaggage',priceoverinkg='$priceoverinkg',pricebaggage='$pricebaggage',totalprice='$totalprice',years='$year',ipclient='$ipprintclient', - modifcount=0,status=0,iby='".$_SESSION['nik']."',idt=now()"; - if($isupdate) - { - $qry="update ".DB_APORTIL.".tbl_passenger_tiket - set idship='$idship',tiketnumber='$tiketnumber',voynumber='$voynumber',shipname='$shipname',shipnumber='$shipnumber',passengername='$passengername', - bod='$bod',idgender='$idgender',gender='$gender',idcardtype='$idcardtype',cardtype='$cardtype',cardnumber='$cardnumber',nationality='$nationality', - picdata='$picdata',dates='$dates',idroutestart='$idroutestart',routenamestart='$routenamestart',idrouteend='$idrouteend', - routenameend='$routenameend',quantity='1',price='$price',baggageinkg='$baggageinkg',limitbaggage='$limitbaggage',overlimitbaggage='$overlimitbaggage', - priceoverinkg='$priceoverinkg',pricebaggage='$pricebaggage',totalprice='$totalprice',years='$year',modifcount=modifcount+1,ipclient='$ipprintclient',uby='".$_SESSION['nik']."',udt=now() - where id='$id'"; - } - - if($this->executequery($qry)) - { - if(!$id){$id=mysql_insert_id();} - // === Childs passenger - if($childspassenger){ - $spchilds=explode(";", $childspassenger); - for($j=0;$jfn_row_isexists("select id from ".DB_APORTIL.".tbl_passenger_childs where id='$idchilds' order by id asc limit 1")){ - $qryins="update ".DB_APORTIL.".tbl_passenger_childs - set names='$names',birthofdate='$birthofdate',ages='$ages',notes='$notes', - uby='".$_SESSION['nik']."',udt=now() - where id='$idchilds'"; - } - $this->executequery($qryins); - } - } - - if(!$isupdate){ - // $idpassengerticket=mysql_insert_id(); - // $qry="insert into ".DB_APORTIL.".tbl_passenger_tiket_log - // set idpassengerticket='$idpassengerticket',dates='".date("Y-m-d")."',status=0,remarkstatus='Submitted', - // iby='".$_SESSION['nik']."',idt=now()"; - // if($this->executequery($qry)){ - - // $rtn=$this->fn_printtra($idpassengerticket); - echo 'ok|'; - // } - } - else - { - echo "ok|";return true; - } - - } - } - - public function fn_updrecord(){$this->fn_saverecord(true);} - - public function fn_delrecord() - { - $id=$_REQUEST['txt_id']; - $remark=$_REQUEST['txtremark']; - $qry="update ".DB_APORTIL.".tbl_passenger_tiket - set isdeleted=1,remark='$remark',dby='".$_SESSION['nik']."',ddt=now() - where id='$id'"; - if($this->executequery($qry)){echo "ok|";return true;} - else - { - echo "failed|".$this->getErrorQuery(); - } - } - - public function fn_getchilds(){ - $idtiketpassenger=$_REQUEST['idtiketpassenger']; - $qry="select * from ".DB_APORTIL.".tbl_passenger_childs where idtiketpassenger='$idtiketpassenger' and isdeleted=0 order by id asc"; - $rs=$this->selectquery($qry); - if($rs) - { - $i=1;$data=""; - while($row=$this->data_row_array($rs)) - { - $id=$row['id']; - $names=$row['names']; - $birthofdate=$row['birthofdate']; - $ages=$row['ages']; - $notes=$row['notes']; - $data.=$id."|".$names."|".$birthofdate."|".$ages."|".$notes.";"; - $i+=1; - } - if($data){ - $data=substr($data,0,strlen($data)-1); - - } - echo $data; - } - } - - public function fn_printtra($idtransaction=''){ - // echo "test"; - date_default_timezone_set("Asia/Bangkok"); - include("lib/mpdf/mpdf.php"); - $top=10; - // $mpdf = new mPDF('c', 'A4', '', '', 5, 5, $top, 10, 3, 3, 'P'); - $mpdf = new mPDF('utf-8', array(200,100) ,'', '', 2, 2, 2); - - echo $mpdf; - $mpdf->SetDisplayMode('fullpage'); - $tiketnumber=$_REQUEST['tiketnumber']; - $idtransaction=$_REQUEST['idtransaction']; - - // // LOAD a stylesheet - // $stylesheet = file_get_contents('lib/mpdf/css/mpdfstyleA4.css'); - $qry="select * from ".DB_APORTIL.".tbl_passenger_tiket where id='".$idtransaction."' and isdeleted=0"; - // echo $qry;return false; - $rs=$this->selectquery($qry); - $rw=$this->data_row_array($rs); - - $html="
                    "; - // $html.="
                    ".str_repeat(" ",6)."$tiketnumber
                    "; - // $html.="
                    "; - $html.=" TICKET ".$rw['shipname']; - $html.="
                    "; - // echo $html;return false; - $html.=""; - $html.=""; - $html.=""; - $html.=""; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=""; - $html.=""; - $html.=" "; - $html.=" "; - $html.=" "; - - $html.=" "; - $html.=" "; - $destination=$rw['routenamestart']."-".$rw['routenameend']; - $html.=" "; - - $html.=""; - $html.=""; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - - $html.=""; - $html.=""; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - - $html.=""; - $html.=""; - $html.=" "; - $html.=""; - $html.=""; - $html.=" "; - $html.=""; - $html.="
                    "; - $html.="
                    ".str_repeat(" ",6)."$tiketnumber
                    "; - $html.="
                    "; - // $html.="
                    TICKET ".$rw['shipname']."
                    Nome:".$rw['passengername']."
                    Voy:".$rw['voynumber']."Destino:".$destination."
                    Data:".date("d/m/Y H:i:s a",strtotime($rw['dates']))."No. Cadeira:".$rw['seatnumber']."
                    Preco:US$ ".$rw['totalprice']."
                    -- BOARDING PASS --
                    Nota : O bilhete que já foram comprados não podem ser cancelados
                    "; - - - $mpdf->WriteHTML($html); - - // $secureofletter=$this->enc("ticket_".$tiketnumber."_".date("His")); - // $mpdf->setFooter('{PAGENO} of {nbpg} pages || Secure ID : '.$secureofletter) ; - - $mpdf->output(); - } - - public function fn_printtraold($idtransaction='') - { - $tiketnumber=$_REQUEST['txt_tiketnumber']; - if(!$idtransaction){ - $idtransaction=$_REQUEST['idtransaction']; - } - $ipprintclient=$this->get_client_ip(); - $qry="insert into ".DB_APORTIL.".tbl_printjob - set idtransaction='$idtransaction',ipprintclient='$ipprintclient',idemployee='".$_SESSION['idemployee']."',nik='".$_SESSION['nik']."', - employeename='".$_SESSION['employeename']."',jobgroup='TIC',jobremark='$tiketnumber',iby='".$_SESSION['nik']."',idt=now()"; - $qrychk="select id from ".DB_APORTIL.".tbl_printjob where ipprintclient='$ipprintclient' order by id desc limit 1"; - //echo $qry; - if($this->fn_row_isexists($qrychk)) - { - $id=$this->fn_get_fieldvalue("id",$qrychk); - $qry="update ".DB_APORTIL.".tbl_printjob - set idtransaction='$idtransaction',ipprintclient='$ipprintclient',idemployee='".$_SESSION['idemployee']."',nik='".$_SESSION['nik']."', - employeename='".$_SESSION['employeename']."',jobgroup='TIC',jobremark='$tiketnumber',uby='".$_SESSION['nik']."',udt=now() - where id='$id'"; - } - - $rtn="failed|Print Tiket $tiketnumber failed, please contact your administrator. Thank you"; - if($this->executequery($qry)) - { - $qry="update ".DB_APORTIL.".tbl_passenger_tiket set isprint=1,printeddate=now() where id='$idtransaction'"; - if($this->executequery($qry)){ - $rtn="ok|"; - } - - } - echo $rtn; - return $rtn; - } - - - public function fn_getseatnumber(){ - $idship=$_REQUEST['cbo_idship']; - $dates=$_REQUEST['txt_dates']; - $idroutestart=$_REQUEST['cbo_idroutestart']; - $idrouteend=$_REQUEST['cbo_idrouteend']; - - $qry="select totalseat from ".DB_APORTIL.".tbl_ship_information where id='$idship'"; - $totalseat=$this->fn_get_fieldvalue("totalseat",$qry); - $qry="select count(id) total from ".DB_APORTIL.".tbl_passenger_tiket "; - $qry.="where idship='$idship' and idroutestart='$idroutestart' and idrouteend='$idrouteend' "; - $qry.="and cast(dates as date)=cast('$dates' as date) and isdeleted=0 "; - - $lasttiket=0; - if($this->fn_row_isexists($qry)) - { - $lasttiket=$this->fn_get_fieldvalue("total",$qry); - } - $lasttiket+=1; - - return $totalseat."|".$lasttiket; - } - - public function fn_getticket(){ - // $valticket=""; - // for($i=1;$i<=8;$i++){ - // $valticket.=rand(0,9); - // } - $valticket=date("YmdHis"); - $sql="select tiketnumber from ".DB_APORTIL.".tbl_passenger_tiket where tiketnumber='".$valticket."' order by id desc limit 1"; - if($this->fn_row_isexists($sql)){ - $this->fn_getticket(); - } - return $valticket; - } - public function fn_getheaderinfo(){ - $idship=$_REQUEST['idship']; - $tiketnumber=$this->fn_getticket(); - echo "ok|".$tiketnumber; - } - - public function fn_getprice(){ - $idroutestart=$_REQUEST['idroutestart']; - $idrouteend=$_REQUEST['idrouteend']; - $qry="select prices from ".DB_APORTIL.".tbl_price_information - where idroutestart='".$idroutestart."' and idrouteend='".$idrouteend."' and isdeleted=0 - order by id desc limit 1"; - //echo "failed|".$qry; - $price=0;$status="failed";$statuserr="Price not Found, Please contact your administrator"; - if($this->fn_row_isexists($qry)){ - $price=$this->fn_get_fieldvalue("prices",$qry); - $status="ok";$statuserr=""; - } - // === Price limit baggage - $qry="select prices from ".DB_APORTIL.".tbl_cargoprice_information - where idcategory=2 and idroutestart='$idroutestart' and idrouteend='$idrouteend' and isdeleted=0 - order by id desc limit 1"; - $pricebaggagelimit=0; - if($this->fn_row_isexists($qry)){ - $pricebaggagelimit=$this->fn_get_fieldvalue("prices",$qry); - } - // ==== Get Time Schedule - $qry="select scheduletime from ".DB_APORTIL.".tbl_routetime_information - where idroutestart='$idroutestart' and idrouteend='$idrouteend' and isdeleted=0 - order by id desc limit 1"; - $timeschedule=""; - if($this->fn_row_isexists($qry)){ - $timeschedule=$this->fn_get_fieldvalue("scheduletime",$qry); - } - echo "$status|$statuserr|$price|$pricebaggagelimit|$timeschedule"; - } - - public function fn_setbookseat(){ - $idship=$_REQUEST['idship']; - $bookingdate=$_REQUEST['bookingdate']; - $spship=$this->fn_get_fieldsvalues("shipnumber,shipname","select shipnumber,shipname from ".DB_APORTIL.".tbl_ship_information where id='$idship'"); - $shipnumber=$spship[0];$shipname=$spship[1]; - $seatnumber=$_REQUEST['seatnumber']; - $idroutestart=$_REQUEST['idroutestart']; - $routestart=$this->fn_get_fieldvalue("routename","select routename from ".DB_APORTIL.".tbl_route_information where id='$idroutestart'"); - $idrouteend=$_REQUEST['idrouteend']; - $routeend=$this->fn_get_fieldvalue("routename","select routename from ".DB_APORTIL.".tbl_route_information where id='$idrouteend'"); - $bookingdateend=date("Y-m-d H:i:s",strtotime("+15 minutes")); - - $qry="insert into ".DB_APORTIL.".tbl_ship_seatbooking - set idship='$idship',shipnumber='$shipnumber',shipname='$shipname',bookingdate='$bookingdate',bookingdateend='$bookingdateend', - seatnumber='$seatnumber',idroutestart='$idroutestart',routestart='$routestart',idrouteend='$idrouteend',routeend='$routeend', - status=0,iby='".$_SESSION['nik']."',idt=now()"; - $rtn="failed|Booking Failed please contact administrator!."; - if($this->executequery($qry)){ - $rtn="ok|"; - } - echo $rtn; - } - - public function fn_cancelseat(){ - $seatnumber=$_REQUEST['seatnumber']; - $bookingdate=$_REQUEST['bookingdate']; - $qry="update ".DB_APORTIL.".tbl_ship_seatbooking set status=-2,remark='Cancel Booking by ".$_SESSION['nik']."',uby='".$_SESSION['nik']."',udt=now() - where seatnumber='$seatnumber' and cast(bookingdate as date)=cast('$bookingdate' as date) and isdeleted=0"; - //echo "failed|$qry"; - if($this->executequery($qry)){ - echo "ok|success"; - }; - } - - public function fn_getseatnum(){ - $bookingdate=$_REQUEST['bookingdate']; - $idship=$_REQUEST['idship']; - $shipname=$_REQUEST['shipname']; - $seatnumber=$_REQUEST['seatnumber']; - $idroutestart=$_REQUEST['idroutestart']; - $routestart=$_REQUEST['routestart']; - $routeend=$_REQUEST['routeend']; - $idrouteend=$_REQUEST['idrouteend']; - echo $this->FN_CREATEHEADER(); - echo ""; - echo " - "; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); - echo "
                    - - - - - - - - - - - - - - - - -
                    Ship Name:".$shipname."
                    Route:".$routestart." to ".$routeend."
                    Booking Date:".$bookingdate."
                    -
                    "; - echo "
                    "; - echo ""; - echo " - - "; - echo "
                    -
                    - "; - // === SEAT Number - for($i=1;$i<=30;$i++){ - echo ""; - for($j=1;$j<=10;$j++) - { - $colors="#ecf0f1"; - echo ""; - if($j==5){ - echo ""; - } - } - echo ""; - } - echo "
                    "; - $qry="select id,status,iby from ".DB_APORTIL.".tbl_ship_seatbooking "; - $qry.="where seatnumber='".$i.".".chr(64+$j)."' and status>=0 and isdeleted=0 "; - $qry.="and cast(bookingdate as date)=cast('$bookingdate' as date) "; - $qry.="and idroutestart='$idroutestart' and idrouteend='$idrouteend' "; - $qry.="order by id asc limit 1"; - - $bookingidle="$i.".chr(64+$j).""; - if($this->fn_row_isexists($qry)){ - $bookingidle="".$i.".".chr(64+$j).""; - $colors="red"; - $sp=$this->fn_get_fieldsvalues("id,status,iby",$qry); - $id=$sp[0];$status=$sp[1];$iby=$sp[2]; - if($_SESSION['nik']==$iby){ - $bookingidle="".$i.".".chr(64+$j).""; - if($status==1){ - $bookingidle="".$i.".".chr(64+$j).""; - $colors="blue"; - } - else - { - if(($i.".".chr(64+$j)!=$seatnumber)){ - $bookingidle="".$i.".".chr(64+$j).""; - $colors="#e74c3c"; - - } - } - } - } - echo "
                    - $bookingidle -
                    "; - echo "
                     
                    -
                    -
                    -
                    "; - - echo $this->FN_CREATEFOOTER(); - } - - public function fn_getpic(){ - $picdata=$_REQUEST['picdata']; - if($picdata){unlink('uploads/temps/'.$picdata);} - - echo $this->FN_CREATEHEADER(); - echo ""; - echo ""; - echo " - "; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); -// echo "
                    -// -//
                    "; - echo " -
                    - -
                    -
                    "; - //echo ""; - echo $this->FN_CREATEFOOTER(); - - - } - } -?> \ No newline at end of file diff --git a/objectx/obj_tra/tra_newticket_20191206.php b/objectx/obj_tra/tra_newticket_20191206.php deleted file mode 100644 index 1529efb..0000000 --- a/objectx/obj_tra/tra_newticket_20191206.php +++ /dev/null @@ -1,950 +0,0 @@ -dec($task);}} - - switch($task) - { - case "default": - $this->fn_default_newticket(); - break; - - case $task: - $task="fn_".$task; - if(method_exists($this,$task)){$this->$task();} - break; - - default: - $this->fn_default_newticket(); - break; - } - } - public function fn_default_newticket() - { - //for($i=1;$i<=30;$i++){ -// for($j=1;$j<=10;$j++) -// { -// $seat="$i.".chr(64+$j); -// $qry="insert into ".DB_APORTIL.".tbl_ship_seatnumber set idship=1,shipnumber='NAC-151',seatnumber='".$seat."',iby='82010',idt=now()"; -// $this->executequery($qry); -// } -// } - echo $this->FN_CREATEHEADER(); - - echo ""; - echo ""; - - echo ""; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); - - - echo "
                    "; - echo " - - - - - - -
                    "; - $url="location.reload();"; - $myuri=array("PASSENGER INFORMATION"=>"$url|id='a_newticket'"); - echo $this->MULTIPLE_LINK($myuri); - echo "
                    -
                    - - - - - -
                    -
                    -
                    - - - - - - - - - - - - - - -
                    -
                    -
                    -
                    -
                    -
                    -
                    ".$this->CREATE_IMAGE("loadergrid.gif")."
                    - - - - - - -
                    Notes:- Click Row For Edit
                    -
                    -
                    -
                    -
                    -
                    "; - echo $this->FN_CREATEFOOTER(); - - } - - public function fn_grdrecord() - { - $keyword=$_REQUEST["keyword"]; - header("Content-type: text/xml"); - echo(''); - echo ""; - - $qry="select id,idship,tiketnumber,inctiket,shipnumber,passengername,picdata,dates,idroutestart,idrouteend,seatnumber,quantity,price,baggageinkg,pricebaggage - from ".DB_APORTIL.".tbl_passenger_tiket - where idship like '%$keyword%' and isdeleted=0 - order by id asc limit ".TBL_PAGE_LIMIT; - - $rs=$this->selectquery($qry); - if($rs) - { - $i=1; - while($row=$this->data_row_array($rs)) - { - echo (""); - print(""); - print(""); - print(""); - print(""); - print(""); - print(""); - print(""); - print(""); - print(""); - print(""); - print(""); - print(""); - print(""); - print(""); - print(""); - print(""); - echo (""); - $i+=1; - } - } - else - { - echo mysql_errno().": ".mysql_error()." at ".__LINE__." line in ".__FILE__." file
                    "; - } - echo "
                    "; - - } - - public function fn_saverecord($isupdate=null) - { - if($isupdate){$id=$_REQUEST['txt_id'];} - $idship=$_REQUEST['cbo_idship']; - $tiketnumber=$_REQUEST['txt_tiketnumber']; - $inctiket=$_REQUEST['txt_inctiket']; - $shipnumber=$_REQUEST['txt_shipnumber']; - $passengername=$_REQUEST['txt_passengername']; - $picdata=$_REQUEST['txt_picdata']; - $dates=$_REQUEST['txt_dates']; - $idroutestart=$_REQUEST['cbo_idroutestart']; - $idrouteend=$_REQUEST['cbo_idrouteend']; - $seatnumber=$_REQUEST['txt_seatnumber']; - $quantity=$_REQUEST['txt_quantity']; - $price=$_REQUEST['txt_price']; - $baggageinkg=$_REQUEST['txt_baggageinkg']; - $pricebaggage=$_REQUEST['txt_limitbaggage']; - - $qry="insert into ".DB_APORTIL.".tbl_passenger_tiket - set idship='$idship',tiketnumber='$tiketnumber',inctiket='$inctiket',shipnumber='$shipnumber',passengername='$passengername',picdata='$picdata', - dates='$dates',idroutestart='$idroutestart',idrouteend='$idrouteend',seatnumber='$seatnumber',quantity='$quantity',price='$price', - baggageinkg='$baggageinkg',pricebaggage='$pricebaggage',iby='".$_SESSION['nik']."',idt=now()"; - if($isupdate) - { - $qry="update ".DB_APORTIL.".tbl_passenger_tiket - set idship='$idship',tiketnumber='$tiketnumber',inctiket='$inctiket',shipnumber='$shipnumber',passengername='$passengername',picdata='$picdata', - dates='$dates',idroutestart='$idroutestart',idrouteend='$idrouteend',seatnumber='$seatnumber',quantity='$quantity',price='$price', - baggageinkg='$baggageinkg',pricebaggage='$pricebaggage',uby='".$_SESSION['nik']."',udt=now() - where id='$id'"; - } - - if($this->executequery($qry)){echo "ok|";return true;} - } - public function fn_updrecord(){$this->fn_saverecord(true);} - - public function fn_delrecord() - { - $id=$_REQUEST['txt_id']; - $remark=$_REQUEST['txtremark']; - $qry="update ".DB_APORTIL.".tbl_passenger_tiket - set isdeleted=1,remark='$remark',dby='".$_SESSION['nik']."',ddt=now() - where id='$id'"; - if($this->executequery($qry)){echo "ok|";return true;} - else - { - echo "failed|".$this->getErrorQuery(); - } - } - - public function fn_getticket(){ - $valticket=""; - for($i=1;$i<=8;$i++){ - $valticket.=rand(0,9); - } - $sql="select tiketnumber from ".DB_APORTIL.".tbl_passenger_tiket where tiketnumber='".$tiketnumber."' order by id desc limit 1"; - if($this->fn_row_isexists($sql)){ - $this->fn_getticket(); - } - return $valticket; - } - public function fn_getheaderinfo(){ - $idship=$_REQUEST['idship']; - $tiketnumber=$this->fn_getticket(); - echo "ok|".$tiketnumber; - } - - public function fn_getprice(){ - $idroutestart=$_REQUEST['idroutestart']; - $idrouteend=$_REQUEST['idrouteend']; - $qry="select prices from ".DB_APORTIL.".tbl_price_information - where idroutestart='".$idroutestart."' and idrouteend='".$idrouteend."' and isdeleted=0 - order by id desc limit 1"; - $price=0;$status="failed";$statuserr="Price not Found, Please contact your administrator"; - if($this->fn_row_isexists($qry)){ - $price=$this->fn_get_fieldvalue("prices",$qry); - $status="ok";$statuserr=""; - } - // === Price limit baggage - $qry="select prices from ".DB_APORTIL.".tbl_cargoprice_information - where idcategory=2 and idroutestart='$idroutestart' and idrouteend='$idrouteend' and isdeleted=0 - order by id desc limit 1"; - $pricebaggagelimit=0; - if($this->fn_row_isexists($qry)){ - $pricebaggagelimit=$this->fn_get_fieldvalue("prices",$qry); - } - echo "$status|$statuserr|$price|$pricebaggagelimit"; - } - - public function fn_setbookseat(){ - $idship=$_REQUEST['idship']; - $bookingdate=$_REQUEST['bookingdate']; - $spship=$this->fn_get_fieldsvalues("shipnumber,shipname","select shipnumber,shipname from ".DB_APORTIL.".tbl_ship_information where id='$idship'"); - $shipnumber=$spship[0];$shipname=$spship[1]; - $seatnumber=$_REQUEST['seatnumber']; - $idroutestart=$_REQUEST['idroutestart']; - $routestart=$this->fn_get_fieldvalue("routename","select routename from ".DB_APORTIL.".tbl_route_information where id='$idroutestart'"); - $idrouteend=$_REQUEST['idrouteend']; - $routeend=$this->fn_get_fieldvalue("routename","select routename from ".DB_APORTIL.".tbl_route_information where id='$idrouteend'"); - $bookingdateend=date("Y-m-d H:i:s",strtotime("+15 minutes")); - - $qry="insert into ".DB_APORTIL.".tbl_ship_seatbooking - set idship='$idship',shipnumber='$shipnumber',shipname='$shipname',bookingdate='$bookingdate',bookingdateend='$bookingdateend', - seatnumber='$seatnumber',idroutestart='$idroutestart',routestart='$routestart',idrouteend='$idrouteend',routeend='$routeend', - status=0,iby='".$_SESSION['nik']."',idt=now()"; - $rtn="failed|Booking Failed please contact administrator!."; - if($this->executequery($qry)){ - $rtn="ok|"; - } - echo $rtn; - } - - public function fn_cancelseat(){ - $seatnumber=$_REQUEST['seatnumber']; - $bookingdate=$_REQUEST['bookingdate']; - $qry="update ".DB_APORTIL.".tbl_ship_seatbooking set status=-2,remark='Cancel Booking by ".$_SESSION['nik']."',uby='".$_SESSION['nik']."',udt=now() - where seatnumber='$seatnumber' and cast(bookingdate as date)=cast('$bookingdate' as date) and isdeleted=0"; - //echo "failed|$qry"; - if($this->executequery($qry)){ - echo "ok|success"; - }; - } - - public function fn_getseatnum(){ - $bookingdate=$_REQUEST['bookingdate']; - $idship=$_REQUEST['idship']; - $shipname=$_REQUEST['shipname']; - $seatnumber=$_REQUEST['seatnumber']; - $idroutestart=$_REQUEST['idroutestart']; - $routestart=$_REQUEST['routestart']; - $routeend=$_REQUEST['routeend']; - $idrouteend=$_REQUEST['idrouteend']; - echo $this->FN_CREATEHEADER(); - echo ""; - echo " - "; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); - echo "
                    - - - - - - - - - - - - - - - - -
                    Ship Name:".$shipname."
                    Route:".$routestart." to ".$routeend."
                    Booking Date:".$bookingdate."
                    -
                    "; - echo "
                    "; - echo ""; - echo " - - "; - echo "
                    -
                    - "; - // === SEAT Number - for($i=1;$i<=30;$i++){ - echo ""; - for($j=1;$j<=10;$j++) - { - $colors="#ecf0f1"; - echo ""; - if($j==5){ - echo ""; - } - } - echo ""; - } - echo "
                    "; - $qry="select id,status,iby from ".DB_APORTIL.".tbl_ship_seatbooking "; - $qry.="where seatnumber='".$i.".".chr(64+$j)."' and status>=0 and isdeleted=0 "; - $qry.="and cast(bookingdate as date)=cast('$bookingdate' as date) "; - $qry.="and idroutestart='$idroutestart' and idrouteend='$idrouteend' "; - $qry.="order by id asc limit 1"; - - $bookingidle="$i.".chr(64+$j).""; - if($this->fn_row_isexists($qry)){ - $bookingidle="".$i.".".chr(64+$j).""; - $colors="red"; - $sp=$this->fn_get_fieldsvalues("id,status,iby",$qry); - $id=$sp[0];$status=$sp[1];$iby=$sp[2]; - if($_SESSION['nik']==$iby){ - $bookingidle="".$i.".".chr(64+$j).""; - if($status==1){ - $bookingidle="".$i.".".chr(64+$j).""; - $colors="blue"; - } - else - { - if(($i.".".chr(64+$j)!=$seatnumber)){ - $bookingidle="".$i.".".chr(64+$j).""; - $colors="#e74c3c"; - - } - } - } - } - echo "
                    - $bookingidle -
                    "; - echo "
                     
                    -
                    -
                    -
                    "; - - echo $this->FN_CREATEFOOTER(); - } - - public function fn_getpic(){ - echo $this->FN_CREATEHEADER(); - echo ""; - echo ""; - echo " - "; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); -// echo "
                    -// -//
                    "; - echo " -
                    - -
                    -
                    "; - //echo ""; - echo $this->FN_CREATEFOOTER(); - - - } - } -?> \ No newline at end of file diff --git a/objectx/obj_tra/tra_newticket_20200206.php b/objectx/obj_tra/tra_newticket_20200206.php deleted file mode 100644 index a1bdd31..0000000 --- a/objectx/obj_tra/tra_newticket_20200206.php +++ /dev/null @@ -1,1103 +0,0 @@ -dec($task);}} - - switch($task) - { - case "default": - $this->fn_default_newticket(); - break; - - case $task: - $task="fn_".$task; - if(method_exists($this,$task)){$this->$task();} - break; - - default: - $this->fn_default_newticket(); - break; - } - } - public function fn_default_newticket() - { - //for($i=1;$i<=30;$i++){ -// for($j=1;$j<=10;$j++) -// { -// $seat="$i.".chr(64+$j); -// $qry="insert into ".DB_APORTIL.".tbl_ship_seatnumber set idship=1,shipnumber='NAC-151',seatnumber='".$seat."',iby='82010',idt=now()"; -// $this->executequery($qry); -// } -// } - echo $this->FN_CREATEHEADER(); - - echo ""; - echo ""; - - echo ""; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); - - - echo "
                    "; - echo " - - - - - - -
                    "; - $url="location.reload();"; - $myuri=array("PASSENGER INFORMATION"=>"$url|id='a_newticket'"); - echo $this->MULTIPLE_LINK($myuri); - echo "
                    -
                    - - - - - -
                    -
                    -
                    - - - - - - - - - - - - - - -
                    -
                    -
                    -
                    -
                    -
                    -
                    ".$this->CREATE_IMAGE("loadergrid.gif")."
                    - - - - - - -
                    Notes:- Click Row For Edit
                    -
                    -
                    -
                    -
                    -
                    "; - echo $this->FN_CREATEFOOTER(); - - } - - public function fn_grdrecord() - { - $keyword=$_REQUEST["keyword"]; - header("Content-type: text/xml"); - echo(''); - echo ""; - - $qry="select id,idship,tiketnumber,inctiket,shipname,shipnumber,passengername,picdata,dates,idroutestart, - routenamestart,idrouteend,routenameend,seatnumber,quantity,price,baggageinkg,pricebaggage,modifcount - from ".DB_APORTIL.".tbl_passenger_tiket - where (tiketnumber like '%$keyword%' or passengername like '%$keyword%') and isdeleted=0 and status=0 and iby='".$_SESSION['nik']."' - order by id desc limit ".TBL_PAGE_LIMIT; - - $rs=$this->selectquery($qry); - if($rs) - { - $i=1; - while($row=$this->data_row_array($rs)) - { - $color='black'; - if($row["modifcount"]>=2){$color='grey';} - echo (""); - print(""); - print("".$i.""."]]>"); - print("".$row["shipname"].""."]]>"); - print("".$row["tiketnumber"].""."]]>"); - print("".$row["inctiket"].""."]]>"); - print("".$row["shipnumber"].""."]]>"); - print("".$row["passengername"].""."]]>"); - print("".$row["picdata"].""."]]>"); - print("".date("Y-m-d",strtotime($row["dates"])).""."]]>"); - print("".$row["routenamestart"].""."]]>"); - print("".$row["routenameend"].""."]]>"); - print("".$row["seatnumber"].""."]]>"); - print("".$row["quantity"].""."]]>"); - print(""."\$".$row["price"].""."]]>"); - print("".$row["baggageinkg"]." kg".""."]]>"); - print(""."\$".$row["pricebaggage"].""."]]>"); - echo (""); - $i+=1; - } - } - else - { - echo mysql_errno().": ".mysql_error()." at ".__LINE__." line in ".__FILE__." file
                    "; - } - echo "
                    "; - - } - - public function fn_saverecord($isupdate=null) - { - $year=date("Y"); - if($isupdate){$id=$_REQUEST['txt_id'];} - $ipprintclient=$this->get_client_ip(); - $idship=$_REQUEST['cbo_idship']; - $sp=$this->fn_get_fieldsvalues("shipname,shipnumber","select shipname,shipnumber from ".DB_APORTIL.".tbl_ship_information where id='$idship'"); - $shipnumber=$sp[1];$shipname=$sp[0]; - $tiketnumber=$_REQUEST['txt_tiketnumber']; - $voynumber=$_REQUEST['txt_voynumber']; - $passengername=$_REQUEST['txt_passengername']; - $idgender=$_REQUEST['cbo_idgender']; - $gender=$this->fn_get_fieldvalue("gender","select gender from ".DB_APORTIL.".tbl_gender where id='$idgender'"); - $bod=$_REQUEST['txt_bod']; - $idcardtype=$_REQUEST['cbo_idcardtype']; - $cardtype=$this->fn_get_fieldvalue("cardtype","select cardtype from ".DB_APORTIL.".tbl_passenger_identifycardtype where id='$idcardtype'"); - $cardnumber=$_REQUEST['txt_cardnumber']; - $picdata=$_REQUEST['txt_picdata']; - $dates=$_REQUEST['txt_dates']; - $idroutestart=$_REQUEST['cbo_idroutestart']; - $routenamestart=$this->fn_get_fieldvalue("routename","select routename from ".DB_APORTIL.".tbl_route_information where id='$idroutestart'"); - $idrouteend=$_REQUEST['cbo_idrouteend']; - $routenameend=$this->fn_get_fieldvalue("routename","select routename from ".DB_APORTIL.".tbl_route_information where id='$idrouteend'"); - $spseat=explode("|",$this->fn_getseatnumber()); - $seatnumber=$spseat[1]; - //$seatnumber=$this->fn_getseatnumber(); - //echo "failed|".$spseat[0]." ".$spseat[1]; - //return false; - if((int)$spseat[1]>(int)$spseat[0]){ - echo "failed|Total Seat Exceded only ".$spseat[0]." Available"; - return false; - } - - $inctiket=0;$inctiketyear=0; - if(!$isupdate){ - $qry="select count(id) incnumber from ".DB_APORTIL.".tbl_passenger_tiket - where isdeleted=0 and years='$year' and status>=0"; - $inctiketyear=$this->fn_get_fieldvalue("incnumber",$qry); - $inctiketyear+=1; - - $qry="select count(id) incnumber from ".DB_APORTIL.".tbl_passenger_tiket - where idship='$idship' and isdeleted=0 and cast(dates as date)=cast(now() as date) and idroutestart='$idroutestart' and idrouteend='$idrouteend' and status>=0"; - $inctiket=$this->fn_get_fieldvalue("incnumber",$qry); - $inctiket+=1; - } - $quantity=$_REQUEST['txt_quantity']; - $price=$_REQUEST['txt_price']; - $baggageinkg=$_REQUEST['txt_baggageinkg']; - $limitbaggage=$_REQUEST['txt_limitbaggage']; - $overlimitbaggage=$_REQUEST['txt_overlimitbaggage']; - $priceoverinkg=$_REQUEST['txt_priceoverinkg']; - $pricebaggage=$_REQUEST['txt_pricebaggage']; - $totalprice=$_REQUEST['txt_totalprice']; - - $qry="insert into ".DB_APORTIL.".tbl_passenger_tiket - set idship='$idship',tiketnumber='$tiketnumber',voynumber='$voynumber',inctiket='$inctiket',inctiketyear='$inctiketyear',shipname='$shipname',shipnumber='$shipnumber',passengername='$passengername', - bod='$bod',idgender='$idgender',gender='$gender',idcardtype='$idcardtype',cardtype='$cardtype',cardnumber='$cardnumber',picdata='$picdata',dates='$dates',idroutestart='$idroutestart', - routenamestart='$routenamestart',idrouteend='$idrouteend',routenameend='$routenameend',seatnumber='$seatnumber',quantity='1',price='$price',baggageinkg='$baggageinkg', - limitbaggage='$limitbaggage',overlimitbaggage='$overlimitbaggage',priceoverinkg='$priceoverinkg',pricebaggage='$pricebaggage',totalprice='$totalprice',years='$year',ipclient='$ipprintclient', - status=0,iby='".$_SESSION['nik']."',idt=now()"; - if($isupdate) - { - $qry="update ".DB_APORTIL.".tbl_passenger_tiket - set idship='$idship',tiketnumber='$tiketnumber',voynumber='$voynumber',shipname='$shipname',shipnumber='$shipnumber',passengername='$passengername', - bod='$bod',idgender='$idgender',gender='$gender',idcardtype='$idcardtype',cardtype='$cardtype',cardnumber='$cardnumber',picdata='$picdata',dates='$dates',idroutestart='$idroutestart',routenamestart='$routenamestart',idrouteend='$idrouteend', - routenameend='$routenameend',quantity='1',price='$price',baggageinkg='$baggageinkg',limitbaggage='$limitbaggage',overlimitbaggage='$overlimitbaggage', - priceoverinkg='$priceoverinkg',pricebaggage='$pricebaggage',totalprice='$totalprice',years='$year',modifcount=modifcount+1,ipclient='$ipprintclient',uby='".$_SESSION['nik']."',udt=now() - where id='$id'"; - } - - if($this->executequery($qry)) - { - - if(!$isupdate){ - $idpassengerticket=mysql_insert_id(); - $qry="insert into ".DB_APORTIL.".tbl_passenger_tiket_log - set idpassengerticket='$idpassengerticket',dates='".date("Y-m-d")."',status=0,remarkstatus='Submitted', - iby='".$_SESSION['nik']."',idt=now()"; - if($this->executequery($qry)){ - - $rtn=$this->fn_printtra($idpassengerticket); - echo 'ok|'; - } - } - else - { - echo "ok|";return true; - } - - } - } - - public function fn_updrecord(){$this->fn_saverecord(true);} - - public function fn_delrecord() - { - $id=$_REQUEST['txt_id']; - $remark=$_REQUEST['txtremark']; - $qry="update ".DB_APORTIL.".tbl_passenger_tiket - set isdeleted=1,remark='$remark',dby='".$_SESSION['nik']."',ddt=now() - where id='$id'"; - if($this->executequery($qry)){echo "ok|";return true;} - else - { - echo "failed|".$this->getErrorQuery(); - } - } - - public function fn_printtra($idtransaction) - { - $tiketnumber=$_REQUEST['txt_tiketnumber']; - $ipprintclient=$this->get_client_ip(); - $qry="insert into ".DB_APORTIL.".tbl_printjob - set idtransaction='$idtransaction',ipprintclient='$ipprintclient',idemployee='".$_SESSION['idemployee']."',nik='".$_SESSION['nik']."', - employeename='".$_SESSION['employeename']."',jobgroup='TIC',jobremark='$tiketnumber',iby='".$_SESSION['nik']."',idt=now()"; - $qrychk="select id from ".DB_APORTIL.".tbl_printjob where ipprintclient='$ipprintclient' order by id desc limit 1"; - if($this->fn_row_isexists($qrychk)) - { - $id=$this->fn_get_fieldvalue("id",$qrychk); - $qry="update ".DB_APORTIL.".tbl_printjob - set idtransaction='$idtransaction',ipprintclient='$ipprintclient',idemployee='".$_SESSION['idemployee']."',nik='".$_SESSION['nik']."', - employeename='".$_SESSION['employeename']."',jobgroup='TIC',jobremark='$tiketnumber',uby='".$_SESSION['nik']."',udt=now() - where id='$id'"; - } - - $rtn="failed|Print Tiket $tiketnumber failed, please contact your administrator. Thank you"; - if($this->executequery($qry)) - { - $qry="update ".DB_APORTIL.".tbl_passenger_tiket set isprint=1,printeddate=now() where id='$idtransaction'"; - if($this->executequery($qry)){ - $rtn="ok|"; - } - - } - return $rtn; - } - - public function fn_getseatnumber(){ - $idship=$_REQUEST['cbo_idship']; - $dates=$_REQUEST['txt_dates']; - $idroutestart=$_REQUEST['cbo_idroutestart']; - $idrouteend=$_REQUEST['cbo_idrouteend']; - - $qry="select totalseat from ".DB_APORTIL.".tbl_ship_information where id='$idship'"; - $totalseat=$this->fn_get_fieldvalue("totalseat",$qry); - $qry="select count(id) total from ".DB_APORTIL.".tbl_passenger_tiket "; - $qry.="where idship='$idship' and idroutestart='$idroutestart' and idrouteend='$idrouteend' "; - $qry.="and cast(dates as date)=cast('$dates' as date) and isdeleted=0 "; - - $lasttiket=0; - if($this->fn_row_isexists($qry)) - { - $lasttiket=$this->fn_get_fieldvalue("total",$qry); - } - $lasttiket+=1; - - return $totalseat."|".$lasttiket; - } - - public function fn_getticket(){ - $valticket=""; - for($i=1;$i<=8;$i++){ - $valticket.=rand(0,9); - } - $sql="select tiketnumber from ".DB_APORTIL.".tbl_passenger_tiket where tiketnumber='".$tiketnumber."' order by id desc limit 1"; - if($this->fn_row_isexists($sql)){ - $this->fn_getticket(); - } - return $valticket; - } - public function fn_getheaderinfo(){ - $idship=$_REQUEST['idship']; - $tiketnumber=$this->fn_getticket(); - echo "ok|".$tiketnumber; - } - - public function fn_getprice(){ - $idroutestart=$_REQUEST['idroutestart']; - $idrouteend=$_REQUEST['idrouteend']; - $qry="select prices from ".DB_APORTIL.".tbl_price_information - where idroutestart='".$idroutestart."' and idrouteend='".$idrouteend."' and isdeleted=0 - order by id desc limit 1"; - //echo "failed|".$qry; - $price=0;$status="failed";$statuserr="Price not Found, Please contact your administrator"; - if($this->fn_row_isexists($qry)){ - $price=$this->fn_get_fieldvalue("prices",$qry); - $status="ok";$statuserr=""; - } - // === Price limit baggage - $qry="select prices from ".DB_APORTIL.".tbl_cargoprice_information - where idcategory=2 and idroutestart='$idroutestart' and idrouteend='$idrouteend' and isdeleted=0 - order by id desc limit 1"; - $pricebaggagelimit=0; - if($this->fn_row_isexists($qry)){ - $pricebaggagelimit=$this->fn_get_fieldvalue("prices",$qry); - } - echo "$status|$statuserr|$price|$pricebaggagelimit"; - } - - public function fn_setbookseat(){ - $idship=$_REQUEST['idship']; - $bookingdate=$_REQUEST['bookingdate']; - $spship=$this->fn_get_fieldsvalues("shipnumber,shipname","select shipnumber,shipname from ".DB_APORTIL.".tbl_ship_information where id='$idship'"); - $shipnumber=$spship[0];$shipname=$spship[1]; - $seatnumber=$_REQUEST['seatnumber']; - $idroutestart=$_REQUEST['idroutestart']; - $routestart=$this->fn_get_fieldvalue("routename","select routename from ".DB_APORTIL.".tbl_route_information where id='$idroutestart'"); - $idrouteend=$_REQUEST['idrouteend']; - $routeend=$this->fn_get_fieldvalue("routename","select routename from ".DB_APORTIL.".tbl_route_information where id='$idrouteend'"); - $bookingdateend=date("Y-m-d H:i:s",strtotime("+15 minutes")); - - $qry="insert into ".DB_APORTIL.".tbl_ship_seatbooking - set idship='$idship',shipnumber='$shipnumber',shipname='$shipname',bookingdate='$bookingdate',bookingdateend='$bookingdateend', - seatnumber='$seatnumber',idroutestart='$idroutestart',routestart='$routestart',idrouteend='$idrouteend',routeend='$routeend', - status=0,iby='".$_SESSION['nik']."',idt=now()"; - $rtn="failed|Booking Failed please contact administrator!."; - if($this->executequery($qry)){ - $rtn="ok|"; - } - echo $rtn; - } - - public function fn_cancelseat(){ - $seatnumber=$_REQUEST['seatnumber']; - $bookingdate=$_REQUEST['bookingdate']; - $qry="update ".DB_APORTIL.".tbl_ship_seatbooking set status=-2,remark='Cancel Booking by ".$_SESSION['nik']."',uby='".$_SESSION['nik']."',udt=now() - where seatnumber='$seatnumber' and cast(bookingdate as date)=cast('$bookingdate' as date) and isdeleted=0"; - //echo "failed|$qry"; - if($this->executequery($qry)){ - echo "ok|success"; - }; - } - - public function fn_getseatnum(){ - $bookingdate=$_REQUEST['bookingdate']; - $idship=$_REQUEST['idship']; - $shipname=$_REQUEST['shipname']; - $seatnumber=$_REQUEST['seatnumber']; - $idroutestart=$_REQUEST['idroutestart']; - $routestart=$_REQUEST['routestart']; - $routeend=$_REQUEST['routeend']; - $idrouteend=$_REQUEST['idrouteend']; - echo $this->FN_CREATEHEADER(); - echo ""; - echo " - "; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); - echo "
                    - - - - - - - - - - - - - - - - -
                    Ship Name:".$shipname."
                    Route:".$routestart." to ".$routeend."
                    Booking Date:".$bookingdate."
                    -
                    "; - echo "
                    "; - echo ""; - echo " - - "; - echo "
                    -
                    - "; - // === SEAT Number - for($i=1;$i<=30;$i++){ - echo ""; - for($j=1;$j<=10;$j++) - { - $colors="#ecf0f1"; - echo ""; - if($j==5){ - echo ""; - } - } - echo ""; - } - echo "
                    "; - $qry="select id,status,iby from ".DB_APORTIL.".tbl_ship_seatbooking "; - $qry.="where seatnumber='".$i.".".chr(64+$j)."' and status>=0 and isdeleted=0 "; - $qry.="and cast(bookingdate as date)=cast('$bookingdate' as date) "; - $qry.="and idroutestart='$idroutestart' and idrouteend='$idrouteend' "; - $qry.="order by id asc limit 1"; - - $bookingidle="$i.".chr(64+$j).""; - if($this->fn_row_isexists($qry)){ - $bookingidle="".$i.".".chr(64+$j).""; - $colors="red"; - $sp=$this->fn_get_fieldsvalues("id,status,iby",$qry); - $id=$sp[0];$status=$sp[1];$iby=$sp[2]; - if($_SESSION['nik']==$iby){ - $bookingidle="".$i.".".chr(64+$j).""; - if($status==1){ - $bookingidle="".$i.".".chr(64+$j).""; - $colors="blue"; - } - else - { - if(($i.".".chr(64+$j)!=$seatnumber)){ - $bookingidle="".$i.".".chr(64+$j).""; - $colors="#e74c3c"; - - } - } - } - } - echo "
                    - $bookingidle -
                    "; - echo "
                     
                    -
                    -
                    -
                    "; - - echo $this->FN_CREATEFOOTER(); - } - - public function fn_getpic(){ - $picdata=$_REQUEST['picdata']; - if($picdata){unlink('uploads/temps/'.$picdata);} - - echo $this->FN_CREATEHEADER(); - echo ""; - echo ""; - echo " - "; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); -// echo "
                    -// -//
                    "; - echo " -
                    - -
                    -
                    "; - //echo ""; - echo $this->FN_CREATEFOOTER(); - - - } - } -?> \ No newline at end of file diff --git a/objectx/obj_tra/tra_newticket_20201210.php b/objectx/obj_tra/tra_newticket_20201210.php deleted file mode 100644 index b570d34..0000000 --- a/objectx/obj_tra/tra_newticket_20201210.php +++ /dev/null @@ -1,1135 +0,0 @@ -dec($task);}} - - switch($task) - { - case "default": - $this->fn_default_newticket(); - break; - - case $task: - $task="fn_".$task; - if(method_exists($this,$task)){$this->$task();} - break; - - default: - $this->fn_default_newticket(); - break; - } - } - public function fn_default_newticket() - { - //for($i=1;$i<=30;$i++){ -// for($j=1;$j<=10;$j++) -// { -// $seat="$i.".chr(64+$j); -// $qry="insert into ".DB_APORTIL.".tbl_ship_seatnumber set idship=1,shipnumber='NAC-151',seatnumber='".$seat."',iby='82010',idt=now()"; -// $this->executequery($qry); -// } -// } - echo $this->FN_CREATEHEADER(); - - echo ""; - echo ""; - - echo ""; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); - - - echo "
                    "; - echo " - - - - - - -
                    "; - $qry="select filepdf from ".DB_APORTIL.".tbl_manualbook where isdeleted=0 and filepdf='passengerbooking_ticket.pdf'"; - $filepdf=$this->fn_get_fieldvalue("filepdf",$qry); - $urlmanualbook=" MANUAL BOOK"; - $url="location.reload();"; - $myuri=array("PASSENGER INFORMATION"=>"$url|id='a_newticket'","$urlmanualbook"=>"|id='a_manualbook'"); - echo $this->MULTIPLE_LINK($myuri); - echo "
                    -
                    - - - - - -
                    -
                    -
                    - - - - - - - - - - - - - - -
                    -
                    -
                    -
                    -
                    -
                    -
                    ".$this->CREATE_IMAGE("loadergrid.gif")."
                    - - - - - - -
                    Notes:- Click Row For Edit
                    -
                    -
                    -
                    -
                    -
                    "; - echo $this->FN_CREATEFOOTER(); - - } - - public function fn_grdrecord() - { - $keyword=$_REQUEST["keyword"]; - header("Content-type: text/xml"); - echo(''); - echo ""; - - $qry="select id,idship,tiketnumber,inctiket,shipname,shipnumber,passengername,picdata,dates,idroutestart,nationality, - routenamestart,idrouteend,routenameend,seatnumber,quantity,price,baggageinkg,pricebaggage,modifcount - from ".DB_APORTIL.".tbl_passenger_tiket - where (tiketnumber like '%$keyword%' or passengername like '%$keyword%') and isdeleted=0 and status=0 and iby='".$_SESSION['nik']."' - order by id desc limit ".TBL_PAGE_LIMIT; - - $rs=$this->selectquery($qry); - if($rs) - { - $i=1; - while($row=$this->data_row_array($rs)) - { - $color='black'; - if($row["modifcount"]>=2){$color='grey';} - echo (""); - //$print="<a href=\"javascript:void(0)\" title=\"Reprint Ticket Number ".$row["tiketnumber"]."\" style=\"text-decoration:none\" onClick=\"fn_printso('".$row["id"]."')\"/>"; - $print="<a href=\"javascript:void(0)\" title=\"Reprint Ticket Number ".$row["tiketnumber"]."\" style=\"text-decoration:none\" onClick=\"fn_printtra('".$row['tiketnumber']."','".$row['id']."')\"/>"; - $print.="<img src='themes/images/print.gif' />"; - $print.="<a/>"; - print(""); - print("$print"); - print("".$i.""."]]>"); - print("".$row["shipname"].""."]]>"); - print("".$row["tiketnumber"].""."]]>"); - print("".$row["inctiket"].""."]]>"); - print("".$row["shipnumber"].""."]]>"); - print("".$row["passengername"].""."]]>"); - print("".$row["picdata"].""."]]>"); - print("".date("Y-m-d",strtotime($row["dates"])).""."]]>"); - print("".$row["routenamestart"].""."]]>"); - print("".$row["routenameend"].""."]]>"); - print("".$row["nationality"].""."]]>"); - print("".$row["quantity"].""."]]>"); - print(""."\$".$row["price"].""."]]>"); - print("".$row["baggageinkg"]." kg".""."]]>"); - print(""."\$".$row["pricebaggage"].""."]]>"); - echo (""); - $i+=1; - } - } - else - { - echo mysql_errno().": ".mysql_error()." at ".__LINE__." line in ".__FILE__." file
                    "; - } - echo "
                    "; - - } - - public function fn_saverecord($isupdate=null) - { - $year=date("Y"); - if($isupdate){$id=$_REQUEST['txt_id'];} - $ipprintclient=$this->get_client_ip(); - $idship=$_REQUEST['cbo_idship']; - $sp=$this->fn_get_fieldsvalues("shipname,shipnumber","select shipname,shipnumber from ".DB_APORTIL.".tbl_ship_information where id='$idship'"); - $shipnumber=$sp[1];$shipname=$sp[0]; - $tiketnumber=$_REQUEST['txt_tiketnumber']; - $voynumber=$_REQUEST['txt_voynumber']; - $passengername=$_REQUEST['txt_passengername']; - $idgender=$_REQUEST['cbo_idgender']; - $gender=$this->fn_get_fieldvalue("gender","select gender from ".DB_APORTIL.".tbl_gender where id='$idgender'"); - $bod=$_REQUEST['txt_bod']; - $idcardtype=$_REQUEST['cbo_idcardtype']; - $cardtype=$this->fn_get_fieldvalue("cardtype","select cardtype from ".DB_APORTIL.".tbl_passenger_identifycardtype where id='$idcardtype'"); - $cardnumber=$_REQUEST['txt_cardnumber']; - $nationality=$_REQUEST['txt_nationality']; - $picdata="aportildefault.png";//$_REQUEST['txt_picdata']; - $dates=$_REQUEST['txt_dates']; - $idroutestart=$_REQUEST['cbo_idroutestart']; - $routenamestart=$this->fn_get_fieldvalue("routename","select routename from ".DB_APORTIL.".tbl_route_information where id='$idroutestart'"); - $idrouteend=$_REQUEST['cbo_idrouteend']; - $routenameend=$this->fn_get_fieldvalue("routename","select routename from ".DB_APORTIL.".tbl_route_information where id='$idrouteend'"); - $spseat=explode("|",$this->fn_getseatnumber()); - $seatnumber=$spseat[1]; - //$seatnumber=$this->fn_getseatnumber(); - //echo "failed|".$spseat[0]." ".$spseat[1]; - //return false; - if((int)$spseat[1]>(int)$spseat[0]){ - echo "failed|Total Seat Exceded only ".$spseat[0]." Available"; - return false; - } - - $inctiket=0;$inctiketyear=0; - if(!$isupdate){ - $qry="select count(id) incnumber from ".DB_APORTIL.".tbl_passenger_tiket - where isdeleted=0 and years='$year' and status>=0"; - $inctiketyear=$this->fn_get_fieldvalue("incnumber",$qry); - $inctiketyear+=1; - - $qry="select count(id) incnumber from ".DB_APORTIL.".tbl_passenger_tiket - where idship='$idship' and isdeleted=0 and cast(dates as date)=cast(now() as date) and idroutestart='$idroutestart' and idrouteend='$idrouteend' and status>=0"; - $inctiket=$this->fn_get_fieldvalue("incnumber",$qry); - $inctiket+=1; - } - $quantity=$_REQUEST['txt_quantity']; - $price=$_REQUEST['txt_price']; - $baggageinkg=$_REQUEST['txt_baggageinkg']; - $limitbaggage=$_REQUEST['txt_limitbaggage']; - $overlimitbaggage=$_REQUEST['txt_overlimitbaggage']; - $priceoverinkg=$_REQUEST['txt_priceoverinkg']; - $pricebaggage=$_REQUEST['txt_pricebaggage']; - $totalprice=$_REQUEST['txt_totalprice']; - - $qry="insert into ".DB_APORTIL.".tbl_passenger_tiket - set idship='$idship',tiketnumber='$tiketnumber',voynumber='$voynumber',inctiket='$inctiket',inctiketyear='$inctiketyear',shipname='$shipname',shipnumber='$shipnumber',passengername='$passengername', - bod='$bod',idgender='$idgender',gender='$gender',idcardtype='$idcardtype',cardtype='$cardtype',cardnumber='$cardnumber',nationality='$nationality',picdata='$picdata',dates='$dates',idroutestart='$idroutestart', - routenamestart='$routenamestart',idrouteend='$idrouteend',routenameend='$routenameend',seatnumber='$seatnumber',quantity='1',price='$price',baggageinkg='$baggageinkg', - limitbaggage='$limitbaggage',overlimitbaggage='$overlimitbaggage',priceoverinkg='$priceoverinkg',pricebaggage='$pricebaggage',totalprice='$totalprice',years='$year',ipclient='$ipprintclient', - modifcount=2,status=0,iby='".$_SESSION['nik']."',idt=now()"; - if($isupdate) - { - $qry="update ".DB_APORTIL.".tbl_passenger_tiket - set idship='$idship',tiketnumber='$tiketnumber',voynumber='$voynumber',shipname='$shipname',shipnumber='$shipnumber',passengername='$passengername', - bod='$bod',idgender='$idgender',gender='$gender',idcardtype='$idcardtype',cardtype='$cardtype',cardnumber='$cardnumber',nationality='$nationality', - picdata='$picdata',dates='$dates',idroutestart='$idroutestart',routenamestart='$routenamestart',idrouteend='$idrouteend', - routenameend='$routenameend',quantity='1',price='$price',baggageinkg='$baggageinkg',limitbaggage='$limitbaggage',overlimitbaggage='$overlimitbaggage', - priceoverinkg='$priceoverinkg',pricebaggage='$pricebaggage',totalprice='$totalprice',years='$year',modifcount=modifcount+1,ipclient='$ipprintclient',uby='".$_SESSION['nik']."',udt=now() - where id='$id'"; - } - - if($this->executequery($qry)) - { - - if(!$isupdate){ - $idpassengerticket=mysql_insert_id(); - $qry="insert into ".DB_APORTIL.".tbl_passenger_tiket_log - set idpassengerticket='$idpassengerticket',dates='".date("Y-m-d")."',status=0,remarkstatus='Submitted', - iby='".$_SESSION['nik']."',idt=now()"; - if($this->executequery($qry)){ - - $rtn=$this->fn_printtra($idpassengerticket); - echo 'ok|'; - } - } - else - { - echo "ok|";return true; - } - - } - } - - public function fn_updrecord(){$this->fn_saverecord(true);} - - public function fn_delrecord() - { - $id=$_REQUEST['txt_id']; - $remark=$_REQUEST['txtremark']; - $qry="update ".DB_APORTIL.".tbl_passenger_tiket - set isdeleted=1,remark='$remark',dby='".$_SESSION['nik']."',ddt=now() - where id='$id'"; - if($this->executequery($qry)){echo "ok|";return true;} - else - { - echo "failed|".$this->getErrorQuery(); - } - } - - public function fn_printtra($idtransaction='') - { - $tiketnumber=$_REQUEST['txt_tiketnumber']; - if(!$idtransaction){ - $idtransaction=$_REQUEST['idtransaction']; - } - $ipprintclient=$this->get_client_ip(); - $qry="insert into ".DB_APORTIL.".tbl_printjob - set idtransaction='$idtransaction',ipprintclient='$ipprintclient',idemployee='".$_SESSION['idemployee']."',nik='".$_SESSION['nik']."', - employeename='".$_SESSION['employeename']."',jobgroup='TIC',jobremark='$tiketnumber',iby='".$_SESSION['nik']."',idt=now()"; - $qrychk="select id from ".DB_APORTIL.".tbl_printjob where ipprintclient='$ipprintclient' order by id desc limit 1"; - //echo $qry; - if($this->fn_row_isexists($qrychk)) - { - $id=$this->fn_get_fieldvalue("id",$qrychk); - $qry="update ".DB_APORTIL.".tbl_printjob - set idtransaction='$idtransaction',ipprintclient='$ipprintclient',idemployee='".$_SESSION['idemployee']."',nik='".$_SESSION['nik']."', - employeename='".$_SESSION['employeename']."',jobgroup='TIC',jobremark='$tiketnumber',uby='".$_SESSION['nik']."',udt=now() - where id='$id'"; - } - - $rtn="failed|Print Tiket $tiketnumber failed, please contact your administrator. Thank you"; - if($this->executequery($qry)) - { - $qry="update ".DB_APORTIL.".tbl_passenger_tiket set isprint=1,printeddate=now() where id='$idtransaction'"; - if($this->executequery($qry)){ - $rtn="ok|"; - } - - } - echo $rtn; - return $rtn; - } - - public function fn_getseatnumber(){ - $idship=$_REQUEST['cbo_idship']; - $dates=$_REQUEST['txt_dates']; - $idroutestart=$_REQUEST['cbo_idroutestart']; - $idrouteend=$_REQUEST['cbo_idrouteend']; - - $qry="select totalseat from ".DB_APORTIL.".tbl_ship_information where id='$idship'"; - $totalseat=$this->fn_get_fieldvalue("totalseat",$qry); - $qry="select count(id) total from ".DB_APORTIL.".tbl_passenger_tiket "; - $qry.="where idship='$idship' and idroutestart='$idroutestart' and idrouteend='$idrouteend' "; - $qry.="and cast(dates as date)=cast('$dates' as date) and isdeleted=0 "; - - $lasttiket=0; - if($this->fn_row_isexists($qry)) - { - $lasttiket=$this->fn_get_fieldvalue("total",$qry); - } - $lasttiket+=1; - - return $totalseat."|".$lasttiket; - } - - public function fn_getticket(){ - $valticket=""; - for($i=1;$i<=8;$i++){ - $valticket.=rand(0,9); - } - $sql="select tiketnumber from ".DB_APORTIL.".tbl_passenger_tiket where tiketnumber='".$tiketnumber."' order by id desc limit 1"; - if($this->fn_row_isexists($sql)){ - $this->fn_getticket(); - } - return $valticket; - } - public function fn_getheaderinfo(){ - $idship=$_REQUEST['idship']; - $tiketnumber=$this->fn_getticket(); - echo "ok|".$tiketnumber; - } - - public function fn_getprice(){ - $idroutestart=$_REQUEST['idroutestart']; - $idrouteend=$_REQUEST['idrouteend']; - $qry="select prices from ".DB_APORTIL.".tbl_price_information - where idroutestart='".$idroutestart."' and idrouteend='".$idrouteend."' and isdeleted=0 - order by id desc limit 1"; - //echo "failed|".$qry; - $price=0;$status="failed";$statuserr="Price not Found, Please contact your administrator"; - if($this->fn_row_isexists($qry)){ - $price=$this->fn_get_fieldvalue("prices",$qry); - $status="ok";$statuserr=""; - } - // === Price limit baggage - $qry="select prices from ".DB_APORTIL.".tbl_cargoprice_information - where idcategory=2 and idroutestart='$idroutestart' and idrouteend='$idrouteend' and isdeleted=0 - order by id desc limit 1"; - $pricebaggagelimit=0; - if($this->fn_row_isexists($qry)){ - $pricebaggagelimit=$this->fn_get_fieldvalue("prices",$qry); - } - echo "$status|$statuserr|$price|$pricebaggagelimit"; - } - - public function fn_setbookseat(){ - $idship=$_REQUEST['idship']; - $bookingdate=$_REQUEST['bookingdate']; - $spship=$this->fn_get_fieldsvalues("shipnumber,shipname","select shipnumber,shipname from ".DB_APORTIL.".tbl_ship_information where id='$idship'"); - $shipnumber=$spship[0];$shipname=$spship[1]; - $seatnumber=$_REQUEST['seatnumber']; - $idroutestart=$_REQUEST['idroutestart']; - $routestart=$this->fn_get_fieldvalue("routename","select routename from ".DB_APORTIL.".tbl_route_information where id='$idroutestart'"); - $idrouteend=$_REQUEST['idrouteend']; - $routeend=$this->fn_get_fieldvalue("routename","select routename from ".DB_APORTIL.".tbl_route_information where id='$idrouteend'"); - $bookingdateend=date("Y-m-d H:i:s",strtotime("+15 minutes")); - - $qry="insert into ".DB_APORTIL.".tbl_ship_seatbooking - set idship='$idship',shipnumber='$shipnumber',shipname='$shipname',bookingdate='$bookingdate',bookingdateend='$bookingdateend', - seatnumber='$seatnumber',idroutestart='$idroutestart',routestart='$routestart',idrouteend='$idrouteend',routeend='$routeend', - status=0,iby='".$_SESSION['nik']."',idt=now()"; - $rtn="failed|Booking Failed please contact administrator!."; - if($this->executequery($qry)){ - $rtn="ok|"; - } - echo $rtn; - } - - public function fn_cancelseat(){ - $seatnumber=$_REQUEST['seatnumber']; - $bookingdate=$_REQUEST['bookingdate']; - $qry="update ".DB_APORTIL.".tbl_ship_seatbooking set status=-2,remark='Cancel Booking by ".$_SESSION['nik']."',uby='".$_SESSION['nik']."',udt=now() - where seatnumber='$seatnumber' and cast(bookingdate as date)=cast('$bookingdate' as date) and isdeleted=0"; - //echo "failed|$qry"; - if($this->executequery($qry)){ - echo "ok|success"; - }; - } - - public function fn_getseatnum(){ - $bookingdate=$_REQUEST['bookingdate']; - $idship=$_REQUEST['idship']; - $shipname=$_REQUEST['shipname']; - $seatnumber=$_REQUEST['seatnumber']; - $idroutestart=$_REQUEST['idroutestart']; - $routestart=$_REQUEST['routestart']; - $routeend=$_REQUEST['routeend']; - $idrouteend=$_REQUEST['idrouteend']; - echo $this->FN_CREATEHEADER(); - echo ""; - echo " - "; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); - echo "
                    - - - - - - - - - - - - - - - - -
                    Ship Name:".$shipname."
                    Route:".$routestart." to ".$routeend."
                    Booking Date:".$bookingdate."
                    -
                    "; - echo "
                    "; - echo ""; - echo " - - "; - echo "
                    -
                    - "; - // === SEAT Number - for($i=1;$i<=30;$i++){ - echo ""; - for($j=1;$j<=10;$j++) - { - $colors="#ecf0f1"; - echo ""; - if($j==5){ - echo ""; - } - } - echo ""; - } - echo "
                    "; - $qry="select id,status,iby from ".DB_APORTIL.".tbl_ship_seatbooking "; - $qry.="where seatnumber='".$i.".".chr(64+$j)."' and status>=0 and isdeleted=0 "; - $qry.="and cast(bookingdate as date)=cast('$bookingdate' as date) "; - $qry.="and idroutestart='$idroutestart' and idrouteend='$idrouteend' "; - $qry.="order by id asc limit 1"; - - $bookingidle="$i.".chr(64+$j).""; - if($this->fn_row_isexists($qry)){ - $bookingidle="".$i.".".chr(64+$j).""; - $colors="red"; - $sp=$this->fn_get_fieldsvalues("id,status,iby",$qry); - $id=$sp[0];$status=$sp[1];$iby=$sp[2]; - if($_SESSION['nik']==$iby){ - $bookingidle="".$i.".".chr(64+$j).""; - if($status==1){ - $bookingidle="".$i.".".chr(64+$j).""; - $colors="blue"; - } - else - { - if(($i.".".chr(64+$j)!=$seatnumber)){ - $bookingidle="".$i.".".chr(64+$j).""; - $colors="#e74c3c"; - - } - } - } - } - echo "
                    - $bookingidle -
                    "; - echo "
                     
                    -
                    -
                    -
                    "; - - echo $this->FN_CREATEFOOTER(); - } - - public function fn_getpic(){ - $picdata=$_REQUEST['picdata']; - if($picdata){unlink('uploads/temps/'.$picdata);} - - echo $this->FN_CREATEHEADER(); - echo ""; - echo ""; - echo " - "; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); -// echo "
                    -// -//
                    "; - echo " -
                    - -
                    -
                    "; - //echo ""; - echo $this->FN_CREATEFOOTER(); - - - } - } -?> \ No newline at end of file diff --git a/objectx/obj_tra/tra_newticket_20201217.php b/objectx/obj_tra/tra_newticket_20201217.php deleted file mode 100644 index fa7b094..0000000 --- a/objectx/obj_tra/tra_newticket_20201217.php +++ /dev/null @@ -1,1152 +0,0 @@ -dec($task);}} - - switch($task) - { - case "default": - $this->fn_default_newticket(); - break; - - case $task: - $task="fn_".$task; - if(method_exists($this,$task)){$this->$task();} - break; - - default: - $this->fn_default_newticket(); - break; - } - } - public function fn_default_newticket() - { - //for($i=1;$i<=30;$i++){ -// for($j=1;$j<=10;$j++) -// { -// $seat="$i.".chr(64+$j); -// $qry="insert into ".DB_APORTIL.".tbl_ship_seatnumber set idship=1,shipnumber='NAC-151',seatnumber='".$seat."',iby='82010',idt=now()"; -// $this->executequery($qry); -// } -// } - echo $this->FN_CREATEHEADER(); - - echo ""; - echo ""; - - echo ""; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); - - - echo "
                    "; - echo " - - - - - - -
                    "; - $qry="select filepdf from ".DB_APORTIL.".tbl_manualbook where isdeleted=0 and filepdf='passengerbooking_ticket.pdf'"; - $filepdf=$this->fn_get_fieldvalue("filepdf",$qry); - $urlmanualbook=" MANUAL BOOK"; - $url="location.reload();"; - $myuri=array("PASSENGER INFORMATION"=>"$url|id='a_newticket'","$urlmanualbook"=>"|id='a_manualbook'"); - echo $this->MULTIPLE_LINK($myuri); - echo "
                    -
                    - - - - - -
                    -
                    -
                    - - - - - - - - - - - - - - -
                    -
                    -
                    -
                    -
                    -
                    -
                    ".$this->CREATE_IMAGE("loadergrid.gif")."
                    - - - - - - -
                    Notes:- Click Row For Edit
                    -
                    -
                    -
                    -
                    -
                    "; - echo $this->FN_CREATEFOOTER(); - - } - - public function fn_grdrecord() - { - $keyword=$_REQUEST["keyword"]; - header("Content-type: text/xml"); - echo(''); - echo ""; - - $qry="select id,idship,tiketnumber,inctiket,shipname,shipnumber,passengername,picdata,dates,idroutestart,nationality, - routenamestart,idrouteend,routenameend,seatnumber,quantity,price,baggageinkg,pricebaggage,modifcount - from ".DB_APORTIL.".tbl_passenger_tiket - where (tiketnumber like '%$keyword%' or passengername like '%$keyword%') and isdeleted=0 and status=0 and iby='".$_SESSION['nik']."' - order by id desc limit ".TBL_PAGE_LIMIT; - - $rs=$this->selectquery($qry); - if($rs) - { - $i=1; - while($row=$this->data_row_array($rs)) - { - $color='black'; - if($row["modifcount"]>=2){$color='grey';} - echo (""); - //$print="<a href=\"javascript:void(0)\" title=\"Reprint Ticket Number ".$row["tiketnumber"]."\" style=\"text-decoration:none\" onClick=\"fn_printso('".$row["id"]."')\"/>"; - $print="<a href=\"javascript:void(0)\" title=\"Reprint Ticket Number ".$row["tiketnumber"]."\" style=\"text-decoration:none\" onClick=\"fn_printtra('".$row['tiketnumber']."','".$row['id']."')\"/>"; - $print.="<img src='themes/images/print.gif' />"; - $print.="<a/>"; - print(""); - print("$print"); - print("".$i.""."]]>"); - print("".$row["shipname"].""."]]>"); - print("".$row["tiketnumber"].""."]]>"); - print("".$row["inctiket"].""."]]>"); - print("".$row["shipnumber"].""."]]>"); - print("".$row["passengername"].""."]]>"); - print("".$row["picdata"].""."]]>"); - print("".date("Y-m-d H:i:s",strtotime($row["dates"])).""."]]>"); - print("".$row["routenamestart"].""."]]>"); - print("".$row["routenameend"].""."]]>"); - print("".$row["nationality"].""."]]>"); - print("".$row["quantity"].""."]]>"); - print(""."\$".$row["price"].""."]]>"); - print("".$row["baggageinkg"]." kg".""."]]>"); - print(""."\$".$row["pricebaggage"].""."]]>"); - echo (""); - $i+=1; - } - } - else - { - echo mysql_errno().": ".mysql_error()." at ".__LINE__." line in ".__FILE__." file
                    "; - } - echo "
                    "; - - } - - public function fn_saverecord($isupdate=null) - { - $year=date("Y"); - if($isupdate){$id=$_REQUEST['txt_id'];} - $ipprintclient=$this->get_client_ip(); - $idship=$_REQUEST['cbo_idship']; - $sp=$this->fn_get_fieldsvalues("shipname,shipnumber","select shipname,shipnumber from ".DB_APORTIL.".tbl_ship_information where id='$idship'"); - $shipnumber=$sp[1];$shipname=$sp[0]; - $tiketnumber=$_REQUEST['txt_tiketnumber']; - $voynumber=$_REQUEST['txt_voynumber']; - $passengername=$_REQUEST['txt_passengername']; - $idgender=$_REQUEST['cbo_idgender']; - $gender=$this->fn_get_fieldvalue("gender","select gender from ".DB_APORTIL.".tbl_gender where id='$idgender'"); - $bod=$_REQUEST['txt_bod']; - $idcardtype=$_REQUEST['cbo_idcardtype']; - $cardtype=$this->fn_get_fieldvalue("cardtype","select cardtype from ".DB_APORTIL.".tbl_passenger_identifycardtype where id='$idcardtype'"); - $cardnumber=$_REQUEST['txt_cardnumber']; - $nationality=$_REQUEST['txt_nationality']; - $picdata="aportildefault.png";//$_REQUEST['txt_picdata']; - $dates=$_REQUEST['txt_dates']; - $timeschedule=$_REQUEST['txt_timeschedule']; - $dates.=" ".$timeschedule; - $idroutestart=$_REQUEST['cbo_idroutestart']; - $routenamestart=$this->fn_get_fieldvalue("routename","select routename from ".DB_APORTIL.".tbl_route_information where id='$idroutestart'"); - $idrouteend=$_REQUEST['cbo_idrouteend']; - $routenameend=$this->fn_get_fieldvalue("routename","select routename from ".DB_APORTIL.".tbl_route_information where id='$idrouteend'"); - $spseat=explode("|",$this->fn_getseatnumber()); - $seatnumber=$spseat[1]; - //$seatnumber=$this->fn_getseatnumber(); - //echo "failed|".$spseat[0]." ".$spseat[1]; - //return false; - if((int)$spseat[1]>(int)$spseat[0]){ - echo "failed|Total Seat Exceded only ".$spseat[0]." Available"; - return false; - } - - $inctiket=0;$inctiketyear=0; - if(!$isupdate){ - $qry="select count(id) incnumber from ".DB_APORTIL.".tbl_passenger_tiket - where isdeleted=0 and years='$year' and status>=0"; - $inctiketyear=$this->fn_get_fieldvalue("incnumber",$qry); - $inctiketyear+=1; - - $qry="select count(id) incnumber from ".DB_APORTIL.".tbl_passenger_tiket - where idship='$idship' and isdeleted=0 and cast(dates as date)=cast(now() as date) and idroutestart='$idroutestart' and idrouteend='$idrouteend' and status>=0"; - $inctiket=$this->fn_get_fieldvalue("incnumber",$qry); - $inctiket+=1; - } - $quantity=$_REQUEST['txt_quantity']; - $price=$_REQUEST['txt_price']; - $baggageinkg=$_REQUEST['txt_baggageinkg']; - $limitbaggage=$_REQUEST['txt_limitbaggage']; - $overlimitbaggage=$_REQUEST['txt_overlimitbaggage']; - $priceoverinkg=$_REQUEST['txt_priceoverinkg']; - $pricebaggage=$_REQUEST['txt_pricebaggage']; - $totalprice=$_REQUEST['txt_totalprice']; - - $qry="insert into ".DB_APORTIL.".tbl_passenger_tiket - set idship='$idship',tiketnumber='$tiketnumber',voynumber='$voynumber',inctiket='$inctiket',inctiketyear='$inctiketyear',shipname='$shipname',shipnumber='$shipnumber',passengername='$passengername', - bod='$bod',idgender='$idgender',gender='$gender',idcardtype='$idcardtype',cardtype='$cardtype',cardnumber='$cardnumber',nationality='$nationality',picdata='$picdata',dates='$dates',idroutestart='$idroutestart', - routenamestart='$routenamestart',idrouteend='$idrouteend',routenameend='$routenameend',seatnumber='$seatnumber',quantity='1',price='$price',baggageinkg='$baggageinkg', - limitbaggage='$limitbaggage',overlimitbaggage='$overlimitbaggage',priceoverinkg='$priceoverinkg',pricebaggage='$pricebaggage',totalprice='$totalprice',years='$year',ipclient='$ipprintclient', - modifcount=2,status=0,iby='".$_SESSION['nik']."',idt=now()"; - if($isupdate) - { - $qry="update ".DB_APORTIL.".tbl_passenger_tiket - set idship='$idship',tiketnumber='$tiketnumber',voynumber='$voynumber',shipname='$shipname',shipnumber='$shipnumber',passengername='$passengername', - bod='$bod',idgender='$idgender',gender='$gender',idcardtype='$idcardtype',cardtype='$cardtype',cardnumber='$cardnumber',nationality='$nationality', - picdata='$picdata',dates='$dates',idroutestart='$idroutestart',routenamestart='$routenamestart',idrouteend='$idrouteend', - routenameend='$routenameend',quantity='1',price='$price',baggageinkg='$baggageinkg',limitbaggage='$limitbaggage',overlimitbaggage='$overlimitbaggage', - priceoverinkg='$priceoverinkg',pricebaggage='$pricebaggage',totalprice='$totalprice',years='$year',modifcount=modifcount+1,ipclient='$ipprintclient',uby='".$_SESSION['nik']."',udt=now() - where id='$id'"; - } - - if($this->executequery($qry)) - { - - if(!$isupdate){ - $idpassengerticket=mysql_insert_id(); - $qry="insert into ".DB_APORTIL.".tbl_passenger_tiket_log - set idpassengerticket='$idpassengerticket',dates='".date("Y-m-d")."',status=0,remarkstatus='Submitted', - iby='".$_SESSION['nik']."',idt=now()"; - if($this->executequery($qry)){ - - $rtn=$this->fn_printtra($idpassengerticket); - echo 'ok|'; - } - } - else - { - echo "ok|";return true; - } - - } - } - - public function fn_updrecord(){$this->fn_saverecord(true);} - - public function fn_delrecord() - { - $id=$_REQUEST['txt_id']; - $remark=$_REQUEST['txtremark']; - $qry="update ".DB_APORTIL.".tbl_passenger_tiket - set isdeleted=1,remark='$remark',dby='".$_SESSION['nik']."',ddt=now() - where id='$id'"; - if($this->executequery($qry)){echo "ok|";return true;} - else - { - echo "failed|".$this->getErrorQuery(); - } - } - - public function fn_printtra($idtransaction='') - { - $tiketnumber=$_REQUEST['txt_tiketnumber']; - if(!$idtransaction){ - $idtransaction=$_REQUEST['idtransaction']; - } - $ipprintclient=$this->get_client_ip(); - $qry="insert into ".DB_APORTIL.".tbl_printjob - set idtransaction='$idtransaction',ipprintclient='$ipprintclient',idemployee='".$_SESSION['idemployee']."',nik='".$_SESSION['nik']."', - employeename='".$_SESSION['employeename']."',jobgroup='TIC',jobremark='$tiketnumber',iby='".$_SESSION['nik']."',idt=now()"; - $qrychk="select id from ".DB_APORTIL.".tbl_printjob where ipprintclient='$ipprintclient' order by id desc limit 1"; - //echo $qry; - if($this->fn_row_isexists($qrychk)) - { - $id=$this->fn_get_fieldvalue("id",$qrychk); - $qry="update ".DB_APORTIL.".tbl_printjob - set idtransaction='$idtransaction',ipprintclient='$ipprintclient',idemployee='".$_SESSION['idemployee']."',nik='".$_SESSION['nik']."', - employeename='".$_SESSION['employeename']."',jobgroup='TIC',jobremark='$tiketnumber',uby='".$_SESSION['nik']."',udt=now() - where id='$id'"; - } - - $rtn="failed|Print Tiket $tiketnumber failed, please contact your administrator. Thank you"; - if($this->executequery($qry)) - { - $qry="update ".DB_APORTIL.".tbl_passenger_tiket set isprint=1,printeddate=now() where id='$idtransaction'"; - if($this->executequery($qry)){ - $rtn="ok|"; - } - - } - echo $rtn; - return $rtn; - } - - public function fn_getseatnumber(){ - $idship=$_REQUEST['cbo_idship']; - $dates=$_REQUEST['txt_dates']; - $idroutestart=$_REQUEST['cbo_idroutestart']; - $idrouteend=$_REQUEST['cbo_idrouteend']; - - $qry="select totalseat from ".DB_APORTIL.".tbl_ship_information where id='$idship'"; - $totalseat=$this->fn_get_fieldvalue("totalseat",$qry); - $qry="select count(id) total from ".DB_APORTIL.".tbl_passenger_tiket "; - $qry.="where idship='$idship' and idroutestart='$idroutestart' and idrouteend='$idrouteend' "; - $qry.="and cast(dates as date)=cast('$dates' as date) and isdeleted=0 "; - - $lasttiket=0; - if($this->fn_row_isexists($qry)) - { - $lasttiket=$this->fn_get_fieldvalue("total",$qry); - } - $lasttiket+=1; - - return $totalseat."|".$lasttiket; - } - - public function fn_getticket(){ - $valticket=""; - for($i=1;$i<=8;$i++){ - $valticket.=rand(0,9); - } - $sql="select tiketnumber from ".DB_APORTIL.".tbl_passenger_tiket where tiketnumber='".$tiketnumber."' order by id desc limit 1"; - if($this->fn_row_isexists($sql)){ - $this->fn_getticket(); - } - return $valticket; - } - public function fn_getheaderinfo(){ - $idship=$_REQUEST['idship']; - $tiketnumber=$this->fn_getticket(); - echo "ok|".$tiketnumber; - } - - public function fn_getprice(){ - $idroutestart=$_REQUEST['idroutestart']; - $idrouteend=$_REQUEST['idrouteend']; - $qry="select prices from ".DB_APORTIL.".tbl_price_information - where idroutestart='".$idroutestart."' and idrouteend='".$idrouteend."' and isdeleted=0 - order by id desc limit 1"; - //echo "failed|".$qry; - $price=0;$status="failed";$statuserr="Price not Found, Please contact your administrator"; - if($this->fn_row_isexists($qry)){ - $price=$this->fn_get_fieldvalue("prices",$qry); - $status="ok";$statuserr=""; - } - // === Price limit baggage - $qry="select prices from ".DB_APORTIL.".tbl_cargoprice_information - where idcategory=2 and idroutestart='$idroutestart' and idrouteend='$idrouteend' and isdeleted=0 - order by id desc limit 1"; - $pricebaggagelimit=0; - if($this->fn_row_isexists($qry)){ - $pricebaggagelimit=$this->fn_get_fieldvalue("prices",$qry); - } - // ==== Get Time Schedule - $qry="select scheduletime from ".DB_APORTIL.".tbl_routetime_information - where idroutestart='$idroutestart' and idrouteend='$idrouteend' and isdeleted=0 - order by id desc limit 1"; - $timeschedule=""; - if($this->fn_row_isexists($qry)){ - $timeschedule=$this->fn_get_fieldvalue("scheduletime",$qry); - } - echo "$status|$statuserr|$price|$pricebaggagelimit|$timeschedule"; - } - - public function fn_setbookseat(){ - $idship=$_REQUEST['idship']; - $bookingdate=$_REQUEST['bookingdate']; - $spship=$this->fn_get_fieldsvalues("shipnumber,shipname","select shipnumber,shipname from ".DB_APORTIL.".tbl_ship_information where id='$idship'"); - $shipnumber=$spship[0];$shipname=$spship[1]; - $seatnumber=$_REQUEST['seatnumber']; - $idroutestart=$_REQUEST['idroutestart']; - $routestart=$this->fn_get_fieldvalue("routename","select routename from ".DB_APORTIL.".tbl_route_information where id='$idroutestart'"); - $idrouteend=$_REQUEST['idrouteend']; - $routeend=$this->fn_get_fieldvalue("routename","select routename from ".DB_APORTIL.".tbl_route_information where id='$idrouteend'"); - $bookingdateend=date("Y-m-d H:i:s",strtotime("+15 minutes")); - - $qry="insert into ".DB_APORTIL.".tbl_ship_seatbooking - set idship='$idship',shipnumber='$shipnumber',shipname='$shipname',bookingdate='$bookingdate',bookingdateend='$bookingdateend', - seatnumber='$seatnumber',idroutestart='$idroutestart',routestart='$routestart',idrouteend='$idrouteend',routeend='$routeend', - status=0,iby='".$_SESSION['nik']."',idt=now()"; - $rtn="failed|Booking Failed please contact administrator!."; - if($this->executequery($qry)){ - $rtn="ok|"; - } - echo $rtn; - } - - public function fn_cancelseat(){ - $seatnumber=$_REQUEST['seatnumber']; - $bookingdate=$_REQUEST['bookingdate']; - $qry="update ".DB_APORTIL.".tbl_ship_seatbooking set status=-2,remark='Cancel Booking by ".$_SESSION['nik']."',uby='".$_SESSION['nik']."',udt=now() - where seatnumber='$seatnumber' and cast(bookingdate as date)=cast('$bookingdate' as date) and isdeleted=0"; - //echo "failed|$qry"; - if($this->executequery($qry)){ - echo "ok|success"; - }; - } - - public function fn_getseatnum(){ - $bookingdate=$_REQUEST['bookingdate']; - $idship=$_REQUEST['idship']; - $shipname=$_REQUEST['shipname']; - $seatnumber=$_REQUEST['seatnumber']; - $idroutestart=$_REQUEST['idroutestart']; - $routestart=$_REQUEST['routestart']; - $routeend=$_REQUEST['routeend']; - $idrouteend=$_REQUEST['idrouteend']; - echo $this->FN_CREATEHEADER(); - echo ""; - echo " - "; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); - echo "
                    - - - - - - - - - - - - - - - - -
                    Ship Name:".$shipname."
                    Route:".$routestart." to ".$routeend."
                    Booking Date:".$bookingdate."
                    -
                    "; - echo "
                    "; - echo ""; - echo " - - "; - echo "
                    -
                    - "; - // === SEAT Number - for($i=1;$i<=30;$i++){ - echo ""; - for($j=1;$j<=10;$j++) - { - $colors="#ecf0f1"; - echo ""; - if($j==5){ - echo ""; - } - } - echo ""; - } - echo "
                    "; - $qry="select id,status,iby from ".DB_APORTIL.".tbl_ship_seatbooking "; - $qry.="where seatnumber='".$i.".".chr(64+$j)."' and status>=0 and isdeleted=0 "; - $qry.="and cast(bookingdate as date)=cast('$bookingdate' as date) "; - $qry.="and idroutestart='$idroutestart' and idrouteend='$idrouteend' "; - $qry.="order by id asc limit 1"; - - $bookingidle="$i.".chr(64+$j).""; - if($this->fn_row_isexists($qry)){ - $bookingidle="".$i.".".chr(64+$j).""; - $colors="red"; - $sp=$this->fn_get_fieldsvalues("id,status,iby",$qry); - $id=$sp[0];$status=$sp[1];$iby=$sp[2]; - if($_SESSION['nik']==$iby){ - $bookingidle="".$i.".".chr(64+$j).""; - if($status==1){ - $bookingidle="".$i.".".chr(64+$j).""; - $colors="blue"; - } - else - { - if(($i.".".chr(64+$j)!=$seatnumber)){ - $bookingidle="".$i.".".chr(64+$j).""; - $colors="#e74c3c"; - - } - } - } - } - echo "
                    - $bookingidle -
                    "; - echo "
                     
                    -
                    -
                    -
                    "; - - echo $this->FN_CREATEFOOTER(); - } - - public function fn_getpic(){ - $picdata=$_REQUEST['picdata']; - if($picdata){unlink('uploads/temps/'.$picdata);} - - echo $this->FN_CREATEHEADER(); - echo ""; - echo ""; - echo " - "; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); -// echo "
                    -// -//
                    "; - echo " -
                    - -
                    -
                    "; - //echo ""; - echo $this->FN_CREATEFOOTER(); - - - } - } -?> \ No newline at end of file diff --git a/objectx/obj_tra/tra_newticket_20250305.php b/objectx/obj_tra/tra_newticket_20250305.php deleted file mode 100644 index 9ba47f2..0000000 --- a/objectx/obj_tra/tra_newticket_20250305.php +++ /dev/null @@ -1,1298 +0,0 @@ -dec($task);}} - - switch($task) - { - case "default": - $this->fn_default_newticket(); - break; - - case $task: - $task="fn_".$task; - if(method_exists($this,$task)){$this->$task();} - break; - - default: - $this->fn_default_newticket(); - break; - } - } - public function fn_default_newticket() - { - //for($i=1;$i<=30;$i++){ -// for($j=1;$j<=10;$j++) -// { -// $seat="$i.".chr(64+$j); -// $qry="insert into ".DB_APORTIL.".tbl_ship_seatnumber set idship=1,shipnumber='NAC-151',seatnumber='".$seat."',iby='82010',idt=now()"; -// $this->executequery($qry); -// } -// } - echo $this->FN_CREATEHEADER(); - - echo ""; - echo ""; - - echo ""; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); - - - echo "
                    "; - echo " - - - - - - -
                    "; - $qry="select filepdf from ".DB_APORTIL.".tbl_manualbook where isdeleted=0 and filepdf='passengerbooking_ticket.pdf'"; - $filepdf=$this->fn_get_fieldvalue("filepdf",$qry); - $urlmanualbook=" MANUAL BOOK"; - $url="location.reload();"; - $myuri=array("PASSENGER INFORMATION"=>"$url|id='a_newticket'","$urlmanualbook"=>"|id='a_manualbook'"); - echo $this->MULTIPLE_LINK($myuri); - echo "
                    -
                    - - - - - -
                    -
                    -
                    - - - - - - - - - - - - - - -
                    -
                    -
                    -
                    -
                    -
                    -
                    ".$this->CREATE_IMAGE("loadergrid.gif")."
                    - - - - - - -
                    Notes:- Click Row For Edit
                    -
                    -
                    -
                    -
                    -
                    "; - echo $this->FN_CREATEFOOTER(); - - } - - public function fn_grdrecord() - { - $keyword=$_REQUEST["keyword"]; - header("Content-type: text/xml"); - echo(''); - echo ""; - - $qry="select id,idship,tiketnumber,inctiket,shipname,shipnumber,passengername,picdata,dates,idroutestart,nationality, - routenamestart,idrouteend,routenameend,seatnumber,quantity,price,baggageinkg,pricebaggage,modifcount - from ".DB_APORTIL.".tbl_passenger_tiket - where (tiketnumber like '%$keyword%' or passengername like '%$keyword%') and isdeleted=0 and status=0 and iby='".$_SESSION['nik']."' - order by id desc limit ".TBL_PAGE_LIMIT; - - $rs=$this->selectquery($qry); - if($rs) - { - $i=1; - while($row=$this->data_row_array($rs)) - { - $color='black'; - if($row["modifcount"]>=2){$color='grey';} - echo (""); - //$print="<a href=\"javascript:void(0)\" title=\"Reprint Ticket Number ".$row["tiketnumber"]."\" style=\"text-decoration:none\" onClick=\"fn_printso('".$row["id"]."')\"/>"; - $print="<a href=\"javascript:void(0)\" title=\"Reprint Ticket Number ".$row["tiketnumber"]."\" style=\"text-decoration:none\" onClick=\"fn_printtra('".$row['tiketnumber']."','".$row['id']."')\"/>"; - $print.="<img src='themes/images/print.gif' />"; - $print.="<a/>"; - print(""); - print("$print"); - print("".$i.""."]]>"); - print("".$row["shipname"].""."]]>"); - print("".$row["tiketnumber"].""."]]>"); - print("".$row["inctiket"].""."]]>"); - print("".$row["shipnumber"].""."]]>"); - print("".$row["passengername"].""."]]>"); - print("".$row["picdata"].""."]]>"); - print("".date("Y-m-d H:i:s",strtotime($row["dates"])).""."]]>"); - print("".$row["routenamestart"].""."]]>"); - print("".$row["routenameend"].""."]]>"); - print("".$row["nationality"].""."]]>"); - print("".$row["quantity"].""."]]>"); - print(""."\$".$row["price"].""."]]>"); - print("".$row["baggageinkg"]." kg".""."]]>"); - print(""."\$".$row["pricebaggage"].""."]]>"); - echo (""); - $i+=1; - } - } - else - { - // echo mysql_errno().": ".mysql_error()." at ".__LINE__." line in ".__FILE__." file
                    "; - echo "error at ".__LINE__." line in ".__FILE__." file
                    "; - } - echo "
                    "; - - } - - public function fn_saverecord($isupdate=null) - { - $year=date("Y"); - if($isupdate){$id=$_REQUEST['txt_id'];} - $ipprintclient=$this->get_client_ip(); - $idship=$_REQUEST['cbo_idship']; - $sp=$this->fn_get_fieldsvalues("shipname,shipnumber","select shipname,shipnumber from ".DB_APORTIL.".tbl_ship_information where id='$idship'"); - $shipnumber=$sp[1];$shipname=$sp[0]; - $tiketnumber=$_REQUEST['txt_tiketnumber']; - $voynumber=$_REQUEST['txt_voynumber']; - $passengername=$_REQUEST['txt_passengername']; - $idgender=$_REQUEST['cbo_idgender']; - $gender=$this->fn_get_fieldvalue("gender","select gender from ".DB_APORTIL.".tbl_gender where id='$idgender'"); - $bod=$_REQUEST['txt_bod']; - $bodyears=$_REQUEST['txt_bodyears']; - $bodmonth=$_REQUEST['cbo_bodmonth']; - $bodday=$_REQUEST['cbo_bodday']; - $bod=$bodyears."-".$bodmonth."-".$bodday; - $idcardtype=$_REQUEST['cbo_idcardtype']; - $cardtype=$this->fn_get_fieldvalue("cardtype","select cardtype from ".DB_APORTIL.".tbl_passenger_identifycardtype where id='$idcardtype'"); - $cardnumber=$_REQUEST['txt_cardnumber']; - $nationality=$_REQUEST['txt_nationality']; - $picdata="aportildefault.png";//$_REQUEST['txt_picdata']; - $dates=$_REQUEST['txt_dates']; - $timeschedule=$_REQUEST['txt_timeschedule']; - $dates.=" ".$timeschedule; - $idroutestart=$_REQUEST['cbo_idroutestart']; - $routenamestart=$this->fn_get_fieldvalue("routename","select routename from ".DB_APORTIL.".tbl_route_information where id='$idroutestart'"); - $idrouteend=$_REQUEST['cbo_idrouteend']; - $routenameend=$this->fn_get_fieldvalue("routename","select routename from ".DB_APORTIL.".tbl_route_information where id='$idrouteend'"); - $spseat=explode("|",$this->fn_getseatnumber()); - $seatnumber=$spseat[1]; - //$seatnumber=$this->fn_getseatnumber(); - //echo "failed|".$spseat[0]." ".$spseat[1]; - //return false; - if((int)$spseat[1]>(int)$spseat[0]){ - echo "failed|Total Seat Exceded only ".$spseat[0]." Available"; - return false; - } - - $inctiket=0;$inctiketyear=0; - if(!$isupdate){ - $qry="select count(id) incnumber from ".DB_APORTIL.".tbl_passenger_tiket - where isdeleted=0 and years='$year' and status>=0"; - $inctiketyear=$this->fn_get_fieldvalue("incnumber",$qry); - $inctiketyear+=1; - - $qry="select count(id) incnumber from ".DB_APORTIL.".tbl_passenger_tiket - where idship='$idship' and isdeleted=0 and cast(dates as date)=cast(now() as date) and idroutestart='$idroutestart' and idrouteend='$idrouteend' and status>=0"; - $inctiket=$this->fn_get_fieldvalue("incnumber",$qry); - $inctiket+=1; - } - $quantity=$_REQUEST['txt_quantity']; - $price=$_REQUEST['txt_price']; - $baggageinkg=$_REQUEST['txt_baggageinkg']; - $limitbaggage=$_REQUEST['txt_limitbaggage']; - $overlimitbaggage=$_REQUEST['txt_overlimitbaggage']; - $priceoverinkg=$_REQUEST['txt_priceoverinkg']; - $pricebaggage=$_REQUEST['txt_pricebaggage']; - $totalprice=$_REQUEST['txt_totalprice']; - - $qry="insert into ".DB_APORTIL.".tbl_passenger_tiket - set idship='$idship',tiketnumber='$tiketnumber',voynumber='$voynumber',inctiket='$inctiket',inctiketyear='$inctiketyear',shipname='$shipname',shipnumber='$shipnumber',passengername='$passengername', - bod='$bod',idgender='$idgender',gender='$gender',idcardtype='$idcardtype',cardtype='$cardtype',cardnumber='$cardnumber',nationality='$nationality',picdata='$picdata',dates='$dates',idroutestart='$idroutestart', - routenamestart='$routenamestart',idrouteend='$idrouteend',routenameend='$routenameend',seatnumber='$seatnumber',quantity='1',price='$price',baggageinkg='$baggageinkg', - limitbaggage='$limitbaggage',overlimitbaggage='$overlimitbaggage',priceoverinkg='$priceoverinkg',pricebaggage='$pricebaggage',totalprice='$totalprice',years='$year',ipclient='$ipprintclient', - modifcount=2,status=0,iby='".$_SESSION['nik']."',idt=now()"; - if($isupdate) - { - $qry="update ".DB_APORTIL.".tbl_passenger_tiket - set idship='$idship',tiketnumber='$tiketnumber',voynumber='$voynumber',shipname='$shipname',shipnumber='$shipnumber',passengername='$passengername', - bod='$bod',idgender='$idgender',gender='$gender',idcardtype='$idcardtype',cardtype='$cardtype',cardnumber='$cardnumber',nationality='$nationality', - picdata='$picdata',dates='$dates',idroutestart='$idroutestart',routenamestart='$routenamestart',idrouteend='$idrouteend', - routenameend='$routenameend',quantity='1',price='$price',baggageinkg='$baggageinkg',limitbaggage='$limitbaggage',overlimitbaggage='$overlimitbaggage', - priceoverinkg='$priceoverinkg',pricebaggage='$pricebaggage',totalprice='$totalprice',years='$year',modifcount=modifcount+1,ipclient='$ipprintclient',uby='".$_SESSION['nik']."',udt=now() - where id='$id'"; - } - - if($this->executequery($qry)) - { - - if(!$isupdate){ - // $idpassengerticket=mysql_insert_id(); - // $qry="insert into ".DB_APORTIL.".tbl_passenger_tiket_log - // set idpassengerticket='$idpassengerticket',dates='".date("Y-m-d")."',status=0,remarkstatus='Submitted', - // iby='".$_SESSION['nik']."',idt=now()"; - // if($this->executequery($qry)){ - - // $rtn=$this->fn_printtra($idpassengerticket); - echo 'ok|'; - // } - } - else - { - echo "ok|";return true; - } - - } - } - - public function fn_updrecord(){$this->fn_saverecord(true);} - - public function fn_delrecord() - { - $id=$_REQUEST['txt_id']; - $remark=$_REQUEST['txtremark']; - $qry="update ".DB_APORTIL.".tbl_passenger_tiket - set isdeleted=1,remark='$remark',dby='".$_SESSION['nik']."',ddt=now() - where id='$id'"; - if($this->executequery($qry)){echo "ok|";return true;} - else - { - echo "failed|".$this->getErrorQuery(); - } - } - - public function fn_printtra($idtransaction=''){ - date_default_timezone_set("Asia/Bangkok"); - include("lib/mpdf/mpdf.php"); - $top=10; - // $mpdf = new mPDF('c', 'A4', '', '', 5, 5, $top, 10, 3, 3, 'P'); - $mpdf = new mPDF('utf-8', array(200,100) ,'', '', 5, 5, 5); - $mpdf->SetDisplayMode('fullpage'); - $tiketnumber=$_REQUEST['tiketnumber']; - - // LOAD a stylesheet - $stylesheet = file_get_contents('lib/mpdf/css/mpdfstyleA4.css'); - - $html="
                    "; - $html.="
                    ".str_repeat(" ",6)."$tiketnumber
                    "; - $html.="
                    "; - $html.="
                    "; - - $qry="select * from ".DB_APORTIL.".tbl_passenger_tiket where id='".$_REQUEST['idtransaction']."' and isdeleted=0"; - $rs=$this->selectquery($qry); - $rw=$this->data_row_array($rs); - $html.=""; - $html.=""; - $html.=" "; - $html.=""; - $html.=""; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=""; - $html.=""; - $html.=" "; - $html.=" "; - $html.=" "; - - $html.=" "; - $html.=" "; - $destination=$rw['routenamestart']."-".$rw['routenameend']; - $html.=" "; - - $html.=""; - $html.=""; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - - $html.=""; - $html.=""; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - $html.=" "; - - $html.=""; - $html.=""; - $html.=" "; - $html.=""; - $html.=""; - $html.=" "; - $html.=""; - $html.="
                    TICKET ".$rw['shipname']."
                    Nome:".$rw['passengername']."
                    Voy:".$rw['voynumber']."Destino:".$destination."
                    Data:".date("d/m/Y H:i:s a",strtotime($rw['dates']))."No. Cadeira:".$rw['seatnumber']."
                    Preco:US$ ".$rw['totalprice']."
                    -- BOARDING PASS --
                    Nota : O bilhete que já foram comprados não podem ser cancelados
                    "; - - - $mpdf->WriteHTML($html); - - // $secureofletter=$this->enc("ticket_".$tiketnumber."_".date("His")); - // $mpdf->setFooter('{PAGENO} of {nbpg} pages || Secure ID : '.$secureofletter) ; - - $mpdf->output(); - } - - public function fn_printtraold($idtransaction='') - { - $tiketnumber=$_REQUEST['txt_tiketnumber']; - if(!$idtransaction){ - $idtransaction=$_REQUEST['idtransaction']; - } - $ipprintclient=$this->get_client_ip(); - $qry="insert into ".DB_APORTIL.".tbl_printjob - set idtransaction='$idtransaction',ipprintclient='$ipprintclient',idemployee='".$_SESSION['idemployee']."',nik='".$_SESSION['nik']."', - employeename='".$_SESSION['employeename']."',jobgroup='TIC',jobremark='$tiketnumber',iby='".$_SESSION['nik']."',idt=now()"; - $qrychk="select id from ".DB_APORTIL.".tbl_printjob where ipprintclient='$ipprintclient' order by id desc limit 1"; - //echo $qry; - if($this->fn_row_isexists($qrychk)) - { - $id=$this->fn_get_fieldvalue("id",$qrychk); - $qry="update ".DB_APORTIL.".tbl_printjob - set idtransaction='$idtransaction',ipprintclient='$ipprintclient',idemployee='".$_SESSION['idemployee']."',nik='".$_SESSION['nik']."', - employeename='".$_SESSION['employeename']."',jobgroup='TIC',jobremark='$tiketnumber',uby='".$_SESSION['nik']."',udt=now() - where id='$id'"; - } - - $rtn="failed|Print Tiket $tiketnumber failed, please contact your administrator. Thank you"; - if($this->executequery($qry)) - { - $qry="update ".DB_APORTIL.".tbl_passenger_tiket set isprint=1,printeddate=now() where id='$idtransaction'"; - if($this->executequery($qry)){ - $rtn="ok|"; - } - - } - echo $rtn; - return $rtn; - } - - - public function fn_getseatnumber(){ - $idship=$_REQUEST['cbo_idship']; - $dates=$_REQUEST['txt_dates']; - $idroutestart=$_REQUEST['cbo_idroutestart']; - $idrouteend=$_REQUEST['cbo_idrouteend']; - - $qry="select totalseat from ".DB_APORTIL.".tbl_ship_information where id='$idship'"; - $totalseat=$this->fn_get_fieldvalue("totalseat",$qry); - $qry="select count(id) total from ".DB_APORTIL.".tbl_passenger_tiket "; - $qry.="where idship='$idship' and idroutestart='$idroutestart' and idrouteend='$idrouteend' "; - $qry.="and cast(dates as date)=cast('$dates' as date) and isdeleted=0 "; - - $lasttiket=0; - if($this->fn_row_isexists($qry)) - { - $lasttiket=$this->fn_get_fieldvalue("total",$qry); - } - $lasttiket+=1; - - return $totalseat."|".$lasttiket; - } - - public function fn_getticket(){ - $valticket=""; - for($i=1;$i<=8;$i++){ - $valticket.=rand(0,9); - } - $sql="select tiketnumber from ".DB_APORTIL.".tbl_passenger_tiket where tiketnumber='".$tiketnumber."' order by id desc limit 1"; - if($this->fn_row_isexists($sql)){ - $this->fn_getticket(); - } - return $valticket; - } - public function fn_getheaderinfo(){ - $idship=$_REQUEST['idship']; - $tiketnumber=$this->fn_getticket(); - echo "ok|".$tiketnumber; - } - - public function fn_getprice(){ - $idroutestart=$_REQUEST['idroutestart']; - $idrouteend=$_REQUEST['idrouteend']; - $qry="select prices from ".DB_APORTIL.".tbl_price_information - where idroutestart='".$idroutestart."' and idrouteend='".$idrouteend."' and isdeleted=0 - order by id desc limit 1"; - //echo "failed|".$qry; - $price=0;$status="failed";$statuserr="Price not Found, Please contact your administrator"; - if($this->fn_row_isexists($qry)){ - $price=$this->fn_get_fieldvalue("prices",$qry); - $status="ok";$statuserr=""; - } - // === Price limit baggage - $qry="select prices from ".DB_APORTIL.".tbl_cargoprice_information - where idcategory=2 and idroutestart='$idroutestart' and idrouteend='$idrouteend' and isdeleted=0 - order by id desc limit 1"; - $pricebaggagelimit=0; - if($this->fn_row_isexists($qry)){ - $pricebaggagelimit=$this->fn_get_fieldvalue("prices",$qry); - } - // ==== Get Time Schedule - $qry="select scheduletime from ".DB_APORTIL.".tbl_routetime_information - where idroutestart='$idroutestart' and idrouteend='$idrouteend' and isdeleted=0 - order by id desc limit 1"; - $timeschedule=""; - if($this->fn_row_isexists($qry)){ - $timeschedule=$this->fn_get_fieldvalue("scheduletime",$qry); - } - echo "$status|$statuserr|$price|$pricebaggagelimit|$timeschedule"; - } - - public function fn_setbookseat(){ - $idship=$_REQUEST['idship']; - $bookingdate=$_REQUEST['bookingdate']; - $spship=$this->fn_get_fieldsvalues("shipnumber,shipname","select shipnumber,shipname from ".DB_APORTIL.".tbl_ship_information where id='$idship'"); - $shipnumber=$spship[0];$shipname=$spship[1]; - $seatnumber=$_REQUEST['seatnumber']; - $idroutestart=$_REQUEST['idroutestart']; - $routestart=$this->fn_get_fieldvalue("routename","select routename from ".DB_APORTIL.".tbl_route_information where id='$idroutestart'"); - $idrouteend=$_REQUEST['idrouteend']; - $routeend=$this->fn_get_fieldvalue("routename","select routename from ".DB_APORTIL.".tbl_route_information where id='$idrouteend'"); - $bookingdateend=date("Y-m-d H:i:s",strtotime("+15 minutes")); - - $qry="insert into ".DB_APORTIL.".tbl_ship_seatbooking - set idship='$idship',shipnumber='$shipnumber',shipname='$shipname',bookingdate='$bookingdate',bookingdateend='$bookingdateend', - seatnumber='$seatnumber',idroutestart='$idroutestart',routestart='$routestart',idrouteend='$idrouteend',routeend='$routeend', - status=0,iby='".$_SESSION['nik']."',idt=now()"; - $rtn="failed|Booking Failed please contact administrator!."; - if($this->executequery($qry)){ - $rtn="ok|"; - } - echo $rtn; - } - - public function fn_cancelseat(){ - $seatnumber=$_REQUEST['seatnumber']; - $bookingdate=$_REQUEST['bookingdate']; - $qry="update ".DB_APORTIL.".tbl_ship_seatbooking set status=-2,remark='Cancel Booking by ".$_SESSION['nik']."',uby='".$_SESSION['nik']."',udt=now() - where seatnumber='$seatnumber' and cast(bookingdate as date)=cast('$bookingdate' as date) and isdeleted=0"; - //echo "failed|$qry"; - if($this->executequery($qry)){ - echo "ok|success"; - }; - } - - public function fn_getseatnum(){ - $bookingdate=$_REQUEST['bookingdate']; - $idship=$_REQUEST['idship']; - $shipname=$_REQUEST['shipname']; - $seatnumber=$_REQUEST['seatnumber']; - $idroutestart=$_REQUEST['idroutestart']; - $routestart=$_REQUEST['routestart']; - $routeend=$_REQUEST['routeend']; - $idrouteend=$_REQUEST['idrouteend']; - echo $this->FN_CREATEHEADER(); - echo ""; - echo " - "; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); - echo "
                    - - - - - - - - - - - - - - - - -
                    Ship Name:".$shipname."
                    Route:".$routestart." to ".$routeend."
                    Booking Date:".$bookingdate."
                    -
                    "; - echo "
                    "; - echo ""; - echo " - - "; - echo "
                    -
                    - "; - // === SEAT Number - for($i=1;$i<=30;$i++){ - echo ""; - for($j=1;$j<=10;$j++) - { - $colors="#ecf0f1"; - echo ""; - if($j==5){ - echo ""; - } - } - echo ""; - } - echo "
                    "; - $qry="select id,status,iby from ".DB_APORTIL.".tbl_ship_seatbooking "; - $qry.="where seatnumber='".$i.".".chr(64+$j)."' and status>=0 and isdeleted=0 "; - $qry.="and cast(bookingdate as date)=cast('$bookingdate' as date) "; - $qry.="and idroutestart='$idroutestart' and idrouteend='$idrouteend' "; - $qry.="order by id asc limit 1"; - - $bookingidle="$i.".chr(64+$j).""; - if($this->fn_row_isexists($qry)){ - $bookingidle="".$i.".".chr(64+$j).""; - $colors="red"; - $sp=$this->fn_get_fieldsvalues("id,status,iby",$qry); - $id=$sp[0];$status=$sp[1];$iby=$sp[2]; - if($_SESSION['nik']==$iby){ - $bookingidle="".$i.".".chr(64+$j).""; - if($status==1){ - $bookingidle="".$i.".".chr(64+$j).""; - $colors="blue"; - } - else - { - if(($i.".".chr(64+$j)!=$seatnumber)){ - $bookingidle="".$i.".".chr(64+$j).""; - $colors="#e74c3c"; - - } - } - } - } - echo "
                    - $bookingidle -
                    "; - echo "
                     
                    -
                    -
                    -
                    "; - - echo $this->FN_CREATEFOOTER(); - } - - public function fn_getpic(){ - $picdata=$_REQUEST['picdata']; - if($picdata){unlink('uploads/temps/'.$picdata);} - - echo $this->FN_CREATEHEADER(); - echo ""; - echo ""; - echo " - "; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); -// echo "
                    -// -//
                    "; - echo " -
                    - -
                    -
                    "; - //echo ""; - echo $this->FN_CREATEFOOTER(); - - - } - } -?> \ No newline at end of file diff --git a/objectx/obj_tra/tra_newticket_tabs.php b/objectx/obj_tra/tra_newticket_tabs.php deleted file mode 100644 index 1fef989..0000000 --- a/objectx/obj_tra/tra_newticket_tabs.php +++ /dev/null @@ -1,67 +0,0 @@ -dec($task);}} - - switch($task) - { - case "default": - $this->fn_default_newticket(); - break; - - case $task: - $task="fn_".$task; - if(method_exists($this,$task)){$this->$task();} - break; - - default: - $this->fn_default_newticket(); - break; - } - } - public function fn_default_newticket() - { - echo $this->FN_CREATEHEADER(); - - echo ""; - echo ""; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); - - echo "
                    -
                    -
                    -
                    "; - echo $this->FN_CREATEFOOTER(); - - } - } -?> \ No newline at end of file diff --git a/objectx/obj_tra/tra_newticketc.php b/objectx/obj_tra/tra_newticketc.php deleted file mode 100644 index 50e55be..0000000 --- a/objectx/obj_tra/tra_newticketc.php +++ /dev/null @@ -1,313 +0,0 @@ -dec($task);}} - - switch($task) - { - case "default": - $this->fn_default_newticketc(); - break; - - case $task: - $task="fn_".$task; - if(method_exists($this,$task)){$this->$task();} - break; - - default: - $this->fn_default_newticketc(); - break; - } - } - - public function fn_default_newticketc() - { - echo $this->FN_CREATEHEADER(); - $tiketnumber=$_REQUEST['tiketnumber']; - $childspassenger=$_REQUEST['childspassenger']; - $idtiketpassenger=$this->fn_get_fieldvalue("id","select id from ".DB_APORTIL.".tbl_passenger_tiket where tiketnumber='$tiketnumber'"); - echo ""; - echo ""; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); - - echo " - - - - - - - - - - - - - - - - -
                    -
                    -
                    - ".$this->CREATE_LINK('window.location.reload();','REFRESH','javascript:void(0)','_self','','','','')." -
                    -
                    -
                    -
                    -
                    ".$this->CREATE_IMAGE("loadergrid.gif")."
                    - - - - - - -
                    Notes:- Double click row for edit
                    -
                    "; - - echo $this->FN_CREATEFOOTER(); - - } - - public function fn_grdrecord() - { - $idtiketpassenger=$_REQUEST["idtiketpassenger"]; - header("Content-type: text/xml"); - echo(''); - echo ""; - - $qry="select * from ".DB_APORTIL.".tbl_passenger_childs - where idtiketpassenger='$idtiketpassenger' and isdeleted=0 - order by id asc limit ".TBL_PAGE_LIMIT; - - $rs=$this->selectquery($qry); - if($rs) - { - $i=1; - while($row=$this->data_row_array($rs)) - { - echo (""); - print(""); - print(""); - print(""."]]>"); - print(""); - print(""."]]>"); - print(""."]]>"); - print(""."]]>"); - echo (""); - $i+=1; - } - } - else - { - // echo mysql_errno().": ".mysql_error()." at ".__LINE__." line in ".__FILE__." file
                    "; - echo "error at ".__LINE__." line in ".__FILE__." file
                    "; - } - echo "
                    "; - - } - - public function fn_delchilds(){ - $id=$_REQUEST['id']; - $qry="update ".DB_APORTIL.".tbl_passenger_childs set isdeleted=1,remarkdeleted='Cancel by user ',dby='".$_SESSION['nik']."',ddt=now() - where id='$id'"; - if($this->executequery($qry)){ - echo "ok|"; - } - else{ - echo "failed|Failed remove child"; - } - - } - - } -?> \ No newline at end of file diff --git a/objectx/obj_uam/uam.html.php b/objectx/obj_uam/uam.html.php deleted file mode 100644 index 7f34a8f..0000000 --- a/objectx/obj_uam/uam.html.php +++ /dev/null @@ -1,27 +0,0 @@ - \ No newline at end of file diff --git a/objectx/obj_uam/uam.php b/objectx/obj_uam/uam.php deleted file mode 100644 index c3fd18a..0000000 --- a/objectx/obj_uam/uam.php +++ /dev/null @@ -1,39 +0,0 @@ -dec($case);$obj=$cl->dec($obj);}} - - if(file_exists(PATH_OBJECT."/$option/$obj.php")) - { - require_once("$obj.php"); - $className=strtoupper($obj); - $clfile=new $className(); - $fn_init_java=$className."_javainit"; - $init_java=trim($_REQUEST['init_java']);if($init_java){$clfile->$fn_init_java();} - - $case=$obj; - } - - if(!$case){$case=$obj;if(!file_exists(PATH_OBJECT."/$option/$obj.php")){$cl->under_construction();}} - $sptask=explode("_",$case);$modulename=$sptask[1];$fn_module_init="fn_".$modulename."_init"; - - switch($case) - { - case "uam_$modulename": - $clfile->$fn_module_init(); - break; - } - -?> \ No newline at end of file diff --git a/objectx/obj_uam/uam_access.php b/objectx/obj_uam/uam_access.php deleted file mode 100644 index dc26816..0000000 --- a/objectx/obj_uam/uam_access.php +++ /dev/null @@ -1,431 +0,0 @@ -dec($task);}} - - switch($task) - { - case "default": - $this->fn_default_access(); - break; - - case $task: - $task="fn_".$task; - if(method_exists($this,$task)){$this->$task();} - break; - - default: - $this->fn_default_access(); - break; - } - } - public function fn_default_access() - { - echo $this->FN_CREATEHEADER(); -// echo ""; - echo ""; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); - echo " - - - - - - - - - - - -
                    -
                    -
                    -
                    -
                    -
                    -
                    "; - echo $this->FN_CREATEFOOTER(); - } - - public function fn_updatemenuid() - { - $id=$_REQUEST['idnik']; - $spemp=$this->fn_get_fieldsvalues("nik,employeename,msisdn","select nik,employeename,msisdn from ".DB_APORTIL.".tbl_employee where id='$id'"); - $nik=$spemp[0];$fullname=$spemp[1];$msisdn=$spemp[2]; - $menuid=$_REQUEST['menuid'];//echo $menutype;return true; - $tipemenu=$_REQUEST['tipemenu'];//echo $menutype;return true; - $idgroupproject=""; - - $qry="select distinct id_menu_groupproject from ".DB_APORTIL.".tbl_treemenu where id in($menuid) order by id_menu_groupproject asc"; - $rs=$this->selectquery($qry); - if($rs) - { - while($rw=$this->data_row_object($rs)) - { - $idgroupproject.=$rw->id_menu_groupproject.","; - } - $idgroupproject=substr($idgroupproject,0,strlen($idgroupproject)-1); - } - $this->clearrecordset($rs); - - $qry="insert into ".DB_APORTIL.".tbl_employee_accessibility - set nik='$nik',employeename='$fullname',msisdn='$msisdn',pass='".$this->enc("1234")."',maskpass='1234', - menuidgroupproject='$idgroupproject',treemenuid='$menuid',idgroupuser='1',groupuser='ALL',isactivated=1, - iby='".$_SESSION['nik']."',idt=now()"; - $qrychk="select id from ".DB_APORTIL.".tbl_employee_accessibility where nik='$nik'"; - if($this->fn_row_isexists($qrychk)) - { - $id=$this->fn_get_fieldvalue("id",$qrychk); - $qry="update ".DB_APORTIL.".tbl_employee_accessibility - set menuidgroupproject='$idgroupproject',".$tipemenu."menuid='$menuid',uby='".$_SESSION['nik']."',udt=now() - where id='$id'"; - } - //echo "failed|$qry";return false; - if($this->executequery($qry)) - { - echo 'ok|'; - //$msg="Menu baru ".strtoupper("$nmuser")." sudah berhasil ditambahkan
                    "; - //$msg.="Klik ".$this->CREATE_LINK($this->fn_url_home(),"disini","javascript:void(0)","_self","Penambahan Menu Baru"); - //$msg.=" untuk Penambahan Menu Baru. TERIMA KASIH"; - //echo $this->SHOWMESSAGE($msg); - }else{echo "failed|".$this->getErrorQuery();} - } - - public function fn_loadmenu() - { - $id=$_REQUEST["idnik"]; - $nik=$this->fn_get_fieldvalue("nik","select nik from ".DB_APORTIL.".tbl_employee where id='$id'"); - $tipemenu=$_REQUEST["tipemenu"]; - //$idgroupproject=$_REQUEST["idgroupproject"]; - $sp=$this->fn_get_fieldsvalues("menuidgroupproject,groupuser","select menuidgroupproject,groupuser from ".DB_APORTIL.".tbl_employee_accessibility where nik='$nik'"); - //echo "select menuidgroupproject,groupuser from ".DB_APORTIL.".tbl_employee_accessibility where nik='$nik'";return false; - $menuidgroupproject=$sp[0];$groupuser=$sp[1]; - //include XML Header (as response will be in xml format) - header("Content-type: text/xml"); - //encoding may be different in your case - echo(''); - //start output of data - echo ""; - //if(!$menuidgroupproject){$menuidgroupproject=0;} - $swhere=""; - if($menuidgroupproject) - { - $swhere="and t.id_menu_groupproject in($menuidgroupproject)"; - } - //if($idgroupproject){$swhere="and t.id_menu_groupproject='$idgroupproject'";} - //if($nik=='82010'||$groupuser=='SU'&&!$idgroupproject){$swhere="";} - - $qry="select t.id,t.menutype,t.menutext,t.menudesc,0 ischecked,m.groupname - from ".DB_APORTIL.".tbl_".$tipemenu."menu t inner join ".DB_APORTIL.".tbl_menu_groupproject m on m.id=t.id_menu_groupproject - where t.isdeleted=0 and t.menuactivated=1 $swhere - order by t.id asc limit ".TBL_PAGE_LIMIT; - echo $qry; - $rs=$this->selectquery($qry); - if($rs) - { - $i=1; - while($row=$this->data_row_array($rs)) - { - //create xml tag for grid's row - echo (""); - print(""); - print(""); - print(""); - print(""); - print(""); - print(""); - echo (""); - $i+=1; - } - } - else - { - //error occurs - echo mysql_errno().": ".mysql_error()." at ".__LINE__." line in ".__FILE__." file
                    "; - } - echo "
                    "; - - } - - public function fn_getnik() - { - $nik=$_REQUEST["nik"]; - $getnik=$this->fn_get_fieldvalue("nik","select nik from ".DB_APORTIL.".tbl_employee_accessibility where nik='$nik' and isdeleted=0"); - echo $getnik; - } - - public function fn_getmenuid() - { - $id=$_REQUEST["idnik"]; - $nik=$this->fn_get_fieldvalue("nik","select nik from ".DB_APORTIL.".tbl_employee where id='$id'"); - $tipemenu=$_REQUEST["tipemenu"]; - $menuid=$this->fn_get_fieldvalue($tipemenu."menuid","select ".$tipemenu."menuid from ".DB_APORTIL.".tbl_employee_accessibility where nik='$nik'"); - echo $menuid; - - } - } -?> \ No newline at end of file diff --git a/objectx/obj_uam/uam_appr.php b/objectx/obj_uam/uam_appr.php deleted file mode 100644 index f64db13..0000000 --- a/objectx/obj_uam/uam_appr.php +++ /dev/null @@ -1,59 +0,0 @@ -dec($task);}} - - switch($task) - { - case "default": - $this->fn_default_appr(); - break; - - case $task: - $task="fn_".$task; - if(method_exists($this,$task)){$this->$task();} - break; - - default: - $this->fn_default_appr(); - break; - } - } - public function fn_default_appr() - { - echo $this->FN_CREATEHEADER(); - - echo ""; - echo ""; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); - - echo $this->FN_CREATEFOOTER(); - - } - } -?> \ No newline at end of file diff --git a/objectx/obj_uam/uam_manguide.php b/objectx/obj_uam/uam_manguide.php deleted file mode 100644 index c23a286..0000000 --- a/objectx/obj_uam/uam_manguide.php +++ /dev/null @@ -1,60 +0,0 @@ -dec($task);}} - - switch($task) - { - case "default": - $this->fn_default_manguide(); - break; - - case $task: - $task="fn_".$task; - if(method_exists($this,$task)){$this->$task();} - break; - - default: - $this->fn_default_manguide(); - break; - } - } - public function fn_default_manguide() - { - echo $this->FN_CREATEHEADER(); - - echo ""; - echo ""; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); - - echo "Your Module is still underconstruction."; - echo $this->FN_CREATEFOOTER(); - - } - } -?> \ No newline at end of file diff --git a/objectx/obj_uam/uam_request.php b/objectx/obj_uam/uam_request.php deleted file mode 100644 index f7a7d11..0000000 --- a/objectx/obj_uam/uam_request.php +++ /dev/null @@ -1,59 +0,0 @@ -dec($task);}} - - switch($task) - { - case "default": - $this->fn_default_request(); - break; - - case $task: - $task="fn_".$task; - if(method_exists($this,$task)){$this->$task();} - break; - - default: - $this->fn_default_request(); - break; - } - } - public function fn_default_request() - { - echo $this->FN_CREATEHEADER(); - - echo ""; - echo ""; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); - - echo $this->FN_CREATEFOOTER(); - - } - } -?> \ No newline at end of file diff --git a/objectx/obj_uar/uar.html.php b/objectx/obj_uar/uar.html.php deleted file mode 100644 index 16aec8f..0000000 --- a/objectx/obj_uar/uar.html.php +++ /dev/null @@ -1,27 +0,0 @@ - \ No newline at end of file diff --git a/objectx/obj_uar/uar.php b/objectx/obj_uar/uar.php deleted file mode 100644 index fdbf023..0000000 --- a/objectx/obj_uar/uar.php +++ /dev/null @@ -1,39 +0,0 @@ -dec($case);$obj=$cl->dec($obj);}} - - if(file_exists(PATH_OBJECT."/$option/$obj.php")) - { - require_once("$obj.php"); - $className=strtoupper($obj); - $clfile=new $className(); - $fn_init_java=$className."_javainit"; - $init_java=trim($_REQUEST['init_java']);if($init_java){$clfile->$fn_init_java();} - - $case=$obj; - } - - if(!$case){$case=$obj;if(!file_exists(PATH_OBJECT."/$option/$obj.php")){$cl->under_construction();}} - $sptask=explode("_",$case);$modulename=$sptask[1];$fn_module_init="fn_".$modulename."_init"; - - switch($case) - { - case "uar_$modulename": - $clfile->$fn_module_init(); - break; - } - -?> \ No newline at end of file diff --git a/objectx/obj_uar/uar_history.php b/objectx/obj_uar/uar_history.php deleted file mode 100644 index 9045305..0000000 --- a/objectx/obj_uar/uar_history.php +++ /dev/null @@ -1,59 +0,0 @@ -dec($task);}} - - switch($task) - { - case "default": - $this->fn_default_history(); - break; - - case $task: - $task="fn_".$task; - if(method_exists($this,$task)){$this->$task();} - break; - - default: - $this->fn_default_history(); - break; - } - } - public function fn_default_history() - { - echo $this->FN_CREATEHEADER(); - - echo ""; - echo ""; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); - - echo $this->FN_CREATEFOOTER(); - - } - } -?> \ No newline at end of file diff --git a/objectx/obj_uar/uar_monitor.php b/objectx/obj_uar/uar_monitor.php deleted file mode 100644 index 1c9c766..0000000 --- a/objectx/obj_uar/uar_monitor.php +++ /dev/null @@ -1,59 +0,0 @@ -dec($task);}} - - switch($task) - { - case "default": - $this->fn_default_monitor(); - break; - - case $task: - $task="fn_".$task; - if(method_exists($this,$task)){$this->$task();} - break; - - default: - $this->fn_default_monitor(); - break; - } - } - public function fn_default_monitor() - { - echo $this->FN_CREATEHEADER(); - - echo ""; - echo ""; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); - - echo $this->FN_CREATEFOOTER(); - - } - } -?> \ No newline at end of file diff --git a/objectx/obj_uar/uar_trend.php b/objectx/obj_uar/uar_trend.php deleted file mode 100644 index 01576ad..0000000 --- a/objectx/obj_uar/uar_trend.php +++ /dev/null @@ -1,59 +0,0 @@ -dec($task);}} - - switch($task) - { - case "default": - $this->fn_default_trend(); - break; - - case $task: - $task="fn_".$task; - if(method_exists($this,$task)){$this->$task();} - break; - - default: - $this->fn_default_trend(); - break; - } - } - public function fn_default_trend() - { - echo $this->FN_CREATEHEADER(); - - echo ""; - echo ""; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); - - echo $this->FN_CREATEFOOTER(); - - } - } -?> \ No newline at end of file diff --git a/objectx/obj_user/user.html.php b/objectx/obj_user/user.html.php deleted file mode 100644 index c069229..0000000 --- a/objectx/obj_user/user.html.php +++ /dev/null @@ -1,27 +0,0 @@ - \ No newline at end of file diff --git a/objectx/obj_user/user.php b/objectx/obj_user/user.php deleted file mode 100644 index e92b254..0000000 --- a/objectx/obj_user/user.php +++ /dev/null @@ -1,59 +0,0 @@ -dec($case);$obj=$cl->dec($obj);}} - - if(file_exists(PATH_OBJECT."/$option/$obj.php")) - { - require_once("$obj.php"); - $className=strtoupper($obj); - $clfile=new $className(); - $fn_init_java=$className."_javainit"; - $init_java=trim($_REQUEST['init_java']);if($init_java){$clfile->$fn_init_java();} - - $case=$obj; - } - - if(!$case){$case=$obj;if(!file_exists(PATH_OBJECT."/$option/$obj.php")){$cl->under_construction();}} - $sptask=explode("_",$case);$modulename=$sptask[1];$fn_module_init="fn_".$modulename."_init"; - - //echo $case; - switch($case) - { - case "user_$modulename": - $clfile->$fn_module_init(); - break; - - case "contextmenu": - $cl->FN_DHTMLXGRIDCONTEXTMENU(); - break; - - case "addcombo": - $cl->FN_DHTMLXADDCOMBO(); - break; - - case "addcombohrm": - $cl->FN_DHTMLXADDCOMBO(DB_SIMASHRM); - break; -// case "pagehome": -// $cl->fn_page_home(); -// break; - -// default: -// $cl->fn_page_default(); -// break; - } - -?> \ No newline at end of file diff --git a/objectx/obj_user/user_auth.php b/objectx/obj_user/user_auth.php deleted file mode 100644 index 900c49a..0000000 --- a/objectx/obj_user/user_auth.php +++ /dev/null @@ -1,330 +0,0 @@ -dec($task);}} - switch($task) - { - case "default": - $this->fn_default_auth(); - break; - - case $task: - $task="fn_".$task; - if(method_exists($this,$task)){$this->$task();} - break; - - default: - $this->fn_default_auth(); - break; - } - } - - public function fn_default_auth() - { - echo $this->FN_CREATEHEADER(); -// echo ""; - echo ""; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); - echo " - - - - - - - - - -
                    -
                    -
                    -
                    -
                    -
                    -
                    "; - echo $this->FN_CREATEFOOTER(); - } - - public function fn_updatemenuid() - { - $id=$_REQUEST['idnik']; - $menuid=$_REQUEST['menuid'];//echo $menutype;return true; - $tipemenu=$_REQUEST['tipemenu'];//echo $menutype;return true; - //return false; - $qry="update ".DB_APORTIL.".tbl_employee_accessibility - set ".$tipemenu."menuid='$menuid',uby='".$_SESSION['nik']."',udt=now() - where id='$id'"; - if($this->executequery($qry)) - { - echo 'ok|'; - //$msg="Menu baru ".strtoupper("$nmuser")." sudah berhasil ditambahkan
                    "; - //$msg.="Klik ".$this->CREATE_LINK($this->fn_url_home(),"disini","javascript:void(0)","_self","Penambahan Menu Baru"); - //$msg.=" untuk Penambahan Menu Baru. TERIMA KASIH"; - //echo $this->SHOWMESSAGE($msg); - }else{echo "failed|".$this->getErrorQuery();} - } - - public function fn_loadmenu() - { - $id=$_REQUEST["idnik"]; - $tipemenu=$_REQUEST["tipemenu"]; - $idgroupproject=$_REQUEST["idgroupproject"]; - $sp=$this->fn_get_fieldsvalues("menuidgroupproject,groupuser","select menuidgroupproject,groupuser from ".DB_APORTIL.".tbl_employee_accessibility where id='$id'"); - //echo "select menuidgroupproject,groupuser from ".DB_APORTIL.".tbl_employee_accessibility where nik='$nik'";return false; - $menuidgroupproject=$sp[0];$groupuser=$sp[1]; - //include XML Header (as response will be in xml format) - header("Content-type: text/xml"); - //encoding may be different in your case - echo(''); - //start output of data - echo ""; - //if(!$menuidgroupproject){$menuidgroupproject=0;} - if(!$menuidgroupproject){$menuidgroupproject=0;} - $swhere="and t.id_menu_groupproject in($menuidgroupproject)"; - if($idgroupproject){$swhere="and t.id_menu_groupproject='$idgroupproject'";} - if($nik=='9999'||$nik=='9292'||$groupuser=='SU'&&!$idgroupproject){$swhere="";} - - $qry="select t.id,t.menutype,t.menutext,t.menudesc,0 ischecked,m.groupname - from ".DB_APORTIL.".tbl_".$tipemenu."menu t inner join ".DB_APORTIL.".tbl_menu_groupproject m on m.id=t.id_menu_groupproject - where t.isdeleted=0 and t.menuactivated=1 $swhere - order by t.id asc limit ".TBL_PAGE_LIMIT; - //echo $qry; - $rs=$this->selectquery($qry); - if($rs) - { - $i=1; - while($row=$this->data_row_array($rs)) - { - //create xml tag for grid's row - echo (""); - print(""); - print(""); - print(""); - print(""); - print(""); - print(""); - echo (""); - $i+=1; - } - } - else - { - //error occurs - echo mysql_errno().": ".mysql_error()." at ".__LINE__." line in ".__FILE__." file
                    "; - } - echo "
                    "; - - } - - public function fn_getnik() - { - $nik=$_REQUEST["nik"]; - $getnik=$this->fn_get_fieldvalue("nik","select nik from ".DB_APORTIL.".tbl_employee_accessibility where nik='$nik' and isdeleted=0"); - echo $getnik; - } - - public function fn_getmenuid() - { - $id=$_REQUEST["idnik"]; - $tipemenu=$_REQUEST["tipemenu"]; - $menuid=$this->fn_get_fieldvalue($tipemenu."menuid","select ".$tipemenu."menuid from ".DB_APORTIL.".tbl_employee_accessibility where id='$id'"); - echo $menuid; - - } - } - -?> diff --git a/objectx/obj_user/user_auth1.php b/objectx/obj_user/user_auth1.php deleted file mode 100644 index 4f98dd1..0000000 --- a/objectx/obj_user/user_auth1.php +++ /dev/null @@ -1,28 +0,0 @@ -fn_default_auth1(); - break; - } - } - public function fn_default_auth1() - { - } - } -?> \ No newline at end of file diff --git a/objectx/obj_user/user_auth_2015_01_26.php b/objectx/obj_user/user_auth_2015_01_26.php deleted file mode 100644 index 18f3816..0000000 --- a/objectx/obj_user/user_auth_2015_01_26.php +++ /dev/null @@ -1,320 +0,0 @@ -fn_updatemenuid(); - break; - - case "loadmenu": - $this->fn_loadmenu(); - break; - - case "getmenuid": - $this->fn_getmenuid(); - break; - - case "getkduser": - $this->fn_getkduser(); - break; - - default: - $this->fn_default_auth(); - break; - } - } - - public function fn_default_auth() - { - echo $this->FN_CREATEHEADER(); -// echo ""; - echo ""; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY(); - echo " - - - - - - - - - -
                    -
                    -
                    -
                    -
                    -
                    -
                    "; - echo $this->FN_CREATEFOOTER(); - } - - public function fn_updatemenuid() - { - $kduser=$_REQUEST['kduser']; - $menuid=$_REQUEST['menuid'];//echo $menutype;return true; - $tipemenu=$_REQUEST['tipemenu'];//echo $menutype;return true; - //return false; - $qry="update ".DB_APORTIL.".tbl_userlogin - set ".$tipemenu."menu_id='$menuid',uby='".$_SESSION['nik']."',udt=now() - where kduser='$kduser'"; - if($this->executequery($qry)) - { - echo 'ok|'; - //$msg="Menu baru ".strtoupper("$nmuser")." sudah berhasil ditambahkan
                    "; - //$msg.="Klik ".$this->CREATE_LINK($this->fn_url_home(),"disini","javascript:void(0)","_self","Penambahan Menu Baru"); - //$msg.=" untuk Penambahan Menu Baru. TERIMA KASIH"; - //echo $this->SHOWMESSAGE($msg); - }else{echo "failed|".$this->getErrorQuery();} - } - - public function fn_loadmenu() - { - $kduser=$_REQUEST["kduser"]; - $tipemenu=$_REQUEST["tipemenu"]; - //include XML Header (as response will be in xml format) - header("Content-type: text/xml"); - //encoding may be different in your case - echo(''); - //start output of data - echo ""; - - $swhere="and menugroup<>'SU'"; - if($kduser=='9999'){$swhere="";} - //output data from DB as XML -// $qry="select id,kduser,nmuser,hp,pass,maskpass,groupuser,isactivated from ".DB_APORTIL.".tbl_userlogin -// where (nmuser like '%$keyword%' or kduser like '%$keyword%') and kduser<>'9999' and isdeleted=0 -// order by id asc limit ".TBL_PAGE_LIMIT; - $qry="select id,menutype,menutext,menudesc,0 ischecked from ".DB_APORTIL.".tbl_".$tipemenu."menu - where isdeleted=0 and menuactivated=1 $swhere - order by id asc limit ".TBL_PAGE_LIMIT; - $rs=$this->selectquery($qry); - if($rs) - { - $i=1; - while($row=$this->data_row_array($rs)) - { - //create xml tag for grid's row - echo (""); - print(""); - print(""); - print(""); - print(""); - print(""); - echo (""); - $i+=1; - } - } - else - { - //error occurs - echo mysql_errno().": ".mysql_error()." at ".__LINE__." line in ".__FILE__." file
                    "; - } - echo "
                    "; - - } - - public function fn_getkduser() - { - $kduser=$_REQUEST["kduser"]; - $getkduser=$this->fn_get_fieldvalue("kduser","select kduser from ".DB_APORTIL.".tbl_userlogin where kduser='$kduser'"); - echo $getkduser; - } - - public function fn_getmenuid() - { - $kduser=$_REQUEST["kduser"]; - $tipemenu=$_REQUEST["tipemenu"]; - $menuid=$this->fn_get_fieldvalue($tipemenu."menu_id","select ".$tipemenu."menu_id from ".DB_APORTIL.".tbl_userlogin where kduser='$kduser'"); - echo $menuid; - - } - } - -?> \ No newline at end of file diff --git a/objectx/obj_user/user_new.php b/objectx/obj_user/user_new.php deleted file mode 100644 index 301316b..0000000 --- a/objectx/obj_user/user_new.php +++ /dev/null @@ -1,435 +0,0 @@ -dec($task);}} - - switch($task) - { - case "default": - $this->fn_default_new(); - break; - - case $task: - $task="fn_".$task; - if(method_exists($this,$task)){$this->$task();} - break; - - default: - $this->fn_default_new(); - break; - } - } - - public function fn_default_new() - { - echo $this->FN_CREATEHEADER(); - - echo ""; - echo ""; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); - - echo " - - - - - - -
                    "; - $url="location.reload();"; - $myuri=array("INFORMASI USER LOGIN"=>"$url|id='a_new'"); - echo $this->MULTIPLE_LINK($myuri); - echo "
                    -
                    - - - - - -
                    -
                    -
                    - - - - - - - - - - - -
                    -
                    -
                    -
                    -
                    -
                    -
                    ".$this->CREATE_IMAGE("loadergrid.gif")."
                    -
                    -
                    -
                    "; - echo $this->FN_CREATEFOOTER(); - - } - - public function fn_getdecrypt() - { - $pass=$_REQUEST['pass']; - echo $this->dec($pass); - } - - public function fn_grdrecord() - { - $keyword=$_REQUEST["keyword"]; - header("Content-type: text/xml"); - echo(''); - echo ""; - - $nikexception="and nik<>'82010'"; - if($_SESSION['nik']=='82010'){$nikexception="";} - $qry="select id,nik,namaemployee,hp,maskpass,pass,menuidgroupproject,menuid,treemenuid,idgroupuser, - groupuser,idgroupunit,groupunit,isactivated,idlevel,userlevel - from ".DB_APORTIL.".tbl_userlogin - where (nik like '%$keyword%' and isdeleted=0) $nikexception - order by id asc limit ".TBL_PAGE_LIMIT; - - $rs=$this->selectquery($qry); - if($rs) - { - $i=1; - while($row=$this->data_row_array($rs)) - { - echo (""); - print(""); - print(""); - print(""); - print(""); - print(""); - print(""); - print(""); - print(""); - print(""); - print(""); - print(""); - print(""); - print(""); - echo (""); - $i+=1; - } - } - else - { - echo mysql_errno().": ".mysql_error()." at ".__LINE__." line in ".__FILE__." file
                    "; - } - echo "
                    "; - - } - - public function fn_saverecord($isupdate=null) - { - if($isupdate){$id=$_REQUEST['txt_id'];} - $nik=$_REQUEST['txt_nik']; - $namaemployee=$_REQUEST['txt_namaemployee']; - $hp=$_REQUEST['txt_hp']; - $pass=$this->enc(trim($_REQUEST['txt_pass'])); - $menuidgroupproject=$_REQUEST['txt_menuidgroupproject']; - $menuid=$_REQUEST['txt_menuid']; - $treemenuid=$_REQUEST['txt_treemenuid']; - $idgroupuser=$_REQUEST['cbo_idgroupuser']; - $groupuser=$this->fn_get_fieldvalue("groupuser","select groupuser from ".DB_APORTIL.".tbl_usergroup where id='".$idgroupuser."'"); - $idgroupunit=$_REQUEST['cbo_idgroupunit']; - $groupunit=$this->fn_get_fieldvalue("groupunit","select groupunit from ".DB_APORTIL.".tbl_usergroupunit where id='".$idgroupunit."'"); - $isactivated=$_REQUEST['txt_isactivated']; - $idlevel=$_REQUEST['cbo_idlevel']; - $userlevel=$this->fn_get_fieldvalue("userlevel","select userlevel from ".DB_APORTIL.".tbl_userlevel where id='$idlevel'"); - - $qry="insert into ".DB_APORTIL.".tbl_userlogin - set nik='$nik',namaemployee='$namaemployee',hp='$hp',pass='$pass',menuidgroupproject='$menuidgroupproject',menuid='$menuid', - treemenuid='$treemenuid',idgroupuser='$idgroupuser',groupuser='$groupuser',idgroupunit='$idgroupunit',groupunit='$groupunit',isactivated='$isactivated', - idlevel='$idlevel',userlevel='$userlevel',iby='".$_SESSION['nik']."',idt=now()"; - if($isupdate) - { - $qry="update ".DB_APORTIL.".tbl_userlogin - set nik='$nik',namaemployee='$namaemployee',hp='$hp',pass='$pass',menuidgroupproject='$menuidgroupproject',menuid='$menuid', - treemenuid='$treemenuid',idgroupuser='$idgroupuser',groupuser='$groupuser',idgroupunit='$idgroupunit',groupunit='$groupunit', - isactivated='$isactivated',idlevel='$idlevel',uby='".$_SESSION['nik']."',udt=now() - where id='$id'"; - } - - if($this->executequery($qry)){echo "ok|";return true;} - } - - public function fn_updrecord(){$this->fn_saverecord(true);} - - public function fn_delrecord() - { - $id=$_REQUEST['txt_id']; - $remark=$_REQUEST['txtremark']; - $qry="update ".DB_APORTIL.".tbl_userlogin - set isdeleted=1,remark='$remark',dby='".$_SESSION['nik']."',ddt=now() - where id='$id'"; - if($this->executequery($qry)){echo "ok|";return true;} - else - { - echo "failed|".$this->getErrorQuery(); - } - } - } -?> \ No newline at end of file diff --git a/objectx/obj_user/user_pass.php b/objectx/obj_user/user_pass.php deleted file mode 100644 index a2cdd61..0000000 --- a/objectx/obj_user/user_pass.php +++ /dev/null @@ -1,184 +0,0 @@ -fn_updatepassword(); - break; - - default: - $this->fn_default_pass(); - break; - } - } - - public function fn_default_pass() - { - echo $this->FN_CREATEHEADER(); - echo ""; - echo ""; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); - echo " - - - -
                    -
                    -
                    "; - echo $this->FN_CREATEFOOTER(); - } - - public function fn_updatepassword() - { - $oldpass=$_REQUEST['txtpassold']; - $passnew=$_REQUEST['txtpassnew']; - // echo "failed|$oldpass";return false; - //return false; - $qry="update ".DB_APORTIL.".tbl_employee_accessibility - set pass='".$this->enc($passnew)."',maskpass='1234',uby='".$_SESSION['nik']."',udt=now() - where nik='".$_SESSION['nik']."'"; - if(!$this->fn_row_isexists("select nik from ".DB_APORTIL.".tbl_employee_accessibility where nik='".$_SESSION['nik']."' and pass='".$this->enc($oldpass)."' and isdeleted=0")) - { - echo "failed|Password Lama anda tidak Match.TERIMA KASIH";return false; - } - - if($this->executequery($qry)) - { - echo 'ok'; - //$msg="Menu baru ".strtoupper("$nmuser")." sudah berhasil ditambahkan
                    "; - //$msg.="Klik ".$this->CREATE_LINK($this->fn_url_home(),"disini","javascript:void(0)","_self","Penambahan Menu Baru"); - //$msg.=" untuk Penambahan Menu Baru. TERIMA KASIH"; - //echo $this->SHOWMESSAGE($msg); - }else{echo "failed|".$this->getErrorQuery();} - } - } -?> diff --git a/objectx/obj_usracc/usracc.html.php b/objectx/obj_usracc/usracc.html.php deleted file mode 100644 index d22d599..0000000 --- a/objectx/obj_usracc/usracc.html.php +++ /dev/null @@ -1,27 +0,0 @@ - \ No newline at end of file diff --git a/objectx/obj_usracc/usracc.php b/objectx/obj_usracc/usracc.php deleted file mode 100644 index 104380c..0000000 --- a/objectx/obj_usracc/usracc.php +++ /dev/null @@ -1,39 +0,0 @@ -dec($case);$obj=$cl->dec($obj);}} - - if(file_exists(PATH_OBJECT."/$option/$obj.php")) - { - require_once("$obj.php"); - $className=strtoupper($obj); - $clfile=new $className(); - $fn_init_java=$className."_javainit"; - $init_java=trim($_REQUEST['init_java']);if($init_java){$clfile->$fn_init_java();} - - $case=$obj; - } - - if(!$case){$case=$obj;if(!file_exists(PATH_OBJECT."/$option/$obj.php")){$cl->under_construction();}} - $sptask=explode("_",$case);$modulename=$sptask[1];$fn_module_init="fn_".$modulename."_init"; - - switch($case) - { - case "usracc_$modulename": - $clfile->$fn_module_init(); - break; - } - -?> \ No newline at end of file diff --git a/objectx/obj_usracc/usracc_rptmnth.php b/objectx/obj_usracc/usracc_rptmnth.php deleted file mode 100644 index 2f017a9..0000000 --- a/objectx/obj_usracc/usracc_rptmnth.php +++ /dev/null @@ -1,59 +0,0 @@ -dec($task);}} - - switch($task) - { - case "default": - $this->fn_default_rptmnth(); - break; - - case $task: - $task="fn_".$task; - if(method_exists($this,$task)){$this->$task();} - break; - - default: - $this->fn_default_rptmnth(); - break; - } - } - public function fn_default_rptmnth() - { - echo $this->FN_CREATEHEADER(); - - echo ""; - echo ""; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); - - echo $this->FN_CREATEFOOTER(); - - } - } -?> \ No newline at end of file diff --git a/objectx/obj_usracc/usracc_rptprd.php b/objectx/obj_usracc/usracc_rptprd.php deleted file mode 100644 index b4b09dd..0000000 --- a/objectx/obj_usracc/usracc_rptprd.php +++ /dev/null @@ -1,59 +0,0 @@ -dec($task);}} - - switch($task) - { - case "default": - $this->fn_default_rptprd(); - break; - - case $task: - $task="fn_".$task; - if(method_exists($this,$task)){$this->$task();} - break; - - default: - $this->fn_default_rptprd(); - break; - } - } - public function fn_default_rptprd() - { - echo $this->FN_CREATEHEADER(); - - echo ""; - echo ""; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); - - echo $this->FN_CREATEFOOTER(); - - } - } -?> \ No newline at end of file diff --git a/objectx/obj_usracc/usracc_trndyr.php b/objectx/obj_usracc/usracc_trndyr.php deleted file mode 100644 index c8b91f2..0000000 --- a/objectx/obj_usracc/usracc_trndyr.php +++ /dev/null @@ -1,59 +0,0 @@ -dec($task);}} - - switch($task) - { - case "default": - $this->fn_default_trndyr(); - break; - - case $task: - $task="fn_".$task; - if(method_exists($this,$task)){$this->$task();} - break; - - default: - $this->fn_default_trndyr(); - break; - } - } - public function fn_default_trndyr() - { - echo $this->FN_CREATEHEADER(); - - echo ""; - echo ""; - echo $this->FN_CLOSEHEADER(); - echo $this->FN_CREATEBODY("e8f1ff"); - - echo $this->FN_CREATEFOOTER(); - - } - } -?> \ No newline at end of file diff --git a/themes/codebase/dhtmlx.css b/themes/codebase/dhtmlx.css deleted file mode 100644 index b567a28..0000000 --- a/themes/codebase/dhtmlx.css +++ /dev/null @@ -1,10095 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -@keyframes dhx_loader_rotate { - 100% { - transform: rotate(360deg); - } -} - -@keyframes dhx_loader_dash { - 0% { - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - } - 50% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -35px; - } - 100% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -124px; - } -} - -.dhtmlxcalendar_material { - position: absolute; - display: block; - background-color: white; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} - -.dhtmlxcalendar_material.dhtmlxcalendar_in_input { - box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); -} - -.dhtmlxcalendar_material.dhtmlxcalendar_in_input div.dhtmlxcalendar_month_cont, -.dhtmlxcalendar_material.dhtmlxcalendar_in_input div.dhtmlxcalendar_days_cont, -.dhtmlxcalendar_material.dhtmlxcalendar_in_input div.dhtmlxcalendar_dates_cont, -.dhtmlxcalendar_material.dhtmlxcalendar_in_input div.dhtmlxcalendar_time_cont { - border-color: white; -} - -.dhtmlxcalendar_material.dhtmlxcalendar_in_input div.dhtmlxcalendar_time_cont { - border-top: 1px solid #dfdfdf; -} - -.dhtmlxcalendar_material ul.dhtmlxcalendar_line { - position: relative; - display: block; - clear: both; - font: inherit; - margin: 0; - padding: 0; - overflow: hidden; - margin-left: 12px; - width: 225px; -} - -.dhtmlxcalendar_material ul.dhtmlxcalendar_line li { - float: left; - position: relative; - list-style-type: none; - list-style-image: none; - text-align: center; - vertical-align: middle; - font: inherit; - cursor: default; - overflow: hidden; - margin: 0; - padding: 0; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont { - position: relative; - display: block; - width: 249px; - margin: 0; - border-width: 1px 1px 0 1px; - border-style: solid; - border-color: #dfdfdf; - overflow: hidden; - font: inherit; - -webkit-user-select: text; - -khtml-user-select: text; - -moz-user-select: text; - -ms-user-select: text; - -o-user-select: text; - user-select: text; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr { - width: 225px; - height: 31px; - line-height: 31px; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow { - position: absolute; - top: 0; - width: 18px; - height: 31px; - color: inherit; - text-align: center; - background-position: center center; - background-repeat: no-repeat; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_left, -.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_left_hover { - left: 4px; - background-image: url("imgs/dhxcalendar_material/dhxcalendar_arrow_left.png"); -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_left, -.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_left_hover { - background-image: linear-gradient(transparent, transparent), url("imgs/dhxcalendar_material/dhxcalendar_arrow_left.svg"); -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_right, -.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_right_hover { - right: 4px; - background-image: url("imgs/dhxcalendar_material/dhxcalendar_arrow_right.png"); -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_right, -.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_right_hover { - background-image: linear-gradient(transparent, transparent), url("imgs/dhxcalendar_material/dhxcalendar_arrow_right.svg"); -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr span.dhtmlxcalendar_month_label_month, -.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr span.dhtmlxcalendar_month_label_year { - position: relative; - font: inherit; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_days_cont { - position: relative; - display: block; - width: 249px; - margin: 0; - border-left: 1px solid #dfdfdf; - border-right: 1px solid #dfdfdf; - overflow: hidden; - -webkit-user-select: text; - -khtml-user-select: text; - -moz-user-select: text; - -ms-user-select: text; - -o-user-select: text; - user-select: text; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line { - height: 31px; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li { - width: 31px; - height: 31px; - line-height: 31px; - margin-left: 1px; - font-size: 12px; - color: #9a9a9a; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_first { - margin-left: 1px; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_day_weekday_cell_first { - margin-left: 1px; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont { - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); - position: relative; - display: block; - width: 249px; - margin: 0; - padding-bottom: 8px; - border-width: 0 1px 1px 1px; - border-style: solid; - border-color: #dfdfdf; - overflow: hidden; - font: inherit; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line { - margin-top: 1px; - margin-left: 13px; - height: 31px; - line-height: 31px; - font: inherit; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li { - width: 31px; - height: 31px; - line-height: 31px; - margin-right: 1px; - border-radius: 50%; - overflow: visible; - font: inherit; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li div.dhtmlxcalendar_label { - position: relative; - width: 100%; - height: 100%; - font: inherit; - line-height: 31px; - text-align: center; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li div.dhtmlxcalendar_label.dhtmlxcalendar_label_title { - background-image: url("imgs/dhxcalendar_material/dhxcalendar_marker.gif"); - background-position: top right; - background-repeat: no-repeat; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell { - color: #a6a6a6; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_weekend { - color: #e6918e; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date { - color: #a6a6a6; - background-color: #dcdcdc; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date_weekend { - color: #e6918e; - background-color: #dcdcdc; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_dis, -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date_dis { - color: #c0c0c0; - background-color: #f2f2f2; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_weekend_dis, -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date_weekend_dis { - color: #e6918e; - background-color: #f2f2f2; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_holiday, -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_weekend_holiday { - color: #e6918e; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date_holiday, -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date_weekend_holiday { - color: #d43f3a; - background-color: #ebebeb; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_holiday_dis, -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_weekend_holiday_dis, -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date_holiday_dis, -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date_weekend_holiday_dis { - color: #d43f3a; - background-color: #f2f2f2; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_hover { - color: #a6a6a6; - background-color: #ebebeb; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date_hover { - color: #a6a6a6; - background-color: #dcdcdc; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_weekend_hover { - color: #e6918e; - background-color: #ebebeb; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date_weekend_hover { - color: #e6918e; - background-color: #dcdcdc; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_holiday_hover, -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_weekend_holiday_hover, -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date_holiday_hover, -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date_weekend_holiday_hover { - color: #d43f3a; - background-color: #ebebeb; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month { - color: #404040; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_weekend { - color: #d43f3a; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date { - color: white; - background-color: #39c; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date_weekend { - color: white; - background-color: #ef5350; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_dis, -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date_dis { - color: #c0c0c0; - background-color: #f2f2f2; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_weekend_dis, -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date_weekend_dis { - color: #d43f3a; - background-color: #f2f2f2; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_holiday { - color: #d43f3a; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_weekend_holiday { - color: #d43f3a; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date_holiday { - color: white; - background-color: #ef5350; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date_weekend_holiday { - color: white; - background-color: #ef5350; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_holiday_dis, -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date_holiday_dis, -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_weekend_holiday_dis, -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date_weekend_holiday_dis { - color: #d43f3a; - background-color: #f2f2f2; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_hover { - color: #404040; - background-color: #ebebeb; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_weekend_hover { - color: #d43f3a; - background-color: #ebebeb; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date_hover { - color: white; - background-color: #39c; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date_weekend_hover { - color: white; - background-color: #ef5350; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_holiday_hover { - color: #d43f3a; - background-color: #ebebeb; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_weekend_holiday_hover { - color: #d43f3a; - background-color: #ebebeb; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date_holiday_hover { - color: white; - background-color: #ef5350; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date_weekend_holiday_hover { - color: white; - background-color: #ef5350; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont { - position: relative; - display: block; - width: 249px; - height: 31px; - border-left: 1px solid #dfdfdf; - border-right: 1px solid #dfdfdf; - border-bottom: 1px solid #dfdfdf; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li { - width: 225px; - height: 31px; - line-height: 31px; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_time_hdr { - text-align: left; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_hours { - margin-left: 42px; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li div.dhtmlxcalendar_time_img { - position: absolute; - left: 22px; - top: 7px; - width: 18px; - height: 18px; - background-image: url("imgs/dhxcalendar_material/dhxcalendar_clock.png"); - background-position: center center; - background-repeat: no-repeat; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li div.dhtmlxcalendar_time_img { - left: 75px; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr { - text-align: center; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_hours { - margin-left: 0; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_today, -.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_clear { - display: none; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr div.dhtmlxcalendar_time_img, -.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_hours, -.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_minutes, -.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_colon { - display: none; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_today { - float: right; - margin-right: 8px; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_clear { - float: right; - margin-right: 74px; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_selected_date { - border-bottom: 2px solid red; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_today { - float: right; - margin-right: 8px; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_clear { - float: right; - margin-right: 22px; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn, -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn { - display: none; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell, -.dhtmlxcalendar_material div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_first, -.dhtmlxcalendar_material div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell { - width: 27px; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn { - display: block; - width: 27px; - color: #3da0e3; - background-color: - #060606; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_wn div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell { - width: 27px; - height: 28px; - line-height: 27px; - margin-top: 2px; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_wn div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell div { - line-height: inherit; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_wn div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn { - display: block; - width: 27px; - color: #3da0e3; - background-color: - #060606; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_cover { - position: absolute; - left: 1px; - background-color: white; - opacity: .5; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=50); -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj { - position: absolute; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_selector_obj_arrow { - position: absolute; - bottom: auto; - top: 1px; - left: 0; - width: 100%; - height: 9px; - overflow: hidden; - background-image: url("imgs/dhxcalendar_material/dhxcalendar_selector_top.gif"); - background-position: top center; - background-repeat: no-repeat; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table { - border-bottom: 1px solid #dfdfdf; - border-top: 0 solid white; - background-color: white; - margin-top: 9px; - box-shadow: 0 2px 6px rgba(0, 0, 0, 0.24); -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right { - width: 24px; - text-align: center; - border-color: #dfdfdf; - border-style: solid; - padding: 0; - margin: 0; - background-color: white; - background-position: center center; - background-repeat: no-repeat; - cursor: default; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left { - border-width: 1px 0 0 1px; - background-image: url("imgs/dhxcalendar_material/dhxcalendar_arrow_left.png"); -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left.dhtmlxcalendar_selector_cell_left_hover { - background-color: #ebebeb; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right { - border-width: 1px 1px 0 0; - background-image: url("imgs/dhxcalendar_material/dhxcalendar_arrow_right.png"); -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right.dhtmlxcalendar_selector_cell_right_hover { - background-color: #ebebeb; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle { - cursor: default; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul { - display: block; - clear: both; - background-color: white; - border-left: 1px solid #dfdfdf; - margin: 0; - padding: 0; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul li { - float: left; - list-style-type: none; - list-style-image: none; - text-align: center; - vertical-align: middle; - margin: 0; - padding: 0; - border-right: 1px solid #dfdfdf; - background-color: white; - cursor: default; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; - font-size: .9em; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul li.dhtmlxcalendar_selector_cell_active, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul li.dhtmlxcalendar_selector_cell_hover { - background-color: #ebebeb; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line { - height: 28px; - border-top: 1px solid #dfdfdf; - border-bottom: 0 solid white; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell { - width: 50px; - height: 28px; - line-height: 28px; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right { - display: none; - width: 0; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours div.dhtmlxcalendar_selector_obj_arrow, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 div.dhtmlxcalendar_selector_obj_arrow, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_selector_obj_arrow { - top: auto; - bottom: 1px; - background-image: url("imgs/dhxcalendar_material/dhxcalendar_selector_bottom.gif"); -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours div.dhtmlxcalendar_selector_obj_arrow ul.dhtmlxcalendar_selector_line, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 div.dhtmlxcalendar_selector_obj_arrow ul.dhtmlxcalendar_selector_line, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_selector_obj_arrow ul.dhtmlxcalendar_selector_line { - height: 28px; - border-top: 0 solid white; - border-bottom: 1px solid #dfdfdf; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table { - margin-top: 0; - margin-bottom: 9px; - border-bottom: none; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell { - width: 34px; - height: 28px; - line-height: 28px; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right { - display: none; - width: 0; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_month, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_year, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_hours, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_hours2, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_minutes, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_minutes4, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_minutes5 { - display: none; -} - -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month div.dhtmlxcalendar_area_selector_month, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_year div.dhtmlxcalendar_area_selector_year, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours div.dhtmlxcalendar_area_selector_hours, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 div.dhtmlxcalendar_area_selector_hours, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_area_selector_minutes, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_area_selector_minutes4, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_area_selector_minutes5 { - display: block; -} - -.dhtmlxcalendar_ifr { - position: absolute; - overflow: hidden; - background-color: white; -} - -div.dhtmlxcalendar_skin_detect { - position: absolute; - left: 0; - top: -100px; - margin: 0; - padding: 0; - border: 0 solid white; - width: 40px; - height: 10px; - overflow: hidden; -} - -@keyframes dhx_loader_rotate { - 100% { - transform: rotate(360deg); - } -} - -@keyframes dhx_loader_dash { - 0% { - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - } - 50% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -35px; - } - 100% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -124px; - } -} - -div.dhxcombo_material { - position: relative; - border-bottom: 1px solid #dfdfdf; - padding-bottom: 1px; - overflow: hidden; - vertical-align: middle; - background-color: white; - font-size: 1px; - height: 29px; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -} - -div.dhxcombo_material.dhxcombo_actv { - padding-bottom: 0; - border-bottom: 2px solid #39c; -} - -div.dhxcombo_material input.dhxcombo_input { - position: absolute; - left: 4px; - top: 0; - *top: 1px; - height: 29px; - line-height: 28px; - *height: 27px; - *line-height: 26px; - border: 0 solid white; - outline: 0 solid white; - padding: 0; - margin: 0 0 0 2px; - background-color: white; - vertical-align: top; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} - -div.dhxcombo_material input.dhxcombo_input::-ms-clear { - display: none; -} - -div.dhxcombo_material div.dhxcombo_select_button { - position: absolute; - width: 21px; - height: 22px; - top: 4px; - right: 2px; - font-size: 1px; - cursor: pointer; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -div.dhxcombo_material div.dhxcombo_select_button div.dhxcombo_select_img { - position: relative; - width: 100%; - height: 100%; - background-image: url("imgs/dhxcombo_material/dhxcombo_arrow_down.gif"); - background-repeat: no-repeat; - background-position: center center; -} - -div.dhxcombo_material div.dhxcombo_select_button div.dhxcombo_select_img { - background-image: linear-gradient(transparent, transparent), url("imgs/dhxcombo_material/dhxcombo_arrow_down.svg"); -} - -div.dhxcombo_material div.dhxcombo_top_image { - position: absolute; - left: 0; - top: 0; - width: 29px; - height: 29px; - overflow: hidden; - cursor: default; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -div.dhxcombo_material div.dhxcombo_top_image div.dhxcombo_image { - position: absolute; - top: 6px; - left: 5px; - width: 18px; - height: 18px; - background-repeat: no-repeat; - background-position: center center; - overflow: hidden; - cursor: default; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -div.dhxcombolist_material { - position: absolute; - border: 1px solid #dfdfdf; - background-color: #fafafa; - overflow-x: none; - overflow-y: auto; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - box-shadow: 0 0 10px rgba(127, 127, 127, 0.2); -} - -div.dhxcombolist_material div.dhxcombo_option { - position: relative; - font: inherit; - height: 32px; - line-height: 32px; - vertical-align: middle; - overflow: hidden; - cursor: default; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} - -div.dhxcombolist_material div.dhxcombo_option.dhxcombo_option_selected { - background-color: #ebebeb; -} - -div.dhxcombolist_material div.dhxcombo_option div.dhxcombo_option_text { - position: relative; - padding: 0 4px; - font: inherit; - white-space: nowrap; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -div.dhxcombolist_material div.dhxcombo_option div.dhxcombo_option_text.dhxcombo_option_text_chbx { - position: relative; - padding: 0 4px; - margin-left: 26px; - white-space: nowrap; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -div.dhxcombolist_material div.dhxcombo_option div.dhxcombo_option_text.dhxcombo_option_text_image { - position: relative; - padding: 0 4px 0 4px; - margin-left: 26px; - white-space: nowrap; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -div.dhxcombolist_material div.dhxcombo_option div.dhxcombo_image, -div.dhxcombolist_material div.dhxcombo_option div.dhxcombo_checkbox { - position: absolute; - width: 18px; - margin: 0 5px; - height: 32px; - line-height: 32px; - background-image: url("imgs/dhxcombo_material/dhxcombo_chbx.gif"); - background-repeat: no-repeat; - overflow: hidden; - cursor: default; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -div.dhxcombolist_material div.dhxcombo_option div.dhxcombo_image.dhxcombo_chbx_1, -div.dhxcombolist_material div.dhxcombo_option div.dhxcombo_checkbox.dhxcombo_chbx_1 { - background-position: 0 7px; -} - -div.dhxcombolist_material div.dhxcombo_option div.dhxcombo_image.dhxcombo_chbx_0, -div.dhxcombolist_material div.dhxcombo_option div.dhxcombo_checkbox.dhxcombo_chbx_0 { - background-position: -18px 7px; -} - -div.dhxcombolist_material div.dhxcombo_option div.dhxcombo_image { - top: 7px; - margin: 0 0 0 6px; - width: 18px; - height: 18px; -} - -div.dhxcombo_material.dhxcombo_disabled input.dhxcombo_input { - color: #a6a6a6; -} - -div.dhxcombo_material.dhxcombo_disabled div.dhxcombo_select_button div.dhxcombo_select_img { - background-image: url("imgs/dhxcombo_material/dhxcombo_arrow_down_dis.gif"); - cursor: default; -} - -.dhxgrid_combo_icon { - position: absolute; - z-index: 1; - top: 0; - right: 0; -} - -div.dhxcombo_in_grid_parent { - position: relative; - height: 100%; - top: 0; -} - -div.dhxcombo_in_grid_parent div.dhxcombo_material { - position: absolute; - top: 0; - left: -1px; -} - -div.dhxcombolist_material.dhxcombolist_hdr { - border-bottom-width: 0; - height: 36px; - line-height: 36px; - box-shadow: none; -} - -div.dhxcombolist_material.dhxcombolist_hdr div.dhxcombo_hdrtext { - position: relative; - padding: 0; - white-space: nowrap; - cursor: default; - font-family: Roboto, Arial, Helvetica; - font-size: 14px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -div.dhxcombolist_material.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell, -div.dhxcombolist_material.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell_first { - float: left; - white-space: nowrap; - overflow: hidden; - position: relative; - z-index: 2; - border-left: 1px solid #dfdfdf; - padding: 0; - margin: 0; -} - -div.dhxcombolist_material.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell_first, -div.dhxcombolist_material.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell:first-child { - border-left-width: 0; -} - -div.dhxcombolist_material.dhxcombolist_multicolumn div.dhxcombo_option { - height: 32px; - line-height: 32px; - margin-top: -1px; - z-index: 0; - border-top: 1px solid #dfdfdf; - border-bottom: 1px solid #dfdfdf; - background-color: white; -} - -div.dhxcombolist_material.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_option_text { - padding: 0; -} - -div.dhxcombolist_material.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell, -div.dhxcombolist_material.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell_first { - float: left; - white-space: nowrap; - overflow: hidden; - position: relative; - border-left: 1px solid #dfdfdf; - padding: 0; - margin: 0; -} - -div.dhxcombolist_material.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell_first, -div.dhxcombolist_material.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell:first-child { - border-left-width: 0; -} - -div.dhxcombolist_material.dhxcombolist_multicolumn div.dhxcombo_option.dhxcombo_option_selected { - z-index: 1; - background-color: #ebebeb; - border-top-color: #dfdfdf; - border-bottom-color: #dfdfdf; -} - -div.dhxcombolist_material.dhxcombolist_multicolumn div.dhxcombo_option.dhxcombo_option_selected div.dhxcombo_cell { - border-left-color: #dfdfdf; -} - -div.dhxcombolist_material.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell_text, -div.dhxcombolist_material.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell_text { - position: relative; - margin: 0 10px; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - width: auto; - min-height: 32px; -} - -.dhxcombo_skin_detect { - position: absolute; - left: 0; - top: -100px; - margin: 0; - padding: 0; - border: 0 solid white; - width: 40px; - height: 10px; - overflow: hidden; -} - -@keyframes dhx_loader_rotate { - 100% { - transform: rotate(360deg); - } -} - -@keyframes dhx_loader_dash { - 0% { - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - } - 50% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -35px; - } - 100% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -124px; - } -} - -.dhtmlxcp_material { - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} - -.dhtmlxcp_material * { - line-height: normal; -} - -.dhtmlxcp_material.dhxcp_shadow div.dhxcp_g_area { - border-width: 1px 0 0 0; - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); -} - -.dhtmlxcp_material div.dhxcp_g_area { - position: absolute; - width: 235px; - height: 262px; - background-color: white; - border: 1px solid #dfdfdf; -} - -.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area { - width: 235px; - height: 262px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_color_area { - padding-bottom: 2px; - width: 235px; - height: 122px; - margin: 0; -} - -.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_color_area div.dhxcp_color_selector { - position: absolute; - width: 210px; - height: 120px; - background-image: url("imgs/dhxcp_material/dhxcp_colors.png"); - background-repeat: no-repeat; - cursor: pointer; - float: left; -} - -.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_color_area div.dhxcp_color_selector div.dhxcp_h_line { - width: 210px; -} - -.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_color_area div.dhxcp_color_selector div.dhxcp_v_line { - position: absolute; - width: 0; - height: 120px; - border-left: 1px solid white; - cursor: pointer; - overflow: hidden; -} - -.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_color_area div.dhxcp_contrast_area { - position: relative; - height: 120px; - width: 24px; - cursor: pointer; - float: right; -} - -.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_color_area div.dhxcp_contrast_area div.dhxcp_ie_gradient { - height: 120px; - width: 24px; - margin: 0; -} - -.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_color_area div.dhxcp_contrast_area div.dhxcp_h_line { - width: 24px; -} - -.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_color_area div.dhxcp_h_line { - position: absolute; - height: 0; - border-top: 1px solid white; - cursor: pointer; - overflow: hidden; -} - -.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_input_area { - position: relative; - padding: 0 14px; - width: auto; - height: 78px; - margin: 0; -} - -.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_input_area div.dhxcp_value_cont { - height: 78px; - float: left; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} - -.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_input_area div.dhxcp_value_cont div.dhxcp_value_color { - margin-top: 5px; - width: 52px; - height: 48px; - border: 1px solid #dfdfdf; -} - -.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_input_area div.dhxcp_value_cont input.dhxcp_value { - width: 54px; - margin-top: 3px; - line-height: 1em; - border-width: 0 0 1px 0; - border-style: solid; - border-color: #dfdfdf; - background-color: white; - padding: 3px 3px 3px 3px; - text-align: left; - font: inherit; - font-size: 13px; - outline: none!important; -} - -.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_input_area div.dhxcp_value_cont input.dhxcp_value:focus { - border-bottom-color: #39c; - border-bottom-width: 2px; - padding-bottom: 0; -} - -.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_input_area table.dhxcp_inputs_cont { - position: absolute; - right: 14px; - top: 4px; - border: none; - border-spacing: 0; - width: 130px; - height: 78px; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} - -.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_input_area table.dhxcp_inputs_cont .dhxcp_label_hsl, -.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_input_area table.dhxcp_inputs_cont .dhxcp_label_rgb { - text-align: right; - padding: 0 7px 0 0; - font: inherit; - font-size: 13px; -} - -.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_input_area table.dhxcp_inputs_cont td.dhxcp_input_hsl, -.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_input_area table.dhxcp_inputs_cont td.dhxcp_input_rgb { - width: 28px; - border: none; - padding: 0; - margin: 0; - font: inherit; - vertical-align: top; -} - -.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_input_area table.dhxcp_inputs_cont input.dhxcp_input_hsl, -.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_input_area table.dhxcp_inputs_cont input.dhxcp_input_rgb { - width: 26px; - margin-top: 2px; - line-height: 1em; - border-width: 0 0 1px 0; - border-style: solid; - border-color: #dfdfdf; - background-color: white; - padding: 3px 3px 3px 3px; - text-align: left; - font: inherit; - font-size: 13px; - outline: none!important; -} - -.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_input_area table.dhxcp_inputs_cont input.dhxcp_input_hsl:focus, -.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_input_area table.dhxcp_inputs_cont input.dhxcp_input_rgb:focus { - border-bottom-color: #39c; - border-bottom-width: 2px; - padding-bottom: 0; -} - -.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_memory_area { - display: none; -} - -.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_buttons_area { - position: relative; - width: auto; - height: 32px; - padding: 0 14px; - text-align: right; - margin-top: 18px; -} - -.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_buttons_area button.dhx_button_save, -.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_buttons_area button.dhx_button_cancel { - height: 32px; - line-height: 22px; - margin: 0 2px; - padding-left: 12px; - padding-right: 12px; - overflow: hidden; - text-align: center; - outline: none!important; - border: none!important; - background-color: white; - font-weight: 500; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #39c; -} - -.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_buttons_area button.dhx_button_save:hover, -.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_buttons_area button.dhx_button_cancel:hover { - background-color: #ededed; -} - -.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_buttons_area button.dhx_button_save:active, -.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_buttons_area button.dhx_button_cancel:active { - background-color: #e1e1e1; -} - -.dhtmlxcp_material div.dhxcp_g_area.dhxcp_add_memory { - height: 315px!important; -} - -.dhtmlxcp_material div.dhxcp_g_area.dhxcp_add_memory div.dhxcp_sub_area { - height: 315px!important; -} - -.dhtmlxcp_material div.dhxcp_g_area.dhxcp_add_memory div.dhxcp_sub_area div.dhxcp_buttons_area { - margin-top: 0; -} - -.dhtmlxcp_material div.dhxcp_g_area.dhxcp_add_memory div.dhxcp_sub_area div.dhxcp_g_memory_area { - position: relative; - display: block; - height: 60px; - padding: 0 14px; -} - -.dhtmlxcp_material div.dhxcp_g_area.dhxcp_add_memory div.dhxcp_sub_area div.dhxcp_g_memory_area div.dhxcp_memory_button_cont { - position: relative; - width: auto; - height: 24px; - margin-top: 14px; -} - -.dhtmlxcp_material div.dhxcp_g_area.dhxcp_add_memory div.dhxcp_sub_area div.dhxcp_g_memory_area div.dhxcp_memory_button_cont button.dhxcp_save_to_memory { - width: 100%; - height: 24px; - margin: 0; - outline: none!important; - border: none!important; - background-color: white; - font-weight: 500; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #39c; -} - -.dhtmlxcp_material div.dhxcp_g_area.dhxcp_add_memory div.dhxcp_sub_area div.dhxcp_g_memory_area div.dhxcp_memory_button_cont button.dhxcp_save_to_memory:hover { - background-color: #ededed; -} - -.dhtmlxcp_material div.dhxcp_g_area.dhxcp_add_memory div.dhxcp_sub_area div.dhxcp_g_memory_area div.dhxcp_memory_button_cont button.dhxcp_save_to_memory:active { - background-color: #e1e1e1; -} - -.dhtmlxcp_material div.dhxcp_g_area.dhxcp_add_memory div.dhxcp_sub_area div.dhxcp_g_memory_area div.dhxcp_memory_button_cont button.dhxcp_save_to_memory div.dhxcp_label_bm { - display: inherit; - width: 90px; - margin: 0 auto; - height: 16px; -} - -.dhtmlxcp_material div.dhxcp_g_area.dhxcp_add_memory div.dhxcp_sub_area div.dhxcp_g_memory_area div.dhxcp_memory_els_cont { - position: relative; - width: auto; - height: 25px; - margin-top: 3px; - text-align: center; -} - -.dhtmlxcp_material div.dhxcp_g_area.dhxcp_add_memory div.dhxcp_sub_area div.dhxcp_g_memory_area div.dhxcp_memory_els_cont a.dhxcp_memory_el { - width: 21px; - height: 20px; - background-color: #fff; - border: 1px solid #dfdfdf; - display: inline-block; - margin-right: 2px; -} - -.dhtmlxcp_material div.dhxcp_g_area.dhxcp_add_memory div.dhxcp_sub_area div.dhxcp_g_memory_area div.dhxcp_memory_els_cont a.dhxcp_memory_el.dhxcp_memory_el_select { - border: 1px dashed black!important; -} - -.dhtmlxcp_material div.dhxcp_g_area.dhxcp_add_memory div.dhxcp_sub_area div.dhxcp_g_memory_area div.dhxcp_memory_els_cont a.dhxcp_memory_el.dhxcp_memory_el_next { - border: 1px dashed red!important; -} - -.dhxcp_colorBox { - float: right; -} - -.dhxcp_colorInput { - float: left; -} - -.dhxcp_frm { - position: absolute; - background-color: white; - width: 256px; - height: 274px; - opacity: 0; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=0); -} - -.dhxcolorpicker_skin_detect { - position: absolute; - left: 0; - top: -100px; - margin: 0; - padding: 0; - border: 0 solid white; - width: 40px; - height: 10px; - overflow: hidden; -} - -@keyframes dhx_loader_rotate { - 100% { - transform: rotate(360deg); - } -} - -@keyframes dhx_loader_dash { - 0% { - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - } - 50% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -35px; - } - 100% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -124px; - } -} - -.dhtmlxslider_material { - z-index: 0; -} - -.dhtmlxslider_material .dhxsl_hidden { - display: none; -} - -.dhtmlxslider_material .dhxsl_container { - position: relative; - float: left; - clear: left; - margin: 0; - padding: 1px; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhtmlxslider_material .dhxsl_container.dhxsl_cont_hr { - margin-top: 4px; -} - -.dhtmlxslider_material .dhxsl_container.dhxsl_cont_vr { - margin-left: 4px; -} - -.dhtmlxslider_material .dhxsl_runner { - position: absolute; - background-color: #39c; - -webkit-touch-callout: none; - -webkit-user-select: none; - -ms-touch-action: none; - z-index: 1; - border-radius: 50%; - width: 12px; - height: 12px; - margin: 0; - padding: 0; - overflow: hidden; -} - -.dhtmlxslider_material .dhxsl_runner.dhxsl_runner_actv { - z-index: 2; -} - -.dhtmlxslider_material .dhxsl_runner_dis { - background-color: #dfdfdf; - border: 1px solid white; - width: 10px; - height: 10px; -} - -.dhtmlxslider_material .dhxsl_track { - background-color: #dfdfdf; - overflow: hidden; - position: relative; - margin: 0; - padding: 0; - -webkit-touch-callout: none; - -webkit-user-select: none; - -ms-touch-action: none; -} - -.dhtmlxslider_material .dhxsl_track div.dhxsl_track_bg { - position: absolute; - font-size: 1px; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhtmlxslider_material .dhxsl_cont_vr .dhxsl_track { - height: 100%; - width: 2px; -} - -.dhtmlxslider_material .dhxsl_cont_vr .dhxsl_track div.dhxsl_track_bg { - left: 0; - width: 100%; -} - -.dhtmlxslider_material .dhxsl_cont_hr .dhxsl_track { - width: 100%; - height: 2px; -} - -.dhtmlxslider_material .dhxsl_cont_hr .dhxsl_track div.dhxsl_track_bg { - top: 0; - height: 100%; -} - -.dhxslider_skin_detect { - position: absolute; - left: 0; - top: -100px; - margin: 0; - padding: 0; - border: 0 solid white; - width: 40px; - height: 10px; - overflow: hidden; -} - -@keyframes dhx_loader_rotate { - 100% { - transform: rotate(360deg); - } -} - -@keyframes dhx_loader_dash { - 0% { - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - } - 50% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -35px; - } - 100% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -124px; - } -} - -div.dhx_popup_material { - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); - position: absolute; -} - -div.dhx_popup_material div.dhx_popup_area { - position: relative; - margin: 10px; - padding: 5px 0; - border: 1px solid #dfdfdf; - background-color: #fafafa; - box-shadow: 0 0 10px rgba(127, 127, 127, 0.2); -} - -div.dhx_popup_material div.dhx_popup_area td.dhx_popup_td { - text-align: left; - line-height: normal; - padding: 0 10px 0 10px; - white-space: nowrap; - cursor: default; - height: 30px; - line-height: 30px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} - -div.dhx_popup_material div.dhx_popup_area td.dhx_popup_td * { - white-space: normal; -} - -div.dhx_popup_material div.dhx_popup_area tr.dhxnode td.dhx_popup_td { - -webkit-user-select: text; - -khtml-user-select: text; - -moz-user-select: text; - -ms-user-select: text; - -o-user-select: text; - user-select: text; -} - -div.dhx_popup_material div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhtmlxcalendar_material { - position: relative; - float: left; - box-shadow: none; -} - -div.dhx_popup_material div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont, -div.dhx_popup_material div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhtmlxcalendar_material div.dhtmlxcalendar_days_cont, -div.dhx_popup_material div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont, -div.dhx_popup_material div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont { - border-color: #fafafa!important; -} - -div.dhx_popup_material div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxeditor_material { - border: 1px solid #dfdfdf; - margin: 15px 0; -} - -div.dhx_popup_material div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhtmlxcp_material div.dhxcp_g_area { - position: relative; - box-shadow: none!important; - border-width: 0!important; - background-color: #fafafa; -} - -div.dhx_popup_material div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxtabbar_base_material { - z-index: 1; -} - -div.dhx_popup_material div.dhx_popup_area tr.dhx_popup_sep td.dhx_popup_sep { - font-size: 1px; - padding: 5px 0; - position: relative; -} - -div.dhx_popup_material div.dhx_popup_area tr.dhx_popup_sep td.dhx_popup_sep div.dhx_popup_sep { - position: relative; - font-size: 1px; - line-height: 1px; - height: 0; - width: 100%; - border-top: 1px solid #dfdfdf; - overflow: hidden; -} - -div.dhx_popup_material div.dhx_popup_area td.dhx_popup_td:first-child { - padding-left: 23px; -} - -div.dhx_popup_material div.dhx_popup_area td.dhx_popup_td:last-child { - padding-right: 21px; -} - -div.dhx_popup_material div.dhx_popup_area tr:hover td.dhx_popup_td { - background-color: #ebebeb; -} - -div.dhx_popup_material div.dhx_popup_area tr.dhxnode:hover td.dhx_popup_td { - background: none; -} - -div.dhx_popup_material div.dhx_popup_area.dhx_popup_area_ie td.dhx_popup_td.dhx_popup_td_single { - padding-left: 23px; - padding-right: 21px; -} - -div.dhx_popup_material div.dhx_popup_area.dhx_popup_area_ie td.dhx_popup_td.dhx_popup_td_first { - padding-left: 23px; -} - -div.dhx_popup_material div.dhx_popup_area.dhx_popup_area_ie td.dhx_popup_td.dhx_popup_td_last { - padding-right: 21px; -} - -div.dhx_popup_material div.dhx_popup_area.dhx_popup_area_ie tr.tr_hover td.dhx_popup_td { - background-color: #ebebeb; -} - -div.dhx_popup_material div.dhx_popup_arrow { - position: absolute; - background-repeat: no-repeat; -} - -div.dhx_popup_material div.dhx_popup_arrow.dhx_popup_arrow_bottom { - width: 19px; - height: 16px; - background-image: url("imgs/dhxpopup_material/dhxpopup_arrow_bottom.gif"); - background-position: top center; -} - -div.dhx_popup_material div.dhx_popup_arrow.dhx_popup_arrow_top { - width: 19px; - height: 16px; - background-image: url("imgs/dhxpopup_material/dhxpopup_arrow_top.gif"); - background-position: bottom center; -} - -div.dhx_popup_material div.dhx_popup_arrow.dhx_popup_arrow_right { - width: 16px; - height: 19px; - background-image: url("imgs/dhxpopup_material/dhxpopup_arrow_right.gif"); - background-position: center left; -} - -div.dhx_popup_material div.dhx_popup_arrow.dhx_popup_arrow_left { - width: 16px; - height: 19px; - background-image: url("imgs/dhxpopup_material/dhxpopup_arrow_left.gif"); - background-position: center right; -} - -div.dhx_popup_skin_detect { - position: absolute; - left: 0; - top: -100px; - margin: 0; - padding: 0; - border: 0 solid white; - width: 40px; - height: 10px; - overflow: hidden; -} - -@keyframes dhx_loader_rotate { - 100% { - transform: rotate(360deg); - } -} - -@keyframes dhx_loader_dash { - 0% { - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - } - 50% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -35px; - } - 100% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -124px; - } -} - -.dhtmlxMenu_material_Middle { - position: relative; - height: 28px; - line-height: 28px; - background-color: #f5f5f5; - overflow: hidden; - border: none; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhtmlxMenu_material_Middle div.dhtmlxMenu_material_TopLevel_Item_Normal, -.dhtmlxMenu_material_Middle div.dhtmlxMenu_material_TopLevel_Item_Disabled, -.dhtmlxMenu_material_Middle div.dhtmlxMenu_material_TopLevel_Item_Selected { - position: relative; - float: left; - font: inherit; - height: 28px; - line-height: 28px; - margin: 0; - padding: 0 8px; - cursor: default; - white-space: nowrap; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhtmlxMenu_material_Middle div.dhtmlxMenu_material_TopLevel_Item_Normal div.top_level_text, -.dhtmlxMenu_material_Middle div.dhtmlxMenu_material_TopLevel_Item_Disabled div.top_level_text, -.dhtmlxMenu_material_Middle div.dhtmlxMenu_material_TopLevel_Item_Selected div.top_level_text { - float: left; - margin: 0 3px; -} - -.dhtmlxMenu_material_Middle div.dhtmlxMenu_material_TopLevel_Item_Normal i, -.dhtmlxMenu_material_Middle div.dhtmlxMenu_material_TopLevel_Item_Disabled i, -.dhtmlxMenu_material_Middle div.dhtmlxMenu_material_TopLevel_Item_Selected i { - height: inherit; - line-height: inherit; - float: left; - color: inherit; - margin: 0 4px; - font-size: 1.2em; -} - -.dhtmlxMenu_material_Middle div.dhtmlxMenu_material_TopLevel_Item_Disabled { - color: #a6a6a6; -} - -.dhtmlxMenu_material_Middle div.dhtmlxMenu_material_TopLevel_Item_Selected { - background-color: #ebebeb; -} - -.dhtmlxMenu_material_Middle img.dhtmlxMenu_TopLevel_Item_Icon { - float: left; - margin: 5px 3px 0 3px; - width: 18px; - height: 18px; - cursor: default; -} - -.dhtmlxMenu_material_Middle div.top_sep { - position: relative; - float: left; - height: 22px; - width: 0; - border-left: 1px solid #dfdfdf; - margin: 3px 8px 0 8px; - font-size: 1px; - overflow: hidden; - cursor: default; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhtmlxMenu_material_Middle div.dhtmlxMenu_TopLevel_Text_right, -.dhtmlxMenu_material_Middle div.dhtmlxMenu_TopLevel_Text_left { - position: absolute; - top: 0; - height: 28px; - line-height: 28px; - cursor: default; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhtmlxMenu_material_Middle div.dhtmlxMenu_TopLevel_Text_right { - right: 6px; -} - -.dhtmlxMenu_material_Middle div.dhtmlxMenu_TopLevel_Text_left { - left: 6px; -} - -div.dhtmlxMenu_material_SubLevelArea_Polygon { - position: absolute; - padding: 5px 0; - background-color: #fafafa; - overflow: hidden; - cursor: default; - line-height: normal; - overflow-y: auto; - -webkit-overflow-scrolling: touch; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -div.dhtmlxMenu_material_SubLevelArea_Polygon td { - padding: 0; - margin: 0; - line-height: normal; - white-space: nowrap; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} - -div.dhtmlxMenu_material_SubLevelArea_Polygon td.sub_item_icon { - width: 18px; - text-align: center; -} - -div.dhtmlxMenu_material_SubLevelArea_Polygon td.sub_item_icon img.sub_icon { - margin: 4px 6px 0 6px; - width: 18px; - height: 18px; -} - -div.dhtmlxMenu_material_SubLevelArea_Polygon td.sub_item_icon i { - width: 18px; - height: 30px; - line-height: 29px; - margin: 0 6px; - font-size: 1.2em; - text-align: center; - color: inherit; -} - -div.dhtmlxMenu_material_SubLevelArea_Polygon td.sub_item_icon div.sub_icon { - margin: 0 6px; - width: 18px; - height: 30px; - line-height: 30px; - background-position: 0 5px; - background-repeat: no-repeat; - background-image: url("imgs/dhxmenu_material/dhxmenu_chrd.png"); -} - -div.dhtmlxMenu_material_SubLevelArea_Polygon td.sub_item_icon div.sub_icon.chbx_0 { - background-position: 0 5px; -} - -div.dhtmlxMenu_material_SubLevelArea_Polygon td.sub_item_icon div.sub_icon.chbx_1 { - background-position: -18px 5px; -} - -div.dhtmlxMenu_material_SubLevelArea_Polygon td.sub_item_icon div.sub_icon.rdbt_0 { - background-position: -72px 5px; -} - -div.dhtmlxMenu_material_SubLevelArea_Polygon td.sub_item_icon div.sub_icon.rdbt_1 { - background-position: -90px 5px; -} - -div.dhtmlxMenu_material_SubLevelArea_Polygon td.sub_item_text div.sub_item_text { - position: relative; - height: 30px; - line-height: 30px; - padding: 0 22px 0 1px; - overflow: hidden; -} - -div.dhtmlxMenu_material_SubLevelArea_Polygon td.sub_item_hk { - padding: 0 10px 0 8px; -} - -div.dhtmlxMenu_material_SubLevelArea_Polygon td.sub_item_hk div.sub_item_hk { - color: #8d8d8d; - font-size: 12px; - text-align: right; -} - -div.dhtmlxMenu_material_SubLevelArea_Polygon td div.complex_arrow { - float: right; - width: 10px; - margin: 0 1px 0 11px; - height: 30px; - line-height: 30px; - background-image: url("imgs/dhxmenu_material/dhxmenu_subar.png"); - background-repeat: no-repeat; - background-position: 0 10px; - overflow: hidden; - font-size: 1px; -} - -div.dhtmlxMenu_material_SubLevelArea_Polygon td div.complex_arrow_loading { - width: 16px; - height: 30px; - line-height: 30px; - background-position: center center; - background-repeat: no-repeat; - background-image: url("imgs/dhxmenu_material/dhxmenu_loader.gif"); - float: right; -} - -div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_item_selected td { - background-color: #ebebeb; -} - -div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_item_selected td div.complex_arrow { - background-position: -10px 10px; -} - -div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_item_dis td.sub_item_hk div.sub_item_hk { - color: #c0c0c0; -} - -div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_item_dis td div.sub_item_text, -div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_item_dis td td.sub_item_icon i { - color: #a6a6a6; -} - -div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_item_dis td div.complex_arrow { - background-position: -20px 10px; -} - -div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_item_dis td div.sub_icon.chbx_0 { - background-position: -36px 5px; -} - -div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_item_dis td div.sub_icon.chbx_1 { - background-position: -54px 5px; -} - -div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_item_dis td div.sub_icon.rdbt_0 { - background-position: -108px 5px; -} - -div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_item_dis td div.sub_icon.rdbt_1 { - background-position: -126px 5px; -} - -div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_item_dis td i { - color: #a6a6a6; -} - -div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_sep td { - padding: 5px 3px; -} - -div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_sep td div.sub_sep { - position: relative; - font-size: 1px; - line-height: 1px; - height: 0; - width: 100%; - border-top: 1px solid #dfdfdf; -} - -div.dhtmlxMenu_material_SubLevelArea_Polygon div.dhtmlxMenu_material_SubLevelArea_ArrowUp, -div.dhtmlxMenu_material_SubLevelArea_Polygon div.dhtmlxMenu_material_SubLevelArea_ArrowUp_Over, -div.dhtmlxMenu_material_SubLevelArea_Polygon div.dhtmlxMenu_material_SubLevelArea_ArrowUp_Disabled { - position: relative; - font-size: 1px; - border-bottom: 1px solid #dfdfdf; - background-image: url("imgs/dhxmenu_material/dhxmenu_arrow_up.png"); - background-repeat: no-repeat; - background-position: center 2px; - padding: 8px 0; - margin-bottom: 3px; -} - -div.dhtmlxMenu_material_SubLevelArea_Polygon div.dhtmlxMenu_material_SubLevelArea_ArrowUp_Disabled { - background-image: url("imgs/dhxmenu_material/dhxmenu_arrow_up_dis.png"); -} - -div.dhtmlxMenu_material_SubLevelArea_Polygon div.dhtmlxMenu_material_SubLevelArea_ArrowDown, -div.dhtmlxMenu_material_SubLevelArea_Polygon div.dhtmlxMenu_material_SubLevelArea_ArrowDown_Over, -div.dhtmlxMenu_material_SubLevelArea_Polygon div.dhtmlxMenu_material_SubLevelArea_ArrowDown_Disabled { - position: relative; - font-size: 1px; - border-top: 1px solid #dfdfdf; - background-image: url("imgs/dhxmenu_material/dhxmenu_arrow_down.png"); - background-repeat: no-repeat; - background-position: center 6px; - padding: 8px 0; - margin-top: 3px; -} - -div.dhtmlxMenu_material_SubLevelArea_Polygon div.dhtmlxMenu_material_SubLevelArea_ArrowDown_Disabled { - background-image: url("imgs/dhxmenu_material/dhxmenu_arrow_down_dis.png"); -} - -iframe.dhtmlxMenu_IE6CoverFix_material { - position: absolute; - border: none; - background: #000; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=100); -} - -.dhtmlxMenu_material_Middle.dir_left div.align_left { - float: left; -} - -.dhtmlxMenu_material_Middle.dir_left div.align_right { - float: right; -} - -.dhxmenu_skin_detect { - position: absolute; - left: 0; - top: -100px; - margin: 0; - padding: 0; - border: 0 solid white; - width: 40px; - height: 10px; - overflow: hidden; -} - -@keyframes dhx_loader_rotate { - 100% { - transform: rotate(360deg); - } -} - -@keyframes dhx_loader_dash { - 0% { - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - } - 50% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -35px; - } - 100% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -124px; - } -} - -.dhtmlxribbon_material { - overflow: hidden; - width: 100%; -} - -.dhtmlxribbon_material.dhxrb_without_tabbar { - background-color: #fafafa; - border: 1px solid #dfdfdf; -} - -.dhtmlxribbon_material .dhxrb_background_area { - height: 126px; - background-color: #fafafa; - margin: 1px; -} - -.dhtmlxribbon_material .dhxrb_with_tabbar { - height: 171px; -} - -.dhtmlxribbon_material div.dhx_cell_tabbar { - background-color: #fafafa; -} - -.dhtmlxribbon_material .dhxrb_g_area { - height: 124px; - float: left; - clear: left; - overflow: hidden; - position: relative; -} - -.dhtmlxribbon_material .dhxrb_block_base { - margin: 3px 0 3px 3px; - float: left; - border: 1px solid #dfdfdf; - background-color: #fafafa; - height: 118px; - overflow: hidden; - position: relative; -} - -.dhtmlxribbon_material .dhxrb_block_base .dhxrb_block_items { - height: 95px; - float: left; - padding: 2px 0; - overflow: hidden; -} - -.dhtmlxribbon_material .dhxrb_block_base>.dhxrb_block_label { - height: 19px; - line-height: 18px; - *height: auto; - *line-height: 1em; -} - -.dhtmlxribbon_material .dhxrb_block_base .dhxrb_block_label { - text-align: center; - clear: left; - background-color: #ebebeb; - *font-size: 12px; - *padding: 1px 3px 3px; - *font-family: Arial; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} - -.dhtmlxribbon_material .dhxrb_big_button { - margin: 1px 3px; - float: left; - text-align: center; - padding: 4px 10px; - height: 82px; - border: 1px solid #fafafa; - background-color: #fafafa; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} - -.dhtmlxribbon_material .dhxrb_big_button .dhxrb_image { - width: 48px; - height: 48px; - border: none; -} - -.dhtmlxribbon_material .dhxrb_big_button i { - position: relative; - display: block; - margin-top: 2px; - margin-bottom: 2px; - width: 48px; - height: 48px; - line-height: 47px; - font-size: 30px; - color: inherit; - cursor: default; - text-align: center; -} - -.dhtmlxribbon_material .dhxrb_big_button .dhxrb_label_button { - margin: 0 auto; - cursor: default; - line-height: 14px; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} - -.dhtmlxribbon_material .dhxrb_big_button .dhxrb_invisible { - visibility: hidden; -} - -.dhtmlxribbon_material .dhxrb_3rows_block { - float: left; - margin: 0 3px; - overflow: hidden; - position: relative; -} - -.dhtmlxribbon_material .dhxrb_3rows_block .dhxrb_invisible { - display: none; -} - -.dhtmlxribbon_material .dhxrb_3rows_button { - height: 25px; - margin: 1px 0; - float: left; - clear: left; - padding: 1px 8px; - border: 1px solid #fafafa; - background-color: #fafafa; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} - -.dhtmlxribbon_material .dhxrb_in_row { - height: 22px; - margin: 1px 0; - float: left; - padding: 1px 8px; - white-space: nowrap; - border: 1px solid #fafafa; - background-color: #fafafa; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} - -.dhtmlxribbon_material .dhxrb_group .dhxrb_buttoncombo_cont { - height: 20px; -} - -.dhtmlxribbon_material .dhxrb_buttoncombo_cont { - height: 24px; - padding: 0 2px!important; -} - -.dhtmlxribbon_material .dhxrb_buttoncombo { - float: left; -} - -.dhtmlxribbon_material .dhxrb_in_row .dhxrb_slider, -.dhtmlxribbon_material .dhxrb_3rows_button .dhxrb_slider { - float: left; - margin-right: 5px; -} - -.dhtmlxribbon_material .dhxrb_in_row center, -.dhtmlxribbon_material .dhxrb_in_group center, -.dhtmlxribbon_material .dhxrb_3rows_button center { - float: left; - margin: 0; - padding: 0; -} - -.dhtmlxribbon_material .dhxrb_in_group .dhxrb_slider { - float: left; - margin-right: 5px; -} - -.dhtmlxribbon_material .dhxrb_big_button .dhxrb_slider { - width: 16px; - margin: 2px 0; - height: 50px; -} - -.dhtmlxribbon_material .dhxrb_in_group { - height: 23px; - float: left; - padding: 1px 4px; - border: 1px solid #ebebeb; -} - -.dhtmlxribbon_material .dhxrb_input { - float: left; - border: 1px solid #dfdfdf; - background-color: #fff; - height: 18px; - width: 80px; - padding: 1px 2px; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} - -.dhtmlxribbon_material .dhxrb_input:disabled { - color: #a6a6a6; -} - -.dhtmlxribbon_material div.dhxcombo_material { - height: 24px; - line-height: 24px; -} - -.dhtmlxribbon_material div.dhxcombo_material input.dhxcombo_input { - float: left; - height: 24px; - width: 80px; - padding: 0 2px; - line-height: 24px; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} - -.dhtmlxribbon_material .dhxrb_in_group .dhxrb_input { - height: 16px; - padding: 1px 1px; - line-height: 16px; -} - -.dhtmlxribbon_material .dhxrb_in_group div.dhxcombo_material { - height: 20px; - line-height: 20px; -} - -.dhtmlxribbon_material .dhxrb_in_group div.dhxcombo_material input.dhxcombo_input { - height: 20px; - line-height: 20px; -} - -.dhtmlxribbon_material .dhxrb_in_group div.dhxcombo_material div.dhxcombo_select_button { - top: 0; -} - -.dhtmlxribbon_material div.dhxcombo_material div.dhxcombo_select_button { - top: 2px; -} - -.dhtmlxribbon_material .dhxrb_3rows_button .dhxrb_image, -.dhtmlxribbon_material .dhxrb_in_row .dhxrb_image, -.dhtmlxribbon_material .dhxrb_in_group .dhxrb_image { - margin: 3px 0; - width: 18px; - height: 18px; - float: left; -} - -.dhtmlxribbon_material .dhxrb_3rows_button i, -.dhtmlxribbon_material .dhxrb_in_row i, -.dhtmlxribbon_material .dhxrb_in_group i { - position: relative; - float: left; - width: 18px; - height: 18px; - line-height: 17px; - font-size: 15px; - margin-top: 3px; - color: inherit; - cursor: default; - text-align: center; -} - -.dhtmlxribbon_material .dhxrb_item_disable i { - color: #a6a6a6; -} - -.dhtmlxribbon_material .dhxrb_3rows_button .dhxrb_label_button, -.dhtmlxribbon_material .dhxrb_in_row .dhxrb_label_button, -.dhtmlxribbon_material .dhxrb_in_group .dhxrb_label_button { - float: left; - cursor: default; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} - -.dhtmlxribbon_material .dhxrb_3rows_button .dhxrb_label_button, -.dhtmlxribbon_material .dhxrb_in_row .dhxrb_label_button { - margin: 1px 0 1px 6px; - line-height: 22px; -} - -.dhtmlxribbon_material .dhxrb_in_group .dhxrb_label_button { - margin: 1px; - line-height: 22px; -} - -.dhtmlxribbon_material .dhxrb_label_checkbox { - float: left; - margin: 0 4px; - cursor: default; - line-height: 21px; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} - -.dhtmlxribbon_material .dhxrb_group .dhxrb_label_checkbox { - line-height: 19px; -} - -.dhtmlxribbon_material .dhxrb_disable_text_style, -.dhtmlxribbon_material .dhxrb_item_disable .dhxrb_label_checkbox { - color: #a6a6a6!important; -} - -.dhtmlxribbon_material .dhxrb_highlight0 { - background-color: #ebebeb; - border-color: #ebebeb; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhtmlxribbon_material .dhxrb_highlight1 { - background-color: #dcdcdc; - border-color: #d2d2d2; - box-shadow: 0 0 4px rgba(127, 127, 127, 0.2) inset; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhtmlxribbon_material .dhxrb_item_hide { - display: none!important; -} - -.dhtmlxribbon_material .dhxrb_block_rows { - float: left; - margin: 0 3px; -} - -.dhtmlxribbon_material .dhxrb_block_row { - float: left; - clear: left; - height: 28px; - overflow: hidden; - position: relative; -} - -.dhtmlxribbon_material .dhxrb_arrow { - padding: 0 5px; - margin-left: 2px; - background: url("imgs/dhxribbon_material/dhxribbon_arrow.gif") no-repeat 50%; -} - -.dhtmlxribbon_material .dhxrb_item_disable .dhxrb_arrow { - opacity: .4; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=40); -} - -.dhtmlxribbon_material .dhxrb_3rows_block .dhxrb_group { - border: 1px solid #dcdcdc; - background-color: #ebebeb; - height: 26px; - float: left; - clear: left; - margin: 1px 0; - overflow: hidden; - position: relative; -} - -.dhtmlxribbon_material .dhxrb_block_row .dhxrb_group { - border: 1px solid #dfdfdf; - background-color: #fafafa; - height: 24px; - float: left; - margin: 1px 0; - overflow: hidden; - position: relative; -} - -.dhtmlxribbon_material .dhxrb_in_group .dhxrb_label_hide { - display: none; -} - -.dhtmlxribbon_material .dhxrb_separator_groupp { - height: 27px; - width: 0; - border-left: 1px solid #dcdcdc; - overflow: hidden; - float: left; -} - -.dhtmlxribbon_material .dhxrb_checkbox { - border: 1px solid #dfdfdf; - background-color: white; - float: left; - width: 12px; - height: 12px; - margin-top: 4px; - overflow: hidden; -} - -.dhtmlxribbon_material .dhxrb_in_group .dhxrb_checkbox { - margin-top: 3px; -} - -.dhtmlxribbon_material .dhxrb_checked .dhxrb_checkbox { - background-image: url("imgs/dhxribbon_material/dhxribbon_checked.gif"); - background-repeat: no-repeat; -} - -.dhtmlxribbon_material .dhxrb_checked.dhxrb_item_disable>.dhxrb_checkbox { - background-image: url("imgs/dhxribbon_material/dhxribbon_checked_dis.gif"); -} - -.dhtmlxribbon_material .dhxrb_item_disable .dhxrb_checkbox { - background-color: #fafafa; -} - -.dhtmlxribbon_material .dhxrb_item_text { - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} - -.dhtmlxribbon_material .dhxrb_in_group .dhxrb_item_text { - height: 20px; - line-height: 19px; - *float: left; - *clear: left; -} - -.dhtmlxribbon_material .dhxrb_3rows_button .dhxrb_item_text, -.dhtmlxribbon_material .dhxrb_in_row .dhxrb_item_text { - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} - -.dhtmlxribbon_material .dhxrb_big_button .dhxrb_item_text { - line-height: 82px; - height: 82px; - float: left; - clear: left; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} - -.dhtmlxribbon_skin_detect { - position: absolute; - left: 0; - top: -100px; - margin: 0; - padding: 0; - border: 0 solid white; - width: 40px; - height: 10px; - overflow: hidden; -} - -@keyframes dhx_loader_rotate { - 100% { - transform: rotate(360deg); - } -} - -@keyframes dhx_loader_dash { - 0% { - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - } - 50% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -35px; - } - 100% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -124px; - } -} - -.dhx_toolbar_material { - background-color: #fafafa; - position: relative; - padding: 0 5px; - cursor: default; - overflow: hidden; - border: 1px solid #dfdfdf; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} - -.dhx_toolbar_material.dhx_toolbar_shadow { - border-width: 0; - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); -} - -.dhx_toolbar_material div.dhxtoolbar_float_left { - float: left; -} - -.dhx_toolbar_material div.dhxtoolbar_float_right { - float: right; -} - -.dhx_toolbar_material div.dhx_toolbar_btn, -.dhx_toolbar_material div.dhx_toolbar_arw { - position: relative; - float: left; - border-style: solid; - border-color: #fafafa; - border-width: 0 1px 0 1px; - line-height: inherit; - cursor: default; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhx_toolbar_material div.dhx_toolbar_btn.dhxtoolbar_btn_dis, -.dhx_toolbar_material div.dhx_toolbar_arw.dhxtoolbar_btn_dis { - color: #a6a6a6; -} - -.dhx_toolbar_material div.dhx_toolbar_btn.dhxtoolbar_btn_dis i, -.dhx_toolbar_material div.dhx_toolbar_arw.dhxtoolbar_btn_dis i { - color: #c0c0c0; -} - -.dhx_toolbar_material div.dhx_toolbar_btn.dhxtoolbar_btn_dis div.dhxtoolbar_sl_bg_l, -.dhx_toolbar_material div.dhx_toolbar_btn.dhxtoolbar_btn_dis div.dhxtoolbar_sl_bg_m, -.dhx_toolbar_material div.dhx_toolbar_btn.dhxtoolbar_btn_dis div.dhxtoolbar_sl_bg_r, -.dhx_toolbar_material div.dhx_toolbar_arw.dhxtoolbar_btn_dis div.dhxtoolbar_sl_bg_l, -.dhx_toolbar_material div.dhx_toolbar_arw.dhxtoolbar_btn_dis div.dhxtoolbar_sl_bg_m, -.dhx_toolbar_material div.dhx_toolbar_arw.dhxtoolbar_btn_dis div.dhxtoolbar_sl_bg_r { - border-color: #dfdfdf; - background-color: #fafafa; -} - -.dhx_toolbar_material div.dhx_toolbar_btn.dhxtoolbar_btn_dis div.dhxtoolbar_sl_pen, -.dhx_toolbar_material div.dhx_toolbar_arw.dhxtoolbar_btn_dis div.dhxtoolbar_sl_pen { - background-color: #dfdfdf; - border: 1px solid white; - width: 10px; - height: 10px; -} - -.dhx_toolbar_material div.dhx_toolbar_btn.dhxtoolbar_btn_over, -.dhx_toolbar_material div.dhx_toolbar_arw.dhxtoolbar_btn_over { - background-color: #ebebeb; - border-color: #ebebeb; -} - -.dhx_toolbar_material div.dhx_toolbar_btn.dhxtoolbar_btn_pres, -.dhx_toolbar_material div.dhx_toolbar_arw.dhxtoolbar_btn_pres { - background-color: #dcdcdc; - border-color: #d2d2d2; - box-shadow: 0 0 4px rgba(127, 127, 127, 0.2) inset; -} - -.dhx_toolbar_material div.dhx_toolbar_btn { - padding: 0 5px; -} - -.dhx_toolbar_material div.dhx_toolbar_btn.dhxtoolbar_btn_pres_dis { - background-color: #ececec; - border-color: #dfdfdf; - color: #a6a6a6; - box-shadow: 0 0 4px rgba(127, 127, 127, 0.2) inset; -} - -.dhx_toolbar_material div.dhx_toolbar_btn img { - float: left; - margin-right: 2px; - margin-left: 2px; - cursor: default; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhx_toolbar_material div.dhx_toolbar_btn i { - float: left; - margin: 0 2px; - text-align: center; - cursor: default; - color: #666; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhx_toolbar_material div.dhx_toolbar_btn div.dhxtoolbar_text { - float: left; - position: relative; - font: inherit; - margin: 0 4px; - padding: 0; - cursor: default; - overflow: hidden; - white-space: nowrap; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhx_toolbar_material div.dhx_toolbar_btn input.dhxtoolbar_input { - position: relative; - border: 1px solid #dfdfdf; - background-color: #fff; - margin: 0 4px; - padding: 2px 4px 3px 4px; - line-height: normal; - direction: ltr; - outline: none; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} - -.dhx_toolbar_material div.dhx_toolbar_btn input.dhxtoolbar_input:disabled { - color: #a6a6a6; -} - -.dhx_toolbar_material div.dhx_toolbar_arw { - padding: 0 6px; - margin-left: -1px; - z-index: 1; -} - -.dhx_toolbar_material div.dhx_toolbar_arw.dhxtoolbar_btn_over { - border-left-color: #e3e3e3; -} - -.dhx_toolbar_material div.dhx_toolbar_arw.dhxtoolbar_btn_pres { - border-left-color: #cbcbcb; - box-shadow: 0 0 3px rgba(127, 127, 127, 0.18) inset; -} - -.dhx_toolbar_material div.dhx_toolbar_arw div.arwimg { - position: relative; - width: 7px; - background-image: url("imgs/dhxtoolbar_material/dhxtoolbar_arrow.gif"); - background-position: center center; - background-repeat: no-repeat; -} - -.dhx_toolbar_material div.dhx_toolbar_arw.dhxtoolbar_btn_dis div.arwimg { - background-image: url("imgs/dhxtoolbar_material/dhxtoolbar_arrow_dis.gif"); -} - -.dhx_toolbar_material div.dhx_toolbar_sep { - float: left; - position: relative; - border-left: 1px solid #dfdfdf; - margin: 3px 8px 0 8px; - width: 0; - overflow: hidden; - cursor: default; - font-size: 1px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhx_toolbar_material div.dhx_toolbar_text { - float: left; - position: relative; - padding: 0 5px; - font: inherit; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhx_toolbar_material div.dhxtoolbar_sl_bg_l, -.dhx_toolbar_material div.dhxtoolbar_sl_bg_m, -.dhx_toolbar_material div.dhxtoolbar_sl_bg_r { - float: left; - line-height: 1px; - padding: 0; - width: 2px; - font-size: 1px; - border-color: #d2d2d2; - border-width: 1px 0 1px 0; - border-style: solid; - overflow: hidden; -} - -.dhx_toolbar_material div.dhxtoolbar_sl_bg_l { - margin-left: 4px; - border-left-width: 1px; -} - -.dhx_toolbar_material div.dhxtoolbar_sl_bg_r { - margin-right: 4px; - border-right-width: 1px; -} - -.dhx_toolbar_material div.dhxtoolbar_sl_pen, -.dhx_toolbar_material div.dhxtoolbar_sl_pen.dhxtoolbar_over { - position: absolute; - border-radius: 50%; - width: 12px; - height: 12px; - background-color: #39c; - cursor: default; - font-size: 1px; - line-height: 1px; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhx_toolbar_material.dhxtoolbar_icons_18 { - height: 32px; - line-height: 32px; -} - -.dhx_toolbar_material.dhxtoolbar_icons_18 div.dhx_toolbar_btn, -.dhx_toolbar_material.dhxtoolbar_icons_18 div.dhx_toolbar_arw, -.dhx_toolbar_material.dhxtoolbar_icons_18 div.dhx_toolbar_text { - height: 32px; - line-height: 32px; -} - -.dhx_toolbar_material.dhxtoolbar_icons_18 div.dhx_toolbar_btn img { - margin-top: 7px; - width: 18px; - height: 18px; -} - -.dhx_toolbar_material.dhxtoolbar_icons_18 div.dhx_toolbar_btn i { - width: 18px; - height: 32px; - line-height: 31px; - font-size: 17px; -} - -.dhx_toolbar_material.dhxtoolbar_icons_18 div.dhx_toolbar_btn div.dhxtoolbar_text { - height: 32px; - line-height: 32px; -} - -.dhx_toolbar_material.dhxtoolbar_icons_18 div.dhx_toolbar_sep { - height: 26px; -} - -.dhx_toolbar_material.dhxtoolbar_icons_18 div.dhxtoolbar_sl_bg_l, -.dhx_toolbar_material.dhxtoolbar_icons_18 div.dhxtoolbar_sl_bg_m, -.dhx_toolbar_material.dhxtoolbar_icons_18 div.dhxtoolbar_sl_bg_r { - margin-top: 16px; -} - -.dhx_toolbar_material.dhxtoolbar_icons_18 div.dhxtoolbar_sl_pen, -.dhx_toolbar_material.dhxtoolbar_icons_18 div.dhxtoolbar_sl_pen.dhxtoolbar_over { - top: 11px; -} - -.dhx_toolbar_material.dhxtoolbar_icons_24 { - height: 42px; - line-height: 42px; -} - -.dhx_toolbar_material.dhxtoolbar_icons_24 div.dhx_toolbar_btn, -.dhx_toolbar_material.dhxtoolbar_icons_24 div.dhx_toolbar_arw, -.dhx_toolbar_material.dhxtoolbar_icons_24 div.dhx_toolbar_text { - height: 42px; - line-height: 42px; -} - -.dhx_toolbar_material.dhxtoolbar_icons_24 div.dhx_toolbar_btn img { - margin-top: 9px; - width: 24px; - height: 24px; -} - -.dhx_toolbar_material.dhxtoolbar_icons_24 div.dhx_toolbar_btn i { - width: 24px; - height: 42px; - line-height: 41px; - font-size: 22px; -} - -.dhx_toolbar_material.dhxtoolbar_icons_24 div.dhx_toolbar_btn div.dhxtoolbar_text { - height: 42px; - line-height: 42px; -} - -.dhx_toolbar_material.dhxtoolbar_icons_24 div.dhx_toolbar_sep { - height: 36px; -} - -.dhx_toolbar_material.dhxtoolbar_icons_24 div.dhxtoolbar_sl_bg_l, -.dhx_toolbar_material.dhxtoolbar_icons_24 div.dhxtoolbar_sl_bg_m, -.dhx_toolbar_material.dhxtoolbar_icons_24 div.dhxtoolbar_sl_bg_r { - margin-top: 21px; -} - -.dhx_toolbar_material.dhxtoolbar_icons_24 div.dhxtoolbar_sl_pen, -.dhx_toolbar_material.dhxtoolbar_icons_24 div.dhxtoolbar_sl_pen.dhxtoolbar_over { - top: 16px; -} - -.dhx_toolbar_material.dhxtoolbar_icons_32 { - height: 52px; - line-height: 52px; -} - -.dhx_toolbar_material.dhxtoolbar_icons_32 div.dhx_toolbar_btn, -.dhx_toolbar_material.dhxtoolbar_icons_32 div.dhx_toolbar_arw, -.dhx_toolbar_material.dhxtoolbar_icons_32 div.dhx_toolbar_text { - height: 52px; - line-height: 52px; -} - -.dhx_toolbar_material.dhxtoolbar_icons_32 div.dhx_toolbar_btn img { - margin-top: 10px; - width: 32px; - height: 32px; -} - -.dhx_toolbar_material.dhxtoolbar_icons_32 div.dhx_toolbar_btn i { - width: 32px; - height: 52px; - line-height: 51px; - font-size: 27px; -} - -.dhx_toolbar_material.dhxtoolbar_icons_32 div.dhx_toolbar_btn div.dhxtoolbar_text { - height: 52px; - line-height: 52px; -} - -.dhx_toolbar_material.dhxtoolbar_icons_32 div.dhx_toolbar_sep { - height: 46px; -} - -.dhx_toolbar_material.dhxtoolbar_icons_32 div.dhxtoolbar_sl_bg_l, -.dhx_toolbar_material.dhxtoolbar_icons_32 div.dhxtoolbar_sl_bg_m, -.dhx_toolbar_material.dhxtoolbar_icons_32 div.dhxtoolbar_sl_bg_r { - margin-top: 26px; -} - -.dhx_toolbar_material.dhxtoolbar_icons_32 div.dhxtoolbar_sl_pen, -.dhx_toolbar_material.dhxtoolbar_icons_32 div.dhxtoolbar_sl_pen.dhxtoolbar_over { - top: 21px; -} - -.dhx_toolbar_material.dhxtoolbar_icons_48 { - height: 62px; - line-height: 62px; -} - -.dhx_toolbar_material.dhxtoolbar_icons_48 div.dhx_toolbar_btn, -.dhx_toolbar_material.dhxtoolbar_icons_48 div.dhx_toolbar_arw, -.dhx_toolbar_material.dhxtoolbar_icons_48 div.dhx_toolbar_text { - height: 62px; - line-height: 62px; -} - -.dhx_toolbar_material.dhxtoolbar_icons_48 div.dhx_toolbar_btn img { - margin-top: 7px; - width: 48px; - height: 48px; -} - -.dhx_toolbar_material.dhxtoolbar_icons_48 div.dhx_toolbar_btn i { - width: 48px; - height: 62px; - line-height: 61px; - font-size: 32px; -} - -.dhx_toolbar_material.dhxtoolbar_icons_48 div.dhx_toolbar_btn div.dhxtoolbar_text { - height: 62px; - line-height: 62px; -} - -.dhx_toolbar_material.dhxtoolbar_icons_48 div.dhx_toolbar_sep { - height: 56px; -} - -.dhx_toolbar_material.dhxtoolbar_icons_48 div.dhxtoolbar_sl_bg_l, -.dhx_toolbar_material.dhxtoolbar_icons_48 div.dhxtoolbar_sl_bg_m, -.dhx_toolbar_material.dhxtoolbar_icons_48 div.dhxtoolbar_sl_bg_r { - margin-top: 31px; -} - -.dhx_toolbar_material.dhxtoolbar_icons_48 div.dhxtoolbar_sl_pen, -.dhx_toolbar_material.dhxtoolbar_icons_48 div.dhxtoolbar_sl_pen.dhxtoolbar_over { - top: 26px; -} - -div.dhx_toolbar_poly_material { - position: absolute; - padding: 5px 0; - background-color: #fafafa; - overflow: hidden; - cursor: default; - line-height: normal; - overflow-y: auto; - border: 1px solid #dfdfdf; - -webkit-overflow-scrolling: touch; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -div.dhx_toolbar_poly_material.dhx_toolbar_shadow { - border-width: 0; - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); -} - -div.dhx_toolbar_poly_material td { - line-height: normal; - padding: 0; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} - -div.dhx_toolbar_poly_material td.td_btn_img { - width: 18px; - text-align: center; -} - -div.dhx_toolbar_poly_material td.td_btn_img img.btn_sel_img { - margin: 4px 6px 0 6px; - width: 18px; - height: 18px; -} - -div.dhx_toolbar_poly_material td.td_btn_img i { - width: 18px; - height: 30px; - line-height: 29px; - margin: 0 6px; - font-size: 1.12em; - text-align: center; - color: #5a5a5a; -} - -div.dhx_toolbar_poly_material td.td_btn_txt div.btn_sel_text { - position: relative; - height: 30px; - line-height: 30px; - padding: 0 22px 0 1px; - overflow: hidden; -} - -div.dhx_toolbar_poly_material .tr_btn_over td, -div.dhx_toolbar_poly_material .tr_btn_selected td { - background-color: #ebebeb; -} - -div.dhx_toolbar_poly_material .tr_btn_disabled td, -div.dhx_toolbar_poly_material .tr_btn_disabled td i { - color: #a6a6a6; -} - -div.dhx_toolbar_poly_material tr.tr_sep td { - padding: 5px 3px; -} - -div.dhx_toolbar_poly_material tr.tr_sep td div.btn_sep { - position: relative; - font-size: 1px; - line-height: 1px; - height: 0; - width: 100%; - border-top: 1px solid #dfdfdf; -} - -div.dhx_toolbar_slider_label_material { - position: absolute; - background-color: #fafafa; - padding: 6px 12px; - overflow: hidden; - cursor: default; - line-height: normal; - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxtoolbar_skin_detect { - position: absolute; - left: 0; - top: -100px; - margin: 0; - padding: 0; - border: 0 solid white; - width: 40px; - height: 10px; - overflow: hidden; -} - -.dhxtoolbar_maxopen_test { - position: absolute; - width: 200px; - height: 50px; - overflow-x: none; - overflow-y: auto; - left: -300px; - top: 100px; - border: 1px solid white; - visibility: hidden; -} - -.dhxtoolbar_maxopen_test2 { - height: 200px; -} - -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging, -.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging, -.dhxtabbar_base_material div.dhx_cell_tabbar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging, -.dhxcarousel_base_material div.dhx_cell_carousel div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging, -.dhxsidebar_base_material div.dhx_cell_sidebar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging { - height: 33px; -} - -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging .dhx_toolbar_material, -.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging .dhx_toolbar_material, -.dhxtabbar_base_material div.dhx_cell_tabbar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging .dhx_toolbar_material, -.dhxcarousel_base_material div.dhx_cell_carousel div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging .dhx_toolbar_material, -.dhxsidebar_base_material div.dhx_cell_sidebar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging .dhx_toolbar_material { - box-shadow: none; - border-width: 0 1px 1px 1px; -} - -.dhxwins_vp_material div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging { - height: 32px; -} - -.dhxwins_vp_material div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging .dhx_toolbar_material { - border-width: 0 1px 1px 0; -} - -@keyframes dhx_loader_rotate { - 100% { - transform: rotate(360deg); - } -} - -@keyframes dhx_loader_dash { - 0% { - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - } - 50% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -35px; - } - 100% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -124px; - } -} - -.dhxeditor_material { - position: relative; -} - -.dhxeditor_material iframe.dhxeditor_mainiframe { - position: absolute; - overflow: hidden; - font: inherit; - top: 0; - left: 0; - width: 100%; - height: 100%; -} - -.dhxeditor_material div.dhx_cell_editor { - position: absolute; - background-color: white; - margin: 0; - padding: 0; - overflow: hidden; - cursor: default; - z-index: 0; -} - -.dhxeditor_material div.dhx_cell_editor div.dhx_cell_cont_editor { - position: absolute; - overflow: hidden; -} - -.dhxeditor_material div.dhx_cell_editor div.dhx_cell_stb { - position: relative; - height: 32px; - line-height: 32px; - padding: 0 5px; - margin: 7px; - border: 1px solid #dfdfdf; - background-color: #fafafa; - overflow: hidden; -} - -.dhxeditor_material div.dhx_cell_editor div.dhx_cell_stb.dhx_cell_stb_shadow { - border-width: 0; - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); -} - -.dhxeditor_material div.dhx_cell_editor div.dhx_cell_stb a { - position: relative; - float: left; - padding: 0 8px; - border-style: solid; - border-color: #fafafa; - border-width: 0 1px 0 1px; -} - -.dhxeditor_material div.dhx_cell_editor div.dhx_cell_stb a div.dhx_cell_stb_button { - position: relative; - float: left; - width: 18px; - height: 32px; - line-height: 32px; - font-size: 1px; - cursor: pointer; - background-image: url("imgs/dhxeditor_material/buttons.png"); - background-position: 0 7px; - background-repeat: no-repeat; -} - -.dhxeditor_material div.dhx_cell_editor div.dhx_cell_stb a div.dhx_cell_stb_button.btn_italic { - background-position: -18px 7px; -} - -.dhxeditor_material div.dhx_cell_editor div.dhx_cell_stb a div.dhx_cell_stb_button.btn_underline { - background-position: -36px 7px; -} - -.dhxeditor_material div.dhx_cell_editor div.dhx_cell_stb a div.dhx_cell_stb_button.btn_clearformat { - background-position: -54px 7px; -} - -.dhxeditor_material div.dhx_cell_editor div.dhx_cell_stb a:hover { - background-color: #ebebeb; - border-color: #ebebeb; -} - -.dhxeditor_material div.dhx_cell_editor div.dhx_cell_toolbar_def { - position: relative; - overflow: hidden; - padding: 7px; -} - -.dhxeditor_material div.dhx_cell_editor div.dhx_cell_toolbar_def div.dhx_toolbar_material { - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); -} - -.dhxeditor_material.stb_height_detect { - position: absolute; - left: 0; - top: -100px; - margin: 0; - padding: 0; - border: 0 solid white; - width: 50px; - height: 1px; - overflow: hidden; -} - -.dhxeditor_skin_detect { - position: absolute; - left: 0; - top: -100px; - margin: 0; - padding: 0; - border: 0 solid white; - width: 40px; - height: 10px; - overflow: hidden; -} - -@keyframes dhx_loader_rotate { - 100% { - transform: rotate(360deg); - } -} - -@keyframes dhx_loader_dash { - 0% { - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - } - 50% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -35px; - } - 100% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -124px; - } -} - -.dhx_tooltip { - display: none; - position: absolute; - color: #626262; - z-index: 10000; - padding: 4px 10px 4px 10px; - border: 1px solid #fff; - border-radius: 2px; - text-shadow: 0 1px 1px #fff; - box-shadow: 0 0 5px #d9d9d9; - background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #efefef), color-stop(0.5, #f6f6f6), color-stop(1, #efefef)); - background: -o-linear-gradient(#efefef 0, #f6f6f6 50%, #efefef 100%); - background: -ms-linear-gradient(#efefef 0, #f6f6f6 50%, #efefef 100%); - background: -moz-linear-gradient(#efefef 0, #f6f6f6 50%, #efefef 100%); - background: #efefef; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} - -.dhx_chart { - position: relative; - font-family: Roboto, Arial, Helvetica; - font-size: 14px; - color: #404040; - overflow: hidden; - z-index: 0; -} - -.dhx_chart canvas { - position: absolute; - left: 0; - top: 0; -} - -.dhx_canvas_text { - position: absolute; - text-align: center; - overflow: hidden; - white-space: nowrap; - z-index: 1000; -} - -.dhx_map_img { - width: 100%; - height: 100%; - position: absolute; - top: 0; - left: 0; - border: 0; - opacity: 0; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=0); -} - -.dhx_axis_item_y { - position: absolute; - height: 18px; - line-height: 18px; - margin-top: -4px; - text-align: right; -} - -.dhx_axis_title_x { - text-align: center; -} - -.dhx_axis_title_y { - text-align: center; - height: 18px; - line-height: 18px; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; - -webkit-transform: rotate(-90deg); - -moz-transform: rotate(-90deg); - -ms-transform: rotate(-90deg); - -o-transform: rotate(-90deg); - transform: rotate(-90deg); -} - -.dhx_ie_filter { - filter: progid: DXImageTransform.Microsoft.BasicImage(rotation=3); - zoom: 1; - font-family: serif; -} - -.dhx_chart_legend { - position: absolute; - z-index: 1000; -} - -.dhx_chart_legend_item { - height: 18px; - line-height: 18px; - padding: 2px; - cursor: pointer; -} - -.dhx_chart_legend_item.hidden { - color: #aaa; -} - -.dhx_axis_item_y.dhx_radar { - color: #404040; - font-size: 12px; - padding-right: 3px; - height: 13px; - line-height: 13px; - margin-top: 0; -} - -.dhx_canvas_text.dhx_axis_radar_title { - margin-top: 0; - padding-top: 0; -} - -.dhx_axis_item_y, -.dhx_axis_item_x { - color: #404040; -} - -.dhx_axis_item_x { - padding-top: 2px; -} - -@keyframes dhx_loader_rotate { - 100% { - transform: rotate(360deg); - } -} - -@keyframes dhx_loader_dash { - 0% { - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - } - 50% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -35px; - } - 100% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -124px; - } -} - -.dhx_tooltip { - display: none; - position: absolute; - font-family: Roboto, Arial, Helvetica; - color: #626262; - font-size: 14px; - z-index: 10000; - padding: 4px 10px 4px 10px; - border: 1px solid #fff; - border-radius: 3px; - -moz-border-radius: 3px; - -webkit-border-radius: 3px; - -moz-box-shadow: 0 0 3px #d9d9d9; - -webkit-box-shadow: 0 0 3px #d9d9d9; - text-shadow: 0 1px 1px #fff; - box-shadow: 0 0 5px #d9d9d9; - background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #efefef), color-stop(0.5, #f6f6f6), color-stop(1, #efefef)); - background: -o-linear-gradient(#efefef 0, #f6f6f6 50%, #efefef 100%); - background: -ms-linear-gradient(#efefef 0, #f6f6f6 50%, #efefef 100%); - background: -moz-linear-gradient(#efefef 0, #f6f6f6 50%, #efefef 100%); - background: #efefef; -} - -.dhx_noselect { - -moz-user-select: none; - -moz-user-select: -moz-none; - -khtml-user-select: none; -} - -.dhx_allow_selection { - -moz-user-select: text; - -user-select: text; -} - -.dhx_dataview { - overflow-y: auto; - -webkit-overflow-scrolling: touch; - overflow-x: hidden; - -moz-user-select: none; - -moz-user-select: -moz-none; - -khtml-select: none; -} - -.dhx_drag_zone { - position: absolute; - border: 1px solid #A4BED4; - z-index: 8000; - -moz-box-shadow: 5px 5px 5px #888; - -khtml-box-shadow: 5px 5px 5px #888; - background: #fff; -} - -.dhx_dataview_default_item, -.dhx_dataview_default_item_selected { - cursor: pointer; - background-color: white; -} - -.dhx_dataview .dhx_dataview_default_item, -.dhx_dataview .dhx_dataview_default_item_selected { - border-right: 1px solid #eee; - border-bottom: 1px solid #eee; -} - -.dhx_dataview .dhx_dataview_default_item_selected { - background-color: #eee; - border-color: #eee; - color: #404040; - background-repeat: repeat-y; - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAABAQMAAADO7O3JAAAAA1BMVEUzmc3EAelNAAAACklEQVQI12NgAAAAAgAB4iG8MwAAAABJRU5ErkJggg=="); - position: relative; -} - -.dhx_dataview_item { - font-family: Roboto, Arial, Helvetica; - font-size: 14px; - color: #404040; -} - -.dhx_dataview_item .dhx_strong { - font-weight: bold; - display: block; - padding-bottom: 6px; -} - -.dhx_dataview_default_item_selected .dhx_light { - color: #C3C3C3; -} - -.dhx_dataview_item .dhx_light { - color: #919191; -} - -.dhx_drag_over { - background-color: #eee; - background-repeat: repeat-x; -} - -.dhx_pager_item, -.dhx_pager_item_selected { - float: left; - text-align: center; - height: 16px; - font-family: Roboto, Arial, Helvetica; - font-size: 10pt; - border: 1px solid gray; - padding: 2px 4px; - margin-left: 5px; - cursor: pointer; - background-color: white; -} - -.dhx_pager_item_selected { - background-color: lightgrey; - color: white; - cursor: default; - font-weight: bold; -} - -@keyframes dhx_loader_rotate { - 100% { - transform: rotate(360deg); - } -} - -@keyframes dhx_loader_dash { - 0% { - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - } - 50% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -35px; - } - 100% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -124px; - } -} - -.dhx_list { - overflow-y: auto; - -webkit-overflow-scrolling: touch; - overflow-x: hidden; - -moz-user-select: none; - -moz-user-select: -moz-none; - -khtml-select: none; -} - -.dhx_list_default_item, -.dhx_list_default_item_selected { - cursor: pointer; -} - -.dhx_list .dhx_list_default_item, -.dhx_list .dhx_list_default_item_selected { - border-right: none; - border-bottom: 1px solid #eee; - border-left: 2px solid transparent; -} - -.dhx_list .dhx_list_default_item_selected { - background-color: #eee; - color: #404040; - border-color: #eee; - background-repeat: repeat-x; - border-left: 2px solid #39c; -} - -.dhx_list_item { - font-family: Roboto, Arial, Helvetica; - font-size: 14px; - color: #404040; - box-sizing: border-box; - line-height: normal; -} - -.dhx_list_item textarea { - resize: none; - margin-top: -8px; -} - -.dhx_list_item .dhx_strong { - font-weight: bold; - display: block; - padding-bottom: 6px; -} - -.dhx_list_default_item_selected .dhx_light { - color: #C3C3C3; -} - -.dhx_list_item .dhx_light { - color: #919191; -} - -@keyframes dhx_loader_rotate { - 100% { - transform: rotate(360deg); - } -} - -@keyframes dhx_loader_dash { - 0% { - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - } - 50% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -35px; - } - 100% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -124px; - } -} - -.defaultTreeTable { - margin: 0; - padding: 0; - border: 0; -} - -.containerTableStyle { - overflow: auto; - -webkit-overflow-scrolling: touch; - position: relative; - top: 0; - font-size: 12px; - -khtml-user-select: none; -} - -.containerTableStyleRTL span { - direction: rtl; - unicode-bidi: bidi-override; -} - -.containerTableStyleRTL { - direction: rtl; - overflow: auto; - position: relative; - top: 0; - font-size: 12px; -} - -.standartTreeRow { - font-family: Roboto, Arial, Helvetica; - font-size: 14px; - -moz-user-select: none; - line-height: 24px; -} - -.selectedTreeRow { - font-family: Roboto, Arial, Helvetica; - font-size: 14px; - -moz-user-select: none; - background-color: #eee; - color: #39c; -} - -.dhxtree_material .selectedTreeRowFull .dhxTextCell { - background-color: #eee; - color: #39c; -} - -.dragAndDropRow { - color: #39c; -} - -.standartTreeRow_lor { - text-decoration: underline; - background-color: white; - font-family: Roboto, Arial, Helvetica; - font-size: 14px; - -moz-user-select: none; -} - -.standartTreeImage { - height: 24px; - overflow: hidden; - border: 0; - padding: 0; - margin: 0; - font-size: 1px; -} - -.standartTreeImage img { - width: 18px; - height: 24px; - background-position: center center; - background-repeat: no-repeat; - border: 0; - padding: 0; - margin: 0; - font-size: 1px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.hiddenRow { - width: 1px; - overflow: hidden; -} - -.dragSpanDiv, -.dragSpanDiv td { - font-family: Roboto, Arial, Helvetica; - font-size: 14px; - line-height: 14px; - vertical-align: center; - background-color: white; - z-index: 999; -} - -.dragSpanDiv td { - padding: 5px; -} - -.a_dhx_hidden_input { - position: absolute; - top: -1px; - left: -1px; - width: 1px; - height: 1px; - border: none; - background: none; -} - -.a_dhx_hidden_input { - position: absolute; - top: -1px; - left: -1px; - width: 1px; - height: 1px; - border: none; - background: none; -} - -.selectionBar { - top: 0; - background-color: black; - position: absolute; - overflow: hidden; - height: 2px; - z-index: 11; -} - -.intreeeditRow { - font-size: 8pt; - height: 16px; - border: 1px solid silver; - padding: 0; - margin: 0; - margin-left: 4px; - -moz-user-select: text; - -khtml-user-select: text; -} - -.dhx_tree_textSign { - font-size: 8pt; - font-family: monospace; - width: 21px; - color: #404040; - padding: 0; - margin: 0; - cursor: pointer; - text-align: center; -} - -.dhx_tree_opacity { - opacity: 0; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=0); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhx_bg_img_fix { - width: 18px; - height: 24px; - background-repeat: no-repeat; - background-position: center; - background-position-x: center; - background-position-y: center; -} - -.dhxtree_skin_detect { - position: absolute; - left: 0; - top: -100px; - margin: 0; - padding: 0; - border: 0 solid white; - width: 40px; - height: 10px; - overflow: hidden; -} - -@keyframes dhx_loader_rotate { - 100% { - transform: rotate(360deg); - } -} - -@keyframes dhx_loader_dash { - 0% { - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - } - 50% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -35px; - } - 100% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -124px; - } -} - -.dhxtreeview_material { - position: relative; - overflow: hidden; - background-color: white; -} - -.dhxtreeview_material div.dhxtreeview_cont { - position: absolute; - overflow: auto; - background-color: white; -} - -.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area { - position: relative; -} - -.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_kids_cont { - position: relative; - -webkit-transition: opacity .1s; - -moz-transition: opacity .1s; - -ms-transition: opacity .1s; - -o-transition: opacity .1s; - transition: opacity .1s; -} - -.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item { - position: relative; - white-space: nowrap; - cursor: default; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} - -.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text { - position: relative; - padding: 0; - margin: 0; - height: 32px; - line-height: 31px; - color: inherit; - vertical-align: middle; - border-left: 3px solid white; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - cursor: default; -} - -.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_label { - position: absolute; - top: 0; - padding: 0 10px 0 4px; - height: 32px; - line-height: inherit; - font: inherit; -} - -.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected, -.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected:hover { - background-color: #ebebeb; - border-color: #39c; -} - -.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected div.dhxtreeview_item_label, -.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected:hover div.dhxtreeview_item_label { - background-color: #ebebeb; -} - -.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text:hover { - background-color: #f5f5f5; - border-color: #f5f5f5; -} - -.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text:hover div.dhxtreeview_item_label { - background-color: #f5f5f5; -} - -.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon { - position: absolute; - width: 22px; - top: 0; - height: 32px; - line-height: 30px; - text-align: center; - font-size: 16px; - color: #737373; - overflow: hidden; -} - -.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon { - position: absolute; - left: 0; - top: 0; - width: 22px; - height: 32px; - background-repeat: no-repeat; - background-position: center center; -} - -.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_plus { - background-image: url(imgs/dhxtreeview_material/icon_plus.gif); -} - -.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_minus { - background-image: url(imgs/dhxtreeview_material/icon_minus.gif); -} - -.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_file { - background-image: url(imgs/dhxtreeview_material/icon_file.gif); -} - -.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_folder_closed { - background-image: url(imgs/dhxtreeview_material/icon_folder_closed.gif); -} - -.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_folder_opened { - background-image: url(imgs/dhxtreeview_material/icon_folder_opened.gif); -} - -.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_loading { - background-image: url(imgs/dhxtreeview_material/loading.gif); -} - -.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_chbx_0 { - background-image: url(imgs/dhxtreeview_material/icon_chbx_0.gif); -} - -.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_chbx_1 { - background-image: url(imgs/dhxtreeview_material/icon_chbx_1.gif); -} - -.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_chbx_dis_0 { - background-image: url(imgs/dhxtreeview_material/icon_chbx_dis_0.gif); -} - -.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_chbx_dis_1 { - background-image: url(imgs/dhxtreeview_material/icon_chbx_dis_1.gif); -} - -.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa { - position: absolute; - line-height: 32px; - left: 4px; - width: 10px; - text-align: left; - overflow: visible; -} - -.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa.fa-square-o.dhx-disabled, -.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa.fa-check-square-o.dhx-disabled { - color: #b3b3b3; -} - -.dhxtreeview_material div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_drop_preview { - display: none; - position: absolute; - height: 0; - width: 40px; - border-bottom: 2px dotted #39c; - z-index: 1; -} - -.dhxtreeview_material div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_drop_preview.dhxtreeview_drop_0 { - display: block; - top: -1px; -} - -.dhxtreeview_material div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_drop_preview.dhxtreeview_drop_2 { - display: block; - top: 31px; -} - -.dhxtreeview_material div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item.dhxtreeview_item_dragged { - opacity: .5; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=50); -} - -.dhxtreeview_material div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_drop_1, -.dhxtreeview_material div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_drop_1:hover { - background-color: #ebebeb; - border-color: #ebebeb; -} - -.dhxtreeview_material div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_drop_1 div.dhxtreeview_item_label, -.dhxtreeview_material div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_drop_1:hover div.dhxtreeview_item_label { - background-color: #ebebeb; -} - -.dhxtreeview_material div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected, -.dhxtreeview_material div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected:hover { - border-color: #ebebeb; - background-color: #ebebeb; -} - -.dhxtreeview_material div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected div.dhxtreeview_item_label, -.dhxtreeview_material div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected:hover div.dhxtreeview_item_label { - background-color: #ebebeb; -} - -.dhxtreeview_material div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text:hover { - background-color: white; - border-color: white; -} - -.dhxtreeview_material div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text:hover div.dhxtreeview_item_label { - background-color: white; -} - -.dhxtreeview_material.dhxtreeview_with_border { - border: 1px solid white; -} - -.dhxtreeview_material.dhxtreeview_icon_width { - position: absolute; - left: 0; - top: -100px; - width: 22px; - height: 1px; - font-size: 1px; - margin: 0; - padding: 0; - overflow: hidden; -} - -.dhxtreeview_dragged_obj_material { - position: absolute; - color: #3f3f3f; - font-family: Roboto, Arial, Helvetica; - font-size: 14px; - white-space: nowrap; - cursor: default; - background-color: #fafafa; - border-radius: 1px; - box-shadow: 0 0 10px rgba(90, 90, 90, 0.2); - padding: 6px 14px; - border: 1px solid #e0e0e0; -} - -html.dhxtreeview_dnd_mode, -html.dhxtreeview_dnd_mode *, -body.dhxtreeview_dnd_mode, -body.dhxtreeview_dnd_mode * { - cursor: default; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -div.dhx_popup_material div.dhx_popup_area td.dhx_popup_td div.dhxtreeview_material div.dhxtreeview_item div.dhxtreeview_item_label { - white-space: nowrap; -} - -.dhxtreeview_skin_detect { - position: absolute; - left: 0; - top: -100px; - margin: 0; - padding: 0; - border: 0 solid white; - width: 40px; - height: 10px; - overflow: hidden; -} - -@keyframes dhx_loader_rotate { - 100% { - transform: rotate(360deg); - } -} - -@keyframes dhx_loader_dash { - 0% { - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - } - 50% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -35px; - } - 100% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -124px; - } -} - -div.gridbox { - overflow: hidden; - text-align: left; -} - -.dhx_sub_row { - background-color: white; -} - -div.gridbox .xhdr { - background-color: #D4D0C8; -} - -div.gridbox table.obj { - height: 1px; -} - -div.gridbox table.hdr td { - line-height: normal; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: red; - background-color: #D4D0C8; - border: px solid; - border-color: white; - text-align: center; - margin: 0; - padding: 5px 0 5px 0; - font-weight: normal; - overflow: hidden; - empty-cells: show; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -div.gridbox table.obj td { - overflow: hidden; - padding-top: 0; - padding-bottom: 0; - empty-cells: show; - white-space: normal; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -div.gridbox table.obj th, -div.gridbox table.hdr th { - padding: 0; - margin: 0; -} - -div.gridbox table.row20px tr td { - height: 20px; - white-space: nowrap; - padding: 0; -} - -div.gridbox .objbox { - background-color: white; - position: relative; - -webkit-overflow-scrolling: touch; -} - -div.gridbox table.obj td span.space, -div.gridbox table.obj td img.space { - width: 18px; -} - -div.gridbox table.obj td.editable { - -webkit-user-select: text; - -khtml-user-select: text; - -moz-user-select: text; - -ms-user-select: text; - -o-user-select: text; - user-select: text; -} - -div.gridbox table.obj td.group_row { - vertical-align: middle; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; - font-weight: bold; - height: 30px; - border: 0; - border-bottom: 2px solid navy; -} - -.dragSpanDiv { - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; - border: 1px gray solid; - background-color: white; - z-index: 999; -} - -.dhx_combo_select { - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; - border: 1px solid; - border-color: black silver silver black; - background-color: white; - overflow: auto; - cursor: default; - position: absolute; - height: auto; - z-index: 600; -} - -.dhx_combo_edit { - width: 100%; - border: 0; - padding: 0; - padding-right: 1px!ie; - margin: 0; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; - overflow: hidden; - display: block; -} - -table.obj.row20px .dhx_combo_edit { - line-height: 28px; -} - -.dhx_textarea { - border: 1px solid; - border-color: black silver silver black; - position: absolute; - height: 100px; - z-index: 600; -} - -.dhx_clist { - background-color: white; - border: 1px solid black; - padding: 2px 2px 2px 2px; - z-index: 300; -} - -.gridDragLine { - position: absolute; - top: 10px; - left: 0; - width: 100%; - height: 2px; - background-color: black; - overflow: hidden; - pointer-events: none; -} - -div.pagingBlock { - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} - -div.pagingBlock .pagingCurrentPage { - font-weight: bold; - cursor: default; -} - -div.pagingBlock .pagingPage { - cursor: pointer; - text-decoration: underline; -} - -span.recordsInfoBlock { - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} - -div.pagingBlock a { - text-decoration: none; - padding-right: 2px; - color: black; - cursor: pointer; -} - -div.pagingBlock a.dhx_not_active { - text-decoration: none; - cursor: default; -} - -.toolbar_select { - font-size: 10px; -} - -.dhtmlxGrid_selection { - opacity: .5; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=50); - background-color: yellow; - border: 1px dotted black; -} - -div.gridbox div.ftr { - position: absolute; - left: 0; - bottom: 1px; - width: 100%; - overflow: hidden; -} - -div.gridbox div.ftr td { - padding: 5px 5px 5px 10px; - border-top: 1px solid gray; - border-right: 1px solid white; - background-color: white; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; - overflow: hidden; -} - -div.gridbox table.hdr td.columnTargetR div.hdrcell { - border-right: 3px double #F60; - border-left: 3px solid #D4D0C8; -} - -div.gridbox table.hdr td.columnTargetL div.hdrcell { - border-right: 3px solid #D4D0C8; - border-left: 3px double #F60; -} - -.dhx_dragColDiv { - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; - background-color: #D4D0C8; - border: 1px solid; - border-color: white Gray Gray white; - text-align: center; - margin: 0; - padding: 5px 20px 5px 20px; - font-weight: normal; - opacity: .75; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=75); - z-index: 100; -} - -.dhtmlx_live_validation_error { - background-color: #FFE0E0!important; -} - -.dhtmlx_validation_error { - border-bottom: 2px solid red!important; -} - -.dhx_header_cmenu { - background-color: #fff; - border: 2px outset silver; - z-index: 2; -} - -.dhx_header_cmenu_item { - white-space: nowrap; -} - -div.gridbox .filter input, -div.gridbox .filter select { - width: 100%; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; - -webkit-user-select: text; - -khtml-user-select: text; - -moz-user-select: text; - -ms-user-select: text; - -o-user-select: text; - user-select: text; - padding: 2px; - box-sizing: border-box; -} - -div.gridbox .filter input::-ms-clear { - display: none; -} - -div.gridbox_material.gridbox .xhdr { - background-color: white; - border-bottom: 1px solid #dfdfdf; -} - -div.gridbox_material.gridbox table.hdr tr { - background-color: white; -} - -div.gridbox_material.grid table.obj { - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} - -div.gridbox_material.gridbox table.obj tr td { - border-bottom: 1px solid #fff; - border-right: 1px solid #fff; - padding-right: 4px; - padding-left: 4px; - overflow: hidden; -} - -div.gridbox_material.gridbox table.hdr td div.hdrcell { - overflow: hidden; - width: auto; - padding-left: 4px; - width: 100%!ie; -} - -div.gridbox_material.gridbox table.hdr td { - border-width: 0 1px 0 0; - border: 1px solid white; - overflow: hidden; - empty-cells: show; - white-space: normal; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - padding: 9px 0 8px 0; - background-color: white; - font-size: 12px; - font-family: Roboto, Arial, Helvetica; - color: #9f9f9f; - font-weight: 500; - vertical-align: top; - text-align: left; - position: relative; -} - -div.gridbox_material.gridbox table.hdr tr:nth-child(2) td { - border-top: 1px solid white; -} - -div.gridbox_material.gridbox { - border: 1px solid #dfdfdf; -} - -div.gridbox_material.gridbox table.obj tr td, -.dhx_grid_adjust { - padding-top: 3px; - padding-bottom: 4px; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} - -div.gridbox_material.gridbox table.obj.row20px tr td { - padding-top: 0; - padding-bottom: 0; - height: 32px; - line-height: 32px; - border-bottom: 1px solid #dfdfdf; - border-right: 1px solid white; -} - -div.gridbox_material.gridbox table.obj.row20px tr td:last-child { - border-right: 1px solid white; -} - -div.gridbox_material.gridbox table.obj tr td.editable .dhx_combo_edit { - margin-left: -3px; -} - -div.gridbox_material.gridbox table.obj tr td.editable .dhxcombo_in_grid_parent { - margin-left: -3px!important; -} - -div.gridbox_material.gridbox table.obj tr td.editable:first-child { - border: 0 solid white!important; - padding-left: 4px!important; -} - -div.gridbox_material.gridbox table.obj tr td.editable div.treegrid_cell { - padding: 1px 4px; -} - -div.gridbox_material.gridbox table.obj tr.rowselected { - background-color: #eee; - color: #404040; -} - -div.gridbox_material.gridbox table.obj tr.rowselected td { - background-color: #eee; - color: #404040; -} - -div.gridbox_material.gridbox table.obj tr td:first-child { - padding-left: 10px; -} - -div.gridbox_material.gridbox table.obj tr.rowselected td:first-child { - border-left: 2px solid #39c; - padding-left: 8px; -} - -div.gridbox_material.gridbox table.obj.row20px tr.rowselected td { - background-color: #eee; - border-right-color: #eee; - color: #404040; -} - -div.gridbox_material.gridbox table.obj tr td.cellselected { - background-color: #eee; - color: #404040; -} - -div.gridbox_material.gridbox .odd_material { - background-color: #fff; - color: #404040; -} - -.dhx_combo_select, -.gridbox_material.gridbox .dhx_combo_edit, -.gridbox_material.gridbox .dhx_textarea { - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} - -.gridbox_material.gridbox .dhx_combo_edit { - padding: 1px 0 0 4px; -} - -.gridbox_material.gridbox .dhx_sub_row { - background-color: transparent; -} - -.dhx_header_cmenu { - background-color: #fff; - border: 2px outset silver; - z-index: 2; -} - -.dhx_header_cmenu_item { - white-space: nowrap; -} - -.dhx_pbox { - margin-top: 3px; - border: 1px solid #D4D0C8; - border-top: 0; - font-size: 10px; -} - -.dhx_pline { - background-color: white; - margin: -15px 10px 10px 10px; - padding: 0 5px 0 5px; - float: left; -} - -.dhx_page, -.dhx_pager_info { - margin: 3px; - text-align: center; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; - float: left; - cursor: pointer; - color: black; - background-color: gray; - padding: 1px; -} - -.dhx_pager_info { - white-space: nowrap; - background-color: white; - margin: -8px 10px 10px 10px; - padding: 0 5px 0 5px; - cursor: default; -} - -.dhx_page div { - background-color: white; - width: 16px; - height: 17px; - vertical-align: middle; -} - -div.dhx_page_active { - font-weight: bold; - background-color: lightgrey; - cursor: default; - color: white; -} - -.dhx_pbox_modern { - margin-top: 3px; - border: 1px solid #D6D6D6; - border-top: 0; - font-size: 10px; -} - -.dhx_pline_modern { - background-color: white; - margin: -15px 10px 10px 10px; - padding: 0 5px 0 5px; - float: left; -} - -.dhx_page_modern, -.dhx_pager_info_modern { - margin: 3px; - text-align: center; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; - float: left; - cursor: pointer; - color: #055A78; - background-color: #D6D6D6; - padding: 1px; -} - -.dhx_pager_info_modern { - white-space: nowrap; - background-color: white; - margin: -8px 10px 10px 10px; - padding: 0 5px 0 5px; - cursor: default; -} - -.dhx_page_modern div { - background-color: white; - width: 16px; - height: 17px; - vertical-align: middle; -} - -div.dhx_page_active_modern { - font-weight: bold; - background-color: #055A78; - cursor: default; - color: white; -} - -.dhx_pbox_light { - margin-top: 3px; - border: 1px solid #C2D5DC; - border-top: 0; - font-size: 10px; -} - -.dhx_pline_light { - background-color: white; - margin: -15px 10px 10px 10px; - padding: 0 5px 0 5px; - float: left; -} - -.dhx_page_light, -.dhx_pager_info_light { - margin: 3px; - text-align: center; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; - float: left; - cursor: pointer; - color: #055A78; - background-color: #93AFBA; - padding: 1px; -} - -.dhx_pager_info_light { - white-space: nowrap; - background-color: white; - margin: -8px 10px 10px 10px; - padding: 0 5px 0 5px; - cursor: default; -} - -.dhx_page_light div { - background-color: white; - width: 16px; - height: 17px; - vertical-align: middle; -} - -div.dhx_page_active_light { - font-weight: bold; - background-color: #D1DFE3; - cursor: default; - color: white; -} - -.calcTable { - width: 100px; - background-color: silver; - border: 1px black solid; -} - -.calcButton { - height: 20px; - cursor: pointer; - text-align: center; - background-color: gray; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid silver; - border-right: 1px solid silver; -} - -.calcPressed { - height: 20px; - cursor: pointer; - text-align: center; - background-color: gray; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid black; - border-right: 1px solid black; -} - -.calcInput { - background-color: white; - font-size: 10px; - font-weight: bold; - font-family: Roboto, Arial, Helvetica; -} - -.calkSubmit { - padding: 2px; - cursor: pointer; - text-align: center; - background-color: silver; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid white; - border-right: 1px solid white; -} - -.calcTable { - width: 100px; - background-color: silver; - border: 1px black solid; -} - -.calcButton { - height: 20px; - cursor: pointer; - text-align: center; - background-color: gray; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid silver; - border-right: 1px solid silver; -} - -.calcPressed { - height: 20px; - cursor: pointer; - text-align: center; - background-color: gray; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid black; - border-right: 1px solid black; -} - -.calcInput { - background-color: white; - font-size: 10px; - font-weight: bold; - font-family: Roboto, Arial, Helvetica; -} - -.calkSubmit { - padding: 2px; - cursor: pointer; - text-align: center; - background-color: silver; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid white; - border-right: 1px solid white; -} - -.dhxgrid_sort_desc, -.dhxgrid_sort_asc { - width: 0; - height: 0; -} - -div.gridbox_material.gridbox table.hdr td.dhxgrid_sort_desc_col, -div.gridbox_material.gridbox table.hdr td.dhxgrid_sort_asc_col { - background-image: url("imgs/dhxgrid_material/sort_desc.gif"); - background-position: 3px 7px; - background-repeat: no-repeat; -} - -div.gridbox_material.gridbox table.hdr td.dhxgrid_sort_desc_col div, -div.gridbox_material.gridbox table.hdr td.dhxgrid_sort_asc_col div { - padding-left: 18px; - padding-right: 14px; -} - -div.gridbox_material.gridbox table.hdr td.dhxgrid_sort_asc_col { - background-image: url("imgs/dhxgrid_material/sort_asc.gif"); -} - -.dhxgrid_rh_material { - position: absolute; - top: -20px; - left: -33px; - width: 29px; - height: 10px; - margin: 0; - padding: 0; - border-width: 0; - font-size: 1px; - overflow: hidden; -} - -.dhxgrid_skin_detect { - position: absolute; - left: 0; - top: -100px; - margin: 0; - padding: 0; - border: 0 solid white; - width: 40px; - height: 10px; - overflow: hidden; -} - -div.gridbox_material.gridbox table.obj.row20px tr td img { - display: block; -} - -div.gridbox_material.gridbox table.obj.row20px tr td.group_row img, -div.gridbox_material.gridbox table.obj.row20px tr td .treegrid_cell img { - display: inline; -} - -.grid_cell_dyn { - position: relative; - padding-right: 2px; - width: 100%; - overflow: hidden; - white-space: nowrap; -} - -.grid_cell_dyn img { - position: absolute; - top: 7px; - left: 0; - height: 15px; -} - -.grid_cell_dyn span { - padding-left: 20px; - width: 100%; -} - -.grid_collapse_icon { - margin-top: 1px; -} - -.treegrid_cell>i { - padding-right: 5px; - padding-left: 3px; - font-size: 16px; -} - -.dhx_row_drag_active { - background: #eee!important; -} - -@keyframes dhx_loader_rotate { - 100% { - transform: rotate(360deg); - } -} - -@keyframes dhx_loader_dash { - 0% { - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - } - 50% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -35px; - } - 100% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -124px; - } -} - -.dhxform_obj_material { - float: left; - line-height: normal; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} - -.dhxform_obj_material div.dhxform_base { - position: relative; - float: left; -} - -.dhxform_obj_material div.dhxform_base_nested { - padding: 0; - clear: both; - *display: inline-block; -} - -.dhxform_obj_material.dhxform_block { - clear: both; -} - -.dhxform_obj_material div.block_dhxform_item_label_left { - display: block; - clear: both; - *clear: none; -} - -.dhxform_obj_material div.dhxform_label div.dhxform_label_nav_link, -.dhxform_obj_material div.dhxform_label div.dhxform_label_nav_link:visited, -.dhxform_obj_material div.dhxform_label div.dhxform_label_nav_link:active, -.dhxform_obj_material div.dhxform_label div.dhxform_label_nav_link:hover { - outline: 0 solid white; - text-decoration: none; - color: inherit; - cursor: default; - overflow: hidden; - white-space: normal; -} - -.dhxform_obj_material div.dhxform_label div.dhxform_label_nav_link:focus { - color: #39c; -} - -.dhxform_obj_material div.disabled span.nav_link { - color: inherit; -} - -.dhxform_obj_material div.dhxform_img, -.dhxform_obj_material div.dhxform_actv_c, -.dhxform_obj_material div.dhxform_actv_r { - width: 24px; - height: 24px; - font-size: 1px; -} - -.dhxform_obj_material div.dhxform_img.chbx0, -.dhxform_obj_material div.dhxform_img.chbx1, -.dhxform_obj_material div.disabled div.dhxform_img.chbx0, -.dhxform_obj_material div.disabled div.dhxform_img.chbx1, -.dhxform_obj_material div.dhxform_img.rdbt0, -.dhxform_obj_material div.dhxform_img.rdbt1, -.dhxform_obj_material div.disabled div.dhxform_img.rdbt0, -.dhxform_obj_material div.disabled div.dhxform_img.rdbt1, -.dhxform_obj_material div.dhxform_actv_c.chbx0, -.dhxform_obj_material div.dhxform_actv_c.chbx1, -.dhxform_obj_material div.dhxform_actv_r.rdbt0, -.dhxform_obj_material div.dhxform_actv_r.rdbt1 { - background-image: url("imgs/dhxform_material/dhxform_chbxrd.png"); - background-repeat: no-repeat; -} - -.dhxform_obj_material div.dhxform_img.chbx0 { - background-position: -24px 0; -} - -.dhxform_obj_material div.dhxform_img.chbx1 { - background-position: 0 0; -} - -.dhxform_obj_material div.disabled div.dhxform_img.chbx0 { - background-position: -72px 0; -} - -.dhxform_obj_material div.disabled div.dhxform_img.chbx1 { - background-position: -48px 0; -} - -.dhxform_obj_material div.dhxform_img.rdbt0 { - background-position: -120px 0; -} - -.dhxform_obj_material div.dhxform_img.rdbt1 { - background-position: -96px 0; -} - -.dhxform_obj_material div.disabled div.dhxform_img.rdbt0 { - background-position: -168px 0; -} - -.dhxform_obj_material div.disabled div.dhxform_img.rdbt1 { - background-position: -144px 0; -} - -.dhxform_obj_material div.dhxform_actv_c.chbx0 { - background-position: -216px 0; -} - -.dhxform_obj_material div.dhxform_actv_c.chbx1 { - background-position: -192px 0; -} - -.dhxform_obj_material div.dhxform_actv_r.rdbt0 { - background-position: -264px 0; -} - -.dhxform_obj_material div.dhxform_actv_r.rdbt1 { - background-position: -240px 0; -} - -.dhxform_obj_material div.dhxform_actv_c.chbx1, -.dhxform_obj_material div.dhxform_img.chbx1 { - background: linear-gradient(transparent, transparent), url("imgs/dhxform_material/dhxform_check_on.svg") 0 -1px no-repeat; -} - -.dhxform_obj_material div.dhxform_actv_c.chbx0, -.dhxform_obj_material div.dhxform_img.chbx0 { - background: linear-gradient(transparent, transparent), url("imgs/dhxform_material/dhxform_check_off.svg") 0 -1px no-repeat; -} - -.dhxform_obj_material div.dhxform_actv_r.rdbt1, -.dhxform_obj_material div.dhxform_img.rdbt1 { - background: linear-gradient(transparent, transparent), url("imgs/dhxform_material/dhxform_radio_on.svg") 0 -1px no-repeat; -} - -.dhxform_obj_material div.dhxform_actv_r.rdbt0, -.dhxform_obj_material div.dhxform_img.rdbt0 { - background: linear-gradient(transparent, transparent), url("imgs/dhxform_material/dhxform_radio_off.svg") 0 -1px no-repeat; -} - -.dhxform_obj_material div.dhxform_label_nav_link { - line-height: 22px; -} - -.dhxform_obj_material div.dhxform_label { - overflow-x: hidden; - overflow: hidden; - white-space: normal; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} - -.dhxform_obj_material div.dhxform_label.dhxform_label_align_left { - text-align: left; -} - -.dhxform_obj_material div.dhxform_label.dhxform_label_align_center { - text-align: center; -} - -.dhxform_obj_material div.dhxform_label.dhxform_label_align_right { - text-align: right; -} - -.dhxform_obj_material div.disabled div.dhxform_label, -.dhxform_obj_material div.disabled div.dhxform_label div.dhxform_label_nav_link, -.dhxform_obj_material div.disabled div.dhxform_label span.dhxform_item_required { - color: #a6a6a6; -} - -.dhxform_obj_material div.dhxform_label span.dhxform_item_required { - margin-left: 5px; - color: red; -} - -.dhxform_obj_material input.dhxform_textarea, -.dhxform_obj_material textarea.dhxform_textarea { - padding: 4px 2px!important; - margin: 0; - font-size: 1em; - background-color: white; -} - -.dhxform_obj_material input.dhxform_textarea::-ms-clear, -.dhxform_obj_material textarea.dhxform_textarea::-ms-clear { - display: none; -} - -.dhxform_obj_material input.dhxform_textarea:focus, -.dhxform_obj_material textarea.dhxform_textarea:focus { - border-bottom-color: #39c; - border-bottom-width: 2px; - padding-bottom: 3px!important; - outline: none; -} - -.dhxform_obj_material .dhxform_textarea { - border-width: 0 0 1px 0; - border-style: solid; - border-color: #dfdfdf; - resize: none; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} - -.dhxform_obj_material div.disabled .dhxform_textarea { - color: #a6a6a6; - border-style: dashed; -} - -.dhxform_obj_material input.dhxform_textarea.calendar { - background-image: url("imgs/dhxform_material/dhxform_image_calendar.png"); - background-repeat: no-repeat; - background-position: right 6px; -} - -.dhxform_obj_material div.disabled input.dhxform_textarea.calendar { - background-image: url("imgs/dhxform_material/dhxform_image_calendar_dis.png"); -} - -.dhxform_obj_material div.dhxform_control.dhxform_img_node { - position: relative; -} - -.dhxform_obj_material div.dhxform_control.dhxform_img_node .dhxform_textarea { - border: 1px solid white; - background-color: white; - color: white; - visibility: hidden; - *height: 1px; - *line-height: 1px; - *display: inline; -} - -.dhxform_obj_material div.dhxform_control.dhxform_img_node div.dhxform_img { - float: none; - top: 3px; - left: 0; - position: absolute; - margin: 0; -} - -.dhxform_obj_material div.dhxform_control.dhxform_img_node div.dhxform_actv_c, -.dhxform_obj_material div.dhxform_control.dhxform_img_node div.dhxform_actv_r { - float: none; - position: absolute; - margin: 0; - top: 3px; - left: 0; -} - -.dhxform_obj_material .dhxform_select { - border-width: 0 0 1px 0; - border-style: solid; - border-color: #dfdfdf; - background-color: white; - margin: 0; - padding: 2px!important; - line-height: normal; - vertical-align: middle; - -moz-appearance: none; - -webkit-appearance: none; - -ms-appearance: -ms-none; - appearance: none; - background-image: url(imgs/dhxform_material/dhxform_arrow_down.gif); - background-repeat: no-repeat; - background-position: right 13px; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} - -.dhxform_obj_material .dhxform_select option { - padding: 1px 2px; - outline: none!important; -} - -.dhxform_obj_material .dhxform_select option:focus, -.dhxform_obj_material .dhxform_select option:active { - outline: none!important; -} - -.dhxform_obj_material .dhxform_select:focus { - border-color: #39c; - border-bottom-width: 2px; - padding-bottom: 1px!important; - outline: none!important; -} - -.dhxform_obj_material .dhxform_select.dhxform_arrow_fix_webkit { - background-position: right 6px; -} - -.dhxform_obj_material .dhxform_select.dhxform_arrow_fix_edge { - background-position: right 7px; -} - -.dhxform_obj_material .dhxform_select.dhxform_fix_ff { - height: 28px; -} - -.dhxform_obj_material div.disabled .dhxform_select { - color: #a6a6a6; - border-style: dashed; - background-image: url(imgs/dhxform_material/dhxform_arrow_down_dis.gif); -} - -.dhxform_obj_material div.disabled .dhxform_select option { - color: #a6a6a6; -} - -.dhxform_obj_material div.fs_dhxform_item_label_left { - padding: 5px 0 5px 0; -} - -.dhxform_obj_material div.fs_dhxform_item_label_left fieldset.dhxform_fs div.dhxform_base_nested.dhxform_fs_nested { - margin-right: 19px; - margin-left: 5px; -} - -.dhxform_obj_material fieldset.dhxform_fs { - border: 1px solid #dfdfdf; - margin: 0; - padding: 5px 0 12px 0; - clear: left; - width: 100%; -} - -.dhxform_obj_material div.disabled fieldset.dhxform_fs { - border-style: dashed; -} - -.dhxform_obj_material fieldset.dhxform_fs legend.fs_legend { - font-weight: normal; - padding: 0 4px 1px 4px; - margin-left: 5px; - text-align: left; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} - -.dhxform_obj_material div.disabled fieldset.dhxform_fs legend.fs_legend { - color: #a6a6a6; -} - -.dhxform_obj_material div.dhxform_item_label_right { - clear: both; - padding-top: 9px; - cursor: default; - *display: inline-block; -} - -.dhxform_obj_material div.dhxform_item_label_right div.dhxform_img, -.dhxform_obj_material div.dhxform_item_label_right div.dhxform_actv_c, -.dhxform_obj_material div.dhxform_item_label_right div.dhxform_actv_r { - float: left; - margin: 0; -} - -.dhxform_obj_material div.dhxform_item_label_right div.dhxform_label { - float: left; - padding: 2px 0 1px 0; - margin: 2px 0 2px 0; - *padding-top: 0; - *display: inline-block; -} - -.dhxform_obj_material div.dhxform_item_label_right div.dhxform_control { - float: left; - margin-right: 7px; -} - -.dhxform_obj_material div.dhxform_item_label_left { - clear: both; - padding-top: 9px; - cursor: default; - *display: inline-block; -} - -.dhxform_obj_material div.dhxform_item_label_left div.dhxform_img, -.dhxform_obj_material div.dhxform_item_label_left div.dhxform_actv_c, -.dhxform_obj_material div.dhxform_item_label_left div.dhxform_actv_r { - float: right; - margin: 3px 1px 0 5px; -} - -.dhxform_obj_material div.dhxform_item_label_left div.dhxform_label { - float: left; - padding: 2px 0 1px 0; - margin: 2px 0 2px 0; -} - -.dhxform_obj_material div.dhxform_item_label_left div.dhxform_control { - float: left; - margin-left: 3px; -} - -.dhxform_obj_material div.dhxform_item_label_top { - clear: both; -} - -.dhxform_obj_material div.dhxform_item_label_top div.dhxform_label { - float: none; - margin-bottom: 5px; - margin-top: 8px; -} - -.dhxform_obj_material div.dhxform_item_label_top div.dhxform_control { - float: none; - margin-left: 0; - margin-bottom: 5px; -} - -.dhxform_obj_material div.dhxform_item_absolute { - position: absolute; - left: 0; - top: 0; - cursor: default; -} - -.dhxform_obj_material div.item_absolute div.dhxform_img, -.dhxform_obj_material div.item_absolute div.dhxform_actv_c, -.dhxform_obj_material div.item_absolute div.dhxform_actv_r { - position: absolute; -} - -.dhxform_obj_material div.dhxform_item_absolute div.dhxform_control, -.dhxform_obj_material div.dhxform_item_absolute div.dhxform_label, -.dhxform_obj_material div.dhxform_item_absolute div.dhxform_control.dhxform_img_node, -.dhxform_obj_material div.dhxform_item_absolute div.dhxform_txt_label2, -.dhxform_obj_material div.dhxform_item_absolute div.dhxform_btn, -.dhxform_obj_material div.block_item_absolute div.dhxform_block { - position: absolute; -} - -.dhxform_obj_material div.dhxform_txt_label2 { - font-weight: bold; - margin: 0 3px; - padding: 5px 0; - cursor: default; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} - -.dhxform_obj_material div.disabled div.dhxform_txt_label2 { - color: #a6a6a6; -} - -.dhxform_obj_material div.dhxform_btn { - margin: 1px 2px; - background-color: #f5f5f5; - float: left; - cursor: default; - clear: both; - position: relative; - overflow: hidden; - border: 1px solid #dfdfdf; - outline: none!important; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxform_obj_material.dhxform_rtl div.dhxform_btn { - float: right; -} - -.dhxform_obj_material div.dhxform_btn.dhxform_btn_over { - background-color: #ededed; - outline: none!important; -} - -.dhxform_obj_material div.dhxform_btn.dhxform_btn_pressed { - background-color: #e1e1e1; - border-color: #d2d2d2; - outline: none!important; -} - -.dhxform_obj_material div.dhxform_btn:focus { - outline: none!important; - border-color: #39c; - border-width: 2px; - margin: 0 1px; - color: #545454; -} - -dhxform_obj_material div.disabled div.dhxform_btn { - background-color: #ededed; - border-color: #ededed; -} - -dhxform_obj_material div.disabled div.dhxform_btn div.dhxform_btn_txt { - color: #a6a6a6; -} - -.dhxform_obj_material div.dhxform_btn div.dhxform_btn_txt { - float: left; - margin: 0 18px; - height: 28px; - line-height: 27px; - text-align: center; - vertical-align: middle; - overflow: hidden; - white-space: nowrap; - border-radius: 3px; - *display: inline; - opacity: 1; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=100); -} - -.dhxform_obj_material div.dhxform_btn div.dhxform_btn_txt.dhxform_btn_txt_autowidth { - width: 100%; - margin: 0; -} - -.dhxform_obj_material div.dhxform_btn div.dhxform_btn_filler { - position: absolute; - display: inline-block; - width: 100%; - height: 100px; - left: 0; - top: 0; - background-color: white; - opacity: 0; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=0); -} - -.dhxform_obj_material div.dhxform_control div.dhxform_note { - font: inherit; - color: #5a5a5a; - font-size: .8em; - padding-bottom: 3px; - white-space: normal; -} - -.dhxform_obj_material div.disabled div.dhxform_control div.dhxform_note { - color: #a6a6a6; -} - -.dhxform_obj_material div.dhxform_label span.dhxform_info { - font: inherit; - color: #5a5a5a; - font-size: .6em; - margin-left: 3px; - padding-bottom: 2px; - line-height: normal; - vertical-align: middle; - cursor: pointer; -} - -.dhxform_obj_material .validate_error .dhxform_label, -.dhxform_obj_material .validate_error .dhxform_textarea, -.dhxform_obj_material .validate_error .dhxform_select, -.dhxform_obj_material .validate_error div.dhxform_label_nav_link, -.dhxform_obj_material .validate_error div.dhxform_label div.dhxform_label_nav_link:focus { - color: red; -} - -.dhxform_obj_material div.dhxform_control div.dhxcombo_material { - height: 24px; -} - -.dhxform_obj_material div.dhxform_control div.dhxcombo_material input.dhxcombo_input { - height: 24px; - line-height: 24px; -} - -.dhxform_obj_material div.dhxform_control div.dhxcombo_material div.dhxcombo_image { - top: 3px; -} - -.dhxform_obj_material div.dhxform_control div.dhxcombo_material div.dhxcombo_select_button { - top: 1px; -} - -.dhxform_obj_material div.disabled div.dhxcombo_material { - color: #a6a6a6; - border-bottom-style: dashed; -} - -.dhxform_obj_material div.dhxform_item_template.dhxeditor_material div.dhx_cell_editor { - border: 1px solid #dfdfdf; -} - -.dhxform_obj_material div.dhxform_item_template.dhxeditor_material div.dhx_cell_editor div.dhx_cell_toolbar_def { - padding: 0; - border-top: 1px solid #dfdfdf; -} - -.dhxform_obj_material div.dhxeditor_focus div.dhxform_item_template.dhxeditor_material { - box-shadow: 0 0 3px #c0c0c0; - outline: none; -} - -.dhxform_obj_material div.dhxeditor_focus div.dhxform_item_template.dhxeditor_material div.dhx_cell_editor { - border-color: #39c; -} - -.dhxform_obj_material div.dhxform_item_template.dhxeditor_material div.dhxcont_content_blocker { - display: none; -} - -.dhxform_obj_material div.disabled div.dhxform_item_template.dhxeditor_material div.dhxcont_content_blocker { - display: inline; - position: absolute; - width: 100%; - height: 100%; - top: 0; - left: 0; - background-color: #fafafa; - opacity: .7; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=70); -} - -.dhtmlx_skin_material div.dhtmlx_wins_body_inner .dhxform_obj_material { - background-color: white; -} - -.dhxform_obj_material div.dhxform_control .dhx_combo_box.material .dhx_combo_input, -.dhx_combo_list.material_list div { - font-size: 1em!important; -} - -.dhxform_obj_material .dhx_file_uploader { - position: relative; - width: 100%; - margin-bottom: 4px; -} - -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls { - position: relative; - width: 100%; - height: 35px; - font-size: 2px; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button { - position: absolute; - width: 24px; - height: 24px; - top: 8px; - background-image: url("imgs/dhxform_material/dhxform_upload_buttons.png"); - background-repeat: no-repeat; - font-size: 2px; - cursor: pointer; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=100); - z-index: 1; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -} - -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_info { - display: none; -} - -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_browse { - background-position: 0 0; - right: 108px; -} - -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_upload { - background-position: -24px 0; - right: 79px; -} - -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_cancel { - background-position: -72px 0; - right: 79px; -} - -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_clear { - background-position: -48px 0; - right: 50px; -} - -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls .dhx_uploader_input { - position: absolute; - left: -1000px; - top: 0; - visibility: hidden; -} - -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls div.dhx_file_form_cont { - position: absolute; - width: 19px; - height: 19px; - left: 0; - top: 0; - cursor: pointer; - overflow: hidden; -} - -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls div.dhx_file_form_cont form.dhx_file_form { - position: absolute; - top: 0; - right: 0; - cursor: pointer; -} - -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls div.dhx_file_form_cont form.dhx_file_form .dhx_file_input { - opacity: 0; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=0); - cursor: pointer; - outline: none; - height: 19px; -} - -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files { - position: relative; - width: 100%; - left: 0; - top: 0; - overflow: auto; -} - -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files div.dhx_file { - position: relative; - width: 100%; - height: 25px; - overflow: hidden; -} - -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_added, -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_uploading { - color: black; -} - -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_uploaded { - color: #646464; -} - -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_fail { - color: #e94a4a; -} - -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files div.dhx_file_param { - position: absolute; - font-family: inherit; - font-size: inherit; - color: inherit; - top: 0; - height: 25px; - line-height: 25px; - vertical-align: middle; - overflow: hidden; -} - -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_name { - left: 20px; -} - -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_progress { - right: 50px; - width: 38px; - text-align: right; -} - -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_delete { - right: 30px; - width: 12px; - background-image: url("imgs/dhxform_material/dhxform_upload_buttons.png"); - background-position: -96px 1px; - background-repeat: no-repeat; - cursor: pointer; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_uploading { - right: 50px; - width: 38px; - text-align: right; - background-image: url("imgs/dhxform_material/dhxform_upload_uploading.gif"); - background-position: center center; - background-repeat: no-repeat; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxform_obj_material .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls { - height: 60px; -} - -.dhxform_obj_material .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_files { - display: none; -} - -.dhxform_obj_material .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_info { - display: inline; - background-image: none; - height: auto; - top: 0; - left: 35px; - vertical-align: top; - padding-top: 6px; - line-height: 20px; - cursor: default; - filter: none; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} - -.dhxform_obj_material .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_browse { - top: 0; - width: 54px; - height: 54px; - right: 35px; - background-image: url("imgs/dhxform_material/dhxform_upload_buttons.png"); - background-position: 0 -48px; - background-repeat: no-repeat; -} - -.dhxform_obj_material .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_upload, -.dhxform_obj_material .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_cancel, -.dhxform_obj_material .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_clear { - display: none; -} - -.dhxform_obj_material .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_form_cont { - width: 54px; - height: 54px; -} - -.dhxform_obj_material .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_form_cont form.dhx_file_form .dhx_file_input { - height: 54px; -} - -.dhxform_obj_material .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_info, -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_added, -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_uploading, -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_uploaded, -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_fail { - color: #a6a6a6; -} - -.dhxform_obj_material .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_browse { - background-position: -54px -48px; - cursor: default; -} - -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_form_cont { - display: none; -} - -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button { - cursor: default; -} - -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_browse { - background-position: 0 -24px; -} - -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_upload { - background-position: -24px -24px; -} - -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_cancel { - background-position: -72px -24px; -} - -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_clear { - background-position: -48px -24px; -} - -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file_param.dhx_file_delete { - background-position: -108px 1px; - cursor: default; -} - -.dhxform_obj_material div.dhxform_image { - position: relative; - overflow: hidden; - border: 1px solid #dfdfdf; -} - -.dhxform_obj_material div.dhxform_image img.dhxform_image_img { - position: absolute; -} - -.dhxform_obj_material div.dhxform_image div.dhxform_image_wrap { - position: absolute; - background-color: white; - left: 0; - top: 0; - width: 100%; - height: 100%; - overflow: hidden; - *border: 1px solid white; - *height: 1000px; - opacity: 0; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=0); - -webkit-transition: opacity .6s; - -moz-transition: opacity .6s; - -ms-transition: opacity .6s; - -o-transition: opacity .6s; - transition: opacity .6s; -} - -.dhxform_obj_material div.dhxform_image div.dhxform_image_wrap.dhxform_image_in_progress { - background-image: url("imgs/dhxform_material/dhxform_image_uploading.gif"); - background-position: center center; - background-repeat: no-repeat; - *border-width: 0; - *height: 100%; - opacity: .85; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=85); - -webkit-transition: opacity .1s; - -moz-transition: opacity .1s; - -ms-transition: opacity .1s; - -o-transition: opacity .1s; - transition: opacity .1s; -} - -.dhxform_obj_material div.dhxform_image div.dhxform_image_wrap.dhxform_image_in_progress form.dhxform_image_form { - display: none; -} - -.dhxform_obj_material div.dhxform_image div.dhxform_image_wrap form.dhxform_image_form { - position: absolute; - top: 0; - right: 0; - cursor: pointer; -} - -.dhxform_obj_material div.dhxform_image div.dhxform_image_wrap form.dhxform_image_form input.dhxform_image_input { - cursor: pointer; - outline: none; - height: 1000px; - font-size: 100px; - opacity: 0; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=0); -} - -.dhxform_obj_material div.disabled div.dhxform_image { - border-color: #f9f9f9; -} - -.dhxform_obj_material div.disabled div.dhxform_image img.dhxform_image_img { - opacity: .5; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=50); -} - -.dhxform_obj_material div.disabled div.dhxform_image div.dhxform_image_wrap { - cursor: default; -} - -.dhxform_obj_material div.disabled div.dhxform_image form.dhxform_image_form { - display: none; -} - -div.dhx_form_skin_detect { - position: absolute; - left: 0; - top: -100px; - margin: 0; - padding: 0; - border: 0 solid white; - width: 40px; - height: 10px; - overflow: hidden; -} - -@keyframes dhx_loader_rotate { - 100% { - transform: rotate(360deg); - } -} - -@keyframes dhx_loader_dash { - 0% { - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - } - 50% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -35px; - } - 100% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -124px; - } -} - -.dhxacc_base_material { - position: relative; - cursor: default; - overflow: hidden; -} - -.dhxacc_base_material div.dhxacc_cont { - position: absolute; - *overflow: hidden; -} - -.dhxacc_base_material div.dhx_cell_acc { - position: relative; - background-color: white; - margin: 0; - padding: 0; - overflow: hidden; - cursor: default; -} - -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_cover { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - margin: 0; - padding: 0; - font-size: 1px; - background-color: white; - overflow: hidden; - z-index: 1; - opacity: 0; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=0); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_progress_bar { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background-color: white; - z-index: 1; - opacity: .75; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=75); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_progress_img { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - border: 1px solid #e4e4e4; - background-image: url('imgs/dhxacc_material/dhxacc_cell_progress.gif'); - background-position: center center; - background-repeat: no-repeat; - z-index: 2; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_progress_svg { - border: 1px solid #e4e4e4; - z-index: 2; - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_progress_svg .dhx_cell_prsvg { - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - margin: auto; - width: 50px; - height: 50px; - animation: dhx_loader_rotate 2s linear infinite; - transform-origin: center center; -} - -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_progress_svg .dhx_cell_prsvg .dhx_cell_prcircle { - fill: none; - stroke: #39c; - stroke-width: 2; - stroke-miterlimit: 10; - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - stroke-linecap: round; - animation: dhx_loader_dash 1.5s ease-in-out infinite; -} - -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_menu_def { - position: relative; - overflow: hidden; - border-style: solid; - border-width: 0 1px 1px 1px; - border-color: #dfdfdf; -} - -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_toolbar_def { - position: relative; - overflow: hidden; -} - -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_toolbar_def .dhx_toolbar_material { - border-width: 0 1px 1px 1px; -} - -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_ribbon_def { - position: relative; - overflow: hidden; -} - -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material { - border-top-width: 0; - margin-top: -1px; - width: auto; -} - -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_ribbon_def div.dhtmlxribbon_material.dhxrb_without_tabbar { - border-top-width: 0; - width: auto; -} - -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_statusbar_def { - position: absolute; - bottom: 0; - width: 100%; - background-color: #fafafa; - z-index: 1; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} - -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - position: relative; - font: inherit; - height: 30px; - line-height: 30px; - border-style: solid; - border-width: 0 1px 1px 1px; - border-color: #dfdfdf; - white-space: nowrap; - overflow: hidden; - padding: 0 12px; - color: #737373; -} - -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_cont_acc { - position: absolute; - border-color: #dfdfdf; - border-style: solid; - border-width: 0 1px 1px 1px; - overflow: hidden; - z-index: 0; -} - -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_hdr { - position: relative; - height: 42px; - line-height: 42px; - background-color: #fafafa; - overflow: hidden; - border-width: 1px 1px 1px 1px; - border-style: solid; - border-color: #dfdfdf; - cursor: default; - z-index: 3; - box-shadow: 0 0 10px rgba(127, 127, 127, 0.2); - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #39c; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_hdr.dhx_cell_hdr_hidden { - border-width: 1px 0 0 0; - height: 0; - line-height: 0; - overflow: hidden; - box-shadow: none; -} - -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_hdr div.dhx_cell_hdr_text { - position: relative; - margin-left: 14px; - margin-right: 44px; - overflow: hidden; - white-space: nowrap; - cursor: default; -} - -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_icon { - margin-left: 44px; -} - -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_hdr img.dhx_cell_hdr_icon { - position: absolute; - top: 13px; - left: 14px; - width: 16px; - height: 16px; -} - -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_hdr i { - position: absolute; - left: 14px; - width: 16px; - height: 42px; - line-height: 42px; - text-align: center; - cursor: default; - font-size: 1.1em; - color: inherit; -} - -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_hdr div.dhx_cell_hdr_arrow { - position: absolute; - top: 13px; - right: 14px; - width: 16px; - height: 16px; - background-image: url("imgs/dhxacc_material/dhxacc_btns.png"); - background-repeat: no-repeat; - background-position: 0 0; - overflow: hidden; - cursor: pointer; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxacc_base_material div.dhx_cell_acc.dhx_cell_closed div.dhx_cell_hdr { - box-shadow: none; - color: #404040; -} - -.dhxacc_base_material div.dhx_cell_acc.dhx_cell_closed div.dhx_cell_hdr div.dhx_cell_hdr_arrow { - background-position: -16px 0; -} - -.dhxacc_base_material div.dhx_cell_acc.acc_cell_dragged { - z-index: 5!important; -} - -.dhxacc_base_material div.dhxcelltop_hdr { - position: relative; -} - -.dhxacc_base_material div.dhxcelltop_ftr { - position: absolute; -} - -.dhxacc_base_material div.dhxcelltop_progress { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background-color: white; - z-index: 3; - opacity: .55; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=55); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxacc_base_material div.dhxcelltop_progress_img { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background-image: url('imgs/dhxacc_material/dhxacc_cell_progress.gif'); - background-position: center center; - background-repeat: no-repeat; - z-index: 4; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxacc_base_material div.dhxcelltop_progress_svg { - z-index: 4; - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxacc_base_material div.dhxcelltop_progress_svg .dhx_cell_prsvg { - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - margin: auto; - width: 50px; - height: 50px; - animation: dhx_loader_rotate 2s linear infinite; - transform-origin: center center; -} - -.dhxacc_base_material div.dhxcelltop_progress_svg .dhx_cell_prsvg .dhx_cell_prcircle { - fill: none; - stroke: #39c; - stroke-width: 2; - stroke-miterlimit: 10; - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - stroke-linecap: round; - animation: dhx_loader_dash 1.5s ease-in-out infinite; -} - -.dhxacc_base_material div.dhxcelltop_menu { - position: relative; - overflow: hidden; - border-width: 1px 1px 0 1px; - border-style: solid; - border-color: #dfdfdf; -} - -.dhxacc_base_material div.dhxcelltop_toolbar { - position: relative; - overflow: hidden; -} - -.dhxacc_base_material div.dhxcelltop_toolbar div.dhx_toolbar_material { - border-width: 1px 1px 0 1px; -} - -.dhxacc_base_material div.dhxcelltop_ribbon { - position: relative; - overflow: hidden; -} - -.dhxacc_base_material div.dhxcelltop_ribbon div.dhtmlxribbon_material.dhxrb_without_tabbar { - border-bottom-width: 0; - width: auto; -} - -.dhxacc_base_material div.dhxcelltop_ribbon div.dhtmlxribbon_material div.dhxrb_with_tabbar.dhxtabbar_base_material div.dhxtabbar_tabs_top div.dhx_cell_tabbar div.dhx_cell_cont_tabbar { - border-bottom-width: 0; -} - -.dhxacc_base_material div.dhxcelltop_statusbar { - position: absolute; - overflow: hidden; - background-color: #fafafa; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} - -.dhxacc_base_material div.dhxcelltop_statusbar div.dhxcont_statusbar { - position: relative; - background-color: #fafafa; - font: inherit; - height: 30px; - line-height: 30px; - border-width: 0 1px 1px 1px; - border-style: solid; - border-color: #dfdfdf; - padding: 0 12px; - color: #737373; - white-space: nowrap; - overflow: hidden; -} - -body.dhxacc_base_material { - background-color: #fafafa; -} - -.dhxacc_skin_detect { - position: absolute; - left: 0; - top: -100px; - margin: 0; - padding: 0; - border: 0 solid white; - width: 40px; - height: 10px; - overflow: hidden; -} - -@keyframes dhx_loader_rotate { - 100% { - transform: rotate(360deg); - } -} - -@keyframes dhx_loader_dash { - 0% { - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - } - 50% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -35px; - } - 100% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -124px; - } -} - -.dhxlayout_base_material { - position: relative; - cursor: default; - overflow: visible!important; -} - -.dhxlayout_base_material div.dhxlayout_cont { - position: absolute; -} - -.dhxlayout_base_material div.dhx_cell_layout { - position: absolute; - background-color: white; - margin: 0; - padding: 0; - cursor: default; - z-index: 0; - box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04), 0 1px 4px rgba(0, 0, 0, 0.12); -} - -.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_cover { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - margin: 0; - padding: 0; - font-size: 1px; - background-color: white; - overflow: hidden; - z-index: 1; - opacity: 0; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=0); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_progress_bar { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background-color: white; - z-index: 1; - opacity: .75; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=75); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_progress_img { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - border: 1px solid #e4e4e4; - background-image: url('imgs/dhxlayout_material/dhxlayout_cell_progress.gif'); - background-position: center center; - background-repeat: no-repeat; - z-index: 2; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_progress_svg { - border: 1px solid #e4e4e4; - z-index: 2; - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_progress_svg .dhx_cell_prsvg { - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - margin: auto; - width: 50px; - height: 50px; - animation: dhx_loader_rotate 2s linear infinite; - transform-origin: center center; -} - -.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_progress_svg .dhx_cell_prsvg .dhx_cell_prcircle { - fill: none; - stroke: #39c; - stroke-width: 2; - stroke-miterlimit: 10; - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - stroke-linecap: round; - animation: dhx_loader_dash 1.5s ease-in-out infinite; -} - -.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_menu_def { - position: relative; - overflow: hidden; - border-style: solid; - border-width: 0 1px 1px 1px; - border-color: #dfdfdf; -} - -.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_toolbar_def { - position: relative; - overflow: hidden; -} - -.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_toolbar_def .dhx_toolbar_material { - border-width: 0 1px 1px 1px; -} - -.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_ribbon_def { - position: relative; - overflow: hidden; -} - -.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material { - border-top-width: 0; - margin-top: -1px; - width: auto; -} - -.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_ribbon_def div.dhtmlxribbon_material.dhxrb_without_tabbar { - border-top-width: 0; - width: auto; -} - -.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_statusbar_def { - position: absolute; - bottom: 0; - width: 100%; - background-color: #fafafa; - z-index: 1; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} - -.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - position: relative; - font: inherit; - height: 30px; - line-height: 30px; - border-style: solid; - border-width: 0 1px 1px 1px; - border-color: #dfdfdf; - white-space: nowrap; - overflow: hidden; - padding: 0 12px; - color: #737373; -} - -.dhxlayout_base_material div.dhx_cell_layout.dhx_cell_nested_layout { - box-shadow: none!important; - background: none!important; -} - -.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_cont_layout, -.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_menu_def, -.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_toolbar_def, -.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_ribbon_def, -.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_statusbar_def, -.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_cont_layout, -.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_menu_def, -.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_toolbar_def, -.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_ribbon_def, -.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_statusbar_def { - display: none; -} - -.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_cont_layout { - position: absolute; - border-color: #dfdfdf; - border-style: solid; - border-width: 0 1px 1px 1px; - z-index: 0; -} - -.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_cont_layout.dhx_cell_cont_no_borders { - border-width: 0; - padding: 0; -} - -.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_hdr { - position: relative; - height: 42px; - line-height: 42px; - background-color: #39c; - overflow: hidden; - font-family: Roboto, Arial, Helvetica; - font-size: 17px; - color: #ecf3f9; - cursor: default; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_hdr.dhx_cell_hdr_hidden { - height: 0; - line-height: 0; - border-top: 1px solid #dfdfdf; - overflow: hidden; -} - -.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_hdr.dhx_cell_hdr_hidden_no_borders { - height: 0; - line-height: 0; - border-width: 0; - overflow: hidden; -} - -.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_hdr div.dhx_cell_hdr_text { - position: relative; - margin: 0 39px 0 14px; - overflow: hidden; - white-space: nowrap; - cursor: default; -} - -.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_hdr div.dhxlayout_arrow { - position: absolute; - right: 13px; - top: 13px; - width: 16px; - height: 16px; - background-image: url('imgs/dhxlayout_material/dhxlayout_cell_btns.png'); - background-repeat: no-repeat; - cursor: pointer; -} - -.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_va { - background-position: -16px 0; -} - -.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_vb { - background-position: -48px 0; -} - -.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_ha { - background-position: -32px 0; -} - -.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_hb { - background-position: 0 0; -} - -.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_hdr { - font-size: 15px; - height: 28px; - line-height: 28px; - color: white; - font-weight: normal; -} - -.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_ha { - background-position: 0 0; - top: 6px; -} - -.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_hb { - background-position: -32px 0; - top: 6px; -} - -.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr { - font-size: 15px; - width: 28px; -} - -.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_va { - background-position: -48px 0; - right: 6px; -} - -.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_vb { - background-position: -16px 0; - right: 6px; -} - -.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text { - position: absolute; - left: 0; - bottom: 0; - transform: rotate(270deg); - -ms-transform: rotate(270deg); - transform-origin: left center; - font-weight: normal; - text-overflow: ellipsis; -} - -.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie6 { - left: -7px; - line-height: 27px; - padding-bottom: 10px; -} - -.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie6 span { - float: left; - filter: progid: DXImageTransform.Microsoft.Matrix(M11='6.123031769111886e-17', M12='1', M21='-1', M22='6.123031769111886e-17', sizingMethod='auto expand'); -} - -.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie7 { - left: -7px; - line-height: 27px; - padding-bottom: 10px; -} - -.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie7 span { - float: left; - filter: progid: DXImageTransform.Microsoft.Matrix(M11='6.123031769111886e-17', M12='1', M21='-1', M22='6.123031769111886e-17', sizingMethod='auto expand'); -} - -.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie8 { - left: -6px; - line-height: 27px; -} - -.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie8 span { - float: left; - filter: progid: DXImageTransform.Microsoft.Matrix(M11='6.123031769111886e-17', M12='1', M21='-1', M22='6.123031769111886e-17', sizingMethod='auto expand'); - margin-bottom: 95%; -} - -.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie9 { - left: 0; - line-height: 27px; -} - -.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie9 span { - float: left; - filter: none; - margin-bottom: 95%; -} - -.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_chrome { - left: 3px; - -webkit-transform: rotate(270deg); - -webkit-transform-origin: left center; -} - -.dhxlayout_base_material div.dhxlayout_sep { - position: absolute; - font-size: 1px; - margin: 0; - padding: 0; - overflow: hidden; - background-position: center center; - background-repeat: no-repeat; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); - -ms-touch-action: none; - touch-action: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxlayout_base_material div.dhxlayout_sep.dhxlayout_sep_resize_v { - cursor: w-resize; - background-image: url('imgs/dhxlayout_material/dhxlayout_sep_ver.gif'); -} - -.dhxlayout_base_material div.dhxlayout_sep.dhxlayout_sep_resize_h { - cursor: n-resize; - background-image: url('imgs/dhxlayout_material/dhxlayout_sep_hor.gif'); -} - -.dhxlayout_base_material div.dhxlayout_sep.dhxlayout_sep_resize_actv { - background-color: #f2f2f2; -} - -.dhxlayout_base_material div.dhxlayout_resize_area { - position: absolute; - background-color: #cfcfcf; - opacity: .3; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=30); - z-index: 1; - border: 1px dashed black; - cursor: inherit; -} - -.dhxlayout_base_material div.dhxlayout_resize_sep { - position: absolute; - background-color: #39c; - overflow: hidden; - display: block; - opacity: .5; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=50); - z-index: 2; - cursor: inherit; -} - -.dhxlayout_base_material div.dhxcelltop_hdr { - position: relative; -} - -.dhxlayout_base_material div.dhxcelltop_ftr { - position: absolute; -} - -.dhxlayout_base_material div.dhxcelltop_progress { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background-color: white; - z-index: 3; - opacity: .55; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=55); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxlayout_base_material div.dhxcelltop_progress_img { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background-image: url('imgs/dhxlayout_material/dhxlayout_cell_progress.gif'); - background-position: center center; - background-repeat: no-repeat; - z-index: 4; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxlayout_base_material div.dhxcelltop_progress_svg { - z-index: 4; - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxlayout_base_material div.dhxcelltop_progress_svg .dhx_cell_prsvg { - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - margin: auto; - width: 50px; - height: 50px; - animation: dhx_loader_rotate 2s linear infinite; - transform-origin: center center; -} - -.dhxlayout_base_material div.dhxcelltop_progress_svg .dhx_cell_prsvg .dhx_cell_prcircle { - fill: none; - stroke: #39c; - stroke-width: 2; - stroke-miterlimit: 10; - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - stroke-linecap: round; - animation: dhx_loader_dash 1.5s ease-in-out infinite; -} - -.dhxlayout_base_material div.dhxcelltop_menu { - position: relative; - overflow: hidden; - border-width: 1px 1px 0 1px; - border-style: solid; - border-color: #dfdfdf; -} - -.dhxlayout_base_material div.dhxcelltop_toolbar { - position: relative; - overflow: hidden; -} - -.dhxlayout_base_material div.dhxcelltop_toolbar div.dhx_toolbar_material { - border-width: 1px 1px 0 1px; -} - -.dhxlayout_base_material div.dhxcelltop_ribbon { - position: relative; - overflow: hidden; -} - -.dhxlayout_base_material div.dhxcelltop_ribbon div.dhtmlxribbon_material.dhxrb_without_tabbar { - border-bottom-width: 0; - width: auto; -} - -.dhxlayout_base_material div.dhxcelltop_ribbon div.dhtmlxribbon_material div.dhxrb_with_tabbar.dhxtabbar_base_material div.dhxtabbar_tabs_top div.dhx_cell_tabbar div.dhx_cell_cont_tabbar { - border-bottom-width: 0; -} - -.dhxlayout_base_material div.dhxcelltop_statusbar { - position: absolute; - overflow: hidden; - background-color: #fafafa; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} - -.dhxlayout_base_material div.dhxcelltop_statusbar div.dhxcont_statusbar { - position: relative; - background-color: #fafafa; - font: inherit; - height: 30px; - line-height: 30px; - border-width: 0 1px 1px 1px; - border-style: solid; - border-color: #dfdfdf; - padding: 0 12px; - color: #737373; - white-space: nowrap; - overflow: hidden; -} - -.dhxlayout_base_material div.dhxcelltop_menu { - border-width: 0; - padding-bottom: 4px; - background: none!important; -} - -.dhxlayout_base_material div.dhxcelltop_toolbar { - padding-bottom: 10px; -} - -.dhxlayout_base_material div.dhxcelltop_ribbon { - padding-bottom: 10px; -} - -.dhxlayout_base_material div.dhxcelltop_ribbon div.dhtmlxribbon_material { - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); -} - -.dhxlayout_base_material div.dhxcelltop_ribbon div.dhtmlxribbon_material.dhxrb_without_tabbar { - border-bottom-width: 0; -} - -.dhxlayout_base_material div.dhxcelltop_statusbar { - padding-top: 10px; - overflow: visible; -} - -.dhxlayout_base_material div.dhxcelltop_statusbar div.dhxcont_statusbar { - border-width: 0; - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); -} - -.dhxlayout_base_material.dhxlayout_collapsed_height { - position: absolute; - left: 0; - top: -100px; - width: 28px; - height: 1px; - font-size: 1px; - margin: 0; - padding: 0; - overflow: hidden; -} - -div.dhxlayout_sep_sw_material { - position: absolute; - left: 0; - top: -100px; - width: 14px; - height: 1px; - font-size: 1px; - margin: 0; - padding: 0; - overflow: hidden; -} - -body.dhxlayout_resize_v, -body.dhxlayout_resize_v * { - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - cursor: w-resize!important; -} - -body.dhxlayout_resize_h, -body.dhxlayout_resize_h * { - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - cursor: n-resize!important; -} - -html.dhxlayout_base_material, -body.dhxlayout_base_material { - overflow: hidden!important; -} - -.dhxlayout_skin_detect { - position: absolute; - left: 0; - top: -100px; - margin: 0; - padding: 0; - border: 0 solid white; - width: 40px; - height: 10px; - overflow: hidden; -} - -@keyframes dhx_loader_rotate { - 100% { - transform: rotate(360deg); - } -} - -@keyframes dhx_loader_dash { - 0% { - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - } - 50% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -35px; - } - 100% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -124px; - } -} - -.dhxtabbar_base_material { - position: relative; - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 3px rgba(0, 0, 0, 0.09); -} - -.dhxtabbar_base_material div.dhxtabbar_cont { - position: absolute; - overflow: hidden; -} - -.dhxtabbar_base_material div.dhxtabbar_tabs { - position: absolute; - top: 0; - bottom: auto; - height: 42px; - line-height: 42px; - background-color: #fafafa; - border-color: #dfdfdf; - border-style: solid; - border-width: 1px; - overflow: hidden; - white-space: nowrap; - z-index: 2; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} - -.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_base { - position: absolute; - height: 42px; - overflow: hidden; -} - -.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tabs_cont_left, -.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tabs_cont_right { - position: absolute; - top: 0; - width: 5000px; - height: 42px; - margin: 0 1px; - -webkit-transform: translate3d(0, 0, 0); - -moz-transform: translate3d(0, 0, 0); - -ms-transform: translate3d(0, 0, 0); - -o-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tabs_line { - display: none; -} - -.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tab { - position: relative; - height: 42px; - line-height: 42px; - background-color: #fafafa; - font: inherit; - margin-right: 0; - cursor: pointer; - z-index: 1; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - -webkit-transform: translate3d(0, 0, 0); - -moz-transform: translate3d(0, 0, 0); - -ms-transform: translate3d(0, 0, 0); - -o-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} - -.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tab.dhxtabbar_tab_actv { - color: #39c; - background-color: #39c; -} - -.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tab.dhxtabbar_tab_actv_dis { - color: #a6a6a6; - background-color: #a6a6a6; -} - -.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tab.dhxtabbar_tab_dis { - color: #a6a6a6; -} - -.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tab div.dhxtabbar_tab_text { - position: relative; - height: 40px; - line-height: 42px; - background-color: #fafafa; - vertical-align: middle; - text-align: center; - padding: 0 16px; - overflow: hidden; - font: inherit; - text-transform: uppercase; -} - -.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tab div.dhxtabbar_tab_text.dhxtabbar_tab_text_close { - padding-right: 42px; -} - -.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tab div.dhxtabbar_tab_close { - position: absolute; - top: 14px; - right: 14px; - width: 14px; - height: 14px; - background-image: url("imgs/dhxtabbar_material/dhxtabbar_button_close.png"); - background-position: 0 0; - background-repeat: no-repeat; - z-index: 1; -} - -.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tab.dhxtabbar_tab_actv_dis div.dhxtabbar_tab_close, -.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tab.dhxtabbar_tab_dis div.dhxtabbar_tab_close { - background-position: -14px 0; -} - -.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tabs_cont_left div.dhxtabbar_tab { - float: left; -} - -.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tabs_cont_right div.dhxtabbar_tab { - float: right; -} - -.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_left, -.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_right { - position: absolute; - top: 0; - width: 35px; - height: 42px; - line-height: 42px; - z-index: 4; - cursor: pointer; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_left.dhxtabbar_tabs_ar_hidden, -.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_right.dhxtabbar_tabs_ar_hidden { - display: none; -} - -.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_left div.dhxtabbar_arrow_img, -.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_right div.dhxtabbar_arrow_img { - position: absolute; - width: 16px; - height: 16px; - line-height: 16px; - left: 10px; - top: 13px; - background-image: url("imgs/dhxtabbar_material/dhxtabbar_arrows.png"); - background-position: 0 0; - background-repeat: no-repeat; -} - -.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_left { - left: 0; -} - -.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_left div.dhxtabbar_arrow_img:hover { - background-position: 0 -16px; -} - -.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_right { - right: 0; -} - -.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_right div.dhxtabbar_arrow_img { - background-position: -16px 0; -} - -.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_right div.dhxtabbar_arrow_img:hover { - background-position: -16px -16px; -} - -.dhxtabbar_base_material div.dhx_cell_tabbar { - position: absolute; - background-color: white; - margin: 0; - padding: 0; - overflow: hidden; - cursor: default; - z-index: 0; -} - -.dhxtabbar_base_material div.dhx_cell_tabbar div.dhx_cell_cover { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - margin: 0; - padding: 0; - font-size: 1px; - background-color: white; - overflow: hidden; - z-index: 1; - opacity: 0; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=0); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxtabbar_base_material div.dhx_cell_tabbar div.dhx_cell_progress_bar { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background-color: white; - z-index: 1; - opacity: .75; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=75); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxtabbar_base_material div.dhx_cell_tabbar div.dhx_cell_progress_img { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - border: 1px solid #e4e4e4; - background-image: url('imgs/dhxtabbar_material/dhxtabbar_cell_progress.gif'); - background-position: center center; - background-repeat: no-repeat; - z-index: 2; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxtabbar_base_material div.dhx_cell_tabbar div.dhx_cell_progress_svg { - border: 1px solid #e4e4e4; - z-index: 2; - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxtabbar_base_material div.dhx_cell_tabbar div.dhx_cell_progress_svg .dhx_cell_prsvg { - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - margin: auto; - width: 50px; - height: 50px; - animation: dhx_loader_rotate 2s linear infinite; - transform-origin: center center; -} - -.dhxtabbar_base_material div.dhx_cell_tabbar div.dhx_cell_progress_svg .dhx_cell_prsvg .dhx_cell_prcircle { - fill: none; - stroke: #39c; - stroke-width: 2; - stroke-miterlimit: 10; - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - stroke-linecap: round; - animation: dhx_loader_dash 1.5s ease-in-out infinite; -} - -.dhxtabbar_base_material div.dhx_cell_tabbar div.dhx_cell_menu_def { - position: relative; - overflow: hidden; - border-style: solid; - border-width: 0 1px 1px 1px; - border-color: #dfdfdf; -} - -.dhxtabbar_base_material div.dhx_cell_tabbar div.dhx_cell_toolbar_def { - position: relative; - overflow: hidden; -} - -.dhxtabbar_base_material div.dhx_cell_tabbar div.dhx_cell_toolbar_def .dhx_toolbar_material { - border-width: 0 1px 1px 1px; -} - -.dhxtabbar_base_material div.dhx_cell_tabbar div.dhx_cell_ribbon_def { - position: relative; - overflow: hidden; -} - -.dhxtabbar_base_material div.dhx_cell_tabbar div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material { - border-top-width: 0; - margin-top: -1px; - width: auto; -} - -.dhxtabbar_base_material div.dhx_cell_tabbar div.dhx_cell_ribbon_def div.dhtmlxribbon_material.dhxrb_without_tabbar { - border-top-width: 0; - width: auto; -} - -.dhxtabbar_base_material div.dhx_cell_tabbar div.dhx_cell_statusbar_def { - position: absolute; - bottom: 0; - width: 100%; - background-color: #fafafa; - z-index: 1; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} - -.dhxtabbar_base_material div.dhx_cell_tabbar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - position: relative; - font: inherit; - height: 30px; - line-height: 30px; - border-style: solid; - border-width: 0 1px 1px 1px; - border-color: #dfdfdf; - white-space: nowrap; - overflow: hidden; - padding: 0 12px; - color: #737373; -} - -.dhxtabbar_base_material div.dhx_cell_tabbar div.dhx_cell_cont_tabbar { - position: absolute; - border-color: #dfdfdf; - border-style: solid; - overflow: hidden; - z-index: 0; -} - -.dhxtabbar_base_material div.dhx_cell_tabbar div.dhx_cell_cont_tabbar.dhx_cell_cont_no_borders { - border-width: 0; -} - -.dhxtabbar_base_material div.dhxtabbar_tabs_top div.dhxtabbar_tabs { - top: 0; -} - -.dhxtabbar_base_material div.dhxtabbar_tabs_top div.dhxtabbar_tabs div.dhxtabbar_tab_text { - margin-bottom: 2px; -} - -.dhxtabbar_base_material div.dhxtabbar_tabs_top div.dhx_cell_tabbar div.dhx_cell_cont_tabbar { - border-width: 0 1px 1px 1px; -} - -.dhxtabbar_base_material div.dhxtabbar_tabs_top div.dhx_cell_tabbar div.dhx_cell_progress_img, -.dhxtabbar_base_material div.dhxtabbar_tabs_top div.dhx_cell_tabbar div.dhx_cell_progress_svg { - border-top-width: 0; -} - -.dhxtabbar_base_material div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs { - bottom: 0; -} - -.dhxtabbar_base_material div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tab_text { - margin-top: 2px; -} - -.dhxtabbar_base_material div.dhxtabbar_tabs_bottom div.dhx_cell_tabbar div.dhx_cell_cont_tabbar { - border-width: 1px 1px 0 1px; -} - -.dhxtabbar_base_material div.dhxtabbar_tabs_bottom div.dhx_cell_tabbar div.dhx_cell_progress_img, -.dhxtabbar_base_material div.dhxtabbar_tabs_bottom div.dhx_cell_tabbar div.dhx_cell_progress_svg { - border-bottom-width: 0; -} - -.dhxtabbar_base_material div.dhxcelltop_hdr { - position: relative; -} - -.dhxtabbar_base_material div.dhxcelltop_ftr { - position: absolute; -} - -.dhxtabbar_base_material div.dhxcelltop_progress { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background-color: white; - z-index: 3; - opacity: .55; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=55); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxtabbar_base_material div.dhxcelltop_progress_img { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background-image: url('imgs/dhxtabbar_material/dhxtabbar_cell_progress.gif'); - background-position: center center; - background-repeat: no-repeat; - z-index: 4; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxtabbar_base_material div.dhxcelltop_progress_svg { - z-index: 4; - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxtabbar_base_material div.dhxcelltop_progress_svg .dhx_cell_prsvg { - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - margin: auto; - width: 50px; - height: 50px; - animation: dhx_loader_rotate 2s linear infinite; - transform-origin: center center; -} - -.dhxtabbar_base_material div.dhxcelltop_progress_svg .dhx_cell_prsvg .dhx_cell_prcircle { - fill: none; - stroke: #39c; - stroke-width: 2; - stroke-miterlimit: 10; - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - stroke-linecap: round; - animation: dhx_loader_dash 1.5s ease-in-out infinite; -} - -.dhxtabbar_base_material div.dhxcelltop_menu { - position: relative; - overflow: hidden; - border-width: 1px 1px 0 1px; - border-style: solid; - border-color: #dfdfdf; -} - -.dhxtabbar_base_material div.dhxcelltop_toolbar { - position: relative; - overflow: hidden; -} - -.dhxtabbar_base_material div.dhxcelltop_toolbar div.dhx_toolbar_material { - border-width: 1px 1px 0 1px; -} - -.dhxtabbar_base_material div.dhxcelltop_ribbon { - position: relative; - overflow: hidden; -} - -.dhxtabbar_base_material div.dhxcelltop_ribbon div.dhtmlxribbon_material.dhxrb_without_tabbar { - border-bottom-width: 0; - width: auto; -} - -.dhxtabbar_base_material div.dhxcelltop_ribbon div.dhtmlxribbon_material div.dhxrb_with_tabbar.dhxtabbar_base_material div.dhxtabbar_tabs_top div.dhx_cell_tabbar div.dhx_cell_cont_tabbar { - border-bottom-width: 0; -} - -.dhxtabbar_base_material div.dhxcelltop_statusbar { - position: absolute; - overflow: hidden; - background-color: #fafafa; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} - -.dhxtabbar_base_material div.dhxcelltop_statusbar div.dhxcont_statusbar { - position: relative; - background-color: #fafafa; - font: inherit; - height: 30px; - line-height: 30px; - border-width: 0 1px 1px 1px; - border-style: solid; - border-color: #dfdfdf; - padding: 0 12px; - color: #737373; - white-space: nowrap; - overflow: hidden; -} - -span.dhxtabbar_tabs_text_test_material { - position: absolute; - visibility: hidden; - right: 0; - top: 0; - padding: 0 4px; - text-transform: uppercase; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} - -.dhxtabbar_skin_detect { - position: absolute; - left: 0; - top: -100px; - margin: 0; - padding: 0; - border: 0 solid white; - width: 40px; - height: 10px; - overflow: hidden; -} - -@keyframes dhx_loader_rotate { - 100% { - transform: rotate(360deg); - } -} - -@keyframes dhx_loader_dash { - 0% { - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - } - 50% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -35px; - } - 100% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -124px; - } -} - -.dhxsidebar_base_material { - position: relative; - cursor: default; -} - -.dhxsidebar_base_material div.dhxsidebar_cont { - position: absolute; - cursor: default; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side { - position: absolute; - left: 0; - top: 0; - background-color: #fafafa; - border-style: solid; - border-color: #dfdfdf; - border-width: 1px 1px 0 1px; - overflow: hidden; - z-index: 5; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items { - position: absolute; - width: 100%; - overflow: hidden; - box-sizing: border-box; - -ms-touch-action: none; - -webkit-transition: top .2s; - -moz-transition: top .2s; - -ms-transition: top .2s; - -o-transition: top .2s; - transition: top .2s; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item { - position: relative; - padding: 0 10px; - z-index: 1; - cursor: default; - margin: 1px 0; - background-color: #fafafa; - overflow: hidden; - opacity: 1; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=100); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; - -ms-touch-action: none; - -webkit-touch-callout: none; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_hidden { - height: 0!important; - margin: 0; - opacity: 0; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=0); -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item:hover { - background-color: #f5f5f5; - z-index: 2; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_selected { - z-index: 3; - background-color: #ebebeb; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon { - position: absolute; - left: 9px; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text { - position: absolute; - left: 0; - top: 0; - height: inherit; - line-height: inherit; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_bubble { - position: absolute; - width: 15px; - height: 15px; - line-height: 14px; - right: 5px; - top: 5px; - border-radius: 10px; - background-color: #fafafa; - border: 1px solid #39c; - font-family: Tahoma; - font-size: 10px; - text-align: center; - font-weight: normal; - color: #39c; - cursor: default; - overflow: hidden; - z-index: 1; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item:hover div.dhxsidebar_bubble { - background-color: #f5f5f5; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_selected div.dhxsidebar_bubble { - background-color: #ebebeb; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_sep { - position: relative; - height: 1px; - margin: 1px 0; - overflow: hidden; - background-color: #ededed; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_touch div.dhxsidebar_side_items div.dhxsidebar_item:hover { - background-color: #fafafa; - z-index: 1; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_touch div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_selected { - z-index: 3; - background-color: #ebebeb; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_details div.dhxsidebar_side_items div.dhxsidebar_item { - height: 27px; - line-height: 27px; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_details div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon { - top: 5px; - width: 16px; - height: 16px; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_details div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text { - padding-left: 34px; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item { - height: 47px; - line-height: 47px; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon { - top: 7px; - width: 32px; - height: 32px; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text { - padding-left: 50px; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_bubble { - top: 15px; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons div.dhxsidebar_side_items div.dhxsidebar_item { - height: 47px; - line-height: 47px; - text-align: center; - padding-left: 4px; - padding-right: 4px; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon { - position: relative; - display: inline; - left: 0; - top: 7px; - width: 32px; - height: 32px; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons_text div.dhxsidebar_side_items div.dhxsidebar_item { - height: 66px; - line-height: 1em; - text-align: center; - padding-left: 4px; - padding-right: 4px; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons_text div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon { - position: relative; - display: inline; - left: 0; - top: 4px; - width: 32px; - height: 32px; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons_text div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text { - position: relative; - display: block; - height: 16px; - margin-top: 10px; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_text div.dhxsidebar_side_items div.dhxsidebar_item { - height: 27px; - line-height: 27px; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_text div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text { - padding-left: 14px; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar { - position: absolute; - background-color: white; - margin: 0; - padding: 0; - overflow: hidden; - cursor: default; - z-index: 0; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_cover { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - margin: 0; - padding: 0; - font-size: 1px; - background-color: white; - overflow: hidden; - z-index: 1; - opacity: 0; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=0); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_progress_bar { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background-color: white; - z-index: 1; - opacity: .75; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=75); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_progress_img { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - border: 1px solid #e4e4e4; - background-image: url('imgs/dhxsidebar_material/dhxsidebar_cell_progress.gif'); - background-position: center center; - background-repeat: no-repeat; - z-index: 2; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_progress_svg { - border: 1px solid #e4e4e4; - z-index: 2; - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_progress_svg .dhx_cell_prsvg { - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - margin: auto; - width: 50px; - height: 50px; - animation: dhx_loader_rotate 2s linear infinite; - transform-origin: center center; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_progress_svg .dhx_cell_prsvg .dhx_cell_prcircle { - fill: none; - stroke: #39c; - stroke-width: 2; - stroke-miterlimit: 10; - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - stroke-linecap: round; - animation: dhx_loader_dash 1.5s ease-in-out infinite; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_menu_def { - position: relative; - overflow: hidden; - border-style: solid; - border-width: 0 1px 1px 1px; - border-color: #dfdfdf; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_toolbar_def { - position: relative; - overflow: hidden; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_toolbar_def .dhx_toolbar_material { - border-width: 0 1px 1px 1px; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def { - position: relative; - overflow: hidden; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material { - border-top-width: 0; - margin-top: -1px; - width: auto; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhtmlxribbon_material.dhxrb_without_tabbar { - border-top-width: 0; - width: auto; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_statusbar_def { - position: absolute; - bottom: 0; - width: 100%; - background-color: #fafafa; - z-index: 1; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - position: relative; - font: inherit; - height: 30px; - line-height: 30px; - border-style: solid; - border-width: 0 1px 1px 1px; - border-color: #dfdfdf; - white-space: nowrap; - overflow: hidden; - padding: 0 12px; - color: #737373; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_menu_def, -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_toolbar_def .dhx_toolbar_material, -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhtmlxribbon_material.dhxrb_without_tabbar { - border-width: 1px 1px 0 0; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material { - border-width: 1px 1px 0 0; - margin-top: 0; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material div.dhxtabbar_tabs { - border-left-width: 0; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material div.dhxtabbar_tabs_top div.dhx_cell_tabbar div.dhx_cell_cont_tabbar { - border-width: 0 1px 0 0; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - border-left-width: 0; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_progress_img { - border-left-width: 0; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar.dhx_cell_cont_no_top div.dhx_cell_cont_sidebar { - border-top-color: white; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_cont_sidebar { - position: absolute; - border-style: solid; - border-color: #dfdfdf; - border-width: 1px 1px 1px 0; - overflow: hidden; - z-index: 0; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_cont_sidebar.dhx_cell_cont_no_borders { - border-width: 0; - padding: 0; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr { - position: relative; - background-color: #fafafa; - height: 36px; - line-height: 35px; - font-weight: normal; - overflow: hidden; - cursor: default; - z-index: 1; - border-style: solid; - border-color: #dfdfdf; - border-width: 1px 1px 0 0; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr.dhx_cell_sidebar_hdr_hidden { - border-width: 1px 0 0 0; - height: 0; - line-height: 0; - overflow: hidden; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr div.dhx_cell_sidebar_hdr_text { - position: relative; - margin: 0 10px; - overflow: hidden; - white-space: nowrap; - cursor: default; - text-align: left; - height: 100%; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr div.dhx_cell_sidebar_hdr_text.dhx_cell_sidebar_hdr_text_icon { - margin-left: 34px!important; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr div.dhx_cell_sidebar_hdr_icon { - position: absolute; - top: 0; - left: 10px; - width: 16px; - height: 100%; - background-image: url("imgs/dhxsidebar_material/dhxsidebar_side_icon.gif"); - background-position: center center; - background-repeat: no-repeat; -} - -.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr { - border-left-width: 1px; -} - -.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_cont_sidebar { - border-left-width: 1px; -} - -.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_cont_sidebar.dhx_cell_cont_no_borders { - border-left-width: 0; -} - -.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_menu_def, -.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_toolbar_def .dhx_toolbar_material, -.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhtmlxribbon_material.dhxrb_without_tabbar, -.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - border-left-width: 1px; -} - -.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material div.dhxtabbar_tabs { - border-left-width: 1px; -} - -.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material div.dhxtabbar_tabs_top div.dhx_cell_tabbar div.dhx_cell_cont_tabbar { - border-left-width: 1px; -} - -.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide { - overflow: hidden; -} - -.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide div.dhxsidebar_side { - -webkit-transition: left .2s; - -moz-transition: left .2s; - -ms-transition: left .2s; - -o-transition: left .2s; - transition: left .2s; - box-shadow: 0 2px 8px rgba(127, 127, 127, 0.4); -} - -.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide div.dhxsidebar_arrows { - -webkit-transition: left .2s; - -moz-transition: left .2s; - -ms-transition: left .2s; - -o-transition: left .2s; - transition: left .2s; - box-shadow: 0 4px 6px rgba(127, 127, 127, 0.4); -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side_cover { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - overflow: hidden; - background-color: #fff; - z-index: 3; - -webkit-transition: opacity .3s; - -moz-transition: opacity .3s; - -ms-transition: opacity .3s; - -o-transition: opacity .3s; - transition: opacity .3s; - opacity: .0001; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=0); -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side_cover.dhxsidebar_side_cover_actv { - opacity: .6; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=60); -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_arrows { - position: absolute; - left: 0; - bottom: 0; - height: 24px; - border: 1px solid #dfdfdf; - background-color: #fafafa; - font-size: 1px; - overflow: hidden; - z-index: 6; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); - -ms-touch-action: none; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_arrows.dhxsidebar_arrows_hidden { - height: 0; - border-width: 0 1px 1px 1px; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow { - position: absolute; - width: 50%; - height: 100%; - top: 0; - font-size: 1px; - overflow: hidden; - z-index: 1; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_left { - left: 0; - border-right: 1px solid #dfdfdf; - z-index: 2; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_left div.dhxsidebar_arrow_image { - background-image: url("imgs/dhxsidebar_material/dhxsidebar_arrow_up.gif"); -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_right { - right: 0; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_right div.dhxsidebar_arrow_image { - background-image: url("imgs/dhxsidebar_material/dhxsidebar_arrow_down.gif"); -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow div.dhxsidebar_arrow_image { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background-repeat: no-repeat; - background-position: center center; - font-size: 1px; - overflow: hidden; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow:hover { - background-color: #f5f5f5; -} - -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow:active { - background-color: #f0f0f0; -} - -.dhxsidebar_base_material div.dhxcelltop_hdr { - position: relative; -} - -.dhxsidebar_base_material div.dhxcelltop_ftr { - position: absolute; -} - -.dhxsidebar_base_material div.dhxcelltop_progress { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background-color: white; - z-index: 3; - opacity: .55; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=55); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxsidebar_base_material div.dhxcelltop_progress_img { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background-image: url('imgs/dhxsidebar_material/dhxsidebar_cell_progress.gif'); - background-position: center center; - background-repeat: no-repeat; - z-index: 4; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxsidebar_base_material div.dhxcelltop_progress_svg { - z-index: 4; - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxsidebar_base_material div.dhxcelltop_progress_svg .dhx_cell_prsvg { - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - margin: auto; - width: 50px; - height: 50px; - animation: dhx_loader_rotate 2s linear infinite; - transform-origin: center center; -} - -.dhxsidebar_base_material div.dhxcelltop_progress_svg .dhx_cell_prsvg .dhx_cell_prcircle { - fill: none; - stroke: #39c; - stroke-width: 2; - stroke-miterlimit: 10; - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - stroke-linecap: round; - animation: dhx_loader_dash 1.5s ease-in-out infinite; -} - -.dhxsidebar_base_material div.dhxcelltop_menu { - position: relative; - overflow: hidden; - border-width: 1px 1px 0 1px; - border-style: solid; - border-color: #dfdfdf; -} - -.dhxsidebar_base_material div.dhxcelltop_toolbar { - position: relative; - overflow: hidden; -} - -.dhxsidebar_base_material div.dhxcelltop_toolbar div.dhx_toolbar_material { - border-width: 1px 1px 0 1px; -} - -.dhxsidebar_base_material div.dhxcelltop_ribbon { - position: relative; - overflow: hidden; -} - -.dhxsidebar_base_material div.dhxcelltop_ribbon div.dhtmlxribbon_material.dhxrb_without_tabbar { - border-bottom-width: 0; - width: auto; -} - -.dhxsidebar_base_material div.dhxcelltop_ribbon div.dhtmlxribbon_material div.dhxrb_with_tabbar.dhxtabbar_base_material div.dhxtabbar_tabs_top div.dhx_cell_tabbar div.dhx_cell_cont_tabbar { - border-bottom-width: 0; -} - -.dhxsidebar_base_material div.dhxcelltop_statusbar { - position: absolute; - overflow: hidden; - background-color: #fafafa; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} - -.dhxsidebar_base_material div.dhxcelltop_statusbar div.dhxcont_statusbar { - position: relative; - background-color: #fafafa; - font: inherit; - height: 30px; - line-height: 30px; - border-width: 0 1px 1px 1px; - border-style: solid; - border-color: #dfdfdf; - padding: 0 12px; - color: #737373; - white-space: nowrap; - overflow: hidden; -} - -.dhxsidebar_skin_detect { - position: absolute; - left: 0; - top: -100px; - margin: 0; - padding: 0; - border: 0 solid white; - width: 40px; - height: 10px; - overflow: hidden; -} - -@keyframes dhx_loader_rotate { - 100% { - transform: rotate(360deg); - } -} - -@keyframes dhx_loader_dash { - 0% { - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - } - 50% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -35px; - } - 100% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -124px; - } -} - -.dhxcarousel_base_material { - background-color: white; - position: relative; - cursor: default; -} - -.dhxcarousel_base_material div.dhxcarousel_cont { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - overflow: hidden; -} - -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area { - position: relative; - overflow: hidden; -} - -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area.dhxcarousel_area_flip { - perspective: 900px; - -webkit-perspective: 900; -} - -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel { - position: absolute; - background-color: white; - margin: 0; - padding: 0; - overflow: hidden; - cursor: default; - z-index: 0; - -webkit-transform-style: preserve-3d; -} - -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_cover { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - margin: 0; - padding: 0; - font-size: 1px; - background-color: white; - overflow: hidden; - z-index: 1; - opacity: 0; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=0); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_progress_bar { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background-color: white; - z-index: 1; - opacity: .75; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=75); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_progress_img { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - border: 1px solid #e4e4e4; - background-image: url('imgs/dhxcarousel_material/dhxcarousel_cell_progress.gif'); - background-position: center center; - background-repeat: no-repeat; - z-index: 2; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_progress_svg { - border: 1px solid #e4e4e4; - z-index: 2; - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_progress_svg .dhx_cell_prsvg { - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - margin: auto; - width: 50px; - height: 50px; - animation: dhx_loader_rotate 2s linear infinite; - transform-origin: center center; -} - -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_progress_svg .dhx_cell_prsvg .dhx_cell_prcircle { - fill: none; - stroke: #39c; - stroke-width: 2; - stroke-miterlimit: 10; - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - stroke-linecap: round; - animation: dhx_loader_dash 1.5s ease-in-out infinite; -} - -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_menu_def { - position: relative; - overflow: hidden; - border-style: solid; - border-width: 0 1px 1px 1px; - border-color: #dfdfdf; -} - -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_toolbar_def { - position: relative; - overflow: hidden; -} - -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_toolbar_def .dhx_toolbar_material { - border-width: 0 1px 1px 1px; -} - -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def { - position: relative; - overflow: hidden; -} - -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material { - border-top-width: 0; - margin-top: -1px; - width: auto; -} - -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def div.dhtmlxribbon_material.dhxrb_without_tabbar { - border-top-width: 0; - width: auto; -} - -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_statusbar_def { - position: absolute; - bottom: 0; - width: 100%; - background-color: #fafafa; - z-index: 1; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} - -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - position: relative; - font: inherit; - height: 30px; - line-height: 30px; - border-style: solid; - border-width: 0 1px 1px 1px; - border-color: #dfdfdf; - white-space: nowrap; - overflow: hidden; - padding: 0 12px; - color: #737373; -} - -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_cont_carousel { - position: absolute; - border: 1px solid #dfdfdf; - overflow: hidden; - margin: 0; - padding: 0; - z-index: 0; -} - -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_cont_carousel.dhx_cell_cont_no_borders { - border-width: 0; -} - -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_menu_def { - border-width: 1px 1px 0 1px; -} - -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_toolbar_def .dhx_toolbar_material { - border-width: 1px 1px 0 1px; -} - -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def div.dhtmlxribbon_material.dhxrb_without_tabbar { - border-width: 1px 1px 0 1px; -} - -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material { - border-top-width: 1px; - margin-top: 0; -} - -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material div.dhxtabbar_tabs_top div.dhx_cell_tabbar div.dhx_cell_cont_tabbar { - border-bottom-width: 0; -} - -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls { - position: absolute; - width: 100%; - height: 34px; - bottom: 0; - left: 0; - z-index: 3; - overflow: visible; - border-top: 1px solid #dfdfdf; - background-color: #fafafa; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -} - -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn { - position: absolute; - bottom: 0; - width: 38px; - height: 100%; - overflow: hidden; - line-height: 33px; - background-color: #fafafa; - border: 0 solid #dfdfdf; - background-position: center center; - background-repeat: no-repeat; - text-align: center; - z-index: 2; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} - -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev { - background-image: url(imgs/dhxcarousel_material/dhxcarousel_arrow_left.png); -} - -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis { - background-image: url(imgs/dhxcarousel_material/dhxcarousel_arrow_left_dis.png); -} - -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next { - background-image: url(imgs/dhxcarousel_material/dhxcarousel_arrow_right.png); -} - -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis { - background-image: url(imgs/dhxcarousel_material/dhxcarousel_arrow_right_dis.png); -} - -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev:hover, -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next:hover { - background-color: #ebebeb; -} - -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev:active, -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next:active { - background-color: #dcdcdc; - border-color: #d2d2d2; - box-shadow: 0 0 4px rgba(127, 127, 127, 0.2) inset; -} - -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev, -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis { - left: 0; - border-right-width: 1px; -} - -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next, -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis { - right: 0; - border-left-width: 1px; -} - -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis, -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis { - z-index: 1; -} - -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars { - position: absolute; - top: 10px; - text-align: center; - font-size: 1px; - line-height: 36px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars div.dhx_carousel_onebar { - float: left; - position: relative; - margin: 0 2px; - width: 14px; - height: 14px; - border: 1px solid #797979; - border-radius: 14px; - background-color: white; - font-size: 1px; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars div.dhx_carousel_onebar div.dhx_carousel_barcore { - display: none; -} - -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars div.dhx_carousel_onebar.dhx_carousel_baractv { - border-color: #39c; -} - -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars div.dhx_carousel_onebar.dhx_carousel_baractv div.dhx_carousel_barcore { - position: absolute; - display: block; - font-size: 1px; - margin: 0; - padding: 0; - width: 8px; - height: 8px; - top: 3px; - left: 3px; - border-radius: 50%; - background-color: #39c; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxcarousel_base_material div.dhxcelltop_hdr { - position: relative; -} - -.dhxcarousel_base_material div.dhxcelltop_ftr { - position: absolute; -} - -.dhxcarousel_base_material div.dhxcelltop_progress { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background-color: white; - z-index: 3; - opacity: .55; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=55); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxcarousel_base_material div.dhxcelltop_progress_img { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background-image: url('imgs/dhxcarousel_material/dhxcarousel_cell_progress.gif'); - background-position: center center; - background-repeat: no-repeat; - z-index: 4; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxcarousel_base_material div.dhxcelltop_progress_svg { - z-index: 4; - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxcarousel_base_material div.dhxcelltop_progress_svg .dhx_cell_prsvg { - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - margin: auto; - width: 50px; - height: 50px; - animation: dhx_loader_rotate 2s linear infinite; - transform-origin: center center; -} - -.dhxcarousel_base_material div.dhxcelltop_progress_svg .dhx_cell_prsvg .dhx_cell_prcircle { - fill: none; - stroke: #39c; - stroke-width: 2; - stroke-miterlimit: 10; - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - stroke-linecap: round; - animation: dhx_loader_dash 1.5s ease-in-out infinite; -} - -.dhxcarousel_base_material div.dhxcelltop_menu { - position: relative; - overflow: hidden; - border-width: 1px 1px 0 1px; - border-style: solid; - border-color: #dfdfdf; -} - -.dhxcarousel_base_material div.dhxcelltop_toolbar { - position: relative; - overflow: hidden; -} - -.dhxcarousel_base_material div.dhxcelltop_toolbar div.dhx_toolbar_material { - border-width: 1px 1px 0 1px; -} - -.dhxcarousel_base_material div.dhxcelltop_ribbon { - position: relative; - overflow: hidden; -} - -.dhxcarousel_base_material div.dhxcelltop_ribbon div.dhtmlxribbon_material.dhxrb_without_tabbar { - border-bottom-width: 0; - width: auto; -} - -.dhxcarousel_base_material div.dhxcelltop_ribbon div.dhtmlxribbon_material div.dhxrb_with_tabbar.dhxtabbar_base_material div.dhxtabbar_tabs_top div.dhx_cell_tabbar div.dhx_cell_cont_tabbar { - border-bottom-width: 0; -} - -.dhxcarousel_base_material div.dhxcelltop_statusbar { - position: absolute; - overflow: hidden; - background-color: #fafafa; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} - -.dhxcarousel_base_material div.dhxcelltop_statusbar div.dhxcont_statusbar { - position: relative; - background-color: #fafafa; - font: inherit; - height: 30px; - line-height: 30px; - border-width: 0 1px 1px 1px; - border-style: solid; - border-color: #dfdfdf; - padding: 0 12px; - color: #737373; - white-space: nowrap; - overflow: hidden; -} - -.dhxcarousel_skin_detect { - position: absolute; - left: 0; - top: -100px; - margin: 0; - padding: 0; - border: 0 solid white; - width: 40px; - height: 10px; - overflow: hidden; -} - -div.dhx_popup_material div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_material { - background-color: #fafafa; -} - -div.dhx_popup_material div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls, -.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls, -.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls { - border-bottom: 1px solid #dfdfdf; -} - -div.dhx_popup_material div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev, -div.dhx_popup_material div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis, -.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev, -.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis, -.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev, -.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis { - border-left-width: 1px; -} - -div.dhx_popup_material div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next, -div.dhx_popup_material div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis, -.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next, -.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis, -.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next, -.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis { - border-right-width: 1px; -} - -@keyframes dhx_loader_rotate { - 100% { - transform: rotate(360deg); - } -} - -@keyframes dhx_loader_dash { - 0% { - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - } - 50% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -35px; - } - 100% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -124px; - } -} - -.dhxwins_vp_material { - overflow: hidden; - position: relative; - cursor: default; -} - -.dhxwins_vp_material div.dhxwin_active { - position: absolute; - overflow: hidden; - box-shadow: 0 28px 80px -6px rgba(0, 0, 0, 0.4); - background-color: #39c; - cursor: inherit; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -} - -.dhxwins_vp_material div.dhxwin_active div.dhxwin_fr_cover { - display: none; -} - -.dhxwins_vp_material div.dhxwin_active div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button:hover { - background-color: #3090c0; -} - -.dhxwins_vp_material div.dhxwin_active.dhxwin_dnd_touch, -.dhxwins_vp_material div.dhxwin_active.dhxwin_dnd { - box-shadow: 0 0 8px rgba(125, 125, 125, 0.4); - box-shadow: 0 28px 80px -6px rgba(1, 1, 1, 0.4); -} - -.dhxwins_vp_material div.dhxwin_active.dhxwin_dnd_touch { - border-color: #6c94b4; - box-shadow: 0 0 14px #a4b9cb; - -webkit-touch-callout: none; - -webkit-user-select: none; -} - -.dhxwins_vp_material div.dhxwin_inactive { - position: absolute; - overflow: hidden; - box-shadow: 0 0 8px rgba(127, 127, 127, 0.4); - background-color: #70b8db; - cursor: inherit; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -} - -.dhxwins_vp_material div.dhxwin_inactive div.dhxwin_brd { - border-color: #70b8db; - opacity: .8; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=80); -} - -.dhxwins_vp_material div.dhxwin_inactive div.dhxwin_fr_cover { - z-index: 4; - opacity: .5; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=50); -} - -.dhxwins_vp_material div.dhxwin_inactive div.dhxwin_fr_cover.dhxwin_fr_cover_dnd, -.dhxwins_vp_material div.dhxwin_inactive div.dhxwin_fr_cover.dhxwin_fr_cover_resize { - display: block; -} - -.dhxwins_vp_material div.dhxwin_inactive div.dhxwin_hdr { - color: #d9e7f3; - background-color: #70b8db; - opacity: .8; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=80); -} - -.dhxwins_vp_material div.dhxwin_inactive div.dhxwin_hdr div.dhxwin_icon { - opacity: .6; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=60); -} - -.dhxwins_vp_material div.dhxwin_inactive div.dhxwin_hdr div.dhxwin_btns { - opacity: .5; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=50); -} - -.dhxwins_vp_material div.dhxwin_brd { - position: absolute; - border-color: #39c; - border-style: solid; - border-width: 0 2px 2px 2px; - background: white; - z-index: 0; -} - -.dhxwins_vp_material div.dhxwin_brd.dhxwin_hdr_hidden { - border-top-width: 2px; -} - -.dhxwins_vp_material div.dhxwin_fr_cover { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - overflow: hidden; - background-color: white; - z-index: 1; - opacity: 0; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=0); -} - -.dhxwins_vp_material div.dhxwin_fr_cover iframe.dhxwin_fr_cover_inner, -.dhxwins_vp_material div.dhxwin_fr_cover div.dhxwin_fr_cover_inner { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background-color: white; - opacity: 0; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=0); -} - -.dhxwins_vp_material iframe.dhxwin_main_fr_cover { - position: absolute; - background-color: white; - opacity: 0; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=0); -} - -.dhxwins_vp_material div.dhxwin_hdr { - position: relative; - height: 48px; - line-height: 48px; - background-color: #39c; - margin: 0; - padding: 0; - font-family: Roboto, Arial, Helvetica; - font-size: 17px; - color: #ecf3f9; - cursor: inherit; - overflow: hidden; - z-index: 3; - -ms-touch-action: none; - touch-action: none; -} - -.dhxwins_vp_material div.dhxwin_hdr.dhxwin_hdr_hidden { - visibility: hidden; -} - -.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_icon { - position: absolute; - display: none; - left: 15px; - top: 15px; - width: 18px; - height: 18px; - cursor: default; - overflow: hidden; - background-image: url("imgs/dhxwins_material/dhxwins_icon.gif"); - background-position: center center; - background-repeat: no-repeat; - cursor: inherit; - z-index: 2; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_text { - position: relative; - padding: 0; - margin: 0; - overflow: hidden; - white-space: nowrap; - cursor: inherit; - z-index: 1; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_text div.dhxwin_text_inside { - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; - width: 100%; -} - -.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns { - position: absolute; - right: 15px; - top: 12px; - height: 24px; - cursor: default; - overflow: hidden; - cursor: inherit; - z-index: 2; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button, -.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis { - position: relative; - float: left; - width: 24px; - height: 24px; - margin-left: 1px; - margin-top: 2px; - background-image: url("imgs/dhxwins_material/dhxwins_buttons.png"); - background-repeat: no-repeat; - background-position: 0 0; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_close { - background-position: -24px 0; -} - -.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_minmax { - background-position: -48px 0; -} - -.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_minmaxed { - background-position: -72px 0; -} - -.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_park { - background-position: -96px 0; -} - -.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_stick { - background-position: -120px 0; -} - -.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_sticked { - background-position: -144px 0; - background-color: #3090c0!important; -} - -.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_help { - background-position: -168px 0; -} - -.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_dock { - background-position: -192px 0; -} - -.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_close_dis { - background-position: -24px -24px; -} - -.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_minmax_dis { - background-position: -48px -24px; -} - -.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_minmaxed_dis { - background-position: -72px -24px; -} - -.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_park_dis { - background-position: -96px -24px; -} - -.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_stick_dis { - background-position: -120px -24px; -} - -.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_sticked_dis { - background-position: -144px -24px; - background-color: #3193c4!important; -} - -.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_help_dis { - background-position: -168px -24px; -} - -.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_dock_dis { - background-position: -192px -24px; -} - -.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins, -.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins { - position: absolute; - background-color: white; - margin: 0; - padding: 0; - overflow: hidden; - cursor: default; - visibility: visible; - z-index: 1; - opacity: 1; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=100); -} - -.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_cover, -.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_cover { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - margin: 0; - padding: 0; - font-size: 1px; - background-color: white; - overflow: hidden; - z-index: 1; - opacity: 0; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=0); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_progress_bar, -.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_progress_bar { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background-color: white; - z-index: 1; - opacity: .75; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=75); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_progress_img, -.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_progress_img { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - border: 1px solid #e4e4e4; - background-image: url("imgs/dhxwins_material/dhxwins_progress.gif"); - background-position: center center; - background-repeat: no-repeat; - z-index: 2; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_progress_svg, -.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_progress_svg { - border: 1px solid #e4e4e4; - z-index: 2; - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_progress_svg .dhx_cell_prsvg, -.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_progress_svg .dhx_cell_prsvg { - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - margin: auto; - width: 50px; - height: 50px; - animation: dhx_loader_rotate 2s linear infinite; - transform-origin: center center; -} - -.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_progress_svg .dhx_cell_prsvg .dhx_cell_prcircle, -.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_progress_svg .dhx_cell_prsvg .dhx_cell_prcircle { - fill: none; - stroke: #39c; - stroke-width: 2; - stroke-miterlimit: 10; - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - stroke-linecap: round; - animation: dhx_loader_dash 1.5s ease-in-out infinite; -} - -.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_menu_def, -.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_menu_def { - position: relative; - overflow: hidden; - border-style: solid; - border-width: 0 1px 1px 1px; - border-color: #dfdfdf; -} - -.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_toolbar_def, -.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_toolbar_def { - position: relative; - overflow: hidden; -} - -.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_toolbar_def .dhx_toolbar_material, -.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_toolbar_def .dhx_toolbar_material { - border-width: 0 1px 1px 1px; -} - -.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_ribbon_def, -.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_ribbon_def { - position: relative; - overflow: hidden; -} - -.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material, -.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material { - border-top-width: 0; - margin-top: -1px; - width: auto; -} - -.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_ribbon_def div.dhtmlxribbon_material.dhxrb_without_tabbar, -.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_ribbon_def div.dhtmlxribbon_material.dhxrb_without_tabbar { - border-top-width: 0; - width: auto; -} - -.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_statusbar_def, -.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_statusbar_def { - position: absolute; - bottom: 0; - width: 100%; - background-color: #fafafa; - z-index: 1; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} - -.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text, -.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - position: relative; - font: inherit; - height: 30px; - line-height: 30px; - border-style: solid; - border-width: 0 1px 1px 1px; - border-color: #dfdfdf; - white-space: nowrap; - overflow: hidden; - padding: 0 12px; - color: #737373; -} - -.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_menu_def, -.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_menu_def { - border-width: 0 0 1px 0; -} - -.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_menu_def .dhtmlxMenu_material_Middle, -.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_menu_def .dhtmlxMenu_material_Middle { - padding: 0 2px; -} - -.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_toolbar_def .dhx_toolbar_material, -.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_toolbar_def .dhx_toolbar_material { - border-width: 0 0 1px 0; -} - -.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text, -.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - border-width: 1px 0 0 0; -} - -.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins.dhxwin_parked, -.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins.dhxwin_parked { - visibility: hidden; -} - -.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_cont_wins, -.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_cont_wins { - position: absolute; - background-color: white; - overflow: hidden; - z-index: 0; -} - -.dhxwins_vp_material.dhxwins_vp_dnd { - cursor: move!important; -} - -.dhxwins_vp_material div.dhxwin_resize { - position: absolute; - background-color: #cfcfcf; - opacity: .3; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=30); -} - -.dhxwins_vp_material iframe.dhxwin_resize_fr_cover { - position: absolute; - background-color: white; - opacity: 0; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=0); -} - -.dhxwins_vp_material div.dhxwins_mcover { - position: absolute; - background-color: #f3f3f3; - left: 0; - top: 0; - width: 100%; - height: 100%; - opacity: .55; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=55); -} - -.dhxwins_vp_material iframe.dhxwins_mcover { - position: absolute; - background-color: white; - left: 0; - top: 0; - width: 100%; - height: 100%; - opacity: 0; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=0); -} - -.dhxwins_vp_material.dhxwins_vp_fs { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - overflow: hidden; -} - -.dhxwins_vp_auto { - overflow: auto!important; -} - -.dhxwins_skin_detect { - position: absolute; - left: 0; - top: -100px; - margin: 0; - padding: 0; - border: 0 solid white; - width: 40px; - height: 10px; - overflow: hidden; -} - -@keyframes dhx_loader_rotate { - 100% { - transform: rotate(360deg); - } -} - -@keyframes dhx_loader_dash { - 0% { - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - } - 50% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -35px; - } - 100% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -124px; - } -} - -.dhtmlx_message_area { - position: fixed; - right: 10px; - width: 250px; - z-index: 1000; - padding: 0; -} - -.dhtmlx-info { - color: #444; - min-width: 120px; - background: #f5f5f5; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - font-weight: 500; - z-index: 10000; - margin: 0 5px 7px 5px; - box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); - border-radius: 3px; - -webkit-transition: all .5s ease; - -moz-transition: all .5s ease; - -o-transition: all .5s ease; - transition: all .5s ease; -} - -.dhtmlx-info div { - padding: 16px 9px 16px 15px; - background-color: #f5f5f5; - border-radius: 3px; - -webkit-transition: all .5s ease; - -moz-transition: all .5s ease; - -o-transition: all .5s ease; - transition: all .5s ease; -} - -.dhtmlx-info.hidden { - box-shadow: none; - border-top: none; - border-bottom: none; - margin-top: 0; - margin-bottom: 0; - overflow: hidden; -} - -.dhtmlx-info.hidden div { - height: 0; - border-top: none; - border-bottom: none; - padding-bottom: 0; - padding-top: 0; - overflow: hidden; -} - -.dhtmlx-error { - color: #fff; - background-color: #e53935; - box-shadow: 0 0 6px rgba(0, 0, 0, 0.49); - border-radius: 0; -} - -.dhtmlx-error div { - padding: 16px 9px 16px 18px; - background-color: #e53935; -} - -.dhtmlx_modal_box { - overflow: hidden; - display: inline-block; - min-width: 300px; - width: 300px; - text-align: center; - position: fixed; - background-color: #fff; - z-index: 20000; - box-shadow: 0 28px 80px -6px rgba(0, 0, 0, 0.4); -} - -.dhtmlx_popup_title { - padding: 16px 0; - font-size: 17px; - line-height: 16px; - font-family: Roboto, Arial, Helvetica; -} - -.dhtmlx-info, -.dhtmlx_popup_title, -.dhtmlx_popup_button { - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -moz-user-select: -moz-none; - cursor: pointer; -} - -.dhtmlx_popup_text { - font-size: 15px; - font-family: Roboto, Arial, Helvetica; - color: #444; - min-height: 30px; - padding: 20px 10px 5px 10px!important; - overflow: hidden; -} - -.dhtmlx_popup_controls { - font-family: Roboto, Arial, Helvetica; - font-weight: bold; - padding: 10px 10px 15px 10px!important; -} - -.dhtmlx_popup_button { - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - font-weight: 500; - min-width: 120px; - width: 120px; - height: 32px; - display: inline-block; - margin: 0 5px; - color: #444; -} - -.dhtmlx_popup_button div { - line-height: 32px; - text-transform: uppercase; -} - -div.dhx_modal_cover { - background-color: #000; - cursor: default; - opacity: .24; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=20); - position: fixed; - z-index: 19999; - left: 0; - top: 0; - width: 100%; - height: 100%; - border: none; - zoom: 1; -} - -.dhtmlx_popup_button { - color: #222; - border: 1px solid #dfdfdf; - background: #f5f5f5; -} - -.dhtmlx_popup_button:active, -.dhtmlx_popup_button:focus { - background: #eee; -} - -div.dhxform_item_label_left.button_print div.dhxform_btn_txt { - background-image: url(../icons/print.gif); - background-repeat: no-repeat; - background-position: 0px 3px; - padding-left: 22px; - margin: 0px 15px 0px 12px; -} - -div.dhxform_item_label_left.button_refresh div.dhxform_btn_txt { - background-image: url(../icons/refresh.png); - background-repeat: no-repeat; - background-position: 0px 3px; - padding-left: 22px; - margin: 0px 15px 0px 12px; -} - -div.dhxform_item_label_left.button_delete div.dhxform_btn_txt { - background-image: url(../icons/delete.gif); - background-repeat: no-repeat; - background-position: 0px 3px; - padding-left: 22px; - margin: 0px 15px 0px 12px; -} - -div.dhxform_item_label_left.button_update div.dhxform_btn_txt { - background-image: url(../icons/save.gif); - background-repeat: no-repeat; - background-position: 0px 3px; - padding-left: 22px; - margin: 0px 15px 0px 12px; -} - -div.dhxform_item_label_left.button_find div.dhxform_btn_txt { - background-image: url(../icons/search.png); - background-repeat: no-repeat; - background-position: 0px 3px; - padding-left: 22px; - margin: 0px 15px 0px 12px; -} - -div.dhxform_item_label_left.button_xls div.dhxform_btn_txt { - background-image: url(../icons/excel.png); - background-repeat: no-repeat; - background-position: 0px 3px; - padding-left: 22px; - margin: 0px 15px 0px 12px; -} - -div.dhxform_item_label_left.button_cancel div.dhxform_btn_txt { - background-image: url(../icons/redo.gif); - background-repeat: no-repeat; - background-position: 0px 3px; - padding-left: 22px; - margin: 0px 15px 0px 12px; -} - -div.dhxform_item_label_left.button_saveas div.dhxform_btn_txt { - background-image: url(../icons/saveas.png); - background-repeat: no-repeat; - background-position: 0px 3px; - padding-left: 22px; - margin: 0px 15px 0px 12px; -} - -div.dhxform_item_label_left.button_load div.dhxform_btn_txt { - background-image: url(../icons/load.png); - background-repeat: no-repeat; - background-position: 0px 3px; - padding-left: 22px; - margin: 0px 15px 0px 12px; -} - -div.dhxform_item_label_left.button_submit div.dhxform_btn_txt { - background-image: url(../icons/submit.png); - background-repeat: no-repeat; - background-position: 0px 3px; - padding-left: 22px; - margin: 0px 15px 0px 12px; -} - -div.dhxform_item_label_left.button_next div.dhxform_btn_txt { - background-image: url(../icons/next.png); - background-repeat: no-repeat; - background-position: 0px 3px; - padding-left: 22px; - margin: 0px 15px 0px 12px; -} - -div.dhxform_item_label_left.button_back div.dhxform_btn_txt { - background-image: url(../icons/back.png); - background-repeat: no-repeat; - background-position: 0px 3px; - padding-left: 22px; - margin: 0px 15px 0px 12px; -} - -.dhtmlx_popup_button:first-child { - background: #39c; - color: white; - font-weight: normal; -} - -.dhtmlx-alert-error .dhtmlx_popup_title, -.dhtmlx-confirm-error .dhtmlx_popup_title { - color: #fff; - background: #e53935; -} - -.dhtmlx-alert-error .dhtmlx_popup_button:first-child, -.dhtmlx-confirm-error .dhtmlx_popup_button:first-child { - background: #e53935; - border: 1px solid #f17373; -} - -.dhtmlx-alert-warning .dhtmlx_popup_title, -.dhtmlx-confirm-warning .dhtmlx_popup_title { - color: #fff; - background: #E6951A; -} - -.dhtmlx-alert .dhtmlx_popup_title, -.dhtmlx-confirm .dhtmlx_popup_title { - color: white; - background: #39c; -} \ No newline at end of file diff --git a/themes/codebase/dhtmlx.js b/themes/codebase/dhtmlx.js deleted file mode 100644 index 9787c93..0000000 --- a/themes/codebase/dhtmlx.js +++ /dev/null @@ -1,72970 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -if (typeof(window.dhx) == "undefined") { - window.dhx = window.dhx4 = { - version: "5.2.0", - skin: null, - skinDetect: function(a) { - var c = Math.floor(dhx4.readFromCss(a + "_skin_detect") / 10) * 10; - return { - 10: "dhx_skyblue", - 20: "dhx_web", - 30: "dhx_terrace", - 40: "material" - }[c] || null - }, - readFromCss: function(e, g, h) { - var c = document.createElement("DIV"); - c.className = e; - if (document.body.firstChild != null) { - document.body.insertBefore(c, document.body.firstChild) - } else { - document.body.appendChild(c) - } - if (typeof(h) == "string") { - c.innerHTML = h - } - var a = c[g || "offsetWidth"]; - c.parentNode.removeChild(c); - c = null; - return a - }, - lastId: 1, - newId: function() { - return this.lastId++ - }, - zim: { - data: {}, - step: 5, - first: function() { - return 100 - }, - last: function() { - var e = this.first(); - for (var c in this.data) { - e = Math.max(e, this.data[c]) - } - return e - }, - reserve: function(a) { - this.data[a] = this.last() + this.step; - return this.data[a] - }, - clear: function(a) { - if (this.data[a] != null) { - this.data[a] = null; - delete this.data[a] - } - } - }, - s2b: function(a) { - if (typeof(a) == "string") { - a = a.toLowerCase() - } - return (a == true || a == 1 || a == "true" || a == "1" || a == "yes" || a == "y" || a == "on") - }, - s2j: function(s) { - var obj = null; - dhx4.temp = null; - try { - eval("dhx4.temp=" + s) - } catch (e) { - dhx4.temp = null - } - obj = dhx4.temp; - dhx4.temp = null; - return obj - }, - absLeft: function(a) { - if (typeof(a) == "string") { - a = document.getElementById(a) - } - return this.getOffset(a).left - }, - absTop: function(a) { - if (typeof(a) == "string") { - a = document.getElementById(a) - } - return this.getOffset(a).top - }, - _aOfs: function(a) { - var e = 0, - c = 0; - while (a) { - e = e + parseInt(a.offsetTop); - c = c + parseInt(a.offsetLeft); - a = a.offsetParent - } - return { - top: e, - left: c - } - }, - _aOfsRect: function(g) { - var m = g.getBoundingClientRect(); - var n = document.body; - var c = document.documentElement; - var a = window.pageYOffset || c.scrollTop || n.scrollTop; - var h = window.pageXOffset || c.scrollLeft || n.scrollLeft; - var l = c.clientTop || n.clientTop || 0; - var o = c.clientLeft || n.clientLeft || 0; - var q = m.top + a - l; - var e = m.left + h - o; - return { - top: Math.round(q), - left: Math.round(e) - } - }, - getOffset: function(a) { - if (a.getBoundingClientRect) { - return this._aOfsRect(a) - } else { - return this._aOfs(a) - } - }, - _isObj: function(a) { - return (a != null && typeof(a) == "object" && typeof(a.length) == "undefined") - }, - _copyObj: function(g) { - if (this._isObj(g)) { - var e = {}; - for (var c in g) { - if (typeof(g[c]) == "object" && g[c] != null) { - e[c] = this._copyObj(g[c]) - } else { - e[c] = g[c] - } - } - } else { - var e = []; - for (var c = 0; c < g.length; c++) { - if (typeof(g[c]) == "object" && g[c] != null) { - e[c] = this._copyObj(g[c]) - } else { - e[c] = g[c] - } - } - } - return e - }, - screenDim: function() { - var a = (navigator.userAgent.indexOf("MSIE") >= 0); - var c = {}; - c.left = document.body.scrollLeft; - c.right = c.left + (window.innerWidth || document.body.clientWidth); - c.top = Math.max((a ? document.documentElement : document.getElementsByTagName("html")[0]).scrollTop, document.body.scrollTop); - c.bottom = c.top + (a ? Math.max(document.documentElement.clientHeight || 0, document.documentElement.offsetHeight || 0) : window.innerHeight); - return c - }, - selectTextRange: function(h, m, c) { - h = (typeof(h) == "string" ? document.getElementById(h) : h); - var a = h.value.length; - m = Math.max(Math.min(m, a), 0); - c = Math.min(c, a); - if (h.setSelectionRange) { - try { - h.setSelectionRange(m, c) - } catch (l) {} - } else { - if (h.createTextRange) { - var g = h.createTextRange(); - g.moveStart("character", m); - g.moveEnd("character", c - a); - try { - g.select() - } catch (l) {} - } - } - }, - transData: null, - transDetect: function() { - if (this.transData == null) { - this.transData = { - transProp: false, - transEv: null - }; - var e = { - MozTransition: "transitionend", - WebkitTransition: "webkitTransitionEnd", - OTransition: "oTransitionEnd", - msTransition: "transitionend", - transition: "transitionend" - }; - for (var c in e) { - if (this.transData.transProp == false && document.documentElement.style[c] != null) { - this.transData.transProp = c; - this.transData.transEv = e[c] - } - } - e = null - } - return this.transData - }, - _xmlNodeValue: function(a) { - var e = ""; - for (var c = 0; c < a.childNodes.length; c++) { - e += (a.childNodes[c].nodeValue != null ? a.childNodes[c].nodeValue.toString().replace(/^[\n\r\s]{0,}/, "").replace(/[\n\r\s]{0,}$/, "") : "") - } - return e - } - }; - window.dhx4.isIE = (navigator.userAgent.indexOf("MSIE") >= 0 || navigator.userAgent.indexOf("Trident") >= 0); - window.dhx4.isIE6 = (window.XMLHttpRequest == null && navigator.userAgent.indexOf("MSIE") >= 0); - window.dhx4.isIE7 = (navigator.userAgent.indexOf("MSIE 7.0") >= 0 && navigator.userAgent.indexOf("Trident") < 0); - window.dhx4.isIE8 = (navigator.userAgent.indexOf("MSIE 8.0") >= 0 && navigator.userAgent.indexOf("Trident") >= 0); - window.dhx4.isIE9 = (navigator.userAgent.indexOf("MSIE 9.0") >= 0 && navigator.userAgent.indexOf("Trident") >= 0); - window.dhx4.isIE10 = (navigator.userAgent.indexOf("MSIE 10.0") >= 0 && navigator.userAgent.indexOf("Trident") >= 0 && window.navigator.pointerEnabled != true); - window.dhx4.isIE11 = (navigator.userAgent.indexOf("Trident") >= 0 && window.navigator.pointerEnabled == true); - window.dhx4.isEdge = (navigator.userAgent.indexOf("Edge") >= 0); - window.dhx4.isOpera = (navigator.userAgent.indexOf("Opera") >= 0); - window.dhx4.isChrome = (navigator.userAgent.indexOf("Chrome") >= 0) && !window.dhx4.isEdge; - window.dhx4.isKHTML = (navigator.userAgent.indexOf("Safari") >= 0 || navigator.userAgent.indexOf("Konqueror") >= 0) && !window.dhx4.isEdge; - window.dhx4.isFF = (navigator.userAgent.indexOf("Firefox") >= 0); - window.dhx4.isIPad = (navigator.userAgent.search(/iPad/gi) >= 0); - window.dhx4.dnd = { - evs: {}, - p_en: ((window.dhx4.isIE || window.dhx4.isEdge) && (window.navigator.pointerEnabled || window.navigator.msPointerEnabled)), - _mTouch: function(a) { - return (window.dhx4.isIE10 && a.pointerType == a.MSPOINTER_TYPE_MOUSE || window.dhx4.isIE11 && a.pointerType == "mouse" || window.dhx4.isEdge && a.pointerType == "mouse") - }, - _touchOn: function(a) { - if (a == null) { - a = document.body - } - a.style.touchAction = a.style.msTouchAction = ""; - a = null - }, - _touchOff: function(a) { - if (a == null) { - a = document.body - } - a.style.touchAction = a.style.msTouchAction = "none"; - a = null - } - }; - if (window.navigator.pointerEnabled == true) { - window.dhx4.dnd.evs = { - start: "pointerdown", - move: "pointermove", - end: "pointerup" - } - } else { - if (window.navigator.msPointerEnabled == true) { - window.dhx4.dnd.evs = { - start: "MSPointerDown", - move: "MSPointerMove", - end: "MSPointerUp" - } - } else { - if (typeof(window.addEventListener) != "undefined") { - window.dhx4.dnd.evs = { - start: "touchstart", - move: "touchmove", - end: "touchend" - } - } - } - } -} -if (typeof(window.dhx4.template) == "undefined") { - window.dhx4.trim = function(a) { - return String(a).replace(/^\s{1,}/, "").replace(/\s{1,}$/, "") - }; - window.dhx4.template = function(c, e, a) { - return c.replace(/#([a-z0-9_-]{1,})(\|([^#]*))?#/gi, function() { - var m = arguments[1]; - var l = window.dhx4.trim(arguments[3]); - var n = null; - var h = [e[m]]; - if (l.length > 0) { - l = l.split(":"); - var g = []; - for (var o = 0; o < l.length; o++) { - if (o > 0 && g[g.length - 1].match(/\\$/) != null) { - g[g.length - 1] = g[g.length - 1].replace(/\\$/, "") + ":" + l[o] - } else { - g.push(l[o]) - } - } - n = g[0]; - for (var o = 1; o < g.length; o++) { - h.push(g[o]) - } - } - if (typeof(n) == "string" && typeof(window.dhx4.template[n]) == "function") { - return window.dhx4.template[n].apply(window.dhx4.template, h) - } - if (m.length > 0 && typeof(e[m]) != "undefined") { - if (!e[m] && e[m] !== 0) { - return "" - } - if (a == true) { - return window.dhx4.trim(e[m]) - } - return String(e[m]) - } - return "" - }) - }; - window.dhx4.template.date = function(a, c) { - if (a != null) { - if (a instanceof Date) { - return window.dhx4.date2str(a, c) - } else { - a = a.toString(); - if (a.match(/^\d*$/) != null) { - return window.dhx4.date2str(new Date(parseInt(a)), c) - } - return a - } - } - return "" - }; - window.dhx4.template.maxlength = function(c, a) { - return String(c).substr(0, a) - }; - window.dhx4.template.number_format = function(g, h, e, a) { - var c = window.dhx4.template._parseFmt(h, e, a); - if (c == false) { - return g - } - return window.dhx4.template._getFmtValue(g, c) - }; - window.dhx4.template.lowercase = function(a) { - if (typeof(a) == "undefined" || a == null) { - a = "" - } - return String(a).toLowerCase() - }; - window.dhx4.template.uppercase = function(a) { - if (typeof(a) == "undefined" || a == null) { - a = "" - } - return String(a).toUpperCase() - }; - window.dhx4.template._parseFmt = function(m, e, a) { - var g = m.match(/^([^\.\,0-9]*)([0\.\,]*)([^\.\,0-9]*)/); - if (g == null || g.length != 4) { - return false - } - var c = { - i_len: false, - i_sep: (typeof(e) == "string" ? e : ","), - d_len: false, - d_sep: (typeof(a) == "string" ? a : "."), - s_bef: (typeof(g[1]) == "string" ? g[1] : ""), - s_aft: (typeof(g[3]) == "string" ? g[3] : "") - }; - var l = g[2].split("."); - if (l[1] != null) { - c.d_len = l[1].length - } - var h = l[0].split(","); - if (h.length > 1) { - c.i_len = h[h.length - 1].length - } - return c - }; - window.dhx4.template._getFmtValue = function(value, fmt) { - var r = String(value).match(/^(-)?([0-9]{1,})(\.([0-9]{1,}))?$/); - if (r != null && r.length == 5) { - var v0 = ""; - if (r[1] != null) { - v0 += r[1] - } - v0 += fmt.s_bef; - if (fmt.i_len !== false) { - var i = 0; - var v1 = ""; - for (var q = r[2].length - 1; q >= 0; q--) { - v1 = "" + r[2].charAt(q) + v1; - if (++i == fmt.i_len && q > 0) { - v1 = fmt.i_sep + v1; - i = 0 - } - } - v0 += v1 - } else { - v0 += r[2] - } - if (fmt.d_len !== false) { - if (r[4] == null) { - r[4] = "" - } - while (r[4].length < fmt.d_len) { - r[4] += "0" - } - eval("dhx4.temp = new RegExp(/\\d{" + fmt.d_len + "}/);"); - var t1 = (r[4]).match(dhx4.temp); - if (t1 != null) { - v0 += fmt.d_sep + t1 - } - dhx4.temp = t1 = null - } - v0 += fmt.s_aft; - return v0 - } - return value - } -} -if (typeof(window.dhx4.dateLang) == "undefined") { - window.dhx4.dateLang = "en"; - window.dhx4.dateStrings = { - en: { - monthFullName: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], - monthShortName: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], - dayFullName: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], - dayShortName: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"] - } - }; - window.dhx4.dateFormat = { - en: "%Y-%m-%d" - }; - window.dhx4.date2str = function(l, g, a) { - if (g == null || typeof(g) == "undefined") { - g = window.dhx4.dateFormat[window.dhx4.dateLang] - } - if (a == null || typeof(a) == "undefined") { - a = window.dhx4.dateStrings[window.dhx4.dateLang] - } - if (l instanceof Date) { - var h = function(m) { - return (String(m).length == 1 ? "0" + String(m) : m) - }; - var c = function(o) { - switch (o) { - case "%d": - return h(l.getDate()); - case "%j": - return l.getDate(); - case "%D": - return a.dayShortName[l.getDay()]; - case "%l": - return a.dayFullName[l.getDay()]; - case "%m": - return h(l.getMonth() + 1); - case "%n": - return l.getMonth() + 1; - case "%M": - return a.monthShortName[l.getMonth()]; - case "%F": - return a.monthFullName[l.getMonth()]; - case "%y": - return h(l.getYear() % 100); - case "%Y": - return l.getFullYear(); - case "%g": - return (l.getHours() + 11) % 12 + 1; - case "%h": - return h((l.getHours() + 11) % 12 + 1); - case "%G": - return l.getHours(); - case "%H": - return h(l.getHours()); - case "%i": - return h(l.getMinutes()); - case "%s": - return h(l.getSeconds()); - case "%a": - return (l.getHours() > 11 ? "pm" : "am"); - case "%A": - return (l.getHours() > 11 ? "PM" : "AM"); - case "%%": - return "%"; - case "%u": - return l.getMilliseconds(); - case "%P": - if (window.dhx4.temp_calendar != null && window.dhx4.temp_calendar.tz != null) { - return window.dhx4.temp_calendar.tz - } - var r = l.getTimezoneOffset(); - var q = Math.abs(Math.floor(r / 60)); - var n = Math.abs(r) - q * 60; - return (r > 0 ? "-" : "+") + h(q) + ":" + h(n); - default: - return o - } - }; - var e = String(g || window.dhx4.dateFormat).replace(/%[a-zA-Z]/g, c) - } - return (e || String(l)) - }; - window.dhx4.str2date = function(l, A, E) { - if (A == null || typeof(A) == "undefined") { - A = window.dhx4.dateFormat[window.dhx4.dateLang] - } - if (E == null || typeof(E) == "undefined") { - E = window.dhx4.dateStrings[window.dhx4.dateLang] - } - A = A.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\\:|]/g, "\\$&"); - var D = []; - var o = []; - A = A.replace(/%[a-z]/gi, function(e) { - switch (e) { - case "%d": - case "%m": - case "%y": - case "%h": - case "%H": - case "%i": - case "%s": - o.push(e); - return "(\\d{2})"; - case "%D": - case "%l": - case "%M": - case "%F": - o.push(e); - return "([a-z??????\u0430-\u044F\u0451]{1,})"; - case "%j": - case "%n": - case "%g": - case "%G": - o.push(e); - return "(\\d{1,2})"; - case "%Y": - o.push(e); - return "(\\d{4})"; - case "%a": - o.push(e); - return "([a|p]m)"; - case "%A": - o.push(e); - return "([A|P]M)"; - case "%u": - o.push(e); - return "(\\d{1,6})"; - case "%P": - o.push(e); - return "([+-]\\d{1,2}:\\d{1,2})" - } - return e - }); - var F = new RegExp(A, "i"); - var s = l.match(F); - if (s == null || s.length - 1 != o.length) { - return "Invalid Date" - } - for (var c = 1; c < s.length; c++) { - D.push(s[c]) - } - var g = { - "%y": 1, - "%Y": 1, - "%n": 2, - "%m": 2, - "%M": 2, - "%F": 2, - "%d": 3, - "%j": 3, - "%a": 4, - "%A": 4, - "%H": 5, - "%G": 5, - "%h": 5, - "%g": 5, - "%i": 6, - "%s": 7, - "%u": 7, - "%P": 7 - }; - var u = {}; - var n = {}; - for (var c = 0; c < o.length; c++) { - if (typeof(g[o[c]]) != "undefined") { - var h = g[o[c]]; - if (!u[h]) { - u[h] = []; - n[h] = [] - } - u[h].push(D[c]); - n[h].push(o[c]) - } - } - D = []; - o = []; - for (var c = 1; c <= 7; c++) { - if (u[c] != null) { - for (var y = 0; y < u[c].length; y++) { - D.push(u[c][y]); - o.push(n[c][y]) - } - } - } - var a = new Date(); - a.setDate(1); - a.setHours(0); - a.setMinutes(0); - a.setSeconds(0); - a.setMilliseconds(0); - var x = function(v, e) { - for (var r = 0; r < e.length; r++) { - if (e[r].toLowerCase() == v) { - return r - } - } - return -1 - }; - for (var c = 0; c < D.length; c++) { - switch (o[c]) { - case "%d": - case "%j": - case "%n": - case "%m": - case "%Y": - case "%H": - case "%G": - case "%i": - case "%s": - case "%u": - if (!isNaN(D[c])) { - a[{ - "%d": "setDate", - "%j": "setDate", - "%n": "setMonth", - "%m": "setMonth", - "%Y": "setFullYear", - "%H": "setHours", - "%G": "setHours", - "%i": "setMinutes", - "%s": "setSeconds", - "%u": "setMilliseconds" - }[o[c]]](Number(D[c]) + (o[c] == "%m" || o[c] == "%n" ? -1 : 0)) - } - break; - case "%M": - case "%F": - var m = x(D[c].toLowerCase(), E[{ - "%M": "monthShortName", - "%F": "monthFullName" - }[o[c]]]); - if (m >= 0) { - a.setMonth(m) - } - break; - case "%y": - if (!isNaN(D[c])) { - var C = Number(D[c]); - a.setFullYear(C + (C > 50 ? 1900 : 2000)) - } - break; - case "%g": - case "%h": - if (!isNaN(D[c])) { - var C = Number(D[c]); - if (C <= 12 && C >= 0) { - a.setHours(C + (x("pm", D) >= 0 ? (C == 12 ? 0 : 12) : (C == 12 ? -12 : 0))) - } - } - break; - case "%P": - if (window.dhx4.temp_calendar != null) { - window.dhx4.temp_calendar.tz = D[c] - } - break - } - } - return a - } -} -if (typeof(window.dhx4.ajax) == "undefined") { - window.dhx4.ajax = function(c) { - return dhx4.ajax.get(c) - }; - var ajaxbase = { - cache: false, - method: "get", - parse: function(a) { - if (typeof a !== "string") { - return a - } - a = a.replace(/^[\s]+/, ""); - if (window.DOMParser && !dhx4.isIE) { - var c = (new window.DOMParser()).parseFromString(a, "text/xml") - } else { - if (window.ActiveXObject !== window.undefined) { - var c = new window.ActiveXObject("Microsoft.XMLDOM"); - c.async = "false"; - c.loadXML(a) - } - } - return c - }, - xmltop: function(a, h, g) { - if (typeof h.status == "undefined" || h.status < 400) { - xml = (!h.responseXML) ? dhx4.ajax.parse(h.responseText || h) : (h.responseXML || h); - if (xml && xml.documentElement !== null) { - try { - if (!xml.getElementsByTagName("parsererror").length) { - return xml.getElementsByTagName(a)[0] - } - } catch (c) {} - } - } - if (g !== -1) { - dhx4.callEvent("onLoadXMLError", ["Incorrect XML", arguments[1], g]) - } - return document.createElement("DIV") - }, - xpath: function(g, a) { - if (!a.nodeName) { - a = a.responseXML || a - } - if (dhx4.isIE) { - try { - return a.selectNodes(g) || [] - } catch (l) { - return [] - } - } else { - var h = []; - var m; - var c = (a.ownerDocument || a).evaluate(g, a, null, XPathResult.ANY_TYPE, null); - while (m = c.iterateNext()) { - h.push(m) - } - return h - } - }, - query: function(a) { - return dhx4.ajax._call((a.method || "GET"), a.url, a.data || "", (a.async || true), a.callback, null, a.headers) - }, - get: function(a, c) { - return this._call("GET", a, null, true, c) - }, - getSync: function(a) { - return this._call("GET", a, null, false) - }, - put: function(c, a, e) { - return this._call("PUT", c, a, true, e) - }, - del: function(c, a, e) { - return this._call("DELETE", c, a, true, e) - }, - post: function(c, a, e) { - if (arguments.length == 1) { - a = "" - } else { - if (arguments.length == 2 && (typeof(a) == "function" || typeof(window[a]) == "function")) { - e = a; - a = "" - } else { - if (!a || typeof a !== "object") { - a = String(a) - } - } - } - return this._call("POST", c, a, true, e) - }, - postSync: function(c, a) { - a = (a == null ? "" : String(a)); - return this._call("POST", c, a, false) - }, - getLong: function(a, c) { - this._call("GET", a, null, true, c, { - url: a - }) - }, - postLong: function(c, a, e) { - if (arguments.length == 2 && (typeof(a) == "function" || typeof(window[a]))) { - e = a; - a = "" - } - this._call("POST", c, a, true, e, { - url: c, - postData: a - }) - }, - _call: function(c, e, g, n, q, v, l) { - if (typeof g === "object") { - var m = []; - for (var r in g) { - m.push(r + "=" + encodeURIComponent(g[r])) - } - g = m.join("&") - } - var h = dhx.promise.defer(); - var u = (window.XMLHttpRequest && !dhx4.isIE ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP")); - var o = (navigator.userAgent.match(/AppleWebKit/) != null && navigator.userAgent.match(/Qt/) != null && navigator.userAgent.match(/Safari/) != null); - if (n == true) { - u.onreadystatechange = function() { - if ((u.readyState == 4) || (o == true && u.readyState == 3)) { - if (u.status != 200 || u.responseText == "") { - h.reject(u); - if (!dhx4.callEvent("onAjaxError", [{ - xmlDoc: u, - filePath: e, - async: n - }])) { - return - } - } - window.setTimeout(function() { - if (typeof(q) == "function") { - try { - q.apply(window, [{ - xmlDoc: u, - filePath: e, - async: n - }]) - } catch (a) { - h.reject(a) - } - } - if (v != null) { - if (typeof(v.postData) != "undefined") { - dhx4.ajax.postLong(v.url, v.postData, q) - } else { - dhx4.ajax.getLong(v.url, q) - } - } - h.resolve(u.responseText); - q = null; - u = null - }, 1) - } - } - } - if (c == "GET") { - e += this._dhxr(e) - } - u.open(c, e, n); - if (l != null) { - for (var s in l) { - u.setRequestHeader(s, l[s]) - } - } else { - if (c == "POST" || c == "PUT" || c == "DELETE") { - u.setRequestHeader("Content-Type", "application/x-www-form-urlencoded") - } else { - if (c == "GET") { - g = null - } - } - } - u.setRequestHeader("X-Requested-With", "XMLHttpRequest"); - u.send(g); - if (n != true) { - if ((u.readyState == 4) || (o == true && u.readyState == 3)) { - if (u.status != 200 || u.responseText == "") { - dhx4.callEvent("onAjaxError", [{ - xmlDoc: u, - filePath: e, - async: n - }]) - } - } - } - h.xmlDoc = u; - h.filePath = e; - h.async = n; - return h - }, - _dhxr: function(a, c) { - if (this.cache != true) { - if (a.match(/^[\?\&]$/) == null) { - a = (a.indexOf("?") >= 0 ? "&" : "?") - } - if (typeof(c) == "undefined") { - c = true - } - return a + "dhxr" + new Date().getTime() + (c == true ? "=1" : "") - } - return "" - } - }; - for (var key in ajaxbase) { - dhx4.ajax[key] = ajaxbase[key] - } -} -if (typeof(window.dhx4._enableDataLoading) == "undefined") { - window.dhx4._enableDataLoading = function(m, e, l, h, n) { - if (n == "clear") { - for (var c in m._dhxdataload) { - m._dhxdataload[c] = null; - delete m._dhxdataload[c] - } - m._loadData = null; - m._dhxdataload = null; - m.load = null; - m.loadStruct = null; - m = null; - return - } - m._dhxdataload = { - initObj: e, - xmlToJson: l, - xmlRootTag: h, - onBeforeXLS: null - }; - m._loadData = function(u, v, w) { - if (arguments.length == 2) { - w = v; - v = null - } - var s = null; - if (arguments.length == 3) { - w = arguments[2] - } - this.callEvent("onXLS", []); - if (typeof(u) == "string") { - var r = u.replace(/^\s{1,}/, "").replace(/\s{1,}$/, ""); - var A = new RegExp("^<" + this._dhxdataload.xmlRootTag); - if (A.test(r.replace(/^<\?xml[^\?]*\?>\s*/, ""))) { - s = dhx4.ajax.parse(u); - if (s != null) { - s = this[this._dhxdataload.xmlToJson].apply(this, [s]) - } - } - if (s == null && (r.match(/^[\s\S]*{[.\s\S]*}[\s\S]*$/) != null || r.match(/^[\s\S]*\[[.\s\S]*\][\s\S]*$/) != null)) { - s = dhx4.s2j(r) - } - if (s == null) { - var q = []; - if (typeof(this._dhxdataload.onBeforeXLS) == "function") { - var r = this._dhxdataload.onBeforeXLS.apply(this, [u]); - if (r != null && typeof(r) == "object") { - if (r.url != null) { - u = r.url - } - if (r.params != null) { - for (var x in r.params) { - q.push(x + "=" + encodeURIComponent(r.params[x])) - } - } - } - } - var y = this; - var o = function(a) { - var C = null; - if ((a.xmlDoc.getResponseHeader("Content-Type") || "").search(/xml/gi) >= 0 || (a.xmlDoc.responseText.replace(/^\s{1,}/, "")).match(/^ 0 ? (u.indexOf("?") > 0 ? "&" : "?") + q : ""), o) - } - } - return - } - } else { - if (typeof(u.documentElement) == "object" || (typeof(u.tagName) != "undefined" && typeof(u.getElementsByTagName) != "undefined" && u.getElementsByTagName(this._dhxdataload.xmlRootTag).length > 0)) { - s = this[this._dhxdataload.xmlToJson].apply(this, [u]) - } else { - s = window.dhx4._copyObj(u) - } - } - if (s != null) { - this[this._dhxdataload.initObj].apply(this, [s]) - } - this.callEvent("onXLE", []); - if (w != null) { - if (typeof(w) == "function") { - w.apply(this, []) - } else { - if (typeof(window[w]) == "function") { - window[w].apply(this, []) - } - } - w = null - } - }; - if (n != null) { - var g = { - struct: "loadStruct", - data: "load" - }; - for (var c in n) { - if (n[c] == true) { - m[g[c]] = function() { - return this._loadData.apply(this, arguments) - } - } - } - } - m = null - } -} -if (typeof(window.dhx4._eventable) == "undefined") { - window.dhx4._eventable = function(a, c) { - if (c == "clear") { - a.detachAllEvents(); - a.dhxevs = null; - a.attachEvent = null; - a.detachEvent = null; - a.checkEvent = null; - a.callEvent = null; - a.detachAllEvents = null; - a = null; - return - } - a.dhxevs = { - data: {} - }; - a.attachEvent = function(e, h) { - e = String(e).toLowerCase(); - if (!this.dhxevs.data[e]) { - this.dhxevs.data[e] = {} - } - var g = window.dhx4.newId(); - this.dhxevs.data[e][g] = h; - return g - }; - a.detachEvent = function(l) { - for (var g in this.dhxevs.data) { - var h = 0; - for (var e in this.dhxevs.data[g]) { - if (e == l) { - this.dhxevs.data[g][e] = null; - delete this.dhxevs.data[g][e] - } else { - h++ - } - } - if (h == 0) { - this.dhxevs.data[g] = null; - delete this.dhxevs.data[g] - } - } - }; - a.checkEvent = function(e) { - e = String(e).toLowerCase(); - return (this.dhxevs.data[e] != null) - }; - a.callEvent = function(g, l) { - g = String(g).toLowerCase(); - if (this.dhxevs.data[g] == null) { - return true - } - var h = true; - for (var e in this.dhxevs.data[g]) { - h = this.dhxevs.data[g][e].apply(this, l) && h - } - return h - }; - a.detachAllEvents = function() { - for (var g in this.dhxevs.data) { - for (var e in this.dhxevs.data[g]) { - this.dhxevs.data[g][e] = null; - delete this.dhxevs.data[g][e] - } - this.dhxevs.data[g] = null; - delete this.dhxevs.data[g] - } - }; - a = null - }; - dhx4._eventable(dhx4) -} -if (!window.dhtmlxValidation) { - dhtmlxValidation = function() {}; - dhtmlxValidation.prototype = { - isEmpty: function(a) { - return a == "" - }, - isNotEmpty: function(a) { - return (a instanceof Array ? a.length > 0 : !a == "") - }, - isValidBoolean: function(a) { - return !!a.toString().match(/^(0|1|true|false)$/) - }, - isValidEmail: function(a) { - return !!a.toString().match(/^[a-z0-9][0-9a-z\-_\.]*@[0-9a-z_\-\.]*\.[a-z]{2,5}$/i) - }, - isValidInteger: function(a) { - return !!a.toString().match(/(^-?\d+$)/) - }, - isValidNumeric: function(a) { - return !!a.toString().match(/(^-?\d\d*[\.|,]\d*$)|(^-?\d\d*$)|(^-?[\.|,]\d\d*$)/) - }, - isValidAplhaNumeric: function(a) { - return !!a.toString().match(/^[_\-a-z0-9]+$/gi) - }, - isValidDatetime: function(c) { - var a = c.toString().match(/^(\d{4})-(\d{2})-(\d{2})\s(\d{2}):(\d{2}):(\d{2})$/); - return a && !!(a[1] <= 9999 && a[2] <= 12 && a[3] <= 31 && a[4] <= 59 && a[5] <= 59 && a[6] <= 59) || false - }, - isValidDate: function(a) { - var c = a.toString().match(/^(\d{4})-(\d{2})-(\d{2})$/); - return c && !!(c[1] <= 9999 && c[2] <= 12 && c[3] <= 31) || false - }, - isValidTime: function(c) { - var a = c.toString().match(/^(\d{1,2}):(\d{1,2}):(\d{1,2})$/); - return a && !!(a[1] <= 24 && a[2] <= 59 && a[3] <= 59) || false - }, - isValidIPv4: function(a) { - var c = a.toString().match(/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/); - return c && !!(c[1] <= 255 && c[2] <= 255 && c[3] <= 255 && c[4] <= 255) || false - }, - isValidCurrency: function(a) { - return a.toString().match(/^\$?\s?\d+?([\.,\,]?\d+)?\s?\$?$/) && true || false - }, - isValidSSN: function(a) { - return a.toString().match(/^\d{3}\-?\d{2}\-?\d{4}$/) && true || false - }, - isValidSIN: function(a) { - return a.toString().match(/^\d{9}$/) && true || false - } - }; - dhtmlxValidation = new dhtmlxValidation() -} -if (typeof(window.dhtmlx) == "undefined") { - window.dhtmlx = {} -} -if (!window.dhtmlx.extend) { - window.dhtmlx.extend = function(e, c) { - for (var g in c) { - if (!e[g]) { - e[g] = c[g] - } - } - return e - }; - window.dhtmlx.extend_api = function(a, g, e) { - var c = window[a]; - if (!c) { - return - } - window[a] = function(m) { - if (m && typeof m == "object" && !m.tagName) { - var l = c.apply(this, (g._init ? g._init(m) : arguments)); - for (var h in dhtmlx) { - if (g[h]) { - this[g[h]](dhtmlx[h]) - } - } - for (var h in m) { - if (g[h]) { - this[g[h]](m[h]) - } else { - if (h.indexOf("on") === 0) { - this.attachEvent(h, m[h]) - } - } - } - } else { - var l = c.apply(this, arguments) - } - if (g._patch) { - g._patch(this) - } - return l || this - }; - window[a].prototype = c.prototype; - if (e) { - dhtmlx.extend(window[a].prototype, e) - } - }; - window.dhtmlx.url = function(a) { - if (a.indexOf("?") != -1) { - return "&" - } else { - return "?" - } - } -} - -function dhtmlDragAndDropObject() { - if (window.dhtmlDragAndDrop) { - return window.dhtmlDragAndDrop - } - this.lastLanding = 0; - this.dragNode = 0; - this.dragStartNode = 0; - this.dragStartObject = 0; - this.tempDOMU = null; - this.tempDOMM = null; - this.waitDrag = 0; - window.dhtmlDragAndDrop = this; - return this -} -dhtmlDragAndDropObject.prototype.removeDraggableItem = function(a) { - a.onmousedown = null; - a.dragStarter = null; - a.dragLanding = null -}; -dhtmlDragAndDropObject.prototype.addDraggableItem = function(a, c) { - a.onmousedown = this.preCreateDragCopy; - a.dragStarter = c; - this.addDragLanding(a, c) -}; -dhtmlDragAndDropObject.prototype.addDragLanding = function(a, c) { - a.dragLanding = c -}; -dhtmlDragAndDropObject.prototype.preCreateDragCopy = function(a) { - if ((a || window.event) && (a || event).button == 2) { - return - } - if (window.dhtmlDragAndDrop.waitDrag) { - window.dhtmlDragAndDrop.waitDrag = 0; - document.body.onmouseup = window.dhtmlDragAndDrop.tempDOMU; - document.body.onmousemove = window.dhtmlDragAndDrop.tempDOMM; - return false - } - if (window.dhtmlDragAndDrop.dragNode) { - window.dhtmlDragAndDrop.stopDrag(a) - } - window.dhtmlDragAndDrop.waitDrag = 1; - window.dhtmlDragAndDrop.tempDOMU = document.body.onmouseup; - window.dhtmlDragAndDrop.tempDOMM = document.body.onmousemove; - window.dhtmlDragAndDrop.dragStartNode = this; - window.dhtmlDragAndDrop.dragStartObject = this.dragStarter; - document.body.onmouseup = window.dhtmlDragAndDrop.preCreateDragCopy; - document.body.onmousemove = window.dhtmlDragAndDrop.callDrag; - window.dhtmlDragAndDrop.downtime = new Date().valueOf(); - if ((a) && (a.preventDefault)) { - a.preventDefault(); - return false - } - return false -}; -dhtmlDragAndDropObject.prototype.callDrag = function(g) { - if (!g) { - g = window.event - } - dragger = window.dhtmlDragAndDrop; - if ((new Date()).valueOf() - dragger.downtime < 100) { - return - } - if (!dragger.dragNode) { - if (dragger.waitDrag) { - dragger.dragNode = dragger.dragStartObject._createDragNode(dragger.dragStartNode, g); - if (!dragger.dragNode) { - return dragger.stopDrag() - } - dragger.dragNode.onselectstart = function() { - return false - }; - dragger.gldragNode = dragger.dragNode; - document.body.appendChild(dragger.dragNode); - document.body.onmouseup = dragger.stopDrag; - dragger.waitDrag = 0; - dragger.dragNode.pWindow = window; - dragger.initFrameRoute() - } else { - return dragger.stopDrag(g, true) - } - } - if (dragger.dragNode.parentNode != window.document.body && dragger.gldragNode) { - var a = dragger.gldragNode; - if (dragger.gldragNode.old) { - a = dragger.gldragNode.old - } - a.parentNode.removeChild(a); - var c = dragger.dragNode.pWindow; - if (a.pWindow && a.pWindow.dhtmlDragAndDrop.lastLanding) { - a.pWindow.dhtmlDragAndDrop.lastLanding.dragLanding._dragOut(a.pWindow.dhtmlDragAndDrop.lastLanding) - } - if (_isIE) { - var l = document.createElement("Div"); - l.innerHTML = dragger.dragNode.outerHTML; - dragger.dragNode = l.childNodes[0] - } else { - dragger.dragNode = dragger.dragNode.cloneNode(true) - } - dragger.dragNode.pWindow = window; - dragger.gldragNode.old = dragger.dragNode; - document.body.appendChild(dragger.dragNode); - c.dhtmlDragAndDrop.dragNode = dragger.dragNode - } - dragger.dragNode.style.left = g.clientX + 15 + (dragger.fx ? dragger.fx * (-1) : 0) + (document.body.scrollLeft || document.documentElement.scrollLeft) + "px"; - dragger.dragNode.style.top = g.clientY + 3 + (dragger.fy ? dragger.fy * (-1) : 0) + (document.body.scrollTop || document.documentElement.scrollTop) + "px"; - if (!g.srcElement) { - var h = g.target - } else { - h = g.srcElement - } - dragger.checkLanding(h, g) -}; -dhtmlDragAndDropObject.prototype.calculateFramePosition = function(h) { - if (window.name) { - var e = parent.frames[window.name].frameElement.offsetParent; - var g = 0; - var c = 0; - while (e) { - g += e.offsetLeft; - c += e.offsetTop; - e = e.offsetParent - } - if ((parent.dhtmlDragAndDrop)) { - var a = parent.dhtmlDragAndDrop.calculateFramePosition(1); - g += a.split("_")[0] * 1; - c += a.split("_")[1] * 1 - } - if (h) { - return g + "_" + c - } else { - this.fx = g - } - this.fy = c - } - return "0_0" -}; -dhtmlDragAndDropObject.prototype.checkLanding = function(c, a) { - if ((c) && (c.dragLanding)) { - if (this.lastLanding) { - this.lastLanding.dragLanding._dragOut(this.lastLanding) - } - this.lastLanding = c; - this.lastLanding = this.lastLanding.dragLanding._dragIn(this.lastLanding, this.dragStartNode, a.clientX, a.clientY, a); - this.lastLanding_scr = (_isIE ? a.srcElement : a.target) - } else { - if ((c) && (c.tagName != "BODY")) { - this.checkLanding(c.parentNode, a) - } else { - if (this.lastLanding) { - this.lastLanding.dragLanding._dragOut(this.lastLanding, a.clientX, a.clientY, a) - } - this.lastLanding = 0; - if (this._onNotFound) { - this._onNotFound() - } - } - } -}; -dhtmlDragAndDropObject.prototype.stopDrag = function(c, g) { - dragger = window.dhtmlDragAndDrop; - if (!g) { - dragger.stopFrameRoute(); - var a = dragger.lastLanding; - dragger.lastLanding = null; - if (a) { - a.dragLanding._drag(dragger.dragStartNode, dragger.dragStartObject, a, (_isIE ? event.srcElement : c.target)) - } - } - dragger.lastLanding = null; - if ((dragger.dragNode) && (dragger.dragNode.parentNode == document.body)) { - dragger.dragNode.parentNode.removeChild(dragger.dragNode) - } - dragger.dragNode = 0; - dragger.gldragNode = 0; - dragger.fx = 0; - dragger.fy = 0; - dragger.dragStartNode = 0; - dragger.dragStartObject = 0; - document.body.onmouseup = dragger.tempDOMU; - document.body.onmousemove = dragger.tempDOMM; - dragger.tempDOMU = null; - dragger.tempDOMM = null; - dragger.waitDrag = 0 -}; -dhtmlDragAndDropObject.prototype.stopFrameRoute = function(g) { - if (g) { - window.dhtmlDragAndDrop.stopDrag(1, 1) - } - for (var a = 0; a < window.frames.length; a++) { - try { - if ((window.frames[a] != g) && (window.frames[a].dhtmlDragAndDrop)) { - window.frames[a].dhtmlDragAndDrop.stopFrameRoute(window) - } - } catch (c) {} - } - try { - if ((parent.dhtmlDragAndDrop) && (parent != window) && (parent != g)) { - parent.dhtmlDragAndDrop.stopFrameRoute(window) - } - } catch (c) {} -}; -dhtmlDragAndDropObject.prototype.initFrameRoute = function(g, h) { - if (g) { - window.dhtmlDragAndDrop.preCreateDragCopy(); - window.dhtmlDragAndDrop.dragStartNode = g.dhtmlDragAndDrop.dragStartNode; - window.dhtmlDragAndDrop.dragStartObject = g.dhtmlDragAndDrop.dragStartObject; - window.dhtmlDragAndDrop.dragNode = g.dhtmlDragAndDrop.dragNode; - window.dhtmlDragAndDrop.gldragNode = g.dhtmlDragAndDrop.dragNode; - window.document.body.onmouseup = window.dhtmlDragAndDrop.stopDrag; - window.waitDrag = 0; - if (((!_isIE) && (h)) && ((!_isFF) || (_FFrv < 1.8))) { - window.dhtmlDragAndDrop.calculateFramePosition() - } - } - try { - if ((parent.dhtmlDragAndDrop) && (parent != window) && (parent != g)) { - parent.dhtmlDragAndDrop.initFrameRoute(window) - } - } catch (c) {} - for (var a = 0; a < window.frames.length; a++) { - try { - if ((window.frames[a] != g) && (window.frames[a].dhtmlDragAndDrop)) { - window.frames[a].dhtmlDragAndDrop.initFrameRoute(window, ((!g || h) ? 1 : 0)) - } - } catch (c) {} - } -}; -_isFF = false; -_isIE = false; -_isOpera = false; -_isKHTML = false; -_isMacOS = false; -_isChrome = false; -_FFrv = false; -_KHTMLrv = false; -_OperaRv = false; -if (navigator.userAgent.indexOf("Macintosh") != -1) { - _isMacOS = true -} -if (navigator.userAgent.toLowerCase().indexOf("chrome") > -1) { - _isChrome = true -} -if ((navigator.userAgent.indexOf("Safari") != -1) || (navigator.userAgent.indexOf("Konqueror") != -1)) { - _KHTMLrv = parseFloat(navigator.userAgent.substr(navigator.userAgent.indexOf("Safari") + 7, 5)); - if (_KHTMLrv > 525) { - _isFF = true; - _FFrv = 1.9 - } else { - _isKHTML = true - } -} else { - if (navigator.userAgent.indexOf("Opera") != -1) { - _isOpera = true; - _OperaRv = parseFloat(navigator.userAgent.substr(navigator.userAgent.indexOf("Opera") + 6, 3)) - } else { - if (navigator.appName.indexOf("Microsoft") != -1) { - _isIE = true; - if ((navigator.appVersion.indexOf("MSIE 8.0") != -1 || navigator.appVersion.indexOf("MSIE 9.0") != -1 || navigator.appVersion.indexOf("MSIE 10.0") != -1 || document.documentMode > 7) && document.compatMode != "BackCompat") { - _isIE = 8 - } - } else { - if (navigator.appName == "Netscape" && navigator.userAgent.indexOf("Trident") != -1) { - _isIE = 8 - } else { - _isFF = true; - _FFrv = parseFloat(navigator.userAgent.split("rv:")[1]) - } - } - } -} -if (typeof(window.dhtmlxEvent) == "undefined") { - window.dhtmlxEvent = function(c, e, a) { - if (c.addEventListener) { - c.addEventListener(e, a, false) - } else { - if (c.attachEvent) { - c.attachEvent("on" + e, a) - } - } - } -} -if (dhtmlxEvent.touchDelay == null) { - dhtmlxEvent.touchDelay = 2000 -} -if (typeof(dhtmlxEvent.initTouch) == "undefined") { - dhtmlxEvent.initTouch = function() { - var g; - var h; - var c, a; - dhtmlxEvent(document.body, "touchstart", function(l) { - h = l.touches[0].target; - c = l.touches[0].clientX; - a = l.touches[0].clientY; - g = window.setTimeout(e, dhtmlxEvent.touchDelay) - }); - - function e() { - if (h) { - var l = document.createEvent("HTMLEvents"); - l.initEvent("dblclick", true, true); - h.dispatchEvent(l); - g = h = null - } - } - dhtmlxEvent(document.body, "touchmove", function(l) { - if (g) { - if (Math.abs(l.touches[0].clientX - c) > 50 || Math.abs(l.touches[0].clientY - a) > 50) { - window.clearTimeout(g); - g = h = false - } - } - }); - dhtmlxEvent(document.body, "touchend", function(l) { - if (g) { - window.clearTimeout(g); - g = h = false - } - }); - dhtmlxEvent.initTouch = function() {} - } -}(function(c) { - var e = typeof setImmediate !== "undefined" ? setImmediate : function(h) { - setTimeout(h, 0) - }; - - function g(l, m) { - var h = this; - h.promise = h; - h.state = "pending"; - h.val = null; - h.fn = l || null; - h.er = m || null; - h.next = [] - } - g.prototype.resolve = function(l) { - var h = this; - if (h.state === "pending") { - h.val = l; - h.state = "resolving"; - e(function() { - h.fire() - }) - } - }; - g.prototype.reject = function(l) { - var h = this; - if (h.state === "pending") { - h.val = l; - h.state = "rejecting"; - e(function() { - h.fire() - }) - } - }; - g.prototype.then = function(l, n) { - var h = this; - var m = new g(l, n); - h.next.push(m); - if (h.state === "resolved") { - m.resolve(h.val) - } - if (h.state === "rejected") { - m.reject(h.val) - } - return m - }; - g.prototype.fail = function(h) { - return this.then(null, h) - }; - g.prototype.finish = function(m) { - var h = this; - h.state = m; - if (h.state === "resolved") { - for (var l = 0; l < h.next.length; l++) { - h.next[l].resolve(h.val) - } - } - if (h.state === "rejected") { - for (var l = 0; l < h.next.length; l++) { - h.next[l].reject(h.val) - } - if (!h.next.length) { - throw (h.val) - } - } - }; - g.prototype.thennable = function(o, h, m, s, r) { - var l = this; - r = r || l.val; - if (typeof r === "object" && typeof o === "function") { - try { - var n = 0; - o.call(r, function(u) { - if (n++ !== 0) { - return - } - h(u) - }, function(u) { - if (n++ !== 0) { - return - } - m(u) - }) - } catch (q) { - m(q) - } - } else { - s(r) - } - }; - g.prototype.fire = function() { - var h = this; - var l; - try { - l = h.val && h.val.then - } catch (m) { - h.val = m; - h.state = "rejecting"; - return h.fire() - } - h.thennable(l, function(n) { - h.val = n; - h.state = "resolving"; - h.fire() - }, function(n) { - h.val = n; - h.state = "rejecting"; - h.fire() - }, function(n) { - h.val = n; - if (h.state === "resolving" && typeof h.fn === "function") { - try { - h.val = h.fn.call(undefined, h.val) - } catch (o) { - h.val = o; - return h.finish("rejected") - } - } - if (h.state === "rejecting" && typeof h.er === "function") { - try { - h.val = h.er.call(undefined, h.val); - h.state = "resolving" - } catch (o) { - h.val = o; - return h.finish("rejected") - } - } - if (h.val === h) { - h.val = TypeError(); - return h.finish("rejected") - } - h.thennable(l, function(q) { - h.val = q; - h.finish("resolved") - }, function(q) { - h.val = q; - h.finish("rejected") - }, function(q) { - h.val = q; - h.state === "resolving" ? h.finish("resolved") : h.finish("rejected") - }) - }) - }; - g.prototype.done = function() { - if (this.state = "rejected" && !this.next) { - throw this.val - } - return null - }; - g.prototype.nodeify = function(h) { - if (typeof h === "function") { - return this.then(function(m) { - try { - h(null, m) - } catch (l) { - setImmediate(function() { - throw l - }) - } - return m - }, function(m) { - try { - h(m) - } catch (l) { - setImmediate(function() { - throw l - }) - } - return m - }) - } - return this - }; - g.prototype.spread = function(h, l) { - return this.all().then(function(m) { - return typeof h === "function" && h.apply(null, m) - }, l) - }; - g.prototype.all = function() { - var h = this; - return this.then(function(w) { - var m = new g(); - if (!(w instanceof Array)) { - m.reject(TypeError); - return m - } - var o = 0; - var v = w.length; - - function r() { - if (++o === v) { - m.resolve(w) - } - } - for (var s = 0, q = w.length; s < q; s++) { - var x = w[s]; - var n; - try { - n = x && x.then - } catch (u) { - m.reject(u); - break - }(function(l) { - h.thennable(n, function(y) { - w[l] = y; - r() - }, function(y) { - m.reject(y) - }, function() { - r() - }, x) - })(s) - } - return m - }) - }; - var a = { - all: function(h) { - var l = new g(null, null); - l.resolve(h); - return l.all() - }, - defer: function() { - return new g(null, null) - }, - fcall: function() { - var m = new g(); - var h = Array.apply([], arguments); - var l = h.shift(); - try { - var o = l.apply(null, h); - m.resolve(o) - } catch (n) { - m.reject(n) - } - return m - }, - nfcall: function() { - var m = new g(); - var h = Array.apply([], arguments); - var l = h.shift(); - try { - h.push(function(o, q) { - if (o) { - return m.reject(o) - } - return m.resolve(q) - }); - l.apply(null, h) - } catch (n) { - m.reject(n) - } - return m - } - }; - c.promise = a -})(dhx); -if (!window.dhtmlx) { - dhtmlx = {} -} -dhtmlx.assert = function(c, a) { - if (!c) { - dhtmlx.error(a) - } -}; -dhtmlx.assert_enabled = function() { - return false -}; -dhtmlx.assert_event = function(l, e) { - if (!l._event_check) { - l._event_check = {}; - l._event_check_size = {} - } - for (var c in e) { - l._event_check[c.toLowerCase()] = e[c]; - var h = -1; - for (var g in e[c]) { - h++ - } - l._event_check_size[c.toLowerCase()] = h - } -}; -dhtmlx.assert_method_info = function(h, c, g, l) { - var a = []; - for (var e = 0; e < l.length; e++) { - a.push(l[e][0] + " : " + l[e][1] + "\n " + l[e][2].describe() + (l[e][3] ? "; optional" : "")) - } - return h.name + "." + c + "\n" + g + "\n Arguments:\n - " + a.join("\n - ") -}; -dhtmlx.assert_method = function(e, a) { - for (var c in a) { - dhtmlx.assert_method_process(e, c, a[c].descr, a[c].args, (a[c].min || 99), a[c].skip) - } -}; -dhtmlx.assert_method_process = function(l, c, h, m, e, g) { - var a = l[c]; - if (!g) { - l[c] = function() { - if (arguments.length != m.length && arguments.length < e) { - dhtmlx.log("warn", "Incorrect count of parameters\n" + l[c].describe() + "\n\nExpecting " + m.length + " but have only " + arguments.length) - } else { - for (var n = 0; n < m.length; n++) { - if (!m[n][3] && !m[n][2](arguments[n])) { - dhtmlx.log("warn", "Incorrect method call\n" + l[c].describe() + "\n\nActual value of " + (n + 1) + " parameter: {" + (typeof arguments[n]) + "} " + arguments[n]) - } - } - } - return a.apply(this, arguments) - } - } - l[c].describe = function() { - return dhtmlx.assert_method_info(l, c, h, m) - } -}; -dhtmlx.assert_event_call = function(e, c, a) { - if (e._event_check) { - if (!e._event_check[c]) { - dhtmlx.log("warn", "Not expected event call :" + c) - } else { - if (dhtmlx.isNotDefined(a)) { - dhtmlx.log("warn", "Event without parameters :" + c) - } else { - if (e._event_check_size[c] != a.length) { - dhtmlx.log("warn", "Incorrect event call, expected " + e._event_check_size[c] + " parameter(s), but have " + a.length + " parameter(s), for " + c + " event") - } - } - } - } -}; -dhtmlx.assert_event_attach = function(c, a) { - if (c._event_check && !c._event_check[a]) { - dhtmlx.log("warn", "Unknown event name: " + a) - } -}; -dhtmlx.assert_property = function(c, a) { - if (!c._settings_check) { - c._settings_check = {} - } - dhtmlx.extend(c._settings_check, a) -}; -dhtmlx.assert_check = function(e, c) { - if (typeof e == "object") { - for (var a in e) { - dhtmlx.assert_settings(a, e[a], c) - } - } -}; -dhtmlx.assert_settings = function(n, h, g) { - g = g || this._settings_check; - if (g) { - if (!g[n]) { - return dhtmlx.log("warn", "Unknown propery: " + n) - } - var m = ""; - var c = ""; - var a = false; - for (var e = 0; e < g[n].length; e++) { - var l = g[n][e]; - if (typeof l == "string") { - continue - } - if (typeof l == "function") { - a = a || l(h) - } else { - if (typeof l == "object" && typeof l[1] == "function") { - a = a || l[1](h); - if (a && l[2]) { - dhtmlx.assert_check(h, l[2]) - } - } - } - if (a) { - break - } - } - if (!a) { - dhtmlx.log("warn", "Invalid configuration\n" + dhtmlx.assert_info(n, g) + "\nActual value: {" + (typeof h) + "} " + h) - } - } -}; -dhtmlx.assert_info = function(c, l) { - var a = l[c]; - var h = ""; - var g = []; - for (var e = 0; e < a.length; e++) { - if (typeof rule == "string") { - h = a[e] - } else { - if (a[e].describe) { - g.push(a[e].describe()) - } else { - if (a[e][1] && a[e][1].describe) { - g.push(a[e][1].describe()) - } - } - } - } - return "Property: " + c + ", " + h + " \nExpected value: \n - " + g.join("\n - ") -}; -if (dhtmlx.assert_enabled()) { - dhtmlx.assert_rule_color = function(a) { - if (typeof a != "string") { - return false - } - if (a.indexOf("#") !== 0) { - return false - } - if (a.substr(1).replace(/[0-9A-F]/gi, "") !== "") { - return false - } - return true - }; - dhtmlx.assert_rule_color.describe = function() { - return "{String} Value must start from # and contain hexadecimal code of color" - }; - dhtmlx.assert_rule_template = function(a) { - if (typeof a == "function") { - return true - } - if (typeof a == "string") { - return true - } - return false - }; - dhtmlx.assert_rule_template.describe = function() { - return "{Function},{String} Value must be a function which accepts data object and return text string, or a sting with optional template markers" - }; - dhtmlx.assert_rule_boolean = function(a) { - if (typeof a == "boolean") { - return true - } - return false - }; - dhtmlx.assert_rule_boolean.describe = function() { - return "{Boolean} true or false" - }; - dhtmlx.assert_rule_object = function(a, c) { - if (typeof a == "object") { - return true - } - return false - }; - dhtmlx.assert_rule_object.describe = function() { - return "{Object} Configuration object" - }; - dhtmlx.assert_rule_string = function(a) { - if (typeof a == "string") { - return true - } - return false - }; - dhtmlx.assert_rule_string.describe = function() { - return "{String} Plain string" - }; - dhtmlx.assert_rule_htmlpt = function(a) { - return !!dhtmlx.toNode(a) - }; - dhtmlx.assert_rule_htmlpt.describe = function() { - return "{Object},{String} HTML node or ID of HTML Node" - }; - dhtmlx.assert_rule_notdocumented = function(a) { - return false - }; - dhtmlx.assert_rule_notdocumented.describe = function() { - return "This options wasn't documented" - }; - dhtmlx.assert_rule_key = function(c) { - var a = function(e) { - return c[e] - }; - a.describe = function() { - var g = []; - for (var e in c) { - g.push(e) - } - return "{String} can take one of next values: " + g.join(", ") - }; - return a - }; - dhtmlx.assert_rule_dimension = function(a) { - if (a * 1 == a && !isNaN(a) && a >= 0) { - return true - } - return false - }; - dhtmlx.assert_rule_dimension.describe = function() { - return "{Integer} value must be a positive number" - }; - dhtmlx.assert_rule_number = function(a) { - if (typeof a == "number") { - return true - } - return false - }; - dhtmlx.assert_rule_number.describe = function() { - return "{Integer} value must be a number" - }; - dhtmlx.assert_rule_function = function(a) { - if (typeof a == "function") { - return true - } - return false - }; - dhtmlx.assert_rule_function.describe = function() { - return "{Function} value must be a custom function" - }; - dhtmlx.assert_rule_any = function(a) { - return true - }; - dhtmlx.assert_rule_any.describe = function() { - return "Any value" - }; - dhtmlx.assert_rule_mix = function(e, c) { - var g = function(a) { - if (e(a) || c(a)) { - return true - } - return false - }; - g.describe = function() { - return e.describe() - }; - return g - } -} -dhtmlx.codebase = "./"; -dhtmlx.copy = function(c) { - var a = dhtmlx.copy._function; - a.prototype = c; - return new a() -}; -dhtmlx.copy._function = function() {}; -dhtmlx.extend = function(c, a) { - for (var e in a) { - c[e] = a[e] - } - if (dhtmlx.assert_enabled() && a._assert) { - c._assert(); - c._assert = null - } - dhtmlx.assert(c, "Invalid nesting target"); - dhtmlx.assert(a, "Invalid nesting source"); - if (a._init) { - c._init() - } - return c -}; -dhtmlx.proto_extend = function() { - var l = arguments; - var e = l[0]; - var c = []; - for (var h = l.length - 1; h > 0; h--) { - if (typeof l[h] == "function") { - l[h] = l[h].prototype - } - for (var g in l[h]) { - if (g == "_init") { - c.push(l[h][g]) - } else { - if (!e[g]) { - e[g] = l[h][g] - } - } - } - } - if (l[0]._init) { - c.push(l[0]._init) - } - e._init = function() { - for (var m = 0; m < c.length; m++) { - c[m].apply(this, arguments) - } - }; - e.base = l[1]; - var a = function(m) { - this._init(m); - if (this._parseSettings) { - this._parseSettings(m, this.defaults) - } - }; - a.prototype = e; - e = l = null; - return a -}; -dhtmlx.bind = function(c, a) { - return function() { - return c.apply(a, arguments) - } -}; -dhtmlx.require = function(a) { - if (!dhtmlx._modules[a]) { - dhtmlx.assert(dhtmlx.ajax, "load module is required"); - dhtmlx.exec(dhtmlx.ajax().sync().get(dhtmlx.codebase + a).responseText); - dhtmlx._modules[a] = true - } -}; -dhtmlx._modules = {}; -dhtmlx.exec = function(code) { - if (window.execScript) { - window.execScript(code) - } else { - window.eval(code) - } -}; -dhtmlx.methodPush = function(a, e, c) { - return function() { - var g = false; - g = a[e].apply(a, arguments); - return g - } -}; -dhtmlx.isNotDefined = function(c) { - return typeof c == "undefined" -}; -dhtmlx.delay = function(g, c, e, a) { - setTimeout(function() { - var h = g.apply(c, e); - g = c = e = null; - return h - }, a || 1) -}; -dhtmlx.uid = function() { - if (!this._seed) { - this._seed = (new Date).valueOf() - } - this._seed++; - return this._seed -}; -dhtmlx.toNode = function(a) { - if (typeof a == "string") { - return document.getElementById(a) - } - return a -}; -dhtmlx.toArray = function(a) { - return dhtmlx.extend((a || []), dhtmlx.PowerArray) -}; -dhtmlx.toFunctor = function(str) { - return (typeof(str) == "string") ? eval(str) : str -}; -dhtmlx._events = {}; -dhtmlx.event = function(g, e, a, c) { - g = dhtmlx.toNode(g); - var h = dhtmlx.uid(); - dhtmlx._events[h] = [g, e, a]; - if (c) { - a = dhtmlx.bind(a, c) - } - if (g.addEventListener) { - g.addEventListener(e, a, false) - } else { - if (g.attachEvent) { - g.attachEvent("on" + e, a) - } - } - return h -}; -dhtmlx.eventRemove = function(c) { - if (!c) { - return - } - dhtmlx.assert(this._events[c], "Removing non-existing event"); - var a = dhtmlx._events[c]; - if (a[0].removeEventListener) { - a[0].removeEventListener(a[1], a[2], false) - } else { - if (a[0].detachEvent) { - a[0].detachEvent("on" + a[1], a[2]) - } - } - delete this._events[c] -}; -dhtmlx.log = function(c, e, a) { - if (window.console && console.log) { - c = c.toLowerCase(); - if (window.console[c]) { - window.console[c](e || "unknown error") - } else { - window.console.log(c + ": " + e) - } - if (a) { - window.console.log(a) - } - } -}; -dhtmlx.log_full_time = function(a) { - dhtmlx._start_time_log = new Date(); - dhtmlx.log("Info", "Timing start [" + a + "]"); - window.setTimeout(function() { - var c = new Date(); - dhtmlx.log("Info", "Timing end [" + a + "]:" + (c.valueOf() - dhtmlx._start_time_log.valueOf()) / 1000 + "s") - }, 1) -}; -dhtmlx.log_time = function(a) { - var e = "_start_time_log" + a; - if (!dhtmlx[e]) { - dhtmlx[e] = new Date(); - dhtmlx.log("Info", "Timing start [" + a + "]") - } else { - var c = new Date(); - dhtmlx.log("Info", "Timing end [" + a + "]:" + (c.valueOf() - dhtmlx[e].valueOf()) / 1000 + "s"); - dhtmlx[e] = null - } -}; -dhtmlx.error = function(c, a) { - dhtmlx.log("error", c, a) -}; -dhtmlx.EventSystem = { - _init: function() { - this._events = {}; - this._handlers = {}; - this._map = {} - }, - block: function() { - this._events._block = true - }, - unblock: function() { - this._events._block = false - }, - mapEvent: function(a) { - dhtmlx.extend(this._map, a) - }, - callEvent: function(e, h) { - if (this._events._block) { - return true - } - e = e.toLowerCase(); - dhtmlx.assert_event_call(this, e, h); - var g = this._events[e.toLowerCase()]; - var a = true; - if (dhtmlx.debug) { - dhtmlx.log("info", "[" + this.name + "] event:" + e, h) - } - if (g) { - for (var c = 0; c < g.length; c++) { - if (g[c].apply(this, (h || [])) === false) { - a = false - } - } - } - if (this._map[e] && !this._map[e].callEvent(e, h)) { - a = false - } - return a - }, - attachEvent: function(c, a, g) { - c = c.toLowerCase(); - dhtmlx.assert_event_attach(this, c); - g = g || dhtmlx.uid(); - a = dhtmlx.toFunctor(a); - var e = this._events[c] || dhtmlx.toArray(); - e.push(a); - this._events[c] = e; - this._handlers[g] = { - f: a, - t: c - }; - return g - }, - detachEvent: function(g) { - if (this._handlers[g]) { - var c = this._handlers[g].t; - var a = this._handlers[g].f; - var e = this._events[c]; - e.remove(a); - delete this._handlers[g] - } - } -}; -dhtmlx.PowerArray = { - removeAt: function(c, a) { - if (c >= 0) { - this.splice(c, (a || 1)) - } - }, - remove: function(a) { - this.removeAt(this.find(a)) - }, - insertAt: function(c, e) { - if (!e && e !== 0) { - this.push(c) - } else { - var a = this.splice(e, (this.length - e)); - this[e] = c; - this.push.apply(this, a) - } - }, - find: function(c) { - for (var a = 0; a < this.length; a++) { - if (c == this[a]) { - return a - } - } - return -1 - }, - each: function(a, e) { - for (var c = 0; c < this.length; c++) { - a.call((e || this), this[c]) - } - }, - map: function(a, e) { - for (var c = 0; c < this.length; c++) { - this[c] = a.call((e || this), this[c]) - } - return this - } -}; -dhtmlx.env = {}; -if (navigator.userAgent.indexOf("Opera") != -1) { - dhtmlx._isOpera = true -} else { - dhtmlx._isIE = !!document.all; - dhtmlx._isFF = !document.all; - dhtmlx._isWebKit = (navigator.userAgent.indexOf("KHTML") != -1); - if (navigator.appVersion.indexOf("MSIE 8.0") != -1 && document.compatMode != "BackCompat") { - dhtmlx._isIE = 8 - } - if (navigator.appVersion.indexOf("MSIE 9.0") != -1 && document.compatMode != "BackCompat") { - dhtmlx._isIE = 9 - } -} -dhtmlx.env = {}; -(function() { - dhtmlx.env.transform = false; - dhtmlx.env.transition = false; - var a = {}; - a.names = ["transform", "transition"]; - a.transform = ["transform", "WebkitTransform", "MozTransform", "oTransform", "msTransform"]; - a.transition = ["transition", "WebkitTransition", "MozTransition", "oTransition"]; - var g = document.createElement("DIV"); - var e; - for (var c = 0; c < a.names.length; c++) { - while (p = a[a.names[c]].pop()) { - if (typeof g.style[p] != "undefined") { - dhtmlx.env[a.names[c]] = true - } - } - } -})(); -dhtmlx.env.transform_prefix = (function() { - var a; - if (dhtmlx._isOpera) { - a = "-o-" - } else { - a = ""; - if (dhtmlx._isFF) { - a = "-moz-" - } - if (dhtmlx._isWebKit) { - a = "-webkit-" - } - } - return a -})(); -dhtmlx.env.svg = (function() { - return document.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure", "1.1") -})(); -dhtmlx.zIndex = { - drag: 10000 -}; -dhtmlx.html = { - create: function(c, a, e) { - a = a || {}; - var g = document.createElement(c); - for (var h in a) { - g.setAttribute(h, a[h]) - } - if (a.style) { - g.style.cssText = a.style - } - if (a["class"]) { - g.className = a["class"] - } - if (e) { - g.innerHTML = e - } - return g - }, - getValue: function(a) { - a = dhtmlx.toNode(a); - if (!a) { - return "" - } - return dhtmlx.isNotDefined(a.value) ? a.innerHTML : a.value - }, - remove: function(c) { - if (c instanceof Array) { - for (var a = 0; a < c.length; a++) { - this.remove(c[a]) - } - } else { - if (c && c.parentNode) { - c.parentNode.removeChild(c) - } - } - }, - insertBefore: function(c, e, a) { - if (!c) { - return - } - if (e) { - e.parentNode.insertBefore(c, e) - } else { - a.appendChild(c) - } - }, - locate: function(c, h) { - c = c || event; - var a = c.target || c.srcElement; - while (a) { - if (a.getAttribute) { - var g = a.getAttribute(h); - if (g) { - return g - } - } - a = a.parentNode - } - return null - }, - offset: function(g) { - if (g.getBoundingClientRect) { - var m = g.getBoundingClientRect(); - var n = document.body; - var c = document.documentElement; - var a = window.pageYOffset || c.scrollTop || n.scrollTop; - var h = window.pageXOffset || c.scrollLeft || n.scrollLeft; - var l = c.clientTop || n.clientTop || 0; - var o = c.clientLeft || n.clientLeft || 0; - var q = m.top + a - l; - var e = m.left + h - o; - return { - y: Math.round(q), - x: Math.round(e) - } - } else { - var q = 0, - e = 0; - while (g) { - q = q + parseInt(g.offsetTop, 10); - e = e + parseInt(g.offsetLeft, 10); - g = g.offsetParent - } - return { - y: q, - x: e - } - } - }, - pos: function(a) { - a = a || event; - if (a.pageX || a.pageY) { - return { - x: a.pageX, - y: a.pageY - } - } - var c = ((dhtmlx._isIE) && (document.compatMode != "BackCompat")) ? document.documentElement : document.body; - return { - x: a.clientX + c.scrollLeft - c.clientLeft, - y: a.clientY + c.scrollTop - c.clientTop - } - }, - preventEvent: function(a) { - if (a && a.preventDefault) { - a.preventDefault() - } - dhtmlx.html.stopEvent(a) - }, - stopEvent: function(a) { - (a || event).cancelBubble = true; - return false - }, - addCss: function(c, a) { - c.className += " " + a - }, - removeCss: function(c, a) { - c.className = c.className.replace(RegExp(a, "g"), "") - } -}; -(function() { - var a = document.getElementsByTagName("SCRIPT"); - dhtmlx.assert(a.length, "Can't locate codebase"); - if (a.length) { - a = (a[a.length - 1].getAttribute("src") || "").split("/"); - a.splice(a.length - 1, 1); - dhtmlx.codebase = a.slice(0, a.length).join("/") + "/" - } -})(); -if (!dhtmlx.ui) { - dhtmlx.ui = {} -} -dhtmlx.Destruction = { - _init: function() { - dhtmlx.destructors.push(this) - }, - destructor: function(a) { - this.destructor = function() {}; - this._htmlmap = null; - this._htmlrows = null; - if (this._html) { - document.body.appendChild(this._html) - } - this._html = null; - if (this._obj) { - this._obj.innerHTML = ""; - this._obj._htmlmap = null - } - this._obj = this._dataobj = null; - this.data = null; - this._events = this._handlers = {}; - this.canvases = []; - if (this.render) { - this.render = function() {} - } - } -}; -dhtmlx.destructors = []; -dhtmlx.event(window, "unload", function() { - if (dhtmlx.destructors) { - for (var e = 0; e < dhtmlx.destructors.length; e++) { - dhtmlx.destructors[e].destructor(-1) - } - dhtmlx.destructors = [] - } - for (var c in dhtmlx._events) { - var g = dhtmlx._events[c]; - if (g[0].removeEventListener) { - g[0].removeEventListener(g[1], g[2], false) - } else { - if (g[0].detachEvent) { - g[0].detachEvent("on" + g[1], g[2]) - } - } - delete dhtmlx._events[c] - } -}); -dhtmlx.ajax = function(a, c, e) { - if (arguments.length !== 0) { - var g = new dhtmlx.ajax(); - if (e) { - g.master = e - } - g.get(a, null, c) - } - if (!this.getXHR) { - return new dhtmlx.ajax() - } - return this -}; -dhtmlx.ajax.prototype = { - getXHR: function() { - if (dhtmlx._isIE) { - return new ActiveXObject("Microsoft.xmlHTTP") - } else { - return new XMLHttpRequest() - } - }, - send: function(h, o, m) { - var c = this.getXHR(); - if (typeof m == "function") { - m = [m] - } - if (typeof o == "object") { - var l = []; - for (var e in o) { - var n = o[e]; - if (n === null || n === dhtmlx.undefined) { - n = "" - } - l.push(e + "=" + encodeURIComponent(n)) - } - o = l.join("&") - } - if (o && !this.post) { - h = h + (h.indexOf("?") != -1 ? "&" : "?") + o; - o = null - } - c.open(this.post ? "POST" : "GET", h, !this._sync); - if (this.post) { - c.setRequestHeader("Content-type", "application/x-www-form-urlencoded") - } - var g = this; - c.onreadystatechange = function() { - if (!c.readyState || c.readyState == 4) { - if (m && g) { - for (var a = 0; a < m.length; a++) { - if (m[a]) { - m[a].call((g.master || g), c.responseText, c.responseXML, c) - } - } - } - g.master = null; - m = g = null - } - }; - c.send(o || null); - return c - }, - get: function(a, e, c) { - this.post = false; - return this.send(a, e, c) - }, - post: function(a, e, c) { - this.post = true; - return this.send(a, e, c) - }, - sync: function() { - this._sync = true; - return this - } -}; -dhtmlx.AtomDataLoader = { - _init: function(a) { - this.data = {}; - if (a) { - this._settings.datatype = a.datatype || "json"; - this._after_init.push(this._load_when_ready) - } - }, - _load_when_ready: function() { - this._ready_for_data = true; - if (this._settings.url) { - this.url_setter(this._settings.url) - } - if (this._settings.data) { - this.data_setter(this._settings.data) - } - }, - url_setter: function(a) { - if (!this._ready_for_data) { - return a - } - this.load(a, this._settings.datatype); - return a - }, - data_setter: function(a) { - if (!this._ready_for_data) { - return a - } - this.parse(a, this._settings.datatype); - return true - }, - load: function(a, c) { - this.callEvent("onXLS", []); - if (typeof c == "string") { - this.data.driver = dhtmlx.DataDriver[c]; - c = arguments[2] - } else { - this.data.driver = dhtmlx.DataDriver[this._settings.datatype || "xml"] - } - if (window.dhx4) { - return dhx4.ajax.get(a, dhtmlx.bind(function(g) { - var e = g.xmlDoc; - var l = e.responseText; - var h = e.responseXML; - if (this._onLoad) { - this._onLoad.call(this, l, h, e) - } - if (c) { - c.call(this, l, h, e) - } - }, this)) - } else { - dhtmlx.ajax(a, [this._onLoad, c], this) - } - }, - parse: function(c, a) { - this.callEvent("onXLS", []); - this.data.driver = dhtmlx.DataDriver[a || "xml"]; - this._onLoad(c, null) - }, - _onLoad: function(h, c, a) { - var e = this.data.driver; - var g = e.getRecords(e.toObject(h, c))[0]; - this.data = (e ? e.getDetails(g) : h); - this.callEvent("onXLE", []) - }, - _check_data_feed: function(c) { - if (!this._settings.dataFeed || this._ignore_feed || !c) { - return true - } - var a = this._settings.dataFeed; - if (typeof a == "function") { - return a.call(this, (c.id || c), c) - } - a = a + (a.indexOf("?") == -1 ? "?" : "&") + "action=get&id=" + encodeURIComponent(c.id || c); - this.callEvent("onXLS", []); - dhtmlx.ajax(a, function(g, e) { - this._ignore_feed = true; - this.setValues(dhtmlx.DataDriver.json.toObject(g)[0]); - this._ignore_feed = false; - this.callEvent("onXLE", []) - }, this); - return false - } -}; -dhtmlx.DataDriver = {}; -dhtmlx.DataDriver.json = { - toObject: function(data) { - if (!data) { - data = "[]" - } - if (typeof data == "string") { - eval("dhtmlx.temp=" + data); - return dhtmlx.temp - } - return data - }, - getRecords: function(a) { - if (a && a.data) { - a = a.data - } - if (a && !(a instanceof Array)) { - return [a] - } - return a - }, - getDetails: function(a) { - return a - }, - getInfo: function(a) { - return { - _size: (a.total_count || 0), - _from: (a.pos || 0), - _key: (a.dhx_security) - } - } -}; -dhtmlx.DataDriver.json_ext = { - toObject: function(data) { - if (!data) { - data = "[]" - } - if (typeof data == "string") { - var temp; - eval("temp=" + data); - dhtmlx.temp = []; - var header = temp.header; - for (var i = 0; i < temp.data.length; i++) { - var item = {}; - for (var j = 0; j < header.length; j++) { - if (typeof(temp.data[i][j]) != "undefined") { - item[header[j]] = temp.data[i][j] - } - } - dhtmlx.temp.push(item) - } - return dhtmlx.temp - } - return data - }, - getRecords: function(a) { - if (a && !(a instanceof Array)) { - return [a] - } - return a - }, - getDetails: function(a) { - return a - }, - getInfo: function(a) { - return { - _size: (a.total_count || 0), - _from: (a.pos || 0) - } - } -}; -dhtmlx.DataDriver.html = { - toObject: function(c) { - if (typeof c == "string") { - var a = null; - if (c.indexOf("<") == -1) { - a = dhtmlx.toNode(c) - } - if (!a) { - a = document.createElement("DIV"); - a.innerHTML = c - } - return a.getElementsByTagName(this.tag) - } - return c - }, - getRecords: function(a) { - if (a.tagName) { - return a.childNodes - } - return a - }, - getDetails: function(a) { - return dhtmlx.DataDriver.xml.tagToObject(a) - }, - getInfo: function(a) { - return { - _size: 0, - _from: 0 - } - }, - tag: "LI" -}; -dhtmlx.DataDriver.jsarray = { - toObject: function(data) { - if (typeof data == "string") { - eval("dhtmlx.temp=" + data); - return dhtmlx.temp - } - return data - }, - getRecords: function(a) { - return a - }, - getDetails: function(e) { - var a = {}; - for (var c = 0; c < e.length; c++) { - a["data" + c] = e[c] - } - return a - }, - getInfo: function(a) { - return { - _size: 0, - _from: 0 - } - } -}; -dhtmlx.DataDriver.csv = { - toObject: function(a) { - return a - }, - getRecords: function(a) { - return a.split(this.row) - }, - getDetails: function(e) { - e = this.stringToArray(e); - var a = {}; - for (var c = 0; c < e.length; c++) { - a["data" + c] = e[c] - } - return a - }, - getInfo: function(a) { - return { - _size: 0, - _from: 0 - } - }, - stringToArray: function(c) { - c = c.split(this.cell); - for (var a = 0; a < c.length; a++) { - c[a] = c[a].replace(/^[ \t\n\r]*(\"|)/g, "").replace(/(\"|)[ \t\n\r]*$/g, "") - } - return c - }, - row: "\n", - cell: "," -}; -dhtmlx.DataDriver.xml = { - toObject: function(c, a) { - if (a && (a = this.checkResponse(c, a))) { - return a - } - if (typeof c == "string") { - return this.fromString(c) - } - return c - }, - getRecords: function(a) { - return this.xpath(a, this.records) - }, - records: "/*/item", - getDetails: function(a) { - return this.tagToObject(a, {}) - }, - getInfo: function(a) { - return { - _size: (a.documentElement.getAttribute("total_count") || 0), - _from: (a.documentElement.getAttribute("pos") || 0), - _key: (a.documentElement.getAttribute("dhx_security")) - } - }, - xpath: function(h, q) { - if (window.XPathResult) { - var g = h; - if (h.nodeName.indexOf("document") == -1) { - h = h.ownerDocument - } - var n = []; - var c = h.evaluate(q, g, null, XPathResult.ANY_TYPE, null); - var o = c.iterateNext(); - while (o) { - n.push(o); - o = c.iterateNext() - } - return n - } else { - var m = true; - try { - if (typeof(h.selectNodes) == "undefined") { - m = false - } - } catch (l) {} - if (m) { - return h.selectNodes(q) - } else { - var a = q.split("/").pop(); - return h.getElementsByTagName(a) - } - } - }, - tagToObject: function(e, o) { - o = o || {}; - var h = false; - var c = e.childNodes; - var n = {}; - for (var m = 0; m < c.length; m++) { - if (c[m].nodeType == 1) { - var l = c[m].tagName; - if (typeof o[l] != "undefined") { - if (!(o[l] instanceof Array)) { - o[l] = [o[l]] - } - o[l].push(this.tagToObject(c[m], {})) - } else { - o[c[m].tagName] = this.tagToObject(c[m], {}) - } - h = true - } - } - var g = e.attributes; - if (g && g.length) { - for (var m = 0; m < g.length; m++) { - o[g[m].name] = g[m].value - } - h = true - } - if (!h) { - return this.nodeValue(e) - } - o.value = this.nodeValue(e); - return o - }, - nodeValue: function(a) { - if (a.firstChild) { - return a.firstChild.wholeText || a.firstChild.data - } - return "" - }, - fromString: function(c) { - if (window.DOMParser && !dhtmlx._isIE) { - return (new DOMParser()).parseFromString(c, "text/xml") - } - if (window.ActiveXObject) { - var a = new ActiveXObject("Microsoft.xmlDOM"); - a.loadXML(c); - return a - } - dhtmlx.error("Load from xml string is not supported") - }, - checkResponse: function(g, e) { - if (e && (e.firstChild && e.firstChild.tagName != "parsererror")) { - return e - } - var c = this.fromString(g.replace(/^[\s]+/, "")); - if (c) { - return c - } - dhtmlx.error("xml can't be parsed", g) - } -}; -dhtmlx.DataLoader = { - _init: function(a) { - a = a || ""; - this.name = "DataStore"; - this.data = (a.datastore) || (new dhtmlx.DataStore()); - this._readyHandler = this.data.attachEvent("onStoreLoad", dhtmlx.bind(this._call_onready, this)) - }, - load: function(a, c) { - dhtmlx.AtomDataLoader.load.apply(this, arguments); - if (!this.data.feed) { - this.data.feed = function(g, e) { - if (this._load_count) { - return this._load_count = [g, e] - } else { - this._load_count = true - } - this.load(a + ((a.indexOf("?") == -1) ? "?" : "&") + "posStart=" + g + "&count=" + e, function() { - var h = this._load_count; - this._load_count = false; - if (typeof h == "object") { - this.data.feed.apply(this, h) - } - }) - } - } - }, - _onLoad: function(e, c, a) { - this.data._parse(this.data.driver.toObject(e, c)); - this.callEvent("onXLE", []); - if (this._readyHandler) { - this.data.detachEvent(this._readyHandler); - this._readyHandler = null - } - }, - dataFeed_setter: function(a) { - this.data.attachEvent("onBeforeFilter", dhtmlx.bind(function(m, l) { - if (this._settings.dataFeed) { - var h = {}; - if (!m && !h) { - return - } - if (typeof m == "function") { - if (!l) { - return - } - m(l, h) - } else { - h = { - text: l - } - } - this.clearAll(); - var c = this._settings.dataFeed; - if (typeof c == "function") { - return c.call(this, l, h) - } - var g = []; - for (var e in h) { - g.push("dhx_filter[" + e + "]=" + encodeURIComponent(h[e])) - } - this.load(c + (c.indexOf("?") < 0 ? "?" : "&") + g.join("&"), this._settings.datatype); - return false - } - }, this)); - return a - }, - _call_onready: function() { - if (this._settings.ready) { - var a = dhtmlx.toFunctor(this._settings.ready); - if (a && a.call) { - a.apply(this, arguments) - } - } - } -}; -dhtmlx.DataStore = function() { - this.name = "DataStore"; - dhtmlx.extend(this, dhtmlx.EventSystem); - this.setDriver("xml"); - this.pull = {}; - this.order = dhtmlx.toArray() -}; -dhtmlx.DataStore.prototype = { - setDriver: function(a) { - dhtmlx.assert(dhtmlx.DataDriver[a], "incorrect DataDriver"); - this.driver = dhtmlx.DataDriver[a] - }, - _parse: function(h) { - this.callEvent("onParse", [this.driver, h]); - if (this._filter_order) { - this.filter() - } - var l = this.driver.getInfo(h); - if (l._key) { - dhtmlx.security_key = l._key - } - var g = this.driver.getRecords(h); - var n = (l._from || 0) * 1; - if (n === 0 && this.order[0]) { - n = this.order.length - } - var c = 0; - for (var e = 0; e < g.length; e++) { - var a = this.driver.getDetails(g[e]); - var m = this.id(a); - if (!this.pull[m]) { - this.order[c + n] = m; - c++ - } - this.pull[m] = a; - if (this.extraParser) { - this.extraParser(a) - } - if (this._scheme) { - if (this._scheme.$init) { - this._scheme.$update(a) - } else { - if (this._scheme.$update) { - this._scheme.$update(a) - } - } - } - } - for (var e = 0; e < l._size; e++) { - if (!this.order[e]) { - var m = dhtmlx.uid(); - var a = { - id: m, - $template: "loading" - }; - this.pull[m] = a; - this.order[e] = m - } - } - this.callEvent("onStoreLoad", [this.driver, h]); - this.refresh() - }, - id: function(a) { - return a.id || (a.id = dhtmlx.uid()) - }, - changeId: function(c, a) { - dhtmlx.assert(this.pull[c], "Can't change id, for non existing item: " + c); - this.pull[a] = this.pull[c]; - this.pull[a].id = a; - this.order[this.order.find(c)] = a; - if (this._filter_order) { - this._filter_order[this._filter_order.find(c)] = a - } - this.callEvent("onIdChange", [c, a]); - if (this._render_change_id) { - this._render_change_id(c, a) - } - }, - get: function(a) { - return this.item(a) - }, - set: function(c, a) { - return this.update(c, a) - }, - item: function(a) { - return this.pull[a] - }, - update: function(c, a) { - if (this._scheme && this._scheme.$update) { - this._scheme.$update(a) - } - if (this.callEvent("onBeforeUpdate", [c, a]) === false) { - return false - } - this.pull[c] = a; - this.refresh(c) - }, - refresh: function(a) { - if (this._skip_refresh) { - return - } - if (a) { - this.callEvent("onStoreUpdated", [a, this.pull[a], "update"]) - } else { - this.callEvent("onStoreUpdated", [null, null, null]) - } - }, - silent: function(a) { - this._skip_refresh = true; - a.call(this); - this._skip_refresh = false - }, - getRange: function(g, e) { - if (g) { - g = this.indexById(g) - } else { - g = this.startOffset || 0 - } - if (e) { - e = this.indexById(e) - } else { - e = Math.min((this.endOffset || Infinity), (this.dataCount() - 1)); - if (e < 0) { - e = 0 - } - } - if (this.min) { - g = this.min - } - if (this.max) { - e = this.max - } - if (g > e) { - var c = e; - e = g; - g = c - } - return this.getIndexRange(g, e) - }, - getIndexRange: function(g, e) { - e = Math.min((e || Infinity), this.dataCount() - 1); - var a = dhtmlx.toArray(); - for (var c = (g || 0); c <= e; c++) { - a.push(this.item(this.order[c])) - } - return a - }, - dataCount: function() { - return this.order.length - }, - exists: function(a) { - return !!(this.pull[a]) - }, - move: function(a, g) { - if (a < 0 || g < 0) { - dhtmlx.error("DataStore::move", "Incorrect indexes"); - return - } - var e = this.idByIndex(a); - var c = this.item(e); - this.order.removeAt(a); - this.order.insertAt(e, Math.min(this.order.length, g)); - this.callEvent("onStoreUpdated", [e, c, "move"]) - }, - scheme: function(a) { - this._scheme = a - }, - sync: function(h, g, a) { - if (typeof g != "function") { - a = g; - g = null - } - if (dhtmlx.debug_bind) { - this.debug_sync_master = h; - dhtmlx.log("[sync] " + this.debug_bind_master.name + "@" + this.debug_bind_master._settings.id + " <= " + this.debug_sync_master.name + "@" + this.debug_sync_master._settings.id) - } - var e = h; - if (h.name != "DataStore") { - h = h.data - } - var c = dhtmlx.bind(function(n, l, m) { - if (m != "update" || g) { - n = null - } - if (!n) { - this.order = dhtmlx.toArray([].concat(h.order)); - this._filter_order = null; - this.pull = h.pull; - if (g) { - this.silent(g) - } - if (this._on_sync) { - this._on_sync() - } - } - if (dhtmlx.debug_bind) { - dhtmlx.log("[sync:request] " + this.debug_sync_master.name + "@" + this.debug_sync_master._settings.id + " <= " + this.debug_bind_master.name + "@" + this.debug_bind_master._settings.id) - } - if (!a) { - this.refresh(n) - } else { - a = false - } - }, this); - h.attachEvent("onStoreUpdated", c); - this.feed = function(m, l) { - e.loadNext(l, m) - }; - c() - }, - add: function(h, a) { - if (this._scheme) { - h = h || {}; - for (var c in this._scheme) { - h[c] = h[c] || this._scheme[c] - } - if (this._scheme) { - if (this._scheme.$init) { - this._scheme.$update(h) - } else { - if (this._scheme.$update) { - this._scheme.$update(h) - } - } - } - } - var l = this.id(h); - var g = this.dataCount(); - if (dhtmlx.isNotDefined(a) || a < 0) { - a = g - } - if (a > g) { - dhtmlx.log("Warning", "DataStore:add", "Index of out of bounds"); - a = Math.min(this.order.length, a) - } - if (this.callEvent("onBeforeAdd", [l, h, a]) === false) { - return false - } - if (this.exists(l)) { - return dhtmlx.error("Not unique ID") - } - this.pull[l] = h; - this.order.insertAt(l, a); - if (this._filter_order) { - var e = this._filter_order.length; - if (!a && this.order.length) { - e = 0 - } - this._filter_order.insertAt(l, e) - } - this.callEvent("onafterAdd", [l, a]); - this.callEvent("onStoreUpdated", [l, h, "add"]); - return l - }, - remove: function(e) { - if (e instanceof Array) { - for (var a = 0; a < e.length; a++) { - this.remove(e[a]) - } - return - } - if (this.callEvent("onBeforeDelete", [e]) === false) { - return false - } - if (!this.exists(e)) { - return dhtmlx.error("Not existing ID", e) - } - var c = this.item(e); - this.order.remove(e); - if (this._filter_order) { - this._filter_order.remove(e) - } - delete this.pull[e]; - this.callEvent("onafterdelete", [e]); - this.callEvent("onStoreUpdated", [e, c, "delete"]) - }, - clearAll: function() { - this.pull = {}; - this.order = dhtmlx.toArray(); - this.feed = null; - this._filter_order = null; - this.callEvent("onClearAll", []); - this.refresh() - }, - idByIndex: function(a) { - if (a >= this.order.length || a < 0) { - dhtmlx.log("Warning", "DataStore::idByIndex Incorrect index") - } - return this.order[a] - }, - indexById: function(c) { - var a = this.order.find(c); - return a - }, - next: function(c, a) { - return this.order[this.indexById(c) + (a || 1)] - }, - first: function() { - return this.order[0] - }, - last: function() { - return this.order[this.order.length - 1] - }, - previous: function(c, a) { - return this.order[this.indexById(c) - (a || 1)] - }, - sort: function(l, c, a) { - var e = l; - if (typeof l == "function") { - e = { - as: l, - dir: c - } - } else { - if (typeof l == "string") { - e = { - by: l, - dir: c, - as: a - } - } - } - var h = [e.by, e.dir, e.as]; - if (!this.callEvent("onbeforesort", h)) { - return - } - if (this.order.length) { - var m = dhtmlx.sort.create(e); - var g = this.getRange(this.first(), this.last()); - g.sort(m); - this.order = g.map(function(n) { - return this.id(n) - }, this) - } - this.refresh(); - this.callEvent("onaftersort", h) - }, - filter: function(h, g) { - if (!this.callEvent("onBeforeFilter", [h, g])) { - return - } - if (this._filter_order) { - this.order = this._filter_order; - delete this._filter_order - } - if (!this.order.length) { - return - } - if (h) { - var c = h; - g = g || ""; - if (typeof h == "string") { - h = dhtmlx.Template.fromHTML(h); - g = g.toString().toLowerCase(); - c = function(n, m) { - return h(n).toLowerCase().indexOf(m) != -1 - } - } - var e = dhtmlx.toArray(); - for (var a = 0; a < this.order.length; a++) { - var l = this.order[a]; - if (c(this.item(l), g)) { - e.push(l) - } - } - this._filter_order = this.order; - this.order = e - } - this.refresh(); - this.callEvent("onAfterFilter", []) - }, - each: function(e, c) { - for (var a = 0; a < this.order.length; a++) { - e.call((c || this), this.item(this.order[a])) - } - }, - provideApi: function(g, c) { - this.debug_bind_master = g; - if (c) { - this.mapEvent({ - onbeforesort: g, - onaftersort: g, - onbeforeadd: g, - onafteradd: g, - onbeforedelete: g, - onafterdelete: g, - onbeforeupdate: g - }) - } - var e = ["get", "set", "sort", "add", "remove", "exists", "idByIndex", "indexById", "item", "update", "refresh", "dataCount", "filter", "next", "previous", "clearAll", "first", "last", "serialize"]; - for (var a = 0; a < e.length; a++) { - g[e[a]] = dhtmlx.methodPush(this, e[a]) - } - if (dhtmlx.assert_enabled()) { - this.assert_event(g) - } - }, - serialize: function() { - var e = this.order; - var a = []; - for (var c = 0; c < e.length; c++) { - a.push(this.pull[e[c]]) - } - return a - } -}; -dhtmlx.sort = { - create: function(a) { - return dhtmlx.sort.dir(a.dir, dhtmlx.sort.by(a.by, a.as)) - }, - as: { - "int": function(e, c) { - e = e * 1; - c = c * 1; - return e > c ? 1 : (e < c ? -1 : 0) - }, - string_strict: function(e, c) { - e = e.toString(); - c = c.toString(); - return e > c ? 1 : (e < c ? -1 : 0) - }, - string: function(e, c) { - e = e.toString().toLowerCase(); - c = c.toString().toLowerCase(); - return e > c ? 1 : (e < c ? -1 : 0) - } - }, - by: function(c, a) { - if (!c) { - return a - } - if (typeof a != "function") { - a = dhtmlx.sort.as[a || "string"] - } - c = dhtmlx.Template.fromHTML(c); - return function(g, e) { - return a(c(g), c(e)) - } - }, - dir: function(c, a) { - if (c == "asc") { - return a - } - return function(g, e) { - return a(g, e) * -1 - } - } -}; -dhtmlx.KeyEvents = { - _init: function() { - dhtmlx.event(this._obj, "keypress", this._onKeyPress, this) - }, - _onKeyPress: function(c) { - c = c || event; - var a = c.which || c.keyCode; - this.callEvent((this._edit_id ? "onEditKeyPress" : "onKeyPress"), [a, c.ctrlKey, c.shiftKey, c]) - } -}; -dhtmlx.MouseEvents = { - _init: function() { - if (this.on_click) { - dhtmlx.event(this._obj, "click", this._onClick, this); - dhtmlx.event(this._obj, "contextmenu", this._onContext, this) - } - if (this.on_dblclick) { - dhtmlx.event(this._obj, "dblclick", this._onDblClick, this) - } - if (this.on_mouse_move) { - dhtmlx.event(this._obj, "mousemove", this._onMouse, this); - dhtmlx.event(this._obj, (dhtmlx._isIE ? "mouseleave" : "mouseout"), this._onMouse, this) - } - }, - _onClick: function(a) { - return this._mouseEvent(a, this.on_click, "ItemClick") - }, - _onDblClick: function(a) { - return this._mouseEvent(a, this.on_dblclick, "ItemDblClick") - }, - _onContext: function(a) { - var c = dhtmlx.html.locate(a, this._id); - if (c && !this.callEvent("onBeforeContextMenu", [c, a])) { - return dhtmlx.html.preventEvent(a) - } - }, - _onMouse: function(a) { - if (dhtmlx._isIE) { - a = document.createEventObject(event) - } - if (this._mouse_move_timer) { - window.clearTimeout(this._mouse_move_timer) - } - this.callEvent("onMouseMoving", [a]); - this._mouse_move_timer = window.setTimeout(dhtmlx.bind(function() { - if (a.type == "mousemove") { - this._onMouseMove(a) - } else { - this._onMouseOut(a) - } - }, this), 500) - }, - _onMouseMove: function(a) { - if (!this._mouseEvent(a, this.on_mouse_move, "MouseMove")) { - this.callEvent("onMouseOut", [a || event]) - } - }, - _onMouseOut: function(a) { - this.callEvent("onMouseOut", [a || event]) - }, - _mouseEvent: function(m, l, c) { - m = m || event; - var a = m.target || m.srcElement; - var g = ""; - var n = null; - var h = false; - while (a && a.parentNode) { - if (!h && a.getAttribute) { - n = a.getAttribute(this._id); - if (n) { - if (a.getAttribute("userdata")) { - this.callEvent("onLocateData", [n, a, m]) - } - if (!this.callEvent("on" + c, [n, m, a])) { - return - } - h = true - } - } - g = a.className; - if (g) { - g = g.split(" "); - g = g[0] || g[1]; - if (l[g]) { - return l[g].call(this, m, n || dhtmlx.html.locate(m, this._id), a) - } - } - a = a.parentNode - } - return h - } -}; -dhtmlx.Settings = { - _init: function() { - this._settings = this.config = {} - }, - define: function(c, a) { - if (typeof c == "object") { - return this._parseSeetingColl(c) - } - return this._define(c, a) - }, - _define: function(c, a) { - dhtmlx.assert_settings.call(this, c, a); - var e = this[c + "_setter"]; - return this._settings[c] = e ? e.call(this, a) : a - }, - _parseSeetingColl: function(e) { - if (e) { - for (var c in e) { - this._define(c, e[c]) - } - } - }, - _parseSettings: function(e, a) { - var c = dhtmlx.extend({}, a); - if (typeof e == "object" && !e.tagName) { - dhtmlx.extend(c, e) - } - this._parseSeetingColl(c) - }, - _mergeSettings: function(a, e) { - for (var c in e) { - switch (typeof a[c]) { - case "object": - a[c] = this._mergeSettings((a[c] || {}), e[c]); - break; - case "undefined": - a[c] = e[c]; - break; - default: - break - } - } - return a - }, - _parseContainer: function(c, a, e) { - if (typeof c == "object" && !c.tagName) { - c = c.container - } - this._obj = this.$view = dhtmlx.toNode(c); - if (!this._obj && e) { - this._obj = e(c) - } - dhtmlx.assert(this._obj, "Incorrect html container"); - this._obj.className += " " + a; - this._obj.onselectstart = function() { - return false - }; - this._dataobj = this._obj - }, - _set_type: function(a) { - if (typeof a == "object") { - return this.type_setter(a) - } - dhtmlx.assert(this.types, "RenderStack :: Types are not defined"); - dhtmlx.assert(this.types[a], "RenderStack :: Inccorect type name", a); - this.type = dhtmlx.extend({}, this.types[a]); - this.customize() - }, - customize: function(a) { - if (a) { - dhtmlx.extend(this.type, a) - } - this.type._item_start = dhtmlx.Template.fromHTML(this.template_item_start(this.type)); - this.type._item_end = this.template_item_end(this.type); - this.render() - }, - type_setter: function(a) { - this._set_type(typeof a == "object" ? dhtmlx.Type.add(this, a) : a); - return a - }, - template_setter: function(a) { - return this.type_setter({ - template: a - }) - }, - css_setter: function(a) { - this._obj.className += " " + a; - return a - } -}; -dhtmlx.Template = { - _cache: {}, - empty: function() { - return "" - }, - setter: function(a) { - return dhtmlx.Template.fromHTML(a) - }, - obj_setter: function(c) { - var a = dhtmlx.Template.setter(c); - var e = this; - return function() { - return a.apply(e, arguments) - } - }, - fromHTML: function(a) { - if (typeof a == "function") { - return a - } - if (this._cache[a]) { - return this._cache[a] - } - a = (a || "").toString(); - a = a.replace(/[\r\n]+/g, "\\n"); - a = a.replace(/\{obj\.([^}?]+)\?([^:]*):([^}]*)\}/g, '"+(obj.$1?"$2":"$3")+"'); - a = a.replace(/\{common\.([^}\(]*)\}/g, '"+common.$1+"'); - a = a.replace(/\{common\.([^\}\(]*)\(\)\}/g, '"+(common.$1?common.$1(obj):"")+"'); - a = a.replace(/\{obj\.([^}]*)\}/g, '"+obj.$1+"'); - a = a.replace(/#([a-z0-9_]+)#/gi, '"+obj.$1+"'); - a = a.replace(/\{obj\}/g, '"+obj+"'); - a = a.replace(/\{-obj/g, "{obj"); - a = a.replace(/\{-common/g, "{common"); - a = 'return "' + a + '";'; - return this._cache[a] = Function("obj", "common", a) - } -}; -dhtmlx.Type = { - add: function(e, c) { - if (!e.types && e.prototype.types) { - e = e.prototype - } - if (dhtmlx.assert_enabled()) { - this.assert_event(c) - } - var a = c.name || "default"; - this._template(c); - this._template(c, "edit"); - this._template(c, "loading"); - e.types[a] = dhtmlx.extend(dhtmlx.extend({}, (e.types[a] || this._default)), c); - return a - }, - _default: { - css: "default", - template: function() { - return "" - }, - template_edit: function() { - return "" - }, - template_loading: function() { - return "..." - }, - width: 150, - height: 80, - margin: 5, - padding: 0 - }, - _template: function(e, a) { - a = "template" + (a ? ("_" + a) : ""); - var c = e[a]; - if (c && (typeof c == "string")) { - if (c.indexOf("->") != -1) { - c = c.split("->"); - switch (c[0]) { - case "html": - c = dhtmlx.html.getValue(c[1]).replace(/\"/g, '\\"'); - break; - case "http": - c = new dhtmlx.ajax().sync().get(c[1], { - uid: (new Date()).valueOf() - }).responseText; - break; - default: - break - } - } - e[a] = dhtmlx.Template.fromHTML(c) - } - } -}; -dhtmlx.SingleRender = { - _init: function() {}, - _toHTML: function(a) { - return this.type._item_start(a, this.type) + this.type.template(a, this.type) + this.type._item_end - }, - render: function() { - if (!this.callEvent || this.callEvent("onBeforeRender", [this.data])) { - if (this.data) { - this._dataobj.innerHTML = this._toHTML(this.data) - } - if (this.callEvent) { - this.callEvent("onAfterRender", []) - } - } - } -}; -dhtmlx.ui.Tooltip = function(a) { - this.name = "Tooltip"; - if (dhtmlx.assert_enabled()) { - this._assert() - } - if (typeof a == "string") { - a = { - template: a - } - } - dhtmlx.extend(this, dhtmlx.Settings); - dhtmlx.extend(this, dhtmlx.SingleRender); - this._parseSettings(a, { - type: "default", - dy: 0, - dx: 20 - }); - this._dataobj = this._obj = document.createElement("DIV"); - this._obj.className = "dhx_tooltip"; - dhtmlx.html.insertBefore(this._obj, document.body.firstChild) -}; -dhtmlx.ui.Tooltip.prototype = { - show: function(a, c) { - if (this._disabled) { - return - } - if (this.data != a) { - this.data = a; - this.render(a) - } - this._obj.style.top = c.y + this._settings.dy + "px"; - this._obj.style.left = c.x + this._settings.dx + "px"; - this._obj.style.display = "block" - }, - hide: function() { - this.data = null; - this._obj.style.display = "none" - }, - disable: function() { - this._disabled = true - }, - enable: function() { - this._disabled = false - }, - types: { - "default": dhtmlx.Template.fromHTML("{obj.id}") - }, - template_item_start: dhtmlx.Template.empty, - template_item_end: dhtmlx.Template.empty -}; -dhtmlx.AutoTooltip = { - tooltip_setter: function(c) { - var a = new dhtmlx.ui.Tooltip(c); - this.attachEvent("onMouseMove", function(h, g) { - a.show(this.get(h), dhtmlx.html.pos(g)) - }); - this.attachEvent("onMouseOut", function(h, g) { - a.hide() - }); - this.attachEvent("onMouseMoving", function(h, g) { - a.hide() - }); - return a - } -}; -dhtmlx.compat = function(a, c) { - if (dhtmlx.compat[a]) { - dhtmlx.compat[a](c) - } -}; -if (!dhtmlx.attaches) { - dhtmlx.attaches = {} -} -dhtmlx.attaches.attachAbstract = function(c, a) { - var h = document.createElement("DIV"); - h.id = "CustomObject_" + dhtmlx.uid(); - h.style.width = "100%"; - h.style.height = "100%"; - h.cmp = "grid"; - document.body.appendChild(h); - this.attachObject(h.id); - a.container = h.id; - var g = this.vs[this.av]; - g.grid = new window[c](a); - g.gridId = h.id; - g.gridObj = h; - g.grid.setSizes = function() { - if (this.resize) { - this.resize() - } else { - this.render() - } - }; - var e = "_viewRestore"; - return this.vs[this[e]()].grid -}; -dhtmlx.attaches.attachDataView = function(a) { - return this.attachAbstract("dhtmlXDataView", a) -}; -dhtmlx.attaches.attachChart = function(a) { - return this.attachAbstract("dhtmlXChart", a) -}; -dhtmlx.compat.layout = function() {}; - -function dhtmlXCellObject(e, a) { - this.cell = document.createElement("DIV"); - this.cell.className = "dhx_cell" + (a || ""); - this._idd = e; - this._isCell = true; - this.conf = { - borders: true, - idx: {}, - css: a || "", - idx_data: { - cont: "dhx_cell_cont", - pr1: "dhx_cell_progress_bar", - pr2: "dhx_cell_progress_img", - pr3: "dhx_cell_progress_svg", - menu: "dhx_cell_menu", - toolbar: "dhx_cell_toolbar", - ribbon: "dhx_cell_ribbon", - sb: "dhx_cell_statusbar", - cover: "dhx_cell_cover" - }, - ofs_nodes: { - t: {}, - b: {} - } - }; - this.dataNodes = {}; - this.views = {}; - var c = document.createElement("DIV"); - c.className = "dhx_cell_cont" + this.conf.css; - this.cell.appendChild(c); - c = null; - this._updateIdx = function() { - for (var g in this.conf.idx) { - this.conf.idx[g] = null; - delete this.conf.idx[g] - } - for (var m = 0; m < this.cell.childNodes.length; m++) { - var h = this.cell.childNodes[m].className; - for (var g in this.conf.idx_data) { - var l = new RegExp(this.conf.idx_data[g]); - if (h.match(l) != null) { - this.conf.idx[g] = m - } - } - } - this.callEvent("_onIdxUpdated", []) - }; - this._adjustAttached = function() { - for (var g in this.dataNodes) { - if (this.dataNodes[g] != null && typeof(this.dataNodes[g].setSizes) == "function") { - this.dataNodes[g].setSizes() - } - } - if (this.dataObj != null && typeof(this.dataObj.setSizes) == "function") { - if (this.dataType == "layout" && typeof(window.dhtmlXLayoutCell) == "function" && this instanceof window.dhtmlXLayoutCell && this.dataObj._getMainInst() != this.layout._getMainInst()) { - this.dataObj.setSizes(); - return - } - this.dataObj.setSizes.apply(this.dataObj, arguments) - } - }; - this._setSize = function(u, r, v, n, o, q, l, m) { - if (this.conf.size == null) { - this.conf.size = {} - } - if (m == null) { - m = {} - } - var A = { - left: "x", - top: "y", - width: "w", - height: "h" - }; - this.conf.size.x = u; - this.conf.size.y = r; - this.conf.size.w = Math.max(v, 0); - this.conf.size.h = Math.max(n, 0); - for (var s in A) { - var g = (m[s] || s); - this.cell.style[g] = this.conf.size[A[s]] + "px" - } - this.callEvent("_onSetSize", []); - if (q !== true) { - this._adjustCont(o, l) - } else { - this._adjustAttached(o) - } - this._adjustProgress() - }; - this._adjustCont = function(o, m) { - var n = this.cell.childNodes[this.conf.idx.cont]; - if (typeof(window.dhtmlXLayoutCell) == "function" && this instanceof window.dhtmlXLayoutCell && this.conf.collapsed == true) { - n.style.left = n.style.top = "0px"; - n.style.width = n.style.height = "200px"; - n = null; - return - } - var l = 0; - for (var g in this.conf.ofs_nodes.t) { - var h = this.conf.ofs_nodes.t[g]; - l += (h == "func" ? this[g]() : (h == true ? this.cell.childNodes[this.conf.idx[g]].offsetHeight : 0)) - } - var q = 0; - for (var g in this.conf.ofs_nodes.b) { - var h = this.conf.ofs_nodes.b[g]; - q += (h == "func" ? this[g]() : (h == true ? this.cell.childNodes[this.conf.idx[g]].offsetHeight : 0)) - } - n.style.left = "0px"; - n.style.top = l + "px"; - if (this.conf.cells_cont == null) { - this.conf.cells_cont = {}; - n.style.width = this.cell.offsetWidth + "px"; - n.style.height = Math.max(this.cell.offsetHeight - l - q, 0) + "px"; - this.conf.cells_cont.w = parseInt(n.style.width) - n.offsetWidth; - this.conf.cells_cont.h = parseInt(n.style.height) - n.offsetHeight - } - n.style.left = "0px"; - n.style.top = l + "px"; - n.style.width = Math.max(this.cell.offsetWidth + this.conf.cells_cont.w, 0) + "px"; - n.style.height = Math.max(this.conf.size.h - l - q + this.conf.cells_cont.h, 0) + "px"; - n = null; - this._adjustAttached(o); - if (m == "expand" && this.dataType == "editor" && this.dataObj != null) { - this.dataObj._prepareContent(true) - } - }; - this._mtbUpdBorder = function() { - var h = ["menu", "toolbar", "ribbon"]; - for (var m = 0; m < h.length; m++) { - if (this.conf.idx[h[m]] != null) { - var n = this.cell.childNodes[this.conf.idx[h[m]]]; - var l = "dhx_cell_" + h[m] + "_no_borders"; - var g = "dhx_cell_" + h[m] + "_def"; - n.className = n.className.replace(new RegExp(this.conf.borders ? l : g), this.conf.borders ? g : l); - n = null - } - } - }; - this._resetSizeState = function() { - this.conf.cells_cont = null - }; - this.conf.view = "def"; - this.conf.views_loaded = {}; - this.conf.views_loaded[this.conf.view] = true; - this._viewSave = function(l) { - this.views[l] = { - borders: this.conf.borders, - ofs_nodes: { - t: {}, - b: {} - }, - url_data: this.conf.url_data, - dataType: this.dataType, - dataObj: this.dataObj, - cellCont: [], - dataNodes: {}, - dataNodesCont: {} - }; - var m = this.cell.childNodes[this.conf.idx.cont]; - while (m.childNodes.length > 0) { - this.views[l].cellCont.push(m.firstChild); - m.removeChild(m.firstChild) - } - m = null; - this.dataType = null; - this.dataObj = null; - this.conf.url_data = null; - for (var h in this.dataNodes) { - for (var g in this.conf.ofs_nodes) { - if (typeof(this.conf.ofs_nodes[g][h]) != "undefined") { - this.views[l].ofs_nodes[g][h] = this.conf.ofs_nodes[g][h]; - this.conf.ofs_nodes[g][h] = null; - delete this.conf.ofs_nodes[g][h] - } - } - this.views[l].dataNodesCont[h] = this.cell.childNodes[this.conf.idx[h]]; - this.cell.removeChild(this.cell.childNodes[this.conf.idx[h]]); - this.views[l].dataNodes[h] = this.dataNodes[h]; - this.dataNodes[h] = null; - delete this.dataNodes[h]; - this._updateIdx() - } - this.callEvent("_onViewSave", [l]) - }; - this._viewRestore = function(l) { - if (this.views[l] == null) { - return - } - this.dataObj = this.views[l].dataObj; - this.dataType = this.views[l].dataType; - this.conf.url_data = this.views[l].url_data; - for (var m = 0; m < this.views[l].cellCont.length; m++) { - this.cell.childNodes[this.conf.idx.cont].appendChild(this.views[l].cellCont[m]) - } - for (var h in this.views[l].dataNodes) { - this.dataNodes[h] = this.views[l].dataNodes[h]; - if (h == "menu") { - this.cell.insertBefore(this.views[l].dataNodesCont[h], this.cell.childNodes[this.conf.idx.toolbar || this.conf.idx.cont]) - } - if (h == "toolbar") { - this.cell.insertBefore(this.views[l].dataNodesCont[h], this.cell.childNodes[this.conf.idx.cont]) - } - if (h == "ribbon") { - this.cell.insertBefore(this.views[l].dataNodesCont[h], this.cell.childNodes[this.conf.idx.cont]) - } - if (h == "sb") { - this.cell.appendChild(this.views[l].dataNodesCont[h]) - } - this._updateIdx() - } - for (var h in this.views[l].ofs_nodes) { - for (var g in this.views[l].ofs_nodes[h]) { - this.conf.ofs_nodes[h][g] = this.views[l].ofs_nodes[h][g] - } - } - if (this.conf.borders != this.views[l].borders) { - this[this.views[l].borders ? "_showBorders" : "_hideBorders"](true) - } - if (this.dataType == "url" && this.conf.url_data != null && this.conf.url_data.ajax == false && this.conf.url_data.post_data != null) { - this.reloadURL() - } - this.callEvent("_onViewRestore", [l]); - this._viewDelete(l) - }; - this._viewDelete = function(l) { - if (this.views[l] == null) { - return - } - this.views[l].borders = null; - for (var h in this.views[l].ofs_nodes) { - for (var g in this.views[l].ofs_nodes[h]) { - this.views[l].ofs_nodes[h][g] = null - } - this.views[l].ofs_nodes[h] = null - } - this.views[l].dataType = null; - this.views[l].dataObj = null; - this.views[l].url_data = null; - for (var m = 0; m < this.views[l].cellCont.length; m++) { - this.views[l].cellCont[m] = null - } - this.views[l].cellCont = null; - for (var h in this.views[l].dataNodes) { - this.views[l].dataNodes[h] = null; - this.views[l].dataNodesCont[h] = null - } - this.views[l].dataNodes = this.views[l].dataNodesCont = null; - this.views[l] = null; - delete this.views[l] - }; - window.dhx4._eventable(this); - this._updateIdx(); - return this -} -dhtmlXCellObject.prototype.showView = function(a) { - if (this.conf.view == a) { - return false - } - this._viewSave(this.conf.view); - this._viewRestore(a); - this._updateIdx(); - this._adjustCont(); - this.conf.view = a; - var c = (typeof(this.conf.views_loaded[this.conf.view]) == "undefined"); - this.conf.views_loaded[this.conf.view] = true; - return c -}; -dhtmlXCellObject.prototype.getViewName = function() { - return this.conf.view -}; -dhtmlXCellObject.prototype.unloadView = function(g) { - if (g == this.conf.view) { - var h = this.conf.unloading; - this.conf.unloading = true; - if (typeof(this.detachMenu) == "function") { - this.detachMenu() - } - if (typeof(this.detachToolbar) == "function") { - this.detachToolbar() - } - if (typeof(this.detachRibbon) == "function") { - this.detachRibbon() - } - this.detachStatusBar(); - this._detachObject(null, true); - this.conf.unloading = h; - if (!this.conf.unloading) { - this._adjustCont(this._idd) - } - return - } - if (this.views[g] == null) { - return - } - var e = this.views[g]; - for (var c in e.dataNodes) { - if (typeof(e.dataNodes[c].unload) == "function") { - e.dataNodes[c].unload() - } - e.dataNodes[c] = null; - e.dataNodesCont[c] = null - } - if (e.dataType == "url") { - if (e.cellCont != null && e.cellCont[0] != "null") { - this._detachURLEvents(e.cellCont[0]) - } - } else { - if (e.dataObj != null) { - if (typeof(e.dataObj.unload) == "function") { - e.dataObj.unload() - } else { - if (typeof(e.dataObj.destructor) == "function") { - e.dataObj.destructor() - } - } - e.dataObj = null - } - } - e = null; - this._viewDelete(g); - if (typeof(this.conf.views_loaded[g]) != "undefined") { - delete this.conf.views_loaded[g] - } -}; -dhtmlXCellObject.prototype.getId = function() { - return this._idd -}; -dhtmlXCellObject.prototype.progressOn = function() { - if (this.conf.progress == true) { - return - } - this.conf.progress = true; - var c = document.createElement("DIV"); - c.className = this.conf.idx_data.pr1; - var a = document.createElement("DIV"); - if (this.conf.skin == "material" && (window.dhx4.isFF || window.dhx4.isChrome || window.dhx4.isOpera || window.dhx4.isEdge)) { - a.className = this.conf.idx_data.pr3; - a.innerHTML = '' - } else { - a.className = this.conf.idx_data.pr2 - } - if (this.conf.idx.cover != null) { - this.cell.insertBefore(a, this.cell.childNodes[this.conf.idx.cover]) - } else { - this.cell.appendChild(a) - } - this.cell.insertBefore(c, a); - c = a = null; - this._updateIdx(); - this._adjustProgress() -}; -dhtmlXCellObject.prototype.progressOff = function() { - if (this.conf.progress != true) { - return - } - for (var c in { - pr3: 3, - pr2: 2, - pr1: 1 - }) { - var e = this.cell.childNodes[this.conf.idx[c]]; - if (e != null) { - e.parentNode.removeChild(e) - } - e = null - } - this.conf.progress = false; - this._updateIdx() -}; -dhtmlXCellObject.prototype._adjustProgress = function() { - if (this.conf.idx.pr1 == null) { - return - } - if (!this.conf.pr) { - this.conf.pr = {} - } - var c = this.cell.childNodes[this.conf.idx.pr1]; - var a = this.cell.childNodes[this.conf.idx.pr2] || this.cell.childNodes[this.conf.idx.pr3]; - if (!this.conf.pr.ofs) { - a.style.width = c.offsetWidth + "px"; - a.style.height = c.offsetHeight + "px"; - this.conf.pr.ofs = { - w: a.offsetWidth - a.clientWidth, - h: a.offsetHeight - a.clientHeight - } - } - a.style.width = c.offsetWidth - this.conf.pr.ofs.w + "px"; - a.style.height = c.offsetHeight - this.conf.pr.ofs.h + "px"; - c = a = null -}; -dhtmlXCellObject.prototype._showCellCover = function() { - if (this.conf.cover == true) { - return - } - this.conf.cover = true; - var a = document.createElement("DIV"); - a.className = this.conf.idx_data.cover; - this.cell.appendChild(a); - a = null; - this._updateIdx() -}; -dhtmlXCellObject.prototype._hideCellCover = function() { - if (this.conf.cover != true) { - return - } - this.cell.removeChild(this.cell.childNodes[this.conf.idx.cover]); - this._updateIdx(); - this.conf.cover = false -}; -dhtmlXCellObject.prototype._showBorders = function(a) { - if (this.conf.borders) { - return - } - this.conf.borders = true; - this.cell.childNodes[this.conf.idx.cont].className = "dhx_cell_cont" + this.conf.css; - this.conf.cells_cont = null; - this._mtbUpdBorder(); - this.callEvent("_onBorderChange", [true]); - if (a !== true) { - this._adjustCont(this._idd) - } -}; -dhtmlXCellObject.prototype._hideBorders = function(a) { - if (!this.conf.borders) { - return - } - this.conf.borders = false; - this.cell.childNodes[this.conf.idx.cont].className = "dhx_cell_cont" + this.conf.css + " dhx_cell_cont_no_borders"; - this.conf.cells_cont = null; - this._mtbUpdBorder(); - this.callEvent("_onBorderChange", [false]); - if (a !== true) { - this._adjustCont(this._idd) - } -}; -dhtmlXCellObject.prototype._getWidth = function() { - return this.cell.offsetWidth -}; -dhtmlXCellObject.prototype._getHeight = function() { - return this.cell.offsetHeight -}; -dhtmlXCellObject.prototype.showInnerScroll = function() { - this.cell.childNodes[this.conf.idx.cont].style.overflow = "auto" -}; -dhtmlXCellObject.prototype._unload = function() { - this.conf.unloading = true; - this.callEvent("_onCellUnload", []); - this.progressOff(); - this.unloadView(this.conf.view); - this.dataNodes = null; - this.cell.parentNode.removeChild(this.cell); - this.cell = null; - window.dhx4._eventable(this, "clear"); - for (var c in this.views) { - this.unloadView(c) - } - this.conf = null; - for (var c in this) { - this[c] = null - } -}; -dhtmlXCellObject.prototype.attachObject = function(g, e) { - if (window.dhx4.s2b(e) && !(typeof(window.dhtmlXWindowsCell) == "function" && this instanceof window.dhtmlXWindowsCell)) { - e = false - } - if (typeof(g) == "string") { - g = document.getElementById(g) - } - if (g.parentNode == this.cell.childNodes[this.conf.idx.cont]) { - g = null; - return - } - if (e) { - g.style.display = ""; - var a = g.offsetWidth; - var c = g.offsetHeight - } - this._attachObject(g); - this.dataType = "obj"; - g.style.display = ""; - g = null; - if (e) { - this._adjustByCont(a, c) - } -}; -dhtmlXCellObject.prototype.appendObject = function(a) { - if (typeof(a) == "string") { - a = document.getElementById(a) - } - if (a.parentNode == this.cell.childNodes[this.conf.idx.cont]) { - a = null; - return - } - if (!this.conf.append_mode) { - this.cell.childNodes[this.conf.idx.cont].style.overflow = "auto"; - this.conf.append_mode = true - } - this._attachObject(a, null, null, true); - this.dataType = "obj"; - a.style.display = ""; - a = null -}; -dhtmlXCellObject.prototype.detachObject = function(c, a) { - this._detachObject(null, c, a) -}; -dhtmlXCellObject.prototype.getAttachedStatusBar = function() { - return this.dataNodes.sb -}; -dhtmlXCellObject.prototype.getAttachedObject = function() { - if (this.dataType == "obj" || this.dataType == "url" || this.dataType == "url-ajax") { - return this.cell.childNodes[this.conf.idx.cont].firstChild - } else { - return this.dataObj - } -}; -dhtmlXCellObject.prototype.attachURL = function(c, s, g) { - if (g == true) { - g = {} - } - var h = (typeof(g) != "undefined" && g != false && g != null); - if (this.conf.url_data == null) { - this.conf.url_data = {} - } - this.conf.url_data.url = c; - this.conf.url_data.ajax = (s == true); - this.conf.url_data.post_data = (g == true ? {} : (g || null)); - if (this.conf.url_data.xml_doc != null) { - try { - this.conf.url_data.xml_doc.xmlDoc.abort() - } catch (n) {} - this.conf.url_data.xml_doc.xmlDoc = null; - this.conf.url_data.xml_doc = null - } - if (s == true) { - var r = this; - if (h) { - var l = ""; - for (var q in g) { - l += "&" + encodeURIComponent(q) + "=" + encodeURIComponent(g[q]) - } - this.conf.url_data.xml_doc = dhx4.ajax.post(c, l, function(a) { - if (r.attachHTMLString != null && typeof(a.xmlDoc.responseText) == "string") { - r.attachHTMLString("
                    " + a.xmlDoc.responseText + "
                    "); - if (typeof(r._doOnFrameContentLoaded) == "function") { - r._doOnFrameContentLoaded() - } - r.dataType = "url-ajax" - } - r = a = null - }) - } else { - this.conf.url_data.xml_doc = dhx4.ajax.get(c, function(a) { - if (r.attachHTMLString != null && typeof(a.xmlDoc.responseText) == "string") { - r.attachHTMLString("
                    " + a.xmlDoc.responseText + "
                    "); - if (typeof(r._doOnFrameContentLoaded) == "function") { - r._doOnFrameContentLoaded() - } - r.dataType = "url-ajax" - } - r = a = null - }) - } - } else { - if (this.dataType == "url") { - var m = this.getFrame() - } else { - var m = document.createElement("IFRAME"); - m.frameBorder = 0; - m.border = 0; - m.style.width = "100%"; - m.style.height = "100%"; - m.style.position = "relative"; - this._attachObject(m); - this.dataType = "url"; - this._attachURLEvents() - } - if (h) { - var o = (typeof(this.conf.url_data.post_ifr) == "undefined"); - this.conf.url_data.post_ifr = true; - if (o) { - this._attachURLEvents() - } - m.src = "about:blank" - } else { - m.src = c + window.dhx4.ajax._dhxr(c) - } - m = null - } - m = null -}; -dhtmlXCellObject.prototype.reloadURL = function() { - if (!(this.dataType == "url" || this.dataType == "url-ajax")) { - return - } - if (this.conf.url_data == null) { - return - } - this.attachURL(this.conf.url_data.url, this.conf.url_data.ajax, this.conf.url_data.post_data) -}; -dhtmlXCellObject.prototype.attachHTMLString = function(str) { - this._attachObject(null, null, str); - var z = str.match(/]*>[^\f]*?<\/script>/g) || []; - for (var i = 0; i < z.length; i++) { - var s = z[i].replace(/<([\/]{0,1})script[^>]*>/gi, ""); - if (s) { - if (window.execScript) { - window.execScript(s) - } else { - window.eval(s) - } - } - } -}; -dhtmlXCellObject.prototype.attachScheduler = function(a, m, c, g) { - g = g || window.scheduler; - var h = false; - if (c) { - var l = document.getElementById(c); - if (l) { - h = true - } - } - if (!h) { - var e = c || '
                    '; - var l = document.createElement("DIV"); - l.id = "dhxSchedObj_" + new Date().getTime(); - l.style.width = "100%"; - l.style.height = "100%"; - l.style.position = "relative"; - l.style.overflow = "hidden"; - l.className = "dhx_cal_container"; - l.innerHTML = '
                     
                     
                    ' + e + '
                    ' - } - this._attachObject(l); - this.dataType = "scheduler"; - this.dataObj = g; - this.dataObj.setSizes = function() { - this.update_view() - }; - g.init(l.id, a, m); - l = null; - this.callEvent("_onContentAttach", []); - return this.dataObj -}; -dhtmlXCellObject.prototype.attachMap = function(a) { - var c = document.createElement("DIV"); - c.style.width = "100%"; - c.style.height = "100%"; - c.style.position = "relative"; - c.style.overflow = "hidden"; - this._attachObject(c); - if (!a) { - a = { - center: new google.maps.LatLng(40.719837, -73.992348), - zoom: 11, - mapTypeId: google.maps.MapTypeId.ROADMAP - } - } - this.dataType = "maps"; - this.dataObj = new google.maps.Map(c, a); - this.dataObj.setSizes = function() { - google.maps.event.trigger(this, "resize") - }; - c = null; - this.callEvent("_onContentAttach", []); - return this.dataObj -}; -dhtmlXCellObject.prototype._createNode_sb = function(n, g, m, a, l) { - if (typeof(l) != "undefined") { - n = l - } else { - var c = g || {}; - var o = (typeof(c.text) == "string" && c.text.length > 0 ? c.text : " "); - var e = (typeof(c.height) == "number" ? c.height : false); - var n = document.createElement("DIV"); - n.className = "dhx_cell_statusbar_def"; - n.innerHTML = "
                    " + o + "
                    "; - if (e != false) { - n.firstChild.style.height = n.firstChild.style.lineHeight = e + "px" - } - } - if (this.conf.idx.pr1 != null) { - this.cell.insertBefore(n, this.cell.childNodes[this.conf.idx.pr1]) - } else { - this.cell.appendChild(n) - } - this.conf.ofs_nodes.b.sb = true; - this._updateIdx(); - this._adjustCont(this._idd); - return n -}; -dhtmlXCellObject.prototype.attachStatusBar = function(a) { - if (this.dataNodes.sb) { - return - } - if (a != null && window.dhx4.s2b(a.paging) == true) { - a.height = null - } - if (this.conf.skin == "dhx_skyblue" && typeof(window.dhtmlXWindowsCell) == "function" && this instanceof window.dhtmlXWindowsCell) { - this.cell.childNodes[this.conf.idx.cont].className += " dhx_cell_statusbar_attached" - } - this.dataNodes.sb = this._attachObject("sb", a); - this.dataNodes.sb.setText = function(c) { - this.childNodes[0].innerHTML = c - }; - this.dataNodes.sb.getText = function() { - return this.childNodes[0].innerHTML - }; - this.dataNodes.sb.onselectstart = function(c) { - return false - }; - return this.dataNodes.sb -}; -dhtmlXCellObject.prototype.detachStatusBar = function() { - if (!this.dataNodes.sb) { - return - } - if (this.conf.skin == "dhx_skyblue" && typeof(window.dhtmlXWindowsCell) == "function" && this instanceof window.dhtmlXWindowsCell) { - this.cell.childNodes[this.conf.idx.cont].className = this.cell.childNodes[this.conf.idx.cont].className.replace(/\s{0,}dhx_cell_statusbar_attached/, "") - } - this.dataNodes.sb.setText = this.dataNodes.sb.getText = this.dataNodes.sb.onselectstart = null; - this.dataNodes.sb = null; - delete this.dataNodes.sb; - this._detachObject("sb") -}; -dhtmlXCellObject.prototype.showStatusBar = function() { - this._mtbShowHide("sb", "") -}; -dhtmlXCellObject.prototype.hideStatusBar = function() { - this._mtbShowHide("sb", "none") -}; -dhtmlXCellObject.prototype._mtbShowHide = function(c, a) { - if (!this.dataNodes[c]) { - return - } - this.cell.childNodes[this.conf.idx[c]].style.display = a; - this._adjustCont() -}; -dhtmlXCellObject.prototype.getFrame = dhtmlXCellObject.prototype._getFrame = function() { - if (this.dataType != "url") { - return null - } - return this.cell.childNodes[this.conf.idx.cont].firstChild -}; -dhtmlXCellObject.prototype._attachURLEvents = function() { - if (this.dataType != "url") { - return - } - var e = this; - var c = this._idd; - var a = this.cell.childNodes[this.conf.idx.cont].firstChild; - if (typeof(this._doOnFrameMouseDown) != "function") { - this._doOnFrameMouseDown = function(g) { - e.callEvent("_onContentMouseDown", [c, g || event]) - } - } - if (typeof(window.addEventListener) == "function") { - a.onload = function() { - try { - if (typeof(e._doOnFrameMouseDown) == "function") { - this.contentWindow.document.body.addEventListener("mousedown", e._doOnFrameMouseDown, false) - } - } catch (g) {} - try { - if (typeof(e._doOnFrameContentLoaded) == "function") { - e._doOnFrameContentLoaded() - } - } catch (g) {} - } - } else { - a.onreadystatechange = function(g) { - if (this.readyState == "complete") { - try { - if (typeof(e._doOnFrameMouseDown) == "function") { - this.contentWindow.document.body.attachEvent("onmousedown", e._doOnFrameMouseDown) - } - } catch (h) {} - try { - if (typeof(e._doOnFrameContentLoaded) == "function") { - e._doOnFrameContentLoaded() - } - } catch (h) {} - } - } - } -}; -dhtmlXCellObject.prototype._doOnFrameContentLoaded = function() { - if (this.conf.url_data.post_ifr == true) { - var l = this.getFrame().contentWindow.document; - var h = l.createElement("FORM"); - h.method = "POST"; - h.action = this.conf.url_data.url; - l.body.appendChild(h); - var e = {}; - if (window.dhx4.ajax.cache != true) { - e["dhxr" + new Date().getTime()] = "1" - } - for (var c in this.conf.url_data.post_data) { - e[c] = this.conf.url_data.post_data[c] - } - for (var c in e) { - var g = l.createElement("INPUT"); - g.type = "hidden"; - g.name = c; - g.value = e[c]; - h.appendChild(g); - g = null - } - this.conf.url_data.post_ifr = false; - h.submit() - } else { - this.callEvent("_onContentLoaded", [this._idd]) - } -}; -dhtmlXCellObject.prototype._detachURLEvents = function(a) { - if (a == null) { - if (this.dataType != "url") { - return - } - a = this.cell.childNodes[this.conf.idx.cont].firstChild - } - if (!a) { - return - } - if (typeof(window.addEventListener) == "function") { - a.onload = null; - try { - a.contentWindow.document.body.removeEventListener("mousedown", this._doOnFrameMouseDown, false) - } catch (c) {} - } else { - a.onreadystatechange = null; - try { - a.contentWindow.document.body.detachEvent("onmousedown", this._doOnFrameMouseDown) - } catch (c) {} - } - a = null -}; -dhtmlXCellObject.prototype._attachObject = function(h, c, g, a, e) { - if (typeof(h) == "string" && { - menu: 1, - toolbar: 1, - ribbon: 1, - sb: 1 - }[h] == 1) { - return this["_createNode_" + h].apply(this, arguments) - } - if (a != true) { - this._detachObject(null, true, null) - } - if (typeof(g) == "string") { - this.cell.childNodes[this.conf.idx.cont].innerHTML = g - } else { - this.cell.childNodes[this.conf.idx.cont].appendChild(h) - } - h = null -}; -dhtmlXCellObject.prototype._detachObject = function(m, c, a) { - this.callEvent("_onBeforeContentDetach", []); - if (m == "menu" || m == "toolbar" || m == "ribbon" || m == "sb") { - var l = this.cell.childNodes[this.conf.idx[m]]; - l.parentNode.removeChild(l); - l = null; - this.conf.ofs_nodes[m == "sb" ? "b" : "t"][m] = false; - this._updateIdx(); - if (!this.conf.unloading) { - this._adjustCont(this._idd) - } - return - } - if (c == true) { - a = false - } else { - if (typeof(a) == "undefined") { - a = document.body - } else { - if (typeof(a) == "string") { - a = document.getElementById(a) - } - } - } - if (a === false) { - if (this.conf.unloading == true && String(this.dataType).match(/ajax/) != null) { - if (this.conf.url_data != null && this.conf.url_data.xml_doc != null) { - try { - this.conf.url_data.xml_doc.xmlDoc.abort() - } catch (h) {} - this.conf.url_data.xml_doc.xmlDoc = null; - this.conf.url_data.xml_doc = null - } - } - if (this.dataType == "url") { - this._detachURLEvents() - } else { - if (this.dataObj != null) { - if (typeof(this.dataObj.unload) == "function") { - this.dataObj.unload() - } else { - if (typeof(this.dataObj.destructor) == "function") { - this.dataObj.destructor() - } - } - } - } - } - var l = this.cell.childNodes[this.conf.idx.cont]; - while (l.childNodes.length > 0) { - if (a === false) { - l.removeChild(l.lastChild) - } else { - l.firstChild.style.display = "none"; - a.appendChild(l.firstChild) - } - } - if (this.conf.append_mode) { - l.style.overflow = ""; - this.conf.append_mode = false - } - var g = (this.dataType == "tabbar"); - this.dataObj = null; - this.dataType = null; - a = l = null; - if (this.conf.unloading != true && g) { - this.showHeader(true); - this._showBorders() - } -}; -dhtmlXCellObject.prototype._attachFromCell = function(c) { - this.detachObject(true); - var g = "layout"; - if (typeof(window.dhtmlXWindowsCell) == "function" && this instanceof window.dhtmlXWindowsCell) { - g = "window" - } - if (typeof(window.dhtmlXWindowsCell) == "function" && c instanceof window.dhtmlXWindowsCell && c.wins.w[c._idd].conf.parked == true) { - c.wins._winCellSetOpacity(c._idd, "open", false) - } - if (typeof(window.dhtmlXAccordionCell) == "function" && c instanceof window.dhtmlXAccordionCell && c.conf.opened == false) { - c._cellSetOpacity("open", false) - } - for (var e in c.dataNodes) { - this._attachObject(e, null, null, null, c.cell.childNodes[c.conf.idx[e]]); - this.dataNodes[e] = c.dataNodes[e]; - c.dataNodes[e] = null; - c.conf.ofs_nodes[e == "sb" ? "b" : "t"][e] = false; - c._updateIdx() - } - this._mtbUpdBorder(); - if (c.dataType != null && c.dataObj != null) { - this.dataType = c.dataType; - this.dataObj = c.dataObj; - while (c.cell.childNodes[c.conf.idx.cont].childNodes.length > 0) { - this.cell.childNodes[this.conf.idx.cont].appendChild(c.cell.childNodes[c.conf.idx.cont].firstChild) - } - c.dataType = null; - c.dataObj = null; - if (this.dataType == "grid") { - if (g == "window" && this.conf.skin == "dhx_skyblue") { - this.dataObj.entBox.style.border = "1px solid #a4bed4"; - this.dataObj._sizeFix = 0 - } else { - this.dataObj.entBox.style.border = "0px solid white"; - this.dataObj._sizeFix = 2 - } - } - } else { - while (c.cell.childNodes[c.conf.idx.cont].childNodes.length > 0) { - this.cell.childNodes[this.conf.idx.cont].appendChild(c.cell.childNodes[c.conf.idx.cont].firstChild) - } - } - this.conf.view = c.conf.view; - c.conf.view = "def"; - for (var e in c.views) { - this.views[e] = c.views[e]; - c.views[e] = null; - delete c.views[e] - } - c._updateIdx(); - c._adjustCont(); - this._updateIdx(); - this._adjustCont(); - if (c.conf.progress == true) { - c.progressOff(); - this.progressOn() - } else { - this.progressOff() - } - if (g == "window" && this.wins.w[this._idd].conf.parked) { - this.wins._winCellSetOpacity(this._idd, "close", false) - } -}; - -function dhtmlXCellTop(h, c) { - if (arguments.length == 0 || typeof(h) == "undefined") { - return - } - var a = this; - this.dataNodes = {}; - this.conf.ofs = { - t: 0, - b: 0, - l: 0, - r: 0 - }; - this.conf.ofs_nodes = { - t: {}, - b: {} - }; - this.conf.progress = false; - this.conf.fs_mode = false; - this.conf.fs_tm = null; - this.conf.fs_resize = false; - if (h == document.body) { - this.conf.fs_mode = true; - this.base = h; - if (this.base == document.body) { - var g = { - dhx_skyblue: { - t: 2, - b: 2, - l: 2, - r: 2 - }, - dhx_web: { - t: 8, - b: 8, - l: 8, - r: 8 - }, - dhx_terrace: { - t: 9, - b: 9, - l: 8, - r: 8 - }, - material: { - t: 9, - b: 9, - l: 8, - r: 8 - } - }; - this.conf.ofs = (g[this.conf.skin] != null ? g[this.conf.skin] : g.dhx_skyblue) - } - } else { - this.base = (typeof(h) == "string" ? document.getElementById(h) : h) - } - this.base.className += " " + this.conf.css + "_base_" + this.conf.skin; - this.cont = document.createElement("DIV"); - this.cont.className = this.conf.css + "_cont"; - this.base.appendChild(this.cont); - if (c != null) { - this.setOffsets(c, false) - } else { - if (this.base._ofs != null) { - this.setOffsets(this.base._ofs, false); - this.base._ofs = null; - try { - delete this.base._ofs - } catch (l) {} - } - } - this._adjustCont = function() { - var n = this.conf.ofs.t; - for (var m in this.conf.ofs_nodes.t) { - n += (this.conf.ofs_nodes.t[m] == true ? this.dataNodes[m].offsetHeight : 0) - } - var e = this.conf.ofs.b; - for (var m in this.conf.ofs_nodes.b) { - e += (this.conf.ofs_nodes.b[m] == true ? this.dataNodes[m].offsetHeight : 0) - } - this.cont.style.left = this.conf.ofs.l + "px"; - this.cont.style.width = this.base.clientWidth - this.conf.ofs.l - this.conf.ofs.r + "px"; - this.cont.style.top = n + "px"; - this.cont.style.height = this.base.clientHeight - n - e + "px" - }; - this._setBaseSkin = function(e) { - this.base.className = this.base.className.replace(new RegExp(this.conf.css + "_base_" + this.conf.skin, "gi"), this.conf.css + "_base_" + e) - }; - this._initFSResize = function() { - if (this.conf.fs_resize == true) { - return - } - this._doOnResizeStart = function() { - window.clearTimeout(a.conf.fs_tm); - a.conf.fs_tm = window.setTimeout(a._doOnResizeEnd, 200) - }; - this._doOnResizeEnd = function() { - a.setSizes() - }; - if (typeof(window.addEventListener) == "function") { - window.addEventListener("resize", this._doOnResizeStart, false) - } else { - window.attachEvent("onresize", this._doOnResizeStart) - } - this.conf.fs_resize = true - }; - if (this.conf.fs_mode == true) { - this._initFSResize() - } - this._unloadTop = function() { - this._mtbUnload(); - this.detachHeader(); - this.detachFooter(); - if (this.conf.fs_mode == true) { - if (typeof(window.addEventListener) == "function") { - window.removeEventListener("resize", this._doOnResizeStart, false) - } else { - window.detachEvent("onresize", this._doOnResizeStart) - } - } - this.base.removeChild(this.cont); - var e = new RegExp("s{0,}" + this.conf.css + "_base_" + this.conf.skin, "gi"); - this.base.className = this.base.className.replace(e, ""); - this.cont = this.base = null; - a = null - }; - h = null -} -dhtmlXCellTop.prototype.setOffsets = function(l, h) { - var g = false; - for (var c in l) { - var e = c.charAt(0); - if (typeof(this.conf.ofs[e]) != "undefined" && !isNaN(l[c])) { - this.conf.ofs[e] = parseInt(l[c]); - g = true - } - } - if (h !== false && typeof(this.setSizes) == "function" && g == true) { - this.setSizes() - } -}; -dhtmlXCellTop.prototype.attachMenu = function(a) { - if (this.dataNodes.menu != null) { - return - } - this.dataNodes.menuObj = document.createElement("DIV"); - this.dataNodes.menuObj.className = "dhxcelltop_menu"; - this.base.insertBefore(this.dataNodes.menuObj, this.dataNodes.toolbarObj || this.dataNodes.ribbonObj || this.cont); - if (typeof(a) != "object" || a == null) { - a = {} - } - a.skin = this.conf.skin; - a.parent = this.dataNodes.menuObj; - this.dataNodes.menu = new dhtmlXMenuObject(a); - this.dataNodes.menuEv = this.attachEvent("_onSetSizes", function() { - if (this.dataNodes.menuObj.style.display == "none") { - return - } - if (this.conf.ofs_menu == null) { - this.dataNodes.menuObj.style.width = this.base.offsetWidth - this.conf.ofs.l - this.conf.ofs.r + "px"; - this.conf.ofs_menu = { - w: this.dataNodes.menuObj.offsetWidth - parseInt(this.dataNodes.menuObj.style.width) - } - } - this.dataNodes.menuObj.style.left = this.conf.ofs.l + "px"; - this.dataNodes.menuObj.style.marginTop = (this.dataNodes.haObj != null ? 0 : this.conf.ofs.t) + "px"; - this.dataNodes.menuObj.style.width = this.base.offsetWidth - this.conf.ofs.l - this.conf.ofs.r - this.conf.ofs_menu.w + "px" - }); - this.conf.ofs_nodes.t.menuObj = true; - this.setSizes(); - a.parnt = null; - a = null; - return this.dataNodes.menu -}; -dhtmlXCellTop.prototype.detachMenu = function() { - if (this.dataNodes.menu == null) { - return - } - this.dataNodes.menu.unload(); - this.dataNodes.menu = null; - this.dataNodes.menuObj.parentNode.removeChild(this.dataNodes.menuObj); - this.dataNodes.menuObj = null; - this.detachEvent(this.dataNodes.menuEv); - this.dataNodes.menuEv = null; - delete this.dataNodes.menu; - delete this.dataNodes.menuObj; - delete this.dataNodes.menuEv; - this.conf.ofs_nodes.t.menuObj = false; - if (!this.conf.unloading) { - this.setSizes() - } -}; -dhtmlXCellTop.prototype.attachToolbar = function(a) { - if (!(this.dataNodes.ribbon == null && this.dataNodes.toolbar == null)) { - return - } - this.dataNodes.toolbarObj = document.createElement("DIV"); - this.dataNodes.toolbarObj.className = "dhxcelltop_toolbar"; - this.base.insertBefore(this.dataNodes.toolbarObj, this.cont); - this.dataNodes.toolbarObj.appendChild(document.createElement("DIV")); - if (typeof(a) != "object" || a == null) { - a = {} - } - a.skin = this.conf.skin; - a.parent = this.dataNodes.toolbarObj.firstChild; - this.dataNodes.toolbar = new dhtmlXToolbarObject(a); - this.dataNodes.toolbarEv = this.attachEvent("_onSetSizes", function() { - if (this.dataNodes.toolbarObj.style.display == "none") { - return - } - this.dataNodes.toolbarObj.style.left = this.conf.ofs.l + "px"; - this.dataNodes.toolbarObj.style.marginTop = (this.dataNodes.haObj != null || this.dataNodes.menuObj != null ? 0 : this.conf.ofs.t) + "px"; - this.dataNodes.toolbarObj.style.width = this.base.offsetWidth - this.conf.ofs.l - this.conf.ofs.r + "px" - }); - this.dataNodes.toolbar._masterCell = this; - this.dataNodes.toolbar.attachEvent("_onIconSizeChange", function() { - this._masterCell.setSizes() - }); - this.conf.ofs_nodes.t.toolbarObj = true; - this.setSizes(); - a.parnt = null; - a = null; - return this.dataNodes.toolbar -}; -dhtmlXCellTop.prototype.detachToolbar = function() { - if (this.dataNodes.toolbar == null) { - return - } - this.dataNodes.toolbar._masterCell = null; - this.dataNodes.toolbar.unload(); - this.dataNodes.toolbar = null; - this.dataNodes.toolbarObj.parentNode.removeChild(this.dataNodes.toolbarObj); - this.dataNodes.toolbarObj = null; - this.detachEvent(this.dataNodes.toolbarEv); - this.dataNodes.toolbarEv = null; - this.conf.ofs_nodes.t.toolbarObj = false; - delete this.dataNodes.toolbar; - delete this.dataNodes.toolbarObj; - delete this.dataNodes.toolbarEv; - if (!this.conf.unloading) { - this.setSizes() - } -}; -dhtmlXCellTop.prototype.attachRibbon = function(a) { - if (!(this.dataNodes.ribbon == null && this.dataNodes.toolbar == null)) { - return - } - this.dataNodes.ribbonObj = document.createElement("DIV"); - this.dataNodes.ribbonObj.className = "dhxcelltop_ribbon"; - this.base.insertBefore(this.dataNodes.ribbonObj, this.cont); - this.dataNodes.ribbonObj.appendChild(document.createElement("DIV")); - if (typeof(a) != "object" || a == null) { - a = {} - } - a.skin = this.conf.skin; - a.parent = this.dataNodes.ribbonObj.firstChild; - this.dataNodes.ribbon = new dhtmlXRibbon(a); - this.dataNodes.ribbonEv = this.attachEvent("_onSetSizes", function() { - if (this.dataNodes.ribbonObj.style.display == "none") { - return - } - this.dataNodes.ribbonObj.style.left = this.conf.ofs.l + "px"; - this.dataNodes.ribbonObj.style.marginTop = (this.dataNodes.haObj != null || this.dataNodes.menuObj != null ? 0 : this.conf.ofs.t) + "px"; - this.dataNodes.ribbonObj.style.width = this.base.offsetWidth - this.conf.ofs.l - this.conf.ofs.r + "px"; - this.dataNodes.ribbon.setSizes() - }); - this.conf.ofs_nodes.t.ribbonObj = true; - var c = this; - this.dataNodes.ribbon.attachEvent("_onHeightChanged", function() { - c.setSizes() - }); - this.setSizes(); - a.parnt = null; - a = null; - return this.dataNodes.ribbon -}; -dhtmlXCellTop.prototype.detachRibbon = function() { - if (this.dataNodes.ribbon == null) { - return - } - this.dataNodes.ribbon.unload(); - this.dataNodes.ribbon = null; - this.dataNodes.ribbonObj.parentNode.removeChild(this.dataNodes.ribbonObj); - this.dataNodes.ribbonObj = null; - this.detachEvent(this.dataNodes.ribbonEv); - this.dataNodes.ribbonEv = null; - this.conf.ofs_nodes.t.ribbonObj = false; - delete this.dataNodes.ribbon; - delete this.dataNodes.ribbonObj; - delete this.dataNodes.ribbonEv; - if (!this.conf.unloading) { - this.setSizes() - } -}; -dhtmlXCellTop.prototype.attachStatusBar = function(a) { - if (this.dataNodes.sbObj) { - return - } - if (typeof(a) == "undefined") { - a = {} - } - this.dataNodes.sbObj = document.createElement("DIV"); - this.dataNodes.sbObj.className = "dhxcelltop_statusbar"; - if (this.cont.nextSibling != null) { - this.base.insertBefore(this.dataNodes.sbObj, this.cont.nextSibling) - } else { - this.base.appendChild(this.dataNodes.sbObj) - } - this.dataNodes.sbObj.innerHTML = "
                    " + (typeof(a.text) == "string" && a.text.length > 0 ? a.text : " ") + "
                    "; - if (typeof(a.height) == "number") { - this.dataNodes.sbObj.firstChild.style.height = this.dataNodes.sbObj.firstChild.style.lineHeight = a.height + "px" - } - this.dataNodes.sbObj.setText = function(c) { - this.childNodes[0].innerHTML = c - }; - this.dataNodes.sbObj.getText = function() { - return this.childNodes[0].innerHTML - }; - this.dataNodes.sbObj.onselectstart = function(c) { - return false - }; - this.dataNodes.sbEv = this.attachEvent("_onSetSizes", function() { - if (this.dataNodes.sbObj.style.display == "none") { - return - } - this.dataNodes.sbObj.style.left = this.conf.ofs.l + "px"; - this.dataNodes.sbObj.style.bottom = (this.dataNodes.faObj != null ? this.dataNodes.faObj.offsetHeight : 0) + this.conf.ofs.b + "px"; - this.dataNodes.sbObj.style.width = this.base.offsetWidth - this.conf.ofs.l - this.conf.ofs.r + "px" - }); - this.conf.ofs_nodes.b.sbObj = true; - this.setSizes(); - return this.dataNodes.sbObj -}; -dhtmlXCellTop.prototype.detachStatusBar = function() { - if (!this.dataNodes.sbObj) { - return - } - this.dataNodes.sbObj.setText = this.dataNodes.sbObj.getText = this.dataNodes.sbObj.onselectstart = null; - this.dataNodes.sbObj.parentNode.removeChild(this.dataNodes.sbObj); - this.dataNodes.sbObj = null; - this.detachEvent(this.dataNodes.sbEv); - this.dataNodes.sbEv = null; - this.conf.ofs_nodes.b.sbObj = false; - delete this.dataNodes.sb; - delete this.dataNodes.sbObj; - delete this.dataNodes.sbEv; - if (!this.conf.unloading) { - this.setSizes() - } -}; -dhtmlXCellTop.prototype.showMenu = function() { - this._mtbShowHide("menuObj", "") -}; -dhtmlXCellTop.prototype.hideMenu = function() { - this._mtbShowHide("menuObj", "none") -}; -dhtmlXCellTop.prototype.showToolbar = function() { - this._mtbShowHide("toolbarObj", "") -}; -dhtmlXCellTop.prototype.hideToolbar = function() { - this._mtbShowHide("toolbarObj", "none") -}; -dhtmlXCellTop.prototype.showRibbon = function() { - this._mtbShowHide("ribbonObj", "") -}; -dhtmlXCellTop.prototype.hideRibbon = function() { - this._mtbShowHide("ribbonObj", "none") -}; -dhtmlXCellTop.prototype.showStatusBar = function() { - this._mtbShowHide("sbObj", "") -}; -dhtmlXCellTop.prototype.hideStatusBar = function() { - this._mtbShowHide("sbObj", "none") -}; -dhtmlXCellTop.prototype._mtbShowHide = function(c, a) { - if (this.dataNodes[c] == null) { - return - } - this.dataNodes[c].style.display = a; - this.setSizes() -}; -dhtmlXCellTop.prototype._mtbUnload = function(c, a) { - this.detachMenu(); - this.detachToolbar(); - this.detachStatusBar(); - this.detachRibbon() -}; -dhtmlXCellTop.prototype.getAttachedMenu = function() { - return this.dataNodes.menu -}; -dhtmlXCellTop.prototype.getAttachedToolbar = function() { - return this.dataNodes.toolbar -}; -dhtmlXCellTop.prototype.getAttachedRibbon = function() { - return this.dataNodes.ribbon -}; -dhtmlXCellTop.prototype.getAttachedStatusBar = function() { - return this.dataNodes.sbObj -}; -dhtmlXCellTop.prototype.progressOn = function() { - if (this.conf.progress) { - return - } - this.conf.progress = true; - var c = document.createElement("DIV"); - c.className = "dhxcelltop_progress"; - this.base.appendChild(c); - var a = document.createElement("DIV"); - if (this.conf.skin == "material" && (window.dhx4.isFF || window.dhx4.isChrome || window.dhx4.isOpera || window.dhx4.isEdge)) { - a.className = "dhxcelltop_progress_svg"; - a.innerHTML = '' - } else { - var a = document.createElement("DIV"); - a.className = "dhxcelltop_progress_img" - } - this.base.appendChild(a); - c = a = null -}; -dhtmlXCellTop.prototype.progressOff = function() { - if (!this.conf.progress) { - return - } - var g = { - dhxcelltop_progress: true, - dhxcelltop_progress_img: true, - dhxcelltop_progress_svg: true - }; - for (var e = 0; e < this.base.childNodes.length; e++) { - if (typeof(this.base.childNodes[e].className) != "undefined" && g[this.base.childNodes[e].className] == true) { - g[this.base.childNodes[e].className] = this.base.childNodes[e] - } - } - for (var c in g) { - if (g[c] != true) { - this.base.removeChild(g[c]) - } - g[c] = null - } - this.conf.progress = false; - g = null -}; -dhtmlXCellTop.prototype.attachHeader = function(c, a) { - if (this.dataNodes.haObj != null) { - return - } - if (typeof(c) != "object") { - c = document.getElementById(c) - } - this.dataNodes.haObj = document.createElement("DIV"); - this.dataNodes.haObj.className = "dhxcelltop_hdr"; - this.dataNodes.haObj.style.height = (a || c.offsetHeight) + "px"; - this.base.insertBefore(this.dataNodes.haObj, this.dataNodes.menuObj || this.dataNodes.toolbarObj || this.cont); - this.dataNodes.haObj.appendChild(c); - c.style.visibility = "visible"; - c = null; - this.dataNodes.haEv = this.attachEvent("_onSetSizes", function() { - this.dataNodes.haObj.style.left = this.conf.ofs.l + "px"; - this.dataNodes.haObj.style.marginTop = this.conf.ofs.t + "px"; - this.dataNodes.haObj.style.width = this.base.offsetWidth - this.conf.ofs.l - this.conf.ofs.r + "px" - }); - this.conf.ofs_nodes.t.haObj = true; - this.setSizes() -}; -dhtmlXCellTop.prototype.detachHeader = function() { - if (!this.dataNodes.haObj) { - return - } - while (this.dataNodes.haObj.childNodes.length > 0) { - this.dataNodes.haObj.lastChild.style.visibility = "hidden"; - document.body.appendChild(this.dataNodes.haObj.lastChild) - } - this.dataNodes.haObj.parentNode.removeChild(this.dataNodes.haObj); - this.dataNodes.haObj = null; - this.detachEvent(this.dataNodes.haEv); - this.dataNodes.haEv = null; - this.conf.ofs_nodes.t.haObj = false; - delete this.dataNodes.haEv; - delete this.dataNodes.haObj; - if (!this.conf.unloading) { - this.setSizes() - } -}; -dhtmlXCellTop.prototype.attachFooter = function(e, a) { - if (this.dataNodes.faObj != null) { - return - } - if (typeof(e) != "object") { - e = document.getElementById(e) - } - this.dataNodes.faObj = document.createElement("DIV"); - this.dataNodes.faObj.className = "dhxcelltop_ftr"; - this.dataNodes.faObj.style.height = (a || e.offsetHeight) + "px"; - var c = (this.dataNodes.sbObj || this.cont); - if (this.base.lastChild == c) { - this.base.appendChild(this.dataNodes.faObj) - } else { - this.base.insertBefore(this.dataNodes.faObj, c.nextSibling) - } - this.dataNodes.faEv = this.attachEvent("_onSetSizes", function() { - this.dataNodes.faObj.style.left = this.conf.ofs.l + "px"; - this.dataNodes.faObj.style.bottom = this.conf.ofs.b + "px"; - this.dataNodes.faObj.style.width = this.base.offsetWidth - this.conf.ofs.l - this.conf.ofs.r + "px" - }); - this.dataNodes.faObj.appendChild(e); - e.style.visibility = "visible"; - c = e = null; - this.conf.ofs_nodes.b.faObj = true; - this.setSizes() -}; -dhtmlXCellTop.prototype.detachFooter = function() { - if (!this.dataNodes.faObj) { - return - } - while (this.dataNodes.faObj.childNodes.length > 0) { - this.dataNodes.faObj.lastChild.style.visibility = "hidden"; - document.body.appendChild(this.dataNodes.faObj.lastChild) - } - this.dataNodes.faObj.parentNode.removeChild(this.dataNodes.faObj); - this.dataNodes.faObj = null; - this.detachEvent(this.dataNodes.faEv); - this.dataNodes.faEv = null; - this.conf.ofs_nodes.b.faObj = false; - delete this.dataNodes.faEv; - delete this.dataNodes.faObj; - if (!this.conf.unloading) { - this.setSizes() - } -}; - -function dhtmlXCalendarObject(l, s) { - this.i = {}; - var e = null; - if (typeof(l) == "string") { - var g = document.getElementById(l) - } else { - var g = l - } - if (g && typeof(g) == "object" && g.tagName && String(g.tagName).toLowerCase() != "input") { - e = g - } - g = null; - if (typeof(l) != "object" || !l.length) { - l = [l] - } - for (var c = 0; c < l.length; c++) { - if (typeof(l[c]) == "string") { - l[c] = (document.getElementById(l[c]) || null) - } - if (l[c] != null && l[c].tagName && String(l[c].tagName).toLowerCase() == "input") { - this.i[window.dhx4.newId()] = { - input: l[c] - } - } else { - if (!(l[c] instanceof Array) && l[c] instanceof Object && (l[c].input != null || l[c].button != null)) { - if (l[c].input != null && typeof(l[c].input) == "string") { - l[c].input = document.getElementById(l[c].input) - } - if (l[c].button != null && typeof(l[c].button) == "string") { - l[c].button = document.getElementById(l[c].button) - } - this.i[window.dhx4.newId()] = l[c] - } - } - l[c] = null - } - this.conf = { - skin: (s || window.dhx4.skin || (typeof(dhtmlx) != "undefined" ? dhtmlx.skin : null) || window.dhx4.skinDetect("dhtmlxcalendar") || "material"), - zi: window.dhx4.newId(), - touch: !window.dhx4.isIE, - time: true, - today: false, - ws_first: true - }; - this.setSkin = function(q, a) { - if (this.conf.skin == q && !a) { - return - } - this.conf.skin = q; - this.base.className = "dhtmlxcalendar_" + this.conf.skin; - this._ifrSize() - }; - this.base = document.createElement("DIV"); - this.base.style.display = "none"; - this.base.appendChild(document.createElement("DIV")); - if (e != null) { - this._hasParent = true; - e.appendChild(this.base); - e = null - } else { - document.body.appendChild(this.base) - } - this.setParent = function(a) { - if (this._hasParent) { - if (typeof(a) == "object") { - a.appendChild(this.base) - } else { - if (typeof(a) == "string") { - document.getElementById(a).appendChild(this.base) - } - } - } - }; - this.setSkin(this.conf.skin, true); - this.base.onclick = function(a) { - a = a || event; - if (a.preventDefault) { - a.preventDefault() - } - a.cancelBubble = true - }; - this.base.onmousedown = function() { - return false - }; - if (this.conf.touch) { - this.base.ontouchstart = function(a) { - a = a || event; - a.cancelBubble = true - } - } - this.loadUserLanguage = function(x) { - if (!this.langData[x]) { - return - } - this.lang = x; - this.setWeekStartDay(this.langData[this.lang].weekstart); - this.setDateFormat(this.langData[this.lang].dateformat || "%Y-%m-%d"); - if (this.msCont) { - var v = 0; - for (var u = 0; u < this.msCont.childNodes.length; u++) { - for (var a = 0; a < this.msCont.childNodes[u].childNodes.length; a++) { - this.msCont.childNodes[u].childNodes[a].innerHTML = this.langData[this.lang].monthesSNames[v++] - } - } - } - this.contTime.childNodes[0].childNodes[0].childNodes[5].innerHTML = this.langData[this.lang].today; - this.contTime.childNodes[0].childNodes[0].childNodes[4].innerHTML = this.langData[this.lang].clear - }; - this.contMonth = document.createElement("DIV"); - this.contMonth.className = "dhtmlxcalendar_month_cont"; - this.contMonth.onselectstart = function(a) { - a = a || event; - a.cancelBubble = true; - if (a.preventDefault) { - a.preventDefault() - } else { - a.returnValue = false - } - return false - }; - this.base.firstChild.appendChild(this.contMonth); - var m = document.createElement("UL"); - m.className = "dhtmlxcalendar_line"; - this.contMonth.appendChild(m); - var r = document.createElement("LI"); - r.className = "dhtmlxcalendar_cell dhtmlxcalendar_month_hdr"; - r.innerHTML = "
                    "; - m.appendChild(r); - var h = this; - r.onclick = function(v) { - v = v || event; - if (v.type == "touchstart" && v.preventDefault != null) { - v.preventDefault() - } - var q = (v.target || v.srcElement); - if (q.className && q.className.indexOf("dhtmlxcalendar_month_arrow") === 0) { - h._hideSelector(); - var u = (q.parentNode.firstChild == q ? -1 : 1); - var a = new Date(h._activeMonth); - h._drawMonth(new Date(h._activeMonth.getFullYear(), h._activeMonth.getMonth() + u, 1, 0, 0, 0, 0)); - h._evOnArrowClick([a, new Date(h._activeMonth)]); - return - } - if (q.className && q.className == "dhtmlxcalendar_month_label_month") { - v.cancelBubble = true; - h._showSelector("month", Math.round(q.offsetLeft + q.offsetWidth / 2), q.offsetTop + q.offsetHeight + 2, "selector_month", true); - return - } - if (q.className && q.className == "dhtmlxcalendar_month_label_year") { - v.cancelBubble = true; - h._showSelector("year", Math.round(q.offsetLeft + q.offsetWidth / 2), q.offsetTop + q.offsetHeight + 2, "selector_year", true); - return - } - h._hideSelector() - }; - if (this.conf.touch == true) { - r.ontouchstart = r.onclick - } - this.contDays = document.createElement("DIV"); - this.contDays.className = "dhtmlxcalendar_days_cont"; - this.base.firstChild.appendChild(this.contDays); - this.setWeekStartDay = function(a) { - if (a == 0) { - a = 7 - } - this._wStart = Math.min(Math.max((isNaN(a) ? 1 : a), 1), 7); - this._drawDaysOfWeek() - }; - this._drawDaysOfWeek = function() { - if (this.contDays.childNodes.length == 0) { - var x = document.createElement("UL"); - x.className = "dhtmlxcalendar_line"; - this.contDays.appendChild(x) - } else { - var x = this.contDays.firstChild - } - var u = this._wStart; - var v = this.langData[this.lang].daysSNames; - v.push(String(this.langData[this.lang].daysSNames[0]).valueOf()); - for (var y = 0; y < 8; y++) { - if (x.childNodes[y] == null) { - var a = document.createElement("LI"); - x.appendChild(a) - } else { - var a = x.childNodes[y] - } - if (y == 0) { - a.className = "dhtmlxcalendar_cell_wn"; - a.innerHTML = "
                    " + (this.langData[this.lang].weekname || "w") + "
                    " - } else { - a.className = "dhtmlxcalendar_cell" + (u >= 6 ? " dhtmlxcalendar_day_weekday_cell" : "") + (y == 1 ? "_first" : ""); - a.innerHTML = v[u]; - if (++u > 7) { - u = 1 - } - } - } - if (this._activeMonth != null) { - this._drawMonth(this._activeMonth) - } - }; - this._wStart = this.langData[this.lang].weekstart; - this.setWeekStartDay(this._wStart); - this.contDates = document.createElement("DIV"); - this.contDates.className = "dhtmlxcalendar_dates_cont"; - this.base.firstChild.appendChild(this.contDates); - this.contDates.onclick = function(x) { - x = x || event; - var q = (x.target || x.srcElement); - if (q.parentNode != null && q.parentNode._date != null) { - q = q.parentNode - } - if (q._date != null && !q._css_dis) { - var v = h._activeDate.getHours(); - var u = h._activeDate.getMinutes(); - var w = q._date; - if (h.checkEvent("onBeforeChange")) { - if (!h.callEvent("onBeforeChange", [new Date(q._date.getFullYear(), q._date.getMonth(), q._date.getDate(), v, u)])) { - return - } - } - if (h._activeDateCell != null) { - h._activeDateCell._css_date = false; - h._updateCellStyle(h._activeDateCell._q, h._activeDateCell._w) - } - var a = (h._activeDate.getFullYear() + "_" + h._activeDate.getMonth() != w.getFullYear() + "_" + w.getMonth()); - h._nullDate = false; - h._activeDate = new Date(w.getFullYear(), w.getMonth(), w.getDate(), v, u); - h._activeDateCell = q; - h._activeDateCell._css_date = true; - h._activeDateCell._css_hover = false; - h._updateCellStyle(h._activeDateCell._q, h._activeDateCell._w); - if (a) { - h._drawMonth(h._activeDate) - } - h._updateInp(); - if (!h._hasParent) { - if (x.type == "touchstart") { - window.setTimeout(function() { - h._hide() - }, 400) - } else { - h._hide() - } - } - h._evOnClick([new Date(h._activeDate.getTime())]); - h._doOnSelectorChange(true) - } - }; - if (this.conf.touch == true) { - this.contDates.ontouchstart = this.contDates.onclick - } - this.contDates.onmouseover = function(q) { - q = q || event; - var a = (q.target || q.srcElement); - if (a.parentNode != null && a.parentNode._date != null) { - a = a.parentNode - } - if (a._date != null) { - if (h._lastHover == a || a._css_hover) { - return - } - a._css_hover = true; - h._updateCellStyle(a._q, a._w); - h._lastHover = a; - h._evOnMouseOver([new Date(a._date.getFullYear(), a._date.getMonth(), a._date.getDate(), 0, 0, 0, 0), q]); - a = null - } - }; - this.contDates.onmouseout = function(a) { - h._clearDayHover(a || event) - }; - this._lastHover = null; - this._clearDayHover = function(a) { - if (!this._lastHover) { - return - } - this._lastHover._css_hover = false; - this._updateCellStyle(this._lastHover._q, this._lastHover._w); - if (a != null) { - h._evOnMouseOut([new Date(this._lastHover._date.getFullYear(), this._lastHover._date.getMonth(), this._lastHover._date.getDate(), 0, 0, 0, 0), a]) - } - this._lastHover = null - }; - for (var c = 0; c < 6; c++) { - var m = document.createElement("UL"); - m.className = "dhtmlxcalendar_line"; - this.contDates.appendChild(m); - for (var o = 0; o <= 7; o++) { - var r = document.createElement("LI"); - if (o == 0) { - r.className = "dhtmlxcalendar_cell_wn" - } else { - r.className = "dhtmlxcalendar_cell" - } - m.appendChild(r) - } - } - this.contTime = document.createElement("DIV"); - this.contTime.className = "dhtmlxcalendar_time_cont"; - this.contTime.style.display = "none"; - this.base.firstChild.appendChild(this.contTime); - this.showTime = function() { - if (this.conf.time != true) { - this.conf.time = true; - this._adjustTimeCont() - } - }; - this.hideTime = function() { - if (this.conf.time == true) { - this.conf.time = false; - this._adjustTimeCont() - } - }; - this.showToday = function() { - if (this.conf.today != true) { - this.conf.today = true; - this._adjustTimeCont() - } - }; - this.hideToday = function() { - if (this.conf.today == true) { - this.conf.today = false; - this._adjustTimeCont() - } - }; - this._adjustTimeCont = function() { - var a = ""; - if (this.conf.time == true) { - a += "_time" - } - if (this.conf.today == true) { - a += "_today" - } - if (a == "") { - this.contTime.style.display = "none" - } else { - this.contTime.className = "dhtmlxcalendar_time_cont dhtmlxcalendar_mode" + a; - this.contTime.style.display = "" - } - this._ifrSize() - }; - this._adjustTimeCont(); - var m = document.createElement("UL"); - m.className = "dhtmlxcalendar_line"; - this.contTime.appendChild(m); - var r = document.createElement("LI"); - r.className = "dhtmlxcalendar_cell dhtmlxcalendar_time_hdr"; - r.innerHTML = "
                    :" + this.langData[this.lang].clear + "" + this.langData[this.lang].today + ""; - m.appendChild(r); - r.onclick = function(u) { - u = u || event; - if (u.type == "touchstart" && u.preventDefault != null) { - u.preventDefault() - } - var a = (u.target || u.srcElement); - if (a.tagName != null && a.tagName.toLowerCase() == "span" && a._par == true && a.parentNode != null) { - a = a.parentNode - } - if (a.className && a.className == "dhtmlxcalendar_label_hours") { - u.cancelBubble = true; - var q = h.contMonth.offsetHeight + h.contDays.offsetHeight + h.contDates.offsetHeight + a.offsetTop; - h._showSelector("hours", Math.round(a.offsetLeft + a.offsetWidth / 2), q - 2, "selector_hours", true); - return - } - if (a.className && a.className == "dhtmlxcalendar_label_minutes") { - u.cancelBubble = true; - if (h._minutesInterval == 1) { - var v = h.getFormatedDate("%i"); - a.innerHTML = "" + v.charAt(0) + "" + v.charAt(1); - a.firstChild._par = true; - h._selectorMode = 1 - } - var q = h.contMonth.offsetHeight + h.contDays.offsetHeight + h.contDates.offsetHeight + a.offsetTop; - h._showSelector("minutes", Math.round(a.offsetLeft + a.offsetWidth / 2), q - 2, "selector_minutes", true); - return - } - h._hideSelector(); - if (a.className && a.className == "dhtmlxcalendar_label_today") { - var v = new Date(); - v = new Date(v.getFullYear(), v.getMonth(), v.getDate(), h._activeDate.getHours(), h._activeDate.getMinutes(), h._activeDate.getSeconds(), h._activeDate.getMilliseconds()); - h.setDate(v); - h._updateInp(); - h.callEvent("onButtonClick", [v]) - } - if (a.className && a.className == "dhtmlxcalendar_label_clear") { - h._nullDate = true; - h._drawMonth(new Date()); - h._updateInp(); - h.callEvent("onButtonClick", [null]) - } - }; - if (this.conf.touch == true) { - r.ontouchstart = r.onclick - } - this._activeMonth = null; - this._activeDate = new Date(); - this._activeDateCell = null; - this.setDate = function(q) { - window.dhx4.temp_calendar = { - tz: null - }; - this._nullDate = (typeof(q) == "undefined" || q === "" || !q); - if (!(q instanceof Date)) { - q = this._strToDate(String(q || "")); - if (q == "Invalid Date") { - q = new Date() - } else { - this.conf.tz = window.dhx4.temp_calendar.tz - } - window.dhx4.temp_calendar = null - } - if (this.conf.tz == null) { - this.conf.tz = window.dhx4.date2str(q, "%P") - } - var a = q.getTime(); - if (this._isOutOfRange(a)) { - return - } - this._activeDate = new Date(a); - this._drawMonth(this._nullDate ? new Date() : this._activeDate); - this._updateVisibleHours(); - this._updateVisibleMinutes() - }; - this.getDate = function(u) { - if (this._nullDate) { - return null - } - var a = new Date(this._activeDate.getTime()); - if (u) { - window.dhx4.temp_calendar = { - tz: this.conf.tz - }; - var q = this._dateToStr(a); - window.dhx4.temp_calendar = null; - return q - } - return a - }; - this._drawMonth = function(F) { - if (!(F instanceof Date)) { - return - } - if (isNaN(F.getFullYear())) { - F = new Date(this._activeMonth.getFullYear(), this._activeMonth.getMonth(), 1, 0, 0, 0, 0) - } - this._activeMonth = new Date(F.getFullYear(), F.getMonth(), 1, 0, 0, 0, 0); - this._activeDateCell = null; - var D = new Date(this._activeMonth.getTime()); - var v = D.getDay(); - var J = v - this._wStart; - if (J < 0) { - J = J + 7 - } - D.setDate(D.getDate() - J); - var M = F.getMonth(); - var N = new Date(this._activeDate.getFullYear(), this._activeDate.getMonth(), this._activeDate.getDate(), 0, 0, 0, 0).getTime(); - var A = 0; - for (var u = 0; u < 6; u++) { - var E = this._wStart; - for (var L = 0; L <= 7; L++) { - if (L == 0) { - var K = this.getWeekNumber(new Date(D.getFullYear(), D.getMonth(), D.getDate() + A, 0, 0, 0, 0)); - if (K >= 52 && this.conf.ws_first == true && this._activeMonth.getMonth() == 0) { - var y = this.getWeekNumber(new Date(D.getFullYear(), D.getMonth(), D.getDate() + A + 7, 0, 0, 0, 0)); - if (y < K && y > 1) { - K = 1 - } - } else { - if (K > 52 && this._activeMonth.getMonth() == 11) { - var y = this.getWeekNumber(new Date(D.getFullYear() + 1, 0, 1)); - if (y == 1) { - K = 1 - } - } - } - this.contDates.childNodes[u].childNodes[L].innerHTML = "
                    " + K + "
                    " - } else { - var a = new Date(D.getFullYear(), D.getMonth(), D.getDate() + A, 0, 0, 0, 0); - if (a.getHours() != 0) { - var C = (a.getHours() > 12 ? 24 - a.getHours() : a.getHours()); - a.setTime(a.getTime() + 60 * 60 * 1000 * C) - } - var I = a.getDay(); - var x = a.getTime(); - var H = "dhtmlxcalendar_label"; - if (this._tipData[x] != null) { - if (this._tipData[x].usePopup && typeof(window.dhtmlXPopup) == "function") { - this.contDates.childNodes[u].childNodes[L].removeAttribute("title"); - this._initTooltipPopup() - } else { - this.contDates.childNodes[u].childNodes[L].setAttribute("title", this._tipData[x].text) - } - if (this._tipData[x].showIcon) { - H += " dhtmlxcalendar_label_title" - } - } else { - this.contDates.childNodes[u].childNodes[L].removeAttribute("title") - } - this.contDates.childNodes[u].childNodes[L].innerHTML = "
                    " + a.getDate() + "
                    "; - this.contDates.childNodes[u].childNodes[L]._date = new Date(x); - this.contDates.childNodes[u].childNodes[L]._q = u; - this.contDates.childNodes[u].childNodes[L]._w = L; - this.contDates.childNodes[u].childNodes[L]._css_month = (a.getMonth() == M); - this.contDates.childNodes[u].childNodes[L]._css_date = (!this._nullDate && x == N); - this.contDates.childNodes[u].childNodes[L]._css_weekend = (E >= 6); - this.contDates.childNodes[u].childNodes[L]._css_dis = this._isOutOfRange(x); - this.contDates.childNodes[u].childNodes[L]._css_holiday = (this._holidays[x] == true); - this._updateCellStyle(u, L); - if (x == N) { - this._activeDateCell = this.contDates.childNodes[u].childNodes[L] - } - if (++E > 7) { - E = 1 - } - A++ - } - } - } - this.contMonth.firstChild.firstChild.childNodes[1].innerHTML = this._buildMonthHdr(F) - }; - this._updateCellStyle = function(x, a) { - var v = this.contDates.childNodes[x].childNodes[a]; - var u = "dhtmlxcalendar_cell dhtmlxcalendar_cell"; - u += (v._css_month ? "_month" : ""); - u += (v._css_date ? "_date" : ""); - u += (v._css_weekend ? "_weekend" : ""); - u += (v._css_holiday ? "_holiday" : ""); - u += (v._css_dis ? "_dis" : ""); - u += (v._css_hover && !v._css_dis ? "_hover" : ""); - v.className = u; - v = null - }; - this._minutesInterval = 5; - this._initSelector = function(D, x) { - if (!this._selCover) { - this._selCover = document.createElement("DIV"); - this._selCover.className = "dhtmlxcalendar_selector_cover"; - this.base.firstChild.appendChild(this._selCover) - } - if (!this._sel) { - this._sel = document.createElement("DIV"); - this._sel.className = "dhtmlxcalendar_selector_obj"; - this.base.firstChild.appendChild(this._sel); - this._sel.appendChild(document.createElement("TABLE")); - this._sel.firstChild.className = "dhtmlxcalendar_selector_table"; - this._sel.firstChild.cellSpacing = 0; - this._sel.firstChild.cellPadding = 0; - this._sel.firstChild.border = 0; - this._sel.firstChild.appendChild(document.createElement("TBODY")); - this._sel.firstChild.firstChild.appendChild(document.createElement("TR")); - this._sel.firstChild.firstChild.firstChild.appendChild(document.createElement("TD")); - this._sel.firstChild.firstChild.firstChild.appendChild(document.createElement("TD")); - this._sel.firstChild.firstChild.firstChild.appendChild(document.createElement("TD")); - this._sel.firstChild.firstChild.firstChild.childNodes[0].className = "dhtmlxcalendar_selector_cell_left"; - this._sel.firstChild.firstChild.firstChild.childNodes[1].className = "dhtmlxcalendar_selector_cell_middle"; - this._sel.firstChild.firstChild.firstChild.childNodes[2].className = "dhtmlxcalendar_selector_cell_right"; - this._sel.firstChild.firstChild.firstChild.childNodes[0].innerHTML = " "; - this._sel.firstChild.firstChild.firstChild.childNodes[2].innerHTML = " "; - this._sel.firstChild.firstChild.firstChild.childNodes[0].onmouseover = function() { - this.className = "dhtmlxcalendar_selector_cell_left dhtmlxcalendar_selector_cell_left_hover" - }; - this._sel.firstChild.firstChild.firstChild.childNodes[0].onmouseout = function() { - this.className = "dhtmlxcalendar_selector_cell_left" - }; - this._sel.firstChild.firstChild.firstChild.childNodes[2].onmouseover = function() { - this.className = "dhtmlxcalendar_selector_cell_right dhtmlxcalendar_selector_cell_right_hover" - }; - this._sel.firstChild.firstChild.firstChild.childNodes[2].onmouseout = function() { - this.className = "dhtmlxcalendar_selector_cell_right" - }; - this._sel.onmouseover = function(w) { - w = w || event; - var q = (w.target || w.srcElement); - if (q._cell === true) { - if (h._selHover != q) { - h._clearSelHover() - } - if (String(q.className).match(/^\s{0,}dhtmlxcalendar_selector_cell\s{0,}$/gi) != null) { - q.className += " dhtmlxcalendar_selector_cell_hover"; - h._selHover = q - } - } - }; - this._sel.onmouseout = function() { - h._clearSelHover() - }; - this._sel.firstChild.firstChild.firstChild.childNodes[0].onclick = function(q) { - q = q || event; - if (q.type == "touchstart" && q.preventDefault != null) { - q.preventDefault() - } - q.cancelBubble = true; - h._scrollYears(-1) - }; - this._sel.firstChild.firstChild.firstChild.childNodes[2].onclick = function(q) { - q = q || event; - if (q.type == "touchstart" && q.preventDefault != null) { - q.preventDefault() - } - q.cancelBubble = true; - h._scrollYears(1) - }; - if (this.conf.touch == true) { - this._sel.firstChild.firstChild.firstChild.childNodes[0].ontouchstart = this._sel.firstChild.firstChild.firstChild.childNodes[0].onclick; - this._sel.firstChild.firstChild.firstChild.childNodes[2].ontouchstart = this._sel.firstChild.firstChild.firstChild.childNodes[2].onclick - } - this._sel._ta = {}; - this._selHover = null; - this._sel.appendChild(document.createElement("DIV")); - this._sel.lastChild.className = "dhtmlxcalendar_selector_obj_arrow" - } - if (this._sel._ta[D] == true) { - return - } - if (D == "month") { - this._msCells = {}; - this.msCont = document.createElement("DIV"); - this.msCont.className = "dhtmlxcalendar_area_" + x; - this._sel.firstChild.firstChild.firstChild.childNodes[1].appendChild(this.msCont); - var u = 0; - for (var a = 0; a < 4; a++) { - var C = document.createElement("UL"); - C.className = "dhtmlxcalendar_selector_line"; - this.msCont.appendChild(C); - for (var E = 0; E < 3; E++) { - var F = document.createElement("LI"); - F.innerHTML = this.langData[this.lang].monthesSNames[u]; - F.className = "dhtmlxcalendar_selector_cell"; - C.appendChild(F); - F._month = u; - F._cell = true; - this._msCells[u++] = F - } - } - this.msCont.onclick = function(w) { - w = w || event; - if (w.type == "touchstart" && w.preventDefault != null) { - w.preventDefault() - } - w.cancelBubble = true; - var q = (w.target || w.srcElement); - if (q._month != null) { - h._hideSelector(); - h._updateActiveMonth(); - h._drawMonth(new Date(h._activeMonth.getFullYear(), q._month, 1, 0, 0, 0, 0)); - h._doOnSelectorChange() - } - }; - if (this.conf.touch == true) { - this.msCont.ontouchstart = this.msCont.onclick - } - } - if (D == "year") { - this._ysCells = {}; - this.ysCont = document.createElement("DIV"); - this.ysCont.className = "dhtmlxcalendar_area_" + x; - this._sel.firstChild.firstChild.firstChild.childNodes[1].appendChild(this.ysCont); - for (var a = 0; a < 4; a++) { - var C = document.createElement("UL"); - C.className = "dhtmlxcalendar_selector_line"; - this.ysCont.appendChild(C); - for (var E = 0; E < 3; E++) { - var F = document.createElement("LI"); - F.className = "dhtmlxcalendar_selector_cell"; - F._cell = true; - C.appendChild(F) - } - } - this.ysCont.onclick = function(w) { - w = w || event; - if (w.type == "touchstart" && w.preventDefault != null) { - w.preventDefault() - } - w.cancelBubble = true; - var q = (w.target || w.srcElement); - if (q._year != null) { - h._hideSelector(); - h._drawMonth(new Date(q._year, h._activeMonth.getMonth(), 1, 0, 0, 0, 0)); - h._doOnSelectorChange() - } - }; - if (this.conf.touch == true) { - this.ysCont.ontouchstart = this.ysCont.onclick - } - } - if (D == "hours") { - this._hsCells = {}; - this.hsCont = document.createElement("DIV"); - this.hsCont.className = "dhtmlxcalendar_area_" + x; - this._sel.firstChild.firstChild.firstChild.childNodes[1].appendChild(this.hsCont); - var u = 0; - for (var a = 0; a < 4; a++) { - var C = document.createElement("UL"); - C.className = "dhtmlxcalendar_selector_line"; - this.hsCont.appendChild(C); - for (var E = 0; E < 6; E++) { - var F = document.createElement("LI"); - F.innerHTML = this._fixLength(u, 2); - F.className = "dhtmlxcalendar_selector_cell"; - C.appendChild(F); - F._hours = u; - F._cell = true; - this._hsCells[u++] = F - } - } - this.hsCont.onclick = function(w) { - w = w || event; - if (w.type == "touchstart" && w.preventDefault != null) { - w.preventDefault() - } - w.cancelBubble = true; - var q = (w.target || w.srcElement); - if (q._hours != null) { - h._hideSelector(); - h._activeDate.setHours(q._hours); - h._updateActiveHours(); - h._updateVisibleHours(); - h._doOnSelectorChange(); - h.callEvent("onTimeChange", [new Date(h._activeDate.getTime())]) - } - }; - if (this.conf.touch == true) { - this.hsCont.ontouchstart = this.hsCont.onclick - } - } - if (D == "minutes") { - var A = 4; - var v = 3; - var y = 2; - if (this._minutesInterval == 1) { - if (this._selectorMode == 1) { - A = 2; - v = 3; - y = 1 - } else { - A = 2; - v = 5; - y = 1; - x += "5" - } - } - if (this._minutesInterval == 10) { - A = 2 - } - if (this._minutesInterval == 15) { - A = 1; - v = 4; - x += "4" - } - this._rsCells = {}; - this.rsCont = document.createElement("DIV"); - this.rsCont.className = "dhtmlxcalendar_area_" + x; - this._sel.firstChild.firstChild.firstChild.childNodes[1].appendChild(this.rsCont); - var u = 0; - for (var a = 0; a < A; a++) { - var C = document.createElement("UL"); - C.className = "dhtmlxcalendar_selector_line"; - this.rsCont.appendChild(C); - for (var E = 0; E < v; E++) { - var F = document.createElement("LI"); - F.innerHTML = (y > 1 ? this._fixLength(u, y) : u); - F.className = "dhtmlxcalendar_selector_cell"; - C.appendChild(F); - F._minutes = u; - F._cell = true; - this._rsCells[u] = F; - u += this._minutesInterval - } - } - this.rsCont.onclick = function(H) { - H = H || event; - if (H.type == "touchstart" && H.preventDefault != null) { - H.preventDefault() - } - H.cancelBubble = true; - var w = (H.target || H.srcElement); - if (w._minutes != null) { - if (h._minutesInterval == 1) { - var q = h.getFormatedDate("%i"); - if (h._selectorMode == 1) { - q = w._minutes.toString() + q.charAt(1) - } else { - q = q.charAt(0) + w._minutes.toString() - } - h._activeDate.setMinutes(Number(q)); - h.callEvent("onTimeChange", [new Date(h._activeDate.getTime())]); - h._hideSelector(); - if (h._selectorMode == 1) { - h._updateVisibleMinutes(true); - h._selectorMode = 2; - h._showSelector("minutes", h._sel._x, h._sel._y, "selector_minutes", true); - h._updateActiveMinutes(); - return - } else { - h._selectorMode = 1 - } - } else { - h._hideSelector(); - h._activeDate.setMinutes(w._minutes); - h._updateActiveMinutes(); - h.callEvent("onTimeChange", [new Date(h._activeDate.getTime())]) - } - h._updateVisibleMinutes(); - h._doOnSelectorChange() - } - }; - if (this.conf.touch == true) { - this.rsCont.ontouchstart = this.rsCont.onclick - } - } - this._sel._ta[D] = true - }; - this._showSelector = function(w, q, A, v, a) { - if (a === true && this._sel != null && this._isSelectorVisible() && w == this._sel._t) { - this._hideSelector(); - return - } - if (this.conf.skin == "dhx_terrace") { - q += 12 - } - if (!this._sel || !this._sel._ta[w]) { - this._initSelector(w, v) - } - if (w != this._sel._t && this._sel._t == "minutes" && this._minutesInterval == 1) { - this.contTime.firstChild.firstChild.childNodes[3].innerHTML = this.getFormatedDate("%i") - } - this._sel._x = q; - this._sel._y = A; - this._sel.style.visibility = "hidden"; - this._sel.style.display = ""; - this._selCover.style.width = this.base.offsetWidth - 2 + "px"; - this._selCover.style.top = this.contMonth.offsetHeight + "px"; - this._selCover.style.height = this.contDates.offsetHeight + this.contDays.offsetHeight - 1 + "px"; - this._selCover.style.display = ""; - this._sel._t = w; - this._sel.className = "dhtmlxcalendar_selector_obj dhtmlxcalendar_" + v + (w == "hours" && this.conf.today == true ? "2" : ""); - this._sel.childNodes[0].firstChild.firstChild.childNodes[0].style.display = this._sel.childNodes[0].firstChild.firstChild.childNodes[2].style.display = (w == "year" ? "" : "none"); - var u = Math.max(0, q - Math.round(this._sel.offsetWidth / 2)); - if (u + this._sel.offsetWidth > this._sel.parentNode.offsetWidth) { - u = this._sel.parentNode.offsetWidth - this._sel.offsetWidth - } - this._sel.style.left = u + "px"; - if (w == "hours" || w == "minutes") { - this._sel.style.top = A - this._sel.offsetHeight + "px" - } else { - this._sel.style.top = A + "px" - } - this._sel.childNodes[1].style.width = this._sel.childNodes[0].offsetWidth + "px"; - this._sel.style.visibility = "visible"; - this._doOnSelectorShow(w) - }; - this._doOnSelectorShow = function(a) { - if (a == "month") { - this._updateActiveMonth() - } - if (a == "year") { - this._updateYearsList(this._activeMonth) - } - if (a == "hours") { - this._updateActiveHours() - } - if (a == "minutes") { - this._updateActiveMinutes() - } - }; - this._hideSelector = function(a) { - if (!this._sel) { - return - } - this._sel.style.display = "none"; - this._sel.style.visible = "hidden"; - this._selCover.style.display = "none"; - if (this._sel._t == "minutes" && this._minutesInterval == 1) { - this.contTime.firstChild.firstChild.childNodes[3].innerHTML = this.getFormatedDate("%i"); - this._unloadSelector("minutes") - } - }; - this._isSelectorVisible = function() { - if (!this._sel) { - return false - } - return (this._sel.style.display != "none") - }; - this._doOnSelectorChange = function(a) { - this.callEvent("onChange", [new Date(this._activeMonth.getFullYear(), this._activeMonth.getMonth(), this._activeDate.getDate(), this._activeDate.getHours(), this._activeDate.getMinutes(), this._activeDate.getSeconds()), a === true]) - }; - this._clearSelHover = function() { - if (!this._selHover) { - return - } - this._selHover.className = String(this._selHover.className.replace(/dhtmlxcalendar_selector_cell_hover/gi, "")); - this._selHover = null - }; - this._unloadSelector = function(u) { - if (!this._sel) { - return - } - if (!this._sel._ta[u]) { - return - } - if (u == "month") { - this.msCont.onclick = this.msCont.ontouchstart = null; - this._msActive = null; - for (var q in this._msCells) { - this._msCells[q]._cell = null; - this._msCells[q]._month = null; - this._msCells[q].parentNode.removeChild(this._msCells[q]); - this._msCells[q] = null - } - this._msCells = null; - while (this.msCont.childNodes.length > 0) { - this.msCont.removeChild(this.msCont.lastChild) - } - this.msCont.parentNode.removeChild(this.msCont); - this.msCont = null - } - if (u == "year") { - this.ysCont.onclick = this.ysCont.ontouchstart = null; - for (var q in this._ysCells) { - this._ysCells[q]._cell = null; - this._ysCells[q]._year = null; - this._ysCells[q].parentNode.removeChild(this._ysCells[q]); - this._ysCells[q] = null - } - this._ysCells = null; - while (this.ysCont.childNodes.length > 0) { - this.ysCont.removeChild(this.ysCont.lastChild) - } - this.ysCont.parentNode.removeChild(this.ysCont); - this.ysCont = null - } - if (u == "hours") { - this.hsCont.onclick = this.hsCont.ontouchstart = null; - this._hsActive = null; - for (var q in this._hsCells) { - this._hsCells[q]._cell = null; - this._hsCells[q]._hours = null; - this._hsCells[q].parentNode.removeChild(this._hsCells[q]); - this._hsCells[q] = null - } - this._hsCells = null; - while (this.hsCont.childNodes.length > 0) { - this.hsCont.removeChild(this.hsCont.lastChild) - } - this.hsCont.parentNode.removeChild(this.hsCont); - this.hsCont = null - } - if (u == "minutes") { - this.rsCont.onclick = this.rsCont.ontouchstart = null; - this._rsActive = null; - for (var q in this._rsCells) { - this._rsCells[q]._cell = null; - this._rsCells[q]._minutes = null; - this._rsCells[q].parentNode.removeChild(this._rsCells[q]); - this._rsCells[q] = null - } - this._rsCells = null; - while (this.rsCont.childNodes.length > 0) { - this.rsCont.removeChild(this.rsCont.lastChild) - } - this.rsCont.parentNode.removeChild(this.rsCont); - this.rsCont = null - } - this._sel._ta[u] = null - }; - this.setMinutesInterval = function(a) { - if (!(a == 1 || a == 5 || a == 10 || a == 15)) { - return - } - this._minutesInterval = a; - this._unloadSelector("minutes") - }; - this._updateActiveMonth = function() { - if (typeof(this._msActive) != "undefined" && typeof(this._msCells[this._msActive]) != "undefined") { - this._msCells[this._msActive].className = "dhtmlxcalendar_selector_cell" - } - this._msActive = this._activeMonth.getMonth(); - this._msCells[this._msActive].className = "dhtmlxcalendar_selector_cell dhtmlxcalendar_selector_cell_active" - }; - this._updateActiveYear = function() { - var a = this._activeMonth.getFullYear(); - if (this._ysCells[a]) { - this._ysCells[a].className = "dhtmlxcalendar_selector_cell dhtmlxcalendar_selector_cell_active" - } - }; - this._updateYearsList = function(A) { - for (var v in this._ysCells) { - this._ysCells[v] = null; - delete this._ysCells[v] - } - var x = 12 * Math.floor(A.getFullYear() / 12); - for (var y = 0; y < 4; y++) { - for (var u = 0; u < 3; u++) { - this.ysCont.childNodes[y].childNodes[u].innerHTML = x; - this.ysCont.childNodes[y].childNodes[u]._year = x; - this.ysCont.childNodes[y].childNodes[u].className = "dhtmlxcalendar_selector_cell"; - this._ysCells[x++] = this.ysCont.childNodes[y].childNodes[u] - } - } - this._updateActiveYear() - }; - this._scrollYears = function(a) { - var u = (a < 0 ? this.ysCont.firstChild.firstChild._year : this.ysCont.lastChild.lastChild._year) + a; - var q = new Date(u, this._activeMonth.getMonth(), 1, 0, 0, 0, 0); - this._updateYearsList(q) - }; - this._updateActiveHours = function() { - if (typeof(this._hsActive) != "undefined" && typeof(this._hsCells[this._hsActive]) != "undefined") { - this._hsCells[this._hsActive].className = "dhtmlxcalendar_selector_cell" - } - this._hsActive = this._activeDate.getHours(); - this._hsCells[this._hsActive].className = "dhtmlxcalendar_selector_cell dhtmlxcalendar_selector_cell_active" - }; - this._updateVisibleHours = function() { - this.contTime.firstChild.firstChild.childNodes[1].innerHTML = this._fixLength(this._activeDate.getHours(), 2) - }; - this._updateActiveMinutes = function() { - if (this._rsActive != null && typeof(this._rsActive) != "undefined" && typeof(this._rsCells[this._rsActive]) != "undefined") { - this._rsCells[this._rsActive].className = "dhtmlxcalendar_selector_cell" - } - if (this._minutesInterval == 1) { - this._rsActive = (this.getFormatedDate("%i").toString()).charAt(this._selectorMode == 1 ? 0 : 1) - } else { - this._rsActive = this._activeDate.getMinutes() - } - if (typeof(this._rsCells[this._rsActive]) != "undefined") { - this._rsCells[this._rsActive].className = "dhtmlxcalendar_selector_cell dhtmlxcalendar_selector_cell_active" - } - }; - this._updateVisibleMinutes = function(q) { - var a = this._fixLength(this._activeDate.getMinutes(), 2).toString(); - if (q == true) { - a = a.charAt(0) + "" + a.charAt(1) + "" - } - this.contTime.firstChild.firstChild.childNodes[3].innerHTML = a; - if (q == true) { - this.contTime.firstChild.firstChild.childNodes[3].lastChild._par = true - } - }; - this._fixLength = function(a, q) { - while (String(a).length < q) { - a = "0" + String(a) - } - return a - }; - this._dateFormat = ""; - this._dateFormatRE = null; - this.setDateFormat = function(w) { - var v = {}; - if (this._strToDate != null) { - for (var q in this.i) { - if (this.i[q].input != null && this.i[q].input.value.length > 0) { - var x = this._strToDate(this.i[q].input.value, this._dateFormat || this.langData[this.lang].dateformat || "%Y-%m-%d"); - if (x instanceof Date) { - v[q] = x - } - } - } - } - this._dateFormat = w; - var u = String(this._dateFormat).replace(/%[a-zA-Z]+/g, function(a) { - var y = a.replace(/%/, ""); - switch (y) { - case "n": - case "h": - case "j": - case "g": - case "G": - return "\\d{1,2}"; - case "m": - case "d": - case "H": - case "i": - case "s": - case "y": - return "\\d{2}"; - case "Y": - return "\\d{4}"; - case "M": - return "(" + h.langData[h.lang].monthesSNames.join("|").toLowerCase() + "){1,}"; - case "F": - return "(" + h.langData[h.lang].monthesFNames.join("|").toLowerCase() + "){1,}"; - case "D": - return "[a-z]{2}"; - case "a": - case "A": - return "AM|PM"; - case "u": - return "\\d{1,6}"; - case "P": - return "[\\+\\-]\\d{1,2}\\:\\d{1,2}" - } - return a - }); - this._dateFormatRE = new RegExp(u, "i"); - for (var q in v) { - this.i[q].input.value = this._dateToStr(v[q]) - } - v = null - }; - this.setDateFormat(this.langData[this.lang].dateformat || "%Y-%m-%d"); - this._updateDateStr = function(q) { - var a; - if (!q) { - a = new Date() - } else { - if (!this._dateFormatRE || !q.match(this._dateFormatRE)) { - return - } - if (q == this.getFormatedDate()) { - return - } - a = this._strToDate(q) - } - if (!(a instanceof Date)) { - return - } - if (this.checkEvent("onBeforeChange")) { - if (!this.callEvent("onBeforeChange", [new Date(a.getFullYear(), a.getMonth(), a.getDate(), a.getHours(), a.getMinutes(), a.getSeconds())])) { - this._updateInp(); - return - } - } - this._nullDate = false; - this._activeDate = a; - this._drawMonth(this._nullDate ? new Date() : this._activeDate); - this._updateVisibleMinutes(); - this._updateVisibleHours(); - if (this._sel && this._isSelectorVisible()) { - this._doOnSelectorShow(this._sel._t) - } - this._doOnSelectorChange(true) - }; - this.showMonth = function(a) { - if (typeof(a) == "string") { - a = this._strToDate(a) - } - if (!(a instanceof Date)) { - return - } - this._drawMonth(a) - }; - this.setFormatedDate = function(w, x, q, v) { - var u = this._strToDate(x, w); - if (v) { - return u - } - this.setDate(u) - }; - this.getFormatedDate = function(q, a) { - if (!(a && a instanceof Date)) { - if (this._nullDate) { - return "" - } - a = new Date(this._activeDate) - } - return this._dateToStr(a, q) - }; - this.getWeekNumber = function(u) { - if (typeof(u) == "string") { - u = this._strToDate(u) - } - if (!(u instanceof Date)) { - return "Invalid Date" - } - var q = u.getDay(); - if (q === 0) { - q = 7 - } - var v = new Date(u.valueOf()); - v.setDate(u.getDate() + (4 - q)); - var a = v.getFullYear(); - var w = Math.round((v.getTime() - new Date(a, 0, 1).getTime()) / 86400000); - return 1 + Math.floor(w / 7) - }; - this.showWeekNumbers = function() { - this.base.firstChild.className = "dhtmlxcalendar_wn" - }; - this.hideWeekNumbers = function() { - this.base.firstChild.className = "" - }; - this.show = function(v) { - if (!v && this._hasParent) { - this._show(); - return - } - if (typeof(v) == "string") { - var u = document.getElementById(v); - if (u != null && typeof(u._dhtmlxcalendar_uid) != "undefined" && this.i[u._dhtmlxcalendar_uid] != null) { - this._show(u._dhtmlxcalendar_uid); - return - } - } - if (typeof(v) == "object" && typeof(v._dhtmlxcalendar_uid) != "undefined" && this.i[v._dhtmlxcalendar_uid] == v) { - this._show(v._dhtmlxcalendar_uid); - return - } - if (typeof(v) == "undefined") { - for (var q in this.i) { - if (!v) { - v = q - } - } - } - if (!v) { - return - } - this._show(v) - }; - this.hide = function() { - if (this._isVisible()) { - this._hide() - } - }; - this.isVisible = function() { - return this._isVisible() - }; - this._activeInp = null; - this.pos = "bottom"; - this.setPosition = function(a, q) { - this._px = null; - this._py = null; - if (a == "right" || a == "bottom") { - this.pos = a - } else { - this.pos = "int"; - if (typeof(a) != "undefined" && !isNaN(a)) { - this.base.style.left = a + "px"; - this._px = a - } - if (typeof(q) != "undefined" && !isNaN(q)) { - this.base.style.top = q + "px"; - this._py = q - } - this._ifrSize() - } - }; - this._show = function(A, q) { - if (q === true && this._activeInp == A && this._isVisible()) { - this._hide(); - return - } - this.base.style.visibility = "hidden"; - this.base.style.display = ""; - if (!A) { - if (this._px != null && this._py != null) { - this.base.style.left = this._px + "px"; - this.base.style.top = this._py + "px" - } else { - this.base.style.left = "0px"; - this.base.style.top = "0px" - } - } else { - if (this.base.className.indexOf("dhtmlxcalendar_in_input") == -1) { - this.base.className += " dhtmlxcalendar_in_input" - } - var u = (this.i[A].input || this.i[A].button); - var C = window.dhx4.screenDim(); - var y = { - top: window.dhx4.absTop(u), - left: window.dhx4.absLeft(u) - }; - if (this.pos == "right") { - this.base.style.left = y.left + u.offsetWidth + "px"; - this.base.style.top = Math.min(y.top, C.bottom - this.base.offsetHeight) + "px" - } else { - if (this.pos == "bottom") { - var w = y.top + u.offsetHeight + 1; - if (w + this.base.offsetHeight > C.bottom) { - var v = y.top - this.base.offsetHeight; - if (v >= -20) { - w = v - } - } - var a = y.left; - if (a + this.base.offsetWidth > C.right) { - a = Math.max(0, y.left + u.offsetWidth - this.base.offsetWidth) - } - this.base.style.left = a + "px"; - this.base.style.top = w + "px" - } else { - this.base.style.left = (this._px || 0) + "px"; - this.base.style.top = (this._py || 0) + "px" - } - } - this._activeInp = A; - u = null - } - this._hideSelector(); - this.base.style.visibility = "visible"; - this.base.style.zIndex = window.dhx4.zim.reserve(this.conf.zi); - this._ifrSize(); - if (this._ifr) { - this._ifr.style.display = "" - } - this.callEvent("onShow", []) - }; - this._hide = function() { - if (this._lastHover != null) { - this._clearDayHover() - } - this._hideSelector(); - this.base.style.display = "none"; - window.dhx4.zim.clear(this.conf.zi); - if (this.base.className.indexOf("dhtmlxcalendar_in_input") >= 0) { - this.base.className = this.base.className.replace(/\s{0,}dhtmlxcalendar_in_input/gi, "") - } - this._activeInp = null; - if (this._ifr) { - this._ifr.style.display = "none" - } - this.callEvent("onHide", []) - }; - this._isVisible = function() { - return (this.base.style.display != "none") - }; - this._rangeActive = false; - this._rangeFrom = null; - this._rangeTo = null; - this._rangeSet = {}; - this.setInsensitiveDays = function(v) { - var a = this._extractDates(v); - for (var u = 0; u < a.length; u++) { - this._rangeSet[new Date(a[u].getFullYear(), a[u].getMonth(), a[u].getDate(), 0, 0, 0, 0).getTime()] = true - } - this._drawMonth(this._activeMonth) - }; - this.clearInsensitiveDays = function() { - this._clearRangeSet(); - this._drawMonth(this._activeMonth) - }; - this._holidays = {}; - this.setHolidays = function(u) { - if (u == null) { - this._clearHolidays() - } else { - if (u != null) { - var a = this._extractDates(u); - for (var v = 0; v < a.length; v++) { - this._holidays[new Date(a[v].getFullYear(), a[v].getMonth(), a[v].getDate(), 0, 0, 0, 0).getTime()] = true - } - } - } - this._drawMonth(this._activeMonth) - }; - this._extractDates = function(v) { - if (typeof(v) == "string" || v instanceof Date) { - v = [v] - } - var u = []; - for (var x = 0; x < v.length; x++) { - if (typeof(v[x]) == "string") { - var y = v[x].split(","); - for (var a = 0; a < y.length; a++) { - u.push(this._strToDate(y[a])) - } - } else { - if (v[x] instanceof Date) { - u.push(v[x]) - } - } - } - return u - }; - this._clearRange = function() { - this._rangeActive = false; - this._rangeType = null; - this._rangeFrom = null; - this._rangeTo = null - }; - this._clearRangeSet = function() { - for (var q in this._rangeSet) { - this._rangeSet[q] = null; - delete this._rangeSet[q] - } - }; - this._clearHolidays = function() { - for (var q in this._holidays) { - this._holidays[q] = null; - delete this._holidays[q] - } - }; - this._isOutOfRange = function(q) { - if (this._rangeSet[q] == true) { - return true - } - if (this._rangeActive) { - if (this._rangeType == "in" && (q < this._rangeFrom || q > this._rangeTo)) { - return true - } - if (this._rangeType == "out" && (q >= this._rangeFrom && q <= this._rangeTo)) { - return true - } - if (this._rangeType == "from" && q < this._rangeFrom) { - return true - } - if (this._rangeType == "to" && q > this._rangeTo) { - return true - } - } - var a = new Date(q); - if (this._rangeWeek) { - if (this._rangeWeekData[a.getDay()] === true) { - return true - } - } - if (this._rangeMonth) { - if (this._rangeMonthData[a.getDate()] === true) { - return true - } - } - if (this._rangeYear) { - if (this._rangeYearData[a.getMonth() + "_" + a.getDate()] === true) { - return true - } - } - return false - }; - this.clearSensitiveRange = function() { - this._clearRange(); - this._drawMonth(this._activeMonth) - }; - this.setSensitiveRange = function(v, u, a) { - var q = false; - if (v != null && u != null) { - if (!(v instanceof Date)) { - v = this._strToDate(v) - } - if (!(u instanceof Date)) { - u = this._strToDate(u) - } - if (v.getTime() > u.getTime()) { - return - } - this._rangeFrom = new Date(v.getFullYear(), v.getMonth(), v.getDate(), 0, 0, 0, 0).getTime(); - this._rangeTo = new Date(u.getFullYear(), u.getMonth(), u.getDate(), 0, 0, 0, 0).getTime(); - this._rangeActive = true; - this._rangeType = "in"; - q = true - } - if (!q && v != null && u == null) { - if (!(v instanceof Date)) { - v = this._strToDate(v) - } - this._rangeFrom = new Date(v.getFullYear(), v.getMonth(), v.getDate(), 0, 0, 0, 0).getTime(); - this._rangeTo = null; - if (a === true) { - this._rangeFrom++ - } - this._rangeActive = true; - this._rangeType = "from"; - q = true - } - if (!q && v == null && u != null) { - if (!(u instanceof Date)) { - u = this._strToDate(u) - } - this._rangeFrom = null; - this._rangeTo = new Date(u.getFullYear(), u.getMonth(), u.getDate(), 0, 0, 0, 0).getTime(); - if (a === true) { - this._rangeTo-- - } - this._rangeActive = true; - this._rangeType = "to"; - q = true - } - if (q) { - this._drawMonth(this._activeMonth) - } - }; - this.setInsensitiveRange = function(q, a) { - if (q != null && a != null) { - if (!(q instanceof Date)) { - q = this._strToDate(q) - } - if (!(a instanceof Date)) { - a = this._strToDate(a) - } - if (q.getTime() > a.getTime()) { - return - } - this._rangeFrom = new Date(q.getFullYear(), q.getMonth(), q.getDate(), 0, 0, 0, 0).getTime(); - this._rangeTo = new Date(a.getFullYear(), a.getMonth(), a.getDate(), 0, 0, 0, 0).getTime(); - this._rangeActive = true; - this._rangeType = "out"; - this._drawMonth(this._activeMonth); - return - } - if (q != null && a == null) { - this.setSensitiveRange(null, q, true); - return - } - if (q == null && a != null) { - this.setSensitiveRange(a, null, true); - return - } - }; - this.disableDays = function(y, x) { - if (y == "week") { - if (typeof(x) != "object" && typeof(x.length) == "undefined") { - x = [x] - } - if (!this._rangeWeekData) { - this._rangeWeekData = {} - } - for (var u in this._rangeWeekData) { - this._rangeWeekData[u] = false; - delete this._rangeWeekData[u] - } - for (var w = 0; w < x.length; w++) { - this._rangeWeekData[x[w]] = true; - if (x[w] == 7) { - this._rangeWeekData[0] = true - } - } - this._rangeWeek = true - } - if (y == "month") { - if (typeof(x) != "object" && typeof(x.length) == "undefined") { - x = [x] - } - if (!this._rangeMonthData) { - this._rangeMonthData = {} - } - for (var u in this._rangeMonthData) { - this._rangeMonthData[u] = false; - delete this._rangeMonthData[u] - } - for (var w = 0; w < x.length; w++) { - this._rangeMonthData[x[w]] = true - } - this._rangeMonth = true - } - if (y == "year") { - var v = this._extractDates(x); - if (!this._rangeYearData) { - this._rangeYearData = {} - } - for (var u in this._rangeYearData) { - this._rangeYearData[u] = false; - delete this._rangeYearData[u] - } - for (var w = 0; w < v.length; w++) { - this._rangeYearData[v[w].getMonth() + "_" + v[w].getDate()] = true - } - this._rangeYear = true - } - this._drawMonth(this._activeMonth) - }; - this.enableDays = function(a) { - if (a == "week") { - this._rangeWeek = false - } - if (a == "month") { - this._rangeMonth = false - } - if (a == "year") { - this._rangeYear = false - } - this._drawMonth(this._activeMonth) - }; - this._tipData = {}; - this._tipTM = null; - this._tipTMTime = 400; - this._tipEvs = false; - this._tipPopup = null; - this._tipCellDate = null; - this._tipCellDim = null; - this.setTooltip = function(v, y, A, a) { - var w = this._extractDates(v); - for (var x = 0; x < w.length; x++) { - var u = new Date(w[x].getFullYear(), w[x].getMonth(), w[x].getDate(), 0, 0, 0, 0).getTime(); - this._tipData[u] = { - text: y, - showIcon: A, - usePopup: a - } - } - this._drawMonth(this._activeMonth) - }; - this.clearTooltip = function(u) { - var v = this._extractDates(u); - for (var w = 0; w < v.length; w++) { - var a = new Date(v[w].getFullYear(), v[w].getMonth(), v[w].getDate(), 0, 0, 0, 0).getTime(); - this._tipData[a] = null; - delete this._tipData[a] - } - this._drawMonth(this._activeMonth) - }; - this._initTooltipPopup = function() { - if (this._tipEvs) { - return - } - this.attachEvent("onMouseOver", function(q) { - var a = new Date(q.getFullYear(), q.getMonth(), q.getDate(), 0, 0, 0, 0).getTime(); - if (this._tipData[a] != null) { - if (this._tipTM) { - window.clearTimeout(this._tipTM) - } - this._tipCellDate = q; - this._tipCellDim = this.getCellDimension(q); - this._tipText = this._tipData[a].text; - this._tipTM = window.setTimeout(this._showTooltipPopup, this._tipTMTime) - } - }); - this.attachEvent("onMouseOut", this._hideTooltipPopup); - this._tipEvs = true - }; - this._showTooltipPopup = function(v, a, A, q, u) { - if (!h._tipPopup) { - h._tipPopup = new dhtmlXPopup({ - mode: "top" - }) - } - h._tipPopup.attachHTML(h._tipText); - h._tipPopup.show(h._tipCellDim.x, h._tipCellDim.y, h._tipCellDim.w, h._tipCellDim.h); - h.callEvent("onPopupShow", [h._tipCellDate]) - }; - this._hideTooltipPopup = function() { - if (this._tipTM) { - window.clearTimeout(this._tipTM) - } - if (this._tipPopup != null && this._tipPopup.isVisible()) { - this._tipPopup.hide(); - this.callEvent("onPopupHide", [this._tipCellDate]) - } - }; - this.getPopup = function() { - return this._tipPopup - }; - this.getCellDimension = function(v) { - if (typeof(v) == "string") { - v = this._strToDate(v) - } - if (!(v instanceof Date)) { - return null - } - var x = new Date(v.getFullYear(), v.getMonth(), v.getDate(), 0, 0, 0, 0).getTime(); - var u = null; - for (var y = 0; y < this.contDates.childNodes.length; y++) { - for (var a = 0; a < this.contDates.childNodes[y].childNodes.length; a++) { - var A = this.contDates.childNodes[y].childNodes[a]; - if (A._date != null && A._date.getTime() == x) { - u = { - x: window.dhx4.absLeft(A), - y: window.dhx4.absTop(A), - w: A.offsetWidth, - h: A.offsetHeight - } - } - A = null - } - } - return u - }; - this._updateFromInput = function(a) { - if (this._nullInInput && ((a.value).replace(/\s/g, "")).length == 0) { - if (this.checkEvent("onBeforeChange")) { - if (!this.callEvent("onBeforeChange", [null])) { - this._updateInp(); - return - } - } - this.setDate(null) - } else { - this._updateDateStr(a.value) - } - a = null - }; - this._doOnClick = function(q) { - q = q || event; - var a = (q.target || q.srcElement); - if (a._dhtmlxcalendar_uid && a._dhtmlxcalendar_uid != h._activeInp && h._isVisible() && h._activeInp) { - h._hide(); - return - } - if (!a._dhtmlxcalendar_uid || !h.i[a._dhtmlxcalendar_uid]) { - if (h._isSelectorVisible()) { - h._hideSelector() - } else { - if (!h._hasParent && h._isVisible()) { - h._hide() - } - } - } - }; - this._doOnKeyDown = function(a) { - a = a || event; - if (a.keyCode == 27 || a.keyCode == 13) { - if (h._isSelectorVisible()) { - h._hideSelector() - } else { - if (h._isVisible() && !h._hasParent) { - h._hide() - } - } - } - }; - this._doOnInpClick = function(q) { - q = q || event; - if (q.type == "touchstart" && q.preventDefault != null) { - q.preventDefault() - } - var a = (q.target || q.srcElement); - if (!a._dhtmlxcalendar_uid) { - return - } - if (!h._listenerEnabled) { - h._updateFromInput(a) - } - h._show(a._dhtmlxcalendar_uid, true) - }; - this._doOnInpKeyUp = function(q) { - q = q || event; - var a = (q.target || q.srcElement); - if (q.keyCode == 13 || !a._dhtmlxcalendar_uid) { - return - } - if (!h._listenerEnabled) { - h._updateFromInput(a) - } - }; - this._doOnBtnClick = function(q) { - q = q || event; - if (q.type == "touchstart" && q.preventDefault != null) { - q.preventDefault() - } - var a = (q.target || q.srcElement); - if (!a._dhtmlxcalendar_uid) { - return - } - if (h.i[a._dhtmlxcalendar_uid].input != null) { - h._updateFromInput(h.i[a._dhtmlxcalendar_uid].input) - } - h._show(a._dhtmlxcalendar_uid, true) - }; - this._doOnUnload = function() { - if (h && h.unload) { - h.unload() - } - }; - if (typeof(window.addEventListener) == "function") { - document.body.addEventListener("click", h._doOnClick, false); - window.addEventListener("keydown", h._doOnKeyDown, false); - window.addEventListener("unload", h._doOnUnload, false); - if (this.conf.touch == true) { - document.body.addEventListener("touchstart", h._doOnClick, false) - } - } else { - document.body.attachEvent("onclick", h._doOnClick); - document.body.attachEvent("onkeydown", h._doOnKeyDown); - window.attachEvent("onunload", h._doOnUnload) - } - this.attachObj = function(u) { - var q = window.dhx4.newId(); - if (typeof(u) == "string") { - this.i[q] = { - input: document.getElementById(u) - } - } else { - if (typeof(u.tagName) != "undefined") { - this.i[q] = { - input: u - } - } else { - if (typeof(u) == "object" && (u.input != null || u.button != null)) { - this.i[q] = {}; - if (u.input != null) { - this.i[q].input = (typeof(u.input) == "string" ? document.getElementById(u.input) : u.input) - } - if (u.button != null) { - this.i[q].button = (typeof(u.button) == "string" ? document.getElementById(u.button) : u.button) - } - } - } - } - this._attachEventsToObject(q); - return q - }; - this.detachObj = function(v) { - var u = null; - if (this.i[v] != null) { - u = v - } else { - if (typeof(v) == "string") { - v = document.getElementById(v); - u = v._dhtmlxcalendar_uid - } else { - if (typeof(v.tagName) != "undefined") { - u = v._dhtmlxcalendar_uid - } else { - if (typeof(v) == "object" && (v.input != null || v.button != null)) { - if (u == null && v.input != null) { - u = (typeof(v.input) == "string" ? document.getElementById(v.input) : v.input)._dhtmlxcalendar_uid - } - if (u == null && v.button != null) { - u = (typeof(v.button) == "string" ? document.getElementById(v.button) : v.button)._dhtmlxcalendar_uid - } - } - } - } - } - if (u != null && this.i[u] != null) { - this._detachEventsFromObject(u); - for (var q in this.i[q]) { - this.i[u][q]._dhtmlxcalendar_uid = null; - this.i[u][q] = null; - delete this.i[u][q] - } - this.i[u] = null; - delete this.i[u]; - return true - } - return false - }; - this._attachEventsToObject = function(q) { - if (this.i[q].button != null) { - this.i[q].button._dhtmlxcalendar_uid = q; - if (typeof(window.addEventListener) == "function") { - this.i[q].button.addEventListener("click", h._doOnBtnClick, false); - if (this.conf.touch == true) { - this.i[q].button.addEventListener("touchstart", h._doOnBtnClick, false) - } - } else { - this.i[q].button.attachEvent("onclick", h._doOnBtnClick) - } - } else { - if (this.i[q].input != null) { - this.i[q].input._dhtmlxcalendar_uid = q; - if (typeof(window.addEventListener) == "function") { - this.i[q].input.addEventListener("click", h._doOnInpClick, false); - this.i[q].input.addEventListener("keyup", h._doOnInpKeyUp, false); - if (this.conf.touch == true) { - this.i[q].input.addEventListener("touchstart", h._doOnInpClick, false) - } - } else { - this.i[q].input.attachEvent("onclick", h._doOnInpClick); - this.i[q].input.attachEvent("onkeyup", h._doOnInpKeyUp) - } - } - } - }; - this._detachEventsFromObject = function(q) { - if (this.i[q].button != null) { - if (typeof(window.addEventListener) == "function") { - this.i[q].button.removeEventListener("click", h._doOnBtnClick, false); - if (this.conf.touch == true) { - this.i[q].button.removeEventListener("touchstart", h._doOnBtnClick, false) - } - } else { - this.i[q].button.detachEvent("onclick", h._doOnBtnClick) - } - } else { - if (this.i[q].input != null) { - if (typeof(window.addEventListener) == "function") { - this.i[q].input.removeEventListener("click", h._doOnInpClick, false); - this.i[q].input.removeEventListener("keyup", h._doOnInpKeyUp, false); - if (this.conf.touch == true) { - this.i[q].input.removeEventListener("touchstart", h._doOnInpClick, false) - } - } else { - this.i[q].input.detachEvent("onclick", h._doOnInpClick); - this.i[q].input.detachEvent("onkeyup", h._doOnInpKeyUp) - } - } - } - }; - this._updateInp = function() { - if (this.i != null && this._activeInp != null && this.i[this._activeInp] != null && this.i[this._activeInp].input != null) { - this.i[this._activeInp].input.value = this.getFormatedDate() - } - }; - this.enableListener = function(a) { - if (!a) { - return - } - if (typeof(window.addEventListener) == "function") { - a.addEventListener("focus", h._listenerEvFocus, false); - a.addEventListener("blur", h._listenerEvBlur, false) - } else { - a.attachEvent("onfocus", h._listenerEvFocus); - a.attachEvent("onblur", h._listenerEvBlur) - } - a = null - }; - this.disableListener = function(a) { - if (!a) { - return - } - a._f0 = false; - if (this._tmListener) { - window.clearTimeout(this._tmListener) - } - if (typeof(window.addEventListener) == "function") { - a.removeEventListener("focus", h._listenerEvFocus, false); - a.removeEventListener("blur", h._listenerEvBlur, false) - } else { - a.detachEvent("onfocus", h._listenerEvFocus); - a.detachEvent("onblur", h._listenerEvBlur) - } - a = null - }; - this._startListener = function(a) { - if (this._tmListener) { - window.clearTimeout(this._tmListener) - } - if (typeof(a._v1) == "undefined") { - a._v1 = a.value - } - if (a._v1 != a.value) { - this._updateFromInput(a); - a._v1 = a.value - } - if (a._f0) { - this._tmListener = window.setTimeout(function() { - h._startListener(a) - }, 100) - } - }; - this._listenerEvFocus = function(q) { - q = q || event; - var a = q.target || q.srcElement; - a._f0 = true; - h._startListener(a); - a = null - }; - this._listenerEvBlur = function(q) { - q = q || event; - var a = q.target || q.srcElement; - a._f0 = false; - a = null - }; - for (var n in this.i) { - this._attachEventsToObject(n) - } - window.dhx4._eventable(this); - this._evOnArrowClick = function(a) { - return this.callEvent("onArrowClick", a) - }; - this._evOnClick = function(a) { - return this.callEvent("onClick", a) - }; - this._evOnMouseOut = function(a) { - return this.callEvent("onMouseOut", a) - }; - this._evOnMouseOver = function(a) { - return this.callEvent("onMouseOver", a) - }; - this.unload = function() { - this._activeDate = null; - this._activeDateCell = null; - this._activeInp = null; - this._activeMonth = null; - this._dateFormat = null; - this._dateFormatRE = null; - this._lastHover = null; - if (this._tmListener) { - window.clearTimeout(this._tmListener) - } - this._tmListener = null; - if (typeof(window.addEventListener) == "function") { - document.body.removeEventListener("click", h._doOnClick, false); - window.removeEventListener("keydown", h._doOnKeyDown, false); - window.removeEventListener("unload", h._doOnUnload, false); - if (this.conf.touch == true) { - document.body.removeEventListener("touchstart", h._doOnClick, false) - } - } else { - document.body.detachEvent("onclick", h._doOnClick); - document.body.detachEvent("onkeydown", h._doOnKeyDown); - window.detachEvent("onunload", h._doOnKeyDown) - } - this._doOnClick = null; - this._doOnKeyDown = null; - this._doOnUnload = null; - for (var q in this.i) { - this.i[q]._dhtmlxcalendar_uid = null; - this._detachEventsFromObject(q); - this.disableListener(this.i[q].input); - this.i[q] = null; - delete this.i[q] - } - this.i = null; - this._doOnInpClick = null; - this._doOnInpKeyUp = null; - window.dhx4._eventable(this, "clear"); - this.contMonth.onselectstart = null; - this.contMonth.firstChild.firstChild.onclick = null; - this.contMonth.firstChild.firstChild.ontouchstart = null; - this.contMonth.firstChild.firstChild.firstChild.onmouseover = null; - this.contMonth.firstChild.firstChild.firstChild.onmouseout = null; - this.contMonth.firstChild.firstChild.lastChild.onmouseover = null; - this.contMonth.firstChild.firstChild.lastChild.onmouseout = null; - while (this.contMonth.firstChild.firstChild.childNodes.length > 0) { - this.contMonth.firstChild.firstChild.removeChild(this.contMonth.firstChild.firstChild.lastChild) - } - this.contMonth.firstChild.removeChild(this.contMonth.firstChild.firstChild); - this.contMonth.removeChild(this.contMonth.firstChild); - this.contMonth.parentNode.removeChild(this.contMonth); - this.contMonth = null; - while (this.contDays.firstChild.childNodes.length > 0) { - this.contDays.firstChild.removeChild(this.contDays.firstChild.lastChild) - } - this.contDays.removeChild(this.contDays.firstChild); - this.contDays.parentNode.removeChild(this.contDays); - this.contDays = null; - this.contDates.onclick = null; - this.contDates.ontouchstart = null; - this.contDates.onmouseover = null; - this.contDates.onmouseout = null; - while (this.contDates.childNodes.length > 0) { - while (this.contDates.lastChild.childNodes.length > 0) { - this.contDates.lastChild.lastChild._css_date = null; - this.contDates.lastChild.lastChild._css_month = null; - this.contDates.lastChild.lastChild._css_weekend = null; - this.contDates.lastChild.lastChild._css_hover = null; - this.contDates.lastChild.lastChild._date = null; - this.contDates.lastChild.lastChild._q = null; - this.contDates.lastChild.lastChild._w = null; - this.contDates.lastChild.removeChild(this.contDates.lastChild.lastChild) - } - this.contDates.removeChild(this.contDates.lastChild) - } - this.contDates.parentNode.removeChild(this.contDates); - this.contDates = null; - this.contTime.firstChild.firstChild.onclick = null; - this.contTime.firstChild.firstChild.ontouchstart = null; - while (this.contTime.firstChild.firstChild.childNodes.length > 0) { - this.contTime.firstChild.firstChild.removeChild(this.contTime.firstChild.firstChild.lastChild) - } - this.contTime.firstChild.removeChild(this.contTime.firstChild.firstChild); - this.contTime.removeChild(this.contTime.firstChild); - this.contTime.parentNode.removeChild(this.contTime); - this.contTime = null; - this._lastHover = null; - this._unloadSelector("month"); - this._unloadSelector("year"); - this._unloadSelector("hours"); - this._unloadSelector("minutes"); - if (this._selCover) { - this._selCover.parentNode.removeChild(this._selCover); - this._selCover = null - } - if (this._sel) { - for (var q in this._sel._ta) { - this._sel._ta[q] = null - } - this._sel._ta = null; - this._sel._t = null; - this._sel.onmouseover = null; - this._sel.onmouseout = null; - while (this._sel.firstChild.firstChild.firstChild.childNodes.length > 0) { - this._sel.firstChild.firstChild.firstChild.lastChild.onclick = null; - this._sel.firstChild.firstChild.firstChild.lastChild.onmouseover = null; - this._sel.firstChild.firstChild.firstChild.lastChild.onmouseout = null; - this._sel.firstChild.firstChild.firstChild.removeChild(this._sel.firstChild.firstChild.firstChild.lastChild) - } - this._sel.firstChild.firstChild.removeChild(this._sel.firstChild.firstChild.firstChild); - this._sel.firstChild.removeChild(this._sel.firstChild.firstChild); - while (this._sel.childNodes.length > 0) { - this._sel.removeChild(this._sel.lastChild) - } - this._sel.parentNode.removeChild(this._sel); - this._sel = null - } - this.base.onclick = null; - this.base.onmousedown = null; - this.base.ontouchstart = null; - this.base.onmouseout = null; - this.base.parentNode.removeChild(this.base); - this.base = null; - this._clearDayHover = null; - this._clearSelHover = null; - this._doOnSelectorChange = null; - this._doOnSelectorShow = null; - this._drawMonth = null; - this._fixLength = null; - this._ifrSize = null; - this._hide = null; - this._hideSelector = null; - this._initSelector = null; - this._isSelectorVisible = null; - this._isVisible = null; - this._scrollYears = null; - this._show = null; - this._showSelector = null; - this._strToDate = null; - this._updateActiveHours = null; - this._updateActiveMinutes = null; - this._updateActiveMonth = null; - this._updateActiveYear = null; - this._updateCellStyle = null; - this._updateDateStr = null; - this._updateVisibleHours = null; - this._updateVisibleMinutes = null; - this._updateYearsList = null; - this.enableIframe = null; - this.hide = null; - this.hideTime = null; - this.setDate = null; - this.setDateFormat = null; - this.setYearsRange = null; - this.show = null; - this.showTime = null; - this.unload = null; - if (this._tipPopup != null) { - this._tipPopup.unload(); - this._tipPopup = null - } - for (var q in this) { - delete this[q] - } - q = h = null - }; - this.setDate(this._activeDate); - return this -} -dhtmlXCalendarObject.prototype.lang = "en"; -dhtmlXCalendarObject.prototype.langData = { - en: { - dateformat: "%Y-%m-%d", - hdrformat: "%F %Y", - monthesFNames: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], - monthesSNames: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], - daysFNames: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], - daysSNames: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"], - weekstart: 1, - weekname: "w", - today: "Today", - clear: "Clear" - } -}; -dhtmlXCalendarObject.prototype._buildMonthHdr = function(h) { - var c = this; - var g = function(l) { - return (String(l).length == 1 ? "0" + String(l) : l) - }; - var a = function(l, m) { - return "" + m + "" - }; - var e = String(this.langData[this.lang].hdrformat || ("%F %Y")).replace(/%[a-z]/gi, function(l) { - switch (l) { - case "%m": - return a("month", g(h.getMonth() + 1)); - case "%n": - return a("month", h.getMonth() + 1); - case "%M": - return a("month", c.langData[c.lang].monthesSNames[h.getMonth()]); - case "%F": - return a("month", c.langData[c.lang].monthesFNames[h.getMonth()]); - case "%y": - return a("year", g(h.getYear() % 100)); - case "%Y": - return a("year", h.getFullYear()); - case "%%": - return "%"; - default: - return l - } - }); - c = g = a = null; - return e -}; -dhtmlXCalendarObject.prototype.enableIframe = function(a) { - if (a == true) { - if (!this._ifr) { - this._ifr = document.createElement("IFRAME"); - this._ifr.frameBorder = 0; - this._ifr.border = 0; - this._ifr.setAttribute("src", "javascript:false;"); - this._ifr.className = "dhtmlxcalendar_ifr"; - this._ifr.onload = function() { - this.onload = null; - this.contentWindow.document.open("text/html", "replace"); - this.contentWindow.document.write("") - }; - this.base.parentNode.insertBefore(this._ifr, this.base); - this._ifrSize() - } - } else { - if (this._ifr) { - this._ifr.parentNode.removeChild(this._ifr); - this._ifr = null - } - } -}; -dhtmlXCalendarObject.prototype._ifrSize = function() { - if (this._ifr) { - this._ifr.style.left = this.base.style.left; - this._ifr.style.top = this.base.style.top; - this._ifr.style.width = this.base.offsetWidth + "px"; - this._ifr.style.height = this.base.offsetHeight + "px" - } -}; -dhtmlxCalendarObject = dhtmlXCalendarObject; -dhtmlXCalendarObject.prototype._dateStrings = function() { - var a = this.langData[this.lang]; - return { - monthFullName: a.monthesFNames, - monthShortName: a.monthesSNames, - dayFullName: a.daysFNames, - dayShortName: a.daysSNames - } -}; -dhtmlXCalendarObject.prototype._strToDate = function(c, a) { - return window.dhx4.str2date(c, a || this._dateFormat, this._dateStrings()) -}; -dhtmlXCalendarObject.prototype._dateToStr = function(c, a) { - return window.dhx4.date2str(c, a || this._dateFormat, this._dateStrings()) -}; -window.dhtmlxDblCalendarObject = window.dhtmlXDoubleCalendarObject = window.dhtmlXDoubleCalendar = function(c) { - var a = this; - this.leftCalendar = new dhtmlXCalendarObject(c); - this.leftCalendar.hideTime(); - this.rightCalendar = new dhtmlXCalendarObject(c); - this.rightCalendar.hideTime(); - this.leftCalendar.attachEvent("onClick", function(e) { - a._updateRange("rightCalendar", e, null); - a._evOnClick(["left", e]) - }); - this.rightCalendar.attachEvent("onClick", function(e) { - a._updateRange("leftCalendar", null, e); - a._evOnClick(["right", e]) - }); - this.leftCalendar.attachEvent("onBeforeChange", function(e) { - return a._evOnBeforeChange(["left", e]) - }); - this.rightCalendar.attachEvent("onBeforeChange", function(e) { - return a._evOnBeforeChange(["right", e]) - }); - this.show = function() { - this.leftCalendar.show(); - this.rightCalendar.base.style.marginLeft = this.leftCalendar.base.offsetWidth - 1 + "px"; - this.rightCalendar.show() - }; - this.hide = function() { - this.leftCalendar.hide(); - this.rightCalendar.hide() - }; - this.setDateFormat = function(e) { - this.leftCalendar.setDateFormat(e); - this.rightCalendar.setDateFormat(e) - }; - this.setDates = function(g, e) { - if (g != null) { - this.leftCalendar.setDate(g) - } - if (e != null) { - this.rightCalendar.setDate(e) - } - this._updateRange() - }; - this._updateRange = function(e, h, g) { - if (arguments.length == 3) { - (e == "leftCalendar" ? this.leftCalendar : this.rightCalendar).setSensitiveRange(h, g) - } else { - this.leftCalendar.setSensitiveRange(null, this.rightCalendar.getDate()); - this.rightCalendar.setSensitiveRange(this.leftCalendar.getDate(), null) - } - }; - this.getFormatedDate = function() { - return this.leftCalendar.getFormatedDate.apply(this.leftCalendar, arguments) - }; - this.unload = function() { - window.dhx4._eventable(this, "clear"); - this.leftCalendar.unload(); - this.rightCalendar.unload(); - this.leftCalendar = this.rightCalendar = null; - this._updateRange = null; - this._evOnClick = null; - this._evOnBeforeChange = null; - this.show = null; - this.hide = null; - this.setDateFormat = null; - this.setDates = null; - this.getFormatedDate = null; - this.unload = null; - a = null - }; - this._evOnClick = function(e) { - return this.callEvent("onClick", e) - }; - this._evOnBeforeChange = function(e) { - return this.callEvent("onBeforeChange", e) - }; - window.dhx4._eventable(this); - return this -}; - -function dhtmlXCombo(l, r, e, n, h) { - var m = this; - var g = null; - var s = null; - if (typeof(l) == "object" && !l.tagName) { - g = l; - l = g.parent; - e = g.width; - r = g.name; - n = g.mode; - s = g.skin - } - this.cont = (typeof(l) == "string" ? document.getElementById(l) : l); - this.conf = { - skin: null, - form_name: r || "dhxcombo", - combo_width: (parseInt(e) || this.cont.offsetWidth || 120) - (dhx4.isFF || dhx4.isIE || dhx4.isChrome || dhx4.isOpera ? 2 : 0), - combo_image: false, - combo_focus: false, - opts_type: (typeof(n) == "string" && typeof(this.modes[n]) != "undefined" ? n : "option"), - opts_count: 8, - opts_count_min: 3, - opts_width: null, - item_h: null, - list_zi_id: window.dhx4.newId(), - allow_free_text: true, - allow_empty_value: true, - free_text_empty: false, - enabled: true, - btn_left: ((window.dhx4.isIE6 || window.dhx4.isIE7 || window.dhx4.isIE8) && typeof(window.addEventListener) == "undefined" ? 1 : 0), - ro_mode: false, - ro_text: "", - ro_tm: null, - ro_tm_time: 750, - img_path: "", - img_def: "", - img_def_dis: true, - template: { - header: true, - input: "#text#", - option: "#text#" - }, - f_func: null, - f_mode: false, - f_url: false, - f_cache: false, - f_cache_data: {}, - f_dyn: false, - f_dyn_end: false, - f_mask: "", - f_ac: true, - f_ac_text: "", - f_server_tm: null, - f_server_last: "", - f_loading: false, - s_tm: null, - s_time: 200, - s_mode: "select", - last_hover: null, - last_selected: null, - last_match: null, - last_text: "", - last_value: "", - tm_hover: null, - tm_confirm_blur: null, - clear_click: false, - clear_blur: false, - clear_bsp: false, - clear_key: false, - i_ofs: 23, - sp: { - dhx_skyblue: { - list_ofs: 1, - hdr_ofs: 1, - scr_ofs: 1 - }, - dhx_web: { - list_ofs: 0, - hdr_ofs: 1, - scr_ofs: 0 - }, - dhx_terrace: { - list_ofs: 1, - hdr_ofs: 1, - scr_ofs: 1 - }, - material: { - list_ofs: 0, - hdr_ofs: 1, - scr_ofs: 1 - } - }, - col_w: null - }; - this.conf.combo_image = (this.modes[this.conf.opts_type].image == true); - this.t = {}; - this.base = document.createElement("DIV"); - this.base.style.width = this.conf.combo_width + "px"; - this.base.innerHTML = "
                    " + (this.conf.combo_image ? "
                    " + this.modes[this.conf.opts_type].getTopImage(null, this.conf.enabled) + "
                    " : ""); - this.cont.appendChild(this.base); - this.list = document.createElement("DIV"); - this.list._listId = window.dhx4.newId(); - this.list.style.display = "none"; - document.body.insertBefore(this.list, document.body.firstChild); - this._doOnListScroll = function() { - if (m.conf.s_tm != null) { - window.clearTimeout(m.conf.s_tm) - } - m.conf.s_tm = window.setTimeout(m._doOnListScrollAction, m.conf.s_time) - }; - this._doOnListScrollAction = function() { - m.conf.s_tm = null; - if (m.conf.s_mode == "scroll" && m.list.scrollHeight - m.list.scrollTop - 10 < m.list.clientHeight) { - m._subloadRequest() - } - }; - if (typeof(window.addEventListener) == "function") { - this.list.addEventListener("scroll", this._doOnListScroll, false) - } else { - this.list.attachEvent("onscroll", this._doOnListScroll) - } - this.setSkin(s || window.dhx4.skin || (typeof(dhtmlx) != "undefined" ? dhtmlx.skin : null) || window.dhx4.skinDetect("dhxcombo") || "material"); - this._updateTopImage = function(a) { - if (!this.conf.combo_image) { - return - } - if (a != null) { - this.base.lastChild.innerHTML = this.t[a].obj.getTopImage(this.t[a].item, this.conf.enabled) - } else { - this.base.lastChild.innerHTML = this.modes[this.conf.opts_type].getTopImage(null, this.conf.enabled) - } - }; - this._filterOpts = function(A) { - if (this.conf.f_server_tm) { - window.clearTimeout(this.conf.f_server_tm) - } - var w = String(this.base.firstChild.value).replace(new RegExp(this._fixRE(this.conf.f_ac_text) + "$", "i"), ""); - if (this.conf.f_server_last == w.toLowerCase()) { - this._checkForMatch(); - return - } - if (this.conf.f_url != null && this.checkEvent("onDynXLS")) { - this.conf.f_server_last = w.toLowerCase(); - this.callEvent("onDynXLS", [w]); - return - } - if (this.conf.f_url) { - if (w.length == 0) { - this.conf.f_server_last = w.toLowerCase(); - this.clearAll(); - return - } - if (this.conf.f_cache == true && this.conf.f_cache_data[w] != null) { - this.clearAll(); - this.conf.f_server_last = w.toLowerCase(); - for (var v = 0; v < this.conf.f_cache_data[w].data.length; v++) { - this.load(this.conf.f_cache_data[w].data[v]) - } - if (this.conf.f_dyn) { - this.conf.f_dyn_end = this.conf.f_cache_data[w].dyn_end; - this.conf.f_mask = this.conf.f_cache_data[w].mask - } - if (A !== true) { - this._showList(true); - this._checkForMatch() - } - } else { - this.conf.f_server_tm = window.setTimeout(function() { - m.conf.f_server_last = w.toLowerCase(); - m.conf.f_mask = w; - var q = "mask=" + encodeURIComponent(w); - if (m.conf.f_dyn) { - q += "&pos=0"; - m.conf.f_dyn_end = false - } - var a = function(I) { - if (m.conf.f_cache) { - if (!m.conf.f_cache_data[w]) { - m.conf.f_cache_data[w] = { - data: [], - dyn_end: false, - mask: w - } - } - m.conf.f_cache_data[w].data.push(I.xmlDoc.responseXML) - } - m.clearAll(); - m.load(I.xmlDoc.responseText); - var H = (m.base.offsetWidth > 0 && m.base.offsetHeight > 0); - if (H == true && m.conf.enabled == true && m.conf.combo_focus == true && A !== true) { - if (m.conf.f_ac && m.conf.f_mode == "start" && m.conf.clear_bsp == false && m.list.firstChild != null) { - var F = m.list.firstChild._optId; - var J = String(m.t[F].obj.getText(m.list.firstChild, true)); - if (w == m.base.firstChild.value && String(J).toLowerCase().indexOf(String(w).toLowerCase()) === 0) { - m.base.firstChild.value = J; - m.conf.f_ac_text = J.substr(w.length); - m._selectRange(w.length, J.length) - } - } - m._showList(true); - m._checkForMatch() - } - a = null - }; - if (window.dhx4.ajax.method == "post") { - window.dhx4.ajax.post(m.conf.f_url, q, a) - } else { - if (window.dhx4.ajax.method == "get") { - window.dhx4.ajax.get(m.conf.f_url + (String(m.conf.f_url).indexOf("?") >= 0 ? "&" : "?") + q, a) - } - } - }, 200) - } - } else { - this.conf.f_server_last = w.toLowerCase(); - var u = (w.length == 0 ? true : new RegExp((this.conf.f_mode == "start" ? "^" : "") + this._fixRE(w), "i")); - var x = null; - for (var C in this.t) { - var E = false; - if (u !== true) { - if (this.conf.f_func != null) { - var y = this._getOption(this.t[C].item._optId, v); - E = (this.conf.f_func.apply(window, [w, y]) == true) - } else { - var D = this.t[C].obj.getText(this.t[C].item, true); - E = (u.test(D) == true) - } - } - if (u === true || E == true) { - this.t[C].item.style.display = ""; - if (x == null && w.length > 0) { - x = String(this.t[C].obj.getText(this.t[C].item, true)) - } - } else { - this.t[C].item.style.display = "none" - } - } - if (this.conf.f_ac && this.conf.f_mode == "start" && this.conf.clear_bsp == false && x != null) { - this.conf.f_ac_text = x.replace(new RegExp("^" + w, "i"), ""); - this.base.firstChild.value = x; - this._selectRange(this.conf.f_server_last.length, this.base.firstChild.value.length) - } - if (this.conf.f_mode == "between" && this.conf.clear_bsp == true) { - this._checkForMatch(true) - } - if (A !== true) { - this._showList(true); - this._checkForMatch() - } - } - }; - this._searchRO = function(u) { - if (this.conf.ro_tm) { - window.clearTimeout(this.conf.ro_tm) - } - this.conf.ro_text += u; - this._showList(); - for (var v = 0; v < this.list.childNodes.length; v++) { - var a = this.list.childNodes[v]._optId; - var w = String(this.t[a].obj.getText(this.list.childNodes[v], true)).toLowerCase(); - if (w.indexOf(this.conf.ro_text) === 0) { - this._setSelected(a, true, true); - this._confirmSelect("script", false); - break - } - } - this.conf.ro_tm = window.setTimeout(function() { - m.conf.ro_text = "" - }, this.conf.ro_tm_time) - }; - this._fixRE = function(a) { - return String(a).replace(/[\\\^\$\*\+\?\.\(\)\|\{\}\[\]]/gi, "\\$&") - }; - this._initObj = function(a) { - if (typeof(a.template) != "undefined") { - this.setTemplate(a.template) - } - if (a.add != true && this.conf.f_loading != true) { - this.clearAll(false) - } - this.addOption(a.options) - }; - this._xmlToObj = function(P, x, v) { - var C = { - add: false, - options: [] - }; - var J = (x == true ? P : P.getElementsByTagName("complete")); - if (J.length > 0) { - if (window.dhx4.s2b(J[0].getAttribute("add")) == true) { - C.add = true - } - var I = J[0].childNodes; - for (var F = 0; F < I.length; F++) { - if (typeof(I[F].tagName) != "undefined") { - if (String(I[F].tagName).toLowerCase() == "template") { - var O = {}; - for (var A = 0; A < I[F].childNodes.length; A++) { - var H = I[F].childNodes[A]; - if (H.tagName != null) { - var K = H.tagName; - if (typeof(this.conf.template[K]) != "undefined") { - O[K] = window.dhx4._xmlNodeValue(H) - } - if (K == "columns") { - for (var M = 0; M < H.childNodes.length; M++) { - var y = H.childNodes[M]; - if (y.tagName != null && y.tagName == "column") { - var E = {}; - for (var N in { - width: 1, - css: 1, - header: 1, - option: 1 - }) { - if (y.getAttribute(N) != null) { - E[N] = y.getAttribute(N) - } - } - for (var N in { - header: 1, - option: 1 - }) { - var L = y.getElementsByTagName(N); - if (L[0] != null && L[0].firstChild != null) { - E[N] = window.dhx4._xmlNodeValue(L[0]) - } - } - if (O.columns == null) { - O.columns = [] - } - O.columns.push(E) - } - y = null - } - } - } - H = null - } - this.setTemplate(O) - } - if (String(I[F].tagName).toLowerCase() == "option") { - var D = false; - if (x == true) { - D = (C.options.length == v) - } else { - D = window.dhx4.s2b(I[F].getAttribute("selected")) - } - var u = { - value: I[F].getAttribute("value"), - text: window.dhx4._xmlNodeValue(I[F]), - selected: D, - checked: window.dhx4.s2b(I[F].getAttribute("checked")) - }; - for (var N in { - img: 1, - img_dis: 1, - img_src: 1, - img_src_dis: 1, - css: 1 - }) { - if (I[F].getAttribute(N) != null) { - u[N] = I[F].getAttribute(N) - } - } - for (var A = 0; A < I[F].childNodes.length; A++) { - if (I[F].childNodes[A].tagName != null && String(I[F].childNodes[A].tagName).toLowerCase() == "text") { - u.text = {}; - var H = I[F].childNodes[A]; - for (var M = 0; M < H.childNodes.length; M++) { - if (H.childNodes[M].tagName != null) { - u.text[H.childNodes[M].tagName] = window.dhx4._xmlNodeValue(H.childNodes[M]) - } - } - } - } - C.options.push(u) - } - } - } - J = I = null - } - return C - }; - window.dhx4._enableDataLoading(this, "_initObj", "_xmlToObj", "complete", { - data: true - }); - window.dhx4._eventable(this); - this._getNearItem = function(u, q) { - var a = null; - while (u != null) { - u = u[q < 0 ? "previousSibling" : "nextSibling"]; - if (a == null && u != null && u.style.display == "" && u._optId != null) { - a = u; - u = null - } - } - return a - }; - this.setName(this.conf.form_name); - this._doOnListMouseMove = function(q) { - q = q || event; - var a = q.target || q.srcElement; - while (a != null && a != this) { - if (typeof(a._optId) != "undefined") { - if (m.conf.tm_hover) { - window.clearTimeout(m.conf.tm_hover) - } - m._setSelected(a._optId, false, false, true) - } - a = a.parentNode - } - a = null - }; - this._doOnListMouseDown = function(a) { - a = a || event; - a.cancelBubble = true; - m.conf.clear_click = true; - window.setTimeout(function() { - m.base.firstChild.focus() - }, 1) - }; - this._doOnListMouseUp = function(u) { - u = u || event; - if (u.button != m.conf.btn_left) { - return - } - var a = u.target || u.srcElement; - while (a != null && a != this) { - if (typeof(a._optId) != "undefined") { - var q = true; - if (typeof(m.t[a._optId].obj.optionClick) == "function" && m.t[a._optId].obj.optionClick(a, u, m) !== true) { - q = false - } - if (q) { - m._setSelected(a._optId, null, true); - m._confirmSelect("click") - } - } - a = a.parentNode - } - a = null - }; - this._doOnListMouseOut = function(a) { - if (m.conf.tm_hover) { - window.clearTimeout(m.conf.tm_hover) - } - m.conf.tm_hover = window.setTimeout(function() { - var q = m.conf.last_match || m.conf.last_selected; - if (m.conf.last_match == null && m.t[q] != null) { - if (m.base.firstChild.value != m.t[q].obj.getText(m.t[q].item, true)) { - q = null - } - } - m._setSelected(q, null, true, true) - }, 1) - }; - this._doOnBaseMouseDown = function(w) { - if (!m.conf.enabled) { - return - } - m.conf.clear_click = true; - w = w || event; - if (w.button != m.conf.btn_left) { - return - } - var q = w.target || w.srcElement; - if (q != this.firstChild) { - window.setTimeout(function() { - m.base.firstChild.focus() - }, 1); - var v = q; - while (v != this && v != null) { - if (v == this.lastChild) { - if (typeof(m.modes[m.conf.opts_type].topImageClick) == "function") { - var u = (m.conf.last_hover || m.conf.last_selected); - var a = (u != null ? m.t[u].item : null); - if (m.modes[m.conf.opts_type].topImageClick(a, m) !== true) { - u = a = null; - return - } - } - v = null - } else { - v = v.parentNode - } - } - } - if (m._isListVisible()) { - m._hideList() - } else { - if (q != this.firstChild) { - m.conf.clear_blur = true - } - m._showList(); - m._setSelected(m.conf.last_selected, true, true) - } - q = null - }; - this._doOnBodyMouseDown = function() { - if (m.conf.clear_click) { - m.conf.clear_click = false; - return - } - m._confirmSelect("blur") - }; - this._doOnInputFocus = function() { - m.conf.clear_blur = false; - if (m.conf.tm_confirm_blur) { - window.clearTimeout(m.conf.tm_confirm_blur) - } - if (m.conf.combo_focus == false) { - m.conf.combo_focus = true; - if (m.conf.skin == "material" && m.base.className.match(/dhxcombo_actv/) == null) { - m.base.className += " dhxcombo_actv" - } - m.callEvent("onFocus", []) - } - }; - this._doOnInputBlur = function() { - if (m.conf.clear_blur == true) { - m.conf.clear_blur = false; - return - } - if (m.conf.tm_confirm_blur) { - window.clearTimeout(m.conf.tm_confirm_blur) - } - m.conf.tm_confirm_blur = window.setTimeout(function() { - if (m.conf.clear_click == false) { - m._confirmSelect("blur"); - m.conf.combo_focus = false; - if (m.conf.skin == "material" && m.base.className.match(/dhxcombo_actv/) != null) { - m.base.className = m.base.className.replace(/\s*dhxcombo_actv/gi, "") - } - m.callEvent("onBlur", []) - } - }, 20) - }; - this._doOnInputKeyUp = function(a) { - a = a || event; - if (m.conf.f_mode != false) { - m.conf.clear_bsp = (a.keyCode == 8 || a.keyCode == 46); - m._filterOpts(); - return - } else { - m._checkForMatch() - } - }; - this._doOnInputKeyDown = function(a) { - a = a || event; - if ((a.keyCode == 38 || a.keyCode == 40) && !a.ctrlKey && !a.shiftKey && !a.altKey) { - if (a.preventDefault) { - a.preventDefault() - } else { - a.returnValue = false - } - a.cancelBubble = true; - m._keyOnUpDown(a.keyCode == 38 ? -1 : 1) - } - if (a.keyCode == 113) { - if (!m._isListVisible()) { - m._showList(); - if (m.base.firstChild.value == m.conf.last_text) { - m._setSelected(m.conf.last_selected, true, true); - m.base.firstChild.value = m.conf.last_text; - m.conf.f_server_last = m.base.firstChild.value.toLowerCase() - } else { - m.conf.f_server_last = m.base.firstChild.value.toLowerCase(); - if (m.conf.f_mode == false) { - m._checkForMatch() - } - } - } else {} - } - if (a.keyCode == 27) { - if (a.preventDefault) { - a.preventDefault() - } else { - a.returnValue = false - } - a.cancelBubble = true; - m._cancelSelect() - } - if (a.keyCode == 13) { - if (a.preventDefault) { - a.preventDefault() - } - m._confirmSelect("kbd") - } - if (m.conf.ro_mode == true && ((a.keyCode >= 48 && a.keyCode <= 57) || (a.keyCode >= 65 && a.keyCode <= 90))) { - m._searchRO(String.fromCharCode(a.keyCode).toLowerCase()); - a.cancelBubble = true - } - m.conf.clear_key = true; - m.callEvent("onKeyPressed", [a.keyCode || a.charCode]) - }; - this._doOnInputKeyPress = function(a) { - if (m.conf.clear_key) { - m.conf.clear_key = false; - return - } - a = a || event; - m.callEvent("onKeyPressed", [a.keyCode || a.charCode]) - }; - this._keyOnUpDown = function(a) { - var q = null; - if (this.conf.last_hover) { - q = this.t[this.conf.last_hover].item - } else { - if (this.conf.last_selected) { - q = this.t[this.conf.last_selected].item - } - } - if (!q && this._getListVisibleCount() == 0) { - return - } - if (q != null && q.style.display != "") { - q = null - } - this._showList(); - if (q != null) { - if (this.t[q._optId].obj.isSelected(q)) { - q = this._getNearItem(q, a) - } - } else { - q = this.list.firstChild; - if (q.style.display != "") { - q = this._getNearItem(q, 1) - } - } - if (q == null) { - return - } - this._setSelected(q._optId, true, true); - if (this.conf.f_mode == false) { - this.base.firstChild.value = this.t[q._optId].obj.getText(q, true) - } else { - var u = String(this.t[q._optId].obj.getText(q, true)); - if (this.conf.f_mode == "start" && this.conf.f_ac == true) { - if (u.toLowerCase().indexOf(this.conf.f_server_last) === 0) { - this.conf.f_ac_text = u.substring(this.conf.f_server_last.length, u.length); - this.base.firstChild.value = u; - this._selectRange(this.conf.f_server_last.length, this.base.firstChild.value.length) - } else { - this.base.firstChild.value = u; - this.conf.f_server_last = this.base.firstChild.value.toLowerCase(); - this._selectRange(0, this.base.firstChild.value.length) - } - } else { - this.base.firstChild.value = u; - this.conf.f_server_last = this.base.firstChild.value.toLowerCase() - } - } - q = null - }; - this.conf.evs_nodes = [{ - node: document.body, - evs: { - mousedown: "_doOnBodyMouseDown" - } - }, { - node: this.base, - evs: { - mousedown: "_doOnBaseMouseDown" - } - }, { - node: this.base.firstChild, - evs: { - keyup: "_doOnInputKeyUp", - keydown: "_doOnInputKeyDown", - keypress: "_doOnInputKeyPress", - focus: "_doOnInputFocus", - blur: "_doOnInputBlur" - } - }, { - node: this.list, - evs: { - mousemove: "_doOnListMouseMove", - mousedown: "_doOnListMouseDown", - mouseup: "_doOnListMouseUp", - mouseout: "_doOnListMouseOut" - } - }]; - for (var c = 0; c < this.conf.evs_nodes.length; c++) { - for (var o in this.conf.evs_nodes[c].evs) { - if (typeof(window.addEventListener) == "function") { - this.conf.evs_nodes[c].node.addEventListener(o, this[this.conf.evs_nodes[c].evs[o]], false) - } else { - this.conf.evs_nodes[c].node.attachEvent("on" + o, this[this.conf.evs_nodes[c].evs[o]]) - } - } - } - this.unload = function() { - this.clearAll(); - this.t = null; - for (var v = 0; v < this.conf.evs_nodes.length; v++) { - for (var u in this.conf.evs_nodes[v].evs) { - if (typeof(window.addEventListener) == "function") { - this.conf.evs_nodes[v].node.removeEventListener(u, this[this.conf.evs_nodes[v].evs[u]], false) - } else { - this.conf.evs_nodes[v].node.detachEvent("on" + u, this[this.conf.evs_nodes[v].evs[u]]) - } - this.conf.evs_nodes[v].evs[u] = null; - delete this.conf.evs_nodes[v].evs[u] - } - this.conf.evs_nodes[v].node = null; - this.conf.evs_nodes[v].evs = null; - delete this.conf.evs_nodes[v].node; - delete this.conf.evs_nodes[v].evs; - this.conf.evs_nodes[v] = null - } - window.dhx4._eventable(this, "clear"); - window.dhx4._enableDataLoading(this, null, null, null, "clear"); - this._mcDetachHeader(); - this.DOMelem_input = this.DOMelem_button = this.DOMlist = this.DOMelem = this.DOMParent = null; - for (var u in this.conf) { - this.conf[u] = null; - delete this.conf[u] - } - this.conf = null; - if (typeof(window.addEventListener) == "function") { - this.list.removeEventListener("scroll", this._doOnListScroll, false) - } else { - this.list.detachEvent("onscroll", this._doOnListScroll) - } - this.base.parentNode.removeChild(this.base); - this.list.parentNode.removeChild(this.list); - this.base = this.list = this.cont = null; - this.modes = null; - for (var u in this) { - if (typeof(this[u]) == "function") { - this[u] = null - } - } - m = null - }; - this.DOMelem_input = this.base.firstChild; - this.DOMelem_button = this.base.childNodes[this.base.childNodes.length - (this.conf.combo_image ? 2 : 1)]; - this.DOMlist = this.list; - this.DOMelem = this.base; - this.DOMParent = l; - l = null; - if (g != null) { - if (g.filter != null) { - if (typeof(g.filter) == "string") { - this.enableFilteringMode(true, g.filter, window.dhx4.s2b(g.filter_cache), window.dhx4.s2b(g.filter_sub_load)) - } else { - this.enableFilteringMode(true) - } - } - if (g.image_path != null) { - this.setImagePath(g.image_path) - } - if (g.default_image != null || g.default_image_dis != null) { - this.setDefaultImage(g.default_image, g.default_image_dis) - } - if (g.items || g.options) { - this.addOption(g.items || g.options) - } - if (g.xml || g.json) { - this.load(g.xml || g.json) - } - if (typeof(g.readonly) != "undefined") { - this.readonly(g.readonly) - } - g = null - } - return this -} - -function dhtmlXComboFromSelect(g, e) { - if (typeof(g) == "string") { - g = document.getElementById(g) - } - var c = e || g.offsetWidth; - var r = g.getAttribute("name") || null; - var h = document.createElement("SPAN"); - g.parentNode.insertBefore(h, g); - var m = g.getAttribute("mode") || g.getAttribute("opt_type") || "option"; - var l = new dhtmlXCombo(h, r, c, m); - h = null; - var o = g.getAttribute("imagePath"); - if (o) { - l.setImagePath(o) - } - var q = g.getAttribute("defaultImage"); - var n = g.getAttribute("defaultImageDis"); - if (window.dhx4.s2b(n) == true) { - n = true - } - if (q != null || n != null) { - l.setDefaultImage(q, n) - } - var a = l._xmlToObj([g], true, g.selectedIndex); - if (a.options.length > 0) { - l.addOption(a.options) - } - a = null; - g.parentNode.removeChild(g); - g = null; - return l -} -dhtmlXCombo.prototype.setName = function(a) { - this.conf.form_name = a; - this.base.childNodes[1].name = a; - this.base.childNodes[2].name = a.replace(/(\[.*)?$/, "_new_value$1") -}; -dhtmlXCombo.prototype.readonly = function(a) { - if (window.dhx4.s2b(a)) { - this.base.firstChild.setAttribute("readOnly", "true"); - this.conf.ro_mode = true - } else { - this.base.firstChild.removeAttribute("readOnly"); - this.conf.ro_mode = false - } -}; -dhtmlXCombo.prototype.setPlaceholder = function(a) { - if (typeof(a) == "undefined" || a == null) { - a = "" - } - this.base.firstChild.setAttribute("placeholder", String(a)) -}; -dhtmlXCombo.prototype.setTemplate = function(e) { - for (var c in e) { - if (typeof(this.conf.template[c]) != "undefined") { - if (c == "header") { - this.conf.template[c] = window.dhx4.s2b(e[c]) - } else { - this.conf.template[c] = String(e[c]) - } - } - } - if (e.columns != null) { - this._mcMakeTemplate(e.columns) - } else { - this._mcDetachHeader() - } - for (var c in this.t) { - this.t[c].obj.setText(this.t[c].item, this.t[c].item._conf.text) - } - this._confirmSelect("template") -}; -dhtmlXCombo.prototype.setSkin = function(a) { - if (a == this.conf.skin) { - return - } - this.conf.skin = a; - this.base.className = "dhxcombo_" + this.conf.skin + (this.conf.enabled ? "" : " dhxcombo_disabled"); - this.list.className = "dhxcombolist_" + this.conf.skin + (this.hdr != null ? " dhxcombolist_multicolumn" : ""); - if (this.hdr != null) { - this.hdr.className = "dhxcombolist_" + this.conf.skin + " dhxcombolist_hdr" - } - this.conf.i_ofs = (a == "material" ? 26 : 23); - this._adjustBase() -}; -dhtmlXCombo.prototype.getInput = function() { - return this.base.firstChild -}; -dhtmlXCombo.prototype.getButton = function() { - return this.base.childNodes[this.base.childNodes.length - (this.conf.combo_image ? 2 : 1)] -}; -dhtmlXCombo.prototype.getList = function() { - return this.list -}; -dhtmlXCombo.prototype.getBase = function() { - return this.base -}; -dhtmlXCombo.prototype.getParent = function() { - return this.DOMParent -}; -dhtmlXCombo.prototype.forEachOption = function(a) { - for (var c = 0; c < this.list.childNodes.length; c++) { - a.apply(window, [this._getOption(this.list.childNodes[c]._optId, c)]) - } -}; -dhtmlXCombo.prototype.setFocus = function() { - if (this.conf.enabled) { - this.base.firstChild.focus() - } -}; -dhtmlXCombo.prototype.setFontSize = function(a, c) { - if (a != null) { - this.base.firstChild.style.fontSize = a - } - if (c != null) { - this.list.style.fontSize = c - } -}; -dhtmlXCombo.prototype.getOption = function(h) { - var l = null; - var e = null; - for (var g = 0; g < this.list.childNodes.length; g++) { - if (l == null) { - var c = this.list.childNodes[g]._optId; - if (this.t[c].obj.getValue(this.t[c].item) == h) { - l = c; - e = g - } - } - } - return (l == null ? null : this._getOption(l, e)) -}; -dhtmlXCombo.prototype.getOptionByIndex = function(a) { - if (a < 0) { - return null - } - if (this.list.childNodes[a] == null) { - return null - } - return this._getOption(this.list.childNodes[a]._optId, a) -}; -dhtmlXCombo.prototype.getOptionByLabel = function(h) { - var l = null; - var e = null; - for (var g = 0; g < this.list.childNodes.length; g++) { - if (l == null) { - var c = this.list.childNodes[g]._optId; - if (this.t[c].obj.getText(this.t[c].item, true) == h) { - l = c; - e = g - } - } - } - return (l == null ? null : this._getOption(l, e)) -}; -dhtmlXCombo.prototype.getSelectedIndex = function() { - return this._getOptionProp(this.conf.last_selected, "index", -1) -}; -dhtmlXCombo.prototype.getSelectedText = function() { - return this._getOptionProp(this.conf.last_selected, "text", "") -}; -dhtmlXCombo.prototype.getSelectedValue = function() { - return this._getOptionProp(this.conf.temp_selected || this.conf.last_selected, "value", null) -}; -dhtmlXCombo.prototype.getActualValue = function() { - return this.base.childNodes[1].value -}; -dhtmlXCombo.prototype.getComboText = function() { - return this.base.childNodes[0].value -}; -dhtmlXCombo.prototype.getIndexByValue = function(c) { - var a = this.getOption(c); - return (a != null ? a.index : -1) -}; -dhtmlXCombo.prototype.setComboText = function(a) { - if (this.conf.allow_free_text != true) { - return - } - this.unSelectOption(); - this.conf.last_text = this.base.firstChild.value = a; - this.conf.f_server_last = this.base.firstChild.value.toLowerCase() -}; -dhtmlXCombo.prototype.setComboValue = function(c) { - var a = this.getOption(c); - if (a != null) { - this.selectOption(a.index) - } else { - this.conf.last_value = c; - this.base.childNodes[1].value = this.conf.last_value; - this.base.childNodes[2].value = "true" - } -}; -dhtmlXCombo.prototype.selectOption = function(c, e, a) { - if (c < 0 || c >= this.list.childNodes.length) { - return - } - var g = this.list.childNodes[c]._optId; - this._setSelected(g, this._isListVisible(), true); - this._confirmSelect("script") -}; -dhtmlXCombo.prototype.unSelectOption = function() { - if (this.conf.last_hover != null) { - this.t[this.conf.last_hover].obj.setSelected(this.t[this.conf.last_hover].item, false); - this.conf.last_hover = null - } - this.base.firstChild.value = ""; - if (this.conf.f_mode != false) { - this._filterOpts(true) - } - this._hideList(); - this._updateTopImage(null); - this._confirmSelect("script") -}; -dhtmlXCombo.prototype.confirmValue = function() { - this._confirmSelect("script") -}; -dhtmlXCombo.prototype.enable = function(a) { - a = (typeof(a) == "undefined" ? true : window.dhx4.s2b(a)); - if (this.conf.enabled == a) { - return - } - this.conf.enabled = a; - if (a) { - this.base.className = "dhxcombo_" + this.conf.skin; - this.base.firstChild.removeAttribute("disabled") - } else { - this._hideList(); - this.base.className = "dhxcombo_" + this.conf.skin + " dhxcombo_disabled"; - this.base.firstChild.setAttribute("disabled", "true") - } - this._updateTopImage(this.conf.last_selected) -}; -dhtmlXCombo.prototype.disable = function(a) { - a = (typeof(a) == "undefined" ? true : window.dhx4.s2b(a)); - this.enable(!a) -}; -dhtmlXCombo.prototype.isEnabled = function() { - return (this.conf.enabled == true) -}; -dhtmlXCombo.prototype.show = function(a) { - if (typeof(a) == "undefined") { - a = true - } else { - a = window.dhx4.s2b(a) - } - this.base.style.display = (a == true ? "" : "none") -}; -dhtmlXCombo.prototype.hide = function(a) { - if (typeof(a) == "undefined") { - a = true - } - this.show(!a) -}; -dhtmlXCombo.prototype.isVisible = function() { - return (this.base.style.display == "") -}; -dhtmlXCombo.prototype.setFilterHandler = function(a) { - if (typeof(a) == "function") { - this.conf.f_func = a; - this.conf.f_mode = true; - this.conf.f_dyn = this.conf.f_cache = this.conf.f_url = null - } else { - if (typeof(a) == "string" && typeof(window[a]) == "function") { - this.conf.f_func = window[a]; - this.conf.f_mode = true; - this.conf.f_dyn = this.conf.f_cache = this.conf.f_url = null - } else { - this.conf.f_func = null - } - } -}; -dhtmlXCombo.prototype.enableFilteringMode = function(g, c, a, e) { - if (g == true || g == "between") { - this.conf.f_mode = (g == true ? "start" : "between"); - if (c) { - this.conf.f_url = c; - this.conf.f_cache = window.dhx4.s2b(a); - this.conf.f_dyn = window.dhx4.s2b(e) - } else { - this.conf.f_url = null; - this.conf.f_cache = false; - this.conf.f_dyn = false - } - } else { - this.conf.f_mode = false; - this.conf.f_url = null; - this.conf.f_cache = false; - this.conf.f_dyn = false - } -}; -dhtmlXCombo.prototype.filter = function(e, a) { - for (var g = 0; g < this.list.childNodes.length; g++) { - var c = e.apply(window, [this._getOption(this.list.childNodes[g]._optId, g)]); - this.list.childNodes[g].style.display = (c === true ? "" : "none") - } - if (typeof(a) == "undefined" || a == true) { - this._showList(true) - } -}; -dhtmlXCombo.prototype.sort = function(e) { - var a = []; - for (var c = 0; c < this.list.childNodes.length; c++) { - var g = this.list.childNodes[c]._optId; - a.push([g, this._getOption(g, c)]) - } - if (e == "asc" || e == "desc") { - k = true; - a.sort(function(l, h) { - l = l[1].text_option.toLowerCase(); - h = h[1].text_option.toLowerCase(); - var m = (e == "asc" ? 1 : -1); - return (l > h ? m : -1 * m) - }) - } else { - if (typeof(e) == "function" || typeof(window[e]) == "function") { - if (typeof(window[e]) == "function") { - e = window[e] - } - a.sort(function(l, h) { - return e.apply(window, [l[1], h[1]]) - }) - } - } - while (this.list.childNodes.length > 0) { - this.list.removeChild(this.list.lastChild) - } - for (var c = 0; c < a.length; c++) { - this.list.appendChild(this.t[a[c][0]].item) - } -}; -dhtmlXCombo.prototype.enableAutocomplete = function(a) { - if (typeof(a) == "undefined") { - a = true - } else { - a = window.dhx4.s2b(a) - } - this.conf.f_ac = a -}; -dhtmlXCombo.prototype.disableAutocomplete = function(a) { - if (typeof(a) == "undefined") { - a = true - } else { - a = window.dhx4.s2b(a) - } - this.enableAutocomplete(!a) -}; -dhtmlXCombo.prototype.allowFreeText = function(c, a) { - this.conf.allow_free_text = (typeof(c) == "undefined" ? true : window.dhx4.s2b(c)); - this.conf.free_text_empty = (typeof(a) == "undefined" ? false : window.dhx4.s2b(a)) -}; -dhtmlXCombo.prototype._checkForMatch = function(g) { - var a = window.dhx4.trim(this.base.firstChild.value).toLowerCase(); - var h = null; - var c = this.list.firstChild; - while (c != null) { - if (c.style.display == "" && c._optId != null) { - var e = window.dhx4.trim(this.t[c._optId].obj.getText(c, true)).toLowerCase(); - if (a == e) { - h = c._optId; - c = null - } - } - if (c != null) { - c = c.nextSibling - } - } - if (this.conf.last_match == null) { - if (h != null) { - this._setSelected(h, true, true); - this.conf.last_match = h - } else { - if (this.conf.f_mode != "between" || g == true) { - this._setSelected(null, true, true); - this.conf.last_match = null - } - } - } else { - if (h != null) { - if (h != this.conf.last_match) { - this._setSelected(h, true, true); - this.conf.last_match = h - } - } else { - this._setSelected(null, true, true); - this.conf.last_match = null - } - } -}; -dhtmlXCombo.prototype._selectRange = function(c, a) { - if (this.conf.combo_focus == true) { - window.dhx4.selectTextRange(this.base.firstChild, c, a) - } -}; -dhtmlXCombo.prototype.openSelect = function() { - if (!this._isListVisible()) { - this._showList() - } -}; -dhtmlXCombo.prototype.closeAll = function() { - this._hideList() -}; -dhtmlXCombo.prototype._showList = function(a) { - if (this._getListVisibleCount() == 0) { - if (a && this._isListVisible()) { - this._hideList() - } - return - } - if (this._isListVisible()) { - this._checkListHeight(); - return - } - this.list.style.zIndex = window.dhx4.zim.reserve(this.conf.list_zi_id); - if (this.hdr != null && this.conf.template.header == true) { - this.hdr.style.zIndex = Number(this.list.style.zIndex) + 1 - } - this.list.style.visibility = "hidden"; - this.list.style.display = ""; - if (this.hdr != null && this.conf.template.header == true) { - this.hdr.style.visibility = this.list.style.visibility; - this.hdr.style.display = this.list.style.display - } - var c = (this.hdr != null && this.conf.template.header == true ? this.hdr.offsetHeight : 0); - this.list.style.width = Math.max(this.conf.opts_width || this.conf.col_w || 0, this.conf.combo_width) + "px"; - this.list.style.top = window.dhx4.absTop(this.base) + c + this.base.offsetHeight - 1 + "px"; - this.list.style.left = window.dhx4.absLeft(this.base) + "px"; - if (this.hdr != null && this.conf.template.header == true) { - this.hdr.style.width = this.list.style.width; - this.hdr.style.left = this.list.style.left; - this.hdr.style.top = parseInt(this.list.style.top) - c + "px" - } - this._checkListHeight(); - this.list.style.visibility = "visible"; - if (this.hdr != null && this.conf.template.header == true) { - this.hdr.style.visibility = "visible" - } - this.callEvent("onOpen", []) -}; -dhtmlXCombo.prototype._hideList = function() { - if (!this._isListVisible()) { - return - } - window.dhx4.zim.clear(this.conf.list_zi_id); - this.list.style.display = "none"; - if (this.hdr != null && this.conf.template.header == true) { - this.hdr.style.display = "none" - } - this.conf.clear_click = false; - this.callEvent("onClose", []) -}; -dhtmlXCombo.prototype._isListVisible = function() { - return (this.list.style.display == "") -}; -dhtmlXCombo.prototype._getListVisibleCount = function() { - var a = 0; - for (var c = 0; c < this.list.childNodes.length; c++) { - a += (this.list.childNodes[c].style.display == "" ? 1 : 0) - } - return a -}; -dhtmlXCombo.prototype._checkListHeight = function() { - if (!this._isListVisible()) { - return - } - if (this.conf.item_h == null) { - var q = this.list.firstChild; - while (q != null) { - if (q.style.display == "") { - this.conf.item_h = q.offsetHeight + (this.hdr != null ? -1 : 0); - q = null - } else { - q = q.nextSibling - } - } - q = null - } - var r = window.dhx4.screenDim(); - var m = window.dhx4.absTop(this.base); - var c = this.base.offsetHeight; - var a = (this.hdr != null && this.conf.template.header == true ? this.hdr.offsetHeight : 0); - var e = Math.max(0, Math.floor((m - a - r.top) / this.conf.item_h)); - var o = Math.max(0, Math.floor((r.bottom - (m + c + a)) / this.conf.item_h)); - var u = this._getListVisibleCount(); - if (o < Math.min(this.conf.opts_count_min, u) && e > o) { - o = null - } - var n = Math.min((o == null ? e : o), this.conf.opts_count, u); - var g = (n < u ? (n * this.conf.item_h) + "px" : ""); - var l = this.conf.sp[this.conf.skin][this.hdr != null && this.conf.template.header == true ? "hdr_ofs" : "list_ofs"]; - this.list.style.height = g; - this.list.style.top = (o == null ? m - this.list.offsetHeight + l : m + c + a - l) + "px"; - if (this.hdr != null && this.conf.template.header == true) { - this.hdr.style.top = (o == null ? m - a - this.list.offsetHeight + l : m + c - l) + "px" - } -}; -dhtmlXCombo.prototype._scrollToItem = function(h) { - var g = this.t[h].item.offsetTop; - var e = g + this.t[h].item.offsetHeight; - var c = this.list.scrollTop; - var a = c + this.list.clientHeight; - if (g < c) { - this.list.scrollTop = g + (this.hdr != null && this.conf.template.header == true ? 1 : 0) - } else { - if (e > a) { - this.list.scrollTop = e - this.list.clientHeight + (this.hdr != null && this.conf.template.header == true ? -this.conf.sp[this.conf.skin].scr_ofs : 0) - } - } -}; -dhtmlXCombo.prototype._setSelected = function(g, e, c, a) { - this.conf.temp_selected = null; - if (c) { - this._updateTopImage(g) - } - if (g != null && this.conf.last_hover == g) { - if (e) { - this._scrollToItem(g) - } - return - } - if (this.conf.last_hover != null) { - this.t[this.conf.last_hover].obj.setSelected(this.t[this.conf.last_hover].item, false); - this.conf.last_hover = null; - if (g == null) { - this.callEvent("onSelectionChange", []) - } - } - if (g != null) { - this.t[g].obj.setSelected(this.t[g].item, true); - this.conf.last_hover = g; - if (a != true) { - this.conf.temp_selected = g; - this.callEvent("onSelectionChange", []) - } - if (this.conf.s_mode == "select" && this.t[g].item == this.t[g].item.parentNode.lastChild) { - this._subloadRequest() - } - if (e) { - this._scrollToItem(g) - } - } -}; -dhtmlXCombo.prototype._subloadRequest = function() { - if (this.conf.f_url != null && this.conf.f_dyn == true && this.conf.f_dyn_end == false) { - var e = "mask=" + encodeURIComponent(this.conf.f_mask) + "&pos=" + this.list.childNodes.length; - var a = this; - var c = function(h) { - if (a.conf.f_cache) { - a.conf.f_cache_data[a.conf.f_mask].data.push(h.xmlDoc.responseXML) - } - var g = a.list.childNodes.length; - a.conf.f_loading = true; - a.load(h.xmlDoc.responseXML); - a.conf.f_loading = false; - if (g == a.list.childNodes.length) { - a.conf.f_dyn_end = true; - if (a.conf.f_cache) { - a.conf.f_cache_data[a.conf.f_mask].dyn_end = true - } - } - c = a = null - }; - if (window.dhx4.ajax.method == "post") { - window.dhx4.ajax.post(this.conf.f_url, e, c) - } else { - if (window.dhx4.ajax.method == "get") { - window.dhx4.ajax.get(this.conf.f_url + (String(this.conf.f_url).indexOf("?") >= 0 ? "&" : "?") + e, c) - } - } - } -}; -dhtmlXCombo.prototype.addOption = function(l, m, c, a, g) { - var e = null; - if (!(l instanceof Array)) { - var n = this._renderOption({ - value: l, - text: m, - css: c, - img: a - }); - if (e == null && window.dhx4.s2b(g) == true) { - e = n - } - } else { - for (var h = 0; h < l.length; h++) { - if (typeof(l[h]) == "undefined") { - continue - } - if (l[h] instanceof Array) { - n = this._renderOption({ - value: l[h][0], - text: l[h][1], - css: l[h][2], - img: l[h][3] - }); - if (e == null && window.dhx4.s2b(l[h][4]) == true) { - e = n - } - } else { - var n = this._renderOption(l[h]); - if (e == null && window.dhx4.s2b(l[h].selected) == true) { - e = n - } - } - } - } - if (e != null) { - this._setSelected(e, this._isListVisible(), true); - this._confirmSelect("onInit") - } -}; -dhtmlXCombo.prototype.updateOption = function(a, e, c, g) { - var h = this._getOptionId(a); - if (h == null) { - return - } - this.t[h].obj.update(this.t[h].item, { - value: e, - text: c, - css: g - }); - if (this.conf.last_selected == h) { - this.conf.last_text = this.base.firstChild.value = this.t[h].obj.getText(this.t[h].item, true); - this.conf.f_server_last = this.base.firstChild.value.toLowerCase() - } -}; -dhtmlXCombo.prototype.deleteOption = function(g) { - for (var c in this.t) { - var e = this.t[c].obj.getValue(this.t[c].item); - if (e == g) { - this._removeOption(c) - } - } - if (this._isListVisible()) { - this._showList(true) - } -}; -dhtmlXCombo.prototype.clearAll = function(c) { - c = (typeof(c) == "undefined" ? true : window.dhx4.s2b(c)); - for (var e in this.t) { - this._removeOption(e) - } - if (this.conf.tm_hover) { - window.clearTimeout(this.conf.tm_hover) - } - this.conf.last_hover = null; - this.conf.last_selected = null; - this.list.scrollTop = 0; - if (c == true) { - this._hideList() - } -}; -dhtmlXCombo.prototype._renderOption = function(g) { - var h = window.dhx4.newId(); - var e = document.createElement("DIV"); - e._optId = h; - e._tpl = this.conf.template; - if (typeof(g.img) == "undefined" && typeof(g.img_src) != "undefined") { - g.img = g.img_src; - delete g.img_src - } - if (typeof(g.img_dis) == "undefined" && typeof(g.img_src_dis) != "undefined") { - g.img_dis = g.img_src_dis; - delete g.img_src_dis - } - g.img_path = this.conf.img_path; - g.img_def = this.conf.img_def; - g.img_def_dis = this.conf.img_def_dis; - this.list.appendChild(e); - var c = (this._isListVisible() && window.dhx4.isFF == true); - if (c == true) { - var a = this.list.scrollTop; - this.list.scrollTop -= 1 - } - if (this.hdr != null) { - g.multicol = true - } - this.t[e._optId] = { - obj: this.modes[this.conf.opts_type].render(e, g), - item: e, - conf: { - type: this.conf.opts_type - } - }; - e = null; - if (c == true) { - this.list.scrollTop += 1 - } - return h -}; -dhtmlXCombo.prototype._removeOption = function(a) { - this.t[a].obj.destruct(this.t[a].item); - this.t[a].obj = null; - this.t[a].item.parentNode.removeChild(this.t[a].item); - this.t[a].item = null; - this.t[a].conf = null; - this.t[a] = null; - delete this.t[a]; - if (this.conf.last_hover == a) { - this.conf.last_hover = null - } - if (this.conf.last_selected == a) { - this.conf.last_selected = null; - this._confirmSelect("onDelete") - } -}; -dhtmlXCombo.prototype._confirmSelect = function(e, a) { - var c = false; - if (typeof(a) == "undefined") { - a = true - } - if (this.conf.f_server_tm) { - window.clearTimeout(this.conf.f_server_tm) - } - if (this.conf.last_hover != null) { - c = c || (this.conf.last_value != this._getOptionValue(this.conf.last_hover)); - this.conf.last_match = this.conf.last_selected = this.conf.last_hover; - this.conf.last_value = this._getOptionValue(this.conf.last_selected); - this.conf.last_text = this.base.firstChild.value = this.t[this.conf.last_selected].obj.getText(this.t[this.conf.last_selected].item, true); - this.conf.f_server_last = this.base.firstChild.value.toLowerCase(); - this.base.childNodes[1].value = this.conf.last_value; - this.base.childNodes[2].value = "false" - } else { - if (this.conf.allow_free_text || (this.base.firstChild.value == "" && this.conf.allow_empty_value)) { - c = c || (this.conf.last_text != this.base.firstChild.value); - this.conf.last_match = this.conf.last_value = this.conf.last_selected = null; - if (e != "onDelete") { - this.conf.last_text = this.base.firstChild.value - } - this.conf.f_server_last = this.base.firstChild.value.toLowerCase(); - this.base.childNodes[1].value = this.conf.last_text; - this.base.childNodes[2].value = "true" - } else { - if (e != "template") { - this._cancelSelect(true); - this._updateTopImage(this.conf.last_selected); - return - } - } - } - if (this.conf.f_ac && this.conf.f_mode == "start") { - this.conf.f_ac_text = ""; - if (e != "blur") { - this._selectRange(this.base.firstChild.value.length, this.base.firstChild.value.length) - } - } - if (a) { - this._hideList() - } - if (c == true && e != "onInit" && e != "onDelete") { - this.callEvent("onSelectionChange", []); - this.callEvent("onChange", [this.conf.last_value, this.conf.last_text]) - } -}; -dhtmlXCombo.prototype._cancelSelect = function(a) { - this._hideList(); - if (a == true && this.conf.allow_free_text == false && this.conf.free_text_empty == true) { - this.conf.f_server_last = this.conf.last_match = this.conf.last_value = this.conf.last_selected = null; - this.base.childNodes[1].value = this.conf.last_text = this.base.firstChild.value = ""; - this.base.childNodes[2].value = "false" - } else { - this.base.firstChild.value = this.conf.last_text - } - if (this.conf.f_mode != false) { - this._filterOpts(true) - } -}; -dhtmlXCombo.prototype._getOption = function(m, g) { - if (!this.t[m]) { - return null - } - if (typeof(g) == "undefined") { - g = -1 - } - if (g < 0) { - for (var l = 0; l < this.list.childNodes.length; l++) { - if (g < 0 && this.list.childNodes[l]._optId == m) { - g = l - } - } - } - var h = { - value: this.t[m].obj.getValue(this.t[m].item), - text: this.t[m].obj.getText(this.t[m].item), - text_input: this.t[m].obj.getText(this.t[m].item, true), - text_option: this.t[m].obj.getText(this.t[m].item, null, true), - css: this.t[m].obj.getCss(this.t[m].item), - selected: (m == this.conf.last_selected), - index: g - }; - if (typeof(this.t[m].obj.getExtraData) == "function") { - var e = this.t[m].obj.getExtraData(this.t[m].item); - for (var c in e) { - if (typeof(h[c]) == "undefined") { - h[c] = e[c] - } - } - } - return h -}; -dhtmlXCombo.prototype._getOptionProp = function(g, e, c) { - if (g != null) { - var a = this._getOption(g); - if (a != null) { - return a[e] - } - } - return c -}; -dhtmlXCombo.prototype._getOptionId = function(c) { - var g = null; - for (var a = 0; a < this.list.childNodes.length; a++) { - if (g == null) { - var e = this.list.childNodes[a]._optId; - if (c == this.t[e].obj.getValue(this.t[e].item)) { - g = e - } - } - } - return g -}; -dhtmlXCombo.prototype._getOptionValue = function(a) { - return this._getOptionProp(a, "value", null) -}; -dhtmlXCombo.prototype.setSize = function(a) { - this.conf.combo_width = parseInt(a) - (dhx4.isFF || dhx4.isIE || dhx4.isChrome || dhx4.isOpera ? 2 : 0); - this.base.style.width = Math.max(0, this.conf.combo_width) + "px"; - this._adjustBase(); - if (this._isListVisible()) { - this._hideList(); - this._showList() - } -}; -dhtmlXCombo.prototype._adjustBase = function() { - this.base.firstChild.style.width = Math.max(0, (this.conf.combo_width - (this.conf.i_ofs + 1) - (this.conf.combo_image ? this.conf.i_ofs : 0))) + "px"; - this.base.firstChild.style.marginLeft = (this.conf.combo_image ? this.conf.i_ofs + "px" : "0px") -}; -dhtmlXCombo.prototype.setOptionWidth = function(a) { - this.conf.opts_width = (parseInt(a) || null) -}; -dhtmlXCombo.prototype.setOptionIndex = function(e, a) { - if (isNaN(a) || a < 0) { - return - } - var g = this.getOption(e); - if (g == null) { - return - } - if (a == g.index) { - return - } - var c = this.list.childNodes[g.index]; - c.parentNode.removeChild(c); - if (this.list.childNodes[a] != null) { - this.list.insertBefore(c, this.list.childNodes[a]) - } else { - this.list.appendChild(c) - } - c = null -}; -dhtmlXCombo.prototype.getOptionsCount = function() { - return this.list.childNodes.length -}; -dhtmlXCombo.prototype._mcMakeTemplate = function(o) { - var l = ""; - var g = ""; - this.conf.col_w = 0; - for (var m = 0; m < o.length; m++) { - var a = Number(parseInt(o[m].width) || 50); - var e = (o[m].css || ""); - var n = (m == 0 && window.dhx4.isIE6 == true ? "_first" : ""); - g += "
                    " + (o[m].option || " ") + "
                    "; - l += "
                    " + (o[m].header || " ") + "
                    "; - this.conf.col_w += a + 1 - } - var a = 500; - var c = document.createElement("DIV"); - c.style.position = "absolute"; - c.style.top = "10px"; - c.style.left = -a * 2 + "px"; - c.style.width = a + "px"; - c.style.height = "50px"; - c.style.overflowY = "scroll"; - c.innerHTML = "
                     
                    "; - document.body.appendChild(c); - this.conf.col_w += a - c.firstChild.offsetWidth + 10; - c.parentNode.removeChild(c); - c = null; - this.conf.template.option = g; - this._mcAttachHeader(l); - this.list.className += " dhxcombolist_multicolumn" -}; -dhtmlXCombo.prototype._mcAttachHeader = function(a) { - if (this.hdr == null) { - this.hdr = document.createElement("DIV"); - this.hdr.className = "dhxcombolist_" + this.conf.skin + " dhxcombolist_hdr"; - this.hdr.style.display = "none"; - this.list.parentNode.insertBefore(this.hdr, this.list); - if (typeof(window.addEventListener) == "function") { - this.hdr.addEventListener("mousedown", this._doOnListMouseDown, false) - } else { - this.hdr.attachEvent("onmousedown", this._doOnListMouseDown) - } - if (this.conf.opts_type == "checkbox" && this.conf.combo_image == true) { - this.conf.combo_image = false; - if (this.base.lastChild.className.match(/dhxcombo_top_image/) != null) { - this.base.removeChild(this.base.lastChild) - } - this._adjustBase() - } - } - this.hdr.innerHTML = "
                    " + a + "
                    " -}; -dhtmlXCombo.prototype._mcDetachHeader = function() { - if (this.hdr != null) { - if (typeof(window.addEventListener) == "function") { - this.hdr.removeEventListener("mousedown", this._doOnListMouseDown, false) - } else { - this.hdr.detachEvent("onmousedown", this._doOnListMouseDown) - } - this.hdr.parentNode.removeChild(this.hdr); - this.hdr = null - } - this.conf.col_w = null; - this.conf.item_h = null -}; -dhtmlXCombo.prototype.modes = {}; -dhtmlXCombo.prototype.doWithItem = function(a, m, h, e) { - var l = (a >= 0 && a < this.list.childNodes.length ? this.list.childNodes[a]._optId : null); - if (l == null) { - return null - } - if (typeof(this.t[l].obj[m]) != "function") { - return null - } - var g = [this.t[l].item]; - for (var c = 2; c < arguments.length; c++) { - g.push(arguments[c]) - } - return this.t[l].obj[m].apply(this.t[l].obj, g) -}; - -function dhtmlXComboExtend(g, e) { - for (var c in dhtmlXCombo.prototype.modes[e]) { - if (typeof(dhtmlXCombo.prototype.modes[g][c]) == "undefined") { - dhtmlXCombo.prototype.modes[g][c] = dhtmlXCombo.prototype.modes[e][c] - } - } -} -dhtmlXCombo.prototype.modes.option = { - image: false, - html: false, - option_css: "dhxcombo_option_text", - render: function(a, c) { - a._conf = { - value: c.value, - css: "" - }; - a.className = "dhxcombo_option"; - a.innerHTML = "
                     
                    "; - if (c.css != null) { - a.lastChild.style.cssText = c.css; - a._conf.css = c.css - } - this.setText(a, c.text); - return this - }, - destruct: function(a) { - a._conf = null - }, - update: function(a, c) { - a._conf.value = c.value; - a._conf.css = c.css; - a.lastChild.style.cssText = c.css; - this.setText(a, c.text) - }, - setText: function(e, g, c) { - e._conf.text = g; - var a = (typeof(g) == "object" ? window.dhx4.template(e._tpl.option, this.replaceHtml(e._conf.text, c), true) : window.dhx4.trim(this.replaceHtml(e._conf.text, c) || "")); - e.lastChild.innerHTML = (a.length == 0 ? " " : a) - }, - getText: function(e, a, c) { - if (window.dhx4.s2b(a) && typeof(e._conf.text) == "object") { - return window.dhx4.template(e._tpl.input, e._conf.text, true) - } - if (window.dhx4.s2b(c) && typeof(e._conf.text) == "object") { - return window.dhx4.template(e._tpl.option, e._conf.text, true) - } - return e._conf.text - }, - getValue: function(a) { - return a._conf.value - }, - getCss: function(a) { - return a._conf.css - }, - setSelected: function(a, c) { - a.className = "dhxcombo_option" + (c ? " dhxcombo_option_selected" : "") - }, - isSelected: function(a) { - return String(a.className).indexOf("dhxcombo_option_selected") >= 0 - }, - getExtraData: function(a) { - return { - type: "option" - } - }, - replaceHtml: function(h, g) { - if (h === 0) { - h = "0" - } - if (this.html == true) { - return h - } - if (typeof(g) == "undefined" || g == null) { - g = {} - } - if (typeof(h) == "object" && h) { - var e = {}; - for (var c in h) { - e[c] = (g[c] == true ? h[c] : this.replaceHtml(h[c])) - } - } else { - var e = (h || "").replace(/[\<\>\&\s]/g, function(a) { - switch (a) { - case "<": - return "<"; - case ">": - return ">"; - case "&": - return "&"; - case " ": - return " " - } - return a - }) - } - return e - } -}; -dhtmlXCombo.prototype.modes.checkbox = { - image: true, - html: false, - image_css: "dhxcombo_checkbox dhxcombo_chbx_#state#", - option_css: "dhxcombo_option_text dhxcombo_option_text_chbx", - render: function(c, e) { - if (this.image_css_regexp == null) { - this.image_css_regexp = new RegExp(this.image_css.replace("#state#", "\\d*")) - } - c._conf = { - value: e.value, - css: "", - checked: window.dhx4.s2b(e.checked) - }; - c.className = "dhxcombo_option"; - var a = {}; - if (e.multicol == true) { - e.text.checkbox = "
                     "; - a.checkbox = true; - c.innerHTML = "
                    " - } else { - c.innerHTML = "
                     
                    " - } - if (e.css != null) { - c.lastChild.style.cssText += e.css; - c._conf.css = e.css - } - this.setText(c, e.text, a); - return this - }, - setChecked: function(c, e) { - c._conf.checked = window.dhx4.s2b(e); - var a = String(this.image_css).replace("#state#", (c._conf.checked ? "1" : "0")); - this._changeChbxCss(c.childNodes, a) - }, - _changeChbxCss: function(a, c) { - for (var e = 0; e < a.length; e++) { - if (a[e].tagName != null && a[e].className != null && a[e].className.match(this.image_css_regexp) != null) { - a[e].className = c - } else { - if (a[e].childNodes.length > 0) { - this._changeChbxCss(a[e].childNodes, c) - } - } - } - }, - isChecked: function(a) { - return (a._conf.checked == true) - }, - getExtraData: function(a) { - return { - type: "checkbox", - checked: a._conf.checked - } - }, - optionClick: function(h, g, l) { - var e = true; - var c = (g.target || g.srcElement); - while (e == true && c != null && c != h && c.className != null) { - if (c.className.match(this.image_css_regexp) != null) { - var a = [h._conf.value, !h._conf.checked]; - if (l.callEvent("onBeforeCheck", a) === true) { - this.setChecked(h, !this.isChecked(h)); - l.callEvent("onCheck", a) - } - e = false; - a = null - } else { - c = c.parentNode - } - } - c = l = h = null; - return e - }, - getTopImage: function(c, a) { - return "" - }, - topImageClick: function(a, c) { - return true - } -}; -dhtmlXComboExtend("checkbox", "option"); -dhtmlXCombo.prototype.setChecked = function(a, c) { - this.doWithItem(a, "setChecked", c) -}; -dhtmlXCombo.prototype.getChecked = function(a) { - var c = []; - for (var e = 0; e < this.list.childNodes.length; e++) { - if (this.isChecked(e)) { - c.push(this._getOptionProp(this.list.childNodes[e]._optId, "value", "")) - } - } - return c -}; -dhtmlXCombo.prototype.isChecked = function(a) { - return this.doWithItem(a, "isChecked") -}; -dhtmlXCombo.prototype.modes.image = { - image: true, - html: false, - image_css: "dhxcombo_image", - option_css: "dhxcombo_option_text dhxcombo_option_text_image", - render: function(a, c) { - a._conf = { - value: c.value, - css: "" - }; - a.className = "dhxcombo_option"; - a.innerHTML = "
                     
                    "; - if (c.css != null) { - a.lastChild.style.cssText += c.css; - a._conf.css = c.css - } - this.setText(a, c.text); - this.setImage(a, c.img, c.img_dis, c.img_path, c.img_def, c.img_def_dis); - return this - }, - update: function(a, c) { - a._conf.value = c.value; - a._conf.css = c.css; - a.lastChild.style.cssText = c.css; - this.setText(a, c.text); - this.setImage(a, c.img, c.img_dis, c.img_path, c.img_def, c.img_def_dis) - }, - setImage: function(e, a, h, l, g, c) { - if (a != null && a.length > 0) { - a = l + a - } else { - if (g != null && g.length > 0) { - a = l + g - } else { - a = null - } - } - if (h != null && h.length > 0) { - h = l + h - } else { - if (c != null && c.length > 0) { - h = l + c - } else { - if (c == true) { - h = a - } else { - h = null - } - } - } - e._conf.img = a; - e._conf.img_dis = h; - e.firstChild.style.backgroundImage = (a != null ? "url(" + a + ")" : "none") - }, - getExtraData: function(a) { - return { - type: "image" - } - }, - getTopImage: function(g, e) { - var c = (e ? "img" : "img_dis"); - if (g != null && g._conf[c] != null) { - return "
                    " - } - return "" - } -}; -dhtmlXComboExtend("image", "option"); -dhtmlXCombo.prototype.setDefaultImage = function(a, c) { - if (a != null) { - this.conf.img_def = a - } - if (c != null) { - this.conf.img_def_dis = c - } -}; -dhtmlXCombo.prototype.setImagePath = function(a) { - this.conf.img_path = a -}; - -function dhtmlXColorPicker(n) { - if (!(this instanceof window.dhtmlXColorPicker)) { - return new dhtmlXColorPicker(n) - } - dhx4._eventable(this); - var h = this, - g = undefined, - m = null, - e, a, c; - this._nodes = []; - this.activeNode = null; - this._inputListenerId = null; - this.base = null; - this._globalNode = null; - this.memory = null; - this.skin = null; - this.conf = { - cp_id: dhx4.newId(), - x: 0, - y: 0, - c: 0, - indent: 2, - position: "right", - customColors: false, - selectedColor: null, - hide: false, - hideOnSelect: false, - lang: "en", - closeable: true - }; - this.value = { - red: -1, - blue: -1, - green: -1, - hue: -1, - sat: -1, - lum: -1 - }; - this._initMoveSelection = function(l) { - l = l || event; - if (typeof(window.addEventListener) == "function") { - h._controllerNodes.colorArea.addEventListener("mousemove", h._setMoveSelection, false); - document.body.addEventListener("mouseup", h._cleanMoveSelection, false) - } else { - h._controllerNodes.colorArea.attachEvent("onmousemove", h._setMoveSelection); - document.body.attachEvent("onmouseup", h._cleanMoveSelection) - } - h._setMoveSelection(l, h._controllerNodes.colorArea); - return false - }; - this._cleanMoveSelection = function() { - if (typeof(window.removeEventListener) == "function") { - h._controllerNodes.colorArea.removeEventListener("mousemove", h._setMoveSelection, false); - document.body.removeEventListener("mouseup", h._cleanMoveSelection, false) - } else { - h._controllerNodes.colorArea.detachEvent("onmousemove", h._setMoveSelection); - document.body.detachEvent("onmouseup", h._cleanMoveSelection) - } - return false - }; - this._setMoveSelection = function(l) { - l = l || event; - var o = h._getOffsetPosition(l, h._controllerNodes.colorArea); - if (h._controllerNodes.fr_cover) { - setTimeout(function() { - h._setColorAreaXY(o.x, o.y); - h._setColorByXYC() - }, 0) - } else { - h._setColorAreaXY(o.x, o.y); - h._setColorByXYC() - } - return false - }; - this._initMoveContrast = function(l) { - l = l || event; - if (typeof(window.addEventListener) == "function") { - document.body.addEventListener("mousemove", h._setMoveContrast, false); - document.body.addEventListener("mouseup", h._cleanMoveContrast, false) - } else { - document.body.attachEvent("onmousemove", h._setMoveContrast); - document.body.attachEvent("onmouseup", h._cleanMoveContrast) - } - h._setMoveContrast(l, h._controllerNodes.contrastArea) - }; - this._cleanMoveContrast = function() { - if (typeof(window.removeEventListener) == "function") { - document.body.removeEventListener("mousemove", h._setMoveContrast, false); - document.body.removeEventListener("mouseup", h._cleanMoveContrast, false) - } else { - document.body.detachEvent("onmousemove", h._setMoveContrast); - document.body.detachEvent("onmouseup", h._cleanMoveContrast) - } - }; - this._setMoveContrast = function(l) { - l = l || event; - var o = h._getOffsetPosition(l, h._controllerNodes.contrastArea); - h._setContrastY(o.y); - h._setColorByXYC(true) - }; - this._doOnSelectColor = function() { - var l = h.colorAIP.rgb2hex({ - r: h.value.red, - g: h.value.green, - b: h.value.blue - }); - if (h.activeNode != null) { - if (h.activeNode.valueCont) { - h.activeNode.valueCont.value = l - } - if (h.activeNode.valueColor) { - h.activeNode.valueColor.style.backgroundColor = l - } - } - if (h.base._dhx_remove || h.conf.hideOnSelect) { - h.hide() - } - h.callEvent("onSelect", [l, ((h.activeNode) ? h.activeNode.node : null)]) - }; - this._doOnCancel = function() { - if (h.callEvent("onCancel", [((h.activeNode) ? h.activeNode.node : null)]) == true && h.conf.closeable == true) { - h.hide() - } - }; - this._doOnFocusByInput = function() { - var o = (this != window) ? this : event.srcElement; - var l = (h.activeNode && h.activeNode.valueCont && h.activeNode.valueCont == o) ? h.activeNode : h._getNodeByValueCont(o); - h.activeNode = l; - if (l && l == h.activeNode) { - h._initListenerInput() - } - }; - this._doOnBlurByInput = function() { - var o = (this != window) ? this : event.srcElement; - var l = (h.activeNode && h.activeNode.valueCont && h.activeNode.valueCont == o) ? h.activeNode : h._getNodeByValueCont(o); - if (l && l == h.activeNode) { - h._removeListenerInput() - } - }; - this._doOnClickByNode = function(o) { - o = o || event; - var l = (this != window) ? this : event.srcElement; - h.activeNode = (h.activeNode.node != l) ? h._getNodeByElement(l) : h.activeNode; - if (!h.isVisible()) { - h.show() - } - }; - this.saveColor = function() { - h.memory.setValue(h.value) - }; - this._onSelectMemoryEl = function(o) { - var l; - h._refreshCoordinatesByHSL(o.value.hue, o.value.sat, o.value.lum); - for (l in o.value) { - h.value[l] = o.value[l] - } - h._refreshContrast(); - h._refreshInputValues(); - h._refreshColorValue() - }; - this._doOnClickByBody = function(q) { - q = q || event; - var l = true, - o = q.target || q.srcElement; - if (h._isBaseNode(o)) { - l = false - } - if (l && h.activeNode && (h.activeNode.node == o || h.activeNode.valueCont == o)) { - l = false - } - if (l) { - h.hide() - } - }; - this._doOnChangeHSL = function() { - var q = parseInt(h._controllerNodes.hue.value), - o = parseInt(h._controllerNodes.sat.value), - l = parseInt(h._controllerNodes.lum.value), - r; - if (isNaN(q) || q > 359 || q < 0) { - h._controllerNodes.hue.value = h.value.hue - } else { - h.value.hue = q - } - if (isNaN(o) || o > 100 || o < 0) { - h._controllerNodes.sat.value = h.value.sat - } else { - h.value.sat = o - } - if (isNaN(l) || l > 100 || l < 0) { - h._controllerNodes.lum.value = h.value.lum - } else { - h.value.lum = l - } - r = h.colorAIP.hsl2rgb(h.value.hue, h.value.sat / 100, h.value.lum / 100); - h.value.red = Math.round(255 * r.r); - h.value.green = Math.round(255 * r.g); - h.value.blue = Math.round(255 * r.b); - h._refreshCoordinatesByHSL(h.value.hue, h.value.sat, h.value.lum); - h._refreshContrast(); - h._refreshInputValues(); - h._refreshColorValue() - }; - this._doOnChangeRGB = function() { - var r = parseInt(h._controllerNodes.red.value), - q = parseInt(h._controllerNodes.green.value), - l = parseInt(h._controllerNodes.blue.value), - o; - if (isNaN(r) || r > 255 || r < 0) { - h._controllerNodes.red.value = h.value.red - } else { - h.value.red = r - } - if (isNaN(q) || q > 255 || q < 0) { - h._controllerNodes.green.value = h.value.green - } else { - h.value.green = q - } - if (isNaN(l) || l > 255 || l < 0) { - h._controllerNodes.blue.value = h.value.blue - } else { - h.value.blue = l - } - o = h.colorAIP.rgb2hsl(h.value.red / 255, h.value.green / 255, h.value.blue / 255); - h.value.hue = Math.round(o.h); - h.value.sat = Math.round(o.s * 100); - h.value.lum = Math.round(o.l * 100); - h._refreshCoordinatesByHSL(h.value.hue, h.value.sat, h.value.lum); - h._refreshContrast(); - h._refreshInputValues(); - h._refreshColorValue() - }; - this._doOnChangeHSV = function() { - h._controllerNodes.hsv.value = h.setColor(h._controllerNodes.hsv.value) - }; - this._checkType = function(o) { - var l; - if (o instanceof Array) { - l = h._checkType(o[0]); - switch (l) { - case "string": - return "array_string"; - break; - case "input": - case "textarea": - return "array_input"; - break; - case "object": - return "array_object"; - break; - default: - return undefined - } - } else { - if (o == undefined) { - return null - } else { - if (typeof(o) == "string") { - return "string" - } else { - if (o.tagName && o.tagName.toLowerCase() == "input") { - return "input" - } else { - if (o.tagName && o.tagName.toLowerCase() == "textarea") { - return "textarea" - } else { - if (o.tagName) { - return "container" - } else { - if (typeof(o) == "object") { - return "object" - } else { - return undefined - } - } - } - } - } - } - } - }; - this._initByObject = function(l) { - if (l.parent && l.parent.tagName) { - h.base = l.parent - } else { - if (typeof(l.parent) == "string") { - h.base = document.getElementById(l.parent) - } else { - h.base = document.createElement("div"); - h.base._dhx_remove = true - } - } - if (l.color) { - h.conf.selectedColor = l.color - } - if (typeof(l.closeable) != "undefined") { - this.conf.closeable = dhx4.s2b(l.closeable) - } - if (l.custom_colors) { - this._tempInitCC = function() { - var r, q; - this.initMemoryColors(); - this.conf.customColors = true; - if (l.custom_colors instanceof Array) { - q = l.custom_colors.length; - for (r = 0; r < q; r++) { - this.setCustomColors(l.custom_colors[r]) - } - } - if (this.base.parentNode) { - this.showMemory() - } - delete this._tempInitCC - } - } - if (l.hide) { - h.conf.hide = true - } - if (l.input) { - h._addNode(l.input, l.target_color, l.target_value) - } - var o = l.skin || window.dhx4.skin || (typeof(dhtmlx) != "undefined" ? dhtmlx.skin : null) || window.dhx4.skinDetect("dhxcolorpicker") || "material"; - h.setSkin(o); - if (l.colors) { - h.initMemoryColors(); - h.conf.customColors = true - } - if (l.link) { - h._addNode(l.link) - } - }; - this.unload = function() { - var r, o, q; - if (this.isVisible()) { - this.hide() - } - this.destructMemory(); - o = this._nodes.length; - for (r = 0; r < o; r++) { - this._detachEventsFromNode(this._nodes[r]); - for (q in this._nodes[r]) { - this._nodes[r][q] = null - } - delete this._nodes[r] - } - this._nodes = null; - if (!this.base._dhx_remove) { - this.base.className = this.base.className.replace(/\s?dhtmlxcp_\S*/, "") - } else { - delete this.base._dhx_remove - } - if (typeof(window.addEventListener) == "function") { - this._controllerNodes.colorArea.removeEventListener("mousedown", this._initMoveSelection, false); - this._controllerNodes.colorArea.removeEventListener("dblclick", this._doOnSelectColor, false); - this._controllerNodes.contrastArea.removeEventListener("mousedown", this._initMoveContrast, false); - this._controllerNodes.button_save.removeEventListener("click", this._doOnSelectColor, false); - this._controllerNodes.button_cancel.removeEventListener("click", this._doOnCancel, false); - this._controllerNodes.hue.removeEventListener("change", this._doOnChangeHSL, false); - this._controllerNodes.sat.removeEventListener("change", this._doOnChangeHSL, false); - this._controllerNodes.lum.removeEventListener("change", this._doOnChangeHSL, false); - this._controllerNodes.red.removeEventListener("change", this._doOnChangeRGB, false); - this._controllerNodes.green.removeEventListener("change", this._doOnChangeRGB, false); - this._controllerNodes.blue.removeEventListener("change", this._doOnChangeRGB, false); - this._controllerNodes.hsv.removeEventListener("change", this._doOnChangeHSV, false) - } else { - this._controllerNodes.colorArea.detachEvent("onmousedown", this._initMoveSelection); - this._controllerNodes.colorArea.detachEvent("ondblclick", this._doOnSelectColor); - this._controllerNodes.contrastArea.detachEvent("onmousedown", this._initMoveContrast); - this._controllerNodes.button_save.detachEvent("onclick", this._doOnSelectColor); - this._controllerNodes.button_cancel.detachEvent("onclick", this._doOnCancel); - this._controllerNodes.hue.detachEvent("onchange", this._doOnChangeHSL); - this._controllerNodes.sat.detachEvent("onchange", this._doOnChangeHSL); - this._controllerNodes.lum.detachEvent("onchange", this._doOnChangeHSL); - this._controllerNodes.red.detachEvent("onchange", this._doOnChangeRGB); - this._controllerNodes.green.detachEvent("onchange", this._doOnChangeRGB); - this._controllerNodes.blue.detachEvent("onchange", this._doOnChangeRGB); - this._controllerNodes.hsv.detachEvent("onchange", this._doOnChangeHSV) - } - if (this._controllerNodes.fr_cover) { - if (this._controllerNodes.fr_cover.parentNode) { - this._controllerNodes.fr_cover.parentNode.removeChild(this._controllerNodes.fr_cover) - } - delete this._controllerNodes.fr_cover - } - dhx4.zim.clear(this.conf.cp_id); - dhx4._eventable(this, "clear"); - for (q in this) { - this[q] = null - } - h = null, m = null, c = null - }; - g = this._checkType(n); - switch (g) { - case "object": - h._initByObject(n); - break; - case "input": - case "textarea": - h._initByObject({}); - this._addNode(n); - break; - case "string": - m = document.getElementById(n); - return new dhtmlXColorPicker(m); - break; - case "container": - h._initByObject({ - parent: n - }); - break; - case null: - h._initByObject({}); - break; - case "array_string": - case "array_input": - h._initByObject({}); - a = n.length; - for (e = 0; e < a; e++) { - this._addNode(n[e]) - } - break; - case "array_object": - h._initByObject({}); - a = n.length; - for (e = 0; e < a; e++) { - c = this._addNode(n[e].input, n[e].target_color, n[e].target_value).conf; - c.customColors = (n[e].custom_colors != undefined) ? dhx4.s2b(n[e].custom_colors) : c.customColors; - c.selectedColor = (n[e].color != undefined) ? n[e].color : c.selectedColor - } - break - } - this.base.innerHTML = "
                    " + this.i18n[this.conf.lang].labelHue + "" + this.i18n[this.conf.lang].labelRed + "
                    " + this.i18n[this.conf.lang].labelSat + "" + this.i18n[this.conf.lang].labelGreen + "
                    " + this.i18n[this.conf.lang].labelLum + "" + this.i18n[this.conf.lang].labelBlue + "
                    "; - "
                    "; - this._globalNode = this.base.firstChild; - this._controllerNodes = { - colorArea: this._globalNode.firstChild.firstChild.firstChild, - v_line: this._globalNode.firstChild.firstChild.firstChild.childNodes[0], - h_line: this._globalNode.firstChild.firstChild.firstChild.childNodes[1], - contrastArea: this._globalNode.firstChild.firstChild.childNodes[1], - contrast_line: this._globalNode.firstChild.firstChild.childNodes[1].firstChild, - color: this._globalNode.firstChild.childNodes[1].childNodes[0].firstChild, - hsv: this._globalNode.firstChild.childNodes[1].childNodes[0].childNodes[1], - hue: this._globalNode.firstChild.childNodes[1].childNodes[1].firstChild.childNodes[0].childNodes[1].firstChild, - sat: this._globalNode.firstChild.childNodes[1].childNodes[1].firstChild.childNodes[1].childNodes[1].firstChild, - lum: this._globalNode.firstChild.childNodes[1].childNodes[1].firstChild.childNodes[2].childNodes[1].firstChild, - red: this._globalNode.firstChild.childNodes[1].childNodes[1].firstChild.childNodes[0].childNodes[3].firstChild, - green: this._globalNode.firstChild.childNodes[1].childNodes[1].firstChild.childNodes[1].childNodes[3].firstChild, - blue: this._globalNode.firstChild.childNodes[1].childNodes[1].firstChild.childNodes[2].childNodes[3].firstChild, - memory_block: this._globalNode.firstChild.childNodes[2], - button_save: this._globalNode.firstChild.childNodes[3].firstChild, - button_cancel: this._globalNode.firstChild.childNodes[3].childNodes[1] - }; - this._labelNodes = { - labelHue: this._globalNode.firstChild.childNodes[1].childNodes[1].firstChild.childNodes[0].firstChild, - labelSat: this._globalNode.firstChild.childNodes[1].childNodes[1].firstChild.childNodes[1].firstChild, - labelLum: this._globalNode.firstChild.childNodes[1].childNodes[1].firstChild.childNodes[2].firstChild, - labelRed: this._globalNode.firstChild.childNodes[1].childNodes[1].firstChild.childNodes[0].childNodes[2], - labelGreen: this._globalNode.firstChild.childNodes[1].childNodes[1].firstChild.childNodes[1].childNodes[2], - labelBlue: this._globalNode.firstChild.childNodes[1].childNodes[1].firstChild.childNodes[2].childNodes[2], - btnAddColor: null, - btnSelect: this._globalNode.firstChild.childNodes[3].firstChild, - btnCancel: this._globalNode.firstChild.childNodes[3].childNodes[1] - }; - if (typeof(this._tempInitCC) == "function") { - this._tempInitCC() - } - if (typeof(window.addEventListener) == "function") { - this._controllerNodes.colorArea.addEventListener("mousedown", this._initMoveSelection, false); - this._controllerNodes.colorArea.addEventListener("dblclick", this._doOnSelectColor, false); - this._controllerNodes.contrastArea.addEventListener("mousedown", this._initMoveContrast, false); - this._controllerNodes.button_save.addEventListener("click", this._doOnSelectColor, false); - this._controllerNodes.button_cancel.addEventListener("click", this._doOnCancel, false); - this._controllerNodes.hue.addEventListener("change", this._doOnChangeHSL, false); - this._controllerNodes.sat.addEventListener("change", this._doOnChangeHSL, false); - this._controllerNodes.lum.addEventListener("change", this._doOnChangeHSL, false); - this._controllerNodes.red.addEventListener("change", this._doOnChangeRGB, false); - this._controllerNodes.green.addEventListener("change", this._doOnChangeRGB, false); - this._controllerNodes.blue.addEventListener("change", this._doOnChangeRGB, false); - this._controllerNodes.hsv.addEventListener("change", this._doOnChangeHSV, false) - } else { - this._controllerNodes.colorArea.attachEvent("onmousedown", this._initMoveSelection); - this._controllerNodes.colorArea.attachEvent("ondblclick", this._doOnSelectColor); - this._controllerNodes.contrastArea.attachEvent("onmousedown", this._initMoveContrast); - this._controllerNodes.button_save.attachEvent("onclick", this._doOnSelectColor); - this._controllerNodes.button_cancel.attachEvent("onclick", this._doOnCancel); - this._controllerNodes.hue.attachEvent("onchange", this._doOnChangeHSL); - this._controllerNodes.sat.attachEvent("onchange", this._doOnChangeHSL); - this._controllerNodes.lum.attachEvent("onchange", this._doOnChangeHSL); - this._controllerNodes.red.attachEvent("onchange", this._doOnChangeRGB); - this._controllerNodes.green.attachEvent("onchange", this._doOnChangeRGB); - this._controllerNodes.blue.attachEvent("onchange", this._doOnChangeRGB); - this._controllerNodes.hsv.attachEvent("onchange", this._doOnChangeHSV) - } - this.setColor(this.conf.selectedColor || "#ffffff"); - if (this._nodes.length) { - for (var e = 0; e < this._nodes.length; e++) { - this._attachEventsToNode(this._nodes[e]) - } - } - if (this.conf.hide) { - this.hide() - } - if (typeof(this._cpInitFRM) == "function") { - this._cpInitFRM() - } -} -dhtmlXColorPicker.prototype.linkTo = function(c, e, g) { - if (arguments.length == 1) { - e = g = c - } - var a; - c = c || null; - g = g || null; - if (typeof(e) == "string") { - e = document.getElementById(e) - } - a = this._addNode(e, c, g); - if (a) { - this._attachEventsToNode(a) - } - return a -}; -dhtmlXColorPicker.prototype._isBaseNode = function(a) { - if (a == this.base) { - return true - } - if (a.parentElement == document.body) { - return false - } else { - if (!a.parentElement) { - return false - } else { - return this._isBaseNode(a.parentElement) - } - } -}; -dhtmlXColorPicker.prototype._hasInput = function(e) { - var c, a, g = false; - a = this._nodes.length; - for (c = 0; c < a; c++) { - if (this._nodes[c].valueCont == e) { - g = true; - break - } - } - return g -}; -dhtmlXColorPicker.prototype._findNodesByArray = function(h) { - var e, a, c, g = []; - a = h.length; - for (e = 0; e < a; e++) { - if (typeof(h[e]) == "string") { - c = document.getElementById(h[e]) - } else { - c = h[e] - } - if (c) { - this._addNode(c) - } - } -}; -dhtmlXColorPicker.prototype._addNode = function(h, m, l) { - var c, g, e, a; - if (typeof(h) == "string") { - c = document.getElementById(h) - } else { - c = h - } - if (typeof(m) == "string") { - m = document.getElementById(m) - } - if (typeof(l) == "string") { - l = document.getElementById(l) - } - if (!c) { - return null - } - if (dhx4.s2b(c.getAttribute("colorbox"))) { - g = document.createElement("div"); - g.style.width = c.offsetWidth + "px"; - g.style.height = c.offsetHeight + "px"; - c.style.width = c.offsetWidth - (c.offsetHeight + 8) + "px"; - c.parentNode.insertBefore(g, c); - g.style.position = "relative"; - e = document.createElement("div"); - g.appendChild(c); - g.appendChild(e); - e.className = "dhxcp_colorBox"; - c.className += " dhxcp_colorInput"; - e.style.width = e.style.height = c.offsetHeight + "px" - } - a = { - node: c, - valueColor: (m != undefined) ? m : e || c, - valueCont: (l != undefined) ? l : c, - conf: { - customColors: (c.getAttribute("customcolors") != null) ? dhx4.s2b(c.getAttribute("customcolors")) : null, - selectedColor: c.getAttribute("selectedcolor") - } - }; - this._nodes.push(a); - if (!this.activeNode) { - this.activeNode = a - } - return a -}; -dhtmlXColorPicker.prototype.getNode = function(e) { - var a = null, - c = null; - if (typeof(e) == "string") { - a = document.getElementById(e) - } else { - a = e - } - if (a.tagName != undefined) { - c = this._getNodeByElement(a) - } - return c -}; -dhtmlXColorPicker.prototype._getNodeByElement = function(e) { - var g = null, - c, a; - a = this._nodes.length; - for (c = 0; c < a; c++) { - if (this._nodes[c].node == e) { - g = this._nodes[c] - } - } - return g -}; -dhtmlXColorPicker.prototype._getNodeByValueCont = function(e) { - var g = null, - c, a; - a = this._nodes.length; - for (c = 0; c < a; c++) { - if (this._nodes[c].valueCont && this._nodes[c].valueCont == e) { - g = this._nodes[c] - } - } - return g -}; -dhtmlXColorPicker.prototype.initMemoryColors = function() { - var c = this; - this._controllerNodes.memory_block.innerHTML = "
                    "; - this.memory = new this.Memory(this._controllerNodes.memory_block.childNodes[1]); - this.memory.onSelect = this._onSelectMemoryEl; - this.memory.onSave = function(g) { - var e = c.colorAIP.rgb2hex({ - r: g.red, - g: g.green, - b: g.blue - }); - c.callEvent("onSaveColor", [e]) - }; - var a = this._controllerNodes.memory_block.childNodes[0].firstChild; - this._labelNodes.btnAddColor = this._controllerNodes.memory_block.childNodes[0].firstChild.firstChild; - if (typeof(window.addEventListener) == "function") { - a.addEventListener("click", this.saveColor, false) - } else { - a.attachEvent("onclick", this.saveColor) - } -}; -dhtmlXColorPicker.prototype._refreshCoordinatesByHSL = function(n, m, c) { - var a, g, e; - a = Math.round((this.configColorArea.maxX - this.configColorArea.minX) * n / 359) + this.configColorArea.minX; - g = Math.round((this.configColorArea.maxY - this.configColorArea.minY) * (100 - c) / 100) + this.configColorArea.minY; - e = Math.round((this.configColorArea.maxY - this.configColorArea.minY) * (100 - m) / 100) + this.configColorArea.minY; - this._setColorAreaXY(a, g); - this._setContrastY(e) -}; -dhtmlXColorPicker.prototype._parseColor = function(e) { - if (e instanceof Array) { - var c = { - r: parseInt(e[0]), - g: parseInt(e[1]), - b: parseInt(e[2]) - } - } else { - if (typeof(e) == "string") { - e = e.replace(/\s/g, ""); - if (/^rgb\((\d{1,3})\,(\d{1,3})\,(\d{1,3})\)$/i.test(e)) { - var a = e.match(/^rgb\((\d{1,3})\,(\d{1,3})\,(\d{1,3})\)$/i); - var c = { - r: parseInt(a[1]), - g: parseInt(a[2]), - b: parseInt(a[3]) - } - } else { - var c = this.colorAIP.hex2rgb(e) - } - } - } - return c -}; -dhtmlXColorPicker.prototype.setColor = function(l) { - var c = this.colorAIP.rgb2hex({ - r: this.value.red, - g: this.value.green, - b: this.value.blue - }); - var e = this._parseColor(l); - var h = (e instanceof Object); - h = h && (0 <= e.r && e.r <= 255); - h = h && (0 <= e.g && e.g <= 255); - h = h && (0 <= e.b && e.b <= 255); - if (!h) { - return c - } - var g = this.colorAIP.rgb2hex({ - r: e.r, - g: e.g, - b: e.b - }); - if (g == c) { - return c - } - this.value.red = e.r; - this.value.green = e.g; - this.value.blue = e.b; - var a = this.colorAIP.rgb2hsl(e.r / 255, e.g / 255, e.b / 255); - this.value.hue = Math.round(a.h); - this.value.sat = Math.round(a.s * 100); - this.value.lum = Math.round(a.l * 100); - this._refreshCoordinatesByHSL(this.value.hue, this.value.sat, this.value.lum); - this._refreshContrast(); - this._refreshInputValues(); - this._refreshColorValue(); - return g -}; -dhtmlXColorPicker.prototype.getSelectedColor = function() { - return [this.colorAIP.rgb2hex({ - r: this.value.red, - g: this.value.green, - b: this.value.blue - }), [this.value.red, this.value.green, this.value.blue], - [this.value.hue, this.value.sat, this.value.lum] - ] -}; -dhtmlXColorPicker.prototype._attachEventsToNode = function(a) { - if (typeof(window.addEventListener) == "function") { - a.node.addEventListener("click", this._doOnClickByNode, false) - } else { - a.node.attachEvent("onclick", this._doOnClickByNode) - } - if (a.valueCont && a.valueCont.tagName.toLowerCase() == "input") { - if (typeof(window.addEventListener) == "function") { - a.valueCont.addEventListener("focus", this._doOnFocusByInput, false); - a.valueCont.addEventListener("blur", this._doOnBlurByInput, false) - } else { - a.valueCont.attachEvent("onfocus", this._doOnFocusByInput); - a.valueCont.attachEvent("onblur", this._doOnBlurByInput) - } - } -}; -dhtmlXColorPicker.prototype._detachEventsFromNode = function(a) { - if (typeof(window.addEventListener) == "function") { - a.node.removeEventListener("click", this._doOnClickByNode, false) - } else { - a.node.detachEvent("onclick", this._doOnClickByNode) - } - if (a.valueCont && a.valueCont.tagName.toLowerCase() == "input") { - if (typeof(window.addEventListener) == "function") { - a.valueCont.removeEventListener("focus", this._doOnFocusByInput, false); - a.valueCont.removeEventListener("blur", this._doOnBlurByInput, false) - } else { - a.valueCont.detachEvent("onfocus", this._doOnFocusByInput); - a.valueCont.detachEvent("onblur", this._doOnBlurByInput) - } - } -}; -dhtmlXColorPicker.prototype.show = function(c) { - var a = false; - if (c != undefined) { - this.activeNode = this.getNode(c) || this.activeNode - } - if (this.activeNode && this.activeNode.valueCont && this.activeNode.valueCont.value) { - this.setColor(this.activeNode.valueCont.value) - } - if (this.activeNode) { - a = (this.activeNode.conf.customColors != null ? this.activeNode.conf.customColors : this.conf.customColors); - this.setColor(this.activeNode.conf.selectedColor) - } else { - a = this.conf.customColors - } - if (a) { - this.showMemory() - } else { - this.hideMemory() - } - if (this.base._dhx_remove) { - this.base.firstChild.style.zIndex = dhx4.zim.reserve(this.conf.cp_id); - this.base.style.visibility = "hidden"; - if (document.body.firstChild) { - document.body.insertBefore(this.base, document.body.firstChild) - } else { - document.body.appendChild(this.base) - } - this._refreshPosition(); - this.base.style.visibility = "visible"; - if (typeof(window.addEventListener) == "function") { - document.body.addEventListener("mousedown", this._doOnClickByBody, false) - } else { - document.body.attachEvent("onmousedown", this._doOnClickByBody) - } - } else { - this.base.appendChild(this._globalNode) - } - if (this._controllerNodes.fr_cover) { - this.base.insertBefore(this._controllerNodes.fr_cover, this._globalNode) - } - this.callEvent("onShow", [((this.activeNode) ? this.activeNode.node : null)]) -}; -dhtmlXColorPicker.prototype.setPosition = function(c, h) { - var g = null; - var a = parseInt(c); - var e = parseInt(h); - if (isNaN(a)) { - g = ({ - right: "right", - bottom: "bottom" - }[c.toLowerCase()] ? c : null) - } - if (this.base._dhx_remove) { - if (g == null) {} else { - this.conf.position = g; - this._refreshPosition(g) - } - } else { - if (isNaN(a) || isNaN(e)) {} else { - this._globalNode.style.left = a + "px"; - this._globalNode.style.top = e + "px"; - if (this._controllerNodes.fr_cover) { - this._controllerNodes.fr_cover.style.left = this._globalNode.style.left; - this._controllerNodes.fr_cover.style.top = this._globalNode.style.top - } - } - } -}; -dhtmlXColorPicker.prototype._initListenerInput = function() { - var a = this; - this._inputListenerId = this._inputListenerId || setInterval(function() { - a._refreshValueByInput() - }, 70) -}; -dhtmlXColorPicker.prototype._removeListenerInput = function() { - if (this._inputListenerId) { - clearInterval(this._inputListenerId); - this._inputListenerId = null - } -}; -dhtmlXColorPicker.prototype._refreshValueByInput = function() { - var c = this.activeNode.valueCont.value, - a = this.getSelectedColor()[0]; - if (this._inputListenerId) { - if (/^#[\da-f]{6}$/i.test(c) && c != a) { - this.setColor(c); - this.callEvent("onSelect", [c, this.activeNode.node]) - } - } -}; -dhtmlXColorPicker.prototype._refreshPosition = function(c) { - if (this.activeNode == null) { - return - } - var n = dhx4.absTop(this.activeNode.node); - var a = dhx4.absLeft(this.activeNode.node); - var g = dhx4.screenDim(); - var e = this._globalNode.offsetWidth; - var h = this._globalNode.offsetHeight; - var m = 0; - c = c || this.conf.position; - switch (c) { - case "bottom": - var m = n + this.activeNode.node.offsetHeight + this.conf.indent; - var l = a; - if (l + e > g.left + g.right) { - l = a + this.activeNode.node.offsetWidth - e - } - if (l < g.left) { - l = a - } - if (m + h > g.top + g.bottom) { - m = n - h - this.conf.indent - } - if (m - g.top < 0) { - m = g.top + this.conf.indent - } - this._globalNode.style.top = m + "px"; - this._globalNode.style.left = l + "px"; - break; - default: - var l = a + this.activeNode.node.offsetWidth + this.conf.indent; - m = n; - if (c == "right") { - if (l + e > g.left + g.right) { - l = a - e - this.conf.indent - } - if (l < g.left) { - l = a + this.activeNode.node.offsetWidth + this.conf.indent - } - } - if (g.bottom - (m + h) <= 0) { - m = n + this.activeNode.node.offsetHeight - h - } - if (m - g.top < 0) { - m = g.top + this.conf.indent - } - this._globalNode.style.left = l + "px"; - this._globalNode.style.top = m + "px" - } - if (this._controllerNodes.fr_cover) { - this._controllerNodes.fr_cover.style.left = this._globalNode.style.left; - this._controllerNodes.fr_cover.style.top = this._globalNode.style.top - } -}; -dhtmlXColorPicker.prototype.isVisible = function() { - var a = false; - if (this.base._dhx_remove) { - a = this.base.parentNode == document.body - } else { - a = this._globalNode.parentNode == this.base - } - return a -}; -dhtmlXColorPicker.prototype.hide = function() { - if (this.base._dhx_remove) { - if (this.base.parentNode) { - this.base.parentNode.removeChild(this.base); - dhx4.zim.clear(this.conf.cp_id); - if (typeof(window.addEventListener) == "function") { - document.body.removeEventListener("mousedown", this._doOnClickByBody, false) - } else { - document.body.detachEvent("onmousedown", this._doOnClickByBody) - } - } - } else { - if (this.isVisible() == false) { - return - } - this.base.removeChild(this._globalNode) - } - if (this._controllerNodes.fr_cover && this._controllerNodes.fr_cover.parentNode) { - this._controllerNodes.fr_cover.parentNode.removeChild(this._controllerNodes.fr_cover) - } - if (this.callEvent != undefined) { - this.callEvent("onHide", [((this.activeNode) ? this.activeNode.node : null)]) - } -}; -dhtmlXColorPicker.prototype.configColorArea = { - minX: 1, - maxX: 209, - minY: 1, - maxY: 119 -}; -dhtmlXColorPicker.prototype._skinCollection = { - dhx_skyblue: true, - dhx_web: true, - dhx_terrace: true, - material: true -}; -dhtmlXColorPicker.prototype.i18n = { - en: { - labelHue: "Hue", - labelSat: "Sat", - labelLum: "Lum", - labelRed: "Red", - labelGreen: "Green", - labelBlue: "Blue", - btnAddColor: "Save the color", - btnSelect: "Select", - btnCancel: "Cancel" - } -}; -dhtmlXColorPicker.prototype.loadUserLanguage = function(a) { - if (typeof(this._mergeLangModules) == "function") { - this._mergeLangModules() - } - this.conf.lang = a; - this._refreshLanguage() -}; -dhtmlXColorPicker.prototype._refreshLanguage = function() { - var a, c = this.i18n[this.conf.lang]; - for (a in c) { - if (this._labelNodes[a]) { - this._labelNodes[a].innerHTML = c[a] - } - } -}; -dhtmlXColorPicker.prototype._setColorAreaXY = function(a, e) { - var c = this.configColorArea; - a = parseInt(a); - if (c.minX > a) { - this.conf.x = c.minX - } else { - if (a > c.maxX) { - this.conf.x = c.maxX - } else { - if (!isNaN(a)) { - this.conf.x = a - } - } - } - e = parseInt(e); - if (c.minY > e) { - this.conf.y = c.minY - } else { - if (e > c.maxY) { - this.conf.y = c.maxY - } else { - if (!isNaN(e)) { - this.conf.y = e - } - } - } - this._refreshLines() -}; -dhtmlXColorPicker.prototype._setColorByXYC = function(c) { - c = c || false; - this.value.hue = Math.round((359 * (this.conf.x - this.configColorArea.minX)) / (this.configColorArea.maxX - this.configColorArea.minX)); - this.value.lum = Math.round(100 - (100 * (this.conf.y - this.configColorArea.minY)) / (this.configColorArea.maxY - this.configColorArea.minY)); - this.value.sat = Math.round(100 - (100 * (this.conf.c - this.configColorArea.minY)) / (this.configColorArea.maxY - this.configColorArea.minY)); - var a = this.colorAIP.hsl2rgb(this.value.hue, this.value.sat / 100, this.value.lum / 100); - this.value.red = Math.round(255 * a.r); - this.value.green = Math.round(255 * a.g); - this.value.blue = Math.round(255 * a.b); - if (!c) { - this._refreshContrast() - } - this._refreshInputValues(); - this._refreshColorValue() -}; -dhtmlXColorPicker.prototype._setContrastY = function(c) { - var a = this.configColorArea; - c = parseInt(c); - if (!isNaN(c)) { - this.conf.c = Math.min(Math.max(a.minY, c), a.maxY) - } - this._refreshContrastLine() -}; -dhtmlXColorPicker.prototype._refreshInputValues = function() { - this._controllerNodes.hue.value = this.value.hue; - this._controllerNodes.sat.value = this.value.sat; - this._controllerNodes.lum.value = this.value.lum; - this._controllerNodes.red.value = this.value.red; - this._controllerNodes.green.value = this.value.green; - this._controllerNodes.blue.value = this.value.blue -}; -dhtmlXColorPicker.prototype._refreshColorValue = function() { - this._controllerNodes.color.style.backgroundColor = "rgb(" + [this.value.red, this.value.green, this.value.blue].join(", ") + ")"; - var a = this.colorAIP.rgb2hex({ - r: this.value.red, - g: this.value.green, - b: this.value.blue - }); - this._controllerNodes.hsv.value = a; - this.callEvent("onChange", [a]) -}; -dhtmlXColorPicker.prototype._refreshContrast = function() { - var g = this.colorAIP.hsl2rgb(this.value.hue, 0, this.value.lum / 100); - var h = this.colorAIP.hsl2rgb(this.value.hue, 1, this.value.lum / 100); - var e = this._checkIeVersion(); - if (e && e <= 9) { - var m = this._controllerNodes.contrastArea.firstChild; - if (m == this._controllerNodes.contrast_line) { - m = document.createElement("div"); - m.className += "dhxcp_ie_gradient"; - this._controllerNodes.contrastArea.appendChild(m); - this._controllerNodes.contrastArea.appendChild(this._controllerNodes.contrast_line) - } - var c = this.colorAIP.rgb2hex({ - r: Math.round(255 * g.r), - g: Math.round(255 * g.g), - b: Math.round(255 * g.b) - }); - var a = this.colorAIP.rgb2hex({ - r: Math.round(255 * h.r), - g: Math.round(255 * h.g), - b: Math.round(255 * h.b) - }); - m.style.filter = "progid:DXImageTransform.Microsoft.gradient(startColorstr='" + a + "', endColorstr='" + c + "', GradientType=0)" - } else { - g = [Math.round(255 * g.r), Math.round(255 * g.g), Math.round(255 * g.b)]; - h = [Math.round(255 * h.r), Math.round(255 * h.g), Math.round(255 * h.b)]; - var l = "linear-gradient(rgb(" + h.join(",") + "), rgb(" + g.join(",") + "))"; - if (window.dhx4.isKHTML == true && navigator.userAgent.match(/Windows/gi) != null) { - l = "-webkit-" + l - } - this._controllerNodes.contrastArea.style.backgroundImage = l - } -}; -dhtmlXColorPicker.prototype._refreshLines = function() { - this._controllerNodes.v_line.style.left = this.conf.x + "px"; - this._controllerNodes.h_line.style.top = this.conf.y + "px" -}; -dhtmlXColorPicker.prototype._refreshContrastLine = function() { - this._controllerNodes.contrast_line.style.top = this.conf.c + "px" -}; -dhtmlXColorPicker.prototype._getOffsetPosition = function(h, a) { - var c = { - x: NaN, - y: NaN - }, - g = h.target || h.srcElement; - if (g == a) { - c.x = (h.offsetX != undefined) ? h.offsetX : h.layerX; - c.y = (h.offsetY != undefined) ? h.offsetY : h.layerY - } else { - if (g == this._controllerNodes.v_line) { - c.y = (h.offsetY != undefined) ? h.offsetY : h.layerY - } else { - c.x = (h.offsetX != undefined) ? h.offsetX : h.layerX - } - } - return c -}; -dhtmlXColorPicker.prototype.colorAIP = { - hex2rgb: function(c) { - var a = c.match(/^(#)([\da-f]{2})([\da-f]{2})([\da-f]{2})$/i); - if (a != null) { - return { - r: parseInt("0x" + a[2]), - g: parseInt("0x" + a[3]), - b: parseInt("0x" + a[4]) - } - } else { - return null - } - }, - rgb2hex: function(h) { - var e = parseInt(h.r), - c = parseInt(h.g), - a = parseInt(h.b); - e = e || 0, c = c || 0, a = a || 0; - return "#" + ((e) ? ((e < 16) ? "0" + e.toString(16) : e.toString(16)) : "00") + ((c) ? ((c < 16) ? "0" + c.toString(16) : c.toString(16)) : "00") + ((a) ? ((a < 16) ? "0" + a.toString(16) : a.toString(16)) : "00") - }, - rgb2hsl: function(o, n, e) { - var m, l, c; - var a = Math.max(o, n, e), - h = Math.min(o, n, e); - c = 0.5 * (a + h); - if (a == h) { - m = 0 - } else { - if (a == o) { - m = 60 * (n - e) / (a - h); - if (n < e) { - m += 360 - } - } else { - if (a == n) { - m = 60 * (e - o) / (a - h) + 120 - } else { - m = 60 * (o - n) / (a - h) + 240 - } - } - } - if (c == 0 || a == h) { - l = 0 - } else { - if (c <= 0.5) { - l = 0.5 * (a - h) / c - } else { - l = 0.5 * (a - h) / (1 - c) - } - } - return { - h: m, - s: l, - l: c - } - }, - hsl2rgb: function(o, e, m) { - var h, l, n; - var c = [], - a = []; - if (m <= 0.5) { - h = m * (1 + e) - } else { - h = m + e - (m * e) - } - l = 2 * m - h; - n = o / 360; - c.push(n + 1 / 3); - c.push(n); - c.push(n - 1 / 3); - for (var g = 0; g < 3; g++) { - if (c[g] < 0) { - c[g] += 1 - } else { - if (c[g] > 1) { - c[g] -= 1 - } - } - if (c[g] < 1 / 6) { - a.push(l + (h - l) * 6 * c[g]) - } else { - if (c[g] < 0.5) { - a.push(h) - } else { - if (c[g] < 2 / 3) { - a.push(l + (h - l) * (2 / 3 - c[g]) * 6) - } else { - a.push(l) - } - } - } - } - return { - r: a[0], - g: a[1], - b: a[2] - } - } -}; -dhtmlXColorPicker.prototype._checkIeVersion = function() { - var a; - var c = navigator.userAgent.match(/(MSIE)\s(\d\.\d)/i); - a = (c && c[2]) ? parseInt(c[2]) : null; - return a -}; -dhtmlXColorPicker.prototype.setCustomColors = function() { - if (this.memory == null) { - this.initMemoryColors(); - this.conf.customColors = true - } - var g, e, m, c, h, a; - e = arguments.length; - for (g = 0; g < e; g++) { - if (arguments[g] instanceof Array) { - m = this._rgb2value(arguments[g][0], arguments[g][1], arguments[g][2]); - this.memory.setValue(m, null, false); - continue - } else { - if (typeof(arguments[g]) == "string") { - c = arguments[g].match(/^rgb\((\d{1,3})\,(\d{1,3})\,(\d{1,3})\)$/i); - if (c instanceof Array) { - m = this._rgb2value(c[1], c[2], c[3]); - this.memory.setValue(m, null, false); - continue - } - c = arguments[g].match(/(#[\da-f]{6})/ig); - if (c instanceof Array) { - a = c.length; - for (h = 0; h < a; h++) { - m = this._hex2value(c[h]); - this.memory.setValue(m, null, false) - } - } - } - } - } -}; -dhtmlXColorPicker.prototype.getCustomColors = function() { - var c = []; - if (this.memory != null && this.conf.customColors == true) { - for (var e = 0; e < this.memory.controllers.length; e++) { - var a = this.memory.controllers[e].value; - c.push(this.colorAIP.rgb2hex({ - r: a.red, - g: a.green, - b: a.blue - })) - } - } - return c -}; -dhtmlXColorPicker.prototype._rgb2value = function(h, e, a) { - var c = this.colorAIP.rgb2hsl(h / 255, e / 255, a / 255); - return { - red: h, - green: e, - blue: a, - hue: Math.round(c.h), - sat: Math.round(c.s * 100), - lum: Math.round(c.l * 100) - } -}; -dhtmlXColorPicker.prototype._hex2value = function(e) { - var c, a; - c = this.colorAIP.hex2rgb(e); - a = this.colorAIP.rgb2hsl(c.r / 255, c.g / 255, c.b / 255); - return { - red: c.r, - green: c.g, - blue: c.b, - hue: Math.round(a.h), - sat: Math.round(a.s * 100), - lum: Math.round(a.l * 100) - } -}; -dhtmlXColorPicker.prototype.showMemory = function() { - if (this.memory == null) { - this.initMemoryColors() - } - if (!this._globalNode.className.match(/dhxcp_add_memory/)) { - this._globalNode.className += " dhxcp_add_memory" - } - this.conf.customColors = true -}; -dhtmlXColorPicker.prototype.hideMemory = function() { - if (this.memory != null) { - this._globalNode.className = this._globalNode.className.replace(/\sdhxcp_add_memory/, "") - } - this.conf.customColors = false -}; -dhtmlXColorPicker.prototype.setSkin = function(h) { - if (this._skinCollection[h] != true) { - return - } - var g = "dhtmlxcp_" + (this.skin || "dummy"); - this.base.className = this.base.className.replace(new RegExp(g), ""); - this.base.className += " dhtmlxcp_" + h; - this.skin = h; - if (this.skin == "material") { - var e = { - labelHue: "H", - labelSat: "S", - labelLum: "L", - labelRed: "R", - labelGreen: "G", - labelBlue: "B" - }; - for (var c in e) { - this.i18n.en[c] = e[c] - } - } - if (this.base.className.match(/dhxcp_shadow/) == null && !(dhx4.isIE6 || dhx4.isIE7 || dhx4.isIE8)) { - this.base.className += " dhxcp_shadow" - } -}; -dhtmlXColorPicker.prototype.hideOnSelect = function(a) { - a = dhx4.s2b(a); - this.conf.hideOnSelect = a -}; -dhtmlXColorPicker.prototype._indexOf = function(a, g) { - var e, c, h = -1; - c = a.length; - for (e = c; e >= 0; e--) { - if (a[e] == g) { - h = e; - break - } - } - return h -}; -dhtmlXColorPicker.prototype.destructMemory = function() { - if (this.memory == null) { - return - } - this.hideMemory(); - var a = this._controllerNodes.memory_block.childNodes[0].firstChild; - this._labelNodes.btnAddColor = null; - if (typeof(window.addEventListener) == "function") { - a.removeEventListener("click", this.saveColor, false) - } else { - a.detachEvent("onclick", this.saveColor) - } - this.memory.remove(); - this._controllerNodes.memory_block.innerHTML = ""; - this.memory = null -}; -dhtmlXColorPicker.prototype.Memory = function(e) { - var c = this, - a = null, - g = { - red: 255, - blue: 255, - green: 255, - hue: 0, - sat: 0, - lum: 100 - }; - this.select = function() { - var l = (this != window) ? this : event.srcElement; - var h = h || l.dhxpc_memory; - if (a != null) { - c.unSelect() - } - a = h; - h.domElement.className += " dhxcp_memory_el_select"; - if (typeof(c.onSelect) == "function") { - c.onSelect(h) - } - }; - this.onSelect = null; - this.onSave = null; - this._createMemoryController = function(h) { - var l = { - domElement: h, - value: dhx4._copyObj(g) - }; - h.dhxpc_memory = l; - if (typeof(window.addEventListener) == "function") { - h.addEventListener("click", c.select, false) - } else { - h.attachEvent("onclick", c.select) - } - return l - }; - this._findMemoryControllers = function(q) { - var n = q.getElementsByTagName("a"), - m, h, o = []; - h = n.length; - for (m = 0; m < h; m++) { - o.push(this._createMemoryController(n[m])) - } - return o - }; - this.controllers = this._findMemoryControllers(e); - this.unSelect = function() { - if (a) { - a.domElement.className = a.domElement.className.replace(/\s.*$/i, "") - } - a = null - }; - this.setActiveNext = function() { - var m = null, - h; - if (a == null) { - a = this.controllers[0] - } else { - m = this.getIndex(a); - h = this.controllers.length; - this.unSelect(); - a = (m + 1 < h) ? this.controllers[m + 1] : this.controllers[0] - } - a.domElement.className += " dhxcp_memory_el_next"; - return a - }; - this.setValue = function(l, h, m) { - a = h || a; - if (a == null) { - a = this.controllers[0] - } - a.value.red = l.red; - a.value.blue = l.blue; - a.value.green = l.green; - a.value.hue = l.hue; - a.value.sat = l.sat; - a.value.lum = l.lum; - a.domElement.style.backgroundColor = "rgb(" + [l.red, l.green, l.blue].join(", ") + ")"; - this.setActiveNext(); - if ((m != false) && (typeof(this.onSave) == "function")) { - this.onSave(l) - } - }; - this.clean = function() { - var h = this.controllers.length, - n; - for (var m = 0; m < h; m++) { - n = this.controllers[m]; - n.value = dhx4._copyObj(g); - n.domElement.style.backgroundColor = "rgb(" + [g.red, g.green, g.blue].join(", ") + ")" - } - this.unSelect(); - a = this.controllers[0] - }; - this.getIndex = function(n) { - var m, h, o = -1; - h = this.controllers.length; - for (m = 0; m < h; m++) { - if (this.controllers[m] == n) { - o = m; - break - } - } - return o - }; - this.remove = function() { - var m, h; - h = this.controllers.length; - for (m = 0; m < h; m++) { - if (typeof(window.addEventListener) == "function") { - this.controllers[m].domElement.removeEventListener("click", this.select, false) - } else { - this.controllers[m].domElement.detachEvent("onclick", this.select) - } - delete this.controllers[m].domElement.dhxpc_memory - } - delete this.onSelect; - delete this.controllers; - delete this.onSave - } -}; -if (window.dhx4.isIE6) { - dhtmlXColorPicker.prototype._cpInitFRM = function() { - var a; - if (!this._controllerNodes.fr_cover) { - a = document.createElement("IFRAME"); - a.className = "dhxcp_frm"; - a.border = 0; - a.frameBorder = 0; - this._controllerNodes.fr_cover = a - } - if (!this.base._dhx_remove) { - this.base.insertBefore(a, this._globalNode) - } - } -} - -function dhtmlXSlider(c) { - var a = this; - this.conf = { - size: null, - skin: null, - vertical: false, - min: 0, - max: 99, - value: 0, - step: 1, - decimals: 0, - margin: 2, - border: 1, - inverse: false, - disabled: false, - tooltip: false, - visible: true, - linkTo: null, - range: false, - bg: null, - bg_mode: "left" - }; - this._attachedNode = {}; - this._movingInitialValues = null; - this.base = null; - if (arguments.length > 1) { - return new dhtmlXSlider(this._renderArgumets(arguments)) - } else { - if (typeof(c) == "string" || (typeof(c) == "object" && c.tagName)) { - return new dhtmlXSlider({ - parent: c - }) - } - } - if (typeof(c.parent) == "string") { - this.base = document.getElementById(c.parent) - } else { - this.base = c.parent - } - this._mergeConfig(this._readAttFormNode(this.base)); - this._mergeConfig(c); - if (this.conf.bg == null) { - this.conf.bg = (this.conf.range == true) - } - if (this.conf.range == true) { - if (!(this.conf.value instanceof Array)) { - this.conf.value = [this.conf.value] - } - if (this.conf.value.length < 2) { - this.conf.value.push(this.conf.value[0]) - } - if (!(this.conf.linkTo instanceof Array)) { - this.conf.linkTo = [this.conf.linkTo] - } - } - this._detectDecimals(); - if (this.conf.size == null || typeof(this.conf.size) == "undefined") { - if (this.conf.vertical) { - this.conf.size = this.base.offsetHeight - } else { - this.conf.size = this.base.offsetWidth - } - } - var e = this.conf.skin || window.dhx4.skin || (typeof(dhtmlx) != "undefined" ? dhtmlx.skin : null) || window.dhx4.skinDetect("dhxslider") || "material"; - this.setSkin(e); - this.base.innerHTML = "
                    " + (this.conf.bg == true ? "
                    " : "") + "
                    " + (this.conf.range == true ? "
                    " : "") + "
                    "; - this._nodes = { - cont: this.base.firstChild, - track: this.base.firstChild.firstChild, - runner: this.base.firstChild.childNodes[1], - runner2: this.base.firstChild.childNodes[2] - }; - this._nodes.cont.onmousedown = this._nodes.track.onmousedown = this._nodes.cont.onselectstart = this._nodes.track.onselectstart = function(g) { - g = g || event; - if (typeof(g.preventDefault) == "function") { - g.preventDefault() - } else { - g.returnValue = false - } - return false - }; - this._r_actv = null; - if (this.conf.range == true) { - this.conf.value = this._normalizeRange(this.conf.value, this.conf.min, this.conf.max) - } else { - this.conf.value = this._normalize(this.conf.value, this.conf.min, this.conf.max) - } - this._setOrient(this.conf.vertical); - this.setSize(this.conf.size); - this._initMover = function(h, g) { - if (a.conf.disabled) { - return - } - h = h || event; - if (typeof(h.preventDefault) == "function") { - h.preventDefault() - } - if (g != null) { - a._r_actv = a._nodes[g == 0 ? "runner" : "runner2"] - } else { - a._r_actv = h.target || h.srcElement; - if (a._r_actv.className.indexOf("dhxsl_runner") == -1) { - a._r_actv = a._nodes.runner - } - } - a._r_actv.className = "dhxsl_runner dhxsl_runner_actv"; - a._movingInitialValues = {}; - if (a.conf.range == true) { - a._movingInitialValues.index = (a._r_actv == a._nodes.runner ? 0 : 1); - a._movingInitialValues.value = a.conf.value[a._movingInitialValues.index] - } else { - a._movingInitialValues.value = a.conf.value - } - a._movingInitialValues.coord = a._getTouchCoord(h); - if (a.conf.disabled == false) { - if (typeof(window.addEventListener) == "function") { - window.addEventListener("mousemove", a._move, false); - window.addEventListener("mouseup", a._cleanMove, false); - window.addEventListener("touchmove", a._move, false); - window.addEventListener("touchend", a._cleanMove, false) - } else { - document.body.attachEvent("onmousemove", a._move); - document.body.attachEvent("onmouseup", a._cleanMove) - } - } - a.callEvent("onMouseDown", [a._r_actv == a._nodes.runner ? 0 : 1]); - return false - }; - this._move = function(o) { - if (a.conf.disabled) { - return - } - o = o || event; - if (typeof(o.preventDefault) == "function") { - o.preventDefault() - } - var n = (a.conf.vertical) ? a._r_actv.offsetHeight : a._r_actv.offsetWidth; - var l = a.conf.max - a.conf.min; - var h = a._getTouchCoord(o); - var m = a._movingInitialValues.value + (h - a._movingInitialValues.coord) * l / (a.conf.size - n) * (a.conf.inverse ? -1 : 1); - if (a.conf.range == true) { - var g = [a.conf.value[0], a.conf.value[1]]; - if (a._movingInitialValues.index == 0) { - g[0] = Math.min(g[1], m) - } else { - if (a._movingInitialValues.index == 1) { - g[1] = Math.max(g[0], m) - } - } - a.setValue(g, true) - } else { - a.setValue(m, true) - } - }; - this._cleanMove = function(g) { - if (typeof(window.addEventListener) == "function") { - window.removeEventListener("mousemove", a._move, false); - window.removeEventListener("mouseup", a._cleanMove, false); - window.removeEventListener("touchmove", a._move, false); - window.removeEventListener("touchend", a._cleanMove, false) - } else { - document.body.detachEvent("onmousemove", a._move); - document.body.detachEvent("onmouseup", a._cleanMove) - } - a._movingInitialValues = null; - a._r_actv.className = a._r_actv.className.replace(/\s{0,}dhxsl_runner_actv/gi, ""); - a.callEvent("onSlideEnd", [a.conf.value]); - a.callEvent("onMouseUp", [a._r_actv == a._nodes.runner ? 0 : 1]); - a._r_actv = null - }; - this._doOnSetValue = function(r) { - if (a.conf.disabled) { - return - } - if (a._movingInitialValues != null) { - return false - } - r = r || event; - if (typeof(r.preventDefault) == "function") { - r.preventDefault() - } - var q = 0; - var m = r.target || r.srcElement; - if (m.className.match(/dhxsl_track_bg/) != null) { - q = parseInt(m.style[a.conf.vertical ? "top" : "left"]) - } - if (r.type.match(/touch/) != null) { - var o = a._getTouchCoord(r) + q - } else { - var o = (a.conf.vertical ? (r.offsetY || r.layerY) : (r.offsetX || r.layerX)) + q - } - var n = (a.conf.vertical ? a._nodes.runner.offsetHeight : a._nodes.runner.offsetWidth) + q; - var g = a.conf.max - a.conf.min; - var h = null; - var l = null; - if (a.conf.inverse == true) { - l = a.conf.max - (o * g / (a.conf.size)) - } else { - l = (o * g / (a.conf.size) + a.conf.min) - } - if (a.conf.range == true) { - h = (Math.abs(a.conf.value[0] - l) <= Math.abs(a.conf.value[1] - l) ? 0 : 1); - l = [h == 0 ? l : a.conf.value[0], h == 1 ? l : a.conf.value[1]] - } - a.conf.init_index = h; - a.setValue(l, true); - a.conf.init_index = null; - if (a._movingInitialValues == null) { - a._initMover(r, h) - } - return false - }; - this._doOnChangeInput = function(h) { - h = h || event; - var g = h.target || h.srcElement; - a.setValue(g.value) - }; - this._doOnKeyDown = function(h) { - h = h || event; - var g = h.target || h.srcElement; - if (h.keyCode == 13) { - a.setValue(g.value) - } - }; - this._attachEvents(this._nodes); - this.unload = function() { - dhx4._eventable(this, "clear"); - this._detachNode(); - this._detachEvents(this._nodes); - this.base.removeChild(this._nodes.cont); - this._nodes.cont.onmousedown = this._nodes.track.onmousedown = this._nodes.cont.onselectstart = this._nodes.track.onselectstart = null; - delete this._nodes.cont; - delete this._nodes.track; - delete this._nodes.max; - delete this._nodes.min; - delete this._nodes.runner; - if (this._nodes.runner2) { - delete this._nodes.runner2 - } - if (/\s?dhtmlxslider_\S*/.test(this.base.className)) { - this.base.className = this.base.className.replace(/\s?dhtmlxslider_\S*/, "") - } - for (var g in this) { - this[g] = null - } - a = null - }; - dhx4._eventable(this); - if (this.conf.disabled) { - this.disable() - } - if (this.conf.tooltip) { - this.enableTooltip() - } - if (!this.conf.visible) { - this.hide() - } - if (this.conf.linkTo) { - this.linkTo(this.conf.linkTo) - } - return this -} -dhtmlXSlider.prototype._setOrient = function(a) { - a = a || false; - if (/\s?dhxsl_cont_hr/i.test(this._nodes.cont.className)) { - this._nodes.cont.className = this._nodes.cont.className.replace(/\s?dhxsl_cont_hr/i, "") - } - if (/\s?dhxsl_cont_vr/i.test(this._nodes.cont.className)) { - this._nodes.cont.className = this._nodes.cont.className.replace(/\s?dhxsl_cont_vr/i, "") - } - if (a) { - this._nodes.cont.className += " dhxsl_cont_vr" - } else { - this._nodes.cont.className += " dhxsl_cont_hr" - } -}; -dhtmlXSlider.prototype._getTouchCoord = function(c) { - var a = (c.type.match(/mouse/) != null ? "client" : "page") + (this.conf.vertical == true ? "Y" : "X"); - var g = (typeof(c[a]) != "undefined" && c[a] != 0 ? c[a] : (c.touches != null && c.touches[0] != null ? c.touches[0][a] || 0 : 0)); - return g -}; -dhtmlXSlider.prototype._attachEvents = function(a) { - if (typeof(window.addEventListener) == "function") { - a.runner.addEventListener("mousedown", this._initMover, false); - a.runner.addEventListener("touchstart", this._initMover, false); - a.cont.addEventListener("mousedown", this._doOnSetValue, false); - a.cont.addEventListener("touchstart", this._doOnSetValue, false); - if (a.runner2) { - a.runner2.addEventListener("mousedown", this._initMover, false); - a.runner2.addEventListener("touchstart", this._initMover, false) - } - } else { - a.runner.attachEvent("onmousedown", this._initMover); - a.cont.attachEvent("onmousedown", this._doOnSetValue); - if (a.runner2) { - a.runner2.attachEvent("onmousedown", this._initMover) - } - } -}; -dhtmlXSlider.prototype._detachEvents = function(a) { - if (typeof(window.addEventListener) == "function") { - a.runner.removeEventListener("mousedown", this._initMover, false); - a.runner.removeEventListener("touchstart", this._initMover, false); - a.cont.removeEventListener("mousedown", this._doOnSetValue, false); - a.cont.removeEventListener("touchstart", this._doOnSetValue, false); - if (a.runner2) { - a.runner2.removeEventListener("mousedown", this._initMover, false); - a.runner2.removeEventListener("touchstart", this._initMover, false) - } - } else { - a.runner.detachEvent("onmousedown", this._initMover); - a.cont.detachEvent("onmousedown", this._doOnSetValue); - if (a.runner2) { - a.runner2.detachEvent("onmousedown", this._initMover) - } - } -}; -dhtmlXSlider.prototype._mergeConfig = function(c) { - for (var a in c) { - switch (a.toLowerCase()) { - case "min": - case "max": - case "size": - case "step": - case "value": - case "inverse": - this.conf[a] = c[a]; - break; - case "tooltip": - case "visible": - case "vertical": - case "disabled": - case "range": - case "bg": - this.conf[a] = dhx4.s2b(c[a]); - break; - case "bg_mode": - this.conf[a] = ({ - left: "left", - right: "right" - }[c[a]]) || "left"; - break; - case "parent": - continue; - break; - case "skin": - this.conf[a] = (this._skinCollection[c[a]] == true ? c[a] : null); - break; - default: - this.conf[a] = c[a] - } - } -}; -dhtmlXSlider.prototype._readAttFormNode = function(g) { - var m = g.attributes, - a = m.length, - e, h = {}, - c; - for (e = 0; e < a; e++) { - c = m[e]; - switch (c.name.toLowerCase()) { - case "size": - case "min": - case "max": - case "value": - case "step": - h[c.name] = Number(c.value); - break; - case "skin": - h[c.name] = c.value; - break; - case "vertical": - case "disabled": - case "visible": - case "range": - case "bg": - h[c.name] = dhx4.s2b(c.value); - break; - case "linkto": - h[c.name] = c.value; - break; - case "tooltip": - h[c.name] = dhx4.s2b(c.value); - break; - case "bg_mode": - h[c.name] = ({ - left: "left", - right: "right" - }[c.value]) || "left"; - break - } - } - return h -}; -dhtmlXSlider.prototype._renderArgumets = function(a) { - var g = {}, - e, c; - c = a.length; - for (e = 0; e < c; e++) { - switch (e) { - case 0: - g.parent = a[e]; - break; - case 1: - g.size = a[e]; - break; - case 2: - g.skin = a[e]; - break; - case 3: - g.vertical = a[e]; - break; - case 4: - g.min = a[e]; - break; - case 5: - g.max = a[e]; - break; - case 6: - g.value = a[e]; - break; - case 7: - g.step = a[e]; - break - } - } - return g -}; -dhtmlXSlider.prototype._skinCollection = { - dhx_skyblue: true, - dhx_web: true, - dhx_terrace: true, - material: true -}; -dhtmlXSlider.prototype._indexOf = function(a, g) { - var e, c, h = -1; - c = a.length; - for (e = c; e >= 0; e--) { - if (a[e] == g) { - h = e; - break - } - } - return h -}; -dhtmlXSlider.prototype._refreshRunner = function(h) { - var g = (this.conf.vertical == true ? { - x: "top", - y: "left", - ofs_w: "offsetHeight", - ofs_h: "offsetWidth" - } : { - x: "left", - y: "top", - ofs_w: "offsetWidth", - ofs_h: "offsetHeight" - }); - var a = this._nodes.cont[g.ofs_w] - this._nodes.runner[g.ofs_w]; - var e = this._nodes.runner; - var c = this._nodes.runner2; - if (h == null || h == 0) { - var l = this._getCoord(a, (this.conf.value instanceof Array ? this.conf.value[0] : this.conf.value)); - e.style[g.x] = l + this.conf.border + "px"; - e.style[g.y] = Math.round((this._nodes.cont[g.ofs_h] - e[g.ofs_h]) / 2) + "px" - } - if (this.conf.range == true && (h == null || h == 1)) { - var l = this._getCoord(a, this.conf.value[1]); - c.style[g.x] = l + this.conf.border + "px"; - c.style[g.y] = Math.round((this._nodes.cont[g.ofs_h] - e[g.ofs_h]) / 2) + "px" - } - if (this.conf.range == true) { - if (e.style[g.x] == c.style[g.x] && this.conf.value[1] == this.conf.max) { - if (e.style.zIndex != 2) { - e.style.zIndex = 2 - } - } else { - if (e.style.zIndex == 2) { - e.style.zIndex = 1 - } - } - } - e = c = null; - this._refreshBG() -}; -dhtmlXSlider.prototype._setValueByCoord = function(g) { - var a = dhx4.absLeft(this._nodes.cont), - h = dhx4.absTop(this._nodes.cont), - e, c; - if (this.conf.vertical) { - c = (g.y - h - this._nodes.runner.offsetHeight / 2) / (this._nodes.cont.offsetHeight - this._nodes.runner.offsetHeight) - } else { - c = (g.x - a - this._nodes.runner.offsetWidth / 2) / (this._nodes.cont.offsetWidth - this._nodes.runner.offsetWidth) - } - e = (this.conf.max - this.conf.min) * c + this.conf.min; - this.setValue(e, true) -}; -dhtmlXSlider.prototype._getCoord = function(a, g) { - var e = (this.conf.inverse ? this._inverseValue(g) : g); - var c = (e - this.conf.min) / (this.conf.max - this.conf.min); - return Math.round(a * c) -}; -dhtmlXSlider.prototype._normalize = function(g, e, a) { - g = Number(g); - g = Math.round(g / this.conf.step) * this.conf.step; - var c = Math.pow(10, this.conf.decimals); - g = Math.round(g * c) / c; - g = Math.max(e, Math.min(a, g)); - return g -}; -dhtmlXSlider.prototype._normalizeRange = function(e, c, a) { - if (e[1] < e[0]) { - e[1] = e[0] - } - e[0] = this._normalize(e[0], c, Math.min(a, e[1])); - e[1] = this._normalize(e[1], Math.max(c, e[0]), a); - return e -}; -dhtmlXSlider.prototype._refreshBG = function() { - if (this.conf.bg != true) { - return - } - var g = this._nodes.track.firstChild; - var e = this._nodes.runner; - var a = e.nextSibling; - var c = (this.conf.vertical == true ? { - x: "top", - w: "height", - ofs: "offsetHeight" - } : { - x: "left", - w: "width", - ofs: "offsetWidth" - }); - if (this.conf.range == true) { - g.style[c.x] = Math.floor(parseInt(e.style[c.x]) + e[c.ofs] / 2) + "px"; - g.style[c.w] = Math.max(Math.floor(parseInt(a.style[c.x]) + a[c.ofs] / 2) - parseInt(g.style[c.x]), 0) + "px" - } else { - var h = (this.conf.inverse == true ? { - left: "right", - right: "left" - }[this.conf.bg_mode] : this.conf.bg_mode); - g.style[c.x] = (h == "left" ? "0" : Math.floor(parseInt(e.style[c.x]) + e[c.ofs] / 2)) + "px"; - g.style[c.w] = (h == "left" ? Math.floor(parseInt(e.style[c.x]) + e[c.ofs] / 2) : this._nodes.track[c.ofs] - parseInt(g.style[c.x])) + "px" - } - g = e = a = null -}; -dhtmlXSlider.prototype._attachNode = function(e, a) { - this._detachNode(a); - var c = e.tagName.toLowerCase(); - if (!c) { - return - } - this._attachedNode["node_" + a] = e; - switch (c) { - case "input": - case "select": - if (typeof(window.addEventListener) == "function") { - e.addEventListener("change", this._doOnChangeInput, false); - e.addEventListener("keydown", this._doOnKeyDown, false) - } else { - e.attachEvent("onchange", this._doOnChangeInput); - e.attachEvent("onkeydown", this._doOnKeyDown) - } - this._attachedNode.setValue = function(m, g, l) { - var h = (m instanceof Array ? m[l || 0] : m); - this["node_" + (l || 0)].value = dhtmlXSlider.prototype._atatchedNodeFixDec(h, g) - }; - break; - default: - this._attachedNode.setValue = function(m, g, l) { - var h = (m instanceof Array ? m[l || 0] : m); - this["node_" + (l || 0)].innerHTML = dhtmlXSlider.prototype._atatchedNodeFixDec(h, g) - } - } - this._attachedNode.setValue(this.conf.value, this.conf.decimals, a) -}; -dhtmlXSlider.prototype._detachNode = function(a) { - var e = this._attachedNode["node_" + a]; - if (!e) { - return - } - var c = e.tagName; - switch (c) { - case "input": - case "select": - if (typeof(window.addEventListener) == "function") { - e.removeEventListener("change", this._doOnChangeInput, false); - e.removeEventListener("keydown", this._doOnChangeInput, false) - } else { - e.detachEvent("change", this._doOnChangeInput); - e.detachEvent("keydown", this._doOnChangeInput) - } - break - } - delete this._attachedNode["node_" + a]; - delete this._attachedNode.setValue; - e = null -}; -dhtmlXSlider.prototype._atatchedNodeFixDec = function(g, a) { - g = String(g); - if (a > 0) { - var c = g.match(/\.\d{1,}$/); - if (c != null) { - a = Math.max(a - c[0].length + 1) - } - g += (g.indexOf(".") < 0 ? "." : ""); - for (var e = 0; e < a; e++) { - g += "0" - } - } - return g -}; -dhtmlXSlider.prototype._detectDecimals = function() { - var a = this.conf.step.toString().match(/\.(\d*)$/); - this.conf.decimals = (a != null ? a[1].length : 0) -}; -dhtmlXSlider.prototype.setSize = function(a) { - if (!isNaN(a)) { - if (this.conf.vertical) { - if (this._nodes.cont.style.width) { - delete this._nodes.cont.style.width - } - this._nodes.cont.style.height = a - this.conf.margin + "px" - } else { - if (this._nodes.cont.style.height) { - delete this._nodes.cont.style.height - } - this._nodes.cont.style.width = a - this.conf.margin + "px" - } - this._refreshRunner() - } -}; -dhtmlXSlider.prototype.setSkin = function(h) { - h = h.toLowerCase(); - var e, c = -1, - a, g = "dhtmlxslider"; - e = this.base.className.match(/\S\w+/ig); - if (e instanceof Array) { - for (a in this._skinCollection) { - if (c == -1) { - c = this._indexOf(e, g + "_" + a) - } else { - break - } - } - c = (c == -1) ? e.length : c - } else { - e = []; - c = 0 - } - e[c] = g + "_" + h; - this.base.className = e.join(" "); - this.conf.skin = h; - if (this._nodes) { - this._refreshRunner() - } -}; -dhtmlXSlider.prototype.setValue = function(g, h) { - h = h || false; - var c = null; - var e = false; - if (this.conf.range == true) { - if (this._r_actv != null) { - c = (this._r_actv == this._nodes.runner ? 0 : 1) - } - g = this._normalizeRange(g, this.conf.min, this.conf.max); - e = (this.conf.value[0] != g[0] || this.conf.value[1] != g[1]) - } else { - g = this._normalize(g, this.conf.min, this.conf.max); - e = (this.conf.value != g) - } - if (e = true) { - this.conf.value = g; - this._refreshRunner(c); - this._refreshTooltip(); - if (h) { - var a = [g, this]; - if (this.conf.range == true) { - if (this._r_actv != null) { - a.push(this._r_actv == this._nodes.runner ? 0 : 1) - } else { - if (this.conf.init_index != null) { - a.push(this.conf.init_index.valueOf()) - } - } - } - this.callEvent("onChange", a) - } - } - if (typeof(this._attachedNode.setValue) == "function") { - if (c == null) { - c = this.conf.init_index - } - if (typeof c === "undefined" && g instanceof Array) { - this._attachedNode.setValue(this.conf.value, this.conf.decimals, (c || 0)); - this._attachedNode.setValue(this.conf.value, this.conf.decimals, (c || 0) + 1) - } else { - this._attachedNode.setValue(this.conf.value, this.conf.decimals, c) - } - } -}; -dhtmlXSlider.prototype.getValue = function() { - if (this.conf.range == true) { - return [this.conf.value[0].valueOf(), this.conf.value[1].valueOf()] - } else { - return this.conf.value.valueOf() - } -}; -dhtmlXSlider.prototype._inverseValue = function(a) { - return this.conf.max + this.conf.min - a -}; -dhtmlXSlider.prototype.disable = function(h) { - h = (h == false) ? false : true; - var g = null; - if (h) { - for (var c in this._nodes) { - if (c == "cont") { - continue - } - var e = (c == "runner2" ? "runner" : c); - if (this._nodes[c] != null) { - g = new RegExp("\\s?dhxsl_" + e + "_dis", "i"); - if (!g.test(this._nodes[c].className)) { - this._nodes[c].className += " dhxsl_" + e + "_dis" - } - } - } - this.conf.disabled = true - } else { - this.enable() - } -}; -dhtmlXSlider.prototype.enable = function() { - var g; - for (var c in this._nodes) { - if (c == "cont") { - continue - } - var e = (c == "runner2" ? "runner" : c); - if (this._nodes[c] != null) { - g = new RegExp("\\s?dhxsl_" + e + "_dis", "i"); - if (g.test(this._nodes[c].className)) { - this._nodes[c].className = this._nodes[c].className.replace(g, "") - } - } - } - this.conf.disabled = false -}; -dhtmlXSlider.prototype.isEnabled = function() { - return !this.conf.disabled -}; -dhtmlXSlider.prototype.disableTooltip = function() { - this._nodes.cont.removeAttribute("title"); - this.conf.tooltip = false -}; -dhtmlXSlider.prototype.enableTooltip = function(a) { - if (typeof(a) == "undefined") { - a = true - } else { - a = dhx4.s2b(a) - } - if (a) { - this.conf.tooltip = true; - this._refreshTooltip() - } else { - this.disableTooltip() - } -}; -dhtmlXSlider.prototype.setMax = function(a) { - if (!isNaN(a) && this.conf.min < a) { - this.conf.max = a; - this.setValue(this.conf.value) - } -}; -dhtmlXSlider.prototype.getMax = function() { - return this.conf.max -}; -dhtmlXSlider.prototype.setMin = function(a) { - if (!isNaN(a) && this.conf.max > a) { - this.conf.min = a; - this.setValue(this.conf.value) - } -}; -dhtmlXSlider.prototype.getMin = function() { - return this.conf.min -}; -dhtmlXSlider.prototype.setStep = function(a) { - var c = this.conf.max - this.conf.min; - if (!isNaN(a) && a < c) { - this.conf.step = a; - this._detectDecimals(); - this.setValue(this.conf.value) - } -}; -dhtmlXSlider.prototype.getStep = function() { - return this.conf.step -}; -dhtmlXSlider.prototype.show = function() { - if (/\s?dhxsl_hidden/i.test(this._nodes.cont.className)) { - this._nodes.cont.className = this._nodes.cont.className.replace(/\s?dhxsl_hidden/i, "") - } - this.conf.visible = true -}; -dhtmlXSlider.prototype.hide = function() { - if (!/\s?dhxsl_hidden/i.test(this._nodes.cont.className)) { - this._nodes.cont.className += " dhxsl_hidden" - } - this.conf.visible = false -}; -dhtmlXSlider.prototype.isVisible = function() { - return this.conf.visible -}; -dhtmlXSlider.prototype.linkTo = function(a) { - if (!(a instanceof Array)) { - a = [a] - } - for (var c = 0; c < a.length && c < 2; c++) { - if (a[c] != null) { - if (typeof(a[c]) == "string") { - a[c] = document.getElementById(a[c]) - } - this._attachNode(a[c], c) - } - } -}; -dhtmlXSlider.prototype._refreshTooltip = function() { - if (this.conf.tooltip == true) { - if (this.conf.value instanceof Array) { - this._nodes.cont.title = this.conf.value.join(", ") - } else { - this._nodes.cont.title = this.conf.value - } - } -}; -dhtmlXSlider.prototype.getRunnerIndex = function() { - if (this._r_actv == null) { - return -1 - } - return (this._r_actv == this._nodes.runner ? 0 : 1) -}; - -function dhtmlXPopup(e) { - var g = this; - this.conf = e || {}; - e = null; - this.mode = (this.conf.mode || "bottom"); - this.conf.zi = window.dhx4.newId(); - this.conf.context = (this.conf.context == null ? true : window.dhx4.s2b(this.conf.context)); - this.conf.IE6_display_fix = (this.conf.IE6_display_fix == null ? false : window.dhx4.s2b(this.conf.IE6_display_fix)); - this.conf.last_p_click = this.conf.last_body_click = null; - this.p = document.createElement("DIV"); - this.p.style.display = "none"; - this.p.innerHTML = "
                    "; - document.body.appendChild(this.p); - this.p.oncontextmenu = function(a) { - if (g.conf.context == false) { - a = a || event; - a.returnValue = false; - return false - } - }; - this.skinParams = { - dhx_terrace: { - t0: 19, - t1: 9, - t2: 19, - t3: 9 - }, - dhx_skyblue: { - t0: 12, - t1: 9, - t2: 12, - t3: 9 - }, - dhx_web: { - t0: 12, - t1: 9, - t2: 12, - t3: 9 - }, - material: { - t0: 19, - t1: 9, - t2: 19, - t3: 9 - } - }; - this.p.ontouchstart = this.p.onclick = function(l) { - l = l || event; - var h = (g.conf.last_p_click != null && g.conf.last_p_click != l.type); - g.conf.last_p_click = l.type; - if (h == true) { - return - } - g._clearClick = true; - if (g._nodeObj != null) { - g.callEvent("onContentClick", []); - return true - } - var a = (l.target || l.srcElement); - var m = null; - while (a != g.p && a != null) { - if (typeof(a._idd) != "undefined" && !a._isSeparator) { - m = a._idd; - a = null - } else { - a = a.parentNode - } - } - a = null; - if (m != null) { - g.callEvent("onClick", [m]); - if (g != null && g.isVisible != null && g.isVisible() && g.callEvent("onBeforeHide", ["select", l, m]) === true) { - l.cancelBubble = true; - g.hide() - } - } - }; - this.separator = "DHXSEP_" + window.dhx4.newId(); - this.tpl = []; - this._setTemplate = function(a) { - this.tpl = a.split(",") - }; - this.show = function(h) { - var a = null; - if (arguments.length == 1) { - if (!h) { - h = this.conf.id[0] - } else { - if (!this._idExists(h)) { - return - } - } - if (this.conf.toolbar) { - a = this.conf.toolbar._getItemDim(h) - } - if (this.conf.ribbon) { - a = this.conf.ribbon._getItemDim(h) - } - if (this.conf.form) { - a = this.conf.form._getItemDim(h) - } - } else { - if (arguments.length == 4) { - this._clearClick = true; - a = { - left: arguments[0], - top: arguments[1], - width: arguments[2], - height: arguments[3] - }; - h = null - } - } - if (!a) { - return - } - this.p.style.visibility = "hidden"; - this.p.style.display = ""; - this._setPos(a); - this.p.style.zIndex = window.dhx4.zim.reserve(this.conf.zi); - this.p.style.visibility = "visible"; - this._lastId = h; - this.callEvent("onShow", [h]) - }; - this._setPos = function(I, n) { - var v = I.left; - var s = I.top; - var C = I.width; - var L = I.height; - this._posData = { - left: v, - top: s, - width: C, - height: L - }; - var N = window.dhx4.screenDim(); - var F = n || this.mode; - if (typeof(n) == "undefined") { - n = false - } - var P = { - top: (s - this.p.offsetHeight) - N.top, - bottom: N.bottom - (s + L + this.p.offsetHeight), - left: v - this.p.offsetWidth - N.left, - right: N.right - (v + C + this.p.offsetWidth) - }; - if (!n && P[F] < 0) { - var J = this._getAvailPos(F, P); - if (J !== false) { - this._setPos(I, J); - return - } - } - if (F == "top" || F == "bottom") { - var D = this.skinParams[this.conf.skin].t2; - var A = this.skinParams[this.conf.skin].t3; - var r = Math.round(this.p.offsetWidth / 2); - var a = Math.round(this.p.lastChild.offsetWidth / 2); - if (v < N.left) { - var M = Math.min(v + C, N.left); - C = v + C - M; - v = M - } - if (v + C > N.right) { - C = N.right - v - } - var u = Math.round(v + C / 2); - var m = u - r; - var K = u - D - a; - var q = u + a + D - this.p.offsetWidth; - if (m < N.left - A) { - m = Math.min(N.left - A, K) - } else { - if (m + this.p.offsetWidth > N.right + A) { - m = Math.max(q, N.right + A - this.p.offsetWidth) - } - } - this.p.style.left = m + "px"; - this.p.style.top = (F == "top" ? s - this.p.offsetHeight : s + L) + "px"; - u = u - m - a; - this.p.lastChild.className = "dhx_popup_arrow dhx_popup_arrow_" + F; - this.p.lastChild.style.top = (F == "top" ? this.p.offsetHeight - this.p.lastChild.offsetHeight : 0) + "px"; - this.p.lastChild.style.left = u + "px" - } - if (F == "left" || F == "right") { - var D = this.skinParams[this.conf.skin].t0; - var A = this.skinParams[this.conf.skin].t1; - var o = Math.round(this.p.offsetHeight / 2); - var S = Math.round(this.p.lastChild.offsetHeight / 2); - if (s < N.top) { - var l = Math.min(s + L, N.top); - L = s + L - l; - s = l - } - if (s + L > N.bottom) { - L = N.bottom - s - } - var u = Math.round(s + L / 2); - var H = u - o; - var Q = u - D - S; - var O = u + S + D - this.p.offsetHeight; - if (H < N.top - A) { - H = Math.min(N.top - A, Q) - } else { - if (H + this.p.offsetHeight > N.bottom + A) { - H = Math.max(O, N.bottom + A - this.p.offsetHeight) - } - } - this.p.style.left = (F == "left" ? v - this.p.offsetWidth : v + C) + "px"; - this.p.style.top = H + "px"; - u = u - H - S; - this.p.lastChild.className = "dhx_popup_arrow dhx_popup_arrow_" + F; - this.p.lastChild.style.left = (F == "left" ? this.p.offsetWidth - this.p.lastChild.offsetWidth : 0) + "px"; - this.p.lastChild.style.top = u + "px" - } - if (this._IEDisp && this._nodeId != null) { - var E = document.getElementById(this._nodeId); - if (this.conf.IE6_display_fix == true) { - E.style.visibility = "hidden" - } - window.setTimeout(function() { - E.style.visibility = "visible"; - E = null - }, 1) - } - }; - this._getAvailPos = function(r, o) { - var l = { - top: ["bottom", "right", "left"], - bottom: ["top", "right", "left"], - left: ["right", "bottom", "top"], - right: ["left", "bottom", "top"] - }; - var m = null; - for (var n = 0; n < l[r].length; n++) { - if (m == null && o[l[r][n]] > 0) { - m = l[r][n] - } - } - if (m == null) { - m = "bottom"; - for (var h in o) { - if (o[h] > o[m]) { - m = h - } - } - } - if (m == r) { - return false - } - return m - }; - this._repaint = function() { - if (this.isVisible()) { - this._setPos(this._posData) - } - }; - this.clear = function() { - if (this._nodeObj) { - if (window.dhx4.isIE && typeof(window.dhtmlXLayoutObject) == "function" && this._nodeObj instanceof window.dhtmlXLayoutObject) { - this.p.onmousedown = null - } - if (this._nodeObj.unload) { - this._nodeObj.unload() - } else { - if (this._nodeObj.destruct) { - this._nodeObj.destruct() - } - } - this._nodeObj = this._nodeId = null; - if (this._nodeObjEv != null) { - for (var h = 0; h < this._nodeObjEv.length; h++) { - this.detachEvent(this._nodeObjEv[h]) - } - this._nodeObjEv = null - } - } - if (this._IEHoverInited) { - this._IEHoverClear() - } - var a = this.p.firstChild.firstChild.firstChild; - while (a.childNodes.length > 0) { - a.removeChild(a.lastChild) - } - a = null; - this.itemData = {} - }; - this.hide = function() { - if (this.p.style.display != "none") { - this.p.style.display = "none"; - window.dhx4.zim.clear(this.conf.zi); - var a = this._lastId; - this._lastId = null; - this.callEvent("onHide", [a]); - this.conf.last_p_click = this.conf.last_body_click = null - } - }; - this.isVisible = function() { - return (this.p.style.display == "") - }; - this.itemData = {}; - this.getItemData = function(a) { - if (!a) { - return this.itemData - } - if (this.itemData[a]) { - return this.itemData[a] - } - return {} - }; - this.setSkin = function(a) { - this.conf.skin = a; - this.p.className = "dhx_popup_" + this.conf.skin; - if (this._nodeObj != null && typeof(this._nodeObj.setSkin) == "function") { - this._nodeObj.setSkin(this.conf.skin) - } - this._repaint() - }; - this.attachList = function(l, s) { - this._setTemplate(l); - this.clear(); - var m = this.p.firstChild.firstChild.firstChild; - for (var o = 0; o < s.length; o++) { - var n = document.createElement("TR"); - if (s[o] != this.separator) { - if (typeof(s[o].id) == "undefined" || s[o].id == null) { - n._idd = window.dhx4.newId(); - while (this.itemData[n._idd] != null) { - n._idd = window.dhx4.newId() - } - } else { - n._idd = s[o].id - } - this.itemData[n._idd] = s[o] - } - m.appendChild(n); - if (s[o] == this.separator) { - n.className = "dhx_popup_sep"; - n._isSeparator = true; - var u = document.createElement("TD"); - u.className = "dhx_popup_sep"; - u.colSpan = this.tpl.length; - u.innerHTML = "
                     
                    "; - n.appendChild(u); - u = null - } else { - for (var a = 0; a < this.tpl.length; a++) { - var h = "dhx_popup_td"; - if (this._IEFirstLast && (this.tpl.length == 1 || a == 0 || a == this.tpl.length - 1)) { - if (this.tpl.length == 1) { - h += " dhx_popup_td_single" - } else { - h += (a == 0 ? " dhx_popup_td_first" : " dhx_popup_td_last") - } - } - var u = document.createElement("TD"); - u.className = h; - u.innerHTML = s[o][this.tpl[a]] || " "; - n.appendChild(u); - u = null - } - if (this._IEHover) { - n._IEHover = true; - if (!this._IEHoverInited) { - this._IEHoverInit() - } - } - } - n = null - } - m = null; - this._repaint() - }; - this._attachNode = function(m, l) { - this.clear(); - this._nodeId = "dhxpopup_node_" + window.dhx4.newId(); - var a = this.p.firstChild.firstChild.firstChild; - var h = document.createElement("TR"); - h.className = "dhxnode"; - a.appendChild(h); - var n = document.createElement("TD"); - n.className = "dhx_popup_td"; - n.innerHTML = "
                    "; - if (l.width) { - n.firstChild.style.width = l.width + "px" - } - if (l.height) { - n.firstChild.style.height = l.height + "px" - } - h.appendChild(n); - n = h = a = null; - if (typeof(this["_attach_init_" + m]) == "function") { - this["_attach_init_" + m](l); - this._enableIEVFix() - } - this._repaint(); - return this._nodeObj - }; - this.unload = function() { - if (typeof(window.addEventListener) == "function") { - window.removeEventListener("touchstart", this._doOnClick, false); - window.removeEventListener("click", this._doOnClick, false); - window.removeEventListener("keyup", this._doOnKeyUp, false); - window.removeEventListener("unload", this._doOnUnload, false) - } else { - document.body.detachEvent("onclick", this._doOnClick, false); - document.body.detachEvent("onkeyup", this._doOnKeyUp, false); - document.body.detachEvent("onunload", this._doOnUnload, false) - } - window.dhx4.detachEvent(this.conf.ev_grid_click); - this.clear(); - if (this.conf.toolbarEvent != null && this.conf.toolbar != null) { - if (this.conf.toolbar.detachEvent != null) { - this.conf.toolbar.detachEvent(this.conf.toolbarEvent) - } else { - this.conf.toolbar._getItemDim = null - } - } - if (this.conf.ribbonEvent != null && this.conf.ribbon != null) { - if (this.conf.ribbon.detachEvent != null) { - this.conf.ribbon.detachEvent(this.conf.ribbonEvent) - } else { - this.conf.ribbon._getItemDim = null - } - } - if (this.conf.slider != null) { - for (var l = 0; l < this.conf.slider_events.length; l++) { - this.conf.slider.detachEvent(this.conf.slider_events[l]) - } - this.conf.slider_events = null; - this._sliderShow = this._sliderHide = null; - this.conf.slider = null - } - window.dhx4._eventable(this, "clear"); - this.p.onclick = this.p.ontouchstart = this.p.oncontextmenu = null; - this.p.parentNode.removeChild(this.p); - this.p = null; - for (var h in this.conf) { - this.conf[h] = null - } - for (var h in this) { - this[h] = null - } - g = null - }; - window.dhx4._eventable(this); - this._doOnClick = function(q) { - q = q || event; - var a = (g.conf.last_body_click != null && g.conf.last_body_click != q.type); - g.conf.last_body_click = q.type; - if (a == true) { - return - } - if (g._clearClick == true) { - g._clearClick = false; - return - } - if (g.conf.form != null) { - var l; - var s = (q.target || q.srcElement); - if ((s.tagName || "").toLowerCase() == "option") { - s = s.parentNode - } - if (s.className != null && s.className.search("dhxform") >= 0) { - if (s.parentNode != null && s.parentNode.parentNode != null && s.parentNode.parentNode._idd != null) { - l = s.parentNode.parentNode._idd; - if (s.parentNode.parentNode._type == "ra") { - l = [s.parentNode.parentNode._group, s.parentNode.parentNode._value] - } - } - } else { - var n = true; - var o = false; - while (n && !o) { - var m = (s.className || "").toLowerCase(); - if (m.length > 0) { - o = (m == "dhxform_btn" || m.search(/dhxeditor_inside/gi) >= 0 || m == "dhxcombo_input" || m.search(/dhxcombolist/gi) >= 0) - } - s = s.parentNode; - n = (s != null) - } - if (o) { - return - } - } - s = null; - if (l != null && g._idExists(l)) { - return - } - } - if (typeof(window.dhtmlXForm) == "function" && g._nodeObj instanceof window.dhtmlXForm) { - var u = {}; - var m = 0; - var h = g._nodeObj; - h.forEachItem(function(r) { - if (h.getItemType(r) == "combo") { - u[h.getCombo(r).list._listId] = true; - m++ - } - }); - h = null; - if (m > 0) { - var s = (q.target || q.srcElement); - var n = true; - var o = false; - while (n == true && o != true) { - var m = (s.className || "").toLowerCase(); - if (m.length > 0 && m.search(/^dhxcombolist/gi) >= 0 && s._listId != null && u[s._listId] == true) { - o = true; - s = null - } else { - s = s.parentNode; - n = (s != null) - } - } - if (o == true) { - return - } - } - } - if (g.isVisible() && g.callEvent("onBeforeHide", ["click", q]) === true) { - g.hide() - } - }; - this._doOnKeyUp = function(a) { - a = a || event; - if (a.keyCode == 27) { - if (g.isVisible() && g.callEvent("onBeforeHide", ["esc", a]) === true) { - g.hide() - } - } - }; - this._doOnUnload = function() { - g.unload() - }; - if (typeof(window.addEventListener) == "function") { - window.addEventListener("touchstart", this._doOnClick, false); - window.addEventListener("click", this._doOnClick, false); - window.addEventListener("keyup", this._doOnKeyUp, false); - window.addEventListener("unload", this._doOnUnload, false) - } else { - document.body.attachEvent("onclick", this._doOnClick, false); - document.body.attachEvent("onkeyup", this._doOnKeyUp, false); - document.body.attachEvent("onunload", this._doOnUnload, false) - } - this.conf.ev_grid_click = window.dhx4.attachEvent("_onGridClick", function(h, a) { - if (g.p.contains(a.entBox)) {} else { - g._clearClick = false; - g._doOnClick(h) - } - a = null - }); - this._findGrid = function(h, a) { - var l = false; - if (typeof(window.dhtmlXTabBar) == "function" && h instanceof window.dhtmlXTabBar) { - h.forEachTab(function(m) { - var n = m.getAttachedObject(); - if (l == false && n != null) { - l = l || (n == a) || this._findGrid(n); - n = null - } - }) - } - if (typeof(window.dhtmlXForm) == "function" && h instanceof window.dhtmlXForm) { - h.forEachItem(function(m) { - if (l != true && h.getItemType(m) == "container" && a.entBox == h.getContainer(m)) { - l = true - } - }) - } - h = null; - return l - }; - this._idExists = function(l) { - var a = false; - for (var h = 0; h < this.conf.id.length; h++) { - if (this.conf.id[h] instanceof Array) { - a = a || (this.conf.id[h][0] == l[0] && this.conf.id[h][1] == l[1]) - } else { - a = a || this.conf.id[h] == l - } - } - return a - }; - this._IEDisp = (window.dhx4.isIE6 || document.compatMode != "CSS1Compat"); - this._IEHover = (window.dhx4.isIE6 == true); - if (this._IEHover) { - this._IEHoverInit = function() { - this.p.onmouseover = function() { - var a = event.srcElement; - while (a != this && a._IEHover != true) { - a = a.parentNode - } - if (a._IEHover) { - if (g._IEHoverTM) { - window.clearTimeout(g._IEHoverTM) - } - if (g._lastIEHover == a) { - return - } - g._IEHoverRender(a); - a = null - } - }; - this.p.onmouseout = function() { - if (g._IEHoverTM) { - window.clearTimeout(g._IEHoverTM) - } - g._IEHoverTM = window.setTimeout(function() { - g._IEHoverRender(null) - }, 1) - }; - this._IEHoverRender = function(a) { - if (this._lastIEHover != null) { - if (this._lastIEHover.className.search(/tr_hover/gi) >= 0) { - this._lastIEHover.className = this._lastIEHover.className.replace(/\s{0,}tr_hover/gi, ""); - this._lastIEHover = null - } - } - if (a != null && a.className.search(/tr_hover/gi) < 0) { - a.className += " tr_hover"; - g._lastIEHover = a - } - }; - this._IEHoverInited = true - }; - this._IEHoverClear = function() { - this.p.onmouseover = null; - this.p.onmouseout = null; - this._IEHoverInited = false - } - } - this._IEFirstLast = (window.dhx4.isIE6 || window.dhx4.isIE7 || window.dhx4.isIE8); - this._enableIEVFix = function() { - if (window.dhx4.isIE6 || window.dhx4.isIE7) { - var h = this.attachEvent("onHide", function() { - document.getElementById(this._nodeId).style.visibility = "hidden" - }); - var a = this.attachEvent("onShow", function() { - document.getElementById(this._nodeId).style.visibility = "visible" - }); - if (this._nodeObjEv == null) { - this._nodeObjEv = [] - } - this._nodeObjEv.push(h, a) - } - }; - if (typeof(window.dhtmlXToolbarObject) == "function" && this.conf.toolbar != null && this.conf.toolbar instanceof window.dhtmlXToolbarObject && this.conf.id != null) { - if (!(this.conf.id instanceof Array)) { - this.conf.id = [this.conf.id] - } - this.skinParent = this.conf.toolbar.conf.skin; - this._doOnToolbarClick = function(h) { - for (var a = 0; a < g.conf.id.length; a++) { - if (h == g.conf.id[a]) { - if (h != g._lastId) { - g.show(h); - g._clearClick = true - } - } - } - }; - if (typeof(dhtmlXToolbarObject.prototype._getItemDim) == "undefined") { - dhtmlXToolbarObject.prototype._getItemDim = function(l) { - var a = this.objPull[this.idPrefix + l]; - var h = { - left: window.dhx4.absLeft(a.obj), - top: window.dhx4.absTop(a.obj), - width: a.obj.offsetWidth + (a.arw ? a.arw.offsetWidth : 0), - height: a.obj.offsetHeight - }; - a = null; - return h - } - } - this.conf.toolbarEvent = this.conf.toolbar.attachEvent("onClick", this._doOnToolbarClick) - } - if (typeof(window.dhtmlXRibbon) == "function" && this.conf.ribbon != null && this.conf.ribbon instanceof window.dhtmlXRibbon && this.conf.id != null) { - if (!(this.conf.id instanceof Array)) { - this.conf.id = [this.conf.id] - } - this.skinParent = this.conf.ribbon.conf.skin; - this._doOnRibbonClick = function(h) { - for (var a = 0; a < g.conf.id.length; a++) { - if (h == g.conf.id[a]) { - if (h != g._lastId) { - g.show(h); - g._clearClick = true - } - } - } - }; - if (typeof(dhtmlXRibbon.prototype._getItemDim) == "undefined") { - dhtmlXRibbon.prototype._getItemDim = function(l) { - var a = this._items[l].base; - var h = { - left: window.dhx4.absLeft(a), - top: window.dhx4.absTop(a), - width: a.offsetWidth, - height: a.offsetHeight - }; - a = null; - return h - } - } - this.conf.ribbonEvent = this.conf.ribbon.attachEvent("_showPopup", this._doOnRibbonClick) - } - if (typeof(window.dhtmlXForm) == "function" && this.conf.form != null && this.conf.form instanceof window.dhtmlXForm && this.conf.id != null) { - if (!(this.conf.id instanceof Array)) { - this.conf.id = [this.conf.id] - } - if (!this.conf.mode) { - this.mode = "right" - } - this.skinParent = this.conf.form.skin; - if (typeof(dhtmlXForm.prototype._getItemDim) == "undefined") { - dhtmlXForm.prototype._getItemDim = function(a, h) { - return this.doWithItem(a, "_getDim") - }; - for (var c in dhtmlXForm.prototype.items) { - dhtmlXForm.prototype.items[c]._getDim = function(h) { - var a = h; - if ({ - ta: true, - pw: true, - se: true, - tp: true, - fl: true, - calendar: true, - colorpicker: 1, - editor: true, - container: true - }[h._type]) { - a = h.childNodes[h._ll ? 1 : 0].childNodes[0] - } - if ({ - ch: true, - ra: true, - btn2state: true - }[h._type]) { - a = h.childNodes[h._ll ? 1 : 0].childNodes[1] - } - if ({ - bt: true, - lb: true, - fs: true - }[h._type]) { - a = h.firstChild - } - if ({ - combo: true - }[h._type]) { - a = h._combo.DOMParent.firstChild - } - if ({ - image: true - }[h._type]) { - a = h.childNodes[h._ll ? 1 : 0].lastChild - } - if ({ - bl: true - }[h._type]) { - a = h.firstChild.firstChild.firstChild - } - var l = { - left: window.dhx4.absLeft(a), - top: window.dhx4.absTop(a), - width: a.offsetWidth, - height: a.offsetHeight - }; - a = null; - return l - } - } - } - } - if (typeof(window.dhtmlXSlider) == "function" && this.conf.slider != null && this.conf.slider instanceof window.dhtmlXSlider) { - if (!this.conf.mode) { - this.mode = "top" - } - this.conf.slider_tm = null; - this._sliderShow = function() { - if (g.conf.slider_tm) { - window.clearTimeout(g.conf.slider_tm) - } - var a = g.conf.slider._r_actv; - if (a != null) { - var h = { - left: window.dhx4.absLeft(a), - top: window.dhx4.absTop(a), - width: a.offsetWidth, - height: a.offsetHeight - }; - g.show(h.left, h.top, h.width, h.height); - a = null - } - }; - this._sliderHide = function() { - g.conf.slider_tm = window.setTimeout(function() { - g.hide() - }, 200) - }; - this.conf.slider_events = [this.conf.slider.attachEvent("onMouseDown", this._sliderShow), this.conf.slider.attachEvent("onMouseUp", this._sliderHide), this.conf.slider.attachEvent("onChange", this._sliderShow)] - } - this.setSkin(this.skinParent || this.conf.skin || window.dhx4.skin || (typeof(dhtmlx) != "undefined" ? dhtmlx.skin : null) || window.dhx4.skinDetect("dhx_popup") || "material"); - return this -} -dhtmlXPopup.prototype.attachObject = function(a) { - return this._attachNode("object", { - obj: a - }) -}; -dhtmlXPopup.prototype._attach_init_object = function(a) { - this._nodeObj = (typeof(a.obj) == "string" ? document.getElementById(a.obj) : a.obj); - a.obj = null; - document.getElementById(this._nodeId).appendChild(this._nodeObj); - this._nodeObj.style.display = ""; - this._nodeObj.style.visibility = "visible" -}; -dhtmlXPopup.prototype.attachHTML = function(a) { - return this._attachNode("html", { - html: a - }) -}; -dhtmlXPopup.prototype._attach_init_html = function(a) { - document.getElementById(this._nodeId).innerHTML = a.html; - this._nodeObj = { - text: a.html - } -}; -dhtmlXPopup.prototype.attachForm = function(c, a) { - return this._attachNode("form", { - struct: c, - width: a - }) -}; -dhtmlXPopup.prototype._attach_init_form = function(c) { - var a = this; - this._nodeObj = new dhtmlXForm(this._nodeId, c.struct); - this._nodeObj.setSkin(this.conf.skin); - this._nodeObj.attachEvent("_onBeforeEditorAccess", function() { - a._clearClick = true - }); - if (this.conf.editorEv != null && this.checkEvent(this.conf.editorEv) == false) { - this.conf.editorEv = null - } - if (dhtmlXForm.prototype.items.editor != null && this.conf.editorEv == null) { - this.conf.editorEv = this.attachEvent("onShow", function() { - var h = dhtmlXForm.prototype.items.editor.editor; - for (var e in h) { - var l = h[e].base; - var g = false; - while (l != null) { - if (l == this.p) { - g = true; - l = null - } else { - l = l.parentNode - } - } - l = null; - if (g == true) { - h[e].cell.conf.cells_cont = null; - h[e].setSizes() - } - } - h = null; - this.detachEvent(this.conf.editorEv); - this.conf.editorEv = null - }); - if (this._nodeObjEv == null) { - this._nodeObjEv = [] - } - this._nodeObjEv.push(this.conf.editorEv) - } -}; -dhtmlXPopup.prototype.attachCalendar = function(a) { - return this._attachNode("calendar", a || {}) -}; -dhtmlXPopup.prototype._attach_init_calendar = function(a) { - if (a["double"] == true) { - this._nodeObj = new dhtmlXDoubleCalendarObject(this._nodeId); - this._nodeObj.leftCalendar.setSkin(this.conf.skin); - this._nodeObj.rightCalendar.setSkin(this.conf.skin) - } else { - this._nodeObj = new dhtmlXCalendarObject(this._nodeId); - this._nodeObj.setSkin(this.conf.skin) - } - this._nodeObj.show() -}; -dhtmlXPopup.prototype.attachGrid = function(c, a) { - return this._attachNode("grid", { - width: c || 400, - height: a || 200 - }) -}; -dhtmlXPopup.prototype._attach_init_grid = function() { - this._nodeObj = new dhtmlXGridObject(this._nodeId); - this._nodeObj.setSkin(this.conf.skin) -}; -dhtmlXPopup.prototype.attachTree = function(e, c, a) { - return this._attachNode("tree", { - width: e || 400, - height: c || 200, - rootId: a || 0 - }) -}; -dhtmlXPopup.prototype._attach_init_tree = function(a) { - this._nodeObj = new dhtmlXTreeObject(this._nodeId, "100%", "100%", (a.rootId)) -}; -dhtmlXPopup.prototype.attachLayout = function(c, a, e) { - return this._attachNode("layout", { - width: c || 400, - height: a || 200, - pattern: e || "3L" - }) -}; -dhtmlXPopup.prototype._attach_init_layout = function(a) { - this._nodeObj = new dhtmlXLayoutObject(this._nodeId, a.pattern, this.conf.skin) -}; -dhtmlXPopup.prototype.attachAccordion = function(e, a, c) { - return this._attachNode("accordion", { - width: e || 400, - height: a || 200, - conf: c || {} - }) -}; -dhtmlXPopup.prototype._attach_init_accordion = function(a) { - a.conf.parent = this._nodeId; - a.conf.skin = this.conf.skin; - this._nodeObj = new dhtmlXAccordion(a.conf) -}; -dhtmlXPopup.prototype.attachTabbar = function(e, a, c) { - if (typeof(c) == "string") { - c = { - mode: c - } - } else { - if (typeof(c) != "object" || c == null) { - c = {} - } - } - return this._attachNode("tabbar", { - width: e || 400, - height: a || 200, - conf: c - }) -}; -dhtmlXPopup.prototype._attach_init_tabbar = function(a) { - a.conf.parent = this._nodeId; - a.conf.skin = this.conf.skin; - this._nodeObj = new dhtmlXTabBar(a.conf) -}; -dhtmlXPopup.prototype.attachSidebar = function(e, a, c) { - if (c == null) { - c = {} - } - return this._attachNode("sidebar", { - width: e || 400, - height: a || 200, - conf: c - }) -}; -dhtmlXPopup.prototype._attach_init_sidebar = function(a) { - a.conf.parent = this._nodeId; - a.conf.skin = this.conf.skin; - this._nodeObj = new dhtmlXSideBar(a.conf) -}; -dhtmlXPopup.prototype.attachEditor = function(e, a, c) { - return this._attachNode("editor", { - width: e || 400, - height: a || 200, - conf: c || {} - }) -}; -dhtmlXPopup.prototype._attach_init_editor = function(c) { - document.getElementById(this._nodeId).className = "dhxeditor_" + this.conf.skin; - c.conf.parent = this._nodeId; - if (c.conf.skin == null) { - c.conf.skin = this.conf.skin - } - this._nodeObj = new dhtmlXEditor(c.conf); - var a = this.attachEvent("onShow", function() { - if (this._nodeObj instanceof window.dhtmlXEditor) { - this._nodeObj.setSizes() - } - }); - if (this._nodeObjEv == null) { - this._nodeObjEv = [] - } - this._nodeObjEv.push(a) -}; -dhtmlXPopup.prototype.attachColorPicker = function(a) { - if (typeof(a) != "object" || a == null) { - a = {} - } - return this._attachNode("colorpicker", { - conf: a - }) -}; -dhtmlXPopup.prototype._attach_init_colorpicker = function(a) { - a.conf.skin = this.conf.skin; - a.conf.parent = this._nodeId; - this._nodeObj = new dhtmlXColorPicker(a.conf) -}; -dhtmlXPopup.prototype.attachCarousel = function(e, a, c) { - if (c == null) { - c = {} - } - return this._attachNode("carousel", { - width: e || 400, - height: a || 300, - conf: c - }) -}; -dhtmlXPopup.prototype._attach_init_carousel = function(a) { - a.conf.parent = this._nodeId; - a.conf.skin = this.conf.skin; - this._nodeObj = new dhtmlXCarousel(a.conf) -}; -dhtmlXPopup.prototype.attachTreeView = function(e, a, c) { - if (c == null) { - c = {} - } - return this._attachNode("treeview", { - width: e || 400, - height: a || 300, - conf: c - }) -}; -dhtmlXPopup.prototype._attach_init_treeview = function(a) { - a.conf.parent = this._nodeId; - a.conf.skin = this.conf.skin; - this._nodeObj = new dhtmlXTreeView(a.conf); - this._nodeObj.base.className += " dhxtreeview_with_border"; - var c = this.attachEvent("onShow", function() { - if (this._nodeObj instanceof window.dhtmlXTreeView) { - this._nodeObj.setSizes() - } - }); - if (this._nodeObjEv == null) { - this._nodeObjEv = [] - } - this._nodeObjEv.push(c) -}; -dhtmlXPopup.prototype.setDimension = function(a, c) { - if (this._nodeId == null || (a == null && c == null)) { - return - } - var e = document.getElementById(this._nodeId); - if (a != null) { - e.style.width = a + "px" - } - if (c != null) { - e.style.height = c + "px" - } - this._repaint(); - if (this._nodeObj != null && typeof(this._nodeObj.setSizes) == "function") { - this._nodeObj.setSizes() - } - e = null -}; - -function dhtmlXMenuObject(h, l) { - var g = this; - this.conf = { - skin: (l || window.dhx4.skin || (typeof(dhtmlx) != "undefined" ? dhtmlx.skin : null) || window.dhx4.skinDetect("dhxmenu") || "material"), - mode: "web", - align: "left", - is_touched: false, - selected: -1, - last_click: -1, - fixed_pos: false, - rtl: false, - icons_path: "", - icons_css: false, - arrow_ff_fix: (navigator.userAgent.indexOf("MSIE") >= 0 && document.compatMode == "BackCompat"), - live_id: window.dhx4.newId(), - tags: { - root: "menu", - item: "item", - text_ext: "itemtext", - userdata: "userdata", - tooltip: "tooltip", - hotkey: "hotkey", - href: "href" - }, - autoload: {}, - hide_tm: {}, - top_mode: true, - top_tmtime: 200, - v_enabled: false, - v: { - x1: null, - x2: null, - y1: null, - y2: null - }, - dir_toplv: "bottom", - dir_sublv: "right", - auto_overflow: false, - overflow_limit: 0, - of_utm: null, - of_utime: 20, - of_ustep: 3, - of_dtm: null, - of_dtime: 20, - of_dstep: 3, - of_ah: { - dhx_skyblue: 24, - dhx_web: 25, - dhx_terrace: 27, - material: 25 - }, - of_ih: { - dhx_skyblue: 24, - dhx_web: 24, - dhx_terrace: 24, - material: 30 - }, - tm_sec: 400, - tm_handler: null, - dload: false, - dload_url: "", - dload_icon: false, - dload_params: { - action: "loadMenu" - }, - dload_pid: "parentId", - tl_botmarg: 1, - tl_rmarg: 0, - tl_ofsleft: 1, - context: false, - ctx_zoneid: false, - ctx_autoshow: true, - ctx_autohide: true, - ctx_hideall: true, - ctx_zones: {}, - ctx_baseid: null, - selected_sub: [], - opened_poly: [] - }; - if (typeof(h) == "object" && h != null && typeof(h.tagName) == "undefined") { - if (h.icons_path != null || h.icon_path != null) { - this.conf.icons_path = (h.icons_path || h.icon_path) - } - if (h.skin != null) { - this.conf.skin = h.skin - } - if (h.visible_area) { - this.conf.v_enabled = true; - this.conf.v = { - x1: h.visible_area.x1, - x2: h.visible_area.x2, - y1: h.visible_area.y1, - y2: h.visible_area.y2 - } - } - for (var e in { - json: 1, - xml: 1, - items: 1, - top_text: 1, - align: 1, - open_mode: 1, - overflow: 1, - dynamic: 1, - dynamic_icon: 1, - context: 1, - onload: 1, - onclick: 1, - oncheckboxclick: 1, - onradioclick: 1, - iconset: 1 - }) { - if (h[e] != null) { - this.conf.autoload[e] = h[e] - } - } - h = h.parent - } - if (h == null) { - this.base = document.body - } else { - var c = (typeof(h) == "string" ? document.getElementById(h) : h); - if (c != null) { - this.base = c; - if (!this.base.id) { - this.base.id = "menuBaseId_" + new Date().getTime() - } - this.base.className += " dhtmlxMenu_" + this.conf.skin + "_Middle dir_left"; - this.base._autoSkinUpdate = true; - if (this.base.oncontextmenu) { - this.base._oldContextMenuHandler = this.base.oncontextmenu - } - this.conf.ctx_baseid = this.base; - this.base.onselectstart = function(a) { - a = a || event; - if (a.preventDefault) { - a.preventDefault() - } else { - a.returnValue = false - } - return false - }; - this.base.oncontextmenu = function(a) { - a = a || event; - if (a.preventDefault) { - a.preventDefault() - } else { - a.returnValue = false - } - return false - } - } else { - this.base = document.body - } - } - this.idPrefix = ""; - this.topId = "dhxWebMenuTopId"; - this.idPull = {}; - this.itemPull = {}; - this.userData = {}; - this.radio = {}; - this.setSkin = function(n) { - var o = this.conf.skin; - this.conf.skin = n; - switch (this.conf.skin) { - case "dhx_skyblue": - case "dhx_web": - this.conf.tl_botmarg = 2; - this.conf.tl_rmarg = 1; - this.conf.tl_ofsleft = 1; - break; - case "dhx_terrace": - case "material": - this.conf.tl_botmarg = 0; - this.conf.tl_rmarg = 0; - this.conf.tl_ofsleft = 0; - break - } - if (this.base._autoSkinUpdate) { - this.base.className = this.base.className.replace("dhtmlxMenu_" + o + "_Middle", "") + " dhtmlxMenu_" + this.conf.skin + "_Middle" - } - for (var m in this.idPull) { - this.idPull[m].className = String(this.idPull[m].className).replace(o, this.conf.skin) - } - }; - this.setSkin(this.conf.skin); - this._addSubItemToSelected = function(n, m) { - var a = true; - for (var o = 0; o < this.conf.selected_sub.length; o++) { - if ((this.conf.selected_sub[o][0] == n) && (this.conf.selected_sub[o][1] == m)) { - a = false - } - } - if (a == true) { - this.conf.selected_sub.push(new Array(n, m)) - } - return a - }; - this._removeSubItemFromSelected = function(r, o) { - var a = new Array(); - var n = false; - for (var s = 0; s < this.conf.selected_sub.length; s++) { - if ((this.conf.selected_sub[s][0] == r) && (this.conf.selected_sub[s][1] == o)) { - n = true - } else { - a[a.length] = this.conf.selected_sub[s] - } - } - if (n == true) { - this.conf.selected_sub = a - } - return n - }; - this._getSubItemToDeselectByPolygon = function(r) { - var a = new Array(); - for (var s = 0; s < this.conf.selected_sub.length; s++) { - if (this.conf.selected_sub[s][1] == r) { - a[a.length] = this.conf.selected_sub[s][0]; - a = a.concat(this._getSubItemToDeselectByPolygon(this.conf.selected_sub[s][0])); - var o = true; - for (var n = 0; n < this.conf.opened_poly.length; n++) { - if (this.conf.opened_poly[n] == this.conf.selected_sub[s][0]) { - o = false - } - } - if (o == true) { - this.conf.opened_poly[this.conf.opened_poly.length] = this.conf.selected_sub[s][0] - } - this.conf.selected_sub[s][0] = -1; - this.conf.selected_sub[s][1] = -1 - } - } - return a - }; - this._hidePolygon = function(a) { - if (this.idPull["polygon_" + a] != null) { - if (this.idPull["polygon_" + a]._zId != null) { - window.dhx4.zim.clear(this.idPull["polygon_" + a]._zId) - } - if (typeof(this._menuEffect) != "undefined" && this._menuEffect !== false) { - this._hidePolygonEffect("polygon_" + a) - } else { - if (this.idPull["polygon_" + a].style.display == "none") { - return - } - this.idPull["polygon_" + a].style.display = "none"; - if (this.idPull["arrowup_" + a] != null) { - this.idPull["arrowup_" + a].style.display = "none" - } - if (this.idPull["arrowdown_" + a] != null) { - this.idPull["arrowdown_" + a].style.display = "none" - } - this._updateItemComplexState(a, true, false); - if (window.dhx4.isIE6 && this.idPull["polygon_" + a + "_ie6cover"] != null) { - this.idPull["polygon_" + a + "_ie6cover"].style.display = "none" - } - } - a = String(a).replace(this.idPrefix, ""); - if (a == this.topId) { - a = null - } - this.callEvent("onHide", [a]); - if (a != null && this.conf.skin == "dhx_terrace" && this.itemPull[this.idPrefix + a].parent == this.idPrefix + this.topId) { - this._improveTerraceButton(this.idPrefix + a, true) - } - } - }; - this._showPolygon = function(H, n) { - var M = this._countVisiblePolygonItems(H); - if (M == 0) { - return - } - var I = "polygon_" + H; - if ((this.idPull[I] != null) && (this.idPull[H] != null)) { - if (this.conf.top_mode && this.conf.mode == "web" && !this.conf.context) { - if (!this.idPull[H]._mouseOver && n == this.conf.dir_toplv) { - return - } - } - if (!this.conf.fixed_pos) { - this._autoDetectVisibleArea() - } - var J = 0; - var L = 0; - var O = null; - var D = null; - if (this.idPull[I]._zId == null) { - this.idPull[I]._zId = window.dhx4.newId() - } - this.idPull[I]._zInd = window.dhx4.zim.reserve(this.idPull[I]._zId); - this.idPull[I].style.visibility = "hidden"; - this.idPull[I].style.left = "0px"; - this.idPull[I].style.top = "0px"; - this.idPull[I].style.display = ""; - this.idPull[I].style.zIndex = this.idPull[I]._zInd; - if (this.conf.auto_overflow) { - if (this.idPull[I].childNodes[1].childNodes[0].offsetHeight > this.conf.v.y2 - this.conf.v.y1) { - var C = Math.max(Math.floor((this.conf.v.y2 - this.conf.v.y1 - this.conf.of_ah[this.conf.skin] * 2) / this.conf.of_ih[this.conf.skin]), 1); - this.conf.overflow_limit = C - } else { - this.conf.overflow_limit = 0; - if (this.idPull["arrowup_" + H] != null) { - this._removeUpArrow(String(H).replace(this.idPrefix, "")) - } - if (this.idPull["arrowdown_" + H] != null) { - this._removeDownArrow(String(H).replace(this.idPrefix, "")) - } - } - } - if (this.conf.overflow_limit > 0 && this.conf.overflow_limit < M) { - if (this.idPull["arrowup_" + H] == null) { - this._addUpArrow(String(H).replace(this.idPrefix, "")) - } - if (this.idPull["arrowdown_" + H] == null) { - this._addDownArrow(String(H).replace(this.idPrefix, "")) - } - O = this.idPull["arrowup_" + H]; - O.style.display = "none"; - D = this.idPull["arrowdown_" + H]; - D.style.display = "none" - } - if (this.conf.overflow_limit > 0 && this.conf.overflow_limit < M) { - this.idPull[I].childNodes[1].style.height = this.conf.of_ih[this.conf.skin] * this.conf.overflow_limit + "px"; - O.style.width = D.style.width = this.idPull[I].childNodes[1].style.width = this.idPull[I].childNodes[1].childNodes[0].offsetWidth + "px"; - this.idPull[I].childNodes[1].scrollTop = 0; - O.style.display = ""; - J = O.offsetHeight; - D.style.display = ""; - L = D.offsetHeight - } else { - this.idPull[I].childNodes[1].style.height = ""; - this.idPull[I].childNodes[1].style.width = "" - } - if (this.itemPull[H] != null) { - var v = "polygon_" + this.itemPull[H]["parent"] - } else { - if (this.conf.context) { - var v = this.idPull[this.idPrefix + this.topId] - } - } - var a = (this.idPull[H].tagName != null ? window.dhx4.absLeft(this.idPull[H]) : this.idPull[H][0]); - var N = (this.idPull[H].tagName != null ? window.dhx4.absTop(this.idPull[H]) : this.idPull[H][1]); - var m = (this.idPull[H].tagName != null ? this.idPull[H].offsetWidth : 0); - var o = (this.idPull[H].tagName != null ? this.idPull[H].offsetHeight : 0); - var u = 0; - var s = 0; - var A = this.idPull[I].offsetWidth; - var K = this.idPull[I].offsetHeight; - if (n == "bottom") { - if (this.conf.rtl) { - u = a + (m != null ? m : 0) - A - } else { - if (this.conf.align == "right") { - u = a + m - A - } else { - u = a - 1 + (n == this.conf.dir_toplv ? this.conf.tl_rmarg : 0) - } - } - s = N - 1 + o + this.conf.tl_botmarg - } - if (n == "right") { - u = a + m - 1; - s = N + 2 - } - if (n == "left") { - u = a - this.idPull[I].offsetWidth + 2; - s = N + 2 - } - if (n == "top") { - u = a - 1; - s = N - K + 2 - } - if (this.conf.fixed_pos) { - var F = 65536; - var E = 65536 - } else { - var F = (this.conf.v.x2 != null ? this.conf.v.x2 : 0); - var E = (this.conf.v.y2 != null ? this.conf.v.y2 : 0); - if (F == 0) { - if (window.innerWidth) { - F = window.innerWidth; - E = window.innerHeight - } else { - F = document.body.offsetWidth; - E = document.body.scrollHeight - } - } - } - if (u + A > F && !this.conf.rtl) { - u = a - A + 2 - } - if (u < this.conf.v.x1 && this.conf.rtl) { - u = a + m - 2 - } - if (u < 0) { - u = 0 - } - if (s + K > E && this.conf.v.y2 != null) { - s = Math.max(N + o - K + 2, (this.conf.v_enabled ? this.conf.v.y1 + 2 : 2)); - if (this.conf.context && this.idPrefix + this.topId == H && D != null) { - s = s - 2 - } - if (this.itemPull[H] != null && !this.conf.context) { - if (this.itemPull[H]["parent"] == this.idPrefix + this.topId) { - s = s - this.base.offsetHeight - } - } - } - this.idPull[I].style.left = u + "px"; - this.idPull[I].style.top = s + "px"; - if (typeof(this._menuEffect) != "undefined" && this._menuEffect !== false) { - this._showPolygonEffect(I) - } else { - this.idPull[I].style.visibility = ""; - if (this.conf.overflow_limit > 0 && this.conf.overflow_limit < M) { - this.idPull[I].childNodes[1].scrollTop = 0; - this._checkArrowsState(H) - } - if (window.dhx4.isIE6) { - var r = I + "_ie6cover"; - if (this.idPull[r] == null) { - var q = document.createElement("IFRAME"); - q.className = "dhtmlxMenu_IE6CoverFix_" + this.conf.skin; - q.frameBorder = 0; - q.setAttribute("src", "javascript:false;"); - document.body.insertBefore(q, document.body.firstChild); - this.idPull[r] = q - } - this.idPull[r].style.left = u + "px"; - this.idPull[r].style.top = s + "px"; - this.idPull[r].style.width = this.idPull[I].offsetWidth + "px"; - this.idPull[r].style.height = this.idPull[I].offsetHeight + "px"; - this.idPull[r].style.zIndex = this.idPull[I].style.zIndex - 1; - this.idPull[r].style.display = "" - } - } - H = String(H).replace(this.idPrefix, ""); - if (H == this.topId) { - H = null - } - this.callEvent("onShow", [H]); - if (H != null && this.conf.skin == "dhx_terrace" && this.itemPull[this.idPrefix + H].parent == this.idPrefix + this.topId) { - this._improveTerraceButton(this.idPrefix + H, false) - } - } - }; - this._redistribSubLevelSelection = function(r, o) { - while (this.conf.opened_poly.length > 0) { - this.conf.opened_poly.pop() - } - var a = this._getSubItemToDeselectByPolygon(o); - this._removeSubItemFromSelected(-1, -1); - for (var m = 0; m < a.length; m++) { - if ((this.idPull[a[m]] != null) && (a[m] != r)) { - if (this.itemPull[a[m]]["state"] == "enabled") { - this.idPull[a[m]].className = "sub_item" - } - } - } - for (var m = 0; m < this.conf.opened_poly.length; m++) { - if (this.conf.opened_poly[m] != o) { - this._hidePolygon(this.conf.opened_poly[m]) - } - } - if (this.itemPull[r]["state"] == "enabled") { - this.idPull[r].className = "sub_item_selected"; - if (this.itemPull[r]["complex"] && this.conf.dload && (this.itemPull[r]["loaded"] == "no")) { - if (this.conf.dload_icon == true) { - this._updateLoaderIcon(r, true) - } - this.itemPull[r].loaded = "get"; - var n = r.replace(this.idPrefix, ""); - this._dhxdataload.onBeforeXLS = function() { - var s = { - params: {} - }; - s.params[this.conf.dload_pid] = n; - for (var q in this.conf.dload_params) { - s.params[q] = this.conf.dload_params[q] - } - return s - }; - this.loadStruct(this.conf.dload_url) - } - if (this.itemPull[r]["complex"] || (this.conf.dload && (this.itemPull[r]["loaded"] == "yes"))) { - if ((this.itemPull[r]["complex"]) && (this.idPull["polygon_" + r] != null)) { - this._updateItemComplexState(r, true, true); - this._showPolygon(r, this.conf.dir_sublv) - } - } - this._addSubItemToSelected(r, o); - this.conf.selected = r - } - }; - this._doOnClick = function(n, x, r) { - this.conf.last_click = n; - if (this.itemPull[this.idPrefix + n]["href_link"] != null && this.itemPull[this.idPrefix + n].state == "enabled") { - var s = document.createElement("FORM"); - var v = String(this.itemPull[this.idPrefix + n]["href_link"]).split("?"); - s.action = v[0]; - if (v[1] != null) { - var o = String(v[1]).split("&"); - for (var a = 0; a < o.length; a++) { - var w = String(o[a]).split("="); - var u = document.createElement("INPUT"); - u.type = "hidden"; - u.name = (w[0] || ""); - u.value = (w[1] || ""); - s.appendChild(u) - } - } - if (this.itemPull[this.idPrefix + n]["href_target"] != null) { - s.target = this.itemPull[this.idPrefix + n]["href_target"] - } - s.style.display = "none"; - document.body.appendChild(s); - s.submit(); - if (s != null) { - document.body.removeChild(s); - s = null - } - return - } - if (x.charAt(0) == "c") { - return - } - if (x.charAt(1) == "d") { - return - } - if (x.charAt(2) == "s") { - return - } - if (this.checkEvent("onClick")) { - this.callEvent("onClick", [n, this.conf.ctx_zoneid, r]) - } else { - if ((x.charAt(1) == "d") || (this.conf.mode == "win" && x.charAt(2) == "t")) { - return - } - } - if (this.conf.context && this._isContextMenuVisible() && this.conf.ctx_autohide) { - this._hideContextMenu() - } else { - if (this._clearAndHide) { - this._clearAndHide() - } - } - }; - this._doOnTouchMenu = function(a) { - if (this.conf.is_touched == false) { - this.conf.is_touched = true; - if (this.checkEvent("onTouch")) { - this.callEvent("onTouch", [a]) - } - } - }; - this._searchMenuNode = function(o, s) { - var a = new Array(); - for (var r = 0; r < s.length; r++) { - if (typeof(s[r]) == "object") { - if (s[r].length == 5) { - if (typeof(s[r][0]) != "object") { - if ((s[r][0].replace(this.idPrefix, "") == o) && (r == 0)) { - a = s - } - } - } - var n = this._searchMenuNode(o, s[r]); - if (n.length > 0) { - a = n - } - } - } - return a - }; - this._getMenuNodes = function(q) { - var n = new Array; - for (var o in this.itemPull) { - if (this.itemPull[o]["parent"] == q) { - n[n.length] = o - } - } - return n - }; - this._genStr = function(a) { - var m = "dhxId_"; - var o = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; - for (var n = 0; n < a; n++) { - m += o.charAt(Math.round(Math.random() * (o.length - 1))) - } - return m - }; - this.getItemType = function(a) { - a = this.idPrefix + a; - if (this.itemPull[a] == null) { - return null - } - return this.itemPull[a]["type"] - }; - this.forEachItem = function(n) { - for (var m in this.itemPull) { - n(String(m).replace(this.idPrefix, "")) - } - }; - this._clearAndHide = function() { - g.conf.selected = -1; - g.conf.last_click = -1; - while (g.conf.opened_poly.length > 0) { - g.conf.opened_poly.pop() - } - for (var a = 0; a < g.conf.selected_sub.length; a++) { - var m = g.conf.selected_sub[a][0]; - if (g.idPull[m] != null) { - if (g.itemPull[m]["state"] == "enabled") { - if (g.idPull[m].className == "sub_item_selected") { - g.idPull[m].className = "sub_item" - } - if (g.idPull[m].className == "dhtmlxMenu_" + g.conf.skin + "_TopLevel_Item_Selected") { - if (g.itemPull[m]["cssNormal"] != null) { - g.idPull[m].className = g.itemPull[m]["cssNormal"] - } else { - g.idPull[m].className = "dhtmlxMenu_" + g.conf.skin + "_TopLevel_Item_Normal" - } - } - } - } - g._hidePolygon(m) - } - g.conf.is_touched = false; - if (g.conf.context && g.conf.ctx_hideall) { - g._hidePolygon(g.idPrefix + g.topId) - } - }; - this._showSubLevelItem = function(m, a) { - if (document.getElementById("arrow_" + this.idPrefix + m) != null) { - document.getElementById("arrow_" + this.idPrefix + m).style.display = (a ? "none" : "") - } - if (document.getElementById("image_" + this.idPrefix + m) != null) { - document.getElementById("image_" + this.idPrefix + m).style.display = (a ? "none" : "") - } - if (document.getElementById(this.idPrefix + m) != null) { - document.getElementById(this.idPrefix + m).style.display = (a ? "" : "none") - } - }; - this._hideSubLevelItem = function(a) { - this._showSubLevelItem(a, true) - }; - this.idPrefix = this._genStr(12) + "_"; - this._bodyClick = function(a) { - a = a || event; - if (a.button == 2 || (window.dhx4.isOpera && a.ctrlKey == true)) { - return - } - if (g.conf.context) { - if (g.conf.ctx_autohide && (!window.dhx4.isOpera || (g._isContextMenuVisible() && window.dhx4.isOpera))) { - g._hideContextMenu() - } - } else { - if (g._clearAndHide) { - g._clearAndHide() - } - } - }; - this._bodyContext = function(n) { - n = n || event; - var m = String((n.srcElement || n.target).className); - if (m.search("dhtmlxMenu") != -1 && m.search("SubLevelArea") != -1) { - return - } - var a = true; - var o = n.target || n.srcElement; - while (o != null) { - if (o.id != null) { - if (g.isContextZone(o.id)) { - a = false - } - } - if (o == document.body) { - a = false - } - o = o.parentNode - } - if (a) { - g.hideContextMenu() - } - }; - if (typeof(window.addEventListener) != "undefined") { - window.addEventListener("click", this._bodyClick, false); - window.addEventListener("contextmenu", this._bodyContext, false) - } else { - document.body.attachEvent("onclick", this._bodyClick); - document.body.attachEvent("oncontextmenu", this._bodyContext) - } - this._gridClickHandler = dhx4.attachEvent("_onGridClick", this._bodyClick); - this.unload = function() { - window.dhx4._eventable(this, "clear"); - dhtmlXMenuObject.prototype.liveInst[this.conf.live_id] = null; - try { - delete dhtmlXMenuObject.prototype.liveInst[this.conf.live_id] - } catch (n) {} - this.conf.live_id = null; - if (typeof(window.addEventListener) == "function") { - window.removeEventListener("click", this._bodyClick, false); - window.removeEventListener("contextmenu", this._bodyContext, false) - } else { - document.body.detachEvent("onclick", this._bodyClick); - document.body.detachEvent("oncontextmenu", this._bodyContext) - } - dhx4.detachEvent(this._gridClickHandler); - this._bodyClick = null; - this._bodyContext = null; - this.removeItem(this.idPrefix + this.topId, true); - this.itemPull = null; - this.idPull = null; - if (this.conf.context) { - for (var m in this.conf.ctx_zones) { - this.removeContextZone(m) - } - } - if (this.cont != null) { - this.cont.className = ""; - this.cont.parentNode.removeChild(this.cont); - this.cont = null - } - if (this.base != null) { - if (!this.conf.context) { - this.base.className = "" - } - if (!this.conf.context) { - this.base.oncontextmenu = (this.base._oldContextMenuHandler || null) - } - this.base.onselectstart = null; - this.base = null - } - for (var m in this) { - this[m] = null - } - g = null - }; - dhtmlXMenuObject.prototype.liveInst[this.conf.live_id] = this; - window.dhx4._enableDataLoading(this, "_initObj", "_xmlToJson", this.conf.tags.root, { - struct: true - }); - window.dhx4._eventable(this); - if (window.dhx4.s2b(this.conf.autoload.context) == true) { - this.renderAsContextMenu() - } - if (this.conf.autoload.iconset == "awesome") { - this.conf.icons_css = true - } - if (this.conf.autoload.dynamic != null) { - this.enableDynamicLoading(this.conf.autoload.dynamic, window.dhx4.s2b(this.conf.autoload.dynamic_icon)) - } else { - if (this.conf.autoload.items != null) { - this.loadStruct(this.conf.autoload.items, this.conf.autoload.onload) - } else { - if (this.conf.autoload.json != null) { - this.loadStruct(this.conf.autoload.json, this.conf.autoload.onload) - } else { - if (this.conf.autoload.xml != null) { - this.loadStruct(this.conf.autoload.xml, this.conf.autoload.onload) - } - } - } - } - for (var e in { - onclick: 1, - oncheckboxclick: 1, - onradioclick: 1 - }) { - if (this.conf.autoload[e] != null) { - if (typeof(this.conf.autoload[e]) == "function") { - this.attachEvent(e, this.conf.autoload[e]) - } else { - if (typeof(window[this.conf.autoload[e]]) == "function") { - this.attachEvent(e, window[this.conf.autoload[e]]) - } - } - } - } - if (this.conf.autoload.top_text != null) { - this.setTopText(this.conf.autoload.top_text) - } - if (this.conf.autoload.align != null) { - this.setAlign(this.conf.autoload.align) - } - if (this.conf.autoload.open_mode != null) { - this.setOpenMode(this.conf.autoload.open_mode) - } - if (this.conf.autoload.overflow != null) { - this.setOverflowHeight(this.conf.autoload.overflow) - } - for (var e in this.conf.autoload) { - this.conf.autoload[e] = null; - delete this.conf.autoload[e] - } - this.conf.autoload = null; - return this -} -dhtmlXMenuObject.prototype._init = function() { - if (this._isInited == true) { - return - } - if (this.conf.dload) { - this._dhxdataload.onBeforeXLS = function() { - var e = { - params: {} - }; - for (var c in this.conf.dload_params) { - e.params[c] = this.conf.dload_params[c] - } - return e - }; - this.loadStruct(this.conf.dload_url) - } else { - this._initTopLevelMenu(); - this._isInited = true - } -}; -dhtmlXMenuObject.prototype._countVisiblePolygonItems = function(l) { - var g = 0; - for (var c in this.itemPull) { - var e = this.itemPull[c]["parent"]; - var h = this.itemPull[c]["type"]; - if (this.idPull[c] != null) { - if (e == l && (h == "item" || h == "radio" || h == "checkbox") && this.idPull[c].style.display != "none") { - g++ - } - } - } - return g -}; -dhtmlXMenuObject.prototype._redefineComplexState = function(c) { - if (this.idPrefix + this.topId == c) { - return - } - if ((this.idPull["polygon_" + c] != null) && (this.idPull[c] != null)) { - var a = this._countVisiblePolygonItems(c); - if ((a > 0) && (!this.itemPull[c]["complex"])) { - this._updateItemComplexState(c, true, false) - } - if ((a == 0) && (this.itemPull[c]["complex"])) { - this._updateItemComplexState(c, false, false) - } - } -}; -dhtmlXMenuObject.prototype._updateItemComplexState = function(h, e, g) { - if ((!this.conf.context) && (this._getItemLevelType(h.replace(this.idPrefix, "")) == "TopLevel")) { - this.itemPull[h]["complex"] = e; - return - } - if ((this.idPull[h] == null) || (this.itemPull[h] == null)) { - return - } - this.itemPull[h]["complex"] = e; - if (h == this.idPrefix + this.topId) { - return - } - var a = null; - var c = this.idPull[h].childNodes[this.conf.rtl ? 0 : 2]; - if (c.childNodes[0]) { - if (String(c.childNodes[0].className).search("complex_arrow") === 0) { - a = c.childNodes[0] - } - } - if (this.itemPull[h]["complex"]) { - if (a == null) { - a = document.createElement("DIV"); - a.className = "complex_arrow"; - a.id = "arrow_" + h; - while (c.childNodes.length > 0) { - c.removeChild(c.childNodes[0]) - } - c.appendChild(a) - } - if (this.conf.dload && (this.itemPull[h].loaded == "get") && this.conf.dload_icon) { - if (a.className != "complex_arrow_loading") { - a.className = "complex_arrow_loading" - } - } else { - a.className = "complex_arrow" - } - return - } - if ((!this.itemPull[h]["complex"]) && (a != null)) { - c.removeChild(a); - if (this.itemPull[h]["hotkey_backup"] != null && this.setHotKey) { - this.setHotKey(h.replace(this.idPrefix, ""), this.itemPull[h]["hotkey_backup"]) - } - } -}; -dhtmlXMenuObject.prototype._getItemLevelType = function(a) { - return (this.itemPull[this.idPrefix + a]["parent"] == this.idPrefix + this.topId ? "TopLevel" : "SubLevelArea") -}; -dhtmlXMenuObject.prototype.setIconsPath = function(a) { - this.conf.icons_path = a -}; -dhtmlXMenuObject.prototype._updateItemImage = function(g, h) { - g = this.idPrefix + g; - var o = this.itemPull[g]["type"]; - if (o == "checkbox" || o == "radio") { - return - } - var l = (this.itemPull[g]["parent"] == this.idPrefix + this.topId && !this.conf.context); - var m = null; - if (l) { - for (var a = 0; a < this.idPull[g].childNodes.length; a++) { - if (m == null && (this.idPull[g].childNodes[a].className || "") == "dhtmlxMenu_TopLevel_Item_Icon" || (this.idPull[g].childNodes[a].tagName || "").toLowerCase() == "i") { - m = this.idPull[g].childNodes[a] - } - } - } else { - try { - var m = this.idPull[g].childNodes[this.conf.rtl ? 2 : 0].childNodes[0] - } catch (n) {} - if (!(m != null && typeof(m.className) != "undefined" && (m.className == "sub_icon" || m.tagName.toLowerCase() == "i"))) { - m = null - } - } - var s = this.itemPull[g][(this.itemPull[g]["state"] == "enabled" ? "imgen" : "imgdis")]; - if (s.length > 0) { - if (m != null) { - if (this.conf.icons_css == true) { - m.className = this.conf.icons_path + s - } else { - m.src = this.conf.icons_path + s - } - } else { - if (l) { - if (this.conf.icons_css == true) { - var m = document.createElement("i"); - m.className = this.conf.icons_path + s - } else { - var m = document.createElement("IMG"); - m.className = "dhtmlxMenu_TopLevel_Item_Icon"; - m.src = this.conf.icons_path + s; - m.border = "0"; - m.id = "image_" + g - } - if (!this.conf.rtl && this.idPull[g].childNodes.length > 0) { - this.idPull[g].insertBefore(m, this.idPull[g].childNodes[0]) - } else { - this.idPull[g].appendChild(m) - } - } else { - if (this.conf.icons_css == true) { - var r = this.idPull[g].childNodes[this.conf.rtl ? 2 : 0]; - r.innerHTML = "" - } else { - var m = document.createElement("IMG"); - m.className = "sub_icon"; - m.src = this.conf.icons_path + s; - m.border = "0"; - m.id = "image_" + g; - var r = this.idPull[g].childNodes[this.conf.rtl ? 2 : 0]; - while (r.childNodes.length > 0) { - r.removeChild(r.childNodes[0]) - } - r.appendChild(m) - } - } - } - } else { - if (m != null) { - if (l) { - m.parentNode.removeChild(m); - m = null - } else { - var c = m.parentNode; - c.removeChild(m); - c.innerHTML = " "; - c = m = null - } - } - } -}; -dhtmlXMenuObject.prototype._getAllParents = function(l) { - var e = new Array(); - for (var c in this.itemPull) { - if (this.itemPull[c]["parent"] == l) { - e[e.length] = this.itemPull[c]["id"]; - if (this.itemPull[c]["complex"]) { - var g = this._getAllParents(this.itemPull[c]["id"]); - for (var h = 0; h < g.length; h++) { - e[e.length] = g[h] - } - } - } - } - return e -}; -dhtmlXMenuObject.prototype._autoDetectVisibleArea = function() { - if (this.conf.v_enabled) { - return - } - var a = window.dhx4.screenDim(); - this.conf.v.x1 = a.left; - this.conf.v.x2 = a.right; - this.conf.v.y1 = a.top; - this.conf.v.y2 = a.bottom -}; -dhtmlXMenuObject.prototype.getItemPosition = function(h) { - h = this.idPrefix + h; - var g = -1; - if (this.itemPull[h] == null) { - return g - } - var a = this.itemPull[h]["parent"]; - var e = (this.idPull["polygon_" + a] != null ? this.idPull["polygon_" + a].tbd : this.cont); - for (var c = 0; c < e.childNodes.length; c++) { - if (e.childNodes[c] == this.idPull["separator_" + h] || e.childNodes[c] == this.idPull[h]) { - g = c - } - } - return g -}; -dhtmlXMenuObject.prototype.setItemPosition = function(m, l) { - m = this.idPrefix + m; - if (this.idPull[m] == null) { - return - } - var c = (this.itemPull[m]["parent"] == this.idPrefix + this.topId); - var a = this.idPull[m]; - var g = this.getItemPosition(m.replace(this.idPrefix, "")); - var e = this.itemPull[m]["parent"]; - var h = (this.idPull["polygon_" + e] != null ? this.idPull["polygon_" + e].tbd : this.cont); - h.removeChild(h.childNodes[g]); - if (l < 0) { - l = 0 - } - if (c && l < 1) { - l = 1 - } - if (l < h.childNodes.length) { - h.insertBefore(a, h.childNodes[l]) - } else { - h.appendChild(a) - } -}; -dhtmlXMenuObject.prototype.getParentId = function(a) { - a = this.idPrefix + a; - if (this.itemPull[a] == null) { - return null - } - return ((this.itemPull[a]["parent"] != null ? this.itemPull[a]["parent"] : this.topId).replace(this.idPrefix, "")) -}; -dhtmlXMenuObject.prototype.hide = function() { - this._clearAndHide() -}; -dhtmlXMenuObject.prototype.clearAll = function() { - this.removeItem(this.idPrefix + this.topId, true); - this._isInited = false; - this.idPrefix = this._genStr(12) + "_"; - this.itemPull = {} -}; -if (typeof(dhtmlXMenuObject.prototype.liveInst) == "undefined") { - dhtmlXMenuObject.prototype.liveInst = {} -} -dhtmlXMenuObject.prototype.setIconset = function(a) { - this.conf.icons_css = (a == "awesome") -}; -dhtmlXMenuObject.prototype._redistribTopLevelSelection = function(g, c) { - var a = this._getSubItemToDeselectByPolygon("parent"); - this._removeSubItemFromSelected(-1, -1); - for (var e = 0; e < a.length; e++) { - if (a[e] != g) { - this._hidePolygon(a[e]) - } - if ((this.idPull[a[e]] != null) && (a[e] != g)) { - this.idPull[a[e]].className = this.idPull[a[e]].className.replace(/Selected/g, "Normal") - } - } - if (this.itemPull[this.idPrefix + g]["state"] == "enabled") { - this.idPull[this.idPrefix + g].className = "dhtmlxMenu_" + this.conf.skin + "_TopLevel_Item_Selected"; - this._addSubItemToSelected(this.idPrefix + g, "parent"); - this.conf.selected = (this.conf.mode == "win" ? (this.conf.selected != -1 ? g : this.conf.selected) : g); - if ((this.itemPull[this.idPrefix + g]["complex"]) && (this.conf.selected != -1)) { - this._showPolygon(this.idPrefix + g, this.conf.dir_toplv) - } - } -}; -dhtmlXMenuObject.prototype._initTopLevelMenu = function() { - this.conf.dir_toplv = "bottom"; - this.conf.dir_sublv = (this.conf.rtl ? "left" : "right"); - if (this.conf.context) { - this.idPull[this.idPrefix + this.topId] = new Array(0, 0); - this._addSubMenuPolygon(this.idPrefix + this.topId, this.idPrefix + this.topId) - } else { - var a = this._getMenuNodes(this.idPrefix + this.topId); - for (var c = 0; c < a.length; c++) { - if (this.itemPull[a[c]]["type"] == "item") { - this._renderToplevelItem(a[c], null) - } - if (this.itemPull[a[c]]["type"] == "separator") { - this._renderSeparator(a[c], null) - } - } - } -}; -dhtmlXMenuObject.prototype._renderToplevelItem = function(o, n) { - var l = this; - var a = document.createElement("DIV"); - a.id = o; - if (this.itemPull[o]["state"] == "enabled" && this.itemPull[o]["cssNormal"] != null) { - a.className = this.itemPull[o]["cssNormal"] - } else { - a.className = "dhtmlxMenu_" + this.conf.skin + "_TopLevel_Item_" + (this.itemPull[o]["state"] == "enabled" ? "Normal" : "Disabled") - } - if (this.itemPull[o]["title"] != "") { - var h = document.createElement("DIV"); - h.className = "top_level_text"; - h.innerHTML = this.itemPull[o]["title"]; - a.appendChild(h) - } - if (this.itemPull[o]["tip"].length > 0) { - a.title = this.itemPull[o]["tip"] - } - if ((this.itemPull[o]["imgen"] != "") || (this.itemPull[o]["imgdis"] != "")) { - var g = this.itemPull[o][(this.itemPull[o]["state"] == "enabled") ? "imgen" : "imgdis"]; - if (g) { - if (this.conf.icons_css == true) { - var e = document.createElement("i"); - e.className = this.conf.icons_path + g; - if (a.childNodes.length > 0 && !this.conf.rtl) { - a.insertBefore(e, a.childNodes[0]) - } else { - a.appendChild(e) - } - } else { - var c = document.createElement("IMG"); - c.border = "0"; - c.id = "image_" + o; - c.src = this.conf.icons_path + g; - c.className = "dhtmlxMenu_TopLevel_Item_Icon"; - if (a.childNodes.length > 0 && !this.conf.rtl) { - a.insertBefore(c, a.childNodes[0]) - } else { - a.appendChild(c) - } - } - } - } - a.onselectstart = function(m) { - m = m || event; - if (m.preventDefault) { - m.preventDefault() - } else { - m.returnValue = false - } - return false - }; - a.oncontextmenu = function(m) { - m = m || event; - if (m.preventDefault) { - m.preventDefault() - } else { - m.returnValue = false - } - return false - }; - if (!this.cont) { - this.cont = document.createElement("DIV"); - this.cont.dir = "ltr"; - this.cont.className = (this.conf.align == "right" ? "align_right" : "align_left"); - this.base.appendChild(this.cont) - } - if (n != null) { - n++; - if (n < 0) { - n = 0 - } - if (n > this.cont.childNodes.length - 1) { - n = null - } - } - if (n != null) { - this.cont.insertBefore(a, this.cont.childNodes[n]) - } else { - this.cont.appendChild(a) - } - this.idPull[a.id] = a; - if (this.itemPull[o]["complex"] && (!this.conf.dload)) { - this._addSubMenuPolygon(this.itemPull[o]["id"], this.itemPull[o]["id"]) - } - a.onmouseover = function() { - if (l.conf.mode == "web") { - window.clearTimeout(l.conf.tm_handler) - } - var m = l._getSubItemToDeselectByPolygon("parent"); - l._removeSubItemFromSelected(-1, -1); - for (var s = 0; s < m.length; s++) { - if (m[s] != this.id) { - l._hidePolygon(m[s]) - } - if ((l.idPull[m[s]] != null) && (m[s] != this.id)) { - if (l.itemPull[m[s]]["cssNormal"] != null) { - l.idPull[m[s]].className = l.itemPull[m[s]]["cssNormal"] - } else { - if (l.idPull[m[s]].className == "sub_item_selected") { - l.idPull[m[s]].className = "sub_item" - } - l.idPull[m[s]].className = l.idPull[m[s]].className.replace(/Selected/g, "Normal") - } - } - } - if (l.itemPull[this.id]["state"] == "enabled") { - this.className = "dhtmlxMenu_" + l.conf.skin + "_TopLevel_Item_Selected"; - l._addSubItemToSelected(this.id, "parent"); - l.conf.selected = (l.conf.mode == "win" ? (l.conf.selected != -1 ? this.id : l.conf.selected) : this.id); - if (l.conf.dload) { - if (l.itemPull[this.id].loaded == "no") { - this._dynLoadTM = new Date().getTime(); - l.itemPull[this.id].loaded = "get"; - var u = this.id.replace(l.idPrefix, ""); - l._dhxdataload.onBeforeXLS = function() { - var v = { - params: {} - }; - v.params[this.conf.dload_pid] = u; - for (var q in this.conf.dload_params) { - v.params[q] = this.conf.dload_params[q] - } - return v - }; - l.loadStruct(l.conf.dload_url) - } - if (l.conf.top_mode && l.conf.mode == "web" && !l.conf.context) { - this._mouseOver = true - } - } - if ((!l.conf.dload) || (l.conf.dload && (!l.itemPull[this.id]["loaded"] || l.itemPull[this.id]["loaded"] == "yes"))) { - if ((l.itemPull[this.id]["complex"]) && (l.conf.selected != -1)) { - if (l.conf.top_mode && l.conf.mode == "web" && !l.conf.context) { - this._mouseOver = true; - var r = this.id; - this._menuOpenTM = window.setTimeout(function() { - l._showPolygon(r, l.conf.dir_toplv) - }, l.conf.top_tmtime) - } else { - l._showPolygon(this.id, l.conf.dir_toplv) - } - } - } - } - l._doOnTouchMenu(this.id.replace(l.idPrefix, "")) - }; - a.onmouseout = function() { - if (!((l.itemPull[this.id]["complex"]) && (l.conf.selected != -1)) && (l.itemPull[this.id]["state"] == "enabled")) { - if (l.itemPull[this.id]["cssNormal"] != null) { - a.className = l.itemPull[this.id]["cssNormal"] - } else { - a.className = "dhtmlxMenu_" + l.conf.skin + "_TopLevel_Item_Normal" - } - } - if (l.conf.mode == "web") { - window.clearTimeout(l.conf.tm_handler); - l.conf.tm_handler = window.setTimeout(function() { - l._clearAndHide() - }, l.conf.tm_sec, "JavaScript") - } - if (l.conf.top_mode && l.conf.mode == "web" && !l.conf.context) { - this._mouseOver = false; - window.clearTimeout(this._menuOpenTM) - } - }; - a.onclick = function(u) { - if (l.conf.mode == "web") { - window.clearTimeout(l.conf.tm_handler) - } - if (l.conf.mode != "web" && l.itemPull[this.id]["state"] == "disabled") { - return - } - u = u || event; - u.cancelBubble = true; - if (u.preventDefault) { - u.preventDefault() - } else { - u.returnValue = false - } - if (l.conf.mode == "win") { - if (l.itemPull[this.id]["complex"]) { - if (l.conf.selected == this.id) { - l.conf.selected = -1; - var r = false - } else { - l.conf.selected = this.id; - var r = true - } - if (r) { - l._showPolygon(this.id, l.conf.dir_toplv) - } else { - l._hidePolygon(this.id) - } - } - } - var m = (l.itemPull[this.id]["complex"] ? "c" : "-"); - var v = (l.itemPull[this.id]["state"] != "enabled" ? "d" : "-"); - var q = { - ctrl: u.ctrlKey, - alt: u.altKey, - shift: u.shiftKey - }; - l._doOnClick(this.id.replace(l.idPrefix, ""), m + v + "t", q); - return false - }; - if (this.conf.skin == "dhx_terrace") { - this._improveTerraceSkin() - } -}; -dhtmlXMenuObject.prototype._addSubMenuPolygon = function(l, h) { - var c = this._renderSublevelPolygon(l, h); - var a = this._getMenuNodes(h); - for (e = 0; e < a.length; e++) { - if (this.itemPull[a[e]]["type"] == "separator") { - this._renderSeparator(a[e], null) - } else { - this._renderSublevelItem(a[e], null) - } - } - if (l == h) { - var g = "topLevel" - } else { - var g = "subLevel" - } - for (var e = 0; e < a.length; e++) { - if (this.itemPull[a[e]]["complex"]) { - this._addSubMenuPolygon(l, this.itemPull[a[e]]["id"]) - } - } -}; -dhtmlXMenuObject.prototype._renderSublevelPolygon = function(h, g) { - var c = document.createElement("DIV"); - c.className = "dhtmlxMenu_" + this.conf.skin + "_SubLevelArea_Polygon " + (this.conf.rtl ? "dir_right" : ""); - c.dir = "ltr"; - c.oncontextmenu = function(l) { - l = l || event; - if (l.preventDefault) { - l.preventDefault() - } else { - l.returnValue = false - } - l.cancelBubble = true; - return false - }; - c.id = "polygon_" + g; - c.onclick = function(l) { - l = l || event; - l.cancelBubble = true - }; - c.style.display = "none"; - document.body.insertBefore(c, document.body.firstChild); - c.innerHTML = '
                    '; - var e = document.createElement("TABLE"); - e.className = "dhtmlxMebu_SubLevelArea_Tbl"; - e.cellSpacing = 0; - e.cellPadding = 0; - e.border = 0; - var a = document.createElement("TBODY"); - e.appendChild(a); - c.childNodes[1].appendChild(e); - c.tbl = e; - c.tbd = a; - this.idPull[c.id] = c; - if (this.sxDacProc != null) { - this.idPull["sxDac_" + g] = new this.sxDacProc(c, c.className); - if (window.dhx4.isIE) { - this.idPull["sxDac_" + g]._setSpeed(this.dacSpeedIE); - this.idPull["sxDac_" + g]._setCustomCycle(this.dacCyclesIE) - } else { - this.idPull["sxDac_" + g]._setSpeed(this.dacSpeed); - this.idPull["sxDac_" + g]._setCustomCycle(this.dacCycles) - } - } - return c -}; -dhtmlXMenuObject.prototype._renderSublevelItem = function(a, q) { - var n = this; - var o = document.createElement("TR"); - o.className = (this.itemPull[a]["state"] == "enabled" ? "sub_item" : "sub_item_dis"); - var m = document.createElement("TD"); - m.className = "sub_item_icon"; - var v = this.itemPull[a]["type"]; - var r = this.itemPull[a][(this.itemPull[a]["state"] == "enabled" ? "imgen" : "imgdis")]; - if (r != "") { - if (v == "checkbox" || v == "radio") { - var h = document.createElement("DIV"); - h.id = "image_" + this.itemPull[a]["id"]; - h.className = "sub_icon " + r; - m.appendChild(h) - } - if (!(v == "checkbox" || v == "radio")) { - if (this.conf.icons_css == true) { - m.innerHTML = "" - } else { - var h = document.createElement("IMG"); - h.id = "image_" + this.itemPull[a]["id"]; - h.className = "sub_icon"; - h.src = this.conf.icons_path + r; - m.appendChild(h) - } - } - } else { - m.innerHTML = " " - } - var l = document.createElement("TD"); - l.className = "sub_item_text"; - if (this.itemPull[a]["title"] != "") { - var u = document.createElement("DIV"); - u.className = "sub_item_text"; - u.innerHTML = this.itemPull[a]["title"]; - l.appendChild(u) - } else { - l.innerHTML = " " - } - var g = document.createElement("TD"); - g.className = "sub_item_hk"; - if (this.itemPull[a]["complex"]) { - var c = document.createElement("DIV"); - c.className = "complex_arrow"; - c.id = "arrow_" + this.itemPull[a]["id"]; - g.appendChild(c) - } else { - if (this.itemPull[a]["hotkey"].length > 0 && !this.itemPull[a]["complex"]) { - var e = document.createElement("DIV"); - e.className = "sub_item_hk"; - e.innerHTML = this.itemPull[a]["hotkey"]; - g.appendChild(e) - } else { - g.innerHTML = " " - } - } - o.appendChild(this.conf.rtl ? g : m); - o.appendChild(l); - o.appendChild(this.conf.rtl ? m : g); - o.id = this.itemPull[a]["id"]; - o.parent = this.itemPull[a]["parent"]; - if (this.itemPull[a]["tip"].length > 0) { - o.title = this.itemPull[a]["tip"] - } - o.onselectstart = function(w) { - w = w || event; - if (w.preventDefault) { - w.preventDefault() - } else { - w.returnValue = false - } - return false - }; - o.onmouseover = function(w) { - if (n.conf.hide_tm[this.id]) { - window.clearTimeout(n.conf.hide_tm[this.id]) - } - if (n.conf.mode == "web") { - window.clearTimeout(n.conf.tm_handler) - } - if (!this._visible) { - n._redistribSubLevelSelection(this.id, this.parent) - } - this._visible = true - }; - o.onmouseout = function(y) { - var w = y.relatedTarget; - if (w && (w.className === "sub_sep" || (w.firstChild && w.firstChild.className === "sub_sep"))) { - this._visible = false; - return - } - if (n.conf.mode == "web") { - if (n.conf.tm_handler) { - window.clearTimeout(n.conf.tm_handler) - } - n.conf.tm_handler = window.setTimeout(function() { - if (n && n._clearAndHide) { - n._clearAndHide() - } - }, n.conf.tm_sec, "JavaScript") - } - var x = this; - if (n.conf.hide_tm[this.id]) { - window.clearTimeout(n.conf.hide_tm[this.id]) - } - n.conf.hide_tm[this.id] = window.setTimeout(function() { - x._visible = false - }, 50) - }; - o.onclick = function(x) { - if (!n.checkEvent("onClick") && n.itemPull[this.id]["complex"]) { - return - } - x = x || event; - x.cancelBubble = true; - if (x.preventDefault) { - x.preventDefault() - } else { - x.returnValue = false - } - tc = (n.itemPull[this.id]["complex"] ? "c" : "-"); - td = (n.itemPull[this.id]["state"] == "enabled" ? "-" : "d"); - var w = { - ctrl: x.ctrlKey, - alt: x.altKey, - shift: x.shiftKey - }; - switch (n.itemPull[this.id]["type"]) { - case "checkbox": - n._checkboxOnClickHandler(this.id.replace(n.idPrefix, ""), tc + td + "n", w); - break; - case "radio": - n._radioOnClickHandler(this.id.replace(n.idPrefix, ""), tc + td + "n", w); - break; - case "item": - n._doOnClick(this.id.replace(n.idPrefix, ""), tc + td + "n", w); - break - } - return false - }; - var s = this.idPull["polygon_" + this.itemPull[a]["parent"]]; - if (q != null) { - q++; - if (q < 0) { - q = 0 - } - if (q > s.tbd.childNodes.length - 1) { - q = null - } - } - if (q != null && s.tbd.childNodes[q] != null) { - s.tbd.insertBefore(o, s.tbd.childNodes[q]) - } else { - s.tbd.appendChild(o) - } - this.idPull[o.id] = o -}; -dhtmlXMenuObject.prototype._renderSeparator = function(c, m) { - var a = (this.conf.context ? "SubLevelArea" : (this.itemPull[c]["parent"] == this.idPrefix + this.topId ? "TopLevel" : "SubLevelArea")); - if (a == "TopLevel" && this.conf.context) { - return - } - var h = this; - if (a != "TopLevel") { - var l = document.createElement("TR"); - l.className = "sub_sep"; - var e = document.createElement("TD"); - e.colSpan = "3"; - l.appendChild(e) - } - var g = document.createElement("DIV"); - g.id = "separator_" + c; - g.className = (a == "TopLevel" ? "top_sep" : "sub_sep"); - g.onselectstart = function(q) { - q = q || event; - if (q.preventDefault) { - q.preventDefault() - } else { - q.returnValue = false - } - }; - g.onclick = function(r) { - r = r || event; - r.cancelBubble = true; - var q = { - ctrl: r.ctrlKey, - alt: r.altKey, - shift: r.shiftKey - }; - h._doOnClick(this.id.replace("separator_" + h.idPrefix, ""), "--s", q) - }; - if (a == "TopLevel") { - if (m != null) { - m++; - if (m < 0) { - m = 0 - } - if (this.cont.childNodes[m] != null) { - this.cont.insertBefore(g, this.cont.childNodes[m]) - } else { - this.cont.appendChild(g) - } - } else { - var o = this.cont.childNodes[this.cont.childNodes.length - 1]; - if (String(o).search("TopLevel_Text") == -1) { - this.cont.appendChild(g) - } else { - this.cont.insertBefore(g, o) - } - } - this.idPull[g.id] = g - } else { - var n = this.idPull["polygon_" + this.itemPull[c]["parent"]]; - if (m != null) { - m++; - if (m < 0) { - m = 0 - } - if (m > n.tbd.childNodes.length - 1) { - m = null - } - } - if (m != null && n.tbd.childNodes[m] != null) { - n.tbd.insertBefore(l, n.tbd.childNodes[m]) - } else { - n.tbd.appendChild(l) - } - e.appendChild(g); - this.idPull[g.id] = l - } -}; -dhtmlXMenuObject.prototype.addNewSeparator = function(a, c) { - c = this.idPrefix + (c != null ? c : this._genStr(24)); - var e = this.idPrefix + this.getParentId(a); - this._addItemIntoGlobalStrorage(c, e, "", "separator", false, "", ""); - this._renderSeparator(c, this.getItemPosition(a)) -}; -dhtmlXMenuObject.prototype._initObj = function(s, u, m) { - if (!(s instanceof Array)) { - m = s.parentId; - if (m != null && String(m).indexOf(this.idPrefix) !== 0) { - m = this.idPrefix + String(m) - } - s = s.items - } - for (var e = 0; e < s.length; e++) { - if (typeof(s[e].id) == "undefined" || s[e].id == null) { - s[e].id = this._genStr(24) - } - if (s[e].text == null) { - s[e].text = "" - } - if (String(s[e].id).indexOf(this.idPrefix) !== 0) { - s[e].id = this.idPrefix + String(s[e].id) - } - var g = { - type: "item", - tip: "", - hotkey: "", - state: "enabled", - imgen: "", - imgdis: "" - }; - for (var v in g) { - if (typeof(s[e][v]) == "undefined") { - s[e][v] = g[v] - } - } - if (s[e].imgen == "" && s[e].img != null) { - s[e].imgen = s[e].img - } - if (s[e].imgdis == "" && s[e].img_disabled != null) { - s[e].imgdis = s[e].img_disabled - } - if (s[e].title == null && s[e].text != null) { - s[e].title = s[e].text - } - if (s[e].href != null) { - if (s[e].href.link != null) { - s[e].href_link = s[e].href.link - } - if (s[e].href.target != null) { - s[e].href_target = s[e].href.target - } - } - if (s[e].userdata != null) { - for (var v in s[e].userdata) { - this.userData[s[e].id + "_" + v] = s[e].userdata[v] - } - } - if (typeof(s[e].enabled) != "undefined" && window.dhx4.s2b(s[e].enabled) == false) { - s[e].state = "disabled" - } else { - if (typeof(s[e].disabled) != "undefined" && window.dhx4.s2b(s[e].disabled) == true) { - s[e].state = "disabled" - } - } - if (typeof(s[e].parent) == "undefined") { - s[e].parent = (m != null ? m : this.idPrefix + this.topId) - } - if (s[e].type == "checkbox") { - s[e].checked = window.dhx4.s2b(s[e].checked); - s[e].imgen = s[e].imgdis = "chbx_" + (s[e].checked ? "1" : "0") - } - if (s[e].type == "radio") { - s[e].checked = window.dhx4.s2b(s[e].checked); - s[e].imgen = s[e].imgdis = "rdbt_" + (s[e].checked ? "1" : "0"); - if (typeof(s[e].group) == "undefined" || s[e].group == null) { - s[e].group = this._genStr(24) - } - if (this.radio[s[e].group] == null) { - this.radio[s[e].group] = [] - } - this.radio[s[e].group].push(s[e].id) - } - this.itemPull[s[e].id] = s[e]; - if (s[e].items != null && s[e].items.length > 0) { - this.itemPull[s[e].id].complex = true; - this._initObj(s[e].items, true, s[e].id) - } else { - if (this.conf.dload && s[e].complex == true) { - this.itemPull[s[e].id].loaded = "no" - } - } - this.itemPull[s[e].id].items = null - } - if (u !== true) { - if (this.conf.dload == true) { - if (m == null) { - this._initTopLevelMenu() - } else { - this._addSubMenuPolygon(m, m); - if (this.conf.selected == m) { - var r = (this.itemPull[m].parent == this.idPrefix + this.topId); - var c = (r && !this.conf.context ? this.conf.dir_toplv : this.conf.dir_sublv); - var h = false; - if (r && this.conf.top_mode && this.conf.mode == "web" && !this.conf.context) { - var w = this.idPull[m]; - if (w._mouseOver == true) { - var l = this.conf.top_tmtime - (new Date().getTime() - w._dynLoadTM); - if (l > 1) { - var o = m; - var n = this; - w._menuOpenTM = window.setTimeout(function() { - n._showPolygon(o, c); - n = o = null - }, l); - h = true - } - } - } - if (!h) { - this._showPolygon(m, c) - } - } - this.itemPull[m].loaded = "yes"; - if (this.conf.dload_icon == true) { - this._updateLoaderIcon(m, false) - } - } - } else { - this._init() - } - } -}; -dhtmlXMenuObject.prototype._xmlToJson = function(h, g) { - var m = []; - if (g == null) { - var n = h.getElementsByTagName(this.conf.tags.root); - if (n == null || (n != null && n.length == 0)) { - return { - items: [] - } - } - n = n[0] - } else { - n = h - } - if (n.getAttribute("parentId") != null) { - g = this.idPrefix + n.getAttribute("parentId") - } - for (var c = 0; c < n.childNodes.length; c++) { - if (typeof(n.childNodes[c].tagName) != "undefined" && String(n.childNodes[c].tagName).toLowerCase() == this.conf.tags.item) { - var a = n.childNodes[c]; - var u = { - id: this.idPrefix + (a.getAttribute("id") || this._genStr(24)), - title: a.getAttribute("text") || "", - imgen: a.getAttribute("img") || "", - imgdis: a.getAttribute("imgdis") || "", - tip: "", - hotkey: "", - type: a.getAttribute("type") || "item" - }; - if (a.getAttribute("cssNormal") != null) { - u.cssNormal = a.getAttribute("cssNormal") - } - if (u.type == "checkbox") { - u.checked = a.getAttribute("checked") - } - if (u.type == "radio") { - u.checked = a.getAttribute("checked"); - u.group = a.getAttribute("group") - } - u.state = "enabled"; - if (a.getAttribute("enabled") != null && window.dhx4.s2b(a.getAttribute("enabled")) == false) { - u.state = "disabled" - } else { - if (a.getAttribute("disabled") != null && window.dhx4.s2b(a.getAttribute("disabled")) == true) { - u.state = "disabled" - } - } - u.parent = (g != null ? g : this.idPrefix + this.topId); - if (this.conf.dload) { - u.complex = (a.getAttribute("complex") != null); - if (u.complex) { - u.loaded = "no" - } - } else { - var e = this._xmlToJson(a, u.id); - u.items = e.items; - u.complex = (u.items.length > 0) - } - for (var o = 0; o < a.childNodes.length; o++) { - if (typeof(a.childNodes[o].tagName) != "undefined") { - var s = String(a.childNodes[o].tagName || "").toLowerCase(); - if (s == this.conf.tags.userdata) { - var l = a.childNodes[o]; - if (l.getAttribute("name") != null) { - this.userData[u.id + "_" + l.getAttribute("name")] = (l.firstChild != null && l.firstChild.nodeValue != null ? l.firstChild.nodeValue : "") - } - } - if (s == this.conf.tags.text_ext) { - u.title = a.childNodes[o].firstChild.nodeValue - } - if (s == this.conf.tags.tooltip) { - u.tip = a.childNodes[o].firstChild.nodeValue - } - if (s == this.conf.tags.hotkey) { - u.hotkey = a.childNodes[o].firstChild.nodeValue - } - if (s == this.conf.tags.href && u.type == "item") { - u.href_link = a.childNodes[o].firstChild.nodeValue; - if (a.childNodes[o].getAttribute("target") != null) { - u.href_target = a.childNodes[o].getAttribute("target") - } - } - } - } - m.push(u) - } - } - var a = { - parentId: g, - items: m - }; - return a -}; -dhtmlXMenuObject.prototype.enableDynamicLoading = function(a, c) { - this.conf.dload = true; - this.conf.dload_url = a; - this.conf.dload_sign = (String(this.conf.dload_url).search(/\?/) == -1 ? "?" : "&"); - this.conf.dload_icon = c; - this._init() -}; -dhtmlXMenuObject.prototype._updateLoaderIcon = function(g, e) { - if (this.idPull[g] == null) { - return - } - if (String(this.idPull[g].className).search("TopLevel_Item") >= 0) { - return - } - var c = (this.conf.rtl ? 0 : 2); - if (!this.idPull[g].childNodes[c]) { - return - } - if (!this.idPull[g].childNodes[c].childNodes[0]) { - return - } - var a = this.idPull[g].childNodes[c].childNodes[0]; - if (String(a.className).search("complex_arrow") === 0) { - a.className = "complex_arrow" + (e ? "_loading" : "") - } -}; -dhtmlXMenuObject.prototype.addNewSibling = function(g, h, a, c, e, n) { - var m = this.idPrefix + (h != null ? h : this._genStr(24)); - var l = this.idPrefix + (g != null ? this.getParentId(g) : this.topId); - this._addItemIntoGlobalStrorage(m, l, a, "item", c, e, n); - if ((l == this.idPrefix + this.topId) && (!this.conf.context)) { - this._renderToplevelItem(m, this.getItemPosition(g)) - } else { - this._renderSublevelItem(m, this.getItemPosition(g)) - } -}; -dhtmlXMenuObject.prototype.addNewChild = function(m, l, g, a, c, e, h) { - if (m == null) { - if (this.conf.context) { - m = this.topId - } else { - this.addNewSibling(m, g, a, c, e, h); - if (l != null) { - this.setItemPosition(g, l) - } - return - } - } - g = this.idPrefix + (g != null ? g : this._genStr(24)); - if (this.setHotKey) { - this.setHotKey(m, "") - } - m = this.idPrefix + m; - this._addItemIntoGlobalStrorage(g, m, a, "item", c, e, h); - if (this.idPull["polygon_" + m] == null) { - this._renderSublevelPolygon(m, m) - } - this._renderSublevelItem(g, l - 1); - this._redefineComplexState(m) -}; -dhtmlXMenuObject.prototype.removeItem = function(g, l, h) { - if (!l) { - g = this.idPrefix + g - } - var m = null; - if (g != this.idPrefix + this.topId) { - if (this.itemPull[g] == null) { - return - } - if (this.idPull["polygon_" + g] && this.idPull["polygon_" + g]._tmShow) { - window.clearTimeout(this.idPull["polygon_" + g]._tmShow) - } - var u = this.itemPull[g]["type"]; - if (u == "separator") { - var s = this.idPull["separator_" + g]; - if (this.itemPull[g]["parent"] == this.idPrefix + this.topId) { - s.onclick = null; - s.onselectstart = null; - s.id = null; - s.parentNode.removeChild(s) - } else { - s.childNodes[0].childNodes[0].onclick = null; - s.childNodes[0].childNodes[0].onselectstart = null; - s.childNodes[0].childNodes[0].id = null; - s.childNodes[0].removeChild(s.childNodes[0].childNodes[0]); - s.removeChild(s.childNodes[0]); - s.parentNode.removeChild(s) - } - this.idPull["separator_" + g] = null; - this.itemPull[g] = null; - delete this.idPull["separator_" + g]; - delete this.itemPull[g]; - s = null - } else { - m = this.itemPull[g]["parent"]; - var s = this.idPull[g]; - s.onclick = null; - s.oncontextmenu = null; - s.onmouseover = null; - s.onmouseout = null; - s.onselectstart = null; - s.id = null; - while (s.childNodes.length > 0) { - s.removeChild(s.childNodes[0]) - } - s.parentNode.removeChild(s); - this.idPull[g] = null; - this.itemPull[g] = null; - delete this.idPull[g]; - delete this.itemPull[g]; - s = null - } - u = null - } - for (var o in this.itemPull) { - if (this.itemPull[o]["parent"] == g) { - this.removeItem(o, true, true) - } - } - var r = new Array(g); - if (m != null && !h) { - if (this.idPull["polygon_" + m] != null) { - if (this.idPull["polygon_" + m].tbd.childNodes.length == 0) { - r.push(m); - this._updateItemComplexState(m, false, false) - } - } - } - for (var c = 0; c < r.length; c++) { - if (this.idPull["polygon_" + r[c]]) { - var e = this.idPull["polygon_" + r[c]]; - e.onclick = null; - e.oncontextmenu = null; - e.tbl.removeChild(e.tbd); - e.tbd = null; - e.childNodes[1].removeChild(e.tbl); - e.tbl = null; - e.id = null; - e.parentNode.removeChild(e); - e = null; - if (window.dhx4.isIE6) { - var n = "polygon_" + r[c] + "_ie6cover"; - if (this.idPull[n] != null) { - document.body.removeChild(this.idPull[n]); - delete this.idPull[n] - } - } - if (this.idPull["arrowup_" + g] != null && this._removeArrow) { - this._removeArrow("arrowup_" + g) - } - if (this.idPull["arrowdown_" + g] != null && this._removeArrow) { - this._removeArrow("arrowdown_" + g) - } - this.idPull["polygon_" + r[c]] = null; - delete this.idPull["polygon_" + r[c]] - } - } - r = null; - if (this.conf.skin == "dhx_terrace" && arguments.length == 1) { - this._improveTerraceSkin() - } -}; -dhtmlXMenuObject.prototype._addItemIntoGlobalStrorage = function(n, a, e, m, g, c, l) { - var h = { - id: n, - title: e, - imgen: (c != null ? c : ""), - imgdis: (l != null ? l : ""), - type: m, - state: (g == true ? "disabled" : "enabled"), - parent: a, - complex: false, - hotkey: "", - tip: "" - }; - this.itemPull[h.id] = h -}; -dhtmlXMenuObject.prototype.renderAsContextMenu = function() { - this.conf.context = true; - if (this.base._autoSkinUpdate == true) { - this.base.className = this.base.className.replace("dhtmlxMenu_" + this.conf.skin + "_Middle", ""); - this.base._autoSkinUpdate = false - } - if (this.conf.ctx_baseid != null) { - this.addContextZone(this.conf.ctx_baseid) - } -}; -dhtmlXMenuObject.prototype.addContextZone = function(c) { - if (c == document.body) { - c = "document.body." + this.idPrefix; - var g = document.body - } else { - if (typeof(c) == "string") { - var g = document.getElementById(c) - } else { - var g = c - } - } - var l = false; - for (var e in this.conf.ctx_zones) { - l = l || (e == c) || (this.conf.ctx_zones[e] == g) - } - if (l == true) { - return false - } - this.conf.ctx_zones[c] = g; - var h = this; - if (window.dhx4.isOpera) { - this.operaContext = function(a) { - h._doOnContextMenuOpera(a, h) - }; - g.addEventListener("mouseup", this.operaContext, false) - } else { - if (g.oncontextmenu != null && !g._oldContextMenuHandler) { - g._oldContextMenuHandler = g.oncontextmenu - } - g.oncontextmenu = function(m) { - for (var a in dhtmlXMenuObject.prototype.liveInst) { - if (a != h.conf.live_id) { - if (dhtmlXMenuObject.prototype.liveInst[a].context) { - dhtmlXMenuObject.prototype.liveInst[a]._hideContextMenu() - } - } - } - m = m || event; - m.cancelBubble = true; - if (m.preventDefault) { - m.preventDefault() - } else { - m.returnValue = false - } - h._doOnContextBeforeCall(m, this); - return false - } - } -}; -dhtmlXMenuObject.prototype._doOnContextMenuOpera = function(g, a) { - for (var c in dhtmlXMenuObject.prototype.liveInst) { - if (c != a.conf.live_id) { - if (dhtmlXMenuObject.prototype.liveInst[c].context) { - dhtmlXMenuObject.prototype.liveInst[c]._hideContextMenu() - } - } - } - g.cancelBubble = true; - if (g.preventDefault) { - g.preventDefault() - } else { - g.returnValue = false - } - if (g.button == 0 && g.ctrlKey == true) { - a._doOnContextBeforeCall(g, this) - } - return false -}; -dhtmlXMenuObject.prototype.removeContextZone = function(a) { - if (!this.isContextZone(a)) { - return false - } - if (a == document.body) { - a = "document.body." + this.idPrefix - } - var c = this.conf.ctx_zones[a]; - if (window.dhx4.isOpera) { - c.removeEventListener("mouseup", this.operaContext, false) - } else { - c.oncontextmenu = (c._oldContextMenuHandler != null ? c._oldContextMenuHandler : null); - c._oldContextMenuHandler = null - } - try { - this.conf.ctx_zones[a] = null; - delete this.conf.ctx_zones[a] - } catch (g) {} - return true -}; -dhtmlXMenuObject.prototype.isContextZone = function(a) { - if (a == document.body && this.conf.ctx_zones["document.body." + this.idPrefix] != null) { - return true - } - var c = false; - if (this.conf.ctx_zones[a] != null) { - if (this.conf.ctx_zones[a] == document.getElementById(a)) { - c = true - } - } - return c -}; -dhtmlXMenuObject.prototype._isContextMenuVisible = function() { - if (this.idPull["polygon_" + this.idPrefix + this.topId] == null) { - return false - } - return (this.idPull["polygon_" + this.idPrefix + this.topId].style.display == "") -}; -dhtmlXMenuObject.prototype._showContextMenu = function(c, e, a) { - this._clearAndHide(); - if (this.idPull["polygon_" + this.idPrefix + this.topId] == null) { - return false - } - window.clearTimeout(this.conf.tm_handler); - this.idPull[this.idPrefix + this.topId] = new Array(c, e); - this._showPolygon(this.idPrefix + this.topId, "bottom"); - this.callEvent("onContextMenu", [a]) -}; -dhtmlXMenuObject.prototype._hideContextMenu = function() { - if (this.idPull["polygon_" + this.idPrefix + this.topId] == null) { - return false - } - this._clearAndHide(); - this._hidePolygon(this.idPrefix + this.topId) -}; -dhtmlXMenuObject.prototype._doOnContextBeforeCall = function(l, n) { - this.conf.ctx_zoneid = n.id; - this._clearAndHide(); - this._hideContextMenu(); - if (window.dhx4.isChrome == true || window.dhx4.isEdge == true || window.dhx4.isOpera == true || window.dhx4.isIE11 == true) { - var m = window.dhx4.absLeft(l.target) + l.offsetX; - var h = window.dhx4.absTop(l.target) + l.offsetY - } else { - if (window.dhx4.isIE6 == true || window.dhx4.isIE7 == true || window.dhx4.isIE == true) { - var m = window.dhx4.absLeft(l.srcElement) + l.x || 0; - var h = window.dhx4.absTop(l.srcElement) + l.y || 0 - } else { - var g = (l.srcElement || l.target); - var c = (window.dhx4.isIE || window.dhx4.isKHTML ? l.offsetX : l.layerX); - var a = (window.dhx4.isIE || window.dhx4.isKHTML ? l.offsetY : l.layerY); - var m = window.dhx4.absLeft(g) + c; - var h = window.dhx4.absTop(g) + a - } - } - if (this.checkEvent("onBeforeContextMenu")) { - if (this.callEvent("onBeforeContextMenu", [n.id, l])) { - if (this.conf.ctx_autoshow) { - this._showContextMenu(m, h, n.id); - this.callEvent("onAfterContextMenu", [n.id, l]) - } - } - } else { - if (this.conf.ctx_autoshow) { - this._showContextMenu(m, h, n.id); - this.callEvent("onAfterContextMenu", [n.id]) - } - } -}; -dhtmlXMenuObject.prototype.showContextMenu = function(a, c) { - this._showContextMenu(a, c, false) -}; -dhtmlXMenuObject.prototype.hideContextMenu = function() { - this._hideContextMenu() -}; -dhtmlXMenuObject.prototype.setAutoShowMode = function(a) { - this.conf.ctx_autoshow = (a == true ? true : false) -}; -dhtmlXMenuObject.prototype.setAutoHideMode = function(a) { - this.conf.ctx_autohide = (a == true ? true : false) -}; -dhtmlXMenuObject.prototype.setContextMenuHideAllMode = function(a) { - this.conf.ctx_hideall = (a == true ? true : false) -}; -dhtmlXMenuObject.prototype.getContextMenuHideAllMode = function() { - return this.conf.ctx_hideall -}; -dhtmlXMenuObject.prototype._improveTerraceSkin = function() { - for (var e in this.itemPull) { - if (this.itemPull[e].parent == this.idPrefix + this.topId && this.idPull[e] != null) { - var h = false; - var g = false; - if (this.idPull[e].parentNode.firstChild == this.idPull[e]) { - h = true - } - if (this.idPull[e].parentNode.lastChild == this.idPull[e]) { - g = true - } - for (var c in this.itemPull) { - if (this.itemPull[c].type == "separator" && this.itemPull[c].parent == this.idPrefix + this.topId) { - if (this.idPull[e].nextSibling == this.idPull["separator_" + c]) { - g = true - } - if (this.idPull[e].previousSibling == this.idPull["separator_" + c]) { - h = true - } - } - } - this.idPull[e].style.borderLeftWidth = (h ? "1px" : "0px"); - this.idPull[e].style.borderTopLeftRadius = this.idPull[e].style.borderBottomLeftRadius = (h ? "3px" : "0px"); - this.idPull[e].style.borderTopRightRadius = this.idPull[e].style.borderBottomRightRadius = (g ? "3px" : "0px"); - this.idPull[e]._bl = h; - this.idPull[e]._br = g - } - } -}; -dhtmlXMenuObject.prototype._improveTerraceButton = function(c, a) { - if (a) { - this.idPull[c].style.borderBottomLeftRadius = (this.idPull[c]._bl ? "3px" : "0px"); - this.idPull[c].style.borderBottomRightRadius = (this.idPull[c]._br ? "3px" : "0px") - } else { - this.idPull[c].style.borderBottomLeftRadius = "0px"; - this.idPull[c].style.borderBottomRightRadius = "0px" - } -}; -if (typeof(window.dhtmlXCellObject) != "undefined") { - dhtmlXCellObject.prototype._createNode_menu = function(h, c, g, a, e) { - if (typeof(e) != "undefined") { - h = e - } else { - h = document.createElement("DIV"); - h.className = "dhx_cell_menu_" + (this.conf.borders ? "def" : "no_borders"); - h.appendChild(document.createElement("DIV")) - } - this.cell.insertBefore(h, this.cell.childNodes[this.conf.idx.toolbar || this.conf.idx.cont]); - this.conf.ofs_nodes.t.menu = true; - this._updateIdx(); - return h - }; - dhtmlXCellObject.prototype.attachMenu = function(a) { - if (this.dataNodes.menu) { - return - } - this.callEvent("_onBeforeContentAttach", ["menu"]); - if (typeof(a) == "undefined") { - a = {} - } - if (typeof(a.skin) == "undefined") { - a.skin = this.conf.skin - } - a.parent = this._attachObject("menu").firstChild; - this.dataNodes.menu = new dhtmlXMenuObject(a); - this._adjustCont(this._idd); - a.parent = null; - a = null; - this.callEvent("_onContentAttach", []); - return this.dataNodes.menu - }; - dhtmlXCellObject.prototype.detachMenu = function() { - if (this.dataNodes.menu == null) { - return - } - if (typeof(this.dataNodes.menu.unload) == "function") { - this.dataNodes.menu.unload() - } - this.dataNodes.menu = null; - delete this.dataNodes.menu; - this._detachObject("menu") - }; - dhtmlXCellObject.prototype.showMenu = function() { - this._mtbShowHide("menu", "") - }; - dhtmlXCellObject.prototype.hideMenu = function() { - this._mtbShowHide("menu", "none") - }; - dhtmlXCellObject.prototype.getAttachedMenu = function() { - return this.dataNodes.menu - } -} -dhtmlXMenuObject.prototype.setItemEnabled = function(a) { - this._changeItemState(a, "enabled", this._getItemLevelType(a)) -}; -dhtmlXMenuObject.prototype.setItemDisabled = function(a) { - this._changeItemState(a, "disabled", this._getItemLevelType(a)) -}; -dhtmlXMenuObject.prototype.isItemEnabled = function(a) { - return (this.itemPull[this.idPrefix + a] != null ? (this.itemPull[this.idPrefix + a]["state"] == "enabled") : false) -}; -dhtmlXMenuObject.prototype._changeItemState = function(h, g, c) { - var e = false; - var a = this.idPrefix + h; - if ((this.itemPull[a] != null) && (this.idPull[a] != null)) { - if (this.itemPull[a]["state"] != g) { - this.itemPull[a]["state"] = g; - if (this.itemPull[a]["parent"] == this.idPrefix + this.topId && !this.conf.context) { - this.idPull[a].className = "dhtmlxMenu_" + this.conf.skin + "_TopLevel_Item_" + (this.itemPull[a]["state"] == "enabled" ? "Normal" : "Disabled") - } else { - this.idPull[a].className = "sub_item" + (this.itemPull[a]["state"] == "enabled" ? "" : "_dis") - } - this._updateItemComplexState(this.idPrefix + h, this.itemPull[this.idPrefix + h]["complex"], false); - this._updateItemImage(h, c); - if ((this.idPrefix + this.conf.last_click == a) && (c != "TopLevel")) { - this._redistribSubLevelSelection(a, this.itemPull[a]["parent"]) - } - if (c == "TopLevel" && !this.conf.context) {} - } - } - return e -}; -dhtmlXMenuObject.prototype.getItemText = function(a) { - return (this.itemPull[this.idPrefix + a] != null ? this.itemPull[this.idPrefix + a]["title"] : "") -}; -dhtmlXMenuObject.prototype.setItemText = function(l, h) { - l = this.idPrefix + l; - if ((this.itemPull[l] != null) && (this.idPull[l] != null)) { - this._clearAndHide(); - this.itemPull[l]["title"] = h; - if (this.itemPull[l]["parent"] == this.idPrefix + this.topId && !this.conf.context) { - var g = null; - for (var a = 0; a < this.idPull[l].childNodes.length; a++) { - try { - if (this.idPull[l].childNodes[a].className == "top_level_text") { - g = this.idPull[l].childNodes[a] - } - } catch (c) {} - } - if (String(this.itemPull[l]["title"]).length == "" || this.itemPull[l]["title"] == null) { - if (g != null) { - g.parentNode.removeChild(g) - } - } else { - if (!g) { - g = document.createElement("DIV"); - g.className = "top_level_text"; - if (this.conf.rtl && this.idPull[l].childNodes.length > 0) { - this.idPull[l].insertBefore(g, this.idPull[l].childNodes[0]) - } else { - this.idPull[l].appendChild(g) - } - } - g.innerHTML = this.itemPull[l]["title"] - } - } else { - var g = null; - for (var a = 0; a < this.idPull[l].childNodes[1].childNodes.length; a++) { - if (String(this.idPull[l].childNodes[1].childNodes[a].className || "") == "sub_item_text") { - g = this.idPull[l].childNodes[1].childNodes[a] - } - } - if (String(this.itemPull[l]["title"]).length == "" || this.itemPull[l]["title"] == null) { - if (g) { - g.parentNode.removeChild(g); - g = null; - this.idPull[l].childNodes[1].innerHTML = " " - } - } else { - if (!g) { - g = document.createElement("DIV"); - g.className = "sub_item_text"; - this.idPull[l].childNodes[1].innerHTML = ""; - this.idPull[l].childNodes[1].appendChild(g) - } - g.innerHTML = this.itemPull[l]["title"] - } - } - } -}; -dhtmlXMenuObject.prototype.loadFromHTML = function(e, l, g) { - var c = this.conf.tags.item; - this.conf.tags.item = "div"; - var h = (typeof(e) == "string" ? document.getElementById(e) : e); - var a = this._xmlToJson(h, this.idPrefix + this.topId); - this._initObj(a); - this.conf.tags.item = c; - if (l) { - h.parentNode.removeChild(h) - } - h = objOd = null; - if (onload != null) { - if (typeof(g) == "function") { - g() - } else { - if (typeof(window[g]) == "function") { - window[g]() - } - } - } -}; -dhtmlXMenuObject.prototype.hideItem = function(a) { - this._changeItemVisible(a, false) -}; -dhtmlXMenuObject.prototype.showItem = function(a) { - this._changeItemVisible(a, true) -}; -dhtmlXMenuObject.prototype.isItemHidden = function(c) { - var a = null; - if (this.idPull[this.idPrefix + c] != null) { - a = (this.idPull[this.idPrefix + c].style.display == "none") - } - return a -}; -dhtmlXMenuObject.prototype._changeItemVisible = function(e, c) { - var a = this.idPrefix + e; - if (this.itemPull[a] == null) { - return - } - if (this.itemPull[a]["type"] == "separator") { - a = "separator_" + a - } - if (this.idPull[a] == null) { - return - } - this.idPull[a].style.display = (c ? "" : "none"); - this._redefineComplexState(this.itemPull[this.idPrefix + e]["parent"]) -}; -dhtmlXMenuObject.prototype.setUserData = function(e, a, c) { - this.userData[this.idPrefix + e + "_" + a] = c -}; -dhtmlXMenuObject.prototype.getUserData = function(c, a) { - return (this.userData[this.idPrefix + c + "_" + a] != null ? this.userData[this.idPrefix + c + "_" + a] : null) -}; -dhtmlXMenuObject.prototype.setOpenMode = function(a) { - this.conf.mode = (a == "win" ? "win" : "web") -}; -dhtmlXMenuObject.prototype.setWebModeTimeout = function(a) { - this.conf.tm_sec = (!isNaN(a) ? a : 400) -}; -dhtmlXMenuObject.prototype.getItemImage = function(c) { - var a = new Array(null, null); - c = this.idPrefix + c; - if (this.itemPull[c]["type"] == "item") { - a[0] = this.itemPull[c]["imgen"]; - a[1] = this.itemPull[c]["imgdis"] - } - return a -}; -dhtmlXMenuObject.prototype.setItemImage = function(e, a, c) { - if (this.itemPull[this.idPrefix + e]["type"] != "item") { - return - } - this.itemPull[this.idPrefix + e]["imgen"] = a; - this.itemPull[this.idPrefix + e]["imgdis"] = c; - this._updateItemImage(e, this._getItemLevelType(e)) -}; -dhtmlXMenuObject.prototype.clearItemImage = function(a) { - this.setItemImage(a, "", "") -}; -dhtmlXMenuObject.prototype.setVisibleArea = function(c, a, g, e) { - this.conf.v_enabled = true; - this.conf.v.x1 = c; - this.conf.v.x2 = a; - this.conf.v.y1 = g; - this.conf.v.y2 = e -}; -dhtmlXMenuObject.prototype.setTooltip = function(c, a) { - c = this.idPrefix + c; - if (!(this.itemPull[c] != null && this.idPull[c] != null)) { - return - } - this.idPull[c].title = (a.length > 0 ? a : null); - this.itemPull[c]["tip"] = a -}; -dhtmlXMenuObject.prototype.getTooltip = function(a) { - if (this.itemPull[this.idPrefix + a] == null) { - return null - } - return this.itemPull[this.idPrefix + a]["tip"] -}; -dhtmlXMenuObject.prototype.setTopText = function(a) { - if (this.conf.context) { - return - } - if (this._topText == null) { - this._topText = document.createElement("DIV"); - this._topText.className = "dhtmlxMenu_TopLevel_Text_" + (this.conf.rtl ? "left" : (this.conf.align == "left" ? "right" : "left")); - this.base.appendChild(this._topText) - } - this._topText.innerHTML = a -}; -dhtmlXMenuObject.prototype.setAlign = function(a) { - if (this.conf.align == a) { - return - } - if (a == "left" || a == "right") { - this.conf.align = a; - if (this.cont) { - this.cont.className = (this.conf.align == "right" ? "align_right" : "align_left") - } - if (this._topText != null) { - this._topText.className = "dhtmlxMenu_TopLevel_Text_" + (this.conf.align == "left" ? "right" : "left") - } - } -}; -dhtmlXMenuObject.prototype.setHref = function(e, a, c) { - if (this.itemPull[this.idPrefix + e] == null) { - return - } - this.itemPull[this.idPrefix + e]["href_link"] = a; - if (c != null) { - this.itemPull[this.idPrefix + e]["href_target"] = c - } -}; -dhtmlXMenuObject.prototype.clearHref = function(a) { - if (this.itemPull[this.idPrefix + a] == null) { - return - } - delete this.itemPull[this.idPrefix + a]["href_link"]; - delete this.itemPull[this.idPrefix + a]["href_target"] -}; -dhtmlXMenuObject.prototype.getCircuit = function(c) { - var a = new Array(c); - while (this.getParentId(c) != this.topId) { - c = this.getParentId(c); - a[a.length] = c - } - return a.reverse() -}; -dhtmlXMenuObject.prototype._getCheckboxState = function(a) { - if (this.itemPull[this.idPrefix + a] == null) { - return null - } - return this.itemPull[this.idPrefix + a]["checked"] -}; -dhtmlXMenuObject.prototype._setCheckboxState = function(c, a) { - if (this.itemPull[this.idPrefix + c] == null) { - return - } - this.itemPull[this.idPrefix + c]["checked"] = a -}; -dhtmlXMenuObject.prototype._updateCheckboxImage = function(c) { - if (this.idPull[this.idPrefix + c] == null) { - return - } - this.itemPull[this.idPrefix + c]["imgen"] = "chbx_" + (this._getCheckboxState(c) ? "1" : "0"); - this.itemPull[this.idPrefix + c]["imgdis"] = this.itemPull[this.idPrefix + c]["imgen"]; - try { - this.idPull[this.idPrefix + c].childNodes[(this.conf.rtl ? 2 : 0)].childNodes[0].className = "sub_icon " + this.itemPull[this.idPrefix + c]["imgen"] - } catch (a) {} -}; -dhtmlXMenuObject.prototype._checkboxOnClickHandler = function(g, a, c) { - if (a.charAt(1) == "d") { - return - } - if (this.itemPull[this.idPrefix + g] == null) { - return - } - var e = this._getCheckboxState(g); - if (this.checkEvent("onCheckboxClick")) { - if (this.callEvent("onCheckboxClick", [g, e, this.conf.ctx_zoneid, c])) { - this.setCheckboxState(g, !e) - } - } else { - this.setCheckboxState(g, !e) - } - if (this.checkEvent("onClick")) { - this.callEvent("onClick", [g]) - } -}; -dhtmlXMenuObject.prototype.setCheckboxState = function(c, a) { - this._setCheckboxState(c, a); - this._updateCheckboxImage(c) -}; -dhtmlXMenuObject.prototype.getCheckboxState = function(a) { - return this._getCheckboxState(a) -}; -dhtmlXMenuObject.prototype.addCheckbox = function(n, g, o, q, r, a, h) { - if (this.conf.context && g == this.topId) {} else { - if (this.itemPull[this.idPrefix + g] == null) { - return - } - if (n == "child" && this.itemPull[this.idPrefix + g]["type"] != "item") { - return - } - } - var l = "chbx_" + (a ? "1" : "0"); - var e = l; - if (n == "sibling") { - var c = this.idPrefix + (q != null ? q : this._genStr(24)); - var m = this.idPrefix + this.getParentId(g); - this._addItemIntoGlobalStrorage(c, m, r, "checkbox", h, l, e); - this.itemPull[c]["checked"] = a; - this._renderSublevelItem(c, this.getItemPosition(g)) - } else { - var c = this.idPrefix + (q != null ? q : this._genStr(24)); - var m = this.idPrefix + g; - this._addItemIntoGlobalStrorage(c, m, r, "checkbox", h, l, e); - this.itemPull[c]["checked"] = a; - if (this.idPull["polygon_" + m] == null) { - this._renderSublevelPolygon(m, m) - } - this._renderSublevelItem(c, o - 1); - this._redefineComplexState(m) - } -}; -dhtmlXMenuObject.prototype.setHotKey = function(m, a) { - m = this.idPrefix + m; - if (!(this.itemPull[m] != null && this.idPull[m] != null)) { - return - } - if (this.itemPull[m]["parent"] == this.idPrefix + this.topId && !this.conf.context) { - return - } - if (this.itemPull[m]["complex"]) { - return - } - var c = this.itemPull[m]["type"]; - if (!(c == "item" || c == "checkbox" || c == "radio")) { - return - } - var l = null; - try { - if (this.idPull[m].childNodes[this.conf.rtl ? 0 : 2].childNodes[0].className == "sub_item_hk") { - l = this.idPull[m].childNodes[this.conf.rtl ? 0 : 2].childNodes[0] - } - } catch (h) {} - if (a.length == 0) { - this.itemPull[m]["hotkey_backup"] = this.itemPull[m]["hotkey"]; - this.itemPull[m]["hotkey"] = ""; - if (l != null) { - l.parentNode.removeChild(l) - } - } else { - this.itemPull[m]["hotkey"] = a; - this.itemPull[m]["hotkey_backup"] = null; - if (l == null) { - l = document.createElement("DIV"); - l.className = "sub_item_hk"; - var g = this.idPull[m].childNodes[this.conf.rtl ? 0 : 2]; - while (g.childNodes.length > 0) { - g.removeChild(g.childNodes[0]) - } - g.appendChild(l) - } - l.innerHTML = a - } -}; -dhtmlXMenuObject.prototype.getHotKey = function(a) { - if (this.itemPull[this.idPrefix + a] == null) { - return null - } - return this.itemPull[this.idPrefix + a]["hotkey"] -}; -dhtmlXMenuObject.prototype._clearAllSelectedSubItemsInPolygon = function(a) { - var e = this._getSubItemToDeselectByPolygon(a); - for (var c = 0; c < this.conf.opened_poly.length; c++) { - if (this.conf.opened_poly[c] != a) { - this._hidePolygon(this.conf.opened_poly[c]) - } - } - for (var c = 0; c < e.length; c++) { - if (this.idPull[e[c]] != null && this.itemPull[e[c]]["state"] == "enabled") { - this.idPull[e[c]].className = "dhtmlxMenu_" + this.conf.skin + "_SubLevelArea_Item_Normal" - } - } -}; -dhtmlXMenuObject.prototype._checkArrowsState = function(g) { - var c = this.idPull["polygon_" + g].childNodes[1]; - var e = this.idPull["arrowup_" + g]; - var a = this.idPull["arrowdown_" + g]; - if (c.scrollTop == 0) { - e.className = "dhtmlxMenu_" + this.conf.skin + "_SubLevelArea_ArrowUp_Disabled" - } else { - e.className = "dhtmlxMenu_" + this.conf.skin + "_SubLevelArea_ArrowUp" + (e.over ? "_Over" : "") - } - if (c.scrollTop + c.offsetHeight < c.scrollHeight) { - a.className = "dhtmlxMenu_" + this.conf.skin + "_SubLevelArea_ArrowDown" + (a.over ? "_Over" : "") - } else { - a.className = "dhtmlxMenu_" + this.conf.skin + "_SubLevelArea_ArrowDown_Disabled" - } - c = e = a = null -}; -dhtmlXMenuObject.prototype._addUpArrow = function(g) { - var c = this; - var e = document.createElement("DIV"); - e.pId = this.idPrefix + g; - e.id = "arrowup_" + this.idPrefix + g; - e.className = "dhtmlxMenu_" + this.conf.skin + "_SubLevelArea_ArrowUp"; - e.over = false; - e.onselectstart = function(h) { - h = h || event; - if (h.preventDefault) { - h.preventDefault() - } else { - h.returnValue = false - } - return false - }; - e.oncontextmenu = function(h) { - h = h || event; - if (h.preventDefault) { - h.preventDefault() - } else { - h.returnValue = false - } - return false - }; - e.onmouseover = function() { - if (c.conf.mode == "web") { - window.clearTimeout(c.conf.tm_handler) - } - c._clearAllSelectedSubItemsInPolygon(this.pId); - if (this.className == "dhtmlxMenu_" + c.conf.skin + "_SubLevelArea_ArrowUp_Disabled") { - return - } - this.className = "dhtmlxMenu_" + c.conf.skin + "_SubLevelArea_ArrowUp_Over"; - this.over = true; - c._canScrollUp = true; - c._doScrollUp(this.pId, true) - }; - e.onmouseout = function() { - if (c.conf.mode == "web") { - window.clearTimeout(c.conf.tm_handler); - c.conf.tm_handler = window.setTimeout(function() { - c._clearAndHide() - }, c.conf.tm_sec, "JavaScript") - } - this.over = false; - c._canScrollUp = false; - if (this.className == "dhtmlxMenu_" + c.conf.skin + "_SubLevelArea_ArrowUp_Disabled") { - return - } - this.className = "dhtmlxMenu_" + c.conf.skin + "_SubLevelArea_ArrowUp"; - window.clearTimeout(c.conf.of_utm) - }; - e.onclick = function(h) { - h = h || event; - if (h.preventDefault) { - h.preventDefault() - } else { - h.returnValue = false - } - h.cancelBubble = true; - return false - }; - var a = this.idPull["polygon_" + this.idPrefix + g]; - a.childNodes[0].appendChild(e); - this.idPull[e.id] = e; - a = e = null -}; -dhtmlXMenuObject.prototype._addDownArrow = function(g) { - var c = this; - var e = document.createElement("DIV"); - e.pId = this.idPrefix + g; - e.id = "arrowdown_" + this.idPrefix + g; - e.className = "dhtmlxMenu_" + this.conf.skin + "_SubLevelArea_ArrowDown"; - e.over = false; - e.onselectstart = function(h) { - h = h || event; - if (h.preventDefault) { - h.preventDefault() - } else { - h.returnValue = false - } - return false - }; - e.oncontextmenu = function(h) { - h = h || event; - if (h.preventDefault) { - h.preventDefault() - } else { - h.returnValue = false - } - return false - }; - e.onmouseover = function() { - if (c.conf.mode == "web") { - window.clearTimeout(c.conf.tm_handler) - } - c._clearAllSelectedSubItemsInPolygon(this.pId); - if (this.className == "dhtmlxMenu_" + c.conf.skin + "_SubLevelArea_ArrowDown_Disabled") { - return - } - this.className = "dhtmlxMenu_" + c.conf.skin + "_SubLevelArea_ArrowDown_Over"; - this.over = true; - c._canScrollDown = true; - c._doScrollDown(this.pId, true) - }; - e.onmouseout = function() { - if (c.conf.mode == "web") { - window.clearTimeout(c.conf.tm_handler); - c.conf.tm_handler = window.setTimeout(function() { - c._clearAndHide() - }, c.conf.tm_sec, "JavaScript") - } - this.over = false; - c._canScrollDown = false; - if (this.className == "dhtmlxMenu_" + c.conf.skin + "_SubLevelArea_ArrowDown_Disabled") { - return - } - this.className = "dhtmlxMenu_" + c.conf.skin + "_SubLevelArea_ArrowDown"; - window.clearTimeout(c.conf.of_dtm) - }; - e.onclick = function(h) { - h = h || event; - if (h.preventDefault) { - h.preventDefault() - } else { - h.returnValue = false - } - h.cancelBubble = true; - return false - }; - var a = this.idPull["polygon_" + this.idPrefix + g]; - a.childNodes[2].appendChild(e); - this.idPull[e.id] = e; - a = e = null -}; -dhtmlXMenuObject.prototype._removeUpArrow = function(c) { - var a = "arrowup_" + this.idPrefix + c; - this._removeArrow(a) -}; -dhtmlXMenuObject.prototype._removeDownArrow = function(c) { - var a = "arrowdown_" + this.idPrefix + c; - this._removeArrow(a) -}; -dhtmlXMenuObject.prototype._removeArrow = function(a) { - var c = this.idPull[a]; - c.onselectstart = null; - c.oncontextmenu = null; - c.onmouseover = null; - c.onmouseout = null; - c.onclick = null; - if (c.parentNode) { - c.parentNode.removeChild(c) - } - c = null; - this.idPull[a] = null; - try { - delete this.idPull[a] - } catch (g) {} -}; -dhtmlXMenuObject.prototype._isArrowExists = function(a) { - if (this.idPull["arrowup_" + a] != null && this.idPull["arrowdown_" + a] != null) { - return true - } - return false -}; -dhtmlXMenuObject.prototype._doScrollUp = function(l, g) { - var a = this.idPull["polygon_" + l].childNodes[1]; - if (this._canScrollUp && a.scrollTop > 0) { - var e = false; - var h = a.scrollTop - this.conf.of_ustep; - if (h < 0) { - e = true; - h = 0 - } - a.scrollTop = h; - if (!e) { - var c = this; - this.conf.of_utm = window.setTimeout(function() { - c._doScrollUp(l, false); - c = null - }, this.conf.of_utime) - } else { - g = true - } - } else { - this._canScrollUp = false; - this._checkArrowsState(l) - } - if (g) { - this._checkArrowsState(l) - } -}; -dhtmlXMenuObject.prototype._doScrollDown = function(l, g) { - var a = this.idPull["polygon_" + l].childNodes[1]; - if (this._canScrollDown && a.scrollTop + a.offsetHeight <= a.scrollHeight) { - var e = false; - var h = a.scrollTop + this.conf.of_dstep; - if (h + a.offsetHeight >= a.scrollHeight) { - e = true; - h = a.scrollHeight - a.offsetHeight - } - a.scrollTop = h; - if (!e) { - var c = this; - this.conf.of_dtm = window.setTimeout(function() { - c._doScrollDown(l, false); - c = null - }, this.conf.of_dtime) - } else { - g = true - } - } else { - this._canScrollDown = false; - this._checkArrowsState(l) - } - if (g) { - this._checkArrowsState(l) - } -}; -dhtmlXMenuObject.prototype._countPolygonItems = function(l) { - var g = 0; - for (var c in this.itemPull) { - var e = this.itemPull[c]["parent"]; - var h = this.itemPull[c]["type"]; - if (e == this.idPrefix + l && (h == "item" || h == "radio" || h == "checkbox")) { - g++ - } - } - return g -}; -dhtmlXMenuObject.prototype.setOverflowHeight = function(g) { - if (g === "auto") { - this.conf.overflow_limit = 0; - this.conf.auto_overflow = true; - return - } - if (this.conf.overflow_limit == 0 && g <= 0) { - return - } - this._clearAndHide(); - if (this.conf.overflow_limit >= 0 && g > 0) { - this.conf.overflow_limit = g; - return - } - if (this.conf.overflow_limit > 0 && g <= 0) { - for (var e in this.itemPull) { - if (this._isArrowExists(e)) { - var c = String(e).replace(this.idPrefix, ""); - this._removeUpArrow(c); - this._removeDownArrow(c); - this.idPull["polygon_" + e].childNodes[1].style.height = "" - } - } - this.conf.overflow_limit = 0; - return - } -}; -dhtmlXMenuObject.prototype._getRadioImgObj = function(g) { - try { - var a = this.idPull[this.idPrefix + g].childNodes[(this.conf.rtl ? 2 : 0)].childNodes[0] - } catch (c) { - var a = null - } - return a -}; -dhtmlXMenuObject.prototype._setRadioState = function(g, e) { - var c = this._getRadioImgObj(g); - if (c != null) { - var a = this.itemPull[this.idPrefix + g]; - a.checked = e; - a.imgen = "rdbt_" + (a.checked ? "1" : "0"); - a.imgdis = a.imgen; - c.className = "sub_icon " + a.imgen - } -}; -dhtmlXMenuObject.prototype._radioOnClickHandler = function(g, a, c) { - if (a.charAt(1) == "d" || this.itemPull[this.idPrefix + g]["group"] == null) { - return - } - var e = this.itemPull[this.idPrefix + g]["group"]; - if (this.checkEvent("onRadioClick")) { - if (this.callEvent("onRadioClick", [e, this.getRadioChecked(e), g, this.conf.ctx_zoneid, c])) { - this.setRadioChecked(e, g) - } - } else { - this.setRadioChecked(e, g) - } - if (this.checkEvent("onClick")) { - this.callEvent("onClick", [g]) - } -}; -dhtmlXMenuObject.prototype.getRadioChecked = function(g) { - var l = null; - for (var e = 0; e < this.radio[g].length; e++) { - var h = this.radio[g][e].replace(this.idPrefix, ""); - var a = this._getRadioImgObj(h); - if (a != null) { - var c = (a.className).match(/rdbt_1$/gi); - if (c != null) { - l = h - } - } - } - return l -}; -dhtmlXMenuObject.prototype.setRadioChecked = function(c, g) { - if (this.radio[c] == null) { - return - } - for (var a = 0; a < this.radio[c].length; a++) { - var e = this.radio[c][a].replace(this.idPrefix, ""); - this._setRadioState(e, (e == g)) - } -}; -dhtmlXMenuObject.prototype.addRadioButton = function(o, h, q, r, s, u, a, l) { - if (this.conf.context && h == this.topId) {} else { - if (this.itemPull[this.idPrefix + h] == null) { - return - } - if (o == "child" && this.itemPull[this.idPrefix + h]["type"] != "item") { - return - } - } - var e = this.idPrefix + (r != null ? r : this._genStr(24)); - var m = "rdbt_" + (a ? "1" : "0"); - var c = m; - if (o == "sibling") { - var n = this.idPrefix + this.getParentId(h); - this._addItemIntoGlobalStrorage(e, n, s, "radio", l, m, c); - this._renderSublevelItem(e, this.getItemPosition(h)) - } else { - var n = this.idPrefix + h; - this._addItemIntoGlobalStrorage(e, n, s, "radio", l, m, c); - if (this.idPull["polygon_" + n] == null) { - this._renderSublevelPolygon(n, n) - } - this._renderSublevelItem(e, q - 1); - this._redefineComplexState(n) - } - var g = (u != null ? u : this._genStr(24)); - this.itemPull[e]["group"] = g; - if (this.radio[g] == null) { - this.radio[g] = new Array() - } - this.radio[g][this.radio[g].length] = e; - if (a == true) { - this.setRadioChecked(g, String(e).replace(this.idPrefix, "")) - } -}; -dhtmlXMenuObject.prototype.serialize = function() { - var a = "" + this._readLevel(this.idPrefix + this.topId) + ""; - return a -}; -dhtmlXMenuObject.prototype._readLevel = function(g) { - var h = ""; - for (var o in this.itemPull) { - if (this.itemPull[o]["parent"] == g) { - var c = ""; - var e = ""; - var r = ""; - var n = String(this.itemPull[o]["id"]).replace(this.idPrefix, ""); - var m = ""; - var q = (this.itemPull[o]["title"] != "" ? ' text="' + this.itemPull[o]["title"] + '"' : ""); - var l = ""; - if (this.itemPull[o]["type"] == "item") { - if (this.itemPull[o]["imgen"] != "") { - c = ' img="' + this.itemPull[o]["imgen"] + '"' - } - if (this.itemPull[o]["imgdis"] != "") { - e = ' imgdis="' + this.itemPull[o]["imgdis"] + '"' - } - if (this.itemPull[o]["hotkey"] != "") { - r = "" + this.itemPull[o]["hotkey"] + "" - } - } - if (this.itemPull[o]["type"] == "separator") { - m = ' type="separator"' - } else { - if (this.itemPull[o]["state"] == "disabled") { - l = ' enabled="false"' - } - } - if (this.itemPull[o]["type"] == "checkbox") { - m = ' type="checkbox"' + (this.itemPull[o]["checked"] ? ' checked="true"' : "") - } - if (this.itemPull[o]["type"] == "radio") { - m = ' type="radio" group="' + this.itemPull[o]["group"] + '" ' + (this.itemPull[o]["checked"] ? ' checked="true"' : "") - } - h += ""; - h += r; - if (this.itemPull[o]["complex"]) { - h += this._readLevel(o) - } - h += "" - } - } - return h -}; -dhtmlXMenuObject.prototype.enableEffect = function(e, h, g) { - this._menuEffect = (e == "opacity" || e == "slide" || e == "slide+" ? e : false); - this._pOpStyleIE = (navigator.userAgent.search(/MSIE\s[678]\.0/gi) >= 0); - for (var c in this.idPull) { - if (c.search(/polygon/) === 0) { - this._pOpacityApply(c, (this._pOpStyleIE ? 100 : 1)); - this.idPull[c].style.height = "" - } - } - this._pOpMax = (typeof(h) == "undefined" ? 100 : h) / (this._pOpStyleIE ? 1 : 100); - this._pOpStyleName = (this._pOpStyleIE ? "filter" : "opacity"); - this._pOpStyleValue = (this._pOpStyleIE ? "progid:DXImageTransform.Microsoft.Alpha(Opacity=#)" : "#"); - this._pSlSteps = (this._pOpStyleIE ? 10 : 20); - this._pSlTMTimeMax = g || 50 -}; -dhtmlXMenuObject.prototype._showPolygonEffect = function(a) { - this._pShowHide(a, true) -}; -dhtmlXMenuObject.prototype._hidePolygonEffect = function(a) { - this._pShowHide(a, false) -}; -dhtmlXMenuObject.prototype._pOpacityApply = function(a, c) { - this.idPull[a].style[this._pOpStyleName] = String(this._pOpStyleValue).replace("#", c || this.idPull[a]._op) -}; -dhtmlXMenuObject.prototype._pShowHide = function(a, c) { - if (!this.idPull) { - return - } - if (this.idPull[a]._tmShow != null) { - if ((this.idPull[a]._step_h > 0 && c == true) || (this.idPull[a]._step_h < 0 && c == false)) { - return - } - window.clearTimeout(this.idPull[a]._tmShow); - this.idPull[a]._tmShow = null; - this.idPull[a]._max_h = null - } - if (c == false && (this.idPull[a].style.visibility == "hidden" || this.idPull[a].style.display == "none")) { - return - } - if (c == true && this.idPull[a].style.display == "none") { - this.idPull[a].style.visibility = "hidden"; - this.idPull[a].style.display = "" - } - if (this.idPull[a]._max_h == null) { - this.idPull[a]._max_h = parseInt(this.idPull[a].offsetHeight); - this.idPull[a]._h = (c == true ? 0 : this.idPull[a]._max_h); - this.idPull[a]._step_h = Math.round(this.idPull[a]._max_h / this._pSlSteps) * (c == true ? 1 : -1); - if (this.idPull[a]._step_h == 0) { - return - } - this.idPull[a]._step_tm = Math.round(this._pSlTMTimeMax / this._pSlSteps); - if (this._menuEffect == "slide+" || this._menuEffect == "opacity") { - this.idPull[a].op_tm = this.idPull[a]._step_tm; - this.idPull[a].op_step = (this._pOpMax / this._pSlSteps) * (c == true ? 1 : -1); - if (this._pOpStyleIE) { - this.idPull[a].op_step = Math.round(this.idPull[a].op_step) - } - this.idPull[a]._op = (c == true ? 0 : this._pOpMax); - this._pOpacityApply(a) - } else { - this.idPull[a]._op = (this._pOpStyleIE ? 100 : 1); - this._pOpacityApply(a) - } - if (this._menuEffect.search(/slide/) === 0) { - this.idPull[a].style.height = "0px" - } - this.idPull[a].style.visibility = "visible" - } - this._pEffectSet(a, this.idPull[a]._h + this.idPull[a]._step_h) -}; -dhtmlXMenuObject.prototype._pEffectSet = function(e, c) { - if (!this.idPull) { - return - } - if (this.idPull[e]._tmShow) { - window.clearTimeout(this.idPull[e]._tmShow) - } - this.idPull[e]._h = Math.max(0, Math.min(c, this.idPull[e]._max_h)); - if (this._menuEffect.search(/slide/) === 0) { - this.idPull[e].style.height = this.idPull[e]._h + "px" - } - c += this.idPull[e]._step_h; - if (this._menuEffect == "slide+" || this._menuEffect == "opacity") { - this.idPull[e]._op = Math.max(0, Math.min(this._pOpMax, this.idPull[e]._op + this.idPull[e].op_step)); - this._pOpacityApply(e) - } - if ((this.idPull[e]._step_h > 0 && c <= this.idPull[e]._max_h) || (this.idPull[e]._step_h < 0 && c >= 0)) { - var a = this; - this.idPull[e]._tmShow = window.setTimeout(function() { - a._pEffectSet(e, c) - }, this.idPull[e]._step_tm) - } else { - if (this._menuEffect.search(/slide/) === 0) { - this.idPull[e].style.height = "" - } - if (this.idPull[e]._step_h < 0) { - this.idPull[e].style.visibility = "hidden" - } - if (this._menuEffect == "slide+" || this._menuEffect == "opacity") { - this.idPull[e]._op = (this.idPull[e]._step_h < 0 ? (this._pOpStyleIE ? 100 : 1) : this._pOpMax); - this._pOpacityApply(e) - } - this.idPull[e]._tmShow = null; - this.idPull[e]._h = null; - this.idPull[e]._max_h = null; - this.idPull[e]._step_tm = null - } -}; - -function dhtmlXRibbon(g) { - var e = this, - c, a; - this.conf = { - type: "ribbon", - icons_path: (g && g.icons_path) ? g.icons_path : "", - icons_css: (g && g.iconsset == "awesome"), - arrows_mode: (g && g.arrows_mode) ? g.arrows_mode : null, - skin: "dhx_skyblue" - }; - this._eventHandlers = {}; - this._base = null; - this._items = {}; - this._tabbar = null; - this.childIds = []; - if (typeof(g) == "string") { - a = g - } else { - if (g && g.tagName) { - a = g - } else { - if (g && g.parent) { - if (g.parent.tagName || typeof(g.parent) == "string") { - a = g.parent - } - } - } - } - this._doOnHighlight0 = function(n) { - n = n || event; - var m = n.target || n.srcElement; - var h = e._findItemByNode(m); - var l = e._items[h._dhx_ribbonId]; - if (l.conf.disable) { - return - } - if (e.items[l.type] && typeof(e.items[l.type].mouseover) == "function") { - if (e.items[l.type].mouseover(l, e, n) != true) { - return false - } - } - if (!/dhxrb_highlight0/.test(h.className)) { - h.className += " dhxrb_highlight0" - } - }; - this._doOffHighlight0 = function(n) { - n = n || event; - var m = n.target || n.srcElement; - var h = e._findItemByNode(m); - var l = e._items[h._dhx_ribbonId]; - if (l.conf.disable) { - return - } - if (e.items[l.type] && typeof(e.items[l.type].mouseout) == "function") { - if (e.items[l.type].mouseout(l, e, n) != true) { - return false - } - } - if (/dhxrb_highlight1/.test(h.className)) { - h.className = h.className.replace(/\s?dhxrb_highlight1/, "") - } - if (/dhxrb_highlight0/.test(h.className)) { - h.className = h.className.replace(/\s?dhxrb_highlight0/, "") - } - }; - this._doOnHighlight1 = function(n) { - n = n || event; - var m = n.target || n.srcElement; - var h = e._findItemByNode(m); - var l = e._items[h._dhx_ribbonId]; - if (l.conf.disable) { - return - } - e.callEvent("_showPopup", [l.id]); - if (e.items[l.type] && typeof(e.items[l.type].mousedown) == "function") { - if (e.items[l.type].mousedown(l, e, n) != true) { - return false - } - } - if (!/dhxrb_highlight1/.test(h.className)) { - h.className += " dhxrb_highlight1" - } - }; - this._doOffHighlight1 = function(n) { - n = n || event; - var m = n.target || n.srcElement; - var h = e._findItemByNode(m); - var l = e._items[h._dhx_ribbonId]; - if (l.conf.disable) { - return - } - if (e.items[l.type] && typeof(e.items[l.type].mouseup) == "function") { - if (e.items[l.type].mouseup(l, e, n) != true) { - return false - } - } - if (/dhxrb_highlight1/.test(h.className)) { - h.className = h.className.replace(/\s?dhxrb_highlight1/, "") - } - }; - this._doOnClick = function(n) { - n = n || event; - var m = n.target || n.srcElement; - var h = e._findItemByNode(m); - var l = e._items[h._dhx_ribbonId]; - if (l.conf.disable) { - return - } - if (e.items[l.type] && typeof(e.items[l.type].click) == "function") { - e.items[l.type].click(l, e, n) - } - }; - this._doOnFocus = function(n) { - n = n || event; - var m = n.target || n.srcElement; - var h = e._findItemByNode(m); - var l = e._items[h._dhx_ribbonId]; - if (l.conf.disable) { - return - } - e.callEvent("_showPopup", [l.id]); - if (e.items[l.type] && typeof(e.items[l.type].focus) == "function") { - e.items[l.type].focus(l, e, n) - } - }; - this._doOnBlur = function(n) { - n = n || event; - var m = n.target || n.srcElement; - var h = e._findItemByNode(m); - var l = e._items[h._dhx_ribbonId]; - if (l.conf.disable) { - return - } - if (e.items[l.type] && typeof(e.items[l.type].blur) == "function") { - e.items[l.type].blur(l, e, n) - } - }; - this._doOnChange = function(n) { - n = n || event; - var m = n.target || n.srcElement; - var h = e._findItemByNode(m); - var l = e._items[h._dhx_ribbonId]; - if (l.conf.disable) { - return - } - if (e.items[l.type] && typeof(e.items[l.type].change) == "function") { - e.items[l.type].change(l, e, n) - } - }; - this._doOnKeydown = function(n) { - n = n || event; - var m = n.target || n.srcElement; - var h = e._findItemByNode(m); - var l = e._items[h._dhx_ribbonId]; - if (l.conf.disable) { - return - } - if (e.items[l.type] && typeof(e.items[l.type].keydown) == "function") { - e.items[l.type].keydown(l, e, n) - } - }; - this._tabCustomApi = { - enable: function(n, l) { - var h = null; - l = l || false; - if (l != true) { - h = e._items[this._idd]; - for (var m = 0; m < h.childIds.length; m++) { - e.enable(h.childIds[m]) - } - } - return e._tabOriginalApi.enable.apply(this, [n]) - }, - disable: function(n, l) { - var h = null; - if (l != false) { - h = e._items[this._idd]; - for (var m = 0; m < h.childIds.length; m++) { - e.disable(h.childIds[m]) - } - } - return e._tabOriginalApi.disable.apply(this, [n]) - }, - close: function(m) { - var l = e._items[this._idd]; - e._removeTab(l); - e._tabOriginalApi.close.apply(this, [m]); - for (var h in e._tabOriginalApi) { - this[h] = null - } - } - }; - this._attachEventTabbar = function() { - this._tabbar.attachEvent("onSelect", function() { - return e.callEvent("onSelect", arguments) - }); - this._tabbar.attachEvent("onTabClick", function() { - return e.callEvent("onTabClick", arguments) - }); - this._tabbar.attachEvent("onTabClose", function() { - return e.callEvent("onTabClose", arguments) - }) - }; - if (typeof(a) == "string") { - this._base = document.getElementById(a) - } else { - if (a && a.tagName) { - this._base = a - } else { - this._base = document.createElement("div"); - this._base._dhx_remove = true; - if (document.body.firstChild) { - document.body.insertBefore(this._base, document.body.firstChild) - } else { - document.body.appendChild(this._base) - } - } - } - c = dhx4.skin || (typeof(dhtmlx) != "undefined" ? dhtmlx.skin : null) || dhx4.skinDetect("dhtmlxribbon") || "material"; - if (typeof(g) == "object" && g.skin) { - c = g.skin - } - this.setSkin(c); - dhx4._eventable(this); - dhx4._enableDataLoading(this, "_renderData", "_xmlToJson", "ribbon", { - struct: true - }); - this.attachEvent("_onHeightChanged", function() { - this.conf.inited = true - }); - this._base.className += " dhxrb_without_tabbar"; - this._base.innerHTML = "
                    "; - if (g != null) { - if (g.json) { - this.loadStruct(g.json, g.onload) - } else { - if (g.xml) { - this.loadStruct(g.xml, g.onload) - } - } - this._renderData(g) - } - this.unload = function() { - var l = []; - for (var m = 0; m < this.childIds.length; m++) { - l.push(this.childIds[m]) - } - dhx4._enableDataLoading(this, null, null, null, "clear"); - dhx4._eventable(this, "clear"); - for (var m = 0; m < l.length; m++) { - if (this._items[l[m]].type == "tab") { - this.tabs(l[m]).close(false) - } else { - this.removeItem(l[m]) - } - } - if (this._tabbar) { - this._tabbar.unload(); - this._tabbar = null - } - this._base.innerHTML = ""; - if (this._base._dhx_remove) { - this._base.parentNode.removeChild(this._base) - } else { - this._base.className = this._base.className.replace(/\s?(dhtmlx|dhxrb)(\S*)/ig, "") - } - for (var h in this) { - this[h] = null - } - e = null - } -} -dhtmlXRibbon.prototype.setSizes = function() { - if (this._tabbar != null && typeof(this.setSizes) == "function") { - this._tabbar.setSizes() - } -}; -dhtmlXRibbon.prototype._renderData = function(c) { - var a = this._base.firstChild; - if (c != null) { - this.conf.icons_path = c.icons_path || this.conf.icons_path; - this.conf.icons_css = this.conf.icons_css || (c.iconset == "awesome"); - if (c.tabs instanceof Array) { - this._base.className = this._base.className.replace(/\s?dhxrb_without_tabbar/i, ""); - a.className = "dhxrb_with_tabbar"; - this._tabbar = new dhtmlXTabBar(a); - this._attachEventTabbar(); - this._tabbar.setSkin(this.conf.skin); - if (this.conf.arrows_mode != null) { - this._tabbar.setArrowsMode(this.conf.arrows_mode) - } - this.childIds = this._appendTabs(c.tabs) - } else { - if (c.items instanceof Array) { - if (!/\s?dhxrb_without_tabbar/i.test(this._base.className)) { - this._base.className += " dhxrb_without_tabbar" - } - if (/\s?dhxrb_background_area/i.test(a.className)) { - a.className = "dhxrb_background_area" - } - a.innerHTML = "
                    "; - this.childIds = this._appendBlocks(c.items, a.firstChild) - } - } - this.callEvent("_onHeightChanged", []) - } -}; -dhtmlXRibbon.prototype._xmlToJson = function(c) { - if (!c) { - dhx4.callEvent("onLoadXMLError", ["Incorrect XML", null, c]); - return - } - var a = c.lastChild || null, - g = {}, - e = []; - if (a && a.tagName == "ribbon") { - e = this._convertXmlNodeListIntoObject(a.childNodes) - } - if (e[0] && e[0].type && e[0].type.toLowerCase() == "block") { - g.items = e - } else { - g.tabs = e - } - return g -}; -dhtmlXRibbon.prototype._convertXmlNodeListIntoObject = function(c) { - var e, a, h = [], - g; - a = c.length; - for (e = 0; e < a; e++) { - g = this._covertXmlNodeToObject(c[e]); - if (g) { - h.push(g) - } - } - return h -}; -dhtmlXRibbon.prototype._covertXmlNodeToObject = function(g) { - if (!g || !g.tagName || !(g.tagName.toLowerCase() == "item" || g.tagName.toLowerCase() == "tab")) { - return null - } - var e, a, c = g.attributes, - h = {}; - a = c.length; - for (e = 0; e < a; e++) { - switch (c[e].name) { - case "isbig": - h.isbig = dhx4.s2b(c[e].value); - break; - case "state": - h.state = dhx4.s2b(c[e].value); - break; - default: - h[c[e].name] = c[e].value - } - } - if (g.childNodes.length) { - if (g.getAttribute("type") == "buttonCombo" || g.getAttribute("type") == "buttonSelect") { - h.data = g - } else { - if (g.tagName.toLowerCase() == "tab") { - h.items = this._convertXmlNodeListIntoObject(g.childNodes) - } else { - h.list = this._convertXmlNodeListIntoObject(g.childNodes) - } - } - } - return h -}; -dhtmlXRibbon.prototype._appendTabs = function(h) { - var c, a, e, g = []; - a = h.length; - for (c = 0; c < a; c++) { - e = this._addTab(h[c]); - if (h[c].items instanceof Array) { - e.childIds = this._appendBlocks(h[c].items, e.base, e) - } - g.push(e.id) - } - return g -}; -dhtmlXRibbon.prototype._addTab = function(e) { - var a, g; - var c = { - conf: { - active: false, - text: "", - width: null, - position: null, - disable: false - }, - base: document.createElement("div"), - type: "tab", - childIds: [] - }; - for (a in e) { - if (a == "items") { - continue - } - c.conf[a] = e[a] - } - if (!e.id) { - c.id = dhx4.newId() - } else { - c.id = e.id - } - while (this._items[c.id]) { - c.id = dhx4.newId() - } - this._tabbar.addTab(c.id, c.conf.text, c.conf.width, c.conf.position, c.conf.active); - c.base.className = "dhxrb_g_area"; - c.base._dhx_ribbonId = c.id; - this.tabs(c.id).attachObject(c.base); - this._changeApiForTab(this.tabs(c.id)); - this._items[c.id] = c; - return c -}; -dhtmlXRibbon.prototype._changeApiForTab = function(c) { - var a; - for (a in this._tabOriginalApi) { - this._tabOriginalApi[a] = this._tabOriginalApi[a] || c[a]; - c[a] = this._tabCustomApi[a] - } -}; -dhtmlXRibbon.prototype._tabOriginalApi = { - enable: null, - disable: null, - close: null -}; -dhtmlXRibbon.prototype._appendBlocks = function(a, s, e) { - var m, g, n, h, o, c, r = []; - e = e || null; - g = a.length; - for (m = 0; m < g; m++) { - if (typeof(a[m]) == "object" && a[m].type == "block") { - n = this._addBlock(a[m], s); - if (a[m].list && (a[m].list instanceof Array)) { - h = a[m].list; - o = h.length; - for (c = 0; c < o; c++) { - this._addItem(n.id, null, null, h[c]) - } - } - if (e != null) { - n.parentId = e.id - } - if (n.conf.disable) { - this.disable(n.id) - } - r.push(n.id) - } - } - return r -}; -dhtmlXRibbon.prototype._addBlock = function(h, g) { - var e, a, m, c; - m = { - conf: { - text: "", - text_pos: "bottom", - type: "block", - mode: "cols", - disable: false - }, - type: "block", - childIds: [], - base: document.createElement("div"), - contForItems: document.createElement("div"), - contForText: document.createElement("div") - }; - for (c in h) { - if (c == "list" || c == "type" || c == "id") { - continue - } - m.conf[c] = h[c] - } - if (!h.id) { - m.id = dhx4.newId() - } else { - m.id = h.id - } - while (this._items[m.id]) { - m.id = dhx4.newId() - } - m.base.className = "dhxrb_block_base"; - g.appendChild(m.base); - m.contForItems.className = "dhxrb_block_items"; - m.contForText.className = "dhxrb_block_label"; - m.base.appendChild(m.contForItems); - if (m.conf.text) { - m.contForText.innerHTML = m.conf.text; - if (m.conf.text_pos == "top") { - m.base.insertBefore(m.contForText, m.contForItems) - } else { - m.base.appendChild(m.contForText) - } - } - m.base._dhx_ribbonId = m.id; - this._items[m.id] = m; - return m -}; -dhtmlXRibbon.prototype._addItem = function(e, c, o, m) { - var h = this._items[e], - a, l, r = null, - n = this, - g; - if (m.type != "newLevel" && !this.items[m.type]) { - return null - } - if (m.type == "newLevel") { - this._addNewLevel(h) - } else { - if (h.type == "group") { - a = document.createElement("div"); - a.className = "dhxrb_in_group"; - h.base.appendChild(a) - } else { - if (m.isbig) { - a = document.createElement("div"); - a.className = "dhxrb_big_button"; - h.contForItems.appendChild(a) - } else { - l = this._getContainerForSmallItem(h); - a = document.createElement("div"); - a.className = (h.conf.mode == "rows") ? "dhxrb_in_row" : "dhxrb_3rows_button"; - l.appendChild(a) - } - } - } - if (a) { - this._attachEventForItem(a); - g = { - icons_path: m.icons_path || this.conf.icons_path, - icons_css: this.conf.icons_css, - skin: this.conf.skin - }; - for (var q in m) { - g[q] = m[q] - } - if (!g.id) { - g.id = dhx4.newId() - } - while (this._items[g.id]) { - g.id = dhx4.newId() - } - r = (this.items[g.type] && this.items[g.type].render) ? this.items[g.type].render(a, g) : null - } - if (r != null) { - this._items[r.id] = r; - r.parentId = h.id; - h.childIds.push(r.id); - a._dhx_ribbonId = r.id; - if (g.onclick && (typeof(g.onclick) == "function")) { - this._eventHandlers[r.id] = this._eventHandlers[r.id] || {}; - this._eventHandlers[r.id]["onclick"] = g.onclick - } - r.callEvent = function() { - n.callEvent.apply(n, arguments) - }; - r._callHandler = function() { - n._callHandler.apply(n, arguments) - }; - if (this.items[g.type] && typeof(this.items[g.type].callAfterInit) == "function") { - this.items[g.type].callAfterInit.apply(this, [r]) - } - } - return r -}; -dhtmlXRibbon.prototype._callHandler = function(c, a) { - if (this._eventHandlers[c] && this._eventHandlers[c].onclick) { - this._eventHandlers[c].onclick.apply(this, a) - } -}; -dhtmlXRibbon.prototype.items = {}; -dhtmlXRibbon.prototype.items.button = { - render: function(c, a) { - var g, h; - h = { - base: c, - id: a.id, - type: a.type, - conf: { - text: "", - text_pos: (a.isbig) ? "bottom" : "right", - img: null, - imgdis: null, - isbig: false, - disable: false, - skin: a.skin, - icons_css: a.icons_css - } - }; - for (g in a) { - if (g == "id" || g == "onclick" || g == "type") { - continue - } - h.conf[g] = a[g] - } - if (h.conf.icons_css == true) { - var e = "" - } else { - var e = "" - } - c.innerHTML = e + "
                    " + h.conf.text + "
                    "; - if (typeof(this.afterRender) == "function") { - this.afterRender(h) - } - if (h.conf.disable) { - this.disable(h) - } - return h - }, - getText: function(a) { - return a.conf.text - }, - setText: function(c, e) { - var a = c.base.childNodes[1]; - c.conf.text = e; - a.innerHTML = e - }, - setImage: function(c, a) { - c.conf.img = a; - if (c.conf.disable == false) { - c.base.childNodes[0][c.conf.icons_css ? "className" : "src"] = c.conf.icons_path + c.conf.img - } - }, - setImageDis: function(c, a) { - c.conf.imgdis = a; - if (c.conf.disable == true) { - c.base.childNodes[0][c.conf.icons_css ? "className" : "src"] = c.conf.icons_path + c.conf.imgdis - } - }, - mousedown: function(a, g, c) { - return true - }, - click: function(a, g, c) { - if (c.button != 0) { - return false - } - g._callHandler(a.id, [a.id]); - a.callEvent("onClick", [a.id]); - return false - }, - disable: function(c) { - var e = c.base.childNodes[0], - a = c.base.childNodes[1]; - if (c.conf.imgdis) { - e[c.conf.icons_css ? "className" : "src"] = c.conf.icons_path + c.conf.imgdis; - if (/\s?dhxrb_invisible/i.test(e.className)) { - e.className = e.className.replace(/\s?dhxrb_invisible/i, "") - } - } - if (!/\s?dhxrb_disable_text_style/i.test(a.className)) { - a.className += " dhxrb_disable_text_style" - } - return true - }, - enable: function(c) { - var e = c.base.childNodes[0], - a = c.base.childNodes[1]; - if (c.conf.img) { - e[c.conf.icons_css ? "className" : "src"] = c.conf.icons_path + c.conf.img - } else { - if (!/\s?dhxrb_invisible/i.test(e.className)) { - e.className += " dhxrb_invisible" - } - } - if (/\s?dhxrb_disable_text_style/i.test(a.className)) { - a.className = a.className.replace(/\s?dhxrb_disable_text_style/i, "") - } - return true - } -}; -dhtmlXRibbon.prototype.items.buttonTwoState = { - click: function(a, g, c) { - return false - }, - afterRender: function(a) { - if (a.conf.state) { - this.setState(a, a.conf.state) - } - }, - mouseover: function(a) { - if (!/dhxrb_highlight0/.test(a.base.className)) { - a.base.className += " dhxrb_highlight0" - } - return false - }, - mouseout: function(a) { - if (/dhxrb_highlight0/.test(a.base.className)) { - a.base.className = a.base.className.replace(/\s?dhxrb_highlight0/, "") - } - return false - }, - mousedown: function(a, g, c) { - g._callHandler(a.id, [a.id, !a.conf.state]); - this.setState(a, !a.conf.state, true); - return false - }, - mouseup: function(a) { - return false - }, - setState: function(a, c, e) { - e = e || false; - c = dhx4.s2b(c); - if (c) { - if (!/dhxrb_highlight1/.test(a.base.className)) { - a.base.className += " dhxrb_highlight1" - } - } else { - if (/dhxrb_highlight1/.test(a.base.className)) { - a.base.className = a.base.className.replace(/\s?dhxrb_highlight1/, "") - } - } - a.conf.state = c; - if (e) { - a.callEvent("onStateChange", [a.id, a.conf.state]) - } - }, - getState: function(a) { - return (a.conf.state == true) - } -}; -dhtmlXRibbon.prototype.items.buttonSegment = { - click: function(a, g, c) { - return false - }, - mousedown: function(a, g, c) { - this.setState(a, g, true); - return false - }, - callAfterInit: function(a) { - if (a.conf.state || dhtmlXRibbon.prototype.items.buttonSegment._getSelectedNeighbor(a, this) == null) { - if (a.conf.state) { - a.conf.state = false - } - dhtmlXRibbon.prototype.items.buttonSegment.setState(a, this, false) - } - }, - afterRender: function() {}, - setState: function(a, h, g) { - g = g || false; - var e = null, - c = dhx4.s2b(a.conf.state); - if (c == false) { - e = this._getSelectedNeighbor(a, h); - if (e != null) { - this._unSelect(e) - } - if (!/dhxrb_highlight1/.test(a.base.className)) { - a.base.className += " dhxrb_highlight1" - } - a.conf.state = true; - if (g) { - h._callHandler(a.id, [a.id, (e ? e.id : null)]); - h.callEvent("onStateChange", [a.id, (e ? e.id : null)]) - } - } - }, - remove: function(e, m) { - var h = dhx4.s2b(e.conf.state), - l = null, - a = 0, - c = m._items[e.parentId], - g; - if (h) { - while (c.childIds[a] && l == null) { - g = m._items[c.childIds[a]]; - if (g.type == "buttonSegment" && g != e) { - l = g - } - a++ - } - if (l) { - this.setState(l, m) - } - } - }, - _unSelect: function(a) { - var c = dhx4.s2b(a.conf.state); - if (c) { - if (/dhxrb_highlight1/.test(a.base.className)) { - a.base.className = a.base.className.replace(/\s?dhxrb_highlight1/, "") - } - a.conf.state = false - } - }, - _getSelectedNeighbor: function(g, n) { - var e = n._items[g.parentId], - c, a, m, h = null; - a = e.childIds.length; - for (c = 0; c < a; c++) { - m = n._items[e.childIds[c]]; - if (m.type == "buttonSegment" && m.conf.state) { - h = m; - break - } - } - return h - } -}; -dhtmlXRibbon.prototype.items.buttonSelect = { - itemCollection: [], - _isAttachedEventInWindow: false, - afterRender: function(c) { - var a = c.base.childNodes[1]; - a.innerHTML += " "; - c.menu = null; - this.itemCollection.push(c); - this._attachEventToWindow(); - a = null - }, - setText: function(a, e) { - var c = a.base.childNodes[1].lastChild; - a.conf.text = e; - a.base.childNodes[1].innerHTML = e; - a.base.childNodes[1].appendChild(c) - }, - setOptionText: function(a, e, c) { - if (a.menu != null) { - a.menu.setItemText(e, c) - } else { - this._loopThroughItems(a.conf.items, e, c, false) - } - }, - getOptionText: function(a, c) { - if (a.menu != null) { - return a.menu.getItemText(c) - } - return this._loopThroughItems(a.conf.items, c, null, true) - }, - _loopThroughItems: function(a, l, h, g) { - for (var e = 0; e < a.length; e++) { - if (a[e].id == l) { - if (g != true) { - a[e].text = h; - return true - } else { - return a[e].text - } - } - if (a[e].items != null) { - var c = this._loopThroughItems(a[e].items, l, h, g); - if (c != null) { - return c - } - } - } - return null - }, - _attachEventToWindow: function() { - if (this._isAttachedEventInWindow == false) { - if (typeof(window.addEventListener) == "function") { - document.body.addEventListener("mousedown", this._hideAllMenus, false) - } else { - document.body.attachEvent("onmousedown", this._hideAllMenus) - } - this._isAttachedEventInWindow = true - } - }, - _detachEventFromWindow: function() { - if (typeof(window.addEventListener) == "function") { - document.body.removeEventListener("mousedown", this._hideAllMenus, false) - } else { - document.body.detachEvent("onmousedown", this._hideAllMenus) - } - this._isAttachedEventInWindow = false - }, - _hideAllMenus: function(l) { - l = l || event; - var g = l.target || l.srcElement; - var a = true; - while (g != null && a == true) { - if (g.className != null && /SubLevelArea_Polygon/i.test(g.className)) { - a = false - } else { - g = g.parentNode - } - } - if (a == false) { - return - } - var c = dhtmlXRibbon.prototype.items.buttonSelect.itemCollection; - for (var n in c) { - var h = c[n]; - if (h.menu instanceof dhtmlXMenuObject) { - if (h._skipHiding) { - h._skipHiding = false - } else { - dhtmlXRibbon.prototype.items.buttonSelect.hideMenu(h) - } - } - } - }, - mousedown: function(a, g, c) { - a._skipHiding = true; - this.showMenu(a); - return false - }, - mouseup: function(a) { - return false - }, - click: function() {}, - setState: function() {}, - showMenu: function(c) { - var a = dhx4.absLeft(c.base), - e = dhx4.absTop(c.base) + c.base.offsetHeight; - if (!(c.menu instanceof dhtmlXMenuObject)) { - c.menu = new dhtmlXMenuObject({ - parent: c.base, - icons_path: c.conf.icons_path, - context: true, - items: c.conf.items, - skin: c.conf.skin - }); - if (c.conf.data) { - c.menu.loadStruct(c.conf.data); - delete c.conf.data - } - c.menu.setAutoHideMode(false); - c.menu.attachEvent("onHide", function(g) { - if (g == null) { - dhtmlXRibbon.prototype.items.buttonSelect._doOnHideMenu(c) - } - }); - c.menu.attachEvent("onShow", function(g) { - if (g == null) { - dhtmlXRibbon.prototype.items.buttonSelect._doOnShowMenu(c) - } - }); - c.menu.attachEvent("onClick", function(g) { - c.callEvent("onClick", [g, c.id]) - }); - c.base.oncontextmenu = function() { - return false - }; - dhtmlXRibbon.prototype.items.buttonSelect.showMenu(c) - } else { - c.menu.showContextMenu(a, e) - } - }, - hideMenu: function(a) { - if (a.menu instanceof dhtmlXMenuObject) { - a.menu.hideContextMenu() - } - }, - remove: function(c) { - var e, a; - if (c.menu instanceof dhtmlXMenuObject) { - c.menu.unload(); - c.menu = null - } - c.base.oncontextmenu = null; - e = dhtmlXRibbon.prototype._indexOf(dhtmlXRibbon.prototype.items.buttonSelect.itemCollection, c); - if (e != -1) { - dhtmlXRibbon.prototype.items.buttonSelect.itemCollection.splice(e, 1) - } - if (dhtmlXRibbon.prototype.items.buttonSelect.itemCollection.length == 0) { - this._detachEventFromWindow() - } - }, - setSkin: function(a, c) { - if (a.menu instanceof dhtmlXMenuObject) { - a.menu.setSkin(c) - } - }, - _doOnHideMenu: function(a) { - if (a._skipHiding) { - a._skipHiding = false - } else { - if (/dhxrb_highlight1/.test(a.base.className)) { - a.base.className = a.base.className.replace(/\s?dhxrb_highlight1/, "") - } - } - }, - _doOnShowMenu: function(a) { - if (!/dhxrb_highlight1/.test(a.base.className)) { - a.base.className += " dhxrb_highlight1" - } - } -}; -dhtmlXRibbon.prototype.items.group = { - render: function(c, a) { - var e, g; - g = { - base: c, - id: a.id, - type: a.type, - conf: { - disable: false, - skin: a.skin - }, - childIds: [] - }; - c.className = "dhxrb_group"; - for (e in a) { - if (e == "id" || e == "onclick" || e == "type") { - continue - } - g.conf[e] = a[e] - } - return g - }, - callAfterInit: function(h) { - this._detachEventFromItem(h.base); - var g, a, m = h.conf.list, - n, e, c; - a = (m) ? m.length : 0; - for (g = 0; g < a; g++) { - n = this._addItem(h.id, null, null, m[g]); - if (n == null) { - continue - } - e = n.base.childNodes[1]; - if (e && !e.innerHTML && !/\s?dhxrb_label_hide/i.test(e.className)) { - e.className += " dhxrb_label_hide" - } - } - dhtmlXRibbon.prototype.items.group.normalize(h); - if (h.conf.disable) { - this.disable(h.id) - } - m = undefined - }, - normalize: function(n) { - var a = n.base.children; - var e = a.length, - c = false, - o = 0; - var g, m; - for (var h = 0; h < e; h++) { - if (!/dhxrb_separator_group/i.test(a[h].className)) { - if (/dhxrb_item_hide/i.test(a[h].className)) { - o++; - continue - } - } - if ((Math.ceil((h - o) / 2) - Math.floor((h - o) / 2)) == 0) { - if (/dhxrb_separator_group/i.test(a[h].className)) { - a[h].parentNode.removeChild(a[h]); - c = true; - break - } - } else { - if (!/dhxrb_separator_group/i.test(a[h].className)) { - g = document.createElement("div"); - g.className = "dhxrb_separator_groupp"; - n.base.insertBefore(g, a[h]); - c = true; - break - } - } - } - if (c) { - this.normalize(n) - } else { - m = n.base.lastChild; - if (m && /dhxrb_separator_group/i.test(m.className)) { - m.parentNode.removeChild(m) - } - } - }, - hideChild: function(c, g) { - var a = dhtmlXRibbon.prototype._indexOf(c.base.children, g.base); - if (a == 0) { - a++ - } else { - if (a != -1) { - a-- - } else { - return - } - } - var e = c.base.children[a]; - if (e && /dhxrb_separator_group/i.test(e.className)) { - e.parentNode.removeChild(e) - } - }, - showChild: function(a) { - this.normalize(a) - } -}; -dhtmlXRibbon.prototype.items.input = { - render: function(c, a) { - var e, g; - g = { - base: c, - id: a.id, - type: a.type, - conf: { - text: "", - text_pos: (a.isbig) ? "bottom" : "right", - img: null, - imgdis: null, - isbig: false, - disable: false, - skin: a.skin, - value: "" - } - }; - for (e in a) { - if (e == "id" || e == "onclick" || e == "type") { - continue - } - g.conf[e] = a[e] - } - c.innerHTML = "
                    " + g.conf.text + "
                    "; - if (typeof(this.afterRender) == "function") { - this.afterRender(g) - } - if (g.conf.disable) { - this.disable(g) - } - if (g.conf.width) { - this.setWidth(g, g.conf.width) - } - if (g.conf.value) { - this.setValue(g, g.conf.value) - } - return g - }, - callAfterInit: function(c) { - var a = c.base.childNodes[0]; - this._detachEventFromItem(c.base); - this._attachEventsToInput(a) - }, - setText: dhtmlXRibbon.prototype.items.button.setText, - getText: dhtmlXRibbon.prototype.items.button.getText, - change: function(c) { - var a = c.base.childNodes[0]; - c.conf.value = a.value - }, - keydown: function(c, h, g) { - if (g.keyCode == 13) { - var a = c.base.childNodes[0]; - c.conf.value = a.value; - h.callEvent("onEnter", [c.id, c.conf.value]) - } - }, - remove: function(c, e) { - var a = c.base.childNodes[0]; - e._detachEventsFromInput(a) - }, - getValue: function(c) { - var a = c.base.childNodes[0], - e; - e = a.value; - a = undefined; - return e - }, - setValue: function(c, e) { - var a = c.base.childNodes[0], - e; - a.value = e; - c.conf.value = e - }, - setWidth: function(c, e) { - var a = c.base.childNodes[0]; - a.style.width = parseInt(e) + "px" - }, - disable: function(e) { - var c = e.base.childNodes[0], - a = e.base.childNodes[1]; - c.disabled = true; - if (!/\s?dhxrb_disable_text_style/i.test(a.className)) { - a.className += " dhxrb_disable_text_style" - } - return true - }, - enable: function(e) { - var c = e.base.childNodes[0], - a = e.base.childNodes[1]; - c.disabled = false; - if (/\s?dhxrb_disable_text_style/i.test(a.className)) { - a.className = a.className.replace(/\s?dhxrb_disable_text_style/i, "") - } - return true - }, - getInput: function(a) { - return a.base.childNodes[0] - } -}; -dhtmlXRibbon.prototype.getInput = function(c) { - var a = this._items[c]; - if (a == null || a.type != "input") { - return null - } - return this.items[a.type].getInput(a) -}; -dhtmlXRibbon.prototype.items.checkbox = { - render: function(c, a) { - var e, g; - g = { - base: c, - id: a.id, - type: a.type, - conf: { - text: "", - text_pos: (a.isbig) ? "bottom" : "right", - disable: false, - checked: false - } - }; - for (e in a) { - if (e == "id" || e == "onclick" || e == "type") { - continue - } - g.conf[e] = a[e] - } - c.innerHTML = "
                    " + g.conf.text + "
                    "; - if (typeof(this.afterRender) == "function") { - this.afterRender(g) - } - if (g.conf.checked) { - this.check(g) - } - return g - }, - callAfterInit: function(a) { - if (a.conf.disable) { - this.disable(a.id) - } - }, - setText: dhtmlXRibbon.prototype.items.button.setText, - getText: dhtmlXRibbon.prototype.items.button.getText, - mousedown: function(a) { - return false - }, - mouseup: function(a) { - return false - }, - click: function(a, g, c) { - if (c.button != 0) { - return false - } - if (a.type == "checkbox") { - if (a.conf.checked) { - this.uncheck(a, true) - } else { - this.check(a, true) - } - } - }, - check: function(a, c) { - c = c || false; - if (a.type != "checkbox") { - return - } - a.conf.checked = true; - if (!/\s?dhxrb_checked/i.test(a.base.className)) { - a.base.className += " dhxrb_checked" - } - if (c) { - a.callEvent("onCheck", [a.id, a.conf.checked]) - } - }, - uncheck: function(a, c) { - c = c || false; - if (a.type != "checkbox") { - return - } - a.conf.checked = false; - if (/\s?dhxrb_checked/i.test(a.base.className)) { - a.base.className = a.base.className.replace(/\s?dhxrb_checked/i, "") - } - if (c) { - a.callEvent("onCheck", [a.id, a.conf.checked]) - } - }, - isChecked: function(a) { - if (a.type != "checkbox") { - return false - } - return (a.conf.checked == true) - }, - disable: function(a) { - return true - }, - enable: function(a) { - return true - } -}; -dhtmlXRibbon.prototype.items.text = { - render: function(a, g) { - var e = { - base: a, - id: g.id, - type: g.type, - conf: { - text: "" - } - }; - for (var c in g) { - if (c == "id" || c == "type") { - continue - } - e.conf[c] = g[c] - } - a.innerHTML = "
                    " + e.conf.text + "
                    "; - if (typeof(this.afterRender) == "function") { - this.afterRender(e) - } - return e - }, - callAfterInit: function(a) { - this._detachEventFromItem(a.base) - }, - getText: function(a) { - return a.conf.text - }, - setText: function(a, c) { - a.conf.text = c; - a.base.firstChild.innerHTML = a.conf.text - } -}; -dhtmlXRibbon.prototype.items.buttonCombo = { - render: function(a, c) { - var e, g, h = {}; - g = { - base: a, - id: c.id, - type: c.type, - conf: { - text: "", - text_pos: "right", - width: 140, - skin: c.skin, - callEvent: true, - mode: c.comboType, - image_path: c.comboImagePath, - default_image: c.comboDefaultImage, - default_image_dis: c.comboDefaultImageDis - } - }; - for (e in c) { - if (e == "id" || e == "onclick" || e == "type") { - continue - } - g.conf[e] = c[e] - } - for (e in g.conf) { - if (e == "text" || e == "text_pos" || e == "disable" || e == "data") { - continue - } - h[e] = g.conf[e] - } - g.base.className += " dhxrb_buttoncombo_cont"; - g.base.innerHTML = "
                    " + g.conf.text + "
                    "; - h.parent = g.base.firstChild; - g.combo = new dhtmlXCombo(h); - g.combo.setSkin(h.skin); - g.combo.attachEvent("onChange", function(l, m) { - g._callHandler(g.id, [l, m]); - if (g.conf.callEvent == true) { - g.callEvent("onSelectOption", [g.id, l, m]) - } - g.conf.callEvent = true - }); - if (g.conf.data) { - g.combo.load(g.conf.data); - delete g.conf.data - } - if (typeof(this.afterRender) == "function") { - this.afterRender(g) - } - if (g.conf.disable) { - this.disable(g) - } - return g - }, - callAfterInit: function(a) { - this._detachEventFromItem(a.base) - }, - disable: function(c) { - var a = c.base.lastChild; - if (c.combo instanceof dhtmlXCombo) { - c.combo.disable() - } - if (!/\s?dhxrb_disable_text_style/i.test(a.className)) { - a.className += " dhxrb_disable_text_style" - } - return true - }, - enable: function(c) { - var a = c.base.lastChild; - if (c.combo instanceof dhtmlXCombo) { - c.combo.enable() - } - if (/\s?dhxrb_disable_text_style/i.test(a.className)) { - a.className = a.className.replace(/\s?dhxrb_disable_text_style/i, "") - } - return true - }, - remove: function(a) { - if (a.combo instanceof dhtmlXCombo) { - a.combo.unload(); - a.combo = null - } - }, - getValue: function(a) { - var c = null; - if (a.combo instanceof dhtmlXCombo) { - c = a.combo.getSelectedValue() - } - return c - }, - setValue: function(a, c, e) { - if (a.combo instanceof dhtmlXCombo) { - a.conf.callEvent = e; - a.combo.setComboValue(c); - a.conf.callEvent = true - } - }, - setSkin: function(a, c) { - if (a.combo instanceof dhtmlXCombo) { - a.combo.setSkin(c) - } - } -}; -dhtmlXRibbon.prototype.items.slider = { - render: function(a, h) { - var e, g, c = {}; - g = { - base: a, - id: h.id, - type: h.type, - conf: { - text: "", - text_pos: "right", - size: 150, - vertical: false, - min: 0, - max: 99, - value: 0, - step: 1, - margin: 10, - disabled: false, - enableTooltip: false - } - }; - for (e in h) { - if (e == "id" || e == "onclick" || e == "type") { - continue - } - g.conf[e] = h[e] - } - for (e in g.conf) { - if (e == "text" || e == "text_pos" || e == "isbig") { - continue - } - c[e] = g.conf[e] - } - g.base.innerHTML = "
                    " + g.conf.text + "
                    "; - c.parent = g.base.firstChild.firstChild; - g.slider = new dhtmlXSlider(c); - if (typeof(this.afterRender) == "function") { - this.afterRender(g) - } - if (g.conf.disable) { - this.disable(g) - } - g.slider.attachEvent("onChange", function(l) { - g._callHandler(g.id, [l]); - g.callEvent("onValueChange", [g.id, l]) - }); - return g - }, - callAfterInit: function(a) { - this._detachEventFromItem(a.base) - }, - setSkin: function(a, c) { - if (a.slider instanceof dhtmlXSlider) { - a.slider.setSkin(c) - } - }, - disable: function(c) { - var a = c.base.childNodes[1]; - if (c.slider instanceof dhtmlXSlider) { - c.slider.disable() - } - if (!/\s?dhxrb_disable_text_style/i.test(a.className)) { - a.className += " dhxrb_disable_text_style" - } - return true - }, - enable: function(c) { - var a = c.base.childNodes[1]; - if (c.slider instanceof dhtmlXSlider) { - c.slider.enable() - } - if (/\s?dhxrb_disable_text_style/i.test(a.className)) { - a.className = a.className.replace(/\s?dhxrb_disable_text_style/i, "") - } - return true - }, - remove: function(a) { - if (a.slider instanceof dhtmlXSlider) { - a.slider.unload(); - a.slider = null - } - }, - getValue: function(a) { - var c = null; - if (a.slider instanceof dhtmlXSlider) { - c = a.slider.getValue() - } - return c - }, - setValue: function(a, c) { - if (a.slider instanceof dhtmlXSlider) { - a.slider.setValue(c) - } - } -}; -dhtmlXRibbon.prototype.items._extends = function(e, c) { - var a; - for (a in c) { - e[a] = e[a] || c[a] - } - return e -}; -dhtmlXRibbon.prototype._addNewLevel = function(e) { - var c, a; - if (e.conf.mode == "rows") { - c = e.contForItems.lastChild; - if (c && /dhxrb_block_rows/i.test(c.className) && (c.childNodes.length < 3)) { - a = document.createElement("div"); - a.className = "dhxrb_block_row"; - c.appendChild(a) - } else { - c = document.createElement("div"); - c.className = "dhxrb_block_rows"; - e.contForItems.appendChild(c); - a = document.createElement("div"); - a.className = "dhxrb_block_row"; - c.appendChild(a) - } - } else { - var a = document.createElement("div"); - a.className = "dhxrb_3rows_block"; - e.contForItems.appendChild(a) - } -}; -dhtmlXRibbon.prototype._attachEventForItem = function(a) { - if (typeof(window.addEventListener) == "function") { - a.addEventListener("mouseover", this._doOnHighlight0, false); - a.addEventListener("mouseout", this._doOffHighlight0, false); - a.addEventListener("mousedown", this._doOnHighlight1, false); - a.addEventListener("mouseup", this._doOffHighlight1, false); - a.addEventListener("click", this._doOnClick, false) - } else { - a.attachEvent("onmouseover", this._doOnHighlight0); - a.attachEvent("onmouseout", this._doOffHighlight0); - a.attachEvent("onmousedown", this._doOnHighlight1); - a.attachEvent("onmouseup", this._doOffHighlight1); - a.attachEvent("onclick", this._doOnClick) - } -}; -dhtmlXRibbon.prototype._detachEventFromItem = function(a) { - if (typeof(window.addEventListener) == "function") { - a.removeEventListener("mouseover", this._doOnHighlight0, false); - a.removeEventListener("mouseout", this._doOffHighlight0, false); - a.removeEventListener("mousedown", this._doOnHighlight1, false); - a.removeEventListener("mouseup", this._doOffHighlight1, false); - a.removeEventListener("click", this._doOnClick, false) - } else { - a.detachEvent("onmouseover", this._doOnHighlight0); - a.detachEvent("onmouseout", this._doOffHighlight0); - a.detachEvent("onmousedown", this._doOnHighlight1); - a.detachEvent("onmouseup", this._doOffHighlight1); - a.detachEvent("onclick", this._doOnClick) - } -}; -dhtmlXRibbon.prototype._attachEventsToInput = function(a) { - if (typeof(window.addEventListener) == "function") { - a.addEventListener("focus", this._doOnFocus, false); - a.addEventListener("blur", this._doOnBlur, false); - a.addEventListener("change", this._doOnChange, false); - a.addEventListener("keydown", this._doOnKeydown, false) - } else { - a.attachEvent("onfocus", this._doOnFocus); - a.attachEvent("onblur", this._doOnBlur); - a.attachEvent("onchange", this._doOnChange); - a.attachEvent("onkeydown", this._doOnKeydown) - } -}; -dhtmlXRibbon.prototype._detachEventsFromInput = function(a) { - if (typeof(window.addEventListener) == "function") { - a.removeEventListener("focus", this._doOnFocus, false); - a.removeEventListener("blur", this._doOnBlur, false); - a.removeEventListener("change", this._doOnChange, false); - a.removeEventListener("keydown", this._doOnKeydown, false) - } else { - a.detachEvent("onfocus", this._doOnFocus); - a.detachEvent("onblur", this._doOnBlur); - a.detachEvent("onchange", this._doOnChange); - a.detachEvent("onkeydown", this._doOnKeydown) - } -}; -dhtmlXRibbon.prototype._getContainerForSmallItem = function(e) { - var c = e.contForItems.lastChild, - a = null; - if (e.conf.mode == "rows") { - if (c && /\s?dhxrb_block_rows/i.test(c.className)) { - a = c.lastChild; - if (!a) { - a = document.createElement("div"); - a.className = "dhxrb_block_row"; - c.appendChild(a) - } - } else { - c = document.createElement("div"); - c.className = "dhxrb_block_rows"; - e.contForItems.appendChild(c); - a = document.createElement("div"); - a.className = "dhxrb_block_row"; - c.appendChild(a) - } - } else { - if (c && /dhxrb_3rows_block/i.test(c.className) && (c.childNodes.length < 3)) { - a = c - } else { - a = document.createElement("div"); - a.className = "dhxrb_3rows_block"; - e.contForItems.appendChild(a) - } - } - return a -}; -dhtmlXRibbon.prototype._findItemByNode = function(a) { - while (a && !a._dhx_ribbonId) { - a = a.parentNode - } - return a -}; -dhtmlXRibbon.prototype._indexOf = function(a, g) { - var e, c; - c = a.length; - for (e = 0; e < c; e++) { - if (a[e] == g) { - return e - } - } - return -1 -}; -dhtmlXRibbon.prototype._removeItem = function(e) { - var a, g = -1, - c = this._items[e.parentId]; - if (e.type == "group") { - this._removeGroup(e); - return - } - delete this._items[e.id]; - a = e.base.parentNode; - this._detachEventFromItem(e.base); - a.removeChild(e.base); - if (c.type == "block") { - if (a != c.contForItems && a.childNodes.length == 0) { - a.parentNode.removeChild(a) - } - } else { - if (c.type == "group") { - dhtmlXRibbon.prototype.items.group.normalize(c) - } - } - g = this._indexOf(c.childIds, e.id); - if (g != -1) { - c.childIds.splice(g, 1) - } - if (this.items[e.type] && (typeof(this.items[e.type].remove) == "function")) { - this.items[e.type].remove(e, this) - } -}; -dhtmlXRibbon.prototype._removeGroup = function(g) { - var c = [], - l, e = this._items[g.parentId], - a = g.base.parentNode; - for (var h = 0; h < g.childIds.length; h++) { - c.push(this._items[g.childIds[h]]) - } - for (var h = 0; h < c.length; h++) { - this._removeItem(c[h]) - } - delete this._items[g.id]; - if (g.base.parentNode) { - a.removeChild(g.base) - } - if (a.childNodes.length == 0) { - a.parentNode.removeChild(a) - } - l = this._indexOf(e.childIds, g.id); - if (l != -1) { - e.childIds.splice(l, 1) - } - if (this.items[g.type] && (typeof(this.items[g.type].remove) == "function")) { - this.items[g.type].remove(g) - } -}; -dhtmlXRibbon.prototype._removeBlock = function(h) { - var a = [], - g, c; - for (var e = 0; e < h.childIds.length; e++) { - a.push(this._items[h.childIds[e]]) - } - for (var e = 0; e < a.length; e++) { - this._removeItem(a[e]) - } - delete this._items[h.id]; - h.base.parentNode.removeChild(h.base); - if (h.parentId) { - c = this._items[h.parentId] - } else { - c = this - } - g = this._indexOf(c.childIds, h.id); - if (g != -1) { - c.childIds.splice(g, 1) - } -}; -dhtmlXRibbon.prototype._removeTab = function(c, a) { - var h = [], - g; - for (var e = 0; e < c.childIds.length; e++) { - h.push(this._items[c.childIds[e]]) - } - for (var e = 0; e < h.length; e++) { - this._removeBlock(h[e]) - } - delete this._items[c.id]; - g = this._indexOf(this.childIds, c.id); - if (g != -1) { - this.childIds.splice(g, 1) - } -}; -dhtmlXRibbon.prototype._skinCollection = { - dhx_skyblue: true, - dhx_web: true, - dhx_terrace: true, - material: true -}; -dhtmlXRibbon.prototype._setSkinForItems = function(e) { - var a, c; - for (a in this._items) { - c = this._items[a]; - c.conf.skin = e; - if (dhtmlXRibbon.prototype.items[c.type] && typeof(dhtmlXRibbon.prototype.items[c.type].setSkin) == "function") { - dhtmlXRibbon.prototype.items[c.type].setSkin(c, e) - } - } - c = undefined, a = undefined -}; -dhtmlXRibbon.prototype._setBlockText = function(a, c) { - a.conf.text = c; - a.contForText.innerHTML = c; - if (!c && (c != 0) && a.contForText.parentNode) { - a.contForText.parentNode.removeChild(a.contForText) - } else { - if (!a.contForText.parentNode) { - if (a.conf.text_pos == "top") { - a.base.insertBefore(a.contForText, a.contForItems) - } else { - a.base.appendChild(a.contForText) - } - } - } -}; -dhtmlXRibbon.prototype.hide = function(e) { - var c = this._items[e]; - if (this.items[c.type] && (typeof(this.items[c.type].hide) == "function")) { - if (this.items[c.type].hide(c) != true) { - return - } - } - if (c.type == "tab") { - return - } else { - if (!/\s?dhxrb_item_hide/i.test(c.base.className)) { - c.base.className += " dhxrb_item_hide" - } - } - var a = this._items[c.parentId]; - if (a && this.items[a.type] && (typeof(this.items[a.type].hideChild) == "function")) { - this.items[a.type].hideChild(a, c) - } -}; -dhtmlXRibbon.prototype.show = function(e) { - var c = this._items[e]; - if (this.items[c.type] && (typeof(this.items[c.type].show) == "function")) { - if (this.items[c.type].show(c) != true) { - return - } - } - if (c.type == "tab") { - return - } else { - if (/\s?dhxrb_item_hide/i.test(c.base.className)) { - c.base.className = c.base.className.replace(/\s?dhxrb_item_hide/i, "") - } - } - var a = this._items[c.parentId]; - if (a && this.items[a.type] && (typeof(this.items[a.type].showChild) == "function")) { - this.items[a.type].showChild(a, c) - } -}; -dhtmlXRibbon.prototype.check = function(e, c) { - c = dhx4.s2b(c); - var a = this._items[e]; - if (a && !a.conf.checked && typeof(this.items[a.type].check) == "function") { - this.items[a.type].check(a); - if (c) { - this.callEvent("onCheck", [a.id, a.conf.checked]) - } - } -}; -dhtmlXRibbon.prototype.uncheck = function(e, c) { - c = dhx4.s2b(c); - var a = this._items[e]; - if (a && a.conf.checked && typeof(this.items[a.type].uncheck) == "function") { - this.items[a.type].uncheck(a); - if (c) { - this.callEvent("onCheck", [a.id, a.conf.checked]) - } - } -}; -dhtmlXRibbon.prototype.isChecked = function(c) { - var a = this._items[c]; - if (a && typeof(this.items[a.type].isChecked) == "function") { - return this.items[a.type].isChecked(a) - } -}; -dhtmlXRibbon.prototype.disable = function(g, a) { - var c = this._items[g]; - if (this.items[c.type] && (typeof(this.items[c.type].disable) == "function")) { - if (this.items[c.type].disable(c) != true) { - return - } - } - if (c.type == "tab") { - return - } else { - if (c.type == "block" || c.type == "group") { - for (var e = 0; e < c.childIds.length; e++) { - this.disable(c.childIds[e]) - } - } - } - if (!/\s?dhxrb_item_disable/i.test(c.base.className)) { - c.base.className += " dhxrb_item_disable" - } - if (c.base.className.match(/dhxrb_highlight/gi) != null) { - if (c.type == "buttonTwoState") { - c.base.className = c.base.className.replace(/\s*dhxrb_highlight0/gi, "") - } else { - c.base.className = c.base.className.replace(/\s*dhxrb_highlight\d/gi, "") - } - } - c.conf.disable = true -}; -dhtmlXRibbon.prototype.enable = function(g, a) { - var c = this._items[g]; - if (this.items[c.type] && (typeof(this.items[c.type].enable) == "function")) { - if (this.items[c.type].enable(c) != true) { - return - } - } - if (c.type == "tab") { - return - } else { - if (c.type == "block" || c.type == "group") { - for (var e = 0; e < c.childIds.length; e++) { - this.enable(c.childIds[e]) - } - } - } - if (/\s?dhxrb_item_disable/i.test(c.base.className)) { - c.base.className = c.base.className.replace(/\s?dhxrb_item_disable/i, "") - } - c.conf.disable = false -}; -dhtmlXRibbon.prototype.isEnabled = function(c) { - var a = this._items[c]; - if (this.items[a.type] && typeof(this.items[a.type].isEnabled) == "function") { - return this.items[a.type].isEnabled(a) - } - if (a.type == "tab") { - return - } else { - return a.conf.disable != true - } -}; -dhtmlXRibbon.prototype.isVisible = function(c) { - var a = this._items[c]; - if (this.items[a.type] && (typeof(this.items[a.type].isVisible) == "function")) { - return this.items[a.type].isVisible(a) - } - if (a.type == "tab") { - return - } else { - return !/\s?dhxrb_item_hide/i.test(a.base.className) - } -}; -dhtmlXRibbon.prototype.setItemState = function(g, c, e) { - c = dhx4.s2b(c); - e = dhx4.s2b(e); - var a = this._items[g]; - if (a && (typeof(this.items[a.type].setState) == "function")) { - switch (a.type) { - case "buttonSegment": - this.items[a.type].setState(a, this, e); - break; - default: - this.items[a.type].setState(a, c, e) - } - } -}; -dhtmlXRibbon.prototype.getItemState = function(c) { - var a = this._items[c]; - if (a && (typeof(this.items[a.type].getState) == "function")) { - switch (a.type) { - case "buttonTwoState": - case "buttonSegment": - return this.items[a.type].getState(a); - break - } - } - return null -}; -dhtmlXRibbon.prototype.setIconPath = function(a) { - this.conf.icons_path = a -}; -dhtmlXRibbon.prototype.setIconset = function(a) { - this.conf.icons_css = (a == "awesome") -}; -dhtmlXRibbon.prototype.removeItem = function(c) { - var a = this._items[c]; - if (a == null) { - return - } - switch (a.type) { - case "tab": - break; - case "block": - this._removeBlock(a); - break; - case "group": - this._removeGroup(a); - break; - default: - this._removeItem(a) - } -}; -dhtmlXRibbon.prototype.setSkin = function(h) { - h = (typeof(h) == "string") ? h.toLowerCase() : ""; - if (this._skinCollection[h] != true) { - return - } - var e, c = -1, - a, g = "dhtmlxribbon"; - e = this._base.className.match(/\S\w+/ig); - if (e instanceof Array) { - for (a in this._skinCollection) { - if (c == -1) { - c = this._indexOf(e, g + "_" + a) - } else { - break - } - } - c = (c == -1) ? e.length : c - } else { - e = []; - c = 0 - } - e[c] = g + "_" + h; - this._base.className = e.join(" "); - this.conf.skin = h; - if (this._tabbar != null) { - this._tabbar.setSkin(h) - } - this._setSkinForItems(h) -}; -dhtmlXRibbon.prototype.tabs = function(a) { - if (this._tabbar instanceof dhtmlXTabBar) { - return this._tabbar.tabs(a) - } else { - return undefined - } -}; -dhtmlXRibbon.prototype.getItemType = function(c) { - var a = this._items[c]; - if (a) { - return a.type - } else { - return undefined - } -}; -dhtmlXRibbon.prototype.getValue = function(e) { - var a = this._items[e], - c = undefined; - if (a && this.items[a.type] && typeof(this.items[a.type].getValue) == "function") { - c = this.items[a.type].getValue(a) - } - return c -}; -dhtmlXRibbon.prototype.setValue = function(g, c, e) { - var a = this._items[g]; - e = (e === false ? false : true); - if (a && this.items[a.type] && typeof(this.items[a.type].setValue) == "function") { - this.items[a.type].setValue(a, c, e) - } -}; -dhtmlXRibbon.prototype.getItemText = function(c) { - var a = this._items[c]; - if (!a) { - return null - } else { - if (a.type == "tab") { - return this.tabs(a.id).getText() - } else { - if (a.type == "block") { - return this.items.button.getText(a) - } else { - if (this.items[a.type] && typeof(this.items[a.type].getText) == "function") { - return this.items[a.type].getText(a) - } else { - return null - } - } - } - } -}; -dhtmlXRibbon.prototype.setItemText = function(e, c) { - var a = this._items[e]; - if (!a) { - return - } else { - if (a.type == "tab") { - this.tabs(a.id).setText(c) - } else { - if (a.type == "block") { - this._setBlockText(a, c) - } else { - if (this.items[a.type] && typeof(this.items[a.type].setText) == "function") { - this.items[a.type].setText(a, c) - } - } - } - } -}; -dhtmlXRibbon.prototype.setItemOptionText = function(g, e, c) { - var a = this._items[g]; - if (a.type == "buttonSelect") { - this.items[a.type].setOptionText(a, e, c) - } -}; -dhtmlXRibbon.prototype.getItemOptionText = function(e, c) { - var a = this._items[e]; - if (a.type == "buttonSelect") { - return this.items[a.type].getOptionText(a, c) - } - return null -}; -dhtmlXRibbon.prototype.setItemImage = function(e, a) { - var c = this._items[e]; - if (c != null && this.items[c.type] != null && typeof(this.items[c.type].setImage) == "function") { - this.items[c.type].setImage(c, a) - } -}; -dhtmlXRibbon.prototype.setItemImageDis = function(e, a) { - var c = this._items[e]; - if (c != null && this.items[c.type] != null && typeof(this.items[c.type].setImageDis) == "function") { - this.items[c.type].setImageDis(c, a) - } -}; -dhtmlXRibbon.prototype.getCombo = function(c) { - var a = this._items[c]; - if (a != null && a.type == "buttonCombo") { - return a.combo - } - return null -}; -(function() { - var a = dhtmlXRibbon.prototype.items; - a.buttonTwoState = a._extends(a.buttonTwoState, a.button); - a.buttonSelect = a._extends(a.buttonSelect, a.buttonTwoState); - a.buttonSegment = a._extends(a.buttonSegment, a.buttonTwoState) -})(); -if (typeof(window.dhtmlXCellObject) != "undefined") { - dhtmlXCellObject.prototype._createNode_ribbon = function(h, c, g, a, e) { - if (typeof(e) != "undefined") { - h = e - } else { - h = document.createElement("DIV"); - h.className = "dhx_cell_ribbon_" + (this.conf.borders ? "def" : "no_borders"); - h.appendChild(document.createElement("DIV")) - } - this.cell.insertBefore(h, this.cell.childNodes[this.conf.idx.cont]); - this.conf.ofs_nodes.t.ribbon = true; - this._updateIdx(); - this._adjustCont(this._idd); - return h - }; - dhtmlXCellObject.prototype.attachRibbon = function(a) { - if (!(this.dataNodes.ribbon == null && this.dataNodes.toolbar == null)) { - return - } - this.callEvent("_onBeforeContentAttach", ["ribbon"]); - if (typeof(a) == "undefined") { - a = {} - } - if (typeof(a.skin) == "undefined") { - a.skin = this.conf.skin - } - a.parent = this._attachObject("ribbon").firstChild; - this.dataNodes.ribbon = new dhtmlXRibbon(a); - var c = this; - this.dataNodes.ribbon.attachEvent("_onHeightChanged", function() { - c._adjustCont(c._idd) - }); - this._adjustCont(); - a.parent = null; - a = null; - this.callEvent("_onContentAttach", []); - return this.dataNodes.ribbon - }; - dhtmlXCellObject.prototype.detachRibbon = function() { - if (this.dataNodes.ribbon == null) { - return - } - if (typeof(this.dataNodes.ribbon.unload) == "function") { - this.dataNodes.ribbon.unload() - } - this.dataNodes.ribbon = null; - delete this.dataNodes.ribbon; - this._detachObject("ribbon") - }; - dhtmlXCellObject.prototype.showRibbon = function() { - this._mtbShowHide("ribbon", "") - }; - dhtmlXCellObject.prototype.hideRibbon = function() { - this._mtbShowHide("ribbon", "none") - }; - dhtmlXCellObject.prototype.getAttachedRibbon = function() { - return this.dataNodes.ribbon - } -} - -function dhtmlXToolbarObject(c, e) { - var a = this; - this.conf = { - skin: (e || window.dhx4.skin || (typeof(dhtmlx) != "undefined" ? dhtmlx.skin : null) || window.dhx4.skinDetect("dhxtoolbar") || "material"), - align: "left", - align_autostart: "left", - icons_path: "", - icons_css: false, - iconSize: 18, - sel_ofs_x: 0, - sel_ofs_y: 0, - xml_autoload: null, - items_autoload: null, - cssShadow: (dhx4.isIE6 || dhx4.isIE7 || dhx4.isIE8 ? "" : " dhx_toolbar_shadow") - }; - if (typeof(c) == "object" && c != null && typeof(c.tagName) == "undefined") { - if (c.icons_path != null || c.icon_path != null) { - this.conf.icons_path = (c.icons_path || c.icon_path) - } - if (c.icons_size != null) { - this.conf.icons_size_autoload = c.icons_size - } - if (c.iconset != null) { - this.conf.icons_css = (c.iconset == "awesome") - } - if (c.json != null) { - this.conf.json_autoload = c.json - } - if (c.xml != null) { - this.conf.xml_autoload = c.xml - } - if (c.onload != null) { - this.conf.onload_autoload = c.onload - } - if (c.onclick != null || c.onClick != null) { - this.conf.auto_onclick = (c.onclick || c.onClick) - } - if (c.items != null) { - this.conf.items_autoload = c.items - } - if (c.skin != null) { - this.conf.skin = c.skin - } - if (c.align != null) { - this.conf.align_autostart = c.align - } - c = c.parent - } - this.cont = (typeof(c) != "object") ? document.getElementById(c) : c; - while (this.cont.childNodes.length > 0) { - this.cont.removeChild(this.cont.childNodes[0]) - } - c = null; - this.cont.dir = "ltr"; - this.base = document.createElement("DIV"); - this.base.className = "dhxtoolbar_float_left"; - this.cont.appendChild(this.base); - this.cont.ontouchstart = function(g) { - g = g || event; - if ((String(g.target.tagName || "").toLowerCase() == "input")) { - return true - } - if (g.preventDefault) { - g.preventDefault() - } else { - g.returnValue = false - } - g.cancelBubble = true; - return false - }; - this.setSkin(this.conf.skin); - this.objPull = {}; - this.anyUsed = null; - this._genStr = function(g) { - var h = "dhxId_"; - var m = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; - for (var l = 0; l < g; l++) { - h += m.charAt(Math.round(Math.random() * (m.length - 1))) - } - return h - }; - this.rootTypes = new Array("button", "buttonSelect", "buttonTwoState", "separator", "label", "slider", "text", "buttonInput"); - this.idPrefix = this._genStr(12); - window.dhx4._enableDataLoading(this, "_initObj", "_xmlToJson", "toolbar", { - struct: true - }); - window.dhx4._eventable(this); - this._getObj = function(m, g) { - var h = null; - for (var l = 0; l < m.childNodes.length; l++) { - if (m.childNodes[l].tagName != null) { - if (String(m.childNodes[l].tagName).toLowerCase() == String(g).toLowerCase()) { - h = m.childNodes[l] - } - } - } - return h - }; - this._addImgObj = function(h) { - var g = document.createElement(this.conf.icons_css == true ? "I" : "IMG"); - if (h.childNodes.length > 0) { - h.insertBefore(g, h.childNodes[0]) - } else { - h.appendChild(g) - } - return g - }; - this._setItemImage = function(m, h, g) { - if (g == true) { - m.imgEn = h - } else { - m.imgDis = h - } - if ((!m.state && g == true) || (m.state && g == false)) { - return - } - if (this.conf.icons_css == true) { - var l = this._getObj(m.obj, "i"); - if (l == null) { - l = this._addImgObj(m.obj) - } - l.className = this.conf.icons_path + h - } else { - var l = this._getObj(m.obj, "img"); - if (l == null) { - l = this._addImgObj(m.obj) - } - l.src = this.conf.icons_path + h - } - }; - this._clearItemImage = function(l, g) { - if (g == true) { - l.imgEn = "" - } else { - l.imgDis = "" - } - if ((!l.state && g == true) || (l.state && g == false)) { - return - } - var h = this._getObj(l.obj, (this.conf.icons_css ? "i" : "img")); - if (h != null) { - h.parentNode.removeChild(h) - } - }; - this._setItemText = function(g, l) { - var h = this._getObj(g.obj, "div"); - if (l == null || l.length == 0) { - if (h != null) { - h.parentNode.removeChild(h) - } - return - } - if (h == null) { - h = document.createElement("DIV"); - h.className = "dhxtoolbar_text"; - g.obj.appendChild(h) - } - h.innerHTML = l - }; - this._getItemText = function(g) { - var h = this._getObj(g.obj, "div"); - if (h != null) { - return h.innerHTML - } - return "" - }; - this._enableItem = function(h) { - if (h.state) { - return - } - h.state = true; - if (this.objPull[h.id]["type"] == "buttonTwoState" && this.objPull[h.id]["obj"]["pressed"] == true) { - h.obj.className = "dhx_toolbar_btn dhxtoolbar_btn_pres"; - h.obj.renderAs = "dhx_toolbar_btn dhxtoolbar_btn_over" - } else { - h.obj.className = "dhx_toolbar_btn dhxtoolbar_btn_def"; - h.obj.renderAs = h.obj.className - } - if (h.arw) { - h.arw.className = String(h.obj.className).replace("btn", "arw") - } - var g = this._getObj(h.obj, (this.conf.icons_css ? "i" : "img")); - if (h.imgEn != "") { - if (g == null) { - g = this._addImgObj(h.obj) - } - g[this.conf.icons_css ? "className" : "src"] = this.conf.icons_path + h.imgEn - } else { - if (g != null) { - g.parentNode.removeChild(g) - } - } - }; - this._disableItem = function(h) { - if (!h.state) { - return - } - h.state = false; - h.obj.className = "dhx_toolbar_btn dhxtoolbar_btn_" + (this.objPull[h.id]["type"] == "buttonTwoState" && h.obj.pressed ? "pres_" : "") + "dis"; - h.obj.renderAs = "dhx_toolbar_btn dhxtoolbar_btn_def"; - if (h.arw) { - h.arw.className = String(h.obj.className).replace("btn", "arw") - } - var g = this._getObj(h.obj, (this.conf.icons_css ? "i" : "img")); - if (h.imgDis != "") { - if (g == null) { - g = this._addImgObj(h.obj) - } - g[this.conf.icons_css ? "className" : "src"] = this.conf.icons_path + h.imgDis - } else { - if (g != null) { - g.parentNode.removeChild(g) - } - } - if (h.polygon != null) { - if (h.polygon.style.display != "none") { - window.dhx4.zim.clear(h.polygon._idd); - h.polygon.style.display = "none"; - if (h.polygon._ie6cover) { - h.polygon._ie6cover.style.display = "none" - } - if (this.conf.skin == "dhx_terrace") { - this._improveTerraceButtonSelect(h.id, true) - } - this.callEvent("onButtonSelectHide", [h.obj.idd]) - } - } - this.anyUsed = null - }; - this.clearAll = function() { - for (var g in this.objPull) { - this._removeItem(String(g).replace(this.idPrefix, "")) - } - this._spacer = null - }; - this._doOnClick = function(g) { - if (a && a.forEachItem) { - a.forEachItem(function(l) { - if (a.objPull[a.idPrefix + l].type == "buttonSelect") { - var h = a.objPull[a.idPrefix + l]; - if (h.arw._skip === true) { - h.arw._skip = false - } else { - if (h.polygon.style.display != "none") { - h.obj.renderAs = "dhx_toolbar_btn dhxtoolbar_btn_def"; - h.obj.className = h.obj.renderAs; - h.arw.className = String(h.obj.renderAs).replace("btn", "arw"); - a.anyUsed = null; - a.conf.touch_id = null; - window.dhx4.zim.clear(h.polygon._idd); - h.polygon.style.display = "none"; - if (h.polygon._ie6cover) { - h.polygon._ie6cover.style.display = "none" - } - if (a.conf.skin == "dhx_terrace") { - a._improveTerraceButtonSelect(h.id, true) - } - a.callEvent("onButtonSelectHide", [h.obj.idd]) - } - } - } - }) - } - }; - if (typeof(window.addEventListener) != "undefined") { - window.addEventListener("mousedown", this._doOnClick, false); - window.addEventListener("touchstart", this._doOnClick, false) - } else { - document.body.attachEvent("onmousedown", this._doOnClick) - } - if (this.conf.icons_size_autoload != null) { - this.setIconSize(this.conf.icons_size_autoload); - this.conf.icons_size_autoload = null - } - if (this.conf.items_autoload != null) { - this.loadStruct(this.conf.items_autoload, this.conf.onload_autoload); - this.conf.items_autoload = null - } else { - if (this.conf.json_autoload != null) { - this.loadStruct(this.conf.json_autoload, this.conf.onload_autoload); - this.conf.json_autoload = null - } else { - if (this.conf.xml_autoload != null) { - this.loadStruct(this.conf.xml_autoload, this.conf.onload_autoload); - this.conf.xml_autoload = null - } - } - } - if (this.conf.align_autostart != this.conf.align) { - this.setAlign(this.conf.align_autostart); - this.conf.align_autostart = null - } - if (typeof(this.conf.auto_onclick) == "function") { - this.attachEvent("onClick", this.conf.auto_onclick) - } else { - if (typeof(this.conf.auto_onclick) == "string" && typeof(window[this.conf.auto_onclick]) == "function") { - this.attachEvent("onClick", window[this.conf.auto_onclick]) - } - } - return this -} -dhtmlXToolbarObject.prototype.addSpacer = function(e) { - var c = this.idPrefix + e; - if (this._spacer != null) { - if (this._spacer.idd == e) { - return - } - if (this._spacer == this.objPull[c].obj.parentNode) { - var a = true; - while (a) { - var m = this._spacer.childNodes[0].idd; - this.base.appendChild(this._spacer.childNodes[0]); - if (m == e || this._spacer.childNodes.length == 0) { - if (this.objPull[c].arw != null) { - this.base.appendChild(this.objPull[c].arw) - } - a = false - } - } - this._spacer.idd = e; - this._fixSpacer(); - return - } - if (this.base == this.objPull[c].obj.parentNode) { - var a = true; - var l = (this.objPull[c].arw != null); - while (a) { - var g = this.base.childNodes.length - 1; - if (l == true) { - if (this.base.childNodes[g] == this.objPull[c].arw) { - a = false - } - } - if (this.base.childNodes[g].idd == e) { - a = false - } - if (a) { - if (this._spacer.childNodes.length > 0) { - this._spacer.insertBefore(this.base.childNodes[g], this._spacer.childNodes[0]) - } else { - this._spacer.appendChild(this.base.childNodes[g]) - } - } - } - this._spacer.idd = e; - this._fixSpacer(); - return - } - } else { - var h = null; - for (var g = 0; g < this.base.childNodes.length; g++) { - if (this.base.childNodes[g] == this.objPull[this.idPrefix + e].obj) { - h = g; - if (this.objPull[this.idPrefix + e].arw != null) { - h = g + 1 - } - } - } - if (h != null) { - this._spacer = document.createElement("DIV"); - this._spacer.className = (this.conf.align == "right" ? " dhxtoolbar_float_left" : " dhxtoolbar_float_right"); - this._spacer.dir = "ltr"; - this._spacer.idd = e; - while (this.base.childNodes.length > h + 1) { - this._spacer.appendChild(this.base.childNodes[h + 1]) - } - this.cont.appendChild(this._spacer); - this._fixSpacer() - } - } - if (this.conf.skin == "dhx_terrace") { - this._improveTerraceSkin() - } -}; -dhtmlXToolbarObject.prototype.removeSpacer = function() { - if (!this._spacer) { - return - } - while (this._spacer.childNodes.length > 0) { - this.base.appendChild(this._spacer.childNodes[0]) - } - this._spacer.parentNode.removeChild(this._spacer); - this._spacer = null; - if (this.conf.skin == "dhx_terrace") { - this._improveTerraceSkin() - } -}; -dhtmlXToolbarObject.prototype._fixSpacer = function() { - if (typeof(window.addEventListener) == "undefined" && this._spacer != null) { - this._spacer.style.borderLeft = "1px solid #a4bed4"; - var a = this._spacer; - window.setTimeout(function() { - a.style.borderLeft = "0px solid #a4bed4"; - a = null - }, 1) - } -}; -dhtmlXToolbarObject.prototype.getType = function(e) { - var g = this.getParentId(e); - if (g != null) { - var c = null; - var a = this.objPull[this.idPrefix + g]._listOptions[e]; - if (a != null) { - if (a.sep != null) { - c = "buttonSelectSeparator" - } else { - c = "buttonSelectButton" - } - } - return c - } else { - if (this.objPull[this.idPrefix + e] == null) { - return null - } - return this.objPull[this.idPrefix + e]["type"] - } -}; -dhtmlXToolbarObject.prototype.getTypeExt = function(c) { - var a = this.getType(c); - if (a == "buttonSelectButton" || a == "buttonSelectSeparator") { - if (a == "buttonSelectButton") { - a = "button" - } else { - a = "separator" - } - return a - } - return null -}; -dhtmlXToolbarObject.prototype.inArray = function(e, c) { - for (var a = 0; a < e.length; a++) { - if (e[a] == c) { - return true - } - } - return false -}; -dhtmlXToolbarObject.prototype.getParentId = function(g) { - var h = null; - for (var e in this.objPull) { - if (this.objPull[e]._listOptions) { - for (var c in this.objPull[e]._listOptions) { - if (c == g) { - h = String(e).replace(this.idPrefix, "") - } - } - } - } - return h -}; -dhtmlXToolbarObject.prototype._addItem = function(a, c) { - if (typeof(a.text) == "string") { - a.text = window.dhx4.trim(a.text); - if (a.text.length == 0) { - a.text = null - } - } - this._addItemToStorage(a, c); - if (this.conf.skin == "dhx_terrace") { - this._improveTerraceSkin() - } -}; -dhtmlXToolbarObject.prototype.addButton = function(h, g, c, a, e) { - this._addItem({ - id: h, - type: "button", - text: c, - img: a, - imgdis: e - }, g) -}; -dhtmlXToolbarObject.prototype.addText = function(e, c, a) { - this._addItem({ - id: e, - type: "text", - text: a - }, c) -}; -dhtmlXToolbarObject.prototype.addButtonSelect = function(g, n, s, a, c, o, m, w, h, l) { - var v = []; - for (var e = 0; e < a.length; e++) { - var r = {}; - if (a[e] instanceof Array) { - r.id = a[e][0]; - r.type = (a[e][1] == "obj" ? "button" : "separator"); - r.text = (a[e][2] || null); - r.img = (a[e][3] || null) - } else { - if (a[e] instanceof Object && a[e] != null && typeof(a[e].id) != "undefined" && typeof(a[e].type) != "undefined") { - r.id = a[e].id; - r.type = (a[e].type == "obj" ? "button" : "separator"); - r.text = a[e].text; - r.img = a[e].img - } - } - v.push(r) - } - this._addItem({ - id: g, - type: "buttonSelect", - text: s, - img: c, - imgdis: o, - renderSelect: m, - openAll: w, - options: v, - maxOpen: h, - mode: l - }, n) -}; -dhtmlXToolbarObject.prototype.addButtonTwoState = function(h, g, c, a, e) { - this._addItem({ - id: h, - type: "buttonTwoState", - img: a, - imgdis: e, - text: c - }, g) -}; -dhtmlXToolbarObject.prototype.addSeparator = function(c, a) { - this._addItem({ - id: c, - type: "separator" - }, a) -}; -dhtmlXToolbarObject.prototype.addSlider = function(c, m, h, g, o, e, l, a, n) { - this._addItem({ - id: c, - type: "slider", - length: h, - valueMin: g, - valueMax: o, - valueNow: e, - textMin: l, - textMax: a, - toolTip: n - }, m) -}; -dhtmlXToolbarObject.prototype.addInput = function(g, e, c, a) { - this._addItem({ - id: g, - type: "buttonInput", - value: c, - width: a - }, e) -}; -dhtmlXToolbarObject.prototype.forEachItem = function(e) { - for (var c in this.objPull) { - if (this.inArray(this.rootTypes, this.objPull[c]["type"])) { - e(this.objPull[c]["id"].replace(this.idPrefix, "")) - } - } -}; -(function() { - var l = "isVisible,enableItem,disableItem,isEnabled,setItemText,getItemText,setItemToolTip,getItemToolTip,getInput,setItemImage,setItemImageDis,clearItemImage,clearItemImageDis,setItemState,getItemState,setItemToolTipTemplate,getItemToolTipTemplate,setValue,getValue,setMinValue,getMinValue,setMaxValue,getMaxValue,setWidth,getWidth,setMaxOpen".split(","); - var e = [false, "", "", false, "", "", "", "", "", "", "", "", "", false, "", "", "", null, "", [null, null], "", [null, null], "", null]; - var c = function(m, n) { - return function(r, q, o) { - r = this.idPrefix + r; - if (this.objPull[r][m] != null) { - return this.objPull[r][m].call(this.objPull[r], q, o) - } else { - return n - } - } - }; - for (var h = 0; h < l.length; h++) { - var a = l[h]; - var g = e[h]; - dhtmlXToolbarObject.prototype[a] = c(a, g) - } -})(); -dhtmlXToolbarObject.prototype.showItem = function(a) { - a = this.idPrefix + a; - if (this.objPull[a] != null && this.objPull[a].showItem != null) { - this.objPull[a].showItem(); - if (this.conf.skin == "dhx_terrace") { - this._improveTerraceSkin() - } - } -}; -dhtmlXToolbarObject.prototype.hideItem = function(a) { - a = this.idPrefix + a; - if (this.objPull[a] != null && this.objPull[a].hideItem != null) { - this.objPull[a].hideItem(); - if (this.conf.skin == "dhx_terrace") { - this._improveTerraceSkin() - } - } -}; -dhtmlXToolbarObject.prototype.getPosition = function(a) { - return this._getPosition(a) -}; -dhtmlXToolbarObject.prototype._getPosition = function(h, e) { - if (this.objPull[this.idPrefix + h] == null) { - return null - } - var g = null; - var a = 0; - for (var c = 0; c < this.base.childNodes.length; c++) { - if (this.base.childNodes[c].idd != null) { - if (this.base.childNodes[c].idd == h) { - g = a - } - a++ - } - } - if (!g && this._spacer != null) { - for (var c = 0; c < this._spacer.childNodes.length; c++) { - if (this._spacer.childNodes[c].idd != null) { - if (this._spacer.childNodes[c].idd == h) { - g = a - } - a++ - } - } - } - return g -}; -dhtmlXToolbarObject.prototype.setPosition = function(a, c) { - this._setPosition(a, c) -}; -dhtmlXToolbarObject.prototype._setPosition = function(h, g) { - if (this.objPull[this.idPrefix + h] == null) { - return - } - var a = null; - if (this._spacer) { - a = this._spacer.idd; - this.removeSpacer() - } - if (isNaN(g)) { - g = this.base.childNodes.length - } - if (g < 0) { - g = 0 - } - var e = this.objPull[this.idPrefix + h]; - this.base.removeChild(e.obj); - if (e.arw) { - this.base.removeChild(e.arw) - } - var c = this._getIdByPosition(g, true); - if (c[0] == null) { - this.base.appendChild(e.obj); - if (e.arw) { - this.base.appendChild(e.arw) - } - } else { - this.base.insertBefore(e.obj, this.base.childNodes[c[1]]); - if (e.arw) { - this.base.insertBefore(e.arw, this.base.childNodes[c[1] + 1]) - } - } - if (a != null) { - this.addSpacer(a) - } -}; -dhtmlXToolbarObject.prototype._getIdByPosition = function(l, c) { - var h = null; - var a = 0; - var e = 0; - for (var g = 0; g < this.base.childNodes.length; g++) { - if (this.base.childNodes[g]["idd"] != null && h == null) { - if ((a++) == l) { - h = this.base.childNodes[g]["idd"] - } - } - if (h == null) { - e++ - } - } - e = (h == null ? null : e); - return (c == true ? new Array(h, e) : h) -}; -dhtmlXToolbarObject.prototype.removeItem = function(a) { - this._removeItem(a); - if (this.conf.skin == "dhx_terrace") { - this._improveTerraceSkin() - } -}; -dhtmlXToolbarObject.prototype._removeItem = function(h) { - var e = this.getType(h); - h = this.idPrefix + h; - var g = this.objPull[h]; - if ({ - button: 1, - buttonTwoState: 1 - }[e] == 1) { - if (window.dhx4.isIE) { - g.obj.onselectstart = null - } - this._evs.clear.apply(g, [g.obj.evs, g.obj]); - for (var c in g.obj) { - if (typeof(g.obj[c]) == "function") { - g.obj[c] = null - } - } - g.obj.parentNode.removeChild(g.obj); - g.obj = null; - for (var c in g) { - g[c] = null - } - } - if (e == "buttonSelect") { - for (var c in g._listOptions) { - this.removeListOption(h, c) - } - g._listOptions = null; - if (g.polygon._ie6cover) { - document.body.removeChild(g.polygon._ie6cover); - g.polygon._ie6cover = null - } - g.p_tbl.removeChild(g.p_tbody); - g.polygon.removeChild(g.p_tbl); - g.polygon.onselectstart = null; - document.body.removeChild(g.polygon); - if (window.dhx4.isIE) { - g.obj.onselectstart = null; - g.arw.onselectstart = null - } - this._evs.clear.apply(g, [g.obj.evs, g.obj]); - this._evs.clear.apply(g, [g.arw.evs, g.arw]); - for (var c in g.obj) { - if (typeof(g.obj[c]) == "function") { - g.obj[c] = null - } - } - g.obj.parentNode.removeChild(g.obj); - g.obj = null; - for (var c in g.arw) { - if (typeof(g.arw[c]) == "function") { - g.arw[c] = null - } - } - g.arw.parentNode.removeChild(g.arw); - g.arw = null; - for (var c in g) { - g[c] = null - } - } - if (e == "buttonInput") { - g.obj.childNodes[0].onkeydown = null; - g.obj.removeChild(g.obj.childNodes[0]); - g.obj.w = null; - g.obj.idd = null; - g.obj.parentNode.removeChild(g.obj); - g.obj = null; - g.id = null; - g.type = null; - g.enableItem = null; - g.disableItem = null; - g.isEnabled = null; - g.showItem = null; - g.hideItem = null; - g.isVisible = null; - g.setItemToolTip = null; - g.getItemToolTip = null; - g.setWidth = null; - g.getWidth = null; - g.setValue = null; - g.getValue = null; - g.setItemText = null; - g.getItemText = null - } - if (e == "slider") { - if (window.dhx4.isIPad) { - document.removeEventListener("touchmove", pen._doOnMouseMoveStart, false); - document.removeEventListener("touchend", pen._doOnMouseMoveEnd, false) - } else { - if (typeof(window.addEventListener) == "function") { - window.removeEventListener("mousemove", g.pen._doOnMouseMoveStart, false); - window.removeEventListener("mouseup", g.pen._doOnMouseMoveEnd, false) - } else { - document.body.detachEvent("onmousemove", g.pen._doOnMouseMoveStart); - document.body.detachEvent("onmouseup", g.pen._doOnMouseMoveEnd) - } - } - g.pen.allowMove = null; - g.pen.initXY = null; - g.pen.maxX = null; - g.pen.minX = null; - g.pen.nowX = null; - g.pen.newNowX = null; - g.pen.valueMax = null; - g.pen.valueMin = null; - g.pen.valueNow = null; - g.pen._definePos = null; - g.pen._detectLimits = null; - g.pen._doOnMouseMoveStart = null; - g.pen._doOnMouseMoveEnd = null; - g.pen.onmousedown = null; - g.obj.removeChild(g.pen); - g.pen = null; - g.label.tip = null; - document.body.removeChild(g.label); - g.label = null; - g.obj.onselectstart = null; - g.obj.idd = null; - while (g.obj.childNodes.length > 0) { - g.obj.removeChild(g.obj.childNodes[0]) - } - g.obj.parentNode.removeChild(g.obj); - g.obj = null; - g.id = null; - g.type = null; - g.state = null; - g.enableItem = null; - g.disableItem = null; - g.isEnabled = null; - g.setItemToolTipTemplate = null; - g.getItemToolTipTemplate = null; - g.setMaxValue = null; - g.setMinValue = null; - g.getMaxValue = null; - g.getMinValue = null; - g.setValue = null; - g.getValue = null; - g.showItem = null; - g.hideItem = null; - g.isVisible = null - } - if (e == "separator") { - g.obj.onselectstart = null; - g.obj.idd = null; - g.obj.parentNode.removeChild(g.obj); - g.obj = null; - g.id = null; - g.type = null; - g.showItem = null; - g.hideItem = null; - g.isVisible = null - } - if (e == "text") { - g.obj.onselectstart = null; - g.obj.idd = null; - g.obj.parentNode.removeChild(g.obj); - g.obj = null; - g.id = null; - g.type = null; - g.showItem = null; - g.hideItem = null; - g.isVisible = null; - g.setWidth = null; - g.setItemText = null; - g.getItemText = null - } - e = null; - g = null; - this.objPull[h] = null; - delete this.objPull[h] -}; -(function() { - var g = "addListOption,removeListOption,showListOption,hideListOption,isListOptionVisible,enableListOption,disableListOption,isListOptionEnabled,setListOptionPosition,getListOptionPosition,setListOptionText,getListOptionText,setListOptionToolTip,getListOptionToolTip,setListOptionImage,getListOptionImage,clearListOptionImage,forEachListOption,getAllListOptions,setListOptionSelected,getListOptionSelected".split(","); - var c = function(h) { - return function(r, m, l, q, o, n) { - r = this.idPrefix + r; - if (this.objPull[r] == null) { - return - } - if (this.objPull[r]["type"] != "buttonSelect") { - return - } - return this.objPull[r][h].call(this.objPull[r], m, l, q, o, n) - } - }; - for (var e = 0; e < g.length; e++) { - var a = g[e]; - dhtmlXToolbarObject.prototype[a] = c(a) - } -})(); -dhtmlXToolbarObject.prototype._rtlParseBtn = function(c, a) { - return c + a -}; -dhtmlXToolbarObject.prototype._separatorObject = function(a, e, c) { - this.id = a.idPrefix + e; - this.obj = document.createElement("DIV"); - this.obj.className = "dhx_toolbar_sep"; - this.obj.style.display = (c.hidden != null ? "none" : ""); - this.obj.idd = String(e); - this.obj.title = (c.title || ""); - this.obj.onselectstart = function(g) { - g = g || event; - if (g.preventDefault) { - g.preventDefault() - } else { - g.returnValue = false - } - }; - this.obj.ontouchstart = function(g) { - g = g || event; - if (g.preventDefault) { - g.preventDefault() - } else { - g.returnValue = false - } - g.cancelBubble = true; - return false - }; - a.base.appendChild(this.obj); - this.showItem = function() { - this.obj.style.display = "" - }; - this.hideItem = function() { - this.obj.style.display = "none" - }; - this.isVisible = function() { - return (this.obj.style.display == "") - }; - return this -}; -dhtmlXToolbarObject.prototype._textObject = function(a, e, c) { - this.id = a.idPrefix + e; - this.obj = document.createElement("DIV"); - this.obj.className = "dhx_toolbar_text"; - this.obj.style.display = (c.hidden != null ? "none" : ""); - this.obj.idd = String(e); - this.obj.title = (c.title || ""); - this.obj.onselectstart = function(g) { - g = g || event; - if (g.preventDefault) { - g.preventDefault() - } else { - g.returnValue = false - } - }; - this.obj.ontouchstart = function(g) { - g = g || event; - if (g.preventDefault) { - g.preventDefault() - } else { - g.returnValue = false - } - g.cancelBubble = true; - return false - }; - this.obj.innerHTML = (c.text || ""); - a.base.appendChild(this.obj); - this.showItem = function() { - this.obj.style.display = "" - }; - this.hideItem = function() { - this.obj.style.display = "none" - }; - this.isVisible = function() { - return (this.obj.style.display == "") - }; - this.setItemText = function(g) { - this.obj.innerHTML = g - }; - this.getItemText = function() { - return this.obj.innerHTML - }; - this.setWidth = function(g) { - this.obj.style.width = g + "px" - }; - this.setItemToolTip = function(g) { - this.obj.title = g - }; - this.getItemToolTip = function() { - return this.obj.title - }; - return this -}; -dhtmlXToolbarObject.prototype._buttonObject = function(e, h, g) { - this.id = e.idPrefix + h; - this.state = (g.enabled != null ? false : true); - this.imgEn = (g.img || ""); - this.imgDis = (g.imgdis || ""); - this.img = (this.state ? (this.imgEn != "" ? this.imgEn : "") : (this.imgDis != "" ? this.imgDis : "")); - this.obj = document.createElement("DIV"); - this.obj.className = "dhx_toolbar_btn dhxtoolbar_btn_" + (this.state ? "def" : "dis"); - this.obj.style.display = (g.hidden != null ? "none" : ""); - this.obj.allowClick = false; - this.obj.extAction = (g.action || null); - this.obj.renderAs = this.obj.className; - this.obj.idd = String(h); - this.obj.title = (g.title || ""); - this.obj.pressed = false; - var a = (e.conf.icons_css ? "" : ""); - this.obj.innerHTML = e._rtlParseBtn((this.img != "" ? a : ""), (g.text != null ? "
                    " + g.text + "
                    " : "")); - e.base.appendChild(this.obj); - if (window.dhx4.isIE) { - this.obj.onselectstart = function(l) { - l = l || event; - if (l.preventDefault) { - l.preventDefault() - } else { - l.returnValue = false - } - return false - } - } - var c = this; - this._doOnMouseOver = function(l) { - l = l || event; - if (c.state == false || c.obj.pressed == true || c.obj.over == true) { - return - } - if (c.obj.className.match(/dhxtoolbar_btn_over/gi) == null) { - c.obj.className = "dhx_toolbar_btn dhxtoolbar_btn_over" - } - c.obj.over = true - }; - this._doOnMouseOut = function(l) { - l = l || event; - if (c.state == false) { - return - } - if (c.obj.className.match(/dhxtoolbar_btn_over/gi) != null) { - c.obj.className = "dhx_toolbar_btn dhxtoolbar_btn_def" - } - c.obj.over = c.obj.pressed = false - }; - this._doOnMouseDown = function(l) { - l = l || event; - if (l.type == "touchstart") { - if (l.preventDefault) { - l.preventDefault() - } - l.cancelBubble = true; - if (e.conf.touch_id != null && e.conf.touch_id != c.id) { - return - } - e.conf.touch_id = c.id - } - if (c.state == false) { - return - } - if (c.obj.className.match(/dhxtoolbar_btn_pres/gi) == null) { - c.obj.className = "dhx_toolbar_btn dhxtoolbar_btn_pres" - } - c.obj.pressed = true - }; - this._doOnMouseUp = function(l) { - l = l || event; - if (l.type == "touchend") { - if (l.preventDefault) { - l.preventDefault() - } - l.cancelBubble = true; - if (e.conf.touch_id == c.id) { - e.conf.touch_id = null - } - } - if (c.state == false || c.obj.pressed == false) { - return - } - if (c.obj.className.match(/dhxtoolbar_btn_pres/gi) != null) { - c.obj.className = "dhx_toolbar_btn dhxtoolbar_btn_" + (c.obj.over ? "over" : "def") - } - c.obj.pressed = false; - if (c.obj.extAction) { - window.setTimeout(function() { - try { - if (c && c.obj) { - window[c.obj.extAction](c.id) - } - } catch (m) {} - }, 1) - } - e.callEvent("onClick", [c.obj.idd.replace(e.idPrefix, "")]) - }; - this.obj.evs = { - mouseover: "_doOnMouseOver", - mouseout: "_doOnMouseOut", - mousedown: "_doOnMouseDown", - mouseup: "_doOnMouseUp", - touchstart: "_doOnMouseDown", - touchend: "_doOnMouseUp" - }; - e._evs.add.apply(this, [this.obj.evs, this.obj]); - this.enableItem = function() { - e._enableItem(this) - }; - this.disableItem = function() { - e._disableItem(this) - }; - this.isEnabled = function() { - return this.state - }; - this.showItem = function() { - this.obj.style.display = "" - }; - this.hideItem = function() { - this.obj.style.display = "none" - }; - this.isVisible = function() { - return (this.obj.style.display == "") - }; - this.setItemText = function(l) { - e._setItemText(this, l) - }; - this.getItemText = function() { - return e._getItemText(this) - }; - this.setItemImage = function(l) { - e._setItemImage(this, l, true) - }; - this.clearItemImage = function() { - e._clearItemImage(this, true) - }; - this.setItemImageDis = function(l) { - e._setItemImage(this, l, false) - }; - this.clearItemImageDis = function() { - e._clearItemImage(this, false) - }; - this.setItemToolTip = function(l) { - this.obj.title = l - }; - this.getItemToolTip = function() { - return this.obj.title - }; - return this -}; -dhtmlXToolbarObject.prototype._buttonSelectObject = function(g, m, l) { - this.id = g.idPrefix + m; - this.state = (l.enabled != null ? (l.enabled == "true" ? true : false) : true); - this.imgEn = (l.img || ""); - this.imgDis = (l.imgdis || ""); - this.img = (this.state ? (this.imgEn != "" ? this.imgEn : "") : (this.imgDis != "" ? this.imgDis : "")); - this.mode = (l.mode || "button"); - if (this.mode == "select") { - this.openAll = true; - this.renderSelect = false; - if (!l.text || l.text.length == 0) { - l.text = " " - } - } else { - this.openAll = (window.dhx4.s2b(l.openAll) == true); - this.renderSelect = (l.renderSelect == null ? true : window.dhx4.s2b(l.renderSelect)) - } - this.maxOpen = (!isNaN(l.maxOpen ? l.maxOpen : "") ? l.maxOpen : null); - this._maxOpenTest = function() { - if (!isNaN(this.maxOpen)) { - if (!g._sbw) { - var o = document.createElement("DIV"); - o.className = "dhxtoolbar_maxopen_test"; - document.body.appendChild(o); - var n = document.createElement("DIV"); - n.className = "dhxtoolbar_maxopen_test2"; - o.appendChild(n); - g._sbw = o.offsetWidth - n.offsetWidth; - o.removeChild(n); - n = null; - document.body.removeChild(o); - o = null - } - } - }; - this._maxOpenTest(); - this.obj = document.createElement("DIV"); - this.obj.allowClick = false; - this.obj.extAction = (l.action || null); - this.obj.className = "dhx_toolbar_btn dhxtoolbar_btn_" + (this.state ? "def" : "dis"); - this.obj.style.display = (l.hidden != null ? "none" : ""); - this.obj.renderAs = this.obj.className; - this.obj.onselectstart = function(n) { - n = n || event; - if (n.preventDefault) { - n.preventDefault() - } else { - n.returnValue = false - } - }; - this.obj.idd = String(m); - this.obj.title = (l.title || ""); - this.obj.pressed = false; - this.callEvent = false; - var c = (g.conf.icons_css ? "" : ""); - this.obj.innerHTML = g._rtlParseBtn((this.img != "" ? c : ""), (l.text != null ? "
                    " + l.text + "
                    " : "")); - g.base.appendChild(this.obj); - this.arw = document.createElement("DIV"); - this.arw.className = "dhx_toolbar_arw dhxtoolbar_btn_" + (this.state ? "def" : "dis"); - this.arw.style.display = this.obj.style.display; - this.arw.innerHTML = "
                     
                    "; - this.arw.title = this.obj.title; - this.arw.onselectstart = function(n) { - n = n || event; - if (n.preventDefault) { - n.preventDefault() - } else { - n.returnValue = false - } - }; - g.base.appendChild(this.arw); - var a = this; - if (window.dhx4.isIE) { - this.arw.onselectstart = this.obj.onselectstart = function(n) { - n = n || event; - if (n.preventDefault) { - n.preventDefault() - } else { - n.returnValue = false - } - return false - } - } - this._doOnMouseOver = function(n) { - n = n || event; - if (a.state == false || a.obj.over == true || g.anyUsed == a.obj.idd) { - return - } - if (a.obj.className.match(/dhxtoolbar_btn_over/gi) == null) { - a.obj.className = "dhx_toolbar_btn dhxtoolbar_btn_over"; - a.arw.className = "dhx_toolbar_arw dhxtoolbar_btn_over" - } - a.obj.over = true - }; - this._doOnMouseOut = function(n) { - n = n || event; - if (a.state == false || g.anyUsed == a.obj.idd || g.anyUsed == a.obj.idd) { - return - } - if (a.obj.className.match(/dhxtoolbar_btn_over/gi) != null) { - a.obj.className = "dhx_toolbar_btn dhxtoolbar_btn_def"; - a.arw.className = "dhx_toolbar_arw dhxtoolbar_btn_def" - } - a.obj.over = a.obj.pressed = false - }; - this._doOnMouseDown = function(o) { - o = o || event; - if (o.type == "touchstart") { - if (o.preventDefault) { - o.preventDefault() - } - o.cancelBubble = true; - if (g.conf.touch_id != null && g.conf.touch_id != a.id) { - return - } - g.conf.touch_id = a.id - } - if (a.state == false) { - return - } - if (g.anyUsed == a.obj.idd) { - if (a.obj.over == true) { - a.obj.className = "dhx_toolbar_btn dhxtoolbar_btn_over"; - a.arw.className = "dhx_toolbar_arw dhxtoolbar_btn_over" - } else { - a.obj.className = "dhx_toolbar_btn dhxtoolbar_btn_def"; - a.arw.className = "dhx_toolbar_arw dhxtoolbar_btn_def" - } - a._hidePoly(true); - g.anyUsed = null - } else { - var n = (o.target || o.srcElement); - if (a.openAll == true || n == a.arw || n.parentNode == a.arw) { - if (o.type == "touchstart") { - a.obj.className = "dhx_toolbar_btn dhxtoolbar_btn_over" - } - a.arw.className = "dhx_toolbar_arw dhxtoolbar_btn_pres"; - a.arw._skip = true; - a._showPoly(true); - g.anyUsed = a.obj.idd - } else { - if (a.obj.className.match(/dhxtoolbar_btn_pres/gi) == null) { - a.obj.className = "dhx_toolbar_btn dhxtoolbar_btn_pres"; - a.arw.className = "dhx_toolbar_arw dhxtoolbar_btn_pres" - } - a.obj.pressed = true - } - } - }; - this._doOnMouseUp = function(o) { - o = o || event; - if (o.type == "touchend") { - if (a.polygon.style.display == "") { - return - } - if (o.preventDefault) { - o.preventDefault() - } - o.cancelBubble = true; - if (g.conf.touch_id == a.id) { - g.conf.touch_id = null - } - } - if (a.state == false || a.obj.pressed == false) { - return - } - if (a.obj.className.match(/dhxtoolbar_btn_pres/gi) != null) { - a.obj.className = "dhx_toolbar_btn dhxtoolbar_btn_" + (a.obj.over ? "over" : "def"); - a.arw.className = "dhx_toolbar_arw dhxtoolbar_btn_" + (a.obj.over ? "over" : "def") - } - if (this.extAction) { - var n = this; - window.setTimeout(function() { - try { - window[n.extAction](m) - } catch (q) {} - n = null - }, 1) - } - g.callEvent("onClick", [a.obj.idd.replace(g.idPrefix, "")]) - }; - this.arw.evs = { - mouseover: "_doOnMouseOver", - mouseout: "_doOnMouseOut", - mousedown: "_doOnMouseDown", - touchstart: "_doOnMouseDown" - }; - g._evs.add.apply(this, [this.arw.evs, this.arw]); - this.obj.evs = { - mouseover: "_doOnMouseOver", - mouseout: "_doOnMouseOut", - mousedown: "_doOnMouseDown", - mouseup: "_doOnMouseUp", - touchstart: "_doOnMouseDown", - touchend: "_doOnMouseUp" - }; - g._evs.add.apply(this, [this.obj.evs, this.obj]); - this._showPoly = function(w) { - if (g.anyUsed != null) { - if (g.objPull[g.idPrefix + g.anyUsed].type == "buttonSelect") { - var v = g.objPull[g.idPrefix + g.anyUsed]; - if (v.polygon.style.display != "none") { - v.obj.className = "dhx_toolbar_btn dhxtoolbar_btn_def"; - v.arw.className = "dhx_toolbar_arw dhxtoolbar_btn_def"; - v.obj.over = false; - window.dhx4.zim.clear(v.polygon._idd); - v.polygon.style.display = "none"; - if (v.polygon._ie6cover) { - v.polygon._ie6cover.style.display = "none" - } - if (g.conf.skin == "dhx_terrace") { - g._improveTerraceButtonSelect(v.id, true) - } - g.callEvent("onButtonSelectHide", [v.obj.idd]) - } - } - } - this.polygon.style.top = "0px"; - this.polygon.style.visibility = "hidden"; - this.polygon.style.zIndex = window.dhx4.zim.reserve(this.polygon._idd); - this.polygon.style.display = ""; - if (g.conf.skin == "dhx_terrace") { - g._improveTerraceButtonSelect(this.id, false) - } - this._fixMaxOpenHeight(this.maxOpen || null); - g._autoDetectVisibleArea(); - var o = window.dhx4.absTop(this.obj) + this.obj.offsetHeight + g.conf.sel_ofs_y; - var s = this.polygon.offsetHeight; - var r = Math.floor((g.tY2 - o) / 22); - if (o + s > g.tY2) { - o = window.dhx4.absTop(this.obj) - s - g.conf.sel_ofs_y; - if (o < 0) { - o = 0 - } - } - this.polygon.style.top = o + "px"; - if (g.rtl) { - this.polygon.style.left = window.dhx4.absLeft(this.obj) + this.obj.offsetWidth - this.polygon.offsetWidth + g.conf.sel_ofs_x + "px" - } else { - var q = document.body.scrollLeft; - var n = q + (window.innerWidth || document.body.clientWidth); - var u = window.dhx4.absLeft(this.obj) + g.conf.sel_ofs_x; - if (u + this.polygon.offsetWidth > n) { - u = window.dhx4.absLeft(this.arw) + this.arw.offsetWidth - this.polygon.offsetWidth - } - this.polygon.style.left = Math.max(u, 5) + "px" - } - this.polygon.style.visibility = "visible"; - if (this.polygon._ie6cover) { - this.polygon._ie6cover.style.left = this.polygon.style.left; - this.polygon._ie6cover.style.top = this.polygon.style.top; - this.polygon._ie6cover.style.width = this.polygon.offsetWidth + "px"; - this.polygon._ie6cover.style.height = this.polygon.offsetHeight + "px"; - this.polygon._ie6cover.style.display = "" - } - if (w) { - g.callEvent("onButtonSelectShow", [this.obj.idd]) - } - }; - this._hidePoly = function(n) { - window.dhx4.zim.clear(this.polygon._idd); - this.polygon.style.display = "none"; - if (this.polygon._ie6cover) { - this.polygon._ie6cover.style.display = "none" - } - if (g.conf.skin == "dhx_terrace") { - g._improveTerraceButtonSelect(this.id, true) - } - if (n) { - g.callEvent("onButtonSelectHide", [this.obj.idd]) - } - g.conf.touch_id = null - }; - this.obj.iddPrefix = g.idPrefix; - this._listOptions = {}; - this._fixMaxOpenHeight = function(s) { - var r = "auto"; - var q = false; - if (s !== null) { - var o = 0; - for (var n in this._listOptions) { - o++ - } - if (o > s) { - this._ph = 22 * s; - r = this._ph + "px" - } else { - q = true - } - } - this.polygon.style.width = "auto"; - this.polygon.style.height = "auto"; - if (!q && a.maxOpen != null) { - this.polygon.style.width = this.p_tbl.offsetWidth + g._sbw + "px"; - this.polygon.style.height = r - } - }; - this._separatorButtonSelectObject = function(q, n, o) { - this.obj = {}; - this.obj.tr = document.createElement("TR"); - this.obj.tr.className = "tr_sep"; - this.obj.tr.onselectstart = function(r) { - r = r || event; - if (r.preventDefault) { - r.preventDefault() - } else { - r.returnValue = false - } - return false - }; - this.obj.td = document.createElement("TD"); - this.obj.td.colSpan = "2"; - this.obj.td.className = "td_btn_sep"; - this.obj.td.onselectstart = function(r) { - r = r || event; - if (r.preventDefault) { - r.preventDefault() - } else { - r.returnValue = false - } - return false - }; - if (isNaN(o)) { - o = a.p_tbody.childNodes.length + 1 - } else { - if (o < 1) { - o = 1 - } - } - if (o > a.p_tbody.childNodes.length) { - a.p_tbody.appendChild(this.obj.tr) - } else { - a.p_tbody.insertBefore(this.obj.tr, a.p_tbody.childNodes[o - 1]) - } - this.obj.tr.appendChild(this.obj.td); - this.obj.sep = document.createElement("DIV"); - this.obj.sep.className = "btn_sep"; - this.obj.sep.onselectstart = function(r) { - r = r || event; - if (r.preventDefault) { - r.preventDefault() - } else { - r.returnValue = false - } - return false - }; - this.obj.td.appendChild(this.obj.sep); - a._listOptions[q] = this.obj; - return this - }; - this._buttonButtonSelectObject = function(s, q, r) { - var o = true; - if (typeof(q.enabled) != "undefined") { - o = window.dhx4.s2b(q.enabled) - } else { - if (typeof(q.disabled) != "undefined") { - o = window.dhx4.s2b(q.disabled) - } - } - this.obj = {}; - this.obj.tr = document.createElement("TR"); - this.obj.tr.en = o; - this.obj.tr.extAction = (q.action || null); - this.obj.tr._selected = (q.selected != null); - this.obj.tr.className = "tr_btn" + (this.obj.tr.en ? (this.obj.tr._selected && a.renderSelect ? " tr_btn_selected" : "") : " tr_btn_disabled"); - this.obj.tr.onselectstart = function(u) { - u = u || event; - if (u.preventDefault) { - u.preventDefault() - } else { - u.returnValue = false - } - return false - }; - this.obj.tr.idd = String(s); - if (isNaN(r)) { - r = a.p_tbody.childNodes.length + 1 - } else { - if (r < 1) { - r = 1 - } - } - if (r > a.p_tbody.childNodes.length) { - a.p_tbody.appendChild(this.obj.tr) - } else { - a.p_tbody.insertBefore(this.obj.tr, a.p_tbody.childNodes[r - 1]) - } - this.obj.td_a = document.createElement("TD"); - this.obj.td_a.className = "td_btn_img"; - this.obj.td_a.onselectstart = function(u) { - u = u || event; - if (u.preventDefault) { - u.preventDefault() - } else { - u.returnValue = false - } - return false - }; - this.obj.td_b = document.createElement("TD"); - this.obj.td_b.className = "td_btn_txt"; - this.obj.td_b.onselectstart = function(u) { - u = u || event; - if (u.preventDefault) { - u.preventDefault() - } else { - u.returnValue = false - } - return false - }; - if (g.rtl) { - this.obj.tr.appendChild(this.obj.td_b); - this.obj.tr.appendChild(this.obj.td_a) - } else { - this.obj.tr.appendChild(this.obj.td_a); - this.obj.tr.appendChild(this.obj.td_b) - } - if (q.img != null) { - if (g.conf.icons_css == true) { - this.obj.td_a.innerHTML = "" - } else { - this.obj.td_a.innerHTML = "" - } - this.obj.tr._img = q.img - } else { - this.obj.td_a.innerHTML = " " - } - var n = (q.text != null ? q.text : (q.itemText || "")); - this.obj.td_b.innerHTML = "
                    " + n + "
                    "; - this.obj.tr.onmouseover = function(u) { - u = u || event; - if (u.type.match(/touch/) != null) { - return - } - if (!this.en || (this._selected && a.renderSelect)) { - return - } - this.className = "tr_btn tr_btn_over" - }; - this.obj.tr.onmouseout = function(u) { - u = u || event; - if (u.type.match(/touch/) != null) { - return - } - if (!this.en) { - return - } - if (this._selected && a.renderSelect) { - if (String(this.className).search("tr_btn_selected") == -1) { - this.className = "tr_btn tr_btn_selected" - } - } else { - this.className = "tr_btn" - } - }; - this.obj.tr.ontouchstart = this.obj.tr.onmousedown = function(u) { - u = u || event; - if (this._etype == null) { - this._etype = u.type - } - }; - this.obj.tr.onclick = function(v) { - v = v || event; - v.cancelBubble = true; - if (!this.en) { - return - } - a.setListOptionSelected(this.idd.replace(g.idPrefix, "")); - a.obj.className = "dhx_toolbar_btn dhxtoolbar_btn_def"; - a.arw.className = "dhx_toolbar_arw dhxtoolbar_btn_def"; - a.obj.over = false; - if (this._etype != null && this._etype.match(/touch/) == null) { - window.dhx4.zim.clear(a.polygon._idd); - a.polygon.style.display = "none"; - if (a.polygon._ie6cover) { - a.polygon._ie6cover.style.display = "none" - } - } else { - var u = a.polygon; - window.setTimeout(function() { - window.dhx4.zim.clear(u._idd); - u.style.display = "none"; - u = null - }, 500) - } - this._etype = null; - if (g.conf.skin == "dhx_terrace") { - g._improveTerraceButtonSelect(a.id, true) - } - g.anyUsed = null; - g.conf.touch_id = null; - g.callEvent("onButtonSelectHide", [a.obj.idd]); - var w = this.idd.replace(g.idPrefix, ""); - if (this.extAction) { - try { - window[this.extAction](w) - } catch (v) {} - } - g.callEvent("onClick", [w]) - }; - a._listOptions[s] = this.obj; - return this - }; - this.polygon = document.createElement("DIV"); - this.polygon.dir = "ltr"; - this.polygon.style.display = "none"; - this.polygon.className = "dhx_toolbar_poly_" + g.conf.skin + " dhxtoolbar_icons_" + g.conf.iconSize + g.conf.cssShadow; - this.polygon.onselectstart = function(n) { - n = n || event; - if (n.preventDefault) { - n.preventDefault() - } else { - n.returnValue = false - } - }; - this.polygon.onmousedown = function(n) { - n = n || event; - n.cancelBubble = true - }; - this.polygon.style.overflowY = "auto"; - this.polygon._idd = window.dhx4.newId(); - this.polygon.ontouchstart = function(n) { - n = n || event; - n.cancelBubble = true - }; - this.polygon.ontouchend = function(n) { - n = n || event; - n.cancelBubble = true - }; - this.p_tbl = document.createElement("TABLE"); - this.p_tbl.className = "buttons_cont"; - this.p_tbl.cellSpacing = "0"; - this.p_tbl.cellPadding = "0"; - this.p_tbl.border = "0"; - this.polygon.appendChild(this.p_tbl); - this.p_tbody = document.createElement("TBODY"); - this.p_tbl.appendChild(this.p_tbody); - if (l.options != null) { - for (var h = 0; h < l.options.length; h++) { - var e = "_" + (l.options[h].type || "") + "ButtonSelectObject"; - if (l.options[h].id == null) { - l.options[h].id = g._genStr(24) - } - if (typeof(this[e]) == "function") { - new this[e](l.options[h].id, l.options[h]) - } - } - } - document.body.appendChild(this.polygon); - if (window.dhx4.isIE6) { - this.polygon._ie6cover = document.createElement("IFRAME"); - this.polygon._ie6cover.frameBorder = 0; - this.polygon._ie6cover.style.position = "absolute"; - this.polygon._ie6cover.style.border = "none"; - this.polygon._ie6cover.style.backgroundColor = "#000000"; - this.polygon._ie6cover.style.filter = "alpha(opacity=100)"; - this.polygon._ie6cover.style.display = "none"; - this.polygon._ie6cover.setAttribute("src", "javascript:false;"); - document.body.appendChild(this.polygon._ie6cover) - } - this.setWidth = function(n) { - this.obj.style.width = n - this.arw.offsetWidth + "px"; - this.polygon.style.width = this.obj.offsetWidth + this.arw.offsetWidth - 2 + "px"; - this.p_tbl.style.width = this.polygon.style.width - }; - this.enableItem = function() { - g._enableItem(this) - }; - this.disableItem = function() { - g._disableItem(this) - }; - this.isEnabled = function() { - return this.state - }; - this.showItem = function() { - this.obj.style.display = ""; - this.arw.style.display = "" - }; - this.hideItem = function() { - this.obj.style.display = "none"; - this.arw.style.display = "none" - }; - this.isVisible = function() { - return (this.obj.style.display == "") - }; - this.setItemText = function(n) { - g._setItemText(this, n) - }; - this.getItemText = function() { - return g._getItemText(this) - }; - this.setItemImage = function(n) { - g._setItemImage(this, n, true) - }; - this.clearItemImage = function() { - g._clearItemImage(this, true) - }; - this.setItemImageDis = function(n) { - g._setItemImage(this, n, false) - }; - this.clearItemImageDis = function() { - g._clearItemImage(this, false) - }; - this.setItemToolTip = function(n) { - this.obj.title = n; - this.arw.title = n - }; - this.getItemToolTip = function() { - return this.obj.title - }; - this.addListOption = function(u, s, q, r, n) { - if (!(q == "button" || q == "separator")) { - return - } - var o = { - id: u, - type: q, - text: r, - img: n - }; - new this["_" + q + "ButtonSelectObject"](u, o, s) - }; - this.removeListOption = function(q) { - if (!this._isListButton(q, true)) { - return - } - var n = this._listOptions[q]; - if (n.td_a != null && n.td_b != null) { - n.td_a.onselectstart = null; - n.td_b.onselectstart = null; - while (n.td_a.childNodes.length > 0) { - n.td_a.removeChild(n.td_a.childNodes[0]) - } - while (n.td_b.childNodes.length > 0) { - n.td_b.removeChild(n.td_b.childNodes[0]) - } - n.tr.onselectstart = null; - n.tr.onmouseover = null; - n.tr.onmouseout = null; - n.tr.onclick = null; - n.tr.ontouchstart = null; - n.tr.onmousedown = null; - while (n.tr.childNodes.length > 0) { - n.tr.removeChild(n.tr.childNodes[0]) - } - n.tr.parentNode.removeChild(n.tr); - n.td_a = null; - n.td_b = null; - n.tr = null - } else { - n.sep.onselectstart = null; - n.td.onselectstart = null; - n.tr.onselectstart = null; - while (n.td.childNodes.length > 0) { - n.td.removeChild(n.td.childNodes[0]) - } - while (n.tr.childNodes.length > 0) { - n.tr.removeChild(n.tr.childNodes[0]) - } - n.tr.parentNode.removeChild(n.tr); - n.sep = null; - n.td = null; - n.tr = null - } - n = null; - this._listOptions[q] = null; - try { - delete this._listOptions[q] - } catch (o) {} - }; - this.showListOption = function(n) { - if (!this._isListButton(n, true)) { - return - } - this._listOptions[n].tr.style.display = "" - }; - this.hideListOption = function(n) { - if (!this._isListButton(n, true)) { - return - } - this._listOptions[n].tr.style.display = "none" - }; - this.isListOptionVisible = function(n) { - if (!this._isListButton(n, true)) { - return - } - return (this._listOptions[n].tr.style.display != "none") - }; - this.enableListOption = function(n) { - if (!this._isListButton(n)) { - return - } - this._listOptions[n].tr.en = true; - this._listOptions[n].tr.className = "tr_btn" + (this._listOptions[n].tr._selected && g.renderSelect ? " tr_btn_selected" : "") - }; - this.disableListOption = function(n) { - if (!this._isListButton(n)) { - return - } - this._listOptions[n].tr.en = false; - this._listOptions[n].tr.className = "tr_btn tr_btn_disabled" - }; - this.isListOptionEnabled = function(n) { - if (!this._isListButton(n)) { - return - } - return this._listOptions[n].tr.en - }; - this.setListOptionPosition = function(q, o) { - if (!this._listOptions[q] || this.getListOptionPosition(q) == o || isNaN(o)) { - return - } - if (o < 1) { - o = 1 - } - var n = this._listOptions[q].tr; - this.p_tbody.removeChild(n); - if (o > this.p_tbody.childNodes.length) { - this.p_tbody.appendChild(n) - } else { - this.p_tbody.insertBefore(n, this.p_tbody.childNodes[o - 1]) - } - n = null - }; - this.getListOptionPosition = function(r) { - var o = -1; - if (!this._listOptions[r]) { - return o - } - for (var n = 0; n < this.p_tbody.childNodes.length; n++) { - if (this.p_tbody.childNodes[n] == this._listOptions[r].tr) { - o = n + 1 - } - } - return o - }; - this.setListOptionImage = function(q, n) { - if (!this._isListButton(q)) { - return - } - var o = this._listOptions[q].tr.childNodes[(g.rtl ? 1 : 0)]; - o.innerHTML = (g.conf.icons_css ? "" : ""); - o = null - }; - this.getListOptionImage = function(q) { - if (!this._isListButton(q)) { - return - } - var o = this._listOptions[q].tr.childNodes[(g.rtl ? 1 : 0)]; - var n = null; - if (o.childNodes.length > 0) { - n = o.childNodes[0][(g.conf.icons_css ? "className" : "src")] - } - o = null; - return n - }; - this.clearListOptionImage = function(o) { - if (!this._isListButton(o)) { - return - } - var n = this._listOptions[o].tr.childNodes[(g.rtl ? 1 : 0)]; - while (n.childNodes.length > 0) { - n.removeChild(n.childNodes[0]) - } - n.innerHTML = " "; - n = null - }; - this.setListOptionText = function(o, n) { - if (!this._isListButton(o)) { - return - } - this._listOptions[o].tr.childNodes[(g.rtl ? 0 : 1)].childNodes[0].innerHTML = n - }; - this.getListOptionText = function(n) { - if (!this._isListButton(n)) { - return - } - return this._listOptions[n].tr.childNodes[(g.rtl ? 0 : 1)].childNodes[0].innerHTML - }; - this.setListOptionToolTip = function(o, n) { - if (!this._isListButton(o)) { - return - } - this._listOptions[o].tr.title = n - }; - this.getListOptionToolTip = function(n) { - if (!this._isListButton(n)) { - return - } - return this._listOptions[n].tr.title - }; - this.forEachListOption = function(o) { - for (var n in this._listOptions) { - o(n) - } - }; - this.getAllListOptions = function() { - var o = new Array(); - for (var n in this._listOptions) { - o[o.length] = n - } - return o - }; - this.setListOptionSelected = function(q) { - for (var n in this._listOptions) { - var o = this._listOptions[n]; - if (o.td_a != null && o.td_b != null && o.tr.en) { - if (n == q) { - o.tr._selected = true; - o.tr.className = "tr_btn" + (this.renderSelect ? " tr_btn_selected" : ""); - if (this.mode == "select") { - if (o.tr._img) { - this.setItemImage(o.tr._img) - } else { - this.clearItemImage() - } - this.setItemText(this.getListOptionText(q)) - } - } else { - o.tr._selected = false; - o.tr.className = "tr_btn" - } - } - o = null - } - }; - this.getListOptionSelected = function() { - var o = null; - for (var n in this._listOptions) { - if (this._listOptions[n].tr._selected == true) { - o = n - } - } - return o - }; - this._isListButton = function(o, n) { - if (this._listOptions[o] == null) { - return false - } - if (!n && this._listOptions[o].tr.className == "tr_sep") { - return false - } - return true - }; - this.setMaxOpen = function(n) { - this._ph = null; - if (typeof(n) == "number") { - this.maxOpen = n; - this._maxOpenTest(); - return - } - this.maxOpen = null - }; - if (l.width) { - this.setWidth(l.width) - } - if (this.mode == "select" && typeof(l.selected) != "undefined") { - this.setListOptionSelected(l.selected) - } - return this -}; -dhtmlXToolbarObject.prototype._buttonInputObject = function(e, h, g) { - this.id = e.idPrefix + h; - this.obj = document.createElement("DIV"); - this.obj.className = "dhx_toolbar_btn dhxtoolbar_btn_def"; - this.obj.style.display = (g.hidden != null ? "none" : ""); - this.obj.idd = String(h); - this.obj.w = (g.width != null ? g.width : 100); - this.obj.title = (g.title != null ? g.title : ""); - this.obj.innerHTML = ""; - var c = e; - var a = this; - this.obj.childNodes[0].onkeydown = function(l) { - l = l || event; - if (l.keyCode == 13) { - c.callEvent("onEnter", [a.obj.idd, a.obj.childNodes[0].value]) - } else { - if (c._valueChangeTimer) { - clearTimeout(c._valueChangeTimer) - } - c._valueChangeTimer = setTimeout(function() { - try { - c.callEvent("onValueChange", [a.obj.idd, a.obj.childNodes[0].value]) - } catch (m) {} - }, 250) - } - }; - e.base.appendChild(this.obj); - this.enableItem = function() { - this.obj.childNodes[0].disabled = false - }; - this.disableItem = function() { - this.obj.childNodes[0].disabled = true - }; - this.isEnabled = function() { - return (!this.obj.childNodes[0].disabled) - }; - this.showItem = function() { - this.obj.style.display = "" - }; - this.hideItem = function() { - this.obj.style.display = "none" - }; - this.isVisible = function() { - return (this.obj.style.display != "none") - }; - this.setValue = function(l) { - this.obj.childNodes[0].value = l - }; - this.getValue = function() { - return this.obj.childNodes[0].value - }; - this.setWidth = function(l) { - this.obj.w = l; - this.obj.childNodes[0].style.width = this.obj.w + "px" - }; - this.getWidth = function() { - return this.obj.w - }; - this.setItemToolTip = function(l) { - this.obj.title = l - }; - this.getItemToolTip = function() { - return this.obj.title - }; - this.getInput = function() { - return this.obj.firstChild - }; - if (typeof(g.enabled) != "undefined" && window.dhx4.s2b(g.enabled) == false) { - this.disableItem() - } - return this -}; -dhtmlXToolbarObject.prototype._buttonTwoStateObject = function(e, h, g) { - this.id = e.idPrefix + h; - this.state = (g.enabled != null ? false : true); - this.imgEn = (g.img != null ? g.img : ""); - this.imgDis = (g.imgdis != null ? g.imgdis : ""); - this.img = (this.state ? (this.imgEn != "" ? this.imgEn : "") : (this.imgDis != "" ? this.imgDis : "")); - this.obj = document.createElement("DIV"); - this.obj.pressed = (g.selected != null); - this.obj.extAction = (g.action || null); - this.obj.className = "dhx_toolbar_btn dhxtoolbar_btn_" + (this.obj.pressed ? "pres" + (this.state ? "" : "_dis") : (this.state ? "def" : "dis")); - this.obj.style.display = (g.hidden != null ? "none" : ""); - this.obj.renderAs = this.obj.className; - this.obj.idd = String(h); - this.obj.title = (g.title || ""); - if (this.obj.pressed) { - this.obj.renderAs = "dhx_toolbar_btn dhxtoolbar_btn_over" - } - var a = (e.conf.icons_css ? "" : ""); - this.obj.innerHTML = e._rtlParseBtn((this.img != "" ? a : ""), (g.text != null ? "
                    " + g.text + "
                    " : "")); - e.base.appendChild(this.obj); - if (window.dhx4.isIE) { - this.obj.onselectstart = function(l) { - l = l || event; - if (l.preventDefault) { - l.preventDefault() - } else { - l.returnValue = false - } - return false - } - } - var c = this; - this._doOnMouseOver = function(l) { - l = l || event; - if (c.state == false || c.obj.over == true) { - return - } - if (c.obj.pressed != true && c.obj.className.match(/dhxtoolbar_btn_over/gi) == null) { - c.obj.className = "dhx_toolbar_btn dhxtoolbar_btn_over" - } - c.obj.over = true - }; - this._doOnMouseOut = function(l) { - l = l || event; - if (c.state == false) { - return - } - if (c.obj.pressed != true && c.obj.className.match(/dhxtoolbar_btn_over/gi) != null) { - c.obj.className = "dhx_toolbar_btn dhxtoolbar_btn_def" - } - c.obj.over = false - }; - this._doOnMouseDown = function(l) { - l = l || event; - if (l.type == "touchstart") { - if (l.preventDefault) { - l.preventDefault() - } - l.cancelBubble = true; - if (e.conf.touch_id != null && e.conf.touch_id != c.id) { - return - } - e.conf.touch_id = c.id - } - if (c.state == false) { - return - } - if (e.callEvent("onBeforeStateChange", [c.obj.idd.replace(e.idPrefix, ""), c.obj.pressed]) !== true) { - return - } - c.obj.pressed = !c.obj.pressed; - c.obj.className = "dhx_toolbar_btn " + (c.obj.pressed == true ? "dhxtoolbar_btn_pres" : (c.obj.over == true ? "dhxtoolbar_btn_over" : "dhxtoolbar_btn_def")); - var m = c.obj.idd.replace(e.idPrefix, ""); - if (c.obj.extAction) { - try { - window[c.obj.extAction](idd, c.obj.pressed) - } catch (l) {} - } - e.callEvent("onStateChange", [m, c.obj.pressed]) - }; - this._doOnMouseUp = function(l) { - l = l || event; - if (l.type == "touchend") { - if (l.preventDefault) { - l.preventDefault() - } - l.cancelBubble = true; - if (e.conf.touch_id == c.id) { - e.conf.touch_id = null - } - } - }; - this.obj.evs = { - mouseover: "_doOnMouseOver", - mouseout: "_doOnMouseOut", - mousedown: "_doOnMouseDown", - touchstart: "_doOnMouseDown", - touchend: "_doOnMouseUp" - }; - e._evs.add.apply(this, [this.obj.evs, this.obj]); - this.setItemState = function(l, n) { - if (this.obj.pressed != l) { - if (l == true) { - this.obj.pressed = true; - this.obj.className = "dhx_toolbar_btn dhxtoolbar_btn_pres" + (this.state ? "" : "_dis") - } else { - this.obj.pressed = false; - this.obj.className = "dhx_toolbar_btn dhxtoolbar_btn_" + (this.state ? "def" : "dis") - } - if (n == true) { - var o = this.obj.idd.replace(e.idPrefix, ""); - if (this.obj.extAction) { - try { - window[this.obj.extAction](o, this.obj.pressed) - } catch (m) {} - } - e.callEvent("onStateChange", [o, this.obj.pressed]) - } - } - }; - this.getItemState = function() { - return this.obj.pressed - }; - this.enableItem = function() { - e._enableItem(this) - }; - this.disableItem = function() { - e._disableItem(this) - }; - this.isEnabled = function() { - return this.state - }; - this.showItem = function() { - this.obj.style.display = "" - }; - this.hideItem = function() { - this.obj.style.display = "none" - }; - this.isVisible = function() { - return (this.obj.style.display == "") - }; - this.setItemText = function(l) { - e._setItemText(this, l) - }; - this.getItemText = function() { - return e._getItemText(this) - }; - this.setItemImage = function(l) { - e._setItemImage(this, l, true) - }; - this.clearItemImage = function() { - e._clearItemImage(this, true) - }; - this.setItemImageDis = function(l) { - e._setItemImage(this, l, false) - }; - this.clearItemImageDis = function() { - e._clearItemImage(this, false) - }; - this.setItemToolTip = function(l) { - this.obj.title = l - }; - this.getItemToolTip = function() { - return this.obj.title - }; - return this -}; -dhtmlXToolbarObject.prototype._sliderObject = function(g, l, h) { - this.id = g.idPrefix + l; - this.state = (h.enabled != null ? (h.enabled == "true" ? true : false) : true); - this.obj = document.createElement("DIV"); - this.obj.className = "dhx_toolbar_btn dhxtoolbar_btn_" + (this.state ? "def" : "dis"); - this.obj.style.display = (h.hidden != null ? "none" : ""); - this.obj.onselectstart = function(m) { - m = m || event; - if (m.preventDefault) { - m.preventDefault() - } else { - m.returnValue = false - } - }; - this.obj.idd = String(l); - this.obj.len = (h.length != null ? Number(h.length) : 50); - this.obj.innerHTML = "
                    " + (h.textMin || "") + "
                    " + (h.textMax || "") + "
                    "; - g.base.appendChild(this.obj); - var a = this; - this.pen = document.createElement("DIV"); - this.pen.className = "dhxtoolbar_sl_pen"; - this.obj.appendChild(this.pen); - var e = this.pen; - this.label = document.createElement("DIV"); - this.label.dir = "ltr"; - this.label.className = "dhx_toolbar_slider_label_" + g.conf.skin + (g.rtl ? "_rtl" : ""); - this.label.style.display = "none"; - this.label.tip = (h.toolTip || "%v"); - this.label._zi = window.dhx4.newId(); - document.body.appendChild(this.label); - var c = this.label; - this.pen.valueMin = (h.valueMin != null ? Number(h.valueMin) : 0); - this.pen.valueMax = (h.valueMax != null ? Number(h.valueMax) : 100); - if (this.pen.valueMin > this.pen.valueMax) { - this.pen.valueMin = this.pen.valueMax - } - this.pen.valueNow = (h.valueNow != null ? Number(h.valueNow) : this.pen.valueMax); - if (this.pen.valueNow > this.pen.valueMax) { - this.pen.valueNow = this.pen.valueMax - } - if (this.pen.valueNow < this.pen.valueMin) { - this.pen.valueNow = this.pen.valueMin - } - this.pen._detectLimits = function() { - this.minX = a.obj.childNodes[1].offsetLeft + 2; - this.maxX = a.obj.childNodes[3].offsetLeft - this.offsetWidth + 1 - }; - this.pen._detectLimits(); - this.pen._definePos = function() { - this.nowX = Math.round((this.valueNow - this.valueMin) * (this.maxX - this.minX) / (this.valueMax - this.valueMin) + this.minX); - this.style.left = this.nowX + "px"; - this.newNowX = this.nowX - }; - this.pen._definePos(); - this.pen.initXY = 0; - this.pen.allowMove = false; - this.pen[window.dhx4.isIPad ? "ontouchstart" : "onmousedown"] = function(m) { - if (a.state == false) { - return - } - m = m || event; - this.initXY = (window.dhx4.isIPad ? m.touches[0].clientX : m.clientX); - this.newValueNow = this.valueNow; - this.allowMove = true; - this.className = "dhxtoolbar_sl_pen dhxtoolbar_over"; - if (c.tip != "") { - c.style.visibility = "hidden"; - c.style.display = ""; - c.innerHTML = c.tip.replace("%v", this.valueNow); - c.style.left = Math.round(window.dhx4.absLeft(this) + this.offsetWidth / 2 - c.offsetWidth / 2) + "px"; - c.style.top = window.dhx4.absTop(this) - c.offsetHeight - 3 + "px"; - c.style.visibility = ""; - c.style.zIndex = window.dhx4.zim.reserve(c._zi) - } - }; - this.pen._doOnMouseMoveStart = function(n) { - n = n || event; - if (!e.allowMove) { - return - } - var m = (window.dhx4.isIPad ? n.touches[0].clientX : n.clientX); - var o = m - e.initXY; - if (m < window.dhx4.absLeft(e) + Math.round(e.offsetWidth / 2) && e.nowX == e.minX) { - return - } - if (m > window.dhx4.absLeft(e) + Math.round(e.offsetWidth / 2) && e.nowX == e.maxX) { - return - } - e.newNowX = e.nowX + o; - if (e.newNowX < e.minX) { - e.newNowX = e.minX - } - if (e.newNowX > e.maxX) { - e.newNowX = e.maxX - } - e.nowX = e.newNowX; - e.style.left = e.nowX + "px"; - e.initXY = m; - e.newValueNow = Math.round((e.valueMax - e.valueMin) * (e.newNowX - e.minX) / (e.maxX - e.minX) + e.valueMin); - if (c.tip != "") { - c.innerHTML = c.tip.replace(/%v/gi, e.newValueNow); - c.style.left = Math.round(window.dhx4.absLeft(e) + e.offsetWidth / 2 - c.offsetWidth / 2) + "px"; - c.style.top = window.dhx4.absTop(e) - c.offsetHeight - 3 + "px" - } - n.cancelBubble = true; - if (n.preventDefault) { - n.preventDefault() - } else { - n.returnValue = false - } - return false - }; - this.pen._doOnMouseMoveEnd = function() { - if (!e.allowMove) { - return - } - e.className = "dhxtoolbar_sl_pen"; - e.allowMove = false; - e.nowX = e.newNowX; - e.valueNow = e.newValueNow; - if (c.tip != "") { - c.style.display = "none"; - window.dhx4.zim.clear(c._zi) - } - g.callEvent("onValueChange", [a.obj.idd.replace(g.idPrefix, ""), e.valueNow]) - }; - if (window.dhx4.isIPad) { - document.addEventListener("touchmove", e._doOnMouseMoveStart, false); - document.addEventListener("touchend", e._doOnMouseMoveEnd, false) - } else { - if (typeof(window.addEventListener) != "undefined") { - window.addEventListener("mousemove", e._doOnMouseMoveStart, false); - window.addEventListener("mouseup", e._doOnMouseMoveEnd, false) - } else { - document.body.attachEvent("onmousemove", e._doOnMouseMoveStart); - document.body.attachEvent("onmouseup", e._doOnMouseMoveEnd) - } - } - this.enableItem = function() { - if (this.state) { - return - } - this.state = true; - this.obj.className = "dhx_toolbar_btn dhxtoolbar_btn_def" - }; - this.disableItem = function() { - if (!this.state) { - return - } - this.state = false; - this.obj.className = "dhx_toolbar_btn dhxtoolbar_btn_dis" - }; - this.isEnabled = function() { - return this.state - }; - this.showItem = function() { - this.obj.style.display = "" - }; - this.hideItem = function() { - this.obj.style.display = "none" - }; - this.isVisible = function() { - return (this.obj.style.display == "") - }; - this.setValue = function(m, n) { - m = Number(m); - if (m < this.pen.valueMin) { - m = this.pen.valueMin - } - if (m > this.pen.valueMax) { - m = this.pen.valueMax - } - this.pen.valueNow = m; - this.pen._definePos(); - if (n == true) { - g.callEvent("onValueChange", [this.obj.idd.replace(g.idPrefix, ""), this.pen.valueNow]) - } - }; - this.getValue = function() { - return this.pen.valueNow - }; - this.setMinValue = function(n, m) { - n = Number(n); - if (n > this.pen.valueMax) { - return - } - this.obj.childNodes[0].innerHTML = m; - this.obj.childNodes[0].style.display = (m.length > 0 ? "" : "none"); - this.pen.valueMin = n; - if (this.pen.valueNow < this.pen.valueMin) { - this.pen.valueNow = this.pen.valueMin - } - this.pen._detectLimits(); - this.pen._definePos() - }; - this.setMaxValue = function(n, m) { - n = Number(n); - if (n < this.pen.valueMin) { - return - } - this.obj.childNodes[4].innerHTML = m; - this.obj.childNodes[4].style.display = (m.length > 0 ? "" : "none"); - this.pen.valueMax = n; - if (this.pen.valueNow > this.pen.valueMax) { - this.pen.valueNow = this.pen.valueMax - } - this.pen._detectLimits(); - this.pen._definePos() - }; - this.getMinValue = function() { - var m = this.obj.childNodes[0].innerHTML; - var n = this.pen.valueMin; - return new Array(n, m) - }; - this.getMaxValue = function() { - var m = this.obj.childNodes[4].innerHTML; - var n = this.pen.valueMax; - return new Array(n, m) - }; - this.setItemToolTipTemplate = function(m) { - this.label.tip = m - }; - this.getItemToolTipTemplate = function() { - return this.label.tip - }; - return this -}; -dhtmlXToolbarObject.prototype.unload = function() { - if (typeof(window.addEventListener) == "function") { - window.removeEventListener("mousedown", this._doOnClick, false); - window.removeEventListener("touchstart", this._doOnClick, false) - } else { - document.body.detachEvent("onmousedown", this._doOnClick) - } - this._doOnClick = null; - this.clearAll(); - this.objPull = null; - if (this._xmlLoader) { - this._xmlLoader.destructor(); - this._xmlLoader = null - } - while (this.base.childNodes.length > 0) { - this.base.removeChild(this.base.childNodes[0]) - } - this.cont.removeChild(this.base); - this.base = null; - while (this.cont.childNodes.length > 0) { - this.cont.removeChild(this.cont.childNodes[0]) - } - this.cont.className = ""; - this.cont = null; - window.dhx4._enableDataLoading(this, null, null, null, "clear"); - window.dhx4._eventable(this, "clear"); - this.tX1 = null; - this.tX2 = null; - this.tY1 = null; - this.tY2 = null; - this.anyUsed = null; - this.idPrefix = null; - this.rootTypes = null; - this._rtl = null; - this._rtlParseBtn = null; - this.setRTL = null; - this._sbw = null; - this._getObj = null; - this._addImgObj = null; - this._setItemImage = null; - this._clearItemImage = null; - this._setItemText = null; - this._getItemText = null; - this._enableItem = null; - this._disableItem = null; - this._xmlParser = null; - this._addItemToStorage = null; - this._genStr = null; - this._addItem = null; - this._getPosition = null; - this._setPosition = null; - this._getIdByPosition = null; - this._separatorObject = null; - this._textObject = null; - this._buttonObject = null; - this._buttonSelectObject = null; - this._buttonInputObject = null; - this._buttonTwoStateObject = null; - this._sliderObject = null; - this._autoDetectVisibleArea = null; - this._removeItem = null; - this.setAlign = null; - this.setSkin = null; - this.setIconsPath = null; - this.setIconPath = null; - this.loadXML = null; - this.loadXMLString = null; - this.clearAll = null; - this.addSpacer = null; - this.removeSpacer = null; - this.getType = null; - this.getTypeExt = null; - this.inArray = null; - this.getParentId = null; - this.addButton = null; - this.addText = null; - this.addButtonSelect = null; - this.addButtonTwoState = null; - this.addSeparator = null; - this.addSlider = null; - this.addInput = null; - this.forEachItem = null; - this.showItem = null; - this.hideItem = null; - this.isVisible = null; - this.enableItem = null; - this.disableItem = null; - this.isEnabled = null; - this.setItemText = null; - this.getItemText = null; - this.setItemToolTip = null; - this.getItemToolTip = null; - this.setItemImage = null; - this.setItemImageDis = null; - this.clearItemImage = null; - this.clearItemImageDis = null; - this.setItemState = null; - this.getItemState = null; - this.setItemToolTipTemplate = null; - this.getItemToolTipTemplate = null; - this.setValue = null; - this.getValue = null; - this.setMinValue = null; - this.getMinValue = null; - this.setMaxValue = null; - this.getMaxValue = null; - this.setWidth = null; - this.getWidth = null; - this.getPosition = null; - this.setPosition = null; - this.removeItem = null; - this.addListOption = null; - this.removeListOption = null; - this.showListOption = null; - this.hideListOption = null; - this.isListOptionVisible = null; - this.enableListOption = null; - this.disableListOption = null; - this.isListOptionEnabled = null; - this.setListOptionPosition = null; - this.getListOptionPosition = null; - this.setListOptionText = null; - this.getListOptionText = null; - this.setListOptionToolTip = null; - this.getListOptionToolTip = null; - this.setListOptionImage = null; - this.getListOptionImage = null; - this.clearListOptionImage = null; - this.forEachListOption = null; - this.getAllListOptions = null; - this.setListOptionSelected = null; - this.getListOptionSelected = null; - this.unload = null; - this.setUserData = null; - this.getUserData = null; - this.setMaxOpen = null; - this.items = null; - this.conf = null -}; -dhtmlXToolbarObject.prototype._autoDetectVisibleArea = function() { - var a = window.dhx4.screenDim(); - this.tX1 = a.left; - this.tX2 = a.right; - this.tY1 = a.top; - this.tY2 = a.bottom -}; -dhtmlXToolbarObject.prototype.setIconset = function(a) { - this.conf.icons_css = (a == "awesome") -}; -dhtmlXToolbarObject.prototype._evs = { - add: function(e, g) { - for (var c in e) { - if (typeof(window.addEventListener) == "function") { - g.addEventListener(c, this[e[c]], false) - } else { - if (c.match(/^touch/) == null) { - g.attachEvent("on" + c, this[e[c]]) - } - } - } - g = e = null - }, - clear: function(e, g) { - for (var c in e) { - if (typeof(window.addEventListener) == "function") { - g.removeEventListener(c, this[e[c]], false) - } else { - if (c.match(/^touch/) == null) { - g.detachEvent("on" + c, this[e[c]]) - } - } - } - g = e = null - } -}; -dhtmlXToolbarObject.prototype._initObj = function(c) { - for (var a = 0; a < c.length; a++) { - this._addItemToStorage(c[a]) - } - if (this.conf.skin == "dhx_terrace") { - this._improveTerraceSkin() - } -}; -dhtmlXToolbarObject.prototype._xmlToJson = function(v) { - var o = []; - var A = v.getElementsByTagName("toolbar"); - if (A != null && A[0] != null) { - A = A[0]; - var x = function(h) { - var e = null; - for (var r = 0; r < h.childNodes.length; r++) { - if (e == null && h.childNodes[r].tagName == "itemText") { - e = window.dhx4._xmlNodeValue(h.childNodes[r]); - break - } - } - return e - }; - var E = ["id", "type", "hidden", "title", "text", "enabled", "img", "imgdis", "action", "openAll", "renderSelect", "mode", "maxOpen", "width", "value", "selected", "length", "textMin", "textMax", "toolTip", "valueMin", "valueMax", "valueNow"]; - var g = ["id", "type", "enabled", "disabled", "action", "selected", "img", "text"]; - for (var c = 0; c < A.childNodes.length; c++) { - if (A.childNodes[c].tagName == "item") { - var n = {}; - for (var C = 0; C < E.length; C++) { - var l = A.childNodes[c].getAttribute(E[C]); - if (l != null) { - n[E[C]] = l - } - } - for (var y = 0; y < A.childNodes[c].childNodes.length; y++) { - if (A.childNodes[c].childNodes[y].tagName == "item" && n.type == "buttonSelect") { - var D = {}; - for (var C = 0; C < g.length; C++) { - var l = A.childNodes[c].childNodes[y].getAttribute(g[C]); - if (l != null) { - D[g[C]] = l - } - } - var s = A.childNodes[c].childNodes[y].getElementsByTagName("userdata"); - for (var C = 0; C < s.length; C++) { - if (!D.userdata) { - D.userdata = {} - } - var a = {}; - try { - a.name = s[C].getAttribute("name") - } catch (m) { - a.name = null - } - try { - a.value = s[C].firstChild.nodeValue - } catch (m) { - a.value = "" - } - if (a.name != null) { - D.userdata[a.name] = a.value - } - } - D.text = x(A.childNodes[c].childNodes[y]) || D.text; - if (n.options == null) { - n.options = [] - } - n.options.push(D) - } - if (A.childNodes[c].childNodes[y].tagName == "userdata") { - if (n.userdata == null) { - n.userdata = {} - } - var D = {}; - try { - D.name = A.childNodes[c].childNodes[y].getAttribute("name") - } catch (m) { - D.name = null - } - try { - D.value = A.childNodes[c].childNodes[y].firstChild.nodeValue - } catch (m) { - D.value = "" - } - if (D.name != null) { - n.userdata[D.name] = D.value - } - } - } - n.text = x(A.childNodes[c]) || n.text; - o.push(n) - } - } - x = null - } - return o -}; -dhtmlXToolbarObject.prototype._addItemToStorage = function(l, n) { - var m = (l.id || this._genStr(24)); - var g = (l.type || ""); - if (g == "spacer") { - this.addSpacer(this._lastId) - } else { - this._lastId = m - } - if (g != "" && this["_" + g + "Object"] != null) { - if (g == "buttonSelect") { - if (l.options != null) { - for (var h = 0; h < l.options.length; h++) { - if (l.options[h].type == "obj") { - l.options[h].type = "button" - } - if (l.options[h].type == "sep") { - l.options[h].type = "separator" - } - } - } - } - if (g == "slider") { - var e = { - tip_template: "toolTip", - value_min: "valueMin", - value_max: "valueMax", - value_now: "valueNow", - text_min: "textMin", - text_max: "textMax" - }; - for (var c in e) { - if (l[e[c]] == null && l[c] != null) { - l[e[c]] = l[c] - } - } - } - if (g == "buttonInput") { - if (l.value == null && l.text != null) { - l.value = l.text - } - } - if (g == "buttonTwoState") { - if (typeof(l.selected) == "undefined" && typeof(l.pressed) != "undefined" && window.dhx4.s2b(l.pressed)) { - l.selected = true - } - } - if (typeof(l.enabled) == "undefined" && typeof(l.disabled) != "undefined" && window.dhx4.s2b(l.disabled)) { - l.enabled = false - } - if (l.imgDis == null && l.img_disabled != null) { - l.imgdis = l.img_disabled - } - if ((typeof(l.openAll) == "undefined" || l.openAll == null) && this.conf.skin == "dhx_terrace") { - l.openAll = true - } - this.objPull[this.idPrefix + m] = new this["_" + g + "Object"](this, m, l); - this.objPull[this.idPrefix + m]["type"] = g; - this.setPosition(m, n) - } - if (l.userdata != null) { - for (var c in l.userdata) { - this.setUserData(m, c, l.userdata[c]) - } - } - if (l.options != null) { - for (var h = 0; h < l.options.length; h++) { - if (l.options[h].userdata != null) { - for (var c in l.options[h].userdata) { - this.setListOptionUserData(l.id, l.options[h].id, c, l.options[h].userdata[c]) - } - } - } - } -}; -dhtmlXToolbarObject.prototype.setSkin = function(h, e) { - if (e === true) { - this.cont.className = this.cont.className.replace(/dhxtoolbar_icons_\d{1,}/, "dhxtoolbar_icons_" + this.conf.iconSize) - } else { - this.conf.skin = h; - if (this.conf.skin == "dhx_skyblue") { - this.conf.sel_ofs_y = 1 - } - if (this.conf.skin == "dhx_web") { - this.conf.sel_ofs_y = 1; - this.conf.sel_ofs_x = 1 - } - if (this.conf.skin == "dhx_terrace") { - this.conf.sel_ofs_y = -1; - this.conf.sel_ofs_x = 0 - } - if (this.conf.skin == "material") { - this.conf.sel_ofs_y = -1; - this.conf.sel_ofs_x = 0 - } - this.cont.className = "dhx_toolbar_" + this.conf.skin + " dhxtoolbar_icons_" + this.conf.iconSize + this.conf.cssShadow - } - for (var c in this.objPull) { - var g = this.objPull[c]; - if (g.type == "slider") { - g.pen._detectLimits(); - g.pen._definePos(); - g.label.className = "dhx_toolbar_slider_label_" + this.conf.skin - } - if (g.type == "buttonSelect") { - g.polygon.className = "dhx_toolbar_poly_" + this.conf.skin + " dhxtoolbar_icons_" + this.conf.iconSize + this.conf.cssShadow - } - } - if (h == "dhx_terrace") { - this._improveTerraceSkin() - } -}; -dhtmlXToolbarObject.prototype.setAlign = function(a) { - this.conf.align = (a == "right" ? "right" : "left"); - this.base.className = (a == "right" ? "dhxtoolbar_float_right" : "dhxtoolbar_float_left"); - if (this._spacer) { - this._spacer.className = (a == "right" ? " dhxtoolbar_float_left" : " dhxtoolbar_float_right") - } -}; -dhtmlXToolbarObject.prototype.setIconSize = function(a) { - this.conf.iconSize = ({ - 18: true, - 24: true, - 32: true, - 48: true - }[a] ? a : 18); - this.setSkin(this.conf.skin, true); - this.callEvent("_onIconSizeChange", [this.conf.iconSize]) -}; -dhtmlXToolbarObject.prototype.setIconsPath = function(a) { - this.conf.icons_path = a -}; -dhtmlXToolbarObject.prototype.setUserData = function(e, a, c) { - e = this.idPrefix + e; - if (this.objPull[e] != null) { - if (this.objPull[e].userData == null) { - this.objPull[e].userData = {} - } - this.objPull[e].userData[a] = c - } -}; -dhtmlXToolbarObject.prototype.getUserData = function(c, a) { - c = this.idPrefix + c; - if (this.objPull[c] != null && this.objPull[c].userData != null) { - return this.objPull[c].userData[a] || null - } - return null -}; -dhtmlXToolbarObject.prototype._isListOptionExists = function(a, e) { - if (this.objPull[this.idPrefix + a] == null) { - return false - } - var c = this.objPull[this.idPrefix + a]; - if (c.type != "buttonSelect") { - return false - } - if (c._listOptions[e] == null) { - return false - } - return true -}; -dhtmlXToolbarObject.prototype.setListOptionUserData = function(a, h, c, g) { - if (!this._isListOptionExists(a, h)) { - return - } - var e = this.objPull[this.idPrefix + a]._listOptions[h]; - if (e.userData == null) { - e.userData = {} - } - e.userData[c] = g -}; -dhtmlXToolbarObject.prototype.getListOptionUserData = function(a, g, c) { - if (!this._isListOptionExists(a, g)) { - return null - } - var e = this.objPull[this.idPrefix + a]._listOptions[g]; - if (!e.userData) { - return null - } - return (e.userData[c] ? e.userData[c] : null) -}; -dhtmlXToolbarObject.prototype._improveTerraceSkin = function() { - if (this.conf.terrace_radius == null) { - this.conf.terrace_radius = "3px" - } - var g = []; - var h = { - separator: true, - text: true - }; - var m = [this.base]; - if (this._spacer != null) { - m.push(this._spacer) - } - for (var o = 0; o < m.length; o++) { - g[o] = []; - for (var c = 0; c < m[o].childNodes.length; c++) { - if (m[o].childNodes[c].idd != null && m[o].childNodes[c].style.display != "none") { - var n = this.idPrefix + m[o].childNodes[c].idd; - if (this.objPull[n] != null && this.objPull[n].obj == m[o].childNodes[c]) { - g[o].push({ - a: n, - type: this.objPull[n].type, - node: this.objPull[n][this.objPull[n].type == "buttonSelect" ? "arw" : "obj"] - }) - } - } - } - m[o] = null - } - for (var o = 0; o < g.length; o++) { - for (var c = 0; c < g[o].length; c++) { - var r = g[o][c]; - var s = false; - var l = false; - if (!h[r.type]) { - if (c == g[o].length - 1 || (g[o][c + 1] != null && h[g[o][c + 1].type])) { - s = true - } - if (c == 0 || (c - 1 >= 0 && g[o][c - 1] != null && h[g[o][c - 1].type])) { - l = true - } - } - r.node.style.borderRightWidth = (s ? "1px" : "0px"); - r.node.style.borderTopRightRadius = r.node.style.borderBottomRightRadius = (s ? this.conf.terrace_radius : "0px"); - if (r.type == "buttonSelect") { - r.node.previousSibling.style.borderTopLeftRadius = r.node.previousSibling.style.borderBottomLeftRadius = (l ? this.conf.terrace_radius : "0px"); - r.node.previousSibling._br = s; - r.node.previousSibling._bl = l - } else { - r.node.style.borderTopLeftRadius = r.node.style.borderBottomLeftRadius = (l ? this.conf.terrace_radius : "0px") - } - r.node._br = s; - r.node._bl = l - } - } - for (var o = 0; o < g.length; o++) { - for (var c = 0; c < g[o].length; c++) { - for (var n in g[o][c]) { - g[o][c][n] = null - } - g[o][c] = null - } - g[o] = null - } - g = m = null -}; -dhtmlXToolbarObject.prototype._improveTerraceButtonSelect = function(e, c) { - var a = this.objPull[e]; - if (c == true) { - a.obj.style.borderBottomLeftRadius = (a.obj._bl ? this.conf.terrace_radius : "0px"); - a.arw.style.borderBottomRightRadius = (a.obj._br ? this.conf.terrace_radius : "0px") - } else { - a.obj.style.borderBottomLeftRadius = "0px"; - a.arw.style.borderBottomRightRadius = "0px" - } - a = null -}; -if (typeof(window.dhtmlXCellObject) != "undefined") { - dhtmlXCellObject.prototype._createNode_toolbar = function(h, c, g, a, e) { - if (typeof(e) != "undefined") { - h = e - } else { - h = document.createElement("DIV"); - h.className = "dhx_cell_toolbar_" + (this.conf.borders ? "def" : "no_borders"); - h.appendChild(document.createElement("DIV")); - h.firstChild.className = "dhx_toolbar_base_18_dhx_skyblue" - } - this.cell.insertBefore(h, this.cell.childNodes[this.conf.idx.cont]); - this.conf.ofs_nodes.t.toolbar = true; - this._updateIdx(); - return h - }; - dhtmlXCellObject.prototype.attachToolbar = function(a) { - if (!(this.dataNodes.ribbon == null && this.dataNodes.toolbar == null)) { - return - } - this.callEvent("_onBeforeContentAttach", ["toolbar"]); - if (typeof(a) == "undefined") { - a = {} - } else { - if (typeof(a) == "string") { - a = { - skin: a - } - } - } - if (typeof(a.skin) == "undefined") { - a.skin = this.conf.skin - } - a.parent = this._attachObject("toolbar").firstChild; - this.dataNodes.toolbar = new dhtmlXToolbarObject(a); - this._adjustCont(this._idd); - this.dataNodes.toolbar._masterCell = this; - this.dataNodes.toolbar.attachEvent("_onIconSizeChange", function() { - this._masterCell._adjustCont() - }); - a.parent = null; - a = null; - this.callEvent("_onContentAttach", []); - return this.dataNodes.toolbar - }; - dhtmlXCellObject.prototype.detachToolbar = function() { - if (this.dataNodes.toolbar == null) { - return - } - this.dataNodes.toolbar._masterCell = null; - if (typeof(this.dataNodes.toolbar.unload) == "function") { - this.dataNodes.toolbar.unload() - } - this.dataNodes.toolbar = null; - delete this.dataNodes.toolbar; - this._detachObject("toolbar") - }; - dhtmlXCellObject.prototype.showToolbar = function() { - this._mtbShowHide("toolbar", "") - }; - dhtmlXCellObject.prototype.hideToolbar = function() { - this._mtbShowHide("toolbar", "none") - }; - dhtmlXCellObject.prototype.getAttachedToolbar = function() { - return this.dataNodes.toolbar - } -} - -function dhtmlXEditor(e, g) { - var c = this; - this.conf = { - content: "", - contentHTML: "", - resizeTM: null, - resizeTMTime: 100, - roMode: false, - toolbar: false, - iconsPath: "", - evs: ["focus", "blur", "keydown", "keyup", "keypress", "mouseup", "mousedown", "click", "touchend"], - iOSfix: (navigator.userAgent.match(/Mobile/gi) != null && navigator.userAgent.match(/iPad/gi) != null && navigator.userAgent.match(/AppleWebKit/gi) != null), - extra_css: "", - font: { - family: "Tahoma", - size: "12px", - color: "black" - } - }; - this._doOnFocusChanged = null; - this._doOnAccess = null; - if (typeof(e) == "object" && e != null && e.tagName == null) { - g = e.skin; - if (e.content != null) { - this.conf.content = e.content - } - if (e.contentHTML != null) { - this.conf.contentHTML = e.contentHTML - } - if (e.iconsPath != null) { - this.conf.iconsPath = e.iconsPath - } - if (e.extraCss != null) { - this.conf.extra_css = e.extraCss - } - if (e.toolbar != null) { - this.conf.toolbar = window.dhx4.s2b(e.toolbar) - } - if (e.onFocusChanged != null) { - this._doOnFocusChanged = e.onFocusChanged - } - if (e.onAccess != null) { - this._doOnAccess = e.onAccess - } - e = e.parent - } - this.conf.skin = (g || window.dhx4.skin || (typeof(dhtmlx) != "undefined" ? dhtmlx.skin : null) || window.dhx4.skinDetect("dhxeditor") || "material"); - if (typeof(e) == "string") { - e = document.getElementById(e) - } - this.base = e; - this.base.className += " dhxeditor_" + this.conf.skin; - while (this.base.childNodes.length > 0) { - this.base.removeChild(this.base.childNodes[0]) - } - var h = (window.dhx4.isIE ? this.base.currentStyle.position : (window.getComputedStyle != null ? window.getComputedStyle(this.base, null).getPropertyValue("position") : "")); - if (!(h == "relative" || h == "absolute")) { - this.base.style.position = "relative" - } - this.cell = new dhtmlXEditorCell(window.dhx4.newId(), this); - this.base.appendChild(this.cell.cell); - this.cBlock = document.createElement("DIV"); - this.cBlock.className = "dhxcont_content_blocker"; - this.cBlock.style.display = "none"; - this.base.appendChild(this.cBlock); - this.editor = document.createElement("IFRAME"); - this.editor.className = "dhxeditor_mainiframe"; - this.editor.frameBorder = 0; - if (window.dhx4.isOpera) { - this.editor.scrolling = "yes" - } - this.setSizes(); - var a = this.editor; - if (typeof(window.addEventListener) != "undefined") { - a.onload = function() { - for (var l = 0; l < c.conf.evs.length; l++) { - a.contentWindow.addEventListener(c.conf.evs[l], c._ev, false) - } - } - } else { - a.onreadystatechange = function(l) { - if (typeof(a.readyState) != "undefined" && a.readyState == "complete") { - try { - for (var m = 0; m < c.conf.evs.length; m++) { - a.contentWindow.document.body.attachEvent("on" + c.conf.evs[m], c._ev) - } - } catch (n) {} - } - } - } - this._ev = function(m) { - m = m || event; - var l = m.type; - if (c.conf.iOSfix == true && l == "touchend") { - c.editor.contentWindow.focus(); - return - } - c.callEvent("onAccess", [l, m]); - if (typeof(c._doOnAccess) == "function") { - c._doOnAccess(l, m) - } else { - if (typeof(c._doOnAccess) == "string" && typeof(window[c._doOnAccess]) == "function") { - window[c._doOnAccess](l, m) - } - } - }; - this._focus = function() { - if (window.dhx4.isIE) { - this.editor.contentWindow.document.body.focus() - } else { - this.editor.contentWindow.focus() - } - }; - this.cell.attachObject(this.editor); - this.edWin = this.editor.contentWindow; - this.edDoc = this.edWin.document; - this._prepareContent = function(n, q) { - var m = ""; - if (n === true && this.getContent != null) { - m = this.getContent() - } - var l = this.editor.contentWindow.document; - l.open("text/html", "replace"); - if (window.dhx4.isOpera) { - l.write("" + this.conf.extra_css + "") - } else { - if (window.dhx4.isKHTML) { - l.write("" + this.conf.extra_css + "") - } else { - if (window.dhx4.isIE) { - l.write("" + this.conf.extra_css + "") - } else { - l.write("" + this.conf.extra_css + "") - } - } - } - l.close(); - if (window.dhx4.isIE) { - l.contentEditable = (q !== true) - } else { - l.designMode = (q !== true ? "On" : "Off") - } - if (window.dhx4.isFF) { - try { - l.execCommand("useCSS", false, true) - } catch (o) {} - } - if (n === true && this.setContent != null) { - this.setContent(m) - } - }; - this._prepareContent(); - this._doOnResize = function() { - window.clearTimeout(c.conf.resizeTM); - c.conf.resizeTM = window.setTimeout(function() { - if (c.setSizes) { - c.setSizes() - } - }, c.conf.resizeTMTime) - }; - this._runCommand = function(n, q) { - if (this.conf.roMode === true) { - return - } - if (arguments.length < 2) { - q = null - } - if (window.dhx4.isIE) { - this.edWin.focus() - } - try { - var m = this.editor.contentWindow.document; - m.execCommand(n, false, q) - } catch (o) {} - if (window.dhx4.isIE) { - this.edWin.focus(); - var l = this; - window.setTimeout(function() { - l.edWin.focus(); - l = null - }, 1) - } - }; - this.applyBold = function() { - this._runCommand("Bold") - }; - this.applyItalic = function() { - this._runCommand("Italic") - }; - this.applyUnderscore = function() { - this._runCommand("Underline") - }; - this.clearFormatting = function() { - this._runCommand("RemoveFormat"); - var l = this.getContent(); - l = l.replace(/<\/?h\d>/gi, ""); - this.setContent(l) - }; - this._doOnClick = function(n) { - var m = n || window.event; - var l = m.target || m.srcElement; - c._showInfo(l) - }; - this._doOnMouseDown = function(n) { - var m = n || window.event; - var l = m.target || m.srcElement; - c._showInfo(l) - }; - this._doOnKeyUp = function(o) { - var n = o || window.event; - var l = n.keyCode; - var m = n.target || n.srcElement; - if ({ - 37: 1, - 38: 1, - 39: 1, - 40: 1, - 13: 1 - }[l] == 1) { - c._showInfo(m) - } - }; - this._getParentByTag = function(l, n) { - n = n.toLowerCase(); - var m = l; - do { - if (n == "" || m.nodeName.toLowerCase() == n) { - return m - } - } while (m = m.parentNode); - return l - }; - this._isStyleProperty = function(m, q, l, o) { - q = q.toLowerCase(); - var r = m; - do { - if ((r.nodeName.toLowerCase() == q) && (r.style[l] == o)) { - return true - } - } while (r = r.parentNode); - return false - }; - this._setStyleProperty = function(l, o) { - this.style[o] = false; - var m = this._getParentByTag(l, o); - if (m && (m.tagName.toLowerCase() == o)) { - this.style[o] = true - } - if (o == "del" && this._getParentByTag(l, "strike") && this._getParentByTag(l, "strike").tagName.toLowerCase() == "strike") { - this.style.del = true - } - }; - this._showInfo = function(m) { - var m = (this._getSelectionBounds().end) ? this._getSelectionBounds().end : m; - if (!m || !this._setStyleProperty) { - return - } - try { - if (this.edWin.getComputedStyle) { - var l = this.edWin.getComputedStyle(m, null); - var n = ((l.getPropertyValue("font-weight") == 401) ? 700 : l.getPropertyValue("font-weight")); - this.style = { - fontStyle: l.getPropertyValue("font-style"), - fontSize: l.getPropertyValue("font-size"), - textDecoration: l.getPropertyValue("text-decoration"), - fontWeight: n, - fontFamily: l.getPropertyValue("font-family"), - textAlign: l.getPropertyValue("text-align") - }; - if (window.dhx4.isKHTML) { - this.style.fontStyle = l.getPropertyValue("font-style"); - this.style.vAlign = l.getPropertyValue("vertical-align"); - this.style.del = this._isStyleProperty(m, "span", "textDecoration", "line-through"); - this.style.u = this._isStyleProperty(m, "span", "textDecoration", "underline") - } - } else { - var l = m.currentStyle; - this.style = { - fontStyle: l.fontStyle, - fontSize: l.fontSize, - textDecoration: l.textDecoration, - fontWeight: l.fontWeight, - fontFamily: l.fontFamily, - textAlign: l.textAlign - } - } - this._setStyleProperty(m, "h1"); - this._setStyleProperty(m, "h2"); - this._setStyleProperty(m, "h3"); - this._setStyleProperty(m, "h4"); - if (!window.dhx4.isKHTML) { - this._setStyleProperty(m, "del"); - this._setStyleProperty(m, "sub"); - this._setStyleProperty(m, "sup"); - this._setStyleProperty(m, "u") - } - this.callEvent("onFocusChanged", [this.style, l]) - } catch (o) { - return null - } - }; - this._getSelectionBounds = function() { - var q, n, s, m; - if (this.edWin.getSelection) { - var r = this.edWin.getSelection(); - if (window.dhx4.isEdge && r.rangeCount == 0) { - return { - root: null, - start: null, - end: null - } - } - q = r.getRangeAt(r.rangeCount - 1); - s = q.startContainer; - m = q.endContainer; - n = q.commonAncestorContainer; - if (s.nodeName == "#text") { - n = n.parentNode - } - if (s.nodeName == "#text") { - s = s.parentNode - } - if (s.nodeName.toLowerCase() == "body") { - s = s.firstChild - } - if (m.nodeName == "#text") { - m = m.parentNode - } - if (m.nodeName.toLowerCase() == "body") { - m = m.lastChild - } - if (s == m) { - n = s - } - return { - root: n, - start: s, - end: m - } - } else { - if (this.edWin.document.selection) { - q = this.edDoc.selection.createRange(); - if (!q.duplicate) { - return null - } - n = q.parentElement(); - var o = q.duplicate(); - var l = q.duplicate(); - o.collapse(true); - l.moveToElementText(o.parentElement()); - l.setEndPoint("EndToStart", o); - s = o.parentElement(); - o = q.duplicate(); - l = q.duplicate(); - l.collapse(false); - o.moveToElementText(l.parentElement()); - o.setEndPoint("StartToEnd", l); - m = l.parentElement(); - if (s.nodeName.toLowerCase() == "body") { - s = s.firstChild - } - if (m.nodeName.toLowerCase() == "body") { - m = m.lastChild - } - if (s == m) { - n = s - } - return { - root: n, - start: s, - end: m - } - } - } - return null - }; - this.getContent = function() { - if (!this.edDoc.body) { - return "" - } else { - if (window.dhx4.isFF || window.dhx4.isChrome) { - return this.editor.contentWindow.document.body.innerHTML.replace(/<\/{0,}br\/{0,}>\s{0,}$/gi, "") - } - if (window.dhx4.isIE && this.edDoc.body.innerText.length == 0) { - return "" - } - return this.edDoc.body.innerHTML - } - }; - this.setContent = function(n) { - n = n || ""; - if (this.edDoc.body) { - var m = false; - if (window.dhx4.isFF) { - var l = navigator.userAgent.match(/Firefox\/(\d*)/); - m = (l != null && l[1] < 28) - } - if (m) { - if (typeof(this.conf.ffTest) == "undefined") { - this.editor.contentWindow.document.body.innerHTML = ""; - this._runCommand("InsertHTML", "test"); - this.conf.ffTest = (this.editor.contentWindow.document.body.innerHTML.length > 0) - } - if (this.conf.ffTest) { - this.editor.contentWindow.document.body.innerHTML = n - } else { - this.editor.contentWindow.document.body.innerHTML = ""; - if (n.length == 0) { - n = " " - } - this._runCommand("InsertHTML", n) - } - } else { - this.editor.contentWindow.document.body.innerHTML = n - } - this.callEvent("onContentSet", []) - } else { - if (!this.conf.firstLoadEv) { - this.conf.firstLoadEv = true; - this.conf.firstLoadData = n; - this._onFirstLoad = function() { - c.setContent(c.conf.firstLoadData); - if (typeof(window.addEventListener) == "function") { - c.edWin.removeEventListener("load", c._onFirstLoad, false) - } else { - c.edWin.detachEvent("onload", c._onFirstLoad) - } - c.conf.firstLoadData = null; - c.conf.firstLoadEv = false; - c._onFirstLoad = null - }; - if (typeof(window.addEventListener) == "function") { - this.edWin.addEventListener("load", this._onFirstLoad, false) - } else { - this.edWin.attachEvent("onload", this._onFirstLoad) - } - } - } - }; - this.setContentHTML = function(l) { - window.dhx4.ajax.get(l, function(m) { - if (m.xmlDoc.responseText != null) { - c.setContent(m.xmlDoc.responseText) - } - }) - }; - window.dhx4._eventable(this); - this.attachEvent("onFocusChanged", function(l) { - if (typeof(this._doOnFocusChanged) == "function") { - this._doOnFocusChanged(l) - } else { - if (typeof(this._doOnFocusChanged) == "string" && typeof(window[this._doOnFocusChanged]) == "function") { - window[this._doOnFocusChanged](l) - } - } - }); - if (typeof(window.addEventListener) == "function") { - window.addEventListener("resize", this._doOnResize, false); - this.edDoc.addEventListener("click", this._doOnClick, false); - this.edDoc.addEventListener("keyup", this._doOnKeyUp, false); - if (window.dhx4.isOpera) { - this.edDoc.addEventListener("mousedown", this._doOnMouseDown, false) - } - } else { - window.attachEvent("onresize", this._doOnResize); - this.edDoc.attachEvent("onclick", this._doOnClick); - this.edDoc.attachEvent("onkeyup", this._doOnKeyUp) - } - this.unload = function() { - if (typeof(window.addEventListener) == "function") { - window.removeEventListener("resize", this._doOnResize, false); - this.edDoc.removeEventListener("click", this._doOnClick, false); - this.edDoc.removeEventListener("keyup", this._doOnKeyUp, false); - if (window.dhx4.isOpera) { - this.edDoc.removeEventListener("mousedown", this._doOnMouseDown, false) - } - for (var l = 0; l < c.conf.evs.length; l++) { - a.contentWindow.removeEventListener(c.conf.evs[l], c._ev, false) - } - if (this.tb != null && this.conf.iOSfix == true) { - this.tb.cont.removeEventListener("touchend", this._doOnIOSFix, false); - this._doOnIOSFix = null - } - } else { - window.detachEvent("onresize", this._doOnResize, false); - this.edDoc.detachEvent("onclick", this._doOnClick); - this.edDoc.detachEvent("onkeyup", this._doOnKeyUp); - for (var l = 0; l < c.conf.evs.length; l++) { - a.contentWindow.document.body.detachEvent("on" + c.conf.evs[l], c._ev) - } - } - this._doOnAccess = null; - this._doOnFocusChanged = null; - if (typeof(window.addEventListener) == "function") { - this.editor.onload = null - } else { - this.editor.onreadystatechange = null - } - this.editor.parentNode.removeChild(this.editor); - this.editor = null; - this.edDoc = null; - this.edWin = null; - this.cell._unload(); - this.cell = null; - this.tb = null; - window.dhx4._eventable(this, "clear"); - this.cBlock.parentNode.removeChild(this.cBlock); - this.cBlock = null; - this.base.className = String(this.base.className).replace(new RegExp("\\s{0,}dhxeditor_" + this.conf.skin), ""); - while (this.base.childNodes.length > 0) { - this.base.removeChild(this.base.childNodes[0]) - } - this.base = null; - this._doOnClick = null; - this._doOnKeyUp = null; - this._doOnMouseDown = null; - this._ev = null; - this._focus = null; - this._prepareContent = null; - this._doOnResize = null; - this.setIconsPath = null; - this.init = null; - this.setSizes = null; - this._runCommand = null; - this.applyBold = null; - this.applyItalic = null; - this.applyUnderscore = null; - this.clearFormatting = null; - this._showInfo = null; - this._getSelectionBounds = null; - this.getContent = null; - this.setContent = null; - this.setContentHTML = null; - this.setReadonly = null; - this.isReadonly = null; - this.unload = null; - c = a = null - }; - if (this.conf.toolbar == true && typeof(this.attachToolbar) == "function" && typeof(window.dhtmlXToolbarObject) == "function") { - this.attachToolbar(this.conf.iconsPath); - if (this.conf.iOSfix == true) { - this._doOnIOSFix = function() { - c.editor.contentWindow.focus() - }; - this.tb.cont.addEventListener("touchend", this._doOnIOSFix, false) - } - } - this.setIconsPath = function(l) { - this.conf.iconsPath = l - }; - if (this.conf.content.length > 0) { - this.setContent(this.conf.content); - this.conf.content = "" - } else { - if (this.conf.contentHTML.length > 0) { - this.setContentHTML(this.conf.contentHTML); - this.conf.contentHTML = "" - } - } - return this -} -dhtmlXEditor.prototype.setSizes = function() { - this.cell._setSize(0, 0, this.base.clientWidth, this.base.clientHeight); - if (this.editor != null) { - this.editor.style.left = "5px"; - this.editor.style.width = this.base.clientWidth - 5 + "px" - } -}; -dhtmlXEditor.prototype.setReadonly = function(a) { - this.conf.roMode = (a === true); - this._prepareContent(true, this.conf.roMode); - this.cBlock.style.display = (this.conf.roMode ? "" : "none") -}; -dhtmlXEditor.prototype.isReadonly = function(a) { - return (this.conf.roMode || false) -}; -dhtmlXEditor.prototype.setSkin = function(a) { - this.base.className = String(this.base.className).replace(new RegExp("dhxeditor_" + this.conf.skin), "dhxeditor_" + a); - this.conf.skin = this.cell.conf.skin = a; - if (this.tb) { - this.cell.detachToolbar(a); - this.tb = null; - this.attachToolbar() - } - this.setSizes() -}; -dhtmlXEditor.prototype._fontConf = function() { - if (this.conf.skin == "") { - var a = { - family: this.conf.font.family, - size: this.conf.font.size, - color: this.conf.font.color - } - } else { - var a = { - family: "Roboto, Arial, Helvetica", - size: "14px", - color: "#404040" - } - } - return window.dhx4.template("font-size: #size#; font-family: #family#; color: #color#;", a) -}; -window.dhtmlXEditorCell = function(e, a) { - dhtmlXCellObject.apply(this, [e, "_editor"]); - var c = this; - this.editor = a; - this.conf.skin = this.editor.conf.skin; - this.attachEvent("_onCellUnload", function() { - this._stbUnload(); - this.editor = null; - c = null - }); - this._stbInit(); - return this -}; -dhtmlXEditorCell.prototype = new dhtmlXCellObject(); -dhtmlXEditorCell.prototype._stbInit = function() { - var l = this; - var h = document.createElement("DIV"); - h.className = "dhx_cell_stb" + (dhx4.isIE6 || dhx4.isIE7 || dhx4.isIE8 ? "" : " dhx_cell_stb_shadow"); - this.cell.insertBefore(h, this.cell.childNodes[this.conf.idx.cont]); - h.onselectstart = function(a) { - a = a || event; - a.cancelBubble = true; - if (a.preventDefault) { - a.preventDefault() - } else { - a.returnValue = false - } - return false - }; - var g = { - bold: "applyBold", - italic: "applyItalic", - underline: "applyUnderscore", - clearformat: "clearFormatting" - }; - for (var e in g) { - var c = document.createElement("A"); - c.href = "javascript:void(0);"; - c.tabIndex = -1; - h.appendChild(c); - c.onmousedown = c.onclick = function(a) { - a = a || event; - if (a.preventDefault) { - a.preventDefault() - } else { - a.returnValue = false - } - return false - }; - var m = document.createElement("DIV"); - m.className = "dhx_cell_stb_button btn_" + e; - m._actv = e.charAt(0); - m._cmd = g[e]; - c.appendChild(m); - m.onclick = function(a) { - a = a || event; - if (a.preventDefault) { - a.preventDefault() - } else { - a.returnValue = false - } - return false - }; - m.onmousedown = function(a) { - a = a || event; - if (a.preventDefault) { - a.preventDefault() - } else { - a.returnValue = false - } - l.editor[this._cmd](); - l.editor.callEvent("onToolbarClick", [this._actv]) - }; - m = c = null - } - h = null; - this._stbUnload = function() { - var a = this.cell.childNodes[this.conf.idx.stb]; - a.onselectstart = null; - while (a.childNodes.length > 0) { - a.lastChild.onmousedown = a.lastChild.onclick = null; - a.lastChild.firstChild.onmousedown = a.lastChild.firstChild.onclick = null; - a.lastChild.firstChild._actv = a.lastChild.firstChild._cmd = null; - a.lastChild.removeChild(a.lastChild.firstChild); - a.removeChild(a.lastChild) - } - a.parentNode.removeChild(a); - a = l = null; - this.conf.idx_data.stb = this.conf.ofs_nodes.t._getStbHeight = null; - delete this.conf.ofs_nodes.t._getStbHeight; - delete this.conf.idx_data.stb; - this._updateIdx() - }; - this.conf.stb_visible = true; - this.conf.ofs_nodes.t._getStbHeight = "func"; - this.conf.idx_data.stb = "dhx_cell_stb"; - this._updateIdx() -}; -dhtmlXEditorCell.prototype._stbHide = function() { - this.cell.childNodes[this.conf.idx.stb].style.display = "none"; - this.conf.stb_visible = false -}; -dhtmlXEditorCell.prototype._getStbHeight = function() { - if (this.conf.stb_visible == true && this.conf.skin == "material") { - if (this.conf.stb_height == null) { - this.conf.stb_height = window.dhx4.readFromCss("dhxeditor_material stb_height_detect", "scrollHeight", "
                    ") - } - return this.conf.stb_height - } - return this.cell.childNodes[this.conf.idx.stb].offsetHeight -}; -dhtmlXCellObject.prototype.attachEditor = function(a) { - this.callEvent("_onBeforeContentAttach", ["editor"]); - var e = document.createElement("DIV"); - e.style.width = "100%"; - e.style.height = "100%"; - e.style.position = "relative"; - e.style.overflow = "hidden"; - this._attachObject(e); - if (!(typeof(a) == "object" && a != null)) { - a = {} - } - a.parent = e; - this.dataType = "editor"; - this.dataObj = new dhtmlXEditor(a); - e = null; - a.parent = null; - a = null; - if (typeof(window.dhtmlXPortalCell) == "function" && this instanceof window.dhtmlXPortalCell) { - if (this.portal.conf.editor_ev == null) { - var g = this.portal.attachEvent("onBeforeDrag", function(h) { - if (this.cdata[h].dataType == "editor") { - this.cdata[h].conf.editor_cont = this.cdata[h].dataObj.getContent() - } - return true - }); - var c = this.portal.attachEvent("onDrop", function(h) { - if (this.cdata[h].dataType == "editor") { - this.cdata[h].dataObj.setContent(this.cdata[h].conf.editor_cont); - this.cdata[h].dataObj._prepareContent(true); - this.cdata[h].conf.editor_cont = null - } - }); - this.portal.conf.editor_ev = [g, c] - } - this.conf.editor_ev = this.attachEvent("_onBeforeContentDetach", function() { - this.detachEvent(this.conf.editor_ev); - this.conf.editor_ev = null; - if (this instanceof window.dhtmlXPortalCell) { - var l = false; - for (var h in this.portal.cdata) { - if (this.portal.cdata[h] != this && this.portal.cdata[h].dataType == "editor") { - l = true - } - } - if (l == false) { - for (var m = 0; m < this.portal.conf.editor_ev.length; m++) { - this.portal.detachEvent(this.portal.conf.editor_ev[m]) - } - this.portal.conf.editor_ev = null - } - } - }) - } - this.callEvent("_onContentAttach", []); - return this.dataObj -}; -dhtmlXEditor.prototype.attachToolbar = function(c) { - if (this.tb != null) { - return - } - if (c != null) { - this.conf.iconsPath = c - } - this.cell._stbHide(); - this.tb = this.cell.attachToolbar({ - icons_path: this.conf.iconsPath + "/dhxeditor_" + String(this.conf.skin).replace(/^dhx_/, "") + "/", - skin: this.conf.skin - }); - this.setSizes(); - var h = (this.conf.skin == "material" ? "png" : "gif"); - this._availFonts = new Array("Arial", "Arial Narrow", "Comic Sans MS", "Courier", "Georgia", "Impact", "Tahoma", "Times New Roman", "Verdana"); - this._initFont = this._availFonts[0]; - this._xmlFonts = ""; - for (var m = 0; m < this._availFonts.length; m++) { - var g = String(this._availFonts[m]).replace(/\s/g, "_"); - this._xmlFonts += ']]>' - } - this._availSizes = { - "1": "8pt", - "2": "10pt", - "3": "12pt", - "4": "14pt", - "5": "18pt", - "6": "24pt", - "7": "36pt" - }; - this._xmlSizes = ""; - for (var e in this._availSizes) { - this._xmlSizes += '' - } - this.tbXML = ''; - this.tb.loadStruct(this.tbXML); - this._checkAlign = function(a) { - this.tb.setItemState("alignCenter", false); - this.tb.setItemState("alignRight", false); - this.tb.setItemState("alignJustify", false); - this.tb.setItemState("alignLeft", false); - if (a) { - this.tb.setItemState(a, true) - } - }; - this._checkH = function(a) { - this.tb.setItemState("applyH1", false); - this.tb.setItemState("applyH2", false); - this.tb.setItemState("applyH3", false); - this.tb.setItemState("applyH4", false); - if (a) { - this.tb.setItemState(a, true) - } - }; - this._doOnFocusChanged = function(o) { - if (!o.h1 && !o.h2 && !o.h3 && !o.h4) { - var a = (String(o.fontWeight).search(/bold/i) != -1) || (Number(o.fontWeight) >= 700); - this.tb.setItemState("applyBold", a) - } else { - this.tb.setItemState("applyBold", false) - } - var n = "alignLeft"; - if (String(o.textAlign).search(/center/) != -1) { - n = "alignCenter" - } - if (String(o.textAlign).search(/right/) != -1) { - n = "alignRight" - } - if (String(o.textAlign).search(/justify/) != -1) { - n = "alignJustify" - } - this.tb.setItemState(n, true); - this._checkAlign(n); - this.tb.setItemState("applyH1", o.h1); - this.tb.setItemState("applyH2", o.h2); - this.tb.setItemState("applyH3", o.h3); - this.tb.setItemState("applyH4", o.h4); - if (window._KHTMLrv) { - o.sub = (o.vAlign == "sub"); - o.sup = (o.vAlign == "super") - } - this.tb.setItemState("applyItalic", (o.fontStyle == "italic")); - this.tb.setItemState("applyStrikethrough", o.del); - this.tb.setItemState("applySub", o.sub); - this.tb.setItemState("applySuper", o.sup); - this.tb.setItemState("applyUnderscore", o.u) - }; - this._doOnToolbarClick = function(n) { - var a = String(n).split(":"); - if (this[a[0]] != null) { - if (typeof(this[a[0]]) == "function") { - this[a[0]](a[1]); - this.callEvent("onToolbarClick", [n]) - } - } - }; - this._doOnStateChange = function(n, a) { - this[n](); - switch (n) { - case "alignLeft": - case "alignCenter": - case "alignRight": - case "alignJustify": - this._checkAlign(n); - break; - case "applyH1": - case "applyH2": - case "applyH3": - case "applyH4": - this._checkH(n); - break - } - this.callEvent("onToolbarClick", [n]) - }; - this._doOnBeforeStateChange = function(n, a) { - if ((n == "alignLeft" || n == "alignCenter" || n == "alignRight" || n == "alignJustify") && a == true) { - return false - } - return true - }; - var l = this; - this.tb.attachEvent("onClick", function(a) { - l._doOnToolbarClick(a) - }); - this.tb.attachEvent("onStateChange", function(n, a) { - l._doOnStateChange(n, a) - }); - this.tb.attachEvent("onBeforeStateChange", function(n, a) { - return l._doOnBeforeStateChange(n, a) - }); - this.applyBold = function() { - this._runCommand("Bold") - }; - this.applyItalic = function() { - this._runCommand("Italic") - }; - this.applyUnderscore = function() { - this._runCommand("Underline") - }; - this.applyStrikethrough = function() { - this._runCommand("StrikeThrough") - }; - this.alignLeft = function() { - this._runCommand("JustifyLeft") - }; - this.alignRight = function() { - this._runCommand("JustifyRight") - }; - this.alignCenter = function() { - this._runCommand("JustifyCenter") - }; - this.alignJustify = function() { - this._runCommand("JustifyFull") - }; - this.applySub = function() { - this._runCommand("Subscript") - }; - this.applySuper = function() { - this._runCommand("Superscript") - }; - this.applyH1 = function() { - this._runCommand("FormatBlock", "

                    ") - }; - this.applyH2 = function() { - this._runCommand("FormatBlock", "

                    ") - }; - this.applyH3 = function() { - this._runCommand("FormatBlock", "

                    ") - }; - this.applyH4 = function() { - this._runCommand("FormatBlock", "

                    ") - }; - this.createNumList = function() { - this._runCommand("InsertOrderedList") - }; - this.createBulList = function() { - this._runCommand("InsertUnorderedList") - }; - this.increaseIndent = function() { - this._runCommand("Indent") - }; - this.decreaseIndent = function() { - this._runCommand("Outdent") - }; - this.clearFormatting = function() { - this._runCommand("RemoveFormat"); - this.tb.setItemState("applyBold", false); - this.tb.setItemState("applyItalic", false); - this.tb.setItemState("applyStrikethrough", false); - this.tb.setItemState("applySub", false); - this.tb.setItemState("applySuper", false); - this.tb.setItemState("applyUnderscore", false); - var a = this.getContent(); - a = a.replace(/<\/?h\d>/gi, ""); - this.setContent(a) - } -}; -dhtmlx.Group = { - _init: function() { - dhtmlx.assert(this.data, "DataStore required for grouping"); - this.data.attachEvent("onStoreLoad", dhtmlx.bind(function() { - if (this._settings.group) { - this.group(this._settings.group, false) - } - }, this)); - this.attachEvent("onBeforeRender", dhtmlx.bind(function(a) { - if (this._settings.sort) { - a.block(); - a.sort(this._settings.sort); - a.unblock() - } - }, this)); - this.data.attachEvent("onClearAll", dhtmlx.bind(function() { - this.data._not_grouped_order = this.data._not_grouped_pull = null - }, this)); - this.attachEvent("onBeforeSort", dhtmlx.bind(function() { - this._settings.sort = null - }, this)) - }, - _init_group_data_event: function(c, a) { - c.attachEvent("onClearAll", dhtmlx.bind(function() { - this.ungroup(false); - this.block(); - this.clearAll(); - this.unblock() - }, a)) - }, - sum: function(c, a) { - c = dhtmlx.Template.setter(c); - a = a || this.data; - var e = 0; - a.each(function(g) { - e += c(g) * 1 - }); - return e - }, - min: function(e, c) { - e = dhtmlx.Template.setter(e); - c = c || this.data; - var a = Infinity; - c.each(function(g) { - if (e(g) * 1 < a) { - a = e(g) * 1 - } - }); - return a * 1 - }, - max: function(e, c) { - e = dhtmlx.Template.setter(e); - c = c || this.data; - var a = -Infinity; - c.each(function(g) { - if (e(g) * 1 > a) { - a = e(g) * 1 - } - }); - return a - }, - _split_data_by: function(l) { - var n = function(r, q) { - r = dhtmlx.Template.setter(r); - return r(q[0]) - }; - var o = dhtmlx.Template.setter(l.by); - if (!l.map[o]) { - l.map[o] = [o, n] - } - var e = {}; - var m = []; - this.data.each(function(q) { - var r = o(q); - if (!e[r]) { - m.push({ - id: r - }); - e[r] = dhtmlx.toArray() - } - e[r].push(q) - }); - for (var a in l.map) { - var h = (l.map[a][1] || n); - if (typeof h != "function") { - h = this[h] - } - for (var g = 0; g < m.length; g++) { - m[g][a] = h.call(this, l.map[a][0], e[m[g].id]) - } - } - this.data._not_grouped_order = this.data.order; - this.data._not_grouped_pull = this.data.pull; - this.data.order = dhtmlx.toArray(); - this.data.pull = {}; - for (var g = 0; g < m.length; g++) { - var c = this.data.id(m[g]); - this.data.pull[c] = m[g]; - this.data.order.push(c) - } - this.callEvent("onStoreUpdated", []) - }, - group: function(a, c) { - this.ungroup(false); - this._split_data_by(a); - if (c !== false) { - this.data.callEvent("onStoreUpdated", []) - } - }, - ungroup: function(a) { - if (this.data._not_grouped_order) { - this.data.order = this.data._not_grouped_order; - this.data.pull = this.data._not_grouped_pull; - this.data._not_grouped_pull = this.data._not_grouped_order = null - } - if (a !== false) { - this.data.callEvent("onStoreUpdated", []) - } - }, - group_setter: function(a) { - dhtmlx.assert(typeof a == "object", "Incorrect group value"); - dhtmlx.assert(a.by, "group.by is mandatory"); - dhtmlx.assert(a.map, "group.map is mandatory"); - return a - }, - sort_setter: function(a) { - if (typeof a != "object") { - a = { - by: a - } - } - this._mergeSettings(a, { - as: "string", - dir: "asc" - }); - return a - } -}; -dhtmlx.Date = { - Locale: { - month_full: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], - month_short: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], - day_full: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], - day_short: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"] - }, - date_part: function(a) { - a.setHours(0); - a.setMinutes(0); - a.setSeconds(0); - a.setMilliseconds(0); - return a - }, - time_part: function(a) { - return (a.valueOf() / 1000 - a.getTimezoneOffset() * 60) % 86400 - }, - week_start: function(c) { - var a = c.getDay(); - if (this.config.start_on_monday) { - if (a === 0) { - a = 6 - } else { - a-- - } - } - return this.date_part(this.add(c, -1 * a, "day")) - }, - month_start: function(a) { - a.setDate(1); - return this.date_part(a) - }, - year_start: function(a) { - a.setMonth(0); - return this.month_start(a) - }, - day_start: function(a) { - return this.date_part(a) - }, - add: function(c, e, g) { - var a = new Date(c.valueOf()); - switch (g) { - case "day": - a.setDate(a.getDate() + e); - break; - case "week": - a.setDate(a.getDate() + 7 * e); - break; - case "month": - a.setMonth(a.getMonth() + e); - break; - case "year": - a.setYear(a.getFullYear() + e); - break; - case "hour": - a.setHours(a.getHours() + e); - break; - case "minute": - a.setMinutes(a.getMinutes() + e); - break; - default: - return dhtmlx.Date["add_" + g](c, e, g) - } - return a - }, - to_fixed: function(a) { - if (a < 10) { - return "0" + a - } - return a - }, - copy: function(a) { - return new Date(a.valueOf()) - }, - date_to_str: function(c, a) { - c = c.replace(/%[a-zA-Z]/g, function(e) { - switch (e) { - case "%d": - return '"+dhtmlx.Date.to_fixed(date.getDate())+"'; - case "%m": - return '"+dhtmlx.Date.to_fixed((date.getMonth()+1))+"'; - case "%j": - return '"+date.getDate()+"'; - case "%n": - return '"+(date.getMonth()+1)+"'; - case "%y": - return '"+dhtmlx.Date.to_fixed(date.getFullYear()%100)+"'; - case "%Y": - return '"+date.getFullYear()+"'; - case "%D": - return '"+dhtmlx.Date.Locale.day_short[date.getDay()]+"'; - case "%l": - return '"+dhtmlx.Date.Locale.day_full[date.getDay()]+"'; - case "%M": - return '"+dhtmlx.Date.Locale.month_short[date.getMonth()]+"'; - case "%F": - return '"+dhtmlx.Date.Locale.month_full[date.getMonth()]+"'; - case "%h": - return '"+dhtmlx.Date.to_fixed((date.getHours()+11)%12+1)+"'; - case "%g": - return '"+((date.getHours()+11)%12+1)+"'; - case "%G": - return '"+date.getHours()+"'; - case "%H": - return '"+dhtmlx.Date.to_fixed(date.getHours())+"'; - case "%i": - return '"+dhtmlx.Date.to_fixed(date.getMinutes())+"'; - case "%a": - return '"+(date.getHours()>11?"pm":"am")+"'; - case "%A": - return '"+(date.getHours()>11?"PM":"AM")+"'; - case "%s": - return '"+dhtmlx.Date.to_fixed(date.getSeconds())+"'; - case "%W": - return '"+dhtmlx.Date.to_fixed(dhtmlx.Date.getISOWeek(date))+"'; - default: - return e - } - }); - if (a) { - c = c.replace(/date\.get/g, "date.getUTC") - } - return new Function("date", 'return "' + c + '";') - }, - str_to_date: function(h, e) { - var l = "var temp=date.split(/[^0-9a-zA-Z]+/g);"; - var a = h.match(/%[a-zA-Z]/g); - for (var c = 0; c < a.length; c++) { - switch (a[c]) { - case "%j": - case "%d": - l += "set[2]=temp[" + c + "]||1;"; - break; - case "%n": - case "%m": - l += "set[1]=(temp[" + c + "]||1)-1;"; - break; - case "%y": - l += "set[0]=temp[" + c + "]*1+(temp[" + c + "]>50?1900:2000);"; - break; - case "%g": - case "%G": - case "%h": - case "%H": - l += "set[3]=temp[" + c + "]||0;"; - break; - case "%i": - l += "set[4]=temp[" + c + "]||0;"; - break; - case "%Y": - l += "set[0]=temp[" + c + "]||0;"; - break; - case "%a": - case "%A": - l += "set[3]=set[3]%12+((temp[" + c + "]||'').toLowerCase()=='am'?0:12);"; - break; - case "%s": - l += "set[5]=temp[" + c + "]||0;"; - break - } - } - var g = "set[0],set[1],set[2],set[3],set[4],set[5]"; - if (e) { - g = " Date.UTC(" + g + ")" - } - return new Function("date", "var set=[0,0,1,0,0,0]; " + l + " return new Date(" + g + ");") - }, - getISOWeek: function(e) { - if (!e) { - return false - } - var c = e.getDay(); - if (c === 0) { - c = 7 - } - var g = new Date(e.valueOf()); - g.setDate(e.getDate() + (4 - c)); - var a = g.getFullYear(); - var l = Math.floor((g.getTime() - new Date(a, 0, 1).getTime()) / 86400000); - var h = 1 + Math.floor(l / 7); - return h - }, - getUTCISOWeek: function(a) { - return this.getISOWeek(a) - } -}; -dhtmlx.math = {}; -dhtmlx.math._toHex = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"]; -dhtmlx.math.toHex = function(c, a) { - c = parseInt(c, 10); - str = ""; - while (c > 0) { - str = this._toHex[c % 16] + str; - c = Math.floor(c / 16) - } - while (str.length < a) { - str = "0" + str - } - return str -}; -dhtmlx.math.hexToDec = function(a) { - return parseInt(a, 16) -}; -dhtmlx.math.toRgb = function(c) { - var h, e, a, l; - if (typeof(c) != "string") { - h = c[0]; - e = c[1]; - a = c[2] - } else { - if (c.indexOf("rgb") != -1) { - l = c.substr(c.indexOf("(") + 1, c.lastIndexOf(")") - c.indexOf("(") - 1).split(","); - h = l[0]; - e = l[1]; - a = l[2] - } else { - if (c.substr(0, 1) == "#") { - c = c.substr(1) - } - h = this.hexToDec(c.substr(0, 2)); - e = this.hexToDec(c.substr(2, 2)); - a = this.hexToDec(c.substr(4, 2)) - } - } - h = (parseInt(h, 10) || 0); - e = (parseInt(e, 10) || 0); - a = (parseInt(a, 10) || 0); - if (h < 0 || h > 255) { - h = 0 - } - if (e < 0 || e > 255) { - e = 0 - } - if (a < 0 || a > 255) { - a = 0 - } - return [h, e, a] -}; -dhtmlx.math.hsvToRgb = function(m, y, w) { - var l, o, e, c, x, a, n, u; - l = Math.floor((m / 60)) % 6; - o = m / 60 - l; - e = w * (1 - y); - c = w * (1 - o * y); - x = w * (1 - (1 - o) * y); - a = 0; - n = 0; - u = 0; - switch (l) { - case 0: - a = w; - n = x; - u = e; - break; - case 1: - a = c; - n = w; - u = e; - break; - case 2: - a = e; - n = w; - u = x; - break; - case 3: - a = e; - n = c; - u = w; - break; - case 4: - a = x; - n = e; - u = w; - break; - case 5: - a = w; - n = e; - u = c; - break - } - a = Math.floor(a * 255); - n = Math.floor(n * 255); - u = Math.floor(u * 255); - return [a, n, u] -}; -dhtmlx.math.rgbToHsv = function(c, n, o) { - var l, e, q, a, u, x, m, w; - l = c / 255; - e = n / 255; - q = o / 255; - var a = Math.min(l, e, q); - var u = Math.max(l, e, q); - m = 0; - x = u == 0 ? 0 : (1 - a / u); - w = u; - if (u == a) { - m = 0 - } else { - if (u == l && e >= q) { - m = 60 * (e - q) / (u - a) + 0 - } else { - if (u == l && e < q) { - m = 60 * (e - q) / (u - a) + 360 - } else { - if (u == e) { - m = 60 * (q - l) / (u - a) + 120 - } else { - if (u == q) { - m = 60 * (l - e) / (u - a) + 240 - } - } - } - } - } - return [m, x, w] -}; -if (!dhtmlx.presets) { - dhtmlx.presets = {} -} -dhtmlx.presets.chart = { - simple: { - item: { - borderColor: "#ffffff", - color: "#2b7100", - shadow: false, - borderWidth: 2 - }, - line: { - color: "#8ecf03", - width: 2 - } - }, - plot: { - color: "#1293f8", - item: { - borderColor: "#636363", - borderWidth: 1, - color: "#ffffff", - type: "r", - shadow: false - }, - line: { - color: "#1293f8", - width: 2 - } - }, - diamond: { - color: "#b64040", - item: { - borderColor: "#b64040", - color: "#b64040", - type: "d", - radius: 3, - shadow: true - }, - line: { - color: "#ff9000", - width: 2 - } - }, - point: { - color: "#fe5916", - disableLines: true, - fill: false, - disableItems: false, - item: { - color: "#feb916", - borderColor: "#fe5916", - radius: 2, - borderWidth: 1, - type: "r" - }, - alpha: 1 - }, - line: { - line: { - color: "#3399ff", - width: 2 - }, - item: { - color: "#ffffff", - borderColor: "#3399ff", - radius: 2, - borderWidth: 2, - type: "d" - }, - fill: false, - disableItems: false, - disableLines: false, - alpha: 1 - }, - area: { - fill: "#3399ff", - line: { - color: "#3399ff", - width: 1 - }, - disableItems: true, - alpha: 0.2, - disableLines: false - }, - round: { - item: { - radius: 3, - borderColor: "#3f83ff", - borderWidth: 1, - color: "#3f83ff", - type: "r", - shadow: false, - alpha: 0.6 - } - }, - square: { - item: { - radius: 3, - borderColor: "#447900", - borderWidth: 2, - color: "#69ba00", - type: "s", - shadow: false, - alpha: 1 - } - }, - column: { - color: "RAINBOW", - gradient: false, - width: 45, - radius: 0, - alpha: 1, - border: true - }, - stick: { - width: 5, - gradient: false, - color: "#67b5c9", - radius: 2, - alpha: 1, - border: false - }, - alpha: { - color: "#b9a8f9", - width: 70, - gradient: "falling", - radius: 0, - alpha: 0.5, - border: true - } -}; -dhtmlx.ui.Map = function(a) { - this.name = "Map"; - this._id = "map_" + dhtmlx.uid(); - this._key = a; - this._map = []; - this._areas = [] -}; -dhtmlx.ui.Map.prototype = { - addRect: function(e, c, a) { - this._areas.push({ - index: a, - points: c - }); - this._createMapArea(e, "RECT", c, a) - }, - addPoly: function(e, c, a) { - this._createMapArea(e, "POLY", c, a) - }, - _createMapArea: function(h, c, g, e) { - var a = ""; - if (arguments.length == 4) { - a = "userdata='" + e + "'" - } - this._map.push("") - }, - addSector: function(a, q, o, m, h, e, g, l) { - var n = []; - n.push(m); - n.push(Math.floor(h * g)); - for (var c = q; c < o; c += Math.PI / 18) { - n.push(Math.floor(m + e * Math.cos(c))); - n.push(Math.floor((h + e * Math.sin(c)) * g)) - } - n.push(Math.floor(m + e * Math.cos(o))); - n.push(Math.floor((h + e * Math.sin(o)) * g)); - n.push(m); - n.push(Math.floor(h * g)); - return this.addPoly(a, n, l) - }, - render: function(a) { - var e = dhtmlx.html.create("DIV"); - e.style.cssText = "position:absolute; width:100%; height:100%; top:0px; left:0px;"; - a.appendChild(e); - var c = dhtmlx._isIE ? "" : "src='data:image/gif;base64,R0lGODlhEgASAIAAAP///////yH5BAUUAAEALAAAAAASABIAAAIPjI+py+0Po5y02ouz3pwXADs='"; - e.innerHTML = "" + this._map.join("\n") + ""; - a._htmlmap = e; - this._map = [] - } -}; -dhtmlx.chart = {}; -dhtmlx.chart.scatter = { - pvt_render_scatter: function(q, l, o, n, m, a) { - if (!this._settings.xValue) { - return dhtmlx.log("warning", "Undefined propery: xValue") - } - var e = this._getLimits(); - var h = this._getLimits("h", "xValue"); - if (!m) { - if (!this.canvases.x) { - this.canvases.x = new dhtmlx.ui.Canvas(this._obj, "axis_x") - } - if (!this.canvases.y) { - this.canvases.y = new dhtmlx.ui.Canvas(this._obj, "axis_y") - } - this._drawYAxis(this.canvases.y.getCanvas(), l, o, n, e.min, e.max); - this._drawHXAxis(this.canvases.x.getCanvas(), l, o, n, h.min, h.max) - } - e = { - min: this._settings.yAxis.start, - max: this._settings.yAxis.end - }; - h = { - min: this._settings.xAxis.start, - max: this._settings.xAxis.end - }; - var c = this._getScatterParams(q, l, o, n, h, e); - this._mapStart = o; - for (var g = 0; g < l.length; g++) { - this._drawScatterItem(q, a, o, n, c, h, e, l[g], m) - } - }, - _getScatterParams: function(a, g, e, c, m, l) { - var h = {}; - h.totalHeight = c.y - e.y; - h.totalWidth = c.x - e.x; - this._calcScatterUnit(h, m.min, m.max, h.totalWidth, "X"); - this._calcScatterUnit(h, l.min, l.max, h.totalHeight, "Y"); - return h - }, - _drawScatterItem: function(r, a, o, n, e, h, g, l, m) { - var c = this._calculateScatterItemPosition(e, n, o, h, l, "X"); - var q = this._calculateScatterItemPosition(e, o, n, g, l, "Y"); - this._drawItem(r, c, q, l, this._settings.label.call(this, l), m, a) - }, - _calculateScatterItemPosition: function(e, n, m, a, h, c) { - var q = this._settings[c == "X" ? "xValue" : "value"].call(this, h); - var g = e["valueFactor" + c]; - var r = (parseFloat(q || 0) - a.min) * g; - var o = e["unit" + c]; - var l = m[c.toLowerCase()] - (c == "X" ? (-1) : 1) * Math.floor(o * r); - if (r < 0) { - l = m[c.toLowerCase()] - } - if (q > a.max) { - l = n[c.toLowerCase()] - } - if (q < a.min) { - l = m[c.toLowerCase()] - } - return l - }, - _calcScatterUnit: function(l, e, a, c, g) { - var h = this._getRelativeValue(e, a); - g = (g || ""); - l["relValue" + g] = h[0]; - l["valueFactor" + g] = h[1]; - l["unit" + g] = (l["relValue" + g] ? c / l["relValue" + g] : 10) - } -}; -dhtmlx.chart.radar = { - pvt_render_radar: function(c, g, a, l, e, h) { - this._renderRadarChart(c, g, a, l, e, h) - }, - _renderRadarChart: function(u, h, r, q, o, a) { - if (!h.length) { - return - } - var m = this._getPieParameters(r, q); - var n = (this._settings.radius ? this._settings.radius : m.radius); - var c = (this._settings.x ? this._settings.x : m.x); - var s = (this._settings.y ? this._settings.y : m.y); - var e = []; - for (var g = 0; g < h.length; g++) { - e.push(1) - } - var l = this._getRatios(e, h.length); - this._mapStart = r; - if (!o) { - this._drawRadarAxises(l, c, s, n, h) - } - this._drawRadarData(u, l, c, s, n, h, o, a) - }, - _drawRadarData: function(C, s, n, m, h, N, D, M) { - var A, v, L, J, E, I, g, e, F, K, H, u, c, w, q, o, a, r, l; - L = this._settings; - E = L.yAxis.start; - I = L.yAxis.end; - l = this._getRelativeValue(E, I); - u = l[0]; - r = (u ? h / u : h / 2); - a = l[1]; - c = -Math.PI / 2; - A = v = c; - F = []; - e = 0; - for (J = 0; J < N.length; J++) { - if (!o) { - w = L.value(N[J]); - q = (parseFloat(w || 0) - E) * a - } else { - q = o - } - K = Math.floor(r * q); - w = L.value((J != (N.length - 1)) ? N[J + 1] : N[0]); - o = (parseFloat(w || 0) - E) * a; - H = Math.floor(r * o); - A = v; - v = ((J != (N.length - 1)) ? (c + s[J] - 0.0001) : c); - g = (e || this._getPositionByAngle(A, n, m, K)); - e = this._getPositionByAngle(v, n, m, H); - F.push(g) - } - if (L.fill) { - this._fillRadarChart(C, F, N) - } - if (!L.disableLines) { - this._strokeRadarChart(C, F, N) - } - if (!L.disableItems) { - this._drawRadarItemMarkers(C, F, N, D, M) - } - F = null - }, - _drawRadarItemMarkers: function(a, e, h, g, l) { - for (var c = 0; c < e.length; c++) { - this._drawItem(a, e[c].x, e[c].y, h[c], this._settings.label.call(this, h), g, l) - } - }, - _fillRadarChart: function(a, g, l) { - var h, e; - a.globalAlpha = this._settings.alpha.call(this, {}); - a.beginPath(); - for (var c = 0; c < g.length; c++) { - a.fillStyle = this._settings.fill.call(this, l[c]); - h = g[c]; - e = (g[c + 1] || g[0]); - if (!c) { - a.moveTo(h.x, h.y) - } - a.lineTo(e.x, e.y) - } - a.fill(); - a.globalAlpha = 1 - }, - _strokeRadarChart: function(a, g, l) { - var h, e; - for (var c = 0; c < g.length; c++) { - h = g[c]; - e = (g[c + 1] || g[0]); - this._drawLine(a, h.x, h.y, e.x, e.y, this._settings.line.color.call(this, l[c]), this._settings.line.width) - } - }, - _drawRadarAxises: function(A, v, u, m, O) { - var a = this._settings.yAxis; - var g = this._settings.xAxis; - var n = a.start; - var l = a.end; - var q = a.step; - var C = {}; - var N = this._configYAxis; - if (typeof N.step == "undefined" || typeof N.start == "undefined" || typeof N.end == "undefined") { - var r = this._getLimits(); - C = this._calculateScale(r.min, r.max); - n = C.start; - l = C.end; - q = C.step; - a.end = l; - a.start = n - } - var I = []; - var L, K, D; - var M = 0; - var e = m * q / (l - n); - var s, w; - if (q < 1) { - s = Math.min(this._log10(q), (n <= 0 ? 0 : this._log10(n))); - w = Math.pow(10, -s) - } - var J = []; - if (!this.canvases.scale) { - this.canvases.scale = new dhtmlx.ui.Canvas(this._obj, "radar_scale") - } - var H = this.canvases.scale.getCanvas(); - for (L = l; L >= n; L -= q) { - if (C.fixNum) { - L = parseFloat((new Number(L)).toFixed(C.fixNum)) - } - I.push(Math.floor(M * e) + 0.5); - if (w) { - L = Math.round(L * w) / w - } - var o = u - m + I[I.length - 1]; - this.canvases.scale.renderTextAt("middle", "left", v, o, a.template(L.toString()), "dhx_axis_item_y dhx_radar"); - if (A.length < 2) { - this._drawScaleSector(H, "arc", v, u, m - I[I.length - 1], -Math.PI / 2, 3 * Math.PI / 2, L); - return - } - var h = -Math.PI / 2; - var F = h; - var E; - for (K = 0; K < A.length; K++) { - if (L == l) { - J.push(F) - } - E = h + A[K] - 0.0001; - this._drawScaleSector(H, (N.lineShape || "line"), v, u, m - I[I.length - 1], F, E, L, K, O[L]); - F = E - } - M++ - } - for (L = 0; L < J.length; L++) { - D = this._getPositionByAngle(J[L], v, u, m); - if (g.lines.call(this, O[L], L)) { - this._drawLine(H, v, u, D.x, D.y, (g ? g.lineColor.call(this, O[L]) : "#cfcfcf"), 1) - } - this._drawRadarScaleLabel(H, v, u, m, J[L], (g ? g.template.call(this, O[L]) : " ")) - } - }, - _drawScaleSector: function(s, l, r, o, h, c, a, g, e) { - var q, n; - if (h < 0) { - return false - } - q = this._getPositionByAngle(c, r, o, h); - n = this._getPositionByAngle(a, r, o, h); - var m = this._settings.yAxis; - if (m.bg) { - s.beginPath(); - s.moveTo(r, o); - if (l == "arc") { - s.arc(r, o, h, c, a, false) - } else { - s.lineTo(q.x, q.y); - s.lineTo(n.x, n.y) - } - s.fillStyle = m.bg(g, e); - s.moveTo(r, o); - s.fill(); - s.closePath() - } - if (m.lines.call(this, g)) { - s.lineWidth = 1; - s.beginPath(); - if (l == "arc") { - s.arc(r, o, h, c, a, false) - } else { - s.moveTo(q.x, q.y); - s.lineTo(n.x, n.y) - } - s.strokeStyle = m.lineColor.call(this, g); - s.stroke() - } - }, - _drawRadarScaleLabel: function(w, o, m, c, n, u) { - var v = this.canvases.scale.renderText(0, 0, u, "dhx_axis_radar_title", 1); - var e = v.scrollWidth; - var s = v.offsetHeight; - var q = 0.001; - var l = this._getPositionByAngle(n, o, m, c + 5); - var h = 0, - g = 0; - if (n < 0 || n > Math.PI) { - g = -s - } - if (n > Math.PI / 2) { - h = -e - } - if (Math.abs(n + Math.PI / 2) < q || Math.abs(n - Math.PI / 2) < q) { - h = -e / 2 - } else { - if (Math.abs(n) < q || Math.abs(n - Math.PI) < q) { - g = -s / 2 - } - } - v.style.top = l.y + g + "px"; - v.style.left = l.x + h + "px"; - v.style.width = e + "px"; - v.style.whiteSpace = "nowrap" - } -}; -dhtmlx.chart.area = { - pvt_render_area: function(n, E, h, g, o, A) { - var r, y, s, q, l, x, m, D, C, w, v, c, u, a, e; - x = this._calculateLineParams(n, E, h, g, o); - y = this._settings; - q = (y.eventRadius || Math.floor(x.cellWidth / 2)); - if (E.length) { - m = []; - w = (!y.offset ? h.x : h.x + x.cellWidth * 0.5); - for (s = 0; s < E.length; s++) { - l = E[s]; - C = this._getPointY(l, h, g, x); - u = w + x.cellWidth * s; - if (C) { - a = (typeof C == "object" ? C.y0 : C); - if (s && this._settings.fixOverflow) { - D = this._getPointY(E[s - 1], h, g, x); - if (D.out && D.out == C.out) { - continue - } - v = x.cellWidth * (s - 1) - 0.5 + w; - c = (typeof D == "object" ? D.y0 : D); - if (D.out) { - e = (D.out == "min" ? g.y : h.y); - m.push([this._calcOverflowX(v, u, c, a, e), e]) - } - if (C.out) { - e = (C.out == "min" ? g.y : h.y); - m.push([this._calcOverflowX(v, u, c, a, e), e]); - if (s == (E.length - 1) && e == h.y) { - m.push([u, h.y]) - } - } - } - if (!C.out) { - m.push([u, a]); - A.addRect(l.id, [u - q - h.x, a - q - h.y, u + q - h.x, a + q - h.y], o) - } - if (!y.yAxis) { - r = (!y.offset && (s == E.length - 1) ? "left" : "center"); - this.canvases[o].renderTextAt(false, r, u, a - y.labelOffset, y.label(l)) - } - } - } - if (m.length) { - m.push([u, g.y]); - m.push([m[0][0], g.y]) - } - n.globalAlpha = this._settings.alpha.call(this, E[0]); - n.fillStyle = this._settings.color.call(this, E[0]); - n.beginPath(); - this._path(n, m); - n.fill(); - if (y.border) { - n.lineWidth = y.borderWidth || 1; - if (y.borderColor) { - n.strokeStyle = y.borderColor.call(this, E[0]) - } else { - this._setBorderStyles(n, n.fillStyle) - } - n.beginPath(); - this._path(n, m); - n.stroke() - } - n.lineWidth = 1; - n.globalAlpha = 1 - } - } -}; -dhtmlx.chart.stackedArea = { - pvt_render_stackedArea: function(o, F, c, a, q, D) { - var I, H, u, C, w, v, h, s, l, A, n, g, e, m; - A = this._calculateLineParams(o, F, c, a, q); - C = this._settings; - s = (C.eventRadius || Math.floor(A.cellWidth / 2)); - if (F.length) { - n = []; - m = []; - g = (!C.offset ? c.x : c.x + A.cellWidth * 0.5); - var E = function(x, J) { - return q ? (F[x].$startY ? J - a.y + F[x].$startY : 0) : J - }; - var r = function(y, L, K) { - var J = (K.y - L.y) / (K.x - L.x); - return J * y + L.y - J * L.x - }; - for (w = 0; w < F.length; w++) { - l = F[w]; - if (!w) { - e = E(w, a.y); - n.push([g, e]) - } else { - g += A.cellWidth - } - e = E(w, this._getPointY(l, c, a, A)); - m.push((isNaN(e) && !w) ? (F[w].$startY || a.y) : e); - if (e) { - n.push([g, e]); - D.addRect(l.id, [g - s - c.x, e - s - c.y, g + s - c.x, e + s - c.y], q); - if (!C.yAxis) { - u = (!C.offset && h ? "left" : "center"); - this.canvases[q].renderTextAt(false, u, g, e - C.labelOffset, C.label(l)) - } - } - } - n.push([g, E(w - 1, a.y)]); - if (q) { - for (w = F.length - 2; w > 0; w--) { - g -= A.cellWidth; - e = F[w].$startY; - if (e) { - n.push([g, e]) - } - } - } - n.push([n[0][0], n[0][1]]); - o.globalAlpha = this._settings.alpha.call(this, F[0]); - o.fillStyle = this._settings.color.call(this, F[0]); - o.beginPath(); - this._path(o, n); - o.fill(); - for (w = 0; w < F.length; w++) { - e = m[w]; - if (!e) { - if (w == F.length - 1) { - e = F[w].$startY - } - for (v = w + 1; v < F.length; v++) { - if (m[v]) { - I = { - x: c.x, - y: m[0] - }; - H = { - x: (c.x + A.cellWidth * v), - y: m[v] - }; - e = r(c.x + A.cellWidth * w, I, H); - break - } - } - } - F[w].$startY = e - } - } - } -}; -dhtmlx.chart.spline = { - pvt_render_spline: function(o, H, g, e, q, F) { - var E, s, n, r, D, m, l, w, v, u, h, c, a; - D = this._calculateLineParams(o, H, g, e, q); - E = this._settings; - this._mapStart = g; - n = []; - if (H.length) { - w = (E.offset ? g.x + D.cellWidth * 0.5 : g.x); - for (s = 0; s < H.length; s++) { - h = this._getPointY(H[s], g, e, D); - if (h) { - l = ((!s) ? w : D.cellWidth * s - 0.5 + w); - n.push({ - x: l, - y: h, - index: s - }) - } - } - m = this._getSplineParameters(n); - for (s = 0; s < n.length; s++) { - v = n[s].x; - c = n[s].y; - if (s < n.length - 1) { - u = n[s + 1].x; - a = n[s + 1].y; - for (r = v; r < u; r++) { - var C = this._getSplineYPoint(r, v, s, m.a, m.b, m.c, m.d); - if (C < g.y) { - C = g.y - } - if (C > e.y) { - C = e.y - } - var A = this._getSplineYPoint(r + 1, v, s, m.a, m.b, m.c, m.d); - if (A < g.y) { - A = g.y - } - if (A > e.y) { - A = e.y - } - this._drawLine(o, r, C, r + 1, A, E.line.color(H[s]), E.line.width) - } - this._drawLine(o, u - 1, this._getSplineYPoint(r, v, s, m.a, m.b, m.c, m.d), u, a, E.line.color(H[s]), E.line.width) - } - this._drawItem(o, v, c, H[n[s].index], E.label(H[n[s].index]), q, F) - } - } - }, - _getSplineParameters: function(y) { - var l, C, A, D, x, w, r, q, o = [], - g = [], - e = y.length; - for (l = 0; l < e - 1; l++) { - o[l] = y[l + 1].x - y[l].x; - g[l] = (y[l + 1].y - y[l].y) / o[l] - } - C = []; - A = []; - C[0] = 0; - C[1] = 2 * (o[0] + o[1]); - A[0] = 0; - A[1] = 6 * (g[1] - g[0]); - for (l = 2; l < e - 1; l++) { - C[l] = 2 * (o[l - 1] + o[l]) - o[l - 1] * o[l - 1] / C[l - 1]; - A[l] = 6 * (g[l] - g[l - 1]) - o[l - 1] * A[l - 1] / C[l - 1] - } - D = []; - D[e - 1] = D[0] = 0; - for (l = e - 2; l >= 1; l--) { - D[l] = (A[l] - o[l] * D[l + 1]) / C[l] - } - x = []; - w = []; - r = []; - q = []; - for (l = 0; l < e - 1; l++) { - x[l] = y[l].y; - w[l] = -o[l] * D[l + 1] / 6 - o[l] * D[l] / 3 + (y[l + 1].y - y[l].y) / o[l]; - r[l] = D[l] / 2; - q[l] = (D[l + 1] - D[l]) / (6 * o[l]) - } - return { - a: x, - b: w, - c: r, - d: q - } - }, - _getSplineYPoint: function(g, l, m, h, e, o, n) { - return h[m] + (g - l) * (e[m] + (g - l) * (o[m] + (g - l) * n[m])) - } -}; -dhtmlx.chart.barH = { - pvt_render_barH: function(C, P, m, l, D, O) { - var s, v, F, E, a, I, q, M, w, N, c, y, n, J, x, h, A, u, L, g, r; - F = (l.y - m.y) / P.length; - q = this._getLimits("h"); - M = q.max; - w = q.min; - h = l.x - m.x; - r = !!this._settings.yAxis; - if (!D) { - this._drawHScales(C, P, m, l, w, M, F) - } - if (r) { - M = parseFloat(this._settings.xAxis.end); - w = parseFloat(this._settings.xAxis.start) - } - J = this._getRelativeValue(w, M); - y = J[0]; - c = J[1]; - u = (y ? h / y : 10); - if (!r) { - x = 10; - u = (y ? (h - x) / y : 10) - } - v = parseInt(this._settings.width, 10); - var K = this._series.length; - var o = this._settings.seriesMargin; - var e = this._settings.seriesPadding; - if (this._series && (v * K + e + (K > 2 ? o * K : 0) > F)) { - v = F / K - e - (K > 2 ? o : 0) - } - s = (F - v * K - o * (K - 1)) / 2; - if (this._settings.border) { - v = parseInt(v, 10); - s = parseInt(s, 10) - } - n = (typeof this._settings.radius != "undefined" ? parseInt(this._settings.radius, 10) : Math.round(v / 5)); - N = false; - a = this._settings.gradient; - if (a && typeof(a) != "function") { - N = a; - a = false - } else { - if (a) { - a = C.createLinearGradient(m.x, m.y, l.x, m.y); - this._settings.gradient(a) - } - } - if (!r) { - this._drawLine(C, m.x - 0.5, m.y, m.x - 0.5, l.y, "#000000", 1) - } - for (I = 0; I < P.length; I++) { - A = parseFloat(this._settings.value(P[I] || 0)); - if (A > M) { - A = M - } - A -= w; - A *= c; - L = m.x; - g = m.y + s + (K > 2 ? o * D : 0) + parseInt(I * F, 10) + v * D; - if ((A < 0 && this._settings.origin == "auto") || (this._settings.xAxis && A === 0 && !(this._settings.origin != "auto" && this._settings.origin > w))) { - this.canvases[D].renderTextAt("middle", "right", L + 10, g + v / 2 + s, this._settings.label(P[I])); - continue - } - if (A < 0 && this._settings.origin != "auto" && this._settings.origin > w) { - A = 0 - } - if (!r) { - A += x / u - } - E = a || this._settings.color.call(this, P[I]); - if (this._settings.border) { - this._drawBarHBorder(C, L, g, v, w, n, u, A, E) - } - C.globalAlpha = this._settings.alpha.call(this, P[I]); - var H = this._drawBarH(C, l, L, g, v, w, n, u, A, E, a, N); - if (N != false) { - this._drawBarHGradient(C, L, g, v, w, n, u, A, E, N) - } - C.globalAlpha = 1; - if (H[3] == g) { - this.canvases[D].renderTextAt("middle", "left", H[0] - 5, H[3] + Math.floor(v / 2), this._settings.label(P[I])); - O.addRect(P[I].id, [H[0] - m.x, H[3] - m.y, H[2] - m.x, H[3] + v - m.y], D) - } else { - this.canvases[D].renderTextAt("middle", false, H[2] + 5, H[1] + Math.floor(v / 2), this._settings.label(P[I])); - O.addRect(P[I].id, [H[0] - m.x, g - m.y, H[2] - m.x, H[3] - m.y], D) - } - } - }, - _setBarHPoints: function(w, g, u, x, m, v, s, l, h) { - var c = 0; - if (m > v * s) { - var r = (m - v * s) / m; - c = -Math.asin(r) + Math.PI / 2 - } - w.moveTo(g, u + l); - var e = g + v * s - m - (m ? 0 : l); - if (m < v * s) { - w.lineTo(e, u + l) - } - var q = u + m; - if (m && m > 0) { - w.arc(e, q, m - l, -Math.PI / 2 + c, 0, false) - } - var o = u + x - m - (m ? 0 : l); - var a = e + m - (m ? l : 0); - w.lineTo(a, o); - if (m && m > 0) { - w.arc(e, o, m - l, 0, Math.PI / 2 - c, false) - } - var n = u + x - l; - w.lineTo(g, n); - if (!h) { - w.lineTo(g, u + l) - } - return [a, n] - }, - _drawHScales: function(e, m, l, h, n, c, g) { - var a = 0; - if (this._settings.xAxis) { - if (!this.canvases.x) { - this.canvases.x = new dhtmlx.ui.Canvas(this._obj) - } - a = this._drawHXAxis(this.canvases.x.getCanvas(), m, l, h, n, c) - } - if (this._settings.yAxis) { - if (!this.canvases.y) { - this.canvases.y = new dhtmlx.ui.Canvas(this._obj) - } - this._drawHYAxis(this.canvases.y.getCanvas(), m, l, h, g, a) - } - }, - _drawHYAxis: function(s, h, o, m, e, a) { - if (!this._settings.yAxis) { - return - } - var l; - var c = parseInt((a ? a : o.x), 10) - 0.5; - var q = m.y + 0.5; - var n = o.y; - this._drawLine(s, c, q, c, n, this._settings.yAxis.color, 1); - for (var g = 0; g < h.length; g++) { - var r = ((this._settings.origin != "auto") && (this._settings.view == "barH") && (parseFloat(this._settings.value(h[g])) < this._settings.origin)); - l = n + e / 2 + g * e; - this.canvases.y.renderTextAt("middle", (r ? false : "left"), (r ? c + 5 : c - 5), l, this._settings.yAxis.template(h[g]), "dhx_axis_item_y", (r ? 0 : c - 10)); - if (this._settings.yAxis.lines.call(this, h[g])) { - this._drawLine(s, o.x, l, m.x, l, this._settings.yAxis.lineColor.call(this, h[g]), 1) - } - } - this._drawLine(s, o.x + 0.5, n + 0.5, m.x, n + 0.5, this._settings.yAxis.lineColor.call(this, {}), 1); - this._setYAxisTitle(o, m) - }, - _drawHXAxis: function(x, E, l, h, n, m) { - var o; - var v = {}; - var e = this._settings.xAxis; - if (!e) { - return - } - var g = h.y + 0.5; - var C = l.x - 0.5; - var A = h.x - 0.5; - var u = l.x; - this._drawLine(x, C, g, A, g, e.color, 1); - if (e.step) { - o = parseFloat(e.step) - } - if (typeof this._configXAxis.step == "undefined" || typeof this._configXAxis.start == "undefined" || typeof this._configXAxis.end == "undefined") { - v = this._calculateScale(n, m); - n = v.start; - m = v.end; - o = v.step; - this._settings.xAxis.end = m; - this._settings.xAxis.start = n; - this._settings.xAxis.step = o - } - if (o === 0) { - return - } - var a = (A - C) * o / (m - n); - var D = 0; - for (var y = n; y <= m; y += o) { - if (v.fixNum) { - y = parseFloat((new Number(y)).toFixed(v.fixNum)) - } - var w = Math.floor(C + D * a) + 0.5; - if (!(y == n && this._settings.origin == "auto") && e.lines.call(this, y)) { - this._drawLine(x, w, g, w, l.y, this._settings.xAxis.lineColor.call(this, y), 1) - } - if (y == this._settings.origin) { - u = w + 1 - } - var q = y; - if (o < 1) { - var r = Math.min(this._log10(o), (n <= 0 ? 0 : this._log10(n))); - var s = Math.pow(10, -r); - q = Math.round(y * s) / s - } - this.canvases.x.renderTextAt(false, true, w, g + 2, e.template(q.toString()), "dhx_axis_item_x"); - D++ - } - this.canvases.x.renderTextAt(true, false, C, h.y + this._settings.padding.bottom - 3, this._settings.xAxis.title, "dhx_axis_title_x", h.x - l.x); - if (!e.lines.call(this, {})) { - this._drawLine(x, C, l.y - 0.5, A, l.y - 0.5, this._settings.xAxis.color, 0.2) - } - return u - }, - _correctBarHParams: function(n, h, e, l, m, o, g) { - var a = this._settings.yAxis; - var c = h; - if (!!a && this._settings.origin != "auto" && (this._settings.origin > g)) { - h += (this._settings.origin - g) * m; - c = h; - l = l - (this._settings.origin - g); - if (l < 0) { - l *= (-1); - n.translate(h, e + o); - n.rotate(Math.PI); - h = 0.5; - e = 0 - } - h += 0.5 - } - return { - value: l, - x0: h, - y0: e, - start: c - } - }, - _drawBarH: function(u, h, A, g, o, q, l, n, s, v, a, m) { - var w; - u.save(); - var r = this._correctBarHParams(u, A, g, s, n, o, q); - u.fillStyle = v; - u.beginPath(); - if (n * r.value > 0) { - w = this._setBarHPoints(u, r.x0, r.y0, o, l, n, r.value, (this._settings.border ? 1 : 0)); - if (a && !m) { - u.lineTo(h.x, r.y0 + (this._settings.border ? 1 : 0)) - } - } else { - w = [r.x0, r.y0 + 1] - } - u.fill(); - u.restore(); - var e = r.y0; - var c = (r.y0 != g ? g : w[1]); - var y = (r.y0 != g ? (r.start - w[0]) : r.start); - var x = (r.y0 != g ? r.start : w[0]); - return [y, e, x, c] - }, - _drawBarHBorder: function(o, c, m, q, h, g, n, l, e) { - o.save(); - var a = this._correctBarHParams(o, c, m, l, n, q, h); - o.beginPath(); - this._setBorderStyles(o, e); - o.globalAlpha = 0.9; - if (n * a.value > 0) { - this._setBarHPoints(o, a.x0, a.y0, q, g, n, a.value, o.lineWidth / 2, 1) - } - o.stroke(); - o.restore() - }, - _drawBarHGradient: function(r, e, o, s, m, l, q, n, g, a) { - r.save(); - var c = this._correctBarHParams(r, e, o, n, q, s, m); - var h = this._setBarGradient(r, c.x0, c.y0 + s, c.x0 + q * c.value, c.y0, a, g, "x"); - r.fillStyle = h.gradient; - r.beginPath(); - if (q * c.value > 0) { - this._setBarHPoints(r, c.x0, c.y0 + h.offset, s - h.offset * 2, l, q, c.value, h.offset) - } - r.fill(); - r.globalAlpha = 1; - r.restore() - } -}; -dhtmlx.assert(dhtmlx.chart.barH); -dhtmlx.chart.stackedBarH = { - pvt_render_stackedBarH: function(C, P, h, g, D, O) { - var N, v; - var c; - var w; - var y = g.x - h.x; - var n = !!this._settings.yAxis; - var m = this._getStackedLimits(P); - N = m.max; - v = m.min; - var F = Math.floor((g.y - h.y) / P.length); - if (!D) { - this._drawHScales(C, P, h, g, v, N, F) - } - if (n) { - N = parseFloat(this._settings.xAxis.end); - v = parseFloat(this._settings.xAxis.start) - } - var K = this._getRelativeValue(v, N); - w = K[0]; - c = K[1]; - var s = (w ? y / w : 10); - if (!n) { - var x = 10; - s = (w ? (y - x) / w : 10) - } - var u = parseInt(this._settings.width, 10); - if ((u + 4) > F) { - u = F - 4 - } - var o = (F - u) / 2; - var l = 0; - var q = false; - var a = this._settings.gradient; - if (a) { - q = true - } - if (!n) { - this._drawLine(C, h.x - 0.5, h.y, h.x - 0.5, g.y, "#000000", 1) - } - var M = 0; - var J = 0; - for (I = 0; I < this._series.length; I++) { - if (I == D) { - J = M - } - if (this._series[I].view == "stackedBarH") { - M++ - } - } - for (var I = 0; I < P.length; I++) { - if (!J) { - P[I].$startX = h.x - } - var A = parseFloat(this._settings.value(P[I] || 0)); - if (A > N) { - A = N - } - A -= v; - A *= c; - var L = h.x; - var e = h.y + o + I * F; - if (!J) { - P[I].$startX = L - } else { - L = P[I].$startX - } - if (A < 0 || (this._settings.yAxis && A === 0)) { - this.canvases.y.renderTextAt("middle", true, L + 10, e + u / 2, this._settings.label(P[I])); - continue - } - if (!n) { - A += x / s - } - var E = this._settings.color.call(this, P[I]); - C.globalAlpha = this._settings.alpha.call(this, P[I]); - C.fillStyle = this._settings.color.call(this, P[I]); - C.beginPath(); - var H = this._setBarHPoints(C, L, e, u, l, s, A, (this._settings.border ? 1 : 0)); - if (a && !q) { - C.lineTo(h.x + y, e + (this._settings.border ? 1 : 0)) - } - C.fill(); - if (q != false) { - var r = this._setBarGradient(C, L, e + u, L, e, q, E, "x"); - C.fillStyle = r.gradient; - C.beginPath(); - H = this._setBarHPoints(C, L, e, u, l, s, A, 0); - C.fill() - } - if (this._settings.border) { - this._drawBarHBorder(C, L, e, u, v, l, s, A, E) - } - C.globalAlpha = 1; - this.canvases[D].renderTextAt("middle", true, P[I].$startX + (H[0] - P[I].$startX) / 2 - 1, e + (H[1] - e) / 2, this._settings.label(P[I])); - O.addRect(P[I].id, [P[I].$startX - h.x, e - h.y, H[0] - h.x, H[1] - h.y], D); - P[I].$startX = H[0] - } - } -}; -dhtmlx.chart.stackedBar = { - pvt_render_stackedBar: function(D, S, l, h, E, P) { - var M, x, a, L, g; - var c; - var y; - var O = this._settings; - var A = h.y - l.y; - var n = !!O.yAxis; - var N = !!O.xAxis; - var m = this._getStackedLimits(S); - var Q = (O.origin === 0); - M = m.max; - x = m.min; - if (!S.length) { - return - } - var H = (h.x - l.x) / S.length; - if (!E) { - a = this._drawScales(S, l, h, x, M, H) - } - if (n) { - M = parseFloat(O.yAxis.end); - x = parseFloat(O.yAxis.start) - } - var K = this._getRelativeValue(x, M); - y = K[0]; - c = K[1]; - var v = (y ? A / y : 10); - var w = parseInt(O.width, 10); - if (w + 4 > H) { - w = H - 4 - } - var o = Math.floor((H - w) / 2); - var r = (O.gradient ? O.gradient : false); - if (!N) { - this._drawLine(D, l.x, h.y + 0.5, h.x, h.y + 0.5, "#000000", 1) - } - for (var J = 0; J < S.length; J++) { - var C = parseFloat(O.value(S[J] || 0)); - if (this._logScaleCalc) { - C = this._log10(C) - } - L = l.x + o + J * H; - var q = Q && C < 0; - if (!E) { - g = a - 1; - S[J].$startY = g; - if (Q) { - if (q) { - g = a + 1 - } - S[J].$startYN = a + 1 - } - } else { - g = q ? S[J].$startYN : S[J].$startY - } - if (!C) { - continue - } - if (!E && !Q) { - C -= x - } - C *= c; - if (g < (l.y + 1)) { - continue - } - if (O.yAxis && C === 0) { - this.canvases.y.renderTextAt(true, true, L + Math.floor(w / 2), g, this._settings.label(S[J])); - continue - } - var F = this._settings.color.call(this, S[J]); - var u = Math.abs(g - (Q ? (h.y + x * v) : h.y)) < 3; - D.globalAlpha = O.alpha.call(this, S[J]); - D.fillStyle = D.strokeStyle = O.color.call(this, S[J]); - D.beginPath(); - var e = g - v * C + (u ? (q ? -1 : 1) : 0); - var I = this._setStakedBarPoints(D, L - (O.border ? 0.5 : 0), g, w + (O.border ? 0.5 : 0), e, 0, l.y); - D.fill(); - D.stroke(); - if (r) { - D.save(); - var s = this._setBarGradient(D, L, g, L + w, I[1], r, F, "y"); - D.fillStyle = s.gradient; - D.beginPath(); - I = this._setStakedBarPoints(D, L + s.offset, g, w - s.offset * 2, e, (O.border ? 1 : 0), l.y); - D.fill(); - D.restore() - } - if (O.border) { - D.save(); - if (typeof O.border == "string") { - D.strokeStyle = O.border - } else { - this._setBorderStyles(D, F) - } - D.beginPath(); - this._setStakedBarPoints(D, L - 0.5, parseInt(g, 10) + 0.5, w + 1, parseInt(e, 10) + 0.5, 0, l.y, u); - D.stroke(); - D.restore() - } - D.globalAlpha = 1; - this.canvases[E].renderTextAt(false, true, L + Math.floor(w / 2), (I[1] + (g - I[1]) / 2) - 7, this._settings.label(S[J])); - P.addRect(S[J].id, [L - l.x, I[1] - l.y, I[0] - l.x, S[J][q ? "$startYN" : "$startY"] - l.y], E); - S[J][q ? "$startYN" : "$startY"] = I[1] - } - }, - _setStakedBarPoints: function(q, c, n, r, m, g, e, h) { - q.moveTo(c, n); - if (m < e) { - m = e - } - q.lineTo(c, m); - var a = c + r; - var l = m; - q.lineTo(a, l); - var o = c + r; - q.lineTo(o, n); - if (!h) { - q.lineTo(c, n) - } - return [o, l] - } -}; -dhtmlx.chart.line = { - pvt_render_line: function(m, A, h, g, n, x) { - var w, o, l, u, s, r, q, c, a, e, y, v; - u = this._calculateLineParams(m, A, h, g, n); - w = this._settings; - if (A.length) { - s = (w.offset ? h.x + u.cellWidth * 0.5 : h.x); - l = []; - for (o = 0; o < A.length; o++) { - v = this._getPointY(A[o], h, g, u); - if (v) { - q = ((!o) ? s : u.cellWidth * o - 0.5 + s); - a = (typeof v == "object" ? v.y0 : v); - if (o && this._settings.fixOverflow) { - y = this._getPointY(A[o - 1], h, g, u); - if (y.out && y.out == v.out) { - continue - } - r = u.cellWidth * (o - 1) - 0.5 + s; - c = (typeof y == "object" ? y.y0 : y); - if (y.out) { - e = (y.out == "min" ? g.y : h.y); - l.push({ - x: this._calcOverflowX(r, q, c, a, e), - y: e - }) - } - if (v.out) { - e = (v.out == "min" ? g.y : h.y); - l.push({ - x: this._calcOverflowX(r, q, c, a, e), - y: e - }) - } - } - if (!v.out) { - l.push({ - x: q, - y: v, - index: o - }) - } - } - } - this._mapStart = h; - for (o = 1; o <= l.length; o++) { - r = l[o - 1].x; - c = l[o - 1].y; - if (o < l.length) { - q = l[o].x; - a = l[o].y; - this._drawLine(m, r, c, q, a, w.line.color.call(this, A[o - 1]), w.line.width); - if (w.line && w.line.shadow) { - m.globalAlpha = 0.3; - this._drawLine(m, r + 2, c + w.line.width + 8, q + 2, a + w.line.width + 8, "#eeeeee", w.line.width + 3); - m.globalAlpha = 1 - } - } - if (typeof l[o - 1].index != "undefined") { - this._drawItem(m, r, c, A[l[o - 1].index], w.label(A[l[o - 1].index]), n, x, h) - } - } - } - }, - _calcOverflowX: function(c, a, g, e, h) { - return c + (h - g) * (a - c) / (e - g) - }, - _drawItem: function(u, e, s, o, r, q, c) { - var g = this._settings.item; - var n = parseInt(g.radius.call(this, o), 10) || 0; - var m = this._mapStart; - if (n) { - u.save(); - if (g.shadow) { - u.lineWidth = 1; - u.strokeStyle = "#bdbdbd"; - u.fillStyle = "#bdbdbd"; - var a = [0.1, 0.2, 0.3]; - for (var l = (a.length - 1); l >= 0; l--) { - u.globalAlpha = a[l]; - u.strokeStyle = "#d0d0d0"; - u.beginPath(); - this._strokeChartItem(u, e, s + 2 * n / 3, n + l + 1, g.type); - u.stroke() - } - u.beginPath(); - u.globalAlpha = 0.3; - u.fillStyle = "#bdbdbd"; - this._strokeChartItem(u, e, s + 2 * n / 3, n + 1, g.type); - u.fill() - } - u.restore(); - if (g.type == "image" && g.src) { - this._drawImage(u, e - n, s - n, g.src, n * 2, n * 2) - } else { - u.lineWidth = g.borderWidth; - u.fillStyle = g.color.call(this, o); - u.strokeStyle = g.borderColor.call(this, o); - u.globalAlpha = g.alpha.call(this, o); - u.beginPath(); - this._strokeChartItem(u, e, s, n + 1, g.type); - u.fill(); - u.stroke(); - u.globalAlpha = 1 - } - } - if (r) { - this.canvases[q].renderTextAt(false, true, e, s - n - this._settings.labelOffset, this._settings.label.call(this, o)) - } - var h = (this._settings.eventRadius || n + 1); - c.addRect(o.id, [e - h - m.x, s - h - m.y, e + h - m.x, s + h - m.y], q) - }, - _drawImage: function(e, c, n, l, g, a) { - var h = document.createElement("img"); - h.style.display = "none"; - h.style.width = g + "px"; - h.style.height = a + "px"; - document.body.appendChild(h); - h.src = l; - var m = function() { - e.drawImage(h, c, n) - }; - if (h.complete) { - m(h) - } else { - h.onload = m - } - }, - _strokeChartItem: function(a, c, h, g, e) { - var l = []; - c = parseInt(c, 10); - h = parseInt(h, 10); - if (e && (e == "square" || e == "s")) { - g *= Math.sqrt(2) / 2; - l = [ - [c - g - a.lineWidth / 2, h - g], - [c + g, h - g], - [c + g, h + g], - [c - g, h + g], - [c - g, h - g] - ] - } else { - if (e && (e == "diamond" || e == "d")) { - var m = (a.lineWidth > 1 ? a.lineWidth * Math.sqrt(2) / 4 : 0); - l = [ - [c, h - g], - [c + g, h], - [c, h + g], - [c - g, h], - [c + m, h - g - m] - ] - } else { - if (e && (e == "triangle" || e == "t")) { - l = [ - [c, h - g], - [c + Math.sqrt(3) * g / 2, h + g / 2], - [c - Math.sqrt(3) * g / 2, h + g / 2], - [c, h - g] - ] - } else { - l = [ - [c, h, g, 0, Math.PI * 2, true] - ] - } - } - } - this._path(a, l) - }, - _getPointY: function(e, n, l, a) { - var m = a.minValue; - var g = a.maxValue; - var q = a.unit; - var c = a.valueFactor; - var o = this._settings.value(e); - var r = (parseFloat(o || 0) - m) * c; - if (!this._settings.yAxis) { - r += a.startValue / q - } - var h = l.y - q * r; - if (this._settings.fixOverflow && (this._settings.view == "line" || this._settings.view == "area")) { - if (o > g) { - h = { - y: n.y, - y0: h, - out: "max" - } - } else { - if (r < 0 || o < m) { - h = { - y: l.y, - y0: h, - out: "min" - } - } - } - } else { - if (o > g) { - h = n.y - } - if (r < 0 || o < m) { - h = l.y - } - } - return h - }, - _calculateLineParams: function(o, g, m, l, h) { - var c = {}; - var q; - c.totalHeight = l.y - m.y; - c.cellWidth = (l.x - m.x) / ((!this._settings.offset) ? (g.length - 1) : g.length); - var e = !!this._settings.yAxis; - var a = (this._settings.view.indexOf("stacked") != -1 ? this._getStackedLimits(g) : this._getLimits()); - c.maxValue = a.max; - c.minValue = a.min; - if (!h) { - this._drawScales(g, m, l, c.minValue, c.maxValue, c.cellWidth) - } - if (e) { - c.maxValue = parseFloat(this._settings.yAxis.end); - c.minValue = parseFloat(this._settings.yAxis.start) - } - var n = this._getRelativeValue(c.minValue, c.maxValue); - q = n[0]; - c.valueFactor = n[1]; - c.unit = (q ? c.totalHeight / q : 10); - c.startValue = 0; - if (!e) { - c.startValue = 10; - if (c.unit != c.totalHeight) { - c.unit = (q ? (c.totalHeight - c.startValue) / q : 10) - } - } - return c - } -}; -dhtmlx.chart.bar = { - pvt_render_bar: function(C, S, l, h, D, Q) { - var v, F, J, o, O, w, x, c, K, y, u, N, q, P = h.y - l.y; - q = !!this._settings.yAxis; - N = !!this._settings.xAxis; - o = this._getLimits(); - O = o.max; - w = o.min; - F = (h.x - l.x) / S.length; - if (!D && !(this._settings.origin != "auto" && !q)) { - this._drawScales(S, l, h, w, O, F) - } - if (q) { - O = parseFloat(this._settings.yAxis.end); - w = parseFloat(this._settings.yAxis.start) - } - K = this._getRelativeValue(w, O); - x = K[0]; - c = K[1]; - u = (x ? P / x : x); - if (!q && !(this._settings.origin != "auto" && N)) { - y = 10; - u = (x ? (P - y) / x : y) - } - if (!D && (this._settings.origin != "auto" && !q) && this._settings.origin > w) { - this._drawXAxis(C, S, l, h, F, h.y - u * (this._settings.origin - w)) - } - v = parseInt(this._settings.width, 10); - var M = 0; - var I = 0; - for (J = 0; J < this._series.length; J++) { - if (J == D) { - I = M - } - if (this._series[J].view == "bar") { - M++ - } - } - var n = this._settings.seriesMargin; - var g = this._settings.seriesPadding; - if (this._series && (v * M + g + (M > 2 ? n * M : 0) > F)) { - v = F / M - g - (M > 2 ? n : 0) - } - var r = (F - v * M - n * (M - 1)) / 2; - if (this._settings.border) { - v = parseInt(v, 10); - r = parseInt(r, 10) - } - var m = (typeof this._settings.radius != "undefined" ? parseInt(this._settings.radius, 10) : Math.round(v / 5)); - var s = false; - var a = this._settings.gradient; - if (a && typeof(a) != "function") { - s = a; - a = false - } else { - if (a) { - a = C.createLinearGradient(0, h.y, 0, l.y); - this._settings.gradient(a) - } - } - if (!N) { - this._drawLine(C, l.x, h.y + 0.5, h.x, h.y + 0.5, "#000000", 1) - } - for (J = 0; J < S.length; J++) { - var A = parseFloat(this._settings.value(S[J]) || 0); - if (isNaN(A)) { - continue - } - if (A > O) { - A = O - } - A -= w; - A *= c; - var L = l.x + r + (M > 2 ? n * I : 0) + J * F + v * I; - var e = h.y; - if (A < 0 || (this._settings.yAxis && A === 0 && !(this._settings.origin != "auto" && this._settings.origin > w))) { - this.canvases[D].renderTextAt(true, true, L + Math.floor(v / 2), e, this._settings.label(S[J])); - continue - } - if (!q && !(this._settings.origin != "auto" && N)) { - A += y / u - } - var E = a || this._settings.color.call(this, S[J]); - C.globalAlpha = this._settings.alpha.call(this, S[J]); - var H = this._drawBar(C, l, L, e, v, w, m, u, A, E, a, s); - if (s) { - this._drawBarGradient(C, L, e, v, w, m, u, A, E, s) - } - if (this._settings.border) { - this._drawBarBorder(C, L, e, v, w, m, u, A, E) - } - C.globalAlpha = 1; - if (H[0] != L) { - this.canvases[D].renderTextAt(false, true, L + Math.floor(v / 2), H[1], this._settings.label(S[J])) - } else { - this.canvases[D].renderTextAt(true, true, L + Math.floor(v / 2), H[3], this._settings.label(S[J])) - } - Q.addRect(S[J].id, [L - l.x, H[3] - l.y, H[2] - l.x, H[1] - l.y], D) - } - }, - _correctBarParams: function(n, h, e, l, m, o, g) { - var a = this._settings.xAxis; - var c = e; - if (!!a && this._settings.origin != "auto" && (this._settings.origin > g)) { - e -= (this._settings.origin - g) * m; - c = e; - l = l - (this._settings.origin - g); - if (l < 0) { - l *= (-1); - n.translate(h + o, e); - n.rotate(Math.PI); - h = 0; - e = 0 - } - e -= 0.5 - } - return { - value: l, - x0: h, - y0: e, - start: c - } - }, - _drawBar: function(u, h, A, g, o, q, l, n, s, v, a, m) { - var w; - u.save(); - u.fillStyle = v; - var r = this._correctBarParams(u, A, g, s, n, o, q); - if (n * r.value > 0) { - w = this._setBarPoints(u, r.x0, r.y0, o, l, n, r.value, (this._settings.border ? 1 : 0)) - } else { - w = [r.x0, r.y0] - } - if (a && !m) { - u.lineTo(r.x0 + (this._settings.border ? 1 : 0), h.y) - } - u.fill(); - u.restore(); - var y = r.x0; - var x = (r.x0 != A ? A + w[0] : w[0]); - var e = (r.x0 != A ? (r.start - w[1] - r.y0) : r.y0); - var c = (r.x0 != A ? r.start - r.y0 : w[1]); - return [y, e, x, c] - }, - _drawBarBorder: function(o, c, m, q, h, g, n, l, e) { - var a; - o.save(); - a = this._correctBarParams(o, c, m, l, n, q, h); - this._setBorderStyles(o, e); - if (n * a.value > 0) { - this._setBarPoints(o, a.x0, a.y0, q, g, n, a.value, o.lineWidth / 2, 1) - } - o.stroke(); - o.restore() - }, - _drawBarGradient: function(s, g, q, u, n, m, r, o, h, c) { - s.save(); - var e = this._correctBarParams(s, g, q, o, r, u, n); - var l = this._setBarGradient(s, e.x0, e.y0, e.x0 + u, e.y0 - r * e.value + 2, c, h, "y"); - var a = this._settings.border ? 1 : 0; - s.fillStyle = l.gradient; - if (r * e.value > 0) { - this._setBarPoints(s, e.x0 + l.offset, e.y0, u - l.offset * 2, m, r, e.value, l.offset + a) - } - s.fill(); - s.restore() - }, - _setBarPoints: function(w, g, s, x, n, u, r, h, m) { - w.beginPath(); - var c = 0; - if (n > u * r) { - var l = (n - u * r) / n; - if (l <= 1 && l >= -1) { - c = -Math.acos(l) + Math.PI / 2 - } - } - w.moveTo(g + h, s); - var q = s - Math.floor(u * r) + n + (n ? 0 : h); - if (n < u * r) { - w.lineTo(g + h, q) - } - var e = g + n; - if (n && n > 0) { - w.arc(e, q, n - h, -Math.PI + c, -Math.PI / 2, false) - } - var a = g + x - n - h; - var o = q - n + (n ? h : 0); - w.lineTo(a, o); - if (n && n > 0) { - w.arc(a, q, n - h, -Math.PI / 2, 0 - c, false) - } - var v = g + x - h; - w.lineTo(v, s); - if (!m) { - w.lineTo(g + h, s) - } - return [v, o] - } -}; -dhtmlx.chart.pie = { - pvt_render_pie: function(c, g, a, l, e, h) { - this._renderPie(c, g, a, l, 1, h, e) - }, - _renderPie: function(s, F, h, g, D, E, u) { - if (!F.length) { - return - } - var v = this._getPieParameters(h, g); - var m = (this._settings.radius ? this._settings.radius : v.radius); - if (m < 0) { - return - } - var a = this._getValues(F); - var l = this._getTotalValue(a); - var n = this._getRatios(a, l); - var C = (this._settings.x ? this._settings.x : v.x); - var e = (this._settings.y ? this._settings.y : v.y); - if (D == 1 && this._settings.shadow) { - this._addShadow(s, C, e, m) - } - e = e / D; - var r = -Math.PI / 2; - var q; - var x = []; - s.scale(1, D); - if (this._settings.gradient) { - var A = (D != 1 ? C + m / 3 : C); - var c = (D != 1 ? e + m / 3 : e); - this._showRadialGradient(s, C, e, m, A, c) - } - if (this._settings.labelLines) { - this._labelMargins = this._getLabelMargins(n, m) - } - for (var y = 0; y < F.length; y++) { - if (!a[y]) { - continue - } - s.strokeStyle = (F.length == 1 ? this._settings.color.call(this, F[y]) : this._settings.lineColor.call(this, F[y])); - s.beginPath(); - s.moveTo(C, e); - x.push(r); - q = -Math.PI / 2 + n[y] - 0.0001; - s.arc(C, e, m, r, q, false); - s.lineTo(C, e); - var w = this._settings.color.call(this, F[y]); - s.fillStyle = w; - s.fill(); - if (this._settings.pieInnerText) { - this._drawSectorLabel(C, e, 5 * m / 6, r, q, D, this._settings.pieInnerText(F[y], l), true) - } - if (this._settings.label) { - this._drawSectorLabel(C, e, m, r, q, D, this._settings.label(F[y]), 0, (this._labelMargins ? this._labelMargins[y] : {}), s) - } - if (D != 1) { - this._createLowerSector(s, C, e, r, q, m, true); - s.fillStyle = "#000000"; - s.globalAlpha = 0.2; - this._createLowerSector(s, C, e, r, q, m, false); - s.globalAlpha = 1; - s.fillStyle = w - } - E.addSector(F[y].id, r, q, C - h.x, e - h.y / D, m, D, u); - r = q - } - s.globalAlpha = 0.8; - var o; - if (x.length > 1) { - for (y = 0; y < x.length; y++) { - o = this._getPositionByAngle(x[y], C, e, m); - this._drawLine(s, C, e, o.x, o.y, this._settings.lineColor.call(this, F[y]), 2) - } - } - if (D == 1) { - s.lineWidth = 2; - s.strokeStyle = "#ffffff"; - s.beginPath(); - s.arc(C, e, m + 1, 0, 2 * Math.PI, false); - s.stroke() - } - s.globalAlpha = 1; - s.scale(1, 1 / D) - }, - _getLabelMargins: function(v, l) { - var D, C, J, I, a = [], - w = []; - var M = { - 1: [0] - }; - for (J = 1; J < v.length; J++) { - D = -Math.PI / 2 + (J > 1 ? (v[J - 1] - (v[J - 1] - v[J - 2]) / 2) : v[J - 1] / 2); - C = -Math.PI / 2 + v[J] - (v[J] - v[J - 1]) / 2; - var h = Math.cos(C); - var y = Math.sin(C); - var m = Math.cos(D); - var A = Math.sin(D); - var E = Math.round((l + 8) * Math.abs(Math.sin(C) - Math.sin(D))); - var s = (h < 0 ? (y < 0 ? 4 : 3) : (y < 0 ? 1 : 2)); - var u = (m < 0 ? (A < 0 ? 4 : 3) : (A < 0 ? 1 : 2)); - if (!M[s]) { - M[s] = [] - } - M[s].push(u == s ? E : 0) - } - var F = []; - var L = 0; - for (var x in M) { - var g = 0; - var e = M[x].length; - var o = 0; - var n = 0; - if (x == 1 || x == 3) { - I = x - 1; - var K = 0; - while (I > 0) { - if (M[I]) { - K += M[I].length - } - I-- - } - F[K + M[x].length - 1] = { - y: 0, - x: 0 - }; - var I = M[x].length - 2; - while (I >= 0) { - if ((o || I) && M[x][I + 1] - o < 18) { - o += 18 - M[x][I + 1] - } else { - o = 0 - } - F[K + I] = { - y: o * (x == 1 ? -1 : 1) - }; - I-- - } - for (var H = F.length - M[x].length; H < F.length; H++) { - if (F[H]["y"] != 0) { - n += 6; - F[H]["x"] = n - } else { - F[H]["x"] = 0; - n = 0 - } - } - } else { - var I = 1; - F.push({ - y: 0, - x: 0 - }); - while (I < M[x].length) { - if (M[x][I] - o < 18) { - o += 18 - M[x][I] - } else { - o = 0 - } - F.push({ - y: o * (x == 4 ? -1 : 1) - }); - I++ - } - for (var H = F.length - 1; H >= F.length - M[x].length; H--) { - if (F[H]["y"] != 0) { - n += 8; - F[H]["x"] = n - } else { - n = 0; - F[H]["x"] = 0 - } - } - } - } - return F - }, - _getValues: function(e) { - var a = []; - for (var c = 0; c < e.length; c++) { - a.push(parseFloat(this._settings.value(e[c]) || 0)) - } - return a - }, - _getTotalValue: function(a) { - var e = 0; - for (var c = 0; c < a.length; c++) { - e += a[c] - } - return e - }, - _getRatios: function(c, a) { - var l; - var h = []; - var g = 0; - a = a || this._getTotalValue(c); - for (var e = 0; e < c.length; e++) { - l = c[e]; - h[e] = Math.PI * 2 * (a ? ((l + g) / a) : (1 / c.length)); - g += l - } - return h - }, - _getPieParameters: function(m, h) { - var g = h.x - m.x; - var c = h.y - m.y; - var e = m.x + g / 2; - var l = m.y + c / 2; - var a = Math.min(g / 2, c / 2); - return { - x: e, - y: l, - radius: a - } - }, - _createLowerSector: function(g, h, m, e, a, l, c) { - g.lineWidth = 1; - if (!((e <= 0 && a >= 0) || (e >= 0 && a <= Math.PI) || (Math.abs(e - Math.PI) > 0.003 && e <= Math.PI && a >= Math.PI))) { - return - } - if (e <= 0 && a >= 0) { - e = 0; - c = false; - this._drawSectorLine(g, h, m, l, e, a) - } - if (e <= Math.PI && a >= Math.PI) { - a = Math.PI; - c = false; - this._drawSectorLine(g, h, m, l, e, a) - } - var n = (this._settings.height || Math.floor(l / 4)) / this._settings.cant; - g.beginPath(); - g.arc(h, m, l, e, a, false); - g.lineTo(h + l * Math.cos(a), m + l * Math.sin(a) + n); - g.arc(h, m + n, l, a, e, true); - g.lineTo(h + l * Math.cos(e), m + l * Math.sin(e)); - g.fill(); - if (c) { - g.stroke() - } - }, - _drawSectorLine: function(e, g, l, h, c, a) { - e.beginPath(); - e.arc(g, l, h, c, a, false); - e.stroke() - }, - _addShadow: function(c, a, l, g) { - c.globalAlpha = 0.5; - var h = ["#c4c4c4", "#c6c6c6", "#cacaca", "#dcdcdc", "#dddddd", "#e0e0e0", "#eeeeee", "#f5f5f5", "#f8f8f8"]; - for (var e = h.length - 1; e > -1; e--) { - c.beginPath(); - c.fillStyle = h[e]; - c.arc(a + 1, l + 1, g + e, 0, Math.PI * 2, true); - c.fill() - } - c.globalAlpha = 1 - }, - _getGrayGradient: function(a) { - a.addColorStop(0, "#ffffff"); - a.addColorStop(0.7, "#7a7a7a"); - a.addColorStop(1, "#000000"); - return a - }, - _showRadialGradient: function(e, c, m, a, g, h) { - e.beginPath(); - var l; - if (typeof this._settings.gradient != "function") { - l = e.createRadialGradient(g, h, a / 4, c, m, a); - l = this._getGrayGradient(l) - } else { - l = this._settings.gradient(l) - } - e.fillStyle = l; - e.arc(c, m, a, 0, Math.PI * 2, true); - e.fill(); - e.globalAlpha = 0.7 - }, - _drawSectorLabel: function(M, g, m, E, D, N, A, a, C, H) { - var w = this.canvases[0].renderText(0, 0, A, 0, 1); - if (!w) { - return - } - var O = w.scrollWidth; - w.style.width = O + "px"; - if (O > M) { - O = M - } - var F = (D - E < 0.2 ? 4 : 8); - if (a) { - F = O / 1.8 - } - var l = E + (D - E) / 2; - var h = m; - m = (a ? 5 * m / 6 : m + this._settings.labelOffset); - m = m - (F - 8) / 2; - var r = -F; - var q = -8; - var I = "right"; - if (l >= Math.PI / 2 && l < Math.PI || l <= 3 * Math.PI / 2 && l >= Math.PI) { - r = -O - r; - I = "left" - } - var n = 0; - if (!a && N < 1 && (l > 0 && l < Math.PI)) { - n = (this._settings.height || Math.floor(m / 4)) / N - } - var s = (g + Math.floor(m + n) * Math.sin(l)) * N + q; - var u = M + Math.floor(m + F / 2) * Math.cos(l) + r; - var o = (D < Math.PI / 2 + 0.01); - var v = (E < Math.PI / 2); - if (v && o) { - u = Math.max(u, M + 3) - } else { - if (!v && !o) { - u = Math.min(u, M - O) - } else { - if (!a && !this._settings.labelLines && (l >= Math.PI / 2 && l < Math.PI || l <= 3 * Math.PI / 2 && l >= Math.PI)) { - u += O / 3 - } - } - } - if (this._settings.labelLines && !a) { - var J = Math.abs((Math.abs(C || 0) + Math.abs(h * Math.sin(l))) / Math.sin(l)); - if (C.y) { - s += C.y - } - if (I == "left") { - u -= C.x - } else { - u += C.x - } - H.beginPath(); - H.strokeStyle = "#555"; - var L = M + h * Math.cos(l); - var e = g + h * Math.sin(l); - H.moveTo(L, e); - var K = u - (I == "left" ? r - 8 : 2); - var c = s; - if (I == "left" && K > L) { - K = L - Math.abs(c - e + 16) / Math.tan(l - Math.PI); - c = c + 16; - if (l < Math.PI) { - c -= 8 - } - } else { - c += 8 - } - H.lineTo(K, c); - H.lineTo(K + (I == "left" ? -5 : 5), c); - H.stroke(); - s = c - 8; - u = K + r + (I == "left" ? -15 : 15) - } - w.style.top = s + "px"; - w.style.left = u + "px"; - w.style.width = O + "px"; - w.style.textAlign = I; - w.style.whiteSpace = "nowrap" - } -}; -dhtmlx.chart.pie3D = { - pvt_render_pie3D: function(c, g, a, l, e, h) { - this._renderPie(c, g, a, l, this._settings.cant, h) - } -}; -dhtmlx.chart.donut = { - pvt_render_donut: function(s, h, q, o, m, c) { - if (!h.length) { - return - } - this._renderPie(s, h, q, o, 1, c); - var g = this._settings; - var l = this._getPieParameters(q, o); - var a = (g.radius ? g.radius : l.radius); - var n = ((g.innerRadius && (g.innerRadius < a)) ? g.innerRadius : a / 3); - var e = (g.x ? g.x : l.x); - var r = (g.y ? g.y : l.y); - s.fillStyle = "#ffffff"; - s.beginPath(); - s.arc(e, r, n, 0, Math.PI * 2, true); - s.fill() - } -}; -dhtmlx.DataDriver.dhtmlxgrid = { - _grid_getter: "_get_cell_value", - toObject: function(a) { - this._grid = a; - return a - }, - getRecords: function(a) { - return a.rowsBuffer - }, - getDetails: function(e) { - var a = {}; - for (var c = 0; c < this._grid.getColumnsNum(); c++) { - a["data" + c] = this._grid[this._grid_getter](e, c) - } - return a - }, - getInfo: function(a) { - return { - _size: 0, - _from: 0 - } - } -}; -dhtmlx.ui.Canvas = function(c, e, h) { - this._canvas_labels = []; - this._canvas_name = e; - this._obj = c; - var g = c.offsetWidth * (window.devicePixelRatio || 1); - var a = c.offsetHeight * (window.devicePixelRatio || 1); - var h = h || ""; - h += ";width:" + c.offsetWidth + "px;height:" + c.offsetHeight + "px;"; - this._prepareCanvas(e, h, g, a) -}; -dhtmlx.ui.Canvas.prototype = { - _prepareCanvas: function(c, g, e, a) { - this._canvas = dhtmlx.html.create("canvas", { - width: e, - height: a, - canvas_id: c, - style: (g || "") - }); - this._obj.appendChild(this._canvas); - if (!this._canvas.getContext) { - if (dhtmlx._isIE) { - dhtmlx.require("thirdparty/excanvas/excanvas.js"); - G_vmlCanvasManager.init_(document); - G_vmlCanvasManager.initElement(this._canvas) - } else { - dhtmlx.error("Canvas is not supported in the current browser") - } - } - return this._canvas - }, - getCanvas: function(c) { - var a = (this._canvas || this._prepareCanvas()).getContext(c || "2d"); - if (!this._dhtmlxDevicePixelRatio) { - this._dhtmlxDevicePixelRatio = true; - a.scale(window.devicePixelRatio || 1, window.devicePixelRatio || 1) - } - return a - }, - _resizeCanvas: function() { - if (this._canvas) { - var a = this._canvas.parentNode.offsetWidth; - var c = this._canvas.parentNode.offsetHeight; - this._canvas.setAttribute("width", a * (window.devicePixelRatio || 1)); - this._canvas.setAttribute("height", c * (window.devicePixelRatio || 1)); - this._canvas.style.width = a + "px"; - this._canvas.style.height = c + "px"; - this._dhtmlxDevicePixelRatio = false - } - }, - renderText: function(a, l, h, g, c) { - if (!h) { - return - } - var e = dhtmlx.html.create("DIV", { - "class": "dhx_canvas_text" + (g ? (" " + g) : ""), - style: "left:" + a + "px; top:" + l + "px;" - }, h); - this._obj.appendChild(e); - this._canvas_labels.push(e); - if (c) { - e.style.width = c + "px" - } - return e - }, - renderTextAt: function(h, o, a, n, g, m, e) { - var l = this.renderText.call(this, a, n, g, m, e); - if (l) { - if (h) { - if (h == "middle") { - l.style.top = parseInt(n - l.offsetHeight / 2, 10) + "px" - } else { - l.style.top = n - l.offsetHeight + "px" - } - } - if (o) { - if (o == "left") { - l.style.left = a - l.offsetWidth + "px" - } else { - l.style.left = parseInt(a - l.offsetWidth / 2, 10) + "px" - } - } - } - return l - }, - clearCanvas: function(a) { - var c = [], - e; - for (e = 0; e < this._canvas_labels.length; e++) { - this._obj.removeChild(this._canvas_labels[e]) - } - this._canvas_labels = []; - if (!a && this._obj._htmlmap) { - c = this._getMapAreas(); - while (c.length) { - c[0].parentNode.removeChild(c[0]); - c.splice(0, 1) - } - c = null; - if (!this._obj._htmlmap.getElementsByTagName("AREA").length) { - this._obj._htmlmap.parentNode.removeChild(this._obj._htmlmap); - this._obj._htmlmap = null - } - } - this.getCanvas().clearRect(0, 0, this._canvas.width, this._canvas.height) - }, - toggleCanvas: function() { - this._toggleCanvas(this._canvas.style.display == "none") - }, - showCanvas: function() { - this._toggleCanvas(true) - }, - hideCanvas: function() { - this._toggleCanvas(false) - }, - _toggleCanvas: function(a) { - var c, e; - for (e = 0; e < this._canvas_labels.length; e++) { - this._canvas_labels[e].style.display = (a ? "" : "none") - } - if (this._obj._htmlmap) { - c = this._getMapAreas(); - for (e = 0; e < c.length; e++) { - if (a) { - c[e].removeAttribute("disabled") - } else { - c[e].setAttribute("disabled", "true") - } - } - } - this._canvas.style.display = (a ? "" : "none") - }, - _getMapAreas: function() { - var e = [], - a, c; - a = this._obj._htmlmap.getElementsByTagName("AREA"); - for (c = 0; c < a.length; c++) { - if (a[c].getAttribute("userdata") == this._canvas_name) { - e.push(a[c]) - } - } - return e - } -}; -dhtmlXChart = function(a) { - this.name = "Chart"; - if (dhtmlx.assert_enabled()) { - this._assert() - } - dhtmlx.extend(this, dhtmlx.Settings); - this._parseContainer(a, "dhx_chart"); - dhtmlx.extend(this, dhtmlx.AtomDataLoader); - dhtmlx.extend(this, dhtmlx.DataLoader); - this.data.provideApi(this, true); - dhtmlx.extend(this, dhtmlx.EventSystem); - dhtmlx.extend(this, dhtmlx.MouseEvents); - dhtmlx.destructors.push(this); - dhtmlx.extend(this, dhtmlx.Group); - dhtmlx.extend(this, dhtmlx.AutoTooltip); - for (var c in dhtmlx.chart) { - dhtmlx.extend(this, dhtmlx.chart[c]) - } - if (a.preset) { - this.definePreset(a) - } - this._parseSettings(a, this.defaults); - this._series = [this._settings]; - this.data.attachEvent("onStoreUpdated", dhtmlx.bind(function() { - this.render() - }, this)); - this.attachEvent("onLocateData", this._switchSerie) -}; -dhtmlXChart.prototype = { - _id: "dhx_area_id", - on_click: { - dhx_chart_legend_item: function(m, n, l) { - var h = l.getAttribute("series_id"); - if (this.callEvent("onLegendClick", [m, h, l])) { - var g = this._settings; - var c = g.legend.values; - var a = (c && (typeof c[h].toggle != "undefined")) ? c[h].toggle : g.legend.toggle; - if ((typeof h != "undefined") && this._series.length > 1) { - if (a) { - if (l.className.indexOf("hidden") != -1) { - this.showSeries(h) - } else { - this.hideSeries(h) - } - } - } - } - } - }, - on_dblclick: {}, - on_mouse_move: {}, - destructor: function() { - dhtmlx.Destruction.destructor.apply(this, arguments); - if (this.canvases) { - for (var a in this.canvases) { - this.canvases[a]._obj = null; - this.canvases[a] = null - } - this.canvases = null - } - if (this.legendObj) { - this.legendObj.innerHTML = ""; - this.legendObj = null - } - if (this.config.tooltip) { - this.config.tooltip._obj = null; - this.config.tooltip._dataobj = null - } - }, - bind: function() { - dhtmlx.BaseBind.legacyBind.apply(this, arguments) - }, - sync: function() { - dhtmlx.BaseBind.legacySync.apply(this, arguments) - }, - resize: function() { - for (var a in this.canvases) { - this.canvases[a]._resizeCanvas() - } - this.render() - }, - view_setter: function(a) { - if (!dhtmlx.chart[a]) { - dhtmlx.error("Chart type extension is not loaded: " + a) - } - if (typeof this._settings.offset == "undefined") { - this._settings.offset = !(a == "area" || a == "stackedArea") - } - if (a == "radar" && !this._settings.yAxis) { - this.define("yAxis", {}) - } - if (a == "scatter") { - if (!this._settings.yAxis) { - this.define("yAxis", {}) - } - if (!this._settings.xAxis) { - this.define("xAxis", {}) - } - } - return a - }, - clearCanvas: function() { - if (this.canvases && typeof this.canvases == "object") { - for (var a in this.canvases) { - this.canvases[a].clearCanvas() - } - } - }, - render: function() { - var e, c, g, h, a; - if (!this.callEvent("onBeforeRender", [this.data])) { - return - } - if (this.canvases && typeof this.canvases == "object") { - for (c in this.canvases) { - this.canvases[c].clearCanvas() - } - } else { - this.canvases = {} - } - if (this._settings.legend) { - if (!this.canvases.legend) { - this.canvases.legend = new dhtmlx.ui.Canvas(this._obj, "legend") - } - this._drawLegend(this.data.getRange(), this._obj.offsetWidth) - } - e = this._getChartBounds(this._obj.offsetWidth, this._obj.offsetHeight); - this._map = h = new dhtmlx.ui.Map(this._id); - a = this._settings; - g = this._getChartData(); - for (c = 0; c < this._series.length; c++) { - this._settings = this._series[c]; - if (!this.canvases[c]) { - this.canvases[c] = new dhtmlx.ui.Canvas(this._obj, c, "z-index:" + (2 + c)) - } - this["pvt_render_" + this._settings.view](this.canvases[c].getCanvas(), g, e.start, e.end, c, h) - } - h.render(this._obj); - this._obj.lastChild.style.zIndex = 1000; - this._applyBounds(this._obj.lastChild, e); - this.callEvent("onAfterRender", []); - this._settings = a - }, - _applyBounds: function(e, c) { - var a = {}; - a.left = c.start.x; - a.top = c.start.y; - a.width = c.end.x - c.start.x; - a.height = c.end.y - c.start.y; - for (var g in a) { - e.style[g] = a[g] + "px" - } - }, - _getChartData: function() { - var g, m, e, h, l, q, a, n, o, c; - h = this.data.getRange(); - g = (this._settings.view.toLowerCase().indexOf("barh") != -1 ? "yAxis" : "xAxis"); - m = this._settings[g]; - if (m && m.units && (typeof m.units == "object")) { - e = m.units; - n = []; - if (typeof e.start != "undefined" && typeof e.end != "undefined" && typeof e.next != "undefined") { - a = e.start; - while (a <= e.end) { - n.push(a); - a = e.next.call(this, a) - } - } else { - if (Object.prototype.toString.call(e) === "[object Array]") { - n = e - } - } - q = []; - if (n.length) { - o = m.value; - c = {}; - for (l = 0; l < h.length; l++) { - c[o(h[l])] = l - } - for (l = 0; l < n.length; l++) { - if (typeof c[n[l]] != "undefined") { - h[c[n[l]]].$unit = n[l]; - q.push(h[c[n[l]]]) - } else { - q.push({ - $unit: n[l] - }) - } - } - } - return q - } - return h - }, - value_setter: dhtmlx.Template.obj_setter, - xValue_setter: dhtmlx.Template.obj_setter, - yValue_setter: function(a) { - this.define("value", a) - }, - alpha_setter: dhtmlx.Template.obj_setter, - label_setter: dhtmlx.Template.obj_setter, - lineColor_setter: dhtmlx.Template.obj_setter, - borderColor_setter: dhtmlx.Template.obj_setter, - pieInnerText_setter: dhtmlx.Template.obj_setter, - gradient_setter: function(a) { - if ((typeof(a) != "function") && a && (a === true)) { - a = "light" - } - return a - }, - colormap: { - RAINBOW: function(a) { - var c = Math.floor(this.indexById(a.id) / this.dataCount() * 1536); - if (c == 1536) { - c -= 1 - } - return this._rainbow[Math.floor(c / 256)](c % 256) - } - }, - color_setter: function(a) { - return this.colormap[a] || dhtmlx.Template.obj_setter(a) - }, - fill_setter: function(a) { - return ((!a || a == 0) ? false : dhtmlx.Template.obj_setter(a)) - }, - definePreset: function(a) { - this.define("preset", a.preset); - delete a.preset - }, - preset_setter: function(h) { - var e, c, g; - this.defaults = dhtmlx.extend({}, this.defaults); - if (typeof dhtmlx.presets.chart[h] == "object") { - g = dhtmlx.presets.chart[h]; - for (e in g) { - if (typeof g[e] == "object") { - if (!this.defaults[e] || typeof this.defaults[e] != "object") { - this.defaults[e] = dhtmlx.extend({}, g[e]) - } else { - this.defaults[e] = dhtmlx.extend({}, this.defaults[e]); - for (c in g[e]) { - this.defaults[e][c] = g[e][c] - } - } - } else { - this.defaults[e] = g[e] - } - } - return h - } - return false - }, - legend_setter: function(a) { - if (!a) { - if (this.legendObj) { - this.legendObj.innerHTML = ""; - this.legendObj = null - } - return false - } - if (typeof(a) != "object") { - a = { - template: a - } - } - this._mergeSettings(a, { - width: 150, - height: 18, - layout: "y", - align: "left", - valign: "bottom", - template: "", - toggle: (this._settings.view.toLowerCase().indexOf("stacked") != -1 ? "" : "hide"), - marker: { - type: "square", - width: 15, - height: 15, - radius: 3 - }, - margin: 4, - padding: 3 - }); - a.template = dhtmlx.Template.setter(a.template); - return a - }, - defaults: { - color: "RAINBOW", - alpha: "1", - label: false, - value: "{obj.value}", - padding: {}, - view: "pie", - lineColor: "#ffffff", - cant: 0.5, - width: 30, - labelWidth: 100, - line: { - width: 2, - color: "#1293f8" - }, - seriesMargin: 1, - seriesPadding: 4, - item: { - radius: 3, - borderColor: "#636363", - borderWidth: 1, - color: "#ffffff", - alpha: 1, - type: "r", - shadow: false - }, - shadow: true, - gradient: false, - border: true, - labelOffset: 20, - origin: "auto" - }, - item_setter: function(a) { - if (typeof(a) != "object") { - a = { - color: a, - borderColor: a - } - } - this._mergeSettings(a, dhtmlx.extend({}, this.defaults.item)); - var e = ["alpha", "borderColor", "color", "radius"]; - for (var c = 0; c < e.length; c++) { - a[e[c]] = dhtmlx.Template.setter(a[e[c]]) - } - return a - }, - line_setter: function(a) { - if (typeof(a) != "object") { - a = { - color: a - } - } - dhtmlx.extend(this.defaults.line, a); - a = dhtmlx.extend({}, this.defaults.line); - a.color = dhtmlx.Template.setter(a.color); - return a - }, - padding_setter: function(a) { - if (typeof(a) != "object") { - a = { - left: a, - right: a, - top: a, - bottom: a - } - } - this._mergeSettings(a, { - left: 50, - right: 20, - top: 35, - bottom: 40 - }); - return a - }, - xAxis_setter: function(a) { - if (!a) { - return false - } - if (typeof(a) != "object") { - a = { - template: a - } - } - if (!a.value) { - a.value = a.template - } - this._mergeSettings(a, { - title: "", - color: "#000000", - lineColor: "#cfcfcf", - template: "{obj}", - value: "{obj}", - lines: true - }); - var c = ["lineColor", "template", "lines", "value"]; - this._converToTemplate(c, a); - this._configXAxis = dhtmlx.extend({}, a); - return a - }, - yAxis_setter: function(a) { - if (!a) { - return false - } - this._mergeSettings(a, { - title: "", - color: "#000000", - lineColor: "#cfcfcf", - template: "{obj}", - lines: true, - bg: "#ffffff" - }); - var c = ["lineColor", "template", "lines", "bg"]; - this._converToTemplate(c, a); - this._configYAxis = dhtmlx.extend({}, a); - return a - }, - _converToTemplate: function(a, c) { - for (var e = 0; e < a.length; e++) { - c[a[e]] = dhtmlx.Template.setter(c[a[e]]) - } - }, - _drawScales: function(h, g, e, m, a, c) { - var l = 0; - if (this._settings.yAxis) { - if (!this.canvases.y) { - this.canvases.y = new dhtmlx.ui.Canvas(this._obj, "axis_y") - } - l = this._drawYAxis(this.canvases.y.getCanvas(), h, g, e, m, a) - } - if (this._settings.xAxis) { - if (!this.canvases.x) { - this.canvases.x = new dhtmlx.ui.Canvas(this._obj, "axis_x") - } - this._drawXAxis(this.canvases.x.getCanvas(), h, g, e, c, l) - } - return l - }, - _drawXAxis: function(v, l, s, r, g, q) { - var e = s.x - 0.5; - var u = parseInt((q ? q : r.y), 10) + 0.5; - var c = r.x; - var m; - var a = true; - var n = (this._settings.origin === 0 && this._settings.view == "stackedBar") ? r.y + 0.5 : u; - for (var h = 0; h < l.length; h++) { - if (this._settings.offset === true) { - m = e + g / 2 + h * g - } else { - m = (h == l.length - 1) ? r.x : e + h * g; - a = !!h - } - m = Math.ceil(m) - 0.5; - var o = ((this._settings.origin != "auto") && (this._settings.view == "bar") && (parseFloat(this._settings.value(l[h])) < this._settings.origin)); - this._drawXAxisLabel(m, n, l[h], a, o); - if ((this._settings.offset || h) && this._settings.xAxis.lines.call(this, l[h])) { - this._drawXAxisLine(v, m, r.y, s.y, l[h]) - } - } - this.canvases.x.renderTextAt(true, false, e, r.y + this._settings.padding.bottom - 3, this._settings.xAxis.title, "dhx_axis_title_x", r.x - s.x); - this._drawLine(v, e, u, c, u, this._settings.xAxis.color, 1); - if (!this._settings.xAxis.lines.call(this, {}) || !this._settings.offset) { - return - } - this._drawLine(v, c + 0.5, r.y, c + 0.5, s.y + 0.5, this._settings.xAxis.color, 0.2) - }, - _drawYAxis: function(w, D, l, h, n, m) { - var o; - var u = {}; - if (!this._settings.yAxis) { - return - } - var y = l.x - 0.5; - var g = h.y; - var e = l.y; - var v = h.y; - if (this._settings.yAxis.step) { - o = parseFloat(this._settings.yAxis.step) - } - if (typeof this._configYAxis.step == "undefined" || typeof this._configYAxis.start == "undefined" || typeof this._configYAxis.end == "undefined") { - u = this._calculateScale(n, m); - n = u.start; - m = u.end; - o = u.step; - this._settings.yAxis.end = m; - this._settings.yAxis.start = n - } - this._setYAxisTitle(l, h); - if (o === 0) { - m = n; - o = 1 - } - var a = (m == n ? g - e : (g - e) * o / (m - n)); - var A = 0; - for (var x = n; x <= m; x += o) { - if (u.fixNum) { - x = parseFloat((new Number(x)).toFixed(u.fixNum)) - } - var C = Math.floor(g - A * a) + 0.5; - if (!(x == n && this._settings.origin == "auto") && this._settings.yAxis.lines.call(this, x)) { - this._drawLine(w, y, C, h.x, C, this._settings.yAxis.lineColor.call(this, x), 1) - } - if (x == this._settings.origin) { - v = C - } - var q = x; - if (o < 1) { - var r = Math.min(this._log10(o), (n <= 0 ? 0 : this._log10(n))); - r = -this._settings.yAxis.decimalDigits || r; - var s = Math.pow(10, -r); - q = Math.round(x * s) / s; - x = q - } - this.canvases.y.renderText(0, C - 5, this._settings.yAxis.template(q.toString()), "dhx_axis_item_y", l.x - 5); - A++ - } - this._drawLine(w, y, g + 1, y, e, this._settings.yAxis.color, 1); - return v - }, - _setYAxisTitle: function(e, c) { - var a = "dhx_axis_title_y" + (dhtmlx._isIE && dhtmlx._isIE != 9 ? " dhx_ie_filter" : ""); - var g = this.canvases.y.renderTextAt("middle", false, 0, parseInt((c.y - e.y) / 2 + e.y, 10), this._settings.yAxis.title, a); - if (g) { - g.style.left = (dhtmlx.env.transform ? (g.offsetHeight - g.offsetWidth) / 2 : 0) + "px" - } - }, - _calculateScale: function(q, c) { - if (this._settings.origin != "auto" && this._settings.origin < q) { - q = this._settings.origin - } - var h, g, m; - h = ((c - q) / 8) || 1; - var e = Math.floor(this._log10(h)); - var a = Math.pow(10, e); - var l = h / a; - l = (l > 5 ? 10 : 5); - h = parseInt(l, 10) * a; - if (h > Math.abs(q)) { - g = (q < 0 ? -h : 0) - } else { - var r = Math.abs(q); - var o = Math.floor(this._log10(r)); - var n = r / Math.pow(10, o); - g = Math.ceil(n * 10) / 10 * Math.pow(10, o) - h; - if (r > 1 && h > 0.1) { - g = Math.ceil(g) - } - while (q < 0 ? g <= q : g >= q) { - g -= h - } - if (q < 0) { - g = -g - 2 * h - } - } - m = g; - while (m < c) { - m += h; - m = parseFloat((new Number(m)).toFixed(Math.abs(e))) - } - return { - start: g, - end: m, - step: h, - fixNum: Math.abs(e) - } - }, - _getLimits: function(c, m) { - var n, l; - var h = ((arguments.length && c == "h") ? this._configXAxis : this._configYAxis); - m = m || "value"; - if (h && (typeof h.end != "undefined") && (typeof h.start != "undefined") && h.step) { - n = parseFloat(h.end); - l = parseFloat(h.start) - } else { - n = this.max(this._series[0][m]); - l = (h && (typeof h.start != "undefined")) ? parseFloat(h.start) : this.min(this._series[0][m]); - if (this._series.length > 1) { - for (var g = 1; g < this._series.length; g++) { - var a = this.max(this._series[g][m]); - var e = this.min(this._series[g][m]); - if (a > n) { - n = a - } - if (e < l) { - l = e - } - } - } - } - return { - max: n, - min: l - } - }, - _log10: function(c) { - var a = "log"; - return Math.floor((Math[a](c) / Math.LN10)) - }, - _drawXAxisLabel: function(c, l, h, a, g) { - if (!this._settings.xAxis) { - return - } - var e = this.canvases.x.renderTextAt(g, a, c, l - (g ? 2 : 0), this._settings.xAxis.template(h)); - if (e) { - e.className += " dhx_axis_item_x" - } - }, - _drawXAxisLine: function(c, a, g, e, h) { - if (!this._settings.xAxis || !this._settings.xAxis.lines) { - return - } - this._drawLine(c, a, g, a, e, this._settings.xAxis.lineColor.call(this, h), 1) - }, - _drawLine: function(a, g, m, e, h, c, l) { - a.strokeStyle = c; - a.lineWidth = l; - a.beginPath(); - a.moveTo(g, m); - a.lineTo(e, h); - a.stroke(); - a.lineWidth = 1 - }, - _getRelativeValue: function(g, h) { - var e, a; - var c = 1; - if (h != g) { - e = h - g - } else { - e = g - } - return [e, c] - }, - _rainbow: [function(a) { - return "#FF" + dhtmlx.math.toHex(a / 2, 2) + "00" - }, function(a) { - return "#FF" + dhtmlx.math.toHex(a / 2 + 128, 2) + "00" - }, function(a) { - return "#" + dhtmlx.math.toHex(255 - a, 2) + "FF00" - }, function(a) { - return "#00FF" + dhtmlx.math.toHex(a, 2) - }, function(a) { - return "#00" + dhtmlx.math.toHex(255 - a, 2) + "FF" - }, function(a) { - return "#" + dhtmlx.math.toHex(a, 2) + "00FF" - }], - clearSeries: function() { - this._series = [] - }, - addSeries: function(c) { - var a = this._settings; - this._settings = dhtmlx.extend({}, a); - this._parseSettings(c, {}); - this._series.push(this._settings); - this._settings = a - }, - _switchSerie: function(l, a, h) { - var g; - this._active_serie = (this._series.length == 1 ? a.getAttribute("userdata") : this._getActiveSeries(h)); - if (!this._series[this._active_serie]) { - return - } - for (var c = 0; c < this._series.length; c++) { - g = this._series[c].tooltip; - if (g) { - g.disable() - } - } - if (!a.getAttribute("disabled")) { - g = this._series[this._active_serie].tooltip; - if (g) { - g.enable() - } - } - }, - _getActiveSeries: function(l) { - var o, c, h, g, n, r, q, m; - c = this._map._areas; - g = dhtmlx.html.offset(this._obj._htmlmap); - n = dhtmlx.html.pos(l); - q = n.x - g.x; - m = n.y - g.y; - for (h = 0; h < c.length; h++) { - o = c[h].points; - if (q <= o[2] && q >= o[0] && m <= o[3] && m >= o[1]) { - if (r) { - if (c[h].index > r.index) { - r = c[h] - } - } else { - r = c[h] - } - } - } - return r ? r.index : 0 - }, - hideSeries: function(a) { - this.canvases[a].hideCanvas(); - if (this._settings.legend.values && this._settings.legend.values[a]) { - this._settings.legend.values[a].$hidden = true - } - this._drawLegend() - }, - showSeries: function(a) { - this.canvases[a].showCanvas(); - if (this._settings.legend.values && this._settings.legend.values[a]) { - delete this._settings.legend.values[a].$hidden - } - this._drawLegend() - }, - _changeColorSV: function(c, h, a) { - var g, e; - e = dhtmlx.math.toRgb(c); - g = dhtmlx.math.rgbToHsv(e[0], e[1], e[2]); - g[1] *= h; - g[2] *= a; - return "rgb(" + dhtmlx.math.hsvToRgb(g[0], g[1], g[2]) + ")" - }, - _setBorderStyles: function(a, c) { - var g, e; - e = dhtmlx.math.toRgb(c); - g = dhtmlx.math.rgbToHsv(e[0], e[1], e[2]); - g[2] /= 2; - c = "rgb(" + dhtmlx.math.hsvToRgb(g[0], g[1], g[2]) + ")"; - a.strokeStyle = c; - if (a.globalAlpha == 1) { - a.globalAlpha = 0.9 - } - }, - _drawLegend: function(h, c) { - var l, r, A, s, m, u, a, o = 0, - n = 0, - w, q, g, v; - h = h || []; - c = c || this._obj.offsetWidth; - w = this.canvases.legend.getCanvas(); - r = this._settings.legend; - a = (this._settings.legend.layout != "x" ? "width:" + r.width + "px" : ""); - if (this.legendObj) { - this.legendObj.innerHTML = ""; - this.legendObj.parentNode.removeChild(this.legendObj) - } - this.canvases.legend.clearCanvas(true); - A = dhtmlx.html.create("DIV", { - "class": "dhx_chart_legend", - style: "left:" + o + "px; top:" + n + "px;" + a - }, ""); - if (r.padding) { - A.style.padding = r.padding + "px" - } - this.legendObj = A; - this._obj.appendChild(A); - m = []; - if (!r.values) { - for (l = 0; l < h.length; l++) { - m.push(this._drawLegendText(A, r.template(h[l]))) - } - } else { - for (l = 0; l < r.values.length; l++) { - m.push(this._drawLegendText(A, r.values[l].text, (typeof r.values[l].id != "undefined" ? typeof r.values[l].id : l), r.values[l].$hidden)) - } - } - u = A.offsetWidth; - s = A.offsetHeight; - if (u < this._obj.offsetWidth) { - if (r.layout == "x" && r.align == "center") { - o = (this._obj.offsetWidth - u) / 2 - } - if (r.align == "right") { - o = this._obj.offsetWidth - u - } - if (r.margin && r.align != "center") { - o += (r.align == "left" ? 1 : -1) * r.margin - } - } - if (s < this._obj.offsetHeight) { - if (r.valign == "middle" && r.align != "center" && r.layout != "x") { - n = (this._obj.offsetHeight - s) / 2 - } else { - if (r.valign == "bottom") { - n = this._obj.offsetHeight - s - } - } - if (r.margin && r.valign != "middle") { - n += (r.valign == "top" ? 1 : -1) * r.margin - } - } - A.style.left = o + "px"; - A.style.top = n + "px"; - w.save(); - for (l = 0; l < m.length; l++) { - v = m[l]; - if (r.values && r.values[l].$hidden) { - g = true; - q = (r.values[l].disableColor ? r.values[l].disableColor : "#d9d9d9") - } else { - g = false; - q = (r.values ? r.values[l].color : this._settings.color.call(this, h[l])) - } - var e = (r.marker.position == "right" ? v.offsetWidth - r.marker.width : 0); - this._drawLegendMarker(w, v.offsetLeft + o + e, v.offsetTop + n, q, v.offsetHeight, g, l) - } - w.restore(); - m = null - }, - _drawLegendText: function(a, l, c, h) { - var g = ""; - var e = this._settings.legend; - if (e.layout == "x") { - g = "float:left;" - } - var n = e.marker.position; - var m = dhtmlx.html.create("DIV", { - style: g + "padding-" + (n && n == "right" ? "right" : "left") + ":" + (10 + e.marker.width) + "px", - "class": "dhx_chart_legend_item" + (h ? " hidden" : "") - }, l); - if (arguments.length > 2) { - m.setAttribute("series_id", c) - } - a.appendChild(m); - return m - }, - _drawLegendMarker: function(A, s, r, h, w, l, n) { - var c = []; - var m = this._settings.legend.marker; - var v = this._settings.legend.values; - var q = (v && v[n].markerType ? v[n].markerType : m.type); - if (h) { - A.fillStyle = h; - A.strokeStyle = this._getDarkenColor(h, 0.75) - } - A.beginPath(); - if (q == "round" || !m.radius) { - A.lineWidth = m.height; - A.lineCap = q; - s += A.lineWidth / 2 + 5; - r += w / 2; - A.moveTo(s, r); - var a = s + m.width - m.height + 1; - A.lineTo(a, r) - } else { - if (q == "item") { - if (this._settings.line && this._settings.view != "scatter" && !this._settings.disableLines) { - A.beginPath(); - A.lineWidth = this._series[n].line.width; - A.strokeStyle = l ? h : this._series[n].line.color.call(this, {}); - var e = s + 5; - var u = r + w / 2; - A.moveTo(e, u); - var a = e + m.width; - A.lineTo(a, u); - A.stroke() - } - var g = this._series[n].item; - var o = parseInt(g.radius.call(this, {}), 10) || 0; - if (o) { - if (g.type == "image" && g.src) { - this._drawImage(A, s + 5, r + m.height / 2 - 5, g.src, o * 2, o * 2); - return - } else { - A.beginPath(); - if (l) { - A.lineWidth = g.borderWidth; - A.strokeStyle = h; - A.fillStyle = h - } else { - A.lineWidth = g.borderWidth; - A.fillStyle = g.color.call(this, {}); - A.strokeStyle = g.borderColor.call(this, {}); - A.globalAlpha = g.alpha.call(this, {}) - } - A.beginPath(); - s += m.width / 2 + 5; - r += w / 2; - this._strokeChartItem(A, s, r, o + 1, g.type); - A.fill(); - A.stroke() - } - } - A.globalAlpha = 1 - } else { - A.lineWidth = 1; - s += 5; - r += parseInt(w / 2 - m.height / 2, 10); - c = [ - [s + m.radius, r + m.radius, m.radius, Math.PI, 3 * Math.PI / 2, false], - [s + m.width - m.radius, r], - [s + m.width - m.radius, r + m.radius, m.radius, -Math.PI / 2, 0, false], - [s + m.width, r + m.height - m.radius], - [s + m.width - m.radius, r + m.height - m.radius, m.radius, 0, Math.PI / 2, false], - [s + m.radius, r + m.height], - [s + m.radius, r + m.height - m.radius, m.radius, Math.PI / 2, Math.PI, false], - [s, r + m.radius] - ]; - this._path(A, c) - } - } - A.stroke(); - A.fill() - }, - _getDarkenColor: function(a, g) { - var e, c; - c = dhtmlx.math.toRgb(a); - e = dhtmlx.math.rgbToHsv(c[0], c[1], c[2]); - e[2] = e[2] * g; - return "rgb(" + dhtmlx.math.hsvToRgb(e[0], e[1], e[2]) + ")" - }, - _getChartBounds: function(a, m) { - var o, e, n, c; - o = this._settings.padding.left; - e = this._settings.padding.top; - n = a - this._settings.padding.right; - c = m - this._settings.padding.bottom; - if (this._settings.legend) { - var h = this._settings.legend; - var l = this._settings.legend.width; - var g = this._settings.legend.height; - if (h.layout == "x") { - if (h.valign == "center") { - if (h.align == "right") { - n -= l - } else { - if (h.align == "left") { - o += l - } - } - } else { - if (h.valign == "bottom") { - c -= g - } else { - e += g - } - } - } else { - if (h.align == "right") { - n -= l - } else { - if (h.align == "left") { - o += l - } - } - } - } - return { - start: { - x: o, - y: e - }, - end: { - x: n, - y: c - } - } - }, - _getStackedLimits: function(h) { - var c, a, l, g, e; - if (this._settings.yAxis && (typeof this._settings.yAxis.end != "undefined") && (typeof this._settings.yAxis.start != "undefined") && this._settings.yAxis.step) { - l = parseFloat(this._settings.yAxis.end); - g = parseFloat(this._settings.yAxis.start) - } else { - for (c = 0; c < h.length; c++) { - h[c].$sum = 0; - h[c].$min = Infinity; - for (a = 0; a < this._series.length; a++) { - e = parseFloat(this._series[a].value(h[c]) || 0); - if (isNaN(e)) { - continue - } - if (this._series[a].view.toLowerCase().indexOf("stacked") != -1) { - h[c].$sum += e - } - if (e < h[c].$min) { - h[c].$min = e - } - } - } - l = -Infinity; - g = Infinity; - for (c = 0; c < h.length; c++) { - if (h[c].$sum > l) { - l = h[c].$sum - } - if (h[c].$min < g) { - g = h[c].$min - } - } - if (g > 0) { - g = 0 - } - } - return { - max: l, - min: g - } - }, - _setBarGradient: function(v, c, r, a, o, n, g, e) { - var q, h, m, l, u, s; - if (n == "light") { - if (e == "x") { - q = v.createLinearGradient(c, r, a, r) - } else { - q = v.createLinearGradient(c, r, c, o) - } - s = [ - [0, "#FFFFFF"], - [0.9, g], - [1, g] - ]; - h = 2 - } else { - if (n == "falling" || n == "rising") { - if (e == "x") { - q = v.createLinearGradient(c, r, a, r) - } else { - q = v.createLinearGradient(c, r, c, o) - } - m = dhtmlx.math.toRgb(g); - l = dhtmlx.math.rgbToHsv(m[0], m[1], m[2]); - l[1] *= 1 / 2; - u = "rgb(" + dhtmlx.math.hsvToRgb(l[0], l[1], l[2]) + ")"; - if (n == "falling") { - s = [ - [0, u], - [0.7, g], - [1, g] - ] - } else { - if (n == "rising") { - s = [ - [0, g], - [0.3, g], - [1, u] - ] - } - } - h = 0 - } else { - v.globalAlpha = 0.37; - h = 0; - if (e == "x") { - q = v.createLinearGradient(c, o, c, r) - } else { - q = v.createLinearGradient(c, r, a, r) - } - s = [ - [0, "#9d9d9d"], - [0.3, "#e8e8e8"], - [0.45, "#ffffff"], - [0.55, "#ffffff"], - [0.7, "#e8e8e8"], - [1, "#9d9d9d"] - ] - } - } - this._gradient(q, s); - return { - gradient: q, - offset: h - } - }, - _getPositionByAngle: function(e, c, h, g) { - e *= (-1); - c = c + Math.cos(e) * g; - h = h - Math.sin(e) * g; - return { - x: c, - y: h - } - }, - _gradient: function(e, c) { - for (var a = 0; a < c.length; a++) { - e.addColorStop(c[a][0], c[a][1]) - } - }, - _path: function(a, e) { - var c, g; - for (c = 0; c < e.length; c++) { - g = (c ? "lineTo" : "moveTo"); - if (e[c].length > 2) { - g = "arc" - } - a[g].apply(a, e[c]) - } - }, - _circle: function(c, a, g, e) { - c.arc(a, g, e, Math.PI * 2, true) - }, - _addMapRect: function(g, h, a, e, c) { - g.addRect(h, [a[0].x - e.x, a[0].y - e.y, a[1].x - e.x, a[1].y - e.y], c) - } -}; -dhtmlx.compat("layout"); -if (typeof(window.dhtmlXCellObject) != "undefined") { - dhtmlXCellObject.prototype.attachChart = function(a) { - this.callEvent("_onBeforeContentAttach", ["chart"]); - var c = document.createElement("DIV"); - c.id = "dhxChartObj_" + window.dhx4.newId(); - c.style.width = "100%"; - c.style.height = "100%"; - document.body.appendChild(c); - this._attachObject(c); - a.container = c.id; - this.dataType = "chart"; - this.dataObj = new dhtmlXChart(a); - if (!this.dataObj.setSizes) { - this.dataObj.setSizes = function() { - if (this.resize) { - this.resize() - } else { - this.render() - } - } - } - return this.dataObj - } -} -dhtmlx.ui.pager = function(a) { - this.name = "Pager"; - if (dhtmlx.assert_enabled()) { - this._assert() - } - dhtmlx.extend(this, dhtmlx.Settings); - this._parseContainer(a, "dhx_pager"); - dhtmlx.extend(this, dhtmlx.EventSystem); - dhtmlx.extend(this, dhtmlx.SingleRender); - dhtmlx.extend(this, dhtmlx.MouseEvents); - this._parseSettings(a, { - size: 10, - page: -1, - group: 5, - count: 0, - type: "default" - }); - this.data = this._settings; - this.refresh() -}; -dhtmlx.ui.pager.prototype = { - _id: "dhx_p_id", - on_click: { - dhx_pager_item: function(a, c) { - this.select(c) - } - }, - select: function(a) { - switch (a) { - case "next": - a = this._settings.page + 1; - break; - case "prev": - a = this._settings.page - 1; - break; - case "first": - a = 0; - break; - case "last": - a = this._settings.limit - 1; - break; - default: - break - } - if (a < 0) { - a = 0 - } - if (a >= this.data.limit) { - a = this.data.limit - 1 - } - if (this.callEvent("onBeforePageChange", [this._settings.page, a])) { - this.data.page = a * 1; - this.refresh(); - this.callEvent("onAfterPageChange", [a]) - } - }, - types: { - "default": { - template: dhtmlx.Template.fromHTML("{common.pages()}"), - pages: function(e) { - var c = ""; - if (e.page == -1) { - return "" - } - e.min = e.page - Math.round((e.group - 1) / 2); - e.max = e.min + e.group - 1; - if (e.min < 0) { - e.max += e.min * (-1); - e.min = 0 - } - if (e.max >= e.limit) { - e.min -= Math.min(e.min, e.max - e.limit + 1); - e.max = e.limit - 1 - } - for (var a = (e.min || 0); a <= e.max; a++) { - c += this.button({ - id: a, - index: (a + 1), - selected: (a == e.page ? "_selected" : "") - }) - } - return c - }, - page: function(a) { - return a.page + 1 - }, - first: function() { - return this.button({ - id: "first", - index: " << ", - selected: "" - }) - }, - last: function() { - return this.button({ - id: "last", - index: " >> ", - selected: "" - }) - }, - prev: function() { - return this.button({ - id: "prev", - index: "<", - selected: "" - }) - }, - next: function() { - return this.button({ - id: "next", - index: ">", - selected: "" - }) - }, - button: dhtmlx.Template.fromHTML("
                    {obj.index}
                    ") - } - }, - refresh: function() { - var a = this._settings; - a.limit = Math.ceil(a.count / a.size); - if (a.limit && a.limit != a.old_limit) { - a.page = Math.min(a.limit - 1, a.page) - } - var c = a.page; - if (c != -1 && (c != a.old_page) || (a.limit != a.old_limit)) { - this.render(); - this.callEvent("onRefresh", []); - a.old_limit = a.limit; - a.old_page = a.page - } - }, - template_item_start: dhtmlx.Template.fromHTML("
                    "), - template_item_end: dhtmlx.Template.fromHTML("
                    ") -}; -dhtmlx.DataProcessor = { - _dp_init: function(c) { - var a = "_methods"; - c[a] = ["setItemStyle", "", "changeId", "remove"]; - this.attachEvent("onAfterAdd", function(e) { - c.setUpdated(e, true, "inserted") - }); - this.data.attachEvent("onStoreLoad", dhtmlx.bind(function(g, e) { - if (g.getUserData) { - g.getUserData(e, this._userdata) - } - }, this)); - this.attachEvent("onBeforeDelete", function(g) { - if (c._silent_mode) { - return true - } - var e = c.getState(g); - if (e == "inserted") { - c.setUpdated(g, false); - return true - } - if (e == "deleted") { - return false - } - if (e == "true_deleted") { - return true - } - c.setUpdated(g, true, "deleted"); - return false - }); - this.attachEvent("onAfterEditStop", function(e) { - c.setUpdated(e, true, "updated") - }); - this.attachEvent("onBindUpdate", function(e) { - window.setTimeout(function() { - c.setUpdated(e.id, true, "updated") - }, 1) - }); - a = "_getRowData"; - c[a] = function(m, e) { - var h = this.obj.data.get(m); - var l = {}; - for (var g in h) { - if (g.indexOf("_") === 0) { - continue - } - l[g] = h[g] - } - return l - }; - a = "_clearUpdateFlag"; - c[a] = function() {}; - this._userdata = {}; - c.attachEvent("insertCallback", this._dp_callback); - c.attachEvent("updateCallback", this._dp_callback); - c.attachEvent("deleteCallback", function(e, g) { - this.obj.setUserData(g, this.action_param, "true_deleted"); - this.obj.remove(g) - }); - dhtmlx.compat("dataProcessor", c) - }, - _dp_callback: function(a, c) { - this.obj.data.set(c, dhtmlx.DataDriver.xml.getDetails(a.firstChild)); - this.obj.data.refresh(c) - }, - setItemStyle: function(e, a) { - var c = this._locateHTML(e); - if (c) { - c.style.cssText += ";" + a - } - }, - changeId: function(c, a) { - this.data.changeId(c, a); - this.refresh() - }, - setUserData: function(e, a, c) { - if (e) { - this.data.get(e)[a] = c - } else { - this._userdata[a] = c - } - }, - getUserData: function(c, a) { - return c ? this.data.get(c)[a] : this._userdata[a] - } -}; -(function() { - var a = "_dp_init"; - dhtmlx.DataProcessor[a] = dhtmlx.DataProcessor._dp_init -})(); -dhtmlx.compat.dnd = function() { - if (window.dhtmlDragAndDropObject) { - var n = "_dragged"; - var g = dhtmlDragAndDropObject.prototype.checkLanding; - dhtmlDragAndDropObject.prototype.checkLanding = function(q, r, o) { - g.apply(this, arguments); - if (!o) { - var s = dhtmlx.DragControl._drag_context = dhtmlx.DragControl._drag_context || {}; - if (!s.from) { - s.from = this.dragStartObject - } - dhtmlx.DragControl._checkLand(q, r, true) - } - }; - var c = dhtmlDragAndDropObject.prototype.stopDrag; - dhtmlDragAndDropObject.prototype.stopDrag = function(r, o, q) { - if (!q) { - if (dhtmlx.DragControl._last) { - dhtmlx.DragControl._active = m.dragStartNode; - dhtmlx.DragControl._stopDrag(r, true) - } - } - c.apply(this, arguments) - }; - var m = new dhtmlDragAndDropObject(); - var h = dhtmlx.DragControl._startDrag; - dhtmlx.DragControl._startDrag = function() { - h.apply(this, arguments); - var s = dhtmlx.DragControl._drag_context; - if (!s) { - return - } - var r = []; - var q = []; - for (var o = 0; o < s.source.length; o++) { - r[o] = { - idd: s.source[o] - }; - q.push(s.source[o]) - } - m.dragStartNode = { - parentNode: {}, - parentObject: { - idd: r, - id: (q.length == 1 ? q[0] : q), - treeNod: { - object: s.from - } - } - }; - m.dragStartNode.parentObject.treeNod[n] = r; - m.dragStartObject = s.from - }; - var l = dhtmlx.DragControl._checkLand; - dhtmlx.DragControl._checkLand = function(q, r, o) { - l.apply(this, arguments); - if (!this._last && !o) { - q = m.checkLanding(q, r, true) - } - }; - var a = dhtmlx.DragControl._stopDrag; - dhtmlx.DragControl._stopDrag = function(q, o) { - a.apply(this, arguments); - if (m.lastLanding && !o) { - m.stopDrag(q, false, true) - } - }; - var e = dhtmlx.DragControl.getMaster; - dhtmlx.DragControl.getMaster = function(q) { - var r = null; - if (q) { - r = e.apply(this, arguments) - } - if (!r) { - r = m.dragStartObject; - var s = []; - var u = r[n]; - for (var o = 0; o < u.length; o++) { - s.push(u[o].idd || u[o].id) - } - dhtmlx.DragControl._drag_context.source = s - } - return r - } - } -}; -dhtmlx.DataMove = { - _init: function() { - dhtmlx.assert(this.data, "DataMove :: Component doesn't have DataStore") - }, - copy: function(c, h, a, g) { - var e = this.get(c); - if (!e) { - dhtmlx.log("Warning", "Incorrect ID in DataMove::copy"); - return - } - if (a) { - dhtmlx.assert(a.externalData, "DataMove :: External object doesn't support operation"); - e = a.externalData(e) - } - a = a || this; - return a.add(a.externalData(e, g), h) - }, - move: function(e, m, c, l) { - if (e instanceof Array) { - for (var g = 0; g < e.length; g++) { - var a = (c || this).indexById(this.move(e[g], m, c, e[g])); - if (e[g + 1]) { - m = a + (this.indexById(e[g + 1]) < a ? 0 : 1) - } - } - return - } - nid = e; - if (m < 0) { - dhtmlx.log("Info", "DataMove::move - moving outside of bounds is ignored"); - return - } - var h = this.get(e); - if (!h) { - dhtmlx.log("Warning", "Incorrect ID in DataMove::move"); - return - } - if (!c || c == this) { - this.data.move(this.indexById(e), m) - } else { - dhtmlx.assert(c.externalData, "DataMove :: External object doesn't support operation"); - nid = c.add(c.externalData(h, l), m); - this.remove(e) - } - return nid - }, - moveUp: function(c, a) { - return this.move(c, this.indexById(c) - (a || 1)) - }, - moveDown: function(c, a) { - return this.moveUp(c, (a || 1) * -1) - }, - moveTop: function(a) { - return this.move(a, 0) - }, - moveBottom: function(a) { - return this.move(a, this.data.dataCount() - 1) - }, - externalData: function(a, e) { - var c = dhtmlx.extend({}, a); - c.id = e || dhtmlx.uid(); - c.$selected = c.$template = null; - return c - } -}; -dhtmlx.DragControl = { - _drag_masters: dhtmlx.toArray(["dummy"]), - addDrop: function(c, e, a) { - c = dhtmlx.toNode(c); - c.dhx_drop = this._getCtrl(e); - if (a) { - c.dhx_master = true - } - }, - _getCtrl: function(c) { - c = c || dhtmlx.DragControl; - var a = this._drag_masters.find(c); - if (a < 0) { - a = this._drag_masters.length; - this._drag_masters.push(c) - } - return a - }, - addDrag: function(a, c) { - a = dhtmlx.toNode(a); - a.dhx_drag = this._getCtrl(c); - dhtmlx.event(a, "mousedown", this._preStart, a) - }, - _preStart: function(a) { - if (dhtmlx.DragControl._active) { - dhtmlx.DragControl._preStartFalse(); - dhtmlx.DragControl.destroyDrag() - } - dhtmlx.DragControl._active = this; - dhtmlx.DragControl._start_pos = { - x: a.pageX, - y: a.pageY - }; - dhtmlx.DragControl._dhx_drag_mm = dhtmlx.event(document.body, "mousemove", dhtmlx.DragControl._startDrag); - dhtmlx.DragControl._dhx_drag_mu = dhtmlx.event(document.body, "mouseup", dhtmlx.DragControl._preStartFalse); - dhtmlx.DragControl._dhx_drag_sc = dhtmlx.event(this, "scroll", dhtmlx.DragControl._preStartFalse); - a.cancelBubble = true; - return false - }, - _preStartFalse: function(a) { - dhtmlx.DragControl._dhx_drag_mm = dhtmlx.eventRemove(dhtmlx.DragControl._dhx_drag_mm); - dhtmlx.DragControl._dhx_drag_mu = dhtmlx.eventRemove(dhtmlx.DragControl._dhx_drag_mu); - dhtmlx.DragControl._dhx_drag_sc = dhtmlx.eventRemove(dhtmlx.DragControl._dhx_drag_sc) - }, - _startDrag: function(a) { - var c = { - x: a.pageX, - y: a.pageY - }; - if (Math.abs(c.x - dhtmlx.DragControl._start_pos.x) < 5 && Math.abs(c.y - dhtmlx.DragControl._start_pos.y) < 5) { - return - } - dhtmlx.DragControl._preStartFalse(); - if (!dhtmlx.DragControl.createDrag(a)) { - return - } - dhtmlx.DragControl.sendSignal("start"); - dhtmlx.DragControl._dhx_drag_mm = dhtmlx.event(document.body, "mousemove", dhtmlx.DragControl._moveDrag); - dhtmlx.DragControl._dhx_drag_mu = dhtmlx.event(document.body, "mouseup", dhtmlx.DragControl._stopDrag); - dhtmlx.DragControl._moveDrag(a) - }, - _stopDrag: function(a) { - dhtmlx.DragControl._dhx_drag_mm = dhtmlx.eventRemove(dhtmlx.DragControl._dhx_drag_mm); - dhtmlx.DragControl._dhx_drag_mu = dhtmlx.eventRemove(dhtmlx.DragControl._dhx_drag_mu); - if (dhtmlx.DragControl._last) { - dhtmlx.DragControl.onDrop(dhtmlx.DragControl._active, dhtmlx.DragControl._last, this._landing, a); - dhtmlx.DragControl.onDragOut(dhtmlx.DragControl._active, dhtmlx.DragControl._last, null, a) - } - dhtmlx.DragControl.destroyDrag(); - dhtmlx.DragControl.sendSignal("stop") - }, - _moveDrag: function(a) { - var c = dhtmlx.html.pos(a); - dhtmlx.DragControl._html.style.top = c.y + dhtmlx.DragControl.top + "px"; - dhtmlx.DragControl._html.style.left = c.x + dhtmlx.DragControl.left + "px"; - if (dhtmlx.DragControl._skip) { - dhtmlx.DragControl._skip = false - } else { - dhtmlx.DragControl._checkLand((a.srcElement || a.target), a) - } - a.cancelBubble = true; - return false - }, - _checkLand: function(a, c) { - while (a && a.tagName != "BODY") { - if (a.dhx_drop) { - if (this._last && (this._last != a || a.dhx_master)) { - this.onDragOut(this._active, this._last, a, c) - } - if (!this._last || this._last != a || a.dhx_master) { - this._last = null; - this._landing = this.onDragIn(dhtmlx.DragControl._active, a, c); - if (this._landing) { - this._last = a - } - return - } - return - } - a = a.parentNode - } - if (this._last) { - this._last = this._landing = this.onDragOut(this._active, this._last, null, c) - } - }, - sendSignal: function(a) { - dhtmlx.DragControl.active = (a == "start") - }, - getMaster: function(a) { - return this._drag_masters[a.dhx_drag || a.dhx_drop] - }, - getContext: function(a) { - return this._drag_context - }, - createDrag: function(l) { - var g = dhtmlx.DragControl._active; - var h = this._drag_masters[g.dhx_drag]; - var c; - if (h.onDragCreate) { - c = h.onDragCreate(g, l); - c.style.position = "absolute"; - c.style.zIndex = dhtmlx.zIndex.drag; - c.onmousemove = dhtmlx.DragControl._skip_mark - } else { - var m = dhtmlx.DragControl.onDrag(g, l); - if (!m) { - return false - } - var c = document.createElement("DIV"); - c.innerHTML = m; - c.className = "dhx_drag_zone"; - c.onmousemove = dhtmlx.DragControl._skip_mark; - document.body.appendChild(c) - } - dhtmlx.DragControl._html = c; - return true - }, - _skip_mark: function() { - dhtmlx.DragControl._skip = true - }, - destroyDrag: function() { - var c = dhtmlx.DragControl._active; - var e = this._drag_masters[c.dhx_drag]; - if (e && e.onDragDestroy) { - e.onDragDestroy(c, dhtmlx.DragControl._html) - } else { - dhtmlx.html.remove(dhtmlx.DragControl._html) - } - dhtmlx.DragControl._landing = dhtmlx.DragControl._active = dhtmlx.DragControl._last = dhtmlx.DragControl._html = null - }, - top: 5, - left: 5, - onDragIn: function(g, c, h) { - var a = this._drag_masters[c.dhx_drop]; - if (a.onDragIn && a != this) { - return a.onDragIn(g, c, h) - } - c.className = c.className + " dhx_drop_zone"; - return c - }, - onDragOut: function(g, c, l, h) { - var a = this._drag_masters[c.dhx_drop]; - if (a.onDragOut && a != this) { - return a.onDragOut(g, c, l, h) - } - c.className = c.className.replace("dhx_drop_zone", ""); - return null - }, - onDrop: function(g, c, l, h) { - var a = this._drag_masters[c.dhx_drop]; - dhtmlx.DragControl._drag_context.from = dhtmlx.DragControl.getMaster(g); - if (a.onDrop && a != this) { - return a.onDrop(g, c, l, h) - } - c.appendChild(g) - }, - onDrag: function(c, g) { - var a = this._drag_masters[c.dhx_drag]; - if (a.onDrag && a != this) { - return a.onDrag(c, g) - } - dhtmlx.DragControl._drag_context = { - source: c, - from: c - }; - return "
                    " + c.innerHTML + "
                    " - } -}; -dhtmlx.DragItem = { - _init: function() { - dhtmlx.assert(this.move, "DragItem :: Component doesn't have DataMove interface"); - dhtmlx.assert(this.locate, "DragItem :: Component doesn't have RenderStack interface"); - dhtmlx.assert(dhtmlx.DragControl, "DragItem :: DragControl is not included"); - if (!this._settings || this._settings.drag) { - dhtmlx.DragItem._initHandlers(this) - } else { - if (this._settings) { - this.drag_setter = function(a) { - if (a) { - this._initHandlers(this); - delete this.drag_setter - } - return a - } - } - } - if (this.dragMarker) { - this.attachEvent("onBeforeDragIn", this.dragMarker); - this.attachEvent("onDragOut", this.dragMarker) - } - }, - _initHandlers: function(a) { - dhtmlx.DragControl.addDrop(a._obj, a, true); - dhtmlx.DragControl.addDrag(a._obj, a) - }, - onDragIn: function(h, g, l) { - var n = this.locate(l) || null; - var c = dhtmlx.DragControl._drag_context; - var m = dhtmlx.DragControl.getMaster(h); - var a = (this._locateHTML(n) || this._obj); - if (a == dhtmlx.DragControl._landing) { - return a - } - c.target = n; - c.to = m; - if (!this.callEvent("onBeforeDragIn", [c, l])) { - c.id = null; - return null - } - dhtmlx.html.addCss(a, "dhx_drag_over"); - return a - }, - onDragOut: function(h, g, o, l) { - var m = this.locate(l) || null; - if (o != this._dataobj) { - m = null - } - var c = (this._locateHTML(m) || (o ? dhtmlx.DragControl.getMaster(o)._obj : window.undefined)); - if (c == dhtmlx.DragControl._landing) { - return null - } - var a = dhtmlx.DragControl._drag_context; - dhtmlx.html.removeCss(dhtmlx.DragControl._landing, "dhx_drag_over"); - a.target = a.to = null; - this.callEvent("onDragOut", [a, l]); - return null - }, - onDrop: function(g, c, l, h) { - var a = dhtmlx.DragControl._drag_context; - a.to = this; - a.index = a.target ? this.indexById(a.target) : this.dataCount(); - a.new_id = dhtmlx.uid(); - if (!this.callEvent("onBeforeDrop", [a, h])) { - return - } - if (a.from == a.to) { - this.move(a.source, a.index) - } else { - if (a.from) { - a.from.move(a.source, a.index, a.to, a.new_id) - } else { - dhtmlx.error("Unsopported d-n-d combination") - } - } - this.callEvent("onAfterDrop", [a, h]) - }, - onDrag: function(g, l) { - var m = this.locate(l); - var h = [m]; - if (m) { - if (this.getSelected) { - var c = this.getSelected(); - if (dhtmlx.PowerArray.find.call(c, m) != -1) { - h = c - } - } - var a = dhtmlx.DragControl._drag_context = { - source: h, - start: m - }; - a.from = this; - if (this.callEvent("onBeforeDrag", [a, l])) { - return a.html || this._toHTML(this.get(m)) - } - } - return null - } -}; -dhtmlx.EditAbility = { - _init: function(a) { - this._edit_id = null; - this._edit_bind = null; - dhtmlx.assert(this.data, "EditAbility :: Component doesn't have DataStore"); - dhtmlx.assert(this._locateHTML, "EditAbility :: Component doesn't have RenderStack"); - this.attachEvent("onEditKeyPress", function(e, g, c) { - if (e == 13 && !c) { - this.stopEdit() - } else { - if (e == 27) { - this.stopEdit(true) - } - } - }); - this.attachEvent("onBeforeRender", function() { - this.stopEdit() - }) - }, - isEdit: function() { - return this._edit_id - }, - edit: function(c) { - if (this.stopEdit(false, c)) { - if (!this.callEvent("onBeforeEditStart", [c])) { - return - } - var a = this.data.get(c); - if (a.$template) { - return - } - a.$template = "edit"; - this.data.refresh(c); - this._edit_id = c; - this._save_binding(c); - this._edit_bind(true, a); - this.callEvent("onAfterEditStart", [c]) - } - }, - stopEdit: function(e, h) { - if (!this._edit_id) { - return true - } - if (this._edit_id == h) { - return false - } - var a = {}; - if (!e) { - this._edit_bind(false, a) - } else { - a = null - } - if (!this.callEvent("onBeforeEditStop", [this._edit_id, a])) { - return false - } - var c = this.data.get(this._edit_id); - c.$template = null; - if (!e) { - this._edit_bind(false, c) - } - var g = this._edit_id; - this._edit_bind = this._edit_id = null; - this.data.refresh(g); - this.callEvent("onAfterEditStop", [g, a]); - return true - }, - _save_binding: function(n) { - var a = this._locateHTML(n); - var e = ""; - var l = ""; - var h = []; - if (a) { - var g = a.getElementsByTagName("*"); - var m = ""; - for (var c = 0; c < g.length; c++) { - if (g[c].nodeType == 1 && (m = g[c].getAttribute("bind"))) { - e += "els[" + h.length + "].value=" + m + ";"; - l += m + "=els[" + h.length + "].value;"; - h.push(g[c]); - g[c].className += " dhx_allow_selection"; - g[c].onselectstart = this._block_native - } - } - g = null - } - e = Function("obj", "els", e); - l = Function("obj", "els", l); - this._edit_bind = function(q, o) { - if (q) { - e(o, h); - if (h.length && h[0].select) { - h[0].select() - } - } else { - l(o, h) - } - } - }, - _block_native: function(a) { - (a || event).cancelBubble = true; - return true - } -}; -dhtmlx.SelectionModel = { - _init: function() { - this._selected = dhtmlx.toArray(); - dhtmlx.assert(this.data, "SelectionModel :: Component doesn't have DataStore"); - this.data.attachEvent("onStoreUpdated", dhtmlx.bind(this._data_updated, this)); - this.data.attachEvent("onStoreLoad", dhtmlx.bind(this._data_loaded, this)); - this.data.attachEvent("onAfterFilter", dhtmlx.bind(this._data_filtered, this)); - this.data.attachEvent("onIdChange", dhtmlx.bind(this._id_changed, this)) - }, - _id_changed: function(e, a) { - for (var c = this._selected.length - 1; c >= 0; c--) { - if (this._selected[c] == e) { - this._selected[c] = a - } - } - }, - _data_filtered: function() { - for (var a = this._selected.length - 1; a >= 0; a--) { - if (this.data.indexById(this._selected[a]) < 0) { - var e = this._selected[a]; - var c = this.item(e); - if (c) { - delete c.$selected - } - this._selected.splice(a, 1); - this.callEvent("onSelectChange", [e]) - } - } - }, - _data_updated: function(e, c, a) { - if (a == "delete") { - this._selected.remove(e) - } else { - if (!this.data.dataCount() && !this.data._filter_order) { - this._selected = dhtmlx.toArray() - } - } - }, - _data_loaded: function() { - if (this._settings.select) { - this.data.each(function(a) { - if (a.$selected) { - this.select(a.id) - } - }, this) - } - }, - _select_mark: function(e, c, a) { - if (!a && !this.callEvent("onBeforeSelect", [e, c])) { - return false - } - this.data.item(e).$selected = c; - if (a) { - a.push(e) - } else { - if (c) { - this._selected.push(e) - } else { - this._selected.remove(e) - } - this._refresh_selection(e) - } - return true - }, - select: function(g, e, a) { - if (!g) { - return this.selectAll() - } - if (g instanceof Array) { - for (var c = 0; c < g.length; c++) { - this.select(g[c], e, a) - } - return - } - if (!this.data.exists(g)) { - dhtmlx.error("Incorrect id in select command: " + g); - return - } - if (a && this._selected.length) { - return this.selectAll(this._selected[this._selected.length - 1], g) - } - if (!e && (this._selected.length != 1 || this._selected[0] != g)) { - this._silent_selection = true; - this.unselectAll(); - this._silent_selection = false - } - if (this.isSelected(g)) { - if (e) { - this.unselect(g) - } - return - } - if (this._select_mark(g, true)) { - this.callEvent("onAfterSelect", [g]) - } - }, - unselect: function(a) { - if (!a) { - return this.unselectAll() - } - if (!this.isSelected(a)) { - return - } - this._select_mark(a, false) - }, - selectAll: function(g, e) { - var a; - var c = []; - if (g || e) { - a = this.data.getRange(g || null, e || null) - } else { - a = this.data.getRange() - } - a.each(function(h) { - var l = this.data.item(h.id); - if (!l.$selected) { - this._selected.push(h.id); - this._select_mark(h.id, true, c) - } - return h.id - }, this); - this._refresh_selection(c) - }, - unselectAll: function() { - var a = []; - this._selected.each(function(c) { - this._select_mark(c, false, a) - }, this); - this._selected = dhtmlx.toArray(); - this._refresh_selection(a) - }, - isSelected: function(a) { - return this._selected.find(a) != -1 - }, - getSelected: function(a) { - switch (this._selected.length) { - case 0: - return a ? [] : ""; - case 1: - return a ? [this._selected[0]] : this._selected[0]; - default: - return ([].concat(this._selected)) - } - }, - _is_mass_selection: function(a) { - return a.length > 100 || a.length > this.data.dataCount / 2 - }, - _refresh_selection: function(c) { - if (typeof c != "object") { - c = [c] - } - if (!c.length) { - return - } - if (this._is_mass_selection(c)) { - this.data.refresh() - } else { - for (var a = 0; a < c.length; a++) { - this.render(c[a], this.data.item(c[a]), "update") - } - } - if (!this._silent_selection) { - this.callEvent("onSelectChange", [c]) - } - } -}; -dhtmlx.RenderStack = { - _init: function() { - dhtmlx.assert(this.data, "RenderStack :: Component doesn't have DataStore"); - dhtmlx.assert(dhtmlx.Template, "dhtmlx.Template :: dhtmlx.Template is not accessible"); - this._html = document.createElement("DIV") - }, - _toHTML: function(a) { - dhtmlx.assert((!a.$template || this.type["template_" + a.$template]), "RenderStack :: Unknown template: " + a.$template); - this.callEvent("onItemRender", [a]); - return this.type._item_start(a, this.type) + (a.$template ? this.type["template_" + a.$template] : this.type.template)(a, this.type) + this.type._item_end - }, - _toHTMLObject: function(a) { - this._html.innerHTML = this._toHTML(a); - return this._html.firstChild - }, - _locateHTML: function(a) { - if (this._htmlmap) { - return this._htmlmap[a] - } - this._htmlmap = {}; - var e = this._dataobj.childNodes; - for (var c = 0; c < e.length; c++) { - var g = e[c].getAttribute(this._id); - if (g) { - this._htmlmap[g] = e[c] - } - } - return this._locateHTML(a) - }, - locate: function(a) { - return dhtmlx.html.locate(a, this._id) - }, - show: function(c) { - var a = this._locateHTML(c); - if (a) { - this._dataobj.scrollTop = a.offsetTop - this._dataobj.offsetTop - } - }, - render: function(l, g, e, h) { - if (l) { - var a = this._locateHTML(l); - switch (e) { - case "update": - if (!a) { - return - } - var c = this._htmlmap[l] = this._toHTMLObject(g); - dhtmlx.html.insertBefore(c, a); - dhtmlx.html.remove(a); - break; - case "delete": - if (!a) { - return - } - dhtmlx.html.remove(a); - delete this._htmlmap[l]; - break; - case "add": - var c = this._htmlmap[l] = this._toHTMLObject(g); - dhtmlx.html.insertBefore(c, this._locateHTML(this.data.next(l)), this._dataobj); - break; - case "move": - this.render(l, g, "delete"); - this.render(l, g, "add"); - break; - default: - dhtmlx.error("Unknown render command: " + e); - break - } - } else { - if (this.callEvent("onBeforeRender", [this.data])) { - this._dataobj.innerHTML = this.data.getRange().map(this._toHTML, this).join(""); - this._htmlmap = null - } - } - this.callEvent("onAfterRender", []) - }, - pager_setter: function(c) { - this.attachEvent("onBeforeRender", function() { - var g = this._settings.pager._settings; - if (g.page == -1) { - return false - } - this.data.min = g.page * g.size; - this.data.max = (g.page + 1) * g.size - 1; - return true - }); - var a = new dhtmlx.ui.pager(c); - var e = dhtmlx.bind(function() { - this.data.refresh() - }, this); - a.attachEvent("onRefresh", e); - this.data.attachEvent("onStoreUpdated", function(h) { - var g = this.dataCount(); - if (g != a._settings.count) { - a._settings.count = g; - if (a._settings.page == -1) { - a._settings.page = 0 - } - a.refresh() - } - }); - return a - }, - height_setter: function(a) { - if (a == "auto") { - this.attachEvent("onAfterRender", this._correct_height); - dhtmlx.event(window, "resize", dhtmlx.bind(this._correct_height, this)) - } - return a - }, - _correct_height: function() { - this._dataobj.style.overflow = "hidden"; - this._dataobj.style.height = "1px"; - var a = this._dataobj.scrollHeight; - this._dataobj.style.height = a + "px"; - if (dhtmlx._isFF) { - var c = this._dataobj.scrollHeight; - if (c != a) { - this._dataobj.style.height = c + "px" - } - } - this._obj.style.height = this._dataobj.style.height - }, - _getDimension: function() { - var a = this.type; - var c = (a.border || 0) + (a.padding || 0) * 2 + (a.margin || 0) * 2; - return { - x: a.width + c, - y: a.height + c - } - }, - x_count_setter: function(c) { - var e = this._getDimension(); - var a = dhtmlx.$customScroll ? 0 : 18; - this._dataobj.style.width = e.x * c + (this._settings.height != "auto" ? a : 0) + "px"; - return c - }, - y_count_setter: function(a) { - var c = this._getDimension(); - this._dataobj.style.height = c.y * a + "px"; - return a - } -}; -dhtmlx.VirtualRenderStack = { - _init: function() { - dhtmlx.assert(this.render, "VirtualRenderStack :: Object must use RenderStack first"); - this._htmlmap = {}; - this._dataobj.style.overflowY = "scroll"; - dhtmlx.event(this._dataobj, "scroll", dhtmlx.bind(this._render_visible_rows, this)); - dhtmlx.event(window, "resize", dhtmlx.bind(function() { - this.render() - }, this)); - this.data._unrendered_area = []; - this.data.getIndexRange = this._getIndexRange - }, - _locateHTML: function(a) { - return this._htmlmap[a] - }, - show: function(e) { - range = this._getVisibleRange(); - var c = this.data.indexById(e); - var a = Math.floor(c / range._dx) * range._y; - this._dataobj.scrollTop = a - }, - _getIndexRange: function(h, g) { - if (g !== 0) { - g = Math.min((g || Infinity), this.dataCount() - 1) - } - var a = dhtmlx.toArray(); - for (var c = (h || 0); c <= g; c++) { - var e = this.item(this.order[c]); - if (this.order.length > c) { - if (!e) { - this.order[c] = dhtmlx.uid(); - e = { - id: this.order[c], - $template: "loading" - }; - this._unrendered_area.push(this.order[c]) - } else { - if (e.$template == "loading") { - this._unrendered_area.push(this.order[c]) - } - } - a.push(e) - } - } - return a - }, - render: function(l, g, e, h) { - if (l) { - var a = this._locateHTML(l); - switch (e) { - case "update": - if (!a) { - return - } - var c = this._htmlmap[l] = this._toHTMLObject(g); - dhtmlx.html.insertBefore(c, a); - dhtmlx.html.remove(a); - break; - default: - this._render_delayed(); - break - } - } else { - if (this.callEvent("onBeforeRender", [this.data])) { - this._htmlmap = {}; - this._render_visible_rows(null, true); - this._wait_for_render = false; - this.callEvent("onAfterRender", []) - } - } - }, - _render_delayed: function() { - if (this._wait_for_render) { - return - } - this._wait_for_render = true; - window.setTimeout(dhtmlx.bind(function() { - this.render() - }, this), 1) - }, - _create_placeholder: function(a) { - var c = document.createElement("DIV"); - c.className = "dhxdataview_placeholder"; - c.style.cssText = "height:" + a + "px; width:100%; overflow:hidden;"; - return c - }, - _render_visible_rows: function(A, E) { - this.data._unrendered_area = []; - var y = this._getVisibleRange(); - if (!this._dataobj.firstChild || E) { - this._dataobj.innerHTML = ""; - this._dataobj.appendChild(this._create_placeholder(y._max)); - this._htmlrows = [this._dataobj.firstChild] - } - var l = Math.max(y._from, 0); - var x = (this.data.max || this.data.max === 0) ? this.data.max : Infinity; - while (l <= y._height) { - while (this._htmlrows[l] && this._htmlrows[l]._filled && l <= y._height) { - l++ - } - if (l > y._height) { - break - } - var o = l; - while (!this._htmlrows[o]) { - o-- - } - var a = this._htmlrows[o]; - var g = l * y._dx + (this.data.min || 0); - if (g > x) { - break - } - var m = Math.min(g + y._dx - 1, x); - var r = this._create_placeholder(y._y); - var n = this.data.getIndexRange(g, m); - if (!n.length) { - break - } - r.innerHTML = n.map(this._toHTML, this).join(""); - for (var v = 0; v < n.length; v++) { - this._htmlmap[this.data.idByIndex(g + v)] = r.childNodes[v] - } - var w = parseInt(a.style.height, 10); - var D = (l - o) * y._y; - var u = (w - D - y._y); - dhtmlx.html.insertBefore(r, D ? a.nextSibling : a, this._dataobj); - this._htmlrows[l] = r; - r._filled = true; - if (D <= 0 && u > 0) { - a.style.height = u + "px"; - this._htmlrows[l + 1] = a - } else { - if (D < 0) { - dhtmlx.html.remove(a) - } else { - a.style.height = D + "px" - } - if (u > 0) { - var q = this._htmlrows[l + 1] = this._create_placeholder(u); - dhtmlx.html.insertBefore(q, r.nextSibling, this._dataobj) - } - } - l++ - } - if (this.data._unrendered_area.length) { - var s = this.indexById(this.data._unrendered_area[0]); - var c = this.indexById(this.data._unrendered_area.pop()) + 1; - if (c > s) { - if (!this.callEvent("onDataRequest", [s, c - s])) { - return false - } - dhtmlx.assert(this.data.feed, "Data feed is missed"); - this.data.feed.call(this, s, c - s) - } - } - if (dhtmlx._isIE) { - var C = this._getVisibleRange(); - if (C._from != y._from) { - this._render_visible_rows() - } - } - }, - _getVisibleRange: function() { - var c = dhtmlx.$customScroll ? 0 : 18; - var m = this._dataobj.scrollTop; - var a = this._dataobj.scrollWidth; - var n = this._dataobj.offsetHeight; - var q = this.type; - var g = this._getDimension(); - var r = Math.floor(a / g.x) || 1; - var e = Math.floor(m / g.y); - var o = Math.ceil((n + m) / g.y) - 1; - var h = this.data.max ? (this.data.max - this.data.min) : this.data.dataCount(); - var l = Math.ceil(h / r) * g.y; - return { - _from: e, - _height: o, - _top: m, - _max: l, - _y: g.y, - _dx: r - } - } -}; -dhtmlXDataView = function(a) { - this.name = "DataView"; - if (dhtmlx.assert_enabled()) { - this._assert() - } - dhtmlx.extend(this, dhtmlx.Settings); - this._parseContainer(a, "dhx_dataview"); - dhtmlx.extend(this, dhtmlx.AtomDataLoader); - dhtmlx.extend(this, dhtmlx.DataLoader); - dhtmlx.extend(this, dhtmlx.EventSystem); - dhtmlx.extend(this, dhtmlx.RenderStack); - dhtmlx.extend(this, dhtmlx.SelectionModel); - dhtmlx.extend(this, dhtmlx.MouseEvents); - dhtmlx.extend(this, dhtmlx.KeyEvents); - dhtmlx.extend(this, dhtmlx.EditAbility); - dhtmlx.extend(this, dhtmlx.DataMove); - dhtmlx.extend(this, dhtmlx.DragItem); - dhtmlx.extend(this, dhtmlx.DataProcessor); - dhtmlx.extend(this, dhtmlx.AutoTooltip); - dhtmlx.extend(this, dhtmlx.Destruction); - this.data.attachEvent("onStoreUpdated", dhtmlx.bind(function() { - this.render.apply(this, arguments) - }, this)); - this._parseSettings(a, { - drag: false, - edit: false, - select: "multiselect", - type: "default" - }); - if (this._settings.height != "auto" && !this._settings.renderAll) { - dhtmlx.extend(this, dhtmlx.VirtualRenderStack) - } - this.data.provideApi(this, true); - if (this.config.autowidth) { - this.attachEvent("onBeforeRender", function() { - this.type.width = Math.floor((this._dataobj.scrollWidth) / (this.config.autowidth * 1 || 1)) - this.type.padding * 2 - this.type.margin * 2 - this.type.border * 2; - this.type._item_start = dhtmlx.Template.fromHTML(this.template_item_start(this.type)); - this.type._item_end = this.template_item_end(this.type) - }); - dhtmlx.event(window, "resize", function() { - this.refresh() - }, this) - } - if (dhtmlx.$customScroll) { - dhtmlx.CustomScroll.enable(this) - } -}; -dhtmlXDataView.prototype = { - bind: function() { - dhtmlx.BaseBind.legacyBind.apply(this, arguments) - }, - sync: function() { - dhtmlx.BaseBind.legacySync.apply(this, arguments) - }, - dragMarker: function(e, h) { - var g = this._locateHTML(e.target); - if (this.type.drag_marker) { - if (this._drag_marker) { - this._drag_marker.style.backgroundImage = ""; - this._drag_marker.style.backgroundRepeat = "" - } - if (g) { - g.style.backgroundImage = "url(" + (dhtmlx.image_path || "") + this.type.drag_marker + ")"; - g.style.backgroundRepeat = "no-repeat"; - this._drag_marker = g - } - } - if (g && this._settings.auto_scroll) { - var a = g.offsetTop; - var l = g.offsetHeight; - var c = this._obj.scrollTop; - var m = this._obj.offsetHeight; - if (a - l >= 0 && a - l * 0.75 < c) { - c = Math.max(a - l, 0) - } else { - if (a + l / 0.75 > c + m) { - c = c + l - } - } - this._obj.scrollTop = c - } - return true - }, - _id: "dhx_f_id", - on_click: { - dhx_dataview_item: function(a, c) { - if (this.stopEdit(false, c)) { - if (this._settings.select) { - if (this._settings.select == "multiselect") { - this.select(c, a.ctrlKey || a.metaKey, a.shiftKey) - } else { - this.select(c) - } - } - } - } - }, - on_dblclick: { - dhx_dataview_item: function(a, c) { - if (this._settings.edit) { - this.edit(c) - } - } - }, - on_mouse_move: {}, - types: { - "default": { - css: "default", - template: dhtmlx.Template.fromHTML("
                    {obj.text}
                    "), - template_edit: dhtmlx.Template.fromHTML("
                    "), - template_loading: dhtmlx.Template.fromHTML("
                    Loading...
                    "), - width: 210, - height: 115, - margin: 0, - padding: 10, - border: 1 - } - }, - template_item_start: dhtmlx.Template.fromHTML("
                    "), - template_item_end: dhtmlx.Template.fromHTML("
                    ") -}; -dhtmlx.compat("layout"); -if (typeof(window.dhtmlXCellObject) != "undefined") { - dhtmlXCellObject.prototype.attachDataView = function(a) { - this.callEvent("_onBeforeContentAttach", ["dataview"]); - var c = document.createElement("DIV"); - c.style.width = "100%"; - c.style.height = "100%"; - c.style.position = "relative"; - c.style.overflow = "hidden"; - this._attachObject(c); - if (typeof(a) == "undefined") { - a = {} - } - c.id = "DataViewObject_" + dhtmlx.uid(); - a.container = c.id; - a.skin = this.conf.skin; - this.dataType = "dataview"; - this.dataObj = new dhtmlXDataView(a); - this.dataObj.setSizes = function() { - this.render() - }; - c = null; - this.callEvent("_onContentAttach", []); - return this.dataObj - } -} -dhtmlXList = function(a) { - this.name = "List"; - dhtmlx.extend(this, dhtmlx.Settings); - this._parseContainer(a, "dhx_list"); - dhtmlx.extend(this, dhtmlx.AtomDataLoader); - dhtmlx.extend(this, dhtmlx.DataLoader); - dhtmlx.extend(this, dhtmlx.EventSystem); - dhtmlx.extend(this, dhtmlx.RenderStack); - dhtmlx.extend(this, dhtmlx.SelectionModel); - dhtmlx.extend(this, dhtmlx.MouseEvents); - dhtmlx.extend(this, dhtmlx.KeyEvents); - dhtmlx.extend(this, dhtmlx.EditAbility); - dhtmlx.extend(this, dhtmlx.DataMove); - dhtmlx.extend(this, dhtmlx.DragItem); - dhtmlx.extend(this, dhtmlx.DataProcessor); - dhtmlx.extend(this, dhtmlx.AutoTooltip); - dhtmlx.extend(this, dhtmlx.Destruction); - this._getDimension = function() { - var c = this.type; - var e = (c.margin || 0) * 2; - return { - x: c.width + e, - y: c.height + e - } - }; - this.data.attachEvent("onStoreUpdated", dhtmlx.bind(function() { - this.render.apply(this, arguments) - }, this)); - this._parseSettings(a, { - drag: false, - edit: false, - select: "multiselect", - type: "default" - }); - this.data.provideApi(this, true); - if (dhtmlx.$customScroll) { - dhtmlx.CustomScroll.enable(this) - } -}; -dhtmlXList.prototype = { - bind: function() { - dhtmlx.BaseBind.legacyBind.apply(this, arguments) - }, - sync: function() { - dhtmlx.BaseBind.legacySync.apply(this, arguments) - }, - dragMarker: function(e, h) { - var g = this._locateHTML(e.target); - if (g && this._settings.auto_scroll) { - var a = g.offsetTop; - var l = g.offsetHeight; - var c = this._obj.scrollTop; - var m = this._obj.offsetHeight; - if (a - l >= 0 && a - l * 0.75 < c) { - c = Math.max(a - l, 0) - } else { - if (a + l / 0.75 > c + m) { - c = c + l - } - } - this._obj.scrollTop = c - } - return true - }, - _id: "dhx_f_id", - on_click: { - dhx_list_item: function(a, c) { - if (this.stopEdit(false, c)) { - if (this._settings.select) { - if (this._settings.select == "multiselect") { - this.select(c, a.ctrlKey || a.metaKey, a.shiftKey) - } else { - this.select(c) - } - } - } - } - }, - on_dblclick: { - dhx_list_item: function(a, c) { - if (this._settings.edit) { - this.edit(c) - } - } - }, - on_mouse_move: {}, - types: { - "default": { - css: "default", - template: dhtmlx.Template.fromHTML("
                    {obj.text}
                    "), - template_edit: dhtmlx.Template.fromHTML("
                    "), - template_loading: dhtmlx.Template.fromHTML("
                    Loading...
                    "), - height: 50, - margin: 0, - padding: 10, - border: 1 - } - }, - template_item_start: dhtmlx.Template.fromHTML("
                    "), - template_item_end: dhtmlx.Template.fromHTML("
                    ") -}; -dhtmlx.compat("layout"); -if (typeof(window.dhtmlXCellObject) != "undefined") { - dhtmlXCellObject.prototype.attachList = function(a) { - this.callEvent("_onBeforeContentAttach", ["list"]); - var c = document.createElement("DIV"); - c.style.width = "100%"; - c.style.height = "100%"; - c.style.position = "relative"; - c.style.overflowX = "hidden"; - this._attachObject(c); - if (typeof(a) == "undefined") { - a = {} - } - c.id = "ListObject_" + new Date().getTime(); - a.container = c.id; - a.skin = this.conf.skin; - this.dataType = "list"; - this.dataObj = new dhtmlXList(a); - this.dataObj.setSizes = function() { - this.render() - }; - c = null; - this.callEvent("_onContentAttach", []); - return this.dataObj - } -} - -function xmlPointer(a) { - this.d = a -} -xmlPointer.prototype = { - text: function() { - if (!_isFF) { - return this.d.xml - } - var a = new XMLSerializer(); - return a.serializeToString(this.d) - }, - get: function(a) { - return this.d.getAttribute(a) - }, - exists: function() { - return !!this.d - }, - content: function() { - return this.d.firstChild ? (this.d.firstChild.wholeText || this.d.firstChild.data) : "" - }, - each: function(g, m, l, h) { - var e = this.d.childNodes; - var n = new xmlPointer(); - if (e.length) { - for (h = h || 0; h < e.length; h++) { - if (e[h].tagName == g) { - n.d = e[h]; - if (m.apply(l, [n, h]) == -1) { - return - } - } - } - } - }, - get_all: function() { - var e = {}; - var c = this.d.attributes; - for (var g = 0; g < c.length; g++) { - e[c[g].name] = c[g].value - } - return e - }, - sub: function(g) { - var e = this.d.childNodes; - var l = new xmlPointer(); - if (e.length) { - for (var h = 0; h < e.length; h++) { - if (e[h].tagName == g) { - l.d = e[h]; - return l - } - } - } - }, - up: function(a) { - return new xmlPointer(this.d.parentNode) - }, - set: function(a, c) { - this.d.setAttribute(a, c) - }, - clone: function(a) { - return new xmlPointer(this.d) - }, - sub_exists: function(e) { - var c = this.d.childNodes; - if (c.length) { - for (var g = 0; g < c.length; g++) { - if (c[g].tagName == e) { - return true - } - } - } - return false - }, - through: function(e, m, q, h, r) { - var n = this.d.childNodes; - if (n.length) { - for (var g = 0; g < n.length; g++) { - if (n[g].tagName == e && n[g].getAttribute(m) != null && n[g].getAttribute(m) != "" && (!q || n[g].getAttribute(m) == q)) { - var l = new xmlPointer(n[g]); - h.apply(r, [l, g]) - } - var o = this.d; - this.d = n[g]; - this.through(e, m, q, h, r); - this.d = o - } - } - } -}; - -function dhtmlXTreeObject(o, l, c, a) { - if (dhtmlxEvent.initTouch) { - dhtmlxEvent.initTouch() - } - if (_isIE) { - try { - document.execCommand("BackgroundImageCache", false, true) - } catch (n) {} - } - if (typeof(o) != "object") { - this.parentObject = document.getElementById(o) - } else { - this.parentObject = o - } - this.parentObject.style.overflow = "hidden"; - this._itim_dg = true; - this.dlmtr = ","; - this.dropLower = false; - this.enableIEImageFix(true); - this.xmlstate = 0; - this.mytype = "tree"; - this.smcheck = true; - this.width = l; - this.height = c; - this.rootId = a; - this.childCalc = null; - this.def_img_x = "18px"; - this.def_img_y = "18px"; - this.def_line_img_x = "18px"; - this.def_line_img_y = "24px"; - this._dragged = new Array(); - this._selected = new Array(); - this.style_pointer = "pointer"; - this._aimgs = true; - this.htmlcA = " ["; - this.htmlcB = "]"; - this.lWin = window; - this.cMenu = 0; - this.mlitems = 0; - this.iconURL = ""; - this.dadmode = 0; - this.slowParse = false; - this.autoScroll = true; - this.hfMode = 0; - this.nodeCut = new Array(); - this.XMLsource = 0; - this.XMLloadingWarning = 0; - this._idpull = {}; - this._pullSize = 0; - this.treeLinesOn = true; - this.tscheck = false; - this.timgen = true; - this.dpcpy = false; - this._ld_id = null; - this._dynDeleteBranches = {}; - this._oie_onXLE = []; - this.imPath = window.dhx_globalImgPath || ""; - this.checkArray = new Array("iconUncheckAll.gif", "iconCheckAll.gif", "iconCheckGray.gif", "iconUncheckDis.gif", "iconCheckDis.gif", "iconCheckDis.gif"); - this.radioArray = new Array("radio_off.gif", "radio_on.gif", "radio_on.gif", "radio_off.gif", "radio_on.gif", "radio_on.gif"); - this.lineArray = new Array("line2.gif", "line3.gif", "line4.gif", "blank.gif", "blank.gif", "line1.gif"); - this.minusArray = new Array("minus2.gif", "minus3.gif", "minus4.gif", "minus.gif", "minus5.gif"); - this.plusArray = new Array("plus2.gif", "plus3.gif", "plus4.gif", "plus.gif", "plus5.gif"); - this.imageArray = new Array("leaf.gif", "folderOpen.gif", "folderClosed.gif"); - this.cutImg = new Array(0, 0, 0); - this.cutImage = "but_cut.gif"; - dhx4._eventable(this); - this.dragger = new dhtmlDragAndDropObject(); - this.htmlNode = new dhtmlXTreeItemObject(this.rootId, "", 0, this); - this.htmlNode.htmlNode.childNodes[0].childNodes[0].style.display = "none"; - this.htmlNode.htmlNode.childNodes[0].childNodes[0].childNodes[0].className = "hiddenRow"; - this.allTree = this._createSelf(); - this.allTree.appendChild(this.htmlNode.htmlNode); - if (dhtmlx.$customScroll) { - dhtmlx.CustomScroll.enable(this) - } - if (_isFF) { - this.allTree.childNodes[0].width = "100%"; - this.allTree.childNodes[0].style.overflow = "hidden" - } - var h = this; - this.allTree.onselectstart = new Function("return false;"); - if (_isMacOS) { - this.allTree.oncontextmenu = function(q) { - return h._doContClick(q || window.event, true) - } - } - this.allTree.onmousedown = function(q) { - return h._doContClick(q || window.event) - }; - this.XMLLoader = this._parseXMLTree; - if (_isIE) { - this.preventIECashing(true) - } - this.selectionBar = document.createElement("DIV"); - this.selectionBar.className = "selectionBar"; - this.selectionBar.innerHTML = " "; - this.selectionBar.style.display = "none"; - this.allTree.appendChild(this.selectionBar); - if (window.addEventListener) { - window.addEventListener("unload", function() { - try { - h.destructor() - } catch (q) {} - }, false) - } - if (window.attachEvent) { - window.attachEvent("onunload", function() { - try { - h.destructor() - } catch (q) {} - }) - } - this.setImagesPath = this.setImagePath; - this.setIconsPath = this.setIconPath; - this.setSkin(window.dhx4.skin || (typeof(dhtmlx) != "undefined" ? dhtmlx.skin : null) || window.dhx4.skinDetect("dhxtree") || "material"); - if (dhtmlx.image_path) { - var m = dhtmlx.image_path; - var g = this.parentObject.className.match(/dhxtree_dhx_([a-z_]*)/i); - if (g != null && g[1] != null) { - m += "dhxtree_" + g[1] + "/" - } - this.setImagePath(m) - } - return this -} -dhtmlXTreeObject.prototype.setDataMode = function(a) { - this._datamode = a -}; -dhtmlXTreeObject.prototype._doContClick = function(m, a) { - if (!a && m.button != 2) { - if (this._acMenu) { - if (this._acMenu.hideContextMenu) { - this._acMenu.hideContextMenu() - } else { - this.cMenu._contextEnd() - } - } - return true - } - var c = (_isIE ? m.srcElement : m.target); - while ((c) && (c.tagName != "BODY")) { - if (c.parentObject) { - break - } - c = c.parentNode - } - if ((!c) || (!c.parentObject)) { - return true - } - var h = c.parentObject; - if (!this.callEvent("onRightClick", [h.id, m])) { - (m.srcElement || m.target).oncontextmenu = function(q) { - (q || event).cancelBubble = true; - return false - } - } - this._acMenu = (h.cMenu || this.cMenu); - if (this._acMenu) { - if (!(this.callEvent("onBeforeContextMenu", [h.id]))) { - return true - } - if (!_isMacOS) { - (m.srcElement || m.target).oncontextmenu = function(q) { - (q || event).cancelBubble = true; - return false - } - } - if (this._acMenu.showContextMenu) { - var g = window.document.documentElement; - var e = window.document.body; - var n = new Array((g.scrollLeft || e.scrollLeft), (g.scrollTop || e.scrollTop)); - if (_isIE) { - var o = m.clientX + n[0]; - var l = m.clientY + n[1] - } else { - var o = m.pageX; - var l = m.pageY - } - this._acMenu.showContextMenu(o - 1, l - 1); - this.contextID = h.id; - m.cancelBubble = true; - this._acMenu._skip_hide = true - } else { - c.contextMenuId = h.id; - c.contextMenu = this._acMenu; - c.a = this._acMenu._contextStart; - c.a(c, m); - c.a = null - } - return false - } - return true -}; -dhtmlXTreeObject.prototype.enableIEImageFix = function(a) { - if (!a) { - this._getImg = function(c) { - return document.createElement((c == this.rootId) ? "div" : "img") - }; - this._setSrc = function(e, c) { - e.src = c - }; - this._getSrc = function(c) { - return c.src - } - } else { - this._getImg = function() { - var c = document.createElement("DIV"); - c.innerHTML = " "; - c.className = "dhx_bg_img_fix"; - return c - }; - this._setSrc = function(e, c) { - e.style.backgroundImage = "url(" + c + ")" - }; - this._getSrc = function(c) { - var e = c.style.backgroundImage; - return e.substr(4, e.length - 5).replace(/(^")|("$)/g, "") - } - } -}; -dhtmlXTreeObject.prototype.destructor = function() { - for (var c in this._idpull) { - var e = this._idpull[c]; - if (!e) { - continue - } - e.parentObject = null; - e.treeNod = null; - e.childNodes = null; - e.span = null; - e.tr.nodem = null; - e.tr = null; - e.htmlNode.objBelong = null; - e.htmlNode = null; - this._idpull[c] = null - } - this.parentObject.innerHTML = ""; - this.allTree.onselectstart = null; - this.allTree.oncontextmenu = null; - this.allTree.onmousedown = null; - for (var c in this) { - this[c] = null - } -}; - -function cObject() { - return this -} -cObject.prototype = new Object; -cObject.prototype.clone = function() { - function a() {} - a.prototype = this; - return new a() -}; - -function dhtmlXTreeItemObject(l, c, e, a, g, h) { - this.htmlNode = ""; - this.acolor = ""; - this.scolor = ""; - this.tr = 0; - this.childsCount = 0; - this.tempDOMM = 0; - this.tempDOMU = 0; - this.dragSpan = 0; - this.dragMove = 0; - this.span = 0; - this.closeble = 1; - this.childNodes = new Array(); - this.userData = new cObject(); - this.checkstate = 0; - this.treeNod = a; - this.label = c; - this.parentObject = e; - this.actionHandler = g; - this.images = new Array(a.imageArray[0], a.imageArray[1], a.imageArray[2]); - this.id = a._globalIdStorageAdd(l, this); - if (this.treeNod.checkBoxOff) { - this.htmlNode = this.treeNod._createItem(1, this, h) - } else { - this.htmlNode = this.treeNod._createItem(0, this, h) - } - this.htmlNode.objBelong = this; - return this -} -dhtmlXTreeObject.prototype._globalIdStorageAdd = function(c, a) { - if (this._globalIdStorageFind(c, 1, 1)) { - c = c + "_" + (new Date()).valueOf(); - return this._globalIdStorageAdd(c, a) - } - this._idpull[c] = a; - this._pullSize++; - return c -}; -dhtmlXTreeObject.prototype._globalIdStorageSub = function(a) { - if (this._idpull[a]) { - this._unselectItem(this._idpull[a]); - this._idpull[a] = null; - this._pullSize-- - } - if ((this._locker) && (this._locker[a])) { - this._locker[a] = false - } -}; -dhtmlXTreeObject.prototype._globalIdStorageFind = function(l, a, e, g) { - var h = this._idpull[l]; - if (h) { - if ((h.unParsed) && (!e)) { - this.reParse(h, 0) - } - if (this._srnd && !h.htmlNode) { - this._buildSRND(h, e) - } - if ((g) && (this._edsbpsA)) { - for (var c = 0; c < this._edsbpsA.length; c++) { - if (this._edsbpsA[c][2] == l) { - dhx4.callEvent("ongetItemError", ["Requested item still in parsing process.", l]); - return null - } - } - } - return h - } - if ((this.slowParse) && (l != 0) && (!a)) { - return this.preParse(l) - } else { - return null - } -}; -dhtmlXTreeObject.prototype._getSubItemsXML = function(a) { - var c = []; - a.each("item", function(e) { - c.push(e.get("id")) - }, this); - return c.join(this.dlmtr) -}; -dhtmlXTreeObject.prototype.enableSmartXMLParsing = function(a) { - this.slowParse = dhx4.s2b(a) -}; -dhtmlXTreeObject.prototype.findXML = function(c, a, e) {}; -dhtmlXTreeObject.prototype._getAllCheckedXML = function(c, a, g) { - var e = []; - if (g == 2) { - c.through("item", "checked", -1, function(h) { - e.push(h.get("id")) - }, this) - } - if (g == 1) { - c.through("item", "id", null, function(h) { - if (h.get("checked") && (h.get("checked") != -1)) { - e.push(h.get("id")) - } - }, this) - } - if (g == 0) { - c.through("item", "id", null, function(h) { - if (!h.get("checked") || h.get("checked") == 0) { - e.push(h.get("id")) - } - }, this) - } - if (e.length) { - return a + (a ? this.dlmtr : "") + e.join(this.dlmtr) - } - if (a) { - return a - } else { - return "" - } -}; -dhtmlXTreeObject.prototype._setSubCheckedXML = function(a, c) { - var e = a ? "1" : ""; - c.through("item", "id", null, function(g) { - if (!g.get("disabled") || g.get("disabled") == 0) { - g.set("checked", e) - } - }, this) -}; -dhtmlXTreeObject.prototype._getAllScraggyItemsXML = function(e, a) { - var g = []; - var c = function(h) { - if (!h.sub_exists("item")) { - g.push(h.get("id")) - } else { - h.each("item", c, this) - } - }; - c(e); - return g.join(",") -}; -dhtmlXTreeObject.prototype._getAllFatItemsXML = function(e, a) { - var g = []; - var c = function(h) { - if (!h.sub_exists("item")) { - return - } - g.push(h.get("id")); - h.each("item", c, this) - }; - c(e); - return g.join(",") -}; -dhtmlXTreeObject.prototype._getAllSubItemsXML = function(e, c, a) { - var c = []; - a.through("item", "id", null, function(g) { - c.push(g.get("id")) - }, this); - return c.join(",") -}; -dhtmlXTreeObject.prototype.reParse = function(e) { - var l = this; - if (!this.parsCount) { - l.callEvent("onXLS", [l, e.id]) - } - this.xmlstate = 1; - var g = e.unParsed; - e.unParsed = 0; - this.XMLloadingWarning = 1; - var a = this.parsingOn; - var m = this.waitUpdateXML; - var o = this.parsedArray; - this.parsedArray = new Array(); - this.waitUpdateXML = false; - this.parsingOn = e.id; - this.parsedArray = new Array(); - this.setCheckList = ""; - this._parse(g, e.id, 2); - var q = this.setCheckList.split(this.dlmtr); - for (var h = 0; h < this.parsedArray.length; h++) { - e.htmlNode.childNodes[0].appendChild(this.parsedArray[h]) - } - if (g.get("order") && g.get("order") != "none") { - this._reorderBranch(e, g.get("order"), true) - } - this.oldsmcheck = this.smcheck; - this.smcheck = false; - for (var c = 0; c < q.length; c++) { - if (q[c]) { - this.setCheck(q[c], 1) - } - } - this.smcheck = this.oldsmcheck; - this.parsingOn = a; - this.waitUpdateXML = m; - this.parsedArray = o; - this.XMLloadingWarning = 0; - this._redrawFrom(this, e); - if (this._srnd && !e._sready) { - this.prepareSR(e.id) - } - this.xmlstate = 0; - return true -}; -dhtmlXTreeObject.prototype.preParse = function(c) { - if (!c || !this._p) { - return null - } - var a = false; - this._p.clone().through("item", "id", c, function(g) { - this._globalIdStorageFind(g.up().get("id")); - return a = true - }, this); - if (a) { - var e = this._globalIdStorageFind(c, true, false); - if (!e) { - dhx4.callEvent("ongetItemError", ["The item " + c + " not operable. Seems you have non-unique|incorrect IDs in tree's XML.", c]) - } - } - return e -}; -dhtmlXTreeObject.prototype._escape = function(a) { - switch (this.utfesc) { - case "none": - return a; - break; - case "utf8": - return encodeURIComponent(a); - break; - default: - return escape(a); - break - } -}; -dhtmlXTreeObject.prototype._drawNewTr = function(h, e) { - var g = document.createElement("tr"); - var c = document.createElement("td"); - var a = document.createElement("td"); - c.appendChild(document.createTextNode(" ")); - a.colSpan = 3; - a.appendChild(h); - g.appendChild(c); - g.appendChild(a); - return g -}; -dhtmlXTreeObject.prototype.parse = function(g, e, a) { - if (typeof e == "string") { - a = e; - e = null - } - if (a === "json") { - return this._loadJSONObject(g, e) - } else { - if (a === "csv") { - return this._loadCSVString(g, e) - } else { - if (a === "jsarray") { - return this._loadJSArray(g, e) - } - } - } - var c = this; - if (!this.parsCount) { - this.callEvent("onXLS", [c, null]) - } - this.xmlstate = 1; - this.XMLLoader({ - responseXML: dhx4.ajax.parse(g) - }, e) -}; -dhtmlXTreeObject.prototype.loadXMLString = function() { - if (window.console && window.console.info) { - window.console.info("loadXMLString was deprecated", "http://docs.dhtmlx.com/migration__index.html#migrationfrom43to44") - } - return this.parse.apply(this, arguments) -}; -dhtmlXTreeObject.prototype.load = function(c, h, e) { - if (typeof h == "string") { - e = h; - h = null - } - e = e || this._datamode; - if (e === "json") { - return this._loadJSON(c, h) - } else { - if (e === "csv") { - return this._loadCSV(c, h) - } else { - if (e === "jsarray") { - return this._loadJSArrayFile(xmlString, h) - } - } - } - var g = this; - if (!this.parsCount) { - this.callEvent("onXLS", [g, this._ld_id]) - } - this._ld_id = null; - this.xmlstate = 1; - this.XMLLoader = this._parseXMLTree; - var a = this; - return dhx4.ajax.get(c, function(l) { - a.XMLLoader(l.xmlDoc, h); - a = null - }) -}; -dhtmlXTreeObject.prototype.loadXML = function() { - if (window.console && window.console.info) { - window.console.info("loadXML was deprecated", "http://docs.dhtmlx.com/migration__index.html#migrationfrom43to44") - } - return this.load.apply(this, arguments) -}; -dhtmlXTreeObject.prototype._attachChildNode = function(m, l, g, o, D, C, A, q, e, u, v) { - if (u && u.parentObject) { - m = u.parentObject - } - if (((m.XMLload == 0) && (this.XMLsource)) && (!this.XMLloadingWarning)) { - m.XMLload = 1; - this._loadDynXML(m.id) - } - var r = m.childsCount; - var E = m.childNodes; - if (v && v.tr.previousSibling) { - if (v.tr.previousSibling.previousSibling) { - u = v.tr.previousSibling.nodem - } else { - q = q.replace("TOP", "") + ",TOP" - } - } - if (u) { - var h, y; - for (h = 0; h < r; h++) { - if (E[h] == u) { - for (y = r; y != h; y--) { - E[1 + y] = E[y] - } - break - } - } - h++; - r = h - } - if (q) { - var w = q.split(","); - for (var x = 0; x < w.length; x++) { - switch (w[x]) { - case "TOP": - if (m.childsCount > 0) { - u = new Object; - u.tr = m.childNodes[0].tr.previousSibling - } - m._has_top = true; - for (h = r; h > 0; h--) { - E[h] = E[h - 1] - } - r = 0; - break - } - } - } - var s; - if (!(s = this._idpull[l]) || s.span != -1) { - s = E[r] = new dhtmlXTreeItemObject(l, g, m, this, o, 1); - l = E[r].id; - m.childsCount++ - } - if (!s.htmlNode) { - s.label = g; - s.htmlNode = this._createItem((this.checkBoxOff ? 1 : 0), s); - s.htmlNode.objBelong = s - } - if (D) { - s.images[0] = D - } - if (C) { - s.images[1] = C - } - if (A) { - s.images[2] = A - } - var c = this._drawNewTr(s.htmlNode); - if ((this.XMLloadingWarning) || (this._hAdI)) { - s.htmlNode.parentNode.parentNode.style.display = "none" - } - if ((u) && u.tr && (u.tr.nextSibling)) { - m.htmlNode.childNodes[0].insertBefore(c, u.tr.nextSibling) - } else { - if (this.parsingOn == m.id) { - this.parsedArray[this.parsedArray.length] = c - } else { - m.htmlNode.childNodes[0].appendChild(c) - } - } - if ((u) && (!u.span)) { - u = null - } - if (this.XMLsource) { - if ((e) && (e != 0)) { - s.XMLload = 0 - } else { - s.XMLload = 1 - } - } - s.tr = c; - c.nodem = s; - if (m.itemId == 0) { - c.childNodes[0].className = "hiddenRow" - } - if ((m._r_logic) || (this._frbtr)) { - this._setSrc(s.htmlNode.childNodes[0].childNodes[0].childNodes[1].childNodes[0], this.imPath + this.radioArray[0]) - } - if (q) { - var w = q.split(","); - for (var x = 0; x < w.length; x++) { - switch (w[x]) { - case "SELECT": - this.selectItem(l, false); - break; - case "CALL": - this.selectItem(l, true); - break; - case "CHILD": - s.XMLload = 0; - break; - case "CHECKED": - if (this.XMLloadingWarning) { - this.setCheckList += this.dlmtr + l - } else { - this.setCheck(l, 1) - } - break; - case "HCHECKED": - this._setCheck(s, "unsure"); - break; - case "OPEN": - s.openMe = 1; - break - } - } - } - if (!this.XMLloadingWarning) { - if ((this._getOpenState(m) < 0) && (!this._hAdI)) { - this.openItem(m.id) - } - if (u) { - this._correctPlus(u); - this._correctLine(u) - } - this._correctPlus(m); - this._correctLine(m); - this._correctPlus(s); - if (m.childsCount >= 2) { - this._correctPlus(E[m.childsCount - 2]); - this._correctLine(E[m.childsCount - 2]) - } - if (m.childsCount != 2) { - this._correctPlus(E[0]) - } - if (this.tscheck) { - this._correctCheckStates(m) - } - if (this._onradh) { - if (this.xmlstate == 1) { - var a = this.onXLE; - this.onXLE = function(n) { - this._onradh(l); - if (a) { - a(n) - } - } - } else { - this._onradh(l) - } - } - } - return s -}; -dhtmlXTreeObject.prototype.enableContextMenu = function(a) { - if (a) { - this.cMenu = a - } -}; -dhtmlXTreeObject.prototype.setItemContextMenu = function(h, g) { - var a = h.toString().split(this.dlmtr); - for (var e = 0; e < a.length; e++) { - var c = this._globalIdStorageFind(a[e]); - if (!c) { - continue - } - c.cMenu = g - } -}; -dhtmlXTreeObject.prototype.insertNewItem = function(g, n, q, e, m, l, h, c, a) { - var r = this._globalIdStorageFind(g); - if (!r) { - return (-1) - } - var o = this._attachChildNode(r, n, q, e, m, l, h, c, a); - if (!this._idpull[this.rootId].XMLload) { - this._idpull[this.rootId].XMLload = 1 - } - if ((!this.XMLloadingWarning) && (this.childCalc)) { - this._fixChildCountLabel(r) - } - return o -}; -dhtmlXTreeObject.prototype.insertNewChild = function(g, n, o, e, m, l, h, c, a) { - return this.insertNewItem(g, n, o, e, m, l, h, c, a) -}; -dhtmlXTreeObject.prototype._parseXMLTree = function(a, e) { - var c = new xmlPointer(dhx4.ajax.xmltop("tree", a)); - this._parse(c); - this._p = c; - if (e) { - e.call(this, a) - } -}; -dhtmlXTreeObject.prototype._parseItem = function(l, q, h, n) { - var e; - if (this._srnd && (!this._idpull[e = l.get("id")] || !this._idpull[e].span)) { - this._addItemSRND(q.id, e, l); - return - } - var m = l.get_all(); - if ((typeof(this.waitUpdateXML) == "object") && (!this.waitUpdateXML[m.id])) { - this._parse(l, m.id, 1); - return - } - if ((m.text === null) || (typeof(m.text) == "undefined")) { - m.text = l.sub("itemtext"); - if (m.text) { - m.text = m.text.content() - } - } - var s = []; - if (m.select) { - s.push("SELECT") - } - if (m.top) { - s.push("TOP") - } - if (m.call) { - this.nodeAskingCall = m.id - } - if (m.checked == -1) { - s.push("HCHECKED") - } else { - if (m.checked) { - s.push("CHECKED") - } - } - if (m.open) { - s.push("OPEN") - } - if (this.waitUpdateXML) { - if (this._globalIdStorageFind(m.id)) { - var o = this.updateItem(m.id, m.text, m.im0, m.im1, m.im2, m.checked, m.child) - } else { - if (this.npl == 0) { - s.push("TOP") - } else { - h = q.childNodes[this.npl] - } - var o = this._attachChildNode(q, m.id, m.text, 0, m.im0, m.im1, m.im2, s.join(","), m.child, 0, h); - m.id = o.id; - h = null - } - } else { - var o = this._attachChildNode(q, m.id, m.text, 0, m.im0, m.im1, m.im2, s.join(","), m.child, (n || 0), h) - } - if (m.tooltip) { - o.span.parentNode.parentNode.title = m.tooltip - } - if (m.style) { - if (o.span.style.cssText) { - o.span.style.cssText += (";" + m.style) - } else { - o.span.setAttribute("style", o.span.getAttribute("style") + "; " + m.style) - } - } - if (m.radio) { - o._r_logic = true - } - if (m.nocheckbox) { - var r = o.span.parentNode.previousSibling.previousSibling; - r.style.display = "none"; - o.nocheckbox = true - } - if (m.disabled) { - if (m.checked != null) { - this._setCheck(o, m.checked) - } - this.disableCheckbox(o, 1) - } - o._acc = m.child || 0; - if (this.parserExtension) { - this.parserExtension._parseExtension.call(this, l, m, (q ? q.id : 0)) - } - this.setItemColor(o, m.aCol, m.sCol); - if (m.locked == "1") { - this.lockItem(o.id, true, true) - } - if ((m.imwidth) || (m.imheight)) { - this.setIconSize(m.imwidth, m.imheight, o) - } - if ((m.closeable == "0") || (m.closeable == "1")) { - this.setItemCloseable(o, m.closeable) - } - var g = ""; - if (m.topoffset) { - this.setItemTopOffset(o, m.topoffset) - } - if ((!this.slowParse) || (typeof(this.waitUpdateXML) == "object")) { - if (l.sub_exists("item")) { - g = this._parse(l, m.id, 1) - } - } else { - if ((!o.childsCount) && l.sub_exists("item")) { - o.unParsed = l.clone() - } - l.each("userdata", function(a) { - this.setUserData(m.id, a.get("name"), a.content()) - }, this) - } - if (g != "") { - this.nodeAskingCall = g - } - l.each("userdata", function(a) { - this.setUserData(l.get("id"), a.get("name"), a.content()) - }, this) -}; -dhtmlXTreeObject.prototype._parse = function(e, l, a, c) { - if (this._srnd && !this.parentObject.offsetHeight) { - var v = this; - return window.setTimeout(function() { - v._parse(e, l, a, c) - }, 100) - } - if (!e.exists()) { - return - } - this.skipLock = true; - if (!l) { - l = e.get("id"); - if (this._dynDeleteBranches[l]) { - this.deleteChildItems(l); - this._dynDeleteBranches[l]--; - if (!this._dynDeleteBranches[l]) { - delete this._dynDeleteBranches[l] - } - } - var s = e.get("dhx_security"); - if (s) { - dhtmlx.security_key = s - } - if (e.get("radio")) { - this.htmlNode._r_logic = true - } - this.parsingOn = l; - this.parsedArray = new Array(); - this.setCheckList = ""; - this.nodeAskingCall = "" - } - var u = this._globalIdStorageFind(l); - if (!u) { - return dhx4.callEvent("onDataStructureError", ["XML refers to not existing parent"]) - } - this.parsCount = this.parsCount ? (this.parsCount + 1) : 1; - this.XMLloadingWarning = 1; - if ((u.childsCount) && (!c) && (!this._edsbps) && (!u._has_top)) { - var m = 0 - } else { - var m = 0 - } - this.npl = 0; - e.each("item", function(w, n) { - u.XMLload = 1; - this._parseItem(w, u, 0, m); - if ((this._edsbps) && (this.npl == this._edsbpsC)) { - this._distributedStart(e, n + 1, l, a, u.childsCount); - return -1 - } - this.npl++ - }, this, c); - if (!a) { - e.each("userdata", function(n) { - this.setUserData(e.get("id"), n.get("name"), n.content()) - }, this); - u.XMLload = 1; - if (this.waitUpdateXML) { - this.waitUpdateXML = false; - for (var h = u.childsCount - 1; h >= 0; h--) { - if (u.childNodes[h]._dmark) { - this.deleteItem(u.childNodes[h].id) - } - } - } - var q = this._globalIdStorageFind(this.parsingOn); - for (var h = 0; h < this.parsedArray.length; h++) { - u.htmlNode.childNodes[0].appendChild(this.parsedArray[h]) - } - this.parsedArray = []; - this.lastLoadedXMLId = l; - this.XMLloadingWarning = 0; - var r = this.setCheckList.split(this.dlmtr); - for (var g = 0; g < r.length; g++) { - if (r[g]) { - this.setCheck(r[g], 1) - } - } - if ((this.XMLsource) && (this.tscheck) && (this.smcheck) && (u.id != this.rootId)) { - if (u.checkstate === 0) { - this._setSubChecked(0, u) - } else { - if (u.checkstate === 1) { - this._setSubChecked(1, u) - } - } - } - this._redrawFrom(this, null, c); - if (e.get("order") && e.get("order") != "none") { - this._reorderBranch(u, e.get("order"), true) - } - if (this.nodeAskingCall != "") { - this.callEvent("onClick", [this.nodeAskingCall, this.getSelectedItemId()]) - } - if (this._branchUpdate) { - this._branchUpdateNext(e) - } - } - if (this.parsCount == 1) { - this.parsingOn = null; - if (this._srnd && u.id != this.rootId) { - this.prepareSR(u.id); - if (this.XMLsource) { - this.openItem(u.id) - } - } - e.through("item", "open", null, function(n) { - this.openItem(n.get("id")) - }, this); - if ((!this._edsbps) || (!this._edsbpsA.length)) { - var o = this; - window.setTimeout(function() { - o.callEvent("onXLE", [o, l]) - }, 1); - this.xmlstate = 0 - } - this.skipLock = false - } - this.parsCount--; - var o = this; - if (this._edsbps) { - window.setTimeout(function() { - o._distributedStep(l) - }, this._edsbpsD) - } - if (!a && this.onXLE) { - this.onXLE(this, l) - } - return this.nodeAskingCall -}; -dhtmlXTreeObject.prototype._branchUpdateNext = function(a) { - a.each("item", function(g) { - var e = g.get("id"); - if (this._idpull[e] && (!this._idpull[e].XMLload)) { - return - } - this._branchUpdate++; - this.smartRefreshItem(g.get("id"), g) - }, this); - this._branchUpdate-- -}; -dhtmlXTreeObject.prototype.checkUserData = function(c, e) { - if ((c.nodeType == 1) && (c.tagName == "userdata")) { - var a = c.getAttribute("name"); - if ((a) && (c.childNodes[0])) { - this.setUserData(e, a, c.childNodes[0].data) - } - } -}; -dhtmlXTreeObject.prototype._redrawFrom = function(n, c, m, e) { - if (!c) { - var h = n._globalIdStorageFind(n.lastLoadedXMLId); - n.lastLoadedXMLId = -1; - if (!h) { - return 0 - } - } else { - h = c - } - var l = 0; - for (var g = (m ? m - 1 : 0); g < h.childsCount; g++) { - if ((!this._branchUpdate) || (this._getOpenState(h) == 1)) { - if ((!c) || (e == 1)) { - h.childNodes[g].htmlNode.parentNode.parentNode.style.display = "" - } - } - if (h.childNodes[g].openMe == 1) { - this._openItem(h.childNodes[g]); - h.childNodes[g].openMe = 0 - } - n._redrawFrom(n, h.childNodes[g]); - if (this.childCalc != null) { - if ((h.childNodes[g].unParsed) || ((!h.childNodes[g].XMLload) && (this.XMLsource))) { - if (h.childNodes[g]._acc) { - h.childNodes[g].span.innerHTML = h.childNodes[g].label + this.htmlcA + h.childNodes[g]._acc + this.htmlcB - } else { - h.childNodes[g].span.innerHTML = h.childNodes[g].label - } - } - if ((h.childNodes[g].childNodes.length) && (this.childCalc)) { - if (this.childCalc == 1) { - h.childNodes[g].span.innerHTML = h.childNodes[g].label + this.htmlcA + h.childNodes[g].childsCount + this.htmlcB - } - if (this.childCalc == 2) { - var a = h.childNodes[g].childsCount - (h.childNodes[g].pureChilds || 0); - if (a) { - h.childNodes[g].span.innerHTML = h.childNodes[g].label + this.htmlcA + a + this.htmlcB - } - if (h.pureChilds) { - h.pureChilds++ - } else { - h.pureChilds = 1 - } - } - if (this.childCalc == 3) { - h.childNodes[g].span.innerHTML = h.childNodes[g].label + this.htmlcA + h.childNodes[g]._acc + this.htmlcB - } - if (this.childCalc == 4) { - var a = h.childNodes[g]._acc; - if (a) { - h.childNodes[g].span.innerHTML = h.childNodes[g].label + this.htmlcA + a + this.htmlcB - } - } - } else { - if (this.childCalc == 4) { - l++ - } - } - l += h.childNodes[g]._acc; - if (this.childCalc == 3) { - l++ - } - } - } - if ((!h.unParsed) && ((h.XMLload) || (!this.XMLsource))) { - h._acc = l - } - n._correctLine(h); - n._correctPlus(h); - if ((this.childCalc) && (!c)) { - n._fixChildCountLabel(h) - } -}; -dhtmlXTreeObject.prototype._createSelf = function() { - var a = document.createElement("div"); - a.className = "containerTableStyle"; - a.style.width = this.width; - a.style.height = this.height; - this.parentObject.appendChild(a); - return a -}; -dhtmlXTreeObject.prototype._xcloseAll = function(c) { - if (c.unParsed) { - return - } - if (this.rootId != c.id) { - if (!c.htmlNode) { - return - } - var g = c.htmlNode.childNodes[0].childNodes; - var a = g.length; - for (var e = 1; e < a; e++) { - g[e].style.display = "none" - } - this._correctPlus(c) - } - for (var e = 0; e < c.childsCount; e++) { - if (c.childNodes[e].childsCount) { - this._xcloseAll(c.childNodes[e]) - } - } -}; -dhtmlXTreeObject.prototype._xopenAll = function(a) { - this._HideShow(a, 2); - for (var c = 0; c < a.childsCount; c++) { - this._xopenAll(a.childNodes[c]) - } -}; -dhtmlXTreeObject.prototype._correctPlus = function(c) { - if (!c.htmlNode) { - return - } - var e = c.htmlNode.childNodes[0].childNodes[0].childNodes[0].lastChild; - var h = c.htmlNode.childNodes[0].childNodes[0].childNodes[2].childNodes[0]; - var a = this.lineArray; - if ((this.XMLsource) && (!c.XMLload)) { - var a = this.plusArray; - this._setSrc(h, this.iconURL + c.images[2]); - if (this._txtimg) { - return (e.innerHTML = "[+]") - } - } else { - if ((c.childsCount) || (c.unParsed)) { - if ((c.htmlNode.childNodes[0].childNodes[1]) && (c.htmlNode.childNodes[0].childNodes[1].style.display != "none")) { - if (!c.wsign) { - var a = this.minusArray - } - this._setSrc(h, this.iconURL + c.images[1]); - if (this._txtimg) { - return (e.innerHTML = "[-]") - } - } else { - if (!c.wsign) { - var a = this.plusArray - } - this._setSrc(h, this.iconURL + c.images[2]); - if (this._txtimg) { - return (e.innerHTML = "[+]") - } - } - } else { - this._setSrc(h, this.iconURL + c.images[0]) - } - } - var g = 2; - if (!c.treeNod.treeLinesOn) { - this._setSrc(e, this.imPath + a[3]) - } else { - if (c.parentObject) { - g = this._getCountStatus(c.id, c.parentObject) - } - this._setSrc(e, this.imPath + a[g]) - } -}; -dhtmlXTreeObject.prototype._correctLine = function(c) { - if (!c.htmlNode) { - return - } - var a = c.parentObject; - if (a) { - if ((this._getLineStatus(c.id, a) == 0) || (!this.treeLinesOn)) { - for (var e = 1; e <= c.childsCount; e++) { - if (!c.htmlNode.childNodes[0].childNodes[e]) { - break - } - c.htmlNode.childNodes[0].childNodes[e].childNodes[0].style.backgroundImage = ""; - c.htmlNode.childNodes[0].childNodes[e].childNodes[0].style.backgroundRepeat = "" - } - } else { - for (var e = 1; e <= c.childsCount; e++) { - if (!c.htmlNode.childNodes[0].childNodes[e]) { - break - } - c.htmlNode.childNodes[0].childNodes[e].childNodes[0].style.backgroundImage = "url(" + this.imPath + this.lineArray[5] + ")"; - c.htmlNode.childNodes[0].childNodes[e].childNodes[0].style.backgroundRepeat = "repeat-y" - } - } - } -}; -dhtmlXTreeObject.prototype._getCountStatus = function(c, a) { - if (a.childsCount <= 1) { - if (a.id == this.rootId) { - return 4 - } else { - return 0 - } - } - if (a.childNodes[0].id == c) { - if (a.id == this.rootId) { - return 2 - } else { - return 1 - } - } - if (a.childNodes[a.childsCount - 1].id == c) { - return 0 - } - return 1 -}; -dhtmlXTreeObject.prototype._getLineStatus = function(c, a) { - if (a.childNodes[a.childsCount - 1].id == c) { - return 0 - } - return 1 -}; -dhtmlXTreeObject.prototype._HideShow = function(c, h) { - if (this._locker && !this.skipLock && this._locker[c.id]) { - return - } - if ((this.XMLsource) && (!c.XMLload)) { - if (h == 1) { - return - } - c.XMLload = 1; - this._loadDynXML(c.id); - return - } - if (c.unParsed) { - this.reParse(c) - } - var g = c.htmlNode.childNodes[0].childNodes; - var a = g.length; - if (a > 1) { - if (((g[1].style.display != "none") || (h == 1)) && (h != 2)) { - this.allTree.childNodes[0].border = "1"; - this.allTree.childNodes[0].border = "0"; - nodestyle = "none" - } else { - nodestyle = "" - } - for (var e = 1; e < a; e++) { - g[e].style.display = nodestyle - } - } - this._correctPlus(c) -}; -dhtmlXTreeObject.prototype._getOpenState = function(a) { - if (!a.htmlNode) { - return 0 - } - var c = a.htmlNode.childNodes[0].childNodes; - if (c.length <= 1) { - return 0 - } - if (c[1].style.display != "none") { - return 1 - } else { - return -1 - } -}; -dhtmlXTreeObject.prototype.onRowClick2 = function() { - var a = this.parentObject.treeNod; - if (!a.callEvent("onDblClick", [this.parentObject.id, a])) { - return false - } - if ((this.parentObject.closeble) && (this.parentObject.closeble != "0")) { - a._HideShow(this.parentObject) - } else { - a._HideShow(this.parentObject, 2) - } - if (a.checkEvent("onOpenEnd")) { - if (!a.xmlstate) { - a.callEvent("onOpenEnd", [this.parentObject.id, a._getOpenState(this.parentObject)]) - } else { - a._oie_onXLE.push(a.onXLE); - a.onXLE = a._epnFHe - } - } - return false -}; -dhtmlXTreeObject.prototype.onRowClick = function() { - var a = this.parentObject.treeNod; - if (!a.callEvent("onOpenStart", [this.parentObject.id, a._getOpenState(this.parentObject)])) { - return 0 - } - if ((this.parentObject.closeble) && (this.parentObject.closeble != "0")) { - a._HideShow(this.parentObject) - } else { - a._HideShow(this.parentObject, 2) - } - if (a.checkEvent("onOpenEnd")) { - if (!a.xmlstate) { - a.callEvent("onOpenEnd", [this.parentObject.id, a._getOpenState(this.parentObject)]) - } else { - a._oie_onXLE.push(a.onXLE); - a.onXLE = a._epnFHe - } - } -}; -dhtmlXTreeObject.prototype._epnFHe = function(c, e, a) { - if (e != this.rootId) { - this.callEvent("onOpenEnd", [e, c.getOpenState(e)]) - } - c.onXLE = c._oie_onXLE.pop(); - if (!a && !c._oie_onXLE.length) { - if (c.onXLE) { - c.onXLE(c, e) - } - } -}; -dhtmlXTreeObject.prototype.onRowClickDown = function(c) { - c = c || window.event; - var a = this.parentObject.treeNod; - a._selectItem(this.parentObject, c) -}; -dhtmlXTreeObject.prototype.getSelectedItemId = function() { - var c = new Array(); - for (var a = 0; a < this._selected.length; a++) { - c[a] = this._selected[a].id - } - return (c.join(this.dlmtr)) -}; -dhtmlXTreeObject.prototype._selectItem = function(m, n) { - if (this.checkEvent("onSelect")) { - this._onSSCFold = this.getSelectedItemId() - } - if ((!this._amsel) || (!n) || ((!n.ctrlKey) && (!n.metaKey) && (!n.shiftKey))) { - this._unselectItems() - } - if ((m.i_sel) && (this._amsel) && (n) && (n.ctrlKey || n.metaKey)) { - this._unselectItem(m) - } else { - if ((!m.i_sel) && ((!this._amselS) || (this._selected.length == 0) || (this._selected[0].parentObject == m.parentObject))) { - if ((this._amsel) && (n) && (n.shiftKey) && (this._selected.length != 0) && (this._selected[this._selected.length - 1].parentObject == m.parentObject)) { - var h = this._getIndex(this._selected[this._selected.length - 1]); - var g = this._getIndex(m); - if (g < h) { - var q = h; - h = g; - g = q - } - for (var l = h; l <= g; l++) { - if (!m.parentObject.childNodes[l].i_sel) { - this._markItem(m.parentObject.childNodes[l]) - } - } - } else { - this._markItem(m) - } - } - } - if (this.checkEvent("onSelect")) { - var o = this.getSelectedItemId(); - if (o != this._onSSCFold) { - this.callEvent("onSelect", [o]) - } - } -}; -dhtmlXTreeObject.prototype._markItem = function(a) { - if (a.scolor) { - a.span.style.color = a.scolor - } - a.span.className = "selectedTreeRow"; - a.span.parentNode.parentNode.className = "selectedTreeRowFull"; - a.i_sel = true; - this._selected[this._selected.length] = a -}; -dhtmlXTreeObject.prototype.getIndexById = function(c) { - var a = this._globalIdStorageFind(c); - if (!a) { - return null - } - return this._getIndex(a) -}; -dhtmlXTreeObject.prototype._getIndex = function(a) { - var e = a.parentObject; - for (var c = 0; c < e.childsCount; c++) { - if (e.childNodes[c] == a) { - return c - } - } -}; -dhtmlXTreeObject.prototype._unselectItem = function(c) { - if ((c) && (c.i_sel)) { - c.span.className = "standartTreeRow"; - c.span.parentNode.parentNode.className = ""; - if (c.acolor) { - c.span.style.color = c.acolor - } - c.i_sel = false; - for (var a = 0; a < this._selected.length; a++) { - if (!this._selected[a].i_sel) { - this._selected.splice(a, 1); - break - } - } - } -}; -dhtmlXTreeObject.prototype._unselectItems = function() { - for (var a = 0; a < this._selected.length; a++) { - var c = this._selected[a]; - c.span.className = "standartTreeRow"; - c.span.parentNode.parentNode.className = ""; - if (c.acolor) { - c.span.style.color = c.acolor - } - c.i_sel = false - } - this._selected = new Array() -}; -dhtmlXTreeObject.prototype.onRowSelect = function(h, g, m) { - h = h || window.event; - var c = this.parentObject; - if (g) { - c = g.parentObject - } - var a = c.treeNod; - var l = a.getSelectedItemId(); - if ((!h) || (!h.skipUnSel)) { - a._selectItem(c, h) - } - if (!m) { - if (c.actionHandler) { - c.actionHandler(c.id, l) - } else { - a.callEvent("onClick", [c.id, l]) - } - } -}; -dhtmlXTreeObject.prototype._correctCheckStates = function(h) { - if (!this.tscheck) { - return - } - if (!h) { - return - } - if (h.id == this.rootId) { - return - } - var e = h.childNodes; - var c = 0; - var a = 0; - if (h.childsCount == 0) { - return - } - for (var g = 0; g < h.childsCount; g++) { - if (e[g].dscheck) { - continue - } - if (e[g].checkstate == 0) { - c = 1 - } else { - if (e[g].checkstate == 1) { - a = 1 - } else { - c = 1; - a = 1; - break - } - } - } - if ((c) && (a)) { - this._setCheck(h, "unsure") - } else { - if (c) { - this._setCheck(h, false) - } else { - this._setCheck(h, true) - } - } - this._correctCheckStates(h.parentObject) -}; -dhtmlXTreeObject.prototype.onCheckBoxClick = function(a) { - if (!this.treeNod.callEvent("onBeforeCheck", [this.parentObject.id, this.parentObject.checkstate])) { - return - } - if (this.parentObject.dscheck) { - return true - } - if (this.treeNod.tscheck) { - if (this.parentObject.checkstate == 1) { - this.treeNod._setSubChecked(false, this.parentObject) - } else { - this.treeNod._setSubChecked(true, this.parentObject) - } - } else { - if (this.parentObject.checkstate == 1) { - this.treeNod._setCheck(this.parentObject, false) - } else { - this.treeNod._setCheck(this.parentObject, true) - } - } - this.treeNod._correctCheckStates(this.parentObject.parentObject); - return this.treeNod.callEvent("onCheck", [this.parentObject.id, this.parentObject.checkstate]) -}; -dhtmlXTreeObject.prototype._createItem = function(s, r, n) { - var u = document.createElement("table"); - u.cellSpacing = 0; - u.cellPadding = 0; - u.border = 0; - if (this.hfMode) { - u.style.tableLayout = "fixed" - } - u.style.margin = 0; - u.style.padding = 0; - var m = document.createElement("tbody"); - var q = document.createElement("tr"); - var g = document.createElement("td"); - g.className = "standartTreeImage"; - if (this._txtimg) { - var h = document.createElement("div"); - g.appendChild(h); - h.className = "dhx_tree_textSign" - } else { - var h = this._getImg(r.id); - h.border = "0"; - if (h.tagName == "IMG") { - h.align = "absmiddle" - } - g.appendChild(h); - h.style.padding = 0; - h.style.margin = 0; - h.style.width = this.def_line_img_x - } - var e = document.createElement("td"); - var o = this._getImg(this.cBROf ? this.rootId : r.id); - o.checked = 0; - this._setSrc(o, this.imPath + this.checkArray[0]); - o.style.width = "18px"; - o.style.height = "18px"; - if (!s) { - e.style.display = "none" - } - e.appendChild(o); - if ((!this.cBROf) && (o.tagName == "IMG")) { - o.align = "absmiddle" - } - o.onclick = this.onCheckBoxClick; - o.treeNod = this; - o.parentObject = r; - if (!window._KHTMLrv) { - e.width = "20px" - } else { - e.width = "16px" - } - var c = document.createElement("td"); - c.className = "standartTreeImage"; - var l = this._getImg(this.timgen ? r.id : this.rootId); - l.onmousedown = this._preventNsDrag; - l.ondragstart = this._preventNsDrag; - l.border = "0"; - if (this._aimgs) { - l.parentObject = r; - if (l.tagName == "IMG") { - l.align = "absmiddle" - } - l.onclick = this.onRowSelect - } - if (!n) { - this._setSrc(l, this.iconURL + this.imageArray[0]) - } - c.appendChild(l); - l.style.padding = 0; - l.style.margin = 0; - if (this.timgen) { - c.style.width = l.style.width = this.def_img_x; - l.style.height = this.def_img_y - } else { - l.style.width = "0px"; - l.style.height = "0px"; - if (_isOpera || window._KHTMLrv) { - c.style.display = "none" - } - } - var a = document.createElement("td"); - a.className = "dhxTextCell standartTreeRow"; - r.span = document.createElement("span"); - r.span.className = "standartTreeRow"; - if (this.mlitems) { - r.span.style.width = this.mlitems; - r.span.style.display = "block" - } else { - a.noWrap = true - } - if (dhx4.isIE8) { - a.style.width = "99999px" - } else { - if (!window._KHTMLrv) { - a.style.width = "100%" - } - } - r.span.innerHTML = r.label; - a.appendChild(r.span); - a.parentObject = r; - g.parentObject = r; - a.onclick = this.onRowSelect; - g.onclick = this.onRowClick; - a.ondblclick = this.onRowClick2; - if (this.ettip) { - q.title = r.label - } - if (this.dragAndDropOff) { - if (this._aimgs) { - this.dragger.addDraggableItem(c, this); - c.parentObject = r - } - this.dragger.addDraggableItem(a, this) - } - r.span.style.paddingLeft = "5px"; - r.span.style.paddingRight = "5px"; - a.style.verticalAlign = ""; - a.style.fontSize = "10pt"; - a.style.cursor = this.style_pointer; - q.appendChild(g); - q.appendChild(e); - q.appendChild(c); - q.appendChild(a); - m.appendChild(q); - u.appendChild(m); - if (this.ehlt || this.checkEvent("onMouseIn") || this.checkEvent("onMouseOut")) { - q.onmousemove = this._itemMouseIn; - q[(_isIE) ? "onmouseleave" : "onmouseout"] = this._itemMouseOut - } - return u -}; -dhtmlXTreeObject.prototype.setImagePath = function(a) { - this.imPath = a; - this.iconURL = a -}; -dhtmlXTreeObject.prototype.setIconPath = function(a) { - this.iconURL = a -}; -dhtmlXTreeObject.prototype._getLeafCount = function(g) { - var e = 0; - for (var c = 0; c < g.childsCount; c++) { - if (g.childNodes[c].childsCount == 0) { - e++ - } - } - return e -}; -dhtmlXTreeObject.prototype._getChildCounterValue = function(c) { - var a = this._globalIdStorageFind(c); - if (!a) { - return 0 - } - if ((a.unParsed) || ((!a.XMLload) && (this.XMLsource))) { - return a._acc - } - switch (this.childCalc) { - case 1: - return a.childsCount; - break; - case 2: - return this._getLeafCount(a); - break; - case 3: - return a._acc; - break; - case 4: - return a._acc; - break - } -}; -dhtmlXTreeObject.prototype._fixChildCountLabel = function(l, g) { - if (this.childCalc == null) { - return - } - if ((l.unParsed) || ((!l.XMLload) && (this.XMLsource))) { - if (l._acc) { - l.span.innerHTML = l.label + this.htmlcA + l._acc + this.htmlcB - } else { - l.span.innerHTML = l.label - } - return - } - switch (this.childCalc) { - case 1: - if (l.childsCount != 0) { - l.span.innerHTML = l.label + this.htmlcA + l.childsCount + this.htmlcB - } else { - l.span.innerHTML = l.label - } - break; - case 2: - var h = this._getLeafCount(l); - if (h != 0) { - l.span.innerHTML = l.label + this.htmlcA + h + this.htmlcB - } else { - l.span.innerHTML = l.label - } - break; - case 3: - if (l.childsCount != 0) { - var e = 0; - for (var c = 0; c < l.childsCount; c++) { - if (!l.childNodes[c]._acc) { - l.childNodes[c]._acc = 0 - } - e += l.childNodes[c]._acc * 1 - } - e += l.childsCount * 1; - l.span.innerHTML = l.label + this.htmlcA + e + this.htmlcB; - l._acc = e - } else { - l.span.innerHTML = l.label; - l._acc = 0 - } - if ((l.parentObject) && (l.parentObject != this.htmlNode)) { - this._fixChildCountLabel(l.parentObject) - } - break; - case 4: - if (l.childsCount != 0) { - var e = 0; - for (var c = 0; c < l.childsCount; c++) { - if (!l.childNodes[c]._acc) { - l.childNodes[c]._acc = 1 - } - e += l.childNodes[c]._acc * 1 - } - l.span.innerHTML = l.label + this.htmlcA + e + this.htmlcB; - l._acc = e - } else { - l.span.innerHTML = l.label; - l._acc = 1 - } - if ((l.parentObject) && (l.parentObject != this.htmlNode)) { - this._fixChildCountLabel(l.parentObject) - } - break - } -}; -dhtmlXTreeObject.prototype.setChildCalcMode = function(a) { - switch (a) { - case "child": - this.childCalc = 1; - break; - case "leafs": - this.childCalc = 2; - break; - case "childrec": - this.childCalc = 3; - break; - case "leafsrec": - this.childCalc = 4; - break; - case "disabled": - this.childCalc = null; - break; - default: - this.childCalc = 4 - } -}; -dhtmlXTreeObject.prototype.setChildCalcHTML = function(c, a) { - this.htmlcA = c; - this.htmlcB = a -}; -dhtmlXTreeObject.prototype.setOnRightClickHandler = function(a) { - this.attachEvent("onRightClick", a) -}; -dhtmlXTreeObject.prototype.setOnClickHandler = function(a) { - this.attachEvent("onClick", a) -}; -dhtmlXTreeObject.prototype.setOnSelectStateChange = function(a) { - this.attachEvent("onSelect", a) -}; -dhtmlXTreeObject.prototype.setXMLAutoLoading = function(a) { - this.XMLsource = a -}; -dhtmlXTreeObject.prototype.setOnCheckHandler = function(a) { - this.attachEvent("onCheck", a) -}; -dhtmlXTreeObject.prototype.setOnOpenHandler = function(a) { - this.attachEvent("onOpenStart", a) -}; -dhtmlXTreeObject.prototype.setOnOpenStartHandler = function(a) { - this.attachEvent("onOpenStart", a) -}; -dhtmlXTreeObject.prototype.setOnOpenEndHandler = function(a) { - this.attachEvent("onOpenEnd", a) -}; -dhtmlXTreeObject.prototype.setOnDblClickHandler = function(a) { - this.attachEvent("onDblClick", a) -}; -dhtmlXTreeObject.prototype.openAllItems = function(c) { - var a = this._globalIdStorageFind(c); - if (!a) { - return 0 - } - this._xopenAll(a) -}; -dhtmlXTreeObject.prototype.getOpenState = function(c) { - var a = this._globalIdStorageFind(c); - if (!a) { - return "" - } - return this._getOpenState(a) -}; -dhtmlXTreeObject.prototype.closeAllItems = function(c) { - if (c === window.undefined) { - c = this.rootId - } - var a = this._globalIdStorageFind(c); - if (!a) { - return 0 - } - this._xcloseAll(a); - this.allTree.childNodes[0].border = "1"; - this.allTree.childNodes[0].border = "0" -}; -dhtmlXTreeObject.prototype.setUserData = function(g, c, e) { - var a = this._globalIdStorageFind(g, 0, true); - if (!a) { - return - } - if (c == "hint") { - a.htmlNode.childNodes[0].childNodes[0].title = e - } - if (typeof(a.userData["t_" + c]) == "undefined") { - if (!a._userdatalist) { - a._userdatalist = c - } else { - a._userdatalist += "," + c - } - } - a.userData["t_" + c] = e -}; -dhtmlXTreeObject.prototype.getUserData = function(e, c) { - var a = this._globalIdStorageFind(e, 0, true); - if (!a) { - return - } - return a.userData["t_" + c] -}; -dhtmlXTreeObject.prototype.getItemColor = function(e) { - var a = this._globalIdStorageFind(e); - if (!a) { - return 0 - } - var c = new Object(); - if (a.acolor) { - c.acolor = a.acolor - } - if (a.scolor) { - c.scolor = a.scolor - } - return c -}; -dhtmlXTreeObject.prototype.setItemColor = function(e, c, g) { - if ((e) && (e.span)) { - var a = e - } else { - var a = this._globalIdStorageFind(e) - } - if (!a) { - return 0 - } else { - if (a.i_sel) { - if (g || c) { - a.span.style.color = g || c - } - } else { - if (c) { - a.span.style.color = c - } - } - if (g) { - a.scolor = g - } - if (c) { - a.acolor = c - } - } -}; -dhtmlXTreeObject.prototype.getItemText = function(c) { - var a = this._globalIdStorageFind(c); - if (!a) { - return 0 - } - return (a.htmlNode.childNodes[0].childNodes[0].childNodes[3].childNodes[0].innerHTML) -}; -dhtmlXTreeObject.prototype.getParentId = function(c) { - var a = this._globalIdStorageFind(c); - if ((!a) || (!a.parentObject)) { - return "" - } - return a.parentObject.id -}; -dhtmlXTreeObject.prototype.changeItemId = function(c, e) { - if (c == e) { - return - } - var a = this._globalIdStorageFind(c); - if (!a) { - return 0 - } - a.id = e; - a.span.contextMenuId = e; - this._idpull[e] = this._idpull[c]; - delete this._idpull[c] -}; -dhtmlXTreeObject.prototype.doCut = function() { - if (this.nodeCut) { - this.clearCut() - } - this.nodeCut = (new Array()).concat(this._selected); - for (var a = 0; a < this.nodeCut.length; a++) { - var c = this.nodeCut[a]; - c._cimgs = new Array(); - c._cimgs[0] = c.images[0]; - c._cimgs[1] = c.images[1]; - c._cimgs[2] = c.images[2]; - c.images[0] = c.images[1] = c.images[2] = this.cutImage; - this._correctPlus(c) - } -}; -dhtmlXTreeObject.prototype.doPaste = function(e) { - var a = this._globalIdStorageFind(e); - if (!a) { - return 0 - } - for (var c = 0; c < this.nodeCut.length; c++) { - if (this._checkPNodes(a, this.nodeCut[c])) { - continue - } - this._moveNode(this.nodeCut[c], a) - } - this.clearCut() -}; -dhtmlXTreeObject.prototype.clearCut = function() { - for (var a = 0; a < this.nodeCut.length; a++) { - var c = this.nodeCut[a]; - c.images[0] = c._cimgs[0]; - c.images[1] = c._cimgs[1]; - c.images[2] = c._cimgs[2]; - this._correctPlus(c) - } - this.nodeCut = new Array() -}; -dhtmlXTreeObject.prototype._moveNode = function(a, c) { - var l = this.dadmodec; - if (l == 1) { - var h = c; - if (this.dadmodefix < 0) { - while (true) { - h = this._getPrevNode(h); - if ((h == -1)) { - h = this.htmlNode; - break - } - if ((h.tr == 0) || (h.tr.style.display == "") || (!h.parentObject)) { - break - } - } - var g = h; - var e = c - } else { - if ((h.tr) && (h.tr.nextSibling) && (h.tr.nextSibling.nodem) && (this._getOpenState(h) < 1)) { - h = h.tr.nextSibling.nodem - } else { - if (this._getOpenState(h) < 1) { - h = this.htmlNode - } else { - h = this._getNextNode(h); - if ((h == -1)) { - h = this.htmlNode - } - } - } - var e = h; - var g = c - } - if (this._getNodeLevel(g, 0) > this._getNodeLevel(e, 0)) { - if (!this.dropLower) { - return this._moveNodeTo(a, g.parentObject) - } else { - if (e.id != this.rootId) { - return this._moveNodeTo(a, e.parentObject, e) - } else { - return this._moveNodeTo(a, this.htmlNode, null) - } - } - } else { - return this._moveNodeTo(a, e.parentObject, e) - } - } else { - return this._moveNodeTo(a, c) - } -}; -dhtmlXTreeObject.prototype._fixNodesCollection = function(n, l) { - var c = 0; - var g = 0; - var m = n.childNodes; - var a = n.childsCount - 1; - if (l == m[a]) { - return - } - for (var h = 0; h < a; h++) { - if (m[h] == m[a]) { - m[h] = m[h + 1]; - m[h + 1] = m[a] - } - } - for (var h = 0; h < a + 1; h++) { - if (c) { - var e = m[h]; - m[h] = c; - c = e - } else { - if (m[h] == l) { - c = m[h]; - m[h] = m[a] - } - } - } -}; -dhtmlXTreeObject.prototype._recreateBranch = function(l, n, h, a) { - var c; - var o = ""; - if (h) { - for (c = 0; c < n.childsCount; c++) { - if (n.childNodes[c] == h) { - break - } - } - if (c != 0) { - h = n.childNodes[c - 1] - } else { - o = "TOP"; - h = "" - } - } - var e = this._onradh; - this._onradh = null; - var m = this._attachChildNode(n, l.id, l.label, 0, l.images[0], l.images[1], l.images[2], o, 0, h); - m._userdatalist = l._userdatalist; - m.userData = l.userData.clone(); - if (l._attrs) { - m._attrs = {}; - for (var g in l._attrs) { - m._attrs[g] = l._attrs[g] - } - } - m.XMLload = l.XMLload; - if (e) { - this._onradh = e; - this._onradh(m.id) - } - if (l.treeNod.dpcpy) { - l.treeNod._globalIdStorageFind(l.id) - } else { - m.unParsed = l.unParsed - } - this._correctPlus(m); - for (var c = 0; c < l.childsCount; c++) { - this._recreateBranch(l.childNodes[c], m, 0, 1) - } - if ((!a) && (this.childCalc)) { - this._redrawFrom(this, n) - } - return m -}; -dhtmlXTreeObject.prototype._moveNodeTo = function(s, v, r) { - if (s.treeNod._nonTrivialNode) { - return s.treeNod._nonTrivialNode(this, v, r, s) - } - if (this._checkPNodes(v, s)) { - return false - } - if (v.mytype) { - var m = (s.treeNod.lWin != v.lWin) - } else { - var m = (s.treeNod.lWin != v.treeNod.lWin) - } - if (!this.callEvent("onDrag", [s.id, v.id, (r ? r.id : null), s.treeNod, v.treeNod])) { - return false - } - if ((v.XMLload == 0) && (this.XMLsource)) { - v.XMLload = 1; - this._loadDynXML(v.id) - } - this.openItem(v.id); - var e = s.treeNod; - var o = s.parentObject.childsCount; - var q = s.parentObject; - if ((m) || (e.dpcpy)) { - var g = s.id; - s = this._recreateBranch(s, v, r); - if (!e.dpcpy) { - e.deleteItem(g) - } - } else { - var h = v.childsCount; - var u = v.childNodes; - if (h == 0) { - v._open = true - } - e._unselectItem(s); - u[h] = s; - s.treeNod = v.treeNod; - v.childsCount++; - var n = this._drawNewTr(u[h].htmlNode); - if (!r) { - v.htmlNode.childNodes[0].appendChild(n); - if (this.dadmode == 1) { - this._fixNodesCollection(v, r) - } - } else { - v.htmlNode.childNodes[0].insertBefore(n, r.tr); - this._fixNodesCollection(v, r); - u = v.childNodes - } - } - if ((!e.dpcpy) && (!m)) { - var a = s.tr; - if ((document.all) && (navigator.appVersion.search(/MSIE\ 5\.0/gi) != -1)) { - window.setTimeout(function() { - a.parentNode.removeChild(a) - }, 250) - } else { - s.parentObject.htmlNode.childNodes[0].removeChild(s.tr) - } - if ((!r) || (v != s.parentObject)) { - for (var l = 0; l < q.childsCount; l++) { - if (q.childNodes[l].id == s.id) { - q.childNodes[l] = 0; - break - } - } - } else { - q.childNodes[q.childsCount - 1] = 0 - } - e._compressChildList(q.childsCount, q.childNodes); - q.childsCount-- - } - if ((!m) && (!e.dpcpy)) { - s.tr = n; - n.nodem = s; - s.parentObject = v; - if (e != v.treeNod) { - if (s.treeNod._registerBranch(s, e)) { - return - } - this._clearStyles(s); - this._redrawFrom(this, s.parentObject); - if (this._onradh) { - this._onradh(s.id) - } - } - this._correctPlus(v); - this._correctLine(v); - this._correctLine(s); - this._correctPlus(s); - if (r) { - this._correctPlus(r) - } else { - if (v.childsCount >= 2) { - this._correctPlus(u[v.childsCount - 2]); - this._correctLine(u[v.childsCount - 2]) - } - } - this._correctPlus(u[v.childsCount - 1]); - if (this.tscheck) { - this._correctCheckStates(v) - } - if (e.tscheck) { - e._correctCheckStates(q) - } - } - if (o > 1) { - e._correctPlus(q.childNodes[o - 2]); - e._correctLine(q.childNodes[o - 2]) - } - e._correctPlus(q); - e._correctLine(q); - this._fixChildCountLabel(v); - e._fixChildCountLabel(q); - this.callEvent("onDrop", [s.id, v.id, (r ? r.id : null), e, v.treeNod]); - return s.id -}; -dhtmlXTreeObject.prototype._clearStyles = function(a) { - if (!a.htmlNode) { - return - } - var g = a.htmlNode.childNodes[0].childNodes[0].childNodes[1]; - var c = g.nextSibling.nextSibling; - a.span.innerHTML = a.label; - a.i_sel = false; - if (a._aimgs) { - this.dragger.removeDraggableItem(g.nextSibling) - } - if (this.checkBoxOff) { - g.childNodes[0].style.display = ""; - g.childNodes[0].onclick = this.onCheckBoxClick; - this._setSrc(g.childNodes[0], this.imPath + this.checkArray[a.checkstate]) - } else { - g.style.display = "none" - } - g.childNodes[0].treeNod = this; - this.dragger.removeDraggableItem(c); - if (this.dragAndDropOff) { - this.dragger.addDraggableItem(c, this) - } - if (this._aimgs) { - this.dragger.addDraggableItem(g.nextSibling, this) - } - c.childNodes[0].className = "standartTreeRow"; - c.parentNode.className = ""; - c.onclick = this.onRowSelect; - c.ondblclick = this.onRowClick2; - g.previousSibling.onclick = this.onRowClick; - this._correctLine(a); - this._correctPlus(a); - for (var e = 0; e < a.childsCount; e++) { - this._clearStyles(a.childNodes[e]) - } -}; -dhtmlXTreeObject.prototype._registerBranch = function(c, a) { - if (a) { - a._globalIdStorageSub(c.id) - } - c.id = this._globalIdStorageAdd(c.id, c); - c.treeNod = this; - for (var e = 0; e < c.childsCount; e++) { - this._registerBranch(c.childNodes[e], a) - } - return 0 -}; -dhtmlXTreeObject.prototype.enableThreeStateCheckboxes = function(a) { - this.tscheck = dhx4.s2b(a) -}; -dhtmlXTreeObject.prototype.setOnMouseInHandler = function(a) { - this.ehlt = true; - this.attachEvent("onMouseIn", a) -}; -dhtmlXTreeObject.prototype.setOnMouseOutHandler = function(a) { - this.ehlt = true; - this.attachEvent("onMouseOut", a) -}; -dhtmlXTreeObject.prototype.enableMercyDrag = function(a) { - this.dpcpy = dhx4.s2b(a) -}; -dhtmlXTreeObject.prototype.enableTreeImages = function(a) { - this.timgen = dhx4.s2b(a) -}; -dhtmlXTreeObject.prototype.enableFixedMode = function(a) { - this.hfMode = dhx4.s2b(a) -}; -dhtmlXTreeObject.prototype.enableCheckBoxes = function(c, a) { - this.checkBoxOff = dhx4.s2b(c); - this.cBROf = (!(this.checkBoxOff || dhx4.s2b(a))) -}; -dhtmlXTreeObject.prototype.setStdImages = function(a, e, c) { - this.imageArray[0] = a; - this.imageArray[1] = e; - this.imageArray[2] = c -}; -dhtmlXTreeObject.prototype.enableTreeLines = function(a) { - this.treeLinesOn = dhx4.s2b(a) -}; -dhtmlXTreeObject.prototype.setImageArrays = function(g, a, l, h, e, c) { - switch (g) { - case "plus": - this.plusArray[0] = a; - this.plusArray[1] = l; - this.plusArray[2] = h; - this.plusArray[3] = e; - this.plusArray[4] = c; - break; - case "minus": - this.minusArray[0] = a; - this.minusArray[1] = l; - this.minusArray[2] = h; - this.minusArray[3] = e; - this.minusArray[4] = c; - break - } -}; -dhtmlXTreeObject.prototype.openItem = function(c) { - this.skipLock = true; - var a = this._globalIdStorageFind(c); - if (!a) { - return 0 - } else { - return this._openItem(a) - } - this.skipLock = false -}; -dhtmlXTreeObject.prototype._openItem = function(a) { - var c = this._getOpenState(a); - if ((c < 0) || (((this.XMLsource) && (!a.XMLload)))) { - if (!this.callEvent("onOpenStart", [a.id, c])) { - return 0 - } - this._HideShow(a, 2); - if (this.checkEvent("onOpenEnd")) { - if (this.onXLE == this._epnFHe) { - this._epnFHe(this, a.id, true) - } - if (!this.xmlstate || !this.XMLsource) { - this.callEvent("onOpenEnd", [a.id, this._getOpenState(a)]) - } else { - this._oie_onXLE.push(this.onXLE); - this.onXLE = this._epnFHe - } - } - } else { - if (this._srnd) { - this._HideShow(a, 2) - } - } - if (a.parentObject && !this._skip_open_parent) { - this._openItem(a.parentObject) - } -}; -dhtmlXTreeObject.prototype.closeItem = function(c) { - if (this.rootId == c) { - return 0 - } - this.skipLock = true; - var a = this._globalIdStorageFind(c); - if (!a) { - return 0 - } - if (a.closeble) { - this._HideShow(a, 1) - } - this.skipLock = false -}; -dhtmlXTreeObject.prototype.getLevel = function(c) { - var a = this._globalIdStorageFind(c); - if (!a) { - return 0 - } - return this._getNodeLevel(a, 0) -}; -dhtmlXTreeObject.prototype.setItemCloseable = function(e, a) { - a = dhx4.s2b(a); - if ((e) && (e.span)) { - var c = e - } else { - var c = this._globalIdStorageFind(e) - } - if (!c) { - return 0 - } - c.closeble = a -}; -dhtmlXTreeObject.prototype._getNodeLevel = function(a, c) { - if (a.parentObject) { - return this._getNodeLevel(a.parentObject, c + 1) - } - return (c) -}; -dhtmlXTreeObject.prototype.hasChildren = function(c) { - var a = this._globalIdStorageFind(c); - if (!a) { - return 0 - } else { - if ((this.XMLsource) && (!a.XMLload)) { - return true - } else { - return a.childsCount - } - } -}; -dhtmlXTreeObject.prototype._getLeafCount = function(g) { - var e = 0; - for (var c = 0; c < g.childsCount; c++) { - if (g.childNodes[c].childsCount == 0) { - e++ - } - } - return e -}; -dhtmlXTreeObject.prototype.setItemText = function(g, e, c) { - var a = this._globalIdStorageFind(g); - if (!a) { - return 0 - } - a.label = e; - a.span.innerHTML = e; - if (this.childCalc) { - this._fixChildCountLabel(a) - } - a.span.parentNode.parentNode.title = c || "" -}; -dhtmlXTreeObject.prototype.getItemTooltip = function(c) { - var a = this._globalIdStorageFind(c); - if (!a) { - return "" - } - return (a.span.parentNode.parentNode._dhx_title || a.span.parentNode.parentNode.title || "") -}; -dhtmlXTreeObject.prototype.refreshItem = function(c) { - if (!c) { - c = this.rootId - } - var a = this._globalIdStorageFind(c); - this._dynDeleteBranches[c] = (this._dynDeleteBranches[c] || 0) + 1; - this._loadDynXML(c) -}; -dhtmlXTreeObject.prototype.setItemImage2 = function(g, a, h, e) { - var c = this._globalIdStorageFind(g); - if (!c) { - return 0 - } - c.images[1] = h; - c.images[2] = e; - c.images[0] = a; - this._correctPlus(c) -}; -dhtmlXTreeObject.prototype.setItemImage = function(e, a, g) { - var c = this._globalIdStorageFind(e); - if (!c) { - return 0 - } - if (g) { - c.images[1] = a; - c.images[2] = g - } else { - c.images[0] = a - } - this._correctPlus(c) -}; -dhtmlXTreeObject.prototype.getSubItems = function(e) { - var a = this._globalIdStorageFind(e, 0, 1); - if (!a) { - return 0 - } - if (a.unParsed) { - return (this._getSubItemsXML(a.unParsed)) - } - var c = ""; - for (i = 0; i < a.childsCount; i++) { - if (!c) { - c = "" + a.childNodes[i].id - } else { - c += this.dlmtr + a.childNodes[i].id - } - } - return c -}; -dhtmlXTreeObject.prototype._getAllScraggyItems = function(e) { - var g = ""; - for (var c = 0; c < e.childsCount; c++) { - if ((e.childNodes[c].unParsed) || (e.childNodes[c].childsCount > 0)) { - if (e.childNodes[c].unParsed) { - var a = this._getAllScraggyItemsXML(e.childNodes[c].unParsed, 1) - } else { - var a = this._getAllScraggyItems(e.childNodes[c]) - } - if (a) { - if (g) { - g += this.dlmtr + a - } else { - g = a - } - } - } else { - if (!g) { - g = "" + e.childNodes[c].id - } else { - g += this.dlmtr + e.childNodes[c].id - } - } - } - return g -}; -dhtmlXTreeObject.prototype._getAllFatItems = function(e) { - var g = ""; - for (var c = 0; c < e.childsCount; c++) { - if ((e.childNodes[c].unParsed) || (e.childNodes[c].childsCount > 0)) { - if (!g) { - g = "" + e.childNodes[c].id - } else { - g += this.dlmtr + e.childNodes[c].id - } - if (e.childNodes[c].unParsed) { - var a = this._getAllFatItemsXML(e.childNodes[c].unParsed, 1) - } else { - var a = this._getAllFatItems(e.childNodes[c]) - } - if (a) { - g += this.dlmtr + a - } - } - } - return g -}; -dhtmlXTreeObject.prototype._getAllSubItems = function(l, h, g) { - if (g) { - c = g - } else { - var c = this._globalIdStorageFind(l) - } - if (!c) { - return 0 - } - h = ""; - for (var e = 0; e < c.childsCount; e++) { - if (!h) { - h = "" + c.childNodes[e].id - } else { - h += this.dlmtr + c.childNodes[e].id - } - var a = this._getAllSubItems(0, h, c.childNodes[e]); - if (a) { - h += this.dlmtr + a - } - } - if (c.unParsed) { - h = this._getAllSubItemsXML(l, h, c.unParsed) - } - return h -}; -dhtmlXTreeObject.prototype.selectItem = function(g, e, c) { - e = dhx4.s2b(e); - var a = this._globalIdStorageFind(g); - if ((!a) || (!a.parentObject)) { - return 0 - } - if (this.XMLloadingWarning) { - a.parentObject.openMe = 1 - } else { - this._openItem(a.parentObject) - } - var h = null; - if (c) { - h = new Object; - h.ctrlKey = true; - if (a.i_sel) { - h.skipUnSel = true - } - } - if (e) { - this.onRowSelect(h, a.htmlNode.childNodes[0].childNodes[0].childNodes[3], false) - } else { - this.onRowSelect(h, a.htmlNode.childNodes[0].childNodes[0].childNodes[3], true) - } -}; -dhtmlXTreeObject.prototype.getSelectedItemText = function() { - var c = new Array(); - for (var a = 0; a < this._selected.length; a++) { - c[a] = this._selected[a].span.innerHTML - } - return (c.join(this.dlmtr)) -}; -dhtmlXTreeObject.prototype._compressChildList = function(a, e) { - a--; - for (var c = 0; c < a; c++) { - if (e[c] == 0) { - e[c] = e[c + 1]; - e[c + 1] = 0 - } - } -}; -dhtmlXTreeObject.prototype._deleteNode = function(m, h, o) { - if ((!h) || (!h.parentObject)) { - return 0 - } - var a = 0; - var c = 0; - if (h.tr.nextSibling) { - a = h.tr.nextSibling.nodem - } - if (h.tr.previousSibling) { - c = h.tr.previousSibling.nodem - } - var l = h.parentObject; - var e = l.childsCount; - var n = l.childNodes; - for (var g = 0; g < e; g++) { - if (n[g].id == m) { - if (!o) { - l.htmlNode.childNodes[0].removeChild(n[g].tr) - } - n[g] = 0; - break - } - } - this._compressChildList(e, n); - if (!o) { - l.childsCount-- - } - if (a) { - this._correctPlus(a); - this._correctLine(a) - } - if (c) { - this._correctPlus(c); - this._correctLine(c) - } - if (this.tscheck) { - this._correctCheckStates(l) - } - if (!o) { - this._globalIdStorageRecSub(h) - } -}; -dhtmlXTreeObject.prototype.setCheck = function(e, c) { - var a = this._globalIdStorageFind(e, 0, 1); - if (!a) { - return - } - if (c === "unsure") { - this._setCheck(a, c) - } else { - c = dhx4.s2b(c); - if ((this.tscheck) && (this.smcheck)) { - this._setSubChecked(c, a) - } else { - this._setCheck(a, c) - } - } - if (this.smcheck) { - this._correctCheckStates(a.parentObject) - } -}; -dhtmlXTreeObject.prototype._setCheck = function(a, e) { - if (!a) { - return - } - if (((a.parentObject._r_logic) || (this._frbtr)) && (e)) { - if (this._frbtrs) { - if (this._frbtrL) { - this.setCheck(this._frbtrL.id, 0) - } - this._frbtrL = a - } else { - for (var c = 0; c < a.parentObject.childsCount; c++) { - this._setCheck(a.parentObject.childNodes[c], 0) - } - } - } - var g = a.htmlNode.childNodes[0].childNodes[0].childNodes[1].childNodes[0]; - if (e == "unsure") { - a.checkstate = 2 - } else { - if (e) { - a.checkstate = 1 - } else { - a.checkstate = 0 - } - } - if (a.dscheck) { - a.checkstate = a.dscheck - } - this._setSrc(g, this.imPath + ((a.parentObject._r_logic || this._frbtr) ? this.radioArray : this.checkArray)[a.checkstate]) -}; -dhtmlXTreeObject.prototype.setSubChecked = function(e, c) { - var a = this._globalIdStorageFind(e); - this._setSubChecked(c, a); - this._correctCheckStates(a.parentObject) -}; -dhtmlXTreeObject.prototype._setSubChecked = function(e, a) { - e = dhx4.s2b(e); - if (!a) { - return - } - if (((a.parentObject._r_logic) || (this._frbtr)) && (e)) { - for (var c = 0; c < a.parentObject.childsCount; c++) { - this._setSubChecked(0, a.parentObject.childNodes[c]) - } - } - if (a.unParsed) { - this._setSubCheckedXML(e, a.unParsed) - } - if (a._r_logic || this._frbtr) { - this._setSubChecked(e, a.childNodes[0]) - } else { - for (var c = 0; c < a.childsCount; c++) { - this._setSubChecked(e, a.childNodes[c]) - } - } - var g = a.htmlNode.childNodes[0].childNodes[0].childNodes[1].childNodes[0]; - if (e) { - a.checkstate = 1 - } else { - a.checkstate = 0 - } - if (a.dscheck) { - a.checkstate = a.dscheck - } - this._setSrc(g, this.imPath + ((a.parentObject._r_logic || this._frbtr) ? this.radioArray : this.checkArray)[a.checkstate]) -}; -dhtmlXTreeObject.prototype.isItemChecked = function(c) { - var a = this._globalIdStorageFind(c); - if (!a) { - return - } - return a.checkstate -}; -dhtmlXTreeObject.prototype.deleteChildItems = function(g) { - var a = this._globalIdStorageFind(g); - if (!a) { - return - } - var c = a.childsCount; - for (var e = 0; e < c; e++) { - this._deleteNode(a.childNodes[0].id, a.childNodes[0]) - } -}; -dhtmlXTreeObject.prototype.deleteItem = function(e, a) { - if ((!this._onrdlh) || (this._onrdlh(e))) { - var c = this._deleteItem(e, a); - if (c) { - this._fixChildCountLabel(c) - } - } - this.allTree.childNodes[0].border = "1"; - this.allTree.childNodes[0].border = "0" -}; -dhtmlXTreeObject.prototype._deleteItem = function(l, c, h) { - c = dhx4.s2b(c); - var a = this._globalIdStorageFind(l); - if (!a) { - return - } - var e = this.getParentId(l); - var g = a.parentObject; - this._deleteNode(l, a, h); - if (this._editCell && this._editCell.id == l) { - this._editCell = null - } - this._correctPlus(g); - this._correctLine(g); - if ((c) && (e != this.rootId)) { - this.selectItem(e, 1) - } - return g -}; -dhtmlXTreeObject.prototype._globalIdStorageRecSub = function(a) { - for (var c = 0; c < a.childsCount; c++) { - this._globalIdStorageRecSub(a.childNodes[c]); - this._globalIdStorageSub(a.childNodes[c].id) - } - this._globalIdStorageSub(a.id); - var e = a; - e.span = null; - e.tr.nodem = null; - e.tr = null; - e.htmlNode = null -}; -dhtmlXTreeObject.prototype.insertNewNext = function(n, r, q, e, l, h, g, c, a) { - var m = this._globalIdStorageFind(n); - if ((!m) || (!m.parentObject)) { - return (0) - } - var o = this._attachChildNode(0, r, q, e, l, h, g, c, a, m); - if ((!this.XMLloadingWarning) && (this.childCalc)) { - this._fixChildCountLabel(m.parentObject) - } - return o -}; -dhtmlXTreeObject.prototype.getItemIdByIndex = function(e, a) { - var c = this._globalIdStorageFind(e); - if ((!c) || (a >= c.childsCount)) { - return null - } - return c.childNodes[a].id -}; -dhtmlXTreeObject.prototype.getChildItemIdByIndex = function(e, a) { - var c = this._globalIdStorageFind(e); - if ((!c) || (a >= c.childsCount)) { - return null - } - return c.childNodes[a].id -}; -dhtmlXTreeObject.prototype.setDragHandler = function(a) { - this.attachEvent("onDrag", a) -}; -dhtmlXTreeObject.prototype._clearMove = function() { - if (this._lastMark) { - this._lastMark.className = this._lastMark.className.replace(/dragAndDropRow/g, ""); - this._lastMark = null - } - this.selectionBar.style.display = "none"; - this.allTree.className = this.allTree.className.replace(" selectionBox", "") -}; -dhtmlXTreeObject.prototype.enableDragAndDrop = function(c, a) { - if (c == "temporary_disabled") { - this.dADTempOff = false; - c = true - } else { - this.dADTempOff = true - } - this.dragAndDropOff = dhx4.s2b(c); - if (this.dragAndDropOff) { - this.dragger.addDragLanding(this.allTree, this) - } - if (arguments.length > 1) { - this._ddronr = (!dhx4.s2b(a)) - } -}; -dhtmlXTreeObject.prototype._setMove = function(h, e, m) { - if (h.parentObject.span) { - var g = dhx4.absTop(h); - var c = dhx4.absTop(this.allTree) - this.allTree.scrollTop; - this.dadmodec = this.dadmode; - this.dadmodefix = 0; - if (this.dadmode == 2) { - var l = m - g + (document.body.scrollTop || document.documentElement.scrollTop) - 2 - h.offsetHeight / 2; - if ((Math.abs(l) - h.offsetHeight / 6) > 0) { - this.dadmodec = 1; - if (l < 0) { - this.dadmodefix = 0 - h.offsetHeight - } - } else { - this.dadmodec = 0 - } - } - if (this.dadmodec == 0) { - var a = h.parentObject.span; - a.className += " dragAndDropRow"; - this._lastMark = a - } else { - this._clearMove(); - this.selectionBar.style.top = (g - c + ((parseInt(h.parentObject.span.parentNode.parentNode.offsetHeight) || 18) - 1) + this.dadmodefix) + "px"; - this.selectionBar.style.left = "5px"; - if (this.allTree.offsetWidth > 20) { - this.selectionBar.style.width = (this.allTree.offsetWidth - (_isFF ? 30 : 25)) + "px" - } - this.selectionBar.style.display = "" - } - this._autoScroll(null, g, c) - } -}; -dhtmlXTreeObject.prototype._autoScroll = function(e, c, a) { - if (this.autoScroll) { - if (e) { - c = dhx4.absTop(e); - a = dhx4.absTop(this.allTree) - this.allTree.scrollTop - } - if ((c - a - parseInt(this.allTree.scrollTop)) > (parseInt(this.allTree.offsetHeight) - 50)) { - this.allTree.scrollTop = parseInt(this.allTree.scrollTop) + 20 - } - if ((c - a) < (parseInt(this.allTree.scrollTop) + 30)) { - this.allTree.scrollTop = parseInt(this.allTree.scrollTop) - 20 - } - } -}; -dhtmlXTreeObject.prototype._createDragNode = function(l, h) { - if (!this.dADTempOff) { - return null - } - var g = l.parentObject; - if (!this.callEvent("onBeforeDrag", [g.id, h])) { - return null - } - if (!g.i_sel) { - this._selectItem(g, h) - } - this._checkMSelectionLogic(); - var c = document.createElement("div"); - var m = new Array(); - if (this._itim_dg) { - for (var a = 0; a < this._selected.length; a++) { - m[a] = "
                    " + this._selected[a].span.innerHTML + "
                    " - } - } else { - m = this.getSelectedItemText().split(this.dlmtr) - } - c.innerHTML = m.join(""); - c.style.position = "absolute"; - c.className = "dragSpanDiv"; - this._dragged = (new Array()).concat(this._selected); - return c -}; -dhtmlXTreeObject.prototype._focusNode = function(a) { - var c = dhx4.absTop(a.htmlNode) - dhx4.absTop(this.allTree); - if ((c > (this.allTree.offsetHeight - 30)) || (c < 0)) { - this.allTree.scrollTop = c + this.allTree.scrollTop - } -}; -dhtmlXTreeObject.prototype._preventNsDrag = function(a) { - if ((a) && (a.preventDefault)) { - a.preventDefault(); - return false - } - return false -}; -dhtmlXTreeObject.prototype._drag = function(m, n, a) { - if (this._autoOpenTimer) { - clearTimeout(this._autoOpenTimer) - } - if (!a.parentObject) { - a = this.htmlNode.htmlNode.childNodes[0].childNodes[0].childNodes[1].childNodes[0]; - this.dadmodec = 0 - } - this._clearMove(); - var l = m.parentObject.treeNod; - if ((l) && (l._clearMove)) { - l._clearMove("") - } - if ((!this.dragMove) || (this.dragMove())) { - if ((!l) || (!l._clearMove) || (!l._dragged)) { - var g = new Array(m.parentObject) - } else { - var g = l._dragged - } - var c = a.parentObject; - for (var h = 0; h < g.length; h++) { - var e = this._moveNode(g[h], c); - if ((this.dadmodec) && (e !== false)) { - c = this._globalIdStorageFind(e, true, true) - } - if ((e) && (!this._sADnD)) { - this.selectItem(e, 0, 1) - } - } - } - if (l) { - l._dragged = new Array() - } -}; -dhtmlXTreeObject.prototype._dragIn = function(g, c, l, h) { - if (!this.dADTempOff) { - return 0 - } - var m = c.parentObject; - var a = g.parentObject; - if ((!a) && (this._ddronr)) { - return - } - if (!this.callEvent("onDragIn", [m.id, a ? a.id : null, m.treeNod, this])) { - if (a) { - this._autoScroll(g) - } - return 0 - } - if (!a) { - this.allTree.className += " selectionBox" - } else { - if (m.childNodes == null) { - this._setMove(g, l, h); - return g - } - var o = m.treeNod; - for (var e = 0; e < o._dragged.length; e++) { - if (this._checkPNodes(a, o._dragged[e])) { - this._autoScroll(g); - return 0 - } - } - this.selectionBar.parentNode.removeChild(this.selectionBar); - a.span.parentNode.appendChild(this.selectionBar); - this._setMove(g, l, h); - if (this._getOpenState(a) <= 0) { - var n = this; - this._autoOpenId = a.id; - this._autoOpenTimer = window.setTimeout(function() { - n._autoOpenItem(null, n); - n = null - }, 1000) - } - } - return g -}; -dhtmlXTreeObject.prototype._autoOpenItem = function(c, a) { - a.openItem(a._autoOpenId) -}; -dhtmlXTreeObject.prototype._dragOut = function(a) { - this._clearMove(); - if (this._autoOpenTimer) { - clearTimeout(this._autoOpenTimer) - } -}; -dhtmlXTreeObject.prototype._getNextNode = function(a, c) { - if ((!c) && (a.childsCount)) { - return a.childNodes[0] - } - if (a == this.htmlNode) { - return -1 - } - if ((a.tr) && (a.tr.nextSibling) && (a.tr.nextSibling.nodem)) { - return a.tr.nextSibling.nodem - } - return this._getNextNode(a.parentObject, true) -}; -dhtmlXTreeObject.prototype._lastChild = function(a) { - if (a.childsCount) { - return this._lastChild(a.childNodes[a.childsCount - 1]) - } else { - return a - } -}; -dhtmlXTreeObject.prototype._getPrevNode = function(a, c) { - if ((a.tr) && (a.tr.previousSibling) && (a.tr.previousSibling.nodem)) { - return this._lastChild(a.tr.previousSibling.nodem) - } - if (a.parentObject) { - return a.parentObject - } else { - return -1 - } -}; -dhtmlXTreeObject.prototype.findItem = function(a, e, c) { - var g = this._findNodeByLabel(a, e, (c ? this.htmlNode : null)); - if (g) { - this.selectItem(g.id, true); - this._focusNode(g); - return g.id - } else { - return null - } -}; -dhtmlXTreeObject.prototype.findItemIdByLabel = function(a, e, c) { - var g = this._findNodeByLabel(a, e, (c ? this.htmlNode : null)); - if (g) { - return g.id - } else { - return null - } -}; -dhtmlXTreeObject.prototype.findStrInXML = function(c, e, h) { - if (!c.childNodes && c.item) { - return this.findStrInJSON(c, e, h) - } - if (!c.childNodes) { - return false - } - for (var a = 0; a < c.childNodes.length; a++) { - if (c.childNodes[a].nodeType == 1) { - var g = c.childNodes[a].getAttribute(e); - if (!g && c.childNodes[a].tagName == "itemtext") { - g = c.childNodes[a].firstChild.data - } - if ((g) && (g.toLowerCase().search(h) != -1)) { - return true - } - if (this.findStrInXML(c.childNodes[a], e, h)) { - return true - } - } - } - return false -}; -dhtmlXTreeObject.prototype.findStrInJSON = function(c, e, h) { - for (var a = 0; a < c.item.length; a++) { - var g = c.item[a].text; - if ((g) && (g.toLowerCase().search(h) != -1)) { - return true - } - if (c.item[a].item && this.findStrInJSON(c.item[a], e, h)) { - return true - } - } - return false -}; -dhtmlXTreeObject.prototype._findNodeByLabel = function(a, h, g) { - var a = a.replace(new RegExp("^( )+"), "").replace(new RegExp("( )+$"), ""); - a = new RegExp(a.replace(/([\^\.\?\*\+\\\[\]\(\)]{1})/gi, "\\$1").replace(/ /gi, ".*"), "gi"); - if (!g) { - g = this._selected[0]; - if (!g) { - g = this.htmlNode - } - } - var c = g; - if (!h) { - if ((g.unParsed) && (this.findStrInXML(g.unParsed.d, "text", a))) { - this.reParse(g) - } - g = this._getNextNode(c); - if (g == -1) { - g = this.htmlNode.childNodes[0] - } - } else { - var e = this._getPrevNode(c); - if (e == -1) { - e = this._lastChild(this.htmlNode) - } - if ((e.unParsed) && (this.findStrInXML(e.unParsed.d, "text", a))) { - this.reParse(e); - g = this._getPrevNode(c) - } else { - g = e - } - if (g == -1) { - g = this._lastChild(this.htmlNode) - } - } - while ((g) && (g != c)) { - if ((g.label) && (g.label.search(a) != -1)) { - return (g) - } - if (!h) { - if (g == -1) { - if (c == this.htmlNode) { - break - } - g = this.htmlNode.childNodes[0] - } - if ((g.unParsed) && (this.findStrInXML(g.unParsed.d, "text", a))) { - this.reParse(g) - } - g = this._getNextNode(g); - if (g == -1) { - g = this.htmlNode - } - } else { - var e = this._getPrevNode(g); - if (e == -1) { - e = this._lastChild(this.htmlNode) - } - if ((e.unParsed) && (this.findStrInXML(e.unParsed.d, "text", a))) { - this.reParse(e); - g = this._getPrevNode(g) - } else { - g = e - } - if (g == -1) { - g = this._lastChild(this.htmlNode) - } - } - } - return null -}; -dhtmlXTreeObject.prototype.moveItem = function(n, c, o, a) { - var h = this._globalIdStorageFind(n); - if (!h) { - return (0) - } - var l = null; - switch (c) { - case "right": - alert("Not supported yet"); - break; - case "item_child": - var e = (a || this)._globalIdStorageFind(o); - if (!e) { - return (0) - } - l = (a || this)._moveNodeTo(h, e, 0); - break; - case "item_sibling": - var e = (a || this)._globalIdStorageFind(o); - if (!e) { - return (0) - } - l = (a || this)._moveNodeTo(h, e.parentObject, e); - break; - case "item_sibling_next": - var e = (a || this)._globalIdStorageFind(o); - if (!e) { - return (0) - } - if ((e.tr) && (e.tr.nextSibling) && (e.tr.nextSibling.nodem)) { - l = (a || this)._moveNodeTo(h, e.parentObject, e.tr.nextSibling.nodem) - } else { - l = (a || this)._moveNodeTo(h, e.parentObject) - } - break; - case "left": - if (h.parentObject.parentObject) { - l = this._moveNodeTo(h, h.parentObject.parentObject, h.parentObject) - } - break; - case "up": - var m = this._getPrevNode(h); - if ((m == -1) || (!m.parentObject)) { - return null - } - l = this._moveNodeTo(h, m.parentObject, m); - break; - case "up_strict": - var m = this._getIndex(h); - if (m != 0) { - l = this._moveNodeTo(h, h.parentObject, h.parentObject.childNodes[m - 1]) - } - break; - case "down_strict": - var m = this._getIndex(h); - var g = h.parentObject.childsCount - 2; - if (m == g) { - l = this._moveNodeTo(h, h.parentObject) - } else { - if (m < g) { - l = this._moveNodeTo(h, h.parentObject, h.parentObject.childNodes[m + 2]) - } - } - break; - case "down": - var m = this._getNextNode(this._lastChild(h)); - if ((m == -1) || (!m.parentObject)) { - return - } - if (m.parentObject == h.parentObject) { - var m = this._getNextNode(m) - } - if (m == -1) { - l = this._moveNodeTo(h, h.parentObject) - } else { - if ((m == -1) || (!m.parentObject)) { - return - } - l = this._moveNodeTo(h, m.parentObject, m) - } - break - } - if (_isIE && _isIE < 8) { - this.allTree.childNodes[0].border = "1"; - this.allTree.childNodes[0].border = "0" - } - return l -}; -dhtmlXTreeObject.prototype.setDragBehavior = function(c, a) { - this._sADnD = (!dhx4.s2b(a)); - switch (c) { - case "child": - this.dadmode = 0; - break; - case "sibling": - this.dadmode = 1; - break; - case "complex": - this.dadmode = 2; - break - } -}; -dhtmlXTreeObject.prototype._loadDynXML = function(e, c) { - c = c || this.XMLsource; - var a = (new Date()).valueOf(); - this._ld_id = e; - if (this.xmlalb == "function") { - if (c) { - c(this._escape(e)) - } - } else { - if (this.xmlalb == "name") { - this.load(c + this._escape(e)) - } else { - if (this.xmlalb == "xmlname") { - this.load(c + this._escape(e) + ".xml?uid=" + a) - } else { - this.load(c + dhtmlx.url(c) + "uid=" + a + "&id=" + this._escape(e)) - } - } - } -}; -dhtmlXTreeObject.prototype.enableMultiselection = function(c, a) { - this._amsel = dhx4.s2b(c); - this._amselS = dhx4.s2b(a) -}; -dhtmlXTreeObject.prototype._checkMSelectionLogic = function() { - var e = new Array(); - for (var c = 0; c < this._selected.length; c++) { - for (var a = 0; a < this._selected.length; a++) { - if ((c != a) && (this._checkPNodes(this._selected[a], this._selected[c]))) { - e[e.length] = this._selected[a] - } - } - } - for (var c = 0; c < e.length; c++) { - this._unselectItem(e[c]) - } -}; -dhtmlXTreeObject.prototype._checkPNodes = function(c, a) { - if (this._dcheckf) { - return false - } - if (a == c) { - return 1 - } - if (c.parentObject) { - return this._checkPNodes(c.parentObject, a) - } else { - return 0 - } -}; -dhtmlXTreeObject.prototype.disableDropCheck = function(a) { - this._dcheckf = dhx4.s2b(a) -}; -dhtmlXTreeObject.prototype.enableDistributedParsing = function(e, c, a) { - this._edsbps = dhx4.s2b(e); - this._edsbpsA = new Array(); - this._edsbpsC = c || 10; - this._edsbpsD = a || 250 -}; -dhtmlXTreeObject.prototype.getDistributedParsingState = function() { - return (!((!this._edsbpsA) || (!this._edsbpsA.length))) -}; -dhtmlXTreeObject.prototype.getItemParsingState = function(e) { - var c = this._globalIdStorageFind(e, true, true); - if (!c) { - return 0 - } - if (this._edsbpsA) { - for (var a = 0; a < this._edsbpsA.length; a++) { - if (this._edsbpsA[a][2] == e) { - return -1 - } - } - } - return 1 -}; -dhtmlXTreeObject.prototype._distributedStart = function(c, h, g, e, a) { - if (!this._edsbpsA) { - this._edsbpsA = new Array() - } - this._edsbpsA[this._edsbpsA.length] = [c, h, g, e, a] -}; -dhtmlXTreeObject.prototype._distributedStep = function(g) { - var c = this; - if ((!this._edsbpsA) || (!this._edsbpsA.length)) { - c.XMLloadingWarning = 0; - return - } - var h = this._edsbpsA[0]; - this.parsedArray = new Array(); - this._parse(h[0], h[2], h[3], h[1]); - var a = this._globalIdStorageFind(h[2]); - this._redrawFrom(this, a, h[4], this._getOpenState(a)); - var e = this.setCheckList.split(this.dlmtr); - for (var l = 0; l < e.length; l++) { - if (e[l]) { - this.setCheck(e[l], 1) - } - } - this._edsbpsA = (new Array()).concat(this._edsbpsA.slice(1)); - if ((!this._edsbpsA.length)) { - window.setTimeout(function() { - if (c.onXLE) { - c.onXLE(c, g) - } - c.callEvent("onXLE", [c, g]) - }, 1); - c.xmlstate = 0 - } -}; -dhtmlXTreeObject.prototype.enableTextSigns = function(a) { - this._txtimg = dhx4.s2b(a) -}; -dhtmlXTreeObject.prototype.preventIECaching = function(a) { - dhx4.ajax.cache = !a -}; -dhtmlXTreeObject.prototype.preventIECashing = dhtmlXTreeObject.prototype.preventIECaching; -dhtmlXTreeObject.prototype.disableCheckbox = function(e, c) { - if (typeof(e) != "object") { - var a = this._globalIdStorageFind(e, 0, 1) - } else { - var a = e - } - if (!a) { - return - } - a.dscheck = dhx4.s2b(c) ? (((a.checkstate || 0) % 3) + 3) : ((a.checkstate > 2) ? (a.checkstate - 3) : a.checkstate); - this._setCheck(a); - if (a.dscheck < 3) { - a.dscheck = false - } -}; -dhtmlXTreeObject.prototype.smartRefreshBranch = function(c, a) { - this._branchUpdate = 1; - this.smartRefreshItem(c, a) -}; -dhtmlXTreeObject.prototype.smartRefreshItem = function(g, e) { - var a = this._globalIdStorageFind(g); - for (var c = 0; c < a.childsCount; c++) { - a.childNodes[c]._dmark = true - } - this.waitUpdateXML = true; - if (e && e.exists) { - this._parse(e, g) - } else { - this._loadDynXML(g, e) - } -}; -dhtmlXTreeObject.prototype.refreshItems = function(c, e) { - var g = c.toString().split(this.dlmtr); - this.waitUpdateXML = new Array(); - for (var a = 0; a < g.length; a++) { - this.waitUpdateXML[g[a]] = true - } - this.load((e || this.XMLsource) + dhtmlx.url(e || this.XMLsource) + "ids=" + this._escape(c)) -}; -dhtmlXTreeObject.prototype.updateItem = function(m, l, g, e, c, h, n) { - var a = this._globalIdStorageFind(m); - a.userData = new cObject(); - if (l) { - a.label = l - } - a.images = new Array(g || this.imageArray[0], e || this.imageArray[1], c || this.imageArray[2]); - this.setItemText(m, l); - if (h) { - this._setCheck(a, true) - } - if (n == "1" && !this.hasChildren(m)) { - a.XMLload = 0 - } - this._correctPlus(a); - a._dmark = false; - return a -}; -dhtmlXTreeObject.prototype.setDropHandler = function(a) { - this.attachEvent("onDrop", a) -}; -dhtmlXTreeObject.prototype.setOnLoadingStart = function(a) { - this.attachEvent("onXLS", a) -}; -dhtmlXTreeObject.prototype.setOnLoadingEnd = function(a) { - this.attachEvent("onXLE", a) -}; -dhtmlXTreeObject.prototype.setXMLAutoLoadingBehaviour = function(a) { - this.xmlalb = a -}; -dhtmlXTreeObject.prototype.enableSmartCheckboxes = function(a) { - this.smcheck = dhx4.s2b(a) -}; -dhtmlXTreeObject.prototype.getXMLState = function() { - return (this.xmlstate == 1) -}; -dhtmlXTreeObject.prototype.setItemTopOffset = function(l, g) { - var e; - if (typeof(l) != "object") { - e = this._globalIdStorageFind(l) - } else { - e = l - } - var h = e.span.parentNode.parentNode; - e.span.style.paddingBottom = "1px"; - for (var c = 0; c < h.childNodes.length; c++) { - if (c != 0) { - if (_isIE) { - h.childNodes[c].style.height = "18px"; - h.childNodes[c].style.paddingTop = parseInt(g) + "px" - } else { - h.childNodes[c].style.height = 18 + parseInt(g) + "px" - } - } else { - var a = h.childNodes[c].firstChild; - if (h.childNodes[c].firstChild.tagName != "DIV") { - a = document.createElement("DIV"); - h.childNodes[c].insertBefore(a, h.childNodes[c].firstChild) - } - if ((e.parentObject.id != this.rootId || e.parentObject.childNodes[0] != e) && this.treeLinesOn) { - h.childNodes[c].style.backgroundImage = "url(" + this.imPath + this.lineArray[5] + ")" - } - a.innerHTML = " "; - a.style.overflow = "hidden" - } - a.style.verticalAlign = h.childNodes[c].style.verticalAlign = "bottom"; - if (_isIE) { - this.allTree.childNodes[0].border = "1"; - this.allTree.childNodes[0].border = "0" - } - } -}; -dhtmlXTreeObject.prototype.setIconSize = function(g, c, h) { - if (h) { - if ((h) && (h.span)) { - var a = h - } else { - var a = this._globalIdStorageFind(h) - } - if (!a) { - return (0) - } - var e = a.span.parentNode.previousSibling.childNodes[0]; - if (g) { - e.style.width = g + "px"; - if (window._KHTMLrv) { - e.parentNode.style.width = g + "px" - } - } - if (c) { - e.style.height = c + "px"; - if (window._KHTMLrv) { - e.parentNode.style.height = c + "px" - } - } - } else { - this.def_img_x = g + "px"; - this.def_img_y = c + "px" - } -}; -dhtmlXTreeObject.prototype.getItemImage = function(h, g, c) { - var e = this._globalIdStorageFind(h); - if (!e) { - return "" - } - var a = e.images[g || 0]; - if (c) { - a = this.iconURL + a - } - return a -}; -dhtmlXTreeObject.prototype.enableRadioButtons = function(g, e) { - if (arguments.length == 1) { - this._frbtr = dhx4.s2b(g); - this.checkBoxOff = this.checkBoxOff || this._frbtr; - return - } - var c = this._globalIdStorageFind(g); - if (!c) { - return "" - } - e = dhx4.s2b(e); - if ((e) && (!c._r_logic)) { - c._r_logic = true; - for (var a = 0; a < c.childsCount; a++) { - this._setCheck(c.childNodes[a], c.childNodes[a].checkstate) - } - } - if ((!e) && (c._r_logic)) { - c._r_logic = false; - for (var a = 0; a < c.childsCount; a++) { - this._setCheck(c.childNodes[a], c.childNodes[a].checkstate) - } - } -}; -dhtmlXTreeObject.prototype.enableSingleRadioMode = function(a) { - this._frbtrs = dhx4.s2b(a) -}; -dhtmlXTreeObject.prototype.openOnItemAdded = function(a) { - this._hAdI = !dhx4.s2b(a) -}; -dhtmlXTreeObject.prototype.openOnItemAdding = function(a) { - this._hAdI = !dhx4.s2b(a) -}; -dhtmlXTreeObject.prototype.enableMultiLineItems = function(a) { - if (a === true) { - this.mlitems = "100%" - } else { - this.mlitems = a - } -}; -dhtmlXTreeObject.prototype.enableAutoTooltips = function(a) { - this.ettip = dhx4.s2b(a) -}; -dhtmlXTreeObject.prototype.clearSelection = function(a) { - if (a) { - this._unselectItem(this._globalIdStorageFind(a)) - } else { - this._unselectItems() - } -}; -dhtmlXTreeObject.prototype.showItemSign = function(g, c) { - var a = this._globalIdStorageFind(g); - if (!a) { - return 0 - } - var e = a.span.parentNode.previousSibling.previousSibling.previousSibling; - if (!dhx4.s2b(c)) { - this._openItem(a); - a.closeble = false; - a.wsign = true - } else { - a.closeble = true; - a.wsign = false - } - this._correctPlus(a) -}; -dhtmlXTreeObject.prototype.showItemCheckbox = function(h, g) { - if (!h) { - for (var c in this._idpull) { - this.showItemCheckbox(this._idpull[c], g) - } - } - if (typeof(h) != "object") { - h = this._globalIdStorageFind(h, 0, 0) - } - if (!h) { - return 0 - } - h.nocheckbox = !dhx4.s2b(g); - var e = h.span.parentNode.previousSibling.previousSibling.childNodes[0]; - e.parentNode.style.display = (!h.nocheckbox) ? "" : "none" -}; -dhtmlXTreeObject.prototype.setListDelimeter = function(a) { - this.dlmtr = a -}; -dhtmlXTreeObject.prototype.setEscapingMode = function(a) { - this.utfesc = a -}; -dhtmlXTreeObject.prototype.enableHighlighting = function(a) { - this.ehlt = true; - this.ehlta = dhx4.s2b(a) -}; -dhtmlXTreeObject.prototype._itemMouseOut = function() { - var c = this.childNodes[3].parentObject; - var a = c.treeNod; - a.callEvent("onMouseOut", [c.id]); - if (c.id == a._l_onMSI) { - a._l_onMSI = null - } - if (!a.ehlta) { - return - } - c.span.className = c.span.className.replace("_lor", "") -}; -dhtmlXTreeObject.prototype._itemMouseIn = function() { - var c = this.childNodes[3].parentObject; - var a = c.treeNod; - if (a._l_onMSI != c.id) { - a.callEvent("onMouseIn", [c.id]) - } - a._l_onMSI = c.id; - if (!a.ehlta) { - return - } - c.span.className = c.span.className.replace("_lor", ""); - c.span.className = c.span.className.replace(/((standart|selected)TreeRow)/, "$1_lor") -}; -dhtmlXTreeObject.prototype.enableActiveImages = function(a) { - this._aimgs = dhx4.s2b(a) -}; -dhtmlXTreeObject.prototype.focusItem = function(c) { - var a = this._globalIdStorageFind(c); - if (!a) { - return (0) - } - this._focusNode(a) -}; -dhtmlXTreeObject.prototype.getAllSubItems = function(a) { - return this._getAllSubItems(a) -}; -dhtmlXTreeObject.prototype.getAllChildless = function() { - return this._getAllScraggyItems(this.htmlNode) -}; -dhtmlXTreeObject.prototype.getAllLeafs = dhtmlXTreeObject.prototype.getAllChildless; -dhtmlXTreeObject.prototype._getAllScraggyItems = function(e) { - var g = ""; - for (var c = 0; c < e.childsCount; c++) { - if ((e.childNodes[c].unParsed) || (e.childNodes[c].childsCount > 0)) { - if (e.childNodes[c].unParsed) { - var a = this._getAllScraggyItemsXML(e.childNodes[c].unParsed, 1) - } else { - var a = this._getAllScraggyItems(e.childNodes[c]) - } - if (a) { - if (g) { - g += this.dlmtr + a - } else { - g = a - } - } - } else { - if (!g) { - g = "" + e.childNodes[c].id - } else { - g += this.dlmtr + e.childNodes[c].id - } - } - } - return g -}; -dhtmlXTreeObject.prototype._getAllFatItems = function(e) { - var g = ""; - for (var c = 0; c < e.childsCount; c++) { - if ((e.childNodes[c].unParsed) || (e.childNodes[c].childsCount > 0)) { - if (!g) { - g = "" + e.childNodes[c].id - } else { - g += this.dlmtr + e.childNodes[c].id - } - if (e.childNodes[c].unParsed) { - var a = this._getAllFatItemsXML(e.childNodes[c].unParsed, 1) - } else { - var a = this._getAllFatItems(e.childNodes[c]) - } - if (a) { - g += this.dlmtr + a - } - } - } - return g -}; -dhtmlXTreeObject.prototype.getAllItemsWithKids = function() { - return this._getAllFatItems(this.htmlNode) -}; -dhtmlXTreeObject.prototype.getAllFatItems = dhtmlXTreeObject.prototype.getAllItemsWithKids; -dhtmlXTreeObject.prototype.getAllChecked = function() { - return this._getAllChecked("", "", 1) -}; -dhtmlXTreeObject.prototype.getAllUnchecked = function(a) { - if (a) { - a = this._globalIdStorageFind(a) - } - return this._getAllChecked(a, "", 0) -}; -dhtmlXTreeObject.prototype.getAllPartiallyChecked = function() { - return this._getAllChecked("", "", 2) -}; -dhtmlXTreeObject.prototype.getAllCheckedBranches = function() { - var a = [this._getAllChecked("", "", 1)]; - var c = this._getAllChecked("", "", 2); - if (c) { - a.push(c) - } - return a.join(this.dlmtr) -}; -dhtmlXTreeObject.prototype._getAllChecked = function(g, e, h) { - if (!g) { - g = this.htmlNode - } - if (g.checkstate == h && g.id != this.rootId) { - if (!g.nocheckbox) { - if (e) { - e += this.dlmtr + g.id - } else { - e = "" + g.id - } - } - } - var a = g.childsCount; - for (var c = 0; c < a; c++) { - e = this._getAllChecked(g.childNodes[c], e, h) - } - if (g.unParsed) { - e = this._getAllCheckedXML(g.unParsed, e, h) - } - if (e) { - return e - } else { - return "" - } -}; -dhtmlXTreeObject.prototype.setItemStyle = function(g, e, c) { - var c = c || false; - var a = this._globalIdStorageFind(g); - if (!a) { - return 0 - } - if (!a.span.style.cssText) { - a.span.setAttribute("style", a.span.getAttribute("style") + "; " + e) - } else { - a.span.style.cssText = c ? e : a.span.style.cssText + ";" + e - } -}; -dhtmlXTreeObject.prototype.enableImageDrag = function(a) { - this._itim_dg = dhx4.s2b(a) -}; -dhtmlXTreeObject.prototype.setOnDragIn = function(a) { - this.attachEvent("onDragIn", a) -}; -dhtmlXTreeObject.prototype.enableDragAndDropScrolling = function(a) { - this.autoScroll = dhx4.s2b(a) -}; -dhtmlXTreeObject.prototype.setSkin = function(a) { - var c = this.parentObject.className.replace(/dhxtree_[^ ]*/gi, ""); - this.parentObject.className = c + " dhxtree_" + a; - if (a == "dhx_terrace" || a == "dhx_web" || a == "material") { - this.enableTreeLines(false) - } - if (a == "material") { - this.setIconSize("25", "25") - } -}; -(function() { - dhtmlx.extend_api("dhtmlXTreeObject", { - _init: function(a) { - return [a.parent, (a.width || "100%"), (a.height || "100%"), (a.root_id || 0)] - }, - auto_save_selection: "enableAutoSavingSelected", - auto_tooltip: "enableAutoTooltips", - checkbox: "enableCheckBoxes", - checkbox_3_state: "enableThreeStateCheckboxes", - checkbox_smart: "enableSmartCheckboxes", - context_menu: "enableContextMenu", - distributed_parsing: "enableDistributedParsing", - drag: "enableDragAndDrop", - drag_copy: "enableMercyDrag", - drag_image: "enableImageDrag", - drag_scroll: "enableDragAndDropScrolling", - editor: "enableItemEditor", - hover: "enableHighlighting", - images: "enableTreeImages", - image_fix: "enableIEImageFix", - image_path: "setImagePath", - lines: "enableTreeLines", - loading_item: "enableLoadingItem", - multiline: "enableMultiLineItems", - multiselect: "enableMultiselection", - navigation: "enableKeyboardNavigation", - radio: "enableRadioButtons", - radio_single: "enableSingleRadioMode", - rtl: "enableRTL", - search: "enableKeySearch", - smart_parsing: "enableSmartXMLParsing", - smart_rendering: "enableSmartRendering", - text_icons: "enableTextSigns", - xml: "loadXML", - skin: "setSkin" - }, {}) -})(); -dhtmlXTreeObject.prototype._dp_init = function(a) { - a.attachEvent("insertCallback", function(g, l, c) { - var e = dhx4.ajax.xpath(".//item", g); - var h = e[0].getAttribute("text"); - this.obj.insertNewItem(c, l, h, 0, 0, 0, 0, "CHILD") - }); - a.attachEvent("updateCallback", function(g, l, c) { - var e = dhx4.ajax.xpath(".//item", g); - var h = e[0].getAttribute("text"); - this.obj.setItemText(l, h); - if (this.obj.getParentId(l) != c) { - this.obj.moveItem(l, "item_child", c) - } - this.setUpdated(l, true, "updated") - }); - a.attachEvent("deleteCallback", function(e, g, c) { - this.obj.setUserData(g, this.action_param, "true_deleted"); - this.obj.deleteItem(g, false) - }); - a._methods = ["setItemStyle", "", "changeItemId", "deleteItem"]; - this.attachEvent("onEdit", function(c, e) { - if (c == 3) { - a.setUpdated(e, true) - } - return true - }); - this.attachEvent("onDrop", function(l, h, g, e, c) { - if (e == c) { - a.setUpdated(l, true) - } - }); - this._onrdlh = function(c) { - var e = a.getState(c); - if (e == "inserted") { - a.set_invalid(c, false); - a.setUpdated(c, false); - return true - } - if (e == "true_deleted") { - a.setUpdated(c, false); - return true - } - a.setUpdated(c, true, "deleted"); - return false - }; - this._onradh = function(c) { - a.setUpdated(c, true, "inserted") - }; - a._getRowData = function(h) { - var g = {}; - var l = this.obj._globalIdStorageFind(h); - var e = l.parentObject; - var c = 0; - for (c = 0; c < e.childsCount; c++) { - if (e.childNodes[c] == l) { - break - } - } - g.tr_id = l.id; - g.tr_pid = e.id; - g.tr_order = c; - g.tr_text = l.span.innerHTML; - e = (l._userdatalist || "").split(","); - for (c = 0; c < e.length; c++) { - g[e[c]] = l.userData["t_" + e[c]] - } - return g - } -}; -if (typeof(window.dhtmlXCellObject) != "undefined") { - dhtmlXCellObject.prototype.attachTree = function(a) { - this.callEvent("_onBeforeContentAttach", ["tree"]); - var c = document.createElement("DIV"); - c.style.width = "100%"; - c.style.height = "100%"; - c.style.position = "relative"; - c.style.overflow = "hidden"; - this._attachObject(c); - this.dataType = "tree"; - this.dataObj = new dhtmlXTreeObject(c, "100%", "100%", (a || 0)); - this.dataObj.setSkin(this.conf.skin); - this.dataObj.allTree.childNodes[0].style.marginTop = "2px"; - this.dataObj.allTree.childNodes[0].style.marginBottom = "2px"; - c = null; - this.callEvent("_onContentAttach", []); - return this.dataObj - } -} -dhtmlXTreeObject.prototype.makeDraggable = function(c, a) { - if (typeof(c) != "object") { - c = document.getElementById(c) - } - dragger = new dhtmlDragAndDropObject(); - dropper = new dhx_dragSomethingInTree(); - dragger.addDraggableItem(c, dropper); - c.dragLanding = null; - c.ondragstart = dropper._preventNsDrag; - c.onselectstart = new Function("return false;"); - c.parentObject = new Object; - c.parentObject.img = c; - c.parentObject.treeNod = dropper; - dropper._customDrop = a -}; -dhtmlXTreeObject.prototype.makeDragable = dhtmlXTreeObject.prototype.makeDraggable; -dhtmlXTreeObject.prototype.makeAllDraggable = function(c) { - var e = document.getElementsByTagName("div"); - for (var a = 0; a < e.length; a++) { - if (e[a].getAttribute("dragInDhtmlXTree")) { - this.makeDragable(e[a], c) - } - } -}; - -function dhx_dragSomethingInTree() { - this.lWin = window; - this._createDragNode = function(c) { - var a = document.createElement("div"); - a.style.position = "absolute"; - a.innerHTML = (c.innerHTML || c.value); - a.className = "dragSpanDiv"; - return a - }; - this._preventNsDrag = function(a) { - (a || window.event).cancelBubble = true; - if ((a) && (a.preventDefault)) { - a.preventDefault(); - return false - } - return false - }; - this._nonTrivialNode = function(c, e, a, g) { - if (this._customDrop) { - return this._customDrop(c, g.img.id, e.id, a ? a.id : null) - } - var h = (g.img.getAttribute("image") || ""); - var m = g.img.id || "new"; - var l = (g.img.getAttribute("text") || (_isIE ? g.img.innerText : g.img.textContent)); - c[a ? "insertNewNext" : "insertNewItem"](a ? a.id : e.id, m, l, "", h, h, h) - } -} -dhtmlXTreeObject.prototype.enableItemEditor = function(a) { - this._eItEd = dhx4.s2b(a); - if (!this._eItEdFlag) { - this._edn_click_IE = true; - this._edn_dblclick = true; - this._ie_aFunc = this.aFunc; - this._ie_dblclickFuncHandler = this.dblclickFuncHandler; - this.setOnDblClickHandler(function(e, c) { - if (this._edn_dblclick) { - this._editItem(e, c) - } - return true - }); - this.setOnClickHandler(function(e, c) { - this._stopEditItem(e, c); - if ((this.ed_hist_clcik == e) && (this._edn_click_IE)) { - this._editItem(e, c) - } - this.ed_hist_clcik = e; - return true - }); - this._eItEdFlag = true - } -}; -dhtmlXTreeObject.prototype.setOnEditHandler = function(a) { - this.attachEvent("onEdit", a) -}; -dhtmlXTreeObject.prototype.setEditStartAction = function(a, c) { - this._edn_click_IE = dhx4.s2b(a); - this._edn_dblclick = dhx4.s2b(c) -}; -dhtmlXTreeObject.prototype._stopEdit = function(c, l) { - if (this._editCell) { - this.dADTempOff = this.dADTempOffEd; - if (this._editCell.id != c) { - var g = true; - if (!l) { - g = this.callEvent("onEdit", [2, this._editCell.id, this, this._editCell.span.childNodes[0].value]) - } else { - g = false; - this.callEvent("onEditCancel", [this._editCell.id, this._editCell._oldValue]) - } - if (g === true) { - g = this._editCell.span.childNodes[0].value - } else { - if (g === false) { - g = this._editCell._oldValue - } - } - var h = (g != this._editCell._oldValue); - this._editCell.span.innerHTML = g; - this._editCell.label = this._editCell.span.innerHTML; - var e = this._editCell.i_sel ? "selectedTreeRow" : "standartTreeRow"; - this._editCell.span.className = e; - this._editCell.span.parentNode.className = "standartTreeRow"; - this._editCell.span.style.paddingRight = this._editCell.span.style.paddingLeft = "5px"; - this._editCell.span.onclick = this._editCell.span.ondblclick = function() {}; - var m = this._editCell.id; - if (this.childCalc) { - this._fixChildCountLabel(this._editCell) - } - this._editCell = null; - if (!l) { - this.callEvent("onEdit", [3, m, this, h]) - } - if (this._enblkbrd) { - this.parentObject.lastChild.focus(); - this.parentObject.lastChild.focus() - } - } - } -}; -dhtmlXTreeObject.prototype._stopEditItem = function(c, a) { - this._stopEdit(c) -}; -dhtmlXTreeObject.prototype.stopEdit = function(a) { - if (this._editCell) { - this._stopEdit(this._editCell.id + "_non", a) - } -}; -dhtmlXTreeObject.prototype.editItem = function(a) { - this._editItem(a, this) -}; -dhtmlXTreeObject.prototype._editItem = function(h, a) { - if (this._eItEd) { - this._stopEdit(); - var e = this._globalIdStorageFind(h); - if (!e) { - return - } - var g = this.callEvent("onEdit", [0, h, this, e.span.innerHTML]); - if (g === true) { - g = (typeof e.span.innerText != "undefined" ? e.span.innerText : e.span.textContent) - } else { - if (g === false) { - return - } - } - this.dADTempOffEd = this.dADTempOff; - this.dADTempOff = false; - this._editCell = e; - e._oldValue = g; - e.span.innerHTML = ""; - e.span.style.paddingRight = e.span.style.paddingLeft = "0px"; - e.span.onclick = e.span.ondblclick = function(l) { - (l || event).cancelBubble = true - }; - e.span.childNodes[0].value = g; - e.span.childNodes[0].onselectstart = function(l) { - (l || event).cancelBubble = true; - return true - }; - e.span.childNodes[0].onmousedown = function(l) { - (l || event).cancelBubble = true; - return true - }; - e.span.childNodes[0].focus(); - e.span.childNodes[0].focus(); - e.span.onclick = function(l) { - (l || event).cancelBubble = true; - return false - }; - e.span.className = ""; - e.span.parentNode.className = ""; - var c = this; - e.span.childNodes[0].onkeydown = function(l) { - if (!l) { - l = window.event - } - if (l.keyCode == 13) { - l.cancelBubble = true; - c._stopEdit(window.undefined) - } else { - if (l.keyCode == 27) { - c._stopEdit(window.undefined, true) - } - }(l || event).cancelBubble = true - }; - this.callEvent("onEdit", [1, h, this]) - } -}; - -function jsonPointer(c, a) { - this.d = c; - this.dp = a -} -jsonPointer.prototype = { - text: function() { - var a = function(h) { - var g = []; - for (var e = 0; e < h.length; e++) { - g.push("{" + c(h[e]) + "}") - } - return g.join(",") - }; - var c = function(h) { - var g = []; - for (var e in h) { - if (typeof(h[e]) == "object") { - if (e.length) { - g.push('"' + e + '":[' + a(h[e]) + "]") - } else { - g.push('"' + e + '":{' + c(h[e]) + "}") - } - } else { - g.push('"' + e + '":"' + h[e] + '"') - } - } - return g.join(",") - }; - return "{" + c(this.d) + "}" - }, - get: function(a) { - return this.d[a] - }, - exists: function() { - return !!this.d - }, - content: function() { - return this.d.content - }, - each: function(g, m, l) { - var e = this.d[g]; - var n = new jsonPointer(); - if (e) { - for (var h = 0; h < e.length; h++) { - n.d = e[h]; - m.apply(l, [n, h]) - } - } - }, - get_all: function() { - return this.d - }, - sub: function(a) { - return new jsonPointer(this.d[a], this.d) - }, - sub_exists: function(a) { - return !!this.d[a] - }, - each_x: function(g, n, m, l, h) { - var e = this.d[g]; - var o = new jsonPointer(0, this.d); - if (e) { - for (h = h || 0; h < e.length; h++) { - if (e[h][n]) { - o.d = e[h]; - if (m.apply(l, [o, h]) == -1) { - return - } - } - } - } - }, - up: function(a) { - return new jsonPointer(this.dp, this.d) - }, - set: function(a, c) { - this.d[a] = c - }, - clone: function(a) { - return new jsonPointer(this.d, this.dp) - }, - through: function(e, m, q, h, r) { - var n = this.d[e]; - if (n.length) { - for (var g = 0; g < n.length; g++) { - if (n[g][m] != null && n[g][m] != "" && (!q || n[g][m] == q)) { - var l = new jsonPointer(n[g], this.d); - h.apply(r, [l, g]) - } - var o = this.d; - this.d = n[g]; - if (this.sub_exists(e)) { - this.through(e, m, q, h, r) - } - this.d = o - } - } - } -}; -dhtmlXTreeObject.prototype.loadJSArrayFile = function(a, c) { - if (window.console && window.console.info) { - window.console.info("loadJSArrayFile was deprecated", "http://docs.dhtmlx.com/migration__index.html#migrationfrom43to44") - } - return this._loadJSArrayFile(a, c) -}; -dhtmlXTreeObject.prototype._loadJSArrayFile = function(file, callback) { - if (!this.parsCount) { - this.callEvent("onXLS", [this, this._ld_id]) - } - this._ld_id = null; - this.xmlstate = 1; - var that = this; - this.XMLLoader = function(xml, callback) { - eval("var z=" + xml.responseText); - this._loadJSArray(z); - if (callback) { - callback.call(this, xml) - } - }; - dhx4.ajax.get(file, function(obj) { - that.XMLLoader(obj.xmlDoc, callback) - }) -}; -dhtmlXTreeObject.prototype.loadCSV = function(a, c) { - if (window.console && window.console.info) { - window.console.info("loadCSV was deprecated", "http://docs.dhtmlx.com/migration__index.html#migrationfrom43to44") - } - return this._loadCSV(a, c) -}; -dhtmlXTreeObject.prototype._loadCSV = function(a, e) { - if (!this.parsCount) { - this.callEvent("onXLS", [this, this._ld_id]) - } - this._ld_id = null; - this.xmlstate = 1; - var c = this; - this.XMLLoader = function(g, h) { - this._loadCSVString(g.responseText); - if (h) { - h.call(this, g) - } - }; - dhx4.ajax.get(a, function(g) { - c.XMLLoader(g.xmlDoc, e) - }) -}; -dhtmlXTreeObject.prototype.loadJSArray = function(a, c) { - if (window.console && window.console.info) { - window.console.info("loadJSArray was deprecated", "http://docs.dhtmlx.com/migration__index.html#migrationfrom43to44") - } - return this._loadJSArray(a, c) -}; -dhtmlXTreeObject.prototype._loadJSArray = function(a, g) { - var l = []; - for (var c = 0; c < a.length; c++) { - if (!l[a[c][1]]) { - l[a[c][1]] = [] - } - l[a[c][1]].push({ - id: a[c][0], - text: a[c][2] - }) - } - var h = { - id: this.rootId - }; - var e = function(o, n) { - if (l[o.id]) { - o.item = l[o.id]; - for (var m = 0; m < o.item.length; m++) { - n(o.item[m], n) - } - } - }; - e(h, e); - this._loadJSONObject(h, g) -}; -dhtmlXTreeObject.prototype.loadCSVString = function(a, c) { - if (window.console && window.console.info) { - window.console.info("loadCSVString was deprecated", "http://docs.dhtmlx.com/migration__index.html#migrationfrom43to44") - } - return this._loadCSVString(a, c) -}; -dhtmlXTreeObject.prototype._loadCSVString = function(a, l) { - var n = []; - var c = a.split("\n"); - for (var g = 0; g < c.length; g++) { - var e = c[g].split(","); - if (!n[e[1]]) { - n[e[1]] = [] - } - n[e[1]].push({ - id: e[0], - text: e[2] - }) - } - var m = { - id: this.rootId - }; - var h = function(r, q) { - if (n[r.id]) { - r.item = n[r.id]; - for (var o = 0; o < r.item.length; o++) { - q(r.item[o], q) - } - } - }; - h(m, h); - this._loadJSONObject(m, l) -}; -dhtmlXTreeObject.prototype.loadJSONObject = function(a, c) { - if (window.console && window.console.info) { - window.console.info("loadJSONObject was deprecated", "http://docs.dhtmlx.com/migration__index.html#migrationfrom43to44") - } - return this._loadJSONObject(a, c) -}; -dhtmlXTreeObject.prototype._loadJSONObject = function(a, c) { - if (!this.parsCount) { - this.callEvent("onXLS", [this, null]) - } - this.xmlstate = 1; - var e = new jsonPointer(a); - this._parse(e); - this._p = e; - if (c) { - c() - } -}; -dhtmlXTreeObject.prototype.loadJSON = function(a, c) { - if (window.console && window.console.info) { - window.console.info("loadJSON was deprecated", "http://docs.dhtmlx.com/migration__index.html#migrationfrom43to44") - } - return this._loadJSON(a, c) -}; -dhtmlXTreeObject.prototype._loadJSON = function(file, callback) { - if (!this.parsCount) { - this.callEvent("onXLS", [this, this._ld_id]) - } - this._ld_id = null; - this.xmlstate = 1; - var that = this; - this.XMLLoader = function(xml, callback) { - try { - eval("var t=" + xml.responseText) - } catch (e) { - dhx4.callEvent("onLoadXMLerror", ["Incorrect JSON", (xml), this]); - return - } - var p = new jsonPointer(t); - this._parse(p); - this._p = p; - if (callback) { - callback.call(this, xml) - } - }; - dhx4.ajax.get(file, function(obj) { - that.XMLLoader(obj.xmlDoc, callback) - }) -}; -dhtmlXTreeObject.prototype.serializeTreeToJSON = function() { - var a = ['{"id":"' + this.rootId + '", "item":[']; - var e = []; - for (var c = 0; c < this.htmlNode.childsCount; c++) { - e.push(this._serializeItemJSON(this.htmlNode.childNodes[c])) - } - a.push(e.join(",")); - a.push("]}"); - return a.join("") -}; -dhtmlXTreeObject.prototype._serializeItemJSON = function(m) { - var a = []; - if (m.unParsed) { - return (m.unParsed.text()) - } - if (this._selected.length) { - var e = this._selected[0].id - } else { - e = "" - } - var l = m.span.innerHTML; - l = l.replace(/\"/g, '\\"', l); - if (!this._xfullXML) { - a.push('{ "id":"' + m.id + '", ' + (this._getOpenState(m) == 1 ? ' "open":"1", ' : "") + (e == m.id ? ' "select":"1",' : "") + ' "text":"' + l + '"' + (((this.XMLsource) && (m.XMLload == 0)) ? ', "child":"1" ' : "")) - } else { - a.push('{ "id":"' + m.id + '", ' + (this._getOpenState(m) == 1 ? ' "open":"1", ' : "") + (e == m.id ? ' "select":"1",' : "") + ' "text":"' + l + '", "im0":"' + m.images[0] + '", "im1":"' + m.images[1] + '", "im2":"' + m.images[2] + '" ' + (m.acolor ? (', "aCol":"' + m.acolor + '" ') : "") + (m.scolor ? (', "sCol":"' + m.scolor + '" ') : "") + (m.checkstate == 1 ? ', "checked":"1" ' : (m.checkstate == 2 ? ', "checked":"-1"' : "")) + (m.closeable ? ', "closeable":"1" ' : "") + (((this.XMLsource) && (m.XMLload == 0)) ? ', "child":"1" ' : "")) - } - if ((this._xuserData) && (m._userdatalist)) { - a.push(', "userdata":['); - var h = m._userdatalist.split(","); - var g = []; - for (var c = 0; c < h.length; c++) { - g.push('{ "name":"' + h[c] + '" , "content":"' + m.userData["t_" + h[c]] + '" }') - } - a.push(g.join(",")); - a.push("]") - } - if (m.childsCount) { - a.push(', "item":['); - var g = []; - for (var c = 0; c < m.childsCount; c++) { - g.push(this._serializeItemJSON(m.childNodes[c])) - } - a.push(g.join(",")); - a.push("]\n") - } - a.push("}\n"); - return a.join("") -}; - -function dhtmlXTreeFromHTML(obj) { - if (typeof(obj) != "object") { - obj = document.getElementById(obj) - } - var n = obj; - var id = n.id; - var cont = ""; - for (var j = 0; j < obj.childNodes.length; j++) { - if (obj.childNodes[j].nodeType == "1") { - if (obj.childNodes[j].tagName == "XMP") { - var cHead = obj.childNodes[j]; - for (var m = 0; m < cHead.childNodes.length; m++) { - cont += cHead.childNodes[m].data - } - } else { - if (obj.childNodes[j].tagName.toLowerCase() == "ul") { - cont = dhx_li2trees(obj.childNodes[j], new Array(), 0) - } - } - break - } - } - obj.innerHTML = ""; - var t = new dhtmlXTreeObject(obj, "100%", "100%", 0); - var z_all = new Array(); - for (b in t) { - z_all[b.toLowerCase()] = b - } - var atr = obj.attributes; - for (var a = 0; a < atr.length; a++) { - if ((atr[a].name.indexOf("set") == 0) || (atr[a].name.indexOf("enable") == 0)) { - var an = atr[a].name; - if (!t[an]) { - an = z_all[atr[a].name] - } - t[an].apply(t, atr[a].value.split(",")) - } - } - if (typeof(cont) == "object") { - t.XMLloadingWarning = 1; - for (var i = 0; i < cont.length; i++) { - var n = t.insertNewItem(cont[i][0], cont[i][3], cont[i][1]); - if (cont[i][2]) { - t._setCheck(n, cont[i][2]) - } - } - t.XMLloadingWarning = 0; - t.lastLoadedXMLId = 0; - t._redrawFrom(t) - } else { - t.parse("" + cont + "") - } - window[id] = t; - var oninit = obj.getAttribute("oninit"); - if (oninit) { - eval(oninit) - } - return t -} - -function dhx_init_trees() { - var c = document.getElementsByTagName("div"); - for (var a = 0; a < c.length; a++) { - if (c[a].className == "dhtmlxTree") { - dhtmlXTreeFromHTML(c[a]) - } - } -} - -function dhx_li2trees(r, l, e) { - for (var m = 0; m < r.childNodes.length; m++) { - var q = r.childNodes[m]; - if ((q.nodeType == 1) && (q.tagName.toLowerCase() == "li")) { - var o = ""; - var n = null; - var a = q.getAttribute("checked"); - for (var h = 0; h < q.childNodes.length; h++) { - var g = q.childNodes[h]; - if (g.nodeType == 3) { - o += g.data - } else { - if (g.tagName.toLowerCase() != "ul") { - o += dhx_outer_html(g) - } else { - n = g - } - } - } - l[l.length] = [e, o, a, (q.id || (l.length + 1))]; - if (n) { - l = dhx_li2trees(n, l, (q.id || l.length)) - } - } - } - return l -} - -function dhx_outer_html(c) { - if (c.outerHTML) { - return c.outerHTML - } - var a = document.createElement("DIV"); - a.appendChild(c.cloneNode(true)); - a = a.innerHTML; - return a -} -if (window.addEventListener) { - window.addEventListener("load", dhx_init_trees, false) -} else { - if (window.attachEvent) { - window.attachEvent("onload", dhx_init_trees) - } -} -dhtmlXTreeObject.prototype.parserExtension = { - _parseExtension: function(g, c, e) { - this._idpull[c.id]._attrs = c - } -}; -dhtmlXTreeObject.prototype.getAttribute = function(e, a) { - this._globalIdStorageFind(e); - var c = this._idpull[e]._attrs; - return c ? c[a] : window.undefined -}; -dhtmlXTreeObject.prototype.setAttribute = function(g, a, e) { - this._globalIdStorageFind(g); - var c = (this._idpull[g]._attrs) || {}; - c[a] = e; - this._idpull[g]._attrs = c -}; -dhtmlXTreeObject.prototype.enableKeyboardNavigation = function(e) { - this._enblkbrd = dhx4.s2b(e); - if (this._enblkbrd) { - if (_isFF) { - var c = window.getComputedStyle(this.parentObject, null)["position"]; - if ((c != "absolute") && (c != "relative")) { - this.parentObject.style.position = "relative" - } - } - this._navKeys = [ - ["up", 38], - ["down", 40], - ["open", 39], - ["close", 37], - ["call", 13], - ["edit", 113] - ]; - var a = this; - var c = document.createElement("INPUT"); - c.className = "a_dhx_hidden_input"; - c.autocomplete = "off"; - if (window._KHTMLrv) { - c.style.color = "white" - } - this.parentObject.appendChild(c); - this.parentObject[_isOpera ? "onkeypress" : "onkeydown"] = function(g) { - if (a.callEvent("onKeyPress", [(g || window.event).keyCode, (g || window.event)])) { - return a._onKeyDown(g || window.event) - } - }; - this.parentObject.onclick = function(g) { - if (_isFF || _isIE) { - c.select() - } - if (window._KHTMLrv || _isOpera) { - c.focus() - } - } - } else { - this.parentObject.onkeydown = null - } -}; -dhtmlXTreeObject.prototype._onKeyDown = function(g) { - if (window.globalActiveDHTMLGridObject && globalActiveDHTMLGridObject.isActive) { - return true - } - var a = this; - for (var c = 0; c < this._navKeys.length; c++) { - if (this._navKeys[c][1] == g.keyCode) { - this["_onkey_" + this._navKeys[c][0]].apply(this, [this.getSelectedItemId()]); - if (g.preventDefault) { - g.preventDefault() - }(g || event).cancelBubble = true; - return false - } - } - if (this._textSearch) { - return this._searchItemByKey(g) - } - return true -}; -dhtmlXTreeObject.prototype._onkey_up = function(e) { - var a = this._globalIdStorageFind(e); - if (!a) { - return - } - var c = this._getPrevVisibleNode(a); - if (c.id == this.rootId) { - return - } - this.focusItem(c.id); - this.selectItem(c.id, false) -}; -dhtmlXTreeObject.prototype._onkey_down = function(e) { - var a = this._globalIdStorageFind(e); - if (!a) { - return - } - var c = this._getNextVisibleNode(a); - if (c.id == this.rootId) { - return - } - this.focusItem(c.id); - this.selectItem(c.id, false) -}; -dhtmlXTreeObject.prototype._onkey_open = function(a) { - this.openItem(a) -}; -dhtmlXTreeObject.prototype._onkey_close = function(a) { - this.closeItem(a) -}; -dhtmlXTreeObject.prototype._onkey_call = function(a) { - if (this.stopEdit) { - this.stopEdit(); - this.parentObject.lastChild.focus(); - this.parentObject.lastChild.focus(); - this.selectItem(a, true) - } else { - this.selectItem(this.getSelectedItemId(), true) - } -}; -dhtmlXTreeObject.prototype._onkey_edit = function(a) { - if (this.editItem) { - this.editItem(a) - } -}; -dhtmlXTreeObject.prototype._getNextVisibleNode = function(a, c) { - if ((!c) && (this._getOpenState(a) > 0)) { - return a.childNodes[0] - } - if ((a.tr) && (a.tr.nextSibling) && (a.tr.nextSibling.nodem)) { - return a.tr.nextSibling.nodem - } - if (a.parentObject) { - return this._getNextVisibleNode(a.parentObject, 1) - } - return a -}; -dhtmlXTreeObject.prototype._getPrevVisibleNode = function(a) { - if ((a.tr) && (a.tr.previousSibling) && (a.tr.previousSibling.nodem)) { - return this._lastVisibleChild(a.tr.previousSibling.nodem) - } - if (a.parentObject) { - return a.parentObject - } else { - return a - } -}; -dhtmlXTreeObject.prototype._lastVisibleChild = function(a) { - if (this._getOpenState(a) > 0) { - return this._lastVisibleChild(a.childNodes[a.childsCount - 1]) - } else { - return a - } -}; -dhtmlXTreeObject.prototype._searchItemByKey = function(c) { - if (c.keyCode == 8) { - this._textSearchString = ""; - return true - } - var a = String.fromCharCode(c.keyCode).toUpperCase(); - if (a.match(/[A-Z,a-z,0-9\ ]/)) { - this._textSearchString += a; - this._textSearchInProgress = true; - if (!(this.getSelectedItemText() || "").match(RegExp("^" + this._textSearchString, "i"))) { - this.findItem(this._textSearchString, 0) - } - this._textSearchInProgress = false; - if (c.preventDefault) { - c.preventDefault() - }(c || event).cancelBubble = true; - return false - } - return true -}; -dhtmlXTreeObject.prototype.assignKeys = function(a) { - this._navKeys = a -}; -dhtmlXTreeObject.prototype.enableKeySearch = function(c) { - this._textSearch = dhx4.s2b(c); - if (!this._textSearch) { - return - } - this._textSearchString = ""; - var a = this; - this._markItem2 = this._markItem; - this._markItem = function(e) { - if (!a._textSearchInProgress) { - a._textSearchString = "" - } - a._markItem2(e) - } -}; -dhtmlXTreeObject.prototype.enableLoadingItem = function(a) { - this.attachEvent("onXLS", this._showFakeItem); - this.attachEvent("onXLE", this._hideFakeItem); - this._tfi_text = a || "Loading..." -}; -dhtmlXTreeObject.prototype._showFakeItem = function(a, e) { - if ((e === null) || (this._globalIdStorageFind("fake_load_xml_" + e))) { - return - } - var c = this.XMLsource; - this.XMLsource = null; - this.insertNewItem(e, "fake_load_xml_" + e, this._tfi_text); - this.XMLsource = c -}; -dhtmlXTreeObject.prototype._hideFakeItem = function(a, c) { - if (c === null) { - return - } - this.deleteItem("fake_load_xml_" + c) -}; -dhtmlXTreeObject.prototype.isLocked = function(a) { - if (!this._locker) { - this._init_lock() - } - return (this._locker[a] == true) -}; -dhtmlXTreeObject.prototype._lockItem = function(a, h, c) { - if (!this._locker) { - this._init_lock() - } - if (h) { - if (this._locker[a.id] == true) { - return - } - this._locker[a.id] = true; - a.bIm0 = a.images[0]; - a.bIm1 = a.images[1]; - a.bIm2 = a.images[2]; - a.images[0] = this.lico0; - a.images[1] = this.lico1; - a.images[2] = this.lico2; - var g = a.span.parentNode; - var e = g.previousSibling; - this.dragger.removeDraggableItem(g); - this.dragger.removeDraggableItem(e) - } else { - if (this._locker[a.id] != true) { - return - } - this._locker[a.id] = false; - a.images[0] = a.bIm0; - a.images[1] = a.bIm1; - a.images[2] = a.bIm2; - var g = a.span.parentNode; - var e = g.previousSibling; - this.dragger.addDraggableItem(g, this); - this.dragger.addDraggableItem(e, this) - } - if (!c) { - this._correctPlus(a) - } -}; -dhtmlXTreeObject.prototype.lockItem = function(e, c) { - if (!this._locker) { - this._init_lock() - } - this._lockOn = false; - var a = this._globalIdStorageFind(e); - this._lockOn = true; - this._lockItem(a, dhx4.s2b(c)) -}; -dhtmlXTreeObject.prototype.setLockedIcons = function(e, c, a) { - if (!this._locker) { - this._init_lock() - } - this.lico0 = e; - this.lico1 = c; - this.lico2 = a -}; -dhtmlXTreeObject.prototype._init_lock = function() { - this._locker = new Array(); - this._locker_count = "0"; - this._lockOn = true; - this._globalIdStorageFindA = this._globalIdStorageFind; - this._globalIdStorageFind = this._lockIdFind; - if (this._serializeItem) { - this._serializeItemA = this._serializeItem; - this._serializeItem = this._serializeLockItem; - this._serializeTreeA = this.serializeTree; - this.serializeTree = this._serializeLockTree - } - this.setLockedIcons(this.imageArray[0], this.imageArray[1], this.imageArray[2]) -}; -dhtmlXTreeObject.prototype._lockIdFind = function(e, a, c) { - if (!this.skipLock) { - if ((!c) && (this._lockOn == true) && (this._locker[e] == true)) { - return null - } - } - return this._globalIdStorageFindA(e, a, c) -}; -dhtmlXTreeObject.prototype._serializeLockItem = function(a) { - if (this._locker[a.id] == true) { - return "" - } - return this._serializeItemA(a) -}; -dhtmlXTreeObject.prototype._serializeLockTree = function() { - var a = this._serializeTreeA(); - return a.replace(/]+locked\=\"1\"[^>]+\/>/g, "") -}; -dhtmlXTreeObject.prototype._moveNodeToA = dhtmlXTreeObject.prototype._moveNodeTo; -dhtmlXTreeObject.prototype._moveNodeTo = function(a, e, c) { - if ((e.treeNod.isLocked) && (e.treeNod.isLocked(e.id))) { - return false - } - return this._moveNodeToA(a, e, c) -}; -dhtmlXTreeObject.prototype.lockTree = function(a) { - if (dhx4.s2b(a)) { - this._initTreeLocker() - } else { - if (this._TreeLocker) { - this._TreeLocker.parentNode.removeChild(this._TreeLocker); - this._TreeLocker = null - } - } -}; -dhtmlXTreeObject.prototype._initTreeLocker = function(a) { - if (this._TreeLocker) { - return - } - this.parentObject.style.overflow = "hidden"; - if (this.parentObject.style.position != "absolute") { - this.parentObject.style.position = "relative" - } - var c = document.createElement("div"); - c.style.position = "absolute"; - c.style.left = "0px"; - c.style.top = "0px"; - c.className = "dhx_tree_opacity"; - c.style.width = this.allTree.offsetWidth + "px"; - c.style.backgroundColor = "#FFFFFF"; - c.style.height = this.allTree.offsetHeight + "px"; - this._TreeLocker = c; - this.parentObject.appendChild(this._TreeLocker) -}; -dhtmlXTreeObject.prototype.enableRTL = function(c) { - var a = dhx4.s2b(c); - if (((a) && (!this.rtlMode)) || ((!a) && (this.rtlMode))) { - this.rtlMode = a; - this._switchToRTL(this.rtlMode) - } -}; -dhtmlXTreeObject.prototype._switchToRTL = function(a) { - if (a) { - this.allTree.className = this._ltr_line = this.lineArray; - this._ltr_min = this.minusArray; - this._ltr_plus = this.plusArray; - this.lineArray = new Array("line2_rtl.gif", "line3_rtl.gif", "line4_rtl.gif", "blank.gif", "blank.gif", "line1_rtl.gif"); - this.minusArray = new Array("minus2_rtl.gif", "minus3_rtl.gif", "minus4_rtl.gif", "minus.gif", "minus5_rtl.gif"); - this.plusArray = new Array("plus2_rtl.gif", "plus3_rtl.gif", "plus4_rtl.gif", "plus.gif", "plus5_rtl.gif"); - this.allTree.className = "containerTableStyleRTL" - } else { - this.allTree.className = "containerTableStyle"; - this.lineArray = this._ltr_line; - this.minusArray = this._ltr_min; - this.plusArray = this._ltr_plus - } - if (this.htmlNode.childsCount) { - this._redrawFrom(this, this.htmlNode) - } -}; -dhtmlXTreeObject.prototype.sortTree = function(g, c, e) { - var a = this._globalIdStorageFind(g); - if (!a) { - return false - } - this._reorderBranch(a, (c.toString().toLowerCase() == "asc"), dhx4.s2b(e)) -}; -dhtmlXTreeObject.prototype.setCustomSortFunction = function(a) { - this._csfunca = a -}; -dhtmlXTreeObject.prototype._reorderBranch = function(n, c, o) { - var a = []; - var l = n.childsCount; - if (!l) { - return - } - var h = n.childNodes[0].tr.parentNode; - for (var g = 0; g < l; g++) { - a[g] = n.childNodes[g]; - h.removeChild(a[g].tr) - } - var e = this; - if (c == 1) { - if (this._csfunca) { - a.sort(function(q, m) { - return e._csfunca(q.id, m.id) - }) - } else { - a.sort(function(q, m) { - return ((q.span.innerHTML.toUpperCase() > m.span.innerHTML.toUpperCase()) ? 1 : ((q.span.innerHTML.toUpperCase() == m.span.innerHTML.toUpperCase()) ? 0 : -1)) - }) - } - } else { - if (this._csfunca) { - a.sort(function(q, m) { - return e._csfunca(m.id, q.id) - }) - } else { - a.sort(function(q, m) { - return ((q.span.innerHTML.toUpperCase() < m.span.innerHTML.toUpperCase()) ? 1 : ((q.span.innerHTML.toUpperCase() == m.span.innerHTML.toUpperCase()) ? 0 : -1)) - }) - } - } - for (var g = 0; g < l; g++) { - h.appendChild(a[g].tr); - n.childNodes[g] = a[g]; - if ((o) && (a[g].unParsed)) { - a[g].unParsed.set("order", c ? 1 : -1) - } else { - if ((o) && (a[g].childsCount)) { - this._reorderBranch(a[g], c, o) - } - } - } - for (var g = 0; g < l; g++) { - this._correctPlus(a[g]); - this._correctLine(a[g]) - } -}; -dhtmlXTreeObject.prototype._reorderXMLBranch = function(l) { - var n = l.getAttribute("order"); - if (n == "none") { - return - } - var c = (n == 1); - var h = l.childNodes.length; - if (!h) { - return - } - var a = new Array(); - var e = 0; - for (var g = 0; g < h; g++) { - if (l.childNodes[g].nodeType == 1) { - a[e] = l.childNodes[g]; - e++ - } - } - for (var g = h - 1; g != 0; g--) { - l.removeChild(l.childNodes[g]) - } - if (c) { - a.sort(function(o, m) { - return ((o.getAttribute("text") > m.getAttribute("text")) ? 1 : ((o.getAttribute("text") == m.getAttribute("text")) ? 0 : -1)) - }) - } else { - a.sort(function(o, m) { - return ((o.getAttribute("text") < m.getAttribute("text")) ? 1 : ((o.getAttribute("text") == m.getAttribute("text")) ? 0 : -1)) - }) - } - for (var g = 0; g < e; g++) { - a[g].setAttribute("order", n); - l.appendChild(a[g]) - } - l.setAttribute("order", "none") -}; -dhtmlXTreeObject.prototype._serEnts = [ - ["&", "&"], - ["<", "<"], - [">", ">"] -]; -dhtmlXTreeObject.prototype.registerXMLEntity = function(a, c) { - this._serEnts[this._serEnts.length] = [a, c, new RegExp(a, "g")] -}; -dhtmlXTreeObject.prototype.setSerializationLevel = function(a, c, h, l, e) { - this._xuserData = dhx4.s2b(a); - this._xfullXML = dhx4.s2b(c); - this._dtd = e; - this._xescapeEntities = dhx4.s2b(h); - if (dhx4.s2b(l)) { - this._apreUC = "" - } else {} - for (var g = 0; g < this._serEnts.length; g++) { - this._serEnts[g][2] = new RegExp(this._serEnts[g][0], "g") - } -}; -dhtmlXTreeObject.prototype.serializeTree = function() { - if (this.stopEdit) { - this.stopEdit() - } - this._apreUC = this._apreUC || ""; - this._apstUC = this._apstUC || ""; - var a = ''; - if (this._dtd) { - a += '' - } - a += ''; - if ((this._xuserData) && (this._idpull[this.rootId]._userdatalist)) { - var e = this._idpull[this.rootId]._userdatalist.split(","); - for (var c = 0; c < e.length; c++) { - a += '' + this._apreUC + this._idpull[this.rootId].userData["t_" + e[c]] + this._apstUC + "" - } - } - for (var c = 0; c < this.htmlNode.childsCount; c++) { - a += this._serializeItem(this.htmlNode.childNodes[c]) - } - a += ""; - return a -}; -dhtmlXTreeObject.prototype._serializeItem = function(m) { - if (m.unParsed) { - if (dhx4.isIE) { - return m.unParsed.d.xml - } else { - var a = new XMLSerializer(); - return a.serializeToString(m.unParsed.d) - } - } - var c = ""; - if (this._selected.length) { - var g = this._selected[0].id - } else { - g = '"' - } - var l = m.span.innerHTML; - if (this._xescapeEntities) { - for (var e = 0; e < this._serEnts.length; e++) { - l = l.replace(this._serEnts[e][2], this._serEnts[e][1]) - } - } - if (!this._xfullXML) { - c = '" - } else { - c = '" - } - if ((this._xuserData) && (m._userdatalist)) { - var h = m._userdatalist.split(","); - for (var e = 0; e < h.length; e++) { - c += '' + this._apreUC + m.userData["t_" + h[e]] + this._apstUC + "" - } - } - for (var e = 0; e < m.childsCount; e++) { - c += this._serializeItem(m.childNodes[e]) - } - c += ""; - return c -}; -dhtmlXTreeObject.prototype.saveSelectedItem = function(c, a) { - c = c || ""; - this.setCookie("treeStateSelected" + c, this.getSelectedItemId(), a) -}; -dhtmlXTreeObject.prototype.restoreSelectedItem = function(a) { - a = a || ""; - var c = this.getCookie("treeStateSelected" + a); - this.selectItem(c, false) -}; -dhtmlXTreeObject.prototype.enableAutoSavingSelected = function(a, c) { - this.assMode = dhx4.s2b(a); - if ((this.assMode) && (!this.oldOnSelect)) { - this.oldOnSelect = this.onRowSelect; - this.onRowSelect = function(h, g, l) { - if (!g) { - g = this - } - g.parentObject.treeNod.oldOnSelect(h, g, l); - if (g.parentObject.treeNod.assMode) { - g.parentObject.treeNod.saveSelectedItem(g.parentObject.treeNod.assCookieName) - } - } - } - this.assCookieName = c -}; -dhtmlXTreeObject.prototype.saveState = function(e, c) { - var h = this._escape(this.serializeTree()); - var a = 4000; - if (h.length > a) { - if (navigator.appName.indexOf("Microsoft") != -1) { - return false - } - this.setCookie("treeStatex" + e, Math.ceil(h.length / a)); - for (var g = 0; g < Math.ceil(h.length / a); g++) { - this.setCookie("treeStatex" + e + "x" + g, h.substr(g * a, a), c) - } - } else { - this.setCookie("treeStatex" + e, h, c) - } - var h = this.getCookie("treeStatex" + e); - if (!h) { - this.setCookie("treeStatex" + e, "", c); - return false - } - return true -}; -dhtmlXTreeObject.prototype.loadState = function(a) { - var g = this.getCookie("treeStatex" + a); - if (!g) { - return false - } - if (g.length) { - if (g.toString().length < 4) { - var e = ""; - for (var c = 0; c < g; c++) { - e += this.getCookie("treeStatex" + a + "x" + c) - } - g = e - } - this.parse((this.utfesc == "utf8") ? decodeURI(g) : unescape(g)) - } - return true -}; -dhtmlXTreeObject.prototype.setCookie = function(c, e, a) { - var g = c + "=" + e + (a ? ("; " + a) : ""); - document.cookie = g -}; -dhtmlXTreeObject.prototype.getCookie = function(c) { - var e = c + "="; - if (document.cookie.length > 0) { - var g = document.cookie.indexOf(e); - if (g != -1) { - g += e.length; - var a = document.cookie.indexOf(";", g); - if (a == -1) { - a = document.cookie.length - } - return document.cookie.substring(g, a) - } - } -}; -dhtmlXTreeObject.prototype.saveOpenStates = function(c, a) { - var g = []; - for (var e = 0; e < this.htmlNode.childsCount; e++) { - g = g.concat(this._collectOpenStates(this.htmlNode.childNodes[e])) - } - g = g.join(this.dlmtr); - this.setCookie("treeOpenStatex" + c, g, a) -}; -dhtmlXTreeObject.prototype.loadOpenStates = function(c) { - for (var e = 0; e < this.htmlNode.childsCount; e++) { - this._xcloseAll(this.htmlNode.childNodes[e]) - } - this.allTree.childNodes[0].border = "1"; - this.allTree.childNodes[0].border = "0"; - var h = getCookie("treeOpenStatex" + c); - if (h) { - var a = h.split(this.dlmtr); - for (var e = 0; e < a.length; e++) { - var g = this._globalIdStorageFind(a[e]); - if (g) { - if ((this.XMLsource) && (!g.XMLload) && (g.id != this.rootId)) { - this._delayedLoad(g, "loadOpenStates('" + c + "')"); - return - } else { - this.openItem(a[e]) - } - } - } - } - this.callEvent("onAllOpenDynamic", []) -}; -dhtmlXTreeObject.prototype._delayedLoad = function(c, a) { - this.afterLoadMethod = a; - this.onLoadReserve = this.onXLE; - this.onXLE = this._delayedLoadStep2; - this._loadDynXML(c.id) -}; -dhtmlXTreeObject.prototype._delayedLoadStep2 = function(tree) { - tree.onXLE = tree.onLoadReserve; - window.setTimeout(function() { - dhtmlx.temp = tree; - eval("dhtmlx.temp." + tree.afterLoadMethod) - }, 100); - if (tree.onXLE) { - tree.onXLE(tree) - } - tree.callEvent("onXLE", [tree]) -}; -dhtmlXTreeObject.prototype._collectOpenStates = function(c) { - var e = []; - if (this._getOpenState(c) == 1) { - e.push(c.id); - for (var a = 0; a < c.childsCount; a++) { - e = e.concat(this._collectOpenStates(c.childNodes[a])) - } - } - return e -}; -dhtmlXTreeObject.prototype.openAllItemsDynamic = function(a) { - this.ClosedElem = new Array(); - this.G_node = null; - var c = this._globalIdStorageFind(a || this.rootId); - if (c.id != this.rootId && this.getOpenState(c.id) != 0) { - this.openItem(a) - } - this._openAllNodeChilds(c, 0); - if (this.ClosedElem.length > 0) { - this.onLoadReserve = this.onXLE; - this.onXLE = this._loadAndOpen; - this._loadAndOpen(this) - } -}; -dhtmlXTreeObject.prototype._openAllNodeChilds = function(c) { - if ((c.XMLload == 0) || (c.unParsed)) { - this.ClosedElem.push(c) - } - for (var a = 0; a < c.childsCount; a++) { - if (this._getOpenState(c.childNodes[a]) < 0) { - this._HideShow(c.childNodes[a], 2) - } - if (c.childNodes[a].childsCount > 0) { - this._openAllNodeChilds(c.childNodes[a]) - } - if ((c.childNodes[a].XMLload == 0) || (c.childNodes[a].unParsed)) { - this.ClosedElem.push(c.childNodes[a]) - } - } -}; -dhtmlXTreeObject.prototype._loadAndOpen = function(a) { - if (a.G_node) { - a._openItem(a.G_node); - a._openAllNodeChilds(a.G_node); - a.G_node = null - } - if (a.ClosedElem.length > 0) { - a.G_node = a.ClosedElem.shift() - } - if (a.G_node) { - if (a.G_node.unParsed) { - a.reParse(a.G_node) - } else { - window.setTimeout(function() { - a._loadDynXML(a.G_node.id) - }, 100) - } - } else { - a.onXLE = a.onLoadReserve; - if (a.onXLE) { - a.onXLE(a) - } - a.callEvent("onAllOpenDynamic", [a]) - } -}; -dhtmlXTreeObject.prototype.openItemsDynamic = function(c, a) { - if (this.onXLE == this._stepOpen) { - return - } - this._opnItmsDnmcFlg = dhx4.s2b(a); - this.onLoadReserve = this.onXLE; - this.onXLE = this._stepOpen; - this.ClosedElem = c.split(",").reverse(); - this._stepOpen(this) -}; -dhtmlXTreeObject.prototype._stepOpen = function(c) { - if (!c.ClosedElem.length) { - c.onXLE = c.onLoadReserve; - if (c._opnItmsDnmcFlg) { - c.selectItem(c.G_node, true) - } - if ((c.onXLE) && (arguments[1])) { - c.onXLE.apply(c, arguments) - } - c.callEvent("onOpenDynamicEnd", []); - return - } - c.G_node = c.ClosedElem.pop(); - c.skipLock = true; - var a = c._globalIdStorageFind(c.G_node); - if (a) { - if (a.XMLload === 0) { - c.openItem(c.G_node) - } else { - c.openItem(c.G_node); - c._stepOpen(c) - } - } - c.skipLock = false -}; - -function dhtmlXTreeView(g) { - var h = this; - if (typeof(g) == "object" && g.tagName == null) {} else { - g = { - parent: g, - clear: true - } - } - this.base = (typeof(g.parent) == "string" ? document.getElementById(g.parent) : g.parent); - if (this.base != document.body) { - while (this.base.childNodes.length > 0) { - this.base.removeChild(this.base.lastChild) - } - } - this.conf = { - skin: (g.skin || window.dhx4.skin || (typeof(dhtmlx) != "undefined" ? dhtmlx.skin : null) || window.dhx4.skinDetect("dhxtreeview") || "material"), - tree_id: window.dhx4.newId(), - ofs: { - w: 1, - h: 0 - }, - adjust_base: false, - icons: this.icons[(typeof(g.iconset) == "string" && this.icons[g.iconset] != null && this.icons[g.iconset].r == true ? g.iconset : "tree_native")], - autoload: { - url: null, - mode: "id" - }, - selected: {}, - ud: {}, - idx: { - sign: 0, - icon: 1, - text: 2 - }, - silent: false, - is_mac: (navigator.platform.match(/^mac/i) != null && typeof(window.addEventListener) == "function"), - mac_cmd_key: false - }; - this.setSkin(this.conf.skin); - this.cont = document.createElement("DIV"); - this.cont.className = "dhxtreeview_cont"; - this.base.appendChild(this.cont); - this.area = document.createElement("DIV"); - this.area.className = "dhxtreeview_area"; - this.cont.appendChild(this.area); - this.cont.onclick = function(a) { - a = a || event; - h.callEvent("_onTreeClick", [a, { - stop: false - }]) - }; - this.cont.ondblclick = function(l) { - l = l || event; - var a = (l.target || l.srcElement); - if (a.className.match(/dhxtreeview_item_label/) != null) { - h._openCloseItem(a.parentNode.parentNode._itemId, true) - } - }; - this.items = {}; - this._addItem = function(s, n, q, l) { - var r = (n != null ? this.items[n].level + 1 : 1); - var m = document.createElement("DIV"); - m.className = "dhxtreeview_item"; - m.innerHTML = "
                    "; - if (l != null && l < 0) { - q.index = 0 - } - if (n == null) { - var o = this.area - } else { - var a = this.items[n].kids; - if (a == false) { - this._initKidsNode(n) - } - this.items[n].kids_request = false; - var o = this.items[n].item.lastChild.firstChild - } - if (l != null && o.childNodes[l] != null) { - o.insertBefore(m, o.childNodes[l]) - } else { - o.appendChild(m) - } - o = null; - m._itemId = s; - m._treeId = this.conf.tree_id; - if (window.dhx4.isIE == true) { - m.onselectstart = function(u) { - u = u || event; - if (u.preventDefault) { - u.preventDefault() - } else { - u.returnValue = false - } - } - } - this.items[s] = { - id: s, - pId: n, - treeId: this.conf.tree_id, - text: q.text, - item: m, - level: r, - kids: false, - opened: window.dhx4.s2b(q.open), - userdata: window.dhx4._copyObj(q.userdata || {}), - half_opened: false - }; - this.callEvent("_onItemRendered", [s, q]); - m.firstChild.innerHTML = this._getItemHtml(s); - m = null; - if (window.dhx4.s2b(q.select) == true) { - this._setSelected(s, true) - } - this.callEvent("_onItemInited", [s, q]) - }; - this.addItem = function(n, l, m, a) { - if (this.items[n] != null) { - return - } - if (m != null && this.items[m] == null) { - m = null - } - this._addItem(n, m, { - text: l - }, a); - this._callPublicEvent("onAddItem", [n, l, m, a]) - }; - this._removeSingleItem = function(m) { - if (window.dhx4.isIE == true) { - this.items[m].item.onselectstart = null - } - this.items[m].item.parentNode.removeChild(this.items[m].item); - for (var l in this.items[m]) { - this.items[m][l] = null; - delete this.items[m][l] - } - delete this.items[m]; - if (this.conf.selected[m] == true) { - delete this.conf.selected[m] - } - }; - this._removeItem = function(o) { - var m = o ? this.items[o].pId : -1; - var n = -1; - for (var l in this.items) { - if (this.items[l].pId == m) { - n++ - } - if (this.items[l].pId == o) { - this._removeItem(l) - } - } - if (o != null) { - this._removeSingleItem(o) - } - if (m && !n) { - this._clearKidsNode(m) - } - }; - this.deleteItem = function(a) { - if (this.items[a] == null) { - return - } - if (!this._callPublicEvent("onBeforeDeleteItem", [a])) { - return - } - this._removeItem(a); - this._callPublicEvent("onDeleteItem", [a]) - }; - this.deleteChildItems = function(m) { - m = m || 0; - for (var l in this.items) { - if (this.items[l].pId == m) { - this._removeItem(l) - } - } - this._clearKidsNode(m) - }; - this.clearAll = function() { - this._removeItem(null); - if (this.conf.unloading != true) { - this._fixAreaWidth() - } - }; - this._initKidsNode = function(l) { - var a; - if (this.items[l].item.lastChild.className.match(/dhxtreeview_kids_cont/) == null) { - a = document.createElement("DIV"); - a.className = "dhxtreeview_kids_cont"; - a.innerHTML = "
                    "; - a.style.opacity = "1"; - if (this.items[l].opened != true) { - if (this.conf.transProp != false) { - a.style.height = "0px"; - a.style.opacity = "0"; - a.firstChild.style.display = "none" - } else { - a.style.display = "none" - } - } - this.items[l].item.appendChild(a) - } - this.items[l].kids = true; - this._iconUpdate(l); - this._signUpdate(l); - a = null - }; - this._clearKidsNode = function(a) { - if (this.items[a].item.lastChild.className.match(/dhxtreeview_kids_cont/) != null) { - this.items[a].item.removeChild(this.items[a].item.lastChild) - } - this.items[a].kids = false; - this._iconUpdate(a); - this._signUpdate(a) - }; - this.openItem = function(l, a) { - if (this.items[l].opened != true) { - if (typeof(a) == "undefined") { - a = true - } - this._openCloseItem(l, a) - } - }; - this.closeItem = function(l, a) { - if (this.items[l].opened == true) { - if (typeof(a) == "undefined") { - a = true - } - this._openCloseItem(l, a) - } - }; - this._openCloseItem = function(l, a) { - if (this.callEvent("_onBeforeOpen", [l]) !== true) { - return - } - if (!(this.items[l].kids == true || this.items[l].kids_request == true)) { - return false - } - if (this.items[l].half_opened == true) { - this.items[l].half_opened = false; - this._signUpdate(l); - return - } - if (a && this.conf.transProp != false) { - if (!this.items[l].transEv) { - this.items[l].item.lastChild.addEventListener(this.conf.transEv, this._doOnTrEnd); - this.items[l].transEv = true - } - if (this.items[l].opened == true) { - this.items[l].transMode = "close"; - this.items[l].item.lastChild.style.overflow = "hidden"; - this.items[l].item.lastChild.style.height = this.items[l].item.lastChild.childNodes[0].offsetHeight + "px"; - window.setTimeout(function() { - h.items[l].item.lastChild.style[h.conf.transProp] = h.conf.transValueHeight; - h.items[l].item.lastChild.style.height = "0px"; - h.items[l].item.lastChild.style.opacity = "0"; - h.items[l].opened = false; - h._iconUpdate(l); - h._signUpdate(l) - }, 50) - } else { - this.items[l].transMode = "open"; - this.items[l].item.lastChild.style[this.conf.transProp] = this.conf.transValueHeight; - this.items[l].item.lastChild.childNodes[0].style.display = ""; - this.items[l].item.lastChild.style.overflow = "hidden"; - this.items[l].item.lastChild.style.height = this.items[l].item.lastChild.childNodes[0].offsetHeight + "px"; - this.items[l].item.lastChild.style.opacity = "1"; - this.items[l].opened = true; - this._iconUpdate(l); - this._signUpdate(l) - } - } else { - this.items[l].opened = !this.items[l].opened; - this.items[l].item.lastChild.style.display = (this.items[l].opened == true ? "" : "none"); - this.items[l].item.lastChild.childNodes[0].style.display = this.items[l].item.lastChild.style.display; - this.items[l].item.lastChild.style.height = (this.items[l].opened == true ? "" : "0px"); - this.items[l].item.lastChild.style.opacity = (this.items[l].opened == true ? 1 : 0); - this._iconUpdate(l); - this._signUpdate(l); - this._fixAreaWidth() - } - }; - this._doOnTrEnd = function() { - var a = this.parentNode._itemId; - h.items[a].item.lastChild.style[h.conf.transProp] = ""; - if (h.items[a].transMode == "close") { - h.items[a].item.lastChild.childNodes[0].style.display = "none" - } else { - h.items[a].item.lastChild.style.height = ""; - h.items[a].item.lastChild.style.overflow = "" - } - h._fixAreaWidth() - }; - this.setSizes = function() { - if (this.conf.adjust_base == true) { - this.base.style.width = this.base.parentNode.clientWidth - 2 + "px"; - this.base.style.height = this.base.parentNode.clientHeight - 2 + "px" - } - this.cont.style.left = this.conf.ofs.w + "px"; - this.cont.style.top = this.conf.ofs.h + "px"; - this.cont.style.width = this.base.clientWidth - this.conf.ofs.w * 2 + "px"; - this.cont.style.height = this.base.clientHeight - this.conf.ofs.h * 2 + "px"; - this._fixAreaWidth() - }; - this._fixAreaWidth = function(a) { - this.area.style.width = "100%"; - if (this.cont.scrollWidth != this.cont.clientWidth) { - this.area.style.width = this.cont.scrollWidth + 1 + "px" - } - if (window.dhx4.isIE7 == true && a !== false) { - window.setTimeout(function() { - h._fixAreaWidth(false) - }, 1) - } - }; - this.setSizes(); - dhx4._eventable(this); - var e = window.dhx4.transDetect(); - this.conf.transProp = e.transProp; - this.conf.transEv = e.transEv; - this.conf.transValueHeight = "height 0.15s"; - e = null; - if (this.conf.is_mac == true) { - this._macOnKey = function(a) { - if (((window.dhx4.isKHTML || window.dhx4.isChrome || window.dhx4.isOpera) && (a.keyCode == 91 || a.keyCode == 93)) || (window.dhx4.isFF && a.keyCode == 224)) { - h.conf.mac_cmd_key = (a.type == "keydown") - } - }; - window.addEventListener("keydown", this._macOnKey, false); - window.addEventListener("keyup", this._macOnKey, false) - } - for (var c in this.modules) { - if (this.modules[c].init != null) { - this[this.modules[c].init](g) - } - } - this.unload = function() { - this.conf.unloading = true; - this.cont.onclick = null; - this.cont.ondblclick = null; - this.clearAll(); - if (this.conf.is_mac == true) { - window.removeEventListener("keydown", this._macOnKey, false); - window.removeEventListener("keyup", this._macOnKey, false) - } - for (var l in this.modules) { - if (this.modules[l].unload != null) { - this[this.modules[l].unload]() - } - } - this.area.parentNode.removeChild(this.area); - this.area = null; - this.cont.parentNode.removeChild(this.cont); - this.cont = null; - this.base.className = String(this.base.className).replace(new RegExp("s{0,}dhxtreeview_" + (this.conf.skin || "")), ""); - window.dhx4._eventable(this, "clear"); - for (var l in this) { - this[l] = null - } - h = null - }; - if (g.items != null || g.json != null || g.xml != null) { - this.loadStruct(g.items || g.json || g.xml, g.onload) - } - return this -} -dhtmlXTreeView.prototype.modules = {}; -dhtmlXTreeView.prototype.setSkin = function(a) { - this.base.className = String(this.base.className).replace(new RegExp("s{0,}dhxtreeview_" + (this.conf.skin || "")), "") + " dhxtreeview_" + a; - this.conf.skin = a; - this.conf.icon_width = dhx4.readFromCss("dhxtreeview_" + this.conf.skin + " dhxtreeview_icon_width"); - this.conf.ofs = (this.conf.skin == "dhx_skyblue" ? { - w: 1, - h: 0 - } : { - w: 0, - h: 0 - }) -}; -dhtmlXTreeView.prototype.setItemText = function(c, a) { - if (this.items[c] != null) { - this.items[c].text = a; - this.items[c].item.firstChild.childNodes[this.conf.idx.text].innerHTML = a; - this._callPublicEvent("onTextChange", [c, a]) - } -}; -dhtmlXTreeView.prototype.getItemText = function(a) { - return this.items[a].text -}; -dhtmlXTreeView.prototype.showItem = function(g) { - var e = 0; - var a = false; - while (g) { - var c = this.items[g]; - if (c) { - e += c.item.offsetTop + (a ? c.item.firstChild.offsetHeight : 0); - g = c.pId; - a = true - } else { - break - } - } - this.cont.scrollTop = e -}; -dhtmlXTreeView.prototype.getParentId = function(a) { - return this.items[a].pId -}; -dhtmlXTreeView.prototype.getSubItems = function(g) { - var a = this.items[g]; - a = a ? a.item.lastChild.firstChild : this.area; - var e = []; - for (var c = 0; c < a.childNodes.length; c++) { - e[c] = a.childNodes[c]._itemId - } - return e -}; -dhtmlXTreeView.prototype._refreshItemHtml = function(e, a, c) { - this.items[e].item.firstChild.innerHTML = this._getItemHtml(e); - if (a == true) { - this._signUpdate(e) - } - if (c == true) { - this._iconUpdate(e) - } -}; -dhtmlXTreeView.prototype._getItemHtml = function(l) { - var e = []; - var h = 0; - for (var c in this.conf.idx) { - var g = this["_itemHtml_" + c](l, h); - if (g.nodeText !== false) { - e.push(g.nodeText); - h += g.nodeIndex - } - } - return e.join("") -}; -dhtmlXTreeView.prototype._getIconOfs = function(c, a) { - return ((this.items[c].level - 1 + a) * this.conf.icon_width) -}; -dhtmlXTreeView.prototype._itemHtml_text = function(c, a) { - return { - nodeIndex: 1, - nodeText: "
                    " + this.items[c].text + "
                    " - } -}; -dhtmlXTreeView.prototype.setUserData = function(g, a, e) { - var c = this.items[g]; - if (c) { - c.userdata[a] = e - } -}; -dhtmlXTreeView.prototype.getUserData = function(e, a) { - var c = this.items[e]; - if (c && !a) { - return c.userdata - } - return c ? (c.userdata[a] || null) : null -}; -dhtmlXTreeView.prototype.silent = function(a) { - this.conf.silent = true; - if (typeof(a) == "function") { - a.apply(window, [this]) - } - this.conf.silent = false -}; -dhtmlXTreeView.prototype._callPublicEvent = function() { - return (this.conf.silent == false ? this.callEvent.apply(this, arguments) : true) -}; -dhtmlXTreeView.prototype.refreshItem = function(a) { - a = a || 0; - this.deleteChildItems(a); - this._dynLoadRequest(a) -}; -dhtmlXTreeView.prototype.getLevel = function(e) { - var a = this.items[e]; - var c = 0; - while (a) { - c++; - a = this.items[a.pId] - } - return c -}; -if (typeof(window.dhtmlXCellObject) == "function") { - dhtmlXCellObject.prototype.attachTreeView = function(e) { - this.callEvent("_onBeforeContentAttach", ["treeview"]); - var h = document.createElement("DIV"); - h.style.position = "relative"; - h.style.overflow = "hidden"; - h.style.width = "100%"; - h.style.height = "100%"; - this._attachObject(h); - var g = { - parent: h, - skin: this.conf.skin - }; - if (e != null && typeof(e) == "object") { - for (var c in e) { - if (typeof(g[c]) == "undefined") { - g[c] = e[c] - } - } - } - this.dataType = "treeview"; - this.dataObj = new dhtmlXTreeView(g); - if (typeof(window.dhtmlXWindowsCell) == "function" && this instanceof window.dhtmlXWindowsCell) { - h.className += " dhxtreeview_with_border"; - this.dataObj.conf.adjust_base = true; - this.dataObj.setSizes() - } - g.parent = null; - g = h = e = null; - this.callEvent("_onContentAttach", []); - return this.dataObj - } -} -dhtmlXTreeView.prototype.modules.chbx = { - init: "_chbxInit" -}; -dhtmlXTreeView.prototype.enableCheckboxes = function(e) { - e = (e == true); - if (this.conf.enable_chbx != e) { - this.conf.enable_chbx = e; - this._chbxUpdIndex(); - for (var c in this.items) { - this._refreshItemHtml(c, true, true) - } - } -}; -dhtmlXTreeView.prototype.getAllChecked = function(a) { - return this._chbxGetCheckedBranch(a, true) -}; -dhtmlXTreeView.prototype.getAllUnchecked = function(a) { - return this._chbxGetCheckedBranch(a, false) -}; -dhtmlXTreeView.prototype.checkItem = function(a) { - this._chbxSetChecked(a, true, true) -}; -dhtmlXTreeView.prototype.uncheckItem = function(a) { - this._chbxSetChecked(a, false, true) -}; -dhtmlXTreeView.prototype.isItemChecked = function(a) { - if (this.items[a] == null) { - return null - } - return (this.items[a].checked == true) -}; -dhtmlXTreeView.prototype.enableCheckbox = function(a) { - this._chbxSetEnabled(a, true) -}; -dhtmlXTreeView.prototype.disableCheckbox = function(a) { - this._chbxSetEnabled(a, false) -}; -dhtmlXTreeView.prototype.isCheckboxEnabled = function(a) { - return (this.items[a].chbx_enabled == true) -}; -dhtmlXTreeView.prototype.showCheckbox = function(a) { - this._chbxSetVisible(a, true) -}; -dhtmlXTreeView.prototype.hideCheckbox = function(a) { - this._chbxSetVisible(a, false) -}; -dhtmlXTreeView.prototype.isCheckboxVisible = function(a) { - return (this.items[a].chbx_visible == true) -}; -dhtmlXTreeView.prototype._chbxInit = function(a) { - this.enableCheckboxes(a.checkboxes); - this.attachEvent("_onItemRendered", function(g, e) { - this.items[g].checked = window.dhx4.s2b(e.checked); - var c = (e.checkbox || "enabled,visible"); - this.items[g].chbx_enabled = (c.match(/disabled/) == null); - this.items[g].chbx_visible = (c.match(/hidden/) == null) - }); - this.attachEvent("_onTreeClick", function(h, c) { - if (this.conf.enable_chbx != true) { - return - } - var g = (h.target || h.srcElement); - if (g.tagName.toLowerCase() == "i") { - g = g.parentNode - } - if ((g.parentNode.className || "").match(/dhxtreeview_item_text/) != null && g == g.parentNode.childNodes[this.conf.idx.chbx]) { - var l = g.parentNode.parentNode._itemId; - if (this.items[l].chbx_enabled == true) { - this._chbxSetChecked(l, !this.items[l].checked, true) - } - c.stop = true - } - }); - a = null -}; -dhtmlXTreeView.prototype._itemHtml_chbx = function(e, c) { - var a = { - nodeIndex: 0, - nodeText: false - }; - if (this.conf.enable_chbx == true) { - if (this.items[e].chbx_visible == true) { - a.nodeIndex = 1 - } - a.nodeText = "
                    " + this._chbxGenIcon(e) + "
                    " - } - return a -}; -dhtmlXTreeView.prototype._chbxSetChecked = function(c, a) { - if (this.conf.enable_chbx != true) { - return - } - a = (a == true); - if (this.items[c].checked != a) { - if (this._callPublicEvent("onBeforeCheck", [c, (this.items[c].checked == true)]) !== true) { - return - } - this.items[c].checked = a; - this.items[c].item.childNodes[0].childNodes[this.conf.idx.chbx].innerHTML = this._chbxGenIcon(c); - this._callPublicEvent("onCheck", [c, a]) - } -}; -dhtmlXTreeView.prototype._chbxSetEnabled = function(c, a) { - if (this.items[c].chbx_enabled != a) { - this.items[c].chbx_enabled = a; - this.items[c].item.firstChild.childNodes[this.conf.idx.chbx].innerHTML = this._chbxGenIcon(c) - } -}; -dhtmlXTreeView.prototype._chbxSetVisible = function(c, a) { - if (this.items[c].chbx_visible != a) { - this.items[c].chbx_visible = a; - this._refreshItemHtml(c, true, true) - } -}; -dhtmlXTreeView.prototype._chbxGenIcon = function(c) { - var a = this.conf.icons["chbx_" + (this.items[c].chbx_enabled ? "" : "dis_") + (this.items[c].checked ? "1" : "0")]; - return '' -}; -dhtmlXTreeView.prototype._chbxUpdIndex = function() { - if (this.conf.enable_chbx == true) { - this.conf.idx = { - sign: 0, - chbx: 1, - icon: 2, - text: 3 - } - } else { - this.conf.idx = { - sign: 0, - icon: 1, - text: 2 - } - } -}; -dhtmlXTreeView.prototype._chbxGetCheckedBranch = function(g, h) { - var e = []; - for (var c in this.items) { - if (this.items[c].pId == g) { - if (this.items[c].checked == h) { - e.push(c) - } - if (this.items[c].kids == true) { - e = e.concat(this._chbxGetCheckedBranch(c, h)) - } - } - } - return e -}; -dhtmlXTreeView.prototype.modules.sign = { - init: "_signInit" -}; -dhtmlXTreeView.prototype._signInit = function() { - this.attachEvent("_onTreeClick", function(g, a) { - if (a.stop == true) { - return - } - var c = (g.target || g.srcElement); - if (c.tagName.toLowerCase() == "i") { - c = c.parentNode - } - if ((c.parentNode.className || "").match(/dhxtreeview_item_text/) != null && c == c.parentNode.childNodes[this.conf.idx.sign]) { - this._openCloseItem(c.parentNode.parentNode._itemId, true); - a.stop = true - } - }) -}; -dhtmlXTreeView.prototype._signUpdate = function(e) { - var c = this.items[e]; - var a = c.item.childNodes[0].childNodes[this.conf.idx.sign]; - if (c.kids == true || c.kids_request == true) { - a.innerHTML = '' - } else { - a.innerHTML = "" - } - c = a = null -}; -dhtmlXTreeView.prototype._itemHtml_sign = function(c, a) { - return { - nodeIndex: 1, - nodeText: "
                    " - } -}; -dhtmlXTreeView.prototype.modules.selection = { - init: "_selectionInit" -}; -dhtmlXTreeView.prototype.selectItem = function(h) { - if (this.conf.msel == true) { - var e = {}; - if (!(h instanceof Array)) { - h = [h] - } - for (var g = 0; g < h.length; g++) { - e[h[g]] = true - } - for (var c in this.conf.selected) { - if (e[c] == true) { - delete e[c] - } else { - this._setSelected(c, false) - } - } - for (var c in e) { - this._setSelected(c, true) - } - } else { - if (h != null && this.conf.selected[h] != true && !(h instanceof Array)) { - if (this._clearSelection(h) == false) { - this._setSelected(h, true) - } - } - } -}; -dhtmlXTreeView.prototype.unselectItem = function(c) { - if (this.conf.msel == true) { - if (!(c instanceof Array)) { - c = [c] - } - for (var a = 0; a < c.length; a++) { - if (this.conf.selected[c[a]] == true) { - this._setSelected(c[a], false) - } - } - } else { - if (c != null) { - this._setSelected(c, false) - } - } -}; -dhtmlXTreeView.prototype.getSelectedId = function() { - var e = []; - for (var c in this.conf.selected) { - e.push(c) - } - return (this.conf.msel ? e : (e[0] || null)) -}; -dhtmlXTreeView.prototype.enableMultiselect = function(a) { - a = (a == true); - if (this.conf.msel != a) { - this._clearSelection(); - this.conf.msel = a - } -}; -dhtmlXTreeView.prototype._selectionInit = function(a) { - this.conf.msel = window.dhx4.s2b(a.multiselect); - this.attachEvent("_onTreeClick", function(m, c) { - if (c.stop == true) { - return - } - var l = (m.target || m.srcElement); - if (l.tagName.toLowerCase() == "i") { - l = l.parentNode - } - var h = null; - if (l.className.match(/dhxtreeview_item_label/) != null) { - h = l.parentNode.parentNode._itemId - } else { - if (l.className.match(/^dhxtreeview_item_text/) != null) { - h = l.parentNode._itemId - } else { - if (l.className.match(/^dhxtreeview_item_icon/) != null) { - h = l.parentNode.parentNode._itemId - } - } - } - if (h != null) { - if (!this._callPublicEvent("onBeforeSelect", [h])) { - return - } - var g = new Date(); - if (this._click_item !== h || (g - (this._click_timer || 0)) > 300) { - this._callPublicEvent("onClick", [h]); - this._click_timer = g; - this._click_item = h - } else { - this._callPublicEvent("onDblClick", [h]); - this._click_item = null - } - if (this.conf.msel == true) { - if ((m.ctrlKey == true || this.conf.mac_cmd_key == true) && m.shiftKey == false && m.altKey == false) { - this._setSelected(h, !this._isSelected(h)) - } else { - if (m.ctrlKey == false && m.shiftKey == false && m.altKey == false && this.conf.mac_cmd_key == false) { - if (this._clearSelection(h) == false) { - this._setSelected(h, true) - } - } - } - } else { - if (this._clearSelection(h) == false) { - this._setSelected(h, true) - } - } - } - }) -}; -dhtmlXTreeView.prototype._setSelected = function(c, a) { - if (a == true) { - if (this.conf.selected[c] != true) { - this.items[c].item.childNodes[0].className += " dhxtreeview_item_text_selected"; - this.conf.selected[c] = true; - this._callPublicEvent("onSelect", [c, true]) - } - } else { - if (this.conf.selected[c] == true) { - this.items[c].item.childNodes[0].className = String(this.items[c].item.childNodes[0].className).replace(/\s*dhxtreeview_item_text_selected/gi, ""); - delete this.conf.selected[c]; - this._callPublicEvent("onSelect", [c, false]) - } - } -}; -dhtmlXTreeView.prototype._clearSelection = function(g) { - var e = false; - for (var c in this.conf.selected) { - if (g != null && c == g) { - e = true - } else { - this._setSelected(c, false) - } - } - return e -}; -dhtmlXTreeView.prototype._isSelected = function(a) { - return (this.conf.selected[a] == true) -}; -dhtmlXTreeView.prototype.modules.icons = { - init: "_iconModuleInit" -}; -dhtmlXTreeView.prototype.setItemIcons = function(g, e) { - if (e == null && this.items[g].icons != null) { - delete this.items[g].icons - } else { - if (e != null) { - if (this.items[g].icons == null) { - this.items[g].icons = {} - } - for (var c in e) { - if (e[c] != null) { - this.items[g].icons[c] = e[c] - } else { - if (e[c] == null && this.items[g].icons[c] != null) { - delete this.items[g].icons[c] - } - } - } - } - } - this._iconUpdate(g) -}; -dhtmlXTreeView.prototype.setIconColor = function(e, a) { - var c = this.items[e].item.firstChild.childNodes[this.conf.idx.icon].firstChild; - if (a == null) { - if (this.items[e].icon_color != null) { - delete this.items[e].icon_color; - c.style.color = "inherit" - } - } else { - if (this.items[e].icon_color != a) { - this.items[e].icon_color = a; - c.style.color = a - } - } - c = null -}; -dhtmlXTreeView.prototype.setIconset = function(a) { - if (this.icons[a] != null && this.icons[a].r == true) { - this.conf.icons = this.icons[a] - } -}; -dhtmlXTreeView.prototype._iconModuleInit = function() { - this.attachEvent("_onItemRendered", function(c, a) { - if (a.icons != null) { - this.items[c].icons = a.icons - } - if (a.icon_color != null) { - this.items[c].icon_color = a.icon_color - } - }) -}; -dhtmlXTreeView.prototype._iconConf = function(g) { - var e = this.items[g].icons || {}; - for (var c in { - folder_opened: 1, - folder_closed: 1, - file: 1 - }) { - if (typeof(e[c]) == "undefined") { - e[c] = this.conf.icons[c] - } - } - return e -}; -dhtmlXTreeView.prototype._iconHtml = function(e, c) { - var a = ['class="' + this.conf.icons.prefix + " " + c + '"']; - if (this.items[e].icon_color != null) { - a.push('style="color:' + this.items[e].icon_color + ';"') - } - return "" -}; -dhtmlXTreeView.prototype._itemHtml_icon = function(c, a) { - return { - nodeIndex: 1, - nodeText: "
                    " + this._iconHtml(c, this._iconConf(c).file) + "
                    " - } -}; -dhtmlXTreeView.prototype._iconUpdate = function(g) { - var e = this.items[g]; - var c = this._iconConf(g); - var a = (e.kids == true || e.kids_request == true ? c[e.opened ? "folder_opened" : "folder_closed"] : c.file); - e.item.childNodes[0].childNodes[this.conf.idx.icon].innerHTML = this._iconHtml(g, a); - e = null -}; -dhtmlXTreeView.prototype.icons = { - tree_native: { - r: true, - prefix: "dhxtreeview_icon", - plus: "dhxtreeview_icon_plus", - minus: "dhxtreeview_icon_minus", - file: "dhxtreeview_icon_file", - folder_opened: "dhxtreeview_icon_folder_opened", - folder_closed: "dhxtreeview_icon_folder_closed", - loading: "dhxtreeview_icon_loading", - chbx_0: "dhxtreeview_icon_chbx_0", - chbx_1: "dhxtreeview_icon_chbx_1", - chbx_dis_0: "dhxtreeview_icon_chbx_dis_0", - chbx_dis_1: "dhxtreeview_icon_chbx_dis_1" - }, - font_awesome: { - r: (!(window.dhx4.isIE6 == true || window.dhx4.isIE7 == true)), - prefix: "fa", - plus: "fa-caret-right", - minus: "fa-caret-down", - file: "fa-file-o", - folder_opened: "fa-folder-open-o", - folder_closed: "fa-folder-o", - loading: "fa-refresh fa-spin", - chbx_0: "fa-square-o", - chbx_1: "fa-check-square-o", - chbx_dis_0: "fa-square-o dhx-disabled", - chbx_dis_1: "fa-check-square-o dhx-disabled" - } -}; -dhtmlXTreeView.prototype.modules.loading = { - init: "_loadingInit", - unload: "_loadingUnload" -}; -dhtmlXTreeView.prototype._loadingInit = function(a) { - window.dhx4._enableDataLoading(this, "_initObj", "_xmlToObj", "tree", { - struct: true - }); - this.conf.root_id = (typeof(a.root_id) == "undefined" || a.root_id == null ? "0" : a.root_id); - this._dhxdataload.onBeforeXLS = function(c) { - if (this.conf.autoload.url == null) { - this.conf.autoload.url = c - } - return { - url: c.replace(/\{id\}/gi, this.conf.root_id) - } - } -}; -dhtmlXTreeView.prototype._loadingUnload = function() { - window.dhx4._enableDataLoading(this, null, null, null, "clear") -}; -dhtmlXTreeView.prototype._initObj = function(h, a, c, e) { - for (var g = 0; g < h.length; g++) { - var l = h[g].id; - if (l == null) { - l = "dhxtreeview_id_" + window.dhx4.newId() - } - if (this.items[l] == null) { - this._addItem(l, c, h[g]) - } - if (h[g].items != null) { - this._initObj(h[g].items, null, l, true) - } - } - if (e != true) { - this._fixAreaWidth() - } -}; -dhtmlXTreeView.prototype._xmlToObj = function(n, m) { - if (m != true) { - n = n.getElementsByTagName("tree")[0] - } - var h = []; - for (var c = 0; c < n.childNodes.length; c++) { - var g = n.childNodes[c]; - if ((g.tagName || "").toLowerCase() == "item") { - var r = {}; - for (var o = 0; o < g.attributes.length; o++) { - r[g.attributes[o].name] = g.attributes[o].value - } - if (g.childNodes.length > 0) { - var m = this._xmlToObj(g, true); - if (m.length > 0) { - r.items = m - } - for (var o = 0; o < g.childNodes.length; o++) { - var s = (g.childNodes[o].tagName || "").toLowerCase(); - if ({ - icons: 1, - userdata: 1 - }[s] == 1) { - if (r[s] == null) { - r[s] = {} - } - for (var l = 0; l < g.childNodes[o].attributes.length; l++) { - var a = g.childNodes[o].attributes[l].name; - if (r[s][a] == null) { - r[s][a] = g.childNodes[o].attributes[l].value - } - } - } - n2 = null - } - } - h.push(r) - } - g = null - } - return h -}; -dhtmlXTreeView.prototype.modules.dnd = { - init: "_dndInit", - unload: "_dndUnload" -}; -dhtmlXTreeView.prototype.enableDragAndDrop = function(a) { - this.conf.enable_dnd = window.dhx4.s2b(a) -}; -dhtmlXTreeView.prototype._dndInit = function(a) { - var c = this; - this.enableDragAndDrop(a.dnd); - this.conf.dnd = null; - this._dndOnMouseDown = function(n) { - if (c.conf.enable_dnd != true) { - return - } - n = n || event; - if (typeof(n.button) != "undefined" && n.button >= 2) { - return false - } - var o = null; - var m = null; - var l = n.target || n.srcElement; - var h = window.dhx4.absLeft(l) + (typeof(n.offsetX) == "undefined" ? n.layerX : n.offsetX) - n.clientX; - var g = window.dhx4.absTop(l) + (typeof(n.offsetY) == "undefined" ? n.layerY : n.offsetY) - n.clientY; - while (l != null && l != c.cont) { - if ((l.className || "").match(/dhxtreeview_item/) != null && l._itemId != null) { - o = l._itemId; - m = l._treeId; - l = null - } else { - l = l.parentNode - } - } - l = null; - if (o == null) { - return - } - c.conf.dnd = { - inited: false, - id: o, - treeId: m, - selected: (c.conf.selected[o] == true), - tid: null, - drop: {}, - x: n.clientX, - y: n.clientY, - ofs_x: h, - ofs_y: g, - zi: window.dhx4.newId(), - scroll: false, - scroll_ofs: 5, - scroll_time: 30, - scroll_tm: null, - kids: {}, - idx: {} - }; - c._dndInitEvents() - }; - this._dndOnMouseMove = function(s) { - s = s || event; - if (c.conf.dnd.inited != true) { - if (Math.abs(c.conf.dnd.x - s.clientX) >= 15 || Math.abs(c.conf.dnd.y - s.clientY) >= 15) { - if (c._callPublicEvent("onBeforeDrag", [c.conf.dnd.id]) !== true) { - return - } - c.conf.dnd.inited = true; - c.cont.className += " dhxtreeview_dnd_mode"; - c._dndInitDraggedObj(); - c._dndCollectKids(c.conf.dnd.id); - c._dndCollectIndexes(c.area); - if (c._clearSelection(c.conf.dnd.id) == false) { - c._setSelected(c.conf.dnd.id, true) - } - c.items[c.conf.dnd.id].item.className += " dhxtreeview_item_dragged"; - document.body.className += " dhxtreeview_dnd_mode"; - c.conf.dnd.cont = { - x1: window.dhx4.absLeft(c.base), - y1: window.dhx4.absTop(c.base) - }; - c.conf.dnd.cont.x2 = c.conf.dnd.cont.x1 + c.base.offsetWidth; - c.conf.dnd.cont.y2 = c.conf.dnd.cont.y1 + c.base.offsetHeight - } else { - return - } - } - c.conf.dnd.x = s.clientX; - c.conf.dnd.y = s.clientY; - c._dndAdjustDraggedObj(); - var m = true; - if (c.cont.scrollHeight > c.cont.clientHeight) { - if (c.conf.dnd.x >= c.conf.dnd.cont.x1 && c.conf.dnd.x <= c.conf.dnd.cont.x2) { - if (c.cont.scrollTop > 0 && c.conf.dnd.y >= c.conf.dnd.cont.y1 && c.conf.dnd.y <= c.conf.dnd.cont.y1 + 10) { - c._dndScroll("up"); - m = false - } else { - if (c.cont.scrollTop + c.cont.clientHeight < c.cont.scrollHeight && c.conf.dnd.y <= c.conf.dnd.cont.y2 && c.conf.dnd.y >= c.conf.dnd.cont.y2 - 10) { - c._dndScroll("down"); - m = false - } - } - } - } - if (m == true && c.conf.dnd.scroll == true) { - c._dndScroll("stop") - } - var v = (s.target || s.srcElement); - if (v.parentNode != null && (v.parentNode.className || "").match(/dhxtreeview_kids_cont/) != null) { - v = null; - return - } - var g = false; - var n = null; - var r = null; - if (v.className != null) { - if (v.className.match(/dhxtreeview_item_[li]/) != null) { - n = v.parentNode.parentNode._itemId; - r = v.parentNode.parentNode._treeId - } else { - if (v.className.match(/dhxtreeview_item_[t]/) != null) { - n = v.parentNode._itemId; - r = v.parentNode._treeId - } - } - } - if (n != null && r != c.conf.dnd.treeId) { - return - } - if (c.conf.dnd.id == n || c.conf.dnd.kids[n] == true) { - n = null - } - if (n != null) { - var o = c.items[n].item.firstChild.offsetHeight; - var u = Math.max(Math.floor(Math.min(s.offsetY, o) * 3 / o), 0); - if (u == 0) { - if (c.items[n].item.previousSibling == c.items[c.conf.dnd.id].item) { - u = null - } - } else { - if (u == 1) { - if (c.items[c.conf.dnd.id].pId == n) { - u = null - } else { - if (c.items[n].kids == true && c.items[n].item.lastChild.firstChild.firstChild == c.items[c.conf.dnd.id].item) { - u = null - } else { - if (c.items[n].opened == false) {} - } - } - } else { - if (u == 2) { - if (c.items[n].opened == true) { - u = null - } else { - if (c.items[n].item.nextSibling == c.items[c.conf.dnd.id].item) { - u = null - } - } - } - } - } - if (u != c.conf.dnd.ofs) { - c.conf.dnd.ofs = u; - g = true - } - } - if (n != c.conf.dnd.tid) { - if (c.conf.dnd.tid != null) { - c._dndUpdateTargetCss(c.conf.dnd.tid, false) - } - if (n != null) { - g = true - } - c.conf.dnd.tid = n - } - if (g == true) { - var q = false; - if (u != null) { - var l = { - id: c.conf.dnd.id, - pId: c.items[n].pId || null, - index: null, - idxOfs: (c.items[c.conf.dnd.id].pId == c.items[n].pId && c.conf.dnd.idx[c.conf.dnd.id] < c.conf.dnd.idx[n] ? -1 : 0) - }; - if (u == 0 || u == 2) { - l.index = c.conf.dnd.idx[n] + (u == 2 ? 1 : 0) + l.idxOfs - } else { - if (u == 1) { - l.pId = n; - l.index = (c.items[n].item.lastChild.className.match(/dhxtreeview_kids_cont/) == null ? 0 : c.items[n].item.lastChild.firstChild.childNodes.length) - } - } - if (c.conf.dnd.drop.id != l.id || c.conf.dnd.drop.pId != l.pId || c.conf.dnd.drop.index != l.index) { - c.conf.dnd.drop = l; - if (c._callPublicEvent("onDragOver", [c.conf.dnd.drop.id, c.conf.dnd.drop.pId, c.conf.dnd.drop.index]) === true) { - q = true - } - } - } - if (q != true) { - c.conf.dnd.ofs = u = null - } - c._dndUpdateTargetCss(n, q) - } - }; - this._dndOnMouseUp = function(q) { - q = q || event; - if (typeof(q.button) != "undefined" && q.button >= 2) { - return - } - c._dndUnloadEvents(); - c._dndUnloadDraggedObj(); - if (c.conf.dnd.scroll == true) { - c._dndScroll("stop") - } - if (c.cont.className.match(/dhxtreeview_dnd_mode/gi) != null) { - c.cont.className = String(c.cont.className).replace(/\s*dhxtreeview_dnd_mode/gi, "") - } - if (c.conf.dnd.tid != null) { - c._dndUpdateTargetCss(c.conf.dnd.tid, false) - } - if (c.conf.dnd.inited == true) { - c.items[c.conf.dnd.id].item.className = String(c.items[c.conf.dnd.id].item.className).replace(/\s*dhxtreeview_item_dragged/gi, ""); - document.body.className = String(document.body.className).replace(/\s*dhxtreeview_dnd_mode/, ""); - if (c.conf.dnd.tid != null && c.conf.dnd.ofs != null) { - if (c._callPublicEvent("onBeforeDrop", [c.conf.dnd.drop.id, c.conf.dnd.drop.pId, c.conf.dnd.drop.index]) === true) { - var o = c.items[c.conf.dnd.id]; - var h = c.items[c.conf.dnd.tid]; - var l = (o.pId != null ? c.items[o.pId] : null); - var n; - if (c.conf.dnd.ofs == 1) { - var m = false; - if (h.kids == false) { - c._initKidsNode(h.id); - m = true - } - h.item.lastChild.firstChild.appendChild(o.item); - if (m == true) { - c._openCloseItem(h.id, false) - } - o.pId = h.id; - n = h.level + 1 - o.level - } else { - if (c.conf.dnd.ofs == 0 || c.conf.dnd.ofs == 2) { - if (c.conf.dnd.ofs == 0) { - h.item.parentNode.insertBefore(o.item, h.item) - } else { - if (h.item.nextSibling != null) { - h.item.parentNode.insertBefore(o.item, h.item.nextSibling) - } else { - h.item.parentNode.appendChild(o.item) - } - } - o.pId = h.pId; - n = h.level - o.level - } - } - if (n != 0) { - c.conf.dnd.kids[o.id] = true; - for (var g in c.conf.dnd.kids) { - c.items[g].level += n; - c._refreshItemHtml(g, (c.items[g].kids == true), true) - } - } - if (l != null && l.kids == true && l.item.lastChild.firstChild.childNodes.length == 0) { - c._clearKidsNode(l.id); - l.opened = false - } - o = h = l = null; - c._fixAreaWidth(); - c._callPublicEvent("onDrop", [c.conf.dnd.drop.id, c.conf.dnd.drop.pId, c.conf.dnd.drop.index]) - } - } - } - window.dhx4.zim.clear(c.conf.dnd.zi); - c.conf.dnd = null - }; - this._dndOnContextMenu = function(g) { - if (c.conf.dnd.inited == true) { - g = g || event; - g.cancelBubble = true; - if (g.preventDefault) { - g.preventDefault() - } - g.returnValue = false; - return false - } - }; - this._dndInitEvents = function() { - if (typeof(window.addEventListener) == "function") { - window.addEventListener("mousemove", this._dndOnMouseMove, false); - window.addEventListener("mouseup", this._dndOnMouseUp, false); - window.addEventListener("contextmenu", this._dndOnContextMenu, false) - } else { - document.body.attachEvent("onmousemove", this._dndOnMouseMove); - document.body.attachEvent("onmouseup", this._dndOnMouseUp); - document.body.attachEvent("oncontextmenu", this._dndOnContextMenu) - } - }; - this._dndUnloadEvents = function() { - if (typeof(window.addEventListener) == "function") { - window.removeEventListener("mousemove", this._dndOnMouseMove, false); - window.removeEventListener("mouseup", this._dndOnMouseUp, false); - window.removeEventListener("contextmenu", this._dndOnContextMenu, false) - } else { - document.body.detachEvent("onmousemove", this._dndOnMouseMove); - document.body.detachEvent("onmouseup", this._dndOnMouseUp); - document.body.detachEvent("oncontextmenu", this._dndOnContextMenu) - } - }; - this._dndInitDraggedObj = function() { - this.conf.dnd.dragged = document.createElement("DIV"); - this.conf.dnd.dragged.className = "dhxtreeview_dragged_obj_" + this.conf.skin; - this.conf.dnd.dragged.style.zIndex = window.dhx4.zim.reserve(this.conf.dnd.zi); - document.body.appendChild(this.conf.dnd.dragged); - this.conf.dnd.dragged.innerHTML = this.getItemText(this.conf.dnd.id) - }; - this._dndAdjustDraggedObj = function() { - this.conf.dnd.dragged.style.left = this.conf.dnd.x + this.conf.dnd.ofs_x + 12 + "px"; - this.conf.dnd.dragged.style.top = this.conf.dnd.y + this.conf.dnd.ofs_y + 18 + "px" - }; - this._dndUnloadDraggedObj = function() { - if (this.conf.dnd.dragged != null) { - document.body.removeChild(this.conf.dnd.dragged); - this.conf.dnd.dragged = null - } - }; - this._dndUpdateTargetCss = function(l, h) { - var g = this.items[l].item.childNodes[0]; - if (this.conf.dnd.ofs == null) { - h = false - } - if (h == true) { - g.className = String(g.className).replace(/(\s*dhxtreeview_drop_\d)?$/i, " dhxtreeview_drop_" + this.conf.dnd.ofs); - if (g.nextSibling == null || g.nextSibling.className.match(/dhxtreeview_drop_preview/) == null) { - var e = document.createElement("DIV"); - e.className = "dhxtreeview_drop_preview"; - e.style.left = g.lastChild.previousSibling.style.left; - if (g.nextSibling == null) { - g.parentNode.appendChild(e) - } else { - g.parentNode.insertBefore(e, g.nextSibling) - } - e = null - } - g.nextSibling.className = String(g.nextSibling.className).replace(/(\s*dhxtreeview_drop_\d)?$/i, " dhxtreeview_drop_" + this.conf.dnd.ofs) - } else { - if (g.className.match(/dhxtreeview_drop_\d/) != null) { - g.className = String(g.className).replace(/\s*dhxtreeview_drop_\d/gi, ""); - if (g.nextSibling != null && g.nextSibling.className.match(/dhxtreeview_drop_preview/) != null) { - g.parentNode.removeChild(g.nextSibling) - } - } - } - g = null - }; - this._dndCollectKids = function(g) { - for (var e in this.items) { - if (this.items[e].pId == g) { - this.conf.dnd.kids[e] = true; - if (this.items[e].kids == true) { - this._dndCollectKids(e) - } - } - } - }; - this._dndCollectIndexes = function(e) { - for (var g = 0; g < e.childNodes.length; g++) { - this.conf.dnd.idx[e.childNodes[g]._itemId] = g; - if (e.childNodes[g].lastChild.className.match(/dhxtreeview_kids_cont/) != null) { - this._dndCollectIndexes(e.childNodes[g].lastChild.firstChild) - } - } - }; - this._dndScroll = function(h, g) { - if (h == "stop") { - if (c.conf.dnd.scroll == true) { - if (c.conf.dnd.scroll_tm) { - window.clearTimeout(c.conf.dnd.scroll_tm) - } - c.conf.dnd.scroll = false - } - return - } else { - if (c.conf.dnd.scroll == true) { - if (g != true) { - return - } - } else { - c.conf.dnd.scroll = true - } - var e = false; - if (h == "up") { - c.cont.scrollTop = Math.max(0, c.cont.scrollTop - c.conf.dnd.scroll_ofs); - if (c.cont.scrollTop == 0) { - e = true - } - } else { - c.cont.scrollTop = Math.min(c.cont.scrollHeight - c.cont.clientHeight, c.cont.scrollTop + c.conf.dnd.scroll_ofs); - if (c.cont.scrollTop + c.cont.clientHeight == c.cont.scrollHeight) { - e = true - } - } - if (e != true) { - c.conf.dnd.scroll_tm = window.setTimeout(function() { - c._dndScroll(h, true) - }, c.conf.dnd.scroll_time) - } - } - }; - if (typeof(window.addEventListener) == "function") { - this.cont.addEventListener("mousedown", this._dndOnMouseDown, false) - } else { - this.cont.attachEvent("onmousedown", this._dndOnMouseDown) - } - this._dndUnload = function() { - if (typeof(window.addEventListener) == "function") { - this.cont.removeEventListener("mousedown", this._dndOnMouseDown, false) - } else { - this.cont.detachEvent("onmousedown", this._dndOnMouseDown) - } - c = null - }; - a = null -}; -dhtmlXTreeView.prototype.modules.ctx = { - init: "_ctxInit", - unload: "_ctxUnload" -}; -dhtmlXTreeView.prototype.enableContextMenu = function(a) { - this.conf.ctx = window.dhx4.s2b(a) -}; -dhtmlXTreeView.prototype._ctxInit = function(a) { - var c = this; - this._ctxCall = function(l) { - if (c.conf.ctx != true) { - return - } - l = l || event; - var h = (l.target || l.srcElement); - if (h.tagName.toLowerCase() == "i") { - h = h.parentNode - } - var n = (h.parentNode._itemId || h.parentNode.parentNode._itemId); - var g = window.dhx4.absLeft(h) + (typeof(l.offsetX) == "undefined" ? l.layerX : l.offsetX); - var m = window.dhx4.absTop(h) + (typeof(l.offsetY) == "undefined" ? l.layerY : l.offsetY); - if (n != null && c._callPublicEvent("onContextMenu", [n, g, m, l]) !== true) { - if (l.preventDefault) { - l.preventDefault() - } - l.cancelBubble = true; - l.returnValue = false; - return false - } - }; - if (typeof(window.addEventListener) == "function") { - this.cont.addEventListener("contextmenu", this._ctxCall, false) - } else { - this.cont.attachEvent("oncontextmenu", this._ctxCall) - } - this._ctxUnload = function() { - if (typeof(window.addEventListener) == "function") { - this.cont.removeEventListener("contextmenu", this._ctxCall, false) - } else { - this.cont.detachEvent("oncontextmenu", this._ctxCall) - } - c = null - }; - this.enableContextMenu(a.context_menu) -}; -dhtmlXTreeView.prototype.modules.dynload = { - init: "_dynLoadInit" -}; -dhtmlXTreeView.prototype._dynLoadInit = function() { - this.attachEvent("_onItemInited", function(e, c) { - this.items[e].kids_request = window.dhx4.s2b(c.kids); - if (this.items[e].kids_request == true) { - this._initKidsNode(e) - } - if (this.items[e].opened == true && this.items[e].kids_request == true) { - var a = this; - window.setTimeout(function() { - a._dynLoadRequest(e); - a = null - }, 100) - } - }); - this.attachEvent("_onBeforeOpen", function(a) { - if (this.items[a].opened != true && this.items[a].kids_request == true) { - if (this._dynLoadRequest(a) != true) { - this.items[a].half_opened = true; - this._signUpdate(a); - return false - } - } - return true - }) -}; -dhtmlXTreeView.prototype._dynLoadRequest = function(c) { - if (typeof(this.conf.autoload.mode) == "function") { - this.conf.autoload.mode.apply(window, [c]); - return true - } - if (this.conf.autoload.url == null) { - return - } - this._dhxdataload.onBeforeXLS = function(e) { - return { - url: e.replace(/\{id\}/gi, c) - } - }; - var a = this; - this.items[c].kids_loading_tm = window.setTimeout(function() { - a._dynLoadUpdateIcon(c, true); - a = null - }, 100); - this.loadStruct(this.conf.autoload.url, function() { - window.clearTimeout(this.items[c].kids_loading_tm); - this._dynLoadUpdateIcon(c, false); - if (this.items[c].half_opened) { - this.items[c].half_opened = false; - this._openCloseItem(c, true) - } - }); - this.items[c].kids_request = false; - return false -}; -dhtmlXTreeView.prototype._dynLoadUpdateIcon = function(c, a) { - this.items[c].loading = (a == true); - if (this.items[c].loading == true) { - this.items[c].item.childNodes[0].childNodes[this.conf.idx.icon].innerHTML = "" - } else { - this._iconUpdate(c) - } -}; -var globalActiveDHTMLGridObject; -String.prototype._dhx_trim = function() { - return this.replace(/ /g, " ").replace(/(^[ \t]*)|([ \t]*$)/g, "") -}; - -function dhtmlxArray(a) { - return dhtmlx.extend((a || new Array()), dhtmlxArray._master) -} -dhtmlxArray._master = { - _dhx_find: function(c) { - for (var a = 0; a < this.length; a++) { - if (c == this[a]) { - return a - } - } - return -1 - }, - _dhx_insertAt: function(e, c) { - this[this.length] = null; - for (var a = this.length - 1; a >= e; a--) { - this[a] = this[a - 1] - } - this[e] = c - }, - _dhx_removeAt: function(a) { - this.splice(a, 1) - }, - _dhx_swapItems: function(a, e) { - var c = this[a]; - this[a] = this[e]; - this[e] = c - } -}; - -function dhtmlXGridObject(id) { - if (dhtmlxEvent.initTouch) { - dhtmlxEvent.initTouch() - } - if (_isIE) { - try { - document.execCommand("BackgroundImageCache", false, true) - } catch (e) {} - } - if (id) { - if (typeof(id) == "object") { - this.entBox = id; - if (!this.entBox.id) { - this.entBox.id = "cgrid2_" + this.uid() - } - } else { - this.entBox = document.getElementById(id) - } - } else { - this.entBox = document.createElement("DIV"); - this.entBox.id = "cgrid2_" + this.uid() - } - this.entBox.innerHTML = ""; - dhx4._eventable(this); - var self = this; - this._RaSeCol = []; - this._wcorr = 0; - this.fontWidth = 7; - this.cell = null; - this.row = null; - this.iconURL = ""; - this.editor = null; - this._f2kE = true; - this._dclE = true; - this.combos = new Array(0); - this.defVal = new Array(0); - this.rowsAr = {}; - this.rowsBuffer = dhtmlxArray(); - this.rowsCol = dhtmlxArray(); - this._data_cache = {}; - this._ecache = {}; - this._ud_enabled = true; - this.xmlLoader = this.doLoadDetails; - this._maskArr = []; - this.selectedRows = dhtmlxArray(); - this.UserData = {}; - this._sizeFix = this._borderFix = 0; - this.entBox.className += " gridbox"; - this.entBox.style.width = this.entBox.getAttribute("width") || (window.getComputedStyle ? (this.entBox.style.width || window.getComputedStyle(this.entBox, null)["width"]) : (this.entBox.currentStyle ? this.entBox.currentStyle.width : this.entBox.style.width || 0)) || "100%"; - this.entBox.style.height = this.entBox.getAttribute("height") || (window.getComputedStyle ? (this.entBox.style.height || window.getComputedStyle(this.entBox, null)["height"]) : (this.entBox.currentStyle ? this.entBox.currentStyle.height : this.entBox.style.height || 0)) || "100%"; - this.entBox.style.cursor = "default"; - this.entBox.onselectstart = function() { - return false - }; - var t_creator = function(name) { - var t = document.createElement("TABLE"); - t.cellSpacing = t.cellPadding = 0; - t.style.cssText = "width:100%;table-layout:fixed;"; - t.className = name.substr(2); - return t - }; - this.obj = t_creator("c_obj"); - this.hdr = t_creator("c_hdr"); - this.hdr.style.marginRight = "20px"; - if (!dhx.isChrome) { - this.hdr.style.paddingRight = "20px" - } - this.objBox = document.createElement("DIV"); - this.objBox.style.width = "100%"; - this.objBox.style.overflow = "auto"; - this.objBox.appendChild(this.obj); - this.objBox.className = "objbox"; - if (dhtmlx.$customScroll) { - dhtmlx.CustomScroll.enable(this) - } - this.hdrBox = document.createElement("DIV"); - this.hdrBox.style.width = "100%"; - this.hdrBox.style.height = "25px"; - this.hdrBox.style.overflow = "hidden"; - this.hdrBox.className = "xhdr"; - this.preloadImagesAr = new Array(0); - this.sortImg = document.createElement("DIV"); - this.sortImg.style.display = "none"; - this.hdrBox.appendChild(this.sortImg); - this.hdrBox.appendChild(this.hdr); - this.hdrBox.style.position = "relative"; - this.entBox.appendChild(this.hdrBox); - this.entBox.appendChild(this.objBox); - this.entBox.grid = this; - this.objBox.grid = this; - this.hdrBox.grid = this; - this.obj.grid = this; - this.hdr.grid = this; - this.cellWidthPX = []; - this.cellWidthPC = []; - this.cellWidthType = this.entBox.cellwidthtype || "px"; - this.delim = this.entBox.delimiter || ","; - this._csvDelim = ","; - this.hdrLabels = []; - this.columnIds = []; - this.columnColor = []; - this._hrrar = []; - this.cellType = dhtmlxArray(); - this.cellAlign = []; - this.initCellWidth = []; - this.fldSort = []; - this._srdh = (_isIE && (document.compatMode != "BackCompat") ? 22 : 20); - this.imgURL = window.dhx_globalImgPath || ""; - this.isActive = false; - this.isEditable = true; - this.useImagesInHeader = false; - this.pagingOn = false; - this.rowsBufferOutSize = 0; - dhtmlxEvent(window, "unload", function() { - try { - if (self.destructor) { - self.destructor() - } - } catch (e) {} - }); - this.setSkin = function(name) { - this._srdh = window.dhx4.readFromCss("dhxgrid_rh_" + name) + 4; - this.skin_name = name; - if (this._imgURL) { - this.setImagePath(this._imgURL) - } - var classname = this.entBox.className.split(" gridbox")[0]; - this.entBox.className = classname + " gridbox gridbox_" + name + (_isIE ? " isIE" : " isModern"); - this.skin_h_correction = 0; - this.enableAlterCss("ev_" + name, "odd_" + name, this.isTreeGrid()); - this._fixAlterCss(); - switch (name) { - case "dhx_terrace": - case "material": - this._srdh = 33; - this.forceDivInHeader = true; - break; - case "dhx_web": - case "material": - this.forceDivInHeader = true; - this._srdh = 31; - break; - case "dhx_skyblue": - this.forceDivInHeader = true; - break - } - if (_isIE && this.hdr) { - var d = this.hdr.parentNode; - d.removeChild(this.hdr); - d.appendChild(this.hdr) - } - this.setSizes() - }; - if (_isIE) { - this.preventIECaching(true) - } - if (window.dhtmlDragAndDropObject) { - this.dragger = new dhtmlDragAndDropObject() - } - this._doOnScroll = function(e, mode) { - this.callEvent("onScroll", [this.objBox.scrollLeft, this.objBox.scrollTop]); - this.doOnScroll(e, mode) - }; - this.doOnScroll = function(e, mode) { - var box = this.hdrBox; - box._try_header_sync = true; - setTimeout(function() { - box._try_header_sync = false - }, 2000); - this.hdrBox.scrollLeft = this.objBox.scrollLeft; - if (this.ftr) { - this.ftr.parentNode.scrollLeft = this.objBox.scrollLeft - } - if (mode) { - return - } - if (this._srnd) { - if (this._dLoadTimer) { - window.clearTimeout(this._dLoadTimer) - } - this._dLoadTimer = window.setTimeout(function() { - if (self._update_srnd_view) { - self._update_srnd_view() - } - }, 100) - } - }; - this.attachToObject = function(obj) { - obj.appendChild(this.globalBox ? this.globalBox : this.entBox); - this.setSizes() - }; - this.init = function(fl) { - if ((this.isTreeGrid()) && (!this._h2)) { - this._h2 = this._createHierarchy(); - if ((this._fake) && (!this._realfake)) { - this._fake._h2 = this._h2 - } - this._tgc = { - imgURL: null - } - } - if (!this._hstyles) { - return - } - if (!this.skin_name) { - this.setSkin(window.dhx4.skin || (typeof(dhtmlx) != "undefined" ? dhtmlx.skin : null) || window.dhx4.skinDetect("dhxgrid") || "material") - } - this.editStop(); - this.lastClicked = null; - this.resized = null; - this.fldSorted = this.r_fldSorted = null; - this.cellWidthPX = []; - this.cellWidthPC = []; - if (this.hdr.rows.length > 0) { - var temp = this.xmlFileUrl; - this.clearAll(true); - this.xmlFileUrl = temp - } - var hdrRow = this.hdr.insertRow(0); - for (var i = 0; i < this.hdrLabels.length; i++) { - hdrRow.appendChild(document.createElement("TH")); - hdrRow.childNodes[i]._cellIndex = i; - hdrRow.childNodes[i].style.height = "0px" - } - if (_isIE && _isIE < 8 && document.body.style.msTouchAction == this.undefined) { - hdrRow.style.position = "absolute" - } else { - hdrRow.style.height = "auto" - } - var hdrRow = this.hdr.insertRow(_isKHTML ? 2 : 1); - hdrRow._childIndexes = new Array(); - var col_ex = 0; - for (var i = 0; i < this.hdrLabels.length; i++) { - hdrRow._childIndexes[i] = i - col_ex; - if ((this.hdrLabels[i] == this.splitSign) && (i != 0)) { - if (_isKHTML) { - hdrRow.insertCell(i - col_ex) - } - hdrRow.cells[i - col_ex - 1].colSpan = (hdrRow.cells[i - col_ex - 1].colSpan || 1) + 1; - hdrRow.childNodes[i - col_ex - 1]._cellIndex++; - col_ex++; - hdrRow._childIndexes[i] = i - col_ex; - continue - } - hdrRow.insertCell(i - col_ex); - hdrRow.childNodes[i - col_ex]._cellIndex = i; - hdrRow.childNodes[i - col_ex]._cellIndexS = i; - this.setColumnLabel(i, this.hdrLabels[i]) - } - if (col_ex == 0) { - hdrRow._childIndexes = null - } - this._cCount = this.hdrLabels.length; - if (_isIE) { - window.setTimeout(function() { - if (self.setSizes) { - self.setSizes() - } - }, 1) - } - if (!this.obj.firstChild) { - this.obj.appendChild(document.createElement("TBODY")) - } - var tar = this.obj.firstChild; - if (!tar.firstChild) { - tar.appendChild(document.createElement("TR")); - tar = tar.firstChild; - if (_isIE && _isIE < 8 && document.body.style.msTouchAction == this.undefined) { - tar.style.position = "absolute" - } else { - tar.style.height = "auto" - } - for (var i = 0; i < this.hdrLabels.length; i++) { - tar.appendChild(document.createElement("TH")); - tar.childNodes[i].style.height = "0px" - } - } - this._c_order = null; - if (this.multiLine != true) { - this.obj.className += " row20px" - } - this.sortImg.style.position = "absolute"; - this.sortImg.style.display = "none"; - this.sortImg.className = "dhxgrid_sort_desc"; - this.sortImg.defLeft = 0; - if (this.noHeader) { - this.hdrBox.style.display = "none" - } else { - this.noHeader = false - } - if (this._ivizcol) { - this.setColHidden() - } - this.attachHeader(); - this.attachHeader(0, 0, "_aFoot"); - this.setSizes(); - if (fl) { - this.parseXML() - } - this.obj.scrollTop = 0; - if (this.dragAndDropOff) { - this.dragger.addDragLanding(this.entBox, this) - } - if (this._initDrF) { - this._initD() - } - dhx4.callEvent("onGridCreated", [this]) - }; - this.setColumnSizes = function(gridWidth) { - var summ = 0; - var fcols = []; - var fix = 0; - for (var i = 0; i < this._cCount; i++) { - if ((this.initCellWidth[i] == "*") && !this._hrrar[i]) { - this._awdth = false; - fcols.push(i); - continue - } - if (this.cellWidthType == "%") { - if (typeof this.cellWidthPC[i] == "undefined") { - this.cellWidthPC[i] = this.initCellWidth[i] - } - var cwidth = (gridWidth * this.cellWidthPC[i] / 100) || 0; - if (fix > 0.5) { - cwidth++; - fix-- - } - var rwidth = this.cellWidthPX[i] = Math.floor(cwidth); - var fix = fix + cwidth - rwidth - } else { - if (typeof this.cellWidthPX[i] == "undefined") { - this.cellWidthPX[i] = this.initCellWidth[i] - } - } - if (!this._hrrar[i]) { - summ += this.cellWidthPX[i] * 1 - } - } - if (fcols.length) { - var ms = Math.floor((gridWidth - summ) / fcols.length); - if (ms < 0) { - ms = 1 - } - for (var i = 0; i < fcols.length; i++) { - var next = Math.max((this._drsclmW ? (this._drsclmW[fcols[i]] || 0) : 0), ms); - this.cellWidthPX[fcols[i]] = next; - summ += next - } - if (gridWidth > summ) { - var last = fcols[fcols.length - 1]; - this.cellWidthPX[last] = this.cellWidthPX[last] + (gridWidth - summ); - summ = gridWidth - } - this._setAutoResize() - } - this.obj.style.width = summ + "px"; - this.hdr.style.width = summ + "px"; - if (this.ftr) { - this.ftr.style.width = summ + "px" - } - this.chngCellWidth(); - return summ - }; - this.setSizes = function() { - if ((!this.hdr.rows[0])) { - return - } - var quirks = this.quirks = (_isIE && document.compatMode == "BackCompat"); - var outerBorder = (this.entBox.offsetWidth - this.entBox.clientWidth) / 2; - if (!this.dontSetSizes) { - if (this.globalBox) { - if (!this.globalBox.clientWidth) { - return - } - var ow = this.globalBox.clientWidth; - var splitOuterBorder = (this.globalBox.offsetWidth - ow) / 2; - if (this._delta_x && !this._realfake) { - this.globalBox.style.width = this._delta_x; - this.globalBox.style.boxSizing = "border-box"; - var owu = this.globalBox.clientWidth; - this.entBox.style.width = Math.max(0, (owu + (quirks ? splitOuterBorder * 2 : 0)) - this._fake.entBox.clientWidth) + "px"; - if (owu != this._lastTimeSplitWidth) { - this._fake._correctSplit(this._fake.entBox.clientWidth); - this._lastTimeSplitWidth = owu - } - } - if (this._delta_y && !this._realfake) { - this.globalBox.style.height = this._delta_y; - this.entBox.style.overflow = this._fake.entBox.style.overflow = "hidden"; - this.entBox.style.height = this._fake.entBox.style.height = this.globalBox.clientHeight + (quirks ? splitOuterBorder * 2 : 0) + "px" - } - } else { - if (this._delta_x) { - if (this.entBox.parentNode && this.entBox.parentNode.tagName == "TD") { - this.entBox.style.width = "1px"; - this.entBox.style.width = parseInt(this._delta_x) * this.entBox.parentNode.clientWidth / 100 - outerBorder * 2 + "px" - } else { - if (this._delta_x === "100%" || !this.entBox.parentNode) { - this.entBox.style.width = this.entBox.parentNode.offsetWidth + "px" - } else { - this.entBox.style.width = this._delta_x - } - } - } - if (this._delta_y) { - this.entBox.style.height = this._delta_y - } - } - } - window.clearTimeout(this._sizeTime); - if (!this.entBox.offsetWidth && (!this.globalBox || !this.globalBox.offsetWidth)) { - this._sizeTime = window.setTimeout(function() { - if (self.setSizes) { - self.setSizes() - } - }, 250); - return - } - var border_x = ((!this._wthB) && ((this.entBox.cmp || this._delta_x) && ((this.skin_name || "").indexOf("dhx") == 0 || this.skin_name == "material") && !quirks) ? 2 : 0); - var border_y = ((!this._wthB) && ((this.entBox.cmp || this._delta_y) && ((this.skin_name || "").indexOf("dhx") == 0 || this.skin_name == "material") && !quirks) ? 2 : 0); - if (this._sizeFix) { - border_x -= this._sizeFix; - border_y -= this._sizeFix - } - var isVScroll = this.parentGrid ? false : (this.objBox.scrollHeight > this.objBox.offsetHeight); - var scrfix = dhtmlx.$customScroll ? 0 : 18; - var gridWidth = this.entBox.clientWidth - (this.skin_h_correction || 0) * (quirks ? 0 : 1) - border_x; - var gridWidthActive = this.entBox.clientWidth - (this.skin_h_correction || 0) - border_x; - var gridHeight = this.entBox.clientHeight - border_y; - var summ = this.setColumnSizes(gridWidthActive - (isVScroll ? scrfix : 0) - (this._correction_x || 0)); - var isHScroll = this.parentGrid ? false : ((this.objBox.scrollWidth > this.objBox.offsetWidth) || (this.objBox.style.overflowX == "scroll")); - var headerHeight = this.hdr.clientHeight; - var footerHeight = this.ftr ? this.ftr.clientHeight : 0; - var newWidth = gridWidth; - var newHeight = gridHeight - headerHeight - footerHeight; - if (this._awdth && this._awdth[0] && this._awdth[1] == 99999) { - isHScroll = 0 - } - if (this._ahgr) { - if (this._ahgrMA) { - newHeight = this.entBox.parentNode.clientHeight - headerHeight - footerHeight - } else { - newHeight = this.obj.offsetHeight + (isHScroll ? scrfix : 0) + (this._correction_y || 0) - } - if (this._ahgrM) { - if (this._ahgrF) { - newHeight = Math.min(this._ahgrM, newHeight + headerHeight + footerHeight) - headerHeight - footerHeight - } else { - newHeight = Math.min(this._ahgrM, newHeight) - } - } - if (isVScroll && newHeight >= this.obj.scrollHeight + (isHScroll ? scrfix : 0)) { - isVScroll = false; - this.setColumnSizes(gridWidthActive - (this._correction_x || 0)) - } - } - if ((this._awdth) && (this._awdth[0])) { - if (this.cellWidthType == "%") { - this.cellWidthType = "px" - } - if (this._fake) { - summ += this._fake.entBox.clientWidth - } - var newWidth = Math.min(Math.max(summ + (isVScroll ? scrfix : 0), this._awdth[2]), this._awdth[1]) + (this._correction_x || 0); - this.objBox.style.overflowX = (!isVScroll && this.objBox.scrollWidth <= newWidth) ? "hidden" : "auto"; - if (this._fake) { - newWidth -= this._fake.entBox.clientWidth - } - } - newHeight = Math.max(0, newHeight); - this._ff_size_delta = (this._ff_size_delta == 0.1) ? 0.2 : 0.1; - if (!_isFF) { - this._ff_size_delta = 0 - } - if (!this.dontSetSizes) { - this.entBox.style.width = Math.max(0, newWidth + (quirks ? 2 : 0) * outerBorder + this._ff_size_delta) + "px"; - this.entBox.style.height = newHeight + (quirks ? 2 : 0) * outerBorder + headerHeight + footerHeight + "px" - } - this.objBox.style.height = newHeight + ((quirks && !isVScroll) ? 2 : 0) * outerBorder + "px"; - this.hdrBox.style.height = headerHeight + "px"; - if (newHeight != gridHeight) { - this.doOnScroll(0, !this._srnd) - } - var ext = this["setSizes_" + this.skin_name]; - if (ext) { - ext.call(this) - } - this.setSortImgPos(); - if (headerHeight != this.hdr.clientHeight && this._ahgr) { - this.setSizes() - } - this.callEvent("onSetSizes", []) - }; - this.chngCellWidth = function() { - if ((_isOpera) && (this.ftr)) { - this.ftr.width = this.objBox.scrollWidth + "px" - } - var l = this._cCount; - for (var i = 0; i < l; i++) { - this.hdr.rows[0].cells[i].style.width = this.cellWidthPX[i] + "px"; - this.obj.rows[0].childNodes[i].style.width = this.cellWidthPX[i] + "px"; - if (this.ftr) { - this.ftr.rows[0].cells[i].style.width = this.cellWidthPX[i] + "px" - } - } - }; - this.setDelimiter = function(delim) { - this.delim = delim - }; - this.setInitWidthsP = function(wp) { - this.cellWidthType = "%"; - this.initCellWidth = wp.split(this.delim.replace(/px/gi, "")); - if (!arguments[1]) { - this._setAutoResize() - } - }; - this._setAutoResize = function() { - if (this._realfake) { - return - } - var el = window; - var self = this; - dhtmlxEvent(window, "resize", function() { - window.clearTimeout(self._resize_timer); - if (self._setAutoResize) { - self._resize_timer = window.setTimeout(function() { - if (self.setSizes) { - self.setSizes() - } - if (self._fake) { - self._fake._correctSplit() - } - }, 100) - } - }); - this._setAutoResize = function() {} - }; - this.setInitWidths = function(wp) { - this.cellWidthType = "px"; - this.initCellWidth = wp.split(this.delim); - if (_isFF) { - for (var i = 0; i < this.initCellWidth.length; i++) { - if (this.initCellWidth[i] != "*") { - this.initCellWidth[i] = parseInt(this.initCellWidth[i]) - } - } - } - }; - this.enableMultiline = function(state) { - this.multiLine = dhx4.s2b(state) - }; - this.enableMultiselect = function(state) { - this.selMultiRows = dhx4.s2b(state) - }; - this.setImagePath = function(path) { - path = path.replace(/imgs\/dhxgrid_[a-z]*\/$/, "imgs/"); - this._imgURL = path; - this.imgURL = path + "dhxgrid_" + (this.skin_name || "dhx_skyblue").replace("dhx_", "") + "/"; - this.iconTree = this.imgURL + "tree/" - }; - this.setImagesPath = this.setImagePath; - this.setIconPath = function(path) { - this.iconURL = path - }; - this.setIconsPath = this.setIconPath; - this.changeCursorState = function(ev) { - var el = ev.target || ev.srcElement; - if (el.tagName != "TD") { - el = this.getFirstParentOfType(el, "TD") - } - if (!el) { - return - } - if ((el.tagName == "TD") && (this._drsclmn) && (!this._drsclmn[el._cellIndex])) { - return el.style.cursor = "default" - } - var check = (ev.layerX || 0) + (((!_isIE) && (ev.target.tagName == "DIV")) ? el.offsetLeft : 0); - if ((el.offsetWidth - (ev.offsetX || (parseInt(this.getPosition(el, this.hdrBox)) - check) * -1)) < (_isOpera ? 20 : 10)) { - el.style.cursor = "E-resize" - } else { - el.style.cursor = "default" - } - if (_isOpera) { - this.hdrBox.scrollLeft = this.objBox.scrollLeft - } - }; - this.startColResize = function(ev) { - if (this.resized) { - this.stopColResize() - } - this.resized = null; - var el = ev.target || ev.srcElement; - if (el.tagName != "TD") { - el = this.getFirstParentOfType(el, "TD") - } - var x = ev.clientX; - var tabW = this.hdr.offsetWidth; - var startW = parseInt(el.offsetWidth); - if (el.tagName == "TD" && el.style.cursor != "default") { - if ((this._drsclmn) && (!this._drsclmn[el._cellIndex])) { - return - } - self._old_d_mm = document.body.onmousemove; - self._old_d_mu = document.body.onmouseup; - document.body.onmousemove = function(e) { - if (self) { - self.doColResize(e || window.event, el, startW, x, tabW) - } - }; - document.body.onmouseup = function() { - if (self) { - self.stopColResize() - } - } - } - }; - this.stopColResize = function() { - document.body.onmousemove = self._old_d_mm || ""; - document.body.onmouseup = self._old_d_mu || ""; - this.setSizes(); - this.doOnScroll(0, 1); - this.callEvent("onResizeEnd", [this]) - }; - this.doColResize = function(ev, el, startW, x, tabW) { - el.style.cursor = "E-resize"; - this.resized = el; - var fcolW = startW + (ev.clientX - x); - var wtabW = tabW + (ev.clientX - x); - if (!(this.callEvent("onResize", [el._cellIndex, fcolW, this]))) { - return - } - if (_isIE) { - this.objBox.scrollLeft = this.hdrBox.scrollLeft - } - var result = false; - if (el.colSpan > 1) { - var a_sizes = new Array(); - for (var i = 0; i < el.colSpan; i++) { - a_sizes[i] = Math.round(fcolW * this.hdr.rows[0].childNodes[el._cellIndexS + i].offsetWidth / el.offsetWidth) - } - for (var i = 0; i < el.colSpan; i++) { - result = this._setColumnSizeR(el._cellIndexS + i * 1, a_sizes[i]) - } - } else { - result = this._setColumnSizeR(el._cellIndex, fcolW) - } - this.doOnScroll(0, 1); - this.setSizes(); - if (this._fake && this._awdth) { - this._fake._correctSplit() - } - return result - }; - this._setColumnSizeR = function(ind, fcolW) { - if (fcolW > ((this._drsclmW && !this._notresize) ? (this._drsclmW[ind] || 10) : 10)) { - this.obj.rows[0].childNodes[ind].style.width = fcolW + "px"; - this.hdr.rows[0].childNodes[ind].style.width = fcolW + "px"; - if (this.ftr) { - this.ftr.rows[0].childNodes[ind].style.width = fcolW + "px" - } - if (this.cellWidthType == "px") { - this.cellWidthPX[ind] = fcolW - } else { - var gridWidth = parseInt(this.entBox.offsetWidth); - if (this.objBox.scrollHeight > this.objBox.offsetHeight) { - gridWidth -= 17 - } - var pcWidth = Math.round(fcolW / gridWidth * 100); - this.cellWidthPC[ind] = pcWidth - } - if (this.sortImg.style.display != "none") { - this.setSortImgPos() - } - } else { - return false - } - }; - this.setSortImgState = function(state, ind, order, row) { - order = (order || "asc").toLowerCase(); - if (!dhx4.s2b(state)) { - this.sortImg.style.display = "none"; - if (this.r_fldSorted) { - this.r_fldSorted.className = "" - } - this.fldSorted = this.r_fldSorted = null; - return - } - if (order == "asc") { - this.sortImg.className = "dhxgrid_sort_asc" - } else { - this.sortImg.className = "dhxgrid_sort_desc" - } - this.sortImg.style.display = ""; - this.fldSorted = this.hdr.rows[0].childNodes[ind]; - var r = this.hdr.rows[row || 1]; - if (!r) { - return - } - for (var i = 0; i < r.childNodes.length; i++) { - if (r.childNodes[i]._cellIndexS == ind) { - this.r_fldSorted = r.childNodes[i]; - return this.setSortImgPos() - } - } - return this.setSortImgState(state, ind, order, (row || 1) + 1) - }; - this.setSortImgPos = function(ind, mode, hRowInd, el) { - if (this._hrrar && this._hrrar[this.r_fldSorted ? this.r_fldSorted._cellIndex : ind]) { - return - } - if (this.ar_fldSorted) { - this.ar_fldSorted.className = "" - } - if (!el) { - if (!ind) { - var el = this.r_fldSorted - } else { - var el = this.hdr.rows[hRowInd || 0].cells[ind] - } - } - if (el != null) { - var pos = this.getPosition(el, this.hdrBox); - var wdth = el.offsetWidth; - this.ar_fldSorted = el; - el.className = this.sortImg.className + "_col"; - this.sortImg.style.left = Number(pos[0] + wdth - 13) + "px"; - this.sortImg.defLeft = parseInt(this.sortImg.style.left); - this.sortImg.style.top = Number(pos[1] + 5) + "px"; - if ((!this.useImagesInHeader) && (!mode)) { - this.sortImg.style.display = "inline" - } - this.sortImg.style.left = this.sortImg.defLeft + "px" - } - }; - this.setActive = function(fl) { - if (arguments.length == 0) { - var fl = true - } - if (fl == true) { - if (globalActiveDHTMLGridObject && (globalActiveDHTMLGridObject != this)) { - globalActiveDHTMLGridObject.editStop(); - globalActiveDHTMLGridObject.callEvent("onBlur", [globalActiveDHTMLGridObject]) - } - globalActiveDHTMLGridObject = this; - this.isActive = true - } else { - this.isActive = false; - this.callEvent("onBlur", [this]) - } - }; - this._doClick = function(ev) { - var selMethod = 0; - var el = this.getFirstParentOfType(_isIE ? ev.srcElement : ev.target, "TD"); - if (!el || !el.parentNode || !el.parentNode.idd) { - return - } - var fl = true; - if (this.markedCells) { - var markMethod = 0; - if (ev.shiftKey || ev.metaKey) { - markMethod = 1 - } - if (ev.ctrlKey) { - markMethod = 2 - } - this.doMark(el, markMethod); - return true - } - if (this.selMultiRows != false) { - if (ev.shiftKey && this.row != null && this.selectedRows.length) { - selMethod = 1 - } - if (ev.ctrlKey || ev.metaKey) { - selMethod = 2 - } - } - return this.doClick(el, fl, selMethod, false) - }; - this._doContClick = function(ev) { - var el = this.getFirstParentOfType(_isIE ? ev.srcElement : ev.target, "TD"); - if ((!el) || (typeof(el.parentNode.idd) == "undefined")) { - this.callEvent("onEmptyClick", [ev]); - return true - } - if (ev.button == 2 || (_isMacOS && ev.ctrlKey)) { - if (!this.callEvent("onRightClick", [el.parentNode.idd, el._cellIndex, ev])) { - var z = function(e) { - (e || event).cancelBubble = true; - return false - }; - (ev.srcElement || ev.target).oncontextmenu = z; - return z(ev) - } - if (this._ctmndx) { - if (!(this.callEvent("onBeforeContextMenu", [el.parentNode.idd, el._cellIndex, this]))) { - return true - } - if (_isIE) { - ev.srcElement.oncontextmenu = function() { - event.cancelBubble = true; - return false - } - } - if (this._ctmndx.showContextMenu) { - var dEl0 = window.document.documentElement; - var dEl1 = window.document.body; - var corrector = new Array((dEl0.scrollLeft || dEl1.scrollLeft), (dEl0.scrollTop || dEl1.scrollTop)); - if (_isIE) { - var x = ev.clientX + corrector[0]; - var y = ev.clientY + corrector[1] - } else { - var x = ev.pageX; - var y = ev.pageY - } - this._ctmndx.showContextMenu(x - 1, y - 1); - this.contextID = this._ctmndx.contextMenuZoneId = el.parentNode.idd + "_" + el._cellIndex; - this._ctmndx._skip_hide = true - } else { - el.contextMenuId = el.parentNode.idd + "_" + el._cellIndex; - el.contextMenu = this._ctmndx; - el.a = this._ctmndx._contextStart; - el.a(el, ev); - el.a = null - } - ev.cancelBubble = true; - return false - } - } else { - if (this._ctmndx) { - if (this._ctmndx.hideContextMenu) { - this._ctmndx.hideContextMenu() - } else { - this._ctmndx._contextEnd() - } - } - } - return true - }; - this.doClick = function(el, fl, selMethod, show) { - if (!this.selMultiRows) { - selMethod = 0 - } - var psid = this.row ? this.row.idd : 0; - this.setActive(true); - if (!selMethod) { - selMethod = 0 - } - if (this.cell != null) { - this.cell.className = this.cell.className.replace(/[ \t]*cellselected/g, "") - } - if (el.tagName == "TD") { - if (this.checkEvent("onSelectStateChanged")) { - var initial = this.getSelectedId() - } - var prow = this.row; - if (selMethod == 1) { - var elRowIndex = this.rowsCol._dhx_find(el.parentNode); - var lcRowIndex = this.rowsCol._dhx_find(this.lastClicked); - if (elRowIndex > lcRowIndex) { - var strt = lcRowIndex; - var end = elRowIndex - } else { - var strt = elRowIndex; - var end = lcRowIndex - } - for (var i = 0; i < this.rowsCol.length; i++) { - if ((i >= strt && i <= end)) { - if (this.rowsCol[i] && (!this.rowsCol[i]._sRow)) { - if (!this.rowsCol[i].idd) { - continue - } - if (this.rowsCol[i].className.indexOf("rowselected") == -1 && (this.callEvent("onBeforeSelect", [this.rowsCol[i].idd, psid, el._cellIndex]))) { - this.rowsCol[i].className += " rowselected"; - this.selectedRows[this.selectedRows.length] = this.rowsCol[i] - } - } else { - this.clearSelection(); - return this.doClick(el, fl, 0, show) - } - } - } - } else { - if (selMethod == 2) { - if (el.parentNode.className.indexOf("rowselected") != -1) { - el.parentNode.className = el.parentNode.className.replace(/[ \t]*rowselected/g, ""); - this.selectedRows._dhx_removeAt(this.selectedRows._dhx_find(el.parentNode)); - var skipRowSelection = true; - show = false - } - } - } - this.editStop(); - if (typeof(el.parentNode.idd) == "undefined") { - return true - } - if ((!skipRowSelection) && (!el.parentNode._sRow)) { - if (this.callEvent("onBeforeSelect", [el.parentNode.idd, psid, el._cellIndex])) { - if (this.getSelectedRowId() != el.parentNode.idd) { - if (selMethod == 0) { - this.clearSelection() - } - this.cell = el; - if ((prow == el.parentNode) && (this._chRRS)) { - fl = false - } - this.row = el.parentNode; - this.row.className += " rowselected"; - if (this.selectedRows._dhx_find(this.row) == -1) { - this.selectedRows[this.selectedRows.length] = this.row - } - } else { - this.cell = el; - this.row = el.parentNode - } - } else { - fl = false - } - } - if (this.cell && this.cell.parentNode.className.indexOf("rowselected") != -1) { - this.cell.className = this.cell.className.replace(/[ \t]*cellselected/g, "") + " cellselected" - } - if (selMethod != 1) { - if (!this.row) { - return - } - } - this.lastClicked = el.parentNode; - var rid = this.row.idd; - var cid = this.cell; - if (fl && typeof(rid) != "undefined" && cid && !skipRowSelection) { - self.onRowSelectTime = setTimeout(function() { - if (self.callEvent) { - self.callEvent("onRowSelect", [rid, cid._cellIndex]) - } - }, 100) - } else { - this.callEvent("onRowSelectRSOnly", [rid]) - } - if (this.checkEvent("onSelectStateChanged")) { - var afinal = this.getSelectedId(); - if (initial != afinal) { - this.callEvent("onSelectStateChanged", [afinal, initial]) - } - } - if (skipRowSelection) { - return false - } - } - this.isActive = true; - if (show !== false && this.cell && this.cell.parentNode.idd) { - this.moveToVisible(this.cell) - } - }; - this.selectAll = function() { - this.clearSelection(); - var coll = this.rowsBuffer; - if (this.pagingOn) { - coll = this.rowsCol - } - for (var i = 0; i < coll.length; i++) { - this.render_row(i).className += " rowselected" - } - this.selectedRows = dhtmlxArray([].concat(coll)); - if (this.selectedRows.length) { - this.row = this.selectedRows[0]; - this.cell = this.row.cells[0] - } - if ((this._fake) && (!this._realfake)) { - this._fake.selectAll() - } - }; - this.selectCell = function(r, cInd, fl, preserve, edit, show) { - if (!fl) { - fl = false - } - if (typeof(r) != "object") { - r = this.render_row(r) - } - if (!r || r == -1) { - return null - } - if (r._childIndexes) { - var c = r.childNodes[r._childIndexes[cInd]] - } else { - var c = r.childNodes[cInd] - } - if (!c) { - c = r.childNodes[0] - } - if (!this.markedCells) { - if (preserve) { - this.doClick(c, fl, 3, show) - } else { - this.doClick(c, fl, 0, show) - } - } else { - this.doMark(c, preserve ? 2 : 0) - } - if (edit) { - this.editCell() - } - }; - this.moveToVisible = function(cell_obj, onlyVScroll) { - if (this.pagingOn) { - var newPage = Math.floor(this.getRowIndex(cell_obj.parentNode.idd) / this.rowsBufferOutSize) + 1; - if (newPage != this.currentPage) { - this.changePage(newPage) - } - } - try { - if (cell_obj.offsetHeight) { - var distance = cell_obj.offsetLeft + cell_obj.offsetWidth + 20; - var scrollLeft = 0; - if (distance > (this.objBox.offsetWidth + this.objBox.scrollLeft)) { - if (cell_obj.offsetLeft > this.objBox.scrollLeft) { - scrollLeft = cell_obj.offsetLeft - (this.objBox.offsetWidth - cell_obj.offsetWidth) + 5 - } - } else { - if (cell_obj.offsetLeft < this.objBox.scrollLeft) { - distance -= cell_obj.offsetWidth * 2 / 3; - if (distance < this.objBox.scrollLeft) { - scrollLeft = cell_obj.offsetLeft - 5 - } - } - } - if ((scrollLeft) && (!onlyVScroll)) { - this.objBox.scrollLeft = scrollLeft - } - } - if (!cell_obj.offsetHeight) { - var mask = this._realfake ? this._fake.rowsAr[cell_obj.parentNode.idd] : cell_obj.parentNode; - distance = this.rowsBuffer._dhx_find(mask) * this._srdh - } else { - distance = cell_obj.offsetTop - } - var distancemax = distance + cell_obj.offsetHeight + 38; - if (distancemax > (this.objBox.offsetHeight + this.objBox.scrollTop)) { - var scrollTop = distancemax - this.objBox.offsetHeight - } else { - if (distance < this.objBox.scrollTop) { - var scrollTop = distance - 5 - } - } - if (scrollTop) { - this.objBox.scrollTop = scrollTop - } - } catch (er) {} - }; - this.editCell = function() { - if (this.editor && this.cell == this.editor.cell) { - return - } - this.editStop(); - if ((this.isEditable != true) || (!this.cell)) { - return false - } - var c = this.cell; - if (c.parentNode._locked) { - return false - } - this.editor = this.cells4(c); - if (this.editor != null) { - if (this.editor.isDisabled()) { - this.editor = null; - return false - } - if (this.callEvent("onEditCell", [0, this.row.idd, this.cell._cellIndex]) != false && this.editor.edit) { - this._Opera_stop = (new Date).valueOf(); - c.className += " editable"; - this.editor.edit(); - this.callEvent("onEditCell", [1, this.row.idd, this.cell._cellIndex]) - } else { - this.editor = null - } - } - }; - this.editStop = function(mode) { - if (_isOpera) { - if (this._Opera_stop) { - if ((this._Opera_stop * 1 + 50) > (new Date).valueOf()) { - return - } - this._Opera_stop = null - } - } - if (this.editor && this.editor != null) { - this.editor.cell.className = this.editor.cell.className.replace("editable", ""); - if (mode) { - var t = this.editor.val; - this.editor.detach(); - this.editor.setValue(t); - this.editor = null; - this.callEvent("onEditCancel", [this.row.idd, this.cell._cellIndex, t]); - return - } - if (this.editor.detach()) { - this.cell.wasChanged = true - } - var g = this.editor; - if (g == null) { - return - } - this.editor = null; - var z = this.callEvent("onEditCell", [2, this.row.idd, this.cell._cellIndex, g.getValue(), g.getOldValue()]); - if ((typeof(z) == "string") || (typeof(z) == "number")) { - g[g.setImage ? "setLabel" : "setValue"](z) - } else { - if (!z) { - g[g.setImage ? "setLabel" : "setValue"](g.val) - } - } - if (this._ahgr && this.multiLine) { - this.setSizes() - } - } - }; - this._nextRowCell = function(row, dir, pos) { - row = this._nextRow((this._groups ? this.rowsCol : this.rowsBuffer)._dhx_find(row), dir); - if (!row) { - return null - } - return row.childNodes[row._childIndexes ? row._childIndexes[pos] : pos] - }; - this._getNextCell = function(acell, dir, i) { - acell = acell || this.cell; - var arow = acell.parentNode; - if (this._tabOrder) { - i = this._tabOrder[acell._cellIndex]; - if (typeof i != "undefined") { - if (i < 0) { - acell = this._nextRowCell(arow, dir, Math.abs(i) - 1) - } else { - acell = arow.childNodes[i] - } - } - } else { - var i = acell._cellIndex + dir; - if (i >= 0 && i < this._cCount) { - if (arow._childIndexes) { - i = arow._childIndexes[acell._cellIndex] + dir - } - acell = arow.childNodes[i] - } else { - acell = this._nextRowCell(arow, dir, (dir == 1 ? 0 : (this._cCount - 1))) - } - } - if (!acell) { - if ((dir == 1) && this.tabEnd) { - this.tabEnd.focus(); - this.tabEnd.focus(); - this.setActive(false) - } - if ((dir == -1) && this.tabStart) { - this.tabStart.focus(); - this.tabStart.focus(); - this.setActive(false) - } - return null - } - if (acell.style.display != "none" && (!this.smartTabOrder || !this.cells(acell.parentNode.idd, acell._cellIndex).isDisabled())) { - return acell - } - return this._getNextCell(acell, dir) - }; - this._nextRow = function(ind, dir) { - var r = this.render_row(ind + dir); - if (!r || r == -1) { - return null - } - if (r && r.style.display == "none") { - return this._nextRow(ind + dir, dir) - } - return r - }; - this.scrollPage = function(dir) { - if (!this.rowsBuffer.length) { - return - } - var master = this._realfake ? this._fake : this; - var new_ind = Math.floor((master._r_select || this.getRowIndex(this.row.idd) || 0) + (dir) * this.objBox.offsetHeight / (this._srdh || 20)); - if (new_ind < 0) { - new_ind = 0 - } - if (new_ind >= this.rowsBuffer.length) { - new_ind = this.rowsBuffer.length - 1 - } - if (this._srnd && !this.rowsBuffer[new_ind]) { - this.objBox.scrollTop += Math.floor((dir) * this.objBox.offsetHeight / (this._srdh || 20)) * (this._srdh || 20); - if (this._fake) { - this._fake.objBox.scrollTop = this.objBox.scrollTop - } - master._r_select = new_ind - } else { - this.selectCell(new_ind, this.cell._cellIndex, true, false, false, (this.multiLine || this._srnd)); - if (!this.multiLine && !this._srnd && !this._realfake) { - this.objBox.scrollTop = this.getRowById(this.getRowId(new_ind)).offsetTop; - if (this._fake) { - this._fake.objBox.scrollTop = this.objBox.scrollTop - } - } - master._r_select = null - } - }; - this.doKey = function(ev) { - if (!ev) { - return true - } - if ((ev.target || ev.srcElement).value !== window.undefined) { - var zx = (ev.target || ev.srcElement); - if (zx.className != "dhxcombo_input" && zx.className != "dhx_tab_ignore" && ((!zx.parentNode) || (zx.parentNode.className.indexOf("editable") == -1))) { - return true - } - } - if ((globalActiveDHTMLGridObject) && (this != globalActiveDHTMLGridObject)) { - return globalActiveDHTMLGridObject.doKey(ev) - } - if (this.isActive == false) { - return true - } - if (this._htkebl) { - return true - } - if (!this.callEvent("onKeyPress", [ev.keyCode, ev.ctrlKey, ev.shiftKey, ev])) { - return false - } - var code = "k" + ev.keyCode + "_" + (ev.ctrlKey ? 1 : 0) + "_" + (ev.shiftKey ? 1 : 0); - if (this.cell) { - if (this._key_events[code]) { - if (false === this._key_events[code].call(this)) { - return true - } - if (ev.preventDefault) { - ev.preventDefault() - } - ev.cancelBubble = true; - return false - } - if (this._key_events.k_other) { - this._key_events.k_other.call(this, ev) - } - } - return true - }; - this.selectRow = function(r, fl, preserve, show) { - if (typeof(r) != "object") { - r = this.render_row(r) - } - this.selectCell(r, 0, fl, preserve, false, show) - }; - this.wasDblClicked = function(ev) { - var el = this.getFirstParentOfType(_isIE ? ev.srcElement : ev.target, "TD"); - if (el) { - var rowId = el.parentNode.idd; - return this.callEvent("onRowDblClicked", [rowId, el._cellIndex, ev]) - } - }; - this._onHeaderClick = function(e, el) { - var that = this.grid; - el = el || that.getFirstParentOfType(_isIE ? event.srcElement : e.target, "TD"); - if (this.grid.resized == null) { - if (!(this.grid.callEvent("onHeaderClick", [el._cellIndexS, (e || window.event)]))) { - return false - } - that.sortField(el._cellIndexS, false, el) - } - this.grid.resized = null - }; - this.deleteSelectedRows = function() { - var num = this.selectedRows.length; - if (num == 0) { - return - } - var tmpAr = this.selectedRows; - this.selectedRows = dhtmlxArray(); - for (var i = num - 1; i >= 0; i--) { - var node = tmpAr[i]; - if (!this.deleteRow(node.idd, node)) { - this.selectedRows[this.selectedRows.length] = node - } else { - if (node == this.row) { - var ind = i - } - } - } - if (ind) { - try { - if (ind + 1 > this.rowsCol.length) { - ind-- - } - this.selectCell(ind, 0, true) - } catch (er) { - this.row = null; - this.cell = null - } - } - }; - this.getSelectedRowId = function() { - var selAr = new Array(0); - var uni = {}; - for (var i = 0; i < this.selectedRows.length; i++) { - var id = this.selectedRows[i].idd; - if (uni[id]) { - continue - } - selAr[selAr.length] = id; - uni[id] = true - } - if (selAr.length == 0) { - return null - } else { - return selAr.join(this.delim) - } - }; - this.getSelectedCellIndex = function() { - if (this.cell != null) { - return this.cell._cellIndex - } else { - return -1 - } - }; - this.getColWidth = function(ind) { - return parseInt(this.cellWidthPX[ind]) - }; - this.setColWidth = function(ind, value) { - if (value == "*") { - this.initCellWidth[ind] = "*" - } else { - if (this._hrrar[ind]) { - return - } - if (this.cellWidthType == "px") { - this.cellWidthPX[ind] = parseInt(value) - } else { - this.cellWidthPC[ind] = parseInt(value) - } - } - this.setSizes() - }; - this.getRowIndex = function(row_id) { - for (var i = 0; i < this.rowsBuffer.length; i++) { - if (this.rowsBuffer[i] && this.rowsBuffer[i].idd == row_id) { - return i - } - } - return -1 - }; - this.getRowId = function(ind) { - return this.rowsBuffer[ind] ? this.rowsBuffer[ind].idd : this.undefined - }; - this.setRowId = function(ind, row_id) { - this.changeRowId(this.getRowId(ind), row_id) - }; - this.changeRowId = function(oldRowId, newRowId) { - if (oldRowId == newRowId) { - return - } - var row = this.rowsAr[oldRowId]; - row.idd = newRowId; - if (this.UserData[oldRowId]) { - this.UserData[newRowId] = this.UserData[oldRowId]; - this.UserData[oldRowId] = null - } - if (this._h2 && this._h2.get[oldRowId]) { - this._h2.get[newRowId] = this._h2.get[oldRowId]; - this._h2.get[newRowId].id = newRowId; - delete this._h2.get[oldRowId] - } - this.rowsAr[oldRowId] = null; - this.rowsAr[newRowId] = row; - for (var i = 0; i < row.childNodes.length; i++) { - if (row.childNodes[i]._code) { - row.childNodes[i]._code = this._compileSCL(row.childNodes[i]._val, row.childNodes[i]) - } - } - if (this._mat_links && this._mat_links[oldRowId]) { - var a = this._mat_links[oldRowId]; - delete this._mat_links[oldRowId]; - for (var c in a) { - for (var i = 0; i < a[c].length; i++) { - this._compileSCL(a[c][i].original, a[c][i]) - } - } - } - this.callEvent("onRowIdChange", [oldRowId, newRowId]) - }; - this.setColumnIds = function(ids) { - this.columnIds = ids.split(this.delim) - }; - this.setColumnId = function(ind, id) { - this.columnIds[ind] = id - }; - this.getColIndexById = function(id) { - for (var i = 0; i < this.columnIds.length; i++) { - if (this.columnIds[i] == id) { - return i - } - } - }; - this.getColumnId = function(cin) { - return this.columnIds[cin] - }; - this.getColumnLabel = function(cin, ind, hdr, raw) { - var z = (hdr || this.hdr).rows[(ind || 0) + 1]; - for (var i = 0; i < z.cells.length; i++) { - if (z.cells[i]._cellIndexS == cin) { - return raw ? z.cells[i].firstChild.innerHTML : (_isIE ? z.cells[i].innerText : z.cells[i].textContent) - } - } - return "" - }; - this.getColLabel = this.getColumnLabel; - this.getFooterLabel = function(cin, ind, raw) { - return this.getColumnLabel(cin, ind, this.ftr, raw) - }; - this.setRowTextBold = function(row_id) { - var r = this.getRowById(row_id); - if (r) { - r.style.fontWeight = "bold" - } - }; - this.setRowTextStyle = function(row_id, styleString) { - var r = this.getRowById(row_id); - if (!r) { - return - } - for (var i = 0; i < r.childNodes.length; i++) { - var pfix = r.childNodes[i]._attrs.style || ""; - if ((this._hrrar) && (this._hrrar[i])) { - pfix = "display:none;" - } - if (_isIE) { - r.childNodes[i].style.cssText = pfix + "width:" + r.childNodes[i].style.width + ";" + styleString - } else { - r.childNodes[i].style.cssText = pfix + "width:" + r.childNodes[i].style.width + ";" + styleString - } - } - }; - this.setRowColor = function(row_id, color) { - var r = this.getRowById(row_id); - for (var i = 0; i < r.childNodes.length; i++) { - r.childNodes[i].bgColor = color - } - }; - this.setCellTextStyle = function(row_id, ind, styleString) { - var r = this.getRowById(row_id); - if (!r) { - return - } - var cell = r.childNodes[r._childIndexes ? r._childIndexes[ind] : ind]; - if (!cell) { - return - } - var pfix = ""; - if ((this._hrrar) && (this._hrrar[ind])) { - pfix = "display:none;" - } - if (_isIE) { - cell.style.cssText = pfix + "width:" + cell.style.width + ";" + styleString - } else { - cell.style.cssText = pfix + "width:" + cell.style.width + ";" + styleString - } - }; - this.setRowTextNormal = function(row_id) { - var r = this.getRowById(row_id); - if (r) { - r.style.fontWeight = "normal" - } - }; - this.doesRowExist = function(row_id) { - if (this.getRowById(row_id) != null) { - return true - } else { - return false - } - }; - this.getColumnsNum = function() { - return this._cCount - }; - this.moveRowUp = function(row_id) { - var r = this.getRowById(row_id); - if (this.isTreeGrid()) { - return this.moveRowUDTG(row_id, -1) - } - var rInd = this.rowsCol._dhx_find(r); - if ((r.previousSibling) && (rInd != 0)) { - r.parentNode.insertBefore(r, r.previousSibling); - this.rowsCol._dhx_swapItems(rInd, rInd - 1); - this.setSizes(); - var bInd = this.rowsBuffer._dhx_find(r); - this.rowsBuffer._dhx_swapItems(bInd, bInd - 1); - if (this._cssEven) { - this._fixAlterCss(rInd - 1) - } - } - }; - this.moveRowDown = function(row_id) { - var r = this.getRowById(row_id); - if (this.isTreeGrid()) { - return this.moveRowUDTG(row_id, 1) - } - var rInd = this.rowsCol._dhx_find(r); - if (r.nextSibling) { - this.rowsCol._dhx_swapItems(rInd, rInd + 1); - if (r.nextSibling.nextSibling) { - r.parentNode.insertBefore(r, r.nextSibling.nextSibling) - } else { - r.parentNode.appendChild(r) - } - this.setSizes(); - var bInd = this.rowsBuffer._dhx_find(r); - this.rowsBuffer._dhx_swapItems(bInd, bInd + 1); - if (this._cssEven) { - this._fixAlterCss(rInd) - } - } - }; - this.getCombo = function(col_ind) { - if (!this.combos[col_ind]) { - this.combos[col_ind] = new dhtmlXGridComboObject() - } - return this.combos[col_ind] - }; - this.setUserData = function(row_id, name, value) { - if (!row_id) { - row_id = "gridglobaluserdata" - } - if (!this.UserData[row_id]) { - this.UserData[row_id] = new Hashtable() - } - this.UserData[row_id].put(name, value) - }; - this.getUserData = function(row_id, name) { - if (!row_id) { - row_id = "gridglobaluserdata" - } - this.getRowById(row_id); - var z = this.UserData[row_id]; - return (z ? z.get(name) : "") - }; - this.setEditable = function(fl) { - this.isEditable = dhx4.s2b(fl) - }; - this.selectRowById = function(row_id, multiFL, show, call) { - if (!call) { - call = false - } - this.selectCell(this.getRowById(row_id), 0, call, multiFL, false, show) - }; - this.unselectRowById = function(row_id) { - for (var i = 0; i < this.selectedRows.length; i++) { - if (this.selectedRows[i].idd == row_id) { - var r = this.rowsAr[row_id]; - if (r) { - r.className = r.className.replace(/[ \t]*rowselected/g, "") - } - if (this.cell && this.cell.parentNode == r) { - this.cell.className = this.cell.className.replace(/[ \t]*cellselected/g, ""); - this.cell = null - } - this.selectedRows.splice(i, 1); - break - } - } - }; - this.clearSelection = function() { - this.editStop(); - for (var i = 0; i < this.selectedRows.length; i++) { - var r = this.rowsAr[this.selectedRows[i].idd]; - if (r) { - r.className = r.className.replace(/[ \t]*rowselected/g, "") - } - } - this.selectedRows = dhtmlxArray(); - this.row = null; - if (this.cell != null) { - this.cell.className = this.cell.className.replace(/[ \t]*cellselected/g, ""); - this.cell = null - } - this.callEvent("onSelectionCleared", []) - }; - this.copyRowContent = function(from_row_id, to_row_id) { - var frRow = this.getRowById(from_row_id); - if (!this.isTreeGrid()) { - for (var i = 0; i < frRow.cells.length; i++) { - this.cells(to_row_id, i).setValue(this.cells(from_row_id, i).getValue()) - } - } else { - this._copyTreeGridRowContent(frRow, from_row_id, to_row_id) - } - if (!_isIE) { - this.getRowById(from_row_id).cells[0].height = frRow.cells[0].offsetHeight - } - }; - this.setFooterLabel = function(c, label, ind) { - return this.setColumnLabel(c, label, ind, this.ftr) - }; - this.setColumnLabel = function(c, label, ind, hdr) { - var z = (hdr || this.hdr).rows[ind || 1]; - var col = (z._childIndexes ? z._childIndexes[c] : c); - if (!z.cells[col]) { - return - } - if (!this.useImagesInHeader) { - var hdrHTML = "
                    "; - if (label.indexOf("img:[") != -1) { - var imUrl = label.replace(/.*\[([^>]+)\].*/, "$1"); - label = label.substr(label.indexOf("]") + 1, label.length); - hdrHTML += "" - } - hdrHTML += label; - hdrHTML += "
                    "; - z.cells[col].innerHTML = hdrHTML; - if (this._hstyles[c]) { - z.cells[col].style.cssText = this._hstyles[c] - } - } else { - z.cells[col].style.textAlign = "left"; - z.cells[col].innerHTML = ""; - var a = new Image(); - a.src = "" + label.replace(/(\.[a-z]+)/, ".des$1"); - this.preloadImagesAr[this.preloadImagesAr.length] = a; - var b = new Image(); - b.src = "" + label.replace(/(\.[a-z]+)/, ".asc$1"); - this.preloadImagesAr[this.preloadImagesAr.length] = b - } - if ((label || "").indexOf("#") != -1) { - var t = label.match(/(^|{)#([^}]+)(}|$)/); - if (t) { - var tn = "_in_header_" + t[2]; - if (this[tn]) { - this[tn]((this.forceDivInHeader ? z.cells[col].firstChild : z.cells[col]), col, label.split(t[0])) - } - } - } - }; - this.setColLabel = function(a, b, ind, c) { - return this.setColumnLabel(a, b, (ind || 0) + 1, c) - }; - this.clearAll = function(header) { - if (!this.obj.rows[0]) { - return - } - if (this._h2) { - this._h2 = this._createHierarchy(); - if (this._fake) { - if (this._realfake) { - this._h2 = this._fake._h2 - } else { - this._fake._h2 = this._h2 - } - } - } - this.limit = this._limitC = 0; - this.editStop(true); - if (this._dLoadTimer) { - window.clearTimeout(this._dLoadTimer) - } - if (this._dload) { - this.objBox.scrollTop = 0; - this.limit = this._limitC || 0; - this._initDrF = true - } - var len = this.rowsCol.length; - len = this.obj.rows.length; - for (var i = len - 1; i > 0; i--) { - var t_r = this.obj.rows[i]; - t_r.parentNode.removeChild(t_r) - } - if (header) { - this._master_row = null; - this.obj.rows[0].parentNode.removeChild(this.obj.rows[0]); - for (var i = this.hdr.rows.length - 1; i >= 0; i--) { - var t_r = this.hdr.rows[i]; - t_r.parentNode.removeChild(t_r) - } - if (this.ftr) { - this.ftr.parentNode.removeChild(this.ftr); - this.ftr = null - } - this._aHead = this.ftr = this.cellWidth = this._aFoot = null; - this.cellType = dhtmlxArray(); - this._hrrar = []; - this.columnIds = []; - this.combos = []; - this._strangeParams = []; - this.defVal = []; - this._ivizcol = null - } - this.row = null; - this.cell = null; - this.rowsCol = dhtmlxArray(); - this.rowsAr = {}; - this._RaSeCol = []; - this.rowsBuffer = dhtmlxArray(); - this.UserData = []; - this.selectedRows = dhtmlxArray(); - if (this.pagingOn || this._srnd) { - this.xmlFileUrl = "" - } - if (this.pagingOn) { - this.changePage(1) - } - if (this._contextCallTimer) { - window.clearTimeout(this._contextCallTimer) - } - if (this._sst) { - this.enableStableSorting(true) - } - this._fillers = this.undefined; - this.setSortImgState(false); - this.setSizes(); - this.callEvent("onClearAll", []) - }; - this.sortField = function(ind, repeatFl, r_el) { - if (this.getRowsNum() == 0) { - return false - } - var el = this.hdr.rows[0].cells[ind]; - if (!el) { - return - } - if (el.tagName == "TH" && (this.fldSort.length - 1) >= el._cellIndex && this.fldSort[el._cellIndex] != "na") { - var data = this.getSortingState(); - var sortType = (data[0] == ind && data[1] == "asc") ? "des" : "asc"; - if (!this.callEvent("onBeforeSorting", [ind, this.fldSort[ind], sortType])) { - return - } - this.sortImg.className = "dhxgrid_sort_" + (sortType == "asc" ? "asc" : "desc"); - if (this.useImagesInHeader) { - var cel = this.hdr.rows[1].cells[el._cellIndex].firstChild; - if (this.fldSorted != null) { - var celT = this.hdr.rows[1].cells[this.fldSorted._cellIndex].firstChild; - celT.src = celT.src.replace(/(\.asc\.)|(\.des\.)/, ".") - } - cel.src = cel.src.replace(/(\.[a-z]+)$/, "." + sortType + "$1") - } - this.sortRows(el._cellIndex, this.fldSort[el._cellIndex], sortType); - this.fldSorted = el; - if (r_el && r_el.tagName.toLowerCase() != "th") { - this.r_fldSorted = r_el - } - var c = this.hdr.rows[1]; - var c = r_el.parentNode; - var real_el = c._childIndexes ? c._childIndexes[el._cellIndex] : el._cellIndex; - this.setSortImgPos(false, false, false, r_el) - } - }; - this.setCustomSorting = function(func, col) { - if (!this._customSorts) { - this._customSorts = new Array() - } - this._customSorts[col] = (typeof(func) == "string") ? eval(func) : func; - this.fldSort[col] = "cus" - }; - this.enableHeaderImages = function(fl) { - this.useImagesInHeader = fl - }; - this.setHeader = function(hdrStr, splitSign, styles) { - if (typeof(hdrStr) != "object") { - var arLab = this._eSplit(hdrStr) - } else { - arLab = [].concat(hdrStr) - } - var arWdth = new Array(0); - var arTyp = new dhtmlxArray(0); - var arAlg = new Array(0); - var arVAlg = new Array(0); - var arSrt = new Array(0); - for (var i = 0; i < arLab.length; i++) { - arWdth[arWdth.length] = Math.round(100 / arLab.length); - arTyp[arTyp.length] = "ed"; - arAlg[arAlg.length] = "left"; - arVAlg[arVAlg.length] = "middle"; - arSrt[arSrt.length] = "na" - } - this.splitSign = splitSign || "#cspan"; - this.hdrLabels = arLab; - this.cellWidth = arWdth; - if (!this.initCellWidth.length) { - this.setInitWidthsP(arWdth.join(this.delim), true) - } - this.cellType = arTyp; - this.cellAlign = arAlg; - this.cellVAlign = arVAlg; - this.fldSort = arSrt; - this._hstyles = styles || [] - }; - this._eSplit = function(str) { - if (![].push) { - return str.split(this.delim) - } - var a = "r" + (new Date()).valueOf(); - var z = this.delim.replace(/([\|\+\*\^])/g, "\\$1"); - return (str || "").replace(RegExp(z, "g"), a).replace(RegExp("\\\\" + a, "g"), this.delim).split(a) - }; - this.getColType = function(cInd) { - return this.cellType[cInd] - }; - this.getColTypeById = function(cID) { - return this.cellType[this.getColIndexById(cID)] - }; - this.setColTypes = function(typeStr) { - this.cellType = dhtmlxArray(typeStr.split(this.delim)); - this._strangeParams = new Array(); - for (var i = 0; i < this.cellType.length; i++) { - if ((this.cellType[i].indexOf("[") != -1)) { - var z = this.cellType[i].split(/[\[\]]+/g); - this.cellType[i] = z[0]; - this.defVal[i] = z[1]; - if (z[1].indexOf("=") == 0) { - this.cellType[i] = "math"; - this._strangeParams[i] = z[0] - } - } - if (!window["eXcell_" + this.cellType[i]]) { - dhx4.callEvent("onConfigurationError", ["Incorrect cell type: " + this.cellType[i], this, this.cellType[i]]) - } - } - }; - this.setColSorting = function(sortStr) { - this.fldSort = sortStr.split(this.delim); - var check = { - str: 1, - "int": 1, - date: 1 - }; - for (var i = 0; i < this.fldSort.length; i++) { - if ((!check[this.fldSort[i]]) && (typeof(window[this.fldSort[i]]) == "function")) { - if (!this._customSorts) { - this._customSorts = new Array() - } - this._customSorts[i] = window[this.fldSort[i]]; - this.fldSort[i] = "cus" - } - } - }; - this.setColAlign = function(alStr) { - this.cellAlign = alStr.split(this.delim); - for (var i = 0; i < this.cellAlign.length; i++) { - this.cellAlign[i] = this.cellAlign[i]._dhx_trim() - } - }; - this.setColVAlign = function(valStr) { - this.cellVAlign = valStr.split(this.delim) - }; - this.setNoHeader = function(fl) { - this.noHeader = dhx4.s2b(fl) - }; - this.showRow = function(rowID) { - this.getRowById(rowID); - if (this._h2) { - this.openItem(this._h2.get[rowID].parent.id) - } - var c = this.getRowById(rowID).childNodes[0]; - while (c && c.style.display == "none") { - c = c.nextSibling - } - if (c) { - this.moveToVisible(c, true) - } - }; - this.setStyle = function(ss_header, ss_grid, ss_selCell, ss_selRow) { - this.ssModifier = [ss_header, ss_grid, ss_selCell, ss_selCell, ss_selRow]; - var prefs = ["#" + this.entBox.id + " table.hdr td", "#" + this.entBox.id + " table.obj td", "#" + this.entBox.id + " table.obj tr.rowselected td.cellselected", "#" + this.entBox.id + " table.obj td.cellselected", "#" + this.entBox.id + " table.obj tr.rowselected td"]; - var index = 0; - while (!_isIE) { - try { - var temp = document.styleSheets[index].cssRules.length - } catch (e) { - index++; - continue - } - break - } - for (var i = 0; i < prefs.length; i++) { - if (this.ssModifier[i]) { - if (_isIE) { - document.styleSheets[0].addRule(prefs[i], this.ssModifier[i]) - } else { - document.styleSheets[index].insertRule(prefs[i] + (" { " + this.ssModifier[i] + " }"), document.styleSheets[index].cssRules.length) - } - } - } - }; - this.setColumnColor = function(clr) { - this.columnColor = clr.split(this.delim) - }; - this.enableAlterCss = function(cssE, cssU, perLevel, levelUnique) { - if (cssE || cssU) { - this.attachEvent("onGridReconstructed", function() { - this._fixAlterCss(); - if (this._fake) { - this._fake._fixAlterCss() - } - }) - } - this._cssSP = perLevel; - this._cssSU = levelUnique; - this._cssEven = cssE; - this._cssUnEven = cssU - }; - this._fixAlterCss = function(ind) { - if (this._h2 && (this._cssSP || this._cssSU)) { - return this._fixAlterCssTGR(ind) - } - if (!this._cssEven && !this._cssUnEven) { - return - } - ind = ind || 0; - var j = ind; - for (var i = ind; i < this.rowsCol.length; i++) { - if (!this.rowsCol[i]) { - continue - } - if (this.rowsCol[i].style.display != "none") { - if (this.rowsCol[i]._cntr) { - j = 1; - continue - } - if (this.rowsCol[i].className.indexOf("rowselected") != -1) { - if (j % 2 == 1) { - this.rowsCol[i].className = this._cssUnEven + " rowselected " + (this.rowsCol[i]._css || "") - } else { - this.rowsCol[i].className = this._cssEven + " rowselected " + (this.rowsCol[i]._css || "") - } - } else { - if (j % 2 == 1) { - this.rowsCol[i].className = this._cssUnEven + " " + (this.rowsCol[i]._css || "") - } else { - this.rowsCol[i].className = this._cssEven + " " + (this.rowsCol[i]._css || "") - } - } - j++ - } - } - }; - this.clearChangedState = function(clear_added) { - for (var i = 0; i < this.rowsCol.length; i++) { - var row = this.rowsCol[i]; - if (row && row.childNodes) { - var cols = row.childNodes.length; - for (var j = 0; j < cols; j++) { - row.childNodes[j].wasChanged = false - } - if (clear_added) { - row._added = false - } - } - } - }; - this.getChangedRows = function(and_added) { - var res = new Array(); - this.forEachRow(function(id) { - var row = this.rowsAr[id]; - if (row.tagName != "TR") { - return - } - var cols = row.childNodes.length; - if (and_added && row._added) { - res[res.length] = row.idd - } else { - for (var j = 0; j < cols; j++) { - if (row.childNodes[j].wasChanged) { - res[res.length] = row.idd; - break - } - } - } - }); - return res.join(this.delim) - }; - this._sUDa = false; - this._sAll = false; - this.setSerializationLevel = function(userData, fullXML, config, changedAttr, onlyChanged, asCDATA) { - this._sUDa = userData; - this._sAll = fullXML; - this._sConfig = config; - this._chAttr = changedAttr; - this._onlChAttr = onlyChanged; - this._asCDATA = asCDATA - }; - this.setSerializableColumns = function(list) { - if (!list) { - this._srClmn = null; - return - } - this._srClmn = (list || "").split(","); - for (var i = 0; i < this._srClmn.length; i++) { - this._srClmn[i] = dhx4.s2b(this._srClmn[i]) - } - }; - this._serialise = function(rCol, inner, closed) { - this.editStop(); - var out = []; - var close = ""; - if (this.isTreeGrid()) { - this._h2.forEachChildF(0, function(el) { - var temp = this._serializeRow(this.render_row_tree(-1, el.id)); - out.push(temp); - if (temp) { - return true - } else { - return false - } - }, this, function() { - out.push(close) - }) - } else { - for (var i = 0; i < this.rowsBuffer.length; i++) { - if (this.rowsBuffer[i]) { - if (this._chAttr && this.rowsBuffer[i]._locator) { - continue - } - var temp = this._serializeRow(this.render_row(i)); - out.push(temp); - if (temp) { - out.push(close) - } - } - } - } - return [out.join("")] - }; - this._serializeRow = function(r, i) { - var out = []; - var ra = this.xml.row_attrs; - var ca = this.xml.cell_attrs; - out.push("<" + this.xml.s_row); - out.push(" id='" + r.idd + "'"); - if ((this._sAll) && this.selectedRows._dhx_find(r) != -1) { - out.push(" selected='1'") - } - if (this._h2 && this._h2.get[r.idd].state == "minus") { - out.push(" open='1'") - } - if (ra.length) { - for (var i = 0; i < ra.length; i++) { - out.push(" " + ra[i] + "='" + r._attrs[ra[i]] + "'") - } - } - out.push(">"); - if (this._sUDa && this.UserData[r.idd]) { - keysAr = this.UserData[r.idd].getKeys(); - for (var ii = 0; ii < keysAr.length; ii++) { - var subkey = keysAr[ii]; - if (subkey.indexOf("__") !== 0) { - out.push("" + (this._asCDATA ? "" : "") + "") - } - } - } - var changeFl = false; - for (var jj = 0; jj < this._cCount; jj++) { - if ((!this._srClmn) || (this._srClmn[jj])) { - var zx = this.cells3(r, jj); - out.push("" - } - if ((this._ecspn) && (zx.cell.colSpan) && zx.cell.colSpan > 1) { - out.push(' colspan="' + zx.cell.colSpan + '" ') - } - if (this._chAttr) { - if (zx.wasChanged()) { - out.push(' changed="1"'); - changeFl = true - } - } else { - if ((this._onlChAttr) && (zx.wasChanged())) { - changeFl = true - } - } - if (this._sAll && this.cellType[jj] == "tree") { - out.push((this._h2 ? (" image='" + this._h2.get[r.idd].image + "'") : "") + ">" + zxVal + "") - } else { - out.push(">" + zxVal + "") - } - if ((this._ecspn) && (zx.cell.colSpan)) { - for (var u = 0; u < zx.cell.colSpan - 1; u++) { - out.push(""); - jj++ - } - } - } - } - if ((this._onlChAttr) && (!changeFl) && (!r._added)) { - return "" - } - return out.join("") - }; - this._serialiseConfig = function() { - var out = ""; - for (var i = 0; i < this.hdr.rows[0].cells.length; i++) { - if (this._srClmn && !this._srClmn[i]) { - continue - } - var sort = this.fldSort[i]; - if (sort == "cus") { - sort = this._customSorts[i].toString(); - sort = sort.replace(/function[\ ]*/, "").replace(/\([^\f]*/, "") - } - out += ""; - if (this._asCDATA) { - out += "" - } else { - out += this.getColumnLabel(i) - } - var z = this.getCombo(i); - if (z) { - for (var j = 0; j < z.keys.length; j++) { - out += "" - } - } - out += "" - } - return out += "" - }; - this.serialize = function() { - var out = ''; - if (this._mathSerialization) { - this._agetm = "getMathValue" - } else { - this._agetm = "getValue" - } - if (this._sUDa && this.UserData.gridglobaluserdata) { - var keysAr = this.UserData.gridglobaluserdata.getKeys(); - for (var i = 0; i < keysAr.length; i++) { - out += "" + this.UserData.gridglobaluserdata.get(keysAr[i]) + "" - } - } - if (this._sConfig) { - out += this._serialiseConfig() - } - out += this._serialise(); - out += ""; - return out - }; - this.getPosition = function(oNode, pNode) { - if (!pNode) { - var pos = dhx4.getOffset(oNode); - return [pos.left, pos.top] - } - pNode = pNode || document.body; - var oCurrentNode = oNode; - var iLeft = 0; - var iTop = 0; - while ((oCurrentNode) && (oCurrentNode != pNode)) { - iLeft += oCurrentNode.offsetLeft - oCurrentNode.scrollLeft; - iTop += oCurrentNode.offsetTop - oCurrentNode.scrollTop; - oCurrentNode = oCurrentNode.offsetParent - } - if (pNode == document.body) { - if (_isIE) { - iTop += document.body.offsetTop || document.documentElement.offsetTop; - iLeft += document.body.offsetLeft || document.documentElement.offsetLeft - } else { - if (!_isFF) { - iLeft += document.body.offsetLeft; - iTop += document.body.offsetTop - } - } - } - return [iLeft, iTop] - }; - this.getFirstParentOfType = function(obj, tag) { - while (obj && obj.tagName != tag && obj.tagName != "BODY") { - obj = obj.parentNode - } - return obj - }; - this.objBox.onscroll = function() { - this.grid._doOnScroll() - }; - this.hdrBox.onscroll = function() { - if (this._try_header_sync) { - return - } - this._try_header_sync = true; - if (Math.abs(this.grid.objBox.scrollLeft - this.scrollLeft) > 1) { - this.grid.objBox.scrollLeft = this.scrollLeft - } - this._try_header_sync = false - }; - if ((!_isOpera) || (_OperaRv > 8.5)) { - this.hdr.onmousemove = function(e) { - this.grid.changeCursorState(e || window.event) - }; - this.hdr.onmousedown = function(e) { - return this.grid.startColResize(e || window.event) - } - } - this.obj.onmousemove = this._drawTooltip; - this.objBox.onclick = function(e) { - e = e || event; - e.cancelBubble = true; - this.firstChild.grid.setActive(true); - window.dhx4.callEvent("_onGridClick", [e, this.firstChild.grid]) - }; - this.obj.onclick = function(e) { - if (this.grid._doClick(e || window.event) !== false) { - if (this.grid._sclE) { - this.grid.editCell(e || window.event) - } else { - this.grid.editStop() - } - } - e = e || event; - e.cancelBubble = true; - window.dhx4.callEvent("_onGridClick", [e, this.grid]) - }; - if (_isMacOS) { - this.entBox.oncontextmenu = function(e) { - e.cancelBubble = true; - if (e.preventDefault) { - e.preventDefault() - } else { - e.returnValue = false - } - var that = this.grid; - if (that._realfake) { - that = that._fake - } - return that._doContClick(e || window.event) - } - } else { - this.entBox.onmousedown = function(e) { - return this.grid._doContClick(e || window.event) - }; - this.entBox.oncontextmenu = function(e) { - if (this.grid._ctmndx) { - (e || event).cancelBubble = true - } - return !this.grid._ctmndx - } - } - this.obj.ondblclick = function(e) { - if (!this.grid.wasDblClicked(e || window.event)) { - return false - } - if (this.grid._dclE) { - var row = this.grid.getFirstParentOfType((_isIE ? event.srcElement : e.target), "TR"); - if (row == this.grid.row) { - this.grid.editCell(e || window.event) - } - }(e || event).cancelBubble = true; - if (_isOpera) { - return false - } - }; - this.hdr.onclick = this._onHeaderClick; - this.sortImg.onclick = function() { - self._onHeaderClick.apply({ - grid: self - }, [null, self.r_fldSorted]) - }; - this.hdr.ondblclick = this._onHeaderDblClick; - if (!document.body._dhtmlxgrid_onkeydown) { - dhtmlxEvent(document, "keydown", function(e) { - if (globalActiveDHTMLGridObject) { - return globalActiveDHTMLGridObject.doKey(e || window.event) - } - }); - document.body._dhtmlxgrid_onkeydown = true - } - dhtmlxEvent(document.body, "click", function() { - if (self.editStop) { - self.editStop() - } - if (self.isActive) { - self.setActive(false) - } - }); - if (this.entBox.style.height.toString().indexOf("%") != -1) { - this._delta_y = this.entBox.style.height - } - if (this.entBox.style.width.toString().indexOf("%") != -1) { - this._delta_x = this.entBox.style.width - } - if (this._delta_x || this._delta_y) { - this._setAutoResize() - } - this.setColHidden = this.setColumnsVisibility; - this.enableCollSpan = this.enableColSpan; - this.setMultiselect = this.enableMultiselect; - this.setMultiLine = this.enableMultiline; - this.deleteSelectedItem = this.deleteSelectedRows; - this.getSelectedId = this.getSelectedRowId; - this.getHeaderCol = this.getColumnLabel; - this.isItemExists = this.doesRowExist; - this.getColumnCount = this.getColumnsNum; - this.setSelectedRow = this.selectRowById; - this.setHeaderCol = this.setColumnLabel; - this.preventIECashing = this.preventIECaching; - this.enableAutoHeigth = this.enableAutoHeight; - this.getUID = this.uid; - if (dhtmlx.image_path) { - this.setImagePath(dhtmlx.image_path) - } - if (dhtmlx.skin) { - this.setSkin(dhtmlx.skin) - } - return this -} -dhtmlXGridObject.prototype = { - getRowAttribute: function(c, a) { - return this.getRowById(c)._attrs[a] - }, - setRowAttribute: function(e, a, c) { - this.getRowById(e)._attrs[a] = c - }, - isTreeGrid: function() { - return (this.cellType._dhx_find("tree") != -1) - }, - setRowHidden: function(l, e) { - var c = dhx4.s2b(e); - var h = this.getRowById(l); - if (!h) { - return - } - if (h.expand === "") { - this.collapseKids(h) - } - if ((e) && (h.style.display != "none")) { - h.style.display = "none"; - var g = this.selectedRows._dhx_find(h); - if (g != -1) { - h.className = h.className.replace("rowselected", ""); - for (var a = 0; a < h.childNodes.length; a++) { - h.childNodes[a].className = h.childNodes[a].className.replace(/cellselected/g, "") - } - this.selectedRows._dhx_removeAt(g) - } - this.callEvent("onGridReconstructed", []) - } - if ((!e) && (h.style.display == "none")) { - h.style.display = ""; - this.callEvent("onGridReconstructed", []) - } - this.callEvent("onRowHide", [l, e]); - this.setSizes() - }, - setColumnHidden: function(e, c) { - if (!this.hdr.rows.length) { - if (!this._ivizcol) { - this._ivizcol = [] - } - return this._ivizcol[e] = c - } - if ((this.fldSorted) && (this.fldSorted.cellIndex == e) && (c)) { - this.sortImg.style.display = "none" - } - var a = dhx4.s2b(c); - if (a) { - if (!this._hrrar) { - this._hrrar = new Array() - } else { - if (this._hrrar[e]) { - return - } - } - this._hrrar[e] = "display:none;"; - this._hideShowColumn(e, "none") - } else { - if ((!this._hrrar) || (!this._hrrar[e])) { - return - } - this._hrrar[e] = ""; - this._hideShowColumn(e, "") - } - if ((this.fldSorted) && (this.fldSorted.cellIndex == e) && (!c)) { - this.sortImg.style.display = "inline" - } - this.setSortImgPos(); - this.callEvent("onColumnHidden", [e, c]) - }, - isColumnHidden: function(a) { - if ((this._hrrar) && (this._hrrar[a])) { - return true - } - return false - }, - setColumnsVisibility: function(c) { - if (c) { - this._ivizcol = c.split(this.delim) - } - if (this.hdr.rows.length && this._ivizcol) { - for (var a = 0; a < this._ivizcol.length; a++) { - this.setColumnHidden(a, this._ivizcol[a]) - } - } - }, - _fixHiddenRowsAll: function(n, e, a, c, l) { - l = l || "_cellIndex"; - var m = n.rows.length; - for (var h = 0; h < m; h++) { - var o = n.rows[h].childNodes; - if (o.length != this._cCount) { - for (var g = 0; g < o.length; g++) { - if (o[g][l] == e) { - o[g].style[a] = c; - break - } - } - } else { - o[e].style[a] = c - } - } - }, - _hideShowColumn: function(h, g) { - var a = h; - if (this.hdr.rows[1] && (this.hdr.rows[1]._childIndexes) && (this.hdr.rows[1]._childIndexes[h] != h)) { - a = this.hdr.rows[1]._childIndexes[h] - } - if (g == "none") { - this.hdr.rows[0].cells[h]._oldWidth = this.hdr.rows[0].cells[h].style.width || (this.initCellWidth[h] + "px"); - this.hdr.rows[0].cells[h]._oldWidthP = this.cellWidthPC[h]; - this.obj.rows[0].cells[h].style.width = "0px"; - var c = { - rows: [this.obj.rows[0]] - }; - this.forEachRow(function(l) { - if (this.rowsAr[l].tagName == "TR") { - c.rows.push(this.rowsAr[l]) - } - }); - this._fixHiddenRowsAll(c, h, "display", "none"); - if (this.isTreeGrid()) { - this._fixHiddenRowsAllTG(h, "none") - } - if ((_isOpera && _OperaRv < 9) || _isKHTML || (_isFF) || (_isIE && (dhx.isIE10 || dhx.isIE11))) { - this._fixHiddenRowsAll(this.hdr, h, "display", "none", "_cellIndexS") - } - if (this.ftr) { - this._fixHiddenRowsAll(this.ftr.childNodes[0], h, "display", "none") - } - this._fixHiddenRowsAll(this.hdr, h, "whiteSpace", "nowrap", "_cellIndexS"); - if (!this.cellWidthPX.length && !this.cellWidthPC.length) { - this.cellWidthPX = [].concat(this.initCellWidth) - } - if (this.cellWidthPX[h]) { - this.cellWidthPX[h] = 0 - } - if (this.cellWidthPC[h]) { - this.cellWidthPC[h] = 0 - } - } else { - if (this.hdr.rows[0].cells[h]._oldWidth) { - var e = this.hdr.rows[0].cells[h]; - if (_isOpera || _isKHTML || (_isFF) || (_isIE && (dhx.isIE10 || dhx.isIE11))) { - this._fixHiddenRowsAll(this.hdr, h, "display", "", "_cellIndexS") - } - if (this.ftr) { - this._fixHiddenRowsAll(this.ftr.childNodes[0], h, "display", "") - } - var c = { - rows: [this.obj.rows[0]] - }; - this.forEachRow(function(l) { - if (this.rowsAr[l].tagName == "TR") { - c.rows.push(this.rowsAr[l]) - } - }); - this._fixHiddenRowsAll(c, h, "display", ""); - if (this.isTreeGrid()) { - this._fixHiddenRowsAllTG(h, "") - } - this._fixHiddenRowsAll(this.hdr, h, "whiteSpace", "normal", "_cellIndexS"); - if (e._oldWidthP) { - this.cellWidthPC[h] = e._oldWidthP - } - if (e._oldWidth) { - this.cellWidthPX[h] = parseInt(e._oldWidth) - } - } - } - if (!g && this._realfake) { - this.setColumnSizes(this.entBox.clientWidth) - } - this.setSizes(); - if ((!_isIE) && (!_isFF)) { - this.obj.border = 1; - this.obj.border = 0 - } - }, - enableColSpan: function(a) { - this._ecspn = dhx4.s2b(a) - }, - enableRowsHover: function(c, a) { - this._unsetRowHover(false, true); - this._hvrCss = a; - if (dhx4.s2b(c)) { - if (!this._elmnh) { - this.obj._honmousemove = this.obj.onmousemove; - this.obj.onmousemove = this._setRowHover; - if (_isIE) { - this.obj.onmouseleave = this._unsetRowHover - } else { - this.obj.onmouseout = this._unsetRowHover - } - this._elmnh = true - } - } else { - if (this._elmnh) { - this.obj.onmousemove = this.obj._honmousemove; - if (_isIE) { - this.obj.onmouseleave = null - } else { - this.obj.onmouseout = null - } - this._elmnh = false - } - } - }, - enableEditEvents: function(c, e, a) { - this._sclE = dhx4.s2b(c); - this._dclE = dhx4.s2b(e); - this._f2kE = dhx4.s2b(a) - }, - enableLightMouseNavigation: function(a) { - if (dhx4.s2b(a)) { - if (!this._elmn) { - this.entBox._onclick = this.entBox.onclick; - this.entBox.onclick = function() { - return true - }; - this.obj._onclick = this.obj.onclick; - this.obj.onclick = function(g) { - var h = this.grid.getFirstParentOfType(g ? g.target : event.srcElement, "TD"); - if (!h) { - return - } - this.grid.editStop(); - this.grid.doClick(h); - this.grid.editCell(); - (g || event).cancelBubble = true - }; - this.obj._onmousemove = this.obj.onmousemove; - this.obj.onmousemove = this._autoMoveSelect; - this._elmn = true - } - } else { - if (this._elmn) { - this.entBox.onclick = this.entBox._onclick; - this.obj.onclick = this.obj._onclick; - this.obj.onmousemove = this.obj._onmousemove; - this._elmn = false - } - } - }, - _unsetRowHover: function(g, h) { - if (h) { - that = this - } else { - that = this.grid - } - if ((that._lahRw) && (that._lahRw != h)) { - for (var a = 0; a < that._lahRw.childNodes.length; a++) { - that._lahRw.childNodes[a].className = that._lahRw.childNodes[a].className.replace(that._hvrCss, "") - } - that._lahRw = null - } - }, - _setRowHover: function(g) { - var h = this.grid.getFirstParentOfType(g ? g.target : event.srcElement, "TD"); - if (h && h.parentNode != this.grid._lahRw) { - this.grid._unsetRowHover(0, h); - h = h.parentNode; - if (!h.idd || h.idd == "__filler__") { - return - } - for (var a = 0; a < h.childNodes.length; a++) { - h.childNodes[a].className += " " + this.grid._hvrCss - } - this.grid._lahRw = h - } - this._honmousemove(g) - }, - _autoMoveSelect: function(a) { - if (!this.grid.editor) { - var g = this.grid.getFirstParentOfType(a ? a.target : event.srcElement, "TD"); - if (g.parentNode.idd) { - this.grid.doClick(g, true, 0) - } - } - this._onmousemove(a) - }, - enableDistributedParsing: function(e, a, c) { - if (dhx4.s2b(e)) { - this._ads_count = a || 10; - this._ads_time = c || 250 - } else { - this._ads_count = 0 - } - }, - destructor: function() { - this.editStop(true); - if (this._sizeTime) { - this._sizeTime = window.clearTimeout(this._sizeTime) - } - this.entBox.className = (this.entBox.className || "").replace(/gridbox.*/, ""); - if (this.formInputs) { - for (var e = 0; e < this.formInputs.length; e++) { - this.parentForm.removeChild(this.formInputs[e]) - } - } - var c; - for (var e = 0; e < this.rowsCol.length; e++) { - if (this.rowsCol[e]) { - this.rowsCol[e].grid = null - } - } - for (e in this.rowsAr) { - if (this.rowsAr[e]) { - this.rowsAr[e] = null - } - } - this.rowsCol = new dhtmlxArray(); - this.rowsAr = {}; - this.entBox.innerHTML = ""; - var g = function() {}; - this.entBox.onclick = this.entBox.onmousedown = this.entBox.onbeforeactivate = this.entBox.onbeforedeactivate = this.entBox.onbeforedeactivate = this.entBox.onselectstart = g; - this.setSizes = this._update_srnd_view = this.callEvent = g; - this.entBox.grid = this.objBox.grid = this.hdrBox.grid = this.obj.grid = this.hdr.grid = null; - if (this._fake) { - this.globalBox.innerHTML = ""; - this._fake.setSizes = this._fake._update_srnd_view = this._fake.callEvent = g; - this.globalBox.onclick = this.globalBox.onmousedown = this.globalBox.onbeforeactivate = this.globalBox.onbeforedeactivate = this.globalBox.onbeforedeactivate = this.globalBox.onselectstart = g - } - for (c in this) { - if ((this[c]) && (this[c].m_obj)) { - this[c].m_obj = null - } - this[c] = null - } - if (this == globalActiveDHTMLGridObject) { - globalActiveDHTMLGridObject = null - } - return null - }, - getSortingState: function() { - var a = new Array(); - if (this.fldSorted) { - a[0] = this.fldSorted._cellIndex; - a[1] = (this.sortImg.className == "dhxgrid_sort_desc" ? "des" : "asc") - } - return a - }, - enableAutoHeight: function(e, c, a) { - this._ahgr = dhx4.s2b(e); - this._ahgrF = dhx4.s2b(a); - this._ahgrM = c || null; - if (arguments.length == 1) { - this.objBox.style.overflowY = e ? "hidden" : "auto" - } - if (c == "auto") { - this._ahgrM = null; - this._ahgrMA = true; - this._setAutoResize() - } - }, - enableStableSorting: function(a) { - this._sst = dhx4.s2b(a); - this.rowsCol.stablesort = function(l) { - var h = this.length - 1; - for (var g = 0; g < this.length - 1; g++) { - for (var e = 0; e < h; e++) { - if (l(this[e], this[e + 1]) > 0) { - var c = this[e]; - this[e] = this[e + 1]; - this[e + 1] = c - } - } - h-- - } - } - }, - enableKeyboardSupport: function(a) { - this._htkebl = !dhx4.s2b(a) - }, - enableContextMenu: function(a) { - this._ctmndx = a - }, - setScrollbarWidthCorrection: function(a) {}, - enableTooltips: function(c) { - this._enbTts = c.split(","); - for (var a = 0; a < this._enbTts.length; a++) { - this._enbTts[a] = dhx4.s2b(this._enbTts[a]) - } - }, - enableResizing: function(c) { - this._drsclmn = c.split(","); - for (var a = 0; a < this._drsclmn.length; a++) { - this._drsclmn[a] = dhx4.s2b(this._drsclmn[a]) - } - }, - setColumnMinWidth: function(a, c) { - if (arguments.length == 2) { - if (!this._drsclmW) { - this._drsclmW = new Array() - } - this._drsclmW[c] = a - } else { - this._drsclmW = a.split(",") - } - }, - enableCellIds: function(a) { - this._enbCid = dhx4.s2b(a) - }, - lockRow: function(a, e) { - var c = this.getRowById(a); - if (c) { - c._locked = dhx4.s2b(e); - if ((this.cell) && (this.cell.parentNode.idd == a)) { - this.editStop() - } - } - }, - _getRowArray: function(h) { - var g = new Array(); - for (var e = 0; e < h.childNodes.length; e++) { - var c = this.cells3(h, e); - g[e] = c.getValue() - } - return g - }, - setDateFormat: function(c, a) { - this._dtmask = c; - this._dtmask_inc = a - }, - setNumberFormat: function(n, e, h, m) { - var g = n.replace(/[^0\,\.]*/g, ""); - var a = g.indexOf("."); - if (a > -1) { - a = g.length - a - 1 - } - var c = g.indexOf(","); - if (c > -1) { - c = g.length - a - 2 - c - } - if (typeof h != "string") { - h = this.i18n.decimal_separator - } - if (typeof m != "string") { - m = this.i18n.group_separator - } - var o = n.split(g)[0]; - var l = n.split(g)[1]; - this._maskArr[e] = [a, c, o, l, h, m] - }, - _aplNFb: function(h, g) { - var c = this._maskArr[g]; - if (!c) { - return h - } - var e = parseFloat(h.toString().replace(/[^0-9]*/g, "")); - if (h.toString().substr(0, 1) == "-") { - e = e * -1 - } - if (c[0] > 0) { - e = e / Math.pow(10, c[0]) - } - return e - }, - _aplNF: function(l, h) { - var e = this._maskArr[h]; - if (!e) { - return l - } - var m = (parseFloat(l) < 0 ? "-" : "") + e[2]; - l = Math.abs(Math.round(parseFloat(l) * Math.pow(10, e[0] > 0 ? e[0] : 0))).toString(); - l = (l.length < e[0] ? Math.pow(10, e[0] + 1 - l.length).toString().substr(1, e[0] + 1) + l.toString() : l).split("").reverse(); - l[e[0]] = (l[e[0]] || "0") + e[4]; - if (e[1] > 0) { - for (var g = (e[0] > 0 ? 0 : 1) + e[0] + e[1]; g < l.length; g += e[1]) { - l[g] += e[5] - } - } - return m + l.reverse().join("") + e[3] - }, - _launchCommands: function(a) { - for (var g = 0; g < a.length; g++) { - var e = new Array(); - for (var c = 0; c < a[g].childNodes.length; c++) { - if (a[g].childNodes[c].nodeType == 1) { - e[e.length] = a[g].childNodes[c].firstChild.data - } - } - this[a[g].getAttribute("command")].apply(this, e) - } - }, - _parseHead: function(h) { - var g = dhx4.ajax.xpath("./head", h); - if (g.length) { - var l = dhx4.ajax.xpath("./column", g[0]); - var m = dhx4.ajax.xpath("./settings", g[0]); - var A = "setInitWidths"; - var v = false; - if (m[0]) { - for (var n = 0; n < m[0].childNodes.length; n++) { - switch (m[0].childNodes[n].tagName) { - case "colwidth": - if (m[0].childNodes[n].firstChild && m[0].childNodes[n].firstChild.data == "%") { - A = "setInitWidthsP" - } - break; - case "splitat": - v = (m[0].childNodes[n].firstChild ? m[0].childNodes[n].firstChild.data : false); - break - } - } - } - this._launchCommands(dhx4.ajax.xpath("./beforeInit/call", g[0])); - if (l.length > 0) { - if (this.hdr.rows.length > 0) { - this.clearAll(true) - } - var a = [ - [], - [], - [], - [], - [], - [], - [], - [], - [] - ]; - var u = ["", "width", "type", "align", "sort", "color", "format", "hidden", "id"]; - var r = ["", A, "setColTypes", "setColAlign", "setColSorting", "setColumnColor", "", "", "setColumnIds"]; - for (var y = 0; y < l.length; y++) { - for (var x = 1; x < u.length; x++) { - a[x].push(l[y].getAttribute(u[x])) - } - a[0].push((l[y].firstChild ? l[y].firstChild.data : "").replace(/^\s*((\s\S)*.+)\s*$/gi, "$1")) - } - this.setHeader(a[0]); - for (var y = 0; y < r.length; y++) { - if (r[y]) { - this[r[y]](a[y].join(this.delim)) - } - } - for (var y = 0; y < l.length; y++) { - if ((this.cellType[y].indexOf("co") == 0) || (this.cellType[y] == "clist")) { - var o = dhx4.ajax.xpath("./option", l[y]); - if (o.length) { - var w = new Array(); - if (this.cellType[y] == "clist") { - for (var x = 0; x < o.length; x++) { - w[w.length] = o[x].firstChild ? o[x].firstChild.data : "" - } - this.registerCList(y, w) - } else { - var C = this.getCombo(y); - for (var x = 0; x < o.length; x++) { - C.put(o[x].getAttribute("value"), o[x].firstChild ? o[x].firstChild.data : "") - } - } - } - } else { - if (a[6][y]) { - if ((this.cellType[y].toLowerCase().indexOf("calendar") != -1) || (this.fldSort[y] == "date")) { - this.setDateFormat(a[6][y]) - } else { - this.setNumberFormat(a[6][y], y) - } - } - } - } - this.init(); - var e = a[7].join(this.delim); - if (this.setColHidden && e.replace(/,/g, "") != "") { - this.setColHidden(e) - } - if ((v) && (this.splitAt)) { - this.splitAt(v) - } - } - this._launchCommands(dhx4.ajax.xpath("./afterInit/call", g[0])) - } - var c = dhx4.ajax.xpath("//rows/userdata", h); - if (c.length > 0) { - if (!this.UserData.gridglobaluserdata) { - this.UserData.gridglobaluserdata = new Hashtable() - } - for (var x = 0; x < c.length; x++) { - var D = ""; - for (var q = 0; q < c[x].childNodes.length; q++) { - D += c[x].childNodes[q].nodeValue - } - this.UserData.gridglobaluserdata.put(c[x].getAttribute("name"), D) - } - } - }, - getCheckedRows: function(a) { - var c = new Array(); - this.forEachRowA(function(g) { - var e = this.cells(g, a); - if (e.changeState && e.getValue() != 0) { - c.push(g) - } - }, true); - return c.join(",") - }, - checkAll: function() { - var c = arguments.length ? arguments[0] : 1; - for (var a = 0; a < this.getColumnsNum(); a++) { - if (this.getColType(a) == "ch") { - this.setCheckedRows(a, c) - } - } - }, - uncheckAll: function() { - this.checkAll(0) - }, - setCheckedRows: function(c, a) { - this.forEachRowA(function(e) { - if (this.cells(e, c).isCheckbox()) { - this.cells(e, c).setValue(a) - } - }) - }, - _drawTooltip: function(l) { - var m = this.grid.getFirstParentOfType(l ? l.target : event.srcElement, "TD"); - if (!m || ((this.grid.editor) && (this.grid.editor.cell == m))) { - return true - } - var h = m.parentNode; - if (!h.idd || h.idd == "__filler__") { - return - } - var g = (l ? l.target : event.srcElement); - if (h.idd == window.unknown) { - return true - } - if (!this.grid.callEvent("onMouseOver", [h.idd, m._cellIndex, (l || window.event)])) { - return true - } - if ((this.grid._enbTts) && (!this.grid._enbTts[m._cellIndex])) { - if (g.title) { - g.title = "" - } - return true - } - if (m._cellIndex >= this.grid._cCount) { - return - } - var a = this.grid.cells3(h, m._cellIndex); - if (!a || !a.cell || !a.cell._attrs) { - return - } - if (g._title) { - a.cell.title = "" - } - if (!a.cell._attrs.title) { - g._title = true - } - if (a) { - g.title = a.cell._attrs.title || (a.getTitle ? a.getTitle() : (a.getValue() || "").toString().replace(/<[^>]*>/gi, "")) - } - return true - }, - enableCellWidthCorrection: function(a) { - if (_isFF) { - this._wcorr = parseInt(a) - } - }, - getAllRowIds: function(e) { - var a = []; - for (var c = 0; c < this.rowsBuffer.length; c++) { - if (this.rowsBuffer[c]) { - a.push(this.rowsBuffer[c].idd) - } - } - return a.join(e || this.delim) - }, - getAllItemIds: function() { - return this.getAllRowIds() - }, - setColspan: function(e, w, g) { - if (!this._ecspn) { - return - } - var a = this.getRowById(e); - if ((a._childIndexes) && (a.childNodes[a._childIndexes[w]])) { - var o = a._childIndexes[w]; - var h = a.childNodes[o]; - var l = h.colSpan; - h.colSpan = 1; - if ((l) && (l != 1)) { - for (var s = 1; s < l; s++) { - var v = document.createElement("TD"); - if (h.nextSibling) { - a.insertBefore(v, h.nextSibling) - } else { - a.appendChild(v) - } - a._childIndexes[w + s] = o + s; - v._cellIndex = w + s; - v.style.textAlign = this.cellAlign[s]; - v.style.verticalAlign = this.cellVAlign[s]; - h = v; - this.cells3(a, w + s).setValue("") - } - } - for (var u = w * 1 + 1 * l; u < a._childIndexes.length; u++) { - a._childIndexes[u] += (l - 1) * 1 - } - } - if ((g) && (g > 1)) { - if (a._childIndexes) { - var o = a._childIndexes[w] - } else { - var o = w; - a._childIndexes = new Array(); - for (var u = 0; u < a.childNodes.length; u++) { - a._childIndexes[u] = u - } - } - a.childNodes[o].colSpan = g; - for (var u = 1; u < g; u++) { - a._childIndexes[a.childNodes[o + 1]._cellIndex] = o; - a.removeChild(a.childNodes[o + 1]) - } - var q = a.childNodes[a._childIndexes[w]]._cellIndex; - for (var u = q * 1 + 1 * g; u < a._childIndexes.length; u++) { - a._childIndexes[u] -= (g - 1) - } - } - }, - preventIECaching: function(a) { - dhx4.ajax.cache = !a - }, - enableColumnAutoSize: function(a) { - this._eCAS = dhx4.s2b(a) - }, - _onHeaderDblClick: function(g) { - var c = this.grid; - var a = c.getFirstParentOfType(_isIE ? event.srcElement : g.target, "TD"); - if (!c._eCAS) { - return false - } - c.adjustColumnSize(a._cellIndexS) - }, - adjustColumnSize: function(q, e) { - if (this._hrrar && this._hrrar[q]) { - return - } - this._notresize = true; - var g = 0; - this._setColumnSizeR(q, 20); - for (var n = 1; n < this.hdr.rows.length; n++) { - var u = this.hdr.rows[n]; - u = u.childNodes[(u._childIndexes) ? u._childIndexes[q] : q]; - if ((u) && ((!u.colSpan) || (u.colSpan < 2)) && u._cellIndex == q) { - if ((u.childNodes[0]) && (u.childNodes[0].className == "hdrcell")) { - u = u.childNodes[0] - } - g = Math.max(g, u.scrollWidth) - } - } - var h = this.obj.rows.length; - var s = 0; - var w = this.cellType._dhx_find("tree"); - var r = document.createElement("DIV"); - r.className = "dhx_grid_adjust"; - r.style.cssText = "width:auto;height:auto;visibility:hidden; position:absolute; top:0px; left:0px; overflow:hidden; white-space:nowrap;"; - document.body.appendChild(r); - for (var o = 1; o < h; o++) { - var v = this.obj.rows[o]; - var c = q; - if (!this.rowsAr[v.idd]) { - continue - } - if (v._childIndexes) { - if (v._childIndexes[q] == v._childIndexes[q + 1]) { - continue - } - c = v._childIndexes[q] - } - if (!v.childNodes[c] || v.childNodes[c]._cellIndex != q) { - continue - } - r.innerHTML = (v.childNodes[c].innerText || v.childNodes[c].textContent || ""); - s = r.offsetWidth; - if (this._h2 && q == w) { - s += this._h2.get[v.idd].level * 22 - } - if (s > g) { - g = s - } - } - document.body.removeChild(r); - g += 20 + (e || 0); - this._setColumnSizeR(q, g); - this._notresize = false; - this.setSizes() - }, - detachHeader: function(a, e) { - e = e || this.hdr; - var c = e.rows[a + 1]; - if (c) { - c.parentNode.removeChild(c) - } - this.setSizes() - }, - detachFooter: function(a) { - this.detachHeader(a, this.ftr) - }, - attachHeader: function(a, g, c) { - if (typeof(a) == "string") { - a = this._eSplit(a) - } - if (typeof(g) == "string") { - g = g.split(this.delim) - } - c = c || "_aHead"; - if (this.hdr.rows.length) { - if (a) { - this._createHRow([a, g], this[(c == "_aHead") ? "hdr" : "ftr"]) - } else { - if (this[c]) { - for (var e = 0; e < this[c].length; e++) { - this.attachHeader.apply(this, this[c][e]) - } - } - } - } else { - if (!this[c]) { - this[c] = new Array() - } - this[c][this[c].length] = [a, g, c] - } - }, - _createHRow: function(e, q) { - if (!q) { - if (this.entBox.style.position != "absolute") { - this.entBox.style.position = "relative" - } - var m = document.createElement("DIV"); - m.className = "c_ftr".substr(2); - this.entBox.appendChild(m); - var u = document.createElement("TABLE"); - u.cellPadding = u.cellSpacing = 0; - if (!_isIE || _isIE == 8) { - u.width = "100%"; - u.style.paddingRight = "20px" - } - u.style.marginRight = "20px"; - u.style.tableLayout = "fixed"; - m.appendChild(u); - u.appendChild(document.createElement("TBODY")); - this.ftr = q = u; - var l = u.insertRow(0); - var a = ((this.hdrLabels.length <= 1) ? e[0].length : this.hdrLabels.length); - for (var g = 0; g < a; g++) { - l.appendChild(document.createElement("TH")); - l.childNodes[g]._cellIndex = g - } - if (_isIE && _isIE < 8) { - l.style.position = "absolute" - } else { - l.style.height = "auto" - } - } - var h = e[1]; - var m = document.createElement("TR"); - q.rows[0].parentNode.appendChild(m); - for (var g = 0; g < e[0].length; g++) { - if (e[0][g] == "#cspan") { - var n = m.cells[m.cells.length - 1]; - n.colSpan = (n.colSpan || 1) + 1; - continue - } - if ((e[0][g] == "#rspan") && (q.rows.length > 1)) { - var x = q.rows.length - 2; - var v = false; - var n = null; - while (!v) { - var n = q.rows[x]; - for (var c = 0; c < n.cells.length; c++) { - if (n.cells[c]._cellIndex == g) { - v = c + 1; - break - } - } - x-- - } - n = n.cells[v - 1]; - n.rowSpan = (n.rowSpan || 1) + 1; - continue - } - var o = document.createElement("TD"); - o._cellIndex = o._cellIndexS = g; - if (this._hrrar && this._hrrar[g] && !_isIE) { - o.style.display = "none" - } - if (typeof e[0][g] == "object") { - o.appendChild(e[0][g]) - } else { - if (this.forceDivInHeader) { - o.innerHTML = "
                    " + (e[0][g] || " ") + "
                    " - } else { - o.innerHTML = (e[0][g] || " ") - } - if ((e[0][g] || "").indexOf("#") != -1) { - var u = e[0][g].match(/(^|{)#([^}]+)(}|$)/); - if (u) { - var r = "_in_header_" + u[2]; - if (this[r]) { - this[r]((this.forceDivInHeader ? o.firstChild : o), g, e[0][g].split(u[0])) - } - } - } - } - if (h) { - o.style.cssText = h[g] - } - m.appendChild(o) - } - var s = q; - if (_isKHTML) { - if (q._kTimer) { - window.clearTimeout(q._kTimer) - } - q._kTimer = window.setTimeout(function() { - q.rows[1].style.display = "none"; - window.setTimeout(function() { - q.rows[1].style.display = "" - }, 1) - }, 500) - } - }, - attachFooter: function(a, c) { - this.attachHeader(a, c, "_aFoot") - }, - setCellExcellType: function(e, a, c) { - this.changeCellType(this.getRowById(e), a, c) - }, - disableCell: function(h, a, g) { - this.cells(h, a).setDisabled(g); - if (this._fake) { - var e = this.getRowById(h); - var c = this._bfs_cells3(e, a); - c.cell._disabled = g - } - }, - getCellExcellType: function(c, a) { - var g = this.getRowById(c); - var e = this.cells3(g, a); - return e.cell._cellType || this.cellType[a] - }, - changeCellType: function(e, g, c) { - c = c || this.cellType[g]; - var h = this.cells3(e, g); - var a = h.getValue(); - h.cell._cellType = c; - var h = this.cells3(e, g); - h.setValue(a) - }, - setRowExcellType: function(e, c) { - var g = this.rowsAr[e]; - for (var a = 0; a < g.childNodes.length; a++) { - this.changeCellType(g, a, c) - } - }, - setColumnExcellType: function(a, e) { - for (var c = 0; c < this.rowsBuffer.length; c++) { - if (this.rowsBuffer[c] && this.rowsBuffer[c].tagName == "TR") { - this.changeCellType(this.rowsBuffer[c], a, e) - } - } - if (this.cellType[a] == "math") { - this._strangeParams[c] = e - } else { - this.cellType[a] = e - } - }, - forEachRow: function(e) { - for (var c in this.rowsAr) { - if (this.rowsAr[c] && this.rowsAr[c].idd) { - e.apply(this, [this.rowsAr[c].idd]) - } - } - }, - forEachRowA: function(e) { - for (var c = 0; c < this.rowsBuffer.length; c++) { - if (this.rowsBuffer[c]) { - e.call(this, this.render_row(c).idd) - } - } - }, - forEachCell: function(e, c) { - var g = this.getRowById(e); - if (!g) { - return - } - for (var a = 0; a < this._cCount; a++) { - c(this.cells3(g, a), a) - } - }, - enableAutoWidth: function(e, a, c) { - this._awdth = [dhx4.s2b(e), parseInt(a || 99999), parseInt(c || 0)]; - if (arguments.length == 1) { - this.objBox.style.overflowX = e ? "hidden" : "auto" - } - }, - updateFromXML: function(a, g, c, e) { - if (typeof g == "undefined") { - g = true - } - this._refresh_mode = [true, g, c]; - this.load(a, e) - }, - _refreshFromXML: function(g) { - if (this._f_rowsBuffer) { - this.filterBy(0, "") - } - reset = false; - if (window.eXcell_tree) { - eXcell_tree.prototype.setValueX = eXcell_tree.prototype.setValue; - eXcell_tree.prototype.setValue = function(u) { - var s = this.grid._h2.get[this.cell.parentNode.idd]; - if (s && this.cell.parentNode.valTag) { - this.setLabel(u) - } else { - this.setValueX(u) - } - } - } - var r = this.cellType._dhx_find("tree"); - var l = dhx4.ajax.xmltop("rows", g); - var h = l.getAttribute("parent") || 0; - var n = {}; - if (this._refresh_mode[2]) { - if (r != -1) { - this._h2.forEachChild(h, function(s) { - n[s.id] = true - }, this) - } else { - this.forEachRow(function(s) { - n[s] = true - }) - } - } - var q = dhx4.ajax.xpath("//row", l); - for (var e = 0; e < q.length; e++) { - var o = q[e]; - var a = o.getAttribute("id"); - n[a] = false; - var h = o.parentNode.getAttribute("id") || h; - if (this.rowsAr[a] && this.rowsAr[a].tagName != "TR") { - if (this._h2) { - this._h2.get[a].buff.data = o - } else { - this.rowsBuffer[this.getRowIndex(a)].data = o - } - this.rowsAr[a] = o - } else { - if (this.rowsAr[a]) { - this._process_xml_row(this.rowsAr[a], o, -1); - this._postRowProcessing(this.rowsAr[a], true); - if (this._fake && this._fake.rowsAr[a]) { - this._fake._process_xml_row(this._fake.rowsAr[a], o, -1) - } - } else { - if (this._refresh_mode[1]) { - var m = { - idd: a, - data: o, - _parser: this._process_xml_row, - _locator: this._get_xml_data - }; - var c = this.rowsBuffer.length; - if (this._refresh_mode[1] == "top") { - this.rowsBuffer.unshift(m); - c = 0 - } else { - this.rowsBuffer.push(m) - } - if (this._h2) { - reset = true; - (this._h2.add(a, (o.parentNode.getAttribute("id") || o.parentNode.getAttribute("parent")))).buff = this.rowsBuffer[this.rowsBuffer.length - 1] - } else { - if (this._srnd) { - reset = true - } - } - this.rowsAr[a] = o; - o = this.render_row(c); - this._insertRowAt(o, c ? -1 : 0) - } - } - } - } - if (this._refresh_mode[2]) { - for (a in n) { - if (n[a] && this.rowsAr[a]) { - this.deleteRow(a) - } - } - } - this._refresh_mode = null; - if (window.eXcell_tree) { - eXcell_tree.prototype.setValue = eXcell_tree.prototype.setValueX - } - if (reset) { - if (this._h2) { - this._renderSort() - } else { - this.render_dataset() - } - } - if (this._f_rowsBuffer) { - this._f_rowsBuffer = null; - this.filterByAll() - } - }, - getCustomCombo: function(e, c) { - var a = this.cells(e, c).cell; - if (!a._combo) { - a._combo = new dhtmlXGridComboObject() - } - return a._combo - }, - setTabOrder: function(c) { - var g = c.split(this.delim); - this._tabOrder = []; - var a = this._cCount || c.length; - for (var e = 0; e < a; e++) { - g[e] = { - c: parseInt(g[e]), - ind: e - } - } - g.sort(function(l, h) { - return (l.c > h.c ? 1 : -1) - }); - for (var e = 0; e < a; e++) { - if (!g[e + 1] || (typeof g[e].c == "undefined")) { - this._tabOrder[g[e].ind] = (g[0].ind + 1) * -1 - } else { - this._tabOrder[g[e].ind] = g[e + 1].ind - } - } - }, - i18n: { - loading: "Loading", - decimal_separator: ".", - group_separator: "," - }, - _key_events: { - k13_1_0: function() { - var a = this.rowsCol._dhx_find(this.row); - this.selectCell(this.rowsCol[a + 1], this.cell._cellIndex, true) - }, - k13_0_1: function() { - var a = this.rowsCol._dhx_find(this.row); - this.selectCell(this.rowsCol[a - 1], this.cell._cellIndex, true) - }, - k13_0_0: function() { - this.editStop(); - this.callEvent("onEnter", [(this.row ? this.row.idd : null), (this.cell ? this.cell._cellIndex : null)]); - this._still_active = true - }, - k9_0_0: function() { - this.editStop(); - if (!this.callEvent("onTab", [true])) { - return true - } - var a = this._getNextCell(null, 1); - if (a) { - this.selectCell(a.parentNode, a._cellIndex, (this.row != a.parentNode), false, true); - this._still_active = true - } - }, - k9_0_1: function() { - this.editStop(); - if (!this.callEvent("onTab", [false])) { - return false - } - var a = this._getNextCell(null, -1); - if (a) { - this.selectCell(a.parentNode, a._cellIndex, (this.row != a.parentNode), false, true); - this._still_active = true - } - }, - k113_0_0: function() { - if (this._f2kE) { - this.editCell() - } - }, - k32_0_0: function() { - var a = this.cells4(this.cell); - if (!a.changeState || (a.changeState() === false)) { - return false - } - }, - k27_0_0: function() { - this.editStop(true) - }, - k33_0_0: function() { - if (this.pagingOn) { - this.changePage(this.currentPage - 1) - } else { - this.scrollPage(-1) - } - }, - k34_0_0: function() { - if (this.pagingOn) { - this.changePage(this.currentPage + 1) - } else { - this.scrollPage(1) - } - }, - k37_0_0: function() { - if (!this.editor && this.isTreeGrid()) { - this.collapseKids(this.row) - } else { - return false - } - }, - k39_0_0: function() { - if (!this.editor && this.isTreeGrid()) { - this.expandKids(this.row) - } else { - return false - } - }, - k40_0_0: function() { - var c = this._realfake ? this._fake : this; - if (this.editor && this.editor.combo) { - this.editor.shiftNext() - } else { - if (!this.row.idd) { - return - } - var a = Math.max((c._r_select || 0), this.getRowIndex(this.row.idd)); - var e = this._nextRow(a, 1); - if (e) { - c._r_select = null; - this.selectCell(e, this.cell._cellIndex, true); - if (c.pagingOn) { - c.showRow(e.idd) - } - } else { - if (!this.callEvent("onLastRow", [])) { - return false - } - this._key_events.k34_0_0.apply(this, []); - if (this.pagingOn && this.rowsCol[a + 1]) { - this.selectCell(a + 1, 0, true) - } - } - } - this._still_active = true - }, - k38_0_0: function() { - var c = this._realfake ? this._fake : this; - if (this.editor && this.editor.combo) { - this.editor.shiftPrev() - } else { - if (!this.row.idd) { - return - } - var a = this.getRowIndex(this.row.idd) + 1; - if (a != -1 && (!this.pagingOn || (a != 1))) { - var e = this._nextRow(a - 1, -1); - this.selectCell(e, this.cell._cellIndex, true); - if (c.pagingOn && e) { - c.showRow(e.idd) - } - } else { - this._key_events.k33_0_0.apply(this, []) - } - } - this._still_active = true - } - }, - _build_master_row: function() { - var e = document.createElement("DIV"); - var c = [""]; - for (var a = 0; a < this._cCount; a++) { - c.push("") - } - c.push("
                    "); - e.innerHTML = c.join(""); - this._master_row = e.firstChild.rows[0] - }, - _prepareRow: function(a) { - if (!this._master_row) { - this._build_master_row() - } - var e = this._master_row.cloneNode(true); - for (var c = 0; c < e.childNodes.length; c++) { - e.childNodes[c]._cellIndex = c; - if (this._enbCid) { - e.childNodes[c].id = "c_" + a + "_" + c - } - if (this.dragAndDropOff) { - this.dragger.addDraggableItem(e.childNodes[c], this) - } - } - e.idd = a; - e.grid = this; - return e - }, - _process_jsarray_row: function(c, e) { - c._attrs = {}; - for (var a = 0; a < c.childNodes.length; a++) { - c.childNodes[a]._attrs = {} - } - this._fillRow(c, (this._c_order ? this._swapColumns(e) : e)); - return c - }, - _get_jsarray_data: function(c, a) { - return c[a] - }, - _process_json_row: function(a, c) { - c = this._c_order ? this._swapColumns(c.data) : c.data; - return this._process_some_row(a, c) - }, - _process_some_row: function(c, e) { - c._attrs = {}; - for (var a = 0; a < c.childNodes.length; a++) { - c.childNodes[a]._attrs = {} - } - this._fillRow(c, e); - return c - }, - _get_json_data: function(c, a) { - return c.data[a] - }, - _process_js_row: function(e, g) { - var a = []; - for (var c = 0; c < this.columnIds.length; c++) { - a[c] = g[this.columnIds[c]]; - if (!a[c] && a[c] !== 0) { - a[c] = "" - } - } - this._process_some_row(e, a); - e._attrs = g; - return e - }, - _get_js_data: function(c, a) { - return c[this.columnIds[a]] - }, - _process_csv_row: function(c, e) { - c._attrs = {}; - for (var a = 0; a < c.childNodes.length; a++) { - c.childNodes[a]._attrs = {} - } - this._fillRow(c, (this._c_order ? this._swapColumns(e.split(this.csv.cell)) : e.split(this.csv.cell))); - return c - }, - _get_csv_data: function(c, a) { - return c.split(this.csv.cell)[a] - }, - _process_store_row: function(h, g) { - var a = []; - for (var e = 0; e < this.columnIds.length; e++) { - a[e] = g[this.columnIds[e]] - } - for (var c = 0; c < h.childNodes.length; c++) { - h.childNodes[c]._attrs = {} - } - h._attrs = g; - this._fillRow(h, a) - }, - _process_xml_row: function(a, l) { - var s = dhx4.ajax.xpath(this.xml.cell, l); - var o = []; - a._attrs = this._xml_attrs(l); - if (this._ud_enabled) { - var q = dhx4.ajax.xpath("./userdata", l); - for (var h = q.length - 1; h >= 0; h--) { - var n = ""; - for (var e = 0; e < q[h].childNodes.length; e++) { - n += q[h].childNodes[e].nodeValue - } - this.setUserData(a.idd, q[h].getAttribute("name"), n) - } - } - for (var e = 0; e < s.length; e++) { - var g = s[this._c_order ? this._c_order[e] : e]; - if (!g) { - continue - } - var c = a._childIndexes ? a._childIndexes[e] : e; - var m = g.getAttribute("type"); - if (a.childNodes[c]) { - if (m) { - a.childNodes[c]._cellType = m - } - a.childNodes[c]._attrs = this._xml_attrs(g) - } - if (!g.getAttribute("xmlcontent")) { - if (g.firstChild) { - g = g.firstChild.wholeText || g.firstChild.data - } else { - g = "" - } - } - o.push(g) - } - for (e < s.length; e < a.childNodes.length; e++) { - a.childNodes[e]._attrs = {} - } - if (a.parentNode && a.parentNode.tagName == "row") { - a._attrs.parent = a.parentNode.getAttribute("idd") - } - this._fillRow(a, o); - return a - }, - _get_xml_data: function(c, a) { - c = c.firstChild; - while (true) { - if (!c) { - return "" - } - if (c.tagName == "cell") { - a-- - } - if (a < 0) { - break - } - c = c.nextSibling - } - return (c.firstChild ? c.firstChild.data : "") - }, - _fillRow: function(g, l) { - if (this.editor && this.editor.parentNode && this.editor.parentNode.idd == g.idd) { - this.editStop() - } - for (var c = 0; c < g.childNodes.length; c++) { - if ((c < l.length) || (this.defVal[c])) { - var e = g.childNodes[c]._cellIndex; - var h = l[e]; - var a = this.cells4(g.childNodes[c]); - if ((this.defVal[e]) && ((h == "") || (typeof(h) == "undefined"))) { - h = this.defVal[e] - } - if (a) { - a.setValue(h) - } - } else { - g.childNodes[c].innerHTML = " "; - g.childNodes[c]._clearCell = true - } - } - return g - }, - _postRowProcessing: function(l, n) { - if (l._attrs["class"]) { - l._css = l.className = l._attrs["class"] - } - if (l._attrs.locked) { - l._locked = true - } - if (l._attrs.bgColor) { - l.bgColor = l._attrs.bgColor - } - var m = 0; - for (var e = 0; e < l.childNodes.length; e++) { - var o = l.childNodes[e]; - var h = o._cellIndex; - var g = o._attrs.style || l._attrs.style; - if (g) { - o.style.cssText += ";" + g - } - if (o._attrs["class"]) { - o.className = o._attrs["class"] - } - g = o._attrs.align || this.cellAlign[h]; - if (g) { - o.align = g - } - o.vAlign = o._attrs.valign || this.cellVAlign[h]; - var a = o._attrs.bgColor || this.columnColor[h]; - if (a) { - o.bgColor = a - } - if (o._attrs.colspan && !n) { - this.setColspan(l.idd, e + m, o._attrs.colspan); - m += (o._attrs.colspan - 1) - } - if (this._hrrar && this._hrrar[h] && !n) { - o.style.display = "none" - } - } - this.callEvent("onRowCreated", [l.idd, l, null]) - }, - load: function(a, e, c) { - this.callEvent("onXLS", [this]); - if (arguments.length == 2 && typeof e != "function") { - c = e; - e = null - } - this._last_load_type = c = c || this._last_load_type || "xml"; - if (!this.xmlFileUrl) { - this.xmlFileUrl = a - } - this._data_type = c; - this.xmlLoader = this.doLoadDetails; - var g = this; - this.xmlLoader = function(h) { - if (!g.callEvent) { - return - } - g["_process_" + c](h.xmlDoc); - if (!g._contextCallTimer) { - g.callEvent("onXLE", [g, 0, 0, h.xmlDoc, c]) - } - if (e) { - e(); - e = null - } - }; - return dhx4.ajax.get(a, this.xmlLoader) - }, - loadXMLString: function(c, a) { - if (window.console && window.console.info) { - window.console.info("loadXMLString was deprecated", "http://docs.dhtmlx.com/migration__index.html#migrationfrom43to44") - } - this.parse({ - responseXML: dhx4.ajax.parse(c) - }, a, "xml") - }, - loadXML: function(a, c) { - if (window.console && window.console.info) { - window.console.info("loadXML was deprecated", "http://docs.dhtmlx.com/migration__index.html#migrationfrom43to44") - } - this.load(a, c, "xml") - }, - parse: function(e, c, a) { - if (arguments.length == 2 && typeof c != "function") { - a = c; - c = null - } - this._last_load_type = a = a || this._last_load_type || "xml"; - this._data_type = a; - if (a == "xml" && typeof e == "string") { - e = { - responseXML: dhx4.ajax.parse(e) - } - } - this["_process_" + a](e); - if (!this._contextCallTimer) { - this.callEvent("onXLE", [this, 0, 0, e, a]) - } - if (c) { - c() - } - }, - xml: { - top: "rows", - row: "./row", - cell: "./cell", - s_row: "row", - s_cell: "cell", - row_attrs: [], - cell_attrs: [] - }, - csv: { - row: "\n", - cell: "," - }, - _xml_attrs: function(c) { - var e = {}; - if (c.attributes.length) { - for (var a = 0; a < c.attributes.length; a++) { - e[c.attributes[a].name] = c.attributes[a].value - } - } - return e - }, - _process_xml: function(q) { - if (this._refresh_mode) { - return this._refreshFromXML(q) - } - this._parsing = true; - var m = dhx4.ajax.xmltop(this.xml.top, q); - if (m.tagName != this.xml.top) { - return - } - var o = m.getAttribute("dhx_security"); - if (o) { - dhtmlx.security_key = o - } - this._parseHead(m); - var r = dhx4.ajax.xpath(this.xml.row, m); - var l = parseInt(m.getAttribute("pos") || 0); - var n = parseInt(m.getAttribute("total_count") || 0); - if (!this.pagingOn) { - var n = Math.min(n, 32000000 / this._srdh) - } - var g = false; - if (n && n != this.rowsBuffer.length) { - if (!this.rowsBuffer[n - 1]) { - if (this.rowsBuffer.length) { - g = true - } - this.rowsBuffer[n - 1] = null - } - if (n < this.rowsBuffer.length) { - this.rowsBuffer.splice(n, this.rowsBuffer.length - n); - g = true - } - } - if (this.isTreeGrid()) { - return this._process_tree_xml(m) - } - for (var c = 0; c < r.length; c++) { - if (this.rowsBuffer[c + l]) { - continue - } - var a = r[c].getAttribute("id") || (c + l + 1); - this.rowsBuffer[c + l] = { - idd: a, - data: r[c], - _parser: this._process_xml_row, - _locator: this._get_xml_data - }; - this.rowsAr[a] = r[c] - } - this.callEvent("onDataReady", []); - if (g && this._srnd) { - var e = this.objBox.scrollTop; - this._reset_view(); - this.objBox.scrollTop = e - } else { - this.render_dataset() - } - this._parsing = false - }, - _process_jsarray: function(data) { - this._parsing = true; - data = data.responseText || data; - if (typeof data == "string") { - eval("dhtmlx.temp=" + data + ";"); - data = dhtmlx.temp - } - for (var i = 0; i < data.length; i++) { - var id = i + 1; - this.rowsBuffer.push({ - idd: id, - data: data[i], - _parser: this._process_jsarray_row, - _locator: this._get_jsarray_data - }); - this.rowsAr[id] = data[i] - } - this.render_dataset(); - this._parsing = false - }, - _process_csv: function(g) { - this._parsing = true; - g = g.responseText || g; - g = g.replace(/\r/g, ""); - g = g.split(this.csv.row); - if (this._csvHdr) { - this.clearAll(); - var e = g.splice(0, 1)[0].split(this.csv.cell); - if (!this._csvAID) { - e.splice(0, 1) - } - this.setHeader(e.join(this.delim)); - this.init() - } - for (var c = 0; c < g.length; c++) { - if (!g[c] && c == g.length - 1) { - continue - } - if (this._csvAID) { - var h = c + 1; - this.rowsBuffer.push({ - idd: h, - data: g[c], - _parser: this._process_csv_row, - _locator: this._get_csv_data - }) - } else { - var a = g[c].split(this.csv.cell); - var h = a.splice(0, 1)[0]; - this.rowsBuffer.push({ - idd: h, - data: a, - _parser: this._process_jsarray_row, - _locator: this._get_jsarray_data - }) - } - this.rowsAr[h] = g[c] - } - this.render_dataset(); - this._parsing = false - }, - _process_js: function(a) { - return this._process_json(a, "js") - }, - _process_json: function(data, mode) { - this._parsing = true; - var data = data.responseText || data; - if (typeof data == "string") { - eval("dhtmlx.temp=" + data + ";"); - data = dhtmlx.temp - } - if (mode == "js") { - if (data.data) { - data = data.data - } - for (var i = 0; i < data.length; i++) { - var row = data[i]; - var id = row.id || (i + 1); - this.rowsBuffer.push({ - idd: id, - data: row, - _parser: this._process_js_row, - _locator: this._get_js_data - }); - this.rowsAr[id] = data[i] - } - } else { - if (data.rows) { - for (var i = 0; i < data.rows.length; i++) { - var id = data.rows[i].id; - this.rowsBuffer.push({ - idd: id, - data: data.rows[i], - _parser: this._process_json_row, - _locator: this._get_json_data - }); - this.rowsAr[id] = data.rows[i] - } - } - } - if (data.dhx_security) { - dhtmlx.security_key = data.dhx_security - } - this.callEvent("onDataReady", []); - this.render_dataset(); - this._parsing = false - }, - render_dataset: function(g, o) { - if (this._srnd) { - if (this._fillers) { - return this._update_srnd_view() - } - o = Math.min((this._get_view_size() + (this._srnd_pr || 0)), this.rowsBuffer.length) - } - if (this.pagingOn) { - g = Math.max((g || 0), (this.currentPage - 1) * this.rowsBufferOutSize); - o = Math.min(this.currentPage * this.rowsBufferOutSize, this.rowsBuffer.length) - } else { - g = g || 0; - o = o || this.rowsBuffer.length - } - for (var h = g; h < o; h++) { - var a = this.render_row(h); - if (a == -1) { - if (this.xmlFileUrl) { - if (this.callEvent("onDynXLS", [h, (this._dpref ? this._dpref : (o - h))])) { - this.load(this.xmlFileUrl + dhtmlx.url(this.xmlFileUrl) + "posStart=" + h + "&count=" + (this._dpref ? this._dpref : (o - h)), this._data_type) - } - } - o = h; - break - } - if (!a.parentNode || !a.parentNode.tagName) { - this._insertRowAt(a, h); - if (a._attrs.selected || a._attrs.select) { - this.selectRow(a, a._attrs.call ? true : false, true); - a._attrs.selected = a._attrs.select = null - } - } - if (this._ads_count && h - g == this._ads_count) { - var n = this; - this._context_parsing = this._context_parsing || this._parsing; - return this._contextCallTimer = window.setTimeout(function() { - n._contextCallTimer = null; - n.render_dataset(h, o); - if (!n._contextCallTimer) { - if (n._context_parsing) { - n.callEvent("onXLE", []) - } else { - n._fixAlterCss() - } - n._context_parsing = false - } - }, this._ads_time) - } - } - if (this._ads_count && h == o) { - this.callEvent("onDistributedEnd", []) - } - if (this._srnd && !this._fillers) { - var c = this.rowsBuffer.length - o; - this._fillers = []; - if (this._fake && !this._realfake) { - this._fake._fillers = [] - } - var e = Math.round(990000 / this._srdh); - while (c > 0) { - var l = (_isIE || window._FFrv) ? Math.min(c, e) : c; - var m = this._add_filler(o, l); - if (m) { - this._fillers.push(m) - } - c -= l; - o += l - } - } - this.setSizes() - }, - render_row: function(c) { - if (!this.rowsBuffer[c]) { - return -1 - } - if (this.rowsBuffer[c]._parser) { - var a = this.rowsBuffer[c]; - if (this.rowsAr[a.idd] && this.rowsAr[a.idd].tagName == "TR") { - return this.rowsBuffer[c] = this.rowsAr[a.idd] - } - var e = this._prepareRow(a.idd); - this.rowsBuffer[c] = e; - this.rowsAr[a.idd] = e; - a._parser.call(this, e, a.data); - this._postRowProcessing(e); - return e - } - return this.rowsBuffer[c] - }, - _get_cell_value: function(c, a, e) { - if (c._locator) { - if (this._c_order) { - a = this._c_order[a] - } - return c._locator.call(this, c.data, a) - } - return this.cells3(c, a)[e ? e : "getValue"]() - }, - sortRows: function(e, l, c) { - this.editStop(); - c = (c || "asc").toLowerCase(); - l = (l || this.fldSort[e]); - e = e || 0; - if (this.isTreeGrid()) { - this.sortTreeRows(e, l, c) - } else { - var a = {}; - var h = this.cellType[e]; - var m = "getValue"; - if (h == "link") { - m = "getContent" - } - if (h == "dhxCalendar" || h == "dhxCalendarA") { - m = "getDate" - } - if (h == "co" || h == "coro") { - m = "getText" - } - for (var g = 0; g < this.rowsBuffer.length; g++) { - a[this.rowsBuffer[g].idd] = this._get_cell_value(this.rowsBuffer[g], e, m) - } - this._sortRows(e, l, c, a) - } - this.callEvent("onAfterSorting", [e, l, c]) - }, - _sortCore: function(e, l, c, a, h) { - var g = "sort"; - if (this._sst) { - h.stablesort = this.rowsCol.stablesort; - g = "stablesort" - } - if (l.length > 4) { - l = window[l] - } - if (l == "cus") { - var m = this._customSorts[e]; - h[g](function(o, n) { - return m(a[o.idd], a[n.idd], c, o.idd, n.idd) - }) - } else { - if (typeof(l) == "function") { - h[g](function(o, n) { - return l(a[o.idd], a[n.idd], c, o.idd, n.idd) - }) - } else { - if (l == "str") { - h[g](function(o, n) { - if (c == "asc") { - return a[o.idd] > a[n.idd] ? 1 : (a[o.idd] < a[n.idd] ? -1 : 0) - } else { - return a[o.idd] < a[n.idd] ? 1 : (a[o.idd] > a[n.idd] ? -1 : 0) - } - }) - } else { - if (l == "int") { - h[g](function(q, o) { - var n = parseFloat(a[q.idd]); - n = isNaN(n) ? -99999999999999 : n; - var r = parseFloat(a[o.idd]); - r = isNaN(r) ? -99999999999999 : r; - if (c == "asc") { - return n - r - } else { - return r - n - } - }) - } else { - if (l == "date") { - h[g](function(q, o) { - var n = Date.parse(a[q.idd]) || (Date.parse("01/01/1900")); - var r = Date.parse(a[o.idd]) || (Date.parse("01/01/1900")); - if (c == "asc") { - return n - r - } else { - return r - n - } - }) - } - } - } - } - } - }, - _sortRows: function(e, g, c, a) { - this._sortCore(e, g, c, a, this.rowsBuffer); - this._reset_view(); - this.callEvent("onGridReconstructed", []) - }, - _reset_view: function(e) { - if (!this.obj.rows[0]) { - return - } - if (this._lahRw) { - this._unsetRowHover(0, true) - } - this.callEvent("onResetView", []); - var a = this.obj.rows[0].parentNode; - var g = a.removeChild(a.childNodes[0], true); - if (_isKHTML) { - for (var c = a.parentNode.childNodes.length - 1; c >= 0; c--) { - if (a.parentNode.childNodes[c].tagName == "TR") { - a.parentNode.removeChild(a.parentNode.childNodes[c], true) - } - } - } else { - if (_isIE) { - for (var c = a.childNodes.length - 1; c >= 0; c--) { - a.childNodes[c].removeNode(true) - } - } else { - a.innerHTML = "" - } - } - a.appendChild(g); - this.rowsCol = dhtmlxArray(); - if (this._sst) { - this.enableStableSorting(true) - } - this._fillers = this.undefined; - if (!e) { - if (_isIE && this._srnd) { - this.render_dataset() - } else { - this.render_dataset() - } - } - }, - deleteRow: function(c, g) { - if (!g) { - g = this.getRowById(c) - } - if (!g) { - return - } - this.editStop(); - if (!this._realfake) { - if (this.callEvent("onBeforeRowDeleted", [c]) == false) { - return false - } - } - var a = 0; - if (this.cellType._dhx_find("tree") != -1 && !this._realfake) { - a = this._h2.get[c].parent.id; - this._removeTrGrRow(g) - } else { - if (g.parentNode) { - g.parentNode.removeChild(g) - } - var l = this.rowsCol._dhx_find(g); - if (l != -1) { - this.rowsCol._dhx_removeAt(l) - } - for (var e = 0; e < this.rowsBuffer.length; e++) { - if (this.rowsBuffer[e] && this.rowsBuffer[e].idd == c) { - this.rowsBuffer._dhx_removeAt(e); - l = e; - break - } - } - } - this.rowsAr[c] = null; - for (var e = 0; e < this.selectedRows.length; e++) { - if (this.selectedRows[e].idd == c) { - this.selectedRows._dhx_removeAt(e) - } - } - if (this._srnd) { - for (var e = 0; e < this._fillers.length; e++) { - var h = this._fillers[e]; - if (!h) { - continue - } - if (h[0] >= l) { - this._update_fillers(e, 0, -1) - } else { - if (h[0] + h[1] > l) { - this._update_fillers(e, -1, 0) - } - } - } - this._update_srnd_view() - } - if (this.pagingOn) { - this.changePage() - } - if (!this._realfake) { - this.callEvent("onAfterRowDeleted", [c, a]) - } - this.callEvent("onGridReconstructed", []); - if (this._ahgr) { - this.setSizes() - } - return true - }, - _addRow: function(l, m, c) { - if (c == -1 || typeof c == "undefined") { - c = this.rowsBuffer.length - } - if (typeof m == "string") { - m = m.split(this.delim) - } - var n = this._prepareRow(l); - n._attrs = {}; - for (var e = 0; e < n.childNodes.length; e++) { - n.childNodes[e]._attrs = {} - } - this.rowsAr[n.idd] = n; - if (this._h2) { - this._h2.get[n.idd].buff = n - } - this._fillRow(n, m); - this._postRowProcessing(n); - if (this._skipInsert) { - this._skipInsert = false; - return this.rowsAr[n.idd] = n - } - if (this.pagingOn) { - this.rowsBuffer._dhx_insertAt(c, n); - this.rowsAr[n.idd] = n; - return n - } - if (this._fillers) { - this.rowsCol._dhx_insertAt(c, null); - this.rowsBuffer._dhx_insertAt(c, n); - if (this._fake) { - this._fake.rowsCol._dhx_insertAt(c, null) - } - this.rowsAr[n.idd] = n; - var o = false; - for (var g = 0; g < this._fillers.length; g++) { - var h = this._fillers[g]; - if (h && h[0] <= c && (h[0] + h[1]) >= c) { - h[1] = h[1] + 1; - var a = h[2].firstChild.style.height = parseInt(h[2].firstChild.style.height) + this._srdh + "px"; - o = true; - if (this._fake) { - this._fake._fillers[g][1]++; - this._fake._fillers[g][2].firstChild.style.height = a - } - } - if (h && h[0] > c) { - h[0] = h[0] + 1; - if (this._fake) { - this._fake._fillers[g][0]++ - } - } - } - if (!o) { - this._fillers.push(this._add_filler(c, 1, (c == 0 ? { - parentNode: this.obj.rows[0].parentNode, - nextSibling: (this.rowsCol[1]) - } : this.rowsCol[c - 1]))) - } - return n - } - this.rowsBuffer._dhx_insertAt(c, n); - return this._insertRowAt(n, c) - }, - addRow: function(a, g, e) { - var c = this._addRow(a, g, e); - if (!this.dragContext) { - this.callEvent("onRowAdded", [a]) - } - if (this.pagingOn) { - this.changePage(this.currentPage) - } - if (this._srnd) { - this._update_srnd_view() - } - c._added = true; - if (this._srnd && !this._fillers) { - this._fillers = [] - } - if (this._ahgr) { - this.setSizes() - } - this.callEvent("onGridReconstructed", []); - return c - }, - _insertRowAt: function(e, g, c) { - this.rowsAr[e.idd] = e; - if (this._skipInsert) { - this._skipInsert = false; - return e - } - if ((g < 0) || ((!g) && (parseInt(g) !== 0))) { - g = this.rowsCol.length - } else { - if (g > this.rowsCol.length) { - g = this.rowsCol.length - } - } - if (this._cssEven) { - var a = e.className.replace(this._cssUnEven, ""); - if ((this._cssSP ? this.getLevel(e.idd) : g) % 2 == 1) { - e.className = a + " " + this._cssUnEven + (this._cssSU ? (" " + this._cssUnEven + "_" + this.getLevel(e.idd)) : "") - } else { - e.className = a + " " + this._cssEven + (this._cssSU ? (" " + this._cssEven + "_" + this.getLevel(e.idd)) : "") - } - } - if (!c) { - if ((g == (this.obj.rows.length - 1)) || (!this.rowsCol[g])) { - if (_isKHTML) { - this.obj.appendChild(e) - } else { - this.obj.firstChild.appendChild(e) - } - } else { - this.rowsCol[g].parentNode.insertBefore(e, this.rowsCol[g]) - } - } - this.rowsCol._dhx_insertAt(g, e); - this.callEvent("onRowInserted", [e, g]); - return e - }, - getRowById: function(e) { - var c = this.rowsAr[e]; - if (c) { - if (c.tagName != "TR") { - for (var a = 0; a < this.rowsBuffer.length; a++) { - if (this.rowsBuffer[a] && this.rowsBuffer[a].idd == e) { - return this.render_row(a) - } - } - if (this._h2) { - return this.render_row(null, c.idd) - } - } - return c - } - return null - }, - cellById: function(c, a) { - return this.cells(c, a) - }, - cells: function(g, e) { - if (arguments.length == 0) { - return this.cells4(this.cell) - } else { - var h = this.getRowById(g) - } - var a = (h._childIndexes ? h.childNodes[h._childIndexes[e]] : h.childNodes[e]); - if (!a && h._childIndexes) { - a = h.firstChild || {} - } - return this.cells4(a) - }, - cellByIndex: function(c, a) { - return this.cells2(c, a) - }, - cells2: function(g, e) { - var h = this.render_row(g); - var a = (h._childIndexes ? h.childNodes[h._childIndexes[e]] : h.childNodes[e]); - if (!a && h._childIndexes) { - a = h.firstChild || {} - } - return this.cells4(a) - }, - cells3: function(e, c) { - var a = (e._childIndexes ? e.childNodes[e._childIndexes[c]] : e.childNodes[c]); - return this.cells4(a) - }, - cells4: function(a) { - var c = window["eXcell_" + (a._cellType || this.cellType[a._cellIndex])]; - if (c) { - return new c(a) - } - }, - cells5: function(a, e) { - var e = e || (a._cellType || this.cellType[a._cellIndex]); - if (!this._ecache[e]) { - if (!window["eXcell_" + e]) { - var c = eXcell_ro - } else { - var c = window["eXcell_" + e] - } - this._ecache[e] = new c(a) - } - this._ecache[e].cell = a; - return this._ecache[e] - }, - dma: function(a) { - if (!this._ecache) { - this._ecache = {} - } - if (a && !this._dma) { - this._dma = this.cells4; - this.cells4 = this.cells5 - } else { - if (!a && this._dma) { - this.cells4 = this._dma; - this._dma = null - } - } - }, - getRowsNum: function() { - return this.rowsBuffer.length - }, - enableEditTabOnly: function(a) { - if (arguments.length > 0) { - this.smartTabOrder = dhx4.s2b(a) - } else { - this.smartTabOrder = true - } - }, - setExternalTabOrder: function(h, a) { - var c = this; - this.tabStart = (typeof(h) == "object") ? h : document.getElementById(h); - var e = this.tabStart.onkeydown; - this.tabStart.onkeydown = function(m) { - if (e) { - e.call(this, m) - } - var l = (m || window.event); - if (l.keyCode == 9 && !l.shiftKey) { - l.cancelBubble = true; - c.selectCell(0, 0, 0, 0, 1); - if (c.smartTabOrder && c.cells2(0, 0).isDisabled()) { - c._key_events.k9_0_0.call(c) - } - this.blur(); - return false - } - }; - if (_isOpera) { - this.tabStart.onkeypress = this.tabStart.onkeydown - } - this.tabEnd = (typeof(a) == "object") ? a : document.getElementById(a); - var g = this.tabEnd.onkeydown; - this.tabEnd.onkeydown = this.tabEnd.onkeypress = function(m) { - if (g) { - g.call(this, m) - } - var l = (m || window.event); - if (l.keyCode == 9 && l.shiftKey) { - l.cancelBubble = true; - c.selectCell((c.getRowsNum() - 1), (c.getColumnCount() - 1), 0, 0, 1); - if (c.smartTabOrder && c.cells2((c.getRowsNum() - 1), (c.getColumnCount() - 1)).isDisabled()) { - c._key_events.k9_0_1.call(c) - } - this.blur(); - return false - } - }; - if (_isOpera) { - this.tabEnd.onkeypress = this.tabEnd.onkeydown - } - }, - uid: function() { - if (!this._ui_seed) { - this._ui_seed = (new Date()).valueOf() - } - return this._ui_seed++ - }, - setIconset: function(a) { - this.iconset = a - }, - clearAndLoad: function() { - if (this._last_load_request) { - var c = this._last_load_request.xmlDoc; - if (c.readyState != 4) { - try { - c.onreadystatechange = function() {}; - c.abort() - } catch (g) {} - } - } - var a = this._pgn_skin; - this._pgn_skin = null; - this.clearAll(); - this._pgn_skin = a; - this._last_load_request = this.load.apply(this, arguments) - }, - getStateOfView: function() { - if (this.pagingOn) { - var g = (this.currentPage - 1) * this.rowsBufferOutSize; - return [this.currentPage, g, Math.min(g + this.rowsBufferOutSize, this.rowsBuffer.length), this.rowsBuffer.length] - } - var c = Math.floor(this.objBox.scrollTop / this._srdh); - var a = Math.ceil(parseInt(this.objBox.offsetHeight) / this._srdh); - if (this.multiLine) { - var e = this.objBox.scrollTop; - c = 0; - while (e >= 0) { - e -= this.rowsCol[c] ? this.rowsCol[c].offsetHeight : this._srdh; - c++ - } - c--; - e += this.objBox.offsetHeight; - a = 0; - while (e >= 0) { - e -= this.rowsCol[c + a] ? this.rowsCol[c + a].offsetHeight : this._srdh; - a++ - } - } - return [c, a, this.rowsBuffer.length] - } -}; -(function() { - function g(m, n) { - this[m] = n - } - - function l(m, n) { - this[m].call(this, n) - } - - function e(m, n) { - this[m].call(this, n.join(this.delim)) - } - - function a(m, q) { - for (var o = 0; o < q.length; o++) { - if (typeof q[o] == "object") { - var r = this.getCombo(o); - for (var n in q[o]) { - r.put(n, q[o][n]) - } - } - } - } - - function h(m, v, q) { - var x = 1; - var u = []; - - function w(A, y, C) { - if (!u[y]) { - u[y] = [] - } - if (typeof C == "object") { - C.toString = function() { - return this.text - } - } - u[y][A] = C - } - for (var r = 0; r < v.length; r++) { - if (typeof(v[r]) == "object" && v[r].length) { - for (var o = 0; o < v[r].length; o++) { - w(r, o, v[r][o]) - } - } else { - w(r, 0, v[r]) - } - } - for (var r = 0; r < u.length; r++) { - for (var o = 0; o < u[0].length; o++) { - var s = u[r][o]; - u[r][o] = (s || "").toString() || " "; - if (s && s.colspan) { - for (var n = 1; n < s.colspan; n++) { - w(o + n, r, "#cspan") - } - } - if (s && s.rowspan) { - for (var n = 1; n < s.rowspan; n++) { - w(o, r + n, "#rspan") - } - } - } - } - this.setHeader(u[0]); - for (var r = 1; r < u.length; r++) { - this.attachHeader(u[r]) - } - } - var c = [{ - name: "label", - def: " ", - operation: "setHeader", - type: h - }, { - name: "id", - def: "", - operation: "columnIds", - type: g - }, { - name: "width", - def: "*", - operation: "setInitWidths", - type: e - }, { - name: "align", - def: "left", - operation: "cellAlign", - type: g - }, { - name: "valign", - def: "middle", - operation: "cellVAlign", - type: g - }, { - name: "sort", - def: "na", - operation: "fldSort", - type: g - }, { - name: "type", - def: "ro", - operation: "setColTypes", - type: e - }, { - name: "options", - def: "", - operation: "", - type: a - }]; - dhtmlx.extend_api("dhtmlXGridObject", { - _init: function(m) { - return [m.parent] - }, - image_path: "setImagePath", - columns: "columns", - rows: "rows", - headers: "headers", - skin: "setSkin", - smart_rendering: "enableSmartRendering", - css: "enableAlterCss", - auto_height: "enableAutoHeight", - save_hidden: "enableAutoHiddenColumnsSaving", - save_cookie: "enableAutoSaving", - save_size: "enableAutoSizeSaving", - auto_width: "enableAutoWidth", - block_selection: "enableBlockSelection", - csv_id: "enableCSVAutoID", - csv_header: "enableCSVHeader", - cell_ids: "enableCellIds", - colspan: "enableColSpan", - column_move: "enableColumnMove", - context_menu: "enableContextMenu", - distributed: "enableDistributedParsing", - drag: "enableDragAndDrop", - drag_order: "enableDragOrder", - tabulation: "enableEditTabOnly", - header_images: "enableHeaderImages", - header_menu: "enableHeaderMenu", - keymap: "enableKeyboardSupport", - mouse_navigation: "enableLightMouseNavigation", - markers: "enableMarkedCells", - math_editing: "enableMathEditing", - math_serialization: "enableMathSerialization", - drag_copy: "enableMercyDrag", - multiline: "enableMultiline", - multiselect: "enableMultiselect", - save_column_order: "enableOrderSaving", - hover: "enableRowsHover", - rowspan: "enableRowspan", - smart: "enableSmartRendering", - save_sorting: "enableSortingSaving", - stable_sorting: "enableStableSorting", - undo: "enableUndoRedo", - csv_cell: "setCSVDelimiter", - date_format: "setDateFormat", - drag_behavior: "setDragBehavior", - editable: "setEditable", - without_header: "setNoHeader", - submit_changed: "submitOnlyChanged", - submit_serialization: "submitSerialization", - submit_selected: "submitOnlySelected", - submit_id: "submitOnlyRowID", - xml: "load" - }, { - columns: function(r) { - for (var m = 0; m < c.length; m++) { - var q = []; - for (var n = 0; n < r.length; n++) { - q[n] = r[n][c[m].name] || c[m].def - } - var o = c[m].type || l; - o.call(this, c[m].operation, q, r) - } - this.init() - }, - rows: function(m) {}, - headers: function(n) { - for (var m = 0; m < n.length; m++) { - this.attachHeader(n[m]) - } - } - }) -})(); -dhtmlXGridObject.prototype._dp_init = function(a) { - a.attachEvent("insertCallback", function(c, g) { - if (this.obj._h2) { - this.obj.addRow(g, e, null, parent) - } else { - this.obj.addRow(g, [], 0) - } - var e = this.obj.getRowById(g); - if (e) { - this.obj._process_xml_row(e, c.firstChild); - this.obj._postRowProcessing(e) - } - }); - a.attachEvent("updateCallback", function(c, g) { - var e = this.obj.getRowById(g); - if (e) { - this.obj._process_xml_row(e, c.firstChild); - this.obj._postRowProcessing(e) - } - }); - a.attachEvent("deleteCallback", function(c, e) { - this.obj.setUserData(e, this.action_param, "true_deleted"); - this.obj.deleteRow(e) - }); - a._methods = ["setRowTextStyle", "setCellTextStyle", "changeRowId", "deleteRow"]; - this.attachEvent("onEditCell", function(g, h, e) { - if (a._columns && !a._columns[e]) { - return true - } - var c = this.cells(h, e); - if (g == 1) { - if (c.isCheckbox()) { - a.setUpdated(h, true) - } - } else { - if (g == 2) { - if (c.wasChanged()) { - a.setUpdated(h, true) - } - } - } - return true - }); - this.attachEvent("onRowPaste", function(c) { - a.setUpdated(c, true) - }); - this.attachEvent("onUndo", function(c) { - a.setUpdated(c, true) - }); - this.attachEvent("onRowIdChange", function(g, c) { - var e = a.findRow(g); - if (e < a.updatedRows.length) { - a.updatedRows[e] = c - } - }); - this.attachEvent("onSelectStateChanged", function(c) { - if (a.updateMode == "row") { - a.sendData() - } - return true - }); - this.attachEvent("onEnter", function(e, c) { - if (a.updateMode == "row") { - a.sendData() - } - return true - }); - this.attachEvent("onBeforeRowDeleted", function(c) { - if (a._silent_mode || (!this.rowsAr[c])) { - return true - } - if (this.dragContext && a.dnd) { - window.setTimeout(function() { - a.setUpdated(c, true) - }, 1); - return true - } - var e = a.getState(c); - if (this._h2) { - this._h2.forEachChild(c, function(g) { - a.setUpdated(g.id, false); - a.markRow(g.id, true, "deleted") - }, this) - } - if (e == "inserted") { - a.set_invalid(c, false); - a.setUpdated(c, false); - return true - } - if (e == "deleted") { - return false - } - if (e == "true_deleted") { - a.setUpdated(c, false); - return true - } - a.setUpdated(c, true, "deleted"); - return false - }); - this.attachEvent("onBindUpdate", function(e, c, g) { - a.setUpdated(g, true) - }); - this.attachEvent("onRowAdded", function(c) { - if (this.dragContext && a.dnd) { - return true - } - a.setUpdated(c, true, "inserted"); - return true - }); - a._getRowData = function(g, s) { - var m = {}; - m.gr_id = g; - if (this.obj.isTreeGrid()) { - m.gr_pid = this.obj.getParentId(g) - } - var e = this.obj.getRowById(g); - for (var n = 0; n < this.obj._cCount; n++) { - if (this.obj._c_order) { - var o = this.obj._c_order[n] - } else { - var o = n - } - var q = this.obj.cells(e.idd, n); - if (this._changed && !q.wasChanged()) { - continue - } - if (this._endnm) { - m[this.obj.getColumnId(n)] = q.getValue() - } else { - m["c" + o] = q.getValue() - } - } - var h = this.obj.UserData[g]; - if (h) { - for (var l = 0; l < h.keys.length; l++) { - if (h.keys[l] && h.keys[l].indexOf("__") != 0) { - m[h.keys[l]] = h.values[l] - } - } - } - var h = this.obj.UserData.gridglobaluserdata; - if (h) { - for (var l = 0; l < h.keys.length; l++) { - m[h.keys[l]] = h.values[l] - } - } - return m - }; - a._clearUpdateFlag = function(e) { - var g = this.obj.getRowById(e); - if (g) { - for (var c = 0; c < this.obj._cCount; c++) { - this.obj.cells(e, c).cell.wasChanged = false - } - } - }; - a.checkBeforeUpdate = function(l) { - var h = true; - var c = []; - for (var g = 0; g < this.obj._cCount; g++) { - if (this.mandatoryFields[g]) { - var e = this.mandatoryFields[g].call(this.obj, this.obj.cells(l, g).getValue(), l, g); - if (typeof e == "string") { - this.messages.push(e); - h = false - } else { - h &= e; - c[g] = !e - } - } - } - if (!h) { - this.set_invalid(l, "invalid", c); - this.setUpdated(l, false) - } - return h - } -}; -dhx4.attachEvent("onGridCreated", function(c) { - c._con_f_used = [].concat(c._con_f_used); - dhtmlXGridObject.prototype._con_f_used = []; - if (c._was_created_once) { - return - } - c._was_created_once = true; - var a = function(l) { - l = l.replace(/(\?|\&)connector[^\f]*/g, ""); - return l + (l.indexOf("?") != -1 ? "&" : "?") + "connector=true" + (this.hdr.rows.length > 0 ? "&dhx_no_header=1" : "") - }; - var h = function(l) { - return a.call(this, l) + (this._connector_sorting || "") + (this._connector_filter || "") - }; - var g = function(n, o, m) { - var l = this._c_order ? this._c_order[o] : o; - this._connector_sorting = "&dhx_sort[" + l + "]=" + m; - return h.call(this, n) - }; - var e = function(n, l, q) { - var r = []; - for (var o = 0; o < l.length; o++) { - var m = this._c_order ? this._c_order[l[o]] : l[o]; - r[o] = "dhx_filter[" + m + "]=" + encodeURIComponent(q[o]) - } - this._connector_filter = "&" + r.join("&"); - return h.call(this, n) - }; - c.attachEvent("onCollectValues", function(l) { - if (this._con_f_used[l]) { - if (typeof(this._con_f_used[l]) == "object") { - return this._con_f_used[l] - } else { - return false - } - } - return true - }); - c.attachEvent("onDynXLS", function() { - if (this.xmlFileUrl) { - this.xmlFileUrl = h.call(this, this.xmlFileUrl) - } - return true - }); - c.attachEvent("onBeforeSorting", function(o, n, m) { - if (n == "connector") { - var l = this; - this.clearAndLoad(g.call(this, this.xmlFileUrl, o, m), function() { - l.setSortImgState(true, o, m) - }); - return false - } - return true - }); - c.attachEvent("onFilterStart", function(m, l) { - if (this._con_f_used.length) { - var o = this.getSortingState(); - var n = this; - this.clearAndLoad(e.call(this, this.xmlFileUrl, m, l)); - if (o.length) { - n.setSortImgState(true, o[0], o[1]) - } - return false - } - return true - }) -}); -dhtmlXGridObject.prototype._con_f_used = []; -dhtmlXGridObject.prototype._in_header_connector_text_filter = function(c, a) { - if (!this._con_f_used[a]) { - this._con_f_used[a] = 1 - } - return this._in_header_text_filter(c, a) -}; -dhtmlXGridObject.prototype._in_header_connector_select_filter = function(c, a) { - if (!this._con_f_used[a]) { - this._con_f_used[a] = 2 - } - return this._in_header_select_filter(c, a) -}; -if (!dhtmlXGridObject.prototype.load_connector) { - dhtmlXGridObject.prototype.load_connector = dhtmlXGridObject.prototype.load; - dhtmlXGridObject.prototype.load = function(c, h, g) { - if (!this._colls_loaded && this.cellType) { - var a = []; - for (var e = 0; e < this.cellType.length; e++) { - if (this.cellType[e].indexOf("co") == 0 || this.cellType[e].indexOf("clist") == 0 || this._con_f_used[e] == 2) { - a.push(e) - } - } - if (a.length) { - arguments[0] += (arguments[0].indexOf("?") != -1 ? "&" : "?") + "connector=true&dhx_colls=" + a.join(",") - } - } - return this.load_connector.apply(this, arguments) - }; - dhtmlXGridObject.prototype._parseHead_connector = dhtmlXGridObject.prototype._parseHead; - dhtmlXGridObject.prototype._parseHead = function(c, u, q) { - this._parseHead_connector.apply(this, arguments); - if (!this._colls_loaded) { - var r = dhx4.ajax.xpath("./coll_options", arguments[0]); - for (var m = 0; m < r.length; m++) { - var o = r[m].getAttribute("for"); - var s = []; - var g = null; - if (this.cellType[o] == "combo") { - g = this.getColumnCombo(o) - } else { - if (this.cellType[o].indexOf("co") == 0) { - g = this.getCombo(o) - } - } - var l = dhx4.ajax.xpath("./item", r[m]); - var a = []; - for (var h = 0; h < l.length; h++) { - var e = l[h].getAttribute("value"); - if (g) { - var n = l[h].getAttribute("label") || e; - if (g.addOption) { - a.push([e, n]) - } else { - g.put(e, n) - } - s[s.length] = n - } else { - s[s.length] = e - } - } - if (a.length) { - if (g) { - g.addOption(a) - } - } else { - if (s.length && !g) { - if (this.registerCList) { - this.registerCList(o * 1, s) - } - } - } - if (this._con_f_used[o * 1]) { - this._con_f_used[o * 1] = s - } - } - this._colls_loaded = true - } - } -} -dhtmlXGridObject.prototype.getRowData = function(h) { - var c = {}; - var a = this.getColumnsNum(); - for (var e = 0; e < a; e++) { - var g = this.getColumnId(e); - if (g) { - c[g] = this.cells(h, e).getValue() - } - } - return c -}; -dhtmlXGridObject.prototype.setRowData = function(h, e) { - var a = this.getColumnsNum(); - for (var c = 0; c < a; c++) { - var g = this.getColumnId(c); - if (g && e.hasOwnProperty(g)) { - this.cells(h, c).setValue(e[g]) - } - } -}; - -function dhtmlXGridCellObject(a) { - this.destructor = function() { - this.cell.obj = null; - this.cell = null; - this.grid = null; - this.base = null; - return null - }; - this.cell = a; - this.getValue = function() { - if ((this.cell.textContent) && (this.cell.textContent.tagName == "TEXTAREA")) { - return this.cell.textContent.value - } else { - return this.cell.innerHTML._dhx_trim() - } - }; - this.getMathValue = function() { - if (this.cell.original) { - return this.cell.original - } else { - return this.getValue() - } - }; - this.getFont = function() { - arOut = new Array(3); - if (this.cell.style.fontFamily) { - arOut[0] = this.cell.style.fontFamily - } - if (this.cell.style.fontWeight == "bold" || this.cell.parentNode.style.fontWeight == "bold") { - arOut[1] = "bold" - } - if (this.cell.style.fontStyle == "italic" || this.cell.parentNode.style.fontWeight == "italic") { - arOut[1] += "italic" - } - if (this.cell.style.fontSize) { - arOut[2] = this.cell.style.fontSize - } else { - arOut[2] = "" - } - return arOut.join("-") - }; - this.getTextColor = function() { - if (this.cell.style.color) { - return this.cell.style.color - } else { - return "#000000" - } - }; - this.getBgColor = function() { - return this.cell.style.backgroundColor || "#FFFFFF" - }; - this.getHorAlign = function() { - if (this.cell.style.textAlign) { - return this.cell.style.textAlign - } else { - if (this.cell.style.textAlign) { - return this.cell.style.textAlign - } else { - return "left" - } - } - }; - this.getWidth = function() { - return this.cell.scrollWidth - }; - this.setFont = function(c) { - fntAr = c.split("-"); - this.cell.style.fontFamily = fntAr[0]; - this.cell.style.fontSize = fntAr[fntAr.length - 1]; - if (fntAr.length == 3) { - if (/bold/.test(fntAr[1])) { - this.cell.style.fontWeight = "bold" - } - if (/italic/.test(fntAr[1])) { - this.cell.style.fontStyle = "italic" - } - if (/underline/.test(fntAr[1])) { - this.cell.style.textDecoration = "underline" - } - } - }; - this.setTextColor = function(c) { - this.cell.style.color = c - }; - this.setBgColor = function(c) { - if (c == "") { - c = null - } - this.cell.style.background = c - }; - this.setHorAlign = function(c) { - if (c.length == 1) { - if (c == "c") { - this.cell.style.textAlign = "center" - } else { - if (c == "l") { - this.cell.style.textAlign = "left" - } else { - this.cell.style.textAlign = "right" - } - } - } else { - this.cell.style.textAlign = c - } - }; - this.wasChanged = function() { - if (this.cell.wasChanged) { - return true - } else { - return false - } - }; - this.isCheckbox = function() { - var c = this.cell.firstChild; - if (c && c.tagName == "INPUT") { - type = c.type; - if (type == "radio" || type == "checkbox") { - return true - } else { - return false - } - } else { - return false - } - }; - this.isChecked = function() { - if (this.isCheckbox()) { - return this.cell.firstChild.checked - } - }; - this.isDisabled = function() { - return this.cell._disabled - }; - this.setChecked = function(c) { - if (this.isCheckbox()) { - if (c != "true" && c != 1) { - c = false - } - this.cell.firstChild.checked = c - } - }; - this.setDisabled = function(c) { - if (c != "true" && c != 1) { - c = false - } - if (this.isCheckbox()) { - this.cell.firstChild.disabled = c; - if (this.disabledF) { - this.disabledF(c) - } - } - this.cell._disabled = c - } -} -dhtmlXGridCellObject.prototype = { - getAttribute: function(a) { - return this.cell._attrs[a] - }, - setAttribute: function(a, c) { - this.cell._attrs[a] = c - }, - getInput: function() { - if (this.obj && (this.obj.tagName == "INPUT" || this.obj.tagName == "TEXTAREA")) { - return this.obj - } - var a = (this.obj || this.cell).getElementsByTagName("TEXTAREA"); - if (!a.length) { - a = (this.obj || this.cell).getElementsByTagName("INPUT") - } - return a[0] - } -}; -dhtmlXGridCellObject.prototype.getOldValue = function(a) { - return this.val -}; -dhtmlXGridCellObject.prototype.setValue = function(a) { - if ((typeof(a) != "number") && (!a || a.toString()._dhx_trim() == "")) { - a = " "; - this.cell._clearCell = true - } else { - this.cell._clearCell = false - } - this.setCValue(a) -}; -dhtmlXGridCellObject.prototype.getTitle = function() { - return (_isIE ? this.cell.innerText : this.cell.textContent) -}; -dhtmlXGridCellObject.prototype.setCValue = function(c, a) { - this.cell.innerHTML = c; - this.grid.callEvent("onCellChanged", [this.cell.parentNode.idd, this.cell._cellIndex, (arguments.length > 1 ? a : c)]) -}; -dhtmlXGridCellObject.prototype.setCTxtValue = function(a) { - this.cell.innerHTML = ""; - this.cell.appendChild(document.createTextNode(a)); - this.grid.callEvent("onCellChanged", [this.cell.parentNode.idd, this.cell._cellIndex, a]) -}; -dhtmlXGridCellObject.prototype.setLabel = function(a) { - this.cell.innerHTML = a -}; -dhtmlXGridCellObject.prototype.getMath = function() { - if (this._val) { - return this.val - } else { - return this.getValue() - } -}; - -function eXcell() { - this.obj = null; - this.val = null; - this.changeState = function() { - return false - }; - this.edit = function() { - this.val = this.getValue() - }; - this.detach = function() { - return false - }; - this.getPosition = function(g) { - var a = g; - var e = 0; - var c = 0; - while (a.tagName != "BODY") { - e += a.offsetLeft; - c += a.offsetTop; - a = a.offsetParent - } - return new Array(e, c) - } -} -eXcell.prototype = new dhtmlXGridCellObject; - -function eXcell_ed(a) { - if (a) { - this.cell = a; - this.grid = this.cell.parentNode.grid - } - this.edit = function() { - this.cell.atag = (!this.grid.multiLine) ? "INPUT" : "TEXTAREA"; - this.val = this.getValue(); - this.obj = document.createElement(this.cell.atag); - this.obj.setAttribute("autocomplete", "off"); - this.obj.style.height = (this.cell.offsetHeight - (this.grid.multiLine ? 9 : 4)) + "px"; - this.obj.className = "dhx_combo_edit"; - this.obj.wrap = "soft"; - this.obj.style.textAlign = this.cell.style.textAlign; - this.obj.onclick = function(c) { - (c || event).cancelBubble = true - }; - this.obj.onmousedown = function(c) { - (c || event).cancelBubble = true - }; - this.obj.value = this.val; - this.cell.innerHTML = ""; - this.cell.appendChild(this.obj); - this.obj.onselectstart = function(c) { - if (!c) { - c = event - } - c.cancelBubble = true; - return true - }; - if (_isIE) { - this.obj.focus(); - this.obj.blur() - } - this.obj.focus() - }; - this.getValue = function() { - if ((this.cell.firstChild) && ((this.cell.atag) && (this.cell.firstChild.tagName == this.cell.atag))) { - return this.cell.firstChild.value - } - if (this.cell._clearCell) { - return "" - } - return this.cell.innerHTML.toString()._dhx_trim() - }; - this.detach = function() { - this.setValue(this.obj.value); - return this.val != this.getValue() - } -} -eXcell_ed.prototype = new eXcell; - -function eXcell_edtxt(a) { - if (a) { - this.cell = a; - this.grid = this.cell.parentNode.grid - } - this.getValue = function() { - if ((this.cell.firstChild) && ((this.cell.atag) && (this.cell.firstChild.tagName == this.cell.atag))) { - return this.cell.firstChild.value - } - if (this.cell._clearCell) { - return "" - } - return (_isIE ? this.cell.innerText : this.cell.textContent) - }; - this.setValue = function(c) { - if (!c || c.toString()._dhx_trim() == "") { - c = " "; - this.cell._clearCell = true - } else { - this.cell._clearCell = false - } - this.setCTxtValue(c) - } -} -eXcell_edtxt.prototype = new eXcell_ed; - -function eXcell_edn(a) { - if (a) { - this.cell = a; - this.grid = this.cell.parentNode.grid - } - this.getValue = function() { - if ((this.cell.firstChild) && (this.cell.firstChild.tagName == "TEXTAREA")) { - return this.cell.firstChild.value - } - if (this.cell._clearCell) { - return "" - } - return this.cell._orig_value || this.grid._aplNFb(this.cell.innerHTML.toString()._dhx_trim(), this.cell._cellIndex) - }; - this.detach = function() { - var c = this.obj.value; - this.setValue(c); - return this.val != this.getValue() - } -} -eXcell_edn.prototype = new eXcell_ed; -eXcell_edn.prototype.setValue = function(a) { - if (!a || a.toString()._dhx_trim() == "") { - this.cell._clearCell = true; - return this.setCValue(" ", 0) - } else { - this.cell._clearCell = false; - this.cell._orig_value = a - } - this.setCValue(this.grid._aplNF(a, this.cell._cellIndex), a) -}; - -function eXcell_ch(a) { - if (a) { - this.cell = a; - this.grid = this.cell.parentNode.grid - } - this.disabledF = function(c) { - if ((c == true) || (c == 1)) { - this.cell.innerHTML = this.cell.innerHTML.replace("item_chk0.", "item_chk0_dis.").replace("item_chk1.", "item_chk1_dis.") - } else { - this.cell.innerHTML = this.cell.innerHTML.replace("item_chk0_dis.", "item_chk0.").replace("item_chk1_dis.", "item_chk1.") - } - }; - this.changeState = function(c) { - if (c === true && !this.grid.isActive) { - if (window.globalActiveDHTMLGridObject != null && window.globalActiveDHTMLGridObject != this.grid && window.globalActiveDHTMLGridObject.isActive) { - window.globalActiveDHTMLGridObject.setActive(false) - } - this.grid.setActive(true) - } - if ((!this.grid.isEditable) || (this.cell.parentNode._locked) || (this.isDisabled())) { - return - } - if (this.grid.callEvent("onEditCell", [0, this.cell.parentNode.idd, this.cell._cellIndex])) { - this.val = this.getValue(); - if (this.val == "1") { - this.setValue("0") - } else { - this.setValue("1") - } - this.cell.wasChanged = true; - this.grid.callEvent("onEditCell", [1, this.cell.parentNode.idd, this.cell._cellIndex]); - this.grid.callEvent("onCheckbox", [this.cell.parentNode.idd, this.cell._cellIndex, (this.val != "1")]); - this.grid.callEvent("onCheck", [this.cell.parentNode.idd, this.cell._cellIndex, (this.val != "1")]) - } else { - this.editor = null - } - }; - this.getValue = function() { - return this.cell.chstate ? this.cell.chstate.toString() : "0" - }; - this.isCheckbox = function() { - return true - }; - this.isChecked = function() { - if (this.getValue() == "1") { - return true - } else { - return false - } - }; - this.setChecked = function(c) { - this.setValue(c.toString()) - }; - this.detach = function() { - return this.val != this.getValue() - }; - this.edit = null -} -eXcell_ch.prototype = new eXcell; -eXcell_ch.prototype.setValue = function(c) { - this.cell.style.verticalAlign = "middle"; - if (c) { - c = c.toString()._dhx_trim(); - if ((c == "false") || (c == "0")) { - c = "" - } - } - if (c) { - c = "1"; - this.cell.chstate = "1" - } else { - c = "0"; - this.cell.chstate = "0" - } - var a = this; - this.cell.setAttribute("excell", "ch"); - this.setCValue("", this.cell.chstate) -}; - -function eXcell_ra(a) { - this.base = eXcell_ch; - this.base(a); - this.grid = a.parentNode.grid; - this.disabledF = function(c) { - if ((c == true) || (c == 1)) { - this.cell.innerHTML = this.cell.innerHTML.replace("radio_chk0.", "radio_chk0_dis.").replace("radio_chk1.", "radio_chk1_dis.") - } else { - this.cell.innerHTML = this.cell.innerHTML.replace("radio_chk0_dis.", "radio_chk0.").replace("radio_chk1_dis.", "radio_chk1.") - } - }; - this.changeState = function(c) { - if (c === false && this.getValue() == 1) { - return - } - if ((!this.grid.isEditable) || (this.cell.parentNode._locked) || (this.isDisabled())) { - return - } - if (this.grid.callEvent("onEditCell", [0, this.cell.parentNode.idd, this.cell._cellIndex]) != false) { - this.val = this.getValue(); - if (this.val == "1") { - this.setValue("0") - } else { - this.setValue("1") - } - this.cell.wasChanged = true; - this.grid.callEvent("onEditCell", [1, this.cell.parentNode.idd, this.cell._cellIndex]); - this.grid.callEvent("onCheckbox", [this.cell.parentNode.idd, this.cell._cellIndex, (this.val != "1")]); - this.grid.callEvent("onCheck", [this.cell.parentNode.idd, this.cell._cellIndex, (this.val != "1")]) - } else { - this.editor = null - } - }; - this.edit = null -} -eXcell_ra.prototype = new eXcell_ch; -eXcell_ra.prototype.setValue = function(c) { - this.cell.style.verticalAlign = "middle"; - if (c) { - c = c.toString()._dhx_trim(); - if ((c == "false") || (c == "0")) { - c = "" - } - } - if (c) { - if (!this.grid._RaSeCol) { - this.grid._RaSeCol = [] - } - if (this.grid._RaSeCol[this.cell._cellIndex]) { - var e = this.grid._RaSeCol[this.cell._cellIndex]; - if (this.grid.rowsAr[e]) { - var a = this.grid.cells(e, this.cell._cellIndex); - a.setValue("0"); - if (this.grid.rowsAr[a.cell.parentNode.idd]) { - this.grid.callEvent("onEditCell", [1, a.cell.parentNode.idd, a.cell._cellIndex]) - } - } - } - this.grid._RaSeCol[this.cell._cellIndex] = this.cell.parentNode.idd; - c = "1"; - this.cell.chstate = "1" - } else { - c = "0"; - this.cell.chstate = "0" - } - this.cell.setAttribute("excell", "ra"); - this.setCValue("", this.cell.chstate) -}; - -function eXcell_txt(a) { - if (a) { - this.cell = a; - this.grid = this.cell.parentNode.grid - } - this.edit = function() { - this.val = this.getValue(); - this.obj = document.createElement("TEXTAREA"); - this.obj.className = "dhx_textarea"; - this.obj.onclick = function(g) { - (g || event).cancelBubble = true - }; - var c = this.grid.getPosition(this.cell); - this.obj.value = this.val; - this.obj.style.display = ""; - this.obj.style.textAlign = this.cell.style.textAlign; - document.body.appendChild(this.obj); - if (_isOpera) { - this.obj.onkeypress = function(g) { - if (g.keyCode == 9 || g.keyCode == 27) { - return false - } - } - } - this.obj.onkeydown = function(h) { - var g = (h || event); - if (g.keyCode == 9 || g.keyCode == 27) { - globalActiveDHTMLGridObject.entBox.focus(); - globalActiveDHTMLGridObject.doKey({ - keyCode: g.keyCode, - shiftKey: g.shiftKey, - srcElement: "0" - }); - return false - } - }; - this.obj.style.left = c[0] + "px"; - this.obj.style.top = c[1] + this.cell.offsetHeight + "px"; - if (this.cell.offsetWidth < 200) { - var e = 200 - } else { - var e = this.cell.offsetWidth - } - this.obj.style.width = e + 16 + "px"; - if (_isIE) { - this.obj.select(); - this.obj.value = this.obj.value - } - this.obj.focus() - }; - this.detach = function() { - var c = ""; - c = this.obj.value; - if (c == "") { - this.cell._clearCell = true - } else { - this.cell._clearCell = false - } - this.setValue(c); - document.body.removeChild(this.obj); - this.obj = null; - return this.val != this.getValue() - }; - this.getValue = function() { - if (this.obj) { - return this.obj.value - } - if (this.cell._clearCell) { - return "" - } - if (typeof this.cell._brval != "undefined") { - return this.cell._brval - } - if ((!this.grid.multiLine)) { - return this.cell._brval || this.cell.innerHTML - } else { - return this.cell._brval || this.cell.innerHTML.replace(/]*>/gi, "\n")._dhx_trim() - } - } -} -eXcell_txt.prototype = new eXcell; - -function eXcell_txttxt(a) { - if (a) { - this.cell = a; - this.grid = this.cell.parentNode.grid - } - this.getValue = function() { - if ((this.cell.firstChild) && (this.cell.firstChild.tagName == "TEXTAREA")) { - return this.cell.firstChild.value - } - if (this.cell._clearCell) { - return "" - } - if ((!this.grid.multiLine) && this.cell._brval) { - return this.cell._brval - } - return (_isIE ? this.cell.innerText : this.cell.textContent) - }; - this.setValue = function(c) { - this.cell._brval = c; - if (!c || c.toString()._dhx_trim() == "") { - c = " "; - this.cell._clearCell = true - } else { - this.cell._clearCell = false - } - this.setCTxtValue(c) - } -} -eXcell_txttxt.prototype = new eXcell_txt; -eXcell_txt.prototype.setValue = function(a) { - this.cell._brval = a; - if (!a || a.toString()._dhx_trim() == "") { - a = " "; - this.cell._clearCell = true - } else { - this.cell._clearCell = false - } - if ((!this.grid.multiLine) || this.cell._clearCell) { - this.setCValue(a, this.cell._brval) - } else { - this.setCValue(a.replace(/\n/g, "
                    "), a) - } -}; - -function eXcell_co(a) { - if (a) { - this.cell = a; - this.grid = this.cell.parentNode.grid; - this.combo = (this.cell._combo || this.grid.getCombo(this.cell._cellIndex)); - this.editable = true - } - this.shiftNext = function() { - var c = this.list.options[this.list.selectedIndex + 1]; - if (c) { - c.selected = true - } - this.obj.value = this.list.options[this.list.selectedIndex].text; - return true - }; - this.shiftPrev = function() { - if (this.list.selectedIndex != 0) { - var c = this.list.options[this.list.selectedIndex - 1]; - if (c) { - c.selected = true - } - this.obj.value = this.list.options[this.list.selectedIndex].text - } - return true - }; - this.edit = function() { - this.val = this.getValue(); - this.text = this.getText()._dhx_trim(); - var g = this.grid.getPosition(this.cell); - this.obj = document.createElement("TEXTAREA"); - this.obj.className = "dhx_combo_edit"; - this.obj.style.height = (this.cell.offsetHeight - (this.grid.multiLine ? 9 : 4)) + "px"; - this.obj.wrap = "soft"; - this.obj.style.textAlign = this.cell.style.textAlign; - this.obj.onclick = function(o) { - (o || event).cancelBubble = true - }; - this.obj.onmousedown = function(o) { - (o || event).cancelBubble = true - }; - this.obj.value = this.text; - this.obj.onselectstart = function(o) { - if (!o) { - o = event - } - o.cancelBubble = true; - return true - }; - var l = this; - this.obj.onkeyup = function(r) { - var q = (r || event).keyCode; - if (q == 38 || q == 40 || q == 9) { - return - } - var s = this.readonly ? String.fromCharCode(q) : this.value; - var u = l.list.options; - for (var o = 0; o < u.length; o++) { - if (u[o].text.indexOf(s) == 0) { - return u[o].selected = true - } - } - }; - this.list = document.createElement("SELECT"); - this.list.className = "dhx_combo_select"; - this.list.style.width = this.cell.offsetWidth + "px"; - this.list.style.left = g[0] + "px"; - this.list.style.top = g[1] + this.cell.offsetHeight + "px"; - this.list.onclick = function(r) { - var q = r || window.event; - var o = q.target || q.srcElement; - if (o.tagName == "OPTION") { - o = o.parentNode - } - l.editable = false; - l.grid.editStop(); - q.cancelBubble = true - }; - var c = this.combo.getKeys(); - var h = false; - var n = 0; - for (var e = 0; e < c.length; e++) { - var m = this.combo.get(c[e]); - this.list.options[this.list.options.length] = new Option(m, c[e]); - if (c[e] == this.val) { - n = this.list.options.length - 1; - h = true - } - } - if (h == false) { - this.list.options[this.list.options.length] = new Option(this.text, this.val === null ? "" : this.val); - n = this.list.options.length - 1 - } - document.body.appendChild(this.list); - this.list.size = "6"; - this.cstate = 1; - if (this.editable) { - this.cell.innerHTML = "" - } else { - this.obj.style.width = "0px"; - this.obj.style.height = "0px" - } - this.cell.appendChild(this.obj); - this.list.options[n].selected = true; - if (this.editable) { - this.obj.focus(); - this.obj.focus() - } - if (!this.editable) { - this.obj.style.visibility = "hidden"; - this.obj.style.position = "absolute"; - this.list.focus(); - this.list.onkeydown = function(o) { - o = o || window.event; - l.grid.setActive(true); - if (o.keyCode < 30) { - return l.grid.doKey({ - target: l.cell, - keyCode: o.keyCode, - shiftKey: o.shiftKey, - ctrlKey: o.ctrlKey - }) - } - } - } - }; - this.getValue = function() { - return ((this.cell.combo_value == window.undefined) ? "" : this.cell.combo_value) - }; - this.detach = function() { - if (this.val != this.getValue()) { - this.cell.wasChanged = true - } - if (this.list.parentNode != null) { - if (this.editable) { - var c = this.list.options[this.list.selectedIndex]; - if (c && c.text == this.obj.value) { - this.setValue(this.list.value) - } else { - var e = (this.cell._combo || this.grid.getCombo(this.cell._cellIndex)); - var g = e.values._dhx_find(this.obj.value); - if (g != -1) { - this.setValue(e.keys[g]) - } else { - this.setValue(this.cell.combo_value = this.obj.value) - } - } - } else { - this.setValue(this.list.value) - } - } - if (this.list.parentNode) { - this.list.parentNode.removeChild(this.list) - } - if (this.obj.parentNode) { - this.obj.parentNode.removeChild(this.obj) - } - return this.val != this.getValue() - } -} -eXcell_co.prototype = new eXcell; -eXcell_co.prototype.getText = function() { - return this.cell.innerHTML -}; -eXcell_co.prototype.setValue = function(g) { - if (typeof(g) == "object") { - var e = dhx4.ajax.xpath("./option", g); - if (e.length) { - this.cell._combo = new dhtmlXGridComboObject() - } - for (var c = 0; c < e.length; c++) { - this.cell._combo.put(e[c].getAttribute("value"), e[c].firstChild ? e[c].firstChild.data : "") - } - g = g.firstChild.data - } - if ((g || "").toString()._dhx_trim() == "") { - g = null - } - this.cell.combo_value = g; - if (g !== null) { - var a = (this.cell._combo || this.grid.getCombo(this.cell._cellIndex)).get(g); - this.setCValue(a === null ? g : a, g) - } else { - this.setCValue(" ", g) - } -}; - -function eXcell_coro(a) { - this.base = eXcell_co; - this.base(a); - this.editable = false -} -eXcell_coro.prototype = new eXcell_co; - -function eXcell_cotxt(a) { - this.base = eXcell_co; - this.base(a) -} -eXcell_cotxt.prototype = new eXcell_co; -eXcell_cotxt.prototype.getText = function() { - return (_isIE ? this.cell.innerText : this.cell.textContent) -}; -eXcell_cotxt.prototype.setValue = function(e) { - if (typeof(e) == "object") { - var c = dhx4.ajax.xpath("./option", e); - if (c.length) { - this.cell._combo = new dhtmlXGridComboObject() - } - for (var a = 0; a < c.length; a++) { - this.cell._combo.put(c[a].getAttribute("value"), c[a].firstChild ? c[a].firstChild.data : "") - } - e = e.firstChild.data - } - if ((e || "").toString()._dhx_trim() == "") { - e = null - } - if (e !== null) { - this.setCTxtValue((this.cell._combo || this.grid.getCombo(this.cell._cellIndex)).get(e) || e, e) - } else { - this.setCTxtValue(" ", e) - } - this.cell.combo_value = e -}; - -function eXcell_corotxt(a) { - this.base = eXcell_co; - this.base(a); - this.editable = false -} -eXcell_corotxt.prototype = new eXcell_cotxt; - -function eXcell_cp(a) { - try { - this.cell = a; - this.grid = this.cell.parentNode.grid - } catch (c) {} - this.edit = function() { - this.val = this.getValue(); - this.obj = document.createElement("SPAN"); - this.obj.style.border = "1px solid black"; - this.obj.style.position = "absolute"; - var e = this.grid.getPosition(this.cell); - this.colorPanel(4, this.obj); - document.body.appendChild(this.obj); - this.obj.style.left = e[0] + "px"; - this.obj.style.zIndex = 1000; - this.obj.style.top = e[1] + this.cell.offsetHeight + "px" - }; - this.toolDNum = function(e) { - if (e.length == 1) { - e = "0" + e - } - return e - }; - this.colorPanel = function(q, v) { - var m = document.createElement("TABLE"); - v.appendChild(m); - m.cellSpacing = 0; - m.editor_obj = this; - m.style.cursor = "default"; - m.onclick = function(x) { - var w = x || window.event; - var n = w.target || w.srcElement; - var r = n.parentNode.parentNode.parentNode.editor_obj; - if (r) { - r.setValue(n._bg); - r.grid.editStop() - } - }; - var h = 256 / q; - for (var l = 0; l <= (256 / h); l++) { - var e = m.insertRow(l); - for (var o = 0; o <= (256 / h); o++) { - for (var g = 0; g <= (256 / h); g++) { - R = new Number(h * l) - (l == 0 ? 0 : 1); - G = new Number(h * o) - (o == 0 ? 0 : 1); - B = new Number(h * g) - (g == 0 ? 0 : 1); - var u = this.toolDNum(R.toString(16)) + "" + this.toolDNum(G.toString(16)) + "" + this.toolDNum(B.toString(16)); - var s = e.insertCell(o); - s.width = "10px"; - s.innerHTML = " "; - s.title = u.toUpperCase(); - s.style.backgroundColor = "#" + u; - s._bg = "#" + u; - if (this.val != null && "#" + u.toUpperCase() == this.val.toUpperCase()) { - s.style.border = "2px solid white" - } - } - } - } - }; - this.getValue = function() { - return this.cell.firstChild._bg || "" - }; - this.getRed = function() { - return Number(parseInt(this.getValue().substr(1, 2), 16)) - }; - this.getGreen = function() { - return Number(parseInt(this.getValue().substr(3, 2), 16)) - }; - this.getBlue = function() { - return Number(parseInt(this.getValue().substr(5, 2), 16)) - }; - this.detach = function() { - if (this.obj.offsetParent != null) { - document.body.removeChild(this.obj) - } - return this.val != this.getValue() - } -} -eXcell_cp.prototype = new eXcell; -eXcell_cp.prototype.setValue = function(a) { - this.setCValue("
                     
                    ", a); - this.cell.firstChild._bg = a -}; - -function eXcell_img(a) { - try { - this.cell = a; - this.grid = this.cell.parentNode.grid - } catch (c) {} - this.getValue = function() { - if (this.cell.firstChild.tagName == "IMG") { - return this.cell._image_src_value + (this.cell.titFl != null ? "^" + this.cell._brval : "") - } else { - if (this.cell.firstChild.tagName == "A") { - var e = this.cell._image_src_value + (this.cell.titFl != null ? "^" + this.cell._brval : ""); - e += "^" + this.cell.lnk; - if (this.cell.trg) { - e += "^" + this.cell.trg - } - return e - } - } - }; - this.isDisabled = function() { - return true - } -} -eXcell_img.prototype = new eXcell; -eXcell_img.prototype.getTitle = function() { - return this.cell._brval -}; -eXcell_img.prototype.setValue = function(e) { - var c = e; - if ((e || "").indexOf("^") != -1) { - var a = e.split("^"); - e = a[0]; - c = this.cell._attrs.title || a[1]; - if (a.length > 2) { - this.cell.lnk = a[2]; - if (a[3]) { - this.cell.trg = a[3] - } - } - this.cell.titFl = "1" - } - if (!this.grid.multiLine) { - this.setCValue("", e) - } else { - this.setCValue("", e) - } - if (this.cell.lnk) { - this.cell.innerHTML = "" + this.cell.innerHTML + "" - } - this.cell._brval = c; - this.cell._image_src_value = e -}; - -function eXcell_icon(a) { - this.base = eXcell_ed; - this.base(a); - try { - this.cell = a; - this.grid = this.cell.parentNode.grid - } catch (c) {} - this.setValue = function(e) { - this.cell._raw_value = e; - this.setCValue('
                    ') - }; - this.getValue = function() { - return this.cell._raw_value - }; - this.isDisabled = function() { - return true - } -} -eXcell_icon.prototype = new eXcell_ed; - -function eXcell_price(a) { - this.base = eXcell_ed; - this.base(a); - this.getValue = function() { - if (this.cell.childNodes.length > 1) { - return this.cell.childNodes[1].innerHTML.toString()._dhx_trim() - } else { - return "0" - } - } -} -eXcell_price.prototype = new eXcell_ed; -eXcell_price.prototype.setValue = function(c) { - if (isNaN(parseFloat(c))) { - c = this.val || 0 - } - var a = "green"; - if (c < 0) { - a = "red" - } - this.setCValue("$" + c + "", c) -}; - -function eXcell_dyn(a) { - this.base = eXcell_ed; - this.base(a); - this.getValue = function() { - if (!this.cell.firstChild.childNodes[1]) { - return "" - } - var e = this.cell.firstChild.childNodes[1].innerHTML.toString()._dhx_trim(); - var c = this.grid._aplNFb(e, this.cell._cellIndex); - if (isNaN(Number(c))) { - return e - } - return c - } -} -eXcell_dyn.prototype = new eXcell_ed; -eXcell_dyn.prototype.getValue = function() { - var a = eXcell_ed.prototype.getValue.call(this); - return -}; -eXcell_dyn.prototype.setValue = function(e) { - if (!e || isNaN(Number(e))) { - if (e !== "") { - e = 0 - } - } else { - if (e > 0) { - var c = "green"; - var a = "dyn_up.gif" - } else { - if (e == 0) { - var c = "black"; - var a = "dyn_.gif" - } else { - var c = "red"; - var a = "dyn_down.gif" - } - } - e = this.grid._aplNF(e, this.cell._cellIndex) - } - this.setCValue("
                    " + e + "
                    ", e) -}; - -function eXcell_ro(a) { - if (a) { - this.cell = a; - this.grid = this.cell.parentNode.grid - } - this.edit = function() {}; - this.isDisabled = function() { - return true - }; - this.getValue = function() { - return this.cell._clearCell ? "" : this.cell.innerHTML.toString()._dhx_trim() - } -} -eXcell_ro.prototype = new eXcell; -window.eXcell_hidden = function(a) { - if (a) { - this.cell = a; - this.grid = this.cell.parentNode.grid - } - this.edit = function() {}; - this.isDisabled = function() { - return true - }; - this.getValue = function() { - return this.cell.val - } -}; -eXcell_hidden.prototype = new eXcell; -eXcell_hidden.prototype.setValue = function(a) { - this.cell.val = a -}; - -function eXcell_ron(a) { - this.cell = a; - this.grid = this.cell.parentNode.grid; - this.edit = function() {}; - this.isDisabled = function() { - return true - }; - this.getValue = function() { - return this.cell._clearCell ? "" : this.cell._orig_value || this.grid._aplNFb(this.cell.innerHTML.toString()._dhx_trim(), this.cell._cellIndex).toString() - } -} -eXcell_ron.prototype = new eXcell; -eXcell_ron.prototype.setValue = function(a) { - if (a === 0) {} else { - if (!a || a.toString()._dhx_trim() == "") { - this.setCValue(" "); - return this.cell._clearCell = true - } - } - this.cell._orig_value = a; - this.cell._clearCell = false; - this.setCValue(a ? this.grid._aplNF(a, this.cell._cellIndex) : "0") -}; - -function eXcell_rotxt(a) { - this.cell = a; - this.grid = this.cell.parentNode.grid; - this.edit = function() {}; - this.isDisabled = function() { - return true - }; - this.setValue = function(c) { - if (!c) { - c = " "; - this.cell._clearCell = true - } else { - this.cell._clearCell = false - } - this.setCTxtValue(c) - }; - this.getValue = function() { - if (this.cell._clearCell) { - return "" - } - return (_isIE ? this.cell.innerText : this.cell.textContent) - } -} -eXcell_rotxt.prototype = new eXcell; - -function dhtmlXGridComboObject() { - this.keys = new dhtmlxArray(); - this.values = new dhtmlxArray(); - this.put = function(c, e) { - for (var a = 0; a < this.keys.length; a++) { - if (this.keys[a] == c) { - this.values[a] = e; - return true - } - } - this.values[this.values.length] = e; - this.keys[this.keys.length] = c - }; - this.get = function(c) { - for (var a = 0; a < this.keys.length; a++) { - if (this.keys[a] == c) { - return this.values[a] - } - } - return null - }; - this.clear = function() { - this.keys = new dhtmlxArray(); - this.values = new dhtmlxArray() - }; - this.remove = function(c) { - for (var a = 0; a < this.keys.length; a++) { - if (this.keys[a] == c) { - this.keys._dhx_removeAt(a); - this.values._dhx_removeAt(a); - return true - } - } - }; - this.size = function() { - var a = 0; - for (var c = 0; c < this.keys.length; c++) { - if (this.keys[c] != null) { - a++ - } - } - return a - }; - this.getKeys = function() { - var a = new Array(0); - for (var c = 0; c < this.keys.length; c++) { - if (this.keys[c] != null) { - a[a.length] = this.keys[c] - } - } - return a - }; - this.save = function() { - this._save = new Array(); - for (var a = 0; a < this.keys.length; a++) { - this._save[a] = [this.keys[a], this.values[a]] - } - }; - this.restore = function() { - if (this._save) { - this.keys[a] = new Array(); - this.values[a] = new Array(); - for (var a = 0; a < this._save.length; a++) { - this.keys[a] = this._save[a][0]; - this.values[a] = this._save[a][1] - } - } - }; - return this -} - -function Hashtable() { - this.keys = new dhtmlxArray(); - this.values = new dhtmlxArray(); - return this -} -Hashtable.prototype = new dhtmlXGridComboObject; -if (typeof(window.dhtmlXCellObject) != "undefined") { - dhtmlXCellObject.prototype.attachGrid = function(a) { - this.callEvent("_onBeforeContentAttach", ["grid"]); - var c = document.createElement("DIV"); - c.style.width = "100%"; - c.style.height = "100%"; - c.style.position = "relative"; - c.style.overflow = "hidden"; - this._attachObject(c); - this.dataType = "grid"; - if (a && typeof a === "object" && !a.tagName) { - a.parent = c; - c = a - } - this.dataObj = new dhtmlXGridObject(c); - this.dataObj.setSkin(this.conf.skin); - if (typeof(window.dhtmlXTabBarCell) == "function" && this instanceof window.dhtmlXTabBarCell && navigator.userAgent.match(/7[\.\d]* mobile/gi) != null && navigator.userAgent.match(/AppleWebKit/gi) != null) { - this.dataObj.objBox.style.webkitOverflowScrolling = "auto" - } - if (this.conf.skin == "material" && typeof(window.dhtmlXLayoutCell) == "function" && this instanceof window.dhtmlXLayoutCell) { - this.cell.childNodes[this.conf.idx.cont].style.overflow = "hidden" - } - if (this.conf.skin == "dhx_skyblue" && typeof(window.dhtmlXWindowsCell) == "function" && this instanceof window.dhtmlXWindowsCell) { - this.dataObj.entBox.style.border = "1px solid #a4bed4"; - this.dataObj._sizeFix = 0 - } else { - this.dataObj.entBox.style.border = "0px solid white"; - this.dataObj._sizeFix = 2 - } - c = null; - this.callEvent("_onContentAttach", []); - return this.dataObj - } -} -dhtmlXGridObject.prototype.enableDragAndDrop = function(a) { - if (a == "temporary_disabled") { - this.dADTempOff = false; - a = true - } else { - this.dADTempOff = true - } - this.dragAndDropOff = dhx4.s2b(a); - this._drag_validate = true; - if (a) { - this.objBox.ondragstart = function(c) { - (c || event).cancelBubble = true; - return false - } - } -}; -dhtmlXGridObject.prototype.setDragBehavior = function(a) { - this.dadmodec = this.dadmodefix = 0; - switch (a) { - case "child": - this.dadmode = 0; - this._sbmod = false; - break; - case "sibling": - this.dadmode = 1; - this._sbmod = false; - break; - case "sibling-next": - this.dadmode = 1; - this._sbmod = true; - break; - case "complex": - this.dadmode = 2; - this._sbmod = false; - break; - case "complex-next": - this.dadmode = 2; - this._sbmod = true; - break - } -}; -dhtmlXGridObject.prototype.enableDragOrder = function(a) { - this._dndorder = dhx4.s2b(a) -}; -dhtmlXGridObject.prototype._checkParent = function(g, c) { - var e = this._h2.get[g.idd].parent; - if (!e.parent) { - return - } - for (var a = 0; a < c.length; a++) { - if (c[a] == e.id) { - return true - } - } - return this._checkParent(this.rowsAr[e.id], c) -}; -dhtmlXGridObject.prototype._createDragNode = function(g, h) { - this.editStop(); - if (window.dhtmlDragAndDrop.dragNode) { - return null - } - if (!this.dADTempOff) { - return null - } - g.parentObject = new Object(); - g.parentObject.treeNod = this; - var o = this.callEvent("onBeforeDrag", [g.parentNode.idd, g._cellIndex, h]); - if (!o) { - return null - } - var l = new Array(); - l = this.getSelectedId(); - l = (((l) && (l != "")) ? l.split(this.delim) : []); - var m = false; - for (var c = 0; c < l.length; c++) { - if (l[c] == g.parentNode.idd) { - m = true - } - } - if (!m) { - this.selectRow(this.rowsAr[g.parentNode.idd], false, h.ctrlKey, false); - if (!h.ctrlKey) { - l = [] - } - l[this.selMultiRows ? l.length : 0] = g.parentNode.idd - } - if (this.isTreeGrid()) { - for (var c = l.length - 1; c >= 0; c--) { - if (this._checkParent(this.rowsAr[l[c]], l)) { - l.splice(c, 1) - } - } - } - var q = this; - if (l.length && this._dndorder) { - l.sort(function(r, e) { - return (q.rowsAr[r].rowIndex > q.rowsAr[e].rowIndex ? 1 : -1) - }) - } - var a = this.getFirstParentOfType(_isIE ? h.srcElement : h.target, "TD"); - if (a) { - this._dndExtra = a._cellIndex - } - this._dragged = new Array(); - for (var c = 0; c < l.length; c++) { - if (this.rowsAr[l[c]]) { - this._dragged[this._dragged.length] = this.rowsAr[l[c]]; - this.rowsAr[l[c]].treeNod = this - } - } - g.parentObject.parentNode = g.parentNode; - var n = document.createElement("div"); - n.innerHTML = (o !== true ? o : this.rowToDragElement(g.parentNode.idd)); - n.style.position = "absolute"; - n.className = "dragSpanDiv"; - return n -}; -dhtmlXGridObject.prototype._createSdrgc = function() { - this._sdrgc = document.createElement("DIV"); - this._sdrgc.innerHTML = " "; - this._sdrgc.className = "gridDragLine"; - this.objBox.appendChild(this._sdrgc) -}; - -function dragContext(y, x, w, v, u, s, q, r, o, n, g) { - this.source = y || "grid"; - this.target = x || "grid"; - this.mode = w || "move"; - this.dropmode = v || "child"; - this.sid = u || 0; - this.tid = s; - this.sobj = q || null; - this.tobj = r || null; - this.sExtra = o || null; - this.tExtra = n || null; - this.before = g || false; - return this -} -dragContext.prototype.valid = function() { - if (this.sobj != this.tobj) { - return true - } - if (this.sid == this.tid) { - return false - } - if (this.target == "treeGrid") { - var a = this.tid; - while (a = this.tobj.getParentId(a)) { - if (this.sid == a) { - return false - } - } - } - return true -}; -dragContext.prototype.close = function() { - this.sobj = null; - this.tobj = null -}; -dragContext.prototype.copy = function() { - return new dragContext(this.source, this.target, this.mode, this.dropmode, this.sid, this.tid, this.sobj, this.tobj, this.sExtra, this.tExtra, this.before) -}; -dragContext.prototype.set = function(e, c) { - this[e] = c; - return this -}; -dragContext.prototype.uid = function(e, c) { - this.nid = this.sid; - while (this.tobj.rowsAr[this.nid]) { - this.nid = this.nid + ((new Date()).valueOf()) - } - return this -}; -dragContext.prototype.data = function() { - if (this.sobj == this.tobj) { - return this.sobj._getRowArray(this.sobj.rowsAr[this.sid]) - } - if (this.source == "tree") { - return this.tobj.treeToGridElement(this.sobj, this.sid, this.tid) - } else { - return this.tobj.gridToGrid(this.sid, this.sobj, this.tobj) - } -}; -dragContext.prototype.attrs = function() { - if (this.source == "tree") { - return {} - } else { - return this.sobj.rowsAr[this.sid]._attrs - } -}; -dragContext.prototype.childs = function() { - if (this.source == "treeGrid") { - return this.sobj._h2.get[this.sid]._xml_await ? this.sobj._h2.get[this.sid].has_kids : null - } - return null -}; -dragContext.prototype.pid = function() { - if (!this.tid) { - return 0 - } - if (!this.tobj._h2) { - return 0 - } - if (this.target == "treeGrid") { - if (this.dropmode == "child") { - return this.tid - } else { - var c = this.tobj.rowsAr[this.tid]; - var a = this.tobj._h2.get[c.idd].parent.id; - if ((this.alfa) && (this.tobj._sbmod) && (c.nextSibling)) { - var e = this.tobj._h2.get[c.nextSibling.idd].parent.id; - if (e == this.tid) { - return this.tid - } - if (e != a) { - return e - } - } - return a - } - } -}; -dragContext.prototype.ind = function() { - if (this.tid == window.unknown) { - return this.tobj.rowsBuffer.length - } - if (this.target == "treeGrid") { - if (this.dropmode == "child") { - this.tobj.openItem(this.tid) - } else { - this.tobj.openItem(this.tobj.getParentId(this.tid)) - } - } - var a = this.tobj.rowsBuffer._dhx_find(this.tobj.rowsAr[this.tid]); - if ((this.alfa) && (this.tobj._sbmod) && (this.dropmode == "sibling")) { - var c = this.tobj.rowsAr[this.tid]; - if ((c.nextSibling) && (this._h2.get[c.nextSibling.idd].parent.id == this.tid)) { - return a + 1 - } - } - return (a + 1 + ((this.target == "treeGrid" && a >= 0 && this.tobj._h2.get[this.tobj.rowsBuffer[a].idd].state == "minus") ? this.tobj._getOpenLenght(this.tobj.rowsBuffer[a].idd, 0) : 0)) -}; -dragContext.prototype.img = function() { - if ((this.target != "grid") && (this.sobj._h2)) { - return this.sobj.getItemImage(this.sid) - } else { - return null - } -}; -dragContext.prototype.slist = function() { - var c = new Array(); - for (var a = 0; a < this.sid.length; a++) { - c[c.length] = this.sid[a][(this.source == "tree") ? "id" : "idd"] - } - return c.join(",") -}; -dhtmlXGridObject.prototype._drag = function(r, h, q, s) { - if (this._realfake) { - return this._fake._drag() - } - var o = (this.lastLanding); - if (this._autoOpenTimer) { - window.clearTimeout(this._autoOpenTimer) - } - var g = q.parentNode; - var e = r.parentObject; - if (!g.idd) { - g.grid = this; - this.dadmodefix = 0 - } - var n = new dragContext(0, 0, 0, ((g.grid.dadmode == 1 || g.grid.dadmodec) ? "sibling" : "child")); - if (e && e.childNodes) { - n.set("source", "tree").set("sobj", e.treeNod).set("sid", n.sobj._dragged) - } else { - if (!e) { - return true - } - if (e.treeNod.isTreeGrid && e.treeNod.isTreeGrid()) { - n.set("source", "treeGrid") - } - n.set("sobj", e.treeNod).set("sid", n.sobj._dragged) - } - if (g.grid.isTreeGrid()) { - n.set("target", "treeGrid") - } else { - n.set("dropmode", "sibling") - } - n.set("tobj", g.grid).set("tid", g.idd); - if (((n.tobj.dadmode == 2) && (n.tobj.dadmodec == 1)) && (n.tobj.dadmodefix < 0)) { - if (n.tobj.obj.rows[1].idd != n.tid) { - n.tid = g.previousSibling.idd - } else { - if (this._h2 && n.tid) { - n.before = true - } else { - n.tid = 0 - } - } - } - var a = this.getFirstParentOfType(s, "TD"); - if (a) { - n.set("tExtra", a._cellIndex) - } - if (a) { - n.set("sExtra", n.sobj._dndExtra) - } - if (n.sobj.dpcpy) { - n.set("mode", "copy") - } - if (n.tobj._realfake) { - n.tobj = n.tobj._fake - } - if (n.sobj._realfake) { - n.sobj = n.sobj._fake - } - n.tobj._clearMove(); - if (e && e.treeNod && e.treeNod._nonTrivialRow) { - e.treeNod._nonTrivialRow(this, n.tid, n.dropmode, e) - } else { - n.tobj.dragContext = n; - if (!n.tobj.callEvent("onDrag", [n.slist(), n.tid, n.sobj, n.tobj, n.sExtra, n.tExtra])) { - return n.tobj.dragContext = null - } - var u = new Array(); - if (typeof(n.sid) == "object") { - var m = n.copy(); - for (var l = 0; l < n.sid.length; l++) { - if (!m.set("alfa", (!l)).set("sid", n.sid[l][(n.source == "tree" ? "id" : "idd")]).valid()) { - continue - } - m.tobj._dragRoutine(m); - if (m.target == "treeGrid" && m.dropmode == "child") { - m.tobj.openItem(m.tid) - } - u[u.length] = m.nid; - m.set("dropmode", "sibling").set("tid", m.nid) - } - m.close() - } else { - n.tobj._dragRoutine(n) - } - if (n.tobj.laterLink) { - n.tobj.laterLink() - } - n.tobj.callEvent("onDrop", [n.slist(), n.tid, u.join(","), n.sobj, n.tobj, n.sExtra, n.tExtra]) - } - n.tobj.dragContext = null; - n.close() -}; -dhtmlXGridObject.prototype._dragRoutine = function(r) { - if ((r.sobj == r.tobj) && (r.source == "grid") && (r.mode == "move") && !this._fake) { - if (r.sobj._dndProblematic) { - return - } - var o = r.sobj.rowsAr[r.sid]; - var q = r.sobj.rowsCol._dhx_find(o); - r.sobj.rowsCol._dhx_removeAt(r.sobj.rowsCol._dhx_find(o)); - r.sobj.rowsBuffer._dhx_removeAt(r.sobj.rowsBuffer._dhx_find(o)); - r.sobj.rowsBuffer._dhx_insertAt(r.ind(), o); - if (r.tobj._fake) { - r.tobj._fake.rowsCol._dhx_removeAt(q); - var s = r.tobj._fake.rowsAr[r.sid]; - s.parentNode.removeChild(s) - } - r.sobj._insertRowAt(o, r.ind() - (this.pagingOn ? ((this.currentPage - 1) * this.rowsBufferOutSize) : 0)); - r.nid = r.sid; - r.sobj.callEvent("onGridReconstructed", []); - return - } - var n; - if (this._h2 && typeof r.tid != "undefined" && r.dropmode == "sibling" && (this._sbmod || r.tid)) { - if (r.before) { - n = r.uid().tobj.addRowBefore(r.nid, r.data(), r.tid, r.img(), r.childs()) - } else { - if (r.alfa && this._sbmod && this._h2.get[r.tid].childs.length) { - this.openItem(r.tid); - n = r.uid().tobj.addRowBefore(r.nid, r.data(), this._h2.get[r.tid].childs[0].id, r.img(), r.childs()) - } else { - n = r.uid().tobj.addRowAfter(r.nid, r.data(), r.tid, r.img(), r.childs()) - } - } - } else { - n = r.uid().tobj.addRow(r.nid, r.data(), r.ind(), r.pid(), r.img(), r.childs()) - } - n._attrs = r.attrs(); - if (r.source == "tree") { - this.callEvent("onRowAdded", [r.nid]); - var a = r.sobj._globalIdStorageFind(r.sid); - if (a.childsCount) { - var m = r.copy().set("tid", r.nid).set("dropmode", r.target == "grid" ? "sibling" : "child"); - for (var g = 0; g < a.childsCount; g++) { - r.tobj._dragRoutine(m.set("sid", a.childNodes[g].id)); - if (r.mode == "move") { - g-- - } - } - m.close() - } - } else { - r.tobj._copyUserData(r); - this.callEvent("onRowAdded", [r.nid]); - if ((r.source == "treeGrid")) { - if (r.sobj == r.tobj) { - n._xml = r.sobj.rowsAr[r.sid]._xml - } - var h = r.sobj._h2.get[r.sid]; - if ((h) && (h.childs.length)) { - var m = r.copy().set("tid", r.nid); - if (r.target == "grid") { - m.set("dropmode", "sibling") - } else { - if (!m.tobj.kidsXmlFile) { - m.tobj.openItem(r.tid) - } - m.set("dropmode", "child") - } - var e = h.childs.length; - if (!m.tobj.kidsXmlFile) { - for (var g = 0; g < e; g++) { - r.sobj.render_row_tree(null, h.childs[g].id); - r.tobj._dragRoutine(m.set("sid", h.childs[g].id)); - if (e != h.childs.length) { - g--; - e = h.childs.length - } - } - } - m.close() - } - } - } - if (r.mode == "move") { - r.sobj[(r.source == "tree") ? "deleteItem" : "deleteRow"](r.sid); - if ((r.sobj == r.tobj) && (!r.tobj.rowsAr[r.sid])) { - r.tobj.changeRowId(r.nid, r.sid); - r.nid = r.sid - } - } -}; -dhtmlXGridObject.prototype.gridToGrid = function(g, a, e) { - var h = new Array(); - for (var c = 0; c < a.hdr.rows[0].cells.length; c++) { - h[c] = a.cells(g, c).getValue() - } - return h -}; -dhtmlXGridObject.prototype.checkParentLine = function(a, c) { - if ((!this._h2) || (!c) || (!a)) { - return false - } - if (a.id == c) { - return true - } else { - return this.checkParentLine(a.parent, c) - } -}; -dhtmlXGridObject.prototype._dragIn = function(l, g, c, m) { - if (!this.dADTempOff) { - return 0 - } - var a = this.isTreeGrid(); - var h = g.parentNode.idd ? g.parentNode : g.parentObject; - if (this._drag_validate) { - if (l.parentNode == g.parentNode) { - return 0 - } - if ((a) && (this == h.grid) && ((this.checkParentLine(this._h2.get[l.parentNode.idd], g.parentNode.idd)))) { - return 0 - } - } - if (!this.callEvent("onDragIn", [h.idd || h.id, l.parentNode.idd, h.grid || h.treeNod, (l.grid || l.parentNode.grid)])) { - return this._setMove(l, c, m, true) - } - this._setMove(l, c, m); - if ((a) && (l.parentNode.expand != "")) { - var e = this; - this._autoOpenTimer = window.setTimeout(function() { - e._autoOpenItem(null, e); - e = null - }, 1000); - this._autoOpenId = l.parentNode.idd - } else { - if (this._autoOpenTimer) { - window.clearTimeout(this._autoOpenTimer) - } - } - return l -}; -dhtmlXGridObject.prototype._autoOpenItem = function(a, c) { - c.openItem(c._autoOpenId) -}; -dhtmlXGridObject.prototype._dragOut = function(c) { - this._clearMove(); - var a = c.parentNode.parentObject ? c.parentObject.id : c.parentNode.idd; - this.callEvent("onDragOut", [a]); - if (this._autoOpenTimer) { - window.clearTimeout(this._autoOpenTimer) - } -}; -dhtmlXGridObject.prototype._setMove = function(l, c, n, h) { - if (!l.parentNode.idd) { - return - } - var e = dhx4.absTop(l); - var a = dhx4.absTop(this.objBox); - if ((e - a) > (parseInt(this.objBox.offsetHeight) - 50)) { - this.objBox.scrollTop = parseInt(this.objBox.scrollTop) + 20 - } - if ((e - a + parseInt(this.objBox.scrollTop)) < (parseInt(this.objBox.scrollTop) + 30)) { - this.objBox.scrollTop = parseInt(this.objBox.scrollTop) - 20 - } - if (h) { - return 0 - } - if (this.dadmode == 2) { - var m = n - e + (document.body.scrollTop || document.documentElement.scrollTop) - 2 - l.offsetHeight / 2; - if ((Math.abs(m) - l.offsetHeight / 6) > 0) { - this.dadmodec = 1; - if (m < 0) { - this.dadmodefix = -1 - } else { - this.dadmodefix = 1 - } - } else { - this.dadmodec = 0 - } - } else { - this.dadmodec = this.dadmode - } - if (this.dadmodec) { - if (!this._sdrgc) { - this._createSdrgc() - } - this._sdrgc.style.display = "block"; - this._sdrgc.style.top = e - a + parseInt(this.objBox.scrollTop) + ((this.dadmodefix >= 0) ? l.offsetHeight : 0) + "px" - } else { - this._llSelD = l; - if (l.parentNode.tagName == "TR") { - for (var g = 0; g < l.parentNode.childNodes.length; g++) { - var m = l.parentNode.childNodes[g]; - m.className += " dhx_row_drag_active" - } - } - } -}; -dhtmlXGridObject.prototype._clearMove = function() { - if (this._sdrgc) { - this._sdrgc.style.display = "none" - } - if ((this._llSelD) && (this._llSelD.parentNode.tagName == "TR")) { - var c = this._llSelD.parentNode.childNodes; - for (var a = 0; a < c.length; a++) { - c[a].className = (c[a].className || "").replace(" dhx_row_drag_active", "") - } - } - this._llSelD = null -}; -dhtmlXGridObject.prototype.rowToDragElement = function(a) { - var c = this.cells(a, 0).getValue(); - return c -}; -dhtmlXGridObject.prototype._copyUserData = function(g) { - if (!g.tobj.UserData[g.nid] || g.tobj != g.sobj) { - g.tobj.UserData[g.nid] = new Hashtable() - } else { - return - } - var e = g.sobj.UserData[g.sid]; - var a = g.tobj.UserData[g.nid]; - if (e) { - a.keys = a.keys.concat(e.keys); - a.values = a.values.concat(e.values) - } -}; -dhtmlXGridObject.prototype.moveRow = function(e, g, a, c) { - switch (g) { - case "row_sibling": - this.moveRowTo(e, a, "move", "sibling", this, c); - break; - case "up": - this.moveRowUp(e); - break; - case "down": - this.moveRowDown(e); - break - } -}; -dhtmlXGridObject.prototype._nonTrivialNode = function(r, q, m, n, e) { - if ((r.callEvent) && (!e)) { - if (!r.callEvent("onDrag", [n.idd, q.id, (m ? m.id : null), this, r])) { - return false - } - } - var o = n.idd; - var a = o; - while (r._idpull[a]) { - a += (new Date()).getMilliseconds().toString() - } - var h = (this.isTreeGrid() ? this.getItemImage(o) : ""); - if (m) { - for (g = 0; g < q.childsCount; g++) { - if (q.childNodes[g] == m) { - break - } - } - if (g != 0) { - m = q.childNodes[g - 1] - } else { - st = "TOP"; - m = "" - } - } - var c = r._attachChildNode(q, a, this.gridToTreeElement(r, a, o), "", h, h, h, "", "", m); - if (this._h2) { - var l = this._h2.get[o]; - if (l.childs.length) { - for (var g = 0; g < l.childs.length; g++) { - this._nonTrivialNode(r, c, 0, this.rowsAr[l.childs[g].id], 1); - if (!this.dpcpy) { - g-- - } - } - } - } - if (!this.dpcpy) { - this.deleteRow(o) - } - if ((r.callEvent) && (!e)) { - r.callEvent("onDrop", [a, q.id, (m ? m.id : null), this, r]) - } -}; -dhtmlXGridObject.prototype.gridToTreeElement = function(c, e, a) { - return this.cells(a, 0).getValue() -}; -dhtmlXGridObject.prototype.treeToGridElement = function(g, h, a) { - var c = new Array(); - var l = this.cellType._dhx_find("tree"); - if (l == -1) { - l = 0 - } - for (var e = 0; e < this.getColumnCount(); e++) { - c[c.length] = (e != l) ? (g.getUserData(h, this.getColumnId(e)) || "") : g.getItemText(h) - } - return c -}; -dhtmlXGridObject.prototype.moveRowTo = function(g, e, m, l, a, h) { - var n = new dragContext((a || this).isTreeGrid() ? "treeGrid" : "grid", (h || this).isTreeGrid() ? "treeGrid" : "grid", m, l || "sibling", g, e, a || this, h || this); - n.tobj._dragRoutine(n); - n.close(); - return n.nid -}; -dhtmlXGridObject.prototype.enableMercyDrag = function(a) { - this.dpcpy = dhx4.s2b(a) -}; -dhtmlXGridObject.prototype.toPDF = function(g, q, v, s, n, C) { - var h = { - row: (this.getSelectedRowId() || "").split(this.delim), - col: this.getSelectedCellIndex() - }; - if (h.row === null || h.col === -1) { - h = false - } else { - if (h.row) { - for (var w = 0; w < h.row.length; w++) { - if (h.row[w]) { - var c = this.cells(h.row[w], h.col).cell; - c.parentNode.className = c.parentNode.className.replace(" rowselected", ""); - c.className = c.className.replace(" cellselected", ""); - h.row[w] = c - } - } - } else { - h = false - } - } - q = q || "color"; - var x = q == "full_color"; - var a = this; - a._asCDATA = true; - if (typeof(C) === "undefined") { - this.target = ' target="_blank"' - } else { - this.target = C - } - eXcell_ch.prototype.getContent = function() { - return this.getValue() - }; - eXcell_ra.prototype.getContent = function() { - return this.getValue() - }; - - function A(F) { - var M = []; - for (var K = 1; K < a.hdr.rows.length; K++) { - M[K] = []; - for (var J = 0; J < a._cCount; J++) { - var O = a.hdr.rows[K].childNodes[J]; - if (!M[K][J]) { - M[K][J] = [0, 0] - } - if (O) { - M[K][O._cellIndexS] = [O.colSpan, O.rowSpan] - } - } - } - var L = "$/, "columns>"); - for (var K = 2; K < a.hdr.rows.length; K++) { - var D = 0; - var S = a.hdr.rows[K]; - var N = ""; - for (var J = 0; J < a._cCount; J++) { - if ((a._srClmn && !a._srClmn[J]) || (a._hrrar[J] && (!a._fake || J >= a._fake.hdrLabels.length))) { - D++; - continue - } - var Q = M[K][J]; - var P = ((Q[0] && Q[0] > 1) ? ' colspan="' + Q[0] + '" ' : ""); - if (Q[1] && Q[1] > 1) { - P += ' rowspan="' + Q[1] + '" '; - D = -1 - } - var E = ""; - var I = S; - if (a._fake && J < a._fake._cCount) { - I = a._fake.hdr.rows[K] - } - for (var H = 0; H < I.cells.length; H++) { - if (I.cells[H]._cellIndexS == J) { - if (I.cells[H].getElementsByTagName("SELECT").length) { - E = "" - } else { - E = _isIE ? I.cells[H].innerText : I.cells[H].textContent - } - E = E.replace(/[ \n\r\t\xA0]+/, " "); - break - } - } - if (!E || E == " ") { - D++ - } - N += "" - } - if (D != a._cCount) { - L += "\n" + N + "" - } - } - L += "\n"; - L += o(); - return L - } - - function e() { - var D = []; - if (n) { - for (var E = 0; E < n.length; E++) { - D.push(u(a.getRowIndex(n[E]))) - } - } else { - for (var E = 0; E < a.getRowsNum(); E++) { - D.push(u(E)) - } - } - return D.join("\n") - } - - function o() { - var F = [""]; - if (!a.ftr) { - return "" - } - for (var H = 1; H < a.ftr.rows.length; H++) { - F.push(""); - var K = a.ftr.rows[H]; - for (var E = 0; E < a._cCount; E++) { - if (a._srClmn && !a._srClmn[E]) { - continue - } - if (a._hrrar[E] && (!a._fake || E >= a._fake.hdrLabels.length)) { - continue - } - for (var D = 0; D < K.cells.length; D++) { - var J = ""; - var I = ""; - if (K.cells[D]._cellIndexS == E) { - J = _isIE ? K.cells[D].innerText : K.cells[D].textContent; - J = J.replace(/[ \n\r\t\xA0]+/, " "); - if (K.cells[D].colSpan && K.cells[D].colSpan != 1) { - I = " colspan='" + K.cells[D].colSpan + "' " - } - if (K.cells[D].rowSpan && K.cells[D].rowSpan != 1) { - I = " rowspan='" + K.cells[D].rowSpan + "' " - } - break - } - } - F.push("") - } - F.push("") - } - F.push(""); - return F.join("\n") - } - - function m(E, D) { - return (window.getComputedStyle ? (window.getComputedStyle(E, null)[D]) : (E.currentStyle ? E.currentStyle[D] : null)) || "" - } - - function u(H) { - if (!a.rowsBuffer[H]) { - return "" - } - var D = a.render_row(H); - if (D.style.display == "none") { - return "" - } - var E = a.isTreeGrid() ? ' level="' + a.getLevel(D.idd) + '"' : ""; - var L = ""; - for (var J = 0; J < a._cCount; J++) { - if (((!a._srClmn) || (a._srClmn[J])) && (!a._hrrar[J] || (a._fake && J < a._fake.hdrLabels.length))) { - var P = a.cells(D.idd, J); - if (x) { - var I = m(P.cell, "color"); - var O = m(P.cell, "backgroundColor"); - var N = m(P.cell, "font-weight") || m(P.cell, "fontWeight"); - var K = m(P.cell, "font-style") || m(P.cell, "fontStyle"); - var M = m(P.cell, "text-align") || m(P.cell, "textAlign"); - var F = m(P.cell, "font-family") || m(P.cell, "fontFamily"); - if (O == "transparent" || O == "rgba(0, 0, 0, 0)") { - O = "rgb(255,255,255)" - } - L += "" - } else { - L += "" - } - L += "" - } - } - return L + "" - } - - function r() { - var D = ""; - return D - } - var y = document.createElement("div"); - y.style.display = "none"; - document.body.appendChild(y); - var l = "form_" + a.uid(); - y.innerHTML = '
                    '; - document.getElementById(l).firstChild.value = encodeURIComponent(A(q).replace("\u2013", "-") + e() + r()); - document.getElementById(l).submit(); - y.parentNode.removeChild(y); - a = null; - if (h && h.row.length) { - for (var w = 0; w < h.row.length; w++) { - h.row[w].parentNode.className += " rowselected"; - if (h.row.length == 1) { - h.row[w].className += " cellselected" - } - } - } - h = null -}; -dhtmlXGridObject.prototype._serialiseExportConfig = function(l) { - function h(q) { - if (typeof(q) !== "string") { - return q - } - q = q.replace(/&/g, "&"); - q = q.replace(/"/g, """); - q = q.replace(/'/g, "'"); - q = q.replace(//g, ">"); - return q - } - var c = ""; - for (var e = 0; e < this.hdr.rows[0].cells.length; e++) { - if (this._srClmn && !this._srClmn[e]) { - continue - } - if (this._hrrar[e] && (!this._fake || e >= this._fake.hdrLabels.length)) { - continue - } - var g = this.fldSort[e]; - if (g == "cus") { - g = this._customSorts[e].toString(); - g = g.replace(/function[\ ]*/, "").replace(/\([^\f]*/, "") - } - var o = l[1][e]; - var m = ((o[1] && o[1] > 1) ? ' rowspan="' + o[1] + '" ' : "") + ((o[0] && o[0] > 1) ? ' colspan="' + o[0] + '" ' : ""); - c += "" - } - return c += "" -}; -if (window.eXcell_sub_row_grid) { - window.eXcell_sub_row_grid.prototype.getContent = function() { - return "" - } -} -dhtmlXGridObject.prototype.toExcel = function(a, g, m, l, c) { - if (!document.getElementById("ifr")) { - var h = document.createElement("iframe"); - h.style.display = "none"; - h.setAttribute("name", "dhx_export_iframe"); - h.setAttribute("src", ""); - h.setAttribute("id", "dhx_export_iframe"); - document.body.appendChild(h) - } - var e = ' target="dhx_export_iframe"'; - this.toPDF(a, g, m, l, c, e) -}; -dhtmlXGridObject.prototype.filterBy = function(e, g, c) { - if (this.isTreeGrid()) { - return this.filterTreeBy(e, g, c) - } - if (this._f_rowsBuffer) { - if (!c) { - this.rowsBuffer = dhtmlxArray([].concat(this._f_rowsBuffer)); - if (this._fake) { - this._fake.rowsBuffer = this.rowsBuffer - } - } - } else { - this._f_rowsBuffer = [].concat(this.rowsBuffer) - } - if (!this.rowsBuffer.length) { - return - } - var h = true; - this.dma(true); - if (typeof(e) == "object") { - for (var a = 0; a < g.length; a++) { - this._filterA(e[a], g[a]) - } - } else { - this._filterA(e, g) - } - this.dma(false); - if (this.pagingOn && this.rowsBuffer.length / this.rowsBufferOutSize < (this.currentPage - 1)) { - this.changePage(0) - } - this._reset_view(); - this.callEvent("onGridReconstructed", []) -}; -dhtmlXGridObject.prototype._filterA = function(c, e) { - if (e == "") { - return - } - var g = true; - if (typeof(e) == "function") { - g = false - } else { - e = (e || "").toString().toLowerCase() - } - if (!this.rowsBuffer.length) { - return - } - for (var a = this.rowsBuffer.length - 1; a >= 0; a--) { - if (g ? (this._get_cell_value(this.rowsBuffer[a], c).toString().toLowerCase().indexOf(e) == -1) : (!e.call(this, this._get_cell_value(this.rowsBuffer[a], c), this.rowsBuffer[a].idd))) { - this.rowsBuffer.splice(a, 1) - } - } -}; -dhtmlXGridObject.prototype.getFilterElement = function(a) { - if (!this.filters) { - return - } - for (var c = 0; c < this.filters.length; c++) { - if (this.filters[c][1] == a) { - return (this.filters[c][0].combo || this.filters[c][0]) - } - } - return null -}; -dhtmlXGridObject.prototype.getFilterElementById = function(c) { - var a = this.getColIndexById(c); - return this.getFilterElement(this._m_order ? this._m_order[a] : a) -}; -dhtmlXGridObject.prototype.collectValues = function(g) { - var u = this.dhxevs.data.oncollectvalues; - if (u) { - var q = true; - for (var r in u) { - var w = u[r].call(this, g); - if (w !== true) { - q = w || q - } - } - if (q !== true) { - return q - } - } - if (this.isTreeGrid()) { - return this.collectTreeValues(g) - } - this.dma(true); - this._build_m_order(); - g = this._m_order ? this._m_order[g] : g; - var n = {}; - var l = []; - var e = this._f_rowsBuffer || this.rowsBuffer; - for (var h = 0; h < e.length; h++) { - var a = this._get_cell_value(e[h], g); - if (a && (!e[h]._childIndexes || e[h]._childIndexes[g] != e[h]._childIndexes[g - 1])) { - n[a] = true - } - } - this.dma(false); - var o = (this.combos[g] || (this._col_combos && this._col_combos[g] ? this._col_combos[g] : ((this._sub_trees && this._sub_trees[g]) ? this._sub_trees[g][0] : false))); - for (var m in n) { - if (n[m] === true) { - if (o) { - if (o.get && o.get(m)) { - m = o.get(m) - } else { - if (o.getOption && o.getOption(m)) { - m = o.getOption(m).text - } else { - if (o.getItemText) { - var s = o.getItemText(m); - var v = this._sub_trees[g][1] = this._sub_trees[g][1] || {}; - v[s] = m; - m = s - } - } - } - } - l.push(m) - } - } - return l.sort() -}; -dhtmlXGridObject.prototype._build_m_order = function() { - if (this._c_order) { - this._m_order = []; - for (var a = 0; a < this._c_order.length; a++) { - this._m_order[this._c_order[a]] = a - } - } -}; -dhtmlXGridObject.prototype.filterByAll = function() { - var e = []; - var c = []; - this._build_m_order(); - for (var g = 0; g < this.filters.length; g++) { - var l = this._m_order ? this._m_order[this.filters[g][1]] : this.filters[g][1]; - if (l >= this._cCount) { - continue - } - c.push(l); - var m = this.filters[g][0].old_value = this.filters[g][0].value; - if (this.filters[g][0]._filter) { - m = this.filters[g][0]._filter() - } - var h; - if (typeof m != "function" && (h = (this.combos[l] || ((this._col_combos && this._col_combos[l]) ? this._col_combos[l] : ((this._sub_trees && this._sub_trees[l]) ? this._sub_trees[l][1] : false))))) { - if (h.values) { - l = h.values._dhx_find(m); - m = (l == -1) ? m : h.keys[l] - } else { - if (h.getOptionByLabel) { - m = (h.getOptionByLabel(m) ? h.getOptionByLabel(m).value : m) - } else { - m = h[m] - } - } - } - e.push(m) - } - if (!this.callEvent("onFilterStart", [c, e])) { - return - } - this.filterBy(c, e); - if (this._cssEven) { - this._fixAlterCss() - } - this.callEvent("onFilterEnd", [this.filters]); - if (this._f_rowsBuffer && this.rowsBuffer.length == this._f_rowsBuffer.length) { - this._f_rowsBuffer = null - } -}; -dhtmlXGridObject.prototype.makeFilter = function(h, e, c) { - if (!this.filters) { - this.filters = [] - } - if (typeof(h) != "object") { - h = document.getElementById(h) - } - if (!h) { - return - } - var a = this; - if (!h.style.width) { - h.style.width = "90%" - } - if (h.tagName == "SELECT") { - this.filters.push([h, e]); - this._loadSelectOptins(h, e); - h.onchange = function() { - a.filterByAll() - }; - if (_isIE) { - h.style.marginTop = "1px" - } - this.attachEvent("onEditCell", function(m, l, n) { - this._build_m_order(); - if (m == 2 && this.filters && (this._m_order ? (n == this._m_order[e]) : (n == e))) { - this._loadSelectOptins(h, e) - } - return true - }) - } else { - if (h.tagName == "INPUT") { - this.filters.push([h, e]); - h.old_value = h.value = ""; - h.onkeydown = function() { - if (this._timer) { - window.clearTimeout(this._timer) - } - this._timer = window.setTimeout(function() { - if (h.value != h.old_value) { - a.filterByAll(); - h.old_value = h.value - } - }, 500) - } - } else { - if (h.tagName == "DIV") { - this.filters.push([h, e]); - h.style.padding = "0px"; - h.style.margin = "0px"; - if (!window.dhx_globalImgPath) { - window.dhx_globalImgPath = this.imgURL - } - var g = new dhtmlXCombo(h, "_filter", "90%"); - g.filterSelfA = g.filterSelf; - g.filterSelf = function() { - if (this.getSelectedIndex() == 0) { - this.setComboText("") - } - this.filterSelfA.apply(this, arguments); - this.optionsArr[0].hide(false) - }; - g.enableFilteringMode(true); - h.combo = g; - h.value = ""; - this._loadComboOptins(h, e); - g.attachEvent("onChange", function() { - h.value = g.getSelectedValue(); - if (h.value === null) { - h.value = "" - } - a.filterByAll() - }) - } - } - } - if (h.parentNode) { - h.parentNode.className += " filter" - } - this._filters_ready() -}; -dhtmlXGridObject.prototype.findCell = function(l, m, g, h) { - var h = h || (function(o, n) { - return n.toString().toLowerCase().indexOf(o) != -1 - }); - if (h === true) { - h = function(o, n) { - return n.toString().toLowerCase() == o - } - } - var e = new Array(); - l = l.toString().toLowerCase(); - if (typeof g != "number") { - g = g ? 1 : 0 - } - if (!this.rowsBuffer.length) { - return e - } - for (var c = (m || 0); c < this._cCount; c++) { - if (this._h2) { - this._h2.forEachChild(0, function(n) { - if (g && e.length == g) { - return e - } - if (h(l, this._get_cell_value(n.buff, c))) { - e.push([n.id, c]) - } - }, this) - } else { - for (var a = 0; a < this.rowsBuffer.length; a++) { - if (h(l, this._get_cell_value(this.rowsBuffer[a], c))) { - e.push([this.rowsBuffer[a].idd, c]); - if (g && e.length == g) { - return e - } - } - } - } - if (typeof(m) != "undefined") { - return e - } - } - return e -}; -dhtmlXGridObject.prototype.makeSearch = function(g, e, a) { - if (typeof(g) != "object") { - g = document.getElementById(g) - } - if (!g) { - return - } - var c = this; - if (g.tagName == "INPUT") { - g.onkeypress = function() { - if (this._timer) { - window.clearTimeout(this._timer) - } - this._timer = window.setTimeout(function() { - if (g.value == "") { - return - } - var h = c.findCell(g.value, e, true, a); - if (h.length) { - if (c._h2) { - c.openItem(h[0][0]) - } - c.selectCell(c.getRowIndex(h[0][0]), (e || 0)) - } - }, 500) - } - } - if (g.parentNode) { - g.parentNode.className += " filter" - } -}; -dhtmlXGridObject.prototype._loadSelectOptins = function(h, n) { - var a = this.collectValues(n); - var e = h.value; - h.innerHTML = ""; - h.options[0] = new Option("", ""); - var m = this._filter_tr ? this._filter_tr[n] : null; - for (var g = 0; g < a.length; g++) { - h.options[h.options.length] = new Option(m ? m(a[g]) : a[g], a[g]) - } - h.value = e -}; -dhtmlXGridObject.prototype.setSelectFilterLabel = function(c, a) { - if (!this._filter_tr) { - this._filter_tr = [] - } - this._filter_tr[c] = a -}; -dhtmlXGridObject.prototype._loadComboOptins = function(g, m) { - if (!g.combo) { - return - } - var a = this.collectValues(m); - g.combo.clearAll(); - var h = [ - ["", ""] - ]; - for (var e = 0; e < a.length; e++) { - h.push([a[e], a[e]]) - } - g.combo.addOption(h) -}; -dhtmlXGridObject.prototype.refreshFilters = function() { - if (!this.filters) { - return - } - for (var a = 0; a < this.filters.length; a++) { - switch (this.filters[a][0].tagName.toLowerCase()) { - case "input": - break; - case "select": - this._loadSelectOptins.apply(this, this.filters[a]); - break; - case "div": - this._loadComboOptins.apply(this, this.filters[a]); - break - } - } -}; -dhtmlXGridObject.prototype._filters_ready = function(c, a) { - this.attachEvent("onXLE", this.refreshFilters); - this.attachEvent("onSyncApply", this.refreshFilters); - this.attachEvent("onRowCreated", function(h, g) { - if (this._f_rowsBuffer) { - for (var e = 0; e < this._f_rowsBuffer.length; e++) { - if (this._f_rowsBuffer[e].idd == h) { - return this._f_rowsBuffer[e] = g - } - } - } - }); - this.attachEvent("onClearAll", function() { - this._f_rowsBuffer = null; - if (!this.hdr.rows.length) { - this.filters = [] - } - }); - this.attachEvent("onSetSizes", this._filters_resize_combo); - this.attachEvent("onResize", this._filters_resize_combo); - this._filters_ready = function() {} -}; -dhtmlXGridObject.prototype._filters_resize_combo = function() { - if (!this.filters) { - return - } - for (var a = 0; a < this.filters.length; a++) { - if (this.filters[a][0].combo != null) { - this.filters[a][0].combo.setSize(Math.round(this.filters[a][0].offsetWidth * 90 / 100)) - } - } - return true -}; -dhtmlXGridObject.prototype._in_header_text_filter = function(c, a) { - c.innerHTML = ""; - c.onclick = c.onmousedown = function(g) { - (g || event).cancelBubble = true; - return true - }; - c.onselectstart = function() { - return (event.cancelBubble = true) - }; - this.makeFilter(c.firstChild, a) -}; -dhtmlXGridObject.prototype._in_header_text_filter_inc = function(c, a) { - c.innerHTML = ""; - c.onclick = c.onmousedown = function(g) { - (g || event).cancelBubble = true; - return true - }; - c.onselectstart = function() { - return (event.cancelBubble = true) - }; - this.makeFilter(c.firstChild, a); - c.firstChild._filter = function() { - if (c.firstChild.value == "") { - return "" - } - return function(e) { - return (e.toString().toLowerCase().indexOf(c.firstChild.value.toLowerCase()) == 0) - } - }; - this._filters_ready() -}; -dhtmlXGridObject.prototype._in_header_select_filter = function(c, a) { - c.innerHTML = ""; - c.onclick = function(g) { - (g || event).cancelBubble = true; - return false - }; - this.makeFilter(c.firstChild, a) -}; -dhtmlXGridObject.prototype._in_header_select_filter_strict = function(e, c) { - e.innerHTML = ""; - e.onclick = function(g) { - (g || event).cancelBubble = true; - return false - }; - this.makeFilter(e.firstChild, c); - var a = this.combos; - e.firstChild._filter = function() { - var g = e.firstChild.value; - if (!g) { - return "" - } - if (a[c]) { - g = a[c].keys[a[c].values._dhx_find(g)] - } - g = g.toLowerCase(); - return function(h) { - return (h.toString().toLowerCase() == g) - } - }; - this._filters_ready() -}; -dhtmlXGridObject.prototype._in_header_combo_filter = function(c, a) { - c.innerHTML = "
                    "; - c.onselectstart = function() { - return (event.cancelBubble = true) - }; - c.onclick = c.onmousedown = function(g) { - (g || event).cancelBubble = true; - return true - }; - this.makeFilter(c.firstChild, a) -}; -dhtmlXGridObject.prototype._search_common = function(c, a) { - c.innerHTML = ""; - c.onclick = c.onmousedown = function(g) { - (g || event).cancelBubble = true; - return true - }; - c.onselectstart = function() { - return (event.cancelBubble = true) - } -}; -dhtmlXGridObject.prototype._in_header_text_search = function(e, c, a) { - this._search_common(e, c); - this.makeSearch(e.firstChild, c) -}; -dhtmlXGridObject.prototype._in_header_text_search_strict = function(c, a) { - this._search_common(c, a); - this.makeSearch(c.firstChild, a, true) -}; -dhtmlXGridObject.prototype._in_header_numeric_filter = function(c, a) { - this._in_header_text_filter.call(this, c, a); - c.firstChild._filter = function() { - var e = this.value; - var h; - var m = "=="; - var g = parseFloat(e.replace("=", "")); - var l = null; - if (e) { - if (e.indexOf("..") != -1) { - e = e.split(".."); - g = parseFloat(e[0]); - l = parseFloat(e[1]); - return function(n) { - if (n >= g && n <= l) { - return true - } - return false - } - } - h = e.match(/>=|<=|>|" + h[1]; - var a = this; - g.getElementsByTagName("input")[0].onclick = function(l) { - a._build_m_order(); - var c = a._m_order ? a._m_order[e] : e; - var m = this.checked ? 1 : 0; - a.forEachRowA(function(o) { - var n = this.cells(o, c); - if (n.isCheckbox() && !n.isDisabled()) { - n.setValue(m); - n.cell.wasChanged = true - } - this.callEvent("onEditCell", [1, o, c, m]); - this.callEvent("onCheckbox", [o, c, m]); - this.callEvent("onCheck", [o, c, m]) - }); - (l || event).cancelBubble = true - } -}; -dhtmlXGridObject.prototype._in_header_stat_total = function(e, a, h) { - var g = function() { - var n = 0; - this._build_m_order(); - var m = this._m_order ? this._m_order[a] : a; - for (var l = 0; l < this.rowsBuffer.length; l++) { - var c = parseFloat(this._get_cell_value(this.rowsBuffer[l], m)); - n += isNaN(c) ? 0 : c - } - return this._maskArr[m] ? this._aplNF(n, m) : (Math.round(n * 100) / 100) - }; - this._stat_in_header(e, g, a, h, h) -}; -dhtmlXGridObject.prototype._in_header_stat_multi_total = function(h, g, o) { - var n = o[1].split(":"); - o[1] = ""; - for (var e = 0; e < n.length; e++) { - n[e] = parseInt(n[e]) - } - var l = function() { - var s = 0; - for (var r = 0; r < this.rowsBuffer.length; r++) { - var q = 1; - for (var c = 0; c < n.length; c++) { - q *= parseFloat(this._get_cell_value(this.rowsBuffer[r], n[c])) - } - s += isNaN(q) ? 0 : q - } - return this._maskArr[g] ? this._aplNF(s, g) : (Math.round(s * 100) / 100) - }; - var a = []; - for (var m = 0; m < n.length; m++) { - a[n[m]] = true - } - this._stat_in_header(h, l, a, o, o) -}; -dhtmlXGridObject.prototype._in_header_stat_max = function(e, a, h) { - var g = function() { - this._build_m_order(); - var m = this._m_order ? this._m_order[a] : a; - var n = -Infinity; - for (var l = 0; l < this.rowsBuffer.length; l++) { - var c = parseFloat(this._get_cell_value(this.rowsBuffer[l], m)); - if (!isNaN(c)) { - n = Math.max(n, c) - } - } - if (n === -Infinity) { - return " " - } - return this._maskArr[a] ? this._aplNF(n, a) : n - }; - this._stat_in_header(e, g, a, h) -}; -dhtmlXGridObject.prototype._in_header_stat_min = function(e, a, h) { - var g = function() { - this._build_m_order(); - var m = this._m_order ? this._m_order[a] : a; - var n = Infinity; - for (var l = 0; l < this.rowsBuffer.length; l++) { - var c = parseFloat(this._get_cell_value(this.rowsBuffer[l], m)); - if (!isNaN(c)) { - n = Math.min(n, c) - } - } - if (n === Infinity) { - return " " - } - return this._maskArr[a] ? this._aplNF(n, a) : n - }; - this._stat_in_header(e, g, a, h) -}; -dhtmlXGridObject.prototype._in_header_stat_average = function(e, a, h) { - var g = function() { - this._build_m_order(); - var m = this._m_order ? this._m_order[a] : a; - var o = 0; - var n = 0; - if (this.getRowsNum() == 0) { - return " " - } - for (var l = 0; l < this.rowsBuffer.length; l++) { - var c = parseFloat(this._get_cell_value(this.rowsBuffer[l], m)); - if (!isNaN(c)) { - o += c; - n++ - } - } - if (n === 0) { - return " " - } - return this._maskArr[a] ? this._aplNF(o / n, a) : (Math.round(o / n * 100) / 100) - }; - this._stat_in_header(e, g, a, h) -}; -dhtmlXGridObject.prototype._in_header_stat_count = function(e, a, h) { - var g = function() { - return this.getRowsNum() - }; - this._stat_in_header(e, g, a, h) -}; -dhtmlXGridObject.prototype._stat_in_header = function(e, g, a, m) { - var h = this; - var l = function() { - this.dma(true); - e.innerHTML = (m[0] ? m[0] : "") + g.call(this) + (m[1] ? m[1] : ""); - this.dma(false); - this.callEvent("onStatReady", []) - }; - if (!this._stat_events) { - this._stat_events = []; - this.attachEvent("onClearAll", function() { - if (!this.hdr.rows[1]) { - for (var n = 0; n < this._stat_events.length; n++) { - for (var c = 0; c < 4; c++) { - this.detachEvent(this._stat_events[n][c]) - } - } - this._stat_events = [] - } - }) - } - this._stat_events.push([this.attachEvent("onGridReconstructed", l), this.attachEvent("onXLE", l), this.attachEvent("onFilterEnd", l), this.attachEvent("onEditCell", function(c, o, n) { - if (c == 2 && (n == a || (a && a[n]))) { - l.call(this) - } - return true - })]); - e.innerHTML = "" -}; -dhtmlXGridObject.prototype.loadCSVFile = function(c, a) { - this.load(c, a, "csv") -}; -dhtmlXGridObject.prototype.enableCSVAutoID = function(a) { - this._csvAID = dhx4.s2b(a) -}; -dhtmlXGridObject.prototype.enableCSVHeader = function(a) { - this._csvHdr = dhx4.s2b(a) -}; -dhtmlXGridObject.prototype.setCSVDelimiter = function(a) { - this.csv.cell = a -}; -dhtmlXGridObject.prototype._csvAID = true; -dhtmlXGridObject.prototype.loadCSVString = function(a) { - this.parse(a, "csv") -}; -dhtmlXGridObject.prototype.serializeToCSV = function(n) { - this.editStop(); - if (this._mathSerialization) { - this._agetm = "getMathValue" - } else { - if (this._strictText || n) { - this._agetm = "getTitle" - } else { - this._agetm = "getValue" - } - } - var l = []; - if (this._csvHdr) { - for (var h = 1; h < this.hdr.rows.length; h++) { - var c = []; - for (var m = 0; m < this._cCount; m++) { - if ((!this._srClmn) || (this._srClmn[m])) { - c.push(this.getColumnLabel(m, h - 1)) - } - } - l.push(this.csvParser.str(c, this.csv.cell, this.csv.row)) - } - } - var m = 0; - var g = this.rowsBuffer.length; - for (m; m < g; m++) { - var e = this._serializeRowToCVS(null, m); - if (e != "") { - l.push(e) - } - } - return this.csvParser.block(l, this.csv.row) -}; -dhtmlXGridObject.prototype._serializeRowToCVS = function(a, o, e, m) { - var n = new Array(); - if (!a) { - a = this.render_row(o); - if (this._fake && !this._fake.rowsAr[a.idd]) { - this._fake.render_row(o) - } - } - if (!this._csvAID) { - n[n.length] = a.idd - } - e = e || 0; - m = m || this._cCount; - var s = false; - var g = e; - while (a.childNodes[e]._cellIndex > g && e) { - e-- - } - for (var q = e; g < m; q++) { - if (!a.childNodes[q]) { - break - } - var c = a.childNodes[q]._cellIndex; - if (((!this._srClmn) || (this._srClmn[c])) && (!this._serialize_visible || !this._hrrar[c])) { - var h = a.childNodes[q]; - var l = this.cells(a.idd, c); - while (g != c) { - g++; - n.push(""); - if (g >= m) { - break - } - } - if (g >= m) { - break - } - g++; - if (l.cell) { - zxVal = l[this._agetm]() - } else { - zxVal = "" - } - if ((this._chAttr) && (l.wasChanged())) { - s = true - } - n[n.length] = ((zxVal === null) ? "" : zxVal); - if (this._ecspn && h.colSpan && h.colSpan > 1) { - h = h.colSpan - 1; - for (var v = 0; v < h; v++) { - n[n.length] = ""; - g++ - } - } - } else { - g++ - } - } - if ((this._onlChAttr) && (!s)) { - return "" - } - return this.csvParser.str(n, this.csv.cell, this.csv.row) -}; -dhtmlXGridObject.prototype.toClipBoard = function(a) { - if (window.clipboardData) { - window.clipboardData.setData("Text", a) - } else { - (new Clipboard()).copy(a) - } -}; -dhtmlXGridObject.prototype.fromClipBoard = function() { - if (window.clipboardData) { - return window.clipboardData.getData("Text") - } else { - return (new Clipboard()).paste() - } -}; -dhtmlXGridObject.prototype.cellToClipboard = function(e, c) { - if ((!e) || (!c && c !== 0)) { - if (!this.selectedRows[0]) { - return - } - e = this.selectedRows[0].idd; - c = this.cell._cellIndex - } - var a = this.cells(e, c); - this.toClipBoard(((a.getLabel ? a.getLabel() : a.getValue()) || "").toString()) -}; -dhtmlXGridObject.prototype.updateCellFromClipboard = function(e, c) { - if ((!e) || (!c)) { - if (!this.selectedRows[0]) { - return - } - e = this.selectedRows[0].idd; - c = this.cell._cellIndex - } - var a = this.cells(e, c); - a[a.setImage ? "setLabel" : "setValue"](this.fromClipBoard()) -}; -dhtmlXGridObject.prototype.rowToClipboard = function(g) { - var a = ""; - if (this._mathSerialization) { - this._agetm = "getMathValue" - } else { - if (this._strictText) { - this._agetm = "getTitle" - } else { - this._agetm = "getValue" - } - } - this._serialize_visible = !this._fake; - if (g) { - a = this._serializeRowToCVS(this.getRowById(g)) - } else { - var e = []; - for (var c = 0; c < this.selectedRows.length; c++) { - e[e.length] = this._serializeRowToCVS(this.selectedRows[c]); - a = this.csvParser.block(e, this.csv.row) - } - } - this._serialize_visible = false; - this.toClipBoard(a) -}; -dhtmlXGridObject.prototype.updateRowFromClipboard = function(h) { - var a = this.fromClipBoard(); - if (!a) { - return - } - if (h) { - var g = this.getRowById(h) - } else { - var g = this.selectedRows[0] - } - if (!g) { - return - } - var l = this.csvParser; - a = l.unblock(a, this.csv.cell, this.csv.row)[0]; - if (!this._csvAID) { - a.splice(0, 1) - } - for (var e = 0; e < a.length; e++) { - var c = this.cells3(g, e); - c[c.setImage ? "setLabel" : "setValue"](a[e]) - } -}; -dhtmlXGridObject.prototype.csvParser = { - block: function(a, c) { - return a.join(c) - }, - unblock: function(l, a, h) { - var g = (l || "").split(h); - for (var c = 0; c < g.length; c++) { - g[c] = (g[c] || "").split(a) - } - var e = g.length - 1; - if (g[e].length == 1 && g[e][0] == "") { - g.splice(e, 1) - } - return g - }, - str: function(c, a, e) { - return c.join(a) - } -}; -dhtmlXGridObject.prototype.csvExtParser = { - _quote: RegExp('"', "g"), - _quote_esc: RegExp('""', "g"), - block: function(a, c) { - return a.join(c) - }, - unblock: function(n, r, u) { - var e = [ - [] - ]; - var c = 0; - if (!n) { - return e - } - var o = /^[ ]*"/; - var m = /"[ ]*$/; - var a = new RegExp(".*" + u + ".*$"); - var h = n.split(r); - for (var g = 0; g < h.length; g++) { - if (h[g].match(o)) { - var s = h[g].replace(o, ""); - while (!h[g].match(m)) { - g++; - s += h[g] - } - e[c].push(s.replace(m, "").replace(this._quote_esc, '"')) - } else { - if (h[g].match(a)) { - var l = h[g].indexOf(u); - e[c].push(h[g].substr(0, l)); - c++; - e[c] = []; - h[g] = h[g].substr(l + 1); - g-- - } else { - if (h[g] || g != h.length - 1) { - e[c].push(h[g]) - } - } - } - } - var q = e.length - 1; - if (q > 0 && !e[q].length) { - e.splice(q, 1) - } - return e - }, - str: function(e, a, g) { - for (var c = 0; c < e.length; c++) { - e[c] = '"' + e[c].replace(this._quote, '""') + '"' - } - return e.join(a) - } -}; -dhtmlXGridObject.prototype.addRowFromClipboard = function() { - var a = this.fromClipBoard(); - if (!a) { - return - } - var e = this.csvParser.unblock(a, this.csv.cell, this.csv.row); - for (var c = 0; c < e.length; c++) { - if (e[c]) { - a = e[c]; - if (!a.length) { - continue - } - if (this._csvAID) { - this.addRow(this.getRowsNum() + 2, a) - } else { - if (this.rowsAr[a[0]]) { - a[0] = this.uid() - } - this.addRow(a[0], a.slice(1)) - } - } - } -}; -dhtmlXGridObject.prototype.gridToClipboard = function() { - this.toClipBoard(this.serializeToCSV()) -}; -dhtmlXGridObject.prototype.gridFromClipboard = function() { - var a = this.fromClipBoard(); - if (!a) { - return - } - this.loadCSVString(a) -}; -dhtmlXGridObject.prototype.getXLS = function(m) { - if (!this.xslform) { - this.xslform = document.createElement("FORM"); - this.xslform.action = (m || "") + "xls.php"; - this.xslform.method = "post"; - this.xslform.target = (_isIE ? "_blank" : ""); - document.body.appendChild(this.xslform); - var h = document.createElement("INPUT"); - h.type = "hidden"; - h.name = "csv"; - this.xslform.appendChild(h); - var g = document.createElement("INPUT"); - g.type = "hidden"; - g.name = "csv_header"; - this.xslform.appendChild(g) - } - var n = this.serializeToCSV(); - this.xslform.childNodes[0].value = n; - var e = []; - var a = this._cCount; - for (var c = 0; c < a; c++) { - e.push(this.getHeaderCol(c)) - } - e = e.join(","); - this.xslform.childNodes[1].value = e; - this.xslform.submit() -}; -dhtmlXGridObject.prototype.printView = function(u, e) { - var q = ""; - var D = null; - if (this._fake) { - D = [].concat(this._hrrar); - for (var C = 0; C < this._fake._cCount; C++) { - this._hrrar[C] = null - } - } - var o = document.location.port; - var r = document.location.hostname; - q += ""; - if (!this.parentGrid) { - q += (u || "") - } - q += ''; - var s = Math.max(this.rowsBuffer.length, this.rowsCol.length); - var n = this._cCount; - var v = this._printWidth(); - q += ''; - for (var C = 0; C < n; C++) { - if (this._hrrar && this._hrrar[C]) { - continue - } - var h = this.hdr.rows[1].cells[this.hdr.rows[1]._childIndexes ? this.hdr.rows[1]._childIndexes[parseInt(C)] : C]; - var a = (h.colSpan || 1); - var I = (h.rowSpan || 1); - for (var A = 1; A < a; A++) { - v[C] += v[A] - } - q += '"; - C += a - 1 - } - q += ""; - for (var C = 2; C < this.hdr.rows.length; C++) { - if (_isIE) { - q += ""; - var g = this.hdr.rows[C].childNodes; - for (var A = 0; A < g.length; A++) { - if (!this._hrrar || !this._hrrar[g[A]._cellIndex]) { - q += g[A].outerHTML - } - } - q += "" - } else { - q += "" + (this._fake ? this._fake.hdr.rows[C].innerHTML : "") + this.hdr.rows[C].innerHTML + "" - } - } - for (var C = 0; C < s; C++) { - q += ""; - if (this.rowsCol[C] && this.rowsCol[C]._cntr) { - q += this.rowsCol[C].innerHTML.replace(/]*>/gi, "") + ""; - continue - } - if (this.rowsCol[C] && this.rowsCol[C].style.display == "none") { - continue - } - var m; - if (this.rowsCol[C]) { - m = this.rowsCol[C].idd - } else { - if (this.rowsBuffer[C]) { - m = this.rowsBuffer[C].idd - } else { - continue - } - } - for (var A = 0; A < n; A++) { - if (this._hrrar && this._hrrar[A]) { - continue - } - if (this.rowsAr[m] && this.rowsAr[m].tagName == "TR") { - var H = this.cells(m, A); - if (H._setState) { - var w = "" - } else { - if (H.getContent) { - w = H.getContent() - } else { - if (H.getImage || H.combo) { - var w = H.cell.innerHTML - } else { - var w = H.getValue() - } - } - } - } else { - var w = this._get_cell_value(this.rowsBuffer[C], A) - } - var x = this.columnColor[A] ? "background-color:" + this.columnColor[A] + ";" : ""; - var y = this.cellAlign[A] ? "text-align:" + this.cellAlign[A] + ";" : ""; - var E = H.getAttribute("colspan"); - q += '"; - if (E) { - A += E - 1 - } - } - q += ""; - if (this.rowsCol[C] && this.rowsCol[C]._expanded) { - var l = this.cells4(this.rowsCol[C]._expanded.ctrl); - if (l.getSubGrid) { - q += '" - } else { - q += '" - } - } - } - if (this.ftr) { - for (var C = 1; C < this.ftr.childNodes[0].rows.length; C++) { - q += "" + ((this._fake) ? this._fake.ftr.childNodes[0].rows[C].innerHTML : "") + this.ftr.childNodes[0].rows[C].innerHTML + "" - } - } - q += "
                    ' + this.getHeaderCol(C) + "
                    " + (w === "" ? " " : w) + "
                    ' + l.getSubGrid().printView() + "
                    ' + this.rowsCol[C]._expanded.innerHTML + "
                    "; - if (this.parentGrid) { - return q - } - q += (e || ""); - var F = window.open("", "_blank"); - F.document.write(q); - F.document.write(" - - - - - - - - -
                    -
                    -
                    -
                    -
                    - - - -
                    -<?php -
                        
                    require_once("../config.php"); -
                        
                    $res=mysql_connect($mysql_server,$mysql_user,$mysql_pass); -
                        
                    mysql_select_db($mysql_db); -
                    -
                       require(
                    "../../codebase/combo_connector.php"); -
                       
                    $combo = new ComboConnector($res); -
                       
                    $combo->enable_log("temp.log"); -
                       
                    $combo->render_table("country_data","country_id","name"); -
                    ?> -
                    -
                    - diff --git a/themes/connector/samples/combo/01_basic_connector.php b/themes/connector/samples/combo/01_basic_connector.php deleted file mode 100644 index 59f47a8..0000000 --- a/themes/connector/samples/combo/01_basic_connector.php +++ /dev/null @@ -1,10 +0,0 @@ -enable_log("temp.log"); - $combo->render_table("country_data","country_id","name"); -?> \ No newline at end of file diff --git a/themes/connector/samples/combo/01_basic_srnd_connector.php b/themes/connector/samples/combo/01_basic_srnd_connector.php deleted file mode 100644 index 7e6264e..0000000 --- a/themes/connector/samples/combo/01_basic_srnd_connector.php +++ /dev/null @@ -1,11 +0,0 @@ -enable_log("temp.log"); - $combo->dynamic_loading(2); - $combo->render_table("country_data","country_id","name"); -?> \ No newline at end of file diff --git a/themes/connector/samples/combo/02_sql.html b/themes/connector/samples/combo/02_sql.html deleted file mode 100644 index 31bb217..0000000 --- a/themes/connector/samples/combo/02_sql.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - Filtering and Autocomplete mode - - - - - - - - - -
                    -
                    -
                    -
                    -
                    - - - -
                    -<?php -
                        
                    require_once("../config.php"); -
                        
                    $res=mysql_connect($mysql_server,$mysql_user,$mysql_pass); -
                        
                    mysql_select_db($mysql_db); -
                         -
                        require(
                    "../../codebase/combo_connector.php"); -
                        
                    $combo = new ComboConnector($res); -
                        
                    $combo->enable_log("temp.log"); -
                        
                    $combo->render_sql("SELECT * FROM country_data  WHERE country_id >40 ","country_id","name"); -
                    ?> -
                    -
                    - diff --git a/themes/connector/samples/combo/02_sql_connector.php b/themes/connector/samples/combo/02_sql_connector.php deleted file mode 100644 index 06acc77..0000000 --- a/themes/connector/samples/combo/02_sql_connector.php +++ /dev/null @@ -1,10 +0,0 @@ -enable_log("temp.log"); - $combo->render_sql("SELECT * FROM country_data WHERE country_id >40 ","country_id","name"); -?> \ No newline at end of file diff --git a/themes/connector/samples/combo/02_sql_srnd_connector.php b/themes/connector/samples/combo/02_sql_srnd_connector.php deleted file mode 100644 index a4f3bb5..0000000 --- a/themes/connector/samples/combo/02_sql_srnd_connector.php +++ /dev/null @@ -1,11 +0,0 @@ -enable_log("temp.log"); - $combo->dynamic_loading(2); - $combo->render_sql("SELECT * FROM country_data WHERE country_id >40 ","country_id","name"); -?> \ No newline at end of file diff --git a/themes/connector/samples/combo/index.html b/themes/connector/samples/combo/index.html deleted file mode 100644 index 2c7f63e..0000000 --- a/themes/connector/samples/combo/index.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - -

                    dhtmlxConnector for PHP :: Samples

                    - -
                  • Basic init
                  • -
                  • Basic init by sql string
                  • - - - - diff --git a/themes/connector/samples/config.php b/themes/connector/samples/config.php deleted file mode 100644 index 753650a..0000000 --- a/themes/connector/samples/config.php +++ /dev/null @@ -1,14 +0,0 @@ - \ No newline at end of file diff --git a/themes/connector/samples/dataview/01_static_loading.html b/themes/connector/samples/dataview/01_static_loading.html deleted file mode 100644 index d3b25b1..0000000 --- a/themes/connector/samples/dataview/01_static_loading.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - Static loading - - - - - - -

                    Static loading

                    -

                    All data is loaded at once

                    -
                    - - - - - diff --git a/themes/connector/samples/dataview/01_static_loading.php b/themes/connector/samples/dataview/01_static_loading.php deleted file mode 100644 index 785df91..0000000 --- a/themes/connector/samples/dataview/01_static_loading.php +++ /dev/null @@ -1,10 +0,0 @@ -render_sql(" SELECT * FROM packages_plain WHERE Id < 1000","Id","Package,Version,Maintainer"); -?> \ No newline at end of file diff --git a/themes/connector/samples/dataview/02_dynamic_loading.html b/themes/connector/samples/dataview/02_dynamic_loading.html deleted file mode 100644 index 605d299..0000000 --- a/themes/connector/samples/dataview/02_dynamic_loading.html +++ /dev/null @@ -1,32 +0,0 @@ - - - - Dynamic loading - - - - - - -

                    Dynamic loading

                    -

                    Data is loaded to the DataView on demand

                    - -
                    -
                    - - - - - diff --git a/themes/connector/samples/dataview/02_dynamic_loading.php b/themes/connector/samples/dataview/02_dynamic_loading.php deleted file mode 100644 index 3d6fbd5..0000000 --- a/themes/connector/samples/dataview/02_dynamic_loading.php +++ /dev/null @@ -1,12 +0,0 @@ -dynamic_loading(50); - $data->render_table("packages_plain","Id","Package,Version,Maintainer"); -?> \ No newline at end of file diff --git a/themes/connector/samples/dataview/03_adding.html b/themes/connector/samples/dataview/03_adding.html deleted file mode 100644 index 35e04d0..0000000 --- a/themes/connector/samples/dataview/03_adding.html +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - Connecting to database - - - - - - -

                    Connecting to database

                    - -
                    - Product
                    - Version
                    - Maintainer
                    - -
                    - -
                    - -
                    - - - - - - - diff --git a/themes/connector/samples/dataview/03_adding.php b/themes/connector/samples/dataview/03_adding.php deleted file mode 100644 index b273046..0000000 --- a/themes/connector/samples/dataview/03_adding.php +++ /dev/null @@ -1,10 +0,0 @@ -render_table("packages_small","Id","Package,Version,Maintainer"); -?> \ No newline at end of file diff --git a/themes/connector/samples/dataview/index.html b/themes/connector/samples/dataview/index.html deleted file mode 100644 index fd99f9a..0000000 --- a/themes/connector/samples/dataview/index.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - -

                    dhtmlxConnector for PHP :: Samples

                    -
                  • Static loading
                  • -
                  • Dynamic loading
                  • -
                  • Adding
                  • - - - diff --git a/themes/connector/samples/dhtmlx/dhtmlx.css b/themes/connector/samples/dhtmlx/dhtmlx.css deleted file mode 100644 index 15811cc..0000000 --- a/themes/connector/samples/dhtmlx/dhtmlx.css +++ /dev/null @@ -1 +0,0 @@ -.dhtmlxcalendar_container{position:absolute;display:block;width:188px;background-repeat:no-repeat;background-position:0 0;z-index:1999;}div.dhtmlxcalendar_skin_cont{position:relative;width:100%;height:100%;top:0;left:0;}.dhtmlxcalendar_container.dhtmlxcalendar_time_hidden{background-position:0 -216px;}.dhtmlxcalendar_container ul.dhtmlxcalendar_line{position:relative;display:block;clear:both;margin:0;padding:0;height:24px;overflow:hidden;width:182px;}.dhtmlxcalendar_container ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell,.dhtmlxcalendar_container ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_first{float:left;width:26px;height:24px;list-style-type:none;list-style-image:none;font-family:Tahoma;font-size:10px;text-align:center;vertical-align:middle;line-height:22px;cursor:default;overflow:hidden;margin:0;padding:0;}.dhtmlxcalendar_container div.dhtmlxcalendar_month_cont{position:relative;display:block;width:182px;height:24px;margin-top:3px;margin-left:3px;-moz-user-select:text;}.dhtmlxcalendar_container div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr{width:182px;background-position:0 -24px;background-repeat:no-repeat;color:black;font-size:11px;line-height:24px;}.dhtmlxcalendar_container div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow{position:absolute;top:1px;width:18px;height:23px;text-align:center;color:black;background-position:center center;background-repeat:no-repeat;}.dhtmlxcalendar_container div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_left{left:4px;}.dhtmlxcalendar_container div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_left_hover{left:4px;}.dhtmlxcalendar_container div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_right{right:4px;}.dhtmlxcalendar_container div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_right_hover{right:4px;}.dhtmlxcalendar_container div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr span.dhtmlxcalendar_month_label_month{color:black;margin-right:3px;}.dhtmlxcalendar_container div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr span.dhtmlxcalendar_month_label_year{color:black;margin-left:2px;}.dhtmlxcalendar_container div.dhtmlxcalendar_days_cont{position:relative;display:block;width:182px;height:19px;margin-left:3px;-moz-user-select:text;}.dhtmlxcalendar_container div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line{height:19px;}.dhtmlxcalendar_container div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell,.dhtmlxcalendar_container div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_first{height:19px;line-height:17px;color:black;background-repeat:no-repeat;}.dhtmlxcalendar_container div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell{background-position:-26px -48px;}.dhtmlxcalendar_container div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_first{background-position:0 -48px;}.dhtmlxcalendar_container div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_day_weekday_cell{color:#C66200;background-position:-52px -48px;}.dhtmlxcalendar_container div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_day_weekday_cell_first{color:#C66200;background-position:-26px -105px;}.dhtmlxcalendar_container div.dhtmlxcalendar_dates_cont{position:relative;display:block;width:182px;height:144px;margin-left:3px;margin-bottom:0;-moz-user-select:none;}.dhtmlxcalendar_container.dhtmlxcalendar_time_hidden div.dhtmlxcalendar_dates_cont{margin-bottom:3px;}.dhtmlxcalendar_container div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell{color:#909090;background-position:0 0;background-repeat:no-repeat;}.dhtmlxcalendar_container div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell{background-position:0 0;}.dhtmlxcalendar_container div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend{background-position:0 0;}.dhtmlxcalendar_container div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date{background-position:-104px 0;}.dhtmlxcalendar_container div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend{background-position:-104px 0;}.dhtmlxcalendar_container div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_dis{color:#e3e3e3;}.dhtmlxcalendar_container div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_dis{color:#e3e3e3;}.dhtmlxcalendar_container div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_dis{color:#e3e3e3;}.dhtmlxcalendar_container div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_dis{color:#e3e3e3;}.dhtmlxcalendar_container div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_holiday{color:red;}.dhtmlxcalendar_container div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_holiday{color:red;}.dhtmlxcalendar_container div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_holiday{color:red;background-position:-104px 0;}.dhtmlxcalendar_container div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_holiday{color:red;background-position:-104px 0;}.dhtmlxcalendar_container div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_holiday_dis{color:#ffc3c3;}.dhtmlxcalendar_container div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_holiday_dis{color:#ffc3c3;}.dhtmlxcalendar_container div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_holiday_dis{color:#ffc3c3;}.dhtmlxcalendar_container div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_holiday_dis{color:#ffc3c3;}.dhtmlxcalendar_container div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_hover{background-position:-26px 0;}.dhtmlxcalendar_container div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_hover{background-position:-26px 0;}.dhtmlxcalendar_container div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_hover{background-position:-104px 0;}.dhtmlxcalendar_container div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_hover{background-position:-104px 0;}.dhtmlxcalendar_container div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_holiday_hover{color:red;background-position:-26px 0;}.dhtmlxcalendar_container div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_holiday_hover{color:red;background-position:-26px 0;}.dhtmlxcalendar_container div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_holiday_hover{color:red;background-position:-104px 0;}.dhtmlxcalendar_container div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_holiday_hover{color:red;background-position:-104px 0;}.dhtmlxcalendar_container div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month{color:#000;background-position:-52px 0;}.dhtmlxcalendar_container div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend{color:#c66200;background-position:-130px 0;}.dhtmlxcalendar_container div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date{color:#000;background-position:-104px 0;}.dhtmlxcalendar_container div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend{color:#c66200;background-position:-104px 0;}.dhtmlxcalendar_container div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_dis{color:#808080;background-position:0 -100px;}.dhtmlxcalendar_container div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_dis{color:#808080;background-position:0 -100px;}.dhtmlxcalendar_container div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_dis{color:#808080;background-position:0 -100px;}.dhtmlxcalendar_container div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_dis{color:#808080;background-position:0 -100px;}.dhtmlxcalendar_container div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_holiday{color:red;background-position:-52px 0;}.dhtmlxcalendar_container div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_holiday{color:red;background-position:-130px 0;}.dhtmlxcalendar_container div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_holiday{color:red;background-position:-104px 0;}.dhtmlxcalendar_container div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_holiday{color:red;background-position:-104px 0;}.dhtmlxcalendar_container div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_holiday_dis{color:red;background-position:0 -100px;}.dhtmlxcalendar_container div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_holiday_dis{color:red;background-position:0 -100px;}.dhtmlxcalendar_container div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_holiday_dis{color:red;background-position:0 -100px;}.dhtmlxcalendar_container div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_holiday_dis{color:red;background-position:0 -100px;}.dhtmlxcalendar_container div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_hover{color:#000;background-position:-78px 0;}.dhtmlxcalendar_container div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_hover{color:#c66200;background-position:-156px 0;}.dhtmlxcalendar_container div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_hover{color:#000;background-position:-104px 0;}.dhtmlxcalendar_container div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_hover{color:#c66200;background-position:-104px 0;}.dhtmlxcalendar_container div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_holiday_hover{color:red;background-position:-78px 0;}.dhtmlxcalendar_container div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_holiday_hover{color:red;background-position:-156px 0;}.dhtmlxcalendar_container div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_holiday_hover{color:red;background-position:-104px 0;}.dhtmlxcalendar_container div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_holiday_hover{color:red;background-position:-104px 0;}.dhtmlxcalendar_container div.dhtmlxcalendar_time_cont{position:relative;display:block;width:182px;height:24px;margin-left:3px;margin-bottom:3px;-moz-user-select:none;}.dhtmlxcalendar_container.dhtmlxcalendar_time_hidden div.dhtmlxcalendar_time_cont{display:none;height:0;margin-bottom:0;}.dhtmlxcalendar_container div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr{width:182px;background-position:0 -24px;background-repeat:no-repeat;color:black;font-size:11px;line-height:24px;}.dhtmlxcalendar_container div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr div.dhtmlxcalendar_time_label{position:absolute;height:13px;width:13px;left:58px;top:5px;background-position:0 -87px;background-repeat:no-repeat;}.dhtmlxcalendar_container div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_hours,.dhtmlxcalendar_container div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_minutes,.dhtmlxcalendar_container div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_colon{font-size:11px;font-family:Tahoma;}.dhtmlxcalendar_container div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_colon{margin-left:1px;margin-right:1px;}.dhtmlxcalendar_container div.dhtmlxcalendar_selector_cover{position:absolute;left:3px;top:27px;width:182px;height:163px;background-color:#c1c1c1;opacity:.3;-moz-opacity:.3;filter:alpha(opacity=30);}.dhtmlxcalendar_container div.dhtmlxcalendar_selector_obj{position:absolute;}.dhtmlxcalendar_container div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_selector_obj_arrow{position:absolute;bottom:auto;top:0;left:0;width:100%;height:9px;background-position:center -69px;background-repeat:no-repeat;overflow:hidden;}.dhtmlxcalendar_container div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table{border:1px solid #c1c1c1;background-color:white;border-top:none;margin-top:9px;}.dhtmlxcalendar_container div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left{width:17px;text-align:center;border-bottom:1px solid white;border-top:white 1px solid;border-left:white 1px solid;background-color:#f8f7f5;background-position:center center;background-repeat:no-repeat;cursor:default;}.dhtmlxcalendar_container div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle{border-top:white 1px solid;border-left:white 1px solid;cursor:default;}.dhtmlxcalendar_container div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right{width:17px;text-align:center;background-color:#f8f7f5;border-bottom:1px solid white;border-right:1px solid white;border-top:1px solid white;background-position:center center;background-repeat:no-repeat;cursor:default;;}.dhtmlxcalendar_container div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left,.dhtmlxcalendar_container div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right{display:none;width:0;}.dhtmlxcalendar_container div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line{display:block;clear:both;margin:0;padding:0;width:96px;height:21px;-moz-user-select:none;}.dhtmlxcalendar_container div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell{float:left;width:32px;height:21px;line-height:19px;font-family:Tahoma;font-size:10px;list-style-type:none;list-style-image:none;text-align:center;vertical-align:middle;margin:0;padding:0;background-repeat:no-repeat;background-position:-78px -48px;-moz-user-select:none;cursor:default;}.dhtmlxcalendar_container div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell.dhtmlxcalendar_selector_cell_active{background-position:-142px -48px;}.dhtmlxcalendar_container div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell.dhtmlxcalendar_selector_cell_hover{background-position:-110px -48px;}.dhtmlxcalendar_container div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left,.dhtmlxcalendar_container div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left,.dhtmlxcalendar_container div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right,.dhtmlxcalendar_container div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right{display:none;width:0;}.dhtmlxcalendar_container div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours div.dhtmlxcalendar_selector_obj_arrow,.dhtmlxcalendar_container div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_selector_obj_arrow{top:auto;bottom:0;background-position:center -78px;}.dhtmlxcalendar_container div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table,.dhtmlxcalendar_container div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table{margin-top:0;margin-bottom:9px;border-top:1px solid #C1C1C1;border-bottom:none;}.dhtmlxcalendar_container div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line{width:162px;height:17px;}.dhtmlxcalendar_container div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line{width:81px;height:17px;}.dhtmlxcalendar_container div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell,.dhtmlxcalendar_container div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell{height:17px;line-height:15px;width:27px;background-position:-83px -52px;}.dhtmlxcalendar_container div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell.dhtmlxcalendar_selector_cell_active,.dhtmlxcalendar_container div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell.dhtmlxcalendar_selector_cell_active{background-position:-147px -52px;}.dhtmlxcalendar_container div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell.dhtmlxcalendar_selector_cell_hover,.dhtmlxcalendar_container div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell.dhtmlxcalendar_selector_cell_hover{background-position:-115px -52px;}.dhtmlxcalendar_container div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_month,.dhtmlxcalendar_container div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_year,.dhtmlxcalendar_container div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_hours,.dhtmlxcalendar_container div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_minutes{display:none;}.dhtmlxcalendar_container div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month div.dhtmlxcalendar_area_selector_month,.dhtmlxcalendar_container div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_year div.dhtmlxcalendar_area_selector_year,.dhtmlxcalendar_container div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours div.dhtmlxcalendar_area_selector_hours,.dhtmlxcalendar_container div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_area_selector_minutes{display:block;}.dhx_tooltip{display:none;position:absolute;font-family:Tahoma;font-size:8pt;z-index:10000;background-color:white;padding:2px 2px 2px 2px;border:1px solid #A4BED4;}.dhx_chart{position:relative;font-family:Verdana;font-size:13px;color:#000;overflow:hidden;}.dhx_canvas_text{position:absolute;text-align:center;overflow:hidden;white-space:nowrap;}.dhx_map_img{width:100%;height:100%;position:absolute;top:0;left:0;border:0;filter:alpha(opacity=0);}.dhx_axis_item_y{position:absolute;height:10px;line-height:10px;text-align:right;}.dhx_axis_title_x{text-align:center;}.dhx_axis_title_y{text-align:center;font-family:Verdana;-webkit-transform:rotate(-90deg);-moz-transform:rotate(-90deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-o-transform:rotate(-90deg);padding-left:3px;}.dhx_chart_legend{position:absolute;}.dhx_chart_legend_item{height:18px;line-height:18px;padding:2px;}.dhtmlxcolorpicker{background:#E6E5E5;color:#000;}.dhtmlxcolorpicker .cs_ContentTable{margin:8px;}.dhtmlxcolorpicker .cs_SelectorDiv{border:1px solid gray;overflow:hidden;position:relative;width:256px;height:256px;}.dhtmlxcolorpicker .cs_SelectorDiv_Mini{border:1px solid gray;overflow:hidden;position:relative;width:210px;height:120px;}.dhtmlxcolorpicker .cs_SelectorVer{position:absolute;width:1px;height:100%;background-color:white;overflow:hidden;}.dhtmlxcolorpicker .cs_SelectorHor{position:absolute;width:100%;height:1px;background-color:white;overflow:hidden;}.dhtmlxcolorpicker .cs_LumSelect{border:1px solid gray;margin-left:13px;margin-right:10px;position:relative;width:15px;}.dhtmlxcolorpicker .cs_LumSelect_Mini{border:1px solid gray;margin-left:6px;position:relative;width:12px;}.dhtmlxcolorpicker .cs_LumSelectLine{position:absolute;width:100%;height:1px;overflow:hidden;background-color:white;}.dhtmlxcolorpicker .cs_LumSelectArrow{position:absolute;background:url('imgs/slide.gif') no-repeat;width:13px;height:9px;overflow:hidden;}.dhtmlxcolorpicker .cs_LumElement{width:100%;height:4px;border:0;overflow:hidden;}.dhtmlxcolorpicker .cs_ColorArea{font-family:Arial;font-size:12px;width:100%;}.dhtmlxcolorpicker .cs_ColorArea_Mini{font-family:Arial;font-size:12px;width:100%;}.dhtmlxcolorpicker .cs_ColorArea TD{text-align:right;height:25px;}.dhtmlxcolorpicker .cs_ColorArea_Mini TD{text-align:right;height:18px;}.dhtmlxcolorpicker .cs_EndColor{width:72px;height:69px;border:1px solid gray;}.dhtmlxcolorpicker .cs_EndColor_Mini{width:100px;height:30px;border:1px solid gray;}.dhtmlxcolorpicker .cs_Hex{font-family:Arial;Font-size:12px;width:55px;}.dhtmlxcolorpicker .cs_Hex_Mini,.dhtmlxcolorpicker .cs_Hex_MiniX{font-family:Arial;Font-size:10px;height:15px;width:45px;margin:0;padding:0;}.dhtmlxcolorpicker .cs_Hex_MiniX{height:11px;}.dhtmlxcolorpicker .cs_Input{width:26px;font-family:Arial;Font-size:12px;text-align:right;}.dhtmlxcolorpicker .cs_Input_Mini,.dhtmlxcolorpicker .cs_Input_MiniX{width:22px;height:15px;font-family:Arial;Font-size:10px;margin:0;padding:0;text-align:right;}.dhtmlxcolorpicker .cs_Input_MiniX{height:11px;}.commonInputStyle,.dhtmlxcolorpicker .cs_CustomColorAdd,.dhtmlxcolorpicker .cs_CustomColorAdd_Hover,.dhtmlxcolorpicker .cs_ButtonOk,.dhtmlxcolorpicker .cs_ButtonOk_Hover,.dhtmlxcolorpicker .cs_ButtonCancel,.dhtmlxcolorpicker .cs_ButtonCancel_Hover,.dhtmlxcolorpicker .cs_CustomColorAdd_Mini,.dhtmlxcolorpicker .cs_CustomColorAdd_Mini_Hover{border:1px outset white;background:#d4cfc9;height:22px;}.dhtmlxcolorpicker .cs_CustomColorAdd,.dhtmlxcolorpicker .cs_CustomColorAdd_Hover{width:145px;font-family:Arial;Font-size:12px;margin-top:8px;}.dhtmlxcolorpicker .cs_CustomColorAdd_Mini,.dhtmlxcolorpicker .cs_CustomColorAdd_Mini_Hover{width:100%;font-family:Arial;Font-size:12px;margin-top:6px;}.dhtmlxcolorpicker .cs_CustomColors{margin-top:8px;width:76px;height:38px;}.dhtmlxcolorpicker .cs_CustomColors_Mini{width:100%;height:18px;margin-top:6px;}.dhtmlxcolorpicker .cs_CustomColor{float:left;width:14px;height:14px;border:1px solid gray;overflow:hidden;cursor:pointer;margin-bottom:3px;margin-right:3px;}.dhtmlxcolorpicker .cs_CustomColor_Mini{float:left;width:18px;height:18px;border:1px solid gray;overflow:hidden;cursor:pointer;margin-bottom:3px;margin-right:3px;}.dhtmlxcolorpicker .cs_ButtonOk,.dhtmlxcolorpicker .cs_ButtonOk_Hover{margin-top:3px;margin-right:6px;float:right;width:70px;font-family:Arial;Font-size:12px;}.dhtmlxcolorpicker .cs_ButtonCancel,.dhtmlxcolorpicker .cs_ButtonCancel_Hover{margin-top:3px;margin-right:7px;width:70px;float:right;font-family:Arial;Font-size:12px;}.dhtmlxcolorpicker .cs_colorInput{position:absolute;top:0;left:0;}.dhtmlxcolorpicker .cs_colorBox{position:absolute;top:0;left:0;border:1px solid black;}.dhtmlxcolorpicker .cs_ButtonsPanel{height:37px;background:url('imgs/cp_buttons_panel.gif');}.dhtmlxcolorpicker_dhx_black{background:#000;}.dhtmlxcolorpicker_dhx_black .cs_ContentTable{margin:8px;}.dhtmlxcolorpicker_dhx_black .cs_SelectorDiv{border:1px solid gray;overflow:hidden;position:relative;width:256px;height:256px;}.dhtmlxcolorpicker_dhx_black .cs_SelectorDiv_Mini{border:1px solid gray;overflow:hidden;position:relative;width:210px;height:120px;}.dhtmlxcolorpicker_dhx_black .cs_SelectorVer{position:absolute;width:1px;height:100%;background-color:white;overflow:hidden;}.dhtmlxcolorpicker_dhx_black .cs_SelectorHor{position:absolute;width:100%;height:1px;background-color:white;overflow:hidden;}.dhtmlxcolorpicker_dhx_black .cs_LumSelect{border:1px solid gray;margin-left:13px;margin-right:10px;position:relative;width:15px;}.dhtmlxcolorpicker_dhx_black .cs_LumSelect_Mini{border:1px solid gray;margin-left:6px;position:relative;width:12px;}.dhtmlxcolorpicker_dhx_black .cs_LumSelectLine{position:absolute;width:100%;height:1px;overflow:hidden;background-color:white;}.dhtmlxcolorpicker_dhx_black .cs_LumSelectArrow{position:absolute;background:url('img/__dhxCP_skin_Black/slide.gif') no-repeat;width:13px;height:9px;overflow:hidden;}.dhtmlxcolorpicker_dhx_black .cs_LumElement{width:100%;height:4px;border:0;font-size:0;overflow:hidden;}.dhtmlxcolorpicker_dhx_black .cs_ColorArea{font-family:Arial;font-size:12px;width:100%;color:#fff;}.dhtmlxcolorpicker_dhx_black .cs_ColorArea_Mini{font-family:Arial;font-size:12px;width:100%;color:#fff;}.dhtmlxcolorpicker_dhx_black .cs_ColorArea TD{text-align:right;height:25px;}.dhtmlxcolorpicker_dhx_black .cs_ColorArea_Mini TD{text-align:right;height:18px;}.dhtmlxcolorpicker_dhx_black .cs_EndColor{width:72px;height:69px;border:1px solid gray;}.dhtmlxcolorpicker_dhx_black .cs_EndColor_Mini{width:100px;height:30px;border:1px solid gray;}.dhtmlxcolorpicker_dhx_black .cs_Hex{font-family:Arial;Font-size:12px;width:55px;}.dhtmlxcolorpicker_dhx_black .cs_Hex_Mini,.dhtmlxcolorpicker_dhx_black .cs_Hex_MiniX{font-family:Arial;Font-size:10px;height:15px;width:45px;margin:0;padding:0;}.dhtmlxcolorpicker_dhx_black .cs_Hex_MiniX{height:11px;}.dhtmlxcolorpicker_dhx_black .cs_Input{width:26px;font-family:Arial;Font-size:12px;text-align:right;}.dhtmlxcolorpicker_dhx_black .cs_Input_Mini,.dhtmlxcolorpicker_dhx_black .cs_Input_MiniX{width:22px;height:15px;font-family:Arial;Font-size:10px;margin:0;padding:0;text-align:right;}.dhtmlxcolorpicker_dhx_black .cs_Input_MiniX{height:11px;}.commonInputStyle,.dhtmlxcolorpicker_dhx_black .cs_CustomColorAdd,.dhtmlxcolorpicker_dhx_black .cs_CustomColorAdd_Hover,.dhtmlxcolorpicker_dhx_black .cs_ButtonOk,.dhtmlxcolorpicker_dhx_black .cs_ButtonOk_Hover,.dhtmlxcolorpicker_dhx_black .cs_ButtonCancel,.dhtmlxcolorpicker_dhx_black .cs_ButtonCancel_Hover,.dhtmlxcolorpicker_dhx_black .cs_CustomColorAdd_Mini,.dhtmlxcolorpicker_dhx_black .cs_CustomColorAdd_Mini_Hover{border:1px outset white;background:#d4cfc9;height:22px;}.dhtmlxcolorpicker_dhx_black .cs_CustomColorAdd,.dhtmlxcolorpicker_dhx_black .cs_CustomColorAdd_Hover{width:145px;font-family:Arial;Font-size:12px;margin-top:8px;}.dhtmlxcolorpicker_dhx_black .cs_CustomColorAdd_Mini,.dhtmlxcolorpicker_dhx_black .cs_CustomColorAdd_Mini_Hover{width:100%;font-family:Arial;Font-size:12px;margin-top:6px;}.dhtmlxcolorpicker_dhx_black .cs_CustomColors{margin-top:8px;width:76px;height:38px;}.dhtmlxcolorpicker_dhx_black .cs_CustomColors_Mini{width:100%;height:18px;margin-top:6px;}.dhtmlxcolorpicker_dhx_black .cs_CustomColor{float:left;width:14px;height:14px;border:1px solid gray;overflow:hidden;cursor:pointer;margin-bottom:3px;margin-right:3px;}.dhtmlxcolorpicker_dhx_black .cs_CustomColor_Mini{float:left;width:18px;height:18px;border:1px solid gray;overflow:hidden;cursor:pointer;margin-bottom:3px;margin-right:3px;}.dhtmlxcolorpicker_dhx_black .cs_ButtonOk,.dhtmlxcolorpicker_dhx_black .cs_ButtonOk_Hover{margin-top:3px;margin-right:6px;float:right;width:70px;font-family:Arial;Font-size:12px;}.dhtmlxcolorpicker_dhx_black .cs_ButtonCancel,.dhtmlxcolorpicker_dhx_black .cs_ButtonCancel_Hover{margin-top:3px;margin-right:7px;width:70px;float:right;font-family:Arial;Font-size:12px;}.dhtmlxcolorpicker_dhx_black .cs_colorInput{position:absolute;top:0;left:0;}.dhtmlxcolorpicker_dhx_black .cs_colorBox{position:absolute;top:0;left:0;border:1px solid black;}.dhtmlxcolorpicker_dhx_black .cs_ButtonsPanel{height:37px;background:url('imgs/__dhxCP_skin_Black/cp_buttons_panel.png');}.dhtmlxcolorpicker_dhx_blue{background:#d3e2e5;}.dhtmlxcolorpicker_dhx_blue .cs_ContentTable{margin:8px;}.dhtmlxcolorpicker_dhx_blue .cs_SelectorDiv{border:1px solid gray;overflow:hidden;position:relative;width:256px;height:256px;}.dhtmlxcolorpicker_dhx_blue .cs_SelectorDiv_Mini{border:1px solid #adc6cb;overflow:hidden;position:relative;width:210px;height:120px;}.dhtmlxcolorpicker_dhx_blue .cs_SelectorVer{position:absolute;width:1px;height:100%;background-color:white;overflow:hidden;}.dhtmlxcolorpicker_dhx_blue .cs_SelectorHor{position:absolute;width:100%;height:1px;background-color:white;overflow:hidden;}.dhtmlxcolorpicker_dhx_blue .cs_LumSelect{border:1px solid gray;margin-left:13px;margin-right:10px;position:relative;width:15px;}.dhtmlxcolorpicker_dhx_blue .cs_LumSelect_Mini{border:1px solid #adc6cb;margin-left:6px;position:relative;width:12px;}.dhtmlxcolorpicker_dhx_blue .cs_LumSelectLine{position:absolute;width:100%;height:1px;overflow:hidden;background-color:white;}.dhtmlxcolorpicker_dhx_blue .cs_LumSelectArrow{position:absolute;background:url('imgs/__dhxCP_skin_Blue/slide.gif') no-repeat;width:13px;height:9px;overflow:hidden;}.dhtmlxcolorpicker_dhx_blue .cs_LumElement{width:100%;height:4px;border:0;font-size:0;overflow:hidden;}.dhtmlxcolorpicker_dhx_blue .cs_ColorArea{font-family:Arial;font-size:12px;width:100%;color:#02609e;}.dhtmlxcolorpicker_dhx_blue .cs_ColorArea_Mini{font-family:Arial;font-size:12px;width:100%;color:#02609e;}.dhtmlxcolorpicker_dhx_blue .cs_ColorArea TD{text-align:right;height:25px;}.dhtmlxcolorpicker_dhx_blue .cs_ColorArea_Mini TD{text-align:right;height:18px;}.dhtmlxcolorpicker_dhx_blue .cs_EndColor{width:72px;height:69px;border:1px solid gray;}.dhtmlxcolorpicker_dhx_blue .cs_EndColor_Mini{width:100px;height:30px;border:1px solid #adc6cb;}.dhtmlxcolorpicker_dhx_blue .cs_Hex{font-family:Arial;Font-size:12px;width:55px;}.dhtmlxcolorpicker_dhx_blue .cs_Hex_Mini,.dhtmlxcolorpicker_dhx_blue .cs_Hex_MiniX{font-family:Arial;Font-size:10px;height:15px;width:45px;margin:0;padding:0;border:1px solid #adc6cb;}.dhtmlxcolorpicker_dhx_blue .cs_Hex_MiniX{height:11px;}.dhtmlxcolorpicker_dhx_blue .cs_Input{width:26px;font-family:Arial;Font-size:12px;text-align:right;}.dhtmlxcolorpicker_dhx_blue .cs_Input_Mini,.dhtmlxcolorpicker_dhx_blue .cs_Input_MiniX{width:22px;height:15px;font-family:Arial;Font-size:10px;margin:0;padding:0;text-align:right;border:1px solid #adc6cb;}.dhtmlxcolorpicker_dhx_blue .cs_Input_MiniX{height:11px;}.commonInputStyle,.dhtmlxcolorpicker_dhx_blue .cs_CustomColorAdd,.dhtmlxcolorpicker_dhx_blue .cs_CustomColorAdd_Hover,.dhtmlxcolorpicker_dhx_blue .cs_ButtonOk,.dhtmlxcolorpicker_dhx_blue .cs_ButtonOk_Hover,.dhtmlxcolorpicker_dhx_blue .cs_ButtonCancel,.dhtmlxcolorpicker_dhx_blue .cs_ButtonCancel_Hover,.dhtmlxcolorpicker_dhx_blue .cs_CustomColorAdd_Mini,.dhtmlxcolorpicker_dhx_blue .cs_CustomColorAdd_Mini_Hover{border:1px outset white;background:#d4cfc9;height:22px;}.dhtmlxcolorpicker_dhx_blue .cs_CustomColorAdd,.dhtmlxcolorpicker_dhx_blue .cs_CustomColorAdd_Hover{width:145px;font-family:Arial;Font-size:12px;margin-top:8px;}.dhtmlxcolorpicker_dhx_blue .cs_CustomColorAdd_Mini,.dhtmlxcolorpicker_dhx_blue .cs_CustomColorAdd_Mini_Hover{width:100%;font-family:Arial;Font-size:12px;margin-top:6px;}.dhtmlxcolorpicker_dhx_blue .cs_CustomColors{margin-top:8px;width:76px;height:38px;}.dhtmlxcolorpicker_dhx_blue .cs_CustomColors_Mini{width:100%;height:18px;margin-top:6px;}.dhtmlxcolorpicker_dhx_blue .cs_CustomColor{float:left;width:14px;height:14px;border:1px solid #adc6cb;overflow:hidden;cursor:pointer;margin-bottom:3px;margin-right:3px;}.dhtmlxcolorpicker_dhx_blue .cs_CustomColor_Mini{float:left;width:18px;height:18px;border:1px solid #adc6cb;overflow:hidden;cursor:pointer;margin-bottom:3px;margin-right:3px;}.dhtmlxcolorpicker_dhx_blue .cs_ButtonOk,.dhtmlxcolorpicker_dhx_blue .cs_ButtonOk_Hover{margin-top:3px;margin-right:6px;float:right;width:70px;font-family:Arial;Font-size:12px;}.dhtmlxcolorpicker_dhx_blue .cs_ButtonCancel,.dhtmlxcolorpicker_dhx_blue .cs_ButtonCancel_Hover{margin-top:3px;margin-right:7px;width:70px;float:right;font-family:Arial;Font-size:12px;}.dhtmlxcolorpicker_dhx_blue .cs_colorInput{position:absolute;top:0;left:0;}.dhtmlxcolorpicker_dhx_blue .cs_colorBox{position:absolute;top:0;left:0;border:1px solid blue;}.dhtmlxcolorpicker_dhx_blue .cs_ButtonsPanel{height:37px;background:url('imgs/__dhxCP_skin_Blue/cp_buttons_panel.png');}.dhtmlxcolorpicker_dhx_skyblue{background:url('imgs/__dhxCP_skin_SkyBlue/bg_head.gif') repeat-x #c3d4eb;}.dhtmlxcolorpicker_dhx_skyblue .cs_ContentTable{margin:20px 8px 0;}.dhtmlxcolorpicker_dhx_skyblue .cs_SelectorDiv{border:1px solid #fff;overflow:hidden;position:relative;width:256px;height:256px;}.dhtmlxcolorpicker_dhx_skyblue .cs_SelectorDiv_Mini{border:1px solid #fff;overflow:hidden;position:relative;width:210px;height:120px;}.dhtmlxcolorpicker_dhx_skyblue .cs_SelectorVer{position:absolute;width:1px;height:100%;background-color:white;overflow:hidden;}.dhtmlxcolorpicker_dhx_skyblue .cs_SelectorHor{position:absolute;width:100%;height:1px;background-color:white;overflow:hidden;}.dhtmlxcolorpicker_dhx_skyblue .cs_LumSelect{border:1px solid #fff;margin-left:13px;margin-right:10px;position:relative;width:15px;}.dhtmlxcolorpicker_dhx_skyblue .cs_LumSelect_Mini{border:1px solid #fff;margin-left:6px;position:relative;width:12px;}.dhtmlxcolorpicker_dhx_skyblue .cs_LumSelectLine{position:absolute;width:100%;height:1px;overflow:hidden;background-color:white;}.dhtmlxcolorpicker_dhx_skyblue .cs_LumSelectArrow{position:absolute;background:url('imgs/__dhxCP_skin_SkyBlue/slide.gif') no-repeat;width:13px;height:9px;overflow:hidden;}.dhtmlxcolorpicker_dhx_skyblue .cs_LumElement{width:100%;height:4px;border:0;font-size:0;overflow:hidden;}.dhtmlxcolorpicker_dhx_skyblue .cs_ColorArea{font-family:Arial;font-size:12px;width:100%;color:#02609e;}.dhtmlxcolorpicker_dhx_skyblue .cs_ColorArea_Mini{font-family:Arial;font-size:12px;width:100%;color:#02609e;}.dhtmlxcolorpicker_dhx_skyblue .cs_ColorArea TD{text-align:right;height:25px;}.dhtmlxcolorpicker_dhx_skyblue .cs_ColorArea_Mini TD{text-align:right;height:18px;}.dhtmlxcolorpicker_dhx_skyblue .cs_EndColor{width:72px;height:69px;border:1px solid #fff;}.dhtmlxcolorpicker_dhx_skyblue .cs_EndColor_Mini{width:100px;height:30px;border:1px solid #fff;}.dhtmlxcolorpicker_dhx_skyblue .cs_Hex{font-family:Arial;Font-size:12px;width:55px;}.dhtmlxcolorpicker_dhx_skyblue .cs_Hex_Mini,.dhtmlxcolorpicker_dhx_skyblue .cs_Hex_MiniX{font-family:Arial;Font-size:10px;height:15px;width:45px;margin:0;padding:0;border:1px solid #fff;}.dhtmlxcolorpicker_dhx_skyblue .cs_Hex_MiniX{height:11px;}.dhtmlxcolorpicker_dhx_skyblue .cs_Input{width:26px;font-family:Arial;Font-size:12px;text-align:right;}.dhtmlxcolorpicker_dhx_skyblue .cs_Input_Mini,.dhtmlxcolorpicker_dhx_skyblue .cs_Input_MiniX{width:22px;height:15px;font-family:Arial;font-size:10px;margin:0;padding:0;text-align:right;border:1px solid #fff;}.dhtmlxcolorpicker_dhx_skyblue .cs_Input_MiniX{height:11px;}.dhtmlxcolorpicker_dhx_skyblue .cs_CustomColorAdd{width:145px;font-family:Arial;font-size:12px;margin-top:8px;}.dhtmlxcolorpicker_dhx_skyblue .cs_CustomColorAdd_Mini,.dhtmlxcolorpicker_dhx_skyblue .cs_CustomColorAdd_Mini_Hover{background:url('imgs/__dhxCP_skin_SkyBlue/but_add.gif');border:0;width:100%;height:21px;font-family:Tahoma;font-size:11px;margin-top:6px;padding-left:20px;}.dhtmlxcolorpicker_dhx_skyblue .cs_CustomColorAdd_Mini_Hover{background-position:left bottom;}.dhtmlxcolorpicker_dhx_skyblue .cs_CustomColors{margin-top:8px;width:76px;height:38px;}.dhtmlxcolorpicker_dhx_skyblue .cs_CustomColors_Mini{width:100%;height:18px;margin-top:6px;}.dhtmlxcolorpicker_dhx_skyblue .cs_CustomColor{float:left;width:14px;height:14px;border:1px solid #fff;overflow:hidden;cursor:pointer;margin-bottom:3px;margin-right:3px;}.dhtmlxcolorpicker_dhx_skyblue .cs_CustomColor_Mini{float:left;width:18px;height:18px;border:1px solid #a4bed4;overflow:hidden;cursor:pointer;margin-bottom:3px;margin-right:3px;}.dhtmlxcolorpicker_dhx_skyblue .cs_ButtonOk,.dhtmlxcolorpicker_dhx_skyblue .cs_ButtonOk_Hover{background:url('imgs/__dhxCP_skin_SkyBlue/but_select.gif');border:0;margin:3px 6px 0 0;padding-left:17px;float:right;width:70px;font-family:Tahoma;font-size:11px;height:21px;}.dhtmlxcolorpicker_dhx_skyblue .cs_ButtonOk_Hover{background-position:left bottom;}.dhtmlxcolorpicker_dhx_skyblue .cs_ButtonCancel,.dhtmlxcolorpicker_dhx_skyblue .cs_ButtonCancel_Hover{background:url('imgs/__dhxCP_skin_SkyBlue/but_cancel.gif');border:0;margin:3px 7px 0 0;padding-left:17px;width:72px;float:right;font-family:Tahoma;font-size:11px;height:21px;}.dhtmlxcolorpicker_dhx_skyblue .cs_ButtonCancel_Hover{background-position:left bottom;}.dhtmlxcolorpicker_dhx_skyblue .cs_colorInput{position:absolute;top:0;left:0;}.dhtmlxcolorpicker_dhx_blue .cs_colorBox{position:absolute;top:0;left:0;border:1px solid blue;}.dhtmlxcolorpicker_dhx_skyblue .cs_ButtonsPanel{margin-bottom:8px;}.dhx_combo_img{position:absolute;top:0;right:0;width:18px;height:20px;}.dhx_combo_option_img{position:relative;top:1px;margin:0;margin-left:2px;left:0;width:18px;height:18px;padding:0;}.dhx_combo_input{color:#333;font-family:Arial;font-size:9pt;border:0;padding:2px 2px 2px 2px;position:absolute;top:0;}.dhx_combo_box{position:relative;text-align:left;border:1px solid #7F9DB9;height:20px;_height:22px;overflow:hidden;background-color:white;}.dhx_combo_list{position:absolute;z-index:230;overflow-y:auto;overflow-x:hidden;border:1px solid black;height:100px;font-family:Arial;font-size:9pt;background-color:white;z-index:12000;}.dhx_combo_list div{cursor:default;padding:2px 2px 2px 2px;}.dhx_selected_option{background-color:navy;color:white;}.dhx_combo_img_rtl{position:absolute;top:0;left:1px;width:17px;height:20px;}.dhx_combo_option_img_rtl{float:right;margin-right:0;width:18px;height:18px;}.dhx_combo_list_rtl{direction:rtl;unicode-bidi:bidi-override;position:absolute;z-index:230;overflow-y:auto;overflow-x:hidden;border:1px solid black;height:100px;font-family:Arial;font-size:9pt;background-color:white;}.dhx_combo_list_rtl div{direction:rtl;unicode-bidi:bidi-override;padding:2px 2px 2px 2px;}.dhx_combo_list_rtl div div{float:right!important;cursor:default;}.dhx_combo_list_rtl div img{float:right!important;}.dhx_combo_list_rtl div input{float:right!important;}.dhx_combo_box.dhx_skyblue{border:1px solid #a4bed4;}.dhx_combo_box.dhx_skyblue .dhx_combo_input{font-family:Tahoma;font-size:11px;padding:3px;}.dhx_combo_list.dhx_skyblue_list{background-color:#eaf2fb;border:1px solid #a4bed4;font-family:Tahoma;font-size:11px;}.dhx_combo_list.dhx_skyblue_list div{cursor:default;padding:3px 4px;}.dhx_combo_list_rtl.dhx_skyblue_list{background-color:#eaf2fb;border:1px solid #a4bed4;font-family:Tahoma;font-size:11px;}.combo_dhx_skyblue_sel{background-image:url('imgs/bg_selection.gif')!important;background-position:bottom;background-repeat:repeat-x;color:black;}.dhx_tooltip{display:none;position:absolute;font-family:Tahoma;font-size:8pt;z-index:10000;background-color:white;padding:2px 2px 2px 2px;border:1px solid #A4BED4;}.dhx_noselect{-moz-user-select:none;-moz-user-select:-moz-none;-khtml-user-select:none;}.dhx_allow_selection{-moz-user-select:text;-user-select:text;}.dhx_dataview{overflow-y:auto;overflow-x:hidden;-moz-user-select:none;-moz-user-select:-moz-none;-khtml-select:none;}.dhx_drag_zone{position:absolute;border:1px solid #A4BED4;z-index:8000;-moz-box-shadow:5px 5px 5px #888;-khtml-box-shadow:5px 5px 5px #888;}.dhx_dataview_default_item,.dhx_dataview_default_item_selected{cursor:pointer;background-color:white;}.dhx_dataview .dhx_dataview_default_item,.dhx_dataview .dhx_dataview_default_item_selected{border-right:1px solid #A4BED4;border-bottom:1px dotted #A4BED4;}.dhx_dataview_default_item_selected{background-color:#FFBE31;background-image:url(./imgs/dataview/selection_bg.png);background-repeat:repeat-x;}.dhx_dataview_item{font-family:Tahoma;font-size:8pt;color:#000;}.dhx_dataview_item .dhx_strong{font-weight:bold;display:block;padding-bottom:6px;}.dhx_dataview_default_item_selected .dhx_light{color:#C3C3C3;}.dhx_dataview_item .dhx_light{color:#919191;}.dhx_drag_over{background-color:#faf768;background-image:url('./imgs/marker.png');background-repeat:repeat-x;}.dhx_pager_item,.dhx_pager_item_selected{float:left;text-align:center;height:16px;font-family:Tahoma;font-size:10pt;border:1px solid gray;padding:2px 4px;margin-left:5px;cursor:pointer;background-color:white;}.dhx_pager_item_selected{background-color:lightgrey;color:white;cursor:default;font-weight:bold;}.dhxlist_obj_dhx_skyblue div.dhxlist_img{width:18px;height:18px;margin-left:5px;font-size:1px;-moz-user-select:-moz-none;}.dhxlist_obj_dhx_skyblue div.dhxlist_img.chbx0,.dhxlist_obj_dhx_skyblue div.dhxlist_img.chbx1,.dhxlist_obj_dhx_skyblue div.disabled div.dhxlist_img.chbx0,.dhxlist_obj_dhx_skyblue div.disabled div.dhxlist_img.chbx1,.dhxlist_obj_dhx_skyblue div.dhxlist_img.rdbt0,.dhxlist_obj_dhx_skyblue div.dhxlist_img.rdbt1,.dhxlist_obj_dhx_skyblue div.disabled div.dhxlist_img.rdbt0,.dhxlist_obj_dhx_skyblue div.disabled div.dhxlist_img.rdbt1{background-image:url('imgs//dhxform_dhx_skyblue/dhxform_chbxrd.gif');background-repeat:no-repeat;}.dhxlist_obj_dhx_skyblue div.dhxlist_img.chbx0{background-position:-18px 0;}.dhxlist_obj_dhx_skyblue div.dhxlist_img.chbx1{background-position:0 0;}.dhxlist_obj_dhx_skyblue div.disabled div.dhxlist_img.chbx0{background-position:-54px 0;}.dhxlist_obj_dhx_skyblue div.disabled div.dhxlist_img.chbx1{background-position:-36px 0;}.dhxlist_obj_dhx_skyblue div.dhxlist_img.rdbt0{background-position:-90px 0;}.dhxlist_obj_dhx_skyblue div.dhxlist_img.rdbt1{background-position:-72px 0;}.dhxlist_obj_dhx_skyblue div.disabled div.dhxlist_img.rdbt0{background-position:-126px 0;}.dhxlist_obj_dhx_skyblue div.disabled div.dhxlist_img.rdbt1{background-position:-108px 0;}.dhxlist_obj_dhx_skyblue div.dhxlist_txt{font-family:Tahoma;font-size:inherit;margin:2px 0 2px 5px;color:#000;overflow-x:hidden;-moz-user-select:none;overflow:hidden;white-space:nowrap;}.dhxlist_obj_dhx_skyblue .dhxlist_txt_label label{-moz-user-select:none;}.dhxlist_obj_dhx_skyblue div.disabled div.dhxlist_txt{color:#b2b2b2;}.dhxlist_obj_dhx_skyblue div.dhxlist_txt.align_left{text-align:left;}.dhxlist_obj_dhx_skyblue div.dhxlist_txt.align_center{text-align:center;}.dhxlist_obj_dhx_skyblue div.dhxlist_txt.align_right{text-align:right;}.dhxlist_obj_dhx_skyblue div.item_label_left{clear:both;margin-top:4px;}.dhxlist_obj_dhx_skyblue div.item_label_left div.dhxlist_img{display:inline-block;float:none;}.dhxlist_obj_dhx_skyblue div.item_label_left div.dhxlist_txt{display:inline-block;float:left;}.dhxlist_obj_dhx_skyblue div.item_label_right{clear:both;}.dhxlist_obj_dhx_skyblue div.item_label_right div.dhxlist_img{display:inline-block;float:left;}.dhxlist_obj_dhx_skyblue div.item_label_right div.dhxlist_txt{display:inline-block;float:left;}.dhxlist_obj_dhx_skyblue div.item_label_top div.dhxlist_img{float:none;}.dhxlist_obj_dhx_skyblue div.item_label_top div.dhxlist_txt{float:none;}.dhxlist_obj_dhx_skyblue div.item_absolute div.dhxlist_img{position:absolute;}.dhxlist_obj_dhx_skyblue div.item_absolute div.dhxlist_txt{position:absolute;}.dhxlist_obj_dhx_skyblue div.item_absolute{position:absolute;left:0;top:0;}.dhxlist_obj_dhx_skyblue div.dhxlist_txt_label{overflow:hidden;white-space:nowrap;font-family:Tahoma;font-size:inherit;color:#000;vertical-align:top;margin:2px 5px 2px 5px;cursor:default;}.dhxlist_obj_dhx_skyblue div.disabled div.dhxlist_txt_label{color:#b2b2b2;}.dhxlist_obj_dhx_skyblue div.dhxlist_txt_label.align_left{text-align:left;}.dhxlist_obj_dhx_skyblue div.dhxlist_txt_label.align_center{text-align:center;}.dhxlist_obj_dhx_skyblue div.dhxlist_txt_label.align_right{text-align:right;}.dhxlist_obj_dhx_skyblue .dhxlist_cont{margin-top:1px;margin-bottom:1px;}.dhxlist_obj_dhx_skyblue .dhxlist_txt_select{border:#a4bed4 1px solid;background-color:#fff;font-family:Tahoma;font-size:inherit;color:#000;margin:0;}.dhxlist_obj_dhx_skyblue div.disabled .dhxlist_txt_select{color:#b2b2b2;background-color:#fff;border:#c2d0dd 1px solid;}.dhxlist_obj_dhx_skyblue input.dhxlist_txt_textarea{padding:1px 0!important;margin:0;}.dhxlist_obj_dhx_skyblue .dhxlist_txt_textarea{border:#a4bed4 1px solid;font-family:Tahoma;font-size:inherit;color:#000;-moz-user-select:text;}.dhxlist_obj_dhx_skyblue div.disabled .dhxlist_txt_textarea{color:#b2b2b2;background-color:#fff;border:#c2d0dd 1px solid;}.dhxlist_obj_dhx_skyblue div.item_label_left div.dhxlist_cont{display:inline-block;float:none;}.dhxlist_obj_dhx_skyblue div.item_label_left div.dhxlist_txt_label{display:inline-block;float:left;}.dhxlist_obj_dhx_skyblue div.item_label_right div.dhxlist_cont{display:inline-block;float:left;}.dhxlist_obj_dhx_skyblue div.item_label_right div.dhxlist_txt_label{display:inline-block;float:none;}.dhxlist_obj_dhx_skyblue div.item_label_top div.dhxlist_cont{float:none;}.dhxlist_obj_dhx_skyblue div.item_label_top div.dhxlist_txt_label{float:none;}.dhxlist_obj_dhx_skyblue div.item_absolute div.dhxlist_cont{position:absolute;}.dhxlist_obj_dhx_skyblue div.item_absolute div.dhxlist_txt_label{position:absolute;}.dhxlist_obj_dhx_skyblue div.dhxlist_txt_label2{font-family:Tahoma;font-size:inherit;font-weight:bold;color:#256187;margin:5px 3px;}.dhxlist_obj_dhx_skyblue div.disabled div.dhxlist_txt_label2{color:#b2b8bc;}.dhxlist_obj_dhx_skyblue div.item_absolute div.dhxlist_txt_label2{position:absolute;}.dhxlist_obj_dhx_skyblue div.dhx_list_btn{font-size:inherit;font-family:Tahoma;height:21px;margin:0 2px;float:left;cursor:default;clear:both;-moz-user-select:none;}.dhxlist_obj_dhx_skyblue div.dhx_list_btn table{height:21px;font-size:inherit;}.dhxlist_obj_dhx_skyblue div.dhx_list_btn td{text-align:center;vertical-align:middle;}.dhxlist_obj_dhx_skyblue div.dhx_list_btn td.btn_l{background-image:url('imgs//dhxform_dhx_skyblue/dhxform_btns.gif');background-repeat:no-repeat;background-position:0 0;width:5px;height:21px;font-size:1px;}.dhxlist_obj_dhx_skyblue div.dhx_list_btn td.btn_l div.btn_l{width:5px;}.dhxlist_obj_dhx_skyblue div.disabled div.dhx_list_btn td.btn_l{background-position:0 -42px!important;}.dhxlist_obj_dhx_skyblue div.dhx_list_btn table.dhx_list_btn_over td.btn_l{background-position:0 -84px!important;}.dhxlist_obj_dhx_skyblue div.dhx_list_btn table.dhx_list_btn_pressed td.btn_l{background-position:0 -126px!important;}.dhxlist_obj_dhx_skyblue div.dhx_list_btn td.btn_m{background-image:url('imgs//dhxform_dhx_skyblue/dhxform_btns.gif');background-repeat:repeat-x;background-position:0 -21px;height:21px;}.dhxlist_obj_dhx_skyblue div.disabled div.dhx_list_btn td.btn_m{background-position:0 -63px!important;}.dhxlist_obj_dhx_skyblue div.dhx_list_btn table.dhx_list_btn_over td.btn_m,.dhxlist_obj_dhx_skyblue div.dhx_list_btn td.dhx_list_btn_over.btn_m{background-position:0 -105px!important;}.dhxlist_obj_dhx_skyblue div.dhx_list_btn table.dhx_list_btn_pressed td.btn_m,.dhxlist_obj_dhx_skyblue div.dhx_list_btn td.dhx_list_btn_pressed.btn_m{background-position:0 -147px!important;}.dhxlist_obj_dhx_skyblue div.dhx_list_btn td.btn_r{background-image:url('imgs//dhxform_dhx_skyblue/dhxform_btns.gif');background-repeat:no-repeat;background-position:-5px 0;width:5px;height:21px;font-size:1px;}.dhxlist_obj_dhx_skyblue div.dhx_list_btn td.btn_r div.btn_r{width:5px;}.dhxlist_obj_dhx_skyblue div.disabled div.dhx_list_btn td.btn_r{background-position:-5px -42px!important;}.dhxlist_obj_dhx_skyblue div.dhx_list_btn table.dhx_list_btn_over td.btn_r{background-position:-5px -84px!important;}.dhxlist_obj_dhx_skyblue div.dhx_list_btn table.dhx_list_btn_pressed td.btn_r{background-position:-5px -126px!important;}.dhxlist_obj_dhx_skyblue div.dhx_list_btn td.btn_m div.btn_txt{font-size:inherit;font-family:Tahoma;color:#000;padding:1px 20px;overflow:hidden;white-space:nowrap;}.dhxlist_obj_dhx_skyblue div.disabled div.dhx_list_btn td.btn_m div.btn_txt{color:#b2b2b2!important;}.dhxlist_obj_dhx_skyblue div.dhx_list_btn table.dhx_list_btn_pressed td.btn_m div.btn_txt{padding-top:2px!important;padding-bottom:0!important;}.dhxlist_obj_dhx_skyblue div.dhx_list_btn,.dhxlist_obj_dhx_skyblue div.dhx_list_btn:visited,.dhxlist_obj_dhx_skyblue div.dhx_list_btn:active,.dhxlist_obj_dhx_skyblue div.dhx_list_btn:hover{outline:none;text-decoration:none;color:inherit;cursor:default;}.dhxlist_obj_dhx_skyblue div.dhx_list_btn:focus{outline:#30678a 1px dotted;}.dhxlist_obj_dhx_skyblue div.item_absolute div.dhx_list_btn{position:absolute;}.dhxlist_obj_dhx_skyblue div.dhx_list_btn td.btn_m div.multibutton_txt{font-size:inherit;font-family:Tahoma;color:#000;height:21px;line-height:21px;vertical-align:middle;padding:0 20px;overflow:hidden;white-space:nowrap;}.dhxlist_obj_dhx_skyblue div.dhx_list_btn td.btn_m div.multibutton_txt:focus{outline:#30678a 1px dotted;}.dhxlist_obj_dhx_skyblue div.disabled div.dhx_list_btn td.dhx_list_btn_pressed.btn_m div.multibutton_txt{color:#b2b2b2!important;}.dhxlist_obj_dhx_skyblue div.dhx_list_btn td.dhx_list_btn_pressed.btn_m div.multibutton_txt .btn_txt2{padding-top:1px!important;}.dhxlist_obj_dhx_skyblue fieldset.dhxlist_fs{border:#a4bed4 1px solid;margin-top:5px;padding:5px;display:inline;}.dhxlist_obj_dhx_skyblue div.disabled fieldset.dhxlist_fs{border:#c2d0dd 1px solid;}.dhxlist_obj_dhx_skyblue fieldset.dhxlist_fs legend.fs_legend{font-family:Tahoma;color:#256187;font-size:inherit;font-weight:normal;padding:0 4px 1px 4px;text-align:left;}.dhxlist_obj_dhx_skyblue div.disabled fieldset.dhxlist_fs legend.fs_legend{color:#b2b2b2;}.dhxlist_obj_dhx_skyblue div.fs_item_label_left{clear:both;}.dhxlist_obj_dhx_skyblue div.fs_item_label_right{clear:both;}.dhxlist_obj_dhx_skyblue div.fs_item_absolute fieldset.dhxlist_fs{position:absolute;}.dhxlist_obj_dhx_skyblue div.block_item_label_left{clear:both;}.dhxlist_obj_dhx_skyblue div.block_item_label_right{clear:both;}.dhxlist_obj_dhx_skyblue div.block_item_absolute div.dhxlist_block{position:absolute;}.dhxlist_obj_dhx_skyblue_old{position:relative;background-color:#fff;-moz-user-select:-moz-none;}.dhxlist_obj_dhx_skyblue div.dhxlist_base{position:relative;float:left;}.dhxlist_obj_dhx_skyblue div.dhxlist_base_nested{padding:0 20px;clear:both;}.dhxlist_obj_dhx_skyblue div.dhxlist_base_nested.in_block{padding:0 0!important;}.dhxlist_obj_dhx_skyblue span.nav_link,.dhxlist_obj_dhx_skyblue span.nav_link:visited,.dhxlist_obj_dhx_skyblue span.nav_link:active,.dhxlist_obj_dhx_skyblue span.nav_link:hover{outline:none;text-decoration:none;color:inherit;cursor:default;}.dhxlist_obj_dhx_skyblue span.nav_link:focus{color:#30678a;}.dhxlist_obj_dhx_skyblue_old table.dhxlist_items_set{table-layout:fixed;cursor:default;width:100%;font-size:inherit;}.dhxlist_obj_dhx_skyblue_old div.button_container{position:absolute;height:50px;width:100%;bottom:0;}.dhxlist_obj_dhx_skyblue_old th.dhxlist_img_cell{width:26px;}.dhxlist_obj_dhx_skyblue_old th.dhxlist_tbl_head{height:0;margin:0;padding:0;}.dhxlist_obj_dhx_skyblue_old div.dhxlist_img_cell{display:inline-block;width:26px;vertical-align:top;-moz-user-select:-moz-none;}.dhxlist_obj_dhx_skyblue_old div.dhxlist_txt_cell{adisplay:inline-block;vertical-align:top;padding-right:5px;-moz-user-select:-moz-none;}.dhx_form_cover{position:absolute;width:100%;height:100%;background-color:silver;left:0;top:0;display:none;opacity:.2;-moz-opacity:.2;z-index:99999;filter:alpha(opacity=20);}input.dhtmlx_validation_error,select.dhtmlx_validation_error{background-color:#F29FB5;}.dhxlist_obj_dhx_skyblue_old div.dhxform_rtl,.dhxlist_obj_dhx_skyblue_old div.dhxform_rtl .dhxlist_txt_cell,.dhxlist_obj_dhx_skyblue_old div.dhxform_rtl .dhxlist_txt,.dhxlist_obj_dhx_skyblue_old div.dhxform_rtl table.dhxlist_items_set div.dhxlist_txt_label,.dhxlist_obj_dhx_skyblue_old div.dhxform_rtl table.dhxlist_items_set div.dhxlist_txt_label2,.dhxlist_obj_dhx_skyblue_old div.dhxform_rtl table.dhxlist_items_set .dhxlist_txt_select,.dhxlist_obj_dhx_skyblue_old div.dhxform_rtl table.dhxlist_items_set .dhxlist_txt_select option,.dhxlist_obj_dhx_skyblue_old div.dhxform_rtl table.dhxlist_items_set .dhxlist_txt_textarea,.dhxlist_obj_dhx_skyblue_old div.dhxform_rtl div.dhx_list_btn td.btn_m div.btn_txt{direction:rtl;unicode-bidi:bidi-override;}.dhxlist_obj_dhx_skyblue_old div.dhxform_rtl table.dhxlist_items_set div.dhxlist_img{margin-left:0;margin-right:5px;}.dhxlist_obj_dhx_skyblue_old div.dhxform_rtl td.dhxlist_txt_cell fieldset.dhxlist_fs legend.fs_legend{direction:rtl;unicode-bidi:bidi-override;text-align:right;}.dhxlist_obj_dhx_skyblue_old div.dhxform_rtl div.dhx_list_btn{float:right;}.dhxlist_obj_dhx_skyblue div.disabled .dhx_combo_box.dhx_skyblue{border:1px solid #c2d0dd;}.dhxlist_obj_dhx_skyblue div.disabled .dhx_combo_box.dhx_skyblue .dhx_combo_input{color:#b2b2b2;background-color:#fff;}.dhxlist_obj_dhx_skyblue div.dhxlist_item_template{overflow:hidden;white-space:nowrap;font-family:Tahoma;font-size:inherit;color:#000;vertical-align:top;margin:1px 3px;cursor:default;overflow:hidden;}.dhxlist_obj_dhx_skyblue div.disabled div.dhxlist_item_template{color:#b2b2b2;}.dhxlist_obj_dhx_skyblue div.dhxlist_item_template.dhxeditor_inside{border:1px solid #a4bed4;}.dhxlist_obj_dhx_skyblue div.disabled div.dhxlist_item_template.dhxeditor_inside{border:1px solid #c2d0dd;}.dhxlist_obj_dhx_skyblue div.dhxlist_item_template.dhxeditor_inside div.dhxcont_content_blocker{display:none;}.dhxlist_obj_dhx_skyblue div.disabled div.dhxlist_item_template.dhxeditor_inside div.dhxcont_content_blocker{display:inline;position:absolute;width:100%;height:100%;top:0;left:0;background-color:#fefefe;filter:alpha(opacity=70);-moz-opacity:.7;opacity:.7;}.dhxlist_obj_dhx_skyblue .validate_error .dhxlist_txt_label{color:red;}.dhxlist_obj_dhx_skyblue .validate_error .dhxlist_txt_textarea,.dhxlist_obj_dhx_skyblue .validate_error .dhxlist_txt_select{color:red;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_wins_body_inner .dhxlist_obj_dhx_skyblue{background-color:white;}div.dhtmlx_wins_body_inner .dhxlist_obj_dhx_skyblue div.dhxlist_base,td.dhtmlxLayoutSinglePoly .dhxlist_obj_dhx_skyblue div.dhxlist_base,.dhx_tabcontent_zone .dhxlist_obj_dhx_skyblue div.dhxlist_base,div.dhx_acc_item .dhxlist_obj_dhx_skyblue div.dhxlist_base{margin:10px;}div.dhtmlx_wins_body_inner .dhxlist_obj_dhx_skyblue div.dhxlist_base div.dhxlist_base,td.dhtmlxLayoutSinglePoly .dhxlist_obj_dhx_skyblue div.dhxlist_base div.dhxlist_base,.dhx_tabcontent_zone .dhxlist_obj_dhx_skyblue div.dhxlist_base div.dhxlist_base,div.dhx_acc_item .dhxlist_obj_dhx_skyblue div.dhxlist_base div.dhxlist_base{margin:0!important;}div.gridbox{overflow:hidden;text-align:left;}.dhx_sub_row{background-color:white;}div.gridbox .xhdr{background-color:#D4D0C8;}div.gridbox table.obj{height:1px;}div.gridbox table.hdr td{line-height:normal;font-family:arial;font-size:12px;background-Color:#D4D0C8;border:1px solid;border-color:white Gray Gray white;text-align:center;margin:0;padding:5px 0 5px 0;font-weight:normal;-moz-user-select:none;-moz-user-select:-moz-none;overflow:hidden;empty-cells:show;}div.gridbox table.hdr td div.hdrcell{overflow:hidden;}div.gridbox table.obj td{border:1px solid;border-color:white Gray Gray white;font-family:Arial;font-size:12px;-moz-user-select:none;-moz-user-select:-moz-none;overflow:hidden;padding-top:0;padding-bottom:0;empty-cells:show;}div.gridbox table.obj th,div.gridbox table.hdr th{padding:0;margin:0;}div.gridbox table.row20px tr td{height:20px;white-space:nowrap;padding:0;}div.gridbox .objbox{background-color:white;position:relative;}div.gridbox table.obj td span.space,div.gridbox table.obj td img.space{width:18px;}div.gridbox table.obj tr.rowselected td.cellselected,div.gridbox table.obj td.cellselected{background-color:#d8d8d8;color:black;}div.gridbox table.obj tr.rowselected td{background-color:#e1e0d7;color:black;}div.gridbox table.obj td.editable{-moz-user-select:text;}div.gridbox table.obj td.group_row{vertical-align:middle;font-family:Tahoma;font-size:10pt;font-weight:bold;height:30px;border:0;border-bottom:2px solid navy;}.dragSpanDiv{font-size:12px;border:1px gray solid;background-color:white;z-index:999;}.dhx_combo_select{font-family:arial;font-size:12px;border:1px solid;border-color:black silver silver black;background-color:white;overflow:hidden;cursor:default;position:absolute;height:auto;z-index:600;}.dhx_combo_edit{width:100%;border:0;padding:0;padding-right:1px!ie;margin:0;font:12px arial;overflow:hidden;}.dhx_textarea{border:1px solid;border-color:black silver silver black;position:absolute;height:100px;z-index:600;}.dhx_clist{background-color:white;border:1px solid black;padding:2px 2px 2px 2px;z-index:300;}.gridDragLine{position:absolute;top:10px;left:0;width:100%;height:2px;background-color:black;overflow:hidden;}div.pagingBlock{font-size:12px;font-family:verdana,arial;}div.pagingBlock .pagingCurrentPage{font-weight:bold;cursor:default;}div.pagingBlock .pagingPage{cursor:pointer;text-decoration:underline;}span.recordsInfoBlock{font-size:12px;font-family:verdana,arial;}div.pagingBlock a{text-decoration:none;padding-right:2px;color:black;cursor:pointer;}div.pagingBlock a.dhx_not_active{text-decoration:none;cursor:default;}.toolbar_select{font-size:10px;}.dhtmlxGrid_selection{-moz-opacity:.5;filter:alpha(opacity = 50);background-color:yellow;opacity:.5;border:1px dotted black;}div.gridbox_xp{border:1px solid lightgrey;}div.gridbox_xp .xhdr{background-image:url('imgs/header_bg_60.gif');}div.gridbox_xp table.hdr td{color:#616161;background-image:url('imgs/header_bg_60.gif');border:0;text-align:center;margin:0;padding:5px 0 5px 0;font-weight:bold;-moz-user-select:none;-moz-user-select:-moz-none;overflow:hidden;}div.gridbox_xp table.hdr td div.hdrcell{border-left:1px solid white;border-right:1px solid gray;height:16px;white-space:nowrap;font-family:Arial;font-size:12px;}div.gridbox_xp table.obj td{border:0;border-bottom:1px solid lightgrey;border-right:1px solid lightgrey;font-family:Arial;font-size:12px;-moz-user-select:none;-moz-user-select:-moz-none;overflow:hidden;padding-top:0;padding-bottom:0;}div.gridbox_xp table.obj tr.rowselected td{background-color:whitesmoke;color:black;}div.gridbox_xp table.obj tr.rowselected td.cellselected,div.gridbox_xp table.obj td.cellselected{background-color:whitesmoke;}div.gridbox_xp table.row20px tr td{height:22px;white-space:nowrap;padding:1px;}div.gridbox_gray{border:1px solid gray;background-color:#D4D0C8;}div.gridbox_mt{border:1px solid lightgrey;}div.gridbox_mt .dhx_sub_row{background-color:transparent;}div.gridbox_mt .xhdr{background-image:url('imgs/header_bg.gif');}div.gridbox_mt .xhdr_last{border:0;border-bottom:1px solid lightgrey;border-left:1px solid lightgrey;}div.gridbox_mt table.hdr td{color:#616161;border:0;border-bottom:1px solid lightgrey;border-left:1px solid lightgrey;text-align:center;margin:0;background-image:url('imgs/header_bg.gif');padding:0;-moz-user-select:none;-moz-user-select:-moz-none;overflow:hidden;}div.gridbox_mt table.hdr td div.hdrcell{height:16px;white-space:nowrap;font-family:Verdana;font-size:12px;}div.gridbox_mt table.obj td{border:0;border-bottom:1px solid lightgrey;border-right:0 solid lightgrey;font-family:Verdana;font-size:12px;-moz-user-select:none;-moz-user-select:-moz-none;overflow:hidden;padding-top:0;padding-bottom:0;}div.gridbox_mt table.obj tr.rowselected td{background-color:#D6D3FA;color:black;}div.gridbox_mt table.obj tr.rowselected td.cellselected,div.gridbox_mt table.obj td.cellselected{background-color:#D6D3FA;}div.gridbox_mt table.row20px tr td{height:22px;white-space:nowrap;padding:1px;}div.gridbox div.ftr{position:absolute;left:0;bottom:1px;width:100%;overflow:hidden;}div.gridbox div.ftr td{padding:0;padding-left:10px;padding-right:5px;border-top:1px solid gray;border-right:1px solid gray;background-color:#ffc;font-style:italic;font-family:arial;font-size:12px;overflow:hidden;}div.gridbox table.hdr td.columnTargetR div.hdrcell{border-right:3px double #F60;border-left:3px solid #D4D0C8;}div.gridbox table.hdr td.columnTargetL div.hdrcell{border-right:3px solid #D4D0C8;border-left:3px double #F60;}.dhx_dragColDiv{font-family:Arial;font-size:12px;background-color:#D4D0C8;border:1px solid;border-color:white Gray Gray white;text-align:center;margin:0;padding:5px 20px 5px 20px;font-weight:normal;filter:alpha(opacity:75);-moz-opacity:.75;opacity:.75;}div.gridbox_light{border:1px solid #c2d5dc;}div.gridbox_light .xhdr{background-image:url(imgs/skin_light_header.png);}div.gridbox_light .xhdr_last{border:1px solid;border-color:#FDFDFD #93AFBA #93AFBA #FDFDFD;}div.gridbox_light table.hdr{background-image:url(imgs/skin_light_header.png);}div.gridbox_light table.hdr td{border:1px solid;border-color:#FDFDFD #93AFBA #93AFBA #FDFDFD;background-color:transparent;font-family:Tahoma;font-size:11px;font-weight:bold;color:#055A78;vertical-align:top;text-align:left;}div.gridbox_light table.hdr td div.hdrcell{width:auto;padding-left:10px;}div.gridbox_light table.hdr .filter{padding-left:0!important;text-align:center;-moz-user-select:text;}div.gridbox_light table.obj td{border-width:0 1px 0 1px;border-left:1px solid white;border-right:1px solid #D6D6D6;font-family:Tahoma;font-size:11px;padding-right:4px;padding-left:4px;}div.gridbox_light table.obj{border-bottom:1px solid #D6D6D6;}div.gridbox_light table.row20px tr td{padding-right:4px;padding-left:4px;}div.gridbox_light .dhx_combo_edit{font-family:Tahoma;font-size:11px;}div.gridbox_light table.obj tr.rowselected td{background-color:#ededed;color:black;}div.gridbox_light table.obj tr.rowselected td.cellselected,div.gridbox_light table.obj td.cellselected{background-color:#ededed;}div.gridbox_light .odd_light{background-color:#E5F2F8;}div.gridbox_light div.ftr td{empty-cells:show;}div.gridbox_modern{border:1px solid #D6D6D6;}div.gridbox_modern .dhx_sub_row{background-color:transparent;}div.gridbox_modern .xhdr{background-image:url(imgs/skin_modern_header.png);}div.gridbox_modern .xhdr_last{border:1px solid;border-color:#FDFDFD #B5B5B5 #B5B5B5 #FDFDFD;}div.gridbox_modern table.hdr{background-image:url(imgs/skin_modern_header.png);}div.gridbox_modern table.hdr td{border-right:1px solid #B5B5B5;border-left:1px solid #FDFDFD;border-top:1px solid #FDFDFD;border-bottom:1px solid #B5B5B5;background-color:transparent;font-family:Tahoma;font-size:11px;font-weight:bold;color:#055A78;vertical-align:top;text-align:left;}div.gridbox_modern table.hdr td div.hdrcell{width:auto;padding-left:10px;}div.gridbox_modern table.hdr .filter{padding-left:0!important;text-align:center;}div.gridbox_modern table.obj td{border:0 solid;font-family:Tahoma;font-size:11px;padding-right:4px;padding-left:4px;}div.gridbox_modern table.row20px tr td{padding-right:4px;padding-left:4px;}div.gridbox_modern .dhx_combo_edit{font-family:Tahoma;font-size:11px;}div.gridbox_modern table.obj tr.rowselected td{background-color:#9ac2e5;color:black;}div.gridbox_modern table.obj tr.rowselected td.cellselected,div.gridbox_modern table.obj td.cellselected{background-color:#9ac2e5;}div.gridbox_modern .odd_modern{background-color:#EDEDED;}div.gridbox_modern div.ftr td{padding:0;padding-left:10px;padding-right:5px;border-top:0 solid gray;border-right:0 solid gray;background-color:#ffc;font-style:italic;font-family:arial;font-size:12px;}div.gridbox_clear .xhdr{background-color:transparent;}div.gridbox_clear div.topMumba{position:absolute;left:0;width:100%;height:3px;background-image:url(imgs/skinC_header.png);overflow:hidden;padding:0;margin:0;}div.gridbox_clear div.bottomMumba{position:absolute;left:0;width:100%;height:3px;background-image:url(imgs/skinD_header.png);overflow:hidden;}div.gridbox_clear div.bottomMumba img,div.gridbox_clear div.topMumba img{border:0;position:absolute;top:0;}div.gridbox_clear{padding-left:10px;padding-right:10px;}div.gridbox_clear table.hdr td{border:0;background-color:transparent;font-family:Tahoma;font-size:11px;font-weight:bold;color:#055A78;vertical-align:top;text-align:left;}div.gridbox_clear table.hdr td div.hdrcell{width:auto;padding-left:10px;padding-bottom:2px;}div.gridbox_clear table.hdr .filter{padding-left:0!important;text-align:center;}div.gridbox_clear table.obj td{border-width:0 1px 0 0;border-color:#D6D6D6;font-family:Tahoma;font-size:11px;padding-right:4px;padding-left:4px;}div.gridbox_clear table.row20px tr td{padding-right:4px;padding-left:4px;}div.gridbox_clear .dhx_combo_edit{font-family:Tahoma;font-size:11px;}div.gridbox_clear .odd_clear{background-color:#E5F2F8;}div.gridbox_clear div.ftr td{padding:0;padding-left:10px;padding-right:5px;border-top:1px solid gray;border-right:0 solid gray;background-color:#ffc;font-style:italic;font-family:arial;font-size:12px;}div.gridbox_sbdark .objbox{background:#313131!important;}div.gridbox_sbdark .xhdr{background-color:#313131;}div.gridbox_sbdark .xhdr_last{border:1px solid;border-color:#474948 #202220 #202220 #202220;}div.gridbox_sbdark{background:#313131!important;}div.gridbox_sbdark table{border-collapse:collapse;}div.gridbox_sbdark table.hdr tr{border-top:1px solid #202220;}div.gridbox_sbdark table.hdr,div.gridbox_sbdark table.hdr td{border-right:1px solid #202220;border-left:1px solid #202220;border-top:1px solid #474948;border-bottom:1px solid #202220;background-color:#313131;font-size:11px;color:#8A8F84;vertical-align:top;text-align:left;padding:2px 5px;}div.gridbox_sbdark .hdrcell{padding-left:0!important;font-family:'Lucida Sans Unicode','Tahoma';}div.gridbox_sbdark table.hdr td div.hdrcell{width:auto;padding-left:10px;}div.gridbox_sbdark table.obj td{border-width:0 1px 0 1px;border-left:1px solid #202220;border-right:1px solid #EDF3F0;font-family:'Consolas','Lucida Sans Unicode','Tahoma';font-size:11px;}div.gridbox_sbdark table.row20px tr td{padding:0 5px!important;text-indent:1px;}div.gridbox_sbdark .dhx_combo_edit{font-family:'Lucida Sans Unicode','Tahoma';font-size:11px;}div.gridbox_sbdark table.obj tr.rowselected td,div.gridbox_sbdark table.obj tr:hover,div.gridbox_sbdark .odd_light:hover{background-color:#8A8F84;color:white!important;}div.gridbox_sbdark table.obj tr.rowselected td.cellselected,div.gridbox_sbdark table.obj td.cellselected{background-color:#8A8F84;}div.gridbox_sbdark .cellselected{background-color:#6e6f64!important;}div.gridbox_sbdark .ev_sbdark{background-color:#FFF;}div.gridbox_sbdark .odd_sbdark{background-color:#EDF3F0;}.dhtmlx_live_validation_error{background-color:#FFE0E0!important;}.dhtmlx_validation_error{border-bottom:2px solid red!important;}.dhx_header_cmenu{background-color:#fff;border:2px outset silver;z-index:2;}.dhx_header_cmenu_item{white-space:nowrap;}div.gridbox_dhx_skyblue div.ftr td{text-align:right;background-image:url(./imgs/sky_blue_grid.gif);border-color:#A4BED4;}div.dhtmlxLayoutObject{position:absolute;overflow:hidden;width:100%;height:100%;}.dhxCursorWResize{cursor:w-resize;}.dhxCursorNResize{cursor:n-resize;}div.dhxcont_global_layout_area{position:absolute;left:0;top:0;overflow:hidden;}div.dhxcont_content_blocker{position:absolute;left:0;top:0;width:101%;height:101%;filter:alpha(opacity=0);-moz-opacity:0;opacity:0;background:#FFF;z-index:1;-moz-user-select:none;}div.dhxlayout_skin_detect{position:absolute;height:1px;margin:0;padding:0;}.dhtmlxSlider{position:relative;overflow:hidden;height:14px;left:10px;}.dhtmlxSlider .selector{position:absolute;overflow:hidden;height:100%;width:31px;left:5px;}.dhtmlxSlider .leftSide{position:absolute;left:0;top:0;width:3px;height:100%;}.dhtmlxSlider .leftZone{position:absolute;top:0;left:3px;height:100%;}.dhtmlxSlider .rightSide{position:absolute;right:0;top:0;width:3px;height:100%;}.dhtmlxSlider .rightZone{position:absolute;left:3px;top:0;height:100%;}.dhtmlxSlider_ball{position:relative;overflow:hidden;height:16px;left:10px;}.dhtmlxSlider_ball .selector{position:absolute;overflow:hidden;height:100%;width:16px;left:5px;}.dhtmlxSlider_ball .leftSide{position:absolute;left:0;top:0;width:3px;height:100%;}.dhtmlxSlider_ball .leftZone{position:absolute;top:0;left:3px;height:100%;}.dhtmlxSlider_ball .rightSide{position:absolute;right:0;top:0;width:4px;height:100%;}.dhtmlxSlider_ball .rightZone{position:absolute;left:3px;top:0;height:100%;}.dhtmlxSlider_zipper{position:relative;overflow:hidden;height:17px;left:10px;}.dhtmlxSlider_zipper .selector{position:absolute;overflow:hidden;height:100%;width:17px;left:0;}.dhtmlxSlider_zipper .leftSide{position:absolute;left:0;top:0;width:3px;height:100%;}.dhtmlxSlider_zipper .leftZone{position:absolute;top:0;left:0;height:100%;}.dhtmlxSlider_zipper .rightSide{position:absolute;right:0;top:0;width:4px;height:100%;}.dhtmlxSlider_zipper .rightZone{position:absolute;left:3px;top:0;height:100%;}.dhtmlxSlider_simplesilver{position:relative;overflow:hidden;height:16px;left:10px;}.dhtmlxSlider_simplesilver .selector{position:absolute;overflow:hidden;height:100%;width:15px;left:0;}.dhtmlxSlider_simplesilver .leftSide{position:absolute;left:0;top:0;width:1px;height:100%;}.dhtmlxSlider_simplesilver .leftZone{position:absolute;top:0;left:1px;height:100%;}.dhtmlxSlider_simplesilver .rightSide{position:absolute;right:0;top:0;width:1px;height:100%;}.dhtmlxSlider_simplesilver .rightZone{position:absolute;left:3px;top:0;height:100%;}.dhtmlxSlider_simplegray{position:relative;overflow:hidden;height:16px;left:10px;}.dhtmlxSlider_simplegray .selector{position:absolute;overflow:hidden;height:100%;width:15px;left:0;}.dhtmlxSlider_simplegray .leftSide{position:absolute;left:0;top:0;width:1px;height:100%;}.dhtmlxSlider_simplegray .leftZone{position:absolute;top:0;left:1px;height:100%;}.dhtmlxSlider_simplegray .rightSide{position:absolute;right:0;top:0;width:1px;height:100%;}.dhtmlxSlider_simplegray .rightZone{position:absolute;left:3px;top:0;height:100%;}.dhtmlxSlider_bar{position:relative;overflow:hidden;height:21px;left:10px;}.dhtmlxSlider_bar .selector{position:absolute;overflow:hidden;height:100%;width:15px;left:17px;}.dhtmlxSlider_bar .leftSide{position:absolute;left:0;top:0;width:17px;height:100%;}.dhtmlxSlider_bar .leftZone{position:absolute;top:0;left:1px;height:100%;}.dhtmlxSlider_bar .rightSide{position:absolute;right:0;top:0;width:17px;height:100%;}.dhtmlxSlider_bar .rightZone{position:absolute;left:3px;top:0;height:100%;}.dhtmlxSlider_arrow{position:relative;overflow:hidden;height:14px;left:10px;}.dhtmlxSlider_arrow .selector{position:absolute;overflow:hidden;height:100%;width:7px;left:1px;}.dhtmlxSlider_arrow .leftSide{position:absolute;left:0;top:0;width:1px;height:100%;}.dhtmlxSlider_arrow .leftZone{position:absolute;top:0;left:1px;height:100%;}.dhtmlxSlider_arrow .rightSide{position:absolute;right:0;top:0;width:1px;height:100%;}.dhtmlxSlider_arrow .rightZone{position:absolute;left:1px;top:0;height:100%;}.dhtmlxSlider_arrowgreen{position:relative;overflow:hidden;height:21px;left:10px;}.dhtmlxSlider_arrowgreen .selector{position:absolute;overflow:hidden;height:100%;width:11px;left:1px;}.dhtmlxSlider_arrowgreen .leftSide{position:absolute;left:0;top:0;width:1px;height:100%;}.dhtmlxSlider_arrowgreen .leftZone{position:absolute;top:0;left:1px;height:100%;}.dhtmlxSlider_arrowgreen .rightSide{position:absolute;right:0;top:0;width:1px;height:100%;}.dhtmlxSlider_arrowgreen .rightZone{position:absolute;left:1px;top:0;height:100%;}.dhtmlxSlider_dhx_skyblue{position:relative;overflow:hidden;height:15px;left:10px;}.dhtmlxSlider_dhx_skyblue .selector{position:absolute;overflow:hidden;height:15px;width:15px;left:0;}.dhtmlxSlider_dhx_skyblue .leftSide{position:absolute;left:0;top:0;width:0;height:100%;}.dhtmlxSlider_dhx_skyblue .leftZone{position:absolute;top:0;left:0;height:100%;}.dhtmlxSlider_dhx_skyblue .rightSide{position:absolute;right:0;top:0;width:0;height:100%;}.dhtmlxSlider_dhx_skyblue .rightZone{position:absolute;left:3px;top:0;height:100%;}.dhx_tabbar_zone_top{position:relative;}.dhx_tabbar_zone,.dhx_tabbar_zoneB,.dhx_tabbar_zoneV,.dhx_tabbar_zoneVB{position:relative;width:100%;height:100%;overflow:hidden;z-index:1;}.dhx_tablist_line{height:1px;width:1px;background-color:#91A7B4;position:absolute;overflow:hidden;}.dhx_tabbar_row,.dhx_tablist_zone,.dhx_tabcontent_zone,.dhx_tab_element{width:100%;height:100%;overflow:hidden;position:absolute;}.dhx_tablist_zone{z-index:3;overflow:hidden;}.dhx_tabcontent_zone{border:1px solid #91A7B4;z-index:2;}.dhx_tabbar_zone_top .dhx_tab_element{padding-top:3px;}.dhx_tab_element span{white-space:nowrap;}.dhx_tab_element{cursor:pointer;text-align:center;font-family:Tahoma;font-size:8pt;background-color:white;}.dhx_tabbar_zoneV .dhx_tab_element{padding:0 0 0 3px;text-align:left;}.dhx_tabbar_zoneVB .dhx_tab_element{padding:0 3px 0 0;text-align:right;}.dhx_tab_element div{height:40px;width:40px;position:absolute;overflow:hidden;}.dhx_tab_element span{position:relative;z-index:10;}.dhx_tabbar_zone_dhx_blue .dhx_tablist_line{background-color:#C2D5DC;}.dhx_tabbar_zone_dhx_blue .dhx_tabcontent_zone{border-color:#D2E3EA;}.dhx_tabbar_zone_dhx_blue .dhx_tab_element{color:#069;}.dhx_tab_element_active{font-weight:bold;}.dhx_tabbar_zone_dark_blue .dhx_tab_element,.dhx_tabbar_zone_dhx_black .dhx_tab_element{color:white;}.dhx_tabbar_zone_dhx_black .dhx_tablist_line{background-color:#626262;}.dhx_tabbar_zone_dhx_black .dhx_tabcontent_zone{border-color:#333;}.dhx_tabbar_zone_dhx_web .dhx_tabbar_row{background-color:#646464;}.dhx_tabbar_zone_dhx_web .dhx_tab_element span{top:4px;font-weight:normal!important;font-size:12px;}.dhx_tabbar_zone_dhx_web .dhx_tablist_line{display:none;}.dhx_tabbar_zone_dhx_web .dhx_tabcontent_zone{background-color:#646464!important;border:none!important;}.dhx_tabbar_zone_dhx_skyblue .dhx_tabbar_row{background-image:url(./imgs/dhx_skyblue/bg_top.png);border-right:1px solid #B6CBDD;border-left:1px solid #B6CBDD;}.dhx_tabbar_zone_dhx_blue .dhx_tabbar_row{background-color:#D2E3EA;}.dhx_tabbar_zone_dhx_black .dhx_tabbar_row{background-color:black;}.dhx_tabbar_zone_dhx_skyblue .dhx_tabbar_lineA{position:absolute;left:0;width:1px;height:3px;background-color:white;z-index:999;border-left:1px solid #A4BED4;border-right:1px solid #A4BED4;overflow:hidden;}.dhx_tabbar_zone_dhx_skyblue .dhx_tabbar_lineB{position:absolute;left:2px;width:100px;height:3px;background-color:#D0E5FF;z-index:999;overflow:hidden;}.dhx_tabbar_zone_dhx_skyblue .dhx_tabbar_lineC{position:absolute;right:0;width:1px;height:21px;background-color:white;z-index:999;overflow:hidden;border-right:1px solid #A4BED4;}.dhx_tabbar_zone_dhx_skyblue .dhx_tabbar_lineD{position:absolute;left:1px;width:1px;height:21px;background-color:white;z-index:999;overflow:hidden;}.dhx_tabbar_zone_top .dhx_tabbar_zone_dhx_skyblue .dhx_tabbar_lineD{top:1px;}.dhx_tabbar_zone_top .dhx_tabbar_zone_dhx_skyblue .dhx_tabbar_lineC{top:1px;}.dhx_tabbar_zone_bottom .dhx_tabbar_zone_dhx_skyblue .dhx_tabbar_lineD{bottom:1px;}.dhx_tabbar_zone_bottom .dhx_tabbar_zone_dhx_skyblue .dhx_tabbar_lineC{bottom:1px;}.dhx_tabbar_zone_bottom .dhx_tabbar_zone_dhx_skyblue .dhx_tabbar_row{background-image:url(./imgs/dhx_skyblue/bg_bottom.png);background-position:bottom;}.dhx_tabbar_zone_bottom .dhx_tabbar_zone_dhx_skyblue .dhx_tablist_line{border-width:0 1px 1px 0;}.dhx_tabbar_zone_bottom .dhx_tab_element span{padding-top:5px;display:block;}.dhx_tabbar_zone_left .dhx_tabbar_zone_dhx_skyblue .dhx_tabbar_lineB{width:3px;left:auto;top:2px;}.dhx_tabbar_zone_left .dhx_tabbar_zone_dhx_skyblue .dhx_tabbar_lineA{width:3px;border:1px solid #A4BED4;border-width:1px 0 1px 0;}.dhx_tabbar_zone_left .dhx_tabbar_zone_dhx_skyblue .dhx_tabbar_lineD{height:1px;width:21px;right:auto;bottom:0;left:1px;border:1px solid #A4BED4;border-width:0 0 1px 0;}.dhx_tabbar_zone_left .dhx_tabbar_zone_dhx_skyblue .dhx_tabbar_lineC{height:1px;width:21px;right:auto;top:1px;left:1px;}.dhx_tabbar_zone_left .dhx_tabbar_zone_dhx_skyblue .dhx_tabbar_row{background-image:url(./imgs/dhx_skyblue/bg_left.png);border:1px solid #B6CBDD;border-width:1px 0 1px 0;}.dhx_tabbar_zone_left .dhx_tabbar_zone_dhx_skyblue .dhx_tablist_line{border-width:0 0 1px 1px;width:2px!ie;}.dhx_tabbar_zone_left .dhx_tabbar_zone_dhx_skyblue .dhx_tab_element{padding-top:0;}.dhx_tabbar_zone_left .dhx_tabbar_zone_dhx_skyblue .dhx_tab_element span{padding-top:5px;display:block;}.dhx_tabbar_zone_right .dhx_tabbar_zone_dhx_skyblue .dhx_tabbar_lineA{left:auto;width:3px;border:1px solid #A4BED4;border-width:1px 0 1px 0;}.dhx_tabbar_zone_right .dhx_tabbar_zone_dhx_skyblue .dhx_tabbar_lineB{width:3px;left:auto;top:2px;}.dhx_tabbar_zone_right .dhx_tabbar_zone_dhx_skyblue .dhx_tabbar_lineD{height:1px;width:21px;left:auto;bottom:0;right:1px;border:1px solid #A4BED4;border-width:0 0 1px 0;}.dhx_tabbar_zone_right .dhx_tabbar_zone_dhx_skyblue .dhx_tabbar_lineC{height:1px;width:21px;left:auto;top:1px;right:0;}.dhx_tabbar_zone_right .dhx_tabbar_zone_dhx_skyblue .dhx_tabbar_row{background-image:url(./imgs/dhx_skyblue/bg_right.png);background-position:right;border:1px solid #B6CBDD;border-width:1px 0 1px 0;}.dhx_tabbar_zone_right .dhx_tabbar_zone_dhx_skyblue .dhx_tablist_line{border-width:0 1px 1px 0;width:2px!ie;}.dhx_tabbar_zone_right .dhx_tabbar_zone_dhx_skyblue .dhx_tab_element{padding-top:0;}.dhx_tabbar_zone_right .dhx_tabbar_zone_dhx_skyblue .dhx_tab_element span{padding-top:5px;display:block;}.dhx_tabbar_zone_dhx_skyblue .dhx_tablist_line{height:3px;border:1px solid #A4BED4;background-color:white;border-width:1px 1px 0 0;}.dhx_tabbar_zone_dhx_skyblue .dhx_tabcontent_zone{border-color:#A4BED4;}div.dhxcont_main_content{position:relative;left:0;top:0;overflow:hidden;}div.dhxcont_content_blocker{position:absolute;left:0;top:0;width:101%;height:101%;filter:alpha(opacity=0);-moz-opacity:0;opacity:0;background:#FFF;z-index:1;-moz-user-select:none;}div.dhx_tabbar_zone_dhx_skyblue div.dhxcont_sb_container{position:relative;height:24px;}div.dhx_tabbar_zone_dhx_skyblue div.dhxcont_sb_container div.dhxcont_statusbar{background-image:url('./imgs/dhx_skyblue/dhxlayout_bg_sb.gif');position:relative;top:2px;height:22px;line-height:22px;background-repeat:repeat-x;width:auto;padding:0 4px;overflow:hidden;white-space:nowrap;border-top:none;border-bottom:none;border-left:#a4bed4 0 solid;border-right:#a4bed4 0 solid;font-family:Tahoma;font-size:11px;vertical-align:middle;color:#000;}div.dhx_tabbar_zone_dhx_web div.dhxcont_sb_container{position:relative;height:41px;}div.dhx_tabbar_zone_dhx_web div.dhxcont_sb_container div.dhxcont_statusbar{position:relative;top:9px;height:32px;line-height:32px;background-color:#ececec;width:auto;padding:0 12px;overflow:hidden;white-space:nowrap;font-family:'Trebuchet MS';font-size:14px;vertical-align:middle;color:#666;}.dhx_tabbar_zone_dhx_web div.dhxcont_global_content_area{position:absolute;overflow:hidden;background-color:#FFF;}.dhx_tabbar_zone_dhx_web div.dhxcont_global_content_area.dhxcont_tabbar_dhx_web{border:white 8px solid;}.defaultTreeTable{margin:0;padding:0;border:0;}.containerTableStyle{overflow:auto;position:relative;top:0;font-size:12px;-khtml-user-select:none;}.containerTableStyleRTL span{direction:rtl;unicode-bidi:bidi-override;}.containerTableStyleRTL{direction:rtl;overflow:auto;position:relative;top:0;font-size:12px;}.standartTreeRow{font-family:Verdana,Geneva,Arial,Helvetica,sans-serif;font-size:12px;-moz-user-select:none;}.selectedTreeRow{background-color:navy;color:white;font-family:Verdana,Geneva,Arial,Helvetica,sans-serif;font-size:12px;-moz-user-select:none;}.dragAndDropRow{background-color:navy;color:white;}.standartTreeRow_lor{text-decoration:underline;background-color:#FFFFF0;font-family:Verdana,Geneva,Arial,Helvetica,sans-serif;font-size:12px;-moz-user-select:none;}.selectedTreeRow_lor{text-decoration:underline;background-color:navy;color:white;font-family:Verdana,Geneva,Arial,Helvetica,sans-serif;font-size:12px;-moz-user-select:none;}.standartTreeImage{width:18px;height:18px;overflow:hidden;border:0;padding:0;margin:0;font-size:1px;}.hiddenRow{width:1px;overflow:hidden;}.dragSpanDiv,.dragSpanDiv td{font-size:12px;background-color:white;z-index:999;}.a_dhx_hidden_input{position:absolute;top:-1px;left:-1px;width:1px;height:1px;border:none;background:none;}.a_dhx_hidden_input{position:absolute;top:-1px;left:-1px;width:1px;height:1px;border:none;background:none;}.selectionBox{background-color:#FFC;}.selectionBar{top:0;background-color:Black;position:absolute;overflow:hidden;height:2px;z-index:11;}.intreeeditRow{font-size:8pt;height:16px;border:1px solid silver;padding:0;margin:0;margin-left:4px;-moz-user-select:text;-khtml-user-select:text;}.dhx_tree_textSign{font-size:8pt;font-family:monospace;width:21px;color:black;padding:0;margin:0;cursor:pointer;text-align:center;}.dhx_tree_opacity{opacity:0;-moz-opacity:0;filter:alpha(opacity=0);}.dhx_bg_img_fix{width:18px;height:18px;background-repeat:no-repeat;background-position:center;background-position-x:center;background-position-y:center;}.dhxtree_dhx_black,.dhxtree_dhx_skyblue{background:white;color:black;}*html .dhxtree_dhx_skyblue .standartTreeRow,*html .dhxtree_dhx_skyblue .standartTreeRow_lor{border-right:0 solid red;border-left:0 solid red;}*html .dhxtree_dhx_skyblue span.standartTreeRow,*html .dhxtree_dhx_skyblue span.standartTreeRow_lor{margin-left:1px;}.dhxtree_dhx_skyblue .standartTreeRow,.dhxtree_dhx_skyblue .standartTreeRow_lor{border-right:1px solid transparent;border-left:1px solid transparent;font-family:Tahoma;font-size:11px!important;overflow:hidden;padding:0;}.dhxtree_dhx_skyblue .selectedTreeRow_lor,.dhxtree_dhx_skyblue .selectedTreeRow{background-color:white;background-image:url(imgs/sky_blue_sel_tree.png);background-repeat:repeat-x;border:1px solid #FFB951;color:black;line-height:17px;font-size:11px!important;font-family:Tahoma;overflow:hidden;}html>body .dhxtree_dhx_skyblue .selectedTreeRow,html>body .dhxtree_dhx_skyblue .selectedTreeRow_lor{padding:1px 0 1px 0;line-height:normal;display:inline-block!ie;height:13px;}body:nth-of-type(1) .dhxtree_dhx_skyblue span.selectedTreeRow,body:nth-of-type(1) .dhxtree_dhx_skyblue span.selectedTreeRow_lor{padding:1px 0 1px 0;display:inline-block;padding-top:0;height:13px;}body:nth-of-type(1) .dhxtree_dhx_skyblue span.standartTreeRow,body:nth-of-type(1) .dhxtree_dhx_skyblue span.standartTreeRow_lor{display:inline-block;height:14px;}.dhxtree_dhx_web .selectedTreeRow_lor,.dhxtree_dhx_web .selectedTreeRow{background-color:transparent;}.dhxtree_dhx_web span.selectedTreeRow_lor,.dhxtree_dhx_web span.selectedTreeRow{background-color:#ACDAF0;color:black;}.dhxtree_dhx_web td.standartTreeRow,.dhxtree_dhx_web td.selectedTreeRow{padding-left:2px;}.dhxtree_dhx_web span.standartTreeRow,.dhxtree_dhx_web span.selectedTreeRow{padding-left:3px!important;}.dhxtree_dhx_web .standartTreeRow,.dhxtree_dhx_web .standartTreeRow,.dhxtree_dhx_web .selectedTreeRow_lor,.dhxtree_dhx_web .selectedTreeRow{font-size:12px;font-family:Tahoma;overflow:hidden;}div.dhtmlx_winviewport{position:absolute;overflow:hidden;}div.dhtmlx_window_active{position:absolute;overflow:hidden;}div.dhtmlx_window_inactive{position:absolute;overflow:hidden;}div.dhx_content_cover_blocker{position:absolute;width:100%;height:100%;top:0;left:0;filter:alpha(opacity=0);-moz-opacity:0;opacity:0;background:#FFF;}iframe.dhx_modal_cover_ifr{position:absolute;left:0;top:0;width:100%;height:100%;filter:alpha(opacity=0);-moz-opacity:0;opacity:0;background-color:#FFF;}div.dhx_modal_cover_dv{position:absolute;left:0;top:0;width:100%;height:100%;border:none;filter:alpha(opacity=50);-moz-opacity:.5;opacity:.5;background-color:#EEE;}iframe.dhx_ie6_wincover_forsel{position:absolute;width:100%;height:100%;top:0;left:0;overflow:hidden;filter:alpha(opacity=0);background-color:#FFF;z-index:-1;}div.dhx_carcass_resmove{position:absolute;filter:alpha(opacity=50);-moz-opacity:.5;opacity:.5;background-color:#E0E0E0;border:#909090 1px solid;}div.dhx_content_vp_cover{position:absolute;left:0;top:0;width:100%;height:100%;filter:alpha(opacity=0);-moz-opacity:0;opacity:0;background-color:#FFF;}iframe.dhtmlx_wins_ie6_cover_fix{position:absolute;width:100%;height:100%;top:0;left:0;overflow:hidden;filter:alpha(opacity=0);background-color:#FFF;}div.dhxcont_content_blocker{position:absolute;left:0;top:0;width:101%;height:101%;filter:alpha(opacity=0);-moz-opacity:0;opacity:0;background:#FFF;z-index:1;-moz-user-select:none;}div.dhx_acc_base_dhx_skyblue{overflow:hidden;}.dhxacc_fullscreened{width:100%;height:100%;margin:0;background-color:#ebebeb;overflow:hidden;}div.dhx_acc_base_dhx_skyblue div.dhx_acc_item{position:relative;overflow:hidden;width:100%;}div.dhx_acc_base_dhx_skyblue div.dhx_acc_item div.dhx_acc_hdr_line_l{position:absolute;left:0;top:1px;height:25px;border-left:#fff 1px solid;}div.dhx_acc_base_dhx_skyblue div.dhx_acc_item div.dhx_acc_hdr_line_r{position:absolute;right:0;top:1px;height:25px;border-right:#fff 1px solid;}div.dhx_acc_base_dhx_skyblue div.dhx_acc_item_hidden{display:none;}div.dhx_acc_base_dhx_skyblue div.dhx_acc_item div.dhx_acc_item_label{position:relative;color:#000;font-family:Tahoma;font-size:11px;font-weight:bold;height:27px;line-height:27px;border-left:#a4bed4 1px solid;border-right:#a4bed4 1px solid;vertical-align:middle;overflow:hidden;background-image:url('imgs//dhxaccord_dhx_skyblue/dhxacc_bg_normal.gif');background-position:top;background-repeat:repeat-x;-moz-user-select:none;cursor:default;}div.dhx_acc_base_dhx_skyblue div.dhx_acc_item div.dhx_acc_item_label span{margin:0 4px;}div.dhx_acc_base_dhx_skyblue div.dhx_acc_item_lavel_hover{background-image:url('imgs//dhxaccord_dhx_skyblue/dhxacc_bg_hover.gif')!important;}div.dhx_acc_base_dhx_skyblue div.dhx_acc_item div.dhx_acc_item_label div.dhx_acc_item_label_btmbrd{display:none;}div.dhx_acc_base_dhx_skyblue div.dhx_acc_item div.dhx_acc_item_label img.dhx_acc_item_icon{position:absolute;width:16px;height:16px;left:4px;top:5px;}.dhtmlxAccordionAttached{border:none!important;}div.dhx_acc_base_dhx_skyblue div.dhx_acc_item div.dhx_tabbar_row{background-color:#D2E3EA;}div.dhx_acc_base_dhx_skyblue div.dhxcont_statusbar{position:absolute;width:100%;bottom:0;_bottom:-1px;border-top:#c2d5dc 1px solid;background-image:url('imgs//dhxaccord_dhx_skyblue/dhxacc_bg_sb.gif');background-position:top;background-repeat:repeat-x;width:100%;overflow:hidden;font-family:Tahoma;font-size:11px;vertical-align:middle;line-height:19px;-moz-user-select:none;cursor:default;padding-left:4px;color:#7393ae;}div.dhx_acc_base_dhx_skyblue div.dhx_acc_item div.dhxcont_global_content_area{position:absolute;border:#a4bed4 1px solid;background-color:#FFF;overflow:hidden;}div.dhx_acc_base_dhx_skyblue div.dhx_acc_item div.dhx_acc_item_arrow{position:absolute;width:16px;height:16px;right:4px;top:6px;background-image:url('imgs//dhxaccord_dhx_skyblue/dhxacc_btns.gif');background-repeat:no-repeat;}div.dhx_acc_base_dhx_skyblue div.dhx_acc_item_arrow.item_opened{background-position:0 0;}div.dhx_acc_base_dhx_skyblue div.dhx_acc_item_arrow.item_closed{background-position:-16px 0;}div.dhxcont_content_blocker{position:absolute;left:0;top:0;width:101%;height:101%;filter:alpha(opacity=0);-moz-opacity:0;opacity:0;background:#FFF;z-index:1;-moz-user-select:none;}.dhtmlxcalendar_container.dhtmlxcalendar_skin_dhx_skyblue{background-image:url('imgs//dhtmlxcalendar_dhx_skyblue/bg_main.png');}.dhtmlxcalendar_container.dhtmlxcalendar_skin_dhx_skyblue div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr,.dhtmlxcalendar_container.dhtmlxcalendar_skin_dhx_skyblue div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell,.dhtmlxcalendar_container.dhtmlxcalendar_skin_dhx_skyblue div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_first,.dhtmlxcalendar_container.dhtmlxcalendar_skin_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell,.dhtmlxcalendar_container.dhtmlxcalendar_skin_dhx_skyblue div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr,.dhtmlxcalendar_container.dhtmlxcalendar_skin_dhx_skyblue div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr div.dhtmlxcalendar_time_label,.dhtmlxcalendar_container.dhtmlxcalendar_skin_dhx_skyblue div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_selector_obj_arrow,.dhtmlxcalendar_container.dhtmlxcalendar_skin_dhx_skyblue div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell{background-image:url('imgs//dhtmlxcalendar_dhx_skyblue/bg_days.png');}.dhtmlxcalendar_container.dhtmlxcalendar_skin_dhx_skyblue div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_left,.dhtmlxcalendar_container.dhtmlxcalendar_skin_dhx_skyblue div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left{background-image:url('imgs//dhtmlxcalendar_dhx_skyblue/arrow_left.png');}.dhtmlxcalendar_container.dhtmlxcalendar_skin_dhx_skyblue div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_left_hover,.dhtmlxcalendar_container.dhtmlxcalendar_skin_dhx_skyblue div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left.dhtmlxcalendar_selector_cell_left_hover{background-image:url('imgs//dhtmlxcalendar_dhx_skyblue/arrow_left_hover.png');}.dhtmlxcalendar_container.dhtmlxcalendar_skin_dhx_skyblue div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_right,.dhtmlxcalendar_container.dhtmlxcalendar_skin_dhx_skyblue div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right{background-image:url('imgs//dhtmlxcalendar_dhx_skyblue/arrow_right.png');}.dhtmlxcalendar_container.dhtmlxcalendar_skin_dhx_skyblue div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_right_hover,.dhtmlxcalendar_container.dhtmlxcalendar_skin_dhx_skyblue div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right.dhtmlxcalendar_selector_cell_right_hover{background-image:url('imgs//dhtmlxcalendar_dhx_skyblue/arrow_right_hover.png');}.dhtmlxcalendar_container.dhtmlxcalendar_skin_dhx_skyblue div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left,.dhtmlxcalendar_container.dhtmlxcalendar_skin_dhx_skyblue div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right{background-color:#e6f1ff;}.dhtmlxcalendar_container.dhtmlxcalendar_skin_dhx_skyblue div.dhtmlxcalendar_selector_cover{background-color:white;opacity:.5;-moz-opacity:.5;filter:alpha(opacity=50);}.dhtmlxcalendar_container.dhtmlxcalendar_skin_dhx_skyblue div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr span.dhtmlxcalendar_month_label_month,.dhtmlxcalendar_container.dhtmlxcalendar_skin_dhx_skyblue div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr span.dhtmlxcalendar_month_label_year{font-weight:bold;}iframe.dhxeditor_mainiframe_dhx_skyblue{position:absolute;overflow:hidden;top:0;left:0;width:100%;height:100%;}td.dhxeditor_toolbar_dhx_skyblue{position:relative;height:26px;}td.dhxeditor_toolbar_dhx_skyblue div.dhtmlxToolbar_dhx_skyblue{height:24px!important;}div.dhxeditor_container_dhx_skyblue{position:relative;width:100%;height:100%;overflow:hidden;}div.dhxeditor_dhx_skyblue_btns{background-image:url('imgs//dhxeditor_dhx_skyblue/dhxeditor_bg_lite.gif');background-repeat:repeat-x;position:absolute;width:100%;height:25px;}div.dhxeditor_dhx_skyblue_btns div.verline_l{position:absolute;left:0;top:0;border-left:#fff 1px solid;height:24px;width:1px;}div.dhxeditor_dhx_skyblue_btns div.verline_r{position:absolute;right:0;top:0;border-right:#fff 1px solid;height:24px;width:1px;}div.dhxeditor_dhx_skyblue_tbbtn{float:left;position:relative;width:18px;height:18px;font-size:2px;margin-left:2px;margin-top:3px;cursor:pointer;background-image:url('imgs//dhxeditor_dhx_skyblue/buttons.gif');}div.dhxeditor_dhx_skyblue_tbbtn.btn_bold{margin-left:5px;background-position:0 0;}div.dhxeditor_dhx_skyblue_tbbtn.btn_italic{background-position:-18px 0;}div.dhxeditor_dhx_skyblue_tbbtn.btn_underline{background-position:-36px 0;}div.dhxeditor_dhx_skyblue_tbbtn.btn_clearformat{background-position:-54px 0;}.dhxlist_obj_dhx_skyblue div.dhxlist_img{width:18px;height:18px;margin-left:5px;font-size:1px;-moz-user-select:-moz-none;}.dhxlist_obj_dhx_skyblue div.dhxlist_img.chbx0,.dhxlist_obj_dhx_skyblue div.dhxlist_img.chbx1,.dhxlist_obj_dhx_skyblue div.disabled div.dhxlist_img.chbx0,.dhxlist_obj_dhx_skyblue div.disabled div.dhxlist_img.chbx1,.dhxlist_obj_dhx_skyblue div.dhxlist_img.rdbt0,.dhxlist_obj_dhx_skyblue div.dhxlist_img.rdbt1,.dhxlist_obj_dhx_skyblue div.disabled div.dhxlist_img.rdbt0,.dhxlist_obj_dhx_skyblue div.disabled div.dhxlist_img.rdbt1{background-image:url('imgs//dhxform_dhx_skyblue/dhxform_chbxrd.gif');background-repeat:no-repeat;}.dhxlist_obj_dhx_skyblue div.dhxlist_img.chbx0{background-position:-18px 0;}.dhxlist_obj_dhx_skyblue div.dhxlist_img.chbx1{background-position:0 0;}.dhxlist_obj_dhx_skyblue div.disabled div.dhxlist_img.chbx0{background-position:-54px 0;}.dhxlist_obj_dhx_skyblue div.disabled div.dhxlist_img.chbx1{background-position:-36px 0;}.dhxlist_obj_dhx_skyblue div.dhxlist_img.rdbt0{background-position:-90px 0;}.dhxlist_obj_dhx_skyblue div.dhxlist_img.rdbt1{background-position:-72px 0;}.dhxlist_obj_dhx_skyblue div.disabled div.dhxlist_img.rdbt0{background-position:-126px 0;}.dhxlist_obj_dhx_skyblue div.disabled div.dhxlist_img.rdbt1{background-position:-108px 0;}.dhxlist_obj_dhx_skyblue div.dhxlist_txt{font-family:Tahoma;font-size:inherit;margin:2px 0 2px 5px;color:#000;overflow-x:hidden;-moz-user-select:none;overflow:hidden;white-space:nowrap;}.dhxlist_obj_dhx_skyblue .dhxlist_txt_label label{-moz-user-select:none;}.dhxlist_obj_dhx_skyblue div.disabled div.dhxlist_txt{color:#b2b2b2;}.dhxlist_obj_dhx_skyblue div.dhxlist_txt.align_left{text-align:left;}.dhxlist_obj_dhx_skyblue div.dhxlist_txt.align_center{text-align:center;}.dhxlist_obj_dhx_skyblue div.dhxlist_txt.align_right{text-align:right;}.dhxlist_obj_dhx_skyblue div.item_label_left{clear:both;margin-top:4px;}.dhxlist_obj_dhx_skyblue div.item_label_left div.dhxlist_img{display:inline-block;float:none;}.dhxlist_obj_dhx_skyblue div.item_label_left div.dhxlist_txt{display:inline-block;float:left;}.dhxlist_obj_dhx_skyblue div.item_label_right{clear:both;}.dhxlist_obj_dhx_skyblue div.item_label_right div.dhxlist_img{display:inline-block;float:left;}.dhxlist_obj_dhx_skyblue div.item_label_right div.dhxlist_txt{display:inline-block;float:left;}.dhxlist_obj_dhx_skyblue div.item_label_top div.dhxlist_img{float:none;}.dhxlist_obj_dhx_skyblue div.item_label_top div.dhxlist_txt{float:none;}.dhxlist_obj_dhx_skyblue div.item_absolute div.dhxlist_img{position:absolute;}.dhxlist_obj_dhx_skyblue div.item_absolute div.dhxlist_txt{position:absolute;}.dhxlist_obj_dhx_skyblue div.item_absolute{position:absolute;left:0;top:0;}.dhxlist_obj_dhx_skyblue div.dhxlist_txt_label{overflow:hidden;white-space:nowrap;font-family:Tahoma;font-size:inherit;color:#000;vertical-align:top;margin:2px 5px 2px 5px;cursor:default;}.dhxlist_obj_dhx_skyblue div.disabled div.dhxlist_txt_label{color:#b2b2b2;}.dhxlist_obj_dhx_skyblue div.dhxlist_txt_label.align_left{text-align:left;}.dhxlist_obj_dhx_skyblue div.dhxlist_txt_label.align_center{text-align:center;}.dhxlist_obj_dhx_skyblue div.dhxlist_txt_label.align_right{text-align:right;}.dhxlist_obj_dhx_skyblue .dhxlist_cont{margin-top:1px;margin-bottom:1px;}.dhxlist_obj_dhx_skyblue .dhxlist_txt_select{border:#a4bed4 1px solid;background-color:#fff;font-family:Tahoma;font-size:inherit;color:#000;margin:0;}.dhxlist_obj_dhx_skyblue div.disabled .dhxlist_txt_select{color:#b2b2b2;background-color:#fff;border:#c2d0dd 1px solid;}.dhxlist_obj_dhx_skyblue input.dhxlist_txt_textarea{padding:1px 0!important;margin:0;}.dhxlist_obj_dhx_skyblue .dhxlist_txt_textarea{border:#a4bed4 1px solid;font-family:Tahoma;font-size:inherit;color:#000;-moz-user-select:text;}.dhxlist_obj_dhx_skyblue div.disabled .dhxlist_txt_textarea{color:#b2b2b2;background-color:#fff;border:#c2d0dd 1px solid;}.dhxlist_obj_dhx_skyblue div.item_label_left div.dhxlist_cont{display:inline-block;float:none;}.dhxlist_obj_dhx_skyblue div.item_label_left div.dhxlist_txt_label{display:inline-block;float:left;}.dhxlist_obj_dhx_skyblue div.item_label_right div.dhxlist_cont{display:inline-block;float:left;}.dhxlist_obj_dhx_skyblue div.item_label_right div.dhxlist_txt_label{display:inline-block;float:none;}.dhxlist_obj_dhx_skyblue div.item_label_top div.dhxlist_cont{float:none;}.dhxlist_obj_dhx_skyblue div.item_label_top div.dhxlist_txt_label{float:none;}.dhxlist_obj_dhx_skyblue div.item_absolute div.dhxlist_cont{position:absolute;}.dhxlist_obj_dhx_skyblue div.item_absolute div.dhxlist_txt_label{position:absolute;}.dhxlist_obj_dhx_skyblue div.dhxlist_txt_label2{font-family:Tahoma;font-size:inherit;font-weight:bold;color:#256187;margin:5px 3px;}.dhxlist_obj_dhx_skyblue div.disabled div.dhxlist_txt_label2{color:#b2b8bc;}.dhxlist_obj_dhx_skyblue div.item_absolute div.dhxlist_txt_label2{position:absolute;}.dhxlist_obj_dhx_skyblue div.dhx_list_btn{font-size:inherit;font-family:Tahoma;height:21px;margin:0 2px;float:left;cursor:default;clear:both;-moz-user-select:none;}.dhxlist_obj_dhx_skyblue div.dhx_list_btn table{height:21px;font-size:inherit;}.dhxlist_obj_dhx_skyblue div.dhx_list_btn td{text-align:center;vertical-align:middle;}.dhxlist_obj_dhx_skyblue div.dhx_list_btn td.btn_l{background-image:url('imgs//dhxform_dhx_skyblue/dhxform_btns.gif');background-repeat:no-repeat;background-position:0 0;width:5px;height:21px;font-size:1px;}.dhxlist_obj_dhx_skyblue div.dhx_list_btn td.btn_l div.btn_l{width:5px;}.dhxlist_obj_dhx_skyblue div.disabled div.dhx_list_btn td.btn_l{background-position:0 -42px!important;}.dhxlist_obj_dhx_skyblue div.dhx_list_btn table.dhx_list_btn_over td.btn_l{background-position:0 -84px!important;}.dhxlist_obj_dhx_skyblue div.dhx_list_btn table.dhx_list_btn_pressed td.btn_l{background-position:0 -126px!important;}.dhxlist_obj_dhx_skyblue div.dhx_list_btn td.btn_m{background-image:url('imgs//dhxform_dhx_skyblue/dhxform_btns.gif');background-repeat:repeat-x;background-position:0 -21px;height:21px;}.dhxlist_obj_dhx_skyblue div.disabled div.dhx_list_btn td.btn_m{background-position:0 -63px!important;}.dhxlist_obj_dhx_skyblue div.dhx_list_btn table.dhx_list_btn_over td.btn_m,.dhxlist_obj_dhx_skyblue div.dhx_list_btn td.dhx_list_btn_over.btn_m{background-position:0 -105px!important;}.dhxlist_obj_dhx_skyblue div.dhx_list_btn table.dhx_list_btn_pressed td.btn_m,.dhxlist_obj_dhx_skyblue div.dhx_list_btn td.dhx_list_btn_pressed.btn_m{background-position:0 -147px!important;}.dhxlist_obj_dhx_skyblue div.dhx_list_btn td.btn_r{background-image:url('imgs//dhxform_dhx_skyblue/dhxform_btns.gif');background-repeat:no-repeat;background-position:-5px 0;width:5px;height:21px;font-size:1px;}.dhxlist_obj_dhx_skyblue div.dhx_list_btn td.btn_r div.btn_r{width:5px;}.dhxlist_obj_dhx_skyblue div.disabled div.dhx_list_btn td.btn_r{background-position:-5px -42px!important;}.dhxlist_obj_dhx_skyblue div.dhx_list_btn table.dhx_list_btn_over td.btn_r{background-position:-5px -84px!important;}.dhxlist_obj_dhx_skyblue div.dhx_list_btn table.dhx_list_btn_pressed td.btn_r{background-position:-5px -126px!important;}.dhxlist_obj_dhx_skyblue div.dhx_list_btn td.btn_m div.btn_txt{font-size:inherit;font-family:Tahoma;color:#000;padding:1px 20px;overflow:hidden;white-space:nowrap;}.dhxlist_obj_dhx_skyblue div.disabled div.dhx_list_btn td.btn_m div.btn_txt{color:#b2b2b2!important;}.dhxlist_obj_dhx_skyblue div.dhx_list_btn table.dhx_list_btn_pressed td.btn_m div.btn_txt{padding-top:2px!important;padding-bottom:0!important;}.dhxlist_obj_dhx_skyblue div.dhx_list_btn,.dhxlist_obj_dhx_skyblue div.dhx_list_btn:visited,.dhxlist_obj_dhx_skyblue div.dhx_list_btn:active,.dhxlist_obj_dhx_skyblue div.dhx_list_btn:hover{outline:none;text-decoration:none;color:inherit;cursor:default;}.dhxlist_obj_dhx_skyblue div.dhx_list_btn:focus{outline:#30678a 1px dotted;}.dhxlist_obj_dhx_skyblue div.item_absolute div.dhx_list_btn{position:absolute;}.dhxlist_obj_dhx_skyblue div.dhx_list_btn td.btn_m div.multibutton_txt{font-size:inherit;font-family:Tahoma;color:#000;height:21px;line-height:21px;vertical-align:middle;padding:0 20px;overflow:hidden;white-space:nowrap;}.dhxlist_obj_dhx_skyblue div.dhx_list_btn td.btn_m div.multibutton_txt:focus{outline:#30678a 1px dotted;}.dhxlist_obj_dhx_skyblue div.disabled div.dhx_list_btn td.dhx_list_btn_pressed.btn_m div.multibutton_txt{color:#b2b2b2!important;}.dhxlist_obj_dhx_skyblue div.dhx_list_btn td.dhx_list_btn_pressed.btn_m div.multibutton_txt .btn_txt2{padding-top:1px!important;}.dhxlist_obj_dhx_skyblue fieldset.dhxlist_fs{border:#a4bed4 1px solid;margin-top:5px;padding:5px;display:inline;}.dhxlist_obj_dhx_skyblue div.disabled fieldset.dhxlist_fs{border:#c2d0dd 1px solid;}.dhxlist_obj_dhx_skyblue fieldset.dhxlist_fs legend.fs_legend{font-family:Tahoma;color:#256187;font-size:inherit;font-weight:normal;padding:0 4px 1px 4px;text-align:left;}.dhxlist_obj_dhx_skyblue div.disabled fieldset.dhxlist_fs legend.fs_legend{color:#b2b2b2;}.dhxlist_obj_dhx_skyblue div.fs_item_label_left{clear:both;}.dhxlist_obj_dhx_skyblue div.fs_item_label_right{clear:both;}.dhxlist_obj_dhx_skyblue div.fs_item_absolute fieldset.dhxlist_fs{position:absolute;}.dhxlist_obj_dhx_skyblue div.block_item_label_left{clear:both;}.dhxlist_obj_dhx_skyblue div.block_item_label_right{clear:both;}.dhxlist_obj_dhx_skyblue div.block_item_absolute div.dhxlist_block{position:absolute;}.dhxlist_obj_dhx_skyblue_old{position:relative;background-color:#fff;-moz-user-select:-moz-none;}.dhxlist_obj_dhx_skyblue div.dhxlist_base{position:relative;float:left;}.dhxlist_obj_dhx_skyblue div.dhxlist_base_nested{padding:0 20px;clear:both;}.dhxlist_obj_dhx_skyblue div.dhxlist_base_nested.in_block{padding:0 0!important;}.dhxlist_obj_dhx_skyblue span.nav_link,.dhxlist_obj_dhx_skyblue span.nav_link:visited,.dhxlist_obj_dhx_skyblue span.nav_link:active,.dhxlist_obj_dhx_skyblue span.nav_link:hover{outline:none;text-decoration:none;color:inherit;cursor:default;}.dhxlist_obj_dhx_skyblue span.nav_link:focus{color:#30678a;}.dhxlist_obj_dhx_skyblue_old table.dhxlist_items_set{table-layout:fixed;cursor:default;width:100%;font-size:inherit;}.dhxlist_obj_dhx_skyblue_old div.button_container{position:absolute;height:50px;width:100%;bottom:0;}.dhxlist_obj_dhx_skyblue_old th.dhxlist_img_cell{width:26px;}.dhxlist_obj_dhx_skyblue_old th.dhxlist_tbl_head{height:0;margin:0;padding:0;}.dhxlist_obj_dhx_skyblue_old div.dhxlist_img_cell{display:inline-block;width:26px;vertical-align:top;-moz-user-select:-moz-none;}.dhxlist_obj_dhx_skyblue_old div.dhxlist_txt_cell{adisplay:inline-block;vertical-align:top;padding-right:5px;-moz-user-select:-moz-none;}.dhx_form_cover{position:absolute;width:100%;height:100%;background-color:silver;left:0;top:0;display:none;opacity:.2;-moz-opacity:.2;z-index:99999;filter:alpha(opacity=20);}input.dhtmlx_validation_error,select.dhtmlx_validation_error{background-color:#F29FB5;}.dhxlist_obj_dhx_skyblue_old div.dhxform_rtl,.dhxlist_obj_dhx_skyblue_old div.dhxform_rtl .dhxlist_txt_cell,.dhxlist_obj_dhx_skyblue_old div.dhxform_rtl .dhxlist_txt,.dhxlist_obj_dhx_skyblue_old div.dhxform_rtl table.dhxlist_items_set div.dhxlist_txt_label,.dhxlist_obj_dhx_skyblue_old div.dhxform_rtl table.dhxlist_items_set div.dhxlist_txt_label2,.dhxlist_obj_dhx_skyblue_old div.dhxform_rtl table.dhxlist_items_set .dhxlist_txt_select,.dhxlist_obj_dhx_skyblue_old div.dhxform_rtl table.dhxlist_items_set .dhxlist_txt_select option,.dhxlist_obj_dhx_skyblue_old div.dhxform_rtl table.dhxlist_items_set .dhxlist_txt_textarea,.dhxlist_obj_dhx_skyblue_old div.dhxform_rtl div.dhx_list_btn td.btn_m div.btn_txt{direction:rtl;unicode-bidi:bidi-override;}.dhxlist_obj_dhx_skyblue_old div.dhxform_rtl table.dhxlist_items_set div.dhxlist_img{margin-left:0;margin-right:5px;}.dhxlist_obj_dhx_skyblue_old div.dhxform_rtl td.dhxlist_txt_cell fieldset.dhxlist_fs legend.fs_legend{direction:rtl;unicode-bidi:bidi-override;text-align:right;}.dhxlist_obj_dhx_skyblue_old div.dhxform_rtl div.dhx_list_btn{float:right;}.dhxlist_obj_dhx_skyblue div.disabled .dhx_combo_box.dhx_skyblue{border:1px solid #c2d0dd;}.dhxlist_obj_dhx_skyblue div.disabled .dhx_combo_box.dhx_skyblue .dhx_combo_input{color:#b2b2b2;background-color:#fff;}.dhxlist_obj_dhx_skyblue div.dhxlist_item_template{overflow:hidden;white-space:nowrap;font-family:Tahoma;font-size:inherit;color:#000;vertical-align:top;margin:1px 3px;cursor:default;overflow:hidden;}.dhxlist_obj_dhx_skyblue div.disabled div.dhxlist_item_template{color:#b2b2b2;}.dhxlist_obj_dhx_skyblue div.dhxlist_item_template.dhxeditor_inside{border:1px solid #a4bed4;}.dhxlist_obj_dhx_skyblue div.disabled div.dhxlist_item_template.dhxeditor_inside{border:1px solid #c2d0dd;}.dhxlist_obj_dhx_skyblue div.dhxlist_item_template.dhxeditor_inside div.dhxcont_content_blocker{display:none;}.dhxlist_obj_dhx_skyblue div.disabled div.dhxlist_item_template.dhxeditor_inside div.dhxcont_content_blocker{display:inline;position:absolute;width:100%;height:100%;top:0;left:0;background-color:#fefefe;filter:alpha(opacity=70);-moz-opacity:.7;opacity:.7;}.dhxlist_obj_dhx_skyblue .validate_error .dhxlist_txt_label{color:red;}.dhxlist_obj_dhx_skyblue .validate_error .dhxlist_txt_textarea,.dhxlist_obj_dhx_skyblue .validate_error .dhxlist_txt_select{color:red;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_wins_body_inner .dhxlist_obj_dhx_skyblue{background-color:white;}div.dhtmlx_wins_body_inner .dhxlist_obj_dhx_skyblue div.dhxlist_base,td.dhtmlxLayoutSinglePoly .dhxlist_obj_dhx_skyblue div.dhxlist_base,.dhx_tabcontent_zone .dhxlist_obj_dhx_skyblue div.dhxlist_base,div.dhx_acc_item .dhxlist_obj_dhx_skyblue div.dhxlist_base{margin:10px;}div.dhtmlx_wins_body_inner .dhxlist_obj_dhx_skyblue div.dhxlist_base div.dhxlist_base,td.dhtmlxLayoutSinglePoly .dhxlist_obj_dhx_skyblue div.dhxlist_base div.dhxlist_base,.dhx_tabcontent_zone .dhxlist_obj_dhx_skyblue div.dhxlist_base div.dhxlist_base,div.dhx_acc_item .dhxlist_obj_dhx_skyblue div.dhxlist_base div.dhxlist_base{margin:0!important;}div.gridbox_dhx_skyblue .xhdr{background-image:url(imgs//sky_blue_grid.gif);}div.gridbox_dhx_skyblue table.hdr tr{background-image:url(imgs//sky_blue_grid.gif);background-position:0 -1px\9;}body:nth-of-type(1) div.gridbox_dhx_skyblue table.hdr tr{background-image:url(imgs//sky_blue_grid.gif);background-position:0 -1px;}div.gridbox_dhx_skyblue table.obj tr td{font-family:Tahoma;font-size:11px;border-width:0;padding-right:4px;padding-left:4px;}div.gridbox_dhx_skyblue table.hdr td div.hdrcell{padding-left:10px;width:auto;}html>body div.gridbox_dhx_skyblue table.hdr td div.hdrcell{width=100%;}div.gridbox_dhx_skyblue table.hdr td{border-width:1px 1px 1px 1px;border-color:#FDFDFD #A4BED4 #A4BED4 #FDFDFD;background-color:transparent;font-family:Tahoma;font-size:11px;color:black;vertical-align:top;text-align:left;}div.gridbox_dhx_skyblue{border:1px solid #A4BED4;}div.gridbox table.obj tr td{padding-top:3px;padding-bottom:3px;}* html .gridbox .obj td{height:auto;padding-top=3px;padding-bottom=3px;}div.gridbox table.obj.row20px tr td{padding-top:0;padding-bottom:0;}div.gridbox table.obj tr td.editable{padding:0;}div.gridbox table.obj tr td.editable div.treegrid_cell{padding-left:4px;padding-top:1px;}div.gridbox_dhx_skyblue table.obj tr.rowselected{background-color:#FFF1CC;}div.gridbox_dhx_skyblue table.obj tr.rowselected td{background-color:#FFF1CC;background-repeat:repeat-x;background-position:0 0;background-image:url(imgs//sky_blue_sel2.png);}div.gridbox_dhx_skyblue table.obj.row20px tr.rowselected td{background-repeat:repeat-x;background-position:0 0;background-image:url(imgs//sky_blue_sel.png);}div.gridbox_dhx_skyblue table.obj tr.rowselected td.cellselected{background-color:#FFF1CC;}div.gridbox_dhx_skyblue .odd_dhx_skyblue{background-color:#E3EFFF;}.dhx_combo_select,.gridbox_dhx_skyblue .dhx_combo_edit,.gridbox_dhx_skyblue .dhx_textarea{font-family:Tahoma;font-size:11px;}.gridbox_dhx_skyblue .dhx_combo_edit{padding:1px 0 1px 1px;}.gridbox_dhx_skyblue .dhx_sub_row{background-color:transparent;}div.gridbox table.obj.row20px tr td.rowselector,div.gridbox_dhx_skyblue table.obj tr td.rowselector{line-height:normal;border-right:1px solid #A4BED4;background-color:#E3EFFF;vertical-align:top;padding:0;}div.gridbox_dhx_skyblue table.obj tr td.rowselector div.rowselector2{line-height:normal;position:relative;width:100%;height:100%;background-image:url('imgs//dhxgrid_dhx_skyblue/rowselector.png');background-position:left bottom;background-repeat:no-repeat;overflow:hidden;}div.gridbox_dhx_skyblue table.obj tr td.rowselector div.rowselector2 div.rowselector3{position:absolute;top:0;left:0;width:100%;height:1px;line-height:normal;background-image:url('imgs//dhxgrid_dhx_skyblue/rowselector.png');background-position:left top;background-repeat:no-repeat;overflow:hidden;}div.gridbox_dhx_skyblue table.obj tr td.rowselector div.rowselector2 div.rowselector4{position:absolute;top:0;left:0;width:100%;height:100%;line-height:normal;background:none;background-position:center center;background-repeat:no-repeat;overflow:hidden;}div.gridbox_dhx_skyblue table.obj tr.rowselected td.rowselector div.rowselector2 div.rowselector4{background-image:url('imgs//dhxgrid_dhx_skyblue/arrow.png');}div.gridbox_dhx_skyblue table.obj tr.rowselected td.rowselector.editmode div.rowselector2 div.rowselector4{background-image:url('imgs//dhxgrid_dhx_skyblue/asteriks.png');}table.dhtmlxLayoutPolyContainer_dhx_skyblue{width:100%;height:100%;abackground-color:#D3E2E5;}table.dhtmlxLayoutPolyContainer_dhx_skyblue td.dhtmlxLayoutSinglePoly{position:relative;overflow:hidden;vertical-align:top;}table.dhtmlxLayoutPolyContainer_dhx_skyblue td.dhtmlxLayoutSinglePoly div.dhtmlxWindowMainContent{border:#a4bed4 1px solid;background-color:#FFF;}table.dhtmlxLayoutPolyContainer_dhx_skyblue td.dhtmlxLayoutSinglePoly div.dhtmlx_wins_body_inner{border:#000 1px solid;background-color:#FFF;}table.dhtmlxLayoutPolyContainer_dhx_skyblue div.dhxcont_content_blocker{position:absolute;width:100%;height:100%;top:0;left:0;filter:alpha(opacity=20);-moz-opacity:.2;opacity:.2;background-color:#93C0E7;}table.dhtmlxLayoutPolyContainer_dhx_skyblue td.dhtmlxLayoutSinglePoly div.dhtmlxPolyInfoBar{position:relative;font-family:Tahoma;font-size:2px;height:27px;background-image:url('imgs//dhxlayout_dhx_skyblue/dhxlayout_bg.gif');background-repeat:repeat-x;background-position:top;overflow:hidden;border-left:#a4bed4 1px solid;border-right:#a4bed4 1px solid;}table.dhtmlxLayoutPolyContainer_dhx_skyblue td.dhtmlxLayoutSinglePoly div.dhtmlxPolyInfoBar div.dhtmlxInfoBarButtonsFake{position:absolute;width:28px;height:27px;margin:0;top:0;right:-1px;background-image:url('imgs//dhxlayout_dhx_skyblue/dhxlayout_bg.gif');background-repeat:repeat-x;background-position:top;overflow:hidden;}table.dhtmlxLayoutPolyContainer_dhx_skyblue td.dhtmlxLayoutSinglePoly div.dhtmlxPolyInfoBar div.dhtmlxInfoBarLabel{white-space:nowrap;font-size:11px;color:#000;font-family:Tahoma;font-weight:bold;top:7px;margin-left:5px;line-height:15px;vertical-align:middle;cursor:default;position:absolute;-moz-user-select:none;}table.dhtmlxLayoutPolyContainer_dhx_skyblue td.dhtmlxLayoutSinglePoly div.dhtmlxPolyInfoBarCollapsedVer div.dhtmlxInfoBarLabel{display:none;}table.dhtmlxLayoutPolyContainer_dhx_skyblue td.dhtmlxLayoutSinglePoly div.dhtmlxPolyInfoBar div.dhtmlxInfoButtonShowHide_ver{position:absolute;width:16px;height:16px;top:6px;right:4px;font-family:Tahoma;font-size:2px;text-align:center;vertical-align:top;cursor:pointer;background-repeat:no-repeat;}table.dhtmlxLayoutPolyContainer_dhx_skyblue td.dhtmlxLayoutSinglePolyTabbarCollapsed div.dhtmlxInfoButtonShowHide_ver{position:absolute;width:7px;height:8px;top:6px;right:4px;font-family:Tahoma;font-size:2px;text-align:center;vertical-align:top;cursor:pointer;background-repeat:no-repeat;}.dhxLayoutButton_dhx_skyblue_ver1t{background-image:url('imgs//dhxlayout_dhx_skyblue/dhxlayout_btns.gif');background-position:-32px 0;}.dhxLayoutButton_dhx_skyblue_ver1b{background-image:url('imgs//dhxlayout_dhx_skyblue/dhxlayout_btns.gif');background-position:0 0;}table.dhtmlxLayoutPolyContainer_dhx_skyblue td.dhtmlxLayoutSinglePoly div.dhtmlxPolyInfoBar div.dhtmlxInfoButtonShowHide_hor{position:absolute;width:16px;height:16px;top:6px;right:4px;font-family:Tahoma;font-size:2px;text-align:center;vertical-align:top;cursor:pointer;background-repeat:no-repeat;}table.dhtmlxLayoutPolyContainer_dhx_skyblue td.dhtmlxLayoutSinglePolyTabbarCollapsed div.dhtmlxInfoButtonShowHide_hor{position:absolute;width:8px;height:7px;top:10px;left:6px;font-family:Tahoma;font-size:2px;text-align:center;vertical-align:top;cursor:pointer;background-repeat:no-repeat;}.dhxLayoutButton_dhx_skyblue_hor1l{background-image:url('imgs//dhxlayout_dhx_skyblue/dhxlayout_btns.gif');background-position:-16px 0;}.dhxLayoutButton_dhx_skyblue_hor1r{background-image:url('imgs//dhxlayout_dhx_skyblue/dhxlayout_btns.gif');background-position:-48px 0;}table.dhtmlxLayoutPolyContainer_dhx_skyblue td.dhtmlxLayoutSinglePoly div.dhtmlxPolyInfoBarCollapsedHor{position:relative;font-family:Tahoma;font-size:2px;height:100%;height:18px;overflow:hidden;}table.dhtmlxLayoutPolyContainer_dhx_skyblue td.dhtmlxLayoutSinglePoly div.dhtmlxPolyInfoBarCollapsedHor div.dhtmlxInfoBarLabel{display:none;}table.dhtmlxLayoutPolyContainer_dhx_skyblue td.dhtmlxLayoutSinglePoly div.dhtmlxPolyInfoBarCollapsedHor div.dhtmlxInfoButtonShowHide_ver{position:absolute;width:16px;height:16px;top:1px;right:4px;font-family:Tahoma;font-size:2px;text-align:center;vertical-align:top;cursor:pointer;background-repeat:no-repeat;}.dhxLayoutButton_dhx_skyblue_ver2t{background-image:url('imgs//dhxlayout_dhx_skyblue/dhxlayout_btns.gif');background-position:-32px 0;}.dhxLayoutButton_dhx_skyblue_ver2b{background-image:url('imgs//dhxlayout_dhx_skyblue/dhxlayout_btns.gif');background-position:0 0;}table.dhtmlxLayoutPolyContainer_dhx_skyblue td.dhtmlxLayoutSinglePoly div.dhtmlxPolyInfoBarCollapsedHor div.dhtmlxInfoBarButtonsFake{border-left:1px solid #a4bed4;border-right:1px solid #a4bed4;height:18px;left:0;position:relative;top:0;background-image:url('imgs//dhxlayout_dhx_skyblue/dhxlayout_collapsedhor.gif');background-repeat:repeat-x;}table.dhtmlxLayoutPolyContainer_dhx_skyblue td.dhtmlxLayoutSinglePoly div.dhtmlxPolyInfoBarCollapsedVer{position:relative;width:100%;font-family:Tahoma;font-size:2px;height:100%;abackground-color:#C2D5DC;overflow:hidden;}table.dhtmlxLayoutPolyContainer_dhx_skyblue td.dhtmlxLayoutSinglePoly div.dhtmlxPolyInfoBarCollapsedVer div.dhtmlxInfoBarLabel{display:none;}table.dhtmlxLayoutPolyContainer_dhx_skyblue td.dhtmlxLayoutSinglePoly div.dhtmlxPolyInfoBarCollapsedVer div.dhtmlxInfoButtonShowHide_hor{position:absolute;width:16px;height:16px;top:6px;left:1px;font-family:Tahoma;font-size:2px;text-align:center;vertical-align:top;cursor:pointer;background-repeat:no-repeat;}.dhxLayoutButton_dhx_skyblue_hor2l{background-image:url('imgs//dhxlayout_dhx_skyblue/dhxlayout_btns.gif');background-position:-16px 0;}.dhxLayoutButton_dhx_skyblue_hor2r{background-image:url('imgs//dhxlayout_dhx_skyblue/dhxlayout_btns.gif');background-position:-48px 0;}table.dhtmlxLayoutPolyContainer_dhx_skyblue td.dhtmlxLayoutSinglePoly div.dhtmlxPolyInfoBarCollapsedVer div.dhtmlxInfoBarButtonsFake{border-top:1px solid #a4bed4;border-bottom:1px solid #a4bed4;width:16px;left:0;position:absolute;top:0;height:100%;width:18px;bottom:0;height=100%;background-image:url('imgs//dhxlayout_dhx_skyblue/dhxlayout_collapsedver.gif');background-repeat:repeat-y;}table.dhtmlxLayoutPolyContainer_dhx_skyblue td.dhtmlxLayoutSinglePoly div.dhtmlxPolyInfoBarCollapsedVer div.dhtmlxInfoBarButtonsFake2{position:absolute;width:100%;bottom:1px;bottom=-1px;border-bottom:1px solid #a4bed4;}table.dhtmlxLayoutPolyContainer_dhx_skyblue td.dhtmlxLayoutSinglePoly div.dhtmlxPolyInnerContainer{font-family:Tahoma;font-size:11px;font-weight:normal;color:#000;position:relative;overflow:auto;}table.dhtmlxLayoutPolyContainer_dhx_skyblue div.dhtmlx_wins_body_content{position:relative;overflow:hidden;}table.dhtmlxLayoutPolyContainer_dhx_skyblue td.dhtmlxLayoutPolySplitterHor{font-size:1px;height:5px;line-height:5px;cursor:n-resize;-moz-user-select:none;background-image:url('imgs//dhxlayout_dhx_skyblue/dhxlayout_drag_hor.gif')!important;background-repeat:no-repeat!important;background-position:center center!important;vertical-align:top;background-color:#ebebeb;}table.dhtmlxLayoutPolyContainer_dhx_skyblue td.dhtmlxLayoutPolySplitterHorInactive{font-size:1px;height:5px;line-height:5px;cursor:default;-moz-user-select:none;vertical-align:top;background-color:#ebebeb;}table.dhtmlxLayoutPolyContainer_dhx_skyblue td.dhtmlxLayoutPolySplitterVer{font-size:2px;width:5px;cursor:w-resize;background-image:url('imgs//dhxlayout_dhx_skyblue/dhxlayout_drag_ver.gif')!important;background-repeat:no-repeat!important;background-position:50% center!important;background-color:#ebebeb;vertical-align:top;-moz-user-select:none;}table.dhtmlxLayoutPolyContainer_dhx_skyblue td.dhtmlxLayoutPolySplitterVerInactive{font-size:2px;width:5px;cursor:default;background-color:#ebebeb;vertical-align:top;-moz-user-select:none;}table.dhtmlxLayoutPolyContainer_dhx_skyblue td.dhtmlxLayoutSinglePolyTabbar{position:relative;overflow:hidden;vertical-align:top;border:0 solid transparent;border-top:1px solid #D2E3EA;border-bottom:1px solid #D2E3EA;}table.dhtmlxLayoutPolyContainer_dhx_skyblue td.dhtmlxLayoutSinglePolyTabbarCollapsed{position:relative;border:#C2D5DC 1px solid;overflow:hidden;vertical-align:top;background-color:#D2E3EA;}table.dhtmlxLayoutPolyContainer_dhx_skyblue td.dhtmlxLayoutSinglePolyTabbar div.dhtmlxWindowMainContent{border:#333 0 solid!important;background-color:#FFF;}table.dhtmlxLayoutPolyContainer_dhx_skyblue td.dhtmlxLayoutSinglePolyTabbarCollapsed div.dhtmlxPolyInfoBarCollapsedVer,td.dhtmlxLayoutSinglePolyTabbarCollapsed div.dhtmlxPolyInfoBarCollapsedHor{position:relative;width:100%;height:100%;}table.dhtmlxLayoutPolyContainer_dhx_skyblue td.dhtmlxLayoutSinglePolyTabbar div.dhtmlxPolyInfoBar,td.dhtmlxLayoutSinglePolyTabbarCollapsed div.dhtmlxPolyInfoBar{position:relative;z-index:100;}table.dhtmlxLayoutPolyContainer_dhx_skyblue td.dhtmlxLayoutSinglePolyTabbar div.dhtmlxInfoBarLabel,td.dhtmlxLayoutSinglePolyTabbarCollapsed div.dhtmlxInfoBarLabel{width:0;height:0;display:none;}table.dhtmlxLayoutPolyContainer_dhx_skyblue td.dhtmlxLayoutSinglePolyTabbar div.dhtmlxInfoBarButtonsFake,td.dhtmlxLayoutSinglePolyTabbarCollapsed div.dhtmlxInfoBarButtonsFake{width:0;height:0;display:none;}table.dhtmlxLayoutPolyContainer_dhx_skyblue td.dhtmlxLayoutSinglePolyTabbar div.dhtmlxPolyInfoBar div{position:relative;float:right;background-position:center top;background-repeat:no-repeat;width:12px;height:12px;overflow:hidden;z-index:100;}table.dhtmlxLayoutPolyContainer_dhx_skyblue td.dhtmlxLayoutSinglePolyTabbar div.dhtmlxPolyInfoBar div.dhtmlxInfoButtonShowHide_hor,table.dhtmlxLayoutPolyContainer_dhx_skyblue td.dhtmlxLayoutSinglePolyTabbar div.dhtmlxPolyInfoBar div.dhtmlxInfoButtonShowHide_ver{position:absolute;right:4px;top:4px;width:16px;height:16px;cursor:pointer;}div.dhxLayout_Sizer_dhx_skyblue{position:absolute;background-color:#97BFE8;filter:alpha(opacity=30);-moz-opacity:.3;opacity:.3;transparent:0;font-size:1px;z-index:1999;}div.dhxLayout_Cover_dhx_skyblue{position:absolute;width:100%;height:100%;top:0;left:0;filter:alpha(opacity=20);-moz-opacity:.2;opacity:.2;background-color:#93C0E7;}.dhtmlxMenu_dhx_skyblue_Middle{amargin-left:1px;amargin-right:1px;}.dhtmlxMenu_dhx_skyblue_bottom_border{height=25;border-bottom:#C2D5DC 1px solid;}.dhtmlxToolbar_dhx_skyblue_bottom_top{border-top:#C2D5DC 1px solid;}table.dhtmlxLayoutPolyContainer_dhx_skyblue div.dhtmlxLayoutPolyProgress{position:absolute;left:0;top:0;width:100%;height:100%;filter:alpha(opacity=15);-moz-opacity:.15;opacity:.15;background-color:#93C0E7;}table.dhtmlxLayoutPolyContainer_dhx_skyblue div.dhtmlxLayoutPolyProgressBGIMG{position:absolute;left:0;top:0;width:100%;height:100%;background-image:url('imgs//dhxlayout_dhx_skyblue/dhxlayout_progress.gif');background-repeat:no-repeat;background-position:center center;}div.dhtmlxLayoutPolyProgressGlobal_dhx_skyblue{position:absolute;left:0;top:0;width:100%;height:100%;filter:alpha(opacity=15);-moz-opacity:.15;opacity:.15;background-color:#93C0E7;}div.dhtmlxLayoutPolyProgressBGIMGGlobal_dhx_skyblue{position:absolute;left:0;top:0;width:100%;height:100%;background-image:url('imgs//dhxlayout_dhx_skyblue/dhxlayout_progress_global.gif');background-repeat:no-repeat;background-position:center center;z-index:1;}div.dhxcont_global_layout_area div.dhxcont_sb_container{position:relative;height:24px;}div.dhxcont_global_layout_area div.dhxcont_sb_container div.dhxcont_statusbar{position:relative;top:2px;height:22px;line-height:22px;background-image:url('imgs//dhxlayout_dhx_skyblue/dhxlayout_bg_sb.gif');background-repeat:repeat-x;width:auto;padding:0 4px;overflow:hidden;white-space:nowrap;border:#A4BED4 1px solid;border-top:none;border-bottom:none;font-family:Tahoma;font-size:11px;vertical-align:middle;color:#000;}table.dhtmlxLayoutPolyContainer_dhx_skyblue div.dhxcont_global_layout_area div.dhxcont_sb_container_layoutcell{position:relative;height:21px;}table.dhtmlxLayoutPolyContainer_dhx_skyblue div.dhxcont_global_layout_area div.dhxcont_sb_container div.dhxcont_statusbar{position:relative;top:0;height:21px;line-height:21px;background-image:url('imgs//dhxlayout_dhx_skyblue/dhxlayout_bg_sb.gif');background-repeat:repeat-x;background-position:top;width:auto;padding:0 4px;overflow:hidden;white-space:nowrap;border-top:none;border-bottom:none;font-family:Tahoma;font-size:11px;vertical-align:middle;color:#000;}table.dhtmlxLayoutPolyContainer_dhx_skyblue div.dhxcont_statusbar{position:absolute;width:100%;bottom:0;background:none;_bottom:-1px;background-image:url('imgs//dhxlayout_dhx_skyblue/dhxlayout_bg_sb.gif');background-repeat:repeat-x;overflow:hidden;font-family:Tahoma;font-size:11px;color:#7393ae;vertical-align:middle;line-height:20px;height:20px;-moz-user-select:none;cursor:default;padding-left:4px;}table.dhtmlxLayoutPolyContainer_dhx_skyblue td.dhtmlxLayoutSinglePoly div.dhxcont_global_content_area{position:absolute;overflow:hidden;border:#a4bed4 1px solid;background-color:#FFF;}table.dhtmlxLayoutPolyContainer_dhx_skyblue div.dhtmlxPolyInfoBar div.dhtmlxLineL{position:absolute;border-left:#FFF 1px solid;top:1px;left:0;height:25px;}table.dhtmlxLayoutPolyContainer_dhx_skyblue div.dhtmlxPolyInfoBarCollapsedHor div.dhtmlxLineL{position:absolute;border-left:#FFF 1px solid;top:1px;left:1px;height:16px;}table.dhtmlxLayoutPolyContainer_dhx_skyblue div.dhtmlxPolyInfoBar div.dhtmlxLineR{position:absolute;border-right:#FFF 1px solid;top:1px;right:0;height:25px;}table.dhtmlxLayoutPolyContainer_dhx_skyblue div.dhtmlxPolyInfoBarCollapsedHor div.dhtmlxLineR{position:absolute;border-right:#FFF 1px solid;top:1px;right:1px;height:16px;}table.dhtmlxLayoutPolyContainer_dhx_skyblue div.dhtmlxPolyInfoBarCollapsedVer div.dhtmlxLineL{position:absolute;border-top:#FFF 1px solid;top:1px;left:1px;width:16px;}table.dhtmlxLayoutPolyContainer_dhx_skyblue div.dhtmlxPolyInfoBarCollapsedVer div.dhtmlxLineR{position:absolute;border-bottom:#FFF 1px solid;bottom:1px;bottom:1px;left:1px;width:16px;}.dhxlayout_fullscreened{background-color:#ebebeb;width:100%;height:100%;margin:0;overflow:hidden;}div.dhxlayout_skin_detect{width:199px;}table.dhtmlxLayoutPolyContainer_dhx_skyblue td.dhtmlxLayoutSinglePoly div.dhtmlxPolyInfoBar div.dhtmlxInfoBarLabel_collapsed_ver{display:none;}table.dhtmlxLayoutPolyContainer_dhx_skyblue td.dhtmlxLayoutSinglePoly div.dhtmlxPolyInfoBarCollapsedHor div.dhtmlxInfoBarLabel_collapsed_ver{position:absolute;top:2px;left:5px;font-family:Tahoma;font-size:11px;font-weight:normal;color:#666;white-space:nowrap;cursor:default;-moz-user-select:none;}table.dhtmlxLayoutPolyContainer_dhx_skyblue td.dhtmlxLayoutSinglePoly div.dhtmlxPolyInfoBar div.dhtmlxInfoBarLabel_collapsed_hor{display:none;}table.dhtmlxLayoutPolyContainer_dhx_skyblue td.dhtmlxLayoutSinglePoly div.dhtmlxPolyInfoBarCollapsedVer div.dhtmlxInfoBarLabel_collapsed_hor{position:absolute;top:28px;left:0;font-family:Tahoma;font-size:11px;font-weight:normal;color:#666;white-space:nowrap;cursor:default;-moz-user-select:none;}.dhtmlxMenu_dhx_skyblue_Middle{position:relative;height:24px;border:none;background-color:#ebebeb;-moz-user-select:none;}.dhtmlxMenu_dhx_skyblue_Layout,.dhtmlxMenu_dhx_skyblue_Accordion{border-bottom:#cedce8 1px solid;}.dhtmlxMenu_dhx_skyblue_Middle.in_acccell,.dhtmlxMenu_dhx_skyblue_Middle.in_layoutcell{height:25px;background-image:url('imgs//dhxmenu_dhx_skyblue/dhxmenu_bg_acccell.gif');background-position:top;background-repeat:repeat-x;}.dhtmlxMenu_dhx_skyblue_Middle.dir_left div.align_left{float:left;}.dhtmlxMenu_dhx_skyblue_Middle.dir_left div.align_right{float:right;}div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Normal,div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Disabled,div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Selected{position:relative;float:left;font-family:Tahoma;font-size:11px;font-weight:normal;cursor:default;white-space:nowrap;-moz-user-select:none;height:22px;line-height:22px;vertical-align:middle;margin-top:1px;margin-left:0;margin-right:2px;padding-left:4px;padding-right:4px;border-left:#ebebeb 1px solid;border-right:#ebebeb 1px solid;background:none;color:#000;}div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Disabled{color:#999!important;}div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Selected{background-image:url('imgs//dhxmenu_dhx_skyblue/dhxmenu_topselbg.gif')!important;background-repeat:repeat-x!important;background-position:top!important;border-left:#ffb951 1px solid!important;border-right:#ffb951 1px solid!important;}.dhtmlxMenu_dhx_skyblue_Middle div.top_sep{font-size:1px;cursor:default;-moz-user-select:none;background-image:url('imgs//dhxmenu_dhx_skyblue/dhxmenu_topsepbg.gif');background-repeat:no-repeat;background-position:top center;height:24px;position:relative;float:left;width:3px;margin-left:0;margin-right:2px;}.dhtmlxMenu_dhx_skyblue_Middle img.dhtmlxMenu_TopLevel_Item_Icon{float:left;margin:2px 2px 0 2px;width:18px;height:18px;}div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Normal div.top_level_text,div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Disabled div.top_level_text,div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Selected div.top_level_text{float:left;margin-left:2px;margin-right:2px;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon{position:absolute;background-color:#eaf2fb;border:#a4bed4 1px solid;overflow:hidden;padding-top:1px;padding-bottom:1px;}iframe.dhtmlxMenu_IE6CoverFix_dhx_skyblue{position:absolute;border:none;background:#000;filter:alpha(opacity=100);}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item{height:24px;cursor:default;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis{height:24px;cursor:default;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_selected{height:24px;cursor:default;background-image:url('imgs//dhxmenu_dhx_skyblue/dhxmenu_subselbg.gif')!important;background-repeat:repeat-x;background-position:top;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_icon{width:24px;text-align:left;-moz-user-select:none;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_icon img.sub_icon{width:18px;height:18px;margin-top:2px;margin-right:0;margin-left:6px;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_text{vertical-align:middle;padding-left:4px;padding-right:4px;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_item_text{font-family:Tahoma;font-size:11px;font-weight:normal;color:#000;white-space:nowrap;text-align:left;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_item_text{color:#999!important;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_hk{padding-left:8px;padding-right:8px;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_hk div.sub_item_hk{font-family:Tahoma;font-size:10px;color:#4985b7;text-align:right;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis td.sub_item_hk div.sub_item_hk{color:#cecece!important;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon tr.sub_sep{height:3px;font-size:1px;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon div.sub_sep{font-size:1px;background-image:url('imgs//dhxmenu_dhx_skyblue/dhxmenu_subsepbg.gif');background-repeat:repeat-x;background-position:top;cursor:default;height:3px;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.complex_arrow{width:4px;height:24px;background-image:url('imgs//dhxmenu_dhx_skyblue/dhtmlxmenu_subar.gif');background-repeat:no-repeat;background-position:0 0;float:right;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_selected div.complex_arrow{background-position:-4px 0!important;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.complex_arrow{background-position:-8px 0!important;}div.dhtmlxMenu_SubLevelArea_Item_Arrow_Loading{position:absolute;width:11px;height:11px;background-position:center top;background-repeat:no-repeat;background-image:url('imgs//dhxmenu_dhx_skyblue/dhtmlxmenu_loader.gif');}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon_left div.dhtmlxMenu_SubLevelArea_Item_Arrow_Loading{top:6px;left:none;right:6px;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon_right div.dhtmlxMenu_SubLevelArea_Item_Arrow_Loading{top:6px;right:none;left:6px;_right:-38px;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Arrow{width:100%;height:100%;background-repeat:no-repeat;background-position:center center;background-color:#eaf2fb;text-align:center;overflow:hidden;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Arrow div.dhtmlxMenu_SubLevelArea_Arrow_Icon{position:relative;margin-top:5px;margin-left:auto;margin-right:auto;width:9px;height:5px;background-repeat:no-repeat;background-image:url('imgs//dhxmenu_dhx_skyblue/dhtmlxmenu_upar.gif');}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_ArrowUp,div.dhtmlxMenu_dhx_skyblue_SubLevelArea_ArrowUp_Over,div.dhtmlxMenu_dhx_skyblue_SubLevelArea_ArrowUp_Disabled{position:absolute;height:16px;height= 18px;padding:1px 1px 0 1px;font-size:1px;background-color:#eaf2fb;border:#a4bed4 1px solid;border-bottom:none;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_ArrowUp div.dhtmlxMenu_SubLevelArea_Arrow_Icon{background-position:-27px 0;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_ArrowUp_Over div.dhtmlxMenu_SubLevelArea_Arrow_Icon{background-position:-36px 0;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_ArrowUp_Disabled div.dhtmlxMenu_SubLevelArea_Arrow_Icon{background-position:-45px 0;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_ArrowDown,div.dhtmlxMenu_dhx_skyblue_SubLevelArea_ArrowDown_Over,div.dhtmlxMenu_dhx_skyblue_SubLevelArea_ArrowDown_Disabled{position:absolute;height:16px;height= 18px;font-size:1px;padding:1px 1px 0 1px;background-color:#eaf2fb;border:#a4bed4 1px solid;border-top:none;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_ArrowDown div.dhtmlxMenu_SubLevelArea_Arrow_Icon{background-position:0 0;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_ArrowDown_Over div.dhtmlxMenu_SubLevelArea_Arrow_Icon{background-position:-9px 0;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_ArrowDown_Disabled div.dhtmlxMenu_SubLevelArea_Arrow_Icon{background-position:-18px 0;}.dhtmlxMenu_dhx_skyblue_Middle div.dhtmlxMenu_TopLevel_Text_right{position:absolute;top:5px;left:none;right:8px;font-family:Tahoma;font-size:11px;color:#000;cursor:default;}.dhtmlxMenu_dhx_skyblue_Middle div.dhtmlxMenu_TopLevel_Text_left{position:absolute;top:5px;right:none;left:8px;font-family:Tahoma;font-size:11px;color:#000;cursor:default;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon{float:left;margin:0 2px 0 2px;width:18px;height:18px;background-position:top right;background-repeat:no-repeat;background-image:url('imgs//dhxmenu_dhx_skyblue/dhtmlxmenu_chrd.gif');}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.chbx_0{background-position:0 0!important;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.chbx_1{background-position:-18px 0!important;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.chbx_0{background-position:-36px 0!important;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.chbx_1{background-position:-54px 0!important;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.rdbt_0{background-position:-72px 0!important;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.rdbt_1{background-position:-90px 0!important;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.rdbt_0{background-position:-108px 0!important;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.rdbt_1{background-position:-126px 0!important;}.dhx_toolbar_base_dhx_skyblue{white-space:nowrap;overflow:hidden;height:35px;background-image:url('imgs//dhxtoolbar_dhx_skyblue/dhxtoolbar_bg.gif');background-repeat:repeat-x;position:relative;padding-left:5px;padding-right:5px;cursor:default;}.dhx_toolbar_base_dhx_skyblue div.dhxtoolbar_hdrline_ll{position:absolute;height:27px;border-left:#a4bed4 1px solid;left:0;top:0;-moz-user-select:none;}.dhx_toolbar_base_dhx_skyblue div.dhxtoolbar_hdrline_l{position:absolute;height:25px;border-left:#fff 1px solid;left:1px;top:1px;-moz-user-select:none;}.dhx_toolbar_base_dhx_skyblue div.dhxtoolbar_hdrline_rr{position:absolute;height:27px;border-right:#a4bed4 1px solid;right:0;top:0;-moz-user-select:none;}.dhx_toolbar_base_dhx_skyblue div.dhxtoolbar_hdrline_r{position:absolute;height:25px;border-right:#fff 1px solid;right:1px;top:1px;-moz-user-select:none;}.dhx_toolbar_base_dhx_skyblue div.float_left{float:left;aborder:#909090 1px solid;}.dhx_toolbar_base_dhx_skyblue div.float_right{float:right;aborder:#909090 1px solid;}.dhx_toolbar_base_dhx_skyblue div.dhx_toolbar_btn{float:left;margin-top:2px;color:#000;padding:3px;padding-bottom:2px;margin-right:1px;-moz-user-select:-moz-none;position:relative;}.dhx_toolbar_base_dhx_skyblue div.dhx_toolbar_btn.dis{color:#999!important;}.dhx_toolbar_base_dhx_skyblue div.dhx_toolbar_btn.over{border:#ffb552 1px solid;padding:2px;padding-bottom:1px;background-image:url('imgs//dhxtoolbar_dhx_skyblue/dhxtoolbar_bg_over.gif');background-position:top;background-repeat:repeat-x;}.dhx_toolbar_base_dhx_skyblue div.dhx_toolbar_btn.pres{border:#ffbe51 1px solid;padding:2px;padding-bottom:1px;background-image:url('imgs//dhxtoolbar_dhx_skyblue/dhxtoolbar_bg_pressed.gif');background-position:top;background-repeat:repeat-x;}.dhx_toolbar_base_dhx_skyblue div.dhx_toolbar_btn img{float:left;width:18px;height:18px;margin:0 1px;-moz-user-select:none;}.dhx_toolbar_base_dhx_skyblue div.dhx_toolbar_btn div{float:left;font-family:Tahoma;font-size:11px;margin:2px 2px 0 2px;height:16px;-moz-user-select:none;}.dhx_toolbar_base_dhx_skyblue div.dhx_toolbar_arw{float:left;margin-top:2px;color:#000;padding:3px;padding-bottom:2px;margin-right:1px;margin-left:-2px;-moz-user-select:none;}.dhx_toolbar_base_dhx_skyblue div.dhx_toolbar_arw.over{border:#ffb552 1px solid;padding:2px;padding-bottom:1px;background-image:url('imgs//dhxtoolbar_dhx_skyblue/dhxtoolbar_bg_over.gif');background-position:top;background-repeat:repeat-x;}.dhx_toolbar_base_dhx_skyblue div.dhx_toolbar_arw.pres{border:#ffbe51 1px solid;padding:2px;padding-bottom:1px;background-image:url('imgs//dhxtoolbar_dhx_skyblue/dhxtoolbar_bg_pressed.gif');background-position:top;background-repeat:repeat-x;}.dhx_toolbar_base_dhx_skyblue div.dhx_toolbar_arw div.arwimg{float:left;background-image:url('imgs//dhxtoolbar_dhx_skyblue/dhxtoolbar_btnarrow.gif');background-repeat:no-repeat;background-position:center;font-size:11px;font-family:Tahoma;height:16px;margin:2px 0 0 0;width:7px;}.dhx_toolbar_base_dhx_skyblue div.dhx_toolbar_arw.dis div.arwimg{background-image:url('imgs//dhxtoolbar_dhx_skyblue/dhxtoolbar_btnarrow_dis.gif');}div.dhx_toolbar_poly_dhx_skyblue{position:absolute;margin:0;padding-top:1px;border:#a4bed4 1px solid;background-color:#eaf2fb;overflow:hidden;cursor:default;-moz-user-select:none;}div.dhx_toolbar_poly_dhx_skyblue table.buttons_cont tr.tr_btn{height:22px;background-repeat:repeat-x;}div.dhx_toolbar_poly_dhx_skyblue table.buttons_cont tr.tr_btn.tr_btn_over{background-image:url('imgs//dhxtoolbar_dhx_skyblue/dhxtoolbar_subbg_over.gif');}div.dhx_toolbar_poly_dhx_skyblue table.buttons_cont tr.tr_btn.tr_btn_selected{background-image:url('imgs//dhxtoolbar_dhx_skyblue/dhxtoolbar_subbg_sel.gif');}div.dhx_toolbar_poly_dhx_skyblue table.buttons_cont td.td_btn_sep{font-size:1px;height:3px;vertical-align:top;}div.dhx_toolbar_poly_dhx_skyblue td.td_btn_sep div.btn_sep{font-size:1px;cursor:default;border-top:#FFF 1px solid;background-color:#c7d4df;padding-top:1px;-moz-user-select:none;}div.dhx_toolbar_poly_dhx_skyblue table.buttons_cont td.td_btn_img{font-size:1px;width:22px;text-align:center;vertical-align:middle;}div.dhx_toolbar_poly_dhx_skyblue td.td_btn_img img.btn_sel_img{position:relative;width:16px;height:16px;margin-left:3px;margin-right:3px;-moz-user-select:none;}div.dhx_toolbar_poly_dhx_skyblue table.buttons_cont td.td_btn_txt{font-size:1px;vertical-align:middle;padding-left:1px;padding-right:10px;}div.dhx_toolbar_poly_dhx_skyblue td.td_btn_txt div.btn_sel_text{float:left;font-family:Tahoma;font-size:11px;color:#000;white-space:nowrap;}div.dhx_toolbar_poly_dhx_skyblue tr.tr_btn_disabled td.td_btn_txt div.btn_sel_text{color:#999!important;}.dhx_toolbar_base_dhx_skyblue div.dhx_toolbar_sep{float:left;height:24px;width:2px;margin-top:1px;font-size:1px;margin-right:1px;margin-left:0;background-image:url('imgs//dhxtoolbar_dhx_skyblue/dhxtoolbar_sep_bg.gif');background-position:top;background-repeat:no-repeat;-moz-user-select:none;}.dhx_toolbar_base_dhx_skyblue div.dhx_toolbar_text{float:left;vertical-align:middle;font-family:Tahoma;font-size:11px;color:#000;margin-top:7px;margin-right:1px;margin-left:0;padding:0 4px;-moz-user-select:none;}.dhx_toolbar_base_dhx_skyblue div.dhx_toolbar_btn .inp{position:relative;float:left;border:#a4bed4 1px solid;font-family:Tahoma;font-size:11px;padding:1px;margin:0;direction:ltr;}.dhx_toolbar_base_dhx_skyblue div.dhx_toolbar_btn div.sl_bg_l{background-image:url('imgs//dhxtoolbar_dhx_skyblue/dhxtoolbar_slider_left.gif');background-position:right;background-repeat:no-repeat;width:2px;font-size:1px;margin-right:0;}.dhx_toolbar_base_dhx_skyblue div.dhx_toolbar_btn.dis div.sl_bg_l{background-image:url('imgs//dhxtoolbar_dhx_skyblue/dhxtoolbar_slider_left_dis.gif');}.dhx_toolbar_base_dhx_skyblue div.dhx_toolbar_btn div.sl_bg_m{background-image:url('imgs//dhxtoolbar_dhx_skyblue/dhxtoolbar_slider_middle.gif');background-position:center;background-repeat:repeat-x;font-size:1px;margin-left:0;margin-right:0;}.dhx_toolbar_base_dhx_skyblue div.dhx_toolbar_btn.dis div.sl_bg_m{background-image:url('imgs//dhxtoolbar_dhx_skyblue/dhxtoolbar_slider_middle_dis.gif');}.dhx_toolbar_base_dhx_skyblue div.dhx_toolbar_btn div.sl_bg_r{background-image:url('imgs//dhxtoolbar_dhx_skyblue/dhxtoolbar_slider_right.gif');background-position:left;background-repeat:no-repeat;width:2px;font-size:1px;margin-left:0;}.dhx_toolbar_base_dhx_skyblue div.dhx_toolbar_btn.dis div.sl_bg_r{background-image:url('imgs//dhxtoolbar_dhx_skyblue/dhxtoolbar_slider_right_dis.gif');}.dhx_toolbar_base_dhx_skyblue div.dhx_toolbar_btn div.sl_pen{position:absolute;top:2px;width:15px;height:15px;background-repeat:no-repeat;-moz-user-select:none;cursor:default;background-image:url('imgs//dhxtoolbar_dhx_skyblue/dhxtoolbar_slider_pen_def.gif');border:none;}.dhx_toolbar_base_dhx_skyblue div.dhx_toolbar_btn div.sl_pen.over{background-image:url('imgs//dhxtoolbar_dhx_skyblue/dhxtoolbar_slider_pen_over.gif')!important;}.dhx_toolbar_base_dhx_skyblue div.dhx_toolbar_btn.dis div.sl_pen{background-image:url('imgs//dhxtoolbar_dhx_skyblue/dhxtoolbar_slider_pen_dis.gif')!important;}div.dhx_toolbar_slider_label_dhx_skyblue{position:absolute;border:#ffb052 1px solid;background-color:#ffe5ad;font-family:Tahoma;font-size:10px;color:#000;font-weight:normal;padding:0 2px 0 2px;cursor:default;-moz-user-select:none;z-index:8422;}.dhx_toolbar_base_dhx_skyblue.in_layoutcell{background-image:url('imgs//dhxtoolbar_dhx_skyblue/dhxtoolbar_bg_layoutcell.gif')!important;}.dhx_toolbar_base_dhx_skyblue.in_layoutcell div.dhxtoolbar_hdrline_ll{display:none;}.dhx_toolbar_base_dhx_skyblue.in_layoutcell div.dhxtoolbar_hdrline_rr{display:none;}.dhx_toolbar_base_dhx_skyblue.in_layoutcell div.dhxtoolbar_hdrline_l{left:0!important;}.dhx_toolbar_base_dhx_skyblue.in_layoutcell div.dhxtoolbar_hdrline_r{right:0!important;}.dhx_toolbar_base_dhx_skyblue.in_acccell{background-image:url('imgs//dhxtoolbar_dhx_skyblue/dhxtoolbar_bg_acccell.gif')!important;}.dhx_toolbar_base_dhx_skyblue.in_acccell div.dhxtoolbar_hdrline_ll{display:none;}.dhx_toolbar_base_dhx_skyblue.in_acccell div.dhxtoolbar_hdrline_rr{display:none;}.dhx_toolbar_base_dhx_skyblue.in_acccell div.dhxtoolbar_hdrline_l{left:0!important;}.dhx_toolbar_base_dhx_skyblue.in_acccell div.dhxtoolbar_hdrline_r{right:0!important;}.dhx_tabbar_zone_dhx_skyblue .dhx_toolbar_base_dhx_skyblue div.dhxtoolbar_hdrline_ll{display:none;}.dhx_tabbar_zone_dhx_skyblue .dhx_toolbar_base_dhx_skyblue div.dhxtoolbar_hdrline_rr{display:none;}.dhx_tabbar_zone_dhx_skyblue .dhx_toolbar_base_dhx_skyblue div.dhxtoolbar_hdrline_l{left:0!important;}.dhx_tabbar_zone_dhx_skyblue .dhx_toolbar_base_dhx_skyblue div.dhxtoolbar_hdrline_r{right:0!important;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_wins_body_inner .dhx_toolbar_base_dhx_skyblue,.dhx_acc_base_dhx_skyblue .dhx_toolbar_base_dhx_skyblue,table.dhtmlxLayoutPolyContainer_dhx_skyblue td.dhtmlxLayoutSinglePoly .dhx_toolbar_base_dhx_skyblue{border:none;}.dhx_toolbar_base_dhx_skyblue div.dhxtoolbar_spacer.float_right{float:right;}.dhx_toolbar_base_dhx_skyblue div.dhxtoolbar_spacer.float_left{float:left;}.dhxtoolbar_maxopen_test{position:absolute;width:200px;height:50px;overflow-x:none;overflow-y:auto;left:-300px;top:100px;border:1px solid white;visibility:hidden;}.dhxtoolbar_maxopen_test2{height:200px;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_active div.dhtmlx_wins_body_outer{position:absolute;overflow:hidden;left:0;top:0;abackground-color:#FFF;background-color:#c2d5dc;background-image:url('imgs//dhxwins_dhx_skyblue/active/header_bg.gif');background-repeat:repeat-x;background-position:top;border:#a4bed4 1px solid;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_active div.dhtmlx_wins_body_outer div.dhtmlx_wins_body_inner{position:absolute;overflow:hidden;aborder:#c2d5dc 5px solid;aborder:#a4bed4 1px solid;aborder-top:none;background-color:#ebebeb!important;border:#ebebeb 2px solid!important;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_active .dhtmlx_wins_no_header{border-top:#c2d5dc 6px solid!important;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_active div.dhtmlx_wins_title{position:absolute;top:0;height:29px;line-height:29px;vertical-align:middle;padding-left:28px;left:0;color:#000;font-family:Tahoma;font-size:11px;font-weight:bold;cursor:default;white-space:nowrap;overflow:hidden;-moz-user-select:none;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_active div.dhtmlx_wins_progress{background-image:url('imgs//dhxwins_dhx_skyblue/active/progress.gif');}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_active div.dhtmlx_wins_btns .dhtmlx_button_close_default{background-position:-96px 0;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_active div.dhtmlx_wins_btns .dhtmlx_button_close_disabled{background-position:-96px -48px;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_active div.dhtmlx_wins_btns .dhtmlx_button_close_over_default{background-position:-96px -16px;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_active div.dhtmlx_wins_btns .dhtmlx_button_close_over_pressed{background-position:-96px -32px;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_active div.dhtmlx_wins_btns .dhtmlx_button_minmax1_default{background-position:-64px 0;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_active div.dhtmlx_wins_btns .dhtmlx_button_minmax1_disabled{background-position:-64px -48px;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_active div.dhtmlx_wins_btns .dhtmlx_button_minmax1_over_default{background-position:-64px -16px;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_active div.dhtmlx_wins_btns .dhtmlx_button_minmax1_over_pressed{background-position:-64px -32px;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_active div.dhtmlx_wins_btns .dhtmlx_button_minmax2_default{background-position:-80px 0;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_active div.dhtmlx_wins_btns .dhtmlx_button_minmax2_disabled{background-position:-80px -48px;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_active div.dhtmlx_wins_btns .dhtmlx_button_minmax2_over_default{background-position:-80px -16px;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_active div.dhtmlx_wins_btns .dhtmlx_button_minmax2_over_pressed{background-position:-80px -32px;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_active div.dhtmlx_wins_btns .dhtmlx_button_park_default{background-position:-48px 0;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_active div.dhtmlx_wins_btns .dhtmlx_button_park_disabled{background-position:-48px -48px;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_active div.dhtmlx_wins_btns .dhtmlx_button_park_over_default{background-position:-48px -16px;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_active div.dhtmlx_wins_btns .dhtmlx_button_park_over_pressed{background-position:-48px -32px;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_active div.dhtmlx_wins_btns .dhtmlx_button_stick_default{background-position:0 0;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_active div.dhtmlx_wins_btns .dhtmlx_button_stick_disabled{background-position:0 -48px;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_active div.dhtmlx_wins_btns .dhtmlx_button_stick_over_default{background-position:0 -16px;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_active div.dhtmlx_wins_btns .dhtmlx_button_stick_over_pressed{background-position:0 -32px;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_active div.dhtmlx_wins_btns .dhtmlx_button_sticked_default{background-position:-16px 0;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_active div.dhtmlx_wins_btns .dhtmlx_button_sticked_disabled{background-position:-16px -48px;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_active div.dhtmlx_wins_btns .dhtmlx_button_sticked_over_default{background-position:-16px -16px;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_active div.dhtmlx_wins_btns .dhtmlx_button_sticked_over_pressed{background-position:-16px -32px;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_active div.dhtmlx_wins_btns .dhtmlx_button_help_default{background-position:-32px 0;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_active div.dhtmlx_wins_btns .dhtmlx_button_help_disabled{background-position:-32px -48px;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_active div.dhtmlx_wins_btns .dhtmlx_button_help_over_default{background-position:-32px -16px;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_active div.dhtmlx_wins_btns .dhtmlx_button_help_over_pressed{background-position:-32px -32px;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_active div.dhtmlx_wins_btns .dhtmlx_button_dock_default{background-position:-112px 0;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_active div.dhtmlx_wins_btns .dhtmlx_button_dock_disabled{background-position:-112px -48px;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_active div.dhtmlx_wins_btns .dhtmlx_button_dock_over_default{background-position:-112px -16px;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_active div.dhtmlx_wins_btns .dhtmlx_button_dock_over_pressed{background-position:-112px -32px;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_inactive div.dhtmlx_wins_body_outer{position:absolute;overflow:hidden;left:0;top:0;background-color:#dbe6f3;background-image:url('imgs//dhxwins_dhx_skyblue/inactive/header_bg.gif');background-repeat:repeat-x;background-position:top;border:#c9d9e6 1px solid;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_inactive div.dhtmlx_wins_body_outer div.dhtmlx_wins_body_inner{position:absolute;overflow:hidden;aaborder:#dbe6f3 5px solid;border-top:none;aabackground-color:#FFF;background-color:#ebebeb!important;border:#ebebeb 2px solid!important;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_inactive .dhtmlx_wins_no_header{border-top:#c2d5dc 6px solid;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_inactive div.dhtmlx_wins_title{position:absolute;top:0;height:29px;line-height:29px;vertical-align:middle;padding-left:28px;left:0;color:#686868;font-family:Tahoma;font-size:11px;font-weight:bold;cursor:default;white-space:nowrap;overflow:hidden;-moz-user-select:none;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_inactive div.dhtmlx_wins_progress{background-image:url('imgs//dhxwins_dhx_skyblue/inactive/progress.gif');}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_inactive div.dhtmlx_wins_btns .dhtmlx_button_close_default{background-position:-96px -64px;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_inactive div.dhtmlx_wins_btns .dhtmlx_button_close_disabled{background-position:-96px -112px;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_inactive div.dhtmlx_wins_btns .dhtmlx_button_close_over_default{background-position:-96px -80px;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_inactive div.dhtmlx_wins_btns .dhtmlx_button_close_over_pressed{background-position:-96px -96px;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_inactive div.dhtmlx_wins_btns .dhtmlx_button_minmax1_default{background-position:-64px -64px;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_inactive div.dhtmlx_wins_btns .dhtmlx_button_minmax1_disabled{background-position:-64px -112px;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_inactive div.dhtmlx_wins_btns .dhtmlx_button_minmax1_over_default{background-position:-64px -80px;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_inactive div.dhtmlx_wins_btns .dhtmlx_button_minmax1_over_pressed{background-position:-64px -96px;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_inactive div.dhtmlx_wins_btns .dhtmlx_button_minmax2_default{background-position:-80px -64px;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_inactive div.dhtmlx_wins_btns .dhtmlx_button_minmax2_disabled{background-position:-80px -112px;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_inactive div.dhtmlx_wins_btns .dhtmlx_button_minmax2_over_default{background-position:-80px -80px;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_inactive div.dhtmlx_wins_btns .dhtmlx_button_minmax2_over_pressed{background-position:-80px -96px;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_inactive div.dhtmlx_wins_btns .dhtmlx_button_park_default{background-position:-48px -64px;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_inactive div.dhtmlx_wins_btns .dhtmlx_button_park_disabled{background-position:-48px -112px;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_inactive div.dhtmlx_wins_btns .dhtmlx_button_park_over_default{background-position:-48px -80px;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_inactive div.dhtmlx_wins_btns .dhtmlx_button_park_over_pressed{background-position:-48px -96px;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_inactive div.dhtmlx_wins_btns .dhtmlx_button_stick_default{background-position:0 -64px;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_inactive div.dhtmlx_wins_btns .dhtmlx_button_stick_disabled{background-position:0 -112px;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_inactive div.dhtmlx_wins_btns .dhtmlx_button_stick_over_default{background-position:0 -80px;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_inactive div.dhtmlx_wins_btns .dhtmlx_button_stick_over_pressed{background-position:0 -96px;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_inactive div.dhtmlx_wins_btns .dhtmlx_button_sticked_default{background-position:-16px -64px;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_inactive div.dhtmlx_wins_btns .dhtmlx_button_sticked_disabled{background-position:-16px -112px;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_inactive div.dhtmlx_wins_btns .dhtmlx_button_sticked_over_default{background-position:-16px -80px;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_inactive div.dhtmlx_wins_btns .dhtmlx_button_sticked_over_pressed{background-position:-16px -96px;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_inactive div.dhtmlx_wins_btns .dhtmlx_button_help_default{background-position:-32px -64px;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_inactive div.dhtmlx_wins_btns .dhtmlx_button_help_disabled{background-position:-32px -112px;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_inactive div.dhtmlx_wins_btns .dhtmlx_button_help_over_default{background-position:-32px -80px;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_inactive div.dhtmlx_wins_btns .dhtmlx_button_help_over_pressed{background-position:-32px -96px;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_inactive div.dhtmlx_wins_btns .dhtmlx_button_dock_default{background-position:-112px -64px;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_inactive div.dhtmlx_wins_btns .dhtmlx_button_dock_disabled{background-position:-112px -112px;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_inactive div.dhtmlx_wins_btns .dhtmlx_button_dock_over_default{background-position:-112px -80px;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_window_inactive div.dhtmlx_wins_btns .dhtmlx_button_dock_over_pressed{background-position:-112px -96px;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_wins_icon{position:absolute;top:7px;left:8px;width:16px;height:16px;border:none;z-index:1;-moz-user-select:none;background-repeat:no-repeat;font-size:1px;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_wins_btns{position:absolute;right:5px;top:6px;font-size:1px;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_wins_btns div.dhtmlx_wins_btns_button{float:left;width:16px;height:16px;background-image:url('imgs//dhxwins_dhx_skyblue/buttons.gif');}.dhtmlx_skin_dhx_skyblue div.dhtmlx_wins_resizer_t{position:absolute;left:0;top:0;width:100%;height:5px;font-size:1px;background:#FFF;z-index:1;filter:alpha(opacity=0);-moz-opacity:0;opacity:0;-moz-user-select:none;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_wins_resizer_l{position:absolute;left:0;top:0;width:5px;height:100%;font-size:1px;background:#FFF;z-index:1;filter:alpha(opacity=0);-moz-opacity:0;opacity:0;-moz-user-select:none;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_wins_resizer_r{position:absolute;right:0;top:0;width:5px;height:100%;font-size:1px;background:#FFF;z-index:1;filter:alpha(opacity=0);-moz-opacity:0;opacity:0;-moz-user-select:none;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_wins_resizer_b{position:absolute;left:0;bottom:0;width:100%;height:5px;font-size:1px;background:#FFF;z-index:1;filter:alpha(opacity=0);-moz-opacity:0;opacity:0;-moz-user-select:none;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_wins_progress{position:absolute;top:5px;left:5px;width:16px;height:16px;background-repeat:no-repeat;}.dhtmlx_skin_dhx_skyblue div.dhxcont_sb_container{position:relative;height:24px;}.dhtmlx_skin_dhx_skyblue div.dhxcont_sb_container div.dhxcont_statusbar{position:relative;top:2px;height:22px;line-height:22px;background-image:url('imgs//dhxwins_dhx_skyblue/statusbar_bg.gif');background-repeat:repeat-x;width:auto;padding:0 4px;overflow:hidden;white-space:nowrap;border-top:none;border-bottom:none;border-left:#a4bed4 1px solid;border-right:#a4bed4 1px solid;font-family:Tahoma;font-size:11px;vertical-align:middle;color:#000;}.dhtmlx_skin_dhx_skyblue div.white_line{border-left:#FFF 1px solid;border-right:#FFF 1px solid;border-top:#FFF 1px solid;height:100%;}.dhtmlx_skin_dhx_skyblue div.white_line2{position:absolute;bottom:0;height:10px;width:100%;border-bottom:#FFF 1px solid;font-size:1px;}.dhtmlx_skin_dhx_skyblue .dhtmlxMenu_in_Window{aborder-bottom:#cedce8 1px solid;border-bottom:#a4bed4 1px solid;} \ No newline at end of file diff --git a/themes/connector/samples/dhtmlx/dhtmlx.js b/themes/connector/samples/dhtmlx/dhtmlx.js deleted file mode 100644 index dafcd01..0000000 --- a/themes/connector/samples/dhtmlx/dhtmlx.js +++ /dev/null @@ -1,1896 +0,0 @@ -/* -Copyright Dinamenta, UAB http://www.dhtmlx.com -You allowed to use this component or parts of it under GPL terms -To use it on other terms or get Professional edition of the component please contact us at sales@dhtmlx.com -*/dhtmlx=function(a){for(var b in a)dhtmlx[b]=a[b];return dhtmlx};dhtmlx.extend_api=function(a,b,c){var d=window[a];if(d)window[a]=function(a){if(a&&typeof a=="object"&&!a.tagName){var c=d.apply(this,b._init?b._init(a):arguments),g;for(g in dhtmlx)if(b[g])this[b[g]](dhtmlx[g]);for(g in a)if(b[g])this[b[g]](a[g]);else g.indexOf("on")==0&&this.attachEvent(g,a[g])}else c=d.apply(this,arguments);b._patch&&b._patch(this);return c||this},window[a].prototype=d.prototype,c&&dhtmlXHeir(window[a].prototype,c)}; -dhtmlxAjax={get:function(a,b){var c=new dtmlXMLLoaderObject(!0);c.async=arguments.length<3;c.waitCall=b;c.loadXML(a);return c},post:function(a,b,c){var d=new dtmlXMLLoaderObject(!0);d.async=arguments.length<4;d.waitCall=c;d.loadXML(a,!0,b);return d},getSync:function(a){return this.get(a,null,!0)},postSync:function(a,b){return this.post(a,b,null,!0)}}; -function dtmlXMLLoaderObject(a,b,c,d){this.xmlDoc="";this.async=typeof c!="undefined"?c:!0;this.onloadAction=a||null;this.mainObject=b||null;this.waitCall=null;this.rSeed=d||!1;return this} -dtmlXMLLoaderObject.prototype.waitLoadFunction=function(a){var b=!0;return this.check=function(){if(a&&a.onloadAction!=null&&(!a.xmlDoc.readyState||a.xmlDoc.readyState==4)&&b){b=!1;if(typeof a.onloadAction=="function")a.onloadAction(a.mainObject,null,null,null,a);if(a.waitCall)a.waitCall.call(this,a),a.waitCall=null}}}; -dtmlXMLLoaderObject.prototype.getXMLTopNode=function(a,b){if(this.xmlDoc.responseXML){var c=this.xmlDoc.responseXML.getElementsByTagName(a);c.length==0&&a.indexOf(":")!=-1&&(c=this.xmlDoc.responseXML.getElementsByTagName(a.split(":")[1]));var d=c[0]}else d=this.xmlDoc.documentElement;if(d)return this._retry=!1,d;if(_isIE&&!this._retry){var e=this.xmlDoc.responseText,b=this.xmlDoc;this._retry=!0;this.xmlDoc=new ActiveXObject("Microsoft.XMLDOM");this.xmlDoc.async=!1;this.xmlDoc.loadXML(e);return this.getXMLTopNode(a, -b)}dhtmlxError.throwError("LoadXML","Incorrect XML",[b||this.xmlDoc,this.mainObject]);return document.createElement("DIV")}; -dtmlXMLLoaderObject.prototype.loadXMLString=function(a){if(_isIE)this.xmlDoc=new ActiveXObject("Microsoft.XMLDOM"),this.xmlDoc.async=this.async,this.xmlDoc.onreadystatechange=function(){},this.xmlDoc.loadXML(a);else{var b=new DOMParser;this.xmlDoc=b.parseFromString(a,"text/xml")}if(this.onloadAction)this.onloadAction(this.mainObject,null,null,null,this);if(this.waitCall)this.waitCall(),this.waitCall=null}; -dtmlXMLLoaderObject.prototype.loadXML=function(a,b,c,d){this.rSeed&&(a+=(a.indexOf("?")!=-1?"&":"?")+"a_dhx_rSeed="+(new Date).valueOf());this.filePath=a;this.xmlDoc=!_isIE&&window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP");if(this.async)this.xmlDoc.onreadystatechange=new this.waitLoadFunction(this);this.xmlDoc.open(b?"POST":"GET",a,this.async);d?(this.xmlDoc.setRequestHeader("User-Agent","dhtmlxRPC v0.1 ("+navigator.userAgent+")"),this.xmlDoc.setRequestHeader("Content-type", -"text/xml")):b&&this.xmlDoc.setRequestHeader("Content-type","application/x-www-form-urlencoded");this.xmlDoc.setRequestHeader("X-Requested-With","XMLHttpRequest");this.xmlDoc.send(c);this.async||(new this.waitLoadFunction(this))()}; -dtmlXMLLoaderObject.prototype.destructor=function(){return this.setXSLParamValue=this.getXMLTopNode=this.xmlNodeToJSON=this.doSerialization=this.loadXMLString=this.loadXML=this.doXSLTransToString=this.doXSLTransToObject=this.doXPathOpera=this.doXPath=this.xmlDoc=this.mainObject=this.onloadAction=this.filePath=this.rSeed=this.async=this._retry=this._getAllNamedChilds=this._filterXPath=null}; -dtmlXMLLoaderObject.prototype.xmlNodeToJSON=function(a){for(var b={},c=0;c-1&&(_isChrome=!0); -navigator.userAgent.indexOf("Safari")!=-1||navigator.userAgent.indexOf("Konqueror")!=-1?(_KHTMLrv=parseFloat(navigator.userAgent.substr(navigator.userAgent.indexOf("Safari")+7,5)),_KHTMLrv>525?(_isFF=!0,_FFrv=1.9):_isKHTML=!0):navigator.userAgent.indexOf("Opera")!=-1?(_isOpera=!0,_OperaRv=parseFloat(navigator.userAgent.substr(navigator.userAgent.indexOf("Opera")+6,3))):navigator.appName.indexOf("Microsoft")!=-1?(_isIE=!0,navigator.appVersion.indexOf("MSIE 8.0")!=-1&&document.compatMode!="BackCompat"&& -(_isIE=8),navigator.appVersion.indexOf("MSIE 9.0")!=-1&&document.compatMode!="BackCompat"&&(_isIE=8)):(_isFF=!0,_FFrv=parseFloat(navigator.userAgent.split("rv:")[1])); -dtmlXMLLoaderObject.prototype.doXPath=function(a,b,c,d){if(_isKHTML||!_isIE&&!window.XPathResult)return this.doXPathOpera(a,b);if(_isIE)return b||(b=this.xmlDoc.nodeName?this.xmlDoc:this.xmlDoc.responseXML),b||dhtmlxError.throwError("LoadXML","Incorrect XML",[b||this.xmlDoc,this.mainObject]),c!=null&&b.setProperty("SelectionNamespaces","xmlns:xsl='"+c+"'"),d=="single"?b.selectSingleNode(a):b.selectNodes(a)||[];else{var e=b;b||(b=this.xmlDoc.nodeName?this.xmlDoc:this.xmlDoc.responseXML);b||dhtmlxError.throwError("LoadXML", -"Incorrect XML",[b||this.xmlDoc,this.mainObject]);b.nodeName.indexOf("document")!=-1?e=b:(e=b,b=b.ownerDocument);var f=XPathResult.ANY_TYPE;if(d=="single")f=XPathResult.FIRST_ORDERED_NODE_TYPE;var g=[],h=b.evaluate(a,e,function(){return c},f,null);if(f==XPathResult.FIRST_ORDERED_NODE_TYPE)return h.singleNodeValue;for(var i=h.iterateNext();i;)g[g.length]=i,i=h.iterateNext();return g}};function L(){if(!this.catches)this.catches=[];return this}L.prototype.catchError=function(a,b){this.catches[a]=b}; -L.prototype.throwError=function(a,b,c){if(this.catches[a])return this.catches[a](a,b,c);if(this.catches.ALL)return this.catches.ALL(a,b,c);alert("Error type: "+a+"\nDescription: "+b);return null};window.dhtmlxError=new L; -dtmlXMLLoaderObject.prototype.doXPathOpera=function(a,b){var c=a.replace(/[\/]+/gi,"/").split("/"),d=null,e=1;if(!c.length)return[];if(c[0]==".")d=[b];else if(c[0]=="")d=(this.xmlDoc.responseXML||this.xmlDoc).getElementsByTagName(c[e].replace(/\[[^\]]*\]/g,"")),e++;else return[];for(;e"+b+"
                     
                    ";h.onselectstart= -function(a){a=a||event;a.returnValue=!1};h.onclick=function(){if(c.multiMode||!c.idPull[this._idd]._isActive)c.multiMode?c.idPull[this._idd]._isActive?c.checkEvent("onBeforeActive")?c.callEvent("onBeforeActive",[this._idd,"close"])&&c.closeItem(this._idd,"dhx_accord_outer_event"):c.closeItem(this._idd,"dhx_accord_outer_event"):c.checkEvent("onBeforeActive")?c.callEvent("onBeforeActive",[this._idd,"open"])&&c.openItem(this._idd,"dhx_accord_outer_event"):c.openItem(this._idd,"dhx_accord_outer_event"): -c.checkEvent("onBeforeActive")?c.callEvent("onBeforeActive",[this._idd,"open"])&&c.openItem(this._idd,"dhx_accord_outer_event"):c.openItem(this._idd,"dhx_accord_outer_event")};h.onmouseover=function(){this.className="dhx_acc_item_label dhx_acc_item_lavel_hover"};h.onmouseout=function(){this.className="dhx_acc_item_label"};d.appendChild(h);var i=document.createElement("DIV");i.className="dhxcont_global_content_area";d.appendChild(i);var j=new dhtmlXContainer(d);j.setContent(i);d.adjustContent(d,this.sk.cell_height+ -this.sk.content_offset);d._id=a;this.idPull[a]=d;d.getId=function(){return this._id};d.setText=function(a){c.setText(this._id,a)};d.getText=function(){return c.getText(this._id)};d.open=function(){c.openItem(this._id)};d.isOpened=function(){return c.isActive(this._id)};d.close=function(){c.closeItem(this._id)};d.setIcon=function(a){c.setIcon(this._id,a)};d.clearIcon=function(){c.clearIcon(this._id)};d.dock=function(){c.dockItem(this._id)};d.undock=function(){c.undockItem(this._id)};d.show=function(){c.showItem(this._id)}; -d.hide=function(){c.hideItem(this._id)};d.setHeight=function(a){c.setItemHeight(this._id,a)};d.moveOnTop=function(){c.moveOnTop(this._id)};d._doOnAttachMenu=function(){c._reopenItem()};d._doOnAttachToolbar=function(){c._reopenItem()};d._doOnAttachStatusBar=function(){c._reopenItem()};this.openItem(a);this.multiMode||this._defineLastItem();return d};this.openItem=function(a,b,c){if(!this._openBuzy)if(this._enableOpenEffect&&!c)(!this.multiMode||!this.idPull[a]._isActive)&&this._openWithEffect(a,null, -null,null,null,b);else if(this.multiMode)for(var d in this.idPull){if(this.idPull[d]._isActive||d==a)this.idPull[d].style.height=this.idPull[d].h+"px",this.idPull[d].childNodes[1].style.display="",this.skin=="dhx_web"&&this.idPull[d]._setPadding(this.skinParams[this.skin].cell_pading_max,"dhxcont_acc_dhx_web"),this.idPull[d].adjustContent(this.idPull[d],this.sk.cell_height+this.sk.content_offset,null,null,this.idPull[d]==this._lastVisible()&&this.skin!="dhx_web"?0:this.sk.cell_space),this.idPull[d].updateNestedObjects(), -this.idPull[d]._isActive=!0,this._updateArrows(),b=="dhx_accord_outer_event"&&d==a&&this.callEvent("onActive",[a,!0])}else if(!a||!this.idPull[a]._isActive||c){var i=0;for(d in this.idPull)if(this.idPull[d].style.height=this.sk.cell_height+(this.idPull[d]!=this._lastVisible()&&d!=a?this.sk.cell_space:0)+"px",d!=a)this.idPull[d].childNodes[1].style.display="none",this.skin=="dhx_web"&&this.idPull[d]._setPadding(this.skinParams[this.skin].cell_pading_min,""),this.idPull[d]._isActive=!1,i+=this.idPull[d].offsetHeight; -i=this.base.offsetHeight-i;if(a)this.idPull[a].style.height=i+"px",this.idPull[a].childNodes[1].style.display="",this.skin=="dhx_web"&&this.idPull[a]._setPadding(this.skinParams[this.skin].cell_pading_max,"dhxcont_acc_dhx_web"),this.idPull[a].adjustContent(this.idPull[a],this.sk.cell_height+this.sk.content_offset,null,null,this.idPull[a]==this._lastVisible()?0:this.sk.cell_space),this.idPull[a].updateNestedObjects(),this.idPull[a]._isActive=!0,b=="dhx_accord_outer_event"&&this.callEvent("onActive", -[a,!0]);this._updateArrows()}};this._lastVisible=function(){for(var a=null,b=this.base.childNodes.length-1;b>=0;b--)!this.base.childNodes[b]._isHidden&&!a&&(a=this.base.childNodes[b]);return a};this.closeItem=function(a,b){if(this.idPull[a]!=null&&this.idPull[a]._isActive&&!this._openBuzy)this._enableOpenEffect?this._openWithEffect(this.multiMode?a:null,null,null,null,null,b):(this.idPull[a].style.height=this.sk.cell_height+(this.idPull[a]!=this._lastVisible()?this.sk.cell_space:0)+"px",this.idPull[a].childNodes[1].style.display= -"none",this.skin=="dhx_web"&&this.idPull[a]._setPadding(this.skinParams[this.skin].cell_pading_min,""),this.idPull[a]._isActive=!1,b=="dhx_accord_outer_event"&&this.callEvent("onActive",[a,!1]),this._updateArrows())};this._updateArrows=function(){for(var a in this.idPull){for(var b=this.idPull[a].childNodes[0],c=null,d=0;dd&&(m=d,k=!0);this.idPull[a].style.height= -m+"px"}if(b)m=parseInt(this.idPull[b].style.height)-i,md&&(k=!0)}if(b){var r=parseInt(this.idPull[b].style.height)-i;r=0;b--)if(this.base.childNodes[b].className.search("last_item")>=0){if(this.base.childNodes[b]._isHidden|| -a)this.base.childNodes[b].className=String(this.base.childNodes[b].className).replace(/last_item/gi,"")}else!this.base.childNodes[b]._isHidden&&!a&&(this.base.childNodes[b].className+=" last_item",a=!0)};this.removeItem=function(a){var b=this.idPull[a],c=b.childNodes[0];c.onclick=null;c.onmouseover=null;c.onmouseout=null;c.onselectstart=null;c._idd=null;c.className="";for(b._dhxContDestruct();c.childNodes.length>0;)c.removeChild(c.childNodes[0]);c.parentNode&&c.parentNode.removeChild(c);for(c=null;b.childNodes.length> -0;)b.removeChild(b.childNodes[0]);b._dhxContDestruct=null;b._doOnAttachMenu=null;b._doOnAttachToolbar=null;b._doOnAttachStatusBar=null;b.clearIcon=null;b.close=null;b.dock=null;b.getId=null;b.getText=null;b.hide=null;b.isOpened=null;b.open=null;b.setHeight=null;b.setIcon=null;b.setText=null;b.show=null;b.undock=null;b.parentNode&&b.parentNode.removeChild(b);b=null;this.idPull[a]=null;try{delete this.idPull[a]}catch(d){}};this.unload=function(){for(var a in this.skinParams){this.skinParams[a]=null; -try{delete this.skinParams[a]}catch(b){}}this.skinParams=null;for(a in this.idPull)this.removeItem(a);this.userOffset=this.unload=this.undockWindowunload=this.undockWindow=this.undockItem=this.w=this.skin=this.showItem=this.setText=this.setSkinParameters=this.setSkin=this.setSizes=this.setOffset=this.setItemHeight=this.setIconsPath=this.setIcon=this.setEffect=this.setActive=this.removeItem=this.openItem=this.multiMode=this.itemH=this.isActive=this.imagePath=this.hideItem=this.h=this.getText=this.forEachItem= -this.eventCatcher=this.enableMultiMode=this.dockWindow=this.dockItem=this.detachEvent=this.closeItem=this.clearIcon=this.checkEvent=this.cells=this.callEvent=this.attachEvent=this.addItem=this._updateArrows=this._reopenItem=this._lastVisible=this._initWindows=this.sk=this.idPull=null;if(this._isAccFS==!0)_isIE?window.detachEvent("onresize",this._doOnResize):window.removeEventListener("resize",this._doOnResize,!1),this._resizeTMTime=this._resizeTM=this._adjustToFullScreen=this._adjustAccordion=this._doOnResize= -this._isAccFS=null,document.body.className=String(document.body.className).replace("dhxacc_fullscreened",""),this.cont.obj._dhxContDestruct(),this.cont.dhxcont.parentNode&&this.cont.dhxcont.parentNode.removeChild(this.cont.dhxcont),this.cont.dhxcont=null,this.cont=this.cont.setContent=null;if(this.dhxWins)this.dhxWins.unload(),this.dhxWins=null;this.base.className="";this.base=null;for(a in this)try{delete this[a]}catch(c){}};this._initWindows();dhtmlxEventable(this);return this}else alert(this.i18n.dhxcontalert)} -dhtmlXAccordion.prototype.i18n={dhxcontalert:"dhtmlxcontainer.js is missed on the page"}; -(function(){dhtmlx.extend_api("dhtmlXAccordion",{_init:function(a){return[a.parent,a.skin]},icon_path:"setIconsPath",items:"_items",effect:"setEffect",multi_mode:"enableMultiMode"},{_items:function(a){for(var b=[],c=[],d=0;d

                    "; -this.vs[this.av].dhxcont.mainCont={};this.vs[this.av].dhxcont.mainCont[this.av]=this.vs[this.av].dhxcont.childNodes[0]};this.obj._genStr=function(a){for(var b="",c="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789",g=0;g0;)h.appendChild(g.childNodes[0])}a.view(this.av).setActive()}; -this.obj.adjustContent=function(a,b,c,g,h){this.vs[this.av].dhxcont.style.left=(this._offsetLeft||0)+"px";this.vs[this.av].dhxcont.style.top=(this._offsetTop||0)+b+"px";var i=a.clientWidth+(this._offsetWidth||0);if(g!==!0)this.vs[this.av].dhxcont.style.width=Math.max(0,i)+"px";if(g!==!0&&this.vs[this.av].dhxcont.offsetWidth>i)this.vs[this.av].dhxcont.style.width=Math.max(0,i*2-this.vs[this.av].dhxcont.offsetWidth)+"px";var j=a.clientHeight+(this._offsetHeight||0);this.vs[this.av].dhxcont.style.height= -Math.max(0,j-b)+(c!=null?c:0)+"px";if(this.vs[this.av].dhxcont.offsetHeight>j-b)this.vs[this.av].dhxcont.style.height=Math.max(0,(j-b)*2-this.vs[this.av].dhxcont.offsetHeight)+"px";if(h&&!isNaN(h))this.vs[this.av].dhxcont.style.height=Math.max(0,parseInt(this.vs[this.av].dhxcont.style.height)-h)+"px";if(this.vs[this.av]._minDataSizeH!=null&&parseInt(this.vs[this.av].dhxcont.style.height)this.vs[this.av].dhxcont.clientWidth))this.vs[this.av].dhxcont.mainCont[this.av].style.width=Math.max(0,this.vs[this.av].dhxcont.clientWidth*2-this.vs[this.av].dhxcont.mainCont[this.av].offsetWidth)+ -"px";var k=this.vs[this.av].menu!=null?!this.vs[this.av].menuHidden?this.vs[this.av].menuHeight:0:0,m=this.vs[this.av].toolbar!=null?!this.vs[this.av].toolbarHidden?this.vs[this.av].toolbarHeight:0:0,l=this.vs[this.av].sb!=null?!this.vs[this.av].sbHidden?this.vs[this.av].sbHeight:0:0;this.vs[this.av].dhxcont.mainCont[this.av].style.height=this.vs[this.av].dhxcont.clientHeight+"px";if(this.vs[this.av].dhxcont.mainCont[this.av].offsetHeight>this.vs[this.av].dhxcont.clientHeight)this.vs[this.av].dhxcont.mainCont[this.av].style.height= -Math.max(0,this.vs[this.av].dhxcont.clientHeight*2-this.vs[this.av].dhxcont.mainCont[this.av].offsetHeight)+"px";this.vs[this.av].dhxcont.mainCont[this.av].style.height=Math.max(0,parseInt(this.vs[this.av].dhxcont.mainCont[this.av].style.height)-k-m-l)+"px"};this.obj.coverBlocker=function(){return this.vs[this.av].dhxcont.childNodes[this.vs[this.av].dhxcont.childNodes.length-1]};this.obj.showCoverBlocker=function(){this.coverBlocker().style.display=""};this.obj.hideCoverBlocker=function(){this.coverBlocker().style.display= -"none"};this.obj.updateNestedObjects=function(){this.vs[this.av].grid&&this.vs[this.av].grid.setSizes();this.vs[this.av].sched&&this.vs[this.av].sched.setSizes();this.vs[this.av].tabbar&&this.vs[this.av].tabbar.adjustOuterSize();this.vs[this.av].folders&&this.vs[this.av].folders.setSizes();this.vs[this.av].editor&&(_isIE||this.vs[this.av].editor._prepareContent(!0),this.vs[this.av].editor.setSizes());if(this.vs[this.av].layout)(this.vs[this.av].dhxcont._isAcc||this.vs[this.av].dhxcont._isTabbarCell)&& -this.vs[this.av].dhxcont.skin=="dhx_skyblue"?(this.vs[this.av].layoutObj.style.width=parseInt(this.vs[this.av].dhxcont.mainCont[this.av].style.width)+2+"px",this.vs[this.av].layoutObj.style.height=parseInt(this.vs[this.av].dhxcont.mainCont[this.av].style.height)+2+"px"):(this.vs[this.av].layoutObj.style.width=this.vs[this.av].dhxcont.mainCont[this.av].style.width,this.vs[this.av].layoutObj.style.height=this.vs[this.av].dhxcont.mainCont[this.av].style.height),this.vs[this.av].layout.setSizes();if(this.vs[this.av].accordion!= -null)this.skin=="dhx_web"?(this.vs[this.av].accordionObj.style.width=parseInt(this.vs[this.av].dhxcont.mainCont[this.av].style.width)+"px",this.vs[this.av].accordionObj.style.height=parseInt(this.vs[this.av].dhxcont.mainCont[this.av].style.height)+"px"):(this.vs[this.av].accordionObj.style.width=parseInt(this.vs[this.av].dhxcont.mainCont[this.av].style.width)+2+"px",this.vs[this.av].accordionObj.style.height=parseInt(this.vs[this.av].dhxcont.mainCont[this.av].style.height)+2+"px"),this.vs[this.av].accordion.setSizes(); -this.vs[this.av].dockedCell&&this.vs[this.av].dockedCell.updateNestedObjects();this.vs[this.av].form&&this.vs[this.av].form.setSizes()};this.obj.attachStatusBar=function(){if(!this.vs[this.av].sb){var a=document.createElement("DIV");a.className=this._isCell?"dhxcont_sb_container_layoutcell":"dhxcont_sb_container";a.id="sbobj_"+this._genStr(12);a.innerHTML="
                    ";this.cv==this.av?this.vs[this.av].dhxcont.insertBefore(a,this.vs[this.av].dhxcont.childNodes[this.vs[this.av].dhxcont.childNodes.length- -1]):b.st.appendChild(a);a.setText=function(a){this.childNodes[0].innerHTML=a};a.getText=function(){return this.childNodes[0].innerHTML};a.onselectstart=function(a){a=a||event;return a.returnValue=!1};this.vs[this.av].sb=a;this.vs[this.av].sbHeight=this.skin=="dhx_web"?41:this.skin=="dhx_skyblue"?23:a.offsetHeight;this.vs[this.av].sbId=a.id;this._doOnAttachStatusBar&&this._doOnAttachStatusBar("init");this.adjust();return this.vs[this._viewRestore()].sb}};this.obj.detachStatusBar=function(){if(this.vs[this.av].sb)this.vs[this.av].sb.setText= -null,this.vs[this.av].sb.getText=null,this.vs[this.av].sb.onselectstart=null,this.vs[this.av].sb.parentNode.removeChild(this.vs[this.av].sb),this.vs[this.av].sb=null,this.vs[this.av].sbHeight=null,this.vs[this.av].sbId=null,this._viewRestore(),this._doOnAttachStatusBar&&this._doOnAttachStatusBar("unload")};this.obj.getFrame=function(){return this.getView()._frame};this.obj.getView=function(a){return this.vs[a||this.av]};this.obj.attachMenu=function(a){if(!this.vs[this.av].menu){var c=document.createElement("DIV"); -c.style.position="relative";c.style.overflow="hidden";c.id="dhxmenu_"+this._genStr(12);this.cv==this.av?this.vs[this.av].dhxcont.insertBefore(c,this.vs[this.av].dhxcont.childNodes[0]):b.st.appendChild(c);typeof a!="object"?this.vs[this.av].menu=new dhtmlXMenuObject(c.id,a||this.skin):(a.parent=c.id,this.vs[this.av].menu=new dhtmlXMenuObject(a));this.vs[this.av].menuHeight=this.skin=="dhx_web"?29:c.offsetHeight;this.vs[this.av].menuId=c.id;this._doOnAttachMenu&&this._doOnAttachMenu("init");this.adjust(); -return this.vs[this._viewRestore()].menu}};this.obj.detachMenu=function(){if(this.vs[this.av].menu){var a=document.getElementById(this.vs[this.av].menuId);this.vs[this.av].menu.unload();this.vs[this.av].menu=null;this.vs[this.av].menuId=null;this.vs[this.av].menuHeight=null;a&&a.parentNode.removeChild(a);a=null;this._viewRestore();this._doOnAttachMenu&&this._doOnAttachMenu("unload")}};this.obj.attachToolbar=function(a){if(!this.vs[this.av].toolbar){var c=document.createElement("DIV");c.style.position= -"relative";c.style.overflow="hidden";c.id="dhxtoolbar_"+this._genStr(12);this.cv==this.av?this.vs[this.av].dhxcont.insertBefore(c,this.vs[this.av].dhxcont.childNodes[this.vs[this.av].menu!=null?1:0]):b.st.appendChild(c);typeof a!="object"?this.vs[this.av].toolbar=new dhtmlXToolbarObject(c.id,a||this.skin):(a.parent=c.id,this.vs[this.av].toolbar=new dhtmlXToolbarObject(a));this.vs[this.av].toolbarHeight=this.skin=="dhx_web"?41:c.offsetHeight+(this._isLayout&&this.skin=="dhx_skyblue"?2:0);this.vs[this.av].toolbarId= -c.id;this._doOnAttachToolbar&&this._doOnAttachToolbar("init");this.adjust();return this.vs[this._viewRestore()].toolbar}};this.obj.detachToolbar=function(){if(this.vs[this.av].toolbar){var a=document.getElementById(this.vs[this.av].toolbarId);this.vs[this.av].toolbar.unload();this.vs[this.av].toolbar=null;this.vs[this.av].toolbarId=null;this.vs[this.av].toolbarHeight=null;a&&a.parentNode.removeChild(a);a=null;this._viewRestore();this._doOnAttachToolbar&&this._doOnAttachToolbar("unload")}};this.obj.attachGrid= -function(){if(this._isWindow&&this.skin=="dhx_skyblue")this.vs[this.av].dhxcont.mainCont[this.av].style.border="#a4bed4 1px solid",this._redraw();var a=document.createElement("DIV");a.id="dhxGridObj_"+this._genStr(12);a.style.width="100%";a.style.height="100%";a.cmp="grid";document.body.appendChild(a);this.attachObject(a.id,!1,!0);this.vs[this.av].grid=new dhtmlXGridObject(a.id);this.vs[this.av].grid.setSkin(this.skin);if(this.skin!="dhx_web")this.vs[this.av].grid.entBox.style.border="0px solid white", -this.vs[this.av].grid._sizeFix=0;this.vs[this.av].gridId=a.id;this.vs[this.av].gridObj=a;return this.vs[this._viewRestore()].grid};this.obj.attachScheduler=function(a,b){var c=document.createElement("DIV");c.id="dhxSchedObj_"+this._genStr(12);c.innerHTML='
                     
                     
                    '; -document.body.appendChild(c.firstChild);this.attachObject(c.id,!1,!0);this.vs[this.av].sched=scheduler;this.vs[this.av].schedId=c.id;scheduler.setSizes=scheduler.update_view;scheduler.destructor=function(){};scheduler.init(c.id,a,b);return this.vs[this._viewRestore()].sched};this.obj.attachTree=function(a){if(this._isWindow&&this.skin=="dhx_skyblue")this.vs[this.av].dhxcont.mainCont[this.av].style.border="#a4bed4 1px solid",this._redraw();var b=document.createElement("DIV");b.id="dhxTreeObj_"+this._genStr(12); -b.style.width="100%";b.style.height="100%";b.cmp="tree";document.body.appendChild(b);this.attachObject(b.id,!1,!0);this.vs[this.av].tree=new dhtmlXTreeObject(b.id,"100%","100%",a||0);this.vs[this.av].tree.setSkin(this.skin);this.vs[this.av].tree.allTree.childNodes[0].style.marginTop="2px";this.vs[this.av].tree.allTree.childNodes[0].style.marginBottom="2px";this.vs[this.av].treeId=b.id;this.vs[this.av].treeObj=b;return this.vs[this._viewRestore()].tree};this.obj.attachTabbar=function(a){if(this._isWindow&& -this.skin=="dhx_skyblue")this.vs[this.av].dhxcont.style.border="none",this.setDimension(this.w,this.h);var b=document.createElement("DIV");b.id="dhxTabbarObj_"+this._genStr(12);b.style.width="100%";b.style.height="100%";b.style.overflow="hidden";b.cmp="tabbar";document.body.appendChild(b);this.attachObject(b.id,!1,!0);this.className=="dhtmlxLayoutSinglePoly"&&this.hideHeader();this.vs[this.av].tabbar=new dhtmlXTabBar(b.id,a||"top",20);if(!this._isWindow)this.vs[this.av].tabbar._s.expand=!0;this.vs[this.av].tabbar.setSkin(this.skin); -this.vs[this.av].tabbar.adjustOuterSize();this.vs[this.av].tabbarId=b.id;this.vs[this.av].tabbarObj=b;return this.vs[this._viewRestore()].tabbar};this.obj.attachFolders=function(){if(this._isWindow&&this.skin=="dhx_skyblue")this.vs[this.av].dhxcont.mainCont[this.av].style.border="#a4bed4 1px solid",this._redraw();var a=document.createElement("DIV");a.id="dhxFoldersObj_"+this._genStr(12);a.style.width="100%";a.style.height="100%";a.style.overflow="hidden";a.cmp="folders";document.body.appendChild(a); -this.attachObject(a.id,!1,!0);this.vs[this.av].folders=new dhtmlxFolders(a.id);this.vs[this.av].folders.setSizes();this.vs[this.av].foldersId=a.id;this.vs[this.av].foldersObj=a;return this.vs[this._viewRestore()].folders};this.obj.attachAccordion=function(){if(this._isWindow&&this.skin=="dhx_skyblue")this.vs[this.av].dhxcont.mainCont[this.av].style.border="#a4bed4 1px solid",this._redraw();var a=document.createElement("DIV");a.id="dhxAccordionObj_"+this._genStr(12);this.skin=="dhx_web"?(a.style.left= -"0px",a.style.top="0px",a.style.width=parseInt(this.vs[this.av].dhxcont.mainCont[this.av].style.width)+"px",a.style.height=parseInt(this.vs[this.av].dhxcont.mainCont[this.av].style.height)+"px"):(a.style.left="-1px",a.style.top="-1px",a.style.width=parseInt(this.vs[this.av].dhxcont.mainCont[this.av].style.width)+2+"px",a.style.height=parseInt(this.vs[this.av].dhxcont.mainCont[this.av].style.height)+2+"px");a.style.position="relative";a.cmp="accordion";document.body.appendChild(a);this.attachObject(a.id, -!1,!0);this.vs[this.av].accordion=new dhtmlXAccordion(a.id,this.skin);this.vs[this.av].accordion.setSizes();this.vs[this.av].accordionId=a.id;this.vs[this.av].accordionObj=a;return this.vs[this._viewRestore()].accordion};this.obj.attachLayout=function(a,b){if(this._isCell&&this.skin=="dhx_skyblue")this.hideHeader(),this.vs[this.av].dhxcont.style.border="0px solid white",this.adjustContent(this.childNodes[0],0);this._isCell&&this.skin=="dhx_web"&&this.hideHeader();var c=document.createElement("DIV"); -c.id="dhxLayoutObj_"+this._genStr(12);c.style.overflow="hidden";c.style.position="absolute";c.style.left="0px";c.style.top="0px";c.style.width=parseInt(this.vs[this.av].dhxcont.mainCont[this.av].style.width)+"px";c.style.height=parseInt(this.vs[this.av].dhxcont.mainCont[this.av].style.height)+"px";if((this._isTabbarCell||this._isAcc)&&this.skin=="dhx_skyblue")c.style.left="-1px",c.style.top="-1px",c.style.width=parseInt(this.vs[this.av].dhxcont.mainCont[this.av].style.width)+2+"px",c.style.height= -parseInt(this.vs[this.av].dhxcont.mainCont[this.av].style.height)+2+"px";c.dhxContExists=!0;c.cmp="layout";document.body.appendChild(c);this.attachObject(c.id,!1,!0);this.vs[this.av].layout=new dhtmlXLayoutObject(c,a,b||this.skin);this._isWindow&&this.attachEvent("_onBeforeTryResize",this.vs[this.av].layout._defineWindowMinDimension);this.vs[this.av].layoutId=c.id;this.vs[this.av].layoutObj=c;return this.vs[this._viewRestore()].layout};this.obj.attachEditor=function(){if(this._isWindow&&this.skin== -"dhx_skyblue")this.vs[this.av].dhxcont.mainCont[this.av].style.border="#a4bed4 1px solid",this._redraw();var a=document.createElement("DIV");a.id="dhxEditorObj_"+this._genStr(12);a.style.position="relative";a.style.display="none";a.style.overflow="hidden";a.style.width="100%";a.style.height="100%";a.cmp="editor";document.body.appendChild(a);this.attachObject(a.id,!1,!0);this.vs[this.av].editor=new dhtmlXEditor(a.id,this.skin);this.vs[this.av].editorId=a.id;this.vs[this.av].editorObj=a;return this.vs[this._viewRestore()].editor}; -this.obj.attachMap=function(a){var b=document.createElement("DIV");b.id="GMapsObj_"+this._genStr(12);b.style.position="relative";b.style.display="none";b.style.overflow="hidden";b.style.width="100%";b.style.height="100%";b.cmp="gmaps";document.body.appendChild(b);this.attachObject(b.id,!1,!0);a||(a={center:new google.maps.LatLng(40.719837,-73.992348),zoom:11,mapTypeId:google.maps.MapTypeId.ROADMAP});this.vs[this.av].gmaps=new google.maps.Map(b,a);return this.vs[this.av].gmaps};this.obj.attachObject= -function(a,b,c){typeof a=="string"&&(a=document.getElementById(a));if(b){a.style.visibility="hidden";a.style.display="";var g=a.offsetWidth,h=a.offsetHeight}this._attachContent("obj",a);if(b&&this._isWindow)a.style.visibility="",this._adjustToContent(g,h);c||this._viewRestore()};this.obj.detachObject=function(a,b){for(var c=null,g=null,h="tree,grid,layout,tabbar,accordion,folders".split(","),i=0;i0;)g.removeChild(g.childNodes[0]);g.parentNode.removeChild(g);c=g=null}else document.body.appendChild(g),g.style.display="none";this.vs[this.av][h[i]]=null;this.vs[this.av][h[i]+"Id"]=null;this.vs[this.av][h[i]+"Obj"]=null}if(c!=null&&g!=null)return[c,g];if(a&&this.vs[this.av]._frame)this._detachURLEvents(),this.vs[this.av]._frame=null;for(var j=this.vs[this.av].dhxcont.mainCont[this.av];j.childNodes.length>0;)if(a==!0)j.removeChild(j.childNodes[0]); -else{var k=j.childNodes[0];b!=null?(typeof b!="object"&&(b=document.getElementById(b)),b.appendChild(k)):document.body.appendChild(k);k.style.display="none"}};this.obj.appendObject=function(a){typeof a=="string"&&(a=document.getElementById(a));this._attachContent("obj",a,!0)};this.obj.attachHTMLString=function(a){this._attachContent("str",a);for(var b=a.match(/]*>[^\f]*?<\/script>/g)||[],c=0;c]*>/g,"");window.execScript?window.execScript(g): -window.eval(g)}};this.obj.attachURL=function(a,b){this._attachContent(b==!0?"urlajax":"url",a,!1);this._viewRestore()};this.obj.adjust=function(){if(this.skin=="dhx_skyblue"){if(this.vs[this.av].menu){if(this._isWindow||this._isLayout)this.vs[this.av].menu._topLevelOffsetLeft=0,document.getElementById(this.vs[this.av].menuId).style.height="26px",this.vs[this.av].menuHeight=document.getElementById(this.vs[this.av].menuId).offsetHeight,this._doOnAttachMenu&&this._doOnAttachMenu("show");if(this._isCell)document.getElementById(this.vs[this.av].menuId).className+= -" in_layoutcell",this.vs[this.av].menuHeight=25;if(this._isAcc)document.getElementById(this.vs[this.av].menuId).className+=" in_acccell",this.vs[this.av].menuHeight=25;this._doOnAttachMenu&&this._doOnAttachMenu("adjust")}if(this.vs[this.av].toolbar){if(this._isWindow||this._isLayout)document.getElementById(this.vs[this.av].toolbarId).style.height="29px",this.vs[this.av].toolbarHeight=document.getElementById(this.vs[this.av].toolbarId).offsetHeight,this._doOnAttachToolbar&&this._doOnAttachToolbar("show"); -this._isCell&&(document.getElementById(this.vs[this.av].toolbarId).className+=" in_layoutcell");this._isAcc&&(document.getElementById(this.vs[this.av].toolbarId).className+=" in_acccell")}}};this.obj._attachContent=function(a,b,c){if(c!==!0){if(this.vs[this.av]._frame)this._detachURLEvents(),this.vs[this.av]._frame=null;for(;this.vs[this.av].dhxcont.mainCont[this.av].childNodes.length>0;)this.vs[this.av].dhxcont.mainCont[this.av].removeChild(this.vs[this.av].dhxcont.mainCont[this.av].childNodes[0])}if(a== -"url"){if(this._isWindow&&b.cmp==null&&this.skin=="dhx_skyblue")this.vs[this.av].dhxcont.mainCont[this.av].style.border="#a4bed4 1px solid",this._redraw();var g=document.createElement("IFRAME");g.frameBorder=0;g.border=0;g.style.width="100%";g.style.height="100%";g.setAttribute("src","javascript:false;");this.vs[this.av].dhxcont.mainCont[this.av].appendChild(g);g.src=b;this.vs[this.av]._frame=g;this._attachURLEvents()}else if(a=="urlajax"){if(this._isWindow&&b.cmp==null&&this.skin=="dhx_skyblue")this.vs[this.av].dhxcont.mainCont[this.av].style.border= -"#a4bed4 1px solid",this.vs[this.av].dhxcont.mainCont[this.av].style.backgroundColor="#FFFFFF",this._redraw();var h=this,i=String(this.av).valueOf(),j=function(){var a=h.av;h.av=i;h.attachHTMLString(this.xmlDoc.responseText,this);h.av=a;h._doOnFrameContentLoaded&&h._doOnFrameContentLoaded();this.destructor()},k=new dtmlXMLLoaderObject(j,window);k.dhxWindowObject=this;k.loadXML(b)}else if(a=="obj"){if(this._isWindow&&b.cmp==null&&this.skin=="dhx_skyblue")this.vs[this.av].dhxcont.mainCont[this.av].style.border= -"#a4bed4 1px solid",this.vs[this.av].dhxcont.mainCont[this.av].style.backgroundColor="#FFFFFF",this._redraw();this.vs[this.av].dhxcont._frame=null;this.vs[this.av].dhxcont.mainCont[this.av].appendChild(b);this.vs[this.av].dhxcont.mainCont[this.av].style.overflow=c===!0?"auto":"hidden";b.style.display=""}else if(a=="str"){if(this._isWindow&&b.cmp==null&&this.skin=="dhx_skyblue")this.vs[this.av].dhxcont.mainCont[this.av].style.border="#a4bed4 1px solid",this.vs[this.av].dhxcont.mainCont[this.av].style.backgroundColor= -"#FFFFFF",this._redraw();this.vs[this.av].dhxcont._frame=null;this.vs[this.av].dhxcont.mainCont[this.av].innerHTML=b}};this.obj._attachURLEvents=function(){var a=this,b=this.vs[this.av]._frame;_isIE?b.onreadystatechange=function(){if(b.readyState=="complete"){try{b.contentWindow.document.body.onmousedown=function(){a._doOnFrameMouseDown&&a._doOnFrameMouseDown()}}catch(c){}try{a._doOnFrameContentLoaded&&a._doOnFrameContentLoaded()}catch(g){}}}:b.onload=function(){try{b.contentWindow.onmousedown=function(){a._doOnFrameMouseDown&& -a._doOnFrameMouseDown()}}catch(c){}try{a._doOnFrameContentLoaded&&a._doOnFrameContentLoaded()}catch(g){}}};this.obj._detachURLEvents=function(){if(_isIE)try{this.vs[this.av]._frame.onreadystatechange=null,this.vs[this.av]._frame.contentWindow.document.body.onmousedown=null,this.vs[this.av]._frame.onload=null}catch(a){}else try{this.vs[this.av]._frame.contentWindow.onmousedown=null,this.vs[this.av]._frame.onload=null}catch(b){}};this.obj.showMenu=function(){if(this.vs[this.av].menu&&this.vs[this.av].menuId&& -document.getElementById(this.vs[this.av].menuId).style.display=="none")this.vs[this.av].menuHidden=!1,this._doOnAttachMenu&&this._doOnAttachMenu("show"),document.getElementById(this.vs[this.av].menuId).style.display="",this._viewRestore()};this.obj.hideMenu=function(){if(this.vs[this.av].menu&&this.vs[this.av].menuId&&document.getElementById(this.vs[this.av].menuId).style.display!="none")document.getElementById(this.vs[this.av].menuId).style.display="none",this.vs[this.av].menuHidden=!0,this._doOnAttachMenu&& -this._doOnAttachMenu("hide"),this._viewRestore()};this.obj.showToolbar=function(){if(this.vs[this.av].toolbar&&this.vs[this.av].toolbarId&&document.getElementById(this.vs[this.av].toolbarId).style.display=="none")this.vs[this.av].toolbarHidden=!1,this._doOnAttachToolbar&&this._doOnAttachToolbar("show"),document.getElementById(this.vs[this.av].toolbarId).style.display="",this._viewRestore()};this.obj.hideToolbar=function(){if(this.vs[this.av].toolbar&&this.vs[this.av].toolbarId&&document.getElementById(this.vs[this.av].toolbarId).style.display!= -"none")this.vs[this.av].toolbarHidden=!0,document.getElementById(this.vs[this.av].toolbarId).style.display="none",this._doOnAttachToolbar&&this._doOnAttachToolbar("hide"),this._viewRestore()};this.obj.showStatusBar=function(){if(this.vs[this.av].sb&&this.vs[this.av].sbId&&document.getElementById(this.vs[this.av].sbId).style.display=="none")this.vs[this.av].sbHidden=!1,this._doOnAttachStatusBar&&this._doOnAttachStatusBar("show"),document.getElementById(this.vs[this.av].sbId).style.display="",this._viewRestore()}; -this.obj.hideStatusBar=function(){if(this.vs[this.av].sb&&this.vs[this.av].sbId&&document.getElementById(this.vs[this.av].sbId).style.display!="none")this.vs[this.av].sbHidden=!0,document.getElementById(this.vs[this.av].sbId).style.display="none",this._doOnAttachStatusBar&&this._doOnAttachStatusBar("hide"),this._viewRestore()};this.obj._dhxContDestruct=function(){var a=this.av,c;for(c in this.vs)this.av=c,this.detachMenu(),this.detachToolbar(),this.detachStatusBar(),this.detachObject(!0),this.vs[c].dhxcont.mainCont[c].parentNode.removeChild(this.vs[c].dhxcont.mainCont[c]), -this.vs[c].dhxcont.mainCont[c]=null;this.vs[this.dv].dhxcont.mainCont=null;this.vs[this.dv].dhxcont.parentNode.removeChild(this.vs[this.dv].dhxcont);for(c in this.vs)this.vs[c].dhxcont=null;this._dhxContDestruct=this._genStr=this._init=this._setPadding=this._viewRestore=this._detachURLEvents=this._attachURLEvents=this._attachContent=this.updateNestedObjects=this.hideCoverBlocker=this.showCoverBlocker=this.coverBlocker=this.adjustContent=this.moveContentTo=this.setMinContentSize=this.adjust=this.show= -this.view=this.attachURL=this.attachHTMLString=this.appendObject=this.detachObject=this.attachObject=this.attachEditor=this.attachLayout=this.attachAccordion=this.attachFolders=this.attachTabbar=this.attachTree=this.attachScheduler=this.attachGrid=this.hideStatusBar=this.hideToolbar=this.hideMenu=this.showStatusBar=this.showToolbar=this.showMenu=this.detachStatusBar=this.detachToolbar=this.detachMenu=this.attachStatusBar=this.attachToolbar=this.attachMenu=this.vs=null;b.st.parentNode.removeChild(b.st); -b.st=null;b.setContent=null;b.dhxcont=null;b=b.obj=null;if(dhtmlx.detaches)for(c in dhtmlx.detaches)dhtmlx.detaches[c](this)};if(dhtmlx.attaches)for(var c in dhtmlx.attaches)this.obj[c]=dhtmlx.attaches[c]} -function dhtmlXCalendarObject(a,b){this.i={};this.uid=function(){if(!this.uidd)this.uidd=(new Date).getTime();return this.uidd++};var c=null,d=typeof a=="string"?document.getElementById(a):a;d&&typeof d=="object"&&d.tagName&&String(d.tagName).toLowerCase()!="input"&&(c=d);d=null;if(typeof a!="object"||!a.length)a=[a];for(var e=0;e
                    MonthYear
                    "; -f.appendChild(g);var h=this;g.onclick=function(a){var a=a||event,b=a.target||a.srcElement;if(b.className&&b.className.indexOf("dhtmlxcalendar_month_arrow")===0){h._hideSelector();var c=b.parentNode.firstChild==b?-1:1;h._drawMonth(new Date(h._activeMonth.getFullYear(),h._activeMonth.getMonth()+c,1,0,0,0,0))}else b.className&&b.className=="dhtmlxcalendar_month_label_month"?(a.cancelBubble=!0,h._showSelector("month",31,21,"selector_month",!0)):b.className&&b.className=="dhtmlxcalendar_month_label_year"? -(a.cancelBubble=!0,h._showSelector("year",42,21,"selector_year",!0)):h._hideSelector()};this.contDays=document.createElement("DIV");this.contDays.className="dhtmlxcalendar_days_cont";this.base.appendChild(this.contDays);this.setWeekStartDay=function(a){a==0&&(a=7);this._wStart=Math.min(Math.max(isNaN(a)?1:a,1),7);this._drawDaysOfWeek()};this._drawDaysOfWeek=function(){if(this.contDays.childNodes.length==0){var a=document.createElement("UL");a.className="dhtmlxcalendar_line";this.contDays.appendChild(a)}else a= -this.contDays.firstChild;var b=this._wStart,c=this.langData[this.lang].daysSNames;c.push(String(this.langData[this.lang].daysSNames[0]).valueOf());for(var d=0;d<7;d++){if(a.childNodes[d]==null){var e=document.createElement("LI");a.appendChild(e)}else e=a.childNodes[d];e.className="dhtmlxcalendar_cell"+(b>=6?" dhtmlxcalendar_day_weekday_cell":"")+(d==0?"_first":"");e.innerHTML=c[b];++b>7&&(b=1)}this._activeMonth!=null&&this._drawMonth(this._activeMonth)};this._wStart=this.langData[this.lang].weekstart; -this.setWeekStartDay(this._wStart);this.contDates=document.createElement("DIV");this.contDates.className="dhtmlxcalendar_dates_cont";this.base.appendChild(this.contDates);this.contDates.onclick=function(a){var a=a||event,b=a.target||a.srcElement;if(b._date!=null&&!b._css_dis){var c=h._activeDate.getHours(),d=h._activeDate.getMinutes();if(!h.checkEvent("onBeforeChange")||h.callEvent("onBeforeChange",[new Date(b._date.getFullYear(),b._date.getMonth(),b._date.getDate(),c,d)])){if(h._activeDateCell!= -null)h._activeDateCell._css_date=!1,h._updateCellStyle(h._activeDateCell._q,h._activeDateCell._w);var e=!1;h._activeDate=new Date(b._date.getFullYear(),b._date.getMonth(),b._date.getDate(),c,d);h._activeDateCell=b;h._activeDateCell._css_date=!0;h._activeDateCell._css_hover=!1;h._lastHover=null;h._updateCellStyle(h._activeDateCell._q,h._activeDateCell._w);e&&h._drawMonth(h._activeDate);if(h._activeInp&&h.i[h._activeInp])h.i[h._activeInp].value=h._dateToStr(new Date(h._activeDate.getTime()));h._hasParent|| -h._hide();h.callEvent("onClick",[new Date(h._activeDate.getTime())])}}};this.contDates.onmouseover=function(a){var a=a||event,b=a.target||a.srcElement;if(b._date!=null)b._css_hover=!0,h._updateCellStyle(b._q,b._w),h._lastHover=b};this.contDates.onmouseout=function(){h._clearDayHover()};this._lastHover=null;this._clearDayHover=function(){if(this._lastHover)this._lastHover._css_hover=!1,this._updateCellStyle(this._lastHover._q,this._lastHover._w),this._lastHover=null};for(e=0;e<6;e++){f=document.createElement("UL"); -f.className="dhtmlxcalendar_line";this.contDates.appendChild(f);for(var i=0;i<7;i++)g=document.createElement("LI"),g.className="dhtmlxcalendar_cell",f.appendChild(g)}this.contTime=document.createElement("DIV");this.contTime.className="dhtmlxcalendar_time_cont";this.base.appendChild(this.contTime);this.showTime=function(){if(String(this.base.className).search("dhtmlxcalendar_time_hidden")>0)this.base.className=String(this.base.className).replace(/dhtmlxcalendar_time_hidden/gi,"")};this.hideTime=function(){String(this.base.className).search("dhtmlxcalendar_time_hidden")< -0&&(this.base.className+=" dhtmlxcalendar_time_hidden")};f=document.createElement("UL");f.className="dhtmlxcalendar_line";this.contTime.appendChild(f);g=document.createElement("LI");g.className="dhtmlxcalendar_cell dhtmlxcalendar_time_hdr";g.innerHTML="
                    :";f.appendChild(g);g.onclick=function(a){var a=a||event, -b=a.target||a.srcElement;b.className&&b.className=="dhtmlxcalendar_label_hours"?(a.cancelBubble=!0,h._showSelector("hours",3,115,"selector_hours",!0)):b.className&&b.className=="dhtmlxcalendar_label_minutes"?(a.cancelBubble=!0,h._showSelector("minutes",59,115,"selector_minutes",!0)):h._hideSelector()};this._activeMonth=null;this._activeDate=new Date;this._activeDateCell=null;this.setDate=function(a){a===""&&(a=new Date);a instanceof Date||(a=this._strToDate(a,!1));var b=a.getTime();if(!(this._rangeActive&& -(bthis._rangeTo)||this._rangeSet[b]==!0))this._activeDate=new Date(b),this._drawMonth(this._activeDate),this._updateVisibleHours(),this._updateVisibleMinutes()};this.getDate=function(a){var b=new Date(this._activeDate.getTime());return a?this._dateToStr(b):b};this._drawMonth=function(a){if(a instanceof Date){isNaN(a.getFullYear())&&(a=new Date(this._activeMonth.getFullYear(),this._activeMonth.getMonth(),1,0,0,0,0));this._activeMonth=new Date(a.getFullYear(),a.getMonth(),1,0,0, -0,0);this._activeDateCell=null;var b=new Date(this._activeMonth.getTime()),c=b.getDay(),d=c-this._wStart;d<0&&(d+=7);b.setDate(b.getDate()-d);for(var e=a.getMonth(),f=(new Date(this._activeDate.getFullYear(),this._activeDate.getMonth(),this._activeDate.getDate(),0,0,0,0)).getTime(),g=0,h=0;h<6;h++)for(var i=this._wStart,j=0;j<7;j++){var t=new Date(b.getFullYear(),b.getMonth(),b.getDate()+g++,0,0,0,0);this.contDates.childNodes[h].childNodes[j].innerHTML=t.getDate();var u=t.getDay(),w=t.getTime();this.contDates.childNodes[h].childNodes[j]._date= -new Date(w);this.contDates.childNodes[h].childNodes[j]._q=h;this.contDates.childNodes[h].childNodes[j]._w=j;this.contDates.childNodes[h].childNodes[j]._css_month=t.getMonth()==e;this.contDates.childNodes[h].childNodes[j]._css_date=w==f;this.contDates.childNodes[h].childNodes[j]._css_weekend=i>=6;this.contDates.childNodes[h].childNodes[j]._css_dis=this._rangeActive&&(wthis._rangeTo)||this._rangeSet[w]==!0;this.contDates.childNodes[h].childNodes[j]._css_holiday=this._holidays[w]== -!0;this._updateCellStyle(h,j);if(w==f)this._activeDateCell=this.contDates.childNodes[h].childNodes[j];++i>7&&(i=1)}this.contMonth.firstChild.firstChild.childNodes[1].innerHTML=this.langData[this.lang].monthesFNames[a.getMonth()];this.contMonth.firstChild.firstChild.childNodes[2].innerHTML=a.getFullYear()}};this._updateCellStyle=function(a,b){var c=this.contDates.childNodes[a].childNodes[b],d="dhtmlxcalendar_cell dhtmlxcalendar_cell";d+=c._css_month?"_month":"";d+=c._css_date?"_date":"";d+=c._css_weekend? -"_weekend":"";d+=c._css_holiday?"_holiday":"";d+=c._css_dis?"_dis":"";d+=c._css_hover&&!c._css_dis?"_hover":"";c.className=d;c=null};this._initSelector=function(a,b){if(!this._selCover)this._selCover=document.createElement("DIV"),this._selCover.className="dhtmlxcalendar_selector_cover",this.base.appendChild(this._selCover);if(!this._sel)this._sel=document.createElement("DIV"),this._sel.className="dhtmlxcalendar_selector_obj",this.base.appendChild(this._sel),this._sel.appendChild(document.createElement("TABLE")), -this._sel.firstChild.className="dhtmlxcalendar_selector_table",this._sel.firstChild.cellSpacing=0,this._sel.firstChild.cellPadding=0,this._sel.firstChild.border=0,this._sel.firstChild.appendChild(document.createElement("TBODY")),this._sel.firstChild.firstChild.appendChild(document.createElement("TR")),this._sel.firstChild.firstChild.firstChild.appendChild(document.createElement("TD")),this._sel.firstChild.firstChild.firstChild.appendChild(document.createElement("TD")),this._sel.firstChild.firstChild.firstChild.appendChild(document.createElement("TD")), -this._sel.firstChild.firstChild.firstChild.childNodes[0].className="dhtmlxcalendar_selector_cell_left",this._sel.firstChild.firstChild.firstChild.childNodes[1].className="dhtmlxcalendar_selector_cell_middle",this._sel.firstChild.firstChild.firstChild.childNodes[2].className="dhtmlxcalendar_selector_cell_right",this._sel.firstChild.firstChild.firstChild.childNodes[0].innerHTML=" ",this._sel.firstChild.firstChild.firstChild.childNodes[2].innerHTML=" ",this._sel.firstChild.firstChild.firstChild.childNodes[0].onmouseover= -function(){this.className="dhtmlxcalendar_selector_cell_left dhtmlxcalendar_selector_cell_left_hover"},this._sel.firstChild.firstChild.firstChild.childNodes[0].onmouseout=function(){this.className="dhtmlxcalendar_selector_cell_left"},this._sel.firstChild.firstChild.firstChild.childNodes[2].onmouseover=function(){this.className="dhtmlxcalendar_selector_cell_right dhtmlxcalendar_selector_cell_right_hover"},this._sel.firstChild.firstChild.firstChild.childNodes[2].onmouseout=function(){this.className= -"dhtmlxcalendar_selector_cell_right"},this._sel.firstChild.firstChild.firstChild.childNodes[0].onclick=function(a){a=a||event;a.cancelBubble=!0;h._scrollYears(-1)},this._sel.firstChild.firstChild.firstChild.childNodes[2].onclick=function(a){a=a||event;a.cancelBubble=!0;h._scrollYears(1)},this._sel._ta={},this._selHover=null,this._sel.onmouseover=function(a){var a=a||event,b=a.target||a.srcElement;if(b._cell===!0&&(h._selHover!=b&&h._clearSelHover(),String(b.className).match(/^\s{0,}dhtmlxcalendar_selector_cell\s{0,}$/gi)!= -null))b.className+=" dhtmlxcalendar_selector_cell_hover",h._selHover=b},this._sel.onmouseout=function(){h._clearSelHover()},this._sel.appendChild(document.createElement("DIV")),this._sel.lastChild.className="dhtmlxcalendar_selector_obj_arrow";if(this._sel._ta[a]!=!0){if(a=="month"){this._msCells={};this.msCont=document.createElement("DIV");this.msCont.className="dhtmlxcalendar_area_"+b;this._sel.firstChild.firstChild.firstChild.childNodes[1].appendChild(this.msCont);for(var c=0,d=0;d<4;d++){var e= -document.createElement("UL");e.className="dhtmlxcalendar_selector_line";this.msCont.appendChild(e);for(var f=0;f<3;f++){var g=document.createElement("LI");g.innerHTML=this.langData[this.lang].monthesSNames[c];g.className="dhtmlxcalendar_selector_cell";e.appendChild(g);g._month=c;g._cell=!0;this._msCells[c++]=g}}this.msCont.onclick=function(a){a=a||event;a.cancelBubble=!0;var b=a.target||a.srcElement;b._month!=null&&(h._hideSelector(),h._updateActiveMonth(),h._drawMonth(new Date(h._activeMonth.getFullYear(), -b._month,1,0,0,0,0)),h._doOnSelectorChange())}}if(a=="year"){this._ysCells={};this.ysCont=document.createElement("DIV");this.ysCont.className="dhtmlxcalendar_area_"+b;this._sel.firstChild.firstChild.firstChild.childNodes[1].appendChild(this.ysCont);for(d=0;d<4;d++){e=document.createElement("UL");e.className="dhtmlxcalendar_selector_line";this.ysCont.appendChild(e);for(f=0;f<3;f++)g=document.createElement("LI"),g.className="dhtmlxcalendar_selector_cell",g._cell=!0,e.appendChild(g)}this.ysCont.onclick= -function(a){a=a||event;a.cancelBubble=!0;var b=a.target||a.srcElement;b._year!=null&&(h._hideSelector(),h._drawMonth(new Date(b._year,h._activeMonth.getMonth(),1,0,0,0,0)),h._doOnSelectorChange())}}if(a=="hours"){this._hsCells={};this.hsCont=document.createElement("DIV");this.hsCont.className="dhtmlxcalendar_area_"+b;this._sel.firstChild.firstChild.firstChild.childNodes[1].appendChild(this.hsCont);for(d=c=0;d<4;d++){e=document.createElement("UL");e.className="dhtmlxcalendar_selector_line";this.hsCont.appendChild(e); -for(f=0;f<6;f++)g=document.createElement("LI"),g.innerHTML=this._fixLength(c,2),g.className="dhtmlxcalendar_selector_cell",e.appendChild(g),g._hours=c,g._cell=!0,this._hsCells[c++]=g}this.hsCont.onclick=function(a){a=a||event;a.cancelBubble=!0;var b=a.target||a.srcElement;b._hours!=null&&(h._hideSelector(),h._activeDate.setHours(b._hours),h._updateActiveHours(),h._updateVisibleHours(),h._doOnSelectorChange())}}if(a=="minutes"){this._rsCells={};this.rsCont=document.createElement("DIV");this.rsCont.className= -"dhtmlxcalendar_area_"+b;this._sel.firstChild.firstChild.firstChild.childNodes[1].appendChild(this.rsCont);for(d=c=0;d<4;d++){e=document.createElement("UL");e.className="dhtmlxcalendar_selector_line";this.rsCont.appendChild(e);for(f=0;f<3;f++)g=document.createElement("LI"),g.innerHTML=this._fixLength(c,2),g.className="dhtmlxcalendar_selector_cell",e.appendChild(g),g._minutes=c,g._cell=!0,this._rsCells[c]=g,c+=5}this.rsCont.onclick=function(a){a=a||event;a.cancelBubble=!0;var b=a.target||a.srcElement; -b._minutes!=null&&(h._hideSelector(),h._activeDate.setMinutes(b._minutes),h._updateActiveMinutes(),h._updateVisibleMinutes(),h._doOnSelectorChange())}}this._sel._ta[a]=!0}};this._showSelector=function(a,b,c,d,e){e===!0&&this._sel!=null&&this._isSelectorVisible()&&a==this._sel._t?this._hideSelector():((!this._sel||!this._sel._ta[a])&&this._initSelector(a,d),this._selCover.style.display="",this._sel._t=a,this._sel.style.left=b+"px",this._sel.style.top=c+"px",this._sel.style.display="",this._sel.className= -"dhtmlxcalendar_selector_obj dhtmlxcalendar_"+d,this._doOnSelectorShow(a))};this._doOnSelectorShow=function(a){a=="month"&&this._updateActiveMonth();a=="year"&&this._updateYearsList(this._activeMonth);a=="hours"&&this._updateActiveHours();a=="minutes"&&this._updateActiveMinutes()};this._hideSelector=function(){if(this._sel)this._sel.style.display="none",this._selCover.style.display="none"};this._isSelectorVisible=function(){return!this._sel?!1:this._sel.style.display!="none"};this._doOnSelectorChange= -function(a){this.callEvent("onChange",[new Date(this._activeMonth.getFullYear(),this._activeMonth.getMonth(),this._activeDate.getDate(),this._activeDate.getHours(),this._activeDate.getMinutes(),this._activeDate.getSeconds()),a])};this._clearSelHover=function(){if(this._selHover)this._selHover.className=String(this._selHover.className.replace(/dhtmlxcalendar_selector_cell_hover/gi,"")),this._selHover=null};this._updateActiveMonth=function(){if(typeof this._msActive!="undefined"&&typeof this._msCells[this._msActive]!= -"undefined")this._msCells[this._msActive].className="dhtmlxcalendar_selector_cell";this._msActive=this._activeMonth.getMonth();this._msCells[this._msActive].className="dhtmlxcalendar_selector_cell dhtmlxcalendar_selector_cell_active"};this._updateActiveYear=function(){var a=this._activeMonth.getFullYear();if(this._ysCells[a])this._ysCells[a].className="dhtmlxcalendar_selector_cell dhtmlxcalendar_selector_cell_active"};this._updateYearsList=function(a){for(var b in this._ysCells)this._ysCells[b]=null, -delete this._ysCells[b];for(var c=12*Math.floor(a.getFullYear()/12),d=0;d<4;d++)for(var e=0;e<3;e++)this.ysCont.childNodes[d].childNodes[e].innerHTML=c,this.ysCont.childNodes[d].childNodes[e]._year=c,this.ysCont.childNodes[d].childNodes[e].className="dhtmlxcalendar_selector_cell",this._ysCells[c++]=this.ysCont.childNodes[d].childNodes[e];this._updateActiveYear()};this._scrollYears=function(a){var b=(a<0?this.ysCont.firstChild.firstChild._year:this.ysCont.lastChild.lastChild._year)+a,c=new Date(b, -this._activeMonth.getMonth(),1,0,0,0,0);this._updateYearsList(c)};this._updateActiveHours=function(){if(typeof this._hsActive!="undefined"&&typeof this._hsCells[this._hsActive]!="undefined")this._hsCells[this._hsActive].className="dhtmlxcalendar_selector_cell";this._hsActive=this._activeDate.getHours();this._hsCells[this._hsActive].className="dhtmlxcalendar_selector_cell dhtmlxcalendar_selector_cell_active"};this._updateVisibleHours=function(){this.contTime.firstChild.firstChild.childNodes[1].innerHTML= -this._fixLength(this._activeDate.getHours(),2)};this._updateActiveMinutes=function(){if(typeof this._rsActive!="undefined"&&typeof this._rsCells[this._rsActive]!="undefined")this._rsCells[this._rsActive].className="dhtmlxcalendar_selector_cell";this._rsActive=this._activeDate.getMinutes();if(typeof this._rsCells[this._rsActive]!="undefined")this._rsCells[this._rsActive].className="dhtmlxcalendar_selector_cell dhtmlxcalendar_selector_cell_active"};this._updateVisibleMinutes=function(){this.contTime.firstChild.firstChild.childNodes[3].innerHTML= -this._fixLength(this._activeDate.getMinutes(),2)};this._fixLength=function(a,b){for(;String(a).length11?"pm":"am";case "%A":return a.getHours()>11?"PM":"AM";default:return b}},e=String(b||this._dateFormat).replace(/%[a-zA-Z]/g,d);return e||String(a)};this._updateDateStr=function(a){if(a=="")this.setDate(new Date),this.callEvent("onChange",[null,!0]);else if(this._dateFormatRE&&a.match(this._dateFormatRE)){var b=this._strToDate(a,!0),c=new Date(this._activeMonth.getFullYear(), -this._activeMonth.getMonth(),this._activeDate.getDate(),this._activeDate.getHours(),this._activeDate.getMinutes(),this._activeDate.getSeconds());b.Y!==!1&&b.Y!=c.getFullYear()&&this._activeDate.setFullYear(b.Y);b.m!==!1&&(b.m--,b.m!=c.getMonth()&&this._activeDate.setMonth(b.m));b.d!==!1&&b.d!=c.getDate()&&this._activeDate.setDate(b.d);b.H!==!1&&b.H!=c.getHours()&&this._activeDate.setHours(b.H);b.i!==!1&&b.i!=c.getMinutes()&&this._activeDate.setMinutes(b.i);b.s!==!1&&b.s!=c.getSeconds()&&this._activeDate.setSeconds(b.s); -this._drawMonth(this._activeDate);this._updateVisibleMinutes();this._updateVisibleHours();this._sel&&this._isSelectorVisible()&&this._doOnSelectorShow(this._sel._t);this._doOnSelectorChange(!0)}};this.setFormatedDate=function(a,b,c,d){var e=this._strToDate(b,!1,a);if(d)return e;this.setDate(e)};this.getFormatedDate=function(a,b){b&&b instanceof Date||(b=new Date(this._activeDate));return this._dateToStr(b,a)};this.show=function(a){if(!a&&this._hasParent)this._show();else if(typeof a=="object"&&typeof a._dhtmlxcalendar_uid!= -"undefined"&&this.i[a._dhtmlxcalendar_uid]==a)this._show(a._dhtmlxcalendar_uid);else{if(typeof a=="undefined")for(var b in this.i)a||(a=b);a&&this._show(a)}};this.hide=function(){this._isVisible()&&this._hide()};this.draw=function(){this.show()};this.close=function(){this.hide()};this._activeInp=null;this.pos="bottom";this.setPosition=function(a,b){if(a=="right"||a=="bottom")this.pos=a;else if(!this._hasParent){if(typeof a!="undefined"&&!isNaN(a))this.base.style.left=a+"px";if(typeof b!="undefined"&& -!isNaN(b))this.base.style.top=b+"px"}};this._show=function(a,b){b===!0&&this._activeInp==a&&this._isVisible()?this._hide():(a?(this.pos=="right"?(this.base.style.left=this._getLeft(this.i[a])+this.i[a].offsetWidth-1+"px",this.base.style.top=this._getTop(this.i[a])+"px"):(this.base.style.left=this._getLeft(this.i[a])+"px",this.base.style.top=this._getTop(this.i[a])+this.i[a].offsetHeight-1+"px"),this._activeInp=a):(this.base.style.left="0px",this.base.style.top="0px"),this._hideSelector(),this.base.style.display= -"")};this._hide=function(){this._hideSelector();this.base.style.display="none";this._activeInp=null};this._isVisible=function(){return this.base.style.display!="none"};this._getLeft=function(a){return this._posGetOffset(a).left};this._getTop=function(a){return this._posGetOffset(a).top};this._posGetOffsetSum=function(a){for(var b=0,c=0;a;)b+=parseInt(a.offsetTop),c+=parseInt(a.offsetLeft),a=a.offsetParent;return{top:b,left:c}};this._posGetOffsetRect=function(a){var b=a.getBoundingClientRect(),c=document.body, -d=document.documentElement,e=window.pageYOffset||d.scrollTop||c.scrollTop,f=window.pageXOffset||d.scrollLeft||c.scrollLeft,g=d.clientTop||c.clientTop||0,h=d.clientLeft||c.clientLeft||0,i=b.top+e-g,j=b.left+f-h;return{top:Math.round(i),left:Math.round(j)}};this._posGetOffset=function(a){return this[a.getBoundingClientRect?"_posGetOffsetRect":"_posGetOffsetSum"](a)};this._rangeActive=!1;this._rangeTo=this._rangeFrom=null;this._rangeSet={};this.setSensitive=function(a,b){var c=!1;if(a!=null&&b!=null){a instanceof -Date||(a=this._strToDate(a,!1));b instanceof Date||(b=this._strToDate(b,!1));if(a.getTime()>b.getTime())return;this._rangeFrom=(new Date(a.getFullYear(),a.getMonth(),a.getDate(),0,0,0,0)).getTime();this._rangeTo=(new Date(b.getFullYear(),b.getMonth(),b.getDate(),0,0,0,0)).getTime();c=this._rangeActive=!0}if(!c&&a!=null&&typeof b=="undefined"){for(var d=this._extractDates(a),e=0;e0;)this.contMonth.firstChild.firstChild.removeChild(this.contMonth.firstChild.firstChild.lastChild);this.contMonth.firstChild.removeChild(this.contMonth.firstChild.firstChild);this.contMonth.removeChild(this.contMonth.firstChild);this.contMonth.parentNode.removeChild(this.contMonth);for(this.contMonth=null;this.contDays.firstChild.childNodes.length>0;)this.contDays.firstChild.removeChild(this.contDays.firstChild.lastChild);this.contDays.removeChild(this.contDays.firstChild); -this.contDays.parentNode.removeChild(this.contDays);this.contDays=null;this.contDates.onclick=null;this.contDates.onmouseover=null;for(this.contDates.onmouseout=null;this.contDates.childNodes.length>0;){for(;this.contDates.lastChild.childNodes.length>0;)this.contDates.lastChild.lastChild._css_date=null,this.contDates.lastChild.lastChild._css_month=null,this.contDates.lastChild.lastChild._css_weekend=null,this.contDates.lastChild.lastChild._css_hover=null,this.contDates.lastChild.lastChild._date=null, -this.contDates.lastChild.lastChild._q=null,this.contDates.lastChild.lastChild._w=null,this.contDates.lastChild.removeChild(this.contDates.lastChild.lastChild);this.contDates.removeChild(this.contDates.lastChild)}this.contDates.parentNode.removeChild(this.contDates);this.contDates=null;for(this.contTime.firstChild.firstChild.onclick=null;this.contTime.firstChild.firstChild.childNodes.length>0;)this.contTime.firstChild.firstChild.removeChild(this.contTime.firstChild.firstChild.lastChild);this.contTime.firstChild.removeChild(this.contTime.firstChild.firstChild); -this.contTime.removeChild(this.contTime.firstChild);this.contTime.parentNode.removeChild(this.contTime);this._lastHover=this.contTime=null;if(this.msCont){this._msActive=this.msCont.onclick=null;for(a in this._msCells)this._msCells[a]._cell=null,this._msCells[a]._month=null,this._msCells[a].parentNode.removeChild(this._msCells[a]),this._msCells[a]=null;for(this._msCells=null;this.msCont.childNodes.length>0;)this.msCont.removeChild(this.msCont.lastChild);this.msCont.parentNode.removeChild(this.msCont); -this.msCont=null}if(this.ysCont){this.ysCont.onclick=null;for(a in this._ysCells)this._ysCells[a]._cell=null,this._ysCells[a]._year=null,this._ysCells[a].parentNode.removeChild(this._ysCells[a]),this._ysCells[a]=null;for(this._ysCells=null;this.ysCont.childNodes.length>0;)this.ysCont.removeChild(this.ysCont.lastChild);this.ysCont.parentNode.removeChild(this.ysCont);this.ysCont=null}if(this.hsCont){this._hsActive=this.hsCont.onclick=null;for(a in this._hsCells)this._hsCells[a]._cell=null,this._hsCells[a]._hours= -null,this._hsCells[a].parentNode.removeChild(this._hsCells[a]),this._hsCells[a]=null;for(this._hsCells=null;this.hsCont.childNodes.length>0;)this.hsCont.removeChild(this.hsCont.lastChild);this.hsCont.parentNode.removeChild(this.hsCont);this.hsCont=null}if(this.rsCont){this._rsActive=this.rsCont.onclick=null;for(a in this._rsCells)this._rsCells[a]._cell=null,this._rsCells[a]._minutes=null,this._rsCells[a].parentNode.removeChild(this._rsCells[a]),this._rsCells[a]=null;for(this._rsCells=null;this.rsCont.childNodes.length> -0;)this.rsCont.removeChild(this.rsCont.lastChild);this.rsCont.parentNode.removeChild(this.rsCont);this.rsCont=null}if(this._selCover)this._selCover.parentNode.removeChild(this._selCover),this._selCover=null;if(this._sel){for(a in this._sel._ta)this._sel._ta[a]=null;this._sel._ta=null;this._sel._t=null;this._sel.onmouseover=null;for(this._sel.onmouseout=null;this._sel.firstChild.firstChild.firstChild.childNodes.length>0;)this._sel.firstChild.firstChild.firstChild.lastChild.onclick=null,this._sel.firstChild.firstChild.firstChild.lastChild.onmouseover= -null,this._sel.firstChild.firstChild.firstChild.lastChild.onmouseout=null,this._sel.firstChild.firstChild.firstChild.removeChild(this._sel.firstChild.firstChild.firstChild.lastChild);this._sel.firstChild.firstChild.removeChild(this._sel.firstChild.firstChild.firstChild);for(this._sel.firstChild.removeChild(this._sel.firstChild.firstChild);this._sel.childNodes.length>0;)this._sel.removeChild(this._sel.lastChild);this._sel.parentNode.removeChild(this._sel);this._sel=null}this.base.onclick=null;this.base.parentNode.removeChild(this.base); -this.unload=this.showTime=this.show=this.setDateFormat=this.setDate=this.hideTime=this.hide=this._updateYearsList=this._updateVisibleMinutes=this._updateVisibleHours=this._updateDateStr=this._updateCellStyle=this._updateActiveYear=this._updateActiveMonth=this._updateActiveMinutes=this._updateActiveHours=this._strToDate=this._showSelector=this._show=this._scrollYears=this._posGetOffsetSum=this._posGetOffsetRect=this._posGetOffset=this._isVisible=this._isSelectorVisible=this._initSelector=this._hideSelector= -this._hide=this._getTop=this._getLeft=this._fixLength=this._drawMonth=this._doOnSelectorShow=this._doOnSelectorChange=this._clearSelHover=this._clearDayHover=this.base=null;for(a in this)delete this[a];a=h=null};this.setDate(this._activeDate);return this}dhtmlXCalendarObject.prototype.setYearsRange=function(){};dhtmlXCalendarObject.prototype.lang="en"; -dhtmlXCalendarObject.prototype.langData={en:{dateformat:"%Y-%m-%d",monthesFNames:"January,February,March,April,May,June,July,August,September,October,November,December".split(","),monthesSNames:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec".split(","),daysFNames:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday".split(","),daysSNames:"Su,Mo,Tu,We,Th,Fr,Sa".split(","),weekstart:1}};dhtmlxCalendarObject=dhtmlXCalendarObject;window.dhtmlx||(dhtmlx={});dhtmlx.version="3.0"; -dhtmlx.codebase="./";dhtmlx.extend=function(a,b){for(var c in b)a[c]=b[c];b._init&&a._init();return a}; -dhtmlx.proto_extend=function(){for(var a=arguments,b=a[0],c=[],d=a.length-1;d>0;d--){if(typeof a[d]=="function")a[d]=a[d].prototype;for(var e in a[d])e=="_init"?c.push(a[d][e]):b[e]||(b[e]=a[d][e])}a[0]._init&&c.push(a[0]._init);b._init=function(){for(var a=0;a=0&&this.splice(a,b||1)},remove:function(a){this.removeAt(this.find(a))},insertAt:function(a,b){if(!b&&b!==0)this.push(a);else{var c=this.splice(b,this.length-b);this[b]=a;this.push.apply(this,c)}},find:function(a){for(i=0;i0;)str=this._toHex[a%16]+str,a=Math.floor(a/16);for(;str.length")},addSector:function(a,b,c,d,e,f,g){var h=[];h.push(d);h.push(Math.floor(e*g));for(var i=b;i"+this._map.join("\n")+"";a._htmlmap=b;this._map=[]}};dhtmlx.chart={}; -dhtmlx.chart.area={pvt_render_area:function(a,b,c,d,e,f){var g=this._calculateParametersOfLineChart(a,b,c,d,e),h=Math.floor(g.cellWidth/2);if(b.length){a.globalAlpha=this._settings.alpha.call(this,b[0]);a.fillStyle=this._settings.color.call(this,b[0]);var i=this._getYPointOfLineChart(b[0],c,d,g),j=this._settings.offset?c.x+g.cellWidth*0.5:c.x;a.beginPath();a.moveTo(j,d.y);a.lineTo(j,i);f.addRect(b[0].id,[j-h,i-h,j+h,i+h]);this._settings.yAxis||this.renderTextAt(!1,!this._settings.offset?!1:!0,j,i- -this._settings.labelOffset,this._settings.label(b[0]));for(var k=1;k=0;l--){var n=k+Math.floor(g.cellWidth*l)-0.5,p=b[l].$startY; -a.lineTo(n,p)}else a.lineTo(k+Math.floor(g.cellWidth*(length-1))-0.5,j);a.lineTo(k,j);a.fill();for(l=0;l=1;k--)e[k]=(d[k]-b[k]*e[k+1])/c[k];f=[];g=[];h=[];i=[];for(k=0;ko&&(s=o/this._series.length- -4);var y=Math.floor((o-s*this._series.length)/2),t=typeof this._settings.radius!="undefined"?parseInt(this._settings.radius,10):Math.round(s/5),u=!1,w=this._settings.gradient;w&&typeof w!="function"?(u=w,w=!1):w&&(w=a.createLinearGradient(c.x,c.y,d.x,c.y),this._settings.gradient(w));var B=0;m||this._drawLine(a,c.x-0.5,c.y,c.x-0.5,d.y,"#000000",1);for(var v=0;vg&&(z=g);z-=h;z*=i;var A=c.x,x=c.y+y+v*o+(s+1)*e;if(z<0&&this._settings.origin== -"auto"||this._settings.xAxis&&z===0&&!(this._settings.origin!="auto"&&this._settings.origin>h))this.renderTextAt("middle","right",A+10,x+s/2+y,this._settings.label(b[v]));else{z<0&&this._settings.origin!="auto"&&this._settings.origin>h&&(z=0);m||(z+=q/r);var C=w||this._settings.color.call(this,b[v]);this._settings.border&&this._drawBarHBorder(a,A,x,s,h,t,r,z,C);a.globalAlpha=this._settings.alpha.call(this,b[v]);var D=this._drawBarH(a,c,A,x,s,h,t,r,z,C,w,u);a.globalAlpha=1;u!=!1&&this._drawBarHGradient(a, -A,x,s,h,t,r,z,C,u);D[3]==x?(this.renderTextAt("middle","left",D[0]-5,D[3]+Math.floor(s/2),this._settings.label(b[v])),f.addRect(b[v].id,[D[0],D[3],D[2],D[3]+s],e)):(this.renderTextAt("middle",!1,D[2]+5,D[1]+Math.floor(s/2),this._settings.label(b[v])),f.addRect(b[v].id,[D[0],x,D[2],D[3]],e))}}},_setBarHPoints:function(a,b,c,d,e,f,g,h){var i=0;if(e>f*g)var j=(e-f*g)/e,i=-Math.asin(j)+Math.PI/2;a.moveTo(b,c+h);var k=b+f*g-e-(e?0:h);eg&&(b+=(this._settings.origin-g)*e,i=b,d-=this._settings.origin-g,d<0&&(d*=-1,a.translate(b,c+f),a.rotate(Math.PI),b=0.5,c=0),b+=0.5);return{value:d,x0:b,y0:c,start:i}},_drawBarH:function(a, -b,c,d,e,f,g,h,i,j,k,m){a.save();var l=this._correctBarHParams(a,c,d,i,h,e,f);a.fillStyle=j;a.beginPath();var n=this._setBarHPoints(a,l.x0,l.y0,e,g,h,l.value,this._settings.border?1:0);k&&!m&&a.lineTo(b.x+total_width,l.y0+(this._settings.border?1:0));a.fill();a.restore();var o=l.y0,p=l.y0!=d?d:n[1],r=l.y0!=d?l.start-n[0]:l.start,q=l.y0!=d?l.start:n[0];return[r,o,q,p]},_drawBarHBorder:function(a,b,c,d,e,f,g,h,i){a.save();var j=this._correctBarHParams(a,b,c,h,g,d,e);a.beginPath();a.fillStyle=i;this._setBarHPoints(a, -j.x0,j.y0,d,f,g,j.value,0);a.lineTo(b,0);a.fill();a.fillStyle="#000000";a.globalAlpha=0.37;a.beginPath();this._setBarHPoints(a,j.x0,j.y0,d,f,g,j.value,0);a.fill();a.restore()},_drawBarHGradient:function(a,b,c,d,e,f,g,h,i,j){a.save();var k=this._correctBarHParams(a,b,c,h,g,d,e),m=this._setBarGradient(a,k.x0,k.y0+d,k.x0+g*k.value,k.y0,j,i,"x");a.fillStyle=m.gradient;a.beginPath();var l=this._setBarHPoints(a,k.x0,k.y0+m.offset,d-m.offset*2,f,g,k.value,m.offset);a.fill();a.globalAlpha=1;a.restore()}}; -dhtmlx.chart.stackedBarH={pvt_render_stackedBarH:function(a,b,c,d,e,f){var g,h,i,j,k=d.x-c.x,m=!!this._settings.yAxis,l=!!this._settings.xAxis,n=this._getStackedLimits(b);g=n.max;h=n.min;var o=Math.floor((d.y-c.y)/b.length);e||this._drawHScales(a,b,c,d,h,g,o);m&&(g=parseFloat(this._settings.xAxis.end),h=parseFloat(this._settings.xAxis.start));var p=this._getRelativeValue(h,g);j=p[0];i=p[1];var r=j?k/j:10;if(!m)var q=10,r=j?(k-q)/j:10;var s=parseInt(this._settings.width,10);s+4>o&&(s=o-4);var y=Math.floor((o- -s)/2),t=0,u=!1,w=this._settings.gradient,u=!1;(w=this._settings.gradient)&&(u=!0);var B=0;m||this._drawLine(a,c.x-0.5,c.y,c.x-0.5,d.y,"#000000",1);for(var v=0;vg&&(z=g);z-=h;z*=i;var A=c.x,x=c.y+y+v*o;if(e)A=b[v].$startX;if(z<0||this._settings.yAxis&&z===0)this.renderTextAt("middle",!0,A+10,x+s/2,this._settings.label(b[v]));else{m||(z+=q/r);var C=this._settings.color.call(this,b[v]);if(this._settings.border)a.beginPath(), -a.fillStyle=C,this._setBarHPoints(a,A,x,s,t,r,z,0),a.lineTo(A,0),a.fill(),a.fillStyle="#000000",a.globalAlpha=0.37,a.beginPath(),this._setBarHPoints(a,A,x,s,t,r,z,0),a.fill();a.globalAlpha=1;a.globalAlpha=this._settings.alpha.call(this,b[v]);a.fillStyle=this._settings.color.call(this,b[v]);a.beginPath();var D=this._setBarHPoints(a,A,x,s,t,r,z,this._settings.border?1:0);w&&!u&&a.lineTo(c.x+k,x+(this._settings.border?1:0));a.fill();if(u!=!1){var F=this._setBarGradient(a,A,x+s,A,x,u,C,"x");a.fillStyle= -F.gradient;a.beginPath();D=this._setBarHPoints(a,A,x,s,t,r,z,0);a.fill();a.globalAlpha=1}this.renderTextAt("middle",!0,b[v].$startX+(D[0]-b[v].$startX)/2-1,x+(D[1]-x)/2,this._settings.label(b[v]));f.addRect(b[v].id,[b[v].$startX,x,D[0],D[1]],e);b[v].$startX=D[0]}}}}; -dhtmlx.chart.stackedBar={pvt_render_stackedBar:function(a,b,c,d,e,f){var g,h,i,j,k=d.y-c.y,m=!!this._settings.yAxis,l=!!this._settings.xAxis,n=this._getStackedLimits(b);g=n.max;h=n.min;var o=Math.floor((d.x-c.x)/b.length);e||this._drawScales(a,b,c,d,h,g,o);m&&(g=parseFloat(this._settings.yAxis.end),h=parseFloat(this._settings.yAxis.start));var p=this._getRelativeValue(h,g);j=p[0];i=p[1];var r=j?k/j:10,q=parseInt(this._settings.width,10);q+4>o&&(q=o-4);var s=Math.floor((o-q)/2),y=this._settings.gradient? -this._settings.gradient:!1,t=0;l||this._drawLine(a,c.x,d.y+0.5,d.x,d.y+0.5,"#000000",1);for(var u=0;uf)k=b.y;if(i10?f.unit:10,f.unit=g?(f.totalHeight-f.startValue)/g:10;return f}}; -dhtmlx.chart.bar={pvt_render_bar:function(a,b,c,d,e,f){var g,h,i,j,k=d.y-c.y,m=!!this._settings.yAxis,l=!!this._settings.xAxis,n=this._getLimits();g=n.max;h=n.min;var o=Math.floor((d.x-c.x)/b.length);!e&&(this._settings.origin=="auto"||m)&&this._drawScales(a,b,c,d,h,g,o);m&&(g=parseFloat(this._settings.yAxis.end),h=parseFloat(this._settings.yAxis.start));var p=this._getRelativeValue(h,g);j=p[0];i=p[1];var r=j?k/j:j;if(!m&&!(this._settings.origin!="auto"&&l))var q=10,r=j?(k-q)/j:q;!e&&this._settings.origin!= -"auto"&&!m&&this._settings.origin>h&&this._drawXAxis(a,b,c,d,o,d.y-r*(this._settings.origin-h));var s=parseInt(this._settings.width,10);this._series&&s*this._series.length+4>o&&(s=o/this._series.length-4);var y=Math.floor((o-s*this._series.length)/2),t=typeof this._settings.radius!="undefined"?parseInt(this._settings.radius,10):Math.round(s/5),u=!1,w=this._settings.gradient;w&&typeof w!="function"?(u=w,w=!1):w&&(w=a.createLinearGradient(0,d.y,0,c.y),this._settings.gradient(w));var B=0;l||this._drawLine(a, -c.x,d.y+0.5,d.x,d.y+0.5,"#000000",1);for(var v=0;vg&&(z=g);z-=h;z*=i;var A=c.x+y+v*o+(s+1)*e,x=d.y;if(z<0||this._settings.yAxis&&z===0&&!(this._settings.origin!="auto"&&this._settings.origin>h))this.renderTextAt(!0,!0,A+Math.floor(s/2),x,this._settings.label(b[v]));else{!m&&!(this._settings.origin!="auto"&&l)&&(z+=q/r);var C=w||this._settings.color.call(this,b[v]);this._settings.border&&this._drawBarBorder(a,A,x,s,h,t,r,z,C);a.globalAlpha= -this._settings.alpha.call(this,b[v]);var D=this._drawBar(a,c,A,x,s,h,t,r,z,C,w,u);a.globalAlpha=1;u&&this._drawBarGradient(a,A,x,s,h,t,r,z,C,u);D[0]!=A?this.renderTextAt(!1,!0,A+Math.floor(s/2),D[1],this._settings.label(b[v])):this.renderTextAt(!0,!0,A+Math.floor(s/2),D[3],this._settings.label(b[v]));f.addRect(b[v].id,[A,D[3],D[2],D[1]],e)}}},_correctBarParams:function(a,b,c,d,e,f,g){var h=this._settings.xAxis,i=c;h&&this._settings.origin!="auto"&&this._settings.origin>g&&(c-=(this._settings.origin- -g)*e,i=c,d-=this._settings.origin-g,d<0&&(d*=-1,a.translate(b+f,c),a.rotate(Math.PI),c=b=0),c-=0.5);return{value:d,x0:b,y0:c,start:i}},_drawBar:function(a,b,c,d,e,f,g,h,i,j,k,m){a.save();a.fillStyle=j;var l=this._correctBarParams(a,c,d,i,h,e,f),n=this._setBarPoints(a,l.x0,l.y0,e,g,h,l.value,this._settings.border?1:0);k&&!m&&a.lineTo(l.x0+(this._settings.border?1:0),b.y);a.fill();a.restore();var o=l.x0,p=l.x0!=c?c+n[0]:n[0],r=l.x0!=c?l.start-n[1]:d,q=l.x0!=c?l.start:n[1];return[o,r,p,q]},_drawBarBorder:function(a, -b,c,d,e,f,g,h,i){a.save();var j=this._correctBarParams(a,b,c,h,g,d,e);a.fillStyle=i;this._setBarPoints(a,j.x0,j.y0,d,f,g,j.value,0);a.lineTo(j.x0,0);a.fill();a.fillStyle="#000000";a.globalAlpha=0.37;this._setBarPoints(a,j.x0,j.y0,d,f,g,j.value,0);a.fill();a.restore()},_drawBarGradient:function(a,b,c,d,e,f,g,h,i,j){a.save();var k=this._correctBarParams(a,b,c,h,g,d,e),m=this._setBarGradient(a,k.x0,k.y0,k.x0+d,k.y0-g*k.value+2,j,i,"y");a.fillStyle=m.gradient;this._setBarPoints(a,k.x0+m.offset,k.y0,d- -m.offset*2,f,g,k.value,m.offset);a.fill();a.restore()},_setBarPoints:function(a,b,c,d,e,f,g,h){a.beginPath();var i=0;if(e>f*g)var j=(e-f*g)/e,i=-Math.acos(j)+Math.PI/2;a.moveTo(b+h,c);var k=c-Math.floor(f*g)+e+(e?0:h);e=0||d>=0&&e<=Math.PI||d<=Math.PI&&e>=Math.PI){d<=0&&e>=0&&(d=0,g=!1,this._drawSectorLine(a,b,c,f,d,e));if(d<=Math.PI&&e>=Math.PI)e=Math.PI,g=!1,this._drawSectorLine(a,b,c,f,d,e);var h=(this._settings.height||Math.floor(f/4))/this._settings.cant;a.beginPath();a.arc(b,c,f,d,e,!1);a.lineTo(b+f*Math.cos(e),c+f*Math.sin(e)+h);a.arc(b,c+h,f,e,d,!0);a.lineTo(b+f*Math.cos(d), -c+f*Math.sin(d));a.fill();g&&a.stroke()}},_drawSectorLine:function(a,b,c,d,e,f){a.beginPath();a.arc(b,c,d,e,f,!1);a.stroke()},_addShadow:function(a,b,c,d){for(var e="#676767,#7b7b7b,#a0a0a0,#bcbcbc,#d1d1d1,#d6d6d6".split(","),f=e.length-1;f>-1;f--)a.beginPath(),a.fillStyle=e[f],a.arc(b+2,c+2,d+f,0,Math.PI*2,!0),a.fill()},_getGrayGradient:function(a){a.addColorStop(0,"#ffffff");a.addColorStop(0.7,"#7a7a7a");a.addColorStop(1,"#000000");return a},_showRadialGradient:function(a,b,c,d,e,f){a.globalAlpha= -0.3;a.beginPath();var g;typeof this._settings.gradient!="function"?(g=a.createRadialGradient(e,f,d/4,b,c,d),g=this._getGrayGradient(g)):g=this._settings.gradient(g);a.fillStyle=g;a.arc(b,c,d,0,Math.PI*2,!0);a.fill();a.globalAlpha=1},_drawSectorLabel:function(a,b,c,d,e,f,g,h){var i=this.renderText(0,0,g,0,1);if(i){var j=i.scrollWidth;i.style.width=j+"px";j>a&&(j=a);var k=8;h&&(k=j/1.8);var m=d+(e-d)/2;c-=(k-8)/2;var l=-k,n=-8,o="left";m>=Math.PI/2&&m= -Math.PI&&(l=-j-l+1,o="right");var p=(b+Math.floor(c*Math.sin(m)))*f+n,r=a+Math.floor((c+k/2)*Math.cos(m))+l,q=eb*f&&(p+=this._settings.height||Math.floor(c/4));i.style.top=p+"px";i.style.left=r+"px";i.style.width=j+"px";i.style.textAlign=o;i.style.whiteSpace="nowrap"}}};dhtmlx.chart.pie3D={pvt_render_pie3D:function(a,b,c,d,e,f){this._renderPie(a,b,c,d,this._settings.cant,f)}}; -dhtmlx.Template={_cache:{},empty:function(){return""},setter:function(a){return dhtmlx.Template.fromHTML(a)},obj_setter:function(a){var b=dhtmlx.Template.setter(a),c=this;return function(){return b.apply(c,arguments)}},fromHTML:function(a){if(typeof a=="function")return a;if(this._cache[a])return this._cache[a];a=(a||"").toString();a=a.replace(/[\r\n]+/g,"\\n");a=a.replace(/\{obj\.([^}?]+)\?([^:]*):([^}]*)\}/g,'"+(obj.$1?"$2":"$3")+"');a=a.replace(/\{common\.([^}\(]*)\}/g,'"+common.$1+"');a=a.replace(/\{common\.([^\}\(]*)\(\)\}/g, -'"+(common.$1?common.$1(obj):"")+"');a=a.replace(/\{obj\.([^}]*)\}/g,'"+obj.$1+"');a=a.replace(/#([a-z0-9_]+)#/gi,'"+obj.$1+"');a=a.replace(/\{obj\}/g,'"+obj+"');a=a.replace(/\{-obj/g,"{obj");a=a.replace(/\{-common/g,"{common");a='return "'+a+'";';return this._cache[a]=Function("obj","common",a)}}; -dhtmlx.Type={add:function(a,b){if(!a.types&&a.prototype.types)a=a.prototype;var c=b.name||"default";this._template(b);this._template(b,"edit");this._template(b,"loading");a.types[c]=dhtmlx.extend(dhtmlx.extend({},a.types[c]||this._default),b);return c},_default:{css:"default",template:function(){return""},template_edit:function(){return""},template_loading:function(){return"..."},width:150,height:80,margin:5,padding:0},_template:function(a,b){var b="template"+(b?"_"+b:""),c=a[b];if(c&&typeof c=="string"){if(c.indexOf("->")!= --1)switch(c=c.split("->"),c[0]){case "html":c=dhtmlx.html.getValue(c[1]).replace(/\"/g,'\\"');break;case "http":c=(new dhtmlx.ajax).sync().get(c[1],{uid:(new Date).valueOf()}).responseText}a[b]=dhtmlx.Template.fromHTML(c)}}}; -dhtmlx.SingleRender={_init:function(){},_toHTML:function(a){return this.type._item_start(a,this.type)+this.type.template(a,this.type)+this.type._item_end},render:function(){if(!this.callEvent||this.callEvent("onBeforeRender",[this.data])){if(this.data)this._dataobj.innerHTML=this._toHTML(this.data);this.callEvent&&this.callEvent("onAfterRender",[])}}}; -dhtmlx.ui.Tooltip=function(a){this.name="Tooltip";this.version="3.0";typeof a=="string"&&(a={template:a});dhtmlx.extend(this,dhtmlx.Settings);dhtmlx.extend(this,dhtmlx.SingleRender);this._parseSettings(a,{type:"default",dy:0,dx:20});this._dataobj=this._obj=document.createElement("DIV");this._obj.className="dhx_tooltip";dhtmlx.html.insertBefore(this._obj,document.body.firstChild)}; -dhtmlx.ui.Tooltip.prototype={show:function(a,b){if(!this._disabled){if(this.data!=a)this.data=a,this.render(a);this._obj.style.top=b.y+this._settings.dy+"px";this._obj.style.left=b.x+this._settings.dx+"px";this._obj.style.display="block"}},hide:function(){this.data=null;this._obj.style.display="none"},disable:function(){this._disabled=!0},enable:function(){this._disabled=!1},types:{"default":dhtmlx.Template.fromHTML("{obj.id}")},template_item_start:dhtmlx.Template.empty,template_item_end:dhtmlx.Template.empty}; -dhtmlx.AutoTooltip={tooltip_setter:function(a){var b=new dhtmlx.ui.Tooltip(a);this.attachEvent("onMouseMove",function(a,d){b.show(this.get(a),dhtmlx.html.pos(d))});this.attachEvent("onMouseOut",function(){b.hide()});this.attachEvent("onMouseMoving",function(){b.hide()});return b}};dhtmlx.ajax=function(a,b,c){if(arguments.length!==0){var d=new dhtmlx.ajax;if(c)d.master=c;d.get(a,null,b)}return!this.getXHR?new dhtmlx.ajax:this}; -dhtmlx.ajax.prototype={getXHR:function(){return dhtmlx.env.isIE?new ActiveXObject("Microsoft.xmlHTTP"):new XMLHttpRequest},send:function(a,b,c){var d=this.getXHR();typeof c=="function"&&(c=[c]);if(typeof b=="object"){var e=[],f;for(f in b){var g=b[f];if(g===null||g===dhtmlx.undefined)g="";e.push(f+"="+encodeURIComponent(g))}b=e.join("&")}b&&!this.post&&(a=a+(a.indexOf("?")!=-1?"&":"?")+b,b=null);d.open(this.post?"POST":"GET",a,!this._sync);this.post&&d.setRequestHeader("Content-type","application/x-www-form-urlencoded"); -var h=this;d.onreadystatechange=function(){if(!d.readyState||d.readyState==4){if(c&&h)for(var a=0;ab)var c=b,b=a,a=c;return this.getIndexRange(a,b)},getIndexRange:function(a,b){for(var b=Math.min(b||Infinity,this.dataCount()-1),c=dhtmlx.toArray(),d=a||0;d<=b;d++)c.push(this.item(this.order[d]));return c},dataCount:function(){return this.order.length},exists:function(a){return!!this.pull[a]},move:function(a, -b){if(!(a<0||b<0)){var c=this.idByIndex(a),d=this.item(c);this.order.removeAt(a);this.order.insertAt(c,Math.min(this.order.length,b));this.callEvent("onStoreUpdated",[c,d,"move"])}},scheme:function(a){this._scheme=a},sync:function(a,b,c){typeof b!="function"&&(c=b,b=null);if(dhtmlx.debug_bind)this.debug_sync_master=a;if(a.name!="DataStore")a=a.data;var d=dhx.bind(function(d,f,g){if(g!="update"||b)d=null;if(!d)this.order=dhx.toArray([].concat(a.order)),this._filter_order=null,this.pull=a.pull,b&&this.silent(b), -this._on_sync&&this._on_sync();c?c=!1:this.refresh(d)},this);a.attachEvent("onStoreUpdated",d);d()},add:function(a,b){if(this._scheme){var a=a||{},c;for(c in this._scheme)a[c]=a[c]||this._scheme[c];this._scheme&&(this._scheme.$init?this._scheme.$update(a):this._scheme.$update&&this._scheme.$update(a))}var d=this.id(a),e=this.dataCount();if(dhtmlx.isNotDefined(b)||b<0)b=e;b>e&&(b=Math.min(this.order.length,b));if(this.callEvent("onBeforeAdd",[d,a,b])===!1)return!1;if(this.exists(d))return null;this.pull[d]= -a;this.order.insertAt(d,b);if(this._filter_order){var f=this._filter_order.length;!b&&this.order.length&&(f=0);this._filter_order.insertAt(d,f)}this.callEvent("onafterAdd",[d,b]);this.callEvent("onStoreUpdated",[d,a,"add"]);return d},remove:function(a){if(a instanceof Array)for(var b=0;bb?1:ab?1:ab?1:ac&&(c=a(b)*1)});return c},_split_data_by:function(a){var b=function(a,b){a=dhtmlx.Template.setter(a);return a(b[0])},c=dhtmlx.Template.setter(a.by);a.map[c]||(a.map[c]=[c,b]); -var d={},e=[];this.data.each(function(a){var b=c(a);d[b]||(e.push({id:b}),d[b]=dhtmlx.toArray());d[b].push(a)});for(var f in a.map){var g=a.map[f][1]||b;typeof g!="function"&&(g=this[g]);for(var h=0;h5?10:5;c=parseInt(h,10)*g;if(c>Math.abs(a))d=a<0?-c:0;else{var i= -Math.abs(a),j=Math.floor(this._log10(i)),k=i/Math.pow(10,j);d=Math.ceil(k*10)/10*Math.pow(10,j)-c;a<0&&(d=-d-2*c)}for(e=d;e1)for(var e=1;eb&&(b=f);gb)b=a[d].$sum;if(a[d].$min0&&(c=0)}return{max:b,min:c}},_setBarGradient:function(a,b,c,d,e,f,g,h){var i,j;f=="light"?(i=h=="x"?a.createLinearGradient(b,c,d,c):a.createLinearGradient(b,c,b,e),i.addColorStop(0,"#FFFFFF"),i.addColorStop(0.9,g),i.addColorStop(1,g),j=2):(a.globalAlpha=0.37,j=0,i=h=="x"?a.createLinearGradient(b,e,b,c):a.createLinearGradient(b,c,d,c),i.addColorStop(0,"#000000"),i.addColorStop(0.5, -"#FFFFFF"),i.addColorStop(0.6,"#FFFFFF"),i.addColorStop(1,"#000000"));return{gradient:i,offset:j}}};dhtmlx.compat("layout"); -function dhtmlXColorPickerInput(a){typeof a!="object"&&(a=document.getElementById(a));var b=a,c=b.getAttribute("colorbox"),d=b.getAttribute("customcolors"),e=b.getAttribute("selectonclick"),f=b.getAttribute("fullview"),g=b.getAttribute("selectedcolor"),h=b;if(c){var i=document.createElement("DIV");i.style.width=b.offsetWidth+"px";i.style.height=b.offsetHeight+"px";b.style.width=b.offsetWidth-b.offsetHeight-2;b.parentNode.insertBefore(i,b);i.style.position="relative";h=document.createElement("DIV"); -i.appendChild(h);i.appendChild(b);h.className="cs_colorBox";b.className+=" cs_colorInput";h.style.width=h.style.height=b.offsetHeight-(document.all?0:2)+"px";b.style.left=b.offsetHeight+2+"px"}var j=new dhtmlXColorPicker(null,e,d,!0,f);g&&j.setColor(g);j.linkToObjects=[h,b,b];return j} -function dhtmlXColorPicker(a,b,c,d,e){if(document.all)try{document.execCommand("BackgroundImageCache",!1,!0)}catch(f){}this._cc=c;if(!a)a=document.createElement("DIV"),a.style.position="absolute",document.body.appendChild(a),a._dhx_remove=!0;this.container=typeof a!="object"?document.getElementById(a):a;dhtmlxEventable(this);this.skinName=dhtmlx.skin||"";this.ready=!1;this.hideOnInit=d||!1;this.linkToObjects=[];this.imgURL=dhtmlx.image_path||window.dhx_globalImgPath||"";this.hideSelfOnSelect=!0;this.hex= -"000000";this.h=100;this.s=0.9;this.v=0.1;this.old_sat=this.old_hue=this.b=this.g=this.r=0;this.fullview=e||!1;this.customColorsCount=!this.fullview?10:8;this.language=null;this.elements=[];this.customColors=[];this.restoreFrom=null;this.fullview?this.colorSelectW=this.colorSelectH=255:(this.colorSelectH=119,this.colorSelectW=209);this.isClickOnly=b||!1;if(window.cs_dechex==null){var g=[0,1,2,3,4,5,6,7,8,9,"a","b","c","d","e","f"];window.cs_dechex=[];for(var h=0;h<256;h++){var i=g[h>>4].toString()+ -g[h&15].toString();i.length<2&&(i="0"+i);window.cs_dechex[h]=i}}defLeng={langname:"en-us",labelHue:"Hue",labelSat:"Sat",labelLum:"Lum",labelRed:"Red",labelGreen:"Green",labelBlue:"Blue",btnAddColor:"Add to Custom Colors",btnSelect:"Select",btnCancel:"Cancel"};window.dhtmlxColorPickerObjects?window.dhtmlxColorPickerObjects[window.dhtmlxColorPickerObjects.length]=this:window.dhtmlxColorPickerObjects=[this];if(!window.dhtmlxColorPickerLangModules)window.dhtmlxColorPickerLangModules={};window.dhtmlxColorPickerLangModules["en-us"]= -defLeng;return this} -dhtmlXColorPicker.prototype.generate=function(){X=document.compatMode!="BackCompat"?"X":"";if(this.fullview)a="",a);this.cell.firstChild._bg=a}; -function eXcell_img(a){try{this.cell=a,this.grid=this.cell.parentNode.grid}catch(b){}this.getValue=function(){if(this.cell.firstChild.tagName=="IMG")return this.cell.firstChild.src+(this.cell.titFl!=null?"^"+this.cell._brval:"");else if(this.cell.firstChild.tagName=="A"){var a=this.cell.firstChild.firstChild.src+(this.cell.titFl!=null?"^"+this.cell._brval:"");a+="^"+this.cell.lnk;this.cell.trg&&(a+="^"+this.cell.trg);return a}};this.isDisabled=function(){return!0}}eXcell_img.prototype=new eXcell; -eXcell_img.prototype.getTitle=function(){return this.cell._brval};eXcell_img.prototype.setValue=function(a){var b=a;if(a.indexOf("^")!=-1){var c=a.split("^"),a=c[0],b=this.cell._attrs.title||c[1];if(c.length>2&&(this.cell.lnk=c[2],c[3]))this.cell.trg=c[3];this.cell.titFl="1"}this.setCValue("",a);if(this.cell.lnk)this.cell.innerHTML=""+this.cell.innerHTML+"";this.cell._brval=b}; -function eXcell_price(a){this.base=eXcell_ed;this.base(a);this.getValue=function(){return this.cell.childNodes.length>1?this.cell.childNodes[1].innerHTML.toString()._dhx_trim():"0"}}eXcell_price.prototype=new eXcell_ed;eXcell_price.prototype.setValue=function(a){isNaN(parseFloat(a))&&(a=this.val||0);var b="green";a<0&&(b="red");this.setCValue("$"+a+"",a)}; -function eXcell_dyn(a){this.base=eXcell_ed;this.base(a);this.getValue=function(){return this.cell.firstChild.childNodes[1].innerHTML.toString()._dhx_trim()}}eXcell_dyn.prototype=new eXcell_ed; -eXcell_dyn.prototype.setValue=function(a){if(!a||isNaN(Number(a)))a!==""&&(a=0);if(a>0)var b="green",c="dyn_up.gif";else a==0?(b="black",c="dyn_.gif"):(b="red",c="dyn_down.gif");this.setCValue("
                    "+a+"
                    ",a)}; -function eXcell_ro(a){if(a)this.cell=a,this.grid=this.cell.parentNode.grid;this.edit=function(){};this.isDisabled=function(){return!0};this.getValue=function(){return this.cell._clearCell?"":this.cell.innerHTML.toString()._dhx_trim()}}eXcell_ro.prototype=new eXcell; -function eXcell_ron(a){this.cell=a;this.grid=this.cell.parentNode.grid;this.edit=function(){};this.isDisabled=function(){return!0};this.getValue=function(){return this.cell._clearCell?"":this.grid._aplNFb(this.cell.innerHTML.toString()._dhx_trim(),this.cell._cellIndex)}}eXcell_ron.prototype=new eXcell; -eXcell_ron.prototype.setValue=function(a){if(a!==0&&(!a||a.toString()._dhx_trim()==""))return this.setCValue(" "),this.cell._clearCell=!0;this.cell._clearCell=!1;this.setCValue(a?this.grid._aplNF(a,this.cell._cellIndex):"0")}; -function eXcell_rotxt(a){this.cell=a;this.grid=this.cell.parentNode.grid;this.edit=function(){};this.isDisabled=function(){return!0};this.setValue=function(a){a?this.cell._clearCell=!1:(a=" ",this.cell._clearCell=!0);this.setCTxtValue(a)};this.getValue=function(){return this.cell._clearCell?"":_isIE?this.cell.innerText:this.cell.textContent}}eXcell_rotxt.prototype=new eXcell; -function dhtmlXGridComboObject(){this.keys=new dhtmlxArray;this.values=new dhtmlxArray;this.put=function(a,b){for(var c=0;c=0;d--)(c?this._get_cell_value(this.rowsBuffer[d],a).toString().toLowerCase().indexOf(b)==-1:!b.call(this,this._get_cell_value(this.rowsBuffer[d],a),this.rowsBuffer[d].idd))&&this.rowsBuffer.splice(d,1)}}; -dhtmlXGridObject.prototype.getFilterElement=function(a){if(this.filters){for(var b=0;b=this._cCount)){var d=this._m_order?this._m_order[this.filters[c][1]]:this.filters[c][1];b.push(d);var e=this.filters[c][0]._filter?this.filters[c][0]._filter():this.filters[c][0].value,f;if(typeof e!="function"&&(f=this.combos[d]))d=f.values._dhx_find(e),e=d==-1?e:f.keys[d];a.push(e)}this.callEvent("onFilterStart",[b,a])&&(this.filterBy(b,a),this._cssEven&&this._fixAlterCss(), -this.callEvent("onFilterEnd",[this.filters]))}; -dhtmlXGridObject.prototype.makeFilter=function(a,b){if(!this.filters)this.filters=[];typeof a!="object"&&(a=document.getElementById(a));if(a){var c=this;if(!a.style.width)a.style.width="90%";if(a.tagName=="SELECT"){this.filters.push([a,b]);this._loadSelectOptins(a,b);a.onchange=function(){c.filterByAll()};if(_isIE)a.style.marginTop="1px";this.attachEvent("onEditCell",function(c,d,g){this._build_m_order();c==2&&this.filters&&(this._m_order?g==this._m_order[b]:g==b)&&this._loadSelectOptins(a,b);return!0})}else if(a.tagName== -"INPUT")this.filters.push([a,b]),a.value="",a.onkeydown=function(){this._timer&&window.clearTimeout(this._timer);this._timer=window.setTimeout(function(){if(a.value!=a.old_value)c.filterByAll(),a.old_value=a.value},500)};else if(a.tagName=="DIV"&&a.className=="combo"){this.filters.push([a,b]);a.style.padding="0px";a.style.margin="0px";if(!window.dhx_globalImgPath)window.dhx_globalImgPath=this.imgURL;var d=new dhtmlXCombo(a,"_filter","90%");d.filterSelfA=d.filterSelf;d.filterSelf=function(){this.getSelectedIndex()== -0&&this.setComboText("");this.filterSelfA.apply(this,arguments);this.optionsArr[0].hide(!1)};d.enableFilteringMode(!0);a.combo=d;a.value="";this._loadComboOptins(a,b);d.attachEvent("onChange",function(){a.value=d.getSelectedValue();if(a.value===null)a.value="";c.filterByAll()})}a.parentNode&&(a.parentNode.className+=" filter");this._filters_ready()}}; -dhtmlXGridObject.prototype.findCell=function(a,b,c){var d=[],a=a.toString().toLowerCase();typeof c!="number"&&(c=c?1:0);if(!this.rowsBuffer.length)return d;for(var e=b||0;e";a.onclick=a.onmousedown=function(a){return(a||event).cancelBubble=!0};a.onselectstart=function(){return event.cancelBubble=!0};this.makeFilter(a.firstChild,b)}; -dhtmlXGridObject.prototype._in_header_text_filter_inc=function(a,b){a.innerHTML="";a.onclick=a.onmousedown=function(a){return(a||event).cancelBubble=!0};a.onselectstart=function(){return event.cancelBubble=!0};this.makeFilter(a.firstChild,b);a.firstChild._filter=function(){return a.firstChild.value==""?"":function(b){return b.toString().toLowerCase().indexOf(a.firstChild.value.toLowerCase())==0}};this._filters_ready()}; -dhtmlXGridObject.prototype._in_header_select_filter=function(a,b){a.innerHTML="";a.onclick=function(a){(a||event).cancelBubble=!0;return!1};this.makeFilter(a.firstChild,b)}; -dhtmlXGridObject.prototype._in_header_select_filter_strict=function(a,b){a.innerHTML="";a.onclick=function(a){(a||event).cancelBubble=!0;return!1};this.makeFilter(a.firstChild,b);a.firstChild._filter=function(){return!a.firstChild.value?"":function(b){return a.firstChild.value.toLowerCase()==""?!0:b.toString().toLowerCase()==a.firstChild.value.toLowerCase()}};this._filters_ready()}; -dhtmlXGridObject.prototype._in_header_combo_filter=function(a,b){a.innerHTML="
                    ";a.onselectstart=function(){return event.cancelBubble=!0};a.onclick=a.onmousedown=function(a){return(a||event).cancelBubble=!0};this.makeFilter(a.firstChild,b)}; -dhtmlXGridObject.prototype._in_header_text_search=function(a,b){a.innerHTML="";a.onclick=a.onmousedown=function(a){return(a||event).cancelBubble=!0};a.onselectstart=function(){return event.cancelBubble=!0};this.makeSearch(a.firstChild,b)}; -dhtmlXGridObject.prototype._in_header_numeric_filter=function(a,b){this._in_header_text_filter.call(this,a,b);a.firstChild._filter=function(){var a=this.value,b,e="==",f=parseFloat(a.replace("=","")),g=null;if(a){if(a.indexOf("..")!=-1)return a=a.split(".."),f=parseFloat(a[0]),g=parseFloat(a[1]),function(a){return a>=f&&a<=g?!0:!1};if(b=a.match(/>=|<=|>|"+c[1];var d=this;a.getElementsByTagName("input")[0].onclick=function(a){d._build_m_order();var c=d._m_order?d._m_order[b]:b,g=this.checked?1:0;d.forEachRowA(function(a){var b=this.cells(a,c);if(b.isCheckbox())b.setValue(g),b.cell.wasChanged=!0;this.callEvent("onEditCell",[1,a,c,g])});(a||event).cancelBubble=!0}}; -dhtmlXGridObject.prototype._in_header_stat_total=function(a,b,c){var d=function(){var a=0;this._build_m_order();for(var c=this._m_order?this._m_order[b]:b,d=0;d=0;e--)this._checkParent(this.rowsAr[d[e]],d)&&d.splice(e,1);var f=this;d.length&&this._dndorder&&d.sort(function(a, -b){return f.rowsAr[a].rowIndex>f.rowsAr[b].rowIndex?1:-1});var g=this.getFirstParentOfType(_isIE?b.srcElement:b.target,"TD");if(g)this._dndExtra=g._cellIndex;this._dragged=[];for(e=0;e=0&&this.tobj._h2.get[this.tobj.rowsBuffer[a].idd].state== -"minus"?this.tobj._getOpenLenght(this.tobj.rowsBuffer[a].idd,0):0)};dragContext.prototype.img=function(){return this.target!="grid"&&this.sobj._h2?this.sobj.getItemImage(this.sid):null};dragContext.prototype.slist=function(){for(var a=[],b=0;bparseInt(this.objBox.offsetHeight)-50)this.objBox.scrollTop=parseInt(this.objBox.scrollTop)+20;if(e-f+parseInt(this.objBox.scrollTop)0?(this.dadmodec=1,this.dadmodefix=g<0?-1:1):this.dadmodec=0}else this.dadmodec=this.dadmode;if(this.dadmodec)this._sdrgc||this._createSdrgc(),this._sdrgc.style.display="block",this._sdrgc.style.top=e-f+parseInt(this.objBox.scrollTop)+(this.dadmodefix>=0?a.offsetHeight:0)+"px";else if(this._llSelD=a,a.parentNode.tagName=="TR")for(var h=0;hg&&c;)c--;for(var h=c;g=d)break;if(g>=d)break;g++;zxVal=k.cell? -k[this._agetm]():"";this._chAttr&&k.wasChanged()&&(f=!0);e[e.length]=zxVal===null?"":zxVal;if(this._ecspn&&j.colSpan&&j.colSpan>1)for(var j=j.colSpan-1,m=0;m";this.parentGrid||(c+=a||"");c+='';var f=Math.max(this.rowsBuffer.length, -this.rowsCol.length),g=this._cCount,h=this._printWidth();c+='';for(e=0;e'+this.getHeaderCol(e)+"";e+=j-1}c+="";for(e=2;e";for(var l=this.hdr.rows[e].childNodes,m=0;m"}else c+=""+(this._fake?this._fake.hdr.rows[e].innerHTML:"")+this.hdr.rows[e].innerHTML+"";for(e=0;e",this.rowsCol[e]&&this.rowsCol[e]._cntr)c+=this.rowsCol[e].innerHTML.replace(/]*>/gi,"")+"";else if(!(this.rowsCol[e]&&this.rowsCol[e].style.display=="none")){var n; -if(this.rowsCol[e])n=this.rowsCol[e].idd;else if(this.rowsBuffer[e])n=this.rowsBuffer[e].idd;else continue;for(m=0;m"+(p===""?" ":p)+"";s&&(m+=s-1)}c+="";if(this.rowsCol[e]&&this.rowsCol[e]._expanded){var y=this.cells4(this.rowsCol[e]._expanded.ctrl);c+=y.getSubGrid?'":'"}}if(this.ftr)for(e=1;e"+(this._fake? -this._fake.ftr.childNodes[0].rows[e].innerHTML:"")+this.ftr.childNodes[0].rows[e].innerHTML+"";c+="
                    '+y.getSubGrid().printView()+"
                    '+this.rowsCol[e]._expanded.innerHTML+"
                    ";if(this.parentGrid)return c;c+=b||"";var t=window.open("","_blank");t.document.write(c);t.document.write(" - - - - - -
                    - - - -
                    -<?php -
                        
                    require_once("../config.php"); -
                        
                    $res=mysql_connect($mysql_server,$mysql_user,$mysql_pass); -
                        
                    mysql_select_db($mysql_db); -
                    -
                        require(
                    "../../codebase/grid_connector.php"); -
                        
                    $grid = new GridConnector($res); -
                        
                    $grid->enable_log("temp.log",true); -
                        
                    $grid->dynamic_loading(100); -
                        
                    $grid->render_table("grid50000","item_id","item_nm,item_cd"); -
                    ?> -
                    -
                    - diff --git a/themes/connector/samples/grid/01_basic_connector.php b/themes/connector/samples/grid/01_basic_connector.php deleted file mode 100644 index eff8ee7..0000000 --- a/themes/connector/samples/grid/01_basic_connector.php +++ /dev/null @@ -1,11 +0,0 @@ -dynamic_loading(100); - $grid->render_table("grid50000","item_id","item_nm,item_cd"); -?> \ No newline at end of file diff --git a/themes/connector/samples/grid/01a_sql_basic.html b/themes/connector/samples/grid/01a_sql_basic.html deleted file mode 100644 index 65f9db3..0000000 --- a/themes/connector/samples/grid/01a_sql_basic.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - - For demo purpose only :: &1 - - - - - - - - - - -
                    - - - -
                    -<?php
                        
                    require_once("../config.php");
                        
                    $res=mysql_connect($mysql_server,$mysql_user,$mysql_pass);
                        
                    mysql_select_db($mysql_db);

                        require(
                    "../../codebase/grid_connector.php");
                        
                    $grid = new GridConnector($res);
                        
                    $grid->enable_log("temp.log",true);
                        
                    $grid->dynamic_loading(100);
                        
                    $grid->render_sql("SELECT grid50000.item_id as ID , grid50000.item_nm FROM grid50000","item_id(ID)","grid50000.item_id(ID),item_nm");
                    ?> -
                    -
                    - diff --git a/themes/connector/samples/grid/01a_sql_basic_connector.php b/themes/connector/samples/grid/01a_sql_basic_connector.php deleted file mode 100644 index a02e614..0000000 --- a/themes/connector/samples/grid/01a_sql_basic_connector.php +++ /dev/null @@ -1,13 +0,0 @@ -render_sql($sql,"item_id","item_nm,item_cd"); - -?> \ No newline at end of file diff --git a/themes/connector/samples/grid/02_rendering.html b/themes/connector/samples/grid/02_rendering.html deleted file mode 100644 index e204922..0000000 --- a/themes/connector/samples/grid/02_rendering.html +++ /dev/null @@ -1,52 +0,0 @@ - - - - - For demo purpose only :: &1 - - - - - - - - - - -
                    - - - -
                    -<?php -
                        
                    require_once("../config.php"); -
                        
                    $res=mysql_connect($mysql_server,$mysql_user,$mysql_pass); -
                        
                    mysql_select_db($mysql_db); -
                         -
                        function 
                    color_rows($row){ -
                            if (
                    $row->get_index()%2)    $row->set_row_style("background-color: red"); -
                        } -
                        require(
                    "../../codebase/grid_connector.php"); -
                        
                    $grid = new GridConnector($res); -
                        
                    $grid->enable_log("temp.log",true); -
                        
                    $grid->dynamic_loading(100); -
                        
                    $grid->event->attach("beforeRender","color_rows"); -
                        
                    $grid->render_table("grid50000","item_id","item_nm,item_cd"); -
                    ?> -
                    -
                    - diff --git a/themes/connector/samples/grid/02_rendering_connector.php b/themes/connector/samples/grid/02_rendering_connector.php deleted file mode 100644 index e56d716..0000000 --- a/themes/connector/samples/grid/02_rendering_connector.php +++ /dev/null @@ -1,17 +0,0 @@ -get_index()%2) { - $row->set_row_style("background-color: red"); - } - } - require("../../codebase/grid_connector.php"); - $grid = new GridConnector($res); - - $grid->dynamic_loading(100); - $grid->event->attach("beforeRender","color_rows"); - $grid->render_table("grid50000","item_id","item_nm,item_cd"); -?> \ No newline at end of file diff --git a/themes/connector/samples/grid/03_validation.html b/themes/connector/samples/grid/03_validation.html deleted file mode 100644 index b97cd62..0000000 --- a/themes/connector/samples/grid/03_validation.html +++ /dev/null @@ -1,53 +0,0 @@ - - - - - For demo purpose only :: &1 - - - - - - - - - - -
                    - - - -
                    -<?php -
                        
                    require_once("../config.php"); -
                        
                    $res=mysql_connect($mysql_server,$mysql_user,$mysql_pass); -
                        
                    mysql_select_db($mysql_db); -
                    -
                        function 
                    check_data($action){ -
                            if (
                    $action->get_value("item_cd")=="" || $action->get_value("item_nm")=="") -
                                
                    $action->invalid(); -
                        } -
                        require(
                    "../../codebase/grid_connector.php"); -
                        
                    $grid = new GridConnector($res); -
                        
                    $grid->enable_log("temp.log",true); -
                        
                    $grid->dynamic_loading(100); -
                        
                    $grid->event->attach("beforeProcessing",check_data); -
                        
                    $grid->render_table("grid50000","item_id","item_nm,item_cd"); -
                    ?> -
                    -
                    - diff --git a/themes/connector/samples/grid/03_validation_connector.php b/themes/connector/samples/grid/03_validation_connector.php deleted file mode 100644 index a703c13..0000000 --- a/themes/connector/samples/grid/03_validation_connector.php +++ /dev/null @@ -1,16 +0,0 @@ -get_value("item_cd")=="" || $action->get_value("item_nm")=="") - $action->invalid(); - } - require("../../codebase/grid_connector.php"); - $grid = new GridConnector($res); - - $grid->dynamic_loading(100); - $grid->event->attach("beforeProcessing",check_data); - $grid->render_table("grid50000","item_id","item_nm,item_cd"); -?> \ No newline at end of file diff --git a/themes/connector/samples/grid/04_custom_sql.html b/themes/connector/samples/grid/04_custom_sql.html deleted file mode 100644 index a0fd6e0..0000000 --- a/themes/connector/samples/grid/04_custom_sql.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - - For demo purpose only :: &1 - - - - - - - - - - -
                    - - - -
                    -<?php
                        
                    require_once("../config.php");
                        
                    $res=mysql_connect($mysql_server,$mysql_user,$mysql_pass);
                        
                    mysql_select_db($mysql_db);

                        require(
                    "../../codebase/grid_connector.php");
                        
                    $grid = new GridConnector($res);
                        
                    $grid->enable_log("temp.log",true);
                        
                        
                    $grid->sql->attach("delete","update grid50000 set item_nm='deleted' where item_id='{item_id}'");
                            
                        
                    $grid->dynamic_loading(100);

                        
                    $grid->render_table("grid50000","item_id","item_nm,item_cd");
                    ?> -
                    -
                    - diff --git a/themes/connector/samples/grid/04_custom_sql_connector.php b/themes/connector/samples/grid/04_custom_sql_connector.php deleted file mode 100644 index ceced6f..0000000 --- a/themes/connector/samples/grid/04_custom_sql_connector.php +++ /dev/null @@ -1,15 +0,0 @@ -sql->attach("delete","update grid50000 set item_nm='deleted' where item_id='{item_id}'"); - - $grid->dynamic_loading(100); - - $grid->render_table("grid50000","item_id","item_nm,item_cd"); -?> \ No newline at end of file diff --git a/themes/connector/samples/grid/05_select_filter.html b/themes/connector/samples/grid/05_select_filter.html deleted file mode 100644 index 0922c3a..0000000 --- a/themes/connector/samples/grid/05_select_filter.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - For demo purpose only :: &1 - - - - - - - - - - -
                    - - - -
                    -<?php -
                        
                    require_once("../config.php"); -
                        
                    $res=mysql_connect($mysql_server,$mysql_user,$mysql_pass); -
                        
                    mysql_select_db($mysql_db); -
                         -
                        require(
                    "../../codebase/grid_connector.php"); -
                        
                    $grid = new GridConnector($res); -
                        
                    $grid->enable_log("temp.log",true); -
                        
                    $grid->dynamic_loading(100); -
                        
                    $grid->render_table("countries","item_id","item_nm,item_cd"); -
                    ?> -
                    -
                    - diff --git a/themes/connector/samples/grid/05_select_filter_connector.php b/themes/connector/samples/grid/05_select_filter_connector.php deleted file mode 100644 index 7fb0de8..0000000 --- a/themes/connector/samples/grid/05_select_filter_connector.php +++ /dev/null @@ -1,11 +0,0 @@ -dynamic_loading(100); - $grid->render_table("countries","item_id","item_nm,item_cd"); -?> \ No newline at end of file diff --git a/themes/connector/samples/grid/05a_select_filter.html b/themes/connector/samples/grid/05a_select_filter.html deleted file mode 100644 index aa9bccd..0000000 --- a/themes/connector/samples/grid/05a_select_filter.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - - For demo purpose only :: &1 - - - - - - - - - - -
                    - - - -
                    -<?php
                        
                    require_once("../config.php");
                        
                    $res=mysql_connect($mysql_server,$mysql_user,$mysql_pass);
                        
                    mysql_select_db($mysql_db);
                        require(
                    "../../codebase/grid_connector.php");
                        
                        
                        
                        
                    $grid = new GridConnector($res);
                        
                    $grid->enable_log("temp.log",true);
                        
                    $grid->dynamic_loading(100);
                        
                        
                    /*$filter1 = new OptionsConnector($res);
                        $filter1->render_table("countries","item_id","item_id(value),item_nm(label)");
                        $grid->set_options("item_nm",$filter1);*/
                        
                        
                    $filter1 = new OptionsConnector($res);
                        
                    $filter1->render_sql("SELECT  DISTINCT SUBSTR(item_nm,1,2) as value from grid50","item_id","item_nm(value)");
                        
                    $grid->set_options("item_nm",$filter1);
                        
                        
                    $grid->render_table("grid50","item_id","item_nm,item_cd");
                    ?> -
                    -
                    - diff --git a/themes/connector/samples/grid/05a_select_filter_connector.php b/themes/connector/samples/grid/05a_select_filter_connector.php deleted file mode 100644 index ef2c31b..0000000 --- a/themes/connector/samples/grid/05a_select_filter_connector.php +++ /dev/null @@ -1,22 +0,0 @@ -dynamic_loading(100); - - /*$filter1 = new OptionsConnector($res); - $filter1->render_table("countries","item_id","item_id(value),item_nm(label)"); - $grid->set_options("item_nm",$filter1);*/ - - $filter1 = new OptionsConnector($res); - $filter1->render_sql("SELECT DISTINCT SUBSTR(item_nm,1,2) as value from grid50000","item_id","item_nm(value)"); - $grid->set_options("item_nm",$filter1); - - $grid->render_table("grid50000","item_id","item_nm,item_cd"); -?> \ No newline at end of file diff --git a/themes/connector/samples/grid/06_combo.html b/themes/connector/samples/grid/06_combo.html deleted file mode 100644 index 4b6cf50..0000000 --- a/themes/connector/samples/grid/06_combo.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - - For demo purpose only :: &1 - - - - - - - - - - -
                    - - - -
                    -<?php
                        
                    require_once("../config.php");
                        
                    $res=mysql_connect($mysql_server,$mysql_user,$mysql_pass);
                        
                    mysql_select_db($mysql_db);
                        require(
                    "../../codebase/grid_connector.php");
                        
                        
                        
                        
                    $grid = new GridConnector($res);
                        
                    $grid->enable_log("temp.log",true);
                        
                    $grid->dynamic_loading(100);
                        
                        
                    /*$filter1 = new OptionsConnector($res);
                        $filter1->render_table("countries","item_id","item_id(value),item_nm(label)");
                        $grid->set_options("item_nm",$filter1);*/
                        
                        
                    $filter1 = new OptionsConnector($res);
                        
                    $filter1->render_table("countries","item_id","item_id(value),item_nm(label)");
                        
                    $grid->set_options("item_nm",$filter1);
                        
                        
                    $grid->render_table("grid50","item_id","item_nm,item_cd");
                        
                    ?> -
                    -
                    - diff --git a/themes/connector/samples/grid/06_combo_connector.php b/themes/connector/samples/grid/06_combo_connector.php deleted file mode 100644 index a5f9f19..0000000 --- a/themes/connector/samples/grid/06_combo_connector.php +++ /dev/null @@ -1,23 +0,0 @@ -dynamic_loading(100); - - /*$filter1 = new OptionsConnector($res); - $filter1->render_table("countries","item_id","item_id(value),item_nm(label)"); - $grid->set_options("item_nm",$filter1);*/ - - $filter1 = new OptionsConnector($res); - $filter1->render_table("countries","item_id","item_id(value),item_nm(label)"); - $grid->set_options("item_nm",$filter1); - - $grid->render_table("grid50000","item_id","item_nm,item_cd"); - -?> \ No newline at end of file diff --git a/themes/connector/samples/grid/06a_combo.html b/themes/connector/samples/grid/06a_combo.html deleted file mode 100644 index 79292f7..0000000 --- a/themes/connector/samples/grid/06a_combo.html +++ /dev/null @@ -1,65 +0,0 @@ - - - - - For demo purpose only :: &1 - - - - - - - - - - -
                    - - - - -
                    -<?php -
                        
                    require_once("../config.php"); -
                        
                    $res=mysql_connect($mysql_server,$mysql_user,$mysql_pass); -
                        
                    mysql_select_db($mysql_db); -
                        require(
                    "../../codebase/grid_connector.php"); -
                         -
                         -
                         -
                        
                    $grid = new GridConnector($res); -
                        
                    $grid->enable_log("temp.log",true); -
                        
                    $grid->dynamic_loading(100); -
                         -
                        
                    /*$filter1 = new OptionsConnector($res); -
                        $filter1->render_table("countries","item_id","item_id(value),item_nm(label)"); -
                        $grid->set_options("item_nm",$filter1);*/ -
                         -
                         -
                        
                    $grid->set_options("item_nm",array("1","two","3")); -
                        
                    $grid->set_options("item_cd",array("91"=>"one""75"=>"two")); -
                         -
                         -
                         -
                        
                    $grid->sql->set_transaction_mode("record"); -
                        
                    $grid->render_table("grid50","item_id","item_nm,item_cd"); -
                         -
                    ?> -
                    -
                    - diff --git a/themes/connector/samples/grid/09_server_side_configuration.html b/themes/connector/samples/grid/09_server_side_configuration.html deleted file mode 100644 index 7235c0c..0000000 --- a/themes/connector/samples/grid/09_server_side_configuration.html +++ /dev/null @@ -1,32 +0,0 @@ - - - - - For demo purpose only :: &1 - - - - - - - - - - -
                    - - - - - - diff --git a/themes/connector/samples/grid/09_server_side_configuration.php b/themes/connector/samples/grid/09_server_side_configuration.php deleted file mode 100644 index f5d3147..0000000 --- a/themes/connector/samples/grid/09_server_side_configuration.php +++ /dev/null @@ -1,18 +0,0 @@ -setHeader("ID,First Name,Last Name,Title,Office,Extn,Mobile,Email"); -// $config->setColTypes("ro,ed,ed,ed,ed,ed,ed,ed"); -// $grid->set_config($config); - $config->setHeader("menutype"); - $config->setColTypes("ed"); - $grid->set_config($config); - - $grid->render_table("tbl_menu"); -?> \ No newline at end of file diff --git a/themes/connector/samples/grid/10_auto_config.html b/themes/connector/samples/grid/10_auto_config.html deleted file mode 100644 index d8fd6e0..0000000 --- a/themes/connector/samples/grid/10_auto_config.html +++ /dev/null @@ -1,32 +0,0 @@ - - - - - For demo purpose only :: &1 - - - - - - - - - - -
                    - - - - - - diff --git a/themes/connector/samples/grid/10_auto_config.php b/themes/connector/samples/grid/10_auto_config.php deleted file mode 100644 index 0d29788..0000000 --- a/themes/connector/samples/grid/10_auto_config.php +++ /dev/null @@ -1,11 +0,0 @@ -set_config(false); - $grid->dynamic_loading(100); - $grid->render_table("grid50000","item_id","item_nm,item_cd"); -?> \ No newline at end of file diff --git a/themes/connector/samples/grid/11_auto_config_filters.html b/themes/connector/samples/grid/11_auto_config_filters.html deleted file mode 100644 index 60d146f..0000000 --- a/themes/connector/samples/grid/11_auto_config_filters.html +++ /dev/null @@ -1,32 +0,0 @@ - - - - - For demo purpose only :: &1 - - - - - - - - - - -
                    - - - - - - diff --git a/themes/connector/samples/grid/11_auto_config_filters.php b/themes/connector/samples/grid/11_auto_config_filters.php deleted file mode 100644 index af63604..0000000 --- a/themes/connector/samples/grid/11_auto_config_filters.php +++ /dev/null @@ -1,12 +0,0 @@ -set_config(true); - $grid->dynamic_loading(100); - $grid->render_table("grid50000","item_id","item_nm,item_cd"); -?> \ No newline at end of file diff --git a/themes/connector/samples/grid/12_attach_header_server.html b/themes/connector/samples/grid/12_attach_header_server.html deleted file mode 100644 index 92af05e..0000000 --- a/themes/connector/samples/grid/12_attach_header_server.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - For demo purpose only :: &1 - - - - - - - - - - -
                    - - - -
                    -<?php -
                        
                    require_once("../config.php"); -
                        
                    $res=mysql_connect($mysql_server,$mysql_user,$mysql_pass); -
                        
                    mysql_select_db($mysql_db); -
                    -
                        require(
                    "../../codebase/grid_connector.php"); -
                        
                    $grid = new GridConnector($res); -
                        
                    $grid->enable_log("temp.log",true); -
                    -
                        
                    $config = new GridConfiguration(); -
                        
                    $config->setHeader("Item,#cspan"); -
                        
                    $config->attachHeader("Item Name,Item CD"); -
                        
                    $config->setColIds("col1,col2"); -
                        
                    $config->setInitWidths("120,*"); -
                        
                    $config->setColSorting("connector,connector"); -
                        
                    $config->setColColor(",#dddddd"); -
                        
                    $config->setColHidden("false,false"); -
                        
                    $config->setColTypes("ro,ed"); -
                        
                    $config->setColAlign("center,center"); -
                        
                    $config->setColVAlign("bottom,middle"); -
                    -
                        
                    $grid->set_config($config); -
                        
                    $grid->dynamic_loading(100); -
                        
                    $grid->render_table("grid50000","item_id","item_nm,item_cd"); -
                    ?> -
                    -
                    - diff --git a/themes/connector/samples/grid/12_attach_header_server.php b/themes/connector/samples/grid/12_attach_header_server.php deleted file mode 100644 index 873144d..0000000 --- a/themes/connector/samples/grid/12_attach_header_server.php +++ /dev/null @@ -1,27 +0,0 @@ -setHeader("Item,#cspan"); - $config->attachHeader("Item Name,Item CD"); - $config->setColIds("col1,col2"); - $config->setInitWidths('120,*'); - $config->setColSorting("connector,connector"); - $config->setColColor(",#dddddd"); - $config->setColHidden("false,false"); - $config->setColTypes("ro,ed"); - $config->setColAlign('center,center'); - $config->setColVAlign('bottom,middle'); - - $grid->set_config($config); - - $grid->dynamic_loading(100); - $grid->render_table("grid50000","item_id","item_nm,item_cd"); -?> \ No newline at end of file diff --git a/themes/connector/samples/grid/13_filesystem_grid_connector.html b/themes/connector/samples/grid/13_filesystem_grid_connector.html deleted file mode 100644 index 37d2bbc..0000000 --- a/themes/connector/samples/grid/13_filesystem_grid_connector.html +++ /dev/null @@ -1,40 +0,0 @@ - - - - - For demo purpose only :: &1 - - - - - - - - - - - -
                    - - -
                    -<?php -
                        
                    require_once("../../codebase/db_filesystem.php"); -
                        
                    require_once("../../codebase/grid_connector.php"); -
                    -
                        
                    $grid = new GridConnector("c:/", "FileSystem"); -
                        
                    $grid->render_table("../","safe_name","filename,full_filename,size,name,extention,date,is_folder"); -
                    ?> -
                    -
                    - - diff --git a/themes/connector/samples/grid/13_filesystem_grid_connector.php b/themes/connector/samples/grid/13_filesystem_grid_connector.php deleted file mode 100644 index 692f101..0000000 --- a/themes/connector/samples/grid/13_filesystem_grid_connector.php +++ /dev/null @@ -1,7 +0,0 @@ -render_table("../","safe_name","filename,full_filename,size,name,extention,date,is_folder"); -?> \ No newline at end of file diff --git a/themes/connector/samples/grid/index.html b/themes/connector/samples/grid/index.html deleted file mode 100644 index b934842..0000000 --- a/themes/connector/samples/grid/index.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - -

                    dhtmlxConnector for PHP :: Samples

                    -
                  • Basic init
                  • -
                  • Basic init by sql string
                  • -
                  • Rendering customization
                  • -
                  • Validation
                  • -
                  • Custom update logic
                  • -
                  • Select filter in grid
                  • -
                  • Select filter in grid ( different init )
                  • -
                  • Combo in grid (sub connector)
                  • -
                  • Combo in grid (predefined list)
                  • -
                  • Configuration on server side
                  • -
                  • Auto configuration
                  • -
                  • Auto configuration with filters
                  • -
                  • Attaching header on the server side
                  • -
                  • File system connector
                  • - - \ No newline at end of file diff --git a/themes/connector/samples/grid/xx_sample_mssql.html b/themes/connector/samples/grid/xx_sample_mssql.html deleted file mode 100644 index 3c10425..0000000 --- a/themes/connector/samples/grid/xx_sample_mssql.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - - For demo purpose only :: &1 - - - - - - - - - - -
                    - - - -
                    -<?php
                        
                    require_once("../config.php");
                        
                    $res=mssql_connect('.\SQLEXPRESS',"sa","1",false);
                        
                    mssql_select_db("sampleDB");

                        require(
                    "../../codebase/grid_connector.php");
                        require(
                    "../../codebase/db_mssql.php");
                        
                        
                    $grid = new GridConnector($res,"MsSQL");
                        
                    $grid->enable_log("temp.log",true);
                        
                    $grid->dynamic_loading(100);
                        
                    $grid->render_table("grid50000","item_id","item_nm,item_cd");
                    ?> -
                    -
                    - diff --git a/themes/connector/samples/grid/xx_sample_mssql_connector.php b/themes/connector/samples/grid/xx_sample_mssql_connector.php deleted file mode 100644 index 57d7b78..0000000 --- a/themes/connector/samples/grid/xx_sample_mssql_connector.php +++ /dev/null @@ -1,13 +0,0 @@ -dynamic_loading(100); - $grid->render_table("grid50000","item_id","item_nm,item_cd"); -?> \ No newline at end of file diff --git a/themes/connector/samples/grid/xx_sample_mysqli.html b/themes/connector/samples/grid/xx_sample_mysqli.html deleted file mode 100644 index 1e7891e..0000000 --- a/themes/connector/samples/grid/xx_sample_mysqli.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - MySQLi connector with dhtmlxGrid - read-only version - - - - - - - -
                    - - diff --git a/themes/connector/samples/grid/xx_sample_mysqli_connector.php b/themes/connector/samples/grid/xx_sample_mysqli_connector.php deleted file mode 100644 index 726bd61..0000000 --- a/themes/connector/samples/grid/xx_sample_mysqli_connector.php +++ /dev/null @@ -1,16 +0,0 @@ -render_table("events","event_id","event_name,details"); -?> \ No newline at end of file diff --git a/themes/connector/samples/grid/xx_sample_oracle.html b/themes/connector/samples/grid/xx_sample_oracle.html deleted file mode 100644 index 1dc06ea..0000000 --- a/themes/connector/samples/grid/xx_sample_oracle.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - - For demo purpose only :: &1 - - - - - - - - - - -
                    - - - -
                    -<?php
                        
                    require_once("../config.php");
                        
                    $res oci_connect($oci_dbuser,$oci_dbpass,$oci_dbname);
                            
                        
                        
                        require(
                    "../../codebase/grid_connector.php");
                        require(
                    "../../codebase/db_oracle.php");
                        
                        
                    $grid = new GridConnector($res,"Oracle");
                        
                    $grid->enable_log("temp.log",true);
                        
                    $grid->dynamic_loading(50);
                        
                    $grid->sql->sequence("EMPLOYEES_INC.nextVal");
                        
                    $grid->render_table("EMPLOYEES","EMPLOYEE_ID","FIRST_NAME,LAST_NAME");

                    ?> -
                    -
                    - diff --git a/themes/connector/samples/grid/xx_sample_oracle_connector.php b/themes/connector/samples/grid/xx_sample_oracle_connector.php deleted file mode 100644 index ef1ee04..0000000 --- a/themes/connector/samples/grid/xx_sample_oracle_connector.php +++ /dev/null @@ -1,16 +0,0 @@ -dynamic_loading(50); - $grid->sql->sequence("EMPLOYEES_INC.nextVal"); - $grid->render_table("EMPLOYEES","EMPLOYEE_ID","FIRST_NAME,LAST_NAME"); - -?> \ No newline at end of file diff --git a/themes/connector/samples/grid/xx_sample_pdo.html b/themes/connector/samples/grid/xx_sample_pdo.html deleted file mode 100644 index 9c80cb7..0000000 --- a/themes/connector/samples/grid/xx_sample_pdo.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - - For demo purpose only :: &1 - - - - - - - - - - -
                    - - - -
                    -<?php
                        
                    require_once("../config.php");
                        
                    $dbh = new PDO('mysql:host='.$mysql_server.';dbname='.$mysql_db$mysql_user$mysql_pass);
                        
                        require(
                    "../../codebase/grid_connector.php");
                        require(
                    "../../codebase/db_pdo.php");
                        
                        
                    $grid = new GridConnector($dbh,"PDO");
                        
                    $grid->enable_log("temp.log",true);
                        
                    $grid->dynamic_loading(100);
                        
                    $grid->render_table("grid50000","item_id","item_nm,item_cd");
                    ?> -
                    -
                    - diff --git a/themes/connector/samples/grid/xx_sample_pdo_connector.php b/themes/connector/samples/grid/xx_sample_pdo_connector.php deleted file mode 100644 index 2b202ce..0000000 --- a/themes/connector/samples/grid/xx_sample_pdo_connector.php +++ /dev/null @@ -1,12 +0,0 @@ -dynamic_loading(100); - $grid->render_table("grid50000","item_id","item_nm,item_cd"); -?> \ No newline at end of file diff --git a/themes/connector/samples/grid/xx_sample_pdo_pg.html b/themes/connector/samples/grid/xx_sample_pdo_pg.html deleted file mode 100644 index d54de4f..0000000 --- a/themes/connector/samples/grid/xx_sample_pdo_pg.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - - For demo purpose only :: &1 - - - - - - - - - - -
                    - - - -
                    -<?php
                        
                    require_once("../config.php");
                        
                    $dbh = new PDO('pgsql:host=localhost;dbname='.$mysql_db.";user=root;password=1234");
                        
                        require(
                    "../../codebase/grid_connector.php");
                        require(
                    "../../codebase/db_pdo.php");
                        
                        
                    $grid = new GridConnector($dbh,"PDO");
                        
                    $grid->enable_log("temp.log",true);
                        
                    $grid->dynamic_loading(100);
                        
                    $grid->render_table("grid50000","item_id","item_nm,item_cd");
                    ?> -
                    -
                    - diff --git a/themes/connector/samples/grid/xx_sample_pdo_pg_connector.php b/themes/connector/samples/grid/xx_sample_pdo_pg_connector.php deleted file mode 100644 index 674c6b0..0000000 --- a/themes/connector/samples/grid/xx_sample_pdo_pg_connector.php +++ /dev/null @@ -1,12 +0,0 @@ -dynamic_loading(100); - $grid->render_table("grid50000","item_id","item_nm,item_cd"); -?> \ No newline at end of file diff --git a/themes/connector/samples/grid/xx_sample_postgresql.html b/themes/connector/samples/grid/xx_sample_postgresql.html deleted file mode 100644 index 0273b1c..0000000 --- a/themes/connector/samples/grid/xx_sample_postgresql.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - - For demo purpose only :: &1 - - - - - - - - - - -
                    - - - -
                    -<?php
                        
                    require_once("../config.php");
                        
                    $res=pg_connect($postrgre_connection);
                        
                        require(
                    "../../codebase/grid_connector.php");
                        require(
                    "../../codebase/db_postgre.php");
                        
                        
                    $grid = new GridConnector($res,"Postgre");
                        
                    $grid->enable_log("temp.log",true);
                        
                    $grid->dynamic_loading(100);
                        
                    $grid->render_table("grid50000","","item_nm,item_cd");
                    ?> -
                    -
                    - diff --git a/themes/connector/samples/grid/xx_sample_postgresql_connector.php b/themes/connector/samples/grid/xx_sample_postgresql_connector.php deleted file mode 100644 index b2e1bad..0000000 --- a/themes/connector/samples/grid/xx_sample_postgresql_connector.php +++ /dev/null @@ -1,13 +0,0 @@ -dynamic_loading(100); - $grid->render_table("grid50000","item_id","item_nm,item_cd"); -?> \ No newline at end of file diff --git a/themes/connector/samples/grid/xx_sample_sasql.html b/themes/connector/samples/grid/xx_sample_sasql.html deleted file mode 100644 index 52765e6..0000000 --- a/themes/connector/samples/grid/xx_sample_sasql.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - For demo purpose only :: &1 - - - - - - - - - -
                    - - - -
                    -<?php
                        
                    require_once("../config.php");
                        
                    $res=pg_connect($postrgre_connection);
                        
                        require(
                    "../../codebase/grid_connector.php");
                        require(
                    "../../codebase/db_postgre.php");
                        
                        
                    $grid = new GridConnector($res,"Postgre");
                        
                    $grid->enable_log("temp.log",true);
                        
                    $grid->dynamic_loading(100);
                        
                    $grid->render_table("grid50000","","item_nm,item_cd");
                    ?> -
                    -
                    - diff --git a/themes/connector/samples/grid/xx_sample_sasql_connector.php b/themes/connector/samples/grid/xx_sample_sasql_connector.php deleted file mode 100644 index 798f84f..0000000 --- a/themes/connector/samples/grid/xx_sample_sasql_connector.php +++ /dev/null @@ -1,11 +0,0 @@ -enable_log("temp.log",true); - $grid->dynamic_loading(100); - $grid->render_table("Contacts","ID","Surname,GivenName,Title"); -?> \ No newline at end of file diff --git a/themes/connector/samples/grid/xx_sample_sqlite3_connector.php b/themes/connector/samples/grid/xx_sample_sqlite3_connector.php deleted file mode 100644 index 762dc87..0000000 --- a/themes/connector/samples/grid/xx_sample_sqlite3_connector.php +++ /dev/null @@ -1,12 +0,0 @@ -render_table("grid50000","item_id","item_nm,item_cd"); - -?> \ No newline at end of file diff --git a/themes/connector/samples/index.html b/themes/connector/samples/index.html deleted file mode 100644 index c329ac2..0000000 --- a/themes/connector/samples/index.html +++ /dev/null @@ -1,32 +0,0 @@ - - - - -

                    dhtmlxConnector for PHP :: Samples

                    - -
                    Be sure to create a test DB from "dump.sql" and adjust db settings in "config.php"
                    - -
                  • Grid
                  • -
                  • Tree
                  • -
                  • TreeGrid
                  • -
                  • Combo
                  • -
                  • DataView
                  • -
                  • Scheduler
                  • -
                    -
                  • Data Export
                  • - - \ No newline at end of file diff --git a/themes/connector/samples/readme.txt b/themes/connector/samples/readme.txt deleted file mode 100644 index 41bf3b9..0000000 --- a/themes/connector/samples/readme.txt +++ /dev/null @@ -1,8 +0,0 @@ -Expected php.ini settings - magic_quotes off - error_level E_ALL & ~E_NOTICE - - -Before running samples, make sure that db connection settings in config.php are set properly and database was filled from dump.sql file - -(c) Dinamenta, UAB \ No newline at end of file diff --git a/themes/connector/samples/scheduler/01_basic_init.html b/themes/connector/samples/scheduler/01_basic_init.html deleted file mode 100644 index 06fc578..0000000 --- a/themes/connector/samples/scheduler/01_basic_init.html +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - -
                    -
                    -
                     
                    -
                     
                    -
                    -
                    -
                    -
                    -
                    -
                    -
                    -
                    -
                    -
                    -
                    - \ No newline at end of file diff --git a/themes/connector/samples/scheduler/01_basic_init_connector.php b/themes/connector/samples/scheduler/01_basic_init_connector.php deleted file mode 100644 index 5707f93..0000000 --- a/themes/connector/samples/scheduler/01_basic_init_connector.php +++ /dev/null @@ -1,12 +0,0 @@ -enable_log("log.txt",true); - $scheduler->render_table("events","event_id","start_date,end_date,event_name,details"); -?> \ No newline at end of file diff --git a/themes/connector/samples/scheduler/02_dynamic_loading.html b/themes/connector/samples/scheduler/02_dynamic_loading.html deleted file mode 100644 index aa043a2..0000000 --- a/themes/connector/samples/scheduler/02_dynamic_loading.html +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - - - - -
                    -
                    -
                     
                    -
                     
                    -
                    -
                    -
                    -
                    -
                    -
                    -
                    -
                    -
                    -
                    -
                    - \ No newline at end of file diff --git a/themes/connector/samples/scheduler/02_dynamic_loading_connector.php b/themes/connector/samples/scheduler/02_dynamic_loading_connector.php deleted file mode 100644 index 5707f93..0000000 --- a/themes/connector/samples/scheduler/02_dynamic_loading_connector.php +++ /dev/null @@ -1,12 +0,0 @@ -enable_log("log.txt",true); - $scheduler->render_table("events","event_id","start_date,end_date,event_name,details"); -?> \ No newline at end of file diff --git a/themes/connector/samples/scheduler/03_connector_options.html b/themes/connector/samples/scheduler/03_connector_options.html deleted file mode 100644 index 411551c..0000000 --- a/themes/connector/samples/scheduler/03_connector_options.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - - -
                    -
                    -
                     
                    -
                     
                    -
                    -
                    -
                    -
                    -
                    -
                    -
                    -
                    -
                    -
                    -
                    - \ No newline at end of file diff --git a/themes/connector/samples/scheduler/03_connector_options.php b/themes/connector/samples/scheduler/03_connector_options.php deleted file mode 100644 index ccaf904..0000000 --- a/themes/connector/samples/scheduler/03_connector_options.php +++ /dev/null @@ -1,15 +0,0 @@ -render_table("types","typeid","typeid(value),name(label)"); - - $scheduler = new schedulerConnector($res); -// $scheduler->enable_log("log.txt",true); - - $scheduler->set_options("type", $list); - $scheduler->render_table("tevents","event_id","start_date,end_date,event_name,type"); -?> \ No newline at end of file diff --git a/themes/connector/samples/scheduler/04_recurring_events.html b/themes/connector/samples/scheduler/04_recurring_events.html deleted file mode 100644 index bc000cb..0000000 --- a/themes/connector/samples/scheduler/04_recurring_events.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - -
                    -
                    -
                     
                    -
                     
                    -
                    -
                    -
                    -
                    -
                    -
                    -
                    -
                    -
                    -
                    -
                    - \ No newline at end of file diff --git a/themes/connector/samples/scheduler/04_recurring_events_connector.php b/themes/connector/samples/scheduler/04_recurring_events_connector.php deleted file mode 100644 index 052ab94..0000000 --- a/themes/connector/samples/scheduler/04_recurring_events_connector.php +++ /dev/null @@ -1,39 +0,0 @@ -get_status(); - $type =$action->get_value("rec_type"); - $pid =$action->get_value("event_pid"); - //when serie changed or deleted we need to remove all linked events - if (($status == "deleted" || $status == "updated") && $type!=""){ - $scheduler->sql->query("DELETE FROM events_rec WHERE event_pid='".$scheduler->sql->escape($action->get_id())."'"); - } - if ($status == "deleted" && $pid !=0){ - $scheduler->sql->query("UPDATE events_rec SET rec_type='none' WHERE event_id='".$scheduler->sql->escape($action->get_id())."'"); - $action->success(); - } - - } - function insert_related($action){ - $status = $action->get_status(); - $type =$action->get_value("rec_type"); - - if ($status == "inserted" && $type=="none") - $action->set_status("deleted"); - } - - $scheduler = new schedulerConnector($res); - //$scheduler->enable_log("log.txt",true); - $scheduler->event->attach("beforeProcessing","delete_related"); - $scheduler->event->attach("afterProcessing","insert_related"); - $scheduler->render_table("events_rec","event_id","start_date,end_date,text,rec_type,event_pid,event_length"); -?> \ No newline at end of file diff --git a/themes/connector/samples/scheduler/05_json.html b/themes/connector/samples/scheduler/05_json.html deleted file mode 100644 index 388c038..0000000 --- a/themes/connector/samples/scheduler/05_json.html +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - -
                    -
                    -
                     
                    -
                     
                    -
                    -
                    -
                    -
                    -
                    -
                    -
                    -
                    -
                    -
                    -
                    - \ No newline at end of file diff --git a/themes/connector/samples/scheduler/05_json_connector.php b/themes/connector/samples/scheduler/05_json_connector.php deleted file mode 100644 index 778c1b5..0000000 --- a/themes/connector/samples/scheduler/05_json_connector.php +++ /dev/null @@ -1,11 +0,0 @@ -render_table("events","event_id","start_date,end_date,event_name,details"); -?> \ No newline at end of file diff --git a/themes/connector/samples/scheduler/06_json_connector_options.html b/themes/connector/samples/scheduler/06_json_connector_options.html deleted file mode 100644 index d795a3b..0000000 --- a/themes/connector/samples/scheduler/06_json_connector_options.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - - -
                    -
                    -
                     
                    -
                     
                    -
                    -
                    -
                    -
                    -
                    -
                    -
                    -
                    -
                    -
                    -
                    - \ No newline at end of file diff --git a/themes/connector/samples/scheduler/06_json_connector_options.php b/themes/connector/samples/scheduler/06_json_connector_options.php deleted file mode 100644 index 40ff3c0..0000000 --- a/themes/connector/samples/scheduler/06_json_connector_options.php +++ /dev/null @@ -1,15 +0,0 @@ -render_table("types","typeid","typeid(value),name(label)"); - - $scheduler = new JSONSchedulerConnector($res); -// $scheduler->enable_log("log.txt",true); - - $scheduler->set_options("type", $list); - $scheduler->render_table("tevents","event_id","start_date,end_date,event_name,type"); -?> \ No newline at end of file diff --git a/themes/connector/samples/scheduler/07_array_connector.html b/themes/connector/samples/scheduler/07_array_connector.html deleted file mode 100644 index c4c2183..0000000 --- a/themes/connector/samples/scheduler/07_array_connector.html +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - - - - - - - -
                    -
                    -
                     
                    -
                     
                    -
                    -
                    -
                    -
                    -
                    -
                    -
                    -
                    -
                    -
                    -
                    - \ No newline at end of file diff --git a/themes/connector/samples/scheduler/07_array_connector.php b/themes/connector/samples/scheduler/07_array_connector.php deleted file mode 100644 index 7415a53..0000000 --- a/themes/connector/samples/scheduler/07_array_connector.php +++ /dev/null @@ -1,11 +0,0 @@ - 1, "start_date" => "2012-05-24 00:00", "end_date" => "2012-05-25 00:00", "event_name" => "creation time"), - array("event_id" => 2, "start_date" => "2010-02-16", "end_date" => "2084-06-08", "event_name" => "second part") - ); - - $scheduler = new SchedulerConnector(); - $scheduler->render_array($data,"event_id","start_date,end_date,event_name"); -?> \ No newline at end of file diff --git a/themes/connector/samples/scheduler/index.html b/themes/connector/samples/scheduler/index.html deleted file mode 100644 index c480dc6..0000000 --- a/themes/connector/samples/scheduler/index.html +++ /dev/null @@ -1,28 +0,0 @@ - - - - -

                    dhtmlxConnector for PHP :: Samples

                    - -
                  • Basic init
                  • -
                  • Dynamic loading
                  • -
                  • Connector options
                  • -
                  • Recurring events
                  • -
                  • JSON data loading
                  • - - - diff --git a/themes/connector/samples/security/data_csrf.php b/themes/connector/samples/security/data_csrf.php deleted file mode 100644 index 1cfaf11..0000000 --- a/themes/connector/samples/security/data_csrf.php +++ /dev/null @@ -1,14 +0,0 @@ -set_limit(10); - $grid->render_table("grid50000","item_id","item_nm,item_cd"); -?> \ No newline at end of file diff --git a/themes/connector/samples/security/dataview_csrf.php b/themes/connector/samples/security/dataview_csrf.php deleted file mode 100644 index 1971380..0000000 --- a/themes/connector/samples/security/dataview_csrf.php +++ /dev/null @@ -1,14 +0,0 @@ -set_limit(10); - $grid->render_table("grid50000","item_id","item_nm,item_cd"); -?> \ No newline at end of file diff --git a/themes/connector/samples/security/form_csrf.php b/themes/connector/samples/security/form_csrf.php deleted file mode 100644 index 8f76f03..0000000 --- a/themes/connector/samples/security/form_csrf.php +++ /dev/null @@ -1,15 +0,0 @@ -render_table("grid50000","item_id","item_nm,item_cd"); -?> \ No newline at end of file diff --git a/themes/connector/samples/security/grid_csrf.php b/themes/connector/samples/security/grid_csrf.php deleted file mode 100644 index d3a1c82..0000000 --- a/themes/connector/samples/security/grid_csrf.php +++ /dev/null @@ -1,14 +0,0 @@ -set_limit(10); - $grid->render_table("grid50000","item_id","item_nm,item_cd"); -?> \ No newline at end of file diff --git a/themes/connector/samples/security/scheduler_csrf.php b/themes/connector/samples/security/scheduler_csrf.php deleted file mode 100644 index 9db3900..0000000 --- a/themes/connector/samples/security/scheduler_csrf.php +++ /dev/null @@ -1,15 +0,0 @@ -render_table("events","event_id","start_date, end_date, event_name"); -?> \ No newline at end of file diff --git a/themes/connector/samples/security/tree_csrf.php b/themes/connector/samples/security/tree_csrf.php deleted file mode 100644 index eca30e9..0000000 --- a/themes/connector/samples/security/tree_csrf.php +++ /dev/null @@ -1,13 +0,0 @@ -render_table("tasks","taskId","taskName","","parentId"); -?> \ No newline at end of file diff --git a/themes/connector/samples/tree/01_basic.html b/themes/connector/samples/tree/01_basic.html deleted file mode 100644 index 7732bf5..0000000 --- a/themes/connector/samples/tree/01_basic.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - - - - - - -
                    - -
                    -<?php -
                        
                    require_once("../config.php"); -
                        
                    $res=mysql_connect($mysql_server,$mysql_user,$mysql_pass); -
                        
                    mysql_select_db($mysql_db); -
                    -
                       require(
                    "../../codebase/tree_connector.php"); -
                       
                    $tree = new TreeConnector($res); -
                       
                    $tree->enable_log("temp.log",true); -
                       
                    $tree->render_table("tasks","taskId","taskName","","parentId"); -
                    ?> -
                    -
                    - diff --git a/themes/connector/samples/tree/01_basic_connector.php b/themes/connector/samples/tree/01_basic_connector.php deleted file mode 100644 index 57af485..0000000 --- a/themes/connector/samples/tree/01_basic_connector.php +++ /dev/null @@ -1,10 +0,0 @@ -render_table("tasks","taskId","taskName","","parentId"); -?> \ No newline at end of file diff --git a/themes/connector/samples/tree/01p_basic.html b/themes/connector/samples/tree/01p_basic.html deleted file mode 100644 index 8b587e0..0000000 --- a/themes/connector/samples/tree/01p_basic.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - - Server side code uses custom code to mark leafs|branches - data generated a lot faster ( about 5x ) than for default sample. -
                    - -
                    -<?php -
                        
                    require_once("../config.php"); -
                        
                    $res=mysql_connect($mysql_server,$mysql_user,$mysql_pass); -
                        
                    mysql_select_db($mysql_db); -
                    -
                    function 
                    child_setter($data){ -
                        
                    //the check is kind of lame, in real table you most probably may have some more stable way to detect is item have childs or not -
                        
                    if ($data->get_value("taskId")%100>1)  -
                            
                    $data->set_kids(false); -
                        else -
                            
                    $data->set_kids(true); -
                    } -
                    -
                       require(
                    "../../codebase/tree_connector.php"); -
                       
                    $tree = new TreeConnector($res); -
                       
                    $tree->enable_log("temp.log",true); -
                       
                    $tree->event->attach("beforeRender","child_setter"); -
                       
                    $tree->render_table("tasks","taskId","taskName","","parentId"); -
                    ?> -
                    -
                    - diff --git a/themes/connector/samples/tree/01p_basic_connector.php b/themes/connector/samples/tree/01p_basic_connector.php deleted file mode 100644 index 23739a1..0000000 --- a/themes/connector/samples/tree/01p_basic_connector.php +++ /dev/null @@ -1,19 +0,0 @@ -get_value("taskId")%100>1) - $data->set_kids(false); - else - $data->set_kids(true); -} - - require("../../codebase/tree_connector.php"); - $tree = new TreeConnector($res); -// - $tree->event->attach("beforeRender","child_setter"); - $tree->render_table("tasks","taskId","taskName","","parentId"); -?> \ No newline at end of file diff --git a/themes/connector/samples/tree/02_dynamic_loading.html b/themes/connector/samples/tree/02_dynamic_loading.html deleted file mode 100644 index bf57ca8..0000000 --- a/themes/connector/samples/tree/02_dynamic_loading.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - Filtering and Autocomplete mode - - - - - - - - - -
                    - -
                    -<?php -
                        
                    require_once("../config.php"); -
                        
                    $res=mysql_connect($mysql_server,$mysql_user,$mysql_pass); -
                        
                    mysql_select_db($mysql_db); -
                    -
                       require(
                    "../../codebase/tree_connector.php"); -
                       
                    $tree = new TreeConnector($res); -
                       
                    $tree->enable_log("temp.log",true); -
                       
                    $tree->dynamic_loading(true); -
                       
                    $tree->render_table("tasks","taskId","taskName","","parentId"); -
                    ?> -
                    -
                    - diff --git a/themes/connector/samples/tree/02_dynamic_loading_connector.php b/themes/connector/samples/tree/02_dynamic_loading_connector.php deleted file mode 100644 index 54812cd..0000000 --- a/themes/connector/samples/tree/02_dynamic_loading_connector.php +++ /dev/null @@ -1,11 +0,0 @@ -dynamic_loading(true); - $tree->render_table("tasks","taskId","taskName","","parentId"); -?> \ No newline at end of file diff --git a/themes/connector/samples/tree/03_sql_config.html b/themes/connector/samples/tree/03_sql_config.html deleted file mode 100644 index b70bd85..0000000 --- a/themes/connector/samples/tree/03_sql_config.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - Filtering and Autocomplete mode - - - - - - - - - -
                    - -
                    -<?php -
                        
                    require_once("../config.php"); -
                        
                    $res=mysql_connect($mysql_server,$mysql_user,$mysql_pass); -
                        
                    mysql_select_db($mysql_db); -
                    -
                       require(
                    "../../codebase/tree_connector.php"); -
                       
                    $tree = new TreeConnector($res); -
                       
                    $tree->enable_log("temp.log",true); -
                       
                    $tree->render_sql("SELECT taskId,taskName from tasks WHERE complete>49","taskId","taskName","","parentId"); -
                    ?> -
                    -
                    - diff --git a/themes/connector/samples/tree/03_sql_config_connector.php b/themes/connector/samples/tree/03_sql_config_connector.php deleted file mode 100644 index 453ae29..0000000 --- a/themes/connector/samples/tree/03_sql_config_connector.php +++ /dev/null @@ -1,10 +0,0 @@ -render_sql("SELECT taskId,taskName from tasks WHERE complete>49","taskId","taskName","","parentId"); -?> \ No newline at end of file diff --git a/themes/connector/samples/tree/04_custom_styles.html b/themes/connector/samples/tree/04_custom_styles.html deleted file mode 100644 index 2aee7f1..0000000 --- a/themes/connector/samples/tree/04_custom_styles.html +++ /dev/null @@ -1,44 +0,0 @@ - - - - Filtering and Autocomplete mode - - - - - - - - - -
                    - -
                    -<?php -
                        
                    require_once("../config.php"); -
                        
                    $res=mysql_connect($mysql_server,$mysql_user,$mysql_pass); -
                        
                    mysql_select_db($mysql_db); -
                         -
                        require_once(
                    "../../codebase/tree_connector.php"); -
                        
                    $tree = new TreeConnector($res); -
                        
                    $tree->enable_log("temp.log",true); -
                        function 
                    custom_format($item){ -
                                if (
                    $item->get_value("duration")>10) -
                                    
                    $item->set_image("lock.gif"); -
                                if (
                    $item->get_value("complete")>75)  -
                                    
                    $item->set_check_state(1); -
                        } -
                        
                    $tree->event->attach("beforeRender",custom_format); -
                        
                    $tree->render_sql("SELECT taskId,taskName,duration,complete from tasks WHERE complete>49","taskId","taskName","","parentId"); -
                    ?> -
                    -
                    - diff --git a/themes/connector/samples/tree/04_custom_styles_connector.php b/themes/connector/samples/tree/04_custom_styles_connector.php deleted file mode 100644 index 2ab621e..0000000 --- a/themes/connector/samples/tree/04_custom_styles_connector.php +++ /dev/null @@ -1,17 +0,0 @@ -get_value("duration")>10) - $item->set_image("lock.gif"); - if ($item->get_value("complete")>75) - $item->set_check_state(1); - } - $tree->event->attach("beforeRender",custom_format); - $tree->render_sql("SELECT taskId,taskName,duration,complete from tasks WHERE complete>49","taskId","taskName","","parentId"); -?> \ No newline at end of file diff --git a/themes/connector/samples/tree/05_save.html b/themes/connector/samples/tree/05_save.html deleted file mode 100644 index 19420a5..0000000 --- a/themes/connector/samples/tree/05_save.html +++ /dev/null @@ -1,44 +0,0 @@ - - - - Filtering and Autocomplete mode - - - - - - - - - - - -
                    - - -> -
                    -<?php -
                        
                    require_once("../config.php"); -
                        
                    $res=mysql_connect($mysql_server,$mysql_user,$mysql_pass); -
                        
                    mysql_select_db($mysql_db); -
                    -
                       require(
                    "../../codebase/tree_connector.php"); -
                       
                    $tree = new TreeConnector($res); -
                       
                    $tree->enable_log("temp.log",true); -
                       
                    $tree->render_table("tasks","taskId","taskName","","parentId"); -
                    ?> -
                    -
                    - diff --git a/themes/connector/samples/tree/05_save_connector.php b/themes/connector/samples/tree/05_save_connector.php deleted file mode 100644 index 57af485..0000000 --- a/themes/connector/samples/tree/05_save_connector.php +++ /dev/null @@ -1,10 +0,0 @@ -render_table("tasks","taskId","taskName","","parentId"); -?> \ No newline at end of file diff --git a/themes/connector/samples/tree/06_validation.html b/themes/connector/samples/tree/06_validation.html deleted file mode 100644 index 6951c00..0000000 --- a/themes/connector/samples/tree/06_validation.html +++ /dev/null @@ -1,51 +0,0 @@ - - - - Filtering and Autocomplete mode - - - - - - - - - - - -
                    - - - - -
                    -<?php -
                        
                    require_once("../config.php"); -
                        
                    $res=mysql_connect($mysql_server,$mysql_user,$mysql_pass); -
                        
                    mysql_select_db($mysql_db); -
                    -
                       require(
                    "../../codebase/tree_connector.php"); -
                       
                    $tree = new TreeConnector($res); -
                       
                    $tree->enable_log("temp.log",true); -
                       function 
                    my_check($action){ -
                            if (
                    strlen($action->get_value("taskName"))<5) -
                                
                    $action->invalid(); -
                       } -
                       
                    $tree->event->attach("beforeProcessing",my_check); -
                       
                    $tree->render_table("tasks","taskId","taskName","","parentId"); -
                    ?> -
                    -
                    - diff --git a/themes/connector/samples/tree/06_validation_connector.php b/themes/connector/samples/tree/06_validation_connector.php deleted file mode 100644 index baccdaf..0000000 --- a/themes/connector/samples/tree/06_validation_connector.php +++ /dev/null @@ -1,15 +0,0 @@ -get_value("taskName"))<5) - $action->invalid(); - } - $tree->event->attach("beforeProcessing",my_check); - $tree->render_table("tasks","taskId","taskName","","parentId"); -?> \ No newline at end of file diff --git a/themes/connector/samples/tree/08_tree_group_connector.html b/themes/connector/samples/tree/08_tree_group_connector.html deleted file mode 100644 index 0f610f5..0000000 --- a/themes/connector/samples/tree/08_tree_group_connector.html +++ /dev/null @@ -1,47 +0,0 @@ - - - - Group connector - - - - - - - - - - - - -
                    - - - -
                    -<?php -
                        
                    require_once("../config.php"); -
                        
                    $res=mysql_connect($mysql_server,$mysql_user,$mysql_pass); -
                        
                    mysql_select_db($mysql_db); -
                        require(
                    "../../codebase/treegroup_connector.php"); -
                         -
                        
                    $tree = new TreeGroupConnector($res); -
                        
                    $tree->enable_log("temp.log",true); -
                        
                    $tree->render_table("products","id","product_name","","category"); -
                         -
                    ?> -
                    -
                    - - - diff --git a/themes/connector/samples/tree/08_tree_group_connector.php b/themes/connector/samples/tree/08_tree_group_connector.php deleted file mode 100644 index 10de6e1..0000000 --- a/themes/connector/samples/tree/08_tree_group_connector.php +++ /dev/null @@ -1,11 +0,0 @@ -render_table("products", "id", "product_name", "", "category"); - -?> \ No newline at end of file diff --git a/themes/connector/samples/tree/09_tree_multitable_connector.html b/themes/connector/samples/tree/09_tree_multitable_connector.html deleted file mode 100644 index 20f6cc5..0000000 --- a/themes/connector/samples/tree/09_tree_multitable_connector.html +++ /dev/null @@ -1,68 +0,0 @@ - - - - Multitable connector - - - - - - - - - - - - - -
                    - - - -
                    -<?php -
                        
                    require_once("../config.php"); -
                        
                    $res=mysql_connect($mysql_server,$mysql_user,$mysql_pass); -
                        
                    mysql_select_db($mysql_db); -
                        require(
                    "../../codebase/treegridmultitable_connector.php"); -
                         -
                        
                    $tree = new TreeMultitableConnector($res); -
                        
                    $tree->enable_log("temp.log",true); -
                        
                    $tree->setMaxLevel(3); -
                        
                    $level $tree->get_level(); -
                    -
                        
                    switch ($level) { -
                            
                    case 0: -
                                
                    $tree->render_table("projects","project_id","project_name","",""); -
                                
                    break; - -
                            
                    case 1: -
                                
                    $tree->render_sql("SELECT teams.team_id, teams.team_name, project_team.project_id FROM teams INNER JOIN project_team ON teams.team_id=project_team.team_id","team_id","team_name","","project_id"); -
                                
                    break; - -
                            
                    case 2: -
                                
                    $tree->render_table("developers","developer_id","developer_name","","developer_team"); -
                                
                    break; - -
                            
                    case 3: -
                                
                    $tree->render_table("phones","phone_id","phone","","phone_developer"); -
                                
                    break; - -
                        } -
                    ?> -
                    -
                    - - - diff --git a/themes/connector/samples/tree/09_tree_multitable_connector.php b/themes/connector/samples/tree/09_tree_multitable_connector.php deleted file mode 100644 index 48dd0e8..0000000 --- a/themes/connector/samples/tree/09_tree_multitable_connector.php +++ /dev/null @@ -1,30 +0,0 @@ -setMaxLevel(3); - $level = $tree->get_level(); - - switch ($level) { - case 0: - $tree->render_table("projects","project_id","project_name","",""); - break; - case 1: - $tree->render_sql("SELECT teams.team_id, teams.team_name, project_team.project_id FROM teams INNER JOIN project_team ON teams.team_id=project_team.team_id", "team_id", "team_name", "", "project_id"); - break; - case 2: - $tree->render_table("developers", "developer_id", "developer_name", "", "developer_team"); - break; - case 3: - $tree->render_table("phones", "phone_id", "phone", "", "phone_developer"); - break; - } - -?> \ No newline at end of file diff --git a/themes/connector/samples/tree/index.html b/themes/connector/samples/tree/index.html deleted file mode 100644 index 7582ec0..0000000 --- a/themes/connector/samples/tree/index.html +++ /dev/null @@ -1,33 +0,0 @@ - - - - -

                    dhtmlxConnector for PHP :: Samples

                    - -
                  • Basic init
                  • -
                  • Basic init with server side child flag setting
                  • -
                  • Dynamical loading
                  • -
                  • Basic init with SQL configuration
                  • -
                  • Rendering customization
                  • -
                  • DataProcessor usage
                  • -
                  • Validation
                  • -
                  • Group connector
                  • -
                  • Multitable connector
                  • - - - - diff --git a/themes/connector/samples/treegrid/01_basic.html b/themes/connector/samples/treegrid/01_basic.html deleted file mode 100644 index ae3e44c..0000000 --- a/themes/connector/samples/treegrid/01_basic.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - For demo purpose only :: &1 - - - - - - - - - -
                    - - - -
                    -<?php -
                        
                    require_once("../config.php"); -
                        
                    $res=mysql_connect($mysql_server,$mysql_user,$mysql_pass); -
                        
                    mysql_select_db($mysql_db); -
                    -
                       require(
                    "../../codebase/treegrid_connector.php"); -
                       
                    $tree = new TreeGridConnector($res); -
                       
                    $tree->enable_log("temp.log",true); -
                       
                    $tree->render_table("tasks","taskId","taskName,duration,complete","","parentId"); -
                    ?> -
                    -
                    - diff --git a/themes/connector/samples/treegrid/01_basic_connector.php b/themes/connector/samples/treegrid/01_basic_connector.php deleted file mode 100644 index c9c020f..0000000 --- a/themes/connector/samples/treegrid/01_basic_connector.php +++ /dev/null @@ -1,10 +0,0 @@ -render_table("tasks","taskId","taskName,duration,complete","","parentId"); -?> \ No newline at end of file diff --git a/themes/connector/samples/treegrid/02_dynamic_loading.html b/themes/connector/samples/treegrid/02_dynamic_loading.html deleted file mode 100644 index 147b24f..0000000 --- a/themes/connector/samples/treegrid/02_dynamic_loading.html +++ /dev/null @@ -1,44 +0,0 @@ - - - - - For demo purpose only :: &1 - - - - - - - - -
                    - - - -
                    -<?php -
                        
                    require_once("../config.php"); -
                        
                    $res=mysql_connect($mysql_server,$mysql_user,$mysql_pass); -
                        
                    mysql_select_db($mysql_db); -
                    -
                       require(
                    "../../codebase/treegrid_connector.php"); -
                       
                    $tree = new TreeGridConnector($res); -
                       
                    $tree->enable_log("temp.log",true); -
                       
                    $tree->dynamic_loading(true); -
                       
                    $tree->render_table("tasks","taskId","taskName,duration,complete","","parentId"); -
                    ?> -
                    -
                    - diff --git a/themes/connector/samples/treegrid/02_dynamic_loading_connector.php b/themes/connector/samples/treegrid/02_dynamic_loading_connector.php deleted file mode 100644 index 9cecc77..0000000 --- a/themes/connector/samples/treegrid/02_dynamic_loading_connector.php +++ /dev/null @@ -1,11 +0,0 @@ -dynamic_loading(true); - $tree->render_table("tasks","taskId","taskName,duration,complete","","parentId"); -?> \ No newline at end of file diff --git a/themes/connector/samples/treegrid/03_sql_config.html b/themes/connector/samples/treegrid/03_sql_config.html deleted file mode 100644 index a4235fe..0000000 --- a/themes/connector/samples/treegrid/03_sql_config.html +++ /dev/null @@ -1,43 +0,0 @@ - - - - - For demo purpose only :: &1 - - - - - - - - -
                    - - - -
                    -<?php -
                        
                    require_once("../config.php"); -
                        
                    $res=mysql_connect($mysql_server,$mysql_user,$mysql_pass); -
                        
                    mysql_select_db($mysql_db); -
                    -
                       require(
                    "../../codebase/treegrid_connector.php"); -
                       
                    $tree = new TreeGridConnector($res); -
                       
                    $tree->enable_log("temp.log",true); -
                       
                    $tree->render_sql("SELECT * from tasks WHERE complete>49","taskId","taskName,duration,complete","","parentId"); -
                    ?> -
                    -
                    - diff --git a/themes/connector/samples/treegrid/03_sql_config_connector.php b/themes/connector/samples/treegrid/03_sql_config_connector.php deleted file mode 100644 index bfab649..0000000 --- a/themes/connector/samples/treegrid/03_sql_config_connector.php +++ /dev/null @@ -1,10 +0,0 @@ -render_sql("SELECT * from tasks WHERE complete>49","taskId","taskName,duration,complete","","parentId"); -?> \ No newline at end of file diff --git a/themes/connector/samples/treegrid/04_custom_styles.html b/themes/connector/samples/treegrid/04_custom_styles.html deleted file mode 100644 index b017656..0000000 --- a/themes/connector/samples/treegrid/04_custom_styles.html +++ /dev/null @@ -1,51 +0,0 @@ - - - - - For demo purpose only :: &1 - - - - - - - - -
                    - - - -
                    -<?php -
                        
                    require_once("../config.php"); -
                        
                    $res=mysql_connect($mysql_server,$mysql_user,$mysql_pass); -
                        
                    mysql_select_db($mysql_db); -
                         -
                        require_once(
                    "../../codebase/treegrid_connector.php"); -
                        
                    $tree = new TreeGridConnector($res); -
                        
                    $tree->enable_log("temp.log",true); -
                        function 
                    custom_format($item){ -
                                
                    $item->set_row_color($item->get_value("complete")<75?"#AAFFFF":"#FFAAFF"); -
                                if (
                    $item->get_value("duration")>10) -
                                    
                    $item->set_image("true.gif"); -
                                else -
                                    
                    $item->set_image("false.gif"); -
                        } -
                        
                    $tree->event->attach("beforeRender",custom_format); -
                        
                    $tree->render_sql("SELECT * from tasks WHERE complete>49","taskId","taskName,duration,complete","","parentId"); -
                    ?> -
                    -
                    - diff --git a/themes/connector/samples/treegrid/04_custom_styles_connector.php b/themes/connector/samples/treegrid/04_custom_styles_connector.php deleted file mode 100644 index b10f033..0000000 --- a/themes/connector/samples/treegrid/04_custom_styles_connector.php +++ /dev/null @@ -1,18 +0,0 @@ -set_row_color($item->get_value("complete")<75?"#AAFFFF":"#FFAAFF"); - if ($item->get_value("duration")>10) - $item->set_image("true.gif"); - else - $item->set_image("false.gif"); - } - $tree->event->attach("beforeRender",custom_format); - $tree->render_sql("SELECT * from tasks WHERE complete>49","taskId","taskName,duration,complete","","parentId"); -?> \ No newline at end of file diff --git a/themes/connector/samples/treegrid/05_live_update.html b/themes/connector/samples/treegrid/05_live_update.html deleted file mode 100644 index faca89a..0000000 --- a/themes/connector/samples/treegrid/05_live_update.html +++ /dev/null @@ -1,54 +0,0 @@ - - - - - Live update mode - - - - - - - - - - -
                    - - - - -
                    -<?php -
                        
                    require_once("../config.php"); -
                        
                    $res=mysql_connect($mysql_server,$mysql_user,$mysql_pass); -
                        
                    mysql_select_db($mysql_db); -
                    -
                        require(
                    "../../codebase/treegrid_connector.php"); -
                        
                    $treegrid = new TreeGridConnector($res); -
                        
                    $treegrid->enable_log("temp.log",true); -
                        
                    $treegrid->enable_live_update("actions_table"); -
                        
                    $treegrid->render_table("tasks","taskId","taskName,duration,complete","","parentId"); -
                    ?> -
                    -
                    - - - diff --git a/themes/connector/samples/treegrid/06_treegrid_group_connector.html b/themes/connector/samples/treegrid/06_treegrid_group_connector.html deleted file mode 100644 index 830256b..0000000 --- a/themes/connector/samples/treegrid/06_treegrid_group_connector.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - For demo purpose only :: &1 - - - - - - - - - - -
                    - - - - -
                    -<?php -
                        
                    require_once("../config.php"); -
                        
                    $res=mysql_connect($mysql_server,$mysql_user,$mysql_pass); -
                        
                    mysql_select_db($mysql_db); -
                        require(
                    "../../codebase/treegridgroup_connector.php"); -
                         -
                        
                    $treegrid = new TreeGridGroupConnector($res); -
                        
                    $treegrid->enable_log("temp.log",true); -
                        
                    $treegrid->render_table("products","id","product_name,scales,colour","","category"); -
                         -
                    ?> -
                    -
                    - - - diff --git a/themes/connector/samples/treegrid/06_treegrid_group_connector.php b/themes/connector/samples/treegrid/06_treegrid_group_connector.php deleted file mode 100644 index 5a70e3c..0000000 --- a/themes/connector/samples/treegrid/06_treegrid_group_connector.php +++ /dev/null @@ -1,12 +0,0 @@ -render_table("products", "id", "product_name,scales,colour", "", "category"); - -?> \ No newline at end of file diff --git a/themes/connector/samples/treegrid/07_treegrid_multitable_connector.html b/themes/connector/samples/treegrid/07_treegrid_multitable_connector.html deleted file mode 100644 index e2538a8..0000000 --- a/themes/connector/samples/treegrid/07_treegrid_multitable_connector.html +++ /dev/null @@ -1,71 +0,0 @@ - - - - - For demo purpose only :: &1 - - - - - - - - - - -
                    - - - - -
                    -<?php -
                        
                    require_once("../config.php"); -
                        
                    $res=mysql_connect($mysql_server,$mysql_user,$mysql_pass); -
                        
                    mysql_select_db($mysql_db); -
                        require(
                    "../../codebase/treegridmultitable_connector.php"); -
                         -
                        
                    $treegrid = new TreeGridMultitableConnector($res); -
                        
                    $treegrid->enable_log("temp.log",true); -
                        
                    $treegrid->setMaxLevel(3); -
                        
                    $level $tree->get_level(); -
                    -
                        
                    switch ($level) { -
                            
                    case 0: -
                                
                    $treegrid->render_table("projects","project_id","project_name, project_dsc","",""); -
                                
                    break; - -
                            
                    case 1: -
                                
                    $treegrid->render_sql("SELECT teams.team_id, teams.team_name, project_team.project_id FROM teams INNER JOIN project_team ON teams.team_id=project_team.team_id","team_id","team_name","","project_id"); -
                                
                    break; - -
                            
                    case 2: -
                                
                    $treegrid->render_table("developers","developer_id","developer_name,developer_email","","developer_team"); -
                                
                    break; - -
                            
                    case 3: -
                                
                    $treegrid->render_table("phones","phone_id","phone,phone_type","","phone_developer"); -
                                
                    break; - -
                        } -
                    ?> -
                    -
                    - - - diff --git a/themes/connector/samples/treegrid/07_treegrid_multitable_connector.php b/themes/connector/samples/treegrid/07_treegrid_multitable_connector.php deleted file mode 100644 index 4ced2a2..0000000 --- a/themes/connector/samples/treegrid/07_treegrid_multitable_connector.php +++ /dev/null @@ -1,29 +0,0 @@ -setMaxLevel(3); - $level = $treegrid->get_level(); - - switch ($level) { - case 0: - $treegrid->render_table("projects", "project_id", "project_name, project_dsc", "", ""); - break; - case 1: - $treegrid->render_sql("SELECT teams.team_id, teams.team_name, project_team.project_id FROM teams INNER JOIN project_team ON teams.team_id=project_team.team_id", "team_id", "team_name", "", "project_id"); - break; - case 2: - $treegrid->render_table("developers", "developer_id", "developer_name,developer_email", "", "developer_team"); - break; - case 3: - $treegrid->render_table("phones", "phone_id", "phone,phone_type", "", "phone_developer"); - break; - } - -?> \ No newline at end of file diff --git a/themes/connector/samples/treegrid/index.html b/themes/connector/samples/treegrid/index.html deleted file mode 100644 index d8f5d8e..0000000 --- a/themes/connector/samples/treegrid/index.html +++ /dev/null @@ -1,32 +0,0 @@ - - - - -

                    dhtmlxConnector for PHP :: Samples

                    - -
                    Samples are based on standard edition, so to have working TreeGrid samples you need to update files in common folder with ones from dhtmlxSuite pro
                    - -
                  • Basic init
                  • -
                  • Dynamic loading
                  • -
                  • SQL config
                  • -
                  • Custom styles
                  • -
                  • Group connector
                  • -
                  • Multitable connector
                  • - - - - diff --git a/themes/css/cssdivalign.css b/themes/css/cssdivalign.css deleted file mode 100644 index 82a622a..0000000 --- a/themes/css/cssdivalign.css +++ /dev/null @@ -1,26 +0,0 @@ -.div-fontawesome-circle { - display: inline-block; - width: 3em; - height: 3em; - border-radius:1.5em; - margin-right: 1em; - background-color: white; - text-align: center; - box-shadow: 0 4px 8px 0 rgba(0,0,0,0.3); -} - -.div-fontawesome-circle:before { - content: ''; - display: inline-block; - height: 100%; - vertical-align: middle; - margin-right: -0.25em; /* Adjusts for spacing */ -} - -.div-fontawesome-circle span { - color: #3498db; - font-size: 1.6em; - margin: auto; - text-align: center; - vertical-align: middle; -} \ No newline at end of file diff --git a/themes/css/cssdivgradient.css b/themes/css/cssdivgradient.css deleted file mode 100644 index ddcf3df..0000000 --- a/themes/css/cssdivgradient.css +++ /dev/null @@ -1,41 +0,0 @@ -.div-gradient-blue{ - width:100%;height:230px;margin-top:30px;margin-left:16px; - box-shadow: 0 4px 8px 0 rgba(0,0,0,0.3);border-radius:10px; - background-image: linear-gradient(-20deg, #b721ff 0%, #21d4fd 100%); -} - -.div-gradient-crystaline{ - width:100%;height:230px;margin-top:30px;margin-left:16px; - box-shadow: 0 4px 8px 0 rgba(0,0,0,0.3);border-radius:10px; - background-image: linear-gradient(-20deg, #00cdac 0%, #8ddad5 100%); -} - -.div-gradient-blueocean{ - width:100%;height:230px;margin-top:30px;margin-left:16px; - box-shadow: 0 4px 8px 0 rgba(0,0,0,0.3);border-radius:10px; - background-image: linear-gradient(-20deg, #177cc1 0%, #3498db 100%); -} - -.div-gradient-jungle{ - width:100%;height:230px;margin-top:30px;margin-left:16px; - box-shadow: 0 4px 8px 0 rgba(0,0,0,0.3);border-radius:10px; - background-image: linear-gradient(45deg, #8baaaa 0%, #ae8b9c 100%); -} - -.div-gradient-red{ - width:100%;height:230px;margin-top:30px;margin-left:16px; - box-shadow: 0 4px 8px 0 rgba(0,0,0,0.3);border-radius:10px; - background-image: linear-gradient(to top, #ff0844 0%, #ffb199 100%); -} - -.div-gradient-azure { - width:100%;height:230px;margin-top:30px;margin-left:16px; - box-shadow: 0 4px 8px 0 rgba(0,0,0,0.3);border-radius:10px; - background-image: linear-gradient(120deg, #84fab0 0%, #8fd3f4 100%); -} - -.div-gradient-saints { - width:100%;height:230px;margin-top:30px;margin-left:16px; - box-shadow: 0 4px 8px 0 rgba(0,0,0,0.3);border-radius:10px; - background-image: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%); -} \ No newline at end of file diff --git a/themes/docs/index.html b/themes/docs/index.html deleted file mode 100644 index 606a373..0000000 --- a/themes/docs/index.html +++ /dev/null @@ -1,9 +0,0 @@ - - - DHTMLX Docs - - - - - - diff --git a/themes/font/Lato-Heavy.woff b/themes/font/Lato-Heavy.woff deleted file mode 100644 index c3f69f8..0000000 Binary files a/themes/font/Lato-Heavy.woff and /dev/null differ diff --git a/themes/font/Roboto-Light.woff b/themes/font/Roboto-Light.woff deleted file mode 100644 index 84974ff..0000000 Binary files a/themes/font/Roboto-Light.woff and /dev/null differ diff --git a/themes/font/SandyLite-Regular.woff b/themes/font/SandyLite-Regular.woff deleted file mode 100644 index 41235b2..0000000 Binary files a/themes/font/SandyLite-Regular.woff and /dev/null differ diff --git a/themes/font/Segment7Standard.woff b/themes/font/Segment7Standard.woff deleted file mode 100644 index 007dfc0..0000000 Binary files a/themes/font/Segment7Standard.woff and /dev/null differ diff --git a/themes/font/dseg7modernregular.woff b/themes/font/dseg7modernregular.woff deleted file mode 100644 index 77e372a..0000000 Binary files a/themes/font/dseg7modernregular.woff and /dev/null differ diff --git a/themes/font/font-awesome.css b/themes/font/font-awesome.css deleted file mode 100644 index ee906a8..0000000 --- a/themes/font/font-awesome.css +++ /dev/null @@ -1,2337 +0,0 @@ -/*! - * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome - * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) - */ -/* FONT PATH - * -------------------------- */ -@font-face { - font-family: 'FontAwesome'; - src: url('../fonts/fontawesome-webfont.eot?v=4.7.0'); - src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'), url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg'); - font-weight: normal; - font-style: normal; -} -.fa { - display: inline-block; - font: normal normal normal 14px/1 FontAwesome; - font-size: inherit; - text-rendering: auto; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} -/* makes the font 33% larger relative to the icon container */ -.fa-lg { - font-size: 1.33333333em; - line-height: 0.75em; - vertical-align: -15%; -} -.fa-2x { - font-size: 2em; -} -.fa-3x { - font-size: 3em; -} -.fa-4x { - font-size: 4em; -} -.fa-5x { - font-size: 5em; -} -.fa-fw { - width: 1.28571429em; - text-align: center; -} -.fa-ul { - padding-left: 0; - margin-left: 2.14285714em; - list-style-type: none; -} -.fa-ul > li { - position: relative; -} -.fa-li { - position: absolute; - left: -2.14285714em; - width: 2.14285714em; - top: 0.14285714em; - text-align: center; -} -.fa-li.fa-lg { - left: -1.85714286em; -} -.fa-border { - padding: .2em .25em .15em; - border: solid 0.08em #eeeeee; - border-radius: .1em; -} -.fa-pull-left { - float: left; -} -.fa-pull-right { - float: right; -} -.fa.fa-pull-left { - margin-right: .3em; -} -.fa.fa-pull-right { - margin-left: .3em; -} -/* Deprecated as of 4.4.0 */ -.pull-right { - float: right; -} -.pull-left { - float: left; -} -.fa.pull-left { - margin-right: .3em; -} -.fa.pull-right { - margin-left: .3em; -} -.fa-spin { - -webkit-animation: fa-spin 2s infinite linear; - animation: fa-spin 2s infinite linear; -} -.fa-pulse { - -webkit-animation: fa-spin 1s infinite steps(8); - animation: fa-spin 1s infinite steps(8); -} -@-webkit-keyframes fa-spin { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(359deg); - transform: rotate(359deg); - } -} -@keyframes fa-spin { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(359deg); - transform: rotate(359deg); - } -} -.fa-rotate-90 { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; - -webkit-transform: rotate(90deg); - -ms-transform: rotate(90deg); - transform: rotate(90deg); -} -.fa-rotate-180 { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; - -webkit-transform: rotate(180deg); - -ms-transform: rotate(180deg); - transform: rotate(180deg); -} -.fa-rotate-270 { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; - -webkit-transform: rotate(270deg); - -ms-transform: rotate(270deg); - transform: rotate(270deg); -} -.fa-flip-horizontal { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)"; - -webkit-transform: scale(-1, 1); - -ms-transform: scale(-1, 1); - transform: scale(-1, 1); -} -.fa-flip-vertical { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; - -webkit-transform: scale(1, -1); - -ms-transform: scale(1, -1); - transform: scale(1, -1); -} -:root .fa-rotate-90, -:root .fa-rotate-180, -:root .fa-rotate-270, -:root .fa-flip-horizontal, -:root .fa-flip-vertical { - filter: none; -} -.fa-stack { - position: relative; - display: inline-block; - width: 2em; - height: 2em; - line-height: 2em; - vertical-align: middle; -} -.fa-stack-1x, -.fa-stack-2x { - position: absolute; - left: 0; - width: 100%; - text-align: center; -} -.fa-stack-1x { - line-height: inherit; -} -.fa-stack-2x { - font-size: 2em; -} -.fa-inverse { - color: #ffffff; -} -/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen - readers do not read off random characters that represent icons */ -.fa-glass:before { - content: "\f000"; -} -.fa-music:before { - content: "\f001"; -} -.fa-search:before { - content: "\f002"; -} -.fa-envelope-o:before { - content: "\f003"; -} -.fa-heart:before { - content: "\f004"; -} -.fa-star:before { - content: "\f005"; -} -.fa-star-o:before { - content: "\f006"; -} -.fa-user:before { - content: "\f007"; -} -.fa-film:before { - content: "\f008"; -} -.fa-th-large:before { - content: "\f009"; -} -.fa-th:before { - content: "\f00a"; -} -.fa-th-list:before { - content: "\f00b"; -} -.fa-check:before { - content: "\f00c"; -} -.fa-remove:before, -.fa-close:before, -.fa-times:before { - content: "\f00d"; -} -.fa-search-plus:before { - content: "\f00e"; -} -.fa-search-minus:before { - content: "\f010"; -} -.fa-power-off:before { - content: "\f011"; -} -.fa-signal:before { - content: "\f012"; -} -.fa-gear:before, -.fa-cog:before { - content: "\f013"; -} -.fa-trash-o:before { - content: "\f014"; -} -.fa-home:before { - content: "\f015"; -} -.fa-file-o:before { - content: "\f016"; -} -.fa-clock-o:before { - content: "\f017"; -} -.fa-road:before { - content: "\f018"; -} -.fa-download:before { - content: "\f019"; -} -.fa-arrow-circle-o-down:before { - content: "\f01a"; -} -.fa-arrow-circle-o-up:before { - content: "\f01b"; -} -.fa-inbox:before { - content: "\f01c"; -} -.fa-play-circle-o:before { - content: "\f01d"; -} -.fa-rotate-right:before, -.fa-repeat:before { - content: "\f01e"; -} -.fa-refresh:before { - content: "\f021"; -} -.fa-list-alt:before { - content: "\f022"; -} -.fa-lock:before { - content: "\f023"; -} -.fa-flag:before { - content: "\f024"; -} -.fa-headphones:before { - content: "\f025"; -} -.fa-volume-off:before { - content: "\f026"; -} -.fa-volume-down:before { - content: "\f027"; -} -.fa-volume-up:before { - content: "\f028"; -} -.fa-qrcode:before { - content: "\f029"; -} -.fa-barcode:before { - content: "\f02a"; -} -.fa-tag:before { - content: "\f02b"; -} -.fa-tags:before { - content: "\f02c"; -} -.fa-book:before { - content: "\f02d"; -} -.fa-bookmark:before { - content: "\f02e"; -} -.fa-print:before { - content: "\f02f"; -} -.fa-camera:before { - content: "\f030"; -} -.fa-font:before { - content: "\f031"; -} -.fa-bold:before { - content: "\f032"; -} -.fa-italic:before { - content: "\f033"; -} -.fa-text-height:before { - content: "\f034"; -} -.fa-text-width:before { - content: "\f035"; -} -.fa-align-left:before { - content: "\f036"; -} -.fa-align-center:before { - content: "\f037"; -} -.fa-align-right:before { - content: "\f038"; -} -.fa-align-justify:before { - content: "\f039"; -} -.fa-list:before { - content: "\f03a"; -} -.fa-dedent:before, -.fa-outdent:before { - content: "\f03b"; -} -.fa-indent:before { - content: "\f03c"; -} -.fa-video-camera:before { - content: "\f03d"; -} -.fa-photo:before, -.fa-image:before, -.fa-picture-o:before { - content: "\f03e"; -} -.fa-pencil:before { - content: "\f040"; -} -.fa-map-marker:before { - content: "\f041"; -} -.fa-adjust:before { - content: "\f042"; -} -.fa-tint:before { - content: "\f043"; -} -.fa-edit:before, -.fa-pencil-square-o:before { - content: "\f044"; -} -.fa-share-square-o:before { - content: "\f045"; -} -.fa-check-square-o:before { - content: "\f046"; -} -.fa-arrows:before { - content: "\f047"; -} -.fa-step-backward:before { - content: "\f048"; -} -.fa-fast-backward:before { - content: "\f049"; -} -.fa-backward:before { - content: "\f04a"; -} -.fa-play:before { - content: "\f04b"; -} -.fa-pause:before { - content: "\f04c"; -} -.fa-stop:before { - content: "\f04d"; -} -.fa-forward:before { - content: "\f04e"; -} -.fa-fast-forward:before { - content: "\f050"; -} -.fa-step-forward:before { - content: "\f051"; -} -.fa-eject:before { - content: "\f052"; -} -.fa-chevron-left:before { - content: "\f053"; -} -.fa-chevron-right:before { - content: "\f054"; -} -.fa-plus-circle:before { - content: "\f055"; -} -.fa-minus-circle:before { - content: "\f056"; -} -.fa-times-circle:before { - content: "\f057"; -} -.fa-check-circle:before { - content: "\f058"; -} -.fa-question-circle:before { - content: "\f059"; -} -.fa-info-circle:before { - content: "\f05a"; -} -.fa-crosshairs:before { - content: "\f05b"; -} -.fa-times-circle-o:before { - content: "\f05c"; -} -.fa-check-circle-o:before { - content: "\f05d"; -} -.fa-ban:before { - content: "\f05e"; -} -.fa-arrow-left:before { - content: "\f060"; -} -.fa-arrow-right:before { - content: "\f061"; -} -.fa-arrow-up:before { - content: "\f062"; -} -.fa-arrow-down:before { - content: "\f063"; -} -.fa-mail-forward:before, -.fa-share:before { - content: "\f064"; -} -.fa-expand:before { - content: "\f065"; -} -.fa-compress:before { - content: "\f066"; -} -.fa-plus:before { - content: "\f067"; -} -.fa-minus:before { - content: "\f068"; -} -.fa-asterisk:before { - content: "\f069"; -} -.fa-exclamation-circle:before { - content: "\f06a"; -} -.fa-gift:before { - content: "\f06b"; -} -.fa-leaf:before { - content: "\f06c"; -} -.fa-fire:before { - content: "\f06d"; -} -.fa-eye:before { - content: "\f06e"; -} -.fa-eye-slash:before { - content: "\f070"; -} -.fa-warning:before, -.fa-exclamation-triangle:before { - content: "\f071"; -} -.fa-plane:before { - content: "\f072"; -} -.fa-calendar:before { - content: "\f073"; -} -.fa-random:before { - content: "\f074"; -} -.fa-comment:before { - content: "\f075"; -} -.fa-magnet:before { - content: "\f076"; -} -.fa-chevron-up:before { - content: "\f077"; -} -.fa-chevron-down:before { - content: "\f078"; -} -.fa-retweet:before { - content: "\f079"; -} -.fa-shopping-cart:before { - content: "\f07a"; -} -.fa-folder:before { - content: "\f07b"; -} -.fa-folder-open:before { - content: "\f07c"; -} -.fa-arrows-v:before { - content: "\f07d"; -} -.fa-arrows-h:before { - content: "\f07e"; -} -.fa-bar-chart-o:before, -.fa-bar-chart:before { - content: "\f080"; -} -.fa-twitter-square:before { - content: "\f081"; -} -.fa-facebook-square:before { - content: "\f082"; -} -.fa-camera-retro:before { - content: "\f083"; -} -.fa-key:before { - content: "\f084"; -} -.fa-gears:before, -.fa-cogs:before { - content: "\f085"; -} -.fa-comments:before { - content: "\f086"; -} -.fa-thumbs-o-up:before { - content: "\f087"; -} -.fa-thumbs-o-down:before { - content: "\f088"; -} -.fa-star-half:before { - content: "\f089"; -} -.fa-heart-o:before { - content: "\f08a"; -} -.fa-sign-out:before { - content: "\f08b"; -} -.fa-linkedin-square:before { - content: "\f08c"; -} -.fa-thumb-tack:before { - content: "\f08d"; -} -.fa-external-link:before { - content: "\f08e"; -} -.fa-sign-in:before { - content: "\f090"; -} -.fa-trophy:before { - content: "\f091"; -} -.fa-github-square:before { - content: "\f092"; -} -.fa-upload:before { - content: "\f093"; -} -.fa-lemon-o:before { - content: "\f094"; -} -.fa-phone:before { - content: "\f095"; -} -.fa-square-o:before { - content: "\f096"; -} -.fa-bookmark-o:before { - content: "\f097"; -} -.fa-phone-square:before { - content: "\f098"; -} -.fa-twitter:before { - content: "\f099"; -} -.fa-facebook-f:before, -.fa-facebook:before { - content: "\f09a"; -} -.fa-github:before { - content: "\f09b"; -} -.fa-unlock:before { - content: "\f09c"; -} -.fa-credit-card:before { - content: "\f09d"; -} -.fa-feed:before, -.fa-rss:before { - content: "\f09e"; -} -.fa-hdd-o:before { - content: "\f0a0"; -} -.fa-bullhorn:before { - content: "\f0a1"; -} -.fa-bell:before { - content: "\f0f3"; -} -.fa-certificate:before { - content: "\f0a3"; -} -.fa-hand-o-right:before { - content: "\f0a4"; -} -.fa-hand-o-left:before { - content: "\f0a5"; -} -.fa-hand-o-up:before { - content: "\f0a6"; -} -.fa-hand-o-down:before { - content: "\f0a7"; -} -.fa-arrow-circle-left:before { - content: "\f0a8"; -} -.fa-arrow-circle-right:before { - content: "\f0a9"; -} -.fa-arrow-circle-up:before { - content: "\f0aa"; -} -.fa-arrow-circle-down:before { - content: "\f0ab"; -} -.fa-globe:before { - content: "\f0ac"; -} -.fa-wrench:before { - content: "\f0ad"; -} -.fa-tasks:before { - content: "\f0ae"; -} -.fa-filter:before { - content: "\f0b0"; -} -.fa-briefcase:before { - content: "\f0b1"; -} -.fa-arrows-alt:before { - content: "\f0b2"; -} -.fa-group:before, -.fa-users:before { - content: "\f0c0"; -} -.fa-chain:before, -.fa-link:before { - content: "\f0c1"; -} -.fa-cloud:before { - content: "\f0c2"; -} -.fa-flask:before { - content: "\f0c3"; -} -.fa-cut:before, -.fa-scissors:before { - content: "\f0c4"; -} -.fa-copy:before, -.fa-files-o:before { - content: "\f0c5"; -} -.fa-paperclip:before { - content: "\f0c6"; -} -.fa-save:before, -.fa-floppy-o:before { - content: "\f0c7"; -} -.fa-square:before { - content: "\f0c8"; -} -.fa-navicon:before, -.fa-reorder:before, -.fa-bars:before { - content: "\f0c9"; -} -.fa-list-ul:before { - content: "\f0ca"; -} -.fa-list-ol:before { - content: "\f0cb"; -} -.fa-strikethrough:before { - content: "\f0cc"; -} -.fa-underline:before { - content: "\f0cd"; -} -.fa-table:before { - content: "\f0ce"; -} -.fa-magic:before { - content: "\f0d0"; -} -.fa-truck:before { - content: "\f0d1"; -} -.fa-pinterest:before { - content: "\f0d2"; -} -.fa-pinterest-square:before { - content: "\f0d3"; -} -.fa-google-plus-square:before { - content: "\f0d4"; -} -.fa-google-plus:before { - content: "\f0d5"; -} -.fa-money:before { - content: "\f0d6"; -} -.fa-caret-down:before { - content: "\f0d7"; -} -.fa-caret-up:before { - content: "\f0d8"; -} -.fa-caret-left:before { - content: "\f0d9"; -} -.fa-caret-right:before { - content: "\f0da"; -} -.fa-columns:before { - content: "\f0db"; -} -.fa-unsorted:before, -.fa-sort:before { - content: "\f0dc"; -} -.fa-sort-down:before, -.fa-sort-desc:before { - content: "\f0dd"; -} -.fa-sort-up:before, -.fa-sort-asc:before { - content: "\f0de"; -} -.fa-envelope:before { - content: "\f0e0"; -} -.fa-linkedin:before { - content: "\f0e1"; -} -.fa-rotate-left:before, -.fa-undo:before { - content: "\f0e2"; -} -.fa-legal:before, -.fa-gavel:before { - content: "\f0e3"; -} -.fa-dashboard:before, -.fa-tachometer:before { - content: "\f0e4"; -} -.fa-comment-o:before { - content: "\f0e5"; -} -.fa-comments-o:before { - content: "\f0e6"; -} -.fa-flash:before, -.fa-bolt:before { - content: "\f0e7"; -} -.fa-sitemap:before { - content: "\f0e8"; -} -.fa-umbrella:before { - content: "\f0e9"; -} -.fa-paste:before, -.fa-clipboard:before { - content: "\f0ea"; -} -.fa-lightbulb-o:before { - content: "\f0eb"; -} -.fa-exchange:before { - content: "\f0ec"; -} -.fa-cloud-download:before { - content: "\f0ed"; -} -.fa-cloud-upload:before { - content: "\f0ee"; -} -.fa-user-md:before { - content: "\f0f0"; -} -.fa-stethoscope:before { - content: "\f0f1"; -} -.fa-suitcase:before { - content: "\f0f2"; -} -.fa-bell-o:before { - content: "\f0a2"; -} -.fa-coffee:before { - content: "\f0f4"; -} -.fa-cutlery:before { - content: "\f0f5"; -} -.fa-file-text-o:before { - content: "\f0f6"; -} -.fa-building-o:before { - content: "\f0f7"; -} -.fa-hospital-o:before { - content: "\f0f8"; -} -.fa-ambulance:before { - content: "\f0f9"; -} -.fa-medkit:before { - content: "\f0fa"; -} -.fa-fighter-jet:before { - content: "\f0fb"; -} -.fa-beer:before { - content: "\f0fc"; -} -.fa-h-square:before { - content: "\f0fd"; -} -.fa-plus-square:before { - content: "\f0fe"; -} -.fa-angle-double-left:before { - content: "\f100"; -} -.fa-angle-double-right:before { - content: "\f101"; -} -.fa-angle-double-up:before { - content: "\f102"; -} -.fa-angle-double-down:before { - content: "\f103"; -} -.fa-angle-left:before { - content: "\f104"; -} -.fa-angle-right:before { - content: "\f105"; -} -.fa-angle-up:before { - content: "\f106"; -} -.fa-angle-down:before { - content: "\f107"; -} -.fa-desktop:before { - content: "\f108"; -} -.fa-laptop:before { - content: "\f109"; -} -.fa-tablet:before { - content: "\f10a"; -} -.fa-mobile-phone:before, -.fa-mobile:before { - content: "\f10b"; -} -.fa-circle-o:before { - content: "\f10c"; -} -.fa-quote-left:before { - content: "\f10d"; -} -.fa-quote-right:before { - content: "\f10e"; -} -.fa-spinner:before { - content: "\f110"; -} -.fa-circle:before { - content: "\f111"; -} -.fa-mail-reply:before, -.fa-reply:before { - content: "\f112"; -} -.fa-github-alt:before { - content: "\f113"; -} -.fa-folder-o:before { - content: "\f114"; -} -.fa-folder-open-o:before { - content: "\f115"; -} -.fa-smile-o:before { - content: "\f118"; -} -.fa-frown-o:before { - content: "\f119"; -} -.fa-meh-o:before { - content: "\f11a"; -} -.fa-gamepad:before { - content: "\f11b"; -} -.fa-keyboard-o:before { - content: "\f11c"; -} -.fa-flag-o:before { - content: "\f11d"; -} -.fa-flag-checkered:before { - content: "\f11e"; -} -.fa-terminal:before { - content: "\f120"; -} -.fa-code:before { - content: "\f121"; -} -.fa-mail-reply-all:before, -.fa-reply-all:before { - content: "\f122"; -} -.fa-star-half-empty:before, -.fa-star-half-full:before, -.fa-star-half-o:before { - content: "\f123"; -} -.fa-location-arrow:before { - content: "\f124"; -} -.fa-crop:before { - content: "\f125"; -} -.fa-code-fork:before { - content: "\f126"; -} -.fa-unlink:before, -.fa-chain-broken:before { - content: "\f127"; -} -.fa-question:before { - content: "\f128"; -} -.fa-info:before { - content: "\f129"; -} -.fa-exclamation:before { - content: "\f12a"; -} -.fa-superscript:before { - content: "\f12b"; -} -.fa-subscript:before { - content: "\f12c"; -} -.fa-eraser:before { - content: "\f12d"; -} -.fa-puzzle-piece:before { - content: "\f12e"; -} -.fa-microphone:before { - content: "\f130"; -} -.fa-microphone-slash:before { - content: "\f131"; -} -.fa-shield:before { - content: "\f132"; -} -.fa-calendar-o:before { - content: "\f133"; -} -.fa-fire-extinguisher:before { - content: "\f134"; -} -.fa-rocket:before { - content: "\f135"; -} -.fa-maxcdn:before { - content: "\f136"; -} -.fa-chevron-circle-left:before { - content: "\f137"; -} -.fa-chevron-circle-right:before { - content: "\f138"; -} -.fa-chevron-circle-up:before { - content: "\f139"; -} -.fa-chevron-circle-down:before { - content: "\f13a"; -} -.fa-html5:before { - content: "\f13b"; -} -.fa-css3:before { - content: "\f13c"; -} -.fa-anchor:before { - content: "\f13d"; -} -.fa-unlock-alt:before { - content: "\f13e"; -} -.fa-bullseye:before { - content: "\f140"; -} -.fa-ellipsis-h:before { - content: "\f141"; -} -.fa-ellipsis-v:before { - content: "\f142"; -} -.fa-rss-square:before { - content: "\f143"; -} -.fa-play-circle:before { - content: "\f144"; -} -.fa-ticket:before { - content: "\f145"; -} -.fa-minus-square:before { - content: "\f146"; -} -.fa-minus-square-o:before { - content: "\f147"; -} -.fa-level-up:before { - content: "\f148"; -} -.fa-level-down:before { - content: "\f149"; -} -.fa-check-square:before { - content: "\f14a"; -} -.fa-pencil-square:before { - content: "\f14b"; -} -.fa-external-link-square:before { - content: "\f14c"; -} -.fa-share-square:before { - content: "\f14d"; -} -.fa-compass:before { - content: "\f14e"; -} -.fa-toggle-down:before, -.fa-caret-square-o-down:before { - content: "\f150"; -} -.fa-toggle-up:before, -.fa-caret-square-o-up:before { - content: "\f151"; -} -.fa-toggle-right:before, -.fa-caret-square-o-right:before { - content: "\f152"; -} -.fa-euro:before, -.fa-eur:before { - content: "\f153"; -} -.fa-gbp:before { - content: "\f154"; -} -.fa-dollar:before, -.fa-usd:before { - content: "\f155"; -} -.fa-rupee:before, -.fa-inr:before { - content: "\f156"; -} -.fa-cny:before, -.fa-rmb:before, -.fa-yen:before, -.fa-jpy:before { - content: "\f157"; -} -.fa-ruble:before, -.fa-rouble:before, -.fa-rub:before { - content: "\f158"; -} -.fa-won:before, -.fa-krw:before { - content: "\f159"; -} -.fa-bitcoin:before, -.fa-btc:before { - content: "\f15a"; -} -.fa-file:before { - content: "\f15b"; -} -.fa-file-text:before { - content: "\f15c"; -} -.fa-sort-alpha-asc:before { - content: "\f15d"; -} -.fa-sort-alpha-desc:before { - content: "\f15e"; -} -.fa-sort-amount-asc:before { - content: "\f160"; -} -.fa-sort-amount-desc:before { - content: "\f161"; -} -.fa-sort-numeric-asc:before { - content: "\f162"; -} -.fa-sort-numeric-desc:before { - content: "\f163"; -} -.fa-thumbs-up:before { - content: "\f164"; -} -.fa-thumbs-down:before { - content: "\f165"; -} -.fa-youtube-square:before { - content: "\f166"; -} -.fa-youtube:before { - content: "\f167"; -} -.fa-xing:before { - content: "\f168"; -} -.fa-xing-square:before { - content: "\f169"; -} -.fa-youtube-play:before { - content: "\f16a"; -} -.fa-dropbox:before { - content: "\f16b"; -} -.fa-stack-overflow:before { - content: "\f16c"; -} -.fa-instagram:before { - content: "\f16d"; -} -.fa-flickr:before { - content: "\f16e"; -} -.fa-adn:before { - content: "\f170"; -} -.fa-bitbucket:before { - content: "\f171"; -} -.fa-bitbucket-square:before { - content: "\f172"; -} -.fa-tumblr:before { - content: "\f173"; -} -.fa-tumblr-square:before { - content: "\f174"; -} -.fa-long-arrow-down:before { - content: "\f175"; -} -.fa-long-arrow-up:before { - content: "\f176"; -} -.fa-long-arrow-left:before { - content: "\f177"; -} -.fa-long-arrow-right:before { - content: "\f178"; -} -.fa-apple:before { - content: "\f179"; -} -.fa-windows:before { - content: "\f17a"; -} -.fa-android:before { - content: "\f17b"; -} -.fa-linux:before { - content: "\f17c"; -} -.fa-dribbble:before { - content: "\f17d"; -} -.fa-skype:before { - content: "\f17e"; -} -.fa-foursquare:before { - content: "\f180"; -} -.fa-trello:before { - content: "\f181"; -} -.fa-female:before { - content: "\f182"; -} -.fa-male:before { - content: "\f183"; -} -.fa-gittip:before, -.fa-gratipay:before { - content: "\f184"; -} -.fa-sun-o:before { - content: "\f185"; -} -.fa-moon-o:before { - content: "\f186"; -} -.fa-archive:before { - content: "\f187"; -} -.fa-bug:before { - content: "\f188"; -} -.fa-vk:before { - content: "\f189"; -} -.fa-weibo:before { - content: "\f18a"; -} -.fa-renren:before { - content: "\f18b"; -} -.fa-pagelines:before { - content: "\f18c"; -} -.fa-stack-exchange:before { - content: "\f18d"; -} -.fa-arrow-circle-o-right:before { - content: "\f18e"; -} -.fa-arrow-circle-o-left:before { - content: "\f190"; -} -.fa-toggle-left:before, -.fa-caret-square-o-left:before { - content: "\f191"; -} -.fa-dot-circle-o:before { - content: "\f192"; -} -.fa-wheelchair:before { - content: "\f193"; -} -.fa-vimeo-square:before { - content: "\f194"; -} -.fa-turkish-lira:before, -.fa-try:before { - content: "\f195"; -} -.fa-plus-square-o:before { - content: "\f196"; -} -.fa-space-shuttle:before { - content: "\f197"; -} -.fa-slack:before { - content: "\f198"; -} -.fa-envelope-square:before { - content: "\f199"; -} -.fa-wordpress:before { - content: "\f19a"; -} -.fa-openid:before { - content: "\f19b"; -} -.fa-institution:before, -.fa-bank:before, -.fa-university:before { - content: "\f19c"; -} -.fa-mortar-board:before, -.fa-graduation-cap:before { - content: "\f19d"; -} -.fa-yahoo:before { - content: "\f19e"; -} -.fa-google:before { - content: "\f1a0"; -} -.fa-reddit:before { - content: "\f1a1"; -} -.fa-reddit-square:before { - content: "\f1a2"; -} -.fa-stumbleupon-circle:before { - content: "\f1a3"; -} -.fa-stumbleupon:before { - content: "\f1a4"; -} -.fa-delicious:before { - content: "\f1a5"; -} -.fa-digg:before { - content: "\f1a6"; -} -.fa-pied-piper-pp:before { - content: "\f1a7"; -} -.fa-pied-piper-alt:before { - content: "\f1a8"; -} -.fa-drupal:before { - content: "\f1a9"; -} -.fa-joomla:before { - content: "\f1aa"; -} -.fa-language:before { - content: "\f1ab"; -} -.fa-fax:before { - content: "\f1ac"; -} -.fa-building:before { - content: "\f1ad"; -} -.fa-child:before { - content: "\f1ae"; -} -.fa-paw:before { - content: "\f1b0"; -} -.fa-spoon:before { - content: "\f1b1"; -} -.fa-cube:before { - content: "\f1b2"; -} -.fa-cubes:before { - content: "\f1b3"; -} -.fa-behance:before { - content: "\f1b4"; -} -.fa-behance-square:before { - content: "\f1b5"; -} -.fa-steam:before { - content: "\f1b6"; -} -.fa-steam-square:before { - content: "\f1b7"; -} -.fa-recycle:before { - content: "\f1b8"; -} -.fa-automobile:before, -.fa-car:before { - content: "\f1b9"; -} -.fa-cab:before, -.fa-taxi:before { - content: "\f1ba"; -} -.fa-tree:before { - content: "\f1bb"; -} -.fa-spotify:before { - content: "\f1bc"; -} -.fa-deviantart:before { - content: "\f1bd"; -} -.fa-soundcloud:before { - content: "\f1be"; -} -.fa-database:before { - content: "\f1c0"; -} -.fa-file-pdf-o:before { - content: "\f1c1"; -} -.fa-file-word-o:before { - content: "\f1c2"; -} -.fa-file-excel-o:before { - content: "\f1c3"; -} -.fa-file-powerpoint-o:before { - content: "\f1c4"; -} -.fa-file-photo-o:before, -.fa-file-picture-o:before, -.fa-file-image-o:before { - content: "\f1c5"; -} -.fa-file-zip-o:before, -.fa-file-archive-o:before { - content: "\f1c6"; -} -.fa-file-sound-o:before, -.fa-file-audio-o:before { - content: "\f1c7"; -} -.fa-file-movie-o:before, -.fa-file-video-o:before { - content: "\f1c8"; -} -.fa-file-code-o:before { - content: "\f1c9"; -} -.fa-vine:before { - content: "\f1ca"; -} -.fa-codepen:before { - content: "\f1cb"; -} -.fa-jsfiddle:before { - content: "\f1cc"; -} -.fa-life-bouy:before, -.fa-life-buoy:before, -.fa-life-saver:before, -.fa-support:before, -.fa-life-ring:before { - content: "\f1cd"; -} -.fa-circle-o-notch:before { - content: "\f1ce"; -} -.fa-ra:before, -.fa-resistance:before, -.fa-rebel:before { - content: "\f1d0"; -} -.fa-ge:before, -.fa-empire:before { - content: "\f1d1"; -} -.fa-git-square:before { - content: "\f1d2"; -} -.fa-git:before { - content: "\f1d3"; -} -.fa-y-combinator-square:before, -.fa-yc-square:before, -.fa-hacker-news:before { - content: "\f1d4"; -} -.fa-tencent-weibo:before { - content: "\f1d5"; -} -.fa-qq:before { - content: "\f1d6"; -} -.fa-wechat:before, -.fa-weixin:before { - content: "\f1d7"; -} -.fa-send:before, -.fa-paper-plane:before { - content: "\f1d8"; -} -.fa-send-o:before, -.fa-paper-plane-o:before { - content: "\f1d9"; -} -.fa-history:before { - content: "\f1da"; -} -.fa-circle-thin:before { - content: "\f1db"; -} -.fa-header:before { - content: "\f1dc"; -} -.fa-paragraph:before { - content: "\f1dd"; -} -.fa-sliders:before { - content: "\f1de"; -} -.fa-share-alt:before { - content: "\f1e0"; -} -.fa-share-alt-square:before { - content: "\f1e1"; -} -.fa-bomb:before { - content: "\f1e2"; -} -.fa-soccer-ball-o:before, -.fa-futbol-o:before { - content: "\f1e3"; -} -.fa-tty:before { - content: "\f1e4"; -} -.fa-binoculars:before { - content: "\f1e5"; -} -.fa-plug:before { - content: "\f1e6"; -} -.fa-slideshare:before { - content: "\f1e7"; -} -.fa-twitch:before { - content: "\f1e8"; -} -.fa-yelp:before { - content: "\f1e9"; -} -.fa-newspaper-o:before { - content: "\f1ea"; -} -.fa-wifi:before { - content: "\f1eb"; -} -.fa-calculator:before { - content: "\f1ec"; -} -.fa-paypal:before { - content: "\f1ed"; -} -.fa-google-wallet:before { - content: "\f1ee"; -} -.fa-cc-visa:before { - content: "\f1f0"; -} -.fa-cc-mastercard:before { - content: "\f1f1"; -} -.fa-cc-discover:before { - content: "\f1f2"; -} -.fa-cc-amex:before { - content: "\f1f3"; -} -.fa-cc-paypal:before { - content: "\f1f4"; -} -.fa-cc-stripe:before { - content: "\f1f5"; -} -.fa-bell-slash:before { - content: "\f1f6"; -} -.fa-bell-slash-o:before { - content: "\f1f7"; -} -.fa-trash:before { - content: "\f1f8"; -} -.fa-copyright:before { - content: "\f1f9"; -} -.fa-at:before { - content: "\f1fa"; -} -.fa-eyedropper:before { - content: "\f1fb"; -} -.fa-paint-brush:before { - content: "\f1fc"; -} -.fa-birthday-cake:before { - content: "\f1fd"; -} -.fa-area-chart:before { - content: "\f1fe"; -} -.fa-pie-chart:before { - content: "\f200"; -} -.fa-line-chart:before { - content: "\f201"; -} -.fa-lastfm:before { - content: "\f202"; -} -.fa-lastfm-square:before { - content: "\f203"; -} -.fa-toggle-off:before { - content: "\f204"; -} -.fa-toggle-on:before { - content: "\f205"; -} -.fa-bicycle:before { - content: "\f206"; -} -.fa-bus:before { - content: "\f207"; -} -.fa-ioxhost:before { - content: "\f208"; -} -.fa-angellist:before { - content: "\f209"; -} -.fa-cc:before { - content: "\f20a"; -} -.fa-shekel:before, -.fa-sheqel:before, -.fa-ils:before { - content: "\f20b"; -} -.fa-meanpath:before { - content: "\f20c"; -} -.fa-buysellads:before { - content: "\f20d"; -} -.fa-connectdevelop:before { - content: "\f20e"; -} -.fa-dashcube:before { - content: "\f210"; -} -.fa-forumbee:before { - content: "\f211"; -} -.fa-leanpub:before { - content: "\f212"; -} -.fa-sellsy:before { - content: "\f213"; -} -.fa-shirtsinbulk:before { - content: "\f214"; -} -.fa-simplybuilt:before { - content: "\f215"; -} -.fa-skyatlas:before { - content: "\f216"; -} -.fa-cart-plus:before { - content: "\f217"; -} -.fa-cart-arrow-down:before { - content: "\f218"; -} -.fa-diamond:before { - content: "\f219"; -} -.fa-ship:before { - content: "\f21a"; -} -.fa-user-secret:before { - content: "\f21b"; -} -.fa-motorcycle:before { - content: "\f21c"; -} -.fa-street-view:before { - content: "\f21d"; -} -.fa-heartbeat:before { - content: "\f21e"; -} -.fa-venus:before { - content: "\f221"; -} -.fa-mars:before { - content: "\f222"; -} -.fa-mercury:before { - content: "\f223"; -} -.fa-intersex:before, -.fa-transgender:before { - content: "\f224"; -} -.fa-transgender-alt:before { - content: "\f225"; -} -.fa-venus-double:before { - content: "\f226"; -} -.fa-mars-double:before { - content: "\f227"; -} -.fa-venus-mars:before { - content: "\f228"; -} -.fa-mars-stroke:before { - content: "\f229"; -} -.fa-mars-stroke-v:before { - content: "\f22a"; -} -.fa-mars-stroke-h:before { - content: "\f22b"; -} -.fa-neuter:before { - content: "\f22c"; -} -.fa-genderless:before { - content: "\f22d"; -} -.fa-facebook-official:before { - content: "\f230"; -} -.fa-pinterest-p:before { - content: "\f231"; -} -.fa-whatsapp:before { - content: "\f232"; -} -.fa-server:before { - content: "\f233"; -} -.fa-user-plus:before { - content: "\f234"; -} -.fa-user-times:before { - content: "\f235"; -} -.fa-hotel:before, -.fa-bed:before { - content: "\f236"; -} -.fa-viacoin:before { - content: "\f237"; -} -.fa-train:before { - content: "\f238"; -} -.fa-subway:before { - content: "\f239"; -} -.fa-medium:before { - content: "\f23a"; -} -.fa-yc:before, -.fa-y-combinator:before { - content: "\f23b"; -} -.fa-optin-monster:before { - content: "\f23c"; -} -.fa-opencart:before { - content: "\f23d"; -} -.fa-expeditedssl:before { - content: "\f23e"; -} -.fa-battery-4:before, -.fa-battery:before, -.fa-battery-full:before { - content: "\f240"; -} -.fa-battery-3:before, -.fa-battery-three-quarters:before { - content: "\f241"; -} -.fa-battery-2:before, -.fa-battery-half:before { - content: "\f242"; -} -.fa-battery-1:before, -.fa-battery-quarter:before { - content: "\f243"; -} -.fa-battery-0:before, -.fa-battery-empty:before { - content: "\f244"; -} -.fa-mouse-pointer:before { - content: "\f245"; -} -.fa-i-cursor:before { - content: "\f246"; -} -.fa-object-group:before { - content: "\f247"; -} -.fa-object-ungroup:before { - content: "\f248"; -} -.fa-sticky-note:before { - content: "\f249"; -} -.fa-sticky-note-o:before { - content: "\f24a"; -} -.fa-cc-jcb:before { - content: "\f24b"; -} -.fa-cc-diners-club:before { - content: "\f24c"; -} -.fa-clone:before { - content: "\f24d"; -} -.fa-balance-scale:before { - content: "\f24e"; -} -.fa-hourglass-o:before { - content: "\f250"; -} -.fa-hourglass-1:before, -.fa-hourglass-start:before { - content: "\f251"; -} -.fa-hourglass-2:before, -.fa-hourglass-half:before { - content: "\f252"; -} -.fa-hourglass-3:before, -.fa-hourglass-end:before { - content: "\f253"; -} -.fa-hourglass:before { - content: "\f254"; -} -.fa-hand-grab-o:before, -.fa-hand-rock-o:before { - content: "\f255"; -} -.fa-hand-stop-o:before, -.fa-hand-paper-o:before { - content: "\f256"; -} -.fa-hand-scissors-o:before { - content: "\f257"; -} -.fa-hand-lizard-o:before { - content: "\f258"; -} -.fa-hand-spock-o:before { - content: "\f259"; -} -.fa-hand-pointer-o:before { - content: "\f25a"; -} -.fa-hand-peace-o:before { - content: "\f25b"; -} -.fa-trademark:before { - content: "\f25c"; -} -.fa-registered:before { - content: "\f25d"; -} -.fa-creative-commons:before { - content: "\f25e"; -} -.fa-gg:before { - content: "\f260"; -} -.fa-gg-circle:before { - content: "\f261"; -} -.fa-tripadvisor:before { - content: "\f262"; -} -.fa-odnoklassniki:before { - content: "\f263"; -} -.fa-odnoklassniki-square:before { - content: "\f264"; -} -.fa-get-pocket:before { - content: "\f265"; -} -.fa-wikipedia-w:before { - content: "\f266"; -} -.fa-safari:before { - content: "\f267"; -} -.fa-chrome:before { - content: "\f268"; -} -.fa-firefox:before { - content: "\f269"; -} -.fa-opera:before { - content: "\f26a"; -} -.fa-internet-explorer:before { - content: "\f26b"; -} -.fa-tv:before, -.fa-television:before { - content: "\f26c"; -} -.fa-contao:before { - content: "\f26d"; -} -.fa-500px:before { - content: "\f26e"; -} -.fa-amazon:before { - content: "\f270"; -} -.fa-calendar-plus-o:before { - content: "\f271"; -} -.fa-calendar-minus-o:before { - content: "\f272"; -} -.fa-calendar-times-o:before { - content: "\f273"; -} -.fa-calendar-check-o:before { - content: "\f274"; -} -.fa-industry:before { - content: "\f275"; -} -.fa-map-pin:before { - content: "\f276"; -} -.fa-map-signs:before { - content: "\f277"; -} -.fa-map-o:before { - content: "\f278"; -} -.fa-map:before { - content: "\f279"; -} -.fa-commenting:before { - content: "\f27a"; -} -.fa-commenting-o:before { - content: "\f27b"; -} -.fa-houzz:before { - content: "\f27c"; -} -.fa-vimeo:before { - content: "\f27d"; -} -.fa-black-tie:before { - content: "\f27e"; -} -.fa-fonticons:before { - content: "\f280"; -} -.fa-reddit-alien:before { - content: "\f281"; -} -.fa-edge:before { - content: "\f282"; -} -.fa-credit-card-alt:before { - content: "\f283"; -} -.fa-codiepie:before { - content: "\f284"; -} -.fa-modx:before { - content: "\f285"; -} -.fa-fort-awesome:before { - content: "\f286"; -} -.fa-usb:before { - content: "\f287"; -} -.fa-product-hunt:before { - content: "\f288"; -} -.fa-mixcloud:before { - content: "\f289"; -} -.fa-scribd:before { - content: "\f28a"; -} -.fa-pause-circle:before { - content: "\f28b"; -} -.fa-pause-circle-o:before { - content: "\f28c"; -} -.fa-stop-circle:before { - content: "\f28d"; -} -.fa-stop-circle-o:before { - content: "\f28e"; -} -.fa-shopping-bag:before { - content: "\f290"; -} -.fa-shopping-basket:before { - content: "\f291"; -} -.fa-hashtag:before { - content: "\f292"; -} -.fa-bluetooth:before { - content: "\f293"; -} -.fa-bluetooth-b:before { - content: "\f294"; -} -.fa-percent:before { - content: "\f295"; -} -.fa-gitlab:before { - content: "\f296"; -} -.fa-wpbeginner:before { - content: "\f297"; -} -.fa-wpforms:before { - content: "\f298"; -} -.fa-envira:before { - content: "\f299"; -} -.fa-universal-access:before { - content: "\f29a"; -} -.fa-wheelchair-alt:before { - content: "\f29b"; -} -.fa-question-circle-o:before { - content: "\f29c"; -} -.fa-blind:before { - content: "\f29d"; -} -.fa-audio-description:before { - content: "\f29e"; -} -.fa-volume-control-phone:before { - content: "\f2a0"; -} -.fa-braille:before { - content: "\f2a1"; -} -.fa-assistive-listening-systems:before { - content: "\f2a2"; -} -.fa-asl-interpreting:before, -.fa-american-sign-language-interpreting:before { - content: "\f2a3"; -} -.fa-deafness:before, -.fa-hard-of-hearing:before, -.fa-deaf:before { - content: "\f2a4"; -} -.fa-glide:before { - content: "\f2a5"; -} -.fa-glide-g:before { - content: "\f2a6"; -} -.fa-signing:before, -.fa-sign-language:before { - content: "\f2a7"; -} -.fa-low-vision:before { - content: "\f2a8"; -} -.fa-viadeo:before { - content: "\f2a9"; -} -.fa-viadeo-square:before { - content: "\f2aa"; -} -.fa-snapchat:before { - content: "\f2ab"; -} -.fa-snapchat-ghost:before { - content: "\f2ac"; -} -.fa-snapchat-square:before { - content: "\f2ad"; -} -.fa-pied-piper:before { - content: "\f2ae"; -} -.fa-first-order:before { - content: "\f2b0"; -} -.fa-yoast:before { - content: "\f2b1"; -} -.fa-themeisle:before { - content: "\f2b2"; -} -.fa-google-plus-circle:before, -.fa-google-plus-official:before { - content: "\f2b3"; -} -.fa-fa:before, -.fa-font-awesome:before { - content: "\f2b4"; -} -.fa-handshake-o:before { - content: "\f2b5"; -} -.fa-envelope-open:before { - content: "\f2b6"; -} -.fa-envelope-open-o:before { - content: "\f2b7"; -} -.fa-linode:before { - content: "\f2b8"; -} -.fa-address-book:before { - content: "\f2b9"; -} -.fa-address-book-o:before { - content: "\f2ba"; -} -.fa-vcard:before, -.fa-address-card:before { - content: "\f2bb"; -} -.fa-vcard-o:before, -.fa-address-card-o:before { - content: "\f2bc"; -} -.fa-user-circle:before { - content: "\f2bd"; -} -.fa-user-circle-o:before { - content: "\f2be"; -} -.fa-user-o:before { - content: "\f2c0"; -} -.fa-id-badge:before { - content: "\f2c1"; -} -.fa-drivers-license:before, -.fa-id-card:before { - content: "\f2c2"; -} -.fa-drivers-license-o:before, -.fa-id-card-o:before { - content: "\f2c3"; -} -.fa-quora:before { - content: "\f2c4"; -} -.fa-free-code-camp:before { - content: "\f2c5"; -} -.fa-telegram:before { - content: "\f2c6"; -} -.fa-thermometer-4:before, -.fa-thermometer:before, -.fa-thermometer-full:before { - content: "\f2c7"; -} -.fa-thermometer-3:before, -.fa-thermometer-three-quarters:before { - content: "\f2c8"; -} -.fa-thermometer-2:before, -.fa-thermometer-half:before { - content: "\f2c9"; -} -.fa-thermometer-1:before, -.fa-thermometer-quarter:before { - content: "\f2ca"; -} -.fa-thermometer-0:before, -.fa-thermometer-empty:before { - content: "\f2cb"; -} -.fa-shower:before { - content: "\f2cc"; -} -.fa-bathtub:before, -.fa-s15:before, -.fa-bath:before { - content: "\f2cd"; -} -.fa-podcast:before { - content: "\f2ce"; -} -.fa-window-maximize:before { - content: "\f2d0"; -} -.fa-window-minimize:before { - content: "\f2d1"; -} -.fa-window-restore:before { - content: "\f2d2"; -} -.fa-times-rectangle:before, -.fa-window-close:before { - content: "\f2d3"; -} -.fa-times-rectangle-o:before, -.fa-window-close-o:before { - content: "\f2d4"; -} -.fa-bandcamp:before { - content: "\f2d5"; -} -.fa-grav:before { - content: "\f2d6"; -} -.fa-etsy:before { - content: "\f2d7"; -} -.fa-imdb:before { - content: "\f2d8"; -} -.fa-ravelry:before { - content: "\f2d9"; -} -.fa-eercast:before { - content: "\f2da"; -} -.fa-microchip:before { - content: "\f2db"; -} -.fa-snowflake-o:before { - content: "\f2dc"; -} -.fa-superpowers:before { - content: "\f2dd"; -} -.fa-wpexplorer:before { - content: "\f2de"; -} -.fa-meetup:before { - content: "\f2e0"; -} -.sr-only { - position: absolute; - width: 1px; - height: 1px; - padding: 0; - margin: -1px; - overflow: hidden; - clip: rect(0, 0, 0, 0); - border: 0; -} -.sr-only-focusable:active, -.sr-only-focusable:focus { - position: static; - width: auto; - height: auto; - margin: 0; - overflow: visible; - clip: auto; -} diff --git a/themes/font/font-awesome.min.css b/themes/font/font-awesome.min.css deleted file mode 100644 index 540440c..0000000 --- a/themes/font/font-awesome.min.css +++ /dev/null @@ -1,4 +0,0 @@ -/*! - * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome - * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) - */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.7.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto} diff --git a/themes/font/fontface.css b/themes/font/fontface.css deleted file mode 100644 index 730810f..0000000 --- a/themes/font/fontface.css +++ /dev/null @@ -1,3 +0,0 @@ -@font-face {font-family: 'LatoHeavy';src: url('Lato-Heavy.woff') format('opentype');} -@font-face {font-family: 'RobotoLight';src: url('Roboto-Light.woff') format('opentype');} -@font-face {font-family: 'dseg7modernregular';src: url('dseg7modernregular.woff');} diff --git a/themes/font/materialiconfont.css b/themes/font/materialiconfont.css deleted file mode 100644 index a0d14a7..0000000 --- a/themes/font/materialiconfont.css +++ /dev/null @@ -1,23 +0,0 @@ -/* fallback */ -@font-face { - font-family: 'Material Icons'; - font-style: normal; - font-weight: 400; - src: url(materialiconfont.woff2) format('woff2'); -} - -.material-icons { - font-family: 'Material Icons'; - font-weight: normal; - font-style: normal; - font-size: 24px; - line-height: 1; - letter-spacing: normal; - text-transform: none; - display: inline-block; - white-space: nowrap; - word-wrap: normal; - direction: ltr; - -moz-font-feature-settings: 'liga'; - -moz-osx-font-smoothing: grayscale; -} \ No newline at end of file diff --git a/themes/font/materialiconfont.woff2 b/themes/font/materialiconfont.woff2 deleted file mode 100644 index e916217..0000000 Binary files a/themes/font/materialiconfont.woff2 and /dev/null differ diff --git a/themes/fonts/FontAwesome.otf b/themes/fonts/FontAwesome.otf deleted file mode 100644 index 401ec0f..0000000 Binary files a/themes/fonts/FontAwesome.otf and /dev/null differ diff --git a/themes/fonts/fontawesome-webfont.eot b/themes/fonts/fontawesome-webfont.eot deleted file mode 100644 index e9f60ca..0000000 Binary files a/themes/fonts/fontawesome-webfont.eot and /dev/null differ diff --git a/themes/fonts/fontawesome-webfont.svg b/themes/fonts/fontawesome-webfont.svg deleted file mode 100644 index 855c845..0000000 --- a/themes/fonts/fontawesome-webfont.svg +++ /dev/null @@ -1,2671 +0,0 @@ - - - - -Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 - By ,,, -Copyright Dave Gandy 2016. All rights reserved. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/fonts/fontawesome-webfont.ttf b/themes/fonts/fontawesome-webfont.ttf deleted file mode 100644 index 35acda2..0000000 Binary files a/themes/fonts/fontawesome-webfont.ttf and /dev/null differ diff --git a/themes/fonts/fontawesome-webfont.woff b/themes/fonts/fontawesome-webfont.woff deleted file mode 100644 index 400014a..0000000 Binary files a/themes/fonts/fontawesome-webfont.woff and /dev/null differ diff --git a/themes/fonts/fontawesome-webfont.woff2 b/themes/fonts/fontawesome-webfont.woff2 deleted file mode 100644 index 4d13fc6..0000000 Binary files a/themes/fonts/fontawesome-webfont.woff2 and /dev/null differ diff --git a/themes/icons/about.gif b/themes/icons/about.gif deleted file mode 100644 index ed1d444..0000000 Binary files a/themes/icons/about.gif and /dev/null differ diff --git a/themes/icons/about_dis.gif b/themes/icons/about_dis.gif deleted file mode 100644 index a8d6c17..0000000 Binary files a/themes/icons/about_dis.gif and /dev/null differ diff --git a/themes/icons/add.png b/themes/icons/add.png deleted file mode 100644 index 23c7884..0000000 Binary files a/themes/icons/add.png and /dev/null differ diff --git a/themes/icons/approval.png b/themes/icons/approval.png deleted file mode 100644 index 243e9c3..0000000 Binary files a/themes/icons/approval.png and /dev/null differ diff --git a/themes/icons/back.png b/themes/icons/back.png deleted file mode 100644 index b7d8461..0000000 Binary files a/themes/icons/back.png and /dev/null differ diff --git a/themes/icons/bug_reporting.gif b/themes/icons/bug_reporting.gif deleted file mode 100644 index 5e33851..0000000 Binary files a/themes/icons/bug_reporting.gif and /dev/null differ diff --git a/themes/icons/bug_reporting_dis.gif b/themes/icons/bug_reporting_dis.gif deleted file mode 100644 index 26e489a..0000000 Binary files a/themes/icons/bug_reporting_dis.gif and /dev/null differ diff --git a/themes/icons/cancel.png b/themes/icons/cancel.png deleted file mode 100644 index ac10f17..0000000 Binary files a/themes/icons/cancel.png and /dev/null differ diff --git a/themes/icons/close.gif b/themes/icons/close.gif deleted file mode 100644 index deae43b..0000000 Binary files a/themes/icons/close.gif and /dev/null differ diff --git a/themes/icons/close_dis.gif b/themes/icons/close_dis.gif deleted file mode 100644 index cfb6eca..0000000 Binary files a/themes/icons/close_dis.gif and /dev/null differ diff --git a/themes/icons/copy.gif b/themes/icons/copy.gif deleted file mode 100644 index 7b2a79c..0000000 Binary files a/themes/icons/copy.gif and /dev/null differ diff --git a/themes/icons/copy_dis.gif b/themes/icons/copy_dis.gif deleted file mode 100644 index 734e9f8..0000000 Binary files a/themes/icons/copy_dis.gif and /dev/null differ diff --git a/themes/icons/cut.gif b/themes/icons/cut.gif deleted file mode 100644 index 04d6fd7..0000000 Binary files a/themes/icons/cut.gif and /dev/null differ diff --git a/themes/icons/cut_dis.gif b/themes/icons/cut_dis.gif deleted file mode 100644 index 6f1706b..0000000 Binary files a/themes/icons/cut_dis.gif and /dev/null differ diff --git a/themes/icons/delete.gif b/themes/icons/delete.gif deleted file mode 100644 index deae43b..0000000 Binary files a/themes/icons/delete.gif and /dev/null differ diff --git a/themes/icons/excel.png b/themes/icons/excel.png deleted file mode 100644 index da2ce90..0000000 Binary files a/themes/icons/excel.png and /dev/null differ diff --git a/themes/icons/exit.png b/themes/icons/exit.png deleted file mode 100644 index a39ac11..0000000 Binary files a/themes/icons/exit.png and /dev/null differ diff --git a/themes/icons/files.png b/themes/icons/files.png deleted file mode 100644 index 77a4dfd..0000000 Binary files a/themes/icons/files.png and /dev/null differ diff --git a/themes/icons/flags/en.png b/themes/icons/flags/en.png deleted file mode 100644 index 9afcef0..0000000 Binary files a/themes/icons/flags/en.png and /dev/null differ diff --git a/themes/icons/flags/ind.png b/themes/icons/flags/ind.png deleted file mode 100644 index 385c6f8..0000000 Binary files a/themes/icons/flags/ind.png and /dev/null differ diff --git a/themes/icons/help.gif b/themes/icons/help.gif deleted file mode 100644 index 22b3ca3..0000000 Binary files a/themes/icons/help.gif and /dev/null differ diff --git a/themes/icons/help_dis.gif b/themes/icons/help_dis.gif deleted file mode 100644 index 3fbfca9..0000000 Binary files a/themes/icons/help_dis.gif and /dev/null differ diff --git a/themes/icons/load.png b/themes/icons/load.png deleted file mode 100644 index 95c4dc9..0000000 Binary files a/themes/icons/load.png and /dev/null differ diff --git a/themes/icons/new.gif b/themes/icons/new.gif deleted file mode 100644 index b2d720a..0000000 Binary files a/themes/icons/new.gif and /dev/null differ diff --git a/themes/icons/new_dis.gif b/themes/icons/new_dis.gif deleted file mode 100644 index b475c88..0000000 Binary files a/themes/icons/new_dis.gif and /dev/null differ diff --git a/themes/icons/next.png b/themes/icons/next.png deleted file mode 100644 index 8c15e14..0000000 Binary files a/themes/icons/next.png and /dev/null differ diff --git a/themes/icons/open.gif b/themes/icons/open.gif deleted file mode 100644 index b77e253..0000000 Binary files a/themes/icons/open.gif and /dev/null differ diff --git a/themes/icons/open_dis.gif b/themes/icons/open_dis.gif deleted file mode 100644 index 538aaf2..0000000 Binary files a/themes/icons/open_dis.gif and /dev/null differ diff --git a/themes/icons/page_setup.gif b/themes/icons/page_setup.gif deleted file mode 100644 index d8ea3b6..0000000 Binary files a/themes/icons/page_setup.gif and /dev/null differ diff --git a/themes/icons/page_setup_dis.gif b/themes/icons/page_setup_dis.gif deleted file mode 100644 index c5f5f6c..0000000 Binary files a/themes/icons/page_setup_dis.gif and /dev/null differ diff --git a/themes/icons/paste.gif b/themes/icons/paste.gif deleted file mode 100644 index da1af49..0000000 Binary files a/themes/icons/paste.gif and /dev/null differ diff --git a/themes/icons/paste_dis.gif b/themes/icons/paste_dis.gif deleted file mode 100644 index 79f5008..0000000 Binary files a/themes/icons/paste_dis.gif and /dev/null differ diff --git a/themes/icons/pdf.png b/themes/icons/pdf.png deleted file mode 100644 index e73a95f..0000000 Binary files a/themes/icons/pdf.png and /dev/null differ diff --git a/themes/icons/print.gif b/themes/icons/print.gif deleted file mode 100644 index 2ff7eb9..0000000 Binary files a/themes/icons/print.gif and /dev/null differ diff --git a/themes/icons/print_dis.gif b/themes/icons/print_dis.gif deleted file mode 100644 index a96ed4f..0000000 Binary files a/themes/icons/print_dis.gif and /dev/null differ diff --git a/themes/icons/redo.gif b/themes/icons/redo.gif deleted file mode 100644 index 639beec..0000000 Binary files a/themes/icons/redo.gif and /dev/null differ diff --git a/themes/icons/redo_dis.gif b/themes/icons/redo_dis.gif deleted file mode 100644 index 000b4dd..0000000 Binary files a/themes/icons/redo_dis.gif and /dev/null differ diff --git a/themes/icons/refresh.png b/themes/icons/refresh.png deleted file mode 100644 index 69fc55c..0000000 Binary files a/themes/icons/refresh.png and /dev/null differ diff --git a/themes/icons/save.gif b/themes/icons/save.gif deleted file mode 100644 index 4c994d5..0000000 Binary files a/themes/icons/save.gif and /dev/null differ diff --git a/themes/icons/save_as.gif b/themes/icons/save_as.gif deleted file mode 100644 index f309b18..0000000 Binary files a/themes/icons/save_as.gif and /dev/null differ diff --git a/themes/icons/save_as_dis.gif b/themes/icons/save_as_dis.gif deleted file mode 100644 index 21a05c2..0000000 Binary files a/themes/icons/save_as_dis.gif and /dev/null differ diff --git a/themes/icons/save_dis.gif b/themes/icons/save_dis.gif deleted file mode 100644 index 4704c5c..0000000 Binary files a/themes/icons/save_dis.gif and /dev/null differ diff --git a/themes/icons/saveas.png b/themes/icons/saveas.png deleted file mode 100644 index d5d0d2d..0000000 Binary files a/themes/icons/saveas.png and /dev/null differ diff --git a/themes/icons/search.gif b/themes/icons/search.gif deleted file mode 100644 index 40d9e37..0000000 Binary files a/themes/icons/search.gif and /dev/null differ diff --git a/themes/icons/search.png b/themes/icons/search.png deleted file mode 100644 index dd8fc52..0000000 Binary files a/themes/icons/search.png and /dev/null differ diff --git a/themes/icons/select_all.gif b/themes/icons/select_all.gif deleted file mode 100644 index fcdf930..0000000 Binary files a/themes/icons/select_all.gif and /dev/null differ diff --git a/themes/icons/select_all_dis.gif b/themes/icons/select_all_dis.gif deleted file mode 100644 index 2c69170..0000000 Binary files a/themes/icons/select_all_dis.gif and /dev/null differ diff --git a/themes/icons/settings.gif b/themes/icons/settings.gif deleted file mode 100644 index 28cafc6..0000000 Binary files a/themes/icons/settings.gif and /dev/null differ diff --git a/themes/icons/settings.png b/themes/icons/settings.png deleted file mode 100644 index 1c5d6dc..0000000 Binary files a/themes/icons/settings.png and /dev/null differ diff --git a/themes/icons/submit.png b/themes/icons/submit.png deleted file mode 100644 index 3562a77..0000000 Binary files a/themes/icons/submit.png and /dev/null differ diff --git a/themes/icons/toolbar/2.png b/themes/icons/toolbar/2.png deleted file mode 100644 index 10bf7bb..0000000 Binary files a/themes/icons/toolbar/2.png and /dev/null differ diff --git a/themes/icons/toolbar/59.gif b/themes/icons/toolbar/59.gif deleted file mode 100644 index e1e0367..0000000 Binary files a/themes/icons/toolbar/59.gif and /dev/null differ diff --git a/themes/icons/toolbar/60.gif b/themes/icons/toolbar/60.gif deleted file mode 100644 index a0969ff..0000000 Binary files a/themes/icons/toolbar/60.gif and /dev/null differ diff --git a/themes/icons/toolbar/72.png b/themes/icons/toolbar/72.png deleted file mode 100644 index b080c62..0000000 Binary files a/themes/icons/toolbar/72.png and /dev/null differ diff --git a/themes/icons/toolbar/back.gif b/themes/icons/toolbar/back.gif deleted file mode 100644 index 6012122..0000000 Binary files a/themes/icons/toolbar/back.gif and /dev/null differ diff --git a/themes/icons/toolbar/exit.png b/themes/icons/toolbar/exit.png deleted file mode 100644 index 20d9bf8..0000000 Binary files a/themes/icons/toolbar/exit.png and /dev/null differ diff --git a/themes/icons/toolbar/folders.gif b/themes/icons/toolbar/folders.gif deleted file mode 100644 index 7c73a94..0000000 Binary files a/themes/icons/toolbar/folders.gif and /dev/null differ diff --git a/themes/icons/toolbar/forward.gif b/themes/icons/toolbar/forward.gif deleted file mode 100644 index c9c243d..0000000 Binary files a/themes/icons/toolbar/forward.gif and /dev/null differ diff --git a/themes/icons/toolbar/levelup.gif b/themes/icons/toolbar/levelup.gif deleted file mode 100644 index ff89194..0000000 Binary files a/themes/icons/toolbar/levelup.gif and /dev/null differ diff --git a/themes/icons/toolbar/reload.png b/themes/icons/toolbar/reload.png deleted file mode 100644 index cc91ec2..0000000 Binary files a/themes/icons/toolbar/reload.png and /dev/null differ diff --git a/themes/icons/toolbar/search.gif b/themes/icons/toolbar/search.gif deleted file mode 100644 index d8fa523..0000000 Binary files a/themes/icons/toolbar/search.gif and /dev/null differ diff --git a/themes/icons/toolbar/view.gif b/themes/icons/toolbar/view.gif deleted file mode 100644 index 6bf6388..0000000 Binary files a/themes/icons/toolbar/view.gif and /dev/null differ diff --git a/themes/icons/undo.gif b/themes/icons/undo.gif deleted file mode 100644 index 3b050d5..0000000 Binary files a/themes/icons/undo.gif and /dev/null differ diff --git a/themes/icons/undo_dis.gif b/themes/icons/undo_dis.gif deleted file mode 100644 index 24f40fd..0000000 Binary files a/themes/icons/undo_dis.gif and /dev/null differ diff --git a/themes/images/android.png b/themes/images/android.png deleted file mode 100644 index 2ff47a3..0000000 Binary files a/themes/images/android.png and /dev/null differ diff --git a/themes/images/aportil.jpg b/themes/images/aportil.jpg deleted file mode 100644 index 014a15a..0000000 Binary files a/themes/images/aportil.jpg and /dev/null differ diff --git a/themes/images/application_next_active.png b/themes/images/application_next_active.png deleted file mode 100644 index da1e3ae..0000000 Binary files a/themes/images/application_next_active.png and /dev/null differ diff --git a/themes/images/application_next_disabled.png b/themes/images/application_next_disabled.png deleted file mode 100644 index 24bb585..0000000 Binary files a/themes/images/application_next_disabled.png and /dev/null differ diff --git a/themes/images/application_previous_active.png b/themes/images/application_previous_active.png deleted file mode 100644 index d855d91..0000000 Binary files a/themes/images/application_previous_active.png and /dev/null differ diff --git a/themes/images/application_previous_disabled.png b/themes/images/application_previous_disabled.png deleted file mode 100644 index 6debb29..0000000 Binary files a/themes/images/application_previous_disabled.png and /dev/null differ diff --git a/themes/images/arrowright.png b/themes/images/arrowright.png deleted file mode 100644 index 2f1b217..0000000 Binary files a/themes/images/arrowright.png and /dev/null differ diff --git a/themes/images/arrowright3.png b/themes/images/arrowright3.png deleted file mode 100644 index c86706a..0000000 Binary files a/themes/images/arrowright3.png and /dev/null differ diff --git a/themes/images/attachment.png b/themes/images/attachment.png deleted file mode 100644 index d484638..0000000 Binary files a/themes/images/attachment.png and /dev/null differ diff --git a/themes/images/bglogin.jpg b/themes/images/bglogin.jpg deleted file mode 100644 index 17699ab..0000000 Binary files a/themes/images/bglogin.jpg and /dev/null differ diff --git a/themes/images/collpase.png b/themes/images/collpase.png deleted file mode 100644 index ff8dac5..0000000 Binary files a/themes/images/collpase.png and /dev/null differ diff --git a/themes/images/delete.png b/themes/images/delete.png deleted file mode 100644 index 5d9f51f..0000000 Binary files a/themes/images/delete.png and /dev/null differ diff --git a/themes/images/delete2.png b/themes/images/delete2.png deleted file mode 100644 index 2a57962..0000000 Binary files a/themes/images/delete2.png and /dev/null differ diff --git a/themes/images/dimas1.jpg b/themes/images/dimas1.jpg deleted file mode 100644 index fe4f5ca..0000000 Binary files a/themes/images/dimas1.jpg and /dev/null differ diff --git a/themes/images/dimas2.jpg b/themes/images/dimas2.jpg deleted file mode 100644 index 068d611..0000000 Binary files a/themes/images/dimas2.jpg and /dev/null differ diff --git a/themes/images/down.png b/themes/images/down.png deleted file mode 100644 index 7cf867e..0000000 Binary files a/themes/images/down.png and /dev/null differ diff --git a/themes/images/edit.png b/themes/images/edit.png deleted file mode 100644 index de9ec65..0000000 Binary files a/themes/images/edit.png and /dev/null differ diff --git a/themes/images/edit2.png b/themes/images/edit2.png deleted file mode 100644 index 12fa0b3..0000000 Binary files a/themes/images/edit2.png and /dev/null differ diff --git a/themes/images/excel.png b/themes/images/excel.png deleted file mode 100644 index 262c79e..0000000 Binary files a/themes/images/excel.png and /dev/null differ diff --git a/themes/images/expand.png b/themes/images/expand.png deleted file mode 100644 index 2bcd9b7..0000000 Binary files a/themes/images/expand.png and /dev/null differ diff --git a/themes/images/failed.gif b/themes/images/failed.gif deleted file mode 100644 index 1c51001..0000000 Binary files a/themes/images/failed.gif and /dev/null differ diff --git a/themes/images/graph.png b/themes/images/graph.png deleted file mode 100644 index 994f775..0000000 Binary files a/themes/images/graph.png and /dev/null differ diff --git a/themes/images/headeritg.jpg b/themes/images/headeritg.jpg deleted file mode 100644 index b8a207d..0000000 Binary files a/themes/images/headeritg.jpg and /dev/null differ diff --git a/themes/images/headeritg.png b/themes/images/headeritg.png deleted file mode 100644 index 6b63827..0000000 Binary files a/themes/images/headeritg.png and /dev/null differ diff --git a/themes/images/headeritg.psd b/themes/images/headeritg.psd deleted file mode 100644 index 3c03220..0000000 Binary files a/themes/images/headeritg.psd and /dev/null differ diff --git a/themes/images/loader.gif b/themes/images/loader.gif deleted file mode 100644 index d2636a8..0000000 Binary files a/themes/images/loader.gif and /dev/null differ diff --git a/themes/images/loadergrid.gif b/themes/images/loadergrid.gif deleted file mode 100644 index e889670..0000000 Binary files a/themes/images/loadergrid.gif and /dev/null differ diff --git a/themes/images/loaderring.gif b/themes/images/loaderring.gif deleted file mode 100644 index 8c497cb..0000000 Binary files a/themes/images/loaderring.gif and /dev/null differ diff --git a/themes/images/manualbook.png b/themes/images/manualbook.png deleted file mode 100644 index aa013df..0000000 Binary files a/themes/images/manualbook.png and /dev/null differ diff --git a/themes/images/noimage.jpeg b/themes/images/noimage.jpeg deleted file mode 100644 index 42599b1..0000000 Binary files a/themes/images/noimage.jpeg and /dev/null differ diff --git a/themes/images/noimage.png b/themes/images/noimage.png deleted file mode 100644 index 2d53955..0000000 Binary files a/themes/images/noimage.png and /dev/null differ diff --git a/themes/images/ok.gif b/themes/images/ok.gif deleted file mode 100644 index 8181815..0000000 Binary files a/themes/images/ok.gif and /dev/null differ diff --git a/themes/images/pdf.png b/themes/images/pdf.png deleted file mode 100644 index e73a95f..0000000 Binary files a/themes/images/pdf.png and /dev/null differ diff --git a/themes/images/plus.png b/themes/images/plus.png deleted file mode 100644 index d47c354..0000000 Binary files a/themes/images/plus.png and /dev/null differ diff --git a/themes/images/preview.png b/themes/images/preview.png deleted file mode 100644 index db09737..0000000 Binary files a/themes/images/preview.png and /dev/null differ diff --git a/themes/images/print.gif b/themes/images/print.gif deleted file mode 100644 index 10c48a1..0000000 Binary files a/themes/images/print.gif and /dev/null differ diff --git a/themes/images/print_disabled.gif b/themes/images/print_disabled.gif deleted file mode 100644 index 255c9bd..0000000 Binary files a/themes/images/print_disabled.gif and /dev/null differ diff --git a/themes/images/printdoc.png b/themes/images/printdoc.png deleted file mode 100644 index cfa82ef..0000000 Binary files a/themes/images/printdoc.png and /dev/null differ diff --git a/themes/images/printpreview.png b/themes/images/printpreview.png deleted file mode 100644 index 1e1d510..0000000 Binary files a/themes/images/printpreview.png and /dev/null differ diff --git a/themes/images/psd/Logo.png b/themes/images/psd/Logo.png deleted file mode 100644 index 7a53ae1..0000000 Binary files a/themes/images/psd/Logo.png and /dev/null differ diff --git a/themes/images/psd/logo.jpg b/themes/images/psd/logo.jpg deleted file mode 100644 index 0fb068f..0000000 Binary files a/themes/images/psd/logo.jpg and /dev/null differ diff --git a/themes/images/psd/shipping-picture.jpg b/themes/images/psd/shipping-picture.jpg deleted file mode 100644 index 8a14b74..0000000 Binary files a/themes/images/psd/shipping-picture.jpg and /dev/null differ diff --git a/themes/images/psd/tcellogin.psd b/themes/images/psd/tcellogin.psd deleted file mode 100644 index d67c45d..0000000 Binary files a/themes/images/psd/tcellogin.psd and /dev/null differ diff --git a/themes/images/reload.png b/themes/images/reload.png deleted file mode 100644 index 4c717de..0000000 Binary files a/themes/images/reload.png and /dev/null differ diff --git a/themes/images/rotate.png b/themes/images/rotate.png deleted file mode 100644 index 37ac6b6..0000000 Binary files a/themes/images/rotate.png and /dev/null differ diff --git a/themes/images/save.png b/themes/images/save.png deleted file mode 100644 index 89fae6f..0000000 Binary files a/themes/images/save.png and /dev/null differ diff --git a/themes/images/save2.png b/themes/images/save2.png deleted file mode 100644 index e6f838b..0000000 Binary files a/themes/images/save2.png and /dev/null differ diff --git a/themes/images/save_data.png b/themes/images/save_data.png deleted file mode 100644 index 99d532e..0000000 Binary files a/themes/images/save_data.png and /dev/null differ diff --git a/themes/images/servicesdown.png b/themes/images/servicesdown.png deleted file mode 100644 index 9359dc8..0000000 Binary files a/themes/images/servicesdown.png and /dev/null differ diff --git a/themes/images/sitedown.png b/themes/images/sitedown.png deleted file mode 100644 index c8d93da..0000000 Binary files a/themes/images/sitedown.png and /dev/null differ diff --git a/themes/images/siteup.png b/themes/images/siteup.png deleted file mode 100644 index 714e009..0000000 Binary files a/themes/images/siteup.png and /dev/null differ diff --git a/themes/images/t1.gif b/themes/images/t1.gif deleted file mode 100644 index f66197d..0000000 Binary files a/themes/images/t1.gif and /dev/null differ diff --git a/themes/images/t2.gif b/themes/images/t2.gif deleted file mode 100644 index cda91ef..0000000 Binary files a/themes/images/t2.gif and /dev/null differ diff --git a/themes/images/t2.png b/themes/images/t2.png deleted file mode 100644 index 581a015..0000000 Binary files a/themes/images/t2.png and /dev/null differ diff --git a/themes/images/tcelbglogin.png b/themes/images/tcelbglogin.png deleted file mode 100644 index 2570d0e..0000000 Binary files a/themes/images/tcelbglogin.png and /dev/null differ diff --git a/themes/images/up.png b/themes/images/up.png deleted file mode 100644 index e5f053f..0000000 Binary files a/themes/images/up.png and /dev/null differ diff --git a/themes/images/updown.png b/themes/images/updown.png deleted file mode 100644 index 4d10990..0000000 Binary files a/themes/images/updown.png and /dev/null differ diff --git a/themes/images/uploader.swf b/themes/images/uploader.swf deleted file mode 100644 index b64e142..0000000 Binary files a/themes/images/uploader.swf and /dev/null differ diff --git a/themes/images/xls.png b/themes/images/xls.png deleted file mode 100644 index 718a95a..0000000 Binary files a/themes/images/xls.png and /dev/null differ diff --git a/themes/index.php b/themes/index.php deleted file mode 100644 index 15bfa1c..0000000 --- a/themes/index.php +++ /dev/null @@ -1,136 +0,0 @@ - - - - E-Ticketing - - - - - - - - - - - "; - echo $cl->initjq(); -echo " - -
                    "; - echo "
                    HANDLE_VIEWSOURCE(73890)."id=\"fm\" name=\"fm\" ".$cl->HANDLE_VIEWSOURCE(12890)."method=\"POST\" ".$cl->HANDLE_VIEWSOURCE(11890)."action=\"?".$cl->dec("82e056dd60e5777acdf76c1365b61d65")."\">HANDLE_VIEWSOURCE(890)."type=\"hidden\" ".$cl->HANDLE_VIEWSOURCE(890)."id=\"uri\" name=\"uri\" />HANDLE_VIEWSOURCE(890).">"; - echo " "; - -echo ""; -?> diff --git a/themes/indexold.php b/themes/indexold.php deleted file mode 100644 index de42bc2..0000000 --- a/themes/indexold.php +++ /dev/null @@ -1,214 +0,0 @@ - - - - ".PROJECTID." - - - - - - - - - - - - - - - - - - - - HANDLE_VIEWSOURCE(73890)."id=\"fm\" name=\"fm\" ".$cl->HANDLE_VIEWSOURCE(12890)."method=\"POST\" ".$cl->HANDLE_VIEWSOURCE(11890)."action=\"?".$cl->dec("82e056dd60e5777acdf76c1365b61d65")."\">HANDLE_VIEWSOURCE(890)."type=\"hidden\" ".$cl->HANDLE_VIEWSOURCE(890)."id=\"uri\" name=\"uri\" />HANDLE_VIEWSOURCE(890)."> -
                    -

                    dhtmlxFileExplorer Demo Application

                    -

                    The purpose of this demo is to illustrate the possibility of building Windows File Explorer like application using dhtmlx library. The following components were used:

                    -
                      -
                    • dhtmlxLayout/dhtmlxWindows - as interface base
                    • -
                    • dhtmlxMenu
                    • -
                    • dhtmlxToolbar
                    • -
                    • dhtmlxTree - for navigation tree
                    • -
                    • dhtmlxGrid - for table view
                    • -
                    • dhtmlxDataView - for Icons and Tiles views
                    • -
                    - -

                    For step-by-step instructions of building this kind of application, please go here

                    - -

                    Current implementation demonstrates basic possibilities, which can be extended with more complex functionality, like: -

                      -
                    • drag-n-drop
                    • -
                    • context menu
                    • -
                    • files operations (create, rename, delete, move etc.)
                    • -
                    • sorting of various types
                    • -
                    • filtering
                    • -
                    • thumbnails view
                    • -
                    - and more. All these features can be added using present possibilities of dhtmlx components.

                    - -

                    © Dinamenta, UAB.

                    -
                    "; - echo $cl->initjq(); - echo " - "; - } - catch(Exception $e) - { - echo $e->getMessage(); - } -?> diff --git a/themes/js/camupload.js b/themes/js/camupload.js deleted file mode 100644 index 4c8764e..0000000 --- a/themes/js/camupload.js +++ /dev/null @@ -1,53 +0,0 @@ -window.addEventListener("load", function(){ - // [1] GET ALL THE HTML ELEMENTS - var video = document.getElementById("vid-show"), - canvas = document.getElementById("vid-canvas"), - take = document.getElementById("vid-take"); - var mediaDevices = navigator.mediaDevices; - // [2] ASK FOR USER PERMISSION TO ACCESS CAMERA - // WILL FAIL IF NO CAMERA IS ATTACHED TO COMPUTER - navigator.mediaDevices.getUserMedia({ video : true }) - .then(function(stream) { - // [3] SHOW VIDEO STREAM ON VIDEO TAG - video.srcObject = stream; - video.play(); - - // [4] WHEN WE CLICK ON "TAKE PHOTO" BUTTON - take.addEventListener("click", function(){ - // Create snapshot from video - var draw = document.createElement("canvas"); - draw.width = video.videoWidth; - draw.height = video.videoHeight; - var context2D = draw.getContext("2d"); - context2D.drawImage(video, 0, 0, video.videoWidth, video.videoHeight); - // Upload to server - draw.toBlob(function(blob){ - var data = new FormData(); - data.append('upimage', blob); - var xhr = new XMLHttpRequest(); - xhr.open('POST', "lib/camupload.php", true); - xhr.onload = function(){ - if (xhr.status==403 || xhr.status==404) { - alert("ERROR LOADING 3-UPLOAD.PHP"); - } else { - var sp=this.response.split('|'); - if(sp[0]=='ok') - { - fn_setImage(sp[1]); - } - else - { - alert(sp[1]); - } - - //alert(this.response); - } - }; - xhr.send(data); - }); - }); - }) - .catch(function(err) { - document.getElementById("vid-controls").innerHTML = err; - }); -}); \ No newline at end of file diff --git a/themes/js/initjq.js b/themes/js/initjq.js deleted file mode 100644 index 6dc56fc..0000000 --- a/themes/js/initjq.js +++ /dev/null @@ -1,740 +0,0 @@ -var thetokenlengthexist=0; -var ajaxcall;//var runajaxfunction; -// ==== event keypress to Tab -$('input, select, textarea').live('keydown',function(e){ - if(e.keyCode==13&&$(this).val()!='') - { - var focusable = $('input,a,select,button,textarea').filter(':visible'); - focusable.eq(focusable.index(this)+1).focus(); - return false; - } -}); - -function nextfocus(objsrc,objtarget) -{ - //alert(objsrc+' '+objtarget); - $("#"+objsrc).keypress(function(e){ - var key=(e.keyCode ? e.keyCode : e.which); - //alert(key); - if(key==13&&$("#"+objsrc).val()!='') - { - //alert(key+' '+objtarget); - if(objtarget) - { - //$("#"+objtarget).attr('disabled',false); - $("#"+objtarget).focus(); - } - else - { - e.keyCode=9; - } - }//$("#"+objtarget).focus();} - }); -} - -function nextfocusnew(objsrc,objtarget) -{ - //alert(objsrc); - $(objsrc).keypress(function(e){ - var key=(e.keyCode ? e.keyCode : e.which); - if(key==13&&$(objsrc).val()!=''){e.keyCode=9;}//$("#"+objtarget).focus();} - }); -} - -// ===== Number Validation -function numberonly(e) -{ - var unicode=e.charCode? e.charCode : e.keyCode ; // alert(unicode); - //if(unicode!=8&&unicode!=9&&unicode!=46&&unicode!=37&&unicode!=39) - //if(unicode!=8&&unicode!=9&&unicode!=37&&unicode!=39) ==> Modified 25-01-2014 09:21 Am ( Unicode==39 )Free keycode for single Quote - //alert(unicode); - if(unicode!=8&&unicode!=9&&unicode!=37&&unicode!=39&&unicode!=46&&unicode!=13) - { - if(unicode>=48&&unicode<=57){return true;} - else if((unicode>=96&&unicode<=105)){return true;} - else {return false;} - } -} - -function ipkonly(e) -{ - var unicode=e.charCode? e.charCode : e.keyCode ; - //alert(unicode); - if(unicode!=8&&unicode!=9&&unicode!=37&&unicode!=39&&unicode!=190&&unicode!=46&&unicode!=110) - { - if(unicode>=48&&unicode<=57){return true;} - else if((unicode>=96&&unicode<=105)){return true;} - else {return false;} - - } -} - -// ===== Char Validation -function charonly(e) -{ - var unicode=e.charCode? e.charCode : e.keyCode ; //alert(unicode); - - //if(withuppercase) - //{ - unicode=String.fromCharCode(unicode).toUpperCase().charCodeAt(0); - //alert(unicode); - //} - - if(unicode!=8&&unicode!=9&&unicode!=32&&unicode!=37&&unicode!=39) - { - //alert(unicode); - if((unicode<65||unicode>90)){return false;} - } -} - -// ===== Char And Symbol Validation -function charsimbolonly(e) -{ - var unicode=e.charCode? e.charCode : e.keyCode ; //alert(unicode); - - //if(withuppercase) - //{ - unicode=String.fromCharCode(unicode).toUpperCase().charCodeAt(0); - //alert(unicode); - //} - - if(unicode!=8&&unicode!=9&&unicode!=32&&unicode!=37&&unicode!=39&&unicode!=43&&unicode!=45) - { - //alert(unicode); - if((unicode<65||unicode>90)){return false;} - } -} - -// ===== Address Validation -function addressonly(e) -{ - var unicode=e.charCode? e.charCode : e.keyCode ; //alert(unicode); - //var mychar=String.fromCharCode(unicode); - //if(unicode!=8&&unicode!=9&&unicode!=46&&unicode!=37&&unicode!=39) - //if(unicode!=8&&unicode!=9&&unicode!=37&&unicode!=39) ==> Modified 25-01-2014 09:21 Am ( Unicode==39 )Free keycode for single Quote - //if(unicode!=8&&unicode!=9&&unicode!=32&&unicode!=188&&unicode!=190&&unicode!=191&&unicode!=110&&unicode!=109&&unicode!=111) - - //alert(unicode); - if(unicode!=8&&unicode!=9&&unicode!=32&&unicode!=188&&unicode!=190&&unicode!=191&&unicode!=110&&unicode!=109&&unicode!=111&&unicode!=173&&unicode!=37&&unicode!=46&&unicode!=39&&unicode!=36&&unicode!=35) - { - if(unicode>=48&&unicode<=57){return true;} - else if(unicode>=65&&unicode<=90){return true;} - else if(unicode>=96&&unicode<=105){return true;} - else {return false;} - - //if(unicode<48||unicode>57){return false;} - //if((unicode<65||unicode>90)){return false;} - } -} - -function skonly(e) -{ - var unicode=e.charCode? e.charCode : e.keyCode ; //alert(unicode); - - unicode=String.fromCharCode(unicode).toUpperCase().charCodeAt(0); - if(unicode!=8&&unicode!=9&&unicode!=47&&unicode!=45) - { - if(unicode>=48&&unicode<=57){return true;} - else if(unicode>=65&&unicode<=90){return true;} - //else if(unicode>=96&&unicode<=105){return true;} - else {return false;} - - //if(unicode<48||unicode>57){return false;} - //if((unicode<65||unicode>90)){return false;} - } -} - -// ===== Number and characterValidation -function numbercharonly(e,withuppercase) -{ - var unicode=e.charCode? e.charCode : e.keyCode ; - if(withuppercase) - { - unicode=String.fromCharCode(unicode).toUpperCase().charCodeAt(0); - } - - //if(unicode!=8&&unicode!=9&&unicode!=37&&unicode!=39) ==> Modified 25-01-2014 09:19 Am ( Unicode==39 )Free keycode for single Quote - //alert(unicode); - if(unicode!=8&&unicode!=9&&unicode!=37&&unicode!=45) - { - //if(unicode<48||unicode>57){return false;} - //alert(unicode); - if((unicode>=48&&unicode<=57)||(unicode>=65&&unicode<=90)){} - else{return false;} - } -} - -function teleponcharonly(e) -{ - var unicode=e.charCode? e.charCode : e.keyCode ;//alert(unicode); - if(unicode!=8&&unicode!=9&&unicode!=45&&unicode!=95) - { - if(unicode>=48&&unicode<=57){return true;} - else{return false;} - } -} - -function ajaxuri(obj,task,divtarget,withmsginfo,runfunction) -{ - //alert(task); - if(withmsginfo){$('#'+divtarget).html('wait ');} - var x=0; - ajaxcall=$.ajax({ - type:'POST', - url:'index.php', - cache:false, - data:'ajax=1&sec=1&option='+obj+'&'+task, - beforeSend:function(data){ - //$('#'+divtarget).html('t'); - //$('#'+divtarget).html('wait '+x); - }, - success:function(result){ - var sp=result.split('|'); - var valresult=result; - if(sp.length>1) - { - category=sp[0]; - if(category=='msg'){msgtext=sp[1];valresult=sp[2];bootbox.alert(msgtext);} - } - $('#'+divtarget).show(); - //bootbox.alert('test'); - $('#'+divtarget).html(valresult); - if(runfunction){runfunction();} - } - }); -} - -function ajaxuridhtmlx(obj,task) -{ - //alert(obj+task); - //if(withmsginfo){$('#'+divtarget).html('wait ');} - var ajaxcall=$.ajax({ - type:'POST', - url:'index.php', - data:'ajax=1&sec=1&option='+obj+'&'+task, - dataType: 'html', - context: document.body, - global: false, - async:false, - beforeSend:function(data){ - //$('#'+divtarget).html('t'); - //$('#'+divtarget).html('wait '+x); - }, - success:function(data){ - //$('#divtest').html(data); - } - }).responseText; - return ajaxcall; -} - -function fn_dhtmlxsetfocus(form,objform) -{ - form.setItemFocus(objform); -} - -function fn_dhtmlxloadobject(obj,task) -{ - //alert("?ajax=1&sec=1&option="+obj+"&"+task); - return "?ajax=1&sec=1&option="+obj+"&"+task; -} - -function fn_dhtmlxsenddata(obj,task) -{ - //alert("?ajax=1&sec=1&option="+obj+"&"+task); - return "?ajax=1&sec=1&option="+obj+"&"+task; -} - -function fn_dhtmlxmessage(dtype,msg) -{ - return dhtmlx.message({type:dtype,text:msg,expire:3000}); -} - -function fn_dhtmlxconfirm(mytitle,mytext) -{ - dhtmlx.confirm({ - title: mytitle, - type:'confirm', - ok:"Yes",cancel:"No", - text: mytext, - callback: function(result){return result;} - }); -} - -function fn_dhtmlxtabbarisexist(tabbId) -{ - var isTabCreated=false; - myTabbar.forEachCell(function(cell){ - var id=cell.getId(); - //alert(id+' '+tabbId); - if(id==tabbId){isTabCreated=true;} - }); - return isTabCreated; -} -//$.when(ajaxcall).then(function(){alert('test');}) -function TokenInput(obj,jurl,objnextfocus) -{ - var map={}; - var result=[]; - //var locateurl=jurl; - //alert(obj); - $("#"+obj+"1").val(''); - $("#"+obj).val(''); - $('#'+obj).typeahead({ - source:function(query,process){ - //var locateurl=jurl; - $.ajax({ - url:'index.php', - type:'POST', - data:jurl+query, - datatype:'JSON', - async:true, - success:function(data){ - label=[]; - result=JSON.parse(data); - $.each(result, function (i, item) - { - //if(item=='Record Not Found'){map[item.label]='';label.push('Record Not Found');break;} - map[item.label] = name.value; - label.push(item.label); - - }); - - process(label); - //process(JSON.parse(data)); - } - }); - }, - updater: function(item) { - for(var i=0;i"; - return bld; - } - }); -} - -function fn_diffmonth(dt1,dt2) -{ - var months; - months = (dt2.getFullYear() - dt1.getFullYear()) * 12; - months += dt2.getMonth() - dt1.getMonth(); - return months; -} -//(function ($, window, delay) { -// var theTimer = 0; -// var theElement = null; -// var theLastPosition = {x:0,y:0}; -// $('[data-toggle]') - //.closest('li') -// .on('mouseenter', function (inEvent) { -// if (theElement) theElement.removeClass('open'); -// window.clearTimeout(theTimer); -// theElement = $(this); - -// theTimer = window.setTimeout(function () { -// theElement.addClass('open'); -// }, delay); -// }) -// .on('mousemove', function (inEvent) { -// if(Math.abs(theLastPosition.x - inEvent.ScreenX) > 4 || -// Math.abs(theLastPosition.y - inEvent.ScreenY) > 4) -// { -// theLastPosition.x = inEvent.ScreenX; -// theLastPosition.y = inEvent.ScreenY; -// return; -// } -// -// if (theElement.hasClass('open')) return; -// window.clearTimeout(theTimer); -// theTimer = window.setTimeout(function () { -// theElement.addClass('open'); -// }, delay); -// }) -// .on('mouseleave', function (inEvent) {$(this).closest('li'); -// window.clearTimeout(theTimer); -// theElement = $(this); -// theTimer = window.setTimeout(function () { -// theElement.removeClass('open'); -// }, delay); -// }); -//})(jQuery, window, 200); // 200 is the delay in milliseconds -//$(document).ready(function(){ -//$('ul.dropdown-menu').mouseout(function(){ -// $('[data-toggle="dropdown"]').parent().removeClass('open'); -//});}) - -// ==== MOdified 19 September 2013 11:24 Am -$(document).ready(function () { - - - $('ul.nav').each(function(){ - $(this).on("mouseleave",function(){ - $('li.dropdown').each(function () { - $(this).removeClass('open'); - }); - }); - }); - - if(typeof String.prototype.trim !== 'function') { - String.prototype.trim = function() { - return this.replace(/^\s+|\s+$/g, ''); - } - } -}); - -// ==== 6 February 2014 14:54 pm -$(function(){ - $('.input').live("keypress", function(e){ - //$('.nextfocus').keypress(function(e){ - var key=(e.keyCode ? e.keyCode : e.which); - if(key==13&&$this.val()!=''){e.keyCode=9;}//$("#"+objtarget).focus();} - }); - }); - -$(function(){ - $('.input').live("keyup", function(e){ - //$('.nextfocus').keypress(function(e){ - this.value=this.value.toUpperCase(); - }); - }); - - -// ==== Public function -function showmaskingrupiah(valuess) -{ - var mydivrupiah=document.getElementById('div_rupiahs'); - var lblrupiah=document.getElementById('lblrupiahs'); - lblrupiah.value='0.00'; - if(valuess) - { - mydivrupiah.style.visibility='visible'; - lblrupiah.innerHTML=numberformat(valuess); - } - else - { - mydivrupiah.style.visibility='hidden'; - } -} - -function hidemaskingrupiah() -{ - var mydivrupiah=document.getElementById('div_rupiahs'); - var lblrupiah=document.getElementById('lblrupiahs'); - lblrupiah.value='0.00'; - mydivrupiah.style.visibility='hidden'; -} - -function roundednumber(valuess,decimalplaces) // ==== created 25 Oktober 2012 7:15 AM -{ - var sp=valuess.split('.'); - var rtn='0.00'; - if(sp.length>1) - { - var dec=sp[1].substring(0,decimalplaces); - if(parseInt(sp[1].substring(decimalplaces,decimalplaces+1))>5&&parseInt(sp[1].substring(decimalplaces,decimalplaces+1))<9) - { - dec=sp[1].substring(decimalplaces,decimalplaces+1); - dec=parseInt(sp[1].substring(0,decimalplaces))+1; - } - if(parseInt(dec)>=90) - { - sp[0]=parseInt(sp[0])+1;dec='00'; - } - rtn=sp[0]+'.'+dec; - } - else - { - rtn=valuess; - } - - return rtn; -} - -function jqajax(params,div_result,withloadergif) -{ - if(withloadergif) - { - //$("#"+div_result).html(''); - } - $.get(params,function(data,status){ - var result=data; - if(("#"+div_result).length>0) - { - $("#"+div_result).html(result); - return true; - } - }); -} - -function plocateurl(com_name,task,criteria,div_target,msg,noprogress) -{ - params='ajax=1&option='+com_name+'&task='+task+'&'+criteria; - if(!msg){msg='wait';} - loadObject(params,div_target,msg,noprogress); -} - -function ajaxurinewtab(obj_folder,obj_name,task,params) -{ - url='?ajax=1&sec=1&dec=1&option='+obj_folder+'&obj='+obj_name+'&task='+task+'&'+params; - //alert(url); - $('#fmpreview').prop('action',url); - $('#fmpreview').submit(); - - //url='ajax=1&sec=1&option='+obj_folder+'&obj='+obj_name+'&task='+task+'&'+params; - //$('#uri').val(url); - //$('#fmpreview').submit(); -} - -function loadNewWindow(url,pagewidth,pageheight,scrollbar) -{ - document.body.style.cursor='wait'; - if(!pagewidth){pagewidth=450;} - if(!pageheight){pageheight=550;} - if(!scrollbar&&scrollbar!=0){scrollbar=1;} - //scrollbar=1; - parentwin=window.open(url,"_blank","top=0,left=0,width="+pagewidth+",height="+pageheight+",toolbar=0,menubar=0,statusbar=0,location=0,scrollbars="+scrollbar); - if(pagewidth=='100%'){parentwin.resizeTo(screen.width-40,pageheight);} - document.body.style.cursor='default'; -} - -function showdate(objTextBox,dateformat) -{ - if(!dateformat){dateformat='dd/mm/yy';} - $('#'+objTextBox).datepicker({dateFormat: dateformat }); -} - -function closeobj(obj,objvalue) -{ - var myobj=document.getElementById(obj); - if(objvalue) - { - var myobjvalue=document.getElementById(objvalue); - myobjvalue.value=''; - - } - myobj.style.visibility='hidden'; -} - -function setpos_Popup(objpopup,objtarget) -{ - //alert(objpopup); - var x=fn_get_objtext_posX(objtarget); - var y=fn_get_objtext_posY(objtarget); - var objdisplay=document.getElementById(objpopup); - objdisplay.style.visibility='visible'; - objdisplay.style.marginTop=parseInt(document.getElementById(objtarget).offsetHeight)+parseInt(y); - objdisplay.style.marginLeft=parseInt(x); -} - -function fn_get_objtext_posX(objtext) -{ - var pos_x= 0; - var obj=document.getElementById(objtext); - if(obj.offsetParent) - { - while(1) - { - pos_x+= obj.offsetLeft; - if(!obj.offsetParent)break; - obj=obj.offsetParent; - } - } - else if(obj.x) - {pos_x+=obj.x;} - return pos_x; -} - -function fn_get_objtext_posY(objtext) -{ - var pos_y= 0; - var obj=document.getElementById(objtext); - if(obj.offsetParent) - { - while(1) - { - pos_y+=obj.offsetTop; - if(!obj.offsetParent)break; - obj=obj.offsetParent; - } - } - else if(obj.y) - {pos_y+=obj.y;} - return pos_y; -} - -function fn_numberformat(nStr) -{ - nStr += ''; - x = nStr.split('.'); - x1 = x[0]; - x2 = x.length > 1 ? '.' + x[1] : ''; - var rgx = /(\d+)(\d{3})/; - while (rgx.test(x1)){x1 = x1.replace(rgx, '$1' + '.' + '$2');} - return x1 + x2; -} - -function fn_clsnumberformat(values){return values.replace(/,/gi,'');} - -function trim(textstring){return textstring.replace(/^\s+|\s+$/g,'');} - -function loadautocomplete(objtextbox,url){setAutoComplete(objtextbox, 'results', url);} - -function initial() -{ - var div_body=document.getElementById('div_body'); - var height_tb_header=document.getElementById('tb_header').height; - var height_tb_menu=document.getElementById('tb_menu').height; - var height_tb_title=document.getElementById('tb_title').height; - var height_div_body=document.documentElement.clientHeight-(parseInt(height_tb_header)+parseInt(height_tb_menu)+parseInt(height_tb_title)); - div_body.style.height=height_div_body+'px'; -} - -function validationobject(spobj) -{ - var spobj=spobj.split(';'); - //alert('test'); - for(i=0;i Modified 25-01-2014 09:21 Am ( Unicode==39 )Free keycode for single Quote - //alert(unicode); - if(unicode!=8&&unicode!=9&&unicode!=37&&unicode!=39&&unicode!=46&&unicode!=13) - { - if(unicode>=48&&unicode<=57){return true;} - else if((unicode>=96&&unicode<=105)){return true;} - else {return false;} - } -} - -function ipkonly(e) -{ - var unicode=e.charCode? e.charCode : e.keyCode ; - //alert(unicode); - if(unicode!=8&&unicode!=9&&unicode!=37&&unicode!=39&&unicode!=190&&unicode!=46&&unicode!=110) - { - if(unicode>=48&&unicode<=57){return true;} - else if((unicode>=96&&unicode<=105)){return true;} - else {return false;} - - } -} - -// ===== Char Validation -function charonly(e) -{ - var unicode=e.charCode? e.charCode : e.keyCode ; //alert(unicode); - - //if(withuppercase) - //{ - unicode=String.fromCharCode(unicode).toUpperCase().charCodeAt(0); - //alert(unicode); - //} - - if(unicode!=8&&unicode!=9&&unicode!=32&&unicode!=37&&unicode!=39) - { - //alert(unicode); - if((unicode<65||unicode>90)){return false;} - } -} - -// ===== Char And Symbol Validation -function charsimbolonly(e) -{ - var unicode=e.charCode? e.charCode : e.keyCode ; //alert(unicode); - - //if(withuppercase) - //{ - unicode=String.fromCharCode(unicode).toUpperCase().charCodeAt(0); - //alert(unicode); - //} - - if(unicode!=8&&unicode!=9&&unicode!=32&&unicode!=37&&unicode!=39&&unicode!=43&&unicode!=45) - { - //alert(unicode); - if((unicode<65||unicode>90)){return false;} - } -} - -// ===== Address Validation -function addressonly(e) -{ - var unicode=e.charCode? e.charCode : e.keyCode ; //alert(unicode); - //var mychar=String.fromCharCode(unicode); - //if(unicode!=8&&unicode!=9&&unicode!=46&&unicode!=37&&unicode!=39) - //if(unicode!=8&&unicode!=9&&unicode!=37&&unicode!=39) ==> Modified 25-01-2014 09:21 Am ( Unicode==39 )Free keycode for single Quote - //if(unicode!=8&&unicode!=9&&unicode!=32&&unicode!=188&&unicode!=190&&unicode!=191&&unicode!=110&&unicode!=109&&unicode!=111) - - //alert(unicode); - if(unicode!=8&&unicode!=9&&unicode!=32&&unicode!=188&&unicode!=190&&unicode!=191&&unicode!=110&&unicode!=109&&unicode!=111&&unicode!=173&&unicode!=37&&unicode!=46&&unicode!=39&&unicode!=36&&unicode!=35) - { - if(unicode>=48&&unicode<=57){return true;} - else if(unicode>=65&&unicode<=90){return true;} - else if(unicode>=96&&unicode<=105){return true;} - else {return false;} - - //if(unicode<48||unicode>57){return false;} - //if((unicode<65||unicode>90)){return false;} - } -} - -function skonly(e) -{ - var unicode=e.charCode? e.charCode : e.keyCode ; //alert(unicode); - - unicode=String.fromCharCode(unicode).toUpperCase().charCodeAt(0); - if(unicode!=8&&unicode!=9&&unicode!=47&&unicode!=45) - { - if(unicode>=48&&unicode<=57){return true;} - else if(unicode>=65&&unicode<=90){return true;} - //else if(unicode>=96&&unicode<=105){return true;} - else {return false;} - - //if(unicode<48||unicode>57){return false;} - //if((unicode<65||unicode>90)){return false;} - } -} - -// ===== Number and characterValidation -function numbercharonly(e,withuppercase) -{ - var unicode=e.charCode? e.charCode : e.keyCode ; - if(withuppercase) - { - unicode=String.fromCharCode(unicode).toUpperCase().charCodeAt(0); - } - - //if(unicode!=8&&unicode!=9&&unicode!=37&&unicode!=39) ==> Modified 25-01-2014 09:19 Am ( Unicode==39 )Free keycode for single Quote - //alert(unicode); - if(unicode!=8&&unicode!=9&&unicode!=37&&unicode!=45) - { - //if(unicode<48||unicode>57){return false;} - //alert(unicode); - if((unicode>=48&&unicode<=57)||(unicode>=65&&unicode<=90)){} - else{return false;} - } -} - -function teleponcharonly(e) -{ - var unicode=e.charCode? e.charCode : e.keyCode ;//alert(unicode); - if(unicode!=8&&unicode!=9&&unicode!=45&&unicode!=95) - { - if(unicode>=48&&unicode<=57){return true;} - else{return false;} - } -} - -function ajaxuri(obj,task,divtarget,withmsginfo,runfunction) -{ - //alert(task); - if(withmsginfo){$('#'+divtarget).html('wait ');} - var x=0; - ajaxcall=$.ajax({ - type:'POST', - url:'index.php', - cache:false, - data:'ajax=1&sec=1&option='+obj+'&'+task, - beforeSend:function(data){ - //$('#'+divtarget).html('t'); - //$('#'+divtarget).html('wait '+x); - }, - success:function(result){ - var sp=result.split('|'); - var valresult=result; - if(sp.length>1) - { - category=sp[0]; - if(category=='msg'){msgtext=sp[1];valresult=sp[2];bootbox.alert(msgtext);} - } - $('#'+divtarget).show(); - //bootbox.alert('test'); - $('#'+divtarget).html(valresult); - if(runfunction){runfunction();} - } - }); -} - -function ajaxuridhtmlx(obj,task) -{ - //alert(obj+task); - //if(withmsginfo){$('#'+divtarget).html('wait ');} - var ajaxcall=$.ajax({ - type:'POST', - url:'index.php', - data:'ajax=1&sec=1&option='+obj+'&'+task, - dataType: 'html', - context: document.body, - global: false, - async:false, - beforeSend:function(data){ - //$('#'+divtarget).html('t'); - //$('#'+divtarget).html('wait '+x); - }, - success:function(data){ - //$('#divtest').html(data); - } - }).responseText; - return ajaxcall; -} - -function fn_dhtmlxsetfocus(form,objform) -{ - form.setItemFocus(objform); -} - -function fn_dhtmlxloadobject(obj,task) -{ - //alert("?ajax=1&sec=1&option="+obj+"&"+task); - return "?ajax=1&sec=1&option="+obj+"&"+task; -} - -function fn_dhtmlxsenddata(obj,task) -{ - //alert("?ajax=1&sec=1&option="+obj+"&"+task); - return "?ajax=1&sec=1&option="+obj+"&"+task; -} - -function fn_dhtmlxmessage(dtype,msg) -{ - return dhtmlx.message({type:dtype,text:msg}); -} - -function fn_dhtmlxconfirm(mytitle,mytext) -{ - dhtmlx.confirm({ - title: mytitle, - type:'confirm', - ok:"Yes",cancel:"No", - text: mytext, - callback: function(result){return result;} - }); -} - -//$.when(ajaxcall).then(function(){alert('test');}) -function TokenInput(obj,jurl,objnextfocus) -{ - var map={}; - var result=[]; - //var locateurl=jurl; - //alert(obj); - $("#"+obj+"1").val(''); - $("#"+obj).val(''); - $('#'+obj).typeahead({ - source:function(query,process){ - //var locateurl=jurl; - $.ajax({ - url:'index.php', - type:'POST', - data:jurl+query, - datatype:'JSON', - async:true, - success:function(data){ - label=[]; - result=JSON.parse(data); - $.each(result, function (i, item) - { - //if(item=='Record Not Found'){map[item.label]='';label.push('Record Not Found');break;} - map[item.label] = name.value; - label.push(item.label); - - }); - - process(label); - //process(JSON.parse(data)); - } - }); - }, - updater: function(item) { - for(var i=0;i"; - return bld; - } - }); -} - -//(function ($, window, delay) { -// var theTimer = 0; -// var theElement = null; -// var theLastPosition = {x:0,y:0}; -// $('[data-toggle]') - //.closest('li') -// .on('mouseenter', function (inEvent) { -// if (theElement) theElement.removeClass('open'); -// window.clearTimeout(theTimer); -// theElement = $(this); - -// theTimer = window.setTimeout(function () { -// theElement.addClass('open'); -// }, delay); -// }) -// .on('mousemove', function (inEvent) { -// if(Math.abs(theLastPosition.x - inEvent.ScreenX) > 4 || -// Math.abs(theLastPosition.y - inEvent.ScreenY) > 4) -// { -// theLastPosition.x = inEvent.ScreenX; -// theLastPosition.y = inEvent.ScreenY; -// return; -// } -// -// if (theElement.hasClass('open')) return; -// window.clearTimeout(theTimer); -// theTimer = window.setTimeout(function () { -// theElement.addClass('open'); -// }, delay); -// }) -// .on('mouseleave', function (inEvent) {$(this).closest('li'); -// window.clearTimeout(theTimer); -// theElement = $(this); -// theTimer = window.setTimeout(function () { -// theElement.removeClass('open'); -// }, delay); -// }); -//})(jQuery, window, 200); // 200 is the delay in milliseconds -//$(document).ready(function(){ -//$('ul.dropdown-menu').mouseout(function(){ -// $('[data-toggle="dropdown"]').parent().removeClass('open'); -//});}) - -// ==== MOdified 19 September 2013 11:24 Am -$(document).ready(function () { - - - $('ul.nav').each(function(){ - $(this).on("mouseleave",function(){ - $('li.dropdown').each(function () { - $(this).removeClass('open'); - }); - }); - }); - - if(typeof String.prototype.trim !== 'function') { - String.prototype.trim = function() { - return this.replace(/^\s+|\s+$/g, ''); - } - } -}); - -// ==== 6 February 2014 14:54 pm -$(function(){ - $('.input').live("keypress", function(e){ - //$('.nextfocus').keypress(function(e){ - var key=(e.keyCode ? e.keyCode : e.which); - if(key==13&&$this.val()!=''){e.keyCode=9;}//$("#"+objtarget).focus();} - }); - }); - -$(function(){ - $('.input').live("keyup", function(e){ - //$('.nextfocus').keypress(function(e){ - this.value=this.value.toUpperCase(); - }); - }); - - -// ==== Public function -function showmaskingrupiah(valuess) -{ - var mydivrupiah=document.getElementById('div_rupiahs'); - var lblrupiah=document.getElementById('lblrupiahs'); - lblrupiah.value='0.00'; - if(valuess) - { - mydivrupiah.style.visibility='visible'; - lblrupiah.innerHTML=numberformat(valuess); - } - else - { - mydivrupiah.style.visibility='hidden'; - } -} - -function hidemaskingrupiah() -{ - var mydivrupiah=document.getElementById('div_rupiahs'); - var lblrupiah=document.getElementById('lblrupiahs'); - lblrupiah.value='0.00'; - mydivrupiah.style.visibility='hidden'; -} - -function roundednumber(valuess,decimalplaces) // ==== created 25 Oktober 2012 7:15 AM -{ - var sp=valuess.split('.'); - var rtn='0.00'; - if(sp.length>1) - { - var dec=sp[1].substring(0,decimalplaces); - if(parseInt(sp[1].substring(decimalplaces,decimalplaces+1))>5&&parseInt(sp[1].substring(decimalplaces,decimalplaces+1))<9) - { - dec=sp[1].substring(decimalplaces,decimalplaces+1); - dec=parseInt(sp[1].substring(0,decimalplaces))+1; - } - if(parseInt(dec)>=90) - { - sp[0]=parseInt(sp[0])+1;dec='00'; - } - rtn=sp[0]+'.'+dec; - } - else - { - rtn=valuess; - } - - return rtn; -} - -function jqajax(params,div_result,withloadergif) -{ - if(withloadergif) - { - //$("#"+div_result).html(''); - } - $.get(params,function(data,status){ - var result=data; - if(("#"+div_result).length>0) - { - $("#"+div_result).html(result); - return true; - } - }); -} - -function plocateurl(com_name,task,criteria,div_target,msg,noprogress) -{ - params='ajax=1&option='+com_name+'&task='+task+'&'+criteria; - if(!msg){msg='wait';} - loadObject(params,div_target,msg,noprogress); -} - -function ajaxurinewtab(obj_folder,obj_name,task,params) -{ - url='?ajax=1&sec=1&dec=1&option='+obj_folder+'&obj='+obj_name+'&task='+task+'&'+params; - //alert(url); - $('#fmpreview').prop('action',url); - $('#fmpreview').submit(); - - //url='ajax=1&sec=1&option='+obj_folder+'&obj='+obj_name+'&task='+task+'&'+params; - //$('#uri').val(url); - //$('#fmpreview').submit(); -} - -function loadNewWindow(url,pagewidth,pageheight,scrollbar) -{ - document.body.style.cursor='wait'; - if(!pagewidth){pagewidth=450;} - if(!pageheight){pageheight=550;} - if(!scrollbar&&scrollbar!=0){scrollbar=1;} - //scrollbar=1; - parentwin=window.open(url,"_blank","top=0,left=0,width="+pagewidth+",height="+pageheight+",toolbar=0,menubar=0,statusbar=0,location=0,scrollbars="+scrollbar); - if(pagewidth=='100%'){parentwin.resizeTo(screen.width-40,pageheight);} - document.body.style.cursor='default'; -} - -function showdate(objTextBox,dateformat) -{ - if(!dateformat){dateformat='dd/mm/yy';} - $('#'+objTextBox).datepicker({dateFormat: dateformat }); -} - -function closeobj(obj,objvalue) -{ - var myobj=document.getElementById(obj); - if(objvalue) - { - var myobjvalue=document.getElementById(objvalue); - myobjvalue.value=''; - - } - myobj.style.visibility='hidden'; -} - -function setpos_Popup(objpopup,objtarget) -{ - //alert(objpopup); - var x=fn_get_objtext_posX(objtarget); - var y=fn_get_objtext_posY(objtarget); - var objdisplay=document.getElementById(objpopup); - objdisplay.style.visibility='visible'; - objdisplay.style.marginTop=parseInt(document.getElementById(objtarget).offsetHeight)+parseInt(y); - objdisplay.style.marginLeft=parseInt(x); -} - -function fn_get_objtext_posX(objtext) -{ - var pos_x= 0; - var obj=document.getElementById(objtext); - if(obj.offsetParent) - { - while(1) - { - pos_x+= obj.offsetLeft; - if(!obj.offsetParent)break; - obj=obj.offsetParent; - } - } - else if(obj.x) - {pos_x+=obj.x;} - return pos_x; -} - -function fn_get_objtext_posY(objtext) -{ - var pos_y= 0; - var obj=document.getElementById(objtext); - if(obj.offsetParent) - { - while(1) - { - pos_y+=obj.offsetTop; - if(!obj.offsetParent)break; - obj=obj.offsetParent; - } - } - else if(obj.y) - {pos_y+=obj.y;} - return pos_y; -} - -function fn_clsnumberformat(values){return values.replace(/,/gi,'');} - -function trim(textstring){return textstring.replace(/^\s+|\s+$/g,'');} - -function loadautocomplete(objtextbox,url){setAutoComplete(objtextbox, 'results', url);} - -function initial() -{ - var div_body=document.getElementById('div_body'); - var height_tb_header=document.getElementById('tb_header').height; - var height_tb_menu=document.getElementById('tb_menu').height; - var height_tb_title=document.getElementById('tb_title').height; - var height_div_body=document.documentElement.clientHeight-(parseInt(height_tb_header)+parseInt(height_tb_menu)+parseInt(height_tb_title)); - div_body.style.height=height_div_body+'px'; -} - -function validationobject(spobj) -{ - var spobj=spobj.split(';'); - //alert('test'); - for(i=0;i Modified 25-01-2014 09:21 Am ( Unicode==39 )Free keycode for single Quote - //alert(unicode); - if(unicode!=8&&unicode!=9&&unicode!=37&&unicode!=39&&unicode!=46&&unicode!=13) - { - if(unicode>=48&&unicode<=57){return true;} - else if((unicode>=96&&unicode<=105)){return true;} - else {return false;} - } -} - -function ipkonly(e) -{ - var unicode=e.charCode? e.charCode : e.keyCode ; - //alert(unicode); - if(unicode!=8&&unicode!=9&&unicode!=37&&unicode!=39&&unicode!=190&&unicode!=46&&unicode!=110) - { - if(unicode>=48&&unicode<=57){return true;} - else if((unicode>=96&&unicode<=105)){return true;} - else {return false;} - - } -} - -// ===== Char Validation -function charonly(e) -{ - var unicode=e.charCode? e.charCode : e.keyCode ; //alert(unicode); - - //if(withuppercase) - //{ - unicode=String.fromCharCode(unicode).toUpperCase().charCodeAt(0); - //alert(unicode); - //} - - if(unicode!=8&&unicode!=9&&unicode!=32&&unicode!=37&&unicode!=39) - { - //alert(unicode); - if((unicode<65||unicode>90)){return false;} - } -} - -// ===== Char And Symbol Validation -function charsimbolonly(e) -{ - var unicode=e.charCode? e.charCode : e.keyCode ; //alert(unicode); - - //if(withuppercase) - //{ - unicode=String.fromCharCode(unicode).toUpperCase().charCodeAt(0); - //alert(unicode); - //} - - if(unicode!=8&&unicode!=9&&unicode!=32&&unicode!=37&&unicode!=39&&unicode!=43&&unicode!=45) - { - //alert(unicode); - if((unicode<65||unicode>90)){return false;} - } -} - -// ===== Address Validation -function addressonly(e) -{ - var unicode=e.charCode? e.charCode : e.keyCode ; //alert(unicode); - //var mychar=String.fromCharCode(unicode); - //if(unicode!=8&&unicode!=9&&unicode!=46&&unicode!=37&&unicode!=39) - //if(unicode!=8&&unicode!=9&&unicode!=37&&unicode!=39) ==> Modified 25-01-2014 09:21 Am ( Unicode==39 )Free keycode for single Quote - //if(unicode!=8&&unicode!=9&&unicode!=32&&unicode!=188&&unicode!=190&&unicode!=191&&unicode!=110&&unicode!=109&&unicode!=111) - - //alert(unicode); - if(unicode!=8&&unicode!=9&&unicode!=32&&unicode!=188&&unicode!=190&&unicode!=191&&unicode!=110&&unicode!=109&&unicode!=111&&unicode!=173&&unicode!=37&&unicode!=46&&unicode!=39&&unicode!=36&&unicode!=35) - { - if(unicode>=48&&unicode<=57){return true;} - else if(unicode>=65&&unicode<=90){return true;} - else if(unicode>=96&&unicode<=105){return true;} - else {return false;} - - //if(unicode<48||unicode>57){return false;} - //if((unicode<65||unicode>90)){return false;} - } -} - -function skonly(e) -{ - var unicode=e.charCode? e.charCode : e.keyCode ; //alert(unicode); - - unicode=String.fromCharCode(unicode).toUpperCase().charCodeAt(0); - if(unicode!=8&&unicode!=9&&unicode!=47&&unicode!=45) - { - if(unicode>=48&&unicode<=57){return true;} - else if(unicode>=65&&unicode<=90){return true;} - //else if(unicode>=96&&unicode<=105){return true;} - else {return false;} - - //if(unicode<48||unicode>57){return false;} - //if((unicode<65||unicode>90)){return false;} - } -} - -// ===== Number and characterValidation -function numbercharonly(e,withuppercase) -{ - var unicode=e.charCode? e.charCode : e.keyCode ; - if(withuppercase) - { - unicode=String.fromCharCode(unicode).toUpperCase().charCodeAt(0); - } - - //if(unicode!=8&&unicode!=9&&unicode!=37&&unicode!=39) ==> Modified 25-01-2014 09:19 Am ( Unicode==39 )Free keycode for single Quote - //alert(unicode); - if(unicode!=8&&unicode!=9&&unicode!=37&&unicode!=45) - { - //if(unicode<48||unicode>57){return false;} - //alert(unicode); - if((unicode>=48&&unicode<=57)||(unicode>=65&&unicode<=90)){} - else{return false;} - } -} - -function teleponcharonly(e) -{ - var unicode=e.charCode? e.charCode : e.keyCode ;//alert(unicode); - if(unicode!=8&&unicode!=9&&unicode!=45&&unicode!=95) - { - if(unicode>=48&&unicode<=57){return true;} - else{return false;} - } -} - -function ajaxuri(obj,task,divtarget,withmsginfo,runfunction) -{ - //alert(task); - if(withmsginfo){$('#'+divtarget).html('wait ');} - var x=0; - ajaxcall=$.ajax({ - type:'POST', - url:'index.php', - cache:false, - data:'ajax=1&sec=1&option='+obj+'&'+task, - beforeSend:function(data){ - //$('#'+divtarget).html('t'); - //$('#'+divtarget).html('wait '+x); - }, - success:function(result){ - var sp=result.split('|'); - var valresult=result; - if(sp.length>1) - { - category=sp[0]; - if(category=='msg'){msgtext=sp[1];valresult=sp[2];bootbox.alert(msgtext);} - } - $('#'+divtarget).show(); - //bootbox.alert('test'); - $('#'+divtarget).html(valresult); - if(runfunction){runfunction();} - } - }); -} - -function ajaxuridhtmlx(obj,task) -{ - //alert(obj+task); - //if(withmsginfo){$('#'+divtarget).html('wait ');} - var ajaxcall=$.ajax({ - type:'POST', - url:'index.php', - data:'ajax=1&sec=1&option='+obj+'&'+task, - dataType: 'html', - context: document.body, - global: false, - async:false, - beforeSend:function(data){ - //$('#'+divtarget).html('t'); - //$('#'+divtarget).html('wait '+x); - }, - success:function(data){ - //$('#divtest').html(data); - } - }).responseText; - return ajaxcall; -} - -function fn_dhtmlxsetfocus(form,objform) -{ - form.setItemFocus(objform); -} - -function fn_dhtmlxloadobject(obj,task) -{ - //alert("?ajax=1&sec=1&option="+obj+"&"+task); - return "?ajax=1&sec=1&option="+obj+"&"+task; -} - -function fn_dhtmlxsenddata(obj,task) -{ - //alert("?ajax=1&sec=1&option="+obj+"&"+task); - return "?ajax=1&sec=1&option="+obj+"&"+task; -} - -function fn_dhtmlxmessage(dtype,msg) -{ - return dhtmlx.message({type:dtype,text:msg}); -} - -function fn_dhtmlxconfirm(mytitle,mytext) -{ - dhtmlx.confirm({ - title: mytitle, - type:'confirm', - ok:"Yes",cancel:"No", - text: mytext, - callback: function(result){return result;} - }); -} - -function fn_dhtmlxtabbarisexist(tabbId) -{ - var isTabCreated=false; - myTabbar.forEachCell(function(cell){ - var id=cell.getId(); - //alert(id+' '+tabbId); - if(id==tabbId){isTabCreated=true;} - }); - return isTabCreated; -} -//$.when(ajaxcall).then(function(){alert('test');}) -function TokenInput(obj,jurl,objnextfocus) -{ - var map={}; - var result=[]; - //var locateurl=jurl; - //alert(obj); - $("#"+obj+"1").val(''); - $("#"+obj).val(''); - $('#'+obj).typeahead({ - source:function(query,process){ - //var locateurl=jurl; - $.ajax({ - url:'index.php', - type:'POST', - data:jurl+query, - datatype:'JSON', - async:true, - success:function(data){ - label=[]; - result=JSON.parse(data); - $.each(result, function (i, item) - { - //if(item=='Record Not Found'){map[item.label]='';label.push('Record Not Found');break;} - map[item.label] = name.value; - label.push(item.label); - - }); - - process(label); - //process(JSON.parse(data)); - } - }); - }, - updater: function(item) { - for(var i=0;i"; - return bld; - } - }); -} - - -//(function ($, window, delay) { -// var theTimer = 0; -// var theElement = null; -// var theLastPosition = {x:0,y:0}; -// $('[data-toggle]') - //.closest('li') -// .on('mouseenter', function (inEvent) { -// if (theElement) theElement.removeClass('open'); -// window.clearTimeout(theTimer); -// theElement = $(this); - -// theTimer = window.setTimeout(function () { -// theElement.addClass('open'); -// }, delay); -// }) -// .on('mousemove', function (inEvent) { -// if(Math.abs(theLastPosition.x - inEvent.ScreenX) > 4 || -// Math.abs(theLastPosition.y - inEvent.ScreenY) > 4) -// { -// theLastPosition.x = inEvent.ScreenX; -// theLastPosition.y = inEvent.ScreenY; -// return; -// } -// -// if (theElement.hasClass('open')) return; -// window.clearTimeout(theTimer); -// theTimer = window.setTimeout(function () { -// theElement.addClass('open'); -// }, delay); -// }) -// .on('mouseleave', function (inEvent) {$(this).closest('li'); -// window.clearTimeout(theTimer); -// theElement = $(this); -// theTimer = window.setTimeout(function () { -// theElement.removeClass('open'); -// }, delay); -// }); -//})(jQuery, window, 200); // 200 is the delay in milliseconds -//$(document).ready(function(){ -//$('ul.dropdown-menu').mouseout(function(){ -// $('[data-toggle="dropdown"]').parent().removeClass('open'); -//});}) - -// ==== MOdified 19 September 2013 11:24 Am -$(document).ready(function () { - - - $('ul.nav').each(function(){ - $(this).on("mouseleave",function(){ - $('li.dropdown').each(function () { - $(this).removeClass('open'); - }); - }); - }); - - if(typeof String.prototype.trim !== 'function') { - String.prototype.trim = function() { - return this.replace(/^\s+|\s+$/g, ''); - } - } -}); - -// ==== 6 February 2014 14:54 pm -$(function(){ - $('.input').live("keypress", function(e){ - //$('.nextfocus').keypress(function(e){ - var key=(e.keyCode ? e.keyCode : e.which); - if(key==13&&$this.val()!=''){e.keyCode=9;}//$("#"+objtarget).focus();} - }); - }); - -$(function(){ - $('.input').live("keyup", function(e){ - //$('.nextfocus').keypress(function(e){ - this.value=this.value.toUpperCase(); - }); - }); - - -// ==== Public function -function showmaskingrupiah(valuess) -{ - var mydivrupiah=document.getElementById('div_rupiahs'); - var lblrupiah=document.getElementById('lblrupiahs'); - lblrupiah.value='0.00'; - if(valuess) - { - mydivrupiah.style.visibility='visible'; - lblrupiah.innerHTML=numberformat(valuess); - } - else - { - mydivrupiah.style.visibility='hidden'; - } -} - -function hidemaskingrupiah() -{ - var mydivrupiah=document.getElementById('div_rupiahs'); - var lblrupiah=document.getElementById('lblrupiahs'); - lblrupiah.value='0.00'; - mydivrupiah.style.visibility='hidden'; -} - -function roundednumber(valuess,decimalplaces) // ==== created 25 Oktober 2012 7:15 AM -{ - var sp=valuess.split('.'); - var rtn='0.00'; - if(sp.length>1) - { - var dec=sp[1].substring(0,decimalplaces); - if(parseInt(sp[1].substring(decimalplaces,decimalplaces+1))>5&&parseInt(sp[1].substring(decimalplaces,decimalplaces+1))<9) - { - dec=sp[1].substring(decimalplaces,decimalplaces+1); - dec=parseInt(sp[1].substring(0,decimalplaces))+1; - } - if(parseInt(dec)>=90) - { - sp[0]=parseInt(sp[0])+1;dec='00'; - } - rtn=sp[0]+'.'+dec; - } - else - { - rtn=valuess; - } - - return rtn; -} - -function jqajax(params,div_result,withloadergif) -{ - if(withloadergif) - { - //$("#"+div_result).html(''); - } - $.get(params,function(data,status){ - var result=data; - if(("#"+div_result).length>0) - { - $("#"+div_result).html(result); - return true; - } - }); -} - -function plocateurl(com_name,task,criteria,div_target,msg,noprogress) -{ - params='ajax=1&option='+com_name+'&task='+task+'&'+criteria; - if(!msg){msg='wait';} - loadObject(params,div_target,msg,noprogress); -} - -function ajaxurinewtab(obj_folder,obj_name,task,params) -{ - url='?ajax=1&sec=1&dec=1&option='+obj_folder+'&obj='+obj_name+'&task='+task+'&'+params; - //alert(url); - $('#fmpreview').prop('action',url); - $('#fmpreview').submit(); - - //url='ajax=1&sec=1&option='+obj_folder+'&obj='+obj_name+'&task='+task+'&'+params; - //$('#uri').val(url); - //$('#fmpreview').submit(); -} - -function loadNewWindow(url,pagewidth,pageheight,scrollbar) -{ - document.body.style.cursor='wait'; - if(!pagewidth){pagewidth=450;} - if(!pageheight){pageheight=550;} - if(!scrollbar&&scrollbar!=0){scrollbar=1;} - //scrollbar=1; - parentwin=window.open(url,"_blank","top=0,left=0,width="+pagewidth+",height="+pageheight+",toolbar=0,menubar=0,statusbar=0,location=0,scrollbars="+scrollbar); - if(pagewidth=='100%'){parentwin.resizeTo(screen.width-40,pageheight);} - document.body.style.cursor='default'; -} - -function showdate(objTextBox,dateformat) -{ - if(!dateformat){dateformat='dd/mm/yy';} - $('#'+objTextBox).datepicker({dateFormat: dateformat }); -} - -function closeobj(obj,objvalue) -{ - var myobj=document.getElementById(obj); - if(objvalue) - { - var myobjvalue=document.getElementById(objvalue); - myobjvalue.value=''; - - } - myobj.style.visibility='hidden'; -} - -function setpos_Popup(objpopup,objtarget) -{ - //alert(objpopup); - var x=fn_get_objtext_posX(objtarget); - var y=fn_get_objtext_posY(objtarget); - var objdisplay=document.getElementById(objpopup); - objdisplay.style.visibility='visible'; - objdisplay.style.marginTop=parseInt(document.getElementById(objtarget).offsetHeight)+parseInt(y); - objdisplay.style.marginLeft=parseInt(x); -} - -function fn_get_objtext_posX(objtext) -{ - var pos_x= 0; - var obj=document.getElementById(objtext); - if(obj.offsetParent) - { - while(1) - { - pos_x+= obj.offsetLeft; - if(!obj.offsetParent)break; - obj=obj.offsetParent; - } - } - else if(obj.x) - {pos_x+=obj.x;} - return pos_x; -} - -function fn_get_objtext_posY(objtext) -{ - var pos_y= 0; - var obj=document.getElementById(objtext); - if(obj.offsetParent) - { - while(1) - { - pos_y+=obj.offsetTop; - if(!obj.offsetParent)break; - obj=obj.offsetParent; - } - } - else if(obj.y) - {pos_y+=obj.y;} - return pos_y; -} - -function fn_numberformat(nStr) -{ - nStr += ''; - x = nStr.split('.'); - x1 = x[0]; - x2 = x.length > 1 ? '.' + x[1] : ''; - var rgx = /(\d+)(\d{3})/; - while (rgx.test(x1)){x1 = x1.replace(rgx, '$1' + '.' + '$2');} - return x1 + x2; -} - -function fn_clsnumberformat(values){return values.replace(/,/gi,'');} - -function trim(textstring){return textstring.replace(/^\s+|\s+$/g,'');} - -function loadautocomplete(objtextbox,url){setAutoComplete(objtextbox, 'results', url);} - -function initial() -{ - var div_body=document.getElementById('div_body'); - var height_tb_header=document.getElementById('tb_header').height; - var height_tb_menu=document.getElementById('tb_menu').height; - var height_tb_title=document.getElementById('tb_title').height; - var height_div_body=document.documentElement.clientHeight-(parseInt(height_tb_header)+parseInt(height_tb_menu)+parseInt(height_tb_title)); - div_body.style.height=height_div_body+'px'; -} - -function validationobject(spobj) -{ - var spobj=spobj.split(';'); - //alert('test'); - for(i=0;i Modified 25-01-2014 09:21 Am ( Unicode==39 )Free keycode for single Quote - //alert(unicode); - if(unicode!=8&&unicode!=9&&unicode!=37&&unicode!=39&&unicode!=46&&unicode!=13) - { - if(unicode>=48&&unicode<=57){return true;} - else if((unicode>=96&&unicode<=105)){return true;} - else {return false;} - } -} - -function ipkonly(e) -{ - var unicode=e.charCode? e.charCode : e.keyCode ; - //alert(unicode); - if(unicode!=8&&unicode!=9&&unicode!=37&&unicode!=39&&unicode!=190&&unicode!=46&&unicode!=110) - { - if(unicode>=48&&unicode<=57){return true;} - else if((unicode>=96&&unicode<=105)){return true;} - else {return false;} - - } -} - -// ===== Char Validation -function charonly(e) -{ - var unicode=e.charCode? e.charCode : e.keyCode ; //alert(unicode); - - //if(withuppercase) - //{ - unicode=String.fromCharCode(unicode).toUpperCase().charCodeAt(0); - //alert(unicode); - //} - - if(unicode!=8&&unicode!=9&&unicode!=32&&unicode!=37&&unicode!=39) - { - //alert(unicode); - if((unicode<65||unicode>90)){return false;} - } -} - -// ===== Char And Symbol Validation -function charsimbolonly(e) -{ - var unicode=e.charCode? e.charCode : e.keyCode ; //alert(unicode); - - //if(withuppercase) - //{ - unicode=String.fromCharCode(unicode).toUpperCase().charCodeAt(0); - //alert(unicode); - //} - - if(unicode!=8&&unicode!=9&&unicode!=32&&unicode!=37&&unicode!=39&&unicode!=43&&unicode!=45) - { - //alert(unicode); - if((unicode<65||unicode>90)){return false;} - } -} - -// ===== Address Validation -function addressonly(e) -{ - var unicode=e.charCode? e.charCode : e.keyCode ; //alert(unicode); - //var mychar=String.fromCharCode(unicode); - //if(unicode!=8&&unicode!=9&&unicode!=46&&unicode!=37&&unicode!=39) - //if(unicode!=8&&unicode!=9&&unicode!=37&&unicode!=39) ==> Modified 25-01-2014 09:21 Am ( Unicode==39 )Free keycode for single Quote - //if(unicode!=8&&unicode!=9&&unicode!=32&&unicode!=188&&unicode!=190&&unicode!=191&&unicode!=110&&unicode!=109&&unicode!=111) - - //alert(unicode); - if(unicode!=8&&unicode!=9&&unicode!=32&&unicode!=188&&unicode!=190&&unicode!=191&&unicode!=110&&unicode!=109&&unicode!=111&&unicode!=173&&unicode!=37&&unicode!=46&&unicode!=39&&unicode!=36&&unicode!=35) - { - if(unicode>=48&&unicode<=57){return true;} - else if(unicode>=65&&unicode<=90){return true;} - else if(unicode>=96&&unicode<=105){return true;} - else {return false;} - - //if(unicode<48||unicode>57){return false;} - //if((unicode<65||unicode>90)){return false;} - } -} - -function skonly(e) -{ - var unicode=e.charCode? e.charCode : e.keyCode ; //alert(unicode); - - unicode=String.fromCharCode(unicode).toUpperCase().charCodeAt(0); - if(unicode!=8&&unicode!=9&&unicode!=47&&unicode!=45) - { - if(unicode>=48&&unicode<=57){return true;} - else if(unicode>=65&&unicode<=90){return true;} - //else if(unicode>=96&&unicode<=105){return true;} - else {return false;} - - //if(unicode<48||unicode>57){return false;} - //if((unicode<65||unicode>90)){return false;} - } -} - -// ===== Number and characterValidation -function numbercharonly(e,withuppercase) -{ - var unicode=e.charCode? e.charCode : e.keyCode ; - if(withuppercase) - { - unicode=String.fromCharCode(unicode).toUpperCase().charCodeAt(0); - } - - //if(unicode!=8&&unicode!=9&&unicode!=37&&unicode!=39) ==> Modified 25-01-2014 09:19 Am ( Unicode==39 )Free keycode for single Quote - //alert(unicode); - if(unicode!=8&&unicode!=9&&unicode!=37&&unicode!=45) - { - //if(unicode<48||unicode>57){return false;} - //alert(unicode); - if((unicode>=48&&unicode<=57)||(unicode>=65&&unicode<=90)){} - else{return false;} - } -} - -function teleponcharonly(e) -{ - var unicode=e.charCode? e.charCode : e.keyCode ;//alert(unicode); - if(unicode!=8&&unicode!=9&&unicode!=45&&unicode!=95) - { - if(unicode>=48&&unicode<=57){return true;} - else{return false;} - } -} - -function ajaxuri(obj,task,divtarget,withmsginfo,runfunction) -{ - //alert(task); - if(withmsginfo){$('#'+divtarget).html('wait ');} - var x=0; - ajaxcall=$.ajax({ - type:'POST', - url:'index.php', - cache:false, - data:'ajax=1&sec=1&option='+obj+'&'+task, - beforeSend:function(data){ - //$('#'+divtarget).html('t'); - //$('#'+divtarget).html('wait '+x); - }, - success:function(result){ - var sp=result.split('|'); - var valresult=result; - if(sp.length>1) - { - category=sp[0]; - if(category=='msg'){msgtext=sp[1];valresult=sp[2];bootbox.alert(msgtext);} - } - $('#'+divtarget).show(); - //bootbox.alert('test'); - $('#'+divtarget).html(valresult); - if(runfunction){runfunction();} - } - }); -} - -function ajaxuridhtmlx(obj,task) -{ - //alert(obj+task); - //if(withmsginfo){$('#'+divtarget).html('wait ');} - var ajaxcall=$.ajax({ - type:'POST', - url:'index.php', - data:'ajax=1&sec=1&option='+obj+'&'+task, - dataType: 'html', - context: document.body, - global: false, - async:false, - beforeSend:function(data){ - //$('#'+divtarget).html('t'); - //$('#'+divtarget).html('wait '+x); - }, - success:function(data){ - //$('#divtest').html(data); - } - }).responseText; - return ajaxcall; -} - -function fn_dhtmlxsetfocus(form,objform) -{ - form.setItemFocus(objform); -} - -function fn_dhtmlxloadobject(obj,task) -{ - //alert("?ajax=1&sec=1&option="+obj+"&"+task); - return "?ajax=1&sec=1&option="+obj+"&"+task; -} - -function fn_dhtmlxsenddata(obj,task) -{ - //alert("?ajax=1&sec=1&option="+obj+"&"+task); - return "?ajax=1&sec=1&option="+obj+"&"+task; -} - -function fn_dhtmlxmessage(dtype,msg) -{ - return dhtmlx.message({type:dtype,text:msg,expire:3000}); -} - -function fn_dhtmlxconfirm(mytitle,mytext) -{ - dhtmlx.confirm({ - title: mytitle, - type:'confirm', - ok:"Yes",cancel:"No", - text: mytext, - callback: function(result){return result;} - }); -} - -function fn_dhtmlxtabbarisexist(tabbId) -{ - var isTabCreated=false; - myTabbar.forEachCell(function(cell){ - var id=cell.getId(); - //alert(id+' '+tabbId); - if(id==tabbId){isTabCreated=true;} - }); - return isTabCreated; -} -//$.when(ajaxcall).then(function(){alert('test');}) -function TokenInput(obj,jurl,objnextfocus) -{ - var map={}; - var result=[]; - //var locateurl=jurl; - //alert(obj); - $("#"+obj+"1").val(''); - $("#"+obj).val(''); - $('#'+obj).typeahead({ - source:function(query,process){ - //var locateurl=jurl; - $.ajax({ - url:'index.php', - type:'POST', - data:jurl+query, - datatype:'JSON', - async:true, - success:function(data){ - label=[]; - result=JSON.parse(data); - $.each(result, function (i, item) - { - //if(item=='Record Not Found'){map[item.label]='';label.push('Record Not Found');break;} - map[item.label] = name.value; - label.push(item.label); - - }); - - process(label); - //process(JSON.parse(data)); - } - }); - }, - updater: function(item) { - for(var i=0;i"; - return bld; - } - }); -} - -function fn_diffmonth(dt1,dt2) -{ - var months; - months = (dt2.getFullYear() - dt1.getFullYear()) * 12; - months += dt2.getMonth() - dt1.getMonth(); - return months; -} -//(function ($, window, delay) { -// var theTimer = 0; -// var theElement = null; -// var theLastPosition = {x:0,y:0}; -// $('[data-toggle]') - //.closest('li') -// .on('mouseenter', function (inEvent) { -// if (theElement) theElement.removeClass('open'); -// window.clearTimeout(theTimer); -// theElement = $(this); - -// theTimer = window.setTimeout(function () { -// theElement.addClass('open'); -// }, delay); -// }) -// .on('mousemove', function (inEvent) { -// if(Math.abs(theLastPosition.x - inEvent.ScreenX) > 4 || -// Math.abs(theLastPosition.y - inEvent.ScreenY) > 4) -// { -// theLastPosition.x = inEvent.ScreenX; -// theLastPosition.y = inEvent.ScreenY; -// return; -// } -// -// if (theElement.hasClass('open')) return; -// window.clearTimeout(theTimer); -// theTimer = window.setTimeout(function () { -// theElement.addClass('open'); -// }, delay); -// }) -// .on('mouseleave', function (inEvent) {$(this).closest('li'); -// window.clearTimeout(theTimer); -// theElement = $(this); -// theTimer = window.setTimeout(function () { -// theElement.removeClass('open'); -// }, delay); -// }); -//})(jQuery, window, 200); // 200 is the delay in milliseconds -//$(document).ready(function(){ -//$('ul.dropdown-menu').mouseout(function(){ -// $('[data-toggle="dropdown"]').parent().removeClass('open'); -//});}) - -// ==== MOdified 19 September 2013 11:24 Am -$(document).ready(function () { - - - $('ul.nav').each(function(){ - $(this).on("mouseleave",function(){ - $('li.dropdown').each(function () { - $(this).removeClass('open'); - }); - }); - }); - - if(typeof String.prototype.trim !== 'function') { - String.prototype.trim = function() { - return this.replace(/^\s+|\s+$/g, ''); - } - } -}); - -// ==== 6 February 2014 14:54 pm -$(function(){ - $('.input').live("keypress", function(e){ - //$('.nextfocus').keypress(function(e){ - var key=(e.keyCode ? e.keyCode : e.which); - if(key==13&&$this.val()!=''){e.keyCode=9;}//$("#"+objtarget).focus();} - }); - }); - -$(function(){ - $('.input').live("keyup", function(e){ - //$('.nextfocus').keypress(function(e){ - this.value=this.value.toUpperCase(); - }); - }); - - -// ==== Public function -function showmaskingrupiah(valuess) -{ - var mydivrupiah=document.getElementById('div_rupiahs'); - var lblrupiah=document.getElementById('lblrupiahs'); - lblrupiah.value='0.00'; - if(valuess) - { - mydivrupiah.style.visibility='visible'; - lblrupiah.innerHTML=numberformat(valuess); - } - else - { - mydivrupiah.style.visibility='hidden'; - } -} - -function hidemaskingrupiah() -{ - var mydivrupiah=document.getElementById('div_rupiahs'); - var lblrupiah=document.getElementById('lblrupiahs'); - lblrupiah.value='0.00'; - mydivrupiah.style.visibility='hidden'; -} - -function roundednumber(valuess,decimalplaces) // ==== created 25 Oktober 2012 7:15 AM -{ - var sp=valuess.split('.'); - var rtn='0.00'; - if(sp.length>1) - { - var dec=sp[1].substring(0,decimalplaces); - if(parseInt(sp[1].substring(decimalplaces,decimalplaces+1))>5&&parseInt(sp[1].substring(decimalplaces,decimalplaces+1))<9) - { - dec=sp[1].substring(decimalplaces,decimalplaces+1); - dec=parseInt(sp[1].substring(0,decimalplaces))+1; - } - if(parseInt(dec)>=90) - { - sp[0]=parseInt(sp[0])+1;dec='00'; - } - rtn=sp[0]+'.'+dec; - } - else - { - rtn=valuess; - } - - return rtn; -} - -function jqajax(params,div_result,withloadergif) -{ - if(withloadergif) - { - //$("#"+div_result).html(''); - } - $.get(params,function(data,status){ - var result=data; - if(("#"+div_result).length>0) - { - $("#"+div_result).html(result); - return true; - } - }); -} - -function plocateurl(com_name,task,criteria,div_target,msg,noprogress) -{ - params='ajax=1&option='+com_name+'&task='+task+'&'+criteria; - if(!msg){msg='wait';} - loadObject(params,div_target,msg,noprogress); -} - -function ajaxurinewtab(obj_folder,obj_name,task,params) -{ - url='?ajax=1&sec=1&dec=1&option='+obj_folder+'&obj='+obj_name+'&task='+task+'&'+params; - //alert(url); - $('#fmpreview').prop('action',url); - $('#fmpreview').submit(); - - //url='ajax=1&sec=1&option='+obj_folder+'&obj='+obj_name+'&task='+task+'&'+params; - //$('#uri').val(url); - //$('#fmpreview').submit(); -} - -function loadNewWindow(url,pagewidth,pageheight,scrollbar) -{ - document.body.style.cursor='wait'; - if(!pagewidth){pagewidth=450;} - if(!pageheight){pageheight=550;} - if(!scrollbar&&scrollbar!=0){scrollbar=1;} - //scrollbar=1; - parentwin=window.open(url,"_blank","top=0,left=0,width="+pagewidth+",height="+pageheight+",toolbar=0,menubar=0,statusbar=0,location=0,scrollbars="+scrollbar); - if(pagewidth=='100%'){parentwin.resizeTo(screen.width-40,pageheight);} - document.body.style.cursor='default'; -} - -function addDays(startDate,numberOfDays) -{ - //alert(startDate); - var returnDate = new Date( - startDate.getFullYear(), - startDate.getMonth(), - startDate.getDate()+numberOfDays, - startDate.getHours(), - startDate.getMinutes(), - startDate.getSeconds()); - return returnDate; -} - -function showdate(objTextBox,dateformat) -{ - if(!dateformat){dateformat='dd/mm/yy';} - $('#'+objTextBox).datepicker({dateFormat: dateformat }); -} - -function closeobj(obj,objvalue) -{ - var myobj=document.getElementById(obj); - if(objvalue) - { - var myobjvalue=document.getElementById(objvalue); - myobjvalue.value=''; - - } - myobj.style.visibility='hidden'; -} - -function setpos_Popup(objpopup,objtarget) -{ - //alert(objpopup); - var x=fn_get_objtext_posX(objtarget); - var y=fn_get_objtext_posY(objtarget); - var objdisplay=document.getElementById(objpopup); - objdisplay.style.visibility='visible'; - objdisplay.style.marginTop=parseInt(document.getElementById(objtarget).offsetHeight)+parseInt(y); - objdisplay.style.marginLeft=parseInt(x); -} - -function fn_get_objtext_posX(objtext) -{ - var pos_x= 0; - var obj=document.getElementById(objtext); - if(obj.offsetParent) - { - while(1) - { - pos_x+= obj.offsetLeft; - if(!obj.offsetParent)break; - obj=obj.offsetParent; - } - } - else if(obj.x) - {pos_x+=obj.x;} - return pos_x; -} - -function fn_get_objtext_posY(objtext) -{ - var pos_y= 0; - var obj=document.getElementById(objtext); - if(obj.offsetParent) - { - while(1) - { - pos_y+=obj.offsetTop; - if(!obj.offsetParent)break; - obj=obj.offsetParent; - } - } - else if(obj.y) - {pos_y+=obj.y;} - return pos_y; -} - -function fn_numberformat(nStr) -{ - nStr += ''; - x = nStr.split('.'); - x1 = x[0]; - x2 = x.length > 1 ? '.' + x[1] : ''; - var rgx = /(\d+)(\d{3})/; - while (rgx.test(x1)){x1 = x1.replace(rgx, '$1' + '.' + '$2');} - return x1 + x2; -} - -function fn_clsnumberformat(values){return values.replace(/,/gi,'');} - -function trim(textstring){return textstring.replace(/^\s+|\s+$/g,'');} - -function loadautocomplete(objtextbox,url){setAutoComplete(objtextbox, 'results', url);} - -function initial() -{ - var div_body=document.getElementById('div_body'); - var height_tb_header=document.getElementById('tb_header').height; - var height_tb_menu=document.getElementById('tb_menu').height; - var height_tb_title=document.getElementById('tb_title').height; - var height_div_body=document.documentElement.clientHeight-(parseInt(height_tb_header)+parseInt(height_tb_menu)+parseInt(height_tb_title)); - div_body.style.height=height_div_body+'px'; -} - -function validationobject(spobj) -{ - var spobj=spobj.split(';'); - //alert('test'); - for(i=0;i").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){ck||(ck=c.createElement("iframe"),ck.frameBorder=ck.width=ck.height=0),b.appendChild(ck);if(!cl||!ck.createElement)cl=(ck.contentWindow||ck.contentDocument).document,cl.write((f.support.boxModel?"":"")+""),cl.close();d=cl.createElement(a),cl.body.appendChild(d),e=f.css(d,"display"),b.removeChild(ck)}cj[a]=e}return cj[a]}function ct(a,b){var c={};f.each(cp.concat.apply([],cp.slice(0,b)),function(){c[this]=a});return c}function cs(){cq=b}function cr(){setTimeout(cs,0);return cq=f.now()}function ci(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ch(){try{return new a.XMLHttpRequest}catch(b){}}function cb(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g0){if(c!=="border")for(;e=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?+d:j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7.2",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a!=null&&a==a.window},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){if(typeof c!="string"||!c)return null;var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c
                    a",d=p.getElementsByTagName("*"),e=p.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=p.getElementsByTagName("input")[0],b={leadingWhitespace:p.firstChild.nodeType===3,tbody:!p.getElementsByTagName("tbody").length,htmlSerialize:!!p.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:p.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,pixelMargin:!0},f.boxModel=b.boxModel=c.compatMode==="CSS1Compat",i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete p.test}catch(r){b.deleteExpando=!1}!p.addEventListener&&p.attachEvent&&p.fireEvent&&(p.attachEvent("onclick",function(){b.noCloneEvent=!1}),p.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),i.setAttribute("name","t"),p.appendChild(i),j=c.createDocumentFragment(),j.appendChild(p.lastChild),b.checkClone=j.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,j.removeChild(i),j.appendChild(p);if(p.attachEvent)for(n in{submit:1,change:1,focusin:1})m="on"+n,o=m in p,o||(p.setAttribute(m,"return;"),o=typeof p[m]=="function"),b[n+"Bubbles"]=o;j.removeChild(p),j=g=h=p=i=null,f(function(){var d,e,g,h,i,j,l,m,n,q,r,s,t,u=c.getElementsByTagName("body")[0];!u||(m=1,t="padding:0;margin:0;border:",r="position:absolute;top:0;left:0;width:1px;height:1px;",s=t+"0;visibility:hidden;",n="style='"+r+t+"5px solid #000;",q="
                    "+""+"
                    ",d=c.createElement("div"),d.style.cssText=s+"width:0;height:0;position:static;top:0;margin-top:"+m+"px",u.insertBefore(d,u.firstChild),p=c.createElement("div"),d.appendChild(p),p.innerHTML="
                    t
                    ",k=p.getElementsByTagName("td"),o=k[0].offsetHeight===0,k[0].style.display="",k[1].style.display="none",b.reliableHiddenOffsets=o&&k[0].offsetHeight===0,a.getComputedStyle&&(p.innerHTML="",l=c.createElement("div"),l.style.width="0",l.style.marginRight="0",p.style.width="2px",p.appendChild(l),b.reliableMarginRight=(parseInt((a.getComputedStyle(l,null)||{marginRight:0}).marginRight,10)||0)===0),typeof p.style.zoom!="undefined"&&(p.innerHTML="",p.style.width=p.style.padding="1px",p.style.border=0,p.style.overflow="hidden",p.style.display="inline",p.style.zoom=1,b.inlineBlockNeedsLayout=p.offsetWidth===3,p.style.display="block",p.style.overflow="visible",p.innerHTML="
                    ",b.shrinkWrapBlocks=p.offsetWidth!==3),p.style.cssText=r+s,p.innerHTML=q,e=p.firstChild,g=e.firstChild,i=e.nextSibling.firstChild.firstChild,j={doesNotAddBorder:g.offsetTop!==5,doesAddBorderForTableAndCells:i.offsetTop===5},g.style.position="fixed",g.style.top="20px",j.fixedPosition=g.offsetTop===20||g.offsetTop===15,g.style.position=g.style.top="",e.style.overflow="hidden",e.style.position="relative",j.subtractsBorderForOverflowNotVisible=g.offsetTop===-5,j.doesNotIncludeMarginInBodyOffset=u.offsetTop!==m,a.getComputedStyle&&(p.style.marginTop="1%",b.pixelMargin=(a.getComputedStyle(p,null)||{marginTop:0}).marginTop!=="1%"),typeof d.style.zoom!="undefined"&&(d.style.zoom=1),u.removeChild(d),l=p=d=null,f.extend(b,j))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e1,null,!1)},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,b){a&&(b=(b||"fx")+"mark",f._data(a,b,(f._data(a,b)||0)+1))},_unmark:function(a,b,c){a!==!0&&(c=b,b=a,a=!1);if(b){c=c||"fx";var d=c+"mark",e=a?0:(f._data(b,d)||1)-1;e?f._data(b,d,e):(f.removeData(b,d,!0),n(b,c,"mark"))}},queue:function(a,b,c){var d;if(a){b=(b||"fx")+"queue",d=f._data(a,b),c&&(!d||f.isArray(c)?d=f._data(a,b,f.makeArray(c)):d.push(c));return d||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e={};d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),f._data(a,b+".run",e),d.call(a,function(){f.dequeue(a,b)},e)),c.length||(f.removeData(a,b+"queue "+b+".run",!0),n(a,b,"queue"))}}),f.fn.extend({queue:function(a,c){var d=2;typeof a!="string"&&(c=a,a="fx",d--);if(arguments.length1)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,f.prop,a,b,arguments.length>1)},removeProp:function(a){a=f.propFix[a]||a;return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,g,h,i;if(f.isFunction(a))return this.each(function(b){f(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(p);for(c=0,d=this.length;c-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];{if(!!arguments.length){e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.type]||f.valHooks[this.nodeName.toLowerCase()];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}if(g){c=f.valHooks[g.type]||f.valHooks[g.nodeName.toLowerCase()];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h,i=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;i=0}})});var z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/(?:^|\s)hover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function( -a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")};f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler,g=p.selector),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;le&&j.push({elem:this,matches:d.slice(e)});for(k=0;k0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));o.match.globalPOS=p;var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

                    ";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="
                    ";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h0)for(h=g;h=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(S(c[0])||S(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c);L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse());return this.pushStack(e,a,P.call(arguments).join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var V="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/]","i"),bd=/checked\s*(?:[^=]|=\s*.checked.)/i,be=/\/(java|ecma)script/i,bf=/^\s*",""],legend:[1,"
                    ","
                    "],thead:[1,"","
                    "],tr:[2,"","
                    "],td:[3,"","
                    "],col:[2,"","
                    "],area:[1,"",""],_default:[0,"",""]},bh=U(c);bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div
                    ","
                    "]),f.fn.extend({text:function(a){return f.access(this,function(a){return a===b?f.text(this):this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a))},null,a,arguments.length)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f -.clean(arguments);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f.clean(arguments));return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){return f.access(this,function(a){var c=this[0]||{},d=0,e=this.length;if(a===b)return c.nodeType===1?c.innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1>");try{for(;d1&&l0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||f.isXMLDoc(a)||!bc.test("<"+a.nodeName+">")?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}d=e=null;return h},clean:function(a,b,d,e){var g,h,i,j=[];b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);for(var k=0,l;(l=a[k])!=null;k++){typeof l=="number"&&(l+="");if(!l)continue;if(typeof l=="string")if(!_.test(l))l=b.createTextNode(l);else{l=l.replace(Y,"<$1>");var m=(Z.exec(l)||["",""])[1].toLowerCase(),n=bg[m]||bg._default,o=n[0],p=b.createElement("div"),q=bh.childNodes,r;b===c?bh.appendChild(p):U(b).appendChild(p),p.innerHTML=n[1]+l+n[2];while(o--)p=p.lastChild;if(!f.support.tbody){var s=$.test(l),t=m==="table"&&!s?p.firstChild&&p.firstChild.childNodes:n[1]===""&&!s?p.childNodes:[];for(i=t.length-1;i>=0;--i)f.nodeName(t[i],"tbody")&&!t[i].childNodes.length&&t[i].parentNode.removeChild(t[i])}!f.support.leadingWhitespace&&X.test(l)&&p.insertBefore(b.createTextNode(X.exec(l)[0]),p.firstChild),l=p.childNodes,p&&(p.parentNode.removeChild(p),q.length>0&&(r=q[q.length-1],r&&r.parentNode&&r.parentNode.removeChild(r)))}var u;if(!f.support.appendChecked)if(l[0]&&typeof (u=l.length)=="number")for(i=0;i1)},f.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=by(a,"opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":f.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!!a&&a.nodeType!==3&&a.nodeType!==8&&!!a.style){var g,h,i=f.camelCase(c),j=a.style,k=f.cssHooks[i];c=f.cssProps[i]||i;if(d===b){if(k&&"get"in k&&(g=k.get(a,!1,e))!==b)return g;return j[c]}h=typeof d,h==="string"&&(g=bu.exec(d))&&(d=+(g[1]+1)*+g[2]+parseFloat(f.css(a,c)),h="number");if(d==null||h==="number"&&isNaN(d))return;h==="number"&&!f.cssNumber[i]&&(d+="px");if(!k||!("set"in k)||(d=k.set(a,d))!==b)try{j[c]=d}catch(l){}}},css:function(a,c,d){var e,g;c=f.camelCase(c),g=f.cssHooks[c],c=f.cssProps[c]||c,c==="cssFloat"&&(c="float");if(g&&"get"in g&&(e=g.get(a,!0,d))!==b)return e;if(by)return by(a,c)},swap:function(a,b,c){var d={},e,f;for(f in b)d[f]=a.style[f],a.style[f]=b[f];e=c.call(a);for(f in b)a.style[f]=d[f];return e}}),f.curCSS=f.css,c.defaultView&&c.defaultView.getComputedStyle&&(bz=function(a,b){var c,d,e,g,h=a.style;b=b.replace(br,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b))),!f.support.pixelMargin&&e&&bv.test(b)&&bt.test(c)&&(g=h.width,h.width=c,c=e.width,h.width=g);return c}),c.documentElement.currentStyle&&(bA=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f==null&&g&&(e=g[b])&&(f=e),bt.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),by=bz||bA,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){if(c)return a.offsetWidth!==0?bB(a,b,d):f.swap(a,bw,function(){return bB(a,b,d)})},set:function(a,b){return bs.test(b)?b+"px":b}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bq.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bp,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bp.test(g)?g.replace(bp,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){return f.swap(a,{display:"inline-block"},function(){return b?by(a,"margin-right"):a.style.marginRight})}})}),f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)}),f.each({margin:"",padding:"",border:"Width"},function(a,b){f.cssHooks[a+b]={expand:function(c){var d,e=typeof c=="string"?c.split(" "):[c],f={};for(d=0;d<4;d++)f[a+bx[d]+b]=e[d]||e[d-2]||e[0];return f}}});var bC=/%20/g,bD=/\[\]$/,bE=/\r?\n/g,bF=/#.*$/,bG=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bH=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bI=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bJ=/^(?:GET|HEAD)$/,bK=/^\/\//,bL=/\?/,bM=/)<[^<]*)*<\/script>/gi,bN=/^(?:select|textarea)/i,bO=/\s+/,bP=/([?&])_=[^&]*/,bQ=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bR=f.fn.load,bS={},bT={},bU,bV,bW=["*/"]+["*"];try{bU=e.href}catch(bX){bU=c.createElement("a"),bU.href="",bU=bU.href}bV=bQ.exec(bU.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bR)return bR.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("
                    ").append(c.replace(bM,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bN.test(this.nodeName)||bH.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bE,"\r\n")}}):{name:b.name,value:c.replace(bE,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.on(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?b$(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),b$(a,b);return a},ajaxSettings:{url:bU,isLocal:bI.test(bV[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bW},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bY(bS),ajaxTransport:bY(bT),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?ca(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=cb(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.fireWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f.Callbacks("once memory"),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bG.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.add,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bF,"").replace(bK,bV[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bO),d.crossDomain==null&&(r=bQ.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bV[1]&&r[2]==bV[2]&&(r[3]||(r[1]==="http:"?80:443))==(bV[3]||(bV[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),bZ(bS,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bJ.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bL.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bP,"$1_="+x);d.url=y+(y===d.url?(bL.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bW+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=bZ(bT,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){if(s<2)w(-1,z);else throw z}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)b_(g,a[g],c,e);return d.join("&").replace(bC,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cc=f.now(),cd=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cc++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=typeof b.data=="string"&&/^application\/x\-www\-form\-urlencoded/.test(b.contentType);if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(cd.test(b.url)||e&&cd.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(cd,l),b.url===j&&(e&&(k=k.replace(cd,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var ce=a.ActiveXObject?function(){for(var a in cg)cg[a](0,1)}:!1,cf=0,cg;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ch()||ci()}:ch,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,ce&&delete cg[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n);try{m.text=h.responseText}catch(a){}try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cf,ce&&(cg||(cg={},f(a).unload(ce)),cg[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var cj={},ck,cl,cm=/^(?:toggle|show|hide)$/,cn=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,co,cp=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cq;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(ct("show",3),a,b,c);for(var g=0,h=this.length;g=i.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),i.animatedProperties[this.prop]=!0;for(b in i.animatedProperties)i.animatedProperties[b]!==!0&&(g=!1);if(g){i.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){h.style["overflow"+b]=i.overflow[a]}),i.hide&&f(h).hide();if(i.hide||i.show)for(b in i.animatedProperties)f.style(h,b,i.orig[b]),f.removeData(h,"fxshow"+b,!0),f.removeData(h,"toggle"+b,!0);d=i.complete,d&&(i.complete=!1,d.call(h))}return!1}i.duration==Infinity?this.now=e:(c=e-this.startTime,this.state=c/i.duration,this.pos=f.easing[i.animatedProperties[this.prop]](this.state,c,0,1,i.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){var a,b=f.timers,c=0;for(;c-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,c){var d=/Y/.test(c);f.fn[a]=function(e){return f.access(this,function(a,e,g){var h=cy(a);if(g===b)return h?c in h?h[c]:f.support.boxModel&&h.document.documentElement[e]||h.document.body[e]:a[e];h?h.scrollTo(d?f(h).scrollLeft():g,d?g:f(h).scrollTop()):a[e]=g},a,e,arguments.length,null)}}),f.each({Height:"height",Width:"width"},function(a,c){var d="client"+a,e="scroll"+a,g="offset"+a;f.fn["inner"+a]=function(){var a=this[0];return a?a.style?parseFloat(f.css(a,c,"padding")):this[c]():null},f.fn["outer"+a]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,c,a?"margin":"border")):this[c]():null},f.fn[c]=function(a){return f.access(this,function(a,c,h){var i,j,k,l;if(f.isWindow(a)){i=a.document,j=i.documentElement[d];return f.support.boxModel&&j||i.body&&i.body[d]||j}if(a.nodeType===9){i=a.documentElement;if(i[d]>=i[e])return i[d];return Math.max(a.body[e],i[e],a.body[g],i[g])}if(h===b){k=f.css(a,c),l=parseFloat(k);return f.isNumeric(l)?l:k}f(a).css(c,h)},c,a,arguments.length,null)}}),a.jQuery=a.$=f,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return f})})(window); \ No newline at end of file diff --git a/themes/js/tabcontent.js b/themes/js/tabcontent.js deleted file mode 100644 index 0d4e14d..0000000 --- a/themes/js/tabcontent.js +++ /dev/null @@ -1,140 +0,0 @@ -/* http://www.menucool.com/tabbed-content Free to use. v2013.7.6 */ -(function() { - var g = function(a) { - if (a && a.stopPropagation) a.stopPropagation(); - else window.event.cancelBubble = true; - var b = a ? a : window.event; - b.preventDefault && b.preventDefault() - }, d = function(a, c, b) { - if (a.addEventListener) a.addEventListener(c, b, false); - else a.attachEvent && a.attachEvent("on" + c, b) - }, a = function(c, a) { - var b = new RegExp("(^| )" + a + "( |$)"); - return b.test(c.className) ? true : false - }, j = function(b, c, d) { - if (!a(b, c)) - if (b.className == "") b.className = c; - else if (d) b.className = c + " " + b.className; - else b.className += " " + c - }, h = function(a, b) { - var c = new RegExp("(^| )" + b + "( |$)"); - a.className = a.className.replace(c, "$1"); - a.className = a.className.replace(/ $/, "") - }, e = function() { - var b = window.location.pathname; - if (b.indexOf("/") != -1) b = b.split("/"); - var a = b[b.length - 1] || "root"; - if (a.indexOf(".") != -1) a = a.substring(0, a.indexOf(".")); - if (a > 20) a = a.substring(a.length - 19); - return a - }, c = "mi" + e(), - b = function(b, a) { - this.g(b, a) - }; - b.prototype = { - h: function() { - var b = new RegExp(c + this.a + "=(\\d+)"), - a = document.cookie.match(b); - return a ? a[1] : this.i() - }, - i: function() { - for (var b = 0, c = this.b.length; b < c; b++) - if (a(this.b[b].parentNode, "selected")) return b; - return 0 - }, - j: function(b, d) { - var c = document.getElementById(b.TargetId); - if (!c) return; - this.l(c); - for (var a = 0; a < this.b.length; a++) - if (this.b[a] == b) { - j(b.parentNode, "selected"); - d && this.d && this.k(this.a, a) - } else h(this.b[a].parentNode, "selected") - }, - k: function(a, b) { - document.cookie = c + a + "=" + b + "; path=/" - }, - l: function(b) { - for (var a = 0; a < this.c.length; a++) this.c[a].style.display = this.c[a].id == b.id ? "block" : "none" - }, - m: function() { - this.c = []; - for (var c = this, a = 0; a < this.b.length; a++) { - var b = document.getElementById(this.b[a].TargetId); - if (b) { - this.c.push(b); - d(this.b[a], "click", function(b) { - var a = this; - if (a === window) a = window.event.srcElement; - c.j(a, 1); - g(b); - return false - }) - } - } - }, - g: function(f, h) { - this.a = h; - this.b = []; - for (var e = f.getElementsByTagName("a"), i = /#([^?]+)/, a, b, c = 0; c < e.length; c++) { - b = e[c]; - a = b.getAttribute("href"); - if (a.indexOf("#") == -1) continue; - else { - var d = a.match(i); - if (d) { - a = d[1]; - b.TargetId = a; - this.b.push(b) - } else continue - } - } - var g = f.getAttribute("data-persist") || ""; - this.d = g.toLowerCase() == "true" ? 1 : 0; - this.m(); - this.n() - }, - n: function() { - var a = this.d ? parseInt(this.h()) : this.i(); - if (a >= this.b.length) a = 0; - this.j(this.b[a], 0) - } - }; - var k = [], - i = function(e) { - var b = false; - - function a() { - if (b) return; - b = true; - setTimeout(e, 4) - } - if (document.addEventListener) document.addEventListener("DOMContentLoaded", a, false); - else if (document.attachEvent) { - try { - var f = window.frameElement != null - } catch (g) {} - if (document.documentElement.doScroll && !f) { - function c() { - if (b) return; - try { - document.documentElement.doScroll("left"); - a() - } catch (d) { - setTimeout(c, 10) - } - } - c() - } - document.attachEvent("onreadystatechange", function() { - document.readyState === "complete" && a() - }) - } - d(window, "load", a) - }, f = function() { - for (var d = document.getElementsByTagName("ul"), c = 0, e = d.length; c < e; c++) a(d[c], "tabs") && k.push(new b(d[c], c)) - }; - i(f); - return {} -})() diff --git a/themes/skins/material/dhtmlx.css b/themes/skins/material/dhtmlx.css deleted file mode 100644 index ec9f50e..0000000 --- a/themes/skins/material/dhtmlx.css +++ /dev/null @@ -1,9 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -@keyframes dhx_loader_rotate{100%{transform:rotate(360deg);}}@keyframes dhx_loader_dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0;}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px;}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px;}}.dhtmlxcalendar_material{position:absolute;display:block;background-color:white;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhtmlxcalendar_material.dhtmlxcalendar_in_input{box-shadow:0 10px 20px rgba(0,0,0,0.19),0 6px 6px rgba(0,0,0,0.23);}.dhtmlxcalendar_material.dhtmlxcalendar_in_input div.dhtmlxcalendar_month_cont,.dhtmlxcalendar_material.dhtmlxcalendar_in_input div.dhtmlxcalendar_days_cont,.dhtmlxcalendar_material.dhtmlxcalendar_in_input div.dhtmlxcalendar_dates_cont,.dhtmlxcalendar_material.dhtmlxcalendar_in_input div.dhtmlxcalendar_time_cont{border-color:white;}.dhtmlxcalendar_material.dhtmlxcalendar_in_input div.dhtmlxcalendar_time_cont{border-top:1px solid #dfdfdf;}.dhtmlxcalendar_material ul.dhtmlxcalendar_line{position:relative;display:block;clear:both;font:inherit;margin:0;padding:0;overflow:hidden;margin-left:12px;width:225px;}.dhtmlxcalendar_material ul.dhtmlxcalendar_line li{float:left;position:relative;list-style-type:none;list-style-image:none;text-align:center;vertical-align:middle;font:inherit;cursor:default;overflow:hidden;margin:0;padding:0;}.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont{position:relative;display:block;width:249px;margin:0;border-width:1px 1px 0 1px;border-style:solid;border-color:#dfdfdf;overflow:hidden;font:inherit;-webkit-user-select:text;-khtml-user-select:text;-moz-user-select:text;-ms-user-select:text;-o-user-select:text;user-select:text;}.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr{width:225px;height:31px;line-height:31px;}.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow{position:absolute;top:0;width:18px;height:31px;color:inherit;text-align:center;background-position:center center;background-repeat:no-repeat;}.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_left,.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_left_hover{left:4px;background-image:url("imgs/dhxcalendar_material/dhxcalendar_arrow_left.png");}.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_left,.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_left_hover{background-image:linear-gradient(transparent,transparent),url("imgs/dhxcalendar_material/dhxcalendar_arrow_left.svg");}.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_right,.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_right_hover{right:4px;background-image:url("imgs/dhxcalendar_material/dhxcalendar_arrow_right.png");}.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_right,.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_right_hover{background-image:linear-gradient(transparent,transparent),url("imgs/dhxcalendar_material/dhxcalendar_arrow_right.svg");}.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr span.dhtmlxcalendar_month_label_month,.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr span.dhtmlxcalendar_month_label_year{position:relative;font:inherit;}.dhtmlxcalendar_material div.dhtmlxcalendar_days_cont{position:relative;display:block;width:249px;margin:0;border-left:1px solid #dfdfdf;border-right:1px solid #dfdfdf;overflow:hidden;-webkit-user-select:text;-khtml-user-select:text;-moz-user-select:text;-ms-user-select:text;-o-user-select:text;user-select:text;}.dhtmlxcalendar_material div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line{height:31px;}.dhtmlxcalendar_material div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li{width:31px;height:31px;line-height:31px;margin-left:1px;font-size:12px;color:#9a9a9a;}.dhtmlxcalendar_material div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_first{margin-left:1px;}.dhtmlxcalendar_material div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_day_weekday_cell_first{margin-left:1px;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont{-webkit-tap-highlight-color:rgba(0,0,0,0);position:relative;display:block;width:249px;margin:0;padding-bottom:8px;border-width:0 1px 1px 1px;border-style:solid;border-color:#dfdfdf;overflow:hidden;font:inherit;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line{margin-top:1px;margin-left:13px;height:31px;line-height:31px;font:inherit;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li{width:31px;height:31px;line-height:31px;margin-right:1px;border-radius:50%;overflow:visible;font:inherit;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li div.dhtmlxcalendar_label{position:relative;width:100%;height:100%;font:inherit;line-height:31px;text-align:center;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li div.dhtmlxcalendar_label.dhtmlxcalendar_label_title{background-image:url("imgs/dhxcalendar_material/dhxcalendar_marker.gif");background-position:top right;background-repeat:no-repeat;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell{color:#a6a6a6;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_weekend{color:#e6918e;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date{color:#a6a6a6;background-color:#dcdcdc;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date_weekend{color:#e6918e;background-color:#dcdcdc;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_dis,.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date_dis{color:#c0c0c0;background-color:#f2f2f2;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_weekend_dis,.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date_weekend_dis{color:#e6918e;background-color:#f2f2f2;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_holiday,.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_weekend_holiday{color:#e6918e;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date_holiday,.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date_weekend_holiday{color:#d43f3a;background-color:#ebebeb;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_holiday_dis,.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_weekend_holiday_dis,.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date_holiday_dis,.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date_weekend_holiday_dis{color:#d43f3a;background-color:#f2f2f2;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_hover{color:#a6a6a6;background-color:#ebebeb;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date_hover{color:#a6a6a6;background-color:#dcdcdc;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_weekend_hover{color:#e6918e;background-color:#ebebeb;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date_weekend_hover{color:#e6918e;background-color:#dcdcdc;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_holiday_hover,.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_weekend_holiday_hover,.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date_holiday_hover,.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date_weekend_holiday_hover{color:#d43f3a;background-color:#ebebeb;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month{color:#404040;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_weekend{color:#d43f3a;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date{color:white;background-color:#39c;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date_weekend{color:white;background-color:#ef5350;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_dis,.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date_dis{color:#c0c0c0;background-color:#f2f2f2;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_weekend_dis,.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date_weekend_dis{color:#d43f3a;background-color:#f2f2f2;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_holiday{color:#d43f3a;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_weekend_holiday{color:#d43f3a;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date_holiday{color:white;background-color:#ef5350;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date_weekend_holiday{color:white;background-color:#ef5350;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_holiday_dis,.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date_holiday_dis,.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_weekend_holiday_dis,.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date_weekend_holiday_dis{color:#d43f3a;background-color:#f2f2f2;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_hover{color:#404040;background-color:#ebebeb;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_weekend_hover{color:#d43f3a;background-color:#ebebeb;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date_hover{color:white;background-color:#39c;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date_weekend_hover{color:white;background-color:#ef5350;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_holiday_hover{color:#d43f3a;background-color:#ebebeb;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_weekend_holiday_hover{color:#d43f3a;background-color:#ebebeb;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date_holiday_hover{color:white;background-color:#ef5350;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date_weekend_holiday_hover{color:white;background-color:#ef5350;}.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont{position:relative;display:block;width:249px;height:31px;border-left:1px solid #dfdfdf;border-right:1px solid #dfdfdf;border-bottom:1px solid #dfdfdf;overflow:hidden;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li{width:225px;height:31px;line-height:31px;}.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_time_hdr{text-align:left;}.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_hours{margin-left:42px;}.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li div.dhtmlxcalendar_time_img{position:absolute;left:22px;top:7px;width:18px;height:18px;background-image:url("imgs/dhxcalendar_material/dhxcalendar_clock.png");background-position:center center;background-repeat:no-repeat;}.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li div.dhtmlxcalendar_time_img{left:75px;}.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr{text-align:center;}.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_hours{margin-left:0;}.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_today,.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_clear{display:none;}.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr div.dhtmlxcalendar_time_img,.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_hours,.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_minutes,.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_colon{display:none;}.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_today{float:right;margin-right:8px;}.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_clear{float:right;margin-right:74px;}.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_selected_date{border-bottom:2px solid red;}.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_today{float:right;margin-right:8px;}.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_clear{float:right;margin-right:22px;}.dhtmlxcalendar_material div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn,.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn{display:none;}.dhtmlxcalendar_material div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell,.dhtmlxcalendar_material div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_first,.dhtmlxcalendar_material div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell{width:27px;}.dhtmlxcalendar_material div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn{display:block;width:27px;color:#3da0e3;background-color:- #060606;}.dhtmlxcalendar_material div.dhtmlxcalendar_wn div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell{width:27px;height:28px;line-height:27px;margin-top:2px;}.dhtmlxcalendar_material div.dhtmlxcalendar_wn div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell div{line-height:inherit;}.dhtmlxcalendar_material div.dhtmlxcalendar_wn div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn{display:block;width:27px;color:#3da0e3;background-color:- #060606;}.dhtmlxcalendar_material div.dhtmlxcalendar_selector_cover{position:absolute;left:1px;background-color:white;opacity:.5;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);}.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj{position:absolute;}.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_selector_obj_arrow{position:absolute;bottom:auto;top:1px;left:0;width:100%;height:9px;overflow:hidden;background-image:url("imgs/dhxcalendar_material/dhxcalendar_selector_top.gif");background-position:top center;background-repeat:no-repeat;}.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table{border-bottom:1px solid #dfdfdf;border-top:0 solid white;background-color:white;margin-top:9px;box-shadow:0 2px 6px rgba(0,0,0,0.24);}.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left,.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right{width:24px;text-align:center;border-color:#dfdfdf;border-style:solid;padding:0;margin:0;background-color:white;background-position:center center;background-repeat:no-repeat;cursor:default;}.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left{border-width:1px 0 0 1px;background-image:url("imgs/dhxcalendar_material/dhxcalendar_arrow_left.png");}.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left.dhtmlxcalendar_selector_cell_left_hover{background-color:#ebebeb;}.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right{border-width:1px 1px 0 0;background-image:url("imgs/dhxcalendar_material/dhxcalendar_arrow_right.png");}.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right.dhtmlxcalendar_selector_cell_right_hover{background-color:#ebebeb;}.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle{cursor:default;}.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul{display:block;clear:both;background-color:white;border-left:1px solid #dfdfdf;margin:0;padding:0;overflow:hidden;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul li{float:left;list-style-type:none;list-style-image:none;text-align:center;vertical-align:middle;margin:0;padding:0;border-right:1px solid #dfdfdf;background-color:white;cursor:default;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;font-size:.9em;}.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul li.dhtmlxcalendar_selector_cell_active,.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul li.dhtmlxcalendar_selector_cell_hover{background-color:#ebebeb;}.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line{height:28px;border-top:1px solid #dfdfdf;border-bottom:0 solid white;}.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell{width:50px;height:28px;line-height:28px;}.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left,.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right{display:none;width:0;}.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours div.dhtmlxcalendar_selector_obj_arrow,.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 div.dhtmlxcalendar_selector_obj_arrow,.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_selector_obj_arrow{top:auto;bottom:1px;background-image:url("imgs/dhxcalendar_material/dhxcalendar_selector_bottom.gif");}.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours div.dhtmlxcalendar_selector_obj_arrow ul.dhtmlxcalendar_selector_line,.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 div.dhtmlxcalendar_selector_obj_arrow ul.dhtmlxcalendar_selector_line,.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_selector_obj_arrow ul.dhtmlxcalendar_selector_line{height:28px;border-top:0 solid white;border-bottom:1px solid #dfdfdf;}.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table,.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table,.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table{margin-top:0;margin-bottom:9px;border-bottom:none;}.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell,.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell,.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell{width:34px;height:28px;line-height:28px;}.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left,.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right,.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left,.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right,.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left,.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right{display:none;width:0;}.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_month,.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_year,.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_hours,.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_hours2,.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_minutes,.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_minutes4,.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_minutes5{display:none;}.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month div.dhtmlxcalendar_area_selector_month,.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_year div.dhtmlxcalendar_area_selector_year,.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours div.dhtmlxcalendar_area_selector_hours,.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 div.dhtmlxcalendar_area_selector_hours,.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_area_selector_minutes,.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_area_selector_minutes4,.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_area_selector_minutes5{display:block;}.dhtmlxcalendar_ifr{position:absolute;overflow:hidden;background-color:white;}div.dhtmlxcalendar_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:40px;height:10px;overflow:hidden;}@keyframes dhx_loader_rotate{100%{transform:rotate(360deg);}}@keyframes dhx_loader_dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0;}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px;}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px;}}div.dhxcombo_material{position:relative;border-bottom:1px solid #dfdfdf;padding-bottom:1px;overflow:hidden;vertical-align:middle;background-color:white;font-size:1px;height:29px;-webkit-tap-highlight-color:rgba(0,0,0,0);}div.dhxcombo_material.dhxcombo_actv{padding-bottom:0;border-bottom:2px solid #39c;}div.dhxcombo_material input.dhxcombo_input{position:absolute;left:4px;top:0;*top:1px;height:29px;line-height:28px;*height:27px;*line-height:26px;border:0 solid white;outline:0 solid white;padding:0;margin:0 0 0 2px;background-color:white;vertical-align:top;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}div.dhxcombo_material input.dhxcombo_input::-ms-clear{display:none;}div.dhxcombo_material div.dhxcombo_select_button{position:absolute;width:21px;height:22px;top:4px;right:2px;font-size:1px;cursor:pointer;overflow:hidden;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}div.dhxcombo_material div.dhxcombo_select_button div.dhxcombo_select_img{position:relative;width:100%;height:100%;background-image:url("imgs/dhxcombo_material/dhxcombo_arrow_down.gif");background-repeat:no-repeat;background-position:center center;}div.dhxcombo_material div.dhxcombo_select_button div.dhxcombo_select_img{background-image:linear-gradient(transparent,transparent),url("imgs/dhxcombo_material/dhxcombo_arrow_down.svg");}div.dhxcombo_material div.dhxcombo_top_image{position:absolute;left:0;top:0;width:29px;height:29px;overflow:hidden;cursor:default;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}div.dhxcombo_material div.dhxcombo_top_image div.dhxcombo_image{position:absolute;top:6px;left:5px;width:18px;height:18px;background-repeat:no-repeat;background-position:center center;overflow:hidden;cursor:default;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}div.dhxcombolist_material{position:absolute;border:1px solid #dfdfdf;background-color:#fafafa;overflow-x:none;overflow-y:auto;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;box-shadow:0 0 10px rgba(127,127,127,0.2);}div.dhxcombolist_material div.dhxcombo_option{position:relative;font:inherit;height:32px;line-height:32px;vertical-align:middle;overflow:hidden;cursor:default;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}div.dhxcombolist_material div.dhxcombo_option.dhxcombo_option_selected{background-color:#ebebeb;}div.dhxcombolist_material div.dhxcombo_option div.dhxcombo_option_text{position:relative;padding:0 4px;font:inherit;white-space:nowrap;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}div.dhxcombolist_material div.dhxcombo_option div.dhxcombo_option_text.dhxcombo_option_text_chbx{position:relative;padding:0 4px;margin-left:26px;white-space:nowrap;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}div.dhxcombolist_material div.dhxcombo_option div.dhxcombo_option_text.dhxcombo_option_text_image{position:relative;padding:0 4px 0 4px;margin-left:26px;white-space:nowrap;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}div.dhxcombolist_material div.dhxcombo_option div.dhxcombo_image,div.dhxcombolist_material div.dhxcombo_option div.dhxcombo_checkbox{position:absolute;width:18px;margin:0 5px;height:32px;line-height:32px;background-image:url("imgs/dhxcombo_material/dhxcombo_chbx.gif");background-repeat:no-repeat;overflow:hidden;cursor:default;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}div.dhxcombolist_material div.dhxcombo_option div.dhxcombo_image.dhxcombo_chbx_1,div.dhxcombolist_material div.dhxcombo_option div.dhxcombo_checkbox.dhxcombo_chbx_1{background-position:0 7px;}div.dhxcombolist_material div.dhxcombo_option div.dhxcombo_image.dhxcombo_chbx_0,div.dhxcombolist_material div.dhxcombo_option div.dhxcombo_checkbox.dhxcombo_chbx_0{background-position:-18px 7px;}div.dhxcombolist_material div.dhxcombo_option div.dhxcombo_image{top:7px;margin:0 0 0 6px;width:18px;height:18px;}div.dhxcombo_material.dhxcombo_disabled input.dhxcombo_input{color:#a6a6a6;}div.dhxcombo_material.dhxcombo_disabled div.dhxcombo_select_button div.dhxcombo_select_img{background-image:url("imgs/dhxcombo_material/dhxcombo_arrow_down_dis.gif");cursor:default;}.dhxgrid_combo_icon{position:absolute;z-index:1;top:0;right:0;}div.dhxcombo_in_grid_parent{position:relative;height:100%;top:0;}div.dhxcombo_in_grid_parent div.dhxcombo_material{position:absolute;top:0;left:-1px;}div.dhxcombolist_material.dhxcombolist_hdr{border-bottom-width:0;height:36px;line-height:36px;box-shadow:none;}div.dhxcombolist_material.dhxcombolist_hdr div.dhxcombo_hdrtext{position:relative;padding:0;white-space:nowrap;cursor:default;font-family:Roboto,Arial,Helvetica;font-size:14px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}div.dhxcombolist_material.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell,div.dhxcombolist_material.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell_first{float:left;white-space:nowrap;overflow:hidden;position:relative;z-index:2;border-left:1px solid #dfdfdf;padding:0;margin:0;}div.dhxcombolist_material.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell_first,div.dhxcombolist_material.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell:first-child{border-left-width:0;}div.dhxcombolist_material.dhxcombolist_multicolumn div.dhxcombo_option{height:32px;line-height:32px;margin-top:-1px;z-index:0;border-top:1px solid #dfdfdf;border-bottom:1px solid #dfdfdf;background-color:white;}div.dhxcombolist_material.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_option_text{padding:0;}div.dhxcombolist_material.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell,div.dhxcombolist_material.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell_first{float:left;white-space:nowrap;overflow:hidden;position:relative;border-left:1px solid #dfdfdf;padding:0;margin:0;}div.dhxcombolist_material.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell_first,div.dhxcombolist_material.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell:first-child{border-left-width:0;}div.dhxcombolist_material.dhxcombolist_multicolumn div.dhxcombo_option.dhxcombo_option_selected{z-index:1;background-color:#ebebeb;border-top-color:#dfdfdf;border-bottom-color:#dfdfdf;}div.dhxcombolist_material.dhxcombolist_multicolumn div.dhxcombo_option.dhxcombo_option_selected div.dhxcombo_cell{border-left-color:#dfdfdf;}div.dhxcombolist_material.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell_text,div.dhxcombolist_material.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell_text{position:relative;margin:0 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:auto;min-height:32px;}.dhxcombo_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:40px;height:10px;overflow:hidden;}@keyframes dhx_loader_rotate{100%{transform:rotate(360deg);}}@keyframes dhx_loader_dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0;}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px;}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px;}}.dhtmlxcp_material{font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhtmlxcp_material *{line-height:normal;}.dhtmlxcp_material.dhxcp_shadow div.dhxcp_g_area{border-width:1px 0 0 0;box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24);}.dhtmlxcp_material div.dhxcp_g_area{position:absolute;width:235px;height:262px;background-color:white;border:1px solid #dfdfdf;}.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area{width:235px;height:262px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_color_area{padding-bottom:2px;width:235px;height:122px;margin:0;}.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_color_area div.dhxcp_color_selector{position:absolute;width:210px;height:120px;background-image:url("imgs/dhxcp_material/dhxcp_colors.png");background-repeat:no-repeat;cursor:pointer;float:left;}.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_color_area div.dhxcp_color_selector div.dhxcp_h_line{width:210px;}.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_color_area div.dhxcp_color_selector div.dhxcp_v_line{position:absolute;width:0;height:120px;border-left:1px solid white;cursor:pointer;overflow:hidden;}.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_color_area div.dhxcp_contrast_area{position:relative;height:120px;width:24px;cursor:pointer;float:right;}.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_color_area div.dhxcp_contrast_area div.dhxcp_ie_gradient{height:120px;width:24px;margin:0;}.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_color_area div.dhxcp_contrast_area div.dhxcp_h_line{width:24px;}.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_color_area div.dhxcp_h_line{position:absolute;height:0;border-top:1px solid white;cursor:pointer;overflow:hidden;}.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_input_area{position:relative;padding:0 14px;width:auto;height:78px;margin:0;}.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_input_area div.dhxcp_value_cont{height:78px;float:left;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_input_area div.dhxcp_value_cont div.dhxcp_value_color{margin-top:5px;width:52px;height:48px;border:1px solid #dfdfdf;}.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_input_area div.dhxcp_value_cont input.dhxcp_value{width:54px;margin-top:3px;line-height:1em;border-width:0 0 1px 0;border-style:solid;border-color:#dfdfdf;background-color:white;padding:3px 3px 3px 3px;text-align:left;font:inherit;font-size:13px;outline:none!important;}.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_input_area div.dhxcp_value_cont input.dhxcp_value:focus{border-bottom-color:#39c;border-bottom-width:2px;padding-bottom:0;}.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_input_area table.dhxcp_inputs_cont{position:absolute;right:14px;top:4px;border:none;border-spacing:0;width:130px;height:78px;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_input_area table.dhxcp_inputs_cont .dhxcp_label_hsl,.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_input_area table.dhxcp_inputs_cont .dhxcp_label_rgb{text-align:right;padding:0 7px 0 0;font:inherit;font-size:13px;}.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_input_area table.dhxcp_inputs_cont td.dhxcp_input_hsl,.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_input_area table.dhxcp_inputs_cont td.dhxcp_input_rgb{width:28px;border:none;padding:0;margin:0;font:inherit;vertical-align:top;}.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_input_area table.dhxcp_inputs_cont input.dhxcp_input_hsl,.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_input_area table.dhxcp_inputs_cont input.dhxcp_input_rgb{width:26px;margin-top:2px;line-height:1em;border-width:0 0 1px 0;border-style:solid;border-color:#dfdfdf;background-color:white;padding:3px 3px 3px 3px;text-align:left;font:inherit;font-size:13px;outline:none!important;}.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_input_area table.dhxcp_inputs_cont input.dhxcp_input_hsl:focus,.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_input_area table.dhxcp_inputs_cont input.dhxcp_input_rgb:focus{border-bottom-color:#39c;border-bottom-width:2px;padding-bottom:0;}.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_memory_area{display:none;}.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_buttons_area{position:relative;width:auto;height:32px;padding:0 14px;text-align:right;margin-top:18px;}.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_buttons_area button.dhx_button_save,.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_buttons_area button.dhx_button_cancel{height:32px;line-height:22px;margin:0 2px;padding-left:12px;padding-right:12px;overflow:hidden;text-align:center;outline:none!important;border:none!important;background-color:white;font-weight:500;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#39c;}.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_buttons_area button.dhx_button_save:hover,.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_buttons_area button.dhx_button_cancel:hover{background-color:#ededed;}.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_buttons_area button.dhx_button_save:active,.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_buttons_area button.dhx_button_cancel:active{background-color:#e1e1e1;}.dhtmlxcp_material div.dhxcp_g_area.dhxcp_add_memory{height:315px!important;}.dhtmlxcp_material div.dhxcp_g_area.dhxcp_add_memory div.dhxcp_sub_area{height:315px!important;}.dhtmlxcp_material div.dhxcp_g_area.dhxcp_add_memory div.dhxcp_sub_area div.dhxcp_buttons_area{margin-top:0;}.dhtmlxcp_material div.dhxcp_g_area.dhxcp_add_memory div.dhxcp_sub_area div.dhxcp_g_memory_area{position:relative;display:block;height:60px;padding:0 14px;}.dhtmlxcp_material div.dhxcp_g_area.dhxcp_add_memory div.dhxcp_sub_area div.dhxcp_g_memory_area div.dhxcp_memory_button_cont{position:relative;width:auto;height:24px;margin-top:14px;}.dhtmlxcp_material div.dhxcp_g_area.dhxcp_add_memory div.dhxcp_sub_area div.dhxcp_g_memory_area div.dhxcp_memory_button_cont button.dhxcp_save_to_memory{width:100%;height:24px;margin:0;outline:none!important;border:none!important;background-color:white;font-weight:500;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#39c;}.dhtmlxcp_material div.dhxcp_g_area.dhxcp_add_memory div.dhxcp_sub_area div.dhxcp_g_memory_area div.dhxcp_memory_button_cont button.dhxcp_save_to_memory:hover{background-color:#ededed;}.dhtmlxcp_material div.dhxcp_g_area.dhxcp_add_memory div.dhxcp_sub_area div.dhxcp_g_memory_area div.dhxcp_memory_button_cont button.dhxcp_save_to_memory:active{background-color:#e1e1e1;}.dhtmlxcp_material div.dhxcp_g_area.dhxcp_add_memory div.dhxcp_sub_area div.dhxcp_g_memory_area div.dhxcp_memory_button_cont button.dhxcp_save_to_memory div.dhxcp_label_bm{display:inherit;width:90px;margin:0 auto;height:16px;}.dhtmlxcp_material div.dhxcp_g_area.dhxcp_add_memory div.dhxcp_sub_area div.dhxcp_g_memory_area div.dhxcp_memory_els_cont{position:relative;width:auto;height:25px;margin-top:3px;text-align:center;}.dhtmlxcp_material div.dhxcp_g_area.dhxcp_add_memory div.dhxcp_sub_area div.dhxcp_g_memory_area div.dhxcp_memory_els_cont a.dhxcp_memory_el{width:21px;height:20px;background-color:#fff;border:1px solid #dfdfdf;display:inline-block;margin-right:2px;}.dhtmlxcp_material div.dhxcp_g_area.dhxcp_add_memory div.dhxcp_sub_area div.dhxcp_g_memory_area div.dhxcp_memory_els_cont a.dhxcp_memory_el.dhxcp_memory_el_select{border:1px dashed black!important;}.dhtmlxcp_material div.dhxcp_g_area.dhxcp_add_memory div.dhxcp_sub_area div.dhxcp_g_memory_area div.dhxcp_memory_els_cont a.dhxcp_memory_el.dhxcp_memory_el_next{border:1px dashed red!important;}.dhxcp_colorBox{float:right;}.dhxcp_colorInput{float:left;}.dhxcp_frm{position:absolute;background-color:white;width:256px;height:274px;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}.dhxcolorpicker_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:40px;height:10px;overflow:hidden;}@keyframes dhx_loader_rotate{100%{transform:rotate(360deg);}}@keyframes dhx_loader_dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0;}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px;}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px;}}.dhtmlxslider_material{z-index:0;}.dhtmlxslider_material .dhxsl_hidden{display:none;}.dhtmlxslider_material .dhxsl_container{position:relative;float:left;clear:left;margin:0;padding:1px;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhtmlxslider_material .dhxsl_container.dhxsl_cont_hr{margin-top:4px;}.dhtmlxslider_material .dhxsl_container.dhxsl_cont_vr{margin-left:4px;}.dhtmlxslider_material .dhxsl_runner{position:absolute;background-color:#39c;-webkit-touch-callout:none;-webkit-user-select:none;-ms-touch-action:none;z-index:1;border-radius:50%;width:12px;height:12px;margin:0;padding:0;overflow:hidden;}.dhtmlxslider_material .dhxsl_runner.dhxsl_runner_actv{z-index:2;}.dhtmlxslider_material .dhxsl_runner_dis{background-color:#dfdfdf;border:1px solid white;width:10px;height:10px;}.dhtmlxslider_material .dhxsl_track{background-color:#dfdfdf;overflow:hidden;position:relative;margin:0;padding:0;-webkit-touch-callout:none;-webkit-user-select:none;-ms-touch-action:none;}.dhtmlxslider_material .dhxsl_track div.dhxsl_track_bg{position:absolute;font-size:1px;overflow:hidden;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhtmlxslider_material .dhxsl_cont_vr .dhxsl_track{height:100%;width:2px;}.dhtmlxslider_material .dhxsl_cont_vr .dhxsl_track div.dhxsl_track_bg{left:0;width:100%;}.dhtmlxslider_material .dhxsl_cont_hr .dhxsl_track{width:100%;height:2px;}.dhtmlxslider_material .dhxsl_cont_hr .dhxsl_track div.dhxsl_track_bg{top:0;height:100%;}.dhxslider_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:40px;height:10px;overflow:hidden;}@keyframes dhx_loader_rotate{100%{transform:rotate(360deg);}}@keyframes dhx_loader_dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0;}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px;}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px;}}div.dhx_popup_material{-webkit-tap-highlight-color:rgba(0,0,0,0);position:absolute;}div.dhx_popup_material div.dhx_popup_area{position:relative;margin:10px;padding:5px 0;border:1px solid #dfdfdf;background-color:#fafafa;box-shadow:0 0 10px rgba(127,127,127,0.2);}div.dhx_popup_material div.dhx_popup_area td.dhx_popup_td{text-align:left;line-height:normal;padding:0 10px 0 10px;white-space:nowrap;cursor:default;height:30px;line-height:30px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}div.dhx_popup_material div.dhx_popup_area td.dhx_popup_td *{white-space:normal;}div.dhx_popup_material div.dhx_popup_area tr.dhxnode td.dhx_popup_td{-webkit-user-select:text;-khtml-user-select:text;-moz-user-select:text;-ms-user-select:text;-o-user-select:text;user-select:text;}div.dhx_popup_material div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhtmlxcalendar_material{position:relative;float:left;box-shadow:none;}div.dhx_popup_material div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont,div.dhx_popup_material div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhtmlxcalendar_material div.dhtmlxcalendar_days_cont,div.dhx_popup_material div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont,div.dhx_popup_material div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont{border-color:#fafafa!important;}div.dhx_popup_material div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxeditor_material{border:1px solid #dfdfdf;margin:15px 0;}div.dhx_popup_material div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhtmlxcp_material div.dhxcp_g_area{position:relative;box-shadow:none!important;border-width:0!important;background-color:#fafafa;}div.dhx_popup_material div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxtabbar_base_material{z-index:1;}div.dhx_popup_material div.dhx_popup_area tr.dhx_popup_sep td.dhx_popup_sep{font-size:1px;padding:5px 0;position:relative;}div.dhx_popup_material div.dhx_popup_area tr.dhx_popup_sep td.dhx_popup_sep div.dhx_popup_sep{position:relative;font-size:1px;line-height:1px;height:0;width:100%;border-top:1px solid #dfdfdf;overflow:hidden;}div.dhx_popup_material div.dhx_popup_area td.dhx_popup_td:first-child{padding-left:23px;}div.dhx_popup_material div.dhx_popup_area td.dhx_popup_td:last-child{padding-right:21px;}div.dhx_popup_material div.dhx_popup_area tr:hover td.dhx_popup_td{background-color:#ebebeb;}div.dhx_popup_material div.dhx_popup_area tr.dhxnode:hover td.dhx_popup_td{background:none;}div.dhx_popup_material div.dhx_popup_area.dhx_popup_area_ie td.dhx_popup_td.dhx_popup_td_single{padding-left:23px;padding-right:21px;}div.dhx_popup_material div.dhx_popup_area.dhx_popup_area_ie td.dhx_popup_td.dhx_popup_td_first{padding-left:23px;}div.dhx_popup_material div.dhx_popup_area.dhx_popup_area_ie td.dhx_popup_td.dhx_popup_td_last{padding-right:21px;}div.dhx_popup_material div.dhx_popup_area.dhx_popup_area_ie tr.tr_hover td.dhx_popup_td{background-color:#ebebeb;}div.dhx_popup_material div.dhx_popup_arrow{position:absolute;background-repeat:no-repeat;}div.dhx_popup_material div.dhx_popup_arrow.dhx_popup_arrow_bottom{width:19px;height:16px;background-image:url("imgs/dhxpopup_material/dhxpopup_arrow_bottom.gif");background-position:top center;}div.dhx_popup_material div.dhx_popup_arrow.dhx_popup_arrow_top{width:19px;height:16px;background-image:url("imgs/dhxpopup_material/dhxpopup_arrow_top.gif");background-position:bottom center;}div.dhx_popup_material div.dhx_popup_arrow.dhx_popup_arrow_right{width:16px;height:19px;background-image:url("imgs/dhxpopup_material/dhxpopup_arrow_right.gif");background-position:center left;}div.dhx_popup_material div.dhx_popup_arrow.dhx_popup_arrow_left{width:16px;height:19px;background-image:url("imgs/dhxpopup_material/dhxpopup_arrow_left.gif");background-position:center right;}div.dhx_popup_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:40px;height:10px;overflow:hidden;}@keyframes dhx_loader_rotate{100%{transform:rotate(360deg);}}@keyframes dhx_loader_dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0;}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px;}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px;}}.dhtmlxMenu_material_Middle{position:relative;height:28px;line-height:28px;background-color:#f5f5f5;overflow:hidden;border:none;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhtmlxMenu_material_Middle div.dhtmlxMenu_material_TopLevel_Item_Normal,.dhtmlxMenu_material_Middle div.dhtmlxMenu_material_TopLevel_Item_Disabled,.dhtmlxMenu_material_Middle div.dhtmlxMenu_material_TopLevel_Item_Selected{position:relative;float:left;font:inherit;height:28px;line-height:28px;margin:0;padding:0 8px;cursor:default;white-space:nowrap;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhtmlxMenu_material_Middle div.dhtmlxMenu_material_TopLevel_Item_Normal div.top_level_text,.dhtmlxMenu_material_Middle div.dhtmlxMenu_material_TopLevel_Item_Disabled div.top_level_text,.dhtmlxMenu_material_Middle div.dhtmlxMenu_material_TopLevel_Item_Selected div.top_level_text{float:left;margin:0 3px;}.dhtmlxMenu_material_Middle div.dhtmlxMenu_material_TopLevel_Item_Normal i,.dhtmlxMenu_material_Middle div.dhtmlxMenu_material_TopLevel_Item_Disabled i,.dhtmlxMenu_material_Middle div.dhtmlxMenu_material_TopLevel_Item_Selected i{height:inherit;line-height:inherit;float:left;color:inherit;margin:0 4px;font-size:1.2em;}.dhtmlxMenu_material_Middle div.dhtmlxMenu_material_TopLevel_Item_Disabled{color:#a6a6a6;}.dhtmlxMenu_material_Middle div.dhtmlxMenu_material_TopLevel_Item_Selected{background-color:#ebebeb;}.dhtmlxMenu_material_Middle img.dhtmlxMenu_TopLevel_Item_Icon{float:left;margin:5px 3px 0 3px;width:18px;height:18px;cursor:default;}.dhtmlxMenu_material_Middle div.top_sep{position:relative;float:left;height:22px;width:0;border-left:1px solid #dfdfdf;margin:3px 8px 0 8px;font-size:1px;overflow:hidden;cursor:default;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhtmlxMenu_material_Middle div.dhtmlxMenu_TopLevel_Text_right,.dhtmlxMenu_material_Middle div.dhtmlxMenu_TopLevel_Text_left{position:absolute;top:0;height:28px;line-height:28px;cursor:default;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhtmlxMenu_material_Middle div.dhtmlxMenu_TopLevel_Text_right{right:6px;}.dhtmlxMenu_material_Middle div.dhtmlxMenu_TopLevel_Text_left{left:6px;}div.dhtmlxMenu_material_SubLevelArea_Polygon{position:absolute;padding:5px 0;background-color:#fafafa;overflow:hidden;cursor:default;line-height:normal;overflow-y:auto;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}div.dhtmlxMenu_material_SubLevelArea_Polygon td{padding:0;margin:0;line-height:normal;white-space:nowrap;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}div.dhtmlxMenu_material_SubLevelArea_Polygon td.sub_item_icon{width:18px;text-align:center;}div.dhtmlxMenu_material_SubLevelArea_Polygon td.sub_item_icon img.sub_icon{margin:4px 6px 0 6px;width:18px;height:18px;}div.dhtmlxMenu_material_SubLevelArea_Polygon td.sub_item_icon i{width:18px;height:30px;line-height:29px;margin:0 6px;font-size:1.2em;text-align:center;color:inherit;}div.dhtmlxMenu_material_SubLevelArea_Polygon td.sub_item_icon div.sub_icon{margin:0 6px;width:18px;height:30px;line-height:30px;background-position:0 5px;background-repeat:no-repeat;background-image:url("imgs/dhxmenu_material/dhxmenu_chrd.png");}div.dhtmlxMenu_material_SubLevelArea_Polygon td.sub_item_icon div.sub_icon.chbx_0{background-position:0 5px;}div.dhtmlxMenu_material_SubLevelArea_Polygon td.sub_item_icon div.sub_icon.chbx_1{background-position:-18px 5px;}div.dhtmlxMenu_material_SubLevelArea_Polygon td.sub_item_icon div.sub_icon.rdbt_0{background-position:-72px 5px;}div.dhtmlxMenu_material_SubLevelArea_Polygon td.sub_item_icon div.sub_icon.rdbt_1{background-position:-90px 5px;}div.dhtmlxMenu_material_SubLevelArea_Polygon td.sub_item_text div.sub_item_text{position:relative;height:30px;line-height:30px;padding:0 22px 0 1px;overflow:hidden;}div.dhtmlxMenu_material_SubLevelArea_Polygon td.sub_item_hk{padding:0 10px 0 8px;}div.dhtmlxMenu_material_SubLevelArea_Polygon td.sub_item_hk div.sub_item_hk{color:#8d8d8d;font-size:12px;text-align:right;}div.dhtmlxMenu_material_SubLevelArea_Polygon td div.complex_arrow{float:right;width:10px;margin:0 1px 0 11px;height:30px;line-height:30px;background-image:url("imgs/dhxmenu_material/dhxmenu_subar.png");background-repeat:no-repeat;background-position:0 10px;overflow:hidden;font-size:1px;}div.dhtmlxMenu_material_SubLevelArea_Polygon td div.complex_arrow_loading{width:16px;height:30px;line-height:30px;background-position:center center;background-repeat:no-repeat;background-image:url("imgs/dhxmenu_material/dhxmenu_loader.gif");float:right;}div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_item_selected td{background-color:#ebebeb;}div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_item_selected td div.complex_arrow{background-position:-10px 10px;}div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_item_dis td.sub_item_hk div.sub_item_hk{color:#c0c0c0;}div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_item_dis td div.sub_item_text,div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_item_dis td td.sub_item_icon i{color:#a6a6a6;}div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_item_dis td div.complex_arrow{background-position:-20px 10px;}div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_item_dis td div.sub_icon.chbx_0{background-position:-36px 5px;}div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_item_dis td div.sub_icon.chbx_1{background-position:-54px 5px;}div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_item_dis td div.sub_icon.rdbt_0{background-position:-108px 5px;}div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_item_dis td div.sub_icon.rdbt_1{background-position:-126px 5px;}div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_item_dis td i{color:#a6a6a6;}div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_sep td{padding:5px 3px;}div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_sep td div.sub_sep{position:relative;font-size:1px;line-height:1px;height:0;width:100%;border-top:1px solid #dfdfdf;}div.dhtmlxMenu_material_SubLevelArea_Polygon div.dhtmlxMenu_material_SubLevelArea_ArrowUp,div.dhtmlxMenu_material_SubLevelArea_Polygon div.dhtmlxMenu_material_SubLevelArea_ArrowUp_Over,div.dhtmlxMenu_material_SubLevelArea_Polygon div.dhtmlxMenu_material_SubLevelArea_ArrowUp_Disabled{position:relative;font-size:1px;border-bottom:1px solid #dfdfdf;background-image:url("imgs/dhxmenu_material/dhxmenu_arrow_up.png");background-repeat:no-repeat;background-position:center 2px;padding:8px 0;margin-bottom:3px;}div.dhtmlxMenu_material_SubLevelArea_Polygon div.dhtmlxMenu_material_SubLevelArea_ArrowUp_Disabled{background-image:url("imgs/dhxmenu_material/dhxmenu_arrow_up_dis.png");}div.dhtmlxMenu_material_SubLevelArea_Polygon div.dhtmlxMenu_material_SubLevelArea_ArrowDown,div.dhtmlxMenu_material_SubLevelArea_Polygon div.dhtmlxMenu_material_SubLevelArea_ArrowDown_Over,div.dhtmlxMenu_material_SubLevelArea_Polygon div.dhtmlxMenu_material_SubLevelArea_ArrowDown_Disabled{position:relative;font-size:1px;border-top:1px solid #dfdfdf;background-image:url("imgs/dhxmenu_material/dhxmenu_arrow_down.png");background-repeat:no-repeat;background-position:center 6px;padding:8px 0;margin-top:3px;}div.dhtmlxMenu_material_SubLevelArea_Polygon div.dhtmlxMenu_material_SubLevelArea_ArrowDown_Disabled{background-image:url("imgs/dhxmenu_material/dhxmenu_arrow_down_dis.png");}iframe.dhtmlxMenu_IE6CoverFix_material{position:absolute;border:none;background:#000;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=100);}.dhtmlxMenu_material_Middle.dir_left div.align_left{float:left;}.dhtmlxMenu_material_Middle.dir_left div.align_right{float:right;}.dhxmenu_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:40px;height:10px;overflow:hidden;}@keyframes dhx_loader_rotate{100%{transform:rotate(360deg);}}@keyframes dhx_loader_dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0;}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px;}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px;}}.dhtmlxribbon_material{overflow:hidden;width:100%;}.dhtmlxribbon_material.dhxrb_without_tabbar{background-color:#fafafa;border:1px solid #dfdfdf;}.dhtmlxribbon_material .dhxrb_background_area{height:126px;background-color:#fafafa;margin:1px;}.dhtmlxribbon_material .dhxrb_with_tabbar{height:171px;}.dhtmlxribbon_material div.dhx_cell_tabbar{background-color:#fafafa;}.dhtmlxribbon_material .dhxrb_g_area{height:124px;float:left;clear:left;overflow:hidden;position:relative;}.dhtmlxribbon_material .dhxrb_block_base{margin:3px 0 3px 3px;float:left;border:1px solid #dfdfdf;background-color:#fafafa;height:118px;overflow:hidden;position:relative;}.dhtmlxribbon_material .dhxrb_block_base .dhxrb_block_items{height:95px;float:left;padding:2px 0;overflow:hidden;}.dhtmlxribbon_material .dhxrb_block_base>.dhxrb_block_label{height:19px;line-height:18px;*height:auto;*line-height:1em;}.dhtmlxribbon_material .dhxrb_block_base .dhxrb_block_label{text-align:center;clear:left;background-color:#ebebeb;*font-size:12px;*padding:1px 3px 3px;*font-family:Arial;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhtmlxribbon_material .dhxrb_big_button{margin:1px 3px;float:left;text-align:center;padding:4px 10px;height:82px;border:1px solid #fafafa;background-color:#fafafa;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhtmlxribbon_material .dhxrb_big_button .dhxrb_image{width:48px;height:48px;border:none;}.dhtmlxribbon_material .dhxrb_big_button i{position:relative;display:block;margin-top:2px;margin-bottom:2px;width:48px;height:48px;line-height:47px;font-size:30px;color:inherit;cursor:default;text-align:center;}.dhtmlxribbon_material .dhxrb_big_button .dhxrb_label_button{margin:0 auto;cursor:default;line-height:14px;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhtmlxribbon_material .dhxrb_big_button .dhxrb_invisible{visibility:hidden;}.dhtmlxribbon_material .dhxrb_3rows_block{float:left;margin:0 3px;overflow:hidden;position:relative;}.dhtmlxribbon_material .dhxrb_3rows_block .dhxrb_invisible{display:none;}.dhtmlxribbon_material .dhxrb_3rows_button{height:25px;margin:1px 0;float:left;clear:left;padding:1px 8px;border:1px solid #fafafa;background-color:#fafafa;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhtmlxribbon_material .dhxrb_in_row{height:22px;margin:1px 0;float:left;padding:1px 8px;white-space:nowrap;border:1px solid #fafafa;background-color:#fafafa;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhtmlxribbon_material .dhxrb_group .dhxrb_buttoncombo_cont{height:20px;}.dhtmlxribbon_material .dhxrb_buttoncombo_cont{height:24px;padding:0 2px!important;}.dhtmlxribbon_material .dhxrb_buttoncombo{float:left;}.dhtmlxribbon_material .dhxrb_in_row .dhxrb_slider,.dhtmlxribbon_material .dhxrb_3rows_button .dhxrb_slider{float:left;margin-right:5px;}.dhtmlxribbon_material .dhxrb_in_row center,.dhtmlxribbon_material .dhxrb_in_group center,.dhtmlxribbon_material .dhxrb_3rows_button center{float:left;margin:0;padding:0;}.dhtmlxribbon_material .dhxrb_in_group .dhxrb_slider{float:left;margin-right:5px;}.dhtmlxribbon_material .dhxrb_big_button .dhxrb_slider{width:16px;margin:2px 0;height:50px;}.dhtmlxribbon_material .dhxrb_in_group{height:23px;float:left;padding:1px 4px;border:1px solid #ebebeb;}.dhtmlxribbon_material .dhxrb_input{float:left;border:1px solid #dfdfdf;background-color:#fff;height:18px;width:80px;padding:1px 2px;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhtmlxribbon_material .dhxrb_input:disabled{color:#a6a6a6;}.dhtmlxribbon_material div.dhxcombo_material{height:24px;line-height:24px;}.dhtmlxribbon_material div.dhxcombo_material input.dhxcombo_input{float:left;height:24px;width:80px;padding:0 2px;line-height:24px;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhtmlxribbon_material .dhxrb_in_group .dhxrb_input{height:16px;padding:1px 1px;line-height:16px;}.dhtmlxribbon_material .dhxrb_in_group div.dhxcombo_material{height:20px;line-height:20px;}.dhtmlxribbon_material .dhxrb_in_group div.dhxcombo_material input.dhxcombo_input{height:20px;line-height:20px;}.dhtmlxribbon_material .dhxrb_in_group div.dhxcombo_material div.dhxcombo_select_button{top:0;}.dhtmlxribbon_material div.dhxcombo_material div.dhxcombo_select_button{top:2px;}.dhtmlxribbon_material .dhxrb_3rows_button .dhxrb_image,.dhtmlxribbon_material .dhxrb_in_row .dhxrb_image,.dhtmlxribbon_material .dhxrb_in_group .dhxrb_image{margin:3px 0;width:18px;height:18px;float:left;}.dhtmlxribbon_material .dhxrb_3rows_button i,.dhtmlxribbon_material .dhxrb_in_row i,.dhtmlxribbon_material .dhxrb_in_group i{position:relative;float:left;width:18px;height:18px;line-height:17px;font-size:15px;margin-top:3px;color:inherit;cursor:default;text-align:center;}.dhtmlxribbon_material .dhxrb_item_disable i{color:#a6a6a6;}.dhtmlxribbon_material .dhxrb_3rows_button .dhxrb_label_button,.dhtmlxribbon_material .dhxrb_in_row .dhxrb_label_button,.dhtmlxribbon_material .dhxrb_in_group .dhxrb_label_button{float:left;cursor:default;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhtmlxribbon_material .dhxrb_3rows_button .dhxrb_label_button,.dhtmlxribbon_material .dhxrb_in_row .dhxrb_label_button{margin:1px 0 1px 6px;line-height:22px;}.dhtmlxribbon_material .dhxrb_in_group .dhxrb_label_button{margin:1px;line-height:22px;}.dhtmlxribbon_material .dhxrb_label_checkbox{float:left;margin:0 4px;cursor:default;line-height:21px;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhtmlxribbon_material .dhxrb_group .dhxrb_label_checkbox{line-height:19px;}.dhtmlxribbon_material .dhxrb_disable_text_style,.dhtmlxribbon_material .dhxrb_item_disable .dhxrb_label_checkbox{color:#a6a6a6!important;}.dhtmlxribbon_material .dhxrb_highlight0{background-color:#ebebeb;border-color:#ebebeb;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhtmlxribbon_material .dhxrb_highlight1{background-color:#dcdcdc;border-color:#d2d2d2;box-shadow:0 0 4px rgba(127,127,127,0.2) inset;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhtmlxribbon_material .dhxrb_item_hide{display:none!important;}.dhtmlxribbon_material .dhxrb_block_rows{float:left;margin:0 3px;}.dhtmlxribbon_material .dhxrb_block_row{float:left;clear:left;height:28px;overflow:hidden;position:relative;}.dhtmlxribbon_material .dhxrb_arrow{padding:0 5px;margin-left:2px;background:url("imgs/dhxribbon_material/dhxribbon_arrow.gif") no-repeat 50%;}.dhtmlxribbon_material .dhxrb_item_disable .dhxrb_arrow{opacity:.4;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=40);}.dhtmlxribbon_material .dhxrb_3rows_block .dhxrb_group{border:1px solid #dcdcdc;background-color:#ebebeb;height:26px;float:left;clear:left;margin:1px 0;overflow:hidden;position:relative;}.dhtmlxribbon_material .dhxrb_block_row .dhxrb_group{border:1px solid #dfdfdf;background-color:#fafafa;height:24px;float:left;margin:1px 0;overflow:hidden;position:relative;}.dhtmlxribbon_material .dhxrb_in_group .dhxrb_label_hide{display:none;}.dhtmlxribbon_material .dhxrb_separator_groupp{height:27px;width:0;border-left:1px solid #dcdcdc;overflow:hidden;float:left;}.dhtmlxribbon_material .dhxrb_checkbox{border:1px solid #dfdfdf;background-color:white;float:left;width:12px;height:12px;margin-top:4px;overflow:hidden;}.dhtmlxribbon_material .dhxrb_in_group .dhxrb_checkbox{margin-top:3px;}.dhtmlxribbon_material .dhxrb_checked .dhxrb_checkbox{background-image:url("imgs/dhxribbon_material/dhxribbon_checked.gif");background-repeat:no-repeat;}.dhtmlxribbon_material .dhxrb_checked.dhxrb_item_disable>.dhxrb_checkbox{background-image:url("imgs/dhxribbon_material/dhxribbon_checked_dis.gif");}.dhtmlxribbon_material .dhxrb_item_disable .dhxrb_checkbox{background-color:#fafafa;}.dhtmlxribbon_material .dhxrb_item_text{font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhtmlxribbon_material .dhxrb_in_group .dhxrb_item_text{height:20px;line-height:19px;*float:left;*clear:left;}.dhtmlxribbon_material .dhxrb_3rows_button .dhxrb_item_text,.dhtmlxribbon_material .dhxrb_in_row .dhxrb_item_text{font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhtmlxribbon_material .dhxrb_big_button .dhxrb_item_text{line-height:82px;height:82px;float:left;clear:left;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhtmlxribbon_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:40px;height:10px;overflow:hidden;}@keyframes dhx_loader_rotate{100%{transform:rotate(360deg);}}@keyframes dhx_loader_dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0;}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px;}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px;}}.dhx_toolbar_material{background-color:#fafafa;position:relative;padding:0 5px;cursor:default;overflow:hidden;border:1px solid #dfdfdf;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhx_toolbar_material.dhx_toolbar_shadow{border-width:0;box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24);}.dhx_toolbar_material div.dhxtoolbar_float_left{float:left;}.dhx_toolbar_material div.dhxtoolbar_float_right{float:right;}.dhx_toolbar_material div.dhx_toolbar_btn,.dhx_toolbar_material div.dhx_toolbar_arw{position:relative;float:left;border-style:solid;border-color:#fafafa;border-width:0 1px 0 1px;line-height:inherit;cursor:default;overflow:hidden;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhx_toolbar_material div.dhx_toolbar_btn.dhxtoolbar_btn_dis,.dhx_toolbar_material div.dhx_toolbar_arw.dhxtoolbar_btn_dis{color:#a6a6a6;}.dhx_toolbar_material div.dhx_toolbar_btn.dhxtoolbar_btn_dis i,.dhx_toolbar_material div.dhx_toolbar_arw.dhxtoolbar_btn_dis i{color:#c0c0c0;}.dhx_toolbar_material div.dhx_toolbar_btn.dhxtoolbar_btn_dis div.dhxtoolbar_sl_bg_l,.dhx_toolbar_material div.dhx_toolbar_btn.dhxtoolbar_btn_dis div.dhxtoolbar_sl_bg_m,.dhx_toolbar_material div.dhx_toolbar_btn.dhxtoolbar_btn_dis div.dhxtoolbar_sl_bg_r,.dhx_toolbar_material div.dhx_toolbar_arw.dhxtoolbar_btn_dis div.dhxtoolbar_sl_bg_l,.dhx_toolbar_material div.dhx_toolbar_arw.dhxtoolbar_btn_dis div.dhxtoolbar_sl_bg_m,.dhx_toolbar_material div.dhx_toolbar_arw.dhxtoolbar_btn_dis div.dhxtoolbar_sl_bg_r{border-color:#dfdfdf;background-color:#fafafa;}.dhx_toolbar_material div.dhx_toolbar_btn.dhxtoolbar_btn_dis div.dhxtoolbar_sl_pen,.dhx_toolbar_material div.dhx_toolbar_arw.dhxtoolbar_btn_dis div.dhxtoolbar_sl_pen{background-color:#dfdfdf;border:1px solid white;width:10px;height:10px;}.dhx_toolbar_material div.dhx_toolbar_btn.dhxtoolbar_btn_over,.dhx_toolbar_material div.dhx_toolbar_arw.dhxtoolbar_btn_over{background-color:#ebebeb;border-color:#ebebeb;}.dhx_toolbar_material div.dhx_toolbar_btn.dhxtoolbar_btn_pres,.dhx_toolbar_material div.dhx_toolbar_arw.dhxtoolbar_btn_pres{background-color:#dcdcdc;border-color:#d2d2d2;box-shadow:0 0 4px rgba(127,127,127,0.2) inset;}.dhx_toolbar_material div.dhx_toolbar_btn{padding:0 5px;}.dhx_toolbar_material div.dhx_toolbar_btn.dhxtoolbar_btn_pres_dis{background-color:#ececec;border-color:#dfdfdf;color:#a6a6a6;box-shadow:0 0 4px rgba(127,127,127,0.2) inset;}.dhx_toolbar_material div.dhx_toolbar_btn img{float:left;margin-right:2px;margin-left:2px;cursor:default;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhx_toolbar_material div.dhx_toolbar_btn i{float:left;margin:0 2px;text-align:center;cursor:default;color:#666;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhx_toolbar_material div.dhx_toolbar_btn div.dhxtoolbar_text{float:left;position:relative;font:inherit;margin:0 4px;padding:0;cursor:default;overflow:hidden;white-space:nowrap;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhx_toolbar_material div.dhx_toolbar_btn input.dhxtoolbar_input{position:relative;border:1px solid #dfdfdf;background-color:#fff;margin:0 4px;padding:2px 4px 3px 4px;line-height:normal;direction:ltr;outline:none;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhx_toolbar_material div.dhx_toolbar_btn input.dhxtoolbar_input:disabled{color:#a6a6a6;}.dhx_toolbar_material div.dhx_toolbar_arw{padding:0 6px;margin-left:-1px;z-index:1;}.dhx_toolbar_material div.dhx_toolbar_arw.dhxtoolbar_btn_over{border-left-color:#e3e3e3;}.dhx_toolbar_material div.dhx_toolbar_arw.dhxtoolbar_btn_pres{border-left-color:#cbcbcb;box-shadow:0 0 3px rgba(127,127,127,0.18) inset;}.dhx_toolbar_material div.dhx_toolbar_arw div.arwimg{position:relative;width:7px;background-image:url("imgs/dhxtoolbar_material/dhxtoolbar_arrow.gif");background-position:center center;background-repeat:no-repeat;}.dhx_toolbar_material div.dhx_toolbar_arw.dhxtoolbar_btn_dis div.arwimg{background-image:url("imgs/dhxtoolbar_material/dhxtoolbar_arrow_dis.gif");}.dhx_toolbar_material div.dhx_toolbar_sep{float:left;position:relative;border-left:1px solid #dfdfdf;margin:3px 8px 0 8px;width:0;overflow:hidden;cursor:default;font-size:1px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhx_toolbar_material div.dhx_toolbar_text{float:left;position:relative;padding:0 5px;font:inherit;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhx_toolbar_material div.dhxtoolbar_sl_bg_l,.dhx_toolbar_material div.dhxtoolbar_sl_bg_m,.dhx_toolbar_material div.dhxtoolbar_sl_bg_r{float:left;line-height:1px;padding:0;width:2px;font-size:1px;border-color:#d2d2d2;border-width:1px 0 1px 0;border-style:solid;overflow:hidden;}.dhx_toolbar_material div.dhxtoolbar_sl_bg_l{margin-left:4px;border-left-width:1px;}.dhx_toolbar_material div.dhxtoolbar_sl_bg_r{margin-right:4px;border-right-width:1px;}.dhx_toolbar_material div.dhxtoolbar_sl_pen,.dhx_toolbar_material div.dhxtoolbar_sl_pen.dhxtoolbar_over{position:absolute;border-radius:50%;width:12px;height:12px;background-color:#39c;cursor:default;font-size:1px;line-height:1px;overflow:hidden;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhx_toolbar_material.dhxtoolbar_icons_18{height:32px;line-height:32px;}.dhx_toolbar_material.dhxtoolbar_icons_18 div.dhx_toolbar_btn,.dhx_toolbar_material.dhxtoolbar_icons_18 div.dhx_toolbar_arw,.dhx_toolbar_material.dhxtoolbar_icons_18 div.dhx_toolbar_text{height:32px;line-height:32px;}.dhx_toolbar_material.dhxtoolbar_icons_18 div.dhx_toolbar_btn img{margin-top:7px;width:18px;height:18px;}.dhx_toolbar_material.dhxtoolbar_icons_18 div.dhx_toolbar_btn i{width:18px;height:32px;line-height:31px;font-size:17px;}.dhx_toolbar_material.dhxtoolbar_icons_18 div.dhx_toolbar_btn div.dhxtoolbar_text{height:32px;line-height:32px;}.dhx_toolbar_material.dhxtoolbar_icons_18 div.dhx_toolbar_sep{height:26px;}.dhx_toolbar_material.dhxtoolbar_icons_18 div.dhxtoolbar_sl_bg_l,.dhx_toolbar_material.dhxtoolbar_icons_18 div.dhxtoolbar_sl_bg_m,.dhx_toolbar_material.dhxtoolbar_icons_18 div.dhxtoolbar_sl_bg_r{margin-top:16px;}.dhx_toolbar_material.dhxtoolbar_icons_18 div.dhxtoolbar_sl_pen,.dhx_toolbar_material.dhxtoolbar_icons_18 div.dhxtoolbar_sl_pen.dhxtoolbar_over{top:11px;}.dhx_toolbar_material.dhxtoolbar_icons_24{height:42px;line-height:42px;}.dhx_toolbar_material.dhxtoolbar_icons_24 div.dhx_toolbar_btn,.dhx_toolbar_material.dhxtoolbar_icons_24 div.dhx_toolbar_arw,.dhx_toolbar_material.dhxtoolbar_icons_24 div.dhx_toolbar_text{height:42px;line-height:42px;}.dhx_toolbar_material.dhxtoolbar_icons_24 div.dhx_toolbar_btn img{margin-top:9px;width:24px;height:24px;}.dhx_toolbar_material.dhxtoolbar_icons_24 div.dhx_toolbar_btn i{width:24px;height:42px;line-height:41px;font-size:22px;}.dhx_toolbar_material.dhxtoolbar_icons_24 div.dhx_toolbar_btn div.dhxtoolbar_text{height:42px;line-height:42px;}.dhx_toolbar_material.dhxtoolbar_icons_24 div.dhx_toolbar_sep{height:36px;}.dhx_toolbar_material.dhxtoolbar_icons_24 div.dhxtoolbar_sl_bg_l,.dhx_toolbar_material.dhxtoolbar_icons_24 div.dhxtoolbar_sl_bg_m,.dhx_toolbar_material.dhxtoolbar_icons_24 div.dhxtoolbar_sl_bg_r{margin-top:21px;}.dhx_toolbar_material.dhxtoolbar_icons_24 div.dhxtoolbar_sl_pen,.dhx_toolbar_material.dhxtoolbar_icons_24 div.dhxtoolbar_sl_pen.dhxtoolbar_over{top:16px;}.dhx_toolbar_material.dhxtoolbar_icons_32{height:52px;line-height:52px;}.dhx_toolbar_material.dhxtoolbar_icons_32 div.dhx_toolbar_btn,.dhx_toolbar_material.dhxtoolbar_icons_32 div.dhx_toolbar_arw,.dhx_toolbar_material.dhxtoolbar_icons_32 div.dhx_toolbar_text{height:52px;line-height:52px;}.dhx_toolbar_material.dhxtoolbar_icons_32 div.dhx_toolbar_btn img{margin-top:10px;width:32px;height:32px;}.dhx_toolbar_material.dhxtoolbar_icons_32 div.dhx_toolbar_btn i{width:32px;height:52px;line-height:51px;font-size:27px;}.dhx_toolbar_material.dhxtoolbar_icons_32 div.dhx_toolbar_btn div.dhxtoolbar_text{height:52px;line-height:52px;}.dhx_toolbar_material.dhxtoolbar_icons_32 div.dhx_toolbar_sep{height:46px;}.dhx_toolbar_material.dhxtoolbar_icons_32 div.dhxtoolbar_sl_bg_l,.dhx_toolbar_material.dhxtoolbar_icons_32 div.dhxtoolbar_sl_bg_m,.dhx_toolbar_material.dhxtoolbar_icons_32 div.dhxtoolbar_sl_bg_r{margin-top:26px;}.dhx_toolbar_material.dhxtoolbar_icons_32 div.dhxtoolbar_sl_pen,.dhx_toolbar_material.dhxtoolbar_icons_32 div.dhxtoolbar_sl_pen.dhxtoolbar_over{top:21px;}.dhx_toolbar_material.dhxtoolbar_icons_48{height:62px;line-height:62px;}.dhx_toolbar_material.dhxtoolbar_icons_48 div.dhx_toolbar_btn,.dhx_toolbar_material.dhxtoolbar_icons_48 div.dhx_toolbar_arw,.dhx_toolbar_material.dhxtoolbar_icons_48 div.dhx_toolbar_text{height:62px;line-height:62px;}.dhx_toolbar_material.dhxtoolbar_icons_48 div.dhx_toolbar_btn img{margin-top:7px;width:48px;height:48px;}.dhx_toolbar_material.dhxtoolbar_icons_48 div.dhx_toolbar_btn i{width:48px;height:62px;line-height:61px;font-size:32px;}.dhx_toolbar_material.dhxtoolbar_icons_48 div.dhx_toolbar_btn div.dhxtoolbar_text{height:62px;line-height:62px;}.dhx_toolbar_material.dhxtoolbar_icons_48 div.dhx_toolbar_sep{height:56px;}.dhx_toolbar_material.dhxtoolbar_icons_48 div.dhxtoolbar_sl_bg_l,.dhx_toolbar_material.dhxtoolbar_icons_48 div.dhxtoolbar_sl_bg_m,.dhx_toolbar_material.dhxtoolbar_icons_48 div.dhxtoolbar_sl_bg_r{margin-top:31px;}.dhx_toolbar_material.dhxtoolbar_icons_48 div.dhxtoolbar_sl_pen,.dhx_toolbar_material.dhxtoolbar_icons_48 div.dhxtoolbar_sl_pen.dhxtoolbar_over{top:26px;}div.dhx_toolbar_poly_material{position:absolute;padding:5px 0;background-color:#fafafa;overflow:hidden;cursor:default;line-height:normal;overflow-y:auto;border:1px solid #dfdfdf;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}div.dhx_toolbar_poly_material.dhx_toolbar_shadow{border-width:0;box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24);}div.dhx_toolbar_poly_material td{line-height:normal;padding:0;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}div.dhx_toolbar_poly_material td.td_btn_img{width:18px;text-align:center;}div.dhx_toolbar_poly_material td.td_btn_img img.btn_sel_img{margin:4px 6px 0 6px;width:18px;height:18px;}div.dhx_toolbar_poly_material td.td_btn_img i{width:18px;height:30px;line-height:29px;margin:0 6px;font-size:1.12em;text-align:center;color:#5a5a5a;}div.dhx_toolbar_poly_material td.td_btn_txt div.btn_sel_text{position:relative;height:30px;line-height:30px;padding:0 22px 0 1px;overflow:hidden;}div.dhx_toolbar_poly_material .tr_btn_over td,div.dhx_toolbar_poly_material .tr_btn_selected td{background-color:#ebebeb;}div.dhx_toolbar_poly_material .tr_btn_disabled td,div.dhx_toolbar_poly_material .tr_btn_disabled td i{color:#a6a6a6;}div.dhx_toolbar_poly_material tr.tr_sep td{padding:5px 3px;}div.dhx_toolbar_poly_material tr.tr_sep td div.btn_sep{position:relative;font-size:1px;line-height:1px;height:0;width:100%;border-top:1px solid #dfdfdf;}div.dhx_toolbar_slider_label_material{position:absolute;background-color:#fafafa;padding:6px 12px;overflow:hidden;cursor:default;line-height:normal;box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24);font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxtoolbar_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:40px;height:10px;overflow:hidden;}.dhxtoolbar_maxopen_test{position:absolute;width:200px;height:50px;overflow-x:none;overflow-y:auto;left:-300px;top:100px;border:1px solid white;visibility:hidden;}.dhxtoolbar_maxopen_test2{height:200px;}.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging,.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging,.dhxtabbar_base_material div.dhx_cell_tabbar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging,.dhxcarousel_base_material div.dhx_cell_carousel div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging,.dhxsidebar_base_material div.dhx_cell_sidebar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging{height:33px;}.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging .dhx_toolbar_material,.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging .dhx_toolbar_material,.dhxtabbar_base_material div.dhx_cell_tabbar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging .dhx_toolbar_material,.dhxcarousel_base_material div.dhx_cell_carousel div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging .dhx_toolbar_material,.dhxsidebar_base_material div.dhx_cell_sidebar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging .dhx_toolbar_material{box-shadow:none;border-width:0 1px 1px 1px;}.dhxwins_vp_material div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging{height:32px;}.dhxwins_vp_material div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging .dhx_toolbar_material{border-width:0 1px 1px 0;}@keyframes dhx_loader_rotate{100%{transform:rotate(360deg);}}@keyframes dhx_loader_dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0;}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px;}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px;}}.dhxeditor_material{position:relative;}.dhxeditor_material iframe.dhxeditor_mainiframe{position:absolute;overflow:hidden;font:inherit;top:0;left:0;width:100%;height:100%;}.dhxeditor_material div.dhx_cell_editor{position:absolute;background-color:white;margin:0;padding:0;overflow:hidden;cursor:default;z-index:0;}.dhxeditor_material div.dhx_cell_editor div.dhx_cell_cont_editor{position:absolute;overflow:hidden;}.dhxeditor_material div.dhx_cell_editor div.dhx_cell_stb{position:relative;height:32px;line-height:32px;padding:0 5px;margin:7px;border:1px solid #dfdfdf;background-color:#fafafa;overflow:hidden;}.dhxeditor_material div.dhx_cell_editor div.dhx_cell_stb.dhx_cell_stb_shadow{border-width:0;box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24);}.dhxeditor_material div.dhx_cell_editor div.dhx_cell_stb a{position:relative;float:left;padding:0 8px;border-style:solid;border-color:#fafafa;border-width:0 1px 0 1px;}.dhxeditor_material div.dhx_cell_editor div.dhx_cell_stb a div.dhx_cell_stb_button{position:relative;float:left;width:18px;height:32px;line-height:32px;font-size:1px;cursor:pointer;background-image:url("imgs/dhxeditor_material/buttons.png");background-position:0 7px;background-repeat:no-repeat;}.dhxeditor_material div.dhx_cell_editor div.dhx_cell_stb a div.dhx_cell_stb_button.btn_italic{background-position:-18px 7px;}.dhxeditor_material div.dhx_cell_editor div.dhx_cell_stb a div.dhx_cell_stb_button.btn_underline{background-position:-36px 7px;}.dhxeditor_material div.dhx_cell_editor div.dhx_cell_stb a div.dhx_cell_stb_button.btn_clearformat{background-position:-54px 7px;}.dhxeditor_material div.dhx_cell_editor div.dhx_cell_stb a:hover{background-color:#ebebeb;border-color:#ebebeb;}.dhxeditor_material div.dhx_cell_editor div.dhx_cell_toolbar_def{position:relative;overflow:hidden;padding:7px;}.dhxeditor_material div.dhx_cell_editor div.dhx_cell_toolbar_def div.dhx_toolbar_material{box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24);}.dhxeditor_material.stb_height_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:50px;height:1px;overflow:hidden;}.dhxeditor_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:40px;height:10px;overflow:hidden;}@keyframes dhx_loader_rotate{100%{transform:rotate(360deg);}}@keyframes dhx_loader_dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0;}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px;}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px;}}.dhx_tooltip{display:none;position:absolute;color:#626262;z-index:10000;padding:4px 10px 4px 10px;border:1px solid #fff;border-radius:2px;text-shadow:0 1px 1px #fff;box-shadow:0 0 5px #d9d9d9;background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#efefef),color-stop(0.5,#f6f6f6),color-stop(1,#efefef));background:-o-linear-gradient(#efefef 0,#f6f6f6 50%,#efefef 100%);background:-ms-linear-gradient(#efefef 0,#f6f6f6 50%,#efefef 100%);background:-moz-linear-gradient(#efefef 0,#f6f6f6 50%,#efefef 100%);background:#efefef;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhx_chart{position:relative;font-family:Roboto,Arial,Helvetica;font-size:14px;color:#404040;overflow:hidden;z-index:0;}.dhx_chart canvas{position:absolute;left:0;top:0;}.dhx_canvas_text{position:absolute;text-align:center;overflow:hidden;white-space:nowrap;z-index:1000;}.dhx_map_img{width:100%;height:100%;position:absolute;top:0;left:0;border:0;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}.dhx_axis_item_y{position:absolute;height:18px;line-height:18px;margin-top:-4px;text-align:right;}.dhx_axis_title_x{text-align:center;}.dhx_axis_title_y{text-align:center;height:18px;line-height:18px;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;-webkit-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-ms-transform:rotate(-90deg);-o-transform:rotate(-90deg);transform:rotate(-90deg);}.dhx_ie_filter{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);zoom:1;font-family:serif;}.dhx_chart_legend{position:absolute;z-index:1000;}.dhx_chart_legend_item{height:18px;line-height:18px;padding:2px;cursor:pointer;}.dhx_chart_legend_item.hidden{color:#aaa;}.dhx_axis_item_y.dhx_radar{color:#404040;font-size:12px;padding-right:3px;height:13px;line-height:13px;margin-top:0;}.dhx_canvas_text.dhx_axis_radar_title{margin-top:0;padding-top:0;}.dhx_axis_item_y,.dhx_axis_item_x{color:#404040;}.dhx_axis_item_x{padding-top:2px;}@keyframes dhx_loader_rotate{100%{transform:rotate(360deg);}}@keyframes dhx_loader_dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0;}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px;}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px;}}.dhx_tooltip{display:none;position:absolute;font-family:Roboto,Arial,Helvetica;color:#626262;font-size:14px;z-index:10000;padding:4px 10px 4px 10px;border:1px solid #fff;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;-moz-box-shadow:0 0 3px #d9d9d9;-webkit-box-shadow:0 0 3px #d9d9d9;text-shadow:0 1px 1px #fff;box-shadow:0 0 5px #d9d9d9;background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#efefef),color-stop(0.5,#f6f6f6),color-stop(1,#efefef));background:-o-linear-gradient(#efefef 0,#f6f6f6 50%,#efefef 100%);background:-ms-linear-gradient(#efefef 0,#f6f6f6 50%,#efefef 100%);background:-moz-linear-gradient(#efefef 0,#f6f6f6 50%,#efefef 100%);background:#efefef;}.dhx_noselect{-moz-user-select:none;-moz-user-select:-moz-none;-khtml-user-select:none;}.dhx_allow_selection{-moz-user-select:text;-user-select:text;}.dhx_dataview{overflow-y:auto;-webkit-overflow-scrolling:touch;overflow-x:hidden;-moz-user-select:none;-moz-user-select:-moz-none;-khtml-select:none;}.dhx_drag_zone{position:absolute;border:1px solid #A4BED4;z-index:8000;-moz-box-shadow:5px 5px 5px #888;-khtml-box-shadow:5px 5px 5px #888;background:#fff;}.dhx_dataview_default_item,.dhx_dataview_default_item_selected{cursor:pointer;background-color:white;}.dhx_dataview .dhx_dataview_default_item,.dhx_dataview .dhx_dataview_default_item_selected{border-right:1px solid #eee;border-bottom:1px solid #eee;}.dhx_dataview .dhx_dataview_default_item_selected{background-color:#eee;border-color:#eee;color:#404040;background-repeat:repeat-y;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAABAQMAAADO7O3JAAAAA1BMVEUzmc3EAelNAAAACklEQVQI12NgAAAAAgAB4iG8MwAAAABJRU5ErkJggg==");position:relative;}.dhx_dataview_item{font-family:Roboto,Arial,Helvetica;font-size:14px;color:#404040;}.dhx_dataview_item .dhx_strong{font-weight:bold;display:block;padding-bottom:6px;}.dhx_dataview_default_item_selected .dhx_light{color:#C3C3C3;}.dhx_dataview_item .dhx_light{color:#919191;}.dhx_drag_over{background-color:#eee;background-repeat:repeat-x;}.dhx_pager_item,.dhx_pager_item_selected{float:left;text-align:center;height:16px;font-family:Roboto,Arial,Helvetica;font-size:10pt;border:1px solid gray;padding:2px 4px;margin-left:5px;cursor:pointer;background-color:white;}.dhx_pager_item_selected{background-color:lightgrey;color:white;cursor:default;font-weight:bold;}@keyframes dhx_loader_rotate{100%{transform:rotate(360deg);}}@keyframes dhx_loader_dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0;}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px;}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px;}}.dhx_list{overflow-y:auto;-webkit-overflow-scrolling:touch;overflow-x:hidden;-moz-user-select:none;-moz-user-select:-moz-none;-khtml-select:none;}.dhx_list_default_item,.dhx_list_default_item_selected{cursor:pointer;}.dhx_list .dhx_list_default_item,.dhx_list .dhx_list_default_item_selected{border-right:none;border-bottom:1px solid #eee;border-left:2px solid transparent;}.dhx_list .dhx_list_default_item_selected{background-color:#eee;color:#404040;border-color:#eee;background-repeat:repeat-x;border-left:2px solid #39c;}.dhx_list_item{font-family:Roboto,Arial,Helvetica;font-size:14px;color:#404040;box-sizing:border-box;line-height:normal;}.dhx_list_item textarea{resize:none;margin-top:-8px;}.dhx_list_item .dhx_strong{font-weight:bold;display:block;padding-bottom:6px;}.dhx_list_default_item_selected .dhx_light{color:#C3C3C3;}.dhx_list_item .dhx_light{color:#919191;}@keyframes dhx_loader_rotate{100%{transform:rotate(360deg);}}@keyframes dhx_loader_dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0;}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px;}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px;}}.defaultTreeTable{margin:0;padding:0;border:0;}.containerTableStyle{overflow:auto;-webkit-overflow-scrolling:touch;position:relative;top:0;font-size:12px;-khtml-user-select:none;}.containerTableStyleRTL span{direction:rtl;unicode-bidi:bidi-override;}.containerTableStyleRTL{direction:rtl;overflow:auto;position:relative;top:0;font-size:12px;}.standartTreeRow{font-family:Roboto,Arial,Helvetica;font-size:14px;-moz-user-select:none;line-height:24px;}.selectedTreeRow{font-family:Roboto,Arial,Helvetica;font-size:14px;-moz-user-select:none;background-color:#eee;color:#39c;}.dhxtree_material .selectedTreeRowFull .dhxTextCell{background-color:#eee;color:#39c;}.dragAndDropRow{color:#39c;}.standartTreeRow_lor{text-decoration:underline;background-color:white;font-family:Roboto,Arial,Helvetica;font-size:14px;-moz-user-select:none;}.standartTreeImage{height:24px;overflow:hidden;border:0;padding:0;margin:0;font-size:1px;}.standartTreeImage img{width:18px;height:24px;background-position:center center;background-repeat:no-repeat;border:0;padding:0;margin:0;font-size:1px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.hiddenRow{width:1px;overflow:hidden;}.dragSpanDiv,.dragSpanDiv td{font-family:Roboto,Arial,Helvetica;font-size:14px;line-height:14px;vertical-align:center;background-color:white;z-index:999;}.dragSpanDiv td{padding:5px;}.a_dhx_hidden_input{position:absolute;top:-1px;left:-1px;width:1px;height:1px;border:none;background:none;}.a_dhx_hidden_input{position:absolute;top:-1px;left:-1px;width:1px;height:1px;border:none;background:none;}.selectionBar{top:0;background-color:black;position:absolute;overflow:hidden;height:2px;z-index:11;}.intreeeditRow{font-size:8pt;height:16px;border:1px solid silver;padding:0;margin:0;margin-left:4px;-moz-user-select:text;-khtml-user-select:text;}.dhx_tree_textSign{font-size:8pt;font-family:monospace;width:21px;color:#404040;padding:0;margin:0;cursor:pointer;text-align:center;}.dhx_tree_opacity{opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhx_bg_img_fix{width:18px;height:24px;background-repeat:no-repeat;background-position:center;background-position-x:center;background-position-y:center;}.dhxtree_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:40px;height:10px;overflow:hidden;}@keyframes dhx_loader_rotate{100%{transform:rotate(360deg);}}@keyframes dhx_loader_dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0;}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px;}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px;}}.dhxtreeview_material{position:relative;overflow:hidden;background-color:white;}.dhxtreeview_material div.dhxtreeview_cont{position:absolute;overflow:auto;background-color:white;}.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area{position:relative;}.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_kids_cont{position:relative;-webkit-transition:opacity .1s;-moz-transition:opacity .1s;-ms-transition:opacity .1s;-o-transition:opacity .1s;transition:opacity .1s;}.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item{position:relative;white-space:nowrap;cursor:default;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text{position:relative;padding:0;margin:0;height:32px;line-height:31px;color:inherit;vertical-align:middle;border-left:3px solid white;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:default;}.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_label{position:absolute;top:0;padding:0 10px 0 4px;height:32px;line-height:inherit;font:inherit;}.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected,.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected:hover{background-color:#ebebeb;border-color:#39c;}.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected div.dhxtreeview_item_label,.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected:hover div.dhxtreeview_item_label{background-color:#ebebeb;}.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text:hover{background-color:#f5f5f5;border-color:#f5f5f5;}.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text:hover div.dhxtreeview_item_label{background-color:#f5f5f5;}.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon{position:absolute;width:22px;top:0;height:32px;line-height:30px;text-align:center;font-size:16px;color:#737373;overflow:hidden;}.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon{position:absolute;left:0;top:0;width:22px;height:32px;background-repeat:no-repeat;background-position:center center;}.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_plus{background-image:url(imgs/dhxtreeview_material/icon_plus.gif);}.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_minus{background-image:url(imgs/dhxtreeview_material/icon_minus.gif);}.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_file{background-image:url(imgs/dhxtreeview_material/icon_file.gif);}.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_folder_closed{background-image:url(imgs/dhxtreeview_material/icon_folder_closed.gif);}.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_folder_opened{background-image:url(imgs/dhxtreeview_material/icon_folder_opened.gif);}.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_loading{background-image:url(imgs/dhxtreeview_material/loading.gif);}.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_chbx_0{background-image:url(imgs/dhxtreeview_material/icon_chbx_0.gif);}.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_chbx_1{background-image:url(imgs/dhxtreeview_material/icon_chbx_1.gif);}.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_chbx_dis_0{background-image:url(imgs/dhxtreeview_material/icon_chbx_dis_0.gif);}.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_chbx_dis_1{background-image:url(imgs/dhxtreeview_material/icon_chbx_dis_1.gif);}.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa{position:absolute;line-height:32px;left:4px;width:10px;text-align:left;overflow:visible;}.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa.fa-square-o.dhx-disabled,.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa.fa-check-square-o.dhx-disabled{color:#b3b3b3;}.dhxtreeview_material div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_drop_preview{display:none;position:absolute;height:0;width:40px;border-bottom:2px dotted #39c;z-index:1;}.dhxtreeview_material div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_drop_preview.dhxtreeview_drop_0{display:block;top:-1px;}.dhxtreeview_material div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_drop_preview.dhxtreeview_drop_2{display:block;top:31px;}.dhxtreeview_material div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item.dhxtreeview_item_dragged{opacity:.5;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);}.dhxtreeview_material div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_drop_1,.dhxtreeview_material div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_drop_1:hover{background-color:#ebebeb;border-color:#ebebeb;}.dhxtreeview_material div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_drop_1 div.dhxtreeview_item_label,.dhxtreeview_material div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_drop_1:hover div.dhxtreeview_item_label{background-color:#ebebeb;}.dhxtreeview_material div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected,.dhxtreeview_material div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected:hover{border-color:#ebebeb;background-color:#ebebeb;}.dhxtreeview_material div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected div.dhxtreeview_item_label,.dhxtreeview_material div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected:hover div.dhxtreeview_item_label{background-color:#ebebeb;}.dhxtreeview_material div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text:hover{background-color:white;border-color:white;}.dhxtreeview_material div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text:hover div.dhxtreeview_item_label{background-color:white;}.dhxtreeview_material.dhxtreeview_with_border{border:1px solid white;}.dhxtreeview_material.dhxtreeview_icon_width{position:absolute;left:0;top:-100px;width:22px;height:1px;font-size:1px;margin:0;padding:0;overflow:hidden;}.dhxtreeview_dragged_obj_material{position:absolute;color:#3f3f3f;font-family:Roboto,Arial,Helvetica;font-size:14px;white-space:nowrap;cursor:default;background-color:#fafafa;border-radius:1px;box-shadow:0 0 10px rgba(90,90,90,0.2);padding:6px 14px;border:1px solid #e0e0e0;}html.dhxtreeview_dnd_mode,html.dhxtreeview_dnd_mode *,body.dhxtreeview_dnd_mode,body.dhxtreeview_dnd_mode *{cursor:default;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}div.dhx_popup_material div.dhx_popup_area td.dhx_popup_td div.dhxtreeview_material div.dhxtreeview_item div.dhxtreeview_item_label{white-space:nowrap;}.dhxtreeview_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:40px;height:10px;overflow:hidden;}@keyframes dhx_loader_rotate{100%{transform:rotate(360deg);}}@keyframes dhx_loader_dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0;}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px;}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px;}}div.gridbox{overflow:hidden;text-align:left;}.dhx_sub_row{background-color:white;}div.gridbox .xhdr{background-color:#D4D0C8;}div.gridbox table.obj{height:1px;}div.gridbox table.hdr td{line-height:normal;font-size:14px;font-family:Roboto,Arial,Helvetica;color:red;background-color:#D4D0C8;border:px solid;border-color:white;text-align:center;margin:0;padding:5px 0 5px 0;font-weight:normal;overflow:hidden;empty-cells:show;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}div.gridbox table.obj td{overflow:hidden;padding-top:0;padding-bottom:0;empty-cells:show;white-space:normal;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}div.gridbox table.obj th,div.gridbox table.hdr th{padding:0;margin:0;}div.gridbox table.row20px tr td{height:20px;white-space:nowrap;padding:0;}div.gridbox .objbox{background-color:white;position:relative;-webkit-overflow-scrolling:touch;}div.gridbox table.obj td span.space,div.gridbox table.obj td img.space{width:18px;}div.gridbox table.obj td.editable{-webkit-user-select:text;-khtml-user-select:text;-moz-user-select:text;-ms-user-select:text;-o-user-select:text;user-select:text;}div.gridbox table.obj td.group_row{vertical-align:middle;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;font-weight:bold;height:30px;border:0;border-bottom:2px solid navy;}.dragSpanDiv{font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;border:1px gray solid;background-color:white;z-index:999;}.dhx_combo_select{font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;border:1px solid;border-color:black silver silver black;background-color:white;overflow:auto;cursor:default;position:absolute;height:auto;z-index:600;}.dhx_combo_edit{width:100%;border:0;padding:0;padding-right:1px!ie;margin:0;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;overflow:hidden;display:block;}table.obj.row20px .dhx_combo_edit{line-height:28px;}.dhx_textarea{border:1px solid;border-color:black silver silver black;position:absolute;height:100px;z-index:600;}.dhx_clist{background-color:white;border:1px solid black;padding:2px 2px 2px 2px;z-index:300;}.gridDragLine{position:absolute;top:10px;left:0;width:100%;height:2px;background-color:black;overflow:hidden;pointer-events:none;}div.pagingBlock{font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}div.pagingBlock .pagingCurrentPage{font-weight:bold;cursor:default;}div.pagingBlock .pagingPage{cursor:pointer;text-decoration:underline;}span.recordsInfoBlock{font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}div.pagingBlock a{text-decoration:none;padding-right:2px;color:black;cursor:pointer;}div.pagingBlock a.dhx_not_active{text-decoration:none;cursor:default;}.toolbar_select{font-size:10px;}.dhtmlxGrid_selection{opacity:.5;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);background-color:yellow;border:1px dotted black;}div.gridbox div.ftr{position:absolute;left:0;bottom:1px;width:100%;overflow:hidden;}div.gridbox div.ftr td{padding:5px 5px 5px 10px;border-top:1px solid gray;border-right:1px solid white;background-color:white;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;overflow:hidden;}div.gridbox table.hdr td.columnTargetR div.hdrcell{border-right:3px double #F60;border-left:3px solid #D4D0C8;}div.gridbox table.hdr td.columnTargetL div.hdrcell{border-right:3px solid #D4D0C8;border-left:3px double #F60;}.dhx_dragColDiv{font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;background-color:#D4D0C8;border:1px solid;border-color:white Gray Gray white;text-align:center;margin:0;padding:5px 20px 5px 20px;font-weight:normal;opacity:.75;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=75);z-index:100;}.dhtmlx_live_validation_error{background-color:#FFE0E0!important;}.dhtmlx_validation_error{border-bottom:2px solid red!important;}.dhx_header_cmenu{background-color:#fff;border:2px outset silver;z-index:2;}.dhx_header_cmenu_item{white-space:nowrap;}div.gridbox .filter input,div.gridbox .filter select{width:100%;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;-webkit-user-select:text;-khtml-user-select:text;-moz-user-select:text;-ms-user-select:text;-o-user-select:text;user-select:text;padding:2px;box-sizing:border-box;}div.gridbox .filter input::-ms-clear{display:none;}div.gridbox_material.gridbox .xhdr{background-color:white;border-bottom:1px solid #dfdfdf;}div.gridbox_material.gridbox table.hdr tr{background-color:white;}div.gridbox_material.grid table.obj{font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}div.gridbox_material.gridbox table.obj tr td{border-bottom:1px solid #fff;border-right:1px solid #fff;padding-right:4px;padding-left:4px;overflow:hidden;}div.gridbox_material.gridbox table.hdr td div.hdrcell{overflow:hidden;width:auto;padding-left:4px;width:100%!ie;}div.gridbox_material.gridbox table.hdr td{border-width:0 1px 0 0;border:1px solid white;overflow:hidden;empty-cells:show;white-space:normal;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;padding:9px 0 8px 0;background-color:white;font-size:12px;font-family:Roboto,Arial,Helvetica;color:#9f9f9f;font-weight:500;vertical-align:top;text-align:left;position:relative;}div.gridbox_material.gridbox table.hdr tr:nth-child(2) td{border-top:1px solid white;}div.gridbox_material.gridbox{border:1px solid #dfdfdf;}div.gridbox_material.gridbox table.obj tr td,.dhx_grid_adjust{padding-top:3px;padding-bottom:4px;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}div.gridbox_material.gridbox table.obj.row20px tr td{padding-top:0;padding-bottom:0;height:32px;line-height:32px;border-bottom:1px solid #dfdfdf;border-right:1px solid white;}div.gridbox_material.gridbox table.obj.row20px tr td:last-child{border-right:1px solid white;}div.gridbox_material.gridbox table.obj tr td.editable .dhx_combo_edit{margin-left:-3px;}div.gridbox_material.gridbox table.obj tr td.editable .dhxcombo_in_grid_parent{margin-left:-3px!important;}div.gridbox_material.gridbox table.obj tr td.editable:first-child{border:0 solid white!important;padding-left:4px!important;}div.gridbox_material.gridbox table.obj tr td.editable div.treegrid_cell{padding:1px 4px;}div.gridbox_material.gridbox table.obj tr.rowselected{background-color:#eee;color:#404040;}div.gridbox_material.gridbox table.obj tr.rowselected td{background-color:#eee;color:#404040;}div.gridbox_material.gridbox table.obj tr td:first-child{padding-left:10px;}div.gridbox_material.gridbox table.obj tr.rowselected td:first-child{border-left:2px solid #39c;padding-left:8px;}div.gridbox_material.gridbox table.obj.row20px tr.rowselected td{background-color:#eee;border-right-color:#eee;color:#404040;}div.gridbox_material.gridbox table.obj tr td.cellselected{background-color:#eee;color:#404040;}div.gridbox_material.gridbox .odd_material{background-color:#fff;color:#404040;}.dhx_combo_select,.gridbox_material.gridbox .dhx_combo_edit,.gridbox_material.gridbox .dhx_textarea{font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.gridbox_material.gridbox .dhx_combo_edit{padding:1px 0 0 4px;}.gridbox_material.gridbox .dhx_sub_row{background-color:transparent;}.dhx_header_cmenu{background-color:#fff;border:2px outset silver;z-index:2;}.dhx_header_cmenu_item{white-space:nowrap;}.dhx_pbox{margin-top:3px;border:1px solid #D4D0C8;border-top:0;font-size:10px;}.dhx_pline{background-color:white;margin:-15px 10px 10px 10px;padding:0 5px 0 5px;float:left;}.dhx_page,.dhx_pager_info{margin:3px;text-align:center;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;float:left;cursor:pointer;color:black;background-color:gray;padding:1px;}.dhx_pager_info{white-space:nowrap;background-color:white;margin:-8px 10px 10px 10px;padding:0 5px 0 5px;cursor:default;}.dhx_page div{background-color:white;width:16px;height:17px;vertical-align:middle;}div.dhx_page_active{font-weight:bold;background-color:lightgrey;cursor:default;color:white;}.dhx_pbox_modern{margin-top:3px;border:1px solid #D6D6D6;border-top:0;font-size:10px;}.dhx_pline_modern{background-color:white;margin:-15px 10px 10px 10px;padding:0 5px 0 5px;float:left;}.dhx_page_modern,.dhx_pager_info_modern{margin:3px;text-align:center;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;float:left;cursor:pointer;color:#055A78;background-color:#D6D6D6;padding:1px;}.dhx_pager_info_modern{white-space:nowrap;background-color:white;margin:-8px 10px 10px 10px;padding:0 5px 0 5px;cursor:default;}.dhx_page_modern div{background-color:white;width:16px;height:17px;vertical-align:middle;}div.dhx_page_active_modern{font-weight:bold;background-color:#055A78;cursor:default;color:white;}.dhx_pbox_light{margin-top:3px;border:1px solid #C2D5DC;border-top:0;font-size:10px;}.dhx_pline_light{background-color:white;margin:-15px 10px 10px 10px;padding:0 5px 0 5px;float:left;}.dhx_page_light,.dhx_pager_info_light{margin:3px;text-align:center;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;float:left;cursor:pointer;color:#055A78;background-color:#93AFBA;padding:1px;}.dhx_pager_info_light{white-space:nowrap;background-color:white;margin:-8px 10px 10px 10px;padding:0 5px 0 5px;cursor:default;}.dhx_page_light div{background-color:white;width:16px;height:17px;vertical-align:middle;}div.dhx_page_active_light{font-weight:bold;background-color:#D1DFE3;cursor:default;color:white;}.calcTable{width:100px;background-color:silver;border:1px black solid;}.calcButton{height:20px;cursor:pointer;text-align:center;background-color:gray;color:white;font-size:10px;font-weight:bold;border-top:1px solid silver;border-right:1px solid silver;}.calcPressed{height:20px;cursor:pointer;text-align:center;background-color:gray;color:white;font-size:10px;font-weight:bold;border-top:1px solid black;border-right:1px solid black;}.calcInput{background-color:white;font-size:10px;font-weight:bold;font-family:Roboto,Arial,Helvetica;}.calkSubmit{padding:2px;cursor:pointer;text-align:center;background-color:silver;color:white;font-size:10px;font-weight:bold;border-top:1px solid white;border-right:1px solid white;}.calcTable{width:100px;background-color:silver;border:1px black solid;}.calcButton{height:20px;cursor:pointer;text-align:center;background-color:gray;color:white;font-size:10px;font-weight:bold;border-top:1px solid silver;border-right:1px solid silver;}.calcPressed{height:20px;cursor:pointer;text-align:center;background-color:gray;color:white;font-size:10px;font-weight:bold;border-top:1px solid black;border-right:1px solid black;}.calcInput{background-color:white;font-size:10px;font-weight:bold;font-family:Roboto,Arial,Helvetica;}.calkSubmit{padding:2px;cursor:pointer;text-align:center;background-color:silver;color:white;font-size:10px;font-weight:bold;border-top:1px solid white;border-right:1px solid white;}.dhxgrid_sort_desc,.dhxgrid_sort_asc{width:0;height:0;}div.gridbox_material.gridbox table.hdr td.dhxgrid_sort_desc_col,div.gridbox_material.gridbox table.hdr td.dhxgrid_sort_asc_col{background-image:url("imgs/dhxgrid_material/sort_desc.gif");background-position:3px 7px;background-repeat:no-repeat;}div.gridbox_material.gridbox table.hdr td.dhxgrid_sort_desc_col div,div.gridbox_material.gridbox table.hdr td.dhxgrid_sort_asc_col div{padding-left:18px;padding-right:14px;}div.gridbox_material.gridbox table.hdr td.dhxgrid_sort_asc_col{background-image:url("imgs/dhxgrid_material/sort_asc.gif");}.dhxgrid_rh_material{position:absolute;top:-20px;left:-33px;width:29px;height:10px;margin:0;padding:0;border-width:0;font-size:1px;overflow:hidden;}.dhxgrid_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:40px;height:10px;overflow:hidden;}div.gridbox_material.gridbox table.obj.row20px tr td img{display:block;}div.gridbox_material.gridbox table.obj.row20px tr td.group_row img,div.gridbox_material.gridbox table.obj.row20px tr td .treegrid_cell img{display:inline;}.grid_cell_dyn{position:relative;padding-right:2px;width:100%;overflow:hidden;white-space:nowrap;}.grid_cell_dyn img{position:absolute;top:7px;left:0;height:15px;}.grid_cell_dyn span{padding-left:20px;width:100%;}.grid_collapse_icon{margin-top:1px;}.treegrid_cell>i{padding-right:5px;padding-left:3px;font-size:16px;}.dhx_row_drag_active{background:#eee!important;}@keyframes dhx_loader_rotate{100%{transform:rotate(360deg);}}@keyframes dhx_loader_dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0;}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px;}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px;}}.dhxform_obj_material{float:left;line-height:normal;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhxform_obj_material div.dhxform_base{position:relative;float:left;}.dhxform_obj_material div.dhxform_base_nested{padding:0;clear:both;*display:inline-block;}.dhxform_obj_material.dhxform_block{clear:both;}.dhxform_obj_material div.block_dhxform_item_label_left{display:block;clear:both;*clear:none;}.dhxform_obj_material div.dhxform_label div.dhxform_label_nav_link,.dhxform_obj_material div.dhxform_label div.dhxform_label_nav_link:visited,.dhxform_obj_material div.dhxform_label div.dhxform_label_nav_link:active,.dhxform_obj_material div.dhxform_label div.dhxform_label_nav_link:hover{outline:0 solid white;text-decoration:none;color:inherit;cursor:default;overflow:hidden;white-space:normal;}.dhxform_obj_material div.dhxform_label div.dhxform_label_nav_link:focus{color:#39c;}.dhxform_obj_material div.disabled span.nav_link{color:inherit;}.dhxform_obj_material div.dhxform_img,.dhxform_obj_material div.dhxform_actv_c,.dhxform_obj_material div.dhxform_actv_r{width:24px;height:24px;font-size:1px;}.dhxform_obj_material div.dhxform_img.chbx0,.dhxform_obj_material div.dhxform_img.chbx1,.dhxform_obj_material div.disabled div.dhxform_img.chbx0,.dhxform_obj_material div.disabled div.dhxform_img.chbx1,.dhxform_obj_material div.dhxform_img.rdbt0,.dhxform_obj_material div.dhxform_img.rdbt1,.dhxform_obj_material div.disabled div.dhxform_img.rdbt0,.dhxform_obj_material div.disabled div.dhxform_img.rdbt1,.dhxform_obj_material div.dhxform_actv_c.chbx0,.dhxform_obj_material div.dhxform_actv_c.chbx1,.dhxform_obj_material div.dhxform_actv_r.rdbt0,.dhxform_obj_material div.dhxform_actv_r.rdbt1{background-image:url("imgs/dhxform_material/dhxform_chbxrd.png");background-repeat:no-repeat;}.dhxform_obj_material div.dhxform_img.chbx0{background-position:-24px 0;}.dhxform_obj_material div.dhxform_img.chbx1{background-position:0 0;}.dhxform_obj_material div.disabled div.dhxform_img.chbx0{background-position:-72px 0;}.dhxform_obj_material div.disabled div.dhxform_img.chbx1{background-position:-48px 0;}.dhxform_obj_material div.dhxform_img.rdbt0{background-position:-120px 0;}.dhxform_obj_material div.dhxform_img.rdbt1{background-position:-96px 0;}.dhxform_obj_material div.disabled div.dhxform_img.rdbt0{background-position:-168px 0;}.dhxform_obj_material div.disabled div.dhxform_img.rdbt1{background-position:-144px 0;}.dhxform_obj_material div.dhxform_actv_c.chbx0{background-position:-216px 0;}.dhxform_obj_material div.dhxform_actv_c.chbx1{background-position:-192px 0;}.dhxform_obj_material div.dhxform_actv_r.rdbt0{background-position:-264px 0;}.dhxform_obj_material div.dhxform_actv_r.rdbt1{background-position:-240px 0;}.dhxform_obj_material div.dhxform_actv_c.chbx1,.dhxform_obj_material div.dhxform_img.chbx1{background:linear-gradient(transparent,transparent),url("imgs/dhxform_material/dhxform_check_on.svg") 0 -1px no-repeat;}.dhxform_obj_material div.dhxform_actv_c.chbx0,.dhxform_obj_material div.dhxform_img.chbx0{background:linear-gradient(transparent,transparent),url("imgs/dhxform_material/dhxform_check_off.svg") 0 -1px no-repeat;}.dhxform_obj_material div.dhxform_actv_r.rdbt1,.dhxform_obj_material div.dhxform_img.rdbt1{background:linear-gradient(transparent,transparent),url("imgs/dhxform_material/dhxform_radio_on.svg") 0 -1px no-repeat;}.dhxform_obj_material div.dhxform_actv_r.rdbt0,.dhxform_obj_material div.dhxform_img.rdbt0{background:linear-gradient(transparent,transparent),url("imgs/dhxform_material/dhxform_radio_off.svg") 0 -1px no-repeat;}.dhxform_obj_material div.dhxform_label_nav_link{line-height:22px;}.dhxform_obj_material div.dhxform_label{overflow-x:hidden;overflow:hidden;white-space:normal;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhxform_obj_material div.dhxform_label.dhxform_label_align_left{text-align:left;}.dhxform_obj_material div.dhxform_label.dhxform_label_align_center{text-align:center;}.dhxform_obj_material div.dhxform_label.dhxform_label_align_right{text-align:right;}.dhxform_obj_material div.disabled div.dhxform_label,.dhxform_obj_material div.disabled div.dhxform_label div.dhxform_label_nav_link,.dhxform_obj_material div.disabled div.dhxform_label span.dhxform_item_required{color:#a6a6a6;}.dhxform_obj_material div.dhxform_label span.dhxform_item_required{margin-left:5px;color:red;}.dhxform_obj_material input.dhxform_textarea,.dhxform_obj_material textarea.dhxform_textarea{padding:4px 2px!important;margin:0;font-size:1em;background-color:white;}.dhxform_obj_material input.dhxform_textarea::-ms-clear,.dhxform_obj_material textarea.dhxform_textarea::-ms-clear{display:none;}.dhxform_obj_material input.dhxform_textarea:focus,.dhxform_obj_material textarea.dhxform_textarea:focus{border-bottom-color:#39c;border-bottom-width:2px;padding-bottom:3px!important;outline:none;}.dhxform_obj_material .dhxform_textarea{border-width:0 0 1px 0;border-style:solid;border-color:#dfdfdf;resize:none;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhxform_obj_material div.disabled .dhxform_textarea{color:#a6a6a6;border-style:dashed;}.dhxform_obj_material input.dhxform_textarea.calendar{background-image:url("imgs/dhxform_material/dhxform_image_calendar.png");background-repeat:no-repeat;background-position:right 6px;}.dhxform_obj_material div.disabled input.dhxform_textarea.calendar{background-image:url("imgs/dhxform_material/dhxform_image_calendar_dis.png");}.dhxform_obj_material div.dhxform_control.dhxform_img_node{position:relative;}.dhxform_obj_material div.dhxform_control.dhxform_img_node .dhxform_textarea{border:1px solid white;background-color:white;color:white;visibility:hidden;*height:1px;*line-height:1px;*display:inline;}.dhxform_obj_material div.dhxform_control.dhxform_img_node div.dhxform_img{float:none;top:3px;left:0;position:absolute;margin:0;}.dhxform_obj_material div.dhxform_control.dhxform_img_node div.dhxform_actv_c,.dhxform_obj_material div.dhxform_control.dhxform_img_node div.dhxform_actv_r{float:none;position:absolute;margin:0;top:3px;left:0;}.dhxform_obj_material .dhxform_select{border-width:0 0 1px 0;border-style:solid;border-color:#dfdfdf;background-color:white;margin:0;padding:2px!important;line-height:normal;vertical-align:middle;-moz-appearance:none;-webkit-appearance:none;-ms-appearance:-ms-none;appearance:none;background-image:url(imgs/dhxform_material/dhxform_arrow_down.gif);background-repeat:no-repeat;background-position:right 13px;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhxform_obj_material .dhxform_select option{padding:1px 2px;outline:none!important;}.dhxform_obj_material .dhxform_select option:focus,.dhxform_obj_material .dhxform_select option:active{outline:none!important;}.dhxform_obj_material .dhxform_select:focus{border-color:#39c;border-bottom-width:2px;padding-bottom:1px!important;outline:none!important;}.dhxform_obj_material .dhxform_select.dhxform_arrow_fix_webkit{background-position:right 6px;}.dhxform_obj_material .dhxform_select.dhxform_arrow_fix_edge{background-position:right 7px;}.dhxform_obj_material .dhxform_select.dhxform_fix_ff{height:28px;}.dhxform_obj_material div.disabled .dhxform_select{color:#a6a6a6;border-style:dashed;background-image:url(imgs/dhxform_material/dhxform_arrow_down_dis.gif);}.dhxform_obj_material div.disabled .dhxform_select option{color:#a6a6a6;}.dhxform_obj_material div.fs_dhxform_item_label_left{padding:5px 0 5px 0;}.dhxform_obj_material div.fs_dhxform_item_label_left fieldset.dhxform_fs div.dhxform_base_nested.dhxform_fs_nested{margin-right:19px;margin-left:5px;}.dhxform_obj_material fieldset.dhxform_fs{border:1px solid #dfdfdf;margin:0;padding:5px 0 12px 0;clear:left;width:100%;}.dhxform_obj_material div.disabled fieldset.dhxform_fs{border-style:dashed;}.dhxform_obj_material fieldset.dhxform_fs legend.fs_legend{font-weight:normal;padding:0 4px 1px 4px;margin-left:5px;text-align:left;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhxform_obj_material div.disabled fieldset.dhxform_fs legend.fs_legend{color:#a6a6a6;}.dhxform_obj_material div.dhxform_item_label_right{clear:both;padding-top:9px;cursor:default;*display:inline-block;}.dhxform_obj_material div.dhxform_item_label_right div.dhxform_img,.dhxform_obj_material div.dhxform_item_label_right div.dhxform_actv_c,.dhxform_obj_material div.dhxform_item_label_right div.dhxform_actv_r{float:left;margin:0;}.dhxform_obj_material div.dhxform_item_label_right div.dhxform_label{float:left;padding:2px 0 1px 0;margin:2px 0 2px 0;*padding-top:0;*display:inline-block;}.dhxform_obj_material div.dhxform_item_label_right div.dhxform_control{float:left;margin-right:7px;}.dhxform_obj_material div.dhxform_item_label_left{clear:both;padding-top:9px;cursor:default;*display:inline-block;}.dhxform_obj_material div.dhxform_item_label_left div.dhxform_img,.dhxform_obj_material div.dhxform_item_label_left div.dhxform_actv_c,.dhxform_obj_material div.dhxform_item_label_left div.dhxform_actv_r{float:right;margin:3px 1px 0 5px;}.dhxform_obj_material div.dhxform_item_label_left div.dhxform_label{float:left;padding:2px 0 1px 0;margin:2px 0 2px 0;}.dhxform_obj_material div.dhxform_item_label_left div.dhxform_control{float:left;margin-left:3px;}.dhxform_obj_material div.dhxform_item_label_top{clear:both;}.dhxform_obj_material div.dhxform_item_label_top div.dhxform_label{float:none;margin-bottom:5px;margin-top:8px;}.dhxform_obj_material div.dhxform_item_label_top div.dhxform_control{float:none;margin-left:0;margin-bottom:5px;}.dhxform_obj_material div.dhxform_item_absolute{position:absolute;left:0;top:0;cursor:default;}.dhxform_obj_material div.item_absolute div.dhxform_img,.dhxform_obj_material div.item_absolute div.dhxform_actv_c,.dhxform_obj_material div.item_absolute div.dhxform_actv_r{position:absolute;}.dhxform_obj_material div.dhxform_item_absolute div.dhxform_control,.dhxform_obj_material div.dhxform_item_absolute div.dhxform_label,.dhxform_obj_material div.dhxform_item_absolute div.dhxform_control.dhxform_img_node,.dhxform_obj_material div.dhxform_item_absolute div.dhxform_txt_label2,.dhxform_obj_material div.dhxform_item_absolute div.dhxform_btn,.dhxform_obj_material div.block_item_absolute div.dhxform_block{position:absolute;}.dhxform_obj_material div.dhxform_txt_label2{font-weight:bold;margin:0 3px;padding:5px 0;cursor:default;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhxform_obj_material div.disabled div.dhxform_txt_label2{color:#a6a6a6;}.dhxform_obj_material div.dhxform_btn{margin:1px 2px;background-color:#f5f5f5;float:left;cursor:default;clear:both;position:relative;overflow:hidden;border:1px solid #dfdfdf;outline:none!important;-webkit-tap-highlight-color:rgba(0,0,0,0);font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxform_obj_material.dhxform_rtl div.dhxform_btn{float:right;}.dhxform_obj_material div.dhxform_btn.dhxform_btn_over{background-color:#ededed;outline:none!important;}.dhxform_obj_material div.dhxform_btn.dhxform_btn_pressed{background-color:#e1e1e1;border-color:#d2d2d2;outline:none!important;}.dhxform_obj_material div.dhxform_btn:focus{outline:none!important;border-color:#39c;border-width:2px;margin:0 1px;color:#545454;}dhxform_obj_material div.disabled div.dhxform_btn{background-color:#ededed;border-color:#ededed;}dhxform_obj_material div.disabled div.dhxform_btn div.dhxform_btn_txt{color:#a6a6a6;}.dhxform_obj_material div.dhxform_btn div.dhxform_btn_txt{float:left;margin:0 18px;height:28px;line-height:27px;text-align:center;vertical-align:middle;overflow:hidden;white-space:nowrap;border-radius:3px;*display:inline;opacity:1;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=100);}.dhxform_obj_material div.dhxform_btn div.dhxform_btn_txt.dhxform_btn_txt_autowidth{width:100%;margin:0;}.dhxform_obj_material div.dhxform_btn div.dhxform_btn_filler{position:absolute;display:inline-block;width:100%;height:100px;left:0;top:0;background-color:white;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}.dhxform_obj_material div.dhxform_control div.dhxform_note{font:inherit;color:#5a5a5a;font-size:.8em;padding-bottom:3px;white-space:normal;}.dhxform_obj_material div.disabled div.dhxform_control div.dhxform_note{color:#a6a6a6;}.dhxform_obj_material div.dhxform_label span.dhxform_info{font:inherit;color:#5a5a5a;font-size:.6em;margin-left:3px;padding-bottom:2px;line-height:normal;vertical-align:middle;cursor:pointer;}.dhxform_obj_material .validate_error .dhxform_label,.dhxform_obj_material .validate_error .dhxform_textarea,.dhxform_obj_material .validate_error .dhxform_select,.dhxform_obj_material .validate_error div.dhxform_label_nav_link,.dhxform_obj_material .validate_error div.dhxform_label div.dhxform_label_nav_link:focus{color:red;}.dhxform_obj_material div.dhxform_control div.dhxcombo_material{height:24px;}.dhxform_obj_material div.dhxform_control div.dhxcombo_material input.dhxcombo_input{height:24px;line-height:24px;}.dhxform_obj_material div.dhxform_control div.dhxcombo_material div.dhxcombo_image{top:3px;}.dhxform_obj_material div.dhxform_control div.dhxcombo_material div.dhxcombo_select_button{top:1px;}.dhxform_obj_material div.disabled div.dhxcombo_material{color:#a6a6a6;border-bottom-style:dashed;}.dhxform_obj_material div.dhxform_item_template.dhxeditor_material div.dhx_cell_editor{border:1px solid #dfdfdf;}.dhxform_obj_material div.dhxform_item_template.dhxeditor_material div.dhx_cell_editor div.dhx_cell_toolbar_def{padding:0;border-top:1px solid #dfdfdf;}.dhxform_obj_material div.dhxeditor_focus div.dhxform_item_template.dhxeditor_material{box-shadow:0 0 3px #c0c0c0;outline:none;}.dhxform_obj_material div.dhxeditor_focus div.dhxform_item_template.dhxeditor_material div.dhx_cell_editor{border-color:#39c;}.dhxform_obj_material div.dhxform_item_template.dhxeditor_material div.dhxcont_content_blocker{display:none;}.dhxform_obj_material div.disabled div.dhxform_item_template.dhxeditor_material div.dhxcont_content_blocker{display:inline;position:absolute;width:100%;height:100%;top:0;left:0;background-color:#fafafa;opacity:.7;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=70);}.dhtmlx_skin_material div.dhtmlx_wins_body_inner .dhxform_obj_material{background-color:white;}.dhxform_obj_material div.dhxform_control .dhx_combo_box.material .dhx_combo_input,.dhx_combo_list.material_list div{font-size:1em!important;}.dhxform_obj_material .dhx_file_uploader{position:relative;width:100%;margin-bottom:4px;}.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls{position:relative;width:100%;height:35px;font-size:2px;overflow:hidden;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button{position:absolute;width:24px;height:24px;top:8px;background-image:url("imgs/dhxform_material/dhxform_upload_buttons.png");background-repeat:no-repeat;font-size:2px;cursor:pointer;overflow:hidden;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=100);z-index:1;-webkit-tap-highlight-color:rgba(0,0,0,0);}.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_info{display:none;}.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_browse{background-position:0 0;right:108px;}.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_upload{background-position:-24px 0;right:79px;}.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_cancel{background-position:-72px 0;right:79px;}.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_clear{background-position:-48px 0;right:50px;}.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls .dhx_uploader_input{position:absolute;left:-1000px;top:0;visibility:hidden;}.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls div.dhx_file_form_cont{position:absolute;width:19px;height:19px;left:0;top:0;cursor:pointer;overflow:hidden;}.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls div.dhx_file_form_cont form.dhx_file_form{position:absolute;top:0;right:0;cursor:pointer;}.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls div.dhx_file_form_cont form.dhx_file_form .dhx_file_input{opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);cursor:pointer;outline:none;height:19px;}.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files{position:relative;width:100%;left:0;top:0;overflow:auto;}.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files div.dhx_file{position:relative;width:100%;height:25px;overflow:hidden;}.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_added,.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_uploading{color:black;}.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_uploaded{color:#646464;}.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_fail{color:#e94a4a;}.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files div.dhx_file_param{position:absolute;font-family:inherit;font-size:inherit;color:inherit;top:0;height:25px;line-height:25px;vertical-align:middle;overflow:hidden;}.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_name{left:20px;}.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_progress{right:50px;width:38px;text-align:right;}.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_delete{right:30px;width:12px;background-image:url("imgs/dhxform_material/dhxform_upload_buttons.png");background-position:-96px 1px;background-repeat:no-repeat;cursor:pointer;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_uploading{right:50px;width:38px;text-align:right;background-image:url("imgs/dhxform_material/dhxform_upload_uploading.gif");background-position:center center;background-repeat:no-repeat;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxform_obj_material .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls{height:60px;}.dhxform_obj_material .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_files{display:none;}.dhxform_obj_material .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_info{display:inline;background-image:none;height:auto;top:0;left:35px;vertical-align:top;padding-top:6px;line-height:20px;cursor:default;filter:none;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhxform_obj_material .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_browse{top:0;width:54px;height:54px;right:35px;background-image:url("imgs/dhxform_material/dhxform_upload_buttons.png");background-position:0 -48px;background-repeat:no-repeat;}.dhxform_obj_material .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_upload,.dhxform_obj_material .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_cancel,.dhxform_obj_material .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_clear{display:none;}.dhxform_obj_material .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_form_cont{width:54px;height:54px;}.dhxform_obj_material .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_form_cont form.dhx_file_form .dhx_file_input{height:54px;}.dhxform_obj_material .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_info,.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_added,.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_uploading,.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_uploaded,.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_fail{color:#a6a6a6;}.dhxform_obj_material .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_browse{background-position:-54px -48px;cursor:default;}.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_form_cont{display:none;}.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button{cursor:default;}.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_browse{background-position:0 -24px;}.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_upload{background-position:-24px -24px;}.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_cancel{background-position:-72px -24px;}.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_clear{background-position:-48px -24px;}.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file_param.dhx_file_delete{background-position:-108px 1px;cursor:default;}.dhxform_obj_material div.dhxform_image{position:relative;overflow:hidden;border:1px solid #dfdfdf;}.dhxform_obj_material div.dhxform_image img.dhxform_image_img{position:absolute;}.dhxform_obj_material div.dhxform_image div.dhxform_image_wrap{position:absolute;background-color:white;left:0;top:0;width:100%;height:100%;overflow:hidden;*border:1px solid white;*height:1000px;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);-webkit-transition:opacity .6s;-moz-transition:opacity .6s;-ms-transition:opacity .6s;-o-transition:opacity .6s;transition:opacity .6s;}.dhxform_obj_material div.dhxform_image div.dhxform_image_wrap.dhxform_image_in_progress{background-image:url("imgs/dhxform_material/dhxform_image_uploading.gif");background-position:center center;background-repeat:no-repeat;*border-width:0;*height:100%;opacity:.85;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=85);-webkit-transition:opacity .1s;-moz-transition:opacity .1s;-ms-transition:opacity .1s;-o-transition:opacity .1s;transition:opacity .1s;}.dhxform_obj_material div.dhxform_image div.dhxform_image_wrap.dhxform_image_in_progress form.dhxform_image_form{display:none;}.dhxform_obj_material div.dhxform_image div.dhxform_image_wrap form.dhxform_image_form{position:absolute;top:0;right:0;cursor:pointer;}.dhxform_obj_material div.dhxform_image div.dhxform_image_wrap form.dhxform_image_form input.dhxform_image_input{cursor:pointer;outline:none;height:1000px;font-size:100px;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}.dhxform_obj_material div.disabled div.dhxform_image{border-color:#f9f9f9;}.dhxform_obj_material div.disabled div.dhxform_image img.dhxform_image_img{opacity:.5;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);}.dhxform_obj_material div.disabled div.dhxform_image div.dhxform_image_wrap{cursor:default;}.dhxform_obj_material div.disabled div.dhxform_image form.dhxform_image_form{display:none;}div.dhx_form_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:40px;height:10px;overflow:hidden;}@keyframes dhx_loader_rotate{100%{transform:rotate(360deg);}}@keyframes dhx_loader_dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0;}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px;}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px;}}.dhxacc_base_material{position:relative;cursor:default;overflow:hidden;}.dhxacc_base_material div.dhxacc_cont{position:absolute;*overflow:hidden;}.dhxacc_base_material div.dhx_cell_acc{position:relative;background-color:white;margin:0;padding:0;overflow:hidden;cursor:default;}.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_cover{position:absolute;left:0;top:0;width:100%;height:100%;margin:0;padding:0;font-size:1px;background-color:white;overflow:hidden;z-index:1;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_progress_bar{position:absolute;left:0;top:0;width:100%;height:100%;background-color:white;z-index:1;opacity:.75;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=75);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_progress_img{position:absolute;left:0;top:0;width:100%;height:100%;border:1px solid #e4e4e4;background-image:url('imgs/dhxacc_material/dhxacc_cell_progress.gif');background-position:center center;background-repeat:no-repeat;z-index:2;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_progress_svg{border:1px solid #e4e4e4;z-index:2;position:absolute;left:0;top:0;width:100%;height:100%;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_progress_svg .dhx_cell_prsvg{position:absolute;top:0;left:0;right:0;bottom:0;margin:auto;width:50px;height:50px;animation:dhx_loader_rotate 2s linear infinite;transform-origin:center center;}.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_progress_svg .dhx_cell_prsvg .dhx_cell_prcircle{fill:none;stroke:#39c;stroke-width:2;stroke-miterlimit:10;stroke-dasharray:1,200;stroke-dashoffset:0;stroke-linecap:round;animation:dhx_loader_dash 1.5s ease-in-out infinite;}.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_menu_def{position:relative;overflow:hidden;border-style:solid;border-width:0 1px 1px 1px;border-color:#dfdfdf;}.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_toolbar_def{position:relative;overflow:hidden;}.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_toolbar_def .dhx_toolbar_material{border-width:0 1px 1px 1px;}.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_ribbon_def{position:relative;overflow:hidden;}.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material{border-top-width:0;margin-top:-1px;width:auto;}.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_ribbon_def div.dhtmlxribbon_material.dhxrb_without_tabbar{border-top-width:0;width:auto;}.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_statusbar_def{position:absolute;bottom:0;width:100%;background-color:#fafafa;z-index:1;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text{position:relative;font:inherit;height:30px;line-height:30px;border-style:solid;border-width:0 1px 1px 1px;border-color:#dfdfdf;white-space:nowrap;overflow:hidden;padding:0 12px;color:#737373;}.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_cont_acc{position:absolute;border-color:#dfdfdf;border-style:solid;border-width:0 1px 1px 1px;overflow:hidden;z-index:0;}.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_hdr{position:relative;height:42px;line-height:42px;background-color:#fafafa;overflow:hidden;border-width:1px 1px 1px 1px;border-style:solid;border-color:#dfdfdf;cursor:default;z-index:3;box-shadow:0 0 10px rgba(127,127,127,0.2);font-size:14px;font-family:Roboto,Arial,Helvetica;color:#39c;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_hdr.dhx_cell_hdr_hidden{border-width:1px 0 0 0;height:0;line-height:0;overflow:hidden;box-shadow:none;}.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_hdr div.dhx_cell_hdr_text{position:relative;margin-left:14px;margin-right:44px;overflow:hidden;white-space:nowrap;cursor:default;}.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_icon{margin-left:44px;}.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_hdr img.dhx_cell_hdr_icon{position:absolute;top:13px;left:14px;width:16px;height:16px;}.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_hdr i{position:absolute;left:14px;width:16px;height:42px;line-height:42px;text-align:center;cursor:default;font-size:1.1em;color:inherit;}.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_hdr div.dhx_cell_hdr_arrow{position:absolute;top:13px;right:14px;width:16px;height:16px;background-image:url("imgs/dhxacc_material/dhxacc_btns.png");background-repeat:no-repeat;background-position:0 0;overflow:hidden;cursor:pointer;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxacc_base_material div.dhx_cell_acc.dhx_cell_closed div.dhx_cell_hdr{box-shadow:none;color:#404040;}.dhxacc_base_material div.dhx_cell_acc.dhx_cell_closed div.dhx_cell_hdr div.dhx_cell_hdr_arrow{background-position:-16px 0;}.dhxacc_base_material div.dhx_cell_acc.acc_cell_dragged{z-index:5!important;}.dhxacc_base_material div.dhxcelltop_hdr{position:relative;}.dhxacc_base_material div.dhxcelltop_ftr{position:absolute;}.dhxacc_base_material div.dhxcelltop_progress{position:absolute;left:0;top:0;width:100%;height:100%;background-color:white;z-index:3;opacity:.55;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=55);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxacc_base_material div.dhxcelltop_progress_img{position:absolute;left:0;top:0;width:100%;height:100%;background-image:url('imgs/dhxacc_material/dhxacc_cell_progress.gif');background-position:center center;background-repeat:no-repeat;z-index:4;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxacc_base_material div.dhxcelltop_progress_svg{z-index:4;position:absolute;left:0;top:0;width:100%;height:100%;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxacc_base_material div.dhxcelltop_progress_svg .dhx_cell_prsvg{position:absolute;top:0;left:0;right:0;bottom:0;margin:auto;width:50px;height:50px;animation:dhx_loader_rotate 2s linear infinite;transform-origin:center center;}.dhxacc_base_material div.dhxcelltop_progress_svg .dhx_cell_prsvg .dhx_cell_prcircle{fill:none;stroke:#39c;stroke-width:2;stroke-miterlimit:10;stroke-dasharray:1,200;stroke-dashoffset:0;stroke-linecap:round;animation:dhx_loader_dash 1.5s ease-in-out infinite;}.dhxacc_base_material div.dhxcelltop_menu{position:relative;overflow:hidden;border-width:1px 1px 0 1px;border-style:solid;border-color:#dfdfdf;}.dhxacc_base_material div.dhxcelltop_toolbar{position:relative;overflow:hidden;}.dhxacc_base_material div.dhxcelltop_toolbar div.dhx_toolbar_material{border-width:1px 1px 0 1px;}.dhxacc_base_material div.dhxcelltop_ribbon{position:relative;overflow:hidden;}.dhxacc_base_material div.dhxcelltop_ribbon div.dhtmlxribbon_material.dhxrb_without_tabbar{border-bottom-width:0;width:auto;}.dhxacc_base_material div.dhxcelltop_ribbon div.dhtmlxribbon_material div.dhxrb_with_tabbar.dhxtabbar_base_material div.dhxtabbar_tabs_top div.dhx_cell_tabbar div.dhx_cell_cont_tabbar{border-bottom-width:0;}.dhxacc_base_material div.dhxcelltop_statusbar{position:absolute;overflow:hidden;background-color:#fafafa;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhxacc_base_material div.dhxcelltop_statusbar div.dhxcont_statusbar{position:relative;background-color:#fafafa;font:inherit;height:30px;line-height:30px;border-width:0 1px 1px 1px;border-style:solid;border-color:#dfdfdf;padding:0 12px;color:#737373;white-space:nowrap;overflow:hidden;}body.dhxacc_base_material{background-color:#fafafa;}.dhxacc_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:40px;height:10px;overflow:hidden;}@keyframes dhx_loader_rotate{100%{transform:rotate(360deg);}}@keyframes dhx_loader_dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0;}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px;}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px;}}.dhxlayout_base_material{position:relative;cursor:default;overflow:visible!important;}.dhxlayout_base_material div.dhxlayout_cont{position:absolute;}.dhxlayout_base_material div.dhx_cell_layout{position:absolute;background-color:white;margin:0;padding:0;cursor:default;z-index:0;box-shadow:0 2px 4px rgba(0,0,0,0.04),0 1px 4px rgba(0,0,0,0.12);}.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_cover{position:absolute;left:0;top:0;width:100%;height:100%;margin:0;padding:0;font-size:1px;background-color:white;overflow:hidden;z-index:1;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_progress_bar{position:absolute;left:0;top:0;width:100%;height:100%;background-color:white;z-index:1;opacity:.75;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=75);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_progress_img{position:absolute;left:0;top:0;width:100%;height:100%;border:1px solid #e4e4e4;background-image:url('imgs/dhxlayout_material/dhxlayout_cell_progress.gif');background-position:center center;background-repeat:no-repeat;z-index:2;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_progress_svg{border:1px solid #e4e4e4;z-index:2;position:absolute;left:0;top:0;width:100%;height:100%;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_progress_svg .dhx_cell_prsvg{position:absolute;top:0;left:0;right:0;bottom:0;margin:auto;width:50px;height:50px;animation:dhx_loader_rotate 2s linear infinite;transform-origin:center center;}.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_progress_svg .dhx_cell_prsvg .dhx_cell_prcircle{fill:none;stroke:#39c;stroke-width:2;stroke-miterlimit:10;stroke-dasharray:1,200;stroke-dashoffset:0;stroke-linecap:round;animation:dhx_loader_dash 1.5s ease-in-out infinite;}.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_menu_def{position:relative;overflow:hidden;border-style:solid;border-width:0 1px 1px 1px;border-color:#dfdfdf;}.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_toolbar_def{position:relative;overflow:hidden;}.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_toolbar_def .dhx_toolbar_material{border-width:0 1px 1px 1px;}.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_ribbon_def{position:relative;overflow:hidden;}.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material{border-top-width:0;margin-top:-1px;width:auto;}.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_ribbon_def div.dhtmlxribbon_material.dhxrb_without_tabbar{border-top-width:0;width:auto;}.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_statusbar_def{position:absolute;bottom:0;width:100%;background-color:#fafafa;z-index:1;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text{position:relative;font:inherit;height:30px;line-height:30px;border-style:solid;border-width:0 1px 1px 1px;border-color:#dfdfdf;white-space:nowrap;overflow:hidden;padding:0 12px;color:#737373;}.dhxlayout_base_material div.dhx_cell_layout.dhx_cell_nested_layout{box-shadow:none!important;background:none!important;}.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_cont_layout,.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_menu_def,.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_toolbar_def,.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_ribbon_def,.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_statusbar_def,.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_cont_layout,.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_menu_def,.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_toolbar_def,.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_ribbon_def,.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_statusbar_def{display:none;}.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_cont_layout{position:absolute;border-color:#dfdfdf;border-style:solid;border-width:0 1px 1px 1px;z-index:0;}.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_cont_layout.dhx_cell_cont_no_borders{border-width:0;padding:0;}.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_hdr{position:relative;height:42px;line-height:42px;background-color:#39c;overflow:hidden;font-family:Roboto,Arial,Helvetica;font-size:17px;color:#ecf3f9;cursor:default;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_hdr.dhx_cell_hdr_hidden{height:0;line-height:0;border-top:1px solid #dfdfdf;overflow:hidden;}.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_hdr.dhx_cell_hdr_hidden_no_borders{height:0;line-height:0;border-width:0;overflow:hidden;}.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_hdr div.dhx_cell_hdr_text{position:relative;margin:0 39px 0 14px;overflow:hidden;white-space:nowrap;cursor:default;}.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_hdr div.dhxlayout_arrow{position:absolute;right:13px;top:13px;width:16px;height:16px;background-image:url('imgs/dhxlayout_material/dhxlayout_cell_btns.png');background-repeat:no-repeat;cursor:pointer;}.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_va{background-position:-16px 0;}.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_vb{background-position:-48px 0;}.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_ha{background-position:-32px 0;}.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_hb{background-position:0 0;}.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_hdr{font-size:15px;height:28px;line-height:28px;color:white;font-weight:normal;}.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_ha{background-position:0 0;top:6px;}.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_hb{background-position:-32px 0;top:6px;}.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr{font-size:15px;width:28px;}.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_va{background-position:-48px 0;right:6px;}.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_vb{background-position:-16px 0;right:6px;}.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text{position:absolute;left:0;bottom:0;transform:rotate(270deg);-ms-transform:rotate(270deg);transform-origin:left center;font-weight:normal;text-overflow:ellipsis;}.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie6{left:-7px;line-height:27px;padding-bottom:10px;}.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie6 span{float:left;filter:progid:DXImageTransform.Microsoft.Matrix(M11='6.123031769111886e-17', M12='1', M21='-1', M22='6.123031769111886e-17', sizingMethod='auto expand');}.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie7{left:-7px;line-height:27px;padding-bottom:10px;}.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie7 span{float:left;filter:progid:DXImageTransform.Microsoft.Matrix(M11='6.123031769111886e-17', M12='1', M21='-1', M22='6.123031769111886e-17', sizingMethod='auto expand');}.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie8{left:-6px;line-height:27px;}.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie8 span{float:left;filter:progid:DXImageTransform.Microsoft.Matrix(M11='6.123031769111886e-17', M12='1', M21='-1', M22='6.123031769111886e-17', sizingMethod='auto expand');margin-bottom:95%;}.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie9{left:0;line-height:27px;}.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie9 span{float:left;filter:none;margin-bottom:95%;}.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_chrome{left:3px;-webkit-transform:rotate(270deg);-webkit-transform-origin:left center;}.dhxlayout_base_material div.dhxlayout_sep{position:absolute;font-size:1px;margin:0;padding:0;overflow:hidden;background-position:center center;background-repeat:no-repeat;-webkit-tap-highlight-color:rgba(0,0,0,0);-ms-touch-action:none;touch-action:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxlayout_base_material div.dhxlayout_sep.dhxlayout_sep_resize_v{cursor:w-resize;background-image:url('imgs/dhxlayout_material/dhxlayout_sep_ver.gif');}.dhxlayout_base_material div.dhxlayout_sep.dhxlayout_sep_resize_h{cursor:n-resize;background-image:url('imgs/dhxlayout_material/dhxlayout_sep_hor.gif');}.dhxlayout_base_material div.dhxlayout_sep.dhxlayout_sep_resize_actv{background-color:#f2f2f2;}.dhxlayout_base_material div.dhxlayout_resize_area{position:absolute;background-color:#cfcfcf;opacity:.3;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30);z-index:1;border:1px dashed black;cursor:inherit;}.dhxlayout_base_material div.dhxlayout_resize_sep{position:absolute;background-color:#39c;overflow:hidden;display:block;opacity:.5;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);z-index:2;cursor:inherit;}.dhxlayout_base_material div.dhxcelltop_hdr{position:relative;}.dhxlayout_base_material div.dhxcelltop_ftr{position:absolute;}.dhxlayout_base_material div.dhxcelltop_progress{position:absolute;left:0;top:0;width:100%;height:100%;background-color:white;z-index:3;opacity:.55;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=55);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxlayout_base_material div.dhxcelltop_progress_img{position:absolute;left:0;top:0;width:100%;height:100%;background-image:url('imgs/dhxlayout_material/dhxlayout_cell_progress.gif');background-position:center center;background-repeat:no-repeat;z-index:4;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxlayout_base_material div.dhxcelltop_progress_svg{z-index:4;position:absolute;left:0;top:0;width:100%;height:100%;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxlayout_base_material div.dhxcelltop_progress_svg .dhx_cell_prsvg{position:absolute;top:0;left:0;right:0;bottom:0;margin:auto;width:50px;height:50px;animation:dhx_loader_rotate 2s linear infinite;transform-origin:center center;}.dhxlayout_base_material div.dhxcelltop_progress_svg .dhx_cell_prsvg .dhx_cell_prcircle{fill:none;stroke:#39c;stroke-width:2;stroke-miterlimit:10;stroke-dasharray:1,200;stroke-dashoffset:0;stroke-linecap:round;animation:dhx_loader_dash 1.5s ease-in-out infinite;}.dhxlayout_base_material div.dhxcelltop_menu{position:relative;overflow:hidden;border-width:1px 1px 0 1px;border-style:solid;border-color:#dfdfdf;}.dhxlayout_base_material div.dhxcelltop_toolbar{position:relative;overflow:hidden;}.dhxlayout_base_material div.dhxcelltop_toolbar div.dhx_toolbar_material{border-width:1px 1px 0 1px;}.dhxlayout_base_material div.dhxcelltop_ribbon{position:relative;overflow:hidden;}.dhxlayout_base_material div.dhxcelltop_ribbon div.dhtmlxribbon_material.dhxrb_without_tabbar{border-bottom-width:0;width:auto;}.dhxlayout_base_material div.dhxcelltop_ribbon div.dhtmlxribbon_material div.dhxrb_with_tabbar.dhxtabbar_base_material div.dhxtabbar_tabs_top div.dhx_cell_tabbar div.dhx_cell_cont_tabbar{border-bottom-width:0;}.dhxlayout_base_material div.dhxcelltop_statusbar{position:absolute;overflow:hidden;background-color:#fafafa;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhxlayout_base_material div.dhxcelltop_statusbar div.dhxcont_statusbar{position:relative;background-color:#fafafa;font:inherit;height:30px;line-height:30px;border-width:0 1px 1px 1px;border-style:solid;border-color:#dfdfdf;padding:0 12px;color:#737373;white-space:nowrap;overflow:hidden;}.dhxlayout_base_material div.dhxcelltop_menu{border-width:0;padding-bottom:4px;background:none!important;}.dhxlayout_base_material div.dhxcelltop_toolbar{padding-bottom:10px;}.dhxlayout_base_material div.dhxcelltop_ribbon{padding-bottom:10px;}.dhxlayout_base_material div.dhxcelltop_ribbon div.dhtmlxribbon_material{box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24);}.dhxlayout_base_material div.dhxcelltop_ribbon div.dhtmlxribbon_material.dhxrb_without_tabbar{border-bottom-width:0;}.dhxlayout_base_material div.dhxcelltop_statusbar{padding-top:10px;overflow:visible;}.dhxlayout_base_material div.dhxcelltop_statusbar div.dhxcont_statusbar{border-width:0;box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24);}.dhxlayout_base_material.dhxlayout_collapsed_height{position:absolute;left:0;top:-100px;width:28px;height:1px;font-size:1px;margin:0;padding:0;overflow:hidden;}div.dhxlayout_sep_sw_material{position:absolute;left:0;top:-100px;width:14px;height:1px;font-size:1px;margin:0;padding:0;overflow:hidden;}body.dhxlayout_resize_v,body.dhxlayout_resize_v *{-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:w-resize!important;}body.dhxlayout_resize_h,body.dhxlayout_resize_h *{-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:n-resize!important;}html.dhxlayout_base_material,body.dhxlayout_base_material{overflow:hidden!important;}.dhxlayout_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:40px;height:10px;overflow:hidden;}@keyframes dhx_loader_rotate{100%{transform:rotate(360deg);}}@keyframes dhx_loader_dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0;}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px;}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px;}}.dhxtabbar_base_material{position:relative;box-shadow:0 1px 3px rgba(0,0,0,0.05),0 1px 3px rgba(0,0,0,0.09);}.dhxtabbar_base_material div.dhxtabbar_cont{position:absolute;overflow:hidden;}.dhxtabbar_base_material div.dhxtabbar_tabs{position:absolute;top:0;bottom:auto;height:42px;line-height:42px;background-color:#fafafa;border-color:#dfdfdf;border-style:solid;border-width:1px;overflow:hidden;white-space:nowrap;z-index:2;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_base{position:absolute;height:42px;overflow:hidden;}.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tabs_cont_left,.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tabs_cont_right{position:absolute;top:0;width:5000px;height:42px;margin:0 1px;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tabs_line{display:none;}.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tab{position:relative;height:42px;line-height:42px;background-color:#fafafa;font:inherit;margin-right:0;cursor:pointer;z-index:1;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0);}.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tab.dhxtabbar_tab_actv{color:#39c;background-color:#39c;}.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tab.dhxtabbar_tab_actv_dis{color:#a6a6a6;background-color:#a6a6a6;}.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tab.dhxtabbar_tab_dis{color:#a6a6a6;}.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tab div.dhxtabbar_tab_text{position:relative;height:40px;line-height:42px;background-color:#fafafa;vertical-align:middle;text-align:center;padding:0 16px;overflow:hidden;font:inherit;text-transform:uppercase;}.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tab div.dhxtabbar_tab_text.dhxtabbar_tab_text_close{padding-right:42px;}.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tab div.dhxtabbar_tab_close{position:absolute;top:14px;right:14px;width:14px;height:14px;background-image:url("imgs/dhxtabbar_material/dhxtabbar_button_close.png");background-position:0 0;background-repeat:no-repeat;z-index:1;}.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tab.dhxtabbar_tab_actv_dis div.dhxtabbar_tab_close,.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tab.dhxtabbar_tab_dis div.dhxtabbar_tab_close{background-position:-14px 0;}.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tabs_cont_left div.dhxtabbar_tab{float:left;}.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tabs_cont_right div.dhxtabbar_tab{float:right;}.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_left,.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_right{position:absolute;top:0;width:35px;height:42px;line-height:42px;z-index:4;cursor:pointer;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_left.dhxtabbar_tabs_ar_hidden,.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_right.dhxtabbar_tabs_ar_hidden{display:none;}.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_left div.dhxtabbar_arrow_img,.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_right div.dhxtabbar_arrow_img{position:absolute;width:16px;height:16px;line-height:16px;left:10px;top:13px;background-image:url("imgs/dhxtabbar_material/dhxtabbar_arrows.png");background-position:0 0;background-repeat:no-repeat;}.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_left{left:0;}.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_left div.dhxtabbar_arrow_img:hover{background-position:0 -16px;}.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_right{right:0;}.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_right div.dhxtabbar_arrow_img{background-position:-16px 0;}.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_right div.dhxtabbar_arrow_img:hover{background-position:-16px -16px;}.dhxtabbar_base_material div.dhx_cell_tabbar{position:absolute;background-color:white;margin:0;padding:0;overflow:hidden;cursor:default;z-index:0;}.dhxtabbar_base_material div.dhx_cell_tabbar div.dhx_cell_cover{position:absolute;left:0;top:0;width:100%;height:100%;margin:0;padding:0;font-size:1px;background-color:white;overflow:hidden;z-index:1;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxtabbar_base_material div.dhx_cell_tabbar div.dhx_cell_progress_bar{position:absolute;left:0;top:0;width:100%;height:100%;background-color:white;z-index:1;opacity:.75;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=75);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxtabbar_base_material div.dhx_cell_tabbar div.dhx_cell_progress_img{position:absolute;left:0;top:0;width:100%;height:100%;border:1px solid #e4e4e4;background-image:url('imgs/dhxtabbar_material/dhxtabbar_cell_progress.gif');background-position:center center;background-repeat:no-repeat;z-index:2;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxtabbar_base_material div.dhx_cell_tabbar div.dhx_cell_progress_svg{border:1px solid #e4e4e4;z-index:2;position:absolute;left:0;top:0;width:100%;height:100%;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxtabbar_base_material div.dhx_cell_tabbar div.dhx_cell_progress_svg .dhx_cell_prsvg{position:absolute;top:0;left:0;right:0;bottom:0;margin:auto;width:50px;height:50px;animation:dhx_loader_rotate 2s linear infinite;transform-origin:center center;}.dhxtabbar_base_material div.dhx_cell_tabbar div.dhx_cell_progress_svg .dhx_cell_prsvg .dhx_cell_prcircle{fill:none;stroke:#39c;stroke-width:2;stroke-miterlimit:10;stroke-dasharray:1,200;stroke-dashoffset:0;stroke-linecap:round;animation:dhx_loader_dash 1.5s ease-in-out infinite;}.dhxtabbar_base_material div.dhx_cell_tabbar div.dhx_cell_menu_def{position:relative;overflow:hidden;border-style:solid;border-width:0 1px 1px 1px;border-color:#dfdfdf;}.dhxtabbar_base_material div.dhx_cell_tabbar div.dhx_cell_toolbar_def{position:relative;overflow:hidden;}.dhxtabbar_base_material div.dhx_cell_tabbar div.dhx_cell_toolbar_def .dhx_toolbar_material{border-width:0 1px 1px 1px;}.dhxtabbar_base_material div.dhx_cell_tabbar div.dhx_cell_ribbon_def{position:relative;overflow:hidden;}.dhxtabbar_base_material div.dhx_cell_tabbar div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material{border-top-width:0;margin-top:-1px;width:auto;}.dhxtabbar_base_material div.dhx_cell_tabbar div.dhx_cell_ribbon_def div.dhtmlxribbon_material.dhxrb_without_tabbar{border-top-width:0;width:auto;}.dhxtabbar_base_material div.dhx_cell_tabbar div.dhx_cell_statusbar_def{position:absolute;bottom:0;width:100%;background-color:#fafafa;z-index:1;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhxtabbar_base_material div.dhx_cell_tabbar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text{position:relative;font:inherit;height:30px;line-height:30px;border-style:solid;border-width:0 1px 1px 1px;border-color:#dfdfdf;white-space:nowrap;overflow:hidden;padding:0 12px;color:#737373;}.dhxtabbar_base_material div.dhx_cell_tabbar div.dhx_cell_cont_tabbar{position:absolute;border-color:#dfdfdf;border-style:solid;overflow:hidden;z-index:0;}.dhxtabbar_base_material div.dhx_cell_tabbar div.dhx_cell_cont_tabbar.dhx_cell_cont_no_borders{border-width:0;}.dhxtabbar_base_material div.dhxtabbar_tabs_top div.dhxtabbar_tabs{top:0;}.dhxtabbar_base_material div.dhxtabbar_tabs_top div.dhxtabbar_tabs div.dhxtabbar_tab_text{margin-bottom:2px;}.dhxtabbar_base_material div.dhxtabbar_tabs_top div.dhx_cell_tabbar div.dhx_cell_cont_tabbar{border-width:0 1px 1px 1px;}.dhxtabbar_base_material div.dhxtabbar_tabs_top div.dhx_cell_tabbar div.dhx_cell_progress_img,.dhxtabbar_base_material div.dhxtabbar_tabs_top div.dhx_cell_tabbar div.dhx_cell_progress_svg{border-top-width:0;}.dhxtabbar_base_material div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs{bottom:0;}.dhxtabbar_base_material div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tab_text{margin-top:2px;}.dhxtabbar_base_material div.dhxtabbar_tabs_bottom div.dhx_cell_tabbar div.dhx_cell_cont_tabbar{border-width:1px 1px 0 1px;}.dhxtabbar_base_material div.dhxtabbar_tabs_bottom div.dhx_cell_tabbar div.dhx_cell_progress_img,.dhxtabbar_base_material div.dhxtabbar_tabs_bottom div.dhx_cell_tabbar div.dhx_cell_progress_svg{border-bottom-width:0;}.dhxtabbar_base_material div.dhxcelltop_hdr{position:relative;}.dhxtabbar_base_material div.dhxcelltop_ftr{position:absolute;}.dhxtabbar_base_material div.dhxcelltop_progress{position:absolute;left:0;top:0;width:100%;height:100%;background-color:white;z-index:3;opacity:.55;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=55);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxtabbar_base_material div.dhxcelltop_progress_img{position:absolute;left:0;top:0;width:100%;height:100%;background-image:url('imgs/dhxtabbar_material/dhxtabbar_cell_progress.gif');background-position:center center;background-repeat:no-repeat;z-index:4;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxtabbar_base_material div.dhxcelltop_progress_svg{z-index:4;position:absolute;left:0;top:0;width:100%;height:100%;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxtabbar_base_material div.dhxcelltop_progress_svg .dhx_cell_prsvg{position:absolute;top:0;left:0;right:0;bottom:0;margin:auto;width:50px;height:50px;animation:dhx_loader_rotate 2s linear infinite;transform-origin:center center;}.dhxtabbar_base_material div.dhxcelltop_progress_svg .dhx_cell_prsvg .dhx_cell_prcircle{fill:none;stroke:#39c;stroke-width:2;stroke-miterlimit:10;stroke-dasharray:1,200;stroke-dashoffset:0;stroke-linecap:round;animation:dhx_loader_dash 1.5s ease-in-out infinite;}.dhxtabbar_base_material div.dhxcelltop_menu{position:relative;overflow:hidden;border-width:1px 1px 0 1px;border-style:solid;border-color:#dfdfdf;}.dhxtabbar_base_material div.dhxcelltop_toolbar{position:relative;overflow:hidden;}.dhxtabbar_base_material div.dhxcelltop_toolbar div.dhx_toolbar_material{border-width:1px 1px 0 1px;}.dhxtabbar_base_material div.dhxcelltop_ribbon{position:relative;overflow:hidden;}.dhxtabbar_base_material div.dhxcelltop_ribbon div.dhtmlxribbon_material.dhxrb_without_tabbar{border-bottom-width:0;width:auto;}.dhxtabbar_base_material div.dhxcelltop_ribbon div.dhtmlxribbon_material div.dhxrb_with_tabbar.dhxtabbar_base_material div.dhxtabbar_tabs_top div.dhx_cell_tabbar div.dhx_cell_cont_tabbar{border-bottom-width:0;}.dhxtabbar_base_material div.dhxcelltop_statusbar{position:absolute;overflow:hidden;background-color:#fafafa;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhxtabbar_base_material div.dhxcelltop_statusbar div.dhxcont_statusbar{position:relative;background-color:#fafafa;font:inherit;height:30px;line-height:30px;border-width:0 1px 1px 1px;border-style:solid;border-color:#dfdfdf;padding:0 12px;color:#737373;white-space:nowrap;overflow:hidden;}span.dhxtabbar_tabs_text_test_material{position:absolute;visibility:hidden;right:0;top:0;padding:0 4px;text-transform:uppercase;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhxtabbar_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:40px;height:10px;overflow:hidden;}@keyframes dhx_loader_rotate{100%{transform:rotate(360deg);}}@keyframes dhx_loader_dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0;}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px;}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px;}}.dhxsidebar_base_material{position:relative;cursor:default;}.dhxsidebar_base_material div.dhxsidebar_cont{position:absolute;cursor:default;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side{position:absolute;left:0;top:0;background-color:#fafafa;border-style:solid;border-color:#dfdfdf;border-width:1px 1px 0 1px;overflow:hidden;z-index:5;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items{position:absolute;width:100%;overflow:hidden;box-sizing:border-box;-ms-touch-action:none;-webkit-transition:top .2s;-moz-transition:top .2s;-ms-transition:top .2s;-o-transition:top .2s;transition:top .2s;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item{position:relative;padding:0 10px;z-index:1;cursor:default;margin:1px 0;background-color:#fafafa;overflow:hidden;opacity:1;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=100);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;-ms-touch-action:none;-webkit-touch-callout:none;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_hidden{height:0!important;margin:0;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item:hover{background-color:#f5f5f5;z-index:2;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_selected{z-index:3;background-color:#ebebeb;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon{position:absolute;left:9px;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text{position:absolute;left:0;top:0;height:inherit;line-height:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_bubble{position:absolute;width:15px;height:15px;line-height:14px;right:5px;top:5px;border-radius:10px;background-color:#fafafa;border:1px solid #39c;font-family:Tahoma;font-size:10px;text-align:center;font-weight:normal;color:#39c;cursor:default;overflow:hidden;z-index:1;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item:hover div.dhxsidebar_bubble{background-color:#f5f5f5;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_selected div.dhxsidebar_bubble{background-color:#ebebeb;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_sep{position:relative;height:1px;margin:1px 0;overflow:hidden;background-color:#ededed;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_touch div.dhxsidebar_side_items div.dhxsidebar_item:hover{background-color:#fafafa;z-index:1;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_touch div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_selected{z-index:3;background-color:#ebebeb;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_details div.dhxsidebar_side_items div.dhxsidebar_item{height:27px;line-height:27px;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_details div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon{top:5px;width:16px;height:16px;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_details div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text{padding-left:34px;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item{height:47px;line-height:47px;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon{top:7px;width:32px;height:32px;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text{padding-left:50px;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_bubble{top:15px;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons div.dhxsidebar_side_items div.dhxsidebar_item{height:47px;line-height:47px;text-align:center;padding-left:4px;padding-right:4px;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon{position:relative;display:inline;left:0;top:7px;width:32px;height:32px;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons_text div.dhxsidebar_side_items div.dhxsidebar_item{height:66px;line-height:1em;text-align:center;padding-left:4px;padding-right:4px;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons_text div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon{position:relative;display:inline;left:0;top:4px;width:32px;height:32px;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons_text div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text{position:relative;display:block;height:16px;margin-top:10px;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_text div.dhxsidebar_side_items div.dhxsidebar_item{height:27px;line-height:27px;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_text div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text{padding-left:14px;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar{position:absolute;background-color:white;margin:0;padding:0;overflow:hidden;cursor:default;z-index:0;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_cover{position:absolute;left:0;top:0;width:100%;height:100%;margin:0;padding:0;font-size:1px;background-color:white;overflow:hidden;z-index:1;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_progress_bar{position:absolute;left:0;top:0;width:100%;height:100%;background-color:white;z-index:1;opacity:.75;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=75);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_progress_img{position:absolute;left:0;top:0;width:100%;height:100%;border:1px solid #e4e4e4;background-image:url('imgs/dhxsidebar_material/dhxsidebar_cell_progress.gif');background-position:center center;background-repeat:no-repeat;z-index:2;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_progress_svg{border:1px solid #e4e4e4;z-index:2;position:absolute;left:0;top:0;width:100%;height:100%;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_progress_svg .dhx_cell_prsvg{position:absolute;top:0;left:0;right:0;bottom:0;margin:auto;width:50px;height:50px;animation:dhx_loader_rotate 2s linear infinite;transform-origin:center center;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_progress_svg .dhx_cell_prsvg .dhx_cell_prcircle{fill:none;stroke:#39c;stroke-width:2;stroke-miterlimit:10;stroke-dasharray:1,200;stroke-dashoffset:0;stroke-linecap:round;animation:dhx_loader_dash 1.5s ease-in-out infinite;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_menu_def{position:relative;overflow:hidden;border-style:solid;border-width:0 1px 1px 1px;border-color:#dfdfdf;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_toolbar_def{position:relative;overflow:hidden;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_toolbar_def .dhx_toolbar_material{border-width:0 1px 1px 1px;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def{position:relative;overflow:hidden;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material{border-top-width:0;margin-top:-1px;width:auto;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhtmlxribbon_material.dhxrb_without_tabbar{border-top-width:0;width:auto;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_statusbar_def{position:absolute;bottom:0;width:100%;background-color:#fafafa;z-index:1;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text{position:relative;font:inherit;height:30px;line-height:30px;border-style:solid;border-width:0 1px 1px 1px;border-color:#dfdfdf;white-space:nowrap;overflow:hidden;padding:0 12px;color:#737373;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_menu_def,.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_toolbar_def .dhx_toolbar_material,.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhtmlxribbon_material.dhxrb_without_tabbar{border-width:1px 1px 0 0;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material{border-width:1px 1px 0 0;margin-top:0;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material div.dhxtabbar_tabs{border-left-width:0;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material div.dhxtabbar_tabs_top div.dhx_cell_tabbar div.dhx_cell_cont_tabbar{border-width:0 1px 0 0;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text{border-left-width:0;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_progress_img{border-left-width:0;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar.dhx_cell_cont_no_top div.dhx_cell_cont_sidebar{border-top-color:white;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_cont_sidebar{position:absolute;border-style:solid;border-color:#dfdfdf;border-width:1px 1px 1px 0;overflow:hidden;z-index:0;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_cont_sidebar.dhx_cell_cont_no_borders{border-width:0;padding:0;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr{position:relative;background-color:#fafafa;height:36px;line-height:35px;font-weight:normal;overflow:hidden;cursor:default;z-index:1;border-style:solid;border-color:#dfdfdf;border-width:1px 1px 0 0;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);}.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr.dhx_cell_sidebar_hdr_hidden{border-width:1px 0 0 0;height:0;line-height:0;overflow:hidden;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr div.dhx_cell_sidebar_hdr_text{position:relative;margin:0 10px;overflow:hidden;white-space:nowrap;cursor:default;text-align:left;height:100%;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr div.dhx_cell_sidebar_hdr_text.dhx_cell_sidebar_hdr_text_icon{margin-left:34px!important;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr div.dhx_cell_sidebar_hdr_icon{position:absolute;top:0;left:10px;width:16px;height:100%;background-image:url("imgs/dhxsidebar_material/dhxsidebar_side_icon.gif");background-position:center center;background-repeat:no-repeat;}.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr{border-left-width:1px;}.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_cont_sidebar{border-left-width:1px;}.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_cont_sidebar.dhx_cell_cont_no_borders{border-left-width:0;}.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_menu_def,.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_toolbar_def .dhx_toolbar_material,.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhtmlxribbon_material.dhxrb_without_tabbar,.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text{border-left-width:1px;}.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material div.dhxtabbar_tabs{border-left-width:1px;}.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material div.dhxtabbar_tabs_top div.dhx_cell_tabbar div.dhx_cell_cont_tabbar{border-left-width:1px;}.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide{overflow:hidden;}.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide div.dhxsidebar_side{-webkit-transition:left .2s;-moz-transition:left .2s;-ms-transition:left .2s;-o-transition:left .2s;transition:left .2s;box-shadow:0 2px 8px rgba(127,127,127,0.4);}.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide div.dhxsidebar_arrows{-webkit-transition:left .2s;-moz-transition:left .2s;-ms-transition:left .2s;-o-transition:left .2s;transition:left .2s;box-shadow:0 4px 6px rgba(127,127,127,0.4);}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side_cover{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;background-color:#fff;z-index:3;-webkit-transition:opacity .3s;-moz-transition:opacity .3s;-ms-transition:opacity .3s;-o-transition:opacity .3s;transition:opacity .3s;opacity:.0001;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side_cover.dhxsidebar_side_cover_actv{opacity:.6;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=60);}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_arrows{position:absolute;left:0;bottom:0;height:24px;border:1px solid #dfdfdf;background-color:#fafafa;font-size:1px;overflow:hidden;z-index:6;-webkit-tap-highlight-color:rgba(0,0,0,0);-ms-touch-action:none;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_arrows.dhxsidebar_arrows_hidden{height:0;border-width:0 1px 1px 1px;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow{position:absolute;width:50%;height:100%;top:0;font-size:1px;overflow:hidden;z-index:1;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_left{left:0;border-right:1px solid #dfdfdf;z-index:2;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_left div.dhxsidebar_arrow_image{background-image:url("imgs/dhxsidebar_material/dhxsidebar_arrow_up.gif");}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_right{right:0;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_right div.dhxsidebar_arrow_image{background-image:url("imgs/dhxsidebar_material/dhxsidebar_arrow_down.gif");}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow div.dhxsidebar_arrow_image{position:absolute;left:0;top:0;width:100%;height:100%;background-repeat:no-repeat;background-position:center center;font-size:1px;overflow:hidden;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow:hover{background-color:#f5f5f5;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow:active{background-color:#f0f0f0;}.dhxsidebar_base_material div.dhxcelltop_hdr{position:relative;}.dhxsidebar_base_material div.dhxcelltop_ftr{position:absolute;}.dhxsidebar_base_material div.dhxcelltop_progress{position:absolute;left:0;top:0;width:100%;height:100%;background-color:white;z-index:3;opacity:.55;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=55);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxsidebar_base_material div.dhxcelltop_progress_img{position:absolute;left:0;top:0;width:100%;height:100%;background-image:url('imgs/dhxsidebar_material/dhxsidebar_cell_progress.gif');background-position:center center;background-repeat:no-repeat;z-index:4;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxsidebar_base_material div.dhxcelltop_progress_svg{z-index:4;position:absolute;left:0;top:0;width:100%;height:100%;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxsidebar_base_material div.dhxcelltop_progress_svg .dhx_cell_prsvg{position:absolute;top:0;left:0;right:0;bottom:0;margin:auto;width:50px;height:50px;animation:dhx_loader_rotate 2s linear infinite;transform-origin:center center;}.dhxsidebar_base_material div.dhxcelltop_progress_svg .dhx_cell_prsvg .dhx_cell_prcircle{fill:none;stroke:#39c;stroke-width:2;stroke-miterlimit:10;stroke-dasharray:1,200;stroke-dashoffset:0;stroke-linecap:round;animation:dhx_loader_dash 1.5s ease-in-out infinite;}.dhxsidebar_base_material div.dhxcelltop_menu{position:relative;overflow:hidden;border-width:1px 1px 0 1px;border-style:solid;border-color:#dfdfdf;}.dhxsidebar_base_material div.dhxcelltop_toolbar{position:relative;overflow:hidden;}.dhxsidebar_base_material div.dhxcelltop_toolbar div.dhx_toolbar_material{border-width:1px 1px 0 1px;}.dhxsidebar_base_material div.dhxcelltop_ribbon{position:relative;overflow:hidden;}.dhxsidebar_base_material div.dhxcelltop_ribbon div.dhtmlxribbon_material.dhxrb_without_tabbar{border-bottom-width:0;width:auto;}.dhxsidebar_base_material div.dhxcelltop_ribbon div.dhtmlxribbon_material div.dhxrb_with_tabbar.dhxtabbar_base_material div.dhxtabbar_tabs_top div.dhx_cell_tabbar div.dhx_cell_cont_tabbar{border-bottom-width:0;}.dhxsidebar_base_material div.dhxcelltop_statusbar{position:absolute;overflow:hidden;background-color:#fafafa;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhxsidebar_base_material div.dhxcelltop_statusbar div.dhxcont_statusbar{position:relative;background-color:#fafafa;font:inherit;height:30px;line-height:30px;border-width:0 1px 1px 1px;border-style:solid;border-color:#dfdfdf;padding:0 12px;color:#737373;white-space:nowrap;overflow:hidden;}.dhxsidebar_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:40px;height:10px;overflow:hidden;}@keyframes dhx_loader_rotate{100%{transform:rotate(360deg);}}@keyframes dhx_loader_dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0;}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px;}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px;}}.dhxcarousel_base_material{background-color:white;position:relative;cursor:default;}.dhxcarousel_base_material div.dhxcarousel_cont{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area{position:relative;overflow:hidden;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area.dhxcarousel_area_flip{perspective:900px;-webkit-perspective:900;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel{position:absolute;background-color:white;margin:0;padding:0;overflow:hidden;cursor:default;z-index:0;-webkit-transform-style:preserve-3d;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_cover{position:absolute;left:0;top:0;width:100%;height:100%;margin:0;padding:0;font-size:1px;background-color:white;overflow:hidden;z-index:1;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_progress_bar{position:absolute;left:0;top:0;width:100%;height:100%;background-color:white;z-index:1;opacity:.75;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=75);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_progress_img{position:absolute;left:0;top:0;width:100%;height:100%;border:1px solid #e4e4e4;background-image:url('imgs/dhxcarousel_material/dhxcarousel_cell_progress.gif');background-position:center center;background-repeat:no-repeat;z-index:2;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_progress_svg{border:1px solid #e4e4e4;z-index:2;position:absolute;left:0;top:0;width:100%;height:100%;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_progress_svg .dhx_cell_prsvg{position:absolute;top:0;left:0;right:0;bottom:0;margin:auto;width:50px;height:50px;animation:dhx_loader_rotate 2s linear infinite;transform-origin:center center;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_progress_svg .dhx_cell_prsvg .dhx_cell_prcircle{fill:none;stroke:#39c;stroke-width:2;stroke-miterlimit:10;stroke-dasharray:1,200;stroke-dashoffset:0;stroke-linecap:round;animation:dhx_loader_dash 1.5s ease-in-out infinite;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_menu_def{position:relative;overflow:hidden;border-style:solid;border-width:0 1px 1px 1px;border-color:#dfdfdf;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_toolbar_def{position:relative;overflow:hidden;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_toolbar_def .dhx_toolbar_material{border-width:0 1px 1px 1px;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def{position:relative;overflow:hidden;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material{border-top-width:0;margin-top:-1px;width:auto;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def div.dhtmlxribbon_material.dhxrb_without_tabbar{border-top-width:0;width:auto;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_statusbar_def{position:absolute;bottom:0;width:100%;background-color:#fafafa;z-index:1;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text{position:relative;font:inherit;height:30px;line-height:30px;border-style:solid;border-width:0 1px 1px 1px;border-color:#dfdfdf;white-space:nowrap;overflow:hidden;padding:0 12px;color:#737373;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_cont_carousel{position:absolute;border:1px solid #dfdfdf;overflow:hidden;margin:0;padding:0;z-index:0;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_cont_carousel.dhx_cell_cont_no_borders{border-width:0;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_menu_def{border-width:1px 1px 0 1px;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_toolbar_def .dhx_toolbar_material{border-width:1px 1px 0 1px;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def div.dhtmlxribbon_material.dhxrb_without_tabbar{border-width:1px 1px 0 1px;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material{border-top-width:1px;margin-top:0;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material div.dhxtabbar_tabs_top div.dhx_cell_tabbar div.dhx_cell_cont_tabbar{border-bottom-width:0;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls{position:absolute;width:100%;height:34px;bottom:0;left:0;z-index:3;overflow:visible;border-top:1px solid #dfdfdf;background-color:#fafafa;-webkit-tap-highlight-color:rgba(0,0,0,0);}.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn{position:absolute;bottom:0;width:38px;height:100%;overflow:hidden;line-height:33px;background-color:#fafafa;border:0 solid #dfdfdf;background-position:center center;background-repeat:no-repeat;text-align:center;z-index:2;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev{background-image:url(imgs/dhxcarousel_material/dhxcarousel_arrow_left.png);}.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis{background-image:url(imgs/dhxcarousel_material/dhxcarousel_arrow_left_dis.png);}.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next{background-image:url(imgs/dhxcarousel_material/dhxcarousel_arrow_right.png);}.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis{background-image:url(imgs/dhxcarousel_material/dhxcarousel_arrow_right_dis.png);}.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev:hover,.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next:hover{background-color:#ebebeb;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev:active,.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next:active{background-color:#dcdcdc;border-color:#d2d2d2;box-shadow:0 0 4px rgba(127,127,127,0.2) inset;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev,.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis{left:0;border-right-width:1px;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next,.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis{right:0;border-left-width:1px;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis,.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis{z-index:1;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars{position:absolute;top:10px;text-align:center;font-size:1px;line-height:36px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars div.dhx_carousel_onebar{float:left;position:relative;margin:0 2px;width:14px;height:14px;border:1px solid #797979;border-radius:14px;background-color:white;font-size:1px;overflow:hidden;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars div.dhx_carousel_onebar div.dhx_carousel_barcore{display:none;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars div.dhx_carousel_onebar.dhx_carousel_baractv{border-color:#39c;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars div.dhx_carousel_onebar.dhx_carousel_baractv div.dhx_carousel_barcore{position:absolute;display:block;font-size:1px;margin:0;padding:0;width:8px;height:8px;top:3px;left:3px;border-radius:50%;background-color:#39c;overflow:hidden;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxcarousel_base_material div.dhxcelltop_hdr{position:relative;}.dhxcarousel_base_material div.dhxcelltop_ftr{position:absolute;}.dhxcarousel_base_material div.dhxcelltop_progress{position:absolute;left:0;top:0;width:100%;height:100%;background-color:white;z-index:3;opacity:.55;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=55);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxcarousel_base_material div.dhxcelltop_progress_img{position:absolute;left:0;top:0;width:100%;height:100%;background-image:url('imgs/dhxcarousel_material/dhxcarousel_cell_progress.gif');background-position:center center;background-repeat:no-repeat;z-index:4;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxcarousel_base_material div.dhxcelltop_progress_svg{z-index:4;position:absolute;left:0;top:0;width:100%;height:100%;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxcarousel_base_material div.dhxcelltop_progress_svg .dhx_cell_prsvg{position:absolute;top:0;left:0;right:0;bottom:0;margin:auto;width:50px;height:50px;animation:dhx_loader_rotate 2s linear infinite;transform-origin:center center;}.dhxcarousel_base_material div.dhxcelltop_progress_svg .dhx_cell_prsvg .dhx_cell_prcircle{fill:none;stroke:#39c;stroke-width:2;stroke-miterlimit:10;stroke-dasharray:1,200;stroke-dashoffset:0;stroke-linecap:round;animation:dhx_loader_dash 1.5s ease-in-out infinite;}.dhxcarousel_base_material div.dhxcelltop_menu{position:relative;overflow:hidden;border-width:1px 1px 0 1px;border-style:solid;border-color:#dfdfdf;}.dhxcarousel_base_material div.dhxcelltop_toolbar{position:relative;overflow:hidden;}.dhxcarousel_base_material div.dhxcelltop_toolbar div.dhx_toolbar_material{border-width:1px 1px 0 1px;}.dhxcarousel_base_material div.dhxcelltop_ribbon{position:relative;overflow:hidden;}.dhxcarousel_base_material div.dhxcelltop_ribbon div.dhtmlxribbon_material.dhxrb_without_tabbar{border-bottom-width:0;width:auto;}.dhxcarousel_base_material div.dhxcelltop_ribbon div.dhtmlxribbon_material div.dhxrb_with_tabbar.dhxtabbar_base_material div.dhxtabbar_tabs_top div.dhx_cell_tabbar div.dhx_cell_cont_tabbar{border-bottom-width:0;}.dhxcarousel_base_material div.dhxcelltop_statusbar{position:absolute;overflow:hidden;background-color:#fafafa;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhxcarousel_base_material div.dhxcelltop_statusbar div.dhxcont_statusbar{position:relative;background-color:#fafafa;font:inherit;height:30px;line-height:30px;border-width:0 1px 1px 1px;border-style:solid;border-color:#dfdfdf;padding:0 12px;color:#737373;white-space:nowrap;overflow:hidden;}.dhxcarousel_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:40px;height:10px;overflow:hidden;}div.dhx_popup_material div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_material{background-color:#fafafa;}div.dhx_popup_material div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls,.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls,.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls{border-bottom:1px solid #dfdfdf;}div.dhx_popup_material div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev,div.dhx_popup_material div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis,.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev,.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis,.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev,.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis{border-left-width:1px;}div.dhx_popup_material div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next,div.dhx_popup_material div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis,.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next,.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis,.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next,.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis{border-right-width:1px;}@keyframes dhx_loader_rotate{100%{transform:rotate(360deg);}}@keyframes dhx_loader_dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0;}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px;}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px;}}.dhxwins_vp_material{overflow:hidden;position:relative;cursor:default;}.dhxwins_vp_material div.dhxwin_active{position:absolute;overflow:hidden;box-shadow:0 28px 80px -6px rgba(0,0,0,0.4);background-color:#39c;cursor:inherit;-webkit-tap-highlight-color:rgba(0,0,0,0);}.dhxwins_vp_material div.dhxwin_active div.dhxwin_fr_cover{display:none;}.dhxwins_vp_material div.dhxwin_active div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button:hover{background-color:#3090c0;}.dhxwins_vp_material div.dhxwin_active.dhxwin_dnd_touch,.dhxwins_vp_material div.dhxwin_active.dhxwin_dnd{box-shadow:0 0 8px rgba(125,125,125,0.4);box-shadow:0 28px 80px -6px rgba(1,1,1,0.4);}.dhxwins_vp_material div.dhxwin_active.dhxwin_dnd_touch{border-color:#6c94b4;box-shadow:0 0 14px #a4b9cb;-webkit-touch-callout:none;-webkit-user-select:none;}.dhxwins_vp_material div.dhxwin_inactive{position:absolute;overflow:hidden;box-shadow:0 0 8px rgba(127,127,127,0.4);background-color:#70b8db;cursor:inherit;-webkit-tap-highlight-color:rgba(0,0,0,0);}.dhxwins_vp_material div.dhxwin_inactive div.dhxwin_brd{border-color:#70b8db;opacity:.8;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=80);}.dhxwins_vp_material div.dhxwin_inactive div.dhxwin_fr_cover{z-index:4;opacity:.5;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);}.dhxwins_vp_material div.dhxwin_inactive div.dhxwin_fr_cover.dhxwin_fr_cover_dnd,.dhxwins_vp_material div.dhxwin_inactive div.dhxwin_fr_cover.dhxwin_fr_cover_resize{display:block;}.dhxwins_vp_material div.dhxwin_inactive div.dhxwin_hdr{color:#d9e7f3;background-color:#70b8db;opacity:.8;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=80);}.dhxwins_vp_material div.dhxwin_inactive div.dhxwin_hdr div.dhxwin_icon{opacity:.6;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=60);}.dhxwins_vp_material div.dhxwin_inactive div.dhxwin_hdr div.dhxwin_btns{opacity:.5;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);}.dhxwins_vp_material div.dhxwin_brd{position:absolute;border-color:#39c;border-style:solid;border-width:0 2px 2px 2px;background:white;z-index:0;}.dhxwins_vp_material div.dhxwin_brd.dhxwin_hdr_hidden{border-top-width:2px;}.dhxwins_vp_material div.dhxwin_fr_cover{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;background-color:white;z-index:1;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}.dhxwins_vp_material div.dhxwin_fr_cover iframe.dhxwin_fr_cover_inner,.dhxwins_vp_material div.dhxwin_fr_cover div.dhxwin_fr_cover_inner{position:absolute;left:0;top:0;width:100%;height:100%;background-color:white;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}.dhxwins_vp_material iframe.dhxwin_main_fr_cover{position:absolute;background-color:white;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}.dhxwins_vp_material div.dhxwin_hdr{position:relative;height:48px;line-height:48px;background-color:#39c;margin:0;padding:0;font-family:Roboto,Arial,Helvetica;font-size:17px;color:#ecf3f9;cursor:inherit;overflow:hidden;z-index:3;-ms-touch-action:none;touch-action:none;}.dhxwins_vp_material div.dhxwin_hdr.dhxwin_hdr_hidden{visibility:hidden;}.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_icon{position:absolute;display:none;left:15px;top:15px;width:18px;height:18px;cursor:default;overflow:hidden;background-image:url("imgs/dhxwins_material/dhxwins_icon.gif");background-position:center center;background-repeat:no-repeat;cursor:inherit;z-index:2;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_text{position:relative;padding:0;margin:0;overflow:hidden;white-space:nowrap;cursor:inherit;z-index:1;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_text div.dhxwin_text_inside{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;width:100%;}.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns{position:absolute;right:15px;top:12px;height:24px;cursor:default;overflow:hidden;cursor:inherit;z-index:2;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button,.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis{position:relative;float:left;width:24px;height:24px;margin-left:1px;margin-top:2px;background-image:url("imgs/dhxwins_material/dhxwins_buttons.png");background-repeat:no-repeat;background-position:0 0;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_close{background-position:-24px 0;}.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_minmax{background-position:-48px 0;}.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_minmaxed{background-position:-72px 0;}.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_park{background-position:-96px 0;}.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_stick{background-position:-120px 0;}.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_sticked{background-position:-144px 0;background-color:#3090c0!important;}.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_help{background-position:-168px 0;}.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_dock{background-position:-192px 0;}.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_close_dis{background-position:-24px -24px;}.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_minmax_dis{background-position:-48px -24px;}.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_minmaxed_dis{background-position:-72px -24px;}.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_park_dis{background-position:-96px -24px;}.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_stick_dis{background-position:-120px -24px;}.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_sticked_dis{background-position:-144px -24px;background-color:#3193c4!important;}.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_help_dis{background-position:-168px -24px;}.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_dock_dis{background-position:-192px -24px;}.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins,.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins{position:absolute;background-color:white;margin:0;padding:0;overflow:hidden;cursor:default;visibility:visible;z-index:1;opacity:1;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=100);}.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_cover,.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_cover{position:absolute;left:0;top:0;width:100%;height:100%;margin:0;padding:0;font-size:1px;background-color:white;overflow:hidden;z-index:1;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_progress_bar,.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_progress_bar{position:absolute;left:0;top:0;width:100%;height:100%;background-color:white;z-index:1;opacity:.75;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=75);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_progress_img,.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_progress_img{position:absolute;left:0;top:0;width:100%;height:100%;border:1px solid #e4e4e4;background-image:url("imgs/dhxwins_material/dhxwins_progress.gif");background-position:center center;background-repeat:no-repeat;z-index:2;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_progress_svg,.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_progress_svg{border:1px solid #e4e4e4;z-index:2;position:absolute;left:0;top:0;width:100%;height:100%;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_progress_svg .dhx_cell_prsvg,.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_progress_svg .dhx_cell_prsvg{position:absolute;top:0;left:0;right:0;bottom:0;margin:auto;width:50px;height:50px;animation:dhx_loader_rotate 2s linear infinite;transform-origin:center center;}.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_progress_svg .dhx_cell_prsvg .dhx_cell_prcircle,.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_progress_svg .dhx_cell_prsvg .dhx_cell_prcircle{fill:none;stroke:#39c;stroke-width:2;stroke-miterlimit:10;stroke-dasharray:1,200;stroke-dashoffset:0;stroke-linecap:round;animation:dhx_loader_dash 1.5s ease-in-out infinite;}.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_menu_def,.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_menu_def{position:relative;overflow:hidden;border-style:solid;border-width:0 1px 1px 1px;border-color:#dfdfdf;}.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_toolbar_def,.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_toolbar_def{position:relative;overflow:hidden;}.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_toolbar_def .dhx_toolbar_material,.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_toolbar_def .dhx_toolbar_material{border-width:0 1px 1px 1px;}.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_ribbon_def,.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_ribbon_def{position:relative;overflow:hidden;}.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material,.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material{border-top-width:0;margin-top:-1px;width:auto;}.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_ribbon_def div.dhtmlxribbon_material.dhxrb_without_tabbar,.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_ribbon_def div.dhtmlxribbon_material.dhxrb_without_tabbar{border-top-width:0;width:auto;}.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_statusbar_def,.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_statusbar_def{position:absolute;bottom:0;width:100%;background-color:#fafafa;z-index:1;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text,.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text{position:relative;font:inherit;height:30px;line-height:30px;border-style:solid;border-width:0 1px 1px 1px;border-color:#dfdfdf;white-space:nowrap;overflow:hidden;padding:0 12px;color:#737373;}.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_menu_def,.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_menu_def{border-width:0 0 1px 0;}.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_menu_def .dhtmlxMenu_material_Middle,.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_menu_def .dhtmlxMenu_material_Middle{padding:0 2px;}.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_toolbar_def .dhx_toolbar_material,.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_toolbar_def .dhx_toolbar_material{border-width:0 0 1px 0;}.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text,.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text{border-width:1px 0 0 0;}.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins.dhxwin_parked,.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins.dhxwin_parked{visibility:hidden;}.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_cont_wins,.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_cont_wins{position:absolute;background-color:white;overflow:hidden;z-index:0;}.dhxwins_vp_material.dhxwins_vp_dnd{cursor:move!important;}.dhxwins_vp_material div.dhxwin_resize{position:absolute;background-color:#cfcfcf;opacity:.3;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30);}.dhxwins_vp_material iframe.dhxwin_resize_fr_cover{position:absolute;background-color:white;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}.dhxwins_vp_material div.dhxwins_mcover{position:absolute;background-color:#f3f3f3;left:0;top:0;width:100%;height:100%;opacity:.55;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=55);}.dhxwins_vp_material iframe.dhxwins_mcover{position:absolute;background-color:white;left:0;top:0;width:100%;height:100%;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}.dhxwins_vp_material.dhxwins_vp_fs{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;}.dhxwins_vp_auto{overflow:auto!important;}.dhxwins_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:40px;height:10px;overflow:hidden;}@keyframes dhx_loader_rotate{100%{transform:rotate(360deg);}}@keyframes dhx_loader_dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0;}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px;}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px;}}.dhtmlx_message_area{position:fixed;right:10px;width:250px;z-index:1000;padding:0;}.dhtmlx-info{color:#444;min-width:120px;background:#f5f5f5;font-size:14px;font-family:Roboto,Arial,Helvetica;font-weight:500;z-index:10000;margin:0 5px 7px 5px;box-shadow:0 2px 4px rgba(0,0,0,0.2);border-radius:3px;-webkit-transition:all .5s ease;-moz-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease;}.dhtmlx-info div{padding:16px 9px 16px 15px;background-color:#f5f5f5;border-radius:3px;-webkit-transition:all .5s ease;-moz-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease;}.dhtmlx-info.hidden{box-shadow:none;border-top:none;border-bottom:none;margin-top:0;margin-bottom:0;overflow:hidden;}.dhtmlx-info.hidden div{height:0;border-top:none;border-bottom:none;padding-bottom:0;padding-top:0;overflow:hidden;}.dhtmlx-error{color:#fff;background-color:#e53935;box-shadow:0 0 6px rgba(0,0,0,0.49);border-radius:0;}.dhtmlx-error div{padding:16px 9px 16px 18px;background-color:#e53935;}.dhtmlx_modal_box{overflow:hidden;display:inline-block;min-width:300px;width:300px;text-align:center;position:fixed;background-color:#fff;z-index:20000;box-shadow:0 28px 80px -6px rgba(0,0,0,0.4);}.dhtmlx_popup_title{padding:16px 0;font-size:17px;line-height:16px;font-family:Roboto,Arial,Helvetica;}.dhtmlx-info,.dhtmlx_popup_title,.dhtmlx_popup_button{-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-o-user-select:none;user-select:none;-moz-user-select:-moz-none;cursor:pointer;}.dhtmlx_popup_text{font-size:15px;font-family:Roboto,Arial,Helvetica;color:#444;min-height:30px;padding:20px 10px 5px 10px!important;overflow:hidden;}.dhtmlx_popup_controls{font-family:Roboto,Arial,Helvetica;font-weight:bold;padding:10px 10px 15px 10px!important;}.dhtmlx_popup_button{font-size:14px;font-family:Roboto,Arial,Helvetica;font-weight:500;min-width:120px;width:120px;height:32px;display:inline-block;margin:0 5px;color:#444;}.dhtmlx_popup_button div{line-height:32px;text-transform:uppercase;}div.dhx_modal_cover{background-color:#000;cursor:default;opacity:.24;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=20);position:fixed;z-index:19999;left:0;top:0;width:100%;height:100%;border:none;zoom:1;}.dhtmlx_popup_button{color:#222;border:1px solid #dfdfdf;background:#f5f5f5;}.dhtmlx_popup_button:active,.dhtmlx_popup_button:focus{background:#eee;}.dhtmlx_popup_button:first-child{background:#39c;color:white;font-weight:normal;}.dhtmlx-alert-error .dhtmlx_popup_title,.dhtmlx-confirm-error .dhtmlx_popup_title{color:#fff;background:#e53935;}.dhtmlx-alert-error .dhtmlx_popup_button:first-child,.dhtmlx-confirm-error .dhtmlx_popup_button:first-child{background:#e53935;border:1px solid #f17373;}.dhtmlx-alert-warning .dhtmlx_popup_title,.dhtmlx-confirm-warning .dhtmlx_popup_title{color:#fff;background:#E6951A;}.dhtmlx-alert .dhtmlx_popup_title,.dhtmlx-confirm .dhtmlx_popup_title{color:white;background:#39c;} \ No newline at end of file diff --git a/themes/skins/material/imgs/dhxacc_material/dhxacc_btns.png b/themes/skins/material/imgs/dhxacc_material/dhxacc_btns.png deleted file mode 100644 index 80e159c..0000000 Binary files a/themes/skins/material/imgs/dhxacc_material/dhxacc_btns.png and /dev/null differ diff --git a/themes/skins/material/imgs/dhxacc_material/dhxacc_cell_progress.gif b/themes/skins/material/imgs/dhxacc_material/dhxacc_cell_progress.gif deleted file mode 100644 index ff9a5e6..0000000 Binary files a/themes/skins/material/imgs/dhxacc_material/dhxacc_cell_progress.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxcalendar_material/dhxcalendar_arrow_left.png b/themes/skins/material/imgs/dhxcalendar_material/dhxcalendar_arrow_left.png deleted file mode 100644 index a00ec17..0000000 Binary files a/themes/skins/material/imgs/dhxcalendar_material/dhxcalendar_arrow_left.png and /dev/null differ diff --git a/themes/skins/material/imgs/dhxcalendar_material/dhxcalendar_arrow_left.svg b/themes/skins/material/imgs/dhxcalendar_material/dhxcalendar_arrow_left.svg deleted file mode 100644 index 6aa4b51..0000000 --- a/themes/skins/material/imgs/dhxcalendar_material/dhxcalendar_arrow_left.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/themes/skins/material/imgs/dhxcalendar_material/dhxcalendar_arrow_right.png b/themes/skins/material/imgs/dhxcalendar_material/dhxcalendar_arrow_right.png deleted file mode 100644 index fa82bb3..0000000 Binary files a/themes/skins/material/imgs/dhxcalendar_material/dhxcalendar_arrow_right.png and /dev/null differ diff --git a/themes/skins/material/imgs/dhxcalendar_material/dhxcalendar_arrow_right.svg b/themes/skins/material/imgs/dhxcalendar_material/dhxcalendar_arrow_right.svg deleted file mode 100644 index 1304c8d..0000000 --- a/themes/skins/material/imgs/dhxcalendar_material/dhxcalendar_arrow_right.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/themes/skins/material/imgs/dhxcalendar_material/dhxcalendar_clock.png b/themes/skins/material/imgs/dhxcalendar_material/dhxcalendar_clock.png deleted file mode 100644 index 9787072..0000000 Binary files a/themes/skins/material/imgs/dhxcalendar_material/dhxcalendar_clock.png and /dev/null differ diff --git a/themes/skins/material/imgs/dhxcalendar_material/dhxcalendar_marker.gif b/themes/skins/material/imgs/dhxcalendar_material/dhxcalendar_marker.gif deleted file mode 100644 index 4785f82..0000000 Binary files a/themes/skins/material/imgs/dhxcalendar_material/dhxcalendar_marker.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxcalendar_material/dhxcalendar_selector_bottom.gif b/themes/skins/material/imgs/dhxcalendar_material/dhxcalendar_selector_bottom.gif deleted file mode 100644 index 46f962e..0000000 Binary files a/themes/skins/material/imgs/dhxcalendar_material/dhxcalendar_selector_bottom.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxcalendar_material/dhxcalendar_selector_top.gif b/themes/skins/material/imgs/dhxcalendar_material/dhxcalendar_selector_top.gif deleted file mode 100644 index 2fd1744..0000000 Binary files a/themes/skins/material/imgs/dhxcalendar_material/dhxcalendar_selector_top.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxcarousel_material/dhxcarousel_arrow_left.png b/themes/skins/material/imgs/dhxcarousel_material/dhxcarousel_arrow_left.png deleted file mode 100644 index f5340b7..0000000 Binary files a/themes/skins/material/imgs/dhxcarousel_material/dhxcarousel_arrow_left.png and /dev/null differ diff --git a/themes/skins/material/imgs/dhxcarousel_material/dhxcarousel_arrow_left_dis.png b/themes/skins/material/imgs/dhxcarousel_material/dhxcarousel_arrow_left_dis.png deleted file mode 100644 index 5d12166..0000000 Binary files a/themes/skins/material/imgs/dhxcarousel_material/dhxcarousel_arrow_left_dis.png and /dev/null differ diff --git a/themes/skins/material/imgs/dhxcarousel_material/dhxcarousel_arrow_right.png b/themes/skins/material/imgs/dhxcarousel_material/dhxcarousel_arrow_right.png deleted file mode 100644 index b816126..0000000 Binary files a/themes/skins/material/imgs/dhxcarousel_material/dhxcarousel_arrow_right.png and /dev/null differ diff --git a/themes/skins/material/imgs/dhxcarousel_material/dhxcarousel_arrow_right_dis.png b/themes/skins/material/imgs/dhxcarousel_material/dhxcarousel_arrow_right_dis.png deleted file mode 100644 index 3ef9588..0000000 Binary files a/themes/skins/material/imgs/dhxcarousel_material/dhxcarousel_arrow_right_dis.png and /dev/null differ diff --git a/themes/skins/material/imgs/dhxcarousel_material/dhxcarousel_cell_progress.gif b/themes/skins/material/imgs/dhxcarousel_material/dhxcarousel_cell_progress.gif deleted file mode 100644 index ff9a5e6..0000000 Binary files a/themes/skins/material/imgs/dhxcarousel_material/dhxcarousel_cell_progress.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxcombo_material/dhxcombo_arrow_down.gif b/themes/skins/material/imgs/dhxcombo_material/dhxcombo_arrow_down.gif deleted file mode 100644 index a434339..0000000 Binary files a/themes/skins/material/imgs/dhxcombo_material/dhxcombo_arrow_down.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxcombo_material/dhxcombo_arrow_down.svg b/themes/skins/material/imgs/dhxcombo_material/dhxcombo_arrow_down.svg deleted file mode 100644 index 5ef058d..0000000 --- a/themes/skins/material/imgs/dhxcombo_material/dhxcombo_arrow_down.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/themes/skins/material/imgs/dhxcombo_material/dhxcombo_arrow_down_dis.gif b/themes/skins/material/imgs/dhxcombo_material/dhxcombo_arrow_down_dis.gif deleted file mode 100644 index 49631ec..0000000 Binary files a/themes/skins/material/imgs/dhxcombo_material/dhxcombo_arrow_down_dis.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxcombo_material/dhxcombo_chbx.gif b/themes/skins/material/imgs/dhxcombo_material/dhxcombo_chbx.gif deleted file mode 100644 index 812ab09..0000000 Binary files a/themes/skins/material/imgs/dhxcombo_material/dhxcombo_chbx.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxcp_material/dhxcp_colors.png b/themes/skins/material/imgs/dhxcp_material/dhxcp_colors.png deleted file mode 100644 index ede480c..0000000 Binary files a/themes/skins/material/imgs/dhxcp_material/dhxcp_colors.png and /dev/null differ diff --git a/themes/skins/material/imgs/dhxdataview_material/dnd_selector.png b/themes/skins/material/imgs/dhxdataview_material/dnd_selector.png deleted file mode 100644 index 5d8e9b4..0000000 Binary files a/themes/skins/material/imgs/dhxdataview_material/dnd_selector.png and /dev/null differ diff --git a/themes/skins/material/imgs/dhxdataview_material/dnd_selector_cells.png b/themes/skins/material/imgs/dhxdataview_material/dnd_selector_cells.png deleted file mode 100644 index 63da638..0000000 Binary files a/themes/skins/material/imgs/dhxdataview_material/dnd_selector_cells.png and /dev/null differ diff --git a/themes/skins/material/imgs/dhxdataview_material/dnd_selector_lines.png b/themes/skins/material/imgs/dhxdataview_material/dnd_selector_lines.png deleted file mode 100644 index 576ecfd..0000000 Binary files a/themes/skins/material/imgs/dhxdataview_material/dnd_selector_lines.png and /dev/null differ diff --git a/themes/skins/material/imgs/dhxdataview_material/marker.png b/themes/skins/material/imgs/dhxdataview_material/marker.png deleted file mode 100644 index ceec125..0000000 Binary files a/themes/skins/material/imgs/dhxdataview_material/marker.png and /dev/null differ diff --git a/themes/skins/material/imgs/dhxeditor_material/align_center.png b/themes/skins/material/imgs/dhxeditor_material/align_center.png deleted file mode 100644 index 6cdebbc..0000000 Binary files a/themes/skins/material/imgs/dhxeditor_material/align_center.png and /dev/null differ diff --git a/themes/skins/material/imgs/dhxeditor_material/align_justify.png b/themes/skins/material/imgs/dhxeditor_material/align_justify.png deleted file mode 100644 index b2a41ab..0000000 Binary files a/themes/skins/material/imgs/dhxeditor_material/align_justify.png and /dev/null differ diff --git a/themes/skins/material/imgs/dhxeditor_material/align_left.png b/themes/skins/material/imgs/dhxeditor_material/align_left.png deleted file mode 100644 index a22a11e..0000000 Binary files a/themes/skins/material/imgs/dhxeditor_material/align_left.png and /dev/null differ diff --git a/themes/skins/material/imgs/dhxeditor_material/align_right.png b/themes/skins/material/imgs/dhxeditor_material/align_right.png deleted file mode 100644 index f8d3bb1..0000000 Binary files a/themes/skins/material/imgs/dhxeditor_material/align_right.png and /dev/null differ diff --git a/themes/skins/material/imgs/dhxeditor_material/bold.png b/themes/skins/material/imgs/dhxeditor_material/bold.png deleted file mode 100644 index b6cfde6..0000000 Binary files a/themes/skins/material/imgs/dhxeditor_material/bold.png and /dev/null differ diff --git a/themes/skins/material/imgs/dhxeditor_material/buttons.png b/themes/skins/material/imgs/dhxeditor_material/buttons.png deleted file mode 100644 index 91f27bf..0000000 Binary files a/themes/skins/material/imgs/dhxeditor_material/buttons.png and /dev/null differ diff --git a/themes/skins/material/imgs/dhxeditor_material/clear.png b/themes/skins/material/imgs/dhxeditor_material/clear.png deleted file mode 100644 index e85d2dc..0000000 Binary files a/themes/skins/material/imgs/dhxeditor_material/clear.png and /dev/null differ diff --git a/themes/skins/material/imgs/dhxeditor_material/h1.png b/themes/skins/material/imgs/dhxeditor_material/h1.png deleted file mode 100644 index f952aed..0000000 Binary files a/themes/skins/material/imgs/dhxeditor_material/h1.png and /dev/null differ diff --git a/themes/skins/material/imgs/dhxeditor_material/h2.png b/themes/skins/material/imgs/dhxeditor_material/h2.png deleted file mode 100644 index 2f62643..0000000 Binary files a/themes/skins/material/imgs/dhxeditor_material/h2.png and /dev/null differ diff --git a/themes/skins/material/imgs/dhxeditor_material/h3.png b/themes/skins/material/imgs/dhxeditor_material/h3.png deleted file mode 100644 index cf9bcea..0000000 Binary files a/themes/skins/material/imgs/dhxeditor_material/h3.png and /dev/null differ diff --git a/themes/skins/material/imgs/dhxeditor_material/h4.png b/themes/skins/material/imgs/dhxeditor_material/h4.png deleted file mode 100644 index b9e69ff..0000000 Binary files a/themes/skins/material/imgs/dhxeditor_material/h4.png and /dev/null differ diff --git a/themes/skins/material/imgs/dhxeditor_material/indent_dec.png b/themes/skins/material/imgs/dhxeditor_material/indent_dec.png deleted file mode 100644 index 060b906..0000000 Binary files a/themes/skins/material/imgs/dhxeditor_material/indent_dec.png and /dev/null differ diff --git a/themes/skins/material/imgs/dhxeditor_material/indent_inc.png b/themes/skins/material/imgs/dhxeditor_material/indent_inc.png deleted file mode 100644 index b4cfb7d..0000000 Binary files a/themes/skins/material/imgs/dhxeditor_material/indent_inc.png and /dev/null differ diff --git a/themes/skins/material/imgs/dhxeditor_material/italic.png b/themes/skins/material/imgs/dhxeditor_material/italic.png deleted file mode 100644 index 9e2580a..0000000 Binary files a/themes/skins/material/imgs/dhxeditor_material/italic.png and /dev/null differ diff --git a/themes/skins/material/imgs/dhxeditor_material/list_bullet.png b/themes/skins/material/imgs/dhxeditor_material/list_bullet.png deleted file mode 100644 index b313d0b..0000000 Binary files a/themes/skins/material/imgs/dhxeditor_material/list_bullet.png and /dev/null differ diff --git a/themes/skins/material/imgs/dhxeditor_material/list_number.png b/themes/skins/material/imgs/dhxeditor_material/list_number.png deleted file mode 100644 index 74a9120..0000000 Binary files a/themes/skins/material/imgs/dhxeditor_material/list_number.png and /dev/null differ diff --git a/themes/skins/material/imgs/dhxeditor_material/script_sub.png b/themes/skins/material/imgs/dhxeditor_material/script_sub.png deleted file mode 100644 index 04abd09..0000000 Binary files a/themes/skins/material/imgs/dhxeditor_material/script_sub.png and /dev/null differ diff --git a/themes/skins/material/imgs/dhxeditor_material/script_super.png b/themes/skins/material/imgs/dhxeditor_material/script_super.png deleted file mode 100644 index 951ae0b..0000000 Binary files a/themes/skins/material/imgs/dhxeditor_material/script_super.png and /dev/null differ diff --git a/themes/skins/material/imgs/dhxeditor_material/strike.png b/themes/skins/material/imgs/dhxeditor_material/strike.png deleted file mode 100644 index 5c3c9eb..0000000 Binary files a/themes/skins/material/imgs/dhxeditor_material/strike.png and /dev/null differ diff --git a/themes/skins/material/imgs/dhxeditor_material/underline.png b/themes/skins/material/imgs/dhxeditor_material/underline.png deleted file mode 100644 index 45572d2..0000000 Binary files a/themes/skins/material/imgs/dhxeditor_material/underline.png and /dev/null differ diff --git a/themes/skins/material/imgs/dhxform_material/dhxform_arrow_down.gif b/themes/skins/material/imgs/dhxform_material/dhxform_arrow_down.gif deleted file mode 100644 index c64d8c0..0000000 Binary files a/themes/skins/material/imgs/dhxform_material/dhxform_arrow_down.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxform_material/dhxform_arrow_down_dis.gif b/themes/skins/material/imgs/dhxform_material/dhxform_arrow_down_dis.gif deleted file mode 100644 index 2bc7b78..0000000 Binary files a/themes/skins/material/imgs/dhxform_material/dhxform_arrow_down_dis.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxform_material/dhxform_chbxrd.png b/themes/skins/material/imgs/dhxform_material/dhxform_chbxrd.png deleted file mode 100644 index 7f29274..0000000 Binary files a/themes/skins/material/imgs/dhxform_material/dhxform_chbxrd.png and /dev/null differ diff --git a/themes/skins/material/imgs/dhxform_material/dhxform_check_off.svg b/themes/skins/material/imgs/dhxform_material/dhxform_check_off.svg deleted file mode 100644 index 5222697..0000000 --- a/themes/skins/material/imgs/dhxform_material/dhxform_check_off.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/themes/skins/material/imgs/dhxform_material/dhxform_check_on.svg b/themes/skins/material/imgs/dhxform_material/dhxform_check_on.svg deleted file mode 100644 index 4d890b0..0000000 --- a/themes/skins/material/imgs/dhxform_material/dhxform_check_on.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/themes/skins/material/imgs/dhxform_material/dhxform_image_calendar.png b/themes/skins/material/imgs/dhxform_material/dhxform_image_calendar.png deleted file mode 100644 index 86e4ab7..0000000 Binary files a/themes/skins/material/imgs/dhxform_material/dhxform_image_calendar.png and /dev/null differ diff --git a/themes/skins/material/imgs/dhxform_material/dhxform_image_calendar_dis.png b/themes/skins/material/imgs/dhxform_material/dhxform_image_calendar_dis.png deleted file mode 100644 index 9e2a2ac..0000000 Binary files a/themes/skins/material/imgs/dhxform_material/dhxform_image_calendar_dis.png and /dev/null differ diff --git a/themes/skins/material/imgs/dhxform_material/dhxform_image_uploading.gif b/themes/skins/material/imgs/dhxform_material/dhxform_image_uploading.gif deleted file mode 100644 index 7c30859..0000000 Binary files a/themes/skins/material/imgs/dhxform_material/dhxform_image_uploading.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxform_material/dhxform_radio_off.svg b/themes/skins/material/imgs/dhxform_material/dhxform_radio_off.svg deleted file mode 100644 index be6199e..0000000 --- a/themes/skins/material/imgs/dhxform_material/dhxform_radio_off.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/themes/skins/material/imgs/dhxform_material/dhxform_radio_on.svg b/themes/skins/material/imgs/dhxform_material/dhxform_radio_on.svg deleted file mode 100644 index 76c4912..0000000 --- a/themes/skins/material/imgs/dhxform_material/dhxform_radio_on.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/themes/skins/material/imgs/dhxform_material/dhxform_upload_buttons.png b/themes/skins/material/imgs/dhxform_material/dhxform_upload_buttons.png deleted file mode 100644 index 9eea772..0000000 Binary files a/themes/skins/material/imgs/dhxform_material/dhxform_upload_buttons.png and /dev/null differ diff --git a/themes/skins/material/imgs/dhxform_material/dhxform_upload_uploading.gif b/themes/skins/material/imgs/dhxform_material/dhxform_upload_uploading.gif deleted file mode 100644 index ca190eb..0000000 Binary files a/themes/skins/material/imgs/dhxform_material/dhxform_upload_uploading.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxgrid_material/ar_left.gif b/themes/skins/material/imgs/dhxgrid_material/ar_left.gif deleted file mode 100644 index f759a30..0000000 Binary files a/themes/skins/material/imgs/dhxgrid_material/ar_left.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxgrid_material/ar_left_abs.gif b/themes/skins/material/imgs/dhxgrid_material/ar_left_abs.gif deleted file mode 100644 index 88c8436..0000000 Binary files a/themes/skins/material/imgs/dhxgrid_material/ar_left_abs.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxgrid_material/ar_left_abs_dis.gif b/themes/skins/material/imgs/dhxgrid_material/ar_left_abs_dis.gif deleted file mode 100644 index 50a2516..0000000 Binary files a/themes/skins/material/imgs/dhxgrid_material/ar_left_abs_dis.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxgrid_material/ar_left_dis.gif b/themes/skins/material/imgs/dhxgrid_material/ar_left_dis.gif deleted file mode 100644 index b8f397f..0000000 Binary files a/themes/skins/material/imgs/dhxgrid_material/ar_left_dis.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxgrid_material/ar_right.gif b/themes/skins/material/imgs/dhxgrid_material/ar_right.gif deleted file mode 100644 index 84f348d..0000000 Binary files a/themes/skins/material/imgs/dhxgrid_material/ar_right.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxgrid_material/ar_right_abs.gif b/themes/skins/material/imgs/dhxgrid_material/ar_right_abs.gif deleted file mode 100644 index 4a0e6bc..0000000 Binary files a/themes/skins/material/imgs/dhxgrid_material/ar_right_abs.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxgrid_material/ar_right_abs_dis.gif b/themes/skins/material/imgs/dhxgrid_material/ar_right_abs_dis.gif deleted file mode 100644 index feb03cb..0000000 Binary files a/themes/skins/material/imgs/dhxgrid_material/ar_right_abs_dis.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxgrid_material/ar_right_dis.gif b/themes/skins/material/imgs/dhxgrid_material/ar_right_dis.gif deleted file mode 100644 index 1b53886..0000000 Binary files a/themes/skins/material/imgs/dhxgrid_material/ar_right_dis.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxgrid_material/blank.gif b/themes/skins/material/imgs/dhxgrid_material/blank.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/skins/material/imgs/dhxgrid_material/blank.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxgrid_material/combo_select.gif b/themes/skins/material/imgs/dhxgrid_material/combo_select.gif deleted file mode 100644 index 57e5ece..0000000 Binary files a/themes/skins/material/imgs/dhxgrid_material/combo_select.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxgrid_material/dyn_.gif b/themes/skins/material/imgs/dhxgrid_material/dyn_.gif deleted file mode 100644 index 361094a..0000000 Binary files a/themes/skins/material/imgs/dhxgrid_material/dyn_.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxgrid_material/dyn_down.gif b/themes/skins/material/imgs/dhxgrid_material/dyn_down.gif deleted file mode 100644 index e8acb70..0000000 Binary files a/themes/skins/material/imgs/dhxgrid_material/dyn_down.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxgrid_material/dyn_up.gif b/themes/skins/material/imgs/dhxgrid_material/dyn_up.gif deleted file mode 100644 index bee4e0d..0000000 Binary files a/themes/skins/material/imgs/dhxgrid_material/dyn_up.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxgrid_material/imageloaderror.gif b/themes/skins/material/imgs/dhxgrid_material/imageloaderror.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/skins/material/imgs/dhxgrid_material/imageloaderror.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxgrid_material/item_chk0.gif b/themes/skins/material/imgs/dhxgrid_material/item_chk0.gif deleted file mode 100644 index 7c22611..0000000 Binary files a/themes/skins/material/imgs/dhxgrid_material/item_chk0.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxgrid_material/item_chk0_dis.gif b/themes/skins/material/imgs/dhxgrid_material/item_chk0_dis.gif deleted file mode 100644 index 66257cb..0000000 Binary files a/themes/skins/material/imgs/dhxgrid_material/item_chk0_dis.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxgrid_material/item_chk1.gif b/themes/skins/material/imgs/dhxgrid_material/item_chk1.gif deleted file mode 100644 index 91f4e06..0000000 Binary files a/themes/skins/material/imgs/dhxgrid_material/item_chk1.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxgrid_material/item_chk1_dis.gif b/themes/skins/material/imgs/dhxgrid_material/item_chk1_dis.gif deleted file mode 100644 index 82672fc..0000000 Binary files a/themes/skins/material/imgs/dhxgrid_material/item_chk1_dis.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxgrid_material/minus.gif b/themes/skins/material/imgs/dhxgrid_material/minus.gif deleted file mode 100644 index 1752666..0000000 Binary files a/themes/skins/material/imgs/dhxgrid_material/minus.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxgrid_material/paging_page.gif b/themes/skins/material/imgs/dhxgrid_material/paging_page.gif deleted file mode 100644 index a8b2bac..0000000 Binary files a/themes/skins/material/imgs/dhxgrid_material/paging_page.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxgrid_material/paging_pages.gif b/themes/skins/material/imgs/dhxgrid_material/paging_pages.gif deleted file mode 100644 index e4b3d3a..0000000 Binary files a/themes/skins/material/imgs/dhxgrid_material/paging_pages.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxgrid_material/paging_rows.gif b/themes/skins/material/imgs/dhxgrid_material/paging_rows.gif deleted file mode 100644 index 09db362..0000000 Binary files a/themes/skins/material/imgs/dhxgrid_material/paging_rows.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxgrid_material/plus.gif b/themes/skins/material/imgs/dhxgrid_material/plus.gif deleted file mode 100644 index 2fd379c..0000000 Binary files a/themes/skins/material/imgs/dhxgrid_material/plus.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxgrid_material/radio_chk0.gif b/themes/skins/material/imgs/dhxgrid_material/radio_chk0.gif deleted file mode 100644 index 6087139..0000000 Binary files a/themes/skins/material/imgs/dhxgrid_material/radio_chk0.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxgrid_material/radio_chk0_dis.gif b/themes/skins/material/imgs/dhxgrid_material/radio_chk0_dis.gif deleted file mode 100644 index 3fb9da2..0000000 Binary files a/themes/skins/material/imgs/dhxgrid_material/radio_chk0_dis.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxgrid_material/radio_chk1.gif b/themes/skins/material/imgs/dhxgrid_material/radio_chk1.gif deleted file mode 100644 index 2d60066..0000000 Binary files a/themes/skins/material/imgs/dhxgrid_material/radio_chk1.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxgrid_material/radio_chk1_dis.gif b/themes/skins/material/imgs/dhxgrid_material/radio_chk1_dis.gif deleted file mode 100644 index 44112b5..0000000 Binary files a/themes/skins/material/imgs/dhxgrid_material/radio_chk1_dis.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxgrid_material/separator.png b/themes/skins/material/imgs/dhxgrid_material/separator.png deleted file mode 100644 index 55018fc..0000000 Binary files a/themes/skins/material/imgs/dhxgrid_material/separator.png and /dev/null differ diff --git a/themes/skins/material/imgs/dhxgrid_material/sort_asc.gif b/themes/skins/material/imgs/dhxgrid_material/sort_asc.gif deleted file mode 100644 index 64f6cbe..0000000 Binary files a/themes/skins/material/imgs/dhxgrid_material/sort_asc.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxgrid_material/sort_desc.gif b/themes/skins/material/imgs/dhxgrid_material/sort_desc.gif deleted file mode 100644 index 2327ba1..0000000 Binary files a/themes/skins/material/imgs/dhxgrid_material/sort_desc.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxgrid_material/tree/blank.gif b/themes/skins/material/imgs/dhxgrid_material/tree/blank.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/skins/material/imgs/dhxgrid_material/tree/blank.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxgrid_material/tree/folder.gif b/themes/skins/material/imgs/dhxgrid_material/tree/folder.gif deleted file mode 100644 index 4b7e76d..0000000 Binary files a/themes/skins/material/imgs/dhxgrid_material/tree/folder.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxgrid_material/tree/leaf.gif b/themes/skins/material/imgs/dhxgrid_material/tree/leaf.gif deleted file mode 100644 index deca307..0000000 Binary files a/themes/skins/material/imgs/dhxgrid_material/tree/leaf.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxgrid_material/tree/line.gif b/themes/skins/material/imgs/dhxgrid_material/tree/line.gif deleted file mode 100644 index b4f560c..0000000 Binary files a/themes/skins/material/imgs/dhxgrid_material/tree/line.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxgrid_material/tree/line1.gif b/themes/skins/material/imgs/dhxgrid_material/tree/line1.gif deleted file mode 100644 index b4f560c..0000000 Binary files a/themes/skins/material/imgs/dhxgrid_material/tree/line1.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxgrid_material/tree/line2.gif b/themes/skins/material/imgs/dhxgrid_material/tree/line2.gif deleted file mode 100644 index 23b2ce3..0000000 Binary files a/themes/skins/material/imgs/dhxgrid_material/tree/line2.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxgrid_material/tree/line3.gif b/themes/skins/material/imgs/dhxgrid_material/tree/line3.gif deleted file mode 100644 index 43152c5..0000000 Binary files a/themes/skins/material/imgs/dhxgrid_material/tree/line3.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxgrid_material/tree/line4.gif b/themes/skins/material/imgs/dhxgrid_material/tree/line4.gif deleted file mode 100644 index 907fe7a..0000000 Binary files a/themes/skins/material/imgs/dhxgrid_material/tree/line4.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxgrid_material/tree/minus.gif b/themes/skins/material/imgs/dhxgrid_material/tree/minus.gif deleted file mode 100644 index 1752666..0000000 Binary files a/themes/skins/material/imgs/dhxgrid_material/tree/minus.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxgrid_material/tree/minus1.gif b/themes/skins/material/imgs/dhxgrid_material/tree/minus1.gif deleted file mode 100644 index 1752666..0000000 Binary files a/themes/skins/material/imgs/dhxgrid_material/tree/minus1.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxgrid_material/tree/minus2.gif b/themes/skins/material/imgs/dhxgrid_material/tree/minus2.gif deleted file mode 100644 index 1752666..0000000 Binary files a/themes/skins/material/imgs/dhxgrid_material/tree/minus2.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxgrid_material/tree/minus3.gif b/themes/skins/material/imgs/dhxgrid_material/tree/minus3.gif deleted file mode 100644 index 1752666..0000000 Binary files a/themes/skins/material/imgs/dhxgrid_material/tree/minus3.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxgrid_material/tree/minus4.gif b/themes/skins/material/imgs/dhxgrid_material/tree/minus4.gif deleted file mode 100644 index 1752666..0000000 Binary files a/themes/skins/material/imgs/dhxgrid_material/tree/minus4.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxgrid_material/tree/minus5.gif b/themes/skins/material/imgs/dhxgrid_material/tree/minus5.gif deleted file mode 100644 index 1752666..0000000 Binary files a/themes/skins/material/imgs/dhxgrid_material/tree/minus5.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxgrid_material/tree/plus.gif b/themes/skins/material/imgs/dhxgrid_material/tree/plus.gif deleted file mode 100644 index 2fd379c..0000000 Binary files a/themes/skins/material/imgs/dhxgrid_material/tree/plus.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxgrid_material/tree/plus1.gif b/themes/skins/material/imgs/dhxgrid_material/tree/plus1.gif deleted file mode 100644 index 2fd379c..0000000 Binary files a/themes/skins/material/imgs/dhxgrid_material/tree/plus1.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxgrid_material/tree/plus2.gif b/themes/skins/material/imgs/dhxgrid_material/tree/plus2.gif deleted file mode 100644 index 2fd379c..0000000 Binary files a/themes/skins/material/imgs/dhxgrid_material/tree/plus2.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxgrid_material/tree/plus3.gif b/themes/skins/material/imgs/dhxgrid_material/tree/plus3.gif deleted file mode 100644 index 2fd379c..0000000 Binary files a/themes/skins/material/imgs/dhxgrid_material/tree/plus3.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxgrid_material/tree/plus4.gif b/themes/skins/material/imgs/dhxgrid_material/tree/plus4.gif deleted file mode 100644 index 2fd379c..0000000 Binary files a/themes/skins/material/imgs/dhxgrid_material/tree/plus4.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxgrid_material/tree/plus5.gif b/themes/skins/material/imgs/dhxgrid_material/tree/plus5.gif deleted file mode 100644 index 2fd379c..0000000 Binary files a/themes/skins/material/imgs/dhxgrid_material/tree/plus5.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxlayout_material/dhxlayout_cell_btns.png b/themes/skins/material/imgs/dhxlayout_material/dhxlayout_cell_btns.png deleted file mode 100644 index f459876..0000000 Binary files a/themes/skins/material/imgs/dhxlayout_material/dhxlayout_cell_btns.png and /dev/null differ diff --git a/themes/skins/material/imgs/dhxlayout_material/dhxlayout_cell_progress.gif b/themes/skins/material/imgs/dhxlayout_material/dhxlayout_cell_progress.gif deleted file mode 100644 index ff9a5e6..0000000 Binary files a/themes/skins/material/imgs/dhxlayout_material/dhxlayout_cell_progress.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxlayout_material/dhxlayout_sep_hor.gif b/themes/skins/material/imgs/dhxlayout_material/dhxlayout_sep_hor.gif deleted file mode 100644 index bdf43b0..0000000 Binary files a/themes/skins/material/imgs/dhxlayout_material/dhxlayout_sep_hor.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxlayout_material/dhxlayout_sep_ver.gif b/themes/skins/material/imgs/dhxlayout_material/dhxlayout_sep_ver.gif deleted file mode 100644 index 666fee4..0000000 Binary files a/themes/skins/material/imgs/dhxlayout_material/dhxlayout_sep_ver.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxmenu_material/dhxmenu_arrow_down.png b/themes/skins/material/imgs/dhxmenu_material/dhxmenu_arrow_down.png deleted file mode 100644 index 89a354b..0000000 Binary files a/themes/skins/material/imgs/dhxmenu_material/dhxmenu_arrow_down.png and /dev/null differ diff --git a/themes/skins/material/imgs/dhxmenu_material/dhxmenu_arrow_down_dis.png b/themes/skins/material/imgs/dhxmenu_material/dhxmenu_arrow_down_dis.png deleted file mode 100644 index 1430cc5..0000000 Binary files a/themes/skins/material/imgs/dhxmenu_material/dhxmenu_arrow_down_dis.png and /dev/null differ diff --git a/themes/skins/material/imgs/dhxmenu_material/dhxmenu_arrow_up.png b/themes/skins/material/imgs/dhxmenu_material/dhxmenu_arrow_up.png deleted file mode 100644 index 8ad4531..0000000 Binary files a/themes/skins/material/imgs/dhxmenu_material/dhxmenu_arrow_up.png and /dev/null differ diff --git a/themes/skins/material/imgs/dhxmenu_material/dhxmenu_arrow_up_dis.png b/themes/skins/material/imgs/dhxmenu_material/dhxmenu_arrow_up_dis.png deleted file mode 100644 index efc49bd..0000000 Binary files a/themes/skins/material/imgs/dhxmenu_material/dhxmenu_arrow_up_dis.png and /dev/null differ diff --git a/themes/skins/material/imgs/dhxmenu_material/dhxmenu_chrd.png b/themes/skins/material/imgs/dhxmenu_material/dhxmenu_chrd.png deleted file mode 100644 index 0979352..0000000 Binary files a/themes/skins/material/imgs/dhxmenu_material/dhxmenu_chrd.png and /dev/null differ diff --git a/themes/skins/material/imgs/dhxmenu_material/dhxmenu_loader.gif b/themes/skins/material/imgs/dhxmenu_material/dhxmenu_loader.gif deleted file mode 100644 index ca190eb..0000000 Binary files a/themes/skins/material/imgs/dhxmenu_material/dhxmenu_loader.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxmenu_material/dhxmenu_subar.png b/themes/skins/material/imgs/dhxmenu_material/dhxmenu_subar.png deleted file mode 100644 index 6367440..0000000 Binary files a/themes/skins/material/imgs/dhxmenu_material/dhxmenu_subar.png and /dev/null differ diff --git a/themes/skins/material/imgs/dhxpopup_material/dhxpopup_arrow_bottom.gif b/themes/skins/material/imgs/dhxpopup_material/dhxpopup_arrow_bottom.gif deleted file mode 100644 index 2e0b62b..0000000 Binary files a/themes/skins/material/imgs/dhxpopup_material/dhxpopup_arrow_bottom.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxpopup_material/dhxpopup_arrow_left.gif b/themes/skins/material/imgs/dhxpopup_material/dhxpopup_arrow_left.gif deleted file mode 100644 index d4e7626..0000000 Binary files a/themes/skins/material/imgs/dhxpopup_material/dhxpopup_arrow_left.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxpopup_material/dhxpopup_arrow_right.gif b/themes/skins/material/imgs/dhxpopup_material/dhxpopup_arrow_right.gif deleted file mode 100644 index d5db8d7..0000000 Binary files a/themes/skins/material/imgs/dhxpopup_material/dhxpopup_arrow_right.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxpopup_material/dhxpopup_arrow_top.gif b/themes/skins/material/imgs/dhxpopup_material/dhxpopup_arrow_top.gif deleted file mode 100644 index 091051e..0000000 Binary files a/themes/skins/material/imgs/dhxpopup_material/dhxpopup_arrow_top.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxribbon_material/dhxribbon_arrow.gif b/themes/skins/material/imgs/dhxribbon_material/dhxribbon_arrow.gif deleted file mode 100644 index f64e20b..0000000 Binary files a/themes/skins/material/imgs/dhxribbon_material/dhxribbon_arrow.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxribbon_material/dhxribbon_checked.gif b/themes/skins/material/imgs/dhxribbon_material/dhxribbon_checked.gif deleted file mode 100644 index 1880e6f..0000000 Binary files a/themes/skins/material/imgs/dhxribbon_material/dhxribbon_checked.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxribbon_material/dhxribbon_checked_dis.gif b/themes/skins/material/imgs/dhxribbon_material/dhxribbon_checked_dis.gif deleted file mode 100644 index dd3cb91..0000000 Binary files a/themes/skins/material/imgs/dhxribbon_material/dhxribbon_checked_dis.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxsidebar_material/dhxsidebar_arrow_down.gif b/themes/skins/material/imgs/dhxsidebar_material/dhxsidebar_arrow_down.gif deleted file mode 100644 index e04b449..0000000 Binary files a/themes/skins/material/imgs/dhxsidebar_material/dhxsidebar_arrow_down.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxsidebar_material/dhxsidebar_arrow_up.gif b/themes/skins/material/imgs/dhxsidebar_material/dhxsidebar_arrow_up.gif deleted file mode 100644 index c230d03..0000000 Binary files a/themes/skins/material/imgs/dhxsidebar_material/dhxsidebar_arrow_up.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxsidebar_material/dhxsidebar_cell_progress.gif b/themes/skins/material/imgs/dhxsidebar_material/dhxsidebar_cell_progress.gif deleted file mode 100644 index ff9a5e6..0000000 Binary files a/themes/skins/material/imgs/dhxsidebar_material/dhxsidebar_cell_progress.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxsidebar_material/dhxsidebar_side_icon.gif b/themes/skins/material/imgs/dhxsidebar_material/dhxsidebar_side_icon.gif deleted file mode 100644 index 30dfbba..0000000 Binary files a/themes/skins/material/imgs/dhxsidebar_material/dhxsidebar_side_icon.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxtabbar_material/dhxtabbar_arrows.png b/themes/skins/material/imgs/dhxtabbar_material/dhxtabbar_arrows.png deleted file mode 100644 index db999c4..0000000 Binary files a/themes/skins/material/imgs/dhxtabbar_material/dhxtabbar_arrows.png and /dev/null differ diff --git a/themes/skins/material/imgs/dhxtabbar_material/dhxtabbar_button_close.png b/themes/skins/material/imgs/dhxtabbar_material/dhxtabbar_button_close.png deleted file mode 100644 index a284d0e..0000000 Binary files a/themes/skins/material/imgs/dhxtabbar_material/dhxtabbar_button_close.png and /dev/null differ diff --git a/themes/skins/material/imgs/dhxtabbar_material/dhxtabbar_cell_progress.gif b/themes/skins/material/imgs/dhxtabbar_material/dhxtabbar_cell_progress.gif deleted file mode 100644 index ff9a5e6..0000000 Binary files a/themes/skins/material/imgs/dhxtabbar_material/dhxtabbar_cell_progress.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxtoolbar_material/dhxtoolbar_arrow.gif b/themes/skins/material/imgs/dhxtoolbar_material/dhxtoolbar_arrow.gif deleted file mode 100644 index 8e805d8..0000000 Binary files a/themes/skins/material/imgs/dhxtoolbar_material/dhxtoolbar_arrow.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxtoolbar_material/dhxtoolbar_arrow_dis.gif b/themes/skins/material/imgs/dhxtoolbar_material/dhxtoolbar_arrow_dis.gif deleted file mode 100644 index 3eddbbd..0000000 Binary files a/themes/skins/material/imgs/dhxtoolbar_material/dhxtoolbar_arrow_dis.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxtree_material/blank.gif b/themes/skins/material/imgs/dhxtree_material/blank.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/skins/material/imgs/dhxtree_material/blank.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxtree_material/but_cut.gif b/themes/skins/material/imgs/dhxtree_material/but_cut.gif deleted file mode 100644 index 942bd18..0000000 Binary files a/themes/skins/material/imgs/dhxtree_material/but_cut.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxtree_material/folderClosed.gif b/themes/skins/material/imgs/dhxtree_material/folderClosed.gif deleted file mode 100644 index 4b7e76d..0000000 Binary files a/themes/skins/material/imgs/dhxtree_material/folderClosed.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxtree_material/folderOpen.gif b/themes/skins/material/imgs/dhxtree_material/folderOpen.gif deleted file mode 100644 index 29ce5e8..0000000 Binary files a/themes/skins/material/imgs/dhxtree_material/folderOpen.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxtree_material/iconCheckAll.gif b/themes/skins/material/imgs/dhxtree_material/iconCheckAll.gif deleted file mode 100644 index 91f4e06..0000000 Binary files a/themes/skins/material/imgs/dhxtree_material/iconCheckAll.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxtree_material/iconCheckDis.gif b/themes/skins/material/imgs/dhxtree_material/iconCheckDis.gif deleted file mode 100644 index 82672fc..0000000 Binary files a/themes/skins/material/imgs/dhxtree_material/iconCheckDis.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxtree_material/iconCheckGray.gif b/themes/skins/material/imgs/dhxtree_material/iconCheckGray.gif deleted file mode 100644 index 93ab5e8..0000000 Binary files a/themes/skins/material/imgs/dhxtree_material/iconCheckGray.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxtree_material/iconUncheckAll.gif b/themes/skins/material/imgs/dhxtree_material/iconUncheckAll.gif deleted file mode 100644 index 7c22611..0000000 Binary files a/themes/skins/material/imgs/dhxtree_material/iconUncheckAll.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxtree_material/iconUncheckDis.gif b/themes/skins/material/imgs/dhxtree_material/iconUncheckDis.gif deleted file mode 100644 index 71e8644..0000000 Binary files a/themes/skins/material/imgs/dhxtree_material/iconUncheckDis.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxtree_material/leaf.gif b/themes/skins/material/imgs/dhxtree_material/leaf.gif deleted file mode 100644 index deca307..0000000 Binary files a/themes/skins/material/imgs/dhxtree_material/leaf.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxtree_material/lock.gif b/themes/skins/material/imgs/dhxtree_material/lock.gif deleted file mode 100644 index 49b855a..0000000 Binary files a/themes/skins/material/imgs/dhxtree_material/lock.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxtree_material/minus.gif b/themes/skins/material/imgs/dhxtree_material/minus.gif deleted file mode 100644 index 1752666..0000000 Binary files a/themes/skins/material/imgs/dhxtree_material/minus.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxtree_material/plus.gif b/themes/skins/material/imgs/dhxtree_material/plus.gif deleted file mode 100644 index 2fd379c..0000000 Binary files a/themes/skins/material/imgs/dhxtree_material/plus.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxtree_material/radio_off.gif b/themes/skins/material/imgs/dhxtree_material/radio_off.gif deleted file mode 100644 index 6087139..0000000 Binary files a/themes/skins/material/imgs/dhxtree_material/radio_off.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxtree_material/radio_on.gif b/themes/skins/material/imgs/dhxtree_material/radio_on.gif deleted file mode 100644 index 2d60066..0000000 Binary files a/themes/skins/material/imgs/dhxtree_material/radio_on.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxtreeview_material/icon_chbx_0.gif b/themes/skins/material/imgs/dhxtreeview_material/icon_chbx_0.gif deleted file mode 100644 index f91ca21..0000000 Binary files a/themes/skins/material/imgs/dhxtreeview_material/icon_chbx_0.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxtreeview_material/icon_chbx_1.gif b/themes/skins/material/imgs/dhxtreeview_material/icon_chbx_1.gif deleted file mode 100644 index 8868f58..0000000 Binary files a/themes/skins/material/imgs/dhxtreeview_material/icon_chbx_1.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxtreeview_material/icon_chbx_dis_0.gif b/themes/skins/material/imgs/dhxtreeview_material/icon_chbx_dis_0.gif deleted file mode 100644 index 00e8e5a..0000000 Binary files a/themes/skins/material/imgs/dhxtreeview_material/icon_chbx_dis_0.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxtreeview_material/icon_chbx_dis_1.gif b/themes/skins/material/imgs/dhxtreeview_material/icon_chbx_dis_1.gif deleted file mode 100644 index 82672fc..0000000 Binary files a/themes/skins/material/imgs/dhxtreeview_material/icon_chbx_dis_1.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxtreeview_material/icon_file.gif b/themes/skins/material/imgs/dhxtreeview_material/icon_file.gif deleted file mode 100644 index deca307..0000000 Binary files a/themes/skins/material/imgs/dhxtreeview_material/icon_file.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxtreeview_material/icon_folder_closed.gif b/themes/skins/material/imgs/dhxtreeview_material/icon_folder_closed.gif deleted file mode 100644 index 4b7e76d..0000000 Binary files a/themes/skins/material/imgs/dhxtreeview_material/icon_folder_closed.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxtreeview_material/icon_folder_opened.gif b/themes/skins/material/imgs/dhxtreeview_material/icon_folder_opened.gif deleted file mode 100644 index 29ce5e8..0000000 Binary files a/themes/skins/material/imgs/dhxtreeview_material/icon_folder_opened.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxtreeview_material/icon_minus.gif b/themes/skins/material/imgs/dhxtreeview_material/icon_minus.gif deleted file mode 100644 index 77d3b97..0000000 Binary files a/themes/skins/material/imgs/dhxtreeview_material/icon_minus.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxtreeview_material/icon_plus.gif b/themes/skins/material/imgs/dhxtreeview_material/icon_plus.gif deleted file mode 100644 index 7e2bf79..0000000 Binary files a/themes/skins/material/imgs/dhxtreeview_material/icon_plus.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxtreeview_material/loading.gif b/themes/skins/material/imgs/dhxtreeview_material/loading.gif deleted file mode 100644 index d91e279..0000000 Binary files a/themes/skins/material/imgs/dhxtreeview_material/loading.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxwins_material/dhxwins_buttons.png b/themes/skins/material/imgs/dhxwins_material/dhxwins_buttons.png deleted file mode 100644 index 171fcd8..0000000 Binary files a/themes/skins/material/imgs/dhxwins_material/dhxwins_buttons.png and /dev/null differ diff --git a/themes/skins/material/imgs/dhxwins_material/dhxwins_icon.gif b/themes/skins/material/imgs/dhxwins_material/dhxwins_icon.gif deleted file mode 100644 index 3dbe25d..0000000 Binary files a/themes/skins/material/imgs/dhxwins_material/dhxwins_icon.gif and /dev/null differ diff --git a/themes/skins/material/imgs/dhxwins_material/dhxwins_progress.gif b/themes/skins/material/imgs/dhxwins_material/dhxwins_progress.gif deleted file mode 100644 index ff9a5e6..0000000 Binary files a/themes/skins/material/imgs/dhxwins_material/dhxwins_progress.gif and /dev/null differ diff --git a/themes/skins/skyblue/dhtmlx.css b/themes/skins/skyblue/dhtmlx.css deleted file mode 100644 index b9c10df..0000000 --- a/themes/skins/skyblue/dhtmlx.css +++ /dev/null @@ -1,9 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -.dhtmlxcalendar_ifr{position:absolute;overflow:hidden;background-color:white;}.dhtmlxcalendar_dhx_skyblue{position:absolute;display:block;background-color:white;font-family:Tahoma,Helvetica;font-size:11px;color:black;}.dhtmlxcalendar_dhx_skyblue ul.dhtmlxcalendar_line{position:relative;display:block;clear:both;margin:0;padding:0;overflow:hidden;width:211px;}.dhtmlxcalendar_dhx_skyblue ul.dhtmlxcalendar_line li{float:left;position:relative;list-style-type:none;list-style-image:none;text-align:center;vertical-align:middle;cursor:default;overflow:hidden;margin:0;padding:0;}.dhtmlxcalendar_dhx_skyblue.dhtmlxcalendar_in_input{box-shadow:0 0 6px rgba(0,0,0,0.25);}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_month_cont{position:relative;display:block;width:211px;height:25px;margin:0;background-color:#e2efff;background:linear-gradient(#e2efff,#d3e7ff);background:-webkit-linear-gradient(#e2efff,#d3e7ff);filter:progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e2efff,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100);border:1px solid #a4bed4;overflow:hidden;color:black;-webkit-user-select:text;-khtml-user-select:text;-moz-user-select:text;-ms-user-select:text;-o-user-select:text;user-select:text;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr{width:211px;height:25px;line-height:25px;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow{position:absolute;top:0;width:18px;height:25px;text-align:center;color:inherit;background-position:center center;background-repeat:no-repeat;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_left{left:4px;background-image:url("imgs/dhxcalendar_skyblue/dhxcalendar_arrow_left.gif");opacity:.8;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=80);}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_left_hover{left:4px;background-image:url("imgs/dhxcalendar_skyblue/dhxcalendar_arrow_left.gif");opacity:1;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=100);}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_right{right:4px;background-image:url("imgs/dhxcalendar_skyblue/dhxcalendar_arrow_right.gif");opacity:.8;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=80);}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_right_hover{right:4px;background-image:url("imgs/dhxcalendar_skyblue/dhxcalendar_arrow_right.gif");opacity:1;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=100);}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr span.dhtmlxcalendar_month_label_month,.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr span.dhtmlxcalendar_month_label_year{position:relative;font-weight:bold;color:#34404b;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_today,.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_clear{display:none;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_today{float:right;margin-right:8px;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_clear{float:right;margin-right:74px;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_today,.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_clear{float:right;margin-right:8px;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_days_cont{position:relative;display:block;width:211px;margin:0;padding-bottom:1px;border-left:1px solid #a4bed4;border-right:1px solid #a4bed4;border-bottom:1px solid #cbd9e4;-webkit-user-select:text;-khtml-user-select:text;-moz-user-select:text;-ms-user-select:text;-o-user-select:text;user-select:text;overflow:hidden;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line{border-top:1px solid white;padding-left:1px;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li{width:29px;height:19px;line-height:19px;margin-right:1px;font-size:9px;background-color:#ecf4ff;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_day_weekday_cell,.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_day_weekday_cell_first{color:#c66200;background-color:#ffe6ae;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont{-webkit-tap-highlight-color:rgba(0,0,0,0);position:relative;display:block;width:211px;margin:0;padding-bottom:1px;border-left:1px solid #a4bed4;border-right:1px solid #a4bed4;border-bottom:1px solid #a4bed4;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;overflow:hidden;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line{border-top:1px solid white;padding-left:1px;height:26px;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li{color:#909090;background-color:white;border:1px solid white;width:27px;height:24px;line-height:23px;margin-right:1px;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li div.dhtmlxcalendar_label{width:100%;height:100%;text-align:center;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date,.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend{border-color:#ccc;background-color:#f7f7f7;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_dis,.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_dis,.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_dis,.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_dis{color:#b2b2b2;background-color:#f0f0f0;border-color:#f0f0f0;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_holiday,.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_holiday{color:red;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_holiday,.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_holiday{color:red;border-color:#ccc;background-color:#f7f7f7;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_holiday_dis,.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_holiday_dis,.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_holiday_dis,.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_holiday_dis{color:red;background-color:#f0f0f0;border-color:#f0f0f0;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_hover,.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_hover,.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_hover,.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_hover{border-color:#ccc;background-color:#f7f7f7;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_holiday_hover,.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_holiday_hover,.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_holiday_hover,.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_holiday_hover{color:red;border-color:#ccc;background-color:#f7f7f7;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month{color:black;background-color:#ecf4ff;border-color:#ecf4ff;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend{color:#c66200;background-color:#fff0d2;border-color:#fff0d2;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date{color:black;background-color:#b5deff;border-color:#a1ceed;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend{color:#c66200;background-color:#ffdc90;border-color:#ffce65;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_dis,.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_dis,.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_dis,.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_dis{color:#b2b2b2;background-color:#f0f0f0;border-color:#f0f0f0;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_holiday{color:red;background-color:#ecf4ff;border-color:#ecf4ff;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_holiday{color:red;background-color:#fff0d2;border-color:#fff0d2;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_holiday{color:red;background-color:#b5deff;border-color:#a1ceed;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_holiday{color:red;background-color:#ffdc90;border-color:#ffce65;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_holiday_dis,.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_holiday_dis,.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_holiday_dis,.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_holiday_dis{color:red;background-color:#f0f0f0;border-color:#f0f0f0;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_hover{color:black;background-color:#d9eeff;border-color:#a1ceed;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_hover{color:#c66200;background-color:#ffe9bb;border-color:#ffce65;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_hover{color:black;background-color:#b5deff;border-color:#a1ceed;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_hover{color:#c66200;background-color:#ffdc90;border-color:#ffce65;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_holiday_hover{color:red;background-color:#d9eeff;border-color:#a1ceed;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_holiday_hover{color:red;background-color:#ffe9bb;border-color:#ffce65;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_holiday_hover{color:red;background-color:#b5deff;border-color:#a1ceed;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_holiday_hover{color:red;background-color:#ffdc90;border-color:#ffce65;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line div.dhtmlxcalendar_label.dhtmlxcalendar_label_title{background-image:url("imgs/dhxcalendar_skyblue/dhxcalendar_mark.gif");background-position:top right;background-repeat:no-repeat;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_time_cont{position:relative;display:block;width:211px;height:25px;margin:0;border-left:1px solid #a4bed4;border-right:1px solid #a4bed4;border-bottom:1px solid #a4bed4;background-color:#e2efff;background:linear-gradient(#e2efff,#d3e7ff);background:-webkit-linear-gradient(#e2efff,#d3e7ff);filter:progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e2efff,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;overflow:hidden;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li{width:211px;height:25px;line-height:24px;color:#34404b;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr{text-align:left;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li div.dhtmlxcalendar_time_img{position:absolute;left:8px;top:6px;width:13px;height:13px;background-image:url("imgs/dhxcalendar_skyblue/dhxcalendar_clock.gif");background-position:center center;background-repeat:no-repeat;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_hours{margin-left:26px;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li div.dhtmlxcalendar_time_img{left:70px;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr{text-align:center;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_hours{margin-left:0;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr div.dhtmlxcalendar_time_img,.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_hours,.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_minutes,.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_colon{display:none;}.dhtmlxcalendar_dhx_skyblue span.dhtmlxcalendar_label_colon{padding:0 4px;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_cover{position:absolute;left:1px;background-color:white;opacity:.5;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj{position:absolute;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_selector_obj_arrow{position:absolute;bottom:auto;top:0;left:0;width:100%;height:9px;overflow:hidden;background-image:url("imgs/dhxcalendar_skyblue/dhxcalendar_selector_top.gif");background-position:top center;background-repeat:no-repeat;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours div.dhtmlxcalendar_selector_obj_arrow{background-position:-15px top;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 div.dhtmlxcalendar_selector_obj_arrow{background-position:-57px top;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_selector_obj_arrow{background-position:-53px top;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table{border:1px solid #a4bed4;background-color:white;border-top:none;margin-top:9px;box-shadow:0 0 3px rgba(0,0,0,0.35);}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left{width:17px;text-align:center;border-top:1px solid white;padding:0;margin:0;background-color:#ecf4ff;background-image:url("imgs/dhxcalendar_skyblue/dhxcalendar_arrow_left.gif");background-position:center center;background-repeat:no-repeat;cursor:default;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left.dhtmlxcalendar_selector_cell_left_hover{background-image:url("imgs/dhxcalendar_skyblue/dhxcalendar_arrow_left.gif");}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle{border-top:white 1px solid;border-width:1px 0 0 0;cursor:default;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right{width:17px;text-align:center;border-top:1px solid white;border-width:1px 0 0 0;background-color:#ecf4ff;background-image:url("imgs/dhxcalendar_skyblue/dhxcalendar_arrow_right.gif");background-position:center center;background-repeat:no-repeat;cursor:default;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right.dhtmlxcalendar_selector_cell_right_hover{background-image:url("imgs/dhxcalendar_skyblue/dhxcalendar_arrow_right.gif");}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul{display:block;clear:both;margin:0 0 0 1px;padding:0;overflow:hidden;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul li{float:left;font-family:Tahoma,Helvetica;font-size:10px;color:black;list-style-type:none;list-style-image:none;text-align:center;vertical-align:middle;margin:0 1px 0 0;padding:0;background-color:#e9f3ff;border:1px solid #e9f3ff;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:default;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul li.dhtmlxcalendar_selector_cell_active{background-color:#b5deff;border-color:#a1ceed;color:black;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul li.dhtmlxcalendar_selector_cell_hover{background-color:#d9eeff;border-color:#a1ceed;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left,.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right{display:none;width:0;border:0 solid white;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line{height:22px;border-top:none;border-bottom:1px solid white;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell{width:33px;height:20px;line-height:19px;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours div.dhtmlxcalendar_selector_obj_arrow,.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 div.dhtmlxcalendar_selector_obj_arrow,.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_selector_obj_arrow{top:auto;bottom:0;background-image:url("imgs/dhxcalendar_skyblue/dhxcalendar_selector_bottom.gif");}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line,.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line,.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line{height:19px;border-top:none;border-bottom:1px solid white;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell,.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell,.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell{width:21px;height:17px;line-height:16px;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left,.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right,.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left,.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right,.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left,.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right{display:none;width:0;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table,.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table,.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table{margin-top:0;margin-bottom:9px;border-top:1px solid #a4bed4;border-bottom:none;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_month,.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_year,.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_hours,.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_hours2,.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_minutes,.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_minutes4,.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_minutes5{display:none;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month div.dhtmlxcalendar_area_selector_month,.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_year div.dhtmlxcalendar_area_selector_year,.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours div.dhtmlxcalendar_area_selector_hours,.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 div.dhtmlxcalendar_area_selector_hours,.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_area_selector_minutes,.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_area_selector_minutes4,.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_area_selector_minutes5{display:block;}.dhtmlxcalendar_dhx_skyblue span.dhtmlxcalendar_label_minutes span.dhtmlxcalendar_selected_date{border-bottom:2px solid red;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn,.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn{display:none;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell{width:26px;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_wn div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell{width:24px;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_first,.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell{width:26px;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn{display:block;width:21px;color:#638eb1;background-color:#d9eaff;}.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_wn div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn{display:block;width:19px;color:#638eb1;background-color:#d9eaff;border-color:#d9eaff;font-size:10px;}div.dhtmlxcalendar_skin_detect{position:absolute;display:block;visibility:hidden;left:-100px;top:0;width:10px;height:10px;margin:0;padding:0;border:none;overflow:hidden;}ul.dhtmlxcalendar_line{white-space:nowrap;}.dhtmlxcalendar_dhx_skyblue ul.dhtmlxcalendar_line li{display:inline-block;float:none;}div.dhxcombo_dhx_skyblue{position:relative;border:1px solid #a4bed4;overflow:hidden;vertical-align:middle;background-color:white;font-size:1px;height:22px;-webkit-tap-highlight-color:rgba(0,0,0,0);}div.dhxcombo_dhx_skyblue input.dhxcombo_input{position:relative;top:0;left:1px;height:22px;line-height:21px;*height:20px;*line-height:19px;border:0 solid white;outline:0 solid white;padding:0;margin:0 0 0 2px;background-color:white;font-family:Tahoma,Helvetica;font-size:12px;color:black;vertical-align:middle;}div.dhxcombo_dhx_skyblue input.dhxcombo_input::-ms-clear{display:none;}div.dhxcombo_dhx_skyblue div.dhxcombo_select_button{position:absolute;width:18px;height:18px;top:1px;right:1px;font-size:1px;border:1px solid #a4bed4;background-color:#e2efff;background:linear-gradient(#e2efff,#d3e7ff);background:-webkit-linear-gradient(#e2efff,#d3e7ff);filter:progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e2efff,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100);border-radius:2px;cursor:pointer;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;overflow:hidden;}div.dhxcombo_dhx_skyblue div.dhxcombo_select_button div.dhxcombo_select_img{position:relative;width:100%;height:100%;background-image:url("imgs/dhxcombo_skyblue/dhxcombo_arrow_down.gif");background-repeat:no-repeat;background-position:center center;}div.dhxcombo_dhx_skyblue div.dhxcombo_top_image{position:absolute;left:0;top:0;width:26px;height:22px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;overflow:hidden;cursor:default;}div.dhxcombolist_dhx_skyblue{position:absolute;font-family:Tahoma,Helvetica;font-size:12px;color:black;border:1px solid #a4bed4;box-shadow:0 2px 3px #ccc;background-color:#e7f1ff;border-bottom-left-radius:2px;border-bottom-right-radius:2px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;overflow-x:none;overflow-y:auto;-moz-transition:height .15s ease 0s;-webkit-tap-highlight-color:rgba(0,0,0,0);}div.dhxcombolist_dhx_skyblue div.dhxcombo_option{position:relative;font-size:inherit;height:20px;line-height:19px;border-top:1px solid #e7f1ff;border-bottom:1px solid #e7f1ff;vertical-align:middle;overflow:hidden;cursor:default;}div.dhxcombolist_dhx_skyblue div.dhxcombo_option.dhxcombo_option_selected{background-color:#b5deff!important;border-top:1px solid #a1ceed!important;border-bottom:1px solid #a1ceed!important;color:black;}div.dhxcombolist_dhx_skyblue div.dhxcombo_option div.dhxcombo_option_text{position:relative;padding:0 4px;white-space:nowrap;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}div.dhxcombolist_dhx_skyblue div.dhxcombo_option div.dhxcombo_option_text.dhxcombo_option_text_chbx{position:relative;padding:0 4px 0 4px;margin-left:20px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;white-space:nowrap;}div.dhxcombolist_dhx_skyblue div.dhxcombo_option div.dhxcombo_checkbox{position:absolute;left:1px;top:1px;width:20px;height:20px;background-image:url("imgs/dhxcombo_skyblue/dhxcombo_chbx.gif");background-repeat:no-repeat;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;overflow:hidden;cursor:default;}div.dhxcombolist_dhx_skyblue div.dhxcombo_option div.dhxcombo_checkbox.dhxcombo_chbx_0{background-position:0 0;}div.dhxcombolist_dhx_skyblue .dhxcombo_option div.dhxcombo_checkbox.dhxcombo_chbx_1{background-position:-18px 0;}div.dhxcombolist_dhx_skyblue div.dhxcombo_option div.dhxcombo_option_text.dhxcombo_option_text_image{position:relative;padding:0 4px 0 4px;margin-left:20px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;white-space:nowrap;}div.dhxcombo_dhx_skyblue div.dhxcombo_top_image div.dhxcombo_image,div.dhxcombolist_dhx_skyblue div.dhxcombo_option div.dhxcombo_image{position:absolute;left:3px;top:1px;width:20px;height:20px;background-repeat:no-repeat;background-position:center center;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;overflow:hidden;cursor:default;}div.dhxcombo_dhx_skyblue.dhxcombo_disabled{border:1px solid #ccc;background-color:#fafafa;}div.dhxcombo_dhx_skyblue.dhxcombo_disabled input.dhxcombo_input{color:#b2b2b2;background-color:#fafafa;}div.dhxcombo_dhx_skyblue.dhxcombo_disabled div.dhxcombo_select_button{border-color:#ccc;background-color:#fefefe;background:linear-gradient(#fefefe,#f4f4f4);background:-webkit-linear-gradient(#fefefe,#f4f4f4);filter:progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#fefefe,endColorStr=#f4f4f4) progid:DXImageTransform.Microsoft.Alpha(opacity=100);cursor:default;}div.dhxcombo_dhx_skyblue.dhxcombo_disabled div.dhxcombo_select_button div.dhxcombo_select_img{background-image:url("imgs/dhxcombo_skyblue/dhxcombo_arrow_down_dis.gif");}.dhxgrid_combo_icon{position:absolute;top:0;right:0;z-index:1;}div.dhxcombo_in_grid_parent{position:relative;height:100%;top:0;}div.dhxcombo_in_grid_parent div.dhxcombo_dhx_skyblue{position:absolute;top:0;left:-4px;*top:-2px;*height:23px;}div.dhxcombo_in_grid_parent input.dhxcombo_input{border-left:2px solid white;font-family:Arial;font-size:12px;*margin-top:-3px;*height:18px;*line-height:17px;}div.dhxcombolist_dhx_skyblue.dhxcombolist_hdr{border-bottom-width:0;height:27px;line-height:27px;box-shadow:none;border-bottom-left-radius:0;border-bottom-right-radius:0;background-color:#e2efff;background:linear-gradient(#e2efff,#d3e7ff);background:-webkit-linear-gradient(#e2efff,#d3e7ff);filter:progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e2efff,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100);}div.dhxcombolist_dhx_skyblue.dhxcombolist_hdr div.dhxcombo_hdrtext{position:relative;padding:0;white-space:nowrap;cursor:default;font-family:Tahoma,Helvetica;font-size:11px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}div.dhxcombolist_dhx_skyblue.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell,div.dhxcombolist_dhx_skyblue.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell_first{float:left;white-space:nowrap;overflow:hidden;position:relative;z-index:2;border-left:1px solid #a4bed4;padding:0;margin:0;}div.dhxcombolist_dhx_skyblue.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell_first,div.dhxcombolist_dhx_skyblue.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell:first-child{border-left-width:0;}div.dhxcombolist_dhx_skyblue.dhxcombolist_multicolumn div.dhxcombo_option{height:24px;line-height:24px;margin-top:-1px;z-index:0;border-top:1px solid #d3e7ff;border-bottom:1px solid #d3e7ff;background-color:white;}div.dhxcombolist_dhx_skyblue.dhxcombolist_multicolumn div.dhxcombo_option:last-child{border-bottom-color:white;}div.dhxcombolist_dhx_skyblue.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_option_text{padding:0;}div.dhxcombolist_dhx_skyblue.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell,div.dhxcombolist_dhx_skyblue.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell_first{float:left;white-space:nowrap;overflow:hidden;position:relative;border-left:1px solid #d3e7ff;padding:0;margin:0;}div.dhxcombolist_dhx_skyblue.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell_first,div.dhxcombolist_dhx_skyblue.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell:first-child{border-left-width:0;}div.dhxcombolist_dhx_skyblue.dhxcombolist_multicolumn div.dhxcombo_option.dhxcombo_option_selected{z-index:1;}div.dhxcombolist_dhx_skyblue.dhxcombolist_multicolumn div.dhxcombo_option.dhxcombo_option_selected div.dhxcombo_cell{border-left-color:#b5deff;}div.dhxcombolist_dhx_skyblue.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell_text,div.dhxcombolist_dhx_skyblue.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell_text{position:relative;margin:0 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:auto;min-height:32px;}.dhxcombo_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:10px;height:10px;overflow:hidden;}.dhxcolorpicker_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:10px;height:10px;overflow:hidden;}.dhtmlxcp_dhx_skyblue{line-height:normal;}.dhtmlxcp_dhx_skyblue .dhxcp_g_area{position:absolute;width:254px;height:272px;border:1px solid #a4bed4;background-color:#e7f1ff;}.dhtmlxcp_dhx_skyblue .dhxcp_add_memory{height:317px!important;}.dhtmlxcp_dhx_skyblue .dhxcp_sub_area{margin:1px;width:252px;height:270px;background-color:#e7f1ff;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhtmlxcp_dhx_skyblue .dhxcp_add_memory .dhxcp_sub_area{height:229px!important;}.dhtmlxcp_dhx_skyblue .dhxcp_g_color_area{padding:10px;width:232px;height:122px;margin:0;}.dhtmlxcp_dhx_skyblue .dhxcp_color_selector{position:absolute;width:210px;height:120px;background-image:url("imgs/dhxcp_skyblue/dhxcp_colors.png");background-repeat:no-repeat;border:1px solid #a4bed4;cursor:pointer;float:left;}.dhtmlxcp_dhx_skyblue .dhxcp_contrast_area{border:1px solid #a4bed4;position:relative;height:120px;width:10px;cursor:pointer;float:right;}.dhtmlxcp_dhx_skyblue .dhxcp_ie_gradient{height:120px;width:10px;margin:0;}.dhtmlxcp_dhx_skyblue .dhxcp_color_selector .dhxcp_v_line{position:absolute;width:0;height:120px;border-left:1px solid #fff;cursor:pointer;overflow:hidden;}.dhtmlxcp_dhx_skyblue .dhxcp_color_selector .dhxcp_h_line,.dhtmlxcp_dhx_skyblue .dhxcp_contrast_area .dhxcp_h_line{position:absolute;height:0;border-top:1px solid #fff;cursor:pointer;overflow:hidden;}.dhtmlxcp_dhx_skyblue .dhxcp_color_selector .dhxcp_h_line{width:210px;}.dhtmlxcp_dhx_skyblue .dhxcp_contrast_area .dhxcp_h_line{width:10px;}.dhtmlxcp_dhx_skyblue .dhxcp_g_input_area{padding:0 10px;width:232px;height:78px;margin:0;}.dhtmlxcp_dhx_skyblue .dhxcp_value_cont{width:60px;height:82px;float:left;}.dhtmlxcp_dhx_skyblue .dhxcp_value_color{width:56px;height:30px;border:1px solid #a4bed4;}.dhtmlxcp_dhx_skyblue .dhxcp_value{width:49px;height:20px;border:1px solid #a4bed4;border-radius:0;background-color:white;margin:5px 0 0 0;padding:1px 3px;font-family:Tahoma,Helvetica;font-size:11px;color:black;text-align:left;}.dhtmlxcp_dhx_skyblue .dhxcp_inputs_cont{border:none;border-spacing:0;width:161px;height:78px;float:right;}.dhtmlxcp_dhx_skyblue .dhxcp_label_hsl,.dhtmlxcp_dhx_skyblue .dhxcp_label_rgb{font-family:Tahoma,Helvetica;font-size:11px;color:black;text-align:right;padding:0 3px 0 0;}.dhtmlxcp_dhx_skyblue td.dhxcp_input_hsl,.dhtmlxcp_dhx_skyblue td.dhxcp_input_rgb{width:27px;border:none;padding:3px 0;margin:0;}.dhtmlxcp_dhx_skyblue input.dhxcp_input_hsl,.dhtmlxcp_dhx_skyblue input.dhxcp_input_rgb{width:25px;height:19px;border:1px solid #a4bed4;border-radius:0;background-color:white;font-family:Tahoma,Helvetica;font-size:11px;color:black;text-align:right;padding:0 3px;line-height:18px;}.dhtmlxcp_dhx_skyblue .dhxcp_g_memory_area{width:232px;height:0;overflow:hidden;border-top:1px solid #fff;margin:10px;}.dhtmlxcp_dhx_skyblue .dhxcp_memory_button_cont{width:232px;margin:0;height:24px;}.dhtmlxcp_dhx_skyblue button{outline:none;border-radius:2px;border:1px solid #a4bed4;font-family:Tahoma,Helvetica;font-size:11px;color:black;padding:0;background-color:#e2efff;background:linear-gradient(#e2efff,#d3e7ff);background:-webkit-linear-gradient(#e2efff,#d3e7ff);filter:progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e2efff,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100);}.dhtmlxcp_dhx_skyblue button:hover{background-color:#f1f7ff;background:linear-gradient(#f1f7ff,#e2efff);background:-webkit-linear-gradient(#f1f7ff,#e2efff);filter:progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#f1f7ff,endColorStr=#e2efff) progid:DXImageTransform.Microsoft.Alpha(opacity=100);}.dhtmlxcp_dhx_skyblue button:active{background-color:#d2e7fe;background:linear-gradient(#d2e7fe,#d3e7ff);background:-webkit-linear-gradient(#d2e7fe,#d3e7ff);filter:progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#d2e7fe,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100);box-shadow:0 0 3px #ccc inset;}.dhtmlxcp_dhx_skyblue .dhxcp_save_to_memory{width:232px;height:24px;}.dhtmlxcp_dhx_skyblue .dhxcp_save_to_memory .dhxcp_label_bm{background-image:url("imgs/dhxcp_skyblue/dhxcp_icon_save.png");background-repeat:no-repeat;display:inherit;padding-left:15px;background-position:0 4px;height:18px;line-height:18px;width:80px;margin:1px auto;white-space:nowrap;text-align:left;}.dhtmlxcp_dhx_skyblue .dhxcp_memory_els_cont{width:232px;height:25px;margin-top:3px;text-align:center;}.dhtmlxcp_dhx_skyblue .dhxcp_memory_el{width:24px;height:24px;background-color:#fff;border:1px solid #a4bed4;display:inline-block;margin:0 1px;}.dhtmlxcp_dhx_skyblue .dhxcp_memory_el_select{border:1px dashed black!important;}.dhtmlxcp_dhx_skyblue .dhxcp_memory_el_next{border:1px dashed red!important;}.dhtmlxcp_dhx_skyblue .dhxcp_add_memory .dhxcp_g_memory_area{height:55px!important;border-top:none!important;margin:5px 10px 5px 10px;}.dhtmlxcp_dhx_skyblue .dhxcp_buttons_area{padding:0 10px;width:232px;height:26px;text-align:right;margin:0;}.dhtmlxcp_dhx_skyblue .dhx_button_save,.dhtmlxcp_dhx_skyblue .dhx_button_cancel{padding:2px 10px;margin:1px;height:24px;line-height:12px;overflow:hidden;text-align:center;}.dhxcp_colorBox{float:right;}.dhxcp_colorInput{float:left;}.dhxcp_frm{position:absolute;background-color:white;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);width:256px;height:274px;}.dhtmlxcp_dhx_skyblue.dhtmlxcp_in_form .dhxcp_g_area{padding:5px;border:1px solid #a4bed4;box-shadow:0 0 9px rgba(0,0,0,0.35);}.dhtmlxslider_dhx_skyblue{z-index:0;}.dhtmlxslider_dhx_skyblue .dhxsl_hidden{display:none;}.dhtmlxslider_dhx_skyblue .dhxsl_container{position:relative;float:left;clear:left;margin:0;padding:1px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);}.dhtmlxslider_dhx_skyblue .dhxsl_container.dhxsl_cont_hr{margin-top:6px;}.dhtmlxslider_dhx_skyblue .dhxsl_container.dhxsl_cont_vr{margin-left:6px;}.dhtmlxslider_dhx_skyblue .dhxsl_runner{position:absolute;width:16px;height:16px;margin:0;padding:0;overflow:hidden;border:1px solid #a4bed4;background-color:#f1f7ff;background:linear-gradient(#f1f7ff,#e2efff);background:-webkit-linear-gradient(#f1f7ff,#e2efff);filter:progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#f1f7ff,endColorStr=#e2efff) progid:DXImageTransform.Microsoft.Alpha(opacity=100);border-radius:2px;-webkit-touch-callout:none;-webkit-user-select:none;-ms-touch-action:none;z-index:1;}.dhtmlxslider_dhx_skyblue .dhxsl_runner.dhxsl_runner_actv{background-color:#e2efff;background:linear-gradient(#e2efff,#d3e7ff);background:-webkit-linear-gradient(#e2efff,#d3e7ff);filter:progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e2efff,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100);z-index:2;}.dhtmlxslider_dhx_skyblue .dhxsl_runner_dis{border-color:#c9c9c9;background-color:#e8e8e8;background:linear-gradient(#e8e8e8,#dedede);background:-webkit-linear-gradient(#e8e8e8,#dedede);filter:progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e8e8e8,endColorStr=#dedede) progid:DXImageTransform.Microsoft.Alpha(opacity=100);}.dhtmlxslider_dhx_skyblue .dhxsl_track{margin:0;padding:0;overflow:hidden;border:1px solid #a4bed4;position:relative;border-radius:2px;background-color:white;-webkit-touch-callout:none;-webkit-user-select:none;-ms-touch-action:none;}.dhtmlxslider_dhx_skyblue .dhxsl_track div.dhxsl_track_bg{position:absolute;background-color:#e7f1ff;font-size:1px;overflow:hidden;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhtmlxslider_dhx_skyblue .dhxsl_cont_vr .dhxsl_track{height:100%;width:3px;}.dhtmlxslider_dhx_skyblue .dhxsl_cont_vr .dhxsl_track div.dhxsl_track_bg{left:0;width:100%;}.dhtmlxslider_dhx_skyblue .dhxsl_cont_hr .dhxsl_track{width:100%;height:3px;}.dhtmlxslider_dhx_skyblue .dhxsl_cont_hr .dhxsl_track div.dhxsl_track_bg{top:0;height:100%;}.dhtmlxslider_dhx_skyblue .dhxsl_track_dis{border:1px solid #c9c9c9;background-color:#f0f0f0;}.dhtmlxslider_dhx_skyblue .dhxsl_track_dis div.dhxsl_track_bg{position:absolute;background-color:#d0d0d0;}.dhxslider_skin_detect{position:absolute;left:0;top:-100px;border:0 solid white;width:10px;height:10px;margin:0;padding:0;overflow:hidden;}div.dhx_popup_dhx_skyblue{-webkit-tap-highlight-color:rgba(0,0,0,0);position:absolute;}div.dhx_popup_dhx_skyblue div.dhx_popup_area{position:relative;margin:10px;padding:3px 0;border:1px solid #a4bed4;box-shadow:0 0 3px #ccc;background-color:#e7f1ff;border-radius:2px;}div.dhx_popup_dhx_skyblue div.dhx_popup_area td.dhx_popup_td{font-family:Tahoma,Helvetica;font-size:11px;color:black;text-align:left;vertical-align:middle;padding:0 8px;height:24px;line-height:23px;border-top:1px solid #e7f1ff;border-bottom:1px solid #e7f1ff;white-space:nowrap;cursor:default;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}div.dhx_popup_dhx_skyblue div.dhx_popup_area td.dhx_popup_td div.dhtmlxcalendar_dhx_skyblue{position:relative;float:left;}div.dhx_popup_dhx_skyblue div.dhx_popup_area td.dhx_popup_td *{white-space:normal;}div.dhx_popup_dhx_skyblue div.dhx_popup_area tr.dhx_popup_sep td.dhx_popup_sep{font-size:1px;padding:2px 0;position:relative;}div.dhx_popup_dhx_skyblue div.dhx_popup_area tr.dhx_popup_sep td.dhx_popup_sep div.dhx_popup_sep{position:relative;font-size:1px;line-height:1px;height:0;width:100%;border-top:1px solid #a4bed5;overflow:hidden;}div.dhx_popup_dhx_skyblue div.dhx_popup_area td.dhx_popup_td:first-child{padding-left:16px;}div.dhx_popup_dhx_skyblue div.dhx_popup_area td.dhx_popup_td:last-child{padding-right:16px;}div.dhx_popup_dhx_skyblue div.dhx_popup_area tr:hover td.dhx_popup_td{background-color:#b5d8ff;border-top:1px solid #8dcef4;border-bottom:1px solid #8dcef4;}div.dhx_popup_dhx_skyblue div.dhx_popup_area tr.dhxnode:hover td.dhx_popup_td{background:none;border-top:1px solid #e7f1ff;border-bottom:1px solid #e7f1ff;}div.dhx_popup_dhx_skyblue div.dhx_popup_area tr.dhxnode td.dhx_popup_td{padding-top:8px!important;padding-bottom:8px!important;height:auto;line-height:inherit;-webkit-user-select:text;-khtml-user-select:text;-moz-user-select:text;-ms-user-select:text;-o-user-select:text;user-select:text;}div.dhx_popup_dhx_skyblue div.dhx_popup_area tr.dhxnode td.dhx_popup_td .dhtmlxcalendar_container.dhtmlxcalendar_skin_dhx_skyblue{position:relative!important;background-image:none;}div.dhx_popup_dhx_skyblue div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxtree_dhx_skyblue{background:none;}div.dhx_popup_dhx_skyblue div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxeditor_dhx_skyblue{border:1px solid #a4bed4;}div.dhx_popup_dhx_skyblue div.dhx_popup_area tr.dhxnode td.dhx_popup_td .dhxform_obj_dhx_skyblue div.dhxeditor_dhx_skyblue{border-width:0;}div.dhx_popup_dhx_skyblue div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhtmlxcp_dhx_skyblue div.dhxcp_g_area{position:relative;background-color:#e7f1ff;border:0 solid white;}div.dhx_popup_dhx_skyblue div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhtmlxcp_dhx_skyblue div.dhxcp_g_area div.dhxcp_sub_area{background:#e7f1ff;}div.dhx_popup_dhx_skyblue div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_cont{background-color:#e7f1ff;}div.dhx_popup_dhx_skyblue div.dhx_popup_area.dhx_popup_area_ie{box-shadow:0 0 6px #ccc;}div.dhx_popup_dhx_skyblue div.dhx_popup_area.dhx_popup_area_ie tr.dhxnode td.dhx_popup_td{height:1em;line-height:1em;}div.dhx_popup_dhx_skyblue div.dhx_popup_area.dhx_popup_area_ie td.dhx_popup_td.dhx_popup_td_single{padding-left:16px;padding-right:16px;}div.dhx_popup_dhx_skyblue div.dhx_popup_area.dhx_popup_area_ie td.dhx_popup_td.dhx_popup_td_first{padding-left:16px;}div.dhx_popup_dhx_skyblue div.dhx_popup_area.dhx_popup_area_ie td.dhx_popup_td.dhx_popup_td_last{padding-right:16px;}div.dhx_popup_dhx_skyblue div.dhx_popup_area.dhx_popup_area_ie tr.tr_hover td.dhx_popup_td{background-color:#b5d8ff;border-top:1px solid #8dcef4;border-bottom:1px solid #8dcef4;}div.dhx_popup_dhx_skyblue div.dhx_popup_arrow{position:absolute;background-repeat:no-repeat;}div.dhx_popup_dhx_skyblue div.dhx_popup_arrow.dhx_popup_arrow_bottom{width:19px;height:16px;background-image:url("imgs/dhxpopup_skyblue/dhxpopup_arrow_bottom.gif");background-position:top center;}div.dhx_popup_dhx_skyblue div.dhx_popup_arrow.dhx_popup_arrow_top{width:19px;height:16px;background-image:url("imgs/dhxpopup_skyblue/dhxpopup_arrow_top.gif");background-position:bottom center;}div.dhx_popup_dhx_skyblue div.dhx_popup_arrow.dhx_popup_arrow_right{width:16px;height:19px;background-image:url("imgs/dhxpopup_skyblue/dhxpopup_arrow_right.gif");background-position:center left;}div.dhx_popup_dhx_skyblue div.dhx_popup_arrow.dhx_popup_arrow_left{width:16px;height:19px;background-image:url("imgs/dhxpopup_skyblue/dhxpopup_arrow_left.gif");background-position:center right;}div.dhx_popup_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:10px;height:10px;overflow:hidden;}.dhxmenu_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:10px;height:10px;overflow:hidden;}.dhtmlxMenu_dhx_skyblue_Middle{position:relative;height:30px;border:none;overflow:hidden;background-color:#ebebeb;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhtmlxMenu_dhx_skyblue_Middle div.top_sep{float:left;position:relative;height:22px;width:0;border-left:1px solid #ddd;margin:4px 2px 0 0;line-height:1px;font-size:1px;overflow:hidden;cursor:default;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhtmlxMenu_dhx_skyblue_Middle img.dhtmlxMenu_TopLevel_Item_Icon{float:left;margin:2px 3px 0 3px;width:18px;height:18px;}.dhtmlxMenu_dhx_skyblue_Middle div.dhtmlxMenu_TopLevel_Text_right{position:absolute;top:8px;left:none;right:8px;font-family:Tahoma,Helvetica;font-size:11px;color:black;cursor:default;}.dhtmlxMenu_dhx_skyblue_Middle div.dhtmlxMenu_TopLevel_Text_left{position:absolute;top:8px;right:none;left:8px;font-family:Tahoma,Helvetica;font-size:11px;color:black;cursor:default;}.dhtmlxMenu_dhx_skyblue_Middle.dir_left div.align_left{float:left;}.dhtmlxMenu_dhx_skyblue_Middle.dir_left div.align_right{float:right;}div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Normal,div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Disabled,div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Selected{position:relative;float:left;font-family:Tahoma,Helvetica;font-size:11px;color:black;cursor:default;white-space:nowrap;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;height:22px;line-height:22px;vertical-align:middle;margin:3px 2px 0 0;padding:0 3px;}div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Normal div.top_level_text,div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Disabled div.top_level_text,div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Selected div.top_level_text{float:left;margin:0 3px;}div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Normal i,div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Disabled i,div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Selected i{height:inherit;line-height:inherit;float:left;color:inherit;margin:0 4px;font-size:1.2em;}div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Normal,div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Disabled{border:1px solid #ebebeb;}div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Disabled{color:#999!important;}div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Selected{border:1px solid #a1ceed;background-color:#b5deff;color:black;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon{position:absolute;border:1px solid #a4bed4;box-shadow:0 0 3px #ccc;padding:3px 0;border-bottom-left-radius:2px;border-bottom-right-radius:2px;border-top-right-radius:2px;background-color:#e7f1ff;overflow:hidden;cursor:default;line-height:normal;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td{font-family:Tahoma,Helvetica;font-size:11px;color:black;line-height:normal;padding:0 3px;border-top:1px solid #e7f1ff;border-bottom:1px solid #e7f1ff;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_selected td{background-color:#b5deff;border-top:1px solid #a1ceed;border-bottom:1px solid #a1ceed;color:black;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_selected div.sub_item_hk{color:#333!important;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_icon{width:18px;text-align:center;vertical-align:middle;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_icon img.sub_icon{float:left;margin:0;width:18px;height:18px;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_icon i{float:left;text-align:center;width:18px;height:18px;line-height:17px;font-size:1.3em;color:inherit;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis td.sub_item_icon i{color:#999!important;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_item_text{padding:0 12px 0 1px;height:22px;line-height:21px;white-space:nowrap;text-align:left;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_item_text{color:#999!important;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_hk{padding-left:8px;padding-right:8px;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_hk div.sub_item_hk{font-family:Tahoma,Helvetica;font-size:10px;color:#4d4d4d;text-align:right;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis td.sub_item_hk div.sub_item_hk{color:#9b9b9b!important;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.complex_arrow{width:4px;margin:0 2px 0 5px;height:22px;background-image:url("imgs/dhxmenu_skyblue/dhxmenu_subar.gif");background-repeat:no-repeat;background-position:0 0;overflow:hidden;font-size:1px;float:right;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_selected div.complex_arrow{background-position:-4px 0!important;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.complex_arrow{background-position:-8px 0!important;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.complex_arrow_loading{width:11px;height:22px;background-position:center center;background-repeat:no-repeat;background-image:url("imgs/dhxmenu_skyblue/dhxmenu_loader.gif");float:right;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon{float:left;margin:0;width:18px;height:18px;background-position:top right;background-repeat:no-repeat;background-image:url("imgs/dhxmenu_skyblue/dhxmenu_chrd.gif");}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.chbx_0{background-position:0 0!important;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.chbx_1{background-position:-18px 0!important;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.chbx_0{background-position:-36px 0!important;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.chbx_1{background-position:-54px 0!important;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.rdbt_0{background-position:-72px 0!important;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.rdbt_1{background-position:-90px 0!important;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.rdbt_0{background-position:-108px 0!important;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.rdbt_1{background-position:-126px 0!important;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon tr.sub_sep td{padding:2px 0;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon div.sub_sep{position:static;font-size:1px;line-height:1px;height:1px;width:100%;border-top:1px solid #a4bed4;}iframe.dhtmlxMenu_IE6CoverFix_dhx_skyblue{position:absolute;border:none;background:#000;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=100);}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_ArrowUp,div.dhtmlxMenu_dhx_skyblue_SubLevelArea_ArrowUp_Over,div.dhtmlxMenu_dhx_skyblue_SubLevelArea_ArrowUp_Disabled{position:relative;font-size:1px;border-bottom:1px solid #a4bed4;background-image:url("imgs/dhxmenu_skyblue/dhxmenu_arrow_up.gif");background-repeat:no-repeat;background-position:center center;padding:8px 0;margin-bottom:3px;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_ArrowUp_Disabled{background-image:url("imgs/dhxmenu_skyblue/dhxmenu_arrow_up_dis.gif");}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_ArrowDown,div.dhtmlxMenu_dhx_skyblue_SubLevelArea_ArrowDown_Over,div.dhtmlxMenu_dhx_skyblue_SubLevelArea_ArrowDown_Disabled{position:relative;font-size:1px;border-top:1px solid #a4bed4;background-image:url("imgs/dhxmenu_skyblue/dhxmenu_arrow_down.gif");background-repeat:no-repeat;background-position:center center;padding:8px 0;margin-top:3px;}div.dhtmlxMenu_dhx_skyblue_SubLevelArea_ArrowDown_Disabled{background-image:url("imgs/dhxmenu_skyblue/dhxmenu_arrow_down_dis.gif");}.dhtmlxribbon_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:10px;height:10px;overflow:hidden;}.dhtmlxribbon_dhx_skyblue.dhxrb_without_tabbar{background-color:#fff;border:1px solid #a4bed4;}.dhtmlxribbon_dhx_skyblue{overflow:hidden;width:100%;background-color:#e7f1ff;}.dhtmlxribbon_dhx_skyblue .dhxrb_background_area{height:115px;background-color:#e7f1ff;margin:1px;}.dhtmlxribbon_dhx_skyblue .dhxrb_with_tabbar{height:145px;}.dhtmlxribbon_dhx_skyblue div.dhx_cell_tabbar{background-color:#e7f1ff!important;}.dhtmlxribbon_dhx_skyblue .dhxrb_g_area{height:115px;float:left;clear:left;overflow:hidden;position:relative;}.dhtmlxribbon_dhx_skyblue .dhxrb_block_base{margin:3px;float:left;border:1px solid #a4bed4;background-color:#ddebff;border-radius:2px;height:106px;overflow:hidden;position:relative;}.dhtmlxribbon_dhx_skyblue .dhxrb_block_base .dhxrb_block_items{height:84px;float:left;padding:2px 0;overflow:hidden;}.dhtmlxribbon_dhx_skyblue .dhxrb_block_base>.dhxrb_block_label{height:18px;line-height:17px;*height:auto;*line-height:1em;}.dhtmlxribbon_dhx_skyblue .dhxrb_block_base .dhxrb_block_label{text-align:center;clear:left;font-family:Tahoma,Helvetica;font-size:11px;color:#5f85bb;background-color:#d3e7ff;*padding:1px 3px 4px;*font-size:11px;*font-family:Tahoma,FreeSans;}.dhtmlxribbon_dhx_skyblue .dhxrb_big_button{margin:0 2px 5px;float:left;text-align:center;padding:4px 6px;height:72px;border-radius:2px;border:1px solid #ddebff;font-family:Tahoma,Helvetica;font-size:11px;color:black;background-color:#ddebff;}.dhtmlxribbon_dhx_skyblue .dhxrb_big_button .dhxrb_image{width:48px;height:48px;border:none;}.dhtmlxribbon_dhx_skyblue .dhxrb_big_button i{position:relative;display:block;margin-top:2px;margin-bottom:1px;width:48px;height:48px;line-height:47px;font-size:30px;color:inherit;cursor:default;text-align:center;}.dhtmlxribbon_dhx_skyblue .dhxrb_big_button .dhxrb_label_button{margin:0 auto;cursor:default;font-family:Tahoma,Helvetica;font-size:11px;color:black;line-height:10px;}.dhtmlxribbon_dhx_skyblue .dhxrb_big_button .dhxrb_invisible{visibility:hidden;}.dhtmlxribbon_dhx_skyblue .dhxrb_3rows_block{float:left;margin:0 2px 5px;position:relative;}.dhtmlxribbon_dhx_skyblue .dhxrb_3rows_block .dhxrb_invisible{display:none;}.dhtmlxribbon_dhx_skyblue .dhxrb_3rows_button{height:21px;margin:1px 3px;float:left;clear:left;padding:3px 4px 0 4px;border-radius:2px;border:1px solid #ddebff;font-family:Tahoma,Helvetica;font-size:11px;color:black;background-color:#ddebff;}.dhtmlxribbon_dhx_skyblue .dhxrb_in_row{height:20px;margin:1px 3px;float:left;padding:3px 4px 1px;white-space:nowrap;overflow:hidden;border-radius:2px;border:1px solid #ddebff;font-family:Tahoma,Helvetica;font-size:11px;color:black;background-color:#ddebff;}.dhtmlxribbon_dhx_skyblue .dhxrb_group .dhxrb_buttoncombo_cont{height:22px;padding:0 2px!important;overflow:hidden;white-space:nowrap;float:left;}.dhtmlxribbon_dhx_skyblue .dhxrb_buttoncombo_cont{height:24px;padding:1px 2px!important;}.dhtmlxribbon_dhx_skyblue .dhxrb_buttoncombo{float:left;}.dhtmlxribbon_dhx_skyblue .dhxrb_in_row .dhxrb_slider,.dhtmlxribbon_dhx_skyblue .dhxrb_3rows_button .dhxrb_slider{float:left;margin-right:5px;}.dhtmlxribbon_dhx_skyblue .dhxrb_in_row center,.dhtmlxribbon_dhx_skyblue .dhxrb_in_group center,.dhtmlxribbon_dhx_skyblue .dhxrb_3rows_button center{float:left;margin:0;padding:0;}.dhtmlxribbon_dhx_skyblue .dhxrb_in_group .dhxrb_slider{float:left;margin-right:5px;}.dhtmlxribbon_dhx_skyblue .dhxrb_big_button .dhxrb_slider{width:16px;margin:2px 0;height:50px;}.dhtmlxribbon_dhx_skyblue .dhxrb_in_group{height:19px;float:left;padding:2px 4px 1px;border:1px solid #fff;}.dhtmlxribbon_dhx_skyblue .dhxrb_input{float:left;border:1px solid #a4bed4;height:14px;width:80px;font-family:Tahoma,Helvetica;font-size:11px;color:black;padding:1px 2px;}.dhtmlxribbon_dhx_skyblue .dhxrb_input:disabled{border:1px solid #ccc;background-color:#fafafa;color:#b2b2b2;}.dhtmlxribbon_dhx_skyblue .dhxrb_3rows_button .dhxrb_image,.dhtmlxribbon_dhx_skyblue .dhxrb_in_row .dhxrb_image,.dhtmlxribbon_dhx_skyblue .dhxrb_in_group .dhxrb_image{width:18px;height:18px;float:left;}.dhtmlxribbon_dhx_skyblue .dhxrb_3rows_button i,.dhtmlxribbon_dhx_skyblue .dhxrb_in_row i,.dhtmlxribbon_dhx_skyblue .dhxrb_in_group i{position:relative;float:left;width:18px;height:18px;line-height:17px;font-size:15px;margin-top:1px;color:inherit;cursor:default;text-align:center;}.dhtmlxribbon_dhx_skyblue .dhxrb_item_disable i{color:#999;}.dhtmlxribbon_dhx_skyblue .dhxrb_3rows_button .dhxrb_label_button,.dhtmlxribbon_dhx_skyblue .dhxrb_in_row .dhxrb_label_button,.dhtmlxribbon_dhx_skyblue .dhxrb_in_group .dhxrb_label_button{float:left;cursor:default;margin:2px 4px 2px 6px;font-family:Tahoma,Helvetica;font-size:11px;color:black;}.dhtmlxribbon_dhx_skyblue .dhxrb_buttoncombo_cont .dhxrb_label_button{float:left;margin-left:3px;height:18px;line-height:18px;cursor:default;font-family:Tahoma,Helvetica;font-size:11px;color:black;}.dhtmlxribbon_dhx_skyblue .dhxrb_label_checkbox{float:left;margin:2px 4px;cursor:default;font-family:Tahoma,Helvetica;font-size:11px;color:black;}.dhtmlxribbon_dhx_skyblue .dhxrb_disable_text_style,.dhtmlxribbon_dhx_skyblue .dhxrb_item_disable .dhxrb_label_checkbox{color:#999!important;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhtmlxribbon_dhx_skyblue .dhxrb_highlight0{border:1px solid #a4bed4;background-color:#f1f7ff;background:linear-gradient(#f1f7ff,#e2efff);background:-webkit-linear-gradient(#f1f7ff,#e2efff);filter:progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#f1f7ff,endColorStr=#e2efff) progid:DXImageTransform.Microsoft.Alpha(opacity=100);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhtmlxribbon_dhx_skyblue .dhxrb_highlight1{border:1px solid #a4bed4;background-color:#d2e7fe;background:linear-gradient(#d2e7fe,#d3e7ff);background:-webkit-linear-gradient(#d2e7fe,#d3e7ff);filter:progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#d2e7fe,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100);box-shadow:0 0 3px #afc1d4 inset;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhtmlxribbon_dhx_skyblue .dhxrb_group .dhxrb_highlight0{border:1px solid #ddedff;}.dhtmlxribbon_dhx_skyblue .dhxrb_group .dhxrb_highlight1{background-color:#d2e7fe;background:linear-gradient(#d2e7fe,#d3e7ff);background:-webkit-linear-gradient(#d2e7fe,#d3e7ff);filter:progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#d2e7fe,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100);box-shadow:0 0 3px #afc1d4 inset;border:0;padding:3px 5px 2px 5px;}.dhtmlxribbon_dhx_skyblue .dhxrb_item_hide{display:none!important;}.dhtmlxribbon_dhx_skyblue .dhxrb_block_rows{float:left;position:relative;}.dhtmlxribbon_dhx_skyblue .dhxrb_block_row{float:left;clear:left;margin:0 2px;height:28px;overflow:hidden;position:relative;}.dhtmlxribbon_dhx_skyblue .dhxrb_arrow{padding:0 5px;margin-left:2px;background:url("imgs/dhxribbon_skyblue/dhxribbon_arrow.gif") no-repeat 50%;}.dhtmlxribbon_dhx_skyblue .dhxrb_3rows_block .dhxrb_group{border:1px solid #a4bed4;background:#e7f1ff;height:24px;border-radius:2px;float:left;clear:left;margin:1px 3px;overflow:hidden;position:relative;}.dhtmlxribbon_dhx_skyblue .dhxrb_block_row .dhxrb_group{border:1px solid #a4bed4;background:#e7f1ff;height:24px;border-radius:2px;float:left;margin:1px 3px;overflow:hidden;position:relative;}.dhtmlxribbon_dhx_skyblue .dhxrb_in_group .dhxrb_label_hide{display:none;}.dhtmlxribbon_dhx_skyblue .dhxrb_separator_groupp{height:24px;width:0;border-left:1px solid #c4deff;overflow:hidden;float:left;}.dhtmlxribbon_dhx_skyblue .dhxrb_checked.dhxrb_item_disable>.dhxrb_checkbox{background-image:url("imgs/dhxribbon_skyblue/dhxribbon_checked_dis.gif");background-repeat:no-repeat;}.dhtmlxribbon_dhx_skyblue .dhxrb_checked .dhxrb_checkbox{background-image:url("imgs/dhxribbon_skyblue/dhxribbon_checked.gif");background-repeat:no-repeat;}.dhtmlxribbon_dhx_skyblue .dhxrb_item_disable .dhxrb_checkbox{border:1px solid #aaa;background-color:#eee;}.dhtmlxribbon_dhx_skyblue .dhxrb_checkbox{border:1px solid #a4bed4;background-color:#fff;float:left;width:12px;height:12px;margin-top:2px;overflow:hidden;}.dhtmlxribbon_dhx_skyblue .dhxrb_item_text{font-family:Tahoma,Helvetica;font-size:13px;color:#256488;}.dhtmlxribbon_dhx_skyblue .dhxrb_in_group .dhxrb_item_text{height:19px;line-height:18px;*float:left;*clear:left;}.dhtmlxribbon_dhx_skyblue .dhxrb_3rows_button .dhxrb_item_text,.dhtmlxribbon_dhx_skyblue .dhxrb_in_row .dhxrb_item_text{font-family:Tahoma,Helvetica;font-size:14px;color:#256488;}.dhtmlxribbon_dhx_skyblue .dhxrb_big_button .dhxrb_item_text{font-family:Tahoma,Helvetica;font-size:30px;color:#256488;line-height:72px;height:72px;float:left;clear:left;}.dhxtoolbar_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:10px;height:10px;overflow:hidden;}.dhx_toolbar_dhx_skyblue{border:1px solid #a4bed4;background-color:#e2efff;background:linear-gradient(#e2efff,#d3e7ff);background:-webkit-linear-gradient(#e2efff,#d3e7ff);filter:progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e2efff,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100);position:relative;padding:0 5px;height:30px;line-height:normal;cursor:default;overflow:hidden;font-family:Tahoma,Helvetica;font-size:11px;color:black;}.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_24 div.dhx_toolbar_btn i{font-size:20px;}.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_32 div.dhx_toolbar_btn i{font-size:26px;}.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_48 div.dhx_toolbar_btn i{font-size:38px;}.dhx_toolbar_dhx_skyblue div.dhxtoolbar_float_left{float:left;}.dhx_toolbar_dhx_skyblue div.dhxtoolbar_float_right{float:right;}.dhx_toolbar_dhx_skyblue div.dhx_toolbar_btn,.dhx_toolbar_dhx_skyblue div.dhx_toolbar_arw{position:relative;float:left;margin-top:2px;padding:2px 3px;*padding-bottom:4px;margin-right:1px;line-height:normal;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:default;height:22px;*height:20px;overflow:hidden;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=100);}.dhx_toolbar_dhx_skyblue div.dhx_toolbar_btn.dhxtoolbar_btn_dis,.dhx_toolbar_dhx_skyblue div.dhx_toolbar_arw.dhxtoolbar_btn_dis{color:#999;}.dhx_toolbar_dhx_skyblue div.dhx_toolbar_btn.dhxtoolbar_btn_over,.dhx_toolbar_dhx_skyblue div.dhx_toolbar_arw.dhxtoolbar_btn_over{border:1px solid #a4bed4;border-radius:2px;padding:1px 2px;*padding-bottom:3px;background-color:#f1f7ff;background:linear-gradient(#f1f7ff,#e2efff);background:-webkit-linear-gradient(#f1f7ff,#e2efff);filter:progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#f1f7ff,endColorStr=#e2efff) progid:DXImageTransform.Microsoft.Alpha(opacity=100);}.dhx_toolbar_dhx_skyblue div.dhx_toolbar_btn.dhxtoolbar_btn_pres,.dhx_toolbar_dhx_skyblue div.dhx_toolbar_arw.dhxtoolbar_btn_pres{border:1px solid #a4bed4;border-radius:2px;padding:1px 2px;*padding-bottom:3px;background-color:#d2e7fe;background:linear-gradient(#d2e7fe,#d3e7ff);background:-webkit-linear-gradient(#d2e7fe,#d3e7ff);filter:progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#d2e7fe,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100);box-shadow:0 0 5px rgba(127,127,127,0.15) inset;}.dhx_toolbar_dhx_skyblue div.dhx_toolbar_btn.dhxtoolbar_btn_pres_dis{color:#999;border:1px solid #c9c9c9;border-radius:2px;padding:1px 2px;*padding-bottom:3px;background-color:#d2e7fe;background:linear-gradient(#d2e7fe,#d3e7ff);background:-webkit-linear-gradient(#d2e7fe,#d3e7ff);filter:progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#d2e7fe,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100);box-shadow:0 0 5px rgba(127,127,127,0.15) inset;}.dhx_toolbar_dhx_skyblue div.dhx_toolbar_btn img{float:left;margin:2px;width:18px;height:18px;cursor:default;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhx_toolbar_dhx_skyblue div.dhx_toolbar_btn i{float:left;margin:2px;width:18px;height:18px;line-height:17px;font-size:1.3em;text-align:center;cursor:default;color:inherit;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhx_toolbar_dhx_skyblue div.dhx_toolbar_btn .dhxtoolbar_input{position:relative;float:left;border:1px solid #a4bed4;background-color:white;margin:1px;padding:2px 4px 3px 4px;font-family:Tahoma,Helvetica;font-size:11px;color:black;line-height:normal;direction:ltr;outline:none;}.dhx_toolbar_dhx_skyblue div.dhx_toolbar_btn .dhxtoolbar_input:disabled{background-color:#e7eef8;}.dhx_toolbar_dhx_skyblue div.dhx_toolbar_btn div.dhxtoolbar_text,.dhx_toolbar_dhx_skyblue div.dhx_toolbar_arw div.arwimg{float:left;font:inherit;height:18px;line-height:17px;margin:2px 4px;padding:0;cursor:default;overflow:hidden;white-space:nowrap;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhx_toolbar_dhx_skyblue div.dhx_toolbar_arw{margin-left:-3px;z-index:1;}.dhx_toolbar_dhx_skyblue div.dhx_toolbar_arw div.arwimg{margin:2px 0;padding:0 3px;background-image:url("imgs/dhxtoolbar_skyblue/dhxtoolbar_arrow.gif");background-position:center center;background-repeat:no-repeat;}.dhx_toolbar_dhx_skyblue div.dhx_toolbar_arw.dhxtoolbar_btn_dis div.arwimg{background-image:url("imgs/dhxtoolbar_skyblue/dhxtoolbar_arrow_dis.gif");}.dhx_toolbar_dhx_skyblue div.dhx_toolbar_sep{float:left;border-left:1px solid #c0d9ec;height:20px;margin:5px 6px 0 5px;overflow:hidden;}.dhx_toolbar_dhx_skyblue div.dhx_toolbar_text{float:left;vertical-align:middle;margin-top:3px;padding:3px 5px;line-height:17px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhx_toolbar_dhx_skyblue div.dhxtoolbar_sl_bg_l,.dhx_toolbar_dhx_skyblue div.dhxtoolbar_sl_bg_m,.dhx_toolbar_dhx_skyblue div.dhxtoolbar_sl_bg_r{float:left;height:5px;line-height:1px;margin:8px 0 6px 0;padding:0;width:2px;font-size:1px;border-top:1px solid #a4bed5;border-bottom:1px solid #a4bed5;background-color:#e7f1ff;overflow:hidden;}.dhx_toolbar_dhx_skyblue div.dhxtoolbar_sl_bg_l{margin-left:4px;border-left:1px solid #a4bed5;border-top-left-radius:2px;border-bottom-left-radius:2px;}.dhx_toolbar_dhx_skyblue div.dhxtoolbar_sl_bg_r{margin-right:4px;border-right:1px solid #a4bed5;border-top-right-radius:2px;border-bottom-right-radius:2px;}.dhx_toolbar_dhx_skyblue div.dhxtoolbar_sl_pen,.dhx_toolbar_dhx_skyblue div.dhxtoolbar_sl_pen.dhxtoolbar_over{position:absolute;top:5px;width:7px;height:14px;border:1px solid #a4bed4;background-color:#e1eeff;background:linear-gradient(#e1eeff,#d4e7ff);background:-webkit-linear-gradient(#e1eeff,#d4e7ff);filter:progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e1eeff,endColorStr=#d4e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100);border-radius:1px;cursor:default;font-size:1px;line-height:1px;overflow:hidden;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhx_toolbar_dhx_skyblue div.dhx_toolbar_btn.dhxtoolbar_btn_dis div.dhxtoolbar_sl_pen{border-color:#c9c9c9;background-color:#e5e5e5;background:linear-gradient(#e5e5e5,#e0e0e0);background:-webkit-linear-gradient(#e5e5e5,#e0e0e0);filter:progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e5e5e5,endColorStr=#e0e0e0) progid:DXImageTransform.Microsoft.Alpha(opacity=100);}.dhx_toolbar_dhx_skyblue div.dhx_toolbar_btn.dhxtoolbar_btn_dis div.dhxtoolbar_sl_bg_l,.dhx_toolbar_dhx_skyblue div.dhx_toolbar_btn.dhxtoolbar_btn_dis div.dhxtoolbar_sl_bg_m,.dhx_toolbar_dhx_skyblue div.dhx_toolbar_btn.dhxtoolbar_btn_dis div.dhxtoolbar_sl_bg_r{border-color:#c9c9c9;background-color:#e9e9e9;}.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_24{height:36px!important;}.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_24 div.dhx_toolbar_btn,.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_24 div.dhx_toolbar_arw{height:28px;*height:26px;}.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_24 div.dhx_toolbar_btn img{width:24px;height:24px;}.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_24 div.dhx_toolbar_btn i{width:24px;height:24px;line-height:23px;}.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_24 div.dhx_toolbar_btn div.dhxtoolbar_text,.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_24 div.dhx_toolbar_arw div.arwimg{height:24px;line-height:23px;}.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_24 div.dhx_toolbar_text{padding-top:6px;padding-bottom:6px;}.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_24 div.dhx_toolbar_sep{height:26px;}.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_24 div.dhxtoolbar_sl_bg_l,.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_24 div.dhxtoolbar_sl_bg_m,.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_24 div.dhxtoolbar_sl_bg_r{margin-top:11px;}.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_24 div.dhxtoolbar_sl_pen{top:8px;}.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_24 div.dhx_toolbar_btn .dhxtoolbar_input{margin-top:4px;margin-bottom:4px;}.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_32{height:44px!important;}.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_32 div.dhx_toolbar_btn,.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_32 div.dhx_toolbar_arw{height:36px;*height:34px;}.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_32 div.dhx_toolbar_btn img{width:32px;height:32px;}.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_32 div.dhx_toolbar_btn i{width:32px;height:32px;line-height:31px;}.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_32 div.dhx_toolbar_btn div.dhxtoolbar_text,.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_32 div.dhx_toolbar_arw div.arwimg{height:32px;line-height:31px;}.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_32 div.dhx_toolbar_text{padding-top:10px;padding-bottom:10px;}.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_32 div.dhx_toolbar_sep{height:34px;}.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_32 div.dhxtoolbar_sl_bg_l,.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_32 div.dhxtoolbar_sl_bg_m,.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_32 div.dhxtoolbar_sl_bg_r{margin-top:15px;}.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_32 div.dhxtoolbar_sl_pen{top:12px;}.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_32 div.dhx_toolbar_btn .dhxtoolbar_input{margin-top:8px;margin-bottom:8px;}.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_48{height:60px!important;}.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_48 div.dhx_toolbar_btn,.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_48 div.dhx_toolbar_arw{height:52px;*height:50px;}.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_48 div.dhx_toolbar_btn img{width:48px;height:48px;}.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_48 div.dhx_toolbar_btn i{width:48px;height:48px;line-height:47px;}.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_48 div.dhx_toolbar_btn div.dhxtoolbar_text,.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_48 div.dhx_toolbar_arw div.arwimg{height:48px;line-height:47px;}.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_48 div.dhx_toolbar_text{padding-top:18px;padding-bottom:18px;}.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_48 div.dhx_toolbar_sep{height:50px;}.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_48 div.dhxtoolbar_sl_bg_l,.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_48 div.dhxtoolbar_sl_bg_m,.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_48 div.dhxtoolbar_sl_bg_r{margin-top:23px;}.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_48 div.dhxtoolbar_sl_pen{top:20px;}.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_48 div.dhx_toolbar_btn .dhxtoolbar_input{margin-top:16px;margin-bottom:16px;}div.dhx_toolbar_poly_dhx_skyblue{position:absolute;border:1px solid #a4bed4;box-shadow:0 0 3px #ccc;padding:3px 0;border-bottom-left-radius:2px;border-bottom-right-radius:2px;border-top-right-radius:2px;background-color:#e7f1ff;overflow:hidden;cursor:default;line-height:normal;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;overflow-y:auto;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);}div.dhx_toolbar_poly_dhx_skyblue td{font-family:Tahoma,Helvetica;font-size:11px;color:black;line-height:normal;padding:0 3px;border-top:1px solid #e7f1ff;border-bottom:1px solid #e7f1ff;}div.dhx_toolbar_poly_dhx_skyblue .tr_btn_over td,div.dhx_toolbar_poly_dhx_skyblue .tr_btn_selected td{background-color:#b5deff;border-top:1px solid #a1cef4;border-bottom:1px solid #a1cef4;}div.dhx_toolbar_poly_dhx_skyblue .tr_btn_disabled td{color:#999;}div.dhx_toolbar_poly_dhx_skyblue td.td_btn_img{width:18px;text-align:center;}div.dhx_toolbar_poly_dhx_skyblue td.td_btn_img img.btn_sel_img{width:18px;height:18px;}div.dhx_toolbar_poly_dhx_skyblue td.td_btn_img i{width:18px;height:18px;line-height:17px;text-align:center;color:inherit;font-size:1.3em;}div.dhx_toolbar_poly_dhx_skyblue td.td_btn_txt div.btn_sel_text{padding:0 12px 0 1px;height:22px;line-height:21px;overflow:hidden;}div.dhx_toolbar_poly_dhx_skyblue tr.tr_sep td{padding:2px 0;}div.dhx_toolbar_poly_dhx_skyblue div.btn_sep{position:relative;font-size:1px;line-height:1px;height:0;width:100%;border-top:1px solid #a4bed5;}div.dhx_toolbar_slider_label_dhx_skyblue{position:absolute;border:1px solid #a4bed4;box-shadow:0 0 3px #ccc;background-color:#e7f1ff;padding:5px 8px;border-radius:2px;overflow:hidden;cursor:default;line-height:normal;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;font-family:Tahoma,Helvetica;font-size:11px;color:black;}.dhxtoolbar_maxopen_test{position:absolute;width:200px;height:50px;overflow-x:none;overflow-y:auto;left:-300px;top:100px;border:1px solid white;visibility:hidden;}.dhxtoolbar_maxopen_test2{height:200px;}.dhxacc_base_dhx_skyblue div.dhx_cell_acc div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging,.dhxlayout_base_dhx_skyblue div.dhx_cell_layout div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging,.dhxtabbar_base_dhx_skyblue div.dhx_cell_tabbar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging{position:relative;height:32px;line-height:31px;margin-top:-1px;overflow:hidden;white-space:nowrap;}.dhxtabbar_base_dhx_skyblue div.dhx_cell_tabbar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging{margin-top:0;height:31px;}.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging,.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging{position:relative;height:32px;line-height:31px;margin-top:3px;overflow:hidden;white-space:nowrap;}.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging .dhx_toolbar_dhx_skyblue,.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging .dhx_toolbar_dhx_skyblue{border-width:0;background-image:none;}.dhxeditor_dhx_skyblue{position:relative;}.dhxeditor_dhx_skyblue iframe.dhxeditor_mainiframe{position:absolute;overflow:hidden;top:0;left:0;width:100%;height:100%;}.dhxeditor_dhx_skyblue div.dhx_cell_editor div.dhx_cell_stb{position:relative;height:30px;padding:0 5px;border-bottom:1px solid #a4bed4;background-color:#e2efff;background:linear-gradient(#e2efff,#d3e7ff);background:-webkit-linear-gradient(#e2efff,#d3e7ff);filter:progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e2efff,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100);}.dhxeditor_dhx_skyblue div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button{float:left;position:relative;width:18px;height:18px;font-size:2px;margin-left:5px;margin-top:7px;cursor:pointer;background-image:url("imgs/dhxeditor_skyblue/buttons.gif");opacity:1;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=100);}.dhxeditor_dhx_skyblue div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button.btn_bold{margin-left:5px;background-position:0 0;}.dhxeditor_dhx_skyblue div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button.btn_italic{background-position:-18px 0;}.dhxeditor_dhx_skyblue div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button.btn_underline{background-position:-36px 0;}.dhxeditor_dhx_skyblue div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button.btn_clearformat{background-position:-54px 0;}.dhxeditor_dhx_skyblue div.dhx_cell_editor{position:absolute;background-color:white;margin:0;padding:0;overflow:hidden;cursor:default;z-index:0;}.dhxeditor_dhx_skyblue div.dhx_cell_editor div.dhx_cell_cont_editor{position:absolute;overflow:hidden;}.dhxeditor_dhx_skyblue div.dhx_cell_editor div.dhx_cell_toolbar_def{position:relative;overflow:hidden;}.dhxeditor_dhx_skyblue div.dhx_cell_editor div.dhx_cell_toolbar_def div.dhx_toolbar_dhx_skyblue{border-top-width:0;border-left-width:0;border-right-width:0;}div.dhxform_item_template div.dhx_cell_editor div.dhx_cell_toolbar_def div.dhx_toolbar_dhx_skyblue{border-left-width:1px;border-right-width:1px;border-top-width:1px;}.dhxwins_vp_dhx_skyblue div.dhx_cell_cont_wins div.dhxeditor_dhx_skyblue div.dhx_cell_editor div.dhx_cell_stb,.dhxwins_vp_dhx_skyblue div.dhx_cell_cont_wins div.dhxeditor_dhx_skyblue div.dhx_cell_editor div.dhx_cell_toolbar_def div.dhx_toolbar_dhx_skyblue{border-left:1px solid #a4bed4;border-right:1px solid #a4bed4;border-top:1px solid #a4bed4;}.dhxwins_vp_dhx_skyblue div.dhx_cell_cont_wins div.dhxeditor_dhx_skyblue div.dhx_cell_editor div.dhx_cell_cont_editor{border-left:1px solid #a4bed4;border-right:1px solid #a4bed4;border-bottom:1px solid #a4bed4;}.dhxwins_vp_dhx_skyblue div.dhx_cell_cont_wins div.dhxeditor_dhx_skyblue div.dhx_cell_editor div.dhx_cell_toolbar_def{padding:0;}.dhxeditor_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:10px;height:10px;overflow:hidden;}.dhx_tooltip{display:none;position:absolute;font-family:Tahoma,Helvetica;color:#626262;font-size:11px;z-index:10000;padding:4px 10px 4px 10px;border:1px solid #fff;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;-moz-box-shadow:0 0 3px #d9d9d9;-webkit-box-shadow:0 0 3px #d9d9d9;text-shadow:0 1px 1px #fff;box-shadow:0 0 5px #d9d9d9;background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#efefef),color-stop(0.5,#f6f6f6),color-stop(1,#efefef));background:-o-linear-gradient(#efefef 0,#f6f6f6 50%,#efefef 100%);background:-ms-linear-gradient(#efefef 0,#f6f6f6 50%,#efefef 100%);background:-moz-linear-gradient(#efefef 0,#f6f6f6 50%,#efefef 100%);background:#efefef;}.dhx_chart{position:relative;font-family:Tahoma,Helvetica;font-size:11px;color:black;overflow:hidden;z-index:0;}.dhx_chart canvas{position:absolute;left:0;top:0;}.dhx_canvas_text{position:absolute;text-align:center;overflow:hidden;white-space:nowrap;z-index:1000;}.dhx_map_img{width:100%;height:100%;position:absolute;top:0;left:0;border:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);opacity:0;}.dhx_axis_item_y{position:absolute;height:18px;line-height:18px;margin-top:-4px;text-align:right;}.dhx_axis_title_x{text-align:center;}.dhx_axis_title_y{text-align:center;font-family:Tahoma,Helvetica;-webkit-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-o-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg);height:18px;line-height:18px;font-size:11px;}.dhx_ie_filter{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);zoom:1;font-family:serif;}.dhx_chart_legend{position:absolute;z-index:1000;}.dhx_chart_legend_item{height:18px;line-height:18px;padding:2px;cursor:pointer;}.dhx_chart_legend_item.hidden{color:#aaa;}.dhx_axis_item_y.dhx_radar{color:#666;font-size:12px;padding-right:3px;height:13px;line-height:13px;margin-top:0;}.dhx_canvas_text.dhx_axis_radar_title{margin-top:0;padding-top:0;}.dhx_axis_item_y,.dhx_axis_item_x{color:#666;}.dhx_axis_item_x{padding-top:2px;}.dhx_tooltip{display:none;position:absolute;font-family:Tahoma,Helvetica;color:#626262;font-size:11px;z-index:10000;padding:4px 10px 4px 10px;border:1px solid #fff;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;-moz-box-shadow:0 0 3px #d9d9d9;-webkit-box-shadow:0 0 3px #d9d9d9;text-shadow:0 1px 1px #fff;box-shadow:0 0 5px #d9d9d9;background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#efefef),color-stop(0.5,#f6f6f6),color-stop(1,#efefef));background:-o-linear-gradient(#efefef 0,#f6f6f6 50%,#efefef 100%);background:-ms-linear-gradient(#efefef 0,#f6f6f6 50%,#efefef 100%);background:-moz-linear-gradient(#efefef 0,#f6f6f6 50%,#efefef 100%);background:#efefef;}.dhx_noselect{-moz-user-select:none;-moz-user-select:-moz-none;-khtml-user-select:none;}.dhx_allow_selection{-moz-user-select:text;-user-select:text;}.dhx_dataview{overflow-y:auto;-webkit-overflow-scrolling:touch;overflow-x:hidden;-moz-user-select:none;-moz-user-select:-moz-none;-khtml-select:none;}.dhx_drag_zone{position:absolute;border:1px solid #A4BED4;z-index:8000;-moz-box-shadow:5px 5px 5px #888;-khtml-box-shadow:5px 5px 5px #888;}.dhx_dataview_default_item,.dhx_dataview_default_item_selected{cursor:pointer;background-color:#fff;}.dhx_dataview .dhx_dataview_default_item,.dhx_dataview .dhx_dataview_default_item_selected{border-right:1px solid #a4bed4;border-bottom:1px dotted #a4bed4;}.dhx_dataview_default_item_selected{background-color:#a1ceed;color:#b5deff;border-color:#a1ceed;background-repeat:repeat-x;}.dhx_dataview_item{font-family:Tahoma,Helvetica;font-size:11px;color:black;}.dhx_dataview_item .dhx_strong{font-weight:bold;display:block;padding-bottom:6px;}.dhx_dataview_default_item_selected .dhx_light{color:#C3C3C3;}.dhx_dataview_item .dhx_light{color:#919191;}.dhx_drag_over{background-color:#faf768;background-image:url("imgs/dhxdataview_skyblue/marker.png");background-repeat:repeat-x;}.dhx_pager_item,.dhx_pager_item_selected{float:left;text-align:center;height:16px;font-family:Tahoma,Helvetica;font-size:10pt;border:1px solid gray;padding:2px 4px;margin-left:5px;cursor:pointer;background-color:white;}.dhx_pager_item_selected{background-color:lightgrey;color:white;cursor:default;font-weight:bold;}.dhx_list{overflow-y:auto;-webkit-overflow-scrolling:touch;overflow-x:hidden;-moz-user-select:none;-moz-user-select:-moz-none;-khtml-select:none;}.dhx_list_default_item,.dhx_list_default_item_selected{cursor:pointer;background-color:#fff;}.dhx_list .dhx_list_default_item,.dhx_list .dhx_list_default_item_selected{border-right:1px solid #a4bed4;border-bottom:1px dotted #a4bed4;}.dhx_list_default_item_selected{background-color:#a1ceed;color:#b5deff;border-color:#a1ceed;background-repeat:repeat-x;}.dhx_list_item{font-family:Tahoma,Helvetica;font-size:11px;color:black;box-sizing:border-box;}.dhx_list_item textarea{resize:none;margin-top:-8px;}.dhx_list_item .dhx_strong{font-weight:bold;display:block;padding-bottom:6px;}.dhx_list_default_item_selected .dhx_light{color:#C3C3C3;}.dhx_list_item .dhx_light{color:#919191;}.defaultTreeTable{margin:0;padding:0;border:0;}.containerTableStyle{overflow:auto;-webkit-overflow-scrolling:touch;position:relative;top:0;font-size:12px;-khtml-user-select:none;}.containerTableStyleRTL span{direction:rtl;unicode-bidi:bidi-override;}.containerTableStyleRTL{direction:rtl;overflow:auto;position:relative;top:0;font-size:12px;}.standartTreeRow{font-family:Tahoma,Helvetica;font-size:12px;-moz-user-select:none;}.selectedTreeRow{background-color:navy;color:white;font-family:Tahoma,Helvetica;font-size:12px;-moz-user-select:none;}.dragAndDropRow{background-color:navy;color:white;}.standartTreeRow_lor{text-decoration:underline;background-color:#fff;font-family:Tahoma,Helvetica;font-size:12px;-moz-user-select:none;}.selectedTreeRow_lor{text-decoration:underline;background-color:navy;color:white;font-family:Tahoma,Helvetica;font-size:12px;-moz-user-select:none;}.standartTreeImage{height:24px;overflow:hidden;border:0;padding:0;margin:0;font-size:1px;}.standartTreeImage img{width:18px;height:24px;background-position:center center;background-repeat:no-repeat;border:0;padding:0;margin:0;font-size:1px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.hiddenRow{width:1px;overflow:hidden;}.dragSpanDiv,.dragSpanDiv td{font-family:Tahoma,Helvetica;font-size:12px;background-color:#fff;z-index:999;}.a_dhx_hidden_input{position:absolute;top:-1px;left:-1px;width:1px;height:1px;border:none;background:none;}.a_dhx_hidden_input{position:absolute;top:-1px;left:-1px;width:1px;height:1px;border:none;background:none;}.selectionBox{background-color:#FFC;}.selectionBar{top:0;background-color:black;position:absolute;overflow:hidden;height:2px;z-index:11;}.intreeeditRow{font-size:8pt;height:16px;border:1px solid silver;padding:0;margin:0;margin-left:4px;-moz-user-select:text;-khtml-user-select:text;}.dhx_tree_textSign{font-size:8pt;font-family:monospace;width:21px;color:black;padding:0;margin:0;cursor:pointer;text-align:center;}.dhx_tree_opacity{opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhx_bg_img_fix{width:18px;height:24px;background-repeat:no-repeat;background-position:center;background-position-x:center;background-position-y:center;}.dhxtree_dhx_skyblue{background-color:#fff;color:black;}*html .dhxtree_dhx_skyblue .standartTreeRow,*html .dhxtree_dhx_skyblue .standartTreeRow_lor{border-right:0 solid red;border-left:0 solid red;}*html .dhxtree_dhx_skyblue span.standartTreeRow,*html .dhxtree_dhx_skyblue span.standartTreeRow_lor{margin-left:1px;}.dhxtree_dhx_skyblue .standartTreeRow,.dhxtree_dhx_skyblue .standartTreeRow_lor{border-right:1px solid transparent;border-left:1px solid transparent;font-family:Tahoma,Helvetica;font-size:12px;overflow:hidden;padding:0;}.dhxtree_dhx_skyblue .selectedTreeRow_lor,.dhxtree_dhx_skyblue .selectedTreeRow{background-color:#b5deff;background-repeat:repeat-x;border:1px solid #a1ceed;color:black;line-height:17px;font-family:Tahoma,Helvetica;font-size:12px;overflow:hidden;}html>body .dhxtree_dhx_skyblue .selectedTreeRow,html>body .dhxtree_dhx_skyblue .selectedTreeRow_lor{padding:1px 0 1px 0;line-height:normal;*display:inline-block;height:13px;}body:nth-of-type(1) .dhxtree_dhx_skyblue span.selectedTreeRow,body:nth-of-type(1) .dhxtree_dhx_skyblue span.selectedTreeRow_lor{padding:1px 0 1px 0;padding-top:0;box-sizing:border-box;line-height:12px;height:13px;}.dhxtree_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:10px;height:10px;overflow:hidden;}.dhxtreeview_dhx_skyblue{position:relative;overflow:hidden;background-color:white;}.dhxtreeview_dhx_skyblue div.dhxtreeview_cont{position:absolute;overflow:auto;}.dhxtreeview_dhx_skyblue div.dhxtreeview_cont div.dhxtreeview_area{position:relative;}.dhxtreeview_dhx_skyblue div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_kids_cont{position:relative;-webkit-transition:opacity .1s;-moz-transition:opacity .1s;-ms-transition:opacity .1s;-o-transition:opacity .1s;transition:opacity .1s;}.dhxtreeview_dhx_skyblue div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item{position:relative;font-family:Tahoma,Helvetica;font-size:11px;color:black;white-space:nowrap;cursor:default;margin-top:1px;margin-bottom:1px;}.dhxtreeview_dhx_skyblue div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text{position:relative;padding:0;margin:0;height:24px;line-height:23px;border:1px solid #fff;color:inherit;vertical-align:middle;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:default;}.dhxtreeview_dhx_skyblue div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_label{position:absolute;top:0;padding:0 10px 0 4px;color:black;background-color:#fff;height:24px;line-height:inherit;font:inherit;}.dhxtreeview_dhx_skyblue div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected,.dhxtreeview_dhx_skyblue div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected:hover{background-color:#b5deff;border-color:#a4bed4;}.dhxtreeview_dhx_skyblue div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected div.dhxtreeview_item_label,.dhxtreeview_dhx_skyblue div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected:hover div.dhxtreeview_item_label{background-color:#b5deff;border-color:#a4bed4;color:black;}.dhxtreeview_dhx_skyblue div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text:hover{background-color:#f1f7ff;border-color:#b9cdde;}.dhxtreeview_dhx_skyblue div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text:hover div.dhxtreeview_item_label{border-color:#b9cdde;background-color:#f1f7ff;}.dhxtreeview_dhx_skyblue div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon{position:absolute;width:20px;top:0;height:24px;line-height:22px;text-align:center;font-size:14px;color:#333;overflow:hidden;}.dhxtreeview_dhx_skyblue div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon{position:absolute;left:0;top:0;width:20px;height:24px;background-repeat:no-repeat;background-position:center center;}.dhxtreeview_dhx_skyblue div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_plus{background-image:url(imgs/dhxtreeview_skyblue/icon_plus.gif);}.dhxtreeview_dhx_skyblue div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_minus{background-image:url(imgs/dhxtreeview_skyblue/icon_minus.gif);}.dhxtreeview_dhx_skyblue div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_file{background-image:url(imgs/dhxtreeview_skyblue/icon_file.gif);}.dhxtreeview_dhx_skyblue div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_folder_closed{background-image:url(imgs/dhxtreeview_skyblue/icon_folder_closed.gif);}.dhxtreeview_dhx_skyblue div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_folder_opened{background-image:url(imgs/dhxtreeview_skyblue/icon_folder_opened.gif);}.dhxtreeview_dhx_skyblue div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_loading{background-image:url(imgs/dhxtreeview_skyblue/loading.gif);}.dhxtreeview_dhx_skyblue div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_chbx_0{background-image:url(imgs/dhxtreeview_skyblue/icon_chbx_0.gif);}.dhxtreeview_dhx_skyblue div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_chbx_1{background-image:url(imgs/dhxtreeview_skyblue/icon_chbx_1.gif);}.dhxtreeview_dhx_skyblue div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_chbx_dis_0{background-image:url(imgs/dhxtreeview_skyblue/icon_chbx_dis_0.gif);}.dhxtreeview_dhx_skyblue div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_chbx_dis_1{background-image:url(imgs/dhxtreeview_skyblue/icon_chbx_dis_1.gif);}.dhxtreeview_dhx_skyblue div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa.fa-folder-open-o,.dhxtreeview_dhx_skyblue div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa.fa-folder-o{position:absolute;line-height:24px;left:4px;width:10px;text-align:left;overflow:visible;}.dhxtreeview_dhx_skyblue div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa.fa-square-o,.dhxtreeview_dhx_skyblue div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa.fa-check-square-o{position:absolute;line-height:24px;left:4px;width:10px;text-align:left;overflow:visible;}.dhxtreeview_dhx_skyblue div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa.fa-square-o.dhx-disabled,.dhxtreeview_dhx_skyblue div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa.fa-check-square-o.dhx-disabled{color:#a6a6a6;}.dhxtreeview_dhx_skyblue div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_drop_preview{display:none;position:absolute;height:0;width:40px;border-bottom:2px dotted #008dbc;z-index:1;}.dhxtreeview_dhx_skyblue div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_drop_preview.dhxtreeview_drop_0{display:block;top:-2px;}.dhxtreeview_dhx_skyblue div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_drop_preview.dhxtreeview_drop_2{display:block;top:25px;}.dhxtreeview_dhx_skyblue div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item.dhxtreeview_item_dragged{opacity:.3;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30);}.dhxtreeview_dhx_skyblue div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_drop_1,.dhxtreeview_dhx_skyblue div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_drop_1:hover{background-color:#fff0da;border-color:#d1c5b5;}.dhxtreeview_dhx_skyblue div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_drop_1 div.dhxtreeview_item_label,.dhxtreeview_dhx_skyblue div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_drop_1:hover div.dhxtreeview_item_label{background-color:#fff0da;border-color:#d1c5b5;}.dhxtreeview_dhx_skyblue div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected,.dhxtreeview_dhx_skyblue div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected:hover{background-color:#fff0da;border-color:#d1c5b5;}.dhxtreeview_dhx_skyblue div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected div.dhxtreeview_item_label,.dhxtreeview_dhx_skyblue div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected:hover div.dhxtreeview_item_label{background-color:#fff0da;border-color:#d1c5b5;}.dhxtreeview_dhx_skyblue div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text:hover{background-color:#fff;border-color:#fff;}.dhxtreeview_dhx_skyblue div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text:hover div.dhxtreeview_item_label{background-color:#fff;border-color:#fff;}.dhxtreeview_dhx_skyblue.dhxtreeview_with_border{border:1px solid #a4bed4;}.dhxtreeview_dhx_skyblue.dhxtreeview_icon_width{position:absolute;left:0;top:-100px;width:20px;height:1px;font-size:1px;margin:0;padding:0;overflow:hidden;}.dhxtreeview_dragged_obj_dhx_skyblue{position:absolute;font-family:Tahoma,Helvetica;font-size:11px;color:black;white-space:nowrap;cursor:default;background-color:#fcfcfc;border-radius:1px;box-shadow:0 0 10px rgba(90,90,90,0.2);padding:5px 14px;border:1px solid #ccc;opacity:.9;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=90);}html.dhxtreeview_dnd_mode,html.dhxtreeview_dnd_mode *,body.dhxtreeview_dnd_mode,body.dhxtreeview_dnd_mode *{cursor:default;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}div.dhx_popup_dhx_skyblue div.dhx_popup_area td.dhx_popup_td div.dhxtreeview_dhx_skyblue div.dhxtreeview_item div.dhxtreeview_item_label{white-space:nowrap;}.dhxtreeview_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:10px;height:10px;overflow:hidden;}div.gridbox{overflow:hidden;text-align:left;}.dhx_sub_row{background-color:#fff;}div.gridbox table.obj{height:1px;}div.gridbox table.hdr td{line-height:normal;border:1px solid;border-color:#fff Gray Gray #fff;text-align:center;margin:0;padding:7px 0 7px 0;font-weight:normal;overflow:hidden;empty-cells:show;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}div.gridbox table.hdr td div.hdrcell{overflow:hidden;}div.gridbox table.obj td{overflow:hidden;padding-top:0;padding-bottom:0;empty-cells:show;white-space:normal;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}div.gridbox table.obj th,div.gridbox table.hdr th{padding:0;margin:0;}div.gridbox table.row20px tr td{height:20px;white-space:nowrap;padding:0;}div.gridbox .objbox{background-color:#fff;position:relative;-webkit-overflow-scrolling:touch;}div.gridbox table.obj td span.space,div.gridbox table.obj td img.space{width:18px;}div.gridbox table.obj td.editable{-webkit-user-select:text;-khtml-user-select:text;-moz-user-select:text;-ms-user-select:text;-o-user-select:text;user-select:text;}div.gridbox table.obj td.group_row{vertical-align:middle;font-family:Tahoma;font-size:10pt;font-weight:bold;height:30px;border:0;border-bottom:2px solid navy;}.dragSpanDiv{font-family:Tahoma,Helvetica;font-size:12px;border:1px gray solid;background-color:#fff;z-index:999;}.dhx_combo_select{border:1px solid;border-color:black silver silver black;background-color:#fff;overflow:auto;cursor:default;position:absolute;height:auto;z-index:600;}.dhx_combo_edit{width:100%;border:0;padding:0;padding-right:1px!ie;margin:0;overflow:hidden;}.gridbox_dhx_skyblue.gridbox .dhx_combo_edit{display:block;}.dhx_textarea{border:1px solid;border-color:black silver silver black;position:absolute;height:100px;z-index:600;}.dhx_clist{background-color:#fff;border:1px solid black;padding:2px 2px 2px 2px;z-index:300;}.gridDragLine{position:absolute;top:10px;left:0;width:100%;height:2px;background-color:black;overflow:hidden;pointer-events:none;}div.pagingBlock .pagingCurrentPage{font-weight:bold;cursor:default;}div.pagingBlock .pagingPage{cursor:pointer;text-decoration:underline;}div.pagingBlock a{text-decoration:none;padding-right:2px;color:black;cursor:pointer;}div.pagingBlock a.dhx_not_active{text-decoration:none;cursor:default;}.toolbar_select{font-size:10px;}.dhtmlxGrid_selection{opacity:.5;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);background-color:yellow;border:1px dotted black;}div.gridbox div.ftr{position:absolute;left:0;bottom:1px;width:100%;overflow:hidden;}div.gridbox div.ftr td{padding:0;padding-left:10px;padding-right:5px;border-top:1px solid gray;border-right:1px solid gray;background-color:#ffc;font-style:italic;overflow:hidden;}div.gridbox table.hdr td.columnTargetR div.hdrcell{border-right:3px double #F60;border-left:3px solid #D4D0C8;}div.gridbox table.hdr td.columnTargetL div.hdrcell{border-right:3px solid #D4D0C8;border-left:3px double #F60;}.dhx_dragColDiv{background-color:#D4D0C8;border:1px solid;border-color:#fff Gray Gray #fff;text-align:center;margin:0;padding:5px 20px 5px 20px;font-weight:normal;opacity:.75;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=75);z-index:100;}.dhtmlx_live_validation_error{background-color:#FFE0E0!important;}.dhtmlx_validation_error{border-bottom:2px solid red!important;}.dhx_header_cmenu{background-color:#fff;border:2px outset silver;z-index:2;}.dhx_header_cmenu_item{white-space:nowrap;}div.gridboxgridbox_dhx_skyblue div.ftr td{text-align:right;color:black;background-color:#e2efff;background:linear-gradient(#e2efff,#d3e7ff);background:-webkit-linear-gradient(#e2efff,#d3e7ff);filter:progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e2efff,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100);border-color:#a4bed4;}div.gridbox td.filter input,div.gridbox td.filter select{width:90%;font-size:8pt;font-family:Tahoma;-webkit-user-select:text;-khtml-user-select:text;-moz-user-select:text;-ms-user-select:text;-o-user-select:text;user-select:text;}div.gridbox .filter input::-ms-clear{display:none;}div.gridbox_dhx_skyblue.gridbox .ftr,div.gridbox_dhx_skyblue.gridbox .xhdr{color:black;background-color:#e2efff;background:linear-gradient(#e2efff,#d3e7ff);background:-webkit-linear-gradient(#e2efff,#d3e7ff);filter:progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e2efff,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100);}div.gridbox_dhx_skyblue.isModern table.hdr tr td{color:black;background-color:#e2efff;background:linear-gradient(#e2efff,#d3e7ff);background:-webkit-linear-gradient(#e2efff,#d3e7ff);filter:progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e2efff,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100);}div.gridbox_dhx_skyblue.isIE table.hdr tr{color:black;background-color:#e2efff;background:linear-gradient(#e2efff,#d3e7ff);background:-webkit-linear-gradient(#e2efff,#d3e7ff);filter:progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e2efff,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100);}div.gridbox_dhx_skyblue.gridbox table.obj tr td{border-width:0;padding-right:4px;padding-left:4px;}div.gridbox_dhx_skyblue.gridbox table.hdr td div.hdrcell{padding-left:10px;width:auto;}div.gridbox_dhx_skyblue.gridbox table.hdr td{border-width:1px 1px 1px 1px;border-color:#e7f1ff #a4bed4 #a4bed4 #e7f1ff;background-color:transparent;font-family:Tahoma,Helvetica;font-size:12px;color:black;vertical-align:top;text-align:left;position:relative;}div.gridbox_dhx_skyblue.gridbox{border:1px solid #a4bed4;}div.gridbox_dhx_skyblue.gridbox table.obj,.dhx_grid_adjust{font-family:Tahoma,Helvetica;font-size:12px;color:black;}div.gridbox_dhx_skyblue.gridbox table.obj tr td{padding-top:3px;padding-bottom:3.2px;}* html .gridbox_dhx_skyblue.gridbox .obj td{height:auto;padding-top:3px;padding-bottom:3px;}div.gridbox_dhx_skyblue.gridbox table.obj.row20px tr td{height:23px;}div.gridbox_dhx_skyblue.gridbox table.obj tr td{padding-top:1px;padding-bottom:1px;border-right:1px solid #fff;border-top:1px solid #fff;border-bottom:1px solid #fff;}div.gridbox_dhx_skyblue.isModern table.obj.row20px tr td{line-height:23px;}div.gridbox_dhx_skyblue table.obj.row20px tr td.editable{height:21px;line-height:21px;}div.gridbox_dhx_skyblue table.obj.row20px tr td.editable .treegrid_cell{margin-top:-2px;height:21px;}div.gridbox_dhx_skyblue.gridbox table.obj tr td.editable div.treegrid_cell{padding:1px 4px!important;}div.gridbox_dhx_skyblue.gridbox table.obj tr.rowselected{background-color:#b5deff;}div.gridbox_dhx_skyblue.gridbox table.obj tr.rowselected td{background-color:#b5deff;color:black;}div.gridbox_dhx_skyblue.gridbox table.obj tr.rowselected td,div.gridbox_dhx_skyblue.gridbox table.obj tr.odd_dhx_skyblue.rowselected td{background-color:#b5deff;border-top:1px solid #a1ceed;border-bottom:1px solid #a1ceed;border-right:1px solid #b5deff;}div.gridbox_dhx_skyblue.gridbox table.obj tr td.cellselected{background-color:#b5deff;}div.gridbox_dhx_skyblue.gridbox table.obj tr.odd_dhx_skyblue{background:#ebf3ff;border-top:1px solid #ebf3ff;border-bottom:1px solid #ebf3ff;}div.gridbox_dhx_skyblue.gridbox table.obj tr.odd_dhx_skyblue{background:#ebf3ff;}.dhx_combo_select,.gridbox_dhx_skyblue.gridbox .dhx_combo_edit,.gridbox_dhx_skyblue.gridbox .dhx_textarea,dhx_dragColDiv,div.gridbox div.ftr td,div.pagingBlock,span.recordsInfoBlock{font-family:Tahoma,Helvetica;font-size:12px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;}.gridbox_dhx_skyblue .dhx_combo_edit{padding:1px 0 1px 1px;}.gridbox_dhx_skyblue.isIE .dhx_combo_edit{padding:0 0 0 1px;}.gridbox_dhx_skyblue.gridbox .dhx_sub_row{background-color:transparent;}.dhx_header_cmenu{background-color:#fff;border:2px outset silver;z-index:2;}.dhx_header_cmenu_item{white-space:nowrap;}.dhx_pbox{margin-top:3px;border:1px solid #D4D0C8;border-top:0;font-size:10px;}.dhx_pline{background-color:white;margin:-15px 10px 10px 10px;padding:0 5px 0 5px;float:left;}.dhx_page,.dhx_pager_info{margin:3px;text-align:center;font-family:tahoma;font-size:12px;float:left;cursor:pointer;color:black;background-color:gray;padding:1px;}.dhx_pager_info{white-space:nowrap;background-color:white;margin:-8px 10px 10px 10px;padding:0 5px 0 5px;cursor:default;}.dhx_page div{background-color:white;width:16px;height:17px;vertical-align:middle;}div.dhx_page_active{font-weight:bold;background-color:lightgrey;cursor:default;color:white;}.dhx_pbox_modern{margin-top:3px;border:1px solid #D6D6D6;border-top:0;font-size:10px;}.dhx_pline_modern{background-color:white;margin:-15px 10px 10px 10px;padding:0 5px 0 5px;float:left;}.dhx_page_modern,.dhx_pager_info_modern{margin:3px;text-align:center;font-family:tahoma;font-size:12px;float:left;cursor:pointer;color:#055A78;background-color:#D6D6D6;padding:1px;}.dhx_pager_info_modern{white-space:nowrap;background-color:white;margin:-8px 10px 10px 10px;padding:0 5px 0 5px;cursor:default;}.dhx_page_modern div{background-color:white;width:16px;height:17px;vertical-align:middle;}div.dhx_page_active_modern{font-weight:bold;background-color:#055A78;cursor:default;color:white;}.dhx_pbox_light{margin-top:3px;border:1px solid #C2D5DC;border-top:0;font-size:10px;}.dhx_pline_light{background-color:white;margin:-15px 10px 10px 10px;padding:0 5px 0 5px;float:left;}.dhx_page_light,.dhx_pager_info_light{margin:3px;text-align:center;font-family:tahoma;font-size:12px;float:left;cursor:pointer;color:#055A78;background-color:#93AFBA;padding:1px;}.dhx_pager_info_light{white-space:nowrap;background-color:white;margin:-8px 10px 10px 10px;padding:0 5px 0 5px;cursor:default;}.dhx_page_light div{background-color:white;width:16px;height:17px;vertical-align:middle;}div.dhx_page_active_light{font-weight:bold;background-color:#D1DFE3;cursor:default;color:white;}.dhx_pbox_skyblue{margin-top:3px;border:1px solid #C2D5DC;border-top:0;font-size:10px;}.dhx_pline_skyblue{background-color:white;margin:-15px 10px 10px 10px;padding:0 5px 0 5px;float:left;}.dhx_page_skyblue,.dhx_pager_info_skyblue{margin:3px;text-align:center;font-family:tahoma;font-size:12px;float:left;cursor:pointer;color:#055A78;background-color:#93AFBA;padding:1px;}.dhx_pager_info_skyblue{white-space:nowrap;background-color:white;margin:-8px 10px 10px 10px;padding:0 5px 0 5px;cursor:default;}.dhx_page_skyblue div{background-color:white;width:16px;height:17px;vertical-align:middle;}div.dhx_page_active_skyblue{font-weight:bold;color:black;background-color:#e2efff;background:linear-gradient(#e2efff,#d3e7ff);background:-webkit-linear-gradient(#e2efff,#d3e7ff);filter:progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e2efff,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100);border:1px solid #a4bed4;padding:0;cursor:default;}div.dhx_page_active_skyblue div.dhx_page_active_skyblue{border:0 solid #a4bed4;}.calcTable{width:100px;background-color:silver;border:1px black solid;}.calcButton{height:20px;cursor:pointer;text-align:center;background-color:gray;color:white;font-size:10px;font-weight:bold;border-top:1px solid silver;border-right:1px solid silver;}.calcPressed{height:20px;cursor:pointer;text-align:center;background-color:gray;color:white;font-size:10px;font-weight:bold;border-top:1px solid black;border-right:1px solid black;}.calcInput{background-color:white;font-size:10px;font-weight:bold;font-family:Tahoma,Helvetica;}.calkSubmit{padding:2px;cursor:pointer;text-align:center;background-color:silver;color:white;font-size:10px;font-weight:bold;border-top:1px solid white;border-right:1px solid white;}.dhxgrid_sort_desc,.dhxgrid_sort_asc{width:9px;height:8px;background-image:url("imgs/dhxgrid_skyblue/sort_desc.gif");background-repeat:no-repeat;z-index:10;}.dhxgrid_sort_asc{background-image:url("imgs/dhxgrid_skyblue/sort_asc.gif");background-repeat:no-repeat;}.dhxgrid_rh_dhx_skyblue{position:absolute;top:-20px;left:-24px;width:23px;height:10px;margin:0;padding:0;border-width:0;font-size:1px;overflow:hidden;}.dhxgrid_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:10px;height:10px;overflow:hidden;}div.gridbox_dhx_skyblue.gridbox table.obj.row20px tr td img{display:block;}div.gridbox_dhx_skyblue.gridbox table.obj.row20px tr td.group_row img,div.gridbox_dhx_skyblue.gridbox table.obj.row20px tr td .treegrid_cell img{display:inline;}.dhx_grid_icon{text-align:center;color:#777;font-size:18px;}.dhx_treegrid_icon{text-align:center;color:#777;font-size:16px;margin-right:4px;position:relative;top:1px;}.grid_cell_dyn{position:relative;padding-right:2px;width:100%;overflow:hidden;white-space:nowrap;}.grid_cell_dyn img{position:absolute;top:0;left:0;height:15px;}.grid_cell_dyn span{padding-left:20px;width:100%;}.grid_collapse_icon{margin-top:-2px;}div.gridbox_dhx_skyblue.gridbox .obj.row20px td[excell]{vertical-align:top!important;}div.gridbox_dhx_skyblue.gridbox .obj.row20px td[excell] img{margin-top:3px;}.dhx_row_drag_active{background:#eee!important;}.dhxform_obj_dhx_skyblue{font-family:Tahoma,Helvetica;float:left;line-height:normal;}.dhxform_obj_dhx_skyblue div.dhxform_base{position:relative;float:left;}.dhxform_obj_dhx_skyblue.dhxform_rtl div.dhxform_base{float:right;}.dhxform_obj_dhx_skyblue div.dhxform_base_nested{padding:0;clear:both;*display:inline-block;}.dhxform_obj_dhx_skyblue.dhxform_rtl div.dhxform_base_nested{padding:0;}.dhxform_obj_dhx_skyblue.dhxform_block{clear:both;}.dhxform_obj_dhx_skyblue div.block_dhxform_item_label_left{display:block;clear:both;*clear:none;}.dhxform_obj_dhx_skyblue div.dhxform_label div.dhxform_label_nav_link,.dhxform_obj_dhx_skyblue div.dhxform_label div.dhxform_label_nav_link:visited,.dhxform_obj_dhx_skyblue div.dhxform_label div.dhxform_label_nav_link:active,.dhxform_obj_dhx_skyblue div.dhxform_label div.dhxform_label_nav_link:hover{outline:none;text-decoration:none;color:inherit;cursor:default;overflow:hidden;white-space:normal;}.dhxform_obj_dhx_skyblue div.dhxform_label div.dhxform_label_nav_link:focus{color:#305f87;}.dhxform_obj_dhx_skyblue div.disabled span.nav_link{color:inherit;}.dhxform_obj_dhx_skyblue div.dhxform_img,.dhxform_obj_dhx_skyblue div.dhxform_actv_c,.dhxform_obj_dhx_skyblue div.dhxform_actv_r{width:18px;height:18px;font-size:1px;}.dhxform_obj_dhx_skyblue div.dhxform_img.chbx0,.dhxform_obj_dhx_skyblue div.dhxform_img.chbx1,.dhxform_obj_dhx_skyblue div.disabled div.dhxform_img.chbx0,.dhxform_obj_dhx_skyblue div.disabled div.dhxform_img.chbx1,.dhxform_obj_dhx_skyblue div.dhxform_img.rdbt0,.dhxform_obj_dhx_skyblue div.dhxform_img.rdbt1,.dhxform_obj_dhx_skyblue div.disabled div.dhxform_img.rdbt0,.dhxform_obj_dhx_skyblue div.disabled div.dhxform_img.rdbt1,.dhxform_obj_dhx_skyblue div.dhxform_actv_c.chbx0,.dhxform_obj_dhx_skyblue div.dhxform_actv_c.chbx1,.dhxform_obj_dhx_skyblue div.dhxform_actv_r.rdbt0,.dhxform_obj_dhx_skyblue div.dhxform_actv_r.rdbt1{background-image:url("imgs/dhxform_skyblue/dhxform_chbxrd.gif");background-repeat:no-repeat;}.dhxform_obj_dhx_skyblue div.dhxform_actv_c.chbx0{background-position:-162px 0;}.dhxform_obj_dhx_skyblue div.dhxform_actv_c.chbx1{background-position:-144px 0;}.dhxform_obj_dhx_skyblue div.dhxform_actv_r.rdbt0{background-position:-198px 0;}.dhxform_obj_dhx_skyblue div.dhxform_actv_r.rdbt1{background-position:-180px 0;}.dhxform_obj_dhx_skyblue div.dhxform_img.chbx0{background-position:-18px 0;}.dhxform_obj_dhx_skyblue div.dhxform_img.chbx1{background-position:0 0;}.dhxform_obj_dhx_skyblue div.disabled div.dhxform_img.chbx0{background-position:-54px 0;}.dhxform_obj_dhx_skyblue div.disabled div.dhxform_img.chbx1{background-position:-36px 0;}.dhxform_obj_dhx_skyblue div.dhxform_img.rdbt0{background-position:-90px 0;}.dhxform_obj_dhx_skyblue div.dhxform_img.rdbt1{background-position:-72px 0;}.dhxform_obj_dhx_skyblue div.disabled div.dhxform_img.rdbt0{background-position:-126px 0;}.dhxform_obj_dhx_skyblue div.disabled div.dhxform_img.rdbt1{background-position:-108px 0;}.dhxform_obj_dhx_skyblue div.dhxform_label{font-family:inherit;font-size:inherit;color:black;overflow-x:hidden;overflow:hidden;white-space:normal;}.dhxform_obj_dhx_skyblue div.dhxform_label.dhxform_label_align_left{text-align:left;}.dhxform_obj_dhx_skyblue.dhxform_rtl div.dhxform_label.dhxform_label_align_left{text-align:right;}.dhxform_obj_dhx_skyblue div.dhxform_label.dhxform_label_align_center{text-align:center;}.dhxform_obj_dhx_skyblue div.dhxform_label.dhxform_label_align_right{text-align:right;}.dhxform_obj_dhx_skyblue.dhxform_rtl div.dhxform_label.dhxform_label_align_right{text-align:left;}.dhxform_obj_dhx_skyblue div.disabled div.dhxform_label,.dhxform_obj_dhx_skyblue div.disabled div.dhxform_label div.dhxform_label_nav_link,.dhxform_obj_dhx_skyblue div.disabled div.dhxform_label span.dhxform_item_required{color:#b2b2b2;}.dhxform_obj_dhx_skyblue div.dhxform_label span.dhxform_item_required{margin-left:5px;margin-right:0;color:red;}.dhxform_obj_dhx_skyblue.dhxform_rtl div.dhxform_label span.dhxform_item_required{margin-left:0;margin-right:5px;}.dhxform_obj_dhx_skyblue input.dhxform_textarea{padding:4px 3px!important;margin:0;font-size:1em;}.dhxform_obj_dhx_skyblue textarea.dhxform_textarea{padding:4px 3px!important;}.dhxform_obj_dhx_skyblue input.dhxform_textarea::-ms-clear,.dhxform_obj_dhx_skyblue textarea.dhxform_textarea::-ms-clear{display:none;}.dhxform_obj_dhx_skyblue .dhxform_textarea{border:1px solid #a4bed4;font-family:Tahoma,Helvetica;font-size:1em;color:black;resize:none;}.dhxform_obj_dhx_skyblue div.disabled .dhxform_textarea{color:#b2b2b2;background-color:white;border:1px solid #c2d0dd;}.dhxform_obj_dhx_skyblue.dhxform_rtl .dhxform_textarea{text-align:right;direction:rtl;}.dhxform_obj_dhx_skyblue div.dhxform_control.dhxform_img_node{position:relative;}.dhxform_obj_dhx_skyblue div.dhxform_control.dhxform_img_node .dhxform_textarea{border:1px solid white;background-color:white;color:white;visibility:hidden;*height:1px;*line-height:1px;*display:inline;}.dhxform_obj_dhx_skyblue div.dhxform_control.dhxform_img_node div.dhxform_img,.dhxform_obj_dhx_skyblue div.dhxform_control.dhxform_img_node div.dhxform_actv_c,.dhxform_obj_dhx_skyblue div.dhxform_control.dhxform_img_node div.dhxform_actv_r{float:none;top:2px;left:2px;position:absolute;margin:0;}.dhxform_obj_dhx_skyblue.dhxform_rtl div.dhxform_control.dhxform_img_node div.dhxform_img{float:none;top:2px;left:0;position:absolute;margin:0;}.dhxform_obj_dhx_skyblue .dhxform_select{border:1px solid #a4bed4;background-color:#fff;margin:0;padding:3px 2px 3px 0;font-family:Tahoma,Helvetica;font-size:1em;color:black;}.dhxform_obj_dhx_skyblue .dhxform_select option{padding-left:2px;}.dhxform_obj_dhx_skyblue div.disabled .dhxform_select{color:#b2b2b2;background-color:#fff;border:1px solid #c2d0dd;}.dhxform_obj_dhx_skyblue.dhxform_rtl select,.dhxform_obj_dhx_skyblue.dhxform_rtl option{direction:rtl;}.dhxform_obj_dhx_skyblue div.fs_dhxform_item_label_left,.dhxform_obj_dhx_skyblue div.fs_dhxform_item_label_right{padding:5px 0 5px 0;}.dhxform_obj_dhx_skyblue div.fs_dhxform_item_label_left fieldset.dhxform_fs div.dhxform_base_nested.dhxform_fs_nested,.dhxform_obj_dhx_skyblue div.fs_dhxform_item_label_right fieldset.dhxform_fs div.dhxform_base_nested.dhxform_fs_nested{margin-right:19px;margin-left:5px;}.dhxform_obj_dhx_skyblue fieldset.dhxform_fs{border:1px solid #a4bed4;margin:0;padding:5px 0 12px 0;clear:left;width:100%;}.dhxform_obj_dhx_skyblue div.disabled fieldset.dhxform_fs{border:1px solid #c2d0dd;}.dhxform_obj_dhx_skyblue fieldset.dhxform_fs legend.fs_legend{font-family:Tahoma,Helvetica;font-size:inherit;color:#7099bb;font-weight:normal;padding:0 4px 1px 4px;margin-left:5px;text-align:left;}.dhxform_obj_dhx_skyblue.dhxform_rtl fieldset.dhxform_fs legend.fs_legend{text-align:right;}.dhxform_obj_dhx_skyblue div.disabled fieldset.dhxform_fs legend.fs_legend{color:#b2b2b2;}.dhxform_obj_dhx_skyblue div.dhxform_item_label_right{clear:both;padding-top:6px;cursor:default;*display:inline-block;}.dhxform_obj_dhx_skyblue div.dhxform_item_label_right div.dhxform_img,.dhxform_obj_dhx_skyblue div.dhxform_item_label_right div.dhxform_actv_c,.dhxform_obj_dhx_skyblue div.dhxform_item_label_right div.dhxform_actv_r{float:left;margin:0;}.dhxform_obj_dhx_skyblue.dhxform_rtl div.dhxform_item_label_right div.dhxform_img{float:right;margin:0;}.dhxform_obj_dhx_skyblue div.dhxform_item_label_right div.dhxform_label{float:left;padding:2px 0 2px 0;margin:2px 0 2px 0;}.dhxform_obj_dhx_skyblue.dhxform_rtl div.dhxform_item_label_right div.dhxform_label{float:right;}.dhxform_obj_dhx_skyblue div.dhxform_item_label_right div.dhxform_control{float:left;margin-right:3px;margin-left:0;*display:inline;}.dhxform_obj_dhx_skyblue.dhxform_rtl div.dhxform_item_label_right div.dhxform_control{float:right;margin-right:0;margin-left:3px;*display:inline;}.dhxform_obj_dhx_skyblue div.dhxform_item_label_left{clear:both;padding-top:6px;cursor:default;*display:inline-block;}.dhxform_obj_dhx_skyblue div.dhxform_item_label_left div.dhxform_img,.dhxform_obj_dhx_skyblue div.dhxform_item_label_left div.dhxform_actv_c,.dhxform_obj_dhx_skyblue div.dhxform_item_label_left div.dhxform_actv_r{float:right;}.dhxform_obj_dhx_skyblue.dhxform_rtl div.dhxform_item_label_left div.dhxform_img{float:left;}.dhxform_obj_dhx_skyblue div.dhxform_item_label_left div.dhxform_label{float:left;padding:2px 0 2px 0;margin:2px 0 2px 0;}.dhxform_obj_dhx_skyblue.dhxform_rtl div.dhxform_item_label_left div.dhxform_label{float:right;}.dhxform_obj_dhx_skyblue div.dhxform_item_label_left div.dhxform_control{float:left;padding-left:4px;padding-right:0;}.dhxform_obj_dhx_skyblue.dhxform_rtl div.dhxform_item_label_left div.dhxform_control{float:right;padding-right:4px;padding-left:0;}.dhxform_obj_dhx_skyblue div.dhxform_item_label_top{clear:both;}.dhxform_obj_dhx_skyblue div.dhxform_item_label_top div.dhxform_label{float:none;margin-bottom:5px;margin-top:8px;}.dhxform_obj_dhx_skyblue div.dhxform_item_label_top div.dhxform_control{float:none;margin-left:0;margin-bottom:5px;}.dhxform_obj_dhx_skyblue.dhxform_rtl div.dhxform_item_label_top div.dhxform_control{float:none;margin-right:0;}.dhxform_obj_dhx_skyblue div.dhxform_item_absolute{position:absolute;left:0;top:0;cursor:default;}.dhxform_obj_dhx_skyblue div.item_absolute div.dhxform_img,.dhxform_obj_dhx_skyblue div.item_absolute div.dhxform_actv_c,.dhxform_obj_dhx_skyblue div.item_absolute div.dhxform_actv_r{position:absolute;}.dhxform_obj_dhx_skyblue div.dhxform_item_absolute div.dhxform_control,.dhxform_obj_dhx_skyblue div.dhxform_item_absolute div.dhxform_label,.dhxform_obj_dhx_skyblue div.dhxform_item_absolute div.dhxform_control.dhxform_img_node,.dhxform_obj_dhx_skyblue div.dhxform_item_absolute div.dhxform_txt_label2,.dhxform_obj_dhx_skyblue div.dhxform_item_absolute div.dhxform_btn,.dhxform_obj_dhx_skyblue div.block_item_absolute div.dhxform_block{position:absolute;}.dhxform_obj_dhx_skyblue div.dhxform_txt_label2{font-family:Tahoma,Helvetica;font-size:inherit;color:#7099bb;font-weight:bold;margin:0 3px;padding:5px 0;cursor:default;}.dhxform_obj_dhx_skyblue div.disabled div.dhxform_txt_label2{color:#b2b8bc;}.dhxform_obj_dhx_skyblue div.dhxform_btn{font-family:Tahoma,Helvetica;font-size:inherit;color:black;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;border:1px solid #a4bed4;background-color:#e2efff;background:linear-gradient(#e2efff,#d3e7ff);background:-webkit-linear-gradient(#e2efff,#d3e7ff);filter:progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e2efff,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100);margin:5px 2px;border-radius:2px;float:left;cursor:default;clear:both;position:relative;overflow:hidden;-webkit-tap-highlight-color:rgba(0,0,0,0);}.dhxform_obj_dhx_skyblue.dhxform_rtl div.dhxform_btn{float:right;}.dhxform_obj_dhx_skyblue div.dhxform_btn.dhxform_btn_over{background-color:#f1f7ff;background:linear-gradient(#f1f7ff,#e2efff);background:-webkit-linear-gradient(#f1f7ff,#e2efff);filter:progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#f1f7ff,endColorStr=#e2efff) progid:DXImageTransform.Microsoft.Alpha(opacity=100);}.dhxform_obj_dhx_skyblue div.dhxform_btn.dhxform_btn_pressed{background-color:#d2e7fe;background:linear-gradient(#d2e7fe,#d3e7ff);background:-webkit-linear-gradient(#d2e7fe,#d3e7ff);filter:progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#d2e7fe,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100);box-shadow:0 0 5px rgba(127,127,127,0.15) inset;}.dhxform_obj_dhx_skyblue div.disabled div.dhxform_btn{border-color:#ccc;background-color:#f9f9f9;background:linear-gradient(#f9f9f9,#f1f1f1);background:-webkit-linear-gradient(#f9f9f9,#f1f1f1);filter:progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#f9f9f9,endColorStr=#f1f1f1) progid:DXImageTransform.Microsoft.Alpha(opacity=100);box-shadow:0 0 5px rgba(127,127,127,0.15) inset;}.dhxform_obj_dhx_skyblue div.dhxform_btn div.dhxform_btn_txt{float:left;margin:0 20px;height:24px;line-height:23px;text-align:center;vertical-align:middle;overflow:hidden;white-space:nowrap;*display:inline;opacity:1;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=100);}.dhxform_obj_dhx_skyblue div.dhxform_btn div.dhxform_btn_txt.dhxform_btn_txt_autowidth{width:100%;margin:0;}.dhxform_obj_dhx_skyblue div.disabled div.dhxform_btn div.dhxform_btn_txt{color:#999!important;}.dhxform_obj_dhx_skyblue div.dhxform_btn:focus{outline:1px dotted #909090;}.dhxform_obj_dhx_skyblue div.dhxform_btn div.dhxform_btn_filler{position:absolute;display:inline-block;width:100%;height:100px;left:0;top:0;background-color:white;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}.dhxform_obj_dhx_skyblue div.dhxform_control div.dhxform_note{font-family:Tahoma,Helvetica;font-size:.8em;color:#808080;padding-bottom:3px;white-space:normal;}.dhxform_obj_dhx_skyblue div.disabled div.dhxform_control div.dhxform_note{color:#b2b2b2;}.dhxform_obj_dhx_skyblue div.dhxform_label span.dhxform_info{font-family:Tahoma,Helvetica;font-size:.6em;color:#808080;margin-left:3px;padding-bottom:2px;line-height:100%;vertical-align:middle;cursor:pointer;}.dhxform_obj_dhx_skyblue .validate_error .dhxform_label,.dhxform_obj_dhx_skyblue .validate_error .dhxform_textarea,.dhxform_obj_dhx_skyblue .validate_error .dhxform_select,.dhxform_obj_dhx_skyblue .validate_error div.dhxform_label_nav_link,.dhxform_obj_dhx_skyblue .validate_error div.dhxform_label div.dhxform_label_nav_link:focus{color:red;}.dhxform_obj_dhx_skyblue div.disabled .dhx_combo_box.dhx_skyblue{border:1px solid #c2d0dd;}.dhxform_obj_dhx_skyblue div.disabled .dhx_combo_box.dhx_skyblue .dhx_combo_input{color:#b2b2b2;background-color:#fff;}.dhxform_obj_dhx_skyblue div.dhxform_item_template.dhxeditor_dhx_skyblue div.dhx_cell_editor div.dhx_cell_stb{border-left:1px solid #a4bed4;border-right:1px solid #a4bed4;border-top:1px solid #a4bed4;}.dhxform_obj_dhx_skyblue div.dhxform_item_template.dhxeditor_dhx_skyblue div.dhx_cell_editor div.dhx_cell_cont_editor{border-left:1px solid #a4bed4;border-right:1px solid #a4bed4;border-bottom:1px solid #a4bed4;}.dhxform_obj_dhx_skyblue div.dhxform_item_template.dhxeditor_dhx_skyblue div.dhxcont_content_blocker{display:none;}.dhxform_obj_dhx_skyblue div.disabled div.dhxform_item_template.dhxeditor_dhx_skyblue div.dhxcont_content_blocker{display:inline;position:absolute;width:100%;height:100%;top:0;left:0;background-color:#fefefe;opacity:.7;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=70);}.dhxform_obj_dhx_skyblue .dhx_file_uploader{position:relative;width:100%;margin-bottom:4px;}.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls{position:relative;width:100%;height:35px;font-size:2px;overflow:hidden;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button{position:absolute;width:19px;height:19px;top:8px;background-image:url("imgs/dhxform_skyblue/dhxform_upload_buttons.gif");background-repeat:no-repeat;font-size:2px;cursor:pointer;overflow:hidden;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=100);z-index:1;-webkit-tap-highlight-color:rgba(0,0,0,0);}.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_info{display:none;}.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_browse{background-position:0 0;right:108px;}.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_upload{background-position:-19px 0;right:79px;}.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_cancel{background-position:-57px 0;right:79px;}.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_clear{background-position:-38px 0;right:50px;}.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls .dhx_uploader_input{position:absolute;left:-1000px;top:0;visibility:hidden;}.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls div.dhx_file_form_cont{position:absolute;width:19px;height:19px;left:0;top:0;cursor:pointer;overflow:hidden;}.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls div.dhx_file_form_cont form.dhx_file_form{position:absolute;top:0;right:0;cursor:pointer;}.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls div.dhx_file_form_cont form.dhx_file_form .dhx_file_input{opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);cursor:pointer;outline:none;height:19px;}.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files{position:relative;width:100%;left:0;top:0;overflow:auto;}.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files div.dhx_file{position:relative;width:100%;height:25px;overflow:hidden;}.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_added,.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_uploading{color:black;}.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_uploaded{color:#30678a;}.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_fail{color:#e94a4a;}.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files div.dhx_file_param{position:absolute;font-family:inherit;font-size:inherit;color:inherit;top:0;height:25px;line-height:25px;vertical-align:middle;overflow:hidden;}.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_name{left:20px;}.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_progress{right:50px;width:38px;text-align:right;}.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_delete{right:30px;width:11px;background-image:url("imgs/dhxform_skyblue/dhxform_upload_buttons.gif");background-position:-76px 0;background-repeat:no-repeat;cursor:pointer;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_uploading{right:50px;width:38px;text-align:right;background-image:url("imgs/dhxform_skyblue/dhxform_upload_uploading.gif");background-position:center center;background-repeat:no-repeat;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxform_obj_dhx_skyblue .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls{height:60px;}.dhxform_obj_dhx_skyblue .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_files{display:none;}.dhxform_obj_dhx_skyblue .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_info{display:inline;background-image:none;font-family:Tahoma,Helvetica;font-size:13px;color:#a1a1a1;height:auto;top:0;left:35px;vertical-align:top;padding-top:6px;line-height:20px;cursor:default;filter:none;}.dhxform_obj_dhx_skyblue .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_browse{top:0;width:54px;height:54px;right:35px;background-image:url("imgs/dhxform_skyblue/dhxform_upload_buttons.gif");background-position:0 -38px;background-repeat:no-repeat;}.dhxform_obj_dhx_skyblue .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_upload,.dhxform_obj_dhx_skyblue .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_cancel,.dhxform_obj_dhx_skyblue .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_clear{display:none;}.dhxform_obj_dhx_skyblue .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_form_cont{width:54px;height:54px;}.dhxform_obj_dhx_skyblue .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_form_cont form.dhx_file_form .dhx_file_input{height:54px;}.dhxform_obj_dhx_skyblue .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_info,.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_added,.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_uploading,.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_uploaded,.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_fail{color:#b2b2b2;}.dhxform_obj_dhx_skyblue .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_browse{background-position:-54px -38px;cursor:default;}.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_form_cont{display:none;}.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button{cursor:default;}.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_browse{background-position:0 -19px;}.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_upload{background-position:-19px -19px;}.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_cancel{background-position:-57px -19px;}.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_clear{background-position:-38px -19px;}.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file_param.dhx_file_delete{background-position:-87px 0;cursor:default;}.dhxform_obj_dhx_skyblue div.dhxform_image{position:relative;overflow:hidden;border:1px solid #a4bed4;}.dhxform_obj_dhx_skyblue div.dhxform_image img.dhxform_image_img{position:absolute;}.dhxform_obj_dhx_skyblue div.dhxform_image div.dhxform_image_wrap{position:absolute;background-color:white;left:0;top:0;width:100%;height:100%;overflow:hidden;*border:1px solid white;*height:1000px;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);-webkit-transition:opacity .6s;-moz-transition:opacity .6s;-ms-transition:opacity .6s;-o-transition:opacity .6s;transition:opacity .6s;}.dhxform_obj_dhx_skyblue div.dhxform_image div.dhxform_image_wrap.dhxform_image_in_progress{background-image:url("imgs/dhxform_skyblue/dhxform_image_uploading.gif");background-position:center center;background-repeat:no-repeat;*border-width:0;*height:100%;opacity:.85;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=85);-webkit-transition:opacity .1s;-moz-transition:opacity .1s;-ms-transition:opacity .1s;-o-transition:opacity .1s;transition:opacity .1s;}.dhxform_obj_dhx_skyblue div.dhxform_image div.dhxform_image_wrap.dhxform_image_in_progress form.dhxform_image_form{display:none;}.dhxform_obj_dhx_skyblue div.dhxform_image div.dhxform_image_wrap form.dhxform_image_form{position:absolute;top:0;right:0;cursor:pointer;}.dhxform_obj_dhx_skyblue div.dhxform_image div.dhxform_image_wrap form.dhxform_image_form input.dhxform_image_input{cursor:pointer;outline:none;height:1000px;font-size:100px;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}.dhxform_obj_dhx_skyblue div.disabled div.dhxform_image{border-color:#c2d0dd;}.dhxform_obj_dhx_skyblue div.disabled div.dhxform_image img.dhxform_image_img{opacity:.5;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);}.dhxform_obj_dhx_skyblue div.disabled div.dhxform_image div.dhxform_image_wrap{cursor:default;}.dhxform_obj_dhx_skyblue div.disabled div.dhxform_image form.dhxform_image_form{display:none;}.dhtmlx_skin_dhx_skyblue div.dhtmlx_wins_body_inner .dhxform_obj_dhx_skyblue{background-color:white;}.dhxform_obj_dhx_skyblue div.dhxform_control .dhx_combo_box.dhx_skyblue .dhx_combo_input,.dhx_combo_list.dhx_skyblue_list div{font-size:1em!important;}div.dhx_form_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:10px;height:10px;overflow:hidden;}.dhxacc_base_dhx_skyblue{background-color:#ebebeb;position:relative;cursor:default;}.dhxacc_base_dhx_skyblue .dhxacc_cont{position:absolute;overflow:hidden;}.dhxacc_base_dhx_skyblue .dhxacc_cont div.dhx_cell_acc{position:relative;background-color:#fff;margin:0;padding:0;overflow:hidden;cursor:default;box-shadow:0 0 3px #e0e0e0;}.dhxacc_base_dhx_skyblue .dhxacc_cont div.dhx_cell_acc div.dhx_cell_cont_acc{position:absolute;border-left:1px solid #a4bed4;border-right:1px solid #a4bed4;border-bottom:1px solid #a4bed4;border-top:0 solid white;overflow:hidden;z-index:0;}.dhxacc_base_dhx_skyblue .dhxacc_cont div.dhx_cell_acc div.dhx_cell_cont_acc.dhx_cell_cont_no_borders{border-width:0;}.dhxacc_base_dhx_skyblue .dhxacc_cont div.dhx_cell_acc div.dhx_cell_cover{position:absolute;left:0;top:0;width:100%;height:100%;margin:0;padding:0;font-size:1px;background-color:white;overflow:hidden;z-index:1;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxacc_base_dhx_skyblue .dhxacc_cont div.dhx_cell_acc div.dhx_cell_hdr{position:relative;height:27px;line-height:26px;overflow:hidden;font-family:Tahoma,Helvetica;font-size:11px;color:#34404b;font-weight:bold;border:1px solid #a4bed4;background-color:#e2efff;background:linear-gradient(#e2efff,#d3e7ff);background:-webkit-linear-gradient(#e2efff,#d3e7ff);filter:progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e2efff,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100);cursor:default;z-index:3;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxacc_base_dhx_skyblue .dhxacc_cont div.dhx_cell_acc div.dhx_cell_hdr.dhx_cell_hdr_hidden{border-width:1px 0 0 0;height:0;line-height:0;overflow:hidden;}.dhxacc_base_dhx_skyblue .dhxacc_cont div.dhx_cell_acc div.dhx_cell_hdr div.dhx_cell_hdr_text{position:relative;margin:0 26px 0 5px;overflow:hidden;white-space:nowrap;cursor:default;}.dhxacc_base_dhx_skyblue .dhxacc_cont div.dhx_cell_acc div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_icon{margin-left:24px!important;}.dhxacc_base_dhx_skyblue .dhxacc_cont div.dhx_cell_acc div.dhx_cell_hdr img.dhx_cell_hdr_icon{position:absolute;top:5px;left:4px;width:16px;height:16px;}.dhxacc_base_dhx_skyblue .dhxacc_cont div.dhx_cell_acc div.dhx_cell_hdr i{position:absolute;top:5px;left:4px;width:16px;height:16px;line-height:16px;text-align:center;cursor:default;font-size:1.2em;color:inherit;}.dhxacc_base_dhx_skyblue .dhxacc_cont div.dhx_cell_acc div.dhx_cell_hdr div.dhx_cell_hdr_arrow{position:absolute;top:6px;right:4px;width:16px;height:16px;background-image:url("imgs/dhxacc_skyblue/dhxacc_btns.gif");background-repeat:no-repeat;background-position:0 0;overflow:hidden;cursor:pointer;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxacc_base_dhx_skyblue .dhxacc_cont div.dhx_cell_acc.dhx_cell_closed div.dhx_cell_hdr div.dhx_cell_hdr_arrow{background-position:-16px 0;}.dhxacc_base_dhx_skyblue .dhxacc_cont div.dhx_cell_acc.acc_cell_dragged{box-shadow:0 0 5px #829cb2;z-index:5!important;}.dhxacc_base_dhx_skyblue .dhxacc_cont div.dhx_cell_acc div.dhx_cell_menu_def{position:relative;overflow:hidden;border-width:0 1px 1px 1px;border-color:#a4bed4;border-style:solid;}.dhxacc_base_dhx_skyblue .dhxacc_cont div.dhx_cell_acc div.dhx_cell_menu_def div.dhtmlxMenu_dhx_skyblue_Middle{padding:0 2px;}.dhxacc_base_dhx_skyblue .dhxacc_cont div.dhx_cell_acc div.dhx_cell_menu_no_borders{position:relative;overflow:hidden;}.dhxacc_base_dhx_skyblue .dhxacc_cont div.dhx_cell_acc div.dhx_cell_menu_no_borders div.dhtmlxMenu_dhx_skyblue_Middle{padding:0 2px;}.dhxacc_base_dhx_skyblue .dhxacc_cont div.dhx_cell_acc div.dhx_cell_toolbar_def{position:relative;overflow:hidden;}.dhxacc_base_dhx_skyblue .dhxacc_cont div.dhx_cell_acc div.dhx_cell_toolbar_def div.dhx_toolbar_dhx_skyblue{border-top-width:0;}.dhxacc_base_dhx_skyblue .dhxacc_cont div.dhx_cell_acc div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_dhx_skyblue{margin-top:-1px;width:auto;}.dhxacc_base_dhx_skyblue .dhxacc_cont div.dhx_cell_acc div.dhx_cell_ribbon_def div.dhtmlxribbon_dhx_skyblue.dhxrb_without_tabbar{border-top-width:0;width:auto;}.dhxacc_base_dhx_skyblue .dhxacc_cont div.dhx_cell_acc div.dhx_cell_statusbar_def{position:absolute;bottom:0;width:100%;background-color:#ddecff;font-family:Tahoma,Helvetica;font-size:11px;color:black;}.dhxacc_base_dhx_skyblue .dhxacc_cont div.dhx_cell_acc div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text{position:relative;padding:0 4px;height:21px;line-height:21px;border-bottom:1px solid #a4bed4;border-left:1px solid #a4bed4;border-right:1px solid #a4bed4;white-space:nowrap;overflow:hidden;}.dhxacc_base_dhx_skyblue .dhxacc_cont div.dhx_cell_acc div.dhx_cell_progress_bar{position:absolute;left:0;top:0;width:100%;height:100%;background-color:white;z-index:5;opacity:.75;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=75);}.dhxacc_base_dhx_skyblue .dhxacc_cont div.dhx_cell_acc div.dhx_cell_progress_img{position:absolute;left:0;top:0;border:1px solid #a4bed4;background-position:center 55%;background-image:url('imgs/dhxacc_skyblue/dhxacc_cell_progress.gif');background-repeat:no-repeat;cursor:progress;z-index:6;}.dhxacc_base_dhx_skyblue div.dhxcelltop_progress{position:absolute;left:0;top:0;width:100%;height:100%;background-color:white;z-index:3;opacity:.55;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=55);}.dhxacc_base_dhx_skyblue div.dhxcelltop_progress_img{position:absolute;left:0;top:0;width:100%;height:100%;background-image:url('imgs/dhxacc_skyblue/dhxacc_cell_progress.gif');background-position:center center;background-repeat:no-repeat;z-index:4;}.dhxacc_base_dhx_skyblue div.dhxcelltop_hdr{position:relative;}.dhxacc_base_dhx_skyblue div.dhxcelltop_ftr{position:absolute;}.dhxacc_base_dhx_skyblue div.dhxcelltop_menu{position:relative;overflow:hidden;}.dhxacc_base_dhx_skyblue div.dhxcelltop_toolbar{position:relative;background-color:#ebebeb;padding-bottom:4px;overflow:hidden;}.dhxacc_base_dhx_skyblue div.dhxcelltop_ribbon{padding-bottom:4px;position:relative;}.dhxacc_base_dhx_skyblue div.dhxcelltop_ribbon div.dhtmlxribbon_dhx_skyblue.dhxrb_without_tabbar{width:auto;}.dhxacc_base_dhx_skyblue div.dhxcelltop_statusbar{position:absolute;bottom:0;width:100%;background-color:#ebebeb;overflow:hidden;}.dhxacc_base_dhx_skyblue div.dhxcelltop_statusbar div.dhxcont_statusbar{position:relative;margin-top:4px;border:1px solid #a4bed4;background-color:#ddecff;padding:7px 6px;font-family:Tahoma,Helvetica;font-size:11px;color:black;}.dhxacc_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:10px;height:10px;overflow:hidden;}.dhxlayout_base_dhx_skyblue{background-color:#ebebeb;position:relative;cursor:default;}.dhxlayout_base_dhx_skyblue .dhxlayout_cont{position:absolute;overflow:hidden;}.dhxlayout_base_dhx_skyblue .dhxlayout_cont div.dhx_cell_layout{position:absolute;background-color:#fff;margin:0;padding:0;overflow:hidden;cursor:default;z-index:0;}.dhxlayout_base_dhx_skyblue .dhxlayout_cont div.dhx_cell_layout div.dhx_cell_cover{position:absolute;left:0;top:0;width:100%;height:100%;margin:0;padding:0;font-size:1px;background-color:white;overflow:hidden;z-index:1;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxlayout_base_dhx_skyblue .dhxlayout_cont div.dhx_cell_layout div.dhx_cell_cont_layout{position:absolute;border-left:1px solid #a4bed4;border-right:1px solid #a4bed4;border-bottom:1px solid #a4bed4;border-top:0 solid #fff;overflow:hidden;z-index:0;}.dhxlayout_base_dhx_skyblue .dhxlayout_cont div.dhx_cell_layout div.dhx_cell_cont_layout.dhx_cell_cont_no_borders{border-width:0;}.dhxlayout_base_dhx_skyblue .dhxlayout_cont div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_cont_layout,.dhxlayout_base_dhx_skyblue .dhxlayout_cont div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_cont_layout{display:none;}.dhxlayout_base_dhx_skyblue .dhxlayout_cont div.dhx_cell_layout div.dhx_cell_hdr{position:relative;height:27px;line-height:26px;overflow:hidden;font-family:Tahoma,Helvetica;font-size:11px;color:#34404b;font-weight:bold;border:1px solid #a4bed4;background-color:#e2efff;background:linear-gradient(#e2efff,#d3e7ff);background:-webkit-linear-gradient(#e2efff,#d3e7ff);filter:progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e2efff,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100);cursor:default;}.dhxlayout_base_dhx_skyblue .dhxlayout_cont div.dhx_cell_layout div.dhx_cell_hdr.dhx_cell_hdr_hidden{height:0;line-height:0;border-bottom-width:0;overflow:hidden;}.dhxlayout_base_dhx_skyblue .dhxlayout_cont div.dhx_cell_layout div.dhx_cell_hdr.dhx_cell_hdr_hidden_no_borders{height:0;line-height:0;border-width:0;overflow:hidden;}.dhxlayout_base_dhx_skyblue .dhxlayout_cont div.dhx_cell_layout div.dhx_cell_hdr div.dhx_cell_hdr_text{position:relative;margin:0 26px 0 5px;overflow:hidden;white-space:nowrap;cursor:default;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=100);}.dhxlayout_base_dhx_skyblue .dhxlayout_cont div.dhx_cell_layout div.dhx_cell_hdr div.dhxlayout_arrow{position:absolute;right:4px;top:6px;width:16px;height:16px;background-image:url('imgs/dhxlayout_skyblue/dhxlayout_cell_btns.gif');background-repeat:no-repeat;cursor:pointer;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=100);}.dhxlayout_base_dhx_skyblue .dhxlayout_cont div.dhx_cell_layout div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_va{background-position:-16px 0;}.dhxlayout_base_dhx_skyblue .dhxlayout_cont div.dhx_cell_layout div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_vb{background-position:-48px 0;}.dhxlayout_base_dhx_skyblue .dhxlayout_cont div.dhx_cell_layout div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_ha{background-position:-32px 0;}.dhxlayout_base_dhx_skyblue .dhxlayout_cont div.dhx_cell_layout div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_hb{background-position:0 0;}.dhxlayout_base_dhx_skyblue .dhxlayout_cont div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_hdr{height:18px;line-height:17px;color:#3a4854;font-weight:normal;}.dhxlayout_base_dhx_skyblue .dhxlayout_cont div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_ha{background-position:0 -5px;}.dhxlayout_base_dhx_skyblue .dhxlayout_cont div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_hb{background-position:-32px -4px;}.dhxlayout_base_dhx_skyblue .dhxlayout_cont div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr{width:18px;background:-moz-linear-gradient(left,#e2efff,#d3e7ff);background:-webkit-linear-gradient(left,#e2efff,#d3e7ff);background:-o-linear-gradient(left,#e2efff,#d3e7ff);background:-ms-linear-gradient(left,#e2efff,#d3e7ff);filter:progid:DXImageTransform.Microsoft.Gradient(gradientType=1,startColorStr=#e2efff,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100);}.dhxlayout_base_dhx_skyblue .dhxlayout_cont div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text{position:absolute;left:3px;bottom:0;transform:rotate(270deg);-ms-transform:rotate(270deg);transform-origin:left center;color:#3a4854;font-weight:normal;text-overflow:ellipsis;}.dhxlayout_base_dhx_skyblue .dhxlayout_cont div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie6{left:-5px;line-height:17px;padding-bottom:10px;}.dhxlayout_base_dhx_skyblue .dhxlayout_cont div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie6 span{float:left;filter:progid:DXImageTransform.Microsoft.Matrix(M11='6.123031769111886e-17', M12='1', M21='-1', M22='6.123031769111886e-17', sizingMethod='auto expand');}.dhxlayout_base_dhx_skyblue .dhxlayout_cont div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie7{left:-5px;line-height:17px;padding-bottom:10px;}.dhxlayout_base_dhx_skyblue .dhxlayout_cont div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie7 span{float:left;filter:progid:DXImageTransform.Microsoft.Matrix(M11='6.123031769111886e-17', M12='1', M21='-1', M22='6.123031769111886e-17', sizingMethod='auto expand');}.dhxlayout_base_dhx_skyblue .dhxlayout_cont div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie8{left:-5px;line-height:17px;}.dhxlayout_base_dhx_skyblue .dhxlayout_cont div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie8 span{float:left;filter:progid:DXImageTransform.Microsoft.Matrix(M11='6.123031769111886e-17', M12='1', M21='-1', M22='6.123031769111886e-17', sizingMethod='auto expand');margin-bottom:95%;padding-right:8px;}.dhxlayout_base_dhx_skyblue .dhxlayout_cont div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie9{left:0;line-height:17px;}.dhxlayout_base_dhx_skyblue .dhxlayout_cont div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie9 span{float:left;filter:none;margin-bottom:95%;padding-right:8px;}.dhxlayout_base_dhx_skyblue .dhxlayout_cont div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_chrome{left:5px;-webkit-transform:rotate(270deg);-webkit-transform-origin:left center;}.dhxlayout_base_dhx_skyblue .dhxlayout_cont div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_va{background-position:-45px 0;}.dhxlayout_base_dhx_skyblue .dhxlayout_cont div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_vb{background-position:-13px 0;}.dhxlayout_base_dhx_skyblue .dhxlayout_cont div.dhxlayout_sep{position:absolute;background-color:#ebebeb;font-size:1px;margin:0;padding:0;overflow:hidden;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;background-repeat:no-repeat;background-position:center center;-webkit-tap-highlight-color:rgba(0,0,0,0);-ms-touch-action:none;touch-action:none;}.dhxlayout_base_dhx_skyblue .dhxlayout_cont div.dhxlayout_sep.dhxlayout_sep_resize_v{cursor:w-resize;background-image:url('imgs/dhxlayout_skyblue/dhxlayout_sep_v.gif');}.dhxlayout_base_dhx_skyblue .dhxlayout_cont div.dhxlayout_sep.dhxlayout_sep_resize_h{cursor:n-resize;background-image:url('imgs/dhxlayout_skyblue/dhxlayout_sep_h.gif');}.dhxlayout_base_dhx_skyblue .dhxlayout_cont div.dhxlayout_sep.dhxlayout_sep_resize_actv{background-color:#dedede;}.dhxlayout_base_dhx_skyblue .dhxlayout_cont div.dhxlayout_resize_area{position:absolute;background-color:#a4bed4;opacity:.15;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=15);z-index:1;border:2px dashed black;cursor:inherit;}.dhxlayout_base_dhx_skyblue .dhxlayout_cont div.dhxlayout_resize_sep{position:absolute;background-color:#a4bed4;overflow:hidden;display:block;opacity:.5;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);z-index:2;cursor:inherit;}.dhxlayout_base_dhx_skyblue .dhxlayout_cont div.dhx_cell_menu_def{position:relative;overflow:hidden;border-width:0 1px 1px 1px;border-color:#a4bed4;border-style:solid;}.dhxlayout_base_dhx_skyblue .dhxlayout_cont div.dhx_cell_menu_def div.dhtmlxMenu_dhx_skyblue_Middle{padding:0 2px;}.dhxlayout_base_dhx_skyblue .dhxlayout_cont div.dhx_cell_menu_no_borders{position:relative;overflow:hidden;}.dhxlayout_base_dhx_skyblue .dhxlayout_cont div.dhx_cell_menu_no_borders div.dhtmlxMenu_dhx_skyblue_Middle{padding:0 2px;}.dhxlayout_base_dhx_skyblue .dhxlayout_cont div.dhx_cell_toolbar_def{position:relative;overflow:hidden;}.dhxlayout_base_dhx_skyblue .dhxlayout_cont div.dhx_cell_toolbar_def div.dhx_toolbar_dhx_skyblue{border-top-width:0;}.dhxlayout_base_dhx_skyblue .dhxlayout_cont div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_dhx_skyblue{margin-top:-1px;width:auto;}.dhxlayout_base_dhx_skyblue .dhxlayout_cont div.dhx_cell_ribbon_def div.dhtmlxribbon_dhx_skyblue.dhxrb_without_tabbar{border-top-width:0;width:auto;}.dhxlayout_base_dhx_skyblue .dhxlayout_cont div.dhx_cell_statusbar_def{position:absolute;bottom:0;width:100%;background-color:#ddecff;font-family:Tahoma,Helvetica;font-size:11px;color:black;}.dhxlayout_base_dhx_skyblue .dhxlayout_cont div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text{position:relative;padding:0 4px;height:21px;line-height:21px;border-bottom:1px solid #a4bed4;border-left:1px solid #a4bed4;border-right:1px solid #a4bed4;white-space:nowrap;overflow:hidden;}.dhxlayout_base_dhx_skyblue .dhxlayout_cont div.dhx_cell_progress_bar{position:absolute;left:0;top:0;width:100%;height:100%;background-color:white;z-index:5;opacity:.75;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=75);}.dhxlayout_base_dhx_skyblue .dhxlayout_cont div.dhx_cell_progress_img{position:absolute;left:0;top:0;border:1px solid #a4bed4;background-position:center 55%;background-image:url('imgs/dhxlayout_skyblue/dhxlayout_cell_progress.gif');background-repeat:no-repeat;cursor:progress;z-index:6;}.dhxlayout_base_dhx_skyblue .dhxlayout_cont div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_statusbar_def,.dhxlayout_base_dhx_skyblue .dhxlayout_cont div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_statusbar_def{display:none;}.dhxlayout_base_dhx_skyblue div.dhxcelltop_progress{position:absolute;left:0;top:0;width:100%;height:100%;background-color:white;z-index:3;opacity:.55;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=55);}.dhxlayout_base_dhx_skyblue div.dhxcelltop_progress_img{position:absolute;left:0;top:0;width:100%;height:100%;background-image:url('imgs/dhxlayout_skyblue/dhxlayout_cell_progress.gif');background-position:center center;background-repeat:no-repeat;z-index:4;}.dhxlayout_base_dhx_skyblue div.dhxcelltop_hdr{position:relative;}.dhxlayout_base_dhx_skyblue div.dhxcelltop_ftr{position:absolute;}.dhxlayout_base_dhx_skyblue div.dhxcelltop_menu{position:relative;overflow:hidden;}.dhxlayout_base_dhx_skyblue div.dhxcelltop_toolbar{position:relative;background-color:#ebebeb;padding-bottom:4px;overflow:hidden;}.dhxlayout_base_dhx_skyblue div.dhxcelltop_ribbon{padding-bottom:4px;position:relative;}.dhxlayout_base_dhx_skyblue div.dhxcelltop_ribbon div.dhtmlxribbon_dhx_skyblue.dhxrb_without_tabbar{width:auto;}.dhxlayout_base_dhx_skyblue div.dhxcelltop_statusbar{position:absolute;bottom:0;width:100%;background-color:#ebebeb;overflow:hidden;}.dhxlayout_base_dhx_skyblue div.dhxcelltop_statusbar div.dhxcont_statusbar{position:relative;margin-top:4px;border:1px solid #a4bed4;background-color:#ddecff;padding:7px 6px;font-family:Tahoma,Helvetica;font-size:11px;color:black;}body.dhxlayout_resize_v *{-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:w-resize!important;}body.dhxlayout_resize_h *{-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:n-resize!important;}div.dhxlayout_sep_sw_dhx_skyblue{position:absolute;left:0;top:-100px;width:5px;height:1px;font-size:1px;margin:0;padding:0;overflow:hidden;}.dhxlayout_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:10px;height:10px;overflow:hidden;}.dhxtabbar_base_dhx_skyblue{background-color:#ebebeb;position:relative;cursor:default;}.dhxtabbar_base_dhx_skyblue .dhxtabbar_cont{position:absolute;*overflow:hidden;}.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs{position:absolute;bottom:auto;height:28px;overflow:hidden;white-space:nowrap;border:1px solid #a4bed4;background-color:#e2efff;background:linear-gradient(#e2efff,#d3e7ff);background:-webkit-linear-gradient(#e2efff,#d3e7ff);filter:progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e2efff,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100);z-index:2;}.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs{top:auto;bottom:0;}.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tabs_base{position:absolute;top:0;height:28px;overflow:hidden;}.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tabs_cont_left,.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tabs_cont_right{position:absolute;width:5000px;height:28px;margin:0 1px;top:0;-webkit-transform:translate3d(0px,0px,0px);-moz-transform:translate3d(0px,0px,0px);-ms-transform:translate3d(0px,0px,0px);-o-transform:translate3d(0px,0px,0px);transform:translate3d(0px,0px,0px);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tabs_cont_left.safari_517_fix,.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tabs_cont_left.safari_517_fix div.dhxtabbar_tab,.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tabs_cont_right.safari_517_fix,.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tabs_cont_right.safari_517_fix div.dhxtabbar_tab{-webkit-transform:none!important;-moz-transform:none!important;-ms-transform:none!important;-o-transform:none!important;transform:none!important;}.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tabs_line{position:absolute;left:0;bottom:0;top:none;width:100%;height:4px;overflow:hidden;z-index:2;border-top:1px solid #a4bed4;border-bottom:0 solid white;background-color:#d3e7ff;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_left{position:absolute;left:0;top:0;width:15px;height:100%;background-color:#fffeff;background:linear-gradient(#fffeff,#d3e7ff);background:-webkit-linear-gradient(#fffeff,#d3e7ff);filter:progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#fffeff,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:pointer;z-index:4;}.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_left.dhxtabbar_tabs_ar_hidden{display:none;}.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_left div.dhxtabbar_arrow_img{position:relative;height:100%;border-right:1px solid #a4bed4;background-image:url("imgs/dhxtabbar_skyblue/dhxtabbar_arrows.gif");background-position:0 11px;background-repeat:no-repeat;}.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_right{position:absolute;right:0;top:0;width:15px;height:100%;background-color:#fffeff;background:linear-gradient(#fffeff,#d3e7ff);background:-webkit-linear-gradient(#fffeff,#d3e7ff);filter:progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#fffeff,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:pointer;z-index:4;}.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_right.dhxtabbar_tabs_ar_hidden{display:none;}.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_right div.dhxtabbar_arrow_img{position:relative;height:100%;border-left:1px solid #a4bed4;background-image:url("imgs/dhxtabbar_skyblue/dhxtabbar_arrows.gif");background-position:-14px 11px;background-repeat:no-repeat;}.dhxtabbar_base_dhx_skyblue div.dhx_cell_tabbar{position:absolute;background-color:white;margin:0;padding:0;overflow:hidden;cursor:default;z-index:0;background-image:none!important;}.dhxtabbar_base_dhx_skyblue div.dhx_cell_tabbar div.dhx_cell_cover{position:absolute;left:0;top:0;width:100%;height:100%;margin:0;padding:0;font-size:1px;background-color:white;overflow:hidden;z-index:1;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxtabbar_base_dhx_skyblue div.dhx_cell_tabbar div.dhx_cell_cont_tabbar{position:absolute;border-left:1px solid #a4bed4;border-right:1px solid #a4bed4;border-bottom:1px solid #a4bed4;border-top:0 solid white;overflow:hidden;z-index:0;-webkit-transform:rotateX(0);}.dhxtabbar_base_dhx_skyblue div.dhx_cell_tabbar div.dhx_cell_cont_tabbar.dhx_cell_cont_no_borders{border:0 solid white!important;}.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tab{position:relative;height:24px;background-color:white;font-family:Tahoma,Helvetica;font-size:11px;color:#34404b;border-left:1px solid #a4bed4;border-right:1px solid #a4bed4;z-index:1;cursor:pointer;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;background-color:#e2efff;background:linear-gradient(#e2efff,#d3e7ff);background:-webkit-linear-gradient(#e2efff,#d3e7ff);filter:progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e2efff,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100);-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0);}.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tabs_cont_left div.dhxtabbar_tab{float:left;margin-left:-1px;margin-right:0;}.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tabs_cont_right div.dhxtabbar_tab{float:right;margin-left:0;margin-right:-1px;}.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_dis{background-color:#ecf5ff;background:linear-gradient(#ecf5ff,#d3e7ff);background:-webkit-linear-gradient(#ecf5ff,#d3e7ff);filter:progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#ecf5ff,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100);}.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv,.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv_dis{z-index:3;}.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_hidden{border:none;}.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tab div.dhxtabbar_tab_text{position:relative;height:23px;line-height:22px;vertical-align:middle;top:0;border-top:1px solid #fff;color:#34404b;text-align:center;overflow:hidden;}.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tab div.dhxtabbar_tab_text.dhxtabbar_tab_text_close{padding-right:9px;}.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv div.dhxtabbar_tab_text,.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv_dis div.dhxtabbar_tab_text{border-left:1px solid #fff;border-right:1px solid #fff;}.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv div.dhxtabbar_tab_text{color:#34404b;font-weight:bold;}.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv_dis div.dhxtabbar_tab_text{font-weight:bold;}.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_dis div.dhxtabbar_tab_text,.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv_dis div.dhxtabbar_tab_text{color:#999;}.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tab div.dhxtabbar_tab_close{position:absolute;top:6px;right:5px;width:11px;height:11px;border:1px solid #b4d3ff;border-radius:2px;background-image:url("imgs/dhxtabbar_skyblue/dhxtabbar_button_close.gif");background-position:0 0;background-repeat:no-repeat;line-height:1px;overflow:hidden;z-index:1;}.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv div.dhxtabbar_tab_close{border:1px solid #a4bed4;background-position:-11px 0;}.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_dis div.dhxtabbar_tab_close,.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv_dis div.dhxtabbar_tab_close{border:1px solid #a4bed4;background-position:-22px 0;}.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs_bottom div.dhx_cell_tabbar div.dhx_cell_cont_tabbar{border-top:1px solid #a4bed4;border-bottom:0 solid white;}.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs_bottom div.dhx_cell_tabbar div.dhx_toolbar_dhx_skyblue{border-bottom-width:0;border-top-width:1px;}.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tab{margin-top:4px;}.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv,.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv_dis{z-index:3;font-weight:bold;}.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tab div.dhxtabbar_tab_text{top:0;border-top:0 solid white;}.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tab div.dhxtabbar_tab_close{top:auto;bottom:5px;}.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tabs_line{top:0;bottom:none;border-bottom:1px solid #a4bed4;border-top:0 solid white;background-color:#e2efff;}.dhxtabbar_base_dhx_skyblue div.dhx_cell_tabbar div.dhx_cell_menu_def{position:relative;overflow:hidden;border-left:1px solid #a4bed4;border-right:1px solid #a4bed4;border-bottom:1px solid #a4bed4;border-top:0 solid white;}.dhxtabbar_base_dhx_skyblue div.dhx_cell_tabbar div.dhx_cell_menu_def div.dhtmlxMenu_dhx_skyblue_Middle{padding:0 2px;}.dhxtabbar_base_dhx_skyblue div.dhx_cell_tabbar div.dhx_cell_menu_no_borders{position:relative;overflow:hidden;}.dhxtabbar_base_dhx_skyblue div.dhx_cell_tabbar div.dhx_cell_menu_no_borders div.dhtmlxMenu_dhx_skyblue_Middle{padding:0 2px;}.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs_bottom div.dhx_cell_tabbar div.dhx_cell_menu_def{border-left:1px solid #a4bed4;border-right:1px solid #a4bed4;border-top:1px solid #a4bed4;border-bottom:0 solid white;}.dhxtabbar_base_dhx_skyblue div.dhx_cell_tabbar div.dhx_toolbar_dhx_skyblue{border-bottom-width:1px;border-top-width:0;}.dhxtabbar_base_dhx_skyblue div.dhx_cell_tabbar div.dhtmlxribbon_dhx_skyblue.dhxrb_without_tabbar{border-top:0 solid white;width:auto;}.dhxtabbar_base_dhx_skyblue div.dhx_cell_tabbar div.dhxrb_with_tabbar.dhxtabbar_base_dhx_skyblue{margin-top:-1px;}.dhxtabbar_base_dhx_skyblue div.dhx_cell_tabbar div.dhx_cell_statusbar_def{position:absolute;bottom:0;width:100%;font-family:Tahoma,Helvetica;font-size:11px;color:black;background-color:#ddecff;}.dhxtabbar_base_dhx_skyblue div.dhx_cell_tabbar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text{position:relative;padding:0 4px;height:21px;line-height:21px;border-top:0 solid white;border-bottom:1px solid #a4bed4;border-left:1px solid #a4bed4;border-right:1px solid #a4bed4;white-space:nowrap;overflow:hidden;}.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs_bottom div.dhx_cell_tabbar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text{border-top:1px solid #a4bed4;border-bottom:0 solid white;}.dhxtabbar_base_dhx_skyblue div.dhx_cell_tabbar div.dhx_cell_progress_bar{position:absolute;left:0;top:0;width:100%;height:100%;background-color:white;opacity:.75;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=75);z-index:1;}.dhxtabbar_base_dhx_skyblue div.dhx_cell_tabbar div.dhx_cell_progress_img{position:absolute;left:0;top:0;width:100%;height:100%;background-image:url("imgs/dhxtabbar_skyblue/dhxtabbar_cell_progress.gif");background-position:center center;background-repeat:no-repeat;z-index:2;}.dhxtabbar_base_dhx_skyblue div.dhxcelltop_progress{position:absolute;left:0;top:0;width:100%;height:100%;background-color:white;z-index:3;opacity:.55;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=55);}.dhxtabbar_base_dhx_skyblue div.dhxcelltop_progress_img{position:absolute;left:0;top:0;width:100%;height:100%;background-image:url('imgs/dhxtabbar_skyblue/dhxtabbar_cell_progress.gif');background-position:center center;background-repeat:no-repeat;z-index:4;}.dhxtabbar_base_dhx_skyblue div.dhxcelltop_hdr{position:relative;}.dhxtabbar_base_dhx_skyblue div.dhxcelltop_ftr{position:absolute;}.dhxtabbar_base_dhx_skyblue div.dhxcelltop_menu{position:relative;overflow:hidden;}.dhxtabbar_base_dhx_skyblue div.dhxcelltop_toolbar{position:relative;background-color:#ebebeb;padding-bottom:4px;overflow:hidden;}.dhxtabbar_base_dhx_skyblue div.dhxcelltop_ribbon{padding-bottom:4px;position:relative;}.dhxtabbar_base_dhx_skyblue div.dhxcelltop_ribbon div.dhtmlxribbon_dhx_skyblue.dhxrb_without_tabbar{width:auto;}.dhxtabbar_base_dhx_skyblue div.dhxcelltop_statusbar{position:absolute;bottom:0;width:100%;background-color:#ebebeb;overflow:hidden;}.dhxtabbar_base_dhx_skyblue div.dhxcelltop_statusbar div.dhxcont_statusbar{position:relative;margin-top:4px;border:1px solid #a4bed4;background-color:#ddecff;padding:7px 6px;font-family:Tahoma,Helvetica;font-size:11px;color:black;}span.dhxtabbar_tabs_text_test_dhx_skyblue{position:absolute;visibility:hidden;right:0;top:0;font-weight:bold;font-family:Tahoma,Helvetica;font-size:11px;color:black;}.dhxtabbar_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:10px;height:10px;overflow:hidden;}.dhxsidebar_base_dhx_skyblue{position:relative;cursor:default;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont{position:absolute;cursor:default;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side{position:absolute;left:0;top:0;background-color:#f5f5f5;border-style:solid;border-color:#a4bed4;border-width:1px 1px 0 1px;overflow:hidden;z-index:5;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items{position:absolute;width:100%;overflow:hidden;-ms-touch-action:none;-webkit-transition:top .2s;-moz-transition:top .2s;-ms-transition:top .2s;-o-transition:top .2s;transition:top .2s;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item{position:relative;padding:0 10px;z-index:1;cursor:default;margin:1px 2px;border:1px solid #f5f5f5;background-color:#f5f5f5;overflow:hidden;opacity:1;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=100);font-family:Tahoma,Helvetica;font-size:11px;color:black;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;-webkit-touch-callout:none;-ms-touch-action:none;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_hidden{height:0!important;margin:0;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item:hover{background-color:#f1f7ff;border-color:#b9cdde;z-index:2;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_selected{z-index:3;border-color:#a4bed4;background-color:#b5deff;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon{position:absolute;left:9px;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text{position:absolute;left:0;top:0;height:inherit;line-height:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_bubble{position:absolute;width:15px;height:15px;line-height:14px;right:5px;top:2px;border-radius:10px;background-color:#f22;border:2px solid #f5f5f5;font-family:Tahoma;font-size:10px;text-align:center;font-weight:bold;color:white;cursor:default;overflow:hidden;z-index:1;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item:hover div.dhxsidebar_bubble{border-color:#f1f7ff;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_selected div.dhxsidebar_bubble{border-color:white;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_sep{position:relative;height:1px;margin:5px 14px;overflow:hidden;background:#ccc;background:-moz-linear-gradient(left,#ebebeb 0,#ccc 50%,#ebebeb 100%);background:-webkit-gradient(linear,left top,right top,color-stop(0%,#ebebeb),color-stop(50%,#ccc),color-stop(100%,#ebebeb));background:-webkit-linear-gradient(left,#ebebeb 0,#ccc 50%,#ebebeb 100%);background:-o-linear-gradient(left,#ebebeb 0,#ccc 50%,#ebebeb 100%);background:-ms-linear-gradient(left,#ebebeb 0,#ccc 50%,#ebebeb 100%);background:linear-gradient(to right,#ebebeb 0,#ccc 50%,#ebebeb 100%);}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_touch div.dhxsidebar_side_items div.dhxsidebar_item:hover{border-color:#f5f5f5;background-color:#f5f5f5;z-index:1;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_touch div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_selected{z-index:3;border-color:#a4bed4;background-color:#b5deff;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_details div.dhxsidebar_side_items div.dhxsidebar_item{height:23px;line-height:23px;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_details div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon{top:3px;width:16px;height:16px;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_details div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text{padding-left:34px;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_details div.dhxsidebar_side_items div.dhxsidebar_sep{margin-top:2px;margin-bottom:2px;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item{height:43px;line-height:43px;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon{top:5px;width:32px;height:32px;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text{padding-left:50px;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_bubble{top:12px;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons div.dhxsidebar_side_items div.dhxsidebar_item{height:43px;line-height:43px;text-align:center;padding-left:4px;padding-right:4px;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon{position:relative;display:inline;left:0;top:5px;width:32px;height:32px;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons div.dhxsidebar_side_items div.dhxsidebar_sep{margin:3px 6px;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons_text div.dhxsidebar_side_items div.dhxsidebar_item{height:62px;line-height:1em;text-align:center;padding-left:4px;padding-right:4px;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons_text div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon{position:relative;display:inline;left:0;top:4px;width:32px;height:32px;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons_text div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text{position:relative;display:block;height:16px;margin-top:10px;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons_text div.dhxsidebar_side_items div.dhxsidebar_sep{margin:3px 6px;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_text div.dhxsidebar_side_items div.dhxsidebar_item{height:23px;line-height:23px;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_text div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text{padding-left:14px;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_text div.dhxsidebar_side_items div.dhxsidebar_sep{margin-top:2px;margin-bottom:2px;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar{position:absolute;background-color:white;margin:0;padding:0;overflow:hidden;cursor:default;z-index:0;background-image:none!important;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_cont_sidebar{position:absolute;border-left:0 solid #a4bed4;border-right:1px solid #a4bed4;border-bottom:1px solid #a4bed4;border-top:1px solid #a4bed4;overflow:hidden;z-index:0;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_cont_sidebar.dhx_cell_cont_no_borders{border-width:0;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr{position:relative;height:27px;line-height:26px;overflow:hidden;font-weight:bold;border-color:#a4bed4;border-style:solid;border-width:1px 1px 0 0;cursor:default;z-index:1;font-family:Tahoma,Helvetica;font-size:11px;color:#34404b;background-color:#e2efff;background:linear-gradient(#e2efff,#d3e7ff);background:-webkit-linear-gradient(#e2efff,#d3e7ff);filter:progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e2efff,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr.dhx_cell_sidebar_hdr_hidden{border-width:0;height:0;line-height:0;overflow:hidden;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr div.dhx_cell_sidebar_hdr_text{position:relative;margin:0 10px;overflow:hidden;white-space:nowrap;cursor:default;text-align:left;height:100%;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr div.dhx_cell_sidebar_hdr_text.dhx_cell_sidebar_hdr_text_icon{margin-left:34px!important;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr div.dhx_cell_sidebar_hdr_icon{position:absolute;top:0;left:10px;width:16px;height:100%;background-image:url("imgs/dhxsidebar_skyblue/dhxsidebar_side_icon.gif");background-position:center center;background-repeat:no-repeat;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_menu_def{position:relative;overflow:hidden;border-width:0 1px 1px 1px;border-color:#a4bed4;border-style:solid;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_menu_def div.dhtmlxMenu_dhx_skyblue_Middle{padding:0 2px;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_menu_no_borders{position:relative;overflow:hidden;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_menu_no_borders div.dhtmlxMenu_dhx_skyblue_Middle{padding:0 2px;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_toolbar_def{position:relative;overflow:hidden;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_toolbar_def div.dhx_toolbar_dhx_skyblue{border-top-width:0;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_dhx_skyblue{margin-top:-1px;width:auto;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhtmlxribbon_dhx_skyblue.dhxrb_without_tabbar{border-top-width:0;width:auto;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_statusbar_def{position:absolute;bottom:0;width:100%;background-color:#ddecff;font-family:Tahoma,Helvetica;font-size:11px;color:black;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text{position:relative;padding:0 4px;height:21px;line-height:21px;border-bottom:1px solid #a4bed4;border-left:1px solid #a4bed4;border-right:1px solid #a4bed4;white-space:nowrap;overflow:hidden;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_progress_bar{position:absolute;left:0;top:0;width:100%;height:100%;background-color:white;z-index:5;opacity:.75;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=75);}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_progress_img{position:absolute;left:0;top:0;border:1px solid #a4bed4;background-position:center 55%;background-image:url('imgs/dhxsidebar_skyblue/dhxsidebar_cell_progress.gif');background-repeat:no-repeat;cursor:progress;z-index:6;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_menu_def{border-width:1px 1px 0 0;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_toolbar_def div.dhx_toolbar_dhx_skyblue{border-width:1px 1px 0 0;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhxrb_with_itembar.dhxtabbar_base_dhx_skyblue{margin-left:-1px;margin-bottom:-1px;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhtmlxribbon_dhx_skyblue.dhxrb_without_tabbar{border-width:1px 1px 0 0;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text{border-left-width:0;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_progress_img{border-left-width:0;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_cont_sidebar,.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr,.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_menu_def,.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_toolbar_def div.dhx_toolbar_dhx_skyblue,.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhtmlxribbon_dhx_skyblue.dhxrb_without_tabbar,.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text{border-left-width:1px;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont.dhxsidebar_autohide{overflow:hidden;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont.dhxsidebar_autohide div.dhxsidebar_side{-webkit-transition:left .2s;-moz-transition:left .2s;-ms-transition:left .2s;-o-transition:left .2s;transition:left .2s;box-shadow:0 2px 8px rgba(127,127,127,0.4);}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont.dhxsidebar_autohide div.dhxsidebar_arrows{-webkit-transition:left .2s;-moz-transition:left .2s;-ms-transition:left .2s;-o-transition:left .2s;transition:left .2s;box-shadow:0 4px 6px rgba(127,127,127,0.4);}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side_cover{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;background-color:#fff;z-index:3;-webkit-transition:opacity .3s;-moz-transition:opacity .3s;-ms-transition:opacity .3s;-o-transition:opacity .3s;transition:opacity .3s;opacity:.0001;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side_cover.dhxsidebar_side_cover_actv{opacity:.6;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=60);}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_arrows{position:absolute;left:0;bottom:0;height:24px;border-color:#a4bed4;border-style:solid;border-width:1px 1px 1px 1px;font-size:1px;overflow:hidden;z-index:6;-webkit-tap-highlight-color:rgba(0,0,0,0);-ms-touch-action:none;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_arrows.dhxsidebar_arrows_hidden{height:0;border-width:0 1px 1px 1px;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow{position:absolute;width:50%;height:100%;top:0;font-size:1px;overflow:hidden;z-index:1;background-color:#e2efff;background:linear-gradient(#e2efff,#d3e7ff);background:-webkit-linear-gradient(#e2efff,#d3e7ff);filter:progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e2efff,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100);}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_left{left:0;border-right:1px solid #a4bed4;z-index:2;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_left div.dhxsidebar_arrow_image{background-image:url("imgs/dhxsidebar_skyblue/dhxsidebar_arrow_up.gif");}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_right{right:0;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_right div.dhxsidebar_arrow_image{background-image:url("imgs/dhxsidebar_skyblue/dhxsidebar_arrow_down.gif");}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow div.dhxsidebar_arrow_image{position:absolute;left:0;top:0;width:100%;height:100%;background-repeat:no-repeat;background-position:center center;font-size:1px;overflow:hidden;}.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow:active{background-color:#d2e7fe;background:linear-gradient(#d2e7fe,#d3e7ff);background:-webkit-linear-gradient(#d2e7fe,#d3e7ff);filter:progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#d2e7fe,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100);box-shadow:0 0 5px rgba(127,127,127,0.15) inset;}.dhxsidebar_base_dhx_skyblue div.dhxcelltop_progress{position:absolute;left:0;top:0;width:100%;height:100%;background-color:white;z-index:3;opacity:.55;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=55);}.dhxsidebar_base_dhx_skyblue div.dhxcelltop_progress_img{position:absolute;left:0;top:0;width:100%;height:100%;background-image:url('imgs/dhxsidebar_skyblue/dhxsidebar_cell_progress.gif');background-position:center center;background-repeat:no-repeat;z-index:4;}.dhxsidebar_base_dhx_skyblue div.dhxcelltop_hdr{position:relative;}.dhxsidebar_base_dhx_skyblue div.dhxcelltop_ftr{position:absolute;}.dhxsidebar_base_dhx_skyblue div.dhxcelltop_menu{position:relative;overflow:hidden;}.dhxsidebar_base_dhx_skyblue div.dhxcelltop_toolbar{position:relative;background-color:#ebebeb;padding-bottom:4px;overflow:hidden;}.dhxsidebar_base_dhx_skyblue div.dhxcelltop_ribbon{padding-bottom:4px;position:relative;}.dhxsidebar_base_dhx_skyblue div.dhxcelltop_ribbon div.dhtmlxribbon_dhx_skyblue.dhxrb_without_tabbar{width:auto;}.dhxsidebar_base_dhx_skyblue div.dhxcelltop_statusbar{position:absolute;bottom:0;width:100%;background-color:#ebebeb;overflow:hidden;}.dhxsidebar_base_dhx_skyblue div.dhxcelltop_statusbar div.dhxcont_statusbar{position:relative;margin-top:4px;border:1px solid #a4bed4;background-color:#ddecff;padding:7px 6px;font-family:Tahoma,Helvetica;font-size:11px;color:black;}.dhxsidebar_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:10px;height:10px;overflow:hidden;}.dhxcarousel_base_dhx_skyblue{background-color:white;position:relative;cursor:default;}.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;}.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area{position:relative;overflow:hidden;}.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area.dhxcarousel_area_flip{perspective:900px;-webkit-perspective:900;}.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel{position:absolute;background-color:#fff;margin:0;padding:0;overflow:hidden;cursor:default;z-index:0;-webkit-transform-style:preserve-3d;}.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_cover{position:absolute;left:0;top:0;width:100%;height:100%;margin:0;padding:0;font-size:1px;background-color:white;overflow:hidden;z-index:1;opacity:.5;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_cont_carousel{position:absolute;border:1px solid #a4bed4;overflow:hidden;z-index:0;}.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_cont_carousel.dhx_cell_cont_no_borders{border-width:0;}.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_menu_def{position:relative;overflow:hidden;border-width:0 1px 1px 1px;border-color:#a4bed4;border-style:solid;}.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_menu_def div.dhtmlxMenu_dhx_skyblue_Middle{padding:0 2px;}.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_menu_no_borders{position:relative;overflow:hidden;}.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_menu_no_borders div.dhtmlxMenu_dhx_skyblue_Middle{padding:0 2px;}.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_toolbar_def{position:relative;overflow:hidden;}.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_toolbar_def div.dhx_toolbar_dhx_skyblue{border-top-width:0;}.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_dhx_skyblue{margin-top:-1px;width:auto;}.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def div.dhtmlxribbon_dhx_skyblue.dhxrb_without_tabbar{border-top-width:0;width:auto;}.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_statusbar_def{position:absolute;bottom:0;width:100%;background-color:#ddecff;font-family:Tahoma,Helvetica;font-size:11px;color:black;}.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text{position:relative;padding:0 4px;height:21px;line-height:21px;border-bottom:1px solid #a4bed4;border-left:1px solid #a4bed4;border-right:1px solid #a4bed4;white-space:nowrap;overflow:hidden;}.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_progress_bar{position:absolute;left:0;top:0;width:100%;height:100%;background-color:white;z-index:5;opacity:.75;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=75);}.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_progress_img{position:absolute;left:0;top:0;border:1px solid #a4bed4;background-position:center 55%;background-image:url('imgs/dhxcarousel_skyblue/dhxcarousel_cell_progress.gif');background-repeat:no-repeat;cursor:progress;z-index:6;}.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_menu_def{border-top-width:1px;border-bottom-width:0;}.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_toolbar_def div.dhx_toolbar_dhx_skyblue{border-top-width:1px;border-bottom-width:0;}.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def div.dhtmlxribbon_dhx_skyblue.dhxrb_without_tabbar{border-top-width:1px;border-bottom-width:0;}.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls{position:absolute;width:100%;height:30px;bottom:0;left:0;z-index:3;overflow:visible;border-top:1px solid #a4bed4;background-color:#e2efff;background:linear-gradient(#e2efff,#d3e7ff);background:-webkit-linear-gradient(#e2efff,#d3e7ff);filter:progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e2efff,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100);-webkit-tap-highlight-color:rgba(0,0,0,0);}.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn{position:absolute;bottom:0;width:38px;height:100%;overflow:hidden;font-family:Arial;font-size:14px;color:#5f8db3;border:0 solid #a4bed4;text-align:center;line-height:29px;z-index:2;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;background-color:#e2efff;background:linear-gradient(#e2efff,#d3e7ff);background:-webkit-linear-gradient(#e2efff,#d3e7ff);filter:progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e2efff,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100);}.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev:hover,.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next:hover{background-color:#f1f7ff;background:linear-gradient(#f1f7ff,#e2efff);background:-webkit-linear-gradient(#f1f7ff,#e2efff);filter:progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#f1f7ff,endColorStr=#e2efff) progid:DXImageTransform.Microsoft.Alpha(opacity=100);}.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev:active,.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next:active{background-color:#d2e7fe;background:linear-gradient(#d2e7fe,#d3e7ff);background:-webkit-linear-gradient(#d2e7fe,#d3e7ff);filter:progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#d2e7fe,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100);box-shadow:0 0 5px rgba(127,127,127,0.15) inset;}.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev,.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis{left:0;border-right-width:1px;}.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next,.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis{right:0;border-left-width:1px;}.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis,.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis{color:#999;background:#f2f2f2;z-index:1;}.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars{position:absolute;top:9px;text-align:center;font-size:1px;line-height:32px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars div.dhx_carousel_onebar{float:left;position:relative;margin:0 2px;width:12px;height:12px;border:1px solid #5f8db3;border-radius:12px;background-color:white;font-size:1px;overflow:hidden;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars div.dhx_carousel_onebar div.dhx_carousel_barcore{display:none;}.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars div.dhx_carousel_onebar.dhx_carousel_baractv div.dhx_carousel_barcore{position:absolute;display:block;font-size:1px;margin:0;padding:0;width:6px;height:6px;top:2px;left:2px;border:1px solid #5f8db3;border-radius:12px;background-color:#5f8db3;overflow:hidden;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxcarousel_base_dhx_skyblue div.dhxcelltop_progress{position:absolute;left:0;top:0;width:100%;height:100%;background-color:white;z-index:3;opacity:.55;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=55);}.dhxcarousel_base_dhx_skyblue div.dhxcelltop_progress_img{position:absolute;left:0;top:0;width:100%;height:100%;background-image:url('imgs/dhxcarousel_skyblue/dhxcarousel_cell_progress.gif');background-position:center center;background-repeat:no-repeat;z-index:4;}.dhxcarousel_base_dhx_skyblue div.dhxcelltop_hdr{position:relative;}.dhxcarousel_base_dhx_skyblue div.dhxcelltop_ftr{position:absolute;}.dhxcarousel_base_dhx_skyblue div.dhxcelltop_menu{position:relative;overflow:hidden;}.dhxcarousel_base_dhx_skyblue div.dhxcelltop_toolbar{position:relative;background-color:#ebebeb;padding-bottom:4px;overflow:hidden;}.dhxcarousel_base_dhx_skyblue div.dhxcelltop_ribbon{padding-bottom:4px;position:relative;}.dhxcarousel_base_dhx_skyblue div.dhxcelltop_ribbon div.dhtmlxribbon_dhx_skyblue.dhxrb_without_tabbar{width:auto;}.dhxcarousel_base_dhx_skyblue div.dhxcelltop_statusbar{position:absolute;bottom:0;width:100%;background-color:#ebebeb;overflow:hidden;}.dhxcarousel_base_dhx_skyblue div.dhxcelltop_statusbar div.dhxcont_statusbar{position:relative;margin-top:4px;border:1px solid #a4bed4;background-color:#ddecff;padding:7px 6px;font-family:Tahoma,Helvetica;font-size:11px;color:black;}div.dhx_popup_dhx_skyblue td.dhx_popup_td div.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls,.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls,.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls{border-bottom:1px solid #a4bed4;}div.dhx_popup_dhx_skyblue td.dhx_popup_td div.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev,div.dhx_popup_dhx_skyblue td.dhx_popup_td div.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis,.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev,.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis,.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev,.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis{border-left-width:1px;}div.dhx_popup_dhx_skyblue td.dhx_popup_td div.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next,div.dhx_popup_dhx_skyblue td.dhx_popup_td div.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis,.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next,.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis,.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next,.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis{border-right-width:1px;}.dhxcarousel_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:10px;height:10px;overflow:hidden;}.dhxwins_vp_dhx_skyblue{overflow:hidden;position:relative;cursor:default;}.dhxwins_vp_dhx_skyblue div.dhxwin_active{position:absolute;overflow:hidden;border:1px solid #a4bed4;box-shadow:0 0 3px #cecece;border-radius:3px;background:white;cursor:inherit;-webkit-tap-highlight-color:rgba(0,0,0,0);}.dhxwins_vp_dhx_skyblue div.dhxwin_inactive{position:absolute;overflow:hidden;border:1px solid #c1d1de;box-shadow:0 0 3px #dedede;border-radius:3px;background:white;cursor:inherit;-webkit-tap-highlight-color:rgba(0,0,0,0);}.dhxwins_vp_dhx_skyblue div.dhxwin_brd{position:absolute;border-left:5px solid #d3e6fe;border-right:5px solid #d3e6fe;border-bottom:5px solid #d3e6fe;border-bottom-left-radius:2px;border-bottom-right-radius:2px;background:white;z-index:0;}.dhxwins_vp_dhx_skyblue div.dhxwin_brd.dhxwin_hdr_hidden{border-top:5px solid #d3e6fe;border-top-left-radius:2px;border-top-right-radius:2px;}.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhxwin_brd{opacity:.8;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=80);}.dhxwins_vp_dhx_skyblue div.dhxwin_fr_cover{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;background-color:white;z-index:1;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}.dhxwins_vp_dhx_skyblue div.dhxwin_fr_cover .dhxwin_fr_cover_inner{position:absolute;left:0;top:0;width:100%;height:100%;background-color:white;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhxwin_fr_cover{display:none;}.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhxwin_fr_cover{z-index:4;opacity:.5;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);}.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhxwin_fr_cover.dhxwin_fr_cover_dnd,.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhxwin_fr_cover.dhxwin_fr_cover_resize{display:block;}.dhxwins_vp_dhx_skyblue iframe.dhxwin_main_fr_cover{position:absolute;background-color:white;border-radius:2px;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}.dhxwins_vp_dhx_skyblue div.dhxwin_hdr{position:relative;height:30px;line-height:30px;margin:0;padding:0;font-weight:bold;border-top:1px solid white;border-left:1px solid white;border-right:1px solid white;border-top-left-radius:2px;border-top-right-radius:2px;background-color:#e5f0fd;background:linear-gradient(#e5f0fd,#d3e6fe);background:-webkit-linear-gradient(#e5f0fd,#d3e6fe);filter:progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e5f0fd,endColorStr=#d3e6fe) progid:DXImageTransform.Microsoft.Alpha(opacity=100);font-family:Tahoma,Helvetica;font-size:11px;color:#34404b;cursor:inherit;overflow:hidden;z-index:3;-ms-touch-action:none;touch-action:none;}.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhxwin_hdr{color:#777;opacity:.8;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=80);filter:progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e5f0fd,endColorStr=#d3e6fe);}.dhxwins_vp_dhx_skyblue div.dhxwin_hdr.dhxwin_hdr_parked{border-bottom:1px solid white;}.dhxwins_vp_dhx_skyblue div.dhxwin_hdr.dhxwin_hdr_hidden{visibility:hidden;}.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_icon{position:absolute;left:7px;top:7px;width:18px;height:18px;cursor:default;overflow:hidden;background-image:url("imgs/dhxwins_skyblue/dhxwins_icon.gif");background-position:center center;background-repeat:no-repeat;cursor:inherit;z-index:2;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhxwin_hdr div.dhxwin_icon{opacity:.6;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=60);}.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_text{position:relative;padding:0;margin:0;overflow:hidden;white-space:nowrap;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:inherit;z-index:1;}.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_text div.dhxwin_text_inside{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;width:100%;}.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_btns{position:absolute;right:7px;top:6px;height:18px;cursor:default;overflow:hidden;cursor:inherit;z-index:2;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhxwin_hdr div.dhxwin_btns{opacity:.5;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);}.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button,.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis{position:relative;float:left;width:15px;height:15px;margin-left:1px;margin-top:2px;border-radius:2px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;background-image:url("imgs/dhxwins_skyblue/dhxwins_buttons.gif");background-repeat:no-repeat;background-position:0 0;}.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button:hover{background-color:white;}.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_close{background-position:-15px 0;}.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_close_dis{background-position:-15px -15px;}.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_minmax{background-position:-30px 0;}.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_minmax_dis{background-position:-30px -15px;}.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_minmaxed{background-position:-45px 0;}.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_minmaxed_dis{background-position:-45px -15px;}.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_park{background-position:-60px 0;}.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_park_dis{background-position:-60px -15px;}.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_stick{background-position:-75px 0;}.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_stick_dis{background-position:-75px -15px;}.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_sticked{background-position:-90px 0;background-color:#a4bed4!important;}.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_sticked_dis{background-position:-90px -15px;background-color:#f0f0f0!important;}.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_help{background-position:-105px 0;}.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_help_dis{background-position:-105px -15px;}.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_dock{background-position:-120px 0;}.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_dock_dis{background-position:-120px -15px;}.dhxwins_vp_dhx_skyblue div.dhxwin_active.dhxwin_dnd_touch,.dhxwins_vp_dhx_skyblue div.dhxwin_active.dhxwin_dnd{box-shadow:0 0 3px #cececf;}.dhxwins_vp_dhx_skyblue div.dhxwin_active.dhxwin_dnd_touch{border-color:#6c94b4;box-shadow:0 0 14px #a4b9cb;-webkit-touch-callout:none;-webkit-user-select:none;}.dhxwins_vp_dhx_skyblue.dhxwins_vp_dnd{cursor:move!important;}.dhxwins_vp_dhx_skyblue div.dhxwin_resize{position:absolute;background-color:#d3e6fe;border-radius:3px;opacity:.5;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);}.dhxwins_vp_dhx_skyblue iframe.dhxwin_resize_fr_cover{position:absolute;background-color:white;border-radius:3px;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}.dhxwins_vp_dhx_skyblue div.dhxwins_mcover{position:absolute;background-color:#e5f0fd;left:0;top:0;width:100%;height:100%;opacity:.53;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=53);}.dhxwins_vp_dhx_skyblue iframe.dhxwins_mcover{position:absolute;background-color:white;left:0;top:0;width:100%;height:100%;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins,.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins{position:absolute;background-color:#fff;margin:0;padding:0;overflow:hidden;cursor:default;visibility:visible;z-index:1;opacity:1;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=100);}.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins.dhxwin_parked,.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins.dhxwin_parked{visibility:hidden;}.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhx_cell_cover,.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_cover{position:absolute;left:0;top:0;width:100%;height:100%;margin:0;padding:0;font-size:1px;background-color:white;overflow:hidden;z-index:1;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhx_cell_cont_wins,.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_cont_wins{position:absolute;border:1px solid #fff;background-color:#fff;overflow:hidden;z-index:0;}.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhx_cell_cont_wins.dhx_cell_cont_no_borders,.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_cont_wins.dhx_cell_cont_no_borders{border:0 solid #fff!important;}.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhx_cell_menu_def,.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_menu_def{position:relative;overflow:hidden;border-bottom:1px solid #d3e6fe;}.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhx_cell_menu_def div.dhtmlxMenu_dhx_skyblue_Middle,.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_menu_def div.dhtmlxMenu_dhx_skyblue_Middle{padding:0 2px;}.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhx_cell_toolbar_def,.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_toolbar_def{position:relative;overflow:hidden;padding:1px 1px 0 1px;}.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhx_cell_toolbar_def div.dhx_toolbar_dhx_skyblue,.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_toolbar_def div.dhx_toolbar_dhx_skyblue{position:relative;border-top-width:1px;}.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhx_cell_toolbar_no_borders div.dhx_toolbar_dhx_skyblue,.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_toolbar_no_borders div.dhx_toolbar_dhx_skyblue{position:relative;border-top-width:1px;}.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhx_cell_ribbon_def,.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_ribbon_def{padding:1px 1px 0 1px;}.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhtmlxribbon_dhx_skyblue.dhxrb_without_tabbar,.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhtmlxribbon_dhx_skyblue.dhxrb_without_tabbar{width:auto;}.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhx_cell_statusbar_def,.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_statusbar_def{position:absolute;bottom:0;width:100%;font-family:Tahoma,Helvetica;font-size:11px;color:black;background-color:#d3e6fe;}.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text,.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text{position:relative;padding:0 4px;height:21px;line-height:21px;white-space:nowrap;overflow:hidden;}.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhx_cell_cont_wins.dhx_cell_statusbar_attached,.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_cont_wins.dhx_cell_statusbar_attached{border-radius:0;}.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhx_cell_progress_bar,.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_progress_bar{position:absolute;left:0;top:0;width:100%;height:100%;background-color:#fff;opacity:.75;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=75);z-index:1;}.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhx_cell_progress_img,.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_progress_img{position:absolute;left:0;top:0;width:100%;height:100%;background-image:url("imgs/dhxwins_skyblue/dhxwins_progress.gif");background-position:center center;background-repeat:no-repeat;z-index:2;}.dhxwins_vp_auto{overflow:auto!important;}.dhxwins_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:10px;height:10px;overflow:hidden;}div.dhxwins_vp_dhx_skyblue.dhxwins_vp_fs{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;}.dhtmlx_message_area{position:fixed;right:5px;width:250px;z-index:1000;padding:0;}.dhtmlx-info{color:#444;border-radius:4px;min-width:120px;background:white;font-size:12px;font-family:Tahoma;z-index:10000;margin:0 5px 5px 5px;border:1px solid #e6d8bc;box-shadow:0 0 5px #ccc;-webkit-transition:all .5s ease;-moz-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease;}.dhtmlx-info div{padding:9px 9px 9px 15px;margin:1px;background-color:#FFF0D2;-webkit-transition:all .5s ease;-moz-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease;}.dhtmlx-info.hidden{box-shadow:none;border:1px solid transparent!important;border-bottom:none;margin-top:0;margin-bottom:0;overflow:hidden;}.dhtmlx-info.hidden div{height:0;border-top:none;border-bottom:none;padding-bottom:0;padding-top:0;overflow:hidden;}.dhtmlx-error{border:1px solid #e64949;color:#fff;}.dhtmlx-error div{padding:9px 9px 9px 18px;margin:1px;background-color:#FF5252;}.dhtmlx_modal_box{overflow:hidden;display:inline-block;min-width:300px;width:300px;text-align:center;position:fixed;background-color:#fff;z-index:20000;-moz-box-shadow:0 0 5px #AAA;-webkit-box-shadow:0 0 0 #AAA;box-shadow:0 0 5px #AAA;border:1px solid #a4bed4;border-radius:5px;}.dhtmlx_popup_title{padding:10px 0;font-size:12px;-webkit-border-top-right-radius:3px;-webkit-border-top-left-radius:3px;border-radius-top-right:3px;line-height:16px;font-family:Tahoma;font-weight:bold;}.dhtmlx-info,.dhtmlx_popup_title,.dhtmlx_popup_button{-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-o-user-select:none;user-select:none;-moz-user-select:-moz-none;cursor:pointer;}.dhtmlx_popup_text{font-size:13px;font-family:Tahoma;color:#444;min-height:30px;padding:20px 10px 10px 10px!important;overflow:hidden;}.dhtmlx_popup_controls{font-family:Tahoma;font-weight:bold;padding:10px 10px 17px 10px!important;}.dhtmlx_popup_button{font-size:12px;font-family:Tahoma;font-weight:normal;min-width:120px;width:120px;height:26px;display:inline-block;margin:0 5px;border-radius:2px;}.dhtmlx_popup_button div{line-height:26px;}div.dhx_modal_cover{background-color:#000;cursor:default;opacity:.2;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=20);position:fixed;z-index:19999;left:0;top:0;width:100%;height:100%;border:none;zoom:1;}.dhtmlx_popup_button{color:#34404b;border:1px solid #a4bed4;background-color:#e7f1ff;background-image:-moz-linear-gradient(center bottom,#e2efff 0,#d3e7ff 12%,#e7f1ff 100%);background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0.00,#e7f1ff),color-stop(0.88,#d3e7ff),color-stop(1.00,#e2efff));background:-o-linear-gradient(top,#e2efff,#d3e7ff 12%,#e7f1ff);background:linear-gradient(top,#e2efff,#d3e7ff 12%,#e7f1ff);background:-ms-linear-gradient(top,#e2efff 0,#d3e7ff 12%,#e7f1ff 100%);}.dhtmlx_popup_button:active,.dhtmlx_popup_button:focus{box-shadow:inset 0 0 2px #aaa;background:#f1f7ff;background:-moz-linear-gradient(top,#d2e7fe 0,#d3e7ff 88%,#e7f1ff 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#d2e7fe),color-stop(88%,#d3e7ff),color-stop(100%,#e7f1ff));background:-o-linear-gradient(top,#d2e7fe 0,#d3e7ff 88%,#e7f1ff 100%);background:-ms-linear-gradient(top,#d2e7fe 0,#d3e7ff 88%,#e7f1ff 100%);background:linear-gradient(top,#d2e7fe 0,#d3e7ff 88%,#e7f1ff 100%);}.dhtmlx_popup_title{box-shadow:inset 0 0 1px 1px #fff;display:block;}.dhtmlx-alert-error .dhtmlx_popup_title,.dhtmlx-confirm-error .dhtmlx_popup_title{color:white;border:1px solid #f17373;background:#f17373;background:-webkit-linear-gradient(top,#ff7c7c,#f17373 88%,#ff7361);background:-moz-linear-gradient(top,#ff7c7c,#f17373 88%,#ff7361);background:-o-linear-gradient(top,#ff7c7c,#f17373 88%,#ff7361);background:linear-gradient(top,#ff7c7c,#f17373 88%,#ff7361);background:-ms-linear-gradient(top,#ff7c7c 0,#f17373 88%,#ffbc75 100%);}.dhtmlx-alert-error.dhtmlx_modal_box,.dhtmlx-confirm-error.dhtmlx_modal_box{border:1px solid #f17373;}.dhtmlx-alert-error .dhtmlx_popup_button,.dhtmlx-confirm-error .dhtmlx_popup_button{border:1px solid #f17373;color:#fff;font-weight:normal;background:linear-gradient(to bottom,#ff8e8e,#f17373);}.dhtmlx-alert-error .dhtmlx_popup_button:active,.dhtmlx-alert-error .dhtmlx_popup_button:focus,.dhtmlx-confirm-error .dhtmlx_popup_button:active,.dhtmlx-confirm-error .dhtmlx_popup_button:focus{background:linear-gradient(to bottom,#ff8e8e,#f17373);}.dhtmlx-alert-warning .dhtmlx_popup_title,.dhtmlx-confirm-warning .dhtmlx_popup_title{color:#000;border:1px solid #d2b07f;background:#ff9f37;background:-webkit-linear-gradient(top,#ffc786,#ff9523 88%,#ffbc75);background:-moz-linear-gradient(top,#ffc786,#ff9523 88%,#ffbc75);background:-o-linear-gradient(top,#ffc786,#ff9523 88%,#ffbc75);background:linear-gradient(top,#ffc786,#ff9523 88%,#ffbc75);background:-ms-linear-gradient(top,#ffc786 0,#ff9523 88%,#ffbc75 100%);}.dhtmlx-alert-warning .dhtmlx_popup_controls,.dhtmlx-confirm-warning .dhtmlx_popup_controls{border:1px solid #d5d5d5;border-width:0 1px 1px 1px;}.dhtmlx-alert-warning .dhtmlx_popup_text,.dhtmlx-confirm-warning .dhtmlx_popup_text{border:1px solid #d5d5d5;border-width:0 1px 0 1px;}.dhtmlx-alert .dhtmlx_popup_title,.dhtmlx-confirm .dhtmlx_popup_title{color:black;border:1px solid #a4bed4;background:#e7f1ff;background:-moz-linear-gradient(center bottom,#e2efff 0,#d3e7ff 12%,#e7f1ff 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0.00,#e7f1ff),color-stop(0.88,#d3e7ff),color-stop(1.00,#e2efff));background:-o-linear-gradient(top,#e2efff,#d3e7ff 12%,#e7f1ff);background:linear-gradient(top,#e2efff,#d3e7ff 12%,#e7f1ff);background:-ms-linear-gradient(top,#e2efff 0,#d3e7ff 12%,#e7f1ff 100%);}.dhtmlx-alert .dhtmlx_popup_controls,.dhtmlx-confirm .dhtmlx_popup_controls{border:1px solid #a4bed4;border-width:0 1px 1px 1px;}.dhtmlx-alert .dhtmlx_popup_text,.dhtmlx-confirm .dhtmlx_popup_text{border:1px solid #a4bed4;border-width:0 1px 0 1px;} \ No newline at end of file diff --git a/themes/skins/skyblue/imgs/dhxacc_skyblue/dhxacc_btns.gif b/themes/skins/skyblue/imgs/dhxacc_skyblue/dhxacc_btns.gif deleted file mode 100644 index 7de4aab..0000000 Binary files a/themes/skins/skyblue/imgs/dhxacc_skyblue/dhxacc_btns.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxacc_skyblue/dhxacc_cell_progress.gif b/themes/skins/skyblue/imgs/dhxacc_skyblue/dhxacc_cell_progress.gif deleted file mode 100644 index 1df5c43..0000000 Binary files a/themes/skins/skyblue/imgs/dhxacc_skyblue/dhxacc_cell_progress.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxcalendar_skyblue/dhxcalendar_arrow_left.gif b/themes/skins/skyblue/imgs/dhxcalendar_skyblue/dhxcalendar_arrow_left.gif deleted file mode 100644 index f927e47..0000000 Binary files a/themes/skins/skyblue/imgs/dhxcalendar_skyblue/dhxcalendar_arrow_left.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxcalendar_skyblue/dhxcalendar_arrow_right.gif b/themes/skins/skyblue/imgs/dhxcalendar_skyblue/dhxcalendar_arrow_right.gif deleted file mode 100644 index c2a4835..0000000 Binary files a/themes/skins/skyblue/imgs/dhxcalendar_skyblue/dhxcalendar_arrow_right.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxcalendar_skyblue/dhxcalendar_clock.gif b/themes/skins/skyblue/imgs/dhxcalendar_skyblue/dhxcalendar_clock.gif deleted file mode 100644 index c3f7391..0000000 Binary files a/themes/skins/skyblue/imgs/dhxcalendar_skyblue/dhxcalendar_clock.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxcalendar_skyblue/dhxcalendar_mark.gif b/themes/skins/skyblue/imgs/dhxcalendar_skyblue/dhxcalendar_mark.gif deleted file mode 100644 index 7390c60..0000000 Binary files a/themes/skins/skyblue/imgs/dhxcalendar_skyblue/dhxcalendar_mark.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxcalendar_skyblue/dhxcalendar_selector_bottom.gif b/themes/skins/skyblue/imgs/dhxcalendar_skyblue/dhxcalendar_selector_bottom.gif deleted file mode 100644 index 4dda554..0000000 Binary files a/themes/skins/skyblue/imgs/dhxcalendar_skyblue/dhxcalendar_selector_bottom.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxcalendar_skyblue/dhxcalendar_selector_top.gif b/themes/skins/skyblue/imgs/dhxcalendar_skyblue/dhxcalendar_selector_top.gif deleted file mode 100644 index 090b597..0000000 Binary files a/themes/skins/skyblue/imgs/dhxcalendar_skyblue/dhxcalendar_selector_top.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxcarousel_skyblue/dhxcarousel_cell_progress.gif b/themes/skins/skyblue/imgs/dhxcarousel_skyblue/dhxcarousel_cell_progress.gif deleted file mode 100644 index 1df5c43..0000000 Binary files a/themes/skins/skyblue/imgs/dhxcarousel_skyblue/dhxcarousel_cell_progress.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxcombo_skyblue/dhxcombo_arrow_down.gif b/themes/skins/skyblue/imgs/dhxcombo_skyblue/dhxcombo_arrow_down.gif deleted file mode 100644 index 7fdb358..0000000 Binary files a/themes/skins/skyblue/imgs/dhxcombo_skyblue/dhxcombo_arrow_down.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxcombo_skyblue/dhxcombo_arrow_down_dis.gif b/themes/skins/skyblue/imgs/dhxcombo_skyblue/dhxcombo_arrow_down_dis.gif deleted file mode 100644 index c256a28..0000000 Binary files a/themes/skins/skyblue/imgs/dhxcombo_skyblue/dhxcombo_arrow_down_dis.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxcombo_skyblue/dhxcombo_chbx.gif b/themes/skins/skyblue/imgs/dhxcombo_skyblue/dhxcombo_chbx.gif deleted file mode 100644 index 60d880e..0000000 Binary files a/themes/skins/skyblue/imgs/dhxcombo_skyblue/dhxcombo_chbx.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxcp_skyblue/dhxcp_colors.png b/themes/skins/skyblue/imgs/dhxcp_skyblue/dhxcp_colors.png deleted file mode 100644 index ede480c..0000000 Binary files a/themes/skins/skyblue/imgs/dhxcp_skyblue/dhxcp_colors.png and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxcp_skyblue/dhxcp_icon_save.png b/themes/skins/skyblue/imgs/dhxcp_skyblue/dhxcp_icon_save.png deleted file mode 100644 index d56e0b1..0000000 Binary files a/themes/skins/skyblue/imgs/dhxcp_skyblue/dhxcp_icon_save.png and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxdataview_skyblue/dnd_selector.png b/themes/skins/skyblue/imgs/dhxdataview_skyblue/dnd_selector.png deleted file mode 100644 index 5d8e9b4..0000000 Binary files a/themes/skins/skyblue/imgs/dhxdataview_skyblue/dnd_selector.png and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxdataview_skyblue/dnd_selector_cells.png b/themes/skins/skyblue/imgs/dhxdataview_skyblue/dnd_selector_cells.png deleted file mode 100644 index 63da638..0000000 Binary files a/themes/skins/skyblue/imgs/dhxdataview_skyblue/dnd_selector_cells.png and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxdataview_skyblue/dnd_selector_lines.png b/themes/skins/skyblue/imgs/dhxdataview_skyblue/dnd_selector_lines.png deleted file mode 100644 index 576ecfd..0000000 Binary files a/themes/skins/skyblue/imgs/dhxdataview_skyblue/dnd_selector_lines.png and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxdataview_skyblue/marker.png b/themes/skins/skyblue/imgs/dhxdataview_skyblue/marker.png deleted file mode 100644 index ceec125..0000000 Binary files a/themes/skins/skyblue/imgs/dhxdataview_skyblue/marker.png and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxeditor_skyblue/align_center.gif b/themes/skins/skyblue/imgs/dhxeditor_skyblue/align_center.gif deleted file mode 100644 index bc3f7ce..0000000 Binary files a/themes/skins/skyblue/imgs/dhxeditor_skyblue/align_center.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxeditor_skyblue/align_justify.gif b/themes/skins/skyblue/imgs/dhxeditor_skyblue/align_justify.gif deleted file mode 100644 index 6efd2ce..0000000 Binary files a/themes/skins/skyblue/imgs/dhxeditor_skyblue/align_justify.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxeditor_skyblue/align_left.gif b/themes/skins/skyblue/imgs/dhxeditor_skyblue/align_left.gif deleted file mode 100644 index 2acb732..0000000 Binary files a/themes/skins/skyblue/imgs/dhxeditor_skyblue/align_left.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxeditor_skyblue/align_right.gif b/themes/skins/skyblue/imgs/dhxeditor_skyblue/align_right.gif deleted file mode 100644 index 35c828b..0000000 Binary files a/themes/skins/skyblue/imgs/dhxeditor_skyblue/align_right.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxeditor_skyblue/bold.gif b/themes/skins/skyblue/imgs/dhxeditor_skyblue/bold.gif deleted file mode 100644 index 32416d4..0000000 Binary files a/themes/skins/skyblue/imgs/dhxeditor_skyblue/bold.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxeditor_skyblue/buttons.gif b/themes/skins/skyblue/imgs/dhxeditor_skyblue/buttons.gif deleted file mode 100644 index 5170c32..0000000 Binary files a/themes/skins/skyblue/imgs/dhxeditor_skyblue/buttons.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxeditor_skyblue/clear.gif b/themes/skins/skyblue/imgs/dhxeditor_skyblue/clear.gif deleted file mode 100644 index 51f1aee..0000000 Binary files a/themes/skins/skyblue/imgs/dhxeditor_skyblue/clear.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxeditor_skyblue/h1.gif b/themes/skins/skyblue/imgs/dhxeditor_skyblue/h1.gif deleted file mode 100644 index 6b13a66..0000000 Binary files a/themes/skins/skyblue/imgs/dhxeditor_skyblue/h1.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxeditor_skyblue/h2.gif b/themes/skins/skyblue/imgs/dhxeditor_skyblue/h2.gif deleted file mode 100644 index b83cf54..0000000 Binary files a/themes/skins/skyblue/imgs/dhxeditor_skyblue/h2.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxeditor_skyblue/h3.gif b/themes/skins/skyblue/imgs/dhxeditor_skyblue/h3.gif deleted file mode 100644 index b5647b8..0000000 Binary files a/themes/skins/skyblue/imgs/dhxeditor_skyblue/h3.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxeditor_skyblue/h4.gif b/themes/skins/skyblue/imgs/dhxeditor_skyblue/h4.gif deleted file mode 100644 index b5c1dc2..0000000 Binary files a/themes/skins/skyblue/imgs/dhxeditor_skyblue/h4.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxeditor_skyblue/indent_dec.gif b/themes/skins/skyblue/imgs/dhxeditor_skyblue/indent_dec.gif deleted file mode 100644 index b16fbb5..0000000 Binary files a/themes/skins/skyblue/imgs/dhxeditor_skyblue/indent_dec.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxeditor_skyblue/indent_inc.gif b/themes/skins/skyblue/imgs/dhxeditor_skyblue/indent_inc.gif deleted file mode 100644 index a4567b1..0000000 Binary files a/themes/skins/skyblue/imgs/dhxeditor_skyblue/indent_inc.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxeditor_skyblue/italic.gif b/themes/skins/skyblue/imgs/dhxeditor_skyblue/italic.gif deleted file mode 100644 index 8dc358c..0000000 Binary files a/themes/skins/skyblue/imgs/dhxeditor_skyblue/italic.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxeditor_skyblue/list_bullet.gif b/themes/skins/skyblue/imgs/dhxeditor_skyblue/list_bullet.gif deleted file mode 100644 index dc64941..0000000 Binary files a/themes/skins/skyblue/imgs/dhxeditor_skyblue/list_bullet.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxeditor_skyblue/list_number.gif b/themes/skins/skyblue/imgs/dhxeditor_skyblue/list_number.gif deleted file mode 100644 index eea183d..0000000 Binary files a/themes/skins/skyblue/imgs/dhxeditor_skyblue/list_number.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxeditor_skyblue/script_sub.gif b/themes/skins/skyblue/imgs/dhxeditor_skyblue/script_sub.gif deleted file mode 100644 index 02d1cb6..0000000 Binary files a/themes/skins/skyblue/imgs/dhxeditor_skyblue/script_sub.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxeditor_skyblue/script_super.gif b/themes/skins/skyblue/imgs/dhxeditor_skyblue/script_super.gif deleted file mode 100644 index 945ae76..0000000 Binary files a/themes/skins/skyblue/imgs/dhxeditor_skyblue/script_super.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxeditor_skyblue/strike.gif b/themes/skins/skyblue/imgs/dhxeditor_skyblue/strike.gif deleted file mode 100644 index 0324297..0000000 Binary files a/themes/skins/skyblue/imgs/dhxeditor_skyblue/strike.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxeditor_skyblue/underline.gif b/themes/skins/skyblue/imgs/dhxeditor_skyblue/underline.gif deleted file mode 100644 index 16aa16d..0000000 Binary files a/themes/skins/skyblue/imgs/dhxeditor_skyblue/underline.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxform_skyblue/dhxform_chbxrd.gif b/themes/skins/skyblue/imgs/dhxform_skyblue/dhxform_chbxrd.gif deleted file mode 100644 index d176df1..0000000 Binary files a/themes/skins/skyblue/imgs/dhxform_skyblue/dhxform_chbxrd.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxform_skyblue/dhxform_image_uploading.gif b/themes/skins/skyblue/imgs/dhxform_skyblue/dhxform_image_uploading.gif deleted file mode 100644 index 1df5c43..0000000 Binary files a/themes/skins/skyblue/imgs/dhxform_skyblue/dhxform_image_uploading.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxform_skyblue/dhxform_upload_buttons.gif b/themes/skins/skyblue/imgs/dhxform_skyblue/dhxform_upload_buttons.gif deleted file mode 100644 index 96a9b8a..0000000 Binary files a/themes/skins/skyblue/imgs/dhxform_skyblue/dhxform_upload_buttons.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxform_skyblue/dhxform_upload_uploading.gif b/themes/skins/skyblue/imgs/dhxform_skyblue/dhxform_upload_uploading.gif deleted file mode 100644 index fbdfbdd..0000000 Binary files a/themes/skins/skyblue/imgs/dhxform_skyblue/dhxform_upload_uploading.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxgrid_skyblue/ar_left.gif b/themes/skins/skyblue/imgs/dhxgrid_skyblue/ar_left.gif deleted file mode 100644 index 07ef2fc..0000000 Binary files a/themes/skins/skyblue/imgs/dhxgrid_skyblue/ar_left.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxgrid_skyblue/ar_left_abs.gif b/themes/skins/skyblue/imgs/dhxgrid_skyblue/ar_left_abs.gif deleted file mode 100644 index 2d32720..0000000 Binary files a/themes/skins/skyblue/imgs/dhxgrid_skyblue/ar_left_abs.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxgrid_skyblue/ar_left_abs_dis.gif b/themes/skins/skyblue/imgs/dhxgrid_skyblue/ar_left_abs_dis.gif deleted file mode 100644 index 35050e8..0000000 Binary files a/themes/skins/skyblue/imgs/dhxgrid_skyblue/ar_left_abs_dis.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxgrid_skyblue/ar_left_dis.gif b/themes/skins/skyblue/imgs/dhxgrid_skyblue/ar_left_dis.gif deleted file mode 100644 index 2ac953e..0000000 Binary files a/themes/skins/skyblue/imgs/dhxgrid_skyblue/ar_left_dis.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxgrid_skyblue/ar_right.gif b/themes/skins/skyblue/imgs/dhxgrid_skyblue/ar_right.gif deleted file mode 100644 index cf326d3..0000000 Binary files a/themes/skins/skyblue/imgs/dhxgrid_skyblue/ar_right.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxgrid_skyblue/ar_right_abs.gif b/themes/skins/skyblue/imgs/dhxgrid_skyblue/ar_right_abs.gif deleted file mode 100644 index 0736a5f..0000000 Binary files a/themes/skins/skyblue/imgs/dhxgrid_skyblue/ar_right_abs.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxgrid_skyblue/ar_right_abs_dis.gif b/themes/skins/skyblue/imgs/dhxgrid_skyblue/ar_right_abs_dis.gif deleted file mode 100644 index f454ee7..0000000 Binary files a/themes/skins/skyblue/imgs/dhxgrid_skyblue/ar_right_abs_dis.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxgrid_skyblue/ar_right_dis.gif b/themes/skins/skyblue/imgs/dhxgrid_skyblue/ar_right_dis.gif deleted file mode 100644 index 2cf6399..0000000 Binary files a/themes/skins/skyblue/imgs/dhxgrid_skyblue/ar_right_dis.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxgrid_skyblue/blank.gif b/themes/skins/skyblue/imgs/dhxgrid_skyblue/blank.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/skins/skyblue/imgs/dhxgrid_skyblue/blank.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxgrid_skyblue/combo_select.gif b/themes/skins/skyblue/imgs/dhxgrid_skyblue/combo_select.gif deleted file mode 100644 index 03f4e9a..0000000 Binary files a/themes/skins/skyblue/imgs/dhxgrid_skyblue/combo_select.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxgrid_skyblue/dyn_.gif b/themes/skins/skyblue/imgs/dhxgrid_skyblue/dyn_.gif deleted file mode 100644 index 361094a..0000000 Binary files a/themes/skins/skyblue/imgs/dhxgrid_skyblue/dyn_.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxgrid_skyblue/dyn_down.gif b/themes/skins/skyblue/imgs/dhxgrid_skyblue/dyn_down.gif deleted file mode 100644 index b73c84e..0000000 Binary files a/themes/skins/skyblue/imgs/dhxgrid_skyblue/dyn_down.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxgrid_skyblue/dyn_up.gif b/themes/skins/skyblue/imgs/dhxgrid_skyblue/dyn_up.gif deleted file mode 100644 index 556a9fb..0000000 Binary files a/themes/skins/skyblue/imgs/dhxgrid_skyblue/dyn_up.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxgrid_skyblue/imageloaderror.gif b/themes/skins/skyblue/imgs/dhxgrid_skyblue/imageloaderror.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/skins/skyblue/imgs/dhxgrid_skyblue/imageloaderror.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxgrid_skyblue/item_chk0.gif b/themes/skins/skyblue/imgs/dhxgrid_skyblue/item_chk0.gif deleted file mode 100644 index a98e298..0000000 Binary files a/themes/skins/skyblue/imgs/dhxgrid_skyblue/item_chk0.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxgrid_skyblue/item_chk0_dis.gif b/themes/skins/skyblue/imgs/dhxgrid_skyblue/item_chk0_dis.gif deleted file mode 100644 index 2082b54..0000000 Binary files a/themes/skins/skyblue/imgs/dhxgrid_skyblue/item_chk0_dis.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxgrid_skyblue/item_chk1.gif b/themes/skins/skyblue/imgs/dhxgrid_skyblue/item_chk1.gif deleted file mode 100644 index 2ebae89..0000000 Binary files a/themes/skins/skyblue/imgs/dhxgrid_skyblue/item_chk1.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxgrid_skyblue/item_chk1_dis.gif b/themes/skins/skyblue/imgs/dhxgrid_skyblue/item_chk1_dis.gif deleted file mode 100644 index 17a0b16..0000000 Binary files a/themes/skins/skyblue/imgs/dhxgrid_skyblue/item_chk1_dis.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxgrid_skyblue/minus.gif b/themes/skins/skyblue/imgs/dhxgrid_skyblue/minus.gif deleted file mode 100644 index ef04a54..0000000 Binary files a/themes/skins/skyblue/imgs/dhxgrid_skyblue/minus.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxgrid_skyblue/paging_page.gif b/themes/skins/skyblue/imgs/dhxgrid_skyblue/paging_page.gif deleted file mode 100644 index efda03a..0000000 Binary files a/themes/skins/skyblue/imgs/dhxgrid_skyblue/paging_page.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxgrid_skyblue/paging_pages.gif b/themes/skins/skyblue/imgs/dhxgrid_skyblue/paging_pages.gif deleted file mode 100644 index 5c17308..0000000 Binary files a/themes/skins/skyblue/imgs/dhxgrid_skyblue/paging_pages.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxgrid_skyblue/paging_rows.gif b/themes/skins/skyblue/imgs/dhxgrid_skyblue/paging_rows.gif deleted file mode 100644 index 217fb96..0000000 Binary files a/themes/skins/skyblue/imgs/dhxgrid_skyblue/paging_rows.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxgrid_skyblue/plus.gif b/themes/skins/skyblue/imgs/dhxgrid_skyblue/plus.gif deleted file mode 100644 index abb84bd..0000000 Binary files a/themes/skins/skyblue/imgs/dhxgrid_skyblue/plus.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxgrid_skyblue/radio_chk0.gif b/themes/skins/skyblue/imgs/dhxgrid_skyblue/radio_chk0.gif deleted file mode 100644 index f2ee489..0000000 Binary files a/themes/skins/skyblue/imgs/dhxgrid_skyblue/radio_chk0.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxgrid_skyblue/radio_chk0_dis.gif b/themes/skins/skyblue/imgs/dhxgrid_skyblue/radio_chk0_dis.gif deleted file mode 100644 index ada7848..0000000 Binary files a/themes/skins/skyblue/imgs/dhxgrid_skyblue/radio_chk0_dis.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxgrid_skyblue/radio_chk1.gif b/themes/skins/skyblue/imgs/dhxgrid_skyblue/radio_chk1.gif deleted file mode 100644 index 54af4c8..0000000 Binary files a/themes/skins/skyblue/imgs/dhxgrid_skyblue/radio_chk1.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxgrid_skyblue/radio_chk1_dis.gif b/themes/skins/skyblue/imgs/dhxgrid_skyblue/radio_chk1_dis.gif deleted file mode 100644 index af5d41f..0000000 Binary files a/themes/skins/skyblue/imgs/dhxgrid_skyblue/radio_chk1_dis.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxgrid_skyblue/sort_asc.gif b/themes/skins/skyblue/imgs/dhxgrid_skyblue/sort_asc.gif deleted file mode 100644 index c3c0983..0000000 Binary files a/themes/skins/skyblue/imgs/dhxgrid_skyblue/sort_asc.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxgrid_skyblue/sort_desc.gif b/themes/skins/skyblue/imgs/dhxgrid_skyblue/sort_desc.gif deleted file mode 100644 index e080183..0000000 Binary files a/themes/skins/skyblue/imgs/dhxgrid_skyblue/sort_desc.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/blank.gif b/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/blank.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/blank.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/folder.gif b/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/folder.gif deleted file mode 100644 index e0a88ce..0000000 Binary files a/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/folder.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/leaf.gif b/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/leaf.gif deleted file mode 100644 index 9c3e531..0000000 Binary files a/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/leaf.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/line.gif b/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/line.gif deleted file mode 100644 index b4f560c..0000000 Binary files a/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/line.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/line1.gif b/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/line1.gif deleted file mode 100644 index b4f560c..0000000 Binary files a/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/line1.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/line2.gif b/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/line2.gif deleted file mode 100644 index 23b2ce3..0000000 Binary files a/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/line2.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/line3.gif b/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/line3.gif deleted file mode 100644 index 43152c5..0000000 Binary files a/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/line3.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/line4.gif b/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/line4.gif deleted file mode 100644 index 907fe7a..0000000 Binary files a/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/line4.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/minus.gif b/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/minus.gif deleted file mode 100644 index ea11fd9..0000000 Binary files a/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/minus.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/minus1.gif b/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/minus1.gif deleted file mode 100644 index d6a8b2b..0000000 Binary files a/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/minus1.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/minus2.gif b/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/minus2.gif deleted file mode 100644 index a3fad45..0000000 Binary files a/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/minus2.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/minus3.gif b/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/minus3.gif deleted file mode 100644 index dbc1292..0000000 Binary files a/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/minus3.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/minus4.gif b/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/minus4.gif deleted file mode 100644 index 1c2fccf..0000000 Binary files a/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/minus4.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/minus5.gif b/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/minus5.gif deleted file mode 100644 index 031c160..0000000 Binary files a/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/minus5.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/plus.gif b/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/plus.gif deleted file mode 100644 index 2d50cd2..0000000 Binary files a/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/plus.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/plus1.gif b/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/plus1.gif deleted file mode 100644 index cb8add4..0000000 Binary files a/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/plus1.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/plus2.gif b/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/plus2.gif deleted file mode 100644 index d57afa9..0000000 Binary files a/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/plus2.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/plus3.gif b/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/plus3.gif deleted file mode 100644 index 2b6546b..0000000 Binary files a/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/plus3.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/plus4.gif b/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/plus4.gif deleted file mode 100644 index a4fe8c0..0000000 Binary files a/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/plus4.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/plus5.gif b/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/plus5.gif deleted file mode 100644 index 88c35a4..0000000 Binary files a/themes/skins/skyblue/imgs/dhxgrid_skyblue/tree/plus5.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxlayout_skyblue/dhxlayout_cell_btns.gif b/themes/skins/skyblue/imgs/dhxlayout_skyblue/dhxlayout_cell_btns.gif deleted file mode 100644 index f23cd77..0000000 Binary files a/themes/skins/skyblue/imgs/dhxlayout_skyblue/dhxlayout_cell_btns.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxlayout_skyblue/dhxlayout_cell_progress.gif b/themes/skins/skyblue/imgs/dhxlayout_skyblue/dhxlayout_cell_progress.gif deleted file mode 100644 index 1df5c43..0000000 Binary files a/themes/skins/skyblue/imgs/dhxlayout_skyblue/dhxlayout_cell_progress.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxlayout_skyblue/dhxlayout_sep_h.gif b/themes/skins/skyblue/imgs/dhxlayout_skyblue/dhxlayout_sep_h.gif deleted file mode 100644 index 3996e4f..0000000 Binary files a/themes/skins/skyblue/imgs/dhxlayout_skyblue/dhxlayout_sep_h.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxlayout_skyblue/dhxlayout_sep_v.gif b/themes/skins/skyblue/imgs/dhxlayout_skyblue/dhxlayout_sep_v.gif deleted file mode 100644 index 5f4391d..0000000 Binary files a/themes/skins/skyblue/imgs/dhxlayout_skyblue/dhxlayout_sep_v.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxmenu_skyblue/dhxmenu_arrow_down.gif b/themes/skins/skyblue/imgs/dhxmenu_skyblue/dhxmenu_arrow_down.gif deleted file mode 100644 index 60be3f7..0000000 Binary files a/themes/skins/skyblue/imgs/dhxmenu_skyblue/dhxmenu_arrow_down.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxmenu_skyblue/dhxmenu_arrow_down_dis.gif b/themes/skins/skyblue/imgs/dhxmenu_skyblue/dhxmenu_arrow_down_dis.gif deleted file mode 100644 index d849732..0000000 Binary files a/themes/skins/skyblue/imgs/dhxmenu_skyblue/dhxmenu_arrow_down_dis.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxmenu_skyblue/dhxmenu_arrow_up.gif b/themes/skins/skyblue/imgs/dhxmenu_skyblue/dhxmenu_arrow_up.gif deleted file mode 100644 index c23a23a..0000000 Binary files a/themes/skins/skyblue/imgs/dhxmenu_skyblue/dhxmenu_arrow_up.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxmenu_skyblue/dhxmenu_arrow_up_dis.gif b/themes/skins/skyblue/imgs/dhxmenu_skyblue/dhxmenu_arrow_up_dis.gif deleted file mode 100644 index a43cfe3..0000000 Binary files a/themes/skins/skyblue/imgs/dhxmenu_skyblue/dhxmenu_arrow_up_dis.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxmenu_skyblue/dhxmenu_chrd.gif b/themes/skins/skyblue/imgs/dhxmenu_skyblue/dhxmenu_chrd.gif deleted file mode 100644 index 235caaf..0000000 Binary files a/themes/skins/skyblue/imgs/dhxmenu_skyblue/dhxmenu_chrd.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxmenu_skyblue/dhxmenu_loader.gif b/themes/skins/skyblue/imgs/dhxmenu_skyblue/dhxmenu_loader.gif deleted file mode 100644 index 21cc17e..0000000 Binary files a/themes/skins/skyblue/imgs/dhxmenu_skyblue/dhxmenu_loader.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxmenu_skyblue/dhxmenu_subar.gif b/themes/skins/skyblue/imgs/dhxmenu_skyblue/dhxmenu_subar.gif deleted file mode 100644 index 4603471..0000000 Binary files a/themes/skins/skyblue/imgs/dhxmenu_skyblue/dhxmenu_subar.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxpopup_skyblue/dhxpopup_arrow_bottom.gif b/themes/skins/skyblue/imgs/dhxpopup_skyblue/dhxpopup_arrow_bottom.gif deleted file mode 100644 index e20fd4c..0000000 Binary files a/themes/skins/skyblue/imgs/dhxpopup_skyblue/dhxpopup_arrow_bottom.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxpopup_skyblue/dhxpopup_arrow_left.gif b/themes/skins/skyblue/imgs/dhxpopup_skyblue/dhxpopup_arrow_left.gif deleted file mode 100644 index e337c53..0000000 Binary files a/themes/skins/skyblue/imgs/dhxpopup_skyblue/dhxpopup_arrow_left.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxpopup_skyblue/dhxpopup_arrow_right.gif b/themes/skins/skyblue/imgs/dhxpopup_skyblue/dhxpopup_arrow_right.gif deleted file mode 100644 index f0c7c59..0000000 Binary files a/themes/skins/skyblue/imgs/dhxpopup_skyblue/dhxpopup_arrow_right.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxpopup_skyblue/dhxpopup_arrow_top.gif b/themes/skins/skyblue/imgs/dhxpopup_skyblue/dhxpopup_arrow_top.gif deleted file mode 100644 index bec146f..0000000 Binary files a/themes/skins/skyblue/imgs/dhxpopup_skyblue/dhxpopup_arrow_top.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxribbon_skyblue/dhxribbon_arrow.gif b/themes/skins/skyblue/imgs/dhxribbon_skyblue/dhxribbon_arrow.gif deleted file mode 100644 index f64e20b..0000000 Binary files a/themes/skins/skyblue/imgs/dhxribbon_skyblue/dhxribbon_arrow.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxribbon_skyblue/dhxribbon_checked.gif b/themes/skins/skyblue/imgs/dhxribbon_skyblue/dhxribbon_checked.gif deleted file mode 100644 index 9858188..0000000 Binary files a/themes/skins/skyblue/imgs/dhxribbon_skyblue/dhxribbon_checked.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxribbon_skyblue/dhxribbon_checked_dis.gif b/themes/skins/skyblue/imgs/dhxribbon_skyblue/dhxribbon_checked_dis.gif deleted file mode 100644 index 2aa750b..0000000 Binary files a/themes/skins/skyblue/imgs/dhxribbon_skyblue/dhxribbon_checked_dis.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxsidebar_skyblue/dhxsidebar_arrow_down.gif b/themes/skins/skyblue/imgs/dhxsidebar_skyblue/dhxsidebar_arrow_down.gif deleted file mode 100644 index b44180f..0000000 Binary files a/themes/skins/skyblue/imgs/dhxsidebar_skyblue/dhxsidebar_arrow_down.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxsidebar_skyblue/dhxsidebar_arrow_up.gif b/themes/skins/skyblue/imgs/dhxsidebar_skyblue/dhxsidebar_arrow_up.gif deleted file mode 100644 index 560cbcf..0000000 Binary files a/themes/skins/skyblue/imgs/dhxsidebar_skyblue/dhxsidebar_arrow_up.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxsidebar_skyblue/dhxsidebar_cell_progress.gif b/themes/skins/skyblue/imgs/dhxsidebar_skyblue/dhxsidebar_cell_progress.gif deleted file mode 100644 index 1df5c43..0000000 Binary files a/themes/skins/skyblue/imgs/dhxsidebar_skyblue/dhxsidebar_cell_progress.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxsidebar_skyblue/dhxsidebar_side_icon.gif b/themes/skins/skyblue/imgs/dhxsidebar_skyblue/dhxsidebar_side_icon.gif deleted file mode 100644 index 30dfbba..0000000 Binary files a/themes/skins/skyblue/imgs/dhxsidebar_skyblue/dhxsidebar_side_icon.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxtabbar_skyblue/dhxtabbar_arrows.gif b/themes/skins/skyblue/imgs/dhxtabbar_skyblue/dhxtabbar_arrows.gif deleted file mode 100644 index 56490ce..0000000 Binary files a/themes/skins/skyblue/imgs/dhxtabbar_skyblue/dhxtabbar_arrows.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxtabbar_skyblue/dhxtabbar_button_close.gif b/themes/skins/skyblue/imgs/dhxtabbar_skyblue/dhxtabbar_button_close.gif deleted file mode 100644 index 1445534..0000000 Binary files a/themes/skins/skyblue/imgs/dhxtabbar_skyblue/dhxtabbar_button_close.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxtabbar_skyblue/dhxtabbar_cell_progress.gif b/themes/skins/skyblue/imgs/dhxtabbar_skyblue/dhxtabbar_cell_progress.gif deleted file mode 100644 index 1df5c43..0000000 Binary files a/themes/skins/skyblue/imgs/dhxtabbar_skyblue/dhxtabbar_cell_progress.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxtoolbar_skyblue/dhxtoolbar_arrow.gif b/themes/skins/skyblue/imgs/dhxtoolbar_skyblue/dhxtoolbar_arrow.gif deleted file mode 100644 index 8e805d8..0000000 Binary files a/themes/skins/skyblue/imgs/dhxtoolbar_skyblue/dhxtoolbar_arrow.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxtoolbar_skyblue/dhxtoolbar_arrow_dis.gif b/themes/skins/skyblue/imgs/dhxtoolbar_skyblue/dhxtoolbar_arrow_dis.gif deleted file mode 100644 index 3eddbbd..0000000 Binary files a/themes/skins/skyblue/imgs/dhxtoolbar_skyblue/dhxtoolbar_arrow_dis.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxtree_skyblue/blank.gif b/themes/skins/skyblue/imgs/dhxtree_skyblue/blank.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/skins/skyblue/imgs/dhxtree_skyblue/blank.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxtree_skyblue/but_cut.gif b/themes/skins/skyblue/imgs/dhxtree_skyblue/but_cut.gif deleted file mode 100644 index 942bd18..0000000 Binary files a/themes/skins/skyblue/imgs/dhxtree_skyblue/but_cut.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxtree_skyblue/folderClosed.gif b/themes/skins/skyblue/imgs/dhxtree_skyblue/folderClosed.gif deleted file mode 100644 index e0a88ce..0000000 Binary files a/themes/skins/skyblue/imgs/dhxtree_skyblue/folderClosed.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxtree_skyblue/folderOpen.gif b/themes/skins/skyblue/imgs/dhxtree_skyblue/folderOpen.gif deleted file mode 100644 index 1680dbc..0000000 Binary files a/themes/skins/skyblue/imgs/dhxtree_skyblue/folderOpen.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxtree_skyblue/iconCheckAll.gif b/themes/skins/skyblue/imgs/dhxtree_skyblue/iconCheckAll.gif deleted file mode 100644 index a61302a..0000000 Binary files a/themes/skins/skyblue/imgs/dhxtree_skyblue/iconCheckAll.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxtree_skyblue/iconCheckDis.gif b/themes/skins/skyblue/imgs/dhxtree_skyblue/iconCheckDis.gif deleted file mode 100644 index 42447b8..0000000 Binary files a/themes/skins/skyblue/imgs/dhxtree_skyblue/iconCheckDis.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxtree_skyblue/iconCheckGray.gif b/themes/skins/skyblue/imgs/dhxtree_skyblue/iconCheckGray.gif deleted file mode 100644 index 0350b2a..0000000 Binary files a/themes/skins/skyblue/imgs/dhxtree_skyblue/iconCheckGray.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxtree_skyblue/iconUncheckAll.gif b/themes/skins/skyblue/imgs/dhxtree_skyblue/iconUncheckAll.gif deleted file mode 100644 index 9f3fe50..0000000 Binary files a/themes/skins/skyblue/imgs/dhxtree_skyblue/iconUncheckAll.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxtree_skyblue/iconUncheckDis.gif b/themes/skins/skyblue/imgs/dhxtree_skyblue/iconUncheckDis.gif deleted file mode 100644 index f15d9f7..0000000 Binary files a/themes/skins/skyblue/imgs/dhxtree_skyblue/iconUncheckDis.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxtree_skyblue/leaf.gif b/themes/skins/skyblue/imgs/dhxtree_skyblue/leaf.gif deleted file mode 100644 index 9c3e531..0000000 Binary files a/themes/skins/skyblue/imgs/dhxtree_skyblue/leaf.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxtree_skyblue/line.gif b/themes/skins/skyblue/imgs/dhxtree_skyblue/line.gif deleted file mode 100644 index b4f560c..0000000 Binary files a/themes/skins/skyblue/imgs/dhxtree_skyblue/line.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxtree_skyblue/line1.gif b/themes/skins/skyblue/imgs/dhxtree_skyblue/line1.gif deleted file mode 100644 index b4f560c..0000000 Binary files a/themes/skins/skyblue/imgs/dhxtree_skyblue/line1.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxtree_skyblue/line1_rtl.gif b/themes/skins/skyblue/imgs/dhxtree_skyblue/line1_rtl.gif deleted file mode 100644 index bf32db2..0000000 Binary files a/themes/skins/skyblue/imgs/dhxtree_skyblue/line1_rtl.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxtree_skyblue/line2.gif b/themes/skins/skyblue/imgs/dhxtree_skyblue/line2.gif deleted file mode 100644 index 23b2ce3..0000000 Binary files a/themes/skins/skyblue/imgs/dhxtree_skyblue/line2.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxtree_skyblue/line2_rtl.gif b/themes/skins/skyblue/imgs/dhxtree_skyblue/line2_rtl.gif deleted file mode 100644 index 6ec17b5..0000000 Binary files a/themes/skins/skyblue/imgs/dhxtree_skyblue/line2_rtl.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxtree_skyblue/line3.gif b/themes/skins/skyblue/imgs/dhxtree_skyblue/line3.gif deleted file mode 100644 index 43152c5..0000000 Binary files a/themes/skins/skyblue/imgs/dhxtree_skyblue/line3.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxtree_skyblue/line3_rtl.gif b/themes/skins/skyblue/imgs/dhxtree_skyblue/line3_rtl.gif deleted file mode 100644 index 74a874c..0000000 Binary files a/themes/skins/skyblue/imgs/dhxtree_skyblue/line3_rtl.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxtree_skyblue/line4.gif b/themes/skins/skyblue/imgs/dhxtree_skyblue/line4.gif deleted file mode 100644 index 907fe7a..0000000 Binary files a/themes/skins/skyblue/imgs/dhxtree_skyblue/line4.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxtree_skyblue/line4_rtl.gif b/themes/skins/skyblue/imgs/dhxtree_skyblue/line4_rtl.gif deleted file mode 100644 index 5c7e162..0000000 Binary files a/themes/skins/skyblue/imgs/dhxtree_skyblue/line4_rtl.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxtree_skyblue/lock.gif b/themes/skins/skyblue/imgs/dhxtree_skyblue/lock.gif deleted file mode 100644 index 67456b1..0000000 Binary files a/themes/skins/skyblue/imgs/dhxtree_skyblue/lock.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxtree_skyblue/minus.gif b/themes/skins/skyblue/imgs/dhxtree_skyblue/minus.gif deleted file mode 100644 index caa3f57..0000000 Binary files a/themes/skins/skyblue/imgs/dhxtree_skyblue/minus.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxtree_skyblue/minus1.gif b/themes/skins/skyblue/imgs/dhxtree_skyblue/minus1.gif deleted file mode 100644 index 2ab1070..0000000 Binary files a/themes/skins/skyblue/imgs/dhxtree_skyblue/minus1.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxtree_skyblue/minus2.gif b/themes/skins/skyblue/imgs/dhxtree_skyblue/minus2.gif deleted file mode 100644 index 036e5b3..0000000 Binary files a/themes/skins/skyblue/imgs/dhxtree_skyblue/minus2.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxtree_skyblue/minus2_rtl.gif b/themes/skins/skyblue/imgs/dhxtree_skyblue/minus2_rtl.gif deleted file mode 100644 index b4672bf..0000000 Binary files a/themes/skins/skyblue/imgs/dhxtree_skyblue/minus2_rtl.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxtree_skyblue/minus3.gif b/themes/skins/skyblue/imgs/dhxtree_skyblue/minus3.gif deleted file mode 100644 index 3242cca..0000000 Binary files a/themes/skins/skyblue/imgs/dhxtree_skyblue/minus3.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxtree_skyblue/minus3_rtl.gif b/themes/skins/skyblue/imgs/dhxtree_skyblue/minus3_rtl.gif deleted file mode 100644 index 8c279e0..0000000 Binary files a/themes/skins/skyblue/imgs/dhxtree_skyblue/minus3_rtl.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxtree_skyblue/minus4.gif b/themes/skins/skyblue/imgs/dhxtree_skyblue/minus4.gif deleted file mode 100644 index 1c7c0a7..0000000 Binary files a/themes/skins/skyblue/imgs/dhxtree_skyblue/minus4.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxtree_skyblue/minus4_rtl.gif b/themes/skins/skyblue/imgs/dhxtree_skyblue/minus4_rtl.gif deleted file mode 100644 index 70992fe..0000000 Binary files a/themes/skins/skyblue/imgs/dhxtree_skyblue/minus4_rtl.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxtree_skyblue/minus5.gif b/themes/skins/skyblue/imgs/dhxtree_skyblue/minus5.gif deleted file mode 100644 index 031c160..0000000 Binary files a/themes/skins/skyblue/imgs/dhxtree_skyblue/minus5.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxtree_skyblue/minus5_rtl.gif b/themes/skins/skyblue/imgs/dhxtree_skyblue/minus5_rtl.gif deleted file mode 100644 index 47e25cd..0000000 Binary files a/themes/skins/skyblue/imgs/dhxtree_skyblue/minus5_rtl.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxtree_skyblue/plus.gif b/themes/skins/skyblue/imgs/dhxtree_skyblue/plus.gif deleted file mode 100644 index 019cfbd..0000000 Binary files a/themes/skins/skyblue/imgs/dhxtree_skyblue/plus.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxtree_skyblue/plus1.gif b/themes/skins/skyblue/imgs/dhxtree_skyblue/plus1.gif deleted file mode 100644 index 34dee94..0000000 Binary files a/themes/skins/skyblue/imgs/dhxtree_skyblue/plus1.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxtree_skyblue/plus2.gif b/themes/skins/skyblue/imgs/dhxtree_skyblue/plus2.gif deleted file mode 100644 index d57afa9..0000000 Binary files a/themes/skins/skyblue/imgs/dhxtree_skyblue/plus2.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxtree_skyblue/plus2_rtl.gif b/themes/skins/skyblue/imgs/dhxtree_skyblue/plus2_rtl.gif deleted file mode 100644 index fde3a58..0000000 Binary files a/themes/skins/skyblue/imgs/dhxtree_skyblue/plus2_rtl.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxtree_skyblue/plus3.gif b/themes/skins/skyblue/imgs/dhxtree_skyblue/plus3.gif deleted file mode 100644 index 2b6546b..0000000 Binary files a/themes/skins/skyblue/imgs/dhxtree_skyblue/plus3.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxtree_skyblue/plus3_rtl.gif b/themes/skins/skyblue/imgs/dhxtree_skyblue/plus3_rtl.gif deleted file mode 100644 index 863d34c..0000000 Binary files a/themes/skins/skyblue/imgs/dhxtree_skyblue/plus3_rtl.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxtree_skyblue/plus4.gif b/themes/skins/skyblue/imgs/dhxtree_skyblue/plus4.gif deleted file mode 100644 index a4fe8c0..0000000 Binary files a/themes/skins/skyblue/imgs/dhxtree_skyblue/plus4.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxtree_skyblue/plus4_rtl.gif b/themes/skins/skyblue/imgs/dhxtree_skyblue/plus4_rtl.gif deleted file mode 100644 index 635e6f6..0000000 Binary files a/themes/skins/skyblue/imgs/dhxtree_skyblue/plus4_rtl.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxtree_skyblue/plus5.gif b/themes/skins/skyblue/imgs/dhxtree_skyblue/plus5.gif deleted file mode 100644 index 88c35a4..0000000 Binary files a/themes/skins/skyblue/imgs/dhxtree_skyblue/plus5.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxtree_skyblue/plus5_rtl.gif b/themes/skins/skyblue/imgs/dhxtree_skyblue/plus5_rtl.gif deleted file mode 100644 index 2ae5444..0000000 Binary files a/themes/skins/skyblue/imgs/dhxtree_skyblue/plus5_rtl.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxtree_skyblue/radio_off.gif b/themes/skins/skyblue/imgs/dhxtree_skyblue/radio_off.gif deleted file mode 100644 index a050afd..0000000 Binary files a/themes/skins/skyblue/imgs/dhxtree_skyblue/radio_off.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxtree_skyblue/radio_on.gif b/themes/skins/skyblue/imgs/dhxtree_skyblue/radio_on.gif deleted file mode 100644 index 4d594b5..0000000 Binary files a/themes/skins/skyblue/imgs/dhxtree_skyblue/radio_on.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxtreeview_skyblue/icon_chbx_0.gif b/themes/skins/skyblue/imgs/dhxtreeview_skyblue/icon_chbx_0.gif deleted file mode 100644 index 9f3fe50..0000000 Binary files a/themes/skins/skyblue/imgs/dhxtreeview_skyblue/icon_chbx_0.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxtreeview_skyblue/icon_chbx_1.gif b/themes/skins/skyblue/imgs/dhxtreeview_skyblue/icon_chbx_1.gif deleted file mode 100644 index a61302a..0000000 Binary files a/themes/skins/skyblue/imgs/dhxtreeview_skyblue/icon_chbx_1.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxtreeview_skyblue/icon_chbx_dis_0.gif b/themes/skins/skyblue/imgs/dhxtreeview_skyblue/icon_chbx_dis_0.gif deleted file mode 100644 index f15d9f7..0000000 Binary files a/themes/skins/skyblue/imgs/dhxtreeview_skyblue/icon_chbx_dis_0.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxtreeview_skyblue/icon_chbx_dis_1.gif b/themes/skins/skyblue/imgs/dhxtreeview_skyblue/icon_chbx_dis_1.gif deleted file mode 100644 index 42447b8..0000000 Binary files a/themes/skins/skyblue/imgs/dhxtreeview_skyblue/icon_chbx_dis_1.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxtreeview_skyblue/icon_file.gif b/themes/skins/skyblue/imgs/dhxtreeview_skyblue/icon_file.gif deleted file mode 100644 index 9c3e531..0000000 Binary files a/themes/skins/skyblue/imgs/dhxtreeview_skyblue/icon_file.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxtreeview_skyblue/icon_folder_closed.gif b/themes/skins/skyblue/imgs/dhxtreeview_skyblue/icon_folder_closed.gif deleted file mode 100644 index e0a88ce..0000000 Binary files a/themes/skins/skyblue/imgs/dhxtreeview_skyblue/icon_folder_closed.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxtreeview_skyblue/icon_folder_opened.gif b/themes/skins/skyblue/imgs/dhxtreeview_skyblue/icon_folder_opened.gif deleted file mode 100644 index 1680dbc..0000000 Binary files a/themes/skins/skyblue/imgs/dhxtreeview_skyblue/icon_folder_opened.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxtreeview_skyblue/icon_minus.gif b/themes/skins/skyblue/imgs/dhxtreeview_skyblue/icon_minus.gif deleted file mode 100644 index caa3f57..0000000 Binary files a/themes/skins/skyblue/imgs/dhxtreeview_skyblue/icon_minus.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxtreeview_skyblue/icon_plus.gif b/themes/skins/skyblue/imgs/dhxtreeview_skyblue/icon_plus.gif deleted file mode 100644 index 019cfbd..0000000 Binary files a/themes/skins/skyblue/imgs/dhxtreeview_skyblue/icon_plus.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxtreeview_skyblue/loading.gif b/themes/skins/skyblue/imgs/dhxtreeview_skyblue/loading.gif deleted file mode 100644 index d91e279..0000000 Binary files a/themes/skins/skyblue/imgs/dhxtreeview_skyblue/loading.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxwins_skyblue/dhxwins_buttons.gif b/themes/skins/skyblue/imgs/dhxwins_skyblue/dhxwins_buttons.gif deleted file mode 100644 index 625a0e7..0000000 Binary files a/themes/skins/skyblue/imgs/dhxwins_skyblue/dhxwins_buttons.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxwins_skyblue/dhxwins_icon.gif b/themes/skins/skyblue/imgs/dhxwins_skyblue/dhxwins_icon.gif deleted file mode 100644 index e9427ac..0000000 Binary files a/themes/skins/skyblue/imgs/dhxwins_skyblue/dhxwins_icon.gif and /dev/null differ diff --git a/themes/skins/skyblue/imgs/dhxwins_skyblue/dhxwins_progress.gif b/themes/skins/skyblue/imgs/dhxwins_skyblue/dhxwins_progress.gif deleted file mode 100644 index 1df5c43..0000000 Binary files a/themes/skins/skyblue/imgs/dhxwins_skyblue/dhxwins_progress.gif and /dev/null differ diff --git a/themes/skins/terrace/dhtmlx.css b/themes/skins/terrace/dhtmlx.css deleted file mode 100644 index 149e64b..0000000 --- a/themes/skins/terrace/dhtmlx.css +++ /dev/null @@ -1,9 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -.dhtmlxcalendar_dhx_terrace{position:absolute;display:block;background-color:#fff;font-family:Arial,Helvetica;font-size:13px;color:#333;}.dhtmlxcalendar_dhx_terrace.dhtmlxcalendar_in_input{box-shadow:0 0 6px rgba(0,0,0,0.25);}.dhtmlxcalendar_ifr{position:absolute;overflow:hidden;background-color:white;}.dhtmlxcalendar_dhx_terrace ul.dhtmlxcalendar_line{position:relative;display:block;clear:both;margin:0;padding:0;overflow:hidden;width:225px;margin-left:12px;}.dhtmlxcalendar_dhx_terrace ul.dhtmlxcalendar_line li{float:left;position:relative;list-style-type:none;list-style-image:none;text-align:center;vertical-align:middle;cursor:default;overflow:hidden;margin:0;padding:0;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_month_cont{position:relative;display:block;width:249px;margin:0;border-top:1px solid #ccc;border-left:1px solid #ccc;border-right:1px solid #ccc;border-top-left-radius:3px;border-top-right-radius:3px;overflow:hidden;color:#333;-webkit-user-select:text;-khtml-user-select:text;-moz-user-select:text;-ms-user-select:text;-o-user-select:text;user-select:text;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr{width:225px;height:31px;line-height:31px;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow{position:absolute;top:0;width:18px;height:31px;color:inherit;text-align:center;background-position:center center;background-repeat:no-repeat;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_left{left:4px;background-image:url("imgs/dhxcalendar_terrace/dhxcalendar_arrow_left.gif");opacity:.8;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=80);}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_left_hover{left:4px;background-image:url("imgs/dhxcalendar_terrace/dhxcalendar_arrow_left.gif");opacity:1;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=100);}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_right{right:4px;background-image:url("imgs/dhxcalendar_terrace/dhxcalendar_arrow_right.gif");opacity:.8;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=80);}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_right_hover{right:4px;background-image:url("imgs/dhxcalendar_terrace/dhxcalendar_arrow_right.gif");opacity:1;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=100);}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr span.dhtmlxcalendar_month_label_month,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr span.dhtmlxcalendar_month_label_year{position:relative;font-weight:bold;color:inherit;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_today,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_clear{display:none;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_today{float:right;margin-right:8px;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_clear{float:right;margin-right:74px;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_today{float:right;margin-right:8px;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_clear{float:right;margin-right:22px;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_days_cont{position:relative;display:block;width:249px;margin:0;border-left:1px solid #ccc;border-right:1px solid #ccc;-webkit-user-select:text;-khtml-user-select:text;-moz-user-select:text;-ms-user-select:text;-o-user-select:text;user-select:text;overflow:hidden;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line{height:31px;border-bottom:1px solid #ccc;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li{width:31px;height:31px;line-height:31px;margin-left:1px;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_first{margin-left:1px;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_day_weekday_cell{color:#d43f3a;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_day_weekday_cell_first{color:#d43f3a;margin-left:1px;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont{-webkit-tap-highlight-color:rgba(0,0,0,0);position:relative;display:block;width:249px;margin:0;padding-bottom:8px;border-left:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc;border-bottom-left-radius:3px;border-bottom-right-radius:3px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;overflow:hidden;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line{margin-top:1px;margin-left:13px;height:31px;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li{color:#909090;border-radius:3px;width:31px;height:31px;line-height:31px;margin-right:1px;overflow:visible;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li div.dhtmlxcalendar_label{width:100%;height:100%;text-align:center;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend{background-color:#fff3a1;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_dis,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_dis,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_dis,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_dis{color:#c4c4c4;background-color:#ededed;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_holiday,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_holiday{color:#d43f3a;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_holiday,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_holiday{color:#d43f3a;background-color:#fff3a1;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_holiday_dis,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_holiday_dis,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_holiday_dis,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_holiday_dis{color:#d43f3a;background-color:#ededed;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_hover,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_hover,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_hover,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_hover{background-color:#fff3a1;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_holiday_hover,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_holiday_hover,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_holiday_hover,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_holiday_hover{color:#d43f3a;background-color:#fff3a1;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month{color:#333;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend{color:#d43f3a;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date{color:black;background-color:#fff3a1;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend{color:#d43f3a;background-color:#fff3a1;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_dis,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_dis,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_dis,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_dis{color:#d43f3a;background-color:#ededed;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_holiday{color:#d43f3a;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_holiday{color:#d43f3a;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_holiday{color:#d43f3a;background-color:#fff3a1;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_holiday{color:#d43f3a;background-color:#fff3a1;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_holiday_dis,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_holiday_dis,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_holiday_dis,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_holiday_dis{color:#c4c4c4;background-color:#ededed;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_hover{color:#333;background-color:#fff3a1;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_hover{color:#d43f3a;background-color:#fff3a1;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_hover{color:#333;background-color:#fff3a1;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_hover{color:#d43f3a;background-color:#fff3a1;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_holiday_hover{color:#d43f3a;background-color:#fff3a1;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_holiday_hover{color:#d43f3a;background-color:#fff3a1;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_holiday_hover{color:#d43f3a;background-color:#fff3a1;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_holiday_hover{color:#d43f3a;background-color:#fff3a1;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line div.dhtmlxcalendar_label.dhtmlxcalendar_label_title{background-image:url("imgs/dhxcalendar_terrace/dhxcalendar_mark.gif");background-position:top right;background-repeat:no-repeat;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont{position:relative;display:block;width:249px;height:31px;margin-top:-4px;border-left:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc;border-bottom-left-radius:3px;border-bottom-right-radius:3px;background-color:#fff;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;overflow:hidden;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li{width:225px;height:27px;line-height:25px;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr{text-align:left;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li div.dhtmlxcalendar_time_img{position:absolute;left:22px;top:6px;width:13px;height:13px;background-image:url("imgs/dhxcalendar_terrace/dhxcalendar_clock.gif");background-position:center center;background-repeat:no-repeat;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_hours{margin-left:42px;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li div.dhtmlxcalendar_time_img{left:75px;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr{text-align:center;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_hours{margin-left:0;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr div.dhtmlxcalendar_time_img,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_hours,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_minutes,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_colon{display:none;}.dhtmlxcalendar_dhx_terrace span.dhtmlxcalendar_label_colon{padding:0 4px;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_cover{position:absolute;left:1px;background-color:white;opacity:.5;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj{position:absolute;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_selector_obj_arrow{position:absolute;bottom:auto;top:1px;left:0;width:100%;height:9px;overflow:hidden;background-image:url("imgs/dhxcalendar_terrace/dhxcalendar_selector_top.gif");background-position:top center;background-repeat:no-repeat;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours div.dhtmlxcalendar_selector_obj_arrow{background-position:-13px top;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 div.dhtmlxcalendar_selector_obj_arrow{background-position:-27px top;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_selector_obj_arrow{background-position:-52px top;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table{border-bottom:1px solid #ccc;border-top:0 solid white;background-color:white;margin-top:9px;box-shadow:0 0 5px rgba(0,0,0,0.25);}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left{width:17px;text-align:center;border-top:1px solid #ccc;border-left:1px solid #ccc;border-bottom:0 solid white;border-right:0 solid white;padding:0;margin:0;background-color:white;background-image:url("imgs/dhxcalendar_terrace/dhxcalendar_arrow_left.gif");background-position:center center;background-repeat:no-repeat;cursor:default;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left.dhtmlxcalendar_selector_cell_left_hover{background-image:url("imgs/dhxcalendar_terrace/dhxcalendar_arrow_left.gif");}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle{cursor:default;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right{width:17px;text-align:center;border-top:1px solid #ccc;border-right:1px solid #ccc;border-bottom:0 solid white;border-left:0 solid white;background-color:white;background-image:url("imgs/dhxcalendar_terrace/dhxcalendar_arrow_right.gif");background-position:center center;background-repeat:no-repeat;cursor:default;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right.dhtmlxcalendar_selector_cell_right_hover{background-image:url("imgs/dhxcalendar_terrace/dhxcalendar_arrow_right.gif");}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul{display:block;clear:both;background-color:white;border-left:1px solid #ccc;margin:0;padding:0;overflow:hidden;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul li{float:left;font-family:Arial,Helvetica;font-size:12px;color:#333;list-style-type:none;list-style-image:none;text-align:center;vertical-align:middle;margin:0;border-right:1px solid #ccc;padding:0;background-color:white;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:default;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul li.dhtmlxcalendar_selector_cell_active,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul li.dhtmlxcalendar_selector_cell_hover{background-color:#fff3a1;color:black;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right{display:none;width:0;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line{height:24px;border-top:1px solid #ccc;border-bottom:0 solid white;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell{width:35px;height:24px;line-height:24px;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours div.dhtmlxcalendar_selector_obj_arrow,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 div.dhtmlxcalendar_selector_obj_arrow,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_selector_obj_arrow{top:auto;bottom:1px;background-image:url("imgs/dhxcalendar_terrace/dhxcalendar_selector_bottom.gif");}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line{height:22px;border-top:0 solid white;border-bottom:1px solid #ccc;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell{width:24px;height:22px;line-height:22px;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right{display:none;width:0;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table{margin-top:0;margin-bottom:9px;border-top:1px solid #ccc;border-bottom:none;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_month,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_year,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_hours,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_hours2,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_minutes,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_minutes4,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_minutes5{display:none;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month div.dhtmlxcalendar_area_selector_month,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_year div.dhtmlxcalendar_area_selector_year,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours div.dhtmlxcalendar_area_selector_hours,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 div.dhtmlxcalendar_area_selector_hours,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_area_selector_minutes,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_area_selector_minutes4,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_area_selector_minutes5{display:block;}.dhtmlxcalendar_dhx_terrace span.dhtmlxcalendar_label_minutes span.dhtmlxcalendar_selected_date{border-bottom:2px solid red;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn{display:none;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell{width:27px;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_wn div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell{width:27px;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_first,.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell{width:27px;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn{display:block;width:27px;color:#3da0e3;background-color:#efefef;}.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_wn div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn{display:block;width:27px;color:#3da0e3;background-color:#efefef;}div.dhtmlxcalendar_skin_detect{position:absolute;display:block;visibility:hidden;left:-100px;top:0;width:30px;height:10px;margin:0;padding:0;border:none;overflow:hidden;}div.dhxcombo_dhx_terrace{position:relative;border:1px solid #ccc;overflow:hidden;vertical-align:middle;background-color:white;font-size:1px;height:24px;-webkit-tap-highlight-color:rgba(0,0,0,0);}div.dhxcombo_dhx_terrace input.dhxcombo_input{position:absolute;left:1px;top:0;*top:1px;height:24px;line-height:23px;*height:22px;*line-height:21px;border:0 solid white;outline:0 solid white;padding:0;margin:0 0 0 2px;background-color:white;vertical-align:top;font-family:Arial,Helvetica;font-size:13px;color:black;}div.dhxcombo_dhx_terrace input.dhxcombo_input::-ms-clear{display:none;}div.dhxcombo_dhx_terrace div.dhxcombo_select_button{position:absolute;width:16px;height:17px;top:4px;right:2px;font-size:1px;cursor:pointer;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;overflow:hidden;}div.dhxcombo_dhx_terrace div.dhxcombo_select_button div.dhxcombo_select_img{position:relative;width:100%;height:100%;background-image:url("imgs/dhxcombo_terrace/dhxcombo_arrow_down.gif");background-repeat:no-repeat;background-position:center center;}div.dhxcombo_dhx_terrace div.dhxcombo_top_image{position:absolute;left:0;top:0;width:23px;height:25px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;overflow:hidden;cursor:default;}div.dhxcombo_dhx_terrace div.dhxcombo_top_image div.dhxcombo_image{top:4px;*top:3px;}div.dhxcombolist_dhx_terrace{position:absolute;border:1px solid #ccc;box-shadow:0 3px 5px rgba(127,127,127,0.35);background-color:#f5f5f5;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;overflow-x:none;overflow-y:auto;-webkit-tap-highlight-color:rgba(0,0,0,0);}div.dhxcombolist_dhx_terrace div.dhxcombo_option{position:relative;font-size:inherit;font-family:Arial,Helvetica;font-size:13px;color:#333;height:27px;line-height:27px;vertical-align:middle;overflow:hidden;cursor:default;}div.dhxcombolist_dhx_terrace div.dhxcombo_option.dhxcombo_option_selected{background-color:#fff3a1;}div.dhxcombolist_dhx_terrace div.dhxcombo_option.dhxcombo_option_selected .dhxcombo_option_text{color:black;}div.dhxcombolist_dhx_terrace div.dhxcombo_option div.dhxcombo_option_text{position:relative;padding:0 4px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;white-space:nowrap;}div.dhxcombolist_dhx_terrace div.dhxcombo_option div.dhxcombo_option_text.dhxcombo_option_text_chbx{position:relative;padding:0 4px 0 4px;margin-left:20px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;white-space:nowrap;}div.dhxcombolist_dhx_terrace div.dhxcombo_option div.dhxcombo_checkbox{position:absolute;left:3px;width:18px;height:18px;background-image:url("imgs/dhxcombo_terrace/dhxcombo_chbx.gif");background-repeat:no-repeat;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;overflow:hidden;cursor:default;}div.dhxcombolist_dhx_terrace div.dhxcombo_option div.dhxcombo_checkbox{top:5px;}div.dhxcombolist_dhx_terrace div.dhxcombo_option div.dhxcombo_checkbox.dhxcombo_chbx_1{background-position:0 0;}div.dhxcombolist_dhx_terrace div.dhxcombo_option div.dhxcombo_checkbox.dhxcombo_chbx_0{background-position:-18px 0;}div.dhxcombolist_dhx_terrace div.dhxcombo_option div.dhxcombo_option_text.dhxcombo_option_text_image{position:relative;padding:0 4px 0 4px;margin-left:20px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;white-space:nowrap;}div.dhxcombolist_dhx_terrace div.dhxcombo_option div.dhxcombo_image{top:5px;}div.dhxcombo_dhx_terrace div.dhxcombo_top_image div.dhxcombo_image,div.dhxcombolist_dhx_terrace div.dhxcombo_option div.dhxcombo_image{position:absolute;top:3px;left:3px;width:18px;height:18px;background-repeat:no-repeat;background-position:center center;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;overflow:hidden;cursor:default;}div.dhxcombolist_dhx_terrace div.dhxcombo_option div.dhxcombo_image{top:5px;}div.dhxcombo_dhx_terrace.dhxcombo_disabled{border:1px solid #d4d4d4;background-color:#fcfcfc;}div.dhxcombo_dhx_terrace.dhxcombo_disabled input.dhxcombo_input{color:#bbb;background-color:#fcfcfc;}div.dhxcombo_dhx_terrace.dhxcombo_disabled div.dhxcombo_select_button div.dhxcombo_select_img{background-image:url("imgs/dhxcombo_terrace/dhxcombo_arrow_down_dis.gif");cursor:default;}.dhxgrid_combo_icon{position:absolute;z-index:1;top:0;right:0;}div.dhxcombo_in_grid_parent{position:relative;height:100%;top:0;}div.dhxcombo_in_grid_parent div.dhxcombo_dhx_terrace{position:absolute;top:3px;left:-22px;border-color:#fff3a1;}div.dhxcombo_in_grid_parent input.dhxcombo_input{border-left:20px solid white;font-family:Arial;font-size:12px;}div.dhxcombolist_dhx_terrace.dhxcombolist_hdr{border-bottom-width:0;height:31px;line-height:31px;box-shadow:none;}div.dhxcombolist_dhx_terrace.dhxcombolist_hdr div.dhxcombo_hdrtext{position:relative;padding:0;white-space:nowrap;cursor:default;font-family:Arial,Helvetica;font-size:13px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}div.dhxcombolist_dhx_terrace.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell,div.dhxcombolist_dhx_terrace.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell_first{float:left;white-space:nowrap;overflow:hidden;position:relative;z-index:2;border-left:1px solid #f5f5f5;padding:0;margin:0;}div.dhxcombolist_dhx_terrace.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell_first,div.dhxcombolist_dhx_terrace.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell:first-child{border-left-width:0;}div.dhxcombolist_dhx_terrace.dhxcombolist_multicolumn div.dhxcombo_option{height:27px;line-height:27px;margin-top:-1px;z-index:0;border-top:1px solid #f5f5f5;border-bottom:1px solid #f5f5f5;background-color:white;}div.dhxcombolist_dhx_terrace.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_option_text{padding:0;}div.dhxcombolist_dhx_terrace.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell,div.dhxcombolist_dhx_terrace.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell_first{float:left;white-space:nowrap;overflow:hidden;position:relative;border-left:1px solid #f5f5f5;padding:0;margin:0;}div.dhxcombolist_dhx_terrace.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell_first,div.dhxcombolist_dhx_terrace.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell:first-child{border-left-width:0;}div.dhxcombolist_dhx_terrace.dhxcombolist_multicolumn div.dhxcombo_option.dhxcombo_option_selected{z-index:1;background-color:#fff3a1;border-top-color:#ccc;border-bottom-color:#ccc;}div.dhxcombolist_dhx_terrace.dhxcombolist_multicolumn div.dhxcombo_option.dhxcombo_option_selected div.dhxcombo_cell{border-left-color:#fff3a1;color:black;}div.dhxcombolist_dhx_terrace.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell_text,div.dhxcombolist_dhx_terrace.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell_text{position:relative;margin:0 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:auto;min-height:32px;}.dhxcombo_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:30px;height:10px;overflow:hidden;}.dhxcolorpicker_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:30px;height:10px;overflow:hidden;}.dhtmlxcp_dhx_terrace .dhxcp_g_area{position:absolute;width:254px;height:272px;border:1px solid #ccc;border-radius:3px;background-color:#f5f5f5;box-shadow:0 0 5px 2px #cfcfcf;}.dhtmlxcp_dhx_terrace .dhxcp_add_memory{height:317px!important;}.dhtmlxcp_dhx_terrace .dhxcp_sub_area{margin:1px;width:252px;height:270px;border-radius:2px;background-color:#f5f5f5;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhtmlxcp_dhx_terrace .dhxcp_add_memory .dhxcp_sub_area{height:315px!important;}.dhtmlxcp_dhx_terrace .dhxcp_g_color_area{padding:10px;width:232px;height:122px;margin:0;}.dhtmlxcp_dhx_terrace .dhxcp_color_selector{position:absolute;width:210px;height:120px;background-image:url("imgs/dhxcp_terrace/dhxcp_colors.png");background-repeat:no-repeat;border:1px solid #ccc;cursor:pointer;float:left;}.dhtmlxcp_dhx_terrace .dhxcp_contrast_area{border:1px solid #ccc;position:relative;height:120px;width:10px;cursor:pointer;float:right;}.dhtmlxcp_dhx_terrace .dhxcp_ie_gradient{height:120px;width:10px;margin:0;}.dhtmlxcp_dhx_terrace .dhxcp_color_selector .dhxcp_v_line{position:absolute;width:0;height:120px;border-left:1px solid #fff;cursor:pointer;overflow:hidden;}.dhtmlxcp_dhx_terrace .dhxcp_color_selector .dhxcp_h_line,.dhtmlxcp_dhx_terrace .dhxcp_contrast_area .dhxcp_h_line{position:absolute;height:0;border-top:1px solid #fff;cursor:pointer;overflow:hidden;}.dhtmlxcp_dhx_terrace .dhxcp_color_selector .dhxcp_h_line{width:210px;}.dhtmlxcp_dhx_terrace .dhxcp_contrast_area .dhxcp_h_line{width:10px;}.dhtmlxcp_dhx_terrace .dhxcp_g_input_area{padding:0 10px;width:232px;height:78px;margin:0;}.dhtmlxcp_dhx_terrace .dhxcp_value_cont{width:60px;height:78px;float:left;}.dhtmlxcp_dhx_terrace .dhxcp_value_color{width:58px;height:30px;border:1px solid #ccc;}.dhtmlxcp_dhx_terrace .dhxcp_value{width:54px;height:21px;line-height:20px;border:1px solid #ccc;border-radius:0;background-color:#fff;margin:5px 0 0 0;padding:0 2px;font-family:Arial,Helvetica;font-size:13px;color:black;text-align:left;}.dhtmlxcp_dhx_terrace .dhxcp_inputs_cont{border:none;border-spacing:0;width:160px;height:78px;float:right;}.dhtmlxcp_dhx_terrace .dhxcp_label_hsl,.dhtmlxcp_dhx_terrace .dhxcp_label_rgb{text-align:right;font-family:Arial,Helvetica;font-size:13px;color:#333;padding:0 3px 0 0;}.dhtmlxcp_dhx_terrace td.dhxcp_input_hsl,.dhtmlxcp_dhx_terrace td.dhxcp_input_rgb{width:27px;border:none;padding:0;margin:0;}.dhtmlxcp_dhx_terrace input.dhxcp_input_hsl,.dhtmlxcp_dhx_terrace input.dhxcp_input_rgb{width:24px;height:19px;border:1px solid #ccc;border-radius:0;background-color:#fff;font-family:Arial,Helvetica;font-size:13px;color:black;text-align:right;padding:1px 3px;margin:2px 0;}.dhtmlxcp_dhx_terrace .dhxcp_g_memory_area{width:232px;height:0;overflow:hidden;border:1px solid #ccc;border-bottom:none;border-left:none;border-right:none;margin:10px;}.dhtmlxcp_dhx_terrace .dhxcp_memory_button_cont{width:232px;margin:0;height:24px;}.dhtmlxcp_dhx_terrace .dhxcp_buttons_area button,.dhtmlxcp_dhx_terrace .dhxcp_memory_button_cont button{outline:none;border-radius:0;padding:0;background-color:#f0f0f0;border:1px solid #ccc;font-family:Arial,Helvetica;font-size:13px;color:#333;border-radius:3px;}.dhtmlxcp_dhx_terrace .dhxcp_buttons_area button:hover,.dhtmlxcp_dhx_terrace .dhxcp_memory_button_cont button:hover{background-color:#ebebeb;}.dhtmlxcp_dhx_terrace .dhxcp_buttons_area button:active,.dhtmlxcp_dhx_terrace .dhxcp_memory_button_cont button:active{background-color:#e6e6e6;box-shadow:0 0 3px #d6d6d6 inset;}.dhtmlxcp_dhx_terrace .dhxcp_save_to_memory{width:232px;height:24px;margin:0;}.dhtmlxcp_dhx_terrace .dhxcp_save_to_memory .dhxcp_label_bm{display:inherit;width:90px;margin:0 auto;height:16px;}.dhtmlxcp_dhx_terrace .dhxcp_memory_els_cont{width:232px;height:25px;margin-top:3px;text-align:center;}.dhtmlxcp_dhx_terrace .dhxcp_memory_el{width:24px;height:24px;background-color:#fff;border:1px solid #ccc;display:inline-block;margin:0 1px;}.dhtmlxcp_dhx_terrace .dhxcp_memory_el_select{border:1px dashed black!important;}.dhtmlxcp_dhx_terrace .dhxcp_memory_el_next{border:1px dashed red!important;}.dhtmlxcp_dhx_terrace .dhxcp_add_memory .dhxcp_g_memory_area{height:55px!important;border-top:none!important;margin:5px 10px 5px 10px;}.dhtmlxcp_dhx_terrace .dhxcp_buttons_area{padding:0 10px;width:232px;height:28px;text-align:right;margin:0;}.dhtmlxcp_dhx_terrace .dhx_button_save,.dhtmlxcp_dhx_terrace .dhx_button_cancel{height:26px;line-height:22px;width:75px;margin:0 2px;overflow:hidden;text-align:center;}.dhxcp_colorBox{float:right;}.dhxcp_colorInput{float:left;}.dhxcp_frm{position:absolute;background-color:white;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);width:256px;height:274px;}.dhtmlxslider_dhx_terrace{z-index:0;}.dhtmlxslider_dhx_terrace .dhxsl_hidden{display:none;}.dhtmlxslider_dhx_terrace .dhxsl_container{position:relative;float:left;clear:left;margin:0;padding:1px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);}.dhtmlxslider_dhx_terrace .dhxsl_container.dhxsl_cont_hr{margin-top:4px;}.dhtmlxslider_dhx_terrace .dhxsl_container.dhxsl_cont_vr{margin-left:4px;}.dhtmlxslider_dhx_terrace .dhxsl_runner{position:absolute;margin:0;padding:0;overflow:hidden;border:1px solid #ccc;border-radius:3px;background-color:#e8e8e8;-webkit-touch-callout:none;-webkit-user-select:none;-ms-touch-action:none;z-index:1;}.dhtmlxslider_dhx_terrace .dhxsl_runner.dhxsl_runner_actv{background-color:#e6e6e6;z-index:2;}.dhtmlxslider_dhx_terrace .dhxsl_cont_hr .dhxsl_runner{width:12px;height:22px;}.dhtmlxslider_dhx_terrace .dhxsl_cont_vr .dhxsl_runner{width:22px;height:12px;}.dhtmlxslider_dhx_terrace .dhxsl_runner_dis{border:1px solid #d1d1d1;background-color:#f0f0f0;}.dhtmlxslider_dhx_terrace .dhxsl_track{border:1px solid #ccc;border-radius:3px;background-color:#f5f5f5;overflow:hidden;position:relative;margin:0;padding:0;-webkit-touch-callout:none;-webkit-user-select:none;-ms-touch-action:none;}.dhtmlxslider_dhx_terrace .dhxsl_track div.dhxsl_track_bg{position:absolute;background-color:#f0f0f0;font-size:1px;overflow:hidden;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhtmlxslider_dhx_terrace .dhxsl_cont_vr .dhxsl_track{height:100%;width:8px;}.dhtmlxslider_dhx_terrace .dhxsl_cont_vr .dhxsl_track div.dhxsl_track_bg{left:0;width:100%;}.dhtmlxslider_dhx_terrace .dhxsl_cont_hr .dhxsl_track{width:100%;height:8px;}.dhtmlxslider_dhx_terrace .dhxsl_cont_hr .dhxsl_track div.dhxsl_track_bg{top:0;height:100%;}.dhtmlxslider_dhx_terrace .dhxsl_track_dis{border:1px solid #d1d1d1;background-color:#f0f0f0;}.dhtmlxslider_dhx_terrace .dhxsl_track_dis div.dhxsl_track_bg{background-color:#f0f0f0;}.dhxslider_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:30px;height:10px;overflow:hidden;}div.dhx_popup_skin_detect{position:absolute;display:block;visibility:hidden;left:-100px;top:0;width:30px;height:10px;margin:0;padding:0;border:none;overflow:hidden;}div.dhx_popup_dhx_terrace{-webkit-tap-highlight-color:rgba(0,0,0,0);position:absolute;}div.dhx_popup_dhx_terrace div.dhx_popup_area{position:relative;margin:10px;padding:5px 0;border:1px solid #ccc;box-shadow:0 0 5px rgba(127,127,127,0.35);border-radius:3px;background-color:#f5f5f5;}div.dhx_popup_dhx_terrace div.dhx_popup_area td.dhx_popup_td{font-family:Arial,Helvetica;font-size:13px;color:#333;text-align:left;line-height:normal;padding:7px 10px 6px 10px;white-space:nowrap;cursor:default;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}div.dhx_popup_dhx_terrace div.dhx_popup_area td.dhx_popup_td div.dhtmlxcalendar_dhx_terrace{position:relative;float:left;}div.dhx_popup_dhx_terrace div.dhx_popup_area td.dhx_popup_td *{white-space:normal;}div.dhx_popup_dhx_terrace div.dhx_popup_area tr.dhxnode td.dhx_popup_td{-webkit-user-select:text;-khtml-user-select:text;-moz-user-select:text;-ms-user-select:text;-o-user-select:text;user-select:text;}div.dhx_popup_dhx_terrace div.dhx_popup_area tr.dhxnode td.dhx_popup_td .dhtmlxcalendar_container.dhtmlxcalendar_skin_dhx_terrace{position:relative!important;box-shadow:none;background-image:none;}div.dhx_popup_dhx_terrace div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxeditor_dhx_terrace{border:1px solid #ccc;}div.dhx_popup_dhx_terrace div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhtmlxcp_dhx_terrace div.dhxcp_g_area{position:relative;box-shadow:none;border:0 solid white;}div.dhx_popup_dhx_terrace div.dhx_popup_area tr.dhx_popup_sep td.dhx_popup_sep{font-size:1px;padding-top:2px;padding-bottom:2px;position:relative;}div.dhx_popup_dhx_terrace div.dhx_popup_area tr.dhx_popup_sep td.dhx_popup_sep div.dhx_popup_sep{position:relative;font-size:1px;line-height:1px;height:0;width:100%;border-top:1px solid #dcdcdc;overflow:hidden;}div.dhx_popup_dhx_terrace div.dhx_popup_area td.dhx_popup_td:first-child{padding-left:23px;}div.dhx_popup_dhx_terrace div.dhx_popup_area td.dhx_popup_td:last-child{padding-right:21px;}div.dhx_popup_dhx_terrace div.dhx_popup_area tr:hover td.dhx_popup_td{background-color:#fff3a1;color:black;}div.dhx_popup_dhx_terrace div.dhx_popup_area tr.dhxnode:hover td.dhx_popup_td{background:none;}div.dhx_popup_dhx_terrace div.dhx_popup_area.dhx_popup_area_ie td.dhx_popup_td.dhx_popup_td_single{padding-left:23px;padding-right:21px;}div.dhx_popup_dhx_terrace div.dhx_popup_area.dhx_popup_area_ie td.dhx_popup_td.dhx_popup_td_first{padding-left:23px;}div.dhx_popup_dhx_terrace div.dhx_popup_area.dhx_popup_area_ie td.dhx_popup_td.dhx_popup_td_last{padding-right:21px;}div.dhx_popup_dhx_terrace div.dhx_popup_area.dhx_popup_area_ie tr.tr_hover td.dhx_popup_td{background-color:#fff3a1;color:black;}div.dhx_popup_dhx_terrace div.dhx_popup_arrow{position:absolute;background-repeat:no-repeat;}div.dhx_popup_dhx_terrace div.dhx_popup_arrow.dhx_popup_arrow_bottom{width:19px;height:16px;background-image:url("imgs/dhxpopup_terrace/dhxpopup_arrow_bottom.gif");background-position:top center;}div.dhx_popup_dhx_terrace div.dhx_popup_arrow.dhx_popup_arrow_top{width:19px;height:16px;background-image:url("imgs/dhxpopup_terrace/dhxpopup_arrow_top.gif");background-position:bottom center;}div.dhx_popup_dhx_terrace div.dhx_popup_arrow.dhx_popup_arrow_right{width:16px;height:19px;background-image:url("imgs/dhxpopup_terrace/dhxpopup_arrow_right.gif");background-position:center left;}div.dhx_popup_dhx_terrace div.dhx_popup_arrow.dhx_popup_arrow_left{width:16px;height:19px;background-image:url("imgs/dhxpopup_terrace/dhxpopup_arrow_left.gif");background-position:center right;}.dhxmenu_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:30px;height:10px;overflow:hidden;}.dhtmlxMenu_dhx_terrace_Middle{position:relative;height:34px;padding:0 5px;border:none;overflow:hidden;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhtmlxMenu_dhx_terrace_Middle div.top_sep{float:left;position:relative;height:20px;margin:5px 6px 0 5px;line-height:1px;font-size:1px;overflow:hidden;cursor:default;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhtmlxMenu_dhx_terrace_Middle img.dhtmlxMenu_TopLevel_Item_Icon{float:left;margin:2px 3px 0 3px;width:18px;height:18px;}.dhtmlxMenu_dhx_terrace_Middle div.dhtmlxMenu_TopLevel_Text_right{position:absolute;top:10px;left:none;right:8px;font-family:Arial,Helvetica;font-size:13px;color:#333;cursor:default;}.dhtmlxMenu_dhx_terrace_Middle div.dhtmlxMenu_TopLevel_Text_left{position:absolute;top:10px;right:none;left:8px;font-family:Arial,Helvetica;font-size:13px;color:#333;cursor:default;}.dhtmlxMenu_dhx_terrace_Middle.dir_left div.align_left{float:left;}.dhtmlxMenu_dhx_terrace_Middle.dir_left div.align_right{float:right;}div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Normal,div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Disabled,div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Selected{position:relative;float:left;font-family:Arial,Helvetica;font-size:13px;color:#333;border:1px solid #ccc;background-color:#f5f5f5;cursor:default;white-space:nowrap;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;height:22px;line-height:22px;vertical-align:middle;margin-top:2px;padding:3px 5px;}div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Normal div.top_level_text,div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Disabled div.top_level_text,div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Selected div.top_level_text{float:left;margin:0 5px;}div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Normal i,div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Disabled i,div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Selected i{height:inherit;line-height:inherit;float:left;color:inherit;margin:0 5px;font-size:1.1em;}div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Disabled{color:#d1d1d1;background-color:#ededed;}div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Selected{color:#2e2e2e;background-color:#ebebeb;}div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon{position:absolute;border:1px solid #ccc;*border:1px solid #c7c7c7;box-shadow:0 0 5px rgba(127,127,127,0.35);padding:3px 0;border-bottom-left-radius:1px;border-bottom-right-radius:1px;border-top-right-radius:1px;background-color:#f5f5f5;overflow:hidden;cursor:default;line-height:normal;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td{font-family:Arial,Helvetica;font-size:13px;color:#333;line-height:normal;padding:0 5px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_selected td{background-color:#fff3a1;color:black;}div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_icon{width:18px;text-align:center;vertical-align:middle;}div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_icon img.sub_icon{float:left;margin:0;width:18px;height:18px;}div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_icon i{float:left;text-align:center;width:18px;height:18px;line-height:17px;font-size:1.1em;color:inherit;}div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_item_text{padding:0 16px 0 1px;height:26px;line-height:25px;white-space:nowrap;text-align:left;}div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_item_text{color:#bbb;}div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis td.sub_item_icon i{color:#bbb!important;}div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_hk{padding-left:8px;padding-right:8px;}div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_hk div.sub_item_hk{font-family:Arial,Helvetica;font-size:13px;color:#737373;text-align:right;}div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis td.sub_item_hk div.sub_item_hk{color:#c8c8c8!important;}div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.complex_arrow{width:4px;margin:0 2px 0 5px;height:22px;background-image:url("imgs/dhxmenu_terrace/dhxmenu_subar.gif");background-repeat:no-repeat;background-position:0 0;overflow:hidden;font-size:1px;float:right;}div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_selected div.complex_arrow{background-position:-4px 0!important;}div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.complex_arrow{background-position:-8px 0!important;}div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.complex_arrow_loading{width:11px;height:22px;background-position:center center;background-repeat:no-repeat;background-image:url("imgs/dhxmenu_terrace/dhxmenu_loader.gif");float:right;}div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon{float:left;margin:0;width:18px;height:18px;background-position:top right;background-repeat:no-repeat;background-image:url("imgs/dhxmenu_terrace/dhxmenu_chrd.gif");}div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.chbx_0{background-position:0 0!important;}div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.chbx_1{background-position:-18px 0!important;}div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.chbx_0{background-position:-36px 0!important;}div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.chbx_1{background-position:-54px 0!important;}div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.rdbt_0{background-position:-72px 0!important;}div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.rdbt_1{background-position:-90px 0!important;}div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.rdbt_0{background-position:-108px 0!important;}div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.rdbt_1{background-position:-126px 0!important;}div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon tr.sub_sep td{padding:2px 0;}div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon div.sub_sep{position:static;font-size:1px;line-height:1px;height:1px;width:100%;border-top:1px solid #e8e8e8;}iframe.dhtmlxMenu_IE6CoverFix_dhx_terrace{position:absolute;border:none;background:#000;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=100);}div.dhtmlxMenu_dhx_terrace_SubLevelArea_ArrowUp,div.dhtmlxMenu_dhx_terrace_SubLevelArea_ArrowUp_Over,div.dhtmlxMenu_dhx_terrace_SubLevelArea_ArrowUp_Disabled{position:relative;font-size:1px;border-bottom:1px solid #ccc;background-image:url("imgs/dhxmenu_terrace/dhxmenu_arrow_up.gif");background-repeat:no-repeat;background-position:center center;padding:8px 0;margin-bottom:3px;}div.dhtmlxMenu_dhx_terrace_SubLevelArea_ArrowUp_Disabled{background-image:url("imgs/dhxmenu_terrace/dhxmenu_arrow_up_dis.gif");}div.dhtmlxMenu_dhx_terrace_SubLevelArea_ArrowDown,div.dhtmlxMenu_dhx_terrace_SubLevelArea_ArrowDown_Over,div.dhtmlxMenu_dhx_terrace_SubLevelArea_ArrowDown_Disabled{position:relative;font-size:1px;border-top:1px solid #ccc;background-image:url("imgs/dhxmenu_terrace/dhxmenu_arrow_down.gif");background-repeat:no-repeat;background-position:center center;padding:8px 0;margin-top:3px;}div.dhtmlxMenu_dhx_terrace_SubLevelArea_ArrowDown_Disabled{background-image:url("imgs/dhxmenu_terrace/dhxmenu_arrow_down_dis.gif");}.dhtmlxribbon_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:30px;height:10px;overflow:hidden;}.dhtmlxribbon_dhx_terrace.dhxrb_without_tabbar{background-color:#fff;border:1px solid #ccc;}.dhtmlxribbon_dhx_terrace{overflow:hidden;width:100%;}.dhtmlxribbon_dhx_terrace .dhxrb_background_area{height:116px;background-color:#fff;margin:1px;}.dhtmlxribbon_dhx_terrace .dhxrb_with_tabbar{height:151px;}.dhtmlxribbon_dhx_terrace div.dhx_cell_tabbar{background-color:#fff;}.dhtmlxribbon_dhx_terrace .dhxrb_g_area{height:114px;float:left;clear:left;overflow:hidden;position:relative;}.dhtmlxribbon_dhx_terrace .dhxrb_block_base{margin:3px 0 3px 3px;float:left;border:1px solid #ccc;background-color:#f5f5f5;border-radius:3px;height:108px;overflow:hidden;position:relative;}.dhtmlxribbon_dhx_terrace .dhxrb_block_base .dhxrb_block_items{height:85px;float:left;padding:2px 0;overflow:hidden;}.dhtmlxribbon_dhx_terrace .dhxrb_block_base>.dhxrb_block_label{height:19px;line-height:18px;*height:auto;*line-height:1em;}.dhtmlxribbon_dhx_terrace .dhxrb_block_base .dhxrb_block_label{text-align:center;clear:left;font-family:Arial,Helvetica;font-size:13px;color:#b5b5b5;background-color:#e8e8e8;*font-size:12px;*padding:1px 3px 3px;*font-family:Arial;}.dhtmlxribbon_dhx_terrace .dhxrb_big_button{margin:1px 3px;float:left;text-align:center;padding:4px 10px;height:72px;border-radius:3px;border:1px solid #f5f5f5;font-family:Arial,Helvetica;font-size:13px;color:#333;background-color:#f5f5f5;}.dhtmlxribbon_dhx_terrace .dhxrb_big_button .dhxrb_image{width:48px;height:48px;border:none;}.dhtmlxribbon_dhx_terrace .dhxrb_big_button i{position:relative;display:block;margin-top:2px;margin-bottom:2px;width:48px;height:48px;line-height:47px;font-size:30px;color:inherit;cursor:default;text-align:center;}.dhtmlxribbon_dhx_terrace .dhxrb_big_button .dhxrb_label_button{margin:0 auto;cursor:default;font-family:Arial,Helvetica;font-size:13px;color:#333;line-height:11px;}.dhtmlxribbon_dhx_terrace .dhxrb_big_button .dhxrb_invisible{visibility:hidden;}.dhtmlxribbon_dhx_terrace .dhxrb_3rows_block{float:left;margin:0 3px;overflow:hidden;position:relative;}.dhtmlxribbon_dhx_terrace .dhxrb_3rows_block .dhxrb_invisible{display:none;}.dhtmlxribbon_dhx_terrace .dhxrb_3rows_button{height:22px;margin:1px 0;float:left;clear:left;padding:1px 8px;border-radius:3px;border:1px solid #f5f5f5;font-family:Arial,Helvetica;font-size:13px;color:#333;background-color:#f5f5f5;}.dhtmlxribbon_dhx_terrace .dhxrb_in_row{height:22px;margin:1px 0;float:left;padding:1px 8px;white-space:nowrap;border-radius:3px;border:1px solid #f5f5f5;font-family:Arial,Helvetica;font-size:13px;color:#333;background-color:#f5f5f5;}.dhtmlxribbon_dhx_terrace .dhxrb_group .dhxrb_buttoncombo_cont{height:20px;}.dhtmlxribbon_dhx_terrace .dhxrb_buttoncombo_cont{height:24px;padding:1px 2px!important;}.dhtmlxribbon_dhx_terrace .dhxrb_buttoncombo{float:left;}.dhtmlxribbon_dhx_terrace .dhxrb_in_row .dhxrb_slider,.dhtmlxribbon_dhx_terrace .dhxrb_3rows_button .dhxrb_slider{float:left;margin-right:5px;}.dhtmlxribbon_dhx_terrace .dhxrb_in_row center,.dhtmlxribbon_dhx_terrace .dhxrb_in_group center,.dhtmlxribbon_dhx_terrace .dhxrb_3rows_button center{float:left;margin:0;padding:0;}.dhtmlxribbon_dhx_terrace .dhxrb_in_group .dhxrb_slider{float:left;margin-right:5px;}.dhtmlxribbon_dhx_terrace .dhxrb_big_button .dhxrb_slider{width:16px;margin:2px 0;height:50px;}.dhtmlxribbon_dhx_terrace .dhxrb_in_group{height:20px;float:left;padding:1px 4px;border:1px solid #f0f0f0;}.dhtmlxribbon_dhx_terrace .dhxrb_input{float:left;border:1px solid #ccc;height:18px;width:80px;padding:1px 2px;font-family:Arial,Helvetica;font-size:13px;color:#333;}.dhtmlxribbon_dhx_terrace .dhxrb_input:disabled{border:1px solid #d4d4d4;background-color:#fafafa;color:#bbb;}.dhtmlxribbon_dhx_terrace div.dhxcombo_dhx_terrace input.dhxcombo_input{float:left;height:18px;width:80px;padding:1px 2px;font-family:Arial,Helvetica;font-size:13px;color:black;line-height:18px;}.dhtmlxribbon_dhx_terrace .dhxrb_in_group .dhxrb_input,.dhtmlxribbon_dhx_terrace .dhxrb_in_group div.dhxcombo_dhx_terrace input.dhxcombo_input{height:16px;padding:1px 1px;line-height:16px;}.dhtmlxribbon_dhx_terrace .dhxrb_in_group div.dhxcombo_dhx_terrace div.dhxcombo_select_button{top:0;}.dhtmlxribbon_dhx_terrace div.dhxcombo_dhx_terrace div.dhxcombo_select_button{top:2px;}.dhtmlxribbon_dhx_terrace .dhxrb_3rows_button .dhxrb_image,.dhtmlxribbon_dhx_terrace .dhxrb_in_row .dhxrb_image,.dhtmlxribbon_dhx_terrace .dhxrb_in_group .dhxrb_image{margin:2px 0;width:18px;height:18px;float:left;}.dhtmlxribbon_dhx_terrace .dhxrb_3rows_button i,.dhtmlxribbon_dhx_terrace .dhxrb_in_row i,.dhtmlxribbon_dhx_terrace .dhxrb_in_group i{position:relative;float:left;width:18px;height:18px;line-height:17px;font-size:15px;margin-top:1px;color:inherit;cursor:default;text-align:center;}.dhtmlxribbon_dhx_terrace .dhxrb_item_disable i{color:#bbb;}.dhtmlxribbon_dhx_terrace .dhxrb_3rows_button .dhxrb_label_button,.dhtmlxribbon_dhx_terrace .dhxrb_in_row .dhxrb_label_button,.dhtmlxribbon_dhx_terrace .dhxrb_in_group .dhxrb_label_button{float:left;cursor:default;font-family:Arial,Helvetica;font-size:13px;color:#333;}.dhtmlxribbon_dhx_terrace .dhxrb_3rows_button .dhxrb_label_button,.dhtmlxribbon_dhx_terrace .dhxrb_in_row .dhxrb_label_button{margin:1px 0 1px 6px;line-height:19px;}.dhtmlxribbon_dhx_terrace .dhxrb_in_group .dhxrb_label_button{margin:1px;}.dhtmlxribbon_dhx_terrace .dhxrb_label_checkbox{float:left;margin:0 4px;cursor:default;font-family:Arial,Helvetica;font-size:13px;color:#333;line-height:21px;}.dhtmlxribbon_dhx_terrace .dhxrb_group .dhxrb_label_checkbox{line-height:19px;}.dhtmlxribbon_dhx_terrace .dhxrb_disable_text_style,.dhtmlxribbon_dhx_terrace .dhxrb_item_disable .dhxrb_label_checkbox{color:#bbb!important;-webkit-user-select:text;-khtml-user-select:text;-moz-user-select:text;-ms-user-select:text;-o-user-select:text;user-select:text;}.dhtmlxribbon_dhx_terrace .dhxrb_highlight0{border-color:#ebebeb;background-color:#ebebeb;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhtmlxribbon_dhx_terrace .dhxrb_highlight1{border-color:#e6e6e6;background-color:#e6e6e6;box-shadow:0 0 3px #d9d9d9 inset;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhtmlxribbon_dhx_terrace .dhxrb_in_group.dhxrb_highlight1,.dhtmlxribbon_dhx_terrace .dhxrb_in_group.dhxrb_highlight0{border-radius:1px;}.dhtmlxribbon_dhx_terrace .dhxrb_item_hide{display:none!important;}.dhtmlxribbon_dhx_terrace .dhxrb_block_rows{float:left;margin:0 3px;}.dhtmlxribbon_dhx_terrace .dhxrb_block_row{float:left;clear:left;height:28px;overflow:hidden;position:relative;}.dhtmlxribbon_dhx_terrace .dhxrb_arrow{padding:0 5px;margin-left:2px;background:url("imgs/dhxribbon_terrace/dhxribbon_arrow.gif") no-repeat 50%;}.dhtmlxribbon_dhx_terrace .dhxrb_3rows_block .dhxrb_group{border:1px solid #ccc;background-color:#f0f0f0;height:24px;border-radius:3px;float:left;clear:left;margin:1px 0;overflow:hidden;position:relative;}.dhtmlxribbon_dhx_terrace .dhxrb_block_row .dhxrb_group{border:1px solid #ccc;background-color:#f0f0f0;height:24px;border-radius:3px;float:left;margin:1px 0;overflow:hidden;position:relative;}.dhtmlxribbon_dhx_terrace .dhxrb_in_group .dhxrb_label_hide{display:none;}.dhtmlxribbon_dhx_terrace .dhxrb_separator_groupp{height:24px;width:0;border-left:1px solid #cacaca;overflow:hidden;float:left;}.dhtmlxribbon_dhx_terrace .dhxrb_checkbox{border:1px solid #ccc;background-color:white;float:left;width:12px;height:12px;margin-top:4px;overflow:hidden;}.dhtmlxribbon_dhx_terrace .dhxrb_in_group .dhxrb_checkbox{margin-top:3px;}.dhtmlxribbon_dhx_terrace .dhxrb_checked .dhxrb_checkbox{background-image:url("imgs/dhxribbon_terrace/dhxribbon_checked.gif");background-repeat:no-repeat;}.dhtmlxribbon_dhx_terrace .dhxrb_checked.dhxrb_item_disable>.dhxrb_checkbox{background-image:url("imgs/dhxribbon_terrace/dhxribbon_checked_dis.gif");}.dhtmlxribbon_dhx_terrace .dhxrb_item_disable .dhxrb_checkbox{border:1px solid #d4d4d4;background-color:#fafafa;}.dhtmlxribbon_dhx_terrace .dhxrb_item_text{font-family:Arial,Helvetica;font-size:13px;color:#333;}.dhtmlxribbon_dhx_terrace .dhxrb_in_group .dhxrb_item_text{height:20px;line-height:19px;*float:left;*clear:left;}.dhtmlxribbon_dhx_terrace .dhxrb_3rows_button .dhxrb_item_text,.dhtmlxribbon_dhx_terrace .dhxrb_in_row .dhxrb_item_text{font-family:Arial,Helvetica;font-size:14px;color:#333;}.dhtmlxribbon_dhx_terrace .dhxrb_big_button .dhxrb_item_text{font-family:Arial,Helvetica;font-size:30px;color:#333;line-height:72px;height:72px;float:left;clear:left;}.dhxtoolbar_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:30px;height:10px;overflow:hidden;}.dhx_toolbar_dhx_terrace{background-color:#fff;position:relative;padding:0 5px;height:34px;line-height:normal;cursor:default;overflow:hidden;font-family:Arial,Helvetica;font-size:13px;color:#333;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_24 div.dhx_toolbar_btn i{font-size:20px;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_32 div.dhx_toolbar_btn i{font-size:26px;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_48 div.dhx_toolbar_btn i{font-size:38px;}.dhx_toolbar_dhx_terrace div.dhxtoolbar_float_left{float:left;*margin-left:1px;}.dhx_toolbar_dhx_terrace div.dhxtoolbar_float_right{float:right;*margin-right:1px;}.dhx_toolbar_dhx_terrace div.dhx_toolbar_btn,.dhx_toolbar_dhx_terrace div.dhx_toolbar_arw{border:1px solid #ccc;background-color:#f5f5f5;position:relative;float:left;margin-top:2px;padding:3px 5px;*padding-bottom:4px;*margin-left:-1px;line-height:normal;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:default;height:22px;*height:20px;overflow:hidden;}.dhx_toolbar_dhx_terrace div.dhx_toolbar_btn.dhxtoolbar_btn_dis,.dhx_toolbar_dhx_terrace div.dhx_toolbar_arw.dhxtoolbar_btn_dis{color:#bbb;background-color:#fafafa;}.dhx_toolbar_dhx_terrace div.dhx_toolbar_btn.dhxtoolbar_btn_over,.dhx_toolbar_dhx_terrace div.dhx_toolbar_arw.dhxtoolbar_btn_over{color:#2e2e2e;background-color:#ebebeb;}.dhx_toolbar_dhx_terrace div.dhx_toolbar_btn.dhxtoolbar_btn_pres,.dhx_toolbar_dhx_terrace div.dhx_toolbar_arw.dhxtoolbar_btn_pres{color:#2e2e2e;background-color:#e6e6e6;box-shadow:0 0 5px #d9d9d9 inset;}.dhx_toolbar_dhx_terrace div.dhx_toolbar_btn{float:left;}.dhx_toolbar_dhx_terrace div.dhx_toolbar_btn.dhxtoolbar_btn_pres_dis{background-color:#e6e6e6;}.dhx_toolbar_dhx_terrace div.dhx_toolbar_btn img{float:left;margin:2px;width:18px;height:18px;cursor:default;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhx_toolbar_dhx_terrace div.dhx_toolbar_btn i{float:left;margin:2px;width:18px;height:18px;line-height:17px;font-size:1.1em;text-align:center;cursor:default;color:inherit;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhx_toolbar_dhx_terrace div.dhx_toolbar_btn .dhxtoolbar_input{position:relative;float:left;border:1px solid #ccc;background-color:#fff;margin:1px 5px;padding:2px;font-family:Arial,Helvetica;font-size:11px;color:black;line-height:normal;direction:ltr;outline:none;}.dhx_toolbar_dhx_terrace div.dhx_toolbar_btn .dhxtoolbar_input:disabled{background-color:#fafafa;}.dhx_toolbar_dhx_terrace div.dhx_toolbar_btn.dhxtoolbar_btn_dis div.dhxtoolbar_sl_pen{border-color:#c2c2c2;background-color:#dcdcdc;}.dhx_toolbar_dhx_terrace div.dhx_toolbar_btn.dhxtoolbar_btn_dis div.dhxtoolbar_sl_bg_l,.dhx_toolbar_dhx_terrace div.dhx_toolbar_btn.dhxtoolbar_btn_dis div.dhxtoolbar_sl_bg_m,.dhx_toolbar_dhx_terrace div.dhx_toolbar_btn.dhxtoolbar_btn_dis div.dhxtoolbar_sl_bg_r{border-color:#c2c2c2;background-color:#e1e1e1;}.dhx_toolbar_dhx_terrace div.dhx_toolbar_arw{margin-left:-3px;z-index:1;}.dhx_toolbar_dhx_terrace div.dhx_toolbar_arw div.arwimg{margin:2px 0;padding:0 3px;background-image:url("imgs/dhxtoolbar_terrace/dhxtoolbar_arrow.gif");background-position:center center;background-repeat:no-repeat;}.dhx_toolbar_dhx_terrace div.dhx_toolbar_arw.dhxtoolbar_btn_dis div.arwimg{background-image:url("imgs/dhxtoolbar_terrace/dhxtoolbar_arrow_dis.gif");}.dhx_toolbar_dhx_terrace div.dhx_toolbar_btn div.dhxtoolbar_text,.dhx_toolbar_dhx_terrace div.dhx_toolbar_arw div.arwimg{float:left;font:inherit;height:18px;line-height:17px;cursor:default;overflow:hidden;white-space:nowrap;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhx_toolbar_dhx_terrace div.dhx_toolbar_btn div.dhxtoolbar_text{padding:0;margin:2px 5px;}.dhx_toolbar_dhx_terrace div.dhx_toolbar_sep{float:left;height:20px;margin:5px 6px 0 5px;overflow:hidden;}.dhx_toolbar_dhx_terrace div.dhx_toolbar_text{float:left;vertical-align:middle;margin-top:3px;padding:5px;line-height:17px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhx_toolbar_dhx_terrace div.dhxtoolbar_sl_bg_l,.dhx_toolbar_dhx_terrace div.dhxtoolbar_sl_bg_m,.dhx_toolbar_dhx_terrace div.dhxtoolbar_sl_bg_r{float:left;height:5px;line-height:1px;margin:8px 0 6px 0;padding:0;width:2px;font-size:1px;border-top:1px solid #ccc;border-bottom:1px solid #ccc;background-color:#e8e8e8;overflow:hidden;}.dhx_toolbar_dhx_terrace div.dhxtoolbar_sl_bg_l{margin-left:4px;border-left:1px solid #ccc;border-top-left-radius:2px;border-bottom-left-radius:2px;}.dhx_toolbar_dhx_terrace div.dhxtoolbar_sl_bg_r{margin-right:4px;border-right:1px solid #ccc;border-top-right-radius:2px;border-bottom-right-radius:2px;}.dhx_toolbar_dhx_terrace div.dhxtoolbar_sl_pen,.dhx_toolbar_dhx_terrace div.dhxtoolbar_sl_pen.dhxtoolbar_over{position:absolute;top:6px;width:7px;height:14px;border:1px solid #ccc;background-color:#e8e8e8;border-radius:1px;cursor:default;font-size:1px;line-height:1px;overflow:hidden;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_24{height:40px!important;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_24 div.dhx_toolbar_btn,.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_24 div.dhx_toolbar_arw{height:28px;*height:26px;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_24 div.dhx_toolbar_btn img{width:24px;height:24px;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_24 div.dhx_toolbar_btn i{width:24px;height:24px;line-height:23px;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_24 div.dhx_toolbar_btn div.dhxtoolbar_text,.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_24 div.dhx_toolbar_arw div.arwimg{height:24px;line-height:23px;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_24 div.dhx_toolbar_text{padding-top:6px;padding-bottom:6px;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_24 div.dhx_toolbar_sep{height:26px;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_24 div.dhxtoolbar_sl_bg_l,.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_24 div.dhxtoolbar_sl_bg_m,.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_24 div.dhxtoolbar_sl_bg_r{margin-top:11px;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_24 div.dhxtoolbar_sl_pen{top:9px;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_24 div.dhx_toolbar_btn .dhxtoolbar_input{margin-top:4px;margin-bottom:4px;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_32{height:48px!important;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_32 div.dhx_toolbar_btn,.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_32 div.dhx_toolbar_arw{height:36px;*height:34px;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_32 div.dhx_toolbar_btn img{width:32px;height:32px;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_32 div.dhx_toolbar_btn i{width:32px;height:32px;line-height:31px;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_32 div.dhx_toolbar_btn div.dhxtoolbar_text,.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_32 div.dhx_toolbar_arw div.arwimg{height:32px;line-height:31px;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_32 div.dhx_toolbar_text{padding-top:10px;padding-bottom:10px;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_32 div.dhx_toolbar_sep{height:34px;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_32 div.dhxtoolbar_sl_bg_l,.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_32 div.dhxtoolbar_sl_bg_m,.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_32 div.dhxtoolbar_sl_bg_r{margin-top:15px;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_32 div.dhxtoolbar_sl_pen{top:13px;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_32 div.dhx_toolbar_btn .dhxtoolbar_input{margin-top:8px;margin-bottom:8px;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_48{height:64px!important;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_48 div.dhx_toolbar_btn,.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_48 div.dhx_toolbar_arw{height:52px;*height:50px;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_48 div.dhx_toolbar_btn img{width:48px;height:48px;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_48 div.dhx_toolbar_btn i{width:48px;height:48px;line-height:47px;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_48 div.dhx_toolbar_btn div.dhxtoolbar_text,.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_48 div.dhx_toolbar_arw div.arwimg{height:48px;line-height:47px;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_48 div.dhx_toolbar_text{padding-top:18px;padding-bottom:18px;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_48 div.dhx_toolbar_sep{height:50px;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_48 div.dhxtoolbar_sl_bg_l,.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_48 div.dhxtoolbar_sl_bg_m,.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_48 div.dhxtoolbar_sl_bg_r{margin-top:23px;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_48 div.dhxtoolbar_sl_pen{top:21px;}.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_48 div.dhx_toolbar_btn .dhxtoolbar_input{margin-top:16px;margin-bottom:16px;}div.dhx_toolbar_poly_dhx_terrace{position:absolute;border:1px solid #ccc;box-shadow:0 0 5px rgba(127,127,127,0.35);padding:3px 0;border-bottom-left-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px;background-color:#fff;overflow:hidden;cursor:default;line-height:normal;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;overflow-y:auto;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);}div.dhx_toolbar_poly_dhx_terrace td{font-family:Arial,Helvetica;font-size:13px;color:black;line-height:normal;padding:0 5px;}div.dhx_toolbar_poly_dhx_terrace .tr_btn_over td,div.dhx_toolbar_poly_dhx_terrace .tr_btn_selected td{background-color:#fff3a1;}div.dhx_toolbar_poly_dhx_terrace .tr_btn_disabled td{color:#bbb;}div.dhx_toolbar_poly_dhx_terrace td.td_btn_img{width:18px;text-align:center;}div.dhx_toolbar_poly_dhx_terrace td.td_btn_img img.btn_sel_img{margin-top:2px;width:18px;height:18px;}div.dhx_toolbar_poly_dhx_terrace td.td_btn_img i{width:18px;height:18px;line-height:17px;text-align:center;color:inherit;font-size:1.1em;}div.dhx_toolbar_poly_dhx_terrace td.td_btn_txt div.btn_sel_text{padding:0 16px 0 1px;height:26px;line-height:25px;overflow:hidden;}div.dhx_toolbar_poly_dhx_terrace tr.tr_sep td{padding:2px 0;}div.dhx_toolbar_poly_dhx_terrace div.btn_sep{position:relative;font-size:1px;line-height:1px;height:0;width:100%;border-top:1px solid #ccc;}div.dhx_toolbar_slider_label_dhx_terrace{position:absolute;border:1px solid #ccc;box-shadow:0 0 5px rgba(127,127,127,0.35);background-color:#fff;padding:5px 8px;border-radius:2px;overflow:hidden;cursor:default;line-height:normal;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;font-family:Arial,Helvetica;font-size:13px;color:black;}.dhxtoolbar_maxopen_test{position:absolute;width:200px;height:50px;overflow-x:none;overflow-y:auto;left:-300px;top:100px;border:1px solid #fff;visibility:hidden;}.dhxtoolbar_maxopen_test2{height:200px;}.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging,.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging,.dhxtabbar_base_dhx_terrace div.dhx_cell_tabbar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging{position:relative;height:42px;line-height:41px;padding:6px 8px 0;border-left:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc;overflow:hidden;white-space:nowrap;background:white;z-index:1;}.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging,.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging{position:relative;height:42px;line-height:41px;margin-top:6px;overflow:hidden;white-space:nowrap;}.dhxeditor_dhx_terrace{position:relative;}.dhxeditor_dhx_terrace iframe.dhxeditor_mainiframe{position:absolute;overflow:hidden;top:0;left:0;width:100%;height:100%;}.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_stb{position:relative;height:34px;background-color:#f5f5f5;padding:0 5px;border-bottom:1px solid #ccc;}.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button{float:left;position:relative;width:18px;height:18px;font-size:2px;margin-left:7px;margin-top:9px;cursor:pointer;background-image:url("imgs/dhxeditor_terrace/buttons.gif");}.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button.btn_bold{margin-left:12px;background-position:0 0;}.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button.btn_italic{background-position:-18px 0;}.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button.btn_underline{background-position:-36px 0;}.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button.btn_clearformat{background-position:-54px 0;}.dhxeditor_dhx_terrace div.dhx_cell_editor{position:absolute;background-color:white;margin:0;padding:0;overflow:hidden;cursor:default;z-index:0;}.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_cont_editor{position:absolute;overflow:hidden;}.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_toolbar_def{position:relative;overflow:hidden;padding:5px;border-bottom:1px solid #ccc;}.dhxwins_vp_dhx_terrace div.dhx_cell_cont_wins .dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_stb{border-left:1px solid #ccc;border-right:1px solid #ccc;border-top:1px solid #ccc;}.dhxwins_vp_dhx_terrace div.dhx_cell_cont_wins .dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_cont_editor{border-left:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc;}.dhxwins_vp_dhx_terrace div.dhx_cell_cont_wins .dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_toolbar_def{padding:0;border-top:1px solid #ccc;}.dhxeditor_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:30px;height:10px;overflow:hidden;}.dhx_tooltip{display:none;position:absolute;font-family:Arial,Helvetica;color:#626262;font-size:13px;z-index:10000;padding:4px 10px 4px 10px;border:1px solid #fff;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;-moz-box-shadow:0 0 3px #d9d9d9;-webkit-box-shadow:0 0 3px #d9d9d9;text-shadow:0 1px 1px #fff;box-shadow:0 0 5px #d9d9d9;background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#efefef),color-stop(0.5,#f6f6f6),color-stop(1,#efefef));background:-o-linear-gradient(#efefef 0,#f6f6f6 50%,#efefef 100%);background:-ms-linear-gradient(#efefef 0,#f6f6f6 50%,#efefef 100%);background:-moz-linear-gradient(#efefef 0,#f6f6f6 50%,#efefef 100%);background:#efefef;}.dhx_chart{position:relative;font-family:Arial,Helvetica;font-size:13px;color:black;overflow:hidden;z-index:0;}.dhx_chart canvas{position:absolute;left:0;top:0;}.dhx_canvas_text{position:absolute;text-align:center;overflow:hidden;white-space:nowrap;z-index:1000;}.dhx_map_img{width:100%;height:100%;position:absolute;top:0;left:0;border:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);opacity:0;}.dhx_axis_item_y{position:absolute;height:18px;line-height:18px;margin-top:-4px;text-align:right;}.dhx_axis_title_x{text-align:center;}.dhx_axis_title_y{text-align:center;font-family:Arial,Helvetica;-webkit-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-o-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg);height:18px;line-height:18px;font-size:13px;}.dhx_ie_filter{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);zoom:1;font-family:serif;}.dhx_chart_legend{position:absolute;z-index:1000;}.dhx_chart_legend_item{height:18px;line-height:18px;padding:2px;cursor:pointer;}.dhx_chart_legend_item.hidden{color:#aaa;}.dhx_axis_item_y.dhx_radar{color:#666;font-size:12px;padding-right:3px;height:13px;line-height:13px;margin-top:0;}.dhx_canvas_text.dhx_axis_radar_title{margin-top:0;padding-top:0;}.dhx_axis_item_y,.dhx_axis_item_x{color:#666;}.dhx_axis_item_x{padding-top:2px;}.dhx_tooltip{display:none;position:absolute;font-family:Arial,Helvetica;color:#626262;font-size:13px;z-index:10000;padding:4px 10px 4px 10px;border:1px solid #fff;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;-moz-box-shadow:0 0 3px #d9d9d9;-webkit-box-shadow:0 0 3px #d9d9d9;text-shadow:0 1px 1px #fff;box-shadow:0 0 5px #d9d9d9;background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#efefef),color-stop(0.5,#f6f6f6),color-stop(1,#efefef));background:-o-linear-gradient(#efefef 0,#f6f6f6 50%,#efefef 100%);background:-ms-linear-gradient(#efefef 0,#f6f6f6 50%,#efefef 100%);background:-moz-linear-gradient(#efefef 0,#f6f6f6 50%,#efefef 100%);background:#efefef;}.dhx_noselect{-moz-user-select:none;-moz-user-select:-moz-none;-khtml-user-select:none;}.dhx_allow_selection{-moz-user-select:text;-user-select:text;}.dhx_dataview{overflow-y:auto;-webkit-overflow-scrolling:touch;overflow-x:hidden;-moz-user-select:none;-moz-user-select:-moz-none;-khtml-select:none;}.dhx_drag_zone{position:absolute;border:1px solid #A4BED4;z-index:8000;-moz-box-shadow:5px 5px 5px #888;-khtml-box-shadow:5px 5px 5px #888;}.dhx_dataview_default_item,.dhx_dataview_default_item_selected{cursor:pointer;background-color:#fff;}.dhx_dataview .dhx_dataview_default_item,.dhx_dataview .dhx_dataview_default_item_selected{border-right:1px solid #ccc;border-bottom:1px dotted #ccc;}.dhx_dataview_default_item_selected{background-color:#fff3a1;color:#fff3a1;border-color:#fff3a1;background-repeat:repeat-x;}.dhx_dataview_item{font-family:Arial,Helvetica;font-size:13px;color:black;}.dhx_dataview_item .dhx_strong{font-weight:bold;display:block;padding-bottom:6px;}.dhx_dataview_default_item_selected .dhx_light{color:#C3C3C3;}.dhx_dataview_item .dhx_light{color:#919191;}.dhx_drag_over{background-color:#faf768;background-image:url("imgs/dhxdataview_terrace/marker.png");background-repeat:repeat-x;}.dhx_pager_item,.dhx_pager_item_selected{float:left;text-align:center;height:16px;font-family:Arial,Helvetica;font-size:10pt;border:1px solid gray;padding:2px 4px;margin-left:5px;cursor:pointer;background-color:white;}.dhx_pager_item_selected{background-color:lightgrey;color:white;cursor:default;font-weight:bold;}.dhx_list{overflow-y:auto;-webkit-overflow-scrolling:touch;overflow-x:hidden;-moz-user-select:none;-moz-user-select:-moz-none;-khtml-select:none;}.dhx_list_default_item,.dhx_list_default_item_selected{cursor:pointer;background-color:#fff;}.dhx_list .dhx_list_default_item,.dhx_list .dhx_list_default_item_selected{border-right:1px solid #ccc;border-bottom:1px dotted #ccc;}.dhx_list_default_item_selected{background-color:#fff3a1;color:#fff3a1;border-color:#fff3a1;background-repeat:repeat-x;}.dhx_list_item{font-family:Arial,Helvetica;font-size:13px;color:black;box-sizing:border-box;}.dhx_list_item textarea{resize:none;margin-top:-8px;}.dhx_list_item .dhx_strong{font-weight:bold;display:block;padding-bottom:6px;}.dhx_list_default_item_selected .dhx_light{color:#C3C3C3;}.dhx_list_item .dhx_light{color:#919191;}.defaultTreeTable{margin:0;padding:0;border:0;}.containerTableStyle{overflow:auto;-webkit-overflow-scrolling:touch;position:relative;top:0;font-size:12px;-khtml-user-select:none;}.containerTableStyleRTL span{direction:rtl;unicode-bidi:bidi-override;}.containerTableStyleRTL{direction:rtl;overflow:auto;position:relative;top:0;font-size:12px;}.standartTreeRow{font-family:Arial,Helvetica;font-size:13px;-moz-user-select:none;}.selectedTreeRow{background-color:navy;color:white;font-family:Arial,Helvetica;font-size:13px;-moz-user-select:none;}.dragAndDropRow{background-color:navy;color:white;}.standartTreeRow_lor{text-decoration:underline;background-color:#fff;font-family:Arial,Helvetica;font-size:13px;-moz-user-select:none;}.selectedTreeRow_lor{text-decoration:underline;background-color:navy;color:white;font-family:Arial,Helvetica;font-size:13px;-moz-user-select:none;}.standartTreeImage{height:24px;overflow:hidden;border:0;padding:0;margin:0;font-size:1px;}.standartTreeImage img{width:18px;height:24px;background-position:center center;background-repeat:no-repeat;border:0;padding:0;margin:0;font-size:1px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.hiddenRow{width:1px;overflow:hidden;}.dragSpanDiv,.dragSpanDiv td{font-family:Arial,Helvetica;font-size:12px;background-color:#fff;z-index:999;}.a_dhx_hidden_input{position:absolute;top:-1px;left:-1px;width:1px;height:1px;border:none;background:none;}.a_dhx_hidden_input{position:absolute;top:-1px;left:-1px;width:1px;height:1px;border:none;background:none;}.selectionBox{background-color:#FFC;}.selectionBar{top:0;background-color:black;position:absolute;overflow:hidden;height:2px;z-index:11;}.intreeeditRow{font-size:8pt;height:16px;border:1px solid silver;padding:0;margin:0;margin-left:4px;-moz-user-select:text;-khtml-user-select:text;}.dhx_tree_textSign{font-size:8pt;font-family:monospace;width:21px;color:black;padding:0;margin:0;cursor:pointer;text-align:center;}.dhx_tree_opacity{opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhx_bg_img_fix{width:18px;height:24px;background-repeat:no-repeat;background-position:center;background-position-x:center;background-position-y:center;}.dhxtree_dhx_terrace .standartTreeRow,.dhxtree_dhx_terrace .standartTreeRow,.dhxtree_dhx_terrace .selectedTreeRow_lor,.dhxtree_dhx_terrace .selectedTreeRow{font-family:Arial,Helvetica;font-size:13px;padding:3px 1px 4px 2px;}.dhxtree_dhx_terrace .standartTreeImage{padding-left:3px;}.dhxtree_dhx_terrace .selectedTreeRow_lor,.dhxtree_dhx_terrace .selectedTreeRow{background-color:transparent;}.dhxtree_dhx_terrace span.selectedTreeRow_lor,.dhxtree_dhx_terrace span.selectedTreeRow{background-color:#fff3a1;color:black;}.dhxtree_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:30px;height:10px;overflow:hidden;}.dhxtreeview_dhx_terrace{position:relative;overflow:hidden;background-color:#fff;}.dhxtreeview_dhx_terrace div.dhxtreeview_cont{position:absolute;overflow:auto;background-color:#fff;}.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area{position:relative;}.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_kids_cont{position:relative;-webkit-transition:opacity .1s;-moz-transition:opacity .1s;-ms-transition:opacity .1s;-o-transition:opacity .1s;transition:opacity .1s;}.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item{position:relative;white-space:nowrap;cursor:default;color:black;font-size:13px;font-family:Arial,Helvetica;}.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text{position:relative;padding:0;margin:0;height:32px;line-height:31px;color:inherit;vertical-align:middle;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:default;}.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_label{position:absolute;top:0;padding:0 10px 0 4px;height:32px;line-height:inherit;font:inherit;}.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected,.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected:hover{background-color:#fff3a1;}.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected div.dhxtreeview_item_label,.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected:hover div.dhxtreeview_item_label{background-color:#fff3a1;}.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text:hover{background-color:#fffad4;border-color:#fffad4;}.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text:hover div.dhxtreeview_item_label{background-color:#fffad4;}.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon{position:absolute;width:24px;top:0;height:32px;line-height:30px;text-align:center;font-size:15px;color:#333;overflow:hidden;}.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon{position:absolute;left:0;top:0;width:24px;height:32px;background-repeat:no-repeat;background-position:center center;}.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_plus{background-image:url(imgs/dhxtreeview_terrace/icon_plus.gif);}.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_minus{background-image:url(imgs/dhxtreeview_terrace/icon_minus.gif);}.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_file{background-image:url(imgs/dhxtreeview_terrace/icon_file.gif);}.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_folder_closed{background-image:url(imgs/dhxtreeview_terrace/icon_folder_closed.gif);}.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_folder_opened{background-image:url(imgs/dhxtreeview_terrace/icon_folder_opened.gif);}.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_loading{background-image:url(imgs/dhxtreeview_terrace/loading.gif);}.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_chbx_0{background-image:url(imgs/dhxtreeview_terrace/icon_chbx_0.gif);}.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_chbx_1{background-image:url(imgs/dhxtreeview_terrace/icon_chbx_1.gif);}.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_chbx_dis_0{background-image:url(imgs/dhxtreeview_terrace/icon_chbx_dis_0.gif);}.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_chbx_dis_1{background-image:url(imgs/dhxtreeview_terrace/icon_chbx_dis_1.gif);}.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa.fa-folder-open-o,.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa.fa-folder-o{position:absolute;line-height:32px;left:4px;width:10px;text-align:left;overflow:visible;}.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa.fa-square-o,.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa.fa-check-square-o{position:absolute;line-height:32px;left:4px;width:10px;text-align:left;overflow:visible;}.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa.fa-square-o.dhx-disabled,.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa.fa-check-square-o.dhx-disabled{color:#a6a6a6;}.dhxtreeview_dhx_terrace div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_drop_preview{display:none;position:absolute;height:0;width:40px;border-bottom:2px dotted #a18c00;z-index:1;}.dhxtreeview_dhx_terrace div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_drop_preview.dhxtreeview_drop_0{display:block;top:-1px;}.dhxtreeview_dhx_terrace div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_drop_preview.dhxtreeview_drop_2{display:block;top:31px;}.dhxtreeview_dhx_terrace div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item.dhxtreeview_item_dragged{opacity:.4;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=40);}.dhxtreeview_dhx_terrace div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_drop_1,.dhxtreeview_dhx_terrace div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_drop_1:hover{background-color:#fff3a1;}.dhxtreeview_dhx_terrace div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_drop_1 div.dhxtreeview_item_label,.dhxtreeview_dhx_terrace div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_drop_1:hover div.dhxtreeview_item_label{background-color:#fff3a1;}.dhxtreeview_dhx_terrace div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected,.dhxtreeview_dhx_terrace div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected:hover{background-color:#fffad4;}.dhxtreeview_dhx_terrace div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected div.dhxtreeview_item_label,.dhxtreeview_dhx_terrace div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected:hover div.dhxtreeview_item_label{background-color:#fffad4;}.dhxtreeview_dhx_terrace div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text:hover{background-color:#fff;}.dhxtreeview_dhx_terrace div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text:hover div.dhxtreeview_item_label{background-color:#fff;}.dhxtreeview_dhx_terrace.dhxtreeview_icon_width{position:absolute;left:0;top:-100px;width:24px;height:1px;font-size:1px;margin:0;padding:0;overflow:hidden;}.dhxtreeview_dragged_obj_dhx_terrace{position:absolute;font-size:13px;color:black;font-family:Arial,Helvetica;white-space:nowrap;cursor:default;background-color:#fcfcfc;border-radius:1px;box-shadow:0 0 10px rgba(90,90,90,0.2);padding:6px 14px;border:1px solid #ccc;}html.dhxtreeview_dnd_mode,html.dhxtreeview_dnd_mode *,body.dhxtreeview_dnd_mode,body.dhxtreeview_dnd_mode *{cursor:default;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}div.dhx_popup_dhx_terrace div.dhx_popup_area td.dhx_popup_td div.dhxtreeview_dhx_terrace div.dhxtreeview_item div.dhxtreeview_item_label{white-space:nowrap;}.dhxtreeview_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:30px;height:10px;overflow:hidden;}div.gridbox{overflow:hidden;text-align:left;}.dhx_sub_row{background-color:#fff;}div.gridbox table.obj{height:1px;}div.gridbox table.hdr td{line-height:normal;border:1px solid;border-color:#fff Gray Gray #fff;text-align:center;margin:0;padding:5px 0 4px 0;font-weight:normal;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;overflow:hidden;empty-cells:show;}div.gridbox table.hdr td div.hdrcell{overflow:hidden;}div.gridbox table.obj td{overflow:hidden;padding-top:0;padding-bottom:0;empty-cells:show;white-space:normal;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}div.gridbox table.obj th,div.gridbox table.hdr th{padding:0;margin:0;}div.gridbox table.row20px tr td{height:20px;white-space:nowrap;padding:0;}div.gridbox .objbox{background-color:#fff;position:relative;-webkit-overflow-scrolling:touch;}div.gridbox table.obj td span.space,div.gridbox table.obj td img.space{width:18px;}div.gridbox table.obj td.editable{-webkit-user-select:text;-khtml-user-select:text;-moz-user-select:text;-ms-user-select:text;-o-user-select:text;user-select:text;}div.gridbox table.obj td.group_row{vertical-align:middle;font-family:Tahoma;font-size:10pt;font-weight:bold;height:30px;border:0;border-bottom:2px solid navy;}.dragSpanDiv{font-family:Arial,Helvetica;font-size:12px;border:1px gray solid;background-color:#fff;z-index:999;}.dhx_combo_select{border:1px solid;border-color:black silver silver black;background-color:#fff;overflow:auto;cursor:default;position:absolute;height:auto;z-index:600;}.dhx_combo_edit{width:100%;border:0;padding:0;padding-right:1px!ie;margin:0;overflow:hidden;}.dhx_textarea{border:1px solid;border-color:black silver silver black;position:absolute;height:100px;z-index:600;}.dhx_clist{background-color:#fff;border:1px solid black;padding:2px 2px 2px 2px;z-index:300;}.gridDragLine{position:absolute;top:10px;left:0;width:100%;height:2px;background-color:black;overflow:hidden;pointer-events:none;}div.pagingBlock .pagingCurrentPage{font-weight:bold;cursor:default;}div.pagingBlock .pagingPage{cursor:pointer;text-decoration:underline;}div.pagingBlock a{text-decoration:none;padding-right:2px;color:black;cursor:pointer;}div.pagingBlock a.dhx_not_active{text-decoration:none;cursor:default;}.toolbar_select{font-size:10px;}.dhtmlxGrid_selection{opacity:.5;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);background-color:yellow;border:1px dotted black;}div.gridbox div.ftr{position:absolute;left:0;bottom:1px;width:100%;overflow:hidden;}div.gridbox div.ftr td{padding:0;padding-left:10px;padding-right:5px;border-top:1px solid gray;border-right:1px solid gray;background-color:#ffc;font-style:italic;overflow:hidden;}div.gridbox table.hdr td.columnTargetR div.hdrcell{border-right:3px double #F60;border-left:3px solid #D4D0C8;}div.gridbox table.hdr td.columnTargetL div.hdrcell{border-right:3px solid #D4D0C8;border-left:3px double #F60;}.dhx_dragColDiv{background-color:#D4D0C8;border:1px solid;border-color:#fff Gray Gray #fff;text-align:center;margin:0;padding:5px 20px 5px 20px;font-weight:normal;opacity:.75;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=75);z-index:100;}.dhtmlx_live_validation_error{background-color:#FFE0E0!important;}.dhtmlx_validation_error{border-bottom:2px solid red!important;}.dhx_header_cmenu{background-color:#fff;border:2px outset silver;z-index:2;}.dhx_header_cmenu_item{white-space:nowrap;}div.gridbox td.filter input,div.gridbox td.filter select{width:90%;font-size:8pt;font-family:Tahoma;-webkit-user-select:text;-khtml-user-select:text;-moz-user-select:text;-ms-user-select:text;-o-user-select:text;user-select:text;}div.gridbox .filter input::-ms-clear{display:none;}div.gridbox_dhx_terrace.gridbox .xhdr{background-color:#fff;}div.gridbox_dhx_terrace.gridbox table.hdr tr{background-color:#f5f5f5;}div.gridbox_dhx_terrace.gridbox .ftr tr{background-color:#f5f5f5;}div.gridbox_dhx_terrace.gridbox table.obj,.dhx_combo_select,.gridbox_dhx_skyblue.gridbox .dhx_combo_edit,.gridbox_dhx_skyblue.gridbox .dhx_textarea,dhx_dragColDiv,div.gridbox div.ftr td,div.pagingBlock,span.recordsInfoBlock,.dhx_grid_adjust{font-family:Arial,Helvetica;font-size:13px;color:#333;}div.gridbox_dhx_terrace.gridbox table.obj tr td{border-color:#ccc;border-width:0 0 1px 0;padding-right:20px;padding-left:20px;}div.gridbox_dhx_terrace.gridbox .xhdr{border-bottom:1px solid #ccc;background-color:#f5f5f5;}div.gridbox_dhx_terrace.gridbox table.hdr td div.hdrcell{width:auto;padding-left:20px;line-height:36px;text-transform:uppercase;width:100%!ie;}div.gridbox_dhx_terrace.gridbox .ftr table td{width:auto;background-color:#fff;border-width:1px 0 0 0;font-style:normal;color:#333;border-color:#ccc;padding-left:20px;line-height:41px;width:100%!ie;}div.gridbox_dhx_terrace.gridbox table.hdr td{border:1px solid #ccc;border-width:0;padding:0;background-color:#f5f5f5;font-family:Arial,Helvetica;font-size:12px;color:#333;vertical-align:top;text-align:left;position:relative;}div.gridbox_dhx_terrace.gridbox{border:1px solid #ccc;}div.gridbox_dhx_terrace.gridbox table.obj tr td{padding-top:10px;padding-bottom:10px;}div.gridbox_dhx_terrace.gridbox table.obj.row20px tr td{padding-top:0;padding-bottom:0;height:32px;line-height:32px;}div.gridbox_dhx_terrace.gridbox table.obj tr td.editable{padding-left:20px;padding-right:0;}div.gridbox_dhx_terrace.gridbox table.obj tr td.editable div.treegrid_cell{padding:1px 4px;}div.gridbox_dhx_terrace.gridbox table.obj tr.rowselected{background-color:#fff3a1;}div.gridbox_dhx_terrace.gridbox table.obj tr.rowselected td{background-color:#fff3a1;color:black;}div.gridbox_dhx_terrace.gridbox table.obj.row20px tr.rowselected td{background-color:#fff3a1;color:black;}div.gridbox_dhx_terrace.gridbox table.obj tr td.cellselected{background-color:#fff3a1;color:black;}div.gridbox_dhx_terrace.gridbox .odd_dhx_terrace{background-color:#f7f7f7;}.gridbox_dhx_terrace.gridbox .dhx_combo_edit{font-family:Arial,Helvetica;font-size:13px;line-height:32px;}.dhx_combo_select,.dhx_textarea{margin-left:20px;line-height:20px;font-family:Arial,Helvetica;font-size:13px;}.gridbox_dhx_terrace.gridbox .dhx_combo_edit{padding:1px 0 1px 1px;}.gridbox_dhx_terrace.gridbox .dhx_sub_row{background-color:transparent;}.gridbox_dhx_terrace.gridbox table.hdr td.filter{padding-left:20px;line-height:41px;height:30px;}div.gridbox_dhx_terrace.gridbox td.filter input,div.gridbox_dhx_terrace.gridbox td.filter select{font-size:13px!important;font-family:Arial,Helvetica!important;height:22px;border-radius:3px;border:1px solid #ccc;background:#fff;box-shadow:none;}.gridbox_dhx_terrace.gridbox .dhx_combo_box.dhx_terrace{height:30px!important;margin-left:-20px;}.dhx_header_cmenu{background-color:#fff;border:2px outset silver;z-index:2;}.dhx_header_cmenu_item{white-space:nowrap;}.dhx_pbox{margin-top:3px;border:1px solid #D4D0C8;border-top:0;font-size:10px;}.dhx_pline{background-color:white;margin:-15px 10px 10px 10px;padding:0 5px 0 5px;float:left;}.dhx_page,.dhx_pager_info{margin:3px;text-align:center;font-family:tahoma;font-size:12px;float:left;cursor:pointer;color:black;background-color:gray;padding:1px;}.dhx_pager_info{white-space:nowrap;background-color:white;margin:-8px 10px 10px 10px;padding:0 5px 0 5px;cursor:default;}.dhx_page div{background-color:white;width:16px;height:17px;vertical-align:middle;}div.dhx_page_active{font-weight:bold;background-color:lightgrey;cursor:default;color:white;}.dhx_pbox_modern{margin-top:3px;border:1px solid #D6D6D6;border-top:0;font-size:10px;}.dhx_pline_modern{background-color:white;margin:-15px 10px 10px 10px;padding:0 5px 0 5px;float:left;}.dhx_page_modern,.dhx_pager_info_modern{margin:3px;text-align:center;font-family:tahoma;font-size:12px;float:left;cursor:pointer;color:#055A78;background-color:#D6D6D6;padding:1px;}.dhx_pager_info_modern{white-space:nowrap;background-color:white;margin:-8px 10px 10px 10px;padding:0 5px 0 5px;cursor:default;}.dhx_page_modern div{background-color:white;width:16px;height:17px;vertical-align:middle;}div.dhx_page_active_modern{font-weight:bold;background-color:#055A78;cursor:default;color:white;}.dhx_pbox_light{margin-top:3px;border:1px solid #C2D5DC;border-top:0;font-size:10px;}.dhx_pline_light{background-color:white;margin:-15px 10px 10px 10px;padding:0 5px 0 5px;float:left;}.dhx_page_light,.dhx_pager_info_light{margin:3px;text-align:center;font-family:tahoma;font-size:12px;float:left;cursor:pointer;color:#055A78;background-color:#93AFBA;padding:1px;}.dhx_pager_info_light{white-space:nowrap;background-color:white;margin:-8px 10px 10px 10px;padding:0 5px 0 5px;cursor:default;}.dhx_page_light div{background-color:white;width:16px;height:17px;vertical-align:middle;}div.dhx_page_active_light{font-weight:bold;background-color:#D1DFE3;cursor:default;color:white;}.calcTable{width:100px;background-color:silver;border:1px black solid;}.calcButton{height:20px;cursor:pointer;text-align:center;background-color:gray;color:white;font-size:10px;font-weight:bold;border-top:1px solid silver;border-right:1px solid silver;}.calcPressed{height:20px;cursor:pointer;text-align:center;background-color:gray;color:white;font-size:10px;font-weight:bold;border-top:1px solid black;border-right:1px solid black;}.calcInput{background-color:white;font-size:10px;font-weight:bold;font-family:tahoma,arial;}.calkSubmit{padding:2px;cursor:pointer;text-align:center;background-color:silver;color:white;font-size:10px;font-weight:bold;border-top:1px solid white;border-right:1px solid white;}.dhxgrid_sort_desc,.dhxgrid_sort_asc{width:9px;height:8px;background-image:url("imgs/dhxgrid_terrace/sort_desc.gif");background-repeat:no-repeat;z-index:10;}.dhxgrid_sort_asc{background-image:url("imgs/dhxgrid_terrace/sort_asc.gif");background-repeat:no-repeat;}.dhxgrid_rh_dhx_terrace{position:absolute;top:-20px;left:-33px;width:32px;height:10px;margin:0;padding:0;border-width:0;font-size:1px;overflow:hidden;}.dhxgrid_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:30px;height:10px;overflow:hidden;}div.gridbox_dhx_terrace.gridbox table.obj.row20px tr td img{display:block;}div.gridbox_dhx_terrace.gridbox table.obj.row20px tr td.group_row img,div.gridbox_dhx_terrace.gridbox table.obj.row20px tr td .treegrid_cell img{display:inline;}.dhx_grid_icon{text-align:center;color:#777;font-size:18px;}.dhx_treegrid_icon{text-align:center;color:#777;font-size:16px;margin-right:4px;position:relative;top:1px;}.grid_cell_dyn{position:relative;padding-right:2px;width:100%;overflow:hidden;white-space:nowrap;}.grid_cell_dyn img{position:absolute;top:0;left:0;height:15px;}.grid_cell_dyn span{padding-left:20px;width:100%;}.grid_collapse_icon{margin-top:-2px;}.dhx_row_drag_active{background:#eee!important;}.dhxform_obj_dhx_terrace{font-family:Arial,Helvetica;float:left;line-height:normal;}.dhxform_obj_dhx_terrace div.dhxform_base{position:relative;float:left;}.dhxform_obj_dhx_terrace div.dhxform_base_nested{padding:0;clear:both;*display:inline-block;}.dhxform_obj_dhx_terrace.dhxform_block{clear:both;}.dhxform_obj_dhx_terrace div.block_dhxform_item_label_left{display:block;clear:both;*clear:none;}.dhxform_obj_dhx_terrace div.dhxform_label div.dhxform_label_nav_link,.dhxform_obj_dhx_terrace div.dhxform_label div.dhxform_label_nav_link:visited,.dhxform_obj_dhx_terrace div.dhxform_label div.dhxform_label_nav_link:active,.dhxform_obj_dhx_terrace div.dhxform_label div.dhxform_label_nav_link:hover{outline:0 solid white;text-decoration:none;color:inherit;cursor:default;overflow:hidden;white-space:normal;}.dhxform_obj_dhx_terrace div.dhxform_label div.dhxform_label_nav_link:focus{color:#bfbfbf;}.dhxform_obj_dhx_terrace div.disabled span.nav_link{color:inherit;}.dhxform_obj_dhx_terrace div.dhxform_img{width:18px;height:18px;font-size:1px;}.dhxform_obj_dhx_terrace div.dhxform_actv_c{width:15px;height:15px;box-shadow:0 0 3px #909090;}.dhxform_obj_dhx_terrace div.dhxform_actv_r{width:15px;height:15px;box-shadow:0 0 3px #999;border-radius:11px;}.dhxform_obj_dhx_terrace div.dhxform_img.chbx0,.dhxform_obj_dhx_terrace div.dhxform_img.chbx1,.dhxform_obj_dhx_terrace div.disabled div.dhxform_img.chbx0,.dhxform_obj_dhx_terrace div.disabled div.dhxform_img.chbx1,.dhxform_obj_dhx_terrace div.dhxform_img.rdbt0,.dhxform_obj_dhx_terrace div.dhxform_img.rdbt1,.dhxform_obj_dhx_terrace div.disabled div.dhxform_img.rdbt0,.dhxform_obj_dhx_terrace div.disabled div.dhxform_img.rdbt1,.dhxform_obj_dhx_terrace div.dhxform_actv_c.chbx0,.dhxform_obj_dhx_terrace div.dhxform_actv_c.chbx1,.dhxform_obj_dhx_terrace div.dhxform_actv_r.rdbt0,.dhxform_obj_dhx_terrace div.dhxform_actv_r.rdbt1{background-image:url("imgs/dhxform_terrace/dhxform_chbxrd.gif");background-repeat:no-repeat;}.dhxform_obj_dhx_terrace div.dhxform_img.chbx0{background-position:-18px 0;}.dhxform_obj_dhx_terrace div.dhxform_img.chbx1{background-position:0 0;}.dhxform_obj_dhx_terrace div.disabled div.dhxform_img.chbx0{background-position:-54px 0;}.dhxform_obj_dhx_terrace div.disabled div.dhxform_img.chbx1{background-position:-36px 0;}.dhxform_obj_dhx_terrace div.dhxform_img.rdbt0{background-position:-90px 0;}.dhxform_obj_dhx_terrace div.dhxform_img.rdbt1{background-position:-72px 0;}.dhxform_obj_dhx_terrace div.disabled div.dhxform_img.rdbt0{background-position:-126px 0;}.dhxform_obj_dhx_terrace div.disabled div.dhxform_img.rdbt1{background-position:-108px 0;}.dhxform_obj_dhx_terrace div.dhxform_actv_c.chbx0{background-position:-164px -2px;}.dhxform_obj_dhx_terrace div.dhxform_actv_c.chbx1{background-position:-146px -2px;}.dhxform_obj_dhx_terrace div.dhxform_actv_r.rdbt0{background-position:-200px -2px;}.dhxform_obj_dhx_terrace div.dhxform_actv_r.rdbt1{background-position:-182px -2px;}.dhxform_obj_dhx_terrace div.dhxform_label{font-family:Arial,Helvetica;font-size:inherit;color:black;overflow-x:hidden;overflow:hidden;white-space:normal;}.dhxform_obj_dhx_terrace div.dhxform_label.dhxform_label_align_left{text-align:left;}.dhxform_obj_dhx_terrace div.dhxform_label.dhxform_label_align_center{text-align:center;}.dhxform_obj_dhx_terrace div.dhxform_label.dhxform_label_align_right{text-align:right;}.dhxform_obj_dhx_terrace div.disabled div.dhxform_label,.dhxform_obj_dhx_terrace div.disabled div.dhxform_label div.dhxform_label_nav_link,.dhxform_obj_dhx_terrace div.disabled div.dhxform_label span.dhxform_item_required{color:#bbb;}.dhxform_obj_dhx_terrace div.dhxform_label span.dhxform_item_required{margin-left:5px;color:red;}.dhxform_obj_dhx_terrace input.dhxform_textarea,.dhxform_obj_dhx_terrace textarea.dhxform_textarea{padding:4px 2px!important;margin:0;font-size:1em;background-color:white;}.dhxform_obj_dhx_terrace input.dhxform_textarea::-ms-clear,.dhxform_obj_dhx_terrace textarea.dhxform_textarea::-ms-clear{display:none;}.dhxform_obj_dhx_terrace input.dhxform_textarea:focus,.dhxform_obj_dhx_terrace textarea.dhxform_textarea:focus{box-shadow:0 0 3px #c0c0c0;border:1px solid #bfbfbf;outline:none;}.dhxform_obj_dhx_terrace .dhxform_textarea{border:1px solid #ccc;font-family:Arial,Helvetica;font-size:1em;color:black;resize:none;}.dhxform_obj_dhx_terrace div.disabled .dhxform_textarea{color:#bbb;background-color:#f0f0f0;border:1px solid #d4d4d4;}.dhxform_obj_dhx_terrace div.dhxform_control.dhxform_img_node{position:relative;}.dhxform_obj_dhx_terrace div.dhxform_control.dhxform_img_node .dhxform_textarea{border:1px solid white;background-color:white;color:white;visibility:hidden;*height:1px;*line-height:1px;*display:inline;}.dhxform_obj_dhx_terrace div.dhxform_control.dhxform_img_node div.dhxform_img{float:none;top:3px;left:0;position:absolute;margin:0;}.dhxform_obj_dhx_terrace div.dhxform_control.dhxform_img_node div.dhxform_actv_c,.dhxform_obj_dhx_terrace div.dhxform_control.dhxform_img_node div.dhxform_actv_r{float:none;top:5px;left:2px;position:absolute;margin:0;*top:3px;*left:0;}.dhxform_obj_dhx_terrace .dhxform_select{border:1px solid #ccc;background-color:white;font-family:Arial,Helvetica;font-size:1em;color:black;margin:0;padding:3px 2px 2px 0!important;line-height:100%;vertical-align:middle;}.dhxform_obj_dhx_terrace .dhxform_select option{padding-left:2px;}.dhxform_obj_dhx_terrace div.disabled .dhxform_select{color:#bbb;background-color:#f0f0f0;border:1px solid #d4d4d4;}.dhxform_obj_dhx_terrace .dhxform_select option{padding:1px 2px;}.dhxform_obj_dhx_terrace .dhxform_select:focus{box-shadow:0 0 3px #c0c0c0;border:1px solid #bfbfbf;outline:none;}.dhxform_obj_dhx_terrace div.fs_dhxform_item_label_left{padding:5px 0 5px 0;}.dhxform_obj_dhx_terrace div.fs_dhxform_item_label_left fieldset.dhxform_fs div.dhxform_base_nested.dhxform_fs_nested{margin-right:19px;margin-left:5px;}.dhxform_obj_dhx_terrace fieldset.dhxform_fs{border:1px solid #ccc;margin:0;padding:5px 0 12px 0;clear:left;width:100%;border-radius:3px;}.dhxform_obj_dhx_terrace div.disabled fieldset.dhxform_fs{border:1px solid #d4d4d4;}.dhxform_obj_dhx_terrace fieldset.dhxform_fs legend.fs_legend{font-family:Arial,Helvetica;font-size:inherit;color:#bfbfbf;font-weight:normal;padding:0 4px 1px 4px;margin-left:5px;text-align:left;}.dhxform_obj_dhx_terrace div.disabled fieldset.dhxform_fs legend.fs_legend{color:#bbb;}.dhxform_obj_dhx_terrace div.dhxform_item_label_right{clear:both;padding-top:7px;cursor:default;*display:inline-block;}.dhxform_obj_dhx_terrace div.dhxform_item_label_right div.dhxform_img,.dhxform_obj_dhx_terrace div.dhxform_item_label_right div.dhxform_actv_c,.dhxform_obj_dhx_terrace div.dhxform_item_label_right div.dhxform_actv_r{float:left;margin:0;}.dhxform_obj_dhx_terrace div.dhxform_item_label_right div.dhxform_label{float:left;padding:2px 0 1px 0;margin:2px 0 2px 0;*padding-top:0;*display:inline-block;}.dhxform_obj_dhx_terrace div.dhxform_item_label_right div.dhxform_control{float:left;margin-right:3px;}.dhxform_obj_dhx_terrace div.dhxform_item_label_left{clear:both;padding-top:7px;cursor:default;*display:inline-block;}.dhxform_obj_dhx_terrace div.dhxform_item_label_left div.dhxform_img,.dhxform_obj_dhx_terrace div.dhxform_item_label_left div.dhxform_actv_c,.dhxform_obj_dhx_terrace div.dhxform_item_label_left div.dhxform_actv_r{float:right;margin:3px 1px 0 5px;}.dhxform_obj_dhx_terrace div.dhxform_item_label_left div.dhxform_label{float:left;padding:4px 0 1px 0;margin:2px 0 2px 0;}.dhxform_obj_dhx_terrace div.dhxform_item_label_left div.dhxform_control{float:left;margin-left:3px;}.dhxform_obj_dhx_terrace div.dhxform_item_label_top{clear:both;}.dhxform_obj_dhx_terrace div.dhxform_item_label_top div.dhxform_label{float:none;margin-bottom:5px;margin-top:8px;}.dhxform_obj_dhx_terrace div.dhxform_item_label_top div.dhxform_control{float:none;margin-left:0;margin-bottom:5px;}.dhxform_obj_dhx_terrace div.dhxform_item_absolute{position:absolute;left:0;top:0;cursor:default;}.dhxform_obj_dhx_terrace div.item_absolute div.dhxform_img,.dhxform_obj_dhx_terrace div.item_absolute div.dhxform_actv_c,.dhxform_obj_dhx_terrace div.item_absolute div.dhxform_actv_r{position:absolute;}.dhxform_obj_dhx_terrace div.dhxform_item_absolute div.dhxform_control,.dhxform_obj_dhx_terrace div.dhxform_item_absolute div.dhxform_label,.dhxform_obj_dhx_terrace div.dhxform_item_absolute div.dhxform_control.dhxform_img_node,.dhxform_obj_dhx_terrace div.dhxform_item_absolute div.dhxform_txt_label2,.dhxform_obj_dhx_terrace div.dhxform_item_absolute div.dhxform_btn,.dhxform_obj_dhx_terrace div.block_item_absolute div.dhxform_block{position:absolute;}.dhxform_obj_dhx_terrace div.dhxform_txt_label2{font-family:Arial,Helvetica;font-size:inherit;color:black;font-weight:bold;margin:0 3px;padding:5px 0;cursor:default;}.dhxform_obj_dhx_terrace div.disabled div.dhxform_txt_label2{color:#bbb;}.dhxform_obj_dhx_terrace div.dhxform_btn{margin:1px 2px;background-color:#f0f0f0;float:left;cursor:default;clear:both;border-radius:3px;position:relative;overflow:hidden;font-family:Arial,Helvetica;font-size:inherit;color:#333;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;border:1px solid #ccc;-webkit-tap-highlight-color:rgba(0,0,0,0);}.dhxform_obj_dhx_terrace.dhxform_rtl div.dhxform_btn{float:right;}.dhxform_obj_dhx_terrace div.dhxform_btn.dhxform_btn_over{color:#333;background-color:#ebebeb;}.dhxform_obj_dhx_terrace div.dhxform_btn.dhxform_btn_pressed{color:#333;background-color:#e6e6e6;box-shadow:0 0 5px #e1e1e1 inset;}.dhxform_obj_dhx_terrace div.disabled div.dhxform_btn{background-color:#f2f2f2;}.dhxform_obj_dhx_terrace div.dhxform_btn div.dhxform_btn_txt{float:left;margin:0 18px;height:28px;line-height:27px;text-align:center;vertical-align:middle;overflow:hidden;white-space:nowrap;border-radius:3px;*display:inline;opacity:1;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=100);}.dhxform_obj_dhx_terrace div.dhxform_btn div.dhxform_btn_txt.dhxform_btn_txt_autowidth{width:100%;margin:0;}.dhxform_obj_dhx_terrace div.disabled div.dhxform_btn div.dhxform_btn_txt{color:#b2b2b2;}.dhxform_obj_dhx_terrace div.dhxform_btn:focus{outline:1px dotted #bfbfbf;}.dhxform_obj_dhx_terrace div.dhxform_btn div.dhxform_btn_filler{position:absolute;display:inline-block;width:100%;height:100px;left:0;top:0;background-color:white;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}.dhxform_obj_dhx_terrace div.dhxform_control div.dhxform_note{font-family:Arial,Helvetica;font-size:.8em;color:gray;padding-bottom:3px;white-space:normal;}.dhxform_obj_dhx_terrace div.disabled div.dhxform_control div.dhxform_note{color:#bbb;}.dhxform_obj_dhx_terrace div.dhxform_label span.dhxform_info{font-family:Arial,Helvetica;font-size:.6em;color:gray;margin-left:3px;padding-bottom:2px;line-height:100%;vertical-align:middle;cursor:pointer;}.dhxform_obj_dhx_terrace .validate_error .dhxform_label,.dhxform_obj_dhx_terrace .validate_error .dhxform_textarea,.dhxform_obj_dhx_terrace .validate_error .dhxform_select,.dhxform_obj_dhx_terrace .validate_error div.dhxform_label_nav_link,.dhxform_obj_dhx_terrace .validate_error div.dhxform_label div.dhxform_label_nav_link:focus{color:red;}.dhxform_obj_dhx_terrace span.combo_in_focus div.dhxcombo_dhx_terrace{box-shadow:0 0 3px #c0c0c0;border:1px solid #bfbfbf;}div.dhxcombolist_dhx_terrace{border-top:1px solid #bfbfbf!important;}div.dhxcombolist_dhx_terrace:active{border-top:1px solid #ccc!important;}.dhxform_obj_dhx_terrace div.dhxform_item_template.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_stb{border-left:1px solid #ccc;border-right:1px solid #ccc;border-top:1px solid #ccc;}.dhxform_obj_dhx_terrace div.dhxform_item_template.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_cont_editor{border-left:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc;}.dhxform_obj_dhx_terrace div.dhxform_item_template.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_toolbar_def{padding:0;border-top:1px solid #ccc;}.dhxform_obj_dhx_terrace div.dhxeditor_focus div.dhxform_item_template.dhxeditor_dhx_terrace{box-shadow:0 0 3px #c0c0c0;outline:none;}.dhxform_obj_dhx_terrace div.dhxeditor_focus div.dhxform_item_template.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_stb,.dhxform_obj_dhx_terrace div.dhxeditor_focus div.dhxform_item_template.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_cont_editor,.dhxform_obj_dhx_terrace div.dhxeditor_focus div.dhxform_item_template.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_toolbar_def{border-color:#bfbfbf;}.dhxform_obj_dhx_terrace div.dhxform_item_template.dhxeditor_dhx_terrace div.dhxcont_content_blocker{display:none;}.dhxform_obj_dhx_terrace div.disabled div.dhxform_item_template.dhxeditor_dhx_terrace div.dhxcont_content_blocker{display:inline;position:absolute;width:100%;height:100%;top:0;left:0;background-color:#fefefe;opacity:.7;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=70);}.dhtmlx_skin_dhx_terrace div.dhtmlx_wins_body_inner .dhxform_obj_dhx_terrace{background-color:white;}.dhxform_obj_dhx_terrace div.dhxform_control .dhx_combo_box.dhx_terrace .dhx_combo_input,.dhx_combo_list.dhx_terrace_list div{font-size:1em!important;}.dhxform_obj_dhx_terrace .dhx_file_uploader{position:relative;width:100%;margin-bottom:4px;}.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls{position:relative;width:100%;height:35px;font-size:2px;overflow:hidden;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button{position:absolute;width:19px;height:19px;top:8px;background-image:url("imgs/dhxform_terrace/dhxform_upload_buttons.gif");background-repeat:no-repeat;font-size:2px;cursor:pointer;overflow:hidden;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=100);z-index:1;-webkit-tap-highlight-color:rgba(0,0,0,0);}.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_info{display:none;}.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_browse{background-position:0 0;right:108px;}.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_upload{background-position:-19px 0;right:79px;}.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_cancel{background-position:-57px 0;right:79px;}.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_clear{background-position:-38px 0;right:50px;}.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls .dhx_uploader_input{position:absolute;left:-1000px;top:0;visibility:hidden;}.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls div.dhx_file_form_cont{position:absolute;width:19px;height:19px;left:0;top:0;cursor:pointer;overflow:hidden;}.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls div.dhx_file_form_cont form.dhx_file_form{position:absolute;top:0;right:0;cursor:pointer;}.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls div.dhx_file_form_cont form.dhx_file_form .dhx_file_input{opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);cursor:pointer;outline:none;height:19px;}.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files{position:relative;width:100%;left:0;top:0;overflow:auto;}.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files div.dhx_file{position:relative;width:100%;height:25px;overflow:hidden;}.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_added,.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_uploading{color:black;}.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_uploaded{color:#646464;}.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_fail{color:#e94a4a;}.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files div.dhx_file_param{position:absolute;font-family:inherit;font-size:inherit;color:inherit;top:0;height:25px;line-height:25px;vertical-align:middle;overflow:hidden;}.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_name{left:20px;}.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_progress{right:50px;width:38px;text-align:right;}.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_delete{right:30px;width:11px;background-image:url("imgs/dhxform_terrace/dhxform_upload_buttons.gif");background-position:-76px 0;background-repeat:no-repeat;cursor:pointer;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_uploading{right:50px;width:38px;text-align:right;background-image:url("imgs/dhxform_terrace/dhxform_upload_uploading.gif");background-position:center center;background-repeat:no-repeat;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxform_obj_dhx_terrace .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls{height:60px;}.dhxform_obj_dhx_terrace .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_files{display:none;}.dhxform_obj_dhx_terrace .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_info{display:inline;background-image:none;font-family:Arial,Helvetica;font-size:13px;color:#a0a0a0;height:auto;top:0;left:35px;vertical-align:top;padding-top:6px;line-height:20px;cursor:default;filter:none;}.dhxform_obj_dhx_terrace .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_browse{top:0;width:54px;height:54px;right:35px;background-image:url("imgs/dhxform_terrace/dhxform_upload_buttons.gif");background-position:0 -38px;background-repeat:no-repeat;}.dhxform_obj_dhx_terrace .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_upload,.dhxform_obj_dhx_terrace .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_cancel,.dhxform_obj_dhx_terrace .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_clear{display:none;}.dhxform_obj_dhx_terrace .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_form_cont{width:54px;height:54px;}.dhxform_obj_dhx_terrace .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_form_cont form.dhx_file_form .dhx_file_input{height:54px;}.dhxform_obj_dhx_terrace .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_info,.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_added,.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_uploading,.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_uploaded,.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_fail{color:#bbb;}.dhxform_obj_dhx_terrace .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_browse{background-position:-54px -38px;cursor:default;}.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_form_cont{display:none;}.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button{cursor:default;}.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_browse{background-position:0 -19px;}.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_upload{background-position:-19px -19px;}.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_cancel{background-position:-57px -19px;}.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_clear{background-position:-38px -19px;}.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file_param.dhx_file_delete{background-position:-87px 0;cursor:default;}.dhxform_obj_dhx_terrace div.dhxform_image{position:relative;overflow:hidden;border:1px solid #ccc;}.dhxform_obj_dhx_terrace div.dhxform_image img.dhxform_image_img{position:absolute;}.dhxform_obj_dhx_terrace div.dhxform_image div.dhxform_image_wrap{position:absolute;background-color:white;left:0;top:0;width:100%;height:100%;overflow:hidden;*border:1px solid white;*height:1000px;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);-webkit-transition:opacity .6s;-moz-transition:opacity .6s;-ms-transition:opacity .6s;-o-transition:opacity .6s;transition:opacity .6s;}.dhxform_obj_dhx_terrace div.dhxform_image div.dhxform_image_wrap.dhxform_image_in_progress{background-image:url("imgs/dhxform_terrace/dhxform_image_uploading.gif");background-position:center center;background-repeat:no-repeat;*border-width:0;*height:100%;opacity:.85;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=85);-webkit-transition:opacity .1s;-moz-transition:opacity .1s;-ms-transition:opacity .1s;-o-transition:opacity .1s;transition:opacity .1s;}.dhxform_obj_dhx_terrace div.dhxform_image div.dhxform_image_wrap.dhxform_image_in_progress form.dhxform_image_form{display:none;}.dhxform_obj_dhx_terrace div.dhxform_image div.dhxform_image_wrap form.dhxform_image_form{position:absolute;top:0;right:0;cursor:pointer;}.dhxform_obj_dhx_terrace div.dhxform_image div.dhxform_image_wrap form.dhxform_image_form input.dhxform_image_input{cursor:pointer;outline:none;height:1000px;font-size:100px;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}.dhxform_obj_dhx_terrace div.disabled div.dhxform_image{border-color:#d4d4d4;}.dhxform_obj_dhx_terrace div.disabled div.dhxform_image img.dhxform_image_img{opacity:.5;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);}.dhxform_obj_dhx_terrace div.disabled div.dhxform_image div.dhxform_image_wrap{cursor:default;}.dhxform_obj_dhx_terrace div.disabled div.dhxform_image form.dhxform_image_form{display:none;}div.dhx_form_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:30px;height:10px;overflow:hidden;}.dhxacc_base_dhx_terrace{position:relative;cursor:default;overflow:hidden;}.dhxacc_base_dhx_terrace div.dhxacc_cont{position:absolute;*overflow:hidden;}.dhxacc_base_dhx_terrace div.dhx_cell_acc{position:relative;background-color:#fff;margin:0;padding:0;overflow:hidden;cursor:default;box-shadow:0 0 3px #e0e0e0;border-color:#ccc;}.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_cont_acc{position:absolute;border-left:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc;border-top:0 solid #fff;overflow:hidden;z-index:0;}.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_cover{position:absolute;left:0;top:0;width:100%;height:100%;margin:0;padding:0;font-size:1px;background-color:white;overflow:hidden;z-index:1;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_hdr{position:relative;height:36px;line-height:35px;overflow:hidden;font-family:Arial,Helvetica;font-size:13px;color:#333;font-weight:normal;border:1px solid #ccc;background-color:#f5f5f5;cursor:default;z-index:3;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_hdr.dhx_cell_hdr_hidden{border-width:1px 0 0 0;height:0;line-height:0;overflow:hidden;}.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_hdr div.dhx_cell_hdr_text{position:relative;margin:0 26px 0 10px;overflow:hidden;white-space:nowrap;cursor:default;}.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_hdr img.dhx_cell_hdr_icon{position:absolute;top:11px;left:10px;width:16px;height:16px;}.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_hdr i{position:absolute;top:10px;left:10px;width:16px;height:16px;line-height:16px;text-align:center;cursor:default;font-size:1.1em;color:inherit;}.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_icon{margin-left:32px!important;}.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_hdr div.dhx_cell_hdr_arrow{position:absolute;top:11px;right:4px;width:16px;height:16px;background-image:url("imgs/dhxacc_terrace/dhxacc_btns.gif");background-repeat:no-repeat;background-position:0 0;overflow:hidden;cursor:pointer;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxacc_base_dhx_terrace div.dhx_cell_acc.dhx_cell_closed div.dhx_cell_hdr div.dhx_cell_hdr_arrow{background-position:-16px 0;}.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_cont.dhx_cell_cont_not_last{border-bottom:0 solid white;}.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_menu_def{position:relative;overflow:hidden;padding:6px;border-left:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc;}.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_toolbar_def{border-left:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc;padding:6px;}.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_dhx_terrace{border-top:1px solid #fff;}.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_ribbon_def div.dhtmlxribbon_dhx_terrace.dhxrb_without_tabbar{border-top:0 solid #fff;width:auto;}.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_statusbar_def{position:absolute;bottom:0;width:100%;font-family:Arial,Helvetica;font-size:13px;color:#333;background-color:#f5f5f5;z-index:1;}.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text{position:relative;padding:0 4px;height:24px;line-height:23px;border-bottom:1px solid #ccc;border-left:1px solid #ccc;border-right:1px solid #ccc;white-space:nowrap;overflow:hidden;}.dhxacc_base_dhx_terrace div.dhx_cell_acc.acc_cell_dragged{box-shadow:0 0 5px #aaa;z-index:5!important;}.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_progress_bar{position:absolute;left:0;top:0;width:100%;height:100%;background-color:#fff;opacity:.75;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=75);z-index:1;}.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_progress_img{position:absolute;left:0;top:0;width:100%;height:100%;background-position:center 55%;background-image:url("imgs/dhxacc_terrace/dhxacc_cell_progress.gif");background-repeat:no-repeat;cursor:progress;z-index:2;}.dhxacc_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:30px;height:10px;overflow:hidden;}.dhxlayout_base_dhx_terrace{position:relative;cursor:default;}.dhxlayout_base_dhx_terrace div.dhxlayout_cont{position:absolute;*overflow:hidden;}.dhxlayout_base_dhx_terrace div.dhxlayout_sep{position:absolute;background-color:#fff;font-size:1px;margin:0;padding:0;overflow:hidden;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;background-repeat:no-repeat;background-position:center center;-webkit-tap-highlight-color:rgba(0,0,0,0);-ms-touch-action:none;touch-action:none;}div.dhxlayout_sep_sw_dhx_terrace{position:absolute;left:0;top:-100px;width:10px;height:1px;font-size:1px;margin:0;padding:0;overflow:hidden;}.dhxlayout_base_dhx_terrace div.dhxlayout_sep.dhxlayout_sep_resize_v{cursor:w-resize;background-image:url('imgs/dhxlayout_terrace/dhxlayout_sep_v.gif');}.dhxlayout_base_dhx_terrace div.dhxlayout_sep.dhxlayout_sep_resize_h{cursor:n-resize;background-image:url('imgs/dhxlayout_terrace/dhxlayout_sep_h.gif');}.dhxlayout_base_dhx_terrace div.dhxlayout_sep.dhxlayout_sep_resize_actv{background-color:#f2f2f2;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout{position:absolute;background-color:white;margin:0;padding:0;overflow:hidden;cursor:default;z-index:0;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_cover{position:absolute;left:0;top:0;width:100%;height:100%;margin:0;padding:0;font-size:1px;background-color:white;overflow:hidden;z-index:1;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_cont_layout{position:absolute;border-left:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc;border-top:0 solid white;overflow:hidden;z-index:0;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_cont_layout.dhx_cell_cont_no_borders{border:0 solid white!important;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_cont_layout,.dhxlayout_base_dhx_terrace div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_cont_layout{display:none;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_hdr{position:relative;height:32px;line-height:31px;overflow:hidden;font-family:Arial,Helvetica;font-size:13px;color:#333;font-weight:bold;border:1px solid #ccc;background-color:#f5f5f5;cursor:default;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_hdr.dhx_cell_hdr_hidden{height:0;line-height:0;border-bottom-width:0;overflow:hidden;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_hdr.dhx_cell_hdr_hidden_no_borders{height:0;line-height:0;border-width:0;overflow:hidden;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_hdr div.dhx_cell_hdr_text{position:relative;margin:0 26px 0 5px;overflow:hidden;white-space:nowrap;cursor:default;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_hdr{height:18px;line-height:17px;color:#333;font-weight:normal;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr{width:18px;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text{position:absolute;left:3px;bottom:0;transform:rotate(270deg);-ms-transform:rotate(270deg);transform-origin:left center;font-weight:normal;text-overflow:ellipsis;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie8{left:-5px;line-height:17px;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie8 span{float:left;filter:progid:DXImageTransform.Microsoft.Matrix(M11='6.123031769111886e-17', M12='1', M21='-1', M22='6.123031769111886e-17', sizingMethod='auto expand');margin-bottom:95%;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie9{left:0;line-height:17px;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie9 span{float:left;filter:none;margin-bottom:95%;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie7{left:-6px;line-height:17px;padding-bottom:10px;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie7 span{float:left;filter:progid:DXImageTransform.Microsoft.Matrix(M11='6.123031769111886e-17', M12='1', M21='-1', M22='6.123031769111886e-17', sizingMethod='auto expand');}.dhxlayout_base_dhx_terrace div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie6{left:-6px;line-height:17px;padding-bottom:10px;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie6 span{float:left;filter:progid:DXImageTransform.Microsoft.Matrix(M11='6.123031769111886e-17', M12='1', M21='-1', M22='6.123031769111886e-17', sizingMethod='auto expand');}.dhxlayout_base_dhx_terrace div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_chrome{left:3px;-webkit-transform:rotate(270deg);-webkit-transform-origin:left center;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_hdr div.dhxlayout_arrow{position:absolute;right:4px;top:9px;width:16px;height:16px;background-image:url('imgs/dhxlayout_terrace/dhxlayout_cell_btns.gif');background-repeat:no-repeat;cursor:pointer;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_va{background-position:-16px 0;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_vb{background-position:-48px 0;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_ha{background-position:-32px 0;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_hb{background-position:0 0;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_ha{background-position:0 -5px;top:6px;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_hb{background-position:-32px -4px;top:6px;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_va{background-position:-45px 0;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_vb{background-position:-13px 0;}body.dhxlayout_resize_v *{-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:w-resize!important;}body.dhxlayout_resize_h *{-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:n-resize!important;}.dhxlayout_base_dhx_terrace div.dhxlayout_resize_area{position:absolute;background-color:#ccc;opacity:.15;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=15);z-index:1;border:2px dashed black;cursor:inherit;}.dhxlayout_base_dhx_terrace div.dhxlayout_resize_sep{position:absolute;background-color:#ccc;overflow:hidden;display:block;opacity:.5;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);z-index:2;cursor:inherit;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_statusbar_def,.dhxlayout_base_dhx_terrace div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_statusbar_def{display:none;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_menu_def{position:relative;overflow:hidden;padding:6px;border-left:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_menu_no_borders{position:relative;overflow:hidden;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_menu_def div.dhtmlxMenu_dhx_terrace_Middle,.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_menu_no_borders div.dhtmlxMenu_dhx_terrace_Middle{padding:0 2px;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_toolbar_def{position:relative;overflow:hidden;border-left:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc;padding:6px;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_toolbar_def div.dhx_toolbar_dhx_terrace{border-top:0 solid white;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_dhx_terrace{margin-top:-1px;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_ribbon_def div.dhtmlxribbon_dhx_terrace.dhxrb_without_tabbar{border-top:0 solid white;width:auto;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_statusbar_def{position:absolute;bottom:0;width:100%;font-family:Arial,Helvetica;font-size:13px;color:#333;background-color:#f5f5f5;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text{position:relative;padding:0 4px;height:24px;line-height:24px;border-bottom:1px solid #ccc;border-left:1px solid #ccc;border-right:1px solid #ccc;white-space:nowrap;overflow:hidden;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_progress_bar{position:absolute;left:0;top:0;width:100%;height:100%;background-color:white;opacity:.75;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=75);z-index:1;}.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_progress_img{position:absolute;left:0;top:0;width:100%;height:100%;background-image:url('imgs/dhxlayout_terrace/dhxlayout_cell_progress.gif');background-position:center center;background-repeat:no-repeat;z-index:2;}.dhxlayout_base_dhx_terrace div.dhxcelltop_progress{position:absolute;left:0;top:0;width:100%;height:100%;background-color:white;z-index:3;opacity:.55;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=55);}.dhxlayout_base_dhx_terrace div.dhxcelltop_progress_img{position:absolute;left:0;top:0;width:100%;height:100%;background-image:url('imgs/dhxlayout_terrace/dhxlayout_cell_progress.gif');background-position:center center;background-repeat:no-repeat;z-index:4;}.dhxlayout_base_dhx_terrace div.dhxcelltop_hdr{position:relative;}.dhxlayout_base_dhx_terrace div.dhxcelltop_ftr{position:absolute;}.dhxlayout_base_dhx_terrace div.dhxcelltop_menu{position:relative;overflow:hidden;padding-left:0;padding-right:0;padding-bottom:10px;}.dhxlayout_base_dhx_terrace div.dhxcelltop_toolbar{position:relative;padding-bottom:10px;overflow:hidden;}.dhxlayout_base_dhx_terrace div.dhxcelltop_toolbar div.dhx_toolbar_dhx_terrace{padding-left:0;padding-right:0;}.dhxlayout_base_dhx_terrace div.dhxcelltop_ribbon{padding-bottom:10px;position:relative;}.dhxlayout_base_dhx_terrace div.dhxcelltop_ribbon div.dhtmlxribbon_dhx_terrace.dhxrb_without_tabbar{width:auto;}.dhxlayout_base_dhx_terrace div.dhxcelltop_statusbar{position:absolute;background-color:#fff;overflow:hidden;}.dhxlayout_base_dhx_terrace div.dhxcelltop_statusbar div.dhxcont_statusbar{position:relative;margin-top:10px;border:1px solid #ccc;background-color:#f5f5f5;font-family:Arial,Helvetica;font-size:13px;color:#333;padding:3px 4px;}.dhxlayout_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:30px;height:10px;overflow:hidden;}.dhxtabbar_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:30px;height:10px;overflow:hidden;}.dhxtabbar_fullscreen{width:100%;height:100%;margin:0;overflow:hidden;}.dhxtabbar_base_dhx_terrace{position:relative;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_cont{position:absolute;*overflow:hidden;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs{position:absolute;top:0;bottom:auto;height:33px;border-left:1px solid #ccc;border-right:1px solid #ccc;border-top:1px solid #ccc;overflow:hidden;white-space:nowrap;background-color:#fff;z-index:2;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tabs_base{position:absolute;top:0;height:34px;overflow:hidden;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tabs_cont_left,.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tabs_cont_right{position:absolute;width:5000px;height:34px;margin:0 1px;top:-1px;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tabs_line{position:absolute;width:100%;left:0;bottom:0;top:none;height:1px;overflow:hidden;background-color:#ccc;border:none;z-index:2;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_left{position:absolute;left:0;top:0;width:17px;height:32px;background-color:#fff;border-bottom:1px solid #ccc;z-index:4;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:pointer;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_left.dhxtabbar_tabs_ar_hidden{display:none;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_left div.dhxtabbar_arrow_img{position:relative;height:100%;border-right:1px solid #ccc;background-image:url("imgs/dhxtabbar_terrace/dhxtabbar_arrows.gif");background-position:1px 14px;background-repeat:no-repeat;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_right{position:absolute;right:0;top:0;width:17px;height:32px;background-color:#fff;border-bottom:1px solid #ccc;z-index:4;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:pointer;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_right.dhxtabbar_tabs_ar_hidden{display:none;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_right div.dhxtabbar_arrow_img{position:relative;height:100%;border-left:1px solid #ccc;background-image:url("imgs/dhxtabbar_terrace/dhxtabbar_arrows.gif");background-position:-13px 14px;background-repeat:no-repeat;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tab{position:relative;height:34px;font-family:Arial,Helvetica;font-size:13px;color:#333;z-index:1;cursor:pointer;background-color:#f5f5f5;margin-left:-1px;margin-right:0;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0);}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tab:hover div.dhxtabbar_tab_text{color:#262626;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tab:hover div.dhxtabbar_tab_close{background-color:#e8e8e8;border-color:#c7c7c7;background-position:-15px 0;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_dis{color:#bbb;background-color:#fafafa;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv,.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv_dis{background-color:#fff;z-index:3;font-weight:bold;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_hidden{border:none;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tab div.dhxtabbar_tab_text{position:relative;height:33px;line-height:33px;vertical-align:middle;top:0;bottom:none;text-align:center;padding:0 15px;border-left:1px solid #ccc;border-right:1px solid #ccc;border-top:1px solid #ccc;border-bottom:0 solid #fff;overflow:hidden;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tab div.dhxtabbar_tab_text.dhxtabbar_tab_text_close{padding-right:20px;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv div.dhxtabbar_tab_text{color:#333;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_dis div.dhxtabbar_tab_text,.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv_dis div.dhxtabbar_tab_text{color:#bbb;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_dis div.dhxtabbar_tab_close,.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_dis:hover div.dhxtabbar_tab_close,.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv_dis div.dhxtabbar_tab_close,.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv_dis:hover div.dhxtabbar_tab_close{background-color:#e8e8e8;border-color:#c7c7c7;background-position:-30px 0;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tab div.dhxtabbar_tab_close{position:absolute;top:9px;right:9px;width:15px;height:15px;border:1px solid #ccc;background-color:#f0f0f0;border-radius:3px;background-image:url("imgs/dhxtabbar_terrace/dhxtabbar_button_close.gif");background-position:0 0;background-repeat:no-repeat;z-index:1;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv div.dhxtabbar_tab_close,.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv:hover div.dhxtabbar_tab_close{background-color:#fff;border-color:#ccc;background-position:0 0;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tabs_cont_left div.dhxtabbar_tab{float:left;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tabs_cont_right div.dhxtabbar_tab{float:right;margin-right:-1px;margin-left:0;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs{top:auto;bottom:0;border-bottom:1px solid #ccc;border-top:0 solid #fff;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tabs_cont_left,.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tabs_cont_right{top:0;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tabs_line{top:0;bottom:none;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tab{margin-top:0;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv,.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv_dis{margin-top:0;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tab div.dhxtabbar_tab_text{border-bottom:1px solid #ccc;border-top:0 solid white;top:none;bottom:0;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_left,.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_right{top:0;bottom:none;border-top:1px solid #ccc;border-bottom:0 solid #fff;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs_bottom div.dhx_cell_tabbar div.dhx_cell_cont_tabbar{border-top:1px solid #ccc;border-bottom:0 solid white;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs_bottom div.dhx_cell_tabbar div.dhx_cell_menu_def{border-top:1px solid #ccc;border-bottom:0 solid white;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs_bottom div.dhx_cell_tabbar div.dhx_cell_toolbar_def{border-top:1px solid #ccc;border-bottom:0 solid white;}.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs_bottom div.dhx_cell_tabbar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text{border-top:1px solid #ccc;border-bottom:0 solid white;}.dhxtabbar_base_dhx_terrace div.dhx_cell_tabbar{position:absolute;background-color:#fff;margin:0;padding:0;overflow:hidden;cursor:default;z-index:0;}.dhxtabbar_base_dhx_terrace div.dhx_cell_tabbar div.dhx_cell_cover{position:absolute;left:0;top:0;width:100%;height:100%;margin:0;padding:0;font-size:1px;background-color:white;overflow:hidden;z-index:1;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxtabbar_base_dhx_terrace div.dhx_cell_tabbar div.dhx_cell_cont_tabbar{position:absolute;border-left:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc;border-top:0 solid white;overflow:hidden;z-index:0;}.dhxtabbar_base_dhx_terrace div.dhx_cell_tabbar div.dhx_cell_cont_tabbar.dhx_cell_cont_no_borders{border:0 solid white!important;}.dhxtabbar_base_dhx_terrace div.dhx_cell_tabbar div.dhx_cell_menu_def{position:relative;overflow:hidden;padding:6px;border-left:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc;}.dhxtabbar_base_dhx_terrace div.dhx_cell_tabbar div.dhx_cell_menu_no_borders{position:relative;overflow:hidden;}.dhxtabbar_base_dhx_terrace div.dhx_cell_tabbar div.dhx_cell_toolbar_def{position:relative;padding:6px;border-left:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc;}.dhxtabbar_base_dhx_terrace div.dhx_cell_tabbar div.dhtmlxribbon_dhx_terrace.dhxrb_without_tabbar{border-top:0 solid white;width:auto;}.dhxtabbar_base_dhx_terrace div.dhx_cell_tabbar div.dhxrb_with_tabbar.dhxtabbar_base_dhx_terrace{margin-top:-1px;}.dhxtabbar_base_dhx_terrace div.dhx_cell_tabbar div.dhx_cell_statusbar_def{position:absolute;bottom:0;width:100%;font-family:Arial,Helvetica;font-size:13px;color:#333;background-color:#f5f5f5;}.dhxtabbar_base_dhx_terrace div.dhx_cell_tabbar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text{position:relative;padding:0 4px;height:28px;line-height:27px;border-bottom:1px solid #ccc;border-left:1px solid #ccc;border-right:1px solid #ccc;white-space:nowrap;overflow:hidden;}.dhxtabbar_base_dhx_terrace div.dhx_cell_tabbar div.dhx_cell_progress_bar{position:absolute;left:0;top:0;width:100%;height:100%;background-color:white;opacity:.75;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=75);z-index:1;}.dhxtabbar_base_dhx_terrace div.dhx_cell_tabbar div.dhx_cell_progress_img{position:absolute;left:0;top:0;width:100%;height:100%;background-image:url("imgs/dhxtabbar_terrace/dhxtabbar_cell_progress.gif");background-position:center center;background-repeat:no-repeat;z-index:2;}span.dhxtabbar_tabs_text_test_dhx_terrace{position:absolute;visibility:hidden;right:0;top:0;font-weight:bold;padding:0 4px;font-family:Arial,Helvetica;font-size:13px;color:#333;}.dhxsidebar_base_dhx_terrace{position:relative;cursor:default;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont{position:absolute;cursor:default;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side{position:absolute;left:0;top:0;background-color:#f5f5f5;border-style:solid;border-color:#ccc;border-width:1px 1px 0 1px;overflow:hidden;z-index:5;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items{position:absolute;width:100%;overflow:hidden;box-sizing:border-box;-ms-touch-action:none;-webkit-transition:top .2s;-moz-transition:top .2s;-ms-transition:top .2s;-o-transition:top .2s;transition:top .2s;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item{position:relative;padding:0 10px;z-index:1;cursor:default;margin:1px 0;background-color:#f5f5f5;overflow:hidden;opacity:1;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=100);font-family:Arial,Helvetica;font-size:13px;color:#333;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;-ms-touch-action:none;-webkit-touch-callout:none;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_hidden{height:0!important;margin:0;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item:hover{background-color:#f0f0f0;z-index:2;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_selected{z-index:3;background-color:#fff3a1;color:black;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon{position:absolute;left:9px;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text{position:absolute;left:0;top:0;height:inherit;line-height:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_bubble{position:absolute;width:15px;height:15px;line-height:14px;right:5px;top:5px;border-radius:10px;background-color:#f5f5f5;border:1px solid #333;font-family:Tahoma;font-size:10px;text-align:center;font-weight:normal;color:#333;cursor:default;overflow:hidden;z-index:1;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item:hover div.dhxsidebar_bubble{background-color:#f0f0f0;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_selected div.dhxsidebar_bubble{background-color:#fff3a1;color:black;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_sep{position:relative;height:1px;margin:1px 0;overflow:hidden;background-color:#e8e8e8;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_touch div.dhxsidebar_side_items div.dhxsidebar_item:hover{background-color:#f5f5f5;z-index:1;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_touch div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_selected{z-index:3;background-color:#fff3a1;color:black;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_details div.dhxsidebar_side_items div.dhxsidebar_item{height:27px;line-height:27px;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_details div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon{top:5px;width:16px;height:16px;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_details div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text{padding-left:34px;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item{height:47px;line-height:47px;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon{top:7px;width:32px;height:32px;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text{padding-left:50px;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_bubble{top:15px;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons div.dhxsidebar_side_items div.dhxsidebar_item{height:47px;line-height:47px;text-align:center;padding-left:4px;padding-right:4px;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon{position:relative;display:inline;left:0;top:7px;width:32px;height:32px;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons_text div.dhxsidebar_side_items div.dhxsidebar_item{height:66px;line-height:1em;text-align:center;padding-left:4px;padding-right:4px;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons_text div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon{position:relative;display:inline;left:0;top:4px;width:32px;height:32px;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons_text div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text{position:relative;display:block;height:16px;margin-top:10px;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_text div.dhxsidebar_side_items div.dhxsidebar_item{height:27px;line-height:27px;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_text div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text{padding-left:14px;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar{position:absolute;background-color:#fff;margin:0;padding:0;overflow:hidden;cursor:default;z-index:0;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar.dhx_cell_cont_no_top div.dhx_cell_cont_sidebar{border-top-color:#fff;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_cont_sidebar{position:absolute;border-style:solid;border-color:#ccc;border-width:1px 1px 1px 0;overflow:hidden;z-index:0;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_cont_sidebar.dhx_cell_cont_no_borders{border-width:0;padding:0;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_menu_def{position:relative;overflow:hidden;border-top:1px solid #ccc;border-right:1px solid #ccc;padding:8px 8px 0 8px;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_menu_no_borders{position:relative;overflow:hidden;padding-left:8px;padding-bottom:8px;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhtmlxMenu_dhx_terrace_Middle{padding:0 2px;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_toolbar_def{position:relative;overflow:hidden;padding:8px 8px 0 8px;border-top:1px solid #ccc;border-right:1px solid #ccc;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_toolbar_no_borders{padding-left:8px;padding-bottom:8px;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def{position:relative;overflow:hidden;padding:4px 4px 0 4px;border-top:1px solid #ccc;border-right:1px solid #ccc;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_dhx_web{border-width:0;width:auto;margin:4px 4px 0 4px;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhtmlxribbon_dhx_terrace.dhxrb_without_tabbar{border-width:0;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_no_borders{position:relative;overflow:hidden;padding:0;padding:0 0 8px 8px;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_no_borders div.dhtmlxribbon_dhx_web.dhxrb_without_tabbar{width:auto;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_statusbar_def{position:absolute;bottom:0;width:100%;font-family:Arial,Helvetica;font-size:13px;color:#333;background-color:#f5f5f5;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text{position:relative;padding:0 4px;height:24px;line-height:24px;border-bottom:1px solid #ccc;border-left:1px solid #ccc;border-right:1px solid #ccc;white-space:nowrap;overflow:hidden;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_progress_bar{position:absolute;left:0;top:0;width:100%;height:100%;background-color:#fff;opacity:.75;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=75);z-index:1;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_progress_img{position:absolute;left:0;top:0;width:100%;height:100%;background-image:url('imgs/dhxsidebar_terrace/dhxsidebar_cell_progress.gif');background-position:center center;background-repeat:no-repeat;z-index:2;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr{position:relative;background-color:#f5f5f5;height:36px;line-height:35px;font-weight:normal;overflow:hidden;cursor:default;z-index:1;border:1px solid #ccc;font-family:Arial,Helvetica;font-size:13px;color:#333;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr.dhx_cell_sidebar_hdr_hidden{border-width:1px 0 0 0;height:0;line-height:0;overflow:hidden;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr div.dhx_cell_sidebar_hdr_text{position:relative;margin:0 10px;overflow:hidden;white-space:nowrap;cursor:default;text-align:left;height:100%;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr div.dhx_cell_sidebar_hdr_text.dhx_cell_sidebar_hdr_text_icon{margin-left:34px!important;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr div.dhx_cell_sidebar_hdr_icon{position:absolute;top:0;left:10px;width:16px;height:100%;background-image:url("imgs/dhxsidebar_terrace/dhxsidebar_side_icon.gif");background-position:center center;background-repeat:no-repeat;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_cont_sidebar{border-left-width:1px;border-top-width:0;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_cont_sidebar.dhx_cell_cont_no_borders{border-left-width:0;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_menu_def,.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_toolbar_def,.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_ribbon_def{border-top-width:0;border-left:1px solid #ccc;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont.dhxsidebar_autohide{overflow:hidden;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont.dhxsidebar_autohide div.dhxsidebar_side{-webkit-transition:left .2s;-moz-transition:left .2s;-ms-transition:left .2s;-o-transition:left .2s;transition:left .2s;box-shadow:0 2px 8px rgba(127,127,127,0.4);}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont.dhxsidebar_autohide div.dhxsidebar_arrows{-webkit-transition:left .2s;-moz-transition:left .2s;-ms-transition:left .2s;-o-transition:left .2s;transition:left .2s;box-shadow:0 4px 6px rgba(127,127,127,0.4);}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side_cover{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;background-color:#fff;z-index:3;-webkit-transition:opacity .3s;-moz-transition:opacity .3s;-ms-transition:opacity .3s;-o-transition:opacity .3s;transition:opacity .3s;opacity:.0001;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side_cover.dhxsidebar_side_cover_actv{opacity:.6;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=60);}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_arrows{position:absolute;left:0;bottom:0;height:24px;border:1px solid #ccc;background-color:#f5f5f5;font-size:1px;overflow:hidden;z-index:6;-webkit-tap-highlight-color:rgba(0,0,0,0);-ms-touch-action:none;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_arrows.dhxsidebar_arrows_hidden{height:0;border-width:0 1px 1px 1px;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow{position:absolute;width:50%;height:100%;top:0;font-size:1px;overflow:hidden;z-index:1;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_left{left:0;border-right:1px solid #ccc;z-index:2;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_left div.dhxsidebar_arrow_image{background-image:url("imgs/dhxsidebar_terrace/dhxsidebar_arrow_up.gif");}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_right{right:0;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_right div.dhxsidebar_arrow_image{background-image:url("imgs/dhxsidebar_terrace/dhxsidebar_arrow_down.gif");}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow div.dhxsidebar_arrow_image{position:absolute;left:0;top:0;width:100%;height:100%;background-repeat:no-repeat;background-position:center center;font-size:1px;overflow:hidden;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow:hover{background-color:#f0f0f0;}.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow:active{background-color:#ebebeb;}.dhxsidebar_base_dhx_terrace div.dhxcelltop_progress{position:absolute;left:0;top:0;width:100%;height:100%;background-color:white;z-index:3;opacity:.55;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=55);}.dhxsidebar_base_dhx_terrace div.dhxcelltop_progress_img{position:absolute;left:0;top:0;width:100%;height:100%;background-image:url('imgs/dhxsidebar_terrace/dhxsidebar_cell_progress.gif');background-position:center center;background-repeat:no-repeat;z-index:4;}.dhxsidebar_base_dhx_terrace div.dhxcelltop_hdr{position:relative;}.dhxsidebar_base_dhx_terrace div.dhxcelltop_ftr{position:absolute;}.dhxsidebar_base_dhx_terrace div.dhxcelltop_menu{position:relative;overflow:hidden;padding-left:0;padding-right:0;padding-bottom:10px;}.dhxsidebar_base_dhx_terrace div.dhxcelltop_toolbar{position:relative;padding-bottom:10px;overflow:hidden;}.dhxsidebar_base_dhx_terrace div.dhxcelltop_toolbar div.dhx_toolbar_dhx_terrace{padding-left:0;padding-right:0;}.dhxsidebar_base_dhx_terrace div.dhxcelltop_ribbon{padding-bottom:10px;position:relative;}.dhxsidebar_base_dhx_terrace div.dhxcelltop_ribbon div.dhtmlxribbon_dhx_terrace.dhxrb_without_tabbar{width:auto;}.dhxsidebar_base_dhx_terrace div.dhxcelltop_statusbar{position:absolute;background-color:#fff;overflow:hidden;}.dhxsidebar_base_dhx_terrace div.dhxcelltop_statusbar div.dhxcont_statusbar{position:relative;margin-top:10px;border:1px solid #ccc;background-color:#f5f5f5;font-family:Arial,Helvetica;font-size:13px;color:#333;padding:3px 4px;}.dhxsidebar_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:30px;height:10px;overflow:hidden;}.dhxcarousel_base_dhx_terrace{background-color:white;position:relative;cursor:default;}.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;}.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area{position:relative;overflow:hidden;}.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area.dhxcarousel_area_flip{perspective:900px;-webkit-perspective:900;}.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel{position:absolute;background-color:#fff;margin:0;padding:0;overflow:hidden;cursor:default;z-index:0;-webkit-transform-style:preserve-3d;}.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_cover{position:absolute;left:0;top:0;width:100%;height:100%;margin:0;padding:0;font-size:1px;background-color:white;overflow:hidden;z-index:1;opacity:.5;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_cont_carousel{position:absolute;border:1px solid #ccc;overflow:hidden;margin:0;padding:0;z-index:0;}.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_cont_carousel.dhx_cell_cont_no_borders{border-width:0;padding:0;}.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_progress_bar{position:absolute;left:0;top:0;width:100%;height:100%;background-color:#fff;opacity:.75;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=75);z-index:1;}.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_progress_img{position:absolute;left:0;top:0;width:100%;height:100%;background-image:url('imgs/dhxcarousel_terrace/dhxcarousel_cell_progress.gif');background-position:center center;background-repeat:no-repeat;z-index:2;}.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_menu_def,.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_menu_no_borders{position:relative;overflow:hidden;padding:0 0 8px 0;}.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_menu_def div.dhtmlxMenu_dhx_terrace_Middle,.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_menu_no_borders div.dhtmlxMenu_dhx_terrace_Middle{padding:0;}.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_toolbar_def,.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_toolbar_no_borders{position:relative;overflow:hidden;padding:0 0 8px 0;}.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_toolbar_def div.dhx_toolbar_dhx_terrace,.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_toolbar_no_borders div.dhx_toolbar_dhx_terrace{padding:0;}.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def,.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_no_borders{position:relative;overflow:hidden;}.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_dhx_terrace,.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_no_borders div.dhxrb_with_tabbar.dhxtabbar_base_dhx_terrace{border-width:0;width:auto;margin-left:-4px;margin-top:-4px;}.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def div.dhtmlxribbon_dhx_terrace.dhxrb_without_tabbar,.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_no_borders div.dhtmlxribbon_dhx_terrace.dhxrb_without_tabbar{border-width:0;margin-left:-4px;margin-top:-4px;width:auto;}.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_statusbar_def{position:absolute;bottom:0;width:100%;font-family:Arial,Helvetica;font-size:13px;color:#333;background-color:#f5f5f5;}.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text{position:relative;padding:0 4px;height:24px;line-height:25px;border-bottom:1px solid #ccc;border-left:1px solid #ccc;border-right:1px solid #ccc;white-space:nowrap;overflow:hidden;}.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls{position:absolute;width:100%;height:34px;bottom:0;left:0;z-index:3;overflow:visible;border-top:1px solid #ccc;background-color:#f5f5f5;-webkit-tap-highlight-color:rgba(0,0,0,0);}.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn{position:absolute;bottom:0;width:38px;height:100%;overflow:hidden;font-size:14px;line-height:33px;font-family:Arial;color:#333;background-color:#f5f5f5;border:0 solid #ccc;text-align:center;z-index:2;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev:hover,.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next:hover{color:#2e2e2e;background-color:#ebebeb;}.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev:active,.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next:active{color:#2e2e2e;background-color:#e6e6e6;box-shadow:0 0 5px #d9d9d9 inset;}.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev,.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis{left:0;border-right-width:1px;}.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next,.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis{right:0;border-left-width:1px;}.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis,.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis{color:#bbb;background-color:#fafafa;z-index:1;}.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars{position:absolute;top:11px;text-align:center;font-size:1px;line-height:36px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars div.dhx_carousel_onebar{float:left;position:relative;margin:0 2px;width:12px;height:12px;border:1px solid #ccc;border-radius:12px;background-color:white;font-size:1px;overflow:hidden;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars div.dhx_carousel_onebar div.dhx_carousel_barcore{display:none;}.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars div.dhx_carousel_onebar.dhx_carousel_baractv div.dhx_carousel_barcore{position:absolute;display:block;font-size:1px;margin:0;padding:0;width:6px;height:6px;top:3px;left:3px;border-radius:12px;background-color:#333;overflow:hidden;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxcarousel_base_dhx_terrace div.dhxcelltop_hdr{position:relative;}.dhxcarousel_base_dhx_terrace div.dhxcelltop_ftr{position:absolute;}.dhxcarousel_base_dhx_terrace div.dhxcelltop_progress{position:absolute;left:0;top:0;width:100%;height:100%;background-color:white;z-index:3;opacity:.55;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=55);}.dhxcarousel_base_dhx_terrace div.dhxcelltop_progress_img{position:absolute;left:0;top:0;width:100%;height:100%;background-image:url('imgs/dhxcarousel_terrace/dhxcarousel_cell_progress.gif');background-position:center center;background-repeat:no-repeat;z-index:4;}.dhxcarousel_base_dhx_terrace div.dhxcelltop_menu{position:relative;overflow:hidden;padding-left:0;padding-right:0;padding-bottom:10px;}.dhxcarousel_base_dhx_terrace div.dhxcelltop_toolbar{position:relative;padding-bottom:10px;overflow:hidden;}.dhxcarousel_base_dhx_terrace div.dhxcelltop_toolbar div.dhx_toolbar_dhx_terrace{padding-left:0;padding-right:0;}.dhxcarousel_base_dhx_terrace div.dhxcelltop_ribbon{padding-bottom:10px;position:relative;}.dhxcarousel_base_dhx_terrace div.dhxcelltop_ribbon div.dhtmlxribbon_dhx_terrace.dhxrb_without_tabbar{width:auto;}.dhxcarousel_base_dhx_terrace div.dhxcelltop_statusbar{position:absolute;background-color:#fff;overflow:hidden;}.dhxcarousel_base_dhx_terrace div.dhxcelltop_statusbar div.dhxcont_statusbar{position:relative;margin-top:10px;border:1px solid #ccc;background-color:#f5f5f5;font-family:Arial,Helvetica;font-size:13px;color:#333;padding:3px 4px;}div.dhx_popup_dhx_terrace div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_dhx_terrace{background-color:#f5f5f5;}div.dhx_popup_dhx_terrace div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls,.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls,.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls{border-bottom:1px solid #ccc;}div.dhx_popup_dhx_terrace div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev,div.dhx_popup_dhx_terrace div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis,.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev,.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis,.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev,.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis{border-left-width:1px;}div.dhx_popup_dhx_terrace div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next,div.dhx_popup_dhx_terrace div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis,.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next,.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis,.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next,.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis{border-right-width:1px;}.dhxcarousel_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:30px;height:10px;overflow:hidden;}.dhxwins_vp_dhx_terrace{overflow:hidden;position:relative;cursor:default;}.dhxwins_vp_auto{overflow:auto!important;}.dhxwins_vp_dhx_terrace div.dhxwin_active{position:absolute;overflow:hidden;border:1px solid #ccc;box-shadow:0 0 6px #a0a0a0;border-radius:3px;background:#fff;cursor:inherit;}.dhxwins_vp_dhx_terrace div.dhxwin_inactive{position:absolute;overflow:hidden;border:1px solid #ccc;box-shadow:0 0 6px #c0c0c0;border-radius:3px;background:#fff;cursor:inherit;}.dhxwins_vp_dhx_terrace div.dhxwin_brd{position:absolute;border-left:5px solid #fff;border-right:5px solid #fff;border-bottom:5px solid #fff;background:#fff;z-index:0;}.dhxwins_vp_dhx_terrace div.dhxwin_brd.dhxwin_hdr_hidden{border-top:5px solid #fff;}.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhxwin_brd{opacity:.6;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=60);}.dhxwins_vp_dhx_terrace div.dhxwin_fr_cover{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;background-color:#fff;z-index:1;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}.dhxwins_vp_dhx_terrace div.dhxwin_fr_cover .dhxwin_fr_cover_inner{position:absolute;left:0;top:0;width:100%;height:100%;background-color:#fff;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhxwin_fr_cover{display:none;}.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhxwin_fr_cover{z-index:4;opacity:.5;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);}.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhxwin_fr_cover.dhxwin_fr_cover_dnd,.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhxwin_fr_cover.dhxwin_fr_cover_resize{display:block;}.dhxwins_vp_dhx_terrace iframe.dhxwin_main_fr_cover{position:absolute;background-color:#fff;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}.dhxwins_vp_dhx_terrace div.dhxwin_hdr{position:relative;height:36px;line-height:37px;margin:0;padding:0;font-weight:normal;border-bottom:1px solid #ccc;background-color:#fff;border-top-left-radius:3px;border-top-right-radius:3px;background-color:#f5f5f5;font-family:Arial,Helvetica;font-size:13px;color:#333;cursor:inherit;overflow:hidden;z-index:3;-ms-touch-action:none;touch-action:none;}.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhxwin_hdr{color:#404040;opacity:.6;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=60);}.dhxwins_vp_dhx_terrace div.dhxwin_hdr.dhxwin_hdr_parked{border-bottom-left-radius:3px;border-bottom-right-radius:3px;}.dhxwins_vp_dhx_terrace div.dhxwin_hdr.dhxwin_hdr_hidden{visibility:hidden;}.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_icon{position:absolute;left:11px;top:10px;width:23px;height:18px;cursor:default;overflow:hidden;background-image:url("imgs/dhxwins_terrace/dhxwins_icon.gif");background-position:left center;background-repeat:no-repeat;cursor:inherit;z-index:2;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhxwin_hdr div.dhxwin_icon{opacity:.6;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=60);}.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_text{position:relative;padding:0;margin:0;overflow:hidden;white-space:nowrap;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:inherit;z-index:1;}.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_text div.dhxwin_text_inside{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;width:100%;}.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns{position:absolute;right:10px;top:10px;height:18px;cursor:default;overflow:hidden;cursor:inherit;z-index:2;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhxwin_hdr div.dhxwin_btns{opacity:.5;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);}.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button,.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis{position:relative;float:left;width:15px;height:15px;margin-left:2px;margin-top:2px;border-radius:2px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;background-image:url("imgs/dhxwins_terrace/dhxwins_buttons.gif");background-repeat:no-repeat;background-position:0 0;}.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button:hover{background-color:#ebebeb;}.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_close{background-position:-15px 0;}.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_close_dis{background-position:-15px -15px;}.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_minmax{background-position:-30px 0;}.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_minmax_dis{background-position:-30px -15px;}.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_minmaxed{background-position:-45px 0;}.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_minmaxed_dis{background-position:-45px -15px;}.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_park{background-position:-60px 0;}.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_park_dis{background-position:-60px -15px;}.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_stick{background-position:-75px 0;}.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_stick_dis{background-position:-75px -15px;}.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_sticked{background-position:-90px 0;z-index:1;}.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_sticked_dis{background-position:-90px -15px;}.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_help{background-position:-105px 0;}.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_help_dis{background-position:-105px -15px;}.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_dock{background-position:-120px 0;}.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_dock_dis{background-position:-120px -15px;}.dhxwins_vp_dhx_terrace.dhxwins_vp_dnd{cursor:move!important;}.dhxwins_vp_dhx_terrace div.dhxwin_resize{position:absolute;background-color:#9c9c9c;opacity:.2;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=20);}.dhxwins_vp_dhx_terrace iframe.dhxwin_resize_fr_cover{position:absolute;background-color:#fff;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}.dhxwins_vp_dhx_terrace div.dhxwins_mcover{position:absolute;background-color:#ededed;left:0;top:0;width:100%;height:100%;opacity:.53;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=53);}.dhxwins_vp_dhx_terrace iframe.dhxwins_mcover{position:absolute;background-color:#fff;left:0;top:0;width:100%;height:100%;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins,.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins{position:absolute;background-color:#fff;margin:0;padding:0;overflow:hidden;cursor:default;visibility:visible;z-index:1;opacity:1;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=100);}.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhx_cell_cover,.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_cover{position:absolute;left:0;top:0;width:100%;height:100%;margin:0;padding:0;font-size:1px;background-color:white;overflow:hidden;z-index:1;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhx_cell_cont_wins,.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_cont_wins{position:absolute;border:5px solid #fff;border-top:10px solid #fff;background-color:#fff;overflow:hidden;z-index:0;}.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhx_cell_cont_wins.dhx_cell_cont_no_borders,.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_cont_wins.dhx_cell_cont_no_borders{border:0 solid #fff!important;}.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhx_cell_menu_def,.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_menu_def{position:relative;overflow:hidden;height:42px;margin:10px 5px 0 5px;}.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhx_cell_toolbar_def,.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_toolbar_def{position:relative;overflow:hidden;padding:10px 5px 0 5px;border-width:0;}.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhx_cell_ribbon_def,.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_ribbon_def{padding-top:4px;}.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhtmlxribbon_dhx_terrace.dhxrb_without_tabbar,.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhtmlxribbon_dhx_terrace.dhxrb_without_tabbar{border:0 solid white;width:auto;}.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhxrb_with_tabbar.dhxtabbar_base_dhx_terrace,.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhxrb_with_tabbar.dhxtabbar_base_dhx_terrace{margin-left:4px;margin-top:4px;margin-right:4px;}.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhx_cell_statusbar_def,.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_statusbar_def{position:absolute;bottom:0;width:100%;font-family:Arial,Helvetica;font-size:13px;color:#333;}.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text,.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text{position:relative;margin:5px 5px 5px 5px;padding:5px 10px;background-color:#f5f5f5;white-space:nowrap;overflow:hidden;}.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhx_cell_progress_bar,.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_progress_bar{position:absolute;left:0;top:0;width:100%;height:100%;background-color:#fff;opacity:.75;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=75);z-index:1;}.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhx_cell_progress_img,.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_progress_img{position:absolute;left:0;top:0;width:100%;height:100%;background-image:url("imgs/dhxwins_terrace/dhxwins_progress.gif");background-position:center center;background-repeat:no-repeat;z-index:2;}.dhxwins_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:30px;height:10px;overflow:hidden;}div.dhxwins_vp_dhx_terrace.dhxwins_vp_fs{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;}.dhtmlx_message_area{position:fixed;right:5px;width:250px;z-index:1000;padding:0;}.dhtmlx-info{color:#333;border-radius:4px;min-width:120px;padding:10px 10px 8px 15px;background:#fffcef;font-size:12px;font-family:Arial;z-index:10000;margin:0 5px 5px 5px;border:1px solid #ccc;-moz-box-shadow:0 0 5px #ccc;-webkit-box-shadow:0 0 5px #ccc;box-shadow:0 0 5px #ccc;-webkit-transition:all .5s ease;-moz-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease;}.dhtmlx-info.hidden{height:0;padding-bottom:0;padding-top:0;border-width:0;margin-top:0;margin-bottom:0;overflow:hidden;}.dhtmlx-error{border:1px solid #f17373;box-shadow:inset 0 0 1px 1px #f59696;background:#f17373;color:#fff;}.dhtmlx_modal_box{overflow:hidden;display:inline-block;min-width:300px;width:300px;text-align:center;position:fixed;z-index:20000;background:#fff;-moz-box-shadow:0 0 5px #AAA;-webkit-box-shadow:0 0 0 #AAA;box-shadow:0 0 5px #AAA;border:1px solid #ddd;border-radius:6px;}.dhtmlx_popup_title{padding:10px 0;font-size:13px;border-bottom:1px solid #ddd;line-height:16px;font-weight:bold;font-family:Arial;border-radius:0;text-shadow:none;height:auto;}.dhtmlx-info,.dhtmlx_popup_title,.dhtmlx_popup_button{-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-o-user-select:none;user-select:none;-moz-user-select:-moz-none;cursor:pointer;}.dhtmlx_popup_text{font-size:13px;font-family:Arial;color:#444;min-height:30px;padding:20px 10px 10px 10px!important;overflow:hidden;border-width:0;margin:0;}.dhtmlx_popup_button div,.dhtmlx_popup_button div:active{line-height:28px;background:inherit;color:inherit;border:none;}.dhtmlx_popup_controls{font-family:Arial;font-weight:bold;padding:10px 10px 15px 10px!important;}.dhtmlx_popup_button{font-size:14px;font-family:Arial;font-weight:normal;min-width:120px;width:120px;height:28px;line-height:28px;display:inline-block;margin:0 5px;border-radius:4px;}div.dhx_modal_cover{background:#000;cursor:default;opacity:.2;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=20);position:fixed;z-index:19999;left:0;top:0;width:100%;height:100%;border:none;zoom:1;}.dhtmlx_popup_button{color:#222;border:1px solid #cecece;box-shadow:0 0 1px #111;}.dhtmlx_popup_button:active,.dhtmlx_popup_button:focus{background:#eee;}.dhtmlx_popup_button:first-child{background:#22A1BC;color:white;border:1px solid #22A1BC;box-shadow:none;}.dhtmlx-alert-error,.dhtmlx-confirm-error{border:1px solid #f17373;}.dhtmlx-alert-error .dhtmlx_popup_title,.dhtmlx-confirm-error .dhtmlx_popup_title{color:#fff;background:#f17373;}.dhtmlx-alert-warning,.dhtmlx-confirm-warning{border:1px solid #E6951A;}.dhtmlx-alert-warning .dhtmlx_popup_title,.dhtmlx-confirm-warning .dhtmlx_popup_title{color:#fff;background:#E6951A;}.dhtmlx-alert .dhtmlx_popup_title,.dhtmlx-confirm .dhtmlx_popup_title{color:#444;background:#f5f5f5;}.dhtmlx-alert .dhtmlx_popup_controls,.dhtmlx-confirm .dhtmlx_popup_controls{border:1px solid #eee;border-width:0 1px 1px 1px;}.dhtmlx-alert .dhtmlx_popup_text,.dhtmlx-confirm .dhtmlx_popup_text{border:1px solid #eee;border-width:0;}.dhtmlx-error div,.dhtmlx-info div{padding:0;background:inherit;color:inherit;border:none;} \ No newline at end of file diff --git a/themes/skins/terrace/imgs/dhxacc_terrace/dhxacc_btns.gif b/themes/skins/terrace/imgs/dhxacc_terrace/dhxacc_btns.gif deleted file mode 100644 index e9f33e2..0000000 Binary files a/themes/skins/terrace/imgs/dhxacc_terrace/dhxacc_btns.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxacc_terrace/dhxacc_cell_progress.gif b/themes/skins/terrace/imgs/dhxacc_terrace/dhxacc_cell_progress.gif deleted file mode 100644 index 7c30859..0000000 Binary files a/themes/skins/terrace/imgs/dhxacc_terrace/dhxacc_cell_progress.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxcalendar_terrace/dhxcalendar_arrow_left.gif b/themes/skins/terrace/imgs/dhxcalendar_terrace/dhxcalendar_arrow_left.gif deleted file mode 100644 index 7604e53..0000000 Binary files a/themes/skins/terrace/imgs/dhxcalendar_terrace/dhxcalendar_arrow_left.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxcalendar_terrace/dhxcalendar_arrow_right.gif b/themes/skins/terrace/imgs/dhxcalendar_terrace/dhxcalendar_arrow_right.gif deleted file mode 100644 index 3bd15c9..0000000 Binary files a/themes/skins/terrace/imgs/dhxcalendar_terrace/dhxcalendar_arrow_right.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxcalendar_terrace/dhxcalendar_clock.gif b/themes/skins/terrace/imgs/dhxcalendar_terrace/dhxcalendar_clock.gif deleted file mode 100644 index c5b9aa6..0000000 Binary files a/themes/skins/terrace/imgs/dhxcalendar_terrace/dhxcalendar_clock.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxcalendar_terrace/dhxcalendar_mark.gif b/themes/skins/terrace/imgs/dhxcalendar_terrace/dhxcalendar_mark.gif deleted file mode 100644 index 4785f82..0000000 Binary files a/themes/skins/terrace/imgs/dhxcalendar_terrace/dhxcalendar_mark.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxcalendar_terrace/dhxcalendar_selector_bottom.gif b/themes/skins/terrace/imgs/dhxcalendar_terrace/dhxcalendar_selector_bottom.gif deleted file mode 100644 index 51bd423..0000000 Binary files a/themes/skins/terrace/imgs/dhxcalendar_terrace/dhxcalendar_selector_bottom.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxcalendar_terrace/dhxcalendar_selector_top.gif b/themes/skins/terrace/imgs/dhxcalendar_terrace/dhxcalendar_selector_top.gif deleted file mode 100644 index b004755..0000000 Binary files a/themes/skins/terrace/imgs/dhxcalendar_terrace/dhxcalendar_selector_top.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxcarousel_terrace/dhxcarousel_cell_progress.gif b/themes/skins/terrace/imgs/dhxcarousel_terrace/dhxcarousel_cell_progress.gif deleted file mode 100644 index 7c30859..0000000 Binary files a/themes/skins/terrace/imgs/dhxcarousel_terrace/dhxcarousel_cell_progress.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxcombo_terrace/dhxcombo_arrow_down.gif b/themes/skins/terrace/imgs/dhxcombo_terrace/dhxcombo_arrow_down.gif deleted file mode 100644 index a434339..0000000 Binary files a/themes/skins/terrace/imgs/dhxcombo_terrace/dhxcombo_arrow_down.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxcombo_terrace/dhxcombo_arrow_down_dis.gif b/themes/skins/terrace/imgs/dhxcombo_terrace/dhxcombo_arrow_down_dis.gif deleted file mode 100644 index 49631ec..0000000 Binary files a/themes/skins/terrace/imgs/dhxcombo_terrace/dhxcombo_arrow_down_dis.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxcombo_terrace/dhxcombo_chbx.gif b/themes/skins/terrace/imgs/dhxcombo_terrace/dhxcombo_chbx.gif deleted file mode 100644 index 524e320..0000000 Binary files a/themes/skins/terrace/imgs/dhxcombo_terrace/dhxcombo_chbx.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxcp_terrace/dhxcp_colors.png b/themes/skins/terrace/imgs/dhxcp_terrace/dhxcp_colors.png deleted file mode 100644 index ede480c..0000000 Binary files a/themes/skins/terrace/imgs/dhxcp_terrace/dhxcp_colors.png and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxdataview_terrace/dnd_selector.png b/themes/skins/terrace/imgs/dhxdataview_terrace/dnd_selector.png deleted file mode 100644 index 5d8e9b4..0000000 Binary files a/themes/skins/terrace/imgs/dhxdataview_terrace/dnd_selector.png and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxdataview_terrace/dnd_selector_cells.png b/themes/skins/terrace/imgs/dhxdataview_terrace/dnd_selector_cells.png deleted file mode 100644 index 63da638..0000000 Binary files a/themes/skins/terrace/imgs/dhxdataview_terrace/dnd_selector_cells.png and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxdataview_terrace/dnd_selector_lines.png b/themes/skins/terrace/imgs/dhxdataview_terrace/dnd_selector_lines.png deleted file mode 100644 index 576ecfd..0000000 Binary files a/themes/skins/terrace/imgs/dhxdataview_terrace/dnd_selector_lines.png and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxdataview_terrace/marker.png b/themes/skins/terrace/imgs/dhxdataview_terrace/marker.png deleted file mode 100644 index ceec125..0000000 Binary files a/themes/skins/terrace/imgs/dhxdataview_terrace/marker.png and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxeditor_terrace/align_center.gif b/themes/skins/terrace/imgs/dhxeditor_terrace/align_center.gif deleted file mode 100644 index a4e3b88..0000000 Binary files a/themes/skins/terrace/imgs/dhxeditor_terrace/align_center.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxeditor_terrace/align_justify.gif b/themes/skins/terrace/imgs/dhxeditor_terrace/align_justify.gif deleted file mode 100644 index d5967cb..0000000 Binary files a/themes/skins/terrace/imgs/dhxeditor_terrace/align_justify.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxeditor_terrace/align_left.gif b/themes/skins/terrace/imgs/dhxeditor_terrace/align_left.gif deleted file mode 100644 index 7cf2dc9..0000000 Binary files a/themes/skins/terrace/imgs/dhxeditor_terrace/align_left.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxeditor_terrace/align_right.gif b/themes/skins/terrace/imgs/dhxeditor_terrace/align_right.gif deleted file mode 100644 index f599524..0000000 Binary files a/themes/skins/terrace/imgs/dhxeditor_terrace/align_right.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxeditor_terrace/bold.gif b/themes/skins/terrace/imgs/dhxeditor_terrace/bold.gif deleted file mode 100644 index f2c62ab..0000000 Binary files a/themes/skins/terrace/imgs/dhxeditor_terrace/bold.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxeditor_terrace/buttons.gif b/themes/skins/terrace/imgs/dhxeditor_terrace/buttons.gif deleted file mode 100644 index 423027e..0000000 Binary files a/themes/skins/terrace/imgs/dhxeditor_terrace/buttons.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxeditor_terrace/clear.gif b/themes/skins/terrace/imgs/dhxeditor_terrace/clear.gif deleted file mode 100644 index 7ce96ec..0000000 Binary files a/themes/skins/terrace/imgs/dhxeditor_terrace/clear.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxeditor_terrace/h1.gif b/themes/skins/terrace/imgs/dhxeditor_terrace/h1.gif deleted file mode 100644 index 041b43b..0000000 Binary files a/themes/skins/terrace/imgs/dhxeditor_terrace/h1.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxeditor_terrace/h2.gif b/themes/skins/terrace/imgs/dhxeditor_terrace/h2.gif deleted file mode 100644 index 4fb8886..0000000 Binary files a/themes/skins/terrace/imgs/dhxeditor_terrace/h2.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxeditor_terrace/h3.gif b/themes/skins/terrace/imgs/dhxeditor_terrace/h3.gif deleted file mode 100644 index ab6db50..0000000 Binary files a/themes/skins/terrace/imgs/dhxeditor_terrace/h3.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxeditor_terrace/h4.gif b/themes/skins/terrace/imgs/dhxeditor_terrace/h4.gif deleted file mode 100644 index d1f83ab..0000000 Binary files a/themes/skins/terrace/imgs/dhxeditor_terrace/h4.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxeditor_terrace/indent_dec.gif b/themes/skins/terrace/imgs/dhxeditor_terrace/indent_dec.gif deleted file mode 100644 index 306d479..0000000 Binary files a/themes/skins/terrace/imgs/dhxeditor_terrace/indent_dec.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxeditor_terrace/indent_inc.gif b/themes/skins/terrace/imgs/dhxeditor_terrace/indent_inc.gif deleted file mode 100644 index c8ccef0..0000000 Binary files a/themes/skins/terrace/imgs/dhxeditor_terrace/indent_inc.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxeditor_terrace/italic.gif b/themes/skins/terrace/imgs/dhxeditor_terrace/italic.gif deleted file mode 100644 index 8b8b34d..0000000 Binary files a/themes/skins/terrace/imgs/dhxeditor_terrace/italic.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxeditor_terrace/list_bullet.gif b/themes/skins/terrace/imgs/dhxeditor_terrace/list_bullet.gif deleted file mode 100644 index 79d483a..0000000 Binary files a/themes/skins/terrace/imgs/dhxeditor_terrace/list_bullet.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxeditor_terrace/list_number.gif b/themes/skins/terrace/imgs/dhxeditor_terrace/list_number.gif deleted file mode 100644 index 6a6d40a..0000000 Binary files a/themes/skins/terrace/imgs/dhxeditor_terrace/list_number.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxeditor_terrace/script_sub.gif b/themes/skins/terrace/imgs/dhxeditor_terrace/script_sub.gif deleted file mode 100644 index 3b24022..0000000 Binary files a/themes/skins/terrace/imgs/dhxeditor_terrace/script_sub.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxeditor_terrace/script_super.gif b/themes/skins/terrace/imgs/dhxeditor_terrace/script_super.gif deleted file mode 100644 index f960f5d..0000000 Binary files a/themes/skins/terrace/imgs/dhxeditor_terrace/script_super.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxeditor_terrace/strike.gif b/themes/skins/terrace/imgs/dhxeditor_terrace/strike.gif deleted file mode 100644 index fd056b8..0000000 Binary files a/themes/skins/terrace/imgs/dhxeditor_terrace/strike.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxeditor_terrace/underline.gif b/themes/skins/terrace/imgs/dhxeditor_terrace/underline.gif deleted file mode 100644 index 3dab980..0000000 Binary files a/themes/skins/terrace/imgs/dhxeditor_terrace/underline.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxform_terrace/dhxform_chbxrd.gif b/themes/skins/terrace/imgs/dhxform_terrace/dhxform_chbxrd.gif deleted file mode 100644 index a713332..0000000 Binary files a/themes/skins/terrace/imgs/dhxform_terrace/dhxform_chbxrd.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxform_terrace/dhxform_image_uploading.gif b/themes/skins/terrace/imgs/dhxform_terrace/dhxform_image_uploading.gif deleted file mode 100644 index 7c30859..0000000 Binary files a/themes/skins/terrace/imgs/dhxform_terrace/dhxform_image_uploading.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxform_terrace/dhxform_upload_buttons.gif b/themes/skins/terrace/imgs/dhxform_terrace/dhxform_upload_buttons.gif deleted file mode 100644 index 21a2311..0000000 Binary files a/themes/skins/terrace/imgs/dhxform_terrace/dhxform_upload_buttons.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxform_terrace/dhxform_upload_uploading.gif b/themes/skins/terrace/imgs/dhxform_terrace/dhxform_upload_uploading.gif deleted file mode 100644 index ca190eb..0000000 Binary files a/themes/skins/terrace/imgs/dhxform_terrace/dhxform_upload_uploading.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxgrid_terrace/ar_left.gif b/themes/skins/terrace/imgs/dhxgrid_terrace/ar_left.gif deleted file mode 100644 index f759a30..0000000 Binary files a/themes/skins/terrace/imgs/dhxgrid_terrace/ar_left.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxgrid_terrace/ar_left_abs.gif b/themes/skins/terrace/imgs/dhxgrid_terrace/ar_left_abs.gif deleted file mode 100644 index 88c8436..0000000 Binary files a/themes/skins/terrace/imgs/dhxgrid_terrace/ar_left_abs.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxgrid_terrace/ar_left_abs_dis.gif b/themes/skins/terrace/imgs/dhxgrid_terrace/ar_left_abs_dis.gif deleted file mode 100644 index 50a2516..0000000 Binary files a/themes/skins/terrace/imgs/dhxgrid_terrace/ar_left_abs_dis.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxgrid_terrace/ar_left_dis.gif b/themes/skins/terrace/imgs/dhxgrid_terrace/ar_left_dis.gif deleted file mode 100644 index b8f397f..0000000 Binary files a/themes/skins/terrace/imgs/dhxgrid_terrace/ar_left_dis.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxgrid_terrace/ar_right.gif b/themes/skins/terrace/imgs/dhxgrid_terrace/ar_right.gif deleted file mode 100644 index 84f348d..0000000 Binary files a/themes/skins/terrace/imgs/dhxgrid_terrace/ar_right.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxgrid_terrace/ar_right_abs.gif b/themes/skins/terrace/imgs/dhxgrid_terrace/ar_right_abs.gif deleted file mode 100644 index 4a0e6bc..0000000 Binary files a/themes/skins/terrace/imgs/dhxgrid_terrace/ar_right_abs.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxgrid_terrace/ar_right_abs_dis.gif b/themes/skins/terrace/imgs/dhxgrid_terrace/ar_right_abs_dis.gif deleted file mode 100644 index feb03cb..0000000 Binary files a/themes/skins/terrace/imgs/dhxgrid_terrace/ar_right_abs_dis.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxgrid_terrace/ar_right_dis.gif b/themes/skins/terrace/imgs/dhxgrid_terrace/ar_right_dis.gif deleted file mode 100644 index 1b53886..0000000 Binary files a/themes/skins/terrace/imgs/dhxgrid_terrace/ar_right_dis.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxgrid_terrace/blank.gif b/themes/skins/terrace/imgs/dhxgrid_terrace/blank.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/skins/terrace/imgs/dhxgrid_terrace/blank.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxgrid_terrace/combo_select.gif b/themes/skins/terrace/imgs/dhxgrid_terrace/combo_select.gif deleted file mode 100644 index 90718a1..0000000 Binary files a/themes/skins/terrace/imgs/dhxgrid_terrace/combo_select.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxgrid_terrace/dyn_.gif b/themes/skins/terrace/imgs/dhxgrid_terrace/dyn_.gif deleted file mode 100644 index 361094a..0000000 Binary files a/themes/skins/terrace/imgs/dhxgrid_terrace/dyn_.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxgrid_terrace/dyn_down.gif b/themes/skins/terrace/imgs/dhxgrid_terrace/dyn_down.gif deleted file mode 100644 index b73c84e..0000000 Binary files a/themes/skins/terrace/imgs/dhxgrid_terrace/dyn_down.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxgrid_terrace/dyn_up.gif b/themes/skins/terrace/imgs/dhxgrid_terrace/dyn_up.gif deleted file mode 100644 index 556a9fb..0000000 Binary files a/themes/skins/terrace/imgs/dhxgrid_terrace/dyn_up.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxgrid_terrace/imageloaderror.gif b/themes/skins/terrace/imgs/dhxgrid_terrace/imageloaderror.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/skins/terrace/imgs/dhxgrid_terrace/imageloaderror.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxgrid_terrace/item_chk0.gif b/themes/skins/terrace/imgs/dhxgrid_terrace/item_chk0.gif deleted file mode 100644 index 22d0f01..0000000 Binary files a/themes/skins/terrace/imgs/dhxgrid_terrace/item_chk0.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxgrid_terrace/item_chk0_dis.gif b/themes/skins/terrace/imgs/dhxgrid_terrace/item_chk0_dis.gif deleted file mode 100644 index 9310cb8..0000000 Binary files a/themes/skins/terrace/imgs/dhxgrid_terrace/item_chk0_dis.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxgrid_terrace/item_chk1.gif b/themes/skins/terrace/imgs/dhxgrid_terrace/item_chk1.gif deleted file mode 100644 index 5530bcb..0000000 Binary files a/themes/skins/terrace/imgs/dhxgrid_terrace/item_chk1.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxgrid_terrace/item_chk1_dis.gif b/themes/skins/terrace/imgs/dhxgrid_terrace/item_chk1_dis.gif deleted file mode 100644 index c70d2e1..0000000 Binary files a/themes/skins/terrace/imgs/dhxgrid_terrace/item_chk1_dis.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxgrid_terrace/minus.gif b/themes/skins/terrace/imgs/dhxgrid_terrace/minus.gif deleted file mode 100644 index ef04a54..0000000 Binary files a/themes/skins/terrace/imgs/dhxgrid_terrace/minus.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxgrid_terrace/paging_page.gif b/themes/skins/terrace/imgs/dhxgrid_terrace/paging_page.gif deleted file mode 100644 index a8b2bac..0000000 Binary files a/themes/skins/terrace/imgs/dhxgrid_terrace/paging_page.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxgrid_terrace/paging_pages.gif b/themes/skins/terrace/imgs/dhxgrid_terrace/paging_pages.gif deleted file mode 100644 index e4b3d3a..0000000 Binary files a/themes/skins/terrace/imgs/dhxgrid_terrace/paging_pages.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxgrid_terrace/paging_rows.gif b/themes/skins/terrace/imgs/dhxgrid_terrace/paging_rows.gif deleted file mode 100644 index 09db362..0000000 Binary files a/themes/skins/terrace/imgs/dhxgrid_terrace/paging_rows.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxgrid_terrace/plus.gif b/themes/skins/terrace/imgs/dhxgrid_terrace/plus.gif deleted file mode 100644 index abb84bd..0000000 Binary files a/themes/skins/terrace/imgs/dhxgrid_terrace/plus.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxgrid_terrace/radio_chk0.gif b/themes/skins/terrace/imgs/dhxgrid_terrace/radio_chk0.gif deleted file mode 100644 index 4bd2f93..0000000 Binary files a/themes/skins/terrace/imgs/dhxgrid_terrace/radio_chk0.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxgrid_terrace/radio_chk0_dis.gif b/themes/skins/terrace/imgs/dhxgrid_terrace/radio_chk0_dis.gif deleted file mode 100644 index c04a681..0000000 Binary files a/themes/skins/terrace/imgs/dhxgrid_terrace/radio_chk0_dis.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxgrid_terrace/radio_chk1.gif b/themes/skins/terrace/imgs/dhxgrid_terrace/radio_chk1.gif deleted file mode 100644 index 1fc529a..0000000 Binary files a/themes/skins/terrace/imgs/dhxgrid_terrace/radio_chk1.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxgrid_terrace/radio_chk1_dis.gif b/themes/skins/terrace/imgs/dhxgrid_terrace/radio_chk1_dis.gif deleted file mode 100644 index 000f82b..0000000 Binary files a/themes/skins/terrace/imgs/dhxgrid_terrace/radio_chk1_dis.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxgrid_terrace/sort_asc.gif b/themes/skins/terrace/imgs/dhxgrid_terrace/sort_asc.gif deleted file mode 100644 index feb339b..0000000 Binary files a/themes/skins/terrace/imgs/dhxgrid_terrace/sort_asc.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxgrid_terrace/sort_desc.gif b/themes/skins/terrace/imgs/dhxgrid_terrace/sort_desc.gif deleted file mode 100644 index 852f984..0000000 Binary files a/themes/skins/terrace/imgs/dhxgrid_terrace/sort_desc.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxgrid_terrace/tree/blank.gif b/themes/skins/terrace/imgs/dhxgrid_terrace/tree/blank.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/skins/terrace/imgs/dhxgrid_terrace/tree/blank.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxgrid_terrace/tree/folder.gif b/themes/skins/terrace/imgs/dhxgrid_terrace/tree/folder.gif deleted file mode 100644 index 440b803..0000000 Binary files a/themes/skins/terrace/imgs/dhxgrid_terrace/tree/folder.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxgrid_terrace/tree/leaf.gif b/themes/skins/terrace/imgs/dhxgrid_terrace/tree/leaf.gif deleted file mode 100644 index 28c6528..0000000 Binary files a/themes/skins/terrace/imgs/dhxgrid_terrace/tree/leaf.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxgrid_terrace/tree/line.gif b/themes/skins/terrace/imgs/dhxgrid_terrace/tree/line.gif deleted file mode 100644 index b4f560c..0000000 Binary files a/themes/skins/terrace/imgs/dhxgrid_terrace/tree/line.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxgrid_terrace/tree/line1.gif b/themes/skins/terrace/imgs/dhxgrid_terrace/tree/line1.gif deleted file mode 100644 index dae44cd..0000000 Binary files a/themes/skins/terrace/imgs/dhxgrid_terrace/tree/line1.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxgrid_terrace/tree/line2.gif b/themes/skins/terrace/imgs/dhxgrid_terrace/tree/line2.gif deleted file mode 100644 index 23b2ce3..0000000 Binary files a/themes/skins/terrace/imgs/dhxgrid_terrace/tree/line2.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxgrid_terrace/tree/line3.gif b/themes/skins/terrace/imgs/dhxgrid_terrace/tree/line3.gif deleted file mode 100644 index 43152c5..0000000 Binary files a/themes/skins/terrace/imgs/dhxgrid_terrace/tree/line3.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxgrid_terrace/tree/line4.gif b/themes/skins/terrace/imgs/dhxgrid_terrace/tree/line4.gif deleted file mode 100644 index 907fe7a..0000000 Binary files a/themes/skins/terrace/imgs/dhxgrid_terrace/tree/line4.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxgrid_terrace/tree/minus.gif b/themes/skins/terrace/imgs/dhxgrid_terrace/tree/minus.gif deleted file mode 100644 index aa6c115..0000000 Binary files a/themes/skins/terrace/imgs/dhxgrid_terrace/tree/minus.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxgrid_terrace/tree/minus1.gif b/themes/skins/terrace/imgs/dhxgrid_terrace/tree/minus1.gif deleted file mode 100644 index 9f8b70f..0000000 Binary files a/themes/skins/terrace/imgs/dhxgrid_terrace/tree/minus1.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxgrid_terrace/tree/minus2.gif b/themes/skins/terrace/imgs/dhxgrid_terrace/tree/minus2.gif deleted file mode 100644 index af8ae3e..0000000 Binary files a/themes/skins/terrace/imgs/dhxgrid_terrace/tree/minus2.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxgrid_terrace/tree/minus3.gif b/themes/skins/terrace/imgs/dhxgrid_terrace/tree/minus3.gif deleted file mode 100644 index c9eaaad..0000000 Binary files a/themes/skins/terrace/imgs/dhxgrid_terrace/tree/minus3.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxgrid_terrace/tree/minus4.gif b/themes/skins/terrace/imgs/dhxgrid_terrace/tree/minus4.gif deleted file mode 100644 index bd98f26..0000000 Binary files a/themes/skins/terrace/imgs/dhxgrid_terrace/tree/minus4.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxgrid_terrace/tree/minus5.gif b/themes/skins/terrace/imgs/dhxgrid_terrace/tree/minus5.gif deleted file mode 100644 index 379b154..0000000 Binary files a/themes/skins/terrace/imgs/dhxgrid_terrace/tree/minus5.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxgrid_terrace/tree/plus.gif b/themes/skins/terrace/imgs/dhxgrid_terrace/tree/plus.gif deleted file mode 100644 index 08fc8f6..0000000 Binary files a/themes/skins/terrace/imgs/dhxgrid_terrace/tree/plus.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxgrid_terrace/tree/plus1.gif b/themes/skins/terrace/imgs/dhxgrid_terrace/tree/plus1.gif deleted file mode 100644 index e79e4ed..0000000 Binary files a/themes/skins/terrace/imgs/dhxgrid_terrace/tree/plus1.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxgrid_terrace/tree/plus2.gif b/themes/skins/terrace/imgs/dhxgrid_terrace/tree/plus2.gif deleted file mode 100644 index 94a5d4e..0000000 Binary files a/themes/skins/terrace/imgs/dhxgrid_terrace/tree/plus2.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxgrid_terrace/tree/plus3.gif b/themes/skins/terrace/imgs/dhxgrid_terrace/tree/plus3.gif deleted file mode 100644 index 59708a6..0000000 Binary files a/themes/skins/terrace/imgs/dhxgrid_terrace/tree/plus3.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxgrid_terrace/tree/plus4.gif b/themes/skins/terrace/imgs/dhxgrid_terrace/tree/plus4.gif deleted file mode 100644 index 3765d16..0000000 Binary files a/themes/skins/terrace/imgs/dhxgrid_terrace/tree/plus4.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxgrid_terrace/tree/plus5.gif b/themes/skins/terrace/imgs/dhxgrid_terrace/tree/plus5.gif deleted file mode 100644 index 1e296fa..0000000 Binary files a/themes/skins/terrace/imgs/dhxgrid_terrace/tree/plus5.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxlayout_terrace/dhxlayout_cell_btns.gif b/themes/skins/terrace/imgs/dhxlayout_terrace/dhxlayout_cell_btns.gif deleted file mode 100644 index 18befd2..0000000 Binary files a/themes/skins/terrace/imgs/dhxlayout_terrace/dhxlayout_cell_btns.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxlayout_terrace/dhxlayout_cell_progress.gif b/themes/skins/terrace/imgs/dhxlayout_terrace/dhxlayout_cell_progress.gif deleted file mode 100644 index 7c30859..0000000 Binary files a/themes/skins/terrace/imgs/dhxlayout_terrace/dhxlayout_cell_progress.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxlayout_terrace/dhxlayout_sep_h.gif b/themes/skins/terrace/imgs/dhxlayout_terrace/dhxlayout_sep_h.gif deleted file mode 100644 index c1dc8dd..0000000 Binary files a/themes/skins/terrace/imgs/dhxlayout_terrace/dhxlayout_sep_h.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxlayout_terrace/dhxlayout_sep_v.gif b/themes/skins/terrace/imgs/dhxlayout_terrace/dhxlayout_sep_v.gif deleted file mode 100644 index 71c97e3..0000000 Binary files a/themes/skins/terrace/imgs/dhxlayout_terrace/dhxlayout_sep_v.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxmenu_terrace/dhxmenu_arrow_down.gif b/themes/skins/terrace/imgs/dhxmenu_terrace/dhxmenu_arrow_down.gif deleted file mode 100644 index 60be3f7..0000000 Binary files a/themes/skins/terrace/imgs/dhxmenu_terrace/dhxmenu_arrow_down.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxmenu_terrace/dhxmenu_arrow_down_dis.gif b/themes/skins/terrace/imgs/dhxmenu_terrace/dhxmenu_arrow_down_dis.gif deleted file mode 100644 index d849732..0000000 Binary files a/themes/skins/terrace/imgs/dhxmenu_terrace/dhxmenu_arrow_down_dis.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxmenu_terrace/dhxmenu_arrow_up.gif b/themes/skins/terrace/imgs/dhxmenu_terrace/dhxmenu_arrow_up.gif deleted file mode 100644 index c23a23a..0000000 Binary files a/themes/skins/terrace/imgs/dhxmenu_terrace/dhxmenu_arrow_up.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxmenu_terrace/dhxmenu_arrow_up_dis.gif b/themes/skins/terrace/imgs/dhxmenu_terrace/dhxmenu_arrow_up_dis.gif deleted file mode 100644 index a43cfe3..0000000 Binary files a/themes/skins/terrace/imgs/dhxmenu_terrace/dhxmenu_arrow_up_dis.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxmenu_terrace/dhxmenu_chrd.gif b/themes/skins/terrace/imgs/dhxmenu_terrace/dhxmenu_chrd.gif deleted file mode 100644 index aa11459..0000000 Binary files a/themes/skins/terrace/imgs/dhxmenu_terrace/dhxmenu_chrd.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxmenu_terrace/dhxmenu_loader.gif b/themes/skins/terrace/imgs/dhxmenu_terrace/dhxmenu_loader.gif deleted file mode 100644 index ca190eb..0000000 Binary files a/themes/skins/terrace/imgs/dhxmenu_terrace/dhxmenu_loader.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxmenu_terrace/dhxmenu_subar.gif b/themes/skins/terrace/imgs/dhxmenu_terrace/dhxmenu_subar.gif deleted file mode 100644 index 35dbd98..0000000 Binary files a/themes/skins/terrace/imgs/dhxmenu_terrace/dhxmenu_subar.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxpopup_terrace/dhxpopup_arrow_bottom.gif b/themes/skins/terrace/imgs/dhxpopup_terrace/dhxpopup_arrow_bottom.gif deleted file mode 100644 index 2e0b62b..0000000 Binary files a/themes/skins/terrace/imgs/dhxpopup_terrace/dhxpopup_arrow_bottom.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxpopup_terrace/dhxpopup_arrow_left.gif b/themes/skins/terrace/imgs/dhxpopup_terrace/dhxpopup_arrow_left.gif deleted file mode 100644 index d4e7626..0000000 Binary files a/themes/skins/terrace/imgs/dhxpopup_terrace/dhxpopup_arrow_left.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxpopup_terrace/dhxpopup_arrow_right.gif b/themes/skins/terrace/imgs/dhxpopup_terrace/dhxpopup_arrow_right.gif deleted file mode 100644 index d5db8d7..0000000 Binary files a/themes/skins/terrace/imgs/dhxpopup_terrace/dhxpopup_arrow_right.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxpopup_terrace/dhxpopup_arrow_top.gif b/themes/skins/terrace/imgs/dhxpopup_terrace/dhxpopup_arrow_top.gif deleted file mode 100644 index 091051e..0000000 Binary files a/themes/skins/terrace/imgs/dhxpopup_terrace/dhxpopup_arrow_top.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxribbon_terrace/dhxribbon_arrow.gif b/themes/skins/terrace/imgs/dhxribbon_terrace/dhxribbon_arrow.gif deleted file mode 100644 index f64e20b..0000000 Binary files a/themes/skins/terrace/imgs/dhxribbon_terrace/dhxribbon_arrow.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxribbon_terrace/dhxribbon_checked.gif b/themes/skins/terrace/imgs/dhxribbon_terrace/dhxribbon_checked.gif deleted file mode 100644 index 1880e6f..0000000 Binary files a/themes/skins/terrace/imgs/dhxribbon_terrace/dhxribbon_checked.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxribbon_terrace/dhxribbon_checked_dis.gif b/themes/skins/terrace/imgs/dhxribbon_terrace/dhxribbon_checked_dis.gif deleted file mode 100644 index dd3cb91..0000000 Binary files a/themes/skins/terrace/imgs/dhxribbon_terrace/dhxribbon_checked_dis.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxsidebar_terrace/dhxsidebar_arrow_down.gif b/themes/skins/terrace/imgs/dhxsidebar_terrace/dhxsidebar_arrow_down.gif deleted file mode 100644 index e04b449..0000000 Binary files a/themes/skins/terrace/imgs/dhxsidebar_terrace/dhxsidebar_arrow_down.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxsidebar_terrace/dhxsidebar_arrow_up.gif b/themes/skins/terrace/imgs/dhxsidebar_terrace/dhxsidebar_arrow_up.gif deleted file mode 100644 index c230d03..0000000 Binary files a/themes/skins/terrace/imgs/dhxsidebar_terrace/dhxsidebar_arrow_up.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxsidebar_terrace/dhxsidebar_cell_progress.gif b/themes/skins/terrace/imgs/dhxsidebar_terrace/dhxsidebar_cell_progress.gif deleted file mode 100644 index 7c30859..0000000 Binary files a/themes/skins/terrace/imgs/dhxsidebar_terrace/dhxsidebar_cell_progress.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxsidebar_terrace/dhxsidebar_side_icon.gif b/themes/skins/terrace/imgs/dhxsidebar_terrace/dhxsidebar_side_icon.gif deleted file mode 100644 index 30dfbba..0000000 Binary files a/themes/skins/terrace/imgs/dhxsidebar_terrace/dhxsidebar_side_icon.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxtabbar_terrace/dhxtabbar_arrows.gif b/themes/skins/terrace/imgs/dhxtabbar_terrace/dhxtabbar_arrows.gif deleted file mode 100644 index 56490ce..0000000 Binary files a/themes/skins/terrace/imgs/dhxtabbar_terrace/dhxtabbar_arrows.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxtabbar_terrace/dhxtabbar_button_close.gif b/themes/skins/terrace/imgs/dhxtabbar_terrace/dhxtabbar_button_close.gif deleted file mode 100644 index 6922158..0000000 Binary files a/themes/skins/terrace/imgs/dhxtabbar_terrace/dhxtabbar_button_close.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxtabbar_terrace/dhxtabbar_cell_progress.gif b/themes/skins/terrace/imgs/dhxtabbar_terrace/dhxtabbar_cell_progress.gif deleted file mode 100644 index 7c30859..0000000 Binary files a/themes/skins/terrace/imgs/dhxtabbar_terrace/dhxtabbar_cell_progress.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxtoolbar_terrace/dhxtoolbar_arrow.gif b/themes/skins/terrace/imgs/dhxtoolbar_terrace/dhxtoolbar_arrow.gif deleted file mode 100644 index 8e805d8..0000000 Binary files a/themes/skins/terrace/imgs/dhxtoolbar_terrace/dhxtoolbar_arrow.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxtoolbar_terrace/dhxtoolbar_arrow_dis.gif b/themes/skins/terrace/imgs/dhxtoolbar_terrace/dhxtoolbar_arrow_dis.gif deleted file mode 100644 index 3eddbbd..0000000 Binary files a/themes/skins/terrace/imgs/dhxtoolbar_terrace/dhxtoolbar_arrow_dis.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxtree_terrace/blank.gif b/themes/skins/terrace/imgs/dhxtree_terrace/blank.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/skins/terrace/imgs/dhxtree_terrace/blank.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxtree_terrace/but_cut.gif b/themes/skins/terrace/imgs/dhxtree_terrace/but_cut.gif deleted file mode 100644 index 942bd18..0000000 Binary files a/themes/skins/terrace/imgs/dhxtree_terrace/but_cut.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxtree_terrace/folderClosed.gif b/themes/skins/terrace/imgs/dhxtree_terrace/folderClosed.gif deleted file mode 100644 index 440b803..0000000 Binary files a/themes/skins/terrace/imgs/dhxtree_terrace/folderClosed.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxtree_terrace/folderOpen.gif b/themes/skins/terrace/imgs/dhxtree_terrace/folderOpen.gif deleted file mode 100644 index 03aa41a..0000000 Binary files a/themes/skins/terrace/imgs/dhxtree_terrace/folderOpen.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxtree_terrace/iconCheckAll.gif b/themes/skins/terrace/imgs/dhxtree_terrace/iconCheckAll.gif deleted file mode 100644 index 8f31ebe..0000000 Binary files a/themes/skins/terrace/imgs/dhxtree_terrace/iconCheckAll.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxtree_terrace/iconCheckDis.gif b/themes/skins/terrace/imgs/dhxtree_terrace/iconCheckDis.gif deleted file mode 100644 index 760d935..0000000 Binary files a/themes/skins/terrace/imgs/dhxtree_terrace/iconCheckDis.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxtree_terrace/iconCheckGray.gif b/themes/skins/terrace/imgs/dhxtree_terrace/iconCheckGray.gif deleted file mode 100644 index 5c8d3d0..0000000 Binary files a/themes/skins/terrace/imgs/dhxtree_terrace/iconCheckGray.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxtree_terrace/iconUncheckAll.gif b/themes/skins/terrace/imgs/dhxtree_terrace/iconUncheckAll.gif deleted file mode 100644 index 200801b..0000000 Binary files a/themes/skins/terrace/imgs/dhxtree_terrace/iconUncheckAll.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxtree_terrace/iconUncheckDis.gif b/themes/skins/terrace/imgs/dhxtree_terrace/iconUncheckDis.gif deleted file mode 100644 index 75566a4..0000000 Binary files a/themes/skins/terrace/imgs/dhxtree_terrace/iconUncheckDis.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxtree_terrace/leaf.gif b/themes/skins/terrace/imgs/dhxtree_terrace/leaf.gif deleted file mode 100644 index 28c6528..0000000 Binary files a/themes/skins/terrace/imgs/dhxtree_terrace/leaf.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxtree_terrace/line.gif b/themes/skins/terrace/imgs/dhxtree_terrace/line.gif deleted file mode 100644 index b4f560c..0000000 Binary files a/themes/skins/terrace/imgs/dhxtree_terrace/line.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxtree_terrace/line1.gif b/themes/skins/terrace/imgs/dhxtree_terrace/line1.gif deleted file mode 100644 index dae44cd..0000000 Binary files a/themes/skins/terrace/imgs/dhxtree_terrace/line1.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxtree_terrace/line1_rtl.gif b/themes/skins/terrace/imgs/dhxtree_terrace/line1_rtl.gif deleted file mode 100644 index bf32db2..0000000 Binary files a/themes/skins/terrace/imgs/dhxtree_terrace/line1_rtl.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxtree_terrace/line2.gif b/themes/skins/terrace/imgs/dhxtree_terrace/line2.gif deleted file mode 100644 index 23b2ce3..0000000 Binary files a/themes/skins/terrace/imgs/dhxtree_terrace/line2.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxtree_terrace/line2_rtl.gif b/themes/skins/terrace/imgs/dhxtree_terrace/line2_rtl.gif deleted file mode 100644 index 6ec17b5..0000000 Binary files a/themes/skins/terrace/imgs/dhxtree_terrace/line2_rtl.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxtree_terrace/line3.gif b/themes/skins/terrace/imgs/dhxtree_terrace/line3.gif deleted file mode 100644 index 43152c5..0000000 Binary files a/themes/skins/terrace/imgs/dhxtree_terrace/line3.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxtree_terrace/line3_rtl.gif b/themes/skins/terrace/imgs/dhxtree_terrace/line3_rtl.gif deleted file mode 100644 index 74a874c..0000000 Binary files a/themes/skins/terrace/imgs/dhxtree_terrace/line3_rtl.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxtree_terrace/line4.gif b/themes/skins/terrace/imgs/dhxtree_terrace/line4.gif deleted file mode 100644 index 907fe7a..0000000 Binary files a/themes/skins/terrace/imgs/dhxtree_terrace/line4.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxtree_terrace/line4_rtl.gif b/themes/skins/terrace/imgs/dhxtree_terrace/line4_rtl.gif deleted file mode 100644 index 5c7e162..0000000 Binary files a/themes/skins/terrace/imgs/dhxtree_terrace/line4_rtl.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxtree_terrace/lock.gif b/themes/skins/terrace/imgs/dhxtree_terrace/lock.gif deleted file mode 100644 index 0cf8dad..0000000 Binary files a/themes/skins/terrace/imgs/dhxtree_terrace/lock.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxtree_terrace/minus.gif b/themes/skins/terrace/imgs/dhxtree_terrace/minus.gif deleted file mode 100644 index aa6c115..0000000 Binary files a/themes/skins/terrace/imgs/dhxtree_terrace/minus.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxtree_terrace/minus1.gif b/themes/skins/terrace/imgs/dhxtree_terrace/minus1.gif deleted file mode 100644 index 9f8b70f..0000000 Binary files a/themes/skins/terrace/imgs/dhxtree_terrace/minus1.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxtree_terrace/minus2.gif b/themes/skins/terrace/imgs/dhxtree_terrace/minus2.gif deleted file mode 100644 index af8ae3e..0000000 Binary files a/themes/skins/terrace/imgs/dhxtree_terrace/minus2.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxtree_terrace/minus2_rtl.gif b/themes/skins/terrace/imgs/dhxtree_terrace/minus2_rtl.gif deleted file mode 100644 index ac9c9a2..0000000 Binary files a/themes/skins/terrace/imgs/dhxtree_terrace/minus2_rtl.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxtree_terrace/minus3.gif b/themes/skins/terrace/imgs/dhxtree_terrace/minus3.gif deleted file mode 100644 index c9eaaad..0000000 Binary files a/themes/skins/terrace/imgs/dhxtree_terrace/minus3.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxtree_terrace/minus3_rtl.gif b/themes/skins/terrace/imgs/dhxtree_terrace/minus3_rtl.gif deleted file mode 100644 index d331748..0000000 Binary files a/themes/skins/terrace/imgs/dhxtree_terrace/minus3_rtl.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxtree_terrace/minus4.gif b/themes/skins/terrace/imgs/dhxtree_terrace/minus4.gif deleted file mode 100644 index bd98f26..0000000 Binary files a/themes/skins/terrace/imgs/dhxtree_terrace/minus4.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxtree_terrace/minus4_rtl.gif b/themes/skins/terrace/imgs/dhxtree_terrace/minus4_rtl.gif deleted file mode 100644 index 25a0dd1..0000000 Binary files a/themes/skins/terrace/imgs/dhxtree_terrace/minus4_rtl.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxtree_terrace/minus5.gif b/themes/skins/terrace/imgs/dhxtree_terrace/minus5.gif deleted file mode 100644 index 379b154..0000000 Binary files a/themes/skins/terrace/imgs/dhxtree_terrace/minus5.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxtree_terrace/minus5_rtl.gif b/themes/skins/terrace/imgs/dhxtree_terrace/minus5_rtl.gif deleted file mode 100644 index 1309973..0000000 Binary files a/themes/skins/terrace/imgs/dhxtree_terrace/minus5_rtl.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxtree_terrace/plus.gif b/themes/skins/terrace/imgs/dhxtree_terrace/plus.gif deleted file mode 100644 index 08fc8f6..0000000 Binary files a/themes/skins/terrace/imgs/dhxtree_terrace/plus.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxtree_terrace/plus1.gif b/themes/skins/terrace/imgs/dhxtree_terrace/plus1.gif deleted file mode 100644 index e79e4ed..0000000 Binary files a/themes/skins/terrace/imgs/dhxtree_terrace/plus1.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxtree_terrace/plus2.gif b/themes/skins/terrace/imgs/dhxtree_terrace/plus2.gif deleted file mode 100644 index 94a5d4e..0000000 Binary files a/themes/skins/terrace/imgs/dhxtree_terrace/plus2.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxtree_terrace/plus2_rtl.gif b/themes/skins/terrace/imgs/dhxtree_terrace/plus2_rtl.gif deleted file mode 100644 index 929fde0..0000000 Binary files a/themes/skins/terrace/imgs/dhxtree_terrace/plus2_rtl.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxtree_terrace/plus3.gif b/themes/skins/terrace/imgs/dhxtree_terrace/plus3.gif deleted file mode 100644 index 59708a6..0000000 Binary files a/themes/skins/terrace/imgs/dhxtree_terrace/plus3.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxtree_terrace/plus3_rtl.gif b/themes/skins/terrace/imgs/dhxtree_terrace/plus3_rtl.gif deleted file mode 100644 index 3bbba74..0000000 Binary files a/themes/skins/terrace/imgs/dhxtree_terrace/plus3_rtl.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxtree_terrace/plus4.gif b/themes/skins/terrace/imgs/dhxtree_terrace/plus4.gif deleted file mode 100644 index 3765d16..0000000 Binary files a/themes/skins/terrace/imgs/dhxtree_terrace/plus4.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxtree_terrace/plus4_rtl.gif b/themes/skins/terrace/imgs/dhxtree_terrace/plus4_rtl.gif deleted file mode 100644 index 0bca0bd..0000000 Binary files a/themes/skins/terrace/imgs/dhxtree_terrace/plus4_rtl.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxtree_terrace/plus5.gif b/themes/skins/terrace/imgs/dhxtree_terrace/plus5.gif deleted file mode 100644 index 1e296fa..0000000 Binary files a/themes/skins/terrace/imgs/dhxtree_terrace/plus5.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxtree_terrace/plus5_rtl.gif b/themes/skins/terrace/imgs/dhxtree_terrace/plus5_rtl.gif deleted file mode 100644 index 09f2007..0000000 Binary files a/themes/skins/terrace/imgs/dhxtree_terrace/plus5_rtl.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxtree_terrace/radio_off.gif b/themes/skins/terrace/imgs/dhxtree_terrace/radio_off.gif deleted file mode 100644 index 66879ce..0000000 Binary files a/themes/skins/terrace/imgs/dhxtree_terrace/radio_off.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxtree_terrace/radio_on.gif b/themes/skins/terrace/imgs/dhxtree_terrace/radio_on.gif deleted file mode 100644 index 3d617de..0000000 Binary files a/themes/skins/terrace/imgs/dhxtree_terrace/radio_on.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxtreeview_terrace/icon_chbx_0.gif b/themes/skins/terrace/imgs/dhxtreeview_terrace/icon_chbx_0.gif deleted file mode 100644 index 200801b..0000000 Binary files a/themes/skins/terrace/imgs/dhxtreeview_terrace/icon_chbx_0.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxtreeview_terrace/icon_chbx_1.gif b/themes/skins/terrace/imgs/dhxtreeview_terrace/icon_chbx_1.gif deleted file mode 100644 index 8f31ebe..0000000 Binary files a/themes/skins/terrace/imgs/dhxtreeview_terrace/icon_chbx_1.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxtreeview_terrace/icon_chbx_dis_0.gif b/themes/skins/terrace/imgs/dhxtreeview_terrace/icon_chbx_dis_0.gif deleted file mode 100644 index 75566a4..0000000 Binary files a/themes/skins/terrace/imgs/dhxtreeview_terrace/icon_chbx_dis_0.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxtreeview_terrace/icon_chbx_dis_1.gif b/themes/skins/terrace/imgs/dhxtreeview_terrace/icon_chbx_dis_1.gif deleted file mode 100644 index 760d935..0000000 Binary files a/themes/skins/terrace/imgs/dhxtreeview_terrace/icon_chbx_dis_1.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxtreeview_terrace/icon_file.gif b/themes/skins/terrace/imgs/dhxtreeview_terrace/icon_file.gif deleted file mode 100644 index 28c6528..0000000 Binary files a/themes/skins/terrace/imgs/dhxtreeview_terrace/icon_file.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxtreeview_terrace/icon_folder_closed.gif b/themes/skins/terrace/imgs/dhxtreeview_terrace/icon_folder_closed.gif deleted file mode 100644 index 440b803..0000000 Binary files a/themes/skins/terrace/imgs/dhxtreeview_terrace/icon_folder_closed.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxtreeview_terrace/icon_folder_opened.gif b/themes/skins/terrace/imgs/dhxtreeview_terrace/icon_folder_opened.gif deleted file mode 100644 index 03aa41a..0000000 Binary files a/themes/skins/terrace/imgs/dhxtreeview_terrace/icon_folder_opened.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxtreeview_terrace/icon_minus.gif b/themes/skins/terrace/imgs/dhxtreeview_terrace/icon_minus.gif deleted file mode 100644 index aa6c115..0000000 Binary files a/themes/skins/terrace/imgs/dhxtreeview_terrace/icon_minus.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxtreeview_terrace/icon_plus.gif b/themes/skins/terrace/imgs/dhxtreeview_terrace/icon_plus.gif deleted file mode 100644 index 08fc8f6..0000000 Binary files a/themes/skins/terrace/imgs/dhxtreeview_terrace/icon_plus.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxtreeview_terrace/loading.gif b/themes/skins/terrace/imgs/dhxtreeview_terrace/loading.gif deleted file mode 100644 index d91e279..0000000 Binary files a/themes/skins/terrace/imgs/dhxtreeview_terrace/loading.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxwins_terrace/dhxwins_buttons.gif b/themes/skins/terrace/imgs/dhxwins_terrace/dhxwins_buttons.gif deleted file mode 100644 index 044c644..0000000 Binary files a/themes/skins/terrace/imgs/dhxwins_terrace/dhxwins_buttons.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxwins_terrace/dhxwins_icon.gif b/themes/skins/terrace/imgs/dhxwins_terrace/dhxwins_icon.gif deleted file mode 100644 index 57ab8d7..0000000 Binary files a/themes/skins/terrace/imgs/dhxwins_terrace/dhxwins_icon.gif and /dev/null differ diff --git a/themes/skins/terrace/imgs/dhxwins_terrace/dhxwins_progress.gif b/themes/skins/terrace/imgs/dhxwins_terrace/dhxwins_progress.gif deleted file mode 100644 index 7c30859..0000000 Binary files a/themes/skins/terrace/imgs/dhxwins_terrace/dhxwins_progress.gif and /dev/null differ diff --git a/themes/skins/web/dhtmlx.css b/themes/skins/web/dhtmlx.css deleted file mode 100644 index 8cb9099..0000000 --- a/themes/skins/web/dhtmlx.css +++ /dev/null @@ -1,7646 +0,0 @@ - - -.dhtmlxcalendar_dhx_web { - position: absolute; - display: block; - background-color: #ffffff; - font-family: Tahoma; - font-size: 12px; - color: #000000; -} -.dhtmlxcalendar_dhx_web.dhtmlxcalendar_in_input { - box-shadow: 0 0 6px rgba(0, 0, 0, 0.25); -} -.dhtmlxcalendar_ifr { - position: absolute; - overflow: hidden; - background-color: white; -} -.dhtmlxcalendar_dhx_web ul.dhtmlxcalendar_line { - position: relative; - display: block; - clear: both; - margin: 0px; - padding: 0px; - overflow: hidden; - width: 225px; -} -.dhtmlxcalendar_dhx_web ul.dhtmlxcalendar_line li { - float: left; - position: relative; - list-style-type: none; - list-style-image: none; - text-align: center; - vertical-align: middle; - cursor: default; - overflow: hidden; - margin: 0px; - padding: 0px; -} -/****************************************************************************************************************************************************************************************************************/ -/* months header */ -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_month_cont { - position: relative; - display: block; - width: 227px; - height: 27px; - margin: 0px; - background-color: #6e95ad; - overflow: hidden; - color: #ffffff; - -webkit-user-select: text; - -khtml-user-select: text; - -moz-user-select: text; - -ms-user-select: text; - -o-user-select: text; - user-select: text; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr { - width: 227px; - height: 27px; - line-height: 27px; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow { - position: absolute; - top: 0px; - width: 18px; - height: 27px; - color: inherit; - text-align: center; - background-position: center center; - background-repeat: no-repeat; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_left { - left: 4px; - background-image: url("imgs/dhxcalendar_web/dhxcalendar_arrow_left.gif"); - opacity: 0.8; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=80); -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_left_hover { - left: 4px; - background-image: url("imgs/dhxcalendar_web/dhxcalendar_arrow_left.gif"); - opacity: 1; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100); -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_right { - right: 4px; - background-image: url("imgs/dhxcalendar_web/dhxcalendar_arrow_right.gif"); - opacity: 0.8; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=80); -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_right_hover { - right: 4px; - background-image: url("imgs/dhxcalendar_web/dhxcalendar_arrow_right.gif"); - opacity: 1; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100); -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr span.dhtmlxcalendar_month_label_month, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr span.dhtmlxcalendar_month_label_year { - position: relative; - font-weight: bold; - color: inherit; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_today, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_clear { - display: none; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_today { - float: right; - margin-right: 8px; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_clear { - float: right; - margin-right: 74px; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_today { - float: right; - margin-right: 8px; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_clear { - float: right; - margin-right: 11px; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_days_cont { - position: relative; - display: block; - width: 225px; - margin: 0px; - border-left: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; - -webkit-user-select: text; - -khtml-user-select: text; - -moz-user-select: text; - -ms-user-select: text; - -o-user-select: text; - user-select: text; - overflow: hidden; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line { - height: 23px; - background-color: #f4f4f4; - border-bottom: 2px solid #6e95ad; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li { - color: #000000; - width: 31px; - height: 23px; - line-height: 23px; - border-left: 1px solid #d5d5d5; - background-color: #f4f4f4; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_first { - border-left: 1px solid #f4f4f4; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_day_weekday_cell { - color: #f1586a; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_day_weekday_cell_first { - color: #f1586a; - border-left: 1px solid #f4f4f4; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont { - position: relative; - display: block; - width: 225px; - margin: 0px; - padding-bottom: 1px; - border-left: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; - border-bottom: 1px solid #c7c7c7; - background-color: #ffffff; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - overflow: hidden; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line { - border-top: 1px solid #ffffff; - margin-left: 1px; - margin-right: 1px; - height: 26px; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li { - color: #909090; - width: 31px; - height: 26px; - line-height: 26px; - margin-right: 1px; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li div.dhtmlxcalendar_label { - width: 100%; - height: 100%; - text-align: center; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend { - background-color: #d6d6d6; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_dis, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_dis, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_dis, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_dis { - color: #c4c4c4; - background-color: #ededed; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_holiday, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_holiday { - color: #f1586a; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_holiday, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_holiday { - color: #f1586a; - background-color: #d6d6d6; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_holiday_dis, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_holiday_dis, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_holiday_dis, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_holiday_dis { - color: #f1586a; - background-color: #ededed; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_hover, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_hover, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_hover, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_hover { - background-color: #d6d6d6; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_holiday_hover, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_holiday_hover, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_holiday_hover, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_holiday_hover { - color: #f1586a; - background-color: #d6d6d6; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month { - color: #000000; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend { - color: #f1586a; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date { - color: #000000; - background-color: #deefff; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend { - color: #f1586a; - background-color: #ffd1cc; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_dis, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_dis, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_dis, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_dis { - color: #c4c4c4; - background-color: #ededed; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_holiday { - color: #f1586a; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_holiday { - color: #f1586a; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_holiday { - color: #f1586a; - background-color: #ffd1cc; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_holiday { - color: #f1586a; - background-color: #ffd1cc; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_holiday_dis, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_holiday_dis, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_holiday_dis, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_holiday_dis { - color: #f1586a; - background-color: #ededed; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_hover { - color: #000000; - background-color: #ffffff; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_hover { - color: #f1586a; - background-color: #ffe7e4; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_hover { - color: #000000; - background-color: #deefff; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_hover { - color: #f1586a; - background-color: #ffd1cc; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_holiday_hover { - color: #f1586a; - background-color: #ffe7e4; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_holiday_hover { - color: #f1586a; - background-color: #ffe7e4; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_holiday_hover { - color: #f1586a; - background-color: #ffd1cc; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_holiday_hover { - color: #f1586a; - background-color: #ffd1cc; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line div.dhtmlxcalendar_label.dhtmlxcalendar_label_title { - background-image: url("imgs/dhxcalendar_web/dhxcalendar_mark.gif"); - background-position: top right; - background-repeat: no-repeat; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont { - position: relative; - display: block; - width: 227px; - height: 27px; - margin-top: -1px; - background-color: #6e95ad; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - color: #ffffff; - overflow: hidden; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li { - width: 227px; - height: 27px; - line-height: 25px; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr { - text-align: left; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li div.dhtmlxcalendar_time_img { - position: absolute; - left: 11px; - top: 7px; - width: 13px; - height: 13px; - background-image: url("imgs/dhxcalendar_web/dhxcalendar_clock.gif"); - background-position: center center; - background-repeat: no-repeat; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_hours { - margin-left: 30px; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li div.dhtmlxcalendar_time_img { - left: 75px; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr { - text-align: center; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_hours { - margin-left: 0px; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr div.dhtmlxcalendar_time_img, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_hours, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_minutes, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_colon { - display: none; -} -.dhtmlxcalendar_dhx_web span.dhtmlxcalendar_label_colon { - padding: 0px 4px; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_cover { - position: absolute; - left: 1px; - background-color: white; - opacity: 0.5; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50); -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj { - position: absolute; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_selector_obj_arrow { - position: absolute; - bottom: auto; - top: 0px; - left: 0px; - width: 100%; - height: 9px; - overflow: hidden; - background-image: url("imgs/dhxcalendar_web/dhxcalendar_selector_top.gif"); - background-position: top center; - background-repeat: no-repeat; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours div.dhtmlxcalendar_selector_obj_arrow { - background-position: -13px top; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 div.dhtmlxcalendar_selector_obj_arrow { - background-position: -53px top; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_selector_obj_arrow { - background-position: -51px top; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table { - border: 1px solid #c7c7c7; - background-color: white; - border-top: none; - margin-top: 9px; - box-shadow: 0 0 3px rgba(0, 0, 0, 0.35); -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left { - width: 17px; - text-align: center; - border-top: white 1px solid; - padding: 0px; - margin: 0px; - background-color: #ededed; - background-image: url("imgs/dhxcalendar_web/dhxcalendar_arrow_left2.gif"); - background-position: center center; - background-repeat: no-repeat; - cursor: default; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left.dhtmlxcalendar_selector_cell_left_hover { - background-image: url("imgs/dhxcalendar_web/dhxcalendar_arrow_left2.gif"); -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle { - border-top: 1px solid white; - border-width: 1px 0px 0px 0px; - cursor: default; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right { - width: 17px; - text-align: center; - border-top: 1px solid white; - border-width: 1px 0px 0px 0px; - background-color: #ededed; - background-image: url("imgs/dhxcalendar_web/dhxcalendar_arrow_right2.gif"); - background-position: center center; - background-repeat: no-repeat; - cursor: default; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right.dhtmlxcalendar_selector_cell_right_hover { - background-image: url("imgs/dhxcalendar_web/dhxcalendar_arrow_right2.gif"); -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul { - display: block; - clear: both; - margin: 0px 0px 0px 1px; - padding: 0px; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul li { - float: left; - list-style-type: none; - list-style-image: none; - text-align: center; - vertical-align: middle; - margin: 0px 1px 0px 0px; - padding: 0px; - background-color: #ededed; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - cursor: default; - font-family: Tahoma; - font-size: 11px; - color: #000000; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul li.dhtmlxcalendar_selector_cell_active { - background-color: #deefff; - color: #000000; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul li.dhtmlxcalendar_selector_cell_hover { - background-color: #ffffff; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right { - display: none; - width: 0px; - border: 0px solid white; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line { - height: 24px; - border-top: none; - border-bottom: 1px solid white; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell { - width: 35px; - height: 24px; - line-height: 24px; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours div.dhtmlxcalendar_selector_obj_arrow, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 div.dhtmlxcalendar_selector_obj_arrow, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_selector_obj_arrow { - top: auto; - bottom: 0px; - background-image: url("imgs/dhxcalendar_web/dhxcalendar_selector_bottom.gif"); -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line { - height: 22px; - border-top: none; - border-bottom: 1px solid white; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell { - width: 24px; - height: 22px; - line-height: 22px; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right { - display: none; - width: 0px; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table { - margin-top: 0px; - margin-bottom: 9px; - border-top: 1px solid #c7c7c7; - border-bottom: none; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_month, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_year, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_hours, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_hours2, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_minutes, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_minutes4, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_minutes5 { - display: none; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month div.dhtmlxcalendar_area_selector_month, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_year div.dhtmlxcalendar_area_selector_year, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours div.dhtmlxcalendar_area_selector_hours, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 div.dhtmlxcalendar_area_selector_hours, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_area_selector_minutes, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_area_selector_minutes4, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_area_selector_minutes5 { - display: block; -} -.dhtmlxcalendar_dhx_web span.dhtmlxcalendar_label_minutes span.dhtmlxcalendar_selected_date { - border-bottom: 2px solid red; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn { - display: none; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell { - width: 27px; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_wn div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell { - width: 27px; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_first, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell { - width: 27px; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn { - display: block; - width: 27px; - color: #6e95ad; - background-color: #f4f4f4; - border-left: 1px solid #f4f4f4; - border-right: 1px solid #d5d5d5; - margin-right: 0px; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_wn div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn { - display: block; - width: 27px; - color: #6e95ad; - background-color: #f4f4f4; -} -div.dhtmlxcalendar_skin_detect { - position: absolute; - display: block; - visibility: hidden; - left: -100px; - top: 0px; - width: 20px; - height: 10px; - margin: 0px; - padding: 0px; - border: none; - overflow: hidden; -} - - -div.dhxcombo_dhx_web { - position: relative; - border: 1px solid #d6d6d6; - vertical-align: middle; - background-color: white; - overflow: hidden; - font-size: 1px; - height: 22px; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); - /* button */ - /* top image */ -} -div.dhxcombo_dhx_web input.dhxcombo_input { - position: absolute; - left: 1px; - top: 0px; - height: 22px; - line-height: 21px; - *height: 20px; - /* ie6,ie7 */ - *line-height: 19px; - border: 0px solid white; - outline: 0px solid white; - padding: 0px; - margin: 0px 0px 0px 4px; - background-color: white; - font-family: Tahoma; - font-size: 12px; - color: #000000; - vertical-align: top; -} -div.dhxcombo_dhx_web input.dhxcombo_input::-ms-clear { - display: none; -} -div.dhxcombo_dhx_web div.dhxcombo_select_button { - position: absolute; - width: 18px; - height: 18px; - top: 2px; - right: 2px; - font-size: 1px; - background-color: #6e95ad; - cursor: pointer; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - overflow: hidden; -} -div.dhxcombo_dhx_web div.dhxcombo_select_button div.dhxcombo_select_img { - position: relative; - width: 100%; - height: 100%; - background-image: url("imgs/dhxcombo_web/dhxcombo_arrow_down.gif"); - background-repeat: no-repeat; - background-position: center center; -} -div.dhxcombo_dhx_web div.dhxcombo_top_image { - position: absolute; - left: 0px; - top: 0px; - width: 26px; - height: 22px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - overflow: hidden; - cursor: default; -} -div.dhxcombo_dhx_web div.dhxcombo_top_image div.dhxcombo_image { - *top: 0px; -} -/* options list */ -div.dhxcombolist_dhx_web { - position: absolute; - border: 1px solid #ffffff; - *border: 1px solid #ccc; - box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.35); - background-color: #f4f4f4; - /*background-color: white;*/ - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - overflow-x: none; - overflow-y: auto; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); - /* checkbox modif */ - /* image modif */ -} -div.dhxcombolist_dhx_web div.dhxcombo_option { - position: relative; - font-size: inherit; - font-family: Tahoma; - font-size: 12px; - color: #000000; - height: 24px; - line-height: 23px; - vertical-align: middle; - overflow: hidden; - cursor: default; -} -div.dhxcombolist_dhx_web div.dhxcombo_option.dhxcombo_option_selected { - background-color: #deefff; -} -div.dhxcombolist_dhx_web div.dhxcombo_option.dhxcombo_option_selected .dhxcombo_option_text { - color: #000000; -} -div.dhxcombolist_dhx_web div.dhxcombo_option div.dhxcombo_option_text { - position: relative; - padding: 0px 4px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - white-space: nowrap; -} -div.dhxcombolist_dhx_web div.dhxcombo_option div.dhxcombo_option_text.dhxcombo_option_text_chbx { - position: relative; - padding: 0px 4px 0px 4px; - margin-left: 20px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - white-space: nowrap; -} -div.dhxcombolist_dhx_web div.dhxcombo_option div.dhxcombo_checkbox { - position: absolute; - left: 2px; - top: 3px; - width: 18px; - height: 18px; - background-image: url("imgs/dhxcombo_web/dhxcombo_chbx.gif"); - background-repeat: no-repeat; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - overflow: hidden; - cursor: default; -} -div.dhxcombolist_dhx_web div.dhxcombo_option div.dhxcombo_checkbox.dhxcombo_chbx_0 { - background-position: 0px 0px; -} -div.dhxcombolist_dhx_web div.dhxcombo_option div.dhxcombo_checkbox.dhxcombo_chbx_1 { - background-position: -18px 0px; -} -div.dhxcombolist_dhx_web div.dhxcombo_option div.dhxcombo_option_text.dhxcombo_option_text_image { - position: relative; - padding: 0px 4px 0px 4px; - margin-left: 20px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - white-space: nowrap; -} -div.dhxcombolist_dhx_web div.dhxcombo_option div.dhxcombo_image { - top: 3px; -} -div.dhxcombo_dhx_web div.dhxcombo_top_image div.dhxcombo_image, -div.dhxcombolist_dhx_web div.dhxcombo_option div.dhxcombo_image { - position: absolute; - left: 3px; - top: 2px; - width: 18px; - height: 18px; - background-repeat: no-repeat; - background-position: center center; - -moz-user-select: none; - overflow: hidden; - cursor: default; -} -/* disabled */ -div.dhxcombo_dhx_web.dhxcombo_disabled { - background-color: #fafafa; -} -div.dhxcombo_dhx_web.dhxcombo_disabled input.dhxcombo_input { - color: #999999; - background-color: #fafafa; -} -div.dhxcombo_dhx_web.dhxcombo_disabled div.dhxcombo_select_button { - background-color: #a6a6a6; - cursor: default; -} -div.dhxcombo_dhx_web.dhxcombo_disabled div.dhxcombo_select_button div.dhxcombo_select_img { - background-image: url("imgs/dhxcombo_web/dhxcombo_arrow_down_dis.gif"); -} -/* multicolumn */ -div.dhxcombolist_dhx_web.dhxcombolist_hdr { - height: 27px; - line-height: 27px; - border-color: #eaeaea; - border-bottom: 2px solid #7ea1b6; - box-shadow: none; -} -div.dhxcombolist_dhx_web.dhxcombolist_hdr div.dhxcombo_hdrtext { - position: relative; - padding: 0px; - white-space: nowrap; - cursor: default; - font-family: Tahoma; - font-size: 12px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -div.dhxcombolist_dhx_web.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell, -div.dhxcombolist_dhx_web.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell_first { - float: left; - white-space: nowrap; - overflow: hidden; - position: relative; - z-index: 2; - border-left: 1px solid #eaeaea; - padding: 0px; - margin: 0px; -} -div.dhxcombolist_dhx_web.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell_first, -div.dhxcombolist_dhx_web.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell:first-child { - border-left-width: 0px; -} -div.dhxcombolist_dhx_web.dhxcombolist_multicolumn { - border-top-width: 0px; -} -div.dhxcombolist_dhx_web.dhxcombolist_multicolumn div.dhxcombo_option { - height: 24px; - line-height: 24px; - margin-top: -1px; - z-index: 0; - border-top: 1px solid #ededed; - border-bottom: 1px solid #ededed; - background-color: white; -} -div.dhxcombolist_dhx_web.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_option_text { - padding: 0px; -} -div.dhxcombolist_dhx_web.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell, -div.dhxcombolist_dhx_web.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell_first { - float: left; - white-space: nowrap; - overflow: hidden; - position: relative; - border-left: 1px solid #ededed; - padding: 0px; - margin: 0px; -} -div.dhxcombolist_dhx_web.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell_first, -div.dhxcombolist_dhx_web.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell:first-child { - border-left-width: 0px; -} -div.dhxcombolist_dhx_web.dhxcombolist_multicolumn div.dhxcombo_option.dhxcombo_option_selected { - z-index: 1; - background-color: #deefff; - border-top-color: #deefff; - border-bottom-color: #deefff; -} -div.dhxcombolist_dhx_web.dhxcombolist_multicolumn div.dhxcombo_option.dhxcombo_option_selected div.dhxcombo_cell { - border-left-color: #deefff; - color: #000000; -} -div.dhxcombolist_dhx_web.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell_text, -div.dhxcombolist_dhx_web.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell_text { - position: relative; - margin: 0px 10px; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - width: auto; -} -div.dhxcombo_in_grid_parent { - position: relative; - height: 100%; - top: 0px; -} -div.dhxcombo_in_grid_parent div.dhxcombo_dhx_web { - position: absolute; - top: 3px; - left: 0px; - border-color: #deefff; -} -div.dhxcombo_in_grid_parent input.dhxcombo_input { - border-left: 2px solid white; - font-family: Arial; - font-size: 12px; -} -.dhxgrid_combo_icon { - position: absolute; - z-index: 1; - top: 0px; - right: 0px; -} -/* skin detect */ -.dhxcombo_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 20px; - /* 20 for web */ - height: 10px; - overflow: hidden; -} - - -.dhxcolorpicker_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 20px; - /* 20 for web */ - height: 10px; - overflow: hidden; -} -.dhtmlxcp_dhx_web { - /*.button(@sep:button, @color:@color_base + #48331c){ - @_color : @color - #614b32; - @{sep} { - outline: none; - border-radius: @border_radius; - padding: 0px; - background-color: @_color; - .border(@_color_bg); - } - - @_h_cole : @color; - @{sep}:hover { - background-color: @_h_cole; - } - - @_a_color : @color - #1b1512; - @{sep}:active { - background-color: @_a_color; - } - }*/ -} -.dhtmlxcp_dhx_web .dhxcp_g_area { - position: absolute; - width: 254px; - height: 272px; - border: 1px solid #ffffff; - background-color: #f4f4f4; - box-shadow: 0px 0px 5px 2px #d7d7d7; - border-radius: 0px; -} -.dhtmlxcp_dhx_web .dhxcp_add_memory { - height: 317px !important; -} -.dhtmlxcp_dhx_web .dhxcp_sub_area { - margin: 1px; - width: 252px; - height: 270px; - background-color: #f4f4f4; - border-radius: 0px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhtmlxcp_dhx_web .dhxcp_add_memory .dhxcp_sub_area { - height: 229px !important; -} -.dhtmlxcp_dhx_web .dhxcp_g_color_area { - padding: 10px; - width: 232px; - height: 122px; - margin: 0px; -} -.dhtmlxcp_dhx_web .dhxcp_color_selector { - position: absolute; - width: 210px; - height: 120px; - background-image: url("imgs/dhxcp_web/dhxcp_colors.png"); - background-repeat: no-repeat; - border: 1px solid #ececec; - cursor: pointer; - float: left; -} -.dhtmlxcp_dhx_web .dhxcp_contrast_area { - border: 1px solid #ececec; - position: relative; - height: 120px; - width: 10px; - cursor: pointer; - float: right; -} -.dhtmlxcp_dhx_web .dhxcp_ie_gradient { - height: 120px; - width: 10px; - margin: 0px; -} -.dhtmlxcp_dhx_web .dhxcp_color_selector .dhxcp_v_line { - position: absolute; - width: 0px; - height: 120px; - border-left: 1px solid #ffffff; - cursor: pointer; - overflow: hidden; -} -.dhtmlxcp_dhx_web .dhxcp_color_selector .dhxcp_h_line, -.dhtmlxcp_dhx_web .dhxcp_contrast_area .dhxcp_h_line { - position: absolute; - height: 0px; - border-top: 1px solid #ffffff; - cursor: pointer; - overflow: hidden; -} -.dhtmlxcp_dhx_web .dhxcp_color_selector .dhxcp_h_line { - width: 210px; -} -.dhtmlxcp_dhx_web .dhxcp_contrast_area .dhxcp_h_line { - width: 10px; -} -.dhtmlxcp_dhx_web .dhxcp_g_input_area { - padding: 0px 10px; - width: 232px; - height: 78px; - margin: 0px; -} -.dhtmlxcp_dhx_web .dhxcp_value_cont { - width: 66px; - height: 78px; - float: left; -} -.dhtmlxcp_dhx_web .dhxcp_value_color { - width: 62px; - height: 30px; - border: 1px solid #ececec; -} -.dhtmlxcp_dhx_web .dhxcp_value { - width: 58px; - height: 20px; - border: 1px solid #ececec; - border-radius: 0px; - background-color: #ffffff; - margin: 5px 0px 0px 0px; - padding: 1px 2px; - font-family: Tahoma; - font-size: 12px; - color: #000000; - text-align: left; -} -.dhtmlxcp_dhx_web .dhxcp_inputs_cont { - border: none; - border-spacing: 0px; - width: 160px; - height: 78px; - float: right; -} -.dhtmlxcp_dhx_web .dhxcp_label_hsl, -.dhtmlxcp_dhx_web .dhxcp_label_rgb { - font-family: Tahoma; - font-size: 12px; - color: #000000; - text-align: right; - padding: 0px 3px 0px 0px; -} -.dhtmlxcp_dhx_web td.dhxcp_input_hsl, -.dhtmlxcp_dhx_web td.dhxcp_input_rgb { - width: 27px; - border: none; - padding: 0px; - margin: 0px; -} -.dhtmlxcp_dhx_web input.dhxcp_input_hsl, -.dhtmlxcp_dhx_web input.dhxcp_input_rgb { - width: 25px; - height: 18px; - border: 1px solid #ececec; - border-radius: 0px; - background-color: #ffffff; - font-family: Tahoma; - font-size: 12px; - color: #000000; - text-align: right; - padding: 1px; - margin: 2px 0px; -} -.dhtmlxcp_dhx_web .dhxcp_g_memory_area { - width: 232px; - height: 0px; - overflow: hidden; - border: 1px solid #ececec; - border-bottom: none; - border-left: none; - border-right: none; - margin: 10px; -} -.dhtmlxcp_dhx_web .dhxcp_memory_button_cont { - width: 232px; - margin: 0px; - height: 24px; -} -.dhtmlxcp_dhx_web .dhxcp_buttons_area button, -.dhtmlxcp_dhx_web .dhxcp_memory_button_cont button { - outline: none; - border-radius: 0px; - background-color: #6e95ad; - border: 1px solid #f4f4f4; - font-family: Tahoma; - font-size: 12px; - color: #ffffff; -} -.dhtmlxcp_dhx_web .dhxcp_buttons_area button:hover, -.dhtmlxcp_dhx_web .dhxcp_memory_button_cont button:hover { - background-color: #638194; -} -.dhtmlxcp_dhx_web .dhxcp_buttons_area button:active, -.dhtmlxcp_dhx_web .dhxcp_memory_button_cont button:active { - background-color: #5c7d92; -} -.dhtmlxcp_dhx_web .dhxcp_save_to_memory { - width: 232px; - height: 24px; -} -.dhtmlxcp_dhx_web .dhxcp_save_to_memory .dhxcp_label_bm { - display: inherit; - width: 90px; -} -.dhtmlxcp_dhx_web .dhxcp_memory_els_cont { - width: 232px; - height: 25px; - margin-top: 3px; - text-align: center; -} -.dhtmlxcp_dhx_web .dhxcp_memory_el { - width: 24px; - height: 24px; - background-color: #ffffff; - border: 1px solid #ececec; - display: inline-block; - margin: 0px 1px; -} -.dhtmlxcp_dhx_web .dhxcp_memory_el_select { - border: 1px dashed black !important; -} -.dhtmlxcp_dhx_web .dhxcp_memory_el_next { - border: 1px dashed red !important; -} -.dhtmlxcp_dhx_web .dhxcp_add_memory .dhxcp_g_memory_area { - height: 55px !important; - border-top: none !important; - margin: 5px 10px 5px 10px; -} -.dhtmlxcp_dhx_web .dhxcp_buttons_area { - padding: 0px 10px; - width: 232px; - height: 26px; - text-align: right; - margin: 0px; -} -.dhtmlxcp_dhx_web .dhx_button_save, -.dhtmlxcp_dhx_web .dhx_button_cancel { - line-height: 12px; - height: 25px; - margin: 0 2px; - padding: 2px 10px; - overflow: hidden; - white-space: nowrap; -} -.dhxcp_colorBox { - float: right; -} -.dhxcp_colorInput { - float: left; -} -.dhxcp_frm { - background-color: white; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); - position: absolute; - width: 256px; - height: 274px; -} - - -.dhtmlxslider_dhx_web { - z-index: 0; -} -.dhtmlxslider_dhx_web .dhxsl_hidden { - display: none; -} -.dhtmlxslider_dhx_web .dhxsl_container { - position: relative; - float: left; - clear: left; - margin: 0px; - padding: 1px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -} -.dhtmlxslider_dhx_web .dhxsl_container.dhxsl_cont_hr { - margin-top: 5px; -} -.dhtmlxslider_dhx_web .dhxsl_container.dhxsl_cont_vr { - margin-left: 5px; -} -.dhtmlxslider_dhx_web .dhxsl_runner { - position: absolute; - width: 12px; - height: 12px; - margin: 0; - padding: 0; - overflow: hidden; - border: 1px solid #6e95ad; - background-color: #6e95ad; - -webkit-touch-callout: none; - -webkit-user-select: none; - -ms-touch-action: none; - z-index: 1; -} -.dhtmlxslider_dhx_web .dhxsl_runner.dhxsl_runner_actv { - background-color: #5c7d92; - z-index: 2; -} -.dhtmlxslider_dhx_web .dhxsl_runner_dis { - border: 1px solid #999999; - background-color: #999999; -} -.dhtmlxslider_dhx_web .dhxsl_track { - margin: 0; - padding: 0; - overflow: hidden; - border: 1px solid #c7c7c7; - position: relative; - background-color: #ffffff; - -webkit-touch-callout: none; - -webkit-user-select: none; - -ms-touch-action: none; -} -.dhtmlxslider_dhx_web .dhxsl_track div.dhxsl_track_bg { - position: absolute; - background-color: #e0e8ed; - font-size: 1px; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhtmlxslider_dhx_web .dhxsl_cont_vr .dhxsl_track { - height: 100%; - width: 6px; -} -.dhtmlxslider_dhx_web .dhxsl_cont_vr .dhxsl_track div.dhxsl_track_bg { - left: 0px; - width: 100%; -} -.dhtmlxslider_dhx_web .dhxsl_cont_hr .dhxsl_track { - width: 100%; - height: 6px; -} -.dhtmlxslider_dhx_web .dhxsl_cont_hr .dhxsl_track div.dhxsl_track_bg { - top: 0px; - height: 100%; -} -.dhtmlxslider_dhx_web .dhxsl_track_dis { - border: 1px solid #d9d9d9; - background-color: #f2f2f2; -} -.dhtmlxslider_dhx_web .dhxsl_track_dis div.dhxsl_track_bg { - background-color: #d9d9d9; -} -.dhxslider_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 20px; - /* 20 for web */ - height: 10px; - overflow: hidden; -} - - -div.dhx_popup_skin_detect { - position: absolute; - display: block; - visibility: hidden; - left: -100px; - top: 0px; - width: 20px; - height: 10px; - margin: 0px; - padding: 0px; - border: none; - overflow: hidden; -} -div.dhx_popup_dhx_web { - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); - position: absolute; - /* offsets for IE */ - /* arrow image */ -} -div.dhx_popup_dhx_web div.dhx_popup_area { - position: relative; - margin: 10px; - padding: 3px 0px; - border: 1px solid #ffffff; - box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.35); - *border: 1px solid #c6c6c6; - background-color: #f4f4f4; -} -div.dhx_popup_dhx_web div.dhx_popup_area td.dhx_popup_td { - font-family: Tahoma; - font-size: 12px; - color: #000000; - text-align: left; - vertical-align: middle; - padding: 0px 10px; - height: 24px; - line-height: 24px; - white-space: nowrap; - cursor: default; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -div.dhx_popup_dhx_web div.dhx_popup_area td.dhx_popup_td div.dhtmlxcalendar_dhx_web { - position: relative; - float: left; -} -div.dhx_popup_dhx_web div.dhx_popup_area td.dhx_popup_td * { - white-space: normal; -} -div.dhx_popup_dhx_web div.dhx_popup_area tr.dhxnode td.dhx_popup_td { - height: auto; - line-height: inherit; - -webkit-user-select: text; - -khtml-user-select: text; - -moz-user-select: text; - -ms-user-select: text; - -o-user-select: text; - user-select: text; - /* components-related */ - padding: 6px!important; -} -div.dhx_popup_dhx_web div.dhx_popup_area tr.dhxnode td.dhx_popup_td .dhtmlxcalendar_container.dhtmlxcalendar_skin_dhx_web { - position: relative!important; - background-image: none; -} -div.dhx_popup_dhx_web div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxtree_dhx_web { - background: none; -} -div.dhx_popup_dhx_web div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhtmlxcp_dhx_web div.dhxcp_g_area { - position: relative; -} -div.dhx_popup_dhx_web div.dhx_popup_area tr.dhx_popup_sep td.dhx_popup_sep { - padding: 2px 0px; - font-size: 1px; - position: relative; -} -div.dhx_popup_dhx_web div.dhx_popup_area tr.dhx_popup_sep td.dhx_popup_sep div.dhx_popup_sep { - position: relative; - font-size: 1px; - line-height: 1px; - height: 0px; - width: 100%; - border-top: 1px dotted #cecece; - overflow: hidden; -} -div.dhx_popup_dhx_web div.dhx_popup_area td.dhx_popup_td:first-child { - padding-left: 14px; -} -div.dhx_popup_dhx_web div.dhx_popup_area td.dhx_popup_td:last-child { - padding-right: 14px; -} -div.dhx_popup_dhx_web div.dhx_popup_area tr:hover td.dhx_popup_td { - background-color: #deefff; -} -div.dhx_popup_dhx_web div.dhx_popup_area tr.dhxnode:hover td.dhx_popup_td { - background: none; -} -div.dhx_popup_dhx_web div.dhx_popup_area.dhx_popup_area_ie { - /* IE6 hover */ -} -div.dhx_popup_dhx_web div.dhx_popup_area.dhx_popup_area_ie tr.dhxnode td.dhx_popup_td { - height: 1em; - line-height: 1em; -} -div.dhx_popup_dhx_web div.dhx_popup_area.dhx_popup_area_ie td.dhx_popup_td.dhx_popup_td_single { - padding-left: 14px; - padding-right: 14px; -} -div.dhx_popup_dhx_web div.dhx_popup_area.dhx_popup_area_ie td.dhx_popup_td.dhx_popup_td_first { - padding-left: 14px; -} -div.dhx_popup_dhx_web div.dhx_popup_area.dhx_popup_area_ie td.dhx_popup_td.dhx_popup_td_last { - padding-right: 14px; -} -div.dhx_popup_dhx_web div.dhx_popup_area.dhx_popup_area_ie tr.tr_hover td.dhx_popup_td { - background-color: #deefff; -} -div.dhx_popup_dhx_web div.dhx_popup_arrow { - position: absolute; - background-repeat: no-repeat; -} -div.dhx_popup_dhx_web div.dhx_popup_arrow.dhx_popup_arrow_bottom { - width: 19px; - height: 16px; - background-image: url("imgs/dhxpopup_web/dhxpopup_arrow_bottom.gif"); - background-position: top center; -} -div.dhx_popup_dhx_web div.dhx_popup_arrow.dhx_popup_arrow_top { - width: 19px; - height: 16px; - background-image: url("imgs/dhxpopup_web/dhxpopup_arrow_top.gif"); - background-position: bottom center; -} -div.dhx_popup_dhx_web div.dhx_popup_arrow.dhx_popup_arrow_right { - width: 16px; - height: 19px; - background-image: url("imgs/dhxpopup_web/dhxpopup_arrow_right.gif"); - background-position: center left; -} -div.dhx_popup_dhx_web div.dhx_popup_arrow.dhx_popup_arrow_left { - width: 16px; - height: 19px; - background-image: url("imgs/dhxpopup_web/dhxpopup_arrow_left.gif"); - background-position: center right; -} - - -.dhxmenu_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 20px; - height: 10px; - overflow: hidden; -} -.dhtmlxMenu_dhx_web_Middle { - position: relative; - height: 26px; - border: none; - background-color: #f4f4f4; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhtmlxMenu_dhx_web_Middle div.top_sep { - float: left; - position: relative; - height: 20px; - width: 0px; - border-left: 1px solid #c1c1c1; - margin: 3px 2px 0px 0px; - line-height: 1px; - font-size: 1px; - overflow: hidden; - cursor: default; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhtmlxMenu_dhx_web_Middle img.dhtmlxMenu_TopLevel_Item_Icon { - float: left; - margin: 2px 3px 0px 3px; - width: 18px; - height: 18px; -} -.dhtmlxMenu_dhx_web_Middle div.dhtmlxMenu_TopLevel_Text_right { - position: absolute; - top: 5px; - left: none; - right: 8px; - font-family: Tahoma; - font-size: 12px; - color: #000000; - cursor: default; -} -.dhtmlxMenu_dhx_web_Middle div.dhtmlxMenu_TopLevel_Text_left { - position: absolute; - top: 5px; - right: none; - left: 8px; - font-family: Tahoma; - font-size: 12px; - color: #000000; - cursor: default; -} -.dhtmlxMenu_dhx_web_Middle.dir_left div.align_left { - float: left; -} -.dhtmlxMenu_dhx_web_Middle.dir_left div.align_right { - float: right; -} -div.dhtmlxMenu_dhx_web_TopLevel_Item_Normal, -div.dhtmlxMenu_dhx_web_TopLevel_Item_Disabled, -div.dhtmlxMenu_dhx_web_TopLevel_Item_Selected { - position: relative; - float: left; - font-family: Tahoma; - font-size: 12px; - color: #000000; - cursor: default; - white-space: nowrap; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - height: 22px; - line-height: 22px; - vertical-align: middle; - margin: 2px 2px 0px 0px; - padding: 0px 3px; -} -div.dhtmlxMenu_dhx_web_TopLevel_Item_Normal div.top_level_text, -div.dhtmlxMenu_dhx_web_TopLevel_Item_Disabled div.top_level_text, -div.dhtmlxMenu_dhx_web_TopLevel_Item_Selected div.top_level_text { - float: left; - margin: 0px 3px; -} -div.dhtmlxMenu_dhx_web_TopLevel_Item_Normal i, -div.dhtmlxMenu_dhx_web_TopLevel_Item_Disabled i, -div.dhtmlxMenu_dhx_web_TopLevel_Item_Selected i { - height: inherit; - line-height: inherit; - float: left; - color: inherit; - margin: 0px 4px; - font-size: 1.2em; -} -div.dhtmlxMenu_dhx_web_TopLevel_Item_Disabled { - color: #999999; -} -div.dhtmlxMenu_dhx_web_TopLevel_Item_Selected { - background-color: #deefff; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon { - position: absolute; - border: 1px solid #ffffff; - *border: 1px solid #ccc; - box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.35); - padding: 3px 0px; - background-color: #f4f4f4; - overflow: hidden; - cursor: default; - line-height: normal; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td { - font-family: Tahoma; - font-size: 12px; - color: #000000; - padding: 0px 4px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_selected td { - background-color: #deefff; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_icon { - width: 18px; - text-align: center; - vertical-align: middle; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_icon img.sub_icon { - float: left; - margin: 0px; - width: 18px; - height: 18px; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_icon i { - float: left; - text-align: center; - width: 18px; - height: 18px; - line-height: 17px; - font-size: 1.2em; - color: inherit; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_item_text { - padding: 0px 12px 0px 1px; - height: 26px; - line-height: 25px; - white-space: nowrap; - text-align: left; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis td.sub_item_icon i { - color: #999999; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_item_text { - color: #999999; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_hk { - padding-left: 8px; - padding-right: 8px; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_hk div.sub_item_hk { - font-family: Tahoma; - font-size: 12px; - color: #333333; - text-align: right; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis td.sub_item_hk div.sub_item_hk { - color: #999999; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.complex_arrow { - width: 4px; - margin: 0px 2px 0px 5px; - height: 22px; - background-image: url("imgs/dhxmenu_web/dhxmenu_subar.gif"); - background-repeat: no-repeat; - background-position: 0px 0px; - overflow: hidden; - font-size: 1px; - float: right; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_selected div.complex_arrow { - background-position: -4px 0px !important; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.complex_arrow { - background-position: -8px 0px !important; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.complex_arrow_loading { - width: 11px; - height: 22px; - background-position: center center; - background-repeat: no-repeat; - background-image: url("imgs/dhxmenu_web/dhxmenu_loader.gif"); - float: right; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon { - float: left; - margin: 0px; - width: 18px; - height: 18px; - background-position: top right; - background-repeat: no-repeat; - background-image: url("imgs/dhxmenu_web/dhxmenu_chrd.gif"); -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.chbx_0 { - background-position: 0px 0px !important; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.chbx_1 { - background-position: -18px 0px !important; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.chbx_0 { - background-position: -36px 0px !important; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.chbx_1 { - background-position: -54px 0px !important; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.rdbt_0 { - background-position: -72px 0px !important; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.rdbt_1 { - background-position: -90px 0px !important; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.rdbt_0 { - background-position: -108px 0px !important; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.rdbt_1 { - background-position: -126px 0px !important; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon tr.sub_sep td { - padding: 2px 0px; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon div.sub_sep { - position: static; - font-size: 1px; - line-height: 1px; - height: 1px; - width: 100%; - border-top: 1px dotted #b4b4b4; - *border-top: 1px solid #cecece; -} -iframe.dhtmlxMenu_IE6CoverFix_dhx_web { - position: absolute; - border: none; - background: #000000; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100); -} -div.dhtmlxMenu_dhx_web_SubLevelArea_ArrowUp, -div.dhtmlxMenu_dhx_web_SubLevelArea_ArrowUp_Over, -div.dhtmlxMenu_dhx_web_SubLevelArea_ArrowUp_Disabled { - position: relative; - font-size: 1px; - border-bottom: 1px solid #b4b4b4; - background-image: url("imgs/dhxmenu_web/dhxmenu_arrow_up.gif"); - background-repeat: no-repeat; - background-position: center center; - padding: 8px 0px; - margin-bottom: 3px; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_ArrowUp_Disabled { - background-image: url("imgs/dhxmenu_web/dhxmenu_arrow_up_dis.gif"); -} -/* down arrows */ -div.dhtmlxMenu_dhx_web_SubLevelArea_ArrowDown, -div.dhtmlxMenu_dhx_web_SubLevelArea_ArrowDown_Over, -div.dhtmlxMenu_dhx_web_SubLevelArea_ArrowDown_Disabled { - position: relative; - font-size: 1px; - border-top: 1px solid #b4b4b4; - background-image: url("imgs/dhxmenu_web/dhxmenu_arrow_down.gif"); - background-repeat: no-repeat; - background-position: center center; - padding: 8px 0px; - margin-top: 3px; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_ArrowDown_Disabled { - background-image: url("imgs/dhxmenu_web/dhxmenu_arrow_down_dis.gif"); -} - - -.dhtmlxribbon_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 20px; - /* 20 for web */ - height: 10px; - overflow: hidden; -} -.dhtmlxribbon_dhx_web.dhxrb_without_tabbar { - background-color: #ffffff; - border: 1px solid #c7c7c7; -} -.dhtmlxribbon_dhx_web { - overflow: hidden; - width: 100%; -} -.dhtmlxribbon_dhx_web .dhxrb_background_area { - height: 114px; - background-color: #ffffff; - margin: 1px; -} -.dhtmlxribbon_dhx_web .dhxrb_with_tabbar { - height: 162px; -} -.dhtmlxribbon_dhx_web div.dhx_cell_tabbar { - background-color: #ffffff !important; -} -.dhtmlxribbon_dhx_web .dhxrb_g_area { - height: 113px; - float: left; - clear: left; - overflow: hidden; - position: relative; -} -.dhtmlxribbon_dhx_web .dhxrb_block_base { - margin: 3px; - float: left; - border: 1px solid #e7e7e7; - background-color: #f4f4f4; - border-radius: 0px; - height: 106px; - overflow: hidden; - position: relative; -} -.dhtmlxribbon_dhx_web .dhxrb_block_base .dhxrb_block_items { - height: 84px; - float: left; - padding: 2px 0px; - overflow: hidden; -} -.dhtmlxribbon_dhx_web .dhxrb_block_base > .dhxrb_block_label { - height: 18px; - line-height: 17px; - *height: auto; - *line-height: 1em; -} -.dhtmlxribbon_dhx_web .dhxrb_block_base .dhxrb_block_label { - text-align: center; - clear: left; - font-family: Tahoma; - font-size: 12px; - color: #818181; - background-color: #e7e7e7; - *padding: 1px 3px 3px; - *font-size: 11px; - *font-family: Tahoma, FreeSans; -} -.dhtmlxribbon_dhx_web .dhxrb_big_button { - margin: 0px 2px 5px; - float: left; - text-align: center; - padding: 4px; - border: 1px solid #f4f4f4; - background-color: #f4f4f4; - height: 72px; -} -.dhtmlxribbon_dhx_web .dhxrb_big_button .dhxrb_image { - width: 48px; - height: 48px; - border: none; -} -.dhtmlxribbon_dhx_web .dhxrb_big_button i { - position: relative; - display: block; - margin-top: 2px; - margin-bottom: 2px; - width: 48px; - height: 48px; - line-height: 47px; - font-size: 30px; - color: inherit; - cursor: default; - text-align: center; -} -.dhtmlxribbon_dhx_web .dhxrb_big_button .dhxrb_label_button { - margin: 0px auto; - cursor: default; - font-family: Tahoma; - font-size: 12px; - color: #000000; - line-height: 11px; -} -.dhtmlxribbon_dhx_web .dhxrb_big_button .dhxrb_invisible { - visibility: hidden; -} -.dhtmlxribbon_dhx_web .dhxrb_3rows_block { - float: left; - margin: 0px 2px 5px; - position: relative; -} -.dhtmlxribbon_dhx_web .dhxrb_3rows_block .dhxrb_invisible { - display: none; -} -.dhtmlxribbon_dhx_web .dhxrb_3rows_button { - height: 20px; - margin: 1px 3px; - float: left; - clear: left; - padding: 3px 4px 1px 4px; - border: 1px solid #f4f4f4; - background-color: #f4f4f4; -} -.dhtmlxribbon_dhx_web .dhxrb_in_row { - height: 20px; - margin: 1px 3px; - float: left; - padding: 3px 4px 1px; - border: 1px solid #f4f4f4; - background-color: #f4f4f4; - white-space: nowrap; - overflow: hidden; -} -.dhtmlxribbon_dhx_web .dhxrb_group .dhxrb_buttoncombo_cont { - height: 22px; - padding: 0px 2px !important; -} -.dhtmlxribbon_dhx_web .dhxrb_buttoncombo_cont { - height: 24px; - padding: 1px 2px !important; -} -.dhtmlxribbon_dhx_web .dhxrb_buttoncombo { - float: left; -} -.dhtmlxribbon_dhx_web .dhxrb_in_row .dhxrb_slider, -.dhtmlxribbon_dhx_web .dhxrb_3rows_button .dhxrb_slider { - float: left; - margin-right: 5px; -} -.dhtmlxribbon_dhx_web .dhxrb_in_row center, -.dhtmlxribbon_dhx_web .dhxrb_in_group center, -.dhtmlxribbon_dhx_web .dhxrb_3rows_button center { - float: left; - margin: 0px; - padding: 0px; -} -.dhtmlxribbon_dhx_web .dhxrb_in_group .dhxrb_slider { - float: left; - margin-right: 5px; -} -.dhtmlxribbon_dhx_web .dhxrb_big_button .dhxrb_slider { - width: 16px; - margin: 2px 0px; - height: 50px; -} -.dhtmlxribbon_dhx_web .dhxrb_in_group { - height: 19px; - float: left; - padding: 2px 4px 1px; - border: 1px solid #efefef; -} -.dhtmlxribbon_dhx_web .dhxrb_input { - float: left; - border: 1px solid #e7e7e7; - height: 14px; - width: 80px; - font-family: Tahoma; - font-size: 12px; - color: #000000; - padding: 1px 2px; -} -.dhtmlxribbon_dhx_web .dhxrb_input:disabled { - border: 1px solid #e7e7e7; - background-color: #f2f2f2; - color: #999999; -} -.dhtmlxribbon_dhx_web .dhxrb_3rows_button .dhxrb_image, -.dhtmlxribbon_dhx_web .dhxrb_in_row .dhxrb_image, -.dhtmlxribbon_dhx_web .dhxrb_in_group .dhxrb_image { - width: 18px; - height: 18px; - float: left; -} -.dhtmlxribbon_dhx_web .dhxrb_3rows_button i, -.dhtmlxribbon_dhx_web .dhxrb_in_row i, -.dhtmlxribbon_dhx_web .dhxrb_in_group i { - position: relative; - float: left; - width: 18px; - height: 18px; - line-height: 17px; - font-size: 15px; - margin-top: 1px; - color: inherit; - cursor: default; - text-align: center; -} -.dhtmlxribbon_dhx_web .dhxrb_item_disable i { - color: #999999; -} -.dhtmlxribbon_dhx_web .dhxrb_3rows_button .dhxrb_label_button, -.dhtmlxribbon_dhx_web .dhxrb_in_row .dhxrb_label_button, -.dhtmlxribbon_dhx_web .dhxrb_in_group .dhxrb_label_button { - float: left; - margin: 1px; - cursor: default; - font-family: Tahoma; - font-size: 12px; - color: #000000; - margin: 2px 4px 2px 6px; -} -.dhtmlxribbon_dhx_web .dhxrb_buttoncombo_cont .dhxrb_label_button { - float: left; - margin-left: 3px; - height: 18px; - line-height: 18px; - cursor: default; - font-family: Tahoma; - font-size: 12px; - color: #000000; -} -.dhtmlxribbon_dhx_web .dhxrb_label_checkbox { - float: left; - margin: 2px 4px; - cursor: default; - font-family: Tahoma; - font-size: 12px; - color: #000000; -} -.dhtmlxribbon_dhx_web .dhxrb_disable_text_style, -.dhtmlxribbon_dhx_web .dhxrb_item_disable .dhxrb_label_checkbox { - color: #999999 !important; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhtmlxribbon_dhx_web .dhxrb_highlight0 { - border: 1px solid #deefff; - background-color: #deefff; - color: #000000; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhtmlxribbon_dhx_web .dhxrb_highlight1 { - border: 1px solid #c3ddf7; - background-color: #c3ddf7; - color: #000000; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhtmlxribbon_dhx_web .dhxrb_item_hide { - display: none !important; -} -.dhtmlxribbon_dhx_web .dhxrb_block_rows { - float: left; -} -.dhtmlxribbon_dhx_web .dhxrb_block_row { - float: left; - clear: left; - margin: 0px 2px; - height: 28px; - overflow: hidden; - position: relative; -} -.dhtmlxribbon_dhx_web .dhxrb_arrow { - padding: 0px 5px; - margin-left: 2px; - background: url("imgs/dhxribbon_web/dhxribbon_arrow.gif") no-repeat 50%; -} -.dhtmlxribbon_dhx_web .dhxrb_3rows_block .dhxrb_group { - border: 1px solid #e7e7e7; - background-color: #efefef; - height: 24px; - float: left; - clear: left; - margin: 1px 3px; - overflow: hidden; - position: relative; -} -.dhtmlxribbon_dhx_web .dhxrb_block_row .dhxrb_group { - border: 1px solid #e7e7e7; - background-color: #efefef; - height: 24px; - float: left; - margin: 1px 3px; - overflow: hidden; - position: relative; -} -.dhtmlxribbon_dhx_web .dhxrb_in_group .dhxrb_label_hide { - display: none; -} -.dhtmlxribbon_dhx_web .dhxrb_separator_groupp { - height: 24px; - width: 0; - border-left: 1px solid #dddddd; - overflow: hidden; - float: left; -} -.dhtmlxribbon_dhx_web .dhxrb_checkbox { - border: 1px solid #e7e7e7; - background-color: #ffffff; - float: left; - width: 12px; - height: 12px; - margin-top: 2px; - overflow: hidden; -} -.dhtmlxribbon_dhx_web .dhxrb_checked .dhxrb_checkbox { - background-image: url("imgs/dhxribbon_web/dhxribbon_checked.gif"); - background-repeat: no-repeat; -} -.dhtmlxribbon_dhx_web .dhxrb_checked.dhxrb_item_disable > .dhxrb_checkbox { - background-image: url("imgs/dhxribbon_web/dhxribbon_checked_dis.gif"); -} -.dhtmlxribbon_dhx_web .dhxrb_item_disable .dhxrb_checkbox { - background-color: #e5e5e5; - border: 1px solid #999999; -} -.dhtmlxribbon_dhx_web .dhxrb_item_text { - font-family: Tahoma; - font-size: 12px; - color: #000000; -} -.dhtmlxribbon_dhx_web .dhxrb_in_group .dhxrb_item_text { - height: 19px; - line-height: 18px; - *float: left; - *clear: left; -} -.dhtmlxribbon_dhx_web .dhxrb_3rows_button .dhxrb_item_text, -.dhtmlxribbon_dhx_web .dhxrb_in_row .dhxrb_item_text { - font-family: Tahoma; - font-size: 14px; - color: #000000; -} -.dhtmlxribbon_dhx_web .dhxrb_big_button .dhxrb_item_text { - font-family: Tahoma; - font-size: 30px; - color: #000000; - line-height: 72px; - height: 72px; - float: left; - clear: left; -} - - -.dhxtoolbar_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 20px; - height: 10px; - overflow: hidden; -} -/* main */ -.dhx_toolbar_dhx_web { - background-color: #6e95ad; - position: relative; - padding: 0px 5px; - height: 32px; - cursor: default; - overflow: hidden; - /* font */ - font-family: Tahoma; - font-size: 12px; - color: #ffffff; - line-height: normal; -} -.dhx_toolbar_dhx_web.dhxtoolbar_icons_24 div.dhx_toolbar_btn i { - font-size: 20px; -} -.dhx_toolbar_dhx_web.dhxtoolbar_icons_32 div.dhx_toolbar_btn i { - font-size: 26px; -} -.dhx_toolbar_dhx_web.dhxtoolbar_icons_48 div.dhx_toolbar_btn i { - font-size: 38px; -} -.dhx_toolbar_dhx_web div.dhxtoolbar_float_left { - float: left; -} -.dhx_toolbar_dhx_web div.dhxtoolbar_float_right { - float: right; -} -.dhx_toolbar_dhx_web div.dhx_toolbar_btn, -.dhx_toolbar_dhx_web div.dhx_toolbar_arw { - position: relative; - float: left; - margin-top: 3px; - padding: 2px 3px 1px 3px; - *padding-bottom: 2px; - margin-right: 1px; - line-height: normal; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - cursor: default; - height: 22px; - overflow: hidden; -} -.dhx_toolbar_dhx_web div.dhx_toolbar_btn.dhxtoolbar_btn_dis, -.dhx_toolbar_dhx_web div.dhx_toolbar_arw.dhxtoolbar_btn_dis { - color: #bfd1db; -} -.dhx_toolbar_dhx_web div.dhx_toolbar_btn.dhxtoolbar_btn_over, -.dhx_toolbar_dhx_web div.dhx_toolbar_arw.dhxtoolbar_btn_over { - background-color: #638194; -} -.dhx_toolbar_dhx_web div.dhx_toolbar_btn.dhxtoolbar_btn_pres, -.dhx_toolbar_dhx_web div.dhx_toolbar_arw.dhxtoolbar_btn_pres { - background-color: #5c7d92; -} -.dhx_toolbar_dhx_web div.dhx_toolbar_btn.dhxtoolbar_btn_pres_dis { - background-color: #65879c; -} -.dhx_toolbar_dhx_web div.dhx_toolbar_btn img { - float: left; - margin: 2px; - width: 18px; - height: 18px; - cursor: default; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhx_toolbar_dhx_web div.dhx_toolbar_btn i { - float: left; - margin: 2px; - width: 18px; - height: 18px; - line-height: 17px; - font-size: 1.2em; - text-align: center; - cursor: default; - color: inherit; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhx_toolbar_dhx_web div.dhx_toolbar_btn .dhxtoolbar_input { - position: relative; - float: left; - border: 1px solid #ffffff; - background-color: white; - margin: 1px; - padding: 2px 4px 3px 4px; - font-family: Tahoma; - font-size: 12px; - color: #000000; - line-height: normal; - direction: ltr; - outline: none; -} -.dhx_toolbar_dhx_web div.dhx_toolbar_btn .dhxtoolbar_input:disabled { - background-color: #f2f2f2; -} -.dhx_toolbar_dhx_web div.dhx_toolbar_btn.dhxtoolbar_btn_dis div.dhxtoolbar_sl_pen { - background-color: #e5e5e5; -} -.dhx_toolbar_dhx_web div.dhx_toolbar_btn.dhxtoolbar_btn_dis div.dhxtoolbar_sl_bg_l, -.dhx_toolbar_dhx_web div.dhx_toolbar_btn.dhxtoolbar_btn_dis div.dhxtoolbar_sl_bg_m, -.dhx_toolbar_dhx_web div.dhx_toolbar_btn.dhxtoolbar_btn_dis div.dhxtoolbar_sl_bg_r { - background-color: #e5e5e5; -} -.dhx_toolbar_dhx_web div.dhx_toolbar_btn div.dhxtoolbar_text, -.dhx_toolbar_dhx_web div.dhx_toolbar_arw div.arwimg { - float: left; - font: inherit; - height: 18px; - line-height: 17px; - margin: 2px 4px; - cursor: default; - overflow: hidden; - white-space: nowrap; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhx_toolbar_dhx_web div.dhx_toolbar_btn div.dhxtoolbar_text { - padding: 0px; -} -.dhx_toolbar_dhx_web div.dhx_toolbar_arw { - margin-left: -3px; - z-index: 1; -} -.dhx_toolbar_dhx_web div.dhx_toolbar_arw div.arwimg { - margin: 2px 0px; - padding: 0px 3px; - background-image: url("imgs/dhxtoolbar_web/dhxtoolbar_arrow.gif"); - background-position: center center; - background-repeat: no-repeat; -} -.dhx_toolbar_dhx_web div.dhx_toolbar_arw.dhxtoolbar_btn_dis div.arwimg { - background-image: url("imgs/dhxtoolbar_web/dhxtoolbar_arrow_dis.gif"); -} -.dhx_toolbar_dhx_web div.dhx_toolbar_sep { - float: left; - border-left: 1px dotted #d0dce4; - height: 14px; - margin: 8px 6px 0px 5px; - overflow: hidden; -} -.dhx_toolbar_dhx_web div.dhx_toolbar_text { - float: left; - vertical-align: middle; - margin-top: 4px; - padding: 3px 5px; - line-height: 17px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhx_toolbar_dhx_web div.dhxtoolbar_sl_bg_l, -.dhx_toolbar_dhx_web div.dhxtoolbar_sl_bg_m, -.dhx_toolbar_dhx_web div.dhxtoolbar_sl_bg_r { - float: left; - height: 5px; - line-height: 1px; - margin: 9px 0px 6px 0px; - padding: 0px; - width: 2px; - font-size: 1px; - background-color: #ffffff; - overflow: hidden; -} -.dhx_toolbar_dhx_web div.dhxtoolbar_sl_bg_l { - margin-left: 4px; -} -.dhx_toolbar_dhx_web div.dhxtoolbar_sl_bg_r { - margin-right: 4px; -} -.dhx_toolbar_dhx_web div.dhxtoolbar_sl_pen, -.dhx_toolbar_dhx_web div.dhxtoolbar_sl_pen.dhxtoolbar_over { - position: absolute; - top: 5px; - width: 7px; - height: 14px; - border: 1px solid #759ab1; - background-color: #ffffff; - cursor: default; - font-size: 1px; - line-height: 1px; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhx_toolbar_dhx_web.dhxtoolbar_icons_24 { - height: 38px !important; -} -.dhx_toolbar_dhx_web.dhxtoolbar_icons_24 div.dhx_toolbar_btn, -.dhx_toolbar_dhx_web.dhxtoolbar_icons_24 div.dhx_toolbar_arw { - height: 28px; -} -.dhx_toolbar_dhx_web.dhxtoolbar_icons_24 div.dhx_toolbar_btn img { - width: 24px; - height: 24px; -} -.dhx_toolbar_dhx_web.dhxtoolbar_icons_24 div.dhx_toolbar_btn i { - width: 24px; - height: 24px; - line-height: 23px; -} -.dhx_toolbar_dhx_web.dhxtoolbar_icons_24 div.dhx_toolbar_btn div.dhxtoolbar_text, -.dhx_toolbar_dhx_web.dhxtoolbar_icons_24 div.dhx_toolbar_arw div.arwimg { - height: 24px; - line-height: 23px; -} -.dhx_toolbar_dhx_web.dhxtoolbar_icons_24 div.dhx_toolbar_text { - padding-top: 6px; - padding-bottom: 6px; -} -.dhx_toolbar_dhx_web.dhxtoolbar_icons_24 div.dhx_toolbar_sep { - height: 20px; -} -.dhx_toolbar_dhx_web.dhxtoolbar_icons_24 div.dhxtoolbar_sl_bg_l, -.dhx_toolbar_dhx_web.dhxtoolbar_icons_24 div.dhxtoolbar_sl_bg_m, -.dhx_toolbar_dhx_web.dhxtoolbar_icons_24 div.dhxtoolbar_sl_bg_r { - margin-top: 12px; -} -.dhx_toolbar_dhx_web.dhxtoolbar_icons_24 div.dhxtoolbar_sl_pen { - top: 8px; -} -.dhx_toolbar_dhx_web.dhxtoolbar_icons_24 div.dhx_toolbar_btn .dhxtoolbar_input { - margin-top: 4px; - margin-bottom: 4px; -} -.dhx_toolbar_dhx_web.dhxtoolbar_icons_32 { - height: 46px !important; -} -.dhx_toolbar_dhx_web.dhxtoolbar_icons_32 div.dhx_toolbar_btn, -.dhx_toolbar_dhx_web.dhxtoolbar_icons_32 div.dhx_toolbar_arw { - height: 36px; -} -.dhx_toolbar_dhx_web.dhxtoolbar_icons_32 div.dhx_toolbar_btn img { - width: 32px; - height: 32px; -} -.dhx_toolbar_dhx_web.dhxtoolbar_icons_32 div.dhx_toolbar_btn i { - width: 32px; - height: 32px; - line-height: 31px; -} -.dhx_toolbar_dhx_web.dhxtoolbar_icons_32 div.dhx_toolbar_btn div.dhxtoolbar_text, -.dhx_toolbar_dhx_web.dhxtoolbar_icons_32 div.dhx_toolbar_arw div.arwimg { - height: 32px; - line-height: 31px; -} -.dhx_toolbar_dhx_web.dhxtoolbar_icons_32 div.dhx_toolbar_text { - padding-top: 10px; - padding-bottom: 10px; -} -.dhx_toolbar_dhx_web.dhxtoolbar_icons_32 div.dhx_toolbar_sep { - height: 28px; -} -.dhx_toolbar_dhx_web.dhxtoolbar_icons_32 div.dhxtoolbar_sl_bg_l, -.dhx_toolbar_dhx_web.dhxtoolbar_icons_32 div.dhxtoolbar_sl_bg_m, -.dhx_toolbar_dhx_web.dhxtoolbar_icons_32 div.dhxtoolbar_sl_bg_r { - margin-top: 16px; -} -.dhx_toolbar_dhx_web.dhxtoolbar_icons_32 div.dhxtoolbar_sl_pen { - top: 12px; -} -.dhx_toolbar_dhx_web.dhxtoolbar_icons_32 div.dhx_toolbar_btn .dhxtoolbar_input { - margin-top: 8px; - margin-bottom: 8px; -} -.dhx_toolbar_dhx_web.dhxtoolbar_icons_48 { - height: 62px !important; -} -.dhx_toolbar_dhx_web.dhxtoolbar_icons_48 div.dhx_toolbar_btn, -.dhx_toolbar_dhx_web.dhxtoolbar_icons_48 div.dhx_toolbar_arw { - height: 52px; -} -.dhx_toolbar_dhx_web.dhxtoolbar_icons_48 div.dhx_toolbar_btn img { - width: 48px; - height: 48px; -} -.dhx_toolbar_dhx_web.dhxtoolbar_icons_48 div.dhx_toolbar_btn i { - width: 48px; - height: 48px; - line-height: 47px; -} -.dhx_toolbar_dhx_web.dhxtoolbar_icons_48 div.dhx_toolbar_btn div.dhxtoolbar_text, -.dhx_toolbar_dhx_web.dhxtoolbar_icons_48 div.dhx_toolbar_arw div.arwimg { - height: 48px; - line-height: 47px; -} -.dhx_toolbar_dhx_web.dhxtoolbar_icons_48 div.dhx_toolbar_text { - padding-top: 18px; - padding-bottom: 18px; -} -.dhx_toolbar_dhx_web.dhxtoolbar_icons_48 div.dhx_toolbar_sep { - height: 44px; -} -.dhx_toolbar_dhx_web.dhxtoolbar_icons_48 div.dhxtoolbar_sl_bg_l, -.dhx_toolbar_dhx_web.dhxtoolbar_icons_48 div.dhxtoolbar_sl_bg_m, -.dhx_toolbar_dhx_web.dhxtoolbar_icons_48 div.dhxtoolbar_sl_bg_r { - margin-top: 24px; -} -.dhx_toolbar_dhx_web.dhxtoolbar_icons_48 div.dhxtoolbar_sl_pen { - top: 20px; -} -.dhx_toolbar_dhx_web.dhxtoolbar_icons_48 div.dhx_toolbar_btn .dhxtoolbar_input { - margin-top: 16px; - margin-bottom: 16px; -} -div.dhx_toolbar_poly_dhx_web { - position: absolute; - border: 1px solid #ffffff; - box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.35); - *border: 1px solid #999999; - padding: 3px 0px; - background-color: #f4f4f4; - overflow: hidden; - cursor: default; - line-height: normal; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - overflow-y: auto; - -webkit-overflow-scrolling: touch; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -} -div.dhx_toolbar_poly_dhx_web td { - line-height: normal; - font-family: Tahoma; - font-size: 12px; - color: #000000; - padding: 0px 4px; -} -div.dhx_toolbar_poly_dhx_web .tr_btn_over td, -div.dhx_toolbar_poly_dhx_web .tr_btn_selected td { - background-color: #deefff; -} -div.dhx_toolbar_poly_dhx_web .tr_btn_disabled td { - color: #999999; -} -div.dhx_toolbar_poly_dhx_web td.td_btn_img { - width: 18px; - text-align: center; -} -div.dhx_toolbar_poly_dhx_web td.td_btn_img img.btn_sel_img { - width: 18px; - height: 18px; -} -div.dhx_toolbar_poly_dhx_web td.td_btn_img i { - width: 18px; - height: 18px; - line-height: 17px; - text-align: center; - color: inherit; - font-size: 1.2em; -} -div.dhx_toolbar_poly_dhx_web td.td_btn_txt div.btn_sel_text { - padding: 0px 12px 0px 1px; - height: 24px; - line-height: 23px; - overflow: hidden; -} -div.dhx_toolbar_poly_dhx_web tr.tr_sep td { - padding: 2px 0px; -} -div.dhx_toolbar_poly_dhx_web div.btn_sep { - position: relative; - font-size: 1px; - line-height: 1px; - height: 0px; - width: 100%; - border-top: 1px dotted #999999; -} -div.dhx_toolbar_slider_label_dhx_web { - position: absolute; - border: 1px solid white; - box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.35); - background-color: #f4f4f4; - padding: 5px 8px; - overflow: hidden; - cursor: default; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - /* z-index in script */ - line-height: normal; - font-family: Tahoma; - font-size: 12px; - color: #000000; -} -/* maxopen test */ -.dhxtoolbar_maxopen_test { - position: absolute; - width: 200px; - height: 50px; - overflow-x: none; - overflow-y: auto; - left: -300px; - top: 100px; - border: 1px solid white; - visibility: hidden; -} -.dhxtoolbar_maxopen_test2 { - height: 200px; -} -.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging, -.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging, -.dhxtabbar_base_dhx_web div.dhx_cell_tabbar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging { - position: relative; - height: 32px; - line-height: 31px; - margin-top: -1px; - overflow: hidden; - white-space: nowrap; -} -.dhxtabbar_base_dhx_web div.dhx_cell_tabbar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging { - margin-top: 0px; - height: 31px; -} -.dhxwins_vp_dhx_web div.dhxwin_active div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging, -.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging { - position: relative; - height: 32px; - line-height: 31px; - margin-top: 3px; - overflow: hidden; - white-space: nowrap; -} -.dhxwins_vp_dhx_web div.dhxwin_active div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging .dhx_toolbar_dhx_web, -.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging .dhx_toolbar_dhx_web { - border-width: 0px; - background-image: none; -} - - -.dhxeditor_dhx_web { - position: relative; -} -.dhxeditor_dhx_web iframe.dhxeditor_mainiframe { - position: absolute; - overflow: hidden; - top: 0px; - left: 0px; - width: 100%; - height: 100%; -} -.dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_stb { - position: relative; - height: 32px; - background-color: #6e95ad; -} -.dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button { - float: left; - position: relative; - width: 18px; - height: 18px; - font-size: 2px; - margin-left: 5px; - margin-top: 7px; - cursor: pointer; - background-image: url("imgs/dhxeditor_web/buttons.gif"); -} -.dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button.btn_bold { - margin-left: 12px; - background-position: 0px 0px; -} -.dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button.btn_italic { - background-position: -18px 0px; -} -.dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button.btn_underline { - background-position: -36px 0px; -} -.dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button.btn_clearformat { - background-position: -54px 0px; -} -.dhxeditor_dhx_web div.dhx_cell_editor { - position: absolute; - background-color: white; - margin: 0px; - padding: 0px; - overflow: hidden; - cursor: default; - z-index: 0; -} -.dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_cont_editor { - position: absolute; - overflow: hidden; -} -.dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_toolbar_def { - position: relative; - overflow: hidden; -} -.dhxwins_vp_dhx_web div.dhx_cell_cont_wins .dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_cont_editor { - border-left: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; - border-bottom: 1px solid #c7c7c7; -} -.dhxwins_vp_dhx_web div.dhx_cell_cont_wins .dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_toolbar_def { - padding: 0px; -} -div.dhx_popup_dhx_web div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_cont_editor { - border-left: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; - border-bottom: 1px solid #c7c7c7; -} -.dhxeditor_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 20px; - height: 10px; - overflow: hidden; -} - - -.dhx_tooltip { - display: none; - position: absolute; - font-family: Tahoma; - color: #626262; - font-size: 12px; - z-index: 10000; - padding: 4px 10px 4px 10px; - border: 1px solid #fff; - border-radius: 3px; - -moz-border-radius: 3px; - -webkit-border-radius: 3px; - -moz-box-shadow: 0 0 3px #d9d9d9; - -webkit-box-shadow: 0 0 3px #d9d9d9; - text-shadow: 0px 1px 1px #fff; - box-shadow: 0 0 5px #d9d9d9; - background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #efefef), color-stop(0.5, #f6f6f6), color-stop(1, #efefef)); - background: -o-linear-gradient(#efefef 0%, #f6f6f6 50%, #efefef 100%); - background: -ms-linear-gradient(#efefef 0%, #f6f6f6 50%, #efefef 100%); - background: -moz-linear-gradient(#efefef 0%, #f6f6f6 50%, #efefef 100%); - background: #efefef; -} -.dhx_chart { - position: relative; - font-family: Tahoma; - font-size: 12px; - color: #000000; - overflow: hidden; - z-index: 0; -} -.dhx_chart canvas { - position: absolute; - left: 0; - top: 0; -} -/*labels*/ -.dhx_canvas_text { - position: absolute; - text-align: center; - overflow: hidden; - white-space: nowrap; - z-index: 1000; -} -/*map*/ -.dhx_map_img { - width: 100%; - height: 100%; - position: absolute; - top: 0px; - left: 0px; - border: 0px; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); - opacity: 0; -} -/*scales*/ -.dhx_axis_item_y { - position: absolute; - height: 18px; - line-height: 18px; - /*line-height:10px;*/ - margin-top: -4px; - text-align: right; -} -.dhx_axis_title_x { - text-align: center; -} -.dhx_axis_title_y { - text-align: center; - font-family: Tahoma; - /*safari*/ - -webkit-transform: rotate(-90deg); - /*firefox*/ - -moz-transform: rotate(-90deg); - /*opera*/ - -o-transform: rotate(-90deg); - /*IE9*/ - -ms-transform: rotate(-90deg); - transform: rotate(-90deg); - height: 18px; - line-height: 18px; - font-size: 12px; - /*padding-left:3px;*/ -} -.dhx_ie_filter { - /*IE8*/ - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); - zoom: 1; - font-family: serif; -} -/*legend block*/ -.dhx_chart_legend { - position: absolute; - z-index: 1000; -} -.dhx_chart_legend_item { - height: 18px; - line-height: 18px; - padding: 2px; - cursor: pointer; -} -.dhx_chart_legend_item.hidden { - color: #aaa; -} -.dhx_axis_item_y.dhx_radar { - color: #666666; - font-size: 12px; - padding-right: 3px; - height: 13px; - line-height: 13px; - margin-top: 0px; -} -.dhx_canvas_text.dhx_axis_radar_title { - margin-top: 0px; - padding-top: 0px; -} -.dhx_axis_item_y, -.dhx_axis_item_x { - color: #666666; -} -.dhx_axis_item_x { - padding-top: 2px; -} - - -.dhx_tooltip { - display: none; - position: absolute; - font-family: Tahoma; - color: #626262; - font-size: 12px; - z-index: 10000; - padding: 4px 10px 4px 10px; - border: 1px solid #fff; - border-radius: 3px; - -moz-border-radius: 3px; - -webkit-border-radius: 3px; - -moz-box-shadow: 0 0 3px #d9d9d9; - -webkit-box-shadow: 0 0 3px #d9d9d9; - text-shadow: 0px 1px 1px #fff; - box-shadow: 0 0 5px #d9d9d9; - background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #efefef), color-stop(0.5, #f6f6f6), color-stop(1, #efefef)); - background: -o-linear-gradient(#efefef 0%, #f6f6f6 50%, #efefef 100%); - background: -ms-linear-gradient(#efefef 0%, #f6f6f6 50%, #efefef 100%); - background: -moz-linear-gradient(#efefef 0%, #f6f6f6 50%, #efefef 100%); - background: #efefef; -} -.dhx_noselect { - -moz-user-select: none; - -moz-user-select: -moz-none; - /*latest ff*/ - -khtml-user-select: none; -} -/*helper for allowing selection*/ -.dhx_allow_selection { - -moz-user-select: text; - -user-select: text; -} -/*top container of DataView*/ -.dhx_dataview { - overflow-y: auto; - -webkit-overflow-scrolling: touch; - overflow-x: hidden; - -moz-user-select: none; - -moz-user-select: -moz-none; - /*latest ff*/ - -khtml-select: none; -} -/*applied to a dragged element*/ -.dhx_drag_zone { - position: absolute; - border: 1px solid #A4BED4; - z-index: 8000; - -moz-box-shadow: 5px 5px 5px #888; - /*Not work in IE*/ - -khtml-box-shadow: 5px 5px 5px #888; -} -/*style is applied to the active drop target*/ -/*default item in dataview*/ -.dhx_dataview_default_item, -.dhx_dataview_default_item_selected { - cursor: pointer; - background-color: #ffffff; -} -.dhx_dataview .dhx_dataview_default_item, -.dhx_dataview .dhx_dataview_default_item_selected { - border-right: 1px solid #c7c7c7; - border-bottom: 1px dotted #c7c7c7; -} -/*default item in selected state*/ -.dhx_dataview_default_item_selected { - background-color: #deefff; - color: #deefff; - border-color: #deefff; - background-repeat: repeat-x; -} -/*defautl styles which will be used by any kind of dataview's item*/ -.dhx_dataview_item { - font-family: Tahoma; - font-size: 12px; - color: #000000; -} -/*predefined styles for text lables inside a item*/ -.dhx_dataview_item .dhx_strong { - font-weight: bold; - display: block; - padding-bottom: 6px; -} -.dhx_dataview_default_item_selected .dhx_light { - color: #C3C3C3; -} -.dhx_dataview_item .dhx_light { - color: #919191; -} -/*style of dataview's item, when drag is moved other it*/ -.dhx_drag_over { - background-color: #faf768; - background-image: url("../imgs/dhxdataview_web/marker.png"); - background-repeat: repeat-x; -} -/*paging related styles*/ -/*button of pager*/ -.dhx_pager_item, -.dhx_pager_item_selected { - float: left; - text-align: center; - height: 16px; - font-family: Tahoma; - font-size: 10pt; - border: 1px solid gray; - padding: 2px 4px; - margin-left: 5px; - cursor: pointer; - background-color: white; -} -/*selected button of pager*/ -.dhx_pager_item_selected { - background-color: lightgrey; - color: white; - cursor: default; - font-weight: bold; -} - - -/*top container of list*/ -.dhx_list { - overflow-y: auto; - -webkit-overflow-scrolling: touch; - overflow-x: hidden; - -moz-user-select: none; - -moz-user-select: -moz-none; - /*latest ff*/ - -khtml-select: none; -} -/*default item in list*/ -.dhx_list_default_item, -.dhx_list_default_item_selected { - cursor: pointer; - background-color: #ffffff; -} -.dhx_list .dhx_list_default_item, -.dhx_list .dhx_list_default_item_selected { - border-right: 1px solid #c7c7c7; - border-bottom: 1px dotted #c7c7c7; -} -/*default item in selected state*/ -.dhx_list_default_item_selected { - background-color: #deefff; - color: #deefff; - border-color: #deefff; - background-repeat: repeat-x; -} -/*defautl styles which will be used by any kind of list's item*/ -.dhx_list_item { - font-family: Tahoma; - font-size: 12px; - color: #000000; - box-sizing: border-box; -} -.dhx_list_item textarea { - resize: none; - margin-top: -8px; -} -/*predefined styles for text lables inside a item*/ -.dhx_list_item .dhx_strong { - font-weight: bold; - display: block; - padding-bottom: 6px; -} -.dhx_list_default_item_selected .dhx_light { - color: #C3C3C3; -} -.dhx_list_item .dhx_light { - color: #919191; -} - - -.defaultTreeTable { - margin: 0px; - padding: 0px; - border: 0px; -} -.containerTableStyle { - overflow: auto; - -webkit-overflow-scrolling: touch; - position: relative; - top: 0; - font-size: 12px; - -khtml-user-select: none; -} -.containerTableStyleRTL span { - direction: rtl; - unicode-bidi: bidi-override; -} -.containerTableStyleRTL { - direction: rtl; - overflow: auto; - position: relative; - top: 0; - font-size: 12px; -} -.standartTreeRow { - font-family: Tahoma; - font-size: 12px; - -moz-user-select: none; -} -.selectedTreeRow { - background-color: navy; - color: white; - font-family: Tahoma; - font-size: 12px; - -moz-user-select: none; -} -.dragAndDropRow { - background-color: navy; - color: white; -} -.standartTreeRow_lor { - text-decoration: underline; - background-color: #ffffff; - font-family: Tahoma; - font-size: 12px; - -moz-user-select: none; -} -.selectedTreeRow_lor { - text-decoration: underline; - background-color: navy; - color: white; - font-family: Tahoma; - font-size: 12px; - -moz-user-select: none; -} -.standartTreeImage { - height: 24px; - overflow: hidden; - border: 0; - padding: 0; - margin: 0; - font-size: 1px; -} -.standartTreeImage img { - width: 18px; - height: 24px; - background-position: center center; - background-repeat: no-repeat; - border: 0; - padding: 0; - margin: 0; - font-size: 1px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.hiddenRow { - width: 1px; - overflow: hidden; -} -.dragSpanDiv, -.dragSpanDiv td { - font-family: Tahoma; - font-size: 12px; - background-color: #ffffff; - z-index: 999; -} -.a_dhx_hidden_input { - position: absolute; - top: -1px; - left: -1px; - width: 1px; - height: 1px; - border: none; - background: none; -} -.a_dhx_hidden_input { - position: absolute; - top: -1px; - left: -1px; - width: 1px; - height: 1px; - border: none; - background: none; -} -.selectionBox { - background-color: #FFFFCC; -} -.selectionBar { - top: 0; - background-color: black; - position: absolute; - overflow: hidden; - height: 2px; - z-index: 11; -} -.intreeeditRow { - font-size: 8pt; - height: 16px; - border: 1px solid silver; - padding: 0; - margin: 0; - margin-left: 4px; - -moz-user-select: text; - -khtml-user-select: text; -} -.dhx_tree_textSign { - font-size: 8pt; - font-family: monospace; - width: 21px; - color: #000000; - padding: 0px; - margin: 0px; - cursor: pointer; - text-align: center; -} -.dhx_tree_opacity { - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhx_bg_img_fix { - width: 18px; - height: 24px; - background-repeat: no-repeat; - background-position: center; - background-position-x: center; - background-position-y: center; -} -.dhxtree_dhx_web .selectedTreeRow_lor, -.dhxtree_dhx_web .selectedTreeRow { - background-color: transparent; -} -.dhxtree_dhx_web span.selectedTreeRow_lor, -.dhxtree_dhx_web span.selectedTreeRow { - background-color: #deefff; - color: #000000; -} -.dhxtree_dhx_web .selectedTreeRowFull .dhxTextCell { - background-color: #deefff; - color: #000000; -} -.dhxtree_dhx_web td.standartTreeRow, -.dhxtree_dhx_web td.selectedTreeRow { - padding-left: 2px; -} -.dhxtree_dhx_web span.standartTreeRow, -.dhxtree_dhx_web span.selectedTreeRow { - padding-left: 3px !important; -} -.dhxtree_dhx_web .standartTreeRow, -.dhxtree_dhx_web .standartTreeRow, -.dhxtree_dhx_web .selectedTreeRow_lor, -.dhxtree_dhx_web .selectedTreeRow { - font-family: Tahoma; - font-size: 12px; - overflow: hidden; -} -.dhxtree_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 20px; - height: 10px; - overflow: hidden; -} - - -div.gridbox { - overflow: hidden; - text-align: left; -} -.dhx_sub_row { - background-color: #ffffff; -} -div.gridbox .xhdr { - background-color: #D4D0C8; -} -div.gridbox table.obj { - height: 1px; -} -div.gridbox table.hdr td { - line-height: normal; - font-family: arial; - font-size: 12px; - background-color: #D4D0C8; - border: 1px solid; - border-color: #ffffff #808080 #808080 #ffffff; - text-align: center; - margin: 0px; - padding: 5px 0px 5px 0px; - font-weight: normal; - overflow: hidden; - empty-cells: show; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -div.gridbox table.hdr td div.hdrcell { - overflow: hidden; -} -div.gridbox table.obj td { - overflow: hidden; - padding-top: 0px; - padding-bottom: 0px; - empty-cells: show; - white-space: normal; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -div.gridbox table.obj th, -div.gridbox table.hdr th { - padding: 0px; - margin: 0px; -} -div.gridbox table.row20px tr td { - height: 20px; - white-space: nowrap; - padding: 0px; -} -div.gridbox .objbox { - background-color: #ffffff; - position: relative; - -webkit-overflow-scrolling: touch; -} -div.gridbox table.obj td span.space, -div.gridbox table.obj td img.space { - width: 18px; -} -div.gridbox table.obj td.editable { - -webkit-user-select: text; - -khtml-user-select: text; - -moz-user-select: text; - -ms-user-select: text; - -o-user-select: text; - user-select: text; -} -div.gridbox table.obj td.group_row { - vertical-align: middle; - font-family: Tahoma; - font-size: 12px; - color: #000000; - font-weight: bold; - height: 30px; - border: 0px; - border-bottom: 2px solid navy; -} -.dragSpanDiv { - font-size: 12px; - color: #000000; - font-family: Tahoma; - border: 1px gray solid; - background-color: white; - z-index: 999; -} -.dhx_combo_select { - font-family: Tahoma; - font-size: 12px; - color: #000000; - border: 1px solid; - border-color: black silver silver black; - background-color: #ffffff; - overflow: auto; - cursor: default; - position: absolute; - height: auto; - z-index: 600; -} -.dhx_combo_edit { - width: 100%; - border: 0px; - padding: 0px; - padding-right: 1px !ie; - margin: 0px; - font-family: Tahoma; - font-size: 12px; - color: #000000; - overflow: hidden; -} -.dhx_textarea { - border: 1px solid; - border-color: black silver silver black; - position: absolute; - height: 100px; - z-index: 600; -} -.dhx_clist { - background-color: white; - border: 1px solid black; - padding: 2px 2px 2px 2px; - z-index: 300; -} -.gridDragLine { - position: absolute; - top: 10px; - left: 0px; - width: 100%; - height: 2px; - background-color: black; - overflow: hidden; -} -/*paginal output*/ -div.pagingBlock { - font-family: Tahoma; - font-size: 12px; - color: #000000; -} -div.pagingBlock .pagingCurrentPage { - font-weight: bold; - cursor: default; -} -div.pagingBlock .pagingPage { - cursor: pointer; - text-decoration: underline; -} -span.recordsInfoBlock { - font-family: Tahoma; - font-size: 12px; - color: #000000; -} -div.pagingBlock a { - text-decoration: none; - padding-right: 2px; - color: black; - cursor: pointer; -} -div.pagingBlock a.dhx_not_active { - text-decoration: none; - cursor: default; -} -/*class for toolbar selectbox. used with pagingWT*/ -.toolbar_select { - font-size: 10px; -} -/*block selection style*/ -.dhtmlxGrid_selection { - opacity: 0.5; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50); - background-color: yellow; - border: 1px dotted black; -} -div.gridbox div.ftr { - position: absolute; - left: 0px; - bottom: 1px; - width: 100%; - overflow: hidden; -} -div.gridbox div.ftr td { - padding: 0px; - padding-left: 10px; - padding-right: 5px; - border-top: 1px solid gray; - border-right: 1px solid gray; - background-color: #ffffcc; - font-style: italic; - font-family: Tahoma; - font-size: 12px; - color: #000000; - overflow: hidden; -} -div.gridbox table.hdr td.columnTargetR div.hdrcell { - border-right: 3px double #FF6600; - border-left: 3px solid #D4D0C8; -} -div.gridbox table.hdr td.columnTargetL div.hdrcell { - border-right: 3px solid #D4D0C8; - border-left: 3px double #FF6600; -} -.dhx_dragColDiv { - font-family: Tahoma; - font-size: 12px; - color: #000000; - background-color: #D4D0C8; - border: 1px solid; - border-color: white Gray Gray white; - text-align: center; - margin: 0px; - padding: 5px 20px 5px 20px; - font-weight: normal; - opacity: 0.75; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=75); - z-index: 100; -} -.dhtmlx_live_validation_error { - background-color: #FFE0E0 !important; -} -.dhtmlx_validation_error { - border-bottom: 2px solid red !important; -} -.dhx_header_cmenu { - background-color: #ffffff; - border: 2px outset silver; - z-index: 2; -} -.dhx_header_cmenu_item { - white-space: nowrap; -} -div.gridbox td.filter input, -div.gridbox td.filter select { - width: 90%; - font-family: Tahoma; - font-size: 12px; - color: #000000; - -webkit-user-select: text; - -khtml-user-select: text; - -moz-user-select: text; - -ms-user-select: text; - -o-user-select: text; - user-select: text; -} -div.gridbox .filter input::-ms-clear { - display: none; -} -div.gridbox_dhx_web.gridbox .xhdr { - background-color: #f4f4f4; - border-bottom: 2px solid #7ea1b6; -} -div.gridbox_dhx_web.gridbox table.hdr tr { - background-color: #f4f4f4; -} -div.gridbox_dhx_web.grid table.obj { - font-family: Tahoma; - font-size: 12px; - color: #000000; -} -div.gridbox_dhx_web.gridbox table.obj tr td { - border-bottom: 1px solid #ededed; - border-right: 1px solid #ededed; - padding-right: 4px; - padding-left: 4px; -} -div.gridbox_dhx_web.gridbox table.hdr td div.hdrcell { - width: auto; - padding-left: 10px; - width: 100% !ie; -} -div.gridbox_dhx_web.gridbox table.hdr td { - border-width: 0px 1px 0px 0px; - border-top: 1px solid #dbdbdb; - border-right-color: #dbdbdb; - padding: 7px 0px 8px 0px; - background-color: #f4f4f4; - font-family: Tahoma; - font-size: 12px; - color: #000000; - vertical-align: top; - text-align: left; - position: relative; -} -div.gridbox_dhx_web.gridbox table.hdr tr:nth-child(2) td { - border-top: 1px solid #f4f4f4; -} -div.gridbox_dhx_web.gridbox { - border: 1px solid #c7c7c7; -} -div.gridbox_dhx_web.gridbox table.obj tr td { - padding-top: 3px; - padding-bottom: 4px; - font-family: Tahoma; - font-size: 12px; - color: #000000; -} -div.gridbox_dhx_web.gridbox table.obj.row20px tr td { - padding-top: 0px; - padding-bottom: 0px; - height: 29px; - line-height: 29px; - border-bottom: 1px solid #ededed; - border-right: 1px solid #ededed; -} -div.gridbox_dhx_web.gridbox table.obj.row20px tr td:last-child { - border-right: 1px solid #ffffff; -} -div.gridbox_dhx_web.gridbox table.obj tr td.editable { - padding: 0px; -} -div.gridbox_dhx_web.gridbox table.obj tr td.editable div.treegrid_cell { - padding: 1px 4px; -} -div.gridbox_dhx_web.gridbox table.obj tr.rowselected { - background-color: #deefff; - color: #000000; -} -div.gridbox_dhx_web.gridbox table.obj tr.rowselected td { - background-color: #deefff; - color: #000000; -} -div.gridbox_dhx_web.gridbox table.obj.row20px tr.rowselected td { - background-color: #deefff; - border-right-color: #deefff; - color: #000000; -} -div.gridbox_dhx_web.gridbox table.obj tr td.cellselected { - background-color: #deefff; - color: #000000; -} -div.gridbox_dhx_web.gridbox .odd_dhx_web { - background-color: #f9f9f9; - color: #000000; -} -.dhx_combo_select, -.gridbox_dhx_web.gridbox .dhx_combo_edit, -.gridbox_dhx_web.gridbox .dhx_textarea { - font-family: Tahoma; - font-size: 12px; - color: #000000; -} -.gridbox_dhx_web.gridbox .dhx_combo_edit { - padding: 1px 0px 0px 1px; -} -.gridbox_dhx_web.gridbox .dhx_sub_row { - background-color: transparent; -} -.dhx_header_cmenu { - background-color: #ffffff; - border: 2px outset silver; - z-index: 2; -} -.dhx_header_cmenu_item { - white-space: nowrap; -} -/*======PAGING. BRICKS SKIN=========*/ -.dhx_pbox { - margin-top: 3px; - border: 1px solid #D4D0C8; - border-top: 0px; - font-size: 10px; -} -.dhx_pline { - background-color: white; - margin: -15px 10px 10px 10px; - padding: 0px 5px 0px 5px; - float: left; -} -.dhx_page, -.dhx_pager_info { - margin: 3px; - text-align: center; - font-family: Tahoma; - font-size: 12px; - color: #000000; - float: left; - cursor: pointer; - color: black; - background-color: gray; - padding: 1px; -} -.dhx_pager_info { - white-space: nowrap; - background-color: white; - margin: -8px 10px 10px 10px; - padding: 0px 5px 0px 5px; - cursor: default; -} -.dhx_page div { - background-color: white; - width: 16px; - height: 17px; - vertical-align: middle; -} -div.dhx_page_active { - font-weight: bold; - background-color: lightgrey; - cursor: default; - color: white; -} -/* for modern grid skin */ -.dhx_pbox_modern { - margin-top: 3px; - border: 1px solid #D6D6D6; - border-top: 0px; - font-size: 10px; -} -.dhx_pline_modern { - background-color: white; - margin: -15px 10px 10px 10px; - padding: 0px 5px 0px 5px; - float: left; -} -.dhx_page_modern, -.dhx_pager_info_modern { - margin: 3px; - text-align: center; - font-family: Tahoma; - font-size: 12px; - color: #000000; - float: left; - cursor: pointer; - color: #055A78; - background-color: #D6D6D6; - padding: 1px; -} -.dhx_pager_info_modern { - white-space: nowrap; - background-color: white; - margin: -8px 10px 10px 10px; - padding: 0px 5px 0px 5px; - cursor: default; -} -.dhx_page_modern div { - background-color: white; - width: 16px; - height: 17px; - vertical-align: middle; -} -div.dhx_page_active_modern { - font-weight: bold; - background-color: #055A78; - cursor: default; - color: white; -} -/* light grid skin*/ -.dhx_pbox_light { - margin-top: 3px; - border: 1px solid #C2D5DC; - border-top: 0px; - font-size: 10px; -} -.dhx_pline_light { - background-color: white; - margin: -15px 10px 10px 10px; - padding: 0px 5px 0px 5px; - float: left; -} -.dhx_page_light, -.dhx_pager_info_light { - margin: 3px; - text-align: center; - font-family: Tahoma; - font-size: 12px; - color: #000000; - float: left; - cursor: pointer; - color: #055A78; - background-color: #93AFBA; - padding: 1px; -} -.dhx_pager_info_light { - white-space: nowrap; - background-color: white; - margin: -8px 10px 10px 10px; - padding: 0px 5px 0px 5px; - cursor: default; -} -.dhx_page_light div { - background-color: white; - width: 16px; - height: 17px; - vertical-align: middle; -} -div.dhx_page_active_light { - font-weight: bold; - background-color: #D1DFE3; - cursor: default; - color: white; -} -.calcTable { - width: 100px; - background-color: silver; - border: 1px black solid; -} -.calcButton { - height: 20px; - cursor: pointer; - text-align: center; - background-color: gray; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid silver; - border-right: 1px solid silver; -} -.calcPressed { - height: 20px; - cursor: pointer; - text-align: center; - background-color: gray; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid black; - border-right: 1px solid black; -} -.calcInput { - background-color: white; - font-size: 10px; - font-weight: bold; - font-family: tahoma,arial; -} -.calkSubmit { - padding: 2px; - cursor: pointer; - text-align: center; - background-color: silver; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid white; - border-right: 1px solid white; -} -.calcTable { - width: 100px; - background-color: silver; - border: 1px black solid; -} -.calcButton { - height: 20px; - cursor: pointer; - text-align: center; - background-color: gray; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid silver; - border-right: 1px solid silver; -} -.calcPressed { - height: 20px; - cursor: pointer; - text-align: center; - background-color: gray; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid black; - border-right: 1px solid black; -} -.calcInput { - background-color: white; - font-size: 10px; - font-weight: bold; - font-family: tahoma,arial; -} -.calkSubmit { - padding: 2px; - cursor: pointer; - text-align: center; - background-color: silver; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid white; - border-right: 1px solid white; -} -.dhxgrid_sort_desc, -.dhxgrid_sort_asc { - width: 9px; - height: 8px; - background-image: url("imgs/dhxgrid_web/sort_desc.gif"); - background-repeat: no-repeat; - z-index: 10; -} -.dhxgrid_sort_asc { - background-image: url("imgs/dhxgrid_web/sort_asc.gif"); - background-repeat: no-repeat; -} -.dhxgrid_rh_dhx_web { - position: absolute; - top: -20px; - left: -30px; - width: 26px; - height: 10px; - margin: 0px; - padding: 0px; - border-width: 0px; - font-size: 1px; - overflow: hidden; -} -.dhxgrid_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 20px; - height: 10px; - overflow: hidden; -} -div.gridbox_dhx_web.gridbox table.obj.row20px tr td img { - display: block; -} -div.gridbox_dhx_web.gridbox table.obj.row20px tr td.group_row img, -div.gridbox_dhx_web.gridbox table.obj.row20px tr td .treegrid_cell img { - display: inline; -} -.dhx_grid_icon { - text-align: center; - color: #777; - font-size: 18px; -} -.dhx_treegrid_icon { - text-align: center; - color: #777; - font-size: 16px; - margin-right: 4px; - position: relative; - top: 1px; -} -.grid_cell_dyn { - position: relative; - padding-right: 2px; - width: 100%; - overflow: hidden; - white-space: nowrap; -} -.grid_cell_dyn img { - position: absolute; - top: 0px; - left: 0px; - height: 15px; -} -.grid_cell_dyn span { - padding-left: 20px; - width: 100%; -} -.grid_collapse_icon { - margin-top: -2px; -} - - -.dhxtreeview_dhx_web { - position: relative; - overflow: hidden; - background-color: #ffffff; -} -.dhxtreeview_dhx_web div.dhxtreeview_cont { - position: absolute; - overflow: auto; - background-color: #ffffff; -} -.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area { - position: relative; -} -.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_kids_cont { - position: relative; - -webkit-transition: opacity 0.1s; - -moz-transition: opacity 0.1s; - -ms-transition: opacity 0.1s; - -o-transition: opacity 0.1s; - transition: opacity 0.1s; -} -.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item { - position: relative; - white-space: nowrap; - cursor: default; - color: #000000; - font-size: 12px; - font-family: Tahoma; -} -.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text { - position: relative; - padding: 0px; - margin: 0px; - height: 32px; - line-height: 31px; - color: inherit; - vertical-align: middle; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - cursor: default; -} -.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_label { - position: absolute; - top: 0px; - padding: 0px 10px 0px 4px; - height: 32px; - line-height: inherit; - font: inherit; -} -.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected, -.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected:hover { - background-color: #deefff; -} -.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected div.dhxtreeview_item_label, -.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected:hover div.dhxtreeview_item_label { - background-color: #deefff; -} -.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text:hover { - background-color: #ffffff; - border-color: #ffffff; -} -.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text:hover div.dhxtreeview_item_label { - background-color: #ffffff; -} -.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon { - position: absolute; - width: 22px; - top: 0px; - height: 32px; - line-height: 30px; - text-align: center; - font-size: 14px; - color: #333333; - overflow: hidden; -} -.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon { - position: absolute; - left: 0px; - top: 0px; - width: 22px; - height: 32px; - background-repeat: no-repeat; - background-position: center center; -} -.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_plus { - background-image: url("imgs/dhxtreeview_web/icon_plus.gif"); -} -.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_minus { - background-image: url("imgs/dhxtreeview_web/icon_minus.gif"); -} -.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_file { - background-image: url("imgs/dhxtreeview_web/icon_file.gif"); -} -.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_folder_closed { - background-image: url("imgs/dhxtreeview_web/icon_folder_closed.gif"); -} -.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_folder_opened { - background-image: url("imgs/dhxtreeview_web/icon_folder_opened.gif"); -} -.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_loading { - background-image: url("imgs/dhxtreeview_web/loading.gif"); -} -.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_chbx_0 { - background-image: url("imgs/dhxtreeview_web/icon_chbx_0.gif"); -} -.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_chbx_1 { - background-image: url("imgs/dhxtreeview_web/icon_chbx_1.gif"); -} -.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_chbx_dis_0 { - background-image: url("imgs/dhxtreeview_web/icon_chbx_dis_0.gif"); -} -.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_chbx_dis_1 { - background-image: url("imgs/dhxtreeview_web/icon_chbx_dis_1.gif"); -} -.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa.fa-folder-open-o, -.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa.fa-folder-o { - position: absolute; - line-height: 32px; - left: 4px; - width: 10px; - text-align: left; - overflow: visible; -} -.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa.fa-square-o, -.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa.fa-check-square-o { - position: absolute; - line-height: 32px; - left: 4px; - width: 10px; - text-align: left; - overflow: visible; -} -.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa.fa-square-o.dhx-disabled, -.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa.fa-check-square-o.dhx-disabled { - color: #a6a6a6; -} -.dhxtreeview_dhx_web div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_drop_preview { - display: none; - position: absolute; - height: 0px; - width: 40px; - border-bottom: 2px dotted #78beff; - z-index: 1; -} -.dhxtreeview_dhx_web div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_drop_preview.dhxtreeview_drop_0 { - display: block; - top: -1px; -} -.dhxtreeview_dhx_web div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_drop_preview.dhxtreeview_drop_2 { - display: block; - top: 31px; -} -.dhxtreeview_dhx_web div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item.dhxtreeview_item_dragged { - opacity: 0.4; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=40); -} -.dhxtreeview_dhx_web div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_drop_1, -.dhxtreeview_dhx_web div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_drop_1:hover { - background-color: #deefff; -} -.dhxtreeview_dhx_web div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_drop_1 div.dhxtreeview_item_label, -.dhxtreeview_dhx_web div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_drop_1:hover div.dhxtreeview_item_label { - background-color: #deefff; -} -.dhxtreeview_dhx_web div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected, -.dhxtreeview_dhx_web div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected:hover { - background-color: #ffffff; -} -.dhxtreeview_dhx_web div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected div.dhxtreeview_item_label, -.dhxtreeview_dhx_web div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected:hover div.dhxtreeview_item_label { - background-color: #ffffff; -} -.dhxtreeview_dhx_web div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text:hover { - background-color: #ffffff; -} -.dhxtreeview_dhx_web div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text:hover div.dhxtreeview_item_label { - background-color: #ffffff; -} -.dhxtreeview_dhx_web.dhxtreeview_icon_width { - position: absolute; - left: 0px; - top: -100px; - width: 22px; - height: 1px; - font-size: 1px; - margin: 0px; - padding: 0px; - overflow: hidden; -} -.dhxtreeview_dragged_obj_dhx_web { - position: absolute; - font-size: 12px; - color: #000000; - font-family: Tahoma; - white-space: nowrap; - cursor: default; - background-color: #fcfcfc; - border-radius: 1px; - box-shadow: 0px 0px 10px rgba(90, 90, 90, 0.2); - padding: 6px 14px; - border: 1px solid #cccccc; -} -html.dhxtreeview_dnd_mode, -body.dhxtreeview_dnd_mode, -html.dhxtreeview_dnd_mode *, -body.dhxtreeview_dnd_mode * { - cursor: default; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -div.dhx_popup_dhx_web div.dhx_popup_area td.dhx_popup_td div.dhxtreeview_dhx_web div.dhxtreeview_item div.dhxtreeview_item_label { - white-space: nowrap; -} -.dhxtreeview_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 20px; - height: 10px; - overflow: hidden; -} - - -.dhxform_obj_dhx_web { - font-family: Tahoma; - font-size: 12px; - color: #000000; - float: left; - line-height: normal; -} -.dhxform_obj_dhx_web div.dhxform_base { - position: relative; - float: left; - margin: 0px !important; -} -.dhxform_obj_dhx_web div.dhxform_base_nested { - padding: 0px 0px 0px 0px; - clear: both; - *display: inline-block; -} -.dhxform_obj_dhx_web.dhxform_block { - clear: both; -} -.dhxform_obj_dhx_web div.block_dhxform_item_label_left { - display: block; - clear: both; - *clear: none; -} -.dhxform_obj_dhx_web div.dhxform_label div.dhxform_label_nav_link, -.dhxform_obj_dhx_web div.dhxform_label div.dhxform_label_nav_link:visited, -.dhxform_obj_dhx_web div.dhxform_label div.dhxform_label_nav_link:active, -.dhxform_obj_dhx_web div.dhxform_label div.dhxform_label_nav_link:hover { - outline: none; - text-decoration: none; - color: inherit; - cursor: default; - overflow: hidden; - white-space: nowrap; -} -.dhxform_obj_dhx_web div.dhxform_label div.dhxform_label_nav_link:focus { - color: #45a5ff; -} -.dhxform_obj_dhx_web div.disabled span.nav_link { - color: inherit; -} -.dhxform_obj_dhx_web div.dhxform_img, -.dhxform_obj_dhx_web div.dhxform_actv_c, -.dhxform_obj_dhx_web div.dhxform_actv_r { - width: 18px; - height: 18px; - font-size: 1px; -} -.dhxform_obj_dhx_web div.dhxform_img.chbx0, -.dhxform_obj_dhx_web div.dhxform_img.chbx1, -.dhxform_obj_dhx_web div.disabled div.dhxform_img.chbx0, -.dhxform_obj_dhx_web div.disabled div.dhxform_img.chbx1, -.dhxform_obj_dhx_web div.dhxform_img.rdbt0, -.dhxform_obj_dhx_web div.dhxform_img.rdbt1, -.dhxform_obj_dhx_web div.disabled div.dhxform_img.rdbt0, -.dhxform_obj_dhx_web div.disabled div.dhxform_img.rdbt1, -.dhxform_obj_dhx_web div.dhxform_actv_c.chbx0, -.dhxform_obj_dhx_web div.dhxform_actv_c.chbx1, -.dhxform_obj_dhx_web div.dhxform_actv_r.rdbt0, -.dhxform_obj_dhx_web div.dhxform_actv_r.rdbt1 { - background-image: url("imgs/dhxform_web/dhxform_chbxrd.gif"); - background-repeat: no-repeat; -} -.dhxform_obj_dhx_web div.dhxform_img.chbx0 { - background-position: -18px 0px; -} -.dhxform_obj_dhx_web div.dhxform_img.chbx1 { - background-position: 0px 0px; -} -.dhxform_obj_dhx_web div.disabled div.dhxform_img.chbx0 { - background-position: -54px 0px; -} -.dhxform_obj_dhx_web div.disabled div.dhxform_img.chbx1 { - background-position: -36px 0px; -} -.dhxform_obj_dhx_web div.dhxform_img.rdbt0 { - background-position: -90px 0px; -} -.dhxform_obj_dhx_web div.dhxform_img.rdbt1 { - background-position: -72px 0px; -} -.dhxform_obj_dhx_web div.disabled div.dhxform_img.rdbt0 { - background-position: -126px 0px; -} -.dhxform_obj_dhx_web div.disabled div.dhxform_img.rdbt1 { - background-position: -108px 0px; -} -.dhxform_obj_dhx_web div.dhxform_actv_c.chbx0 { - background-position: -162px 0px; -} -.dhxform_obj_dhx_web div.dhxform_actv_c.chbx1 { - background-position: -144px 0px; -} -.dhxform_obj_dhx_web div.dhxform_actv_r.rdbt0 { - background-position: -198px 0px; -} -.dhxform_obj_dhx_web div.dhxform_actv_r.rdbt1 { - background-position: -180px 0px; -} -.dhxform_obj_dhx_web div.dhxform_label { - font-family: Tahoma; - font-size: inherit; - color: #000000; - overflow-x: hidden; - overflow: hidden; - white-space: nowrap; -} -.dhxform_obj_dhx_web div.dhxform_label.dhxform_label_align_left { - text-align: left; -} -.dhxform_obj_dhx_web div.dhxform_label.dhxform_label_align_center { - text-align: center; -} -.dhxform_obj_dhx_web div.dhxform_label.dhxform_label_align_right { - text-align: right; -} -.dhxform_obj_dhx_web div.disabled div.dhxform_label, -.dhxform_obj_dhx_web div.disabled div.dhxform_label div.dhxform_label_nav_link, -.dhxform_obj_dhx_web div.disabled div.dhxform_label span.dhxform_item_required { - color: #999999; -} -.dhxform_obj_dhx_web div.dhxform_label span.dhxform_item_required { - margin-left: 5px; - color: red; -} -.dhxform_obj_dhx_web input.dhxform_textarea, -.dhxform_obj_dhx_web textarea.dhxform_textarea { - padding: 4px 4px !important; - margin: 0px; - font-size: 1em; -} -.dhxform_obj_dhx_web input.dhxform_textarea::-ms-clear, -.dhxform_obj_dhx_web textarea.dhxform_textarea::-ms-clear { - display: none; -} -.dhxform_obj_dhx_web .dhxform_textarea { - border: 1px solid #d6d6d6; - font-family: Tahoma; - font-size: 1em; - color: #000000; - resize: none; -} -.dhxform_obj_dhx_web div.disabled .dhxform_textarea { - color: #999999; - background-color: #ffffff; - border: 1px solid #f0f0f0; -} -.dhxform_obj_dhx_web div.dhxform_control.dhxform_img_node { - position: relative; -} -.dhxform_obj_dhx_web div.dhxform_control.dhxform_img_node .dhxform_textarea { - border: 1px solid #ffffff; - background-color: white; - color: white; - visibility: hidden; - *height: 1px; - *line-height: 1px; - *display: inline; -} -.dhxform_obj_dhx_web div.dhxform_control.dhxform_img_node div.dhxform_img, -.dhxform_obj_dhx_web div.dhxform_control.dhxform_img_node div.dhxform_actv_c, -.dhxform_obj_dhx_web div.dhxform_control.dhxform_img_node div.dhxform_actv_r { - float: none; - top: 2px; - left: 0px; - position: absolute; - margin: 0px; -} -.dhxform_obj_dhx_web div.dhxform_item_label_left div.dhxform_control.dhxform_img_node { - margin-left: 2px; -} -.dhxform_obj_dhx_web div.dhxform_item_label_right div.dhxform_control.dhxform_img_node { - margin-right: 0px; -} -/* select */ -.dhxform_obj_dhx_web .dhxform_select { - border: 1px solid #d6d6d6; - background-color: #ffffff; - font-family: Tahoma; - font-size: 1em; - color: #000000; - margin: 0px; - padding: 3px 0px; -} -.dhxform_obj_dhx_web .dhxform_select option { - padding-left: 2px; -} -.dhxform_obj_dhx_web div.disabled .dhxform_select { - color: #999999; - background-color: #ffffff; - border: 1px solid #f0f0f0; -} -.dhxform_obj_dhx_web div.fs_dhxform_item_label_left { - padding: 5px 0px 5px 0px; -} -.dhxform_obj_dhx_web div.fs_dhxform_item_label_left fieldset.dhxform_fs div.dhxform_base_nested.dhxform_fs_nested { - margin-right: 19px; - margin-left: 5px; -} -.dhxform_obj_dhx_web fieldset.dhxform_fs { - border: 1px solid #d6d6d6; - margin: 0px; - padding: 5px 0px 15px 0px; - clear: left; - width: 100%; -} -.dhxform_obj_dhx_web div.disabled fieldset.dhxform_fs { - border: 1px solid #f0f0f0; -} -.dhxform_obj_dhx_web fieldset.dhxform_fs legend.fs_legend { - font-family: Tahoma; - font-size: inherit; - color: #484848; - font-weight: normal; - padding: 0px 4px 1px 4px; - margin-left: 5px; - text-align: left; -} -.dhxform_obj_dhx_web div.disabled fieldset.dhxform_fs legend.fs_legend { - color: #999999; -} -.dhxform_obj_dhx_web div.dhxform_item_label_right { - clear: both; - padding-top: 6px; - cursor: default; - *display: inline-block; -} -.dhxform_obj_dhx_web div.dhxform_item_label_right div.dhxform_img, -.dhxform_obj_dhx_web div.dhxform_item_label_right div.dhxform_actv_c, -.dhxform_obj_dhx_web div.dhxform_item_label_right div.dhxform_actv_r { - float: left; - margin: 0px; -} -.dhxform_obj_dhx_web div.dhxform_item_label_right div.dhxform_label { - float: left; - padding: 2px 0px 2px 0px; - margin: 2px 0 2px 0px; -} -.dhxform_obj_dhx_web div.dhxform_item_label_right div.dhxform_control { - float: left; - margin-right: 3px; -} -.dhxform_obj_dhx_web div.dhxform_item_label_left { - clear: both; - padding-top: 6px; - cursor: default; - *display: inline-block; -} -.dhxform_obj_dhx_web div.dhxform_item_label_left div.dhxform_img, -.dhxform_obj_dhx_web div.dhxform_item_label_left div.dhxform_actv_c, -.dhxform_obj_dhx_web div.dhxform_item_label_left div.dhxform_actv_r { - float: right; - margin: 0px; -} -.dhxform_obj_dhx_web div.dhxform_item_label_left div.dhxform_label { - float: left; - padding: 1px 0px 1px 0px; - margin: 2px 0px 2px 0px; -} -.dhxform_obj_dhx_web div.dhxform_item_label_left div.dhxform_control { - float: left; - margin-left: 3px; -} -.dhxform_obj_dhx_web div.dhxform_item_label_top { - clear: both; -} -.dhxform_obj_dhx_web div.dhxform_item_label_top div.dhxform_label { - float: none; - margin-bottom: 5px; - margin-top: 8px; -} -.dhxform_obj_dhx_web div.dhxform_item_label_top div.dhxform_control { - float: none; - margin-left: 0px; - margin-bottom: 5px; -} -.dhxform_obj_dhx_web div.dhxform_item_absolute { - position: absolute; - left: 0px; - top: 0px; - cursor: default; -} -.dhxform_obj_dhx_web div.item_absolute div.dhxform_img, -.dhxform_obj_dhx_web div.item_absolute div.dhxform_actv_c, -.dhxform_obj_dhx_web div.item_absolute div.dhxform_actv_r { - position: absolute; -} -.dhxform_obj_dhx_web div.dhxform_item_absolute div.dhxform_control, -.dhxform_obj_dhx_web div.dhxform_item_absolute div.dhxform_label, -.dhxform_obj_dhx_web div.dhxform_item_absolute div.dhxform_control.dhxform_img_node, -.dhxform_obj_dhx_web div.dhxform_item_absolute div.dhxform_txt_label2, -.dhxform_obj_dhx_web div.dhxform_item_absolute div.dhxform_btn, -.dhxform_obj_dhx_web div.block_item_absolute div.dhxform_block { - position: absolute; -} -.dhxform_obj_dhx_web div.dhxform_txt_label2 { - font-family: Tahoma; - font-size: inherit; - color: #484848; - font-weight: bold; - margin: 0px 3px; - padding: 5px 0px; - cursor: default; -} -.dhxform_obj_dhx_web div.disabled div.dhxform_txt_label2 { - color: #b3b3b3; -} -.dhxform_obj_dhx_web div.dhxform_btn { - margin: 1px 2px; - background-color: #6e95ad; - float: left; - cursor: default; - clear: both; - position: relative; - overflow: hidden; - font-family: Tahoma; - font-size: inherit; - color: #ffffff; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -} -.dhxform_obj_dhx_web.dhxform_rtl div.dhxform_btn { - float: right; -} -.dhxform_obj_dhx_web div.dhxform_btn.dhxform_btn_over { - background-color: #638194; -} -.dhxform_obj_dhx_web div.dhxform_btn.dhxform_btn_pressed { - background-color: #5c7d92; -} -.dhxform_obj_dhx_web div.disabled div.dhxform_btn { - background-color: #f2f2f2; -} -.dhxform_obj_dhx_web div.dhxform_btn div.dhxform_btn_txt { - float: left; - margin: 0px 17px; - height: 24px; - line-height: 23px; - text-align: center; - vertical-align: middle; - overflow: hidden; - white-space: nowrap; - *display: inline; - opacity: 1; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100); -} -.dhxform_obj_dhx_web div.dhxform_btn div.dhxform_btn_txt.dhxform_btn_txt_autowidth { - width: 100%; - margin: 0px; -} -.dhxform_obj_dhx_web div.disabled div.dhxform_btn div.dhxform_btn_txt { - color: #999999 !important; -} -.dhxform_obj_dhx_web div.dhxform_btn:focus { - outline: 1px dotted #000000; -} -.dhxform_obj_dhx_web div.dhxform_btn div.dhxform_btn_filler { - position: absolute; - display: inline-block; - width: 100%; - height: 100px; - left: 0px; - top: 0px; - background-color: white; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxform_obj_dhx_web div.dhxform_control div.dhxform_note { - font-family: Tahoma; - font-size: 0.8em; - color: #808080; - padding-bottom: 3px; - white-space: normal; -} -.dhxform_obj_dhx_web div.disabled div.dhxform_control div.dhxform_note { - color: #999999; -} -.dhxform_obj_dhx_web div.dhxform_label span.dhxform_info { - font-family: Tahoma; - font-size: 0.6em; - color: #808080; - margin-left: 3px; - padding-bottom: 2px; - line-height: 100%; - vertical-align: middle; - cursor: pointer; -} -.dhxform_obj_dhx_web .validate_error .dhxform_label, -.dhxform_obj_dhx_web .validate_error .dhxform_textarea, -.dhxform_obj_dhx_web .validate_error .dhxform_select, -.dhxform_obj_dhx_web .validate_error div.dhxform_label_nav_link, -.dhxform_obj_dhx_web .validate_error div.dhxform_label div.dhxform_label_nav_link:focus { - color: red; -} -.dhxform_obj_dhx_web div.disabled .dhx_combo_box.dhx_web { - border: 1px solid #f0f0f0; -} -.dhxform_obj_dhx_web div.disabled .dhx_combo_box.dhx_web .dhx_combo_input { - color: #999999; - background-color: #ffffff; -} -.dhxform_obj_dhx_web div.dhxform_item_template.dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_cont_editor { - border-left: 1px solid #d6d6d6; - border-right: 1px solid #d6d6d6; - border-bottom: 1px solid #d6d6d6; -} -.dhxform_obj_dhx_web div.dhxform_item_template.dhxeditor_dhx_web div.dhxcont_content_blocker { - display: none; -} -.dhxform_obj_dhx_web div.disabled div.dhxform_item_template.dhxeditor_dhx_web div.dhxcont_content_blocker { - display: inline; - position: absolute; - width: 100%; - height: 100%; - top: 0px; - left: 0px; - background-color: #ffffff; - opacity: 0.7; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=70); -} -.dhtmlx_skin_dhx_web div.dhtmlx_wins_body_inner .dhxform_obj_dhx_web { - background-color: white; -} -.dhxform_obj_dhx_web div.dhxform_control .dhx_combo_box.dhx_web .dhx_combo_input, -.dhx_combo_list.dhx_web_list div { - font-size: 1em !important; -} -.dhxform_obj_dhx_web .dhx_file_uploader { - position: relative; - width: 100%; - margin-bottom: 4px; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls { - position: relative; - width: 100%; - height: 35px; - font-size: 2px; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button { - position: absolute; - width: 19px; - height: 19px; - top: 8px; - background-image: url("imgs/dhxform_web/dhxform_upload_buttons.gif"); - background-repeat: no-repeat; - font-size: 2px; - cursor: pointer; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100); - z-index: 1; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_info { - display: none; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_browse { - background-position: 0px 0px; - right: 108px; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_upload { - background-position: -19px 0px; - right: 79px; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_cancel { - background-position: -57px 0px; - right: 79px; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_clear { - background-position: -38px 0px; - right: 50px; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls .dhx_uploader_input { - position: absolute; - left: -1000px; - top: 0px; - visibility: hidden; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls div.dhx_file_form_cont { - position: absolute; - width: 19px; - height: 19px; - left: 0px; - top: 0px; - cursor: pointer; - overflow: hidden; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls div.dhx_file_form_cont form.dhx_file_form { - position: absolute; - top: 0px; - right: 0px; - cursor: pointer; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls div.dhx_file_form_cont form.dhx_file_form .dhx_file_input { - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); - cursor: pointer; - outline: none; - height: 19px; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files { - position: relative; - width: 100%; - left: 0px; - top: 0px; - overflow: auto; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files div.dhx_file { - position: relative; - width: 100%; - height: 25px; - overflow: hidden; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_added, -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_uploading { - color: #000000; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_uploaded { - color: #646464; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_fail { - color: #e94a4a; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files div.dhx_file_param { - position: absolute; - font-family: inherit; - font-size: inherit; - color: inherit; - top: 0px; - height: 25px; - line-height: 25px; - vertical-align: middle; - overflow: hidden; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_name { - left: 20px; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_progress { - right: 50px; - width: 38px; - text-align: right; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_delete { - right: 30px; - width: 11px; - background-image: url("imgs/dhxform_web/dhxform_upload_buttons.gif"); - background-position: -76px 0px; - background-repeat: no-repeat; - cursor: pointer; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_uploading { - right: 50px; - width: 38px; - text-align: right; - background-image: url("imgs/dhxform_web/dhxform_upload_uploading.gif"); - background-position: center center; - background-repeat: no-repeat; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxform_obj_dhx_web .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls { - height: 60px; -} -.dhxform_obj_dhx_web .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_files { - display: none; -} -.dhxform_obj_dhx_web .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_info { - display: inline; - background-image: none; - font-size: 13px; - height: auto; - top: 0px; - left: 35px; - color: #a0a0a0; - vertical-align: top; - padding-top: 6px; - line-height: 20px; - cursor: default; - filter: none; -} -.dhxform_obj_dhx_web .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_browse { - top: 0px; - width: 54px; - height: 54px; - right: 35px; - background-image: url("imgs/dhxform_web/dhxform_upload_buttons.gif"); - background-position: 0px -38px; - background-repeat: no-repeat; -} -.dhxform_obj_dhx_web .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_upload, -.dhxform_obj_dhx_web .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_cancel, -.dhxform_obj_dhx_web .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_clear { - display: none; -} -.dhxform_obj_dhx_web .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_form_cont { - width: 54px; - height: 54px; -} -.dhxform_obj_dhx_web .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_form_cont form.dhx_file_form .dhx_file_input { - height: 54px; -} -.dhxform_obj_dhx_web .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_info, -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_added, -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_uploading, -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_uploaded, -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_fail { - color: #999999; -} -.dhxform_obj_dhx_web .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_browse { - background-position: -54px -38px; - cursor: default; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_form_cont { - display: none; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button { - cursor: default; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_browse { - background-position: 0px -19px; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_upload { - background-position: -19px -19px; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_cancel { - background-position: -57px -19px; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_clear { - background-position: -38px -19px; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file_param.dhx_file_delete { - background-position: -87px 0px; - cursor: default; -} -.dhxform_obj_dhx_web div.dhxform_image { - position: relative; - overflow: hidden; - border: 1px solid #d6d6d6; -} -.dhxform_obj_dhx_web div.dhxform_image img.dhxform_image_img { - position: absolute; -} -.dhxform_obj_dhx_web div.dhxform_image div.dhxform_image_wrap { - position: absolute; - background-color: white; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - overflow: hidden; - *border: 1px solid white; - *height: 1000px; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); - -webkit-transition: opacity 0.6s; - -moz-transition: opacity 0.6s; - -ms-transition: opacity 0.6s; - -o-transition: opacity 0.6s; - transition: opacity 0.6s; -} -.dhxform_obj_dhx_web div.dhxform_image div.dhxform_image_wrap.dhxform_image_in_progress { - background-image: url("imgs/dhxform_web/dhxform_image_uploading.gif"); - background-position: center center; - background-repeat: no-repeat; - *border-width: 0px; - *height: 100%; - opacity: 0.85; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=85); - -webkit-transition: opacity 0.1s; - -moz-transition: opacity 0.1s; - -ms-transition: opacity 0.1s; - -o-transition: opacity 0.1s; - transition: opacity 0.1s; -} -.dhxform_obj_dhx_web div.dhxform_image div.dhxform_image_wrap.dhxform_image_in_progress form.dhxform_image_form { - display: none; -} -.dhxform_obj_dhx_web div.dhxform_image div.dhxform_image_wrap form.dhxform_image_form { - position: absolute; - top: 0px; - right: 0px; - cursor: pointer; -} -.dhxform_obj_dhx_web div.dhxform_image div.dhxform_image_wrap form.dhxform_image_form input.dhxform_image_input { - cursor: pointer; - outline: none; - height: 1000px; - font-size: 100px; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxform_obj_dhx_web div.disabled div.dhxform_image { - border-color: #f0f0f0; -} -.dhxform_obj_dhx_web div.disabled div.dhxform_image img.dhxform_image_img { - opacity: 0.5; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50); -} -.dhxform_obj_dhx_web div.disabled div.dhxform_image div.dhxform_image_wrap { - cursor: default; -} -.dhxform_obj_dhx_web div.disabled div.dhxform_image form.dhxform_image_form { - display: none; -} -div.dhx_form_skin_detect { - position: absolute; - display: block; - visibility: hidden; - left: -100px; - top: 0px; - width: 20px; - height: 10px; - margin: 0px; - padding: 0px; - border: none; - overflow: hidden; -} - - -.dhx_vault_dhx_web { - position: relative; - overflow: hidden; - background-color: #6e95ad; - border: 1px solid #6e95ad; - line-height: normal; -} -.dhx_vault_dhx_web div.dhx_vault_controls { - position: absolute; - top: 0px; - left: 0px; - width: 100%; - height: 36px; - font-family: Tahoma; - font-size: 12px; - color: #ffffff; - overflow: hidden; - z-index: 1; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhx_vault_dhx_web div.dhx_vault_controls div.dhx_vault_button { - position: relative; - float: left; - display: inline; - margin: 6px 3px 3px 3px; - padding: 2px 3px 1px; - height: 22px; - line-height: 22px; - border: 0px solid white; - cursor: pointer; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhx_vault_dhx_web div.dhx_vault_controls div.dhx_vault_button.dhx_vault_button_hover { - background-color: #638194; -} -.dhx_vault_dhx_web div.dhx_vault_controls div.dhx_vault_button.dhx_vault_button_pressed { - background-color: #5c7d92; -} -.dhx_vault_dhx_web div.dhx_vault_controls div.dhx_vault_button div.dhxvault_button_icon { - float: left; - position: relative; - width: 16px; - height: 16px; - margin: 3px 3px 0px 3px; - background-image: url("imgs/dhxvault_web/dhxvault_buttons.gif"); - background-repeat: no-repeat; -} -.dhx_vault_dhx_web div.dhx_vault_controls div.dhx_vault_button div.dhxvault_button_icon.dhx_vault_icon_browse { - background-position: 0px 0px; -} -.dhx_vault_dhx_web div.dhx_vault_controls div.dhx_vault_button div.dhxvault_button_icon.dhx_vault_icon_upload { - background-position: 0px -16px; -} -.dhx_vault_dhx_web div.dhx_vault_controls div.dhx_vault_button div.dhxvault_button_icon.dhx_vault_icon_cancel { - background-position: 0px -32px; -} -.dhx_vault_dhx_web div.dhx_vault_controls div.dhx_vault_button div.dhxvault_button_icon.dhx_vault_icon_clear { - background-position: 0px -48px; -} -.dhx_vault_dhx_web div.dhx_vault_controls div.dhx_vault_button div.dhxvault_button_text { - float: left; - height: 18px; - line-height: 17px; - margin: 2px 4px; - white-space: nowrap; -} -.dhx_vault_dhx_web div.dhx_vault_controls .dhx_vault_input { - position: absolute; - left: -1000px; - top: 0px; - visibility: hidden; -} -.dhx_vault_dhx_web div.dhx_vault_controls div.dhx_vault_file_form_cont { - position: absolute; - width: 100%; - height: 30px; - right: 0px; - top: 0px; - cursor: pointer; - overflow: hidden; -} -.dhx_vault_dhx_web div.dhx_vault_controls div.dhx_vault_file_form_cont form.dhx_vault_file_form { - position: absolute; - top: 0px; - right: 0px; - cursor: pointer; -} -.dhx_vault_dhx_web div.dhx_vault_controls div.dhx_vault_file_form_cont form.dhx_vault_file_form .dhx_vault_file_input { - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); - cursor: pointer; - outline: none; - height: 30px; -} -.dhx_vault_dhx_web div.dhx_vault_files, -.dhx_vault_dhx_web div.dhx_vault_f_pr { - position: absolute; - overflow: auto; - background-color: #ffffff; - border: 1px solid #ffffff; - font-family: Tahoma; - font-size: 12px; - color: #000000; - z-index: 0; -} -.dhx_vault_dhx_web div.dhx_vault_f_pr { - background-image: url("../imgs/dhxvault_web/dhxvault_progress.gif"); - background-position: center center; - background-repeat: no-repeat; - opacity: 0.5; -} -.dhx_vault_dhx_web div.dhx_vault_files div.dhx_vault_file { - position: relative; - width: auto; - height: 45px; - overflow: hidden; - border-bottom: 1px solid #ececec; -} -.dhx_vault_dhx_web div.dhx_vault_files div.dhx_vault_file.dhx_vault_file_added, -.dhx_vault_dhx_web div.dhx_vault_files div.dhx_vault_file.dhx_vault_file_uploading { - color: #777777; -} -.dhx_vault_dhx_web div.dhx_vault_files div.dhx_vault_file.dhx_vault_file_uploaded { - color: #000000; -} -.dhx_vault_dhx_web div.dhx_vault_files div.dhx_vault_file.dhx_vault_file_fail { - color: #e94a4a; -} -.dhx_vault_dhx_web div.dhx_vault_files div.dhx_vault_file.dhx_vault_file_size_exceeded div.dhx_vault_file_param.dhx_vault_file_progress { - color: #e94a4a; -} -.dhx_vault_dhx_web div.dhx_vault_files div.dhx_vault_file_param { - position: relative; - margin: 0px 37px 0 48px; - font-family: Tahoma; - font-size: 12px; - color: inherit; - overflow: hidden; - white-space: nowrap; -} -.dhx_vault_dhx_web div.dhx_vault_files div.dhx_vault_file_param.dhx_vault_file_name { - margin-top: 7px; -} -.dhx_vault_dhx_web div.dhx_vault_files div.dhx_vault_file_param.dhx_vault_file_name div.dhx_vault_file_name_text { - position: relative; - width: 100%; - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; -} -.dhx_vault_dhx_web div.dhx_vault_files div.dhx_vault_file_param.dhx_vault_file_name div.dhx_vault_file_name_text a { - font-family: Tahoma; - font-size: 12px; - color: inherit; -} -.dhx_vault_dhx_web div.dhx_vault_files div.dhx_vault_file_param.dhx_vault_file_name div.dhx_vault_file_name_text a:hover { - color: #4d4d4d; -} -.dhx_vault_dhx_web div.dhx_vault_files div.dhx_vault_file_param.dhx_vault_file_delete { - position: absolute; - top: 15px; - right: 11px; - width: 16px; - height: 16px; - margin: 0px; - background-image: url("imgs/dhxvault_web/dhxvault_buttons.gif"); - background-position: 0px -64px; - background-repeat: no-repeat; - cursor: pointer; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhx_vault_dhx_web div.dhx_vault_files div.dhx_vault_file_icon { - position: absolute; - left: 8px; - top: 7px; - width: 32px; - height: 32px; - cursor: default; - overflow: hidden; -} -.dhx_vault_dhx_web div.dhx_vault_files div.dhx_vault_file_icon div.dhx_vault_all_icons { - position: absolute; - left: 0px; - top: 0px; - width: 416px; - height: 32px; - background-repeat: no-repeat; - background-image: url("imgs/dhxvault_web/dhxvault_icons.gif"); - cursor: default; -} -.dhx_vault_dhx_web div.dhx_vault_files div.dhx_vault_file_icon.dhx_vault_icon_def div.dhx_vault_all_icons { - left: 0px; -} -.dhx_vault_dhx_web div.dhx_vault_files div.dhx_vault_file_icon.dhx_vault_icon_arch div.dhx_vault_all_icons { - left: -32px; -} -.dhx_vault_dhx_web div.dhx_vault_files div.dhx_vault_file_icon.dhx_vault_icon_audio div.dhx_vault_all_icons { - left: -64px; -} -.dhx_vault_dhx_web div.dhx_vault_files div.dhx_vault_file_icon.dhx_vault_icon_dmg div.dhx_vault_all_icons { - left: -96px; -} -.dhx_vault_dhx_web div.dhx_vault_files div.dhx_vault_file_icon.dhx_vault_icon_doc div.dhx_vault_all_icons { - left: -128px; -} -.dhx_vault_dhx_web div.dhx_vault_files div.dhx_vault_file_icon.dhx_vault_icon_exe div.dhx_vault_all_icons { - left: -160px; -} -.dhx_vault_dhx_web div.dhx_vault_files div.dhx_vault_file_icon.dhx_vault_icon_html div.dhx_vault_all_icons { - left: -192px; -} -.dhx_vault_dhx_web div.dhx_vault_files div.dhx_vault_file_icon.dhx_vault_icon_image div.dhx_vault_all_icons { - left: -224px; -} -.dhx_vault_dhx_web div.dhx_vault_files div.dhx_vault_file_icon.dhx_vault_icon_pdf div.dhx_vault_all_icons { - left: -256px; -} -.dhx_vault_dhx_web div.dhx_vault_files div.dhx_vault_file_icon.dhx_vault_icon_psd div.dhx_vault_all_icons { - left: -288px; -} -.dhx_vault_dhx_web div.dhx_vault_files div.dhx_vault_file_icon.dhx_vault_icon_text div.dhx_vault_all_icons { - left: -320px; -} -.dhx_vault_dhx_web div.dhx_vault_files div.dhx_vault_file_icon.dhx_vault_icon_video div.dhx_vault_all_icons { - left: -352px; -} -.dhx_vault_dhx_web div.dhx_vault_files div.dhx_vault_file_icon.dhx_vault_icon_xls div.dhx_vault_all_icons { - left: -384px; -} -.dhx_vault_dhx_web div.dhx_vault_files div.dhx_vault_file_param div.dhx_vault_progress { - position: relative; - width: 110px; - border: 1px solid #cecece; - margin-top: 3px; - margin-bottom: 3px; - font-family: Tahoma; - font-size: 7px; - color: #000000; - border-radius: 2px; - overflow: hidden; - cursor: default; -} -.dhx_vault_dhx_web div.dhx_vault_files div.dhx_vault_file_param div.dhx_vault_progress div.dhx_vault_progress_bg { - height: 6px; - background-color: #ececec; - font-size: inherit; - overflow: hidden; - cursor: default; -} -.dhx_vault_dhx_web div.dhx_vault_files div.dhx_vault_file_param span.progress_eta { - position: absolute; - top: -1px; - left: 120px; - font-size: 12px; -} -.dhx_vault_dhx_web div.dhx_vault_files div.dhx_vault_file_param.dhx_vault_file_uploading div.dhx_vault_progress div.dhx_vault_progress_loader { - height: 6px; - background-color: #ffffff; - background-image: url("imgs/dhxvault_web/dhxvault_loader.gif"); - background-repeat: repeat-x; - background-position: left center; - overflow: hidden; - cursor: default; -} -.dhx_vault_dhx_web div.dhx_vault_flash_obj { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhx_vault_dhx_web div.dhx_vault_dnd_box { - position: absolute; - left: 0px; - top: 0px; - width: 100px; - height: 100px; - border: 2px dashed #c0c0c0; - background-color: #ffffff; - opacity: 0.75; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=75); - overflow: hidden; - z-index: 1; -} -.dhx_vault_dhx_web div.dhx_vault_dnd_box_text { - font-size: 16px; - text-align: center; -} -.dhx_vault_dhx_web div.dhx_vault_files.dhx_vault_dnd_box_over { - overflow: hidden; -} -.dhx_vault_dhx_web.dhx_vault_dis { - background-color: #f7f7f7; -} -.dhx_vault_dhx_web.dhx_vault_dis div.dhx_vault_files { - border-color: #a9a9a9; -} -.dhx_vault_dhx_web.dhx_vault_dis div.dhx_vault_controls div.dhx_vault_button { - cursor: default; - opacity: 0.5; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50); -} -.dhx_vault_dhx_web.dhx_vault_dis div.dhx_vault_files div.dhx_vault_file { - opacity: 0.5; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50); -} -.dhx_vault_dhx_web.dhx_vault_dis div.dhx_vault_files div.dhx_vault_file_param.dhx_vault_file_delete { - cursor: default; -} -.dhx_vault_dhx_web.dhx_vault_dis div.dhx_vault_controls div.dhx_vault_file_form_cont { - display: none; -} -.dhxvault_dframe { - position: absolute; - left: -100px; - top: 0px; - width: 1px; - height: 1px; - overflow: hidden; -} -.dhxvault_skin_detect { - position: absolute; - display: block; - visibility: hidden; - left: -100px; - top: 0px; - width: 20px; - height: 10px; - margin: 0px; - padding: 0px; - border: none; - overflow: hidden; -} - - -.dhxacc_base_dhx_web { - position: relative; - cursor: default; - overflow: hidden; -} -.dhxacc_base_dhx_web div.dhxacc_cont { - position: absolute; - *overflow: hidden; -} -.dhxacc_base_dhx_web div.dhx_cell_acc { - position: relative; - background-color: white; - margin: 0px; - padding: 0px; - overflow: hidden; - cursor: default; - box-shadow: 0 0 3px #e0e0e0; -} -.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_cont_acc { - position: absolute; - border-left: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; - border-bottom: 1px solid #c7c7c7; - border-top: 0px solid white; - padding: 8px; - overflow: hidden; - z-index: 0; -} -.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_cont_acc.dhx_cell_cont_no_borders { - border: 0px solid #ffffff !important; - padding: 0px; -} -.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_cover { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - margin: 0px; - padding: 0px; - font-size: 1px; - background-color: #ffffff; - overflow: hidden; - z-index: 1; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_hdr { - position: relative; - height: 32px; - line-height: 30px; - font-family: Tahoma; - font-size: 12px; - color: #ffffff; - font-weight: normal; - background-color: #5c7d92; - overflow: hidden; - cursor: default; - z-index: 3; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_hdr.dhx_cell_hdr_hidden { - border-top: 1px solid #c7c7c7; - height: 0px; - line-height: 0px; - overflow: hidden; -} -.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_hdr div.dhx_cell_hdr_text { - position: relative; - margin: 0px 26px 0px 5px; - overflow: hidden; - white-space: nowrap; - cursor: default; -} -.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_hdr img.dhx_cell_hdr_icon { - position: absolute; - top: 7px; - left: 6px; - width: 16px; - height: 16px; -} -.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_hdr i { - position: absolute; - top: 7px; - left: 5px; - width: 16px; - height: 16px; - line-height: 16px; - text-align: center; - cursor: default; - font-size: 1.1em; - color: inherit; -} -.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_icon { - margin-left: 24px !important; -} -.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_hdr div.dhx_cell_hdr_arrow { - position: absolute; - top: 8px; - right: 5px; - width: 16px; - height: 16px; - background-image: url("imgs/dhxacc_web/dhxacc_btns.gif"); - background-repeat: no-repeat; - background-position: 0px 0px; - overflow: hidden; - cursor: pointer; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxacc_base_dhx_web div.dhx_cell_acc.dhx_cell_closed div.dhx_cell_hdr div.dhx_cell_hdr_arrow { - background-position: -16px 0px; -} -.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_cont_acc.dhx_cell_cont_not_last { - border-bottom: 0px solid white; -} -.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_menu_def { - position: relative; - overflow: hidden; - padding: 9px 9px 0px 9px; - border-left: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; -} -.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_toolbar_def { - padding: 9px 9px 0px 9px; - border-left: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; -} -.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_ribbon_def div.dhtmlxribbon_dhx_web.dhxrb_without_tabbar { - border-top: 0px solid white; - width: auto; -} -.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_statusbar_def { - position: absolute; - bottom: 0; - width: 100%; - background-color: #f4f4f4; -} -.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - height: 21px; - line-height: 21px; - position: relative; - padding: 0 4px; - overflow: hidden; - white-space: nowrap; - border-bottom: 1px solid #c7c7c7; - border-left: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; - font-family: Tahoma; - font-size: 12px; - color: #000000; -} -.dhxacc_base_dhx_web div.dhx_cell_acc.acc_cell_dragged { - box-shadow: 0 0 5px 2px #c2c2c2; - z-index: 5 !important; -} -.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_progress_bar { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: #ffffff; - z-index: 1; - opacity: 0.75; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=75); -} -.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_progress_img { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-image: url("imgs/dhxacc_web/dhxacc_cell_progress.gif"); - background-position: center center; - background-repeat: no-repeat; - z-index: 2; -} -.dhxacc_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 20px; - height: 10px; - overflow: hidden; -} - - -.dhxlayout_base_dhx_web { - position: relative; - cursor: default; -} -.dhxlayout_base_dhx_web div.dhxlayout_cont { - position: absolute; - *overflow: hidden; -} -.dhxlayout_base_dhx_web div.dhxlayout_sep { - position: absolute; - background-color: #ffffff; - font-size: 1px; - margin: 0px; - padding: 0px; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - background-repeat: no-repeat; - background-position: center center; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); - -ms-touch-action: none; - touch-action: none; -} -div.dhxlayout_sep_sw_dhx_web { - position: absolute; - left: 0px; - top: -100px; - width: 9px; - height: 1px; - font-size: 1px; - margin: 0px; - padding: 0px; - overflow: hidden; -} -.dhxlayout_base_dhx_web div.dhxlayout_sep.dhxlayout_sep_resize_v { - cursor: w-resize; - background-image: url("imgs/dhxlayout_web/dhxlayout_sep_v.gif"); -} -.dhxlayout_base_dhx_web div.dhxlayout_sep.dhxlayout_sep_resize_h { - cursor: n-resize; - background-image: url("imgs/dhxlayout_web/dhxlayout_sep_h.gif"); -} -.dhxlayout_base_dhx_web div.dhxlayout_sep.dhxlayout_sep_resize_actv { - background-color: #f2f2f2; -} -.dhxlayout_base_dhx_web div.dhx_cell_layout { - position: absolute; - background-color: white; - margin: 0px; - padding: 0px; - overflow: hidden; - cursor: default; - z-index: 0; -} -.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_cover { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - margin: 0px; - padding: 0px; - font-size: 1px; - background-color: #ffffff; - overflow: hidden; - z-index: 1; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_cont_layout { - position: absolute; - border-left: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; - border-bottom: 1px solid #c7c7c7; - border-top: 0px solid white; - padding: 8px; - overflow: hidden; - z-index: 0; -} -.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_cont_layout.dhx_cell_cont_no_borders { - border: 0px solid white!important; - padding: 0px; -} -.dhxlayout_base_dhx_web div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_cont_layout, -.dhxlayout_base_dhx_web div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_cont_layout { - display: none; -} -.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_hdr { - position: relative; - height: 32px; - line-height: 31px; - font-family: Tahoma; - font-size: 12px; - color: #ffffff; - font-weight: bold; - background-color: #5c7d92; - overflow: hidden; - cursor: default; -} -.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_hdr.dhx_cell_hdr_hidden { - height: 0px; - line-height: 0px; - border-top: 1px solid #c7c7c7; - overflow: hidden; -} -.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_hdr.dhx_cell_hdr_hidden_no_borders { - height: 0px; - line-height: 0px; - border-width: 0px; - overflow: hidden; -} -.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_hdr div.dhx_cell_hdr_text { - position: relative; - margin: 0px 26px 0px 5px; - overflow: hidden; - white-space: nowrap; - cursor: default; -} -.dhxlayout_base_dhx_web div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_hdr { - height: 21px; - line-height: 20px; - color: white; - font-weight: normal; -} -.dhxlayout_base_dhx_web div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr { - width: 21px; - /*background: -moz-linear-gradient(left, @gbg1, @gbg2); // not recognoze 'left' w/o -prefix- - background: -webkit-linear-gradient(left, @gbg1, @gbg2); - background: -o-linear-gradient(left, @gbg1, @gbg2); - background: -ms-linear-gradient(left, @gbg1, @gbg2); - filter: progid:DXImageTransform.Microsoft.Gradient(gradientType=1,startColorStr=@gbg1,endColorStr=@gbg2); // type=1 */ -} -.dhxlayout_base_dhx_web div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text { - position: absolute; - left: 3px; - bottom: 0px; - transform: rotate(270deg); - -ms-transform: rotate(270deg); - transform-origin: left center; - font-weight: normal; - text-overflow: ellipsis; -} -.dhxlayout_base_dhx_web div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie8 { - left: -6px; - line-height: 20px; -} -.dhxlayout_base_dhx_web div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie8 span { - float: left; - filter: progid:DXImageTransform.Microsoft.Matrix(M11='6.123031769111886e-17', M12='1', M21='-1', M22='6.123031769111886e-17', sizingMethod='auto expand'); - margin-bottom: 95%; -} -.dhxlayout_base_dhx_web div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie9 { - left: 0px; - line-height: 20px; -} -.dhxlayout_base_dhx_web div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie9 span { - float: left; - filter: none; - margin-bottom: 95%; -} -.dhxlayout_base_dhx_web div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie7 { - left: -7px; - line-height: 20px; - padding-bottom: 10px; -} -.dhxlayout_base_dhx_web div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie7 span { - float: left; - filter: progid:DXImageTransform.Microsoft.Matrix(M11='6.123031769111886e-17', M12='1', M21='-1', M22='6.123031769111886e-17', sizingMethod='auto expand'); -} -.dhxlayout_base_dhx_web div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie6 { - left: -7px; - line-height: 20px; - padding-bottom: 10px; -} -.dhxlayout_base_dhx_web div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie6 span { - float: left; - filter: progid:DXImageTransform.Microsoft.Matrix(M11='6.123031769111886e-17', M12='1', M21='-1', M22='6.123031769111886e-17', sizingMethod='auto expand'); -} -.dhxlayout_base_dhx_web div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_chrome { - left: 3px; - -webkit-transform: rotate(270deg); - -webkit-transform-origin: left center; -} -.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_hdr div.dhxlayout_arrow { - position: absolute; - right: 4px; - top: 9px; - width: 16px; - height: 16px; - background-image: url("imgs/dhxlayout_web/dhxlayout_cell_btns.gif"); - background-repeat: no-repeat; - cursor: pointer; -} -.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_va { - background-position: -16px 0px; -} -.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_vb { - background-position: -48px 0px; -} -.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_ha { - background-position: -32px 0px; -} -.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_hb { - background-position: 0px 0px; -} -.dhxlayout_base_dhx_web div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_ha { - background-position: 0px -5px; -} -.dhxlayout_base_dhx_web div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_hb { - background-position: -32px -4px; -} -.dhxlayout_base_dhx_web div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_va { - background-position: -45px 0px; - margin-right: 3px; -} -.dhxlayout_base_dhx_web div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_vb { - background-position: -13px 0px; -} -body.dhxlayout_resize_v * { - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - cursor: w-resize !important; -} -body.dhxlayout_resize_h * { - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - cursor: n-resize !important; -} -.dhxlayout_base_dhx_web div.dhxlayout_resize_area { - position: absolute; - background-color: #c7c7c7; - opacity: 0.25; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=25); - z-index: 1; - border: 2px dashed black; - cursor: inherit; -} -.dhxlayout_base_dhx_web div.dhxlayout_resize_sep { - position: absolute; - background-color: #5c7d92; - overflow: hidden; - display: block; - opacity: 0.5; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50); - z-index: 2; - cursor: inherit; -} -.dhxlayout_base_dhx_web div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_statusbar_def, -.dhxlayout_base_dhx_web div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_statusbar_def { - display: none; -} -.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_menu_def { - position: relative; - overflow: hidden; - padding: 9px 9px 0px 9px; - border-left: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; -} -.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_menu_no_borders { - position: relative; - overflow: hidden; -} -.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_menu_def div.dhtmlxMenu_dhx_web_Middle, -.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_menu_no_borders div.dhtmlxMenu_dhx_web_Middle { - padding: 0px 2px; -} -.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_toolbar_def { - position: relative; - overflow: hidden; - padding: 9px 9px 0px 9px; - border-left: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; -} -.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_toolbar_def div.dhx_toolbar_dhx_web { - border-top: 0px solid white; -} -.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_dhx_web { - margin-top: -1px; -} -.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_ribbon_def div.dhtmlxribbon_dhx_web.dhxrb_without_tabbar { - border-top: 0px solid white; - width: auto; -} -.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_statusbar_def { - position: absolute; - bottom: 0px; - width: 100%; - font-family: Tahoma; - font-size: 12px; - color: #000000; - background-color: #f4f4f4; -} -.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - position: relative; - padding: 0px 4px; - height: 21px; - line-height: 21px; - border-bottom: 1px solid #c7c7c7; - border-left: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; - white-space: nowrap; - overflow: hidden; -} -.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_progress_bar { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: #ffffff; - z-index: 1; - opacity: 0.75; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=75); -} -.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_progress_img { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-image: url("imgs/dhxlayout_web/dhxlayout_cell_progress.gif"); - background-position: center center; - background-repeat: no-repeat; - z-index: 2; -} -.dhxlayout_base_dhx_web div.dhxcelltop_hdr { - position: relative; -} -.dhxlayout_base_dhx_web div.dhxcelltop_ftr { - position: absolute; -} -.dhxlayout_base_dhx_web div.dhxcelltop_progress { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: white; - z-index: 3; - opacity: 0.55; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=55); -} -.dhxlayout_base_dhx_web div.dhxcelltop_progress_img { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-image: url("imgs/dhxlayout_web/dhxlayout_cell_progress.gif"); - background-position: center center; - background-repeat: no-repeat; - z-index: 4; -} -.dhxlayout_base_dhx_web div.dhxcelltop_menu { - position: relative; - overflow: hidden; - border-bottom: 9px solid #ffffff; -} -.dhxlayout_base_dhx_web div.dhxcelltop_toolbar { - position: relative; - background-color: #ffffff; - padding-bottom: 9px; - overflow: hidden; -} -.dhxlayout_base_dhx_web div.dhxcelltop_ribbon { - position: relative; - border-bottom: 9px solid #ffffff; -} -.dhxlayout_base_dhx_web div.dhxcelltop_ribbon div.dhtmlxribbon_dhx_web.dhxrb_without_tabbar { - width: auto; -} -.dhxlayout_base_dhx_web div.dhxcelltop_statusbar { - position: absolute; - overflow: hidden; - background-color: #ffffff; -} -.dhxlayout_base_dhx_web div.dhxcelltop_statusbar div.dhxcont_statusbar { - position: relative; - background-color: #f4f4f4; - margin-top: 9px; - border: 1px solid #c7c7c7; - padding: 3px 4px; - font-family: Tahoma; - font-size: 12px; - color: #000000; -} -.dhxlayout_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 20px; - height: 10px; - overflow: hidden; -} - - -.dhxtabbar_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 20px; - height: 10px; - overflow: hidden; -} -.dhxtabbar_fullscreen { - width: 100%; - height: 100%; - margin: 0px; - overflow: hidden; -} -.dhxtabbar_base_dhx_web { - position: relative; -} -.dhxtabbar_base_dhx_web div.dhxtabbar_cont { - position: absolute; - *overflow: hidden; -} -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs { - position: absolute; - top: 0px; - bottom: auto; - height: 32px; - overflow: hidden; - white-space: nowrap; - background-color: #6e95ad; - border: none; - z-index: 2; -} -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs { - top: auto; - bottom: 0px; -} -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tabs_base { - position: absolute; - top: 0px; - height: 32px; - overflow: hidden; -} -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tabs_cont_left, -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tabs_cont_right { - position: absolute; - width: 5000px; - height: 32px; - margin: 0px 1px; - top: 0px; - -webkit-transform: translate3d(0, 0, 0); - -moz-transform: translate3d(0, 0, 0); - -ms-transform: translate3d(0, 0, 0); - -o-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tabs_line { - display: none; -} -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_left { - position: absolute; - left: 0px; - top: 0px; - width: 14px; - height: 32px; - z-index: 4; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - cursor: pointer; -} -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_left.dhxtabbar_tabs_ar_hidden { - display: none; -} -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_left div.dhxtabbar_arrow_img { - position: relative; - height: 100%; - background-image: url("imgs/dhxtabbar_web/dhxtabbar_arrows.gif"); - background-position: 0px 13px; - background-repeat: no-repeat; -} -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_right { - position: absolute; - right: 0px; - top: 0px; - width: 14px; - height: 32px; - z-index: 4; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - cursor: pointer; -} -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_right.dhxtabbar_tabs_ar_hidden { - display: none; -} -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_right div.dhxtabbar_arrow_img { - position: relative; - height: 100%; - background-image: url("imgs/dhxtabbar_web/dhxtabbar_arrows.gif"); - background-position: -14px 13px; - background-repeat: no-repeat; -} -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tab { - position: relative; - height: 26px; - background-color: #5c7d92; - font-family: Tahoma; - font-size: 12px; - color: #ffffff; - margin-top: 5px; - border-left: 2px solid #6e95ad; - border-right: 2px solid #6e95ad; - z-index: 1; - cursor: pointer; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - -webkit-transform: translate3d(0, 0, 0); - -moz-transform: translate3d(0, 0, 0); - -ms-transform: translate3d(0, 0, 0); - -o-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tabs_cont_left div.dhxtabbar_tab { - float: left; -} -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tabs_cont_right div.dhxtabbar_tab { - float: right; -} -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tab:hover { - background-color: #ffffff; -} -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tab:hover div.dhxtabbar_tab_text { - color: #000000; -} -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_dis { - background-color: #416074; -} -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv, -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv_dis { - background-color: #ffffff; - color: #000000; - height: 27px; - z-index: 3; -} -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_hidden { - border: none; -} -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tab div.dhxtabbar_tab_text { - position: relative; - height: 26px; - line-height: 25px; - vertical-align: middle; - top: 0px; - color: #ffffff; - text-align: center; - overflow: hidden; -} -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tab div.dhxtabbar_tab_text.dhxtabbar_tab_text_close { - padding-right: 9px; -} -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv div.dhxtabbar_tab_text, -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv_dis div.dhxtabbar_tab_text { - border-left: 1px solid #ffffff; - border-right: 1px solid #ffffff; -} -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv div.dhxtabbar_tab_text { - color: black; -} -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_dis div.dhxtabbar_tab_text, -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv_dis div.dhxtabbar_tab_text { - color: #999999; -} -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tab div.dhxtabbar_tab_close { - position: absolute; - top: 8px; - right: 7px; - width: 14px; - height: 14px; - background-image: url("imgs/dhxtabbar_web/dhxtabbar_button_close.gif"); - background-position: 0px 0px; - background-repeat: no-repeat; - z-index: 1; -} -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tab:hover div.dhxtabbar_tab_close, -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv div.dhxtabbar_tab_close { - background-position: -14px 0px; -} -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_dis div.dhxtabbar_tab_close, -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv_dis div.dhxtabbar_tab_close { - background-position: -28px 0px; -} -span.dhxtabbar_tabs_text_test_dhx_web { - position: absolute; - visibility: hidden; - right: 0px; - top: 0px; - font-weight: normal; - font-family: Tahoma; - font-size: 12px; - color: #f4f4f4; - padding: 0px 6px; -} -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs_bottom div.dhx_cell_tabbar div.dhx_cell_cont_tabbar { - border-top: 1px solid #c7c7c7; - border-bottom: 0px solid #ffffff; -} -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tab { - margin-top: 0px; - height: 27px; -} -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv, -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv_dis { - height: 27px; -} -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tab div.dhxtabbar_tab_text { - border-top: 1px solid #6e95ad; -} -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv div.dhxtabbar_tab_text, -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv_dis div.dhxtabbar_tab_text { - border-top: 1px solid #ffffff; -} -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_left, -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_right { - top: 1px; -} -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tab div.dhxtabbar_tab_close { - top: 8px; -} -.dhxtabbar_base_dhx_web div.dhx_cell_tabbar { - position: absolute; - background-color: white; - margin: 0px; - padding: 0px; - overflow: hidden; - cursor: default; - z-index: 0; -} -.dhxtabbar_base_dhx_web div.dhx_cell_tabbar div.dhx_cell_cover { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - margin: 0px; - padding: 0px; - font-size: 1px; - background-color: #ffffff; - overflow: hidden; - z-index: 1; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxtabbar_base_dhx_web div.dhx_cell_tabbar div.dhx_cell_cont_tabbar { - position: absolute; - border-left: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; - border-bottom: 1px solid #c7c7c7; - padding: 8px; - border-top: 0px solid #ffffff; - overflow: hidden; - z-index: 0; -} -.dhxtabbar_base_dhx_web div.dhx_cell_tabbar div.dhx_cell_cont_tabbar.dhx_cell_cont_no_borders { - border: 0px solid #ffffff !important; - padding: 0px; -} -.dhxtabbar_base_dhx_web div.dhx_cell_tabbar div.dhx_cell_menu_def { - position: relative; - overflow: hidden; - padding: 9px 9px 0px 9px; - border-left: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; -} -.dhxtabbar_base_dhx_web div.dhx_cell_tabbar div.dhx_cell_menu_no_borders { - position: relative; - overflow: hidden; - height: 20px; -} -.dhxtabbar_base_dhx_web div.dhx_cell_tabbar div.dhx_cell_toolbar_def { - position: relative; - padding: 9px 9px 0px 9px; - border-left: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; -} -.dhxtabbar_base_dhx_web div.dhx_cell_tabbar div.dhtmlxribbon_dhx_web.dhxrb_without_tabbar { - border-top: 0px solid #ffffff; - width: auto; -} -.dhxtabbar_base_dhx_web div.dhx_cell_tabbar div.dhxrb_with_tabbar.dhxtabbar_base_dhx_web { - margin-top: -1px; -} -.dhxtabbar_base_dhx_web div.dhx_cell_tabbar div.dhx_cell_statusbar_def { - position: absolute; - bottom: 0px; - width: 100%; - font-family: Tahoma; - font-size: 12px; - color: #000000; - background-color: #f4f4f4; -} -.dhxtabbar_base_dhx_web div.dhx_cell_tabbar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - position: relative; - padding: 0px 4px; - height: 28px; - line-height: 27px; - border-bottom: 1px solid #c7c7c7; - border-left: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; - white-space: nowrap; - overflow: hidden; -} -.dhxtabbar_base_dhx_web div.dhx_cell_tabbar div.dhx_cell_progress_bar { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: #ffffff; - z-index: 1; - opacity: 0.75; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=75); -} -.dhxtabbar_base_dhx_web div.dhx_cell_tabbar div.dhx_cell_progress_img { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-image: url("imgs/dhxtabbar_web/dhxtabbar_cell_progress.gif"); - background-position: center center; - background-repeat: no-repeat; - z-index: 2; -} - - -.dhxsidebar_base_dhx_web { - position: relative; - cursor: default; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont { - position: absolute; - cursor: default; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side { - position: absolute; - left: 0px; - top: 0px; - background-color: #6e95ad; - border-top: 10px solid #6e95ad; - overflow: hidden; - z-index: 5; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items { - position: absolute; - width: 100%; - overflow: hidden; - -ms-touch-action: none; - -webkit-transition: top 0.2s; - -moz-transition: top 0.2s; - -ms-transition: top 0.2s; - -o-transition: top 0.2s; - transition: top 0.2s; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item { - position: relative; - padding: 0px 10px; - z-index: 1; - cursor: default; - margin: 1px 10px; - background-color: #6e95ad; - overflow: hidden; - opacity: 1; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100); - font-family: Tahoma; - font-size: 12px; - color: #ffffff; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - -ms-touch-action: none; - -webkit-touch-callout: none; - -webkit-user-select: none; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_hidden { - height: 0px !important; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item:hover { - background-color: #789cb3; - z-index: 2; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_selected { - z-index: 3; - background-color: #547c94; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon { - position: absolute; - left: 9px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text { - position: absolute; - left: 0px; - top: 0px; - height: inherit; - line-height: inherit; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_bubble { - position: absolute; - width: 15px; - height: 15px; - line-height: 14px; - right: 4px; - top: 4px; - border-radius: 10px; - background-color: #6e95ad; - border: 1px solid #ffffff; - font-family: Tahoma; - font-size: 10px; - text-align: center; - font-weight: normal; - color: #ffffff; - cursor: default; - overflow: hidden; - z-index: 1; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item:hover div.dhxsidebar_bubble { - background-color: #789cb3; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_selected div.dhxsidebar_bubble { - background-color: #547c94; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_sep { - position: relative; - height: 1px; - margin: 8px 10px; - overflow: hidden; - background-color: #8baabe; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_touch div.dhxsidebar_side_items div.dhxsidebar_item:hover { - background-color: #6e95ad; - z-index: 1; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_touch div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_selected { - z-index: 3; - background-color: #547c94; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_details div.dhxsidebar_side_items div.dhxsidebar_item { - height: 25px; - line-height: 25px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_details div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon { - top: 4px; - width: 16px; - height: 16px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_details div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text { - padding-left: 34px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item { - height: 43px; - line-height: 43px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon { - top: 5px; - width: 32px; - height: 32px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text { - padding-left: 50px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_bubble { - top: 14px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons div.dhxsidebar_side_items div.dhxsidebar_item { - height: 43px; - line-height: 43px; - text-align: center; - padding-left: 4px; - padding-right: 4px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon { - position: relative; - display: inline; - left: 0px; - top: 5px; - width: 32px; - height: 32px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons_text div.dhxsidebar_side_items div.dhxsidebar_item { - height: 62px; - line-height: 1em; - text-align: center; - padding-left: 4px; - padding-right: 4px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons_text div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon { - position: relative; - display: inline; - left: 0px; - top: 4px; - width: 32px; - height: 32px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons_text div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text { - position: relative; - display: block; - height: 16px; - margin-top: 10px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_text div.dhxsidebar_side_items div.dhxsidebar_item { - height: 23px; - line-height: 23px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_text div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text { - padding-left: 14px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_text div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_bubble { - top: 3px; - right: 3px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar { - position: absolute; - background-color: white; - margin: 0px; - padding: 0px; - overflow: hidden; - cursor: default; - z-index: 0; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar.dhx_cell_cont_no_top div.dhx_cell_cont_sidebar { - border-top-color: #ffffff; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_cont_sidebar { - position: absolute; - border-style: solid; - border-color: #c7c7c7; - border-width: 1px 1px 1px 0px; - padding: 8px; - overflow: hidden; - z-index: 0; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_cont_sidebar.dhx_cell_cont_no_borders { - border-width: 0px; - padding: 0px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_progress_bar { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: #ffffff; - z-index: 1; - opacity: 0.75; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=75); -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_progress_img { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-image: url("imgs/dhxsidebar_web/dhxsidebar_cell_progress.gif"); - background-position: center center; - background-repeat: no-repeat; - z-index: 2; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_menu_def { - position: relative; - overflow: hidden; - border-top: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; - padding: 8px 8px 0px 8px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_menu_no_borders { - position: relative; - overflow: hidden; - padding-left: 8px; - padding-bottom: 8px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhtmlxMenu_dhx_web_Middle { - padding: 0px 2px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_toolbar_def { - position: relative; - overflow: hidden; - padding: 8px 8px 0px 8px; - border-top: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_toolbar_no_borders { - padding-left: 8px; - padding-bottom: 8px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def { - position: relative; - overflow: hidden; - padding: 4px 4px 0px 4px; - border-top: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_dhx_web { - border-width: 0px; - width: auto; - margin: 4px 4px 0px 4px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhtmlxribbon_dhx_web.dhxrb_without_tabbar { - border-width: 0px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_no_borders { - position: relative; - overflow: hidden; - padding: 0px 0px 8px 8px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_no_borders div.dhtmlxribbon_dhx_web.dhxrb_without_tabbar { - width: auto; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_statusbar_def { - position: absolute; - bottom: 0px; - width: 100%; - font-family: Tahoma; - font-size: 12px; - color: #000000; - background-color: #f4f4f4; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - position: relative; - padding: 0px 4px; - height: 24px; - line-height: 25px; - border-bottom: 1px solid #c7c7c7; - border-left: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; - white-space: nowrap; - overflow: hidden; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr { - position: relative; - background-color: #5c7d92; - height: 32px; - line-height: 30px; - font-weight: normal; - overflow: hidden; - cursor: default; - z-index: 1; - font-family: Tahoma; - font-size: 12px; - color: #ffffff; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr.dhx_cell_sidebar_hdr_hidden { - border-top: 1px solid #c7c7c7; - height: 0px; - line-height: 0px; - overflow: hidden; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr div.dhx_cell_sidebar_hdr_text { - position: relative; - margin: 0px 10px; - overflow: hidden; - white-space: nowrap; - cursor: default; - text-align: left; - height: 100%; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr div.dhx_cell_sidebar_hdr_text.dhx_cell_sidebar_hdr_text_icon { - margin-left: 34px !important; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr div.dhx_cell_sidebar_hdr_icon { - position: absolute; - top: 0px; - left: 10px; - width: 16px; - height: 100%; - background-image: url("imgs/dhxsidebar_web/dhxsidebar_side_icon.gif"); - background-position: center center; - background-repeat: no-repeat; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_cont_sidebar { - border-left-width: 1px; - border-top-width: 0px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_cont_sidebar.dhx_cell_cont_no_borders { - border-left-width: 0px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_menu_def, -.dhxsidebar_base_dhx_web div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_toolbar_def, -.dhxsidebar_base_dhx_web div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_ribbon_def { - border-top-width: 0px; - border-left: 1px solid #c7c7c7; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_toolbar_no_borders { - padding: 0px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont.dhxsidebar_autohide { - overflow: hidden; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont.dhxsidebar_autohide div.dhxsidebar_side { - -webkit-transition: left 0.2s; - -moz-transition: left 0.2s; - -ms-transition: left 0.2s; - -o-transition: left 0.2s; - transition: left 0.2s; - box-shadow: 0px 2px 8px rgba(127, 127, 127, 0.4); -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont.dhxsidebar_autohide div.dhxsidebar_arrows { - -webkit-transition: left 0.2s; - -moz-transition: left 0.2s; - -ms-transition: left 0.2s; - -o-transition: left 0.2s; - transition: left 0.2s; - box-shadow: 0px 4px 6px rgba(127, 127, 127, 0.4); -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side_cover { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - overflow: hidden; - background-color: #fff; - z-index: 3; - -webkit-transition: opacity 0.3s; - -moz-transition: opacity 0.3s; - -ms-transition: opacity 0.3s; - -o-transition: opacity 0.3s; - transition: opacity 0.3s; - opacity: 0.0001; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side_cover.dhxsidebar_side_cover_actv { - opacity: 0.6; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=60); -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_arrows { - position: absolute; - left: 0px; - bottom: 0px; - height: 24px; - border-color: #6e95ad; - border-style: solid; - border-width: 10px 0px 0px 0px; - background-color: #6e95ad; - font-size: 1px; - overflow: hidden; - z-index: 6; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); - -ms-touch-action: none; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_arrows.dhxsidebar_arrows_hidden { - height: 0px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_arrows.dhxsidebar_arrows_hidden div.dhxsidebar_arrow { - display: none; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow { - position: absolute; - width: 50%; - height: 100%; - top: 0px; - font-size: 1px; - overflow: hidden; - z-index: 1; - border-top: 1px solid #c7c7c7; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_left { - left: 0px; - border-right: 1px solid #c7c7c7; - z-index: 2; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_left div.dhxsidebar_arrow_image { - background-image: url("imgs/dhxsidebar_web/dhxsidebar_arrow_up.gif"); -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_right { - right: 0px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_right div.dhxsidebar_arrow_image { - background-image: url("imgs/dhxsidebar_web/dhxsidebar_arrow_down.gif"); -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow div.dhxsidebar_arrow_image { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-repeat: no-repeat; - background-position: center center; - font-size: 1px; - overflow: hidden; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow:hover { - background-color: #759ab1; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow:active { - background-color: #6790a9; -} -.dhxsidebar_base_dhx_web div.dhxcelltop_hdr { - position: relative; -} -.dhxsidebar_base_dhx_web div.dhxcelltop_ftr { - position: absolute; -} -.dhxsidebar_base_dhx_web div.dhxcelltop_progress { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: white; - z-index: 3; - opacity: 0.55; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=55); -} -.dhxsidebar_base_dhx_web div.dhxcelltop_progress_img { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-image: url("imgs/dhxsidebar_web/dhxsidebar_cell_progress.gif"); - background-position: center center; - background-repeat: no-repeat; - z-index: 4; -} -.dhxsidebar_base_dhx_web div.dhxcelltop_menu { - position: relative; - overflow: hidden; - border-bottom: 9px solid #ffffff; -} -.dhxsidebar_base_dhx_web div.dhxcelltop_toolbar { - position: relative; - background-color: #ffffff; - padding-bottom: 9px; - overflow: hidden; -} -.dhxsidebar_base_dhx_web div.dhxcelltop_ribbon { - position: relative; - border-bottom: 9px solid #ffffff; -} -.dhxsidebar_base_dhx_web div.dhxcelltop_ribbon div.dhtmlxribbon_dhx_web.dhxrb_without_tabbar { - width: auto; -} -.dhxsidebar_base_dhx_web div.dhxcelltop_statusbar { - position: absolute; - overflow: hidden; - background-color: #ffffff; -} -.dhxsidebar_base_dhx_web div.dhxcelltop_statusbar div.dhxcont_statusbar { - position: relative; - background-color: #f4f4f4; - margin-top: 9px; - border: 1px solid #c7c7c7; - padding: 3px 4px; - font-family: Tahoma; - font-size: 12px; - color: #000000; -} -.dhxsidebar_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 20px; - height: 10px; - overflow: hidden; -} - - -.dhxwins_vp_dhx_web { - overflow: hidden; - position: relative; - cursor: default; -} -.dhxwins_vp_auto { - overflow: auto!important; -} -.dhxwins_vp_dhx_web div.dhxwin_active { - position: absolute; - overflow: hidden; - border: 0px solid white; - box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.35); - background: white; - cursor: inherit; -} -.dhxwins_vp_dhx_web div.dhxwin_inactive { - position: absolute; - overflow: hidden; - border: 0px solid white; - box-shadow: 0px 0px 10px rgba(127, 127, 127, 0.35); - background: white; - cursor: inherit; -} -.dhxwins_vp_dhx_web div.dhxwin_brd { - position: absolute; - border-left: 5px solid #6e95ad; - border-right: 5px solid #6e95ad; - border-bottom: 5px solid #6e95ad; - background: #ffffff; - z-index: 0; -} -.dhxwins_vp_dhx_web div.dhxwin_brd.dhxwin_hdr_hidden { - border-top: 5px solid #6e95ad; -} -.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhxwin_brd { - opacity: 0.6; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=60); -} -.dhxwins_vp_dhx_web div.dhxwin_fr_cover { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - overflow: hidden; - background-color: white; - z-index: 1; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxwins_vp_dhx_web div.dhxwin_fr_cover .dhxwin_fr_cover_inner { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: white; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxwins_vp_dhx_web div.dhxwin_active div.dhxwin_fr_cover { - display: none; -} -.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhxwin_fr_cover { - z-index: 4; - opacity: 0.5; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50); -} -.dhxwins_vp_dhx_web div.dhxwin_active div.dhxwin_fr_cover.dhxwin_fr_cover_dnd, -.dhxwins_vp_dhx_web div.dhxwin_active div.dhxwin_fr_cover.dhxwin_fr_cover_resize { - display: block; -} -.dhxwins_vp_dhx_web iframe.dhxwin_main_fr_cover { - position: absolute; - background-color: white; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxwins_vp_dhx_web div.dhxwin_hdr { - position: relative; - height: 27px; - line-height: 27px; - margin: 0px; - padding: 0px; - font-weight: normal; - border-top: 1px solid #ffffff; - border-left: 1px solid #ffffff; - border-right: 1px solid #ffffff; - background-color: #6e95ad; - font-family: Tahoma; - font-size: 12px; - color: #ffffff; - cursor: inherit; - overflow: hidden; - z-index: 3; - -ms-touch-action: none; - touch-action: none; -} -.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhxwin_hdr { - color: #bfbfbf; - opacity: 0.6; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=60); -} -.dhxwins_vp_dhx_web div.dhxwin_hdr.dhxwin_hdr_parked { - border-bottom: 1px solid #ffffff; -} -.dhxwins_vp_dhx_web div.dhxwin_hdr.dhxwin_hdr_hidden { - visibility: hidden; -} -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_icon { - position: absolute; - left: 7px; - top: 5px; - width: 18px; - height: 18px; - cursor: default; - overflow: hidden; - background-image: url("imgs/dhxwins_web/dhxwins_icon.gif"); - background-position: center center; - background-repeat: no-repeat; - cursor: inherit; - z-index: 2; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhxwin_hdr div.dhxwin_icon { - opacity: 0.6; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=60); -} -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_text { - position: relative; - padding: 0px; - margin: 0px; - overflow: hidden; - white-space: nowrap; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - cursor: inherit; - z-index: 1; -} -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_text div.dhxwin_text_inside { - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; - width: 100%; -} -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns { - position: absolute; - right: 7px; - top: 4px; - height: 18px; - cursor: default; - overflow: hidden; - cursor: inherit; - z-index: 2; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhxwin_hdr div.dhxwin_btns { - opacity: 0.5; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50); -} -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button, -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis { - position: relative; - float: left; - width: 15px; - height: 15px; - margin-left: 2px; - margin-top: 3px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - background-image: url("imgs/dhxwins_web/dhxwins_buttons.gif"); - background-repeat: no-repeat; - background-position: 0px 0px; -} -.dhxwins_vp_dhx_web div.dhxwin_active div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button:hover { - background-color: #638194; -} -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_close { - background-position: -15px 0px; -} -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_close_dis { - background-position: -15px -15px; -} -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_minmax { - background-position: -30px 0px; -} -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_minmax_dis { - background-position: -30px -15px; -} -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_minmaxed { - background-position: -45px 0px; -} -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_minmaxed_dis { - background-position: -45px -15px; -} -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_park { - background-position: -60px 0px; -} -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_park_dis { - background-position: -60px -15px; -} -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_stick { - background-position: -75px 0px; -} -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_stick_dis { - background-position: -75px -15px; -} -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_sticked { - background-position: -90px 0px; - z-index: 1; -} -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_sticked_dis { - background-position: -90px -15px; -} -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_help { - background-position: -105px 0px; -} -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_help_dis { - background-position: -105px -15px; -} -/* window dock icon */ -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_dock { - background-position: -120px 0px; -} -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_dock_dis { - background-position: -120px -15px; -} -.dhxwins_vp_dhx_web.dhxwins_vp_dnd { - cursor: move!important; -} -.dhxwins_vp_dhx_web div.dhxwin_resize { - position: absolute; - background-color: #6e95ad; - opacity: 0.2; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=20); -} -.dhxwins_vp_dhx_web iframe.dhxwin_resize_fr_cover { - position: absolute; - background-color: #ffffff; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxwins_vp_dhx_web div.dhxwins_mcover { - position: absolute; - background-color: white; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - opacity: 0.53; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=53); -} -.dhxwins_vp_dhx_web iframe.dhxwins_mcover { - position: absolute; - background-color: #ffffff; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxwins_vp_dhx_web div.dhxwin_active div.dhx_cell_wins, -.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhx_cell_wins { - position: absolute; - background-color: #ffffff; - margin: 0px; - padding: 0px; - overflow: hidden; - cursor: default; - visibility: visible; - z-index: 1; - opacity: 1; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100); -} -.dhxwins_vp_dhx_web div.dhxwin_active div.dhx_cell_wins div.dhx_cell_cover, -.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_cover { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - margin: 0px; - padding: 0px; - font-size: 1px; - background-color: #ffffff; - overflow: hidden; - z-index: 1; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxwins_vp_dhx_web div.dhxwin_active div.dhx_cell_wins div.dhx_cell_cont_wins, -.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_cont_wins { - position: absolute; - /*border: 1px solid #d3e6fe;*/ - /*padding: 1px;*/ - border: 9px solid #ffffff; - background-color: #ffffff; - overflow: hidden; - z-index: 0; -} -.dhxwins_vp_dhx_web div.dhxwin_active div.dhx_cell_wins div.dhx_cell_cont_wins.dhx_cell_cont_no_borders, -.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_cont_wins.dhx_cell_cont_no_borders { - border: 0px solid #ffffff !important; -} -.dhxwins_vp_dhx_web div.dhxwin_active div.dhx_cell_wins div.dhx_cell_menu_def, -.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_menu_def { - position: relative; - overflow: hidden; - padding: 9px 9px 0px 9px; -} -.dhxwins_vp_dhx_web div.dhxwin_active div.dhx_cell_wins div.dhx_cell_toolbar_def, -.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_toolbar_def { - position: relative; - overflow: hidden; - padding: 9px 9px 0px 9px; - border-width: 0px; -} -.dhxwins_vp_dhx_web div.dhxwin_active div.dhx_cell_wins div.dhx_cell_ribbon_def, -.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_ribbon_def { - padding: 9px 9px 0px 9px; -} -.dhxwins_vp_dhx_web div.dhxwin_active div.dhx_cell_wins div.dhtmlxribbon_dhx_web.dhxrb_without_tabbar, -.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhx_cell_wins div.dhtmlxribbon_dhx_web.dhxrb_without_tabbar { - border: 0px solid #ffffff; - margin-left: -4px; - margin-top: -4px; - width: auto; -} -.dhxwins_vp_dhx_web div.dhxwin_active div.dhx_cell_wins div.dhx_cell_statusbar_def, -.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_statusbar_def { - position: absolute; - bottom: 0px; - width: 100%; - font-family: Tahoma; - font-size: 12px; - color: #000000; -} -.dhxwins_vp_dhx_web div.dhxwin_active div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text, -.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - position: relative; - margin: 0px 9px 9px 9px; - padding: 5px 12px; - background-color: #f4f4f4; - white-space: nowrap; - overflow: hidden; -} -.dhxwins_vp_dhx_web div.dhx_cell_wins div.dhx_cell_progress_bar { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: #ffffff; - z-index: 1; - opacity: 0.75; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=75); -} -.dhxwins_vp_dhx_web div.dhx_cell_wins div.dhx_cell_progress_img { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-image: url("imgs/dhxwins_web/dhxwins_progress.gif"); - background-position: center center; - background-repeat: no-repeat; - z-index: 2; -} -.dhxwins_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 20px; - height: 10px; - overflow: hidden; -} -div.dhxwins_vp_dhx_web.dhxwins_vp_fs { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - overflow: hidden; -} - - -.dhxcarousel_base_dhx_web { - background-color: white; - position: relative; - cursor: default; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - overflow: hidden; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area { - position: relative; - overflow: hidden; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area.dhxcarousel_area_flip { - perspective: 900px; - -webkit-perspective: 900; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel { - position: absolute; - background-color: white; - margin: 0px; - padding: 0px; - overflow: hidden; - cursor: default; - z-index: 0; - -webkit-transform-style: preserve-3d; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_cover { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - margin: 0px; - padding: 0px; - font-size: 1px; - background-color: #ffffff; - overflow: hidden; - z-index: 1; - opacity: 0.5; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_cont_carousel { - position: absolute; - border: 1px solid #c7c7c7; - overflow: hidden; - margin: 0px; - padding: 0px; - z-index: 0; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_cont_carousel.dhx_cell_cont_no_borders { - border-width: 0px; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_progress_bar { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: #ffffff; - z-index: 1; - opacity: 0.75; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=75); -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_progress_img { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-image: url("imgs/dhxcarousel_web/dhxcarousel_cell_progress.gif"); - background-position: center center; - background-repeat: no-repeat; - z-index: 2; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_menu_def, -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_menu_no_borders { - position: relative; - overflow: hidden; - padding: 0px 0px 1px 0px; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhtmlxMenu_dhx_web_Middle { - padding: 0px 2px; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_toolbar_def, -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_toolbar_no_borders { - position: relative; - overflow: hidden; - padding: 0px 0px 1px 0px; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def, -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_no_borders { - position: relative; - overflow: hidden; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_dhx_web, -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_no_borders div.dhxrb_with_tabbar.dhxtabbar_base_dhx_web { - border-width: 0px; - width: auto; - margin-left: -4px; - margin-top: -4px; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def div.dhtmlxribbon_dhx_web.dhxrb_without_tabbar, -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_no_borders div.dhtmlxribbon_dhx_web.dhxrb_without_tabbar { - border-width: 0px; - margin-left: -4px; - margin-top: -4px; - width: auto; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_statusbar_def { - position: absolute; - bottom: 0px; - width: 100%; - font-family: Tahoma; - font-size: 12px; - color: #000000; - background-color: #f4f4f4; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - position: relative; - padding: 0px 4px; - height: 24px; - line-height: 25px; - border-bottom: 1px solid #c7c7c7; - border-left: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; - white-space: nowrap; - overflow: hidden; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls { - position: absolute; - width: 100%; - height: 32px; - bottom: 0px; - left: 0px; - z-index: 3; - overflow: visible; - border-top: 1px solid white; - background-color: #f4f4f4; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn { - position: absolute; - bottom: 0px; - width: 38px; - height: 100%; - overflow: hidden; - line-height: 31px; - font-family: Arial; - font-size: 14px; - color: #6e95ad; - background-color: #f4f4f4; - border: 0px solid white; - text-align: center; - z-index: 2; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev:hover, -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next:hover { - background-color: #d0dce4; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev:active, -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next:active { - background-color: #bfd1db; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev, -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis { - left: 0px; - border-right-width: 1px; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next, -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis { - right: 0px; - border-left-width: 1px; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis, -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis { - color: #cecece; - z-index: 1; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars { - position: absolute; - top: 11px; - text-align: center; - font-size: 1px; - line-height: 34px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars div.dhx_carousel_onebar { - float: left; - position: relative; - margin: 0 2px; - width: 10px; - height: 10px; - border: 1px solid #c7c7c7; - border-radius: 10px; - background-color: white; - font-size: 1px; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars div.dhx_carousel_onebar div.dhx_carousel_barcore { - display: none; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars div.dhx_carousel_onebar.dhx_carousel_baractv div.dhx_carousel_barcore { - position: absolute; - display: block; - font-size: 1px; - margin: 0px; - padding: 0px; - width: 4px; - height: 4px; - top: 2px; - left: 2px; - border: 1px solid #6e95ad; - border-radius: 12px; - background-color: #6e95ad; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxcarousel_base_dhx_web div.dhxcelltop_hdr { - position: relative; -} -.dhxcarousel_base_dhx_web div.dhxcelltop_ftr { - position: absolute; -} -.dhxcarousel_base_dhx_web div.dhxcelltop_progress { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: white; - z-index: 3; - opacity: 0.55; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=55); -} -.dhxcarousel_base_dhx_web div.dhxcelltop_progress_img { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-image: url("imgs/dhxcarousel_web/dhxcarousel_cell_progress.gif"); - background-position: center center; - background-repeat: no-repeat; - z-index: 4; -} -.dhxcarousel_base_dhx_web div.dhxcelltop_menu { - position: relative; - overflow: hidden; - border-bottom: 9px solid #ffffff; -} -.dhxcarousel_base_dhx_web div.dhxcelltop_toolbar { - position: relative; - background-color: #ffffff; - padding-bottom: 9px; - overflow: hidden; -} -.dhxcarousel_base_dhx_web div.dhxcelltop_ribbon { - position: relative; - border-bottom: 9px solid #ffffff; -} -.dhxcarousel_base_dhx_web div.dhxcelltop_ribbon div.dhtmlxribbon_dhx_web.dhxrb_without_tabbar { - width: auto; -} -.dhxcarousel_base_dhx_web div.dhxcelltop_statusbar { - position: absolute; - overflow: hidden; - background-color: #ffffff; -} -.dhxcarousel_base_dhx_web div.dhxcelltop_statusbar div.dhxcont_statusbar { - position: relative; - background-color: #f4f4f4; - margin-top: 9px; - border: 1px solid #c7c7c7; - padding: 3px 4px; - font-family: Tahoma; - font-size: 12px; - color: #000000; -} -div.dhx_popup_dhx_web div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_dhx_web { - background-color: #f4f4f4; -} -div.dhx_popup_dhx_web div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls { - border-bottom: 1px solid white; -} -div.dhx_popup_dhx_web div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev, -div.dhx_popup_dhx_web div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis { - border-left-width: 1px; -} -div.dhx_popup_dhx_web div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next, -div.dhx_popup_dhx_web div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis { - border-right-width: 1px; -} -.dhxcarousel_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 20px; - height: 10px; - overflow: hidden; -} - - -.dhtmlx_message_area { - position: fixed; - right: 5px; - width: 250px; - z-index: 1000; - padding: 0px 0px; -} -.dhtmlx-info { - color: #444; - min-width: 120px; - background: white; - font-size: 12px; - font-family: Tahoma; - z-index: 10000; - margin: 0px 5px 5px 5px; - border: 1px solid #e6d8bc; - box-shadow: 0px 0px 5px #ccc; - -webkit-transition: all .5s ease; - -moz-transition: all .5s ease; - -o-transition: all .5s ease; - transition: all .5s ease; -} -.dhtmlx-info div { - padding: 9px 9px 9px 15px; - margin: 1px; - background-color: #ffffcc; - -webkit-transition: all .5s ease; - -moz-transition: all .5s ease; - -o-transition: all .5s ease; - transition: all .5s ease; -} -.dhtmlx-info.hidden { - box-shadow: none; - border-top: none; - border-bottom: none; - margin-top: 0px; - margin-bottom: 0px; - overflow: hidden; -} -.dhtmlx-info.hidden div { - height: 0px; - border-top: none; - border-bottom: none; - padding-bottom: 0px; - padding-top: 0px; - overflow: hidden; -} -.dhtmlx-error { - border: 1px solid #bcbcbc; - color: #fff; -} -.dhtmlx-error div { - padding: 9px 9px 9px 18px; - margin: 1px; - background-color: #f17373; -} -.dhtmlx_modal_box { - overflow: hidden; - display: inline-block; - min-width: 300px; - width: 300px; - text-align: center; - position: fixed; - background-color: #fff; - z-index: 20000; - -moz-box-shadow: 0px 0px 5px #AAAAAA; - -webkit-box-shadow: 0px 0px 0px #AAAAAA; - box-shadow: 0px 0px 5px #AAAAAA; - border: 1px solid white; -} -.dhtmlx_popup_title { - padding: 6px 0; - font-size: 14px; - -webkit-border-top-right-radius: 3px; - -webkit-border-top-left-radius: 3px; - line-height: 16px; - font-family: Tahoma; -} -.dhtmlx-info, -.dhtmlx_popup_title, -.dhtmlx_popup_button { - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -moz-user-select: -moz-none; - cursor: pointer; -} -.dhtmlx_popup_text { - font-size: 13px; - font-family: Tahoma; - color: #444; - min-height: 30px; - padding: 20px 10px 10px 10px !important; - overflow: hidden; -} -.dhtmlx_popup_controls { - font-family: Tahoma; - font-weight: bold; - padding: 10px 10px 17px 10px !important; -} -.dhtmlx_popup_button { - font-size: 14px; - font-family: Tahoma; - font-weight: normal; - min-width: 120px; - width: 120px; - height: 24px; - display: inline-block; - margin: 0 5px; -} -.dhtmlx_popup_button div { - line-height: 24px; -} -div.dhx_modal_cover { - background-color: #000; - cursor: default; - opacity: 0.2; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=20); - position: fixed; - z-index: 19999; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - border: none; - zoom: 1; -} -.dhtmlx_popup_button { - color: #222; - border: 1px solid #cecece; - box-shadow: 0px 0px 1px #111111; -} -.dhtmlx_popup_button:active, -.dhtmlx_popup_button:focus { - background: #eee; -} -.dhtmlx_popup_button:first-child { - background: #3da0e3; - color: white; - border: 1px solid #3da0e3; - box-shadow: none; -} -.dhtmlx-alert-error .dhtmlx_popup_title, -.dhtmlx-confirm-error .dhtmlx_popup_title { - color: #ffffff; - background: #f17373; -} -.dhtmlx-alert-error .dhtmlx_popup_button:first-child, -.dhtmlx-confirm-error .dhtmlx_popup_button:first-child { - background: #f17373; - border: 1px solid #f17373; -} -.dhtmlx-alert-warning .dhtmlx_popup_title, -.dhtmlx-confirm-warning .dhtmlx_popup_title { - color: #ffffff; - background: #E6951A; -} -.dhtmlx-alert .dhtmlx_popup_title, -.dhtmlx-confirm .dhtmlx_popup_title { - color: white; - background: #3da0e3; -} - - - \ No newline at end of file diff --git a/themes/skins/web/imgs/dhxacc_web/dhxacc_btns.gif b/themes/skins/web/imgs/dhxacc_web/dhxacc_btns.gif deleted file mode 100644 index e30282b..0000000 Binary files a/themes/skins/web/imgs/dhxacc_web/dhxacc_btns.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxacc_web/dhxacc_cell_progress.gif b/themes/skins/web/imgs/dhxacc_web/dhxacc_cell_progress.gif deleted file mode 100644 index e69de29..0000000 diff --git a/themes/skins/web/imgs/dhxcalendar_web/dhxcalendar_arrow_left.gif b/themes/skins/web/imgs/dhxcalendar_web/dhxcalendar_arrow_left.gif deleted file mode 100644 index bbcf8b2..0000000 Binary files a/themes/skins/web/imgs/dhxcalendar_web/dhxcalendar_arrow_left.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxcalendar_web/dhxcalendar_arrow_left2.gif b/themes/skins/web/imgs/dhxcalendar_web/dhxcalendar_arrow_left2.gif deleted file mode 100644 index 534467b..0000000 Binary files a/themes/skins/web/imgs/dhxcalendar_web/dhxcalendar_arrow_left2.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxcalendar_web/dhxcalendar_arrow_right.gif b/themes/skins/web/imgs/dhxcalendar_web/dhxcalendar_arrow_right.gif deleted file mode 100644 index af13836..0000000 Binary files a/themes/skins/web/imgs/dhxcalendar_web/dhxcalendar_arrow_right.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxcalendar_web/dhxcalendar_arrow_right2.gif b/themes/skins/web/imgs/dhxcalendar_web/dhxcalendar_arrow_right2.gif deleted file mode 100644 index e7aaa15..0000000 Binary files a/themes/skins/web/imgs/dhxcalendar_web/dhxcalendar_arrow_right2.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxcalendar_web/dhxcalendar_clock.gif b/themes/skins/web/imgs/dhxcalendar_web/dhxcalendar_clock.gif deleted file mode 100644 index 64a8d26..0000000 Binary files a/themes/skins/web/imgs/dhxcalendar_web/dhxcalendar_clock.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxcalendar_web/dhxcalendar_mark.gif b/themes/skins/web/imgs/dhxcalendar_web/dhxcalendar_mark.gif deleted file mode 100644 index 4dd78d2..0000000 Binary files a/themes/skins/web/imgs/dhxcalendar_web/dhxcalendar_mark.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxcalendar_web/dhxcalendar_selector_bottom.gif b/themes/skins/web/imgs/dhxcalendar_web/dhxcalendar_selector_bottom.gif deleted file mode 100644 index 6ee4ca7..0000000 Binary files a/themes/skins/web/imgs/dhxcalendar_web/dhxcalendar_selector_bottom.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxcalendar_web/dhxcalendar_selector_top.gif b/themes/skins/web/imgs/dhxcalendar_web/dhxcalendar_selector_top.gif deleted file mode 100644 index 1aa012c..0000000 Binary files a/themes/skins/web/imgs/dhxcalendar_web/dhxcalendar_selector_top.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxcarousel_web/dhxcarousel_cell_progress.gif b/themes/skins/web/imgs/dhxcarousel_web/dhxcarousel_cell_progress.gif deleted file mode 100644 index e69de29..0000000 diff --git a/themes/skins/web/imgs/dhxcombo_web/dhxcombo_arrow_down.gif b/themes/skins/web/imgs/dhxcombo_web/dhxcombo_arrow_down.gif deleted file mode 100644 index 611657a..0000000 Binary files a/themes/skins/web/imgs/dhxcombo_web/dhxcombo_arrow_down.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxcombo_web/dhxcombo_arrow_down_dis.gif b/themes/skins/web/imgs/dhxcombo_web/dhxcombo_arrow_down_dis.gif deleted file mode 100644 index b6f92f6..0000000 Binary files a/themes/skins/web/imgs/dhxcombo_web/dhxcombo_arrow_down_dis.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxcombo_web/dhxcombo_chbx.gif b/themes/skins/web/imgs/dhxcombo_web/dhxcombo_chbx.gif deleted file mode 100644 index 958bf46..0000000 Binary files a/themes/skins/web/imgs/dhxcombo_web/dhxcombo_chbx.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxcp_web/dhxcp_colors.png b/themes/skins/web/imgs/dhxcp_web/dhxcp_colors.png deleted file mode 100644 index ede480c..0000000 Binary files a/themes/skins/web/imgs/dhxcp_web/dhxcp_colors.png and /dev/null differ diff --git a/themes/skins/web/imgs/dhxdataview_web/dnd_selector.png b/themes/skins/web/imgs/dhxdataview_web/dnd_selector.png deleted file mode 100644 index 5d8e9b4..0000000 Binary files a/themes/skins/web/imgs/dhxdataview_web/dnd_selector.png and /dev/null differ diff --git a/themes/skins/web/imgs/dhxdataview_web/dnd_selector_cells.png b/themes/skins/web/imgs/dhxdataview_web/dnd_selector_cells.png deleted file mode 100644 index 63da638..0000000 Binary files a/themes/skins/web/imgs/dhxdataview_web/dnd_selector_cells.png and /dev/null differ diff --git a/themes/skins/web/imgs/dhxdataview_web/dnd_selector_lines.png b/themes/skins/web/imgs/dhxdataview_web/dnd_selector_lines.png deleted file mode 100644 index 576ecfd..0000000 Binary files a/themes/skins/web/imgs/dhxdataview_web/dnd_selector_lines.png and /dev/null differ diff --git a/themes/skins/web/imgs/dhxdataview_web/marker.png b/themes/skins/web/imgs/dhxdataview_web/marker.png deleted file mode 100644 index ceec125..0000000 Binary files a/themes/skins/web/imgs/dhxdataview_web/marker.png and /dev/null differ diff --git a/themes/skins/web/imgs/dhxeditor_web/align_center.gif b/themes/skins/web/imgs/dhxeditor_web/align_center.gif deleted file mode 100644 index 896e420..0000000 Binary files a/themes/skins/web/imgs/dhxeditor_web/align_center.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxeditor_web/align_justify.gif b/themes/skins/web/imgs/dhxeditor_web/align_justify.gif deleted file mode 100644 index 8de6c6f..0000000 Binary files a/themes/skins/web/imgs/dhxeditor_web/align_justify.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxeditor_web/align_left.gif b/themes/skins/web/imgs/dhxeditor_web/align_left.gif deleted file mode 100644 index b660afb..0000000 Binary files a/themes/skins/web/imgs/dhxeditor_web/align_left.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxeditor_web/align_right.gif b/themes/skins/web/imgs/dhxeditor_web/align_right.gif deleted file mode 100644 index 0087564..0000000 Binary files a/themes/skins/web/imgs/dhxeditor_web/align_right.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxeditor_web/bold.gif b/themes/skins/web/imgs/dhxeditor_web/bold.gif deleted file mode 100644 index deeb6b2..0000000 Binary files a/themes/skins/web/imgs/dhxeditor_web/bold.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxeditor_web/buttons.gif b/themes/skins/web/imgs/dhxeditor_web/buttons.gif deleted file mode 100644 index f822aab..0000000 Binary files a/themes/skins/web/imgs/dhxeditor_web/buttons.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxeditor_web/clear.gif b/themes/skins/web/imgs/dhxeditor_web/clear.gif deleted file mode 100644 index 36a8e96..0000000 Binary files a/themes/skins/web/imgs/dhxeditor_web/clear.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxeditor_web/h1.gif b/themes/skins/web/imgs/dhxeditor_web/h1.gif deleted file mode 100644 index 9d1ac14..0000000 Binary files a/themes/skins/web/imgs/dhxeditor_web/h1.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxeditor_web/h2.gif b/themes/skins/web/imgs/dhxeditor_web/h2.gif deleted file mode 100644 index 5f61835..0000000 Binary files a/themes/skins/web/imgs/dhxeditor_web/h2.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxeditor_web/h3.gif b/themes/skins/web/imgs/dhxeditor_web/h3.gif deleted file mode 100644 index b53d35a..0000000 Binary files a/themes/skins/web/imgs/dhxeditor_web/h3.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxeditor_web/h4.gif b/themes/skins/web/imgs/dhxeditor_web/h4.gif deleted file mode 100644 index b524233..0000000 Binary files a/themes/skins/web/imgs/dhxeditor_web/h4.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxeditor_web/indent_dec.gif b/themes/skins/web/imgs/dhxeditor_web/indent_dec.gif deleted file mode 100644 index 3e7e9ab..0000000 Binary files a/themes/skins/web/imgs/dhxeditor_web/indent_dec.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxeditor_web/indent_inc.gif b/themes/skins/web/imgs/dhxeditor_web/indent_inc.gif deleted file mode 100644 index 5ab8b8e..0000000 Binary files a/themes/skins/web/imgs/dhxeditor_web/indent_inc.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxeditor_web/italic.gif b/themes/skins/web/imgs/dhxeditor_web/italic.gif deleted file mode 100644 index 4d19834..0000000 Binary files a/themes/skins/web/imgs/dhxeditor_web/italic.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxeditor_web/list_bullet.gif b/themes/skins/web/imgs/dhxeditor_web/list_bullet.gif deleted file mode 100644 index a80b76b..0000000 Binary files a/themes/skins/web/imgs/dhxeditor_web/list_bullet.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxeditor_web/list_number.gif b/themes/skins/web/imgs/dhxeditor_web/list_number.gif deleted file mode 100644 index d561a2f..0000000 Binary files a/themes/skins/web/imgs/dhxeditor_web/list_number.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxeditor_web/script_sub.gif b/themes/skins/web/imgs/dhxeditor_web/script_sub.gif deleted file mode 100644 index 4b5ddb6..0000000 Binary files a/themes/skins/web/imgs/dhxeditor_web/script_sub.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxeditor_web/script_super.gif b/themes/skins/web/imgs/dhxeditor_web/script_super.gif deleted file mode 100644 index 45a40c9..0000000 Binary files a/themes/skins/web/imgs/dhxeditor_web/script_super.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxeditor_web/strike.gif b/themes/skins/web/imgs/dhxeditor_web/strike.gif deleted file mode 100644 index b7ac272..0000000 Binary files a/themes/skins/web/imgs/dhxeditor_web/strike.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxeditor_web/underline.gif b/themes/skins/web/imgs/dhxeditor_web/underline.gif deleted file mode 100644 index c95c477..0000000 Binary files a/themes/skins/web/imgs/dhxeditor_web/underline.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxform_web/dhxform_chbxrd.gif b/themes/skins/web/imgs/dhxform_web/dhxform_chbxrd.gif deleted file mode 100644 index 0c8bfe3..0000000 Binary files a/themes/skins/web/imgs/dhxform_web/dhxform_chbxrd.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxform_web/dhxform_image_uploading.gif b/themes/skins/web/imgs/dhxform_web/dhxform_image_uploading.gif deleted file mode 100644 index e69de29..0000000 diff --git a/themes/skins/web/imgs/dhxform_web/dhxform_upload_buttons.gif b/themes/skins/web/imgs/dhxform_web/dhxform_upload_buttons.gif deleted file mode 100644 index d92a9a7..0000000 Binary files a/themes/skins/web/imgs/dhxform_web/dhxform_upload_buttons.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxform_web/dhxform_upload_uploading.gif b/themes/skins/web/imgs/dhxform_web/dhxform_upload_uploading.gif deleted file mode 100644 index e69de29..0000000 diff --git a/themes/skins/web/imgs/dhxgrid_web/ar_left.gif b/themes/skins/web/imgs/dhxgrid_web/ar_left.gif deleted file mode 100644 index 64afbb2..0000000 Binary files a/themes/skins/web/imgs/dhxgrid_web/ar_left.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxgrid_web/ar_left_abs.gif b/themes/skins/web/imgs/dhxgrid_web/ar_left_abs.gif deleted file mode 100644 index 0a0a185..0000000 Binary files a/themes/skins/web/imgs/dhxgrid_web/ar_left_abs.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxgrid_web/ar_left_abs_dis.gif b/themes/skins/web/imgs/dhxgrid_web/ar_left_abs_dis.gif deleted file mode 100644 index 41dbb1e..0000000 Binary files a/themes/skins/web/imgs/dhxgrid_web/ar_left_abs_dis.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxgrid_web/ar_left_dis.gif b/themes/skins/web/imgs/dhxgrid_web/ar_left_dis.gif deleted file mode 100644 index bc062b7..0000000 Binary files a/themes/skins/web/imgs/dhxgrid_web/ar_left_dis.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxgrid_web/ar_right.gif b/themes/skins/web/imgs/dhxgrid_web/ar_right.gif deleted file mode 100644 index affcb19..0000000 Binary files a/themes/skins/web/imgs/dhxgrid_web/ar_right.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxgrid_web/ar_right_abs.gif b/themes/skins/web/imgs/dhxgrid_web/ar_right_abs.gif deleted file mode 100644 index 647f3d7..0000000 Binary files a/themes/skins/web/imgs/dhxgrid_web/ar_right_abs.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxgrid_web/ar_right_abs_dis.gif b/themes/skins/web/imgs/dhxgrid_web/ar_right_abs_dis.gif deleted file mode 100644 index 3037b61..0000000 Binary files a/themes/skins/web/imgs/dhxgrid_web/ar_right_abs_dis.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxgrid_web/ar_right_dis.gif b/themes/skins/web/imgs/dhxgrid_web/ar_right_dis.gif deleted file mode 100644 index 8a1894c..0000000 Binary files a/themes/skins/web/imgs/dhxgrid_web/ar_right_dis.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxgrid_web/blank.gif b/themes/skins/web/imgs/dhxgrid_web/blank.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/skins/web/imgs/dhxgrid_web/blank.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxgrid_web/combo_select_dhx_web.gif b/themes/skins/web/imgs/dhxgrid_web/combo_select_dhx_web.gif deleted file mode 100644 index 57e5ece..0000000 Binary files a/themes/skins/web/imgs/dhxgrid_web/combo_select_dhx_web.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxgrid_web/dyn_.gif b/themes/skins/web/imgs/dhxgrid_web/dyn_.gif deleted file mode 100644 index 361094a..0000000 Binary files a/themes/skins/web/imgs/dhxgrid_web/dyn_.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxgrid_web/dyn_down.gif b/themes/skins/web/imgs/dhxgrid_web/dyn_down.gif deleted file mode 100644 index e8acb70..0000000 Binary files a/themes/skins/web/imgs/dhxgrid_web/dyn_down.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxgrid_web/dyn_up.gif b/themes/skins/web/imgs/dhxgrid_web/dyn_up.gif deleted file mode 100644 index bee4e0d..0000000 Binary files a/themes/skins/web/imgs/dhxgrid_web/dyn_up.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxgrid_web/imageloaderror.gif b/themes/skins/web/imgs/dhxgrid_web/imageloaderror.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/skins/web/imgs/dhxgrid_web/imageloaderror.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxgrid_web/item_chk0.gif b/themes/skins/web/imgs/dhxgrid_web/item_chk0.gif deleted file mode 100644 index da3735e..0000000 Binary files a/themes/skins/web/imgs/dhxgrid_web/item_chk0.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxgrid_web/item_chk0_dis.gif b/themes/skins/web/imgs/dhxgrid_web/item_chk0_dis.gif deleted file mode 100644 index b671972..0000000 Binary files a/themes/skins/web/imgs/dhxgrid_web/item_chk0_dis.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxgrid_web/item_chk1.gif b/themes/skins/web/imgs/dhxgrid_web/item_chk1.gif deleted file mode 100644 index 4185f7e..0000000 Binary files a/themes/skins/web/imgs/dhxgrid_web/item_chk1.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxgrid_web/item_chk1_dis.gif b/themes/skins/web/imgs/dhxgrid_web/item_chk1_dis.gif deleted file mode 100644 index 66a16b7..0000000 Binary files a/themes/skins/web/imgs/dhxgrid_web/item_chk1_dis.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxgrid_web/minus.gif b/themes/skins/web/imgs/dhxgrid_web/minus.gif deleted file mode 100644 index 2a61f68..0000000 Binary files a/themes/skins/web/imgs/dhxgrid_web/minus.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxgrid_web/paging_page.gif b/themes/skins/web/imgs/dhxgrid_web/paging_page.gif deleted file mode 100644 index c5b6e66..0000000 Binary files a/themes/skins/web/imgs/dhxgrid_web/paging_page.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxgrid_web/paging_pages.gif b/themes/skins/web/imgs/dhxgrid_web/paging_pages.gif deleted file mode 100644 index f5cb3ff..0000000 Binary files a/themes/skins/web/imgs/dhxgrid_web/paging_pages.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxgrid_web/paging_rows.gif b/themes/skins/web/imgs/dhxgrid_web/paging_rows.gif deleted file mode 100644 index 2e1c216..0000000 Binary files a/themes/skins/web/imgs/dhxgrid_web/paging_rows.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxgrid_web/plus.gif b/themes/skins/web/imgs/dhxgrid_web/plus.gif deleted file mode 100644 index 2a61f68..0000000 Binary files a/themes/skins/web/imgs/dhxgrid_web/plus.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxgrid_web/radio_chk0.gif b/themes/skins/web/imgs/dhxgrid_web/radio_chk0.gif deleted file mode 100644 index a4c2458..0000000 Binary files a/themes/skins/web/imgs/dhxgrid_web/radio_chk0.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxgrid_web/radio_chk0_dis.gif b/themes/skins/web/imgs/dhxgrid_web/radio_chk0_dis.gif deleted file mode 100644 index 1a63dd1..0000000 Binary files a/themes/skins/web/imgs/dhxgrid_web/radio_chk0_dis.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxgrid_web/radio_chk1.gif b/themes/skins/web/imgs/dhxgrid_web/radio_chk1.gif deleted file mode 100644 index 0d37265..0000000 Binary files a/themes/skins/web/imgs/dhxgrid_web/radio_chk1.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxgrid_web/radio_chk1_dis.gif b/themes/skins/web/imgs/dhxgrid_web/radio_chk1_dis.gif deleted file mode 100644 index 8c7fff6..0000000 Binary files a/themes/skins/web/imgs/dhxgrid_web/radio_chk1_dis.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxgrid_web/separator.png b/themes/skins/web/imgs/dhxgrid_web/separator.png deleted file mode 100644 index 55018fc..0000000 Binary files a/themes/skins/web/imgs/dhxgrid_web/separator.png and /dev/null differ diff --git a/themes/skins/web/imgs/dhxgrid_web/sort_asc.gif b/themes/skins/web/imgs/dhxgrid_web/sort_asc.gif deleted file mode 100644 index 9e23fbe..0000000 Binary files a/themes/skins/web/imgs/dhxgrid_web/sort_asc.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxgrid_web/sort_desc.gif b/themes/skins/web/imgs/dhxgrid_web/sort_desc.gif deleted file mode 100644 index 015b1a8..0000000 Binary files a/themes/skins/web/imgs/dhxgrid_web/sort_desc.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxgrid_web/tree/blank.gif b/themes/skins/web/imgs/dhxgrid_web/tree/blank.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/skins/web/imgs/dhxgrid_web/tree/blank.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxgrid_web/tree/folder.gif b/themes/skins/web/imgs/dhxgrid_web/tree/folder.gif deleted file mode 100644 index 4b7e76d..0000000 Binary files a/themes/skins/web/imgs/dhxgrid_web/tree/folder.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxgrid_web/tree/leaf.gif b/themes/skins/web/imgs/dhxgrid_web/tree/leaf.gif deleted file mode 100644 index deca307..0000000 Binary files a/themes/skins/web/imgs/dhxgrid_web/tree/leaf.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxgrid_web/tree/line.gif b/themes/skins/web/imgs/dhxgrid_web/tree/line.gif deleted file mode 100644 index b4f560c..0000000 Binary files a/themes/skins/web/imgs/dhxgrid_web/tree/line.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxgrid_web/tree/line1.gif b/themes/skins/web/imgs/dhxgrid_web/tree/line1.gif deleted file mode 100644 index b4f560c..0000000 Binary files a/themes/skins/web/imgs/dhxgrid_web/tree/line1.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxgrid_web/tree/line2.gif b/themes/skins/web/imgs/dhxgrid_web/tree/line2.gif deleted file mode 100644 index 23b2ce3..0000000 Binary files a/themes/skins/web/imgs/dhxgrid_web/tree/line2.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxgrid_web/tree/line3.gif b/themes/skins/web/imgs/dhxgrid_web/tree/line3.gif deleted file mode 100644 index 43152c5..0000000 Binary files a/themes/skins/web/imgs/dhxgrid_web/tree/line3.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxgrid_web/tree/line4.gif b/themes/skins/web/imgs/dhxgrid_web/tree/line4.gif deleted file mode 100644 index 907fe7a..0000000 Binary files a/themes/skins/web/imgs/dhxgrid_web/tree/line4.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxgrid_web/tree/minus.gif b/themes/skins/web/imgs/dhxgrid_web/tree/minus.gif deleted file mode 100644 index 77d3b97..0000000 Binary files a/themes/skins/web/imgs/dhxgrid_web/tree/minus.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxgrid_web/tree/minus1.gif b/themes/skins/web/imgs/dhxgrid_web/tree/minus1.gif deleted file mode 100644 index a31abe2..0000000 Binary files a/themes/skins/web/imgs/dhxgrid_web/tree/minus1.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxgrid_web/tree/minus2.gif b/themes/skins/web/imgs/dhxgrid_web/tree/minus2.gif deleted file mode 100644 index 9828911..0000000 Binary files a/themes/skins/web/imgs/dhxgrid_web/tree/minus2.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxgrid_web/tree/minus3.gif b/themes/skins/web/imgs/dhxgrid_web/tree/minus3.gif deleted file mode 100644 index df8b060..0000000 Binary files a/themes/skins/web/imgs/dhxgrid_web/tree/minus3.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxgrid_web/tree/minus4.gif b/themes/skins/web/imgs/dhxgrid_web/tree/minus4.gif deleted file mode 100644 index 2b456f8..0000000 Binary files a/themes/skins/web/imgs/dhxgrid_web/tree/minus4.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxgrid_web/tree/minus5.gif b/themes/skins/web/imgs/dhxgrid_web/tree/minus5.gif deleted file mode 100644 index 2827d81..0000000 Binary files a/themes/skins/web/imgs/dhxgrid_web/tree/minus5.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxgrid_web/tree/plus.gif b/themes/skins/web/imgs/dhxgrid_web/tree/plus.gif deleted file mode 100644 index 7e2bf79..0000000 Binary files a/themes/skins/web/imgs/dhxgrid_web/tree/plus.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxgrid_web/tree/plus1.gif b/themes/skins/web/imgs/dhxgrid_web/tree/plus1.gif deleted file mode 100644 index 7b723c2..0000000 Binary files a/themes/skins/web/imgs/dhxgrid_web/tree/plus1.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxgrid_web/tree/plus2.gif b/themes/skins/web/imgs/dhxgrid_web/tree/plus2.gif deleted file mode 100644 index d5aa3b7..0000000 Binary files a/themes/skins/web/imgs/dhxgrid_web/tree/plus2.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxgrid_web/tree/plus3.gif b/themes/skins/web/imgs/dhxgrid_web/tree/plus3.gif deleted file mode 100644 index 165bd73..0000000 Binary files a/themes/skins/web/imgs/dhxgrid_web/tree/plus3.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxgrid_web/tree/plus4.gif b/themes/skins/web/imgs/dhxgrid_web/tree/plus4.gif deleted file mode 100644 index e87b3c6..0000000 Binary files a/themes/skins/web/imgs/dhxgrid_web/tree/plus4.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxgrid_web/tree/plus5.gif b/themes/skins/web/imgs/dhxgrid_web/tree/plus5.gif deleted file mode 100644 index 3dd3987..0000000 Binary files a/themes/skins/web/imgs/dhxgrid_web/tree/plus5.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxlayout_web/dhxlayout_cell_btns.gif b/themes/skins/web/imgs/dhxlayout_web/dhxlayout_cell_btns.gif deleted file mode 100644 index 0f838a8..0000000 Binary files a/themes/skins/web/imgs/dhxlayout_web/dhxlayout_cell_btns.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxlayout_web/dhxlayout_cell_progress.gif b/themes/skins/web/imgs/dhxlayout_web/dhxlayout_cell_progress.gif deleted file mode 100644 index e69de29..0000000 diff --git a/themes/skins/web/imgs/dhxlayout_web/dhxlayout_sep_h.gif b/themes/skins/web/imgs/dhxlayout_web/dhxlayout_sep_h.gif deleted file mode 100644 index a048888..0000000 Binary files a/themes/skins/web/imgs/dhxlayout_web/dhxlayout_sep_h.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxlayout_web/dhxlayout_sep_v.gif b/themes/skins/web/imgs/dhxlayout_web/dhxlayout_sep_v.gif deleted file mode 100644 index 97860f6..0000000 Binary files a/themes/skins/web/imgs/dhxlayout_web/dhxlayout_sep_v.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxmenu_web/dhxmenu_arrow_down.gif b/themes/skins/web/imgs/dhxmenu_web/dhxmenu_arrow_down.gif deleted file mode 100644 index ec0f165..0000000 Binary files a/themes/skins/web/imgs/dhxmenu_web/dhxmenu_arrow_down.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxmenu_web/dhxmenu_arrow_down_dis.gif b/themes/skins/web/imgs/dhxmenu_web/dhxmenu_arrow_down_dis.gif deleted file mode 100644 index 6a13258..0000000 Binary files a/themes/skins/web/imgs/dhxmenu_web/dhxmenu_arrow_down_dis.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxmenu_web/dhxmenu_arrow_up.gif b/themes/skins/web/imgs/dhxmenu_web/dhxmenu_arrow_up.gif deleted file mode 100644 index 6a168a1..0000000 Binary files a/themes/skins/web/imgs/dhxmenu_web/dhxmenu_arrow_up.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxmenu_web/dhxmenu_arrow_up_dis.gif b/themes/skins/web/imgs/dhxmenu_web/dhxmenu_arrow_up_dis.gif deleted file mode 100644 index d56d974..0000000 Binary files a/themes/skins/web/imgs/dhxmenu_web/dhxmenu_arrow_up_dis.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxmenu_web/dhxmenu_chrd.gif b/themes/skins/web/imgs/dhxmenu_web/dhxmenu_chrd.gif deleted file mode 100644 index 834fef8..0000000 Binary files a/themes/skins/web/imgs/dhxmenu_web/dhxmenu_chrd.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxmenu_web/dhxmenu_loader.gif b/themes/skins/web/imgs/dhxmenu_web/dhxmenu_loader.gif deleted file mode 100644 index e69de29..0000000 diff --git a/themes/skins/web/imgs/dhxmenu_web/dhxmenu_subar.gif b/themes/skins/web/imgs/dhxmenu_web/dhxmenu_subar.gif deleted file mode 100644 index 7c1f478..0000000 Binary files a/themes/skins/web/imgs/dhxmenu_web/dhxmenu_subar.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxpopup_web/dhxpopup_arrow_bottom.gif b/themes/skins/web/imgs/dhxpopup_web/dhxpopup_arrow_bottom.gif deleted file mode 100644 index 354ce70..0000000 Binary files a/themes/skins/web/imgs/dhxpopup_web/dhxpopup_arrow_bottom.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxpopup_web/dhxpopup_arrow_left.gif b/themes/skins/web/imgs/dhxpopup_web/dhxpopup_arrow_left.gif deleted file mode 100644 index 1c52ed6..0000000 Binary files a/themes/skins/web/imgs/dhxpopup_web/dhxpopup_arrow_left.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxpopup_web/dhxpopup_arrow_right.gif b/themes/skins/web/imgs/dhxpopup_web/dhxpopup_arrow_right.gif deleted file mode 100644 index d70300f..0000000 Binary files a/themes/skins/web/imgs/dhxpopup_web/dhxpopup_arrow_right.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxpopup_web/dhxpopup_arrow_top.gif b/themes/skins/web/imgs/dhxpopup_web/dhxpopup_arrow_top.gif deleted file mode 100644 index 61a7201..0000000 Binary files a/themes/skins/web/imgs/dhxpopup_web/dhxpopup_arrow_top.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxribbon_web/dhxribbon_arrow.gif b/themes/skins/web/imgs/dhxribbon_web/dhxribbon_arrow.gif deleted file mode 100644 index a567170..0000000 Binary files a/themes/skins/web/imgs/dhxribbon_web/dhxribbon_arrow.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxribbon_web/dhxribbon_checked.gif b/themes/skins/web/imgs/dhxribbon_web/dhxribbon_checked.gif deleted file mode 100644 index 581be21..0000000 Binary files a/themes/skins/web/imgs/dhxribbon_web/dhxribbon_checked.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxribbon_web/dhxribbon_checked_dis.gif b/themes/skins/web/imgs/dhxribbon_web/dhxribbon_checked_dis.gif deleted file mode 100644 index 0588c82..0000000 Binary files a/themes/skins/web/imgs/dhxribbon_web/dhxribbon_checked_dis.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxsidebar_web/dhxsidebar_arrow_down.gif b/themes/skins/web/imgs/dhxsidebar_web/dhxsidebar_arrow_down.gif deleted file mode 100644 index 5911448..0000000 Binary files a/themes/skins/web/imgs/dhxsidebar_web/dhxsidebar_arrow_down.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxsidebar_web/dhxsidebar_arrow_up.gif b/themes/skins/web/imgs/dhxsidebar_web/dhxsidebar_arrow_up.gif deleted file mode 100644 index 1bb22cd..0000000 Binary files a/themes/skins/web/imgs/dhxsidebar_web/dhxsidebar_arrow_up.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxsidebar_web/dhxsidebar_cell_progress.gif b/themes/skins/web/imgs/dhxsidebar_web/dhxsidebar_cell_progress.gif deleted file mode 100644 index e69de29..0000000 diff --git a/themes/skins/web/imgs/dhxsidebar_web/dhxsidebar_side_icon.gif b/themes/skins/web/imgs/dhxsidebar_web/dhxsidebar_side_icon.gif deleted file mode 100644 index e69de29..0000000 diff --git a/themes/skins/web/imgs/dhxtabbar_web/dhxtabbar_arrows.gif b/themes/skins/web/imgs/dhxtabbar_web/dhxtabbar_arrows.gif deleted file mode 100644 index 4237b6c..0000000 Binary files a/themes/skins/web/imgs/dhxtabbar_web/dhxtabbar_arrows.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxtabbar_web/dhxtabbar_button_close.gif b/themes/skins/web/imgs/dhxtabbar_web/dhxtabbar_button_close.gif deleted file mode 100644 index 1f2ed14..0000000 Binary files a/themes/skins/web/imgs/dhxtabbar_web/dhxtabbar_button_close.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxtabbar_web/dhxtabbar_cell_progress.gif b/themes/skins/web/imgs/dhxtabbar_web/dhxtabbar_cell_progress.gif deleted file mode 100644 index e69de29..0000000 diff --git a/themes/skins/web/imgs/dhxtoolbar_web/dhxtoolbar_arrow.gif b/themes/skins/web/imgs/dhxtoolbar_web/dhxtoolbar_arrow.gif deleted file mode 100644 index 1803a1e..0000000 Binary files a/themes/skins/web/imgs/dhxtoolbar_web/dhxtoolbar_arrow.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxtoolbar_web/dhxtoolbar_arrow_dis.gif b/themes/skins/web/imgs/dhxtoolbar_web/dhxtoolbar_arrow_dis.gif deleted file mode 100644 index ba44086..0000000 Binary files a/themes/skins/web/imgs/dhxtoolbar_web/dhxtoolbar_arrow_dis.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxtree_web/blank.gif b/themes/skins/web/imgs/dhxtree_web/blank.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/skins/web/imgs/dhxtree_web/blank.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxtree_web/but_cut.gif b/themes/skins/web/imgs/dhxtree_web/but_cut.gif deleted file mode 100644 index 942bd18..0000000 Binary files a/themes/skins/web/imgs/dhxtree_web/but_cut.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxtree_web/folderClosed.gif b/themes/skins/web/imgs/dhxtree_web/folderClosed.gif deleted file mode 100644 index 4b7e76d..0000000 Binary files a/themes/skins/web/imgs/dhxtree_web/folderClosed.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxtree_web/folderOpen.gif b/themes/skins/web/imgs/dhxtree_web/folderOpen.gif deleted file mode 100644 index 29ce5e8..0000000 Binary files a/themes/skins/web/imgs/dhxtree_web/folderOpen.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxtree_web/iconCheckAll.gif b/themes/skins/web/imgs/dhxtree_web/iconCheckAll.gif deleted file mode 100644 index 4185f7e..0000000 Binary files a/themes/skins/web/imgs/dhxtree_web/iconCheckAll.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxtree_web/iconCheckDis.gif b/themes/skins/web/imgs/dhxtree_web/iconCheckDis.gif deleted file mode 100644 index 8240732..0000000 Binary files a/themes/skins/web/imgs/dhxtree_web/iconCheckDis.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxtree_web/iconCheckGray.gif b/themes/skins/web/imgs/dhxtree_web/iconCheckGray.gif deleted file mode 100644 index f623f57..0000000 Binary files a/themes/skins/web/imgs/dhxtree_web/iconCheckGray.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxtree_web/iconUncheckAll.gif b/themes/skins/web/imgs/dhxtree_web/iconUncheckAll.gif deleted file mode 100644 index da3735e..0000000 Binary files a/themes/skins/web/imgs/dhxtree_web/iconUncheckAll.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxtree_web/iconUncheckDis.gif b/themes/skins/web/imgs/dhxtree_web/iconUncheckDis.gif deleted file mode 100644 index d0ad42c..0000000 Binary files a/themes/skins/web/imgs/dhxtree_web/iconUncheckDis.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxtree_web/leaf.gif b/themes/skins/web/imgs/dhxtree_web/leaf.gif deleted file mode 100644 index 26ace02..0000000 Binary files a/themes/skins/web/imgs/dhxtree_web/leaf.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxtree_web/line.gif b/themes/skins/web/imgs/dhxtree_web/line.gif deleted file mode 100644 index 111b5b9..0000000 Binary files a/themes/skins/web/imgs/dhxtree_web/line.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxtree_web/line1.gif b/themes/skins/web/imgs/dhxtree_web/line1.gif deleted file mode 100644 index 111b5b9..0000000 Binary files a/themes/skins/web/imgs/dhxtree_web/line1.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxtree_web/line1_rtl.gif b/themes/skins/web/imgs/dhxtree_web/line1_rtl.gif deleted file mode 100644 index dbe3962..0000000 Binary files a/themes/skins/web/imgs/dhxtree_web/line1_rtl.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxtree_web/line2.gif b/themes/skins/web/imgs/dhxtree_web/line2.gif deleted file mode 100644 index e81a411..0000000 Binary files a/themes/skins/web/imgs/dhxtree_web/line2.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxtree_web/line2_rtl.gif b/themes/skins/web/imgs/dhxtree_web/line2_rtl.gif deleted file mode 100644 index 319b0c5..0000000 Binary files a/themes/skins/web/imgs/dhxtree_web/line2_rtl.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxtree_web/line3.gif b/themes/skins/web/imgs/dhxtree_web/line3.gif deleted file mode 100644 index 20a92c9..0000000 Binary files a/themes/skins/web/imgs/dhxtree_web/line3.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxtree_web/line3_rtl.gif b/themes/skins/web/imgs/dhxtree_web/line3_rtl.gif deleted file mode 100644 index 807a1e4..0000000 Binary files a/themes/skins/web/imgs/dhxtree_web/line3_rtl.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxtree_web/line4.gif b/themes/skins/web/imgs/dhxtree_web/line4.gif deleted file mode 100644 index 7aa993e..0000000 Binary files a/themes/skins/web/imgs/dhxtree_web/line4.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxtree_web/line4_rtl.gif b/themes/skins/web/imgs/dhxtree_web/line4_rtl.gif deleted file mode 100644 index 3a99329..0000000 Binary files a/themes/skins/web/imgs/dhxtree_web/line4_rtl.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxtree_web/lock.gif b/themes/skins/web/imgs/dhxtree_web/lock.gif deleted file mode 100644 index 49b855a..0000000 Binary files a/themes/skins/web/imgs/dhxtree_web/lock.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxtree_web/minus.gif b/themes/skins/web/imgs/dhxtree_web/minus.gif deleted file mode 100644 index a35c101..0000000 Binary files a/themes/skins/web/imgs/dhxtree_web/minus.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxtree_web/minus1.gif b/themes/skins/web/imgs/dhxtree_web/minus1.gif deleted file mode 100644 index bb06f41..0000000 Binary files a/themes/skins/web/imgs/dhxtree_web/minus1.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxtree_web/minus2.gif b/themes/skins/web/imgs/dhxtree_web/minus2.gif deleted file mode 100644 index 176dc2f..0000000 Binary files a/themes/skins/web/imgs/dhxtree_web/minus2.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxtree_web/minus2_rtl.gif b/themes/skins/web/imgs/dhxtree_web/minus2_rtl.gif deleted file mode 100644 index bdcf353..0000000 Binary files a/themes/skins/web/imgs/dhxtree_web/minus2_rtl.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxtree_web/minus3.gif b/themes/skins/web/imgs/dhxtree_web/minus3.gif deleted file mode 100644 index ebb2703..0000000 Binary files a/themes/skins/web/imgs/dhxtree_web/minus3.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxtree_web/minus3_rtl.gif b/themes/skins/web/imgs/dhxtree_web/minus3_rtl.gif deleted file mode 100644 index ff7b913..0000000 Binary files a/themes/skins/web/imgs/dhxtree_web/minus3_rtl.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxtree_web/minus4.gif b/themes/skins/web/imgs/dhxtree_web/minus4.gif deleted file mode 100644 index 5083dba..0000000 Binary files a/themes/skins/web/imgs/dhxtree_web/minus4.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxtree_web/minus4_rtl.gif b/themes/skins/web/imgs/dhxtree_web/minus4_rtl.gif deleted file mode 100644 index a19ffdc..0000000 Binary files a/themes/skins/web/imgs/dhxtree_web/minus4_rtl.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxtree_web/minus5.gif b/themes/skins/web/imgs/dhxtree_web/minus5.gif deleted file mode 100644 index f4c78f3..0000000 Binary files a/themes/skins/web/imgs/dhxtree_web/minus5.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxtree_web/minus5_rtl.gif b/themes/skins/web/imgs/dhxtree_web/minus5_rtl.gif deleted file mode 100644 index 886452a..0000000 Binary files a/themes/skins/web/imgs/dhxtree_web/minus5_rtl.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxtree_web/plus.gif b/themes/skins/web/imgs/dhxtree_web/plus.gif deleted file mode 100644 index d2e942b..0000000 Binary files a/themes/skins/web/imgs/dhxtree_web/plus.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxtree_web/plus1.gif b/themes/skins/web/imgs/dhxtree_web/plus1.gif deleted file mode 100644 index adb0be2..0000000 Binary files a/themes/skins/web/imgs/dhxtree_web/plus1.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxtree_web/plus2.gif b/themes/skins/web/imgs/dhxtree_web/plus2.gif deleted file mode 100644 index de0fd01..0000000 Binary files a/themes/skins/web/imgs/dhxtree_web/plus2.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxtree_web/plus2_rtl.gif b/themes/skins/web/imgs/dhxtree_web/plus2_rtl.gif deleted file mode 100644 index c1e1545..0000000 Binary files a/themes/skins/web/imgs/dhxtree_web/plus2_rtl.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxtree_web/plus3.gif b/themes/skins/web/imgs/dhxtree_web/plus3.gif deleted file mode 100644 index 41fa3d2..0000000 Binary files a/themes/skins/web/imgs/dhxtree_web/plus3.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxtree_web/plus3_rtl.gif b/themes/skins/web/imgs/dhxtree_web/plus3_rtl.gif deleted file mode 100644 index a5917d6..0000000 Binary files a/themes/skins/web/imgs/dhxtree_web/plus3_rtl.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxtree_web/plus4.gif b/themes/skins/web/imgs/dhxtree_web/plus4.gif deleted file mode 100644 index 94d646e..0000000 Binary files a/themes/skins/web/imgs/dhxtree_web/plus4.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxtree_web/plus4_rtl.gif b/themes/skins/web/imgs/dhxtree_web/plus4_rtl.gif deleted file mode 100644 index a22d55a..0000000 Binary files a/themes/skins/web/imgs/dhxtree_web/plus4_rtl.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxtree_web/plus5.gif b/themes/skins/web/imgs/dhxtree_web/plus5.gif deleted file mode 100644 index bda4f7c..0000000 Binary files a/themes/skins/web/imgs/dhxtree_web/plus5.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxtree_web/plus5_rtl.gif b/themes/skins/web/imgs/dhxtree_web/plus5_rtl.gif deleted file mode 100644 index 4cd59e6..0000000 Binary files a/themes/skins/web/imgs/dhxtree_web/plus5_rtl.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxtree_web/radio_off.gif b/themes/skins/web/imgs/dhxtree_web/radio_off.gif deleted file mode 100644 index 135f689..0000000 Binary files a/themes/skins/web/imgs/dhxtree_web/radio_off.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxtree_web/radio_on.gif b/themes/skins/web/imgs/dhxtree_web/radio_on.gif deleted file mode 100644 index df17dd3..0000000 Binary files a/themes/skins/web/imgs/dhxtree_web/radio_on.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxvault_web/dhxvault_buttons.gif b/themes/skins/web/imgs/dhxvault_web/dhxvault_buttons.gif deleted file mode 100644 index 8748017..0000000 Binary files a/themes/skins/web/imgs/dhxvault_web/dhxvault_buttons.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxvault_web/dhxvault_icons.gif b/themes/skins/web/imgs/dhxvault_web/dhxvault_icons.gif deleted file mode 100644 index 5303bc6..0000000 Binary files a/themes/skins/web/imgs/dhxvault_web/dhxvault_icons.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxvault_web/dhxvault_loader.gif b/themes/skins/web/imgs/dhxvault_web/dhxvault_loader.gif deleted file mode 100644 index e69de29..0000000 diff --git a/themes/skins/web/imgs/dhxvault_web/dhxvault_progress.gif b/themes/skins/web/imgs/dhxvault_web/dhxvault_progress.gif deleted file mode 100644 index e69de29..0000000 diff --git a/themes/skins/web/imgs/dhxvault_web/icons_licence.txt b/themes/skins/web/imgs/dhxvault_web/icons_licence.txt deleted file mode 100644 index b32c3e3..0000000 --- a/themes/skins/web/imgs/dhxvault_web/icons_licence.txt +++ /dev/null @@ -1,2 +0,0 @@ -These icons are licensed under a Creative Commons Attribution 3.0 License -http://fatcow.com/ \ No newline at end of file diff --git a/themes/skins/web/imgs/dhxwins_web/dhxwins_buttons.gif b/themes/skins/web/imgs/dhxwins_web/dhxwins_buttons.gif deleted file mode 100644 index 314f3b6..0000000 Binary files a/themes/skins/web/imgs/dhxwins_web/dhxwins_buttons.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxwins_web/dhxwins_icon.gif b/themes/skins/web/imgs/dhxwins_web/dhxwins_icon.gif deleted file mode 100644 index 1d7a320..0000000 Binary files a/themes/skins/web/imgs/dhxwins_web/dhxwins_icon.gif and /dev/null differ diff --git a/themes/skins/web/imgs/dhxwins_web/dhxwins_progress.gif b/themes/skins/web/imgs/dhxwins_web/dhxwins_progress.gif deleted file mode 100644 index e69de29..0000000 diff --git a/themes/skins/web/readme.txt b/themes/skins/web/readme.txt deleted file mode 100644 index 8712846..0000000 --- a/themes/skins/web/readme.txt +++ /dev/null @@ -1,2 +0,0 @@ -To change your skin please follow the link: -https://dhtmlx.com/docs/products/skinBuilder/index.shtml#e29824ef81 \ No newline at end of file diff --git a/themes/skins/web_20191028/dhtmlx.css b/themes/skins/web_20191028/dhtmlx.css deleted file mode 100644 index 63cfad8..0000000 --- a/themes/skins/web_20191028/dhtmlx.css +++ /dev/null @@ -1,9 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -.dhtmlxcalendar_dhx_web{position:absolute;display:block;background-color:#fff;font-family:Tahoma,Helvetica;font-size:12px;color:#000;}.dhtmlxcalendar_dhx_web.dhtmlxcalendar_in_input{box-shadow:0 0 6px rgba(0,0,0,0.25);}.dhtmlxcalendar_ifr{position:absolute;overflow:hidden;background-color:white;}.dhtmlxcalendar_dhx_web ul.dhtmlxcalendar_line{position:relative;display:block;clear:both;margin:0;padding:0;overflow:hidden;width:225px;}.dhtmlxcalendar_dhx_web ul.dhtmlxcalendar_line li{float:left;position:relative;list-style-type:none;list-style-image:none;text-align:center;vertical-align:middle;cursor:default;overflow:hidden;margin:0;padding:0;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_month_cont{position:relative;display:block;width:227px;height:27px;margin:0;background-color:#3da0e3;overflow:hidden;color:#fff;-webkit-user-select:text;-khtml-user-select:text;-moz-user-select:text;-ms-user-select:text;-o-user-select:text;user-select:text;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr{width:227px;height:27px;line-height:27px;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow{position:absolute;top:0;width:18px;height:27px;color:inherit;text-align:center;background-position:center center;background-repeat:no-repeat;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_left{left:4px;background-image:url("imgs/dhxcalendar_web/dhxcalendar_arrow_left.gif");opacity:.8;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=80);}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_left_hover{left:4px;background-image:url("imgs/dhxcalendar_web/dhxcalendar_arrow_left.gif");opacity:1;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=100);}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_right{right:4px;background-image:url("imgs/dhxcalendar_web/dhxcalendar_arrow_right.gif");opacity:.8;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=80);}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_right_hover{right:4px;background-image:url("imgs/dhxcalendar_web/dhxcalendar_arrow_right.gif");opacity:1;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=100);}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr span.dhtmlxcalendar_month_label_month,.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr span.dhtmlxcalendar_month_label_year{position:relative;font-weight:bold;color:inherit;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_today,.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_clear{display:none;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_today{float:right;margin-right:8px;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_clear{float:right;margin-right:74px;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_today{float:right;margin-right:8px;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_clear{float:right;margin-right:11px;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_days_cont{position:relative;display:block;width:225px;margin:0;border-left:1px solid #c7c7c7;border-right:1px solid #c7c7c7;-webkit-user-select:text;-khtml-user-select:text;-moz-user-select:text;-ms-user-select:text;-o-user-select:text;user-select:text;overflow:hidden;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line{height:23px;background-color:#f4f4f4;border-bottom:2px solid #3da0e3;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li{color:#000;width:31px;height:23px;line-height:23px;border-left:1px solid #d5d5d5;background-color:#f4f4f4;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_first{border-left:1px solid #f4f4f4;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_day_weekday_cell{color:#f1586a;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_day_weekday_cell_first{color:#f1586a;border-left:1px solid #f4f4f4;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont{-webkit-tap-highlight-color:rgba(0,0,0,0);position:relative;display:block;width:225px;margin:0;padding-bottom:1px;border-left:1px solid #c7c7c7;border-right:1px solid #c7c7c7;border-bottom:1px solid #c7c7c7;background-color:#fff;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;overflow:hidden;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line{border-top:1px solid #fff;margin-left:1px;margin-right:1px;height:26px;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li{color:#909090;width:31px;height:26px;line-height:26px;margin-right:1px;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li div.dhtmlxcalendar_label{width:100%;height:100%;text-align:center;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date,.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend{background-color:#d6d6d6;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_dis,.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_dis,.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_dis,.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_dis{color:#c4c4c4;background-color:#ededed;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_holiday,.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_holiday{color:#f1586a;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_holiday,.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_holiday{color:#f1586a;background-color:#d6d6d6;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_holiday_dis,.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_holiday_dis,.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_holiday_dis,.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_holiday_dis{color:#f1586a;background-color:#ededed;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_hover,.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_hover,.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_hover,.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_hover{background-color:#d6d6d6;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_holiday_hover,.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_holiday_hover,.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_holiday_hover,.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_holiday_hover{color:#f1586a;background-color:#d6d6d6;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month{color:#000;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend{color:#f1586a;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date{color:#000;background-color:#85d3ff;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend{color:#f1586a;background-color:#ffd1cc;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_dis,.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_dis,.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_dis,.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_dis{color:#c4c4c4;background-color:#ededed;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_holiday{color:#f1586a;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_holiday{color:#f1586a;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_holiday{color:#f1586a;background-color:#ffd1cc;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_holiday{color:#f1586a;background-color:#ffd1cc;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_holiday_dis,.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_holiday_dis,.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_holiday_dis,.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_holiday_dis{color:#f1586a;background-color:#ededed;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_hover{color:#000;background-color:#c7ebff;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_hover{color:#f1586a;background-color:#ffe7e4;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_hover{color:#000;background-color:#85d3ff;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_hover{color:#f1586a;background-color:#ffd1cc;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_holiday_hover{color:#f1586a;background-color:#ffe7e4;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_holiday_hover{color:#f1586a;background-color:#ffe7e4;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_holiday_hover{color:#f1586a;background-color:#ffd1cc;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_holiday_hover{color:#f1586a;background-color:#ffd1cc;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line div.dhtmlxcalendar_label.dhtmlxcalendar_label_title{background-image:url("imgs/dhxcalendar_web/dhxcalendar_mark.gif");background-position:top right;background-repeat:no-repeat;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont{position:relative;display:block;width:227px;height:27px;margin-top:-1px;background-color:#3da0e3;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;color:#fff;overflow:hidden;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li{width:227px;height:27px;line-height:25px;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr{text-align:left;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li div.dhtmlxcalendar_time_img{position:absolute;left:11px;top:7px;width:13px;height:13px;background-image:url("imgs/dhxcalendar_web/dhxcalendar_clock.gif");background-position:center center;background-repeat:no-repeat;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_hours{margin-left:30px;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li div.dhtmlxcalendar_time_img{left:75px;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr{text-align:center;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_hours{margin-left:0;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr div.dhtmlxcalendar_time_img,.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_hours,.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_minutes,.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_colon{display:none;}.dhtmlxcalendar_dhx_web span.dhtmlxcalendar_label_colon{padding:0 4px;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_cover{position:absolute;left:1px;background-color:white;opacity:.5;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj{position:absolute;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_selector_obj_arrow{position:absolute;bottom:auto;top:0;left:0;width:100%;height:9px;overflow:hidden;background-image:url("imgs/dhxcalendar_web/dhxcalendar_selector_top.gif");background-position:top center;background-repeat:no-repeat;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours div.dhtmlxcalendar_selector_obj_arrow{background-position:-13px top;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 div.dhtmlxcalendar_selector_obj_arrow{background-position:-53px top;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_selector_obj_arrow{background-position:-51px top;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table{border:1px solid #c7c7c7;background-color:white;border-top:none;margin-top:9px;box-shadow:0 0 3px rgba(0,0,0,0.35);}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left{width:17px;text-align:center;border-top:white 1px solid;padding:0;margin:0;background-color:#ededed;background-image:url("imgs/dhxcalendar_web/dhxcalendar_arrow_left2.gif");background-position:center center;background-repeat:no-repeat;cursor:default;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left.dhtmlxcalendar_selector_cell_left_hover{background-image:url("imgs/dhxcalendar_web/dhxcalendar_arrow_left2.gif");}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle{border-top:1px solid white;border-width:1px 0 0 0;cursor:default;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right{width:17px;text-align:center;border-top:1px solid white;border-width:1px 0 0 0;background-color:#ededed;background-image:url("imgs/dhxcalendar_web/dhxcalendar_arrow_right2.gif");background-position:center center;background-repeat:no-repeat;cursor:default;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right.dhtmlxcalendar_selector_cell_right_hover{background-image:url("imgs/dhxcalendar_web/dhxcalendar_arrow_right2.gif");}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul{display:block;clear:both;margin:0 0 0 1px;padding:0;overflow:hidden;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul li{float:left;list-style-type:none;list-style-image:none;text-align:center;vertical-align:middle;margin:0 1px 0 0;padding:0;background-color:#ededed;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:default;font-family:Tahoma,Helvetica;font-size:11px;color:#000;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul li.dhtmlxcalendar_selector_cell_active{background-color:#85d3ff;color:#000;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul li.dhtmlxcalendar_selector_cell_hover{background-color:#c7ebff;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left,.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right{display:none;width:0;border:0 solid white;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line{height:24px;border-top:none;border-bottom:1px solid white;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell{width:35px;height:24px;line-height:24px;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours div.dhtmlxcalendar_selector_obj_arrow,.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 div.dhtmlxcalendar_selector_obj_arrow,.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_selector_obj_arrow{top:auto;bottom:0;background-image:url("imgs/dhxcalendar_web/dhxcalendar_selector_bottom.gif");}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line,.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line,.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line{height:22px;border-top:none;border-bottom:1px solid white;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell,.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell,.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell{width:24px;height:22px;line-height:22px;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left,.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right,.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left,.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right,.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left,.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right{display:none;width:0;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table,.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table,.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table{margin-top:0;margin-bottom:9px;border-top:1px solid #c7c7c7;border-bottom:none;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_month,.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_year,.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_hours,.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_hours2,.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_minutes,.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_minutes4,.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_minutes5{display:none;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month div.dhtmlxcalendar_area_selector_month,.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_year div.dhtmlxcalendar_area_selector_year,.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours div.dhtmlxcalendar_area_selector_hours,.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 div.dhtmlxcalendar_area_selector_hours,.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_area_selector_minutes,.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_area_selector_minutes4,.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_area_selector_minutes5{display:block;}.dhtmlxcalendar_dhx_web span.dhtmlxcalendar_label_minutes span.dhtmlxcalendar_selected_date{border-bottom:2px solid red;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn,.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn{display:none;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell{width:27px;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_wn div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell{width:27px;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_first,.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell{width:27px;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn{display:block;width:27px;color:#3da0e3;background-color:#f4f4f4;border-left:1px solid #f4f4f4;border-right:1px solid #d5d5d5;margin-right:0;}.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_wn div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn{display:block;width:27px;color:#3da0e3;background-color:#f4f4f4;}div.dhtmlxcalendar_skin_detect{position:absolute;display:block;visibility:hidden;left:-100px;top:0;width:20px;height:10px;margin:0;padding:0;border:none;overflow:hidden;}div.dhxcombo_dhx_web{position:relative;border:1px solid #d6d6d6;overflow:hidden;vertical-align:middle;background-color:white;font-size:1px;height:22px;-webkit-tap-highlight-color:rgba(0,0,0,0);}div.dhxcombo_dhx_web input.dhxcombo_input{position:absolute;left:1px;top:0;height:22px;line-height:21px;*height:20px;*line-height:19px;border:0 solid white;outline:0 solid white;padding:0;margin:0 0 0 4px;background-color:white;font-family:Tahoma,Helvetica;font-size:12px;color:black;vertical-align:top;}div.dhxcombo_dhx_web input.dhxcombo_input::-ms-clear{display:none;}div.dhxcombo_dhx_web div.dhxcombo_select_button{position:absolute;width:18px;height:18px;top:2px;right:2px;font-size:1px;background-color:#3da0e3;cursor:pointer;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;overflow:hidden;}div.dhxcombo_dhx_web div.dhxcombo_select_button div.dhxcombo_select_img{position:relative;width:100%;height:100%;background-image:url("imgs/dhxcombo_web/dhxcombo_arrow_down.gif");background-repeat:no-repeat;background-position:center center;}div.dhxcombo_dhx_web div.dhxcombo_top_image{position:absolute;left:0;top:0;width:26px;height:22px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;overflow:hidden;cursor:default;}div.dhxcombo_dhx_web div.dhxcombo_top_image div.dhxcombo_image{*top:0;}div.dhxcombolist_dhx_web{position:absolute;border:1px solid #fff;*border:1px solid #ccc;box-shadow:0 3px 6px rgba(0,0,0,0.35);background-color:#f4f4f4;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;overflow-x:none;overflow-y:auto;-webkit-tap-highlight-color:rgba(0,0,0,0);}div.dhxcombolist_dhx_web div.dhxcombo_option{position:relative;font-size:inherit;font-family:Tahoma,Helvetica;font-size:12px;color:#000;height:24px;line-height:23px;vertical-align:middle;overflow:hidden;cursor:default;}div.dhxcombolist_dhx_web div.dhxcombo_option.dhxcombo_option_selected{background-color:#85d3ff;}div.dhxcombolist_dhx_web div.dhxcombo_option.dhxcombo_option_selected .dhxcombo_option_text{color:#000;}div.dhxcombolist_dhx_web div.dhxcombo_option div.dhxcombo_option_text{position:relative;padding:0 4px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;white-space:nowrap;}div.dhxcombolist_dhx_web div.dhxcombo_option div.dhxcombo_option_text.dhxcombo_option_text_chbx{position:relative;padding:0 4px 0 4px;margin-left:20px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;white-space:nowrap;}div.dhxcombolist_dhx_web div.dhxcombo_option div.dhxcombo_checkbox{position:absolute;left:2px;top:3px;width:18px;height:18px;background-image:url("imgs/dhxcombo_web/dhxcombo_chbx.gif");background-repeat:no-repeat;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;overflow:hidden;cursor:default;}div.dhxcombolist_dhx_web div.dhxcombo_option div.dhxcombo_checkbox.dhxcombo_chbx_0{background-position:0 0;}div.dhxcombolist_dhx_web div.dhxcombo_option div.dhxcombo_checkbox.dhxcombo_chbx_1{background-position:-18px 0;}div.dhxcombolist_dhx_web div.dhxcombo_option div.dhxcombo_option_text.dhxcombo_option_text_image{position:relative;padding:0 4px 0 4px;margin-left:20px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;white-space:nowrap;}div.dhxcombolist_dhx_web div.dhxcombo_option div.dhxcombo_image{top:3px;}div.dhxcombo_dhx_web div.dhxcombo_top_image div.dhxcombo_image,div.dhxcombolist_dhx_web div.dhxcombo_option div.dhxcombo_image{position:absolute;left:3px;top:2px;width:18px;height:18px;background-repeat:no-repeat;background-position:center center;-moz-user-select:none;overflow:hidden;cursor:default;}div.dhxcombo_dhx_web.dhxcombo_disabled{background-color:#fafafa;}div.dhxcombo_dhx_web.dhxcombo_disabled input.dhxcombo_input{color:#999;background-color:#fafafa;}div.dhxcombo_dhx_web.dhxcombo_disabled div.dhxcombo_select_button{background-color:#a6a6a6;cursor:default;}div.dhxcombo_dhx_web.dhxcombo_disabled div.dhxcombo_select_button div.dhxcombo_select_img{background-image:url("imgs/dhxcombo_web/dhxcombo_arrow_down_dis.gif");}div.dhxcombolist_dhx_web.dhxcombolist_hdr{height:27px;line-height:27px;border-color:#eaeaea;border-bottom:2px solid #53abe6;box-shadow:none;}div.dhxcombolist_dhx_web.dhxcombolist_hdr div.dhxcombo_hdrtext{position:relative;padding:0;white-space:nowrap;cursor:default;font-family:Tahoma,Helvetica;font-size:12px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}div.dhxcombolist_dhx_web.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell,div.dhxcombolist_dhx_web.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell_first{float:left;white-space:nowrap;overflow:hidden;position:relative;z-index:2;border-left:1px solid #eaeaea;padding:0;margin:0;}div.dhxcombolist_dhx_web.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell_first,div.dhxcombolist_dhx_web.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell:first-child{border-left-width:0;}div.dhxcombolist_dhx_web.dhxcombolist_multicolumn{border-top-width:0;}div.dhxcombolist_dhx_web.dhxcombolist_multicolumn div.dhxcombo_option{height:24px;line-height:24px;margin-top:-1px;z-index:0;border-top:1px solid #ededed;border-bottom:1px solid #ededed;background-color:white;}div.dhxcombolist_dhx_web.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_option_text{padding:0;}div.dhxcombolist_dhx_web.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell,div.dhxcombolist_dhx_web.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell_first{float:left;white-space:nowrap;overflow:hidden;position:relative;border-left:1px solid #ededed;padding:0;margin:0;}div.dhxcombolist_dhx_web.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell_first,div.dhxcombolist_dhx_web.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell:first-child{border-left-width:0;}div.dhxcombolist_dhx_web.dhxcombolist_multicolumn div.dhxcombo_option.dhxcombo_option_selected{z-index:1;background-color:#85d3ff;border-top-color:#85d3ff;border-bottom-color:#85d3ff;}div.dhxcombolist_dhx_web.dhxcombolist_multicolumn div.dhxcombo_option.dhxcombo_option_selected div.dhxcombo_cell{border-left-color:#85d3ff;color:#000;}div.dhxcombolist_dhx_web.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell_text,div.dhxcombolist_dhx_web.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell_text{position:relative;margin:0 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:auto;}div.dhxcombo_in_grid_parent{position:relative;height:100%;top:0;}div.dhxcombo_in_grid_parent div.dhxcombo_dhx_web{position:absolute;top:3px;left:0;border-color:#85d3ff;}div.dhxcombo_in_grid_parent input.dhxcombo_input{border-left:2px solid white;font-family:Arial;font-size:12px;}.dhxgrid_combo_icon{position:absolute;z-index:1;top:0;right:0;}.dhxcombo_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:20px;height:10px;overflow:hidden;}.dhxcolorpicker_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:20px;height:10px;overflow:hidden;}.dhtmlxcp_dhx_web .dhxcp_g_area{position:absolute;width:254px;height:272px;border:1px solid #fff;background-color:#f4f4f4;box-shadow:0 0 5px 2px #d7d7d7;border-radius:0;}.dhtmlxcp_dhx_web .dhxcp_add_memory{height:317px!important;}.dhtmlxcp_dhx_web .dhxcp_sub_area{margin:1px;width:252px;height:270px;background-color:#f4f4f4;border-radius:0;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhtmlxcp_dhx_web .dhxcp_add_memory .dhxcp_sub_area{height:229px!important;}.dhtmlxcp_dhx_web .dhxcp_g_color_area{padding:10px;width:232px;height:122px;margin:0;}.dhtmlxcp_dhx_web .dhxcp_color_selector{position:absolute;width:210px;height:120px;background-image:url("imgs/dhxcp_web/dhxcp_colors.png");background-repeat:no-repeat;border:1px solid #ececec;cursor:pointer;float:left;}.dhtmlxcp_dhx_web .dhxcp_contrast_area{border:1px solid #ececec;position:relative;height:120px;width:10px;cursor:pointer;float:right;}.dhtmlxcp_dhx_web .dhxcp_ie_gradient{height:120px;width:10px;margin:0;}.dhtmlxcp_dhx_web .dhxcp_color_selector .dhxcp_v_line{position:absolute;width:0;height:120px;border-left:1px solid #fff;cursor:pointer;overflow:hidden;}.dhtmlxcp_dhx_web .dhxcp_color_selector .dhxcp_h_line,.dhtmlxcp_dhx_web .dhxcp_contrast_area .dhxcp_h_line{position:absolute;height:0;border-top:1px solid #fff;cursor:pointer;overflow:hidden;}.dhtmlxcp_dhx_web .dhxcp_color_selector .dhxcp_h_line{width:210px;}.dhtmlxcp_dhx_web .dhxcp_contrast_area .dhxcp_h_line{width:10px;}.dhtmlxcp_dhx_web .dhxcp_g_input_area{padding:0 10px;width:232px;height:78px;margin:0;}.dhtmlxcp_dhx_web .dhxcp_value_cont{width:66px;height:78px;float:left;}.dhtmlxcp_dhx_web .dhxcp_value_color{width:62px;height:30px;border:1px solid #ececec;}.dhtmlxcp_dhx_web .dhxcp_value{width:58px;height:20px;border:1px solid #ececec;border-radius:0;background-color:#fff;margin:5px 0 0 0;padding:1px 2px;font-family:Tahoma,Helvetica;font-size:12px;color:black;text-align:left;}.dhtmlxcp_dhx_web .dhxcp_inputs_cont{border:none;border-spacing:0;width:160px;height:78px;float:right;}.dhtmlxcp_dhx_web .dhxcp_label_hsl,.dhtmlxcp_dhx_web .dhxcp_label_rgb{font-family:Tahoma,Helvetica;font-size:12px;color:#000;text-align:right;padding:0 3px 0 0;}.dhtmlxcp_dhx_web td.dhxcp_input_hsl,.dhtmlxcp_dhx_web td.dhxcp_input_rgb{width:27px;border:none;padding:0;margin:0;}.dhtmlxcp_dhx_web input.dhxcp_input_hsl,.dhtmlxcp_dhx_web input.dhxcp_input_rgb{width:25px;height:18px;border:1px solid #ececec;border-radius:0;background-color:#fff;font-family:Tahoma,Helvetica;font-size:12px;color:#000;text-align:right;padding:1px;margin:2px 0;}.dhtmlxcp_dhx_web .dhxcp_g_memory_area{width:232px;height:0;overflow:hidden;border:1px solid #ececec;border-bottom:none;border-left:none;border-right:none;margin:10px;}.dhtmlxcp_dhx_web .dhxcp_memory_button_cont{width:232px;margin:0;height:24px;}.dhtmlxcp_dhx_web .dhxcp_buttons_area button,.dhtmlxcp_dhx_web .dhxcp_memory_button_cont button{outline:none;border-radius:0;background-color:#3da0e3;border:1px solid #f4f4f4;font-family:Tahoma,Helvetica;font-size:12px;color:#fff;}.dhtmlxcp_dhx_web .dhxcp_buttons_area button:hover,.dhtmlxcp_dhx_web .dhxcp_memory_button_cont button:hover{background-color:#2a8ed2;}.dhtmlxcp_dhx_web .dhxcp_buttons_area button:active,.dhtmlxcp_dhx_web .dhxcp_memory_button_cont button:active{background-color:#2589ce;}.dhtmlxcp_dhx_web .dhxcp_save_to_memory{width:232px;height:24px;}.dhtmlxcp_dhx_web .dhxcp_save_to_memory .dhxcp_label_bm{display:inherit;width:90px;}.dhtmlxcp_dhx_web .dhxcp_memory_els_cont{width:232px;height:25px;margin-top:3px;text-align:center;}.dhtmlxcp_dhx_web .dhxcp_memory_el{width:24px;height:24px;background-color:#fff;border:1px solid #ececec;display:inline-block;margin:0 1px;}.dhtmlxcp_dhx_web .dhxcp_memory_el_select{border:1px dashed black!important;}.dhtmlxcp_dhx_web .dhxcp_memory_el_next{border:1px dashed red!important;}.dhtmlxcp_dhx_web .dhxcp_add_memory .dhxcp_g_memory_area{height:55px!important;border-top:none!important;margin:5px 10px 5px 10px;}.dhtmlxcp_dhx_web .dhxcp_buttons_area{padding:0 10px;width:232px;height:26px;text-align:right;margin:0;}.dhtmlxcp_dhx_web .dhx_button_save,.dhtmlxcp_dhx_web .dhx_button_cancel{line-height:12px;height:25px;margin:0 2px;padding:2px 10px;overflow:hidden;white-space:nowrap;}.dhxcp_colorBox{float:right;}.dhxcp_colorInput{float:left;}.dhxcp_frm{position:absolute;background-color:white;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);width:256px;height:274px;}.dhtmlxslider_dhx_web{z-index:0;}.dhtmlxslider_dhx_web .dhxsl_hidden{display:none;}.dhtmlxslider_dhx_web .dhxsl_container{position:relative;float:left;clear:left;margin:0;padding:1px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);}.dhtmlxslider_dhx_web .dhxsl_container.dhxsl_cont_hr{margin-top:5px;}.dhtmlxslider_dhx_web .dhxsl_container.dhxsl_cont_vr{margin-left:5px;}.dhtmlxslider_dhx_web .dhxsl_runner{position:absolute;width:12px;height:12px;margin:0;padding:0;overflow:hidden;border:1px solid #3da0e3;background-color:#3da0e3;-webkit-touch-callout:none;-webkit-user-select:none;-ms-touch-action:none;z-index:1;}.dhtmlxslider_dhx_web .dhxsl_runner.dhxsl_runner_actv{background-color:#2589ce;z-index:2;}.dhtmlxslider_dhx_web .dhxsl_runner_dis{border:1px solid #999;background-color:#999;}.dhtmlxslider_dhx_web .dhxsl_track{margin:0;padding:0;overflow:hidden;border:1px solid #c7c7c7;position:relative;background-color:#fff;-webkit-touch-callout:none;-webkit-user-select:none;-ms-touch-action:none;}.dhtmlxslider_dhx_web .dhxsl_track div.dhxsl_track_bg{position:absolute;background-color:#d9ecfa;font-size:1px;overflow:hidden;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhtmlxslider_dhx_web .dhxsl_cont_vr .dhxsl_track{height:100%;width:6px;}.dhtmlxslider_dhx_web .dhxsl_cont_vr .dhxsl_track div.dhxsl_track_bg{left:0;width:100%;}.dhtmlxslider_dhx_web .dhxsl_cont_hr .dhxsl_track{width:100%;height:6px;}.dhtmlxslider_dhx_web .dhxsl_cont_hr .dhxsl_track div.dhxsl_track_bg{top:0;height:100%;}.dhtmlxslider_dhx_web .dhxsl_track_dis{border:1px solid #d9d9d9;background-color:#f2f2f2;}.dhtmlxslider_dhx_web .dhxsl_track_dis div.dhxsl_track_bg{background-color:#d9d9d9;}.dhxslider_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:20px;height:10px;overflow:hidden;}div.dhx_popup_skin_detect{position:absolute;display:block;visibility:hidden;left:-100px;top:0;width:20px;height:10px;margin:0;padding:0;border:none;overflow:hidden;}div.dhx_popup_dhx_web{-webkit-tap-highlight-color:rgba(0,0,0,0);position:absolute;}div.dhx_popup_dhx_web div.dhx_popup_area{position:relative;margin:10px;padding:3px 0;border:1px solid #fff;box-shadow:0 0 6px rgba(0,0,0,0.35);*border:1px solid #c6c6c6;background-color:#f4f4f4;}div.dhx_popup_dhx_web div.dhx_popup_area td.dhx_popup_td{font-family:Tahoma,Helvetica;font-size:12px;color:#000;text-align:left;vertical-align:middle;padding:0 10px;height:24px;line-height:24px;white-space:nowrap;cursor:default;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}div.dhx_popup_dhx_web div.dhx_popup_area td.dhx_popup_td div.dhtmlxcalendar_dhx_web{position:relative;float:left;}div.dhx_popup_dhx_web div.dhx_popup_area td.dhx_popup_td *{white-space:normal;}div.dhx_popup_dhx_web div.dhx_popup_area tr.dhxnode td.dhx_popup_td{height:auto;line-height:inherit;-webkit-user-select:text;-khtml-user-select:text;-moz-user-select:text;-ms-user-select:text;-o-user-select:text;user-select:text;padding:6px!important;}div.dhx_popup_dhx_web div.dhx_popup_area tr.dhxnode td.dhx_popup_td .dhtmlxcalendar_container.dhtmlxcalendar_skin_dhx_web{position:relative!important;background-image:none;}div.dhx_popup_dhx_web div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxtree_dhx_web{background:none;}div.dhx_popup_dhx_web div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhtmlxcp_dhx_web div.dhxcp_g_area{position:relative;}div.dhx_popup_dhx_web div.dhx_popup_area tr.dhx_popup_sep td.dhx_popup_sep{font-size:1px;padding:2px 0;position:relative;}div.dhx_popup_dhx_web div.dhx_popup_area tr.dhx_popup_sep td.dhx_popup_sep div.dhx_popup_sep{position:relative;font-size:1px;line-height:1px;height:0;width:100%;border-top:1px dotted #cecece;overflow:hidden;}div.dhx_popup_dhx_web div.dhx_popup_area td.dhx_popup_td:first-child{padding-left:14px;}div.dhx_popup_dhx_web div.dhx_popup_area td.dhx_popup_td:last-child{padding-right:14px;}div.dhx_popup_dhx_web div.dhx_popup_area tr:hover td.dhx_popup_td{background-color:#85d3ff;}div.dhx_popup_dhx_web div.dhx_popup_area tr.dhxnode:hover td.dhx_popup_td{background:none;}div.dhx_popup_dhx_web div.dhx_popup_area.dhx_popup_area_ie tr.dhxnode td.dhx_popup_td{height:1em;line-height:1em;}div.dhx_popup_dhx_web div.dhx_popup_area.dhx_popup_area_ie td.dhx_popup_td.dhx_popup_td_single{padding-left:14px;padding-right:14px;}div.dhx_popup_dhx_web div.dhx_popup_area.dhx_popup_area_ie td.dhx_popup_td.dhx_popup_td_first{padding-left:14px;}div.dhx_popup_dhx_web div.dhx_popup_area.dhx_popup_area_ie td.dhx_popup_td.dhx_popup_td_last{padding-right:14px;}div.dhx_popup_dhx_web div.dhx_popup_area.dhx_popup_area_ie tr.tr_hover td.dhx_popup_td{background-color:#85d3ff;}div.dhx_popup_dhx_web div.dhx_popup_arrow{position:absolute;background-repeat:no-repeat;}div.dhx_popup_dhx_web div.dhx_popup_arrow.dhx_popup_arrow_bottom{width:19px;height:16px;background-image:url("imgs/dhxpopup_web/dhxpopup_arrow_bottom.gif");background-position:top center;}div.dhx_popup_dhx_web div.dhx_popup_arrow.dhx_popup_arrow_top{width:19px;height:16px;background-image:url("imgs/dhxpopup_web/dhxpopup_arrow_top.gif");background-position:bottom center;}div.dhx_popup_dhx_web div.dhx_popup_arrow.dhx_popup_arrow_right{width:16px;height:19px;background-image:url("imgs/dhxpopup_web/dhxpopup_arrow_right.gif");background-position:center left;}div.dhx_popup_dhx_web div.dhx_popup_arrow.dhx_popup_arrow_left{width:16px;height:19px;background-image:url("imgs/dhxpopup_web/dhxpopup_arrow_left.gif");background-position:center right;}.dhxmenu_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:20px;height:10px;overflow:hidden;}.dhtmlxMenu_dhx_web_Middle{position:relative;height:26px;border:none;background-color:#f4f4f4;overflow:hidden;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhtmlxMenu_dhx_web_Middle div.top_sep{float:left;position:relative;height:20px;width:0;border-left:1px solid #c1c1c1;margin:3px 2px 0 0;line-height:1px;font-size:1px;overflow:hidden;cursor:default;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhtmlxMenu_dhx_web_Middle img.dhtmlxMenu_TopLevel_Item_Icon{float:left;margin:2px 3px 0 3px;width:18px;height:18px;}.dhtmlxMenu_dhx_web_Middle div.dhtmlxMenu_TopLevel_Text_right{position:absolute;top:5px;left:none;right:8px;font-family:Tahoma,Helvetica;font-size:12px;color:#000;cursor:default;}.dhtmlxMenu_dhx_web_Middle div.dhtmlxMenu_TopLevel_Text_left{position:absolute;top:5px;right:none;left:8px;font-family:Tahoma,Helvetica;font-size:12px;color:#000;cursor:default;}.dhtmlxMenu_dhx_web_Middle.dir_left div.align_left{float:left;}.dhtmlxMenu_dhx_web_Middle.dir_left div.align_right{float:right;}div.dhtmlxMenu_dhx_web_TopLevel_Item_Normal,div.dhtmlxMenu_dhx_web_TopLevel_Item_Disabled,div.dhtmlxMenu_dhx_web_TopLevel_Item_Selected{position:relative;float:left;font-family:Tahoma,Helvetica;font-size:12px;color:#000;cursor:default;white-space:nowrap;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;height:22px;line-height:22px;vertical-align:middle;margin:2px 2px 0 0;padding:0 3px;}div.dhtmlxMenu_dhx_web_TopLevel_Item_Normal div.top_level_text,div.dhtmlxMenu_dhx_web_TopLevel_Item_Disabled div.top_level_text,div.dhtmlxMenu_dhx_web_TopLevel_Item_Selected div.top_level_text{float:left;margin:0 3px;}div.dhtmlxMenu_dhx_web_TopLevel_Item_Normal i,div.dhtmlxMenu_dhx_web_TopLevel_Item_Disabled i,div.dhtmlxMenu_dhx_web_TopLevel_Item_Selected i{height:inherit;line-height:inherit;float:left;color:inherit;margin:0 4px;font-size:1.2em;}div.dhtmlxMenu_dhx_web_TopLevel_Item_Disabled{color:#999;}div.dhtmlxMenu_dhx_web_TopLevel_Item_Selected{background-color:#85d3ff;}div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon{position:absolute;border:1px solid #fff;*border:1px solid #ccc;box-shadow:0 0 10px rgba(0,0,0,0.35);padding:3px 0;background-color:#f4f4f4;overflow:hidden;cursor:default;line-height:normal;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td{font-family:Tahoma,Helvetica;font-size:12px;color:#000;padding:0 4px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_selected td{background-color:#85d3ff;}div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_icon{width:18px;text-align:center;vertical-align:middle;}div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_icon img.sub_icon{float:left;margin:0;width:18px;height:18px;}div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_icon i{float:left;text-align:center;width:18px;height:18px;line-height:17px;font-size:1.2em;color:inherit;}div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_item_text{padding:0 12px 0 1px;height:26px;line-height:25px;white-space:nowrap;text-align:left;}div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis td.sub_item_icon i{color:#999;}div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_item_text{color:#999;}div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_hk{padding-left:8px;padding-right:8px;}div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_hk div.sub_item_hk{font-family:Tahoma,Helvetica;font-size:12px;color:#333;text-align:right;}div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis td.sub_item_hk div.sub_item_hk{color:#999;}div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.complex_arrow{width:4px;margin:0 2px 0 5px;height:22px;background-image:url("imgs/dhxmenu_web/dhxmenu_subar.gif");background-repeat:no-repeat;background-position:0 0;overflow:hidden;font-size:1px;float:right;}div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_selected div.complex_arrow{background-position:-4px 0!important;}div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.complex_arrow{background-position:-8px 0!important;}div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.complex_arrow_loading{width:11px;height:22px;background-position:center center;background-repeat:no-repeat;background-image:url("imgs/dhxmenu_web/dhxmenu_loader.gif");float:right;}div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon{float:left;margin:0;width:18px;height:18px;background-position:top right;background-repeat:no-repeat;background-image:url("imgs/dhxmenu_web/dhxmenu_chrd.gif");}div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.chbx_0{background-position:0 0!important;}div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.chbx_1{background-position:-18px 0!important;}div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.chbx_0{background-position:-36px 0!important;}div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.chbx_1{background-position:-54px 0!important;}div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.rdbt_0{background-position:-72px 0!important;}div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.rdbt_1{background-position:-90px 0!important;}div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.rdbt_0{background-position:-108px 0!important;}div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.rdbt_1{background-position:-126px 0!important;}div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon tr.sub_sep td{padding:2px 0;}div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon div.sub_sep{position:static;font-size:1px;line-height:1px;height:1px;width:100%;border-top:1px dotted #b4b4b4;*border-top:1px solid #cecece;}iframe.dhtmlxMenu_IE6CoverFix_dhx_web{position:absolute;border:none;background:#000;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=100);}div.dhtmlxMenu_dhx_web_SubLevelArea_ArrowUp,div.dhtmlxMenu_dhx_web_SubLevelArea_ArrowUp_Over,div.dhtmlxMenu_dhx_web_SubLevelArea_ArrowUp_Disabled{position:relative;font-size:1px;border-bottom:1px solid #b4b4b4;background-image:url("imgs/dhxmenu_web/dhxmenu_arrow_up.gif");background-repeat:no-repeat;background-position:center center;padding:8px 0;margin-bottom:3px;}div.dhtmlxMenu_dhx_web_SubLevelArea_ArrowUp_Disabled{background-image:url("imgs/dhxmenu_web/dhxmenu_arrow_up_dis.gif");}div.dhtmlxMenu_dhx_web_SubLevelArea_ArrowDown,div.dhtmlxMenu_dhx_web_SubLevelArea_ArrowDown_Over,div.dhtmlxMenu_dhx_web_SubLevelArea_ArrowDown_Disabled{position:relative;font-size:1px;border-top:1px solid #b4b4b4;background-image:url("imgs/dhxmenu_web/dhxmenu_arrow_down.gif");background-repeat:no-repeat;background-position:center center;padding:8px 0;margin-top:3px;}div.dhtmlxMenu_dhx_web_SubLevelArea_ArrowDown_Disabled{background-image:url("imgs/dhxmenu_web/dhxmenu_arrow_down_dis.gif");}.dhtmlxribbon_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:20px;height:10px;overflow:hidden;}.dhtmlxribbon_dhx_web.dhxrb_without_tabbar{background-color:#fff;border:1px solid #c7c7c7;}.dhtmlxribbon_dhx_web{overflow:hidden;width:100%;}.dhtmlxribbon_dhx_web .dhxrb_background_area{height:114px;background-color:#fff;margin:1px;}.dhtmlxribbon_dhx_web .dhxrb_with_tabbar{height:162px;}.dhtmlxribbon_dhx_web div.dhx_cell_tabbar{background-color:#fff!important;}.dhtmlxribbon_dhx_web .dhxrb_g_area{height:113px;float:left;clear:left;overflow:hidden;position:relative;}.dhtmlxribbon_dhx_web .dhxrb_block_base{margin:3px;float:left;border:1px solid #e7e7e7;background-color:#f4f4f4;border-radius:0;height:106px;overflow:hidden;position:relative;}.dhtmlxribbon_dhx_web .dhxrb_block_base .dhxrb_block_items{height:84px;float:left;padding:2px 0;overflow:hidden;}.dhtmlxribbon_dhx_web .dhxrb_block_base>.dhxrb_block_label{height:18px;line-height:17px;*height:auto;*line-height:1em;}.dhtmlxribbon_dhx_web .dhxrb_block_base .dhxrb_block_label{text-align:center;clear:left;font-family:Tahoma,Helvetica;font-size:12px;color:#818181;background-color:#e7e7e7;*padding:1px 3px 3px;*font-size:11px;*font-family:Tahoma,FreeSans;}.dhtmlxribbon_dhx_web .dhxrb_big_button{margin:0 2px 5px;float:left;text-align:center;padding:4px;border:1px solid #f4f4f4;background-color:#f4f4f4;height:72px;}.dhtmlxribbon_dhx_web .dhxrb_big_button .dhxrb_image{width:48px;height:48px;border:none;}.dhtmlxribbon_dhx_web .dhxrb_big_button i{position:relative;display:block;margin-top:2px;margin-bottom:2px;width:48px;height:48px;line-height:47px;font-size:30px;color:inherit;cursor:default;text-align:center;}.dhtmlxribbon_dhx_web .dhxrb_big_button .dhxrb_label_button{margin:0 auto;cursor:default;font-family:Tahoma,Helvetica;font-size:12px;color:#000;line-height:11px;}.dhtmlxribbon_dhx_web .dhxrb_big_button .dhxrb_invisible{visibility:hidden;}.dhtmlxribbon_dhx_web .dhxrb_3rows_block{float:left;margin:0 2px 5px;position:relative;}.dhtmlxribbon_dhx_web .dhxrb_3rows_block .dhxrb_invisible{display:none;}.dhtmlxribbon_dhx_web .dhxrb_3rows_button{height:20px;margin:1px 3px;float:left;clear:left;padding:3px 4px 1px 4px;border:1px solid #f4f4f4;background-color:#f4f4f4;}.dhtmlxribbon_dhx_web .dhxrb_in_row{height:20px;margin:1px 3px;float:left;padding:3px 4px 1px;border:1px solid #f4f4f4;background-color:#f4f4f4;white-space:nowrap;overflow:hidden;}.dhtmlxribbon_dhx_web .dhxrb_group .dhxrb_buttoncombo_cont{height:22px;padding:0 2px!important;}.dhtmlxribbon_dhx_web .dhxrb_buttoncombo_cont{height:24px;padding:1px 2px!important;}.dhtmlxribbon_dhx_web .dhxrb_buttoncombo{float:left;}.dhtmlxribbon_dhx_web .dhxrb_in_row .dhxrb_slider,.dhtmlxribbon_dhx_web .dhxrb_3rows_button .dhxrb_slider{float:left;margin-right:5px;}.dhtmlxribbon_dhx_web .dhxrb_in_row center,.dhtmlxribbon_dhx_web .dhxrb_in_group center,.dhtmlxribbon_dhx_web .dhxrb_3rows_button center{float:left;margin:0;padding:0;}.dhtmlxribbon_dhx_web .dhxrb_in_group .dhxrb_slider{float:left;margin-right:5px;}.dhtmlxribbon_dhx_web .dhxrb_big_button .dhxrb_slider{width:16px;margin:2px 0;height:50px;}.dhtmlxribbon_dhx_web .dhxrb_in_group{height:19px;float:left;padding:2px 4px 1px;border:1px solid #efefef;}.dhtmlxribbon_dhx_web .dhxrb_input{float:left;border:1px solid #e7e7e7;height:14px;width:80px;font-family:Tahoma,Helvetica;font-size:12px;color:black;padding:1px 2px;}.dhtmlxribbon_dhx_web .dhxrb_input:disabled{border:1px solid #e7e7e7;background-color:#f2f2f2;color:#999;}.dhtmlxribbon_dhx_web .dhxrb_3rows_button .dhxrb_image,.dhtmlxribbon_dhx_web .dhxrb_in_row .dhxrb_image,.dhtmlxribbon_dhx_web .dhxrb_in_group .dhxrb_image{width:18px;height:18px;float:left;}.dhtmlxribbon_dhx_web .dhxrb_3rows_button i,.dhtmlxribbon_dhx_web .dhxrb_in_row i,.dhtmlxribbon_dhx_web .dhxrb_in_group i{position:relative;float:left;width:18px;height:18px;line-height:17px;font-size:15px;margin-top:1px;color:inherit;cursor:default;text-align:center;}.dhtmlxribbon_dhx_web .dhxrb_item_disable i{color:#999;}.dhtmlxribbon_dhx_web .dhxrb_3rows_button .dhxrb_label_button,.dhtmlxribbon_dhx_web .dhxrb_in_row .dhxrb_label_button,.dhtmlxribbon_dhx_web .dhxrb_in_group .dhxrb_label_button{float:left;margin:1px;cursor:default;font-family:Tahoma,Helvetica;font-size:12px;color:#000;margin:2px 4px 2px 6px;}.dhtmlxribbon_dhx_web .dhxrb_buttoncombo_cont .dhxrb_label_button{float:left;margin-left:3px;height:18px;line-height:18px;cursor:default;font-family:Tahoma,Helvetica;font-size:12px;color:#000;}.dhtmlxribbon_dhx_web .dhxrb_label_checkbox{float:left;margin:2px 4px;cursor:default;font-family:Tahoma,Helvetica;font-size:12px;color:#000;}.dhtmlxribbon_dhx_web .dhxrb_disable_text_style,.dhtmlxribbon_dhx_web .dhxrb_item_disable .dhxrb_label_checkbox{color:#999!important;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhtmlxribbon_dhx_web .dhxrb_highlight0{border:1px solid #85d3ff;background-color:#85d3ff;color:#000;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhtmlxribbon_dhx_web .dhxrb_highlight1{border:1px solid #74c1ec;background-color:#74c1ec;color:#000;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhtmlxribbon_dhx_web .dhxrb_item_hide{display:none!important;}.dhtmlxribbon_dhx_web .dhxrb_block_rows{float:left;}.dhtmlxribbon_dhx_web .dhxrb_block_row{float:left;clear:left;margin:0 2px;height:28px;overflow:hidden;position:relative;}.dhtmlxribbon_dhx_web .dhxrb_arrow{padding:0 5px;margin-left:2px;background:url("imgs/dhxribbon_web/dhxribbon_arrow.gif") no-repeat 50%;}.dhtmlxribbon_dhx_web .dhxrb_3rows_block .dhxrb_group{border:1px solid #e7e7e7;background-color:#efefef;height:24px;float:left;clear:left;margin:1px 3px;overflow:hidden;position:relative;}.dhtmlxribbon_dhx_web .dhxrb_block_row .dhxrb_group{border:1px solid #e7e7e7;background-color:#efefef;height:24px;float:left;margin:1px 3px;overflow:hidden;position:relative;}.dhtmlxribbon_dhx_web .dhxrb_in_group .dhxrb_label_hide{display:none;}.dhtmlxribbon_dhx_web .dhxrb_separator_groupp{height:24px;width:0;border-left:1px solid #ddd;overflow:hidden;float:left;}.dhtmlxribbon_dhx_web .dhxrb_checkbox{border:1px solid #e7e7e7;background-color:#fff;float:left;width:12px;height:12px;margin-top:2px;overflow:hidden;}.dhtmlxribbon_dhx_web .dhxrb_checked .dhxrb_checkbox{background-image:url("imgs/dhxribbon_web/dhxribbon_checked.gif");background-repeat:no-repeat;}.dhtmlxribbon_dhx_web .dhxrb_checked.dhxrb_item_disable>.dhxrb_checkbox{background-image:url("imgs/dhxribbon_web/dhxribbon_checked_dis.gif");}.dhtmlxribbon_dhx_web .dhxrb_item_disable .dhxrb_checkbox{background-color:#e6e6e6;border:1px solid #999;}.dhtmlxribbon_dhx_web .dhxrb_item_text{font-family:Tahoma,Helvetica;font-size:12px;color:#000;}.dhtmlxribbon_dhx_web .dhxrb_in_group .dhxrb_item_text{height:19px;line-height:18px;*float:left;*clear:left;}.dhtmlxribbon_dhx_web .dhxrb_3rows_button .dhxrb_item_text,.dhtmlxribbon_dhx_web .dhxrb_in_row .dhxrb_item_text{font-family:Tahoma,Helvetica;font-size:14px;color:#000;}.dhtmlxribbon_dhx_web .dhxrb_big_button .dhxrb_item_text{font-family:Tahoma,Helvetica;font-size:30px;color:#000;line-height:72px;height:72px;float:left;clear:left;}.dhxtoolbar_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:20px;height:10px;overflow:hidden;}.dhx_toolbar_dhx_web{background-color:#3da0e3;position:relative;padding:0 5px;height:32px;line-height:normal;cursor:default;overflow:hidden;font-family:Tahoma,Helvetica;font-size:12px;color:#fff;}.dhx_toolbar_dhx_web.dhxtoolbar_icons_24 div.dhx_toolbar_btn i{font-size:20px;}.dhx_toolbar_dhx_web.dhxtoolbar_icons_32 div.dhx_toolbar_btn i{font-size:26px;}.dhx_toolbar_dhx_web.dhxtoolbar_icons_48 div.dhx_toolbar_btn i{font-size:38px;}.dhx_toolbar_dhx_web div.dhxtoolbar_float_left{float:left;}.dhx_toolbar_dhx_web div.dhxtoolbar_float_right{float:right;}.dhx_toolbar_dhx_web div.dhx_toolbar_btn,.dhx_toolbar_dhx_web div.dhx_toolbar_arw{position:relative;float:left;margin-top:3px;padding:2px 3px 1px 3px;*padding-bottom:2px;margin-right:1px;line-height:normal;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:default;height:22px;overflow:hidden;}.dhx_toolbar_dhx_web div.dhx_toolbar_btn.dhxtoolbar_btn_dis,.dhx_toolbar_dhx_web div.dhx_toolbar_arw.dhxtoolbar_btn_dis{color:#acd7f3;}.dhx_toolbar_dhx_web div.dhx_toolbar_btn.dhxtoolbar_btn_over,.dhx_toolbar_dhx_web div.dhx_toolbar_arw.dhxtoolbar_btn_over{background-color:#2a8ed2;}.dhx_toolbar_dhx_web div.dhx_toolbar_btn.dhxtoolbar_btn_pres,.dhx_toolbar_dhx_web div.dhx_toolbar_arw.dhxtoolbar_btn_pres{background-color:#2589ce;}.dhx_toolbar_dhx_web div.dhx_toolbar_btn.dhxtoolbar_btn_pres_dis{background-color:#2e94d8;}.dhx_toolbar_dhx_web div.dhx_toolbar_btn img{float:left;margin:2px;width:18px;height:18px;cursor:default;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhx_toolbar_dhx_web div.dhx_toolbar_btn i{float:left;margin:2px;width:18px;height:18px;line-height:17px;font-size:1.2em;text-align:center;cursor:default;color:inherit;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhx_toolbar_dhx_web div.dhx_toolbar_btn .dhxtoolbar_input{position:relative;float:left;border:1px solid white;background-color:white;margin:1px;padding:2px 4px 3px 4px;font-family:Tahoma,Helvetica;font-size:12px;color:black;line-height:normal;direction:ltr;outline:none;}.dhx_toolbar_dhx_web div.dhx_toolbar_btn .dhxtoolbar_input:disabled{background-color:#f2f2f2;}.dhx_toolbar_dhx_web div.dhx_toolbar_btn.dhxtoolbar_btn_dis div.dhxtoolbar_sl_pen{background-color:#e6e6e6;}.dhx_toolbar_dhx_web div.dhx_toolbar_btn.dhxtoolbar_btn_dis div.dhxtoolbar_sl_bg_l,.dhx_toolbar_dhx_web div.dhx_toolbar_btn.dhxtoolbar_btn_dis div.dhxtoolbar_sl_bg_m,.dhx_toolbar_dhx_web div.dhx_toolbar_btn.dhxtoolbar_btn_dis div.dhxtoolbar_sl_bg_r{background-color:#e6e6e6;}.dhx_toolbar_dhx_web div.dhx_toolbar_btn div.dhxtoolbar_text,.dhx_toolbar_dhx_web div.dhx_toolbar_arw div.arwimg{float:left;font:inherit;height:18px;line-height:17px;margin:2px 4px;cursor:default;overflow:hidden;white-space:nowrap;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhx_toolbar_dhx_web div.dhx_toolbar_btn div.dhxtoolbar_text{padding:0;}.dhx_toolbar_dhx_web div.dhx_toolbar_arw{margin-left:-3px;z-index:1;}.dhx_toolbar_dhx_web div.dhx_toolbar_arw div.arwimg{margin:2px 0;padding:0 3px;background-image:url("imgs/dhxtoolbar_web/dhxtoolbar_arrow.gif");background-position:center center;background-repeat:no-repeat;}.dhx_toolbar_dhx_web div.dhx_toolbar_arw.dhxtoolbar_btn_dis div.arwimg{background-image:url("imgs/dhxtoolbar_web/dhxtoolbar_arrow_dis.gif");}.dhx_toolbar_dhx_web div.dhx_toolbar_sep{float:left;border-left:1px dotted #c3e1f6;height:14px;margin:8px 6px 0 5px;overflow:hidden;}.dhx_toolbar_dhx_web div.dhx_toolbar_text{float:left;vertical-align:middle;margin-top:4px;padding:3px 5px;line-height:17px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhx_toolbar_dhx_web div.dhxtoolbar_sl_bg_l,.dhx_toolbar_dhx_web div.dhxtoolbar_sl_bg_m,.dhx_toolbar_dhx_web div.dhxtoolbar_sl_bg_r{float:left;height:5px;line-height:1px;margin:9px 0 6px 0;padding:0;width:2px;font-size:1px;background-color:#fff;overflow:hidden;}.dhx_toolbar_dhx_web div.dhxtoolbar_sl_bg_l{margin-left:4px;}.dhx_toolbar_dhx_web div.dhxtoolbar_sl_bg_r{margin-right:4px;}.dhx_toolbar_dhx_web div.dhxtoolbar_sl_pen,.dhx_toolbar_dhx_web div.dhxtoolbar_sl_pen.dhxtoolbar_over{position:absolute;top:5px;width:7px;height:14px;border:1px solid #46a4e4;background-color:#fff;cursor:default;font-size:1px;line-height:1px;overflow:hidden;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhx_toolbar_dhx_web.dhxtoolbar_icons_24{height:38px!important;}.dhx_toolbar_dhx_web.dhxtoolbar_icons_24 div.dhx_toolbar_btn,.dhx_toolbar_dhx_web.dhxtoolbar_icons_24 div.dhx_toolbar_arw{height:28px;}.dhx_toolbar_dhx_web.dhxtoolbar_icons_24 div.dhx_toolbar_btn img{width:24px;height:24px;}.dhx_toolbar_dhx_web.dhxtoolbar_icons_24 div.dhx_toolbar_btn i{width:24px;height:24px;line-height:23px;}.dhx_toolbar_dhx_web.dhxtoolbar_icons_24 div.dhx_toolbar_btn div.dhxtoolbar_text,.dhx_toolbar_dhx_web.dhxtoolbar_icons_24 div.dhx_toolbar_arw div.arwimg{height:24px;line-height:23px;}.dhx_toolbar_dhx_web.dhxtoolbar_icons_24 div.dhx_toolbar_text{padding-top:6px;padding-bottom:6px;}.dhx_toolbar_dhx_web.dhxtoolbar_icons_24 div.dhx_toolbar_sep{height:20px;}.dhx_toolbar_dhx_web.dhxtoolbar_icons_24 div.dhxtoolbar_sl_bg_l,.dhx_toolbar_dhx_web.dhxtoolbar_icons_24 div.dhxtoolbar_sl_bg_m,.dhx_toolbar_dhx_web.dhxtoolbar_icons_24 div.dhxtoolbar_sl_bg_r{margin-top:12px;}.dhx_toolbar_dhx_web.dhxtoolbar_icons_24 div.dhxtoolbar_sl_pen{top:8px;}.dhx_toolbar_dhx_web.dhxtoolbar_icons_24 div.dhx_toolbar_btn .dhxtoolbar_input{margin-top:4px;margin-bottom:4px;}.dhx_toolbar_dhx_web.dhxtoolbar_icons_32{height:46px!important;}.dhx_toolbar_dhx_web.dhxtoolbar_icons_32 div.dhx_toolbar_btn,.dhx_toolbar_dhx_web.dhxtoolbar_icons_32 div.dhx_toolbar_arw{height:36px;}.dhx_toolbar_dhx_web.dhxtoolbar_icons_32 div.dhx_toolbar_btn img{width:32px;height:32px;}.dhx_toolbar_dhx_web.dhxtoolbar_icons_32 div.dhx_toolbar_btn i{width:32px;height:32px;line-height:31px;}.dhx_toolbar_dhx_web.dhxtoolbar_icons_32 div.dhx_toolbar_btn div.dhxtoolbar_text,.dhx_toolbar_dhx_web.dhxtoolbar_icons_32 div.dhx_toolbar_arw div.arwimg{height:32px;line-height:31px;}.dhx_toolbar_dhx_web.dhxtoolbar_icons_32 div.dhx_toolbar_text{padding-top:10px;padding-bottom:10px;}.dhx_toolbar_dhx_web.dhxtoolbar_icons_32 div.dhx_toolbar_sep{height:28px;}.dhx_toolbar_dhx_web.dhxtoolbar_icons_32 div.dhxtoolbar_sl_bg_l,.dhx_toolbar_dhx_web.dhxtoolbar_icons_32 div.dhxtoolbar_sl_bg_m,.dhx_toolbar_dhx_web.dhxtoolbar_icons_32 div.dhxtoolbar_sl_bg_r{margin-top:16px;}.dhx_toolbar_dhx_web.dhxtoolbar_icons_32 div.dhxtoolbar_sl_pen{top:12px;}.dhx_toolbar_dhx_web.dhxtoolbar_icons_32 div.dhx_toolbar_btn .dhxtoolbar_input{margin-top:8px;margin-bottom:8px;}.dhx_toolbar_dhx_web.dhxtoolbar_icons_48{height:62px!important;}.dhx_toolbar_dhx_web.dhxtoolbar_icons_48 div.dhx_toolbar_btn,.dhx_toolbar_dhx_web.dhxtoolbar_icons_48 div.dhx_toolbar_arw{height:52px;}.dhx_toolbar_dhx_web.dhxtoolbar_icons_48 div.dhx_toolbar_btn img{width:48px;height:48px;}.dhx_toolbar_dhx_web.dhxtoolbar_icons_48 div.dhx_toolbar_btn i{width:48px;height:48px;line-height:47px;}.dhx_toolbar_dhx_web.dhxtoolbar_icons_48 div.dhx_toolbar_btn div.dhxtoolbar_text,.dhx_toolbar_dhx_web.dhxtoolbar_icons_48 div.dhx_toolbar_arw div.arwimg{height:48px;line-height:47px;}.dhx_toolbar_dhx_web.dhxtoolbar_icons_48 div.dhx_toolbar_text{padding-top:18px;padding-bottom:18px;}.dhx_toolbar_dhx_web.dhxtoolbar_icons_48 div.dhx_toolbar_sep{height:44px;}.dhx_toolbar_dhx_web.dhxtoolbar_icons_48 div.dhxtoolbar_sl_bg_l,.dhx_toolbar_dhx_web.dhxtoolbar_icons_48 div.dhxtoolbar_sl_bg_m,.dhx_toolbar_dhx_web.dhxtoolbar_icons_48 div.dhxtoolbar_sl_bg_r{margin-top:24px;}.dhx_toolbar_dhx_web.dhxtoolbar_icons_48 div.dhxtoolbar_sl_pen{top:20px;}.dhx_toolbar_dhx_web.dhxtoolbar_icons_48 div.dhx_toolbar_btn .dhxtoolbar_input{margin-top:16px;margin-bottom:16px;}div.dhx_toolbar_poly_dhx_web{position:absolute;border:1px solid #fff;box-shadow:0 0 6px rgba(0,0,0,0.35);*border:1px solid #999;padding:3px 0;background-color:#f4f4f4;overflow:hidden;cursor:default;line-height:normal;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;overflow-y:auto;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);}div.dhx_toolbar_poly_dhx_web td{line-height:normal;font-family:Tahoma,Helvetica;font-size:12px;color:#000;padding:0 4px;}div.dhx_toolbar_poly_dhx_web .tr_btn_over td,div.dhx_toolbar_poly_dhx_web .tr_btn_selected td{background-color:#85d3ff;}div.dhx_toolbar_poly_dhx_web .tr_btn_disabled td{color:#999;}div.dhx_toolbar_poly_dhx_web td.td_btn_img{width:18px;text-align:center;}div.dhx_toolbar_poly_dhx_web td.td_btn_img img.btn_sel_img{width:18px;height:18px;}div.dhx_toolbar_poly_dhx_web td.td_btn_img i{width:18px;height:18px;line-height:17px;text-align:center;color:inherit;font-size:1.2em;}div.dhx_toolbar_poly_dhx_web td.td_btn_txt div.btn_sel_text{padding:0 12px 0 1px;height:24px;line-height:23px;overflow:hidden;}div.dhx_toolbar_poly_dhx_web tr.tr_sep td{padding:2px 0;}div.dhx_toolbar_poly_dhx_web div.btn_sep{position:relative;font-size:1px;line-height:1px;height:0;width:100%;border-top:1px dotted #999;}div.dhx_toolbar_slider_label_dhx_web{position:absolute;border:1px solid white;box-shadow:0 0 10px rgba(0,0,0,0.35);background-color:#f4f4f4;padding:5px 8px;overflow:hidden;cursor:default;line-height:normal;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;font-family:Tahoma,Helvetica;font-size:12px;color:#000;}.dhxtoolbar_maxopen_test{position:absolute;width:200px;height:50px;overflow-x:none;overflow-y:auto;left:-300px;top:100px;border:1px solid white;visibility:hidden;}.dhxtoolbar_maxopen_test2{height:200px;}.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging,.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging,.dhxtabbar_base_dhx_web div.dhx_cell_tabbar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging{position:relative;height:32px;line-height:31px;margin-top:-1px;overflow:hidden;white-space:nowrap;}.dhxtabbar_base_dhx_web div.dhx_cell_tabbar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging{margin-top:0;height:31px;}.dhxwins_vp_dhx_web div.dhxwin_active div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging,.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging{position:relative;height:32px;line-height:31px;margin-top:3px;overflow:hidden;white-space:nowrap;}.dhxwins_vp_dhx_web div.dhxwin_active div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging .dhx_toolbar_dhx_web,.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging .dhx_toolbar_dhx_web{border-width:0;background-image:none;}.dhxeditor_dhx_web{position:relative;}.dhxeditor_dhx_web iframe.dhxeditor_mainiframe{position:absolute;overflow:hidden;top:0;left:0;width:100%;height:100%;}.dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_stb{position:relative;height:32px;background-color:#3da0e3;}.dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button{float:left;position:relative;width:18px;height:18px;font-size:2px;margin-left:5px;margin-top:7px;cursor:pointer;background-image:url("imgs/dhxeditor_web/buttons.gif");}.dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button.btn_bold{margin-left:12px;background-position:0 0;}.dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button.btn_italic{background-position:-18px 0;}.dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button.btn_underline{background-position:-36px 0;}.dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button.btn_clearformat{background-position:-54px 0;}.dhxeditor_dhx_web div.dhx_cell_editor{position:absolute;background-color:white;margin:0;padding:0;overflow:hidden;cursor:default;z-index:0;}.dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_cont_editor{position:absolute;overflow:hidden;}.dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_toolbar_def{position:relative;overflow:hidden;}.dhxwins_vp_dhx_web div.dhx_cell_cont_wins .dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_cont_editor{border-left:1px solid #c7c7c7;border-right:1px solid #c7c7c7;border-bottom:1px solid #c7c7c7;}.dhxwins_vp_dhx_web div.dhx_cell_cont_wins .dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_toolbar_def{padding:0;}div.dhx_popup_dhx_web div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_cont_editor{border-left:1px solid #c7c7c7;border-right:1px solid #c7c7c7;border-bottom:1px solid #c7c7c7;}.dhxeditor_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:20px;height:10px;overflow:hidden;}.dhx_tooltip{display:none;position:absolute;font-family:Tahoma,Helvetica;color:#626262;font-size:12px;z-index:10000;padding:4px 10px 4px 10px;border:1px solid #fff;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;-moz-box-shadow:0 0 3px #d9d9d9;-webkit-box-shadow:0 0 3px #d9d9d9;text-shadow:0 1px 1px #fff;box-shadow:0 0 5px #d9d9d9;background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#efefef),color-stop(0.5,#f6f6f6),color-stop(1,#efefef));background:-o-linear-gradient(#efefef 0,#f6f6f6 50%,#efefef 100%);background:-ms-linear-gradient(#efefef 0,#f6f6f6 50%,#efefef 100%);background:-moz-linear-gradient(#efefef 0,#f6f6f6 50%,#efefef 100%);background:#efefef;}.dhx_chart{position:relative;font-family:Tahoma,Helvetica;font-size:12px;color:#000;overflow:hidden;z-index:0;}.dhx_chart canvas{position:absolute;left:0;top:0;}.dhx_canvas_text{position:absolute;text-align:center;overflow:hidden;white-space:nowrap;z-index:1000;}.dhx_map_img{width:100%;height:100%;position:absolute;top:0;left:0;border:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);opacity:0;}.dhx_axis_item_y{position:absolute;height:18px;line-height:18px;margin-top:-4px;text-align:right;}.dhx_axis_title_x{text-align:center;}.dhx_axis_title_y{text-align:center;font-family:Tahoma,Helvetica;-webkit-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-o-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg);height:18px;line-height:18px;font-size:12px;}.dhx_ie_filter{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);zoom:1;font-family:serif;}.dhx_chart_legend{position:absolute;z-index:1000;}.dhx_chart_legend_item{height:18px;line-height:18px;padding:2px;cursor:pointer;}.dhx_chart_legend_item.hidden{color:#aaa;}.dhx_axis_item_y.dhx_radar{color:#666;font-size:12px;padding-right:3px;height:13px;line-height:13px;margin-top:0;}.dhx_canvas_text.dhx_axis_radar_title{margin-top:0;padding-top:0;}.dhx_axis_item_y,.dhx_axis_item_x{color:#666;}.dhx_axis_item_x{padding-top:2px;}.dhx_tooltip{display:none;position:absolute;font-family:Tahoma,Helvetica;color:#626262;font-size:12px;z-index:10000;padding:4px 10px 4px 10px;border:1px solid #fff;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;-moz-box-shadow:0 0 3px #d9d9d9;-webkit-box-shadow:0 0 3px #d9d9d9;text-shadow:0 1px 1px #fff;box-shadow:0 0 5px #d9d9d9;background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#efefef),color-stop(0.5,#f6f6f6),color-stop(1,#efefef));background:-o-linear-gradient(#efefef 0,#f6f6f6 50%,#efefef 100%);background:-ms-linear-gradient(#efefef 0,#f6f6f6 50%,#efefef 100%);background:-moz-linear-gradient(#efefef 0,#f6f6f6 50%,#efefef 100%);background:#efefef;}.dhx_noselect{-moz-user-select:none;-moz-user-select:-moz-none;-khtml-user-select:none;}.dhx_allow_selection{-moz-user-select:text;-user-select:text;}.dhx_dataview{overflow-y:auto;-webkit-overflow-scrolling:touch;overflow-x:hidden;-moz-user-select:none;-moz-user-select:-moz-none;-khtml-select:none;}.dhx_drag_zone{position:absolute;border:1px solid #A4BED4;z-index:8000;-moz-box-shadow:5px 5px 5px #888;-khtml-box-shadow:5px 5px 5px #888;}.dhx_dataview_default_item,.dhx_dataview_default_item_selected{cursor:pointer;background-color:#fff;}.dhx_dataview .dhx_dataview_default_item,.dhx_dataview .dhx_dataview_default_item_selected{border-right:1px solid #c7c7c7;border-bottom:1px dotted #c7c7c7;}.dhx_dataview_default_item_selected{background-color:#85d3ff;color:#85d3ff;border-color:#85d3ff;background-repeat:repeat-x;}.dhx_dataview_item{font-family:Tahoma,Helvetica;font-size:12px;color:#000;}.dhx_dataview_item .dhx_strong{font-weight:bold;display:block;padding-bottom:6px;}.dhx_dataview_default_item_selected .dhx_light{color:#C3C3C3;}.dhx_dataview_item .dhx_light{color:#919191;}.dhx_drag_over{background-color:#faf768;background-image:url("imgs/dhxdataview_web/marker.png");background-repeat:repeat-x;}.dhx_pager_item,.dhx_pager_item_selected{float:left;text-align:center;height:16px;font-family:Tahoma,Helvetica;font-size:10pt;border:1px solid gray;padding:2px 4px;margin-left:5px;cursor:pointer;background-color:white;}.dhx_pager_item_selected{background-color:lightgrey;color:white;cursor:default;font-weight:bold;}.dhx_list{overflow-y:auto;-webkit-overflow-scrolling:touch;overflow-x:hidden;-moz-user-select:none;-moz-user-select:-moz-none;-khtml-select:none;}.dhx_list_default_item,.dhx_list_default_item_selected{cursor:pointer;background-color:#fff;}.dhx_list .dhx_list_default_item,.dhx_list .dhx_list_default_item_selected{border-right:1px solid #c7c7c7;border-bottom:1px dotted #c7c7c7;}.dhx_list_default_item_selected{background-color:#85d3ff;color:#85d3ff;border-color:#85d3ff;background-repeat:repeat-x;}.dhx_list_item{font-family:Tahoma,Helvetica;font-size:12px;color:#000;box-sizing:border-box;}.dhx_list_item textarea{resize:none;margin-top:-8px;}.dhx_list_item .dhx_strong{font-weight:bold;display:block;padding-bottom:6px;}.dhx_list_default_item_selected .dhx_light{color:#C3C3C3;}.dhx_list_item .dhx_light{color:#919191;}.defaultTreeTable{margin:0;padding:0;border:0;}.containerTableStyle{overflow:auto;-webkit-overflow-scrolling:touch;position:relative;top:0;font-size:12px;-khtml-user-select:none;}.containerTableStyleRTL span{direction:rtl;unicode-bidi:bidi-override;}.containerTableStyleRTL{direction:rtl;overflow:auto;position:relative;top:0;font-size:12px;}.standartTreeRow{font-family:Tahoma,Helvetica;font-size:12px;-moz-user-select:none;}.selectedTreeRow{background-color:navy;color:white;font-family:Tahoma,Helvetica;font-size:12px;-moz-user-select:none;}.dragAndDropRow{background-color:navy;color:white;}.standartTreeRow_lor{text-decoration:underline;background-color:#fff;font-family:Tahoma,Helvetica;font-size:12px;-moz-user-select:none;}.selectedTreeRow_lor{text-decoration:underline;background-color:navy;color:white;font-family:Tahoma,Helvetica;font-size:12px;-moz-user-select:none;}.standartTreeImage{height:24px;overflow:hidden;border:0;padding:0;margin:0;font-size:1px;}.standartTreeImage img{width:18px;height:24px;background-position:center center;background-repeat:no-repeat;border:0;padding:0;margin:0;font-size:1px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.hiddenRow{width:1px;overflow:hidden;}.dragSpanDiv,.dragSpanDiv td{font-family:Tahoma,Helvetica;font-size:12px;background-color:#fff;z-index:999;}.a_dhx_hidden_input{position:absolute;top:-1px;left:-1px;width:1px;height:1px;border:none;background:none;}.a_dhx_hidden_input{position:absolute;top:-1px;left:-1px;width:1px;height:1px;border:none;background:none;}.selectionBox{background-color:#FFC;}.selectionBar{top:0;background-color:black;position:absolute;overflow:hidden;height:2px;z-index:11;}.intreeeditRow{font-size:8pt;height:16px;border:1px solid silver;padding:0;margin:0;margin-left:4px;-moz-user-select:text;-khtml-user-select:text;}.dhx_tree_textSign{font-size:8pt;font-family:monospace;width:21px;color:#000;padding:0;margin:0;cursor:pointer;text-align:center;}.dhx_tree_opacity{opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhx_bg_img_fix{width:18px;height:24px;background-repeat:no-repeat;background-position:center;background-position-x:center;background-position-y:center;}.dhxtree_dhx_web .selectedTreeRow_lor,.dhxtree_dhx_web .selectedTreeRow{background-color:transparent;}.dhxtree_dhx_web span.selectedTreeRow_lor,.dhxtree_dhx_web span.selectedTreeRow{background-color:#85d3ff;color:#000;}.dhxtree_dhx_web .selectedTreeRowFull .dhxTextCell{background-color:#85d3ff;color:#000;}.dhxtree_dhx_web td.standartTreeRow,.dhxtree_dhx_web td.selectedTreeRow{padding-left:2px;}.dhxtree_dhx_web span.standartTreeRow,.dhxtree_dhx_web span.selectedTreeRow{padding-left:3px!important;}.dhxtree_dhx_web .standartTreeRow,.dhxtree_dhx_web .standartTreeRow,.dhxtree_dhx_web .selectedTreeRow_lor,.dhxtree_dhx_web .selectedTreeRow{font-family:Tahoma,Helvetica;font-size:12px;overflow:hidden;}.dhxtree_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:20px;height:10px;overflow:hidden;}.dhxtreeview_dhx_web{position:relative;overflow:hidden;background-color:#fff;}.dhxtreeview_dhx_web div.dhxtreeview_cont{position:absolute;overflow:auto;background-color:#fff;}.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area{position:relative;}.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_kids_cont{position:relative;-webkit-transition:opacity .1s;-moz-transition:opacity .1s;-ms-transition:opacity .1s;-o-transition:opacity .1s;transition:opacity .1s;}.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item{position:relative;white-space:nowrap;cursor:default;color:#000;font-size:12px;font-family:Tahoma,Helvetica;}.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text{position:relative;padding:0;margin:0;height:32px;line-height:31px;color:inherit;vertical-align:middle;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:default;}.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_label{position:absolute;top:0;padding:0 10px 0 4px;height:32px;line-height:inherit;font:inherit;}.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected,.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected:hover{background-color:#85d3ff;}.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected div.dhxtreeview_item_label,.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected:hover div.dhxtreeview_item_label{background-color:#85d3ff;}.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text:hover{background-color:#d5eefc;border-color:#d5eefc;}.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text:hover div.dhxtreeview_item_label{background-color:#d5eefc;}.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon{position:absolute;width:22px;top:0;height:32px;line-height:30px;text-align:center;font-size:14px;color:#333;overflow:hidden;}.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon{position:absolute;left:0;top:0;width:22px;height:32px;background-repeat:no-repeat;background-position:center center;}.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_plus{background-image:url(imgs/dhxtreeview_web/icon_plus.gif);}.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_minus{background-image:url(imgs/dhxtreeview_web/icon_minus.gif);}.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_file{background-image:url(imgs/dhxtreeview_web/icon_file.gif);}.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_folder_closed{background-image:url(imgs/dhxtreeview_web/icon_folder_closed.gif);}.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_folder_opened{background-image:url(imgs/dhxtreeview_web/icon_folder_opened.gif);}.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_loading{background-image:url(imgs/dhxtreeview_web/loading.gif);}.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_chbx_0{background-image:url(imgs/dhxtreeview_web/icon_chbx_0.gif);}.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_chbx_1{background-image:url(imgs/dhxtreeview_web/icon_chbx_1.gif);}.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_chbx_dis_0{background-image:url(imgs/dhxtreeview_web/icon_chbx_dis_0.gif);}.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_chbx_dis_1{background-image:url(imgs/dhxtreeview_web/icon_chbx_dis_1.gif);}.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa.fa-folder-open-o,.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa.fa-folder-o{position:absolute;line-height:32px;left:4px;width:10px;text-align:left;overflow:visible;}.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa.fa-square-o,.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa.fa-check-square-o{position:absolute;line-height:32px;left:4px;width:10px;text-align:left;overflow:visible;}.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa.fa-square-o.dhx-disabled,.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa.fa-check-square-o.dhx-disabled{color:#a6a6a6;}.dhxtreeview_dhx_web div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_drop_preview{display:none;position:absolute;height:0;width:40px;border-bottom:2px dotted #1faeff;z-index:1;}.dhxtreeview_dhx_web div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_drop_preview.dhxtreeview_drop_0{display:block;top:-1px;}.dhxtreeview_dhx_web div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_drop_preview.dhxtreeview_drop_2{display:block;top:31px;}.dhxtreeview_dhx_web div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item.dhxtreeview_item_dragged{opacity:.4;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=40);}.dhxtreeview_dhx_web div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_drop_1,.dhxtreeview_dhx_web div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_drop_1:hover{background-color:#85d3ff;}.dhxtreeview_dhx_web div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_drop_1 div.dhxtreeview_item_label,.dhxtreeview_dhx_web div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_drop_1:hover div.dhxtreeview_item_label{background-color:#85d3ff;}.dhxtreeview_dhx_web div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected,.dhxtreeview_dhx_web div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected:hover{background-color:#b8e5ff;}.dhxtreeview_dhx_web div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected div.dhxtreeview_item_label,.dhxtreeview_dhx_web div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected:hover div.dhxtreeview_item_label{background-color:#b8e5ff;}.dhxtreeview_dhx_web div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text:hover{background-color:#fff;}.dhxtreeview_dhx_web div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text:hover div.dhxtreeview_item_label{background-color:#fff;}.dhxtreeview_dhx_web.dhxtreeview_icon_width{position:absolute;left:0;top:-100px;width:22px;height:1px;font-size:1px;margin:0;padding:0;overflow:hidden;}.dhxtreeview_dragged_obj_dhx_web{position:absolute;font-size:12px;color:#000;font-family:Tahoma,Helvetica;white-space:nowrap;cursor:default;background-color:#fcfcfc;border-radius:1px;box-shadow:0 0 10px rgba(90,90,90,0.2);padding:6px 14px;border:1px solid #ccc;}html.dhxtreeview_dnd_mode,html.dhxtreeview_dnd_mode *,body.dhxtreeview_dnd_mode,body.dhxtreeview_dnd_mode *{cursor:default;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}div.dhx_popup_dhx_web div.dhx_popup_area td.dhx_popup_td div.dhxtreeview_dhx_web div.dhxtreeview_item div.dhxtreeview_item_label{white-space:nowrap;}.dhxtreeview_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:20px;height:10px;overflow:hidden;}div.gridbox{overflow:hidden;text-align:left;}.dhx_sub_row{background-color:#fff;}div.gridbox .xhdr{background-color:#D4D0C8;}div.gridbox table.obj{height:1px;}div.gridbox table.hdr td{line-height:normal;font-family:arial;font-size:12px;background-color:#D4D0C8;border:1px solid;border-color:#fff Gray Gray #fff;text-align:center;margin:0;padding:5px 0 5px 0;font-weight:normal;overflow:hidden;empty-cells:show;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}div.gridbox table.hdr td div.hdrcell{overflow:hidden;}div.gridbox table.obj td{overflow:hidden;padding-top:0;padding-bottom:0;empty-cells:show;white-space:normal;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}div.gridbox table.obj th,div.gridbox table.hdr th{padding:0;margin:0;}div.gridbox table.row20px tr td{height:20px;white-space:nowrap;padding:0;}div.gridbox .objbox{background-color:#fff;position:relative;-webkit-overflow-scrolling:touch;}div.gridbox table.obj td span.space,div.gridbox table.obj td img.space{width:18px;}div.gridbox table.obj td.editable{-webkit-user-select:text;-khtml-user-select:text;-moz-user-select:text;-ms-user-select:text;-o-user-select:text;user-select:text;}div.gridbox table.obj td.group_row{vertical-align:middle;font-family:Tahoma,Helvetica;font-size:12px;color:#000;font-weight:bold;height:30px;border:0;border-bottom:2px solid navy;}.dragSpanDiv{font-family:Tahoma,Helvetica;font-size:12px;color:#000;border:1px gray solid;background-color:white;z-index:999;}.dhx_combo_select{font-family:Tahoma,Helvetica;font-size:12px;color:#000;border:1px solid;border-color:black silver silver black;background-color:#fff;overflow:auto;cursor:default;position:absolute;height:auto;z-index:600;}.dhx_combo_edit{width:100%;border:0;padding:0;padding-right:1px!ie;margin:0;font-family:Tahoma,Helvetica;font-size:12px;color:#000;overflow:hidden;}.dhx_textarea{border:1px solid;border-color:black silver silver black;position:absolute;height:100px;z-index:600;}.dhx_clist{background-color:white;border:1px solid black;padding:2px 2px 2px 2px;z-index:300;}.gridDragLine{position:absolute;top:10px;left:0;width:100%;height:2px;background-color:black;overflow:hidden;pointer-events:none;}div.pagingBlock{font-family:Tahoma,Helvetica;font-size:12px;color:#000;}div.pagingBlock .pagingCurrentPage{font-weight:bold;cursor:default;}div.pagingBlock .pagingPage{cursor:pointer;text-decoration:underline;}span.recordsInfoBlock{font-family:Tahoma,Helvetica;font-size:12px;color:#000;}div.pagingBlock a{text-decoration:none;padding-right:2px;color:black;cursor:pointer;}div.pagingBlock a.dhx_not_active{text-decoration:none;cursor:default;}.toolbar_select{font-size:10px;}.dhtmlxGrid_selection{opacity:.5;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);background-color:yellow;border:1px dotted black;}div.gridbox div.ftr{position:absolute;left:0;bottom:1px;width:100%;overflow:hidden;}div.gridbox div.ftr td{padding:0;padding-left:10px;padding-right:5px;border-top:1px solid gray;border-right:1px solid gray;background-color:#ffc;font-style:italic;font-family:Tahoma,Helvetica;font-size:12px;color:#000;overflow:hidden;}div.gridbox table.hdr td.columnTargetR div.hdrcell{border-right:3px double #F60;border-left:3px solid #D4D0C8;}div.gridbox table.hdr td.columnTargetL div.hdrcell{border-right:3px solid #D4D0C8;border-left:3px double #F60;}.dhx_dragColDiv{font-family:Tahoma,Helvetica;font-size:12px;color:#000;background-color:#D4D0C8;border:1px solid;border-color:white Gray Gray white;text-align:center;margin:0;padding:5px 20px 5px 20px;font-weight:normal;opacity:.75;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=75);z-index:100;}.dhtmlx_live_validation_error{background-color:#FFE0E0!important;}.dhtmlx_validation_error{border-bottom:2px solid red!important;}.dhx_header_cmenu{background-color:#fff;border:2px outset silver;z-index:2;}.dhx_header_cmenu_item{white-space:nowrap;}div.gridbox td.filter input,div.gridbox td.filter select{width:90%;font-family:Tahoma,Helvetica;font-size:12px;color:#000;-webkit-user-select:text;-khtml-user-select:text;-moz-user-select:text;-ms-user-select:text;-o-user-select:text;user-select:text;}div.gridbox .filter input::-ms-clear{display:none;}div.gridbox_dhx_web.gridbox .xhdr{background-color:#f4f4f4;border-bottom:2px solid #53abe6;}div.gridbox_dhx_web.gridbox table.hdr tr{background-color:#f4f4f4;}div.gridbox_dhx_web.grid table.obj{font-family:Tahoma,Helvetica;font-size:12px;color:#000;}div.gridbox_dhx_web.gridbox table.obj tr td{border-bottom:1px solid #ededed;border-right:1px solid #ededed;padding-right:4px;padding-left:4px;}div.gridbox_dhx_web.gridbox table.hdr td div.hdrcell{width:auto;padding-left:10px;width:100%!ie;}div.gridbox_dhx_web.gridbox table.hdr td{border-width:0 1px 0 0;border-top:1px solid #dbdbdb;border-right-color:#dbdbdb;padding:7px 0 8px 0;background-color:#f4f4f4;font-family:Tahoma,Helvetica;font-size:12px;color:#000;vertical-align:top;text-align:left;position:relative;}div.gridbox_dhx_web.gridbox table.hdr tr:nth-child(2) td{border-top:1px solid #f4f4f4;}div.gridbox_dhx_web.gridbox{border:1px solid #c7c7c7;}div.gridbox_dhx_web.gridbox table.obj tr td,.dhx_grid_adjust{padding-top:3px;padding-bottom:4px;font-family:Tahoma,Helvetica;font-size:12px;color:#000;}div.gridbox_dhx_web.gridbox table.obj.row20px tr td{padding-top:0;padding-bottom:0;height:29px;line-height:29px;border-bottom:1px solid #ededed;border-right:1px solid #ededed;}div.gridbox_dhx_web.gridbox table.obj.row20px tr td:last-child{border-right:1px solid #fff;}div.gridbox_dhx_web.gridbox table.obj tr td.editable{padding:0;}div.gridbox_dhx_web.gridbox table.obj tr td.editable div.treegrid_cell{padding:1px 4px;}div.gridbox_dhx_web.gridbox table.obj tr.rowselected{background-color:#85d3ff;color:#000;}div.gridbox_dhx_web.gridbox table.obj tr.rowselected td{background-color:#85d3ff;color:#000;}div.gridbox_dhx_web.gridbox table.obj.row20px tr.rowselected td{background-color:#85d3ff;border-right-color:#85d3ff;color:#000;}div.gridbox_dhx_web.gridbox table.obj tr td.cellselected{background-color:#85d3ff;color:#000;}div.gridbox_dhx_web.gridbox .odd_dhx_web{background-color:#f9f9f9;color:#000;}.dhx_combo_select,.gridbox_dhx_web.gridbox .dhx_combo_edit,.gridbox_dhx_web.gridbox .dhx_textarea{font-family:Tahoma,Helvetica;font-size:12px;color:#000;}.gridbox_dhx_web.gridbox .dhx_combo_edit{padding:1px 0 0 1px;}.gridbox_dhx_web.gridbox .dhx_sub_row{background-color:transparent;}.dhx_header_cmenu{background-color:#fff;border:2px outset silver;z-index:2;}.dhx_header_cmenu_item{white-space:nowrap;}.dhx_pbox{margin-top:3px;border:1px solid #D4D0C8;border-top:0;font-size:10px;}.dhx_pline{background-color:white;margin:-15px 10px 10px 10px;padding:0 5px 0 5px;float:left;}.dhx_page,.dhx_pager_info{margin:3px;text-align:center;font-family:Tahoma,Helvetica;font-size:12px;color:#000;float:left;cursor:pointer;color:black;background-color:gray;padding:1px;}.dhx_pager_info{white-space:nowrap;background-color:white;margin:-8px 10px 10px 10px;padding:0 5px 0 5px;cursor:default;}.dhx_page div{background-color:white;width:16px;height:17px;vertical-align:middle;}div.dhx_page_active{font-weight:bold;background-color:lightgrey;cursor:default;color:white;}.dhx_pbox_modern{margin-top:3px;border:1px solid #D6D6D6;border-top:0;font-size:10px;}.dhx_pline_modern{background-color:white;margin:-15px 10px 10px 10px;padding:0 5px 0 5px;float:left;}.dhx_page_modern,.dhx_pager_info_modern{margin:3px;text-align:center;font-family:Tahoma,Helvetica;font-size:12px;color:#000;float:left;cursor:pointer;color:#055A78;background-color:#D6D6D6;padding:1px;}.dhx_pager_info_modern{white-space:nowrap;background-color:white;margin:-8px 10px 10px 10px;padding:0 5px 0 5px;cursor:default;}.dhx_page_modern div{background-color:white;width:16px;height:17px;vertical-align:middle;}div.dhx_page_active_modern{font-weight:bold;background-color:#055A78;cursor:default;color:white;}.dhx_pbox_light{margin-top:3px;border:1px solid #C2D5DC;border-top:0;font-size:10px;}.dhx_pline_light{background-color:white;margin:-15px 10px 10px 10px;padding:0 5px 0 5px;float:left;}.dhx_page_light,.dhx_pager_info_light{margin:3px;text-align:center;font-family:Tahoma,Helvetica;font-size:12px;color:#000;float:left;cursor:pointer;color:#055A78;background-color:#93AFBA;padding:1px;}.dhx_pager_info_light{white-space:nowrap;background-color:white;margin:-8px 10px 10px 10px;padding:0 5px 0 5px;cursor:default;}.dhx_page_light div{background-color:white;width:16px;height:17px;vertical-align:middle;}div.dhx_page_active_light{font-weight:bold;background-color:#D1DFE3;cursor:default;color:white;}.calcTable{width:100px;background-color:silver;border:1px black solid;}.calcButton{height:20px;cursor:pointer;text-align:center;background-color:gray;color:white;font-size:10px;font-weight:bold;border-top:1px solid silver;border-right:1px solid silver;}.calcPressed{height:20px;cursor:pointer;text-align:center;background-color:gray;color:white;font-size:10px;font-weight:bold;border-top:1px solid black;border-right:1px solid black;}.calcInput{background-color:white;font-size:10px;font-weight:bold;font-family:tahoma,arial;}.calkSubmit{padding:2px;cursor:pointer;text-align:center;background-color:silver;color:white;font-size:10px;font-weight:bold;border-top:1px solid white;border-right:1px solid white;}.calcTable{width:100px;background-color:silver;border:1px black solid;}.calcButton{height:20px;cursor:pointer;text-align:center;background-color:gray;color:white;font-size:10px;font-weight:bold;border-top:1px solid silver;border-right:1px solid silver;}.calcPressed{height:20px;cursor:pointer;text-align:center;background-color:gray;color:white;font-size:10px;font-weight:bold;border-top:1px solid black;border-right:1px solid black;}.calcInput{background-color:white;font-size:10px;font-weight:bold;font-family:tahoma,arial;}.calkSubmit{padding:2px;cursor:pointer;text-align:center;background-color:silver;color:white;font-size:10px;font-weight:bold;border-top:1px solid white;border-right:1px solid white;}.dhxgrid_sort_desc,.dhxgrid_sort_asc{width:9px;height:8px;background-image:url("imgs/dhxgrid_web/sort_desc.gif");background-repeat:no-repeat;z-index:10;}.dhxgrid_sort_asc{background-image:url("imgs/dhxgrid_web/sort_asc.gif");background-repeat:no-repeat;}.dhxgrid_rh_dhx_web{position:absolute;top:-20px;left:-30px;width:26px;height:10px;margin:0;padding:0;border-width:0;font-size:1px;overflow:hidden;}.dhxgrid_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:20px;height:10px;overflow:hidden;}div.gridbox_dhx_web.gridbox table.obj.row20px tr td img{display:block;}div.gridbox_dhx_web.gridbox table.obj.row20px tr td.group_row img,div.gridbox_dhx_web.gridbox table.obj.row20px tr td .treegrid_cell img{display:inline;}.dhx_grid_icon{text-align:center;color:#777;font-size:18px;}.dhx_treegrid_icon{text-align:center;color:#777;font-size:16px;margin-right:4px;position:relative;top:1px;}.grid_cell_dyn{position:relative;padding-right:2px;width:100%;overflow:hidden;white-space:nowrap;}.grid_cell_dyn img{position:absolute;top:0;left:0;height:15px;}.grid_cell_dyn span{padding-left:20px;width:100%;}.grid_collapse_icon{margin-top:-2px;}.dhx_row_drag_active{background:#eee!important;}.dhxform_obj_dhx_web{font-family:Tahoma,Helvetica;font-size:12px;color:#000;float:left;line-height:normal;}.dhxform_obj_dhx_web div.dhxform_base{position:relative;float:left;margin:0!important;}.dhxform_obj_dhx_web div.dhxform_base_nested{padding:0;clear:both;*display:inline-block;}.dhxform_obj_dhx_web.dhxform_block{clear:both;}.dhxform_obj_dhx_web div.block_dhxform_item_label_left{display:block;clear:both;*clear:none;}.dhxform_obj_dhx_web div.dhxform_label div.dhxform_label_nav_link,.dhxform_obj_dhx_web div.dhxform_label div.dhxform_label_nav_link:visited,.dhxform_obj_dhx_web div.dhxform_label div.dhxform_label_nav_link:active,.dhxform_obj_dhx_web div.dhxform_label div.dhxform_label_nav_link:hover{outline:none;text-decoration:none;color:inherit;cursor:default;overflow:hidden;white-space:nowrap;}.dhxform_obj_dhx_web div.dhxform_label div.dhxform_label_nav_link:focus{color:#0096eb;}.dhxform_obj_dhx_web div.disabled span.nav_link{color:inherit;}.dhxform_obj_dhx_web div.dhxform_img,.dhxform_obj_dhx_web div.dhxform_actv_c,.dhxform_obj_dhx_web div.dhxform_actv_r{width:18px;height:18px;font-size:1px;}.dhxform_obj_dhx_web div.dhxform_img.chbx0,.dhxform_obj_dhx_web div.dhxform_img.chbx1,.dhxform_obj_dhx_web div.disabled div.dhxform_img.chbx0,.dhxform_obj_dhx_web div.disabled div.dhxform_img.chbx1,.dhxform_obj_dhx_web div.dhxform_img.rdbt0,.dhxform_obj_dhx_web div.dhxform_img.rdbt1,.dhxform_obj_dhx_web div.disabled div.dhxform_img.rdbt0,.dhxform_obj_dhx_web div.disabled div.dhxform_img.rdbt1,.dhxform_obj_dhx_web div.dhxform_actv_c.chbx0,.dhxform_obj_dhx_web div.dhxform_actv_c.chbx1,.dhxform_obj_dhx_web div.dhxform_actv_r.rdbt0,.dhxform_obj_dhx_web div.dhxform_actv_r.rdbt1{background-image:url("imgs/dhxform_web/dhxform_chbxrd.gif");background-repeat:no-repeat;}.dhxform_obj_dhx_web div.dhxform_img.chbx0{background-position:-18px 0;}.dhxform_obj_dhx_web div.dhxform_img.chbx1{background-position:0 0;}.dhxform_obj_dhx_web div.disabled div.dhxform_img.chbx0{background-position:-54px 0;}.dhxform_obj_dhx_web div.disabled div.dhxform_img.chbx1{background-position:-36px 0;}.dhxform_obj_dhx_web div.dhxform_img.rdbt0{background-position:-90px 0;}.dhxform_obj_dhx_web div.dhxform_img.rdbt1{background-position:-72px 0;}.dhxform_obj_dhx_web div.disabled div.dhxform_img.rdbt0{background-position:-126px 0;}.dhxform_obj_dhx_web div.disabled div.dhxform_img.rdbt1{background-position:-108px 0;}.dhxform_obj_dhx_web div.dhxform_actv_c.chbx0{background-position:-162px 0;}.dhxform_obj_dhx_web div.dhxform_actv_c.chbx1{background-position:-144px 0;}.dhxform_obj_dhx_web div.dhxform_actv_r.rdbt0{background-position:-198px 0;}.dhxform_obj_dhx_web div.dhxform_actv_r.rdbt1{background-position:-180px 0;}.dhxform_obj_dhx_web div.dhxform_label{font-family:Tahoma,Helvetica;font-size:inherit;color:#000;overflow-x:hidden;overflow:hidden;white-space:nowrap;}.dhxform_obj_dhx_web div.dhxform_label.dhxform_label_align_left{text-align:left;}.dhxform_obj_dhx_web div.dhxform_label.dhxform_label_align_center{text-align:center;}.dhxform_obj_dhx_web div.dhxform_label.dhxform_label_align_right{text-align:right;}.dhxform_obj_dhx_web div.disabled div.dhxform_label,.dhxform_obj_dhx_web div.disabled div.dhxform_label div.dhxform_label_nav_link,.dhxform_obj_dhx_web div.disabled div.dhxform_label span.dhxform_item_required{color:#999;}.dhxform_obj_dhx_web div.dhxform_label span.dhxform_item_required{margin-left:5px;color:red;}.dhxform_obj_dhx_web input.dhxform_textarea,.dhxform_obj_dhx_web textarea.dhxform_textarea{padding:4px 4px!important;margin:0;font-size:1em;}.dhxform_obj_dhx_web input.dhxform_textarea::-ms-clear,.dhxform_obj_dhx_web textarea.dhxform_textarea::-ms-clear{display:none;}.dhxform_obj_dhx_web .dhxform_textarea{border:1px solid #d6d6d6;font-family:Tahoma,Helvetica;font-size:1em;color:black;resize:none;}.dhxform_obj_dhx_web div.disabled .dhxform_textarea{color:#999;background-color:#fff;border:1px solid #f0f0f0;}.dhxform_obj_dhx_web div.dhxform_control.dhxform_img_node{position:relative;}.dhxform_obj_dhx_web div.dhxform_control.dhxform_img_node .dhxform_textarea{border:1px solid white;background-color:white;color:white;visibility:hidden;*height:1px;*line-height:1px;*display:inline;}.dhxform_obj_dhx_web div.dhxform_control.dhxform_img_node div.dhxform_img,.dhxform_obj_dhx_web div.dhxform_control.dhxform_img_node div.dhxform_actv_c,.dhxform_obj_dhx_web div.dhxform_control.dhxform_img_node div.dhxform_actv_r{float:none;top:2px;left:0;position:absolute;margin:0;}.dhxform_obj_dhx_web div.dhxform_item_label_left div.dhxform_control.dhxform_img_node{margin-left:2px;}.dhxform_obj_dhx_web div.dhxform_item_label_right div.dhxform_control.dhxform_img_node{margin-right:0;}.dhxform_obj_dhx_web .dhxform_select{border:1px solid #d6d6d6;background-color:#fff;font-family:Tahoma,Helvetica;font-size:1em;color:black;margin:0;padding:3px 0;}.dhxform_obj_dhx_web .dhxform_select option{padding-left:2px;}.dhxform_obj_dhx_web div.disabled .dhxform_select{color:#999;background-color:#fff;border:1px solid #f0f0f0;}.dhxform_obj_dhx_web div.fs_dhxform_item_label_left{padding:5px 0 5px 0;}.dhxform_obj_dhx_web div.fs_dhxform_item_label_left fieldset.dhxform_fs div.dhxform_base_nested.dhxform_fs_nested{margin-right:19px;margin-left:5px;}.dhxform_obj_dhx_web fieldset.dhxform_fs{border:1px solid #d6d6d6;margin:0;padding:5px 0 15px 0;clear:left;width:100%;}.dhxform_obj_dhx_web div.disabled fieldset.dhxform_fs{border:1px solid #f0f0f0;}.dhxform_obj_dhx_web fieldset.dhxform_fs legend.fs_legend{font-family:Tahoma,Helvetica;font-size:inherit;color:#484848;font-weight:normal;padding:0 4px 1px 4px;margin-left:5px;text-align:left;}.dhxform_obj_dhx_web div.disabled fieldset.dhxform_fs legend.fs_legend{color:#999;}.dhxform_obj_dhx_web div.dhxform_item_label_right{clear:both;padding-top:6px;cursor:default;*display:inline-block;}.dhxform_obj_dhx_web div.dhxform_item_label_right div.dhxform_img,.dhxform_obj_dhx_web div.dhxform_item_label_right div.dhxform_actv_c,.dhxform_obj_dhx_web div.dhxform_item_label_right div.dhxform_actv_r{float:left;margin:0;}.dhxform_obj_dhx_web div.dhxform_item_label_right div.dhxform_label{float:left;padding:2px 0 2px 0;margin:2px 0 2px 0;}.dhxform_obj_dhx_web div.dhxform_item_label_right div.dhxform_control{float:left;margin-right:3px;}.dhxform_obj_dhx_web div.dhxform_item_label_left{clear:both;padding-top:6px;cursor:default;*display:inline-block;}.dhxform_obj_dhx_web div.dhxform_item_label_left div.dhxform_img,.dhxform_obj_dhx_web div.dhxform_item_label_left div.dhxform_actv_c,.dhxform_obj_dhx_web div.dhxform_item_label_left div.dhxform_actv_r{float:right;margin:0;}.dhxform_obj_dhx_web div.dhxform_item_label_left div.dhxform_label{float:left;padding:1px 0 1px 0;margin:2px 0 2px 0;}.dhxform_obj_dhx_web div.dhxform_item_label_left div.dhxform_control{float:left;margin-left:3px;}.dhxform_obj_dhx_web div.dhxform_item_label_top{clear:both;}.dhxform_obj_dhx_web div.dhxform_item_label_top div.dhxform_label{float:none;margin-bottom:5px;margin-top:8px;}.dhxform_obj_dhx_web div.dhxform_item_label_top div.dhxform_control{float:none;margin-left:0;margin-bottom:5px;}.dhxform_obj_dhx_web div.dhxform_item_absolute{position:absolute;left:0;top:0;cursor:default;}.dhxform_obj_dhx_web div.item_absolute div.dhxform_img,.dhxform_obj_dhx_web div.item_absolute div.dhxform_actv_c,.dhxform_obj_dhx_web div.item_absolute div.dhxform_actv_r{position:absolute;}.dhxform_obj_dhx_web div.dhxform_item_absolute div.dhxform_control,.dhxform_obj_dhx_web div.dhxform_item_absolute div.dhxform_label,.dhxform_obj_dhx_web div.dhxform_item_absolute div.dhxform_control.dhxform_img_node,.dhxform_obj_dhx_web div.dhxform_item_absolute div.dhxform_txt_label2,.dhxform_obj_dhx_web div.dhxform_item_absolute div.dhxform_btn,.dhxform_obj_dhx_web div.block_item_absolute div.dhxform_block{position:absolute;}.dhxform_obj_dhx_web div.dhxform_txt_label2{font-family:Tahoma,Helvetica;font-size:inherit;color:#484848;font-weight:bold;margin:0 3px;padding:5px 0;cursor:default;}.dhxform_obj_dhx_web div.disabled div.dhxform_txt_label2{color:#b3b3b3;}.dhxform_obj_dhx_web div.dhxform_btn{margin:1px 2px;background-color:#3da0e3;float:left;cursor:default;clear:both;position:relative;overflow:hidden;font-family:Tahoma,Helvetica;font-size:inherit;color:#fff;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);}.dhxform_obj_dhx_web.dhxform_rtl div.dhxform_btn{float:right;}.dhxform_obj_dhx_web div.dhxform_btn.dhxform_btn_over{background-color:#2a8ed2;}.dhxform_obj_dhx_web div.dhxform_btn.dhxform_btn_pressed{background-color:#2589ce;}.dhxform_obj_dhx_web div.disabled div.dhxform_btn{background-color:#f2f2f2;}.dhxform_obj_dhx_web div.dhxform_btn div.dhxform_btn_txt{float:left;margin:0 17px;height:24px;line-height:23px;text-align:center;vertical-align:middle;overflow:hidden;white-space:nowrap;*display:inline;opacity:1;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=100);}.dhxform_obj_dhx_web div.dhxform_btn div.dhxform_btn_txt.dhxform_btn_txt_autowidth{width:100%;margin:0;}.dhxform_obj_dhx_web div.disabled div.dhxform_btn div.dhxform_btn_txt{color:#999!important;}.dhxform_obj_dhx_web div.dhxform_btn:focus{outline:1px dotted #000;}.dhxform_obj_dhx_web div.dhxform_btn div.dhxform_btn_filler{position:absolute;display:inline-block;width:100%;height:100px;left:0;top:0;background-color:white;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}.dhxform_obj_dhx_web div.dhxform_control div.dhxform_note{font-family:Tahoma,Helvetica;font-size:.8em;color:gray;padding-bottom:3px;white-space:normal;}.dhxform_obj_dhx_web div.disabled div.dhxform_control div.dhxform_note{color:#999;}.dhxform_obj_dhx_web div.dhxform_label span.dhxform_info{font-family:Tahoma,Helvetica;font-size:.6em;color:gray;margin-left:3px;padding-bottom:2px;line-height:100%;vertical-align:middle;cursor:pointer;}.dhxform_obj_dhx_web .validate_error .dhxform_label,.dhxform_obj_dhx_web .validate_error .dhxform_textarea,.dhxform_obj_dhx_web .validate_error .dhxform_select,.dhxform_obj_dhx_web .validate_error div.dhxform_label_nav_link,.dhxform_obj_dhx_web .validate_error div.dhxform_label div.dhxform_label_nav_link:focus{color:red;}.dhxform_obj_dhx_web div.disabled .dhx_combo_box.dhx_web{border:1px solid #f0f0f0;}.dhxform_obj_dhx_web div.disabled .dhx_combo_box.dhx_web .dhx_combo_input{color:#999;background-color:#fff;}.dhxform_obj_dhx_web div.dhxform_item_template.dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_cont_editor{border-left:1px solid #d6d6d6;border-right:1px solid #d6d6d6;border-bottom:1px solid #d6d6d6;}.dhxform_obj_dhx_web div.dhxform_item_template.dhxeditor_dhx_web div.dhxcont_content_blocker{display:none;}.dhxform_obj_dhx_web div.disabled div.dhxform_item_template.dhxeditor_dhx_web div.dhxcont_content_blocker{display:inline;position:absolute;width:100%;height:100%;top:0;left:0;background-color:white;opacity:.7;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=70);}.dhtmlx_skin_dhx_web div.dhtmlx_wins_body_inner .dhxform_obj_dhx_web{background-color:white;}.dhxform_obj_dhx_web div.dhxform_control .dhx_combo_box.dhx_web .dhx_combo_input,.dhx_combo_list.dhx_web_list div{font-size:1em!important;}.dhxform_obj_dhx_web .dhx_file_uploader{position:relative;width:100%;margin-bottom:4px;}.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls{position:relative;width:100%;height:35px;font-size:2px;overflow:hidden;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button{position:absolute;width:19px;height:19px;top:8px;background-image:url("imgs/dhxform_web/dhxform_upload_buttons.gif");background-repeat:no-repeat;font-size:2px;cursor:pointer;overflow:hidden;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=100);z-index:1;-webkit-tap-highlight-color:rgba(0,0,0,0);}.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_info{display:none;}.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_browse{background-position:0 0;right:108px;}.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_upload{background-position:-19px 0;right:79px;}.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_cancel{background-position:-57px 0;right:79px;}.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_clear{background-position:-38px 0;right:50px;}.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls .dhx_uploader_input{position:absolute;left:-1000px;top:0;visibility:hidden;}.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls div.dhx_file_form_cont{position:absolute;width:19px;height:19px;left:0;top:0;cursor:pointer;overflow:hidden;}.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls div.dhx_file_form_cont form.dhx_file_form{position:absolute;top:0;right:0;cursor:pointer;}.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls div.dhx_file_form_cont form.dhx_file_form .dhx_file_input{opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);cursor:pointer;outline:none;height:19px;}.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files{position:relative;width:100%;left:0;top:0;overflow:auto;}.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files div.dhx_file{position:relative;width:100%;height:25px;overflow:hidden;}.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_added,.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_uploading{color:#000;}.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_uploaded{color:#646464;}.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_fail{color:#e94a4a;}.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files div.dhx_file_param{position:absolute;font-family:inherit;font-size:inherit;color:inherit;top:0;height:25px;line-height:25px;vertical-align:middle;overflow:hidden;}.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_name{left:20px;}.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_progress{right:50px;width:38px;text-align:right;}.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_delete{right:30px;width:11px;background-image:url("imgs/dhxform_web/dhxform_upload_buttons.gif");background-position:-76px 0;background-repeat:no-repeat;cursor:pointer;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_uploading{right:50px;width:38px;text-align:right;background-image:url("imgs/dhxform_web/dhxform_upload_uploading.gif");background-position:center center;background-repeat:no-repeat;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxform_obj_dhx_web .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls{height:60px;}.dhxform_obj_dhx_web .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_files{display:none;}.dhxform_obj_dhx_web .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_info{display:inline;background-image:none;font-size:13px;height:auto;top:0;left:35px;color:#a0a0a0;vertical-align:top;padding-top:6px;line-height:20px;cursor:default;filter:none;}.dhxform_obj_dhx_web .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_browse{top:0;width:54px;height:54px;right:35px;background-image:url("imgs/dhxform_web/dhxform_upload_buttons.gif");background-position:0 -38px;background-repeat:no-repeat;}.dhxform_obj_dhx_web .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_upload,.dhxform_obj_dhx_web .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_cancel,.dhxform_obj_dhx_web .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_clear{display:none;}.dhxform_obj_dhx_web .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_form_cont{width:54px;height:54px;}.dhxform_obj_dhx_web .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_form_cont form.dhx_file_form .dhx_file_input{height:54px;}.dhxform_obj_dhx_web .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_info,.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_added,.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_uploading,.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_uploaded,.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_fail{color:#999;}.dhxform_obj_dhx_web .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_browse{background-position:-54px -38px;cursor:default;}.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_form_cont{display:none;}.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button{cursor:default;}.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_browse{background-position:0 -19px;}.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_upload{background-position:-19px -19px;}.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_cancel{background-position:-57px -19px;}.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_clear{background-position:-38px -19px;}.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file_param.dhx_file_delete{background-position:-87px 0;cursor:default;}.dhxform_obj_dhx_web div.dhxform_image{position:relative;overflow:hidden;border:1px solid #d6d6d6;}.dhxform_obj_dhx_web div.dhxform_image img.dhxform_image_img{position:absolute;}.dhxform_obj_dhx_web div.dhxform_image div.dhxform_image_wrap{position:absolute;background-color:white;left:0;top:0;width:100%;height:100%;overflow:hidden;*border:1px solid white;*height:1000px;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);-webkit-transition:opacity .6s;-moz-transition:opacity .6s;-ms-transition:opacity .6s;-o-transition:opacity .6s;transition:opacity .6s;}.dhxform_obj_dhx_web div.dhxform_image div.dhxform_image_wrap.dhxform_image_in_progress{background-image:url("imgs/dhxform_web/dhxform_image_uploading.gif");background-position:center center;background-repeat:no-repeat;*border-width:0;*height:100%;opacity:.85;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=85);-webkit-transition:opacity .1s;-moz-transition:opacity .1s;-ms-transition:opacity .1s;-o-transition:opacity .1s;transition:opacity .1s;}.dhxform_obj_dhx_web div.dhxform_image div.dhxform_image_wrap.dhxform_image_in_progress form.dhxform_image_form{display:none;}.dhxform_obj_dhx_web div.dhxform_image div.dhxform_image_wrap form.dhxform_image_form{position:absolute;top:0;right:0;cursor:pointer;}.dhxform_obj_dhx_web div.dhxform_image div.dhxform_image_wrap form.dhxform_image_form input.dhxform_image_input{cursor:pointer;outline:none;height:1000px;font-size:100px;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}.dhxform_obj_dhx_web div.disabled div.dhxform_image{border-color:#f0f0f0;}.dhxform_obj_dhx_web div.disabled div.dhxform_image img.dhxform_image_img{opacity:.5;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);}.dhxform_obj_dhx_web div.disabled div.dhxform_image div.dhxform_image_wrap{cursor:default;}.dhxform_obj_dhx_web div.disabled div.dhxform_image form.dhxform_image_form{display:none;}div.dhx_form_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:20px;height:10px;overflow:hidden;}.dhxacc_base_dhx_web{position:relative;cursor:default;overflow:hidden;}.dhxacc_base_dhx_web div.dhxacc_cont{position:absolute;*overflow:hidden;}.dhxacc_base_dhx_web div.dhx_cell_acc{position:relative;background-color:white;margin:0;padding:0;overflow:hidden;cursor:default;box-shadow:0 0 3px #e0e0e0;}.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_cont_acc{position:absolute;border-left:1px solid #c7c7c7;border-right:1px solid #c7c7c7;border-bottom:1px solid #c7c7c7;border-top:0 solid white;padding:8px;overflow:hidden;z-index:0;}.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_cont_acc.dhx_cell_cont_no_borders{border:0 solid #fff!important;padding:0;}.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_cover{position:absolute;left:0;top:0;width:100%;height:100%;margin:0;padding:0;font-size:1px;background-color:white;overflow:hidden;z-index:1;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_hdr{position:relative;height:32px;line-height:30px;font-family:Tahoma,Helvetica;font-size:12px;color:#fff;font-weight:normal;background-color:#2589ce;overflow:hidden;cursor:default;z-index:3;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_hdr.dhx_cell_hdr_hidden{border-top:1px solid #c7c7c7;height:0;line-height:0;overflow:hidden;}.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_hdr div.dhx_cell_hdr_text{position:relative;margin:0 26px 0 5px;overflow:hidden;white-space:nowrap;cursor:default;}.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_hdr img.dhx_cell_hdr_icon{position:absolute;top:7px;left:6px;width:16px;height:16px;}.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_hdr i{position:absolute;top:7px;left:5px;width:16px;height:16px;line-height:16px;text-align:center;cursor:default;font-size:1.1em;color:inherit;}.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_icon{margin-left:24px!important;}.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_hdr div.dhx_cell_hdr_arrow{position:absolute;top:8px;right:5px;width:16px;height:16px;background-image:url("imgs/dhxacc_web/dhxacc_btns.gif");background-repeat:no-repeat;background-position:0 0;overflow:hidden;cursor:pointer;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxacc_base_dhx_web div.dhx_cell_acc.dhx_cell_closed div.dhx_cell_hdr div.dhx_cell_hdr_arrow{background-position:-16px 0;}.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_cont_acc.dhx_cell_cont_not_last{border-bottom:0 solid white;}.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_menu_def{position:relative;overflow:hidden;padding:9px 9px 0 9px;border-left:1px solid #c7c7c7;border-right:1px solid #c7c7c7;}.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_toolbar_def{padding:9px 9px 0 9px;border-left:1px solid #c7c7c7;border-right:1px solid #c7c7c7;}.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_ribbon_def div.dhtmlxribbon_dhx_web.dhxrb_without_tabbar{border-top:0 solid white;width:auto;}.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_statusbar_def{position:absolute;bottom:0;width:100%;background-color:#f4f4f4;}.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text{height:21px;line-height:21px;position:relative;padding:0 4px;overflow:hidden;white-space:nowrap;border-bottom:1px solid #c7c7c7;border-left:1px solid #c7c7c7;border-right:1px solid #c7c7c7;font-family:Tahoma,Helvetica;font-size:12px;color:#000;}.dhxacc_base_dhx_web div.dhx_cell_acc.acc_cell_dragged{box-shadow:0 0 5px 2px #c2c2c2;z-index:5!important;}.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_progress_bar{position:absolute;left:0;top:0;width:100%;height:100%;background-color:#fff;z-index:1;opacity:.75;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=75);}.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_progress_img{position:absolute;left:0;top:0;width:100%;height:100%;background-image:url("imgs/dhxacc_web/dhxacc_cell_progress.gif");background-position:center center;background-repeat:no-repeat;z-index:2;}.dhxacc_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:20px;height:10px;overflow:hidden;}.dhxlayout_base_dhx_web{position:relative;cursor:default;}.dhxlayout_base_dhx_web div.dhxlayout_cont{position:absolute;*overflow:hidden;}.dhxlayout_base_dhx_web div.dhxlayout_sep{position:absolute;background-color:#fff;font-size:1px;margin:0;padding:0;overflow:hidden;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;background-repeat:no-repeat;background-position:center center;-webkit-tap-highlight-color:rgba(0,0,0,0);-ms-touch-action:none;touch-action:none;}div.dhxlayout_sep_sw_dhx_web{position:absolute;left:0;top:-100px;width:9px;height:1px;font-size:1px;margin:0;padding:0;overflow:hidden;}.dhxlayout_base_dhx_web div.dhxlayout_sep.dhxlayout_sep_resize_v{cursor:w-resize;background-image:url('imgs/dhxlayout_web/dhxlayout_sep_v.gif');}.dhxlayout_base_dhx_web div.dhxlayout_sep.dhxlayout_sep_resize_h{cursor:n-resize;background-image:url('imgs/dhxlayout_web/dhxlayout_sep_h.gif');}.dhxlayout_base_dhx_web div.dhxlayout_sep.dhxlayout_sep_resize_actv{background-color:#f2f2f2;}.dhxlayout_base_dhx_web div.dhx_cell_layout{position:absolute;background-color:white;margin:0;padding:0;overflow:hidden;cursor:default;z-index:0;}.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_cover{position:absolute;left:0;top:0;width:100%;height:100%;margin:0;padding:0;font-size:1px;background-color:white;overflow:hidden;z-index:1;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_cont_layout{position:absolute;border-left:1px solid #c7c7c7;border-right:1px solid #c7c7c7;border-bottom:1px solid #c7c7c7;border-top:0 solid white;padding:8px;overflow:hidden;z-index:0;}.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_cont_layout.dhx_cell_cont_no_borders{border:0 solid white!important;padding:0;}.dhxlayout_base_dhx_web div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_cont_layout,.dhxlayout_base_dhx_web div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_cont_layout{display:none;}.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_hdr{position:relative;height:32px;line-height:31px;overflow:hidden;font-family:Tahoma,Helvetica;font-size:12px;color:#fff;font-weight:bold;background-color:#2589ce;cursor:default;}.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_hdr.dhx_cell_hdr_hidden{height:0;line-height:0;border-top:1px solid #c7c7c7;overflow:hidden;}.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_hdr.dhx_cell_hdr_hidden_no_borders{height:0;line-height:0;border-width:0;overflow:hidden;}.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_hdr div.dhx_cell_hdr_text{position:relative;margin:0 26px 0 5px;overflow:hidden;white-space:nowrap;cursor:default;}.dhxlayout_base_dhx_web div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_hdr{height:21px;line-height:20px;color:white;font-weight:normal;}.dhxlayout_base_dhx_web div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr{width:21px;}.dhxlayout_base_dhx_web div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text{position:absolute;left:3px;bottom:0;transform:rotate(270deg);-ms-transform:rotate(270deg);transform-origin:left center;font-weight:normal;text-overflow:ellipsis;}.dhxlayout_base_dhx_web div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie8{left:-6px;line-height:20px;}.dhxlayout_base_dhx_web div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie8 span{float:left;filter:progid:DXImageTransform.Microsoft.Matrix(M11='6.123031769111886e-17', M12='1', M21='-1', M22='6.123031769111886e-17', sizingMethod='auto expand');margin-bottom:95%;}.dhxlayout_base_dhx_web div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie9{left:0;line-height:20px;}.dhxlayout_base_dhx_web div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie9 span{float:left;filter:none;margin-bottom:95%;}.dhxlayout_base_dhx_web div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie7{left:-7px;line-height:20px;padding-bottom:10px;}.dhxlayout_base_dhx_web div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie7 span{float:left;filter:progid:DXImageTransform.Microsoft.Matrix(M11='6.123031769111886e-17', M12='1', M21='-1', M22='6.123031769111886e-17', sizingMethod='auto expand');}.dhxlayout_base_dhx_web div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie6{left:-7px;line-height:20px;padding-bottom:10px;}.dhxlayout_base_dhx_web div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie6 span{float:left;filter:progid:DXImageTransform.Microsoft.Matrix(M11='6.123031769111886e-17', M12='1', M21='-1', M22='6.123031769111886e-17', sizingMethod='auto expand');}.dhxlayout_base_dhx_web div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_chrome{left:3px;-webkit-transform:rotate(270deg);-webkit-transform-origin:left center;}.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_hdr div.dhxlayout_arrow{position:absolute;right:4px;top:9px;width:16px;height:16px;background-image:url('imgs/dhxlayout_web/dhxlayout_cell_btns.gif');background-repeat:no-repeat;cursor:pointer;}.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_va{background-position:-16px 0;}.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_vb{background-position:-48px 0;}.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_ha{background-position:-32px 0;}.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_hb{background-position:0 0;}.dhxlayout_base_dhx_web div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_ha{background-position:0 -5px;}.dhxlayout_base_dhx_web div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_hb{background-position:-32px -4px;}.dhxlayout_base_dhx_web div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_va{background-position:-45px 0;margin-right:3px;}.dhxlayout_base_dhx_web div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_vb{background-position:-13px 0;}body.dhxlayout_resize_v *{-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:w-resize!important;}body.dhxlayout_resize_h *{-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:n-resize!important;}.dhxlayout_base_dhx_web div.dhxlayout_resize_area{position:absolute;background-color:#c7c7c7;opacity:.25;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=25);z-index:1;border:2px dashed black;cursor:inherit;}.dhxlayout_base_dhx_web div.dhxlayout_resize_sep{position:absolute;background-color:#2589ce;overflow:hidden;display:block;opacity:.5;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);z-index:2;cursor:inherit;}.dhxlayout_base_dhx_web div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_statusbar_def,.dhxlayout_base_dhx_web div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_statusbar_def{display:none;}.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_menu_def{position:relative;overflow:hidden;padding:9px 9px 0 9px;border-left:1px solid #c7c7c7;border-right:1px solid #c7c7c7;}.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_menu_no_borders{position:relative;overflow:hidden;}.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_menu_def div.dhtmlxMenu_dhx_web_Middle,.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_menu_no_borders div.dhtmlxMenu_dhx_web_Middle{padding:0 2px;}.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_toolbar_def{position:relative;overflow:hidden;padding:9px 9px 0 9px;border-left:1px solid #c7c7c7;border-right:1px solid #c7c7c7;}.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_toolbar_def div.dhx_toolbar_dhx_web{border-top:0 solid white;}.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_dhx_web{margin-top:-1px;}.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_ribbon_def div.dhtmlxribbon_dhx_web.dhxrb_without_tabbar{border-top:0 solid white;width:auto;}.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_statusbar_def{position:absolute;bottom:0;width:100%;font-family:Tahoma,Helvetica;font-size:12px;color:#000;background-color:#f4f4f4;}.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text{position:relative;padding:0 4px;height:21px;line-height:21px;border-bottom:1px solid #c7c7c7;border-left:1px solid #c7c7c7;border-right:1px solid #c7c7c7;white-space:nowrap;overflow:hidden;}.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_progress_bar{position:absolute;left:0;top:0;width:100%;height:100%;background-color:#fff;z-index:1;opacity:.75;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=75);}.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_progress_img{position:absolute;left:0;top:0;width:100%;height:100%;background-image:url('imgs/dhxlayout_web/dhxlayout_cell_progress.gif');background-position:center center;background-repeat:no-repeat;z-index:2;}.dhxlayout_base_dhx_web div.dhxcelltop_hdr{position:relative;}.dhxlayout_base_dhx_web div.dhxcelltop_ftr{position:absolute;}.dhxlayout_base_dhx_web div.dhxcelltop_progress{position:absolute;left:0;top:0;width:100%;height:100%;background-color:white;z-index:3;opacity:.55;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=55);}.dhxlayout_base_dhx_web div.dhxcelltop_progress_img{position:absolute;left:0;top:0;width:100%;height:100%;background-image:url('imgs/dhxlayout_web/dhxlayout_cell_progress.gif');background-position:center center;background-repeat:no-repeat;z-index:4;}.dhxlayout_base_dhx_web div.dhxcelltop_menu{position:relative;overflow:hidden;border-bottom:9px solid #fff;}.dhxlayout_base_dhx_web div.dhxcelltop_toolbar{position:relative;background-color:#fff;padding-bottom:9px;overflow:hidden;}.dhxlayout_base_dhx_web div.dhxcelltop_ribbon{position:relative;border-bottom:9px solid #fff;}.dhxlayout_base_dhx_web div.dhxcelltop_ribbon div.dhtmlxribbon_dhx_web.dhxrb_without_tabbar{width:auto;}.dhxlayout_base_dhx_web div.dhxcelltop_statusbar{position:absolute;overflow:hidden;background-color:#fff;}.dhxlayout_base_dhx_web div.dhxcelltop_statusbar div.dhxcont_statusbar{position:relative;background-color:#f4f4f4;margin-top:9px;border:1px solid #c7c7c7;padding:3px 4px;font-family:Tahoma,Helvetica;font-size:12px;color:#000;}.dhxlayout_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:20px;height:10px;overflow:hidden;}.dhxtabbar_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:20px;height:10px;overflow:hidden;}.dhxtabbar_fullscreen{width:100%;height:100%;margin:0;overflow:hidden;}.dhxtabbar_base_dhx_web{position:relative;}.dhxtabbar_base_dhx_web div.dhxtabbar_cont{position:absolute;*overflow:hidden;}.dhxtabbar_base_dhx_web div.dhxtabbar_tabs{position:absolute;top:0;bottom:auto;height:32px;overflow:hidden;white-space:nowrap;background-color:#3da0e3;border:none;z-index:2;}.dhxtabbar_base_dhx_web div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs{top:auto;bottom:0;}.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tabs_base{position:absolute;top:0;height:32px;overflow:hidden;}.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tabs_cont_left,.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tabs_cont_right{position:absolute;width:5000px;height:32px;margin:0 1px;top:0;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tabs_line{display:none;}.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_left{position:absolute;left:0;top:0;width:14px;height:32px;z-index:4;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:pointer;}.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_left.dhxtabbar_tabs_ar_hidden{display:none;}.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_left div.dhxtabbar_arrow_img{position:relative;height:100%;background-image:url("imgs/dhxtabbar_web/dhxtabbar_arrows.gif");background-position:0 13px;background-repeat:no-repeat;}.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_right{position:absolute;right:0;top:0;width:14px;height:32px;z-index:4;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:pointer;}.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_right.dhxtabbar_tabs_ar_hidden{display:none;}.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_right div.dhxtabbar_arrow_img{position:relative;height:100%;background-image:url("imgs/dhxtabbar_web/dhxtabbar_arrows.gif");background-position:-14px 13px;background-repeat:no-repeat;}.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tab{position:relative;height:26px;background-color:#2589ce;font-family:Tahoma,Helvetica;font-size:12px;color:#fff;margin-top:5px;border-left:2px solid #3da0e3;border-right:2px solid #3da0e3;z-index:1;cursor:pointer;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0);}.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tabs_cont_left div.dhxtabbar_tab{float:left;}.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tabs_cont_right div.dhxtabbar_tab{float:right;}.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tab:hover{background-color:#fff;}.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tab:hover div.dhxtabbar_tab_text{color:#000;}.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_dis{background-color:#176aa3;}.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv,.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv_dis{background-color:#fff;color:#000;height:27px;z-index:3;}.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_hidden{border:none;}.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tab div.dhxtabbar_tab_text{position:relative;height:26px;line-height:25px;vertical-align:middle;top:0;color:#fff;text-align:center;overflow:hidden;}.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tab div.dhxtabbar_tab_text.dhxtabbar_tab_text_close{padding-right:9px;}.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv div.dhxtabbar_tab_text,.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv_dis div.dhxtabbar_tab_text{border-left:1px solid #fff;border-right:1px solid #fff;}.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv div.dhxtabbar_tab_text{color:black;}.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_dis div.dhxtabbar_tab_text,.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv_dis div.dhxtabbar_tab_text{color:#999;}.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tab div.dhxtabbar_tab_close{position:absolute;top:8px;right:7px;width:14px;height:14px;background-image:url("imgs/dhxtabbar_web/dhxtabbar_button_close.gif");background-position:0 0;background-repeat:no-repeat;z-index:1;}.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tab:hover div.dhxtabbar_tab_close,.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv div.dhxtabbar_tab_close{background-position:-14px 0;}.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_dis div.dhxtabbar_tab_close,.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv_dis div.dhxtabbar_tab_close{background-position:-28px 0;}span.dhxtabbar_tabs_text_test_dhx_web{position:absolute;visibility:hidden;right:0;top:0;font-weight:normal;font-family:Tahoma,Helvetica;font-size:12px;color:#f4f4f4;padding:0 6px;}.dhxtabbar_base_dhx_web div.dhxtabbar_tabs_bottom div.dhx_cell_tabbar div.dhx_cell_cont_tabbar{border-top:1px solid #c7c7c7;border-bottom:0 solid #fff;}.dhxtabbar_base_dhx_web div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tab{margin-top:0;height:27px;}.dhxtabbar_base_dhx_web div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv,.dhxtabbar_base_dhx_web div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv_dis{height:27px;}.dhxtabbar_base_dhx_web div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tab div.dhxtabbar_tab_text{border-top:1px solid #3da0e3;}.dhxtabbar_base_dhx_web div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv div.dhxtabbar_tab_text,.dhxtabbar_base_dhx_web div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv_dis div.dhxtabbar_tab_text{border-top:1px solid #fff;}.dhxtabbar_base_dhx_web div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_left,.dhxtabbar_base_dhx_web div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_right{top:1px;}.dhxtabbar_base_dhx_web div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tab div.dhxtabbar_tab_close{top:8px;}.dhxtabbar_base_dhx_web div.dhx_cell_tabbar{position:absolute;background-color:white;margin:0;padding:0;overflow:hidden;cursor:default;z-index:0;}.dhxtabbar_base_dhx_web div.dhx_cell_tabbar div.dhx_cell_cover{position:absolute;left:0;top:0;width:100%;height:100%;margin:0;padding:0;font-size:1px;background-color:white;overflow:hidden;z-index:1;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxtabbar_base_dhx_web div.dhx_cell_tabbar div.dhx_cell_cont_tabbar{position:absolute;border-left:1px solid #c7c7c7;border-right:1px solid #c7c7c7;border-bottom:1px solid #c7c7c7;padding:8px;border-top:0 solid #fff;overflow:hidden;z-index:0;}.dhxtabbar_base_dhx_web div.dhx_cell_tabbar div.dhx_cell_cont_tabbar.dhx_cell_cont_no_borders{border:0 solid #fff!important;padding:0;}.dhxtabbar_base_dhx_web div.dhx_cell_tabbar div.dhx_cell_menu_def{position:relative;overflow:hidden;padding:9px 9px 0 9px;border-left:1px solid #c7c7c7;border-right:1px solid #c7c7c7;}.dhxtabbar_base_dhx_web div.dhx_cell_tabbar div.dhx_cell_menu_no_borders{position:relative;overflow:hidden;height:20px;}.dhxtabbar_base_dhx_web div.dhx_cell_tabbar div.dhx_cell_toolbar_def{position:relative;padding:9px 9px 0 9px;border-left:1px solid #c7c7c7;border-right:1px solid #c7c7c7;}.dhxtabbar_base_dhx_web div.dhx_cell_tabbar div.dhtmlxribbon_dhx_web.dhxrb_without_tabbar{border-top:0 solid #fff;width:auto;}.dhxtabbar_base_dhx_web div.dhx_cell_tabbar div.dhxrb_with_tabbar.dhxtabbar_base_dhx_web{margin-top:-1px;}.dhxtabbar_base_dhx_web div.dhx_cell_tabbar div.dhx_cell_statusbar_def{position:absolute;bottom:0;width:100%;font-family:Tahoma,Helvetica;font-size:12px;color:#000;background-color:#f4f4f4;}.dhxtabbar_base_dhx_web div.dhx_cell_tabbar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text{position:relative;padding:0 4px;height:28px;line-height:27px;border-bottom:1px solid #c7c7c7;border-left:1px solid #c7c7c7;border-right:1px solid #c7c7c7;white-space:nowrap;overflow:hidden;}.dhxtabbar_base_dhx_web div.dhx_cell_tabbar div.dhx_cell_progress_bar{position:absolute;left:0;top:0;width:100%;height:100%;background-color:#fff;z-index:1;opacity:.75;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=75);}.dhxtabbar_base_dhx_web div.dhx_cell_tabbar div.dhx_cell_progress_img{position:absolute;left:0;top:0;width:100%;height:100%;background-image:url("imgs/dhxtabbar_web/dhxtabbar_cell_progress.gif");background-position:center center;background-repeat:no-repeat;z-index:2;}.dhxsidebar_base_dhx_web{position:relative;cursor:default;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont{position:absolute;cursor:default;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side{position:absolute;left:0;top:0;background-color:#3da0e3;border-top:10px solid #3da0e3;overflow:hidden;z-index:5;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items{position:absolute;width:100%;overflow:hidden;-ms-touch-action:none;-webkit-transition:top .2s;-moz-transition:top .2s;-ms-transition:top .2s;-o-transition:top .2s;transition:top .2s;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item{position:relative;padding:0 10px;z-index:1;cursor:default;margin:1px 10px;background-color:#3da0e3;overflow:hidden;opacity:1;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=100);font-family:Tahoma,Helvetica;font-size:12px;color:#fff;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;-ms-touch-action:none;-webkit-touch-callout:none;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_hidden{height:0!important;margin:0;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item:hover{background-color:#4aa7e5;z-index:2;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_selected{z-index:3;background-color:#1e88cf;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon{position:absolute;left:9px;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text{position:absolute;left:0;top:0;height:inherit;line-height:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_bubble{position:absolute;width:15px;height:15px;line-height:14px;right:4px;top:4px;border-radius:10px;background-color:#3da0e3;border:1px solid #fff;font-family:Tahoma;font-size:10px;text-align:center;font-weight:normal;color:#fff;cursor:default;overflow:hidden;z-index:1;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item:hover div.dhxsidebar_bubble{background-color:#4aa7e5;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_selected div.dhxsidebar_bubble{background-color:#1e88cf;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_sep{position:relative;height:1px;margin:8px 10px;overflow:hidden;background-color:#65b4e9;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_touch div.dhxsidebar_side_items div.dhxsidebar_item:hover{background-color:#3da0e3;z-index:1;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_touch div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_selected{z-index:3;background-color:#1e88cf;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_details div.dhxsidebar_side_items div.dhxsidebar_item{height:25px;line-height:25px;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_details div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon{top:4px;width:16px;height:16px;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_details div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text{padding-left:34px;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item{height:43px;line-height:43px;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon{top:5px;width:32px;height:32px;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text{padding-left:50px;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_bubble{top:14px;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons div.dhxsidebar_side_items div.dhxsidebar_item{height:43px;line-height:43px;text-align:center;padding-left:4px;padding-right:4px;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon{position:relative;display:inline;left:0;top:5px;width:32px;height:32px;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons_text div.dhxsidebar_side_items div.dhxsidebar_item{height:62px;line-height:1em;text-align:center;padding-left:4px;padding-right:4px;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons_text div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon{position:relative;display:inline;left:0;top:4px;width:32px;height:32px;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons_text div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text{position:relative;display:block;height:16px;margin-top:10px;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_text div.dhxsidebar_side_items div.dhxsidebar_item{height:23px;line-height:23px;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_text div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text{padding-left:14px;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_text div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_bubble{top:3px;right:3px;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar{position:absolute;background-color:white;margin:0;padding:0;overflow:hidden;cursor:default;z-index:0;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar.dhx_cell_cont_no_top div.dhx_cell_cont_sidebar{border-top-color:#fff;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_cont_sidebar{position:absolute;border-style:solid;border-color:#c7c7c7;border-width:1px 1px 1px 0;padding:8px;overflow:hidden;z-index:0;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_cont_sidebar.dhx_cell_cont_no_borders{border-width:0;padding:0;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_progress_bar{position:absolute;left:0;top:0;width:100%;height:100%;background-color:#fff;z-index:1;opacity:.75;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=75);}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_progress_img{position:absolute;left:0;top:0;width:100%;height:100%;background-image:url('imgs/dhxsidebar_web/dhxsidebar_cell_progress.gif');background-position:center center;background-repeat:no-repeat;z-index:2;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_menu_def{position:relative;overflow:hidden;border-top:1px solid #c7c7c7;border-right:1px solid #c7c7c7;padding:8px 8px 0 8px;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_menu_no_borders{position:relative;overflow:hidden;padding-left:8px;padding-bottom:8px;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhtmlxMenu_dhx_web_Middle{padding:0 2px;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_toolbar_def{position:relative;overflow:hidden;padding:8px 8px 0 8px;border-top:1px solid #c7c7c7;border-right:1px solid #c7c7c7;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_toolbar_no_borders{padding-left:8px;padding-bottom:8px;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def{position:relative;overflow:hidden;padding:4px 4px 0 4px;border-top:1px solid #c7c7c7;border-right:1px solid #c7c7c7;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_dhx_web{border-width:0;width:auto;margin:4px 4px 0 4px;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhtmlxribbon_dhx_web.dhxrb_without_tabbar{border-width:0;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_no_borders{position:relative;overflow:hidden;padding:0 0 8px 8px;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_no_borders div.dhtmlxribbon_dhx_web.dhxrb_without_tabbar{width:auto;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_statusbar_def{position:absolute;bottom:0;width:100%;font-family:Tahoma,Helvetica;font-size:12px;color:#000;background-color:#f4f4f4;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text{position:relative;padding:0 4px;height:24px;line-height:25px;border-bottom:1px solid #c7c7c7;border-left:1px solid #c7c7c7;border-right:1px solid #c7c7c7;white-space:nowrap;overflow:hidden;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr{position:relative;background-color:#2589ce;height:32px;line-height:30px;font-weight:normal;overflow:hidden;cursor:default;z-index:1;font-family:Tahoma,Helvetica;font-size:12px;color:#fff;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr.dhx_cell_sidebar_hdr_hidden{border-top:1px solid #c7c7c7;height:0;line-height:0;overflow:hidden;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr div.dhx_cell_sidebar_hdr_text{position:relative;margin:0 10px;overflow:hidden;white-space:nowrap;cursor:default;text-align:left;height:100%;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr div.dhx_cell_sidebar_hdr_text.dhx_cell_sidebar_hdr_text_icon{margin-left:34px!important;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr div.dhx_cell_sidebar_hdr_icon{position:absolute;top:0;left:10px;width:16px;height:100%;background-image:url("imgs/dhxsidebar_web/dhxsidebar_side_icon.gif");background-position:center center;background-repeat:no-repeat;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_cont_sidebar{border-left-width:1px;border-top-width:0;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_cont_sidebar.dhx_cell_cont_no_borders{border-left-width:0;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_menu_def,.dhxsidebar_base_dhx_web div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_toolbar_def,.dhxsidebar_base_dhx_web div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_ribbon_def{border-top-width:0;border-left:1px solid #c7c7c7;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_toolbar_no_borders{padding:0;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont.dhxsidebar_autohide{overflow:hidden;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont.dhxsidebar_autohide div.dhxsidebar_side{-webkit-transition:left .2s;-moz-transition:left .2s;-ms-transition:left .2s;-o-transition:left .2s;transition:left .2s;box-shadow:0 2px 8px rgba(127,127,127,0.4);}.dhxsidebar_base_dhx_web div.dhxsidebar_cont.dhxsidebar_autohide div.dhxsidebar_arrows{-webkit-transition:left .2s;-moz-transition:left .2s;-ms-transition:left .2s;-o-transition:left .2s;transition:left .2s;box-shadow:0 4px 6px rgba(127,127,127,0.4);}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side_cover{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;background-color:#fff;z-index:3;-webkit-transition:opacity .3s;-moz-transition:opacity .3s;-ms-transition:opacity .3s;-o-transition:opacity .3s;transition:opacity .3s;opacity:.0001;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side_cover.dhxsidebar_side_cover_actv{opacity:.6;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=60);}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_arrows{position:absolute;left:0;bottom:0;height:24px;border-color:#3da0e3;border-style:solid;border-width:10px 0 0 0;background-color:#3da0e3;font-size:1px;overflow:hidden;z-index:6;-webkit-tap-highlight-color:rgba(0,0,0,0);-ms-touch-action:none;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_arrows.dhxsidebar_arrows_hidden{height:0;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_arrows.dhxsidebar_arrows_hidden div.dhxsidebar_arrow{display:none;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow{position:absolute;width:50%;height:100%;top:0;font-size:1px;overflow:hidden;z-index:1;border-top:1px solid #c7c7c7;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_left{left:0;border-right:1px solid #c7c7c7;z-index:2;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_left div.dhxsidebar_arrow_image{background-image:url("imgs/dhxsidebar_web/dhxsidebar_arrow_up.gif");}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_right{right:0;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_right div.dhxsidebar_arrow_image{background-image:url("imgs/dhxsidebar_web/dhxsidebar_arrow_down.gif");}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow div.dhxsidebar_arrow_image{position:absolute;left:0;top:0;width:100%;height:100%;background-repeat:no-repeat;background-position:center center;font-size:1px;overflow:hidden;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow:hover{background-color:#46a4e4;}.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow:active{background-color:#349ce2;}.dhxsidebar_base_dhx_web div.dhxcelltop_hdr{position:relative;}.dhxsidebar_base_dhx_web div.dhxcelltop_ftr{position:absolute;}.dhxsidebar_base_dhx_web div.dhxcelltop_progress{position:absolute;left:0;top:0;width:100%;height:100%;background-color:white;z-index:3;opacity:.55;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=55);}.dhxsidebar_base_dhx_web div.dhxcelltop_progress_img{position:absolute;left:0;top:0;width:100%;height:100%;background-image:url('imgs/dhxsidebar_web/dhxsidebar_cell_progress.gif');background-position:center center;background-repeat:no-repeat;z-index:4;}.dhxsidebar_base_dhx_web div.dhxcelltop_menu{position:relative;overflow:hidden;border-bottom:9px solid #fff;}.dhxsidebar_base_dhx_web div.dhxcelltop_toolbar{position:relative;background-color:#fff;padding-bottom:9px;overflow:hidden;}.dhxsidebar_base_dhx_web div.dhxcelltop_ribbon{position:relative;border-bottom:9px solid #fff;}.dhxsidebar_base_dhx_web div.dhxcelltop_ribbon div.dhtmlxribbon_dhx_web.dhxrb_without_tabbar{width:auto;}.dhxsidebar_base_dhx_web div.dhxcelltop_statusbar{position:absolute;overflow:hidden;background-color:#fff;}.dhxsidebar_base_dhx_web div.dhxcelltop_statusbar div.dhxcont_statusbar{position:relative;background-color:#f4f4f4;margin-top:9px;border:1px solid #c7c7c7;padding:3px 4px;font-family:Tahoma,Helvetica;font-size:12px;color:#000;}.dhxsidebar_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:20px;height:10px;overflow:hidden;}.dhxcarousel_base_dhx_web{background-color:white;position:relative;cursor:default;}.dhxcarousel_base_dhx_web div.dhxcarousel_cont{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;}.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area{position:relative;overflow:hidden;}.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area.dhxcarousel_area_flip{perspective:900px;-webkit-perspective:900;}.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel{position:absolute;background-color:white;margin:0;padding:0;overflow:hidden;cursor:default;z-index:0;-webkit-transform-style:preserve-3d;}.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_cover{position:absolute;left:0;top:0;width:100%;height:100%;margin:0;padding:0;font-size:1px;background-color:white;overflow:hidden;z-index:1;opacity:.5;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_cont_carousel{position:absolute;border:1px solid #c7c7c7;overflow:hidden;margin:0;padding:0;z-index:0;}.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_cont_carousel.dhx_cell_cont_no_borders{border-width:0;}.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_progress_bar{position:absolute;left:0;top:0;width:100%;height:100%;background-color:#fff;z-index:1;opacity:.75;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=75);}.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_progress_img{position:absolute;left:0;top:0;width:100%;height:100%;background-image:url('imgs/dhxcarousel_web/dhxcarousel_cell_progress.gif');background-position:center center;background-repeat:no-repeat;z-index:2;}.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_menu_def,.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_menu_no_borders{position:relative;overflow:hidden;padding:0 0 1px 0;}.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhtmlxMenu_dhx_web_Middle{padding:0 2px;}.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_toolbar_def,.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_toolbar_no_borders{position:relative;overflow:hidden;padding:0 0 1px 0;}.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def,.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_no_borders{position:relative;overflow:hidden;}.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_dhx_web,.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_no_borders div.dhxrb_with_tabbar.dhxtabbar_base_dhx_web{border-width:0;width:auto;margin-left:-4px;margin-top:-4px;}.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def div.dhtmlxribbon_dhx_web.dhxrb_without_tabbar,.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_no_borders div.dhtmlxribbon_dhx_web.dhxrb_without_tabbar{border-width:0;margin-left:-4px;margin-top:-4px;width:auto;}.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_statusbar_def{position:absolute;bottom:0;width:100%;font-family:Tahoma,Helvetica;font-size:12px;color:#000;background-color:#f4f4f4;}.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text{position:relative;padding:0 4px;height:24px;line-height:25px;border-bottom:1px solid #c7c7c7;border-left:1px solid #c7c7c7;border-right:1px solid #c7c7c7;white-space:nowrap;overflow:hidden;}.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls{position:absolute;width:100%;height:32px;bottom:0;left:0;z-index:3;overflow:visible;border-top:1px solid white;background-color:#f4f4f4;-webkit-tap-highlight-color:rgba(0,0,0,0);}.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn{position:absolute;bottom:0;width:38px;height:100%;overflow:hidden;line-height:31px;font-family:Arial;font-size:14px;color:#3da0e3;background-color:#f4f4f4;border:0 solid white;text-align:center;z-index:2;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev:hover,.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next:hover{background-color:#c3e1f6;}.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev:active,.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next:active{background-color:#acd7f3;}.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev,.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis{left:0;border-right-width:1px;}.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next,.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis{right:0;border-left-width:1px;}.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis,.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis{color:#cecece;z-index:1;}.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars{position:absolute;top:11px;text-align:center;font-size:1px;line-height:34px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars div.dhx_carousel_onebar{float:left;position:relative;margin:0 2px;width:10px;height:10px;border:1px solid #c7c7c7;border-radius:10px;background-color:white;font-size:1px;overflow:hidden;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars div.dhx_carousel_onebar div.dhx_carousel_barcore{display:none;}.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars div.dhx_carousel_onebar.dhx_carousel_baractv div.dhx_carousel_barcore{position:absolute;display:block;font-size:1px;margin:0;padding:0;width:4px;height:4px;top:2px;left:2px;border:1px solid #3da0e3;border-radius:12px;background-color:#3da0e3;overflow:hidden;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxcarousel_base_dhx_web div.dhxcelltop_hdr{position:relative;}.dhxcarousel_base_dhx_web div.dhxcelltop_ftr{position:absolute;}.dhxcarousel_base_dhx_web div.dhxcelltop_progress{position:absolute;left:0;top:0;width:100%;height:100%;background-color:white;z-index:3;opacity:.55;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=55);}.dhxcarousel_base_dhx_web div.dhxcelltop_progress_img{position:absolute;left:0;top:0;width:100%;height:100%;background-image:url('imgs/dhxcarousel_web/dhxcarousel_cell_progress.gif');background-position:center center;background-repeat:no-repeat;z-index:4;}.dhxcarousel_base_dhx_web div.dhxcelltop_menu{position:relative;overflow:hidden;border-bottom:9px solid #fff;}.dhxcarousel_base_dhx_web div.dhxcelltop_toolbar{position:relative;background-color:#fff;padding-bottom:9px;overflow:hidden;}.dhxcarousel_base_dhx_web div.dhxcelltop_ribbon{position:relative;border-bottom:9px solid #fff;}.dhxcarousel_base_dhx_web div.dhxcelltop_ribbon div.dhtmlxribbon_dhx_web.dhxrb_without_tabbar{width:auto;}.dhxcarousel_base_dhx_web div.dhxcelltop_statusbar{position:absolute;overflow:hidden;background-color:#fff;}.dhxcarousel_base_dhx_web div.dhxcelltop_statusbar div.dhxcont_statusbar{position:relative;background-color:#f4f4f4;margin-top:9px;border:1px solid #c7c7c7;padding:3px 4px;font-family:Tahoma,Helvetica;font-size:12px;color:#000;}div.dhx_popup_dhx_web div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_dhx_web{background-color:#f4f4f4;}div.dhx_popup_dhx_web div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls{border-bottom:1px solid white;}div.dhx_popup_dhx_web div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev,div.dhx_popup_dhx_web div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis{border-left-width:1px;}div.dhx_popup_dhx_web div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next,div.dhx_popup_dhx_web div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis{border-right-width:1px;}.dhxcarousel_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:20px;height:10px;overflow:hidden;}.dhxwins_vp_dhx_web{overflow:hidden;position:relative;cursor:default;}.dhxwins_vp_auto{overflow:auto!important;}.dhxwins_vp_dhx_web div.dhxwin_active{position:absolute;overflow:hidden;border:0 solid white;box-shadow:0 0 10px rgba(0,0,0,0.35);background:white;cursor:inherit;}.dhxwins_vp_dhx_web div.dhxwin_inactive{position:absolute;overflow:hidden;border:0 solid white;box-shadow:0 0 10px rgba(127,127,127,0.35);background:white;cursor:inherit;}.dhxwins_vp_dhx_web div.dhxwin_brd{position:absolute;border-left:5px solid #3da0e3;border-right:5px solid #3da0e3;border-bottom:5px solid #3da0e3;background:#fff;z-index:0;}.dhxwins_vp_dhx_web div.dhxwin_brd.dhxwin_hdr_hidden{border-top:5px solid #3da0e3;}.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhxwin_brd{opacity:.6;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=60);}.dhxwins_vp_dhx_web div.dhxwin_fr_cover{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;background-color:white;z-index:1;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}.dhxwins_vp_dhx_web div.dhxwin_fr_cover .dhxwin_fr_cover_inner{position:absolute;left:0;top:0;width:100%;height:100%;background-color:white;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}.dhxwins_vp_dhx_web div.dhxwin_active div.dhxwin_fr_cover{display:none;}.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhxwin_fr_cover{z-index:4;opacity:.5;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);}.dhxwins_vp_dhx_web div.dhxwin_active div.dhxwin_fr_cover.dhxwin_fr_cover_dnd,.dhxwins_vp_dhx_web div.dhxwin_active div.dhxwin_fr_cover.dhxwin_fr_cover_resize{display:block;}.dhxwins_vp_dhx_web iframe.dhxwin_main_fr_cover{position:absolute;background-color:white;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}.dhxwins_vp_dhx_web div.dhxwin_hdr{position:relative;height:27px;line-height:27px;margin:0;padding:0;font-weight:normal;border-top:1px solid #fff;border-left:1px solid #fff;border-right:1px solid #fff;background-color:#3da0e3;font-family:Tahoma,Helvetica;font-size:12px;color:#fff;cursor:inherit;overflow:hidden;z-index:3;-ms-touch-action:none;touch-action:none;}.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhxwin_hdr{color:#bfbfbf;opacity:.6;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=60);}.dhxwins_vp_dhx_web div.dhxwin_hdr.dhxwin_hdr_parked{border-bottom:1px solid #fff;}.dhxwins_vp_dhx_web div.dhxwin_hdr.dhxwin_hdr_hidden{visibility:hidden;}.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_icon{position:absolute;left:7px;top:5px;width:18px;height:18px;cursor:default;overflow:hidden;background-image:url("imgs/dhxwins_web/dhxwins_icon.gif");background-position:center center;background-repeat:no-repeat;cursor:inherit;z-index:2;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhxwin_hdr div.dhxwin_icon{opacity:.6;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=60);}.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_text{position:relative;padding:0;margin:0;overflow:hidden;white-space:nowrap;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:inherit;z-index:1;}.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_text div.dhxwin_text_inside{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;width:100%;}.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns{position:absolute;right:7px;top:4px;height:18px;cursor:default;overflow:hidden;cursor:inherit;z-index:2;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhxwin_hdr div.dhxwin_btns{opacity:.5;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);}.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button,.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis{position:relative;float:left;width:15px;height:15px;margin-left:2px;margin-top:3px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;background-image:url("imgs/dhxwins_web/dhxwins_buttons.gif");background-repeat:no-repeat;background-position:0 0;}.dhxwins_vp_dhx_web div.dhxwin_active div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button:hover{background-color:#2a8ed2;}.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_close{background-position:-15px 0;}.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_close_dis{background-position:-15px -15px;}.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_minmax{background-position:-30px 0;}.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_minmax_dis{background-position:-30px -15px;}.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_minmaxed{background-position:-45px 0;}.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_minmaxed_dis{background-position:-45px -15px;}.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_park{background-position:-60px 0;}.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_park_dis{background-position:-60px -15px;}.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_stick{background-position:-75px 0;}.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_stick_dis{background-position:-75px -15px;}.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_sticked{background-position:-90px 0;z-index:1;}.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_sticked_dis{background-position:-90px -15px;}.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_help{background-position:-105px 0;}.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_help_dis{background-position:-105px -15px;}.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_dock{background-position:-120px 0;}.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_dock_dis{background-position:-120px -15px;}.dhxwins_vp_dhx_web.dhxwins_vp_dnd{cursor:move!important;}.dhxwins_vp_dhx_web div.dhxwin_resize{position:absolute;background-color:#3da0e3;opacity:.2;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=20);}.dhxwins_vp_dhx_web iframe.dhxwin_resize_fr_cover{position:absolute;background-color:#fff;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}.dhxwins_vp_dhx_web div.dhxwins_mcover{position:absolute;background-color:white;left:0;top:0;width:100%;height:100%;opacity:.53;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=53);}.dhxwins_vp_dhx_web iframe.dhxwins_mcover{position:absolute;background-color:#fff;left:0;top:0;width:100%;height:100%;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}.dhxwins_vp_dhx_web div.dhxwin_active div.dhx_cell_wins,.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhx_cell_wins{position:absolute;background-color:#fff;margin:0;padding:0;overflow:hidden;cursor:default;visibility:visible;z-index:1;opacity:1;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=100);}.dhxwins_vp_dhx_web div.dhxwin_active div.dhx_cell_wins div.dhx_cell_cover,.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_cover{position:absolute;left:0;top:0;width:100%;height:100%;margin:0;padding:0;font-size:1px;background-color:white;overflow:hidden;z-index:1;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxwins_vp_dhx_web div.dhxwin_active div.dhx_cell_wins div.dhx_cell_cont_wins,.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_cont_wins{position:absolute;border:9px solid #fff;background-color:#fff;overflow:hidden;z-index:0;}.dhxwins_vp_dhx_web div.dhxwin_active div.dhx_cell_wins div.dhx_cell_cont_wins.dhx_cell_cont_no_borders,.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_cont_wins.dhx_cell_cont_no_borders{border:0 solid #fff!important;}.dhxwins_vp_dhx_web div.dhxwin_active div.dhx_cell_wins div.dhx_cell_menu_def,.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_menu_def{position:relative;overflow:hidden;padding:9px 9px 0 9px;}.dhxwins_vp_dhx_web div.dhxwin_active div.dhx_cell_wins div.dhx_cell_toolbar_def,.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_toolbar_def{position:relative;overflow:hidden;padding:9px 9px 0 9px;border-width:0;}.dhxwins_vp_dhx_web div.dhxwin_active div.dhx_cell_wins div.dhx_cell_ribbon_def,.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_ribbon_def{padding:9px 9px 0 9px;}.dhxwins_vp_dhx_web div.dhxwin_active div.dhx_cell_wins div.dhtmlxribbon_dhx_web.dhxrb_without_tabbar,.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhx_cell_wins div.dhtmlxribbon_dhx_web.dhxrb_without_tabbar{border:0 solid #fff;margin-left:-4px;margin-top:-4px;width:auto;}.dhxwins_vp_dhx_web div.dhxwin_active div.dhx_cell_wins div.dhx_cell_statusbar_def,.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_statusbar_def{position:absolute;bottom:0;width:100%;font-family:Tahoma,Helvetica;font-size:12px;color:#000;}.dhxwins_vp_dhx_web div.dhxwin_active div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text,.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text{position:relative;margin:0 9px 9px 9px;padding:5px 12px;background-color:#f4f4f4;white-space:nowrap;overflow:hidden;}.dhxwins_vp_dhx_web div.dhx_cell_wins div.dhx_cell_progress_bar{position:absolute;left:0;top:0;width:100%;height:100%;background-color:#fff;z-index:1;opacity:.75;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=75);}.dhxwins_vp_dhx_web div.dhx_cell_wins div.dhx_cell_progress_img{position:absolute;left:0;top:0;width:100%;height:100%;background-image:url("imgs/dhxwins_web/dhxwins_progress.gif");background-position:center center;background-repeat:no-repeat;z-index:2;}.dhxwins_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:20px;height:10px;overflow:hidden;}div.dhxwins_vp_dhx_web.dhxwins_vp_fs{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;}.dhtmlx_message_area{position:fixed;right:5px;width:250px;z-index:1000;padding:0;}.dhtmlx-info{color:#444;min-width:120px;background:white;font-size:12px;font-family:Tahoma;z-index:10000;margin:0 5px 5px 5px;border:1px solid #e6d8bc;box-shadow:0 0 5px #ccc;-webkit-transition:all .5s ease;-moz-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease;}.dhtmlx-info div{padding:9px 9px 9px 15px;margin:1px;background-color:#ffc;-webkit-transition:all .5s ease;-moz-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease;}.dhtmlx-info.hidden{box-shadow:none;border-top:none;border-bottom:none;margin-top:0;margin-bottom:0;overflow:hidden;}.dhtmlx-info.hidden div{height:0;border-top:none;border-bottom:none;padding-bottom:0;padding-top:0;overflow:hidden;}.dhtmlx-error{border:1px solid #bcbcbc;color:#fff;}.dhtmlx-error div{padding:9px 9px 9px 18px;margin:1px;background-color:#f17373;}.dhtmlx_modal_box{overflow:hidden;display:inline-block;min-width:300px;width:300px;text-align:center;position:fixed;background-color:#fff;z-index:20000;-moz-box-shadow:0 0 5px #AAA;-webkit-box-shadow:0 0 0 #AAA;box-shadow:0 0 5px #AAA;border:1px solid white;}.dhtmlx_popup_title{padding:6px 0;font-size:14px;-webkit-border-top-right-radius:3px;-webkit-border-top-left-radius:3px;line-height:16px;font-family:Tahoma;}.dhtmlx-info,.dhtmlx_popup_title,.dhtmlx_popup_button{-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-o-user-select:none;user-select:none;-moz-user-select:-moz-none;cursor:pointer;}.dhtmlx_popup_text{font-size:13px;font-family:Tahoma;color:#444;min-height:30px;padding:20px 10px 10px 10px!important;overflow:hidden;}.dhtmlx_popup_controls{font-family:Tahoma;font-weight:bold;padding:10px 10px 17px 10px!important;}.dhtmlx_popup_button{font-size:14px;font-family:Tahoma;font-weight:normal;min-width:120px;width:120px;height:24px;display:inline-block;margin:0 5px;}.dhtmlx_popup_button div{line-height:24px;}div.dhx_modal_cover{background-color:#000;cursor:default;opacity:.2;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=20);position:fixed;z-index:19999;left:0;top:0;width:100%;height:100%;border:none;zoom:1;}.dhtmlx_popup_button{color:#222;border:1px solid #cecece;box-shadow:0 0 1px #111;}.dhtmlx_popup_button:active,.dhtmlx_popup_button:focus{background:#eee;}.dhtmlx_popup_button:first-child{background:#3da0e3;color:#fff;border:1px solid #3da0e3;box-shadow:none;}.dhtmlx-alert-error .dhtmlx_popup_title,.dhtmlx-confirm-error .dhtmlx_popup_title{color:#fff;background:#f17373;}.dhtmlx-alert-error .dhtmlx_popup_button:first-child,.dhtmlx-confirm-error .dhtmlx_popup_button:first-child{background:#f17373;border:1px solid #f17373;}.dhtmlx-alert-warning .dhtmlx_popup_title,.dhtmlx-confirm-warning .dhtmlx_popup_title{color:#fff;background:#E6951A;}.dhtmlx-alert .dhtmlx_popup_title,.dhtmlx-confirm .dhtmlx_popup_title{color:#fff;background:#3da0e3;} \ No newline at end of file diff --git a/themes/skins/web_20191028/imgs/dhxacc_web/dhxacc_btns.gif b/themes/skins/web_20191028/imgs/dhxacc_web/dhxacc_btns.gif deleted file mode 100644 index 2b10256..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxacc_web/dhxacc_btns.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxacc_web/dhxacc_cell_progress.gif b/themes/skins/web_20191028/imgs/dhxacc_web/dhxacc_cell_progress.gif deleted file mode 100644 index ff9a5e6..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxacc_web/dhxacc_cell_progress.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxcalendar_web/dhxcalendar_arrow_left.gif b/themes/skins/web_20191028/imgs/dhxcalendar_web/dhxcalendar_arrow_left.gif deleted file mode 100644 index 54366e0..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxcalendar_web/dhxcalendar_arrow_left.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxcalendar_web/dhxcalendar_arrow_left2.gif b/themes/skins/web_20191028/imgs/dhxcalendar_web/dhxcalendar_arrow_left2.gif deleted file mode 100644 index fa475b5..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxcalendar_web/dhxcalendar_arrow_left2.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxcalendar_web/dhxcalendar_arrow_right.gif b/themes/skins/web_20191028/imgs/dhxcalendar_web/dhxcalendar_arrow_right.gif deleted file mode 100644 index 0a343f9..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxcalendar_web/dhxcalendar_arrow_right.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxcalendar_web/dhxcalendar_arrow_right2.gif b/themes/skins/web_20191028/imgs/dhxcalendar_web/dhxcalendar_arrow_right2.gif deleted file mode 100644 index d9e30be..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxcalendar_web/dhxcalendar_arrow_right2.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxcalendar_web/dhxcalendar_clock.gif b/themes/skins/web_20191028/imgs/dhxcalendar_web/dhxcalendar_clock.gif deleted file mode 100644 index 0fe21e4..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxcalendar_web/dhxcalendar_clock.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxcalendar_web/dhxcalendar_mark.gif b/themes/skins/web_20191028/imgs/dhxcalendar_web/dhxcalendar_mark.gif deleted file mode 100644 index 4dd78d2..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxcalendar_web/dhxcalendar_mark.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxcalendar_web/dhxcalendar_selector_bottom.gif b/themes/skins/web_20191028/imgs/dhxcalendar_web/dhxcalendar_selector_bottom.gif deleted file mode 100644 index fa50af2..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxcalendar_web/dhxcalendar_selector_bottom.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxcalendar_web/dhxcalendar_selector_top.gif b/themes/skins/web_20191028/imgs/dhxcalendar_web/dhxcalendar_selector_top.gif deleted file mode 100644 index 4026cd2..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxcalendar_web/dhxcalendar_selector_top.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxcarousel_web/dhxcarousel_cell_progress.gif b/themes/skins/web_20191028/imgs/dhxcarousel_web/dhxcarousel_cell_progress.gif deleted file mode 100644 index ff9a5e6..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxcarousel_web/dhxcarousel_cell_progress.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxcombo_web/dhxcombo_arrow_down.gif b/themes/skins/web_20191028/imgs/dhxcombo_web/dhxcombo_arrow_down.gif deleted file mode 100644 index 72c0a72..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxcombo_web/dhxcombo_arrow_down.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxcombo_web/dhxcombo_arrow_down_dis.gif b/themes/skins/web_20191028/imgs/dhxcombo_web/dhxcombo_arrow_down_dis.gif deleted file mode 100644 index bf8f65c..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxcombo_web/dhxcombo_arrow_down_dis.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxcombo_web/dhxcombo_chbx.gif b/themes/skins/web_20191028/imgs/dhxcombo_web/dhxcombo_chbx.gif deleted file mode 100644 index 99e2f9f..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxcombo_web/dhxcombo_chbx.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxcp_web/dhxcp_colors.png b/themes/skins/web_20191028/imgs/dhxcp_web/dhxcp_colors.png deleted file mode 100644 index ede480c..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxcp_web/dhxcp_colors.png and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxdataview_web/dnd_selector.png b/themes/skins/web_20191028/imgs/dhxdataview_web/dnd_selector.png deleted file mode 100644 index 5d8e9b4..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxdataview_web/dnd_selector.png and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxdataview_web/dnd_selector_cells.png b/themes/skins/web_20191028/imgs/dhxdataview_web/dnd_selector_cells.png deleted file mode 100644 index 63da638..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxdataview_web/dnd_selector_cells.png and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxdataview_web/dnd_selector_lines.png b/themes/skins/web_20191028/imgs/dhxdataview_web/dnd_selector_lines.png deleted file mode 100644 index 576ecfd..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxdataview_web/dnd_selector_lines.png and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxdataview_web/marker.png b/themes/skins/web_20191028/imgs/dhxdataview_web/marker.png deleted file mode 100644 index ceec125..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxdataview_web/marker.png and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxeditor_web/align_center.gif b/themes/skins/web_20191028/imgs/dhxeditor_web/align_center.gif deleted file mode 100644 index 0670ebe..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxeditor_web/align_center.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxeditor_web/align_justify.gif b/themes/skins/web_20191028/imgs/dhxeditor_web/align_justify.gif deleted file mode 100644 index a9d98ce..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxeditor_web/align_justify.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxeditor_web/align_left.gif b/themes/skins/web_20191028/imgs/dhxeditor_web/align_left.gif deleted file mode 100644 index 1ee654d..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxeditor_web/align_left.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxeditor_web/align_right.gif b/themes/skins/web_20191028/imgs/dhxeditor_web/align_right.gif deleted file mode 100644 index 105a299..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxeditor_web/align_right.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxeditor_web/bold.gif b/themes/skins/web_20191028/imgs/dhxeditor_web/bold.gif deleted file mode 100644 index 8f025f1..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxeditor_web/bold.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxeditor_web/buttons.gif b/themes/skins/web_20191028/imgs/dhxeditor_web/buttons.gif deleted file mode 100644 index c56587b..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxeditor_web/buttons.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxeditor_web/clear.gif b/themes/skins/web_20191028/imgs/dhxeditor_web/clear.gif deleted file mode 100644 index 844a95c..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxeditor_web/clear.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxeditor_web/h1.gif b/themes/skins/web_20191028/imgs/dhxeditor_web/h1.gif deleted file mode 100644 index 0bf7530..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxeditor_web/h1.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxeditor_web/h2.gif b/themes/skins/web_20191028/imgs/dhxeditor_web/h2.gif deleted file mode 100644 index aca41f6..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxeditor_web/h2.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxeditor_web/h3.gif b/themes/skins/web_20191028/imgs/dhxeditor_web/h3.gif deleted file mode 100644 index 994ae16..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxeditor_web/h3.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxeditor_web/h4.gif b/themes/skins/web_20191028/imgs/dhxeditor_web/h4.gif deleted file mode 100644 index ef7f910..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxeditor_web/h4.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxeditor_web/indent_dec.gif b/themes/skins/web_20191028/imgs/dhxeditor_web/indent_dec.gif deleted file mode 100644 index eda02de..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxeditor_web/indent_dec.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxeditor_web/indent_inc.gif b/themes/skins/web_20191028/imgs/dhxeditor_web/indent_inc.gif deleted file mode 100644 index 059a5e0..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxeditor_web/indent_inc.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxeditor_web/italic.gif b/themes/skins/web_20191028/imgs/dhxeditor_web/italic.gif deleted file mode 100644 index bffc9ca..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxeditor_web/italic.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxeditor_web/list_bullet.gif b/themes/skins/web_20191028/imgs/dhxeditor_web/list_bullet.gif deleted file mode 100644 index 9bb05dc..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxeditor_web/list_bullet.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxeditor_web/list_number.gif b/themes/skins/web_20191028/imgs/dhxeditor_web/list_number.gif deleted file mode 100644 index 74a871a..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxeditor_web/list_number.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxeditor_web/script_sub.gif b/themes/skins/web_20191028/imgs/dhxeditor_web/script_sub.gif deleted file mode 100644 index 04ee515..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxeditor_web/script_sub.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxeditor_web/script_super.gif b/themes/skins/web_20191028/imgs/dhxeditor_web/script_super.gif deleted file mode 100644 index 0c08cc4..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxeditor_web/script_super.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxeditor_web/strike.gif b/themes/skins/web_20191028/imgs/dhxeditor_web/strike.gif deleted file mode 100644 index b167bed..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxeditor_web/strike.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxeditor_web/underline.gif b/themes/skins/web_20191028/imgs/dhxeditor_web/underline.gif deleted file mode 100644 index 6960339..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxeditor_web/underline.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxform_web/dhxform_chbxrd.gif b/themes/skins/web_20191028/imgs/dhxform_web/dhxform_chbxrd.gif deleted file mode 100644 index f366b99..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxform_web/dhxform_chbxrd.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxform_web/dhxform_image_uploading.gif b/themes/skins/web_20191028/imgs/dhxform_web/dhxform_image_uploading.gif deleted file mode 100644 index ff9a5e6..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxform_web/dhxform_image_uploading.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxform_web/dhxform_upload_buttons.gif b/themes/skins/web_20191028/imgs/dhxform_web/dhxform_upload_buttons.gif deleted file mode 100644 index 9afdc8d..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxform_web/dhxform_upload_buttons.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxform_web/dhxform_upload_uploading.gif b/themes/skins/web_20191028/imgs/dhxform_web/dhxform_upload_uploading.gif deleted file mode 100644 index ca190eb..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxform_web/dhxform_upload_uploading.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxgrid_web/ar_left.gif b/themes/skins/web_20191028/imgs/dhxgrid_web/ar_left.gif deleted file mode 100644 index a42f019..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxgrid_web/ar_left.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxgrid_web/ar_left_abs.gif b/themes/skins/web_20191028/imgs/dhxgrid_web/ar_left_abs.gif deleted file mode 100644 index 29f01ea..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxgrid_web/ar_left_abs.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxgrid_web/ar_left_abs_dis.gif b/themes/skins/web_20191028/imgs/dhxgrid_web/ar_left_abs_dis.gif deleted file mode 100644 index f52a777..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxgrid_web/ar_left_abs_dis.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxgrid_web/ar_left_dis.gif b/themes/skins/web_20191028/imgs/dhxgrid_web/ar_left_dis.gif deleted file mode 100644 index b14f0ff..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxgrid_web/ar_left_dis.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxgrid_web/ar_right.gif b/themes/skins/web_20191028/imgs/dhxgrid_web/ar_right.gif deleted file mode 100644 index e8990ba..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxgrid_web/ar_right.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxgrid_web/ar_right_abs.gif b/themes/skins/web_20191028/imgs/dhxgrid_web/ar_right_abs.gif deleted file mode 100644 index 99df64d..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxgrid_web/ar_right_abs.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxgrid_web/ar_right_abs_dis.gif b/themes/skins/web_20191028/imgs/dhxgrid_web/ar_right_abs_dis.gif deleted file mode 100644 index d919a8c..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxgrid_web/ar_right_abs_dis.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxgrid_web/ar_right_dis.gif b/themes/skins/web_20191028/imgs/dhxgrid_web/ar_right_dis.gif deleted file mode 100644 index 32d2109..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxgrid_web/ar_right_dis.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxgrid_web/blank.gif b/themes/skins/web_20191028/imgs/dhxgrid_web/blank.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxgrid_web/blank.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxgrid_web/combo_select.gif b/themes/skins/web_20191028/imgs/dhxgrid_web/combo_select.gif deleted file mode 100644 index 57e5ece..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxgrid_web/combo_select.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxgrid_web/dyn_.gif b/themes/skins/web_20191028/imgs/dhxgrid_web/dyn_.gif deleted file mode 100644 index 361094a..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxgrid_web/dyn_.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxgrid_web/dyn_down.gif b/themes/skins/web_20191028/imgs/dhxgrid_web/dyn_down.gif deleted file mode 100644 index e8acb70..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxgrid_web/dyn_down.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxgrid_web/dyn_up.gif b/themes/skins/web_20191028/imgs/dhxgrid_web/dyn_up.gif deleted file mode 100644 index bee4e0d..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxgrid_web/dyn_up.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxgrid_web/imageloaderror.gif b/themes/skins/web_20191028/imgs/dhxgrid_web/imageloaderror.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxgrid_web/imageloaderror.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxgrid_web/item_chk0.gif b/themes/skins/web_20191028/imgs/dhxgrid_web/item_chk0.gif deleted file mode 100644 index f91ca21..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxgrid_web/item_chk0.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxgrid_web/item_chk0_dis.gif b/themes/skins/web_20191028/imgs/dhxgrid_web/item_chk0_dis.gif deleted file mode 100644 index 66257cb..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxgrid_web/item_chk0_dis.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxgrid_web/item_chk1.gif b/themes/skins/web_20191028/imgs/dhxgrid_web/item_chk1.gif deleted file mode 100644 index 8868f58..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxgrid_web/item_chk1.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxgrid_web/item_chk1_dis.gif b/themes/skins/web_20191028/imgs/dhxgrid_web/item_chk1_dis.gif deleted file mode 100644 index 82672fc..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxgrid_web/item_chk1_dis.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxgrid_web/minus.gif b/themes/skins/web_20191028/imgs/dhxgrid_web/minus.gif deleted file mode 100644 index ef04a54..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxgrid_web/minus.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxgrid_web/paging_page.gif b/themes/skins/web_20191028/imgs/dhxgrid_web/paging_page.gif deleted file mode 100644 index 12395c5..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxgrid_web/paging_page.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxgrid_web/paging_pages.gif b/themes/skins/web_20191028/imgs/dhxgrid_web/paging_pages.gif deleted file mode 100644 index 9135ba1..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxgrid_web/paging_pages.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxgrid_web/paging_rows.gif b/themes/skins/web_20191028/imgs/dhxgrid_web/paging_rows.gif deleted file mode 100644 index c6e9355..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxgrid_web/paging_rows.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxgrid_web/plus.gif b/themes/skins/web_20191028/imgs/dhxgrid_web/plus.gif deleted file mode 100644 index abb84bd..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxgrid_web/plus.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxgrid_web/radio_chk0.gif b/themes/skins/web_20191028/imgs/dhxgrid_web/radio_chk0.gif deleted file mode 100644 index 6087139..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxgrid_web/radio_chk0.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxgrid_web/radio_chk0_dis.gif b/themes/skins/web_20191028/imgs/dhxgrid_web/radio_chk0_dis.gif deleted file mode 100644 index 3fb9da2..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxgrid_web/radio_chk0_dis.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxgrid_web/radio_chk1.gif b/themes/skins/web_20191028/imgs/dhxgrid_web/radio_chk1.gif deleted file mode 100644 index 2d60066..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxgrid_web/radio_chk1.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxgrid_web/radio_chk1_dis.gif b/themes/skins/web_20191028/imgs/dhxgrid_web/radio_chk1_dis.gif deleted file mode 100644 index 44112b5..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxgrid_web/radio_chk1_dis.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxgrid_web/separator.png b/themes/skins/web_20191028/imgs/dhxgrid_web/separator.png deleted file mode 100644 index 55018fc..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxgrid_web/separator.png and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxgrid_web/sort_asc.gif b/themes/skins/web_20191028/imgs/dhxgrid_web/sort_asc.gif deleted file mode 100644 index 716049b..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxgrid_web/sort_asc.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxgrid_web/sort_desc.gif b/themes/skins/web_20191028/imgs/dhxgrid_web/sort_desc.gif deleted file mode 100644 index bb7912a..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxgrid_web/sort_desc.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxgrid_web/tree/blank.gif b/themes/skins/web_20191028/imgs/dhxgrid_web/tree/blank.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxgrid_web/tree/blank.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxgrid_web/tree/folder.gif b/themes/skins/web_20191028/imgs/dhxgrid_web/tree/folder.gif deleted file mode 100644 index 4b7e76d..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxgrid_web/tree/folder.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxgrid_web/tree/leaf.gif b/themes/skins/web_20191028/imgs/dhxgrid_web/tree/leaf.gif deleted file mode 100644 index deca307..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxgrid_web/tree/leaf.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxgrid_web/tree/line.gif b/themes/skins/web_20191028/imgs/dhxgrid_web/tree/line.gif deleted file mode 100644 index b4f560c..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxgrid_web/tree/line.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxgrid_web/tree/line1.gif b/themes/skins/web_20191028/imgs/dhxgrid_web/tree/line1.gif deleted file mode 100644 index b4f560c..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxgrid_web/tree/line1.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxgrid_web/tree/line2.gif b/themes/skins/web_20191028/imgs/dhxgrid_web/tree/line2.gif deleted file mode 100644 index 23b2ce3..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxgrid_web/tree/line2.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxgrid_web/tree/line3.gif b/themes/skins/web_20191028/imgs/dhxgrid_web/tree/line3.gif deleted file mode 100644 index 43152c5..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxgrid_web/tree/line3.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxgrid_web/tree/line4.gif b/themes/skins/web_20191028/imgs/dhxgrid_web/tree/line4.gif deleted file mode 100644 index 907fe7a..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxgrid_web/tree/line4.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxgrid_web/tree/minus.gif b/themes/skins/web_20191028/imgs/dhxgrid_web/tree/minus.gif deleted file mode 100644 index 77d3b97..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxgrid_web/tree/minus.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxgrid_web/tree/minus1.gif b/themes/skins/web_20191028/imgs/dhxgrid_web/tree/minus1.gif deleted file mode 100644 index a31abe2..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxgrid_web/tree/minus1.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxgrid_web/tree/minus2.gif b/themes/skins/web_20191028/imgs/dhxgrid_web/tree/minus2.gif deleted file mode 100644 index 9828911..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxgrid_web/tree/minus2.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxgrid_web/tree/minus3.gif b/themes/skins/web_20191028/imgs/dhxgrid_web/tree/minus3.gif deleted file mode 100644 index df8b060..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxgrid_web/tree/minus3.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxgrid_web/tree/minus4.gif b/themes/skins/web_20191028/imgs/dhxgrid_web/tree/minus4.gif deleted file mode 100644 index 2b456f8..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxgrid_web/tree/minus4.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxgrid_web/tree/minus5.gif b/themes/skins/web_20191028/imgs/dhxgrid_web/tree/minus5.gif deleted file mode 100644 index 2827d81..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxgrid_web/tree/minus5.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxgrid_web/tree/plus.gif b/themes/skins/web_20191028/imgs/dhxgrid_web/tree/plus.gif deleted file mode 100644 index 7e2bf79..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxgrid_web/tree/plus.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxgrid_web/tree/plus1.gif b/themes/skins/web_20191028/imgs/dhxgrid_web/tree/plus1.gif deleted file mode 100644 index 7b723c2..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxgrid_web/tree/plus1.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxgrid_web/tree/plus2.gif b/themes/skins/web_20191028/imgs/dhxgrid_web/tree/plus2.gif deleted file mode 100644 index d5aa3b7..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxgrid_web/tree/plus2.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxgrid_web/tree/plus3.gif b/themes/skins/web_20191028/imgs/dhxgrid_web/tree/plus3.gif deleted file mode 100644 index 165bd73..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxgrid_web/tree/plus3.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxgrid_web/tree/plus4.gif b/themes/skins/web_20191028/imgs/dhxgrid_web/tree/plus4.gif deleted file mode 100644 index e87b3c6..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxgrid_web/tree/plus4.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxgrid_web/tree/plus5.gif b/themes/skins/web_20191028/imgs/dhxgrid_web/tree/plus5.gif deleted file mode 100644 index 3dd3987..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxgrid_web/tree/plus5.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxlayout_web/dhxlayout_cell_btns.gif b/themes/skins/web_20191028/imgs/dhxlayout_web/dhxlayout_cell_btns.gif deleted file mode 100644 index 98a24e1..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxlayout_web/dhxlayout_cell_btns.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxlayout_web/dhxlayout_cell_progress.gif b/themes/skins/web_20191028/imgs/dhxlayout_web/dhxlayout_cell_progress.gif deleted file mode 100644 index ff9a5e6..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxlayout_web/dhxlayout_cell_progress.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxlayout_web/dhxlayout_sep_h.gif b/themes/skins/web_20191028/imgs/dhxlayout_web/dhxlayout_sep_h.gif deleted file mode 100644 index 3ed1968..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxlayout_web/dhxlayout_sep_h.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxlayout_web/dhxlayout_sep_v.gif b/themes/skins/web_20191028/imgs/dhxlayout_web/dhxlayout_sep_v.gif deleted file mode 100644 index fce430e..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxlayout_web/dhxlayout_sep_v.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxmenu_web/dhxmenu_arrow_down.gif b/themes/skins/web_20191028/imgs/dhxmenu_web/dhxmenu_arrow_down.gif deleted file mode 100644 index 60be3f7..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxmenu_web/dhxmenu_arrow_down.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxmenu_web/dhxmenu_arrow_down_dis.gif b/themes/skins/web_20191028/imgs/dhxmenu_web/dhxmenu_arrow_down_dis.gif deleted file mode 100644 index d849732..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxmenu_web/dhxmenu_arrow_down_dis.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxmenu_web/dhxmenu_arrow_up.gif b/themes/skins/web_20191028/imgs/dhxmenu_web/dhxmenu_arrow_up.gif deleted file mode 100644 index c23a23a..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxmenu_web/dhxmenu_arrow_up.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxmenu_web/dhxmenu_arrow_up_dis.gif b/themes/skins/web_20191028/imgs/dhxmenu_web/dhxmenu_arrow_up_dis.gif deleted file mode 100644 index a43cfe3..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxmenu_web/dhxmenu_arrow_up_dis.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxmenu_web/dhxmenu_chrd.gif b/themes/skins/web_20191028/imgs/dhxmenu_web/dhxmenu_chrd.gif deleted file mode 100644 index 040e5e8..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxmenu_web/dhxmenu_chrd.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxmenu_web/dhxmenu_loader.gif b/themes/skins/web_20191028/imgs/dhxmenu_web/dhxmenu_loader.gif deleted file mode 100644 index 9ef515f..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxmenu_web/dhxmenu_loader.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxmenu_web/dhxmenu_subar.gif b/themes/skins/web_20191028/imgs/dhxmenu_web/dhxmenu_subar.gif deleted file mode 100644 index 35dbd98..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxmenu_web/dhxmenu_subar.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxpopup_web/dhxpopup_arrow_bottom.gif b/themes/skins/web_20191028/imgs/dhxpopup_web/dhxpopup_arrow_bottom.gif deleted file mode 100644 index 8b1ee4c..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxpopup_web/dhxpopup_arrow_bottom.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxpopup_web/dhxpopup_arrow_left.gif b/themes/skins/web_20191028/imgs/dhxpopup_web/dhxpopup_arrow_left.gif deleted file mode 100644 index 32d503d..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxpopup_web/dhxpopup_arrow_left.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxpopup_web/dhxpopup_arrow_right.gif b/themes/skins/web_20191028/imgs/dhxpopup_web/dhxpopup_arrow_right.gif deleted file mode 100644 index 2641ee5..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxpopup_web/dhxpopup_arrow_right.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxpopup_web/dhxpopup_arrow_top.gif b/themes/skins/web_20191028/imgs/dhxpopup_web/dhxpopup_arrow_top.gif deleted file mode 100644 index a34437e..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxpopup_web/dhxpopup_arrow_top.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxribbon_web/dhxribbon_arrow.gif b/themes/skins/web_20191028/imgs/dhxribbon_web/dhxribbon_arrow.gif deleted file mode 100644 index f64e20b..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxribbon_web/dhxribbon_arrow.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxribbon_web/dhxribbon_checked.gif b/themes/skins/web_20191028/imgs/dhxribbon_web/dhxribbon_checked.gif deleted file mode 100644 index 9109202..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxribbon_web/dhxribbon_checked.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxribbon_web/dhxribbon_checked_dis.gif b/themes/skins/web_20191028/imgs/dhxribbon_web/dhxribbon_checked_dis.gif deleted file mode 100644 index 842e84f..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxribbon_web/dhxribbon_checked_dis.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxsidebar_web/dhxsidebar_arrow_down.gif b/themes/skins/web_20191028/imgs/dhxsidebar_web/dhxsidebar_arrow_down.gif deleted file mode 100644 index 38fe0c9..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxsidebar_web/dhxsidebar_arrow_down.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxsidebar_web/dhxsidebar_arrow_up.gif b/themes/skins/web_20191028/imgs/dhxsidebar_web/dhxsidebar_arrow_up.gif deleted file mode 100644 index 6f7fb10..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxsidebar_web/dhxsidebar_arrow_up.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxsidebar_web/dhxsidebar_cell_progress.gif b/themes/skins/web_20191028/imgs/dhxsidebar_web/dhxsidebar_cell_progress.gif deleted file mode 100644 index ff9a5e6..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxsidebar_web/dhxsidebar_cell_progress.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxsidebar_web/dhxsidebar_side_icon.gif b/themes/skins/web_20191028/imgs/dhxsidebar_web/dhxsidebar_side_icon.gif deleted file mode 100644 index d42cf12..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxsidebar_web/dhxsidebar_side_icon.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxtabbar_web/dhxtabbar_arrows.gif b/themes/skins/web_20191028/imgs/dhxtabbar_web/dhxtabbar_arrows.gif deleted file mode 100644 index 2dc3679..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxtabbar_web/dhxtabbar_arrows.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxtabbar_web/dhxtabbar_button_close.gif b/themes/skins/web_20191028/imgs/dhxtabbar_web/dhxtabbar_button_close.gif deleted file mode 100644 index 8bc64e4..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxtabbar_web/dhxtabbar_button_close.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxtabbar_web/dhxtabbar_cell_progress.gif b/themes/skins/web_20191028/imgs/dhxtabbar_web/dhxtabbar_cell_progress.gif deleted file mode 100644 index ff9a5e6..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxtabbar_web/dhxtabbar_cell_progress.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxtoolbar_web/dhxtoolbar_arrow.gif b/themes/skins/web_20191028/imgs/dhxtoolbar_web/dhxtoolbar_arrow.gif deleted file mode 100644 index bb37cd1..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxtoolbar_web/dhxtoolbar_arrow.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxtoolbar_web/dhxtoolbar_arrow_dis.gif b/themes/skins/web_20191028/imgs/dhxtoolbar_web/dhxtoolbar_arrow_dis.gif deleted file mode 100644 index 14af3f0..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxtoolbar_web/dhxtoolbar_arrow_dis.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxtree_web/blank.gif b/themes/skins/web_20191028/imgs/dhxtree_web/blank.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxtree_web/blank.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxtree_web/but_cut.gif b/themes/skins/web_20191028/imgs/dhxtree_web/but_cut.gif deleted file mode 100644 index 942bd18..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxtree_web/but_cut.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxtree_web/folderClosed.gif b/themes/skins/web_20191028/imgs/dhxtree_web/folderClosed.gif deleted file mode 100644 index 4b7e76d..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxtree_web/folderClosed.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxtree_web/folderOpen.gif b/themes/skins/web_20191028/imgs/dhxtree_web/folderOpen.gif deleted file mode 100644 index 29ce5e8..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxtree_web/folderOpen.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxtree_web/iconCheckAll.gif b/themes/skins/web_20191028/imgs/dhxtree_web/iconCheckAll.gif deleted file mode 100644 index 8868f58..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxtree_web/iconCheckAll.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxtree_web/iconCheckDis.gif b/themes/skins/web_20191028/imgs/dhxtree_web/iconCheckDis.gif deleted file mode 100644 index 82672fc..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxtree_web/iconCheckDis.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxtree_web/iconCheckGray.gif b/themes/skins/web_20191028/imgs/dhxtree_web/iconCheckGray.gif deleted file mode 100644 index 0a491cc..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxtree_web/iconCheckGray.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxtree_web/iconUncheckAll.gif b/themes/skins/web_20191028/imgs/dhxtree_web/iconUncheckAll.gif deleted file mode 100644 index f91ca21..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxtree_web/iconUncheckAll.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxtree_web/iconUncheckDis.gif b/themes/skins/web_20191028/imgs/dhxtree_web/iconUncheckDis.gif deleted file mode 100644 index 71e8644..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxtree_web/iconUncheckDis.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxtree_web/leaf.gif b/themes/skins/web_20191028/imgs/dhxtree_web/leaf.gif deleted file mode 100644 index deca307..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxtree_web/leaf.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxtree_web/line.gif b/themes/skins/web_20191028/imgs/dhxtree_web/line.gif deleted file mode 100644 index b4f560c..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxtree_web/line.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxtree_web/line1.gif b/themes/skins/web_20191028/imgs/dhxtree_web/line1.gif deleted file mode 100644 index b4f560c..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxtree_web/line1.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxtree_web/line1_rtl.gif b/themes/skins/web_20191028/imgs/dhxtree_web/line1_rtl.gif deleted file mode 100644 index bf32db2..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxtree_web/line1_rtl.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxtree_web/line2.gif b/themes/skins/web_20191028/imgs/dhxtree_web/line2.gif deleted file mode 100644 index 23b2ce3..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxtree_web/line2.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxtree_web/line2_rtl.gif b/themes/skins/web_20191028/imgs/dhxtree_web/line2_rtl.gif deleted file mode 100644 index 6ec17b5..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxtree_web/line2_rtl.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxtree_web/line3.gif b/themes/skins/web_20191028/imgs/dhxtree_web/line3.gif deleted file mode 100644 index 43152c5..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxtree_web/line3.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxtree_web/line3_rtl.gif b/themes/skins/web_20191028/imgs/dhxtree_web/line3_rtl.gif deleted file mode 100644 index 74a874c..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxtree_web/line3_rtl.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxtree_web/line4.gif b/themes/skins/web_20191028/imgs/dhxtree_web/line4.gif deleted file mode 100644 index 907fe7a..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxtree_web/line4.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxtree_web/line4_rtl.gif b/themes/skins/web_20191028/imgs/dhxtree_web/line4_rtl.gif deleted file mode 100644 index 5c7e162..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxtree_web/line4_rtl.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxtree_web/lock.gif b/themes/skins/web_20191028/imgs/dhxtree_web/lock.gif deleted file mode 100644 index 49b855a..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxtree_web/lock.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxtree_web/minus.gif b/themes/skins/web_20191028/imgs/dhxtree_web/minus.gif deleted file mode 100644 index 77d3b97..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxtree_web/minus.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxtree_web/minus1.gif b/themes/skins/web_20191028/imgs/dhxtree_web/minus1.gif deleted file mode 100644 index a31abe2..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxtree_web/minus1.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxtree_web/minus2.gif b/themes/skins/web_20191028/imgs/dhxtree_web/minus2.gif deleted file mode 100644 index 9828911..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxtree_web/minus2.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxtree_web/minus2_rtl.gif b/themes/skins/web_20191028/imgs/dhxtree_web/minus2_rtl.gif deleted file mode 100644 index 75ea68a..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxtree_web/minus2_rtl.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxtree_web/minus3.gif b/themes/skins/web_20191028/imgs/dhxtree_web/minus3.gif deleted file mode 100644 index df8b060..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxtree_web/minus3.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxtree_web/minus3_rtl.gif b/themes/skins/web_20191028/imgs/dhxtree_web/minus3_rtl.gif deleted file mode 100644 index 62a0b55..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxtree_web/minus3_rtl.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxtree_web/minus4.gif b/themes/skins/web_20191028/imgs/dhxtree_web/minus4.gif deleted file mode 100644 index 2b456f8..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxtree_web/minus4.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxtree_web/minus4_rtl.gif b/themes/skins/web_20191028/imgs/dhxtree_web/minus4_rtl.gif deleted file mode 100644 index 02eb13c..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxtree_web/minus4_rtl.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxtree_web/minus5.gif b/themes/skins/web_20191028/imgs/dhxtree_web/minus5.gif deleted file mode 100644 index 2827d81..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxtree_web/minus5.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxtree_web/minus5_rtl.gif b/themes/skins/web_20191028/imgs/dhxtree_web/minus5_rtl.gif deleted file mode 100644 index 31df871..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxtree_web/minus5_rtl.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxtree_web/plus.gif b/themes/skins/web_20191028/imgs/dhxtree_web/plus.gif deleted file mode 100644 index 7e2bf79..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxtree_web/plus.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxtree_web/plus1.gif b/themes/skins/web_20191028/imgs/dhxtree_web/plus1.gif deleted file mode 100644 index 7b723c2..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxtree_web/plus1.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxtree_web/plus2.gif b/themes/skins/web_20191028/imgs/dhxtree_web/plus2.gif deleted file mode 100644 index d5aa3b7..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxtree_web/plus2.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxtree_web/plus2_rtl.gif b/themes/skins/web_20191028/imgs/dhxtree_web/plus2_rtl.gif deleted file mode 100644 index 1a6dda5..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxtree_web/plus2_rtl.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxtree_web/plus3.gif b/themes/skins/web_20191028/imgs/dhxtree_web/plus3.gif deleted file mode 100644 index 165bd73..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxtree_web/plus3.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxtree_web/plus3_rtl.gif b/themes/skins/web_20191028/imgs/dhxtree_web/plus3_rtl.gif deleted file mode 100644 index 28b55f6..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxtree_web/plus3_rtl.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxtree_web/plus4.gif b/themes/skins/web_20191028/imgs/dhxtree_web/plus4.gif deleted file mode 100644 index e87b3c6..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxtree_web/plus4.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxtree_web/plus4_rtl.gif b/themes/skins/web_20191028/imgs/dhxtree_web/plus4_rtl.gif deleted file mode 100644 index 38a5868..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxtree_web/plus4_rtl.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxtree_web/plus5.gif b/themes/skins/web_20191028/imgs/dhxtree_web/plus5.gif deleted file mode 100644 index 3dd3987..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxtree_web/plus5.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxtree_web/plus5_rtl.gif b/themes/skins/web_20191028/imgs/dhxtree_web/plus5_rtl.gif deleted file mode 100644 index 080214e..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxtree_web/plus5_rtl.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxtree_web/radio_off.gif b/themes/skins/web_20191028/imgs/dhxtree_web/radio_off.gif deleted file mode 100644 index 6087139..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxtree_web/radio_off.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxtree_web/radio_on.gif b/themes/skins/web_20191028/imgs/dhxtree_web/radio_on.gif deleted file mode 100644 index 2d60066..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxtree_web/radio_on.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxtreeview_web/icon_chbx_0.gif b/themes/skins/web_20191028/imgs/dhxtreeview_web/icon_chbx_0.gif deleted file mode 100644 index f91ca21..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxtreeview_web/icon_chbx_0.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxtreeview_web/icon_chbx_1.gif b/themes/skins/web_20191028/imgs/dhxtreeview_web/icon_chbx_1.gif deleted file mode 100644 index 8868f58..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxtreeview_web/icon_chbx_1.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxtreeview_web/icon_chbx_dis_0.gif b/themes/skins/web_20191028/imgs/dhxtreeview_web/icon_chbx_dis_0.gif deleted file mode 100644 index 00e8e5a..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxtreeview_web/icon_chbx_dis_0.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxtreeview_web/icon_chbx_dis_1.gif b/themes/skins/web_20191028/imgs/dhxtreeview_web/icon_chbx_dis_1.gif deleted file mode 100644 index 82672fc..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxtreeview_web/icon_chbx_dis_1.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxtreeview_web/icon_file.gif b/themes/skins/web_20191028/imgs/dhxtreeview_web/icon_file.gif deleted file mode 100644 index deca307..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxtreeview_web/icon_file.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxtreeview_web/icon_folder_closed.gif b/themes/skins/web_20191028/imgs/dhxtreeview_web/icon_folder_closed.gif deleted file mode 100644 index 4b7e76d..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxtreeview_web/icon_folder_closed.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxtreeview_web/icon_folder_opened.gif b/themes/skins/web_20191028/imgs/dhxtreeview_web/icon_folder_opened.gif deleted file mode 100644 index 29ce5e8..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxtreeview_web/icon_folder_opened.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxtreeview_web/icon_minus.gif b/themes/skins/web_20191028/imgs/dhxtreeview_web/icon_minus.gif deleted file mode 100644 index 77d3b97..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxtreeview_web/icon_minus.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxtreeview_web/icon_plus.gif b/themes/skins/web_20191028/imgs/dhxtreeview_web/icon_plus.gif deleted file mode 100644 index 7e2bf79..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxtreeview_web/icon_plus.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxtreeview_web/loading.gif b/themes/skins/web_20191028/imgs/dhxtreeview_web/loading.gif deleted file mode 100644 index d91e279..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxtreeview_web/loading.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxwins_web/dhxwins_buttons.gif b/themes/skins/web_20191028/imgs/dhxwins_web/dhxwins_buttons.gif deleted file mode 100644 index 540cc5c..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxwins_web/dhxwins_buttons.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxwins_web/dhxwins_icon.gif b/themes/skins/web_20191028/imgs/dhxwins_web/dhxwins_icon.gif deleted file mode 100644 index 3dbe25d..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxwins_web/dhxwins_icon.gif and /dev/null differ diff --git a/themes/skins/web_20191028/imgs/dhxwins_web/dhxwins_progress.gif b/themes/skins/web_20191028/imgs/dhxwins_web/dhxwins_progress.gif deleted file mode 100644 index ff9a5e6..0000000 Binary files a/themes/skins/web_20191028/imgs/dhxwins_web/dhxwins_progress.gif and /dev/null differ diff --git a/themes/skins4.0/material/dhtmlx.css b/themes/skins4.0/material/dhtmlx.css deleted file mode 100644 index ec9f50e..0000000 --- a/themes/skins4.0/material/dhtmlx.css +++ /dev/null @@ -1,9 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -@keyframes dhx_loader_rotate{100%{transform:rotate(360deg);}}@keyframes dhx_loader_dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0;}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px;}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px;}}.dhtmlxcalendar_material{position:absolute;display:block;background-color:white;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhtmlxcalendar_material.dhtmlxcalendar_in_input{box-shadow:0 10px 20px rgba(0,0,0,0.19),0 6px 6px rgba(0,0,0,0.23);}.dhtmlxcalendar_material.dhtmlxcalendar_in_input div.dhtmlxcalendar_month_cont,.dhtmlxcalendar_material.dhtmlxcalendar_in_input div.dhtmlxcalendar_days_cont,.dhtmlxcalendar_material.dhtmlxcalendar_in_input div.dhtmlxcalendar_dates_cont,.dhtmlxcalendar_material.dhtmlxcalendar_in_input div.dhtmlxcalendar_time_cont{border-color:white;}.dhtmlxcalendar_material.dhtmlxcalendar_in_input div.dhtmlxcalendar_time_cont{border-top:1px solid #dfdfdf;}.dhtmlxcalendar_material ul.dhtmlxcalendar_line{position:relative;display:block;clear:both;font:inherit;margin:0;padding:0;overflow:hidden;margin-left:12px;width:225px;}.dhtmlxcalendar_material ul.dhtmlxcalendar_line li{float:left;position:relative;list-style-type:none;list-style-image:none;text-align:center;vertical-align:middle;font:inherit;cursor:default;overflow:hidden;margin:0;padding:0;}.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont{position:relative;display:block;width:249px;margin:0;border-width:1px 1px 0 1px;border-style:solid;border-color:#dfdfdf;overflow:hidden;font:inherit;-webkit-user-select:text;-khtml-user-select:text;-moz-user-select:text;-ms-user-select:text;-o-user-select:text;user-select:text;}.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr{width:225px;height:31px;line-height:31px;}.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow{position:absolute;top:0;width:18px;height:31px;color:inherit;text-align:center;background-position:center center;background-repeat:no-repeat;}.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_left,.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_left_hover{left:4px;background-image:url("imgs/dhxcalendar_material/dhxcalendar_arrow_left.png");}.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_left,.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_left_hover{background-image:linear-gradient(transparent,transparent),url("imgs/dhxcalendar_material/dhxcalendar_arrow_left.svg");}.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_right,.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_right_hover{right:4px;background-image:url("imgs/dhxcalendar_material/dhxcalendar_arrow_right.png");}.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_right,.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_right_hover{background-image:linear-gradient(transparent,transparent),url("imgs/dhxcalendar_material/dhxcalendar_arrow_right.svg");}.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr span.dhtmlxcalendar_month_label_month,.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr span.dhtmlxcalendar_month_label_year{position:relative;font:inherit;}.dhtmlxcalendar_material div.dhtmlxcalendar_days_cont{position:relative;display:block;width:249px;margin:0;border-left:1px solid #dfdfdf;border-right:1px solid #dfdfdf;overflow:hidden;-webkit-user-select:text;-khtml-user-select:text;-moz-user-select:text;-ms-user-select:text;-o-user-select:text;user-select:text;}.dhtmlxcalendar_material div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line{height:31px;}.dhtmlxcalendar_material div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li{width:31px;height:31px;line-height:31px;margin-left:1px;font-size:12px;color:#9a9a9a;}.dhtmlxcalendar_material div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_first{margin-left:1px;}.dhtmlxcalendar_material div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_day_weekday_cell_first{margin-left:1px;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont{-webkit-tap-highlight-color:rgba(0,0,0,0);position:relative;display:block;width:249px;margin:0;padding-bottom:8px;border-width:0 1px 1px 1px;border-style:solid;border-color:#dfdfdf;overflow:hidden;font:inherit;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line{margin-top:1px;margin-left:13px;height:31px;line-height:31px;font:inherit;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li{width:31px;height:31px;line-height:31px;margin-right:1px;border-radius:50%;overflow:visible;font:inherit;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li div.dhtmlxcalendar_label{position:relative;width:100%;height:100%;font:inherit;line-height:31px;text-align:center;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li div.dhtmlxcalendar_label.dhtmlxcalendar_label_title{background-image:url("imgs/dhxcalendar_material/dhxcalendar_marker.gif");background-position:top right;background-repeat:no-repeat;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell{color:#a6a6a6;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_weekend{color:#e6918e;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date{color:#a6a6a6;background-color:#dcdcdc;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date_weekend{color:#e6918e;background-color:#dcdcdc;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_dis,.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date_dis{color:#c0c0c0;background-color:#f2f2f2;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_weekend_dis,.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date_weekend_dis{color:#e6918e;background-color:#f2f2f2;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_holiday,.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_weekend_holiday{color:#e6918e;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date_holiday,.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date_weekend_holiday{color:#d43f3a;background-color:#ebebeb;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_holiday_dis,.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_weekend_holiday_dis,.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date_holiday_dis,.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date_weekend_holiday_dis{color:#d43f3a;background-color:#f2f2f2;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_hover{color:#a6a6a6;background-color:#ebebeb;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date_hover{color:#a6a6a6;background-color:#dcdcdc;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_weekend_hover{color:#e6918e;background-color:#ebebeb;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date_weekend_hover{color:#e6918e;background-color:#dcdcdc;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_holiday_hover,.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_weekend_holiday_hover,.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date_holiday_hover,.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date_weekend_holiday_hover{color:#d43f3a;background-color:#ebebeb;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month{color:#404040;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_weekend{color:#d43f3a;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date{color:white;background-color:#39c;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date_weekend{color:white;background-color:#ef5350;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_dis,.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date_dis{color:#c0c0c0;background-color:#f2f2f2;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_weekend_dis,.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date_weekend_dis{color:#d43f3a;background-color:#f2f2f2;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_holiday{color:#d43f3a;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_weekend_holiday{color:#d43f3a;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date_holiday{color:white;background-color:#ef5350;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date_weekend_holiday{color:white;background-color:#ef5350;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_holiday_dis,.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date_holiday_dis,.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_weekend_holiday_dis,.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date_weekend_holiday_dis{color:#d43f3a;background-color:#f2f2f2;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_hover{color:#404040;background-color:#ebebeb;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_weekend_hover{color:#d43f3a;background-color:#ebebeb;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date_hover{color:white;background-color:#39c;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date_weekend_hover{color:white;background-color:#ef5350;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_holiday_hover{color:#d43f3a;background-color:#ebebeb;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_weekend_holiday_hover{color:#d43f3a;background-color:#ebebeb;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date_holiday_hover{color:white;background-color:#ef5350;}.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date_weekend_holiday_hover{color:white;background-color:#ef5350;}.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont{position:relative;display:block;width:249px;height:31px;border-left:1px solid #dfdfdf;border-right:1px solid #dfdfdf;border-bottom:1px solid #dfdfdf;overflow:hidden;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li{width:225px;height:31px;line-height:31px;}.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_time_hdr{text-align:left;}.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_hours{margin-left:42px;}.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li div.dhtmlxcalendar_time_img{position:absolute;left:22px;top:7px;width:18px;height:18px;background-image:url("imgs/dhxcalendar_material/dhxcalendar_clock.png");background-position:center center;background-repeat:no-repeat;}.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li div.dhtmlxcalendar_time_img{left:75px;}.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr{text-align:center;}.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_hours{margin-left:0;}.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_today,.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_clear{display:none;}.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr div.dhtmlxcalendar_time_img,.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_hours,.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_minutes,.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_colon{display:none;}.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_today{float:right;margin-right:8px;}.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_clear{float:right;margin-right:74px;}.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_selected_date{border-bottom:2px solid red;}.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_today{float:right;margin-right:8px;}.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_clear{float:right;margin-right:22px;}.dhtmlxcalendar_material div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn,.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn{display:none;}.dhtmlxcalendar_material div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell,.dhtmlxcalendar_material div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_first,.dhtmlxcalendar_material div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell{width:27px;}.dhtmlxcalendar_material div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn{display:block;width:27px;color:#3da0e3;background-color:- #060606;}.dhtmlxcalendar_material div.dhtmlxcalendar_wn div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell{width:27px;height:28px;line-height:27px;margin-top:2px;}.dhtmlxcalendar_material div.dhtmlxcalendar_wn div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell div{line-height:inherit;}.dhtmlxcalendar_material div.dhtmlxcalendar_wn div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn{display:block;width:27px;color:#3da0e3;background-color:- #060606;}.dhtmlxcalendar_material div.dhtmlxcalendar_selector_cover{position:absolute;left:1px;background-color:white;opacity:.5;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);}.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj{position:absolute;}.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_selector_obj_arrow{position:absolute;bottom:auto;top:1px;left:0;width:100%;height:9px;overflow:hidden;background-image:url("imgs/dhxcalendar_material/dhxcalendar_selector_top.gif");background-position:top center;background-repeat:no-repeat;}.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table{border-bottom:1px solid #dfdfdf;border-top:0 solid white;background-color:white;margin-top:9px;box-shadow:0 2px 6px rgba(0,0,0,0.24);}.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left,.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right{width:24px;text-align:center;border-color:#dfdfdf;border-style:solid;padding:0;margin:0;background-color:white;background-position:center center;background-repeat:no-repeat;cursor:default;}.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left{border-width:1px 0 0 1px;background-image:url("imgs/dhxcalendar_material/dhxcalendar_arrow_left.png");}.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left.dhtmlxcalendar_selector_cell_left_hover{background-color:#ebebeb;}.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right{border-width:1px 1px 0 0;background-image:url("imgs/dhxcalendar_material/dhxcalendar_arrow_right.png");}.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right.dhtmlxcalendar_selector_cell_right_hover{background-color:#ebebeb;}.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle{cursor:default;}.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul{display:block;clear:both;background-color:white;border-left:1px solid #dfdfdf;margin:0;padding:0;overflow:hidden;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul li{float:left;list-style-type:none;list-style-image:none;text-align:center;vertical-align:middle;margin:0;padding:0;border-right:1px solid #dfdfdf;background-color:white;cursor:default;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;font-size:.9em;}.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul li.dhtmlxcalendar_selector_cell_active,.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul li.dhtmlxcalendar_selector_cell_hover{background-color:#ebebeb;}.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line{height:28px;border-top:1px solid #dfdfdf;border-bottom:0 solid white;}.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell{width:50px;height:28px;line-height:28px;}.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left,.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right{display:none;width:0;}.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours div.dhtmlxcalendar_selector_obj_arrow,.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 div.dhtmlxcalendar_selector_obj_arrow,.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_selector_obj_arrow{top:auto;bottom:1px;background-image:url("imgs/dhxcalendar_material/dhxcalendar_selector_bottom.gif");}.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours div.dhtmlxcalendar_selector_obj_arrow ul.dhtmlxcalendar_selector_line,.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 div.dhtmlxcalendar_selector_obj_arrow ul.dhtmlxcalendar_selector_line,.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_selector_obj_arrow ul.dhtmlxcalendar_selector_line{height:28px;border-top:0 solid white;border-bottom:1px solid #dfdfdf;}.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table,.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table,.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table{margin-top:0;margin-bottom:9px;border-bottom:none;}.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell,.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell,.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell{width:34px;height:28px;line-height:28px;}.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left,.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right,.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left,.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right,.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left,.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right{display:none;width:0;}.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_month,.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_year,.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_hours,.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_hours2,.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_minutes,.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_minutes4,.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_minutes5{display:none;}.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month div.dhtmlxcalendar_area_selector_month,.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_year div.dhtmlxcalendar_area_selector_year,.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours div.dhtmlxcalendar_area_selector_hours,.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 div.dhtmlxcalendar_area_selector_hours,.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_area_selector_minutes,.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_area_selector_minutes4,.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_area_selector_minutes5{display:block;}.dhtmlxcalendar_ifr{position:absolute;overflow:hidden;background-color:white;}div.dhtmlxcalendar_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:40px;height:10px;overflow:hidden;}@keyframes dhx_loader_rotate{100%{transform:rotate(360deg);}}@keyframes dhx_loader_dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0;}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px;}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px;}}div.dhxcombo_material{position:relative;border-bottom:1px solid #dfdfdf;padding-bottom:1px;overflow:hidden;vertical-align:middle;background-color:white;font-size:1px;height:29px;-webkit-tap-highlight-color:rgba(0,0,0,0);}div.dhxcombo_material.dhxcombo_actv{padding-bottom:0;border-bottom:2px solid #39c;}div.dhxcombo_material input.dhxcombo_input{position:absolute;left:4px;top:0;*top:1px;height:29px;line-height:28px;*height:27px;*line-height:26px;border:0 solid white;outline:0 solid white;padding:0;margin:0 0 0 2px;background-color:white;vertical-align:top;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}div.dhxcombo_material input.dhxcombo_input::-ms-clear{display:none;}div.dhxcombo_material div.dhxcombo_select_button{position:absolute;width:21px;height:22px;top:4px;right:2px;font-size:1px;cursor:pointer;overflow:hidden;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}div.dhxcombo_material div.dhxcombo_select_button div.dhxcombo_select_img{position:relative;width:100%;height:100%;background-image:url("imgs/dhxcombo_material/dhxcombo_arrow_down.gif");background-repeat:no-repeat;background-position:center center;}div.dhxcombo_material div.dhxcombo_select_button div.dhxcombo_select_img{background-image:linear-gradient(transparent,transparent),url("imgs/dhxcombo_material/dhxcombo_arrow_down.svg");}div.dhxcombo_material div.dhxcombo_top_image{position:absolute;left:0;top:0;width:29px;height:29px;overflow:hidden;cursor:default;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}div.dhxcombo_material div.dhxcombo_top_image div.dhxcombo_image{position:absolute;top:6px;left:5px;width:18px;height:18px;background-repeat:no-repeat;background-position:center center;overflow:hidden;cursor:default;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}div.dhxcombolist_material{position:absolute;border:1px solid #dfdfdf;background-color:#fafafa;overflow-x:none;overflow-y:auto;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;box-shadow:0 0 10px rgba(127,127,127,0.2);}div.dhxcombolist_material div.dhxcombo_option{position:relative;font:inherit;height:32px;line-height:32px;vertical-align:middle;overflow:hidden;cursor:default;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}div.dhxcombolist_material div.dhxcombo_option.dhxcombo_option_selected{background-color:#ebebeb;}div.dhxcombolist_material div.dhxcombo_option div.dhxcombo_option_text{position:relative;padding:0 4px;font:inherit;white-space:nowrap;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}div.dhxcombolist_material div.dhxcombo_option div.dhxcombo_option_text.dhxcombo_option_text_chbx{position:relative;padding:0 4px;margin-left:26px;white-space:nowrap;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}div.dhxcombolist_material div.dhxcombo_option div.dhxcombo_option_text.dhxcombo_option_text_image{position:relative;padding:0 4px 0 4px;margin-left:26px;white-space:nowrap;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}div.dhxcombolist_material div.dhxcombo_option div.dhxcombo_image,div.dhxcombolist_material div.dhxcombo_option div.dhxcombo_checkbox{position:absolute;width:18px;margin:0 5px;height:32px;line-height:32px;background-image:url("imgs/dhxcombo_material/dhxcombo_chbx.gif");background-repeat:no-repeat;overflow:hidden;cursor:default;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}div.dhxcombolist_material div.dhxcombo_option div.dhxcombo_image.dhxcombo_chbx_1,div.dhxcombolist_material div.dhxcombo_option div.dhxcombo_checkbox.dhxcombo_chbx_1{background-position:0 7px;}div.dhxcombolist_material div.dhxcombo_option div.dhxcombo_image.dhxcombo_chbx_0,div.dhxcombolist_material div.dhxcombo_option div.dhxcombo_checkbox.dhxcombo_chbx_0{background-position:-18px 7px;}div.dhxcombolist_material div.dhxcombo_option div.dhxcombo_image{top:7px;margin:0 0 0 6px;width:18px;height:18px;}div.dhxcombo_material.dhxcombo_disabled input.dhxcombo_input{color:#a6a6a6;}div.dhxcombo_material.dhxcombo_disabled div.dhxcombo_select_button div.dhxcombo_select_img{background-image:url("imgs/dhxcombo_material/dhxcombo_arrow_down_dis.gif");cursor:default;}.dhxgrid_combo_icon{position:absolute;z-index:1;top:0;right:0;}div.dhxcombo_in_grid_parent{position:relative;height:100%;top:0;}div.dhxcombo_in_grid_parent div.dhxcombo_material{position:absolute;top:0;left:-1px;}div.dhxcombolist_material.dhxcombolist_hdr{border-bottom-width:0;height:36px;line-height:36px;box-shadow:none;}div.dhxcombolist_material.dhxcombolist_hdr div.dhxcombo_hdrtext{position:relative;padding:0;white-space:nowrap;cursor:default;font-family:Roboto,Arial,Helvetica;font-size:14px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}div.dhxcombolist_material.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell,div.dhxcombolist_material.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell_first{float:left;white-space:nowrap;overflow:hidden;position:relative;z-index:2;border-left:1px solid #dfdfdf;padding:0;margin:0;}div.dhxcombolist_material.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell_first,div.dhxcombolist_material.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell:first-child{border-left-width:0;}div.dhxcombolist_material.dhxcombolist_multicolumn div.dhxcombo_option{height:32px;line-height:32px;margin-top:-1px;z-index:0;border-top:1px solid #dfdfdf;border-bottom:1px solid #dfdfdf;background-color:white;}div.dhxcombolist_material.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_option_text{padding:0;}div.dhxcombolist_material.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell,div.dhxcombolist_material.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell_first{float:left;white-space:nowrap;overflow:hidden;position:relative;border-left:1px solid #dfdfdf;padding:0;margin:0;}div.dhxcombolist_material.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell_first,div.dhxcombolist_material.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell:first-child{border-left-width:0;}div.dhxcombolist_material.dhxcombolist_multicolumn div.dhxcombo_option.dhxcombo_option_selected{z-index:1;background-color:#ebebeb;border-top-color:#dfdfdf;border-bottom-color:#dfdfdf;}div.dhxcombolist_material.dhxcombolist_multicolumn div.dhxcombo_option.dhxcombo_option_selected div.dhxcombo_cell{border-left-color:#dfdfdf;}div.dhxcombolist_material.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell_text,div.dhxcombolist_material.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell_text{position:relative;margin:0 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:auto;min-height:32px;}.dhxcombo_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:40px;height:10px;overflow:hidden;}@keyframes dhx_loader_rotate{100%{transform:rotate(360deg);}}@keyframes dhx_loader_dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0;}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px;}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px;}}.dhtmlxcp_material{font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhtmlxcp_material *{line-height:normal;}.dhtmlxcp_material.dhxcp_shadow div.dhxcp_g_area{border-width:1px 0 0 0;box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24);}.dhtmlxcp_material div.dhxcp_g_area{position:absolute;width:235px;height:262px;background-color:white;border:1px solid #dfdfdf;}.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area{width:235px;height:262px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_color_area{padding-bottom:2px;width:235px;height:122px;margin:0;}.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_color_area div.dhxcp_color_selector{position:absolute;width:210px;height:120px;background-image:url("imgs/dhxcp_material/dhxcp_colors.png");background-repeat:no-repeat;cursor:pointer;float:left;}.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_color_area div.dhxcp_color_selector div.dhxcp_h_line{width:210px;}.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_color_area div.dhxcp_color_selector div.dhxcp_v_line{position:absolute;width:0;height:120px;border-left:1px solid white;cursor:pointer;overflow:hidden;}.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_color_area div.dhxcp_contrast_area{position:relative;height:120px;width:24px;cursor:pointer;float:right;}.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_color_area div.dhxcp_contrast_area div.dhxcp_ie_gradient{height:120px;width:24px;margin:0;}.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_color_area div.dhxcp_contrast_area div.dhxcp_h_line{width:24px;}.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_color_area div.dhxcp_h_line{position:absolute;height:0;border-top:1px solid white;cursor:pointer;overflow:hidden;}.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_input_area{position:relative;padding:0 14px;width:auto;height:78px;margin:0;}.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_input_area div.dhxcp_value_cont{height:78px;float:left;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_input_area div.dhxcp_value_cont div.dhxcp_value_color{margin-top:5px;width:52px;height:48px;border:1px solid #dfdfdf;}.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_input_area div.dhxcp_value_cont input.dhxcp_value{width:54px;margin-top:3px;line-height:1em;border-width:0 0 1px 0;border-style:solid;border-color:#dfdfdf;background-color:white;padding:3px 3px 3px 3px;text-align:left;font:inherit;font-size:13px;outline:none!important;}.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_input_area div.dhxcp_value_cont input.dhxcp_value:focus{border-bottom-color:#39c;border-bottom-width:2px;padding-bottom:0;}.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_input_area table.dhxcp_inputs_cont{position:absolute;right:14px;top:4px;border:none;border-spacing:0;width:130px;height:78px;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_input_area table.dhxcp_inputs_cont .dhxcp_label_hsl,.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_input_area table.dhxcp_inputs_cont .dhxcp_label_rgb{text-align:right;padding:0 7px 0 0;font:inherit;font-size:13px;}.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_input_area table.dhxcp_inputs_cont td.dhxcp_input_hsl,.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_input_area table.dhxcp_inputs_cont td.dhxcp_input_rgb{width:28px;border:none;padding:0;margin:0;font:inherit;vertical-align:top;}.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_input_area table.dhxcp_inputs_cont input.dhxcp_input_hsl,.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_input_area table.dhxcp_inputs_cont input.dhxcp_input_rgb{width:26px;margin-top:2px;line-height:1em;border-width:0 0 1px 0;border-style:solid;border-color:#dfdfdf;background-color:white;padding:3px 3px 3px 3px;text-align:left;font:inherit;font-size:13px;outline:none!important;}.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_input_area table.dhxcp_inputs_cont input.dhxcp_input_hsl:focus,.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_input_area table.dhxcp_inputs_cont input.dhxcp_input_rgb:focus{border-bottom-color:#39c;border-bottom-width:2px;padding-bottom:0;}.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_g_memory_area{display:none;}.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_buttons_area{position:relative;width:auto;height:32px;padding:0 14px;text-align:right;margin-top:18px;}.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_buttons_area button.dhx_button_save,.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_buttons_area button.dhx_button_cancel{height:32px;line-height:22px;margin:0 2px;padding-left:12px;padding-right:12px;overflow:hidden;text-align:center;outline:none!important;border:none!important;background-color:white;font-weight:500;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#39c;}.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_buttons_area button.dhx_button_save:hover,.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_buttons_area button.dhx_button_cancel:hover{background-color:#ededed;}.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_buttons_area button.dhx_button_save:active,.dhtmlxcp_material div.dhxcp_g_area div.dhxcp_sub_area div.dhxcp_buttons_area button.dhx_button_cancel:active{background-color:#e1e1e1;}.dhtmlxcp_material div.dhxcp_g_area.dhxcp_add_memory{height:315px!important;}.dhtmlxcp_material div.dhxcp_g_area.dhxcp_add_memory div.dhxcp_sub_area{height:315px!important;}.dhtmlxcp_material div.dhxcp_g_area.dhxcp_add_memory div.dhxcp_sub_area div.dhxcp_buttons_area{margin-top:0;}.dhtmlxcp_material div.dhxcp_g_area.dhxcp_add_memory div.dhxcp_sub_area div.dhxcp_g_memory_area{position:relative;display:block;height:60px;padding:0 14px;}.dhtmlxcp_material div.dhxcp_g_area.dhxcp_add_memory div.dhxcp_sub_area div.dhxcp_g_memory_area div.dhxcp_memory_button_cont{position:relative;width:auto;height:24px;margin-top:14px;}.dhtmlxcp_material div.dhxcp_g_area.dhxcp_add_memory div.dhxcp_sub_area div.dhxcp_g_memory_area div.dhxcp_memory_button_cont button.dhxcp_save_to_memory{width:100%;height:24px;margin:0;outline:none!important;border:none!important;background-color:white;font-weight:500;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#39c;}.dhtmlxcp_material div.dhxcp_g_area.dhxcp_add_memory div.dhxcp_sub_area div.dhxcp_g_memory_area div.dhxcp_memory_button_cont button.dhxcp_save_to_memory:hover{background-color:#ededed;}.dhtmlxcp_material div.dhxcp_g_area.dhxcp_add_memory div.dhxcp_sub_area div.dhxcp_g_memory_area div.dhxcp_memory_button_cont button.dhxcp_save_to_memory:active{background-color:#e1e1e1;}.dhtmlxcp_material div.dhxcp_g_area.dhxcp_add_memory div.dhxcp_sub_area div.dhxcp_g_memory_area div.dhxcp_memory_button_cont button.dhxcp_save_to_memory div.dhxcp_label_bm{display:inherit;width:90px;margin:0 auto;height:16px;}.dhtmlxcp_material div.dhxcp_g_area.dhxcp_add_memory div.dhxcp_sub_area div.dhxcp_g_memory_area div.dhxcp_memory_els_cont{position:relative;width:auto;height:25px;margin-top:3px;text-align:center;}.dhtmlxcp_material div.dhxcp_g_area.dhxcp_add_memory div.dhxcp_sub_area div.dhxcp_g_memory_area div.dhxcp_memory_els_cont a.dhxcp_memory_el{width:21px;height:20px;background-color:#fff;border:1px solid #dfdfdf;display:inline-block;margin-right:2px;}.dhtmlxcp_material div.dhxcp_g_area.dhxcp_add_memory div.dhxcp_sub_area div.dhxcp_g_memory_area div.dhxcp_memory_els_cont a.dhxcp_memory_el.dhxcp_memory_el_select{border:1px dashed black!important;}.dhtmlxcp_material div.dhxcp_g_area.dhxcp_add_memory div.dhxcp_sub_area div.dhxcp_g_memory_area div.dhxcp_memory_els_cont a.dhxcp_memory_el.dhxcp_memory_el_next{border:1px dashed red!important;}.dhxcp_colorBox{float:right;}.dhxcp_colorInput{float:left;}.dhxcp_frm{position:absolute;background-color:white;width:256px;height:274px;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}.dhxcolorpicker_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:40px;height:10px;overflow:hidden;}@keyframes dhx_loader_rotate{100%{transform:rotate(360deg);}}@keyframes dhx_loader_dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0;}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px;}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px;}}.dhtmlxslider_material{z-index:0;}.dhtmlxslider_material .dhxsl_hidden{display:none;}.dhtmlxslider_material .dhxsl_container{position:relative;float:left;clear:left;margin:0;padding:1px;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhtmlxslider_material .dhxsl_container.dhxsl_cont_hr{margin-top:4px;}.dhtmlxslider_material .dhxsl_container.dhxsl_cont_vr{margin-left:4px;}.dhtmlxslider_material .dhxsl_runner{position:absolute;background-color:#39c;-webkit-touch-callout:none;-webkit-user-select:none;-ms-touch-action:none;z-index:1;border-radius:50%;width:12px;height:12px;margin:0;padding:0;overflow:hidden;}.dhtmlxslider_material .dhxsl_runner.dhxsl_runner_actv{z-index:2;}.dhtmlxslider_material .dhxsl_runner_dis{background-color:#dfdfdf;border:1px solid white;width:10px;height:10px;}.dhtmlxslider_material .dhxsl_track{background-color:#dfdfdf;overflow:hidden;position:relative;margin:0;padding:0;-webkit-touch-callout:none;-webkit-user-select:none;-ms-touch-action:none;}.dhtmlxslider_material .dhxsl_track div.dhxsl_track_bg{position:absolute;font-size:1px;overflow:hidden;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhtmlxslider_material .dhxsl_cont_vr .dhxsl_track{height:100%;width:2px;}.dhtmlxslider_material .dhxsl_cont_vr .dhxsl_track div.dhxsl_track_bg{left:0;width:100%;}.dhtmlxslider_material .dhxsl_cont_hr .dhxsl_track{width:100%;height:2px;}.dhtmlxslider_material .dhxsl_cont_hr .dhxsl_track div.dhxsl_track_bg{top:0;height:100%;}.dhxslider_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:40px;height:10px;overflow:hidden;}@keyframes dhx_loader_rotate{100%{transform:rotate(360deg);}}@keyframes dhx_loader_dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0;}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px;}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px;}}div.dhx_popup_material{-webkit-tap-highlight-color:rgba(0,0,0,0);position:absolute;}div.dhx_popup_material div.dhx_popup_area{position:relative;margin:10px;padding:5px 0;border:1px solid #dfdfdf;background-color:#fafafa;box-shadow:0 0 10px rgba(127,127,127,0.2);}div.dhx_popup_material div.dhx_popup_area td.dhx_popup_td{text-align:left;line-height:normal;padding:0 10px 0 10px;white-space:nowrap;cursor:default;height:30px;line-height:30px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}div.dhx_popup_material div.dhx_popup_area td.dhx_popup_td *{white-space:normal;}div.dhx_popup_material div.dhx_popup_area tr.dhxnode td.dhx_popup_td{-webkit-user-select:text;-khtml-user-select:text;-moz-user-select:text;-ms-user-select:text;-o-user-select:text;user-select:text;}div.dhx_popup_material div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhtmlxcalendar_material{position:relative;float:left;box-shadow:none;}div.dhx_popup_material div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont,div.dhx_popup_material div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhtmlxcalendar_material div.dhtmlxcalendar_days_cont,div.dhx_popup_material div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont,div.dhx_popup_material div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont{border-color:#fafafa!important;}div.dhx_popup_material div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxeditor_material{border:1px solid #dfdfdf;margin:15px 0;}div.dhx_popup_material div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhtmlxcp_material div.dhxcp_g_area{position:relative;box-shadow:none!important;border-width:0!important;background-color:#fafafa;}div.dhx_popup_material div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxtabbar_base_material{z-index:1;}div.dhx_popup_material div.dhx_popup_area tr.dhx_popup_sep td.dhx_popup_sep{font-size:1px;padding:5px 0;position:relative;}div.dhx_popup_material div.dhx_popup_area tr.dhx_popup_sep td.dhx_popup_sep div.dhx_popup_sep{position:relative;font-size:1px;line-height:1px;height:0;width:100%;border-top:1px solid #dfdfdf;overflow:hidden;}div.dhx_popup_material div.dhx_popup_area td.dhx_popup_td:first-child{padding-left:23px;}div.dhx_popup_material div.dhx_popup_area td.dhx_popup_td:last-child{padding-right:21px;}div.dhx_popup_material div.dhx_popup_area tr:hover td.dhx_popup_td{background-color:#ebebeb;}div.dhx_popup_material div.dhx_popup_area tr.dhxnode:hover td.dhx_popup_td{background:none;}div.dhx_popup_material div.dhx_popup_area.dhx_popup_area_ie td.dhx_popup_td.dhx_popup_td_single{padding-left:23px;padding-right:21px;}div.dhx_popup_material div.dhx_popup_area.dhx_popup_area_ie td.dhx_popup_td.dhx_popup_td_first{padding-left:23px;}div.dhx_popup_material div.dhx_popup_area.dhx_popup_area_ie td.dhx_popup_td.dhx_popup_td_last{padding-right:21px;}div.dhx_popup_material div.dhx_popup_area.dhx_popup_area_ie tr.tr_hover td.dhx_popup_td{background-color:#ebebeb;}div.dhx_popup_material div.dhx_popup_arrow{position:absolute;background-repeat:no-repeat;}div.dhx_popup_material div.dhx_popup_arrow.dhx_popup_arrow_bottom{width:19px;height:16px;background-image:url("imgs/dhxpopup_material/dhxpopup_arrow_bottom.gif");background-position:top center;}div.dhx_popup_material div.dhx_popup_arrow.dhx_popup_arrow_top{width:19px;height:16px;background-image:url("imgs/dhxpopup_material/dhxpopup_arrow_top.gif");background-position:bottom center;}div.dhx_popup_material div.dhx_popup_arrow.dhx_popup_arrow_right{width:16px;height:19px;background-image:url("imgs/dhxpopup_material/dhxpopup_arrow_right.gif");background-position:center left;}div.dhx_popup_material div.dhx_popup_arrow.dhx_popup_arrow_left{width:16px;height:19px;background-image:url("imgs/dhxpopup_material/dhxpopup_arrow_left.gif");background-position:center right;}div.dhx_popup_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:40px;height:10px;overflow:hidden;}@keyframes dhx_loader_rotate{100%{transform:rotate(360deg);}}@keyframes dhx_loader_dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0;}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px;}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px;}}.dhtmlxMenu_material_Middle{position:relative;height:28px;line-height:28px;background-color:#f5f5f5;overflow:hidden;border:none;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhtmlxMenu_material_Middle div.dhtmlxMenu_material_TopLevel_Item_Normal,.dhtmlxMenu_material_Middle div.dhtmlxMenu_material_TopLevel_Item_Disabled,.dhtmlxMenu_material_Middle div.dhtmlxMenu_material_TopLevel_Item_Selected{position:relative;float:left;font:inherit;height:28px;line-height:28px;margin:0;padding:0 8px;cursor:default;white-space:nowrap;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhtmlxMenu_material_Middle div.dhtmlxMenu_material_TopLevel_Item_Normal div.top_level_text,.dhtmlxMenu_material_Middle div.dhtmlxMenu_material_TopLevel_Item_Disabled div.top_level_text,.dhtmlxMenu_material_Middle div.dhtmlxMenu_material_TopLevel_Item_Selected div.top_level_text{float:left;margin:0 3px;}.dhtmlxMenu_material_Middle div.dhtmlxMenu_material_TopLevel_Item_Normal i,.dhtmlxMenu_material_Middle div.dhtmlxMenu_material_TopLevel_Item_Disabled i,.dhtmlxMenu_material_Middle div.dhtmlxMenu_material_TopLevel_Item_Selected i{height:inherit;line-height:inherit;float:left;color:inherit;margin:0 4px;font-size:1.2em;}.dhtmlxMenu_material_Middle div.dhtmlxMenu_material_TopLevel_Item_Disabled{color:#a6a6a6;}.dhtmlxMenu_material_Middle div.dhtmlxMenu_material_TopLevel_Item_Selected{background-color:#ebebeb;}.dhtmlxMenu_material_Middle img.dhtmlxMenu_TopLevel_Item_Icon{float:left;margin:5px 3px 0 3px;width:18px;height:18px;cursor:default;}.dhtmlxMenu_material_Middle div.top_sep{position:relative;float:left;height:22px;width:0;border-left:1px solid #dfdfdf;margin:3px 8px 0 8px;font-size:1px;overflow:hidden;cursor:default;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhtmlxMenu_material_Middle div.dhtmlxMenu_TopLevel_Text_right,.dhtmlxMenu_material_Middle div.dhtmlxMenu_TopLevel_Text_left{position:absolute;top:0;height:28px;line-height:28px;cursor:default;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhtmlxMenu_material_Middle div.dhtmlxMenu_TopLevel_Text_right{right:6px;}.dhtmlxMenu_material_Middle div.dhtmlxMenu_TopLevel_Text_left{left:6px;}div.dhtmlxMenu_material_SubLevelArea_Polygon{position:absolute;padding:5px 0;background-color:#fafafa;overflow:hidden;cursor:default;line-height:normal;overflow-y:auto;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}div.dhtmlxMenu_material_SubLevelArea_Polygon td{padding:0;margin:0;line-height:normal;white-space:nowrap;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}div.dhtmlxMenu_material_SubLevelArea_Polygon td.sub_item_icon{width:18px;text-align:center;}div.dhtmlxMenu_material_SubLevelArea_Polygon td.sub_item_icon img.sub_icon{margin:4px 6px 0 6px;width:18px;height:18px;}div.dhtmlxMenu_material_SubLevelArea_Polygon td.sub_item_icon i{width:18px;height:30px;line-height:29px;margin:0 6px;font-size:1.2em;text-align:center;color:inherit;}div.dhtmlxMenu_material_SubLevelArea_Polygon td.sub_item_icon div.sub_icon{margin:0 6px;width:18px;height:30px;line-height:30px;background-position:0 5px;background-repeat:no-repeat;background-image:url("imgs/dhxmenu_material/dhxmenu_chrd.png");}div.dhtmlxMenu_material_SubLevelArea_Polygon td.sub_item_icon div.sub_icon.chbx_0{background-position:0 5px;}div.dhtmlxMenu_material_SubLevelArea_Polygon td.sub_item_icon div.sub_icon.chbx_1{background-position:-18px 5px;}div.dhtmlxMenu_material_SubLevelArea_Polygon td.sub_item_icon div.sub_icon.rdbt_0{background-position:-72px 5px;}div.dhtmlxMenu_material_SubLevelArea_Polygon td.sub_item_icon div.sub_icon.rdbt_1{background-position:-90px 5px;}div.dhtmlxMenu_material_SubLevelArea_Polygon td.sub_item_text div.sub_item_text{position:relative;height:30px;line-height:30px;padding:0 22px 0 1px;overflow:hidden;}div.dhtmlxMenu_material_SubLevelArea_Polygon td.sub_item_hk{padding:0 10px 0 8px;}div.dhtmlxMenu_material_SubLevelArea_Polygon td.sub_item_hk div.sub_item_hk{color:#8d8d8d;font-size:12px;text-align:right;}div.dhtmlxMenu_material_SubLevelArea_Polygon td div.complex_arrow{float:right;width:10px;margin:0 1px 0 11px;height:30px;line-height:30px;background-image:url("imgs/dhxmenu_material/dhxmenu_subar.png");background-repeat:no-repeat;background-position:0 10px;overflow:hidden;font-size:1px;}div.dhtmlxMenu_material_SubLevelArea_Polygon td div.complex_arrow_loading{width:16px;height:30px;line-height:30px;background-position:center center;background-repeat:no-repeat;background-image:url("imgs/dhxmenu_material/dhxmenu_loader.gif");float:right;}div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_item_selected td{background-color:#ebebeb;}div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_item_selected td div.complex_arrow{background-position:-10px 10px;}div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_item_dis td.sub_item_hk div.sub_item_hk{color:#c0c0c0;}div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_item_dis td div.sub_item_text,div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_item_dis td td.sub_item_icon i{color:#a6a6a6;}div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_item_dis td div.complex_arrow{background-position:-20px 10px;}div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_item_dis td div.sub_icon.chbx_0{background-position:-36px 5px;}div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_item_dis td div.sub_icon.chbx_1{background-position:-54px 5px;}div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_item_dis td div.sub_icon.rdbt_0{background-position:-108px 5px;}div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_item_dis td div.sub_icon.rdbt_1{background-position:-126px 5px;}div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_item_dis td i{color:#a6a6a6;}div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_sep td{padding:5px 3px;}div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_sep td div.sub_sep{position:relative;font-size:1px;line-height:1px;height:0;width:100%;border-top:1px solid #dfdfdf;}div.dhtmlxMenu_material_SubLevelArea_Polygon div.dhtmlxMenu_material_SubLevelArea_ArrowUp,div.dhtmlxMenu_material_SubLevelArea_Polygon div.dhtmlxMenu_material_SubLevelArea_ArrowUp_Over,div.dhtmlxMenu_material_SubLevelArea_Polygon div.dhtmlxMenu_material_SubLevelArea_ArrowUp_Disabled{position:relative;font-size:1px;border-bottom:1px solid #dfdfdf;background-image:url("imgs/dhxmenu_material/dhxmenu_arrow_up.png");background-repeat:no-repeat;background-position:center 2px;padding:8px 0;margin-bottom:3px;}div.dhtmlxMenu_material_SubLevelArea_Polygon div.dhtmlxMenu_material_SubLevelArea_ArrowUp_Disabled{background-image:url("imgs/dhxmenu_material/dhxmenu_arrow_up_dis.png");}div.dhtmlxMenu_material_SubLevelArea_Polygon div.dhtmlxMenu_material_SubLevelArea_ArrowDown,div.dhtmlxMenu_material_SubLevelArea_Polygon div.dhtmlxMenu_material_SubLevelArea_ArrowDown_Over,div.dhtmlxMenu_material_SubLevelArea_Polygon div.dhtmlxMenu_material_SubLevelArea_ArrowDown_Disabled{position:relative;font-size:1px;border-top:1px solid #dfdfdf;background-image:url("imgs/dhxmenu_material/dhxmenu_arrow_down.png");background-repeat:no-repeat;background-position:center 6px;padding:8px 0;margin-top:3px;}div.dhtmlxMenu_material_SubLevelArea_Polygon div.dhtmlxMenu_material_SubLevelArea_ArrowDown_Disabled{background-image:url("imgs/dhxmenu_material/dhxmenu_arrow_down_dis.png");}iframe.dhtmlxMenu_IE6CoverFix_material{position:absolute;border:none;background:#000;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=100);}.dhtmlxMenu_material_Middle.dir_left div.align_left{float:left;}.dhtmlxMenu_material_Middle.dir_left div.align_right{float:right;}.dhxmenu_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:40px;height:10px;overflow:hidden;}@keyframes dhx_loader_rotate{100%{transform:rotate(360deg);}}@keyframes dhx_loader_dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0;}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px;}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px;}}.dhtmlxribbon_material{overflow:hidden;width:100%;}.dhtmlxribbon_material.dhxrb_without_tabbar{background-color:#fafafa;border:1px solid #dfdfdf;}.dhtmlxribbon_material .dhxrb_background_area{height:126px;background-color:#fafafa;margin:1px;}.dhtmlxribbon_material .dhxrb_with_tabbar{height:171px;}.dhtmlxribbon_material div.dhx_cell_tabbar{background-color:#fafafa;}.dhtmlxribbon_material .dhxrb_g_area{height:124px;float:left;clear:left;overflow:hidden;position:relative;}.dhtmlxribbon_material .dhxrb_block_base{margin:3px 0 3px 3px;float:left;border:1px solid #dfdfdf;background-color:#fafafa;height:118px;overflow:hidden;position:relative;}.dhtmlxribbon_material .dhxrb_block_base .dhxrb_block_items{height:95px;float:left;padding:2px 0;overflow:hidden;}.dhtmlxribbon_material .dhxrb_block_base>.dhxrb_block_label{height:19px;line-height:18px;*height:auto;*line-height:1em;}.dhtmlxribbon_material .dhxrb_block_base .dhxrb_block_label{text-align:center;clear:left;background-color:#ebebeb;*font-size:12px;*padding:1px 3px 3px;*font-family:Arial;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhtmlxribbon_material .dhxrb_big_button{margin:1px 3px;float:left;text-align:center;padding:4px 10px;height:82px;border:1px solid #fafafa;background-color:#fafafa;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhtmlxribbon_material .dhxrb_big_button .dhxrb_image{width:48px;height:48px;border:none;}.dhtmlxribbon_material .dhxrb_big_button i{position:relative;display:block;margin-top:2px;margin-bottom:2px;width:48px;height:48px;line-height:47px;font-size:30px;color:inherit;cursor:default;text-align:center;}.dhtmlxribbon_material .dhxrb_big_button .dhxrb_label_button{margin:0 auto;cursor:default;line-height:14px;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhtmlxribbon_material .dhxrb_big_button .dhxrb_invisible{visibility:hidden;}.dhtmlxribbon_material .dhxrb_3rows_block{float:left;margin:0 3px;overflow:hidden;position:relative;}.dhtmlxribbon_material .dhxrb_3rows_block .dhxrb_invisible{display:none;}.dhtmlxribbon_material .dhxrb_3rows_button{height:25px;margin:1px 0;float:left;clear:left;padding:1px 8px;border:1px solid #fafafa;background-color:#fafafa;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhtmlxribbon_material .dhxrb_in_row{height:22px;margin:1px 0;float:left;padding:1px 8px;white-space:nowrap;border:1px solid #fafafa;background-color:#fafafa;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhtmlxribbon_material .dhxrb_group .dhxrb_buttoncombo_cont{height:20px;}.dhtmlxribbon_material .dhxrb_buttoncombo_cont{height:24px;padding:0 2px!important;}.dhtmlxribbon_material .dhxrb_buttoncombo{float:left;}.dhtmlxribbon_material .dhxrb_in_row .dhxrb_slider,.dhtmlxribbon_material .dhxrb_3rows_button .dhxrb_slider{float:left;margin-right:5px;}.dhtmlxribbon_material .dhxrb_in_row center,.dhtmlxribbon_material .dhxrb_in_group center,.dhtmlxribbon_material .dhxrb_3rows_button center{float:left;margin:0;padding:0;}.dhtmlxribbon_material .dhxrb_in_group .dhxrb_slider{float:left;margin-right:5px;}.dhtmlxribbon_material .dhxrb_big_button .dhxrb_slider{width:16px;margin:2px 0;height:50px;}.dhtmlxribbon_material .dhxrb_in_group{height:23px;float:left;padding:1px 4px;border:1px solid #ebebeb;}.dhtmlxribbon_material .dhxrb_input{float:left;border:1px solid #dfdfdf;background-color:#fff;height:18px;width:80px;padding:1px 2px;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhtmlxribbon_material .dhxrb_input:disabled{color:#a6a6a6;}.dhtmlxribbon_material div.dhxcombo_material{height:24px;line-height:24px;}.dhtmlxribbon_material div.dhxcombo_material input.dhxcombo_input{float:left;height:24px;width:80px;padding:0 2px;line-height:24px;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhtmlxribbon_material .dhxrb_in_group .dhxrb_input{height:16px;padding:1px 1px;line-height:16px;}.dhtmlxribbon_material .dhxrb_in_group div.dhxcombo_material{height:20px;line-height:20px;}.dhtmlxribbon_material .dhxrb_in_group div.dhxcombo_material input.dhxcombo_input{height:20px;line-height:20px;}.dhtmlxribbon_material .dhxrb_in_group div.dhxcombo_material div.dhxcombo_select_button{top:0;}.dhtmlxribbon_material div.dhxcombo_material div.dhxcombo_select_button{top:2px;}.dhtmlxribbon_material .dhxrb_3rows_button .dhxrb_image,.dhtmlxribbon_material .dhxrb_in_row .dhxrb_image,.dhtmlxribbon_material .dhxrb_in_group .dhxrb_image{margin:3px 0;width:18px;height:18px;float:left;}.dhtmlxribbon_material .dhxrb_3rows_button i,.dhtmlxribbon_material .dhxrb_in_row i,.dhtmlxribbon_material .dhxrb_in_group i{position:relative;float:left;width:18px;height:18px;line-height:17px;font-size:15px;margin-top:3px;color:inherit;cursor:default;text-align:center;}.dhtmlxribbon_material .dhxrb_item_disable i{color:#a6a6a6;}.dhtmlxribbon_material .dhxrb_3rows_button .dhxrb_label_button,.dhtmlxribbon_material .dhxrb_in_row .dhxrb_label_button,.dhtmlxribbon_material .dhxrb_in_group .dhxrb_label_button{float:left;cursor:default;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhtmlxribbon_material .dhxrb_3rows_button .dhxrb_label_button,.dhtmlxribbon_material .dhxrb_in_row .dhxrb_label_button{margin:1px 0 1px 6px;line-height:22px;}.dhtmlxribbon_material .dhxrb_in_group .dhxrb_label_button{margin:1px;line-height:22px;}.dhtmlxribbon_material .dhxrb_label_checkbox{float:left;margin:0 4px;cursor:default;line-height:21px;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhtmlxribbon_material .dhxrb_group .dhxrb_label_checkbox{line-height:19px;}.dhtmlxribbon_material .dhxrb_disable_text_style,.dhtmlxribbon_material .dhxrb_item_disable .dhxrb_label_checkbox{color:#a6a6a6!important;}.dhtmlxribbon_material .dhxrb_highlight0{background-color:#ebebeb;border-color:#ebebeb;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhtmlxribbon_material .dhxrb_highlight1{background-color:#dcdcdc;border-color:#d2d2d2;box-shadow:0 0 4px rgba(127,127,127,0.2) inset;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhtmlxribbon_material .dhxrb_item_hide{display:none!important;}.dhtmlxribbon_material .dhxrb_block_rows{float:left;margin:0 3px;}.dhtmlxribbon_material .dhxrb_block_row{float:left;clear:left;height:28px;overflow:hidden;position:relative;}.dhtmlxribbon_material .dhxrb_arrow{padding:0 5px;margin-left:2px;background:url("imgs/dhxribbon_material/dhxribbon_arrow.gif") no-repeat 50%;}.dhtmlxribbon_material .dhxrb_item_disable .dhxrb_arrow{opacity:.4;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=40);}.dhtmlxribbon_material .dhxrb_3rows_block .dhxrb_group{border:1px solid #dcdcdc;background-color:#ebebeb;height:26px;float:left;clear:left;margin:1px 0;overflow:hidden;position:relative;}.dhtmlxribbon_material .dhxrb_block_row .dhxrb_group{border:1px solid #dfdfdf;background-color:#fafafa;height:24px;float:left;margin:1px 0;overflow:hidden;position:relative;}.dhtmlxribbon_material .dhxrb_in_group .dhxrb_label_hide{display:none;}.dhtmlxribbon_material .dhxrb_separator_groupp{height:27px;width:0;border-left:1px solid #dcdcdc;overflow:hidden;float:left;}.dhtmlxribbon_material .dhxrb_checkbox{border:1px solid #dfdfdf;background-color:white;float:left;width:12px;height:12px;margin-top:4px;overflow:hidden;}.dhtmlxribbon_material .dhxrb_in_group .dhxrb_checkbox{margin-top:3px;}.dhtmlxribbon_material .dhxrb_checked .dhxrb_checkbox{background-image:url("imgs/dhxribbon_material/dhxribbon_checked.gif");background-repeat:no-repeat;}.dhtmlxribbon_material .dhxrb_checked.dhxrb_item_disable>.dhxrb_checkbox{background-image:url("imgs/dhxribbon_material/dhxribbon_checked_dis.gif");}.dhtmlxribbon_material .dhxrb_item_disable .dhxrb_checkbox{background-color:#fafafa;}.dhtmlxribbon_material .dhxrb_item_text{font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhtmlxribbon_material .dhxrb_in_group .dhxrb_item_text{height:20px;line-height:19px;*float:left;*clear:left;}.dhtmlxribbon_material .dhxrb_3rows_button .dhxrb_item_text,.dhtmlxribbon_material .dhxrb_in_row .dhxrb_item_text{font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhtmlxribbon_material .dhxrb_big_button .dhxrb_item_text{line-height:82px;height:82px;float:left;clear:left;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhtmlxribbon_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:40px;height:10px;overflow:hidden;}@keyframes dhx_loader_rotate{100%{transform:rotate(360deg);}}@keyframes dhx_loader_dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0;}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px;}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px;}}.dhx_toolbar_material{background-color:#fafafa;position:relative;padding:0 5px;cursor:default;overflow:hidden;border:1px solid #dfdfdf;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhx_toolbar_material.dhx_toolbar_shadow{border-width:0;box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24);}.dhx_toolbar_material div.dhxtoolbar_float_left{float:left;}.dhx_toolbar_material div.dhxtoolbar_float_right{float:right;}.dhx_toolbar_material div.dhx_toolbar_btn,.dhx_toolbar_material div.dhx_toolbar_arw{position:relative;float:left;border-style:solid;border-color:#fafafa;border-width:0 1px 0 1px;line-height:inherit;cursor:default;overflow:hidden;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhx_toolbar_material div.dhx_toolbar_btn.dhxtoolbar_btn_dis,.dhx_toolbar_material div.dhx_toolbar_arw.dhxtoolbar_btn_dis{color:#a6a6a6;}.dhx_toolbar_material div.dhx_toolbar_btn.dhxtoolbar_btn_dis i,.dhx_toolbar_material div.dhx_toolbar_arw.dhxtoolbar_btn_dis i{color:#c0c0c0;}.dhx_toolbar_material div.dhx_toolbar_btn.dhxtoolbar_btn_dis div.dhxtoolbar_sl_bg_l,.dhx_toolbar_material div.dhx_toolbar_btn.dhxtoolbar_btn_dis div.dhxtoolbar_sl_bg_m,.dhx_toolbar_material div.dhx_toolbar_btn.dhxtoolbar_btn_dis div.dhxtoolbar_sl_bg_r,.dhx_toolbar_material div.dhx_toolbar_arw.dhxtoolbar_btn_dis div.dhxtoolbar_sl_bg_l,.dhx_toolbar_material div.dhx_toolbar_arw.dhxtoolbar_btn_dis div.dhxtoolbar_sl_bg_m,.dhx_toolbar_material div.dhx_toolbar_arw.dhxtoolbar_btn_dis div.dhxtoolbar_sl_bg_r{border-color:#dfdfdf;background-color:#fafafa;}.dhx_toolbar_material div.dhx_toolbar_btn.dhxtoolbar_btn_dis div.dhxtoolbar_sl_pen,.dhx_toolbar_material div.dhx_toolbar_arw.dhxtoolbar_btn_dis div.dhxtoolbar_sl_pen{background-color:#dfdfdf;border:1px solid white;width:10px;height:10px;}.dhx_toolbar_material div.dhx_toolbar_btn.dhxtoolbar_btn_over,.dhx_toolbar_material div.dhx_toolbar_arw.dhxtoolbar_btn_over{background-color:#ebebeb;border-color:#ebebeb;}.dhx_toolbar_material div.dhx_toolbar_btn.dhxtoolbar_btn_pres,.dhx_toolbar_material div.dhx_toolbar_arw.dhxtoolbar_btn_pres{background-color:#dcdcdc;border-color:#d2d2d2;box-shadow:0 0 4px rgba(127,127,127,0.2) inset;}.dhx_toolbar_material div.dhx_toolbar_btn{padding:0 5px;}.dhx_toolbar_material div.dhx_toolbar_btn.dhxtoolbar_btn_pres_dis{background-color:#ececec;border-color:#dfdfdf;color:#a6a6a6;box-shadow:0 0 4px rgba(127,127,127,0.2) inset;}.dhx_toolbar_material div.dhx_toolbar_btn img{float:left;margin-right:2px;margin-left:2px;cursor:default;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhx_toolbar_material div.dhx_toolbar_btn i{float:left;margin:0 2px;text-align:center;cursor:default;color:#666;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhx_toolbar_material div.dhx_toolbar_btn div.dhxtoolbar_text{float:left;position:relative;font:inherit;margin:0 4px;padding:0;cursor:default;overflow:hidden;white-space:nowrap;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhx_toolbar_material div.dhx_toolbar_btn input.dhxtoolbar_input{position:relative;border:1px solid #dfdfdf;background-color:#fff;margin:0 4px;padding:2px 4px 3px 4px;line-height:normal;direction:ltr;outline:none;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhx_toolbar_material div.dhx_toolbar_btn input.dhxtoolbar_input:disabled{color:#a6a6a6;}.dhx_toolbar_material div.dhx_toolbar_arw{padding:0 6px;margin-left:-1px;z-index:1;}.dhx_toolbar_material div.dhx_toolbar_arw.dhxtoolbar_btn_over{border-left-color:#e3e3e3;}.dhx_toolbar_material div.dhx_toolbar_arw.dhxtoolbar_btn_pres{border-left-color:#cbcbcb;box-shadow:0 0 3px rgba(127,127,127,0.18) inset;}.dhx_toolbar_material div.dhx_toolbar_arw div.arwimg{position:relative;width:7px;background-image:url("imgs/dhxtoolbar_material/dhxtoolbar_arrow.gif");background-position:center center;background-repeat:no-repeat;}.dhx_toolbar_material div.dhx_toolbar_arw.dhxtoolbar_btn_dis div.arwimg{background-image:url("imgs/dhxtoolbar_material/dhxtoolbar_arrow_dis.gif");}.dhx_toolbar_material div.dhx_toolbar_sep{float:left;position:relative;border-left:1px solid #dfdfdf;margin:3px 8px 0 8px;width:0;overflow:hidden;cursor:default;font-size:1px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhx_toolbar_material div.dhx_toolbar_text{float:left;position:relative;padding:0 5px;font:inherit;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhx_toolbar_material div.dhxtoolbar_sl_bg_l,.dhx_toolbar_material div.dhxtoolbar_sl_bg_m,.dhx_toolbar_material div.dhxtoolbar_sl_bg_r{float:left;line-height:1px;padding:0;width:2px;font-size:1px;border-color:#d2d2d2;border-width:1px 0 1px 0;border-style:solid;overflow:hidden;}.dhx_toolbar_material div.dhxtoolbar_sl_bg_l{margin-left:4px;border-left-width:1px;}.dhx_toolbar_material div.dhxtoolbar_sl_bg_r{margin-right:4px;border-right-width:1px;}.dhx_toolbar_material div.dhxtoolbar_sl_pen,.dhx_toolbar_material div.dhxtoolbar_sl_pen.dhxtoolbar_over{position:absolute;border-radius:50%;width:12px;height:12px;background-color:#39c;cursor:default;font-size:1px;line-height:1px;overflow:hidden;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhx_toolbar_material.dhxtoolbar_icons_18{height:32px;line-height:32px;}.dhx_toolbar_material.dhxtoolbar_icons_18 div.dhx_toolbar_btn,.dhx_toolbar_material.dhxtoolbar_icons_18 div.dhx_toolbar_arw,.dhx_toolbar_material.dhxtoolbar_icons_18 div.dhx_toolbar_text{height:32px;line-height:32px;}.dhx_toolbar_material.dhxtoolbar_icons_18 div.dhx_toolbar_btn img{margin-top:7px;width:18px;height:18px;}.dhx_toolbar_material.dhxtoolbar_icons_18 div.dhx_toolbar_btn i{width:18px;height:32px;line-height:31px;font-size:17px;}.dhx_toolbar_material.dhxtoolbar_icons_18 div.dhx_toolbar_btn div.dhxtoolbar_text{height:32px;line-height:32px;}.dhx_toolbar_material.dhxtoolbar_icons_18 div.dhx_toolbar_sep{height:26px;}.dhx_toolbar_material.dhxtoolbar_icons_18 div.dhxtoolbar_sl_bg_l,.dhx_toolbar_material.dhxtoolbar_icons_18 div.dhxtoolbar_sl_bg_m,.dhx_toolbar_material.dhxtoolbar_icons_18 div.dhxtoolbar_sl_bg_r{margin-top:16px;}.dhx_toolbar_material.dhxtoolbar_icons_18 div.dhxtoolbar_sl_pen,.dhx_toolbar_material.dhxtoolbar_icons_18 div.dhxtoolbar_sl_pen.dhxtoolbar_over{top:11px;}.dhx_toolbar_material.dhxtoolbar_icons_24{height:42px;line-height:42px;}.dhx_toolbar_material.dhxtoolbar_icons_24 div.dhx_toolbar_btn,.dhx_toolbar_material.dhxtoolbar_icons_24 div.dhx_toolbar_arw,.dhx_toolbar_material.dhxtoolbar_icons_24 div.dhx_toolbar_text{height:42px;line-height:42px;}.dhx_toolbar_material.dhxtoolbar_icons_24 div.dhx_toolbar_btn img{margin-top:9px;width:24px;height:24px;}.dhx_toolbar_material.dhxtoolbar_icons_24 div.dhx_toolbar_btn i{width:24px;height:42px;line-height:41px;font-size:22px;}.dhx_toolbar_material.dhxtoolbar_icons_24 div.dhx_toolbar_btn div.dhxtoolbar_text{height:42px;line-height:42px;}.dhx_toolbar_material.dhxtoolbar_icons_24 div.dhx_toolbar_sep{height:36px;}.dhx_toolbar_material.dhxtoolbar_icons_24 div.dhxtoolbar_sl_bg_l,.dhx_toolbar_material.dhxtoolbar_icons_24 div.dhxtoolbar_sl_bg_m,.dhx_toolbar_material.dhxtoolbar_icons_24 div.dhxtoolbar_sl_bg_r{margin-top:21px;}.dhx_toolbar_material.dhxtoolbar_icons_24 div.dhxtoolbar_sl_pen,.dhx_toolbar_material.dhxtoolbar_icons_24 div.dhxtoolbar_sl_pen.dhxtoolbar_over{top:16px;}.dhx_toolbar_material.dhxtoolbar_icons_32{height:52px;line-height:52px;}.dhx_toolbar_material.dhxtoolbar_icons_32 div.dhx_toolbar_btn,.dhx_toolbar_material.dhxtoolbar_icons_32 div.dhx_toolbar_arw,.dhx_toolbar_material.dhxtoolbar_icons_32 div.dhx_toolbar_text{height:52px;line-height:52px;}.dhx_toolbar_material.dhxtoolbar_icons_32 div.dhx_toolbar_btn img{margin-top:10px;width:32px;height:32px;}.dhx_toolbar_material.dhxtoolbar_icons_32 div.dhx_toolbar_btn i{width:32px;height:52px;line-height:51px;font-size:27px;}.dhx_toolbar_material.dhxtoolbar_icons_32 div.dhx_toolbar_btn div.dhxtoolbar_text{height:52px;line-height:52px;}.dhx_toolbar_material.dhxtoolbar_icons_32 div.dhx_toolbar_sep{height:46px;}.dhx_toolbar_material.dhxtoolbar_icons_32 div.dhxtoolbar_sl_bg_l,.dhx_toolbar_material.dhxtoolbar_icons_32 div.dhxtoolbar_sl_bg_m,.dhx_toolbar_material.dhxtoolbar_icons_32 div.dhxtoolbar_sl_bg_r{margin-top:26px;}.dhx_toolbar_material.dhxtoolbar_icons_32 div.dhxtoolbar_sl_pen,.dhx_toolbar_material.dhxtoolbar_icons_32 div.dhxtoolbar_sl_pen.dhxtoolbar_over{top:21px;}.dhx_toolbar_material.dhxtoolbar_icons_48{height:62px;line-height:62px;}.dhx_toolbar_material.dhxtoolbar_icons_48 div.dhx_toolbar_btn,.dhx_toolbar_material.dhxtoolbar_icons_48 div.dhx_toolbar_arw,.dhx_toolbar_material.dhxtoolbar_icons_48 div.dhx_toolbar_text{height:62px;line-height:62px;}.dhx_toolbar_material.dhxtoolbar_icons_48 div.dhx_toolbar_btn img{margin-top:7px;width:48px;height:48px;}.dhx_toolbar_material.dhxtoolbar_icons_48 div.dhx_toolbar_btn i{width:48px;height:62px;line-height:61px;font-size:32px;}.dhx_toolbar_material.dhxtoolbar_icons_48 div.dhx_toolbar_btn div.dhxtoolbar_text{height:62px;line-height:62px;}.dhx_toolbar_material.dhxtoolbar_icons_48 div.dhx_toolbar_sep{height:56px;}.dhx_toolbar_material.dhxtoolbar_icons_48 div.dhxtoolbar_sl_bg_l,.dhx_toolbar_material.dhxtoolbar_icons_48 div.dhxtoolbar_sl_bg_m,.dhx_toolbar_material.dhxtoolbar_icons_48 div.dhxtoolbar_sl_bg_r{margin-top:31px;}.dhx_toolbar_material.dhxtoolbar_icons_48 div.dhxtoolbar_sl_pen,.dhx_toolbar_material.dhxtoolbar_icons_48 div.dhxtoolbar_sl_pen.dhxtoolbar_over{top:26px;}div.dhx_toolbar_poly_material{position:absolute;padding:5px 0;background-color:#fafafa;overflow:hidden;cursor:default;line-height:normal;overflow-y:auto;border:1px solid #dfdfdf;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}div.dhx_toolbar_poly_material.dhx_toolbar_shadow{border-width:0;box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24);}div.dhx_toolbar_poly_material td{line-height:normal;padding:0;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}div.dhx_toolbar_poly_material td.td_btn_img{width:18px;text-align:center;}div.dhx_toolbar_poly_material td.td_btn_img img.btn_sel_img{margin:4px 6px 0 6px;width:18px;height:18px;}div.dhx_toolbar_poly_material td.td_btn_img i{width:18px;height:30px;line-height:29px;margin:0 6px;font-size:1.12em;text-align:center;color:#5a5a5a;}div.dhx_toolbar_poly_material td.td_btn_txt div.btn_sel_text{position:relative;height:30px;line-height:30px;padding:0 22px 0 1px;overflow:hidden;}div.dhx_toolbar_poly_material .tr_btn_over td,div.dhx_toolbar_poly_material .tr_btn_selected td{background-color:#ebebeb;}div.dhx_toolbar_poly_material .tr_btn_disabled td,div.dhx_toolbar_poly_material .tr_btn_disabled td i{color:#a6a6a6;}div.dhx_toolbar_poly_material tr.tr_sep td{padding:5px 3px;}div.dhx_toolbar_poly_material tr.tr_sep td div.btn_sep{position:relative;font-size:1px;line-height:1px;height:0;width:100%;border-top:1px solid #dfdfdf;}div.dhx_toolbar_slider_label_material{position:absolute;background-color:#fafafa;padding:6px 12px;overflow:hidden;cursor:default;line-height:normal;box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24);font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxtoolbar_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:40px;height:10px;overflow:hidden;}.dhxtoolbar_maxopen_test{position:absolute;width:200px;height:50px;overflow-x:none;overflow-y:auto;left:-300px;top:100px;border:1px solid white;visibility:hidden;}.dhxtoolbar_maxopen_test2{height:200px;}.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging,.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging,.dhxtabbar_base_material div.dhx_cell_tabbar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging,.dhxcarousel_base_material div.dhx_cell_carousel div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging,.dhxsidebar_base_material div.dhx_cell_sidebar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging{height:33px;}.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging .dhx_toolbar_material,.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging .dhx_toolbar_material,.dhxtabbar_base_material div.dhx_cell_tabbar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging .dhx_toolbar_material,.dhxcarousel_base_material div.dhx_cell_carousel div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging .dhx_toolbar_material,.dhxsidebar_base_material div.dhx_cell_sidebar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging .dhx_toolbar_material{box-shadow:none;border-width:0 1px 1px 1px;}.dhxwins_vp_material div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging{height:32px;}.dhxwins_vp_material div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_paging .dhx_toolbar_material{border-width:0 1px 1px 0;}@keyframes dhx_loader_rotate{100%{transform:rotate(360deg);}}@keyframes dhx_loader_dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0;}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px;}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px;}}.dhxeditor_material{position:relative;}.dhxeditor_material iframe.dhxeditor_mainiframe{position:absolute;overflow:hidden;font:inherit;top:0;left:0;width:100%;height:100%;}.dhxeditor_material div.dhx_cell_editor{position:absolute;background-color:white;margin:0;padding:0;overflow:hidden;cursor:default;z-index:0;}.dhxeditor_material div.dhx_cell_editor div.dhx_cell_cont_editor{position:absolute;overflow:hidden;}.dhxeditor_material div.dhx_cell_editor div.dhx_cell_stb{position:relative;height:32px;line-height:32px;padding:0 5px;margin:7px;border:1px solid #dfdfdf;background-color:#fafafa;overflow:hidden;}.dhxeditor_material div.dhx_cell_editor div.dhx_cell_stb.dhx_cell_stb_shadow{border-width:0;box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24);}.dhxeditor_material div.dhx_cell_editor div.dhx_cell_stb a{position:relative;float:left;padding:0 8px;border-style:solid;border-color:#fafafa;border-width:0 1px 0 1px;}.dhxeditor_material div.dhx_cell_editor div.dhx_cell_stb a div.dhx_cell_stb_button{position:relative;float:left;width:18px;height:32px;line-height:32px;font-size:1px;cursor:pointer;background-image:url("imgs/dhxeditor_material/buttons.png");background-position:0 7px;background-repeat:no-repeat;}.dhxeditor_material div.dhx_cell_editor div.dhx_cell_stb a div.dhx_cell_stb_button.btn_italic{background-position:-18px 7px;}.dhxeditor_material div.dhx_cell_editor div.dhx_cell_stb a div.dhx_cell_stb_button.btn_underline{background-position:-36px 7px;}.dhxeditor_material div.dhx_cell_editor div.dhx_cell_stb a div.dhx_cell_stb_button.btn_clearformat{background-position:-54px 7px;}.dhxeditor_material div.dhx_cell_editor div.dhx_cell_stb a:hover{background-color:#ebebeb;border-color:#ebebeb;}.dhxeditor_material div.dhx_cell_editor div.dhx_cell_toolbar_def{position:relative;overflow:hidden;padding:7px;}.dhxeditor_material div.dhx_cell_editor div.dhx_cell_toolbar_def div.dhx_toolbar_material{box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24);}.dhxeditor_material.stb_height_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:50px;height:1px;overflow:hidden;}.dhxeditor_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:40px;height:10px;overflow:hidden;}@keyframes dhx_loader_rotate{100%{transform:rotate(360deg);}}@keyframes dhx_loader_dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0;}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px;}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px;}}.dhx_tooltip{display:none;position:absolute;color:#626262;z-index:10000;padding:4px 10px 4px 10px;border:1px solid #fff;border-radius:2px;text-shadow:0 1px 1px #fff;box-shadow:0 0 5px #d9d9d9;background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#efefef),color-stop(0.5,#f6f6f6),color-stop(1,#efefef));background:-o-linear-gradient(#efefef 0,#f6f6f6 50%,#efefef 100%);background:-ms-linear-gradient(#efefef 0,#f6f6f6 50%,#efefef 100%);background:-moz-linear-gradient(#efefef 0,#f6f6f6 50%,#efefef 100%);background:#efefef;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhx_chart{position:relative;font-family:Roboto,Arial,Helvetica;font-size:14px;color:#404040;overflow:hidden;z-index:0;}.dhx_chart canvas{position:absolute;left:0;top:0;}.dhx_canvas_text{position:absolute;text-align:center;overflow:hidden;white-space:nowrap;z-index:1000;}.dhx_map_img{width:100%;height:100%;position:absolute;top:0;left:0;border:0;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}.dhx_axis_item_y{position:absolute;height:18px;line-height:18px;margin-top:-4px;text-align:right;}.dhx_axis_title_x{text-align:center;}.dhx_axis_title_y{text-align:center;height:18px;line-height:18px;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;-webkit-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-ms-transform:rotate(-90deg);-o-transform:rotate(-90deg);transform:rotate(-90deg);}.dhx_ie_filter{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);zoom:1;font-family:serif;}.dhx_chart_legend{position:absolute;z-index:1000;}.dhx_chart_legend_item{height:18px;line-height:18px;padding:2px;cursor:pointer;}.dhx_chart_legend_item.hidden{color:#aaa;}.dhx_axis_item_y.dhx_radar{color:#404040;font-size:12px;padding-right:3px;height:13px;line-height:13px;margin-top:0;}.dhx_canvas_text.dhx_axis_radar_title{margin-top:0;padding-top:0;}.dhx_axis_item_y,.dhx_axis_item_x{color:#404040;}.dhx_axis_item_x{padding-top:2px;}@keyframes dhx_loader_rotate{100%{transform:rotate(360deg);}}@keyframes dhx_loader_dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0;}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px;}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px;}}.dhx_tooltip{display:none;position:absolute;font-family:Roboto,Arial,Helvetica;color:#626262;font-size:14px;z-index:10000;padding:4px 10px 4px 10px;border:1px solid #fff;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;-moz-box-shadow:0 0 3px #d9d9d9;-webkit-box-shadow:0 0 3px #d9d9d9;text-shadow:0 1px 1px #fff;box-shadow:0 0 5px #d9d9d9;background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#efefef),color-stop(0.5,#f6f6f6),color-stop(1,#efefef));background:-o-linear-gradient(#efefef 0,#f6f6f6 50%,#efefef 100%);background:-ms-linear-gradient(#efefef 0,#f6f6f6 50%,#efefef 100%);background:-moz-linear-gradient(#efefef 0,#f6f6f6 50%,#efefef 100%);background:#efefef;}.dhx_noselect{-moz-user-select:none;-moz-user-select:-moz-none;-khtml-user-select:none;}.dhx_allow_selection{-moz-user-select:text;-user-select:text;}.dhx_dataview{overflow-y:auto;-webkit-overflow-scrolling:touch;overflow-x:hidden;-moz-user-select:none;-moz-user-select:-moz-none;-khtml-select:none;}.dhx_drag_zone{position:absolute;border:1px solid #A4BED4;z-index:8000;-moz-box-shadow:5px 5px 5px #888;-khtml-box-shadow:5px 5px 5px #888;background:#fff;}.dhx_dataview_default_item,.dhx_dataview_default_item_selected{cursor:pointer;background-color:white;}.dhx_dataview .dhx_dataview_default_item,.dhx_dataview .dhx_dataview_default_item_selected{border-right:1px solid #eee;border-bottom:1px solid #eee;}.dhx_dataview .dhx_dataview_default_item_selected{background-color:#eee;border-color:#eee;color:#404040;background-repeat:repeat-y;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAABAQMAAADO7O3JAAAAA1BMVEUzmc3EAelNAAAACklEQVQI12NgAAAAAgAB4iG8MwAAAABJRU5ErkJggg==");position:relative;}.dhx_dataview_item{font-family:Roboto,Arial,Helvetica;font-size:14px;color:#404040;}.dhx_dataview_item .dhx_strong{font-weight:bold;display:block;padding-bottom:6px;}.dhx_dataview_default_item_selected .dhx_light{color:#C3C3C3;}.dhx_dataview_item .dhx_light{color:#919191;}.dhx_drag_over{background-color:#eee;background-repeat:repeat-x;}.dhx_pager_item,.dhx_pager_item_selected{float:left;text-align:center;height:16px;font-family:Roboto,Arial,Helvetica;font-size:10pt;border:1px solid gray;padding:2px 4px;margin-left:5px;cursor:pointer;background-color:white;}.dhx_pager_item_selected{background-color:lightgrey;color:white;cursor:default;font-weight:bold;}@keyframes dhx_loader_rotate{100%{transform:rotate(360deg);}}@keyframes dhx_loader_dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0;}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px;}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px;}}.dhx_list{overflow-y:auto;-webkit-overflow-scrolling:touch;overflow-x:hidden;-moz-user-select:none;-moz-user-select:-moz-none;-khtml-select:none;}.dhx_list_default_item,.dhx_list_default_item_selected{cursor:pointer;}.dhx_list .dhx_list_default_item,.dhx_list .dhx_list_default_item_selected{border-right:none;border-bottom:1px solid #eee;border-left:2px solid transparent;}.dhx_list .dhx_list_default_item_selected{background-color:#eee;color:#404040;border-color:#eee;background-repeat:repeat-x;border-left:2px solid #39c;}.dhx_list_item{font-family:Roboto,Arial,Helvetica;font-size:14px;color:#404040;box-sizing:border-box;line-height:normal;}.dhx_list_item textarea{resize:none;margin-top:-8px;}.dhx_list_item .dhx_strong{font-weight:bold;display:block;padding-bottom:6px;}.dhx_list_default_item_selected .dhx_light{color:#C3C3C3;}.dhx_list_item .dhx_light{color:#919191;}@keyframes dhx_loader_rotate{100%{transform:rotate(360deg);}}@keyframes dhx_loader_dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0;}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px;}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px;}}.defaultTreeTable{margin:0;padding:0;border:0;}.containerTableStyle{overflow:auto;-webkit-overflow-scrolling:touch;position:relative;top:0;font-size:12px;-khtml-user-select:none;}.containerTableStyleRTL span{direction:rtl;unicode-bidi:bidi-override;}.containerTableStyleRTL{direction:rtl;overflow:auto;position:relative;top:0;font-size:12px;}.standartTreeRow{font-family:Roboto,Arial,Helvetica;font-size:14px;-moz-user-select:none;line-height:24px;}.selectedTreeRow{font-family:Roboto,Arial,Helvetica;font-size:14px;-moz-user-select:none;background-color:#eee;color:#39c;}.dhxtree_material .selectedTreeRowFull .dhxTextCell{background-color:#eee;color:#39c;}.dragAndDropRow{color:#39c;}.standartTreeRow_lor{text-decoration:underline;background-color:white;font-family:Roboto,Arial,Helvetica;font-size:14px;-moz-user-select:none;}.standartTreeImage{height:24px;overflow:hidden;border:0;padding:0;margin:0;font-size:1px;}.standartTreeImage img{width:18px;height:24px;background-position:center center;background-repeat:no-repeat;border:0;padding:0;margin:0;font-size:1px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.hiddenRow{width:1px;overflow:hidden;}.dragSpanDiv,.dragSpanDiv td{font-family:Roboto,Arial,Helvetica;font-size:14px;line-height:14px;vertical-align:center;background-color:white;z-index:999;}.dragSpanDiv td{padding:5px;}.a_dhx_hidden_input{position:absolute;top:-1px;left:-1px;width:1px;height:1px;border:none;background:none;}.a_dhx_hidden_input{position:absolute;top:-1px;left:-1px;width:1px;height:1px;border:none;background:none;}.selectionBar{top:0;background-color:black;position:absolute;overflow:hidden;height:2px;z-index:11;}.intreeeditRow{font-size:8pt;height:16px;border:1px solid silver;padding:0;margin:0;margin-left:4px;-moz-user-select:text;-khtml-user-select:text;}.dhx_tree_textSign{font-size:8pt;font-family:monospace;width:21px;color:#404040;padding:0;margin:0;cursor:pointer;text-align:center;}.dhx_tree_opacity{opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhx_bg_img_fix{width:18px;height:24px;background-repeat:no-repeat;background-position:center;background-position-x:center;background-position-y:center;}.dhxtree_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:40px;height:10px;overflow:hidden;}@keyframes dhx_loader_rotate{100%{transform:rotate(360deg);}}@keyframes dhx_loader_dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0;}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px;}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px;}}.dhxtreeview_material{position:relative;overflow:hidden;background-color:white;}.dhxtreeview_material div.dhxtreeview_cont{position:absolute;overflow:auto;background-color:white;}.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area{position:relative;}.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_kids_cont{position:relative;-webkit-transition:opacity .1s;-moz-transition:opacity .1s;-ms-transition:opacity .1s;-o-transition:opacity .1s;transition:opacity .1s;}.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item{position:relative;white-space:nowrap;cursor:default;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text{position:relative;padding:0;margin:0;height:32px;line-height:31px;color:inherit;vertical-align:middle;border-left:3px solid white;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:default;}.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_label{position:absolute;top:0;padding:0 10px 0 4px;height:32px;line-height:inherit;font:inherit;}.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected,.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected:hover{background-color:#ebebeb;border-color:#39c;}.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected div.dhxtreeview_item_label,.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected:hover div.dhxtreeview_item_label{background-color:#ebebeb;}.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text:hover{background-color:#f5f5f5;border-color:#f5f5f5;}.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text:hover div.dhxtreeview_item_label{background-color:#f5f5f5;}.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon{position:absolute;width:22px;top:0;height:32px;line-height:30px;text-align:center;font-size:16px;color:#737373;overflow:hidden;}.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon{position:absolute;left:0;top:0;width:22px;height:32px;background-repeat:no-repeat;background-position:center center;}.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_plus{background-image:url(imgs/dhxtreeview_material/icon_plus.gif);}.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_minus{background-image:url(imgs/dhxtreeview_material/icon_minus.gif);}.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_file{background-image:url(imgs/dhxtreeview_material/icon_file.gif);}.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_folder_closed{background-image:url(imgs/dhxtreeview_material/icon_folder_closed.gif);}.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_folder_opened{background-image:url(imgs/dhxtreeview_material/icon_folder_opened.gif);}.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_loading{background-image:url(imgs/dhxtreeview_material/loading.gif);}.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_chbx_0{background-image:url(imgs/dhxtreeview_material/icon_chbx_0.gif);}.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_chbx_1{background-image:url(imgs/dhxtreeview_material/icon_chbx_1.gif);}.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_chbx_dis_0{background-image:url(imgs/dhxtreeview_material/icon_chbx_dis_0.gif);}.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_chbx_dis_1{background-image:url(imgs/dhxtreeview_material/icon_chbx_dis_1.gif);}.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa{position:absolute;line-height:32px;left:4px;width:10px;text-align:left;overflow:visible;}.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa.fa-square-o.dhx-disabled,.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa.fa-check-square-o.dhx-disabled{color:#b3b3b3;}.dhxtreeview_material div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_drop_preview{display:none;position:absolute;height:0;width:40px;border-bottom:2px dotted #39c;z-index:1;}.dhxtreeview_material div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_drop_preview.dhxtreeview_drop_0{display:block;top:-1px;}.dhxtreeview_material div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_drop_preview.dhxtreeview_drop_2{display:block;top:31px;}.dhxtreeview_material div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item.dhxtreeview_item_dragged{opacity:.5;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);}.dhxtreeview_material div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_drop_1,.dhxtreeview_material div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_drop_1:hover{background-color:#ebebeb;border-color:#ebebeb;}.dhxtreeview_material div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_drop_1 div.dhxtreeview_item_label,.dhxtreeview_material div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_drop_1:hover div.dhxtreeview_item_label{background-color:#ebebeb;}.dhxtreeview_material div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected,.dhxtreeview_material div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected:hover{border-color:#ebebeb;background-color:#ebebeb;}.dhxtreeview_material div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected div.dhxtreeview_item_label,.dhxtreeview_material div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected:hover div.dhxtreeview_item_label{background-color:#ebebeb;}.dhxtreeview_material div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text:hover{background-color:white;border-color:white;}.dhxtreeview_material div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text:hover div.dhxtreeview_item_label{background-color:white;}.dhxtreeview_material.dhxtreeview_with_border{border:1px solid white;}.dhxtreeview_material.dhxtreeview_icon_width{position:absolute;left:0;top:-100px;width:22px;height:1px;font-size:1px;margin:0;padding:0;overflow:hidden;}.dhxtreeview_dragged_obj_material{position:absolute;color:#3f3f3f;font-family:Roboto,Arial,Helvetica;font-size:14px;white-space:nowrap;cursor:default;background-color:#fafafa;border-radius:1px;box-shadow:0 0 10px rgba(90,90,90,0.2);padding:6px 14px;border:1px solid #e0e0e0;}html.dhxtreeview_dnd_mode,html.dhxtreeview_dnd_mode *,body.dhxtreeview_dnd_mode,body.dhxtreeview_dnd_mode *{cursor:default;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}div.dhx_popup_material div.dhx_popup_area td.dhx_popup_td div.dhxtreeview_material div.dhxtreeview_item div.dhxtreeview_item_label{white-space:nowrap;}.dhxtreeview_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:40px;height:10px;overflow:hidden;}@keyframes dhx_loader_rotate{100%{transform:rotate(360deg);}}@keyframes dhx_loader_dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0;}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px;}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px;}}div.gridbox{overflow:hidden;text-align:left;}.dhx_sub_row{background-color:white;}div.gridbox .xhdr{background-color:#D4D0C8;}div.gridbox table.obj{height:1px;}div.gridbox table.hdr td{line-height:normal;font-size:14px;font-family:Roboto,Arial,Helvetica;color:red;background-color:#D4D0C8;border:px solid;border-color:white;text-align:center;margin:0;padding:5px 0 5px 0;font-weight:normal;overflow:hidden;empty-cells:show;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}div.gridbox table.obj td{overflow:hidden;padding-top:0;padding-bottom:0;empty-cells:show;white-space:normal;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}div.gridbox table.obj th,div.gridbox table.hdr th{padding:0;margin:0;}div.gridbox table.row20px tr td{height:20px;white-space:nowrap;padding:0;}div.gridbox .objbox{background-color:white;position:relative;-webkit-overflow-scrolling:touch;}div.gridbox table.obj td span.space,div.gridbox table.obj td img.space{width:18px;}div.gridbox table.obj td.editable{-webkit-user-select:text;-khtml-user-select:text;-moz-user-select:text;-ms-user-select:text;-o-user-select:text;user-select:text;}div.gridbox table.obj td.group_row{vertical-align:middle;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;font-weight:bold;height:30px;border:0;border-bottom:2px solid navy;}.dragSpanDiv{font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;border:1px gray solid;background-color:white;z-index:999;}.dhx_combo_select{font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;border:1px solid;border-color:black silver silver black;background-color:white;overflow:auto;cursor:default;position:absolute;height:auto;z-index:600;}.dhx_combo_edit{width:100%;border:0;padding:0;padding-right:1px!ie;margin:0;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;overflow:hidden;display:block;}table.obj.row20px .dhx_combo_edit{line-height:28px;}.dhx_textarea{border:1px solid;border-color:black silver silver black;position:absolute;height:100px;z-index:600;}.dhx_clist{background-color:white;border:1px solid black;padding:2px 2px 2px 2px;z-index:300;}.gridDragLine{position:absolute;top:10px;left:0;width:100%;height:2px;background-color:black;overflow:hidden;pointer-events:none;}div.pagingBlock{font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}div.pagingBlock .pagingCurrentPage{font-weight:bold;cursor:default;}div.pagingBlock .pagingPage{cursor:pointer;text-decoration:underline;}span.recordsInfoBlock{font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}div.pagingBlock a{text-decoration:none;padding-right:2px;color:black;cursor:pointer;}div.pagingBlock a.dhx_not_active{text-decoration:none;cursor:default;}.toolbar_select{font-size:10px;}.dhtmlxGrid_selection{opacity:.5;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);background-color:yellow;border:1px dotted black;}div.gridbox div.ftr{position:absolute;left:0;bottom:1px;width:100%;overflow:hidden;}div.gridbox div.ftr td{padding:5px 5px 5px 10px;border-top:1px solid gray;border-right:1px solid white;background-color:white;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;overflow:hidden;}div.gridbox table.hdr td.columnTargetR div.hdrcell{border-right:3px double #F60;border-left:3px solid #D4D0C8;}div.gridbox table.hdr td.columnTargetL div.hdrcell{border-right:3px solid #D4D0C8;border-left:3px double #F60;}.dhx_dragColDiv{font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;background-color:#D4D0C8;border:1px solid;border-color:white Gray Gray white;text-align:center;margin:0;padding:5px 20px 5px 20px;font-weight:normal;opacity:.75;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=75);z-index:100;}.dhtmlx_live_validation_error{background-color:#FFE0E0!important;}.dhtmlx_validation_error{border-bottom:2px solid red!important;}.dhx_header_cmenu{background-color:#fff;border:2px outset silver;z-index:2;}.dhx_header_cmenu_item{white-space:nowrap;}div.gridbox .filter input,div.gridbox .filter select{width:100%;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;-webkit-user-select:text;-khtml-user-select:text;-moz-user-select:text;-ms-user-select:text;-o-user-select:text;user-select:text;padding:2px;box-sizing:border-box;}div.gridbox .filter input::-ms-clear{display:none;}div.gridbox_material.gridbox .xhdr{background-color:white;border-bottom:1px solid #dfdfdf;}div.gridbox_material.gridbox table.hdr tr{background-color:white;}div.gridbox_material.grid table.obj{font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}div.gridbox_material.gridbox table.obj tr td{border-bottom:1px solid #fff;border-right:1px solid #fff;padding-right:4px;padding-left:4px;overflow:hidden;}div.gridbox_material.gridbox table.hdr td div.hdrcell{overflow:hidden;width:auto;padding-left:4px;width:100%!ie;}div.gridbox_material.gridbox table.hdr td{border-width:0 1px 0 0;border:1px solid white;overflow:hidden;empty-cells:show;white-space:normal;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;padding:9px 0 8px 0;background-color:white;font-size:12px;font-family:Roboto,Arial,Helvetica;color:#9f9f9f;font-weight:500;vertical-align:top;text-align:left;position:relative;}div.gridbox_material.gridbox table.hdr tr:nth-child(2) td{border-top:1px solid white;}div.gridbox_material.gridbox{border:1px solid #dfdfdf;}div.gridbox_material.gridbox table.obj tr td,.dhx_grid_adjust{padding-top:3px;padding-bottom:4px;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}div.gridbox_material.gridbox table.obj.row20px tr td{padding-top:0;padding-bottom:0;height:32px;line-height:32px;border-bottom:1px solid #dfdfdf;border-right:1px solid white;}div.gridbox_material.gridbox table.obj.row20px tr td:last-child{border-right:1px solid white;}div.gridbox_material.gridbox table.obj tr td.editable .dhx_combo_edit{margin-left:-3px;}div.gridbox_material.gridbox table.obj tr td.editable .dhxcombo_in_grid_parent{margin-left:-3px!important;}div.gridbox_material.gridbox table.obj tr td.editable:first-child{border:0 solid white!important;padding-left:4px!important;}div.gridbox_material.gridbox table.obj tr td.editable div.treegrid_cell{padding:1px 4px;}div.gridbox_material.gridbox table.obj tr.rowselected{background-color:#eee;color:#404040;}div.gridbox_material.gridbox table.obj tr.rowselected td{background-color:#eee;color:#404040;}div.gridbox_material.gridbox table.obj tr td:first-child{padding-left:10px;}div.gridbox_material.gridbox table.obj tr.rowselected td:first-child{border-left:2px solid #39c;padding-left:8px;}div.gridbox_material.gridbox table.obj.row20px tr.rowselected td{background-color:#eee;border-right-color:#eee;color:#404040;}div.gridbox_material.gridbox table.obj tr td.cellselected{background-color:#eee;color:#404040;}div.gridbox_material.gridbox .odd_material{background-color:#fff;color:#404040;}.dhx_combo_select,.gridbox_material.gridbox .dhx_combo_edit,.gridbox_material.gridbox .dhx_textarea{font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.gridbox_material.gridbox .dhx_combo_edit{padding:1px 0 0 4px;}.gridbox_material.gridbox .dhx_sub_row{background-color:transparent;}.dhx_header_cmenu{background-color:#fff;border:2px outset silver;z-index:2;}.dhx_header_cmenu_item{white-space:nowrap;}.dhx_pbox{margin-top:3px;border:1px solid #D4D0C8;border-top:0;font-size:10px;}.dhx_pline{background-color:white;margin:-15px 10px 10px 10px;padding:0 5px 0 5px;float:left;}.dhx_page,.dhx_pager_info{margin:3px;text-align:center;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;float:left;cursor:pointer;color:black;background-color:gray;padding:1px;}.dhx_pager_info{white-space:nowrap;background-color:white;margin:-8px 10px 10px 10px;padding:0 5px 0 5px;cursor:default;}.dhx_page div{background-color:white;width:16px;height:17px;vertical-align:middle;}div.dhx_page_active{font-weight:bold;background-color:lightgrey;cursor:default;color:white;}.dhx_pbox_modern{margin-top:3px;border:1px solid #D6D6D6;border-top:0;font-size:10px;}.dhx_pline_modern{background-color:white;margin:-15px 10px 10px 10px;padding:0 5px 0 5px;float:left;}.dhx_page_modern,.dhx_pager_info_modern{margin:3px;text-align:center;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;float:left;cursor:pointer;color:#055A78;background-color:#D6D6D6;padding:1px;}.dhx_pager_info_modern{white-space:nowrap;background-color:white;margin:-8px 10px 10px 10px;padding:0 5px 0 5px;cursor:default;}.dhx_page_modern div{background-color:white;width:16px;height:17px;vertical-align:middle;}div.dhx_page_active_modern{font-weight:bold;background-color:#055A78;cursor:default;color:white;}.dhx_pbox_light{margin-top:3px;border:1px solid #C2D5DC;border-top:0;font-size:10px;}.dhx_pline_light{background-color:white;margin:-15px 10px 10px 10px;padding:0 5px 0 5px;float:left;}.dhx_page_light,.dhx_pager_info_light{margin:3px;text-align:center;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;float:left;cursor:pointer;color:#055A78;background-color:#93AFBA;padding:1px;}.dhx_pager_info_light{white-space:nowrap;background-color:white;margin:-8px 10px 10px 10px;padding:0 5px 0 5px;cursor:default;}.dhx_page_light div{background-color:white;width:16px;height:17px;vertical-align:middle;}div.dhx_page_active_light{font-weight:bold;background-color:#D1DFE3;cursor:default;color:white;}.calcTable{width:100px;background-color:silver;border:1px black solid;}.calcButton{height:20px;cursor:pointer;text-align:center;background-color:gray;color:white;font-size:10px;font-weight:bold;border-top:1px solid silver;border-right:1px solid silver;}.calcPressed{height:20px;cursor:pointer;text-align:center;background-color:gray;color:white;font-size:10px;font-weight:bold;border-top:1px solid black;border-right:1px solid black;}.calcInput{background-color:white;font-size:10px;font-weight:bold;font-family:Roboto,Arial,Helvetica;}.calkSubmit{padding:2px;cursor:pointer;text-align:center;background-color:silver;color:white;font-size:10px;font-weight:bold;border-top:1px solid white;border-right:1px solid white;}.calcTable{width:100px;background-color:silver;border:1px black solid;}.calcButton{height:20px;cursor:pointer;text-align:center;background-color:gray;color:white;font-size:10px;font-weight:bold;border-top:1px solid silver;border-right:1px solid silver;}.calcPressed{height:20px;cursor:pointer;text-align:center;background-color:gray;color:white;font-size:10px;font-weight:bold;border-top:1px solid black;border-right:1px solid black;}.calcInput{background-color:white;font-size:10px;font-weight:bold;font-family:Roboto,Arial,Helvetica;}.calkSubmit{padding:2px;cursor:pointer;text-align:center;background-color:silver;color:white;font-size:10px;font-weight:bold;border-top:1px solid white;border-right:1px solid white;}.dhxgrid_sort_desc,.dhxgrid_sort_asc{width:0;height:0;}div.gridbox_material.gridbox table.hdr td.dhxgrid_sort_desc_col,div.gridbox_material.gridbox table.hdr td.dhxgrid_sort_asc_col{background-image:url("imgs/dhxgrid_material/sort_desc.gif");background-position:3px 7px;background-repeat:no-repeat;}div.gridbox_material.gridbox table.hdr td.dhxgrid_sort_desc_col div,div.gridbox_material.gridbox table.hdr td.dhxgrid_sort_asc_col div{padding-left:18px;padding-right:14px;}div.gridbox_material.gridbox table.hdr td.dhxgrid_sort_asc_col{background-image:url("imgs/dhxgrid_material/sort_asc.gif");}.dhxgrid_rh_material{position:absolute;top:-20px;left:-33px;width:29px;height:10px;margin:0;padding:0;border-width:0;font-size:1px;overflow:hidden;}.dhxgrid_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:40px;height:10px;overflow:hidden;}div.gridbox_material.gridbox table.obj.row20px tr td img{display:block;}div.gridbox_material.gridbox table.obj.row20px tr td.group_row img,div.gridbox_material.gridbox table.obj.row20px tr td .treegrid_cell img{display:inline;}.grid_cell_dyn{position:relative;padding-right:2px;width:100%;overflow:hidden;white-space:nowrap;}.grid_cell_dyn img{position:absolute;top:7px;left:0;height:15px;}.grid_cell_dyn span{padding-left:20px;width:100%;}.grid_collapse_icon{margin-top:1px;}.treegrid_cell>i{padding-right:5px;padding-left:3px;font-size:16px;}.dhx_row_drag_active{background:#eee!important;}@keyframes dhx_loader_rotate{100%{transform:rotate(360deg);}}@keyframes dhx_loader_dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0;}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px;}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px;}}.dhxform_obj_material{float:left;line-height:normal;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhxform_obj_material div.dhxform_base{position:relative;float:left;}.dhxform_obj_material div.dhxform_base_nested{padding:0;clear:both;*display:inline-block;}.dhxform_obj_material.dhxform_block{clear:both;}.dhxform_obj_material div.block_dhxform_item_label_left{display:block;clear:both;*clear:none;}.dhxform_obj_material div.dhxform_label div.dhxform_label_nav_link,.dhxform_obj_material div.dhxform_label div.dhxform_label_nav_link:visited,.dhxform_obj_material div.dhxform_label div.dhxform_label_nav_link:active,.dhxform_obj_material div.dhxform_label div.dhxform_label_nav_link:hover{outline:0 solid white;text-decoration:none;color:inherit;cursor:default;overflow:hidden;white-space:normal;}.dhxform_obj_material div.dhxform_label div.dhxform_label_nav_link:focus{color:#39c;}.dhxform_obj_material div.disabled span.nav_link{color:inherit;}.dhxform_obj_material div.dhxform_img,.dhxform_obj_material div.dhxform_actv_c,.dhxform_obj_material div.dhxform_actv_r{width:24px;height:24px;font-size:1px;}.dhxform_obj_material div.dhxform_img.chbx0,.dhxform_obj_material div.dhxform_img.chbx1,.dhxform_obj_material div.disabled div.dhxform_img.chbx0,.dhxform_obj_material div.disabled div.dhxform_img.chbx1,.dhxform_obj_material div.dhxform_img.rdbt0,.dhxform_obj_material div.dhxform_img.rdbt1,.dhxform_obj_material div.disabled div.dhxform_img.rdbt0,.dhxform_obj_material div.disabled div.dhxform_img.rdbt1,.dhxform_obj_material div.dhxform_actv_c.chbx0,.dhxform_obj_material div.dhxform_actv_c.chbx1,.dhxform_obj_material div.dhxform_actv_r.rdbt0,.dhxform_obj_material div.dhxform_actv_r.rdbt1{background-image:url("imgs/dhxform_material/dhxform_chbxrd.png");background-repeat:no-repeat;}.dhxform_obj_material div.dhxform_img.chbx0{background-position:-24px 0;}.dhxform_obj_material div.dhxform_img.chbx1{background-position:0 0;}.dhxform_obj_material div.disabled div.dhxform_img.chbx0{background-position:-72px 0;}.dhxform_obj_material div.disabled div.dhxform_img.chbx1{background-position:-48px 0;}.dhxform_obj_material div.dhxform_img.rdbt0{background-position:-120px 0;}.dhxform_obj_material div.dhxform_img.rdbt1{background-position:-96px 0;}.dhxform_obj_material div.disabled div.dhxform_img.rdbt0{background-position:-168px 0;}.dhxform_obj_material div.disabled div.dhxform_img.rdbt1{background-position:-144px 0;}.dhxform_obj_material div.dhxform_actv_c.chbx0{background-position:-216px 0;}.dhxform_obj_material div.dhxform_actv_c.chbx1{background-position:-192px 0;}.dhxform_obj_material div.dhxform_actv_r.rdbt0{background-position:-264px 0;}.dhxform_obj_material div.dhxform_actv_r.rdbt1{background-position:-240px 0;}.dhxform_obj_material div.dhxform_actv_c.chbx1,.dhxform_obj_material div.dhxform_img.chbx1{background:linear-gradient(transparent,transparent),url("imgs/dhxform_material/dhxform_check_on.svg") 0 -1px no-repeat;}.dhxform_obj_material div.dhxform_actv_c.chbx0,.dhxform_obj_material div.dhxform_img.chbx0{background:linear-gradient(transparent,transparent),url("imgs/dhxform_material/dhxform_check_off.svg") 0 -1px no-repeat;}.dhxform_obj_material div.dhxform_actv_r.rdbt1,.dhxform_obj_material div.dhxform_img.rdbt1{background:linear-gradient(transparent,transparent),url("imgs/dhxform_material/dhxform_radio_on.svg") 0 -1px no-repeat;}.dhxform_obj_material div.dhxform_actv_r.rdbt0,.dhxform_obj_material div.dhxform_img.rdbt0{background:linear-gradient(transparent,transparent),url("imgs/dhxform_material/dhxform_radio_off.svg") 0 -1px no-repeat;}.dhxform_obj_material div.dhxform_label_nav_link{line-height:22px;}.dhxform_obj_material div.dhxform_label{overflow-x:hidden;overflow:hidden;white-space:normal;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhxform_obj_material div.dhxform_label.dhxform_label_align_left{text-align:left;}.dhxform_obj_material div.dhxform_label.dhxform_label_align_center{text-align:center;}.dhxform_obj_material div.dhxform_label.dhxform_label_align_right{text-align:right;}.dhxform_obj_material div.disabled div.dhxform_label,.dhxform_obj_material div.disabled div.dhxform_label div.dhxform_label_nav_link,.dhxform_obj_material div.disabled div.dhxform_label span.dhxform_item_required{color:#a6a6a6;}.dhxform_obj_material div.dhxform_label span.dhxform_item_required{margin-left:5px;color:red;}.dhxform_obj_material input.dhxform_textarea,.dhxform_obj_material textarea.dhxform_textarea{padding:4px 2px!important;margin:0;font-size:1em;background-color:white;}.dhxform_obj_material input.dhxform_textarea::-ms-clear,.dhxform_obj_material textarea.dhxform_textarea::-ms-clear{display:none;}.dhxform_obj_material input.dhxform_textarea:focus,.dhxform_obj_material textarea.dhxform_textarea:focus{border-bottom-color:#39c;border-bottom-width:2px;padding-bottom:3px!important;outline:none;}.dhxform_obj_material .dhxform_textarea{border-width:0 0 1px 0;border-style:solid;border-color:#dfdfdf;resize:none;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhxform_obj_material div.disabled .dhxform_textarea{color:#a6a6a6;border-style:dashed;}.dhxform_obj_material input.dhxform_textarea.calendar{background-image:url("imgs/dhxform_material/dhxform_image_calendar.png");background-repeat:no-repeat;background-position:right 6px;}.dhxform_obj_material div.disabled input.dhxform_textarea.calendar{background-image:url("imgs/dhxform_material/dhxform_image_calendar_dis.png");}.dhxform_obj_material div.dhxform_control.dhxform_img_node{position:relative;}.dhxform_obj_material div.dhxform_control.dhxform_img_node .dhxform_textarea{border:1px solid white;background-color:white;color:white;visibility:hidden;*height:1px;*line-height:1px;*display:inline;}.dhxform_obj_material div.dhxform_control.dhxform_img_node div.dhxform_img{float:none;top:3px;left:0;position:absolute;margin:0;}.dhxform_obj_material div.dhxform_control.dhxform_img_node div.dhxform_actv_c,.dhxform_obj_material div.dhxform_control.dhxform_img_node div.dhxform_actv_r{float:none;position:absolute;margin:0;top:3px;left:0;}.dhxform_obj_material .dhxform_select{border-width:0 0 1px 0;border-style:solid;border-color:#dfdfdf;background-color:white;margin:0;padding:2px!important;line-height:normal;vertical-align:middle;-moz-appearance:none;-webkit-appearance:none;-ms-appearance:-ms-none;appearance:none;background-image:url(imgs/dhxform_material/dhxform_arrow_down.gif);background-repeat:no-repeat;background-position:right 13px;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhxform_obj_material .dhxform_select option{padding:1px 2px;outline:none!important;}.dhxform_obj_material .dhxform_select option:focus,.dhxform_obj_material .dhxform_select option:active{outline:none!important;}.dhxform_obj_material .dhxform_select:focus{border-color:#39c;border-bottom-width:2px;padding-bottom:1px!important;outline:none!important;}.dhxform_obj_material .dhxform_select.dhxform_arrow_fix_webkit{background-position:right 6px;}.dhxform_obj_material .dhxform_select.dhxform_arrow_fix_edge{background-position:right 7px;}.dhxform_obj_material .dhxform_select.dhxform_fix_ff{height:28px;}.dhxform_obj_material div.disabled .dhxform_select{color:#a6a6a6;border-style:dashed;background-image:url(imgs/dhxform_material/dhxform_arrow_down_dis.gif);}.dhxform_obj_material div.disabled .dhxform_select option{color:#a6a6a6;}.dhxform_obj_material div.fs_dhxform_item_label_left{padding:5px 0 5px 0;}.dhxform_obj_material div.fs_dhxform_item_label_left fieldset.dhxform_fs div.dhxform_base_nested.dhxform_fs_nested{margin-right:19px;margin-left:5px;}.dhxform_obj_material fieldset.dhxform_fs{border:1px solid #dfdfdf;margin:0;padding:5px 0 12px 0;clear:left;width:100%;}.dhxform_obj_material div.disabled fieldset.dhxform_fs{border-style:dashed;}.dhxform_obj_material fieldset.dhxform_fs legend.fs_legend{font-weight:normal;padding:0 4px 1px 4px;margin-left:5px;text-align:left;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhxform_obj_material div.disabled fieldset.dhxform_fs legend.fs_legend{color:#a6a6a6;}.dhxform_obj_material div.dhxform_item_label_right{clear:both;padding-top:9px;cursor:default;*display:inline-block;}.dhxform_obj_material div.dhxform_item_label_right div.dhxform_img,.dhxform_obj_material div.dhxform_item_label_right div.dhxform_actv_c,.dhxform_obj_material div.dhxform_item_label_right div.dhxform_actv_r{float:left;margin:0;}.dhxform_obj_material div.dhxform_item_label_right div.dhxform_label{float:left;padding:2px 0 1px 0;margin:2px 0 2px 0;*padding-top:0;*display:inline-block;}.dhxform_obj_material div.dhxform_item_label_right div.dhxform_control{float:left;margin-right:7px;}.dhxform_obj_material div.dhxform_item_label_left{clear:both;padding-top:9px;cursor:default;*display:inline-block;}.dhxform_obj_material div.dhxform_item_label_left div.dhxform_img,.dhxform_obj_material div.dhxform_item_label_left div.dhxform_actv_c,.dhxform_obj_material div.dhxform_item_label_left div.dhxform_actv_r{float:right;margin:3px 1px 0 5px;}.dhxform_obj_material div.dhxform_item_label_left div.dhxform_label{float:left;padding:2px 0 1px 0;margin:2px 0 2px 0;}.dhxform_obj_material div.dhxform_item_label_left div.dhxform_control{float:left;margin-left:3px;}.dhxform_obj_material div.dhxform_item_label_top{clear:both;}.dhxform_obj_material div.dhxform_item_label_top div.dhxform_label{float:none;margin-bottom:5px;margin-top:8px;}.dhxform_obj_material div.dhxform_item_label_top div.dhxform_control{float:none;margin-left:0;margin-bottom:5px;}.dhxform_obj_material div.dhxform_item_absolute{position:absolute;left:0;top:0;cursor:default;}.dhxform_obj_material div.item_absolute div.dhxform_img,.dhxform_obj_material div.item_absolute div.dhxform_actv_c,.dhxform_obj_material div.item_absolute div.dhxform_actv_r{position:absolute;}.dhxform_obj_material div.dhxform_item_absolute div.dhxform_control,.dhxform_obj_material div.dhxform_item_absolute div.dhxform_label,.dhxform_obj_material div.dhxform_item_absolute div.dhxform_control.dhxform_img_node,.dhxform_obj_material div.dhxform_item_absolute div.dhxform_txt_label2,.dhxform_obj_material div.dhxform_item_absolute div.dhxform_btn,.dhxform_obj_material div.block_item_absolute div.dhxform_block{position:absolute;}.dhxform_obj_material div.dhxform_txt_label2{font-weight:bold;margin:0 3px;padding:5px 0;cursor:default;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhxform_obj_material div.disabled div.dhxform_txt_label2{color:#a6a6a6;}.dhxform_obj_material div.dhxform_btn{margin:1px 2px;background-color:#f5f5f5;float:left;cursor:default;clear:both;position:relative;overflow:hidden;border:1px solid #dfdfdf;outline:none!important;-webkit-tap-highlight-color:rgba(0,0,0,0);font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxform_obj_material.dhxform_rtl div.dhxform_btn{float:right;}.dhxform_obj_material div.dhxform_btn.dhxform_btn_over{background-color:#ededed;outline:none!important;}.dhxform_obj_material div.dhxform_btn.dhxform_btn_pressed{background-color:#e1e1e1;border-color:#d2d2d2;outline:none!important;}.dhxform_obj_material div.dhxform_btn:focus{outline:none!important;border-color:#39c;border-width:2px;margin:0 1px;color:#545454;}dhxform_obj_material div.disabled div.dhxform_btn{background-color:#ededed;border-color:#ededed;}dhxform_obj_material div.disabled div.dhxform_btn div.dhxform_btn_txt{color:#a6a6a6;}.dhxform_obj_material div.dhxform_btn div.dhxform_btn_txt{float:left;margin:0 18px;height:28px;line-height:27px;text-align:center;vertical-align:middle;overflow:hidden;white-space:nowrap;border-radius:3px;*display:inline;opacity:1;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=100);}.dhxform_obj_material div.dhxform_btn div.dhxform_btn_txt.dhxform_btn_txt_autowidth{width:100%;margin:0;}.dhxform_obj_material div.dhxform_btn div.dhxform_btn_filler{position:absolute;display:inline-block;width:100%;height:100px;left:0;top:0;background-color:white;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}.dhxform_obj_material div.dhxform_control div.dhxform_note{font:inherit;color:#5a5a5a;font-size:.8em;padding-bottom:3px;white-space:normal;}.dhxform_obj_material div.disabled div.dhxform_control div.dhxform_note{color:#a6a6a6;}.dhxform_obj_material div.dhxform_label span.dhxform_info{font:inherit;color:#5a5a5a;font-size:.6em;margin-left:3px;padding-bottom:2px;line-height:normal;vertical-align:middle;cursor:pointer;}.dhxform_obj_material .validate_error .dhxform_label,.dhxform_obj_material .validate_error .dhxform_textarea,.dhxform_obj_material .validate_error .dhxform_select,.dhxform_obj_material .validate_error div.dhxform_label_nav_link,.dhxform_obj_material .validate_error div.dhxform_label div.dhxform_label_nav_link:focus{color:red;}.dhxform_obj_material div.dhxform_control div.dhxcombo_material{height:24px;}.dhxform_obj_material div.dhxform_control div.dhxcombo_material input.dhxcombo_input{height:24px;line-height:24px;}.dhxform_obj_material div.dhxform_control div.dhxcombo_material div.dhxcombo_image{top:3px;}.dhxform_obj_material div.dhxform_control div.dhxcombo_material div.dhxcombo_select_button{top:1px;}.dhxform_obj_material div.disabled div.dhxcombo_material{color:#a6a6a6;border-bottom-style:dashed;}.dhxform_obj_material div.dhxform_item_template.dhxeditor_material div.dhx_cell_editor{border:1px solid #dfdfdf;}.dhxform_obj_material div.dhxform_item_template.dhxeditor_material div.dhx_cell_editor div.dhx_cell_toolbar_def{padding:0;border-top:1px solid #dfdfdf;}.dhxform_obj_material div.dhxeditor_focus div.dhxform_item_template.dhxeditor_material{box-shadow:0 0 3px #c0c0c0;outline:none;}.dhxform_obj_material div.dhxeditor_focus div.dhxform_item_template.dhxeditor_material div.dhx_cell_editor{border-color:#39c;}.dhxform_obj_material div.dhxform_item_template.dhxeditor_material div.dhxcont_content_blocker{display:none;}.dhxform_obj_material div.disabled div.dhxform_item_template.dhxeditor_material div.dhxcont_content_blocker{display:inline;position:absolute;width:100%;height:100%;top:0;left:0;background-color:#fafafa;opacity:.7;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=70);}.dhtmlx_skin_material div.dhtmlx_wins_body_inner .dhxform_obj_material{background-color:white;}.dhxform_obj_material div.dhxform_control .dhx_combo_box.material .dhx_combo_input,.dhx_combo_list.material_list div{font-size:1em!important;}.dhxform_obj_material .dhx_file_uploader{position:relative;width:100%;margin-bottom:4px;}.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls{position:relative;width:100%;height:35px;font-size:2px;overflow:hidden;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button{position:absolute;width:24px;height:24px;top:8px;background-image:url("imgs/dhxform_material/dhxform_upload_buttons.png");background-repeat:no-repeat;font-size:2px;cursor:pointer;overflow:hidden;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=100);z-index:1;-webkit-tap-highlight-color:rgba(0,0,0,0);}.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_info{display:none;}.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_browse{background-position:0 0;right:108px;}.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_upload{background-position:-24px 0;right:79px;}.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_cancel{background-position:-72px 0;right:79px;}.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_clear{background-position:-48px 0;right:50px;}.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls .dhx_uploader_input{position:absolute;left:-1000px;top:0;visibility:hidden;}.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls div.dhx_file_form_cont{position:absolute;width:19px;height:19px;left:0;top:0;cursor:pointer;overflow:hidden;}.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls div.dhx_file_form_cont form.dhx_file_form{position:absolute;top:0;right:0;cursor:pointer;}.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls div.dhx_file_form_cont form.dhx_file_form .dhx_file_input{opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);cursor:pointer;outline:none;height:19px;}.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files{position:relative;width:100%;left:0;top:0;overflow:auto;}.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files div.dhx_file{position:relative;width:100%;height:25px;overflow:hidden;}.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_added,.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_uploading{color:black;}.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_uploaded{color:#646464;}.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_fail{color:#e94a4a;}.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files div.dhx_file_param{position:absolute;font-family:inherit;font-size:inherit;color:inherit;top:0;height:25px;line-height:25px;vertical-align:middle;overflow:hidden;}.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_name{left:20px;}.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_progress{right:50px;width:38px;text-align:right;}.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_delete{right:30px;width:12px;background-image:url("imgs/dhxform_material/dhxform_upload_buttons.png");background-position:-96px 1px;background-repeat:no-repeat;cursor:pointer;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_uploading{right:50px;width:38px;text-align:right;background-image:url("imgs/dhxform_material/dhxform_upload_uploading.gif");background-position:center center;background-repeat:no-repeat;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxform_obj_material .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls{height:60px;}.dhxform_obj_material .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_files{display:none;}.dhxform_obj_material .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_info{display:inline;background-image:none;height:auto;top:0;left:35px;vertical-align:top;padding-top:6px;line-height:20px;cursor:default;filter:none;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhxform_obj_material .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_browse{top:0;width:54px;height:54px;right:35px;background-image:url("imgs/dhxform_material/dhxform_upload_buttons.png");background-position:0 -48px;background-repeat:no-repeat;}.dhxform_obj_material .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_upload,.dhxform_obj_material .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_cancel,.dhxform_obj_material .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_clear{display:none;}.dhxform_obj_material .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_form_cont{width:54px;height:54px;}.dhxform_obj_material .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_form_cont form.dhx_file_form .dhx_file_input{height:54px;}.dhxform_obj_material .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_info,.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_added,.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_uploading,.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_uploaded,.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_fail{color:#a6a6a6;}.dhxform_obj_material .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_browse{background-position:-54px -48px;cursor:default;}.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_form_cont{display:none;}.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button{cursor:default;}.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_browse{background-position:0 -24px;}.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_upload{background-position:-24px -24px;}.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_cancel{background-position:-72px -24px;}.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_clear{background-position:-48px -24px;}.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file_param.dhx_file_delete{background-position:-108px 1px;cursor:default;}.dhxform_obj_material div.dhxform_image{position:relative;overflow:hidden;border:1px solid #dfdfdf;}.dhxform_obj_material div.dhxform_image img.dhxform_image_img{position:absolute;}.dhxform_obj_material div.dhxform_image div.dhxform_image_wrap{position:absolute;background-color:white;left:0;top:0;width:100%;height:100%;overflow:hidden;*border:1px solid white;*height:1000px;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);-webkit-transition:opacity .6s;-moz-transition:opacity .6s;-ms-transition:opacity .6s;-o-transition:opacity .6s;transition:opacity .6s;}.dhxform_obj_material div.dhxform_image div.dhxform_image_wrap.dhxform_image_in_progress{background-image:url("imgs/dhxform_material/dhxform_image_uploading.gif");background-position:center center;background-repeat:no-repeat;*border-width:0;*height:100%;opacity:.85;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=85);-webkit-transition:opacity .1s;-moz-transition:opacity .1s;-ms-transition:opacity .1s;-o-transition:opacity .1s;transition:opacity .1s;}.dhxform_obj_material div.dhxform_image div.dhxform_image_wrap.dhxform_image_in_progress form.dhxform_image_form{display:none;}.dhxform_obj_material div.dhxform_image div.dhxform_image_wrap form.dhxform_image_form{position:absolute;top:0;right:0;cursor:pointer;}.dhxform_obj_material div.dhxform_image div.dhxform_image_wrap form.dhxform_image_form input.dhxform_image_input{cursor:pointer;outline:none;height:1000px;font-size:100px;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}.dhxform_obj_material div.disabled div.dhxform_image{border-color:#f9f9f9;}.dhxform_obj_material div.disabled div.dhxform_image img.dhxform_image_img{opacity:.5;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);}.dhxform_obj_material div.disabled div.dhxform_image div.dhxform_image_wrap{cursor:default;}.dhxform_obj_material div.disabled div.dhxform_image form.dhxform_image_form{display:none;}div.dhx_form_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:40px;height:10px;overflow:hidden;}@keyframes dhx_loader_rotate{100%{transform:rotate(360deg);}}@keyframes dhx_loader_dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0;}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px;}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px;}}.dhxacc_base_material{position:relative;cursor:default;overflow:hidden;}.dhxacc_base_material div.dhxacc_cont{position:absolute;*overflow:hidden;}.dhxacc_base_material div.dhx_cell_acc{position:relative;background-color:white;margin:0;padding:0;overflow:hidden;cursor:default;}.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_cover{position:absolute;left:0;top:0;width:100%;height:100%;margin:0;padding:0;font-size:1px;background-color:white;overflow:hidden;z-index:1;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_progress_bar{position:absolute;left:0;top:0;width:100%;height:100%;background-color:white;z-index:1;opacity:.75;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=75);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_progress_img{position:absolute;left:0;top:0;width:100%;height:100%;border:1px solid #e4e4e4;background-image:url('imgs/dhxacc_material/dhxacc_cell_progress.gif');background-position:center center;background-repeat:no-repeat;z-index:2;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_progress_svg{border:1px solid #e4e4e4;z-index:2;position:absolute;left:0;top:0;width:100%;height:100%;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_progress_svg .dhx_cell_prsvg{position:absolute;top:0;left:0;right:0;bottom:0;margin:auto;width:50px;height:50px;animation:dhx_loader_rotate 2s linear infinite;transform-origin:center center;}.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_progress_svg .dhx_cell_prsvg .dhx_cell_prcircle{fill:none;stroke:#39c;stroke-width:2;stroke-miterlimit:10;stroke-dasharray:1,200;stroke-dashoffset:0;stroke-linecap:round;animation:dhx_loader_dash 1.5s ease-in-out infinite;}.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_menu_def{position:relative;overflow:hidden;border-style:solid;border-width:0 1px 1px 1px;border-color:#dfdfdf;}.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_toolbar_def{position:relative;overflow:hidden;}.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_toolbar_def .dhx_toolbar_material{border-width:0 1px 1px 1px;}.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_ribbon_def{position:relative;overflow:hidden;}.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material{border-top-width:0;margin-top:-1px;width:auto;}.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_ribbon_def div.dhtmlxribbon_material.dhxrb_without_tabbar{border-top-width:0;width:auto;}.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_statusbar_def{position:absolute;bottom:0;width:100%;background-color:#fafafa;z-index:1;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text{position:relative;font:inherit;height:30px;line-height:30px;border-style:solid;border-width:0 1px 1px 1px;border-color:#dfdfdf;white-space:nowrap;overflow:hidden;padding:0 12px;color:#737373;}.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_cont_acc{position:absolute;border-color:#dfdfdf;border-style:solid;border-width:0 1px 1px 1px;overflow:hidden;z-index:0;}.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_hdr{position:relative;height:42px;line-height:42px;background-color:#fafafa;overflow:hidden;border-width:1px 1px 1px 1px;border-style:solid;border-color:#dfdfdf;cursor:default;z-index:3;box-shadow:0 0 10px rgba(127,127,127,0.2);font-size:14px;font-family:Roboto,Arial,Helvetica;color:#39c;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_hdr.dhx_cell_hdr_hidden{border-width:1px 0 0 0;height:0;line-height:0;overflow:hidden;box-shadow:none;}.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_hdr div.dhx_cell_hdr_text{position:relative;margin-left:14px;margin-right:44px;overflow:hidden;white-space:nowrap;cursor:default;}.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_icon{margin-left:44px;}.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_hdr img.dhx_cell_hdr_icon{position:absolute;top:13px;left:14px;width:16px;height:16px;}.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_hdr i{position:absolute;left:14px;width:16px;height:42px;line-height:42px;text-align:center;cursor:default;font-size:1.1em;color:inherit;}.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_hdr div.dhx_cell_hdr_arrow{position:absolute;top:13px;right:14px;width:16px;height:16px;background-image:url("imgs/dhxacc_material/dhxacc_btns.png");background-repeat:no-repeat;background-position:0 0;overflow:hidden;cursor:pointer;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxacc_base_material div.dhx_cell_acc.dhx_cell_closed div.dhx_cell_hdr{box-shadow:none;color:#404040;}.dhxacc_base_material div.dhx_cell_acc.dhx_cell_closed div.dhx_cell_hdr div.dhx_cell_hdr_arrow{background-position:-16px 0;}.dhxacc_base_material div.dhx_cell_acc.acc_cell_dragged{z-index:5!important;}.dhxacc_base_material div.dhxcelltop_hdr{position:relative;}.dhxacc_base_material div.dhxcelltop_ftr{position:absolute;}.dhxacc_base_material div.dhxcelltop_progress{position:absolute;left:0;top:0;width:100%;height:100%;background-color:white;z-index:3;opacity:.55;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=55);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxacc_base_material div.dhxcelltop_progress_img{position:absolute;left:0;top:0;width:100%;height:100%;background-image:url('imgs/dhxacc_material/dhxacc_cell_progress.gif');background-position:center center;background-repeat:no-repeat;z-index:4;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxacc_base_material div.dhxcelltop_progress_svg{z-index:4;position:absolute;left:0;top:0;width:100%;height:100%;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxacc_base_material div.dhxcelltop_progress_svg .dhx_cell_prsvg{position:absolute;top:0;left:0;right:0;bottom:0;margin:auto;width:50px;height:50px;animation:dhx_loader_rotate 2s linear infinite;transform-origin:center center;}.dhxacc_base_material div.dhxcelltop_progress_svg .dhx_cell_prsvg .dhx_cell_prcircle{fill:none;stroke:#39c;stroke-width:2;stroke-miterlimit:10;stroke-dasharray:1,200;stroke-dashoffset:0;stroke-linecap:round;animation:dhx_loader_dash 1.5s ease-in-out infinite;}.dhxacc_base_material div.dhxcelltop_menu{position:relative;overflow:hidden;border-width:1px 1px 0 1px;border-style:solid;border-color:#dfdfdf;}.dhxacc_base_material div.dhxcelltop_toolbar{position:relative;overflow:hidden;}.dhxacc_base_material div.dhxcelltop_toolbar div.dhx_toolbar_material{border-width:1px 1px 0 1px;}.dhxacc_base_material div.dhxcelltop_ribbon{position:relative;overflow:hidden;}.dhxacc_base_material div.dhxcelltop_ribbon div.dhtmlxribbon_material.dhxrb_without_tabbar{border-bottom-width:0;width:auto;}.dhxacc_base_material div.dhxcelltop_ribbon div.dhtmlxribbon_material div.dhxrb_with_tabbar.dhxtabbar_base_material div.dhxtabbar_tabs_top div.dhx_cell_tabbar div.dhx_cell_cont_tabbar{border-bottom-width:0;}.dhxacc_base_material div.dhxcelltop_statusbar{position:absolute;overflow:hidden;background-color:#fafafa;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhxacc_base_material div.dhxcelltop_statusbar div.dhxcont_statusbar{position:relative;background-color:#fafafa;font:inherit;height:30px;line-height:30px;border-width:0 1px 1px 1px;border-style:solid;border-color:#dfdfdf;padding:0 12px;color:#737373;white-space:nowrap;overflow:hidden;}body.dhxacc_base_material{background-color:#fafafa;}.dhxacc_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:40px;height:10px;overflow:hidden;}@keyframes dhx_loader_rotate{100%{transform:rotate(360deg);}}@keyframes dhx_loader_dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0;}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px;}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px;}}.dhxlayout_base_material{position:relative;cursor:default;overflow:visible!important;}.dhxlayout_base_material div.dhxlayout_cont{position:absolute;}.dhxlayout_base_material div.dhx_cell_layout{position:absolute;background-color:white;margin:0;padding:0;cursor:default;z-index:0;box-shadow:0 2px 4px rgba(0,0,0,0.04),0 1px 4px rgba(0,0,0,0.12);}.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_cover{position:absolute;left:0;top:0;width:100%;height:100%;margin:0;padding:0;font-size:1px;background-color:white;overflow:hidden;z-index:1;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_progress_bar{position:absolute;left:0;top:0;width:100%;height:100%;background-color:white;z-index:1;opacity:.75;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=75);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_progress_img{position:absolute;left:0;top:0;width:100%;height:100%;border:1px solid #e4e4e4;background-image:url('imgs/dhxlayout_material/dhxlayout_cell_progress.gif');background-position:center center;background-repeat:no-repeat;z-index:2;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_progress_svg{border:1px solid #e4e4e4;z-index:2;position:absolute;left:0;top:0;width:100%;height:100%;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_progress_svg .dhx_cell_prsvg{position:absolute;top:0;left:0;right:0;bottom:0;margin:auto;width:50px;height:50px;animation:dhx_loader_rotate 2s linear infinite;transform-origin:center center;}.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_progress_svg .dhx_cell_prsvg .dhx_cell_prcircle{fill:none;stroke:#39c;stroke-width:2;stroke-miterlimit:10;stroke-dasharray:1,200;stroke-dashoffset:0;stroke-linecap:round;animation:dhx_loader_dash 1.5s ease-in-out infinite;}.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_menu_def{position:relative;overflow:hidden;border-style:solid;border-width:0 1px 1px 1px;border-color:#dfdfdf;}.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_toolbar_def{position:relative;overflow:hidden;}.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_toolbar_def .dhx_toolbar_material{border-width:0 1px 1px 1px;}.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_ribbon_def{position:relative;overflow:hidden;}.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material{border-top-width:0;margin-top:-1px;width:auto;}.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_ribbon_def div.dhtmlxribbon_material.dhxrb_without_tabbar{border-top-width:0;width:auto;}.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_statusbar_def{position:absolute;bottom:0;width:100%;background-color:#fafafa;z-index:1;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text{position:relative;font:inherit;height:30px;line-height:30px;border-style:solid;border-width:0 1px 1px 1px;border-color:#dfdfdf;white-space:nowrap;overflow:hidden;padding:0 12px;color:#737373;}.dhxlayout_base_material div.dhx_cell_layout.dhx_cell_nested_layout{box-shadow:none!important;background:none!important;}.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_cont_layout,.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_menu_def,.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_toolbar_def,.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_ribbon_def,.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_statusbar_def,.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_cont_layout,.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_menu_def,.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_toolbar_def,.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_ribbon_def,.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_statusbar_def{display:none;}.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_cont_layout{position:absolute;border-color:#dfdfdf;border-style:solid;border-width:0 1px 1px 1px;z-index:0;}.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_cont_layout.dhx_cell_cont_no_borders{border-width:0;padding:0;}.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_hdr{position:relative;height:42px;line-height:42px;background-color:#39c;overflow:hidden;font-family:Roboto,Arial,Helvetica;font-size:17px;color:#ecf3f9;cursor:default;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_hdr.dhx_cell_hdr_hidden{height:0;line-height:0;border-top:1px solid #dfdfdf;overflow:hidden;}.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_hdr.dhx_cell_hdr_hidden_no_borders{height:0;line-height:0;border-width:0;overflow:hidden;}.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_hdr div.dhx_cell_hdr_text{position:relative;margin:0 39px 0 14px;overflow:hidden;white-space:nowrap;cursor:default;}.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_hdr div.dhxlayout_arrow{position:absolute;right:13px;top:13px;width:16px;height:16px;background-image:url('imgs/dhxlayout_material/dhxlayout_cell_btns.png');background-repeat:no-repeat;cursor:pointer;}.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_va{background-position:-16px 0;}.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_vb{background-position:-48px 0;}.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_ha{background-position:-32px 0;}.dhxlayout_base_material div.dhx_cell_layout div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_hb{background-position:0 0;}.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_hdr{font-size:15px;height:28px;line-height:28px;color:white;font-weight:normal;}.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_ha{background-position:0 0;top:6px;}.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_hb{background-position:-32px 0;top:6px;}.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr{font-size:15px;width:28px;}.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_va{background-position:-48px 0;right:6px;}.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_vb{background-position:-16px 0;right:6px;}.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text{position:absolute;left:0;bottom:0;transform:rotate(270deg);-ms-transform:rotate(270deg);transform-origin:left center;font-weight:normal;text-overflow:ellipsis;}.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie6{left:-7px;line-height:27px;padding-bottom:10px;}.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie6 span{float:left;filter:progid:DXImageTransform.Microsoft.Matrix(M11='6.123031769111886e-17', M12='1', M21='-1', M22='6.123031769111886e-17', sizingMethod='auto expand');}.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie7{left:-7px;line-height:27px;padding-bottom:10px;}.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie7 span{float:left;filter:progid:DXImageTransform.Microsoft.Matrix(M11='6.123031769111886e-17', M12='1', M21='-1', M22='6.123031769111886e-17', sizingMethod='auto expand');}.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie8{left:-6px;line-height:27px;}.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie8 span{float:left;filter:progid:DXImageTransform.Microsoft.Matrix(M11='6.123031769111886e-17', M12='1', M21='-1', M22='6.123031769111886e-17', sizingMethod='auto expand');margin-bottom:95%;}.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie9{left:0;line-height:27px;}.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie9 span{float:left;filter:none;margin-bottom:95%;}.dhxlayout_base_material div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_chrome{left:3px;-webkit-transform:rotate(270deg);-webkit-transform-origin:left center;}.dhxlayout_base_material div.dhxlayout_sep{position:absolute;font-size:1px;margin:0;padding:0;overflow:hidden;background-position:center center;background-repeat:no-repeat;-webkit-tap-highlight-color:rgba(0,0,0,0);-ms-touch-action:none;touch-action:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxlayout_base_material div.dhxlayout_sep.dhxlayout_sep_resize_v{cursor:w-resize;background-image:url('imgs/dhxlayout_material/dhxlayout_sep_ver.gif');}.dhxlayout_base_material div.dhxlayout_sep.dhxlayout_sep_resize_h{cursor:n-resize;background-image:url('imgs/dhxlayout_material/dhxlayout_sep_hor.gif');}.dhxlayout_base_material div.dhxlayout_sep.dhxlayout_sep_resize_actv{background-color:#f2f2f2;}.dhxlayout_base_material div.dhxlayout_resize_area{position:absolute;background-color:#cfcfcf;opacity:.3;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30);z-index:1;border:1px dashed black;cursor:inherit;}.dhxlayout_base_material div.dhxlayout_resize_sep{position:absolute;background-color:#39c;overflow:hidden;display:block;opacity:.5;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);z-index:2;cursor:inherit;}.dhxlayout_base_material div.dhxcelltop_hdr{position:relative;}.dhxlayout_base_material div.dhxcelltop_ftr{position:absolute;}.dhxlayout_base_material div.dhxcelltop_progress{position:absolute;left:0;top:0;width:100%;height:100%;background-color:white;z-index:3;opacity:.55;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=55);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxlayout_base_material div.dhxcelltop_progress_img{position:absolute;left:0;top:0;width:100%;height:100%;background-image:url('imgs/dhxlayout_material/dhxlayout_cell_progress.gif');background-position:center center;background-repeat:no-repeat;z-index:4;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxlayout_base_material div.dhxcelltop_progress_svg{z-index:4;position:absolute;left:0;top:0;width:100%;height:100%;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxlayout_base_material div.dhxcelltop_progress_svg .dhx_cell_prsvg{position:absolute;top:0;left:0;right:0;bottom:0;margin:auto;width:50px;height:50px;animation:dhx_loader_rotate 2s linear infinite;transform-origin:center center;}.dhxlayout_base_material div.dhxcelltop_progress_svg .dhx_cell_prsvg .dhx_cell_prcircle{fill:none;stroke:#39c;stroke-width:2;stroke-miterlimit:10;stroke-dasharray:1,200;stroke-dashoffset:0;stroke-linecap:round;animation:dhx_loader_dash 1.5s ease-in-out infinite;}.dhxlayout_base_material div.dhxcelltop_menu{position:relative;overflow:hidden;border-width:1px 1px 0 1px;border-style:solid;border-color:#dfdfdf;}.dhxlayout_base_material div.dhxcelltop_toolbar{position:relative;overflow:hidden;}.dhxlayout_base_material div.dhxcelltop_toolbar div.dhx_toolbar_material{border-width:1px 1px 0 1px;}.dhxlayout_base_material div.dhxcelltop_ribbon{position:relative;overflow:hidden;}.dhxlayout_base_material div.dhxcelltop_ribbon div.dhtmlxribbon_material.dhxrb_without_tabbar{border-bottom-width:0;width:auto;}.dhxlayout_base_material div.dhxcelltop_ribbon div.dhtmlxribbon_material div.dhxrb_with_tabbar.dhxtabbar_base_material div.dhxtabbar_tabs_top div.dhx_cell_tabbar div.dhx_cell_cont_tabbar{border-bottom-width:0;}.dhxlayout_base_material div.dhxcelltop_statusbar{position:absolute;overflow:hidden;background-color:#fafafa;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhxlayout_base_material div.dhxcelltop_statusbar div.dhxcont_statusbar{position:relative;background-color:#fafafa;font:inherit;height:30px;line-height:30px;border-width:0 1px 1px 1px;border-style:solid;border-color:#dfdfdf;padding:0 12px;color:#737373;white-space:nowrap;overflow:hidden;}.dhxlayout_base_material div.dhxcelltop_menu{border-width:0;padding-bottom:4px;background:none!important;}.dhxlayout_base_material div.dhxcelltop_toolbar{padding-bottom:10px;}.dhxlayout_base_material div.dhxcelltop_ribbon{padding-bottom:10px;}.dhxlayout_base_material div.dhxcelltop_ribbon div.dhtmlxribbon_material{box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24);}.dhxlayout_base_material div.dhxcelltop_ribbon div.dhtmlxribbon_material.dhxrb_without_tabbar{border-bottom-width:0;}.dhxlayout_base_material div.dhxcelltop_statusbar{padding-top:10px;overflow:visible;}.dhxlayout_base_material div.dhxcelltop_statusbar div.dhxcont_statusbar{border-width:0;box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24);}.dhxlayout_base_material.dhxlayout_collapsed_height{position:absolute;left:0;top:-100px;width:28px;height:1px;font-size:1px;margin:0;padding:0;overflow:hidden;}div.dhxlayout_sep_sw_material{position:absolute;left:0;top:-100px;width:14px;height:1px;font-size:1px;margin:0;padding:0;overflow:hidden;}body.dhxlayout_resize_v,body.dhxlayout_resize_v *{-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:w-resize!important;}body.dhxlayout_resize_h,body.dhxlayout_resize_h *{-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:n-resize!important;}html.dhxlayout_base_material,body.dhxlayout_base_material{overflow:hidden!important;}.dhxlayout_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:40px;height:10px;overflow:hidden;}@keyframes dhx_loader_rotate{100%{transform:rotate(360deg);}}@keyframes dhx_loader_dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0;}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px;}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px;}}.dhxtabbar_base_material{position:relative;box-shadow:0 1px 3px rgba(0,0,0,0.05),0 1px 3px rgba(0,0,0,0.09);}.dhxtabbar_base_material div.dhxtabbar_cont{position:absolute;overflow:hidden;}.dhxtabbar_base_material div.dhxtabbar_tabs{position:absolute;top:0;bottom:auto;height:42px;line-height:42px;background-color:#fafafa;border-color:#dfdfdf;border-style:solid;border-width:1px;overflow:hidden;white-space:nowrap;z-index:2;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_base{position:absolute;height:42px;overflow:hidden;}.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tabs_cont_left,.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tabs_cont_right{position:absolute;top:0;width:5000px;height:42px;margin:0 1px;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tabs_line{display:none;}.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tab{position:relative;height:42px;line-height:42px;background-color:#fafafa;font:inherit;margin-right:0;cursor:pointer;z-index:1;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0);}.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tab.dhxtabbar_tab_actv{color:#39c;background-color:#39c;}.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tab.dhxtabbar_tab_actv_dis{color:#a6a6a6;background-color:#a6a6a6;}.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tab.dhxtabbar_tab_dis{color:#a6a6a6;}.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tab div.dhxtabbar_tab_text{position:relative;height:40px;line-height:42px;background-color:#fafafa;vertical-align:middle;text-align:center;padding:0 16px;overflow:hidden;font:inherit;text-transform:uppercase;}.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tab div.dhxtabbar_tab_text.dhxtabbar_tab_text_close{padding-right:42px;}.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tab div.dhxtabbar_tab_close{position:absolute;top:14px;right:14px;width:14px;height:14px;background-image:url("imgs/dhxtabbar_material/dhxtabbar_button_close.png");background-position:0 0;background-repeat:no-repeat;z-index:1;}.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tab.dhxtabbar_tab_actv_dis div.dhxtabbar_tab_close,.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tab.dhxtabbar_tab_dis div.dhxtabbar_tab_close{background-position:-14px 0;}.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tabs_cont_left div.dhxtabbar_tab{float:left;}.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tabs_cont_right div.dhxtabbar_tab{float:right;}.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_left,.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_right{position:absolute;top:0;width:35px;height:42px;line-height:42px;z-index:4;cursor:pointer;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_left.dhxtabbar_tabs_ar_hidden,.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_right.dhxtabbar_tabs_ar_hidden{display:none;}.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_left div.dhxtabbar_arrow_img,.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_right div.dhxtabbar_arrow_img{position:absolute;width:16px;height:16px;line-height:16px;left:10px;top:13px;background-image:url("imgs/dhxtabbar_material/dhxtabbar_arrows.png");background-position:0 0;background-repeat:no-repeat;}.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_left{left:0;}.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_left div.dhxtabbar_arrow_img:hover{background-position:0 -16px;}.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_right{right:0;}.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_right div.dhxtabbar_arrow_img{background-position:-16px 0;}.dhxtabbar_base_material div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_right div.dhxtabbar_arrow_img:hover{background-position:-16px -16px;}.dhxtabbar_base_material div.dhx_cell_tabbar{position:absolute;background-color:white;margin:0;padding:0;overflow:hidden;cursor:default;z-index:0;}.dhxtabbar_base_material div.dhx_cell_tabbar div.dhx_cell_cover{position:absolute;left:0;top:0;width:100%;height:100%;margin:0;padding:0;font-size:1px;background-color:white;overflow:hidden;z-index:1;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxtabbar_base_material div.dhx_cell_tabbar div.dhx_cell_progress_bar{position:absolute;left:0;top:0;width:100%;height:100%;background-color:white;z-index:1;opacity:.75;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=75);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxtabbar_base_material div.dhx_cell_tabbar div.dhx_cell_progress_img{position:absolute;left:0;top:0;width:100%;height:100%;border:1px solid #e4e4e4;background-image:url('imgs/dhxtabbar_material/dhxtabbar_cell_progress.gif');background-position:center center;background-repeat:no-repeat;z-index:2;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxtabbar_base_material div.dhx_cell_tabbar div.dhx_cell_progress_svg{border:1px solid #e4e4e4;z-index:2;position:absolute;left:0;top:0;width:100%;height:100%;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxtabbar_base_material div.dhx_cell_tabbar div.dhx_cell_progress_svg .dhx_cell_prsvg{position:absolute;top:0;left:0;right:0;bottom:0;margin:auto;width:50px;height:50px;animation:dhx_loader_rotate 2s linear infinite;transform-origin:center center;}.dhxtabbar_base_material div.dhx_cell_tabbar div.dhx_cell_progress_svg .dhx_cell_prsvg .dhx_cell_prcircle{fill:none;stroke:#39c;stroke-width:2;stroke-miterlimit:10;stroke-dasharray:1,200;stroke-dashoffset:0;stroke-linecap:round;animation:dhx_loader_dash 1.5s ease-in-out infinite;}.dhxtabbar_base_material div.dhx_cell_tabbar div.dhx_cell_menu_def{position:relative;overflow:hidden;border-style:solid;border-width:0 1px 1px 1px;border-color:#dfdfdf;}.dhxtabbar_base_material div.dhx_cell_tabbar div.dhx_cell_toolbar_def{position:relative;overflow:hidden;}.dhxtabbar_base_material div.dhx_cell_tabbar div.dhx_cell_toolbar_def .dhx_toolbar_material{border-width:0 1px 1px 1px;}.dhxtabbar_base_material div.dhx_cell_tabbar div.dhx_cell_ribbon_def{position:relative;overflow:hidden;}.dhxtabbar_base_material div.dhx_cell_tabbar div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material{border-top-width:0;margin-top:-1px;width:auto;}.dhxtabbar_base_material div.dhx_cell_tabbar div.dhx_cell_ribbon_def div.dhtmlxribbon_material.dhxrb_without_tabbar{border-top-width:0;width:auto;}.dhxtabbar_base_material div.dhx_cell_tabbar div.dhx_cell_statusbar_def{position:absolute;bottom:0;width:100%;background-color:#fafafa;z-index:1;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhxtabbar_base_material div.dhx_cell_tabbar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text{position:relative;font:inherit;height:30px;line-height:30px;border-style:solid;border-width:0 1px 1px 1px;border-color:#dfdfdf;white-space:nowrap;overflow:hidden;padding:0 12px;color:#737373;}.dhxtabbar_base_material div.dhx_cell_tabbar div.dhx_cell_cont_tabbar{position:absolute;border-color:#dfdfdf;border-style:solid;overflow:hidden;z-index:0;}.dhxtabbar_base_material div.dhx_cell_tabbar div.dhx_cell_cont_tabbar.dhx_cell_cont_no_borders{border-width:0;}.dhxtabbar_base_material div.dhxtabbar_tabs_top div.dhxtabbar_tabs{top:0;}.dhxtabbar_base_material div.dhxtabbar_tabs_top div.dhxtabbar_tabs div.dhxtabbar_tab_text{margin-bottom:2px;}.dhxtabbar_base_material div.dhxtabbar_tabs_top div.dhx_cell_tabbar div.dhx_cell_cont_tabbar{border-width:0 1px 1px 1px;}.dhxtabbar_base_material div.dhxtabbar_tabs_top div.dhx_cell_tabbar div.dhx_cell_progress_img,.dhxtabbar_base_material div.dhxtabbar_tabs_top div.dhx_cell_tabbar div.dhx_cell_progress_svg{border-top-width:0;}.dhxtabbar_base_material div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs{bottom:0;}.dhxtabbar_base_material div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tab_text{margin-top:2px;}.dhxtabbar_base_material div.dhxtabbar_tabs_bottom div.dhx_cell_tabbar div.dhx_cell_cont_tabbar{border-width:1px 1px 0 1px;}.dhxtabbar_base_material div.dhxtabbar_tabs_bottom div.dhx_cell_tabbar div.dhx_cell_progress_img,.dhxtabbar_base_material div.dhxtabbar_tabs_bottom div.dhx_cell_tabbar div.dhx_cell_progress_svg{border-bottom-width:0;}.dhxtabbar_base_material div.dhxcelltop_hdr{position:relative;}.dhxtabbar_base_material div.dhxcelltop_ftr{position:absolute;}.dhxtabbar_base_material div.dhxcelltop_progress{position:absolute;left:0;top:0;width:100%;height:100%;background-color:white;z-index:3;opacity:.55;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=55);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxtabbar_base_material div.dhxcelltop_progress_img{position:absolute;left:0;top:0;width:100%;height:100%;background-image:url('imgs/dhxtabbar_material/dhxtabbar_cell_progress.gif');background-position:center center;background-repeat:no-repeat;z-index:4;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxtabbar_base_material div.dhxcelltop_progress_svg{z-index:4;position:absolute;left:0;top:0;width:100%;height:100%;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxtabbar_base_material div.dhxcelltop_progress_svg .dhx_cell_prsvg{position:absolute;top:0;left:0;right:0;bottom:0;margin:auto;width:50px;height:50px;animation:dhx_loader_rotate 2s linear infinite;transform-origin:center center;}.dhxtabbar_base_material div.dhxcelltop_progress_svg .dhx_cell_prsvg .dhx_cell_prcircle{fill:none;stroke:#39c;stroke-width:2;stroke-miterlimit:10;stroke-dasharray:1,200;stroke-dashoffset:0;stroke-linecap:round;animation:dhx_loader_dash 1.5s ease-in-out infinite;}.dhxtabbar_base_material div.dhxcelltop_menu{position:relative;overflow:hidden;border-width:1px 1px 0 1px;border-style:solid;border-color:#dfdfdf;}.dhxtabbar_base_material div.dhxcelltop_toolbar{position:relative;overflow:hidden;}.dhxtabbar_base_material div.dhxcelltop_toolbar div.dhx_toolbar_material{border-width:1px 1px 0 1px;}.dhxtabbar_base_material div.dhxcelltop_ribbon{position:relative;overflow:hidden;}.dhxtabbar_base_material div.dhxcelltop_ribbon div.dhtmlxribbon_material.dhxrb_without_tabbar{border-bottom-width:0;width:auto;}.dhxtabbar_base_material div.dhxcelltop_ribbon div.dhtmlxribbon_material div.dhxrb_with_tabbar.dhxtabbar_base_material div.dhxtabbar_tabs_top div.dhx_cell_tabbar div.dhx_cell_cont_tabbar{border-bottom-width:0;}.dhxtabbar_base_material div.dhxcelltop_statusbar{position:absolute;overflow:hidden;background-color:#fafafa;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhxtabbar_base_material div.dhxcelltop_statusbar div.dhxcont_statusbar{position:relative;background-color:#fafafa;font:inherit;height:30px;line-height:30px;border-width:0 1px 1px 1px;border-style:solid;border-color:#dfdfdf;padding:0 12px;color:#737373;white-space:nowrap;overflow:hidden;}span.dhxtabbar_tabs_text_test_material{position:absolute;visibility:hidden;right:0;top:0;padding:0 4px;text-transform:uppercase;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhxtabbar_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:40px;height:10px;overflow:hidden;}@keyframes dhx_loader_rotate{100%{transform:rotate(360deg);}}@keyframes dhx_loader_dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0;}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px;}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px;}}.dhxsidebar_base_material{position:relative;cursor:default;}.dhxsidebar_base_material div.dhxsidebar_cont{position:absolute;cursor:default;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side{position:absolute;left:0;top:0;background-color:#fafafa;border-style:solid;border-color:#dfdfdf;border-width:1px 1px 0 1px;overflow:hidden;z-index:5;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items{position:absolute;width:100%;overflow:hidden;box-sizing:border-box;-ms-touch-action:none;-webkit-transition:top .2s;-moz-transition:top .2s;-ms-transition:top .2s;-o-transition:top .2s;transition:top .2s;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item{position:relative;padding:0 10px;z-index:1;cursor:default;margin:1px 0;background-color:#fafafa;overflow:hidden;opacity:1;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=100);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;-ms-touch-action:none;-webkit-touch-callout:none;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_hidden{height:0!important;margin:0;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item:hover{background-color:#f5f5f5;z-index:2;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_selected{z-index:3;background-color:#ebebeb;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon{position:absolute;left:9px;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text{position:absolute;left:0;top:0;height:inherit;line-height:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_bubble{position:absolute;width:15px;height:15px;line-height:14px;right:5px;top:5px;border-radius:10px;background-color:#fafafa;border:1px solid #39c;font-family:Tahoma;font-size:10px;text-align:center;font-weight:normal;color:#39c;cursor:default;overflow:hidden;z-index:1;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item:hover div.dhxsidebar_bubble{background-color:#f5f5f5;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_selected div.dhxsidebar_bubble{background-color:#ebebeb;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_sep{position:relative;height:1px;margin:1px 0;overflow:hidden;background-color:#ededed;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_touch div.dhxsidebar_side_items div.dhxsidebar_item:hover{background-color:#fafafa;z-index:1;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_touch div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_selected{z-index:3;background-color:#ebebeb;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_details div.dhxsidebar_side_items div.dhxsidebar_item{height:27px;line-height:27px;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_details div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon{top:5px;width:16px;height:16px;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_details div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text{padding-left:34px;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item{height:47px;line-height:47px;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon{top:7px;width:32px;height:32px;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text{padding-left:50px;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_bubble{top:15px;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons div.dhxsidebar_side_items div.dhxsidebar_item{height:47px;line-height:47px;text-align:center;padding-left:4px;padding-right:4px;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon{position:relative;display:inline;left:0;top:7px;width:32px;height:32px;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons_text div.dhxsidebar_side_items div.dhxsidebar_item{height:66px;line-height:1em;text-align:center;padding-left:4px;padding-right:4px;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons_text div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon{position:relative;display:inline;left:0;top:4px;width:32px;height:32px;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons_text div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text{position:relative;display:block;height:16px;margin-top:10px;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_text div.dhxsidebar_side_items div.dhxsidebar_item{height:27px;line-height:27px;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_text div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text{padding-left:14px;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar{position:absolute;background-color:white;margin:0;padding:0;overflow:hidden;cursor:default;z-index:0;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_cover{position:absolute;left:0;top:0;width:100%;height:100%;margin:0;padding:0;font-size:1px;background-color:white;overflow:hidden;z-index:1;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_progress_bar{position:absolute;left:0;top:0;width:100%;height:100%;background-color:white;z-index:1;opacity:.75;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=75);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_progress_img{position:absolute;left:0;top:0;width:100%;height:100%;border:1px solid #e4e4e4;background-image:url('imgs/dhxsidebar_material/dhxsidebar_cell_progress.gif');background-position:center center;background-repeat:no-repeat;z-index:2;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_progress_svg{border:1px solid #e4e4e4;z-index:2;position:absolute;left:0;top:0;width:100%;height:100%;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_progress_svg .dhx_cell_prsvg{position:absolute;top:0;left:0;right:0;bottom:0;margin:auto;width:50px;height:50px;animation:dhx_loader_rotate 2s linear infinite;transform-origin:center center;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_progress_svg .dhx_cell_prsvg .dhx_cell_prcircle{fill:none;stroke:#39c;stroke-width:2;stroke-miterlimit:10;stroke-dasharray:1,200;stroke-dashoffset:0;stroke-linecap:round;animation:dhx_loader_dash 1.5s ease-in-out infinite;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_menu_def{position:relative;overflow:hidden;border-style:solid;border-width:0 1px 1px 1px;border-color:#dfdfdf;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_toolbar_def{position:relative;overflow:hidden;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_toolbar_def .dhx_toolbar_material{border-width:0 1px 1px 1px;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def{position:relative;overflow:hidden;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material{border-top-width:0;margin-top:-1px;width:auto;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhtmlxribbon_material.dhxrb_without_tabbar{border-top-width:0;width:auto;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_statusbar_def{position:absolute;bottom:0;width:100%;background-color:#fafafa;z-index:1;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text{position:relative;font:inherit;height:30px;line-height:30px;border-style:solid;border-width:0 1px 1px 1px;border-color:#dfdfdf;white-space:nowrap;overflow:hidden;padding:0 12px;color:#737373;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_menu_def,.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_toolbar_def .dhx_toolbar_material,.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhtmlxribbon_material.dhxrb_without_tabbar{border-width:1px 1px 0 0;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material{border-width:1px 1px 0 0;margin-top:0;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material div.dhxtabbar_tabs{border-left-width:0;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material div.dhxtabbar_tabs_top div.dhx_cell_tabbar div.dhx_cell_cont_tabbar{border-width:0 1px 0 0;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text{border-left-width:0;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_progress_img{border-left-width:0;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar.dhx_cell_cont_no_top div.dhx_cell_cont_sidebar{border-top-color:white;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_cont_sidebar{position:absolute;border-style:solid;border-color:#dfdfdf;border-width:1px 1px 1px 0;overflow:hidden;z-index:0;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_cont_sidebar.dhx_cell_cont_no_borders{border-width:0;padding:0;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr{position:relative;background-color:#fafafa;height:36px;line-height:35px;font-weight:normal;overflow:hidden;cursor:default;z-index:1;border-style:solid;border-color:#dfdfdf;border-width:1px 1px 0 0;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);}.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr.dhx_cell_sidebar_hdr_hidden{border-width:1px 0 0 0;height:0;line-height:0;overflow:hidden;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr div.dhx_cell_sidebar_hdr_text{position:relative;margin:0 10px;overflow:hidden;white-space:nowrap;cursor:default;text-align:left;height:100%;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr div.dhx_cell_sidebar_hdr_text.dhx_cell_sidebar_hdr_text_icon{margin-left:34px!important;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr div.dhx_cell_sidebar_hdr_icon{position:absolute;top:0;left:10px;width:16px;height:100%;background-image:url("imgs/dhxsidebar_material/dhxsidebar_side_icon.gif");background-position:center center;background-repeat:no-repeat;}.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr{border-left-width:1px;}.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_cont_sidebar{border-left-width:1px;}.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_cont_sidebar.dhx_cell_cont_no_borders{border-left-width:0;}.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_menu_def,.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_toolbar_def .dhx_toolbar_material,.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhtmlxribbon_material.dhxrb_without_tabbar,.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text{border-left-width:1px;}.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material div.dhxtabbar_tabs{border-left-width:1px;}.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material div.dhxtabbar_tabs_top div.dhx_cell_tabbar div.dhx_cell_cont_tabbar{border-left-width:1px;}.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide{overflow:hidden;}.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide div.dhxsidebar_side{-webkit-transition:left .2s;-moz-transition:left .2s;-ms-transition:left .2s;-o-transition:left .2s;transition:left .2s;box-shadow:0 2px 8px rgba(127,127,127,0.4);}.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide div.dhxsidebar_arrows{-webkit-transition:left .2s;-moz-transition:left .2s;-ms-transition:left .2s;-o-transition:left .2s;transition:left .2s;box-shadow:0 4px 6px rgba(127,127,127,0.4);}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side_cover{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;background-color:#fff;z-index:3;-webkit-transition:opacity .3s;-moz-transition:opacity .3s;-ms-transition:opacity .3s;-o-transition:opacity .3s;transition:opacity .3s;opacity:.0001;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side_cover.dhxsidebar_side_cover_actv{opacity:.6;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=60);}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_arrows{position:absolute;left:0;bottom:0;height:24px;border:1px solid #dfdfdf;background-color:#fafafa;font-size:1px;overflow:hidden;z-index:6;-webkit-tap-highlight-color:rgba(0,0,0,0);-ms-touch-action:none;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_arrows.dhxsidebar_arrows_hidden{height:0;border-width:0 1px 1px 1px;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow{position:absolute;width:50%;height:100%;top:0;font-size:1px;overflow:hidden;z-index:1;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_left{left:0;border-right:1px solid #dfdfdf;z-index:2;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_left div.dhxsidebar_arrow_image{background-image:url("imgs/dhxsidebar_material/dhxsidebar_arrow_up.gif");}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_right{right:0;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_right div.dhxsidebar_arrow_image{background-image:url("imgs/dhxsidebar_material/dhxsidebar_arrow_down.gif");}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow div.dhxsidebar_arrow_image{position:absolute;left:0;top:0;width:100%;height:100%;background-repeat:no-repeat;background-position:center center;font-size:1px;overflow:hidden;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow:hover{background-color:#f5f5f5;}.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow:active{background-color:#f0f0f0;}.dhxsidebar_base_material div.dhxcelltop_hdr{position:relative;}.dhxsidebar_base_material div.dhxcelltop_ftr{position:absolute;}.dhxsidebar_base_material div.dhxcelltop_progress{position:absolute;left:0;top:0;width:100%;height:100%;background-color:white;z-index:3;opacity:.55;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=55);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxsidebar_base_material div.dhxcelltop_progress_img{position:absolute;left:0;top:0;width:100%;height:100%;background-image:url('imgs/dhxsidebar_material/dhxsidebar_cell_progress.gif');background-position:center center;background-repeat:no-repeat;z-index:4;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxsidebar_base_material div.dhxcelltop_progress_svg{z-index:4;position:absolute;left:0;top:0;width:100%;height:100%;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxsidebar_base_material div.dhxcelltop_progress_svg .dhx_cell_prsvg{position:absolute;top:0;left:0;right:0;bottom:0;margin:auto;width:50px;height:50px;animation:dhx_loader_rotate 2s linear infinite;transform-origin:center center;}.dhxsidebar_base_material div.dhxcelltop_progress_svg .dhx_cell_prsvg .dhx_cell_prcircle{fill:none;stroke:#39c;stroke-width:2;stroke-miterlimit:10;stroke-dasharray:1,200;stroke-dashoffset:0;stroke-linecap:round;animation:dhx_loader_dash 1.5s ease-in-out infinite;}.dhxsidebar_base_material div.dhxcelltop_menu{position:relative;overflow:hidden;border-width:1px 1px 0 1px;border-style:solid;border-color:#dfdfdf;}.dhxsidebar_base_material div.dhxcelltop_toolbar{position:relative;overflow:hidden;}.dhxsidebar_base_material div.dhxcelltop_toolbar div.dhx_toolbar_material{border-width:1px 1px 0 1px;}.dhxsidebar_base_material div.dhxcelltop_ribbon{position:relative;overflow:hidden;}.dhxsidebar_base_material div.dhxcelltop_ribbon div.dhtmlxribbon_material.dhxrb_without_tabbar{border-bottom-width:0;width:auto;}.dhxsidebar_base_material div.dhxcelltop_ribbon div.dhtmlxribbon_material div.dhxrb_with_tabbar.dhxtabbar_base_material div.dhxtabbar_tabs_top div.dhx_cell_tabbar div.dhx_cell_cont_tabbar{border-bottom-width:0;}.dhxsidebar_base_material div.dhxcelltop_statusbar{position:absolute;overflow:hidden;background-color:#fafafa;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhxsidebar_base_material div.dhxcelltop_statusbar div.dhxcont_statusbar{position:relative;background-color:#fafafa;font:inherit;height:30px;line-height:30px;border-width:0 1px 1px 1px;border-style:solid;border-color:#dfdfdf;padding:0 12px;color:#737373;white-space:nowrap;overflow:hidden;}.dhxsidebar_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:40px;height:10px;overflow:hidden;}@keyframes dhx_loader_rotate{100%{transform:rotate(360deg);}}@keyframes dhx_loader_dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0;}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px;}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px;}}.dhxcarousel_base_material{background-color:white;position:relative;cursor:default;}.dhxcarousel_base_material div.dhxcarousel_cont{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area{position:relative;overflow:hidden;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area.dhxcarousel_area_flip{perspective:900px;-webkit-perspective:900;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel{position:absolute;background-color:white;margin:0;padding:0;overflow:hidden;cursor:default;z-index:0;-webkit-transform-style:preserve-3d;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_cover{position:absolute;left:0;top:0;width:100%;height:100%;margin:0;padding:0;font-size:1px;background-color:white;overflow:hidden;z-index:1;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_progress_bar{position:absolute;left:0;top:0;width:100%;height:100%;background-color:white;z-index:1;opacity:.75;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=75);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_progress_img{position:absolute;left:0;top:0;width:100%;height:100%;border:1px solid #e4e4e4;background-image:url('imgs/dhxcarousel_material/dhxcarousel_cell_progress.gif');background-position:center center;background-repeat:no-repeat;z-index:2;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_progress_svg{border:1px solid #e4e4e4;z-index:2;position:absolute;left:0;top:0;width:100%;height:100%;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_progress_svg .dhx_cell_prsvg{position:absolute;top:0;left:0;right:0;bottom:0;margin:auto;width:50px;height:50px;animation:dhx_loader_rotate 2s linear infinite;transform-origin:center center;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_progress_svg .dhx_cell_prsvg .dhx_cell_prcircle{fill:none;stroke:#39c;stroke-width:2;stroke-miterlimit:10;stroke-dasharray:1,200;stroke-dashoffset:0;stroke-linecap:round;animation:dhx_loader_dash 1.5s ease-in-out infinite;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_menu_def{position:relative;overflow:hidden;border-style:solid;border-width:0 1px 1px 1px;border-color:#dfdfdf;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_toolbar_def{position:relative;overflow:hidden;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_toolbar_def .dhx_toolbar_material{border-width:0 1px 1px 1px;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def{position:relative;overflow:hidden;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material{border-top-width:0;margin-top:-1px;width:auto;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def div.dhtmlxribbon_material.dhxrb_without_tabbar{border-top-width:0;width:auto;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_statusbar_def{position:absolute;bottom:0;width:100%;background-color:#fafafa;z-index:1;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text{position:relative;font:inherit;height:30px;line-height:30px;border-style:solid;border-width:0 1px 1px 1px;border-color:#dfdfdf;white-space:nowrap;overflow:hidden;padding:0 12px;color:#737373;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_cont_carousel{position:absolute;border:1px solid #dfdfdf;overflow:hidden;margin:0;padding:0;z-index:0;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_cont_carousel.dhx_cell_cont_no_borders{border-width:0;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_menu_def{border-width:1px 1px 0 1px;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_toolbar_def .dhx_toolbar_material{border-width:1px 1px 0 1px;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def div.dhtmlxribbon_material.dhxrb_without_tabbar{border-width:1px 1px 0 1px;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material{border-top-width:1px;margin-top:0;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material div.dhxtabbar_tabs_top div.dhx_cell_tabbar div.dhx_cell_cont_tabbar{border-bottom-width:0;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls{position:absolute;width:100%;height:34px;bottom:0;left:0;z-index:3;overflow:visible;border-top:1px solid #dfdfdf;background-color:#fafafa;-webkit-tap-highlight-color:rgba(0,0,0,0);}.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn{position:absolute;bottom:0;width:38px;height:100%;overflow:hidden;line-height:33px;background-color:#fafafa;border:0 solid #dfdfdf;background-position:center center;background-repeat:no-repeat;text-align:center;z-index:2;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev{background-image:url(imgs/dhxcarousel_material/dhxcarousel_arrow_left.png);}.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis{background-image:url(imgs/dhxcarousel_material/dhxcarousel_arrow_left_dis.png);}.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next{background-image:url(imgs/dhxcarousel_material/dhxcarousel_arrow_right.png);}.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis{background-image:url(imgs/dhxcarousel_material/dhxcarousel_arrow_right_dis.png);}.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev:hover,.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next:hover{background-color:#ebebeb;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev:active,.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next:active{background-color:#dcdcdc;border-color:#d2d2d2;box-shadow:0 0 4px rgba(127,127,127,0.2) inset;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev,.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis{left:0;border-right-width:1px;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next,.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis{right:0;border-left-width:1px;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis,.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis{z-index:1;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars{position:absolute;top:10px;text-align:center;font-size:1px;line-height:36px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars div.dhx_carousel_onebar{float:left;position:relative;margin:0 2px;width:14px;height:14px;border:1px solid #797979;border-radius:14px;background-color:white;font-size:1px;overflow:hidden;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars div.dhx_carousel_onebar div.dhx_carousel_barcore{display:none;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars div.dhx_carousel_onebar.dhx_carousel_baractv{border-color:#39c;}.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars div.dhx_carousel_onebar.dhx_carousel_baractv div.dhx_carousel_barcore{position:absolute;display:block;font-size:1px;margin:0;padding:0;width:8px;height:8px;top:3px;left:3px;border-radius:50%;background-color:#39c;overflow:hidden;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxcarousel_base_material div.dhxcelltop_hdr{position:relative;}.dhxcarousel_base_material div.dhxcelltop_ftr{position:absolute;}.dhxcarousel_base_material div.dhxcelltop_progress{position:absolute;left:0;top:0;width:100%;height:100%;background-color:white;z-index:3;opacity:.55;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=55);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxcarousel_base_material div.dhxcelltop_progress_img{position:absolute;left:0;top:0;width:100%;height:100%;background-image:url('imgs/dhxcarousel_material/dhxcarousel_cell_progress.gif');background-position:center center;background-repeat:no-repeat;z-index:4;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxcarousel_base_material div.dhxcelltop_progress_svg{z-index:4;position:absolute;left:0;top:0;width:100%;height:100%;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxcarousel_base_material div.dhxcelltop_progress_svg .dhx_cell_prsvg{position:absolute;top:0;left:0;right:0;bottom:0;margin:auto;width:50px;height:50px;animation:dhx_loader_rotate 2s linear infinite;transform-origin:center center;}.dhxcarousel_base_material div.dhxcelltop_progress_svg .dhx_cell_prsvg .dhx_cell_prcircle{fill:none;stroke:#39c;stroke-width:2;stroke-miterlimit:10;stroke-dasharray:1,200;stroke-dashoffset:0;stroke-linecap:round;animation:dhx_loader_dash 1.5s ease-in-out infinite;}.dhxcarousel_base_material div.dhxcelltop_menu{position:relative;overflow:hidden;border-width:1px 1px 0 1px;border-style:solid;border-color:#dfdfdf;}.dhxcarousel_base_material div.dhxcelltop_toolbar{position:relative;overflow:hidden;}.dhxcarousel_base_material div.dhxcelltop_toolbar div.dhx_toolbar_material{border-width:1px 1px 0 1px;}.dhxcarousel_base_material div.dhxcelltop_ribbon{position:relative;overflow:hidden;}.dhxcarousel_base_material div.dhxcelltop_ribbon div.dhtmlxribbon_material.dhxrb_without_tabbar{border-bottom-width:0;width:auto;}.dhxcarousel_base_material div.dhxcelltop_ribbon div.dhtmlxribbon_material div.dhxrb_with_tabbar.dhxtabbar_base_material div.dhxtabbar_tabs_top div.dhx_cell_tabbar div.dhx_cell_cont_tabbar{border-bottom-width:0;}.dhxcarousel_base_material div.dhxcelltop_statusbar{position:absolute;overflow:hidden;background-color:#fafafa;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhxcarousel_base_material div.dhxcelltop_statusbar div.dhxcont_statusbar{position:relative;background-color:#fafafa;font:inherit;height:30px;line-height:30px;border-width:0 1px 1px 1px;border-style:solid;border-color:#dfdfdf;padding:0 12px;color:#737373;white-space:nowrap;overflow:hidden;}.dhxcarousel_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:40px;height:10px;overflow:hidden;}div.dhx_popup_material div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_material{background-color:#fafafa;}div.dhx_popup_material div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls,.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls,.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls{border-bottom:1px solid #dfdfdf;}div.dhx_popup_material div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev,div.dhx_popup_material div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis,.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev,.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis,.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev,.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis{border-left-width:1px;}div.dhx_popup_material div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next,div.dhx_popup_material div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis,.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next,.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis,.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next,.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis{border-right-width:1px;}@keyframes dhx_loader_rotate{100%{transform:rotate(360deg);}}@keyframes dhx_loader_dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0;}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px;}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px;}}.dhxwins_vp_material{overflow:hidden;position:relative;cursor:default;}.dhxwins_vp_material div.dhxwin_active{position:absolute;overflow:hidden;box-shadow:0 28px 80px -6px rgba(0,0,0,0.4);background-color:#39c;cursor:inherit;-webkit-tap-highlight-color:rgba(0,0,0,0);}.dhxwins_vp_material div.dhxwin_active div.dhxwin_fr_cover{display:none;}.dhxwins_vp_material div.dhxwin_active div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button:hover{background-color:#3090c0;}.dhxwins_vp_material div.dhxwin_active.dhxwin_dnd_touch,.dhxwins_vp_material div.dhxwin_active.dhxwin_dnd{box-shadow:0 0 8px rgba(125,125,125,0.4);box-shadow:0 28px 80px -6px rgba(1,1,1,0.4);}.dhxwins_vp_material div.dhxwin_active.dhxwin_dnd_touch{border-color:#6c94b4;box-shadow:0 0 14px #a4b9cb;-webkit-touch-callout:none;-webkit-user-select:none;}.dhxwins_vp_material div.dhxwin_inactive{position:absolute;overflow:hidden;box-shadow:0 0 8px rgba(127,127,127,0.4);background-color:#70b8db;cursor:inherit;-webkit-tap-highlight-color:rgba(0,0,0,0);}.dhxwins_vp_material div.dhxwin_inactive div.dhxwin_brd{border-color:#70b8db;opacity:.8;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=80);}.dhxwins_vp_material div.dhxwin_inactive div.dhxwin_fr_cover{z-index:4;opacity:.5;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);}.dhxwins_vp_material div.dhxwin_inactive div.dhxwin_fr_cover.dhxwin_fr_cover_dnd,.dhxwins_vp_material div.dhxwin_inactive div.dhxwin_fr_cover.dhxwin_fr_cover_resize{display:block;}.dhxwins_vp_material div.dhxwin_inactive div.dhxwin_hdr{color:#d9e7f3;background-color:#70b8db;opacity:.8;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=80);}.dhxwins_vp_material div.dhxwin_inactive div.dhxwin_hdr div.dhxwin_icon{opacity:.6;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=60);}.dhxwins_vp_material div.dhxwin_inactive div.dhxwin_hdr div.dhxwin_btns{opacity:.5;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);}.dhxwins_vp_material div.dhxwin_brd{position:absolute;border-color:#39c;border-style:solid;border-width:0 2px 2px 2px;background:white;z-index:0;}.dhxwins_vp_material div.dhxwin_brd.dhxwin_hdr_hidden{border-top-width:2px;}.dhxwins_vp_material div.dhxwin_fr_cover{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;background-color:white;z-index:1;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}.dhxwins_vp_material div.dhxwin_fr_cover iframe.dhxwin_fr_cover_inner,.dhxwins_vp_material div.dhxwin_fr_cover div.dhxwin_fr_cover_inner{position:absolute;left:0;top:0;width:100%;height:100%;background-color:white;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}.dhxwins_vp_material iframe.dhxwin_main_fr_cover{position:absolute;background-color:white;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}.dhxwins_vp_material div.dhxwin_hdr{position:relative;height:48px;line-height:48px;background-color:#39c;margin:0;padding:0;font-family:Roboto,Arial,Helvetica;font-size:17px;color:#ecf3f9;cursor:inherit;overflow:hidden;z-index:3;-ms-touch-action:none;touch-action:none;}.dhxwins_vp_material div.dhxwin_hdr.dhxwin_hdr_hidden{visibility:hidden;}.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_icon{position:absolute;display:none;left:15px;top:15px;width:18px;height:18px;cursor:default;overflow:hidden;background-image:url("imgs/dhxwins_material/dhxwins_icon.gif");background-position:center center;background-repeat:no-repeat;cursor:inherit;z-index:2;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_text{position:relative;padding:0;margin:0;overflow:hidden;white-space:nowrap;cursor:inherit;z-index:1;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_text div.dhxwin_text_inside{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;width:100%;}.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns{position:absolute;right:15px;top:12px;height:24px;cursor:default;overflow:hidden;cursor:inherit;z-index:2;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button,.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis{position:relative;float:left;width:24px;height:24px;margin-left:1px;margin-top:2px;background-image:url("imgs/dhxwins_material/dhxwins_buttons.png");background-repeat:no-repeat;background-position:0 0;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_close{background-position:-24px 0;}.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_minmax{background-position:-48px 0;}.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_minmaxed{background-position:-72px 0;}.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_park{background-position:-96px 0;}.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_stick{background-position:-120px 0;}.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_sticked{background-position:-144px 0;background-color:#3090c0!important;}.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_help{background-position:-168px 0;}.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_dock{background-position:-192px 0;}.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_close_dis{background-position:-24px -24px;}.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_minmax_dis{background-position:-48px -24px;}.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_minmaxed_dis{background-position:-72px -24px;}.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_park_dis{background-position:-96px -24px;}.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_stick_dis{background-position:-120px -24px;}.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_sticked_dis{background-position:-144px -24px;background-color:#3193c4!important;}.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_help_dis{background-position:-168px -24px;}.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_dock_dis{background-position:-192px -24px;}.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins,.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins{position:absolute;background-color:white;margin:0;padding:0;overflow:hidden;cursor:default;visibility:visible;z-index:1;opacity:1;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=100);}.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_cover,.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_cover{position:absolute;left:0;top:0;width:100%;height:100%;margin:0;padding:0;font-size:1px;background-color:white;overflow:hidden;z-index:1;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_progress_bar,.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_progress_bar{position:absolute;left:0;top:0;width:100%;height:100%;background-color:white;z-index:1;opacity:.75;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=75);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_progress_img,.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_progress_img{position:absolute;left:0;top:0;width:100%;height:100%;border:1px solid #e4e4e4;background-image:url("imgs/dhxwins_material/dhxwins_progress.gif");background-position:center center;background-repeat:no-repeat;z-index:2;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_progress_svg,.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_progress_svg{border:1px solid #e4e4e4;z-index:2;position:absolute;left:0;top:0;width:100%;height:100%;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_progress_svg .dhx_cell_prsvg,.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_progress_svg .dhx_cell_prsvg{position:absolute;top:0;left:0;right:0;bottom:0;margin:auto;width:50px;height:50px;animation:dhx_loader_rotate 2s linear infinite;transform-origin:center center;}.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_progress_svg .dhx_cell_prsvg .dhx_cell_prcircle,.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_progress_svg .dhx_cell_prsvg .dhx_cell_prcircle{fill:none;stroke:#39c;stroke-width:2;stroke-miterlimit:10;stroke-dasharray:1,200;stroke-dashoffset:0;stroke-linecap:round;animation:dhx_loader_dash 1.5s ease-in-out infinite;}.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_menu_def,.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_menu_def{position:relative;overflow:hidden;border-style:solid;border-width:0 1px 1px 1px;border-color:#dfdfdf;}.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_toolbar_def,.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_toolbar_def{position:relative;overflow:hidden;}.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_toolbar_def .dhx_toolbar_material,.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_toolbar_def .dhx_toolbar_material{border-width:0 1px 1px 1px;}.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_ribbon_def,.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_ribbon_def{position:relative;overflow:hidden;}.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material,.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material{border-top-width:0;margin-top:-1px;width:auto;}.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_ribbon_def div.dhtmlxribbon_material.dhxrb_without_tabbar,.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_ribbon_def div.dhtmlxribbon_material.dhxrb_without_tabbar{border-top-width:0;width:auto;}.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_statusbar_def,.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_statusbar_def{position:absolute;bottom:0;width:100%;background-color:#fafafa;z-index:1;font-size:14px;font-family:Roboto,Arial,Helvetica;color:#404040;}.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text,.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text{position:relative;font:inherit;height:30px;line-height:30px;border-style:solid;border-width:0 1px 1px 1px;border-color:#dfdfdf;white-space:nowrap;overflow:hidden;padding:0 12px;color:#737373;}.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_menu_def,.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_menu_def{border-width:0 0 1px 0;}.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_menu_def .dhtmlxMenu_material_Middle,.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_menu_def .dhtmlxMenu_material_Middle{padding:0 2px;}.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_toolbar_def .dhx_toolbar_material,.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_toolbar_def .dhx_toolbar_material{border-width:0 0 1px 0;}.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text,.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text{border-width:1px 0 0 0;}.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins.dhxwin_parked,.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins.dhxwin_parked{visibility:hidden;}.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_cont_wins,.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_cont_wins{position:absolute;background-color:white;overflow:hidden;z-index:0;}.dhxwins_vp_material.dhxwins_vp_dnd{cursor:move!important;}.dhxwins_vp_material div.dhxwin_resize{position:absolute;background-color:#cfcfcf;opacity:.3;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30);}.dhxwins_vp_material iframe.dhxwin_resize_fr_cover{position:absolute;background-color:white;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}.dhxwins_vp_material div.dhxwins_mcover{position:absolute;background-color:#f3f3f3;left:0;top:0;width:100%;height:100%;opacity:.55;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=55);}.dhxwins_vp_material iframe.dhxwins_mcover{position:absolute;background-color:white;left:0;top:0;width:100%;height:100%;opacity:0;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);}.dhxwins_vp_material.dhxwins_vp_fs{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;}.dhxwins_vp_auto{overflow:auto!important;}.dhxwins_skin_detect{position:absolute;left:0;top:-100px;margin:0;padding:0;border:0 solid white;width:40px;height:10px;overflow:hidden;}@keyframes dhx_loader_rotate{100%{transform:rotate(360deg);}}@keyframes dhx_loader_dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0;}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px;}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px;}}.dhtmlx_message_area{position:fixed;right:10px;width:250px;z-index:1000;padding:0;}.dhtmlx-info{color:#444;min-width:120px;background:#f5f5f5;font-size:14px;font-family:Roboto,Arial,Helvetica;font-weight:500;z-index:10000;margin:0 5px 7px 5px;box-shadow:0 2px 4px rgba(0,0,0,0.2);border-radius:3px;-webkit-transition:all .5s ease;-moz-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease;}.dhtmlx-info div{padding:16px 9px 16px 15px;background-color:#f5f5f5;border-radius:3px;-webkit-transition:all .5s ease;-moz-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease;}.dhtmlx-info.hidden{box-shadow:none;border-top:none;border-bottom:none;margin-top:0;margin-bottom:0;overflow:hidden;}.dhtmlx-info.hidden div{height:0;border-top:none;border-bottom:none;padding-bottom:0;padding-top:0;overflow:hidden;}.dhtmlx-error{color:#fff;background-color:#e53935;box-shadow:0 0 6px rgba(0,0,0,0.49);border-radius:0;}.dhtmlx-error div{padding:16px 9px 16px 18px;background-color:#e53935;}.dhtmlx_modal_box{overflow:hidden;display:inline-block;min-width:300px;width:300px;text-align:center;position:fixed;background-color:#fff;z-index:20000;box-shadow:0 28px 80px -6px rgba(0,0,0,0.4);}.dhtmlx_popup_title{padding:16px 0;font-size:17px;line-height:16px;font-family:Roboto,Arial,Helvetica;}.dhtmlx-info,.dhtmlx_popup_title,.dhtmlx_popup_button{-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-o-user-select:none;user-select:none;-moz-user-select:-moz-none;cursor:pointer;}.dhtmlx_popup_text{font-size:15px;font-family:Roboto,Arial,Helvetica;color:#444;min-height:30px;padding:20px 10px 5px 10px!important;overflow:hidden;}.dhtmlx_popup_controls{font-family:Roboto,Arial,Helvetica;font-weight:bold;padding:10px 10px 15px 10px!important;}.dhtmlx_popup_button{font-size:14px;font-family:Roboto,Arial,Helvetica;font-weight:500;min-width:120px;width:120px;height:32px;display:inline-block;margin:0 5px;color:#444;}.dhtmlx_popup_button div{line-height:32px;text-transform:uppercase;}div.dhx_modal_cover{background-color:#000;cursor:default;opacity:.24;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=20);position:fixed;z-index:19999;left:0;top:0;width:100%;height:100%;border:none;zoom:1;}.dhtmlx_popup_button{color:#222;border:1px solid #dfdfdf;background:#f5f5f5;}.dhtmlx_popup_button:active,.dhtmlx_popup_button:focus{background:#eee;}.dhtmlx_popup_button:first-child{background:#39c;color:white;font-weight:normal;}.dhtmlx-alert-error .dhtmlx_popup_title,.dhtmlx-confirm-error .dhtmlx_popup_title{color:#fff;background:#e53935;}.dhtmlx-alert-error .dhtmlx_popup_button:first-child,.dhtmlx-confirm-error .dhtmlx_popup_button:first-child{background:#e53935;border:1px solid #f17373;}.dhtmlx-alert-warning .dhtmlx_popup_title,.dhtmlx-confirm-warning .dhtmlx_popup_title{color:#fff;background:#E6951A;}.dhtmlx-alert .dhtmlx_popup_title,.dhtmlx-confirm .dhtmlx_popup_title{color:white;background:#39c;} \ No newline at end of file diff --git a/themes/skins4.0/material/imgs/dhxacc_material/dhxacc_btns.png b/themes/skins4.0/material/imgs/dhxacc_material/dhxacc_btns.png deleted file mode 100644 index 80e159c..0000000 Binary files a/themes/skins4.0/material/imgs/dhxacc_material/dhxacc_btns.png and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxacc_material/dhxacc_cell_progress.gif b/themes/skins4.0/material/imgs/dhxacc_material/dhxacc_cell_progress.gif deleted file mode 100644 index ff9a5e6..0000000 Binary files a/themes/skins4.0/material/imgs/dhxacc_material/dhxacc_cell_progress.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxcalendar_material/dhxcalendar_arrow_left.png b/themes/skins4.0/material/imgs/dhxcalendar_material/dhxcalendar_arrow_left.png deleted file mode 100644 index a00ec17..0000000 Binary files a/themes/skins4.0/material/imgs/dhxcalendar_material/dhxcalendar_arrow_left.png and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxcalendar_material/dhxcalendar_arrow_left.svg b/themes/skins4.0/material/imgs/dhxcalendar_material/dhxcalendar_arrow_left.svg deleted file mode 100644 index 6aa4b51..0000000 --- a/themes/skins4.0/material/imgs/dhxcalendar_material/dhxcalendar_arrow_left.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/themes/skins4.0/material/imgs/dhxcalendar_material/dhxcalendar_arrow_right.png b/themes/skins4.0/material/imgs/dhxcalendar_material/dhxcalendar_arrow_right.png deleted file mode 100644 index fa82bb3..0000000 Binary files a/themes/skins4.0/material/imgs/dhxcalendar_material/dhxcalendar_arrow_right.png and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxcalendar_material/dhxcalendar_arrow_right.svg b/themes/skins4.0/material/imgs/dhxcalendar_material/dhxcalendar_arrow_right.svg deleted file mode 100644 index 1304c8d..0000000 --- a/themes/skins4.0/material/imgs/dhxcalendar_material/dhxcalendar_arrow_right.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/themes/skins4.0/material/imgs/dhxcalendar_material/dhxcalendar_clock.png b/themes/skins4.0/material/imgs/dhxcalendar_material/dhxcalendar_clock.png deleted file mode 100644 index 9787072..0000000 Binary files a/themes/skins4.0/material/imgs/dhxcalendar_material/dhxcalendar_clock.png and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxcalendar_material/dhxcalendar_marker.gif b/themes/skins4.0/material/imgs/dhxcalendar_material/dhxcalendar_marker.gif deleted file mode 100644 index 4785f82..0000000 Binary files a/themes/skins4.0/material/imgs/dhxcalendar_material/dhxcalendar_marker.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxcalendar_material/dhxcalendar_selector_bottom.gif b/themes/skins4.0/material/imgs/dhxcalendar_material/dhxcalendar_selector_bottom.gif deleted file mode 100644 index 46f962e..0000000 Binary files a/themes/skins4.0/material/imgs/dhxcalendar_material/dhxcalendar_selector_bottom.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxcalendar_material/dhxcalendar_selector_top.gif b/themes/skins4.0/material/imgs/dhxcalendar_material/dhxcalendar_selector_top.gif deleted file mode 100644 index 2fd1744..0000000 Binary files a/themes/skins4.0/material/imgs/dhxcalendar_material/dhxcalendar_selector_top.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxcarousel_material/dhxcarousel_arrow_left.png b/themes/skins4.0/material/imgs/dhxcarousel_material/dhxcarousel_arrow_left.png deleted file mode 100644 index f5340b7..0000000 Binary files a/themes/skins4.0/material/imgs/dhxcarousel_material/dhxcarousel_arrow_left.png and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxcarousel_material/dhxcarousel_arrow_left_dis.png b/themes/skins4.0/material/imgs/dhxcarousel_material/dhxcarousel_arrow_left_dis.png deleted file mode 100644 index 5d12166..0000000 Binary files a/themes/skins4.0/material/imgs/dhxcarousel_material/dhxcarousel_arrow_left_dis.png and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxcarousel_material/dhxcarousel_arrow_right.png b/themes/skins4.0/material/imgs/dhxcarousel_material/dhxcarousel_arrow_right.png deleted file mode 100644 index b816126..0000000 Binary files a/themes/skins4.0/material/imgs/dhxcarousel_material/dhxcarousel_arrow_right.png and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxcarousel_material/dhxcarousel_arrow_right_dis.png b/themes/skins4.0/material/imgs/dhxcarousel_material/dhxcarousel_arrow_right_dis.png deleted file mode 100644 index 3ef9588..0000000 Binary files a/themes/skins4.0/material/imgs/dhxcarousel_material/dhxcarousel_arrow_right_dis.png and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxcarousel_material/dhxcarousel_cell_progress.gif b/themes/skins4.0/material/imgs/dhxcarousel_material/dhxcarousel_cell_progress.gif deleted file mode 100644 index ff9a5e6..0000000 Binary files a/themes/skins4.0/material/imgs/dhxcarousel_material/dhxcarousel_cell_progress.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxcombo_material/dhxcombo_arrow_down.gif b/themes/skins4.0/material/imgs/dhxcombo_material/dhxcombo_arrow_down.gif deleted file mode 100644 index a434339..0000000 Binary files a/themes/skins4.0/material/imgs/dhxcombo_material/dhxcombo_arrow_down.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxcombo_material/dhxcombo_arrow_down.svg b/themes/skins4.0/material/imgs/dhxcombo_material/dhxcombo_arrow_down.svg deleted file mode 100644 index 5ef058d..0000000 --- a/themes/skins4.0/material/imgs/dhxcombo_material/dhxcombo_arrow_down.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/themes/skins4.0/material/imgs/dhxcombo_material/dhxcombo_arrow_down_dis.gif b/themes/skins4.0/material/imgs/dhxcombo_material/dhxcombo_arrow_down_dis.gif deleted file mode 100644 index 49631ec..0000000 Binary files a/themes/skins4.0/material/imgs/dhxcombo_material/dhxcombo_arrow_down_dis.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxcombo_material/dhxcombo_chbx.gif b/themes/skins4.0/material/imgs/dhxcombo_material/dhxcombo_chbx.gif deleted file mode 100644 index 812ab09..0000000 Binary files a/themes/skins4.0/material/imgs/dhxcombo_material/dhxcombo_chbx.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxcp_material/dhxcp_colors.png b/themes/skins4.0/material/imgs/dhxcp_material/dhxcp_colors.png deleted file mode 100644 index ede480c..0000000 Binary files a/themes/skins4.0/material/imgs/dhxcp_material/dhxcp_colors.png and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxdataview_material/dnd_selector.png b/themes/skins4.0/material/imgs/dhxdataview_material/dnd_selector.png deleted file mode 100644 index 5d8e9b4..0000000 Binary files a/themes/skins4.0/material/imgs/dhxdataview_material/dnd_selector.png and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxdataview_material/dnd_selector_cells.png b/themes/skins4.0/material/imgs/dhxdataview_material/dnd_selector_cells.png deleted file mode 100644 index 63da638..0000000 Binary files a/themes/skins4.0/material/imgs/dhxdataview_material/dnd_selector_cells.png and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxdataview_material/dnd_selector_lines.png b/themes/skins4.0/material/imgs/dhxdataview_material/dnd_selector_lines.png deleted file mode 100644 index 576ecfd..0000000 Binary files a/themes/skins4.0/material/imgs/dhxdataview_material/dnd_selector_lines.png and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxdataview_material/marker.png b/themes/skins4.0/material/imgs/dhxdataview_material/marker.png deleted file mode 100644 index ceec125..0000000 Binary files a/themes/skins4.0/material/imgs/dhxdataview_material/marker.png and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxeditor_material/align_center.png b/themes/skins4.0/material/imgs/dhxeditor_material/align_center.png deleted file mode 100644 index 6cdebbc..0000000 Binary files a/themes/skins4.0/material/imgs/dhxeditor_material/align_center.png and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxeditor_material/align_justify.png b/themes/skins4.0/material/imgs/dhxeditor_material/align_justify.png deleted file mode 100644 index b2a41ab..0000000 Binary files a/themes/skins4.0/material/imgs/dhxeditor_material/align_justify.png and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxeditor_material/align_left.png b/themes/skins4.0/material/imgs/dhxeditor_material/align_left.png deleted file mode 100644 index a22a11e..0000000 Binary files a/themes/skins4.0/material/imgs/dhxeditor_material/align_left.png and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxeditor_material/align_right.png b/themes/skins4.0/material/imgs/dhxeditor_material/align_right.png deleted file mode 100644 index f8d3bb1..0000000 Binary files a/themes/skins4.0/material/imgs/dhxeditor_material/align_right.png and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxeditor_material/bold.png b/themes/skins4.0/material/imgs/dhxeditor_material/bold.png deleted file mode 100644 index b6cfde6..0000000 Binary files a/themes/skins4.0/material/imgs/dhxeditor_material/bold.png and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxeditor_material/buttons.png b/themes/skins4.0/material/imgs/dhxeditor_material/buttons.png deleted file mode 100644 index 91f27bf..0000000 Binary files a/themes/skins4.0/material/imgs/dhxeditor_material/buttons.png and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxeditor_material/clear.png b/themes/skins4.0/material/imgs/dhxeditor_material/clear.png deleted file mode 100644 index e85d2dc..0000000 Binary files a/themes/skins4.0/material/imgs/dhxeditor_material/clear.png and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxeditor_material/h1.png b/themes/skins4.0/material/imgs/dhxeditor_material/h1.png deleted file mode 100644 index f952aed..0000000 Binary files a/themes/skins4.0/material/imgs/dhxeditor_material/h1.png and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxeditor_material/h2.png b/themes/skins4.0/material/imgs/dhxeditor_material/h2.png deleted file mode 100644 index 2f62643..0000000 Binary files a/themes/skins4.0/material/imgs/dhxeditor_material/h2.png and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxeditor_material/h3.png b/themes/skins4.0/material/imgs/dhxeditor_material/h3.png deleted file mode 100644 index cf9bcea..0000000 Binary files a/themes/skins4.0/material/imgs/dhxeditor_material/h3.png and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxeditor_material/h4.png b/themes/skins4.0/material/imgs/dhxeditor_material/h4.png deleted file mode 100644 index b9e69ff..0000000 Binary files a/themes/skins4.0/material/imgs/dhxeditor_material/h4.png and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxeditor_material/indent_dec.png b/themes/skins4.0/material/imgs/dhxeditor_material/indent_dec.png deleted file mode 100644 index 060b906..0000000 Binary files a/themes/skins4.0/material/imgs/dhxeditor_material/indent_dec.png and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxeditor_material/indent_inc.png b/themes/skins4.0/material/imgs/dhxeditor_material/indent_inc.png deleted file mode 100644 index b4cfb7d..0000000 Binary files a/themes/skins4.0/material/imgs/dhxeditor_material/indent_inc.png and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxeditor_material/italic.png b/themes/skins4.0/material/imgs/dhxeditor_material/italic.png deleted file mode 100644 index 9e2580a..0000000 Binary files a/themes/skins4.0/material/imgs/dhxeditor_material/italic.png and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxeditor_material/list_bullet.png b/themes/skins4.0/material/imgs/dhxeditor_material/list_bullet.png deleted file mode 100644 index b313d0b..0000000 Binary files a/themes/skins4.0/material/imgs/dhxeditor_material/list_bullet.png and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxeditor_material/list_number.png b/themes/skins4.0/material/imgs/dhxeditor_material/list_number.png deleted file mode 100644 index 74a9120..0000000 Binary files a/themes/skins4.0/material/imgs/dhxeditor_material/list_number.png and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxeditor_material/script_sub.png b/themes/skins4.0/material/imgs/dhxeditor_material/script_sub.png deleted file mode 100644 index 04abd09..0000000 Binary files a/themes/skins4.0/material/imgs/dhxeditor_material/script_sub.png and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxeditor_material/script_super.png b/themes/skins4.0/material/imgs/dhxeditor_material/script_super.png deleted file mode 100644 index 951ae0b..0000000 Binary files a/themes/skins4.0/material/imgs/dhxeditor_material/script_super.png and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxeditor_material/strike.png b/themes/skins4.0/material/imgs/dhxeditor_material/strike.png deleted file mode 100644 index 5c3c9eb..0000000 Binary files a/themes/skins4.0/material/imgs/dhxeditor_material/strike.png and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxeditor_material/underline.png b/themes/skins4.0/material/imgs/dhxeditor_material/underline.png deleted file mode 100644 index 45572d2..0000000 Binary files a/themes/skins4.0/material/imgs/dhxeditor_material/underline.png and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxform_material/dhxform_arrow_down.gif b/themes/skins4.0/material/imgs/dhxform_material/dhxform_arrow_down.gif deleted file mode 100644 index c64d8c0..0000000 Binary files a/themes/skins4.0/material/imgs/dhxform_material/dhxform_arrow_down.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxform_material/dhxform_arrow_down_dis.gif b/themes/skins4.0/material/imgs/dhxform_material/dhxform_arrow_down_dis.gif deleted file mode 100644 index 2bc7b78..0000000 Binary files a/themes/skins4.0/material/imgs/dhxform_material/dhxform_arrow_down_dis.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxform_material/dhxform_chbxrd.png b/themes/skins4.0/material/imgs/dhxform_material/dhxform_chbxrd.png deleted file mode 100644 index 7f29274..0000000 Binary files a/themes/skins4.0/material/imgs/dhxform_material/dhxform_chbxrd.png and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxform_material/dhxform_check_off.svg b/themes/skins4.0/material/imgs/dhxform_material/dhxform_check_off.svg deleted file mode 100644 index 5222697..0000000 --- a/themes/skins4.0/material/imgs/dhxform_material/dhxform_check_off.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/themes/skins4.0/material/imgs/dhxform_material/dhxform_check_on.svg b/themes/skins4.0/material/imgs/dhxform_material/dhxform_check_on.svg deleted file mode 100644 index 4d890b0..0000000 --- a/themes/skins4.0/material/imgs/dhxform_material/dhxform_check_on.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/themes/skins4.0/material/imgs/dhxform_material/dhxform_image_calendar.png b/themes/skins4.0/material/imgs/dhxform_material/dhxform_image_calendar.png deleted file mode 100644 index 86e4ab7..0000000 Binary files a/themes/skins4.0/material/imgs/dhxform_material/dhxform_image_calendar.png and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxform_material/dhxform_image_calendar_dis.png b/themes/skins4.0/material/imgs/dhxform_material/dhxform_image_calendar_dis.png deleted file mode 100644 index 9e2a2ac..0000000 Binary files a/themes/skins4.0/material/imgs/dhxform_material/dhxform_image_calendar_dis.png and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxform_material/dhxform_image_uploading.gif b/themes/skins4.0/material/imgs/dhxform_material/dhxform_image_uploading.gif deleted file mode 100644 index 7c30859..0000000 Binary files a/themes/skins4.0/material/imgs/dhxform_material/dhxform_image_uploading.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxform_material/dhxform_radio_off.svg b/themes/skins4.0/material/imgs/dhxform_material/dhxform_radio_off.svg deleted file mode 100644 index be6199e..0000000 --- a/themes/skins4.0/material/imgs/dhxform_material/dhxform_radio_off.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/themes/skins4.0/material/imgs/dhxform_material/dhxform_radio_on.svg b/themes/skins4.0/material/imgs/dhxform_material/dhxform_radio_on.svg deleted file mode 100644 index 76c4912..0000000 --- a/themes/skins4.0/material/imgs/dhxform_material/dhxform_radio_on.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/themes/skins4.0/material/imgs/dhxform_material/dhxform_upload_buttons.png b/themes/skins4.0/material/imgs/dhxform_material/dhxform_upload_buttons.png deleted file mode 100644 index 9eea772..0000000 Binary files a/themes/skins4.0/material/imgs/dhxform_material/dhxform_upload_buttons.png and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxform_material/dhxform_upload_uploading.gif b/themes/skins4.0/material/imgs/dhxform_material/dhxform_upload_uploading.gif deleted file mode 100644 index ca190eb..0000000 Binary files a/themes/skins4.0/material/imgs/dhxform_material/dhxform_upload_uploading.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxgrid_material/ar_left.gif b/themes/skins4.0/material/imgs/dhxgrid_material/ar_left.gif deleted file mode 100644 index f759a30..0000000 Binary files a/themes/skins4.0/material/imgs/dhxgrid_material/ar_left.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxgrid_material/ar_left_abs.gif b/themes/skins4.0/material/imgs/dhxgrid_material/ar_left_abs.gif deleted file mode 100644 index 88c8436..0000000 Binary files a/themes/skins4.0/material/imgs/dhxgrid_material/ar_left_abs.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxgrid_material/ar_left_abs_dis.gif b/themes/skins4.0/material/imgs/dhxgrid_material/ar_left_abs_dis.gif deleted file mode 100644 index 50a2516..0000000 Binary files a/themes/skins4.0/material/imgs/dhxgrid_material/ar_left_abs_dis.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxgrid_material/ar_left_dis.gif b/themes/skins4.0/material/imgs/dhxgrid_material/ar_left_dis.gif deleted file mode 100644 index b8f397f..0000000 Binary files a/themes/skins4.0/material/imgs/dhxgrid_material/ar_left_dis.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxgrid_material/ar_right.gif b/themes/skins4.0/material/imgs/dhxgrid_material/ar_right.gif deleted file mode 100644 index 84f348d..0000000 Binary files a/themes/skins4.0/material/imgs/dhxgrid_material/ar_right.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxgrid_material/ar_right_abs.gif b/themes/skins4.0/material/imgs/dhxgrid_material/ar_right_abs.gif deleted file mode 100644 index 4a0e6bc..0000000 Binary files a/themes/skins4.0/material/imgs/dhxgrid_material/ar_right_abs.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxgrid_material/ar_right_abs_dis.gif b/themes/skins4.0/material/imgs/dhxgrid_material/ar_right_abs_dis.gif deleted file mode 100644 index feb03cb..0000000 Binary files a/themes/skins4.0/material/imgs/dhxgrid_material/ar_right_abs_dis.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxgrid_material/ar_right_dis.gif b/themes/skins4.0/material/imgs/dhxgrid_material/ar_right_dis.gif deleted file mode 100644 index 1b53886..0000000 Binary files a/themes/skins4.0/material/imgs/dhxgrid_material/ar_right_dis.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxgrid_material/blank.gif b/themes/skins4.0/material/imgs/dhxgrid_material/blank.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/skins4.0/material/imgs/dhxgrid_material/blank.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxgrid_material/combo_select.gif b/themes/skins4.0/material/imgs/dhxgrid_material/combo_select.gif deleted file mode 100644 index 57e5ece..0000000 Binary files a/themes/skins4.0/material/imgs/dhxgrid_material/combo_select.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxgrid_material/dyn_.gif b/themes/skins4.0/material/imgs/dhxgrid_material/dyn_.gif deleted file mode 100644 index 361094a..0000000 Binary files a/themes/skins4.0/material/imgs/dhxgrid_material/dyn_.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxgrid_material/dyn_down.gif b/themes/skins4.0/material/imgs/dhxgrid_material/dyn_down.gif deleted file mode 100644 index e8acb70..0000000 Binary files a/themes/skins4.0/material/imgs/dhxgrid_material/dyn_down.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxgrid_material/dyn_up.gif b/themes/skins4.0/material/imgs/dhxgrid_material/dyn_up.gif deleted file mode 100644 index bee4e0d..0000000 Binary files a/themes/skins4.0/material/imgs/dhxgrid_material/dyn_up.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxgrid_material/imageloaderror.gif b/themes/skins4.0/material/imgs/dhxgrid_material/imageloaderror.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/skins4.0/material/imgs/dhxgrid_material/imageloaderror.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxgrid_material/item_chk0.gif b/themes/skins4.0/material/imgs/dhxgrid_material/item_chk0.gif deleted file mode 100644 index 7c22611..0000000 Binary files a/themes/skins4.0/material/imgs/dhxgrid_material/item_chk0.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxgrid_material/item_chk0_dis.gif b/themes/skins4.0/material/imgs/dhxgrid_material/item_chk0_dis.gif deleted file mode 100644 index 66257cb..0000000 Binary files a/themes/skins4.0/material/imgs/dhxgrid_material/item_chk0_dis.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxgrid_material/item_chk1.gif b/themes/skins4.0/material/imgs/dhxgrid_material/item_chk1.gif deleted file mode 100644 index 91f4e06..0000000 Binary files a/themes/skins4.0/material/imgs/dhxgrid_material/item_chk1.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxgrid_material/item_chk1_dis.gif b/themes/skins4.0/material/imgs/dhxgrid_material/item_chk1_dis.gif deleted file mode 100644 index 82672fc..0000000 Binary files a/themes/skins4.0/material/imgs/dhxgrid_material/item_chk1_dis.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxgrid_material/minus.gif b/themes/skins4.0/material/imgs/dhxgrid_material/minus.gif deleted file mode 100644 index 1752666..0000000 Binary files a/themes/skins4.0/material/imgs/dhxgrid_material/minus.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxgrid_material/paging_page.gif b/themes/skins4.0/material/imgs/dhxgrid_material/paging_page.gif deleted file mode 100644 index a8b2bac..0000000 Binary files a/themes/skins4.0/material/imgs/dhxgrid_material/paging_page.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxgrid_material/paging_pages.gif b/themes/skins4.0/material/imgs/dhxgrid_material/paging_pages.gif deleted file mode 100644 index e4b3d3a..0000000 Binary files a/themes/skins4.0/material/imgs/dhxgrid_material/paging_pages.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxgrid_material/paging_rows.gif b/themes/skins4.0/material/imgs/dhxgrid_material/paging_rows.gif deleted file mode 100644 index 09db362..0000000 Binary files a/themes/skins4.0/material/imgs/dhxgrid_material/paging_rows.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxgrid_material/plus.gif b/themes/skins4.0/material/imgs/dhxgrid_material/plus.gif deleted file mode 100644 index 2fd379c..0000000 Binary files a/themes/skins4.0/material/imgs/dhxgrid_material/plus.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxgrid_material/radio_chk0.gif b/themes/skins4.0/material/imgs/dhxgrid_material/radio_chk0.gif deleted file mode 100644 index 6087139..0000000 Binary files a/themes/skins4.0/material/imgs/dhxgrid_material/radio_chk0.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxgrid_material/radio_chk0_dis.gif b/themes/skins4.0/material/imgs/dhxgrid_material/radio_chk0_dis.gif deleted file mode 100644 index 3fb9da2..0000000 Binary files a/themes/skins4.0/material/imgs/dhxgrid_material/radio_chk0_dis.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxgrid_material/radio_chk1.gif b/themes/skins4.0/material/imgs/dhxgrid_material/radio_chk1.gif deleted file mode 100644 index 2d60066..0000000 Binary files a/themes/skins4.0/material/imgs/dhxgrid_material/radio_chk1.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxgrid_material/radio_chk1_dis.gif b/themes/skins4.0/material/imgs/dhxgrid_material/radio_chk1_dis.gif deleted file mode 100644 index 44112b5..0000000 Binary files a/themes/skins4.0/material/imgs/dhxgrid_material/radio_chk1_dis.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxgrid_material/separator.png b/themes/skins4.0/material/imgs/dhxgrid_material/separator.png deleted file mode 100644 index 55018fc..0000000 Binary files a/themes/skins4.0/material/imgs/dhxgrid_material/separator.png and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxgrid_material/sort_asc.gif b/themes/skins4.0/material/imgs/dhxgrid_material/sort_asc.gif deleted file mode 100644 index 64f6cbe..0000000 Binary files a/themes/skins4.0/material/imgs/dhxgrid_material/sort_asc.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxgrid_material/sort_desc.gif b/themes/skins4.0/material/imgs/dhxgrid_material/sort_desc.gif deleted file mode 100644 index 2327ba1..0000000 Binary files a/themes/skins4.0/material/imgs/dhxgrid_material/sort_desc.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxgrid_material/tree/blank.gif b/themes/skins4.0/material/imgs/dhxgrid_material/tree/blank.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/skins4.0/material/imgs/dhxgrid_material/tree/blank.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxgrid_material/tree/folder.gif b/themes/skins4.0/material/imgs/dhxgrid_material/tree/folder.gif deleted file mode 100644 index 4b7e76d..0000000 Binary files a/themes/skins4.0/material/imgs/dhxgrid_material/tree/folder.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxgrid_material/tree/leaf.gif b/themes/skins4.0/material/imgs/dhxgrid_material/tree/leaf.gif deleted file mode 100644 index deca307..0000000 Binary files a/themes/skins4.0/material/imgs/dhxgrid_material/tree/leaf.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxgrid_material/tree/line.gif b/themes/skins4.0/material/imgs/dhxgrid_material/tree/line.gif deleted file mode 100644 index b4f560c..0000000 Binary files a/themes/skins4.0/material/imgs/dhxgrid_material/tree/line.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxgrid_material/tree/line1.gif b/themes/skins4.0/material/imgs/dhxgrid_material/tree/line1.gif deleted file mode 100644 index b4f560c..0000000 Binary files a/themes/skins4.0/material/imgs/dhxgrid_material/tree/line1.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxgrid_material/tree/line2.gif b/themes/skins4.0/material/imgs/dhxgrid_material/tree/line2.gif deleted file mode 100644 index 23b2ce3..0000000 Binary files a/themes/skins4.0/material/imgs/dhxgrid_material/tree/line2.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxgrid_material/tree/line3.gif b/themes/skins4.0/material/imgs/dhxgrid_material/tree/line3.gif deleted file mode 100644 index 43152c5..0000000 Binary files a/themes/skins4.0/material/imgs/dhxgrid_material/tree/line3.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxgrid_material/tree/line4.gif b/themes/skins4.0/material/imgs/dhxgrid_material/tree/line4.gif deleted file mode 100644 index 907fe7a..0000000 Binary files a/themes/skins4.0/material/imgs/dhxgrid_material/tree/line4.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxgrid_material/tree/minus.gif b/themes/skins4.0/material/imgs/dhxgrid_material/tree/minus.gif deleted file mode 100644 index 1752666..0000000 Binary files a/themes/skins4.0/material/imgs/dhxgrid_material/tree/minus.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxgrid_material/tree/minus1.gif b/themes/skins4.0/material/imgs/dhxgrid_material/tree/minus1.gif deleted file mode 100644 index 1752666..0000000 Binary files a/themes/skins4.0/material/imgs/dhxgrid_material/tree/minus1.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxgrid_material/tree/minus2.gif b/themes/skins4.0/material/imgs/dhxgrid_material/tree/minus2.gif deleted file mode 100644 index 1752666..0000000 Binary files a/themes/skins4.0/material/imgs/dhxgrid_material/tree/minus2.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxgrid_material/tree/minus3.gif b/themes/skins4.0/material/imgs/dhxgrid_material/tree/minus3.gif deleted file mode 100644 index 1752666..0000000 Binary files a/themes/skins4.0/material/imgs/dhxgrid_material/tree/minus3.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxgrid_material/tree/minus4.gif b/themes/skins4.0/material/imgs/dhxgrid_material/tree/minus4.gif deleted file mode 100644 index 1752666..0000000 Binary files a/themes/skins4.0/material/imgs/dhxgrid_material/tree/minus4.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxgrid_material/tree/minus5.gif b/themes/skins4.0/material/imgs/dhxgrid_material/tree/minus5.gif deleted file mode 100644 index 1752666..0000000 Binary files a/themes/skins4.0/material/imgs/dhxgrid_material/tree/minus5.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxgrid_material/tree/plus.gif b/themes/skins4.0/material/imgs/dhxgrid_material/tree/plus.gif deleted file mode 100644 index 2fd379c..0000000 Binary files a/themes/skins4.0/material/imgs/dhxgrid_material/tree/plus.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxgrid_material/tree/plus1.gif b/themes/skins4.0/material/imgs/dhxgrid_material/tree/plus1.gif deleted file mode 100644 index 2fd379c..0000000 Binary files a/themes/skins4.0/material/imgs/dhxgrid_material/tree/plus1.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxgrid_material/tree/plus2.gif b/themes/skins4.0/material/imgs/dhxgrid_material/tree/plus2.gif deleted file mode 100644 index 2fd379c..0000000 Binary files a/themes/skins4.0/material/imgs/dhxgrid_material/tree/plus2.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxgrid_material/tree/plus3.gif b/themes/skins4.0/material/imgs/dhxgrid_material/tree/plus3.gif deleted file mode 100644 index 2fd379c..0000000 Binary files a/themes/skins4.0/material/imgs/dhxgrid_material/tree/plus3.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxgrid_material/tree/plus4.gif b/themes/skins4.0/material/imgs/dhxgrid_material/tree/plus4.gif deleted file mode 100644 index 2fd379c..0000000 Binary files a/themes/skins4.0/material/imgs/dhxgrid_material/tree/plus4.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxgrid_material/tree/plus5.gif b/themes/skins4.0/material/imgs/dhxgrid_material/tree/plus5.gif deleted file mode 100644 index 2fd379c..0000000 Binary files a/themes/skins4.0/material/imgs/dhxgrid_material/tree/plus5.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxlayout_material/dhxlayout_cell_btns.png b/themes/skins4.0/material/imgs/dhxlayout_material/dhxlayout_cell_btns.png deleted file mode 100644 index f459876..0000000 Binary files a/themes/skins4.0/material/imgs/dhxlayout_material/dhxlayout_cell_btns.png and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxlayout_material/dhxlayout_cell_progress.gif b/themes/skins4.0/material/imgs/dhxlayout_material/dhxlayout_cell_progress.gif deleted file mode 100644 index ff9a5e6..0000000 Binary files a/themes/skins4.0/material/imgs/dhxlayout_material/dhxlayout_cell_progress.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxlayout_material/dhxlayout_sep_hor.gif b/themes/skins4.0/material/imgs/dhxlayout_material/dhxlayout_sep_hor.gif deleted file mode 100644 index bdf43b0..0000000 Binary files a/themes/skins4.0/material/imgs/dhxlayout_material/dhxlayout_sep_hor.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxlayout_material/dhxlayout_sep_ver.gif b/themes/skins4.0/material/imgs/dhxlayout_material/dhxlayout_sep_ver.gif deleted file mode 100644 index 666fee4..0000000 Binary files a/themes/skins4.0/material/imgs/dhxlayout_material/dhxlayout_sep_ver.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxmenu_material/dhxmenu_arrow_down.png b/themes/skins4.0/material/imgs/dhxmenu_material/dhxmenu_arrow_down.png deleted file mode 100644 index 89a354b..0000000 Binary files a/themes/skins4.0/material/imgs/dhxmenu_material/dhxmenu_arrow_down.png and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxmenu_material/dhxmenu_arrow_down_dis.png b/themes/skins4.0/material/imgs/dhxmenu_material/dhxmenu_arrow_down_dis.png deleted file mode 100644 index 1430cc5..0000000 Binary files a/themes/skins4.0/material/imgs/dhxmenu_material/dhxmenu_arrow_down_dis.png and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxmenu_material/dhxmenu_arrow_up.png b/themes/skins4.0/material/imgs/dhxmenu_material/dhxmenu_arrow_up.png deleted file mode 100644 index 8ad4531..0000000 Binary files a/themes/skins4.0/material/imgs/dhxmenu_material/dhxmenu_arrow_up.png and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxmenu_material/dhxmenu_arrow_up_dis.png b/themes/skins4.0/material/imgs/dhxmenu_material/dhxmenu_arrow_up_dis.png deleted file mode 100644 index efc49bd..0000000 Binary files a/themes/skins4.0/material/imgs/dhxmenu_material/dhxmenu_arrow_up_dis.png and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxmenu_material/dhxmenu_chrd.png b/themes/skins4.0/material/imgs/dhxmenu_material/dhxmenu_chrd.png deleted file mode 100644 index 0979352..0000000 Binary files a/themes/skins4.0/material/imgs/dhxmenu_material/dhxmenu_chrd.png and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxmenu_material/dhxmenu_loader.gif b/themes/skins4.0/material/imgs/dhxmenu_material/dhxmenu_loader.gif deleted file mode 100644 index ca190eb..0000000 Binary files a/themes/skins4.0/material/imgs/dhxmenu_material/dhxmenu_loader.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxmenu_material/dhxmenu_subar.png b/themes/skins4.0/material/imgs/dhxmenu_material/dhxmenu_subar.png deleted file mode 100644 index 6367440..0000000 Binary files a/themes/skins4.0/material/imgs/dhxmenu_material/dhxmenu_subar.png and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxpopup_material/dhxpopup_arrow_bottom.gif b/themes/skins4.0/material/imgs/dhxpopup_material/dhxpopup_arrow_bottom.gif deleted file mode 100644 index 2e0b62b..0000000 Binary files a/themes/skins4.0/material/imgs/dhxpopup_material/dhxpopup_arrow_bottom.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxpopup_material/dhxpopup_arrow_left.gif b/themes/skins4.0/material/imgs/dhxpopup_material/dhxpopup_arrow_left.gif deleted file mode 100644 index d4e7626..0000000 Binary files a/themes/skins4.0/material/imgs/dhxpopup_material/dhxpopup_arrow_left.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxpopup_material/dhxpopup_arrow_right.gif b/themes/skins4.0/material/imgs/dhxpopup_material/dhxpopup_arrow_right.gif deleted file mode 100644 index d5db8d7..0000000 Binary files a/themes/skins4.0/material/imgs/dhxpopup_material/dhxpopup_arrow_right.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxpopup_material/dhxpopup_arrow_top.gif b/themes/skins4.0/material/imgs/dhxpopup_material/dhxpopup_arrow_top.gif deleted file mode 100644 index 091051e..0000000 Binary files a/themes/skins4.0/material/imgs/dhxpopup_material/dhxpopup_arrow_top.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxribbon_material/dhxribbon_arrow.gif b/themes/skins4.0/material/imgs/dhxribbon_material/dhxribbon_arrow.gif deleted file mode 100644 index f64e20b..0000000 Binary files a/themes/skins4.0/material/imgs/dhxribbon_material/dhxribbon_arrow.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxribbon_material/dhxribbon_checked.gif b/themes/skins4.0/material/imgs/dhxribbon_material/dhxribbon_checked.gif deleted file mode 100644 index 1880e6f..0000000 Binary files a/themes/skins4.0/material/imgs/dhxribbon_material/dhxribbon_checked.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxribbon_material/dhxribbon_checked_dis.gif b/themes/skins4.0/material/imgs/dhxribbon_material/dhxribbon_checked_dis.gif deleted file mode 100644 index dd3cb91..0000000 Binary files a/themes/skins4.0/material/imgs/dhxribbon_material/dhxribbon_checked_dis.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxsidebar_material/dhxsidebar_arrow_down.gif b/themes/skins4.0/material/imgs/dhxsidebar_material/dhxsidebar_arrow_down.gif deleted file mode 100644 index e04b449..0000000 Binary files a/themes/skins4.0/material/imgs/dhxsidebar_material/dhxsidebar_arrow_down.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxsidebar_material/dhxsidebar_arrow_up.gif b/themes/skins4.0/material/imgs/dhxsidebar_material/dhxsidebar_arrow_up.gif deleted file mode 100644 index c230d03..0000000 Binary files a/themes/skins4.0/material/imgs/dhxsidebar_material/dhxsidebar_arrow_up.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxsidebar_material/dhxsidebar_cell_progress.gif b/themes/skins4.0/material/imgs/dhxsidebar_material/dhxsidebar_cell_progress.gif deleted file mode 100644 index ff9a5e6..0000000 Binary files a/themes/skins4.0/material/imgs/dhxsidebar_material/dhxsidebar_cell_progress.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxsidebar_material/dhxsidebar_side_icon.gif b/themes/skins4.0/material/imgs/dhxsidebar_material/dhxsidebar_side_icon.gif deleted file mode 100644 index 30dfbba..0000000 Binary files a/themes/skins4.0/material/imgs/dhxsidebar_material/dhxsidebar_side_icon.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxtabbar_material/dhxtabbar_arrows.png b/themes/skins4.0/material/imgs/dhxtabbar_material/dhxtabbar_arrows.png deleted file mode 100644 index db999c4..0000000 Binary files a/themes/skins4.0/material/imgs/dhxtabbar_material/dhxtabbar_arrows.png and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxtabbar_material/dhxtabbar_button_close.png b/themes/skins4.0/material/imgs/dhxtabbar_material/dhxtabbar_button_close.png deleted file mode 100644 index a284d0e..0000000 Binary files a/themes/skins4.0/material/imgs/dhxtabbar_material/dhxtabbar_button_close.png and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxtabbar_material/dhxtabbar_cell_progress.gif b/themes/skins4.0/material/imgs/dhxtabbar_material/dhxtabbar_cell_progress.gif deleted file mode 100644 index ff9a5e6..0000000 Binary files a/themes/skins4.0/material/imgs/dhxtabbar_material/dhxtabbar_cell_progress.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxtoolbar_material/dhxtoolbar_arrow.gif b/themes/skins4.0/material/imgs/dhxtoolbar_material/dhxtoolbar_arrow.gif deleted file mode 100644 index 8e805d8..0000000 Binary files a/themes/skins4.0/material/imgs/dhxtoolbar_material/dhxtoolbar_arrow.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxtoolbar_material/dhxtoolbar_arrow_dis.gif b/themes/skins4.0/material/imgs/dhxtoolbar_material/dhxtoolbar_arrow_dis.gif deleted file mode 100644 index 3eddbbd..0000000 Binary files a/themes/skins4.0/material/imgs/dhxtoolbar_material/dhxtoolbar_arrow_dis.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxtree_material/blank.gif b/themes/skins4.0/material/imgs/dhxtree_material/blank.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/skins4.0/material/imgs/dhxtree_material/blank.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxtree_material/but_cut.gif b/themes/skins4.0/material/imgs/dhxtree_material/but_cut.gif deleted file mode 100644 index 942bd18..0000000 Binary files a/themes/skins4.0/material/imgs/dhxtree_material/but_cut.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxtree_material/folderClosed.gif b/themes/skins4.0/material/imgs/dhxtree_material/folderClosed.gif deleted file mode 100644 index 4b7e76d..0000000 Binary files a/themes/skins4.0/material/imgs/dhxtree_material/folderClosed.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxtree_material/folderOpen.gif b/themes/skins4.0/material/imgs/dhxtree_material/folderOpen.gif deleted file mode 100644 index 29ce5e8..0000000 Binary files a/themes/skins4.0/material/imgs/dhxtree_material/folderOpen.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxtree_material/iconCheckAll.gif b/themes/skins4.0/material/imgs/dhxtree_material/iconCheckAll.gif deleted file mode 100644 index 91f4e06..0000000 Binary files a/themes/skins4.0/material/imgs/dhxtree_material/iconCheckAll.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxtree_material/iconCheckDis.gif b/themes/skins4.0/material/imgs/dhxtree_material/iconCheckDis.gif deleted file mode 100644 index 82672fc..0000000 Binary files a/themes/skins4.0/material/imgs/dhxtree_material/iconCheckDis.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxtree_material/iconCheckGray.gif b/themes/skins4.0/material/imgs/dhxtree_material/iconCheckGray.gif deleted file mode 100644 index 93ab5e8..0000000 Binary files a/themes/skins4.0/material/imgs/dhxtree_material/iconCheckGray.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxtree_material/iconUncheckAll.gif b/themes/skins4.0/material/imgs/dhxtree_material/iconUncheckAll.gif deleted file mode 100644 index 7c22611..0000000 Binary files a/themes/skins4.0/material/imgs/dhxtree_material/iconUncheckAll.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxtree_material/iconUncheckDis.gif b/themes/skins4.0/material/imgs/dhxtree_material/iconUncheckDis.gif deleted file mode 100644 index 71e8644..0000000 Binary files a/themes/skins4.0/material/imgs/dhxtree_material/iconUncheckDis.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxtree_material/leaf.gif b/themes/skins4.0/material/imgs/dhxtree_material/leaf.gif deleted file mode 100644 index deca307..0000000 Binary files a/themes/skins4.0/material/imgs/dhxtree_material/leaf.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxtree_material/lock.gif b/themes/skins4.0/material/imgs/dhxtree_material/lock.gif deleted file mode 100644 index 49b855a..0000000 Binary files a/themes/skins4.0/material/imgs/dhxtree_material/lock.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxtree_material/minus.gif b/themes/skins4.0/material/imgs/dhxtree_material/minus.gif deleted file mode 100644 index 1752666..0000000 Binary files a/themes/skins4.0/material/imgs/dhxtree_material/minus.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxtree_material/plus.gif b/themes/skins4.0/material/imgs/dhxtree_material/plus.gif deleted file mode 100644 index 2fd379c..0000000 Binary files a/themes/skins4.0/material/imgs/dhxtree_material/plus.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxtree_material/radio_off.gif b/themes/skins4.0/material/imgs/dhxtree_material/radio_off.gif deleted file mode 100644 index 6087139..0000000 Binary files a/themes/skins4.0/material/imgs/dhxtree_material/radio_off.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxtree_material/radio_on.gif b/themes/skins4.0/material/imgs/dhxtree_material/radio_on.gif deleted file mode 100644 index 2d60066..0000000 Binary files a/themes/skins4.0/material/imgs/dhxtree_material/radio_on.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxtreeview_material/icon_chbx_0.gif b/themes/skins4.0/material/imgs/dhxtreeview_material/icon_chbx_0.gif deleted file mode 100644 index f91ca21..0000000 Binary files a/themes/skins4.0/material/imgs/dhxtreeview_material/icon_chbx_0.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxtreeview_material/icon_chbx_1.gif b/themes/skins4.0/material/imgs/dhxtreeview_material/icon_chbx_1.gif deleted file mode 100644 index 8868f58..0000000 Binary files a/themes/skins4.0/material/imgs/dhxtreeview_material/icon_chbx_1.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxtreeview_material/icon_chbx_dis_0.gif b/themes/skins4.0/material/imgs/dhxtreeview_material/icon_chbx_dis_0.gif deleted file mode 100644 index 00e8e5a..0000000 Binary files a/themes/skins4.0/material/imgs/dhxtreeview_material/icon_chbx_dis_0.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxtreeview_material/icon_chbx_dis_1.gif b/themes/skins4.0/material/imgs/dhxtreeview_material/icon_chbx_dis_1.gif deleted file mode 100644 index 82672fc..0000000 Binary files a/themes/skins4.0/material/imgs/dhxtreeview_material/icon_chbx_dis_1.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxtreeview_material/icon_file.gif b/themes/skins4.0/material/imgs/dhxtreeview_material/icon_file.gif deleted file mode 100644 index deca307..0000000 Binary files a/themes/skins4.0/material/imgs/dhxtreeview_material/icon_file.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxtreeview_material/icon_folder_closed.gif b/themes/skins4.0/material/imgs/dhxtreeview_material/icon_folder_closed.gif deleted file mode 100644 index 4b7e76d..0000000 Binary files a/themes/skins4.0/material/imgs/dhxtreeview_material/icon_folder_closed.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxtreeview_material/icon_folder_opened.gif b/themes/skins4.0/material/imgs/dhxtreeview_material/icon_folder_opened.gif deleted file mode 100644 index 29ce5e8..0000000 Binary files a/themes/skins4.0/material/imgs/dhxtreeview_material/icon_folder_opened.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxtreeview_material/icon_minus.gif b/themes/skins4.0/material/imgs/dhxtreeview_material/icon_minus.gif deleted file mode 100644 index 77d3b97..0000000 Binary files a/themes/skins4.0/material/imgs/dhxtreeview_material/icon_minus.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxtreeview_material/icon_plus.gif b/themes/skins4.0/material/imgs/dhxtreeview_material/icon_plus.gif deleted file mode 100644 index 7e2bf79..0000000 Binary files a/themes/skins4.0/material/imgs/dhxtreeview_material/icon_plus.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxtreeview_material/loading.gif b/themes/skins4.0/material/imgs/dhxtreeview_material/loading.gif deleted file mode 100644 index d91e279..0000000 Binary files a/themes/skins4.0/material/imgs/dhxtreeview_material/loading.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxwins_material/dhxwins_buttons.png b/themes/skins4.0/material/imgs/dhxwins_material/dhxwins_buttons.png deleted file mode 100644 index 171fcd8..0000000 Binary files a/themes/skins4.0/material/imgs/dhxwins_material/dhxwins_buttons.png and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxwins_material/dhxwins_icon.gif b/themes/skins4.0/material/imgs/dhxwins_material/dhxwins_icon.gif deleted file mode 100644 index 3dbe25d..0000000 Binary files a/themes/skins4.0/material/imgs/dhxwins_material/dhxwins_icon.gif and /dev/null differ diff --git a/themes/skins4.0/material/imgs/dhxwins_material/dhxwins_progress.gif b/themes/skins4.0/material/imgs/dhxwins_material/dhxwins_progress.gif deleted file mode 100644 index ff9a5e6..0000000 Binary files a/themes/skins4.0/material/imgs/dhxwins_material/dhxwins_progress.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/dhtmlx.css b/themes/skins4.0/skyblue/dhtmlx.css deleted file mode 100644 index 6880d23..0000000 --- a/themes/skins4.0/skyblue/dhtmlx.css +++ /dev/null @@ -1,5803 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -.dhtmlxcalendar_ifr { - position: absolute; - overflow: hidden; - background-color: white; -} -.dhtmlxcalendar_dhx_skyblue { - position: absolute; - display: block; - background-color: white; - font-family: Tahoma; - font-size: 11px; - color: black; -} -.dhtmlxcalendar_dhx_skyblue ul.dhtmlxcalendar_line { - position: relative; - display: block; - clear: both; - margin: 0; - padding: 0; - overflow: hidden; - width: 211px; -} -.dhtmlxcalendar_dhx_skyblue ul.dhtmlxcalendar_line li { - float: left; - position: relative; - list-style-type: none; - list-style-image: none; - text-align: center; - vertical-align: middle; - cursor: default; - overflow: hidden; - margin: 0; - padding: 0; -} -.dhtmlxcalendar_dhx_skyblue.dhtmlxcalendar_in_input { - box-shadow: 0 0 6px rgba(0, 0, 0, 0.25); -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_month_cont { - position: relative; - display: block; - width: 211px; - height: 25px; - margin: 0; - background-color: #e2efff; - background: linear-gradient(#e2efff, #d3e7ff); - filter: progid: DXImageTransform.Microsoft.Gradient(gradientType=0, startColorStr=#e2efff, endColorStr=#d3e7ff) progid: DXImageTransform.Microsoft.Alpha(opacity=100); - border: 1px solid #a4bed4; - overflow: hidden; - color: black; - -webkit-user-select: text; - -khtml-user-select: text; - -moz-user-select: text; - -o-user-select: text; - user-select: text; - -ms-user-select: text; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr { - width: 211px; - height: 25px; - line-height: 25px; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow { - position: absolute; - top: 0; - width: 18px; - height: 25px; - text-align: center; - color: inherit; - background-position: center center; - background-repeat: no-repeat; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_left { - left: 4px; - background-image: url("imgs/dhxcalendar_skyblue/dhxcalendar_arrow_left.gif"); - opacity: .8; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=80); -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_left_hover { - left: 4px; - background-image: url("imgs/dhxcalendar_skyblue/dhxcalendar_arrow_left.gif"); - opacity: 1; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=100); -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_right { - right: 4px; - background-image: url("imgs/dhxcalendar_skyblue/dhxcalendar_arrow_right.gif"); - opacity: .8; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=80); -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_right_hover { - right: 4px; - background-image: url("imgs/dhxcalendar_skyblue/dhxcalendar_arrow_right.gif"); - opacity: 1; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=100); -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr span.dhtmlxcalendar_month_label_month, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr span.dhtmlxcalendar_month_label_year { - position: relative; - font-weight: bold; - color: #34404b; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_days_cont { - position: relative; - display: block; - width: 211px; - margin: 0; - padding-bottom: 1px; - border-left: 1px solid #a4bed4; - border-right: 1px solid #a4bed4; - border-bottom: 1px solid #cbd9e4; - -webkit-user-select: text; - -khtml-user-select: text; - -moz-user-select: text; - -o-user-select: text; - user-select: text; - -ms-user-select: text; - overflow: hidden; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line { - border-top: 1px solid white; - padding-left: 1px; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li { - width: 29px; - height: 19px; - line-height: 19px; - margin-right: 1px; - font-size: 9px; - background-color: #ecf4ff; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_day_weekday_cell, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_day_weekday_cell_first { - color: #c66200; - background-color: #ffe6ae; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont { - position: relative; - display: block; - width: 211px; - margin: 0; - padding-bottom: 1px; - border-left: 1px solid #a4bed4; - border-right: 1px solid #a4bed4; - border-bottom: 1px solid #a4bed4; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; - overflow: hidden; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line { - border-top: 1px solid white; - padding-left: 1px; - height: 26px; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li { - color: #909090; - background-color: white; - border: 1px solid white; - width: 27px; - height: 24px; - line-height: 23px; - margin-right: 1px; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li div.dhtmlxcalendar_label { - width: 100%; - height: 100%; - text-align: center; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend { - border-color: #ccc; - background-color: #f7f7f7; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_dis, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_dis, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_dis, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_dis { - color: #b2b2b2; - background-color: #f0f0f0; - border-color: #f0f0f0; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_holiday, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_holiday { - color: red; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_holiday, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_holiday { - color: red; - border-color: #ccc; - background-color: #f7f7f7; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_holiday_dis, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_holiday_dis, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_holiday_dis, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_holiday_dis { - color: red; - background-color: #f0f0f0; - border-color: #f0f0f0; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_hover, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_hover, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_hover, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_hover { - border-color: #ccc; - background-color: #f7f7f7; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_holiday_hover, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_holiday_hover, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_holiday_hover, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_holiday_hover { - color: red; - border-color: #ccc; - background-color: #f7f7f7; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month { - color: black; - background-color: #ecf4ff; - border-color: #ecf4ff; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend { - color: #c66200; - background-color: #fff0d2; - border-color: #fff0d2; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date { - color: black; - background-color: #b5deff; - border-color: #a1ceed; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend { - color: #c66200; - background-color: #ffdc90; - border-color: #ffce65; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_dis, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_dis, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_dis, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_dis { - color: #b2b2b2; - background-color: #f0f0f0; - border-color: #f0f0f0; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_holiday { - color: red; - background-color: #ecf4ff; - border-color: #ecf4ff; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_holiday { - color: red; - background-color: #fff0d2; - border-color: #fff0d2; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_holiday { - color: red; - background-color: #b5deff; - border-color: #a1ceed; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_holiday { - color: red; - background-color: #ffdc90; - border-color: #ffce65; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_holiday_dis, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_holiday_dis, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_holiday_dis, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_holiday_dis { - color: red; - background-color: #f0f0f0; - border-color: #f0f0f0; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_hover { - color: black; - background-color: #d9eeff; - border-color: #a1ceed; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_hover { - color: #c66200; - background-color: #ffe9bb; - border-color: #ffce65; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_hover { - color: black; - background-color: #b5deff; - border-color: #a1ceed; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_hover { - color: #c66200; - background-color: #ffdc90; - border-color: #ffce65; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_holiday_hover { - color: red; - background-color: #d9eeff; - border-color: #a1ceed; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_holiday_hover { - color: red; - background-color: #ffe9bb; - border-color: #ffce65; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_holiday_hover { - color: red; - background-color: #b5deff; - border-color: #a1ceed; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_holiday_hover { - color: red; - background-color: #ffdc90; - border-color: #ffce65; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line div.dhtmlxcalendar_label.dhtmlxcalendar_label_title { - background-image: url("imgs/dhxcalendar_skyblue/dhxcalendar_mark.gif"); - background-position: top right; - background-repeat: no-repeat; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_time_cont { - position: relative; - display: block; - width: 211px; - height: 25px; - margin: 0; - border-left: 1px solid #a4bed4; - border-right: 1px solid #a4bed4; - border-bottom: 1px solid #a4bed4; - background-color: #e2efff; - background: linear-gradient(#e2efff, #d3e7ff); - filter: progid: DXImageTransform.Microsoft.Gradient(gradientType=0, startColorStr=#e2efff, endColorStr=#d3e7ff) progid: DXImageTransform.Microsoft.Alpha(opacity=100); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; - overflow: hidden; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li { - width: 211px; - height: 25px; - line-height: 24px; - color: #34404b; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li div.dhtmlxcalendar_time_img { - position: absolute; - left: 66px; - top: 6px; - width: 13px; - height: 13px; - background-image: url("imgs/dhxcalendar_skyblue/dhxcalendar_clock.gif"); - background-position: center center; - background-repeat: no-repeat; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_cover { - position: absolute; - left: 1px; - background-color: white; - opacity: .5; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=50); -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj { - position: absolute; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_selector_obj_arrow { - position: absolute; - bottom: auto; - top: 0; - left: 0; - width: 100%; - height: 9px; - overflow: hidden; - background-image: url("imgs/dhxcalendar_skyblue/dhxcalendar_selector_top.gif"); - background-position: top center; - background-repeat: no-repeat; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table { - border: 1px solid #a4bed4; - background-color: white; - border-top: none; - margin-top: 9px; - box-shadow: 0 0 3px rgba(0, 0, 0, 0.35); -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left { - width: 17px; - text-align: center; - border-top: 1px solid white; - padding: 0; - margin: 0; - background-color: #ecf4ff; - background-image: url("imgs/dhxcalendar_skyblue/dhxcalendar_arrow_left.gif"); - background-position: center center; - background-repeat: no-repeat; - cursor: default; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left.dhtmlxcalendar_selector_cell_left_hover { - background-image: url("imgs/dhxcalendar_skyblue/dhxcalendar_arrow_left.gif"); -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle { - border-top: white 1px solid; - border-width: 1px 0 0 0; - cursor: default; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right { - width: 17px; - text-align: center; - border-top: 1px solid white; - border-width: 1px 0 0 0; - background-color: #ecf4ff; - background-image: url("imgs/dhxcalendar_skyblue/dhxcalendar_arrow_right.gif"); - background-position: center center; - background-repeat: no-repeat; - cursor: default; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right.dhtmlxcalendar_selector_cell_right_hover { - background-image: url("imgs/dhxcalendar_skyblue/dhxcalendar_arrow_right.gif"); -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul { - display: block; - clear: both; - margin: 0 0 0 1px; - padding: 0; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul li { - float: left; - font-family: Tahoma; - font-size: 10px; - color: black; - list-style-type: none; - list-style-image: none; - text-align: center; - vertical-align: middle; - margin: 0 1px 0 0; - padding: 0; - background-color: #e9f3ff; - border: 1px solid #e9f3ff; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; - cursor: default; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul li.dhtmlxcalendar_selector_cell_active { - background-color: #b5deff; - border-color: #a1ceed; - color: black; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul li.dhtmlxcalendar_selector_cell_hover { - background-color: #d9eeff; - border-color: #a1ceed; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right { - display: none; - width: 0; - border: 0 solid white; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line { - height: 22px; - border-top: none; - border-bottom: 1px solid white; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell { - width: 33px; - height: 20px; - line-height: 19px; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours div.dhtmlxcalendar_selector_obj_arrow, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_selector_obj_arrow { - top: auto; - bottom: 0; - background-image: url("imgs/dhxcalendar_skyblue/dhxcalendar_selector_bottom.gif"); -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line { - height: 19px; - border-top: none; - border-bottom: 1px solid white; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell { - width: 21px; - height: 17px; - line-height: 16px; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right { - display: none; - width: 0; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table { - margin-top: 0; - margin-bottom: 9px; - border-top: 1px solid #a4bed4; - border-bottom: none; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_month, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_year, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_hours, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_minutes, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_minutes4, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_minutes5 { - display: none; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month div.dhtmlxcalendar_area_selector_month, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_year div.dhtmlxcalendar_area_selector_year, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours div.dhtmlxcalendar_area_selector_hours, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_area_selector_minutes, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_area_selector_minutes4, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_area_selector_minutes5 { - display: block; -} -.dhtmlxcalendar_dhx_skyblue span.dhtmlxcalendar_label_minutes span.dhtmlxcalendar_selected_date { - border-bottom: 2px solid red; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn { - display: none; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell { - width: 26px; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_wn div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell { - width: 24px; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_first, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell { - width: 26px; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn { - display: block; - width: 21px; - color: #638eb1; - background-color: #d9eaff; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_wn div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn { - display: block; - width: 19px; - color: #638eb1; - background-color: #d9eaff; - border-color: #d9eaff; - font-size: 10px; -} -div.dhtmlxcalendar_skin_detect { - position: absolute; - display: block; - visibility: hidden; - left: -100px; - top: 0; - width: 10px; - height: 10px; - margin: 0; - padding: 0; - border: none; - overflow: hidden; -} -div.dhxcombo_dhx_skyblue { - position: relative; - border: 1px solid #a4bed4; - overflow: hidden; - vertical-align: middle; - background-color: white; - font-size: 1px; - height: 22px; -} -div.dhxcombo_dhx_skyblue input.dhxcombo_input { - position: relative; - top: 0; - left: 1px; - height: 22px; - line-height: 21px; - *height: 20px; - *line-height: 19px; - border: 0 solid white; - outline: 0 solid white; - padding: 0; - margin: 0 0 0 2px; - background-color: white; - font-family: Tahoma; - font-size: 12px; - color: black; - vertical-align: middle; -} -div.dhxcombo_dhx_skyblue div.dhxcombo_select_button { - position: absolute; - width: 18px; - height: 18px; - top: 1px; - right: 1px; - font-size: 1px; - border: 1px solid #a4bed4; - background-color: #e2efff; - background: linear-gradient(#e2efff, #d3e7ff); - filter: progid: DXImageTransform.Microsoft.Gradient(gradientType=0, startColorStr=#e2efff, endColorStr=#d3e7ff) progid: DXImageTransform.Microsoft.Alpha(opacity=100); - border-radius: 2px; - cursor: pointer; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; - overflow: hidden; -} -div.dhxcombo_dhx_skyblue div.dhxcombo_select_button div.dhxcombo_select_img { - position: relative; - width: 100%; - height: 100%; - background-image: url("imgs/dhxcombo_skyblue/dhxcombo_arrow_down.gif"); - background-repeat: no-repeat; - background-position: center center; -} -div.dhxcombo_dhx_skyblue div.dhxcombo_top_image { - position: absolute; - left: 0; - top: 0; - width: 26px; - height: 22px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; - overflow: hidden; - cursor: default; -} -div.dhxcombolist_dhx_skyblue { - position: absolute; - font-family: Tahoma; - font-size: 12px; - color: black; - border: 1px solid #a4bed4; - box-shadow: 0 2px 3px #ccc; - background-color: #e7f1ff; - border-bottom-left-radius: 2px; - border-bottom-right-radius: 2px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; - overflow-x: none; - overflow-y: auto; - -moz-transition: height .15s ease 0s; -} -div.dhxcombolist_dhx_skyblue div.dhxcombo_option { - position: relative; - font-size: inherit; - height: 20px; - line-height: 19px; - border-top: 1px solid #e7f1ff; - border-bottom: 1px solid #e7f1ff; - vertical-align: middle; - overflow: hidden; - cursor: default; -} -div.dhxcombolist_dhx_skyblue div.dhxcombo_option.dhxcombo_option_selected { - background-color: #b5deff!important; - border-top: 1px solid #a1ceed!important; - border-bottom: 1px solid #a1ceed!important; - color: black; -} -div.dhxcombolist_dhx_skyblue div.dhxcombo_option div.dhxcombo_option_text { - position: relative; - padding: 0 4px; - white-space: nowrap; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; -} -div.dhxcombolist_dhx_skyblue div.dhxcombo_option div.dhxcombo_option_text.dhxcombo_option_text_chbx { - position: relative; - padding: 0 4px 0 4px; - margin-left: 20px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; - white-space: nowrap; -} -div.dhxcombolist_dhx_skyblue div.dhxcombo_option div.dhxcombo_checkbox { - position: absolute; - left: 1px; - top: 1px; - width: 20px; - height: 20px; - background-image: url("imgs/dhxcombo_skyblue/dhxcombo_chbx.gif"); - background-repeat: no-repeat; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; - overflow: hidden; - cursor: default; -} -div.dhxcombolist_dhx_skyblue div.dhxcombo_option div.dhxcombo_checkbox.dhxcombo_chbx_0 { - background-position: 0 0; -} -div.dhxcombolist_dhx_skyblue .dhxcombo_option div.dhxcombo_checkbox.dhxcombo_chbx_1 { - background-position: -18px 0; -} -div.dhxcombolist_dhx_skyblue div.dhxcombo_option div.dhxcombo_option_text.dhxcombo_option_text_image { - position: relative; - padding: 0 4px 0 4px; - margin-left: 20px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; - white-space: nowrap; -} -div.dhxcombo_dhx_skyblue div.dhxcombo_top_image div.dhxcombo_image, -div.dhxcombolist_dhx_skyblue div.dhxcombo_option div.dhxcombo_image { - position: absolute; - left: 3px; - top: 1px; - width: 20px; - height: 20px; - background-repeat: no-repeat; - background-position: center center; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; - overflow: hidden; - cursor: default; -} -div.dhxcombo_dhx_skyblue.dhxcombo_disabled { - border: 1px solid #ccc; - background-color: #fafafa; -} -div.dhxcombo_dhx_skyblue.dhxcombo_disabled input.dhxcombo_input { - color: #b2b2b2; - background-color: #fafafa; -} -div.dhxcombo_dhx_skyblue.dhxcombo_disabled div.dhxcombo_select_button { - border-color: #ccc; - background-color: #fefefe; - background: linear-gradient(#fefefe, #f4f4f4); - filter: progid: DXImageTransform.Microsoft.Gradient(gradientType=0, startColorStr=#fefefe, endColorStr=#f4f4f4) progid: DXImageTransform.Microsoft.Alpha(opacity=100); - cursor: default; -} -div.dhxcombo_dhx_skyblue.dhxcombo_disabled div.dhxcombo_select_button div.dhxcombo_select_img { - background-image: url("imgs/dhxcombo_skyblue/dhxcombo_arrow_down_dis.gif"); -} -.dhxgrid_combo_icon { - position: absolute; - z-index: 1; - top: 0; - right: 0; -} -div.dhxcombo_dhx_skyblue.dhxcombo_in_grid { - border-top: 1px solid white; - border-bottom: 0 solid white; - border-left: 1px solid white; - border-right: 1px solid white; - margin-left: -4px; -} -div.dhxcombo_dhx_skyblue.dhxcombo_in_grid input.dhxcombo_input { - height: 18px; - border-left: 2px solid white; - line-height: 17px; -} -div.dhxcombo_dhx_skyblue.dhxcombo_in_grid div.dhxcombo_select_button { - top: 0; -} -.dhxcombo_skin_detect { - position: absolute; - left: 0; - top: -100px; - margin: 0; - padding: 0; - border: 0 solid white; - width: 10px; - height: 10px; - overflow: hidden; -} -.dhxcolorpicker_skin_detect { - position: absolute; - left: 0; - top: -100px; - margin: 0; - padding: 0; - border: 0 solid white; - width: 10px; - height: 10px; - overflow: hidden; -} -.dhtmlxcp_dhx_skyblue .dhxcp_g_area { - position: absolute; - width: 254px; - height: 272px; - border: 1px solid #a4bed4; - background-color: #e7f1ff; -} -.dhtmlxcp_dhx_skyblue .dhxcp_add_memory { - height: 317px!important; -} -.dhtmlxcp_dhx_skyblue .dhxcp_sub_area { - margin: 1px; - width: 252px; - height: 270px; - background-color: #e7f1ff; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; -} -.dhtmlxcp_dhx_skyblue .dhxcp_add_memory .dhxcp_sub_area { - height: 229px!important; -} -.dhtmlxcp_dhx_skyblue .dhxcp_g_color_area { - padding: 10px; - width: 232px; - height: 122px; - margin: 0; -} -.dhtmlxcp_dhx_skyblue .dhxcp_color_selector { - position: absolute; - width: 210px; - height: 120px; - background-image: url("imgs/dhxcp_skyblue/dhxcp_colors.png"); - background-repeat: no-repeat; - border: 1px solid #a4bed4; - cursor: pointer; - float: left; -} -.dhtmlxcp_dhx_skyblue .dhxcp_contrast_area { - border: 1px solid #a4bed4; - position: relative; - height: 120px; - width: 10px; - cursor: pointer; - float: right; -} -.dhtmlxcp_dhx_skyblue .dhxcp_ie_gradient { - height: 120px; - width: 10px; - margin: 0; -} -.dhtmlxcp_dhx_skyblue .dhxcp_color_selector .dhxcp_v_line { - position: absolute; - width: 0; - height: 120px; - border-left: 1px solid #fff; - cursor: pointer; - overflow: hidden; -} -.dhtmlxcp_dhx_skyblue .dhxcp_color_selector .dhxcp_h_line, -.dhtmlxcp_dhx_skyblue .dhxcp_contrast_area .dhxcp_h_line { - position: absolute; - height: 0; - border-top: 1px solid #fff; - cursor: pointer; - overflow: hidden; -} -.dhtmlxcp_dhx_skyblue .dhxcp_color_selector .dhxcp_h_line { - width: 210px; -} -.dhtmlxcp_dhx_skyblue .dhxcp_contrast_area .dhxcp_h_line { - width: 10px; -} -.dhtmlxcp_dhx_skyblue .dhxcp_g_input_area { - padding: 0 10px; - width: 232px; - height: 78px; - margin: 0; -} -.dhtmlxcp_dhx_skyblue .dhxcp_value_cont { - width: 60px; - height: 82px; - float: left; -} -.dhtmlxcp_dhx_skyblue .dhxcp_value_color { - width: 56px; - height: 30px; - border: 1px solid #a4bed4; -} -.dhtmlxcp_dhx_skyblue .dhxcp_value { - width: 49px; - height: 20px; - border: 1px solid #a4bed4; - border-radius: 0; - background-color: white; - margin: 5px 0 0 0; - padding: 1px 3px; - font-family: Tahoma; - font-size: 11px; - color: black; - text-align: left; -} -.dhtmlxcp_dhx_skyblue .dhxcp_inputs_cont { - border: none; - border-spacing: 0; - width: 161px; - height: 78px; - float: right; -} -.dhtmlxcp_dhx_skyblue .dhxcp_label_hsl, -.dhtmlxcp_dhx_skyblue .dhxcp_label_rgb { - font-family: Tahoma; - font-size: 11px; - color: black; - text-align: right; - padding: 0 3px 0 0; -} -.dhtmlxcp_dhx_skyblue td.dhxcp_input_hsl, -.dhtmlxcp_dhx_skyblue td.dhxcp_input_rgb { - width: 27px; - border: none; - padding: 3px 0; - margin: 0; -} -.dhtmlxcp_dhx_skyblue input.dhxcp_input_hsl, -.dhtmlxcp_dhx_skyblue input.dhxcp_input_rgb { - width: 25px; - height: 19px; - border: 1px solid #a4bed4; - border-radius: 0; - background-color: white; - font-family: Tahoma; - font-size: 11px; - color: black; - text-align: right; - padding: 0 3px; - line-height: 18px; -} -.dhtmlxcp_dhx_skyblue .dhxcp_g_memory_area { - width: 232px; - height: 0; - overflow: hidden; - border-top: 1px solid #fff; - margin: 10px; -} -.dhtmlxcp_dhx_skyblue .dhxcp_memory_button_cont { - width: 232px; - margin: 0; - height: 24px; -} -.dhtmlxcp_dhx_skyblue button { - outline: none; - border-radius: 2px; - border: 1px solid #a4bed4; - font-family: Tahoma; - font-size: 11px; - color: black; - padding: 0; - background-color: #e2efff; - background: linear-gradient(#e2efff, #d3e7ff); - filter: progid: DXImageTransform.Microsoft.Gradient(gradientType=0, startColorStr=#e2efff, endColorStr=#d3e7ff) progid: DXImageTransform.Microsoft.Alpha(opacity=100); -} -.dhtmlxcp_dhx_skyblue button:hover { - background-color: #f1f7ff; - background: linear-gradient(#f1f7ff, #e2efff); - filter: progid: DXImageTransform.Microsoft.Gradient(gradientType=0, startColorStr=#f1f7ff, endColorStr=#e2efff) progid: DXImageTransform.Microsoft.Alpha(opacity=100); -} -.dhtmlxcp_dhx_skyblue button:active { - background-color: #d2e7fe; - background: linear-gradient(#d2e7fe, #d3e7ff); - filter: progid: DXImageTransform.Microsoft.Gradient(gradientType=0, startColorStr=#d2e7fe, endColorStr=#d3e7ff) progid: DXImageTransform.Microsoft.Alpha(opacity=100); - box-shadow: 0 0 3px #ccc inset; -} -.dhtmlxcp_dhx_skyblue .dhxcp_save_to_memory { - width: 232px; - height: 24px; -} -.dhtmlxcp_dhx_skyblue .dhxcp_save_to_memory .dhxcp_label_bm { - background-image: url("imgs/dhxcp_skyblue/dhxcp_icon_save.png"); - background-repeat: no-repeat; - display: inherit; - padding-left: 15px; - background-position: 0 4px; - height: 18px; - line-height: 18px; - width: 80px; - margin: 1px auto; - white-space: nowrap; - text-align: left; -} -.dhtmlxcp_dhx_skyblue .dhxcp_memory_els_cont { - width: 232px; - height: 25px; - margin-top: 3px; - text-align: center; -} -.dhtmlxcp_dhx_skyblue .dhxcp_memory_el { - width: 24px; - height: 24px; - background-color: #fff; - border: 1px solid #a4bed4; - display: inline-block; - margin: 0 1px; -} -.dhtmlxcp_dhx_skyblue .dhxcp_memory_el_select { - border: 1px dashed black!important; -} -.dhtmlxcp_dhx_skyblue .dhxcp_memory_el_next { - border: 1px dashed red!important; -} -.dhtmlxcp_dhx_skyblue .dhxcp_add_memory .dhxcp_g_memory_area { - height: 55px!important; - border-top: none!important; - margin: 5px 10px 5px 10px; -} -.dhtmlxcp_dhx_skyblue .dhxcp_buttons_area { - padding: 0 10px; - width: 232px; - height: 26px; - text-align: right; - margin: 0; -} -.dhtmlxcp_dhx_skyblue .dhx_button_save, -.dhtmlxcp_dhx_skyblue .dhx_button_cancel { - padding: 2px 10px; - margin: 1px; - height: 24px; - line-height: 12px; - overflow: hidden; - text-align: center; -} -.dhxcp_colorBox { - float: right; -} -.dhxcp_colorInput { - float: left; -} -.dhxcp_frm { - position: absolute; - background-color: white; - opacity: 0; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=0); - width: 256px; - height: 274px; -} -.dhtmlxcp_dhx_skyblue.dhtmlxcp_in_form .dhxcp_g_area { - padding: 5px; - border: 1px solid #a4bed4; - box-shadow: 0 0 9px rgba(0, 0, 0, 0.35); -} -.dhxslider_skin_detect { - position: absolute; - left: 0; - top: -100px; - border: 0 solid white; - width: 10px; - height: 10px; - margin: 0; - padding: 0; - overflow: hidden; -} -.dhtmlxslider_dhx_skyblue .dhxsl_hidden { - display: none; -} -.dhtmlxslider_dhx_skyblue .dhxsl_container { - position: relative; - float: left; - clear: left; - margin: 0; - padding: 1px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; -} -.dhtmlxslider_dhx_skyblue .dhxsl_container.dhxsl_cont_hr { - margin-top: 6px; -} -.dhtmlxslider_dhx_skyblue .dhxsl_container.dhxsl_cont_vr { - margin-left: 6px; -} -.dhtmlxslider_dhx_skyblue .dhxsl_runner { - position: absolute; - margin: 0; - padding: 0; - overflow: hidden; - width: 16px; - height: 16px; - border: 1px solid #a4bed4; - border-radius: 2px; - background-color: #f1f7ff; - background: linear-gradient(#f1f7ff, #e2efff); - filter: progid: DXImageTransform.Microsoft.Gradient(gradientType=0, startColorStr=#f1f7ff, endColorStr=#e2efff) progid: DXImageTransform.Microsoft.Alpha(opacity=100); -} -.dhtmlxslider_dhx_skyblue .dhxsl_runner_dis { - border-color: #c9c9c9; - background-color: #e8e8e8; - background: linear-gradient(#e8e8e8, #dedede); - filter: progid: DXImageTransform.Microsoft.Gradient(gradientType=0, startColorStr=#e8e8e8, endColorStr=#dedede) progid: DXImageTransform.Microsoft.Alpha(opacity=100); -} -.dhtmlxslider_dhx_skyblue .dhxsl_track { - border: 1px solid #a4bed4; - border-radius: 2px; - background-color: white; - margin: 0; - padding: 0; - overflow: hidden; -} -.dhtmlxslider_dhx_skyblue .dhxsl_cont_vr .dhxsl_track { - height: 100%; - width: 3px; -} -.dhtmlxslider_dhx_skyblue .dhxsl_cont_hr .dhxsl_track { - width: 100%; - height: 3px; -} -.dhtmlxslider_dhx_skyblue .dhxsl_track_dis { - border: 1px solid #c9c9c9; - background-color: #f0f0f0; -} -div.dhx_popup_dhx_skyblue { - position: absolute; -} -div.dhx_popup_dhx_skyblue div.dhx_popup_area { - position: relative; - margin: 10px; - padding: 3px 0; - border: 1px solid #a4bed4; - box-shadow: 0 0 3px #ccc; - background-color: #e7f1ff; - border-radius: 2px; -} -div.dhx_popup_dhx_skyblue div.dhx_popup_area td.dhx_popup_td { - font-family: Tahoma; - font-size: 11px; - color: black; - text-align: left; - vertical-align: middle; - padding: 0 8px; - height: 24px; - line-height: 23px; - border-top: 1px solid #e7f1ff; - border-bottom: 1px solid #e7f1ff; - white-space: nowrap; - cursor: default; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; -} -div.dhx_popup_dhx_skyblue div.dhx_popup_area td.dhx_popup_td div.dhtmlxcalendar_dhx_skyblue { - position: relative; -} -div.dhx_popup_dhx_skyblue div.dhx_popup_area tr.dhx_popup_sep td.dhx_popup_sep { - font-size: 1px; - padding: 2px 0; - position: relative; -} -div.dhx_popup_dhx_skyblue div.dhx_popup_area tr.dhx_popup_sep td.dhx_popup_sep div.dhx_popup_sep { - position: relative; - font-size: 1px; - line-height: 1px; - height: 0; - width: 100%; - border-top: 1px solid #a4bed5; - overflow: hidden; -} -div.dhx_popup_dhx_skyblue div.dhx_popup_area td.dhx_popup_td:first-child { - padding-left: 16px; -} -div.dhx_popup_dhx_skyblue div.dhx_popup_area td.dhx_popup_td:last-child { - padding-right: 16px; -} -div.dhx_popup_dhx_skyblue div.dhx_popup_area tr:hover td.dhx_popup_td { - background-color: #b5d8ff; - border-top: 1px solid #8dcef4; - border-bottom: 1px solid #8dcef4; -} -div.dhx_popup_dhx_skyblue div.dhx_popup_area tr.dhxnode:hover td.dhx_popup_td { - background: none; - border-top: 1px solid #e7f1ff; - border-bottom: 1px solid #e7f1ff; -} -div.dhx_popup_dhx_skyblue div.dhx_popup_area tr.dhxnode td.dhx_popup_td { - padding-top: 8px!important; - padding-bottom: 8px!important; - height: auto; - line-height: inherit; - -webkit-user-select: text; - -khtml-user-select: text; - -moz-user-select: text; - -o-user-select: text; - user-select: text; - -ms-user-select: text; -} -div.dhx_popup_dhx_skyblue div.dhx_popup_area tr.dhxnode td.dhx_popup_td .dhtmlxcalendar_container.dhtmlxcalendar_skin_dhx_skyblue { - position: relative!important; - background-image: none; -} -div.dhx_popup_dhx_skyblue div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxtree_dhx_skyblue { - background: none; -} -div.dhx_popup_dhx_skyblue div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxeditor_dhx_skyblue { - border: 1px solid #a4bed4; -} -div.dhx_popup_dhx_skyblue div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhtmlxcp_dhx_skyblue div.dhxcp_g_area { - position: relative; - background-color: #e7f1ff; - border: 0 solid white; -} -div.dhx_popup_dhx_skyblue div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhtmlxcp_dhx_skyblue div.dhxcp_g_area div.dhxcp_sub_area { - background: #e7f1ff; -} -div.dhx_popup_dhx_skyblue div.dhx_popup_area.dhx_popup_area_ie { - box-shadow: 0 0 6px #ccc; -} -div.dhx_popup_dhx_skyblue div.dhx_popup_area.dhx_popup_area_ie tr.dhxnode td.dhx_popup_td { - height: 1em; - line-height: 1em; -} -div.dhx_popup_dhx_skyblue div.dhx_popup_area.dhx_popup_area_ie td.dhx_popup_td.dhx_popup_td_single { - padding-left: 16px; - padding-right: 16px; -} -div.dhx_popup_dhx_skyblue div.dhx_popup_area.dhx_popup_area_ie td.dhx_popup_td.dhx_popup_td_first { - padding-left: 16px; -} -div.dhx_popup_dhx_skyblue div.dhx_popup_area.dhx_popup_area_ie td.dhx_popup_td.dhx_popup_td_last { - padding-right: 16px; -} -div.dhx_popup_dhx_skyblue div.dhx_popup_area.dhx_popup_area_ie tr.tr_hover td.dhx_popup_td { - background-color: #b5d8ff; - border-top: 1px solid #8dcef4; - border-bottom: 1px solid #8dcef4; -} -div.dhx_popup_dhx_skyblue div.dhx_popup_arrow { - position: absolute; - background-repeat: no-repeat; -} -div.dhx_popup_dhx_skyblue div.dhx_popup_arrow.dhx_popup_arrow_bottom { - width: 19px; - height: 16px; - background-image: url("imgs/dhxpopup_skyblue/dhxpopup_arrow_bottom.gif"); - background-position: top center; -} -div.dhx_popup_dhx_skyblue div.dhx_popup_arrow.dhx_popup_arrow_top { - width: 19px; - height: 16px; - background-image: url("imgs/dhxpopup_skyblue/dhxpopup_arrow_top.gif"); - background-position: bottom center; -} -div.dhx_popup_dhx_skyblue div.dhx_popup_arrow.dhx_popup_arrow_right { - width: 16px; - height: 19px; - background-image: url("imgs/dhxpopup_skyblue/dhxpopup_arrow_right.gif"); - background-position: center left; -} -div.dhx_popup_dhx_skyblue div.dhx_popup_arrow.dhx_popup_arrow_left { - width: 16px; - height: 19px; - background-image: url("imgs/dhxpopup_skyblue/dhxpopup_arrow_left.gif"); - background-position: center right; -} -div.dhx_popup_skin_detect { - position: absolute; - display: block; - visibility: hidden; - left: -100px; - top: 0; - width: 10px; - height: 10px; - margin: 0; - padding: 0; - border: none; - overflow: hidden; -} -.dhxmenu_skin_detect { - position: absolute; - left: 0; - top: -100px; - margin: 0; - padding: 0; - border: 0 solid white; - width: 10px; - height: 10px; - overflow: hidden; -} -.dhtmlxMenu_dhx_skyblue_Middle { - position: relative; - height: 30px; - border: none; - overflow: hidden; - background-color: #ebebeb; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; -} -.dhtmlxMenu_dhx_skyblue_Middle div.top_sep { - float: left; - position: relative; - height: 22px; - width: 0; - border-left: 1px solid #ddd; - margin: 4px 2px 0 0; - line-height: 1px; - font-size: 1px; - overflow: hidden; - cursor: default; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; -} -.dhtmlxMenu_dhx_skyblue_Middle img.dhtmlxMenu_TopLevel_Item_Icon { - float: left; - margin: 2px 3px 0 3px; - width: 18px; - height: 18px; -} -.dhtmlxMenu_dhx_skyblue_Middle div.dhtmlxMenu_TopLevel_Text_right { - position: absolute; - top: 8px; - left: none; - right: 8px; - font-family: Tahoma; - font-size: 11px; - color: black; - cursor: default; -} -.dhtmlxMenu_dhx_skyblue_Middle div.dhtmlxMenu_TopLevel_Text_left { - position: absolute; - top: 8px; - right: none; - left: 8px; - font-family: Tahoma; - font-size: 11px; - color: black; - cursor: default; -} -.dhtmlxMenu_dhx_skyblue_Middle.dir_left div.align_left { - float: left; -} -.dhtmlxMenu_dhx_skyblue_Middle.dir_left div.align_right { - float: right; -} -div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Normal, -div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Disabled, -div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Selected { - position: relative; - float: left; - font-family: Tahoma; - font-size: 11px; - color: black; - cursor: default; - white-space: nowrap; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; - height: 22px; - line-height: 22px; - vertical-align: middle; - margin: 3px 2px 0 0; - padding: 0 3px; -} -div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Normal div.top_level_text, -div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Disabled div.top_level_text, -div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Selected div.top_level_text { - float: left; - margin: 0 3px; -} -div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Normal, -div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Disabled { - border: 1px solid #ebebeb; -} -div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Disabled { - color: #999!important; -} -div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Selected { - border: 1px solid #a1ceed; - background-color: #b5deff; - color: black; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon { - position: absolute; - border: 1px solid #a4bed4; - box-shadow: 0 0 3px #ccc; - padding: 3px 0; - border-bottom-left-radius: 2px; - border-bottom-right-radius: 2px; - border-top-right-radius: 2px; - background-color: #e7f1ff; - overflow: hidden; - cursor: default; - line-height: normal; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td { - font-family: Tahoma; - font-size: 11px; - color: black; - line-height: normal; - padding: 0 3px; - border-top: 1px solid #e7f1ff; - border-bottom: 1px solid #e7f1ff; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_selected td { - background-color: #b5deff; - border-top: 1px solid #a1ceed; - border-bottom: 1px solid #a1ceed; - color: black; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_selected div.sub_item_hk { - color: #333!important; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_icon { - width: 18px; - text-align: center; - vertical-align: middle; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_icon img.sub_icon { - float: left; - margin: 0; - width: 18px; - height: 18px; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_item_text { - padding: 0 12px 0 1px; - height: 22px; - line-height: 21px; - white-space: nowrap; - text-align: left; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_item_text { - color: #999!important; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_hk { - padding-left: 8px; - padding-right: 8px; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_hk div.sub_item_hk { - font-family: Tahoma; - font-size: 10px; - color: #4d4d4d; - text-align: right; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis td.sub_item_hk div.sub_item_hk { - color: #9b9b9b!important; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.complex_arrow { - width: 4px; - margin: 0 2px 0 5px; - height: 22px; - background-image: url("imgs/dhxmenu_skyblue/dhxmenu_subar.gif"); - background-repeat: no-repeat; - background-position: 0 0; - overflow: hidden; - font-size: 1px; - float: right; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_selected div.complex_arrow { - background-position: -4px 0!important; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.complex_arrow { - background-position: -8px 0!important; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.complex_arrow_loading { - width: 11px; - height: 22px; - background-position: center center; - background-repeat: no-repeat; - background-image: url("imgs/dhxmenu_skyblue/dhxmenu_loader.gif"); - float: right; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon { - float: left; - margin: 0; - width: 18px; - height: 18px; - background-position: top right; - background-repeat: no-repeat; - background-image: url("imgs/dhxmenu_skyblue/dhxmenu_chrd.gif"); -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.chbx_0 { - background-position: 0 0!important; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.chbx_1 { - background-position: -18px 0!important; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.chbx_0 { - background-position: -36px 0!important; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.chbx_1 { - background-position: -54px 0!important; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.rdbt_0 { - background-position: -72px 0!important; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.rdbt_1 { - background-position: -90px 0!important; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.rdbt_0 { - background-position: -108px 0!important; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.rdbt_1 { - background-position: -126px 0!important; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon tr.sub_sep td { - padding: 2px 0; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon div.sub_sep { - position: static; - font-size: 1px; - line-height: 1px; - height: 1px; - width: 100%; - border-top: 1px solid #a4bed4; -} -iframe.dhtmlxMenu_IE6CoverFix_dhx_skyblue { - position: absolute; - border: none; - background: #000; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=100); -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_ArrowUp, -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_ArrowUp_Over, -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_ArrowUp_Disabled { - position: relative; - font-size: 1px; - border-bottom: 1px solid #a4bed4; - background-image: url("imgs/dhxmenu_skyblue/dhxmenu_arrow_up.gif"); - background-repeat: no-repeat; - background-position: center center; - padding: 8px 0; - margin-bottom: 3px; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_ArrowUp_Disabled { - background-image: url("imgs/dhxmenu_skyblue/dhxmenu_arrow_up_dis.gif"); -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_ArrowDown, -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_ArrowDown_Over, -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_ArrowDown_Disabled { - position: relative; - font-size: 1px; - border-top: 1px solid #a4bed4; - background-image: url("imgs/dhxmenu_skyblue/dhxmenu_arrow_down.gif"); - background-repeat: no-repeat; - background-position: center center; - padding: 8px 0; - margin-top: 3px; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_ArrowDown_Disabled { - background-image: url("imgs/dhxmenu_skyblue/dhxmenu_arrow_down_dis.gif"); -} -.dhtmlxribbon_skin_detect { - position: absolute; - left: 0; - top: -100px; - margin: 0; - padding: 0; - border: 0 solid white; - width: 10px; - height: 10px; - overflow: hidden; -} -.dhtmlxribbon_dhx_skyblue.dhxrb_without_tabbar { - background-color: #fff; - border: 1px solid #a4bed4; -} -.dhtmlxribbon_dhx_skyblue { - overflow: hidden; - width: 100%; - background-color: #e7f1ff; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_background_area { - height: 115px; - background-color: #e7f1ff; - margin: 1px; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_with_tabbar { - height: 145px; -} -.dhtmlxribbon_dhx_skyblue div.dhx_cell_tabbar { - background-color: #e7f1ff!important; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_g_area { - height: 115px; - float: left; - clear: left; - overflow: hidden; - position: relative; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_block_base { - margin: 3px; - float: left; - border: 1px solid #a4bed4; - background-color: #ddebff; - border-radius: 2px; - height: 106px; - overflow: hidden; - position: relative; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_block_base .dhxrb_block_items { - height: 84px; - float: left; - padding: 2px 0; - overflow: hidden; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_block_base>.dhxrb_block_label { - height: 18px; - line-height: 17px; - *height: auto; - *line-height: 1em; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_block_base .dhxrb_block_label { - text-align: center; - clear: left; - font-family: Tahoma; - font-size: 11px; - color: #5f85bb; - background-color: #d3e7ff; - *padding: 1px 3px 4px; - *font-size: 11px; - *font-family: Tahoma, FreeSans; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_big_button { - margin: 0 2px 5px; - float: left; - text-align: center; - padding: 4px 6px; - height: 72px; - border-radius: 2px; - border: 1px solid #ddebff; - font-family: Tahoma; - font-size: 11px; - color: black; - background-color: #ddebff; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_big_button .dhxrb_image { - width: 48px; - height: 48px; - border: none; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_big_button .dhxrb_label_button { - margin: 0 auto; - cursor: default; - font-family: Tahoma; - font-size: 11px; - color: black; - line-height: 10px; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_big_button .dhxrb_invisible { - visibility: hidden; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_3rows_block { - float: left; - margin: 0 2px 5px; - position: relative; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_3rows_block .dhxrb_invisible { - display: none; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_3rows_button { - height: 21px; - margin: 1px 3px; - float: left; - clear: left; - padding: 3px 4px 0 4px; - border-radius: 2px; - border: 1px solid #ddebff; - font-family: Tahoma; - font-size: 11px; - color: black; - background-color: #ddebff; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_in_row { - height: 20px; - margin: 1px 3px; - float: left; - padding: 3px 4px 1px; - white-space: nowrap; - overflow: hidden; - border-radius: 2px; - border: 1px solid #ddebff; - font-family: Tahoma; - font-size: 11px; - color: black; - background-color: #ddebff; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_group .dhxrb_buttoncombo_cont { - height: 22px; - padding: 0 2px!important; - overflow: hidden; - white-space: nowrap; - float: left; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_buttoncombo_cont { - height: 24px; - padding: 1px 2px!important; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_buttoncombo { - float: left; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_in_row .dhxrb_slider, -.dhtmlxribbon_dhx_skyblue .dhxrb_3rows_button .dhxrb_slider { - float: left; - margin-right: 5px; - margin-top: 6px; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_in_row center, -.dhtmlxribbon_dhx_skyblue .dhxrb_in_group center, -.dhtmlxribbon_dhx_skyblue .dhxrb_3rows_button center { - float: left; - margin: 0; - padding: 0; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_in_group .dhxrb_slider { - float: left; - margin-right: 5px; - margin-top: 5px; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_big_button .dhxrb_slider { - width: 16px; - margin: 2px 0; - height: 50px; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_in_group { - height: 19px; - float: left; - padding: 2px 4px 1px; - border: 1px solid #fff; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_input { - float: left; - border: 1px solid #a4bed4; - height: 14px; - width: 80px; - font-family: Tahoma; - font-size: 11px; - color: black; - padding: 1px 2px; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_input:disabled { - border: 1px solid #ccc; - background-color: #fafafa; - color: #b2b2b2; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_3rows_button .dhxrb_image, -.dhtmlxribbon_dhx_skyblue .dhxrb_in_row .dhxrb_image, -.dhtmlxribbon_dhx_skyblue .dhxrb_in_group .dhxrb_image { - width: 18px; - height: 18px; - float: left; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_3rows_button .dhxrb_label_button, -.dhtmlxribbon_dhx_skyblue .dhxrb_in_row .dhxrb_label_button, -.dhtmlxribbon_dhx_skyblue .dhxrb_in_group .dhxrb_label_button { - float: left; - cursor: default; - margin: 2px 4px 2px 6px; - font-family: Tahoma; - font-size: 11px; - color: black; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_buttoncombo_cont .dhxrb_label_button { - float: left; - margin-left: 3px; - height: 18px; - line-height: 18px; - cursor: default; - font-family: Tahoma; - font-size: 11px; - color: black; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_label_checkbox { - float: left; - margin: 2px 4px; - cursor: default; - font-family: Tahoma; - font-size: 11px; - color: black; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_disable_text_style, -.dhtmlxribbon_dhx_skyblue .dhxrb_item_disable .dhxrb_label_checkbox { - color: #999!important; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_highlight0 { - border: 1px solid #a4bed4; - background-color: #f1f7ff; - background: linear-gradient(#f1f7ff, #e2efff); - filter: progid: DXImageTransform.Microsoft.Gradient(gradientType=0, startColorStr=#f1f7ff, endColorStr=#e2efff) progid: DXImageTransform.Microsoft.Alpha(opacity=100); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_highlight1 { - border: 1px solid #a4bed4; - background-color: #d2e7fe; - background: linear-gradient(#d2e7fe, #d3e7ff); - filter: progid: DXImageTransform.Microsoft.Gradient(gradientType=0, startColorStr=#d2e7fe, endColorStr=#d3e7ff) progid: DXImageTransform.Microsoft.Alpha(opacity=100); - box-shadow: 0 0 3px #afc1d4 inset; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_group .dhxrb_highlight0 { - border: 1px solid #ddedff; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_group .dhxrb_highlight1 { - background-color: #d2e7fe; - background: linear-gradient(#d2e7fe, #d3e7ff); - filter: progid: DXImageTransform.Microsoft.Gradient(gradientType=0, startColorStr=#d2e7fe, endColorStr=#d3e7ff) progid: DXImageTransform.Microsoft.Alpha(opacity=100); - box-shadow: 0 0 3px #afc1d4 inset; - border: 0; - padding: 3px 5px 2px 5px; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_item_hide { - display: none!important; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_block_rows { - float: left; - position: relative; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_block_row { - float: left; - clear: left; - margin: 0 2px; - height: 28px; - overflow: hidden; - position: relative; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_arrow { - padding: 0 5px; - margin-left: 2px; - background: url("imgs/dhxribbon_skyblue/dhxribbon_arrow.gif") no-repeat 50%; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_3rows_block .dhxrb_group { - border: 1px solid #a4bed4; - background: #e7f1ff; - height: 24px; - border-radius: 2px; - float: left; - clear: left; - margin: 1px 3px; - overflow: hidden; - position: relative; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_block_row .dhxrb_group { - border: 1px solid #a4bed4; - background: #e7f1ff; - height: 24px; - border-radius: 2px; - float: left; - margin: 1px 3px; - overflow: hidden; - position: relative; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_in_group .dhxrb_label_hide { - display: none; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_separator_groupp { - height: 24px; - width: 0; - border-left: 1px solid #c4deff; - overflow: hidden; - float: left; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_checked.dhxrb_item_disable>.dhxrb_checkbox { - background-image: url("imgs/dhxribbon_skyblue/dhxribbon_checked_dis.gif"); - background-repeat: no-repeat; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_checked .dhxrb_checkbox { - background-image: url("imgs/dhxribbon_skyblue/dhxribbon_checked.gif"); - background-repeat: no-repeat; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_item_disable .dhxrb_checkbox { - border: 1px solid #aaa; - background-color: #eee; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_checkbox { - border: 1px solid #a4bed4; - background-color: #fff; - float: left; - width: 12px; - height: 12px; - margin-top: 2px; - overflow: hidden; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_item_text { - font-family: Tahoma; - font-size: 13px; - color: #256488; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_in_group .dhxrb_item_text { - height: 19px; - line-height: 18px; - *float: left; - *clear: left; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_3rows_button .dhxrb_item_text, -.dhtmlxribbon_dhx_skyblue .dhxrb_in_row .dhxrb_item_text { - font-family: Tahoma; - font-size: 14px; - color: #256488; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_big_button .dhxrb_item_text { - font-family: Tahoma; - font-size: 30px; - color: #256488; - line-height: 72px; - height: 72px; - float: left; - clear: left; -} -.dhxtoolbar_skin_detect { - position: absolute; - left: 0; - top: -100px; - margin: 0; - padding: 0; - border: 0 solid white; - width: 10px; - height: 10px; - overflow: hidden; -} -.dhx_toolbar_dhx_skyblue { - border: 1px solid #a4bed4; - background-color: #e2efff;/*e2efff*/ - background: linear-gradient(#e2efff, #d3e7ff); - filter: progid: DXImageTransform.Microsoft.Gradient(gradientType=0, startColorStr=#e2efff, endColorStr=#d3e7ff) progid: DXImageTransform.Microsoft.Alpha(opacity=100); - position: relative; - padding: 0 5px; - height: 30px; - line-height: normal; - cursor: default; - overflow: hidden; - font-family: Tahoma; - font-size: 11px; - color: black; -} -.dhx_toolbar_dhx_skyblue div.dhxtoolbar_float_left { - float: left; -} -.dhx_toolbar_dhx_skyblue div.dhxtoolbar_float_right { - float: right; -} -.dhx_toolbar_dhx_skyblue div.dhx_toolbar_btn, -.dhx_toolbar_dhx_skyblue div.dhx_toolbar_arw { - position: relative; - float: left; - margin-top: 2px; - padding: 2px 3px; - *padding-bottom: 4px; - margin-right: 1px; - line-height: normal; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; - cursor: default; - height: 22px; - *height: 20px; - overflow: hidden; -} -.dhx_toolbar_dhx_skyblue div.dhx_toolbar_btn.dhxtoolbar_btn_dis, -.dhx_toolbar_dhx_skyblue div.dhx_toolbar_arw.dhxtoolbar_btn_dis { - color: #999; -} -.dhx_toolbar_dhx_skyblue div.dhx_toolbar_btn.dhxtoolbar_btn_over, -.dhx_toolbar_dhx_skyblue div.dhx_toolbar_arw.dhxtoolbar_btn_over { - border: 1px solid #a4bed4; - border-radius: 2px; - padding: 1px 2px; - *padding-bottom: 3px; - background-color: #f1f7ff; - background: linear-gradient(#f1f7ff, #e2efff); - filter: progid: DXImageTransform.Microsoft.Gradient(gradientType=0, startColorStr=#f1f7ff, endColorStr=#e2efff) progid: DXImageTransform.Microsoft.Alpha(opacity=100); -} -.dhx_toolbar_dhx_skyblue div.dhx_toolbar_btn.dhxtoolbar_btn_pres, -.dhx_toolbar_dhx_skyblue div.dhx_toolbar_arw.dhxtoolbar_btn_pres { - border: 1px solid #a4bed4; - border-radius: 2px; - padding: 1px 2px; - *padding-bottom: 3px; - background-color: #d2e7fe; - background: linear-gradient(#d2e7fe, #d3e7ff); - filter: progid: DXImageTransform.Microsoft.Gradient(gradientType=0, startColorStr=#d2e7fe, endColorStr=#d3e7ff) progid: DXImageTransform.Microsoft.Alpha(opacity=100); - box-shadow: 0 0 5px rgba(127, 127, 127, 0.15) inset; -} -.dhx_toolbar_dhx_skyblue div.dhx_toolbar_btn.dhxtoolbar_btn_pres_dis { - color: #999; - border: 1px solid #c9c9c9; - border-radius: 2px; - padding: 1px 2px; - *padding-bottom: 3px; - background-color: #d2e7fe; - background: linear-gradient(#d2e7fe, #d3e7ff); - filter: progid: DXImageTransform.Microsoft.Gradient(gradientType=0, startColorStr=#d2e7fe, endColorStr=#d3e7ff) progid: DXImageTransform.Microsoft.Alpha(opacity=100); - box-shadow: 0 0 5px rgba(127, 127, 127, 0.15) inset; -} -.dhx_toolbar_dhx_skyblue div.dhx_toolbar_btn img { - float: left; - margin: 2px; - width: 18px; - height: 18px; - cursor: default; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; -} -.dhx_toolbar_dhx_skyblue div.dhx_toolbar_btn .dhxtoolbar_input { - position: relative; - float: left; - border: 1px solid #a4bed4; - background-color: white; - margin: 1px; - padding: 2px 4px 3px 4px; - font-family: Tahoma; - font-size: 11px; - color: black; - line-height: normal; - direction: ltr; - outline: none; -} -.dhx_toolbar_dhx_skyblue div.dhx_toolbar_btn .dhxtoolbar_input:disabled { - background-color: #e7eef8; -} -.dhx_toolbar_dhx_skyblue div.dhx_toolbar_btn div.dhxtoolbar_text, -.dhx_toolbar_dhx_skyblue div.dhx_toolbar_arw div.arwimg { - float: left; - font: inherit; - height: 18px; - line-height: 17px; - margin: 2px 4px; - padding: 0; - cursor: default; - overflow: hidden; - white-space: nowrap; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; -} -.dhx_toolbar_dhx_skyblue div.dhx_toolbar_arw { - margin-left: -3px; - z-index: 1; -} -.dhx_toolbar_dhx_skyblue div.dhx_toolbar_arw div.arwimg { - margin: 2px 0; - padding: 0 3px; - background-image: url("imgs/dhxtoolbar_skyblue/dhxtoolbar_arrow.gif"); - background-position: center center; - background-repeat: no-repeat; -} -.dhx_toolbar_dhx_skyblue div.dhx_toolbar_arw.dhxtoolbar_btn_dis div.arwimg { - background-image: url("imgs/dhxtoolbar_skyblue/dhxtoolbar_arrow_dis.gif"); -} -.dhx_toolbar_dhx_skyblue div.dhx_toolbar_sep { - float: left; - border-left: 1px solid #c0d9ec; - height: 20px; - margin: 5px 6px 0 5px; - overflow: hidden; -} -.dhx_toolbar_dhx_skyblue div.dhx_toolbar_text { - float: left; - vertical-align: middle; - margin-top: 3px; - padding: 3px 5px; - line-height: 17px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; -} -.dhx_toolbar_dhx_skyblue div.dhxtoolbar_sl_bg_l, -.dhx_toolbar_dhx_skyblue div.dhxtoolbar_sl_bg_m, -.dhx_toolbar_dhx_skyblue div.dhxtoolbar_sl_bg_r { - float: left; - height: 5px; - line-height: 1px; - margin: 8px 0 6px 0; - padding: 0; - width: 2px; - font-size: 1px; - border-top: 1px solid #a4bed5; - border-bottom: 1px solid #a4bed5; - background-color: #e7f1ff; - overflow: hidden; -} -.dhx_toolbar_dhx_skyblue div.dhxtoolbar_sl_bg_l { - margin-left: 4px; - border-left: 1px solid #a4bed5; - border-top-left-radius: 2px; - border-bottom-left-radius: 2px; -} -.dhx_toolbar_dhx_skyblue div.dhxtoolbar_sl_bg_r { - margin-right: 4px; - border-right: 1px solid #a4bed5; - border-top-right-radius: 2px; - border-bottom-right-radius: 2px; -} -.dhx_toolbar_dhx_skyblue div.dhxtoolbar_sl_pen, -.dhx_toolbar_dhx_skyblue div.dhxtoolbar_sl_pen.dhxtoolbar_over { - position: absolute; - top: 5px; - width: 7px; - height: 14px; - border: 1px solid #a4bed4; - background-color: #e1eeff; - background: linear-gradient(#e1eeff, #d4e7ff); - filter: progid: DXImageTransform.Microsoft.Gradient(gradientType=0, startColorStr=#e1eeff, endColorStr=#d4e7ff) progid: DXImageTransform.Microsoft.Alpha(opacity=100); - border-radius: 1px; - cursor: default; - font-size: 1px; - line-height: 1px; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; -} -.dhx_toolbar_dhx_skyblue div.dhx_toolbar_btn.dhxtoolbar_btn_dis div.dhxtoolbar_sl_pen { - border-color: #c9c9c9; - background-color: #e5e5e5; - background: linear-gradient(#e5e5e5, #e0e0e0); - filter: progid: DXImageTransform.Microsoft.Gradient(gradientType=0, startColorStr=#e5e5e5, endColorStr=#e0e0e0) progid: DXImageTransform.Microsoft.Alpha(opacity=100); -} -.dhx_toolbar_dhx_skyblue div.dhx_toolbar_btn.dhxtoolbar_btn_dis div.dhxtoolbar_sl_bg_l, -.dhx_toolbar_dhx_skyblue div.dhx_toolbar_btn.dhxtoolbar_btn_dis div.dhxtoolbar_sl_bg_m, -.dhx_toolbar_dhx_skyblue div.dhx_toolbar_btn.dhxtoolbar_btn_dis div.dhxtoolbar_sl_bg_r { - border-color: #c9c9c9; - background-color: #e9e9e9; -} -.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_24 { - height: 36px!important; -} -.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_24 div.dhx_toolbar_btn, -.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_24 div.dhx_toolbar_arw { - height: 28px; - *height: 26px; -} -.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_24 div.dhx_toolbar_btn img { - width: 24px; - height: 24px; -} -.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_24 div.dhx_toolbar_btn div.dhxtoolbar_text, -.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_24 div.dhx_toolbar_arw div.arwimg { - height: 24px; - line-height: 23px; -} -.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_24 div.dhx_toolbar_text { - padding-top: 6px; - padding-bottom: 6px; -} -.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_24 div.dhx_toolbar_sep { - height: 26px; -} -.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_24 div.dhxtoolbar_sl_bg_l, -.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_24 div.dhxtoolbar_sl_bg_m, -.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_24 div.dhxtoolbar_sl_bg_r { - margin-top: 11px; -} -.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_24 div.dhxtoolbar_sl_pen { - top: 8px; -} -.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_24 div.dhx_toolbar_btn .dhxtoolbar_input { - margin-top: 4px; - margin-bottom: 4px; -} -.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_32 { - height: 44px!important; -} -.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_32 div.dhx_toolbar_btn, -.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_32 div.dhx_toolbar_arw { - height: 36px; - *height: 34px; -} -.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_32 div.dhx_toolbar_btn img { - width: 32px; - height: 32px; -} -.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_32 div.dhx_toolbar_btn div.dhxtoolbar_text, -.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_32 div.dhx_toolbar_arw div.arwimg { - height: 32px; - line-height: 31px; -} -.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_32 div.dhx_toolbar_text { - padding-top: 10px; - padding-bottom: 10px; -} -.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_32 div.dhx_toolbar_sep { - height: 34px; -} -.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_32 div.dhxtoolbar_sl_bg_l, -.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_32 div.dhxtoolbar_sl_bg_m, -.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_32 div.dhxtoolbar_sl_bg_r { - margin-top: 15px; -} -.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_32 div.dhxtoolbar_sl_pen { - top: 12px; -} -.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_32 div.dhx_toolbar_btn .dhxtoolbar_input { - margin-top: 8px; - margin-bottom: 8px; -} -.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_48 { - height: 60px!important; -} -.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_48 div.dhx_toolbar_btn, -.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_48 div.dhx_toolbar_arw { - height: 52px; - *height: 50px; -} -.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_48 div.dhx_toolbar_btn img { - width: 48px; - height: 48px; -} -.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_48 div.dhx_toolbar_btn div.dhxtoolbar_text, -.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_48 div.dhx_toolbar_arw div.arwimg { - height: 48px; - line-height: 47px; -} -.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_48 div.dhx_toolbar_text { - padding-top: 18px; - padding-bottom: 18px; -} -.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_48 div.dhx_toolbar_sep { - height: 50px; -} -.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_48 div.dhxtoolbar_sl_bg_l, -.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_48 div.dhxtoolbar_sl_bg_m, -.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_48 div.dhxtoolbar_sl_bg_r { - margin-top: 23px; -} -.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_48 div.dhxtoolbar_sl_pen { - top: 20px; -} -.dhx_toolbar_dhx_skyblue.dhxtoolbar_icons_48 div.dhx_toolbar_btn .dhxtoolbar_input { - margin-top: 16px; - margin-bottom: 16px; -} -div.dhx_toolbar_poly_dhx_skyblue { - position: absolute; - border: 1px solid #a4bed4; - box-shadow: 0 0 3px #ccc; - padding: 3px 0; - border-bottom-left-radius: 2px; - border-bottom-right-radius: 2px; - border-top-right-radius: 2px; - background-color: #e7f1ff; - overflow: hidden; - cursor: default; - line-height: normal; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; -} -div.dhx_toolbar_poly_dhx_skyblue td { - font-family: Tahoma; - font-size: 11px; - color: black; - line-height: normal; - padding: 0 3px; - border-top: 1px solid #e7f1ff; - border-bottom: 1px solid #e7f1ff; -} -div.dhx_toolbar_poly_dhx_skyblue .tr_btn_over td, -div.dhx_toolbar_poly_dhx_skyblue .tr_btn_selected td { - background-color: #b5deff; - border-top: 1px solid #a1cef4; - border-bottom: 1px solid #a1cef4; -} -div.dhx_toolbar_poly_dhx_skyblue .tr_btn_disabled td { - color: #999; -} -div.dhx_toolbar_poly_dhx_skyblue td.td_btn_img { - width: 18px; - text-align: center; -} -div.dhx_toolbar_poly_dhx_skyblue td.td_btn_img img.btn_sel_img { - width: 18px; - height: 18px; -} -div.dhx_toolbar_poly_dhx_skyblue td.td_btn_txt div.btn_sel_text { - padding: 0 12px 0 1px; - height: 22px; - line-height: 21px; -} -div.dhx_toolbar_poly_dhx_skyblue tr.tr_sep td { - padding: 2px 0; -} -div.dhx_toolbar_poly_dhx_skyblue div.btn_sep { - position: relative; - font-size: 1px; - line-height: 1px; - height: 0; - width: 100%; - border-top: 1px solid #a4bed5; -} -div.dhx_toolbar_slider_label_dhx_skyblue { - position: absolute; - border: 1px solid #a4bed4; - box-shadow: 0 0 3px #ccc; - background-color: #e7f1ff; - padding: 5px 8px; - border-radius: 2px; - overflow: hidden; - cursor: default; - line-height: normal; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; - font-family: Tahoma; - font-size: 11px; - color: black; -} -.dhxtoolbar_maxopen_test { - position: absolute; - width: 200px; - height: 50px; - overflow-x: none; - overflow-y: auto; - left: -300px; - top: 100px; - border: 1px solid white; - visibility: hidden; -} -.dhxtoolbar_maxopen_test2 { - height: 200px; -} -.dhxeditor_dhx_skyblue { - position: relative; -} -.dhxeditor_dhx_skyblue iframe.dhxeditor_mainiframe { - position: absolute; - overflow: hidden; - top: 0; - left: 0; - width: 100%; - height: 100%; -} -.dhxeditor_dhx_skyblue div.dhx_cell_editor div.dhx_cell_stb { - position: relative; - height: 30px; - padding: 0 5px; - border-bottom: 1px solid #a4bed4; - background-color: #e2efff; - background: linear-gradient(#e2efff, #d3e7ff); - filter: progid: DXImageTransform.Microsoft.Gradient(gradientType=0, startColorStr=#e2efff, endColorStr=#d3e7ff) progid: DXImageTransform.Microsoft.Alpha(opacity=100); -} -.dhxeditor_dhx_skyblue div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button { - float: left; - position: relative; - width: 18px; - height: 18px; - font-size: 2px; - margin-left: 5px; - margin-top: 7px; - cursor: pointer; - background-image: url("imgs/dhxeditor_skyblue/buttons.gif"); -} -.dhxeditor_dhx_skyblue div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button.btn_bold { - margin-left: 5px; - background-position: 0 0; -} -.dhxeditor_dhx_skyblue div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button.btn_italic { - background-position: -18px 0; -} -.dhxeditor_dhx_skyblue div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button.btn_underline { - background-position: -36px 0; -} -.dhxeditor_dhx_skyblue div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button.btn_clearformat { - background-position: -54px 0; -} -.dhxeditor_dhx_skyblue div.dhx_cell_editor { - position: absolute; - background-color: white; - margin: 0; - padding: 0; - overflow: hidden; - cursor: default; - z-index: 0; -} -.dhxeditor_dhx_skyblue div.dhx_cell_editor div.dhx_cell_cont_editor { - position: absolute; - overflow: hidden; -} -.dhxeditor_dhx_skyblue div.dhx_cell_editor div.dhx_cell_toolbar_def { - position: relative; - overflow: hidden; -} -.dhxeditor_dhx_skyblue div.dhx_cell_editor div.dhx_cell_toolbar_def div.dhx_toolbar_dhx_skyblue { - border-top-width: 0; - border-left-width: 0; - border-right-width: 0; -} -.dhxwins_vp_dhx_skyblue div.dhx_cell_cont_wins div.dhxeditor_dhx_skyblue div.dhx_cell_editor div.dhx_cell_stb { - border-left: 1px solid #a4bed4; - border-right: 1px solid #a4bed4; - border-top: 1px solid #a4bed4; -} -.dhxwins_vp_dhx_skyblue div.dhx_cell_cont_wins div.dhxeditor_dhx_skyblue div.dhx_cell_editor div.dhx_cell_cont_editor { - border-left: 1px solid #a4bed4; - border-right: 1px solid #a4bed4; - border-bottom: 1px solid #a4bed4; -} -.dhxwins_vp_dhx_skyblue div.dhx_cell_cont_wins div.dhxeditor_dhx_skyblue div.dhx_cell_editor div.dhx_cell_toolbar_def { - padding: 0; - border-top: 1px solid #a4bed4; -} -.dhxeditor_skin_detect { - position: absolute; - left: 0; - top: -100px; - margin: 0; - padding: 0; - border: 0 solid white; - width: 10px; - height: 10px; - overflow: hidden; -} -.dhx_tooltip { - display: none; - position: absolute; - font-family: Tahoma; - color: #626262; - font-size: 11px; - z-index: 10000; - padding: 4px 10px 4px 10px; - border: 1px solid #fff; - border-radius: 3px; - -moz-border-radius: 3px; - -webkit-border-radius: 3px; - -moz-box-shadow: 0 0 3px #d9d9d9; - -webkit-box-shadow: 0 0 3px #d9d9d9; - text-shadow: 0 1px 1px #fff; - box-shadow: 0 0 5px #d9d9d9; - background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #efefef), color-stop(0.5, #f6f6f6), color-stop(1, #efefef)); - background: -o-linear-gradient(#efefef 0, #f6f6f6 50%, #efefef 100%); - background: -ms-linear-gradient(#efefef 0, #f6f6f6 50%, #efefef 100%); - background: -moz-linear-gradient(#efefef 0, #f6f6f6 50%, #efefef 100%); - background: #efefef; -} -.dhx_chart { - position: relative; - font-family: Tahoma; - font-size: 11px; - color: black; - overflow: hidden; -} -.dhx_chart canvas { - position: absolute; - left: 0; - top: 0; -} -.dhx_canvas_text { - position: absolute; - text-align: center; - overflow: hidden; - white-space: nowrap; - z-index: 1000; -} -.dhx_map_img { - width: 100%; - height: 100%; - position: absolute; - top: 0; - left: 0; - border: 0; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=0); - opacity: 0; -} -.dhx_axis_item_y { - position: absolute; - height: 18px; - line-height: 18px; - margin-top: -4px; - text-align: right; -} -.dhx_axis_title_x { - text-align: center; -} -.dhx_axis_title_y { - text-align: center; - font-family: Tahoma; - -webkit-transform: rotate(-90deg); - -moz-transform: rotate(-90deg); - -o-transform: rotate(-90deg); - -ms-transform: rotate(-90deg); - transform: rotate(-90deg); - height: 18px; - line-height: 18px; - font-size: 11px; -} -.dhx_ie_filter { - filter: progid: DXImageTransform.Microsoft.BasicImage(rotation=3); - zoom: 1; - font-family: serif; -} -.dhx_chart_legend { - position: absolute; - z-index: 1000; -} -.dhx_chart_legend_item { - height: 18px; - line-height: 18px; - padding: 2px; - cursor: pointer; -} -.dhx_chart_legend_item.hidden { - color: #aaa; -} -.dhx_axis_item_y.dhx_radar { - color: #666; - font-size: 12px; - padding-right: 3px; - height: 13px; - line-height: 13px; - margin-top: 0; -} -.dhx_canvas_text.dhx_axis_radar_title { - margin-top: 0; - padding-top: 0; -} -.dhx_axis_item_y, -.dhx_axis_item_x { - color: #666; -} -.dhx_axis_item_x { - padding-top: 2px; -} -.dhx_tooltip { - display: none; - position: absolute; - font-family: Tahoma; - color: #626262; - font-size: 11px; - z-index: 10000; - padding: 4px 10px 4px 10px; - border: 1px solid #fff; - border-radius: 3px; - -moz-border-radius: 3px; - -webkit-border-radius: 3px; - -moz-box-shadow: 0 0 3px #d9d9d9; - -webkit-box-shadow: 0 0 3px #d9d9d9; - text-shadow: 0 1px 1px #fff; - box-shadow: 0 0 5px #d9d9d9; - background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #efefef), color-stop(0.5, #f6f6f6), color-stop(1, #efefef)); - background: -o-linear-gradient(#efefef 0, #f6f6f6 50%, #efefef 100%); - background: -ms-linear-gradient(#efefef 0, #f6f6f6 50%, #efefef 100%); - background: -moz-linear-gradient(#efefef 0, #f6f6f6 50%, #efefef 100%); - background: #efefef; -} -.dhx_noselect { - -moz-user-select: none; - -moz-user-select: -moz-none; - -khtml-user-select: none; -} -.dhx_allow_selection { - -moz-user-select: text; - -user-select: text; -} -.dhx_dataview { - overflow-y: auto; - -webkit-overflow-scrolling: touch; - overflow-x: hidden; - -moz-user-select: none; - -moz-user-select: -moz-none; - -khtml-select: none; -} -.dhx_drag_zone { - position: absolute; - border: 1px solid #A4BED4; - z-index: 8000; - -moz-box-shadow: 5px 5px 5px #888; - -khtml-box-shadow: 5px 5px 5px #888; -} -.dhx_dataview_default_item, -.dhx_dataview_default_item_selected { - cursor: pointer; - background-color: #fff; -} -.dhx_dataview .dhx_dataview_default_item, -.dhx_dataview .dhx_dataview_default_item_selected { - border-right: 1px solid #a4bed4; - border-bottom: 1px dotted #a4bed4; -} -.dhx_dataview_default_item_selected { - background-color: #a1ceed; - color: #b5deff; - border-color: #a1ceed; - background-repeat: repeat-x; -} -.dhx_dataview_item { - font-family: Tahoma; - font-size: 11px; - color: black; -} -.dhx_dataview_item .dhx_strong { - font-weight: bold; - display: block; - padding-bottom: 6px; -} -.dhx_dataview_default_item_selected .dhx_light { - color: #C3C3C3; -} -.dhx_dataview_item .dhx_light { - color: #919191; -} -.dhx_drag_over { - background-color: #faf768; - background-image: url("imgs/dhxdataview_skyblue/marker.png"); - background-repeat: repeat-x; -} -.dhx_pager_item, -.dhx_pager_item_selected { - float: left; - text-align: center; - height: 16px; - font-family: Tahoma; - font-size: 10pt; - border: 1px solid gray; - padding: 2px 4px; - margin-left: 5px; - cursor: pointer; - background-color: white; -} -.dhx_pager_item_selected { - background-color: lightgrey; - color: white; - cursor: default; - font-weight: bold; -} -.defaultTreeTable { - margin: 0; - padding: 0; - border: 0; -} -.containerTableStyle { - overflow: auto; - -webkit-overflow-scrolling: touch; - position: relative; - top: 0; - font-size: 12px; - -khtml-user-select: none; -} -.containerTableStyleRTL span { - direction: rtl; - unicode-bidi: bidi-override; -} -.containerTableStyleRTL { - direction: rtl; - overflow: auto; - position: relative; - top: 0; - font-size: 12px; -} -.standartTreeRow { - font-family: Tahoma; - font-size: 12px; - -moz-user-select: none; -} -.selectedTreeRow { - background-color: navy; - color: white; - font-family: Tahoma; - font-size: 12px; - -moz-user-select: none; -} -.dragAndDropRow { - background-color: navy; - color: white; -} -.standartTreeRow_lor { - text-decoration: underline; - background-color: #fff; - font-family: Tahoma; - font-size: 12px; - -moz-user-select: none; -} -.selectedTreeRow_lor { - text-decoration: underline; - background-color: navy; - color: white; - font-family: Tahoma; - font-size: 12px; - -moz-user-select: none; -} -.standartTreeImage { - width: 18px; - height: 18px; - overflow: hidden; - border: 0; - padding: 0; - margin: 0; - font-size: 1px; -} -.hiddenRow { - width: 1px; - overflow: hidden; -} -.dragSpanDiv, -.dragSpanDiv td { - font-size: 12px; - background-color: #fff; - z-index: 999; -} -.a_dhx_hidden_input { - position: absolute; - top: -1px; - left: -1px; - width: 1px; - height: 1px; - border: none; - background: none; -} -.a_dhx_hidden_input { - position: absolute; - top: -1px; - left: -1px; - width: 1px; - height: 1px; - border: none; - background: none; -} -.selectionBox { - background-color: #FFC; -} -.selectionBar { - top: 0; - background-color: black; - position: absolute; - overflow: hidden; - height: 2px; - z-index: 11; -} -.intreeeditRow { - font-size: 8pt; - height: 16px; - border: 1px solid silver; - padding: 0; - margin: 0; - margin-left: 4px; - -moz-user-select: text; - -khtml-user-select: text; -} -.dhx_tree_textSign { - font-size: 8pt; - font-family: monospace; - width: 21px; - color: black; - padding: 0; - margin: 0; - cursor: pointer; - text-align: center; -} -.dhx_tree_opacity { - opacity: 0; - -moz-opacity: 0; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=0); - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; -} -.dhx_bg_img_fix { - width: 18px; - height: 18px; - background-repeat: no-repeat; - background-position: center; - background-position-x: center; - background-position-y: center; -} -.dhxtree_dhx_black, -.dhxtree_dhx_skyblue { - background: #fff; - color: black; -} -*html .dhxtree_dhx_skyblue .standartTreeRow, -*html .dhxtree_dhx_skyblue .standartTreeRow_lor { - border-right: 0 solid red; - border-left: 0 solid red; -} -*html .dhxtree_dhx_skyblue span.standartTreeRow, -*html .dhxtree_dhx_skyblue span.standartTreeRow_lor { - margin-left: 1px; -} -.dhxtree_dhx_skyblue .standartTreeRow, -.dhxtree_dhx_skyblue .standartTreeRow_lor { - border-right: 1px solid transparent; - border-left: 1px solid transparent; - font-family: Tahoma; - font-size: 12px; - overflow: hidden; - padding: 0; -} -.dhxtree_dhx_skyblue .selectedTreeRow_lor, -.dhxtree_dhx_skyblue .selectedTreeRow { - background-color: #b5deff; - background-repeat: repeat-x; - border: 1px solid #a1ceed; - color: black; - line-height: 17px; - font-family: Tahoma; - font-size: 12px; - overflow: hidden; -} -html>body .dhxtree_dhx_skyblue .selectedTreeRow, -html>body .dhxtree_dhx_skyblue .selectedTreeRow_lor { - padding: 1px 0 1px 0; - line-height: normal; - *display: inline-block; - height: 13px; -} -body:nth-of-type(1) .dhxtree_dhx_skyblue span.selectedTreeRow, -body:nth-of-type(1) .dhxtree_dhx_skyblue span.selectedTreeRow_lor { - padding: 1px 0 1px 0; - padding-top: 0; - box-sizing: border-box; - line-height: 12px; - height: 13px; -} -.dhxtree_dhx_web .selectedTreeRow_lor, -.dhxtree_dhx_web .selectedTreeRow { - background-color: transparent; -} -.dhxtree_dhx_web span.selectedTreeRow_lor, -.dhxtree_dhx_web span.selectedTreeRow { - background-color: #b5deff; - color: black; -} -.dhxtree_dhx_web td.standartTreeRow, -.dhxtree_dhx_web td.selectedTreeRow { - padding-left: 2px; -} -.dhxtree_dhx_web span.standartTreeRow, -.dhxtree_dhx_web span.selectedTreeRow { - padding-left: 3px!important; -} -.dhxtree_dhx_web .standartTreeRow, -.dhxtree_dhx_web .standartTreeRow, -.dhxtree_dhx_web .selectedTreeRow_lor, -.dhxtree_dhx_web .selectedTreeRow { - font-family: Tahoma; - font-size: 12px; - overflow: hidden; -} -.dhxtree_dhx_terrace .standartTreeRow, -.dhxtree_dhx_terrace .standartTreeRow, -.dhxtree_dhx_terrace .selectedTreeRow_lor, -.dhxtree_dhx_terrace .selectedTreeRow { - font-family: Tahoma; - font-size: 12px; - padding: 3px 1px 4px 2px; -} -.dhxtree_dhx_terrace .standartTreeImage { - padding-left: 3px; -} -.dhxtree_dhx_terrace .selectedTreeRow_lor, -.dhxtree_dhx_terrace .selectedTreeRow { - background-color: transparent; -} -.dhxtree_dhx_terrace span.selectedTreeRow_lor, -.dhxtree_dhx_terrace span.selectedTreeRow { - background-color: #b5deff; - color: black; -} -div.gridbox { - overflow: hidden; - text-align: left; -} -.dhx_sub_row { - background-color: #fff; -} -div.gridbox .xhdr { - background-color: #D4D0C8; -} -div.gridbox table.obj { - height: 1px; -} -div.gridbox table.hdr td { - line-height: normal; - font-family: arial; - font-size: 12px; - background-color: #D4D0C8; - border: 1px solid; - border-color: #fff Gray Gray #fff; - text-align: center; - margin: 0; - padding: 7px 0 7px 0; - font-weight: normal; - -moz-user-select: none; - -moz-user-select: -moz-none; - overflow: hidden; - empty-cells: show; -} -div.gridbox table.hdr td div.hdrcell { - overflow: hidden; -} -div.gridbox table.obj td { - border: 1px solid; - border-color: #fff Gray Gray #fff; - font-family: Arial; - font-size: 12px; - -moz-user-select: none; - -moz-user-select: -moz-none; - overflow: hidden; - padding-top: 0; - padding-bottom: 0; - empty-cells: show; -} -div.gridbox table.obj th, -div.gridbox table.hdr th { - padding: 0; - margin: 0; -} -div.gridbox table.row20px tr td { - height: 20px; - white-space: nowrap; - padding: 0; -} -div.gridbox .objbox { - background-color: #fff; - position: relative; - -webkit-overflow-scrolling: touch; -} -div.gridbox table.obj td span.space, -div.gridbox table.obj td img.space { - width: 18px; -} -div.gridbox table.obj tr.rowselected td.cellselected, -div.gridbox table.obj td.cellselected { - background-color: #d8d8d8; - color: black; -} -div.gridbox table.obj tr.rowselected td { - background-color: #e1e0d7; - color: black; -} -div.gridbox table.obj td.editable { - -moz-user-select: text; -} -div.gridbox table.obj td.group_row { - vertical-align: middle; - font-family: Tahoma; - font-size: 10pt; - font-weight: bold; - height: 30px; - border: 0; - border-bottom: 2px solid navy; -} -.dragSpanDiv { - font-size: 12px; - border: 1px gray solid; - background-color: #fff; - z-index: 999; -} -.dhx_combo_select { - font-family: arial; - font-size: 12px; - border: 1px solid; - border-color: black silver silver black; - background-color: #fff; - overflow: hidden; - cursor: default; - position: absolute; - height: auto; - z-index: 600; -} -.dhx_combo_edit { - width: 100%; - border: 0; - padding: 0; - padding-right: 1px!ie; - margin: 0; - font: 12px arial; - overflow: hidden; -} -.dhx_textarea { - border: 1px solid; - border-color: black silver silver black; - position: absolute; - height: 100px; - z-index: 600; -} -.dhx_clist { - background-color: #fff; - border: 1px solid black; - padding: 2px 2px 2px 2px; - z-index: 300; -} -.gridDragLine { - position: absolute; - top: 10px; - left: 0; - width: 100%; - height: 2px; - background-color: black; - overflow: hidden; -} -div.pagingBlock { - font-size: 12px; - font-family: verdana, arial; -} -div.pagingBlock .pagingCurrentPage { - font-weight: bold; - cursor: default; -} -div.pagingBlock .pagingPage { - cursor: pointer; - text-decoration: underline; -} -span.recordsInfoBlock { - font-size: 12px; - font-family: verdana, arial; -} -div.pagingBlock a { - text-decoration: none; - padding-right: 2px; - color: black; - cursor: pointer; -} -div.pagingBlock a.dhx_not_active { - text-decoration: none; - cursor: default; -} -.toolbar_select { - font-size: 10px; -} -.dhtmlxGrid_selection { - -moz-opacity: .5; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=50); - background-color: yellow; - opacity: .5; - border: 1px dotted black; -} -div.gridbox div.ftr { - position: absolute; - left: 0; - bottom: 1px; - width: 100%; - overflow: hidden; -} -div.gridbox div.ftr td { - padding: 0; - padding-left: 10px; - padding-right: 5px; - border-top: 1px solid gray; - border-right: 1px solid gray; - background-color: #ffc; - font-style: italic; - font-family: arial; - font-size: 12px; - overflow: hidden; -} -div.gridbox table.hdr td.columnTargetR div.hdrcell { - border-right: 3px double #F60; - border-left: 3px solid #D4D0C8; -} -div.gridbox table.hdr td.columnTargetL div.hdrcell { - border-right: 3px solid #D4D0C8; - border-left: 3px double #F60; -} -.dhx_dragColDiv { - font-family: Arial; - font-size: 12px; - background-color: #D4D0C8; - border: 1px solid; - border-color: #fff Gray Gray #fff; - text-align: center; - margin: 0; - padding: 5px 20px 5px 20px; - font-weight: normal; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=75); - -moz-opacity: .75; - opacity: .75; -} -.dhtmlx_live_validation_error { - background-color: #FFE0E0!important; -} -.dhtmlx_validation_error { - border-bottom: 2px solid red!important; -} -.dhx_header_cmenu { - background-color: #fff; - border: 2px outset silver; - z-index: 2; -} -.dhx_header_cmenu_item { - white-space: nowrap; -} -div.gridboxgridbox_dhx_skyblue div.ftr td { - text-align: right; - color: black; - background-color: #e2efff; - background: linear-gradient(#e2efff, #d3e7ff); - filter: progid: DXImageTransform.Microsoft.Gradient(gradientType=0, startColorStr=#e2efff, endColorStr=#d3e7ff) progid: DXImageTransform.Microsoft.Alpha(opacity=100); - border-color: #a4bed4; -} -div.gridbox td.filter input, -div.gridbox td.filter select { - width: 90%; - font-size: 8pt; - font-family: Tahoma; - -moz-user-select: text; -} -div.gridbox_dhx_skyblue.gridbox .ftr, -div.gridbox_dhx_skyblue.gridbox .xhdr { - color: black; - background-color: #e2efff; - background: linear-gradient(#e2efff, #d3e7ff); - filter: progid: DXImageTransform.Microsoft.Gradient(gradientType=0, startColorStr=#e2efff, endColorStr=#d3e7ff) progid: DXImageTransform.Microsoft.Alpha(opacity=100); -} -div.gridbox_dhx_skyblue.isModern table.hdr tr td { - color: black; - background-color: #e2efff; - background: linear-gradient(#e2efff, #d3e7ff); - filter: progid: DXImageTransform.Microsoft.Gradient(gradientType=0, startColorStr=#e2efff, endColorStr=#d3e7ff) progid: DXImageTransform.Microsoft.Alpha(opacity=100); -} -div.gridbox_dhx_skyblue.isIE table.hdr tr { - color: black; - background-color: #e2efff; - background: linear-gradient(#e2efff, #d3e7ff); - filter: progid: DXImageTransform.Microsoft.Gradient(gradientType=0, startColorStr=#e2efff, endColorStr=#d3e7ff) progid: DXImageTransform.Microsoft.Alpha(opacity=100); -} -div.gridbox_dhx_skyblue.gridbox table.obj tr td { - border-width: 0; - padding-right: 4px; - padding-left: 4px; -} -div.gridbox_dhx_skyblue.gridbox table.hdr td div.hdrcell { - padding-left: 10px; - width: auto; -} -div.gridbox_dhx_skyblue.gridbox table.hdr td { - border-width: 1px 1px 1px 1px; - border-color: #e7f1ff #a4bed4 #a4bed4 #e7f1ff; - background-color: transparent; - font-family: Tahoma; - font-size: 12px; - color: black; - vertical-align: top; - text-align: left; -} -div.gridbox_dhx_skyblue.gridbox { - border: 1px solid #a4bed4; -} -div.gridbox_dhx_skyblue.gridbox table.obj { - font-family: Tahoma; - font-size: 12px; - color: black; -} -div.gridbox_dhx_skyblue.gridbox table.obj tr td { - padding-top: 3px; - padding-bottom: 3px; -} -* html .gridbox_dhx_skyblue.gridbox .obj td { - height: auto; - padding-top: 3px; - padding-bottom: 3px; -} -div.gridbox_dhx_skyblue.gridbox table.obj.row20px tr td { - padding-top: 1px; - padding-bottom: 1px; - height: 23px; - border-right: 1px solid #fff; - border-top: 1px solid #fff; - border-bottom: 1px solid #fff; -} -div.gridbox_dhx_skyblue.isModern table.obj.row20px tr td { - line-height: 23px; -} -div.gridbox_dhx_skyblue table.obj.row20px tr td.editable .treegrid_cell { - margin-top: -2px; - height: 21px; -} -div.gridbox_dhx_skyblue.gridbox table.obj tr td.editable div.treegrid_cell { - padding: 1px 4px!important; -} -div.gridbox_dhx_skyblue.gridbox table.obj tr.rowselected { - background-color: #b5deff; -} -div.gridbox_dhx_skyblue.gridbox table.obj tr.rowselected td { - background-color: #b5deff; - color: black; -} -div.gridbox_dhx_skyblue.gridbox table.obj.row20px tr.rowselected td, -div.gridbox_dhx_skyblue.gridbox table.obj.row20px tr.odd_dhx_skyblue.rowselected td { - background-color: #b5deff; - border-top: 1px solid #a1ceed; - border-bottom: 1px solid #a1ceed; - border-right: 1px solid #b5deff; -} -div.gridbox_dhx_skyblue.gridbox table.obj tr.rowselected td.cellselected { - background-color: #b5deff; -} -div.gridbox_dhx_skyblue.gridbox table.obj.row20px tr.odd_dhx_skyblue { - background: #ebf3ff; - border-top: 1px solid #ebf3ff; - border-bottom: 1px solid #ebf3ff; -} -div.gridbox_dhx_skyblue.gridbox table.obj tr.odd_dhx_skyblue { - background: #ebf3ff; -} -.dhx_combo_select, -.gridbox_dhx_skyblue.gridbox .dhx_combo_edit, -.gridbox_dhx_skyblue.gridbox .dhx_textarea { - font-family: Tahoma; - font-size: 12px; -} -.gridbox_dhx_skyblue .dhx_combo_edit { - padding: 1px 0 1px 1px; -} -.gridbox_dhx_skyblue.isIE .dhx_combo_edit { - padding: 0 0 0 1px; -} -.gridbox_dhx_skyblue.gridbox .dhx_sub_row { - background-color: transparent; -} -.dhx_header_cmenu { - background-color: #fff; - border: 2px outset silver; - z-index: 2; -} -.dhx_header_cmenu_item { - white-space: nowrap; -} -.dhx_pbox { - margin-top: 3px; - border: 1px solid #D4D0C8; - border-top: 0; - font-size: 10px; -} -.dhx_pline { - background-color: white; - margin: -15px 10px 10px 10px; - padding: 0 5px 0 5px; - float: left; -} -.dhx_page, -.dhx_pager_info { - margin: 3px; - text-align: center; - font-family: tahoma; - font-size: 12px; - float: left; - cursor: pointer; - color: black; - background-color: gray; - padding: 1px; -} -.dhx_pager_info { - white-space: nowrap; - background-color: white; - margin: -8px 10px 10px 10px; - padding: 0 5px 0 5px; - cursor: default; -} -.dhx_page div { - background-color: white; - width: 16px; - height: 17px; - vertical-align: middle; -} -div.dhx_page_active { - font-weight: bold; - background-color: lightgrey; - cursor: default; - color: white; -} -.dhx_pbox_modern { - margin-top: 3px; - border: 1px solid #D6D6D6; - border-top: 0; - font-size: 10px; -} -.dhx_pline_modern { - background-color: white; - margin: -15px 10px 10px 10px; - padding: 0 5px 0 5px; - float: left; -} -.dhx_page_modern, -.dhx_pager_info_modern { - margin: 3px; - text-align: center; - font-family: tahoma; - font-size: 12px; - float: left; - cursor: pointer; - color: #055A78; - background-color: #D6D6D6; - padding: 1px; -} -.dhx_pager_info_modern { - white-space: nowrap; - background-color: white; - margin: -8px 10px 10px 10px; - padding: 0 5px 0 5px; - cursor: default; -} -.dhx_page_modern div { - background-color: white; - width: 16px; - height: 17px; - vertical-align: middle; -} -div.dhx_page_active_modern { - font-weight: bold; - background-color: #055A78; - cursor: default; - color: white; -} -.dhx_pbox_light { - margin-top: 3px; - border: 1px solid #C2D5DC; - border-top: 0; - font-size: 10px; -} -.dhx_pline_light { - background-color: white; - margin: -15px 10px 10px 10px; - padding: 0 5px 0 5px; - float: left; -} -.dhx_page_light, -.dhx_pager_info_light { - margin: 3px; - text-align: center; - font-family: tahoma; - font-size: 12px; - float: left; - cursor: pointer; - color: #055A78; - background-color: #93AFBA; - padding: 1px; -} -.dhx_pager_info_light { - white-space: nowrap; - background-color: white; - margin: -8px 10px 10px 10px; - padding: 0 5px 0 5px; - cursor: default; -} -.dhx_page_light div { - background-color: white; - width: 16px; - height: 17px; - vertical-align: middle; -} -div.dhx_page_active_light { - font-weight: bold; - background-color: #D1DFE3; - cursor: default; - color: white; -} -.dhx_pbox_skyblue { - margin-top: 3px; - border: 1px solid #C2D5DC; - border-top: 0; - font-size: 10px; -} -.dhx_pline_skyblue { - background-color: white; - margin: -15px 10px 10px 10px; - padding: 0 5px 0 5px; - float: left; -} -.dhx_page_skyblue, -.dhx_pager_info_skyblue { - margin: 3px; - text-align: center; - font-family: tahoma; - font-size: 12px; - float: left; - cursor: pointer; - color: #055A78; - background-color: #93AFBA; - padding: 1px; -} -.dhx_pager_info_skyblue { - white-space: nowrap; - background-color: white; - margin: -8px 10px 10px 10px; - padding: 0 5px 0 5px; - cursor: default; -} -.dhx_page_skyblue div { - background-color: white; - width: 16px; - height: 17px; - vertical-align: middle; -} -div.dhx_page_active_skyblue { - font-weight: bold; - color: black; - background-color: #e2efff; - background: linear-gradient(#e2efff, #d3e7ff); - filter: progid: DXImageTransform.Microsoft.Gradient(gradientType=0, startColorStr=#e2efff, endColorStr=#d3e7ff) progid: DXImageTransform.Microsoft.Alpha(opacity=100); - border: 1px solid #a4bed4; - padding: 0; - cursor: default; -} -div.dhx_page_active_skyblue div.dhx_page_active_skyblue { - border: 0 solid #a4bed4; -} -.calcTable { - width: 100px; - background-color: silver; - border: 1px black solid; -} -.calcButton { - height: 20px; - cursor: pointer; - text-align: center; - background-color: gray; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid silver; - border-right: 1px solid silver; -} -.calcPressed { - height: 20px; - cursor: pointer; - text-align: center; - background-color: gray; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid black; - border-right: 1px solid black; -} -.calcInput { - background-color: white; - font-size: 10px; - font-weight: bold; - font-family: tahoma, arial; -} -.calkSubmit { - padding: 2px; - cursor: pointer; - text-align: center; - background-color: silver; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid white; - border-right: 1px solid white; -} -.dhxgrid_sort_desc, -.dhxgrid_sort_asc { - width: 9px; - height: 8px; - background-image: url("imgs/dhxgrid_skyblue/sort_desc.gif"); - background-repeat: no-repeat; -} -.dhxgrid_sort_asc { - background-image: url("imgs/dhxgrid_skyblue/sort_asc.gif"); - background-repeat: no-repeat; -} -.dhxform_obj_dhx_skyblue { - font-family: Tahoma; - float: left; - line-height: normal; -} -.dhxform_obj_dhx_skyblue div.dhxform_base { - position: relative; - float: left; -} -.dhxform_obj_dhx_skyblue.dhxform_rtl div.dhxform_base { - float: right; -} -.dhxform_obj_dhx_skyblue div.dhxform_base_nested { - padding: 0; - clear: both; - *display: inline-block; -} -.dhxform_obj_dhx_skyblue.dhxform_rtl div.dhxform_base_nested { - padding: 0; -} -.dhxform_obj_dhx_skyblue.dhxform_block { - clear: both; -} -.dhxform_obj_dhx_skyblue div.block_dhxform_item_label_left { - display: block; - clear: both; - *clear: none; -} -.dhxform_obj_dhx_skyblue div.dhxform_label div.dhxform_label_nav_link, -.dhxform_obj_dhx_skyblue div.dhxform_label div.dhxform_label_nav_link:visited, -.dhxform_obj_dhx_skyblue div.dhxform_label div.dhxform_label_nav_link:active, -.dhxform_obj_dhx_skyblue div.dhxform_label div.dhxform_label_nav_link:hover { - outline: none; - text-decoration: none; - color: inherit; - cursor: default; - overflow: hidden; - white-space: normal; - apadding-top: 1px; -} -.dhxform_obj_dhx_skyblue div.dhxform_label div.dhxform_label_nav_link:focus { - color: #305f87; -} -.dhxform_obj_dhx_skyblue div.disabled span.nav_link { - color: inherit; -} -.dhxform_obj_dhx_skyblue div.dhxform_img, -.dhxform_obj_dhx_skyblue div.dhxform_actv_c, -.dhxform_obj_dhx_skyblue div.dhxform_actv_r { - width: 18px; - height: 18px; - font-size: 1px; -} -.dhxform_obj_dhx_skyblue div.dhxform_img.chbx0, -.dhxform_obj_dhx_skyblue div.dhxform_img.chbx1, -.dhxform_obj_dhx_skyblue div.disabled div.dhxform_img.chbx0, -.dhxform_obj_dhx_skyblue div.disabled div.dhxform_img.chbx1, -.dhxform_obj_dhx_skyblue div.dhxform_img.rdbt0, -.dhxform_obj_dhx_skyblue div.dhxform_img.rdbt1, -.dhxform_obj_dhx_skyblue div.disabled div.dhxform_img.rdbt0, -.dhxform_obj_dhx_skyblue div.disabled div.dhxform_img.rdbt1, -.dhxform_obj_dhx_skyblue div.dhxform_actv_c.chbx0, -.dhxform_obj_dhx_skyblue div.dhxform_actv_c.chbx1, -.dhxform_obj_dhx_skyblue div.dhxform_actv_r.rdbt0, -.dhxform_obj_dhx_skyblue div.dhxform_actv_r.rdbt1 { - background-image: url("imgs/dhxform_skyblue/dhxform_chbxrd.gif"); - background-repeat: no-repeat; -} -.dhxform_obj_dhx_skyblue div.dhxform_actv_c.chbx0 { - background-position: -162px 0; -} -.dhxform_obj_dhx_skyblue div.dhxform_actv_c.chbx1 { - background-position: -144px 0; -} -.dhxform_obj_dhx_skyblue div.dhxform_actv_r.rdbt0 { - background-position: -198px 0; -} -.dhxform_obj_dhx_skyblue div.dhxform_actv_r.rdbt1 { - background-position: -180px 0; -} -.dhxform_obj_dhx_skyblue div.dhxform_img.chbx0 { - background-position: -18px 0; -} -.dhxform_obj_dhx_skyblue div.dhxform_img.chbx1 { - background-position: 0 0; -} -.dhxform_obj_dhx_skyblue div.disabled div.dhxform_img.chbx0 { - background-position: -54px 0; -} -.dhxform_obj_dhx_skyblue div.disabled div.dhxform_img.chbx1 { - background-position: -36px 0; -} -.dhxform_obj_dhx_skyblue div.dhxform_img.rdbt0 { - background-position: -90px 0; -} -.dhxform_obj_dhx_skyblue div.dhxform_img.rdbt1 { - background-position: -72px 0; -} -.dhxform_obj_dhx_skyblue div.disabled div.dhxform_img.rdbt0 { - background-position: -126px 0; -} -.dhxform_obj_dhx_skyblue div.disabled div.dhxform_img.rdbt1 { - background-position: -108px 0; -} -.dhxform_obj_dhx_skyblue div.dhxform_label { - font-family: inherit; - font-size: inherit; - color: black; - overflow-x: hidden; - overflow: hidden; - white-space: normal; -} -.dhxform_obj_dhx_skyblue div.dhxform_label.dhxform_label_align_left { - text-align: left; -} -.dhxform_obj_dhx_skyblue.dhxform_rtl div.dhxform_label.dhxform_label_align_left { - text-align: right; -} -.dhxform_obj_dhx_skyblue div.dhxform_label.dhxform_label_align_center { - text-align: center; -} -.dhxform_obj_dhx_skyblue div.dhxform_label.dhxform_label_align_right { - text-align: right; -} -.dhxform_obj_dhx_skyblue.dhxform_rtl div.dhxform_label.dhxform_label_align_right { - text-align: left; -} -.dhxform_obj_dhx_skyblue div.disabled div.dhxform_label, -.dhxform_obj_dhx_skyblue div.disabled div.dhxform_label div.dhxform_label_nav_link, -.dhxform_obj_dhx_skyblue div.disabled div.dhxform_label span.dhxform_item_required { - color: #b2b2b2; -} -.dhxform_obj_dhx_skyblue div.dhxform_label span.dhxform_item_required { - margin-left: 5px; - margin-right: 0; - color: red; -} -.dhxform_obj_dhx_skyblue.dhxform_rtl div.dhxform_label span.dhxform_item_required { - margin-left: 0; - margin-right: 5px; -} -.dhxform_obj_dhx_skyblue input.dhxform_textarea { - padding: 4px 3px!important; - margin: 0; - font-size: 1em; -} -.dhxform_obj_dhx_skyblue textarea.dhxform_textarea { - padding: 4px 3px!important; -} -.dhxform_obj_dhx_skyblue .dhxform_textarea { - border: 1px solid #a4bed4; - font-family: Tahoma; - font-size: 1em; - color: black; - resize: none; -} -.dhxform_obj_dhx_skyblue div.disabled .dhxform_textarea { - color: #b2b2b2; - background-color: white; - border: 1px solid #c2d0dd; -} -.dhxform_obj_dhx_skyblue.dhxform_rtl .dhxform_textarea { - text-align: right; - direction: rtl; -} -.dhxform_obj_dhx_skyblue div.dhxform_control.dhxform_img_node { - position: relative; -} -.dhxform_obj_dhx_skyblue div.dhxform_control.dhxform_img_node .dhxform_textarea { - border: 1px solid white; - background-color: white; - color: white; - visibility: hidden; - *height: 1px; - *line-height: 1px; - *display: inline; -} -.dhxform_obj_dhx_skyblue div.dhxform_control.dhxform_img_node div.dhxform_img, -.dhxform_obj_dhx_skyblue div.dhxform_control.dhxform_img_node div.dhxform_actv_c, -.dhxform_obj_dhx_skyblue div.dhxform_control.dhxform_img_node div.dhxform_actv_r { - float: none; - top: 2px; - left: 2px; - position: absolute; - margin: 0; -} -.dhxform_obj_dhx_skyblue.dhxform_rtl div.dhxform_control.dhxform_img_node div.dhxform_img { - float: none; - top: 2px; - left: 0; - position: absolute; - margin: 0; -} -.dhxform_obj_dhx_skyblue .dhxform_select { - border: 1px solid #a4bed4; - background-color: #fff; - margin: 0; - padding: 3px 2px 3px 0; - font-family: Tahoma; - font-size: 1em; - color: black; -} -.dhxform_obj_dhx_skyblue .dhxform_select option { - padding-left: 2px; -} -.dhxform_obj_dhx_skyblue div.disabled .dhxform_select { - color: #b2b2b2; - background-color: #fff; - border: 1px solid #c2d0dd; -} -.dhxform_obj_dhx_skyblue.dhxform_rtl select, -.dhxform_obj_dhx_skyblue.dhxform_rtl option { - direction: rtl; -} -.dhxform_obj_dhx_skyblue div.fs_dhxform_item_label_left { - padding: 5px 0 5px 0; -} -.dhxform_obj_dhx_skyblue div.fs_dhxform_item_label_left fieldset.dhxform_fs div.dhxform_base_nested.dhxform_fs_nested { - margin-right: 19px; - margin-left: 5px; -} -.dhxform_obj_dhx_skyblue fieldset.dhxform_fs { - border: 1px solid #a4bed4; - margin: 0; - padding: 5px 0 12px 0; - clear: left; - width: 100%; -} -.dhxform_obj_dhx_skyblue div.disabled fieldset.dhxform_fs { - border: 1px solid #c2d0dd; -} -.dhxform_obj_dhx_skyblue fieldset.dhxform_fs legend.fs_legend { - font-family: Tahoma; - font-size: inherit; - color: #7099bb; - font-weight: normal; - padding: 0 4px 1px 4px; - margin-left: 5px; - text-align: left; -} -.dhxform_obj_dhx_skyblue.dhxform_rtl fieldset.dhxform_fs legend.fs_legend { - text-align: right; -} -.dhxform_obj_dhx_skyblue div.disabled fieldset.dhxform_fs legend.fs_legend { - color: #b2b2b2; -} -.dhxform_obj_dhx_skyblue div.dhxform_item_label_right { - clear: both; - padding-top: 6px; - cursor: default; - *float: left; - *display: inline-block; -} -.dhxform_obj_dhx_skyblue div.dhxform_item_label_right div.dhxform_img, -.dhxform_obj_dhx_skyblue div.dhxform_item_label_right div.dhxform_actv_c, -.dhxform_obj_dhx_skyblue div.dhxform_item_label_right div.dhxform_actv_r { - float: left; - margin: 0; -} -.dhxform_obj_dhx_skyblue.dhxform_rtl div.dhxform_item_label_right div.dhxform_img { - float: right; - margin: 0; -} -.dhxform_obj_dhx_skyblue div.dhxform_item_label_right div.dhxform_label { - float: left; - padding: 2px 0 2px 0; - margin: 2px 0 2px 0; -} -.dhxform_obj_dhx_skyblue.dhxform_rtl div.dhxform_item_label_right div.dhxform_label { - float: right; -} -.dhxform_obj_dhx_skyblue div.dhxform_item_label_right div.dhxform_control { - float: left; - margin-right: 3px; - margin-left: 0; - *display: inline; -} -.dhxform_obj_dhx_skyblue.dhxform_rtl div.dhxform_item_label_right div.dhxform_control { - float: right; - margin-right: 0; - margin-left: 3px; - *display: inline; -} -.dhxform_obj_dhx_skyblue div.dhxform_item_label_left { - clear: both; - padding-top: 6px; - cursor: default; - *float: left; - *display: inline-block; -} -.dhxform_obj_dhx_skyblue div.dhxform_item_label_left div.dhxform_img, -.dhxform_obj_dhx_skyblue div.dhxform_item_label_left div.dhxform_actv_c, -.dhxform_obj_dhx_skyblue div.dhxform_item_label_left div.dhxform_actv_r { - float: right; - amargin: 3px 1px 0 5px; -} -.dhxform_obj_dhx_skyblue.dhxform_rtl div.dhxform_item_label_left div.dhxform_img { - float: left; - amargin: 3px 5px 0 1px; -} -.dhxform_obj_dhx_skyblue div.dhxform_item_label_left div.dhxform_label { - float: left; - padding: 2px 0 2px 0; - margin: 2px 0 2px 0; -} -.dhxform_obj_dhx_skyblue.dhxform_rtl div.dhxform_item_label_left div.dhxform_label { - float: right; -} -.dhxform_obj_dhx_skyblue div.dhxform_item_label_left div.dhxform_control { - float: left; - padding-left: 4px; - padding-right: 0; -} -.dhxform_obj_dhx_skyblue.dhxform_rtl div.dhxform_item_label_left div.dhxform_control { - float: right; - padding-right: 4px; - padding-left: 0; -} -.dhxform_obj_dhx_skyblue div.dhxform_item_label_top { - clear: both; -} -.dhxform_obj_dhx_skyblue div.dhxform_item_label_top div.dhxform_label { - float: none; - margin-bottom: 5px; - margin-top: 8px; -} -.dhxform_obj_dhx_skyblue div.dhxform_item_label_top div.dhxform_control { - float: none; - margin-left: 0; - margin-bottom: 5px; -} -.dhxform_obj_dhx_skyblue.dhxform_rtl div.dhxform_item_label_top div.dhxform_control { - float: none; - margin-right: 0; -} -.dhxform_obj_dhx_skyblue div.dhxform_item_absolute { - position: absolute; - left: 0; - top: 0; - cursor: default; -} -.dhxform_obj_dhx_skyblue div.item_absolute div.dhxform_img, -.dhxform_obj_dhx_skyblue div.item_absolute div.dhxform_actv_c, -.dhxform_obj_dhx_skyblue div.item_absolute div.dhxform_actv_r { - position: absolute; -} -.dhxform_obj_dhx_skyblue div.dhxform_item_absolute div.dhxform_control, -.dhxform_obj_dhx_skyblue div.dhxform_item_absolute div.dhxform_label, -.dhxform_obj_dhx_skyblue div.dhxform_item_absolute div.dhxform_control.dhxform_img_node, -.dhxform_obj_dhx_skyblue div.dhxform_item_absolute div.dhxform_txt_label2, -.dhxform_obj_dhx_skyblue div.dhxform_item_absolute div.dhxform_btn, -.dhxform_obj_dhx_skyblue div.block_item_absolute div.dhxform_block { - position: absolute; -} -.dhxform_obj_dhx_skyblue div.dhxform_txt_label2 { - font-family: Tahoma; - font-size: inherit; - color: #7099bb; - font-weight: bold; - margin: 0 3px; - padding: 5px 0; - cursor: default; -} -.dhxform_obj_dhx_skyblue div.disabled div.dhxform_txt_label2 { - color: #b2b8bc; -} -.dhxform_obj_dhx_skyblue div.dhxform_btn { - font-family: Tahoma; - font-size: inherit; - color: black; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; - border: 1px solid #a4bed4; - background-color: #e2efff; - background: linear-gradient(#e2efff, #d3e7ff); - filter: progid: DXImageTransform.Microsoft.Gradient(gradientType=0, startColorStr=#e2efff, endColorStr=#d3e7ff) progid: DXImageTransform.Microsoft.Alpha(opacity=100); - margin: 5px 2px; - border-radius: 2px; - float: left; - cursor: default; - clear: both; -} -.dhxform_obj_dhx_skyblue.dhxform_rtl div.dhxform_btn { - float: right; -} -.dhxform_obj_dhx_skyblue div.dhxform_btn.dhxform_btn_over { - background-color: #f1f7ff; - background: linear-gradient(#f1f7ff, #e2efff); - filter: progid: DXImageTransform.Microsoft.Gradient(gradientType=0, startColorStr=#f1f7ff, endColorStr=#e2efff) progid: DXImageTransform.Microsoft.Alpha(opacity=100); -} -.dhxform_obj_dhx_skyblue div.dhxform_btn.dhxform_btn_pressed { - background-color: #d2e7fe; - background: linear-gradient(#d2e7fe, #d3e7ff); - filter: progid: DXImageTransform.Microsoft.Gradient(gradientType=0, startColorStr=#d2e7fe, endColorStr=#d3e7ff) progid: DXImageTransform.Microsoft.Alpha(opacity=100); - box-shadow: 0 0 5px rgba(127, 127, 127, 0.15) inset; -} -.dhxform_obj_dhx_skyblue div.disabled div.dhxform_btn { - border-color: #ccc; - background-color: #f9f9f9; - background: linear-gradient(#f9f9f9, #f1f1f1); - filter: progid: DXImageTransform.Microsoft.Gradient(gradientType=0, startColorStr=#f9f9f9, endColorStr=#f1f1f1) progid: DXImageTransform.Microsoft.Alpha(opacity=100); - box-shadow: 0 0 5px rgba(127, 127, 127, 0.15) inset; -} -.dhxform_obj_dhx_skyblue div.dhxform_btn div.dhxform_btn_txt { - float: left; - margin: 0 20px; - height: 24px; - line-height: 23px; - text-align: center; - vertical-align: middle; - overflow: hidden; - white-space: nowrap; - *display: inline; -} -.dhxform_obj_dhx_skyblue div.disabled div.dhxform_btn div.dhxform_btn_txt { - color: #999!important; -} -.dhxform_obj_dhx_skyblue div.dhxform_btn:focus { - outline: 1px dotted #909090; -} -.dhxform_obj_dhx_skyblue div.dhxform_control div.dhxform_note { - font-family: Tahoma; - font-size: .8em; - color: #808080; - padding-bottom: 3px; - white-space: normal; -} -.dhxform_obj_dhx_skyblue div.disabled div.dhxform_control div.dhxform_note { - color: #b2b2b2; -} -.dhxform_obj_dhx_skyblue div.dhxform_label span.dhxform_info { - font-family: Tahoma; - font-size: .6em; - color: #808080; - margin-left: 3px; - padding-bottom: 2px; - line-height: 100%; - vertical-align: middle; - cursor: pointer; -} -.dhxform_obj_dhx_skyblue .validate_error .dhxform_label, -.dhxform_obj_dhx_skyblue .validate_error .dhxform_textarea, -.dhxform_obj_dhx_skyblue .validate_error .dhxform_select, -.dhxform_obj_dhx_skyblue .validate_error div.dhxform_label_nav_link, -.dhxform_obj_dhx_skyblue .validate_error div.dhxform_label div.dhxform_label_nav_link:focus { - color: red; -} -.dhxform_obj_dhx_skyblue div.disabled .dhx_combo_box.dhx_skyblue { - border: 1px solid #c2d0dd; -} -.dhxform_obj_dhx_skyblue div.disabled .dhx_combo_box.dhx_skyblue .dhx_combo_input { - color: #b2b2b2; - background-color: #fff; -} -.dhxform_obj_dhx_skyblue div.dhxform_item_template.dhxeditor_dhx_skyblue div.dhx_cell_editor div.dhx_cell_stb { - border-left: 1px solid #a4bed4; - border-right: 1px solid #a4bed4; - border-top: 1px solid #a4bed4; -} -.dhxform_obj_dhx_skyblue div.dhxform_item_template.dhxeditor_dhx_skyblue div.dhx_cell_editor div.dhx_cell_cont_editor { - border-left: 1px solid #a4bed4; - border-right: 1px solid #a4bed4; - border-bottom: 1px solid #a4bed4; -} -.dhxform_obj_dhx_skyblue div.dhxform_item_template.dhxeditor_dhx_skyblue div.dhxcont_content_blocker { - display: none; -} -.dhxform_obj_dhx_skyblue div.disabled div.dhxform_item_template.dhxeditor_dhx_skyblue div.dhxcont_content_blocker { - display: inline; - position: absolute; - width: 100%; - height: 100%; - top: 0; - left: 0; - background-color: #fefefe; - opacity: .7; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=70); -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader { - position: relative; - width: 100%; - margin-bottom: 4px; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls { - position: relative; - width: 100%; - height: 35px; - font-size: 2px; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button { - position: absolute; - width: 19px; - height: 19px; - top: 8px; - background-image: url("imgs/dhxform_skyblue/dhxform_upload_buttons.gif"); - background-repeat: no-repeat; - font-size: 2px; - cursor: pointer; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_info { - display: none; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_browse { - background-position: 0 0; - right: 108px; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_upload { - background-position: -19px 0; - right: 79px; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_cancel { - background-position: -57px 0; - right: 79px; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_clear { - background-position: -38px 0; - right: 50px; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls .dhx_uploader_input { - position: absolute; - left: -1000px; - top: 0; - visibility: hidden; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls div.dhx_file_form_cont { - position: absolute; - width: 19px; - height: 19px; - left: 0; - top: 0; - cursor: pointer; - overflow: hidden; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls div.dhx_file_form_cont form.dhx_file_form { - position: absolute; - top: 0; - right: 0; - cursor: pointer; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls div.dhx_file_form_cont form.dhx_file_form .dhx_file_input { - opacity: 0; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=0); - cursor: pointer; - outline: none; - height: 19px; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files { - position: relative; - width: 100%; - left: 0; - top: 0; - overflow: auto; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files div.dhx_file { - position: relative; - width: 100%; - height: 25px; - overflow: hidden; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_added, -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_uploading { - color: black; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_uploaded { - color: #30678a; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_fail { - color: #e94a4a; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files div.dhx_file_param { - position: absolute; - font-family: inherit; - font-size: inherit; - color: inherit; - top: 0; - height: 25px; - line-height: 25px; - vertical-align: middle; - overflow: hidden; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_name { - left: 20px; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_progress { - right: 50px; - width: 38px; - text-align: right; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_delete { - right: 30px; - width: 11px; - background-image: url("imgs/dhxform_skyblue/dhxform_upload_buttons.gif"); - background-position: -76px 0; - background-repeat: no-repeat; - cursor: pointer; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_uploading { - right: 50px; - width: 38px; - text-align: right; - background-image: url("imgs/dhxform_skyblue/dhxform_upload_uploading.gif"); - background-position: center center; - background-repeat: no-repeat; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls { - height: 60px; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_files { - display: none; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_info { - display: inline; - background-image: none; - font-family: Tahoma; - font-size: 13px; - color: #a1a1a1; - height: auto; - top: 0; - left: 35px; - vertical-align: top; - padding-top: 6px; - line-height: 20px; - cursor: default; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_browse { - top: 0; - width: 54px; - height: 54px; - right: 35px; - background-image: url("imgs/dhxform_skyblue/dhxform_upload_buttons.gif"); - background-position: 0 -38px; - background-repeat: no-repeat; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_upload, -.dhxform_obj_dhx_skyblue .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_cancel, -.dhxform_obj_dhx_skyblue .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_clear { - display: none; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_form_cont { - width: 54px; - height: 54px; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_form_cont form.dhx_file_form .dhx_file_input { - height: 54px; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_info, -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_added, -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_uploading, -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_uploaded, -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_fail { - color: #b2b2b2; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_browse { - background-position: -54px -38px; - cursor: default; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_form_cont { - display: none; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button { - cursor: default; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_browse { - background-position: 0 -19px; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_upload { - background-position: -19px -19px; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_cancel { - background-position: -57px -19px; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_clear { - background-position: -38px -19px; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file_param.dhx_file_delete { - background-position: -87px 0; - cursor: default; -} -.dhtmlx_skin_dhx_skyblue div.dhtmlx_wins_body_inner .dhxform_obj_dhx_skyblue { - background-color: white; -} -.dhxform_obj_dhx_skyblue div.dhxform_control .dhx_combo_box.dhx_skyblue .dhx_combo_input, -.dhx_combo_list.dhx_skyblue_list div { - font-size: 1em!important; -} -div.dhx_form_skin_detect { - position: absolute; - display: block; - visibility: hidden; - left: -100px; - top: 0; - width: 10px; - height: 10px; - margin: 0; - padding: 0; - border: none; - overflow: hidden; -} -.dhxacc_fullscreen { - width: 100%; - height: 100%; - margin: 0; - overflow: hidden; -} -.dhxacc_base_dhx_skyblue { - position: relative; - cursor: default; - overflow: hidden; -} -.dhxacc_base_dhx_skyblue div.dhx_cell_acc { - position: relative; - background-color: #fff; - margin: 0; - padding: 0; - overflow: hidden; - cursor: default; - box-shadow: 0 0 3px #e0e0e0; -} -.dhxacc_base_dhx_skyblue div.dhx_cell_acc div.dhx_cell_cont_acc { - position: absolute; - border-left: 1px solid #a4bed4; - border-right: 1px solid #a4bed4; - border-bottom: 1px solid #a4bed4; - border-top: 0 solid white; - overflow: hidden; - z-index: 0; -} -.dhxacc_base_dhx_skyblue div.dhx_cell_acc div.dhx_cell_cont_acc.dhx_cell_cont_no_borders { - border-width: 0; -} -.dhxacc_base_dhx_skyblue div.dhx_cell_acc div.dhx_cell_hdr { - position: relative; - height: 27px; - line-height: 26px; - overflow: hidden; - font-family: Tahoma; - font-size: 11px; - color: #34404b; - font-weight: bold; - border: 1px solid #a4bed4; - background-color: #e2efff; - background: linear-gradient(#e2efff, #d3e7ff); - filter: progid: DXImageTransform.Microsoft.Gradient(gradientType=0, startColorStr=#e2efff, endColorStr=#d3e7ff) progid: DXImageTransform.Microsoft.Alpha(opacity=100); - cursor: default; - z-index: 3; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; -} -.dhxacc_base_dhx_skyblue div.dhx_cell_acc div.dhx_cell_hdr div.dhx_cell_hdr_text { - position: relative; - margin: 0 26px 0 5px; - overflow: hidden; - white-space: nowrap; - cursor: default; -} -.dhxacc_base_dhx_skyblue div.dhx_cell_acc div.dhx_cell_hdr img.dhx_cell_hdr_icon { - position: absolute; - top: 5px; - left: 4px; - width: 16px; - height: 16px; -} -.dhxacc_base_dhx_skyblue div.dhx_cell_acc div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_icon { - margin-left: 24px; -} -.dhxacc_base_dhx_skyblue div.dhx_cell_acc div.dhx_cell_hdr div.dhx_cell_hdr_arrow { - position: absolute; - top: 6px; - right: 4px; - width: 16px; - height: 16px; - background-image: url("imgs/dhxacc_skyblue/dhxacc_btns.gif"); - background-repeat: no-repeat; - background-position: 0 0; - overflow: hidden; - cursor: pointer; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; -} -.dhxacc_base_dhx_skyblue div.dhx_cell_acc.dhx_cell_closed div.dhx_cell_hdr div.dhx_cell_hdr_arrow { - background-position: -16px 0; -} -.dhxacc_base_dhx_skyblue div.dhx_cell_acc div.dhx_cell_cont.dhx_cell_cont_not_last { - border-bottom: 0 solid white; -} -.dhxacc_base_dhx_skyblue div.dhx_cell_acc div.dhx_cell_menu_def { - position: relative; - overflow: hidden; - border-left: 1px solid #a4bed4; - border-right: 1px solid #a4bed4; - border-bottom: 1px solid #a4bed4; -} -.dhxacc_base_dhx_skyblue div.dhx_cell_acc div.dhx_cell_menu_no_borders { - position: relative; - overflow: hidden; -} -.dhxacc_base_dhx_skyblue div.dhx_cell_acc div.dhx_cell_menu_def div.dhtmlxMenu_dhx_skyblue_Middle, -.dhxacc_base_dhx_skyblue div.dhx_cell_acc div.dhx_cell_menu_no_borders div.dhtmlxMenu_dhx_skyblue_Middle { - padding: 0 2px; -} -.dhxacc_base_dhx_skyblue div.dhx_cell_acc div.dhx_cell_toolbar_def div.dhx_toolbar_dhx_skyblue { - border-top-width: 0; -} -.dhxacc_base_dhx_skyblue div.dhx_cell_acc div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_dhx_skyblue { - margin-top: -1px; -} -.dhxacc_base_dhx_skyblue div.dhx_cell_acc div.dhx_cell_ribbon_def div.dhtmlxribbon_dhx_skyblue.dhxrb_without_tabbar { - border-top: 0 solid white; - width: auto; -} -.dhxacc_base_dhx_skyblue div.dhx_cell_acc div.dhx_cell_statusbar_def { - position: absolute; - bottom: 0; - width: 100%; - font-family: Tahoma; - font-size: 11px; - color: black; - background-color: #ddecff; -} -.dhxacc_base_dhx_skyblue div.dhx_cell_acc div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - position: relative; - padding: 0 4px; - height: 21px; - line-height: 21px; - border-bottom: 1px solid #a4bed4; - border-left: 1px solid #a4bed4; - border-right: 1px solid #a4bed4; - white-space: nowrap; - overflow: hidden; -} -.dhxacc_base_dhx_skyblue div.dhx_cell_acc.acc_cell_dragged { - box-shadow: 0 0 5px #829cb2; - z-index: 5!important; -} -.dhxacc_base_dhx_skyblue div.dhx_cell_acc div.dhx_cell_progress_bar { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background-color: white; - opacity: .75; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=75); - z-index: 1; -} -.dhxacc_base_dhx_skyblue div.dhx_cell_acc div.dhx_cell_progress_img { - position: absolute; - left: 0; - top: 0; - border: 1px solid #a4bed4; - background-position: center 55%; - background-image: url("imgs/dhxacc_skyblue/dhxacc_cell_progress.gif"); - background-repeat: no-repeat; - cursor: progress; - z-index: 2; -} -.dhxacc_skin_detect { - position: absolute; - left: 0; - top: -100px; - margin: 0; - padding: 0; - border: 0 solid white; - width: 10px; - height: 10px; - overflow: hidden; -} -.dhxlayout_base_dhx_skyblue { - position: relative; - cursor: default; -} -.dhxlayout_base_dhx_skyblue div.dhxlayout_sep { - position: absolute; - background-color: #ebebeb; - font-size: 1px; - margin: 0; - padding: 0; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; - background-repeat: no-repeat; - background-position: center center; - z-index: 2; -} -.dhxlayout_base_dhx_skyblue div.dhxlayout_sep.dhxlayout_sep_resize_v { - cursor: w-resize; - background-image: url('imgs/dhxlayout_skyblue/dhxlayout_sep_v.gif'); -} -.dhxlayout_base_dhx_skyblue div.dhxlayout_sep.dhxlayout_sep_resize_h { - cursor: n-resize; - background-image: url('imgs/dhxlayout_skyblue/dhxlayout_sep_h.gif'); -} -.dhxlayout_base_dhx_skyblue div.dhx_cell_layout { - position: absolute; - background-color: #fff; - margin: 0; - padding: 0; - overflow: hidden; - cursor: default; - z-index: 0; -} -.dhxlayout_base_dhx_skyblue div.dhx_cell_layout div.dhx_cell_cont_layout { - position: absolute; - border-left: 1px solid #a4bed4; - border-right: 1px solid #a4bed4; - border-bottom: 1px solid #a4bed4; - border-top: 0 solid #fff; - overflow: hidden; -} -.dhxlayout_base_dhx_skyblue div.dhx_cell_layout div.dhx_cell_cont_layout.dhx_cell_cont_no_borders { - border: 0 solid #fff!important; -} -.dhxlayout_base_dhx_skyblue div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_cont_layout, -.dhxlayout_base_dhx_skyblue div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_cont_layout { - display: none; -} -.dhxlayout_base_dhx_skyblue div.dhx_cell_layout div.dhx_cell_hdr { - position: relative; - height: 27px; - line-height: 26px; - overflow: hidden; - font-family: Tahoma; - font-size: 11px; - color: #34404b; - font-weight: bold; - border: 1px solid #a4bed4; - background-color: #e2efff; - background: linear-gradient(#e2efff, #d3e7ff); - filter: progid: DXImageTransform.Microsoft.Gradient(gradientType=0, startColorStr=#e2efff, endColorStr=#d3e7ff) progid: DXImageTransform.Microsoft.Alpha(opacity=100); - cursor: default; -} -.dhxlayout_base_dhx_skyblue div.dhx_cell_layout div.dhx_cell_hdr.dhx_cell_hdr_hidden { - height: 0; - line-height: 0; - border-bottom-width: 0; - overflow: hidden; -} -.dhxlayout_base_dhx_skyblue div.dhx_cell_layout div.dhx_cell_hdr.dhx_cell_hdr_hidden_no_borders { - height: 0; - line-height: 0; - border-width: 0; - overflow: hidden; -} -.dhxlayout_base_dhx_skyblue div.dhx_cell_layout div.dhx_cell_hdr div.dhx_cell_hdr_text { - position: relative; - margin: 0 26px 0 5px; - overflow: hidden; - white-space: nowrap; - cursor: default; -} -.dhxlayout_base_dhx_skyblue div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_hdr { - height: 18px; - line-height: 17px; - color: #333; - font-weight: normal; -} -.dhxlayout_base_dhx_skyblue div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr { - width: 18px; - background: -moz-linear-gradient(left, #e2efff, #d3e7ff); - background: -webkit-linear-gradient(left, #e2efff, #d3e7ff); - background: -o-linear-gradient(left, #e2efff, #d3e7ff); - background: -ms-linear-gradient(left, #e2efff, #d3e7ff); - filter: progid: DXImageTransform.Microsoft.Gradient(gradientType=1, startColorStr=#e2efff, endColorStr=#d3e7ff); -} -.dhxlayout_base_dhx_skyblue div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text { - position: absolute; - left: 3px; - bottom: 0; - transform: rotate(270deg); - -ms-transform: rotate(270deg); - transform-origin: left center; - color: #333; - font-weight: normal; -} -.dhxlayout_base_dhx_skyblue div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie8 { - left: -5px; - line-height: 17px; -} -.dhxlayout_base_dhx_skyblue div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie8 span { - float: left; - filter: progid: DXImageTransform.Microsoft.Matrix(M11='6.123031769111886e-17', M12='1', M21='-1', M22='6.123031769111886e-17', sizingMethod='auto expand'); - margin-bottom: 95%; -} -.dhxlayout_base_dhx_skyblue div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie7 { - left: -5px; - line-height: 17px; - padding-bottom: 10px; -} -.dhxlayout_base_dhx_skyblue div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie7 span { - float: left; - filter: progid: DXImageTransform.Microsoft.Matrix(M11='6.123031769111886e-17', M12='1', M21='-1', M22='6.123031769111886e-17', sizingMethod='auto expand'); -} -.dhxlayout_base_dhx_skyblue div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie6 { - left: -5px; - line-height: 17px; - padding-bottom: 10px; -} -.dhxlayout_base_dhx_skyblue div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie6 span { - float: left; - filter: progid: DXImageTransform.Microsoft.Matrix(M11='6.123031769111886e-17', M12='1', M21='-1', M22='6.123031769111886e-17', sizingMethod='auto expand'); -} -.dhxlayout_base_dhx_skyblue div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_chrome { - left: 5px; - -webkit-transform: rotate(270deg); - -webkit-transform-origin: left center; -} -.dhxlayout_base_dhx_skyblue div.dhx_cell_layout div.dhx_cell_hdr div.dhxlayout_arrow { - position: absolute; - right: 4px; - top: 6px; - width: 16px; - height: 16px; - background-image: url('imgs/dhxlayout_skyblue/dhxlayout_cell_btns.gif'); - background-repeat: no-repeat; - cursor: pointer; -} -.dhxlayout_base_dhx_skyblue div.dhx_cell_layout div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_va { - background-position: -16px 0; -} -.dhxlayout_base_dhx_skyblue div.dhx_cell_layout div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_vb { - background-position: -48px 0; -} -.dhxlayout_base_dhx_skyblue div.dhx_cell_layout div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_ha { - background-position: -32px 0; -} -.dhxlayout_base_dhx_skyblue div.dhx_cell_layout div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_hb { - background-position: 0 0; -} -.dhxlayout_base_dhx_skyblue div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_ha { - background-position: 0 -5px; -} -.dhxlayout_base_dhx_skyblue div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_hb { - background-position: -32px -4px; -} -.dhxlayout_base_dhx_skyblue div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_va { - background-position: -45px 0; -} -.dhxlayout_base_dhx_skyblue div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_vb { - background-position: -13px 0; -} -.dhxlayout_base_dhx_skyblue div.dhxlayout_resize_area { - position: absolute; - background-color: #a4bed4; - opacity: .15; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=15); - z-index: 1; - border: 2px dashed black; - cursor: inherit; -} -.dhxlayout_base_dhx_skyblue div.dhxlayout_resize_sep { - position: absolute; - background-color: #a4bed4; - overflow: hidden; - display: block; - opacity: .5; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=50); - z-index: 2; - cursor: inherit; -} -.dhxlayout_base_dhx_skyblue div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_statusbar_def, -.dhxlayout_base_dhx_skyblue div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_statusbar_def { - display: none; -} -.dhxlayout_base_dhx_skyblue div.dhxlayout_hdr_attached { - position: relative; -} -.dhxlayout_base_dhx_skyblue div.dhxlayout_ftr_attached { - position: absolute; -} -.dhxlayout_base_dhx_skyblue div.dhx_cell_layout div.dhx_cell_menu_def { - position: relative; - overflow: hidden; - border-left: 1px solid #a4bed4; - border-right: 1px solid #a4bed4; - border-bottom: 1px solid #a4bed4; -} -.dhxlayout_base_dhx_skyblue div.dhx_cell_layout div.dhx_cell_menu_no_borders { - position: relative; - overflow: hidden; -} -.dhxlayout_base_dhx_skyblue div.dhx_cell_layout div.dhx_cell_menu_def div.dhtmlxMenu_dhx_skyblue_Middle, -.dhxlayout_base_dhx_skyblue div.dhx_cell_layout div.dhx_cell_menu_no_borders div.dhtmlxMenu_dhx_skyblue_Middle { - padding: 0 2px; -} -.dhxlayout_base_dhx_skyblue div.dhx_cell_layout div.dhx_cell_toolbar_def { - position: relative; - overflow: hidden; -} -.dhxlayout_base_dhx_skyblue div.dhx_cell_layout div.dhx_cell_toolbar_def div.dhx_toolbar_dhx_skyblue { - border-top-width: 0; -} -.dhxlayout_base_dhx_skyblue div.dhx_cell_layout div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_dhx_skyblue { - margin-top: -1px; -} -.dhxlayout_base_dhx_skyblue div.dhx_cell_layout div.dhx_cell_ribbon_def div.dhtmlxribbon_dhx_skyblue.dhxrb_without_tabbar { - border-top-width: 0; - width: auto; -} -.dhxlayout_base_dhx_skyblue div.dhx_cell_layout div.dhx_cell_statusbar_def { - position: absolute; - bottom: 0; - width: 100%; - font-family: Tahoma; - font-size: 11px; - color: black; - background-color: #ddecff; -} -.dhxlayout_base_dhx_skyblue div.dhx_cell_layout div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - position: relative; - padding: 0 4px; - height: 21px; - line-height: 21px; - border-bottom: 1px solid #a4bed4; - border-left: 1px solid #a4bed4; - border-right: 1px solid #a4bed4; - white-space: nowrap; - overflow: hidden; -} -.dhxlayout_base_dhx_skyblue div.dhxlayout_progress { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background-color: white; - opacity: .55; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=55); - z-index: 3; -} -.dhxlayout_base_dhx_skyblue div.dhxlayout_progress_img { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background-image: url('imgs/dhxlayout_skyblue/dhxlayout_cell_progress.gif'); - background-position: center center; - background-repeat: no-repeat; - z-index: 4; -} -.dhxlayout_base_dhx_skyblue div.dhx_cell_layout div.dhx_cell_progress_bar { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background-color: #fff; - opacity: .75; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=75); - z-index: 1; -} -.dhxlayout_base_dhx_skyblue div.dhx_cell_layout div.dhx_cell_progress_img { - position: absolute; - left: 0; - top: 0; - border: 1px solid #a4bed4; - background-image: url('imgs/dhxlayout_skyblue/dhxlayout_cell_progress.gif'); - background-position: center center; - background-repeat: no-repeat; - z-index: 2; -} -.dhxlayout_base_dhx_skyblue div.dhxlayout_menu { - position: relative; - overflow: hidden; -} -.dhxlayout_base_dhx_skyblue div.dhxlayout_toolbar { - position: relative; - background-color: #ebebeb; - padding-bottom: 4px; - overflow: hidden; -} -.dhxlayout_base_dhx_skyblue div.dhxlayout_ribbon { - border-bottom: 2px solid #ebebeb; - position: relative; -} -.dhxlayout_base_dhx_skyblue div.dhxlayout_ribbon div.dhtmlxribbon_dhx_skyblue.dhxrb_without_tabbar { - width: auto; -} -.dhxlayout_base_dhx_skyblue div.dhxlayout_statusbar { - position: absolute; - background-color: #ebebeb; - overflow: hidden; -} -.dhxlayout_base_dhx_skyblue div.dhxlayout_statusbar div.dhxcont_statusbar { - position: relative; - margin-top: 2px; - border: 1px solid #a4bed4; - background-color: #ddecff; - font-family: Tahoma; - font-size: 11px; - color: black; - padding: 3px 4px; -} -body.dhxlayout_resize_v * { - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; - cursor: w-resize!important; -} -body.dhxlayout_resize_h * { - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; - cursor: n-resize!important; -} -div.dhxlayout_sep_sw_dhx_skyblue { - position: absolute; - left: 0; - top: -100px; - width: 5px; - height: 1px; - font-size: 1px; - margin: 0; - padding: 0; - overflow: hidden; -} -.dhxlayout_skin_detect { - position: absolute; - left: 0; - top: -100px; - margin: 0; - padding: 0; - border: 0 solid white; - width: 10px; - height: 10px; - overflow: hidden; -} -.dhxtabbar_skin_detect { - position: absolute; - left: 0; - top: -100px; - margin: 0; - padding: 0; - border: 0 solid white; - width: 10px; - height: 10px; - overflow: hidden; -} -.dhxtabbar_fullscreen { - width: 100%; - height: 100%; - margin: 0; - overflow: hidden; -} -.dhxtabbar_base_dhx_skyblue { - position: relative; -} -.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs { - position: absolute; - bottom: auto; - height: 28px; - overflow: hidden; - white-space: nowrap; - border: 1px solid #a4bed4; - background-color: #e2efff; - background: linear-gradient(#e2efff, #d3e7ff); - filter: progid: DXImageTransform.Microsoft.Gradient(gradientType=0, startColorStr=#e2efff, endColorStr=#d3e7ff) progid: DXImageTransform.Microsoft.Alpha(opacity=100); - z-index: 2; -} -.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs { - top: auto; - bottom: 0; -} -.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tabs_base { - position: absolute; - top: 0; - height: 28px; - overflow: hidden; -} -.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tabs_cont_left, -.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tabs_cont_right { - position: absolute; - width: 5000px; - height: 28px; - margin: 0 1px; - top: 0; - -webkit-transform: translate3d(0, 0, 0); - -moz-transform: translate3d(0, 0, 0); - -ms-transform: translate3d(0, 0, 0); - -o-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; -} -.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tabs_line { - position: absolute; - left: 0; - bottom: 0; - top: none; - width: 100%; - height: 4px; - overflow: hidden; - z-index: 2; - border-top: 1px solid #a4bed4; - border-bottom: 0 solid white; - background-color: #d3e7ff; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; -} -.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_left { - position: absolute; - left: 0; - top: 0; - width: 15px; - height: 100%; - background-color: #fffeff; - background: linear-gradient(#fffeff, #d3e7ff); - filter: progid: DXImageTransform.Microsoft.Gradient(gradientType=0, startColorStr=#fffeff, endColorStr=#d3e7ff) progid: DXImageTransform.Microsoft.Alpha(opacity=100); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; - cursor: pointer; - z-index: 4; -} -.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_left div.dhxtabbar_arrow_img { - position: relative; - height: 100%; - border-right: 1px solid #a4bed4; - background-image: url("imgs/dhxtabbar_skyblue/dhxtabbar_arrows.gif"); - background-position: 0 11px; - background-repeat: no-repeat; -} -.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_right { - position: absolute; - right: 0; - top: 0; - width: 15px; - height: 100%; - background-color: #fffeff; - background: linear-gradient(#fffeff, #d3e7ff); - filter: progid: DXImageTransform.Microsoft.Gradient(gradientType=0, startColorStr=#fffeff, endColorStr=#d3e7ff) progid: DXImageTransform.Microsoft.Alpha(opacity=100); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; - cursor: pointer; - z-index: 4; -} -.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_right div.dhxtabbar_arrow_img { - position: relative; - height: 100%; - border-left: 1px solid #a4bed4; - background-image: url("imgs/dhxtabbar_skyblue/dhxtabbar_arrows.gif"); - background-position: -14px 11px; - background-repeat: no-repeat; -} -.dhxtabbar_base_dhx_skyblue div.dhx_cell_tabbar { - position: absolute; - background-color: white; - margin: 0; - padding: 0; - overflow: hidden; - cursor: default; - z-index: 0; - background-image: none!important; -} -.dhxtabbar_base_dhx_skyblue div.dhx_cell_tabbar div.dhx_cell_cont_tabbar { - position: absolute; - border-left: 1px solid #a4bed4; - border-right: 1px solid #a4bed4; - border-bottom: 1px solid #a4bed4; - border-top: 0 solid white; - overflow: hidden; -} -.dhxtabbar_base_dhx_skyblue div.dhx_cell_tabbar div.dhx_cell_cont_tabbar.dhx_cell_cont_no_borders { - border: 0 solid white!important; -} -.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tab { - position: relative; - height: 24px; - background-color: white; - font-family: Tahoma; - font-size: 11px; - color: #34404b; - border-left: 1px solid #a4bed4; - border-right: 1px solid #a4bed4; - z-index: 1; - cursor: pointer; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; - background-color: #e2efff; - background: linear-gradient(#e2efff, #d3e7ff); - filter: progid: DXImageTransform.Microsoft.Gradient(gradientType=0, startColorStr=#e2efff, endColorStr=#d3e7ff) progid: DXImageTransform.Microsoft.Alpha(opacity=100); - -webkit-transform: translate3d(0, 0, 0); - -moz-transform: translate3d(0, 0, 0); - -ms-transform: translate3d(0, 0, 0); - -o-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tabs_cont_left div.dhxtabbar_tab { - float: left; - margin-left: -1px; - margin-right: 0; -} -.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tabs_cont_right div.dhxtabbar_tab { - float: right; - margin-left: 0; - margin-right: -1px; -} -.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_dis { - background-color: #ecf5ff; - background: linear-gradient(#ecf5ff, #d3e7ff); - filter: progid: DXImageTransform.Microsoft.Gradient(gradientType=0, startColorStr=#ecf5ff, endColorStr=#d3e7ff) progid: DXImageTransform.Microsoft.Alpha(opacity=100); -} -.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv, -.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv_dis { - z-index: 3; -} -.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_hidden { - border: none; -} -.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tab div.dhxtabbar_tab_text { - position: relative; - height: 23px; - line-height: 22px; - vertical-align: middle; - top: 0; - border-top: 1px solid #fff; - color: #34404b; - text-align: center; - overflow: hidden; -} -.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tab div.dhxtabbar_tab_text.dhxtabbar_tab_text_close { - padding-right: 9px; -} -.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv div.dhxtabbar_tab_text, -.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv_dis div.dhxtabbar_tab_text { - border-left: 1px solid #fff; - border-right: 1px solid #fff; -} -.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv div.dhxtabbar_tab_text { - color: #34404b; - font-weight: bold; -} -.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv_dis div.dhxtabbar_tab_text { - font-weight: bold; -} -.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_dis div.dhxtabbar_tab_text, -.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv_dis div.dhxtabbar_tab_text { - color: #999; -} -.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tab div.dhxtabbar_tab_close { - position: absolute; - top: 6px; - right: 5px; - width: 11px; - height: 11px; - border: 1px solid #b4d3ff; - border-radius: 2px; - background-image: url("imgs/dhxtabbar_skyblue/dhxtabbar_button_close.gif"); - background-position: 0 0; - background-repeat: no-repeat; - line-height: 1px; - overflow: hidden; - z-index: 1; -} -.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv div.dhxtabbar_tab_close { - border: 1px solid #a4bed4; - background-position: -11px 0; -} -.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_dis div.dhxtabbar_tab_close, -.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv_dis div.dhxtabbar_tab_close { - border: 1px solid #a4bed4; - background-position: -22px 0; -} -.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs_bottom div.dhx_cell_tabbar div.dhx_cell_cont_tabbar { - border-top: 1px solid #a4bed4; - border-bottom: 0 solid white; -} -.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs_bottom div.dhx_cell_tabbar div.dhx_toolbar_dhx_skyblue { - border-bottom-width: 0; - border-top-width: 1px; -} -.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tab { - margin-top: 4px; -} -.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv, -.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv_dis { - z-index: 3; - font-weight: bold; -} -.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tab div.dhxtabbar_tab_text { - top: 0; - border-top: 0 solid white; -} -.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tab div.dhxtabbar_tab_close { - top: auto; - bottom: 5px; -} -.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tabs_line { - top: 0; - bottom: none; - border-bottom: 1px solid #a4bed4; - border-top: 0 solid white; - background-color: #e2efff; -} -.dhxtabbar_base_dhx_skyblue div.dhx_cell_tabbar div.dhx_cell_menu_def { - position: relative; - overflow: hidden; - border-left: 1px solid #a4bed4; - border-right: 1px solid #a4bed4; - border-bottom: 1px solid #a4bed4; - border-top: 0 solid white; -} -.dhxtabbar_base_dhx_skyblue div.dhx_cell_tabbar div.dhx_cell_menu_def div.dhtmlxMenu_dhx_skyblue_Middle { - padding: 0 2px; -} -.dhxtabbar_base_dhx_skyblue div.dhx_cell_tabbar div.dhx_cell_menu_no_borders { - position: relative; - overflow: hidden; -} -.dhxtabbar_base_dhx_skyblue div.dhx_cell_tabbar div.dhx_cell_menu_no_borders div.dhtmlxMenu_dhx_skyblue_Middle { - padding: 0 2px; -} -.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs_bottom div.dhx_cell_tabbar div.dhx_cell_menu_def { - border-left: 1px solid #a4bed4; - border-right: 1px solid #a4bed4; - border-top: 1px solid #a4bed4; - border-bottom: 0 solid white; -} -.dhxtabbar_base_dhx_skyblue div.dhx_cell_tabbar div.dhx_toolbar_dhx_skyblue { - border-bottom-width: 1px; - border-top-width: 0; -} -.dhxtabbar_base_dhx_skyblue div.dhx_cell_tabbar div.dhtmlxribbon_dhx_skyblue.dhxrb_without_tabbar { - border-top: 0 solid white; - width: auto; -} -.dhxtabbar_base_dhx_skyblue div.dhx_cell_tabbar div.dhxrb_with_tabbar.dhxtabbar_base_dhx_skyblue { - margin-top: -1px; -} -.dhxtabbar_base_dhx_skyblue div.dhx_cell_tabbar div.dhx_cell_statusbar_def { - position: absolute; - bottom: 0; - width: 100%; - font-family: Tahoma; - font-size: 11px; - color: black; - background-color: #ddecff; -} -.dhxtabbar_base_dhx_skyblue div.dhx_cell_tabbar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - position: relative; - padding: 0 4px; - height: 21px; - line-height: 21px; - border-top: 0 solid white; - border-bottom: 1px solid #a4bed4; - border-left: 1px solid #a4bed4; - border-right: 1px solid #a4bed4; - white-space: nowrap; - overflow: hidden; -} -.dhxtabbar_base_dhx_skyblue div.dhxtabbar_tabs_bottom div.dhx_cell_tabbar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - border-top: 1px solid #a4bed4; - border-bottom: 0 solid white; -} -.dhxtabbar_base_dhx_skyblue div.dhx_cell_tabbar div.dhx_cell_progress_bar { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background-color: white; - opacity: .75; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=75); - z-index: 1; -} -.dhxtabbar_base_dhx_skyblue div.dhx_cell_tabbar div.dhx_cell_progress_img { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background-image: url("imgs/dhxtabbar_skyblue/dhxtabbar_cell_progress.gif"); - background-position: center center; - background-repeat: no-repeat; - z-index: 2; -} -span.dhxtabbar_tabs_text_test_dhx_skyblue { - position: absolute; - visibility: hidden; - right: 0; - top: 0; - font-weight: bold; - font-family: Tahoma; - font-size: 11px; - color: black; -} -.dhxwins_vp_dhx_skyblue { - overflow: hidden; - position: relative; - cursor: default; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_active { - position: absolute; - overflow: hidden; - border: 1px solid #a4bed4; - box-shadow: 0 0 3px #cecece; - border-radius: 3px; - background: white; - cursor: inherit; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_inactive { - position: absolute; - overflow: hidden; - border: 1px solid #c1d1de; - box-shadow: 0 0 3px #dedede; - border-radius: 3px; - background: white; - cursor: inherit; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_brd { - position: absolute; - border-left: 5px solid #d3e6fe; - border-right: 5px solid #d3e6fe; - border-bottom: 5px solid #d3e6fe; - border-bottom-left-radius: 2px; - border-bottom-right-radius: 2px; - background: white; - z-index: 0; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_brd.dhxwin_hdr_hidden { - border-top: 5px solid #d3e6fe; - border-top-left-radius: 2px; - border-top-right-radius: 2px; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhxwin_brd { - opacity: .8; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=80); -} -.dhxwins_vp_dhx_skyblue div.dhxwin_fr_cover { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - overflow: hidden; - background-color: white; - z-index: 1; - opacity: 0; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxwins_vp_dhx_skyblue div.dhxwin_fr_cover .dhxwin_fr_cover_inner { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background-color: white; - opacity: 0; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhxwin_fr_cover { - display: none; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhxwin_fr_cover { - z-index: 4; - opacity: .5; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=50); -} -.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhxwin_fr_cover.dhxwin_fr_cover_dnd, -.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhxwin_fr_cover.dhxwin_fr_cover_resize { - display: block; -} -.dhxwins_vp_dhx_skyblue iframe.dhxwin_main_fr_cover { - position: absolute; - background-color: white; - border-radius: 2px; - opacity: 0; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxwins_vp_dhx_skyblue div.dhxwin_hdr { - position: relative; - height: 30px; - line-height: 30px; - margin: 0; - padding: 0; - font-weight: bold; - border-top: 1px solid white; - border-left: 1px solid white; - border-right: 1px solid white; - border-top-left-radius: 2px; - border-top-right-radius: 2px; - background-color: #e5f0fd; - background: linear-gradient(#e5f0fd, #d3e6fe); - filter: progid: DXImageTransform.Microsoft.Gradient(gradientType=0, startColorStr=#e5f0fd, endColorStr=#d3e6fe) progid: DXImageTransform.Microsoft.Alpha(opacity=100); - font-family: Tahoma; - font-size: 11px; - color: #34404b; - cursor: inherit; - overflow: hidden; - z-index: 3; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhxwin_hdr { - color: #777; - opacity: .8; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=80); - filter: progid: DXImageTransform.Microsoft.Gradient(gradientType=0, startColorStr=#e5f0fd, endColorStr=#d3e6fe); -} -.dhxwins_vp_dhx_skyblue div.dhxwin_hdr.dhxwin_hdr_parked { - border-bottom: 1px solid white; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_hdr.dhxwin_hdr_hidden { - visibility: hidden; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_icon { - position: absolute; - left: 7px; - top: 7px; - width: 18px; - height: 18px; - cursor: default; - overflow: hidden; - background-image: url("imgs/dhxwins_skyblue/dhxwins_icon.gif"); - background-position: center center; - background-repeat: no-repeat; - cursor: inherit; - z-index: 2; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhxwin_hdr div.dhxwin_icon { - opacity: .6; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=60); -} -.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_text { - position: relative; - padding: 0; - margin: 0; - overflow: hidden; - white-space: nowrap; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; - cursor: inherit; - z-index: 1; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_text div.dhxwin_text_inside { - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; - width: 100%; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_btns { - position: absolute; - right: 7px; - top: 6px; - height: 18px; - cursor: default; - overflow: hidden; - cursor: inherit; - z-index: 2; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhxwin_hdr div.dhxwin_btns { - opacity: .5; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=50); -} -.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button, -.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis { - position: relative; - float: left; - width: 15px; - height: 15px; - margin-left: 1px; - margin-top: 2px; - border-radius: 2px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; - background-image: url("imgs/dhxwins_skyblue/dhxwins_buttons.gif"); - background-repeat: no-repeat; - background-position: 0 0; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button:hover { - background-color: white; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_close { - background-position: -15px 0; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_close_dis { - background-position: -15px -15px; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_minmax { - background-position: -30px 0; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_minmax_dis { - background-position: -30px -15px; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_minmaxed { - background-position: -45px 0; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_minmaxed_dis { - background-position: -45px -15px; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_park { - background-position: -60px 0; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_park_dis { - background-position: -60px -15px; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_stick { - background-position: -75px 0; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_stick_dis { - background-position: -75px -15px; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_sticked { - background-position: -90px 0; - background-color: #a4bed4!important; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_sticked_dis { - background-position: -90px -15px; - background-color: #f0f0f0!important; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_help { - background-position: -105px 0; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_help_dis { - background-position: -105px -15px; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_dock { - background-position: -120px 0; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_dock_dis { - background-position: -120px -15px; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_active.dhxwin_dnd { - box-shadow: 0 0 3px #cececf; -} -.dhxwins_vp_dhx_skyblue.dhxwins_vp_dnd { - cursor: move!important; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_resize { - position: absolute; - background-color: #d3e6fe; - border-radius: 3px; - opacity: .5; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=50); -} -.dhxwins_vp_dhx_skyblue iframe.dhxwin_resize_fr_cover { - position: absolute; - background-color: white; - border-radius: 3px; - opacity: 0; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxwins_vp_dhx_skyblue div.dhxwins_mcover { - position: absolute; - background-color: #e5f0fd; - left: 0; - top: 0; - width: 100%; - height: 100%; - opacity: .53; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=53); -} -.dhxwins_vp_dhx_skyblue iframe.dhxwins_mcover { - position: absolute; - background-color: white; - left: 0; - top: 0; - width: 100%; - height: 100%; - opacity: 0; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins, -.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins { - position: absolute; - background-color: #fff; - margin: 0; - padding: 0; - overflow: hidden; - cursor: default; - visibility: visible; - z-index: 1; - opacity: 1; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=100); -} -.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhx_cell_cont_wins, -.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_cont_wins { - position: absolute; - border: 1px solid #fff; - background-color: #fff; - overflow: hidden; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhx_cell_cont_wins.dhx_cell_cont_no_borders, -.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_cont_wins.dhx_cell_cont_no_borders { - border: 0 solid #fff!important; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhx_cell_menu_def, -.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_menu_def { - position: relative; - overflow: hidden; - border-bottom: 1px solid #d3e6fe; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhx_cell_menu_def div.dhtmlxMenu_dhx_skyblue_Middle, -.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_menu_def div.dhtmlxMenu_dhx_skyblue_Middle { - padding: 0 2px; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhx_cell_toolbar_def, -.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_toolbar_def { - position: relative; - overflow: hidden; - padding: 1px 1px 0 1px; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhx_cell_toolbar_def div.dhx_toolbar_dhx_skyblue, -.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_toolbar_def div.dhx_toolbar_dhx_skyblue { - position: relative; - border-top-width: 1px; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhx_cell_toolbar_no_borders div.dhx_toolbar_dhx_skyblue, -.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_toolbar_no_borders div.dhx_toolbar_dhx_skyblue { - position: relative; - border-top-width: 1px; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhx_cell_ribbon_def, -.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_ribbon_def { - padding: 1px 1px 0 1px; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhtmlxribbon_dhx_skyblue.dhxrb_without_tabbar, -.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhtmlxribbon_dhx_skyblue.dhxrb_without_tabbar { - width: auto; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhx_cell_statusbar_def, -.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_statusbar_def { - position: absolute; - bottom: 0; - width: 100%; - font-family: Tahoma; - font-size: 11px; - color: black; - background-color: #d3e6fe; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text, -.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - position: relative; - padding: 0 4px; - height: 21px; - line-height: 21px; - white-space: nowrap; - overflow: hidden; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhx_cell_cont_wins.dhx_cell_statusbar_attached, -.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_cont_wins.dhx_cell_statusbar_attached { - border-radius: 0; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhx_cell_progress_bar, -.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_progress_bar { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background-color: #fff; - opacity: .75; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=75); - z-index: 1; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhx_cell_progress_img, -.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_progress_img { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background-image: url("imgs/dhxwins_skyblue/dhxwins_progress.gif"); - background-position: center center; - background-repeat: no-repeat; - z-index: 2; -} -.dhxwins_skin_detect { - position: absolute; - left: 0; - top: -100px; - margin: 0; - padding: 0; - border: 0 solid white; - width: 10px; - height: 10px; - overflow: hidden; -} -div.dhxwins_vp_dhx_skyblue.dhxwins_vp_fs { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - overflow: hidden; -} -.dhtmlx_message_area { - position: fixed; - right: 5px; - width: 250px; - z-index: 1000; - padding: 0; -} -.dhtmlx-info { - color: #444; - border-radius: 4px; - min-width: 120px; - padding: 10px 10px 10px 20px; - background-color: #FFC; - font-size: 12px; - font-family: Tahoma; - z-index: 10000; - margin: 0 5px 5px 5px; - border: 1px solid #d3d3d3; - box-shadow: 0 0 5px #ccc; - -webkit-transition: all .5s ease; - -moz-transition: all .5s ease; - -o-transition: all .5s ease; - transition: all .5s ease; -} -.dhtmlx-info.hidden { - height: 0; - padding-bottom: 0; - padding-top: 0; - border-width: 0; - margin-top: 0; - margin-bottom: 0; - overflow: hidden; -} -.dhtmlx-error { - background-color: #f17373; - color: #fff; -} -.dhtmlx_modal_box { - overflow: hidden; - display: inline-block; - min-width: 300px; - width: 300px!important; - text-align: center; - position: fixed; - background-color: #fff; - z-index: 20000; - -moz-box-shadow: 0 0 5px #AAA; - -webkit-box-shadow: 0 0 0 #AAA; - box-shadow: 0 0 5px #AAA; - border: 1px solid #a4bed4; - border-radius: 6px; -} -.dhtmlx_popup_title { - padding: 5px 0; - font-size: 12px; - -webkit-border-top-right-radius: 6px; - -webkit-border-top-left-radius: 6px; - border-radius-top-right: 6px; - line-height: 16px; - font-family: Tahoma; - font-weight: bold; -} -.dhtmlx-info, -.dhtmlx_popup_title, -.dhtmlx_popup_button { - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -moz-user-select: -moz-none; - cursor: pointer; -} -.dhtmlx_popup_text { - font-size: 13px; - font-family: Tahoma; - color: #444; - min-height: 30px; - padding: 20px 10px 10px 10px!important; - overflow: hidden; -} -.dhtmlx_popup_controls { - font-family: Tahoma; - font-weight: bold; - padding: 10px 10px 17px 10px!important; -} -.dhtmlx_popup_button { - font-size: 12px; - font-family: Tahoma; - font-weight: bold; - min-width: 120px; - width: 120px; - height: 20px; - display: inline-block; - margin: 0 5px; - border-radius: 4px; -} -.dhtmlx_popup_button div { - line-height: 20px; -} -div.dhx_modal_cover { - background-color: #000; - cursor: default; - opacity: .2; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=20); - position: fixed; - z-index: 19999; - left: 0; - top: 0; - width: 100%; - height: 100%; - border: none; - zoom: 1; -} -.dhtmlx_popup_button { - color: #2e3947; - text-shadow: 0 1px 0 #fff; - border: 1px solid #a4bed4; - background-color: #d5e6fc; - background-image: -moz-linear-gradient(center bottom, #e1eeff 0, #cce2fe 12%, #ecf2f7 100%); - background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0.00, #ecf2f7), color-stop(0.88, #cce2fe), color-stop(1.00, #e1eeff)); - background: -o-linear-gradient(top, #e1eeff, #cce2fe 12%, #ecf2f7); - background: linear-gradient(top, #e1eeff, #cce2fe 12%, #ecf2f7); - background: -ms-linear-gradient(top, #e1eeff 0, #cce2fe 12%, #ecf2f7 100%); -} -.dhtmlx_popup_button:active, -.dhtmlx_popup_button:focus { - box-shadow: inset 0 0 2px #aaa; - background: #bdd9fc; - background: -moz-linear-gradient(top, #C4DDFF 0, #bdd9fc 88%, #deeaf4 100%); - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #C4DDFF), color-stop(88%, #bdd9fc), color-stop(100%, #deeaf4)); - background: -o-linear-gradient(top, #C4DDFF 0, #bdd9fc 88%, #deeaf4 100%); - background: -ms-linear-gradient(top, #C4DDFF 0, #bdd9fc 88%, #deeaf4 100%); - background: linear-gradient(top, #C4DDFF 0, #bdd9fc 88%, #deeaf4 100%); -} -.dhtmlx_popup_title { - box-shadow: inset 0 0 2px #fff; - display: block; -} -.dhtmlx-alert-error .dhtmlx_popup_title, -.dhtmlx-confirm-error .dhtmlx_popup_title { - color: white; - border: 1px solid #f17373; - background: #f17373; - background: -webkit-linear-gradient(top, #ff7c7c, #f17373 88%, #ff7361); - background: -moz-linear-gradient(top, #ff7c7c, #f17373 88%, #ff7361); - background: -o-linear-gradient(top, #ff7c7c, #f17373 88%, #ff7361); - background: linear-gradient(top, #ff7c7c, #f17373 88%, #ff7361); - background: -ms-linear-gradient(top, #ff7c7c 0, #f17373 88%, #ffbc75 100%); -} -.dhtmlx-alert-error.dhtmlx_modal_box, -.dhtmlx-confirm-error.dhtmlx_modal_box { - border: 1px solid #f17373; -} -.dhtmlx-alert-warning .dhtmlx_popup_title, -.dhtmlx-confirm-warning .dhtmlx_popup_title { - color: #000; - border: 1px solid #d2b07f; - background: #ff9f37; - background: -webkit-linear-gradient(top, #ffc786, #ff9523 88%, #ffbc75); - background: -moz-linear-gradient(top, #ffc786, #ff9523 88%, #ffbc75); - background: -o-linear-gradient(top, #ffc786, #ff9523 88%, #ffbc75); - background: linear-gradient(top, #ffc786, #ff9523 88%, #ffbc75); - background: -ms-linear-gradient(top, #ffc786 0, #ff9523 88%, #ffbc75 100%); -} -.dhtmlx-alert-warning .dhtmlx_popup_controls, -.dhtmlx-confirm-warning .dhtmlx_popup_controls { - border: 1px solid #d5d5d5; - border-width: 0 1px 1px 1px; -} -.dhtmlx-alert-warning .dhtmlx_popup_text, -.dhtmlx-confirm-warning .dhtmlx_popup_text { - border: 1px solid #d5d5d5; - border-width: 0 1px 0 1px; -} -.dhtmlx-alert .dhtmlx_popup_title, -.dhtmlx-confirm .dhtmlx_popup_title { - color: #000; - border: 1px solid #a4bed4; - background: #d5e6fc; - background: -moz-linear-gradient(center bottom, #e1eeff 0, #cce2fe 12%, #ecf2f7 100%); - background: -webkit-gradient(linear, left top, left bottom, color-stop(0.00, #ecf2f7), color-stop(0.88, #cce2fe), color-stop(1.00, #e1eeff)); - background: -o-linear-gradient(top, #e1eeff, #cce2fe 12%, #ecf2f7); - background: linear-gradient(top, #e1eeff, #cce2fe 12%, #ecf2f7); - background: -ms-linear-gradient(top, #e1eeff 0, #cce2fe 12%, #ecf2f7 100%); -} -.dhtmlx-alert .dhtmlx_popup_controls, -.dhtmlx-confirm .dhtmlx_popup_controls { - border: 1px solid #d5d5d5; - border-width: 0 1px 1px 1px; -} -.dhtmlx-alert .dhtmlx_popup_text, -.dhtmlx-confirm .dhtmlx_popup_text { - border: 1px solid #d5d5d5; - border-width: 0 1px 0 1px; -} diff --git a/themes/skins4.0/skyblue/imgs/dhxacc_skyblue/dhxacc_btns.gif b/themes/skins4.0/skyblue/imgs/dhxacc_skyblue/dhxacc_btns.gif deleted file mode 100644 index 7de4aab..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxacc_skyblue/dhxacc_btns.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxacc_skyblue/dhxacc_cell_progress.gif b/themes/skins4.0/skyblue/imgs/dhxacc_skyblue/dhxacc_cell_progress.gif deleted file mode 100644 index 1df5c43..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxacc_skyblue/dhxacc_cell_progress.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxcalendar_skyblue/dhxcalendar_arrow_left.gif b/themes/skins4.0/skyblue/imgs/dhxcalendar_skyblue/dhxcalendar_arrow_left.gif deleted file mode 100644 index f927e47..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxcalendar_skyblue/dhxcalendar_arrow_left.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxcalendar_skyblue/dhxcalendar_arrow_right.gif b/themes/skins4.0/skyblue/imgs/dhxcalendar_skyblue/dhxcalendar_arrow_right.gif deleted file mode 100644 index c2a4835..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxcalendar_skyblue/dhxcalendar_arrow_right.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxcalendar_skyblue/dhxcalendar_clock.gif b/themes/skins4.0/skyblue/imgs/dhxcalendar_skyblue/dhxcalendar_clock.gif deleted file mode 100644 index c3f7391..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxcalendar_skyblue/dhxcalendar_clock.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxcalendar_skyblue/dhxcalendar_mark.gif b/themes/skins4.0/skyblue/imgs/dhxcalendar_skyblue/dhxcalendar_mark.gif deleted file mode 100644 index 7390c60..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxcalendar_skyblue/dhxcalendar_mark.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxcalendar_skyblue/dhxcalendar_selector_bottom.gif b/themes/skins4.0/skyblue/imgs/dhxcalendar_skyblue/dhxcalendar_selector_bottom.gif deleted file mode 100644 index b6f2c4b..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxcalendar_skyblue/dhxcalendar_selector_bottom.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxcalendar_skyblue/dhxcalendar_selector_top.gif b/themes/skins4.0/skyblue/imgs/dhxcalendar_skyblue/dhxcalendar_selector_top.gif deleted file mode 100644 index 090b597..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxcalendar_skyblue/dhxcalendar_selector_top.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxcarousel_skyblue/dhxcarousel_cell_progress.gif b/themes/skins4.0/skyblue/imgs/dhxcarousel_skyblue/dhxcarousel_cell_progress.gif deleted file mode 100644 index 1df5c43..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxcarousel_skyblue/dhxcarousel_cell_progress.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxcombo_skyblue/dhxcombo_arrow_down.gif b/themes/skins4.0/skyblue/imgs/dhxcombo_skyblue/dhxcombo_arrow_down.gif deleted file mode 100644 index 7fdb358..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxcombo_skyblue/dhxcombo_arrow_down.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxcombo_skyblue/dhxcombo_arrow_down_dis.gif b/themes/skins4.0/skyblue/imgs/dhxcombo_skyblue/dhxcombo_arrow_down_dis.gif deleted file mode 100644 index c256a28..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxcombo_skyblue/dhxcombo_arrow_down_dis.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxcombo_skyblue/dhxcombo_chbx.gif b/themes/skins4.0/skyblue/imgs/dhxcombo_skyblue/dhxcombo_chbx.gif deleted file mode 100644 index 60d880e..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxcombo_skyblue/dhxcombo_chbx.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxcp_skyblue/dhxcp_colors.png b/themes/skins4.0/skyblue/imgs/dhxcp_skyblue/dhxcp_colors.png deleted file mode 100644 index ede480c..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxcp_skyblue/dhxcp_colors.png and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxcp_skyblue/dhxcp_icon_save.png b/themes/skins4.0/skyblue/imgs/dhxcp_skyblue/dhxcp_icon_save.png deleted file mode 100644 index d56e0b1..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxcp_skyblue/dhxcp_icon_save.png and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxdataview_skyblue/dnd_selector.png b/themes/skins4.0/skyblue/imgs/dhxdataview_skyblue/dnd_selector.png deleted file mode 100644 index 5d8e9b4..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxdataview_skyblue/dnd_selector.png and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxdataview_skyblue/dnd_selector_cells.png b/themes/skins4.0/skyblue/imgs/dhxdataview_skyblue/dnd_selector_cells.png deleted file mode 100644 index 63da638..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxdataview_skyblue/dnd_selector_cells.png and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxdataview_skyblue/dnd_selector_lines.png b/themes/skins4.0/skyblue/imgs/dhxdataview_skyblue/dnd_selector_lines.png deleted file mode 100644 index 576ecfd..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxdataview_skyblue/dnd_selector_lines.png and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxdataview_skyblue/marker.png b/themes/skins4.0/skyblue/imgs/dhxdataview_skyblue/marker.png deleted file mode 100644 index ceec125..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxdataview_skyblue/marker.png and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/align_center.gif b/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/align_center.gif deleted file mode 100644 index bc3f7ce..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/align_center.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/align_justify.gif b/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/align_justify.gif deleted file mode 100644 index 6efd2ce..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/align_justify.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/align_left.gif b/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/align_left.gif deleted file mode 100644 index 2acb732..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/align_left.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/align_right.gif b/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/align_right.gif deleted file mode 100644 index 35c828b..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/align_right.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/bold.gif b/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/bold.gif deleted file mode 100644 index 32416d4..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/bold.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/buttons.gif b/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/buttons.gif deleted file mode 100644 index 5170c32..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/buttons.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/clear.gif b/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/clear.gif deleted file mode 100644 index 51f1aee..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/clear.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/h1.gif b/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/h1.gif deleted file mode 100644 index 6b13a66..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/h1.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/h2.gif b/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/h2.gif deleted file mode 100644 index b83cf54..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/h2.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/h3.gif b/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/h3.gif deleted file mode 100644 index b5647b8..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/h3.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/h4.gif b/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/h4.gif deleted file mode 100644 index b5c1dc2..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/h4.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/indent_dec.gif b/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/indent_dec.gif deleted file mode 100644 index b16fbb5..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/indent_dec.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/indent_inc.gif b/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/indent_inc.gif deleted file mode 100644 index a4567b1..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/indent_inc.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/italic.gif b/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/italic.gif deleted file mode 100644 index 8dc358c..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/italic.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/list_bullet.gif b/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/list_bullet.gif deleted file mode 100644 index dc64941..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/list_bullet.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/list_number.gif b/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/list_number.gif deleted file mode 100644 index eea183d..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/list_number.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/script_sub.gif b/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/script_sub.gif deleted file mode 100644 index 02d1cb6..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/script_sub.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/script_super.gif b/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/script_super.gif deleted file mode 100644 index 945ae76..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/script_super.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/strike.gif b/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/strike.gif deleted file mode 100644 index 0324297..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/strike.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/underline.gif b/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/underline.gif deleted file mode 100644 index 16aa16d..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxeditor_skyblue/underline.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxform_skyblue/dhxform_chbxrd.gif b/themes/skins4.0/skyblue/imgs/dhxform_skyblue/dhxform_chbxrd.gif deleted file mode 100644 index d176df1..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxform_skyblue/dhxform_chbxrd.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxform_skyblue/dhxform_image_uploading.gif b/themes/skins4.0/skyblue/imgs/dhxform_skyblue/dhxform_image_uploading.gif deleted file mode 100644 index 1df5c43..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxform_skyblue/dhxform_image_uploading.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxform_skyblue/dhxform_upload_buttons.gif b/themes/skins4.0/skyblue/imgs/dhxform_skyblue/dhxform_upload_buttons.gif deleted file mode 100644 index 96a9b8a..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxform_skyblue/dhxform_upload_buttons.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxform_skyblue/dhxform_upload_uploading.gif b/themes/skins4.0/skyblue/imgs/dhxform_skyblue/dhxform_upload_uploading.gif deleted file mode 100644 index fbdfbdd..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxform_skyblue/dhxform_upload_uploading.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/ar_left.gif b/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/ar_left.gif deleted file mode 100644 index 07ef2fc..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/ar_left.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/ar_left_abs.gif b/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/ar_left_abs.gif deleted file mode 100644 index 2d32720..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/ar_left_abs.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/ar_left_abs_dis.gif b/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/ar_left_abs_dis.gif deleted file mode 100644 index 35050e8..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/ar_left_abs_dis.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/ar_left_dis.gif b/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/ar_left_dis.gif deleted file mode 100644 index 2ac953e..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/ar_left_dis.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/ar_right.gif b/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/ar_right.gif deleted file mode 100644 index cf326d3..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/ar_right.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/ar_right_abs.gif b/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/ar_right_abs.gif deleted file mode 100644 index 0736a5f..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/ar_right_abs.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/ar_right_abs_dis.gif b/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/ar_right_abs_dis.gif deleted file mode 100644 index f454ee7..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/ar_right_abs_dis.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/ar_right_dis.gif b/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/ar_right_dis.gif deleted file mode 100644 index 2cf6399..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/ar_right_dis.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/blank.gif b/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/blank.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/blank.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/combo_select.gif b/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/combo_select.gif deleted file mode 100644 index 03f4e9a..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/combo_select.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/combo_select_dhx_skyblue.gif b/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/combo_select_dhx_skyblue.gif deleted file mode 100644 index 03f4e9a..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/combo_select_dhx_skyblue.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/dyn_.gif b/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/dyn_.gif deleted file mode 100644 index 361094a..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/dyn_.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/dyn_down.gif b/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/dyn_down.gif deleted file mode 100644 index b73c84e..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/dyn_down.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/dyn_up.gif b/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/dyn_up.gif deleted file mode 100644 index 556a9fb..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/dyn_up.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/imageloaderror.gif b/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/imageloaderror.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/imageloaderror.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/item_chk0.gif b/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/item_chk0.gif deleted file mode 100644 index a98e298..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/item_chk0.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/item_chk0_dis.gif b/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/item_chk0_dis.gif deleted file mode 100644 index 2082b54..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/item_chk0_dis.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/item_chk1.gif b/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/item_chk1.gif deleted file mode 100644 index 2ebae89..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/item_chk1.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/item_chk1_dis.gif b/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/item_chk1_dis.gif deleted file mode 100644 index 17a0b16..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/item_chk1_dis.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/minus.gif b/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/minus.gif deleted file mode 100644 index ef04a54..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/minus.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/paging_page.gif b/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/paging_page.gif deleted file mode 100644 index efda03a..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/paging_page.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/paging_pages.gif b/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/paging_pages.gif deleted file mode 100644 index 5c17308..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/paging_pages.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/paging_rows.gif b/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/paging_rows.gif deleted file mode 100644 index 217fb96..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/paging_rows.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/plus.gif b/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/plus.gif deleted file mode 100644 index abb84bd..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/plus.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/radio_chk0.gif b/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/radio_chk0.gif deleted file mode 100644 index f2ee489..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/radio_chk0.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/radio_chk0_dis.gif b/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/radio_chk0_dis.gif deleted file mode 100644 index ada7848..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/radio_chk0_dis.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/radio_chk1.gif b/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/radio_chk1.gif deleted file mode 100644 index 54af4c8..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/radio_chk1.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/radio_chk1_dis.gif b/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/radio_chk1_dis.gif deleted file mode 100644 index af5d41f..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/radio_chk1_dis.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/sort_asc.gif b/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/sort_asc.gif deleted file mode 100644 index c3c0983..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/sort_asc.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/sort_desc.gif b/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/sort_desc.gif deleted file mode 100644 index e080183..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/sort_desc.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/blank.gif b/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/blank.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/blank.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/folder.gif b/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/folder.gif deleted file mode 100644 index e0a88ce..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/folder.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/leaf.gif b/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/leaf.gif deleted file mode 100644 index 9c3e531..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/leaf.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/line.gif b/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/line.gif deleted file mode 100644 index b4f560c..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/line.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/line1.gif b/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/line1.gif deleted file mode 100644 index b4f560c..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/line1.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/line2.gif b/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/line2.gif deleted file mode 100644 index 23b2ce3..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/line2.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/line3.gif b/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/line3.gif deleted file mode 100644 index 43152c5..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/line3.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/line4.gif b/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/line4.gif deleted file mode 100644 index 907fe7a..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/line4.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/minus.gif b/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/minus.gif deleted file mode 100644 index ea11fd9..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/minus.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/minus1.gif b/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/minus1.gif deleted file mode 100644 index d6a8b2b..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/minus1.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/minus2.gif b/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/minus2.gif deleted file mode 100644 index a3fad45..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/minus2.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/minus3.gif b/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/minus3.gif deleted file mode 100644 index dbc1292..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/minus3.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/minus4.gif b/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/minus4.gif deleted file mode 100644 index 1c2fccf..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/minus4.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/minus5.gif b/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/minus5.gif deleted file mode 100644 index 031c160..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/minus5.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/plus.gif b/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/plus.gif deleted file mode 100644 index 2d50cd2..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/plus.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/plus1.gif b/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/plus1.gif deleted file mode 100644 index cb8add4..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/plus1.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/plus2.gif b/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/plus2.gif deleted file mode 100644 index d57afa9..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/plus2.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/plus3.gif b/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/plus3.gif deleted file mode 100644 index 2b6546b..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/plus3.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/plus4.gif b/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/plus4.gif deleted file mode 100644 index a4fe8c0..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/plus4.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/plus5.gif b/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/plus5.gif deleted file mode 100644 index 88c35a4..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxgrid_skyblue/tree/plus5.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxlayout_skyblue/dhxlayout_cell_btns.gif b/themes/skins4.0/skyblue/imgs/dhxlayout_skyblue/dhxlayout_cell_btns.gif deleted file mode 100644 index f23cd77..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxlayout_skyblue/dhxlayout_cell_btns.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxlayout_skyblue/dhxlayout_cell_progress.gif b/themes/skins4.0/skyblue/imgs/dhxlayout_skyblue/dhxlayout_cell_progress.gif deleted file mode 100644 index 1df5c43..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxlayout_skyblue/dhxlayout_cell_progress.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxlayout_skyblue/dhxlayout_sep_h.gif b/themes/skins4.0/skyblue/imgs/dhxlayout_skyblue/dhxlayout_sep_h.gif deleted file mode 100644 index 3996e4f..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxlayout_skyblue/dhxlayout_sep_h.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxlayout_skyblue/dhxlayout_sep_v.gif b/themes/skins4.0/skyblue/imgs/dhxlayout_skyblue/dhxlayout_sep_v.gif deleted file mode 100644 index 5f4391d..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxlayout_skyblue/dhxlayout_sep_v.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxmenu_skyblue/dhxmenu_arrow_down.gif b/themes/skins4.0/skyblue/imgs/dhxmenu_skyblue/dhxmenu_arrow_down.gif deleted file mode 100644 index 60be3f7..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxmenu_skyblue/dhxmenu_arrow_down.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxmenu_skyblue/dhxmenu_arrow_down_dis.gif b/themes/skins4.0/skyblue/imgs/dhxmenu_skyblue/dhxmenu_arrow_down_dis.gif deleted file mode 100644 index d849732..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxmenu_skyblue/dhxmenu_arrow_down_dis.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxmenu_skyblue/dhxmenu_arrow_up.gif b/themes/skins4.0/skyblue/imgs/dhxmenu_skyblue/dhxmenu_arrow_up.gif deleted file mode 100644 index c23a23a..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxmenu_skyblue/dhxmenu_arrow_up.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxmenu_skyblue/dhxmenu_arrow_up_dis.gif b/themes/skins4.0/skyblue/imgs/dhxmenu_skyblue/dhxmenu_arrow_up_dis.gif deleted file mode 100644 index a43cfe3..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxmenu_skyblue/dhxmenu_arrow_up_dis.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxmenu_skyblue/dhxmenu_chrd.gif b/themes/skins4.0/skyblue/imgs/dhxmenu_skyblue/dhxmenu_chrd.gif deleted file mode 100644 index 235caaf..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxmenu_skyblue/dhxmenu_chrd.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxmenu_skyblue/dhxmenu_loader.gif b/themes/skins4.0/skyblue/imgs/dhxmenu_skyblue/dhxmenu_loader.gif deleted file mode 100644 index 21cc17e..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxmenu_skyblue/dhxmenu_loader.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxmenu_skyblue/dhxmenu_subar.gif b/themes/skins4.0/skyblue/imgs/dhxmenu_skyblue/dhxmenu_subar.gif deleted file mode 100644 index 4603471..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxmenu_skyblue/dhxmenu_subar.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxpopup_skyblue/dhxpopup_arrow_bottom.gif b/themes/skins4.0/skyblue/imgs/dhxpopup_skyblue/dhxpopup_arrow_bottom.gif deleted file mode 100644 index e20fd4c..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxpopup_skyblue/dhxpopup_arrow_bottom.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxpopup_skyblue/dhxpopup_arrow_left.gif b/themes/skins4.0/skyblue/imgs/dhxpopup_skyblue/dhxpopup_arrow_left.gif deleted file mode 100644 index e337c53..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxpopup_skyblue/dhxpopup_arrow_left.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxpopup_skyblue/dhxpopup_arrow_right.gif b/themes/skins4.0/skyblue/imgs/dhxpopup_skyblue/dhxpopup_arrow_right.gif deleted file mode 100644 index f0c7c59..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxpopup_skyblue/dhxpopup_arrow_right.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxpopup_skyblue/dhxpopup_arrow_top.gif b/themes/skins4.0/skyblue/imgs/dhxpopup_skyblue/dhxpopup_arrow_top.gif deleted file mode 100644 index bec146f..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxpopup_skyblue/dhxpopup_arrow_top.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxribbon_skyblue/dhxribbon_arrow.gif b/themes/skins4.0/skyblue/imgs/dhxribbon_skyblue/dhxribbon_arrow.gif deleted file mode 100644 index f64e20b..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxribbon_skyblue/dhxribbon_arrow.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxribbon_skyblue/dhxribbon_checked.gif b/themes/skins4.0/skyblue/imgs/dhxribbon_skyblue/dhxribbon_checked.gif deleted file mode 100644 index 9858188..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxribbon_skyblue/dhxribbon_checked.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxribbon_skyblue/dhxribbon_checked_dis.gif b/themes/skins4.0/skyblue/imgs/dhxribbon_skyblue/dhxribbon_checked_dis.gif deleted file mode 100644 index 2aa750b..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxribbon_skyblue/dhxribbon_checked_dis.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxsidebar_skyblue/dhxsidebar_arrow_down.gif b/themes/skins4.0/skyblue/imgs/dhxsidebar_skyblue/dhxsidebar_arrow_down.gif deleted file mode 100644 index b44180f..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxsidebar_skyblue/dhxsidebar_arrow_down.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxsidebar_skyblue/dhxsidebar_arrow_up.gif b/themes/skins4.0/skyblue/imgs/dhxsidebar_skyblue/dhxsidebar_arrow_up.gif deleted file mode 100644 index 560cbcf..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxsidebar_skyblue/dhxsidebar_arrow_up.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxsidebar_skyblue/dhxsidebar_cell_progress.gif b/themes/skins4.0/skyblue/imgs/dhxsidebar_skyblue/dhxsidebar_cell_progress.gif deleted file mode 100644 index 1df5c43..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxsidebar_skyblue/dhxsidebar_cell_progress.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxsidebar_skyblue/dhxsidebar_side_icon.gif b/themes/skins4.0/skyblue/imgs/dhxsidebar_skyblue/dhxsidebar_side_icon.gif deleted file mode 100644 index 30dfbba..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxsidebar_skyblue/dhxsidebar_side_icon.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxtabbar_skyblue/dhxtabbar_arrows.gif b/themes/skins4.0/skyblue/imgs/dhxtabbar_skyblue/dhxtabbar_arrows.gif deleted file mode 100644 index 56490ce..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxtabbar_skyblue/dhxtabbar_arrows.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxtabbar_skyblue/dhxtabbar_button_close.gif b/themes/skins4.0/skyblue/imgs/dhxtabbar_skyblue/dhxtabbar_button_close.gif deleted file mode 100644 index 1445534..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxtabbar_skyblue/dhxtabbar_button_close.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxtabbar_skyblue/dhxtabbar_cell_progress.gif b/themes/skins4.0/skyblue/imgs/dhxtabbar_skyblue/dhxtabbar_cell_progress.gif deleted file mode 100644 index 1df5c43..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxtabbar_skyblue/dhxtabbar_cell_progress.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxtoolbar_skyblue/dhxtoolbar_arrow.gif b/themes/skins4.0/skyblue/imgs/dhxtoolbar_skyblue/dhxtoolbar_arrow.gif deleted file mode 100644 index 8e805d8..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxtoolbar_skyblue/dhxtoolbar_arrow.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxtoolbar_skyblue/dhxtoolbar_arrow_dis.gif b/themes/skins4.0/skyblue/imgs/dhxtoolbar_skyblue/dhxtoolbar_arrow_dis.gif deleted file mode 100644 index 3eddbbd..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxtoolbar_skyblue/dhxtoolbar_arrow_dis.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/blank.gif b/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/blank.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/blank.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/but_cut.gif b/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/but_cut.gif deleted file mode 100644 index 942bd18..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/but_cut.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/folderClosed.gif b/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/folderClosed.gif deleted file mode 100644 index e0a88ce..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/folderClosed.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/folderOpen.gif b/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/folderOpen.gif deleted file mode 100644 index 1680dbc..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/folderOpen.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/iconCheckAll.gif b/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/iconCheckAll.gif deleted file mode 100644 index a61302a..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/iconCheckAll.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/iconCheckDis.gif b/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/iconCheckDis.gif deleted file mode 100644 index 42447b8..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/iconCheckDis.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/iconCheckGray.gif b/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/iconCheckGray.gif deleted file mode 100644 index 0350b2a..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/iconCheckGray.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/iconUncheckAll.gif b/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/iconUncheckAll.gif deleted file mode 100644 index 9f3fe50..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/iconUncheckAll.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/iconUncheckDis.gif b/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/iconUncheckDis.gif deleted file mode 100644 index f15d9f7..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/iconUncheckDis.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/leaf.gif b/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/leaf.gif deleted file mode 100644 index 9c3e531..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/leaf.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/line.gif b/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/line.gif deleted file mode 100644 index b4f560c..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/line.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/line1.gif b/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/line1.gif deleted file mode 100644 index b4f560c..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/line1.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/line1_rtl.gif b/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/line1_rtl.gif deleted file mode 100644 index bf32db2..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/line1_rtl.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/line2.gif b/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/line2.gif deleted file mode 100644 index 23b2ce3..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/line2.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/line2_rtl.gif b/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/line2_rtl.gif deleted file mode 100644 index 6ec17b5..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/line2_rtl.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/line3.gif b/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/line3.gif deleted file mode 100644 index 43152c5..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/line3.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/line3_rtl.gif b/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/line3_rtl.gif deleted file mode 100644 index 74a874c..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/line3_rtl.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/line4.gif b/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/line4.gif deleted file mode 100644 index 907fe7a..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/line4.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/line4_rtl.gif b/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/line4_rtl.gif deleted file mode 100644 index 5c7e162..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/line4_rtl.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/lock.gif b/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/lock.gif deleted file mode 100644 index 67456b1..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/lock.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/minus.gif b/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/minus.gif deleted file mode 100644 index caa3f57..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/minus.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/minus1.gif b/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/minus1.gif deleted file mode 100644 index 2ab1070..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/minus1.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/minus2.gif b/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/minus2.gif deleted file mode 100644 index 036e5b3..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/minus2.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/minus2_rtl.gif b/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/minus2_rtl.gif deleted file mode 100644 index b4672bf..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/minus2_rtl.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/minus3.gif b/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/minus3.gif deleted file mode 100644 index 3242cca..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/minus3.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/minus3_rtl.gif b/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/minus3_rtl.gif deleted file mode 100644 index 8c279e0..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/minus3_rtl.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/minus4.gif b/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/minus4.gif deleted file mode 100644 index 1c7c0a7..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/minus4.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/minus4_rtl.gif b/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/minus4_rtl.gif deleted file mode 100644 index 70992fe..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/minus4_rtl.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/minus5.gif b/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/minus5.gif deleted file mode 100644 index 031c160..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/minus5.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/minus5_rtl.gif b/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/minus5_rtl.gif deleted file mode 100644 index 47e25cd..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/minus5_rtl.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/plus.gif b/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/plus.gif deleted file mode 100644 index 019cfbd..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/plus.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/plus1.gif b/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/plus1.gif deleted file mode 100644 index 34dee94..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/plus1.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/plus2.gif b/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/plus2.gif deleted file mode 100644 index d57afa9..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/plus2.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/plus2_rtl.gif b/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/plus2_rtl.gif deleted file mode 100644 index fde3a58..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/plus2_rtl.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/plus3.gif b/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/plus3.gif deleted file mode 100644 index 2b6546b..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/plus3.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/plus3_rtl.gif b/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/plus3_rtl.gif deleted file mode 100644 index 863d34c..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/plus3_rtl.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/plus4.gif b/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/plus4.gif deleted file mode 100644 index a4fe8c0..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/plus4.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/plus4_rtl.gif b/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/plus4_rtl.gif deleted file mode 100644 index 635e6f6..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/plus4_rtl.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/plus5.gif b/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/plus5.gif deleted file mode 100644 index 88c35a4..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/plus5.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/plus5_rtl.gif b/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/plus5_rtl.gif deleted file mode 100644 index 2ae5444..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/plus5_rtl.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/radio_off.gif b/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/radio_off.gif deleted file mode 100644 index a050afd..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/radio_off.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/radio_on.gif b/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/radio_on.gif deleted file mode 100644 index 4d594b5..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxtree_skyblue/radio_on.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxtreeview_skyblue/icon_chbx_0.gif b/themes/skins4.0/skyblue/imgs/dhxtreeview_skyblue/icon_chbx_0.gif deleted file mode 100644 index 9f3fe50..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxtreeview_skyblue/icon_chbx_0.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxtreeview_skyblue/icon_chbx_1.gif b/themes/skins4.0/skyblue/imgs/dhxtreeview_skyblue/icon_chbx_1.gif deleted file mode 100644 index a61302a..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxtreeview_skyblue/icon_chbx_1.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxtreeview_skyblue/icon_chbx_dis_0.gif b/themes/skins4.0/skyblue/imgs/dhxtreeview_skyblue/icon_chbx_dis_0.gif deleted file mode 100644 index f15d9f7..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxtreeview_skyblue/icon_chbx_dis_0.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxtreeview_skyblue/icon_chbx_dis_1.gif b/themes/skins4.0/skyblue/imgs/dhxtreeview_skyblue/icon_chbx_dis_1.gif deleted file mode 100644 index 42447b8..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxtreeview_skyblue/icon_chbx_dis_1.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxtreeview_skyblue/icon_file.gif b/themes/skins4.0/skyblue/imgs/dhxtreeview_skyblue/icon_file.gif deleted file mode 100644 index 9c3e531..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxtreeview_skyblue/icon_file.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxtreeview_skyblue/icon_folder_closed.gif b/themes/skins4.0/skyblue/imgs/dhxtreeview_skyblue/icon_folder_closed.gif deleted file mode 100644 index e0a88ce..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxtreeview_skyblue/icon_folder_closed.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxtreeview_skyblue/icon_folder_opened.gif b/themes/skins4.0/skyblue/imgs/dhxtreeview_skyblue/icon_folder_opened.gif deleted file mode 100644 index 1680dbc..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxtreeview_skyblue/icon_folder_opened.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxtreeview_skyblue/icon_minus.gif b/themes/skins4.0/skyblue/imgs/dhxtreeview_skyblue/icon_minus.gif deleted file mode 100644 index caa3f57..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxtreeview_skyblue/icon_minus.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxtreeview_skyblue/icon_plus.gif b/themes/skins4.0/skyblue/imgs/dhxtreeview_skyblue/icon_plus.gif deleted file mode 100644 index 019cfbd..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxtreeview_skyblue/icon_plus.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxtreeview_skyblue/loading.gif b/themes/skins4.0/skyblue/imgs/dhxtreeview_skyblue/loading.gif deleted file mode 100644 index d91e279..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxtreeview_skyblue/loading.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxwins_skyblue/dhxwins_buttons.gif b/themes/skins4.0/skyblue/imgs/dhxwins_skyblue/dhxwins_buttons.gif deleted file mode 100644 index 625a0e7..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxwins_skyblue/dhxwins_buttons.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxwins_skyblue/dhxwins_icon.gif b/themes/skins4.0/skyblue/imgs/dhxwins_skyblue/dhxwins_icon.gif deleted file mode 100644 index e9427ac..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxwins_skyblue/dhxwins_icon.gif and /dev/null differ diff --git a/themes/skins4.0/skyblue/imgs/dhxwins_skyblue/dhxwins_progress.gif b/themes/skins4.0/skyblue/imgs/dhxwins_skyblue/dhxwins_progress.gif deleted file mode 100644 index 1df5c43..0000000 Binary files a/themes/skins4.0/skyblue/imgs/dhxwins_skyblue/dhxwins_progress.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/dhtmlx.css b/themes/skins4.0/terrace/dhtmlx.css deleted file mode 100644 index b730977..0000000 --- a/themes/skins4.0/terrace/dhtmlx.css +++ /dev/null @@ -1,6427 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -.dhtmlxcalendar_dhx_terrace { - position: absolute; - display: block; - background-color: #fff; - font-family: Arial; - font-size: 13px; - color: #333; -} - -.dhtmlxcalendar_dhx_terrace.dhtmlxcalendar_in_input { - box-shadow: 0 0 6px rgba(0, 0, 0, 0.25); -} - -.dhtmlxcalendar_ifr { - position: absolute; - overflow: hidden; - background-color: white; -} - -.dhtmlxcalendar_dhx_terrace ul.dhtmlxcalendar_line { - position: relative; - display: block; - clear: both; - margin: 0; - padding: 0; - overflow: hidden; - width: 225px; - margin-left: 12px; -} - -.dhtmlxcalendar_dhx_terrace ul.dhtmlxcalendar_line li { - float: left; - position: relative; - list-style-type: none; - list-style-image: none; - text-align: center; - vertical-align: middle; - cursor: default; - overflow: hidden; - margin: 0; - padding: 0; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_month_cont { - position: relative; - display: block; - width: 249px; - margin: 0; - border-top: 1px solid #ccc; - border-left: 1px solid #ccc; - border-right: 1px solid #ccc; - border-top-left-radius: 3px; - border-top-right-radius: 3px; - overflow: hidden; - color: #333; - -webkit-user-select: text; - -khtml-user-select: text; - -moz-user-select: text; - -o-user-select: text; - user-select: text; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr { - width: 225px; - height: 31px; - line-height: 31px; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow { - position: absolute; - top: 0; - width: 18px; - height: 31px; - color: inherit; - text-align: center; - background-position: center center; - background-repeat: no-repeat; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_left { - left: 4px; - background-image: url("imgs/dhxcalendar_terrace/dhxcalendar_arrow_left.gif"); - opacity: .8; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=80); -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_left_hover { - left: 4px; - background-image: url("imgs/dhxcalendar_terrace/dhxcalendar_arrow_left.gif"); - opacity: 1; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=100); -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_right { - right: 4px; - background-image: url("imgs/dhxcalendar_terrace/dhxcalendar_arrow_right.gif"); - opacity: .8; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=80); -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_right_hover { - right: 4px; - background-image: url("imgs/dhxcalendar_terrace/dhxcalendar_arrow_right.gif"); - opacity: 1; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=100); -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr span.dhtmlxcalendar_month_label_month, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr span.dhtmlxcalendar_month_label_year { - position: relative; - font-weight: bold; - color: inherit; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_days_cont { - position: relative; - display: block; - width: 249px; - margin: 0; - border-left: 1px solid #ccc; - border-right: 1px solid #ccc; - -webkit-user-select: text; - -khtml-user-select: text; - -moz-user-select: text; - -o-user-select: text; - user-select: text; - overflow: hidden; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line { - height: 31px; - border-bottom: 1px solid #ccc; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li { - width: 31px; - height: 31px; - line-height: 31px; - margin-left: 1px; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_first { - margin-left: 1px; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_day_weekday_cell { - color: #d43f3a; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_day_weekday_cell_first { - color: #d43f3a; - margin-left: 1px; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont { - position: relative; - display: block; - width: 249px; - margin: 0; - padding-bottom: 8px; - border-left: 1px solid #ccc; - border-right: 1px solid #ccc; - border-bottom: 1px solid #ccc; - border-bottom-left-radius: 3px; - border-bottom-right-radius: 3px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - overflow: hidden; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line { - margin-top: 1px; - margin-left: 13px; - height: 31px; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li { - color: #909090; - border-radius: 3px; - width: 31px; - height: 31px; - line-height: 31px; - margin-right: 1px; - overflow: visible; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li div.dhtmlxcalendar_label { - width: 100%; - height: 100%; - text-align: center; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend { - background-color: #fff3a1; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_dis, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_dis, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_dis, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_dis { - color: #c4c4c4; - background-color: #ededed; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_holiday, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_holiday { - color: #d43f3a; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_holiday, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_holiday { - color: #d43f3a; - background-color: #fff3a1; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_holiday_dis, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_holiday_dis, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_holiday_dis, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_holiday_dis { - color: #d43f3a; - background-color: #ededed; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_hover, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_hover, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_hover, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_hover { - background-color: #fff3a1; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_holiday_hover, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_holiday_hover, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_holiday_hover, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_holiday_hover { - color: #d43f3a; - background-color: #fff3a1; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month { - color: #333; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend { - color: #d43f3a; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date { - color: black; - background-color: #fff3a1; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend { - color: #d43f3a; - background-color: #fff3a1; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_dis, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_dis, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_dis, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_dis { - color: #d43f3a; - background-color: #ededed; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_holiday { - color: #d43f3a; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_holiday { - color: #d43f3a; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_holiday { - color: #d43f3a; - background-color: #fff3a1; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_holiday { - color: #d43f3a; - background-color: #fff3a1; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_holiday_dis, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_holiday_dis, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_holiday_dis, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_holiday_dis { - color: #c4c4c4; - background-color: #ededed; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_hover { - color: #333; - background-color: #fff3a1; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_hover { - color: #d43f3a; - background-color: #fff3a1; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_hover { - color: #333; - background-color: #fff3a1; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_hover { - color: #d43f3a; - background-color: #fff3a1; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_holiday_hover { - color: #d43f3a; - background-color: #fff3a1; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_holiday_hover { - color: #d43f3a; - background-color: #fff3a1; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_holiday_hover { - color: #d43f3a; - background-color: #fff3a1; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_holiday_hover { - color: #d43f3a; - background-color: #fff3a1; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line div.dhtmlxcalendar_label.dhtmlxcalendar_label_title { - background-image: url("imgs/dhxcalendar_terrace/dhxcalendar_mark.gif"); - background-position: top right; - background-repeat: no-repeat; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont { - position: relative; - display: block; - width: 249px; - height: 31px; - margin-top: -4px; - border-left: 1px solid #ccc; - border-right: 1px solid #ccc; - border-bottom: 1px solid #ccc; - border-bottom-left-radius: 3px; - border-bottom-right-radius: 3px; - background-color: #fff; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - overflow: hidden; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li { - width: 225px; - height: 27px; - line-height: 25px; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li div.dhtmlxcalendar_time_img { - position: absolute; - left: 75px; - top: 7px; - width: 13px; - height: 13px; - background-image: url("imgs/dhxcalendar_terrace/dhxcalendar_clock.gif"); - background-position: center center; - background-repeat: no-repeat; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_cover { - position: absolute; - left: 1px; - background-color: white; - opacity: .5; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=50); -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj { - position: absolute; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_selector_obj_arrow { - position: absolute; - bottom: auto; - top: 1px; - left: 0; - width: 100%; - height: 9px; - overflow: hidden; - background-image: url("imgs/dhxcalendar_terrace/dhxcalendar_selector_top.gif"); - background-position: top center; - background-repeat: no-repeat; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table { - border-bottom: 1px solid #ccc; - border-top: 0 solid white; - background-color: white; - margin-top: 9px; - box-shadow: 0 0 5px rgba(0, 0, 0, 0.25); -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left { - width: 17px; - text-align: center; - border-top: 1px solid #ccc; - border-left: 1px solid #ccc; - border-bottom: 0 solid white; - border-right: 0 solid white; - padding: 0; - margin: 0; - background-color: white; - background-image: url("imgs/dhxcalendar_terrace/dhxcalendar_arrow_left.gif"); - background-position: center center; - background-repeat: no-repeat; - cursor: default; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left.dhtmlxcalendar_selector_cell_left_hover { - background-image: url("imgs/dhxcalendar_terrace/dhxcalendar_arrow_left.gif"); -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle { - cursor: default; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right { - width: 17px; - text-align: center; - border-top: 1px solid #ccc; - border-right: 1px solid #ccc; - border-bottom: 0 solid white; - border-left: 0 solid white; - background-color: white; - background-image: url("imgs/dhxcalendar_terrace/dhxcalendar_arrow_right.gif"); - background-position: center center; - background-repeat: no-repeat; - cursor: default; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right.dhtmlxcalendar_selector_cell_right_hover { - background-image: url("imgs/dhxcalendar_terrace/dhxcalendar_arrow_right.gif"); -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul { - display: block; - clear: both; - background-color: white; - border-left: 1px solid #ccc; - margin: 0; - padding: 0; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul li { - float: left; - font-family: Arial; - font-size: 12px; - color: #333; - list-style-type: none; - list-style-image: none; - text-align: center; - vertical-align: middle; - margin: 0; - border-right: 1px solid #ccc; - padding: 0; - background-color: white; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - cursor: default; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul li.dhtmlxcalendar_selector_cell_active, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul li.dhtmlxcalendar_selector_cell_hover { - background-color: #fff3a1; - color: black; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right { - display: none; - width: 0; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line { - height: 24px; - border-top: 1px solid #ccc; - border-bottom: 0 solid white; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell { - width: 35px; - height: 24px; - line-height: 24px; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours div.dhtmlxcalendar_selector_obj_arrow, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_selector_obj_arrow { - top: auto; - bottom: 1px; - background-image: url("imgs/dhxcalendar_terrace/dhxcalendar_selector_bottom.gif"); -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line { - height: 22px; - border-top: 0 solid white; - border-bottom: 1px solid #ccc; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell { - width: 24px; - height: 22px; - line-height: 22px; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right { - display: none; - width: 0; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table { - margin-top: 0; - margin-bottom: 9px; - border-top: 1px solid #ccc; - border-bottom: none; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_month, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_year, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_hours, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_minutes, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_minutes4, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_minutes5 { - display: none; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month div.dhtmlxcalendar_area_selector_month, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_year div.dhtmlxcalendar_area_selector_year, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours div.dhtmlxcalendar_area_selector_hours, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_area_selector_minutes, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_area_selector_minutes4, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_area_selector_minutes5 { - display: block; -} - -.dhtmlxcalendar_dhx_terrace span.dhtmlxcalendar_label_minutes span.dhtmlxcalendar_selected_date { - border-bottom: 2px solid red; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn { - display: none; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell { - width: 27px; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_wn div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell { - width: 27px; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_first, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell { - width: 27px; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn { - display: block; - width: 27px; - color: #3da0e3; - background-color: #efefef; -} - -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_wn div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn { - display: block; - width: 27px; - color: #3da0e3; - background-color: #efefef; -} - -div.dhtmlxcalendar_skin_detect { - position: absolute; - display: block; - visibility: hidden; - left: -100px; - top: 0; - width: 30px; - height: 10px; - margin: 0; - padding: 0; - border: none; - overflow: hidden; -} - -div.dhxcombo_dhx_terrace { - position: relative; - border: 1px solid #ccc; - overflow: hidden; - vertical-align: middle; - background-color: white; - font-size: 1px; - height: 24px; -} - -div.dhxcombo_dhx_terrace input.dhxcombo_input { - position: absolute; - left: 1px; - top: 0; - *top: 1px; - height: 24px; - line-height: 23px; - *height: 22px; - *line-height: 21px; - border: 0 solid white; - outline: 0 solid white; - padding: 0; - margin: 0 0 0 2px; - background-color: white; - vertical-align: top; - font-family: Arial; - font-size: 13px; - color: black; -} - -div.dhxcombo_dhx_terrace div.dhxcombo_select_button { - position: absolute; - width: 16px; - height: 17px; - top: 4px; - right: 2px; - font-size: 1px; - cursor: pointer; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - overflow: hidden; -} - -div.dhxcombo_dhx_terrace div.dhxcombo_select_button div.dhxcombo_select_img { - position: relative; - width: 100%; - height: 100%; - background-image: url("imgs/dhxcombo_terrace/dhxcombo_arrow_down.gif"); - background-repeat: no-repeat; - background-position: center center; -} - -div.dhxcombo_dhx_terrace div.dhxcombo_top_image { - position: absolute; - left: 0; - top: 0; - width: 23px; - height: 25px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - overflow: hidden; - cursor: default; -} - -div.dhxcombo_dhx_terrace div.dhxcombo_top_image div.dhxcombo_image { - top: 4px; - *top: 3px; -} - -div.dhxcombolist_dhx_terrace { - position: absolute; - border: 1px solid #ccc; - box-shadow: 0 3px 5px rgba(127, 127, 127, 0.35); - background-color: #f5f5f5; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - overflow-x: none; - overflow-y: auto; -} - -div.dhxcombolist_dhx_terrace div.dhxcombo_option { - position: relative; - font-size: inherit; - font-family: Arial; - font-size: 13px; - color: #333; - height: 27px; - line-height: 27px; - vertical-align: middle; - overflow: hidden; - cursor: default; -} - -div.dhxcombolist_dhx_terrace div.dhxcombo_option.dhxcombo_option_selected { - background-color: #fff3a1; -} - -div.dhxcombolist_dhx_terrace div.dhxcombo_option.dhxcombo_option_selected .dhxcombo_option_text { - color: black; -} - -div.dhxcombolist_dhx_terrace div.dhxcombo_option div.dhxcombo_option_text { - position: relative; - padding: 0 4px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - white-space: nowrap; -} - -div.dhxcombolist_dhx_terrace div.dhxcombo_option div.dhxcombo_option_text.dhxcombo_option_text_chbx { - position: relative; - padding: 0 4px 0 4px; - margin-left: 20px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - white-space: nowrap; -} - -div.dhxcombolist_dhx_terrace div.dhxcombo_option div.dhxcombo_checkbox { - position: absolute; - left: 3px; - width: 18px; - height: 18px; - background-image: url("imgs/dhxcombo_terrace/dhxcombo_chbx.gif"); - background-repeat: no-repeat; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - overflow: hidden; - cursor: default; -} - -div.dhxcombolist_dhx_terrace div.dhxcombo_option div.dhxcombo_checkbox { - top: 5px; -} - -div.dhxcombolist_dhx_terrace div.dhxcombo_option div.dhxcombo_checkbox.dhxcombo_chbx_1 { - background-position: 0 0; -} - -div.dhxcombolist_dhx_terrace div.dhxcombo_option div.dhxcombo_checkbox.dhxcombo_chbx_0 { - background-position: -18px 0; -} - -div.dhxcombolist_dhx_terrace div.dhxcombo_option div.dhxcombo_option_text.dhxcombo_option_text_image { - position: relative; - padding: 0 4px 0 4px; - margin-left: 20px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - white-space: nowrap; -} - -div.dhxcombolist_dhx_terrace div.dhxcombo_option div.dhxcombo_image { - top: 5px; -} - -div.dhxcombo_dhx_terrace div.dhxcombo_top_image div.dhxcombo_image, -div.dhxcombolist_dhx_terrace div.dhxcombo_option div.dhxcombo_image { - position: absolute; - top: 3px; - left: 3px; - width: 18px; - height: 18px; - background-repeat: no-repeat; - background-position: center center; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - overflow: hidden; - cursor: default; -} - -div.dhxcombolist_dhx_terrace div.dhxcombo_option div.dhxcombo_image { - top: 5px; -} - -div.dhxcombo_dhx_terrace.dhxcombo_disabled { - border: 1px solid #d4d4d4; - background-color: #fcfcfc; -} - -div.dhxcombo_dhx_terrace.dhxcombo_disabled input.dhxcombo_input { - color: #bbb; - background-color: #fcfcfc; -} - -div.dhxcombo_dhx_terrace.dhxcombo_disabled div.dhxcombo_select_button div.dhxcombo_select_img { - background-image: url("imgs/dhxcombo_terrace/dhxcombo_arrow_down_dis.gif"); - cursor: default; -} - -.dhxgrid_combo_icon { - position: absolute; - z-index: 1; - top: 0; - right: 0; -} - -div.dhxcombo_dhx_terrace.dhxcombo_in_grid { - margin-left: -20px; -} - -.dhxcombo_skin_detect { - position: absolute; - left: 0; - top: -100px; - margin: 0; - padding: 0; - border: 0 solid white; - width: 30px; - height: 10px; - overflow: hidden; -} - -.dhxcolorpicker_skin_detect { - position: absolute; - left: 0; - top: -100px; - margin: 0; - padding: 0; - border: 0 solid white; - width: 30px; - height: 10px; - overflow: hidden; -} - -.dhtmlxcp_dhx_terrace .dhxcp_g_area { - position: absolute; - width: 254px; - height: 272px; - border: 1px solid #ccc; - border-radius: 3px; - background-color: #f5f5f5; - box-shadow: 0 0 5px 2px #cfcfcf; -} - -.dhtmlxcp_dhx_terrace .dhxcp_add_memory { - height: 317px!important; -} - -.dhtmlxcp_dhx_terrace .dhxcp_sub_area { - margin: 1px; - width: 252px; - height: 270px; - border-radius: 2px; - background-color: #f5f5f5; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhtmlxcp_dhx_terrace .dhxcp_add_memory .dhxcp_sub_area { - height: 315px!important; -} - -.dhtmlxcp_dhx_terrace .dhxcp_g_color_area { - padding: 10px; - width: 232px; - height: 122px; - margin: 0; -} - -.dhtmlxcp_dhx_terrace .dhxcp_color_selector { - position: absolute; - width: 210px; - height: 120px; - background-image: url("imgs/dhxcp_terrace/dhxcp_colors.png"); - background-repeat: no-repeat; - border: 1px solid #ccc; - cursor: pointer; - float: left; -} - -.dhtmlxcp_dhx_terrace .dhxcp_contrast_area { - border: 1px solid #ccc; - position: relative; - height: 120px; - width: 10px; - cursor: pointer; - float: right; -} - -.dhtmlxcp_dhx_terrace .dhxcp_ie_gradient { - height: 120px; - width: 10px; - margin: 0; -} - -.dhtmlxcp_dhx_terrace .dhxcp_color_selector .dhxcp_v_line { - position: absolute; - width: 0; - height: 120px; - border-left: 1px solid #fff; - cursor: pointer; - overflow: hidden; -} - -.dhtmlxcp_dhx_terrace .dhxcp_color_selector .dhxcp_h_line, -.dhtmlxcp_dhx_terrace .dhxcp_contrast_area .dhxcp_h_line { - position: absolute; - height: 0; - border-top: 1px solid #fff; - cursor: pointer; - overflow: hidden; -} - -.dhtmlxcp_dhx_terrace .dhxcp_color_selector .dhxcp_h_line { - width: 210px; -} - -.dhtmlxcp_dhx_terrace .dhxcp_contrast_area .dhxcp_h_line { - width: 10px; -} - -.dhtmlxcp_dhx_terrace .dhxcp_g_input_area { - padding: 0 10px; - width: 232px; - height: 78px; - margin: 0; -} - -.dhtmlxcp_dhx_terrace .dhxcp_value_cont { - width: 60px; - height: 78px; - float: left; -} - -.dhtmlxcp_dhx_terrace .dhxcp_value_color { - width: 58px; - height: 30px; - border: 1px solid #ccc; -} - -.dhtmlxcp_dhx_terrace .dhxcp_value { - width: 54px; - height: 21px; - line-height: 20px; - border: 1px solid #ccc; - border-radius: 0; - background-color: #fff; - margin: 5px 0 0 0; - padding: 0 2px; - font-family: Arial; - font-size: 13px; - color: black; - text-align: left; -} - -.dhtmlxcp_dhx_terrace .dhxcp_inputs_cont { - border: none; - border-spacing: 0; - width: 160px; - height: 78px; - float: right; -} - -.dhtmlxcp_dhx_terrace .dhxcp_label_hsl, -.dhtmlxcp_dhx_terrace .dhxcp_label_rgb { - text-align: right; - font-family: Arial; - font-size: 13px; - color: #333; - padding: 0 3px 0 0; -} - -.dhtmlxcp_dhx_terrace td.dhxcp_input_hsl, -.dhtmlxcp_dhx_terrace td.dhxcp_input_rgb { - width: 27px; - border: none; - padding: 0; - margin: 0; -} - -.dhtmlxcp_dhx_terrace input.dhxcp_input_hsl, -.dhtmlxcp_dhx_terrace input.dhxcp_input_rgb { - width: 24px; - height: 19px; - border: 1px solid #ccc; - border-radius: 0; - background-color: #fff; - font-family: Arial; - font-size: 13px; - color: black; - text-align: right; - padding: 1px 3px; - margin: 2px 0; -} - -.dhtmlxcp_dhx_terrace .dhxcp_g_memory_area { - width: 232px; - height: 0; - overflow: hidden; - border: 1px solid #ccc; - border-bottom: none; - border-left: none; - border-right: none; - margin: 10px; -} - -.dhtmlxcp_dhx_terrace .dhxcp_memory_button_cont { - width: 232px; - margin: 0; - height: 24px; -} - -.dhtmlxcp_dhx_terrace .dhxcp_buttons_area button, -.dhtmlxcp_dhx_terrace .dhxcp_memory_button_cont button { - outline: none; - border-radius: 0; - padding: 0; - background-color: #f0f0f0; - border: 1px solid #ccc; - font-family: Arial; - font-size: 13px; - color: #333; - border-radius: 3px; -} - -.dhtmlxcp_dhx_terrace .dhxcp_buttons_area button:hover, -.dhtmlxcp_dhx_terrace .dhxcp_memory_button_cont button:hover { - background-color: #ebebeb; -} - -.dhtmlxcp_dhx_terrace .dhxcp_buttons_area button:active, -.dhtmlxcp_dhx_terrace .dhxcp_memory_button_cont button:active { - background-color: #e6e6e6; - box-shadow: 0 0 3px #d6d6d6 inset; -} - -.dhtmlxcp_dhx_terrace .dhxcp_save_to_memory { - width: 232px; - height: 24px; - margin: 0; -} - -.dhtmlxcp_dhx_terrace .dhxcp_save_to_memory .dhxcp_label_bm { - display: inherit; - width: 90px; - margin: 0 auto; - height: 16px; -} - -.dhtmlxcp_dhx_terrace .dhxcp_memory_els_cont { - width: 232px; - height: 25px; - margin-top: 3px; - text-align: center; -} - -.dhtmlxcp_dhx_terrace .dhxcp_memory_el { - width: 24px; - height: 24px; - background-color: #fff; - border: 1px solid #ccc; - display: inline-block; - margin: 0 1px; -} - -.dhtmlxcp_dhx_terrace .dhxcp_memory_el_select { - border: 1px dashed black!important; -} - -.dhtmlxcp_dhx_terrace .dhxcp_memory_el_next { - border: 1px dashed red!important; -} - -.dhtmlxcp_dhx_terrace .dhxcp_add_memory .dhxcp_g_memory_area { - height: 55px!important; - border-top: none!important; - margin: 5px 10px 5px 10px; -} - -.dhtmlxcp_dhx_terrace .dhxcp_buttons_area { - padding: 0 10px; - width: 232px; - height: 28px; - text-align: right; - margin: 0; -} - -.dhtmlxcp_dhx_terrace .dhx_button_save, -.dhtmlxcp_dhx_terrace .dhx_button_cancel { - height: 26px; - line-height: 22px; - width: 75px; - margin: 0 2px; - overflow: hidden; - text-align: center; -} - -.dhxcp_colorBox { - float: right; -} - -.dhxcp_colorInput { - float: left; -} - -.dhxcp_frm { - position: absolute; - background-color: white; - opacity: 0; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=0); - width: 256px; - height: 274px; -} - -.dhxslider_skin_detect { - position: absolute; - left: 0; - top: -100px; - margin: 0; - padding: 0; - border: 0 solid white; - width: 30px; - height: 10px; - overflow: hidden; -} - -.dhtmlxslider_dhx_terrace .dhxsl_hidden { - display: none; -} - -.dhtmlxslider_dhx_terrace .dhxsl_container { - position: relative; - float: left; - clear: left; - margin: 0; - padding: 1px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhtmlxslider_dhx_terrace .dhxsl_container.dhxsl_cont_hr { - margin-top: 4px; -} - -.dhtmlxslider_dhx_terrace .dhxsl_container.dhxsl_cont_vr { - margin-left: 4px; -} - -.dhtmlxslider_dhx_terrace .dhxsl_runner { - position: absolute; - border: 1px solid #ccc; - border-radius: 3px; - background-color: #e8e8e8; - margin: 0; - padding: 0; - overflow: hidden; -} - -.dhtmlxslider_dhx_terrace .dhxsl_cont_hr .dhxsl_runner { - width: 12px; - height: 22px; -} - -.dhtmlxslider_dhx_terrace .dhxsl_cont_vr .dhxsl_runner { - width: 22px; - height: 12px; -} - -.dhtmlxslider_dhx_terrace .dhxsl_runner_dis { - border: 1px solid #d1d1d1; - background-color: #f0f0f0; -} - -.dhtmlxslider_dhx_terrace .dhxsl_track { - border: 1px solid #ccc; - border-radius: 3px; - background-color: #f5f5f5; - overflow: hidden; - margin: 0; - padding: 0; -} - -.dhtmlxslider_dhx_terrace .dhxsl_cont_vr .dhxsl_track { - height: 100%; - width: 8px; -} - -.dhtmlxslider_dhx_terrace .dhxsl_cont_hr .dhxsl_track { - width: 100%; - height: 8px; -} - -.dhtmlxslider_dhx_terrace .dhxsl_track_dis { - border: 1px solid #d1d1d1; - background-color: #f0f0f0; -} - -div.dhx_popup_skin_detect { - position: absolute; - display: block; - visibility: hidden; - left: -100px; - top: 0; - width: 30px; - height: 10px; - margin: 0; - padding: 0; - border: none; - overflow: hidden; -} - -div.dhx_popup_dhx_terrace { - position: absolute; -} - -div.dhx_popup_dhx_terrace div.dhx_popup_area { - position: relative; - margin: 10px; - padding: 5px 0; - border: 1px solid #ccc; - box-shadow: 0 0 5px rgba(127, 127, 127, 0.35); - border-radius: 3px; - background-color: #f5f5f5; -} - -div.dhx_popup_dhx_terrace div.dhx_popup_area td.dhx_popup_td { - font-family: Arial; - font-size: 13px; - color: #333; - text-align: left; - line-height: normal; - padding: 7px 10px 6px 10px; - white-space: nowrap; - cursor: default; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} - -div.dhx_popup_dhx_terrace div.dhx_popup_area td.dhx_popup_td div.dhtmlxcalendar_dhx_terrace { - position: relative; -} - -div.dhx_popup_dhx_terrace div.dhx_popup_area tr.dhxnode td.dhx_popup_td { - -webkit-user-select: text; - -khtml-user-select: text; - -moz-user-select: text; - -o-user-select: text; - user-select: text; -} - -div.dhx_popup_dhx_terrace div.dhx_popup_area tr.dhxnode td.dhx_popup_td .dhtmlxcalendar_container.dhtmlxcalendar_skin_dhx_terrace { - position: relative!important; - box-shadow: none; - background-image: none; -} - -div.dhx_popup_dhx_terrace div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxeditor_dhx_terrace { - border: 1px solid #ccc; -} - -div.dhx_popup_dhx_terrace div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhtmlxcp_dhx_terrace div.dhxcp_g_area { - position: relative; - box-shadow: none; - border: 0 solid white; -} - -div.dhx_popup_dhx_terrace div.dhx_popup_area tr.dhx_popup_sep td.dhx_popup_sep { - font-size: 1px; - padding-top: 2px; - padding-bottom: 2px; - position: relative; -} - -div.dhx_popup_dhx_terrace div.dhx_popup_area tr.dhx_popup_sep td.dhx_popup_sep div.dhx_popup_sep { - position: relative; - font-size: 1px; - line-height: 1px; - height: 0; - width: 100%; - border-top: 1px solid #dcdcdc; - overflow: hidden; -} - -div.dhx_popup_dhx_terrace div.dhx_popup_area td.dhx_popup_td:first-child { - padding-left: 23px; -} - -div.dhx_popup_dhx_terrace div.dhx_popup_area td.dhx_popup_td:last-child { - padding-right: 21px; -} - -div.dhx_popup_dhx_terrace div.dhx_popup_area tr:hover td.dhx_popup_td { - background-color: #fff3a1; - color: black; -} - -div.dhx_popup_dhx_terrace div.dhx_popup_area tr.dhxnode:hover td.dhx_popup_td { - background: none; -} - -div.dhx_popup_dhx_terrace div.dhx_popup_area.dhx_popup_area_ie td.dhx_popup_td.dhx_popup_td_single { - padding-left: 23px; - padding-right: 21px; -} - -div.dhx_popup_dhx_terrace div.dhx_popup_area.dhx_popup_area_ie td.dhx_popup_td.dhx_popup_td_first { - padding-left: 23px; -} - -div.dhx_popup_dhx_terrace div.dhx_popup_area.dhx_popup_area_ie td.dhx_popup_td.dhx_popup_td_last { - padding-right: 21px; -} - -div.dhx_popup_dhx_terrace div.dhx_popup_area.dhx_popup_area_ie tr.tr_hover td.dhx_popup_td { - background-color: #fff3a1; - color: black; -} - -div.dhx_popup_dhx_terrace div.dhx_popup_arrow { - position: absolute; - background-repeat: no-repeat; -} - -div.dhx_popup_dhx_terrace div.dhx_popup_arrow.dhx_popup_arrow_bottom { - width: 19px; - height: 16px; - background-image: url("imgs/dhxpopup_terrace/dhxpopup_arrow_bottom.gif"); - background-position: top center; -} - -div.dhx_popup_dhx_terrace div.dhx_popup_arrow.dhx_popup_arrow_top { - width: 19px; - height: 16px; - background-image: url("imgs/dhxpopup_terrace/dhxpopup_arrow_top.gif"); - background-position: bottom center; -} - -div.dhx_popup_dhx_terrace div.dhx_popup_arrow.dhx_popup_arrow_right { - width: 16px; - height: 19px; - background-image: url("imgs/dhxpopup_terrace/dhxpopup_arrow_right.gif"); - background-position: center left; -} - -div.dhx_popup_dhx_terrace div.dhx_popup_arrow.dhx_popup_arrow_left { - width: 16px; - height: 19px; - background-image: url("imgs/dhxpopup_terrace/dhxpopup_arrow_left.gif"); - background-position: center right; -} - -.dhxmenu_skin_detect { - position: absolute; - left: 0; - top: -100px; - margin: 0; - padding: 0; - border: 0 solid white; - width: 30px; - height: 10px; - overflow: hidden; -} - -.dhtmlxMenu_dhx_terrace_Middle { - position: relative; - height: 34px; - padding: 0 5px; - border: none; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhtmlxMenu_dhx_terrace_Middle div.top_sep { - float: left; - position: relative; - height: 20px; - margin: 5px 6px 0 5px; - line-height: 1px; - font-size: 1px; - overflow: hidden; - cursor: default; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhtmlxMenu_dhx_terrace_Middle img.dhtmlxMenu_TopLevel_Item_Icon { - float: left; - margin: 2px 3px 0 3px; - width: 18px; - height: 18px; -} - -.dhtmlxMenu_dhx_terrace_Middle div.dhtmlxMenu_TopLevel_Text_right { - position: absolute; - top: 10px; - left: none; - right: 8px; - font-family: Arial; - font-size: 13px; - color: #333; - cursor: default; -} - -.dhtmlxMenu_dhx_terrace_Middle div.dhtmlxMenu_TopLevel_Text_left { - position: absolute; - top: 10px; - right: none; - left: 8px; - font-family: Arial; - font-size: 13px; - color: #333; - cursor: default; -} - -.dhtmlxMenu_dhx_terrace_Middle.dir_left div.align_left { - float: left; -} - -.dhtmlxMenu_dhx_terrace_Middle.dir_left div.align_right { - float: right; -} - -div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Normal, -div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Disabled, -div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Selected { - position: relative; - float: left; - font-family: Arial; - font-size: 13px; - color: #333; - border: 1px solid #ccc; - background-color: #f5f5f5; - cursor: default; - white-space: nowrap; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - height: 22px; - line-height: 22px; - vertical-align: middle; - margin-top: 2px; - padding: 3px 5px; -} - -div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Normal div.top_level_text, -div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Disabled div.top_level_text, -div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Selected div.top_level_text { - float: left; - margin: 0 5px; -} - -div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Disabled { - color: #d1d1d1; - background-color: #ededed; -} - -div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Selected { - color: #2e2e2e; - background-color: #ebebeb; -} - -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon { - position: absolute; - border: 1px solid #ccc; - *border: 1px solid #c7c7c7; - box-shadow: 0 0 5px rgba(127, 127, 127, 0.35); - padding: 3px 0; - border-bottom-left-radius: 1px; - border-bottom-right-radius: 1px; - border-top-right-radius: 1px; - background-color: #f5f5f5; - overflow: hidden; - cursor: default; - line-height: normal; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} - -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td { - font-family: Arial; - font-size: 13px; - color: #333; - line-height: normal; - padding: 0 5px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} - -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_selected td { - background-color: #fff3a1; - color: black; -} - -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_icon { - width: 18px; - text-align: center; - vertical-align: middle; -} - -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_icon img.sub_icon { - float: left; - margin: 0; - width: 18px; - height: 18px; -} - -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_item_text { - padding: 0 16px 0 1px; - height: 26px; - line-height: 25px; - white-space: nowrap; - text-align: left; -} - -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_item_text { - color: #bbb; -} - -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_hk { - padding-left: 8px; - padding-right: 8px; -} - -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_hk div.sub_item_hk { - font-family: Arial; - font-size: 13px; - color: #737373; - text-align: right; -} - -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis td.sub_item_hk div.sub_item_hk { - color: #c8c8c8!important; -} - -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.complex_arrow { - width: 4px; - margin: 0 2px 0 5px; - height: 22px; - background-image: url("imgs/dhxmenu_terrace/dhxmenu_subar.gif"); - background-repeat: no-repeat; - background-position: 0 0; - overflow: hidden; - font-size: 1px; - float: right; -} - -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_selected div.complex_arrow { - background-position: -4px 0!important; -} - -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.complex_arrow { - background-position: -8px 0!important; -} - -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.complex_arrow_loading { - width: 11px; - height: 22px; - background-position: center center; - background-repeat: no-repeat; - background-image: url("imgs/dhxmenu_terrace/dhxmenu_loader.gif"); - float: right; -} - -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon { - float: left; - margin: 0; - width: 18px; - height: 18px; - background-position: top right; - background-repeat: no-repeat; - background-image: url("imgs/dhxmenu_terrace/dhxmenu_chrd.gif"); -} - -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.chbx_0 { - background-position: 0 0!important; -} - -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.chbx_1 { - background-position: -18px 0!important; -} - -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.chbx_0 { - background-position: -36px 0!important; -} - -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.chbx_1 { - background-position: -54px 0!important; -} - -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.rdbt_0 { - background-position: -72px 0!important; -} - -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.rdbt_1 { - background-position: -90px 0!important; -} - -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.rdbt_0 { - background-position: -108px 0!important; -} - -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.rdbt_1 { - background-position: -126px 0!important; -} - -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon tr.sub_sep td { - padding: 2px 0; -} - -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon div.sub_sep { - position: static; - font-size: 1px; - line-height: 1px; - height: 1px; - width: 100%; - border-top: 1px solid #e8e8e8; -} - -iframe.dhtmlxMenu_IE6CoverFix_dhx_terrace { - position: absolute; - border: none; - background: #000; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=100); -} - -div.dhtmlxMenu_dhx_terrace_SubLevelArea_ArrowUp, -div.dhtmlxMenu_dhx_terrace_SubLevelArea_ArrowUp_Over, -div.dhtmlxMenu_dhx_terrace_SubLevelArea_ArrowUp_Disabled { - position: relative; - font-size: 1px; - border-bottom: 1px solid #ccc; - background-image: url("imgs/dhxmenu_terrace/dhxmenu_arrow_up.gif"); - background-repeat: no-repeat; - background-position: center center; - padding: 8px 0; - margin-bottom: 3px; -} - -div.dhtmlxMenu_dhx_terrace_SubLevelArea_ArrowUp_Disabled { - background-image: url("imgs/dhxmenu_terrace/dhxmenu_arrow_up_dis.gif"); -} - -div.dhtmlxMenu_dhx_terrace_SubLevelArea_ArrowDown, -div.dhtmlxMenu_dhx_terrace_SubLevelArea_ArrowDown_Over, -div.dhtmlxMenu_dhx_terrace_SubLevelArea_ArrowDown_Disabled { - position: relative; - font-size: 1px; - border-top: 1px solid #ccc; - background-image: url("imgs/dhxmenu_terrace/dhxmenu_arrow_down.gif"); - background-repeat: no-repeat; - background-position: center center; - padding: 8px 0; - margin-top: 3px; -} - -div.dhtmlxMenu_dhx_terrace_SubLevelArea_ArrowDown_Disabled { - background-image: url("imgs/dhxmenu_terrace/dhxmenu_arrow_down_dis.gif"); -} - -.dhtmlxribbon_skin_detect { - position: absolute; - left: 0; - top: -100px; - margin: 0; - padding: 0; - border: 0 solid white; - width: 30px; - height: 10px; - overflow: hidden; -} - -.dhtmlxribbon_dhx_terrace.dhxrb_without_tabbar { - background-color: #fff; - border: 1px solid #ccc; -} - -.dhtmlxribbon_dhx_terrace { - overflow: hidden; - width: 100%; -} - -.dhtmlxribbon_dhx_terrace .dhxrb_background_area { - height: 116px; - background-color: #fff; - margin: 1px; -} - -.dhtmlxribbon_dhx_terrace .dhxrb_with_tabbar { - height: 151px; -} - -.dhtmlxribbon_dhx_terrace div.dhx_cell_tabbar { - background-color: #fff; -} - -.dhtmlxribbon_dhx_terrace .dhxrb_g_area { - height: 114px; - float: left; - clear: left; - overflow: hidden; - position: relative; -} - -.dhtmlxribbon_dhx_terrace .dhxrb_block_base { - margin: 3px 0 3px 3px; - float: left; - border: 1px solid #ccc; - background-color: #f5f5f5; - border-radius: 3px; - height: 108px; - overflow: hidden; - position: relative; -} - -.dhtmlxribbon_dhx_terrace .dhxrb_block_base .dhxrb_block_items { - height: 85px; - float: left; - padding: 2px 0; - overflow: hidden; -} - -.dhtmlxribbon_dhx_terrace .dhxrb_block_base>.dhxrb_block_label { - height: 19px; - line-height: 18px; - *height: auto; - *line-height: 1em; -} - -.dhtmlxribbon_dhx_terrace .dhxrb_block_base .dhxrb_block_label { - text-align: center; - clear: left; - font-family: Arial; - font-size: 13px; - color: #b5b5b5; - background-color: #e8e8e8; - *font-size: 12px; - *padding: 1px 3px 3px; - *font-family: Arial; -} - -.dhtmlxribbon_dhx_terrace .dhxrb_big_button { - margin: 1px 3px; - float: left; - text-align: center; - padding: 4px 10px; - height: 72px; - border-radius: 3px; - border: 1px solid #f5f5f5; - font-family: Arial; - font-size: 13px; - color: #333; - background-color: #f5f5f5; -} - -.dhtmlxribbon_dhx_terrace .dhxrb_big_button .dhxrb_image { - width: 48px; - height: 48px; - border: none; -} - -.dhtmlxribbon_dhx_terrace .dhxrb_big_button .dhxrb_label_button { - margin: 0 auto; - cursor: default; - font-family: Arial; - font-size: 13px; - color: #333; - line-height: 11px; -} - -.dhtmlxribbon_dhx_terrace .dhxrb_big_button .dhxrb_invisible { - visibility: hidden; -} - -.dhtmlxribbon_dhx_terrace .dhxrb_3rows_block { - float: left; - margin: 0 3px; - overflow: hidden; - position: relative; -} - -.dhtmlxribbon_dhx_terrace .dhxrb_3rows_block .dhxrb_invisible { - display: none; -} - -.dhtmlxribbon_dhx_terrace .dhxrb_3rows_button { - height: 22px; - margin: 1px 0; - float: left; - clear: left; - padding: 1px 8px; - border-radius: 3px; - border: 1px solid #f5f5f5; - font-family: Arial; - font-size: 13px; - color: #333; - background-color: #f5f5f5; -} - -.dhtmlxribbon_dhx_terrace .dhxrb_in_row { - height: 22px; - margin: 1px 0; - float: left; - padding: 1px 8px; - white-space: nowrap; - border-radius: 3px; - border: 1px solid #f5f5f5; - font-family: Arial; - font-size: 13px; - color: #333; - background-color: #f5f5f5; -} - -.dhtmlxribbon_dhx_terrace .dhxrb_group .dhxrb_buttoncombo_cont { - height: 20px; -} - -.dhtmlxribbon_dhx_terrace .dhxrb_buttoncombo_cont { - height: 24px; - padding: 1px 2px!important; -} - -.dhtmlxribbon_dhx_terrace .dhxrb_buttoncombo { - float: left; -} - -.dhtmlxribbon_dhx_terrace .dhxrb_in_row .dhxrb_slider, -.dhtmlxribbon_dhx_terrace .dhxrb_3rows_button .dhxrb_slider { - float: left; - margin-right: 5px; - margin-top: 5px; -} - -.dhtmlxribbon_dhx_terrace .dhxrb_in_row center, -.dhtmlxribbon_dhx_terrace .dhxrb_in_group center, -.dhtmlxribbon_dhx_terrace .dhxrb_3rows_button center { - float: left; - margin: 0; - padding: 0; -} - -.dhtmlxribbon_dhx_terrace .dhxrb_in_group .dhxrb_slider { - float: left; - margin-right: 5px; - margin-top: 4px; -} - -.dhtmlxribbon_dhx_terrace .dhxrb_big_button .dhxrb_slider { - width: 16px; - margin: 2px 0; - height: 50px; -} - -.dhtmlxribbon_dhx_terrace .dhxrb_in_group { - height: 20px; - float: left; - padding: 1px 4px; - border: 1px solid #f0f0f0; -} - -.dhtmlxribbon_dhx_terrace .dhxrb_input { - float: left; - border: 1px solid #ccc; - height: 18px; - width: 80px; - padding: 1px 2px; - font-family: Arial; - font-size: 13px; - color: #333; -} - -.dhtmlxribbon_dhx_terrace .dhxrb_input:disabled { - border: 1px solid #d4d4d4; - background-color: #fafafa; - color: #bbb; -} - -.dhtmlxribbon_dhx_terrace div.dhxcombo_dhx_terrace input.dhxcombo_input { - float: left; - height: 18px; - width: 80px; - padding: 1px 2px; - font-family: Arial; - font-size: 13px; - color: black; - line-height: 18px; -} - -.dhtmlxribbon_dhx_terrace .dhxrb_in_group .dhxrb_input, -.dhtmlxribbon_dhx_terrace .dhxrb_in_group div.dhxcombo_dhx_terrace input.dhxcombo_input { - height: 16px; - padding: 1px 1px; - line-height: 16px; -} - -.dhtmlxribbon_dhx_terrace .dhxrb_in_group div.dhxcombo_dhx_terrace div.dhxcombo_select_button { - top: 0; -} - -.dhtmlxribbon_dhx_terrace div.dhxcombo_dhx_terrace div.dhxcombo_select_button { - top: 2px; -} - -.dhtmlxribbon_dhx_terrace .dhxrb_3rows_button .dhxrb_image, -.dhtmlxribbon_dhx_terrace .dhxrb_in_row .dhxrb_image, -.dhtmlxribbon_dhx_terrace .dhxrb_in_group .dhxrb_image { - margin: 2px 0; - width: 18px; - height: 18px; - float: left; -} - -.dhtmlxribbon_dhx_terrace .dhxrb_3rows_button .dhxrb_label_button, -.dhtmlxribbon_dhx_terrace .dhxrb_in_row .dhxrb_label_button, -.dhtmlxribbon_dhx_terrace .dhxrb_in_group .dhxrb_label_button { - float: left; - cursor: default; - font-family: Arial; - font-size: 13px; - color: #333; -} - -.dhtmlxribbon_dhx_terrace .dhxrb_3rows_button .dhxrb_label_button, -.dhtmlxribbon_dhx_terrace .dhxrb_in_row .dhxrb_label_button { - margin: 1px 0 1px 6px; - line-height: 19px; -} - -.dhtmlxribbon_dhx_terrace .dhxrb_in_group .dhxrb_label_button { - margin: 1px; -} - -.dhtmlxribbon_dhx_terrace .dhxrb_label_checkbox { - float: left; - margin: 0 4px; - cursor: default; - font-family: Arial; - font-size: 13px; - color: #333; - line-height: 21px; -} - -.dhtmlxribbon_dhx_terrace .dhxrb_group .dhxrb_label_checkbox { - line-height: 19px; -} - -.dhtmlxribbon_dhx_terrace .dhxrb_disable_text_style, -.dhtmlxribbon_dhx_terrace .dhxrb_item_disable .dhxrb_label_checkbox { - color: #bbb!important; - -webkit-user-select: text; - -khtml-user-select: text; - -moz-user-select: text; - -o-user-select: text; - user-select: text; -} - -.dhtmlxribbon_dhx_terrace .dhxrb_highlight0 { - border-color: #ebebeb; - background-color: #ebebeb; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhtmlxribbon_dhx_terrace .dhxrb_highlight1 { - border-color: #e6e6e6; - background-color: #e6e6e6; - box-shadow: 0 0 3px #d9d9d9 inset; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhtmlxribbon_dhx_terrace .dhxrb_in_group.dhxrb_highlight1, -.dhtmlxribbon_dhx_terrace .dhxrb_in_group.dhxrb_highlight0 { - border-radius: 1px; -} - -.dhtmlxribbon_dhx_terrace .dhxrb_item_hide { - display: none!important; -} - -.dhtmlxribbon_dhx_terrace .dhxrb_block_rows { - float: left; - margin: 0 3px; -} - -.dhtmlxribbon_dhx_terrace .dhxrb_block_row { - float: left; - clear: left; - height: 28px; - overflow: hidden; - position: relative; -} - -.dhtmlxribbon_dhx_terrace .dhxrb_arrow { - padding: 0 5px; - margin-left: 2px; - background: url("imgs/dhxribbon_terrace/dhxribbon_arrow.gif") no-repeat 50%; -} - -.dhtmlxribbon_dhx_terrace .dhxrb_3rows_block .dhxrb_group { - border: 1px solid #ccc; - background-color: #f0f0f0; - height: 24px; - border-radius: 3px; - float: left; - clear: left; - margin: 1px 0; - overflow: hidden; - position: relative; -} - -.dhtmlxribbon_dhx_terrace .dhxrb_block_row .dhxrb_group { - border: 1px solid #ccc; - background-color: #f0f0f0; - height: 24px; - border-radius: 3px; - float: left; - margin: 1px 0; - overflow: hidden; - position: relative; -} - -.dhtmlxribbon_dhx_terrace .dhxrb_in_group .dhxrb_label_hide { - display: none; -} - -.dhtmlxribbon_dhx_terrace .dhxrb_separator_groupp { - height: 24px; - width: 0; - border-left: 1px solid #cacaca; - overflow: hidden; - float: left; -} - -.dhtmlxribbon_dhx_terrace .dhxrb_checkbox { - border: 1px solid #ccc; - background-color: white; - float: left; - width: 12px; - height: 12px; - margin-top: 4px; - overflow: hidden; -} - -.dhtmlxribbon_dhx_terrace .dhxrb_in_group .dhxrb_checkbox { - margin-top: 3px; -} - -.dhtmlxribbon_dhx_terrace .dhxrb_checked .dhxrb_checkbox { - background-image: url("imgs/dhxribbon_terrace/dhxribbon_checked.gif"); - background-repeat: no-repeat; -} - -.dhtmlxribbon_dhx_terrace .dhxrb_checked.dhxrb_item_disable>.dhxrb_checkbox { - background-image: url("imgs/dhxribbon_terrace/dhxribbon_checked_dis.gif"); -} - -.dhtmlxribbon_dhx_terrace .dhxrb_item_disable .dhxrb_checkbox { - border: 1px solid #d4d4d4; - background-color: #fafafa; -} - -.dhtmlxribbon_dhx_terrace .dhxrb_item_text { - font-family: Arial; - font-size: 13px; - color: #333; -} - -.dhtmlxribbon_dhx_terrace .dhxrb_in_group .dhxrb_item_text { - height: 20px; - line-height: 19px; - *float: left; - *clear: left; -} - -.dhtmlxribbon_dhx_terrace .dhxrb_3rows_button .dhxrb_item_text, -.dhtmlxribbon_dhx_terrace .dhxrb_in_row .dhxrb_item_text { - font-family: Arial; - font-size: 14px; - color: #333; -} - -.dhtmlxribbon_dhx_terrace .dhxrb_big_button .dhxrb_item_text { - font-family: Arial; - font-size: 30px; - color: #333; - line-height: 72px; - height: 72px; - float: left; - clear: left; -} - -.dhxtoolbar_skin_detect { - position: absolute; - left: 0; - top: -100px; - margin: 0; - padding: 0; - border: 0 solid white; - width: 30px; - height: 10px; - overflow: hidden; -} - -.dhx_toolbar_dhx_terrace { - background-color: #fff; - position: relative; - padding: 0 5px; - height: 34px; - line-height: normal; - cursor: default; - overflow: hidden; - font-family: Arial; - font-size: 13px; - color: #333; -} - -.dhx_toolbar_dhx_terrace div.dhxtoolbar_float_left { - float: left; - *margin-left: 1px; -} - -.dhx_toolbar_dhx_terrace div.dhxtoolbar_float_right { - float: right; - *margin-right: 1px; -} - -.dhx_toolbar_dhx_terrace div.dhx_toolbar_btn, -.dhx_toolbar_dhx_terrace div.dhx_toolbar_arw { - border: 1px solid #ccc; - background-color: #f5f5f5; - position: relative; - float: left; - margin-top: 2px; - padding: 3px 5px; - *padding-bottom: 4px; - *margin-left: -1px; - line-height: normal; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - cursor: default; - height: 22px; - *height: 20px; - overflow: hidden; -} - -.dhx_toolbar_dhx_terrace div.dhx_toolbar_btn.dhxtoolbar_btn_dis, -.dhx_toolbar_dhx_terrace div.dhx_toolbar_arw.dhxtoolbar_btn_dis { - color: #bbb; - background-color: #fafafa; -} - -.dhx_toolbar_dhx_terrace div.dhx_toolbar_btn.dhxtoolbar_btn_over, -.dhx_toolbar_dhx_terrace div.dhx_toolbar_arw.dhxtoolbar_btn_over { - color: #2e2e2e; - background-color: #ebebeb; -} - -.dhx_toolbar_dhx_terrace div.dhx_toolbar_btn.dhxtoolbar_btn_pres, -.dhx_toolbar_dhx_terrace div.dhx_toolbar_arw.dhxtoolbar_btn_pres { - color: #2e2e2e; - background-color: #e6e6e6; - box-shadow: 0 0 5px #d9d9d9 inset; -} - -.dhx_toolbar_dhx_terrace div.dhx_toolbar_btn { - float: left; -} - -.dhx_toolbar_dhx_terrace div.dhx_toolbar_btn.dhxtoolbar_btn_pres_dis { - background-color: #e6e6e6; -} - -.dhx_toolbar_dhx_terrace div.dhx_toolbar_btn img { - float: left; - margin: 2px; - width: 18px; - height: 18px; - cursor: default; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhx_toolbar_dhx_terrace div.dhx_toolbar_btn .dhxtoolbar_input { - position: relative; - float: left; - border: 1px solid #ccc; - background-color: #fff; - margin: 1px 5px; - padding: 2px; - font-family: Arial; - font-size: 11px; - color: black; - line-height: normal; - direction: ltr; - outline: none; -} - -.dhx_toolbar_dhx_terrace div.dhx_toolbar_btn .dhxtoolbar_input:disabled { - background-color: #fafafa; -} - -.dhx_toolbar_dhx_terrace div.dhx_toolbar_btn.dhxtoolbar_btn_dis div.dhxtoolbar_sl_pen { - border-color: #c2c2c2; - background-color: #dcdcdc; -} - -.dhx_toolbar_dhx_terrace div.dhx_toolbar_btn.dhxtoolbar_btn_dis div.dhxtoolbar_sl_bg_l, -.dhx_toolbar_dhx_terrace div.dhx_toolbar_btn.dhxtoolbar_btn_dis div.dhxtoolbar_sl_bg_m, -.dhx_toolbar_dhx_terrace div.dhx_toolbar_btn.dhxtoolbar_btn_dis div.dhxtoolbar_sl_bg_r { - border-color: #c2c2c2; - background-color: #e1e1e1; -} - -.dhx_toolbar_dhx_terrace div.dhx_toolbar_arw { - margin-left: -3px; - z-index: 1; -} - -.dhx_toolbar_dhx_terrace div.dhx_toolbar_arw div.arwimg { - margin: 2px 0; - padding: 0 3px; - background-image: url("imgs/dhxtoolbar_terrace/dhxtoolbar_arrow.gif"); - background-position: center center; - background-repeat: no-repeat; -} - -.dhx_toolbar_dhx_terrace div.dhx_toolbar_arw.dhxtoolbar_btn_dis div.arwimg { - background-image: url("imgs/dhxtoolbar_terrace/dhxtoolbar_arrow_dis.gif"); -} - -.dhx_toolbar_dhx_terrace div.dhx_toolbar_btn div.dhxtoolbar_text, -.dhx_toolbar_dhx_terrace div.dhx_toolbar_arw div.arwimg { - float: left; - font: inherit; - height: 18px; - line-height: 17px; - cursor: default; - overflow: hidden; - white-space: nowrap; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhx_toolbar_dhx_terrace div.dhx_toolbar_btn div.dhxtoolbar_text { - padding: 0; - margin: 2px 5px; -} - -.dhx_toolbar_dhx_terrace div.dhx_toolbar_sep { - float: left; - height: 20px; - margin: 5px 6px 0 5px; - overflow: hidden; -} - -.dhx_toolbar_dhx_terrace div.dhx_toolbar_text { - float: left; - vertical-align: middle; - margin-top: 3px; - padding: 5px; - line-height: 17px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhx_toolbar_dhx_terrace div.dhxtoolbar_sl_bg_l, -.dhx_toolbar_dhx_terrace div.dhxtoolbar_sl_bg_m, -.dhx_toolbar_dhx_terrace div.dhxtoolbar_sl_bg_r { - float: left; - height: 5px; - line-height: 1px; - margin: 8px 0 6px 0; - padding: 0; - width: 2px; - font-size: 1px; - border-top: 1px solid #ccc; - border-bottom: 1px solid #ccc; - background-color: #e8e8e8; - overflow: hidden; -} - -.dhx_toolbar_dhx_terrace div.dhxtoolbar_sl_bg_l { - margin-left: 4px; - border-left: 1px solid #ccc; - border-top-left-radius: 2px; - border-bottom-left-radius: 2px; -} - -.dhx_toolbar_dhx_terrace div.dhxtoolbar_sl_bg_r { - margin-right: 4px; - border-right: 1px solid #ccc; - border-top-right-radius: 2px; - border-bottom-right-radius: 2px; -} - -.dhx_toolbar_dhx_terrace div.dhxtoolbar_sl_pen, -.dhx_toolbar_dhx_terrace div.dhxtoolbar_sl_pen.dhxtoolbar_over { - position: absolute; - top: 6px; - width: 7px; - height: 14px; - border: 1px solid #ccc; - background-color: #e8e8e8; - border-radius: 1px; - cursor: default; - font-size: 1px; - line-height: 1px; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_24 { - height: 40px!important; -} - -.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_24 div.dhx_toolbar_btn, -.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_24 div.dhx_toolbar_arw { - height: 28px; - *height: 26px; -} - -.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_24 div.dhx_toolbar_btn img { - width: 24px; - height: 24px; -} - -.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_24 div.dhx_toolbar_btn div.dhxtoolbar_text, -.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_24 div.dhx_toolbar_arw div.arwimg { - height: 24px; - line-height: 23px; -} - -.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_24 div.dhx_toolbar_text { - padding-top: 6px; - padding-bottom: 6px; -} - -.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_24 div.dhx_toolbar_sep { - height: 26px; -} - -.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_24 div.dhxtoolbar_sl_bg_l, -.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_24 div.dhxtoolbar_sl_bg_m, -.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_24 div.dhxtoolbar_sl_bg_r { - margin-top: 11px; -} - -.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_24 div.dhxtoolbar_sl_pen { - top: 9px; -} - -.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_24 div.dhx_toolbar_btn .dhxtoolbar_input { - margin-top: 4px; - margin-bottom: 4px; -} - -.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_32 { - height: 48px!important; -} - -.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_32 div.dhx_toolbar_btn, -.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_32 div.dhx_toolbar_arw { - height: 36px; - *height: 34px; -} - -.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_32 div.dhx_toolbar_btn img { - width: 32px; - height: 32px; -} - -.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_32 div.dhx_toolbar_btn div.dhxtoolbar_text, -.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_32 div.dhx_toolbar_arw div.arwimg { - height: 32px; - line-height: 31px; -} - -.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_32 div.dhx_toolbar_text { - padding-top: 10px; - padding-bottom: 10px; -} - -.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_32 div.dhx_toolbar_sep { - height: 34px; -} - -.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_32 div.dhxtoolbar_sl_bg_l, -.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_32 div.dhxtoolbar_sl_bg_m, -.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_32 div.dhxtoolbar_sl_bg_r { - margin-top: 15px; -} - -.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_32 div.dhxtoolbar_sl_pen { - top: 13px; -} - -.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_32 div.dhx_toolbar_btn .dhxtoolbar_input { - margin-top: 8px; - margin-bottom: 8px; -} - -.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_48 { - height: 64px!important; -} - -.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_48 div.dhx_toolbar_btn, -.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_48 div.dhx_toolbar_arw { - height: 52px; - *height: 50px; -} - -.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_48 div.dhx_toolbar_btn img { - width: 48px; - height: 48px; -} - -.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_48 div.dhx_toolbar_btn div.dhxtoolbar_text, -.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_48 div.dhx_toolbar_arw div.arwimg { - height: 48px; - line-height: 47px; -} - -.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_48 div.dhx_toolbar_text { - padding-top: 18px; - padding-bottom: 18px; -} - -.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_48 div.dhx_toolbar_sep { - height: 50px; -} - -.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_48 div.dhxtoolbar_sl_bg_l, -.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_48 div.dhxtoolbar_sl_bg_m, -.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_48 div.dhxtoolbar_sl_bg_r { - margin-top: 23px; -} - -.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_48 div.dhxtoolbar_sl_pen { - top: 21px; -} - -.dhx_toolbar_dhx_terrace.dhxtoolbar_icons_48 div.dhx_toolbar_btn .dhxtoolbar_input { - margin-top: 16px; - margin-bottom: 16px; -} - -div.dhx_toolbar_poly_dhx_terrace { - position: absolute; - border: 1px solid #ccc; - box-shadow: 0 0 5px rgba(127, 127, 127, 0.35); - padding: 3px 0; - border-bottom-left-radius: 3px; - border-bottom-right-radius: 3px; - border-top-right-radius: 3px; - background-color: #fff; - overflow: hidden; - cursor: default; - line-height: normal; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} - -div.dhx_toolbar_poly_dhx_terrace td { - font-family: Arial; - font-size: 13px; - color: black; - line-height: normal; - padding: 0 5px; -} - -div.dhx_toolbar_poly_dhx_terrace .tr_btn_over td, -div.dhx_toolbar_poly_dhx_terrace .tr_btn_selected td { - background-color: #fff3a1; -} - -div.dhx_toolbar_poly_dhx_terrace .tr_btn_disabled td { - color: #bbb; -} - -div.dhx_toolbar_poly_dhx_terrace td.td_btn_img { - width: 18px; - text-align: center; -} - -div.dhx_toolbar_poly_dhx_terrace td.td_btn_img img.btn_sel_img { - margin-top: 2px; - width: 18px; - height: 18px; -} - -div.dhx_toolbar_poly_dhx_terrace td.td_btn_txt div.btn_sel_text { - padding: 0 16px 0 1px; - height: 26px; - line-height: 25px; -} - -div.dhx_toolbar_poly_dhx_terrace tr.tr_sep td { - padding: 2px 0; -} - -div.dhx_toolbar_poly_dhx_terrace div.btn_sep { - position: relative; - font-size: 1px; - line-height: 1px; - height: 0; - width: 100%; - border-top: 1px solid #ccc; -} - -div.dhx_toolbar_slider_label_dhx_terrace { - position: absolute; - border: 1px solid #ccc; - box-shadow: 0 0 5px rgba(127, 127, 127, 0.35); - background-color: #fff; - padding: 5px 8px; - border-radius: 2px; - overflow: hidden; - cursor: default; - line-height: normal; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - font-family: Arial; - font-size: 13px; - color: black; -} - -.dhxtoolbar_maxopen_test { - position: absolute; - width: 200px; - height: 50px; - overflow-x: none; - overflow-y: auto; - left: -300px; - top: 100px; - border: 1px solid #fff; - visibility: hidden; -} - -.dhxtoolbar_maxopen_test2 { - height: 200px; -} - -.dhxeditor_dhx_terrace { - position: relative; -} - -.dhxeditor_dhx_terrace iframe.dhxeditor_mainiframe { - position: absolute; - overflow: hidden; - top: 0; - left: 0; - width: 100%; - height: 100%; -} - -.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_stb { - position: relative; - height: 34px; - background-color: #f5f5f5; - padding: 0 5px; - border-bottom: 1px solid #ccc; -} - -.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button { - float: left; - position: relative; - width: 18px; - height: 18px; - font-size: 2px; - margin-left: 7px; - margin-top: 9px; - cursor: pointer; - background-image: url("imgs/dhxeditor_terrace/buttons.gif"); -} - -.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button.btn_bold { - margin-left: 12px; - background-position: 0 0; -} - -.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button.btn_italic { - background-position: -18px 0; -} - -.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button.btn_underline { - background-position: -36px 0; -} - -.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button.btn_clearformat { - background-position: -54px 0; -} - -.dhxeditor_dhx_terrace div.dhx_cell_editor { - position: absolute; - background-color: white; - margin: 0; - padding: 0; - overflow: hidden; - cursor: default; - z-index: 0; -} - -.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_cont_editor { - position: absolute; - overflow: hidden; -} - -.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_toolbar_def { - position: relative; - overflow: hidden; - padding: 5px; - border-bottom: 1px solid #ccc; -} - -.dhxwins_vp_dhx_terrace div.dhx_cell_cont_wins .dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_stb { - border-left: 1px solid #ccc; - border-right: 1px solid #ccc; - border-top: 1px solid #ccc; -} - -.dhxwins_vp_dhx_terrace div.dhx_cell_cont_wins .dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_cont_editor { - border-left: 1px solid #ccc; - border-right: 1px solid #ccc; - border-bottom: 1px solid #ccc; -} - -.dhxwins_vp_dhx_terrace div.dhx_cell_cont_wins .dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_toolbar_def { - padding: 0; - border-top: 1px solid #ccc; -} - -.dhxeditor_skin_detect { - position: absolute; - left: 0; - top: -100px; - margin: 0; - padding: 0; - border: 0 solid white; - width: 30px; - height: 10px; - overflow: hidden; -} - -.dhx_tooltip { - display: none; - position: absolute; - font-family: Arial; - color: #626262; - font-size: 13px; - z-index: 10000; - padding: 4px 10px 4px 10px; - border: 1px solid #fff; - border-radius: 3px; - -moz-border-radius: 3px; - -webkit-border-radius: 3px; - -moz-box-shadow: 0 0 3px #d9d9d9; - -webkit-box-shadow: 0 0 3px #d9d9d9; - text-shadow: 0 1px 1px #fff; - box-shadow: 0 0 5px #d9d9d9; - background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #efefef), color-stop(0.5, #f6f6f6), color-stop(1, #efefef)); - background: -o-linear-gradient(#efefef 0, #f6f6f6 50%, #efefef 100%); - background: -ms-linear-gradient(#efefef 0, #f6f6f6 50%, #efefef 100%); - background: -moz-linear-gradient(#efefef 0, #f6f6f6 50%, #efefef 100%); - background: #efefef; -} - -.dhx_chart { - position: relative; - font-family: Arial; - font-size: 13px; - color: black; - overflow: hidden; -} - -.dhx_chart canvas { - position: absolute; - left: 0; - top: 0; -} - -.dhx_canvas_text { - position: absolute; - text-align: center; - overflow: hidden; - white-space: nowrap; - z-index: 1000; -} - -.dhx_map_img { - width: 100%; - height: 100%; - position: absolute; - top: 0; - left: 0; - border: 0; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=0); - opacity: 0; -} - -.dhx_axis_item_y { - position: absolute; - height: 18px; - line-height: 18px; - margin-top: -4px; - text-align: right; -} - -.dhx_axis_title_x { - text-align: center; -} - -.dhx_axis_title_y { - text-align: center; - font-family: Arial; - -webkit-transform: rotate(-90deg); - -moz-transform: rotate(-90deg); - -o-transform: rotate(-90deg); - -ms-transform: rotate(-90deg); - transform: rotate(-90deg); - height: 18px; - line-height: 18px; - font-size: 13px; -} - -.dhx_ie_filter { - filter: progid: DXImageTransform.Microsoft.BasicImage(rotation=3); - zoom: 1; - font-family: serif; -} - -.dhx_chart_legend { - position: absolute; - z-index: 1000; -} - -.dhx_chart_legend_item { - height: 18px; - line-height: 18px; - padding: 2px; - cursor: pointer; -} - -.dhx_chart_legend_item.hidden { - color: #aaa; -} - -.dhx_axis_item_y.dhx_radar { - color: #666; - font-size: 12px; - padding-right: 3px; - height: 13px; - line-height: 13px; - margin-top: 0; -} - -.dhx_canvas_text.dhx_axis_radar_title { - margin-top: 0; - padding-top: 0; -} - -.dhx_axis_item_y, -.dhx_axis_item_x { - color: #666; -} - -.dhx_axis_item_x { - padding-top: 2px; -} - -.dhx_tooltip { - display: none; - position: absolute; - font-family: Arial; - color: #626262; - font-size: 13px; - z-index: 10000; - padding: 4px 10px 4px 10px; - border: 1px solid #fff; - border-radius: 3px; - -moz-border-radius: 3px; - -webkit-border-radius: 3px; - -moz-box-shadow: 0 0 3px #d9d9d9; - -webkit-box-shadow: 0 0 3px #d9d9d9; - text-shadow: 0 1px 1px #fff; - box-shadow: 0 0 5px #d9d9d9; - background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #efefef), color-stop(0.5, #f6f6f6), color-stop(1, #efefef)); - background: -o-linear-gradient(#efefef 0, #f6f6f6 50%, #efefef 100%); - background: -ms-linear-gradient(#efefef 0, #f6f6f6 50%, #efefef 100%); - background: -moz-linear-gradient(#efefef 0, #f6f6f6 50%, #efefef 100%); - background: #efefef; -} - -.dhx_noselect { - -moz-user-select: none; - -moz-user-select: -moz-none; - -khtml-user-select: none; -} - -.dhx_allow_selection { - -moz-user-select: text; - -user-select: text; -} - -.dhx_dataview { - overflow-y: auto; - -webkit-overflow-scrolling: touch; - overflow-x: hidden; - -moz-user-select: none; - -moz-user-select: -moz-none; - -khtml-select: none; -} - -.dhx_drag_zone { - position: absolute; - border: 1px solid #A4BED4; - z-index: 8000; - -moz-box-shadow: 5px 5px 5px #888; - -khtml-box-shadow: 5px 5px 5px #888; -} - -.dhx_dataview_default_item, -.dhx_dataview_default_item_selected { - cursor: pointer; - background-color: #fff; -} - -.dhx_dataview .dhx_dataview_default_item, -.dhx_dataview .dhx_dataview_default_item_selected { - border-right: 1px solid #ccc; - border-bottom: 1px dotted #ccc; -} - -.dhx_dataview_default_item_selected { - background-color: #fff3a1; - color: #fff3a1; - border-color: #fff3a1; - background-repeat: repeat-x; -} - -.dhx_dataview_item { - font-family: Arial; - font-size: 13px; - color: black; -} - -.dhx_dataview_item .dhx_strong { - font-weight: bold; - display: block; - padding-bottom: 6px; -} - -.dhx_dataview_default_item_selected .dhx_light { - color: #C3C3C3; -} - -.dhx_dataview_item .dhx_light { - color: #919191; -} - -.dhx_drag_over { - background-color: #faf768; - background-image: url("imgs/dhxdataview_terrace/marker.png"); - background-repeat: repeat-x; -} - -.dhx_pager_item, -.dhx_pager_item_selected { - float: left; - text-align: center; - height: 16px; - font-family: Arial; - font-size: 10pt; - border: 1px solid gray; - padding: 2px 4px; - margin-left: 5px; - cursor: pointer; - background-color: white; -} - -.dhx_pager_item_selected { - background-color: lightgrey; - color: white; - cursor: default; - font-weight: bold; -} - -.defaultTreeTable { - margin: 0; - padding: 0; - border: 0; -} - -.containerTableStyle { - overflow: auto; - -webkit-overflow-scrolling: touch; - position: relative; - top: 0; - font-size: 12px; - -khtml-user-select: none; -} - -.containerTableStyleRTL span { - direction: rtl; - unicode-bidi: bidi-override; -} - -.containerTableStyleRTL { - direction: rtl; - overflow: auto; - position: relative; - top: 0; - font-size: 12px; -} - -.standartTreeRow { - font-family: Arial; - font-size: 13px; - -moz-user-select: none; -} - -.selectedTreeRow { - background-color: navy; - color: white; - font-family: Arial; - font-size: 13px; - -moz-user-select: none; -} - -.dragAndDropRow { - background-color: navy; - color: white; -} - -.standartTreeRow_lor { - text-decoration: underline; - background-color: #fff; - font-family: Arial; - font-size: 13px; - -moz-user-select: none; -} - -.selectedTreeRow_lor { - text-decoration: underline; - background-color: navy; - color: white; - font-family: Arial; - font-size: 13px; - -moz-user-select: none; -} - -.standartTreeImage { - width: 18px; - height: 18px; - overflow: hidden; - border: 0; - padding: 0; - margin: 0; - font-size: 1px; -} - -.hiddenRow { - width: 1px; - overflow: hidden; -} - -.dragSpanDiv, -.dragSpanDiv td { - font-size: 12px; - background-color: #fff; - z-index: 999; -} - -.a_dhx_hidden_input { - position: absolute; - top: -1px; - left: -1px; - width: 1px; - height: 1px; - border: none; - background: none; -} - -.a_dhx_hidden_input { - position: absolute; - top: -1px; - left: -1px; - width: 1px; - height: 1px; - border: none; - background: none; -} - -.selectionBox { - background-color: #FFC; -} - -.selectionBar { - top: 0; - background-color: black; - position: absolute; - overflow: hidden; - height: 2px; - z-index: 11; -} - -.intreeeditRow { - font-size: 8pt; - height: 16px; - border: 1px solid silver; - padding: 0; - margin: 0; - margin-left: 4px; - -moz-user-select: text; - -khtml-user-select: text; -} - -.dhx_tree_textSign { - font-size: 8pt; - font-family: monospace; - width: 21px; - color: black; - padding: 0; - margin: 0; - cursor: pointer; - text-align: center; -} - -.dhx_tree_opacity { - opacity: 0; - -moz-opacity: 0; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=0); - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; -} - -.dhx_bg_img_fix { - width: 18px; - height: 18px; - background-repeat: no-repeat; - background-position: center; - background-position-x: center; - background-position-y: center; -} - -.dhxtree_dhx_black, -.dhxtree_dhx_skyblue { - background: #fff; - color: black; -} - -*html .dhxtree_dhx_skyblue .standartTreeRow, -*html .dhxtree_dhx_skyblue .standartTreeRow_lor { - border-right: 0 solid red; - border-left: 0 solid red; -} - -*html .dhxtree_dhx_skyblue span.standartTreeRow, -*html .dhxtree_dhx_skyblue span.standartTreeRow_lor { - margin-left: 1px; -} - -.dhxtree_dhx_skyblue .standartTreeRow, -.dhxtree_dhx_skyblue .standartTreeRow_lor { - border-right: 1px solid transparent; - border-left: 1px solid transparent; - font-family: Arial; - font-size: 13px; - overflow: hidden; - padding: 0; -} - -.dhxtree_dhx_skyblue .selectedTreeRow_lor, -.dhxtree_dhx_skyblue .selectedTreeRow { - background-color: #fff3a1; - background-repeat: repeat-x; - border: 1px solid #fff3a1; - color: black; - line-height: 17px; - font-family: Arial; - font-size: 13px; - overflow: hidden; -} - -html>body .dhxtree_dhx_skyblue .selectedTreeRow, -html>body .dhxtree_dhx_skyblue .selectedTreeRow_lor { - padding: 1px 0 1px 0; - line-height: normal; - *display: inline-block; - height: 13px; -} - -body:nth-of-type(1) .dhxtree_dhx_skyblue span.selectedTreeRow, -body:nth-of-type(1) .dhxtree_dhx_skyblue span.selectedTreeRow_lor { - padding: 1px 0 1px 0; - padding-top: 0; - box-sizing: border-box; - line-height: 12px; - height: 13px; -} - -.dhxtree_dhx_web .selectedTreeRow_lor, -.dhxtree_dhx_web .selectedTreeRow { - background-color: transparent; -} - -.dhxtree_dhx_web span.selectedTreeRow_lor, -.dhxtree_dhx_web span.selectedTreeRow { - background-color: #fff3a1; - color: black; -} - -.dhxtree_dhx_web td.standartTreeRow, -.dhxtree_dhx_web td.selectedTreeRow { - padding-left: 2px; -} - -.dhxtree_dhx_web span.standartTreeRow, -.dhxtree_dhx_web span.selectedTreeRow { - padding-left: 3px!important; -} - -.dhxtree_dhx_web .standartTreeRow, -.dhxtree_dhx_web .standartTreeRow, -.dhxtree_dhx_web .selectedTreeRow_lor, -.dhxtree_dhx_web .selectedTreeRow { - font-family: Arial; - font-size: 13px; - overflow: hidden; -} - -.dhxtree_dhx_terrace .standartTreeRow, -.dhxtree_dhx_terrace .standartTreeRow, -.dhxtree_dhx_terrace .selectedTreeRow_lor, -.dhxtree_dhx_terrace .selectedTreeRow { - font-family: Arial; - font-size: 13px; - padding: 3px 1px 4px 2px; -} - -.dhxtree_dhx_terrace .standartTreeImage { - padding-left: 3px; -} - -.dhxtree_dhx_terrace .selectedTreeRow_lor, -.dhxtree_dhx_terrace .selectedTreeRow { - background-color: transparent; -} - -.dhxtree_dhx_terrace span.selectedTreeRow_lor, -.dhxtree_dhx_terrace span.selectedTreeRow { - background-color: #fff3a1; - color: black; -} - -div.gridbox { - overflow: hidden; - text-align: left; -} - -.dhx_sub_row { - background-color: #fff; -} - -div.gridbox .xhdr { - background-color: #D4D0C8; -} - -div.gridbox table.obj { - height: 1px; -} - -div.gridbox table.hdr td { - line-height: normal; - font-family: arial; - font-size: 12px; - background-color: #D4D0C8; - border: 1px solid; - border-color: #fff Gray Gray #fff; - text-align: center; - margin: 0; - padding: 5px 0 4px 0; - font-weight: normal; - -moz-user-select: none; - -moz-user-select: -moz-none; - overflow: hidden; - empty-cells: show; -} - -div.gridbox table.hdr td div.hdrcell { - overflow: hidden; -} - -div.gridbox table.obj td { - border: 1px solid; - border-color: #fff Gray Gray #fff; - font-family: Arial; - font-size: 12px; - -moz-user-select: none; - -moz-user-select: -moz-none; - overflow: hidden; - padding-top: 0; - padding-bottom: 0; - empty-cells: show; -} - -div.gridbox table.obj th, -div.gridbox table.hdr th { - padding: 0; - margin: 0; -} - -div.gridbox table.row20px tr td { - height: 20px; - white-space: nowrap; - padding: 0; -} - -div.gridbox .objbox { - background-color: #fff; - position: relative; - -webkit-overflow-scrolling: touch; -} - -div.gridbox table.obj td span.space, -div.gridbox table.obj td img.space { - width: 18px; -} - -div.gridbox table.obj tr.rowselected td.cellselected, -div.gridbox table.obj td.cellselected { - background-color: #d8d8d8; - color: black; -} - -div.gridbox table.obj tr.rowselected td { - background-color: #e1e0d7; - color: black; -} - -div.gridbox table.obj td.editable { - -moz-user-select: text; -} - -div.gridbox table.obj td.group_row { - vertical-align: middle; - font-family: Tahoma; - font-size: 10pt; - font-weight: bold; - height: 30px; - border: 0; - border-bottom: 2px solid navy; -} - -.dragSpanDiv { - font-size: 12px; - border: 1px gray solid; - background-color: #fff; - z-index: 999; -} - -.dhx_combo_select { - font-family: arial; - font-size: 12px; - border: 1px solid; - border-color: black silver silver black; - background-color: #fff; - overflow: hidden; - cursor: default; - position: absolute; - height: auto; - z-index: 600; -} - -.dhx_combo_edit { - width: 100%; - border: 0; - padding: 0; - padding-right: 1px!ie; - margin: 0; - font: 12px arial; - overflow: hidden; -} - -.dhx_textarea { - border: 1px solid; - border-color: black silver silver black; - position: absolute; - height: 100px; - z-index: 600; -} - -.dhx_clist { - background-color: #fff; - border: 1px solid black; - padding: 2px 2px 2px 2px; - z-index: 300; -} - -.gridDragLine { - position: absolute; - top: 10px; - left: 0; - width: 100%; - height: 2px; - background-color: black; - overflow: hidden; -} - -div.pagingBlock { - font-size: 12px; - font-family: verdana, arial; -} - -div.pagingBlock .pagingCurrentPage { - font-weight: bold; - cursor: default; -} - -div.pagingBlock .pagingPage { - cursor: pointer; - text-decoration: underline; -} - -span.recordsInfoBlock { - font-size: 12px; - font-family: verdana, arial; -} - -div.pagingBlock a { - text-decoration: none; - padding-right: 2px; - color: black; - cursor: pointer; -} - -div.pagingBlock a.dhx_not_active { - text-decoration: none; - cursor: default; -} - -.toolbar_select { - font-size: 10px; -} - -.dhtmlxGrid_selection { - -moz-opacity: .5; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=50); - background-color: yellow; - opacity: .5; - border: 1px dotted black; -} - -div.gridbox div.ftr { - position: absolute; - left: 0; - bottom: 1px; - width: 100%; - overflow: hidden; -} - -div.gridbox div.ftr td { - padding: 0; - padding-left: 10px; - padding-right: 5px; - border-top: 1px solid gray; - border-right: 1px solid gray; - background-color: #ffc; - font-style: italic; - font-family: arial; - font-size: 12px; - overflow: hidden; -} - -div.gridbox table.hdr td.columnTargetR div.hdrcell { - border-right: 3px double #F60; - border-left: 3px solid #D4D0C8; -} - -div.gridbox table.hdr td.columnTargetL div.hdrcell { - border-right: 3px solid #D4D0C8; - border-left: 3px double #F60; -} - -.dhx_dragColDiv { - font-family: Arial; - font-size: 12px; - background-color: #D4D0C8; - border: 1px solid; - border-color: #fff Gray Gray #fff; - text-align: center; - margin: 0; - padding: 5px 20px 5px 20px; - font-weight: normal; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=75); - -moz-opacity: .75; - opacity: .75; -} - -.dhtmlx_live_validation_error { - background-color: #FFE0E0!important; -} - -.dhtmlx_validation_error { - border-bottom: 2px solid red!important; -} - -.dhx_header_cmenu { - background-color: #fff; - border: 2px outset silver; - z-index: 2; -} - -.dhx_header_cmenu_item { - white-space: nowrap; -} - -div.gridbox td.filter input, -div.gridbox td.filter select { - width: 90%; - font-size: 8pt; - font-family: Tahoma; - -moz-user-select: text; -} - -div.gridbox_dhx_terrace.gridbox .xhdr { - background-color: #fff; -} - -div.gridbox_dhx_terrace.gridbox table.hdr tr { - background-color: #f5f5f5; -} - -div.gridbox_dhx_terrace.gridbox .ftr tr { - background-color: #f5f5f5; -} - -div.gridbox_dhx_terrace.gridbox table.obj { - font-family: Arial; - font-size: 13px; - color: #333; -} - -div.gridbox_dhx_terrace.gridbox table.obj tr td { - border-color: #ccc; - border-width: 0 0 1px 0; - padding-right: 20px; - padding-left: 20px; -} - -div.gridbox_dhx_terrace.gridbox .xhdr { - border-bottom: 1px solid #ccc; - background-color: #f5f5f5; -} - -div.gridbox_dhx_terrace.gridbox table.hdr td div.hdrcell { - width: auto; - padding-left: 20px; - line-height: 36px; - text-transform: uppercase; - width: 100%!ie; -} - -div.gridbox_dhx_terrace.gridbox .ftr table td { - width: auto; - background-color: #fff; - border-width: 1px 0 0 0; - font-style: normal; - color: #333; - border-color: #ccc; - padding-left: 20px; - line-height: 41px; - width: 100%!ie; -} - -div.gridbox_dhx_terrace.gridbox table.hdr td { - border: 1px solid #ccc; - border-width: 0; - padding: 0; - background-color: #f5f5f5; - font-family: Arial; - font-size: 12px; - color: #333; - vertical-align: top; - text-align: left; -} - -div.gridbox_dhx_terrace.gridbox { - border: 1px solid #ccc; -} - -div.gridbox_dhx_terrace.gridbox table.obj tr td { - padding-top: 10px; - padding-bottom: 10px; -} - -div.gridbox_dhx_terrace.gridbox table.obj.row20px tr td { - padding-top: 0; - padding-bottom: 0; - height: 32px; - line-height: 32px; -} - -div.gridbox_dhx_terrace.gridbox table.obj tr td.editable { - padding-left: 20px; - padding-right: 0; -} - -div.gridbox_dhx_terrace.gridbox table.obj tr td.editable div.treegrid_cell { - padding: 1px 4px; -} - -div.gridbox_dhx_terrace.gridbox table.obj tr.rowselected { - background-color: #fff3a1; -} - -div.gridbox_dhx_terrace.gridbox table.obj tr.rowselected td { - background-color: #fff3a1; - color: black; -} - -div.gridbox_dhx_terrace.gridbox table.obj.row20px tr.rowselected td { - background-color: #fff3a1; - color: black; -} - -div.gridbox_dhx_terrace.gridbox table.obj tr.rowselected td.cellselected { - background-color: #fff3a1; - color: black; -} - -div.gridbox_dhx_terrace.gridbox .odd_dhx_terrace { - background-color: #f7f7f7; -} - -.gridbox_dhx_terrace.gridbox .dhx_combo_edit { - font-family: Arial; - font-size: 13px; - line-height: 32px; -} - -.dhx_combo_select, -.dhx_textarea { - margin-left: 20px; - line-height: 20px; - font-family: Arial; - font-size: 13px; -} - -.gridbox_dhx_terrace.gridbox .dhx_combo_edit { - padding: 1px 0 1px 1px; -} - -.gridbox_dhx_terrace.gridbox .dhx_sub_row { - background-color: transparent; -} - -.gridbox_dhx_terrace.gridbox table.hdr td.filter { - padding-left: 20px; - line-height: 41px; - height: 30px; -} - -div.gridbox_dhx_terrace.gridbox td.filter input, -div.gridbox_dhx_terrace.gridbox td.filter select { - font-size: 13px!important; - font-family: Arial!important; - height: 22px; - border-radius: 3px; - border: 1px solid #ccc; - background: #fff; - box-shadow: none; -} - -.gridbox_dhx_terrace.gridbox .dhx_combo_box.dhx_terrace { - height: 30px!important; - margin-left: -20px; -} - -.dhx_header_cmenu { - background-color: #fff; - border: 2px outset silver; - z-index: 2; -} - -.dhx_header_cmenu_item { - white-space: nowrap; -} - -.dhx_pbox { - margin-top: 3px; - border: 1px solid #D4D0C8; - border-top: 0; - font-size: 10px; -} - -.dhx_pline { - background-color: white; - margin: -15px 10px 10px 10px; - padding: 0 5px 0 5px; - float: left; -} - -.dhx_page, -.dhx_pager_info { - margin: 3px; - text-align: center; - font-family: tahoma; - font-size: 12px; - float: left; - cursor: pointer; - color: black; - background-color: gray; - padding: 1px; -} - -.dhx_pager_info { - white-space: nowrap; - background-color: white; - margin: -8px 10px 10px 10px; - padding: 0 5px 0 5px; - cursor: default; -} - -.dhx_page div { - background-color: white; - width: 16px; - height: 17px; - vertical-align: middle; -} - -div.dhx_page_active { - font-weight: bold; - background-color: lightgrey; - cursor: default; - color: white; -} - -.dhx_pbox_modern { - margin-top: 3px; - border: 1px solid #D6D6D6; - border-top: 0; - font-size: 10px; -} - -.dhx_pline_modern { - background-color: white; - margin: -15px 10px 10px 10px; - padding: 0 5px 0 5px; - float: left; -} - -.dhx_page_modern, -.dhx_pager_info_modern { - margin: 3px; - text-align: center; - font-family: tahoma; - font-size: 12px; - float: left; - cursor: pointer; - color: #055A78; - background-color: #D6D6D6; - padding: 1px; -} - -.dhx_pager_info_modern { - white-space: nowrap; - background-color: white; - margin: -8px 10px 10px 10px; - padding: 0 5px 0 5px; - cursor: default; -} - -.dhx_page_modern div { - background-color: white; - width: 16px; - height: 17px; - vertical-align: middle; -} - -div.dhx_page_active_modern { - font-weight: bold; - background-color: #055A78; - cursor: default; - color: white; -} - -.dhx_pbox_light { - margin-top: 3px; - border: 1px solid #C2D5DC; - border-top: 0; - font-size: 10px; -} - -.dhx_pline_light { - background-color: white; - margin: -15px 10px 10px 10px; - padding: 0 5px 0 5px; - float: left; -} - -.dhx_page_light, -.dhx_pager_info_light { - margin: 3px; - text-align: center; - font-family: tahoma; - font-size: 12px; - float: left; - cursor: pointer; - color: #055A78; - background-color: #93AFBA; - padding: 1px; -} - -.dhx_pager_info_light { - white-space: nowrap; - background-color: white; - margin: -8px 10px 10px 10px; - padding: 0 5px 0 5px; - cursor: default; -} - -.dhx_page_light div { - background-color: white; - width: 16px; - height: 17px; - vertical-align: middle; -} - -div.dhx_page_active_light { - font-weight: bold; - background-color: #D1DFE3; - cursor: default; - color: white; -} - -.calcTable { - width: 100px; - background-color: silver; - border: 1px black solid; -} - -.calcButton { - height: 20px; - cursor: pointer; - text-align: center; - background-color: gray; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid silver; - border-right: 1px solid silver; -} - -.calcPressed { - height: 20px; - cursor: pointer; - text-align: center; - background-color: gray; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid black; - border-right: 1px solid black; -} - -.calcInput { - background-color: white; - font-size: 10px; - font-weight: bold; - font-family: tahoma, arial; -} - -.calkSubmit { - padding: 2px; - cursor: pointer; - text-align: center; - background-color: silver; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid white; - border-right: 1px solid white; -} - -.dhxgrid_sort_desc, -.dhxgrid_sort_asc { - width: 9px; - height: 8px; - background-image: url("imgs/dhxgrid_terrace/sort_desc.gif"); - background-repeat: no-repeat; -} - -.dhxgrid_sort_asc { - background-image: url("imgs/dhxgrid_terrace/sort_asc.gif"); - background-repeat: no-repeat; -} - -.dhxform_obj_dhx_terrace { - font-family: Arial; - float: left; - line-height: normal; -} - -.dhxform_obj_dhx_terrace div.dhxform_base { - position: relative; - float: left; -} - -.dhxform_obj_dhx_terrace div.dhxform_base_nested { - padding: 0; - clear: both; - *display: inline-block; -} - -.dhxform_obj_dhx_terrace.dhxform_block { - clear: both; -} - -.dhxform_obj_dhx_terrace div.block_dhxform_item_label_left { - display: block; - clear: both; - *clear: none; -} - -.dhxform_obj_dhx_terrace div.dhxform_label div.dhxform_label_nav_link, -.dhxform_obj_dhx_terrace div.dhxform_label div.dhxform_label_nav_link:visited, -.dhxform_obj_dhx_terrace div.dhxform_label div.dhxform_label_nav_link:active, -.dhxform_obj_dhx_terrace div.dhxform_label div.dhxform_label_nav_link:hover { - outline: 0 solid white; - text-decoration: none; - color: inherit; - cursor: default; - overflow: hidden; - white-space: normal; -} - -.dhxform_obj_dhx_terrace div.dhxform_label div.dhxform_label_nav_link:focus { - color: #bfbfbf; -} - -.dhxform_obj_dhx_terrace div.disabled span.nav_link { - color: inherit; -} - -.dhxform_obj_dhx_terrace div.dhxform_img { - width: 18px; - height: 18px; - font-size: 1px; -} - -.dhxform_obj_dhx_terrace div.dhxform_actv_c { - width: 15px; - height: 15px; - box-shadow: 0 0 3px #909090; -} - -.dhxform_obj_dhx_terrace div.dhxform_actv_r { - width: 15px; - height: 15px; - box-shadow: 0 0 3px #999; - border-radius: 11px; -} - -.dhxform_obj_dhx_terrace div.dhxform_img.chbx0, -.dhxform_obj_dhx_terrace div.dhxform_img.chbx1, -.dhxform_obj_dhx_terrace div.disabled div.dhxform_img.chbx0, -.dhxform_obj_dhx_terrace div.disabled div.dhxform_img.chbx1, -.dhxform_obj_dhx_terrace div.dhxform_img.rdbt0, -.dhxform_obj_dhx_terrace div.dhxform_img.rdbt1, -.dhxform_obj_dhx_terrace div.disabled div.dhxform_img.rdbt0, -.dhxform_obj_dhx_terrace div.disabled div.dhxform_img.rdbt1, -.dhxform_obj_dhx_terrace div.dhxform_actv_c.chbx0, -.dhxform_obj_dhx_terrace div.dhxform_actv_c.chbx1, -.dhxform_obj_dhx_terrace div.dhxform_actv_r.rdbt0, -.dhxform_obj_dhx_terrace div.dhxform_actv_r.rdbt1 { - background-image: url("imgs/dhxform_terrace/dhxform_chbxrd.gif"); - background-repeat: no-repeat; -} - -.dhxform_obj_dhx_terrace div.dhxform_img.chbx0 { - background-position: -18px 0; -} - -.dhxform_obj_dhx_terrace div.dhxform_img.chbx1 { - background-position: 0 0; -} - -.dhxform_obj_dhx_terrace div.disabled div.dhxform_img.chbx0 { - background-position: -54px 0; -} - -.dhxform_obj_dhx_terrace div.disabled div.dhxform_img.chbx1 { - background-position: -36px 0; -} - -.dhxform_obj_dhx_terrace div.dhxform_img.rdbt0 { - background-position: -90px 0; -} - -.dhxform_obj_dhx_terrace div.dhxform_img.rdbt1 { - background-position: -72px 0; -} - -.dhxform_obj_dhx_terrace div.disabled div.dhxform_img.rdbt0 { - background-position: -126px 0; -} - -.dhxform_obj_dhx_terrace div.disabled div.dhxform_img.rdbt1 { - background-position: -108px 0; -} - -.dhxform_obj_dhx_terrace div.dhxform_actv_c.chbx0 { - background-position: -164px -2px; -} - -.dhxform_obj_dhx_terrace div.dhxform_actv_c.chbx1 { - background-position: -146px -2px; -} - -.dhxform_obj_dhx_terrace div.dhxform_actv_r.rdbt0 { - background-position: -200px -2px; -} - -.dhxform_obj_dhx_terrace div.dhxform_actv_r.rdbt1 { - background-position: -182px -2px; -} - -.dhxform_obj_dhx_terrace div.dhxform_label { - font-family: Arial; - font-size: inherit; - color: black; - overflow-x: hidden; - overflow: hidden; - white-space: normal; -} - -.dhxform_obj_dhx_terrace div.dhxform_label.dhxform_label_align_left { - text-align: left; -} - -.dhxform_obj_dhx_terrace div.dhxform_label.dhxform_label_align_center { - text-align: center; -} - -.dhxform_obj_dhx_terrace div.dhxform_label.dhxform_label_align_right { - text-align: right; -} - -.dhxform_obj_dhx_terrace div.disabled div.dhxform_label, -.dhxform_obj_dhx_terrace div.disabled div.dhxform_label div.dhxform_label_nav_link, -.dhxform_obj_dhx_terrace div.disabled div.dhxform_label span.dhxform_item_required { - color: #bbb; -} - -.dhxform_obj_dhx_terrace div.dhxform_label span.dhxform_item_required { - margin-left: 5px; - color: red; -} - -.dhxform_obj_dhx_terrace input.dhxform_textarea, -.dhxform_obj_dhx_terrace textarea.dhxform_textarea { - padding: 4px 2px!important; - margin: 0; - font-size: 1em; - background-color: white; -} - -.dhxform_obj_dhx_terrace input.dhxform_textarea:focus, -.dhxform_obj_dhx_terrace textarea.dhxform_textarea:focus { - box-shadow: 0 0 3px #c0c0c0; - border: 1px solid #bfbfbf; - outline: none; -} - -.dhxform_obj_dhx_terrace .dhxform_textarea { - border: 1px solid #ccc; - font-family: Arial; - font-size: 1em; - color: black; - resize: none; -} - -.dhxform_obj_dhx_terrace div.disabled .dhxform_textarea { - color: #bbb; - background-color: #f0f0f0; - border: 1px solid #d4d4d4; -} - -.dhxform_obj_dhx_terrace div.dhxform_control.dhxform_img_node { - position: relative; -} - -.dhxform_obj_dhx_terrace div.dhxform_control.dhxform_img_node .dhxform_textarea { - border: 1px solid white; - background-color: white; - color: white; - visibility: hidden; - *height: 1px; - *line-height: 1px; - *display: inline; -} - -.dhxform_obj_dhx_terrace div.dhxform_control.dhxform_img_node div.dhxform_img { - float: none; - top: 3px; - left: 0; - position: absolute; - margin: 0; -} - -.dhxform_obj_dhx_terrace div.dhxform_control.dhxform_img_node div.dhxform_actv_c, -.dhxform_obj_dhx_terrace div.dhxform_control.dhxform_img_node div.dhxform_actv_r { - float: none; - top: 5px; - left: 2px; - position: absolute; - margin: 0; - *top: 3px; - *left: 0; -} - -.dhxform_obj_dhx_terrace .dhxform_select { - border: 1px solid #ccc; - background-color: white; - font-family: Arial; - font-size: 1em; - color: black; - margin: 0; - padding: 3px 2px 2px 0!important; - line-height: 100%; - vertical-align: middle; -} - -.dhxform_obj_dhx_terrace .dhxform_select option { - padding-left: 2px; -} - -.dhxform_obj_dhx_terrace div.disabled .dhxform_select { - color: #bbb; - background-color: #f0f0f0; - border: 1px solid #d4d4d4; -} - -.dhxform_obj_dhx_terrace .dhxform_select option { - padding: 1px 2px; -} - -.dhxform_obj_dhx_terrace .dhxform_select:focus { - box-shadow: 0 0 3px #c0c0c0; - border: 1px solid #bfbfbf; - outline: none; -} - -.dhxform_obj_dhx_terrace div.fs_dhxform_item_label_left { - padding: 5px 0 5px 0; -} - -.dhxform_obj_dhx_terrace div.fs_dhxform_item_label_left fieldset.dhxform_fs div.dhxform_base_nested.dhxform_fs_nested { - margin-right: 19px; - margin-left: 5px; -} - -.dhxform_obj_dhx_terrace fieldset.dhxform_fs { - border: 1px solid #ccc; - margin: 0; - padding: 5px 0 12px 0; - clear: left; - width: 100%; - border-radius: 3px; -} - -.dhxform_obj_dhx_terrace div.disabled fieldset.dhxform_fs { - border: 1px solid #d4d4d4; -} - -.dhxform_obj_dhx_terrace fieldset.dhxform_fs legend.fs_legend { - font-family: Arial; - font-size: inherit; - color: #bfbfbf; - font-weight: normal; - padding: 0 4px 1px 4px; - margin-left: 5px; - text-align: left; -} - -.dhxform_obj_dhx_terrace div.disabled fieldset.dhxform_fs legend.fs_legend { - color: #bbb; -} - -.dhxform_obj_dhx_terrace div.dhxform_item_label_right { - clear: both; - padding-top: 7px; - cursor: default; - *float: left; - *display: inline-block; -} - -.dhxform_obj_dhx_terrace div.dhxform_item_label_right div.dhxform_img, -.dhxform_obj_dhx_terrace div.dhxform_item_label_right div.dhxform_actv_c, -.dhxform_obj_dhx_terrace div.dhxform_item_label_right div.dhxform_actv_r { - float: left; - margin: 0; -} - -.dhxform_obj_dhx_terrace div.dhxform_item_label_right div.dhxform_label { - float: left; - padding: 2px 0 1px 0; - margin: 2px 0 2px 0; - *padding-top: 0; - *display: inline-block; -} - -.dhxform_obj_dhx_terrace div.dhxform_item_label_right div.dhxform_control { - float: left; - margin-right: 3px; -} - -.dhxform_obj_dhx_terrace div.dhxform_item_label_left { - clear: both; - padding-top: 7px; - cursor: default; - *float: left; - *display: inline-block; -} - -.dhxform_obj_dhx_terrace div.dhxform_item_label_left div.dhxform_img, -.dhxform_obj_dhx_terrace div.dhxform_item_label_left div.dhxform_actv_c, -.dhxform_obj_dhx_terrace div.dhxform_item_label_left div.dhxform_actv_r { - float: right; - margin: 3px 1px 0 5px; -} - -.dhxform_obj_dhx_terrace div.dhxform_item_label_left div.dhxform_label { - float: left; - padding: 4px 0 1px 0; - margin: 2px 0 2px 0; -} - -.dhxform_obj_dhx_terrace div.dhxform_item_label_left div.dhxform_control { - float: left; - margin-left: 3px; -} - -.dhxform_obj_dhx_terrace div.dhxform_item_label_top { - clear: both; -} - -.dhxform_obj_dhx_terrace div.dhxform_item_label_top div.dhxform_label { - float: none; - margin-bottom: 5px; - margin-top: 8px; -} - -.dhxform_obj_dhx_terrace div.dhxform_item_label_top div.dhxform_control { - float: none; - margin-left: 0; - margin-bottom: 5px; -} - -.dhxform_obj_dhx_terrace div.dhxform_item_absolute { - position: absolute; - left: 0; - top: 0; - cursor: default; -} - -.dhxform_obj_dhx_terrace div.item_absolute div.dhxform_img, -.dhxform_obj_dhx_terrace div.item_absolute div.dhxform_actv_c, -.dhxform_obj_dhx_terrace div.item_absolute div.dhxform_actv_r { - position: absolute; -} - -.dhxform_obj_dhx_terrace div.dhxform_item_absolute div.dhxform_control, -.dhxform_obj_dhx_terrace div.dhxform_item_absolute div.dhxform_label, -.dhxform_obj_dhx_terrace div.dhxform_item_absolute div.dhxform_control.dhxform_img_node, -.dhxform_obj_dhx_terrace div.dhxform_item_absolute div.dhxform_txt_label2, -.dhxform_obj_dhx_terrace div.dhxform_item_absolute div.dhxform_btn, -.dhxform_obj_dhx_terrace div.block_item_absolute div.dhxform_block { - position: absolute; -} - -.dhxform_obj_dhx_terrace div.dhxform_txt_label2 { - font-family: Arial; - font-size: inherit; - color: black; - font-weight: bold; - margin: 0 3px; - padding: 5px 0; - cursor: default; -} - -.dhxform_obj_dhx_terrace div.disabled div.dhxform_txt_label2 { - color: #bbb; -} - -.dhxform_obj_dhx_terrace div.dhxform_btn { - font-family: Arial; - font-size: inherit; - color: #333; - margin: 1px 2px; - border: 1px solid #ccc; - background-color: #f0f0f0; - float: left; - cursor: default; - clear: both; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - border-radius: 3px; -} - -.dhxform_obj_dhx_terrace.dhxform_rtl div.dhxform_btn { - float: right; -} - -.dhxform_obj_dhx_terrace div.dhxform_btn.dhxform_btn_over { - color: #333; - background-color: #ebebeb; -} - -.dhxform_obj_dhx_terrace div.dhxform_btn.dhxform_btn_pressed { - color: #333; - background-color: #e6e6e6; - box-shadow: 0 0 5px #e1e1e1 inset; -} - -.dhxform_obj_dhx_terrace div.disabled div.dhxform_btn { - background-color: #f2f2f2; -} - -.dhxform_obj_dhx_terrace div.dhxform_btn div.dhxform_btn_txt { - float: left; - margin: 0 18px; - height: 28px; - line-height: 27px; - text-align: center; - vertical-align: middle; - overflow: hidden; - white-space: nowrap; - border-radius: 3px; - *display: inline; -} - -.dhxform_obj_dhx_terrace div.disabled div.dhxform_btn div.dhxform_btn_txt { - color: #b2b2b2; -} - -.dhxform_obj_dhx_terrace div.dhxform_btn:focus { - outline: 1px dotted #bfbfbf; -} - -.dhxform_obj_dhx_terrace div.dhxform_control div.dhxform_note { - font-family: Arial; - font-size: .8em; - color: gray; - padding-bottom: 3px; - white-space: normal; -} - -.dhxform_obj_dhx_terrace div.disabled div.dhxform_control div.dhxform_note { - color: #bbb; -} - -.dhxform_obj_dhx_terrace div.dhxform_label span.dhxform_info { - font-family: Arial; - font-size: .6em; - color: gray; - margin-left: 3px; - padding-bottom: 2px; - line-height: 100%; - vertical-align: middle; - cursor: pointer; -} - -.dhxform_obj_dhx_terrace .validate_error .dhxform_label, -.dhxform_obj_dhx_terrace .validate_error .dhxform_textarea, -.dhxform_obj_dhx_terrace .validate_error .dhxform_select, -.dhxform_obj_dhx_terrace .validate_error div.dhxform_label_nav_link, -.dhxform_obj_dhx_terrace .validate_error div.dhxform_label div.dhxform_label_nav_link:focus { - color: red; -} - -.dhxform_obj_dhx_terrace span.combo_in_focus div.dhxcombo_dhx_terrace { - box-shadow: 0 0 3px #c0c0c0; - border: 1px solid #bfbfbf; -} - -div.dhxcombolist_dhx_terrace { - border-top: 1px solid #bfbfbf!important; -} - -div.dhxcombolist_dhx_terrace:active { - border-top: 1px solid #ccc!important; -} - -.dhxform_obj_dhx_terrace div.dhxform_item_template.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_stb { - border-left: 1px solid #ccc; - border-right: 1px solid #ccc; - border-top: 1px solid #ccc; -} - -.dhxform_obj_dhx_terrace div.dhxform_item_template.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_cont_editor { - border-left: 1px solid #ccc; - border-right: 1px solid #ccc; - border-bottom: 1px solid #ccc; -} - -.dhxform_obj_dhx_terrace div.dhxform_item_template.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_toolbar_def { - padding: 0; - border-top: 1px solid #ccc; -} - -.dhxform_obj_dhx_terrace div.dhxeditor_focus div.dhxform_item_template.dhxeditor_dhx_terrace { - box-shadow: 0 0 3px #c0c0c0; - outline: none; -} - -.dhxform_obj_dhx_terrace div.dhxeditor_focus div.dhxform_item_template.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_stb, -.dhxform_obj_dhx_terrace div.dhxeditor_focus div.dhxform_item_template.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_cont_editor, -.dhxform_obj_dhx_terrace div.dhxeditor_focus div.dhxform_item_template.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_toolbar_def { - border-color: #bfbfbf; -} - -.dhxform_obj_dhx_terrace div.dhxform_item_template.dhxeditor_dhx_terrace div.dhxcont_content_blocker { - display: none; -} - -.dhxform_obj_dhx_terrace div.disabled div.dhxform_item_template.dhxeditor_dhx_terrace div.dhxcont_content_blocker { - display: inline; - position: absolute; - width: 100%; - height: 100%; - top: 0; - left: 0; - background-color: #fefefe; - opacity: .7; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=70); -} - -/*as*/ -.dhtmlx_skin_dhx_terrace div.dhtmlx_wins_body_inner .dhxform_obj_dhx_terrace { -/* background-color: white;*/ - background-color: #e8f1ff; -} - -.dhxform_obj_dhx_terrace div.dhxform_control .dhx_combo_box.dhx_terrace .dhx_combo_input, -.dhx_combo_list.dhx_terrace_list div { - font-size: 1em!important; -} - -.dhxform_obj_dhx_terrace .dhx_file_uploader { - position: relative; - width: 100%; - margin-bottom: 4px; -} - -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls { - position: relative; - width: 100%; - height: 35px; - font-size: 2px; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button { - position: absolute; - width: 19px; - height: 19px; - top: 8px; - background-image: url("imgs/dhxform_terrace/dhxform_upload_buttons.gif"); - background-repeat: no-repeat; - font-size: 2px; - cursor: pointer; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_info { - display: none; -} - -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_browse { - background-position: 0 0; - right: 108px; -} - -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_upload { - background-position: -19px 0; - right: 79px; -} - -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_cancel { - background-position: -57px 0; - right: 79px; -} - -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_clear { - background-position: -38px 0; - right: 50px; -} - -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls .dhx_uploader_input { - position: absolute; - left: -1000px; - top: 0; - visibility: hidden; -} - -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls div.dhx_file_form_cont { - position: absolute; - width: 19px; - height: 19px; - left: 0; - top: 0; - cursor: pointer; - overflow: hidden; -} - -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls div.dhx_file_form_cont form.dhx_file_form { - position: absolute; - top: 0; - right: 0; - cursor: pointer; -} - -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls div.dhx_file_form_cont form.dhx_file_form .dhx_file_input { - opacity: 0; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=0); - cursor: pointer; - outline: none; - height: 19px; -} - -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files { - position: relative; - width: 100%; - left: 0; - top: 0; - overflow: auto; -} - -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files div.dhx_file { - position: relative; - width: 100%; - height: 25px; - overflow: hidden; -} - -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_added, -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_uploading { - color: black; -} - -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_uploaded { - color: #646464; -} - -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_fail { - color: #e94a4a; -} - -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files div.dhx_file_param { - position: absolute; - font-family: inherit; - font-size: inherit; - color: inherit; - top: 0; - height: 25px; - line-height: 25px; - vertical-align: middle; - overflow: hidden; -} - -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_name { - left: 20px; -} - -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_progress { - right: 50px; - width: 38px; - text-align: right; -} - -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_delete { - right: 30px; - width: 11px; - background-image: url("imgs/dhxform_terrace/dhxform_upload_buttons.gif"); - background-position: -76px 0; - background-repeat: no-repeat; - cursor: pointer; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_uploading { - right: 50px; - width: 38px; - text-align: right; - background-image: url("imgs/dhxform_terrace/dhxform_upload_uploading.gif"); - background-position: center center; - background-repeat: no-repeat; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxform_obj_dhx_terrace .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls { - height: 60px; -} - -.dhxform_obj_dhx_terrace .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_files { - display: none; -} - -.dhxform_obj_dhx_terrace .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_info { - display: inline; - background-image: none; - font-family: Arial; - font-size: 13px; - color: #a0a0a0; - height: auto; - top: 0; - left: 35px; - vertical-align: top; - padding-top: 6px; - line-height: 20px; - cursor: default; -} - -.dhxform_obj_dhx_terrace .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_browse { - top: 0; - width: 54px; - height: 54px; - right: 35px; - background-image: url("imgs/dhxform_terrace/dhxform_upload_buttons.gif"); - background-position: 0 -38px; - background-repeat: no-repeat; -} - -.dhxform_obj_dhx_terrace .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_upload, -.dhxform_obj_dhx_terrace .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_cancel, -.dhxform_obj_dhx_terrace .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_clear { - display: none; -} - -.dhxform_obj_dhx_terrace .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_form_cont { - width: 54px; - height: 54px; -} - -.dhxform_obj_dhx_terrace .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_form_cont form.dhx_file_form .dhx_file_input { - height: 54px; -} - -.dhxform_obj_dhx_terrace .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_info, -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_added, -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_uploading, -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_uploaded, -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_fail { - color: #bbb; -} - -.dhxform_obj_dhx_terrace .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_browse { - background-position: -54px -38px; - cursor: default; -} - -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_form_cont { - display: none; -} - -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button { - cursor: default; -} - -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_browse { - background-position: 0 -19px; -} - -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_upload { - background-position: -19px -19px; -} - -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_cancel { - background-position: -57px -19px; -} - -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_clear { - background-position: -38px -19px; -} - -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file_param.dhx_file_delete { - background-position: -87px 0; - cursor: default; -} - -div.dhx_form_skin_detect { - position: absolute; - display: block; - visibility: hidden; - left: -100px; - top: 0; - width: 30px; - height: 10px; - margin: 0; - padding: 0; - border: none; - overflow: hidden; -} - -.dhxacc_base_dhx_terrace { - position: relative; - cursor: default; - overflow: hidden; -} - -.dhxacc_base_dhx_terrace div.dhx_cell_acc { - position: relative; - background-color: #fff; - margin: 0; - padding: 0; - overflow: hidden; - cursor: default; - box-shadow: 0 0 3px #e0e0e0; - border-color: #ccc; -} - -.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_cont_acc { - position: absolute; - border-left: 1px solid #ccc; - border-right: 1px solid #ccc; - border-bottom: 1px solid #ccc; - border-top: 0 solid #fff; - overflow: hidden; - z-index: 0; -} - -.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_hdr { - position: relative; - height: 36px; - line-height: 35px; - overflow: hidden; - font-family: Arial; - font-size: 13px; - color: #333; - font-weight: normal; - border: 1px solid #ccc; - background-color: #f5f5f5; - cursor: default; - z-index: 3; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_hdr div.dhx_cell_hdr_text { - position: relative; - margin: 0 26px 0 10px; - overflow: hidden; - white-space: nowrap; - cursor: default; -} - -.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_hdr img.dhx_cell_hdr_icon { - position: absolute; - top: 11px; - left: 10px; - width: 16px; - height: 16px; -} - -.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_icon { - margin-left: 32px; -} - -.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_hdr div.dhx_cell_hdr_arrow { - position: absolute; - top: 11px; - right: 4px; - width: 16px; - height: 16px; - background-image: url("imgs/dhxacc_terrace/dhxacc_btns.gif"); - background-repeat: no-repeat; - background-position: 0 0; - overflow: hidden; - cursor: pointer; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxacc_base_dhx_terrace div.dhx_cell_acc.dhx_cell_closed div.dhx_cell_hdr div.dhx_cell_hdr_arrow { - background-position: -16px 0; -} - -.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_cont.dhx_cell_cont_not_last { - border-bottom: 0 solid white; -} - -.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_menu_def { - position: relative; - overflow: hidden; - padding: 6px; - border-left: 1px solid #ccc; - border-right: 1px solid #ccc; - border-bottom: 1px solid #ccc; -} - -.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_toolbar_def { - border-left: 1px solid #ccc; - border-right: 1px solid #ccc; - border-bottom: 1px solid #ccc; - padding: 6px; -} - -.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_dhx_terrace { - border-top: 1px solid #fff; -} - -.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_ribbon_def div.dhtmlxribbon_dhx_terrace.dhxrb_without_tabbar { - border-top: 0 solid #fff; - width: auto; -} - -.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_statusbar_def { - position: absolute; - bottom: 0; - width: 100%; - font-family: Arial; - font-size: 13px; - color: #333; - background-color: #f5f5f5; -} - -.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - position: relative; - padding: 0 4px; - height: 24px; - line-height: 23px; - border-bottom: 1px solid #ccc; - border-left: 1px solid #ccc; - border-right: 1px solid #ccc; - white-space: nowrap; - overflow: hidden; -} - -.dhxacc_base_dhx_terrace div.dhx_cell_acc.acc_cell_dragged { - box-shadow: 0 0 5px #aaa; - z-index: 5!important; -} - -.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_progress_bar { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background-color: #fff; - opacity: .75; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=75); - z-index: 1; -} - -.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_progress_img { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background-position: center 55%; - background-image: url("imgs/dhxacc_terrace/dhxacc_cell_progress.gif"); - background-repeat: no-repeat; - cursor: progress; - z-index: 2; -} - -.dhxacc_skin_detect { - position: absolute; - left: 0; - top: -100px; - margin: 0; - padding: 0; - border: 0 solid white; - width: 30px; - height: 10px; - overflow: hidden; -} - -.dhxlayout_base_dhx_terrace { - position: relative; - cursor: default; -} - -.dhxlayout_base_dhx_terrace div.dhxlayout_sep { - position: absolute; - background-color: #fff; - font-size: 1px; - margin: 0; - padding: 0; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - background-repeat: no-repeat; - background-position: center center; - z-index: 2; -} - -div.dhxlayout_sep_sw_dhx_terrace { - position: absolute; - left: 0; - top: -100px; - width: 10px; - height: 1px; - font-size: 1px; - margin: 0; - padding: 0; - overflow: hidden; -} - -.dhxlayout_base_dhx_terrace div.dhxlayout_sep.dhxlayout_sep_resize_v { - cursor: w-resize; - background-image: url('imgs/dhxlayout_terrace/dhxlayout_sep_v.gif'); -} - -.dhxlayout_base_dhx_terrace div.dhxlayout_sep.dhxlayout_sep_resize_h { - cursor: n-resize; - background-image: url('imgs/dhxlayout_terrace/dhxlayout_sep_h.gif'); -} - -.dhxlayout_base_dhx_terrace div.dhx_cell_layout { - position: absolute; - background-color: white; - margin: 0; - padding: 0; - overflow: hidden; - cursor: default; - z-index: 0; -} - -.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_cont_layout { - position: absolute; - border-left: 1px solid #ccc; - border-right: 1px solid #ccc; - border-bottom: 1px solid #ccc; - border-top: 0 solid white; - overflow: hidden; -} - -.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_cont_layout.dhx_cell_cont_no_borders { - border: 0 solid white!important; -} - -.dhxlayout_base_dhx_terrace div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_cont_layout, -.dhxlayout_base_dhx_terrace div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_cont_layout { - display: none; -} - -.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_hdr { - position: relative; - height: 32px; - line-height: 31px; - overflow: hidden; - font-family: Arial; - font-size: 13px; - color: #333; - font-weight: bold; - border: 1px solid #ccc; - background-color: #f5f5f5; - cursor: default; -} - -.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_hdr.dhx_cell_hdr_hidden { - height: 0; - line-height: 0; - border-bottom-width: 0; - overflow: hidden; -} - -.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_hdr.dhx_cell_hdr_hidden_no_borders { - height: 0; - line-height: 0; - border-width: 0; - overflow: hidden; -} - -.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_hdr div.dhx_cell_hdr_text { - position: relative; - margin: 0 26px 0 5px; - overflow: hidden; - white-space: nowrap; - cursor: default; -} - -.dhxlayout_base_dhx_terrace div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_hdr { - height: 18px; - line-height: 17px; - color: #333; - font-weight: normal; -} - -.dhxlayout_base_dhx_terrace div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr { - width: 18px; -} - -.dhxlayout_base_dhx_terrace div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text { - position: absolute; - left: 3px; - bottom: 0; - transform: rotate(270deg); - -ms-transform: rotate(270deg); - transform-origin: left center; - font-weight: normal; -} - -.dhxlayout_base_dhx_terrace div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie8 { - left: -5px; - line-height: 17px; -} - -.dhxlayout_base_dhx_terrace div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie8 span { - float: left; - filter: progid: DXImageTransform.Microsoft.Matrix(M11='6.123031769111886e-17', M12='1', M21='-1', M22='6.123031769111886e-17', sizingMethod='auto expand'); - margin-bottom: 95%; -} - -.dhxlayout_base_dhx_terrace div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie7 { - left: -6px; - line-height: 17px; - padding-bottom: 10px; -} - -.dhxlayout_base_dhx_terrace div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie7 span { - float: left; - filter: progid: DXImageTransform.Microsoft.Matrix(M11='6.123031769111886e-17', M12='1', M21='-1', M22='6.123031769111886e-17', sizingMethod='auto expand'); -} - -.dhxlayout_base_dhx_terrace div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie6 { - left: -6px; - line-height: 17px; - padding-bottom: 10px; -} - -.dhxlayout_base_dhx_terrace div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie6 span { - float: left; - filter: progid: DXImageTransform.Microsoft.Matrix(M11='6.123031769111886e-17', M12='1', M21='-1', M22='6.123031769111886e-17', sizingMethod='auto expand'); -} - -.dhxlayout_base_dhx_terrace div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_chrome { - left: 3px; - -webkit-transform: rotate(270deg); - -webkit-transform-origin: left center; -} - -.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_hdr div.dhxlayout_arrow { - position: absolute; - right: 4px; - top: 9px; - width: 16px; - height: 16px; - background-image: url('imgs/dhxlayout_terrace/dhxlayout_cell_btns.gif'); - background-repeat: no-repeat; - cursor: pointer; -} - -.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_va { - background-position: -16px 0; -} - -.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_vb { - background-position: -48px 0; -} - -.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_ha { - background-position: -32px 0; -} - -.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_hb { - background-position: 0 0; -} - -.dhxlayout_base_dhx_terrace div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_ha { - background-position: 0 -5px; - top: 6px; -} - -.dhxlayout_base_dhx_terrace div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_hb { - background-position: -32px -4px; - top: 6px; -} - -.dhxlayout_base_dhx_terrace div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_va { - background-position: -45px 0; -} - -.dhxlayout_base_dhx_terrace div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_vb { - background-position: -13px 0; -} - -body.dhxlayout_resize_v * { - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - cursor: w-resize!important; -} - -body.dhxlayout_resize_h * { - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - cursor: n-resize!important; -} - -.dhxlayout_base_dhx_terrace div.dhxlayout_resize_area { - position: absolute; - background-color: #ccc; - opacity: .15; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=15); - z-index: 1; - border: 2px dashed black; - cursor: inherit; -} - -.dhxlayout_base_dhx_terrace div.dhxlayout_resize_sep { - position: absolute; - background-color: #ccc; - overflow: hidden; - display: block; - opacity: .5; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=50); - z-index: 2; - cursor: inherit; -} - -.dhxlayout_base_dhx_terrace div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_statusbar_def, -.dhxlayout_base_dhx_terrace div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_statusbar_def { - display: none; -} - -.dhxlayout_base_dhx_terrace div.dhxlayout_hdr_attached { - position: relative; -} - -.dhxlayout_base_dhx_terrace div.dhxlayout_ftr_attached { - position: absolute; -} - -.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_menu_def { - position: relative; - overflow: hidden; - padding: 6px; - border-left: 1px solid #ccc; - border-right: 1px solid #ccc; - border-bottom: 1px solid #ccc; -} - -.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_menu_no_borders { - position: relative; - overflow: hidden; -} - -.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_menu_def div.dhtmlxMenu_dhx_terrace_Middle, -.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_menu_no_borders div.dhtmlxMenu_dhx_terrace_Middle { - padding: 0 2px; -} - -.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_toolbar_def { - position: relative; - overflow: hidden; - border-left: 1px solid #ccc; - border-right: 1px solid #ccc; - border-bottom: 1px solid #ccc; - padding: 6px; -} - -.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_toolbar_def div.dhx_toolbar_dhx_terrace { - border-top: 0 solid white; -} - -.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_dhx_terrace { - margin-top: -1px; -} - -.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_ribbon_def div.dhtmlxribbon_dhx_terrace.dhxrb_without_tabbar { - border-top: 0 solid white; - width: auto; -} - -.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_statusbar_def { - position: absolute; - bottom: 0; - width: 100%; - font-family: Arial; - font-size: 13px; - color: #333; - background-color: #f5f5f5; -} - -.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - position: relative; - padding: 0 4px; - height: 24px; - line-height: 24px; - border-bottom: 1px solid #ccc; - border-left: 1px solid #ccc; - border-right: 1px solid #ccc; - white-space: nowrap; - overflow: hidden; -} - -.dhxlayout_base_dhx_terrace div.dhxlayout_progress { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background-color: white; - opacity: .55; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=55); - z-index: 3; -} - -.dhxlayout_base_dhx_terrace div.dhxlayout_progress_img { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background-image: url('imgs/dhxlayout_terrace/dhxlayout_cell_progress.gif'); - background-position: center center; - background-repeat: no-repeat; - z-index: 4; -} - -.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_progress_bar { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background-color: white; - opacity: .75; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=75); - z-index: 1; -} - -.dhxlayout_base_dhx_terrace div.dhx_cell_layout div.dhx_cell_progress_img { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background-image: url('imgs/dhxlayout_terrace/dhxlayout_cell_progress.gif'); - background-position: center center; - background-repeat: no-repeat; - z-index: 2; -} - -.dhxlayout_base_dhx_terrace div.dhxlayout_menu { - position: relative; - overflow: hidden; - padding-left: 0; - padding-right: 0; - padding-bottom: 10px; -} - -.dhxlayout_base_dhx_terrace div.dhxlayout_toolbar { - position: relative; - padding-bottom: 10px; - overflow: hidden; -} - -.dhxlayout_base_dhx_terrace div.dhxlayout_toolbar div.dhx_toolbar_dhx_terrace { - padding-left: 0; - padding-right: 0; -} - -.dhxlayout_base_dhx_terrace div.dhxlayout_ribbon { - padding-bottom: 10px; - position: relative; -} - -.dhxlayout_base_dhx_terrace div.dhxlayout_ribbon div.dhtmlxribbon_dhx_terrace.dhxrb_without_tabbar { - width: auto; -} - -.dhxlayout_base_dhx_terrace div.dhxlayout_statusbar { - position: absolute; - background-color: #fff; - overflow: hidden; -} - -.dhxlayout_base_dhx_terrace div.dhxlayout_statusbar div.dhxcont_statusbar { - position: relative; - margin-top: 10px; - border: 1px solid #ccc; - background-color: #f5f5f5; - font-family: Arial; - font-size: 13px; - color: #333; - padding: 3px 4px; -} - -.dhxlayout_skin_detect { - position: absolute; - left: 0; - top: -100px; - margin: 0; - padding: 0; - border: 0 solid white; - width: 30px; - height: 10px; - overflow: hidden; -} - -.dhxtabbar_skin_detect { - position: absolute; - left: 0; - top: -100px; - margin: 0; - padding: 0; - border: 0 solid white; - width: 30px; - height: 10px; - overflow: hidden; -} - -.dhxtabbar_fullscreen { - width: 100%; - height: 100%; - margin: 0; - overflow: hidden; -} - -.dhxtabbar_base_dhx_terrace { - position: relative; -} - -.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs { - position: absolute; - top: 0; - bottom: auto; - height: 33px; - border-left: 1px solid #ccc; - border-right: 1px solid #ccc; - border-top: 1px solid #ccc; - overflow: hidden; - white-space: nowrap; - background-color: #fff; - z-index: 2; -} - -.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tabs_base { - position: absolute; - top: 0; - height: 34px; - overflow: hidden; -} - -.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tabs_cont_left, -.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tabs_cont_right { - position: absolute; - width: 5000px; - height: 34px; - margin: 0 1px; - top: -1px; - -webkit-transform: translate3d(0, 0, 0); - -moz-transform: translate3d(0, 0, 0); - -ms-transform: translate3d(0, 0, 0); - -o-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tabs_line { - position: absolute; - width: 100%; - left: 0; - bottom: 0; - top: none; - height: 1px; - overflow: hidden; - background-color: #ccc; - border: none; - z-index: 2; -} - -.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_left { - position: absolute; - left: 0; - top: 0; - width: 17px; - height: 32px; - background-color: #fff; - border-bottom: 1px solid #ccc; - z-index: 4; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - cursor: pointer; -} - -.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_left div.dhxtabbar_arrow_img { - position: relative; - height: 100%; - border-right: 1px solid #ccc; - background-image: url("imgs/dhxtabbar_terrace/dhxtabbar_arrows.gif"); - background-position: 1px 14px; - background-repeat: no-repeat; -} - -.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_right { - position: absolute; - right: 0; - top: 0; - width: 17px; - height: 32px; - background-color: #fff; - border-bottom: 1px solid #ccc; - z-index: 4; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - cursor: pointer; -} - -.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_right div.dhxtabbar_arrow_img { - position: relative; - height: 100%; - border-left: 1px solid #ccc; - background-image: url("imgs/dhxtabbar_terrace/dhxtabbar_arrows.gif"); - background-position: -13px 14px; - background-repeat: no-repeat; -} - -.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tab { - position: relative; - height: 34px; - font-family: Arial; - font-size: 13px; - color: #333; - z-index: 1; - cursor: pointer; - background-color: #f5f5f5; - margin-left: -1px; - margin-right: 0; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -webkit-transform: translate3d(0, 0, 0); - -moz-transform: translate3d(0, 0, 0); - -ms-transform: translate3d(0, 0, 0); - -o-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} - -.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tab:hover div.dhxtabbar_tab_text { - color: #262626; -} - -.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tab:hover div.dhxtabbar_tab_close { - background-color: #e8e8e8; - border-color: #c7c7c7; - background-position: -15px 0; -} - -.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_dis { - color: #bbb; - background-color: #fafafa; -} - -.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv, -.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv_dis { - background-color: #fff; - z-index: 3; - font-weight: bold; -} - -.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_hidden { - border: none; -} - -.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tab div.dhxtabbar_tab_text { - position: relative; - height: 33px; - line-height: 33px; - vertical-align: middle; - top: 0; - bottom: none; - text-align: center; - padding: 0 15px; - border-left: 1px solid #ccc; - border-right: 1px solid #ccc; - border-top: 1px solid #ccc; - border-bottom: 0 solid #fff; - overflow: hidden; -} - -.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tab div.dhxtabbar_tab_text.dhxtabbar_tab_text_close { - padding-right: 20px; -} - -.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv div.dhxtabbar_tab_text { - color: #333; -} - -.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_dis div.dhxtabbar_tab_text, -.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv_dis div.dhxtabbar_tab_text { - color: #bbb; -} - -.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_dis div.dhxtabbar_tab_close, -.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_dis:hover div.dhxtabbar_tab_close, -.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv_dis div.dhxtabbar_tab_close, -.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv_dis:hover div.dhxtabbar_tab_close { - background-color: #e8e8e8; - border-color: #c7c7c7; - background-position: -30px 0; -} - -.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tab div.dhxtabbar_tab_close { - position: absolute; - top: 9px; - right: 9px; - width: 15px; - height: 15px; - border: 1px solid #ccc; - background-color: #f0f0f0; - border-radius: 3px; - background-image: url("imgs/dhxtabbar_terrace/dhxtabbar_button_close.gif"); - background-position: 0 0; - background-repeat: no-repeat; - z-index: 1; -} - -.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv div.dhxtabbar_tab_close, -.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv:hover div.dhxtabbar_tab_close { - background-color: #fff; - border-color: #ccc; - background-position: 0 0; -} - -.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tabs_cont_left div.dhxtabbar_tab { - float: left; -} - -.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs div.dhxtabbar_tabs_cont_right div.dhxtabbar_tab { - float: right; - margin-right: -1px; - margin-left: 0; -} - -.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs { - top: auto; - bottom: 0; - border-bottom: 1px solid #ccc; - border-top: 0 solid #fff; -} - -.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tabs_cont_left, -.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tabs_cont_right { - top: 0; -} - -.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tabs_line { - top: 0; - bottom: none; -} - -.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tab { - margin-top: 0; -} - -.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv, -.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv_dis { - margin-top: 0; -} - -.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tab div.dhxtabbar_tab_text { - border-bottom: 1px solid #ccc; - border-top: 0 solid white; - top: none; - bottom: 0; -} - -.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_left, -.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_right { - top: 0; - bottom: none; - border-top: 1px solid #ccc; - border-bottom: 0 solid #fff; -} - -.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs_bottom div.dhx_cell_tabbar div.dhx_cell_cont_tabbar { - border-top: 1px solid #ccc; - border-bottom: 0 solid white; -} - -.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs_bottom div.dhx_cell_tabbar div.dhx_cell_menu_def { - border-top: 1px solid #ccc; - border-bottom: 0 solid white; -} - -.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs_bottom div.dhx_cell_tabbar div.dhx_cell_toolbar_def { - border-top: 1px solid #ccc; - border-bottom: 0 solid white; -} - -.dhxtabbar_base_dhx_terrace div.dhxtabbar_tabs_bottom div.dhx_cell_tabbar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - border-top: 1px solid #ccc; - border-bottom: 0 solid white; -} - -.dhxtabbar_base_dhx_terrace div.dhx_cell_tabbar { - position: absolute; - background-color: #fff; - margin: 0; - padding: 0; - overflow: hidden; - cursor: default; - z-index: 0; -} - -.dhxtabbar_base_dhx_terrace div.dhx_cell_tabbar div.dhx_cell_cont_tabbar { - position: absolute; - border-left: 1px solid #ccc; - border-right: 1px solid #ccc; - border-bottom: 1px solid #ccc; - border-top: 0 solid white; - overflow: hidden; -} - -.dhxtabbar_base_dhx_terrace div.dhx_cell_tabbar div.dhx_cell_cont_tabbar.dhx_cell_cont_no_borders { - border: 0 solid white!important; -} - -.dhxtabbar_base_dhx_terrace div.dhx_cell_tabbar div.dhx_cell_menu_def { - position: relative; - overflow: hidden; - padding: 6px; - border-left: 1px solid #ccc; - border-right: 1px solid #ccc; - border-bottom: 1px solid #ccc; -} - -.dhxtabbar_base_dhx_terrace div.dhx_cell_tabbar div.dhx_cell_menu_no_borders { - position: relative; - overflow: hidden; -} - -.dhxtabbar_base_dhx_terrace div.dhx_cell_tabbar div.dhx_cell_toolbar_def { - position: relative; - padding: 6px; - border-left: 1px solid #ccc; - border-right: 1px solid #ccc; - border-bottom: 1px solid #ccc; -} - -.dhxtabbar_base_dhx_terrace div.dhx_cell_tabbar div.dhtmlxribbon_dhx_terrace.dhxrb_without_tabbar { - border-top: 0 solid white; - width: auto; -} - -.dhxtabbar_base_dhx_terrace div.dhx_cell_tabbar div.dhxrb_with_tabbar.dhxtabbar_base_dhx_terrace { - margin-top: -1px; -} - -.dhxtabbar_base_dhx_terrace div.dhx_cell_tabbar div.dhx_cell_statusbar_def { - position: absolute; - bottom: 0; - width: 100%; - font-family: Arial; - font-size: 13px; - color: #333; - background-color: #f5f5f5; -} - -.dhxtabbar_base_dhx_terrace div.dhx_cell_tabbar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - position: relative; - padding: 0 4px; - height: 28px; - line-height: 27px; - border-bottom: 1px solid #ccc; - border-left: 1px solid #ccc; - border-right: 1px solid #ccc; - white-space: nowrap; - overflow: hidden; -} - -.dhxtabbar_base_dhx_terrace div.dhx_cell_tabbar div.dhx_cell_progress_bar { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background-color: white; - opacity: .75; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=75); - z-index: 1; -} - -.dhxtabbar_base_dhx_terrace div.dhx_cell_tabbar div.dhx_cell_progress_img { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background-image: url("imgs/dhxtabbar_terrace/dhxtabbar_cell_progress.gif"); - background-position: center center; - background-repeat: no-repeat; - z-index: 2; -} - -span.dhxtabbar_tabs_text_test_dhx_terrace { - position: absolute; - visibility: hidden; - right: 0; - top: 0; - font-weight: normal; - padding: 0 4px; - font-family: Arial; - font-size: 13px; - color: #333; -} - -.dhxwins_vp_dhx_terrace { - overflow: hidden; - position: relative; - cursor: default; - background-color: #e8f1ff; -} - -.dhxwins_vp_dhx_terrace div.dhxwin_active { - position: absolute; - overflow: hidden; - border: 1px solid #ccc; - box-shadow: 0 0 6px #a0a0a0; - border-radius: 3px; -/* background: #fff;*/ - background-color: #e8f1ff; - cursor: inherit; -} - -.dhxwins_vp_dhx_terrace div.dhxwin_inactive { - position: absolute; - overflow: hidden; - border: 1px solid #ccc; - box-shadow: 0 0 6px #c0c0c0; - border-radius: 3px; -/* background: #fff;*/ - background-color: #e8f1ff; - cursor: inherit; -} - -.dhxwins_vp_dhx_terrace div.dhxwin_brd { - position: absolute; - border-left: 5px solid #fff; - border-right: 5px solid #fff; - border-bottom: 5px solid #fff; - background: #fff; - z-index: 0; -} - -.dhxwins_vp_dhx_terrace div.dhxwin_brd.dhxwin_hdr_hidden { - border-top: 5px solid #fff; -} - -.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhxwin_brd { - opacity: .6; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=60); -} - -.dhxwins_vp_dhx_terrace div.dhxwin_fr_cover { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - overflow: hidden; -/* background-color: #fff;*/ - background-color: #e8f1ff; - z-index: 1; - opacity: 0; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=0); -} - -.dhxwins_vp_dhx_terrace div.dhxwin_fr_cover .dhxwin_fr_cover_inner { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; -/* background-color: #fff;*/ - background-color: #e8f1ff; - opacity: 0; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=0); -} - -.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhxwin_fr_cover { - display: none;background-color: #e8f1ff; -} - -.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhxwin_fr_cover { - z-index: 4; -/* background-color: #e8f1ff;*/ - opacity: .5; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=50); -} - -.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhxwin_fr_cover.dhxwin_fr_cover_dnd, -.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhxwin_fr_cover.dhxwin_fr_cover_resize { - display: block; -} - -.dhxwins_vp_dhx_terrace iframe.dhxwin_main_fr_cover { - position: absolute; -/* background-color: #fff;*/ - background-color: #e8f1ff; - opacity: 0; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=0); -} - -.dhxwins_vp_dhx_terrace div.dhxwin_hdr { - position: relative; - height: 36px; - line-height: 37px; - margin: 0; - padding: 0; - font-weight: normal; - border-bottom: 1px solid #ccc; -/* background-color: #fff;*/ -/* background-color: #e8f1ff;*/ - border-top-left-radius: 3px; - border-top-right-radius: 3px; - background-color: #f5f5f5; - font-family: Arial; - font-size: 13px; - color: #333; - cursor: inherit; - overflow: hidden; - z-index: 3; -} - -.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhxwin_hdr { - color: #404040; - opacity: .6; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=60); -} - -.dhxwins_vp_dhx_terrace div.dhxwin_hdr.dhxwin_hdr_parked { - border-bottom-left-radius: 3px; - border-bottom-right-radius: 3px; -} - -.dhxwins_vp_dhx_terrace div.dhxwin_hdr.dhxwin_hdr_hidden { - visibility: hidden; -} - -.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_icon { - position: absolute; - left: 11px; - top: 10px; - width: 23px; - height: 18px; - cursor: default; - overflow: hidden; - background-image: url("imgs/dhxwins_terrace/dhxwins_icon.gif"); - background-position: left center; - background-repeat: no-repeat; - cursor: inherit; - z-index: 2; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhxwin_hdr div.dhxwin_icon { - opacity: .6; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=60); -} - -.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_text { - position: relative; - padding: 0; - margin: 0; - overflow: hidden; - white-space: nowrap; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - cursor: inherit; - z-index: 1; -} - -.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_text div.dhxwin_text_inside { - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; - width: 100%; -} - -.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns { - position: absolute; - right: 10px; - top: 10px; - height: 18px; - cursor: default; - overflow: hidden; - cursor: inherit; - z-index: 2; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhxwin_hdr div.dhxwin_btns { - opacity: .5; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=50); -} - -.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button, -.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis { - position: relative; - float: left; - width: 15px; - height: 15px; - margin-left: 2px; - margin-top: 2px; - border-radius: 2px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - background-image: url("imgs/dhxwins_terrace/dhxwins_buttons.gif"); - background-repeat: no-repeat; - background-position: 0 0; -} - -.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button:hover { - background-color: #ebebeb; -} - -.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_close { - background-position: -15px 0; -} - -.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_close_dis { - background-position: -15px -15px; -} - -.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_minmax { - background-position: -30px 0; -} - -.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_minmax_dis { - background-position: -30px -15px; -} - -.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_minmaxed { - background-position: -45px 0; -} - -.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_minmaxed_dis { - background-position: -45px -15px; -} - -.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_park { - background-position: -60px 0; -} - -.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_park_dis { - background-position: -60px -15px; -} - -.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_stick { - background-position: -75px 0; -} - -.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_stick_dis { - background-position: -75px -15px; -} - -.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_sticked { - background-position: -90px 0; - z-index: 1; -} - -.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_sticked_dis { - background-position: -90px -15px; -} - -.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_help { - background-position: -105px 0; -} - -.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_help_dis { - background-position: -105px -15px; -} - -.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_dock { - background-position: -120px 0; -} - -.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_dock_dis { - background-position: -120px -15px; -} - -.dhxwins_vp_dhx_terrace.dhxwins_vp_dnd { - cursor: move!important; -} - -.dhxwins_vp_dhx_terrace div.dhxwin_resize { - position: absolute; - background-color: #9c9c9c; - opacity: .2; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=20); -} - -.dhxwins_vp_dhx_terrace iframe.dhxwin_resize_fr_cover { - position: absolute; -/* background-color: #fff;*/ - background-color: #e8f1ff; - opacity: 0; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=0); -} - -.dhxwins_vp_dhx_terrace div.dhxwins_mcover { - position: absolute; - background-color: #ededed; -/* background-color: #e8f1ff;*/ - left: 0; - top: 0; - width: 100%; - height: 100%; - opacity: .53; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=53); -} - -.dhxwins_vp_dhx_terrace iframe.dhxwins_mcover { - position: absolute; -/* background-color: #fff;*/ - background-color: #e8f1ff; - left: 0; - top: 0; - width: 100%; - height: 100%; - opacity: 0; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=0); -} - -/*asan 2016-04-30 17:58*/ -.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins, -.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins { - position: absolute; -/* background-color: #fff;*/ - background-color: #e8f1ff; - margin: 0; - padding: 0; - overflow: hidden; - cursor: default; - visibility: visible; - z-index: 1; - opacity: 1; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=100); -} - -.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhx_cell_cont_wins, -.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_cont_wins { - position: absolute; - border: 5px solid #fff; - border-top: 10px solid #fff; -/* background-color: #fff;*/ - background-color: #e8f1ff; - overflow: hidden; -} - -.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhx_cell_cont_wins.dhx_cell_cont_no_borders, -.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_cont_wins.dhx_cell_cont_no_borders { - border: 0 solid #fff!important; -} - -.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhx_cell_menu_def, -.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_menu_def { - position: relative; - overflow: hidden; - height: 42px; - margin: 10px 5px 0 5px; -} - -.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhx_cell_toolbar_def, -.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_toolbar_def { - position: relative; - overflow: hidden; - padding: 10px 5px 0 5px; - border-width: 0; -} - -.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhx_cell_ribbon_def, -.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_ribbon_def { - padding-top: 4px; -} - -.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhtmlxribbon_dhx_terrace.dhxrb_without_tabbar, -.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhtmlxribbon_dhx_terrace.dhxrb_without_tabbar { - border: 0 solid white; - width: auto; -} - -.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhxrb_with_tabbar.dhxtabbar_base_dhx_terrace, -.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhxrb_with_tabbar.dhxtabbar_base_dhx_terrace { - margin-left: 4px; - margin-top: 4px; - margin-right: 4px; -} - -.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhx_cell_statusbar_def, -.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_statusbar_def { - position: absolute; - bottom: 0; - width: 100%; - font-family: Arial; - font-size: 13px; - color: #333; -} - -.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text, -.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - position: relative; - margin: 5px 5px 5px 5px; - padding: 5px 10px; - background-color: #f5f5f5; - white-space: nowrap; - overflow: hidden; -} - -.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhx_cell_progress_bar, -.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_progress_bar { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background-color: #fff; - opacity: .75; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=75); - z-index: 1; -} - -.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhx_cell_progress_img, -.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_progress_img { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background-image: url("imgs/dhxwins_terrace/dhxwins_progress.gif"); - background-position: center center; - background-repeat: no-repeat; - z-index: 2; -} - -.dhxwins_skin_detect { - position: absolute; - left: 0; - top: -100px; - margin: 0; - padding: 0; - border: 0 solid white; - width: 30px; - height: 10px; - overflow: hidden; -} - -div.dhxwins_vp_dhx_terrace.dhxwins_vp_fs { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - overflow: hidden; -} - -.dhtmlx_message_area { - position: fixed; - right: 5px; - width: 250px; - z-index: 1000; - padding: 0; -} - -.dhtmlx-info { - color: #333; - border-radius: 4px; - min-width: 120px; - padding: 10px 10px 10px 20px; - background: #fffcef; - font-size: 12px; - font-family: Arial; - z-index: 10000; - margin: 0 5px 5px 5px; - border: 1px solid #d3d3d3; - -moz-box-shadow: 0 0 5px #ccc; - -webkit-box-shadow: 0 0 5px #ccc; - box-shadow: 0 0 5px #ccc; - -webkit-transition: all .5s ease; - -moz-transition: all .5s ease; - -o-transition: all .5s ease; - transition: all .5s ease; -} - -.dhtmlx-info.hidden { - height: 0; - padding-bottom: 0; - padding-top: 0; - border-width: 0; - margin-top: 0; - margin-bottom: 0; - overflow: hidden; -} - -.dhtmlx-error { - background: #f17373; - color: #fff; -} - -.dhtmlx_modal_box { - overflow: hidden; - display: inline-block; - min-width: 300px; - width: 300px!important; - text-align: center; - position: fixed; - z-index: 20000; - background: #fff; - -moz-box-shadow: 0 0 5px #AAA; - -webkit-box-shadow: 0 0 0 #AAA; - box-shadow: 0 0 5px #AAA; - border: 1px solid #ddd; - border-radius: 6px; -} - -.dhtmlx_popup_title { - padding: 10px 0; - font-size: 13px; - border-bottom: 1px solid #ddd; - line-height: 16px; - font-weight: bold; - font-family: Arial; - border-radius: 0; - text-shadow: none; - height: auto; -} - -.dhtmlx-info, -.dhtmlx_popup_title, -.dhtmlx_popup_button { - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -moz-user-select: -moz-none; - cursor: pointer; -} - -.dhtmlx_popup_text { - font-size: 13px; - font-family: Arial; - color: #444; - min-height: 30px; - padding: 20px 10px 10px 10px!important; - overflow: hidden; - border-width: 0; - margin: 0; -} - -.dhtmlx_popup_button div, -.dhtmlx_popup_button div:active { - line-height: 28px; - background: inherit; - color: inherit; - border: none; -} - -.dhtmlx_popup_controls { - font-family: Arial; - font-weight: bold; - padding: 10px 10px 15px 10px!important; -} - -.dhtmlx_popup_button { - font-size: 13px; - font-family: Arial; - font-weight: bold; - min-width: 120px; - width: 120px; - height: 28px; - line-height: 28px; - display: inline-block; - margin: 0 5px; - border-radius: 4px; -} - -div.dhx_modal_cover { - background: #000; - cursor: default; - opacity: .2; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=20); - position: fixed; - z-index: 19999; - left: 0; - top: 0; - width: 100%; - height: 100%; - border: none; - zoom: 1; -} - -.dhtmlx_popup_button { - color: #222; - border: 1px solid #cecece; - box-shadow: 0 0 1px #111; -} - -.dhtmlx_popup_button:active, -.dhtmlx_popup_button:focus { - background: #eee; -} - -.dhtmlx_popup_button:first-child { - background: #22A1BC; - color: white; - border: 1px solid #22A1BC; - box-shadow: none; -} - -.dhtmlx-alert-error, -.dhtmlx-confirm-error { - border: 1px solid #f17373; -} - -.dhtmlx-alert-error .dhtmlx_popup_title, -.dhtmlx-confirm-error .dhtmlx_popup_title { - color: #fff; - background: #f17373; -} - -.dhtmlx-alert-warning .dhtmlx_popup_title, -.dhtmlx-confirm-warning .dhtmlx_popup_title { - color: #000; - border: 1px solid #f17373; - background: #f17373; -} - -.dhtmlx-alert-warning .dhtmlx_popup_controls, -.dhtmlx-confirm-warning .dhtmlx_popup_controls { - border: 1px solid #f17373; - border-width: 0 1px 1px 1px; -} - -.dhtmlx-alert-warning .dhtmlx_popup_text, -.dhtmlx-confirm-warning .dhtmlx_popup_text { - border: 1px solid #f17373; - border-width: 0; -} - -.dhtmlx-alert .dhtmlx_popup_title, -.dhtmlx-confirm .dhtmlx_popup_title { - color: #444; - background: #f0ede7; -} - -.dhtmlx-alert .dhtmlx_popup_controls, -.dhtmlx-confirm .dhtmlx_popup_controls { - border: 1px solid #eee; - border-width: 0 1px 1px 1px; -} - -.dhtmlx-alert .dhtmlx_popup_text, -.dhtmlx-confirm .dhtmlx_popup_text { - border: 1px solid #eee; - border-width: 0; -} - -.dhtmlx-error div, -.dhtmlx-info div { - padding: 0; - background: inherit; - color: inherit; - border: none; -} \ No newline at end of file diff --git a/themes/skins4.0/terrace/imgs/dhxacc_terrace/dhxacc_btns.gif b/themes/skins4.0/terrace/imgs/dhxacc_terrace/dhxacc_btns.gif deleted file mode 100644 index e9f33e2..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxacc_terrace/dhxacc_btns.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxacc_terrace/dhxacc_cell_progress.gif b/themes/skins4.0/terrace/imgs/dhxacc_terrace/dhxacc_cell_progress.gif deleted file mode 100644 index 7c30859..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxacc_terrace/dhxacc_cell_progress.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxcalendar_terrace/dhxcalendar_arrow_left.gif b/themes/skins4.0/terrace/imgs/dhxcalendar_terrace/dhxcalendar_arrow_left.gif deleted file mode 100644 index 7604e53..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxcalendar_terrace/dhxcalendar_arrow_left.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxcalendar_terrace/dhxcalendar_arrow_right.gif b/themes/skins4.0/terrace/imgs/dhxcalendar_terrace/dhxcalendar_arrow_right.gif deleted file mode 100644 index 3bd15c9..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxcalendar_terrace/dhxcalendar_arrow_right.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxcalendar_terrace/dhxcalendar_clock.gif b/themes/skins4.0/terrace/imgs/dhxcalendar_terrace/dhxcalendar_clock.gif deleted file mode 100644 index c5b9aa6..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxcalendar_terrace/dhxcalendar_clock.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxcalendar_terrace/dhxcalendar_mark.gif b/themes/skins4.0/terrace/imgs/dhxcalendar_terrace/dhxcalendar_mark.gif deleted file mode 100644 index 4785f82..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxcalendar_terrace/dhxcalendar_mark.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxcalendar_terrace/dhxcalendar_selector_bottom.gif b/themes/skins4.0/terrace/imgs/dhxcalendar_terrace/dhxcalendar_selector_bottom.gif deleted file mode 100644 index 3c852b6..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxcalendar_terrace/dhxcalendar_selector_bottom.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxcalendar_terrace/dhxcalendar_selector_top.gif b/themes/skins4.0/terrace/imgs/dhxcalendar_terrace/dhxcalendar_selector_top.gif deleted file mode 100644 index b004755..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxcalendar_terrace/dhxcalendar_selector_top.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxcarousel_terrace/dhxcarousel_cell_progress.gif b/themes/skins4.0/terrace/imgs/dhxcarousel_terrace/dhxcarousel_cell_progress.gif deleted file mode 100644 index 7c30859..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxcarousel_terrace/dhxcarousel_cell_progress.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxcombo_terrace/dhxcombo_arrow_down.gif b/themes/skins4.0/terrace/imgs/dhxcombo_terrace/dhxcombo_arrow_down.gif deleted file mode 100644 index a434339..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxcombo_terrace/dhxcombo_arrow_down.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxcombo_terrace/dhxcombo_arrow_down_dis.gif b/themes/skins4.0/terrace/imgs/dhxcombo_terrace/dhxcombo_arrow_down_dis.gif deleted file mode 100644 index 49631ec..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxcombo_terrace/dhxcombo_arrow_down_dis.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxcombo_terrace/dhxcombo_chbx.gif b/themes/skins4.0/terrace/imgs/dhxcombo_terrace/dhxcombo_chbx.gif deleted file mode 100644 index 113ae07..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxcombo_terrace/dhxcombo_chbx.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxcp_terrace/dhxcp_colors.png b/themes/skins4.0/terrace/imgs/dhxcp_terrace/dhxcp_colors.png deleted file mode 100644 index ede480c..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxcp_terrace/dhxcp_colors.png and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxdataview_terrace/dnd_selector.png b/themes/skins4.0/terrace/imgs/dhxdataview_terrace/dnd_selector.png deleted file mode 100644 index 5d8e9b4..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxdataview_terrace/dnd_selector.png and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxdataview_terrace/dnd_selector_cells.png b/themes/skins4.0/terrace/imgs/dhxdataview_terrace/dnd_selector_cells.png deleted file mode 100644 index 63da638..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxdataview_terrace/dnd_selector_cells.png and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxdataview_terrace/dnd_selector_lines.png b/themes/skins4.0/terrace/imgs/dhxdataview_terrace/dnd_selector_lines.png deleted file mode 100644 index 576ecfd..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxdataview_terrace/dnd_selector_lines.png and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxdataview_terrace/marker.png b/themes/skins4.0/terrace/imgs/dhxdataview_terrace/marker.png deleted file mode 100644 index ceec125..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxdataview_terrace/marker.png and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxeditor_terrace/align_center.gif b/themes/skins4.0/terrace/imgs/dhxeditor_terrace/align_center.gif deleted file mode 100644 index a4e3b88..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxeditor_terrace/align_center.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxeditor_terrace/align_justify.gif b/themes/skins4.0/terrace/imgs/dhxeditor_terrace/align_justify.gif deleted file mode 100644 index d5967cb..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxeditor_terrace/align_justify.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxeditor_terrace/align_left.gif b/themes/skins4.0/terrace/imgs/dhxeditor_terrace/align_left.gif deleted file mode 100644 index 7cf2dc9..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxeditor_terrace/align_left.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxeditor_terrace/align_right.gif b/themes/skins4.0/terrace/imgs/dhxeditor_terrace/align_right.gif deleted file mode 100644 index f599524..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxeditor_terrace/align_right.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxeditor_terrace/bold.gif b/themes/skins4.0/terrace/imgs/dhxeditor_terrace/bold.gif deleted file mode 100644 index f2c62ab..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxeditor_terrace/bold.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxeditor_terrace/buttons.gif b/themes/skins4.0/terrace/imgs/dhxeditor_terrace/buttons.gif deleted file mode 100644 index 423027e..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxeditor_terrace/buttons.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxeditor_terrace/clear.gif b/themes/skins4.0/terrace/imgs/dhxeditor_terrace/clear.gif deleted file mode 100644 index 7ce96ec..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxeditor_terrace/clear.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxeditor_terrace/h1.gif b/themes/skins4.0/terrace/imgs/dhxeditor_terrace/h1.gif deleted file mode 100644 index 041b43b..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxeditor_terrace/h1.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxeditor_terrace/h2.gif b/themes/skins4.0/terrace/imgs/dhxeditor_terrace/h2.gif deleted file mode 100644 index 4fb8886..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxeditor_terrace/h2.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxeditor_terrace/h3.gif b/themes/skins4.0/terrace/imgs/dhxeditor_terrace/h3.gif deleted file mode 100644 index ab6db50..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxeditor_terrace/h3.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxeditor_terrace/h4.gif b/themes/skins4.0/terrace/imgs/dhxeditor_terrace/h4.gif deleted file mode 100644 index d1f83ab..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxeditor_terrace/h4.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxeditor_terrace/indent_dec.gif b/themes/skins4.0/terrace/imgs/dhxeditor_terrace/indent_dec.gif deleted file mode 100644 index 306d479..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxeditor_terrace/indent_dec.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxeditor_terrace/indent_inc.gif b/themes/skins4.0/terrace/imgs/dhxeditor_terrace/indent_inc.gif deleted file mode 100644 index c8ccef0..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxeditor_terrace/indent_inc.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxeditor_terrace/italic.gif b/themes/skins4.0/terrace/imgs/dhxeditor_terrace/italic.gif deleted file mode 100644 index 8b8b34d..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxeditor_terrace/italic.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxeditor_terrace/list_bullet.gif b/themes/skins4.0/terrace/imgs/dhxeditor_terrace/list_bullet.gif deleted file mode 100644 index 79d483a..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxeditor_terrace/list_bullet.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxeditor_terrace/list_number.gif b/themes/skins4.0/terrace/imgs/dhxeditor_terrace/list_number.gif deleted file mode 100644 index 6a6d40a..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxeditor_terrace/list_number.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxeditor_terrace/script_sub.gif b/themes/skins4.0/terrace/imgs/dhxeditor_terrace/script_sub.gif deleted file mode 100644 index 3b24022..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxeditor_terrace/script_sub.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxeditor_terrace/script_super.gif b/themes/skins4.0/terrace/imgs/dhxeditor_terrace/script_super.gif deleted file mode 100644 index f960f5d..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxeditor_terrace/script_super.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxeditor_terrace/strike.gif b/themes/skins4.0/terrace/imgs/dhxeditor_terrace/strike.gif deleted file mode 100644 index fd056b8..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxeditor_terrace/strike.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxeditor_terrace/underline.gif b/themes/skins4.0/terrace/imgs/dhxeditor_terrace/underline.gif deleted file mode 100644 index 3dab980..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxeditor_terrace/underline.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxform_terrace/dhxform_chbxrd.gif b/themes/skins4.0/terrace/imgs/dhxform_terrace/dhxform_chbxrd.gif deleted file mode 100644 index a713332..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxform_terrace/dhxform_chbxrd.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxform_terrace/dhxform_image_uploading.gif b/themes/skins4.0/terrace/imgs/dhxform_terrace/dhxform_image_uploading.gif deleted file mode 100644 index 7c30859..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxform_terrace/dhxform_image_uploading.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxform_terrace/dhxform_upload_buttons.gif b/themes/skins4.0/terrace/imgs/dhxform_terrace/dhxform_upload_buttons.gif deleted file mode 100644 index 21a2311..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxform_terrace/dhxform_upload_buttons.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxform_terrace/dhxform_upload_uploading.gif b/themes/skins4.0/terrace/imgs/dhxform_terrace/dhxform_upload_uploading.gif deleted file mode 100644 index ca190eb..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxform_terrace/dhxform_upload_uploading.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/ar_left.gif b/themes/skins4.0/terrace/imgs/dhxgrid_terrace/ar_left.gif deleted file mode 100644 index f759a30..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/ar_left.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/ar_left_abs.gif b/themes/skins4.0/terrace/imgs/dhxgrid_terrace/ar_left_abs.gif deleted file mode 100644 index 88c8436..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/ar_left_abs.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/ar_left_abs_dis.gif b/themes/skins4.0/terrace/imgs/dhxgrid_terrace/ar_left_abs_dis.gif deleted file mode 100644 index 50a2516..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/ar_left_abs_dis.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/ar_left_dis.gif b/themes/skins4.0/terrace/imgs/dhxgrid_terrace/ar_left_dis.gif deleted file mode 100644 index b8f397f..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/ar_left_dis.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/ar_right.gif b/themes/skins4.0/terrace/imgs/dhxgrid_terrace/ar_right.gif deleted file mode 100644 index 84f348d..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/ar_right.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/ar_right_abs.gif b/themes/skins4.0/terrace/imgs/dhxgrid_terrace/ar_right_abs.gif deleted file mode 100644 index 4a0e6bc..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/ar_right_abs.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/ar_right_abs_dis.gif b/themes/skins4.0/terrace/imgs/dhxgrid_terrace/ar_right_abs_dis.gif deleted file mode 100644 index feb03cb..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/ar_right_abs_dis.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/ar_right_dis.gif b/themes/skins4.0/terrace/imgs/dhxgrid_terrace/ar_right_dis.gif deleted file mode 100644 index 1b53886..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/ar_right_dis.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/blank.gif b/themes/skins4.0/terrace/imgs/dhxgrid_terrace/blank.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/blank.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/combo_select.gif b/themes/skins4.0/terrace/imgs/dhxgrid_terrace/combo_select.gif deleted file mode 100644 index 90718a1..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/combo_select.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/combo_select_dhx_terrace.gif b/themes/skins4.0/terrace/imgs/dhxgrid_terrace/combo_select_dhx_terrace.gif deleted file mode 100644 index 90718a1..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/combo_select_dhx_terrace.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/dyn_.gif b/themes/skins4.0/terrace/imgs/dhxgrid_terrace/dyn_.gif deleted file mode 100644 index 361094a..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/dyn_.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/dyn_down.gif b/themes/skins4.0/terrace/imgs/dhxgrid_terrace/dyn_down.gif deleted file mode 100644 index b73c84e..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/dyn_down.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/dyn_up.gif b/themes/skins4.0/terrace/imgs/dhxgrid_terrace/dyn_up.gif deleted file mode 100644 index 556a9fb..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/dyn_up.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/imageloaderror.gif b/themes/skins4.0/terrace/imgs/dhxgrid_terrace/imageloaderror.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/imageloaderror.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/item_chk0.gif b/themes/skins4.0/terrace/imgs/dhxgrid_terrace/item_chk0.gif deleted file mode 100644 index 22d0f01..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/item_chk0.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/item_chk0_dis.gif b/themes/skins4.0/terrace/imgs/dhxgrid_terrace/item_chk0_dis.gif deleted file mode 100644 index 9310cb8..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/item_chk0_dis.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/item_chk1.gif b/themes/skins4.0/terrace/imgs/dhxgrid_terrace/item_chk1.gif deleted file mode 100644 index 5530bcb..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/item_chk1.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/item_chk1_dis.gif b/themes/skins4.0/terrace/imgs/dhxgrid_terrace/item_chk1_dis.gif deleted file mode 100644 index c70d2e1..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/item_chk1_dis.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/minus.gif b/themes/skins4.0/terrace/imgs/dhxgrid_terrace/minus.gif deleted file mode 100644 index ef04a54..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/minus.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/paging_page.gif b/themes/skins4.0/terrace/imgs/dhxgrid_terrace/paging_page.gif deleted file mode 100644 index a8b2bac..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/paging_page.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/paging_pages.gif b/themes/skins4.0/terrace/imgs/dhxgrid_terrace/paging_pages.gif deleted file mode 100644 index e4b3d3a..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/paging_pages.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/paging_rows.gif b/themes/skins4.0/terrace/imgs/dhxgrid_terrace/paging_rows.gif deleted file mode 100644 index 09db362..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/paging_rows.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/plus.gif b/themes/skins4.0/terrace/imgs/dhxgrid_terrace/plus.gif deleted file mode 100644 index abb84bd..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/plus.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/radio_chk0.gif b/themes/skins4.0/terrace/imgs/dhxgrid_terrace/radio_chk0.gif deleted file mode 100644 index 4bd2f93..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/radio_chk0.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/radio_chk0_dis.gif b/themes/skins4.0/terrace/imgs/dhxgrid_terrace/radio_chk0_dis.gif deleted file mode 100644 index c04a681..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/radio_chk0_dis.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/radio_chk1.gif b/themes/skins4.0/terrace/imgs/dhxgrid_terrace/radio_chk1.gif deleted file mode 100644 index 1fc529a..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/radio_chk1.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/radio_chk1_dis.gif b/themes/skins4.0/terrace/imgs/dhxgrid_terrace/radio_chk1_dis.gif deleted file mode 100644 index 000f82b..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/radio_chk1_dis.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/sort_asc.gif b/themes/skins4.0/terrace/imgs/dhxgrid_terrace/sort_asc.gif deleted file mode 100644 index feb339b..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/sort_asc.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/sort_desc.gif b/themes/skins4.0/terrace/imgs/dhxgrid_terrace/sort_desc.gif deleted file mode 100644 index 852f984..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/sort_desc.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/blank.gif b/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/blank.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/blank.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/folder.gif b/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/folder.gif deleted file mode 100644 index 440b803..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/folder.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/leaf.gif b/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/leaf.gif deleted file mode 100644 index 28c6528..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/leaf.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/line.gif b/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/line.gif deleted file mode 100644 index b4f560c..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/line.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/line1.gif b/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/line1.gif deleted file mode 100644 index dae44cd..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/line1.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/line2.gif b/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/line2.gif deleted file mode 100644 index 23b2ce3..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/line2.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/line3.gif b/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/line3.gif deleted file mode 100644 index 43152c5..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/line3.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/line4.gif b/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/line4.gif deleted file mode 100644 index 907fe7a..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/line4.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/minus.gif b/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/minus.gif deleted file mode 100644 index aa6c115..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/minus.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/minus1.gif b/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/minus1.gif deleted file mode 100644 index 9f8b70f..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/minus1.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/minus2.gif b/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/minus2.gif deleted file mode 100644 index af8ae3e..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/minus2.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/minus3.gif b/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/minus3.gif deleted file mode 100644 index c9eaaad..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/minus3.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/minus4.gif b/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/minus4.gif deleted file mode 100644 index bd98f26..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/minus4.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/minus5.gif b/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/minus5.gif deleted file mode 100644 index 379b154..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/minus5.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/plus.gif b/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/plus.gif deleted file mode 100644 index 08fc8f6..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/plus.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/plus1.gif b/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/plus1.gif deleted file mode 100644 index e79e4ed..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/plus1.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/plus2.gif b/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/plus2.gif deleted file mode 100644 index 94a5d4e..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/plus2.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/plus3.gif b/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/plus3.gif deleted file mode 100644 index 59708a6..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/plus3.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/plus4.gif b/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/plus4.gif deleted file mode 100644 index 3765d16..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/plus4.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/plus5.gif b/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/plus5.gif deleted file mode 100644 index 1e296fa..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxgrid_terrace/tree/plus5.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxlayout_terrace/dhxlayout_cell_btns.gif b/themes/skins4.0/terrace/imgs/dhxlayout_terrace/dhxlayout_cell_btns.gif deleted file mode 100644 index 18befd2..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxlayout_terrace/dhxlayout_cell_btns.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxlayout_terrace/dhxlayout_cell_progress.gif b/themes/skins4.0/terrace/imgs/dhxlayout_terrace/dhxlayout_cell_progress.gif deleted file mode 100644 index 7c30859..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxlayout_terrace/dhxlayout_cell_progress.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxlayout_terrace/dhxlayout_sep_h.gif b/themes/skins4.0/terrace/imgs/dhxlayout_terrace/dhxlayout_sep_h.gif deleted file mode 100644 index c1dc8dd..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxlayout_terrace/dhxlayout_sep_h.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxlayout_terrace/dhxlayout_sep_v.gif b/themes/skins4.0/terrace/imgs/dhxlayout_terrace/dhxlayout_sep_v.gif deleted file mode 100644 index 71c97e3..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxlayout_terrace/dhxlayout_sep_v.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxmenu_terrace/dhxmenu_arrow_down.gif b/themes/skins4.0/terrace/imgs/dhxmenu_terrace/dhxmenu_arrow_down.gif deleted file mode 100644 index 60be3f7..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxmenu_terrace/dhxmenu_arrow_down.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxmenu_terrace/dhxmenu_arrow_down_dis.gif b/themes/skins4.0/terrace/imgs/dhxmenu_terrace/dhxmenu_arrow_down_dis.gif deleted file mode 100644 index d849732..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxmenu_terrace/dhxmenu_arrow_down_dis.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxmenu_terrace/dhxmenu_arrow_up.gif b/themes/skins4.0/terrace/imgs/dhxmenu_terrace/dhxmenu_arrow_up.gif deleted file mode 100644 index c23a23a..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxmenu_terrace/dhxmenu_arrow_up.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxmenu_terrace/dhxmenu_arrow_up_dis.gif b/themes/skins4.0/terrace/imgs/dhxmenu_terrace/dhxmenu_arrow_up_dis.gif deleted file mode 100644 index a43cfe3..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxmenu_terrace/dhxmenu_arrow_up_dis.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxmenu_terrace/dhxmenu_chrd.gif b/themes/skins4.0/terrace/imgs/dhxmenu_terrace/dhxmenu_chrd.gif deleted file mode 100644 index aa11459..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxmenu_terrace/dhxmenu_chrd.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxmenu_terrace/dhxmenu_loader.gif b/themes/skins4.0/terrace/imgs/dhxmenu_terrace/dhxmenu_loader.gif deleted file mode 100644 index ca190eb..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxmenu_terrace/dhxmenu_loader.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxmenu_terrace/dhxmenu_subar.gif b/themes/skins4.0/terrace/imgs/dhxmenu_terrace/dhxmenu_subar.gif deleted file mode 100644 index 35dbd98..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxmenu_terrace/dhxmenu_subar.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxpopup_terrace/dhxpopup_arrow_bottom.gif b/themes/skins4.0/terrace/imgs/dhxpopup_terrace/dhxpopup_arrow_bottom.gif deleted file mode 100644 index 2e0b62b..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxpopup_terrace/dhxpopup_arrow_bottom.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxpopup_terrace/dhxpopup_arrow_left.gif b/themes/skins4.0/terrace/imgs/dhxpopup_terrace/dhxpopup_arrow_left.gif deleted file mode 100644 index d4e7626..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxpopup_terrace/dhxpopup_arrow_left.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxpopup_terrace/dhxpopup_arrow_right.gif b/themes/skins4.0/terrace/imgs/dhxpopup_terrace/dhxpopup_arrow_right.gif deleted file mode 100644 index d5db8d7..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxpopup_terrace/dhxpopup_arrow_right.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxpopup_terrace/dhxpopup_arrow_top.gif b/themes/skins4.0/terrace/imgs/dhxpopup_terrace/dhxpopup_arrow_top.gif deleted file mode 100644 index 091051e..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxpopup_terrace/dhxpopup_arrow_top.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxribbon_terrace/dhxribbon_arrow.gif b/themes/skins4.0/terrace/imgs/dhxribbon_terrace/dhxribbon_arrow.gif deleted file mode 100644 index f64e20b..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxribbon_terrace/dhxribbon_arrow.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxribbon_terrace/dhxribbon_checked.gif b/themes/skins4.0/terrace/imgs/dhxribbon_terrace/dhxribbon_checked.gif deleted file mode 100644 index 1880e6f..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxribbon_terrace/dhxribbon_checked.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxribbon_terrace/dhxribbon_checked_dis.gif b/themes/skins4.0/terrace/imgs/dhxribbon_terrace/dhxribbon_checked_dis.gif deleted file mode 100644 index dd3cb91..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxribbon_terrace/dhxribbon_checked_dis.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxsidebar_terrace/dhxsidebar_arrow_down.gif b/themes/skins4.0/terrace/imgs/dhxsidebar_terrace/dhxsidebar_arrow_down.gif deleted file mode 100644 index e04b449..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxsidebar_terrace/dhxsidebar_arrow_down.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxsidebar_terrace/dhxsidebar_arrow_up.gif b/themes/skins4.0/terrace/imgs/dhxsidebar_terrace/dhxsidebar_arrow_up.gif deleted file mode 100644 index c230d03..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxsidebar_terrace/dhxsidebar_arrow_up.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxsidebar_terrace/dhxsidebar_cell_progress.gif b/themes/skins4.0/terrace/imgs/dhxsidebar_terrace/dhxsidebar_cell_progress.gif deleted file mode 100644 index 7c30859..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxsidebar_terrace/dhxsidebar_cell_progress.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxsidebar_terrace/dhxsidebar_side_icon.gif b/themes/skins4.0/terrace/imgs/dhxsidebar_terrace/dhxsidebar_side_icon.gif deleted file mode 100644 index 30dfbba..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxsidebar_terrace/dhxsidebar_side_icon.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxtabbar_terrace/dhxtabbar_arrows.gif b/themes/skins4.0/terrace/imgs/dhxtabbar_terrace/dhxtabbar_arrows.gif deleted file mode 100644 index 56490ce..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxtabbar_terrace/dhxtabbar_arrows.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxtabbar_terrace/dhxtabbar_button_close.gif b/themes/skins4.0/terrace/imgs/dhxtabbar_terrace/dhxtabbar_button_close.gif deleted file mode 100644 index 6922158..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxtabbar_terrace/dhxtabbar_button_close.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxtabbar_terrace/dhxtabbar_cell_progress.gif b/themes/skins4.0/terrace/imgs/dhxtabbar_terrace/dhxtabbar_cell_progress.gif deleted file mode 100644 index 7c30859..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxtabbar_terrace/dhxtabbar_cell_progress.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxtoolbar_terrace/dhxtoolbar_arrow.gif b/themes/skins4.0/terrace/imgs/dhxtoolbar_terrace/dhxtoolbar_arrow.gif deleted file mode 100644 index 8e805d8..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxtoolbar_terrace/dhxtoolbar_arrow.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxtoolbar_terrace/dhxtoolbar_arrow_dis.gif b/themes/skins4.0/terrace/imgs/dhxtoolbar_terrace/dhxtoolbar_arrow_dis.gif deleted file mode 100644 index 3eddbbd..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxtoolbar_terrace/dhxtoolbar_arrow_dis.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxtree_terrace/blank.gif b/themes/skins4.0/terrace/imgs/dhxtree_terrace/blank.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxtree_terrace/blank.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxtree_terrace/but_cut.gif b/themes/skins4.0/terrace/imgs/dhxtree_terrace/but_cut.gif deleted file mode 100644 index 942bd18..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxtree_terrace/but_cut.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxtree_terrace/folderClosed.gif b/themes/skins4.0/terrace/imgs/dhxtree_terrace/folderClosed.gif deleted file mode 100644 index 440b803..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxtree_terrace/folderClosed.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxtree_terrace/folderOpen.gif b/themes/skins4.0/terrace/imgs/dhxtree_terrace/folderOpen.gif deleted file mode 100644 index 03aa41a..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxtree_terrace/folderOpen.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxtree_terrace/iconCheckAll.gif b/themes/skins4.0/terrace/imgs/dhxtree_terrace/iconCheckAll.gif deleted file mode 100644 index 8f31ebe..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxtree_terrace/iconCheckAll.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxtree_terrace/iconCheckDis.gif b/themes/skins4.0/terrace/imgs/dhxtree_terrace/iconCheckDis.gif deleted file mode 100644 index 760d935..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxtree_terrace/iconCheckDis.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxtree_terrace/iconCheckGray.gif b/themes/skins4.0/terrace/imgs/dhxtree_terrace/iconCheckGray.gif deleted file mode 100644 index 5c8d3d0..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxtree_terrace/iconCheckGray.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxtree_terrace/iconUncheckAll.gif b/themes/skins4.0/terrace/imgs/dhxtree_terrace/iconUncheckAll.gif deleted file mode 100644 index 200801b..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxtree_terrace/iconUncheckAll.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxtree_terrace/iconUncheckDis.gif b/themes/skins4.0/terrace/imgs/dhxtree_terrace/iconUncheckDis.gif deleted file mode 100644 index 75566a4..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxtree_terrace/iconUncheckDis.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxtree_terrace/leaf.gif b/themes/skins4.0/terrace/imgs/dhxtree_terrace/leaf.gif deleted file mode 100644 index 28c6528..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxtree_terrace/leaf.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxtree_terrace/line.gif b/themes/skins4.0/terrace/imgs/dhxtree_terrace/line.gif deleted file mode 100644 index b4f560c..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxtree_terrace/line.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxtree_terrace/line1.gif b/themes/skins4.0/terrace/imgs/dhxtree_terrace/line1.gif deleted file mode 100644 index dae44cd..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxtree_terrace/line1.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxtree_terrace/line1_rtl.gif b/themes/skins4.0/terrace/imgs/dhxtree_terrace/line1_rtl.gif deleted file mode 100644 index bf32db2..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxtree_terrace/line1_rtl.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxtree_terrace/line2.gif b/themes/skins4.0/terrace/imgs/dhxtree_terrace/line2.gif deleted file mode 100644 index 23b2ce3..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxtree_terrace/line2.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxtree_terrace/line2_rtl.gif b/themes/skins4.0/terrace/imgs/dhxtree_terrace/line2_rtl.gif deleted file mode 100644 index 6ec17b5..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxtree_terrace/line2_rtl.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxtree_terrace/line3.gif b/themes/skins4.0/terrace/imgs/dhxtree_terrace/line3.gif deleted file mode 100644 index 43152c5..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxtree_terrace/line3.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxtree_terrace/line3_rtl.gif b/themes/skins4.0/terrace/imgs/dhxtree_terrace/line3_rtl.gif deleted file mode 100644 index 74a874c..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxtree_terrace/line3_rtl.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxtree_terrace/line4.gif b/themes/skins4.0/terrace/imgs/dhxtree_terrace/line4.gif deleted file mode 100644 index 907fe7a..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxtree_terrace/line4.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxtree_terrace/line4_rtl.gif b/themes/skins4.0/terrace/imgs/dhxtree_terrace/line4_rtl.gif deleted file mode 100644 index 5c7e162..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxtree_terrace/line4_rtl.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxtree_terrace/lock.gif b/themes/skins4.0/terrace/imgs/dhxtree_terrace/lock.gif deleted file mode 100644 index 0cf8dad..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxtree_terrace/lock.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxtree_terrace/minus.gif b/themes/skins4.0/terrace/imgs/dhxtree_terrace/minus.gif deleted file mode 100644 index aa6c115..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxtree_terrace/minus.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxtree_terrace/minus1.gif b/themes/skins4.0/terrace/imgs/dhxtree_terrace/minus1.gif deleted file mode 100644 index 9f8b70f..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxtree_terrace/minus1.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxtree_terrace/minus2.gif b/themes/skins4.0/terrace/imgs/dhxtree_terrace/minus2.gif deleted file mode 100644 index af8ae3e..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxtree_terrace/minus2.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxtree_terrace/minus2_rtl.gif b/themes/skins4.0/terrace/imgs/dhxtree_terrace/minus2_rtl.gif deleted file mode 100644 index ac9c9a2..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxtree_terrace/minus2_rtl.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxtree_terrace/minus3.gif b/themes/skins4.0/terrace/imgs/dhxtree_terrace/minus3.gif deleted file mode 100644 index c9eaaad..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxtree_terrace/minus3.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxtree_terrace/minus3_rtl.gif b/themes/skins4.0/terrace/imgs/dhxtree_terrace/minus3_rtl.gif deleted file mode 100644 index d331748..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxtree_terrace/minus3_rtl.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxtree_terrace/minus4.gif b/themes/skins4.0/terrace/imgs/dhxtree_terrace/minus4.gif deleted file mode 100644 index bd98f26..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxtree_terrace/minus4.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxtree_terrace/minus4_rtl.gif b/themes/skins4.0/terrace/imgs/dhxtree_terrace/minus4_rtl.gif deleted file mode 100644 index 25a0dd1..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxtree_terrace/minus4_rtl.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxtree_terrace/minus5.gif b/themes/skins4.0/terrace/imgs/dhxtree_terrace/minus5.gif deleted file mode 100644 index 379b154..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxtree_terrace/minus5.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxtree_terrace/minus5_rtl.gif b/themes/skins4.0/terrace/imgs/dhxtree_terrace/minus5_rtl.gif deleted file mode 100644 index 1309973..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxtree_terrace/minus5_rtl.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxtree_terrace/plus.gif b/themes/skins4.0/terrace/imgs/dhxtree_terrace/plus.gif deleted file mode 100644 index 08fc8f6..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxtree_terrace/plus.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxtree_terrace/plus1.gif b/themes/skins4.0/terrace/imgs/dhxtree_terrace/plus1.gif deleted file mode 100644 index e79e4ed..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxtree_terrace/plus1.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxtree_terrace/plus2.gif b/themes/skins4.0/terrace/imgs/dhxtree_terrace/plus2.gif deleted file mode 100644 index 94a5d4e..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxtree_terrace/plus2.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxtree_terrace/plus2_rtl.gif b/themes/skins4.0/terrace/imgs/dhxtree_terrace/plus2_rtl.gif deleted file mode 100644 index 929fde0..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxtree_terrace/plus2_rtl.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxtree_terrace/plus3.gif b/themes/skins4.0/terrace/imgs/dhxtree_terrace/plus3.gif deleted file mode 100644 index 59708a6..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxtree_terrace/plus3.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxtree_terrace/plus3_rtl.gif b/themes/skins4.0/terrace/imgs/dhxtree_terrace/plus3_rtl.gif deleted file mode 100644 index 3bbba74..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxtree_terrace/plus3_rtl.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxtree_terrace/plus4.gif b/themes/skins4.0/terrace/imgs/dhxtree_terrace/plus4.gif deleted file mode 100644 index 3765d16..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxtree_terrace/plus4.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxtree_terrace/plus4_rtl.gif b/themes/skins4.0/terrace/imgs/dhxtree_terrace/plus4_rtl.gif deleted file mode 100644 index 0bca0bd..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxtree_terrace/plus4_rtl.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxtree_terrace/plus5.gif b/themes/skins4.0/terrace/imgs/dhxtree_terrace/plus5.gif deleted file mode 100644 index 1e296fa..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxtree_terrace/plus5.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxtree_terrace/plus5_rtl.gif b/themes/skins4.0/terrace/imgs/dhxtree_terrace/plus5_rtl.gif deleted file mode 100644 index 09f2007..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxtree_terrace/plus5_rtl.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxtree_terrace/radio_off.gif b/themes/skins4.0/terrace/imgs/dhxtree_terrace/radio_off.gif deleted file mode 100644 index 66879ce..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxtree_terrace/radio_off.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxtree_terrace/radio_on.gif b/themes/skins4.0/terrace/imgs/dhxtree_terrace/radio_on.gif deleted file mode 100644 index 3d617de..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxtree_terrace/radio_on.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxtreeview_terrace/icon_chbx_0.gif b/themes/skins4.0/terrace/imgs/dhxtreeview_terrace/icon_chbx_0.gif deleted file mode 100644 index 200801b..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxtreeview_terrace/icon_chbx_0.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxtreeview_terrace/icon_chbx_1.gif b/themes/skins4.0/terrace/imgs/dhxtreeview_terrace/icon_chbx_1.gif deleted file mode 100644 index 8f31ebe..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxtreeview_terrace/icon_chbx_1.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxtreeview_terrace/icon_chbx_dis_0.gif b/themes/skins4.0/terrace/imgs/dhxtreeview_terrace/icon_chbx_dis_0.gif deleted file mode 100644 index 75566a4..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxtreeview_terrace/icon_chbx_dis_0.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxtreeview_terrace/icon_chbx_dis_1.gif b/themes/skins4.0/terrace/imgs/dhxtreeview_terrace/icon_chbx_dis_1.gif deleted file mode 100644 index 760d935..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxtreeview_terrace/icon_chbx_dis_1.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxtreeview_terrace/icon_file.gif b/themes/skins4.0/terrace/imgs/dhxtreeview_terrace/icon_file.gif deleted file mode 100644 index 28c6528..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxtreeview_terrace/icon_file.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxtreeview_terrace/icon_folder_closed.gif b/themes/skins4.0/terrace/imgs/dhxtreeview_terrace/icon_folder_closed.gif deleted file mode 100644 index 440b803..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxtreeview_terrace/icon_folder_closed.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxtreeview_terrace/icon_folder_opened.gif b/themes/skins4.0/terrace/imgs/dhxtreeview_terrace/icon_folder_opened.gif deleted file mode 100644 index 03aa41a..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxtreeview_terrace/icon_folder_opened.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxtreeview_terrace/icon_minus.gif b/themes/skins4.0/terrace/imgs/dhxtreeview_terrace/icon_minus.gif deleted file mode 100644 index aa6c115..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxtreeview_terrace/icon_minus.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxtreeview_terrace/icon_plus.gif b/themes/skins4.0/terrace/imgs/dhxtreeview_terrace/icon_plus.gif deleted file mode 100644 index 08fc8f6..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxtreeview_terrace/icon_plus.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxtreeview_terrace/loading.gif b/themes/skins4.0/terrace/imgs/dhxtreeview_terrace/loading.gif deleted file mode 100644 index d91e279..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxtreeview_terrace/loading.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxwins_terrace/dhxwins_buttons.gif b/themes/skins4.0/terrace/imgs/dhxwins_terrace/dhxwins_buttons.gif deleted file mode 100644 index 044c644..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxwins_terrace/dhxwins_buttons.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxwins_terrace/dhxwins_icon.gif b/themes/skins4.0/terrace/imgs/dhxwins_terrace/dhxwins_icon.gif deleted file mode 100644 index 57ab8d7..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxwins_terrace/dhxwins_icon.gif and /dev/null differ diff --git a/themes/skins4.0/terrace/imgs/dhxwins_terrace/dhxwins_progress.gif b/themes/skins4.0/terrace/imgs/dhxwins_terrace/dhxwins_progress.gif deleted file mode 100644 index 7c30859..0000000 Binary files a/themes/skins4.0/terrace/imgs/dhxwins_terrace/dhxwins_progress.gif and /dev/null differ diff --git a/themes/skins4.0/web/dhtmlx.css b/themes/skins4.0/web/dhtmlx.css deleted file mode 100644 index a54435f..0000000 --- a/themes/skins4.0/web/dhtmlx.css +++ /dev/null @@ -1,6124 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -.dhtmlxcalendar_dhx_web { - position: absolute; - display: block; - background-color: #fff; - font-family: Tahoma; - font-size: 12px; - color: #000; -} - -.dhtmlxcalendar_dhx_web.dhtmlxcalendar_in_input { - box-shadow: 0 0 6px rgba(0, 0, 0, 0.25); -} - -.dhtmlxcalendar_ifr { - position: absolute; - overflow: hidden; - background-color: white; -} - -.dhtmlxcalendar_dhx_web ul.dhtmlxcalendar_line { - position: relative; - display: block; - clear: both; - margin: 0; - padding: 0; - overflow: hidden; - width: 225px; -} - -.dhtmlxcalendar_dhx_web ul.dhtmlxcalendar_line li { - float: left; - position: relative; - list-style-type: none; - list-style-image: none; - text-align: center; - vertical-align: middle; - cursor: default; - overflow: hidden; - margin: 0; - padding: 0; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_month_cont { - position: relative; - display: block; - width: 227px; - height: 27px; - margin: 0; - background-color: #3da0e3; - overflow: hidden; - color: #fff; - -webkit-user-select: text; - -khtml-user-select: text; - -moz-user-select: text; - -o-user-select: text; - user-select: text; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr { - width: 227px; - height: 27px; - line-height: 27px; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow { - position: absolute; - top: 0; - width: 18px; - height: 27px; - color: inherit; - text-align: center; - background-position: center center; - background-repeat: no-repeat; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_left { - left: 4px; - background-image: url("imgs/dhxcalendar_web/dhxcalendar_arrow_left.gif"); - opacity: .8; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=80); -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_left_hover { - left: 4px; - background-image: url("imgs/dhxcalendar_web/dhxcalendar_arrow_left.gif"); - opacity: 1; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=100); -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_right { - right: 4px; - background-image: url("imgs/dhxcalendar_web/dhxcalendar_arrow_right.gif"); - opacity: .8; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=80); -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_right_hover { - right: 4px; - background-image: url("imgs/dhxcalendar_web/dhxcalendar_arrow_right.gif"); - opacity: 1; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=100); -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr span.dhtmlxcalendar_month_label_month, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr span.dhtmlxcalendar_month_label_year { - position: relative; - font-weight: bold; - color: inherit; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_days_cont { - position: relative; - display: block; - width: 225px; - margin: 0; - border-left: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; - -webkit-user-select: text; - -khtml-user-select: text; - -moz-user-select: text; - -o-user-select: text; - user-select: text; - overflow: hidden; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line { - height: 23px; - background-color: #f4f4f4; - border-bottom: 2px solid #3da0e3; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li { - color: #000; - width: 31px; - height: 23px; - line-height: 23px; - border-left: 1px solid #d5d5d5; - background-color: #f4f4f4; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_first { - border-left: 1px solid #f4f4f4; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_day_weekday_cell { - color: #f1586a; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_day_weekday_cell_first { - color: #f1586a; - border-left: 1px solid #f4f4f4; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont { - position: relative; - display: block; - width: 225px; - margin: 0; - padding-bottom: 1px; - border-left: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; - border-bottom: 1px solid #c7c7c7; - background-color: #fff; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - overflow: hidden; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line { - border-top: 1px solid #fff; - margin-left: 1px; - margin-right: 1px; - height: 26px; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li { - color: #909090; - width: 31px; - height: 26px; - line-height: 26px; - margin-right: 1px; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li div.dhtmlxcalendar_label { - width: 100%; - height: 100%; - text-align: center; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend { - background-color: #d6d6d6; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_dis, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_dis, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_dis, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_dis { - color: #c4c4c4; - background-color: #ededed; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_holiday, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_holiday { - color: #f1586a; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_holiday, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_holiday { - color: #f1586a; - background-color: #d6d6d6; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_holiday_dis, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_holiday_dis, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_holiday_dis, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_holiday_dis { - color: #f1586a; - background-color: #ededed; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_hover, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_hover, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_hover, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_hover { - background-color: #d6d6d6; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_holiday_hover, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_holiday_hover, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_holiday_hover, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_holiday_hover { - color: #f1586a; - background-color: #d6d6d6; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month { - color: #000; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend { - color: #f1586a; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date { - color: #000; - background-color: #85d3ff; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend { - color: #f1586a; - background-color: #ffd1cc; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_dis, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_dis, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_dis, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_dis { - color: #c4c4c4; - background-color: #ededed; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_holiday { - color: #f1586a; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_holiday { - color: #f1586a; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_holiday { - color: #f1586a; - background-color: #ffd1cc; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_holiday { - color: #f1586a; - background-color: #ffd1cc; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_holiday_dis, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_holiday_dis, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_holiday_dis, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_holiday_dis { - color: #f1586a; - background-color: #ededed; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_hover { - color: #000; - background-color: #c7ebff; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_hover { - color: #f1586a; - background-color: #ffe7e4; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_hover { - color: #000; - background-color: #85d3ff; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_hover { - color: #f1586a; - background-color: #ffd1cc; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_holiday_hover { - color: #f1586a; - background-color: #ffe7e4; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_holiday_hover { - color: #f1586a; - background-color: #ffe7e4; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_holiday_hover { - color: #f1586a; - background-color: #ffd1cc; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_holiday_hover { - color: #f1586a; - background-color: #ffd1cc; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line div.dhtmlxcalendar_label.dhtmlxcalendar_label_title { - background-image: url("imgs/dhxcalendar_web/dhxcalendar_mark.gif"); - background-position: top right; - background-repeat: no-repeat; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont { - position: relative; - display: block; - width: 227px; - height: 27px; - margin-top: -1px; - background-color: #3da0e3; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - color: #fff; - overflow: hidden; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li { - width: 227px; - height: 27px; - line-height: 25px; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li div.dhtmlxcalendar_time_img { - position: absolute; - left: 75px; - top: 7px; - width: 13px; - height: 13px; - background-image: url("imgs/dhxcalendar_web/dhxcalendar_clock.gif"); - background-position: center center; - background-repeat: no-repeat; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_cover { - position: absolute; - left: 1px; - background-color: white; - opacity: .5; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=50); -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj { - position: absolute; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_selector_obj_arrow { - position: absolute; - bottom: auto; - top: 0; - left: 0; - width: 100%; - height: 9px; - overflow: hidden; - background-image: url("imgs/dhxcalendar_web/dhxcalendar_selector_top.gif"); - background-position: top center; - background-repeat: no-repeat; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table { - border: 1px solid #c7c7c7; - background-color: white; - border-top: none; - margin-top: 9px; - box-shadow: 0 0 3px rgba(0, 0, 0, 0.35); -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left { - width: 17px; - text-align: center; - border-top: white 1px solid; - padding: 0; - margin: 0; - background-color: #ededed; - background-image: url("imgs/dhxcalendar_web/dhxcalendar_arrow_left2.gif"); - background-position: center center; - background-repeat: no-repeat; - cursor: default; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left.dhtmlxcalendar_selector_cell_left_hover { - background-image: url("imgs/dhxcalendar_web/dhxcalendar_arrow_left2.gif"); -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle { - border-top: 1px solid white; - border-width: 1px 0 0 0; - cursor: default; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right { - width: 17px; - text-align: center; - border-top: 1px solid white; - border-width: 1px 0 0 0; - background-color: #ededed; - background-image: url("imgs/dhxcalendar_web/dhxcalendar_arrow_right2.gif"); - background-position: center center; - background-repeat: no-repeat; - cursor: default; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right.dhtmlxcalendar_selector_cell_right_hover { - background-image: url("imgs/dhxcalendar_web/dhxcalendar_arrow_right2.gif"); -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul { - display: block; - clear: both; - margin: 0 0 0 1px; - padding: 0; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul li { - float: left; - list-style-type: none; - list-style-image: none; - text-align: center; - vertical-align: middle; - margin: 0 1px 0 0; - padding: 0; - background-color: #ededed; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - cursor: default; - font-family: Tahoma; - font-size: 11px; - color: #000; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul li.dhtmlxcalendar_selector_cell_active { - background-color: #85d3ff; - color: #000; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul li.dhtmlxcalendar_selector_cell_hover { - background-color: #c7ebff; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right { - display: none; - width: 0; - border: 0 solid white; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line { - height: 24px; - border-top: none; - border-bottom: 1px solid white; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell { - width: 35px; - height: 24px; - line-height: 24px; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours div.dhtmlxcalendar_selector_obj_arrow, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_selector_obj_arrow { - top: auto; - bottom: 0; - background-image: url("imgs/dhxcalendar_web/dhxcalendar_selector_bottom.gif"); -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line { - height: 22px; - border-top: none; - border-bottom: 1px solid white; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell { - width: 24px; - height: 22px; - line-height: 22px; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right { - display: none; - width: 0; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table { - margin-top: 0; - margin-bottom: 9px; - border-top: 1px solid #c7c7c7; - border-bottom: none; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_month, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_year, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_hours, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_minutes, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_minutes4, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_minutes5 { - display: none; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month div.dhtmlxcalendar_area_selector_month, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_year div.dhtmlxcalendar_area_selector_year, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours div.dhtmlxcalendar_area_selector_hours, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_area_selector_minutes, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_area_selector_minutes4, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_area_selector_minutes5 { - display: block; -} - -.dhtmlxcalendar_dhx_web span.dhtmlxcalendar_label_minutes span.dhtmlxcalendar_selected_date { - border-bottom: 2px solid red; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn { - display: none; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell { - width: 27px; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_wn div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell { - width: 27px; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_first, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell { - width: 27px; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn { - display: block; - width: 27px; - color: #3da0e3; - background-color: #f4f4f4; - border-left: 1px solid #f4f4f4; - border-right: 1px solid #d5d5d5; - margin-right: 0; -} - -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_wn div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn { - display: block; - width: 27px; - color: #3da0e3; - background-color: #f4f4f4; -} - -div.dhtmlxcalendar_skin_detect { - position: absolute; - display: block; - visibility: hidden; - left: -100px; - top: 0; - width: 20px; - height: 10px; - margin: 0; - padding: 0; - border: none; - overflow: hidden; -} - -div.dhxcombo_dhx_web { - position: relative; - border: 1px solid #d6d6d6; - overflow: hidden; - vertical-align: middle; - background-color: white; - font-size: 1px; - height: 22px; -} - -div.dhxcombo_dhx_web input.dhxcombo_input { - position: absolute; - left: 1px; - top: 0; - height: 22px; - line-height: 21px; - *height: 20px; - *line-height: 19px; - border: 0 solid white; - outline: 0 solid white; - padding: 0; - margin: 0 0 0 4px; - background-color: white; - font-family: Tahoma; - font-size: 12px; - color: black; - vertical-align: top; -} - -div.dhxcombo_dhx_web div.dhxcombo_select_button { - position: absolute; - width: 18px; - height: 18px; - top: 2px; - right: 2px; - font-size: 1px; - background-color: #3da0e3; - cursor: pointer; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - overflow: hidden; -} - -div.dhxcombo_dhx_web div.dhxcombo_select_button div.dhxcombo_select_img { - position: relative; - width: 100%; - height: 100%; - background-image: url("imgs/dhxcombo_web/dhxcombo_arrow_down.gif"); - background-repeat: no-repeat; - background-position: center center; -} - -div.dhxcombo_dhx_web div.dhxcombo_top_image { - position: absolute; - left: 0; - top: 0; - width: 26px; - height: 22px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - overflow: hidden; - cursor: default; -} - -div.dhxcombo_dhx_web div.dhxcombo_top_image div.dhxcombo_image { - *top: 0; -} - -div.dhxcombolist_dhx_web { - position: absolute; - border: 1px solid #fff; - *border: 1px solid #ccc; - box-shadow: 0 3px 6px rgba(0, 0, 0, 0.35); - background-color: #f4f4f4; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - overflow-x: none; - overflow-y: auto; -} - -div.dhxcombolist_dhx_web div.dhxcombo_option { - position: relative; - font-size: inherit; - font-family: Tahoma; - font-size: 12px; - color: #000; - height: 24px; - line-height: 23px; - vertical-align: middle; - overflow: hidden; - cursor: default; -} - -div.dhxcombolist_dhx_web div.dhxcombo_option.dhxcombo_option_selected { - background-color: #85d3ff; -} - -div.dhxcombolist_dhx_web div.dhxcombo_option.dhxcombo_option_selected .dhxcombo_option_text { - color: #000; -} - -div.dhxcombolist_dhx_web div.dhxcombo_option div.dhxcombo_option_text { - position: relative; - padding: 0 4px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - white-space: nowrap; -} - -div.dhxcombolist_dhx_web div.dhxcombo_option div.dhxcombo_option_text.dhxcombo_option_text_chbx { - position: relative; - padding: 0 4px 0 4px; - margin-left: 20px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - white-space: nowrap; -} - -div.dhxcombolist_dhx_web div.dhxcombo_option div.dhxcombo_checkbox { - position: absolute; - left: 2px; - top: 3px; - width: 18px; - height: 18px; - background-image: url("imgs/dhxcombo_web/dhxcombo_chbx.gif"); - background-repeat: no-repeat; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - overflow: hidden; - cursor: default; -} - -div.dhxcombolist_dhx_web div.dhxcombo_option div.dhxcombo_checkbox.dhxcombo_chbx_0 { - background-position: 0 0; -} - -div.dhxcombolist_dhx_web div.dhxcombo_option div.dhxcombo_checkbox.dhxcombo_chbx_1 { - background-position: -18px 0; -} - -div.dhxcombolist_dhx_web div.dhxcombo_option div.dhxcombo_option_text.dhxcombo_option_text_image { - position: relative; - padding: 0 4px 0 4px; - margin-left: 20px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - white-space: nowrap; -} - -div.dhxcombolist_dhx_web div.dhxcombo_option div.dhxcombo_image { - top: 3px; -} - -div.dhxcombo_dhx_web div.dhxcombo_top_image div.dhxcombo_image, -div.dhxcombolist_dhx_web div.dhxcombo_option div.dhxcombo_image { - position: absolute; - left: 3px; - top: 2px; - width: 18px; - height: 18px; - background-repeat: no-repeat; - background-position: center center; - -moz-user-select: none; - overflow: hidden; - cursor: default; -} - -div.dhxcombo_dhx_web.dhxcombo_disabled { - background-color: #fafafa; -} - -div.dhxcombo_dhx_web.dhxcombo_disabled input.dhxcombo_input { - color: #999; - background-color: #fafafa; -} - -div.dhxcombo_dhx_web.dhxcombo_disabled div.dhxcombo_select_button { - background-color: #a6a6a6; - cursor: default; -} - -div.dhxcombo_dhx_web.dhxcombo_disabled div.dhxcombo_select_button div.dhxcombo_select_img { - background-image: url("imgs/dhxcombo_web/dhxcombo_arrow_down_dis.gif"); -} - -.dhxgrid_combo_icon { - position: absolute; - z-index: 1; - top: 0; - right: 0; -} - -.dhxcombo_skin_detect { - position: absolute; - left: 0; - top: -100px; - margin: 0; - padding: 0; - border: 0 solid white; - width: 20px; - height: 10px; - overflow: hidden; -} - -.dhxcolorpicker_skin_detect { - position: absolute; - left: 0; - top: -100px; - margin: 0; - padding: 0; - border: 0 solid white; - width: 20px; - height: 10px; - overflow: hidden; -} - -.dhtmlxcp_dhx_web .dhxcp_g_area { - position: absolute; - width: 254px; - height: 272px; - border: 1px solid #fff; - background-color: #f4f4f4; - box-shadow: 0 0 5px 2px #d7d7d7; - border-radius: 0; -} - -.dhtmlxcp_dhx_web .dhxcp_add_memory { - height: 317px!important; -} - -.dhtmlxcp_dhx_web .dhxcp_sub_area { - margin: 1px; - width: 252px; - height: 270px; - background-color: #f4f4f4; - border-radius: 0; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhtmlxcp_dhx_web .dhxcp_add_memory .dhxcp_sub_area { - height: 229px!important; -} - -.dhtmlxcp_dhx_web .dhxcp_g_color_area { - padding: 10px; - width: 232px; - height: 122px; - margin: 0; -} - -.dhtmlxcp_dhx_web .dhxcp_color_selector { - position: absolute; - width: 210px; - height: 120px; - background-image: url("imgs/dhxcp_web/dhxcp_colors.png"); - background-repeat: no-repeat; - border: 1px solid #ececec; - cursor: pointer; - float: left; -} - -.dhtmlxcp_dhx_web .dhxcp_contrast_area { - border: 1px solid #ececec; - position: relative; - height: 120px; - width: 10px; - cursor: pointer; - float: right; -} - -.dhtmlxcp_dhx_web .dhxcp_ie_gradient { - height: 120px; - width: 10px; - margin: 0; -} - -.dhtmlxcp_dhx_web .dhxcp_color_selector .dhxcp_v_line { - position: absolute; - width: 0; - height: 120px; - border-left: 1px solid #fff; - cursor: pointer; - overflow: hidden; -} - -.dhtmlxcp_dhx_web .dhxcp_color_selector .dhxcp_h_line, -.dhtmlxcp_dhx_web .dhxcp_contrast_area .dhxcp_h_line { - position: absolute; - height: 0; - border-top: 1px solid #fff; - cursor: pointer; - overflow: hidden; -} - -.dhtmlxcp_dhx_web .dhxcp_color_selector .dhxcp_h_line { - width: 210px; -} - -.dhtmlxcp_dhx_web .dhxcp_contrast_area .dhxcp_h_line { - width: 10px; -} - -.dhtmlxcp_dhx_web .dhxcp_g_input_area { - padding: 0 10px; - width: 232px; - height: 78px; - margin: 0; -} - -.dhtmlxcp_dhx_web .dhxcp_value_cont { - width: 66px; - height: 78px; - float: left; -} - -.dhtmlxcp_dhx_web .dhxcp_value_color { - width: 62px; - height: 30px; - border: 1px solid #ececec; -} - -.dhtmlxcp_dhx_web .dhxcp_value { - width: 58px; - height: 20px; - border: 1px solid #ececec; - border-radius: 0; - background-color: #fff; - margin: 5px 0 0 0; - padding: 1px 2px; - font-family: Tahoma; - font-size: 12px; - color: black; - text-align: left; -} - -.dhtmlxcp_dhx_web .dhxcp_inputs_cont { - border: none; - border-spacing: 0; - width: 160px; - height: 78px; - float: right; -} - -.dhtmlxcp_dhx_web .dhxcp_label_hsl, -.dhtmlxcp_dhx_web .dhxcp_label_rgb { - font-family: Tahoma; - font-size: 12px; - color: #000; - text-align: right; - padding: 0 3px 0 0; -} - -.dhtmlxcp_dhx_web td.dhxcp_input_hsl, -.dhtmlxcp_dhx_web td.dhxcp_input_rgb { - width: 27px; - border: none; - padding: 0; - margin: 0; -} - -.dhtmlxcp_dhx_web input.dhxcp_input_hsl, -.dhtmlxcp_dhx_web input.dhxcp_input_rgb { - width: 25px; - height: 18px; - border: 1px solid #ececec; - border-radius: 0; - background-color: #fff; - font-family: Tahoma; - font-size: 12px; - color: #000; - text-align: right; - padding: 1px; - margin: 2px 0; -} - -.dhtmlxcp_dhx_web .dhxcp_g_memory_area { - width: 232px; - height: 0; - overflow: hidden; - border: 1px solid #ececec; - border-bottom: none; - border-left: none; - border-right: none; - margin: 10px; -} - -.dhtmlxcp_dhx_web .dhxcp_memory_button_cont { - width: 232px; - margin: 0; - height: 24px; -} - -.dhtmlxcp_dhx_web .dhxcp_buttons_area button, -.dhtmlxcp_dhx_web .dhxcp_memory_button_cont button { - outline: none; - border-radius: 0; - background-color: #3da0e3; - border: 1px solid #f4f4f4; - font-family: Tahoma; - font-size: 12px; - color: #fff; -} - -.dhtmlxcp_dhx_web .dhxcp_buttons_area button:hover, -.dhtmlxcp_dhx_web .dhxcp_memory_button_cont button:hover { - background-color: #2a8ed2; -} - -.dhtmlxcp_dhx_web .dhxcp_buttons_area button:active, -.dhtmlxcp_dhx_web .dhxcp_memory_button_cont button:active { - background-color: #2589ce; -} - -.dhtmlxcp_dhx_web .dhxcp_save_to_memory { - width: 232px; - height: 24px; -} - -.dhtmlxcp_dhx_web .dhxcp_save_to_memory .dhxcp_label_bm { - display: inherit; - width: 90px; -} - -.dhtmlxcp_dhx_web .dhxcp_memory_els_cont { - width: 232px; - height: 25px; - margin-top: 3px; - text-align: center; -} - -.dhtmlxcp_dhx_web .dhxcp_memory_el { - width: 24px; - height: 24px; - background-color: #fff; - border: 1px solid #ececec; - display: inline-block; - margin: 0 1px; -} - -.dhtmlxcp_dhx_web .dhxcp_memory_el_select { - border: 1px dashed black!important; -} - -.dhtmlxcp_dhx_web .dhxcp_memory_el_next { - border: 1px dashed red!important; -} - -.dhtmlxcp_dhx_web .dhxcp_add_memory .dhxcp_g_memory_area { - height: 55px!important; - border-top: none!important; - margin: 5px 10px 5px 10px; -} - -.dhtmlxcp_dhx_web .dhxcp_buttons_area { - padding: 0 10px; - width: 232px; - height: 26px; - text-align: right; - margin: 0; -} - -.dhtmlxcp_dhx_web .dhx_button_save, -.dhtmlxcp_dhx_web .dhx_button_cancel { - line-height: 12px; - height: 25px; - margin: 0 2px; - padding: 2px 10px; - overflow: hidden; - white-space: nowrap; -} - -.dhxcp_colorBox { - float: right; -} - -.dhxcp_colorInput { - float: left; -} - -.dhxcp_frm { - position: absolute; - background-color: white; - opacity: 0; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=0); - width: 256px; - height: 274px; -} - -.dhxslider_skin_detect { - position: absolute; - left: 0; - top: -100px; - margin: 0; - padding: 0; - border: 0 solid white; - width: 20px; - height: 10px; - overflow: hidden; -} - -.dhtmlxslider_dhx_web .dhxsl_hidden { - display: none; -} - -.dhtmlxslider_dhx_web .dhxsl_container { - position: relative; - float: left; - clear: left; - margin: 0; - padding: 1px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhtmlxslider_dhx_web .dhxsl_container.dhxsl_cont_hr { - margin-top: 5px; -} - -.dhtmlxslider_dhx_web .dhxsl_container.dhxsl_cont_vr { - margin-left: 5px; -} - -.dhtmlxslider_dhx_web .dhxsl_runner { - position: absolute; - width: 12px; - height: 12px; - border: 1px solid #3da0e3; - background-color: #3da0e3; - margin: 0; - padding: 0; - overflow: hidden; -} - -.dhtmlxslider_dhx_web .dhxsl_runner_dis { - border: 1px solid #999; - background-color: #999; -} - -.dhtmlxslider_dhx_web .dhxsl_track { - margin: 0; - padding: 0; - overflow: hidden; - border: 1px solid #c7c7c7; - background-color: #fff; -} - -.dhtmlxslider_dhx_web .dhxsl_cont_vr .dhxsl_track { - height: 100%; - width: 6px; -} - -.dhtmlxslider_dhx_web .dhxsl_cont_hr .dhxsl_track { - width: 100%; - height: 6px; -} - -.dhtmlxslider_dhx_web .dhxsl_track_dis { - border: 1px solid #d9d9d9; - background-color: #f2f2f2; -} - -div.dhx_popup_skin_detect { - position: absolute; - display: block; - visibility: hidden; - left: -100px; - top: 0; - width: 20px; - height: 10px; - margin: 0; - padding: 0; - border: none; - overflow: hidden; -} - -div.dhx_popup_dhx_web { - position: absolute; -} - -div.dhx_popup_dhx_web div.dhx_popup_area { - position: relative; - margin: 10px; - padding: 3px 0; - border: 1px solid #fff; - box-shadow: 0 0 6px rgba(0, 0, 0, 0.35); - *border: 1px solid #c6c6c6; - background-color: #f4f4f4; -} - -div.dhx_popup_dhx_web div.dhx_popup_area td.dhx_popup_td { - font-family: Tahoma; - font-size: 12px; - color: #000; - text-align: left; - vertical-align: middle; - padding: 0 10px; - height: 24px; - line-height: 24px; - white-space: nowrap; - cursor: default; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} - -div.dhx_popup_dhx_web div.dhx_popup_area td.dhx_popup_td div.dhtmlxcalendar_dhx_web { - position: relative; -} - -div.dhx_popup_dhx_web div.dhx_popup_area tr.dhxnode td.dhx_popup_td { - height: auto; - line-height: inherit; - -webkit-user-select: text; - -khtml-user-select: text; - -moz-user-select: text; - -o-user-select: text; - user-select: text; - padding: 6px!important; -} - -div.dhx_popup_dhx_web div.dhx_popup_area tr.dhxnode td.dhx_popup_td .dhtmlxcalendar_container.dhtmlxcalendar_skin_dhx_web { - position: relative!important; - background-image: none; -} - -div.dhx_popup_dhx_web div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxtree_dhx_web { - background: none; -} - -div.dhx_popup_dhx_web div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhtmlxcp_dhx_web div.dhxcp_g_area { - position: relative; -} - -div.dhx_popup_dhx_web div.dhx_popup_area tr.dhx_popup_sep td.dhx_popup_sep { - font-size: 1px; - padding: 2px 0; - position: relative; -} - -div.dhx_popup_dhx_web div.dhx_popup_area tr.dhx_popup_sep td.dhx_popup_sep div.dhx_popup_sep { - position: relative; - font-size: 1px; - line-height: 1px; - height: 0; - width: 100%; - border-top: 1px dotted #cecece; - overflow: hidden; -} - -div.dhx_popup_dhx_web div.dhx_popup_area td.dhx_popup_td:first-child { - padding-left: 14px; -} - -div.dhx_popup_dhx_web div.dhx_popup_area td.dhx_popup_td:last-child { - padding-right: 14px; -} - -div.dhx_popup_dhx_web div.dhx_popup_area tr:hover td.dhx_popup_td { - background-color: #85d3ff; -} - -div.dhx_popup_dhx_web div.dhx_popup_area tr.dhxnode:hover td.dhx_popup_td { - background: none; -} - -div.dhx_popup_dhx_web div.dhx_popup_area.dhx_popup_area_ie tr.dhxnode td.dhx_popup_td { - height: 1em; - line-height: 1em; -} - -div.dhx_popup_dhx_web div.dhx_popup_area.dhx_popup_area_ie td.dhx_popup_td.dhx_popup_td_single { - padding-left: 14px; - padding-right: 14px; -} - -div.dhx_popup_dhx_web div.dhx_popup_area.dhx_popup_area_ie td.dhx_popup_td.dhx_popup_td_first { - padding-left: 14px; -} - -div.dhx_popup_dhx_web div.dhx_popup_area.dhx_popup_area_ie td.dhx_popup_td.dhx_popup_td_last { - padding-right: 14px; -} - -div.dhx_popup_dhx_web div.dhx_popup_area.dhx_popup_area_ie tr.tr_hover td.dhx_popup_td { - background-color: #85d3ff; -} - -div.dhx_popup_dhx_web div.dhx_popup_arrow { - position: absolute; - background-repeat: no-repeat; -} - -div.dhx_popup_dhx_web div.dhx_popup_arrow.dhx_popup_arrow_bottom { - width: 19px; - height: 16px; - background-image: url("imgs/dhxpopup_web/dhxpopup_arrow_bottom.gif"); - background-position: top center; -} - -div.dhx_popup_dhx_web div.dhx_popup_arrow.dhx_popup_arrow_top { - width: 19px; - height: 16px; - background-image: url("imgs/dhxpopup_web/dhxpopup_arrow_top.gif"); - background-position: bottom center; -} - -div.dhx_popup_dhx_web div.dhx_popup_arrow.dhx_popup_arrow_right { - width: 16px; - height: 19px; - background-image: url("imgs/dhxpopup_web/dhxpopup_arrow_right.gif"); - background-position: center left; -} - -div.dhx_popup_dhx_web div.dhx_popup_arrow.dhx_popup_arrow_left { - width: 16px; - height: 19px; - background-image: url("imgs/dhxpopup_web/dhxpopup_arrow_left.gif"); - background-position: center right; -} - -.dhxmenu_skin_detect { - position: absolute; - left: 0; - top: -100px; - margin: 0; - padding: 0; - border: 0 solid white; - width: 20px; - height: 10px; - overflow: hidden; -} - -.dhtmlxMenu_dhx_web_Middle { - position: relative; - height: 26px; - border: none; - background-color: #f4f4f4; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhtmlxMenu_dhx_web_Middle div.top_sep { - float: left; - position: relative; - height: 20px; - width: 0; - border-left: 1px solid #c1c1c1; - margin: 3px 2px 0 0; - line-height: 1px; - font-size: 1px; - overflow: hidden; - cursor: default; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhtmlxMenu_dhx_web_Middle img.dhtmlxMenu_TopLevel_Item_Icon { - float: left; - margin: 2px 3px 0 3px; - width: 18px; - height: 18px; -} - -.dhtmlxMenu_dhx_web_Middle div.dhtmlxMenu_TopLevel_Text_right { - position: absolute; - top: 5px; - left: none; - right: 8px; - font-family: Tahoma; - font-size: 12px; - color: #000; - cursor: default; -} - -.dhtmlxMenu_dhx_web_Middle div.dhtmlxMenu_TopLevel_Text_left { - position: absolute; - top: 5px; - right: none; - left: 8px; - font-family: Tahoma; - font-size: 12px; - color: #000; - cursor: default; -} - -.dhtmlxMenu_dhx_web_Middle.dir_left div.align_left { - float: left; -} - -.dhtmlxMenu_dhx_web_Middle.dir_left div.align_right { - float: right; -} - -div.dhtmlxMenu_dhx_web_TopLevel_Item_Normal, -div.dhtmlxMenu_dhx_web_TopLevel_Item_Disabled, -div.dhtmlxMenu_dhx_web_TopLevel_Item_Selected { - position: relative; - float: left; - font-family: Tahoma; - font-size: 12px; - color: #000; - cursor: default; - white-space: nowrap; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - height: 22px; - line-height: 22px; - vertical-align: middle; - margin: 2px 2px 0 0; - padding: 0 3px; -} - -div.dhtmlxMenu_dhx_web_TopLevel_Item_Normal div.top_level_text, -div.dhtmlxMenu_dhx_web_TopLevel_Item_Disabled div.top_level_text, -div.dhtmlxMenu_dhx_web_TopLevel_Item_Selected div.top_level_text { - float: left; - margin: 0 3px; -} - -div.dhtmlxMenu_dhx_web_TopLevel_Item_Disabled { - color: #999; -} - -div.dhtmlxMenu_dhx_web_TopLevel_Item_Selected { - background-color: #85d3ff; -} - -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon { - position: absolute; - border: 1px solid #fff; - *border: 1px solid #ccc; - box-shadow: 0 0 10px rgba(0, 0, 0, 0.35); - padding: 3px 0; - background-color: #f4f4f4; - overflow: hidden; - cursor: default; - line-height: normal; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} - -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td { - font-family: Tahoma; - font-size: 12px; - color: header_font_color; - padding: 0 4px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} - -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_selected td { - background-color: #85d3ff; -} - -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_icon { - width: 18px; - text-align: center; - vertical-align: middle; -} - -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_icon img.sub_icon { - float: left; - margin: 0; - width: 18px; - height: 18px; -} - -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_item_text { - padding: 0 12px 0 1px; - height: 26px; - line-height: 25px; - white-space: nowrap; - text-align: left; -} - -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_item_text { - color: #999; -} - -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_hk { - padding-left: 8px; - padding-right: 8px; -} - -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_hk div.sub_item_hk { - font-family: Tahoma; - font-size: 12px; - color: #333; - text-align: right; -} - -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis td.sub_item_hk div.sub_item_hk { - color: #999; -} - -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.complex_arrow { - width: 4px; - margin: 0 2px 0 5px; - height: 22px; - background-image: url("imgs/dhxmenu_web/dhxmenu_subar.gif"); - background-repeat: no-repeat; - background-position: 0 0; - overflow: hidden; - font-size: 1px; - float: right; -} - -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_selected div.complex_arrow { - background-position: -4px 0!important; -} - -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.complex_arrow { - background-position: -8px 0!important; -} - -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.complex_arrow_loading { - width: 11px; - height: 22px; - background-position: center center; - background-repeat: no-repeat; - background-image: url("imgs/dhxmenu_web/dhxmenu_loader.gif"); - float: right; -} - -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon { - float: left; - margin: 0; - width: 18px; - height: 18px; - background-position: top right; - background-repeat: no-repeat; - background-image: url("imgs/dhxmenu_web/dhxmenu_chrd.gif"); -} - -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.chbx_0 { - background-position: 0 0!important; -} - -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.chbx_1 { - background-position: -18px 0!important; -} - -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.chbx_0 { - background-position: -36px 0!important; -} - -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.chbx_1 { - background-position: -54px 0!important; -} - -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.rdbt_0 { - background-position: -72px 0!important; -} - -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.rdbt_1 { - background-position: -90px 0!important; -} - -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.rdbt_0 { - background-position: -108px 0!important; -} - -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.rdbt_1 { - background-position: -126px 0!important; -} - -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon tr.sub_sep td { - padding: 2px 0; -} - -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon div.sub_sep { - position: static; - font-size: 1px; - line-height: 1px; - height: 1px; - width: 100%; - border-top: 1px dotted #b4b4b4; - *border-top: 1px solid #cecece; -} - -iframe.dhtmlxMenu_IE6CoverFix_dhx_web { - position: absolute; - border: none; - background: #000; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=100); -} - -div.dhtmlxMenu_dhx_web_SubLevelArea_ArrowUp, -div.dhtmlxMenu_dhx_web_SubLevelArea_ArrowUp_Over, -div.dhtmlxMenu_dhx_web_SubLevelArea_ArrowUp_Disabled { - position: relative; - font-size: 1px; - border-bottom: 1px solid #b4b4b4; - background-image: url("imgs/dhxmenu_web/dhxmenu_arrow_up.gif"); - background-repeat: no-repeat; - background-position: center center; - padding: 8px 0; - margin-bottom: 3px; -} - -div.dhtmlxMenu_dhx_web_SubLevelArea_ArrowUp_Disabled { - background-image: url("imgs/dhxmenu_web/dhxmenu_arrow_up_dis.gif"); -} - -div.dhtmlxMenu_dhx_web_SubLevelArea_ArrowDown, -div.dhtmlxMenu_dhx_web_SubLevelArea_ArrowDown_Over, -div.dhtmlxMenu_dhx_web_SubLevelArea_ArrowDown_Disabled { - position: relative; - font-size: 1px; - border-top: 1px solid #b4b4b4; - background-image: url("imgs/dhxmenu_web/dhxmenu_arrow_down.gif"); - background-repeat: no-repeat; - background-position: center center; - padding: 8px 0; - margin-top: 3px; -} - -div.dhtmlxMenu_dhx_web_SubLevelArea_ArrowDown_Disabled { - background-image: url("imgs/dhxmenu_web/dhxmenu_arrow_down_dis.gif"); -} - -.dhtmlxribbon_skin_detect { - position: absolute; - left: 0; - top: -100px; - margin: 0; - padding: 0; - border: 0 solid white; - width: 20px; - height: 10px; - overflow: hidden; -} - -.dhtmlxribbon_dhx_web.dhxrb_without_tabbar { - background-color: #fff; - border: 1px solid #c7c7c7; -} - -.dhtmlxribbon_dhx_web { - overflow: hidden; - width: 100%; -} - -.dhtmlxribbon_dhx_web .dhxrb_background_area { - height: 114px; - background-color: #fff; - margin: 1px; -} - -.dhtmlxribbon_dhx_web .dhxrb_with_tabbar { - height: 162px; -} - -.dhtmlxribbon_dhx_web div.dhx_cell_tabbar { - background-color: #fff!important; -} - -.dhtmlxribbon_dhx_web .dhxrb_g_area { - height: 113px; - float: left; - clear: left; - overflow: hidden; - position: relative; -} - -.dhtmlxribbon_dhx_web .dhxrb_block_base { - margin: 3px; - float: left; - border: 1px solid #e7e7e7; - background-color: #f4f4f4; - border-radius: 0; - height: 106px; - overflow: hidden; - position: relative; -} - -.dhtmlxribbon_dhx_web .dhxrb_block_base .dhxrb_block_items { - height: 84px; - float: left; - padding: 2px 0; - overflow: hidden; -} - -.dhtmlxribbon_dhx_web .dhxrb_block_base>.dhxrb_block_label { - height: 18px; - line-height: 17px; - *height: auto; - *line-height: 1em; -} - -.dhtmlxribbon_dhx_web .dhxrb_block_base .dhxrb_block_label { - text-align: center; - clear: left; - font-family: Tahoma; - font-size: 12px; - color: #818181; - background-color: #e7e7e7; - *padding: 1px 3px 3px; - *font-size: 11px; - *font-family: Tahoma, FreeSans; -} - -.dhtmlxribbon_dhx_web .dhxrb_big_button { - margin: 0 2px 5px; - float: left; - text-align: center; - padding: 4px; - border: 1px solid #f4f4f4; - background-color: #f4f4f4; - height: 72px; -} - -.dhtmlxribbon_dhx_web .dhxrb_big_button .dhxrb_image { - width: 48px; - height: 48px; - border: none; -} - -.dhtmlxribbon_dhx_web .dhxrb_big_button .dhxrb_label_button { - margin: 0 auto; - cursor: default; - font-family: Tahoma; - font-size: 12px; - color: #000; - line-height: 11px; -} - -.dhtmlxribbon_dhx_web .dhxrb_big_button .dhxrb_invisible { - visibility: hidden; -} - -.dhtmlxribbon_dhx_web .dhxrb_3rows_block { - float: left; - margin: 0 2px 5px; - position: relative; -} - -.dhtmlxribbon_dhx_web .dhxrb_3rows_block .dhxrb_invisible { - display: none; -} - -.dhtmlxribbon_dhx_web .dhxrb_3rows_button { - height: 20px; - margin: 1px 3px; - float: left; - clear: left; - padding: 3px 4px 1px 4px; - border: 1px solid #f4f4f4; - background-color: #f4f4f4; -} - -.dhtmlxribbon_dhx_web .dhxrb_in_row { - height: 20px; - margin: 1px 3px; - float: left; - padding: 3px 4px 1px; - border: 1px solid #f4f4f4; - background-color: #f4f4f4; - white-space: nowrap; - overflow: hidden; -} - -.dhtmlxribbon_dhx_web .dhxrb_group .dhxrb_buttoncombo_cont { - height: 22px; - padding: 0 2px!important; -} - -.dhtmlxribbon_dhx_web .dhxrb_buttoncombo_cont { - height: 24px; - padding: 1px 2px!important; -} - -.dhtmlxribbon_dhx_web .dhxrb_buttoncombo { - float: left; -} - -.dhtmlxribbon_dhx_web .dhxrb_in_row .dhxrb_slider, -.dhtmlxribbon_dhx_web .dhxrb_3rows_button .dhxrb_slider { - float: left; - margin-right: 5px; - margin-top: 5px; -} - -.dhtmlxribbon_dhx_web .dhxrb_in_row center, -.dhtmlxribbon_dhx_web .dhxrb_in_group center, -.dhtmlxribbon_dhx_web .dhxrb_3rows_button center { - float: left; - margin: 0; - padding: 0; -} - -.dhtmlxribbon_dhx_web .dhxrb_in_group .dhxrb_slider { - float: left; - margin-right: 5px; - margin-top: 4px; -} - -.dhtmlxribbon_dhx_web .dhxrb_big_button .dhxrb_slider { - width: 16px; - margin: 2px 0; - height: 50px; -} - -.dhtmlxribbon_dhx_web .dhxrb_in_group { - height: 19px; - float: left; - padding: 2px 4px 1px; - border: 1px solid #efefef; -} - -.dhtmlxribbon_dhx_web .dhxrb_input { - float: left; - border: 1px solid #e7e7e7; - height: 14px; - width: 80px; - font-family: Tahoma; - font-size: 12px; - color: black; - padding: 1px 2px; -} - -.dhtmlxribbon_dhx_web .dhxrb_input:disabled { - border: 1px solid #e7e7e7; - background-color: #f2f2f2; - color: #999; -} - -.dhtmlxribbon_dhx_web .dhxrb_3rows_button .dhxrb_image, -.dhtmlxribbon_dhx_web .dhxrb_in_row .dhxrb_image, -.dhtmlxribbon_dhx_web .dhxrb_in_group .dhxrb_image { - width: 18px; - height: 18px; - float: left; -} - -.dhtmlxribbon_dhx_web .dhxrb_3rows_button .dhxrb_label_button, -.dhtmlxribbon_dhx_web .dhxrb_in_row .dhxrb_label_button, -.dhtmlxribbon_dhx_web .dhxrb_in_group .dhxrb_label_button { - float: left; - margin: 1px; - cursor: default; - font-family: Tahoma; - font-size: 12px; - color: #000; - margin: 2px 4px 2px 6px; -} - -.dhtmlxribbon_dhx_web .dhxrb_buttoncombo_cont .dhxrb_label_button { - float: left; - margin-left: 3px; - height: 18px; - line-height: 18px; - cursor: default; - font-family: Tahoma; - font-size: 12px; - color: #000; -} - -.dhtmlxribbon_dhx_web .dhxrb_label_checkbox { - float: left; - margin: 2px 4px; - cursor: default; - font-family: Tahoma; - font-size: 12px; - color: #000; -} - -.dhtmlxribbon_dhx_web .dhxrb_disable_text_style, -.dhtmlxribbon_dhx_web .dhxrb_item_disable .dhxrb_label_checkbox { - color: #999!important; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhtmlxribbon_dhx_web .dhxrb_highlight0 { - border: 1px solid #85d3ff; - background-color: #85d3ff; - color: #000; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhtmlxribbon_dhx_web .dhxrb_highlight1 { - border: 1px solid #74c1ec; - background-color: #74c1ec; - color: #000; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhtmlxribbon_dhx_web .dhxrb_item_hide { - display: none!important; -} - -.dhtmlxribbon_dhx_web .dhxrb_block_rows { - float: left; -} - -.dhtmlxribbon_dhx_web .dhxrb_block_row { - float: left; - clear: left; - margin: 0 2px; - height: 28px; - overflow: hidden; - position: relative; -} - -.dhtmlxribbon_dhx_web .dhxrb_arrow { - padding: 0 5px; - margin-left: 2px; - background: url("imgs/dhxribbon_web/dhxribbon_arrow.gif") no-repeat 50%; -} - -.dhtmlxribbon_dhx_web .dhxrb_3rows_block .dhxrb_group { - border: 1px solid #e7e7e7; - background-color: #efefef; - height: 24px; - float: left; - clear: left; - margin: 1px 3px; - overflow: hidden; - position: relative; -} - -.dhtmlxribbon_dhx_web .dhxrb_block_row .dhxrb_group { - border: 1px solid #e7e7e7; - background-color: #efefef; - height: 24px; - float: left; - margin: 1px 3px; - overflow: hidden; - position: relative; -} - -.dhtmlxribbon_dhx_web .dhxrb_in_group .dhxrb_label_hide { - display: none; -} - -.dhtmlxribbon_dhx_web .dhxrb_separator_groupp { - height: 24px; - width: 0; - border-left: 1px solid #ddd; - overflow: hidden; - float: left; -} - -.dhtmlxribbon_dhx_web .dhxrb_checkbox { - border: 1px solid #e7e7e7; - background-color: #fff; - float: left; - width: 12px; - height: 12px; - margin-top: 2px; - overflow: hidden; -} - -.dhtmlxribbon_dhx_web .dhxrb_checked .dhxrb_checkbox { - background-image: url("imgs/dhxribbon_web/dhxribbon_checked.gif"); - background-repeat: no-repeat; -} - -.dhtmlxribbon_dhx_web .dhxrb_checked.dhxrb_item_disable>.dhxrb_checkbox { - background-image: url("imgs/dhxribbon_web/dhxribbon_checked_dis.gif"); -} - -.dhtmlxribbon_dhx_web .dhxrb_item_disable .dhxrb_checkbox { - background-color: #e6e6e6; - border: 1px solid #999; -} - -.dhtmlxribbon_dhx_web .dhxrb_item_text { - font-family: Tahoma; - font-size: 12px; - color: #000; -} - -.dhtmlxribbon_dhx_web .dhxrb_in_group .dhxrb_item_text { - height: 19px; - line-height: 18px; - *float: left; - *clear: left; -} - -.dhtmlxribbon_dhx_web .dhxrb_3rows_button .dhxrb_item_text, -.dhtmlxribbon_dhx_web .dhxrb_in_row .dhxrb_item_text { - font-family: Tahoma; - font-size: 14px; - color: #000; -} - -.dhtmlxribbon_dhx_web .dhxrb_big_button .dhxrb_item_text { - font-family: Tahoma; - font-size: 30px; - color: #000; - line-height: 72px; - height: 72px; - float: left; - clear: left; -} - -.dhxtoolbar_skin_detect { - position: absolute; - left: 0; - top: -100px; - margin: 0; - padding: 0; - border: 0 solid white; - width: 20px; - height: 10px; - overflow: hidden; -} - -.dhx_toolbar_dhx_web { - background-color: #3da0e3; - position: relative; - padding: 0 5px; - height: 32px; - line-height: normal; - cursor: default; - overflow: hidden; - font-family: Tahoma; - font-size: 12px; - color: #fff; -} - -.dhx_toolbar_dhx_web div.dhxtoolbar_float_left { - float: left; -} - -.dhx_toolbar_dhx_web div.dhxtoolbar_float_right { - float: right; -} - -.dhx_toolbar_dhx_web div.dhx_toolbar_btn, -.dhx_toolbar_dhx_web div.dhx_toolbar_arw { - position: relative; - float: left; - margin-top: 3px; - padding: 2px 3px 1px 3px; - *padding-bottom: 2px; - margin-right: 1px; - line-height: normal; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - cursor: default; - height: 22px; - overflow: hidden; -} - -.dhx_toolbar_dhx_web div.dhx_toolbar_btn.dhxtoolbar_btn_dis, -.dhx_toolbar_dhx_web div.dhx_toolbar_arw.dhxtoolbar_btn_dis { - color: #acd7f3; -} - -.dhx_toolbar_dhx_web div.dhx_toolbar_btn.dhxtoolbar_btn_over, -.dhx_toolbar_dhx_web div.dhx_toolbar_arw.dhxtoolbar_btn_over { - background-color: #2a8ed2; -} - -.dhx_toolbar_dhx_web div.dhx_toolbar_btn.dhxtoolbar_btn_pres, -.dhx_toolbar_dhx_web div.dhx_toolbar_arw.dhxtoolbar_btn_pres { - background-color: #2589ce; -} - -.dhx_toolbar_dhx_web div.dhx_toolbar_btn.dhxtoolbar_btn_pres_dis { - background-color: #2e94d8; -} - -.dhx_toolbar_dhx_web div.dhx_toolbar_btn img { - float: left; - margin: 2px; - width: 18px; - height: 18px; - cursor: default; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhx_toolbar_dhx_web div.dhx_toolbar_btn .dhxtoolbar_input { - position: relative; - float: left; - border: 1px solid white; - background-color: white; - margin: 1px; - padding: 2px 4px 3px 4px; - font-family: Tahoma; - font-size: 12px; - color: black; - line-height: normal; - direction: ltr; - outline: none; -} - -.dhx_toolbar_dhx_web div.dhx_toolbar_btn .dhxtoolbar_input:disabled { - background-color: #f2f2f2; -} - -.dhx_toolbar_dhx_web div.dhx_toolbar_btn.dhxtoolbar_btn_dis div.dhxtoolbar_sl_pen { - background-color: #e6e6e6; -} - -.dhx_toolbar_dhx_web div.dhx_toolbar_btn.dhxtoolbar_btn_dis div.dhxtoolbar_sl_bg_l, -.dhx_toolbar_dhx_web div.dhx_toolbar_btn.dhxtoolbar_btn_dis div.dhxtoolbar_sl_bg_m, -.dhx_toolbar_dhx_web div.dhx_toolbar_btn.dhxtoolbar_btn_dis div.dhxtoolbar_sl_bg_r { - background-color: #e6e6e6; -} - -.dhx_toolbar_dhx_web div.dhx_toolbar_btn div.dhxtoolbar_text, -.dhx_toolbar_dhx_web div.dhx_toolbar_arw div.arwimg { - float: left; - font: inherit; - height: 18px; - line-height: 17px; - margin: 2px 4px; - cursor: default; - overflow: hidden; - white-space: nowrap; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhx_toolbar_dhx_web div.dhx_toolbar_btn div.dhxtoolbar_text { - padding: 0; -} - -.dhx_toolbar_dhx_web div.dhx_toolbar_arw { - margin-left: -3px; - z-index: 1; -} - -.dhx_toolbar_dhx_web div.dhx_toolbar_arw div.arwimg { - margin: 2px 0; - padding: 0 3px; - background-image: url("imgs/dhxtoolbar_web/dhxtoolbar_arrow.gif"); - background-position: center center; - background-repeat: no-repeat; -} - -.dhx_toolbar_dhx_web div.dhx_toolbar_arw.dhxtoolbar_btn_dis div.arwimg { - background-image: url("imgs/dhxtoolbar_web/dhxtoolbar_arrow_dis.gif"); -} - -.dhx_toolbar_dhx_web div.dhx_toolbar_sep { - float: left; - border-left: 1px dotted #c3e1f6; - height: 14px; - margin: 8px 6px 0 5px; - overflow: hidden; -} - -.dhx_toolbar_dhx_web div.dhx_toolbar_text { - float: left; - vertical-align: middle; - margin-top: 4px; - padding: 3px 5px; - line-height: 17px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhx_toolbar_dhx_web div.dhxtoolbar_sl_bg_l, -.dhx_toolbar_dhx_web div.dhxtoolbar_sl_bg_m, -.dhx_toolbar_dhx_web div.dhxtoolbar_sl_bg_r { - float: left; - height: 5px; - line-height: 1px; - margin: 9px 0 6px 0; - padding: 0; - width: 2px; - font-size: 1px; - background-color: #fff; - overflow: hidden; -} - -.dhx_toolbar_dhx_web div.dhxtoolbar_sl_bg_l { - margin-left: 4px; -} - -.dhx_toolbar_dhx_web div.dhxtoolbar_sl_bg_r { - margin-right: 4px; -} - -.dhx_toolbar_dhx_web div.dhxtoolbar_sl_pen, -.dhx_toolbar_dhx_web div.dhxtoolbar_sl_pen.dhxtoolbar_over { - position: absolute; - top: 5px; - width: 7px; - height: 14px; - border: 1px solid #46a4e4; - background-color: #fff; - cursor: default; - font-size: 1px; - line-height: 1px; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhx_toolbar_dhx_web.dhxtoolbar_icons_24 { - height: 38px!important; -} - -.dhx_toolbar_dhx_web.dhxtoolbar_icons_24 div.dhx_toolbar_btn, -.dhx_toolbar_dhx_web.dhxtoolbar_icons_24 div.dhx_toolbar_arw { - height: 28px; -} - -.dhx_toolbar_dhx_web.dhxtoolbar_icons_24 div.dhx_toolbar_btn img { - width: 24px; - height: 24px; -} - -.dhx_toolbar_dhx_web.dhxtoolbar_icons_24 div.dhx_toolbar_btn div.dhxtoolbar_text, -.dhx_toolbar_dhx_web.dhxtoolbar_icons_24 div.dhx_toolbar_arw div.arwimg { - height: 24px; - line-height: 23px; -} - -.dhx_toolbar_dhx_web.dhxtoolbar_icons_24 div.dhx_toolbar_text { - padding-top: 6px; - padding-bottom: 6px; -} - -.dhx_toolbar_dhx_web.dhxtoolbar_icons_24 div.dhx_toolbar_sep { - height: 20px; -} - -.dhx_toolbar_dhx_web.dhxtoolbar_icons_24 div.dhxtoolbar_sl_bg_l, -.dhx_toolbar_dhx_web.dhxtoolbar_icons_24 div.dhxtoolbar_sl_bg_m, -.dhx_toolbar_dhx_web.dhxtoolbar_icons_24 div.dhxtoolbar_sl_bg_r { - margin-top: 12px; -} - -.dhx_toolbar_dhx_web.dhxtoolbar_icons_24 div.dhxtoolbar_sl_pen { - top: 8px; -} - -.dhx_toolbar_dhx_web.dhxtoolbar_icons_24 div.dhx_toolbar_btn .dhxtoolbar_input { - margin-top: 4px; - margin-bottom: 4px; -} - -.dhx_toolbar_dhx_web.dhxtoolbar_icons_32 { - height: 46px!important; -} - -.dhx_toolbar_dhx_web.dhxtoolbar_icons_32 div.dhx_toolbar_btn, -.dhx_toolbar_dhx_web.dhxtoolbar_icons_32 div.dhx_toolbar_arw { - height: 36px; -} - -.dhx_toolbar_dhx_web.dhxtoolbar_icons_32 div.dhx_toolbar_btn img { - width: 32px; - height: 32px; -} - -.dhx_toolbar_dhx_web.dhxtoolbar_icons_32 div.dhx_toolbar_btn div.dhxtoolbar_text, -.dhx_toolbar_dhx_web.dhxtoolbar_icons_32 div.dhx_toolbar_arw div.arwimg { - height: 32px; - line-height: 31px; -} - -.dhx_toolbar_dhx_web.dhxtoolbar_icons_32 div.dhx_toolbar_text { - padding-top: 10px; - padding-bottom: 10px; -} - -.dhx_toolbar_dhx_web.dhxtoolbar_icons_32 div.dhx_toolbar_sep { - height: 28px; -} - -.dhx_toolbar_dhx_web.dhxtoolbar_icons_32 div.dhxtoolbar_sl_bg_l, -.dhx_toolbar_dhx_web.dhxtoolbar_icons_32 div.dhxtoolbar_sl_bg_m, -.dhx_toolbar_dhx_web.dhxtoolbar_icons_32 div.dhxtoolbar_sl_bg_r { - margin-top: 16px; -} - -.dhx_toolbar_dhx_web.dhxtoolbar_icons_32 div.dhxtoolbar_sl_pen { - top: 12px; -} - -.dhx_toolbar_dhx_web.dhxtoolbar_icons_32 div.dhx_toolbar_btn .dhxtoolbar_input { - margin-top: 8px; - margin-bottom: 8px; -} - -.dhx_toolbar_dhx_web.dhxtoolbar_icons_48 { - height: 62px!important; -} - -.dhx_toolbar_dhx_web.dhxtoolbar_icons_48 div.dhx_toolbar_btn, -.dhx_toolbar_dhx_web.dhxtoolbar_icons_48 div.dhx_toolbar_arw { - height: 52px; -} - -.dhx_toolbar_dhx_web.dhxtoolbar_icons_48 div.dhx_toolbar_btn img { - width: 48px; - height: 48px; -} - -.dhx_toolbar_dhx_web.dhxtoolbar_icons_48 div.dhx_toolbar_btn div.dhxtoolbar_text, -.dhx_toolbar_dhx_web.dhxtoolbar_icons_48 div.dhx_toolbar_arw div.arwimg { - height: 48px; - line-height: 47px; -} - -.dhx_toolbar_dhx_web.dhxtoolbar_icons_48 div.dhx_toolbar_text { - padding-top: 18px; - padding-bottom: 18px; -} - -.dhx_toolbar_dhx_web.dhxtoolbar_icons_48 div.dhx_toolbar_sep { - height: 44px; -} - -.dhx_toolbar_dhx_web.dhxtoolbar_icons_48 div.dhxtoolbar_sl_bg_l, -.dhx_toolbar_dhx_web.dhxtoolbar_icons_48 div.dhxtoolbar_sl_bg_m, -.dhx_toolbar_dhx_web.dhxtoolbar_icons_48 div.dhxtoolbar_sl_bg_r { - margin-top: 24px; -} - -.dhx_toolbar_dhx_web.dhxtoolbar_icons_48 div.dhxtoolbar_sl_pen { - top: 20px; -} - -.dhx_toolbar_dhx_web.dhxtoolbar_icons_48 div.dhx_toolbar_btn .dhxtoolbar_input { - margin-top: 16px; - margin-bottom: 16px; -} - -div.dhx_toolbar_poly_dhx_web { - position: absolute; - border: 1px solid #fff; - box-shadow: 0 0 6px rgba(0, 0, 0, 0.35); - *border: 1px solid #999; - padding: 3px 0; - background-color: #f4f4f4; - overflow: hidden; - cursor: default; - line-height: normal; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} - -div.dhx_toolbar_poly_dhx_web td { - line-height: normal; - font-family: Tahoma; - font-size: 12px; - color: #000; - padding: 0 4px; -} - -div.dhx_toolbar_poly_dhx_web .tr_btn_over td, -div.dhx_toolbar_poly_dhx_web .tr_btn_selected td { - background-color: #85d3ff; -} - -div.dhx_toolbar_poly_dhx_web .tr_btn_disabled td { - color: #999; -} - -div.dhx_toolbar_poly_dhx_web td.td_btn_img { - width: 18px; - text-align: center; -} - -div.dhx_toolbar_poly_dhx_web td.td_btn_img img.btn_sel_img { - width: 18px; - height: 18px; -} - -div.dhx_toolbar_poly_dhx_web td.td_btn_txt div.btn_sel_text { - padding: 0 12px 0 1px; - height: 24px; - line-height: 23px; -} - -div.dhx_toolbar_poly_dhx_web tr.tr_sep td { - padding: 2px 0; -} - -div.dhx_toolbar_poly_dhx_web div.btn_sep { - position: relative; - font-size: 1px; - line-height: 1px; - height: 0; - width: 100%; - border-top: 1px dotted #999; -} - -div.dhx_toolbar_slider_label_dhx_web { - position: absolute; - border: 1px solid white; - box-shadow: 0 0 10px rgba(0, 0, 0, 0.35); - background-color: #f4f4f4; - padding: 5px 8px; - overflow: hidden; - cursor: default; - line-height: normal; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - font-family: Tahoma; - font-size: 12px; - color: #000; -} - -.dhxtoolbar_maxopen_test { - position: absolute; - width: 200px; - height: 50px; - overflow-x: none; - overflow-y: auto; - left: -300px; - top: 100px; - border: 1px solid white; - visibility: hidden; -} - -.dhxtoolbar_maxopen_test2 { - height: 200px; -} - -.dhxeditor_dhx_web { - position: relative; -} - -.dhxeditor_dhx_web iframe.dhxeditor_mainiframe { - position: absolute; - overflow: hidden; - top: 0; - left: 0; - width: 100%; - height: 100%; -} - -.dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_stb { - position: relative; - height: 32px; - background-color: #3da0e3; -} - -.dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button { - float: left; - position: relative; - width: 18px; - height: 18px; - font-size: 2px; - margin-left: 5px; - margin-top: 7px; - cursor: pointer; - background-image: url("imgs/dhxeditor_web/buttons.gif"); -} - -.dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button.btn_bold { - margin-left: 12px; - background-position: 0 0; -} - -.dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button.btn_italic { - background-position: -18px 0; -} - -.dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button.btn_underline { - background-position: -36px 0; -} - -.dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button.btn_clearformat { - background-position: -54px 0; -} - -.dhxeditor_dhx_web div.dhx_cell_editor { - position: absolute; - background-color: white; - margin: 0; - padding: 0; - overflow: hidden; - cursor: default; - z-index: 0; -} - -.dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_cont_editor { - position: absolute; - overflow: hidden; -} - -.dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_toolbar_def { - position: relative; - overflow: hidden; -} - -.dhxwins_vp_dhx_web div.dhx_cell_cont_wins .dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_cont_editor { - border-left: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; - border-bottom: 1px solid #c7c7c7; -} - -.dhxwins_vp_dhx_web div.dhx_cell_cont_wins .dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_toolbar_def { - padding: 0; -} - -div.dhx_popup_dhx_web div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_cont_editor { - border-left: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; - border-bottom: 1px solid #c7c7c7; -} - -.dhxeditor_skin_detect { - position: absolute; - left: 0; - top: -100px; - margin: 0; - padding: 0; - border: 0 solid white; - width: 20px; - height: 10px; - overflow: hidden; -} - -.dhx_tooltip { - display: none; - position: absolute; - font-family: Tahoma; - color: #626262; - font-size: 12px; - z-index: 10000; - padding: 4px 10px 4px 10px; - border: 1px solid #fff; - border-radius: 3px; - -moz-border-radius: 3px; - -webkit-border-radius: 3px; - -moz-box-shadow: 0 0 3px #d9d9d9; - -webkit-box-shadow: 0 0 3px #d9d9d9; - text-shadow: 0 1px 1px #fff; - box-shadow: 0 0 5px #d9d9d9; - background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #efefef), color-stop(0.5, #f6f6f6), color-stop(1, #efefef)); - background: -o-linear-gradient(#efefef 0, #f6f6f6 50%, #efefef 100%); - background: -ms-linear-gradient(#efefef 0, #f6f6f6 50%, #efefef 100%); - background: -moz-linear-gradient(#efefef 0, #f6f6f6 50%, #efefef 100%); - background: #efefef; -} - -.dhx_chart { - position: relative; - font-family: Tahoma; - font-size: 12px; - color: #000; - overflow: hidden; -} - -.dhx_chart canvas { - position: absolute; - left: 0; - top: 0; -} - -.dhx_canvas_text { - position: absolute; - text-align: center; - overflow: hidden; - white-space: nowrap; - z-index: 1000; -} - -.dhx_map_img { - width: 100%; - height: 100%; - position: absolute; - top: 0; - left: 0; - border: 0; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=0); - opacity: 0; -} - -.dhx_axis_item_y { - position: absolute; - height: 18px; - line-height: 18px; - margin-top: -4px; - text-align: right; -} - -.dhx_axis_title_x { - text-align: center; -} - -.dhx_axis_title_y { - text-align: center; - font-family: Tahoma; - -webkit-transform: rotate(-90deg); - -moz-transform: rotate(-90deg); - -o-transform: rotate(-90deg); - -ms-transform: rotate(-90deg); - transform: rotate(-90deg); - height: 18px; - line-height: 18px; - font-size: 12px; -} - -.dhx_ie_filter { - filter: progid: DXImageTransform.Microsoft.BasicImage(rotation=3); - zoom: 1; - font-family: serif; -} - -.dhx_chart_legend { - position: absolute; - z-index: 1000; -} - -.dhx_chart_legend_item { - height: 18px; - line-height: 18px; - padding: 2px; - cursor: pointer; -} - -.dhx_chart_legend_item.hidden { - color: #aaa; -} - -.dhx_axis_item_y.dhx_radar { - color: #666; - font-size: 12px; - padding-right: 3px; - height: 13px; - line-height: 13px; - margin-top: 0; -} - -.dhx_canvas_text.dhx_axis_radar_title { - margin-top: 0; - padding-top: 0; -} - -.dhx_axis_item_y, -.dhx_axis_item_x { - color: #666; -} - -.dhx_axis_item_x { - padding-top: 2px; -} - -.dhx_tooltip { - display: none; - position: absolute; - font-family: Tahoma; - color: #626262; - font-size: 12px; - z-index: 10000; - padding: 4px 10px 4px 10px; - border: 1px solid #fff; - border-radius: 3px; - -moz-border-radius: 3px; - -webkit-border-radius: 3px; - -moz-box-shadow: 0 0 3px #d9d9d9; - -webkit-box-shadow: 0 0 3px #d9d9d9; - text-shadow: 0 1px 1px #fff; - box-shadow: 0 0 5px #d9d9d9; - background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #efefef), color-stop(0.5, #f6f6f6), color-stop(1, #efefef)); - background: -o-linear-gradient(#efefef 0, #f6f6f6 50%, #efefef 100%); - background: -ms-linear-gradient(#efefef 0, #f6f6f6 50%, #efefef 100%); - background: -moz-linear-gradient(#efefef 0, #f6f6f6 50%, #efefef 100%); - background: #efefef; -} - -.dhx_noselect { - -moz-user-select: none; - -moz-user-select: -moz-none; - -khtml-user-select: none; -} - -.dhx_allow_selection { - -moz-user-select: text; - -user-select: text; -} - -.dhx_dataview { - overflow-y: auto; - -webkit-overflow-scrolling: touch; - overflow-x: hidden; - -moz-user-select: none; - -moz-user-select: -moz-none; - -khtml-select: none; -} - -.dhx_drag_zone { - position: absolute; - border: 1px solid #A4BED4; - z-index: 8000; - -moz-box-shadow: 5px 5px 5px #888; - -khtml-box-shadow: 5px 5px 5px #888; -} - -.dhx_dataview_default_item, -.dhx_dataview_default_item_selected { - cursor: pointer; - background-color: #fff; -} - -.dhx_dataview .dhx_dataview_default_item, -.dhx_dataview .dhx_dataview_default_item_selected { - border-right: 1px solid #c7c7c7; - border-bottom: 1px dotted #c7c7c7; -} - -.dhx_dataview_default_item_selected { - background-color: #85d3ff; - color: #85d3ff; - border-color: #85d3ff; - background-repeat: repeat-x; -} - -.dhx_dataview_item { - font-family: Tahoma; - font-size: 12px; - color: #000; -} - -.dhx_dataview_item .dhx_strong { - font-weight: bold; - display: block; - padding-bottom: 6px; -} - -.dhx_dataview_default_item_selected .dhx_light { - color: #C3C3C3; -} - -.dhx_dataview_item .dhx_light { - color: #919191; -} - -.dhx_drag_over { - background-color: #faf768; - background-image: url("imgs/dhxdataview_web/marker.png"); - background-repeat: repeat-x; -} - -.dhx_pager_item, -.dhx_pager_item_selected { - float: left; - text-align: center; - height: 16px; - font-family: Tahoma; - font-size: 10pt; - border: 1px solid gray; - padding: 2px 4px; - margin-left: 5px; - cursor: pointer; - background-color: white; -} - -.dhx_pager_item_selected { - background-color: lightgrey; - color: white; - cursor: default; - font-weight: bold; -} - -.defaultTreeTable { - margin: 0; - padding: 0; - border: 0; -} - -.containerTableStyle { - overflow: auto; - -webkit-overflow-scrolling: touch; - position: relative; - top: 0; - font-size: 12px; - -khtml-user-select: none; -} - -.containerTableStyleRTL span { - direction: rtl; - unicode-bidi: bidi-override; -} - -.containerTableStyleRTL { - direction: rtl; - overflow: auto; - position: relative; - top: 0; - font-size: 12px; -} - -.standartTreeRow { - font-family: Tahoma; - font-size: 12px; - -moz-user-select: none; -} - -.selectedTreeRow { - background-color: navy; - color: white; - font-family: Tahoma; - font-size: 12px; - -moz-user-select: none; -} - -.dragAndDropRow { - background-color: navy; - color: white; -} - -.standartTreeRow_lor { - text-decoration: underline; - background-color: #fff; - font-family: Tahoma; - font-size: 12px; - -moz-user-select: none; -} - -.selectedTreeRow_lor { - text-decoration: underline; - background-color: navy; - color: white; - font-family: Tahoma; - font-size: 12px; - -moz-user-select: none; -} - -.standartTreeImage { - width: 18px; - height: 18px; - overflow: hidden; - border: 0; - padding: 0; - margin: 0; - font-size: 1px; -} - -.hiddenRow { - width: 1px; - overflow: hidden; -} - -.dragSpanDiv, -.dragSpanDiv td { - font-size: 12px; - background-color: #fff; - z-index: 999; -} - -.a_dhx_hidden_input { - position: absolute; - top: -1px; - left: -1px; - width: 1px; - height: 1px; - border: none; - background: none; -} - -.a_dhx_hidden_input { - position: absolute; - top: -1px; - left: -1px; - width: 1px; - height: 1px; - border: none; - background: none; -} - -.selectionBox { - background-color: #FFC; -} - -.selectionBar { - top: 0; - background-color: black; - position: absolute; - overflow: hidden; - height: 2px; - z-index: 11; -} - -.intreeeditRow { - font-size: 8pt; - height: 16px; - border: 1px solid silver; - padding: 0; - margin: 0; - margin-left: 4px; - -moz-user-select: text; - -khtml-user-select: text; -} - -.dhx_tree_textSign { - font-size: 8pt; - font-family: monospace; - width: 21px; - color: #000; - padding: 0; - margin: 0; - cursor: pointer; - text-align: center; -} - -.dhx_tree_opacity { - opacity: 0; - -moz-opacity: 0; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=0); - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; -} - -.dhx_bg_img_fix { - width: 18px; - height: 18px; - background-repeat: no-repeat; - background-position: center; - background-position-x: center; - background-position-y: center; -} - -.dhxtree_dhx_black, -.dhxtree_dhx_skyblue { - background: #fff; - color: #000; -} - -*html .dhxtree_dhx_skyblue .standartTreeRow, -*html .dhxtree_dhx_skyblue .standartTreeRow_lor { - border-right: 0 solid red; - border-left: 0 solid red; -} - -*html .dhxtree_dhx_skyblue span.standartTreeRow, -*html .dhxtree_dhx_skyblue span.standartTreeRow_lor { - margin-left: 1px; -} - -.dhxtree_dhx_skyblue .standartTreeRow, -.dhxtree_dhx_skyblue .standartTreeRow_lor { - border-right: 1px solid transparent; - border-left: 1px solid transparent; - font-family: Tahoma; - font-size: 12px; - overflow: hidden; - padding: 0; -} - -.dhxtree_dhx_skyblue .selectedTreeRow_lor, -.dhxtree_dhx_skyblue .selectedTreeRow { - background-color: #85d3ff; - background-repeat: repeat-x; - border: 1px solid #85d3ff; - color: #000; - line-height: 17px; - font-family: Tahoma; - font-size: 12px; - overflow: hidden; -} - -html>body .dhxtree_dhx_skyblue .selectedTreeRow, -html>body .dhxtree_dhx_skyblue .selectedTreeRow_lor { - padding: 1px 0 1px 0; - line-height: normal; - *display: inline-block; - height: 13px; -} - -body:nth-of-type(1) .dhxtree_dhx_skyblue span.selectedTreeRow, -body:nth-of-type(1) .dhxtree_dhx_skyblue span.selectedTreeRow_lor { - padding: 1px 0 1px 0; - padding-top: 0; - box-sizing: border-box; - line-height: 12px; - height: 13px; -} - -.dhxtree_dhx_web .selectedTreeRow_lor, -.dhxtree_dhx_web .selectedTreeRow { - background-color: transparent; -} - -.dhxtree_dhx_web span.selectedTreeRow_lor, -.dhxtree_dhx_web span.selectedTreeRow { - background-color: #85d3ff; - color: #000; -} - -.dhxtree_dhx_web td.standartTreeRow, -.dhxtree_dhx_web td.selectedTreeRow { - padding-left: 2px; -} - -.dhxtree_dhx_web span.standartTreeRow, -.dhxtree_dhx_web span.selectedTreeRow { - padding-left: 3px!important; -} - -.dhxtree_dhx_web .standartTreeRow, -.dhxtree_dhx_web .standartTreeRow, -.dhxtree_dhx_web .selectedTreeRow_lor, -.dhxtree_dhx_web .selectedTreeRow { - font-family: Tahoma; - font-size: 12px; - overflow: hidden; -} - -.dhxtree_dhx_terrace .standartTreeRow, -.dhxtree_dhx_terrace .standartTreeRow, -.dhxtree_dhx_terrace .selectedTreeRow_lor, -.dhxtree_dhx_terrace .selectedTreeRow { - font-family: Tahoma; - font-size: 12px; - padding: 3px 1px 4px 2px; -} - -.dhxtree_dhx_terrace .standartTreeImage { - padding-left: 3px; -} - -.dhxtree_dhx_terrace .selectedTreeRow_lor, -.dhxtree_dhx_terrace .selectedTreeRow { - background-color: transparent; -} - -.dhxtree_dhx_terrace span.selectedTreeRow_lor, -.dhxtree_dhx_terrace span.selectedTreeRow { - background-color: #85d3ff; - color: #000; -} - -div.gridbox { - overflow: hidden; - text-align: left; -} - -.dhx_sub_row { - background-color: #fff; -} - -div.gridbox .xhdr { - background-color: #D4D0C8; -} - -div.gridbox table.obj { - height: 1px; -} - -div.gridbox table.hdr td { - line-height: normal; - font-family: arial; - font-size: 12px; - background-color: #D4D0C8; - border: 1px solid; - border-color: #fff Gray Gray #fff; - text-align: center; - margin: 0; - padding: 5px 0 5px 0; - font-weight: normal; - -moz-user-select: none; - -moz-user-select: -moz-none; - overflow: hidden; - empty-cells: show; -} - -div.gridbox table.hdr td div.hdrcell { - overflow: hidden; -} - -div.gridbox table.obj td { - border: 1px solid; - border-color: #fff Gray Gray #fff; - font-family: Arial; - font-size: 12px; - -moz-user-select: none; - -moz-user-select: -moz-none; - overflow: hidden; - padding-top: 0; - padding-bottom: 0; - empty-cells: show; -} - -div.gridbox table.obj th, -div.gridbox table.hdr th { - padding: 0; - margin: 0; -} - -div.gridbox table.row20px tr td { - height: 20px; - white-space: nowrap; - padding: 0; -} - -div.gridbox .objbox { - background-color: #fff; - position: relative; - -webkit-overflow-scrolling: touch; -} - -div.gridbox table.obj td span.space, -div.gridbox table.obj td img.space { - width: 18px; -} - -div.gridbox table.obj tr.rowselected td.cellselected, -div.gridbox table.obj td.cellselected { - background-color: #d8d8d8; - color: black; -} - -div.gridbox table.obj tr.rowselected td { - background-color: #e1e0d7; - color: black; -} - -div.gridbox table.obj td.editable { - -moz-user-select: text; -} - -div.gridbox table.obj td.group_row { - vertical-align: middle; - font-family: Tahoma; - font-size: 12px; - color: #000; - font-weight: bold; - height: 30px; - border: 0; - border-bottom: 2px solid navy; -} - -.dragSpanDiv { - font-family: Tahoma; - font-size: 12px; - color: #000; - border: 1px gray solid; - background-color: white; - z-index: 999; -} - -.dhx_combo_select { - font-family: Tahoma; - font-size: 12px; - color: #000; - border: 1px solid; - border-color: black silver silver black; - background-color: #fff; - overflow: hidden; - cursor: default; - position: absolute; - height: auto; - z-index: 600; -} - -.dhx_combo_edit { - width: 100%; - border: 0; - padding: 0; - padding-right: 1px!ie; - margin: 0; - font-family: Tahoma; - font-size: 12px; - color: #000; - overflow: hidden; -} - -.dhx_textarea { - border: 1px solid; - border-color: black silver silver black; - position: absolute; - height: 100px; - z-index: 600; -} - -.dhx_clist { - background-color: white; - border: 1px solid black; - padding: 2px 2px 2px 2px; - z-index: 300; -} - -.gridDragLine { - position: absolute; - top: 10px; - left: 0; - width: 100%; - height: 2px; - background-color: black; - overflow: hidden; -} - -div.pagingBlock { - font-family: Tahoma; - font-size: 12px; - color: #000; -} - -div.pagingBlock .pagingCurrentPage { - font-weight: bold; - cursor: default; -} - -div.pagingBlock .pagingPage { - cursor: pointer; - text-decoration: underline; -} - -span.recordsInfoBlock { - font-family: Tahoma; - font-size: 12px; - color: #000; -} - -div.pagingBlock a { - text-decoration: none; - padding-right: 2px; - color: black; - cursor: pointer; -} - -div.pagingBlock a.dhx_not_active { - text-decoration: none; - cursor: default; -} - -.toolbar_select { - font-size: 10px; -} - -.dhtmlxGrid_selection { - -moz-opacity: .5; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=50); - background-color: yellow; - opacity: .5; - border: 1px dotted black; -} - -div.gridbox div.ftr { - position: absolute; - left: 0; - bottom: 1px; - width: 100%; - overflow: hidden; -} - -div.gridbox div.ftr td { - padding: 0; - padding-left: 10px; - padding-right: 5px; - border-top: 1px solid gray; - border-right: 1px solid gray; - background-color: #ffc; - font-style: italic; - font-family: Tahoma; - font-size: 12px; - color: #000; - overflow: hidden; -} - -div.gridbox table.hdr td.columnTargetR div.hdrcell { - border-right: 3px double #F60; - border-left: 3px solid #D4D0C8; -} - -div.gridbox table.hdr td.columnTargetL div.hdrcell { - border-right: 3px solid #D4D0C8; - border-left: 3px double #F60; -} - -.dhx_dragColDiv { - font-family: Tahoma; - font-size: 12px; - color: #000; - background-color: #D4D0C8; - border: 1px solid; - border-color: white Gray Gray white; - text-align: center; - margin: 0; - padding: 5px 20px 5px 20px; - font-weight: normal; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=75); - -moz-opacity: .75; - opacity: .75; -} - -.dhtmlx_live_validation_error { - background-color: #FFE0E0!important; -} - -.dhtmlx_validation_error { - border-bottom: 2px solid red!important; -} - -.dhx_header_cmenu { - background-color: #fff; - border: 2px outset silver; - z-index: 2; -} - -.dhx_header_cmenu_item { - white-space: nowrap; -} - -div.gridbox td.filter input, -div.gridbox td.filter select { - width: 90%; - font-family: Tahoma; - font-size: 12px; - color: #000; - -moz-user-select: text; -} - -div.gridbox_dhx_web.gridbox .xhdr { - background-color: #f4f4f4; - border-bottom: 2px solid #53abe6; -} - -div.gridbox_dhx_web.gridbox table.hdr tr { - background-color: #f4f4f4; -} - -div.gridbox_dhx_web.grid table.obj { - font-family: Tahoma; - font-size: 12px; - color: #000; -} - -div.gridbox_dhx_web.gridbox table.obj tr td { - border-width: 0; - padding-right: 4px; - padding-left: 4px; -} - -div.gridbox_dhx_web.gridbox table.hdr td div.hdrcell { - width: auto; - padding-left: 10px; - width: 100%!ie; -} - -div.gridbox_dhx_web.gridbox table.hdr td { - border-width: 0 1px 0 0; - border-top: 1px solid #dbdbdb; - border-right-color: #dbdbdb; - padding: 7px 0 8px 0; - background-color: #f4f4f4; - font-family: Tahoma; - font-size: 12px; - color: #000; - vertical-align: top; - text-align: left; -} - -div.gridbox_dhx_web.gridbox table.hdr tr:nth-child(2) td { - border-top: 1px solid #f4f4f4; -} - -div.gridbox_dhx_web.gridbox { - border: 1px solid #c7c7c7; -} - -div.gridbox_dhx_web.gridbox table.obj tr td { - padding-top: 3px; - padding-bottom: 4px; -} - -div.gridbox_dhx_web.gridbox table.obj.row20px tr td { - padding-top: 0; - padding-bottom: 0; - height: 29px; - line-height: 29px; - border-bottom: 1px solid #ededed; - border-right: 1px solid #ededed; -} - -div.gridbox_dhx_web.gridbox table.obj.row20px tr td:last-child { - border-right: 1px solid #fff; -} - -div.gridbox_dhx_web.gridbox table.obj tr td.editable { - padding: 0; -} - -div.gridbox_dhx_web.gridbox table.obj tr td.editable div.treegrid_cell { - padding: 1px 4px; -} - -div.gridbox_dhx_web.gridbox table.obj tr.rowselected { - background-color: #85d3ff; - color: #000; -} - -div.gridbox_dhx_web.gridbox table.obj tr.rowselected td { - background-color: #85d3ff; - color: #000; -} - -div.gridbox_dhx_web.gridbox table.obj.row20px tr.rowselected td { - background-color: #85d3ff; - border-right-color: #85d3ff; - color: #000; -} - -div.gridbox_dhx_web.gridbox table.obj tr.rowselected td.cellselected { - background-color: #85d3ff; - color: #000; -} - -div.gridbox_dhx_web.gridbox .odd_dhx_web { - background-color: #f9f9f9; - color: #000; -} - -.dhx_combo_select, -.gridbox_dhx_web.gridbox .dhx_combo_edit, -.gridbox_dhx_web.gridbox .dhx_textarea { - font-family: Tahoma; - font-size: 12px; - color: #000; -} - -.gridbox_dhx_web.gridbox .dhx_combo_edit { - padding: 1px 0 0 1px; -} - -.gridbox_dhx_web.gridbox .dhx_sub_row { - background-color: transparent; -} - -.dhx_header_cmenu { - background-color: #fff; - border: 2px outset silver; - z-index: 2; -} - -.dhx_header_cmenu_item { - white-space: nowrap; -} - -.dhx_pbox { - margin-top: 3px; - border: 1px solid #D4D0C8; - border-top: 0; - font-size: 10px; -} - -.dhx_pline { - background-color: white; - margin: -15px 10px 10px 10px; - padding: 0 5px 0 5px; - float: left; -} - -.dhx_page, -.dhx_pager_info { - margin: 3px; - text-align: center; - font-family: Tahoma; - font-size: 12px; - color: #000; - float: left; - cursor: pointer; - color: black; - background-color: gray; - padding: 1px; -} - -.dhx_pager_info { - white-space: nowrap; - background-color: white; - margin: -8px 10px 10px 10px; - padding: 0 5px 0 5px; - cursor: default; -} - -.dhx_page div { - background-color: white; - width: 16px; - height: 17px; - vertical-align: middle; -} - -div.dhx_page_active { - font-weight: bold; - background-color: lightgrey; - cursor: default; - color: white; -} - -.dhx_pbox_modern { - margin-top: 3px; - border: 1px solid #D6D6D6; - border-top: 0; - font-size: 10px; -} - -.dhx_pline_modern { - background-color: white; - margin: -15px 10px 10px 10px; - padding: 0 5px 0 5px; - float: left; -} - -.dhx_page_modern, -.dhx_pager_info_modern { - margin: 3px; - text-align: center; - font-family: Tahoma; - font-size: 12px; - color: #000; - float: left; - cursor: pointer; - color: #055A78; - background-color: #D6D6D6; - padding: 1px; -} - -.dhx_pager_info_modern { - white-space: nowrap; - background-color: white; - margin: -8px 10px 10px 10px; - padding: 0 5px 0 5px; - cursor: default; -} - -.dhx_page_modern div { - background-color: white; - width: 16px; - height: 17px; - vertical-align: middle; -} - -div.dhx_page_active_modern { - font-weight: bold; - background-color: #055A78; - cursor: default; - color: white; -} - -.dhx_pbox_light { - margin-top: 3px; - border: 1px solid #C2D5DC; - border-top: 0; - font-size: 10px; -} - -.dhx_pline_light { - background-color: white; - margin: -15px 10px 10px 10px; - padding: 0 5px 0 5px; - float: left; -} - -.dhx_page_light, -.dhx_pager_info_light { - margin: 3px; - text-align: center; - font-family: Tahoma; - font-size: 12px; - color: #000; - float: left; - cursor: pointer; - color: #055A78; - background-color: #93AFBA; - padding: 1px; -} - -.dhx_pager_info_light { - white-space: nowrap; - background-color: white; - margin: -8px 10px 10px 10px; - padding: 0 5px 0 5px; - cursor: default; -} - -.dhx_page_light div { - background-color: white; - width: 16px; - height: 17px; - vertical-align: middle; -} - -div.dhx_page_active_light { - font-weight: bold; - background-color: #D1DFE3; - cursor: default; - color: white; -} - -.calcTable { - width: 100px; - background-color: silver; - border: 1px black solid; -} - -.calcButton { - height: 20px; - cursor: pointer; - text-align: center; - background-color: gray; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid silver; - border-right: 1px solid silver; -} - -.calcPressed { - height: 20px; - cursor: pointer; - text-align: center; - background-color: gray; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid black; - border-right: 1px solid black; -} - -.calcInput { - background-color: white; - font-size: 10px; - font-weight: bold; - font-family: tahoma, arial; -} - -.calkSubmit { - padding: 2px; - cursor: pointer; - text-align: center; - background-color: silver; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid white; - border-right: 1px solid white; -} - -.calcTable { - width: 100px; - background-color: silver; - border: 1px black solid; -} - -.calcButton { - height: 20px; - cursor: pointer; - text-align: center; - background-color: gray; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid silver; - border-right: 1px solid silver; -} - -.calcPressed { - height: 20px; - cursor: pointer; - text-align: center; - background-color: gray; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid black; - border-right: 1px solid black; -} - -.calcInput { - background-color: white; - font-size: 10px; - font-weight: bold; - font-family: tahoma, arial; -} - -.calkSubmit { - padding: 2px; - cursor: pointer; - text-align: center; - background-color: silver; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid white; - border-right: 1px solid white; -} - -.dhxgrid_sort_desc, -.dhxgrid_sort_asc { - width: 9px; - height: 8px; - background-image: url("imgs/dhxgrid_web/sort_desc.gif"); - background-repeat: no-repeat; -} - -.dhxgrid_sort_asc { - background-image: url("imgs/dhxgrid_web/sort_asc.gif"); - background-repeat: no-repeat; -} - -.dhxform_obj_dhx_web { - font-family: Tahoma; - font-size: 12px; - color: #000; - float: left; - line-height: normal; -} - -.dhxform_obj_dhx_web div.dhxform_base { - position: relative; - float: left; - margin: 0!important; -} - -.dhxform_obj_dhx_web div.dhxform_base_nested { - padding: 0; - clear: both; - *display: inline-block; -} - -.dhxform_obj_dhx_web.dhxform_block { - clear: both; -} - -.dhxform_obj_dhx_web div.block_dhxform_item_label_left { - display: block; - clear: both; - *clear: none; -} - -.dhxform_obj_dhx_web div.dhxform_label div.dhxform_label_nav_link, -.dhxform_obj_dhx_web div.dhxform_label div.dhxform_label_nav_link:visited, -.dhxform_obj_dhx_web div.dhxform_label div.dhxform_label_nav_link:active, -.dhxform_obj_dhx_web div.dhxform_label div.dhxform_label_nav_link:hover { - outline: none; - text-decoration: none; - color: inherit; - cursor: default; - overflow: hidden; - white-space: nowrap; -} - -.dhxform_obj_dhx_web div.dhxform_label div.dhxform_label_nav_link:focus { - color: #0096eb; -} - -.dhxform_obj_dhx_web div.disabled span.nav_link { - color: inherit; -} - -.dhxform_obj_dhx_web div.dhxform_img, -.dhxform_obj_dhx_web div.dhxform_actv_c, -.dhxform_obj_dhx_web div.dhxform_actv_r { - width: 18px; - height: 18px; - font-size: 1px; -} - -.dhxform_obj_dhx_web div.dhxform_img.chbx0, -.dhxform_obj_dhx_web div.dhxform_img.chbx1, -.dhxform_obj_dhx_web div.disabled div.dhxform_img.chbx0, -.dhxform_obj_dhx_web div.disabled div.dhxform_img.chbx1, -.dhxform_obj_dhx_web div.dhxform_img.rdbt0, -.dhxform_obj_dhx_web div.dhxform_img.rdbt1, -.dhxform_obj_dhx_web div.disabled div.dhxform_img.rdbt0, -.dhxform_obj_dhx_web div.disabled div.dhxform_img.rdbt1, -.dhxform_obj_dhx_web div.dhxform_actv_c.chbx0, -.dhxform_obj_dhx_web div.dhxform_actv_c.chbx1, -.dhxform_obj_dhx_web div.dhxform_actv_r.rdbt0, -.dhxform_obj_dhx_web div.dhxform_actv_r.rdbt1 { - background-image: url("imgs/dhxform_web/dhxform_chbxrd.gif"); - background-repeat: no-repeat; -} - -.dhxform_obj_dhx_web div.dhxform_img.chbx0 { - background-position: -18px 0; -} - -.dhxform_obj_dhx_web div.dhxform_img.chbx1 { - background-position: 0 0; -} - -.dhxform_obj_dhx_web div.disabled div.dhxform_img.chbx0 { - background-position: -54px 0; -} - -.dhxform_obj_dhx_web div.disabled div.dhxform_img.chbx1 { - background-position: -36px 0; -} - -.dhxform_obj_dhx_web div.dhxform_img.rdbt0 { - background-position: -90px 0; -} - -.dhxform_obj_dhx_web div.dhxform_img.rdbt1 { - background-position: -72px 0; -} - -.dhxform_obj_dhx_web div.disabled div.dhxform_img.rdbt0 { - background-position: -126px 0; -} - -.dhxform_obj_dhx_web div.disabled div.dhxform_img.rdbt1 { - background-position: -108px 0; -} - -.dhxform_obj_dhx_web div.dhxform_actv_c.chbx0 { - background-position: -162px 0; -} - -.dhxform_obj_dhx_web div.dhxform_actv_c.chbx1 { - background-position: -144px 0; -} - -.dhxform_obj_dhx_web div.dhxform_actv_r.rdbt0 { - background-position: -198px 0; -} - -.dhxform_obj_dhx_web div.dhxform_actv_r.rdbt1 { - background-position: -180px 0; -} - -.dhxform_obj_dhx_web div.dhxform_label { - font-family: Tahoma; - font-size: inherit; - color: #000; - overflow-x: hidden; - overflow: hidden; - white-space: nowrap; -} - -.dhxform_obj_dhx_web div.dhxform_label.dhxform_label_align_left { - text-align: left; -} - -.dhxform_obj_dhx_web div.dhxform_label.dhxform_label_align_center { - text-align: center; -} - -.dhxform_obj_dhx_web div.dhxform_label.dhxform_label_align_right { - text-align: right; -} - -.dhxform_obj_dhx_web div.disabled div.dhxform_label, -.dhxform_obj_dhx_web div.disabled div.dhxform_label div.dhxform_label_nav_link, -.dhxform_obj_dhx_web div.disabled div.dhxform_label span.dhxform_item_required { - color: #999; -} - -.dhxform_obj_dhx_web div.dhxform_label span.dhxform_item_required { - margin-left: 5px; - color: red; -} - -.dhxform_obj_dhx_web input.dhxform_textarea, -.dhxform_obj_dhx_web textarea.dhxform_textarea { - padding: 4px 4px!important; - margin: 0; - font-size: 1em; -} - -.dhxform_obj_dhx_web .dhxform_textarea { - border: 1px solid #d6d6d6; - font-family: Tahoma; - font-size: 1em; - color: black; - resize: none; -} - -.dhxform_obj_dhx_web div.disabled .dhxform_textarea { - color: #999; - background-color: #fff; - border: 1px solid #fff; -} - -.dhxform_obj_dhx_web div.dhxform_control.dhxform_img_node { - position: relative; -} - -.dhxform_obj_dhx_web div.dhxform_control.dhxform_img_node .dhxform_textarea { - border: 1px solid white; - background-color: white; - color: white; - visibility: hidden; - *height: 1px; - *line-height: 1px; - *display: inline; -} - -.dhxform_obj_dhx_web div.dhxform_control.dhxform_img_node div.dhxform_img, -.dhxform_obj_dhx_web div.dhxform_control.dhxform_img_node div.dhxform_actv_c, -.dhxform_obj_dhx_web div.dhxform_control.dhxform_img_node div.dhxform_actv_r { - float: none; - top: 2px; - left: 0; - position: absolute; - margin: 0; -} - -.dhxform_obj_dhx_web div.dhxform_item_label_left div.dhxform_control.dhxform_img_node { - margin-left: 2px; -} - -.dhxform_obj_dhx_web div.dhxform_item_label_right div.dhxform_control.dhxform_img_node { - margin-right: 0; -} - -.dhxform_obj_dhx_web .dhxform_select { - border: 1px solid #d6d6d6; - background-color: #fff; - font-family: Tahoma; - font-size: 1em; - color: black; - margin: 0; - padding: 3px 0; -} - -.dhxform_obj_dhx_web .dhxform_select option { - padding-left: 2px; -} - -.dhxform_obj_dhx_web div.disabled .dhxform_select { - color: #999; - background-color: #fff; - border: 1px solid #fff; -} - -.dhxform_obj_dhx_web div.fs_dhxform_item_label_left { - padding: 5px 0 5px 0; -} - -.dhxform_obj_dhx_web div.fs_dhxform_item_label_left fieldset.dhxform_fs div.dhxform_base_nested.dhxform_fs_nested { - margin-right: 19px; - margin-left: 5px; -} - -.dhxform_obj_dhx_web fieldset.dhxform_fs { - border: 1px solid #d6d6d6; - margin: 0; - padding: 5px 0 15px 0; - clear: left; - width: 100%; -} - -.dhxform_obj_dhx_web div.disabled fieldset.dhxform_fs { - border: 1px solid #fff; -} - -.dhxform_obj_dhx_web fieldset.dhxform_fs legend.fs_legend { - font-family: Tahoma; - font-size: inherit; - color: #484848; - font-weight: normal; - padding: 0 4px 1px 4px; - margin-left: 5px; - text-align: left; -} - -.dhxform_obj_dhx_web div.disabled fieldset.dhxform_fs legend.fs_legend { - color: #999; -} - -.dhxform_obj_dhx_web div.dhxform_item_label_right { - clear: both; - padding-top: 6px; - cursor: default; - *float: left; - *display: inline-block; -} - -.dhxform_obj_dhx_web div.dhxform_item_label_right div.dhxform_img, -.dhxform_obj_dhx_web div.dhxform_item_label_right div.dhxform_actv_c, -.dhxform_obj_dhx_web div.dhxform_item_label_right div.dhxform_actv_r { - float: left; - margin: 0; -} - -.dhxform_obj_dhx_web div.dhxform_item_label_right div.dhxform_label { - float: left; - padding: 2px 0 2px 0; - margin: 2px 0 2px 0; -} - -.dhxform_obj_dhx_web div.dhxform_item_label_right div.dhxform_control { - float: left; - margin-right: 3px; -} - -.dhxform_obj_dhx_web div.dhxform_item_label_left { - clear: both; - padding-top: 6px; - cursor: default; - *float: left; - *display: inline-block; -} - -.dhxform_obj_dhx_web div.dhxform_item_label_left div.dhxform_img, -.dhxform_obj_dhx_web div.dhxform_item_label_left div.dhxform_actv_c, -.dhxform_obj_dhx_web div.dhxform_item_label_left div.dhxform_actv_r { - float: right; - margin: 0; -} - -.dhxform_obj_dhx_web div.dhxform_item_label_left div.dhxform_label { - float: left; - padding: 1px 0 1px 0; - margin: 2px 0 2px 0; -} - -.dhxform_obj_dhx_web div.dhxform_item_label_left div.dhxform_control { - float: left; - margin-left: 3px; -} - -.dhxform_obj_dhx_web div.dhxform_item_label_top { - clear: both; -} - -.dhxform_obj_dhx_web div.dhxform_item_label_top div.dhxform_label { - float: none; - margin-bottom: 5px; - margin-top: 8px; -} - -.dhxform_obj_dhx_web div.dhxform_item_label_top div.dhxform_control { - float: none; - margin-left: 0; - margin-bottom: 5px; -} - -.dhxform_obj_dhx_web div.dhxform_item_absolute { - position: absolute; - left: 0; - top: 0; - cursor: default; -} - -.dhxform_obj_dhx_web div.item_absolute div.dhxform_img, -.dhxform_obj_dhx_web div.item_absolute div.dhxform_actv_c, -.dhxform_obj_dhx_web div.item_absolute div.dhxform_actv_r { - position: absolute; -} - -.dhxform_obj_dhx_web div.dhxform_item_absolute div.dhxform_control, -.dhxform_obj_dhx_web div.dhxform_item_absolute div.dhxform_label, -.dhxform_obj_dhx_web div.dhxform_item_absolute div.dhxform_control.dhxform_img_node, -.dhxform_obj_dhx_web div.dhxform_item_absolute div.dhxform_txt_label2, -.dhxform_obj_dhx_web div.dhxform_item_absolute div.dhxform_btn, -.dhxform_obj_dhx_web div.block_item_absolute div.dhxform_block { - position: absolute; -} - -.dhxform_obj_dhx_web div.dhxform_txt_label2 { - font-family: Tahoma; - font-size: inherit; - color: #484848; - font-weight: bold; - margin: 0 3px; - padding: 5px 0; - cursor: default; -} - -.dhxform_obj_dhx_web div.disabled div.dhxform_txt_label2 { - color: #333; -} - -.dhxform_obj_dhx_web div.dhxform_btn { - font-family: Tahoma; - font-size: inherit; - color: #fff; - margin: 1px 2px; - background-color: #3da0e3; - float: left; - cursor: default; - clear: both; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxform_obj_dhx_web.dhxform_rtl div.dhxform_btn { - float: right; -} - -.dhxform_obj_dhx_web div.dhxform_btn.dhxform_btn_over { - background-color: #2a8ed2; -} - -.dhxform_obj_dhx_web div.dhxform_btn.dhxform_btn_pressed { - background-color: #2589ce; -} - -.dhxform_obj_dhx_web div.disabled div.dhxform_btn { - background-color: #fff; -} - -.dhxform_obj_dhx_web div.dhxform_btn div.dhxform_btn_txt { - float: left; - margin: 0 17px; - height: 24px; - line-height: 23px; - text-align: center; - vertical-align: middle; - overflow: hidden; - white-space: nowrap; - *display: inline; -} - -.dhxform_obj_dhx_web div.disabled div.dhxform_btn div.dhxform_btn_txt { - color: #999!important; -} - -.dhxform_obj_dhx_web div.dhxform_btn:focus { - outline: 1px dotted #000; -} - -.dhxform_obj_dhx_web div.dhxform_control div.dhxform_note { - font-family: Tahoma; - font-size: .8em; - color: gray; - padding-bottom: 3px; - white-space: normal; -} - -.dhxform_obj_dhx_web div.disabled div.dhxform_control div.dhxform_note { - color: #999; -} - -.dhxform_obj_dhx_web div.dhxform_label span.dhxform_info { - font-family: Tahoma; - font-size: .6em; - color: gray; - margin-left: 3px; - padding-bottom: 2px; - line-height: 100%; - vertical-align: middle; - cursor: pointer; -} - -.dhxform_obj_dhx_web .validate_error .dhxform_label, -.dhxform_obj_dhx_web .validate_error .dhxform_textarea, -.dhxform_obj_dhx_web .validate_error .dhxform_select, -.dhxform_obj_dhx_web .validate_error div.dhxform_label_nav_link, -.dhxform_obj_dhx_web .validate_error div.dhxform_label div.dhxform_label_nav_link:focus { - color: red; -} - -.dhxform_obj_dhx_web div.disabled .dhx_combo_box.dhx_web { - border: 1px solid #fff; -} - -.dhxform_obj_dhx_web div.disabled .dhx_combo_box.dhx_web .dhx_combo_input { - color: #999; - background-color: #fff; -} - -.dhxform_obj_dhx_web div.dhxform_item_template.dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_cont_editor { - border-left: 1px solid #d6d6d6; - border-right: 1px solid #d6d6d6; - border-bottom: 1px solid #d6d6d6; -} - -.dhxform_obj_dhx_web div.dhxform_item_template.dhxeditor_dhx_web div.dhxcont_content_blocker { - display: none; -} - -.dhxform_obj_dhx_web div.disabled div.dhxform_item_template.dhxeditor_dhx_web div.dhxcont_content_blocker { - display: inline; - position: absolute; - width: 100%; - height: 100%; - top: 0; - left: 0; - background-color: white; - opacity: .7; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=70); -} - -.dhtmlx_skin_dhx_web div.dhtmlx_wins_body_inner .dhxform_obj_dhx_web { - background-color: white; -} - -.dhxform_obj_dhx_web div.dhxform_control .dhx_combo_box.dhx_web .dhx_combo_input, -.dhx_combo_list.dhx_web_list div { - font-size: 1em!important; -} - -.dhxform_obj_dhx_web .dhx_file_uploader { - position: relative; - width: 100%; - margin-bottom: 4px; -} - -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls { - position: relative; - width: 100%; - height: 35px; - font-size: 2px; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button { - position: absolute; - width: 19px; - height: 19px; - top: 8px; - background-image: url("imgs/dhxform_web/dhxform_upload_buttons.gif"); - background-repeat: no-repeat; - font-size: 2px; - cursor: pointer; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_info { - display: none; -} - -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_browse { - background-position: 0 0; - right: 108px; -} - -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_upload { - background-position: -19px 0; - right: 79px; -} - -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_cancel { - background-position: -57px 0; - right: 79px; -} - -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_clear { - background-position: -38px 0; - right: 50px; -} - -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls .dhx_uploader_input { - position: absolute; - left: -1000px; - top: 0; - visibility: hidden; -} - -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls div.dhx_file_form_cont { - position: absolute; - width: 19px; - height: 19px; - left: 0; - top: 0; - cursor: pointer; - overflow: hidden; -} - -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls div.dhx_file_form_cont form.dhx_file_form { - position: absolute; - top: 0; - right: 0; - cursor: pointer; -} - -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls div.dhx_file_form_cont form.dhx_file_form .dhx_file_input { - opacity: 0; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=0); - cursor: pointer; - outline: none; - height: 19px; -} - -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files { - position: relative; - width: 100%; - left: 0; - top: 0; - overflow: auto; -} - -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files div.dhx_file { - position: relative; - width: 100%; - height: 25px; - overflow: hidden; -} - -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_added, -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_uploading { - color: #000; -} - -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_uploaded { - color: #646464; -} - -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_fail { - color: #e94a4a; -} - -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files div.dhx_file_param { - position: absolute; - font-family: inherit; - font-size: inherit; - color: inherit; - top: 0; - height: 25px; - line-height: 25px; - vertical-align: middle; - overflow: hidden; -} - -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_name { - left: 20px; -} - -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_progress { - right: 50px; - width: 38px; - text-align: right; -} - -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_delete { - right: 30px; - width: 11px; - background-image: url("imgs/dhxform_web/dhxform_upload_buttons.gif"); - background-position: -76px 0; - background-repeat: no-repeat; - cursor: pointer; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_uploading { - right: 50px; - width: 38px; - text-align: right; - background-image: url("imgs/dhxform_web/dhxform_upload_uploading.gif"); - background-position: center center; - background-repeat: no-repeat; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxform_obj_dhx_web .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls { - height: 60px; -} - -.dhxform_obj_dhx_web .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_files { - display: none; -} - -.dhxform_obj_dhx_web .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_info { - display: inline; - background-image: none; - font-size: 13px; - height: auto; - top: 0; - left: 35px; - color: #a0a0a0; - vertical-align: top; - padding-top: 6px; - line-height: 20px; - cursor: default; -} - -.dhxform_obj_dhx_web .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_browse { - top: 0; - width: 54px; - height: 54px; - right: 35px; - background-image: url("imgs/dhxform_web/dhxform_upload_buttons.gif"); - background-position: 0 -38px; - background-repeat: no-repeat; -} - -.dhxform_obj_dhx_web .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_upload, -.dhxform_obj_dhx_web .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_cancel, -.dhxform_obj_dhx_web .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_clear { - display: none; -} - -.dhxform_obj_dhx_web .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_form_cont { - width: 54px; - height: 54px; -} - -.dhxform_obj_dhx_web .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_form_cont form.dhx_file_form .dhx_file_input { - height: 54px; -} - -.dhxform_obj_dhx_web .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_info, -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_added, -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_uploading, -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_uploaded, -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_fail { - color: #999; -} - -.dhxform_obj_dhx_web .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_browse { - background-position: -54px -38px; - cursor: default; -} - -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_form_cont { - display: none; -} - -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button { - cursor: default; -} - -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_browse { - background-position: 0 -19px; -} - -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_upload { - background-position: -19px -19px; -} - -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_cancel { - background-position: -57px -19px; -} - -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_clear { - background-position: -38px -19px; -} - -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file_param.dhx_file_delete { - background-position: -87px 0; - cursor: default; -} - -div.dhx_form_skin_detect { - position: absolute; - display: block; - visibility: hidden; - left: -100px; - top: 0; - width: 20px; - height: 10px; - margin: 0; - padding: 0; - border: none; - overflow: hidden; -} - -.dhxacc_base_dhx_web { - position: relative; - cursor: default; - overflow: hidden; -} - -.dhxacc_base_dhx_web div.dhx_cell_acc { - position: relative; - background-color: white; - margin: 0; - padding: 0; - overflow: hidden; - cursor: default; - box-shadow: 0 0 3px #e0e0e0; -} - -.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_cont_acc { - position: absolute; - border-left: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; - border-bottom: 1px solid #c7c7c7; - border-top: 0 solid white; - padding: 8px; - overflow: hidden; - z-index: 0; -} - -.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_hdr { - position: relative; - height: 32px; - line-height: 30px; - overflow: hidden; - font-family: Tahoma; - font-size: 12px; - color: #fff; - font-weight: normal; - background-color: #2589ce; - cursor: default; - z-index: 3; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_hdr div.dhx_cell_hdr_text { - position: relative; - margin: 0 26px 0 5px; - overflow: hidden; - white-space: nowrap; - cursor: default; -} - -.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_hdr img.dhx_cell_hdr_icon { - position: absolute; - top: 7px; - left: 6px; - width: 16px; - height: 16px; -} - -.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_icon { - margin-left: 24px; -} - -.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_hdr div.dhx_cell_hdr_arrow { - position: absolute; - top: 8px; - right: 5px; - width: 16px; - height: 16px; - background-image: url("imgs/dhxacc_web/dhxacc_btns.gif"); - background-repeat: no-repeat; - background-position: 0 0; - overflow: hidden; - cursor: pointer; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxacc_base_dhx_web div.dhx_cell_acc.dhx_cell_closed div.dhx_cell_hdr div.dhx_cell_hdr_arrow { - background-position: -16px 0; -} - -.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_cont_acc.dhx_cell_cont_not_last { - border-bottom: 0 solid white; -} - -.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_menu_def { - position: relative; - overflow: hidden; - padding: 9px 9px 0 9px; - border-left: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; -} - -.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_toolbar_def { - padding: 9px 9px 0 9px; - border-left: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; -} - -.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_ribbon_def div.dhtmlxribbon_dhx_web.dhxrb_without_tabbar { - border-top: 0 solid white; - width: auto; -} - -.dhxacc_base_dhx_web div.dhx_cell_acc.acc_cell_dragged { - box-shadow: 0 0 5px 2px #c2c2c2; - z-index: 5!important; -} - -div.dhx_cell_acc div.dhx_cell_progress_bar { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background-color: white; - opacity: .75; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=75); - z-index: 1; -} - -div.dhx_cell_acc div.dhx_cell_progress_img { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background-position: center 55%; - background-image: url("imgs/dhxacc_web/dhxacc_cell_progress.gif"); - background-repeat: no-repeat; - cursor: progress; - z-index: 2; -} - -.dhxacc_skin_detect { - position: absolute; - left: 0; - top: -100px; - margin: 0; - padding: 0; - border: 0 solid white; - width: 20px; - height: 10px; - overflow: hidden; -} - -.dhxlayout_base_dhx_web { - position: relative; - cursor: default; -} - -.dhxlayout_base_dhx_web div.dhxlayout_sep { - position: absolute; - background-color: #fff; - font-size: 1px; - margin: 0; - padding: 0; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - background-repeat: no-repeat; - background-position: center center; - z-index: 2; -} - -div.dhxlayout_sep_sw_dhx_web { - position: absolute; - left: 0; - top: -100px; - width: 9px; - height: 1px; - font-size: 1px; - margin: 0; - padding: 0; - overflow: hidden; -} - -.dhxlayout_base_dhx_web div.dhxlayout_sep.dhxlayout_sep_resize_v { - cursor: w-resize; - background-image: url('imgs/dhxlayout_web/dhxlayout_sep_v.gif'); -} - -.dhxlayout_base_dhx_web div.dhxlayout_sep.dhxlayout_sep_resize_h { - cursor: n-resize; - background-image: url('imgs/dhxlayout_web/dhxlayout_sep_h.gif'); -} - -.dhxlayout_base_dhx_web div.dhx_cell_layout { - position: absolute; - background-color: white; - margin: 0; - padding: 0; - overflow: hidden; - cursor: default; - z-index: 0; -} - -.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_cont_layout { - position: absolute; - border-left: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; - border-bottom: 1px solid #c7c7c7; - border-top: 0 solid white; - padding: 8px; - overflow: hidden; -} - -.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_cont_layout.dhx_cell_cont_no_borders { - border: 0 solid white!important; - padding: 0; -} - -.dhxlayout_base_dhx_web div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_cont_layout, -.dhxlayout_base_dhx_web div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_cont_layout { - display: none; -} - -.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_hdr { - position: relative; - height: 32px; - line-height: 31px; - overflow: hidden; - font-family: Tahoma; - font-size: 12px; - color: #fff; - font-weight: bold; - background-color: #2589ce; - cursor: default; -} - -.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_hdr.dhx_cell_hdr_hidden { - height: 0; - line-height: 0; - border-top: 1px solid #c7c7c7; - overflow: hidden; -} - -.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_hdr.dhx_cell_hdr_hidden_no_borders { - height: 0; - line-height: 0; - border-width: 0; - overflow: hidden; -} - -.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_hdr div.dhx_cell_hdr_text { - position: relative; - margin: 0 26px 0 5px; - overflow: hidden; - white-space: nowrap; - cursor: default; -} - -.dhxlayout_base_dhx_web div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_hdr { - height: 21px; - line-height: 20px; - color: white; - font-weight: normal; -} - -.dhxlayout_base_dhx_web div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr { - width: 21px; -} - -.dhxlayout_base_dhx_web div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text { - position: absolute; - left: 3px; - bottom: 0; - transform: rotate(270deg); - -ms-transform: rotate(270deg); - transform-origin: left center; - font-weight: normal; -} - -.dhxlayout_base_dhx_web div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie8 { - left: -6px; - line-height: 20px; -} - -.dhxlayout_base_dhx_web div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie8 span { - float: left; - filter: progid: DXImageTransform.Microsoft.Matrix(M11='6.123031769111886e-17', M12='1', M21='-1', M22='6.123031769111886e-17', sizingMethod='auto expand'); - margin-bottom: 95%; -} - -.dhxlayout_base_dhx_web div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie7 { - left: -7px; - line-height: 20px; - padding-bottom: 10px; -} - -.dhxlayout_base_dhx_web div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie7 span { - float: left; - filter: progid: DXImageTransform.Microsoft.Matrix(M11='6.123031769111886e-17', M12='1', M21='-1', M22='6.123031769111886e-17', sizingMethod='auto expand'); -} - -.dhxlayout_base_dhx_web div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie6 { - left: -7px; - line-height: 20px; - padding-bottom: 10px; -} - -.dhxlayout_base_dhx_web div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_ie6 span { - float: left; - filter: progid: DXImageTransform.Microsoft.Matrix(M11='6.123031769111886e-17', M12='1', M21='-1', M22='6.123031769111886e-17', sizingMethod='auto expand'); -} - -.dhxlayout_base_dhx_web div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_text_chrome { - left: 3px; - -webkit-transform: rotate(270deg); - -webkit-transform-origin: left center; -} - -.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_hdr div.dhxlayout_arrow { - position: absolute; - right: 4px; - top: 9px; - width: 16px; - height: 16px; - background-image: url('imgs/dhxlayout_web/dhxlayout_cell_btns.gif'); - background-repeat: no-repeat; - cursor: pointer; -} - -.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_va { - background-position: -16px 0; -} - -.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_vb { - background-position: -48px 0; -} - -.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_ha { - background-position: -32px 0; -} - -.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_hb { - background-position: 0 0; -} - -.dhxlayout_base_dhx_web div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_ha { - background-position: 0 -5px; -} - -.dhxlayout_base_dhx_web div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_hb { - background-position: -32px -4px; -} - -.dhxlayout_base_dhx_web div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_va { - background-position: -45px 0; - margin-right: 3px; -} - -.dhxlayout_base_dhx_web div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_hdr div.dhxlayout_arrow.dhxlayout_arrow_vb { - background-position: -13px 0; -} - -body.dhxlayout_resize_v * { - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - cursor: w-resize!important; -} - -body.dhxlayout_resize_h * { - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - cursor: n-resize!important; -} - -.dhxlayout_base_dhx_web div.dhxlayout_resize_area { - position: absolute; - background-color: #c7c7c7; - opacity: .25; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=25); - z-index: 1; - border: 2px dashed black; - cursor: inherit; -} - -.dhxlayout_base_dhx_web div.dhxlayout_resize_sep { - position: absolute; - background-color: #2589ce; - overflow: hidden; - display: block; - opacity: .5; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=50); - z-index: 2; - cursor: inherit; -} - -.dhxlayout_base_dhx_web div.dhx_cell_layout.dhxlayout_collapsed_h div.dhx_cell_statusbar_def, -.dhxlayout_base_dhx_web div.dhx_cell_layout.dhxlayout_collapsed_v div.dhx_cell_statusbar_def { - display: none; -} - -.dhxlayout_base_dhx_web div.dhxlayout_hdr_attached { - position: relative; -} - -.dhxlayout_base_dhx_web div.dhxlayout_ftr_attached { - position: absolute; -} - -.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_menu_def { - position: relative; - overflow: hidden; - padding: 9px 9px 0 9px; - border-left: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; -} - -.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_menu_no_borders { - position: relative; - overflow: hidden; -} - -.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_menu_def div.dhtmlxMenu_dhx_web_Middle, -.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_menu_no_borders div.dhtmlxMenu_dhx_web_Middle { - padding: 0 2px; -} - -.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_toolbar_def { - position: relative; - overflow: hidden; - padding: 9px 9px 0 9px; - border-left: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; -} - -.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_toolbar_def div.dhx_toolbar_dhx_web { - border-top: 0 solid white; -} - -.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_dhx_web { - margin-top: -1px; -} - -.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_ribbon_def div.dhtmlxribbon_dhx_web.dhxrb_without_tabbar { - border-top: 0 solid white; - width: auto; -} - -.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_statusbar_def { - position: absolute; - bottom: 0; - width: 100%; - font-family: Tahoma; - font-size: 12px; - color: #000; - background-color: #f4f4f4; -} - -.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - position: relative; - padding: 0 4px; - height: 21px; - line-height: 21px; - border-bottom: 1px solid #c7c7c7; - border-left: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; - white-space: nowrap; - overflow: hidden; -} - -.dhxlayout_base_dhx_web div.dhxlayout_progress { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background-color: white; - opacity: .55; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=55); - z-index: 3; -} - -.dhxlayout_base_dhx_web div.dhxlayout_progress_img { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background-image: url('imgs/dhxlayout_web/dhxlayout_cell_progress.gif'); - background-position: center center; - background-repeat: no-repeat; - z-index: 4; -} - -.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_progress_bar { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background-color: white; - opacity: .75; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=75); - z-index: 1; -} - -.dhxlayout_base_dhx_web div.dhx_cell_layout div.dhx_cell_progress_img { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background-image: url('imgs/dhxlayout_web/dhxlayout_cell_progress.gif'); - background-position: center center; - background-repeat: no-repeat; - z-index: 2; -} - -.dhxlayout_base_dhx_web div.dhxlayout_menu { - position: relative; - overflow: hidden; - border-bottom: 9px solid #fff; -} - -.dhxlayout_base_dhx_web div.dhxlayout_toolbar { - position: relative; - background-color: #fff; - padding-bottom: 9px; - overflow: hidden; -} - -.dhxlayout_base_dhx_web div.dhxlayout_ribbon { - border-bottom: 9px solid #fff; - position: relative; -} - -.dhxlayout_base_dhx_web div.dhxlayout_ribbon div.dhtmlxribbon_dhx_web.dhxrb_without_tabbar { - width: auto; -} - -.dhxlayout_base_dhx_web div.dhxlayout_statusbar { - position: absolute; - background-color: #fff; - overflow: hidden; -} - -.dhxlayout_base_dhx_web div.dhxlayout_statusbar div.dhxcont_statusbar { - position: relative; - margin-top: 9px; - border: 1px solid #c7c7c7; - background-color: #f4f4f4; - font-family: Tahoma; - font-size: 12px; - color: #000; - padding: 3px 4px; -} - -.dhxlayout_skin_detect { - position: absolute; - left: 0; - top: -100px; - margin: 0; - padding: 0; - border: 0 solid white; - width: 20px; - height: 10px; - overflow: hidden; -} - -.dhxtabbar_skin_detect { - position: absolute; - left: 0; - top: -100px; - margin: 0; - padding: 0; - border: 0 solid white; - width: 20px; - height: 10px; - overflow: hidden; -} - -.dhxtabbar_fullscreen { - width: 100%; - height: 100%; - margin: 0; - overflow: hidden; -} - -.dhxtabbar_base_dhx_web { - position: relative; -} - -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs { - position: absolute; - top: 0; - bottom: auto; - height: 32px; - overflow: hidden; - white-space: nowrap; - background-color: #3da0e3; - border: none; - z-index: 2; -} - -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs { - top: auto; - bottom: 0; -} - -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tabs_base { - position: absolute; - top: 0; - height: 32px; - overflow: hidden; -} - -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tabs_cont_left, -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tabs_cont_right { - position: absolute; - width: 5000px; - height: 32px; - margin: 0 1px; - top: 0; - -webkit-transform: translate3d(0, 0, 0); - -moz-transform: translate3d(0, 0, 0); - -ms-transform: translate3d(0, 0, 0); - -o-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tabs_base div.dhxtabbar_tabs_line { - display: none; -} - -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_left { - position: absolute; - left: 0; - top: 0; - width: 14px; - height: 32px; - z-index: 4; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - cursor: pointer; -} - -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_left div.dhxtabbar_arrow_img { - position: relative; - height: 100%; - background-image: url("imgs/dhxtabbar_web/dhxtabbar_arrows.gif"); - background-position: 0 13px; - background-repeat: no-repeat; -} - -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_right { - position: absolute; - right: 0; - top: 0; - width: 14px; - height: 32px; - z-index: 4; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - cursor: pointer; -} - -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_right div.dhxtabbar_arrow_img { - position: relative; - height: 100%; - background-image: url("imgs/dhxtabbar_web/dhxtabbar_arrows.gif"); - background-position: -14px 13px; - background-repeat: no-repeat; -} - -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tab { - position: relative; - height: 26px; - background-color: #2589ce; - font-family: Tahoma; - font-size: 12px; - color: #fff; - margin-top: 5px; - border-left: 2px solid #3da0e3; - border-right: 2px solid #3da0e3; - z-index: 1; - cursor: pointer; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -webkit-transform: translate3d(0, 0, 0); - -moz-transform: translate3d(0, 0, 0); - -ms-transform: translate3d(0, 0, 0); - -o-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} - -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tabs_cont_left div.dhxtabbar_tab { - float: left; -} - -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tabs_cont_right div.dhxtabbar_tab { - float: right; -} - -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tab:hover { - background-color: #fff; -} - -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tab:hover div.dhxtabbar_tab_text { - color: #000; -} - -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_dis { - background-color: #176aa3; -} - -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv, -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv_dis { - background-color: #fff; - color: #000; - height: 27px; - z-index: 3; -} - -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_hidden { - border: none; -} - -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tab div.dhxtabbar_tab_text { - position: relative; - height: 26px; - line-height: 25px; - vertical-align: middle; - top: 0; - color: #fff; - text-align: center; - overflow: hidden; -} - -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tab div.dhxtabbar_tab_text.dhxtabbar_tab_text_close { - padding-right: 9px; -} - -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv div.dhxtabbar_tab_text, -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv_dis div.dhxtabbar_tab_text { - border-left: 1px solid #fff; - border-right: 1px solid #fff; -} - -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv div.dhxtabbar_tab_text { - color: black; -} - -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_dis div.dhxtabbar_tab_text, -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv_dis div.dhxtabbar_tab_text { - color: #999; -} - -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tab div.dhxtabbar_tab_close { - position: absolute; - top: 8px; - right: 7px; - width: 14px; - height: 14px; - background-image: url("imgs/dhxtabbar_web/dhxtabbar_button_close.gif"); - background-position: 0 0; - background-repeat: no-repeat; - z-index: 1; -} - -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tab:hover div.dhxtabbar_tab_close, -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv div.dhxtabbar_tab_close { - background-position: -14px 0; -} - -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_dis div.dhxtabbar_tab_close, -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv_dis div.dhxtabbar_tab_close { - background-position: -28px 0; -} - -span.dhxtabbar_tabs_text_test_dhx_web { - position: absolute; - visibility: hidden; - right: 0; - top: 0; - font-weight: normal; - font-family: Tahoma; - font-size: 12px; - color: #f4f4f4; - padding: 0 6px; -} - -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs_bottom div.dhx_cell_tabbar div.dhx_cell_cont_tabbar { - border-top: 1px solid #c7c7c7; - border-bottom: 0 solid #fff; -} - -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tab { - margin-top: 0; - height: 27px; -} - -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv, -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv_dis { - height: 27px; -} - -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tab div.dhxtabbar_tab_text { - border-top: 1px solid #3da0e3; -} - -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv div.dhxtabbar_tab_text, -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tab.dhxtabbar_tab_actv_dis div.dhxtabbar_tab_text { - border-top: 1px solid #fff; -} - -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_left, -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tabs_ar_right { - top: 1px; -} - -.dhxtabbar_base_dhx_web div.dhxtabbar_tabs_bottom div.dhxtabbar_tabs div.dhxtabbar_tab div.dhxtabbar_tab_close { - top: 8px; -} - -/* Asan 2016-01-11 */ -.dhxtabbar_base_dhx_web div.dhx_cell_tabbar { - position: absolute; - /* background-color: white; */ - background-color: #e8f1ff; - margin: 0; - padding: 0; - overflow: hidden; - cursor: default; - z-index: 0; -} - -.dhxtabbar_base_dhx_web div.dhx_cell_tabbar div.dhx_cell_cont_tabbar { - position: absolute; - border-left: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; - border-bottom: 1px solid #c7c7c7; - padding: 8px; - border-top: 0 solid #fff; - overflow: hidden; -} - -.dhxtabbar_base_dhx_web div.dhx_cell_tabbar div.dhx_cell_cont_tabbar.dhx_cell_cont_no_borders { - border: 0 solid #fff!important; -} - -.dhxtabbar_base_dhx_web div.dhx_cell_tabbar div.dhx_cell_menu_def { - position: relative; - overflow: hidden; - padding: 9px 9px 0 9px; - border-left: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; -} - -.dhxtabbar_base_dhx_web div.dhx_cell_tabbar div.dhx_cell_menu_no_borders { - position: relative; - overflow: hidden; - height: 20px; -} - -.dhxtabbar_base_dhx_web div.dhx_cell_tabbar div.dhx_cell_toolbar_def { - position: relative; - padding: 9px 9px 0 9px; - border-left: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; -} - -.dhxtabbar_base_dhx_web div.dhx_cell_tabbar div.dhtmlxribbon_dhx_web.dhxrb_without_tabbar { - border-top: 0 solid #fff; - width: auto; -} - -.dhxtabbar_base_dhx_web div.dhx_cell_tabbar div.dhxrb_with_tabbar.dhxtabbar_base_dhx_web { - margin-top: -1px; -} - -.dhxtabbar_base_dhx_web div.dhx_cell_tabbar div.dhx_cell_statusbar_def { - position: absolute; - bottom: 0; - width: 100%; - font-family: Tahoma; - font-size: 12px; - color: #000; - background-color: #f4f4f4; -} - -.dhxtabbar_base_dhx_web div.dhx_cell_tabbar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - position: relative; - padding: 0 4px; - height: 28px; - line-height: 27px; - border-bottom: 1px solid #c7c7c7; - border-left: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; - white-space: nowrap; - overflow: hidden; -} - -.dhxtabbar_base_dhx_web div.dhx_cell_tabbar div.dhx_cell_progress_bar { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background-color: #fff; - opacity: .75; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=75); - z-index: 1; -} - -.dhxtabbar_base_dhx_web div.dhx_cell_tabbar div.dhx_cell_progress_img { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background-image: url("imgs/dhxtabbar_web/dhxtabbar_cell_progress.gif"); - background-position: center center; - background-repeat: no-repeat; - z-index: 2; -} - -.dhxwins_vp_dhx_web { - overflow: hidden; - position: relative; - cursor: default; -} - -.dhxwins_vp_dhx_web div.dhxwin_active { - position: absolute; - overflow: hidden; - border: 0 solid white; - box-shadow: 0 0 10px rgba(0, 0, 0, 0.35); - background: white; - cursor: inherit; -} - -.dhxwins_vp_dhx_web div.dhxwin_inactive { - position: absolute; - overflow: hidden; - border: 0 solid white; - box-shadow: 0 0 10px rgba(127, 127, 127, 0.35); - background: white; - cursor: inherit; -} - -.dhxwins_vp_dhx_web div.dhxwin_brd { - position: absolute; - border-left: 5px solid #3da0e3; - border-right: 5px solid #3da0e3; - border-bottom: 5px solid #3da0e3; - background: #fff; - z-index: 0; -} - -.dhxwins_vp_dhx_web div.dhxwin_brd.dhxwin_hdr_hidden { - border-top: 5px solid #3da0e3; -} - -.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhxwin_brd { - opacity: .6; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=60); -} - -.dhxwins_vp_dhx_web div.dhxwin_fr_cover { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - overflow: hidden; - background-color: white; - z-index: 1; - opacity: 0; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=0); -} - -.dhxwins_vp_dhx_web div.dhxwin_fr_cover .dhxwin_fr_cover_inner { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background-color: white; - opacity: 0; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=0); -} - -.dhxwins_vp_dhx_web div.dhxwin_active div.dhxwin_fr_cover { - display: none; -} - -.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhxwin_fr_cover { - z-index: 4; - opacity: .5; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=50); -} - -.dhxwins_vp_dhx_web div.dhxwin_active div.dhxwin_fr_cover.dhxwin_fr_cover_dnd, -.dhxwins_vp_dhx_web div.dhxwin_active div.dhxwin_fr_cover.dhxwin_fr_cover_resize { - display: block; -} - -.dhxwins_vp_dhx_web iframe.dhxwin_main_fr_cover { - position: absolute; - background-color: white; - opacity: 0; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=0); -} - -.dhxwins_vp_dhx_web div.dhxwin_hdr { - position: relative; - height: 27px; - line-height: 27px; - margin: 0; - padding: 0; - font-weight: normal; - border-top: 1px solid #fff; - border-left: 1px solid #fff; - border-right: 1px solid #fff; - background-color: #3da0e3; - font-family: Tahoma; - font-size: 12px; - color: #fff; - cursor: inherit; - overflow: hidden; - z-index: 3; -} - -.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhxwin_hdr { - color: #bfbfbf; - opacity: .6; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=60); -} - -.dhxwins_vp_dhx_web div.dhxwin_hdr.dhxwin_hdr_parked { - border-bottom: 1px solid #fff; -} - -.dhxwins_vp_dhx_web div.dhxwin_hdr.dhxwin_hdr_hidden { - visibility: hidden; -} - -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_icon { - position: absolute; - left: 7px; - top: 5px; - width: 18px; - height: 18px; - cursor: default; - overflow: hidden; - background-image: url("imgs/dhxwins_web/dhxwins_icon.gif"); - background-position: center center; - background-repeat: no-repeat; - cursor: inherit; - z-index: 2; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhxwin_hdr div.dhxwin_icon { - opacity: .6; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=60); -} - -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_text { - position: relative; - padding: 0; - margin: 0; - overflow: hidden; - white-space: nowrap; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - cursor: inherit; - z-index: 1; -} - -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_text div.dhxwin_text_inside { - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; - width: 100%; -} - -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns { - position: absolute; - right: 7px; - top: 4px; - height: 18px; - cursor: default; - overflow: hidden; - cursor: inherit; - z-index: 2; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} - -.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhxwin_hdr div.dhxwin_btns { - opacity: .5; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=50); -} - -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button, -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis { - position: relative; - float: left; - width: 15px; - height: 15px; - margin-left: 2px; - margin-top: 3px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - background-image: url("imgs/dhxwins_web/dhxwins_buttons.gif"); - background-repeat: no-repeat; - background-position: 0 0; -} - -.dhxwins_vp_dhx_web div.dhxwin_active div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button:hover { - background-color: #2a8ed2; -} - -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_close { - background-position: -15px 0; -} - -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_close_dis { - background-position: -15px -15px; -} - -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_minmax { - background-position: -30px 0; -} - -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_minmax_dis { - background-position: -30px -15px; -} - -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_minmaxed { - background-position: -45px 0; -} - -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_minmaxed_dis { - background-position: -45px -15px; -} - -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_park { - background-position: -60px 0; -} - -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_park_dis { - background-position: -60px -15px; -} - -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_stick { - background-position: -75px 0; -} - -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_stick_dis { - background-position: -75px -15px; -} - -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_sticked { - background-position: -90px 0; - z-index: 1; -} - -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_sticked_dis { - background-position: -90px -15px; -} - -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_help { - background-position: -105px 0; -} - -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_help_dis { - background-position: -105px -15px; -} - -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_dock { - background-position: -120px 0; -} - -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_dock_dis { - background-position: -120px -15px; -} - -.dhxwins_vp_dhx_web.dhxwins_vp_dnd { - cursor: move!important; -} - -.dhxwins_vp_dhx_web div.dhxwin_resize { - position: absolute; - background-color: #3da0e3; - opacity: .2; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=20); -} - -.dhxwins_vp_dhx_web iframe.dhxwin_resize_fr_cover { - position: absolute; - background-color: #fff; - opacity: 0; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=0); -} - -.dhxwins_vp_dhx_web div.dhxwins_mcover { - position: absolute; - background-color: white; - left: 0; - top: 0; - width: 100%; - height: 100%; - opacity: .53; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=53); -} - -.dhxwins_vp_dhx_web iframe.dhxwins_mcover { - position: absolute; - background-color: #fff; - left: 0; - top: 0; - width: 100%; - height: 100%; - opacity: 0; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=0); -} - -.dhxwins_vp_dhx_web div.dhxwin_active div.dhx_cell_wins, -.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhx_cell_wins { - position: absolute; - background-color: #fff; - margin: 0; - padding: 0; - overflow: hidden; - cursor: default; - visibility: visible; - z-index: 1; - opacity: 1; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=100); -} - -.dhxwins_vp_dhx_web div.dhxwin_active div.dhx_cell_wins div.dhx_cell_cont_wins, -.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_cont_wins { - position: absolute; - border: 9px solid #fff; - background-color: #fff; - overflow: hidden; -} - -.dhxwins_vp_dhx_web div.dhxwin_active div.dhx_cell_wins div.dhx_cell_cont_wins.dhx_cell_cont_no_borders, -.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_cont_wins.dhx_cell_cont_no_borders { - border: 0 solid #fff!important; -} - -.dhxwins_vp_dhx_web div.dhxwin_active div.dhx_cell_wins div.dhx_cell_menu_def, -.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_menu_def { - position: relative; - overflow: hidden; - padding: 9px 9px 0 9px; -} - -.dhxwins_vp_dhx_web div.dhxwin_active div.dhx_cell_wins div.dhx_cell_toolbar_def, -.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_toolbar_def { - position: relative; - overflow: hidden; - padding: 9px 9px 0 9px; - border-width: 0; -} - -.dhxwins_vp_dhx_web div.dhxwin_active div.dhx_cell_wins div.dhx_cell_ribbon_def, -.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_ribbon_def { - padding: 9px 9px 0 9px; -} - -.dhxwins_vp_dhx_web div.dhxwin_active div.dhx_cell_wins div.dhtmlxribbon_dhx_web.dhxrb_without_tabbar, -.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhx_cell_wins div.dhtmlxribbon_dhx_web.dhxrb_without_tabbar { - border: 0 solid #fff; - margin-left: -4px; - margin-top: -4px; - width: auto; -} - -.dhxwins_vp_dhx_web div.dhxwin_active div.dhx_cell_wins div.dhx_cell_statusbar_def, -.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_statusbar_def { - position: absolute; - bottom: 0; - width: 100%; - font-family: Tahoma; - font-size: 12px; - color: #000; -} - -.dhxwins_vp_dhx_web div.dhxwin_active div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text, -.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - position: relative; - margin: 0 9px 9px 9px; - padding: 5px 12px; - background-color: #f4f4f4; - white-space: nowrap; - overflow: hidden; -} - -.dhxwins_vp_dhx_web div.dhxwin_active div.dhx_cell_wins div.dhx_cell_progress_bar, -.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_progress_bar { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background-color: #fff; - opacity: .75; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=75); - z-index: 1; -} - -.dhxwins_vp_dhx_web div.dhxwin_active div.dhx_cell_wins div.dhx_cell_progress_img, -.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_progress_img { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background-image: url("imgs/dhxwins_web/dhxwins_progress.gif"); - background-position: center center; - background-repeat: no-repeat; - z-index: 2; -} - -.dhxwins_skin_detect { - position: absolute; - left: 0; - top: -100px; - margin: 0; - padding: 0; - border: 0 solid white; - width: 20px; - height: 10px; - overflow: hidden; -} - -div.dhxwins_vp_dhx_web.dhxwins_vp_fs { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - overflow: hidden; -} - -.dhtmlx_message_area { - position: fixed; - right: 5px; - width: 250px; - z-index: 1000; - padding: 0; -} - -.dhtmlx-info { - color: #444; - border-radius: 0; - min-width: 120px; - padding: 10px 10px 10px 20px; - background-color: #FFC; - font-size: 12px; - font-family: Tahoma; - z-index: 10000; - margin: 0 5px 5px 5px; - border: 1px solid #d3d3d3; - -webkit-transition: all .5s ease; - -moz-transition: all .5s ease; - -o-transition: all .5s ease; - transition: all .5s ease; -} - -.dhtmlx-error { - background-color: #f17373; - color: #fff; -} - -.dhtmlx-info.hidden { - height: 0; - padding-bottom: 0; - padding-top: 0; - border-width: 0; - margin-top: 0; - margin-bottom: 0; - overflow: hidden; -} - -.dhtmlx_modal_box { - overflow: hidden; - display: inline-block; - min-width: 300px; - width: 300px!important; - text-align: center; - position: fixed; - z-index: 20000; - background-color: #fff; - -moz-box-shadow: 0 0 5px #AAA; - -webkit-box-shadow: 0 0 0 #AAA; - box-shadow: 0 0 5px #AAA; - border: 1px solid #6e95ad; -} - -.dhtmlx_popup_title { - padding: 8px 0; - line-height: 16px; - font-family: Trebuchet MS; - font-size: 14px; - font-weight: normal; - font-style: italic; -} - -.dhtmlx-info, -.dhtmlx_popup_title, -.dhtmlx_popup_button { - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -moz-user-select: -moz-none; - cursor: pointer; -} - -.dhtmlx_popup_text { - font-size: 13px; - font-family: Tahoma; - color: #444; - min-height: 30px; - padding: 20px 10px 10px 10px!important; - overflow: hidden; -} - -.dhtmlx_popup_controls { - font-family: Tahoma; - padding: 10px 10px 15px 10px!important; -} - -.dhtmlx_popup_button { - font-family: Trebuchet MS; - font-size: 14px; - font-weight: normal; - font-style: italic; - min-width: 120px; - width: 120px; - height: 30px; - line-height: 30px; - display: inline-block; - margin: 0 5px; - border-radius: 0; -} - -.dhtmlx_popup_button div { - line-height: 30px; -} - -div.dhx_modal_cover { - background-color: #000; - cursor: default; - opacity: .2; - filter: progid: DXImageTransform.Microsoft.Alpha(opacity=20); - position: fixed; - z-index: 19999; - left: 0; - top: 0; - width: 100%; - height: 100%; - border: none; - zoom: 1; -} - -.dhtmlx_popup_button { - color: #fff; - letter-spacing: 1px; - background-color: #6e95ad; -} - -.dhtmlx_popup_button:active, -.dhtmlx_popup_button:focus { - background-color: #50778f; -} - -.dhtmlx-alert-error, -.dhtmlx-confirm-error { - border: 1px solid #f17373; -} - -.dhtmlx-alert-error .dhtmlx_popup_title, -.dhtmlx-confirm-error .dhtmlx_popup_title { - color: #fff; - background-color: #f17373; -} - -.dhtmlx-alert-warning .dhtmlx_popup_title, -.dhtmlx-confirm-warning .dhtmlx_popup_title { - color: #000; - border: 1px solid #d7d2cc; - background-color: #ff9f37; -} - -.dhtmlx-alert-warning .dhtmlx_popup_controls, -.dhtmlx-confirm-warning .dhtmlx_popup_controls { - border: 1px solid #d5d5d5; - border-width: 0 1px 1px 1px; -} - -.dhtmlx-alert-warning .dhtmlx_popup_text, -.dhtmlx-confirm-warning .dhtmlx_popup_text { - border: 1px solid #d5d5d5; - border-width: 0 1px 0 1px; -} - -.dhtmlx-alert .dhtmlx_popup_title, -.dhtmlx-confirm .dhtmlx_popup_title { - color: #fff; - border: 1px solid #6e95ad; - background-color: #6e95ad; -} - -.dhtmlx-alert .dhtmlx_popup_controls, -.dhtmlx-confirm .dhtmlx_popup_controls { - border: 1px solid #d5d5d5; - border-width: 0 1px 1px 1px; -} - -.dhtmlx-alert .dhtmlx_popup_text, -.dhtmlx-confirm .dhtmlx_popup_text { - border: 1px solid #d5d5d5; - border-width: 0 1px 0 1px; -} \ No newline at end of file diff --git a/themes/skins4.0/web/imgs/dhxacc_web/dhxacc_btns.gif b/themes/skins4.0/web/imgs/dhxacc_web/dhxacc_btns.gif deleted file mode 100644 index 2b10256..0000000 Binary files a/themes/skins4.0/web/imgs/dhxacc_web/dhxacc_btns.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxacc_web/dhxacc_cell_progress.gif b/themes/skins4.0/web/imgs/dhxacc_web/dhxacc_cell_progress.gif deleted file mode 100644 index c3ccb00..0000000 Binary files a/themes/skins4.0/web/imgs/dhxacc_web/dhxacc_cell_progress.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxcalendar_web/dhxcalendar_arrow_left.gif b/themes/skins4.0/web/imgs/dhxcalendar_web/dhxcalendar_arrow_left.gif deleted file mode 100644 index 54366e0..0000000 Binary files a/themes/skins4.0/web/imgs/dhxcalendar_web/dhxcalendar_arrow_left.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxcalendar_web/dhxcalendar_arrow_left2.gif b/themes/skins4.0/web/imgs/dhxcalendar_web/dhxcalendar_arrow_left2.gif deleted file mode 100644 index fa475b5..0000000 Binary files a/themes/skins4.0/web/imgs/dhxcalendar_web/dhxcalendar_arrow_left2.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxcalendar_web/dhxcalendar_arrow_right.gif b/themes/skins4.0/web/imgs/dhxcalendar_web/dhxcalendar_arrow_right.gif deleted file mode 100644 index 0a343f9..0000000 Binary files a/themes/skins4.0/web/imgs/dhxcalendar_web/dhxcalendar_arrow_right.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxcalendar_web/dhxcalendar_arrow_right2.gif b/themes/skins4.0/web/imgs/dhxcalendar_web/dhxcalendar_arrow_right2.gif deleted file mode 100644 index d9e30be..0000000 Binary files a/themes/skins4.0/web/imgs/dhxcalendar_web/dhxcalendar_arrow_right2.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxcalendar_web/dhxcalendar_clock.gif b/themes/skins4.0/web/imgs/dhxcalendar_web/dhxcalendar_clock.gif deleted file mode 100644 index 0fe21e4..0000000 Binary files a/themes/skins4.0/web/imgs/dhxcalendar_web/dhxcalendar_clock.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxcalendar_web/dhxcalendar_mark.gif b/themes/skins4.0/web/imgs/dhxcalendar_web/dhxcalendar_mark.gif deleted file mode 100644 index 4dd78d2..0000000 Binary files a/themes/skins4.0/web/imgs/dhxcalendar_web/dhxcalendar_mark.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxcalendar_web/dhxcalendar_selector_bottom.gif b/themes/skins4.0/web/imgs/dhxcalendar_web/dhxcalendar_selector_bottom.gif deleted file mode 100644 index 1cec27d..0000000 Binary files a/themes/skins4.0/web/imgs/dhxcalendar_web/dhxcalendar_selector_bottom.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxcalendar_web/dhxcalendar_selector_top.gif b/themes/skins4.0/web/imgs/dhxcalendar_web/dhxcalendar_selector_top.gif deleted file mode 100644 index 4026cd2..0000000 Binary files a/themes/skins4.0/web/imgs/dhxcalendar_web/dhxcalendar_selector_top.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxcarousel_web/dhxcarousel_cell_progress.gif b/themes/skins4.0/web/imgs/dhxcarousel_web/dhxcarousel_cell_progress.gif deleted file mode 100644 index ff9a5e6..0000000 Binary files a/themes/skins4.0/web/imgs/dhxcarousel_web/dhxcarousel_cell_progress.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxcombo_web/dhxcombo_arrow_down.gif b/themes/skins4.0/web/imgs/dhxcombo_web/dhxcombo_arrow_down.gif deleted file mode 100644 index 72c0a72..0000000 Binary files a/themes/skins4.0/web/imgs/dhxcombo_web/dhxcombo_arrow_down.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxcombo_web/dhxcombo_arrow_down_dis.gif b/themes/skins4.0/web/imgs/dhxcombo_web/dhxcombo_arrow_down_dis.gif deleted file mode 100644 index bf8f65c..0000000 Binary files a/themes/skins4.0/web/imgs/dhxcombo_web/dhxcombo_arrow_down_dis.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxcombo_web/dhxcombo_chbx.gif b/themes/skins4.0/web/imgs/dhxcombo_web/dhxcombo_chbx.gif deleted file mode 100644 index 99e2f9f..0000000 Binary files a/themes/skins4.0/web/imgs/dhxcombo_web/dhxcombo_chbx.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxcp_web/dhxcp_colors.png b/themes/skins4.0/web/imgs/dhxcp_web/dhxcp_colors.png deleted file mode 100644 index ede480c..0000000 Binary files a/themes/skins4.0/web/imgs/dhxcp_web/dhxcp_colors.png and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxdataview_web/dnd_selector.png b/themes/skins4.0/web/imgs/dhxdataview_web/dnd_selector.png deleted file mode 100644 index 5d8e9b4..0000000 Binary files a/themes/skins4.0/web/imgs/dhxdataview_web/dnd_selector.png and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxdataview_web/dnd_selector_cells.png b/themes/skins4.0/web/imgs/dhxdataview_web/dnd_selector_cells.png deleted file mode 100644 index 63da638..0000000 Binary files a/themes/skins4.0/web/imgs/dhxdataview_web/dnd_selector_cells.png and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxdataview_web/dnd_selector_lines.png b/themes/skins4.0/web/imgs/dhxdataview_web/dnd_selector_lines.png deleted file mode 100644 index 576ecfd..0000000 Binary files a/themes/skins4.0/web/imgs/dhxdataview_web/dnd_selector_lines.png and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxdataview_web/marker.png b/themes/skins4.0/web/imgs/dhxdataview_web/marker.png deleted file mode 100644 index ceec125..0000000 Binary files a/themes/skins4.0/web/imgs/dhxdataview_web/marker.png and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxeditor_web/align_center.gif b/themes/skins4.0/web/imgs/dhxeditor_web/align_center.gif deleted file mode 100644 index 0670ebe..0000000 Binary files a/themes/skins4.0/web/imgs/dhxeditor_web/align_center.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxeditor_web/align_justify.gif b/themes/skins4.0/web/imgs/dhxeditor_web/align_justify.gif deleted file mode 100644 index a9d98ce..0000000 Binary files a/themes/skins4.0/web/imgs/dhxeditor_web/align_justify.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxeditor_web/align_left.gif b/themes/skins4.0/web/imgs/dhxeditor_web/align_left.gif deleted file mode 100644 index 1ee654d..0000000 Binary files a/themes/skins4.0/web/imgs/dhxeditor_web/align_left.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxeditor_web/align_right.gif b/themes/skins4.0/web/imgs/dhxeditor_web/align_right.gif deleted file mode 100644 index 105a299..0000000 Binary files a/themes/skins4.0/web/imgs/dhxeditor_web/align_right.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxeditor_web/bold.gif b/themes/skins4.0/web/imgs/dhxeditor_web/bold.gif deleted file mode 100644 index 8f025f1..0000000 Binary files a/themes/skins4.0/web/imgs/dhxeditor_web/bold.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxeditor_web/buttons.gif b/themes/skins4.0/web/imgs/dhxeditor_web/buttons.gif deleted file mode 100644 index c56587b..0000000 Binary files a/themes/skins4.0/web/imgs/dhxeditor_web/buttons.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxeditor_web/clear.gif b/themes/skins4.0/web/imgs/dhxeditor_web/clear.gif deleted file mode 100644 index 844a95c..0000000 Binary files a/themes/skins4.0/web/imgs/dhxeditor_web/clear.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxeditor_web/h1.gif b/themes/skins4.0/web/imgs/dhxeditor_web/h1.gif deleted file mode 100644 index 0bf7530..0000000 Binary files a/themes/skins4.0/web/imgs/dhxeditor_web/h1.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxeditor_web/h2.gif b/themes/skins4.0/web/imgs/dhxeditor_web/h2.gif deleted file mode 100644 index aca41f6..0000000 Binary files a/themes/skins4.0/web/imgs/dhxeditor_web/h2.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxeditor_web/h3.gif b/themes/skins4.0/web/imgs/dhxeditor_web/h3.gif deleted file mode 100644 index 994ae16..0000000 Binary files a/themes/skins4.0/web/imgs/dhxeditor_web/h3.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxeditor_web/h4.gif b/themes/skins4.0/web/imgs/dhxeditor_web/h4.gif deleted file mode 100644 index ef7f910..0000000 Binary files a/themes/skins4.0/web/imgs/dhxeditor_web/h4.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxeditor_web/indent_dec.gif b/themes/skins4.0/web/imgs/dhxeditor_web/indent_dec.gif deleted file mode 100644 index eda02de..0000000 Binary files a/themes/skins4.0/web/imgs/dhxeditor_web/indent_dec.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxeditor_web/indent_inc.gif b/themes/skins4.0/web/imgs/dhxeditor_web/indent_inc.gif deleted file mode 100644 index 059a5e0..0000000 Binary files a/themes/skins4.0/web/imgs/dhxeditor_web/indent_inc.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxeditor_web/italic.gif b/themes/skins4.0/web/imgs/dhxeditor_web/italic.gif deleted file mode 100644 index bffc9ca..0000000 Binary files a/themes/skins4.0/web/imgs/dhxeditor_web/italic.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxeditor_web/list_bullet.gif b/themes/skins4.0/web/imgs/dhxeditor_web/list_bullet.gif deleted file mode 100644 index 9bb05dc..0000000 Binary files a/themes/skins4.0/web/imgs/dhxeditor_web/list_bullet.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxeditor_web/list_number.gif b/themes/skins4.0/web/imgs/dhxeditor_web/list_number.gif deleted file mode 100644 index 74a871a..0000000 Binary files a/themes/skins4.0/web/imgs/dhxeditor_web/list_number.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxeditor_web/script_sub.gif b/themes/skins4.0/web/imgs/dhxeditor_web/script_sub.gif deleted file mode 100644 index 04ee515..0000000 Binary files a/themes/skins4.0/web/imgs/dhxeditor_web/script_sub.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxeditor_web/script_super.gif b/themes/skins4.0/web/imgs/dhxeditor_web/script_super.gif deleted file mode 100644 index 0c08cc4..0000000 Binary files a/themes/skins4.0/web/imgs/dhxeditor_web/script_super.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxeditor_web/strike.gif b/themes/skins4.0/web/imgs/dhxeditor_web/strike.gif deleted file mode 100644 index b167bed..0000000 Binary files a/themes/skins4.0/web/imgs/dhxeditor_web/strike.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxeditor_web/underline.gif b/themes/skins4.0/web/imgs/dhxeditor_web/underline.gif deleted file mode 100644 index 6960339..0000000 Binary files a/themes/skins4.0/web/imgs/dhxeditor_web/underline.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxform_web/dhxform_chbxrd.gif b/themes/skins4.0/web/imgs/dhxform_web/dhxform_chbxrd.gif deleted file mode 100644 index f366b99..0000000 Binary files a/themes/skins4.0/web/imgs/dhxform_web/dhxform_chbxrd.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxform_web/dhxform_image_uploading.gif b/themes/skins4.0/web/imgs/dhxform_web/dhxform_image_uploading.gif deleted file mode 100644 index ff9a5e6..0000000 Binary files a/themes/skins4.0/web/imgs/dhxform_web/dhxform_image_uploading.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxform_web/dhxform_upload_buttons.gif b/themes/skins4.0/web/imgs/dhxform_web/dhxform_upload_buttons.gif deleted file mode 100644 index 9afdc8d..0000000 Binary files a/themes/skins4.0/web/imgs/dhxform_web/dhxform_upload_buttons.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxform_web/dhxform_upload_uploading.gif b/themes/skins4.0/web/imgs/dhxform_web/dhxform_upload_uploading.gif deleted file mode 100644 index ca190eb..0000000 Binary files a/themes/skins4.0/web/imgs/dhxform_web/dhxform_upload_uploading.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxgrid_web/ar_left.gif b/themes/skins4.0/web/imgs/dhxgrid_web/ar_left.gif deleted file mode 100644 index a42f019..0000000 Binary files a/themes/skins4.0/web/imgs/dhxgrid_web/ar_left.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxgrid_web/ar_left_abs.gif b/themes/skins4.0/web/imgs/dhxgrid_web/ar_left_abs.gif deleted file mode 100644 index 29f01ea..0000000 Binary files a/themes/skins4.0/web/imgs/dhxgrid_web/ar_left_abs.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxgrid_web/ar_left_abs_dis.gif b/themes/skins4.0/web/imgs/dhxgrid_web/ar_left_abs_dis.gif deleted file mode 100644 index f52a777..0000000 Binary files a/themes/skins4.0/web/imgs/dhxgrid_web/ar_left_abs_dis.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxgrid_web/ar_left_dis.gif b/themes/skins4.0/web/imgs/dhxgrid_web/ar_left_dis.gif deleted file mode 100644 index b14f0ff..0000000 Binary files a/themes/skins4.0/web/imgs/dhxgrid_web/ar_left_dis.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxgrid_web/ar_right.gif b/themes/skins4.0/web/imgs/dhxgrid_web/ar_right.gif deleted file mode 100644 index e8990ba..0000000 Binary files a/themes/skins4.0/web/imgs/dhxgrid_web/ar_right.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxgrid_web/ar_right_abs.gif b/themes/skins4.0/web/imgs/dhxgrid_web/ar_right_abs.gif deleted file mode 100644 index 99df64d..0000000 Binary files a/themes/skins4.0/web/imgs/dhxgrid_web/ar_right_abs.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxgrid_web/ar_right_abs_dis.gif b/themes/skins4.0/web/imgs/dhxgrid_web/ar_right_abs_dis.gif deleted file mode 100644 index d919a8c..0000000 Binary files a/themes/skins4.0/web/imgs/dhxgrid_web/ar_right_abs_dis.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxgrid_web/ar_right_dis.gif b/themes/skins4.0/web/imgs/dhxgrid_web/ar_right_dis.gif deleted file mode 100644 index 32d2109..0000000 Binary files a/themes/skins4.0/web/imgs/dhxgrid_web/ar_right_dis.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxgrid_web/blank.gif b/themes/skins4.0/web/imgs/dhxgrid_web/blank.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/skins4.0/web/imgs/dhxgrid_web/blank.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxgrid_web/combo_select.gif b/themes/skins4.0/web/imgs/dhxgrid_web/combo_select.gif deleted file mode 100644 index 57e5ece..0000000 Binary files a/themes/skins4.0/web/imgs/dhxgrid_web/combo_select.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxgrid_web/combo_select_dhx_web.gif b/themes/skins4.0/web/imgs/dhxgrid_web/combo_select_dhx_web.gif deleted file mode 100644 index 57e5ece..0000000 Binary files a/themes/skins4.0/web/imgs/dhxgrid_web/combo_select_dhx_web.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxgrid_web/dyn_.gif b/themes/skins4.0/web/imgs/dhxgrid_web/dyn_.gif deleted file mode 100644 index 361094a..0000000 Binary files a/themes/skins4.0/web/imgs/dhxgrid_web/dyn_.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxgrid_web/dyn_down.gif b/themes/skins4.0/web/imgs/dhxgrid_web/dyn_down.gif deleted file mode 100644 index e8acb70..0000000 Binary files a/themes/skins4.0/web/imgs/dhxgrid_web/dyn_down.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxgrid_web/dyn_up.gif b/themes/skins4.0/web/imgs/dhxgrid_web/dyn_up.gif deleted file mode 100644 index bee4e0d..0000000 Binary files a/themes/skins4.0/web/imgs/dhxgrid_web/dyn_up.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxgrid_web/imageloaderror.gif b/themes/skins4.0/web/imgs/dhxgrid_web/imageloaderror.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/skins4.0/web/imgs/dhxgrid_web/imageloaderror.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxgrid_web/item_chk0.gif b/themes/skins4.0/web/imgs/dhxgrid_web/item_chk0.gif deleted file mode 100644 index f91ca21..0000000 Binary files a/themes/skins4.0/web/imgs/dhxgrid_web/item_chk0.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxgrid_web/item_chk0_dis.gif b/themes/skins4.0/web/imgs/dhxgrid_web/item_chk0_dis.gif deleted file mode 100644 index 66257cb..0000000 Binary files a/themes/skins4.0/web/imgs/dhxgrid_web/item_chk0_dis.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxgrid_web/item_chk1.gif b/themes/skins4.0/web/imgs/dhxgrid_web/item_chk1.gif deleted file mode 100644 index 8868f58..0000000 Binary files a/themes/skins4.0/web/imgs/dhxgrid_web/item_chk1.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxgrid_web/item_chk1_dis.gif b/themes/skins4.0/web/imgs/dhxgrid_web/item_chk1_dis.gif deleted file mode 100644 index 82672fc..0000000 Binary files a/themes/skins4.0/web/imgs/dhxgrid_web/item_chk1_dis.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxgrid_web/minus.gif b/themes/skins4.0/web/imgs/dhxgrid_web/minus.gif deleted file mode 100644 index ef04a54..0000000 Binary files a/themes/skins4.0/web/imgs/dhxgrid_web/minus.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxgrid_web/paging_page.gif b/themes/skins4.0/web/imgs/dhxgrid_web/paging_page.gif deleted file mode 100644 index 12395c5..0000000 Binary files a/themes/skins4.0/web/imgs/dhxgrid_web/paging_page.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxgrid_web/paging_pages.gif b/themes/skins4.0/web/imgs/dhxgrid_web/paging_pages.gif deleted file mode 100644 index 9135ba1..0000000 Binary files a/themes/skins4.0/web/imgs/dhxgrid_web/paging_pages.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxgrid_web/paging_rows.gif b/themes/skins4.0/web/imgs/dhxgrid_web/paging_rows.gif deleted file mode 100644 index c6e9355..0000000 Binary files a/themes/skins4.0/web/imgs/dhxgrid_web/paging_rows.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxgrid_web/plus.gif b/themes/skins4.0/web/imgs/dhxgrid_web/plus.gif deleted file mode 100644 index abb84bd..0000000 Binary files a/themes/skins4.0/web/imgs/dhxgrid_web/plus.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxgrid_web/radio_chk0.gif b/themes/skins4.0/web/imgs/dhxgrid_web/radio_chk0.gif deleted file mode 100644 index 6087139..0000000 Binary files a/themes/skins4.0/web/imgs/dhxgrid_web/radio_chk0.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxgrid_web/radio_chk0_dis.gif b/themes/skins4.0/web/imgs/dhxgrid_web/radio_chk0_dis.gif deleted file mode 100644 index 3fb9da2..0000000 Binary files a/themes/skins4.0/web/imgs/dhxgrid_web/radio_chk0_dis.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxgrid_web/radio_chk1.gif b/themes/skins4.0/web/imgs/dhxgrid_web/radio_chk1.gif deleted file mode 100644 index 2d60066..0000000 Binary files a/themes/skins4.0/web/imgs/dhxgrid_web/radio_chk1.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxgrid_web/radio_chk1_dis.gif b/themes/skins4.0/web/imgs/dhxgrid_web/radio_chk1_dis.gif deleted file mode 100644 index 44112b5..0000000 Binary files a/themes/skins4.0/web/imgs/dhxgrid_web/radio_chk1_dis.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxgrid_web/separator.png b/themes/skins4.0/web/imgs/dhxgrid_web/separator.png deleted file mode 100644 index 55018fc..0000000 Binary files a/themes/skins4.0/web/imgs/dhxgrid_web/separator.png and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxgrid_web/sort_asc.gif b/themes/skins4.0/web/imgs/dhxgrid_web/sort_asc.gif deleted file mode 100644 index 716049b..0000000 Binary files a/themes/skins4.0/web/imgs/dhxgrid_web/sort_asc.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxgrid_web/sort_desc.gif b/themes/skins4.0/web/imgs/dhxgrid_web/sort_desc.gif deleted file mode 100644 index bb7912a..0000000 Binary files a/themes/skins4.0/web/imgs/dhxgrid_web/sort_desc.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxgrid_web/tree/blank.gif b/themes/skins4.0/web/imgs/dhxgrid_web/tree/blank.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/skins4.0/web/imgs/dhxgrid_web/tree/blank.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxgrid_web/tree/folder.gif b/themes/skins4.0/web/imgs/dhxgrid_web/tree/folder.gif deleted file mode 100644 index 4b7e76d..0000000 Binary files a/themes/skins4.0/web/imgs/dhxgrid_web/tree/folder.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxgrid_web/tree/leaf.gif b/themes/skins4.0/web/imgs/dhxgrid_web/tree/leaf.gif deleted file mode 100644 index deca307..0000000 Binary files a/themes/skins4.0/web/imgs/dhxgrid_web/tree/leaf.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxgrid_web/tree/line.gif b/themes/skins4.0/web/imgs/dhxgrid_web/tree/line.gif deleted file mode 100644 index b4f560c..0000000 Binary files a/themes/skins4.0/web/imgs/dhxgrid_web/tree/line.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxgrid_web/tree/line1.gif b/themes/skins4.0/web/imgs/dhxgrid_web/tree/line1.gif deleted file mode 100644 index b4f560c..0000000 Binary files a/themes/skins4.0/web/imgs/dhxgrid_web/tree/line1.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxgrid_web/tree/line2.gif b/themes/skins4.0/web/imgs/dhxgrid_web/tree/line2.gif deleted file mode 100644 index 23b2ce3..0000000 Binary files a/themes/skins4.0/web/imgs/dhxgrid_web/tree/line2.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxgrid_web/tree/line3.gif b/themes/skins4.0/web/imgs/dhxgrid_web/tree/line3.gif deleted file mode 100644 index 43152c5..0000000 Binary files a/themes/skins4.0/web/imgs/dhxgrid_web/tree/line3.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxgrid_web/tree/line4.gif b/themes/skins4.0/web/imgs/dhxgrid_web/tree/line4.gif deleted file mode 100644 index 907fe7a..0000000 Binary files a/themes/skins4.0/web/imgs/dhxgrid_web/tree/line4.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxgrid_web/tree/minus.gif b/themes/skins4.0/web/imgs/dhxgrid_web/tree/minus.gif deleted file mode 100644 index 77d3b97..0000000 Binary files a/themes/skins4.0/web/imgs/dhxgrid_web/tree/minus.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxgrid_web/tree/minus1.gif b/themes/skins4.0/web/imgs/dhxgrid_web/tree/minus1.gif deleted file mode 100644 index a31abe2..0000000 Binary files a/themes/skins4.0/web/imgs/dhxgrid_web/tree/minus1.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxgrid_web/tree/minus2.gif b/themes/skins4.0/web/imgs/dhxgrid_web/tree/minus2.gif deleted file mode 100644 index 9828911..0000000 Binary files a/themes/skins4.0/web/imgs/dhxgrid_web/tree/minus2.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxgrid_web/tree/minus3.gif b/themes/skins4.0/web/imgs/dhxgrid_web/tree/minus3.gif deleted file mode 100644 index df8b060..0000000 Binary files a/themes/skins4.0/web/imgs/dhxgrid_web/tree/minus3.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxgrid_web/tree/minus4.gif b/themes/skins4.0/web/imgs/dhxgrid_web/tree/minus4.gif deleted file mode 100644 index 2b456f8..0000000 Binary files a/themes/skins4.0/web/imgs/dhxgrid_web/tree/minus4.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxgrid_web/tree/minus5.gif b/themes/skins4.0/web/imgs/dhxgrid_web/tree/minus5.gif deleted file mode 100644 index 2827d81..0000000 Binary files a/themes/skins4.0/web/imgs/dhxgrid_web/tree/minus5.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxgrid_web/tree/plus.gif b/themes/skins4.0/web/imgs/dhxgrid_web/tree/plus.gif deleted file mode 100644 index 7e2bf79..0000000 Binary files a/themes/skins4.0/web/imgs/dhxgrid_web/tree/plus.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxgrid_web/tree/plus1.gif b/themes/skins4.0/web/imgs/dhxgrid_web/tree/plus1.gif deleted file mode 100644 index 7b723c2..0000000 Binary files a/themes/skins4.0/web/imgs/dhxgrid_web/tree/plus1.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxgrid_web/tree/plus2.gif b/themes/skins4.0/web/imgs/dhxgrid_web/tree/plus2.gif deleted file mode 100644 index d5aa3b7..0000000 Binary files a/themes/skins4.0/web/imgs/dhxgrid_web/tree/plus2.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxgrid_web/tree/plus3.gif b/themes/skins4.0/web/imgs/dhxgrid_web/tree/plus3.gif deleted file mode 100644 index 165bd73..0000000 Binary files a/themes/skins4.0/web/imgs/dhxgrid_web/tree/plus3.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxgrid_web/tree/plus4.gif b/themes/skins4.0/web/imgs/dhxgrid_web/tree/plus4.gif deleted file mode 100644 index e87b3c6..0000000 Binary files a/themes/skins4.0/web/imgs/dhxgrid_web/tree/plus4.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxgrid_web/tree/plus5.gif b/themes/skins4.0/web/imgs/dhxgrid_web/tree/plus5.gif deleted file mode 100644 index 3dd3987..0000000 Binary files a/themes/skins4.0/web/imgs/dhxgrid_web/tree/plus5.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxlayout_web/dhxlayout_cell_btns.gif b/themes/skins4.0/web/imgs/dhxlayout_web/dhxlayout_cell_btns.gif deleted file mode 100644 index 98a24e1..0000000 Binary files a/themes/skins4.0/web/imgs/dhxlayout_web/dhxlayout_cell_btns.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxlayout_web/dhxlayout_cell_progress.gif b/themes/skins4.0/web/imgs/dhxlayout_web/dhxlayout_cell_progress.gif deleted file mode 100644 index c3ccb00..0000000 Binary files a/themes/skins4.0/web/imgs/dhxlayout_web/dhxlayout_cell_progress.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxlayout_web/dhxlayout_sep_h.gif b/themes/skins4.0/web/imgs/dhxlayout_web/dhxlayout_sep_h.gif deleted file mode 100644 index 3ed1968..0000000 Binary files a/themes/skins4.0/web/imgs/dhxlayout_web/dhxlayout_sep_h.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxlayout_web/dhxlayout_sep_v.gif b/themes/skins4.0/web/imgs/dhxlayout_web/dhxlayout_sep_v.gif deleted file mode 100644 index fce430e..0000000 Binary files a/themes/skins4.0/web/imgs/dhxlayout_web/dhxlayout_sep_v.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxmenu_web/dhxmenu_arrow_down.gif b/themes/skins4.0/web/imgs/dhxmenu_web/dhxmenu_arrow_down.gif deleted file mode 100644 index 60be3f7..0000000 Binary files a/themes/skins4.0/web/imgs/dhxmenu_web/dhxmenu_arrow_down.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxmenu_web/dhxmenu_arrow_down_dis.gif b/themes/skins4.0/web/imgs/dhxmenu_web/dhxmenu_arrow_down_dis.gif deleted file mode 100644 index d849732..0000000 Binary files a/themes/skins4.0/web/imgs/dhxmenu_web/dhxmenu_arrow_down_dis.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxmenu_web/dhxmenu_arrow_up.gif b/themes/skins4.0/web/imgs/dhxmenu_web/dhxmenu_arrow_up.gif deleted file mode 100644 index c23a23a..0000000 Binary files a/themes/skins4.0/web/imgs/dhxmenu_web/dhxmenu_arrow_up.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxmenu_web/dhxmenu_arrow_up_dis.gif b/themes/skins4.0/web/imgs/dhxmenu_web/dhxmenu_arrow_up_dis.gif deleted file mode 100644 index a43cfe3..0000000 Binary files a/themes/skins4.0/web/imgs/dhxmenu_web/dhxmenu_arrow_up_dis.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxmenu_web/dhxmenu_chrd.gif b/themes/skins4.0/web/imgs/dhxmenu_web/dhxmenu_chrd.gif deleted file mode 100644 index 040e5e8..0000000 Binary files a/themes/skins4.0/web/imgs/dhxmenu_web/dhxmenu_chrd.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxmenu_web/dhxmenu_loader.gif b/themes/skins4.0/web/imgs/dhxmenu_web/dhxmenu_loader.gif deleted file mode 100644 index 9ef515f..0000000 Binary files a/themes/skins4.0/web/imgs/dhxmenu_web/dhxmenu_loader.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxmenu_web/dhxmenu_subar.gif b/themes/skins4.0/web/imgs/dhxmenu_web/dhxmenu_subar.gif deleted file mode 100644 index 35dbd98..0000000 Binary files a/themes/skins4.0/web/imgs/dhxmenu_web/dhxmenu_subar.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxpopup_web/dhxpopup_arrow_bottom.gif b/themes/skins4.0/web/imgs/dhxpopup_web/dhxpopup_arrow_bottom.gif deleted file mode 100644 index 8b1ee4c..0000000 Binary files a/themes/skins4.0/web/imgs/dhxpopup_web/dhxpopup_arrow_bottom.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxpopup_web/dhxpopup_arrow_left.gif b/themes/skins4.0/web/imgs/dhxpopup_web/dhxpopup_arrow_left.gif deleted file mode 100644 index 32d503d..0000000 Binary files a/themes/skins4.0/web/imgs/dhxpopup_web/dhxpopup_arrow_left.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxpopup_web/dhxpopup_arrow_right.gif b/themes/skins4.0/web/imgs/dhxpopup_web/dhxpopup_arrow_right.gif deleted file mode 100644 index 2641ee5..0000000 Binary files a/themes/skins4.0/web/imgs/dhxpopup_web/dhxpopup_arrow_right.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxpopup_web/dhxpopup_arrow_top.gif b/themes/skins4.0/web/imgs/dhxpopup_web/dhxpopup_arrow_top.gif deleted file mode 100644 index a34437e..0000000 Binary files a/themes/skins4.0/web/imgs/dhxpopup_web/dhxpopup_arrow_top.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxribbon_web/dhxribbon_arrow.gif b/themes/skins4.0/web/imgs/dhxribbon_web/dhxribbon_arrow.gif deleted file mode 100644 index f64e20b..0000000 Binary files a/themes/skins4.0/web/imgs/dhxribbon_web/dhxribbon_arrow.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxribbon_web/dhxribbon_checked.gif b/themes/skins4.0/web/imgs/dhxribbon_web/dhxribbon_checked.gif deleted file mode 100644 index 9109202..0000000 Binary files a/themes/skins4.0/web/imgs/dhxribbon_web/dhxribbon_checked.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxribbon_web/dhxribbon_checked_dis.gif b/themes/skins4.0/web/imgs/dhxribbon_web/dhxribbon_checked_dis.gif deleted file mode 100644 index 842e84f..0000000 Binary files a/themes/skins4.0/web/imgs/dhxribbon_web/dhxribbon_checked_dis.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxsidebar_web/dhxsidebar_arrow_down.gif b/themes/skins4.0/web/imgs/dhxsidebar_web/dhxsidebar_arrow_down.gif deleted file mode 100644 index 38fe0c9..0000000 Binary files a/themes/skins4.0/web/imgs/dhxsidebar_web/dhxsidebar_arrow_down.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxsidebar_web/dhxsidebar_arrow_up.gif b/themes/skins4.0/web/imgs/dhxsidebar_web/dhxsidebar_arrow_up.gif deleted file mode 100644 index 6f7fb10..0000000 Binary files a/themes/skins4.0/web/imgs/dhxsidebar_web/dhxsidebar_arrow_up.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxsidebar_web/dhxsidebar_cell_progress.gif b/themes/skins4.0/web/imgs/dhxsidebar_web/dhxsidebar_cell_progress.gif deleted file mode 100644 index ff9a5e6..0000000 Binary files a/themes/skins4.0/web/imgs/dhxsidebar_web/dhxsidebar_cell_progress.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxsidebar_web/dhxsidebar_side_icon.gif b/themes/skins4.0/web/imgs/dhxsidebar_web/dhxsidebar_side_icon.gif deleted file mode 100644 index d42cf12..0000000 Binary files a/themes/skins4.0/web/imgs/dhxsidebar_web/dhxsidebar_side_icon.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxtabbar_web/dhxtabbar_arrows.gif b/themes/skins4.0/web/imgs/dhxtabbar_web/dhxtabbar_arrows.gif deleted file mode 100644 index 2dc3679..0000000 Binary files a/themes/skins4.0/web/imgs/dhxtabbar_web/dhxtabbar_arrows.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxtabbar_web/dhxtabbar_button_close.gif b/themes/skins4.0/web/imgs/dhxtabbar_web/dhxtabbar_button_close.gif deleted file mode 100644 index 8bc64e4..0000000 Binary files a/themes/skins4.0/web/imgs/dhxtabbar_web/dhxtabbar_button_close.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxtabbar_web/dhxtabbar_cell_progress.gif b/themes/skins4.0/web/imgs/dhxtabbar_web/dhxtabbar_cell_progress.gif deleted file mode 100644 index c3ccb00..0000000 Binary files a/themes/skins4.0/web/imgs/dhxtabbar_web/dhxtabbar_cell_progress.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxtoolbar_web/dhxtoolbar_arrow.gif b/themes/skins4.0/web/imgs/dhxtoolbar_web/dhxtoolbar_arrow.gif deleted file mode 100644 index bb37cd1..0000000 Binary files a/themes/skins4.0/web/imgs/dhxtoolbar_web/dhxtoolbar_arrow.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxtoolbar_web/dhxtoolbar_arrow_dis.gif b/themes/skins4.0/web/imgs/dhxtoolbar_web/dhxtoolbar_arrow_dis.gif deleted file mode 100644 index 14af3f0..0000000 Binary files a/themes/skins4.0/web/imgs/dhxtoolbar_web/dhxtoolbar_arrow_dis.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxtree_web/blank.gif b/themes/skins4.0/web/imgs/dhxtree_web/blank.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/skins4.0/web/imgs/dhxtree_web/blank.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxtree_web/but_cut.gif b/themes/skins4.0/web/imgs/dhxtree_web/but_cut.gif deleted file mode 100644 index 942bd18..0000000 Binary files a/themes/skins4.0/web/imgs/dhxtree_web/but_cut.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxtree_web/folderClosed.gif b/themes/skins4.0/web/imgs/dhxtree_web/folderClosed.gif deleted file mode 100644 index 4b7e76d..0000000 Binary files a/themes/skins4.0/web/imgs/dhxtree_web/folderClosed.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxtree_web/folderOpen.gif b/themes/skins4.0/web/imgs/dhxtree_web/folderOpen.gif deleted file mode 100644 index 29ce5e8..0000000 Binary files a/themes/skins4.0/web/imgs/dhxtree_web/folderOpen.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxtree_web/iconCheckAll.gif b/themes/skins4.0/web/imgs/dhxtree_web/iconCheckAll.gif deleted file mode 100644 index 8868f58..0000000 Binary files a/themes/skins4.0/web/imgs/dhxtree_web/iconCheckAll.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxtree_web/iconCheckDis.gif b/themes/skins4.0/web/imgs/dhxtree_web/iconCheckDis.gif deleted file mode 100644 index 82672fc..0000000 Binary files a/themes/skins4.0/web/imgs/dhxtree_web/iconCheckDis.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxtree_web/iconCheckGray.gif b/themes/skins4.0/web/imgs/dhxtree_web/iconCheckGray.gif deleted file mode 100644 index 0a491cc..0000000 Binary files a/themes/skins4.0/web/imgs/dhxtree_web/iconCheckGray.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxtree_web/iconUncheckAll.gif b/themes/skins4.0/web/imgs/dhxtree_web/iconUncheckAll.gif deleted file mode 100644 index f91ca21..0000000 Binary files a/themes/skins4.0/web/imgs/dhxtree_web/iconUncheckAll.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxtree_web/iconUncheckDis.gif b/themes/skins4.0/web/imgs/dhxtree_web/iconUncheckDis.gif deleted file mode 100644 index 71e8644..0000000 Binary files a/themes/skins4.0/web/imgs/dhxtree_web/iconUncheckDis.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxtree_web/leaf.gif b/themes/skins4.0/web/imgs/dhxtree_web/leaf.gif deleted file mode 100644 index deca307..0000000 Binary files a/themes/skins4.0/web/imgs/dhxtree_web/leaf.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxtree_web/line.gif b/themes/skins4.0/web/imgs/dhxtree_web/line.gif deleted file mode 100644 index b4f560c..0000000 Binary files a/themes/skins4.0/web/imgs/dhxtree_web/line.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxtree_web/line1.gif b/themes/skins4.0/web/imgs/dhxtree_web/line1.gif deleted file mode 100644 index b4f560c..0000000 Binary files a/themes/skins4.0/web/imgs/dhxtree_web/line1.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxtree_web/line1_rtl.gif b/themes/skins4.0/web/imgs/dhxtree_web/line1_rtl.gif deleted file mode 100644 index bf32db2..0000000 Binary files a/themes/skins4.0/web/imgs/dhxtree_web/line1_rtl.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxtree_web/line2.gif b/themes/skins4.0/web/imgs/dhxtree_web/line2.gif deleted file mode 100644 index 23b2ce3..0000000 Binary files a/themes/skins4.0/web/imgs/dhxtree_web/line2.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxtree_web/line2_rtl.gif b/themes/skins4.0/web/imgs/dhxtree_web/line2_rtl.gif deleted file mode 100644 index 6ec17b5..0000000 Binary files a/themes/skins4.0/web/imgs/dhxtree_web/line2_rtl.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxtree_web/line3.gif b/themes/skins4.0/web/imgs/dhxtree_web/line3.gif deleted file mode 100644 index 43152c5..0000000 Binary files a/themes/skins4.0/web/imgs/dhxtree_web/line3.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxtree_web/line3_rtl.gif b/themes/skins4.0/web/imgs/dhxtree_web/line3_rtl.gif deleted file mode 100644 index 74a874c..0000000 Binary files a/themes/skins4.0/web/imgs/dhxtree_web/line3_rtl.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxtree_web/line4.gif b/themes/skins4.0/web/imgs/dhxtree_web/line4.gif deleted file mode 100644 index 907fe7a..0000000 Binary files a/themes/skins4.0/web/imgs/dhxtree_web/line4.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxtree_web/line4_rtl.gif b/themes/skins4.0/web/imgs/dhxtree_web/line4_rtl.gif deleted file mode 100644 index 5c7e162..0000000 Binary files a/themes/skins4.0/web/imgs/dhxtree_web/line4_rtl.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxtree_web/lock.gif b/themes/skins4.0/web/imgs/dhxtree_web/lock.gif deleted file mode 100644 index 49b855a..0000000 Binary files a/themes/skins4.0/web/imgs/dhxtree_web/lock.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxtree_web/minus.gif b/themes/skins4.0/web/imgs/dhxtree_web/minus.gif deleted file mode 100644 index 77d3b97..0000000 Binary files a/themes/skins4.0/web/imgs/dhxtree_web/minus.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxtree_web/minus1.gif b/themes/skins4.0/web/imgs/dhxtree_web/minus1.gif deleted file mode 100644 index a31abe2..0000000 Binary files a/themes/skins4.0/web/imgs/dhxtree_web/minus1.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxtree_web/minus2.gif b/themes/skins4.0/web/imgs/dhxtree_web/minus2.gif deleted file mode 100644 index 9828911..0000000 Binary files a/themes/skins4.0/web/imgs/dhxtree_web/minus2.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxtree_web/minus2_rtl.gif b/themes/skins4.0/web/imgs/dhxtree_web/minus2_rtl.gif deleted file mode 100644 index 75ea68a..0000000 Binary files a/themes/skins4.0/web/imgs/dhxtree_web/minus2_rtl.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxtree_web/minus3.gif b/themes/skins4.0/web/imgs/dhxtree_web/minus3.gif deleted file mode 100644 index df8b060..0000000 Binary files a/themes/skins4.0/web/imgs/dhxtree_web/minus3.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxtree_web/minus3_rtl.gif b/themes/skins4.0/web/imgs/dhxtree_web/minus3_rtl.gif deleted file mode 100644 index 62a0b55..0000000 Binary files a/themes/skins4.0/web/imgs/dhxtree_web/minus3_rtl.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxtree_web/minus4.gif b/themes/skins4.0/web/imgs/dhxtree_web/minus4.gif deleted file mode 100644 index 2b456f8..0000000 Binary files a/themes/skins4.0/web/imgs/dhxtree_web/minus4.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxtree_web/minus4_rtl.gif b/themes/skins4.0/web/imgs/dhxtree_web/minus4_rtl.gif deleted file mode 100644 index 02eb13c..0000000 Binary files a/themes/skins4.0/web/imgs/dhxtree_web/minus4_rtl.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxtree_web/minus5.gif b/themes/skins4.0/web/imgs/dhxtree_web/minus5.gif deleted file mode 100644 index 2827d81..0000000 Binary files a/themes/skins4.0/web/imgs/dhxtree_web/minus5.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxtree_web/minus5_rtl.gif b/themes/skins4.0/web/imgs/dhxtree_web/minus5_rtl.gif deleted file mode 100644 index 31df871..0000000 Binary files a/themes/skins4.0/web/imgs/dhxtree_web/minus5_rtl.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxtree_web/plus.gif b/themes/skins4.0/web/imgs/dhxtree_web/plus.gif deleted file mode 100644 index 7e2bf79..0000000 Binary files a/themes/skins4.0/web/imgs/dhxtree_web/plus.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxtree_web/plus1.gif b/themes/skins4.0/web/imgs/dhxtree_web/plus1.gif deleted file mode 100644 index 7b723c2..0000000 Binary files a/themes/skins4.0/web/imgs/dhxtree_web/plus1.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxtree_web/plus2.gif b/themes/skins4.0/web/imgs/dhxtree_web/plus2.gif deleted file mode 100644 index d5aa3b7..0000000 Binary files a/themes/skins4.0/web/imgs/dhxtree_web/plus2.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxtree_web/plus2_rtl.gif b/themes/skins4.0/web/imgs/dhxtree_web/plus2_rtl.gif deleted file mode 100644 index 1a6dda5..0000000 Binary files a/themes/skins4.0/web/imgs/dhxtree_web/plus2_rtl.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxtree_web/plus3.gif b/themes/skins4.0/web/imgs/dhxtree_web/plus3.gif deleted file mode 100644 index 165bd73..0000000 Binary files a/themes/skins4.0/web/imgs/dhxtree_web/plus3.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxtree_web/plus3_rtl.gif b/themes/skins4.0/web/imgs/dhxtree_web/plus3_rtl.gif deleted file mode 100644 index 28b55f6..0000000 Binary files a/themes/skins4.0/web/imgs/dhxtree_web/plus3_rtl.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxtree_web/plus4.gif b/themes/skins4.0/web/imgs/dhxtree_web/plus4.gif deleted file mode 100644 index e87b3c6..0000000 Binary files a/themes/skins4.0/web/imgs/dhxtree_web/plus4.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxtree_web/plus4_rtl.gif b/themes/skins4.0/web/imgs/dhxtree_web/plus4_rtl.gif deleted file mode 100644 index 38a5868..0000000 Binary files a/themes/skins4.0/web/imgs/dhxtree_web/plus4_rtl.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxtree_web/plus5.gif b/themes/skins4.0/web/imgs/dhxtree_web/plus5.gif deleted file mode 100644 index 3dd3987..0000000 Binary files a/themes/skins4.0/web/imgs/dhxtree_web/plus5.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxtree_web/plus5_rtl.gif b/themes/skins4.0/web/imgs/dhxtree_web/plus5_rtl.gif deleted file mode 100644 index 080214e..0000000 Binary files a/themes/skins4.0/web/imgs/dhxtree_web/plus5_rtl.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxtree_web/radio_off.gif b/themes/skins4.0/web/imgs/dhxtree_web/radio_off.gif deleted file mode 100644 index 6087139..0000000 Binary files a/themes/skins4.0/web/imgs/dhxtree_web/radio_off.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxtree_web/radio_on.gif b/themes/skins4.0/web/imgs/dhxtree_web/radio_on.gif deleted file mode 100644 index 2d60066..0000000 Binary files a/themes/skins4.0/web/imgs/dhxtree_web/radio_on.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxtreeview_web/icon_chbx_0.gif b/themes/skins4.0/web/imgs/dhxtreeview_web/icon_chbx_0.gif deleted file mode 100644 index f91ca21..0000000 Binary files a/themes/skins4.0/web/imgs/dhxtreeview_web/icon_chbx_0.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxtreeview_web/icon_chbx_1.gif b/themes/skins4.0/web/imgs/dhxtreeview_web/icon_chbx_1.gif deleted file mode 100644 index 8868f58..0000000 Binary files a/themes/skins4.0/web/imgs/dhxtreeview_web/icon_chbx_1.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxtreeview_web/icon_chbx_dis_0.gif b/themes/skins4.0/web/imgs/dhxtreeview_web/icon_chbx_dis_0.gif deleted file mode 100644 index 00e8e5a..0000000 Binary files a/themes/skins4.0/web/imgs/dhxtreeview_web/icon_chbx_dis_0.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxtreeview_web/icon_chbx_dis_1.gif b/themes/skins4.0/web/imgs/dhxtreeview_web/icon_chbx_dis_1.gif deleted file mode 100644 index 82672fc..0000000 Binary files a/themes/skins4.0/web/imgs/dhxtreeview_web/icon_chbx_dis_1.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxtreeview_web/icon_file.gif b/themes/skins4.0/web/imgs/dhxtreeview_web/icon_file.gif deleted file mode 100644 index deca307..0000000 Binary files a/themes/skins4.0/web/imgs/dhxtreeview_web/icon_file.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxtreeview_web/icon_folder_closed.gif b/themes/skins4.0/web/imgs/dhxtreeview_web/icon_folder_closed.gif deleted file mode 100644 index 4b7e76d..0000000 Binary files a/themes/skins4.0/web/imgs/dhxtreeview_web/icon_folder_closed.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxtreeview_web/icon_folder_opened.gif b/themes/skins4.0/web/imgs/dhxtreeview_web/icon_folder_opened.gif deleted file mode 100644 index 29ce5e8..0000000 Binary files a/themes/skins4.0/web/imgs/dhxtreeview_web/icon_folder_opened.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxtreeview_web/icon_minus.gif b/themes/skins4.0/web/imgs/dhxtreeview_web/icon_minus.gif deleted file mode 100644 index 77d3b97..0000000 Binary files a/themes/skins4.0/web/imgs/dhxtreeview_web/icon_minus.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxtreeview_web/icon_plus.gif b/themes/skins4.0/web/imgs/dhxtreeview_web/icon_plus.gif deleted file mode 100644 index 7e2bf79..0000000 Binary files a/themes/skins4.0/web/imgs/dhxtreeview_web/icon_plus.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxtreeview_web/loading.gif b/themes/skins4.0/web/imgs/dhxtreeview_web/loading.gif deleted file mode 100644 index d91e279..0000000 Binary files a/themes/skins4.0/web/imgs/dhxtreeview_web/loading.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxwins_web/dhxwins_buttons.gif b/themes/skins4.0/web/imgs/dhxwins_web/dhxwins_buttons.gif deleted file mode 100644 index 540cc5c..0000000 Binary files a/themes/skins4.0/web/imgs/dhxwins_web/dhxwins_buttons.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxwins_web/dhxwins_icon.gif b/themes/skins4.0/web/imgs/dhxwins_web/dhxwins_icon.gif deleted file mode 100644 index 3dbe25d..0000000 Binary files a/themes/skins4.0/web/imgs/dhxwins_web/dhxwins_icon.gif and /dev/null differ diff --git a/themes/skins4.0/web/imgs/dhxwins_web/dhxwins_progress.gif b/themes/skins4.0/web/imgs/dhxwins_web/dhxwins_progress.gif deleted file mode 100644 index ff9a5e6..0000000 Binary files a/themes/skins4.0/web/imgs/dhxwins_web/dhxwins_progress.gif and /dev/null differ diff --git a/themes/sources/dhtmlxAccordion/codebase/dhtmlxaccordion.js b/themes/sources/dhtmlxAccordion/codebase/dhtmlxaccordion.js deleted file mode 100644 index 5fe0579..0000000 --- a/themes/sources/dhtmlxAccordion/codebase/dhtmlxaccordion.js +++ /dev/null @@ -1,1250 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -function dhtmlXAccordion(base, skin) { - - var that = this; - var transData = window.dhx4.transDetect(); - - this.conf = { - skin: (skin||window.dhx4.skin||(typeof(dhtmlx)!="undefined"?dhtmlx.skin:null)||window.dhx4.skinDetect("dhxacc")||"material"), - css: "dhxacc", // css prefix for topcell mtb - icons_path: "", - icons_css: false, - multi_mode: false, - last_opened: null, // single_mode only - on_active_id: null, // id for onActive in single_mode, inner - on_active_click: false, // activation by click or by script - size_changed: true, - def_height: 90, // defult height - // items count - total_count: 0, - hiden_count: 0, - cont_w: null - }; - - // effects - this.conf.tr = { - prop: transData.transProp, // false if not available - ev: transData.transEv, - height_open: "height 0.2s cubic-bezier(0.25,0.1,0.25,1)", // cell open/close by click - height_close: "height 0.18s cubic-bezier(0.25,0.1,0.25,1)", // cell open/close by click - op_open: "opacity 0.16s ease-in", // cell_cont on open - op_close: "opacity 0.2s ease-out", // cell_cont on close - op_v_open: "1", // opacity for opened cell - op_v_close: "0.4", // opacity for closed cell - dnd_top: "top 0.16s" // dnd - }; - - // cells offsets - this.ofs = { - // working values, will generated by _applyOffsets - m:{}, // multi_mode - s:{}, // single_mode - // default offset, based on skyblue - def: { - m: { // multi_mode - left: 0, // horizontal offset between parent-edge and cell for both left and right sides - right: 0, // cell to edge from right - first: 0, // top before first - between: 8 // vertical offset between cells for multi_mode - }, - s: { // single_mode - left: 0, - right: 0, - first: 0, - between: -1, - last: 0 // last cell bottom's and bottom edge - } - }, - // override by base (parentId), if base._ofs attr is set, used in attachComponent() - base: { - s: {}, - m: {} - }, - // override by skin - skin: { - dhx_web: { - s: { between: 3 }, - m: { between: 3 } - }, - dhx_terrace: { - m: { between: 12, left: 0, right: 0 } - }, - material: { - m: { between: 12, left: 0, right: 0 } - } - } - }; - - // open/close fix - if (navigator.userAgent.indexOf("MSIE") >= 0 || navigator.userAgent.indexOf("Trident") >= 0) { - // ie10, ie11 - this.conf.tr.height_open = this.conf.tr.height_close; - } else { - // ff, opera, chrome - good - this.conf.tr.height_open = this.conf.tr.height_close; - } - - var apiInit = null; - if (typeof(base) == "object" && !base.tagName) { - apiInit = {}; - for (var a in base) { - apiInit[a] = base[a]; - base[a] = null; - } - base = apiInit.parent; - apiInit.parent = null; - } - - // init top container - window.dhtmlXCellTop.apply(this, [base, base._ofs]); - this._adjustCont(); - - // offset fix, base override - if (this.base._ofs != null) { - for (var mode in this.ofs.base) { - if (this.base._ofs[mode] != null) { - for (var a in this.base._ofs[mode]) this.ofs.base[mode][a] = this.base._ofs[mode][a]; - } - } - } - - this._applyOffsets = function() { - // 1) default - // 2) skin override if any - // 3) base._ofs override if any - for (var mode in this.ofs.def) { - var def = this.ofs.def[mode]; - var skin = (this.ofs.skin[this.conf.skin] != null && this.ofs.skin[this.conf.skin][mode] != null ? this.ofs.skin[this.conf.skin][mode] : null); - var base = (this.base._ofs != null ? this.base._ofs[mode] : null); - for (var a in def) { - if (skin != null && skin[a] != null) { - this.ofs[mode][a] = skin[a]; - } else if (base != null && base[a] != null) { - this.ofs[mode][a] = base[a]; - } else { - this.ofs[mode][a] = def[a]; - } - } - } - } - this._applyOffsets(); - - this.t = {}; - - this.addItem = function(id, text, open, height, icon) { - - // open - open/close new in 4.0, true by default, close prev item if any in single_mode - // height - for multi_mode, new in 4.0 - - // create cell - // extend hdr - // open/close - // depending on mode - calculate width/height - - if (id == null) id = "a"+window.dhx4.newId(); - while (this.t[id] != null) id = "a"+window.dhx4.newId(); - - var cell = new dhtmlXAccordionCell(id, this); - cell.conf.skin = this.conf.skin; - cell.setText(text); - if (icon != null) cell.setIcon(icon); - - cell.cell._accId = id; - cell.cell.childNodes[cell.conf.idx.hdr].onselectstart = function(e) { - e = e||event; - if (e.preventDefault) e.preventDefault(); else e.returnValue = false; - return false; - } - cell.cell.childNodes[cell.conf.idx.hdr].onclick = function(e) { - e = e||event; - if (e.preventDefault) e.preventDefault(); else e.returnValue = false; - if (that._dnd != null && that._dnd.ofs == true) return; // dnd - var t = (e.target||e.srcElement); - var id = null; - while (t._accId != this && id == null) { - if (t._accId != null) id = t._accId; else t = t.parentNode; - } - if (id != null) that._hdrClick(id); - } - - this.t[id] = {cell: cell}; - - this.conf.total_count++; - - if (this.conf.multi_mode) { - - if (typeof(open) == "undefined") open = true; // opened by default if not set - - this.cont.appendChild(cell.cell); - - cell.conf.opened = (open==true); - if (typeof(height) == "undefined" || height == null || height == "*") { - if (height == "*") cell.conf.h_auto = true; - height = this.conf.def_height; - } else { - height = Math.max(parseInt(height),30); - } - - // dim - cell._setSize(this.ofs.m.left, 0, this.conf.cont_w||this._getAvailItemWidth(), cell.conf.opened?height:cell._getHdrHeight()); - cell.cell.style.marginTop = (cell.cell==this.cont.firstChild?this.ofs.m.first:this.ofs.m.between)+"px"; - if (open != true) { - cell.conf.size.h = height; - cell._adjustCell(); - cell.cell.className += " dhx_cell_closed"; - } - this._adjustOpened(); - - if (this._dnd != null) this._dndAttachEvent(id); - - } else { - - // closed by default or force if first node - open = (this.conf.last_opened==null?true:window.dhx4.s2b(open)); - - var h = this._updateCellsHeight(); - - // close prev already opened cell if any or reduce height - if (this.conf.last_opened != null) { - if (open) { - this._closeItem(this.conf.last_opened, false); - } else { - var openedCell = this.t[this.conf.last_opened].cell; - openedCell._setSize(openedCell.conf.size.x, openedCell.conf.size.y, openedCell.conf.size.w, h); - openedCell = null; - } - } - this.cont.appendChild(cell.cell); - cell.conf.opened = open; - cell.cell.style.marginTop = String(cell.cell==this.cont.firstChild?this.ofs.s.first:this.ofs.s.between)+"px"; - - cell._setSize(this.ofs.s.left, 0, this.conf.cont_w||this._getAvailItemWidth(), open?h:cell._getHdrHeight()); - if (open) { - this.conf.last_opened = id; - } else { - cell.conf.size.h = h; - cell._adjustCell(); - cell.cell.className += " dhx_cell_closed"; - } - - } - - cell = null; - - return this.t[id].cell; - } - - this.removeItem = function(id) { - - if (!this.t[id]) return; - if (this.conf.last_opened == id) this.conf.last_opened = null; - if (this.conf.on_active_id == id) this.conf.on_active_id = null; - - if (this._dnd != null) this._dndClearCell(id); - - this.conf.total_count--; - if (!this.conf.multi_mode && !this.t[id].cell.conf.visible) this.conf.hiden_count--; - - this.t[id].cell._unload(); - this.t[id].cell = null; - this.t[id] = null; - delete this.t[id]; - - if (!this.conf.unloading) { - if (!this.conf.multi_mode) this._updateCellsMargin(); - this.setSizes(); - } - } - - this.cells = function(id) { - return this.t[id].cell; - } - - this.enableMultiMode = function(yScrollMode, defaultHeight) { // disabled by default - this.conf.multi_mode = true; - if (!isNaN(defaultHeight)) this.conf.def_height = defaultHeight; - if (yScrollMode == "auto" || yScrollMode == "scroll") { - this.cont.style.overflowX = "hidden"; - this.cont.style.overflowY = yScrollMode; - } else { - this.cont.style.overflow = "visible"; - } - } - - this.forEachItem = function(func) { - for (var a in this.t) { - if (typeof(func) == "function") { - func.apply(this, [this.t[a].cell]); - } else { - if (typeof(func) == "string" && typeof(window[func]) == "function") window[func].apply(this, [this.t[a].cell]); - } - } - } - - this._openItem = function(id, ef) { - - if (typeof(ef) == "undefined") ef = true; - - if (this.t[id].cell.conf.opened == false) { - - if (this.conf.multi_mode) { - - this.t[id].cell._open(ef); - - } else { - - if (this.conf.tr.prop == false) { - - // simple open/close - if (this.conf.last_opened != null) this.t[this.conf.last_opened].cell._close(false); - this.t[id].cell._open(false); - this.conf.last_opened = id; - - } else { - this.conf.on_active_id = id; - this.t[id].cell._open(ef); - if (this.conf.last_opened != null) this.t[this.conf.last_opened].cell._close(ef); - this.conf.last_opened = id; - } - } - } - } - - this._closeItem = function(id, ef) { - if (typeof(ef) == "undefined") ef = true; - if (this.t[id].cell.conf.opened == true) { - this.t[id].cell._close(ef); - this.conf.last_opened = null; - } - } - - this._adjustOpened = function() { - - // multi_mode - only width, check v-scroll - // single_mode - width/height - - if (this.conf.multi_mode == true) { - - // new edition - if (this._openCache == null) { - var dynData = this._getDynData(); - for (var a in dynData) { - this.t[a].cell.conf.size.h = Math.max(dynData[a],0); - this.t[a].cell.cell.style.height = Math.max(dynData[a],0)+"px"; - } - } else { - var inProgress = false; - for (var a in this._openCache) inProgress = (inProgress||this._openCache[a]); - if (inProgress == true) return; - this._openCache = this._openId = null; - } - - var w2 = this._getAvailItemWidth(); - for (var a in this.t) { - var adj = true; - if (w2 == this.t[a].cell.conf.size.w && (this._openMode == "close" || this.t[a].cell.conf.opened == false)) adj = false; - if (adj) this.t[a].cell._setWidth(w2); - } - - this._openMode = null; - - } else { - if (this.conf.last_opened != null) { - var id = this.conf.last_opened; - this.t[id].cell._setSize(this.t[id].cell.conf.size.x, this.t[id].cell.conf.size.y, this.t[id].cell.conf.size.w, this.t[id].cell.conf.size.h); - } - } - } - - this._getDynData = function(toOpen, toClose) { - - // toOpen/toClose - static_or_dyn closed cell from _open() or _close(), - // cells shoule be included into calculations - if (typeof(toOpen) == "undefined" || toOpen == null) toOpen = {}; - if (typeof(toClose) == "undefined" || toClose == null) toClose = {}; - - var dynData = {}; - var dynCount = 0; - var h = 0; - var f0 = 0; // item index (visible only) - - for (var q=0; q 0) { - var hSum = this.cont.offsetHeight-h; - var h = Math.floor(hSum/dynCount); - for (var a in dynData) { - if (dynData[a] == true) { - if (dynCount > 1) hSum -= h; else h = hSum; // decrease main height each time, last item used all left height - dynData[a] = h; - dynCount--; - } - } - } - - return dynData; - - } - - this.setSizes = function() { - - this._adjustCont(); - if (this.conf.multi_mode == true) { - this._adjustOpened(); - } else { - this.conf.cont_w = null; // reset saved base width - var h = this._updateCellsHeight(); - for (var a in this.t) { - if (this.t[a].cell.conf.visible == true) { - this.t[a].cell._setSize(this.ofs.s.left, 0, this.conf.cont_w||this._getAvailItemWidth(), this.t[a].cell.conf.opened?h:this.t[a].cell._getHdrHeight()); - if (this.t[a].cell.conf.opened != true) { - this.t[a].cell.conf.size.h = h; - this.t[a].cell._adjustCell(); - } - } - } - this.conf.size_changed = true; // for cell-show, recall setSizes() - } - - this.callEvent("_onSetSizes", []); - } - - this.setSkin = function(skin) { - this._setBaseSkin(skin); - this.conf.skin = skin; - for (var a in this.t) { - this.t[a].cell.conf.cells_cont = null; // reset cached cells offsets - this.t[a].cell.conf.skin = this.conf.skin; - } - this._applyOffsets(); - this._updateCellsMargin(); - this.setSizes(); - } - - this.setIconsPath = function(path) { - this.conf.icons_path = path; - } - - this._getAvailItemWidth = function() { - // - var p = this.ofs[(this.conf.multi_mode?"m":"s")]; - var w = Math.max(this.cont.clientWidth-p.left-p.right, 10); - this.conf.cont_w = w; - p = null; - return w; - } - - this._updateCellsHeight = function() { - - // single_mode only - if (this.conf.multi_mode == true) return; - - var k = this.conf.total_count-this.conf.hiden_count; // visible count - var h = this.cont.offsetHeight-this.ofs.s.last; - - if (k == 0) return h; - - // single item_heigth = header_height + content_height - // i.e. base_height - (visible_count-1)*header_height - var itemFound = false; - for (var q=0; q
                    "; - - this.cell.insertBefore(t, this.cell.childNodes[this.conf.idx.cont]); - t = null; - - // include into content top offset calculation - this.conf.ofs_nodes.t._getHdrHeight = "func"; - - // show/hide - this.conf.hdr = {visible: true}; - - // include into index - this.conf.idx_data.hdr = "dhx_cell_hdr"; - this._updateIdx(); - -}; - -dhtmlXAccordionCell.prototype._getHdrHeight = function() { - var t = this.cell.childNodes[this.conf.idx.hdr]; - var h = t.offsetHeight||t.offsetHeight; // fix for ie8 - sometimes on 1st check it gives 0 - t = null; - return h; -}; - -/* hdr visibility, added in 4.2.1 */ -dhtmlXAccordionCell.prototype.showHeader = function() { - if (this.conf.hdr.visible == true) return; - this.conf.hdr.visible = true; - this.cell.childNodes[this.conf.idx.hdr].className = "dhx_cell_hdr"; - this._adjustCont(this._idd); -}; - -dhtmlXAccordionCell.prototype.hideHeader = function() { - if (this.conf.hdr.visible != true) return; - this.conf.hdr.visible = false; - this.cell.childNodes[this.conf.idx.hdr].className = "dhx_cell_hdr dhx_cell_hdr_hidden"; - this._adjustCont(this._idd); -}; - -dhtmlXAccordionCell.prototype.isHeaderVisible = function() { - return (this.conf.hdr.visible==true); -}; - -/* hdr text */ -dhtmlXAccordionCell.prototype.setText = function(text) { - this.conf.text = text; - var t = this.cell.childNodes[this.conf.idx.hdr]; - t.childNodes[(t.firstChild.className=="dhx_cell_hdr_icon"?1:0)].innerHTML = ""+text+""; - t = null; -}; - -dhtmlXAccordionCell.prototype.getText = function() { - return this.conf.text; -}; - -/* header icon */ -dhtmlXAccordionCell.prototype.setIcon = function(icon) { - var t = this.cell.childNodes[this.conf.idx.hdr]; - if (this.acc.conf.icons_css == true) { - if ((t.firstChild.tagName||"").toLowerCase() != "i") { - t.firstChild.className += " dhx_cell_hdr_icon"; - var i = document.createElement("I"); - t.insertBefore(i, t.firstChild); - i = null; - } - t.firstChild.className = icon; - } else { - if (t.firstChild.className != "dhx_cell_hdr_icon") { - t.firstChild.className += " dhx_cell_hdr_icon"; - var k = document.createElement("IMG"); - k.className = "dhx_cell_hdr_icon"; - t.insertBefore(k, t.firstChild); - k = null; - } - t.firstChild.src = this.acc.conf.icons_path+icon; - } - t = null; -}; - -dhtmlXAccordionCell.prototype.clearIcon = function() { - var t = this.cell.childNodes[this.conf.idx.hdr]; - if (t.firstChild.className == "dhx_cell_hdr_icon" || (t.firstChild.tagName||"").toLowerCase() == "i") { - t.removeChild(t.firstChild); - t.firstChild.className = String(t.firstChild.className).replace(/\s{1,}dhx_cell_hdr_icon/gi,""); - } - t = null; -}; - -/* open/close */ -dhtmlXAccordionCell.prototype._open = function(ef) { - - var dynData = {}; - - if (this.acc.conf.multi_mode) { - - var toOpen = {}; - toOpen[this._idd] = true; - dynData = this.acc._getDynData(toOpen); - - this.acc._openId = this._idd; - this.acc._openCache = {}; - this.acc._openMode = "open"; - - } else { - - // h_auto cells not found, simple change height of current cell - dynData[this._idd] = this.conf.size.h; - - } - - for (var a in dynData) { - - if (this.acc._openCache != null) this.acc._openCache[a] = true; - - var t = this.acc.t[a].cell; - t.cell.className = String(t.cell.className).replace(/\s{1,}dhx_cell_closed/gi,""); - t.conf.opened = true; - t._trInitEv("open", ef); - t.conf.size.h = dynData[a]; - t.cell.style.height = t.conf.size.h+"px"; // restore last height - t = null; - - } - - // effect is not enabled, adjust cells after resize - if (this.conf.tr.prop == false) { - this.acc._openId = this.acc._openCache = this.acc._openMode = null; - this._onActiveCall(true); - } - -}; - -dhtmlXAccordionCell.prototype._close = function(ef) { - - var dynData = {}; - - if (this.acc.conf.multi_mode) { - - var toClose = {}; - toClose[this._idd] = true; - dynData = this.acc._getDynData(null, toClose); - - this.acc._openId = this._idd; - this.acc._openCache = {}; - this.acc._openMode = "close"; - - } else { - - dynData[this._idd] = this._getHdrHeight(); - } - - for (var a in dynData) { - - var t = this.acc.t[a].cell; - - if (this.acc._openCache != null) this.acc._openCache[a] = true; - if (a == this._idd) { - t.cell.className += " dhx_cell_closed"; - t.conf.opened = false; - t._trInitEv("close", ef); - } else { - // keep opened - t.conf.size.h = dynData[a]; - t._adjustCell(); - t._trInitEv("open", ef); - } - - t.cell.style.height = dynData[a]+"px"; // set height as hdr height - - t = null; - } - - if (this.conf.tr.prop == false) { - this.acc._openId = this.acc._openCache = this.acc._openMode = null; - this._onActiveCall(false); - } -}; - -dhtmlXAccordionCell.prototype.isOpened = function() { - return (this.conf.opened==true); -}; - -dhtmlXAccordionCell.prototype._trInitEv = function(mode, ef) { - - if (this.conf.tr.prop == false) return; - this._trAttachEv(); - - if (!this.cell._accObj) this.cell._accObj = this.acc; // acc obj for transion end - - // open with effect (usualy by click, w/o usualy on init stage) - if (ef) { - this.cell.style[this.conf.tr.prop] = this.conf.tr["height_"+mode]; - } - - // opacity - this._cellSetOpacity(mode, ef); -}; - -dhtmlXAccordionCell.prototype._trAttachEv = function() { - if (!this.conf.tr.ev_attached) { - this.cell._trProp = this.conf.tr.prop; - this.cell.addEventListener(this.conf.tr.ev, this._trOnEnd, false); - this.conf.tr.ev_attached = true; - } -}; -dhtmlXAccordionCell.prototype._trDetachEv = function() { - if (this.conf.tr.ev_attached) { - this.cell.addEventListener(this.conf.tr.ev, this._trOnEnd, false); - this.conf.tr.ev_attached = false; - } -}; - -dhtmlXAccordionCell.prototype._trOnEnd = function(ev) { - if (ev.stopPropagation) ev.stopPropagation(); - if (ev.propertyName == "height" && this._accObj != null) { - this.style[this._trProp] = ""; - if (this._accObj.conf.multi_mode) { - if (this._accObj._openCache != null) this._accObj._openCache[this._accId] = false; - this._accObj._adjustOpened(); - } - if (this._accObj.conf.on_active_click == true) { - if (this._accObj.conf.multi_mode) { - this._accObj._callMainEvent("onActive", [this._accId, this._accObj.t[this._accId].cell.conf.opened]); - this._accObj.conf.on_active_click = false; - } else { - if (this._accObj.conf.on_active_id != null) { - // trigger only open-state events for single-cell mode - this._accObj._callMainEvent("onActive", [this._accObj.conf.on_active_id, true]); - } - this._accObj.conf.on_active_id = null; - this._accObj.conf.on_active_click = false; - } - } - this._accObj = null; - } -}; - -dhtmlXAccordionCell.prototype._cellSetOpacity = function(mode, ef) { - // mode - "open"/"close" - for (var a in this.conf.idx) { - if ({hdr:true,pr1:true,pr2:true,cover:true}[a] != true) { // skip hdr and progress - if (ef) this.cell.childNodes[this.conf.idx[a]].style[this.conf.tr.prop] = this.conf.tr["op_"+mode]; - this.cell.childNodes[this.conf.idx[a]].style.opacity = this.conf.tr["op_v_"+mode]; - } - } -}; - -dhtmlXAccordionCell.prototype._onActiveCall = function(mode) { - if (this.acc.conf.on_active_click == false) return; - if (this.acc.conf.multi_mode == true) { - this.acc._callMainEvent("onActive", [this._idd, this.conf.opened]); - this.acc.conf.on_active_click = false; - } else { - // single_mode, call only for opened - if (mode == true) { - this.acc._callMainEvent("onActive",[this._idd, true]); - this.acc.conf.on_active_click = false; - } - } - -}; - -/* visibility */ -dhtmlXAccordionCell.prototype.show = function() { - if (this.conf.visible) return; - - if (this.conf.docked == false) { // if cell is undocked - show after dock - this.dock(); - return; - } - - this.cell.style.display = ""; - this.conf.visible = true; - if (!this.acc.conf.multi_mode) { - this.acc.conf.hiden_count--; - this.acc._updateCellsHeight(); - this.acc._updateCellsMargin(); - } - if (this.acc.conf.size_changed) { - this.acc.setSizes(); - this.acc.conf.size_changed = false; - } else { - this.acc._adjustOpened(); - } -}; - -dhtmlXAccordionCell.prototype.hide = function() { - if (!this.conf.visible) return; - if (!this.acc.conf.multi_mode && this.conf.opened) { // close before hide if any - this._close(false); - this.acc.conf.last_opened = null; - } - this.cell.style.display = "none"; - this.conf.visible = false; - if (!this.acc.conf.multi_mode) { - this.acc.conf.hiden_count++; - this.acc._updateCellsHeight(); - this.acc._updateCellsMargin(); - } - this.acc._adjustOpened(); -}; - -dhtmlXAccordionCell.prototype.isVisible = function() { - return (this.conf.visible==true); -}; - -/* height */ -dhtmlXAccordionCell.prototype.setHeight = function(h) { // multi_mode only - - if (!this.acc.conf.multi_mode) return; - - if (h == "*") { - this.conf.h_auto = true; - } else { - this.conf.h_auto = false; - this.conf.size.h = h; - } - - if (this.conf.opened) { - if (h != "*") this.cell.style.height = h+"px"; - this.acc._adjustOpened(); - } -}; - -/* position */ -dhtmlXAccordionCell.prototype.moveOnTop = function() { - if (this.cell.parentNode.firstChild == this.cell) return; // item moved - this.cell.parentNode.insertBefore(this.cell, this.cell.parentNode.firstChild); - this.acc._updateCellsMargin(); -}; - - -/* dock/undock */ -dhtmlXAccordionCell.prototype._initDocking = function() { - - var that = this; - - this.dock = function() { - - if (this.acc.dhxWins == null || this.conf.docked == true) return; - var w1 = this.acc.dhxWins.window(this._idd); - w1.close(); - - // move content - this._attachFromCell(w1); - this.conf.docked = true; - this.show(); - - if (this.conf.dock_opened) this.open(); - - w1 = null; - this.acc._callMainEvent("onDock", [this._idd]); - }; - - this.undock = function(x, y, w, h) { - - if (this.acc.dhxWins == null || this.conf.docked == false) return; - - this.conf.dock_opened = this.conf.opened; - - if (this.acc.dhxWins.window(this._idd) != null) { - var w1 = this.acc.dhxWins.window(this._idd); - w1.show(); - } else { - if (x == null) x = 20; - if (y == null) y = 20; - if (w == null) w = 320; - if (h == null) h = 200; - - var w1 = this.acc.dhxWins.createWindow(this._idd, x, y, w, h); - w1.button("close").hide(); - - // dock button - w1.addUserButton("dock", 99, "Dock"); - w1.button("dock").show(); - w1.button("dock").attachEvent("onClick", this._doOnDockClick); - - // text update only first time - w1.setText(this.getText()); - - // closeing - w1.attachEvent("onClose", this._doOnDockWinClose); - } - this.conf.docked = false; - this.hide(); - - // move content - w1._attachFromCell(this); - w1 = null; - - this.acc._callMainEvent("onUnDock", [this._idd]); - - } - - this._doOnDockClick = function() { - that.dock(); - } - this._doOnDockWinClose = function(win) { - win.hide(); - return false; - } - - this._unloadDocking = function() { - that = null; - } -}; - -dhtmlXCellObject.prototype.attachAccordion = function(conf) { - - this.callEvent("_onBeforeContentAttach",["acc"]); - - var obj = document.createElement("DIV"); - obj.style.width = "100%"; - obj.style.height = "100%"; - obj.style.position = "relative"; - this._attachObject(obj); - - if (typeof(conf) == "undefined") conf = {}; - if (typeof(conf.skin) == "undefined") conf.skin = this.conf.skin; - conf.parent = obj; - - if (typeof(window.dhtmlXAccordionCell) == "function" && this instanceof window.dhtmlXAccordionCell) { - if (this.conf.skin == "material") { - obj._ofs = {t:-1,r:-1,b:-1,l:-1}; // attach acc to acc - } else { - obj._ofs = { - s:{first:-1}, - m:{first:4} - } - } - } - - if (typeof(window.dhtmlXTabBarCell) == "function" && this instanceof window.dhtmlXTabBarCell) { - if (this.conf.skin == "dhx_skyblue" || this.conf.skin == "material") obj._ofs = {t:-1,r:-1,b:-1,l:-1}; - } - - if (typeof(window.dhtmlXSideBarCell) == "function" && this instanceof window.dhtmlXSideBarCell) { - if (this.conf.skin == "dhx_web") { - obj._ofs = {}; - if (this.sidebar.conf.autohide != true) obj._ofs.l = 2; - if (this.sidebar.conf.header == true) obj._ofs.t = 3; // default acc 'betweeb' conf for both single/multi modes for web skin - } else { - obj._ofs = {l:-1}; - if (this.conf.skin == "dhx_terrace") { - if (this.sidebar.conf.autohide == true) obj._ofs.l = 0; - if (this.sidebar.conf.header == true) obj._ofs.t = -1; - } - } - } - - if (typeof(window.dhtmlXCarouselCell) == "function" && this instanceof window.dhtmlXCarouselCell) { - this._hideBorders(); - } - - this.dataType = "acc"; - this.dataObj = new dhtmlXAccordion(conf); - - conf.parent = null; - obj = conf = null; - - this.callEvent("_onContentAttach",[]); - - return this.dataObj; -}; - diff --git a/themes/sources/dhtmlxAccordion/codebase/dhtmlxaccordion_deprecated.js b/themes/sources/dhtmlxAccordion/codebase/dhtmlxaccordion_deprecated.js deleted file mode 100644 index 188b289..0000000 --- a/themes/sources/dhtmlxAccordion/codebase/dhtmlxaccordion_deprecated.js +++ /dev/null @@ -1,62 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* deprecated */ -dhtmlXAccordion.prototype.setEffect = function(mode) { - // expand/collapse, dnd - // enabled for browsers which support html5 by default -}; -dhtmlXAccordion.prototype.setIcon = function(id, icon) { - this.cells(id).setIcon(icon); -}; -dhtmlXAccordion.prototype.clearIcon = function(id) { - this.cells(id).clearIcon(); -}; -dhtmlXAccordion.prototype.setActive = function(id) { - this.cells(id).open(); -}; -dhtmlXAccordion.prototype.isActive = function(id) { - return this.cells(id).isOpened(); -}; -dhtmlXAccordion.prototype.openItem = function(id) { - this.cells(id).open(); -}; -dhtmlXAccordion.prototype.closeItem = function(id) { - this.cells(id).close(); -}; -dhtmlXAccordion.prototype.moveOnTop = function(id) { - this.cells(id).moveOnTop(); -}; -dhtmlXAccordion.prototype.setItemHeight = function(h) { - this.cells(id).setHeight(h); -}; -dhtmlXAccordion.prototype.setText = function(id, text) { - this.cells(id).setText(text); -}; -dhtmlXAccordion.prototype.getText = function() { - return this.cells(id).getText(); -}; -dhtmlXAccordion.prototype.showItem = function(id) { - this.cells(id).show(); -}; -dhtmlXAccordion.prototype.hideItem = function(id) { - this.cells(id).hide(); -}; -dhtmlXAccordion.prototype.isItemHidden = function(id) { - return !this.cells(id).isVisible(); -}; -dhtmlXAccordion.prototype.loadJSON = function(data, callback) { - this.loadStruct(data, callback); -}; -dhtmlXAccordion.prototype.loadXML = function(data, callback) { - this.loadStruct(data, callback); -}; -dhtmlXAccordion.prototype.setSkinParameters = function(ofsBetween, ofsCont) { - if (ofsBetween != null) this.setOffset(ofsBetween); -}; - diff --git a/themes/sources/dhtmlxAccordion/codebase/ext/dhtmlxaccordion_dnd.js b/themes/sources/dhtmlxAccordion/codebase/ext/dhtmlxaccordion_dnd.js deleted file mode 100644 index e0ad55e..0000000 --- a/themes/sources/dhtmlxAccordion/codebase/ext/dhtmlxaccordion_dnd.js +++ /dev/null @@ -1,353 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -dhtmlXAccordion.prototype.enableDND = function() { - - if (this.conf.multi_mode == false || this._dnd != null) return; - - var that = this; - - this._dnd = { - tr_count: 0, - tr_items: {} - }; - - this._dndAttachEvent = function(id) { - var t = this.t[id].cell; - if (t.conf.dnd_inited != true) { - if (typeof(window.addEventListener) == "function") { - t.cell.childNodes[t.conf.idx.hdr].addEventListener("mousedown", this._dndOnMouseDown, false); - } else { - t.cell.childNodes[t.conf.idx.hdr].attachEvent("onmousedown", this._dndOnMouseDown); - } - t.conf.dnd_inited = true; - } - t = null; - } - - this._dndDetachEvent = function(id) { - var t = this.t[id].cell; - if (t.conf.dnd_inited == true) { - if (typeof(window.addEventListener) == "function") { - t.cell.childNodes[t.conf.idx.hdr].removeEventListener("mousedown", this._dndOnMouseDown, false); - } else { - t.cell.childNodes[t.conf.idx.hdr].detachEvent("onmousedown", this._dndOnMouseDown); - } - t.conf.dnd_inited = false; - } - t = null; - } - - this._dndOnMouseDown = function(e) { - e = e||event; - if (e.preventDefault) e.preventDefault(); // selection in chrome - var t = (e.target||e.srcElement); - while (t != null && t.parentNode != that.cont) t = t.parentNode; - if (t != null) that._dndDragStart(e, t); - t = null; - } - - this._dndDragStart = function(e,t) { - - if (this._dnd.tr_waiting == true) return; - - // cell index - var ind0 = -1; - for (var q=0; q 0) this._dnd.dragObj._k0 += this.ofs.m.between-this.ofs.m.first; // include margins for non-top cells - u = 0; - } else { - u += this._dnd.dragObj.parentNode.childNodes[q].offsetHeight+ - parseInt(this._dnd.dragObj.parentNode.childNodes[q].style.marginTop); - } - } - this._dnd.dragObj._k1 = u; - - this._dnd.h = this._dnd.dragObj.offsetHeight; - - this._dnd.ofs = false; // check if mouse was realy moved over screen - } - - this._dndDoDrag = function(e) { - - if (!this._dnd.dragObj) return; - if (this._dnd.tr_waiting == true) return; - - var r = e.clientY-this._dnd.dy; - - if (this._dnd.ofs == false && Math.abs(r) > 5) { - this._dnd.dragObj.className += " acc_cell_dragged"; - this._dnd.ofs = true; - } - - // overlaying left/right - if (r < 0) { - if (r < -this._dnd.dragObj._k0) r = -this._dnd.dragObj._k0; - } else { - if (r > this._dnd.dragObj._k1) r = this._dnd.dragObj._k1; - } - - this._dnd.dragObj.style.top = r+"px"; - - // prev - - // get offset - var ofs = e.clientY-this._dnd.dy; - var s0 = 0; - var i = 0; - for (var q=this._dnd.dragObj._ind+1; q<=this._dnd.dragObj.parentNode.lastChild._ind; q++) { - var w0 = this._dnd.dragObj.parentNode.childNodes[q].offsetHeight; - if (ofs > s0+w0*2/3) i++; - s0 += w0; - } - - // loop through siblings - var s = this._dnd.dragObj.nextSibling; - var q = 0; - - while (s != null) { - - if (++q<=i && s != null) { - // move to left if not moved yet - if (!s._ontop) { - if (s._tm) window.clearTimeout(s._tm); - this._dndAnim(s, false, parseInt(s.style.top||0), -this._dnd.h-this.ofs.m.between); // margin-top always "between", index here will never equal 0 - s._ontop = true; - } - } else { - // move to right (to orig position) if moved to left - if (s._ontop) { - if (s._tm) window.clearTimeout(s._tm); - this._dndAnim(s, true, parseInt(s.style.top||0), 0); - s._ontop = false; - } - } - - s = s.nextSibling; - } - - // next - - // get offset - var ofs = this._dnd.dy-e.clientY; - var s0 = 0; - var i = 0; - for (var q=this._dnd.dragObj._ind-1; q>=this._dnd.dragObj.parentNode.firstChild._ind; q--) { - var w0 = this._dnd.dragObj.parentNode.childNodes[q].offsetHeight; - if (ofs > s0+w0*2/3) i++; - s0 += w0; - } - - // loop through siblings - var s = this._dnd.dragObj.previousSibling; - var q = 0; - - while (s != null) { - - if (++q<=i && s != null) { - if (!s._onbottom) { - if (s._tm) window.clearTimeout(s._tm); - this._dndAnim(s, true, parseInt(s.style.top||0), this._dnd.h+this.ofs.m.between); - s._onbottom = true; - } - } else { - if (s._onbottom) { - if (s._tm) window.clearTimeout(s._tm); - this._dndAnim(s, false, parseInt(s.style.top), 0); - s._onbottom = false; - } - } - - s = s.previousSibling; - } - - } - - this._dndDragStop = function(e, force) { - - if (force) { - // console.log("tr ended, fix drop"); - } else { - if (this._dnd.tr_count > 0) { - this._dnd.tr_waiting = true; - // console.log("still moving", this._dnd.tr_count); - return; - } - } - - if (!this._dnd.dragObj) return; - - this._dnd.dragObj.className = String(this._dnd.dragObj.className).replace(/\s{0,}acc_cell_dragged/gi,""); - this._dnd.dragObj.style.top = "0px"; - - var p = false; - - for (var q=0; q= t) { f = t; stop = true; } - } else { - f -= 5; - if (f <= t) { f = t; stop = true; } - } - obj.style.top = f+"px"; - if (obj._tm) window.clearTimeout(obj._tm); - if (!stop) { - obj._tm = window.setTimeout(function(){that._dndAnim(obj, dir, f, t);},5); - } else { - obj._tm = null; - } - - } - - this._dndOnTrEnd = function(ev) { - if (ev.stopPropagation) ev.stopPropagation(); - if (ev.propertyName == "top") { - // clear cache - if (that._dnd.tr_items[this._accId] == true) { - that._dnd.tr_count--; - that._dnd.tr_items[this._accId] = false; - } - // remove prop - this.style[this._dnd_tr_prop] = ""; - // - if (that._dnd.tr_count == 0 && that._dnd.tr_waiting == true) { - that._dndDragStop(null, true); - } - } - } - - this._dndOnMouseMove = function(e) { - that._dndDoDrag(e||event); - } - - this._dndOnMouseUp = function(e) { - that._dndDragStop(e||event); - } - - this._dndClearCell = function(id) { - if (this.t[id].cell.cell._dnd_ev) this.t[id].cell.cell.addEventListener(this.conf.tr.ev, this._dndOnTrEnd, false); - this._dndDetachEvent(id); - } - - this._unloadDND = function() { - - // functions - for (var a in this) { - if (String(a).indexOf("_dnd") == 0 && typeof(this[a]) == "function") this[a] = null; - } - - // cell-clear will called from removeItem() - this._dnd = null; - that = null; - } - - // update cells - for (var a in this.t) this._dndAttachEvent(a); - -}; - diff --git a/themes/sources/dhtmlxAccordion/codebase/imgs/dhxacc_material/dhxacc_btns.png b/themes/sources/dhtmlxAccordion/codebase/imgs/dhxacc_material/dhxacc_btns.png deleted file mode 100644 index 80e159c..0000000 Binary files a/themes/sources/dhtmlxAccordion/codebase/imgs/dhxacc_material/dhxacc_btns.png and /dev/null differ diff --git a/themes/sources/dhtmlxAccordion/codebase/imgs/dhxacc_material/dhxacc_cell_progress.gif b/themes/sources/dhtmlxAccordion/codebase/imgs/dhxacc_material/dhxacc_cell_progress.gif deleted file mode 100644 index ff9a5e6..0000000 Binary files a/themes/sources/dhtmlxAccordion/codebase/imgs/dhxacc_material/dhxacc_cell_progress.gif and /dev/null differ diff --git a/themes/sources/dhtmlxAccordion/codebase/imgs/dhxacc_skyblue/dhxacc_btns.gif b/themes/sources/dhtmlxAccordion/codebase/imgs/dhxacc_skyblue/dhxacc_btns.gif deleted file mode 100644 index 7de4aab..0000000 Binary files a/themes/sources/dhtmlxAccordion/codebase/imgs/dhxacc_skyblue/dhxacc_btns.gif and /dev/null differ diff --git a/themes/sources/dhtmlxAccordion/codebase/imgs/dhxacc_skyblue/dhxacc_cell_progress.gif b/themes/sources/dhtmlxAccordion/codebase/imgs/dhxacc_skyblue/dhxacc_cell_progress.gif deleted file mode 100644 index 1df5c43..0000000 Binary files a/themes/sources/dhtmlxAccordion/codebase/imgs/dhxacc_skyblue/dhxacc_cell_progress.gif and /dev/null differ diff --git a/themes/sources/dhtmlxAccordion/codebase/imgs/dhxacc_terrace/dhxacc_btns.gif b/themes/sources/dhtmlxAccordion/codebase/imgs/dhxacc_terrace/dhxacc_btns.gif deleted file mode 100644 index e9f33e2..0000000 Binary files a/themes/sources/dhtmlxAccordion/codebase/imgs/dhxacc_terrace/dhxacc_btns.gif and /dev/null differ diff --git a/themes/sources/dhtmlxAccordion/codebase/imgs/dhxacc_terrace/dhxacc_cell_progress.gif b/themes/sources/dhtmlxAccordion/codebase/imgs/dhxacc_terrace/dhxacc_cell_progress.gif deleted file mode 100644 index 7c30859..0000000 Binary files a/themes/sources/dhtmlxAccordion/codebase/imgs/dhxacc_terrace/dhxacc_cell_progress.gif and /dev/null differ diff --git a/themes/sources/dhtmlxAccordion/codebase/imgs/dhxacc_web/dhxacc_btns.gif b/themes/sources/dhtmlxAccordion/codebase/imgs/dhxacc_web/dhxacc_btns.gif deleted file mode 100644 index 2b10256..0000000 Binary files a/themes/sources/dhtmlxAccordion/codebase/imgs/dhxacc_web/dhxacc_btns.gif and /dev/null differ diff --git a/themes/sources/dhtmlxAccordion/codebase/imgs/dhxacc_web/dhxacc_cell_progress.gif b/themes/sources/dhtmlxAccordion/codebase/imgs/dhxacc_web/dhxacc_cell_progress.gif deleted file mode 100644 index ff9a5e6..0000000 Binary files a/themes/sources/dhtmlxAccordion/codebase/imgs/dhxacc_web/dhxacc_cell_progress.gif and /dev/null differ diff --git a/themes/sources/dhtmlxAccordion/codebase/skins/dhtmlxaccordion_dhx_skyblue.css b/themes/sources/dhtmlxAccordion/codebase/skins/dhtmlxaccordion_dhx_skyblue.css deleted file mode 100644 index 7a4d2d0..0000000 --- a/themes/sources/dhtmlxAccordion/codebase/skins/dhtmlxaccordion_dhx_skyblue.css +++ /dev/null @@ -1,294 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: dhx_skyblue - include extra file: skins/dhx_skyblue.less -*/ - -.dhxacc_base_dhx_skyblue { - background-color: #ebebeb; - position: relative; - cursor: default; -} -.dhxacc_base_dhx_skyblue .dhxacc_cont { - position: absolute; - overflow: hidden; -} -.dhxacc_base_dhx_skyblue .dhxacc_cont div.dhx_cell_acc { - position: relative; - background-color: #ffffff; - margin: 0px; - padding: 0px; - overflow: hidden; - cursor: default; - box-shadow: 0 0 3px #e0e0e0; -} -.dhxacc_base_dhx_skyblue .dhxacc_cont div.dhx_cell_acc div.dhx_cell_cont_acc { - position: absolute; - border-left: 1px solid #a4bed4; - border-right: 1px solid #a4bed4; - border-bottom: 1px solid #a4bed4; - border-top: 0px solid white; - overflow: hidden; - z-index: 0; -} -.dhxacc_base_dhx_skyblue .dhxacc_cont div.dhx_cell_acc div.dhx_cell_cont_acc.dhx_cell_cont_no_borders { - border-width: 0px; -} -.dhxacc_base_dhx_skyblue .dhxacc_cont div.dhx_cell_acc div.dhx_cell_cover { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - margin: 0px; - padding: 0px; - font-size: 1px; - background-color: white; - overflow: hidden; - z-index: 1; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxacc_base_dhx_skyblue .dhxacc_cont div.dhx_cell_acc div.dhx_cell_hdr { - position: relative; - height: 27px; - line-height: 26px; - overflow: hidden; - font-family: Tahoma, Helvetica; - font-size: 11px; - color: #34404b; - font-weight: bold; - border: 1px solid #a4bed4; - background-color: #e2efff; - background: linear-gradient(#e2efff,#d3e7ff); - background: -webkit-linear-gradient(#e2efff,#d3e7ff); - filter: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e2efff,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100); - cursor: default; - z-index: 3; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxacc_base_dhx_skyblue .dhxacc_cont div.dhx_cell_acc div.dhx_cell_hdr.dhx_cell_hdr_hidden { - border-width: 1px 0px 0px 0px; - height: 0px; - line-height: 0px; - overflow: hidden; -} -.dhxacc_base_dhx_skyblue .dhxacc_cont div.dhx_cell_acc div.dhx_cell_hdr div.dhx_cell_hdr_text { - position: relative; - margin: 0px 26px 0px 5px; - overflow: hidden; - white-space: nowrap; - cursor: default; -} -.dhxacc_base_dhx_skyblue .dhxacc_cont div.dhx_cell_acc div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_icon { - margin-left: 24px !important; -} -.dhxacc_base_dhx_skyblue .dhxacc_cont div.dhx_cell_acc div.dhx_cell_hdr img.dhx_cell_hdr_icon { - position: absolute; - top: 5px; - left: 4px; - width: 16px; - height: 16px; -} -.dhxacc_base_dhx_skyblue .dhxacc_cont div.dhx_cell_acc div.dhx_cell_hdr i { - position: absolute; - top: 5px; - left: 4px; - width: 16px; - height: 16px; - line-height: 16px; - text-align: center; - cursor: default; - font-size: 1.2em; - color: inherit; -} -.dhxacc_base_dhx_skyblue .dhxacc_cont div.dhx_cell_acc div.dhx_cell_hdr div.dhx_cell_hdr_arrow { - position: absolute; - top: 6px; - right: 4px; - width: 16px; - height: 16px; - background-image: url("../imgs/dhxacc_skyblue/dhxacc_btns.gif"); - background-repeat: no-repeat; - background-position: 0px 0px; - overflow: hidden; - cursor: pointer; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxacc_base_dhx_skyblue .dhxacc_cont div.dhx_cell_acc.dhx_cell_closed div.dhx_cell_hdr div.dhx_cell_hdr_arrow { - background-position: -16px 0px; -} -.dhxacc_base_dhx_skyblue .dhxacc_cont div.dhx_cell_acc.acc_cell_dragged { - box-shadow: 0 0 5px #829cb2; - z-index: 5 !important; -} -.dhxacc_base_dhx_skyblue .dhxacc_cont div.dhx_cell_acc div.dhx_cell_menu_def { - position: relative; - overflow: hidden; - border-width: 0px 1px 1px 1px; - border-color: #a4bed4; - border-style: solid; -} -.dhxacc_base_dhx_skyblue .dhxacc_cont div.dhx_cell_acc div.dhx_cell_menu_def div.dhtmlxMenu_dhx_skyblue_Middle { - padding: 0px 2px; -} -.dhxacc_base_dhx_skyblue .dhxacc_cont div.dhx_cell_acc div.dhx_cell_menu_no_borders { - position: relative; - overflow: hidden; -} -.dhxacc_base_dhx_skyblue .dhxacc_cont div.dhx_cell_acc div.dhx_cell_menu_no_borders div.dhtmlxMenu_dhx_skyblue_Middle { - padding: 0px 2px; -} -.dhxacc_base_dhx_skyblue .dhxacc_cont div.dhx_cell_acc div.dhx_cell_toolbar_def { - position: relative; - overflow: hidden; -} -.dhxacc_base_dhx_skyblue .dhxacc_cont div.dhx_cell_acc div.dhx_cell_toolbar_def div.dhx_toolbar_dhx_skyblue { - border-top-width: 0px; -} -.dhxacc_base_dhx_skyblue .dhxacc_cont div.dhx_cell_acc div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_dhx_skyblue { - margin-top: -1px; - width: auto; -} -.dhxacc_base_dhx_skyblue .dhxacc_cont div.dhx_cell_acc div.dhx_cell_ribbon_def div.dhtmlxribbon_dhx_skyblue.dhxrb_without_tabbar { - border-top-width: 0px; - width: auto; -} -.dhxacc_base_dhx_skyblue .dhxacc_cont div.dhx_cell_acc div.dhx_cell_statusbar_def { - position: absolute; - bottom: 0px; - width: 100%; - background-color: #ddecff; - font-family: Tahoma, Helvetica; - font-size: 11px; - color: black; -} -.dhxacc_base_dhx_skyblue .dhxacc_cont div.dhx_cell_acc div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - position: relative; - padding: 0px 4px; - height: 21px; - line-height: 21px; - border-bottom: 1px solid #a4bed4; - border-left: 1px solid #a4bed4; - border-right: 1px solid #a4bed4; - white-space: nowrap; - overflow: hidden; -} -.dhxacc_base_dhx_skyblue .dhxacc_cont div.dhx_cell_acc div.dhx_cell_progress_bar { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: white; - z-index: 5; - opacity: 0.75; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=75); -} -.dhxacc_base_dhx_skyblue .dhxacc_cont div.dhx_cell_acc div.dhx_cell_progress_img { - position: absolute; - left: 0px; - top: 0px; - border: 1px solid #a4bed4; - background-position: center 55%; - background-image: url('../imgs/dhxacc_skyblue/dhxacc_cell_progress.gif'); - background-repeat: no-repeat; - cursor: progress; - z-index: 6; -} -.dhxacc_base_dhx_skyblue div.dhxcelltop_progress { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: white; - z-index: 3; - opacity: 0.55; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=55); -} -.dhxacc_base_dhx_skyblue div.dhxcelltop_progress_img { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-image: url('../imgs/dhxacc_skyblue/dhxacc_cell_progress.gif'); - background-position: center center; - background-repeat: no-repeat; - z-index: 4; -} -.dhxacc_base_dhx_skyblue div.dhxcelltop_hdr { - position: relative; -} -.dhxacc_base_dhx_skyblue div.dhxcelltop_ftr { - position: absolute; -} -.dhxacc_base_dhx_skyblue div.dhxcelltop_menu { - position: relative; - overflow: hidden; -} -.dhxacc_base_dhx_skyblue div.dhxcelltop_toolbar { - position: relative; - background-color: #ebebeb; - padding-bottom: 4px; - overflow: hidden; -} -.dhxacc_base_dhx_skyblue div.dhxcelltop_ribbon { - padding-bottom: 4px; - position: relative; -} -.dhxacc_base_dhx_skyblue div.dhxcelltop_ribbon div.dhtmlxribbon_dhx_skyblue.dhxrb_without_tabbar { - width: auto; -} -.dhxacc_base_dhx_skyblue div.dhxcelltop_statusbar { - position: absolute; - bottom: 0px; - width: 100%; - background-color: #ebebeb; - overflow: hidden; -} -.dhxacc_base_dhx_skyblue div.dhxcelltop_statusbar div.dhxcont_statusbar { - position: relative; - margin-top: 4px; - border: 1px solid #a4bed4; - background-color: #ddecff; - padding: 7px 6px; - font-family: Tahoma, Helvetica; - font-size: 11px; - color: black; -} -.dhxacc_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 10px; - height: 10px; - overflow: hidden; -} diff --git a/themes/sources/dhtmlxAccordion/codebase/skins/dhtmlxaccordion_dhx_terrace.css b/themes/sources/dhtmlxAccordion/codebase/skins/dhtmlxaccordion_dhx_terrace.css deleted file mode 100644 index 2329367..0000000 --- a/themes/sources/dhtmlxAccordion/codebase/skins/dhtmlxaccordion_dhx_terrace.css +++ /dev/null @@ -1,221 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: dhx_terrace - include extra file: skins/dhx_terrace.less -*/ - -.dhxacc_base_dhx_terrace { - position: relative; - cursor: default; - overflow: hidden; -} -.dhxacc_base_dhx_terrace div.dhxacc_cont { - position: absolute; - *overflow: hidden; -} -.dhxacc_base_dhx_terrace div.dhx_cell_acc { - position: relative; - background-color: #ffffff; - margin: 0px; - padding: 0px; - overflow: hidden; - cursor: default; - box-shadow: 0 0 3px #e0e0e0; - border-color: #cccccc; -} -.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_cont_acc { - position: absolute; - border-left: 1px solid #cccccc; - border-right: 1px solid #cccccc; - border-bottom: 1px solid #cccccc; - border-top: 0px solid #ffffff; - overflow: hidden; - z-index: 0; -} -.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_cover { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - margin: 0px; - padding: 0px; - font-size: 1px; - background-color: white; - overflow: hidden; - z-index: 1; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_hdr { - position: relative; - height: 36px; - line-height: 35px; - overflow: hidden; - font-family: Arial, Helvetica; - font-size: 13px; - color: #333333; - font-weight: normal; - border: 1px solid #cccccc; - background-color: #f5f5f5; - cursor: default; - z-index: 3; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_hdr.dhx_cell_hdr_hidden { - border-width: 1px 0px 0px 0px; - height: 0px; - line-height: 0px; - overflow: hidden; -} -.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_hdr div.dhx_cell_hdr_text { - position: relative; - margin: 0px 26px 0px 10px; - overflow: hidden; - white-space: nowrap; - cursor: default; -} -.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_hdr img.dhx_cell_hdr_icon { - position: absolute; - top: 11px; - left: 10px; - width: 16px; - height: 16px; -} -.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_hdr i { - position: absolute; - top: 10px; - left: 10px; - width: 16px; - height: 16px; - line-height: 16px; - text-align: center; - cursor: default; - font-size: 1.1em; - color: inherit; -} -.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_icon { - margin-left: 32px !important; -} -.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_hdr div.dhx_cell_hdr_arrow { - position: absolute; - top: 11px; - right: 4px; - width: 16px; - height: 16px; - background-image: url("../imgs/dhxacc_terrace/dhxacc_btns.gif"); - background-repeat: no-repeat; - background-position: 0px 0px; - overflow: hidden; - cursor: pointer; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxacc_base_dhx_terrace div.dhx_cell_acc.dhx_cell_closed div.dhx_cell_hdr div.dhx_cell_hdr_arrow { - background-position: -16px 0px; -} -.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_cont.dhx_cell_cont_not_last { - border-bottom: 0px solid white; -} -.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_menu_def { - position: relative; - overflow: hidden; - padding: 6px; - border-left: 1px solid #cccccc; - border-right: 1px solid #cccccc; - border-bottom: 1px solid #cccccc; -} -.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_toolbar_def { - border-left: 1px solid #cccccc; - border-right: 1px solid #cccccc; - border-bottom: 1px solid #cccccc; - padding: 6px; -} -.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_dhx_terrace { - border-top: 1px solid #ffffff; -} -.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_ribbon_def div.dhtmlxribbon_dhx_terrace.dhxrb_without_tabbar { - border-top: 0px solid #ffffff; - width: auto; -} -.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_statusbar_def { - position: absolute; - bottom: 0px; - width: 100%; - font-family: Arial, Helvetica; - font-size: 13px; - color: #333333; - background-color: #f5f5f5; - z-index: 1; -} -.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - position: relative; - padding: 0px 4px; - height: 24px; - line-height: 23px; - border-bottom: 1px solid #cccccc; - border-left: 1px solid #cccccc; - border-right: 1px solid #cccccc; - white-space: nowrap; - overflow: hidden; -} -.dhxacc_base_dhx_terrace div.dhx_cell_acc.acc_cell_dragged { - box-shadow: 0 0 5px #aaaaaa; - z-index: 5 !important; -} -.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_progress_bar { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: #ffffff; - opacity: 0.75; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=75); - z-index: 1; -} -.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_progress_img { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-position: center 55%; - background-image: url("../imgs/dhxacc_terrace/dhxacc_cell_progress.gif"); - background-repeat: no-repeat; - cursor: progress; - z-index: 2; -} -.dhxacc_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 30px; - height: 10px; - overflow: hidden; -} diff --git a/themes/sources/dhtmlxAccordion/codebase/skins/dhtmlxaccordion_dhx_web.css b/themes/sources/dhtmlxAccordion/codebase/skins/dhtmlxaccordion_dhx_web.css deleted file mode 100644 index 6e52325..0000000 --- a/themes/sources/dhtmlxAccordion/codebase/skins/dhtmlxaccordion_dhx_web.css +++ /dev/null @@ -1,217 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: dhx_web - include extra file: skins/dhx_web.less -*/ - -.dhxacc_base_dhx_web { - position: relative; - cursor: default; - overflow: hidden; -} -.dhxacc_base_dhx_web div.dhxacc_cont { - position: absolute; - *overflow: hidden; -} -.dhxacc_base_dhx_web div.dhx_cell_acc { - position: relative; - background-color: white; - margin: 0px; - padding: 0px; - overflow: hidden; - cursor: default; - box-shadow: 0 0 3px #e0e0e0; -} -.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_cont_acc { - position: absolute; - border-left: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; - border-bottom: 1px solid #c7c7c7; - border-top: 0px solid white; - padding: 8px; - overflow: hidden; - z-index: 0; -} -.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_cont_acc.dhx_cell_cont_no_borders { - border: 0px solid #ffffff !important; - padding: 0px; -} -.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_cover { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - margin: 0px; - padding: 0px; - font-size: 1px; - background-color: white; - overflow: hidden; - z-index: 1; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_hdr { - position: relative; - height: 32px; - line-height: 30px; - font-family: Tahoma, Helvetica; - font-size: 12px; - color: #ffffff; - font-weight: normal; - background-color: #2589ce; - overflow: hidden; - cursor: default; - z-index: 3; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_hdr.dhx_cell_hdr_hidden { - border-top: 1px solid #c7c7c7; - height: 0px; - line-height: 0px; - overflow: hidden; -} -.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_hdr div.dhx_cell_hdr_text { - position: relative; - margin: 0px 26px 0px 5px; - overflow: hidden; - white-space: nowrap; - cursor: default; -} -.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_hdr img.dhx_cell_hdr_icon { - position: absolute; - top: 7px; - left: 6px; - width: 16px; - height: 16px; -} -.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_hdr i { - position: absolute; - top: 7px; - left: 5px; - width: 16px; - height: 16px; - line-height: 16px; - text-align: center; - cursor: default; - font-size: 1.1em; - color: inherit; -} -.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_icon { - margin-left: 24px !important; -} -.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_hdr div.dhx_cell_hdr_arrow { - position: absolute; - top: 8px; - right: 5px; - width: 16px; - height: 16px; - background-image: url("../imgs/dhxacc_web/dhxacc_btns.gif"); - background-repeat: no-repeat; - background-position: 0px 0px; - overflow: hidden; - cursor: pointer; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxacc_base_dhx_web div.dhx_cell_acc.dhx_cell_closed div.dhx_cell_hdr div.dhx_cell_hdr_arrow { - background-position: -16px 0px; -} -.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_cont_acc.dhx_cell_cont_not_last { - border-bottom: 0px solid white; -} -.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_menu_def { - position: relative; - overflow: hidden; - padding: 9px 9px 0px 9px; - border-left: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; -} -.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_toolbar_def { - padding: 9px 9px 0px 9px; - border-left: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; -} -.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_ribbon_def div.dhtmlxribbon_dhx_web.dhxrb_without_tabbar { - border-top: 0px solid white; - width: auto; -} -.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_statusbar_def { - position: absolute; - bottom: 0; - width: 100%; - background-color: #f4f4f4; -} -.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - height: 21px; - line-height: 21px; - position: relative; - padding: 0 4px; - overflow: hidden; - white-space: nowrap; - border-bottom: 1px solid #c7c7c7; - border-left: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; - font-family: Tahoma, Helvetica; - font-size: 12px; - color: #000000; -} -.dhxacc_base_dhx_web div.dhx_cell_acc.acc_cell_dragged { - box-shadow: 0 0 5px 2px #c2c2c2; - z-index: 5 !important; -} -.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_progress_bar { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: #ffffff; - z-index: 1; - opacity: 0.75; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=75); -} -.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_progress_img { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-image: url("../imgs/dhxacc_web/dhxacc_cell_progress.gif"); - background-position: center center; - background-repeat: no-repeat; - z-index: 2; -} -.dhxacc_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 20px; - height: 10px; - overflow: hidden; -} diff --git a/themes/sources/dhtmlxAccordion/codebase/skins/dhtmlxaccordion_material.css b/themes/sources/dhtmlxAccordion/codebase/skins/dhtmlxaccordion_material.css deleted file mode 100644 index 934b1a3..0000000 --- a/themes/sources/dhtmlxAccordion/codebase/skins/dhtmlxaccordion_material.css +++ /dev/null @@ -1,423 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: material - include extra file: skins/material.less -*/ - -@keyframes dhx_loader_rotate { - 100% { - transform: rotate(360deg); - } -} -@keyframes dhx_loader_dash { - 0% { - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - } - 50% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -35px; - } - 100% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -124px; - } -} -.dhxacc_base_material { - position: relative; - cursor: default; - overflow: hidden; -} -.dhxacc_base_material div.dhxacc_cont { - position: absolute; - *overflow: hidden; -} -.dhxacc_base_material div.dhx_cell_acc { - position: relative; - background-color: white; - margin: 0px; - padding: 0px; - overflow: hidden; - cursor: default; -} -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_cover { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - margin: 0px; - padding: 0px; - font-size: 1px; - background-color: white; - overflow: hidden; - z-index: 1; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_progress_bar { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: white; - z-index: 1; - opacity: 0.75; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=75); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_progress_img { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - border: 1px solid #e4e4e4; - background-image: url('../imgs/dhxacc_material/dhxacc_cell_progress.gif'); - background-position: center center; - background-repeat: no-repeat; - z-index: 2; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_progress_svg { - border: 1px solid #e4e4e4; - z-index: 2; - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_progress_svg .dhx_cell_prsvg { - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - margin: auto; - width: 50px; - height: 50px; - animation: dhx_loader_rotate 2s linear infinite; - transform-origin: center center; -} -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_progress_svg .dhx_cell_prsvg .dhx_cell_prcircle { - fill: none; - stroke: #3399cc; - stroke-width: 2; - stroke-miterlimit: 10; - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - stroke-linecap: round; - animation: dhx_loader_dash 1.5s ease-in-out infinite; -} -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_menu_def { - position: relative; - overflow: hidden; - border-style: solid; - border-width: 0px 1px 1px 1px; - border-color: #dfdfdf; -} -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_toolbar_def { - position: relative; - overflow: hidden; -} -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_toolbar_def .dhx_toolbar_material { - border-width: 0px 1px 1px 1px; -} -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_ribbon_def { - position: relative; - overflow: hidden; -} -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material { - border-top-width: 0px; - margin-top: -1px; - width: auto; -} -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_ribbon_def div.dhtmlxribbon_material.dhxrb_without_tabbar { - border-top-width: 0px; - width: auto; -} -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_statusbar_def { - position: absolute; - bottom: 0px; - width: 100%; - background-color: #fafafa; - z-index: 1; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - position: relative; - font: inherit; - height: 30px; - line-height: 30px; - border-style: solid; - border-width: 0px 1px 1px 1px; - border-color: #dfdfdf; - white-space: nowrap; - overflow: hidden; - padding: 0px 12px; - color: #737373; -} -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_cont_acc { - position: absolute; - border-color: #dfdfdf; - border-style: solid; - border-width: 0px 1px 1px 1px; - overflow: hidden; - z-index: 0; -} -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_hdr { - position: relative; - height: 42px; - line-height: 42px; - background-color: #fafafa; - overflow: hidden; - border-width: 1px 1px 1px 1px; - border-style: solid; - border-color: #dfdfdf; - cursor: default; - z-index: 3; - box-shadow: 0 0 10px rgba(127,127,127,0.2); - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #3399cc; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_hdr.dhx_cell_hdr_hidden { - border-width: 1px 0px 0px 0px; - height: 0px; - line-height: 0px; - overflow: hidden; - box-shadow: none; -} -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_hdr div.dhx_cell_hdr_text { - position: relative; - margin-left: 14px; - margin-right: 44px; - overflow: hidden; - white-space: nowrap; - cursor: default; -} -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_icon { - margin-left: 44px; -} -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_hdr img.dhx_cell_hdr_icon { - position: absolute; - top: 13px; - left: 14px; - width: 16px; - height: 16px; -} -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_hdr i { - position: absolute; - left: 14px; - width: 16px; - height: 42px; - line-height: 42px; - text-align: center; - cursor: default; - font-size: 1.1em; - color: inherit; -} -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_hdr div.dhx_cell_hdr_arrow { - position: absolute; - top: 13px; - right: 14px; - width: 16px; - height: 16px; - background-image: url("../imgs/dhxacc_material/dhxacc_btns.png"); - background-repeat: no-repeat; - background-position: 0px 0px; - overflow: hidden; - cursor: pointer; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxacc_base_material div.dhx_cell_acc.dhx_cell_closed div.dhx_cell_hdr { - box-shadow: none; - color: #404040; -} -.dhxacc_base_material div.dhx_cell_acc.dhx_cell_closed div.dhx_cell_hdr div.dhx_cell_hdr_arrow { - background-position: -16px 0px; -} -.dhxacc_base_material div.dhx_cell_acc.acc_cell_dragged { - z-index: 5 !important; -} -.dhxacc_base_material div.dhxcelltop_hdr { - position: relative; -} -.dhxacc_base_material div.dhxcelltop_ftr { - position: absolute; -} -.dhxacc_base_material div.dhxcelltop_progress { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: white; - z-index: 3; - opacity: 0.55; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=55); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxacc_base_material div.dhxcelltop_progress_img { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-image: url('../imgs/dhxacc_material/dhxacc_cell_progress.gif'); - background-position: center center; - background-repeat: no-repeat; - z-index: 4; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxacc_base_material div.dhxcelltop_progress_svg { - z-index: 4; - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxacc_base_material div.dhxcelltop_progress_svg .dhx_cell_prsvg { - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - margin: auto; - width: 50px; - height: 50px; - animation: dhx_loader_rotate 2s linear infinite; - transform-origin: center center; -} -.dhxacc_base_material div.dhxcelltop_progress_svg .dhx_cell_prsvg .dhx_cell_prcircle { - fill: none; - stroke: #3399cc; - stroke-width: 2; - stroke-miterlimit: 10; - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - stroke-linecap: round; - animation: dhx_loader_dash 1.5s ease-in-out infinite; -} -.dhxacc_base_material div.dhxcelltop_menu { - position: relative; - overflow: hidden; - border-width: 1px 1px 0px 1px; - border-style: solid; - border-color: #dfdfdf; -} -.dhxacc_base_material div.dhxcelltop_toolbar { - position: relative; - overflow: hidden; -} -.dhxacc_base_material div.dhxcelltop_toolbar div.dhx_toolbar_material { - border-width: 1px 1px 0px 1px; -} -.dhxacc_base_material div.dhxcelltop_ribbon { - position: relative; - overflow: hidden; -} -.dhxacc_base_material div.dhxcelltop_ribbon div.dhtmlxribbon_material.dhxrb_without_tabbar { - border-bottom-width: 0px; - width: auto; -} -.dhxacc_base_material div.dhxcelltop_ribbon div.dhtmlxribbon_material div.dhxrb_with_tabbar.dhxtabbar_base_material div.dhxtabbar_tabs_top div.dhx_cell_tabbar div.dhx_cell_cont_tabbar { - border-bottom-width: 0px; -} -.dhxacc_base_material div.dhxcelltop_statusbar { - position: absolute; - overflow: hidden; - background-color: #fafafa; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -.dhxacc_base_material div.dhxcelltop_statusbar div.dhxcont_statusbar { - position: relative; - background-color: #fafafa; - font: inherit; - height: 30px; - line-height: 30px; - border-width: 0px 1px 1px 1px; - border-style: solid; - border-color: #dfdfdf; - padding: 0px 12px; - color: #737373; - white-space: nowrap; - overflow: hidden; -} -body.dhxacc_base_material { - background-color: #fafafa; -} -.dhxacc_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 40px; - height: 10px; - overflow: hidden; -} diff --git a/themes/sources/dhtmlxCalendar/codebase/dhtmlxcalendar.js b/themes/sources/dhtmlxCalendar/codebase/dhtmlxcalendar.js deleted file mode 100644 index 2e9b1ca..0000000 --- a/themes/sources/dhtmlxCalendar/codebase/dhtmlxcalendar.js +++ /dev/null @@ -1,2393 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -function dhtmlXCalendarObject(inps, skin) { - - // parse inputs - this.i = {}; - - var p = null; - if (typeof(inps) == "string") { - var t0 = document.getElementById(inps); - } else { - var t0 = inps; - } - if (t0 && typeof(t0) == "object" && t0.tagName && String(t0.tagName).toLowerCase() != "input") p = t0; - t0 = null; - - // single param - if (typeof(inps) != "object" || !inps.length) inps = [inps]; - for (var q=0; q start year from 52/53 wekk number (if 1st jan belongs to 1st week) - } - - this.setSkin = function(skin, force) { - if (this.conf.skin == skin && !force) return; - this.conf.skin = skin; - this.base.className = "dhtmlxcalendar_"+this.conf.skin; - this._ifrSize(); - } - - // create base - this.base = document.createElement("DIV"); - this.base.style.display = "none"; - this.base.appendChild(document.createElement("DIV")); - - if (p != null) { - this._hasParent = true; - p.appendChild(this.base); - p = null; - } else { - document.body.appendChild(this.base); - } - - this.setParent = function(p) { - if (this._hasParent) { - if (typeof(p) == "object") { - p.appendChild(this.base); - } else if (typeof(p) == "string") { - document.getElementById(p).appendChild(this.base); - } - } - } - - this.setSkin(this.conf.skin, true); - - this.base.onclick = function(e) { - e = e||event; - if (e.preventDefault) e.preventDefault(); - e.cancelBubble = true; - } - this.base.onmousedown = function() { - return false; - } - - if (this.conf.touch) { - this.base.ontouchstart = function(e) { - e = e||event; - e.cancelBubble = true; - } - } - - this.loadUserLanguage = function(lang) { - if (!this.langData[lang]) return; - this.lang = lang; - this.setWeekStartDay(this.langData[this.lang].weekstart); - this.setDateFormat(this.langData[this.lang].dateformat||"%Y-%m-%d"); - // month selector - if (this.msCont) { - var e = 0; - for (var q=0; q"+ - ""+ // hdrformat will here - "
                    "; - ul.appendChild(li); - - var that = this; - - li.onclick = function(e) { - - e = e||event; - if (e.type == "touchstart" && e.preventDefault != null) e.preventDefault(); - - var t = (e.target||e.srcElement); - // change month by clicking left-right arrows - if (t.className && t.className.indexOf("dhtmlxcalendar_month_arrow") === 0) { - that._hideSelector(); - var ind = (t.parentNode.firstChild==t?-1:1); - var k0 = new Date(that._activeMonth); - that._drawMonth(new Date(that._activeMonth.getFullYear(), that._activeMonth.getMonth()+ind, 1, 0, 0, 0, 0)); - that._evOnArrowClick([k0, new Date(that._activeMonth)]); - return; - } - // show month selector - if (t.className && t.className == "dhtmlxcalendar_month_label_month") { - e.cancelBubble = true; - that._showSelector("month", Math.round(t.offsetLeft+t.offsetWidth/2), t.offsetTop+t.offsetHeight+2, "selector_month", true); - return; - } - // show year selector - if (t.className && t.className == "dhtmlxcalendar_month_label_year") { - e.cancelBubble = true; - that._showSelector("year", Math.round(t.offsetLeft+t.offsetWidth/2), t.offsetTop+t.offsetHeight+2, "selector_year", true); - return; - } - // hide selector if it visible - that._hideSelector(); - } - if (this.conf.touch == true) { - li.ontouchstart = li.onclick; - } - - // build days names - this.contDays = document.createElement("DIV"); - this.contDays.className = "dhtmlxcalendar_days_cont"; - this.base.firstChild.appendChild(this.contDays); - - this.setWeekStartDay = function(ind) { - // 1..7 = Mo-Su, also 0 = Su - if (ind == 0) ind = 7; - this._wStart = Math.min(Math.max((isNaN(ind)?1:ind),1),7); - this._drawDaysOfWeek(); - } - - this._drawDaysOfWeek = function() { - if (this.contDays.childNodes.length == 0) { - var ul = document.createElement("UL"); - ul.className = "dhtmlxcalendar_line"; - this.contDays.appendChild(ul); - } else { - var ul = this.contDays.firstChild; - } - - var w = this._wStart; - var k = this.langData[this.lang].daysSNames; - k.push(String(this.langData[this.lang].daysSNames[0]).valueOf()); - - for (var q=0; q<8; q++) { - if (ul.childNodes[q] == null) { - var li = document.createElement("LI"); - ul.appendChild(li); - } else { - var li = ul.childNodes[q]; - } - if (q == 0) { - li.className = "dhtmlxcalendar_cell_wn"; - li.innerHTML = "
                    "+(this.langData[this.lang].weekname||"w")+"
                    "; - } else { - li.className = "dhtmlxcalendar_cell"+(w>=6?" dhtmlxcalendar_day_weekday_cell":"")+(q==1?"_first":""); - li.innerHTML = k[w]; - if (++w > 7) w = 1; - } - } - if (this._activeMonth != null) this._drawMonth(this._activeMonth); - } - - this._wStart = this.langData[this.lang].weekstart; - this.setWeekStartDay(this._wStart); - - // dates container - this.contDates = document.createElement("DIV"); - this.contDates.className = "dhtmlxcalendar_dates_cont"; - this.base.firstChild.appendChild(this.contDates); - - this.contDates.onclick = function(e){ - - e = e||event; - var t = (e.target||e.srcElement); - - if (t.parentNode != null && t.parentNode._date != null) t = t.parentNode; - if (t._date != null && !t._css_dis) { - - var t1 = that._activeDate.getHours(); - var t2 = that._activeDate.getMinutes(); - var d0 = t._date; - - // cjeck if allow to modify input - if (that.checkEvent("onBeforeChange")) { - if (!that.callEvent("onBeforeChange",[new Date(t._date.getFullYear(),t._date.getMonth(),t._date.getDate(),t1,t2)])) return; - } - - if (that._activeDateCell != null) { - that._activeDateCell._css_date = false; - that._updateCellStyle(that._activeDateCell._q, that._activeDateCell._w); - } - - // update month if day from prev/next month clicked - var refreshView = (that._activeDate.getFullYear()+"_"+that._activeDate.getMonth() != d0.getFullYear()+"_"+d0.getMonth()); - - that._nullDate = false; - that._activeDate = new Date(d0.getFullYear(),d0.getMonth(),d0.getDate(),t1,t2); - - that._activeDateCell = t; - that._activeDateCell._css_date = true; - that._activeDateCell._css_hover = false; - that._updateCellStyle(that._activeDateCell._q, that._activeDateCell._w); - - if (refreshView) that._drawMonth(that._activeDate); - - // update date in input if any - that._updateInp(); - - // hide - if (!that._hasParent) { - if (e.type == "touchstart") { - window.setTimeout(function(){that._hide();},400); - } else { - that._hide(); - } - } - // - that._evOnClick([new Date(that._activeDate.getTime())]); - that._doOnSelectorChange(true); - } - } - - if (this.conf.touch == true) { - this.contDates.ontouchstart = this.contDates.onclick; - } - - this.contDates.onmouseover = function(e) { - e = e||event; - var t = (e.target||e.srcElement); - if (t.parentNode != null && t.parentNode._date != null) t = t.parentNode; - if (t._date != null) { // && t != that._activeDateCell) { // skip hover for selected date - if (that._lastHover == t || t._css_hover) return; - t._css_hover = true; - that._updateCellStyle(t._q, t._w); - that._lastHover = t; - that._evOnMouseOver([new Date(t._date.getFullYear(),t._date.getMonth(),t._date.getDate(),0,0,0,0),e]); - t = null; - } - } - this.contDates.onmouseout = function(e) { - that._clearDayHover(e||event); - } - - this._lastHover = null; - this._clearDayHover = function(ev) { - if (!this._lastHover) return; - this._lastHover._css_hover = false; - this._updateCellStyle(this._lastHover._q, this._lastHover._w); - if (ev != null) that._evOnMouseOut([new Date(this._lastHover._date.getFullYear(),this._lastHover._date.getMonth(),this._lastHover._date.getDate(),0,0,0,0),ev]); - this._lastHover = null; - } - - // build cells - for (var q=0; q<6; q++) { - var ul = document.createElement("UL"); - ul.className = "dhtmlxcalendar_line"; - this.contDates.appendChild(ul); - for (var w=0; w<=7; w++) { - var li = document.createElement("LI"); - if (w == 0) { - // week number - li.className = "dhtmlxcalendar_cell_wn"; - } else { - li.className = "dhtmlxcalendar_cell"; - } - ul.appendChild(li); - } - } - - - // timepicker - this.contTime = document.createElement("DIV"); - this.contTime.className = "dhtmlxcalendar_time_cont"; - this.contTime.style.display = "none"; - this.base.firstChild.appendChild(this.contTime); - - this.showTime = function() { - if (this.conf.time != true) { - this.conf.time = true; - this._adjustTimeCont(); - } - } - - this.hideTime = function() { - if (this.conf.time == true) { - this.conf.time = false; - this._adjustTimeCont(); - } - } - - this.showToday = function() { - if (this.conf.today != true) { - this.conf.today = true; - this._adjustTimeCont(); - } - } - - this.hideToday = function() { - if (this.conf.today == true) { - this.conf.today = false; - this._adjustTimeCont(); - } - } - - this._adjustTimeCont = function() { - var css = ""; - if (this.conf.time == true) css += "_time"; - if (this.conf.today == true) css += "_today"; - if (css == "") { - this.contTime.style.display = "none"; - } else { - this.contTime.className = "dhtmlxcalendar_time_cont dhtmlxcalendar_mode"+css; - this.contTime.style.display = ""; - } - this._ifrSize(); - } - - this._adjustTimeCont(); - - var ul = document.createElement("UL"); - ul.className = "dhtmlxcalendar_line"; - this.contTime.appendChild(ul); - - var li = document.createElement("LI"); - li.className = "dhtmlxcalendar_cell dhtmlxcalendar_time_hdr"; - li.innerHTML = "
                    "+ - ":"+ - ""+this.langData[this.lang].clear+""+this.langData[this.lang].today+""; // added in 4.6 - ul.appendChild(li); - - li.onclick = function(e) { - e = e||event; - if (e.type == "touchstart" && e.preventDefault != null) e.preventDefault(); - - var t = (e.target||e.srcElement); - if (t.tagName != null && t.tagName.toLowerCase() == "span" && t._par == true && t.parentNode != null) { - t = t.parentNode; - } - // show hours selector - if (t.className && t.className == "dhtmlxcalendar_label_hours") { - e.cancelBubble = true; - var h = that.contMonth.offsetHeight+that.contDays.offsetHeight+that.contDates.offsetHeight+t.offsetTop; - that._showSelector("hours", Math.round(t.offsetLeft+t.offsetWidth/2), h-2, "selector_hours", true); - return; - } - // show minutes selector - if (t.className && t.className == "dhtmlxcalendar_label_minutes") { - e.cancelBubble = true; - if (that._minutesInterval == 1) { - var d = that.getFormatedDate("%i"); - t.innerHTML = ""+d.charAt(0)+""+d.charAt(1); - t.firstChild._par = true; - that._selectorMode = 1; // select hour - } - var h = that.contMonth.offsetHeight+that.contDays.offsetHeight+that.contDates.offsetHeight+t.offsetTop; - that._showSelector("minutes", Math.round(t.offsetLeft+t.offsetWidth/2), h-2, "selector_minutes",true); - return; - } - // hide selector if it visible - that._hideSelector(); - // today/clear buttons, added in 4.6 - if (t.className && t.className == "dhtmlxcalendar_label_today") { - var d = new Date(); - d = new Date(d.getFullYear(), d.getMonth(), d.getDate(), that._activeDate.getHours(), that._activeDate.getMinutes(), that._activeDate.getSeconds(), that._activeDate.getMilliseconds()); - that.setDate(d); - that._updateInp(); - that.callEvent("onButtonClick", [d]); - } - if (t.className && t.className == "dhtmlxcalendar_label_clear") { - that._nullDate = true; - that._drawMonth(new Date()); - that._updateInp(); - that.callEvent("onButtonClick", [null]); - } - } - if (this.conf.touch == true) { - li.ontouchstart = li.onclick; - } - - this._activeMonth = null; - - this._activeDate = new Date(); - this._activeDateCell = null; - - this.setDate = function(d) { - window.dhx4.temp_calendar = {tz:null}; - this._nullDate = (typeof(d) == "undefined" || d === "" || !d); - - if (!(d instanceof Date)) { - d = this._strToDate(String(d||"")); - if (d == "Invalid Date") d = new Date(); else this.conf.tz = window.dhx4.temp_calendar.tz; - window.dhx4.temp_calendar = null; - } - if (this.conf.tz == null) this.conf.tz = window.dhx4.date2str(d,"%P"); - - var time = d.getTime(); - - // out of range - if (this._isOutOfRange(time)) return; - - this._activeDate = new Date(time); - this._drawMonth(this._nullDate?new Date():this._activeDate); - this._updateVisibleHours(); - this._updateVisibleMinutes(); - } - - this.getDate = function(formated) { - if (this._nullDate) return null; - var t = new Date(this._activeDate.getTime()); - if (formated) { - window.dhx4.temp_calendar = {tz:this.conf.tz}; - var d = this._dateToStr(t); - window.dhx4.temp_calendar = null; - return d; - } - return t; - } - - this._drawMonth = function(d) { - - if (!(d instanceof Date)) return; - if (isNaN(d.getFullYear())) d = new Date(this._activeMonth.getFullYear(), this._activeMonth.getMonth(), 1, 0, 0, 0, 0); - - this._activeMonth = new Date(d.getFullYear(), d.getMonth(), 1, 0, 0, 0, 0); - - this._activeDateCell = null; - - var first = new Date(this._activeMonth.getTime()); - var d0 = first.getDay(); - - var e0 = d0-this._wStart; - if (e0 < 0) e0 = e0+7; - first.setDate(first.getDate()-e0); - - var mx = d.getMonth(); - var dx = new Date(this._activeDate.getFullYear(), this._activeDate.getMonth(), this._activeDate.getDate(), 0, 0, 0, 0).getTime(); - var i = 0; - for (var q=0; q<6; q++) { - var ws = this._wStart; - for (var w=0; w<=7; w++) { - if (w == 0) { - var wn = this.getWeekNumber(new Date(first.getFullYear(), first.getMonth(), first.getDate()+i, 0, 0, 0, 0)); - // if active month set to jan and 1st jan belong to 1st week - display 1st week instead of 52/53 - if (wn >= 52 && this.conf.ws_first == true && this._activeMonth.getMonth() == 0) { - var wn2 = this.getWeekNumber(new Date(first.getFullYear(), first.getMonth(), first.getDate()+i+7, 0, 0, 0, 0)); - if (wn2 < wn && wn2 > 1) wn = 1; - } else if (wn > 52 && this._activeMonth.getMonth() == 11) { - var wn2 = this.getWeekNumber(new Date(first.getFullYear()+1, 0, 1)); - if (wn2 == 1) wn = 1; - } - this.contDates.childNodes[q].childNodes[w].innerHTML = "
                    "+wn+"
                    "; - } else { - - var d2 = new Date(first.getFullYear(), first.getMonth(), first.getDate()+i, 0, 0, 0, 0); - if (d2.getHours() != 0) { - var h = (d2.getHours()>12 ? 24-d2.getHours() : d2.getHours()); // yesturday/tomorrow while daylight saving - d2.setTime(d2.getTime() + 60*60*1000*h); - } - - var day = d2.getDay(); - var time = d2.getTime(); - - var label_css = "dhtmlxcalendar_label"; - if (this._tipData[time] != null) { - if (this._tipData[time].usePopup && typeof(window.dhtmlXPopup) == "function") { - this.contDates.childNodes[q].childNodes[w].removeAttribute("title"); - this._initTooltipPopup(); - } else { - this.contDates.childNodes[q].childNodes[w].setAttribute("title", this._tipData[time].text); - } - if (this._tipData[time].showIcon) label_css += " dhtmlxcalendar_label_title"; - } else { - this.contDates.childNodes[q].childNodes[w].removeAttribute("title"); - - } - - this.contDates.childNodes[q].childNodes[w].innerHTML = "
                    "+d2.getDate()+"
                    "; - - this.contDates.childNodes[q].childNodes[w]._date = new Date(time); - this.contDates.childNodes[q].childNodes[w]._q = q; - this.contDates.childNodes[q].childNodes[w]._w = w; - this.contDates.childNodes[q].childNodes[w]._css_month = (d2.getMonth()==mx); - this.contDates.childNodes[q].childNodes[w]._css_date = (!this._nullDate&&time==dx); - this.contDates.childNodes[q].childNodes[w]._css_weekend = (ws>=6); - this.contDates.childNodes[q].childNodes[w]._css_dis = this._isOutOfRange(time); - this.contDates.childNodes[q].childNodes[w]._css_holiday = (this._holidays[time] == true); - - this._updateCellStyle(q, w); - - if (time==dx) this._activeDateCell = this.contDates.childNodes[q].childNodes[w]; - - if (++ws > 7) ws = 1; - i++; - } - - } - } - - this.contMonth.firstChild.firstChild.childNodes[1].innerHTML = this._buildMonthHdr(d); - - } - - this._updateCellStyle = function(q, w) { - - var r = this.contDates.childNodes[q].childNodes[w]; - - var s = "dhtmlxcalendar_cell dhtmlxcalendar_cell"; - - // this/another month - s += (r._css_month ? "_month" : ""); - - // selected date - s += (r._css_date ? "_date" : ""); - - // is weekend - s += (r._css_weekend ? "_weekend" : ""); - - // is holiday - s += (r._css_holiday ? "_holiday" : ""); - - // is cell disabled - s += (r._css_dis ? "_dis" : ""); - - // is cell hover (only if not disabled) - s += (r._css_hover && !r._css_dis ? "_hover" : ""); - - r.className = s; - r = null; - - } - - /* global selector obj */ - - this._minutesInterval = 5; // default - - this._initSelector = function(type,css) { - - if (!this._selCover) { - this._selCover = document.createElement("DIV"); - this._selCover.className = "dhtmlxcalendar_selector_cover"; - this.base.firstChild.appendChild(this._selCover); - } - - if (!this._sel) { - - this._sel = document.createElement("DIV"); - this._sel.className = "dhtmlxcalendar_selector_obj"; - this.base.firstChild.appendChild(this._sel); - - this._sel.appendChild(document.createElement("TABLE")); - this._sel.firstChild.className = "dhtmlxcalendar_selector_table"; - this._sel.firstChild.cellSpacing = 0; - this._sel.firstChild.cellPadding = 0; - this._sel.firstChild.border = 0; - this._sel.firstChild.appendChild(document.createElement("TBODY")); - this._sel.firstChild.firstChild.appendChild(document.createElement("TR")); - - this._sel.firstChild.firstChild.firstChild.appendChild(document.createElement("TD")); - this._sel.firstChild.firstChild.firstChild.appendChild(document.createElement("TD")); - this._sel.firstChild.firstChild.firstChild.appendChild(document.createElement("TD")); - - this._sel.firstChild.firstChild.firstChild.childNodes[0].className = "dhtmlxcalendar_selector_cell_left"; - this._sel.firstChild.firstChild.firstChild.childNodes[1].className = "dhtmlxcalendar_selector_cell_middle"; - this._sel.firstChild.firstChild.firstChild.childNodes[2].className = "dhtmlxcalendar_selector_cell_right"; - this._sel.firstChild.firstChild.firstChild.childNodes[0].innerHTML = " "; - this._sel.firstChild.firstChild.firstChild.childNodes[2].innerHTML = " "; - - this._sel.firstChild.firstChild.firstChild.childNodes[0].onmouseover = function(){ - this.className = "dhtmlxcalendar_selector_cell_left dhtmlxcalendar_selector_cell_left_hover"; - } - this._sel.firstChild.firstChild.firstChild.childNodes[0].onmouseout = function(){ - this.className = "dhtmlxcalendar_selector_cell_left"; - } - - this._sel.firstChild.firstChild.firstChild.childNodes[2].onmouseover = function(){ - this.className = "dhtmlxcalendar_selector_cell_right dhtmlxcalendar_selector_cell_right_hover"; - } - this._sel.firstChild.firstChild.firstChild.childNodes[2].onmouseout = function(){ - this.className = "dhtmlxcalendar_selector_cell_right"; - } - - this._sel.onmouseover = function(e) { - e = e||event; - var t = (e.target||e.srcElement); - if (t._cell === true) { - if (that._selHover != t) that._clearSelHover(); - if (String(t.className).match(/^\s{0,}dhtmlxcalendar_selector_cell\s{0,}$/gi) !=null) { - t.className += " dhtmlxcalendar_selector_cell_hover"; - that._selHover = t; - } - } - } - - this._sel.onmouseout = function() { - that._clearSelHover(); - } - - this._sel.firstChild.firstChild.firstChild.childNodes[0].onclick = function(e){ - e = e||event; - if (e.type == "touchstart" && e.preventDefault != null) e.preventDefault(); - e.cancelBubble = true; - that._scrollYears(-1); - } - - this._sel.firstChild.firstChild.firstChild.childNodes[2].onclick = function(e){ - e = e||event; - if (e.type == "touchstart" && e.preventDefault != null) e.preventDefault(); - e.cancelBubble = true; - that._scrollYears(1); - } - - if (this.conf.touch == true) { - this._sel.firstChild.firstChild.firstChild.childNodes[0].ontouchstart = this._sel.firstChild.firstChild.firstChild.childNodes[0].onclick; - this._sel.firstChild.firstChild.firstChild.childNodes[2].ontouchstart = this._sel.firstChild.firstChild.firstChild.childNodes[2].onclick; - } - - this._sel._ta = {}; - - this._selHover = null; - - this._sel.appendChild(document.createElement("DIV")); - this._sel.lastChild.className = "dhtmlxcalendar_selector_obj_arrow"; - } - - // check if already inited - if (this._sel._ta[type] == true) return; - - // init month - if (type == "month") { - - this._msCells = {}; - - this.msCont = document.createElement("DIV"); - this.msCont.className = "dhtmlxcalendar_area_"+css; - this._sel.firstChild.firstChild.firstChild.childNodes[1].appendChild(this.msCont); - - var i = 0; - for (var q=0; q<4; q++) { - var ul = document.createElement("UL"); - ul.className = "dhtmlxcalendar_selector_line"; - this.msCont.appendChild(ul); - for (var w=0; w<3; w++) { - var li = document.createElement("LI"); - li.innerHTML = this.langData[this.lang].monthesSNames[i]; - li.className = "dhtmlxcalendar_selector_cell"; - ul.appendChild(li); - li._month = i; - li._cell = true; - this._msCells[i++] = li; - } - } - - this.msCont.onclick = function(e) { - e = e||event; - if (e.type == "touchstart" && e.preventDefault != null) e.preventDefault(); - e.cancelBubble = true; - var t = (e.target||e.srcElement); - if (t._month != null) { - that._hideSelector(); - that._updateActiveMonth(); - that._drawMonth(new Date(that._activeMonth.getFullYear(), t._month, 1, 0, 0, 0, 0)); - that._doOnSelectorChange(); - } - } - if (this.conf.touch == true) { - this.msCont.ontouchstart = this.msCont.onclick; - } - } - - // init year - if (type == "year") { - - this._ysCells = {}; - - this.ysCont = document.createElement("DIV"); - this.ysCont.className = "dhtmlxcalendar_area_"+css; - this._sel.firstChild.firstChild.firstChild.childNodes[1].appendChild(this.ysCont); - - for (var q=0; q<4; q++) { - var ul = document.createElement("UL"); - ul.className = "dhtmlxcalendar_selector_line"; - this.ysCont.appendChild(ul); - for (var w=0; w<3; w++) { - var li = document.createElement("LI"); - li.className = "dhtmlxcalendar_selector_cell"; - li._cell = true; - ul.appendChild(li); - } - } - - this.ysCont.onclick = function(e) { - e = e||event; - if (e.type == "touchstart" && e.preventDefault != null) e.preventDefault(); - e.cancelBubble = true; - var t = (e.target||e.srcElement); - if (t._year != null) { - that._hideSelector(); - that._drawMonth(new Date(t._year, that._activeMonth.getMonth(), 1, 0, 0, 0, 0)); - that._doOnSelectorChange(); - } - } - if (this.conf.touch == true) { - this.ysCont.ontouchstart = this.ysCont.onclick; - } - - } - - // init hours - if (type == "hours") { - - this._hsCells = {}; - - this.hsCont = document.createElement("DIV"); - this.hsCont.className = "dhtmlxcalendar_area_"+css; - this._sel.firstChild.firstChild.firstChild.childNodes[1].appendChild(this.hsCont); - - var i = 0; - for (var q=0; q<4; q++) { - var ul = document.createElement("UL"); - ul.className = "dhtmlxcalendar_selector_line"; - this.hsCont.appendChild(ul); - for (var w=0; w<6; w++) { - var li = document.createElement("LI"); - li.innerHTML = this._fixLength(i,2); - li.className = "dhtmlxcalendar_selector_cell"; - ul.appendChild(li); - li._hours = i; - li._cell = true; - this._hsCells[i++] = li; - } - } - - this.hsCont.onclick = function(e) { - e = e||event; - if (e.type == "touchstart" && e.preventDefault != null) e.preventDefault(); - e.cancelBubble = true; - var t = (e.target||e.srcElement); - if (t._hours != null) { - that._hideSelector(); - that._activeDate.setHours(t._hours); - that._updateActiveHours(); - that._updateVisibleHours(); - that._doOnSelectorChange(); - // - that.callEvent("onTimeChange",[new Date(that._activeDate.getTime())]); - } - } - if (this.conf.touch == true) { - this.hsCont.ontouchstart = this.hsCont.onclick; - } - } - - // init minutes - if (type == "minutes") { - - // _minutesInterval = 5, def - - var q1 = 4; - var w1 = 3; - var len = 2; // leading zero - - if (this._minutesInterval == 1) { - if (this._selectorMode == 1) { - q1 = 2; - w1 = 3; - len = 1; - } else { - q1 = 2; - w1 = 5; - len = 1; - css += "5"; - } - } - if (this._minutesInterval == 10) q1 = 2; - if (this._minutesInterval == 15) { - q1 = 1; - w1 = 4; - css += "4"; - } - - this._rsCells = {}; - - this.rsCont = document.createElement("DIV"); - this.rsCont.className = "dhtmlxcalendar_area_"+css; - this._sel.firstChild.firstChild.firstChild.childNodes[1].appendChild(this.rsCont); - - var i = 0; - for (var q=0; q1?this._fixLength(i,len):i); - li.className = "dhtmlxcalendar_selector_cell"; - ul.appendChild(li); - li._minutes = i; - li._cell = true; - this._rsCells[i] = li; - i += this._minutesInterval; - } - } - - this.rsCont.onclick = function(e) { - e = e||event; - if (e.type == "touchstart" && e.preventDefault != null) e.preventDefault(); - e.cancelBubble = true; - var t = (e.target||e.srcElement); - if (t._minutes != null) { - if (that._minutesInterval == 1) { - - var m = that.getFormatedDate("%i"); - if (that._selectorMode == 1) { - m = t._minutes.toString()+m.charAt(1); - } else { - m = m.charAt(0)+t._minutes.toString(); - } - that._activeDate.setMinutes(Number(m)); - // - that.callEvent("onTimeChange",[new Date(that._activeDate.getTime())]); - - that._hideSelector(); // will unload - - if (that._selectorMode == 1) { - // show 2nd - - that._updateVisibleMinutes(true); - that._selectorMode = 2; - that._showSelector("minutes", that._sel._x, that._sel._y, "selector_minutes", true); - that._updateActiveMinutes(); - return; - } else { - that._selectorMode = 1; - } - } else { - that._hideSelector(); - that._activeDate.setMinutes(t._minutes); - that._updateActiveMinutes(); - // - that.callEvent("onTimeChange",[new Date(that._activeDate.getTime())]); - } - that._updateVisibleMinutes(); - that._doOnSelectorChange(); - } - } - if (this.conf.touch == true) { - this.rsCont.ontouchstart = this.rsCont.onclick; - } - } - - // mark that selector of current type is inited - this._sel._ta[type] = true; - } - - this._showSelector = function(type, x, y, css, autoHide) { - - if (autoHide === true && this._sel != null && this._isSelectorVisible() && type == this._sel._t) { - this._hideSelector(); - return; - } - - if (this.conf.skin == "dhx_terrace") { - x += 12; // ul's margin - } - - if (!this._sel || !this._sel._ta[type]) this._initSelector(type,css); - - // minutes was visible, selector jumps to other type, remove red line - if (type != this._sel._t && this._sel._t == "minutes" && this._minutesInterval == 1) { - this.contTime.firstChild.firstChild.childNodes[3].innerHTML = this.getFormatedDate("%i"); - } - - this._sel._x = x; - this._sel._y = y; - - // show selector cover - this._sel.style.visibility = "hidden"; - this._sel.style.display = ""; - - this._selCover.style.width = this.base.offsetWidth-2+"px"; - this._selCover.style.top = this.contMonth.offsetHeight+"px"; - this._selCover.style.height = this.contDates.offsetHeight+this.contDays.offsetHeight-1+"px"; - - this._selCover.style.display = ""; - - // show selector - this._sel._t = type; - this._sel.className = "dhtmlxcalendar_selector_obj dhtmlxcalendar_"+css+(type=="hours"&&this.conf.today==true?"2":""); - - // left/right table arrows - this._sel.childNodes[0].firstChild.firstChild.childNodes[0].style.display = this._sel.childNodes[0].firstChild.firstChild.childNodes[2].style.display = (type=="year"?"":"none"); - - // coords - var x0 = Math.max(0, x-Math.round(this._sel.offsetWidth/2)); - if (x0+this._sel.offsetWidth > this._sel.parentNode.offsetWidth) { - x0 = this._sel.parentNode.offsetWidth - this._sel.offsetWidth; - } - - this._sel.style.left = x0+"px"; - - if (type == "hours" || type == "minutes") { - this._sel.style.top = y-this._sel.offsetHeight+"px"; - } else { - this._sel.style.top = y+"px"; - } - - // arrow width - this._sel.childNodes[1].style.width = this._sel.childNodes[0].offsetWidth+"px"; - - // final apply - this._sel.style.visibility = "visible"; - - // callbacks - this._doOnSelectorShow(type); - } - - this._doOnSelectorShow = function(type) { - if (type == "month") this._updateActiveMonth(); - if (type == "year") this._updateYearsList(this._activeMonth); - if (type == "hours") this._updateActiveHours(); - if (type == "minutes") this._updateActiveMinutes(); - } - - this._hideSelector = function(selMode) { - if (!this._sel) return; - this._sel.style.display = "none"; - this._sel.style.visible = "hidden"; - this._selCover.style.display = "none"; - // - if (this._sel._t == "minutes" && this._minutesInterval == 1) { - this.contTime.firstChild.firstChild.childNodes[3].innerHTML = this.getFormatedDate("%i"); - this._unloadSelector("minutes"); - } - } - - this._isSelectorVisible = function() { - if (!this._sel) return false; - return (this._sel.style.display != "none"); - } - - this._doOnSelectorChange = function(state) { - this.callEvent("onChange",[new Date(this._activeMonth.getFullYear(), this._activeMonth.getMonth(), this._activeDate.getDate(), this._activeDate.getHours(), this._activeDate.getMinutes(), this._activeDate.getSeconds()),state===true]); - } - - this._clearSelHover = function() { - if (!this._selHover) return; - this._selHover.className = String(this._selHover.className.replace(/dhtmlxcalendar_selector_cell_hover/gi,"")); - this._selHover = null; - } - - this._unloadSelector = function(type) { - if (!this._sel) return; - if (!this._sel._ta[type]) return; - - // month selector - if (type == "month") { - - this.msCont.onclick = this.msCont.ontouchstart = null; - this._msActive = null; - - // li - for (var a in this._msCells) { - this._msCells[a]._cell = null; - this._msCells[a]._month = null; - this._msCells[a].parentNode.removeChild(this._msCells[a]); - this._msCells[a] = null; - } - this._msCells = null; - - // ul - while (this.msCont.childNodes.length > 0) this.msCont.removeChild(this.msCont.lastChild); - - // div - this.msCont.parentNode.removeChild(this.msCont); - this.msCont = null; - - } - - // years selector - if (type == "year") { - - this.ysCont.onclick = this.ysCont.ontouchstart = null; - - // li - for (var a in this._ysCells) { - this._ysCells[a]._cell = null; - this._ysCells[a]._year = null; - this._ysCells[a].parentNode.removeChild(this._ysCells[a]); - this._ysCells[a] = null; - } - this._ysCells = null; - - // ul - while (this.ysCont.childNodes.length > 0) this.ysCont.removeChild(this.ysCont.lastChild); - - // div - this.ysCont.parentNode.removeChild(this.ysCont); - this.ysCont = null; - - } - - // hours selector - if (type == "hours") { - - this.hsCont.onclick = this.hsCont.ontouchstart = null; - this._hsActive = null; - - // li - for (var a in this._hsCells) { - this._hsCells[a]._cell = null; - this._hsCells[a]._hours = null; - this._hsCells[a].parentNode.removeChild(this._hsCells[a]); - this._hsCells[a] = null; - } - this._hsCells = null; - - // ul - while (this.hsCont.childNodes.length > 0) this.hsCont.removeChild(this.hsCont.lastChild); - - // div - this.hsCont.parentNode.removeChild(this.hsCont); - this.hsCont = null; - - } - - // minutes selector - if (type == "minutes") { - - this.rsCont.onclick = this.rsCont.ontouchstart = null; - this._rsActive = null; - - // li - for (var a in this._rsCells) { - this._rsCells[a]._cell = null; - this._rsCells[a]._minutes = null; - this._rsCells[a].parentNode.removeChild(this._rsCells[a]); - this._rsCells[a] = null; - } - this._rsCells = null; - - // ul - while (this.rsCont.childNodes.length > 0) this.rsCont.removeChild(this.rsCont.lastChild); - - // div - this.rsCont.parentNode.removeChild(this.rsCont); - this.rsCont = null; - - } - - - this._sel._ta[type] = null; - } - - this.setMinutesInterval = function(d) { - if (!(d == 1 || d == 5 || d == 10 || d == 15)) return; - this._minutesInterval = d; - this._unloadSelector("minutes"); - } - - - /* month selector */ - - this._updateActiveMonth = function() { - if (typeof(this._msActive) != "undefined" && typeof(this._msCells[this._msActive]) != "undefined") this._msCells[this._msActive].className = "dhtmlxcalendar_selector_cell"; - this._msActive = this._activeMonth.getMonth(); - this._msCells[this._msActive].className = "dhtmlxcalendar_selector_cell dhtmlxcalendar_selector_cell_active"; - } - - /* year selector */ - - this._updateActiveYear = function() { - var i = this._activeMonth.getFullYear(); - if (this._ysCells[i]) this._ysCells[i].className = "dhtmlxcalendar_selector_cell dhtmlxcalendar_selector_cell_active"; - } - - this._updateYearsList = function(d) { - for (var a in this._ysCells) { - this._ysCells[a] = null; - delete this._ysCells[a]; - } - // - var i = 12*Math.floor(d.getFullYear()/12); - for (var q=0; q<4; q++) { - for (var w=0; w<3; w++) { - this.ysCont.childNodes[q].childNodes[w].innerHTML = i; - this.ysCont.childNodes[q].childNodes[w]._year = i; - this.ysCont.childNodes[q].childNodes[w].className = "dhtmlxcalendar_selector_cell"; - this._ysCells[i++] = this.ysCont.childNodes[q].childNodes[w]; - } - } - this._updateActiveYear(); - } - - this._scrollYears = function(i) { - var y = (i<0?this.ysCont.firstChild.firstChild._year:this.ysCont.lastChild.lastChild._year)+i; - var d = new Date(y, this._activeMonth.getMonth(), 1, 0, 0, 0, 0); - this._updateYearsList(d); - } - - /* hours selector */ - - // update hours in selector - this._updateActiveHours = function() { - if (typeof(this._hsActive) != "undefined" && typeof(this._hsCells[this._hsActive]) != "undefined") this._hsCells[this._hsActive].className = "dhtmlxcalendar_selector_cell"; - this._hsActive = this._activeDate.getHours(); - this._hsCells[this._hsActive].className = "dhtmlxcalendar_selector_cell dhtmlxcalendar_selector_cell_active"; - } - - // update hours in calendar - this._updateVisibleHours = function() { - this.contTime.firstChild.firstChild.childNodes[1].innerHTML = this._fixLength(this._activeDate.getHours(),2); - } - - /* minutes selector */ - - // update minutes in selector - this._updateActiveMinutes = function() { - if (this._rsActive != null && typeof(this._rsActive) != "undefined" && typeof(this._rsCells[this._rsActive]) != "undefined") this._rsCells[this._rsActive].className = "dhtmlxcalendar_selector_cell"; - if (this._minutesInterval == 1) { - this._rsActive = (this.getFormatedDate("%i").toString()).charAt(this._selectorMode==1?0:1); - } else { - this._rsActive = this._activeDate.getMinutes(); - } - if (typeof(this._rsCells[this._rsActive]) != "undefined") this._rsCells[this._rsActive].className = "dhtmlxcalendar_selector_cell dhtmlxcalendar_selector_cell_active"; - } - - // update minutes in calendar - this._updateVisibleMinutes = function(h) { - var t = this._fixLength(this._activeDate.getMinutes(),2).toString(); - if (h == true) t = t.charAt(0)+""+t.charAt(1)+""; - this.contTime.firstChild.firstChild.childNodes[3].innerHTML = t; - if (h == true) this.contTime.firstChild.firstChild.childNodes[3].lastChild._par = true; - } - - /* some common functionality */ - - this._fixLength = function(t, r) { - while (String(t).length < r) t = "0"+String(t); - return t; - } - - this._dateFormat = ""; - this._dateFormatRE = null; - - this.setDateFormat = function(format) { - - // check value in inputs - // for 1st call on init strTodate not defined - var upd = {}; - if (this._strToDate != null) { - for (var a in this.i) { - if (this.i[a].input != null && this.i[a].input.value.length > 0) { - var d = this._strToDate(this.i[a].input.value, this._dateFormat||this.langData[this.lang].dateformat||"%Y-%m-%d"); - if (d instanceof Date) upd[a] = d; - } - } - } - - this._dateFormat = format; - var k = String(this._dateFormat).replace(/%[a-zA-Z]+/g,function(t){ - var t2 = t.replace(/%/,""); - switch (t2) { - case "n": case "h": case "j": case "g": case "G": return "\\d{1,2}"; - case "m": case "d": case "H": case "i": case "s": case "y": return "\\d{2}"; - case "Y": return "\\d{4}"; - case "M": return "("+that.langData[that.lang].monthesSNames.join("|").toLowerCase()+"){1,}"; - case "F": return "("+that.langData[that.lang].monthesFNames.join("|").toLowerCase()+"){1,}"; - case "D": return "[a-z]{2}"; - case "a": case "A": return "AM|PM"; - case "u": return "\\d{1,6}"; - case "P": return "[\\+\\-]\\d{1,2}\\:\\d{1,2}"; - } - return t; - }); - - this._dateFormatRE = new RegExp(k,"i"); - - // update dates in inputs - for (var a in upd) { - this.i[a].input.value = this._dateToStr(upd[a]); - } - upd = null; - } - - this.setDateFormat(this.langData[this.lang].dateformat||"%Y-%m-%d"); - - this._updateDateStr = function(str) { - var r; - - if (!str) - r = new Date(); - else { - // check if valid str - if (!this._dateFormatRE || !str.match(this._dateFormatRE)) return; - - // input was not updated - if (str == this.getFormatedDate()) return; - r = this._strToDate(str); - } - - if (!(r instanceof Date)) return; - - // cjeck if allow to modify input - if (this.checkEvent("onBeforeChange")) { - if (!this.callEvent("onBeforeChange",[new Date(r.getFullYear(),r.getMonth(),r.getDate(),r.getHours(),r.getMinutes(),r.getSeconds())])) { - // revert value - this._updateInp(); - return; - } - } - - this._nullDate = false; - this._activeDate = r; - this._drawMonth(this._nullDate?new Date():this._activeDate); - - this._updateVisibleMinutes(); - this._updateVisibleHours(); - - if (this._sel && this._isSelectorVisible()) this._doOnSelectorShow(this._sel._t); - this._doOnSelectorChange(true); - - } - - this.showMonth = function(d) { - if (typeof(d) == "string") d = this._strToDate(d); - if (!(d instanceof Date)) return; - this._drawMonth(d); - } - - this.setFormatedDate = function(format, str, a, return_only) { - var date = this._strToDate(str, format); - if (return_only) return date; - this.setDate(date); - } - - this.getFormatedDate = function(format, date){ - if (!(date && date instanceof Date)){ - if (this._nullDate) return ""; - date = new Date(this._activeDate); - } - return this._dateToStr(date, format); - } - - /* week numbers */ - this.getWeekNumber = function(date) { - if (typeof(date) == "string") date = this._strToDate(date); - if (!(date instanceof Date)) return "Invalid Date"; - - var nday = date.getDay(); - if (nday === 0) - nday = 7; - - var first_thursday = new Date(date.valueOf()); - first_thursday.setDate(date.getDate() + (4 - nday)); - - var year_number = first_thursday.getFullYear(); - var ordinal_date = Math.round( (first_thursday.getTime() - new Date(year_number, 0, 1).getTime()) / 86400000); - return 1 + Math.floor( ordinal_date / 7); - } - - this.showWeekNumbers = function() { - this.base.firstChild.className = "dhtmlxcalendar_wn"; - } - - this.hideWeekNumbers = function() { - this.base.firstChild.className = ""; - } - - /* show/hide calendar */ - - // public show/hide - - this.show = function(id) { - // if id not set - try show in container - if (!id && this._hasParent) { - this._show(); - return; - } - - // show by real input id, added in 5.0 - if (typeof(id) == "string") { - var i = document.getElementById(id); - if (i != null && typeof(i._dhtmlxcalendar_uid) != "undefined" && this.i[i._dhtmlxcalendar_uid] != null) { - this._show(i._dhtmlxcalendar_uid); - return; - } - } - - // if input id not specified show near first found - // if nothing found - do not show - if (typeof(id) == "object" && typeof(id._dhtmlxcalendar_uid) != "undefined" && this.i[id._dhtmlxcalendar_uid] == id) { - this._show(id._dhtmlxcalendar_uid); - return; - } - if (typeof(id) == "undefined") { for (var a in this.i) if (!id) id = a; } - if (!id) return; - this._show(id); - } - - this.hide = function() { - if (this._isVisible()) this._hide(); - } - - this.isVisible = function() { - return this._isVisible(); - } - - - // private show/hide - this._activeInp = null; - - this.pos = "bottom"; - this.setPosition = function(x, y) { - this._px = null; - this._py = null; - if (x == "right" || x == "bottom") { - this.pos = x; - } else { - this.pos = "int"; - if (typeof(x) != "undefined" && !isNaN(x)) { - this.base.style.left = x+"px"; - this._px = x; - } - if (typeof(y) != "undefined" && !isNaN(y)) { - this.base.style.top = y+"px"; - this._py = y; - } - this._ifrSize(); - } - } - - this._show = function(inpId, autoHide) { - if (autoHide === true && this._activeInp == inpId && this._isVisible()) { - this._hide(); - return; - } - this.base.style.visibility = "hidden"; - this.base.style.display = ""; - if (!inpId) { - if (this._px != null && this._py != null) { - this.base.style.left = this._px+"px"; - this.base.style.top = this._py+"px"; - } else { - this.base.style.left = "0px"; - this.base.style.top = "0px"; - } - } else { - if (this.base.className.indexOf("dhtmlxcalendar_in_input") == -1) this.base.className += " dhtmlxcalendar_in_input"; - var i = (this.i[inpId].input||this.i[inpId].button); - var dim = window.dhx4.screenDim(); - var inp = {top: window.dhx4.absTop(i), left: window.dhx4.absLeft(i)}; - if (this.pos == "right") { - this.base.style.left = inp.left+i.offsetWidth+"px"; - this.base.style.top = Math.min(inp.top, dim.bottom-this.base.offsetHeight)+"px"; - } else if (this.pos == "bottom") { - var y0 = inp.top+i.offsetHeight+1; - if (y0+this.base.offsetHeight > dim.bottom) { - var ny0 = inp.top-this.base.offsetHeight; - if (ny0 >= -20) y0 = ny0; - } - // checi overflow from right side - var x = inp.left; - if (x + this.base.offsetWidth > dim.right) x = Math.max(0, inp.left+i.offsetWidth-this.base.offsetWidth); - // - this.base.style.left = x+"px"; - this.base.style.top = y0+"px"; - } else { - this.base.style.left = (this._px||0)+"px"; - this.base.style.top = (this._py||0)+"px"; - } - this._activeInp = inpId; - i = null; - } - this._hideSelector(); - this.base.style.visibility = "visible"; - this.base.style.zIndex = window.dhx4.zim.reserve(this.conf.zi); - this._ifrSize(); - if (this._ifr) this._ifr.style.display = ""; - this.callEvent("onShow",[]); - } - - this._hide = function() { - if (this._lastHover != null) this._clearDayHover(); - this._hideSelector(); - this.base.style.display = "none"; - window.dhx4.zim.clear(this.conf.zi); - if (this.base.className.indexOf("dhtmlxcalendar_in_input") >= 0) this.base.className = this.base.className.replace(/\s{0,}dhtmlxcalendar_in_input/gi, ""); - this._activeInp = null; - if (this._ifr) this._ifr.style.display = "none"; - this.callEvent("onHide",[]); - } - - this._isVisible = function() { - return (this.base.style.display!="none"); - } - - this._rangeActive = false; - this._rangeFrom = null; - this._rangeTo = null; - this._rangeSet = {}; - - this.setInsensitiveDays = function(d) { - - // !works in append mode - var t = this._extractDates(d); - for (var q=0; qthis._rangeTo)) return true; - if (this._rangeType == "out" && (time>=this._rangeFrom && time<=this._rangeTo)) return true; - if (this._rangeType == "from" && timethis._rangeTo) return true; - } - - var t0 = new Date(time); - - if (this._rangeWeek) { - if (this._rangeWeekData[t0.getDay()] === true) return true; - } - - if (this._rangeMonth) { - if (this._rangeMonthData[t0.getDate()] === true) return true; - } - - if (this._rangeYear) { - if (this._rangeYearData[t0.getMonth()+"_"+t0.getDate()] === true) return true; - } - - return false; - - } - - this.clearSensitiveRange = function() { - this._clearRange(); - this._drawMonth(this._activeMonth); - } - - this.setSensitiveRange = function(from, to, ins) { - - var f = false; - - // set range - if (from != null && to != null) { - - if (!(from instanceof Date)) from = this._strToDate(from); - if (!(to instanceof Date)) to = this._strToDate(to); - - if (from.getTime() > to.getTime()) return; - - this._rangeFrom = new Date(from.getFullYear(),from.getMonth(),from.getDate(),0,0,0,0).getTime(); - this._rangeTo = new Date(to.getFullYear(),to.getMonth(),to.getDate(),0,0,0,0).getTime(); - this._rangeActive = true; - this._rangeType = "in"; - - f = true; - } - - // set range "from date" - if (!f && from != null && to == null) { - - if (!(from instanceof Date)) from = this._strToDate(from); - this._rangeFrom = new Date(from.getFullYear(),from.getMonth(),from.getDate(),0,0,0,0).getTime(); - this._rangeTo = null; - - if (ins === true) this._rangeFrom++; - - this._rangeActive = true; - this._rangeType = "from"; - - f = true; - - } - - // set range "to date" - if (!f && from == null && to != null) { - - if (!(to instanceof Date)) to = this._strToDate(to); - this._rangeFrom = null; - this._rangeTo = new Date(to.getFullYear(),to.getMonth(),to.getDate(),0,0,0,0).getTime(); - - if (ins === true) this._rangeTo--; - - this._rangeActive = true; - this._rangeType = "to"; - - f = true; - - } - - if (f) this._drawMonth(this._activeMonth); - } - - this.setInsensitiveRange = function(from, to) { - - if (from != null && to != null) { - - if (!(from instanceof Date)) from = this._strToDate(from); - if (!(to instanceof Date)) to = this._strToDate(to); - - if (from.getTime() > to.getTime()) return; - - this._rangeFrom = new Date(from.getFullYear(),from.getMonth(),from.getDate(),0,0,0,0).getTime(); - this._rangeTo = new Date(to.getFullYear(),to.getMonth(),to.getDate(),0,0,0,0).getTime(); - this._rangeActive = true; - this._rangeType = "out"; - - this._drawMonth(this._activeMonth); - return; - } - - if (from != null && to == null) { - this.setSensitiveRange(null, from, true); - return; - } - - if (from == null && to != null) { - this.setSensitiveRange(to, null, true); - return; - } - - } - - // - this.disableDays = function(mode, d) { - - if (mode == "week") { - - // !! works in replace mode - - if (typeof(d) != "object" && typeof(d.length) == "undefined") d = [d]; - - if (!this._rangeWeekData) this._rangeWeekData = {}; - for (var a in this._rangeWeekData) { - this._rangeWeekData[a] = false; - delete this._rangeWeekData[a]; - } - - for (var q=0; q 0) this.contMonth.firstChild.firstChild.removeChild(this.contMonth.firstChild.firstChild.lastChild); - - // li - this.contMonth.firstChild.removeChild(this.contMonth.firstChild.firstChild); - - // ul - this.contMonth.removeChild(this.contMonth.firstChild); - - // div - this.contMonth.parentNode.removeChild(this.contMonth); - this.contMonth = null; - - /* days */ - - // li - while (this.contDays.firstChild.childNodes.length > 0) this.contDays.firstChild.removeChild(this.contDays.firstChild.lastChild); - - // ul - this.contDays.removeChild(this.contDays.firstChild); - - // div - this.contDays.parentNode.removeChild(this.contDays); - this.contDays = null; - - /* dates */ - - this.contDates.onclick = null; - this.contDates.ontouchstart = null; - this.contDates.onmouseover = null; - this.contDates.onmouseout = null; - - while (this.contDates.childNodes.length > 0) { - while (this.contDates.lastChild.childNodes.length > 0) { - // li - this.contDates.lastChild.lastChild._css_date = null; - this.contDates.lastChild.lastChild._css_month = null; - this.contDates.lastChild.lastChild._css_weekend = null; - this.contDates.lastChild.lastChild._css_hover = null; - this.contDates.lastChild.lastChild._date = null; - this.contDates.lastChild.lastChild._q = null; - this.contDates.lastChild.lastChild._w = null; - this.contDates.lastChild.removeChild(this.contDates.lastChild.lastChild); - } - // ul - this.contDates.removeChild(this.contDates.lastChild); - } - - // div - this.contDates.parentNode.removeChild(this.contDates); - this.contDates = null; - - /* time */ - - this.contTime.firstChild.firstChild.onclick = null; - this.contTime.firstChild.firstChild.ontouchstart = null; - - // labels - while (this.contTime.firstChild.firstChild.childNodes.length > 0) this.contTime.firstChild.firstChild.removeChild(this.contTime.firstChild.firstChild.lastChild); - - // li - this.contTime.firstChild.removeChild(this.contTime.firstChild.firstChild); - - // ul - this.contTime.removeChild(this.contTime.firstChild); - - // div - this.contTime.parentNode.removeChild(this.contTime); - this.contTime = null; - - - this._lastHover = null; - - /* selector */ - - this._unloadSelector("month"); - this._unloadSelector("year"); - this._unloadSelector("hours"); - this._unloadSelector("minutes"); - - // selector cover - if (this._selCover) { - this._selCover.parentNode.removeChild(this._selCover); - this._selCover = null; - } - - // selector object - if (this._sel) { - - for (var a in this._sel._ta) this._sel._ta[a] = null; - this._sel._ta = null; - this._sel._t = null; - - this._sel.onmouseover = null; - this._sel.onmouseout = null; - - // td - while (this._sel.firstChild.firstChild.firstChild.childNodes.length > 0) { - this._sel.firstChild.firstChild.firstChild.lastChild.onclick = null; - this._sel.firstChild.firstChild.firstChild.lastChild.onmouseover = null; - this._sel.firstChild.firstChild.firstChild.lastChild.onmouseout = null; - this._sel.firstChild.firstChild.firstChild.removeChild(this._sel.firstChild.firstChild.firstChild.lastChild); - } - - // tr - this._sel.firstChild.firstChild.removeChild(this._sel.firstChild.firstChild.firstChild); - - // tbody - this._sel.firstChild.removeChild(this._sel.firstChild.firstChild); - - // table and arrow div - while (this._sel.childNodes.length > 0) this._sel.removeChild(this._sel.lastChild); - - // object - this._sel.parentNode.removeChild(this._sel); - this._sel = null; - } - - - /* base */ - - this.base.onclick = null; - this.base.onmousedown = null; - this.base.ontouchstart = null; - this.base.onmouseout = null; - this.base.parentNode.removeChild(this.base); - this.base = null; - - /* methods */ - - this._clearDayHover = null; - this._clearSelHover = null; - this._doOnSelectorChange = null; - this._doOnSelectorShow = null; - this._drawMonth = null; - this._fixLength = null; - this._ifrSize = null; - this._hide = null; - this._hideSelector = null; - this._initSelector = null; - this._isSelectorVisible = null; - this._isVisible = null; - this._scrollYears = null; - this._show = null; - this._showSelector = null; - this._strToDate = null; - this._updateActiveHours = null; - this._updateActiveMinutes = null; - this._updateActiveMonth = null; - this._updateActiveYear = null; - this._updateCellStyle = null; - this._updateDateStr = null; - this._updateVisibleHours = null; - this._updateVisibleMinutes = null; - this._updateYearsList = null; - this.enableIframe = null; - this.hide = null; - this.hideTime = null; - this.setDate = null; - this.setDateFormat = null; - this.setYearsRange = null; - this.show = null; - this.showTime = null; - this.unload = null; - - /* popup */ - if (this._tipPopup != null) { - this._tipPopup.unload(); - this._tipPopup = null; - } - - for (var a in this) delete this[a]; - - a = that = null; - - } - - - // set init date - this.setDate(this._activeDate); - - return this; -}; - -dhtmlXCalendarObject.prototype.lang = "en"; -dhtmlXCalendarObject.prototype.langData = { - "en": { - dateformat: "%Y-%m-%d", - hdrformat: "%F %Y", - monthesFNames: ["January","February","March","April","May","June","July","August","September","October","November","December"], - monthesSNames: ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"], - daysFNames: ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"], - daysSNames: ["Su","Mo","Tu","We","Th","Fr","Sa"], - weekstart: 1, - weekname: "w", - today: "Today", - clear: "Clear" - } -}; - -dhtmlXCalendarObject.prototype._buildMonthHdr = function(val) { - var that = this; - var z = function(t) { - return (String(t).length==1?"0"+String(t):t); - } - var w = function(type, str) { - return ""+str+""; - } - var format = String(this.langData[this.lang].hdrformat||("%F %Y")).replace(/%[a-z]/gi, function(t){ - switch (t) { - case "%m": return w("month", z(val.getMonth()+1)); - case "%n": return w("month", val.getMonth()+1); - case "%M": return w("month", that.langData[that.lang].monthesSNames[val.getMonth()]); - case "%F": return w("month", that.langData[that.lang].monthesFNames[val.getMonth()]); - case "%y": return w("year", z(val.getYear()%100)); - case "%Y": return w("year", val.getFullYear()); - case "%%": return "%"; - default: return t; - } - }); - that = z = w = null; - return format; -}; - -dhtmlXCalendarObject.prototype.enableIframe = function(mode) { - if (mode == true) { - if (!this._ifr) { - this._ifr = document.createElement("IFRAME"); - this._ifr.frameBorder = 0; - this._ifr.border = 0; - this._ifr.setAttribute("src","javascript:false;"); - this._ifr.className = "dhtmlxcalendar_ifr"; - this._ifr.onload = function(){ - this.onload = null; - this.contentWindow.document.open("text/html", "replace"); - this.contentWindow.document.write(""); - } - this.base.parentNode.insertBefore(this._ifr, this.base); - this._ifrSize(); - } - } else { - if (this._ifr) { - this._ifr.parentNode.removeChild(this._ifr); - this._ifr = null; - } - } -}; - -dhtmlXCalendarObject.prototype._ifrSize = function() { - if (this._ifr) { - this._ifr.style.left = this.base.style.left; - this._ifr.style.top = this.base.style.top; - this._ifr.style.width = this.base.offsetWidth+"px"; - this._ifr.style.height = this.base.offsetHeight+"px"; - } -}; - -dhtmlxCalendarObject = dhtmlXCalendarObject; - -dhtmlXCalendarObject.prototype._dateStrings = function() { - var k = this.langData[this.lang]; - return {monthFullName: k.monthesFNames, monthShortName: k.monthesSNames, dayFullName: k.daysFNames, dayShortName: k.daysSNames}; -}; -dhtmlXCalendarObject.prototype._strToDate = function(val, format) { - return window.dhx4.str2date(val, format||this._dateFormat, this._dateStrings()); -}; -dhtmlXCalendarObject.prototype._dateToStr = function(val, format) { - return window.dhx4.date2str(val, format||this._dateFormat, this._dateStrings()); -}; - diff --git a/themes/sources/dhtmlxCalendar/codebase/dhtmlxcalendar_deprecated.js b/themes/sources/dhtmlxCalendar/codebase/dhtmlxcalendar_deprecated.js deleted file mode 100644 index d720a35..0000000 --- a/themes/sources/dhtmlxCalendar/codebase/dhtmlxcalendar_deprecated.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -dhtmlXCalendarObject.prototype.draw = function() { - this.show(); -}; -dhtmlXCalendarObject.prototype.close = function() { - this.hide(); -}; -dhtmlXCalendarObject.prototype.setYearsRange = function() { - -}; - diff --git a/themes/sources/dhtmlxCalendar/codebase/ext/dhtmlxcalendar_double.js b/themes/sources/dhtmlxCalendar/codebase/ext/dhtmlxcalendar_double.js deleted file mode 100644 index df217ab..0000000 --- a/themes/sources/dhtmlxCalendar/codebase/ext/dhtmlxcalendar_double.js +++ /dev/null @@ -1,103 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -window.dhtmlxDblCalendarObject = window.dhtmlXDoubleCalendarObject = window.dhtmlXDoubleCalendar = function(parentId) { - - var that = this; - - this.leftCalendar = new dhtmlXCalendarObject(parentId); - this.leftCalendar.hideTime(); - this.rightCalendar = new dhtmlXCalendarObject(parentId); - this.rightCalendar.hideTime(); - - this.leftCalendar.attachEvent("onClick", function(d){ - that._updateRange("rightCalendar", d, null); - that._evOnClick(["left", d]); - }); - - this.rightCalendar.attachEvent("onClick", function(d){ - that._updateRange("leftCalendar", null, d); - that._evOnClick(["right", d]); - }); - - this.leftCalendar.attachEvent("onBeforeChange", function(d){ - return that._evOnBeforeChange(["left",d]); - }); - - this.rightCalendar.attachEvent("onBeforeChange", function(d){ - return that._evOnBeforeChange(["right",d]); - }); - - this.show = function() { - this.leftCalendar.show(); - this.rightCalendar.base.style.marginLeft=this.leftCalendar.base.offsetWidth-1+"px"; - this.rightCalendar.show(); - } - - this.hide = function() { - this.leftCalendar.hide(); - this.rightCalendar.hide(); - } - - this.setDateFormat = function(t) { - this.leftCalendar.setDateFormat(t); - this.rightCalendar.setDateFormat(t); - } - - this.setDates = function(d0, d1) { - if (d0 != null) this.leftCalendar.setDate(d0); - if (d1 != null) this.rightCalendar.setDate(d1); - this._updateRange(); - } - - this._updateRange = function(obj, from, to) { - if (arguments.length == 3) { - (obj=="leftCalendar"?this.leftCalendar:this.rightCalendar).setSensitiveRange(from, to); - } else { - this.leftCalendar.setSensitiveRange(null, this.rightCalendar.getDate()); - this.rightCalendar.setSensitiveRange(this.leftCalendar.getDate(), null); - } - } - - this.getFormatedDate = function() { - return this.leftCalendar.getFormatedDate.apply(this.leftCalendar, arguments); - } - - this.unload = function() { - - window.dhx4._eventable(this, "clear"); - - this.leftCalendar.unload(); - this.rightCalendar.unload(); - this.leftCalendar = this.rightCalendar = null; - - this._updateRange = null; - this._evOnClick = null; - this._evOnBeforeChange = null; - this.show = null; - this.hide = null; - this.setDateFormat = null; - this.setDates = null; - this.getFormatedDate = null; - this.unload = null; - - that = null; - } - - this._evOnClick = function(args) { - return this.callEvent("onClick", args); - } - this._evOnBeforeChange = function(args) { - return this.callEvent("onBeforeChange", args); - } - - window.dhx4._eventable(this); - - return this; -} - diff --git a/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_material/dhxcalendar_arrow_left.png b/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_material/dhxcalendar_arrow_left.png deleted file mode 100644 index a00ec17..0000000 Binary files a/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_material/dhxcalendar_arrow_left.png and /dev/null differ diff --git a/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_material/dhxcalendar_arrow_left.svg b/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_material/dhxcalendar_arrow_left.svg deleted file mode 100644 index 6aa4b51..0000000 --- a/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_material/dhxcalendar_arrow_left.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_material/dhxcalendar_arrow_right.png b/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_material/dhxcalendar_arrow_right.png deleted file mode 100644 index fa82bb3..0000000 Binary files a/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_material/dhxcalendar_arrow_right.png and /dev/null differ diff --git a/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_material/dhxcalendar_arrow_right.svg b/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_material/dhxcalendar_arrow_right.svg deleted file mode 100644 index 1304c8d..0000000 --- a/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_material/dhxcalendar_arrow_right.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_material/dhxcalendar_clock.png b/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_material/dhxcalendar_clock.png deleted file mode 100644 index 9787072..0000000 Binary files a/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_material/dhxcalendar_clock.png and /dev/null differ diff --git a/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_material/dhxcalendar_marker.gif b/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_material/dhxcalendar_marker.gif deleted file mode 100644 index 4785f82..0000000 Binary files a/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_material/dhxcalendar_marker.gif and /dev/null differ diff --git a/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_material/dhxcalendar_selector_bottom.gif b/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_material/dhxcalendar_selector_bottom.gif deleted file mode 100644 index 46f962e..0000000 Binary files a/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_material/dhxcalendar_selector_bottom.gif and /dev/null differ diff --git a/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_material/dhxcalendar_selector_top.gif b/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_material/dhxcalendar_selector_top.gif deleted file mode 100644 index 2fd1744..0000000 Binary files a/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_material/dhxcalendar_selector_top.gif and /dev/null differ diff --git a/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_skyblue/dhxcalendar_arrow_left.gif b/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_skyblue/dhxcalendar_arrow_left.gif deleted file mode 100644 index f927e47..0000000 Binary files a/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_skyblue/dhxcalendar_arrow_left.gif and /dev/null differ diff --git a/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_skyblue/dhxcalendar_arrow_right.gif b/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_skyblue/dhxcalendar_arrow_right.gif deleted file mode 100644 index c2a4835..0000000 Binary files a/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_skyblue/dhxcalendar_arrow_right.gif and /dev/null differ diff --git a/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_skyblue/dhxcalendar_clock.gif b/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_skyblue/dhxcalendar_clock.gif deleted file mode 100644 index c3f7391..0000000 Binary files a/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_skyblue/dhxcalendar_clock.gif and /dev/null differ diff --git a/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_skyblue/dhxcalendar_mark.gif b/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_skyblue/dhxcalendar_mark.gif deleted file mode 100644 index 7390c60..0000000 Binary files a/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_skyblue/dhxcalendar_mark.gif and /dev/null differ diff --git a/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_skyblue/dhxcalendar_selector_bottom.gif b/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_skyblue/dhxcalendar_selector_bottom.gif deleted file mode 100644 index 4dda554..0000000 Binary files a/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_skyblue/dhxcalendar_selector_bottom.gif and /dev/null differ diff --git a/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_skyblue/dhxcalendar_selector_top.gif b/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_skyblue/dhxcalendar_selector_top.gif deleted file mode 100644 index 090b597..0000000 Binary files a/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_skyblue/dhxcalendar_selector_top.gif and /dev/null differ diff --git a/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_terrace/dhxcalendar_arrow_left.gif b/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_terrace/dhxcalendar_arrow_left.gif deleted file mode 100644 index 7604e53..0000000 Binary files a/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_terrace/dhxcalendar_arrow_left.gif and /dev/null differ diff --git a/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_terrace/dhxcalendar_arrow_right.gif b/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_terrace/dhxcalendar_arrow_right.gif deleted file mode 100644 index 3bd15c9..0000000 Binary files a/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_terrace/dhxcalendar_arrow_right.gif and /dev/null differ diff --git a/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_terrace/dhxcalendar_clock.gif b/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_terrace/dhxcalendar_clock.gif deleted file mode 100644 index c5b9aa6..0000000 Binary files a/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_terrace/dhxcalendar_clock.gif and /dev/null differ diff --git a/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_terrace/dhxcalendar_mark.gif b/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_terrace/dhxcalendar_mark.gif deleted file mode 100644 index 4785f82..0000000 Binary files a/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_terrace/dhxcalendar_mark.gif and /dev/null differ diff --git a/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_terrace/dhxcalendar_selector_bottom.gif b/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_terrace/dhxcalendar_selector_bottom.gif deleted file mode 100644 index 51bd423..0000000 Binary files a/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_terrace/dhxcalendar_selector_bottom.gif and /dev/null differ diff --git a/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_terrace/dhxcalendar_selector_top.gif b/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_terrace/dhxcalendar_selector_top.gif deleted file mode 100644 index b004755..0000000 Binary files a/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_terrace/dhxcalendar_selector_top.gif and /dev/null differ diff --git a/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_web/dhxcalendar_arrow_left.gif b/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_web/dhxcalendar_arrow_left.gif deleted file mode 100644 index 54366e0..0000000 Binary files a/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_web/dhxcalendar_arrow_left.gif and /dev/null differ diff --git a/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_web/dhxcalendar_arrow_left2.gif b/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_web/dhxcalendar_arrow_left2.gif deleted file mode 100644 index fa475b5..0000000 Binary files a/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_web/dhxcalendar_arrow_left2.gif and /dev/null differ diff --git a/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_web/dhxcalendar_arrow_right.gif b/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_web/dhxcalendar_arrow_right.gif deleted file mode 100644 index 0a343f9..0000000 Binary files a/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_web/dhxcalendar_arrow_right.gif and /dev/null differ diff --git a/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_web/dhxcalendar_arrow_right2.gif b/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_web/dhxcalendar_arrow_right2.gif deleted file mode 100644 index d9e30be..0000000 Binary files a/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_web/dhxcalendar_arrow_right2.gif and /dev/null differ diff --git a/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_web/dhxcalendar_clock.gif b/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_web/dhxcalendar_clock.gif deleted file mode 100644 index 0fe21e4..0000000 Binary files a/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_web/dhxcalendar_clock.gif and /dev/null differ diff --git a/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_web/dhxcalendar_mark.gif b/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_web/dhxcalendar_mark.gif deleted file mode 100644 index 4dd78d2..0000000 Binary files a/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_web/dhxcalendar_mark.gif and /dev/null differ diff --git a/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_web/dhxcalendar_selector_bottom.gif b/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_web/dhxcalendar_selector_bottom.gif deleted file mode 100644 index fa50af2..0000000 Binary files a/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_web/dhxcalendar_selector_bottom.gif and /dev/null differ diff --git a/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_web/dhxcalendar_selector_top.gif b/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_web/dhxcalendar_selector_top.gif deleted file mode 100644 index 4026cd2..0000000 Binary files a/themes/sources/dhtmlxCalendar/codebase/imgs/dhxcalendar_web/dhxcalendar_selector_top.gif and /dev/null differ diff --git a/themes/sources/dhtmlxCalendar/codebase/skins/dhtmlxcalendar_dhx_skyblue.css b/themes/sources/dhtmlxCalendar/codebase/skins/dhtmlxcalendar_dhx_skyblue.css deleted file mode 100644 index 4a2ad9e..0000000 --- a/themes/sources/dhtmlxCalendar/codebase/skins/dhtmlxcalendar_dhx_skyblue.css +++ /dev/null @@ -1,649 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: dhx_skyblue - include extra file: skins/dhx_skyblue.less -*/ - -.dhtmlxcalendar_ifr { - position: absolute; - overflow: hidden; - background-color: white; -} -.dhtmlxcalendar_dhx_skyblue { - position: absolute; - display: block; - background-color: white; - font-family: Tahoma, Helvetica; - font-size: 11px; - color: black; -} -.dhtmlxcalendar_dhx_skyblue ul.dhtmlxcalendar_line { - position: relative; - display: block; - clear: both; - margin: 0px; - padding: 0px; - overflow: hidden; - width: 211px; -} -.dhtmlxcalendar_dhx_skyblue ul.dhtmlxcalendar_line li { - float: left; - position: relative; - list-style-type: none; - list-style-image: none; - text-align: center; - vertical-align: middle; - cursor: default; - overflow: hidden; - margin: 0px; - padding: 0px; -} -.dhtmlxcalendar_dhx_skyblue.dhtmlxcalendar_in_input { - box-shadow: 0 0 6px rgba(0,0,0,0.25); -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_month_cont { - position: relative; - display: block; - width: 211px; - height: 25px; - margin: 0px; - background-color: #e2efff; - background: linear-gradient(#e2efff,#d3e7ff); - background: -webkit-linear-gradient(#e2efff,#d3e7ff); - filter: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e2efff,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100); - border: 1px solid #a4bed4; - overflow: hidden; - color: black; - -webkit-user-select: text; - -khtml-user-select: text; - -moz-user-select: text; - -ms-user-select: text; - -o-user-select: text; - user-select: text; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr { - width: 211px; - height: 25px; - line-height: 25px; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow { - position: absolute; - top: 0; - width: 18px; - height: 25px; - text-align: center; - color: inherit; - background-position: center center; - background-repeat: no-repeat; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_left { - left: 4px; - background-image: url("../imgs/dhxcalendar_skyblue/dhxcalendar_arrow_left.gif"); - opacity: 0.8; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=80); -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_left_hover { - left: 4px; - background-image: url("../imgs/dhxcalendar_skyblue/dhxcalendar_arrow_left.gif"); - opacity: 1; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100); -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_right { - right: 4px; - background-image: url("../imgs/dhxcalendar_skyblue/dhxcalendar_arrow_right.gif"); - opacity: 0.8; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=80); -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_right_hover { - right: 4px; - background-image: url("../imgs/dhxcalendar_skyblue/dhxcalendar_arrow_right.gif"); - opacity: 1; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100); -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr span.dhtmlxcalendar_month_label_month, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr span.dhtmlxcalendar_month_label_year { - position: relative; - font-weight: bold; - color: #34404b; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_today, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_clear { - display: none; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_today { - float: right; - margin-right: 8px; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_clear { - float: right; - margin-right: 74px; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_today, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_clear { - float: right; - margin-right: 8px; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_days_cont { - position: relative; - display: block; - width: 211px; - margin: 0px; - padding-bottom: 1px; - border-left: 1px solid #a4bed4; - border-right: 1px solid #a4bed4; - border-bottom: 1px solid #cbd9e4; - -webkit-user-select: text; - -khtml-user-select: text; - -moz-user-select: text; - -ms-user-select: text; - -o-user-select: text; - user-select: text; - overflow: hidden; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line { - border-top: 1px solid white; - padding-left: 1px; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li { - width: 29px; - height: 19px; - line-height: 19px; - margin-right: 1px; - font-size: 9px; - background-color: #ecf4ff; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_day_weekday_cell, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_day_weekday_cell_first { - color: #c66200; - background-color: #ffe6ae; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont { - -webkit-tap-highlight-color: rgba(0,0,0,0); - position: relative; - display: block; - width: 211px; - margin: 0px; - padding-bottom: 1px; - border-left: 1px solid #a4bed4; - border-right: 1px solid #a4bed4; - border-bottom: 1px solid #a4bed4; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - overflow: hidden; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line { - border-top: 1px solid white; - padding-left: 1px; - height: 26px; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li { - color: #909090; - background-color: white; - border: 1px solid white; - width: 27px; - height: 24px; - line-height: 23px; - margin-right: 1px; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li div.dhtmlxcalendar_label { - width: 100%; - height: 100%; - text-align: center; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend { - border-color: #cccccc; - background-color: #f7f7f7; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_dis, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_dis, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_dis, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_dis { - color: #b2b2b2; - background-color: #f0f0f0; - border-color: #f0f0f0; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_holiday, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_holiday { - color: red; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_holiday, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_holiday { - color: red; - border-color: #cccccc; - background-color: #f7f7f7; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_holiday_dis, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_holiday_dis, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_holiday_dis, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_holiday_dis { - color: red; - background-color: #f0f0f0; - border-color: #f0f0f0; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_hover, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_hover, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_hover, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_hover { - border-color: #cccccc; - background-color: #f7f7f7; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_holiday_hover, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_holiday_hover, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_holiday_hover, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_holiday_hover { - color: red; - border-color: #cccccc; - background-color: #f7f7f7; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month { - color: black; - background-color: #ecf4ff; - border-color: #ecf4ff; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend { - color: #c66200; - background-color: #fff0d2; - border-color: #fff0d2; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date { - color: black; - background-color: #b5deff; - border-color: #a1ceed; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend { - color: #c66200; - background-color: #ffdc90; - border-color: #ffce65; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_dis, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_dis, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_dis, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_dis { - color: #b2b2b2; - background-color: #f0f0f0; - border-color: #f0f0f0; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_holiday { - color: red; - background-color: #ecf4ff; - border-color: #ecf4ff; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_holiday { - color: red; - background-color: #fff0d2; - border-color: #fff0d2; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_holiday { - color: red; - background-color: #b5deff; - border-color: #a1ceed; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_holiday { - color: red; - background-color: #ffdc90; - border-color: #ffce65; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_holiday_dis, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_holiday_dis, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_holiday_dis, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_holiday_dis { - color: red; - background-color: #f0f0f0; - border-color: #f0f0f0; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_hover { - color: black; - background-color: #d9eeff; - border-color: #a1ceed; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_hover { - color: #c66200; - background-color: #ffe9bb; - border-color: #ffce65; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_hover { - color: black; - background-color: #b5deff; - border-color: #a1ceed; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_hover { - color: #c66200; - background-color: #ffdc90; - border-color: #ffce65; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_holiday_hover { - color: red; - background-color: #d9eeff; - border-color: #a1ceed; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_holiday_hover { - color: red; - background-color: #ffe9bb; - border-color: #ffce65; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_holiday_hover { - color: red; - background-color: #b5deff; - border-color: #a1ceed; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_holiday_hover { - color: red; - background-color: #ffdc90; - border-color: #ffce65; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line div.dhtmlxcalendar_label.dhtmlxcalendar_label_title { - background-image: url("../imgs/dhxcalendar_skyblue/dhxcalendar_mark.gif"); - background-position: top right; - background-repeat: no-repeat; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_time_cont { - position: relative; - display: block; - width: 211px; - height: 25px; - margin: 0px; - border-left: 1px solid #a4bed4; - border-right: 1px solid #a4bed4; - border-bottom: 1px solid #a4bed4; - background-color: #e2efff; - background: linear-gradient(#e2efff,#d3e7ff); - background: -webkit-linear-gradient(#e2efff,#d3e7ff); - filter: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e2efff,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - overflow: hidden; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li { - width: 211px; - height: 25px; - line-height: 24px; - color: #34404b; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr { - text-align: left; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li div.dhtmlxcalendar_time_img { - position: absolute; - left: 8px; - top: 6px; - width: 13px; - height: 13px; - background-image: url("../imgs/dhxcalendar_skyblue/dhxcalendar_clock.gif"); - background-position: center center; - background-repeat: no-repeat; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_hours { - margin-left: 26px; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li div.dhtmlxcalendar_time_img { - left: 70px; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr { - text-align: center; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_hours { - margin-left: 0px; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr div.dhtmlxcalendar_time_img, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_hours, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_minutes, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_colon { - display: none; -} -.dhtmlxcalendar_dhx_skyblue span.dhtmlxcalendar_label_colon { - padding: 0px 4px; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_cover { - position: absolute; - left: 1px; - background-color: white; - opacity: 0.5; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50); -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj { - position: absolute; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_selector_obj_arrow { - position: absolute; - bottom: auto; - top: 0px; - left: 0px; - width: 100%; - height: 9px; - overflow: hidden; - background-image: url("../imgs/dhxcalendar_skyblue/dhxcalendar_selector_top.gif"); - background-position: top center; - background-repeat: no-repeat; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours div.dhtmlxcalendar_selector_obj_arrow { - background-position: -15px top; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 div.dhtmlxcalendar_selector_obj_arrow { - background-position: -57px top; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_selector_obj_arrow { - background-position: -53px top; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table { - border: 1px solid #a4bed4; - background-color: white; - border-top: none; - margin-top: 9px; - box-shadow: 0 0 3px rgba(0,0,0,0.35); -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left { - width: 17px; - text-align: center; - border-top: 1px solid white; - padding: 0px; - margin: 0px; - background-color: #ecf4ff; - background-image: url("../imgs/dhxcalendar_skyblue/dhxcalendar_arrow_left.gif"); - background-position: center center; - background-repeat: no-repeat; - cursor: default; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left.dhtmlxcalendar_selector_cell_left_hover { - background-image: url("../imgs/dhxcalendar_skyblue/dhxcalendar_arrow_left.gif"); -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle { - border-top: white 1px solid; - border-width: 1px 0px 0px 0px; - cursor: default; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right { - width: 17px; - text-align: center; - border-top: 1px solid white; - border-width: 1px 0px 0px 0px; - background-color: #ecf4ff; - background-image: url("../imgs/dhxcalendar_skyblue/dhxcalendar_arrow_right.gif"); - background-position: center center; - background-repeat: no-repeat; - cursor: default; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right.dhtmlxcalendar_selector_cell_right_hover { - background-image: url("../imgs/dhxcalendar_skyblue/dhxcalendar_arrow_right.gif"); -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul { - display: block; - clear: both; - margin: 0px 0px 0px 1px; - padding: 0px; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul li { - float: left; - font-family: Tahoma, Helvetica; - font-size: 10px; - color: black; - list-style-type: none; - list-style-image: none; - text-align: center; - vertical-align: middle; - margin: 0px 1px 0px 0px; - padding: 0px; - background-color: #e9f3ff; - border: 1px solid #e9f3ff; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - cursor: default; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul li.dhtmlxcalendar_selector_cell_active { - background-color: #b5deff; - border-color: #a1ceed; - color: black; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul li.dhtmlxcalendar_selector_cell_hover { - background-color: #d9eeff; - border-color: #a1ceed; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right { - display: none; - width: 0px; - border: 0px solid white; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line { - height: 22px; - border-top: none; - border-bottom: 1px solid white; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell { - width: 33px; - height: 20px; - line-height: 19px; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours div.dhtmlxcalendar_selector_obj_arrow, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 div.dhtmlxcalendar_selector_obj_arrow, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_selector_obj_arrow { - top: auto; - bottom: 0px; - background-image: url("../imgs/dhxcalendar_skyblue/dhxcalendar_selector_bottom.gif"); -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line { - height: 19px; - border-top: none; - border-bottom: 1px solid white; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell { - width: 21px; - height: 17px; - line-height: 16px; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right { - display: none; - width: 0px; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table { - margin-top: 0px; - margin-bottom: 9px; - border-top: 1px solid #a4bed4; - border-bottom: none; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_month, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_year, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_hours, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_hours2, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_minutes, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_minutes4, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_minutes5 { - display: none; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month div.dhtmlxcalendar_area_selector_month, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_year div.dhtmlxcalendar_area_selector_year, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours div.dhtmlxcalendar_area_selector_hours, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 div.dhtmlxcalendar_area_selector_hours, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_area_selector_minutes, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_area_selector_minutes4, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_area_selector_minutes5 { - display: block; -} -.dhtmlxcalendar_dhx_skyblue span.dhtmlxcalendar_label_minutes span.dhtmlxcalendar_selected_date { - border-bottom: 2px solid red; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn { - display: none; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell { - width: 26px; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_wn div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell { - width: 24px; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_first, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell { - width: 26px; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn { - display: block; - width: 21px; - color: #638eb1; - background-color: #d9eaff; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_wn div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn { - display: block; - width: 19px; - color: #638eb1; - background-color: #d9eaff; - border-color: #d9eaff; - font-size: 10px; -} -div.dhtmlxcalendar_skin_detect { - position: absolute; - display: block; - visibility: hidden; - left: -100px; - top: 0px; - width: 10px; - height: 10px; - margin: 0px; - padding: 0px; - border: none; - overflow: hidden; -} -ul.dhtmlxcalendar_line { - white-space: nowrap; -} -.dhtmlxcalendar_dhx_skyblue ul.dhtmlxcalendar_line li { - display: inline-block; - float: none; -} diff --git a/themes/sources/dhtmlxCalendar/codebase/skins/dhtmlxcalendar_dhx_terrace.css b/themes/sources/dhtmlxCalendar/codebase/skins/dhtmlxcalendar_dhx_terrace.css deleted file mode 100644 index 04a363b..0000000 --- a/themes/sources/dhtmlxCalendar/codebase/skins/dhtmlxcalendar_dhx_terrace.css +++ /dev/null @@ -1,616 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: dhx_terrace - include extra file: skins/dhx_terrace.less -*/ - -.dhtmlxcalendar_dhx_terrace { - position: absolute; - display: block; - background-color: #ffffff; - font-family: Arial, Helvetica; - font-size: 13px; - color: #333333; -} -.dhtmlxcalendar_dhx_terrace.dhtmlxcalendar_in_input { - box-shadow: 0 0 6px rgba(0,0,0,0.25); -} -.dhtmlxcalendar_ifr { - position: absolute; - overflow: hidden; - background-color: white; -} -.dhtmlxcalendar_dhx_terrace ul.dhtmlxcalendar_line { - position: relative; - display: block; - clear: both; - margin: 0px; - padding: 0px; - overflow: hidden; - width: 225px; - margin-left: 12px; -} -.dhtmlxcalendar_dhx_terrace ul.dhtmlxcalendar_line li { - float: left; - position: relative; - list-style-type: none; - list-style-image: none; - text-align: center; - vertical-align: middle; - cursor: default; - overflow: hidden; - margin: 0px; - padding: 0px; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_month_cont { - position: relative; - display: block; - width: 249px; - margin: 0px; - border-top: 1px solid #cccccc; - border-left: 1px solid #cccccc; - border-right: 1px solid #cccccc; - border-top-left-radius: 3px; - border-top-right-radius: 3px; - overflow: hidden; - color: #333333; - -webkit-user-select: text; - -khtml-user-select: text; - -moz-user-select: text; - -ms-user-select: text; - -o-user-select: text; - user-select: text; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr { - width: 225px; - height: 31px; - line-height: 31px; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow { - position: absolute; - top: 0px; - width: 18px; - height: 31px; - color: inherit; - text-align: center; - background-position: center center; - background-repeat: no-repeat; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_left { - left: 4px; - background-image: url("../imgs/dhxcalendar_terrace/dhxcalendar_arrow_left.gif"); - opacity: 0.8; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=80); -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_left_hover { - left: 4px; - background-image: url("../imgs/dhxcalendar_terrace/dhxcalendar_arrow_left.gif"); - opacity: 1; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100); -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_right { - right: 4px; - background-image: url("../imgs/dhxcalendar_terrace/dhxcalendar_arrow_right.gif"); - opacity: 0.8; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=80); -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_right_hover { - right: 4px; - background-image: url("../imgs/dhxcalendar_terrace/dhxcalendar_arrow_right.gif"); - opacity: 1; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100); -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr span.dhtmlxcalendar_month_label_month, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr span.dhtmlxcalendar_month_label_year { - position: relative; - font-weight: bold; - color: inherit; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_today, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_clear { - display: none; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_today { - float: right; - margin-right: 8px; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_clear { - float: right; - margin-right: 74px; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_today { - float: right; - margin-right: 8px; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_clear { - float: right; - margin-right: 22px; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_days_cont { - position: relative; - display: block; - width: 249px; - margin: 0px; - border-left: 1px solid #cccccc; - border-right: 1px solid #cccccc; - -webkit-user-select: text; - -khtml-user-select: text; - -moz-user-select: text; - -ms-user-select: text; - -o-user-select: text; - user-select: text; - overflow: hidden; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line { - height: 31px; - border-bottom: 1px solid #cccccc; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li { - width: 31px; - height: 31px; - line-height: 31px; - margin-left: 1px; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_first { - margin-left: 1px; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_day_weekday_cell { - color: #d43f3a; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_day_weekday_cell_first { - color: #d43f3a; - margin-left: 1px; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont { - -webkit-tap-highlight-color: rgba(0,0,0,0); - position: relative; - display: block; - width: 249px; - margin: 0px; - padding-bottom: 8px; - border-left: 1px solid #cccccc; - border-right: 1px solid #cccccc; - border-bottom: 1px solid #cccccc; - border-bottom-left-radius: 3px; - border-bottom-right-radius: 3px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - overflow: hidden; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line { - margin-top: 1px; - margin-left: 13px; - height: 31px; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li { - color: #909090; - border-radius: 3px; - width: 31px; - height: 31px; - line-height: 31px; - margin-right: 1px; - overflow: visible; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li div.dhtmlxcalendar_label { - width: 100%; - height: 100%; - text-align: center; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend { - background-color: #fff3a1; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_dis, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_dis, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_dis, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_dis { - color: #c4c4c4; - background-color: #ededed; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_holiday, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_holiday { - color: #d43f3a; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_holiday, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_holiday { - color: #d43f3a; - background-color: #fff3a1; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_holiday_dis, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_holiday_dis, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_holiday_dis, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_holiday_dis { - color: #d43f3a; - background-color: #ededed; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_hover, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_hover, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_hover, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_hover { - background-color: #fff3a1; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_holiday_hover, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_holiday_hover, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_holiday_hover, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_holiday_hover { - color: #d43f3a; - background-color: #fff3a1; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month { - color: #333333; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend { - color: #d43f3a; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date { - color: black; - background-color: #fff3a1; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend { - color: #d43f3a; - background-color: #fff3a1; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_dis, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_dis, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_dis, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_dis { - color: #d43f3a; - background-color: #ededed; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_holiday { - color: #d43f3a; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_holiday { - color: #d43f3a; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_holiday { - color: #d43f3a; - background-color: #fff3a1; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_holiday { - color: #d43f3a; - background-color: #fff3a1; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_holiday_dis, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_holiday_dis, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_holiday_dis, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_holiday_dis { - color: #c4c4c4; - background-color: #ededed; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_hover { - color: #333333; - background-color: #fff3a1; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_hover { - color: #d43f3a; - background-color: #fff3a1; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_hover { - color: #333333; - background-color: #fff3a1; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_hover { - color: #d43f3a; - background-color: #fff3a1; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_holiday_hover { - color: #d43f3a; - background-color: #fff3a1; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_holiday_hover { - color: #d43f3a; - background-color: #fff3a1; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_holiday_hover { - color: #d43f3a; - background-color: #fff3a1; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_holiday_hover { - color: #d43f3a; - background-color: #fff3a1; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line div.dhtmlxcalendar_label.dhtmlxcalendar_label_title { - background-image: url("../imgs/dhxcalendar_terrace/dhxcalendar_mark.gif"); - background-position: top right; - background-repeat: no-repeat; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont { - position: relative; - display: block; - width: 249px; - height: 31px; - margin-top: -4px; - border-left: 1px solid #cccccc; - border-right: 1px solid #cccccc; - border-bottom: 1px solid #cccccc; - border-bottom-left-radius: 3px; - border-bottom-right-radius: 3px; - background-color: #ffffff; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - overflow: hidden; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li { - width: 225px; - height: 27px; - line-height: 25px; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr { - text-align: left; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li div.dhtmlxcalendar_time_img { - position: absolute; - left: 22px; - top: 6px; - width: 13px; - height: 13px; - background-image: url("../imgs/dhxcalendar_terrace/dhxcalendar_clock.gif"); - background-position: center center; - background-repeat: no-repeat; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_hours { - margin-left: 42px; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li div.dhtmlxcalendar_time_img { - left: 75px; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr { - text-align: center; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_hours { - margin-left: 0px; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr div.dhtmlxcalendar_time_img, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_hours, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_minutes, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_colon { - display: none; -} -.dhtmlxcalendar_dhx_terrace span.dhtmlxcalendar_label_colon { - padding: 0px 4px; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_cover { - position: absolute; - left: 1px; - background-color: white; - opacity: 0.5; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50); -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj { - position: absolute; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_selector_obj_arrow { - position: absolute; - bottom: auto; - top: 1px; - left: 0px; - width: 100%; - height: 9px; - overflow: hidden; - background-image: url("../imgs/dhxcalendar_terrace/dhxcalendar_selector_top.gif"); - background-position: top center; - background-repeat: no-repeat; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours div.dhtmlxcalendar_selector_obj_arrow { - background-position: -13px top; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 div.dhtmlxcalendar_selector_obj_arrow { - background-position: -27px top; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_selector_obj_arrow { - background-position: -52px top; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table { - border-bottom: 1px solid #cccccc; - border-top: 0px solid white; - background-color: white; - margin-top: 9px; - box-shadow: 0 0 5px rgba(0,0,0,0.25); -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left { - width: 17px; - text-align: center; - border-top: 1px solid #cccccc; - border-left: 1px solid #cccccc; - border-bottom: 0px solid white; - border-right: 0px solid white; - padding: 0px; - margin: 0px; - background-color: white; - background-image: url("../imgs/dhxcalendar_terrace/dhxcalendar_arrow_left.gif"); - background-position: center center; - background-repeat: no-repeat; - cursor: default; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left.dhtmlxcalendar_selector_cell_left_hover { - background-image: url("../imgs/dhxcalendar_terrace/dhxcalendar_arrow_left.gif"); -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle { - cursor: default; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right { - width: 17px; - text-align: center; - border-top: 1px solid #cccccc; - border-right: 1px solid #cccccc; - border-bottom: 0px solid white; - border-left: 0px solid white; - background-color: white; - background-image: url("../imgs/dhxcalendar_terrace/dhxcalendar_arrow_right.gif"); - background-position: center center; - background-repeat: no-repeat; - cursor: default; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right.dhtmlxcalendar_selector_cell_right_hover { - background-image: url("../imgs/dhxcalendar_terrace/dhxcalendar_arrow_right.gif"); -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul { - display: block; - clear: both; - background-color: white; - border-left: 1px solid #cccccc; - margin: 0px; - padding: 0px; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul li { - float: left; - font-family: Arial, Helvetica; - font-size: 12px; - color: #333333; - list-style-type: none; - list-style-image: none; - text-align: center; - vertical-align: middle; - margin: 0px; - border-right: 1px solid #cccccc; - padding: 0px; - background-color: white; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - cursor: default; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul li.dhtmlxcalendar_selector_cell_active, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul li.dhtmlxcalendar_selector_cell_hover { - background-color: #fff3a1; - color: black; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right { - display: none; - width: 0px; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line { - height: 24px; - border-top: 1px solid #cccccc; - border-bottom: 0px solid white; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell { - width: 35px; - height: 24px; - line-height: 24px; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours div.dhtmlxcalendar_selector_obj_arrow, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 div.dhtmlxcalendar_selector_obj_arrow, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_selector_obj_arrow { - top: auto; - bottom: 1px; - background-image: url("../imgs/dhxcalendar_terrace/dhxcalendar_selector_bottom.gif"); -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line { - height: 22px; - border-top: 0px solid white; - border-bottom: 1px solid #cccccc; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell { - width: 24px; - height: 22px; - line-height: 22px; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right { - display: none; - width: 0px; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table { - margin-top: 0px; - margin-bottom: 9px; - border-top: 1px solid #cccccc; - border-bottom: none; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_month, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_year, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_hours, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_hours2, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_minutes, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_minutes4, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_minutes5 { - display: none; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month div.dhtmlxcalendar_area_selector_month, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_year div.dhtmlxcalendar_area_selector_year, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours div.dhtmlxcalendar_area_selector_hours, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 div.dhtmlxcalendar_area_selector_hours, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_area_selector_minutes, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_area_selector_minutes4, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_area_selector_minutes5 { - display: block; -} -.dhtmlxcalendar_dhx_terrace span.dhtmlxcalendar_label_minutes span.dhtmlxcalendar_selected_date { - border-bottom: 2px solid red; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn { - display: none; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell { - width: 27px; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_wn div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell { - width: 27px; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_first, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell { - width: 27px; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn { - display: block; - width: 27px; - color: #3da0e3; - background-color: #efefef; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_wn div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn { - display: block; - width: 27px; - color: #3da0e3; - background-color: #efefef; -} -div.dhtmlxcalendar_skin_detect { - position: absolute; - display: block; - visibility: hidden; - left: -100px; - top: 0px; - width: 30px; - height: 10px; - margin: 0px; - padding: 0px; - border: none; - overflow: hidden; -} diff --git a/themes/sources/dhtmlxCalendar/codebase/skins/dhtmlxcalendar_dhx_web.css b/themes/sources/dhtmlxCalendar/codebase/skins/dhtmlxcalendar_dhx_web.css deleted file mode 100644 index 4973c60..0000000 --- a/themes/sources/dhtmlxCalendar/codebase/skins/dhtmlxcalendar_dhx_web.css +++ /dev/null @@ -1,609 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: dhx_web - include extra file: skins/dhx_web.less -*/ - -.dhtmlxcalendar_dhx_web { - position: absolute; - display: block; - background-color: #ffffff; - font-family: Tahoma, Helvetica; - font-size: 12px; - color: #000000; -} -.dhtmlxcalendar_dhx_web.dhtmlxcalendar_in_input { - box-shadow: 0 0 6px rgba(0,0,0,0.25); -} -.dhtmlxcalendar_ifr { - position: absolute; - overflow: hidden; - background-color: white; -} -.dhtmlxcalendar_dhx_web ul.dhtmlxcalendar_line { - position: relative; - display: block; - clear: both; - margin: 0px; - padding: 0px; - overflow: hidden; - width: 225px; -} -.dhtmlxcalendar_dhx_web ul.dhtmlxcalendar_line li { - float: left; - position: relative; - list-style-type: none; - list-style-image: none; - text-align: center; - vertical-align: middle; - cursor: default; - overflow: hidden; - margin: 0px; - padding: 0px; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_month_cont { - position: relative; - display: block; - width: 227px; - height: 27px; - margin: 0px; - background-color: #3da0e3; - overflow: hidden; - color: #ffffff; - -webkit-user-select: text; - -khtml-user-select: text; - -moz-user-select: text; - -ms-user-select: text; - -o-user-select: text; - user-select: text; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr { - width: 227px; - height: 27px; - line-height: 27px; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow { - position: absolute; - top: 0px; - width: 18px; - height: 27px; - color: inherit; - text-align: center; - background-position: center center; - background-repeat: no-repeat; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_left { - left: 4px; - background-image: url("../imgs/dhxcalendar_web/dhxcalendar_arrow_left.gif"); - opacity: 0.8; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=80); -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_left_hover { - left: 4px; - background-image: url("../imgs/dhxcalendar_web/dhxcalendar_arrow_left.gif"); - opacity: 1; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100); -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_right { - right: 4px; - background-image: url("../imgs/dhxcalendar_web/dhxcalendar_arrow_right.gif"); - opacity: 0.8; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=80); -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_right_hover { - right: 4px; - background-image: url("../imgs/dhxcalendar_web/dhxcalendar_arrow_right.gif"); - opacity: 1; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100); -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr span.dhtmlxcalendar_month_label_month, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr span.dhtmlxcalendar_month_label_year { - position: relative; - font-weight: bold; - color: inherit; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_today, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_clear { - display: none; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_today { - float: right; - margin-right: 8px; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_clear { - float: right; - margin-right: 74px; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_today { - float: right; - margin-right: 8px; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_clear { - float: right; - margin-right: 11px; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_days_cont { - position: relative; - display: block; - width: 225px; - margin: 0px; - border-left: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; - -webkit-user-select: text; - -khtml-user-select: text; - -moz-user-select: text; - -ms-user-select: text; - -o-user-select: text; - user-select: text; - overflow: hidden; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line { - height: 23px; - background-color: #f4f4f4; - border-bottom: 2px solid #3da0e3; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li { - color: #000000; - width: 31px; - height: 23px; - line-height: 23px; - border-left: 1px solid #d5d5d5; - background-color: #f4f4f4; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_first { - border-left: 1px solid #f4f4f4; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_day_weekday_cell { - color: #f1586a; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_day_weekday_cell_first { - color: #f1586a; - border-left: 1px solid #f4f4f4; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont { - -webkit-tap-highlight-color: rgba(0,0,0,0); - position: relative; - display: block; - width: 225px; - margin: 0px; - padding-bottom: 1px; - border-left: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; - border-bottom: 1px solid #c7c7c7; - background-color: #ffffff; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - overflow: hidden; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line { - border-top: 1px solid #ffffff; - margin-left: 1px; - margin-right: 1px; - height: 26px; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li { - color: #909090; - width: 31px; - height: 26px; - line-height: 26px; - margin-right: 1px; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li div.dhtmlxcalendar_label { - width: 100%; - height: 100%; - text-align: center; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend { - background-color: #d6d6d6; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_dis, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_dis, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_dis, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_dis { - color: #c4c4c4; - background-color: #ededed; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_holiday, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_holiday { - color: #f1586a; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_holiday, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_holiday { - color: #f1586a; - background-color: #d6d6d6; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_holiday_dis, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_holiday_dis, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_holiday_dis, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_holiday_dis { - color: #f1586a; - background-color: #ededed; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_hover, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_hover, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_hover, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_hover { - background-color: #d6d6d6; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_holiday_hover, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_holiday_hover, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_holiday_hover, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_holiday_hover { - color: #f1586a; - background-color: #d6d6d6; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month { - color: #000000; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend { - color: #f1586a; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date { - color: #000000; - background-color: #85d3ff; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend { - color: #f1586a; - background-color: #ffd1cc; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_dis, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_dis, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_dis, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_dis { - color: #c4c4c4; - background-color: #ededed; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_holiday { - color: #f1586a; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_holiday { - color: #f1586a; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_holiday { - color: #f1586a; - background-color: #ffd1cc; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_holiday { - color: #f1586a; - background-color: #ffd1cc; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_holiday_dis, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_holiday_dis, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_holiday_dis, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_holiday_dis { - color: #f1586a; - background-color: #ededed; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_hover { - color: #000000; - background-color: #c7ebff; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_hover { - color: #f1586a; - background-color: #ffe7e4; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_hover { - color: #000000; - background-color: #85d3ff; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_hover { - color: #f1586a; - background-color: #ffd1cc; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_holiday_hover { - color: #f1586a; - background-color: #ffe7e4; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_holiday_hover { - color: #f1586a; - background-color: #ffe7e4; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_holiday_hover { - color: #f1586a; - background-color: #ffd1cc; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_holiday_hover { - color: #f1586a; - background-color: #ffd1cc; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line div.dhtmlxcalendar_label.dhtmlxcalendar_label_title { - background-image: url("../imgs/dhxcalendar_web/dhxcalendar_mark.gif"); - background-position: top right; - background-repeat: no-repeat; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont { - position: relative; - display: block; - width: 227px; - height: 27px; - margin-top: -1px; - background-color: #3da0e3; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - color: #ffffff; - overflow: hidden; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li { - width: 227px; - height: 27px; - line-height: 25px; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr { - text-align: left; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li div.dhtmlxcalendar_time_img { - position: absolute; - left: 11px; - top: 7px; - width: 13px; - height: 13px; - background-image: url("../imgs/dhxcalendar_web/dhxcalendar_clock.gif"); - background-position: center center; - background-repeat: no-repeat; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_hours { - margin-left: 30px; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li div.dhtmlxcalendar_time_img { - left: 75px; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr { - text-align: center; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_hours { - margin-left: 0px; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr div.dhtmlxcalendar_time_img, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_hours, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_minutes, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_colon { - display: none; -} -.dhtmlxcalendar_dhx_web span.dhtmlxcalendar_label_colon { - padding: 0px 4px; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_cover { - position: absolute; - left: 1px; - background-color: white; - opacity: 0.5; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50); -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj { - position: absolute; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_selector_obj_arrow { - position: absolute; - bottom: auto; - top: 0px; - left: 0px; - width: 100%; - height: 9px; - overflow: hidden; - background-image: url("../imgs/dhxcalendar_web/dhxcalendar_selector_top.gif"); - background-position: top center; - background-repeat: no-repeat; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours div.dhtmlxcalendar_selector_obj_arrow { - background-position: -13px top; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 div.dhtmlxcalendar_selector_obj_arrow { - background-position: -53px top; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_selector_obj_arrow { - background-position: -51px top; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table { - border: 1px solid #c7c7c7; - background-color: white; - border-top: none; - margin-top: 9px; - box-shadow: 0 0 3px rgba(0,0,0,0.35); -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left { - width: 17px; - text-align: center; - border-top: white 1px solid; - padding: 0px; - margin: 0px; - background-color: #ededed; - background-image: url("../imgs/dhxcalendar_web/dhxcalendar_arrow_left2.gif"); - background-position: center center; - background-repeat: no-repeat; - cursor: default; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left.dhtmlxcalendar_selector_cell_left_hover { - background-image: url("../imgs/dhxcalendar_web/dhxcalendar_arrow_left2.gif"); -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle { - border-top: 1px solid white; - border-width: 1px 0px 0px 0px; - cursor: default; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right { - width: 17px; - text-align: center; - border-top: 1px solid white; - border-width: 1px 0px 0px 0px; - background-color: #ededed; - background-image: url("../imgs/dhxcalendar_web/dhxcalendar_arrow_right2.gif"); - background-position: center center; - background-repeat: no-repeat; - cursor: default; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right.dhtmlxcalendar_selector_cell_right_hover { - background-image: url("../imgs/dhxcalendar_web/dhxcalendar_arrow_right2.gif"); -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul { - display: block; - clear: both; - margin: 0px 0px 0px 1px; - padding: 0px; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul li { - float: left; - list-style-type: none; - list-style-image: none; - text-align: center; - vertical-align: middle; - margin: 0px 1px 0px 0px; - padding: 0px; - background-color: #ededed; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - cursor: default; - font-family: Tahoma, Helvetica; - font-size: 11px; - color: #000000; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul li.dhtmlxcalendar_selector_cell_active { - background-color: #85d3ff; - color: #000000; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul li.dhtmlxcalendar_selector_cell_hover { - background-color: #c7ebff; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right { - display: none; - width: 0px; - border: 0px solid white; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line { - height: 24px; - border-top: none; - border-bottom: 1px solid white; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell { - width: 35px; - height: 24px; - line-height: 24px; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours div.dhtmlxcalendar_selector_obj_arrow, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 div.dhtmlxcalendar_selector_obj_arrow, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_selector_obj_arrow { - top: auto; - bottom: 0px; - background-image: url("../imgs/dhxcalendar_web/dhxcalendar_selector_bottom.gif"); -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line { - height: 22px; - border-top: none; - border-bottom: 1px solid white; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell { - width: 24px; - height: 22px; - line-height: 22px; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right { - display: none; - width: 0px; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table { - margin-top: 0px; - margin-bottom: 9px; - border-top: 1px solid #c7c7c7; - border-bottom: none; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_month, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_year, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_hours, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_hours2, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_minutes, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_minutes4, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_minutes5 { - display: none; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month div.dhtmlxcalendar_area_selector_month, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_year div.dhtmlxcalendar_area_selector_year, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours div.dhtmlxcalendar_area_selector_hours, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 div.dhtmlxcalendar_area_selector_hours, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_area_selector_minutes, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_area_selector_minutes4, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_area_selector_minutes5 { - display: block; -} -.dhtmlxcalendar_dhx_web span.dhtmlxcalendar_label_minutes span.dhtmlxcalendar_selected_date { - border-bottom: 2px solid red; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn { - display: none; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell { - width: 27px; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_wn div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell { - width: 27px; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_first, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell { - width: 27px; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn { - display: block; - width: 27px; - color: #3da0e3; - background-color: #f4f4f4; - border-left: 1px solid #f4f4f4; - border-right: 1px solid #d5d5d5; - margin-right: 0px; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_wn div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn { - display: block; - width: 27px; - color: #3da0e3; - background-color: #f4f4f4; -} -div.dhtmlxcalendar_skin_detect { - position: absolute; - display: block; - visibility: hidden; - left: -100px; - top: 0px; - width: 20px; - height: 10px; - margin: 0px; - padding: 0px; - border: none; - overflow: hidden; -} diff --git a/themes/sources/dhtmlxCalendar/codebase/skins/dhtmlxcalendar_material.css b/themes/sources/dhtmlxCalendar/codebase/skins/dhtmlxcalendar_material.css deleted file mode 100644 index 4fcdd20..0000000 --- a/themes/sources/dhtmlxCalendar/codebase/skins/dhtmlxcalendar_material.css +++ /dev/null @@ -1,642 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: material - include extra file: skins/material.less -*/ - -@keyframes dhx_loader_rotate { - 100% { - transform: rotate(360deg); - } -} -@keyframes dhx_loader_dash { - 0% { - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - } - 50% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -35px; - } - 100% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -124px; - } -} -.dhtmlxcalendar_material { - position: absolute; - display: block; - background-color: white; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -.dhtmlxcalendar_material.dhtmlxcalendar_in_input { - box-shadow: 0 10px 20px rgba(0,0,0,0.19), 0 6px 6px rgba(0,0,0,0.23); -} -.dhtmlxcalendar_material.dhtmlxcalendar_in_input div.dhtmlxcalendar_month_cont, -.dhtmlxcalendar_material.dhtmlxcalendar_in_input div.dhtmlxcalendar_days_cont, -.dhtmlxcalendar_material.dhtmlxcalendar_in_input div.dhtmlxcalendar_dates_cont, -.dhtmlxcalendar_material.dhtmlxcalendar_in_input div.dhtmlxcalendar_time_cont { - border-color: white; -} -.dhtmlxcalendar_material.dhtmlxcalendar_in_input div.dhtmlxcalendar_time_cont { - border-top: 1px solid #dfdfdf; -} -.dhtmlxcalendar_material ul.dhtmlxcalendar_line { - position: relative; - display: block; - clear: both; - font: inherit; - margin: 0px; - padding: 0px; - overflow: hidden; - margin-left: 12px; - width: 225px; -} -.dhtmlxcalendar_material ul.dhtmlxcalendar_line li { - float: left; - position: relative; - list-style-type: none; - list-style-image: none; - text-align: center; - vertical-align: middle; - font: inherit; - cursor: default; - overflow: hidden; - margin: 0px; - padding: 0px; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont { - position: relative; - display: block; - width: 249px; - margin: 0px; - border-width: 1px 1px 0px 1px; - border-style: solid; - border-color: #dfdfdf; - overflow: hidden; - font: inherit; - -webkit-user-select: text; - -khtml-user-select: text; - -moz-user-select: text; - -ms-user-select: text; - -o-user-select: text; - user-select: text; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr { - width: 225px; - height: 31px; - line-height: 31px; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow { - position: absolute; - top: 0px; - width: 18px; - height: 31px; - color: inherit; - text-align: center; - background-position: center center; - background-repeat: no-repeat; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_left, -.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_left_hover { - left: 4px; - background-image: url("../imgs/dhxcalendar_material/dhxcalendar_arrow_left.png"); -} -.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_left, -.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_left_hover { - background-image: linear-gradient(transparent,transparent), url("../imgs/dhxcalendar_material/dhxcalendar_arrow_left.svg"); -} -.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_right, -.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_right_hover { - right: 4px; - background-image: url("../imgs/dhxcalendar_material/dhxcalendar_arrow_right.png"); -} -.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_right, -.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_right_hover { - background-image: linear-gradient(transparent,transparent), url("../imgs/dhxcalendar_material/dhxcalendar_arrow_right.svg"); -} -.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr span.dhtmlxcalendar_month_label_month, -.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr span.dhtmlxcalendar_month_label_year { - position: relative; - font: inherit; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_days_cont { - position: relative; - display: block; - width: 249px; - margin: 0px; - border-left: 1px solid #dfdfdf; - border-right: 1px solid #dfdfdf; - overflow: hidden; - -webkit-user-select: text; - -khtml-user-select: text; - -moz-user-select: text; - -ms-user-select: text; - -o-user-select: text; - user-select: text; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line { - height: 31px; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li { - width: 31px; - height: 31px; - line-height: 31px; - margin-left: 1px; - font-size: 12px; - color: #9a9a9a; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_first { - margin-left: 1px; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_day_weekday_cell_first { - margin-left: 1px; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont { - -webkit-tap-highlight-color: rgba(0,0,0,0); - position: relative; - display: block; - width: 249px; - margin: 0px; - padding-bottom: 8px; - border-width: 0px 1px 1px 1px; - border-style: solid; - border-color: #dfdfdf; - overflow: hidden; - font: inherit; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line { - margin-top: 1px; - margin-left: 13px; - height: 31px; - line-height: 31px; - font: inherit; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li { - width: 31px; - height: 31px; - line-height: 31px; - margin-right: 1px; - border-radius: 50%; - overflow: visible; - font: inherit; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li div.dhtmlxcalendar_label { - position: relative; - width: 100%; - height: 100%; - font: inherit; - line-height: 31px; - text-align: center; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li div.dhtmlxcalendar_label.dhtmlxcalendar_label_title { - background-image: url("../imgs/dhxcalendar_material/dhxcalendar_marker.gif"); - background-position: top right; - background-repeat: no-repeat; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell { - color: #a6a6a6; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_weekend { - color: #e6918e; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date { - color: #a6a6a6; - background-color: #dcdcdc; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date_weekend { - color: #e6918e; - background-color: #dcdcdc; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_dis, -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date_dis { - color: #c0c0c0; - background-color: #f2f2f2; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_weekend_dis, -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date_weekend_dis { - color: #e6918e; - background-color: #f2f2f2; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_holiday, -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_weekend_holiday { - color: #e6918e; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date_holiday, -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date_weekend_holiday { - color: #d43f3a; - background-color: #ebebeb; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_holiday_dis, -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_weekend_holiday_dis, -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date_holiday_dis, -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date_weekend_holiday_dis { - color: #d43f3a; - background-color: #f2f2f2; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_hover { - color: #a6a6a6; - background-color: #ebebeb; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date_hover { - color: #a6a6a6; - background-color: #dcdcdc; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_weekend_hover { - color: #e6918e; - background-color: #ebebeb; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date_weekend_hover { - color: #e6918e; - background-color: #dcdcdc; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_holiday_hover, -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_weekend_holiday_hover, -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date_holiday_hover, -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date_weekend_holiday_hover { - color: #d43f3a; - background-color: #ebebeb; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month { - color: #404040; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_weekend { - color: #d43f3a; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date { - color: white; - background-color: #3399cc; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date_weekend { - color: white; - background-color: #ef5350; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_dis, -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date_dis { - color: #c0c0c0; - background-color: #f2f2f2; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_weekend_dis, -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date_weekend_dis { - color: #d43f3a; - background-color: #f2f2f2; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_holiday { - color: #d43f3a; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_weekend_holiday { - color: #d43f3a; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date_holiday { - color: white; - background-color: #ef5350; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date_weekend_holiday { - color: white; - background-color: #ef5350; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_holiday_dis, -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date_holiday_dis, -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_weekend_holiday_dis, -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date_weekend_holiday_dis { - color: #d43f3a; - background-color: #f2f2f2; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_hover { - color: #404040; - background-color: #ebebeb; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_weekend_hover { - color: #d43f3a; - background-color: #ebebeb; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date_hover { - color: white; - background-color: #3399cc; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date_weekend_hover { - color: white; - background-color: #ef5350; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_holiday_hover { - color: #d43f3a; - background-color: #ebebeb; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_weekend_holiday_hover { - color: #d43f3a; - background-color: #ebebeb; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date_holiday_hover { - color: white; - background-color: #ef5350; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date_weekend_holiday_hover { - color: white; - background-color: #ef5350; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont { - position: relative; - display: block; - width: 249px; - height: 31px; - border-left: 1px solid #dfdfdf; - border-right: 1px solid #dfdfdf; - border-bottom: 1px solid #dfdfdf; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li { - width: 225px; - height: 31px; - line-height: 31px; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_time_hdr { - text-align: left; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_hours { - margin-left: 42px; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li div.dhtmlxcalendar_time_img { - position: absolute; - left: 22px; - top: 7px; - width: 18px; - height: 18px; - background-image: url("../imgs/dhxcalendar_material/dhxcalendar_clock.png"); - background-position: center center; - background-repeat: no-repeat; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li div.dhtmlxcalendar_time_img { - left: 75px; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr { - text-align: center; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_hours { - margin-left: 0px; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_today, -.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_clear { - display: none; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr div.dhtmlxcalendar_time_img, -.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_hours, -.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_minutes, -.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_colon { - display: none; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_today { - float: right; - margin-right: 8px; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_clear { - float: right; - margin-right: 74px; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_selected_date { - border-bottom: 2px solid red; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_today { - float: right; - margin-right: 8px; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_clear { - float: right; - margin-right: 22px; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn, -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn { - display: none; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell, -.dhtmlxcalendar_material div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_first, -.dhtmlxcalendar_material div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell { - width: 27px; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn { - display: block; - width: 27px; - color: #3da0e3; - background-color: - #060606; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_wn div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell { - width: 27px; - height: 28px; - line-height: 27px; - margin-top: 2px; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_wn div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell div { - line-height: inherit; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_wn div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn { - display: block; - width: 27px; - color: #3da0e3; - background-color: - #060606; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_cover { - position: absolute; - left: 1px; - background-color: white; - opacity: 0.5; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50); -} -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj { - position: absolute; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_selector_obj_arrow { - position: absolute; - bottom: auto; - top: 1px; - left: 0px; - width: 100%; - height: 9px; - overflow: hidden; - background-image: url("../imgs/dhxcalendar_material/dhxcalendar_selector_top.gif"); - background-position: top center; - background-repeat: no-repeat; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table { - border-bottom: 1px solid #dfdfdf; - border-top: 0px solid white; - background-color: white; - margin-top: 9px; - box-shadow: 0 2px 6px rgba(0,0,0,0.24); -} -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right { - width: 24px; - text-align: center; - border-color: #dfdfdf; - border-style: solid; - padding: 0px; - margin: 0px; - background-color: white; - background-position: center center; - background-repeat: no-repeat; - cursor: default; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left { - border-width: 1px 0px 0px 1px; - background-image: url("../imgs/dhxcalendar_material/dhxcalendar_arrow_left.png"); -} -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left.dhtmlxcalendar_selector_cell_left_hover { - background-color: #ebebeb; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right { - border-width: 1px 1px 0px 0px; - background-image: url("../imgs/dhxcalendar_material/dhxcalendar_arrow_right.png"); -} -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right.dhtmlxcalendar_selector_cell_right_hover { - background-color: #ebebeb; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle { - cursor: default; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul { - display: block; - clear: both; - background-color: white; - border-left: 1px solid #dfdfdf; - margin: 0px; - padding: 0px; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul li { - float: left; - list-style-type: none; - list-style-image: none; - text-align: center; - vertical-align: middle; - margin: 0px; - padding: 0px; - border-right: 1px solid #dfdfdf; - background-color: white; - cursor: default; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; - font-size: 0.9em; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul li.dhtmlxcalendar_selector_cell_active, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul li.dhtmlxcalendar_selector_cell_hover { - background-color: #ebebeb; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line { - height: 28px; - border-top: 1px solid #dfdfdf; - border-bottom: 0px solid white; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell { - width: 50px; - height: 28px; - line-height: 28px; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right { - display: none; - width: 0px; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours div.dhtmlxcalendar_selector_obj_arrow, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 div.dhtmlxcalendar_selector_obj_arrow, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_selector_obj_arrow { - top: auto; - bottom: 1px; - background-image: url("../imgs/dhxcalendar_material/dhxcalendar_selector_bottom.gif"); -} -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours div.dhtmlxcalendar_selector_obj_arrow ul.dhtmlxcalendar_selector_line, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 div.dhtmlxcalendar_selector_obj_arrow ul.dhtmlxcalendar_selector_line, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_selector_obj_arrow ul.dhtmlxcalendar_selector_line { - height: 28px; - border-top: 0px solid white; - border-bottom: 1px solid #dfdfdf; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table { - margin-top: 0px; - margin-bottom: 9px; - border-bottom: none; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell { - width: 34px; - height: 28px; - line-height: 28px; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right { - display: none; - width: 0px; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_month, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_year, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_hours, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_hours2, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_minutes, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_minutes4, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_minutes5 { - display: none; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month div.dhtmlxcalendar_area_selector_month, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_year div.dhtmlxcalendar_area_selector_year, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours div.dhtmlxcalendar_area_selector_hours, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 div.dhtmlxcalendar_area_selector_hours, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_area_selector_minutes, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_area_selector_minutes4, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_area_selector_minutes5 { - display: block; -} -.dhtmlxcalendar_ifr { - position: absolute; - overflow: hidden; - background-color: white; -} -div.dhtmlxcalendar_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 40px; - height: 10px; - overflow: hidden; -} diff --git a/themes/sources/dhtmlxCarousel/codebase/dhtmlxcarousel.js b/themes/sources/dhtmlxCarousel/codebase/dhtmlxcarousel.js deleted file mode 100644 index 588265d..0000000 --- a/themes/sources/dhtmlxCarousel/codebase/dhtmlxcarousel.js +++ /dev/null @@ -1,1095 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -function dhtmlXCarousel(conf, effect, skin) { - - if (typeof(conf) == "string" || (typeof(conf) == "object" && typeof(conf.tagName) != "undefined")) { - conf = { - parent: (typeof(conf)=="string"?document.getElementById(conf):conf), - effect: effect, - skin: skin, - delete_conf: true - }; - } else { - // object-api - if (typeof(conf) == "undefined" || conf == null) { - conf = {}; - } - } - - this.conf = { - skin: (conf.skin||window.dhx4.skin||(typeof(dhtmlx)!="undefined"?dhtmlx.skin:null)||window.dhx4.skinDetect("dhxcarousel")||"material"), - css: "dhxcarousel", // css prefix for topcell mtb - // misc - items_count: 0, - selected: -1, // selected index - // dimensions - item_width: Number(conf.item_width)||"auto", - item_height: Number(conf.item_height)||"auto", - ofs_item: Number(conf.offset_item)||1, - ofs_left: Number(conf.offset_left)||0, - ofs_top: Number(conf.offset_top)||0, - // controls - buttons: (typeof(conf.buttons)=="undefined"?true:window.dhx4.s2b(conf.buttons)), // show left/right arrows - drops: false, // show rectangle for each cell - // keys and touch events - keys: (typeof(conf.keys)=="undefined"?true:window.dhx4.s2b(conf.keys)), // enable crtl+left/right - key_data: {left: 37, right: 39}, - touch_scroll: (typeof(conf.touch_scroll)!="undefined"?window.dhx4.s2b(conf.touch_scroll):true), // scroll cells with touch - // arrows - arw: ["◄", "►"] - }; - - this.conf.autowidth = (this.conf.item_width=="auto"); - this.conf.autoheight = (this.conf.item_height=="auto"); - - // check for transition support - var k = window.dhx4.transDetect(); - this.conf.transProp = k.transProp; - this.conf.transEv = k.transEv; - - // load effect - this.conf.anim_type = (conf.effect||"slide"); - if (this.ef[this.conf.anim_type] == true) { - var t = this["_"+this.conf.anim_type+"_init"](); - if (t === false) { - this.conf.anim_type = "slide"; - t = this["_"+this.conf.anim_type+"_init"](); - } - if (typeof(t) == "object") { - for (var a in t) { - if (typeof(this.conf[a]) == "undefined") this.conf[a] = t[a]; - }; - } - } - this.conf.anim_f = this["_"+this.conf.anim_type+"_f"](); - - - var that = this; - - window.dhtmlXCellTop.apply(this, [conf.parent, conf.offsets]); - - this.area = document.createElement("DIV"); - this.area.className = "dhxcarousel_area"; - this.cont.appendChild(this.area); - - if (typeof(window.addEventListener) == "function" && that.conf.touch_scroll == true) { - - this._doOnTouchStart = function(e) { - - if (window.dhx4.dnd._mTouch(e) == true) return; - - if (that.conf.animating == true) return; - - if (e.preventDefault) e.preventDefault(); - - that.area.className += " dhxcarousel_area_dnd"; - - that.conf.touch_conf = { - t: new Date().getTime(), - dx: null, - dy: null - }; - - if (e.type.match(/^touch/) != null) { - that.conf.touch_conf.id = e.touches[0].identifier; - that.conf.touch_conf.x = e.touches[0].clientX; - that.conf.touch_conf.y = e.touches[0].clientY; - } else { - that.area.style.touchAction = that.area.style.msTouchAction = "none"; - that.conf.touch_conf.x = e.clientX; - that.conf.touch_conf.y = e.clientY; - } - - window.addEventListener(window.dhx4.dnd.evs.move, that._doOnTouchMove, false); - window.addEventListener(window.dhx4.dnd.evs.end, that._doOnTouchEnd, false); - - } - - this._doOnTouchMove = function(e) { - - } - - this._doOnTouchEnd = function(e) { - - if (e.type.match(/^touch/) != null) { - var ofsX = 0; - for (var q=0; q 400) return; - - var dir = ofsX/Math.abs(ofsX); - that._animateStart(dir); - - } - - this.area.addEventListener(window.dhx4.dnd.evs.start, this._doOnTouchStart, false); - - } - - - this.cdata = {}; // id -> data - this.ind = {}; // index -> id - - this.addCell = function(id, index) { - - this.conf.items_count++; - - if (this.conf.selected == -1) this.conf.selected = 0; // force select 1st cell - - this.setSizes(); - this._checkControls(); - - // detect index - if (typeof(index) == "undefined" || index == null) { - index = this.conf.items_count-1; - } else if (index < 0) { - index = 0; - } else if (index > this.conf.items_count-1) { - index = this.conf.items_count-1; - } - - // middle-ins, move items after index to right and change position - for (var a in this.cdata) { - if (this.cdata[a].index >= index) { - this.cdata[a].index++; - this.ind[this.cdata[a].index] = a; - this._adjustCell(a); - } - } - - // insert new - if (id == null) id = String(window.dhx4.newId()); - while (this.cdata[id] != null) id = String(window.dhx4.newId()); - - var cell = new dhtmlXCarouselCell(id, this); - if (this.area.childNodes[index] != null) { - this.area.insertBefore(cell.cell, this.area.childNodes[index]); - } else { - this.area.appendChild(cell.cell); - } - - // add cell - this.cdata[id] = {index: index, cell: cell}; - this.ind[index] = id; - - this._adjustCell(id); - - this._addBar(); - this._setBarIndex(this.conf.selected); - - cell = null; - - this[this.conf.anim_f.cell_added](id); - - return id; - - } - - this._removeCell = function(id) { - - var index = this.cdata[id].index; - - this.cdata[id].cell._unload(); - this.cdata[id].index = this.cdata[id].cell = null; - this.cdata[id] = null; - - delete this.cdata[id]; - delete this.ind[index]; - - this.conf.items_count--; - - if (this.conf.unloading == true) return; - - // recalc index for existing cells - this.ind = {}; - var m = 0; - for (var a in this.cdata) { - if (this.cdata[a].index > index) this.cdata[a].index--; - this.ind[this.cdata[a].index] = a; - } - - // update selected index - var upd = false; // update cell if index changed automaticaly - if (this.conf.selected > index) { - this.conf.selected--; - } else if (this.conf.selected == index) { - this.conf.selected = Math.min(this.conf.selected, this.conf.items_count-1); - upd = true; - } else { - // do nothing - } - - this._removeBar(false); - this._setBarIndex(this.conf.selected); - - if (upd == true) { - if (this.conf.selected >= 0) { - this[this.conf.anim_f.update_selected](this.ind[this.conf.selected]); // cell became active, maybe some updates needed - } - } - - this.setSizes(); - this._checkControls(); - }; - - this.setSizes = function() { - // celltop - this._adjustCont(); - - var sizes = {}; - - // if parent was resizes - this.area.style.height = this.cont.offsetHeight-this.controls.offsetHeight+"px"; - - this.conf.width = (this.conf.autowidth?this.cont.offsetWidth-this.conf.ofs_left*2:this.conf.item_width); - this.conf.height = (this.conf.autoheight?this.area.offsetHeight-this.conf.ofs_top*2:this.conf.item_height); - this.conf.top = Math.max(0, (this.conf.autoheight?this.conf.ofs_top:Math.floor((this.area.offsetHeight-this.conf.height)/2))); - - this.area.style.width = this[this.conf.anim_f.detect_aw]()*(this.conf.width+this.conf.ofs_item)+this.conf.ofs_item+"px"; - this.area.style.left = Math.round(this.cont.offsetWidth/2-this.conf.width/2-this.conf.ofs_item)+"px"; - - // items - for (var a in this.cdata) { - var s = {}; - for (var b in this.cdata[a].cell.conf.size) s[b] = this.cdata[a].cell.conf.size[b]; - // - if (this.conf.autowidth == true) { - s.w = this.conf.width; - s.x = this[this.conf.anim_f.detect_x](a); - } - if (this.conf.autoheight == true) { - s.h = this.conf.height; - } - // - sizes[a] = s; - } - - if (this.conf.anim_type === "slide") - this.area.style.left = Math.round(this.cont.offsetWidth/2-this.conf.width/2-this.conf.ofs_item)-(this.conf.width+this.conf.ofs_item)*this.conf.selected+"px"; - - // this.controls.style.left = Math.round(this.cont.offsetWidth/2-this.controls.offsetWidth/2)+"px"; - this._adjustControls(); - - if (this.conf.autoheight != true) { - this.conf.top = Math.max(0, Math.floor(this.area.offsetHeight-this.conf.height)/2); - for (var a in sizes) sizes[a].y = this.conf.top; - } - - // resize cells - for (var a in sizes) { - this.cdata[a].cell._setSize(sizes[a].x, sizes[a].y, sizes[a].w, sizes[a].h); - } - - this.callEvent("_onSetSizes", []); // if mtb attached - - } - - this._adjustCell = function(id) { - this.cdata[id].cell._setSize(this[this.conf.anim_f.detect_x](id), this.conf.top, this.conf.width, this.conf.height); - } - - this._animateStart = function(dir, ef) { - - if ((this.conf.selected <= 0 && dir < 0) || (this.conf.selected >= this.conf.items_count-1 && dir > 0)) return; - - if (this.conf.animating == true) return; - this.conf.animating = true; - - this[this.conf.anim_f.prepare](dir, ef); - - } - - this._animateTransEnd = function(e) { - that[that.conf.anim_f.end](e||event, this); - } - - this._animateEnd = function(dir) { - - this.conf.selected = this.conf.selected+dir; - this._checkControls(); - this._setBarIndex(this.conf.selected); - this.callEvent("onSelect", [this.ind[this.conf.selected]]); - - this.conf.animating = false; - - } - - this._initControls(); - - this.setCellSize = function(w, h) { - this.conf.item_width = (w==null?"auto":w); - this.conf.item_height = (h==null?"auto":h); - this.setSizes(); - } - - this.setOffset = function(left, top, item) { - if (left != null) this.conf.ofs_left = left; - if (top != null) this.conf.ofs_top = top; - if (item != null) this.conf.ofs_item = item; - this.setSizes(); - } - - this.enableHotKeys = function(mode) { - this.conf.keys = window.dhx4.s2b(mode); - } - - this.goFirst = function() { - if (this.conf.selected == 0) return; - this._animateStart(-this.conf.selected); - } - - this.goLast = function() { - if (this.conf.selected == this.conf.items_count-1) return; - this._animateStart(this.conf.items_count-1-this.conf.selected); - } - - this.goNext = function() { - this._animateStart(1); - } - - this.goPrev = function() { - this._animateStart(-1); - } - - this.getActiveIndex = function() { - return this.conf.selected; - } - - this.getActiveId = function() { - return this.ind[this.conf.selected]; - } - - this.getActiveCell = function() { - var id = this.getActiveId(); - if (id != null) return this.cdata[id].cell; - return null; - } - - this.unload = function() { - - this.conf.unloading = true; - - if (typeof(window.addEventListener) == "function") { - window.removeEventListener("keydown", this._doOnWinKeyDown, false); - if (this._doOnTouchStart != null) this.area.removeEventListener(window.dhx4.dnd.evs.start, this._doOnTouchStart, false); - } else { - document.body.detachEvent("onkeydown", this._doOnWinKeyDown); - } - - // cells - for (var a in this.cdata) this._removeCell(a); - this.cdata[a] = null; - - // area - this.area.parentNode.removeChild(this.area); - this.area = null; - - // controls - this._unloadControls(); - - // celltop - this._unloadTop(); - - // events - window.dhx4._eventable(this, "clear"); - - // the rest - for (var a in this) this[a] = null; - - that = null; - - } - - // events - window.dhx4._eventable(this); - this._callMainEvent = function(name, args) { - this.callEvent(name, args); - }; - this.conf.ev_coverclick = this.attachEvent("_cellCoverClick", function(index){ - var d = index-this.conf.selected; - if (Math.abs(d) == 1) this._animateStart(d); - }); - - - // keys - this._doOnWinKeyDown = function(e) { - e = e||event; - if (that.conf.keys == true) { - if (e.ctrlKey == true && e.shiftKey != true && e.altKey != true) { - var code = e.keyCode; - var k = that.conf.key_data; - if (code == k.left || code == k.right) { - if (e.preventDefault) e.preventDefault(); else e.returnValue = false; - that._animateStart(code==k.left?-1:1); - } - } - } - } - - if (typeof(window.addEventListener) == "function") { - window.addEventListener("keydown", this._doOnWinKeyDown, false); - } else { - document.body.attachEvent("onkeydown", this._doOnWinKeyDown); - } - - if (conf.delete_conf == true) { - for (var a in conf) conf[a] = null; - conf = null; - } - - return this; -}; - -// top-level extensions -dhtmlXCarousel.prototype = new dhtmlXCellTop(); - -// enabled effects -dhtmlXCarousel.prototype.ef = {}; - -// cell access -dhtmlXCarousel.prototype.cells = function(id) { - return this.cdata[id].cell; -}; - -// iterator -dhtmlXCarousel.prototype.forEachCell = function(handler) { - for (var a in this.cdata) { - if (typeof(handler) == "function") { - handler.apply(window, [this.cdata[a].cell]); - } else if (typeof(handler) == "string" && typeof(window[handler]) == "function") { - window[handler].apply(window, [this.cdata[a].cell]); - } - } -}; - -dhtmlXCarousel.prototype._initControls = function() { - - var that = this; - - var a = (this.conf.skin=="material"?["",""]:this.conf.arw); - - this.controls = document.createElement("DIV"); - this.controls.className = "dhx_carousel_controls"; - this.controls.innerHTML = ""+ - ""+ - ""; - - this.cont.appendChild(this.controls); - - // events - this._doOnControlClick = function(e) { - if (that.conf.clear_click == true) { - that.conf.clear_click = false; - return; - } - e = e||event; - if (window.dhx4.dnd.evs.start != null && e.type != "click" && that.conf.clear_click != true) { // force animation on touch devices by touch - if (window.dhx4.dnd._mTouch(e) == true) return; // prevent pointer on desktop in IE - that.conf.clear_click = true; - } - var t = e.target||e.srcElement; - var anim = null; - if (t.className != null) { - if (t.className.match(/btn_prev/) != null) { - anim = -1; - } else if (t.className.match(/btn_next/) != null) { - anim = 1; - } else if (t.className.match(/dhx_carousel_onebar/) != null && t.className.match(/dhx_carousel_baractv/) == null) { - for (var q=0; q= this.conf.items_count-1 || this.conf.items_count == 0 ?"_dis":""); - } - - this._adjustControls = function() { - this.controls.firstChild.style.left = Math.round(this.cont.offsetWidth/2-this.controls.firstChild.offsetWidth/2)+"px"; - } - - this._addBar = function() { - var t = document.createElement("DIV"); - t.className = "dhx_carousel_onebar"; - t.innerHTML = ""; - this.controls.firstChild.appendChild(t); - t = null; - this._adjustControls(); - } - - this._removeBar = function(adjust) { - var t = this.controls.firstChild.lastChild; - if (t != null) { - t.parentNode.removeChild(t); - t = null; - if (adjust !== false) this._adjustControls(); - } - } - - this._setBarIndex = function(i) { - for (var q=0; q 0) { - this._removeBar(false); - } - - // self - this.cont.removeChild(this.controls); - this.controls = null; - - that = null; - } - - if (this.conf.buttons != true) this.hideControls(); - - this._checkControls(); - -}; -window.dhtmlXCarouselCell = function(id, carousel) { - - dhtmlXCellObject.apply(this, [id, "_carousel"]); - - var that = this; - this.carousel = carousel; - this.conf.skin = this.carousel.conf.skin; - - this.attachEvent("_onCellUnload", function(){ - this.carousel = null; - that = null; - }); - - // onContentLoaded - this.attachEvent("_onContentLoaded", function() { - this.carousel._callMainEvent("onContentLoaded", [this._idd]); - }); - - // cell cover extended - this._showCover = function() { - if (this.conf.cover == true) return; - this._showCellCover(); - // add click event - var t = this.cell.childNodes[this.conf.idx.cover]; - t.onclick = function() { - that.carousel._callMainEvent("_cellCoverClick", [that._idd]); - }; - t = null; - }; - this._hideCover = function() { - if (this.conf.cover != true) return; - this.cell.childNodes[this.conf.idx.cover].onclick = null; - this._hideCellCover(); - }; - - return this; - -}; - -dhtmlXCarouselCell.prototype = new dhtmlXCellObject(); - -dhtmlXCarouselCell.prototype.getId = function() { - return this._idd; -}; - -dhtmlXCarouselCell.prototype.getIndex = function() { - return this.carousel.cdata[this._idd].index; -}; - -dhtmlXCarouselCell.prototype.setActive = function() { - var ofs = this.getIndex() - this.carousel.conf.selected; - if (ofs != 0) this.carousel._animateStart(ofs); -}; - -dhtmlXCarouselCell.prototype.remove = function() { - this.carousel._removeCell(this._idd); -}; -dhtmlXCellObject.prototype.attachCarousel = function(conf) { - - this.callEvent("_onBeforeContentAttach",["carousel"]); - - var obj = document.createElement("DIV"); - obj.style.width = "100%"; - obj.style.height = "100%"; - obj.style.position = "relative"; - obj.style.overflow = "hidden"; - this._attachObject(obj); - - if (typeof(window.dhtmlXSideBarCell) == "function" && this instanceof window.dhtmlXSideBarCell) { - if (this.conf.skin == "dhx_terrace") { - obj._ofs = {t:-1,r:-1,b:-1,l:-1}; - } - } - - if (typeof(conf) == "undefined" || conf == null) conf = {}; - if (typeof(conf.skin) == "undefined") conf.skin = this.conf.skin; - conf.parent = obj; - - this.dataType = "carousel"; - this.dataObj = new dhtmlXCarousel(conf); - - conf.parent = null; - obj = conf = null; - - this.callEvent("_onContentAttach",[]); - - return this.dataObj; - -}; - -// slide effect extension -// allow effect be used for any browser - -dhtmlXCarousel.prototype.ef.slide = true; - -dhtmlXCarousel.prototype.ef.slide_conf = { - anim_step: 25, - anim_timeout: 10, - anim_slide: "left 0.3s" // for modern -}; - -dhtmlXCarousel.prototype.ef.slide_f = { - prepare: "_slide_prepare", - start: "_slide_start", - end: "_slide_end", - update_selected: "_slide_update_selected", - detect_x: "_slide_detect_x", - detect_aw: "_slide_detect_area_width", - cell_added: "_slide_cell_added" -}; - -dhtmlXCarousel.prototype._slide_init = function() { - return this.ef.slide_conf; -}; - -dhtmlXCarousel.prototype._slide_f = function() { - return this.ef.slide_f; -}; - -dhtmlXCarousel.prototype._slide_prepare = function(dir, ef) { - - var step = this.conf.anim_step; - var maxX = this.conf.width+this.conf.ofs_item; - - if (ef == false) step = maxX+1; - - this.area._init = parseInt(this.area.style.left); - - var nextId = this.ind[this.conf.selected+dir]; - this._slide_update_selected(nextId); - - if (this.conf.transProp !== false && ef != false) { - if (this.conf.transEvInit != true) { - this.area.addEventListener(this.conf.transEv, this._animateTransEnd, false); - this.conf.transEvInit = true; - } - this.conf.current_dir = dir; - this.area.style[this.conf.transProp] = this.conf.anim_slide; - this.area.style.left = this.area._init+maxX*(-dir)+"px"; - } else { - this._slide_start(step, 0, maxX, dir); - } -}; - -dhtmlXCarousel.prototype._slide_start = function(step, curX, maxX, dir) { - - var stop = false; - curX += step; - - if (curX >= maxX) { - curX = maxX; - stop = true; - } - - this.area.style.left = this.area._init+curX*(-dir)+"px"; - if (stop != true) { - var t = this; - window.setTimeout(function(){t._slide_start(step, curX, maxX, dir); t = null;}, this.conf.anim_timeout); - } else { - this.cdata[this.ind[this.conf.selected]].cell._showCover(); - this._animateEnd(dir); - } -}; - -dhtmlXCarousel.prototype._slide_end = function(e, obj) { - if (e.type == this.conf.transEv && obj == this.area) { - this.area.style[this.conf.transProp] = ""; - if (this.conf.transEvInit == true) { - this.area.removeEventListener(this.conf.transEv, this._animateTransEnd, false); - this.conf.transEvInit = false; - } - this.cdata[this.ind[this.conf.selected]].cell._showCover(); - this._animateEnd(this.conf.current_dir); - } -}; - -dhtmlXCarousel.prototype._slide_update_selected = function(id) { - this.cdata[id].cell._hideCover(); -}; - -dhtmlXCarousel.prototype._slide_detect_x = function(id) { - var i = this.cdata[id].index; - var x = i*(this.conf.width+this.conf.ofs_item)+this.conf.ofs_item; - return x; -}; - -dhtmlXCarousel.prototype._slide_cell_added = function(id) { - if (this.conf.selected != this.cdata[id].index) { - this.cdata[id].cell._showCover(); - } - // item was inserted before selected, so selected was moved to right, move it back - if (this.cdata[id].index <= this.conf.selected && this.conf.items_count > 1) { - this._animateStart(1, false); - } -}; - -dhtmlXCarousel.prototype._slide_detect_area_width = function() { - return this.conf.items_count; -}; -// flip effect extension -// works only for modern - -/* - - ----[L]----[L]----[S]----[R]----[R]---- - - L ietm on left angle -87 - S selected ite angle 0 - R ietm on right angle 87 - -*/ - - -dhtmlXCarousel.prototype.ef.flip = true; - -dhtmlXCarousel.prototype.ef.flip_conf = { - anim_flip: "transform 0.3s ease-out", - anim_flip_ang: -87, - anim_flip_trstyle: "transform" -}; - -dhtmlXCarousel.prototype.ef.flip_f = { - prepare: "_flip_prepare", - start: "_flip_start", - end: "_flip_end", - update_selected: "_flip_update_selected", - detect_x: "_flip_detect_x", - detect_aw: "_flip_detect_area_width", - cell_added: "_flip_cell_added" -}; - -dhtmlXCarousel.prototype._flip_init = function() { - var t = (this.conf.transProp==false?false:this.ef.flip_conf); - if (t !== false && window.dhx4.isKHTML == true && t.anim_flip.match("webkit") == null) { // Safari 5.1.7 - t.anim_flip = t.anim_flip.replace(/transform/,"-webkit-transform"); - t.anim_flip_trstyle = "webkitTransform"; - } - return t; -}; - -dhtmlXCarousel.prototype._flip_f = function() { - return this.ef.flip_f; -}; - -dhtmlXCarousel.prototype._flip_prepare = function(dir) { - this.conf.flip_data = { - fromIndex: this.conf.selected, - toIndex: this.conf.selected+dir, - mode: 0, - dir: dir - }; - this._flip_start(); -}; - -dhtmlXCarousel.prototype._flip_start = function() { - - var cell = this.cdata[this.ind[this.conf.flip_data.mode==0?this.conf.flip_data.fromIndex:this.conf.flip_data.toIndex]].cell; - - if (this.area.className.match(/dhxcarousel_area_flip/) == null) { - this.area.className += " dhxcarousel_area_flip"; - } - - if (cell.conf.tr_ev != true) { - cell.cell.addEventListener(this.conf.transEv, this._animateTransEnd, false); - cell.conf.tr_ev = true; - } - - if (this.conf.flip_data.mode == 0) { - cell.cell.style[this.conf.anim_flip_trstyle] = "rotateY("+String(this.conf.flip_data.dir>0?this.conf.anim_flip_ang:-this.conf.anim_flip_ang)+"deg)"; - } else { - cell.cell.style.visibility = "visible"; - cell.cell.style[this.conf.anim_flip_trstyle] = "rotateY(0deg)"; - } - - cell.cell.style[this.conf.transProp] = this.conf.anim_flip; - cell = null; -}; - -dhtmlXCarousel.prototype._flip_end = function(e, obj) { - - if (e.type == this.conf.transEv) { - - var cell = this.cdata[this.ind[this.conf.flip_data.mode==0?this.conf.flip_data.fromIndex:this.conf.flip_data.toIndex]].cell; - - if (obj == cell.cell) { - - cell.cell.removeEventListener(this.conf.transEv, this._animateTransEnd, false); - cell.conf.tr_ev = false; - - if (this.conf.flip_data.mode == 0) { - - // step 2 - cell.cell.style[this.conf.transProp] = ""; - cell.cell.style.visibility = "hidden"; - this.conf.flip_data.mode = 1; - this._flip_start(); - - } else { - - var dir = this.conf.flip_data.dir; - - // check if animation jumped via several items, - // index change can be required, see comment on top - var m0 = Math.min(this.conf.flip_data.fromIndex, this.conf.flip_data.toIndex)+1; - var m1 = Math.max(this.conf.flip_data.fromIndex, this.conf.flip_data.toIndex)-1; - - for (var q=m0; q<=m1; q++) { - this.cdata[this.ind[q]].cell.cell.style[this.conf.anim_flip_trstyle] = "rotateY("+String(this.conf.anim_flip_ang*dir/Math.abs(dir))+"deg)"; - } - - if (this.area.className.match(/dhxcarousel_area_flip/) != null) { - this.area.className = String(this.area.className).replace(/\s{0,}dhxcarousel_area_flip/gi, ""); - } - - // finish animation - this.conf.flip_data = null; - cell.cell.style[this.conf.transProp] = ""; - this._animateEnd(dir); - } - } - cell = null; - } -}; - -dhtmlXCarousel.prototype._flip_update_selected = function(id) { - -}; - -dhtmlXCarousel.prototype._flip_detect_x = function(id) { - var i = 0; - var x = i*(this.conf.width+this.conf.ofs_item)+this.conf.ofs_item; - return x; -}; - -dhtmlXCarousel.prototype._flip_cell_added = function(id) { - if (this.conf.selected != this.cdata[id].index) { - this.cdata[id].cell.cell.style[this.conf.anim_flip_trstyle] = "rotateY(" + String(this.cdata[id].index < this.conf.selected ? this.conf.anim_flip_ang : -this.conf.anim_flip_ang) + "deg)"; - this.cdata[id].cell.cell.style.visibility = "hidden"; - } else { - this.cdata[id].cell.cell.style[this.conf.anim_flip_trstyle] = "rotateY(0deg)"; - } -}; - -dhtmlXCarousel.prototype._flip_detect_area_width = function() { - return 1; -}; -// cards effect extension - -dhtmlXCarousel.prototype.ef.cards = true; - -dhtmlXCarousel.prototype.ef.cards_conf = { - anim_cards: "left 0.3s" -}; - -dhtmlXCarousel.prototype.ef.cards_f = { - prepare: "_cards_prepare", - start: "_cards_start", - end: "_cards_end", - update_selected: "_cards_update_selected", - detect_x: "_cards_detect_x", - detect_aw: "_cards_detect_area_width", - cell_added: "_cards_cell_added" -}; - -dhtmlXCarousel.prototype._cards_init = function() { - return (this.conf.transProp==false?false:this.ef.cards_conf); -}; - -dhtmlXCarousel.prototype._cards_f = function() { - return this.ef.cards_f; -}; - -dhtmlXCarousel.prototype._cards_prepare = function(dir, ef) { - - if (dir > 0) { - - // move from right to left - - var id = this.ind[this.conf.selected+dir]; - var cell = this.cdata[id].cell; - this._cards_update_selected(id); - - if (cell.conf.transEvInit != true) { - cell.cell.addEventListener(this.conf.transEv, this._animateTransEnd, false); - cell.conf.transEvInit = true; - } - - this.conf.current_id = id; - this.conf.current_dir = dir; - - cell.cell.style[this.conf.transProp] = this.conf.anim_cards; - cell.cell.style.left = this._cards_detect_x(id, 0)+"px"; - - cell = null; - - } else { - - // move cells to right, if jumped through several cells - this._cards_adjust_middle(this.conf.selected+dir+1, this.conf.selected-1, 1); - - var id = this.ind[this.conf.selected]; - var cell = this.cdata[id].cell; - cell._hideCover(); - - if (cell.conf.transEvInit != true) { - cell.cell.addEventListener(this.conf.transEv, this._animateTransEnd, false); - cell.conf.transEvInit = true; - } - - this.conf.current_id = id; - this.conf.current_dir = dir; - - this.cdata[this.ind[this.conf.selected+dir]].cell._hideCover(); - - cell.cell.style[this.conf.transProp] = this.conf.anim_cards; - cell.cell.style.left = this._cards_detect_x(id, 1)+"px"; - - cell = null; - - } - -}; - -dhtmlXCarousel.prototype._cards_start = function(step, curX, maxX, dir) { - // old browsers? -}; - -dhtmlXCarousel.prototype._cards_end = function(e, obj) { - - if (e.type == this.conf.transEv && this.conf.current_id != null && obj == this.cdata[this.conf.current_id].cell.cell) { - - var cell = this.cdata[this.conf.current_id].cell; - - cell.cell.style[this.conf.transProp] = ""; - if (cell.conf.transEvInit != true) { - cell.cell.removeEventListener(this.conf.transEv, this._animateTransEnd, false); - cell.conf.transEvInit = false; - } - - this.conf.current_id = null; - - // move cells to left, if jumped through several cells - if (this.conf.current_dir > 0) { - this._cards_adjust_middle(this.conf.selected+1, this.conf.selected+this.conf.current_dir-1, 0); - } - - this.cdata[this.ind[this.conf.selected]].cell._showCover(); - this._animateEnd(this.conf.current_dir); - - } - -}; - -dhtmlXCarousel.prototype._cards_update_selected = function(id) { - this.cdata[id].cell._hideCover(); -}; - -dhtmlXCarousel.prototype._cards_adjust_middle = function(fromIndex, toIndex, i) { - for (var q=fromIndex; q<=toIndex; q++) { - var id = this.ind[q]; - var cell = this.cdata[id].cell; - cell.conf.size.x = this._cards_detect_x(id, i); - cell.cell.style.left = cell.conf.size.x+"px"; - cell = null; - } -}; - -dhtmlXCarousel.prototype._cards_detect_x = function(id, i) { - // i==0 -> item on left, i==1 => item on right - if (typeof(i) == "undefined" || i == null) i = (this.cdata[id].index <= this.conf.selected ? 0:1); - var x = i*(this.conf.width+this.conf.ofs_left+this.conf.ofs_item)+this.conf.ofs_item; - return x; -}; - -dhtmlXCarousel.prototype._cards_cell_added = function(id) { - - this.cdata[id].cell.conf.size.x = this._cards_detect_x(id); - this.cdata[id].cell.cell.style.left = this.cdata[id].cell.conf.size.x+"px"; - - if (this.conf.selected != this.cdata[id].index) { - this.cdata[id].cell._showCover(); - } -}; - -dhtmlXCarousel.prototype._cards_detect_area_width = function() { - return 2; -}; diff --git a/themes/sources/dhtmlxCarousel/codebase/imgs/dhxcarousel_material/dhxcarousel_arrow_left.png b/themes/sources/dhtmlxCarousel/codebase/imgs/dhxcarousel_material/dhxcarousel_arrow_left.png deleted file mode 100644 index f5340b7..0000000 Binary files a/themes/sources/dhtmlxCarousel/codebase/imgs/dhxcarousel_material/dhxcarousel_arrow_left.png and /dev/null differ diff --git a/themes/sources/dhtmlxCarousel/codebase/imgs/dhxcarousel_material/dhxcarousel_arrow_left_dis.png b/themes/sources/dhtmlxCarousel/codebase/imgs/dhxcarousel_material/dhxcarousel_arrow_left_dis.png deleted file mode 100644 index 5d12166..0000000 Binary files a/themes/sources/dhtmlxCarousel/codebase/imgs/dhxcarousel_material/dhxcarousel_arrow_left_dis.png and /dev/null differ diff --git a/themes/sources/dhtmlxCarousel/codebase/imgs/dhxcarousel_material/dhxcarousel_arrow_right.png b/themes/sources/dhtmlxCarousel/codebase/imgs/dhxcarousel_material/dhxcarousel_arrow_right.png deleted file mode 100644 index b816126..0000000 Binary files a/themes/sources/dhtmlxCarousel/codebase/imgs/dhxcarousel_material/dhxcarousel_arrow_right.png and /dev/null differ diff --git a/themes/sources/dhtmlxCarousel/codebase/imgs/dhxcarousel_material/dhxcarousel_arrow_right_dis.png b/themes/sources/dhtmlxCarousel/codebase/imgs/dhxcarousel_material/dhxcarousel_arrow_right_dis.png deleted file mode 100644 index 3ef9588..0000000 Binary files a/themes/sources/dhtmlxCarousel/codebase/imgs/dhxcarousel_material/dhxcarousel_arrow_right_dis.png and /dev/null differ diff --git a/themes/sources/dhtmlxCarousel/codebase/imgs/dhxcarousel_material/dhxcarousel_cell_progress.gif b/themes/sources/dhtmlxCarousel/codebase/imgs/dhxcarousel_material/dhxcarousel_cell_progress.gif deleted file mode 100644 index ff9a5e6..0000000 Binary files a/themes/sources/dhtmlxCarousel/codebase/imgs/dhxcarousel_material/dhxcarousel_cell_progress.gif and /dev/null differ diff --git a/themes/sources/dhtmlxCarousel/codebase/imgs/dhxcarousel_skyblue/dhxcarousel_cell_progress.gif b/themes/sources/dhtmlxCarousel/codebase/imgs/dhxcarousel_skyblue/dhxcarousel_cell_progress.gif deleted file mode 100644 index 1df5c43..0000000 Binary files a/themes/sources/dhtmlxCarousel/codebase/imgs/dhxcarousel_skyblue/dhxcarousel_cell_progress.gif and /dev/null differ diff --git a/themes/sources/dhtmlxCarousel/codebase/imgs/dhxcarousel_terrace/dhxcarousel_cell_progress.gif b/themes/sources/dhtmlxCarousel/codebase/imgs/dhxcarousel_terrace/dhxcarousel_cell_progress.gif deleted file mode 100644 index 7c30859..0000000 Binary files a/themes/sources/dhtmlxCarousel/codebase/imgs/dhxcarousel_terrace/dhxcarousel_cell_progress.gif and /dev/null differ diff --git a/themes/sources/dhtmlxCarousel/codebase/imgs/dhxcarousel_web/dhxcarousel_cell_progress.gif b/themes/sources/dhtmlxCarousel/codebase/imgs/dhxcarousel_web/dhxcarousel_cell_progress.gif deleted file mode 100644 index ff9a5e6..0000000 Binary files a/themes/sources/dhtmlxCarousel/codebase/imgs/dhxcarousel_web/dhxcarousel_cell_progress.gif and /dev/null differ diff --git a/themes/sources/dhtmlxCarousel/codebase/skins/dhtmlxcarousel_dhx_skyblue.css b/themes/sources/dhtmlxCarousel/codebase/skins/dhtmlxcarousel_dhx_skyblue.css deleted file mode 100644 index 8b4c5ea..0000000 --- a/themes/sources/dhtmlxCarousel/codebase/skins/dhtmlxcarousel_dhx_skyblue.css +++ /dev/null @@ -1,379 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: dhx_skyblue - include extra file: skins/dhx_skyblue.less -*/ - -.dhxcarousel_base_dhx_skyblue { - background-color: white; - position: relative; - cursor: default; -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - overflow: hidden; -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area { - position: relative; - overflow: hidden; -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area.dhxcarousel_area_flip { - perspective: 900px; - -webkit-perspective: 900; -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel { - position: absolute; - background-color: #ffffff; - margin: 0px; - padding: 0px; - overflow: hidden; - cursor: default; - z-index: 0; - -webkit-transform-style: preserve-3d; -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_cover { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - margin: 0px; - padding: 0px; - font-size: 1px; - background-color: white; - overflow: hidden; - z-index: 1; - opacity: 0.5; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_cont_carousel { - position: absolute; - border: 1px solid #a4bed4; - overflow: hidden; - z-index: 0; -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_cont_carousel.dhx_cell_cont_no_borders { - border-width: 0px; -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_menu_def { - position: relative; - overflow: hidden; - border-width: 0px 1px 1px 1px; - border-color: #a4bed4; - border-style: solid; -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_menu_def div.dhtmlxMenu_dhx_skyblue_Middle { - padding: 0px 2px; -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_menu_no_borders { - position: relative; - overflow: hidden; -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_menu_no_borders div.dhtmlxMenu_dhx_skyblue_Middle { - padding: 0px 2px; -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_toolbar_def { - position: relative; - overflow: hidden; -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_toolbar_def div.dhx_toolbar_dhx_skyblue { - border-top-width: 0px; -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_dhx_skyblue { - margin-top: -1px; - width: auto; -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def div.dhtmlxribbon_dhx_skyblue.dhxrb_without_tabbar { - border-top-width: 0px; - width: auto; -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_statusbar_def { - position: absolute; - bottom: 0px; - width: 100%; - background-color: #ddecff; - font-family: Tahoma, Helvetica; - font-size: 11px; - color: black; -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - position: relative; - padding: 0px 4px; - height: 21px; - line-height: 21px; - border-bottom: 1px solid #a4bed4; - border-left: 1px solid #a4bed4; - border-right: 1px solid #a4bed4; - white-space: nowrap; - overflow: hidden; -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_progress_bar { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: white; - z-index: 5; - opacity: 0.75; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=75); -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_progress_img { - position: absolute; - left: 0px; - top: 0px; - border: 1px solid #a4bed4; - background-position: center 55%; - background-image: url('../imgs/dhxcarousel_skyblue/dhxcarousel_cell_progress.gif'); - background-repeat: no-repeat; - cursor: progress; - z-index: 6; -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_menu_def { - border-top-width: 1px; - border-bottom-width: 0px; -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_toolbar_def div.dhx_toolbar_dhx_skyblue { - border-top-width: 1px; - border-bottom-width: 0px; -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def div.dhtmlxribbon_dhx_skyblue.dhxrb_without_tabbar { - border-top-width: 1px; - border-bottom-width: 0px; -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls { - position: absolute; - width: 100%; - height: 30px; - bottom: 0px; - left: 0px; - z-index: 3; - overflow: visible; - border-top: 1px solid #a4bed4; - background-color: #e2efff; - background: linear-gradient(#e2efff,#d3e7ff); - background: -webkit-linear-gradient(#e2efff,#d3e7ff); - filter: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e2efff,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100); - -webkit-tap-highlight-color: rgba(0,0,0,0); -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn { - position: absolute; - bottom: 0px; - width: 38px; - height: 100%; - overflow: hidden; - font-family: Arial; - font-size: 14px; - color: #5f8db3; - border: 0px solid #a4bed4; - text-align: center; - line-height: 29px; - z-index: 2; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - background-color: #e2efff; - background: linear-gradient(#e2efff,#d3e7ff); - background: -webkit-linear-gradient(#e2efff,#d3e7ff); - filter: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e2efff,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100); -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev:hover, -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next:hover { - background-color: #f1f7ff; - background: linear-gradient(#f1f7ff,#e2efff); - background: -webkit-linear-gradient(#f1f7ff,#e2efff); - filter: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#f1f7ff,endColorStr=#e2efff) progid:DXImageTransform.Microsoft.Alpha(opacity=100); -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev:active, -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next:active { - background-color: #d2e7fe; - background: linear-gradient(#d2e7fe,#d3e7ff); - background: -webkit-linear-gradient(#d2e7fe,#d3e7ff); - filter: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#d2e7fe,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100); - box-shadow: 0 0 5px rgba(127,127,127,0.15) inset; -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev, -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis { - left: 0px; - border-right-width: 1px; -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next, -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis { - right: 0px; - border-left-width: 1px; -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis, -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis { - color: #999999; - background: #f2f2f2; - z-index: 1; -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars { - position: absolute; - top: 9px; - text-align: center; - font-size: 1px; - line-height: 32px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars div.dhx_carousel_onebar { - float: left; - position: relative; - margin: 0 2px; - width: 12px; - height: 12px; - border: 1px solid #5f8db3; - border-radius: 12px; - background-color: white; - font-size: 1px; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars div.dhx_carousel_onebar div.dhx_carousel_barcore { - display: none; -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars div.dhx_carousel_onebar.dhx_carousel_baractv div.dhx_carousel_barcore { - position: absolute; - display: block; - font-size: 1px; - margin: 0px; - padding: 0px; - width: 6px; - height: 6px; - top: 2px; - left: 2px; - border: 1px solid #5f8db3; - border-radius: 12px; - background-color: #5f8db3; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxcarousel_base_dhx_skyblue div.dhxcelltop_progress { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: white; - z-index: 3; - opacity: 0.55; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=55); -} -.dhxcarousel_base_dhx_skyblue div.dhxcelltop_progress_img { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-image: url('../imgs/dhxcarousel_skyblue/dhxcarousel_cell_progress.gif'); - background-position: center center; - background-repeat: no-repeat; - z-index: 4; -} -.dhxcarousel_base_dhx_skyblue div.dhxcelltop_hdr { - position: relative; -} -.dhxcarousel_base_dhx_skyblue div.dhxcelltop_ftr { - position: absolute; -} -.dhxcarousel_base_dhx_skyblue div.dhxcelltop_menu { - position: relative; - overflow: hidden; -} -.dhxcarousel_base_dhx_skyblue div.dhxcelltop_toolbar { - position: relative; - background-color: #ebebeb; - padding-bottom: 4px; - overflow: hidden; -} -.dhxcarousel_base_dhx_skyblue div.dhxcelltop_ribbon { - padding-bottom: 4px; - position: relative; -} -.dhxcarousel_base_dhx_skyblue div.dhxcelltop_ribbon div.dhtmlxribbon_dhx_skyblue.dhxrb_without_tabbar { - width: auto; -} -.dhxcarousel_base_dhx_skyblue div.dhxcelltop_statusbar { - position: absolute; - bottom: 0px; - width: 100%; - background-color: #ebebeb; - overflow: hidden; -} -.dhxcarousel_base_dhx_skyblue div.dhxcelltop_statusbar div.dhxcont_statusbar { - position: relative; - margin-top: 4px; - border: 1px solid #a4bed4; - background-color: #ddecff; - padding: 7px 6px; - font-family: Tahoma, Helvetica; - font-size: 11px; - color: black; -} -div.dhx_popup_dhx_skyblue td.dhx_popup_td div.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls, -.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls, -.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls { - border-bottom: 1px solid #a4bed4; -} -div.dhx_popup_dhx_skyblue td.dhx_popup_td div.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev, -div.dhx_popup_dhx_skyblue td.dhx_popup_td div.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis, -.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev, -.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis, -.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev, -.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis { - border-left-width: 1px; -} -div.dhx_popup_dhx_skyblue td.dhx_popup_td div.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next, -div.dhx_popup_dhx_skyblue td.dhx_popup_td div.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis, -.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next, -.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis, -.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next, -.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis { - border-right-width: 1px; -} -.dhxcarousel_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 10px; - height: 10px; - overflow: hidden; -} diff --git a/themes/sources/dhtmlxCarousel/codebase/skins/dhtmlxcarousel_dhx_terrace.css b/themes/sources/dhtmlxCarousel/codebase/skins/dhtmlxcarousel_dhx_terrace.css deleted file mode 100644 index db45b40..0000000 --- a/themes/sources/dhtmlxCarousel/codebase/skins/dhtmlxcarousel_dhx_terrace.css +++ /dev/null @@ -1,373 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: dhx_terrace - include extra file: skins/dhx_terrace.less -*/ - -.dhxcarousel_base_dhx_terrace { - background-color: white; - position: relative; - cursor: default; -} -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - overflow: hidden; -} -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area { - position: relative; - overflow: hidden; -} -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area.dhxcarousel_area_flip { - perspective: 900px; - -webkit-perspective: 900; -} -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel { - position: absolute; - background-color: #ffffff; - margin: 0px; - padding: 0px; - overflow: hidden; - cursor: default; - z-index: 0; - -webkit-transform-style: preserve-3d; -} -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_cover { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - margin: 0px; - padding: 0px; - font-size: 1px; - background-color: white; - overflow: hidden; - z-index: 1; - opacity: 0.5; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_cont_carousel { - position: absolute; - border: 1px solid #cccccc; - overflow: hidden; - margin: 0px; - padding: 0px; - z-index: 0; -} -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_cont_carousel.dhx_cell_cont_no_borders { - border-width: 0px; - padding: 0px; -} -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_progress_bar { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: #ffffff; - opacity: 0.75; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=75); - z-index: 1; -} -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_progress_img { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-image: url('../imgs/dhxcarousel_terrace/dhxcarousel_cell_progress.gif'); - background-position: center center; - background-repeat: no-repeat; - z-index: 2; -} -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_menu_def, -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_menu_no_borders { - position: relative; - overflow: hidden; - padding: 0px 0px 8px 0px; -} -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_menu_def div.dhtmlxMenu_dhx_terrace_Middle, -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_menu_no_borders div.dhtmlxMenu_dhx_terrace_Middle { - padding: 0px; -} -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_toolbar_def, -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_toolbar_no_borders { - position: relative; - overflow: hidden; - padding: 0px 0px 8px 0px; -} -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_toolbar_def div.dhx_toolbar_dhx_terrace, -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_toolbar_no_borders div.dhx_toolbar_dhx_terrace { - padding: 0px; -} -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def, -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_no_borders { - position: relative; - overflow: hidden; -} -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_dhx_terrace, -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_no_borders div.dhxrb_with_tabbar.dhxtabbar_base_dhx_terrace { - border-width: 0px; - width: auto; - margin-left: -4px; - margin-top: -4px; -} -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def div.dhtmlxribbon_dhx_terrace.dhxrb_without_tabbar, -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_no_borders div.dhtmlxribbon_dhx_terrace.dhxrb_without_tabbar { - border-width: 0px; - margin-left: -4px; - margin-top: -4px; - width: auto; -} -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_statusbar_def { - position: absolute; - bottom: 0px; - width: 100%; - font-family: Arial, Helvetica; - font-size: 13px; - color: #333333; - background-color: #f5f5f5; -} -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - position: relative; - padding: 0px 4px; - height: 24px; - line-height: 25px; - border-bottom: 1px solid #cccccc; - border-left: 1px solid #cccccc; - border-right: 1px solid #cccccc; - white-space: nowrap; - overflow: hidden; -} -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls { - position: absolute; - width: 100%; - height: 34px; - bottom: 0px; - left: 0px; - z-index: 3; - overflow: visible; - border-top: 1px solid #cccccc; - background-color: #f5f5f5; - -webkit-tap-highlight-color: rgba(0,0,0,0); -} -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn { - position: absolute; - bottom: 0px; - width: 38px; - height: 100%; - overflow: hidden; - font-size: 14px; - line-height: 33px; - font-family: Arial; - color: #333333; - background-color: #f5f5f5; - border: 0px solid #cccccc; - text-align: center; - z-index: 2; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev:hover, -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next:hover { - color: #2e2e2e; - background-color: #ebebeb; -} -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev:active, -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next:active { - color: #2e2e2e; - background-color: #e6e6e6; - box-shadow: 0 0 5px #d9d9d9 inset; -} -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev, -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis { - left: 0px; - border-right-width: 1px; -} -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next, -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis { - right: 0px; - border-left-width: 1px; -} -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis, -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis { - color: #bbbbbb; - background-color: #fafafa; - z-index: 1; -} -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars { - position: absolute; - top: 11px; - text-align: center; - font-size: 1px; - line-height: 36px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars div.dhx_carousel_onebar { - float: left; - position: relative; - margin: 0 2px; - width: 12px; - height: 12px; - border: 1px solid #cccccc; - border-radius: 12px; - background-color: white; - font-size: 1px; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars div.dhx_carousel_onebar div.dhx_carousel_barcore { - display: none; -} -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars div.dhx_carousel_onebar.dhx_carousel_baractv div.dhx_carousel_barcore { - position: absolute; - display: block; - font-size: 1px; - margin: 0px; - padding: 0px; - width: 6px; - height: 6px; - top: 3px; - left: 3px; - border-radius: 12px; - background-color: #333333; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxcarousel_base_dhx_terrace div.dhxcelltop_hdr { - position: relative; -} -.dhxcarousel_base_dhx_terrace div.dhxcelltop_ftr { - position: absolute; -} -.dhxcarousel_base_dhx_terrace div.dhxcelltop_progress { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: white; - z-index: 3; - opacity: 0.55; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=55); -} -.dhxcarousel_base_dhx_terrace div.dhxcelltop_progress_img { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-image: url('../imgs/dhxcarousel_terrace/dhxcarousel_cell_progress.gif'); - background-position: center center; - background-repeat: no-repeat; - z-index: 4; -} -.dhxcarousel_base_dhx_terrace div.dhxcelltop_menu { - position: relative; - overflow: hidden; - padding-left: 0px; - padding-right: 0px; - padding-bottom: 10px; -} -.dhxcarousel_base_dhx_terrace div.dhxcelltop_toolbar { - position: relative; - padding-bottom: 10px; - overflow: hidden; -} -.dhxcarousel_base_dhx_terrace div.dhxcelltop_toolbar div.dhx_toolbar_dhx_terrace { - padding-left: 0px; - padding-right: 0px; -} -.dhxcarousel_base_dhx_terrace div.dhxcelltop_ribbon { - padding-bottom: 10px; - position: relative; -} -.dhxcarousel_base_dhx_terrace div.dhxcelltop_ribbon div.dhtmlxribbon_dhx_terrace.dhxrb_without_tabbar { - width: auto; -} -.dhxcarousel_base_dhx_terrace div.dhxcelltop_statusbar { - position: absolute; - background-color: #ffffff; - overflow: hidden; -} -.dhxcarousel_base_dhx_terrace div.dhxcelltop_statusbar div.dhxcont_statusbar { - position: relative; - margin-top: 10px; - border: 1px solid #cccccc; - background-color: #f5f5f5; - font-family: Arial, Helvetica; - font-size: 13px; - color: #333333; - padding: 3px 4px; -} -div.dhx_popup_dhx_terrace div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_dhx_terrace { - background-color: #f5f5f5; -} -div.dhx_popup_dhx_terrace div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls, -.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls, -.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls { - border-bottom: 1px solid #cccccc; -} -div.dhx_popup_dhx_terrace div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev, -div.dhx_popup_dhx_terrace div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis, -.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev, -.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis, -.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev, -.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis { - border-left-width: 1px; -} -div.dhx_popup_dhx_terrace div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next, -div.dhx_popup_dhx_terrace div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis, -.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next, -.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis, -.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next, -.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis { - border-right-width: 1px; -} -.dhxcarousel_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 30px; - height: 10px; - overflow: hidden; -} diff --git a/themes/sources/dhtmlxCarousel/codebase/skins/dhtmlxcarousel_dhx_web.css b/themes/sources/dhtmlxCarousel/codebase/skins/dhtmlxcarousel_dhx_web.css deleted file mode 100644 index 913505f..0000000 --- a/themes/sources/dhtmlxCarousel/codebase/skins/dhtmlxcarousel_dhx_web.css +++ /dev/null @@ -1,349 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: dhx_web - include extra file: skins/dhx_web.less -*/ - -.dhxcarousel_base_dhx_web { - background-color: white; - position: relative; - cursor: default; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - overflow: hidden; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area { - position: relative; - overflow: hidden; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area.dhxcarousel_area_flip { - perspective: 900px; - -webkit-perspective: 900; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel { - position: absolute; - background-color: white; - margin: 0px; - padding: 0px; - overflow: hidden; - cursor: default; - z-index: 0; - -webkit-transform-style: preserve-3d; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_cover { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - margin: 0px; - padding: 0px; - font-size: 1px; - background-color: white; - overflow: hidden; - z-index: 1; - opacity: 0.5; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_cont_carousel { - position: absolute; - border: 1px solid #c7c7c7; - overflow: hidden; - margin: 0px; - padding: 0px; - z-index: 0; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_cont_carousel.dhx_cell_cont_no_borders { - border-width: 0px; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_progress_bar { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: #ffffff; - z-index: 1; - opacity: 0.75; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=75); -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_progress_img { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-image: url('../imgs/dhxcarousel_web/dhxcarousel_cell_progress.gif'); - background-position: center center; - background-repeat: no-repeat; - z-index: 2; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_menu_def, -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_menu_no_borders { - position: relative; - overflow: hidden; - padding: 0px 0px 1px 0px; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhtmlxMenu_dhx_web_Middle { - padding: 0px 2px; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_toolbar_def, -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_toolbar_no_borders { - position: relative; - overflow: hidden; - padding: 0px 0px 1px 0px; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def, -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_no_borders { - position: relative; - overflow: hidden; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_dhx_web, -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_no_borders div.dhxrb_with_tabbar.dhxtabbar_base_dhx_web { - border-width: 0px; - width: auto; - margin-left: -4px; - margin-top: -4px; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def div.dhtmlxribbon_dhx_web.dhxrb_without_tabbar, -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_no_borders div.dhtmlxribbon_dhx_web.dhxrb_without_tabbar { - border-width: 0px; - margin-left: -4px; - margin-top: -4px; - width: auto; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_statusbar_def { - position: absolute; - bottom: 0px; - width: 100%; - font-family: Tahoma, Helvetica; - font-size: 12px; - color: #000000; - background-color: #f4f4f4; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - position: relative; - padding: 0px 4px; - height: 24px; - line-height: 25px; - border-bottom: 1px solid #c7c7c7; - border-left: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; - white-space: nowrap; - overflow: hidden; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls { - position: absolute; - width: 100%; - height: 32px; - bottom: 0px; - left: 0px; - z-index: 3; - overflow: visible; - border-top: 1px solid white; - background-color: #f4f4f4; - -webkit-tap-highlight-color: rgba(0,0,0,0); -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn { - position: absolute; - bottom: 0px; - width: 38px; - height: 100%; - overflow: hidden; - line-height: 31px; - font-family: Arial; - font-size: 14px; - color: #3da0e3; - background-color: #f4f4f4; - border: 0px solid white; - text-align: center; - z-index: 2; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev:hover, -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next:hover { - background-color: #c3e1f6; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev:active, -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next:active { - background-color: #acd7f3; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev, -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis { - left: 0px; - border-right-width: 1px; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next, -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis { - right: 0px; - border-left-width: 1px; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis, -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis { - color: #cecece; - z-index: 1; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars { - position: absolute; - top: 11px; - text-align: center; - font-size: 1px; - line-height: 34px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars div.dhx_carousel_onebar { - float: left; - position: relative; - margin: 0 2px; - width: 10px; - height: 10px; - border: 1px solid #c7c7c7; - border-radius: 10px; - background-color: white; - font-size: 1px; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars div.dhx_carousel_onebar div.dhx_carousel_barcore { - display: none; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars div.dhx_carousel_onebar.dhx_carousel_baractv div.dhx_carousel_barcore { - position: absolute; - display: block; - font-size: 1px; - margin: 0px; - padding: 0px; - width: 4px; - height: 4px; - top: 2px; - left: 2px; - border: 1px solid #3da0e3; - border-radius: 12px; - background-color: #3da0e3; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxcarousel_base_dhx_web div.dhxcelltop_hdr { - position: relative; -} -.dhxcarousel_base_dhx_web div.dhxcelltop_ftr { - position: absolute; -} -.dhxcarousel_base_dhx_web div.dhxcelltop_progress { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: white; - z-index: 3; - opacity: 0.55; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=55); -} -.dhxcarousel_base_dhx_web div.dhxcelltop_progress_img { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-image: url('../imgs/dhxcarousel_web/dhxcarousel_cell_progress.gif'); - background-position: center center; - background-repeat: no-repeat; - z-index: 4; -} -.dhxcarousel_base_dhx_web div.dhxcelltop_menu { - position: relative; - overflow: hidden; - border-bottom: 9px solid #ffffff; -} -.dhxcarousel_base_dhx_web div.dhxcelltop_toolbar { - position: relative; - background-color: #ffffff; - padding-bottom: 9px; - overflow: hidden; -} -.dhxcarousel_base_dhx_web div.dhxcelltop_ribbon { - position: relative; - border-bottom: 9px solid #ffffff; -} -.dhxcarousel_base_dhx_web div.dhxcelltop_ribbon div.dhtmlxribbon_dhx_web.dhxrb_without_tabbar { - width: auto; -} -.dhxcarousel_base_dhx_web div.dhxcelltop_statusbar { - position: absolute; - overflow: hidden; - background-color: #ffffff; -} -.dhxcarousel_base_dhx_web div.dhxcelltop_statusbar div.dhxcont_statusbar { - position: relative; - background-color: #f4f4f4; - margin-top: 9px; - border: 1px solid #c7c7c7; - padding: 3px 4px; - font-family: Tahoma, Helvetica; - font-size: 12px; - color: #000000; -} -div.dhx_popup_dhx_web div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_dhx_web { - background-color: #f4f4f4; -} -div.dhx_popup_dhx_web div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls { - border-bottom: 1px solid white; -} -div.dhx_popup_dhx_web div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev, -div.dhx_popup_dhx_web div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis { - border-left-width: 1px; -} -div.dhx_popup_dhx_web div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next, -div.dhx_popup_dhx_web div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis { - border-right-width: 1px; -} -.dhxcarousel_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 20px; - height: 10px; - overflow: hidden; -} diff --git a/themes/sources/dhtmlxCarousel/codebase/skins/dhtmlxcarousel_material.css b/themes/sources/dhtmlxCarousel/codebase/skins/dhtmlxcarousel_material.css deleted file mode 100644 index 36deadb..0000000 --- a/themes/sources/dhtmlxCarousel/codebase/skins/dhtmlxcarousel_material.css +++ /dev/null @@ -1,519 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: material - include extra file: skins/material.less -*/ - -@keyframes dhx_loader_rotate { - 100% { - transform: rotate(360deg); - } -} -@keyframes dhx_loader_dash { - 0% { - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - } - 50% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -35px; - } - 100% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -124px; - } -} -.dhxcarousel_base_material { - background-color: white; - position: relative; - cursor: default; -} -.dhxcarousel_base_material div.dhxcarousel_cont { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - overflow: hidden; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area { - position: relative; - overflow: hidden; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area.dhxcarousel_area_flip { - perspective: 900px; - -webkit-perspective: 900; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel { - position: absolute; - background-color: white; - margin: 0px; - padding: 0px; - overflow: hidden; - cursor: default; - z-index: 0; - -webkit-transform-style: preserve-3d; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_cover { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - margin: 0px; - padding: 0px; - font-size: 1px; - background-color: white; - overflow: hidden; - z-index: 1; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_progress_bar { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: white; - z-index: 1; - opacity: 0.75; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=75); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_progress_img { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - border: 1px solid #e4e4e4; - background-image: url('../imgs/dhxcarousel_material/dhxcarousel_cell_progress.gif'); - background-position: center center; - background-repeat: no-repeat; - z-index: 2; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_progress_svg { - border: 1px solid #e4e4e4; - z-index: 2; - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_progress_svg .dhx_cell_prsvg { - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - margin: auto; - width: 50px; - height: 50px; - animation: dhx_loader_rotate 2s linear infinite; - transform-origin: center center; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_progress_svg .dhx_cell_prsvg .dhx_cell_prcircle { - fill: none; - stroke: #3399cc; - stroke-width: 2; - stroke-miterlimit: 10; - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - stroke-linecap: round; - animation: dhx_loader_dash 1.5s ease-in-out infinite; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_menu_def { - position: relative; - overflow: hidden; - border-style: solid; - border-width: 0px 1px 1px 1px; - border-color: #dfdfdf; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_toolbar_def { - position: relative; - overflow: hidden; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_toolbar_def .dhx_toolbar_material { - border-width: 0px 1px 1px 1px; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def { - position: relative; - overflow: hidden; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material { - border-top-width: 0px; - margin-top: -1px; - width: auto; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def div.dhtmlxribbon_material.dhxrb_without_tabbar { - border-top-width: 0px; - width: auto; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_statusbar_def { - position: absolute; - bottom: 0px; - width: 100%; - background-color: #fafafa; - z-index: 1; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - position: relative; - font: inherit; - height: 30px; - line-height: 30px; - border-style: solid; - border-width: 0px 1px 1px 1px; - border-color: #dfdfdf; - white-space: nowrap; - overflow: hidden; - padding: 0px 12px; - color: #737373; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_cont_carousel { - position: absolute; - border: 1px solid #dfdfdf; - overflow: hidden; - margin: 0px; - padding: 0px; - z-index: 0; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_cont_carousel.dhx_cell_cont_no_borders { - border-width: 0px; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_menu_def { - border-width: 1px 1px 0px 1px; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_toolbar_def .dhx_toolbar_material { - border-width: 1px 1px 0px 1px; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def div.dhtmlxribbon_material.dhxrb_without_tabbar { - border-width: 1px 1px 0px 1px; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material { - border-top-width: 1px; - margin-top: 0px; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material div.dhxtabbar_tabs_top div.dhx_cell_tabbar div.dhx_cell_cont_tabbar { - border-bottom-width: 0px; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls { - position: absolute; - width: 100%; - height: 34px; - bottom: 0px; - left: 0px; - z-index: 3; - overflow: visible; - border-top: 1px solid #dfdfdf; - background-color: #fafafa; - -webkit-tap-highlight-color: rgba(0,0,0,0); -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn { - position: absolute; - bottom: 0px; - width: 38px; - height: 100%; - overflow: hidden; - line-height: 33px; - background-color: #fafafa; - border: 0px solid #dfdfdf; - background-position: center center; - background-repeat: no-repeat; - text-align: center; - z-index: 2; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev { - background-image: url(../imgs/dhxcarousel_material/dhxcarousel_arrow_left.png); -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis { - background-image: url(../imgs/dhxcarousel_material/dhxcarousel_arrow_left_dis.png); -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next { - background-image: url(../imgs/dhxcarousel_material/dhxcarousel_arrow_right.png); -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis { - background-image: url(../imgs/dhxcarousel_material/dhxcarousel_arrow_right_dis.png); -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev:hover, -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next:hover { - background-color: #ebebeb; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev:active, -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next:active { - background-color: #dcdcdc; - border-color: #d2d2d2; - box-shadow: 0 0 4px rgba(127,127,127,0.2) inset; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev, -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis { - left: 0px; - border-right-width: 1px; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next, -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis { - right: 0px; - border-left-width: 1px; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis, -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis { - z-index: 1; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars { - position: absolute; - top: 10px; - text-align: center; - font-size: 1px; - line-height: 36px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars div.dhx_carousel_onebar { - float: left; - position: relative; - margin: 0 2px; - width: 14px; - height: 14px; - border: 1px solid #797979; - border-radius: 14px; - background-color: white; - font-size: 1px; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars div.dhx_carousel_onebar div.dhx_carousel_barcore { - display: none; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars div.dhx_carousel_onebar.dhx_carousel_baractv { - border-color: #3399cc; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars div.dhx_carousel_onebar.dhx_carousel_baractv div.dhx_carousel_barcore { - position: absolute; - display: block; - font-size: 1px; - margin: 0px; - padding: 0px; - width: 8px; - height: 8px; - top: 3px; - left: 3px; - border-radius: 50%; - background-color: #3399cc; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxcarousel_base_material div.dhxcelltop_hdr { - position: relative; -} -.dhxcarousel_base_material div.dhxcelltop_ftr { - position: absolute; -} -.dhxcarousel_base_material div.dhxcelltop_progress { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: white; - z-index: 3; - opacity: 0.55; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=55); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxcarousel_base_material div.dhxcelltop_progress_img { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-image: url('../imgs/dhxcarousel_material/dhxcarousel_cell_progress.gif'); - background-position: center center; - background-repeat: no-repeat; - z-index: 4; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxcarousel_base_material div.dhxcelltop_progress_svg { - z-index: 4; - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxcarousel_base_material div.dhxcelltop_progress_svg .dhx_cell_prsvg { - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - margin: auto; - width: 50px; - height: 50px; - animation: dhx_loader_rotate 2s linear infinite; - transform-origin: center center; -} -.dhxcarousel_base_material div.dhxcelltop_progress_svg .dhx_cell_prsvg .dhx_cell_prcircle { - fill: none; - stroke: #3399cc; - stroke-width: 2; - stroke-miterlimit: 10; - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - stroke-linecap: round; - animation: dhx_loader_dash 1.5s ease-in-out infinite; -} -.dhxcarousel_base_material div.dhxcelltop_menu { - position: relative; - overflow: hidden; - border-width: 1px 1px 0px 1px; - border-style: solid; - border-color: #dfdfdf; -} -.dhxcarousel_base_material div.dhxcelltop_toolbar { - position: relative; - overflow: hidden; -} -.dhxcarousel_base_material div.dhxcelltop_toolbar div.dhx_toolbar_material { - border-width: 1px 1px 0px 1px; -} -.dhxcarousel_base_material div.dhxcelltop_ribbon { - position: relative; - overflow: hidden; -} -.dhxcarousel_base_material div.dhxcelltop_ribbon div.dhtmlxribbon_material.dhxrb_without_tabbar { - border-bottom-width: 0px; - width: auto; -} -.dhxcarousel_base_material div.dhxcelltop_ribbon div.dhtmlxribbon_material div.dhxrb_with_tabbar.dhxtabbar_base_material div.dhxtabbar_tabs_top div.dhx_cell_tabbar div.dhx_cell_cont_tabbar { - border-bottom-width: 0px; -} -.dhxcarousel_base_material div.dhxcelltop_statusbar { - position: absolute; - overflow: hidden; - background-color: #fafafa; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -.dhxcarousel_base_material div.dhxcelltop_statusbar div.dhxcont_statusbar { - position: relative; - background-color: #fafafa; - font: inherit; - height: 30px; - line-height: 30px; - border-width: 0px 1px 1px 1px; - border-style: solid; - border-color: #dfdfdf; - padding: 0px 12px; - color: #737373; - white-space: nowrap; - overflow: hidden; -} -.dhxcarousel_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 40px; - height: 10px; - overflow: hidden; -} -div.dhx_popup_material div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_material { - background-color: #fafafa; -} -div.dhx_popup_material div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls, -.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls, -.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls { - border-bottom: 1px solid #dfdfdf; -} -div.dhx_popup_material div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev, -div.dhx_popup_material div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis, -.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev, -.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis, -.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev, -.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis { - border-left-width: 1px; -} -div.dhx_popup_material div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next, -div.dhx_popup_material div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis, -.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next, -.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis, -.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next, -.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis { - border-right-width: 1px; -} diff --git a/themes/sources/dhtmlxChart/codebase/dhtmlxchart.js b/themes/sources/dhtmlxChart/codebase/dhtmlxchart.js deleted file mode 100644 index 295e725..0000000 --- a/themes/sources/dhtmlxChart/codebase/dhtmlxchart.js +++ /dev/null @@ -1,4430 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - - -/* DHX DEPEND FROM FILE 'group.js'*/ - - -/*DHX:Depend datastore.js*/ -/*DHX:Depend dhtmlx.js*/ - -dhtmlx.Group = { - _init:function(){ - dhtmlx.assert(this.data,"DataStore required for grouping"); - this.data.attachEvent("onStoreLoad",dhtmlx.bind(function(){ - if (this._settings.group) - this.group(this._settings.group,false); - },this)); - this.attachEvent("onBeforeRender",dhtmlx.bind(function(data){ - if (this._settings.sort){ - data.block(); - data.sort(this._settings.sort); - data.unblock(); - } - },this)); - this.data.attachEvent("onClearAll",dhtmlx.bind(function(){ - this.data._not_grouped_order = this.data._not_grouped_pull = null; - },this)); - this.attachEvent("onBeforeSort",dhtmlx.bind(function(){ - this._settings.sort = null; - },this)); - }, - _init_group_data_event:function(data,master){ - data.attachEvent("onClearAll",dhtmlx.bind(function(){ - this.ungroup(false); - this.block(); - this.clearAll(); - this.unblock(); - },master)); - }, - sum:function(property, data){ - property = dhtmlx.Template.setter(property); - - data = data || this.data; - var summ = 0; - data.each(function(obj){ - summ+=property(obj)*1; - }); - return summ; - }, - min:function(property, data){ - property = dhtmlx.Template.setter(property); - - data = data || this.data; - var min = Infinity; - data.each(function(obj){ - if (property(obj)*1 < min) min = property(obj)*1; - }); - return min*1; - }, - max:function(property, data){ - property = dhtmlx.Template.setter(property); - - data = data || this.data; - var max = -Infinity; - data.each(function(obj){ - if (property(obj)*1 > max) max = property(obj)*1; - }); - return max; - }, - _split_data_by:function(stats){ - var any=function(property, data){ - property = dhtmlx.Template.setter(property); - return property(data[0]); - }; - var key = dhtmlx.Template.setter(stats.by); - if (!stats.map[key]) - stats.map[key] = [key, any]; - - var groups = {}; - var labels = []; - this.data.each(function(data){ - var current = key(data); - if (!groups[current]){ - labels.push({id:current}); - groups[current] = dhtmlx.toArray(); - } - groups[current].push(data); - }); - for (var prop in stats.map){ - var functor = (stats.map[prop][1]||any); - if (typeof functor != "function") - functor = this[functor]; - - for (var i=0; i < labels.length; i++) { - labels[i][prop]=functor.call(this, stats.map[prop][0], groups[labels[i].id]); - } - } -// if (this._settings.sort) -// labels.sortBy(stats.sort); - - /*this._not_grouped_data = this.data; - this.data = new dhtmlx.DataStore(); - this.data.provideApi(this,true); - this._init_group_data_event(this.data, this); - this.parse(labels,"json");*/ - - this.data._not_grouped_order = this.data.order; - this.data._not_grouped_pull = this.data.pull; - - this.data.order = dhtmlx.toArray(); - this.data.pull = {}; - for (var i=0; i < labels.length; i++){ - var id = this.data.id(labels[i]); - /*if(!labels[i].id) - labels[i].id = dhtmlx.uid(); - var id = labels[i].id;*/ - this.data.pull[id] = labels[i]; - this.data.order.push(id); - } - - this.callEvent("onStoreUpdated",[]); - }, - group:function(config,mode){ - this.ungroup(false); - this._split_data_by(config); - if (mode!==false) - this.data.callEvent("onStoreUpdated",[]); - }, - ungroup:function(mode){ - /*if (this._not_grouped_data){ - this.data = this._not_grouped_data; - this.data.provideApi(this, true); - }*/ - if (this.data._not_grouped_order){ - this.data.order = this.data._not_grouped_order; - this.data.pull = this.data._not_grouped_pull; - this.data._not_grouped_pull = this.data._not_grouped_order = null; - } - if (mode!==false) - this.data.callEvent("onStoreUpdated",[]); - }, - group_setter:function(config){ - dhtmlx.assert(typeof config == "object", "Incorrect group value"); - dhtmlx.assert(config.by,"group.by is mandatory"); - dhtmlx.assert(config.map,"group.map is mandatory"); - return config; - }, - //need to be moved to more appropriate object - sort_setter:function(config){ - if (typeof config != "object") - config = { by:config }; - - this._mergeSettings(config,{ - as:"string", - dir:"asc" - }); - return config; - } -}; - - - - -/* DHX DEPEND FROM FILE 'date.js'*/ - - -/*DHX:Depend dhtmlx.js*/ - -dhtmlx.Date={ - Locale: { - month_full:["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], - month_short:["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], - day_full:["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], - day_short:["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"] - }, - - date_part:function(date){ - date.setHours(0); - date.setMinutes(0); - date.setSeconds(0); - date.setMilliseconds(0); - return date; - }, - time_part:function(date){ - return (date.valueOf()/1000 - date.getTimezoneOffset()*60)%86400; - }, - week_start:function(date){ - var shift=date.getDay(); - if (this.config.start_on_monday){ - if (shift===0) shift=6; - else shift--; - } - return this.date_part(this.add(date,-1*shift,"day")); - }, - month_start:function(date){ - date.setDate(1); - return this.date_part(date); - }, - year_start:function(date){ - date.setMonth(0); - return this.month_start(date); - }, - day_start:function(date){ - return this.date_part(date); - }, - add:function(date,inc,mode){ - var ndate=new Date(date.valueOf()); - switch(mode){ - case "day": ndate.setDate(ndate.getDate()+inc); break; - case "week": ndate.setDate(ndate.getDate()+7*inc); break; - case "month": ndate.setMonth(ndate.getMonth()+inc); break; - case "year": ndate.setYear(ndate.getFullYear()+inc); break; - case "hour": ndate.setHours(ndate.getHours()+inc); break; - case "minute": ndate.setMinutes(ndate.getMinutes()+inc); break; - default: - return dhtmlx.Date["add_"+mode](date,inc,mode); - } - return ndate; - }, - to_fixed:function(num){ - if (num<10) return "0"+num; - return num; - }, - copy:function(date){ - return new Date(date.valueOf()); - }, - date_to_str:function(format,utc){ - format=format.replace(/%[a-zA-Z]/g,function(a){ - switch(a){ - case "%d": return "\"+dhtmlx.Date.to_fixed(date.getDate())+\""; - case "%m": return "\"+dhtmlx.Date.to_fixed((date.getMonth()+1))+\""; - case "%j": return "\"+date.getDate()+\""; - case "%n": return "\"+(date.getMonth()+1)+\""; - case "%y": return "\"+dhtmlx.Date.to_fixed(date.getFullYear()%100)+\""; - case "%Y": return "\"+date.getFullYear()+\""; - case "%D": return "\"+dhtmlx.Date.Locale.day_short[date.getDay()]+\""; - case "%l": return "\"+dhtmlx.Date.Locale.day_full[date.getDay()]+\""; - case "%M": return "\"+dhtmlx.Date.Locale.month_short[date.getMonth()]+\""; - case "%F": return "\"+dhtmlx.Date.Locale.month_full[date.getMonth()]+\""; - case "%h": return "\"+dhtmlx.Date.to_fixed((date.getHours()+11)%12+1)+\""; - case "%g": return "\"+((date.getHours()+11)%12+1)+\""; - case "%G": return "\"+date.getHours()+\""; - case "%H": return "\"+dhtmlx.Date.to_fixed(date.getHours())+\""; - case "%i": return "\"+dhtmlx.Date.to_fixed(date.getMinutes())+\""; - case "%a": return "\"+(date.getHours()>11?\"pm\":\"am\")+\""; - case "%A": return "\"+(date.getHours()>11?\"PM\":\"AM\")+\""; - case "%s": return "\"+dhtmlx.Date.to_fixed(date.getSeconds())+\""; - case "%W": return "\"+dhtmlx.Date.to_fixed(dhtmlx.Date.getISOWeek(date))+\""; - default: return a; - } - }); - if (utc) format=format.replace(/date\.get/g,"date.getUTC"); - return new Function("date","return \""+format+"\";"); - }, - str_to_date:function(format,utc){ - var splt="var temp=date.split(/[^0-9a-zA-Z]+/g);"; - var mask=format.match(/%[a-zA-Z]/g); - for (var i=0; i50?1900:2000);"; - break; - case "%g": - case "%G": - case "%h": - case "%H": - splt+="set[3]=temp["+i+"]||0;"; - break; - case "%i": - splt+="set[4]=temp["+i+"]||0;"; - break; - case "%Y": splt+="set[0]=temp["+i+"]||0;"; - break; - case "%a": - case "%A": splt+="set[3]=set[3]%12+((temp["+i+"]||'').toLowerCase()=='am'?0:12);"; - break; - case "%s": splt+="set[5]=temp["+i+"]||0;"; - break; - } - } - var code ="set[0],set[1],set[2],set[3],set[4],set[5]"; - if (utc) code =" Date.UTC("+code+")"; - return new Function("date","var set=[0,0,1,0,0,0]; "+splt+" return new Date("+code+");"); - }, - - getISOWeek: function(ndate) { - if(!ndate) return false; - var nday = ndate.getDay(); - if (nday === 0) { - nday = 7; - } - var first_thursday = new Date(ndate.valueOf()); - first_thursday.setDate(ndate.getDate() + (4 - nday)); - var year_number = first_thursday.getFullYear(); // year of the first Thursday - var ordinal_date = Math.floor( (first_thursday.getTime() - new Date(year_number, 0, 1).getTime()) / 86400000); //ordinal date of the first Thursday - 1 (so not really ordinal date) - var week_number = 1 + Math.floor( ordinal_date / 7); - return week_number; - }, - - getUTCISOWeek: function(ndate){ - return this.getISOWeek(ndate); - } -}; - - - - - - -/* DHX DEPEND FROM FILE 'math.js'*/ - - -dhtmlx.math = {}; -dhtmlx.math._toHex=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"]; -dhtmlx.math.toHex = function(number, length){ - number=parseInt(number,10); - str = ""; - while (number>0){ - str=this._toHex[number%16]+str; - number=Math.floor(number/16); - } - while (str.length 255) - r = 0; - if (g < 0 || g > 255) - g = 0; - if (b < 0 || b > 255) - b = 0; - return [r,g,b]; -} -dhtmlx.math.hsvToRgb = function(h, s, v){ - var hi,f,p,q,t,r,g,b; - hi = Math.floor((h/60))%6; - f = h/60-hi; - p = v*(1-s); - q = v*(1-f*s); - t = v*(1-(1-f)*s); - r = 0; - g = 0; - b = 0; - switch(hi) { - case 0: - r = v; g = t; b = p; - break; - case 1: - r = q; g = v; b = p; - break; - case 2: - r = p; g = v; b = t; - break; - case 3: - r = p; g = q; b = v; - break; - case 4: - r = t; g = p; b = v; - break; - case 5: - r = v; g = p; b = q; - break; - } - r = Math.floor(r*255); - g = Math.floor(g*255); - b = Math.floor(b*255); - return [r, g, b]; -}; -dhtmlx.math.rgbToHsv = function(r, g, b){ - var r0,g0,b0,min0,max0,s,h,v; - r0 = r/255; - g0 = g/255; - b0 = b/255; - var min0 = Math.min(r0, g0, b0); - var max0 = Math.max(r0, g0, b0); - h = 0; - s = max0==0?0:(1-min0/max0); - v = max0; - if (max0 == min0) { - h = 0; - } else if (max0 == r0 && g0>=b0) { - h = 60*(g0 - b0)/(max0 - min0)+0; - } else if (max0 == r0 && g0 < b0) { - h = 60*(g0 - b0)/(max0 - min0)+360; - } else if (max0 == g0) { - h = 60*(b0 - r0)/(max0-min0)+120; - } else if (max0 == b0) { - h = 60*(r0 - g0)/(max0 - min0)+240; - } - return [h, s, v]; -} - - - - -/* DHX DEPEND FROM FILE 'ext/chart/presets.js'*/ - - -/*chart presents*/ -if(!dhtmlx.presets) - dhtmlx.presets = {}; -dhtmlx.presets.chart = { - "simple":{ - item:{ - borderColor: "#ffffff", - color: "#2b7100", - shadow: false, - borderWidth:2 - }, - line:{ - color:"#8ecf03", - width:2 - } - }, - "plot":{ - color:"#1293f8", - item:{ - borderColor:"#636363", - borderWidth:1, - color: "#ffffff", - type:"r", - shadow: false - }, - line:{ - color:"#1293f8", - width:2 - } - }, - "diamond":{ - color:"#b64040", - item:{ - borderColor:"#b64040", - color: "#b64040", - type:"d", - radius:3, - shadow:true - }, - line:{ - color:"#ff9000", - width:2 - } - }, - "point":{ - color:"#fe5916", - disableLines:true, - fill:false, - disableItems:false, - item:{ - color:"#feb916", - borderColor:"#fe5916", - radius:2, - borderWidth:1, - type:"r" - }, - alpha:1 - }, - "line":{ - line:{ - color:"#3399ff", - width:2 - }, - item:{ - color:"#ffffff", - borderColor:"#3399ff", - radius:2, - borderWidth:2, - type:"d" - }, - fill:false, - disableItems:false, - disableLines:false, - alpha:1 - }, - "area":{ - fill:"#3399ff", - line:{ - color:"#3399ff", - width:1 - }, - disableItems:true, - alpha: 0.2, - disableLines:false - }, - "round":{ - item:{ - radius:3, - borderColor:"#3f83ff", - borderWidth:1, - color:"#3f83ff", - type:"r", - shadow:false, - alpha:0.6 - } - }, - "square":{ - item:{ - radius:3, - borderColor:"#447900", - borderWidth:2, - color:"#69ba00", - type:"s", - shadow:false, - alpha:1 - } - }, - /*bar*/ - "column":{ - color:"RAINBOW", - gradient:false, - width:45, - radius:0, - alpha:1, - border:true - }, - "stick":{ - width:5, - gradient:false, - color:"#67b5c9", - radius:2, - alpha:1, - border:false - }, - "alpha":{ - color:"#b9a8f9", - width:70, - gradient:"falling", - radius:0, - alpha:0.5, - border:true - } -}; - - - -/* DHX DEPEND FROM FILE 'map.js'*/ - - -/*DHX:Depend dhtmlx.js*/ - -dhtmlx.ui.Map = function(key){ - this.name = "Map"; - this._id = "map_"+dhtmlx.uid(); - this._key = key; - this._map = []; - this._areas = []; -}; -dhtmlx.ui.Map.prototype = { - addRect: function(id,points,userdata) { - this._areas.push({ index: userdata, points: points }); - this._createMapArea(id,"RECT",points,userdata); - }, - addPoly: function(id,points,userdata) { - this._createMapArea(id,"POLY",points,userdata); - }, - _createMapArea:function(id,shape,coords,userdata){ - var extra_data = ""; - if(arguments.length==4) - extra_data = "userdata='"+userdata+"'"; - this._map.push(""); - }, - addSector:function(id,alpha0,alpha1,x,y,R,ky,userdata){ - var points = []; - points.push(x); - points.push(Math.floor(y*ky)); - for(var i = alpha0; i < alpha1; i+=Math.PI/18){ - points.push(Math.floor(x+R*Math.cos(i))); - points.push(Math.floor((y+R*Math.sin(i))*ky)); - } - points.push(Math.floor(x+R*Math.cos(alpha1))); - points.push(Math.floor((y+R*Math.sin(alpha1))*ky)); - points.push(x); - points.push(Math.floor(y*ky)); - - return this.addPoly(id,points,userdata); - }, - render:function(obj){ - var d = dhtmlx.html.create("DIV"); - d.style.cssText="position:absolute; width:100%; height:100%; top:0px; left:0px;"; - obj.appendChild(d); - var src = dhtmlx._isIE?"":"src='data:image/gif;base64,R0lGODlhEgASAIAAAP///////yH5BAUUAAEALAAAAAASABIAAAIPjI+py+0Po5y02ouz3pwXADs='"; - d.innerHTML=""+this._map.join("\n")+""; - - obj._htmlmap = d; //for clearing routine - - this._map = []; - } -}; - - -/* DHX DEPEND FROM FILE 'ext/chart/chart_base.js'*/ - - -/*DHX:Depend map.js*/ -dhtmlx.chart = {}; - - -/* DHX DEPEND FROM FILE 'ext/chart/chart_scatter.js'*/ - - -/*DHX:Depend ext/chart/chart_base.js*/ -dhtmlx.chart.scatter = { - - /** - * renders a graphic - * @param: ctx - canvas object - * @param: data - object those need to be displayed - * @param: point0 - top left point of a chart - * @param: point1 - right bottom point of a chart - * @param: sIndex - index of drawing chart - * @param: map - map object - */ - pvt_render_scatter:function(ctx, data, point0, point1, sIndex, map){ - if(!this._settings.xValue) - return dhtmlx.log("warning","Undefined propery: xValue"); - /*max in min values*/ - var limitsY = this._getLimits(); - var limitsX = this._getLimits("h","xValue"); - /*render scale*/ - if(!sIndex){ - if(!this.canvases["x"]) - this.canvases["x"] = new dhtmlx.ui.Canvas(this._obj,"axis_x"); - if(!this.canvases["y"]) - this.canvases["y"] = new dhtmlx.ui.Canvas(this._obj,"axis_y"); - this._drawYAxis(this.canvases["y"].getCanvas(),data,point0,point1,limitsY.min,limitsY.max); - this._drawHXAxis(this.canvases["x"].getCanvas(),data,point0,point1,limitsX.min,limitsX.max); - } - limitsY = {min:this._settings.yAxis.start,max:this._settings.yAxis.end}; - limitsX = {min:this._settings.xAxis.start,max:this._settings.xAxis.end}; - var params = this._getScatterParams(ctx,data,point0,point1,limitsX,limitsY); - this._mapStart = point0; - for(var i=0;i limits.max) - pos = point0[axis.toLowerCase()]; - /*the limit of the minimum value*/ - if(value < limits.min) - pos = point1[axis.toLowerCase()]; - return pos; - }, - _calcScatterUnit:function(p,min,max,size,axis){ - var relativeValues = this._getRelativeValue(min,max); - axis = (axis||""); - p["relValue"+axis] = relativeValues[0]; - p["valueFactor"+axis] = relativeValues[1]; - p["unit"+axis] = (p["relValue"+axis]?size/p["relValue"+axis]:10); - } -}; - - - -/* DHX DEPEND FROM FILE 'ext/chart/chart_radar.js'*/ - - -/*DHX:Depend ext/chart/chart_base.js*/ -dhtmlx.chart.radar = { - pvt_render_radar:function(ctx,data,x,y,sIndex,map){ - this._renderRadarChart(ctx,data,x,y,sIndex,map); - - }, - /** - * renders a pie chart - * @param: ctx - canvas object - * @param: data - object those need to be displayed - * @param: x - the width of the container - * @param: y - the height of the container - * @param: ky - value from 0 to 1 that defines an angle of inclination (0=start; i -=step){ - if(scaleParam.fixNum) i = parseFloat((new Number(i)).toFixed(scaleParam.fixNum)); - units.push(Math.floor(c*stepHeight)+ 0.5); - if(corr){ - i = Math.round(i*corr)/corr; - } - var unitY = y-radius+units[units.length-1]; - - this.canvases["scale"].renderTextAt("middle","left",x,unitY, - configY.template(i.toString()), - "dhx_axis_item_y dhx_radar" - ); - if(ratios.length<2){ - this._drawScaleSector(ctx,"arc",x,y,radius-units[units.length-1],-Math.PI/2,3*Math.PI/2,i); - return; - } - var startAlpha = -Math.PI/2;/*possibly need to moved in config*/ - var alpha0 = startAlpha; - var alpha1; - for(j=0;j< ratios.length;j++){ - if(i==end) - angles.push(alpha0); - alpha1 = startAlpha+ratios[j]-0.0001; - this._drawScaleSector(ctx,(config.lineShape||"line"),x,y,radius-units[units.length-1],alpha0,alpha1,i,j,data[i]); - alpha0 = alpha1; - } - c++; - } - /*renders radius lines and labels*/ - for(i=0;i< angles.length;i++){ - p = this._getPositionByAngle(angles[i],x,y,radius); - if(configX.lines.call(this,data[i],i)) - this._drawLine(ctx,x,y,p.x,p.y,(configX?configX.lineColor.call(this,data[i]):"#cfcfcf"),1); - this._drawRadarScaleLabel(ctx,x,y,radius,angles[i],(configX?configX.template.call(this,data[i]):" ")); - } - - }, - _drawScaleSector:function(ctx,shape,x,y,radius,a1,a2,i,j){ - var pos1, pos2; - if(radius<0) - return false; - pos1 = this._getPositionByAngle(a1,x,y,radius); - pos2 = this._getPositionByAngle(a2,x,y,radius); - var configY = this._settings.yAxis; - if(configY.bg){ - ctx.beginPath(); - ctx.moveTo(x,y); - if(shape=="arc") - ctx.arc(x,y,radius,a1,a2,false); - else{ - ctx.lineTo(pos1.x,pos1.y); - ctx.lineTo(pos2.x,pos2.y); - } - ctx.fillStyle = configY.bg(i,j); - ctx.moveTo(x,y); - ctx.fill(); - ctx.closePath(); - } - if(configY.lines.call(this,i)){ - ctx.lineWidth = 1; - ctx.beginPath(); - if(shape=="arc") - ctx.arc(x,y,radius,a1,a2,false); - else{ - ctx.moveTo(pos1.x,pos1.y); - ctx.lineTo(pos2.x,pos2.y); - } - ctx.strokeStyle = configY.lineColor.call(this,i); - ctx.stroke(); - } - }, - _drawRadarScaleLabel:function(ctx,x,y,r,a,text){ - var t = this.canvases["scale"].renderText(0,0,text,"dhx_axis_radar_title",1); - var width = t.scrollWidth; - var height = t.offsetHeight; - var delta = 0.001; - var pos = this._getPositionByAngle(a,x,y,r+5); - var corr_x=0,corr_y=0; - if(a<0||a>Math.PI){ - corr_y = -height; - } - if(a>Math.PI/2){ - corr_x = -width; - } - if(Math.abs(a+Math.PI/2) 0; i --){ - x -= params.cellWidth ; - y = data[i].$startY; - if(y) - path.push([x,y]); - } - } - - // go to start point - path.push([path[0][0],path[0][1]]); - - // filling path - ctx.globalAlpha = this._settings.alpha.call(this,data[0]); - ctx.fillStyle = this._settings.color.call(this,data[0]); - ctx.beginPath(); - this._path(ctx,path); - ctx.fill(); - - // set y positions of the next series - for(i=0; i < data.length;i ++){ - y = yPos[i]; - - if(!y){ - if(i == data.length-1){ - y = data[i].$startY; - } - for(j =i+1; j< data.length; j++){ - if(yPos[j]){ - a0 = {x:point0.x,y:yPos[0]}; - a1 = {x:(point0.x+params.cellWidth*j),y:yPos[j]}; - y = solveEquation(point0.x+params.cellWidth*i,a0,a1); - break; - } - - } - } - - data[i].$startY = y; - } - - - } - } -}; - - - -/* DHX DEPEND FROM FILE 'ext/chart/chart_spline.js'*/ - - -/*DHX:Depend ext/chart/chart_base.js*/ -dhtmlx.chart.spline = { - /** - * renders a spline chart - * @param: ctx - canvas object - * @param: data - object those need to be displayed - * @param: width - the width of the container - * @param: height - the height of the container - * @param: sIndex - index of drawing chart - */ - pvt_render_spline:function(ctx, data, point0, point1, sIndex, map){ - - var config,i,items,j,params,sparam,x,x0,x1,x2,y,y1,y2; - params = this._calculateLineParams(ctx,data,point0,point1,sIndex); - config = this._settings; - this._mapStart = point0; - - /*array of all points*/ - items = []; - - /*drawing all items*/ - if (data.length) { - - /*getting all points*/ - x0 = (config.offset?point0.x+params.cellWidth*0.5:point0.x); - for(i=0; i < data.length;i ++){ - y = this._getPointY(data[i],point0,point1,params); - if(y){ - x = ((!i)?x0:params.cellWidth*i - 0.5 + x0); - items.push({x:x,y:y,index:i}); - } - } - sparam = this._getSplineParameters(items); - - for(i =0; i< items.length; i++){ - x1 = items[i].x; - y1 = items[i].y; - if(ipoint1.y) - sY1=point1.y; - var sY2 = this._getSplineYPoint(j+1,x1,i,sparam.a,sparam.b,sparam.c,sparam.d); - if(sY2point1.y) - sY2=point1.y; - this._drawLine(ctx,j,sY1,j+1,sY2,config.line.color(data[i]),config.line.width); - - } - this._drawLine(ctx,x2-1,this._getSplineYPoint(j,x1,i,sparam.a,sparam.b,sparam.c,sparam.d),x2,y2,config.line.color(data[i]),config.line.width); - } - this._drawItem(ctx,x1,y1,data[items[i].index],config.label(data[items[i].index]), sIndex, map); - /*creates map area*/ - /*radius = (parseInt(config.item.radius.call(this,data[i-1]),10)||2); - areaPos = (config.eventRadius||radius+1); - map.addRect(data[i].id,[x1-areaPos,y1-areaPos,x1+areaPos,y1+areaPos],sIndex); */ - - } - //this._drawItemOfLineChart(ctx,x2,y2,data[i],config.label(data[i])); - - } - }, - /*gets spline parameter*/ - _getSplineParameters:function(points){ - var i,u,v,s,a,b,c,d, - h = [], - m = [], - n = points.length; - - for(i =0; i=1; i--) - s[i] = (v[i] - h[i]*s[i+1])/u[i]; - - a = []; b = []; c = []; d = []; - - for(i =0; i2?seriesMargin*seriesNumber:0)>cellWidth) ) - barWidth = cellWidth/seriesNumber-seriesPadding-(seriesNumber>2?seriesMargin:0); - - /*the half of distance between bars*/ - barOffset = (cellWidth - barWidth*seriesNumber - seriesMargin*(seriesNumber-1))/2; - - if(this._settings.border){ - barWidth = parseInt(barWidth,10); - barOffset = parseInt(barOffset,10); - } - - /*the radius of rounding in the top part of each bar*/ - radius = (typeof this._settings.radius!="undefined"?parseInt(this._settings.radius,10):Math.round(barWidth/5)); - - innerGradient = false; - gradient = this._settings.gradient; - - if (gradient&&typeof(gradient) != "function"){ - innerGradient = gradient; - gradient = false; - } else if (gradient){ - gradient = ctx.createLinearGradient(point0.x,point0.y,point1.x,point0.y); - this._settings.gradient(gradient); - } - /*draws a black line if the horizontal scale isn't defined*/ - if(!yax){ - this._drawLine(ctx,point0.x-0.5,point0.y,point0.x-0.5,point1.y,"#000000",1); //hardcoded color! - } - - - - for(i=0; i < data.length;i ++){ - - - value = parseFloat(this._settings.value(data[i]||0)); - if(value>maxValue) value = maxValue; - value -= minValue; - value *= valueFactor; - - /*start point (bottom left)*/ - x0 = point0.x; - y0 = point0.y + barOffset+(seriesNumber>2?seriesMargin*sIndex:0) + parseInt(i*cellWidth,10)+barWidth*sIndex; - - if((value<0&&this._settings.origin=="auto")||(this._settings.xAxis&&value===0&&!(this._settings.origin!="auto"&&this._settings.origin>minValue))){ - this.canvases[sIndex].renderTextAt("middle", "right", x0+10,y0+barWidth/2+barOffset,this._settings.label(data[i])); - continue; - } - if(value<0&&this._settings.origin!="auto"&&this._settings.origin>minValue){ - value = 0; - } - - /*takes start value into consideration*/ - if(!yax) value += startValue/unit; - color = gradient||this._settings.color.call(this,data[i]); - - /*drawing the gradient border of a bar*/ - if(this._settings.border){ - this._drawBarHBorder(ctx,x0,y0,barWidth,minValue,radius,unit,value,color); - } - - /*drawing bar body*/ - ctx.globalAlpha = this._settings.alpha.call(this,data[i]); - var points = this._drawBarH(ctx,point1,x0,y0,barWidth,minValue,radius,unit,value,color,gradient,innerGradient); - if (innerGradient!=false){ - this._drawBarHGradient(ctx,x0,y0,barWidth,minValue,radius,unit,value,color,innerGradient); - - } - ctx.globalAlpha = 1; - - - /*sets a bar label and map area*/ - - if(points[3]==y0){ - this.canvases[sIndex].renderTextAt("middle", "left", points[0]-5,points[3]+Math.floor(barWidth/2),this._settings.label(data[i])); - map.addRect(data[i].id,[points[0]-point0.x,points[3]-point0.y,points[2]-point0.x,points[3]+barWidth-point0.y],sIndex); - - }else{ - this.canvases[sIndex].renderTextAt("middle", false, points[2]+5,points[1]+Math.floor(barWidth/2),this._settings.label(data[i])); - map.addRect(data[i].id,[points[0]-point0.x,y0-point0.y,points[2]-point0.x,points[3]-point0.y],sIndex); - } - - } - }, - /** - * sets points for bar and returns the position of the bottom right point - * @param: ctx - canvas object - * @param: x0 - the x position of start point - * @param: y0 - the y position of start point - * @param: barWidth - bar width - * @param: radius - the rounding radius of the top - * @param: unit - the value defines the correspondence between item value and bar height - * @param: value - item value - * @param: offset - the offset from expected bar edge (necessary for drawing border) - */ - _setBarHPoints:function(ctx,x0,y0,barWidth,radius,unit,value,offset,skipLeft){ - /*correction for displaing small values (when rounding radius is bigger than bar height)*/ - var angle_corr = 0; - if(radius>unit*value){ - var sinA = (radius-unit*value)/radius; - angle_corr = -Math.asin(sinA)+Math.PI/2; - } - /*start*/ - ctx.moveTo(x0,y0+offset); - /*start of left rounding*/ - var x1 = x0 + unit*value - radius - (radius?0:offset); - if(radius0) - ctx.arc(x1,y2,radius-offset,-Math.PI/2+angle_corr,0,false); - /*start of right rounding*/ - var y3 = y0 + barWidth - radius - (radius?0:offset); - var x3 = x1 + radius - (radius?offset:0); - ctx.lineTo(x3,y3); - /*right rounding*/ - if (radius&&radius>0) - ctx.arc(x1,y3,radius-offset,0,Math.PI/2-angle_corr,false); - /*bottom right point*/ - var y5 = y0 + barWidth-offset; - ctx.lineTo(x0,y5); - /*line to the start point*/ - if(!skipLeft){ - ctx.lineTo(x0,y0+offset); - } - // ctx.lineTo(x0,0); //IE fix! - return [x3,y5]; - }, - _drawHScales:function(ctx,data,point0,point1,start,end,cellWidth){ - var x = 0; - if(this._settings.xAxis){ - if(!this.canvases["x"]) - this.canvases["x"] = new dhtmlx.ui.Canvas(this._obj); - x = this._drawHXAxis(this.canvases["x"].getCanvas(),data,point0,point1,start,end); - } - if (this._settings.yAxis){ - if(!this.canvases["y"]) - this.canvases["y"] = new dhtmlx.ui.Canvas(this._obj); - this._drawHYAxis(this.canvases["y"].getCanvas(),data,point0,point1,cellWidth,x); - } - }, - _drawHYAxis:function(ctx,data,point0,point1,cellWidth,yAxisX){ - if (!this._settings.yAxis) return; - var unitPos; - var x0 = parseInt((yAxisX?yAxisX:point0.x),10)-0.5; - var y0 = point1.y+0.5; - var y1 = point0.y; - this._drawLine(ctx,x0,y0,x0,y1,this._settings.yAxis.color,1); - - - - for(var i=0; i < data.length;i ++){ - - /*scale labels*/ - var right = ((this._settings.origin!="auto")&&(this._settings.view=="barH")&&(parseFloat(this._settings.value(data[i]))minValue)){ - x += (this._settings.origin-minValue)*unit; - axisStart = x; - value = value-(this._settings.origin-minValue); - if(value < 0){ - value *= (-1); - ctx.translate(x,y+barWidth); - ctx.rotate(Math.PI); - x = 0.5; - y = 0; - } - x += 0.5; - } - - return {value:value,x0:x,y0:y,start:axisStart} - }, - _drawBarH:function(ctx,point1,x0,y0,barWidth,minValue,radius,unit,value,color,gradient,inner_gradient){ - var points; - ctx.save(); - var p = this._correctBarHParams(ctx,x0,y0,value,unit,barWidth,minValue); - ctx.fillStyle = color; - ctx.beginPath(); - if(unit*p.value>0){ - points = this._setBarHPoints(ctx,p.x0,p.y0,barWidth,radius,unit,p.value,(this._settings.border?1:0)); - if (gradient&&!inner_gradient) ctx.lineTo(point1.x,p.y0+(this._settings.border?1:0)); //fix gradient sphreading - } - else - points = [p.x0,p.y0+1]; - - ctx.fill(); - ctx.restore(); - var y1 = p.y0; - var y2 = (p.y0!=y0?y0:points[1]); - var x1 = (p.y0!=y0?(p.start-points[0]):p.start); - var x2 = (p.y0!=y0?p.start:points[0]); - - return [x1,y1,x2,y2]; - }, - _drawBarHBorder:function(ctx,x0,y0,barWidth,minValue,radius,unit,value,color){ - ctx.save(); - var p = this._correctBarHParams(ctx,x0,y0,value,unit,barWidth,minValue); - - ctx.beginPath(); - this._setBorderStyles(ctx,color); - ctx.globalAlpha =0.9; - if(unit*p.value>0) - this._setBarHPoints(ctx,p.x0,p.y0,barWidth,radius,unit,p.value,ctx.lineWidth/2,1); - - ctx.stroke(); - ctx.restore(); - }, - _drawBarHGradient:function(ctx,x0,y0,barWidth,minValue,radius,unit,value,color,inner_gradient){ - ctx.save(); - //y0 -= (dhx.env.isIE?0:0.5); - var p = this._correctBarHParams(ctx,x0,y0,value,unit,barWidth,minValue); - var gradParam = this._setBarGradient(ctx,p.x0,p.y0+barWidth,p.x0+unit*p.value,p.y0,inner_gradient,color,"x"); - ctx.fillStyle = gradParam.gradient; - ctx.beginPath(); - if(unit*p.value>0) - this._setBarHPoints(ctx,p.x0,p.y0+gradParam.offset,barWidth-gradParam.offset*2,radius,unit,p.value,gradParam.offset); - ctx.fill(); - ctx.globalAlpha = 1; - ctx.restore(); - } -}; - - - -/* DHX DEPEND FROM FILE 'ext/chart/chart_stackedbarh.js'*/ - - -/*DHX:Depend ext/chart/chart_base.js*/ -/*DHX:Depend ext/chart/chart_barh.js*/ - -dhtmlx.assert(dhtmlx.chart.barH); -dhtmlx.chart.stackedBarH = { -/** - * renders a bar chart - * @param: ctx - canvas object - * @param: data - object those need to be displayed - * @param: x - the width of the container - * @param: y - the height of the container - * @param: sIndex - index of drawing chart - * @param: map - map object - */ - pvt_render_stackedBarH:function(ctx, data, point0, point1, sIndex, map){ - var maxValue,minValue; - /*necessary if maxValue - minValue < 0*/ - var valueFactor; - /*maxValue - minValue*/ - var relValue; - - var total_width = point1.x-point0.x; - - var yax = !!this._settings.yAxis; - - var limits = this._getStackedLimits(data); - maxValue = limits.max; - minValue = limits.min; - - /*an available width for one bar*/ - var cellWidth = Math.floor((point1.y-point0.y)/data.length); - - /*draws x and y scales*/ - if(!sIndex) - this._drawHScales(ctx,data,point0, point1,minValue,maxValue,cellWidth); - - /*necessary for automatic scale*/ - if(yax){ - maxValue = parseFloat(this._settings.xAxis.end); - minValue = parseFloat(this._settings.xAxis.start); - } - - /*unit calculation (bar_height = value*unit)*/ - var relativeValues = this._getRelativeValue(minValue,maxValue); - relValue = relativeValues[0]; - valueFactor = relativeValues[1]; - - var unit = (relValue?total_width/relValue:10); - if(!yax){ - /*defines start value for better representation of small values*/ - var startValue = 10; - unit = (relValue?(total_width-startValue)/relValue:10); - } - - /*a real bar width */ - var barWidth = parseInt(this._settings.width,10); - if((barWidth+4)>cellWidth) barWidth = cellWidth-4; - /*the half of distance between bars*/ - var barOffset = (cellWidth - barWidth)/2; - /*the radius of rounding in the top part of each bar*/ - var radius = 0; - - var inner_gradient = false; - var gradient = this._settings.gradient; - if (gradient){ - inner_gradient = true; - } - /*draws a black line if the horizontal scale isn't defined*/ - if(!yax){ - this._drawLine(ctx,point0.x-0.5,point0.y,point0.x-0.5,point1.y,"#000000",1); //hardcoded color! - } - - var seriesNumber = 0; - var seriesIndex = 0; - for(i=0; imaxValue) value = maxValue; - value -= minValue; - value *= valueFactor; - - /*start point (bottom left)*/ - var x0 = point0.x; - var y0 = point0.y+ barOffset + i*cellWidth; - - if(!seriesIndex) - data[i].$startX = x0; - else - x0 = data[i].$startX; - - if(value<0||(this._settings.yAxis&&value===0)){ - this.canvases["y"].renderTextAt("middle", true, x0+10,y0+barWidth/2,this._settings.label(data[i])); - continue; - } - - /*takes start value into consideration*/ - if(!yax) value += startValue/unit; - var color = this._settings.color.call(this,data[i]); - - - /*drawing bar body*/ - ctx.globalAlpha = this._settings.alpha.call(this,data[i]); - ctx.fillStyle = this._settings.color.call(this,data[i]); - ctx.beginPath(); - var points = this._setBarHPoints(ctx,x0,y0,barWidth,radius,unit,value,(this._settings.border?1:0)); - if (gradient&&!inner_gradient) ctx.lineTo(point0.x+total_width,y0+(this._settings.border?1:0)); //fix gradient sphreading - ctx.fill(); - - if (inner_gradient!=false){ - var gradParam = this._setBarGradient(ctx,x0,y0+barWidth,x0,y0,inner_gradient,color,"x"); - ctx.fillStyle = gradParam.gradient; - ctx.beginPath(); - points = this._setBarHPoints(ctx,x0,y0, barWidth,radius,unit,value,0); - ctx.fill(); - } - /*drawing the gradient border of a bar*/ - if(this._settings.border){ - this._drawBarHBorder(ctx,x0,y0,barWidth,minValue,radius,unit,value,color); - } - - ctx.globalAlpha = 1; - - /*sets a bar label*/ - this.canvases[sIndex].renderTextAt("middle",true,data[i].$startX+(points[0]-data[i].$startX)/2-1, y0+(points[1]-y0)/2, this._settings.label(data[i])); - /*defines a map area for a bar*/ - map.addRect(data[i].id,[data[i].$startX-point0.x,y0-point0.y,points[0]-point0.x,points[1]-point0.y],sIndex); - /*the start position for the next series*/ - data[i].$startX = points[0]; - } - } -}; - - -/* DHX DEPEND FROM FILE 'ext/chart/chart_stackedbar.js'*/ - - -/*DHX:Depend ext/chart/chart_base.js*/ -dhtmlx.chart.stackedBar = { - /** - * renders a bar chart - * @param: ctx - canvas object - * @param: data - object those need to be displayed - * @param: x - the width of the container - * @param: y - the height of the container - * @param: sIndex - index of drawing chart - */ - pvt_render_stackedBar:function(ctx, data, point0, point1, sIndex, map){ - var maxValue,minValue, xAxisY, x0, y0; - /*necessary if maxValue - minValue < 0*/ - var valueFactor; - /*maxValue - minValue*/ - var relValue; - var config = this._settings; - var total_height = point1.y-point0.y; - - var yax = !!config.yAxis; - var xax = !!config.xAxis; - - var limits = this._getStackedLimits(data); - - var origin = (config.origin === 0); - - maxValue = limits.max; - minValue = limits.min; - if(!data.length) - return; - /*an available width for one bar*/ - var cellWidth = (point1.x-point0.x)/data.length; - - /*draws x and y scales*/ - if(!sIndex){ - xAxisY = this._drawScales(data,point0, point1,minValue,maxValue,cellWidth); - } - - /*necessary for automatic scale*/ - if(yax){ - maxValue = parseFloat(config.yAxis.end); - minValue = parseFloat(config.yAxis.start); - } - - /*unit calculation (bar_height = value*unit)*/ - var relativeValues = this._getRelativeValue(minValue,maxValue); - relValue = relativeValues[0]; - valueFactor = relativeValues[1]; - - var unit = (relValue?total_height/relValue:10); - - /*a real bar width */ - var barWidth = parseInt(config.width,10); - if(barWidth+4 > cellWidth) barWidth = cellWidth-4; - /*the half of distance between bars*/ - var barOffset = Math.floor((cellWidth - barWidth)/2); - - - var inner_gradient = (config.gradient?config.gradient:false); - - /*draws a black line if the horizontal scale isn't defined*/ - if(!xax){ - //scaleY = y-bottomPadding; - this._drawLine(ctx,point0.x,point1.y+0.5,point1.x,point1.y+0.5,"#000000",1); //hardcoded color! - } - - for(var i=0; i < data.length;i ++){ - var value = parseFloat(config.value(data[i]||0)); - - if(this._logScaleCalc) - value = this._log10(value); - - /*start point (bottom left)*/ - x0 = point0.x + barOffset + i*cellWidth; - - var negValue = origin&&value<0; - if(!sIndex){ - y0 = xAxisY-1; - data[i].$startY = y0; - if(origin){ - if(negValue) - y0 = xAxisY+1; - data[i].$startYN = xAxisY+1; - } - } - else{ - y0 = negValue?data[i].$startYN:data[i].$startY; - } - - if(!value) - continue; - - /*adjusts the first tab to the scale*/ - if(!sIndex && !origin) - value -= minValue; - - value *= valueFactor; - - /*the max height limit*/ - if(y0 < (point0.y+1)) continue; - - if(config.yAxis&&value===0){ - this.canvases["y"].renderTextAt(true, true, x0+Math.floor(barWidth/2),y0,this._settings.label(data[i])); - continue; - } - - var color = this._settings.color.call(this,data[i]); - var firstSector = Math.abs(y0-(origin?(point1.y+minValue*unit):point1.y))<3; - - /*drawing bar body*/ - ctx.globalAlpha = config.alpha.call(this,data[i]); - ctx.fillStyle = ctx.strokeStyle = config.color.call(this,data[i]); - ctx.beginPath(); - - var y1 = y0 - unit*value + (firstSector?(negValue?-1:1):0); - - var points = this._setStakedBarPoints(ctx,x0-(config.border?0.5:0),y0,barWidth+(config.border?0.5:0),y1, 0,point0.y); - ctx.fill(); - ctx.stroke(); - - /*gradient*/ - if (inner_gradient){ - ctx.save(); - var gradParam = this._setBarGradient(ctx,x0,y0,x0+barWidth,points[1],inner_gradient,color,"y"); - ctx.fillStyle = gradParam.gradient; - ctx.beginPath(); - points = this._setStakedBarPoints(ctx,x0+gradParam.offset,y0,barWidth-gradParam.offset*2,y1,(config.border?1:0),point0.y); - ctx.fill(); - ctx.restore(); - } - /*drawing the gradient border of a bar*/ - if(config.border){ - ctx.save(); - if(typeof config.border == "string") - ctx.strokeStyle = config.border; - else - this._setBorderStyles(ctx,color); - ctx.beginPath(); - - this._setStakedBarPoints(ctx,x0-0.5,parseInt(y0,10)+0.5,barWidth+1,parseInt(y1,10)+0.5,0,point0.y, firstSector); - ctx.stroke(); - ctx.restore(); - } - ctx.globalAlpha = 1; - - /*sets a bar label*/ - this.canvases[sIndex].renderTextAt(false, true, x0+Math.floor(barWidth/2),(points[1]+(y0-points[1])/2)-7,this._settings.label(data[i])); - /*defines a map area for a bar*/ - map.addRect(data[i].id,[x0-point0.x,points[1]-point0.y,points[0]-point0.x,data[i][negValue?"$startYN":"$startY"]-point0.y],sIndex); - - /*the start position for the next series*/ - - data[i][negValue?"$startYN":"$startY"] = points[1]; - - } - }, - /** - * sets points for bar and returns the position of the bottom right point - * @param: ctx - canvas object - * @param: x0 - the x position of start point - * @param: y0 - the y position of start point - * @param: barWidth - bar width - * @param: radius - the rounding radius of the top - * @param: unit - the value defines the correspondence between item value and bar height - * @param: value - item value - * @param: offset - the offset from expected bar edge (necessary for drawing border) - * @param: minY - the minimum y position for the bars () - */ - _setStakedBarPoints:function(ctx,x0,y0,barWidth,y1,offset,minY,skipBottom){ - /*start*/ - ctx.moveTo(x0,y0); - - /*maximum height limit*/ - if(y1=0;i--){ - ctx.globalAlpha = alphas[i]; - ctx.strokeStyle = "#d0d0d0"; - ctx.beginPath(); - this._strokeChartItem(ctx,x0,y0+2*R/3,R+i+1,config.type); - ctx.stroke(); - } - ctx.beginPath(); - ctx.globalAlpha = 0.3; - ctx.fillStyle = "#bdbdbd"; - this._strokeChartItem(ctx,x0,y0+2*R/3,R+1,config.type); - ctx.fill(); - } - ctx.restore(); - - if(config.type == "image" && config.src){ - this._drawImage(ctx,x0-R,y0-R,config.src,R*2, R*2); - } - else{ - ctx.lineWidth = config.borderWidth; - ctx.fillStyle = config.color.call(this,obj); - ctx.strokeStyle = config.borderColor.call(this,obj); - ctx.globalAlpha = config.alpha.call(this,obj); - ctx.beginPath(); - this._strokeChartItem(ctx,x0,y0,R+1,config.type); - ctx.fill(); - ctx.stroke(); - ctx.globalAlpha = 1; - } - } - /*item label*/ - if(label) - this.canvases[sIndex].renderTextAt(false, true, x0,y0-R-this._settings.labelOffset,this._settings.label.call(this,obj)); - - var areaPos = (this._settings.eventRadius||R+1); - map.addRect(obj.id,[x0-areaPos-mapStart.x,y0-areaPos-mapStart.y,x0+areaPos-mapStart.x,y0+areaPos-mapStart.y],sIndex); - }, - _drawImage: function(ctx,x,y,src, width, height){ - var image = document.createElement("img"); - image.style.display = "none"; - image.style.width = width+"px"; - image.style.height = height+"px"; - document.body.appendChild(image); - image.src = src; - var callback = function() { - ctx.drawImage(image, x,y); - }; - if(image.complete) { //check if image was already loaded by the browser - callback(image); - }else { - image.onload = callback; - } - }, - _strokeChartItem:function(ctx,x0,y0,R,type){ - var p=[]; - x0 = parseInt(x0,10); - y0 = parseInt(y0,10); - if(type && (type=="square" || type=="s")){ - R *= Math.sqrt(2)/2; - p = [ - [x0-R-ctx.lineWidth/2,y0-R], - [x0+R,y0-R], - [x0+R,y0+R], - [x0-R,y0+R], - [x0-R,y0-R] - ]; - } - else if(type && (type=="diamond" || type=="d")){ - var corr = (ctx.lineWidth>1?ctx.lineWidth*Math.sqrt(2)/4:0); - p = [ - [x0,y0-R], - [x0+R,y0], - [x0,y0+R], - [x0-R,y0], - [x0+corr,y0-R-corr] - ]; - } - else if(type && (type=="triangle" || type=="t")){ - p = [ - [x0,y0-R], - [x0+Math.sqrt(3)*R/2,y0+R/2], - [x0-Math.sqrt(3)*R/2,y0+R/2], - [x0,y0-R] - ]; - } - else - p = [ - [x0,y0,R,0,Math.PI*2,true] - ]; - this._path(ctx,p); - }, - /** - * gets the vertical position of the item - * @param: data - data object - * @param: y0 - the y position of chart start - * @param: y1 - the y position of chart end - * @param: params - the object with elements: minValue, maxValue, unit, valueFactor (the value multiple of 10) - */ - _getPointY: function(data,point0,point1,params){ - var minValue = params.minValue; - var maxValue = params.maxValue; - var unit = params.unit; - var valueFactor = params.valueFactor; - /*the real value of an object*/ - var value = this._settings.value(data); - /*a relative value*/ - var v = (parseFloat(value||0) - minValue)*valueFactor; - if(!this._settings.yAxis) - v += params.startValue/unit; - /*a vertical coordinate*/ - var y = point1.y - unit*v; - - /*the limit of the max and min values*/ - if(this._settings.fixOverflow && ( this._settings.view == "line" || this._settings.view == "area")){ - if(value > maxValue) - y = {y: point0.y, y0: y, out: "max"}; - else if(v<0 || value < minValue) - y = {y: point1.y, y0: y, out: "min"}; - } - else{ - if(value > maxValue) - y = point0.y; - if(v<0 || value < minValue) - y = point1.y; - } - return y; - }, - _calculateLineParams: function(ctx,data,point0,point1,sIndex){ - var params = {}; - - /*maxValue - minValue*/ - var relValue; - - /*available height*/ - params.totalHeight = point1.y-point0.y; - - /*a space available for a single item*/ - //params.cellWidth = Math.round((point1.x-point0.x)/((!this._settings.offset&&this._settings.yAxis)?(data.length-1):data.length)); - params.cellWidth = (point1.x-point0.x)/((!this._settings.offset)?(data.length-1):data.length); - - /*scales*/ - var yax = !!this._settings.yAxis; - - var limits = (this._settings.view.indexOf("stacked")!=-1?this._getStackedLimits(data):this._getLimits()); - params.maxValue = limits.max; - params.minValue = limits.min; - - /*draws x and y scales*/ - if(!sIndex) - this._drawScales(data, point0, point1,params.minValue,params.maxValue,params.cellWidth); - - /*necessary for automatic scale*/ - if(yax){ - params.maxValue = parseFloat(this._settings.yAxis.end); - params.minValue = parseFloat(this._settings.yAxis.start); - } - - /*unit calculation (y_position = value*unit)*/ - var relativeValues = this._getRelativeValue(params.minValue,params.maxValue); - relValue = relativeValues[0]; - params.valueFactor = relativeValues[1]; - params.unit = (relValue?params.totalHeight/relValue:10); - - params.startValue = 0; - if(!yax){ - /*defines start value for better representation of small values*/ - params.startValue = 10; - if(params.unit!=params.totalHeight) - params.unit = (relValue?(params.totalHeight - params.startValue)/relValue:10); - } - return params; - } -}; - - - -/* DHX DEPEND FROM FILE 'ext/chart/chart_bar.js'*/ - - -/*DHX:Depend ext/chart/chart_base.js*/ -dhtmlx.chart.bar = { - /** - * renders a bar chart - * @param: ctx - canvas object - * @param: data - object those need to be displayed - * @param: x - the width of the container - * @param: y - the height of the container - * @param: sIndex - index of drawing chart - */ - pvt_render_bar:function(ctx, data, point0, point1, sIndex, map){ - var barWidth, cellWidth, - i, - limits, maxValue, minValue, - relValue, valueFactor, relativeValues, - startValue, unit, - xax, yax, - totalHeight = point1.y-point0.y; - - - - - - yax = !!this._settings.yAxis; - xax = !!this._settings.xAxis; - - limits = this._getLimits(); - maxValue = limits.max; - minValue = limits.min; - - /*an available width for one bar*/ - cellWidth = (point1.x-point0.x)/data.length; - - /*draws x and y scales*/ - if(!sIndex&&!(this._settings.origin!="auto"&&!yax)){ - this._drawScales(data,point0, point1,minValue,maxValue,cellWidth); - } - - /*necessary for automatic scale*/ - if(yax){ - maxValue = parseFloat(this._settings.yAxis.end); - minValue = parseFloat(this._settings.yAxis.start); - } - - /*unit calculation (bar_height = value*unit)*/ - relativeValues = this._getRelativeValue(minValue,maxValue); - relValue = relativeValues[0]; - valueFactor = relativeValues[1]; - - unit = (relValue?totalHeight/relValue:relValue); - - if(!yax&&!(this._settings.origin!="auto"&&xax)){ - /*defines start value for better representation of small values*/ - startValue = 10; - unit = (relValue?(totalHeight-startValue)/relValue:startValue); - } - /*if yAxis isn't set, but with custom origin */ - if(!sIndex&&(this._settings.origin!="auto"&&!yax)&&this._settings.origin>minValue){ - this._drawXAxis(ctx,data,point0,point1,cellWidth,point1.y-unit*(this._settings.origin-minValue)); - } - - /*a real bar width */ - barWidth = parseInt(this._settings.width,10); - var seriesNumber = 0; - var seriesIndex = 0; - for(i=0; i2?seriesMargin*seriesNumber:0)>cellWidth) ) - barWidth = cellWidth/seriesNumber-seriesPadding-(seriesNumber>2?seriesMargin:0); - - /*the half of distance between bars*/ - var barOffset = (cellWidth - barWidth*seriesNumber - seriesMargin*(seriesNumber-1))/2 ; - - if(this._settings.border){ - barWidth = parseInt(barWidth,10); - barOffset = parseInt(barOffset,10); - } - - /*the radius of rounding in the top part of each bar*/ - var radius = (typeof this._settings.radius!="undefined"?parseInt(this._settings.radius,10):Math.round(barWidth/5)); - - var inner_gradient = false; - var gradient = this._settings.gradient; - - if(gradient && typeof(gradient) != "function"){ - inner_gradient = gradient; - gradient = false; - } else if (gradient){ - gradient = ctx.createLinearGradient(0,point1.y,0,point0.y); - this._settings.gradient(gradient); - } - /*draws a black line if the horizontal scale isn't defined*/ - if(!xax){ - this._drawLine(ctx,point0.x,point1.y+0.5,point1.x,point1.y+0.5,"#000000",1); //hardcoded color! - } - - for(i=0; i < data.length;i ++){ - - var value = parseFloat(this._settings.value(data[i])||0); - if(isNaN(value)) - continue; - if(value>maxValue) value = maxValue; - value -= minValue; - value *= valueFactor; - - /*start point (bottom left)*/ - var x0 = point0.x + barOffset+(seriesNumber>2?seriesMargin*seriesIndex:0) + i*cellWidth + barWidth*seriesIndex; - var y0 = point1.y; - - if(value<0||(this._settings.yAxis&&value===0&&!(this._settings.origin!="auto"&&this._settings.origin>minValue))){ - this.canvases[sIndex].renderTextAt(true, true, x0+Math.floor(barWidth/2),y0,this._settings.label(data[i])); - continue; - } - - /*takes start value into consideration*/ - if(!yax&&!(this._settings.origin!="auto"&&xax)) value += startValue/unit; - - var color = gradient||this._settings.color.call(this,data[i]); - - - /*drawing bar body*/ - ctx.globalAlpha = this._settings.alpha.call(this,data[i]); - var points = this._drawBar(ctx,point0,x0,y0,barWidth,minValue,radius,unit,value,color,gradient,inner_gradient); - if (inner_gradient){ - this._drawBarGradient(ctx,x0,y0,barWidth,minValue,radius,unit,value,color,inner_gradient); - } - /*drawing the gradient border of a bar*/ - if(this._settings.border) - this._drawBarBorder(ctx,x0,y0,barWidth,minValue,radius,unit,value,color); - - ctx.globalAlpha = 1; - - /*sets a bar label*/ - if(points[0]!=x0) - this.canvases[sIndex].renderTextAt(false, true, x0+Math.floor(barWidth/2),points[1],this._settings.label(data[i])); - else - this.canvases[sIndex].renderTextAt(true, true, x0+Math.floor(barWidth/2),points[3],this._settings.label(data[i])); - /*defines a map area for a bar*/ - map.addRect(data[i].id,[x0-point0.x,points[3]-point0.y,points[2]-point0.x,points[1]-point0.y],sIndex); - //this._addMapRect(map,data[i].id,[{x:x0,y:points[3]},{x:points[2],y:points[1]}],point0,sIndex); - } - }, - _correctBarParams:function(ctx,x,y,value,unit,barWidth,minValue){ - var xax = this._settings.xAxis; - var axisStart = y; - if(!!xax&&this._settings.origin!="auto" && (this._settings.origin>minValue)){ - y -= (this._settings.origin-minValue)*unit; - axisStart = y; - value = value-(this._settings.origin-minValue); - if(value < 0){ - value *= (-1); - ctx.translate(x+barWidth,y); - ctx.rotate(Math.PI); - x = 0; - y = 0; - } - y -= 0.5; - } - - return {value:value,x0:x,y0:y,start:axisStart} - }, - _drawBar:function(ctx,point0,x0,y0,barWidth,minValue,radius,unit,value,color,gradient,inner_gradient){ - var points; - ctx.save(); - ctx.fillStyle = color; - var p = this._correctBarParams(ctx,x0,y0,value,unit,barWidth,minValue); - if( unit*p.value > 0) - points = this._setBarPoints(ctx,p.x0,p.y0,barWidth,radius,unit,p.value,(this._settings.border?1:0)); - else - points = [p.x0,p.y0]; - if (gradient&&!inner_gradient) ctx.lineTo(p.x0+(this._settings.border?1:0),point0.y); //fix gradient sphreading - - ctx.fill(); - - ctx.restore(); - var x1 = p.x0; - var x2 = (p.x0!=x0?x0+points[0]:points[0]); - var y1 = (p.x0!=x0?(p.start-points[1]-p.y0):p.y0); - var y2 = (p.x0!=x0?p.start-p.y0:points[1]); - - return [x1,y1,x2,y2]; - }, - - _drawBarBorder:function(ctx,x0,y0,barWidth,minValue,radius,unit,value,color){ - var p; - ctx.save(); - p = this._correctBarParams(ctx,x0,y0,value,unit,barWidth,minValue); - this._setBorderStyles(ctx,color); - if( unit*p.value > 0) - this._setBarPoints(ctx,p.x0,p.y0,barWidth,radius,unit,p.value,ctx.lineWidth/2,1); - ctx.stroke(); - /*ctx.fillStyle = color; - this._setBarPoints(ctx,p.x0,p.y0,barWidth,radius,unit,p.value,0); - ctx.lineTo(p.x0,0); - ctx.fill() - - - ctx.fillStyle = "#000000"; - ctx.globalAlpha = 0.37; - - this._setBarPoints(ctx,p.x0,p.y0,barWidth,radius,unit,p.value,0); - ctx.fill() - */ - ctx.restore(); - }, - _drawBarGradient:function(ctx,x0,y0,barWidth,minValue,radius,unit,value,color,inner_gradient){ - ctx.save(); - //y0 -= (dhtmlx._isIE?0:0.5); - var p = this._correctBarParams(ctx,x0,y0,value,unit,barWidth,minValue); - var gradParam = this._setBarGradient(ctx,p.x0,p.y0,p.x0+barWidth,p.y0-unit*p.value+2,inner_gradient,color,"y"); - var borderOffset = this._settings.border?1:0; - ctx.fillStyle = gradParam.gradient; - if( unit*p.value > 0) - this._setBarPoints(ctx,p.x0+gradParam.offset,p.y0,barWidth-gradParam.offset*2,radius,unit,p.value,gradParam.offset+borderOffset); - ctx.fill(); - ctx.restore(); - }, - /** - * sets points for bar and returns the position of the bottom right point - * @param: ctx - canvas object - * @param: x0 - the x position of start point - * @param: y0 - the y position of start point - * @param: barWidth - bar width - * @param: radius - the rounding radius of the top - * @param: unit - the value defines the correspondence between item value and bar height - * @param: value - item value - * @param: offset - the offset from expected bar edge (necessary for drawing border) - */ - _setBarPoints:function(ctx,x0,y0,barWidth,radius,unit,value,offset,skipBottom){ - /*correction for displaing small values (when rounding radius is bigger than bar height)*/ - ctx.beginPath(); - //y0 = 0.5; - var angle_corr = 0; - if(radius>unit*value){ - var cosA = (radius-unit*value)/radius; - if(cosA<=1&&cosA>=-1) - angle_corr = -Math.acos(cosA)+Math.PI/2; - } - /*start*/ - ctx.moveTo(x0+offset,y0); - /*start of left rounding*/ - var y1 = y0 - Math.floor(unit*value) + radius + (radius?0:offset); - if(radius0) - ctx.arc(x2,y1,radius-offset,-Math.PI+angle_corr,-Math.PI/2,false); - /*start of right rounding*/ - var x3 = x0 + barWidth - radius - offset; - var y3 = y1 - radius + (radius?offset:0); - ctx.lineTo(x3,y3); - /*right rounding*/ - if (radius&&radius>0) - ctx.arc(x3,y1,radius-offset,-Math.PI/2,0-angle_corr,false); - /*bottom right point*/ - var x5 = x0 + barWidth-offset; - ctx.lineTo(x5,y0); - /*line to the start point*/ - if(!skipBottom){ - ctx.lineTo(x0+offset,y0); - } - // ctx.lineTo(x0,0); //IE fix! - return [x5,y3]; - } -}; - - -/* DHX DEPEND FROM FILE 'ext/chart/chart_pie.js'*/ - - -/*DHX:Depend ext/chart/chart_base.js*/ -/*DHX:Depend ext/chart/chart_base.js*/ -dhtmlx.chart.pie = { - pvt_render_pie:function(ctx,data,x,y,sIndex,map){ - this._renderPie(ctx,data,x,y,1,map,sIndex); - - }, - /** - * renders a pie chart - * @param: ctx - canvas object - * @param: data - object those need to be displayed - * @param: x - the width of the container - * @param: y - the height of the container - * @param: ky - value from 0 to 1 that defines an angle of inclination (01) - for(i=0;i< angles.length;i++){ - p = this._getPositionByAngle(angles[i],x0,y0,radius); - this._drawLine(ctx,x0,y0,p.x,p.y,this._settings.lineColor.call(this,data[i]),2); - } - - if(ky==1){ - ctx.lineWidth = 2; - ctx.strokeStyle = "#ffffff"; - ctx.beginPath(); - ctx.arc(x0,y0,radius+1,0,2*Math.PI,false); - ctx.stroke(); - } - ctx.globalAlpha =1; - - ctx.scale(1,1/ky); - }, - _getLabelMargins: function(ratios,R){ - var alpha1, alpha2, i, j, - margins = [], - r = []; - var dists = {1:[0]}; - - - for(i = 1; i < ratios.length; i++ ){ - alpha1 = -Math.PI/2 + (i>1?(ratios[i-1]- (ratios[i-1]-ratios[i-2])/2):ratios[i-1]/2); - alpha2 = -Math.PI/2 + ratios[i]- (ratios[i]-ratios[i-1])/2; - var cos2 = Math.cos(alpha2); - var sin2 = Math.sin(alpha2); - var cos1 = Math.cos(alpha1); - var sin1 = Math.sin(alpha1); - var dist = Math.round((R+8)*Math.abs(Math.sin(alpha2)-Math.sin(alpha1))); - - var quarter2 = (cos2<0?(sin2<0?4:3) :(sin2<0?1:2)); - var quarter1 = (cos1<0?(sin1<0?4:3) :(sin1<0?1:2)); - if(!dists[quarter2]) - dists[quarter2] = []; - dists[quarter2].push(quarter1==quarter2?dist:0); - } - var distIncrease = []; - var c = 0; - - for(var q in dists){ - var start = 0; - var end = dists[q].length; - var inc = 0; - var incX = 0; - if(q == 1 || q == 3){ - j = q-1; - var len = 0; - while(j>0){ - if(dists[j]) - len += dists[j].length; - j--; - } - distIncrease[len+ dists[q].length-1] = {y:0,x:0}; - - var j = dists[q].length-2; - - while(j>=0){ - if((inc||j) && dists[q][j+1]-inc<18){ - inc += 18 -dists[q][j+1]; - } - else{ - inc = 0; - } - - distIncrease[len+j] = {y:inc*(q == 1?-1:1)}; - j --; - } - for(var k=distIncrease.length-dists[q].length; k < distIncrease.length; k++){ - if(distIncrease[k]["y"]!=0){ - incX += 6; - distIncrease[k]["x"] = incX; - - } - else{ - distIncrease[k]["x"] = 0; - incX = 0; - } - } - } - else{ - var j = 1; - distIncrease.push({y:0,x:0}); - while(j= distIncrease.length-dists[q].length; k--){ - if(distIncrease[k]["y"]!=0){ - incX += 8; - distIncrease[k]["x"] = incX; - - } - else{ - incX = 0; - distIncrease[k]["x"] = 0; - } - - } - } - } - - return distIncrease; - }, - /** - * returns list of values - * @param: data array - */ - _getValues:function(data){ - var v = []; - for(var i = 0; i < data.length;i++) - v.push(parseFloat(this._settings.value(data[i])||0)); - return v; - }, - /** - * returns total value - * @param: the array of values - */ - _getTotalValue:function(values){ - var t=0; - for(var i = 0; i < values.length;i++) - t += values[i]; - return t; - }, - /** - * gets angles for all values - * @param: the array of values - * @param: total value (optional) - */ - _getRatios:function(values,totalValue){ - var value; - var ratios = []; - var prevSum = 0; - totalValue = totalValue||this._getTotalValue(values); - for(var i = 0; i < values.length;i++){ - value = values[i]; - - ratios[i] = Math.PI*2*(totalValue?((value+prevSum)/totalValue):(1/values.length)); - prevSum += value; - } - return ratios; - }, - /** - * returns calculated pie parameters: center position and radius - * @param: x - the width of a container - * @param: y - the height of a container - */ - _getPieParameters:function(point0,point1){ - /*var offsetX = 0; - var offsetY = 0; - if(this._settings.legend &&this._settings.legend.layout!="x") - offsetX = this._settings.legend.width*(this._settings.legend.align=="right"?-1:1); - var x0 = (x + offsetX)/2; - if(this._settings.legend &&this._settings.legend.layout=="x") - offsetY = this._settings.legend.height*(this._settings.legend.valign=="bottom"?-1:1); - var y0 = (y+offsetY)/2;*/ - var width = point1.x-point0.x; - var height = point1.y-point0.y; - var x0 = point0.x+width/2; - var y0 = point0.y+height/2; - var radius = Math.min(width/2,height/2); - return {"x":x0,"y":y0,"radius":radius}; - }, - /** - * creates lower part of sector in 3Dpie - * @param: ctx - canvas object - * @param: x0 - the horizontal position of the pie center - * @param: y0 - the vertical position of the pie center - * @param: a0 - the angle that defines the first edge of a sector - * @param: a1 - the angle that defines the second edge of a sector - * @param: R - pie radius - * @param: line (boolean) - if the sector needs a border - */ - _createLowerSector:function(ctx,x0,y0,a1,a2,R,line){ - ctx.lineWidth = 1; - /*checks if the lower sector needs being displayed*/ - if(!((a1<=0 && a2>=0)||(a1>=0 && a2<=Math.PI)||(Math.abs(a1-Math.PI)>0.003&&a1<=Math.PI && a2>=Math.PI))) return; - - if(a1<=0 && a2>=0){ - a1 = 0; - line = false; - this._drawSectorLine(ctx,x0,y0,R,a1,a2); - } - if(a1<=Math.PI && a2>=Math.PI){ - a2 = Math.PI; - line = false; - this._drawSectorLine(ctx,x0,y0,R,a1,a2); - } - /*the height of 3D pie*/ - var offset = (this._settings.height||Math.floor(R/4))/this._settings.cant; - ctx.beginPath(); - ctx.arc(x0,y0,R,a1,a2,false); - ctx.lineTo(x0+R*Math.cos(a2),y0+R*Math.sin(a2)+offset); - ctx.arc(x0,y0+offset,R,a2,a1,true); - ctx.lineTo(x0+R*Math.cos(a1),y0+R*Math.sin(a1)); - ctx.fill(); - if(line) - ctx.stroke(); - }, - /** - * draws a serctor arc - */ - _drawSectorLine:function(ctx,x0,y0,R,a1,a2){ - ctx.beginPath(); - ctx.arc(x0,y0,R,a1,a2,false); - ctx.stroke(); - }, - /** - * adds a shadow to pie - * @param: ctx - canvas object - * @param: x - the horizontal position of the pie center - * @param: y - the vertical position of the pie center - * @param: R - pie radius - */ - _addShadow:function(ctx,x,y,R){ - ctx.globalAlpha = 0.5; - var shadows = ["#c4c4c4","#c6c6c6","#cacaca","#dcdcdc","#dddddd","#e0e0e0","#eeeeee","#f5f5f5","#f8f8f8"]; - for(var i = shadows.length-1;i>-1;i--){ - ctx.beginPath(); - ctx.fillStyle = shadows[i]; - ctx.arc(x+1,y+1,R+i,0,Math.PI*2,true); - ctx.fill(); - } - ctx.globalAlpha = 1 - }, - /** - * returns a gray gradient - * @param: gradient - gradient object - */ - _getGrayGradient:function(gradient){ - gradient.addColorStop(0.0,"#ffffff"); - gradient.addColorStop(0.7,"#7a7a7a"); - gradient.addColorStop(1.0,"#000000"); - return gradient; - }, - /** - * adds gray radial gradient - * @param: ctx - canvas object - * @param: x - the horizontal position of the pie center - * @param: y - the vertical position of the pie center - * @param: radius - pie radius - * @param: x0 - the horizontal position of a gradient center - * @param: y0 - the vertical position of a gradient center - */ - _showRadialGradient:function(ctx,x,y,radius,x0,y0){ - //ctx.globalAlpha = 0.3; - ctx.beginPath(); - var gradient; - if(typeof this._settings.gradient!= "function"){ - gradient = ctx.createRadialGradient(x0,y0,radius/4,x,y,radius); - gradient = this._getGrayGradient(gradient); - } - else gradient = this._settings.gradient(gradient); - ctx.fillStyle = gradient; - ctx.arc(x,y,radius,0,Math.PI*2,true); - ctx.fill(); - //ctx.globalAlpha = 1; - ctx.globalAlpha = 0.7; - }, - /** - * returns the calculates pie parameters: center position and radius - * @param: ctx - canvas object - * @param: x0 - the horizontal position of the pie center - * @param: y0 - the vertical position of the pie center - * @param: R - pie radius - * @param: alpha1 - the angle that defines the 1st edge of a sector - * @param: alpha2 - the angle that defines the 2nd edge of a sector - * @param: ky - the value that defines an angle of inclination - * @param: text - label text - * @param: in_width (boolean) - if label needs being displayed inside a pie - */ - _drawSectorLabel:function(x0,y0,R,alpha1,alpha2,ky,text,in_width, margin,ctx){ - var t = this.canvases[0].renderText(0,0,text,0,1); - if (!t) return; - //get existing width of text - var labelWidth = t.scrollWidth; - t.style.width = labelWidth+"px"; //adjust text label to fit all text - if (labelWidth>x0) labelWidth = x0; //the text can't be greater than half of view - - //calculate expected correction based on default font metrics - var width = (alpha2-alpha1<0.2?4:8); - if (in_width) width = labelWidth/1.8; - var alpha = alpha1+(alpha2-alpha1)/2; - - //position and its correction - var radius = R; - R = (in_width?5*R/6:R+this._settings.labelOffset); - R = R-(width-8)/2; - var corr_x = - width; - var corr_y = -8; - var align = "right"; - - //for items in left upper and lower sector - if(alpha>=Math.PI/2 && alpha=Math.PI){ - corr_x = -labelWidth-corr_x;/*correction for label width*/ - align = "left"; - } - - //calculate position of text - //basically get point at center of pie sector - var offset = 0; - - if(!in_width&&ky<1&&(alpha>0&&alpha=Math.PI/2 && alpha=Math.PI)){ - - x += labelWidth/3; - } - - - if(this._settings.labelLines && !in_width){ - var r1 = Math.abs((Math.abs(margin||0) +Math.abs(radius*Math.sin(alpha)))/Math.sin(alpha)); - - if(margin.y) - y += margin.y; - if(align=="left"){ - x -= margin.x; - } - else - x +=margin.x; - - ctx.beginPath(); - ctx.strokeStyle = "#555"; - var x1 = x0+radius*Math.cos(alpha); - var y1 = y0+radius*Math.sin(alpha); - ctx.moveTo(x1,y1); - - var x2= x-(align=="left"?corr_x-8:2); - var y2 = y; - - if(align=="left" && x2>x1){ - x2 = x1-Math.abs(y2-y1+16)/Math.tan(alpha-Math.PI); - y2 = y2+16; - if(alpha1){ - // hide action - if(toggle){ - if(obj.className.indexOf("hidden")!=-1){ - this.showSeries(series); - } - else{ - this.hideSeries(series); - } - } - } - } - } - }, - on_dblclick:{ - }, - on_mouse_move:{ - }, - destructor: function(){ - dhtmlx.Destruction.destructor.apply(this, arguments); - if(this.canvases){ - for(var i in this.canvases){ - this.canvases[i]._obj = null; - this.canvases[i] = null; - } - this.canvases = null; - } - if(this.legendObj){ - this.legendObj.innerHTML = ""; - this.legendObj = null; - } - if (this.config.tooltip) { - this.config.tooltip._obj = null; - this.config.tooltip._dataobj = null; - } - }, - bind:function(){ - dhtmlx.BaseBind.legacyBind.apply(this, arguments); - }, - sync:function(){ - dhtmlx.BaseBind.legacySync.apply(this, arguments); - }, - resize:function(){ - for(var c in this.canvases){ - this.canvases[c]._resizeCanvas(); - } - this.render(); - }, - view_setter:function( val){ - if (!dhtmlx.chart[val]) - dhtmlx.error("Chart type extension is not loaded: "+val); - //if you will need to add more such settings - move them ( and this one ) in a separate methods - - if (typeof this._settings.offset == "undefined"){ - this._settings.offset = !(val == "area" || val == "stackedArea"); - } - if(val=="radar"&&!this._settings.yAxis) - this.define("yAxis",{}); - if(val=="scatter"){ - if(!this._settings.yAxis) - this.define("yAxis",{}); - if(!this._settings.xAxis) - this.define("xAxis",{}); - } - - return val; - }, - clearCanvas:function(){ - if(this.canvases&&typeof this.canvases == "object") - for(var c in this.canvases){ - this.canvases[c].clearCanvas(); - } - }, - render:function(){ - var bounds, i, data, map, temp; - - if (!this.callEvent("onBeforeRender",[this.data])) - return; - - if(this.canvases&&typeof this.canvases == "object"){ - for(i in this.canvases){ - this.canvases[i].clearCanvas(); - } - } - else - this.canvases = {}; - - if(this._settings.legend){ - if(!this.canvases["legend"]) - this.canvases["legend"] = new dhtmlx.ui.Canvas(this._obj,"legend"); - this._drawLegend( - this.data.getRange(), - this._obj.offsetWidth - ); - } - bounds = this._getChartBounds(this._obj.offsetWidth,this._obj.offsetHeight); - this._map = map = new dhtmlx.ui.Map(this._id); - temp = this._settings; - data = this._getChartData(); - - for(i=0; i < this._series.length;i++){ - this._settings = this._series[i]; - if(!this.canvases[i]){ - this.canvases[i] = new dhtmlx.ui.Canvas(this._obj,i,"z-index:"+(2+i)); - } - this["pvt_render_"+this._settings.view]( - this.canvases[i].getCanvas(), - data, - bounds.start, - bounds.end, - i, - map - ); - } - - map.render(this._obj); - this._obj.lastChild.style.zIndex = 1000; - this._applyBounds(this._obj.lastChild,bounds); - this.callEvent("onAfterRender",[]); - this._settings = temp; - }, - _applyBounds: function(elem,bounds){ - var style = {}; - style.left = bounds.start.x; - style.top = bounds.start.y; - style.width = bounds.end.x-bounds.start.x; - style.height = bounds.end.y - bounds.start.y; - for(var prop in style){ - elem.style[prop] = style[prop]+"px"; - } - }, - _getChartData: function(){ - var axis, axisConfig ,config, data, i, newData, start, units, value, valuesHash; - data = this.data.getRange(); - axis = (this._settings.view.toLowerCase().indexOf("barh")!=-1?"yAxis":"xAxis"); - axisConfig = this._settings[axis]; - if(axisConfig&&axisConfig.units&&(typeof axisConfig.units == "object")){ - config = axisConfig.units; - units = []; - if(typeof config.start != "undefined"&&typeof config.end != "undefined" && typeof config.next != "undefined"){ - start = config.start; - while(start<=config.end){ - units.push(start); - start = config.next.call(this,start); - } - } - else if(Object.prototype.toString.call(config) === '[object Array]'){ - units = config; - } - newData = []; - if(units.length){ - value = axisConfig.value; - valuesHash = {}; - for(i=0;i < data.length;i++){ - valuesHash[value(data[i])] = i; - } - for(i=0;i< units.length;i++){ - if(typeof valuesHash[units[i]]!= "undefined"){ - data[valuesHash[units[i]]].$unit = units[i]; - newData.push(data[valuesHash[units[i]]]); - } - else{ - newData.push({$unit:units[i]}); - } - } - } - return newData; - } - return data; - }, - value_setter:dhtmlx.Template.obj_setter, - xValue_setter:dhtmlx.Template.obj_setter, - yValue_setter:function(config){ - this.define("value",config); - }, - alpha_setter:dhtmlx.Template.obj_setter, - label_setter:dhtmlx.Template.obj_setter, - lineColor_setter:dhtmlx.Template.obj_setter, - borderColor_setter:dhtmlx.Template.obj_setter, - pieInnerText_setter:dhtmlx.Template.obj_setter, - gradient_setter:function(config){ - if((typeof(config)!="function")&&config&&(config === true)) - config = "light"; - return config; - }, - colormap:{ - "RAINBOW":function(obj){ - var pos = Math.floor(this.indexById(obj.id)/this.dataCount()*1536); - if (pos==1536) pos-=1; - return this._rainbow[Math.floor(pos/256)](pos%256); - } - }, - color_setter:function(value){ - return this.colormap[value]||dhtmlx.Template.obj_setter( value); - }, - fill_setter:function(value){ - return ((!value||value==0)?false:dhtmlx.Template.obj_setter( value)); - }, - definePreset:function(obj){ - this.define("preset",obj.preset); - delete obj.preset; - }, - preset_setter:function(value){ - var a, b, preset; - this.defaults = dhtmlx.extend({},this.defaults); - if(typeof dhtmlx.presets.chart[value]=="object"){ - - preset = dhtmlx.presets.chart[value]; - for(a in preset){ - - if(typeof preset[a]=="object"){ - if(!this.defaults[a]||typeof this.defaults[a]!="object"){ - this.defaults[a] = dhtmlx.extend({},preset[a]); - } - else{ - this.defaults[a] = dhtmlx.extend({},this.defaults[a]); - for(b in preset[a]){ - this.defaults[a][b] = preset[a][b]; - } - } - }else{ - this.defaults[a] = preset[a]; - } - } - return value; - } - return false; - }, - legend_setter:function( config){ - if(!config){ - if(this.legendObj){ - this.legendObj.innerHTML = ""; - this.legendObj = null; - } - return false; - } - if(typeof(config)!="object") //allow to use template string instead of object - config={template:config}; - - this._mergeSettings(config,{ - width:150, - height:18, - layout:"y", - align:"left", - valign:"bottom", - template:"", - toggle:(this._settings.view.toLowerCase().indexOf("stacked")!=-1?"":"hide"), - marker:{ - type:"square", - width:15, - height:15, - radius:3 - }, - margin: 4, - padding: 3 - }); - - config.template = dhtmlx.Template.setter(config.template); - return config; - }, - defaults:{ - color:"RAINBOW", - alpha:"1", - label:false, - value:"{obj.value}", - padding:{}, - view:"pie", - lineColor:"#ffffff", - cant:0.5, - width: 30, - labelWidth:100, - line:{ - width:2, - color:"#1293f8" - }, - seriesMargin: 1, - seriesPadding: 4, - item:{ - radius:3, - borderColor:"#636363", - borderWidth:1, - color: "#ffffff", - alpha:1, - type:"r", - shadow:false - }, - shadow:true, - gradient:false, - border:true, - labelOffset: 20, - origin:"auto" - }, - item_setter:function( config){ - if(typeof(config)!="object") - config={color:config, borderColor:config}; - this._mergeSettings(config,dhtmlx.extend({},this.defaults.item)); - var settings = ["alpha","borderColor","color","radius"]; - for(var i=0; i< settings.length; i++) - config[settings[i]] = dhtmlx.Template.setter(config[settings[i]]); - /*config.alpha = dhtmlx.Template.setter(config.alpha); - config.borderColor = dhtmlx.Template.setter(config.borderColor); - config.color = dhtmlx.Template.setter(config.color); - config.radius = dhtmlx.Template.setter(config.radius);*/ - return config; - }, - line_setter:function( config){ - if(typeof(config)!="object") - config={color:config}; - dhtmlx.extend(this.defaults.line,config); - config = dhtmlx.extend({},this.defaults.line); - config.color = dhtmlx.Template.setter(config.color); - return config; - }, - padding_setter:function( config){ - if(typeof(config)!="object") - config={left:config, right:config, top:config, bottom:config}; - this._mergeSettings(config,{ - left:50, - right:20, - top:35, - bottom:40 - }); - return config; - }, - xAxis_setter:function( config){ - if(!config) return false; - if(typeof(config)!="object") - config={ template:config }; - if(!config.value) - config.value = config.template; - this._mergeSettings(config,{ - title:"", - color:"#000000", - lineColor:"#cfcfcf", - template:"{obj}", - value:"{obj}", - lines:true - }); - var templates = ["lineColor","template","lines","value"]; - this._converToTemplate(templates,config); - this._configXAxis = dhtmlx.extend({},config); - return config; - }, - yAxis_setter:function( config){ - if(!config) return false; - this._mergeSettings(config,{ - title:"", - color:"#000000", - lineColor:"#cfcfcf", - template:"{obj}", - lines:true, - bg:"#ffffff" - }); - var templates = ["lineColor","template","lines","bg"]; - this._converToTemplate(templates,config); - this._configYAxis = dhtmlx.extend({},config); - return config; - }, - _converToTemplate:function(arr,config){ - for(var i=0;i< arr.length;i++){ - config[arr[i]] = dhtmlx.Template.setter(config[arr[i]]); - } - }, - _drawScales:function(data,point0,point1,start,end,cellWidth){ - var y = 0; - if(this._settings.yAxis){ - if(! this.canvases["y"]) - this.canvases["y"] = new dhtmlx.ui.Canvas(this._obj,"axis_y"); - y = this._drawYAxis(this.canvases["y"].getCanvas(),data,point0,point1,start,end); - } - if (this._settings.xAxis){ - if(! this.canvases["x"]) - this.canvases["x"] = new dhtmlx.ui.Canvas(this._obj,"axis_x"); - this._drawXAxis(this.canvases["x"].getCanvas(),data,point0,point1,cellWidth,y); - } - return y; - }, - _drawXAxis:function(ctx,data,point0,point1,cellWidth,y){ - var x0 = point0.x-0.5; - var y0 = parseInt((y?y:point1.y),10)+0.5; - var x1 = point1.x; - var unitPos; - var center = true; - var labelY = (this._settings.origin ===0 && this._settings.view=="stackedBar")?point1.y+0.5:y0; - - for(var i=0; i < data.length; i++){ - - if(this._settings.offset === true) - unitPos = x0+cellWidth/2+i*cellWidth; - else{ - unitPos = (i==data.length-1)?point1.x:x0+i*cellWidth; - center = !!i; - } - unitPos = Math.ceil(unitPos)-0.5; - /*scale labels*/ - var top = ((this._settings.origin!="auto")&&(this._settings.view=="bar")&&(parseFloat(this._settings.value(data[i]))5?10:5); - step = parseInt(stepVal,10)*calculStep; - - if(step>Math.abs(nmin)) - start = (nmin<0?-step:0); - else{ - var absNmin = Math.abs(nmin); - var powerStart = Math.floor(this._log10(absNmin)); - var nminVal = absNmin/Math.pow(10,powerStart); - start = Math.ceil(nminVal*10)/10*Math.pow(10,powerStart)-step; - if(absNmin>1&&step>0.1){ - start = Math.ceil(start); - } - while(nmin<0?start<=nmin:start>=nmin) - start -= step; - if(nmin<0) start =-start-2*step; - - } - end = start; - while(end1) - for(var i=1; i < this._series.length;i++){ - var maxI = this.max(this._series[i][value]); - var minI = this.min(this._series[i][value]); - if (maxI > maxValue) maxValue = maxI; - if (minI < minValue) minValue = minI; - } - } - return {max:maxValue,min:minValue}; - }, - _log10:function(n){ - var method_name="log"; - return Math.floor((Math[method_name](n)/Math.LN10)); - }, - _drawXAxisLabel:function(x,y,obj,center,top){ - if (!this._settings.xAxis) return; - var elem = this.canvases["x"].renderTextAt(top, center, x,y-(top?2:0),this._settings.xAxis.template(obj)); - if (elem) - elem.className += " dhx_axis_item_x"; - }, - _drawXAxisLine:function(ctx,x,y1,y2,obj){ - if (!this._settings.xAxis||!this._settings.xAxis.lines) return; - this._drawLine(ctx,x,y1,x,y2,this._settings.xAxis.lineColor.call(this,obj),1); - }, - _drawLine:function(ctx,x1,y1,x2,y2,color,width){ - ctx.strokeStyle = color; - ctx.lineWidth = width; - ctx.beginPath(); - ctx.moveTo(x1,y1); - ctx.lineTo(x2,y2); - ctx.stroke(); - ctx.lineWidth = 1; - }, - _getRelativeValue:function(minValue,maxValue){ - var relValue, origRelValue; - var valueFactor = 1; - if(maxValue != minValue){ - relValue = maxValue - minValue; - /*if(Math.abs(relValue) < 1){ - while(Math.abs(relValue)<1){ - valueFactor *= 10; - relValue = origRelValue* valueFactor; - } - } - */ - } - else relValue = minValue; - return [relValue,valueFactor]; - }, - _rainbow : [ - function(pos){ return "#FF"+dhtmlx.math.toHex(pos/2,2)+"00";}, - function(pos){ return "#FF"+dhtmlx.math.toHex(pos/2+128,2)+"00";}, - function(pos){ return "#"+dhtmlx.math.toHex(255-pos,2)+"FF00";}, - function(pos){ return "#00FF"+dhtmlx.math.toHex(pos,2);}, - function(pos){ return "#00"+dhtmlx.math.toHex(255-pos,2)+"FF";}, - function(pos){ return "#"+dhtmlx.math.toHex(pos,2)+"00FF";} - ], - clearSeries:function(){ - this._series = []; - }, - /** - * adds series to the chart (value and color properties) - * @param: obj - obj with configuration properties - */ - addSeries:function(obj){ - var temp = this._settings; - this._settings = dhtmlx.extend({},temp); - this._parseSettings(obj,{}); - this._series.push(this._settings); - this._settings = temp; - }, - /*switch global settings to serit in question*/ - _switchSerie:function(id, tag, e){ - var tip; - this._active_serie = (this._series.length==1?tag.getAttribute("userdata"):this._getActiveSeries(e)); - - if (!this._series[this._active_serie]) return; - for (var i=0; i < this._series.length; i++) { - tip = this._series[i].tooltip; - if (tip) - tip.disable(); - } - if(!tag.getAttribute("disabled")){ - tip = this._series[this._active_serie].tooltip; - if (tip) - tip.enable(); - } - }, - _getActiveSeries: function(e){ - var a, areas, i, offset, pos, selection, x, y; - - areas = this._map._areas; - offset = dhtmlx.html.offset(this._obj._htmlmap); - pos = dhtmlx.html.pos(e); - x = pos.x - offset.x; - y = pos.y - offset.y; - - for( i = 0; i < areas.length; i++){ - a = areas[i].points; - if(x <= a[2] && x >= a[0] && y <= a[3] && y >= a[1]){ - if(selection){ - if(areas[i].index > selection.index) - selection = areas[i]; - } - else - selection = areas[i]; - } - } - - return selection?selection.index:0; - }, - hideSeries:function(series){ - this.canvases[series].hideCanvas(); - if(this._settings.legend.values&&this._settings.legend.values[series]) - this._settings.legend.values[series].$hidden = true; - this._drawLegend(); - }, - showSeries:function(series){ - this.canvases[series].showCanvas(); - if(this._settings.legend.values&&this._settings.legend.values[series]) - delete this._settings.legend.values[series].$hidden; - this._drawLegend(); - - }, - _changeColorSV:function(color,s,v){ - var hsv,rgb; - rgb = dhtmlx.math.toRgb(color); - hsv = dhtmlx.math.rgbToHsv(rgb[0],rgb[1],rgb[2]); - hsv[1] *= s; - hsv[2] *= v; - return "rgb("+dhtmlx.math.hsvToRgb(hsv[0],hsv[1],hsv[2])+")"; - - }, - _setBorderStyles:function(ctx,color){ - var hsv,rgb; - rgb = dhtmlx.math.toRgb(color); - hsv = dhtmlx.math.rgbToHsv(rgb[0],rgb[1],rgb[2]); - hsv[2] /= 2; - color = "rgb("+dhtmlx.math.hsvToRgb(hsv[0],hsv[1],hsv[2])+")"; - ctx.strokeStyle = color; - if(ctx.globalAlpha==1) - ctx.globalAlpha = 0.9; - }, - /** - * renders legend block - * @param: ctx - canvas object - * @param: data - object those need to be displayed - * @param: width - the width of the container - * @param: height - the height of the container - */ - _drawLegend:function(data,width){ - var i, legend, legendContainer, legendHeight, legendItems, legendWidth, style, x=0, y= 0, ctx, itemColor, disabled, item; - - data = data||[]; - width = width||this._obj.offsetWidth; - ctx = this.canvases["legend"].getCanvas(); - /*legend config*/ - legend = this._settings.legend; - - style = (this._settings.legend.layout!="x"?"width:"+legend.width+"px":""); - /*creation of legend container*/ - if(this.legendObj){ - this.legendObj.innerHTML = ""; - this.legendObj.parentNode.removeChild(this.legendObj); - } - - this.canvases["legend"].clearCanvas(true); - legendContainer = dhtmlx.html.create("DIV",{ - "class":"dhx_chart_legend", - "style":"left:"+x+"px; top:"+y+"px;"+style - },""); - if(legend.padding){ - legendContainer.style.padding = legend.padding+"px"; - } - this.legendObj = legendContainer; - this._obj.appendChild(legendContainer); - /*rendering legend text items*/ - legendItems = []; - if(!legend.values) - for(i = 0; i < data.length; i++){ - legendItems.push(this._drawLegendText(legendContainer,legend.template(data[i]))); - } - else - for(i = 0; i < legend.values.length; i++){ - legendItems.push(this._drawLegendText(legendContainer,legend.values[i].text,(typeof legend.values[i].id!="undefined"?typeof legend.values[i].id:i),legend.values[i].$hidden)); - } - legendWidth = legendContainer.offsetWidth; - legendHeight = legendContainer.offsetHeight; - /*this._settings.legend.width = legendWidth; - this._settings.legend.height = legendHeight;*/ - - /*setting legend position*/ - if(legendWidth2) - text.setAttribute("series_id",series); - cont.appendChild(text); - return text; - }, - /** - * draw legend colorful marder - * @param: ctx - canvas object - * @param: x - the horizontal position of the marker - * @param: y - the vertical position of the marker - * @param: color - marker color - * @param: height - item height - * @param: disabled - disabled staet - * @param: i - index of legend item - */ - _drawLegendMarker:function(ctx,x,y,color,height,disabled,i){ - var p = []; - var marker = this._settings.legend.marker; - var values = this._settings.legend.values; - var type = (values&&values[i].markerType?values[i].markerType:marker.type); - - if(color){ - ctx.fillStyle = color; - ctx.strokeStyle = this._getDarkenColor(color,0.75); - } - ctx.beginPath(); - if(type=="round"||!marker.radius){ - ctx.lineWidth = marker.height; - ctx.lineCap = type; - /*start of marker*/ - x += ctx.lineWidth/2+5; - y += height/2; - ctx.moveTo(x,y); - var x1 = x + marker.width-marker.height +1; - ctx.lineTo(x1,y); - - }else if(type=="item"){ - /*copy of line*/ - if(this._settings.line&&this._settings.view != "scatter" && !this._settings.disableLines){ - ctx.beginPath(); - ctx.lineWidth = this._series[i].line.width; - ctx.strokeStyle = disabled?color:this._series[i].line.color.call(this,{}); - var x0 = x + 5; - var y0 = y + height/2; - ctx.moveTo(x0,y0); - var x1 = x0 + marker.width; - ctx.lineTo(x1,y0); - ctx.stroke(); - } - /*item copy*/ - - - var config = this._series[i].item; - var radius = parseInt(config.radius.call(this,{}),10)||0; - if(radius){ - if(config.type == "image" && config.src){ - this._drawImage(ctx,x+5,y+marker.height/2-5,config.src,radius*2, radius*2); - return; - } - else{ - ctx.beginPath(); - if(disabled){ - ctx.lineWidth = config.borderWidth; - ctx.strokeStyle = color; - ctx.fillStyle = color; - } - else{ - ctx.lineWidth = config.borderWidth; - ctx.fillStyle = config.color.call(this,{}); - ctx.strokeStyle = config.borderColor.call(this,{}); - ctx.globalAlpha = config.alpha.call(this,{}); - } - ctx.beginPath(); - x += marker.width/2+5; - y += height/2; - this._strokeChartItem(ctx,x,y,radius+1,config.type); - ctx.fill(); - ctx.stroke(); - } - - } - ctx.globalAlpha = 1; - }else{ - ctx.lineWidth = 1; - x += 5; - y += parseInt(height/2-marker.height/2,10); - - p = [ - [x+marker.radius,y+marker.radius,marker.radius,Math.PI,3*Math.PI/2,false], - [x+marker.width-marker.radius,y], - [x+marker.width-marker.radius,y+marker.radius,marker.radius,-Math.PI/2,0,false], - [x+marker.width,y+marker.height-marker.radius], - [x+marker.width-marker.radius,y+marker.height-marker.radius,marker.radius,0,Math.PI/2,false], - [x+marker.radius,y+marker.height], - [x+marker.radius,y+marker.height-marker.radius,marker.radius,Math.PI/2,Math.PI,false], - [x,y+marker.radius] - ]; - this._path(ctx,p); - } - - ctx.stroke(); - ctx.fill(); - - }, - _getDarkenColor:function(color,darken){ - var hsv,rgb; - rgb = dhtmlx.math.toRgb(color); - hsv = dhtmlx.math.rgbToHsv(rgb[0],rgb[1],rgb[2]); - hsv[2] = hsv[2]*darken; - return "rgb("+dhtmlx.math.hsvToRgb(hsv[0],hsv[1],hsv[2])+")"; - }, - /** - * gets the points those represent chart left top and right bottom bounds - * @param: width - the width of the chart container - * @param: height - the height of the chart container - */ - _getChartBounds:function(width,height){ - var chartX0, chartY0, chartX1, chartY1; - - chartX0 = this._settings.padding.left; - chartY0 = this._settings.padding.top; - chartX1 = width - this._settings.padding.right; - chartY1 = height - this._settings.padding.bottom; - - if(this._settings.legend){ - var legend = this._settings.legend; - /*legend size*/ - var legendWidth = this._settings.legend.width; - var legendHeight = this._settings.legend.height; - - /*if legend is horizontal*/ - if(legend.layout == "x"){ - if(legend.valign == "center"){ - if(legend.align == "right") - chartX1 -= legendWidth; - else if(legend.align == "left") - chartX0 += legendWidth; - } - else if(legend.valign == "bottom"){ - chartY1 -= legendHeight; - } - else{ - chartY0 += legendHeight; - } - } - /*vertical scale*/ - else{ - if(legend.align == "right") - chartX1 -= legendWidth; - else if(legend.align == "left") - chartX0 += legendWidth; - } - } - return {start:{x:chartX0,y:chartY0},end:{x:chartX1,y:chartY1}}; - }, - /** - * gets the maximum and minimum values for the stacked chart - * @param: data - data set - */ - _getStackedLimits:function(data){ - var i, j, maxValue, minValue, value; - if(this._settings.yAxis&&(typeof this._settings.yAxis.end!="undefined")&&(typeof this._settings.yAxis.start!="undefined")&&this._settings.yAxis.step){ - maxValue = parseFloat(this._settings.yAxis.end); - minValue = parseFloat(this._settings.yAxis.start); - } - else{ - for(i=0; i < data.length; i++){ - data[i].$sum = 0 ; - data[i].$min = Infinity; - for(j =0; j < this._series.length;j++){ - value = parseFloat(this._series[j].value(data[i])||0); - if(isNaN(value)) continue; - if(this._series[j].view.toLowerCase().indexOf("stacked")!=-1) - data[i].$sum += value; - if(value < data[i].$min) data[i].$min = value; - } - } - maxValue = -Infinity; - minValue = Infinity; - for(i=0; i < data.length; i++){ - if (data[i].$sum > maxValue) maxValue = data[i].$sum ; - if (data[i].$min < minValue) minValue = data[i].$min ; - } - if(minValue>0) minValue =0; - } - return {max: maxValue, min: minValue}; - }, - /*adds colors to the gradient object*/ - _setBarGradient:function(ctx,x1,y1,x2,y2,type,color,axis){ - var gradient, offset, rgb, hsv, color0, stops; - if(type == "light"){ - if(axis == "x") - gradient = ctx.createLinearGradient(x1,y1,x2,y1); - else - gradient = ctx.createLinearGradient(x1,y1,x1,y2); - stops = [[0,"#FFFFFF"],[0.9,color],[1,color]]; - offset = 2; - } - else if(type == "falling"||type == "rising"){ - if(axis == "x") - gradient = ctx.createLinearGradient(x1,y1,x2,y1); - else - gradient = ctx.createLinearGradient(x1,y1,x1,y2); - rgb = dhtmlx.math.toRgb(color); - hsv = dhtmlx.math.rgbToHsv(rgb[0],rgb[1],rgb[2]); - hsv[1] *= 1/2; - color0 = "rgb("+dhtmlx.math.hsvToRgb(hsv[0],hsv[1],hsv[2])+")"; - if(type == "falling"){ - stops = [[0,color0],[0.7,color],[1,color]]; - } - else if(type == "rising"){ - stops = [[0,color],[0.3,color],[1,color0]]; - } - offset = 0; - } - else{ - ctx.globalAlpha = 0.37; - offset = 0; - if(axis == "x") - gradient = ctx.createLinearGradient(x1,y2,x1,y1); - else - gradient = ctx.createLinearGradient(x1,y1,x2,y1); - stops = [[0,"#9d9d9d"],[0.3,"#e8e8e8"],[0.45,"#ffffff"],[0.55,"#ffffff"],[0.7,"#e8e8e8"],[1,"#9d9d9d"]]; - } - this._gradient(gradient,stops); - return {gradient:gradient,offset:offset}; - }, - /** - * returns the x and y position - * @param: a - angle - * @param: x - start x position - * @param: y - start y position - * @param: r - destination to the point - */ - _getPositionByAngle:function(a,x,y,r){ - a *= (-1); - x = x+Math.cos(a)*r; - y = y-Math.sin(a)*r; - return {x:x,y:y}; - }, - _gradient:function(gradient,stops){ - for(var i=0; i< stops.length; i++){ - gradient.addColorStop(stops[i][0],stops[i][1]); - } - }, - _path: function(ctx,points){ - var i, method; - for(i = 0; i< points.length; i++){ - method = (i?"lineTo":"moveTo"); - if(points[i].length>2) - method = "arc"; - ctx[method].apply(ctx,points[i]); - } - }, - _circle: function(ctx,x,y,r){ - ctx.arc(x,y,r,Math.PI*2,true); - }, - _addMapRect:function(map,id,points,bounds,sIndex){ - map.addRect(id,[points[0].x-bounds.x,points[0].y-bounds.y,points[1].x-bounds.x,points[1].y-bounds.y],sIndex); - } -}; - -dhtmlx.compat("layout"); - -if (typeof(window.dhtmlXCellObject) != "undefined") { - - dhtmlXCellObject.prototype.attachChart = function(conf) { - - this.callEvent("_onBeforeContentAttach",["chart"]); - - var obj = document.createElement("DIV"); - obj.id = "dhxChartObj_"+window.dhx4.newId(); - obj.style.width = "100%"; - obj.style.height = "100%"; - document.body.appendChild(obj); - this._attachObject(obj); - - conf.container = obj.id; - - this.dataType = "chart"; - this.dataObj = new dhtmlXChart(conf); - - if (!this.dataObj.setSizes) { - this.dataObj.setSizes = function() { - if (this.resize) this.resize(); else this.render(); - }; - } - - return this.dataObj; - }; - -} - diff --git a/themes/sources/dhtmlxChart/codebase/skins/dhtmlxchart_dhx_skyblue.css b/themes/sources/dhtmlxChart/codebase/skins/dhtmlxchart_dhx_skyblue.css deleted file mode 100644 index 3d4d398..0000000 --- a/themes/sources/dhtmlxChart/codebase/skins/dhtmlxchart_dhx_skyblue.css +++ /dev/null @@ -1,124 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: dhx_skyblue - include extra file: skins/dhx_skyblue.less -*/ - -.dhx_tooltip { - display: none; - position: absolute; - font-family: Tahoma, Helvetica; - color: #626262; - font-size: 11px; - z-index: 10000; - padding: 4px 10px 4px 10px; - border: 1px solid #fff; - border-radius: 3px; - -moz-border-radius: 3px; - -webkit-border-radius: 3px; - -moz-box-shadow: 0 0 3px #d9d9d9; - -webkit-box-shadow: 0 0 3px #d9d9d9; - text-shadow: 0px 1px 1px #fff; - box-shadow: 0 0 5px #d9d9d9; - background: -webkit-gradient(linear,left top,left bottom,color-stop(0,#efefef),color-stop(0.5,#f6f6f6),color-stop(1,#efefef)); - background: -o-linear-gradient(#efefef 0%,#f6f6f6 50%,#efefef 100%); - background: -ms-linear-gradient(#efefef 0%,#f6f6f6 50%,#efefef 100%); - background: -moz-linear-gradient(#efefef 0%,#f6f6f6 50%,#efefef 100%); - background: #efefef; -} -.dhx_chart { - position: relative; - font-family: Tahoma, Helvetica; - font-size: 11px; - color: black; - overflow: hidden; - z-index: 0; -} -.dhx_chart canvas { - position: absolute; - left: 0; - top: 0; -} -.dhx_canvas_text { - position: absolute; - text-align: center; - overflow: hidden; - white-space: nowrap; - z-index: 1000; -} -.dhx_map_img { - width: 100%; - height: 100%; - position: absolute; - top: 0px; - left: 0px; - border: 0px; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); - opacity: 0; -} -.dhx_axis_item_y { - position: absolute; - height: 18px; - line-height: 18px; - margin-top: -4px; - text-align: right; -} -.dhx_axis_title_x { - text-align: center; -} -.dhx_axis_title_y { - text-align: center; - font-family: Tahoma, Helvetica; - -webkit-transform: rotate(-90deg); - -moz-transform: rotate(-90deg); - -o-transform: rotate(-90deg); - -ms-transform: rotate(-90deg); - transform: rotate(-90deg); - height: 18px; - line-height: 18px; - font-size: 11px; -} -.dhx_ie_filter { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); - zoom: 1; - font-family: serif; -} -.dhx_chart_legend { - position: absolute; - z-index: 1000; -} -.dhx_chart_legend_item { - height: 18px; - line-height: 18px; - padding: 2px; - cursor: pointer; -} -.dhx_chart_legend_item.hidden { - color: #aaa; -} -.dhx_axis_item_y.dhx_radar { - color: #666; - font-size: 12px; - padding-right: 3px; - height: 13px; - line-height: 13px; - margin-top: 0px; -} -.dhx_canvas_text.dhx_axis_radar_title { - margin-top: 0px; - padding-top: 0px; -} -.dhx_axis_item_y, -.dhx_axis_item_x { - color: #666; -} -.dhx_axis_item_x { - padding-top: 2px; -} diff --git a/themes/sources/dhtmlxChart/codebase/skins/dhtmlxchart_dhx_terrace.css b/themes/sources/dhtmlxChart/codebase/skins/dhtmlxchart_dhx_terrace.css deleted file mode 100644 index b72f632..0000000 --- a/themes/sources/dhtmlxChart/codebase/skins/dhtmlxchart_dhx_terrace.css +++ /dev/null @@ -1,124 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: dhx_terrace - include extra file: skins/dhx_terrace.less -*/ - -.dhx_tooltip { - display: none; - position: absolute; - font-family: Arial, Helvetica; - color: #626262; - font-size: 13px; - z-index: 10000; - padding: 4px 10px 4px 10px; - border: 1px solid #fff; - border-radius: 3px; - -moz-border-radius: 3px; - -webkit-border-radius: 3px; - -moz-box-shadow: 0 0 3px #d9d9d9; - -webkit-box-shadow: 0 0 3px #d9d9d9; - text-shadow: 0px 1px 1px #fff; - box-shadow: 0 0 5px #d9d9d9; - background: -webkit-gradient(linear,left top,left bottom,color-stop(0,#efefef),color-stop(0.5,#f6f6f6),color-stop(1,#efefef)); - background: -o-linear-gradient(#efefef 0%,#f6f6f6 50%,#efefef 100%); - background: -ms-linear-gradient(#efefef 0%,#f6f6f6 50%,#efefef 100%); - background: -moz-linear-gradient(#efefef 0%,#f6f6f6 50%,#efefef 100%); - background: #efefef; -} -.dhx_chart { - position: relative; - font-family: Arial, Helvetica; - font-size: 13px; - color: black; - overflow: hidden; - z-index: 0; -} -.dhx_chart canvas { - position: absolute; - left: 0; - top: 0; -} -.dhx_canvas_text { - position: absolute; - text-align: center; - overflow: hidden; - white-space: nowrap; - z-index: 1000; -} -.dhx_map_img { - width: 100%; - height: 100%; - position: absolute; - top: 0px; - left: 0px; - border: 0px; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); - opacity: 0; -} -.dhx_axis_item_y { - position: absolute; - height: 18px; - line-height: 18px; - margin-top: -4px; - text-align: right; -} -.dhx_axis_title_x { - text-align: center; -} -.dhx_axis_title_y { - text-align: center; - font-family: Arial, Helvetica; - -webkit-transform: rotate(-90deg); - -moz-transform: rotate(-90deg); - -o-transform: rotate(-90deg); - -ms-transform: rotate(-90deg); - transform: rotate(-90deg); - height: 18px; - line-height: 18px; - font-size: 13px; -} -.dhx_ie_filter { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); - zoom: 1; - font-family: serif; -} -.dhx_chart_legend { - position: absolute; - z-index: 1000; -} -.dhx_chart_legend_item { - height: 18px; - line-height: 18px; - padding: 2px; - cursor: pointer; -} -.dhx_chart_legend_item.hidden { - color: #aaa; -} -.dhx_axis_item_y.dhx_radar { - color: #666; - font-size: 12px; - padding-right: 3px; - height: 13px; - line-height: 13px; - margin-top: 0px; -} -.dhx_canvas_text.dhx_axis_radar_title { - margin-top: 0px; - padding-top: 0px; -} -.dhx_axis_item_y, -.dhx_axis_item_x { - color: #666; -} -.dhx_axis_item_x { - padding-top: 2px; -} diff --git a/themes/sources/dhtmlxChart/codebase/skins/dhtmlxchart_dhx_web.css b/themes/sources/dhtmlxChart/codebase/skins/dhtmlxchart_dhx_web.css deleted file mode 100644 index fe043d6..0000000 --- a/themes/sources/dhtmlxChart/codebase/skins/dhtmlxchart_dhx_web.css +++ /dev/null @@ -1,124 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: dhx_web - include extra file: skins/dhx_web.less -*/ - -.dhx_tooltip { - display: none; - position: absolute; - font-family: Tahoma, Helvetica; - color: #626262; - font-size: 12px; - z-index: 10000; - padding: 4px 10px 4px 10px; - border: 1px solid #fff; - border-radius: 3px; - -moz-border-radius: 3px; - -webkit-border-radius: 3px; - -moz-box-shadow: 0 0 3px #d9d9d9; - -webkit-box-shadow: 0 0 3px #d9d9d9; - text-shadow: 0px 1px 1px #fff; - box-shadow: 0 0 5px #d9d9d9; - background: -webkit-gradient(linear,left top,left bottom,color-stop(0,#efefef),color-stop(0.5,#f6f6f6),color-stop(1,#efefef)); - background: -o-linear-gradient(#efefef 0%,#f6f6f6 50%,#efefef 100%); - background: -ms-linear-gradient(#efefef 0%,#f6f6f6 50%,#efefef 100%); - background: -moz-linear-gradient(#efefef 0%,#f6f6f6 50%,#efefef 100%); - background: #efefef; -} -.dhx_chart { - position: relative; - font-family: Tahoma, Helvetica; - font-size: 12px; - color: #000000; - overflow: hidden; - z-index: 0; -} -.dhx_chart canvas { - position: absolute; - left: 0; - top: 0; -} -.dhx_canvas_text { - position: absolute; - text-align: center; - overflow: hidden; - white-space: nowrap; - z-index: 1000; -} -.dhx_map_img { - width: 100%; - height: 100%; - position: absolute; - top: 0px; - left: 0px; - border: 0px; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); - opacity: 0; -} -.dhx_axis_item_y { - position: absolute; - height: 18px; - line-height: 18px; - margin-top: -4px; - text-align: right; -} -.dhx_axis_title_x { - text-align: center; -} -.dhx_axis_title_y { - text-align: center; - font-family: Tahoma, Helvetica; - -webkit-transform: rotate(-90deg); - -moz-transform: rotate(-90deg); - -o-transform: rotate(-90deg); - -ms-transform: rotate(-90deg); - transform: rotate(-90deg); - height: 18px; - line-height: 18px; - font-size: 12px; -} -.dhx_ie_filter { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); - zoom: 1; - font-family: serif; -} -.dhx_chart_legend { - position: absolute; - z-index: 1000; -} -.dhx_chart_legend_item { - height: 18px; - line-height: 18px; - padding: 2px; - cursor: pointer; -} -.dhx_chart_legend_item.hidden { - color: #aaa; -} -.dhx_axis_item_y.dhx_radar { - color: #666; - font-size: 12px; - padding-right: 3px; - height: 13px; - line-height: 13px; - margin-top: 0px; -} -.dhx_canvas_text.dhx_axis_radar_title { - margin-top: 0px; - padding-top: 0px; -} -.dhx_axis_item_y, -.dhx_axis_item_x { - color: #666; -} -.dhx_axis_item_x { - padding-top: 2px; -} diff --git a/themes/sources/dhtmlxChart/codebase/skins/dhtmlxchart_material.css b/themes/sources/dhtmlxChart/codebase/skins/dhtmlxchart_material.css deleted file mode 100644 index ec914f6..0000000 --- a/themes/sources/dhtmlxChart/codebase/skins/dhtmlxchart_material.css +++ /dev/null @@ -1,141 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: material - include extra file: skins/material.less -*/ - -@keyframes dhx_loader_rotate { - 100% { - transform: rotate(360deg); - } -} -@keyframes dhx_loader_dash { - 0% { - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - } - 50% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -35px; - } - 100% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -124px; - } -} -.dhx_tooltip { - display: none; - position: absolute; - color: #626262; - z-index: 10000; - padding: 4px 10px 4px 10px; - border: 1px solid #fff; - border-radius: 2px; - text-shadow: 0px 1px 1px #fff; - box-shadow: 0 0 5px #d9d9d9; - background: -webkit-gradient(linear,left top,left bottom,color-stop(0,#efefef),color-stop(0.5,#f6f6f6),color-stop(1,#efefef)); - background: -o-linear-gradient(#efefef 0%,#f6f6f6 50%,#efefef 100%); - background: -ms-linear-gradient(#efefef 0%,#f6f6f6 50%,#efefef 100%); - background: -moz-linear-gradient(#efefef 0%,#f6f6f6 50%,#efefef 100%); - background: #efefef; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -.dhx_chart { - position: relative; - font-family: Roboto, Arial, Helvetica; - font-size: 14px; - color: #404040; - overflow: hidden; - z-index: 0; -} -.dhx_chart canvas { - position: absolute; - left: 0; - top: 0; -} -.dhx_canvas_text { - position: absolute; - text-align: center; - overflow: hidden; - white-space: nowrap; - z-index: 1000; -} -.dhx_map_img { - width: 100%; - height: 100%; - position: absolute; - top: 0px; - left: 0px; - border: 0px; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhx_axis_item_y { - position: absolute; - height: 18px; - line-height: 18px; - margin-top: -4px; - text-align: right; -} -.dhx_axis_title_x { - text-align: center; -} -.dhx_axis_title_y { - text-align: center; - height: 18px; - line-height: 18px; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; - -webkit-transform: rotate(-90deg); - -moz-transform: rotate(-90deg); - -ms-transform: rotate(-90deg); - -o-transform: rotate(-90deg); - transform: rotate(-90deg); -} -.dhx_ie_filter { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); - zoom: 1; - font-family: serif; -} -.dhx_chart_legend { - position: absolute; - z-index: 1000; -} -.dhx_chart_legend_item { - height: 18px; - line-height: 18px; - padding: 2px; - cursor: pointer; -} -.dhx_chart_legend_item.hidden { - color: #aaa; -} -.dhx_axis_item_y.dhx_radar { - color: #404040; - font-size: 12px; - padding-right: 3px; - height: 13px; - line-height: 13px; - margin-top: 0px; -} -.dhx_canvas_text.dhx_axis_radar_title { - margin-top: 0px; - padding-top: 0px; -} -.dhx_axis_item_y, -.dhx_axis_item_x { - color: #404040; -} -.dhx_axis_item_x { - padding-top: 2px; -} diff --git a/themes/sources/dhtmlxChart/codebase/thirdparty/excanvas/AUTHORS b/themes/sources/dhtmlxChart/codebase/thirdparty/excanvas/AUTHORS deleted file mode 100644 index f3348aa..0000000 --- a/themes/sources/dhtmlxChart/codebase/thirdparty/excanvas/AUTHORS +++ /dev/null @@ -1,10 +0,0 @@ -ExplorerCanvas - -Google Open Source: - - - -Developers: - Emil A Eklund - Erik Arvidsson - Glen Murphy \ No newline at end of file diff --git a/themes/sources/dhtmlxChart/codebase/thirdparty/excanvas/COPYING b/themes/sources/dhtmlxChart/codebase/thirdparty/excanvas/COPYING deleted file mode 100644 index d645695..0000000 --- a/themes/sources/dhtmlxChart/codebase/thirdparty/excanvas/COPYING +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/themes/sources/dhtmlxChart/codebase/thirdparty/excanvas/README b/themes/sources/dhtmlxChart/codebase/thirdparty/excanvas/README deleted file mode 100644 index 9e8268b..0000000 --- a/themes/sources/dhtmlxChart/codebase/thirdparty/excanvas/README +++ /dev/null @@ -1,22 +0,0 @@ -ExplorerCanvas -Copyright 2006 Google Inc. - -------------------------------------------------------------------------------- -DESCRIPTION - -Firefox, Safari and Opera 9 support the canvas tag to allow 2D command-based -drawing operations. ExplorerCanvas brings the same functionality to Internet -Explorer; web developers only need to include a single script tag in their -existing canvas webpages to enable this support. - - -------------------------------------------------------------------------------- -INSTALLATION - -Include the ExplorerCanvas tag in the same directory as your HTML files, and -add the following code to your page, preferably in the tag. - - - -If you run into trouble, please look at the included example code to see how -to best implement this \ No newline at end of file diff --git a/themes/sources/dhtmlxChart/codebase/thirdparty/excanvas/excanvas.js b/themes/sources/dhtmlxChart/codebase/thirdparty/excanvas/excanvas.js deleted file mode 100644 index 3fe46d3..0000000 --- a/themes/sources/dhtmlxChart/codebase/thirdparty/excanvas/excanvas.js +++ /dev/null @@ -1,927 +0,0 @@ -// Copyright 2006 Google Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - - -// Known Issues: -// -// * Patterns are not implemented. -// * Radial gradient are not implemented. The VML version of these look very -// different from the canvas one. -// * Clipping paths are not implemented. -// * Coordsize. The width and height attribute have higher priority than the -// width and height style values which isn't correct. -// * Painting mode isn't implemented. -// * Canvas width/height should is using content-box by default. IE in -// Quirks mode will draw the canvas using border-box. Either change your -// doctype to HTML5 -// (http://www.whatwg.org/specs/web-apps/current-work/#the-doctype) -// or use Box Sizing Behavior from WebFX -// (http://webfx.eae.net/dhtml/boxsizing/boxsizing.html) -// * Non uniform scaling does not correctly scale strokes. -// * Optimize. There is always room for speed improvements. - -// Only add this code if we do not already have a canvas implementation -if (!document.createElement('canvas').getContext) { - -(function() { - - // alias some functions to make (compiled) code shorter - var m = Math; - var mr = m.round; - var ms = m.sin; - var mc = m.cos; - var abs = m.abs; - var sqrt = m.sqrt; - - // this is used for sub pixel precision - var Z = 10; - var Z2 = Z / 2; - - /** - * This funtion is assigned to the elements as element.getContext(). - * @this {HTMLElement} - * @return {CanvasRenderingContext2D_} - */ - function getContext() { - return this.context_ || - (this.context_ = new CanvasRenderingContext2D_(this)); - } - - var slice = Array.prototype.slice; - - /** - * Binds a function to an object. The returned function will always use the - * passed in {@code obj} as {@code this}. - * - * Example: - * - * g = bind(f, obj, a, b) - * g(c, d) // will do f.call(obj, a, b, c, d) - * - * @param {Function} f The function to bind the object to - * @param {Object} obj The object that should act as this when the function - * is called - * @param {*} var_args Rest arguments that will be used as the initial - * arguments when the function is called - * @return {Function} A new function that has bound this - */ - function bind(f, obj, var_args) { - var a = slice.call(arguments, 2); - return function() { - return f.apply(obj, a.concat(slice.call(arguments))); - }; - } - - var G_vmlCanvasManager_ = { - init: function(opt_doc) { - if (/MSIE/.test(navigator.userAgent) && !window.opera) { - var doc = opt_doc || document; - // Create a dummy element so that IE will allow canvas elements to be - // recognized. - doc.createElement('canvas'); - doc.attachEvent('onreadystatechange', bind(this.init_, this, doc)); - } - }, - - init_: function(doc) { - // create xmlns - if (!doc.namespaces['g_vml_']) { - doc.namespaces.add('g_vml_', 'urn:schemas-microsoft-com:vml', - '#default#VML'); - - } - if (!doc.namespaces['g_o_']) { - doc.namespaces.add('g_o_', 'urn:schemas-microsoft-com:office:office', - '#default#VML'); - } - - // Setup default CSS. Only add one style sheet per document - if (!doc.styleSheets['ex_canvas_']) { - var ss = doc.createStyleSheet(); - ss.owningElement.id = 'ex_canvas_'; - ss.cssText = 'canvas{display:inline-block;overflow:hidden;' + - // default size is 300x150 in Gecko and Opera - 'text-align:left;width:300px;height:150px}' + - 'g_vml_\\:*{behavior:url(#default#VML)}' + - 'g_o_\\:*{behavior:url(#default#VML)}'; - - } - - // find all canvas elements - var els = doc.getElementsByTagName('canvas'); - for (var i = 0; i < els.length; i++) { - this.initElement(els[i]); - } - }, - - /** - * Public initializes a canvas element so that it can be used as canvas - * element from now on. This is called automatically before the page is - * loaded but if you are creating elements using createElement you need to - * make sure this is called on the element. - * @param {HTMLElement} el The canvas element to initialize. - * @return {HTMLElement} the element that was created. - */ - initElement: function(el) { - if (!el.getContext) { - - el.getContext = getContext; - - // Remove fallback content. There is no way to hide text nodes so we - // just remove all childNodes. We could hide all elements and remove - // text nodes but who really cares about the fallback content. - el.innerHTML = ''; - - // do not use inline function because that will leak memory - el.attachEvent('onpropertychange', onPropertyChange); - el.attachEvent('onresize', onResize); - - var attrs = el.attributes; - if (attrs.width && attrs.width.specified) { - // TODO: use runtimeStyle and coordsize - // el.getContext().setWidth_(attrs.width.nodeValue); - el.style.width = attrs.width.nodeValue + 'px'; - } else { - el.width = el.clientWidth; - } - if (attrs.height && attrs.height.specified) { - // TODO: use runtimeStyle and coordsize - // el.getContext().setHeight_(attrs.height.nodeValue); - el.style.height = attrs.height.nodeValue + 'px'; - } else { - el.height = el.clientHeight; - } - //el.getContext().setCoordsize_() - } - return el; - } - }; - - function onPropertyChange(e) { - var el = e.srcElement; - - switch (e.propertyName) { - case 'width': - el.style.width = el.attributes.width.nodeValue + 'px'; - el.getContext().clearRect(); - break; - case 'height': - el.style.height = el.attributes.height.nodeValue + 'px'; - el.getContext().clearRect(); - break; - } - } - - function onResize(e) { - var el = e.srcElement; - if (el.firstChild) { - el.firstChild.style.width = el.clientWidth + 'px'; - el.firstChild.style.height = el.clientHeight + 'px'; - } - } - - G_vmlCanvasManager_.init(); - - // precompute "00" to "FF" - var dec2hex = []; - for (var i = 0; i < 16; i++) { - for (var j = 0; j < 16; j++) { - dec2hex[i * 16 + j] = i.toString(16) + j.toString(16); - } - } - - function createMatrixIdentity() { - return [ - [1, 0, 0], - [0, 1, 0], - [0, 0, 1] - ]; - } - - function matrixMultiply(m1, m2) { - var result = createMatrixIdentity(); - - for (var x = 0; x < 3; x++) { - for (var y = 0; y < 3; y++) { - var sum = 0; - - for (var z = 0; z < 3; z++) { - sum += m1[x][z] * m2[z][y]; - } - - result[x][y] = sum; - } - } - return result; - } - - function copyState(o1, o2) { - o2.fillStyle = o1.fillStyle; - o2.lineCap = o1.lineCap; - o2.lineJoin = o1.lineJoin; - o2.lineWidth = o1.lineWidth; - o2.miterLimit = o1.miterLimit; - o2.shadowBlur = o1.shadowBlur; - o2.shadowColor = o1.shadowColor; - o2.shadowOffsetX = o1.shadowOffsetX; - o2.shadowOffsetY = o1.shadowOffsetY; - o2.strokeStyle = o1.strokeStyle; - o2.globalAlpha = o1.globalAlpha; - o2.arcScaleX_ = o1.arcScaleX_; - o2.arcScaleY_ = o1.arcScaleY_; - o2.lineScale_ = o1.lineScale_; - } - - function processStyle(styleString) { - var str, alpha = 1; - - styleString = String(styleString); - if (styleString.substring(0, 3) == 'rgb') { - var start = styleString.indexOf('(', 3); - var end = styleString.indexOf(')', start + 1); - var guts = styleString.substring(start + 1, end).split(','); - - str = '#'; - for (var i = 0; i < 3; i++) { - str += dec2hex[Number(guts[i])]; - } - - if (guts.length == 4 && styleString.substr(3, 1) == 'a') { - alpha = guts[3]; - } - } else { - str = styleString; - } - - return {color: str, alpha: alpha}; - } - - function processLineCap(lineCap) { - switch (lineCap) { - case 'butt': - return 'flat'; - case 'round': - return 'round'; - case 'square': - default: - return 'square'; - } - } - - /** - * This class implements CanvasRenderingContext2D interface as described by - * the WHATWG. - * @param {HTMLElement} surfaceElement The element that the 2D context should - * be associated with - */ - function CanvasRenderingContext2D_(surfaceElement) { - this.m_ = createMatrixIdentity(); - - this.mStack_ = []; - this.aStack_ = []; - this.currentPath_ = []; - - // Canvas context properties - this.strokeStyle = '#000'; - this.fillStyle = '#000'; - - this.lineWidth = 1; - this.lineJoin = 'miter'; - this.lineCap = 'butt'; - this.miterLimit = Z * 1; - this.globalAlpha = 1; - this.canvas = surfaceElement; - - var el = surfaceElement.ownerDocument.createElement('div'); - el.style.width = surfaceElement.clientWidth + 'px'; - el.style.height = surfaceElement.clientHeight + 'px'; - el.style.overflow = 'hidden'; - el.style.position = 'absolute'; - surfaceElement.appendChild(el); - - this.element_ = el; - this.arcScaleX_ = 1; - this.arcScaleY_ = 1; - this.lineScale_ = 1; - } - - var contextPrototype = CanvasRenderingContext2D_.prototype; - contextPrototype.clearRect = function() { - this.element_.innerHTML = ''; - }; - - contextPrototype.beginPath = function() { - // TODO: Branch current matrix so that save/restore has no effect - // as per safari docs. - this.currentPath_ = []; - }; - - contextPrototype.moveTo = function(aX, aY) { - var p = this.getCoords_(aX, aY); - this.currentPath_.push({type: 'moveTo', x: p.x, y: p.y}); - this.currentX_ = p.x; - this.currentY_ = p.y; - }; - - contextPrototype.lineTo = function(aX, aY) { - var p = this.getCoords_(aX, aY); - this.currentPath_.push({type: 'lineTo', x: p.x, y: p.y}); - - this.currentX_ = p.x; - this.currentY_ = p.y; - }; - - contextPrototype.bezierCurveTo = function(aCP1x, aCP1y, - aCP2x, aCP2y, - aX, aY) { - var p = this.getCoords_(aX, aY); - var cp1 = this.getCoords_(aCP1x, aCP1y); - var cp2 = this.getCoords_(aCP2x, aCP2y); - bezierCurveTo(this, cp1, cp2, p); - }; - - // Helper function that takes the already fixed cordinates. - function bezierCurveTo(self, cp1, cp2, p) { - self.currentPath_.push({ - type: 'bezierCurveTo', - cp1x: cp1.x, - cp1y: cp1.y, - cp2x: cp2.x, - cp2y: cp2.y, - x: p.x, - y: p.y - }); - self.currentX_ = p.x; - self.currentY_ = p.y; - } - - contextPrototype.quadraticCurveTo = function(aCPx, aCPy, aX, aY) { - // the following is lifted almost directly from - // http://developer.mozilla.org/en/docs/Canvas_tutorial:Drawing_shapes - - var cp = this.getCoords_(aCPx, aCPy); - var p = this.getCoords_(aX, aY); - - var cp1 = { - x: this.currentX_ + 2.0 / 3.0 * (cp.x - this.currentX_), - y: this.currentY_ + 2.0 / 3.0 * (cp.y - this.currentY_) - }; - var cp2 = { - x: cp1.x + (p.x - this.currentX_) / 3.0, - y: cp1.y + (p.y - this.currentY_) / 3.0 - }; - - bezierCurveTo(this, cp1, cp2, p); - }; - - contextPrototype.arc = function(aX, aY, aRadius, - aStartAngle, aEndAngle, aClockwise) { - aRadius *= Z; - var arcType = aClockwise ? 'at' : 'wa'; - - var xStart = aX + mc(aStartAngle) * aRadius - Z2; - var yStart = aY + ms(aStartAngle) * aRadius - Z2; - - var xEnd = aX + mc(aEndAngle) * aRadius - Z2; - var yEnd = aY + ms(aEndAngle) * aRadius - Z2; - - // IE won't render arches drawn counter clockwise if xStart == xEnd. - if (xStart == xEnd && !aClockwise) { - xStart += 0.125; // Offset xStart by 1/80 of a pixel. Use something - // that can be represented in binary - } - - var p = this.getCoords_(aX, aY); - var pStart = this.getCoords_(xStart, yStart); - var pEnd = this.getCoords_(xEnd, yEnd); - - this.currentPath_.push({type: arcType, - x: p.x, - y: p.y, - radius: aRadius, - xStart: pStart.x, - yStart: pStart.y, - xEnd: pEnd.x, - yEnd: pEnd.y}); - - }; - - contextPrototype.rect = function(aX, aY, aWidth, aHeight) { - this.moveTo(aX, aY); - this.lineTo(aX + aWidth, aY); - this.lineTo(aX + aWidth, aY + aHeight); - this.lineTo(aX, aY + aHeight); - this.closePath(); - }; - - contextPrototype.strokeRect = function(aX, aY, aWidth, aHeight) { - var oldPath = this.currentPath_; - this.beginPath(); - - this.moveTo(aX, aY); - this.lineTo(aX + aWidth, aY); - this.lineTo(aX + aWidth, aY + aHeight); - this.lineTo(aX, aY + aHeight); - this.closePath(); - this.stroke(); - - this.currentPath_ = oldPath; - }; - - contextPrototype.fillRect = function(aX, aY, aWidth, aHeight) { - var oldPath = this.currentPath_; - this.beginPath(); - - this.moveTo(aX, aY); - this.lineTo(aX + aWidth, aY); - this.lineTo(aX + aWidth, aY + aHeight); - this.lineTo(aX, aY + aHeight); - this.closePath(); - this.fill(); - - this.currentPath_ = oldPath; - }; - - contextPrototype.createLinearGradient = function(aX0, aY0, aX1, aY1) { - var gradient = new CanvasGradient_('gradient'); - gradient.x0_ = aX0; - gradient.y0_ = aY0; - gradient.x1_ = aX1; - gradient.y1_ = aY1; - return gradient; - }; - - contextPrototype.createRadialGradient = function(aX0, aY0, aR0, - aX1, aY1, aR1) { - var gradient = new CanvasGradient_('gradientradial'); - gradient.x0_ = aX0; - gradient.y0_ = aY0; - gradient.r0_ = aR0; - gradient.x1_ = aX1; - gradient.y1_ = aY1; - gradient.r1_ = aR1; - return gradient; - }; - - contextPrototype.drawImage = function(image, var_args) { - var dx, dy, dw, dh, sx, sy, sw, sh; - - // to find the original width we overide the width and height - var oldRuntimeWidth = image.runtimeStyle.width; - var oldRuntimeHeight = image.runtimeStyle.height; - image.runtimeStyle.width = 'auto'; - image.runtimeStyle.height = 'auto'; - - // get the original size - var w = image.width; - var h = image.height; - - // and remove overides - image.runtimeStyle.width = oldRuntimeWidth; - image.runtimeStyle.height = oldRuntimeHeight; - - if (arguments.length == 3) { - dx = arguments[1]; - dy = arguments[2]; - sx = sy = 0; - sw = dw = w; - sh = dh = h; - } else if (arguments.length == 5) { - dx = arguments[1]; - dy = arguments[2]; - dw = arguments[3]; - dh = arguments[4]; - sx = sy = 0; - sw = w; - sh = h; - } else if (arguments.length == 9) { - sx = arguments[1]; - sy = arguments[2]; - sw = arguments[3]; - sh = arguments[4]; - dx = arguments[5]; - dy = arguments[6]; - dw = arguments[7]; - dh = arguments[8]; - } else { - throw Error('Invalid number of arguments'); - } - - var d = this.getCoords_(dx, dy); - - var w2 = sw / 2; - var h2 = sh / 2; - - var vmlStr = []; - - var W = 10; - var H = 10; - - // For some reason that I've now forgotten, using divs didn't work - vmlStr.push(' ' , - '', - ''); - - this.element_.insertAdjacentHTML('BeforeEnd', - vmlStr.join('')); - }; - - contextPrototype.stroke = function(aFill) { - var lineStr = []; - var lineOpen = false; - var a = processStyle(aFill ? this.fillStyle : this.strokeStyle); - var color = a.color; - var opacity = a.alpha * this.globalAlpha; - - var W = 10; - var H = 10; - - lineStr.push(''); - - if (!aFill) { - var lineWidth = this.lineScale_ * this.lineWidth; - - // VML cannot correctly render a line if the width is less than 1px. - // In that case, we dilute the color to make the line look thinner. - if (lineWidth < 1) { - opacity *= lineWidth; - } - - lineStr.push( - '' - ); - } else if (typeof this.fillStyle == 'object') { - var fillStyle = this.fillStyle; - var angle = 0; - var focus = {x: 0, y: 0}; - - // additional offset - var shift = 0; - // scale factor for offset - var expansion = 1; - - if (fillStyle.type_ == 'gradient') { - var x0 = fillStyle.x0_ / this.arcScaleX_; - var y0 = fillStyle.y0_ / this.arcScaleY_; - var x1 = fillStyle.x1_ / this.arcScaleX_; - var y1 = fillStyle.y1_ / this.arcScaleY_; - var p0 = this.getCoords_(x0, y0); - var p1 = this.getCoords_(x1, y1); - var dx = p1.x - p0.x; - var dy = p1.y - p0.y; - angle = Math.atan2(dx, dy) * 180 / Math.PI; - - // The angle should be a non-negative number. - if (angle < 0) { - angle += 360; - } - - // Very small angles produce an unexpected result because they are - // converted to a scientific notation string. - if (angle < 1e-6) { - angle = 0; - } - } else { - var p0 = this.getCoords_(fillStyle.x0_, fillStyle.y0_); - var width = max.x - min.x; - var height = max.y - min.y; - focus = { - x: (p0.x - min.x) / width, - y: (p0.y - min.y) / height - }; - - width /= this.arcScaleX_ * Z; - height /= this.arcScaleY_ * Z; - var dimension = m.max(width, height); - shift = 2 * fillStyle.r0_ / dimension; - expansion = 2 * fillStyle.r1_ / dimension - shift; - } - - // We need to sort the color stops in ascending order by offset, - // otherwise IE won't interpret it correctly. - var stops = fillStyle.colors_; - stops.sort(function(cs1, cs2) { - return cs1.offset - cs2.offset; - }); - - var length = stops.length; - var color1 = stops[0].color; - var color2 = stops[length - 1].color; - var opacity1 = stops[0].alpha * this.globalAlpha; - var opacity2 = stops[length - 1].alpha * this.globalAlpha; - - var colors = []; - for (var i = 0; i < length; i++) { - var stop = stops[i]; - colors.push(stop.offset * expansion + shift + ' ' + stop.color); - } - - // When colors attribute is used, the meanings of opacity and o:opacity2 - // are reversed. - lineStr.push(''); - } else { - lineStr.push(''); - } - - lineStr.push(''); - - this.element_.insertAdjacentHTML('beforeEnd', lineStr.join('')); - }; - - contextPrototype.fill = function() { - this.stroke(true); - } - - contextPrototype.closePath = function() { - this.currentPath_.push({type: 'close'}); - }; - - /** - * @private - */ - contextPrototype.getCoords_ = function(aX, aY) { - var m = this.m_; - return { - x: Z * (aX * m[0][0] + aY * m[1][0] + m[2][0]) - Z2, - y: Z * (aX * m[0][1] + aY * m[1][1] + m[2][1]) - Z2 - } - }; - - contextPrototype.save = function() { - var o = {}; - copyState(this, o); - this.aStack_.push(o); - this.mStack_.push(this.m_); - this.m_ = matrixMultiply(createMatrixIdentity(), this.m_); - }; - - contextPrototype.restore = function() { - copyState(this.aStack_.pop(), this); - this.m_ = this.mStack_.pop(); - }; - - function matrixIsFinite(m) { - for (var j = 0; j < 3; j++) { - for (var k = 0; k < 2; k++) { - if (!isFinite(m[j][k]) || isNaN(m[j][k])) { - return false; - } - } - } - return true; - } - - function setM(ctx, m, updateLineScale) { - if (!matrixIsFinite(m)) { - return; - } - ctx.m_ = m; - - if (updateLineScale) { - // Get the line scale. - // Determinant of this.m_ means how much the area is enlarged by the - // transformation. So its square root can be used as a scale factor - // for width. - var det = m[0][0] * m[1][1] - m[0][1] * m[1][0]; - ctx.lineScale_ = sqrt(abs(det)); - } - } - - contextPrototype.translate = function(aX, aY) { - var m1 = [ - [1, 0, 0], - [0, 1, 0], - [aX, aY, 1] - ]; - - setM(this, matrixMultiply(m1, this.m_), false); - }; - - contextPrototype.rotate = function(aRot) { - var c = mc(aRot); - var s = ms(aRot); - - var m1 = [ - [c, s, 0], - [-s, c, 0], - [0, 0, 1] - ]; - - setM(this, matrixMultiply(m1, this.m_), false); - }; - - contextPrototype.scale = function(aX, aY) { - this.arcScaleX_ *= aX; - this.arcScaleY_ *= aY; - var m1 = [ - [aX, 0, 0], - [0, aY, 0], - [0, 0, 1] - ]; - - setM(this, matrixMultiply(m1, this.m_), true); - }; - - contextPrototype.transform = function(m11, m12, m21, m22, dx, dy) { - var m1 = [ - [m11, m12, 0], - [m21, m22, 0], - [dx, dy, 1] - ]; - - setM(this, matrixMultiply(m1, this.m_), true); - }; - - contextPrototype.setTransform = function(m11, m12, m21, m22, dx, dy) { - var m = [ - [m11, m12, 0], - [m21, m22, 0], - [dx, dy, 1] - ]; - - setM(this, m, true); - }; - - /******** STUBS ********/ - contextPrototype.clip = function() { - // TODO: Implement - }; - - contextPrototype.arcTo = function() { - // TODO: Implement - }; - - contextPrototype.createPattern = function() { - return new CanvasPattern_; - }; - - // Gradient / Pattern Stubs - function CanvasGradient_(aType) { - this.type_ = aType; - this.x0_ = 0; - this.y0_ = 0; - this.r0_ = 0; - this.x1_ = 0; - this.y1_ = 0; - this.r1_ = 0; - this.colors_ = []; - } - - CanvasGradient_.prototype.addColorStop = function(aOffset, aColor) { - aColor = processStyle(aColor); - this.colors_.push({offset: aOffset, - color: aColor.color, - alpha: aColor.alpha}); - }; - - function CanvasPattern_() {} - - // set up externs - G_vmlCanvasManager = G_vmlCanvasManager_; - CanvasRenderingContext2D = CanvasRenderingContext2D_; - CanvasGradient = CanvasGradient_; - CanvasPattern = CanvasPattern_; - -})(); - -} // if - -if (dhtmlx && dhtmlx._modules) - dhtmlx._modules["thirdparty/excanvas/excanvas.js"] = true; \ No newline at end of file diff --git a/themes/sources/dhtmlxColorPicker/codebase/dhtmlxcolorpicker.js b/themes/sources/dhtmlxColorPicker/codebase/dhtmlxcolorpicker.js deleted file mode 100644 index bb6ffd4..0000000 --- a/themes/sources/dhtmlxColorPicker/codebase/dhtmlxcolorpicker.js +++ /dev/null @@ -1,1758 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -function dhtmlXColorPicker(base) { - - if (!(this instanceof window.dhtmlXColorPicker)) { - return new dhtmlXColorPicker(base); - } - - dhx4._eventable(this); - - var that = this, base_type = undefined, - temp_node = null, i,l, temp_conf; - - this._nodes = []; - - this.activeNode = null; - this._inputListenerId = null; - this.base = null; - this._globalNode = null; - this.memory = null; - this.skin = null; - - this.conf = { - cp_id: dhx4.newId(), - x: 0, - y: 0, - c: 0, - indent: 2, - position: "right", // right or bottom - customColors: false, - selectedColor: null, - hide: false, - hideOnSelect: false, - lang: "en", - closeable: true // autohide when button cancel clicked, can be used for custom-parent init - }; - - this.value = { - red: -1, - blue: -1, - green: -1, - hue: -1, - sat: -1, - lum: -1 - }; - - this._initMoveSelection = function(e) { - e = e || event; - if (typeof(window.addEventListener) == "function") { - that._controllerNodes.colorArea.addEventListener("mousemove", that._setMoveSelection, false); - document.body.addEventListener("mouseup", that._cleanMoveSelection, false); - } else { - that._controllerNodes.colorArea.attachEvent("onmousemove", that._setMoveSelection); - document.body.attachEvent("onmouseup", that._cleanMoveSelection); - } - - that._setMoveSelection(e,that._controllerNodes.colorArea); - return false; - }; - - this._cleanMoveSelection = function() { - if (typeof(window.removeEventListener) == "function") { - that._controllerNodes.colorArea.removeEventListener("mousemove", that._setMoveSelection, false); - document.body.removeEventListener("mouseup", that._cleanMoveSelection, false); - } else { - that._controllerNodes.colorArea.detachEvent("onmousemove", that._setMoveSelection); - document.body.detachEvent("onmouseup", that._cleanMoveSelection); - } - - return false; - }; - - this._setMoveSelection = function(e) { - e = e || event; - var coord = that._getOffsetPosition(e, that._controllerNodes.colorArea); - if (that._controllerNodes.fr_cover) { - setTimeout(function() { - that._setColorAreaXY(coord.x, coord.y); - that._setColorByXYC(); - },0); - } else { - that._setColorAreaXY(coord.x, coord.y); - that._setColorByXYC(); - } - return false; - }; - - this._initMoveContrast = function(e) { - e = e || event; - if (typeof(window.addEventListener) == "function") { - document.body.addEventListener("mousemove", that._setMoveContrast, false); - document.body.addEventListener("mouseup", that._cleanMoveContrast, false); - } else { - document.body.attachEvent("onmousemove", that._setMoveContrast); - document.body.attachEvent("onmouseup", that._cleanMoveContrast); - } - - that._setMoveContrast(e,that._controllerNodes.contrastArea); - }; - - this._cleanMoveContrast = function() { - if (typeof(window.removeEventListener) == "function") { - document.body.removeEventListener("mousemove", that._setMoveContrast, false); - document.body.removeEventListener("mouseup", that._cleanMoveContrast, false); - } else { - document.body.detachEvent("onmousemove", that._setMoveContrast); - document.body.detachEvent("onmouseup", that._cleanMoveContrast); - } - }; - - this._setMoveContrast = function(e) { - e = e || event; - - var coord = that._getOffsetPosition(e, that._controllerNodes.contrastArea); - that._setContrastY(coord.y); - that._setColorByXYC(true); - }; - - this._doOnSelectColor = function() { - var hex = that.colorAIP.rgb2hex({ - r: that.value.red, - g: that.value.green, - b: that.value.blue - }); - - if (that.activeNode != null) { - if (that.activeNode.valueCont) { - that.activeNode.valueCont.value = hex; - } - if (that.activeNode.valueColor) { - that.activeNode.valueColor.style.backgroundColor = hex; - } - } - - if (that.base._dhx_remove || that.conf.hideOnSelect) { - that.hide(); - } - - that.callEvent("onSelect",[hex,((that.activeNode)? that.activeNode.node: null)]); - }; - - this._doOnCancel = function() { - // if cp isn't closeable - allow event to be fired anyway - if (that.callEvent("onCancel",[((that.activeNode)? that.activeNode.node: null)]) == true && that.conf.closeable == true) { - that.hide(); - } - }; - - this._doOnFocusByInput = function() { - var target = (this != window)? this : event.srcElement; - var object = (that.activeNode && that.activeNode.valueCont && that.activeNode.valueCont == target) ? that.activeNode : that._getNodeByValueCont(target); - - that.activeNode = object; - if (object && object == that.activeNode) { - that._initListenerInput(); - } - }; - - this._doOnBlurByInput = function() { - var target = (this != window)? this : event.srcElement; - var object = (that.activeNode && that.activeNode.valueCont && that.activeNode.valueCont == target) ? that.activeNode : that._getNodeByValueCont(target); - if (object && object == that.activeNode) { - that._removeListenerInput(); - } - }; - - this._doOnClickByNode = function(e) { - e = e || event; - var target = (this != window)? this : event.srcElement; - that.activeNode = (that.activeNode.node != target) - ? that._getNodeByElement(target) - : that.activeNode; - if (!that.isVisible()) { - that.show(); - } - }; - - this.saveColor = function() { - that.memory.setValue(that.value); - }; - - this._onSelectMemoryEl = function(contr) { - var key; - that._refreshCoordinatesByHSL(contr.value.hue, contr.value.sat, contr.value.lum); - - for (key in contr.value) { - that.value[key] = contr.value[key]; - } - - that._refreshContrast(); - that._refreshInputValues(); - that._refreshColorValue(); - }; - - this._doOnClickByBody = function(e) { - e = e || event; - var is_close = true, target =e.target || e.srcElement; - - if (that._isBaseNode(target)) { - is_close = false; - } - - if (is_close && that.activeNode && (that.activeNode.node == target || that.activeNode.valueCont == target)) { - is_close = false; - } - - if (is_close) { - that.hide(); - } - }; - - this._doOnChangeHSL = function() { - var hue = parseInt(that._controllerNodes.hue.value), - sat = parseInt(that._controllerNodes.sat.value), - lum = parseInt(that._controllerNodes.lum.value), - rgb; - - if (isNaN(hue) || hue > 359 || hue < 0) { - that._controllerNodes.hue.value = that.value.hue; - } else { - that.value.hue = hue; - } - - if (isNaN(sat) || sat > 100 || sat < 0) { - that._controllerNodes.sat.value = that.value.sat; - } else { - that.value.sat = sat; - } - - - if (isNaN(lum) || lum > 100 || lum < 0) { - that._controllerNodes.lum.value = that.value.lum; - } else { - that.value.lum = lum; - } - - rgb = that.colorAIP.hsl2rgb(that.value.hue, that.value.sat/100, that.value.lum/100); - that.value.red = Math.round(255*rgb.r); - that.value.green = Math.round(255*rgb.g); - that.value.blue = Math.round(255*rgb.b); - - that._refreshCoordinatesByHSL(that.value.hue,that.value.sat,that.value.lum); - that._refreshContrast(); - that._refreshInputValues(); - that._refreshColorValue(); - }; - - this._doOnChangeRGB = function() { - var red = parseInt(that._controllerNodes.red.value), - green = parseInt(that._controllerNodes.green.value), - blue = parseInt(that._controllerNodes.blue.value), - hsl; - - if (isNaN(red) || red > 255 || red < 0) { - that._controllerNodes.red.value = that.value.red; - } else { - that.value.red = red; - } - - if (isNaN(green) || green > 255 || green < 0) { - that._controllerNodes.green.value = that.value.green; - } else { - that.value.green = green; - } - - if (isNaN(blue) || blue > 255 || blue < 0) { - that._controllerNodes.blue.value = that.value.blue; - } else { - that.value.blue = blue; - } - - hsl = that.colorAIP.rgb2hsl(that.value.red/255, that.value.green/255, that.value.blue/255); - that.value.hue = Math.round(hsl.h); - that.value.sat = Math.round(hsl.s*100); - that.value.lum = Math.round(hsl.l*100); - - that._refreshCoordinatesByHSL(that.value.hue,that.value.sat,that.value.lum); - that._refreshContrast(); - that._refreshInputValues(); - that._refreshColorValue(); - }; - - this._doOnChangeHSV = function() { - that._controllerNodes.hsv.value = that.setColor(that._controllerNodes.hsv.value); - }; - - this._checkType = function (base) { - var tempType; - if (base instanceof Array) { - tempType = that._checkType(base[0]); - switch (tempType) { - case "string": - return "array_string"; - break; - case "input": - case "textarea": - return "array_input"; - break; - case "object": - return "array_object"; - break; - default: - return undefined; - } - - } else if (base == undefined) { - return null; - - } else if (typeof(base) == "string") { - return "string"; - - } else if (base.tagName && base.tagName.toLowerCase() == "input") { - return "input"; - - } else if (base.tagName && base.tagName.toLowerCase() == "textarea") { - return "textarea"; - - } else if (base.tagName) { - return "container"; - - } else if (typeof(base) == "object") { - return "object"; - - } else return undefined; - }; - - this._initByObject = function (conf) { - if (conf.parent && conf.parent.tagName) { - that.base = conf.parent; - } else if (typeof(conf.parent) == "string") { - that.base = document.getElementById(conf.parent); - } else { - that.base = document.createElement("div"); - that.base._dhx_remove = true; - } - - if (conf.color) { - that.conf.selectedColor = conf.color; - } - if (typeof(conf.closeable) != "undefined") { - this.conf.closeable = dhx4.s2b(conf.closeable); - } - if (conf.custom_colors) { - this._tempInitCC = function() { - var i, l; - this.initMemoryColors(); - this.conf.customColors = true; - - if (conf.custom_colors instanceof Array) { - l = conf.custom_colors.length; - for (i=0; i"+ - "
                    "+ - "
                    "+ - "
                    "+ - "
                    "+ - "
                    "+ - "
                    "+ - "
                    "+ - "
                    "+ - "
                    "+ - //+ - "
                    "+ - "
                    "+ - "
                    "+ - ""+ - "
                    "+ - "
                    "+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - "
                    "+this.i18n[this.conf.lang].labelHue+""+this.i18n[this.conf.lang].labelRed+"
                    "+this.i18n[this.conf.lang].labelSat+""+this.i18n[this.conf.lang].labelGreen+"
                    "+this.i18n[this.conf.lang].labelLum+""+this.i18n[this.conf.lang].labelBlue+"
                    "+ - "
                    "+ - "
                    "+ - "
                    "+ - ""+ - ""+ - "
                    "+ - "
                    " - "
                    "; - - this._globalNode = this.base.firstChild; - - this._controllerNodes = { - colorArea: this._globalNode.firstChild.firstChild.firstChild, - v_line : this._globalNode.firstChild.firstChild.firstChild.childNodes[0], - h_line : this._globalNode.firstChild.firstChild.firstChild.childNodes[1], - - contrastArea : this._globalNode.firstChild.firstChild.childNodes[1], - contrast_line: this._globalNode.firstChild.firstChild.childNodes[1].firstChild, - - color: this._globalNode.firstChild.childNodes[1].childNodes[0].firstChild, - hsv : this._globalNode.firstChild.childNodes[1].childNodes[0].childNodes[1], - - hue: this._globalNode.firstChild.childNodes[1].childNodes[1].firstChild.childNodes[0].childNodes[1].firstChild, - sat: this._globalNode.firstChild.childNodes[1].childNodes[1].firstChild.childNodes[1].childNodes[1].firstChild, - lum: this._globalNode.firstChild.childNodes[1].childNodes[1].firstChild.childNodes[2].childNodes[1].firstChild, - - red : this._globalNode.firstChild.childNodes[1].childNodes[1].firstChild.childNodes[0].childNodes[3].firstChild, - green: this._globalNode.firstChild.childNodes[1].childNodes[1].firstChild.childNodes[1].childNodes[3].firstChild, - blue : this._globalNode.firstChild.childNodes[1].childNodes[1].firstChild.childNodes[2].childNodes[3].firstChild, - - memory_block: this._globalNode.firstChild.childNodes[2], - - button_save : this._globalNode.firstChild.childNodes[3].firstChild, - button_cancel: this._globalNode.firstChild.childNodes[3].childNodes[1] - }; - - this._labelNodes = { - labelHue : this._globalNode.firstChild.childNodes[1].childNodes[1].firstChild.childNodes[0].firstChild, - labelSat : this._globalNode.firstChild.childNodes[1].childNodes[1].firstChild.childNodes[1].firstChild, - labelLum : this._globalNode.firstChild.childNodes[1].childNodes[1].firstChild.childNodes[2].firstChild, - labelRed : this._globalNode.firstChild.childNodes[1].childNodes[1].firstChild.childNodes[0].childNodes[2], - labelGreen : this._globalNode.firstChild.childNodes[1].childNodes[1].firstChild.childNodes[1].childNodes[2], - labelBlue : this._globalNode.firstChild.childNodes[1].childNodes[1].firstChild.childNodes[2].childNodes[2], - btnAddColor: null, - btnSelect : this._globalNode.firstChild.childNodes[3].firstChild, - btnCancel : this._globalNode.firstChild.childNodes[3].childNodes[1] - }; - - if (typeof(this._tempInitCC) == "function") { - this._tempInitCC(); - }; - - if (typeof(window.addEventListener) == "function") { - this._controllerNodes.colorArea.addEventListener("mousedown", this._initMoveSelection, false); - this._controllerNodes.colorArea.addEventListener("dblclick", this._doOnSelectColor, false); - this._controllerNodes.contrastArea.addEventListener("mousedown", this._initMoveContrast, false); - - this._controllerNodes.button_save.addEventListener("click", this._doOnSelectColor, false); - this._controllerNodes.button_cancel.addEventListener("click", this._doOnCancel, false); - - this._controllerNodes.hue.addEventListener("change", this._doOnChangeHSL, false); - this._controllerNodes.sat.addEventListener("change", this._doOnChangeHSL, false); - this._controllerNodes.lum.addEventListener("change", this._doOnChangeHSL, false); - - this._controllerNodes.red.addEventListener("change", this._doOnChangeRGB, false); - this._controllerNodes.green.addEventListener("change", this._doOnChangeRGB, false); - this._controllerNodes.blue.addEventListener("change", this._doOnChangeRGB, false); - - this._controllerNodes.hsv.addEventListener("change", this._doOnChangeHSV, false); - } else { - this._controllerNodes.colorArea.attachEvent("onmousedown", this._initMoveSelection); - this._controllerNodes.colorArea.attachEvent("ondblclick", this._doOnSelectColor); - this._controllerNodes.contrastArea.attachEvent("onmousedown", this._initMoveContrast); - - this._controllerNodes.button_save.attachEvent("onclick", this._doOnSelectColor); - this._controllerNodes.button_cancel.attachEvent("onclick", this._doOnCancel); - - this._controllerNodes.hue.attachEvent("onchange", this._doOnChangeHSL); - this._controllerNodes.sat.attachEvent("onchange", this._doOnChangeHSL); - this._controllerNodes.lum.attachEvent("onchange", this._doOnChangeHSL); - - this._controllerNodes.red.attachEvent("onchange", this._doOnChangeRGB); - this._controllerNodes.green.attachEvent("onchange", this._doOnChangeRGB); - this._controllerNodes.blue.attachEvent("onchange", this._doOnChangeRGB); - - this._controllerNodes.hsv.attachEvent("onchange", this._doOnChangeHSV); - } - - this.setColor(this.conf.selectedColor||"#ffffff"); - - if (this._nodes.length) { - for (var i=0; i"+ - "
                    "+this.i18n[this.conf.lang].btnAddColor+"
                    "+ - ""+ - "
                    "+ - "
                    "+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - "
                    "; - - this.memory = new this.Memory(this._controllerNodes.memory_block.childNodes[1]); - this.memory.onSelect = this._onSelectMemoryEl; - this.memory.onSave = function(value) { - var color = that.colorAIP.rgb2hex({r: value.red, g: value.green, b: value.blue}); - that.callEvent("onSaveColor", [color]); - }; - - var button = this._controllerNodes.memory_block.childNodes[0].firstChild; - this._labelNodes.btnAddColor = this._controllerNodes.memory_block.childNodes[0].firstChild.firstChild; - if (typeof(window.addEventListener) == "function") { - button.addEventListener("click", this.saveColor, false); - } else { - button.attachEvent("onclick", this.saveColor); - } -}; - -dhtmlXColorPicker.prototype._refreshCoordinatesByHSL = function(h,s,l) { - var x,y1,y2; - x = Math.round((this.configColorArea.maxX - this.configColorArea.minX)*h/359)+this.configColorArea.minX; - y1 = Math.round((this.configColorArea.maxY - this.configColorArea.minY)*(100-l)/100) + this.configColorArea.minY; - y2 = Math.round((this.configColorArea.maxY - this.configColorArea.minY)*(100-s)/100) + this.configColorArea.minY; - - this._setColorAreaXY(x,y1); - this._setContrastY(y2); -}; - -dhtmlXColorPicker.prototype._parseColor = function(value) { - if (value instanceof Array) { - var rgb = { - r: parseInt(value[0]), - g: parseInt(value[1]), - b: parseInt(value[2]) - }; - } else if (typeof(value) == "string") { - value = value.replace(/\s/g,""); - if (/^rgb\((\d{1,3})\,(\d{1,3})\,(\d{1,3})\)$/i.test(value)) { - var temp = value.match(/^rgb\((\d{1,3})\,(\d{1,3})\,(\d{1,3})\)$/i); - var rgb = { - r: parseInt(temp[1]), - g: parseInt(temp[2]), - b: parseInt(temp[3]) - }; - } else { - var rgb = this.colorAIP.hex2rgb(value); - } - } - return rgb; -}; - -dhtmlXColorPicker.prototype.setColor = function(value) { - - var old_value = this.colorAIP.rgb2hex({ r:this.value.red, g:this.value.green, b:this.value.blue}); - var rgb = this._parseColor(value); - - var is_check = (rgb instanceof Object); - is_check = is_check && (0 <= rgb.r && rgb.r <= 255); - is_check = is_check && (0 <= rgb.g && rgb.g <= 255); - is_check = is_check && (0 <= rgb.b && rgb.b <= 255); - - if (!is_check) { - return old_value; - } - - var new_value = this.colorAIP.rgb2hex({ r:rgb.r, g:rgb.g, b:rgb.b }); - - if (new_value == old_value) { - return old_value; - } - - this.value.red = rgb.r; - this.value.green = rgb.g; - this.value.blue = rgb.b; - - var hsl = this.colorAIP.rgb2hsl(rgb.r/255,rgb.g/255,rgb.b/255); - this.value.hue = Math.round(hsl.h); - this.value.sat = Math.round(hsl.s*100); - this.value.lum = Math.round(hsl.l*100); - - this._refreshCoordinatesByHSL(this.value.hue, this.value.sat, this.value.lum); - this._refreshContrast(); - this._refreshInputValues(); - this._refreshColorValue(); - - return new_value; -}; - -dhtmlXColorPicker.prototype.getSelectedColor = function() { - return [ - this.colorAIP.rgb2hex({ r:this.value.red, g:this.value.green, b:this.value.blue }), - [this.value.red, this.value.green, this.value.blue], - [this.value.hue, this.value.sat, this.value.lum] - ]; -}; - -dhtmlXColorPicker.prototype._attachEventsToNode = function(object) { - if (typeof(window.addEventListener) == "function") { - object.node.addEventListener("click", this._doOnClickByNode, false); - } else { - object.node.attachEvent("onclick", this._doOnClickByNode); - } - - if (object.valueCont && object.valueCont.tagName.toLowerCase() == "input") { - if (typeof(window.addEventListener) == "function") { - object.valueCont.addEventListener("focus", this._doOnFocusByInput, false); - object.valueCont.addEventListener("blur", this._doOnBlurByInput, false); - } else { - object.valueCont.attachEvent("onfocus", this._doOnFocusByInput); - object.valueCont.attachEvent("onblur", this._doOnBlurByInput); - } - } -}; - -dhtmlXColorPicker.prototype._detachEventsFromNode = function(object) { - if (typeof(window.addEventListener) == "function") { - object.node.removeEventListener("click", this._doOnClickByNode, false); - } else { - object.node.detachEvent("onclick", this._doOnClickByNode); - } - - if (object.valueCont && object.valueCont.tagName.toLowerCase() == "input") { - if (typeof(window.addEventListener) == "function") { - object.valueCont.removeEventListener("focus", this._doOnFocusByInput, false); - object.valueCont.removeEventListener("blur", this._doOnBlurByInput, false); - } else { - object.valueCont.detachEvent("onfocus", this._doOnFocusByInput); - object.valueCont.detachEvent("onblur", this._doOnBlurByInput); - } - } -}; - -dhtmlXColorPicker.prototype.show = function(node) { - var is_show_memory = false; - - if (node != undefined) { - this.activeNode = this.getNode(node) || this.activeNode; - } - - if (this.activeNode && this.activeNode.valueCont && this.activeNode.valueCont.value) { - this.setColor(this.activeNode.valueCont.value); - } - - if (this.activeNode) { - is_show_memory = (this.activeNode.conf.customColors!=null?this.activeNode.conf.customColors:this.conf.customColors); - this.setColor(this.activeNode.conf.selectedColor); - } else { - is_show_memory = this.conf.customColors; - } - - if (is_show_memory) { - this.showMemory(); - } else { - this.hideMemory(); - } - - if (this.base._dhx_remove) { - this.base.firstChild.style.zIndex = dhx4.zim.reserve(this.conf.cp_id); - - this.base.style.visibility = "hidden"; - if (document.body.firstChild) { - document.body.insertBefore(this.base, document.body.firstChild); - } else { - document.body.appendChild(this.base); - } - - this._refreshPosition(); - this.base.style.visibility = "visible"; - - if (typeof(window.addEventListener) == "function") { - document.body.addEventListener("mousedown", this._doOnClickByBody, false); - } else { - document.body.attachEvent("onmousedown", this._doOnClickByBody); - } - - } else { - this.base.appendChild(this._globalNode); - } - - if (this._controllerNodes.fr_cover) { - this.base.insertBefore(this._controllerNodes.fr_cover, this._globalNode); - } - - this.callEvent("onShow",[((this.activeNode)? this.activeNode.node: null) ]); -}; - -dhtmlXColorPicker.prototype.setPosition = function(x,y) { - var pos = null; - var cx = parseInt(x); - var cy = parseInt(y); - if (isNaN(cx)) pos = ({right:"right",bottom:"bottom"}[x.toLowerCase()]?x:null); - - if (this.base._dhx_remove) { - if (pos == null) { - - } else { - this.conf.position = pos; - this._refreshPosition(pos); - } - - } else { - if (isNaN(cx) || isNaN(cy)) { - - } else { - this._globalNode.style.left = cx + "px"; - this._globalNode.style.top = cy + "px"; - - if (this._controllerNodes.fr_cover) { - this._controllerNodes.fr_cover.style.left = this._globalNode.style.left; - this._controllerNodes.fr_cover.style.top = this._globalNode.style.top; - } - } - } -}; - -dhtmlXColorPicker.prototype._initListenerInput = function() { - var that = this; - this._inputListenerId = this._inputListenerId || setInterval(function() { - that._refreshValueByInput(); - },70); -}; - -dhtmlXColorPicker.prototype._removeListenerInput = function() { - if (this._inputListenerId) { - clearInterval(this._inputListenerId); - this._inputListenerId = null; - } -}; - -dhtmlXColorPicker.prototype._refreshValueByInput = function() { - var value = this.activeNode.valueCont.value, - oldValue = this.getSelectedColor()[0]; - - if (this._inputListenerId) { - if (/^#[\da-f]{6}$/i.test(value) && value != oldValue) { - this.setColor(value); - this.callEvent("onSelect",[value, this.activeNode.node]); - } - } -}; - -dhtmlXColorPicker.prototype._refreshPosition = function(position) { - if (this.activeNode == null) return; - - var topInp = dhx4.absTop(this.activeNode.node); - var leftInp = dhx4.absLeft(this.activeNode.node); - var sizeWindow = dhx4.screenDim(); - var widthCP = this._globalNode.offsetWidth; - var heigthCP = this._globalNode.offsetHeight; - var top = 0; - - position = position || this.conf.position; - - switch (position) { - case "bottom": - var top = topInp+this.activeNode.node.offsetHeight+this.conf.indent; - var left = leftInp; - - // no space on right - if (left+widthCP > sizeWindow.left+sizeWindow.right) { - left = leftInp+this.activeNode.node.offsetWidth-widthCP; - } - //no space on left - if (left < sizeWindow.left) { - left = leftInp; - } - - // no space at bottom - if (top+heigthCP > sizeWindow.top+sizeWindow.bottom) { - top = topInp-heigthCP-this.conf.indent; - } - - // on top also no more space (browser's height too small?) - if (top - sizeWindow.top < 0) { - top = sizeWindow.top + this.conf.indent; - } - - this._globalNode.style.top = top+"px"; - this._globalNode.style.left = left+"px"; - - - break; - default: - var left = leftInp+this.activeNode.node.offsetWidth+this.conf.indent; - top = topInp; - - if (position == "right") { - // no space on right, open to left - if (left+widthCP > sizeWindow.left+sizeWindow.right) { - left = leftInp-widthCP-this.conf.indent; - } - // no space on left, open to right - if (left < sizeWindow.left) { - left = leftInp+this.activeNode.node.offsetWidth+this.conf.indent; - } - } - - if (sizeWindow.bottom - (top + heigthCP) <= 0) { - top = topInp+this.activeNode.node.offsetHeight-heigthCP; - } - - if (top - sizeWindow.top < 0) { - top = sizeWindow.top + this.conf.indent; - } - this._globalNode.style.left = left+"px"; - this._globalNode.style.top = top+"px"; - } - - if (this._controllerNodes.fr_cover) { - this._controllerNodes.fr_cover.style.left = this._globalNode.style.left; - this._controllerNodes.fr_cover.style.top = this._globalNode.style.top; - } -}; - -dhtmlXColorPicker.prototype.isVisible = function() { - var answer = false; - if (this.base._dhx_remove) { - answer = this.base.parentNode == document.body; - } else { - answer = this._globalNode.parentNode == this.base; - } - - return answer; -}; - -dhtmlXColorPicker.prototype.hide = function() { - if (this.base._dhx_remove) { - if (this.base.parentNode) { - this.base.parentNode.removeChild(this.base); - dhx4.zim.clear(this.conf.cp_id); - if (typeof(window.addEventListener) == "function") { - document.body.removeEventListener("mousedown", this._doOnClickByBody, false); - } else { - document.body.detachEvent("onmousedown", this._doOnClickByBody); - } - } - } else { - if (this.isVisible() == false) return; - this.base.removeChild(this._globalNode); - } - - if (this._controllerNodes.fr_cover && this._controllerNodes.fr_cover.parentNode) { - this._controllerNodes.fr_cover.parentNode.removeChild(this._controllerNodes.fr_cover); - } - - if (this.callEvent != undefined) { - this.callEvent("onHide",[((this.activeNode)? this.activeNode.node: null) ]); - } -}; - -dhtmlXColorPicker.prototype.configColorArea = { - minX: 1, - maxX: 209, - minY: 1, - maxY: 119 -}; - -dhtmlXColorPicker.prototype._skinCollection = { - dhx_skyblue: true, - dhx_web: true, - dhx_terrace: true, - material: true -}; - -dhtmlXColorPicker.prototype.i18n = { - en: { - labelHue : "Hue", - labelSat : "Sat", - labelLum : "Lum", - labelRed : "Red", - labelGreen : "Green", - labelBlue : "Blue", - btnAddColor: "Save the color", - btnSelect : "Select", - btnCancel : "Cancel" - } -}; - -dhtmlXColorPicker.prototype.loadUserLanguage = function(ln) { - // deprecated - if (typeof(this._mergeLangModules) == "function") { - this._mergeLangModules(); - } - // - - this.conf.lang = ln; - this._refreshLanguage(); -}; - -dhtmlXColorPicker.prototype._refreshLanguage = function() { - var key, hash= this.i18n[this.conf.lang]; - for (key in hash) { - if (this._labelNodes[key]) { - this._labelNodes[key].innerHTML = hash[key]; - } - } -}; - -dhtmlXColorPicker.prototype._setColorAreaXY = function(x,y) { - var config = this.configColorArea; - - x = parseInt(x); - if (config.minX > x) { - this.conf.x = config.minX; - } else if (x > config.maxX) { - this.conf.x = config.maxX; - } else if (!isNaN(x)) { - this.conf.x = x; - } - - y = parseInt(y); - if (config.minY > y) { - this.conf.y = config.minY; - } else if (y > config.maxY) { - this.conf.y = config.maxY; - } else if (!isNaN(y)) { - this.conf.y = y; - } - - this._refreshLines(); -}; - -dhtmlXColorPicker.prototype._setColorByXYC = function(notRefreshC) { - notRefreshC = notRefreshC || false; - - this.value.hue = Math.round((359*(this.conf.x - this.configColorArea.minX)) / (this.configColorArea.maxX - this.configColorArea.minX)); - this.value.lum = Math.round(100 - (100*(this.conf.y - this.configColorArea.minY)) / (this.configColorArea.maxY - this.configColorArea.minY)); - this.value.sat = Math.round(100 - (100*(this.conf.c - this.configColorArea.minY)) / (this.configColorArea.maxY - this.configColorArea.minY)); - - var rgb = this.colorAIP.hsl2rgb(this.value.hue, this.value.sat/100, this.value.lum/100); - - this.value.red = Math.round(255*rgb.r); - this.value.green = Math.round(255*rgb.g); - this.value.blue = Math.round(255*rgb.b); - - if (!notRefreshC) { - this._refreshContrast(); - } - - this._refreshInputValues(); - this._refreshColorValue(); -}; - -dhtmlXColorPicker.prototype._setContrastY = function(y) { - var config = this.configColorArea; - - y = parseInt(y); - if (!isNaN(y)) { - this.conf.c = Math.min(Math.max(config.minY, y), config.maxY); - } - - this._refreshContrastLine(); -}; - -dhtmlXColorPicker.prototype._refreshInputValues = function() { - this._controllerNodes.hue.value = this.value.hue; - this._controllerNodes.sat.value = this.value.sat; - this._controllerNodes.lum.value = this.value.lum; - - this._controllerNodes.red.value = this.value.red; - this._controllerNodes.green.value = this.value.green; - this._controllerNodes.blue.value = this.value.blue; -}; - -dhtmlXColorPicker.prototype._refreshColorValue = function() { - this._controllerNodes.color.style.backgroundColor = "rgb("+[this.value.red, this.value.green, this.value.blue].join(", ")+")"; - - var hex = this.colorAIP.rgb2hex({ - r: this.value.red, - g: this.value.green, - b: this.value.blue - }); - - this._controllerNodes.hsv.value = hex; - this.callEvent("onChange",[hex]); -}; - -dhtmlXColorPicker.prototype._refreshContrast = function() { - var rgb_top = this.colorAIP.hsl2rgb(this.value.hue, 0, this.value.lum/100); - var rgb_bot = this.colorAIP.hsl2rgb(this.value.hue, 1, this.value.lum/100); - - var ieV = this._checkIeVersion(); - if (ieV && ieV<=9) { - var ie_gradient = this._controllerNodes.contrastArea.firstChild; - if (ie_gradient == this._controllerNodes.contrast_line) { - ie_gradient = document.createElement("div"); - ie_gradient.className += "dhxcp_ie_gradient"; - this._controllerNodes.contrastArea.appendChild(ie_gradient); - this._controllerNodes.contrastArea.appendChild(this._controllerNodes.contrast_line); - } - var hex_bot = this.colorAIP.rgb2hex({r: Math.round(255*rgb_top.r) ,g: Math.round(255*rgb_top.g) ,b: Math.round(255*rgb_top.b)}); - var hex_top = this.colorAIP.rgb2hex({r: Math.round(255*rgb_bot.r) ,g: Math.round(255*rgb_bot.g) ,b: Math.round(255*rgb_bot.b)}); - ie_gradient.style.filter = "progid:DXImageTransform.Microsoft.gradient(startColorstr='"+hex_top+"', endColorstr='"+hex_bot+"', GradientType=0)"; - } else { - rgb_top = [Math.round(255*rgb_top.r), Math.round(255*rgb_top.g), Math.round(255*rgb_top.b)]; - rgb_bot = [Math.round(255*rgb_bot.r), Math.round(255*rgb_bot.g), Math.round(255*rgb_bot.b)]; - var bg_img = "linear-gradient(rgb("+rgb_bot.join(",")+"), rgb("+rgb_top.join(",")+"))"; - if (window.dhx4.isKHTML == true && navigator.userAgent.match(/Windows/gi) != null) bg_img = "-webkit-"+bg_img; // for win/safari 5.1.7 - this._controllerNodes.contrastArea.style.backgroundImage = bg_img; - } -}; - -dhtmlXColorPicker.prototype._refreshLines = function() { - this._controllerNodes.v_line.style.left = this.conf.x+"px"; - this._controllerNodes.h_line.style.top = this.conf.y+"px"; -}; - -dhtmlXColorPicker.prototype._refreshContrastLine = function() { - this._controllerNodes.contrast_line.style.top = this.conf.c+"px"; -}; - -dhtmlXColorPicker.prototype._getOffsetPosition = function(e, node) { - var answer = { - x: NaN, - y: NaN - }, target = e.target || e.srcElement; - if (target == node) { - answer.x = (e.offsetX != undefined)? e.offsetX: e.layerX; - answer.y = (e.offsetY != undefined)? e.offsetY: e.layerY; - } else if (target == this._controllerNodes.v_line) { - answer.y = (e.offsetY != undefined)? e.offsetY: e.layerY; - } else { - answer.x = (e.offsetX != undefined)? e.offsetX: e.layerX; - } - - return answer; -}; - -dhtmlXColorPicker.prototype.colorAIP = { - hex2rgb: function(str) { - var data = str.match(/^(#)([\da-f]{2})([\da-f]{2})([\da-f]{2})$/i); - if (data != null) { - return { - r: parseInt("0x"+data[2]), - g: parseInt("0x"+data[3]), - b: parseInt("0x"+data[4]) - }; - } else { - return null; - } - }, - // data {r:.., g:.., b:..} - rgb2hex: function(data) { - var r = parseInt(data.r), g = parseInt(data.g), b = parseInt(data.b); - r = r||0, g = g||0, b = b||0; - return "#"+((r)? ((r<16)? "0"+r.toString(16):r.toString(16)): "00") +((g)? ((g<16)? "0"+g.toString(16):g.toString(16)): "00") +((b)? ((b<16)? "0"+b.toString(16):b.toString(16)): "00"); - }, - - // {float} r [0..1], g [0..1], b [0..1], returns {object} hsl - rgb2hsl: function(r,g,b) { - var H, S, L; - var max = Math.max(r,g,b), min = Math.min(r,g,b); - - //** L ** - L = 0.5*(max + min); - - //** H ** - if (max == min) H = 0; - else if (max == r) { - H = 60*(g - b)/(max-min); - if (g < b) H += 360; - } else if (max == g) H = 60*(b - r)/(max - min) + 120; - else H = 60*(r-g)/(max - min) + 240; - - //** S ** - if (L == 0 || max == min) S = 0; - else if (L <= 0.5) S = 0.5*(max - min)/L; - else S = 0.5*(max - min)/(1 - L); - - return { - h: H, - s: S, - l: L - }; - }, - - // {int} H [0..359], {float} S [0..1], L [0..1] returns {object} rgb [0..1] - hsl2rgb: function(H,S,L) { - var Q,P,_H; - var T = [], RGB = []; - - // ** Q ** - if (L <= 0.5) Q = L*(1+S); - else Q = L + S - (L*S); - - //** P ** - P = 2*L - Q; - - //** H *** - _H = H/360; - - T.push(_H + 1/3); - T.push(_H); - T.push(_H - 1/3); - - for (var i = 0; i<3; i++) { - if (T[i]<0) T[i] += 1; - else if (T[i]>1) T[i] -= 1; - - if (T[i] < 1/6) RGB.push(P + (Q - P)*6*T[i]); - else if (T[i] < 0.5) RGB.push(Q); - else if (T[i] < 2/3) RGB.push(P + (Q - P)*(2/3 - T[i])*6); - else RGB.push(P); - } - - return { - r: RGB[0], - g: RGB[1], - b: RGB[2] - }; - } -}; - -dhtmlXColorPicker.prototype._checkIeVersion = function() { - var answer; - var str = navigator.userAgent.match(/(MSIE)\s(\d\.\d)/i); - answer = (str && str[2])? parseInt(str[2]): null; - return answer; -}; - -dhtmlXColorPicker.prototype.setCustomColors = function() { - if (this.memory == null) { - this.initMemoryColors(); - this.conf.customColors = true; - } - - var i, l, value,colors, - q,w; - l = arguments.length; - for (i=0; i=0; i--) { - if (arr[i] == el) { - answer = i; - break; - } - } - - return answer; -}; - -dhtmlXColorPicker.prototype.destructMemory = function() { - if (this.memory == null) { - return; - } - this.hideMemory(); - - var button = this._controllerNodes.memory_block.childNodes[0].firstChild; - this._labelNodes.btnAddColor = null; - if (typeof(window.addEventListener) == "function") { - button.removeEventListener("click", this.saveColor, false); - } else { - button.detachEvent("onclick", this.saveColor); - } - - this.memory.remove(); - - this._controllerNodes.memory_block.innerHTML = ""; - this.memory = null; -}; - -dhtmlXColorPicker.prototype.Memory = function(base) { - var that = this, selected = null, - dfValue = { - red: 255, - blue: 255, - green: 255, - hue: 0, - sat: 0, - lum: 100 - }; - - this.select = function() { - var target = (this != window)? this: event.srcElement; - var contr = contr || target.dhxpc_memory; - - if (selected != null) { - that.unSelect(); - } - selected = contr; - contr.domElement.className += " dhxcp_memory_el_select"; - - if (typeof(that.onSelect) == "function") { - that.onSelect(contr); - } - }; - - this.onSelect = null; - this.onSave = null; - - this._createMemoryController = function (el) { - var data = { - domElement: el, - value: dhx4._copyObj(dfValue) - }; - - el.dhxpc_memory = data; - - if (typeof(window.addEventListener) == "function") { - el.addEventListener("click", that.select, false); - } else { - el.attachEvent("onclick", that.select); - } - - return data; - }; - - this._findMemoryControllers = function (base) { - var divs = base.getElementsByTagName("a"),i,l, - answer = []; - l = divs.length; - for (i=0; i"+ - ""+ // value - ""+ // new_value - "
                    "+ - (this.conf.combo_image?"
                    "+this.modes[this.conf.opts_type].getTopImage(null, this.conf.enabled)+"
                    ":""); - this.cont.appendChild(this.base); - - this.list = document.createElement("DIV"); - this.list._listId = window.dhx4.newId(); // used when combo attached to popup - this.list.style.display = "none"; - document.body.insertBefore(this.list, document.body.firstChild); - - // auto-subload logic - this._doOnListScroll = function() { - if (that.conf.s_tm != null) window.clearTimeout(that.conf.s_tm); - that.conf.s_tm = window.setTimeout(that._doOnListScrollAction, that.conf.s_time); - } - this._doOnListScrollAction = function() { - that.conf.s_tm = null; - if (that.conf.s_mode == "scroll" && that.list.scrollHeight - that.list.scrollTop - 10 < that.list.clientHeight) { - that._subloadRequest(); - } - } - if (typeof(window.addEventListener) == "function") { - this.list.addEventListener("scroll", this._doOnListScroll, false); - } else { - this.list.attachEvent("onscroll", this._doOnListScroll); - } - - // apply skin - this.setSkin(skin||window.dhx4.skin||(typeof(dhtmlx)!="undefined"?dhtmlx.skin:null)||window.dhx4.skinDetect("dhxcombo")||"material"); - - this._updateTopImage = function(id) { - - if (!this.conf.combo_image) return; - - if (id != null) { - this.base.lastChild.innerHTML = this.t[id].obj.getTopImage(this.t[id].item, this.conf.enabled); - } else { - this.base.lastChild.innerHTML = this.modes[this.conf.opts_type].getTopImage(null, this.conf.enabled); - } - - } - - /* filtering */ - - this._filterOpts = function(hiddenMode) { - if (this.conf.f_server_tm) window.clearTimeout(this.conf.f_server_tm); - - var k = String(this.base.firstChild.value).replace(new RegExp(this._fixRE(this.conf.f_ac_text)+"$","i"),""); - - - if (this.conf.f_server_last == k.toLowerCase()) { - this._checkForMatch(); - return; - } - - // check if user-filter specified - if (this.conf.f_url != null && this.checkEvent("onDynXLS")) { - this.conf.f_server_last = k.toLowerCase(); - this.callEvent("onDynXLS", [k]); - return; - } - - if (this.conf.f_url) { - // server - if (k.length == 0) { - this.conf.f_server_last = k.toLowerCase(); - this.clearAll(); - return; - } - - // check cache - if (this.conf.f_cache == true && this.conf.f_cache_data[k] != null) { - // load from cache - this.clearAll(); - this.conf.f_server_last = k.toLowerCase(); - for (var q=0; q 0 && that.base.offsetHeight > 0); - if (v == true && that.conf.enabled == true && that.conf.combo_focus == true && hiddenMode !== true) { - // autocomplete if any - if (that.conf.f_ac && that.conf.f_mode == "start" && that.conf.clear_bsp == false && that.list.firstChild != null) { - // autocomplete - var sid = that.list.firstChild._optId; - var text = String(that.t[sid].obj.getText(that.list.firstChild, true)); - if (k == that.base.firstChild.value && String(text).toLowerCase().indexOf(String(k).toLowerCase()) === 0) { - that.base.firstChild.value = text; - that.conf.f_ac_text = text.substr(k.length); - that._selectRange(k.length, text.length); - } - } - that._showList(true); - that._checkForMatch(); - } - callBack = null; - } - if (window.dhx4.ajax.method == "post") { - window.dhx4.ajax.post(that.conf.f_url, params, callBack); - } else if (window.dhx4.ajax.method == "get") { - window.dhx4.ajax.get(that.conf.f_url+(String(that.conf.f_url).indexOf("?")>=0?"&":"?")+params, callBack); - } - },200); - } - } else { - // client - this.conf.f_server_last = k.toLowerCase(); - - var r = (k.length==0?true:new RegExp((this.conf.f_mode=="start"?"^":"")+this._fixRE(k),"i")); - - var acText = null; - - for (var a in this.t) { - var t = false; - if (r !== true) { - if (this.conf.f_func != null) { - var option = this._getOption(this.t[a].item._optId, q); - t = (this.conf.f_func.apply(window, [k, option]) == true); - } else { - var text = this.t[a].obj.getText(this.t[a].item, true); - t = (r.test(text) == true); - } - } - if (r === true || t == true) { - this.t[a].item.style.display = ""; - if (acText == null && k.length > 0) acText = String(this.t[a].obj.getText(this.t[a].item, true)); - } else { - this.t[a].item.style.display = "none"; - } - } - - if (this.conf.f_ac && this.conf.f_mode == "start" && this.conf.clear_bsp == false && acText != null) { - this.conf.f_ac_text = acText.replace(new RegExp("^"+k,"i"),""); - this.base.firstChild.value = acText; - this._selectRange(this.conf.f_server_last.length, this.base.firstChild.value.length); - } - - // if any text selected and backspace pressed - clear highlight - // usefull for "between" mode - if (this.conf.f_mode == "between" && this.conf.clear_bsp == true) { - this._checkForMatch(true); - } - - if (hiddenMode !== true) { - this._showList(true); - this._checkForMatch(); - } - } - } - - this._searchRO = function(s) { - if (this.conf.ro_tm) window.clearTimeout(this.conf.ro_tm); - this.conf.ro_text += s; - this._showList(); - for (var q=0; q - - - - - img_src - also add the 4th parameter to combobox constructor - "image" - checked - checkbox state, for combo with "checkbox" type, 0 by default - */ - - var t = {add:false,options:[]}; - - var root = (selectToObj==true?data:data.getElementsByTagName("complete")); - - if (root.length > 0) { - if (window.dhx4.s2b(root[0].getAttribute("add")) == true) t.add = true; - var nodes = root[0].childNodes; - for (var q=0; q - for (var a in {width:1, css:1, header:1, option:1}) { - if (col.getAttribute(a) != null) colData[a] = col.getAttribute(a); - } - - // extra header and option if any - // - for (var a in {header:1, option:1}) { - var h = col.getElementsByTagName(a); - if (h[0] != null && h[0].firstChild != null) colData[a] = window.dhx4._xmlNodeValue(h[0]); - } - - if (template.columns == null) template.columns = []; - template.columns.push(colData); - - } - - col = null; - - } - - } - } - n = null; - } - this.setTemplate(template); - } - // option - if (String(nodes[q].tagName).toLowerCase() == "option") { - var optSelected = false; - if (selectToObj == true) { - optSelected = (t.options.length==selectedIndex); - } else { - optSelected = window.dhx4.s2b(nodes[q].getAttribute("selected")); - } - var opt = { - value: nodes[q].getAttribute("value"), - text: window.dhx4._xmlNodeValue(nodes[q]), - selected: optSelected, - checked: window.dhx4.s2b(nodes[q].getAttribute("checked")) - }; - // images - for (var a in {img:1,img_dis:1,img_src:1,img_src_dis:1,css:1}) { - if (nodes[q].getAttribute(a) != null) opt[a] = nodes[q].getAttribute(a); - } - // text - for (var w=0; w hide list if any - this._doOnBodyMouseDown = function() { - if (that.conf.clear_click) { - that.conf.clear_click = false; - return; - } - that._confirmSelect("blur"); - } - - // input focus/blur - this._doOnInputFocus = function() { - that.conf.clear_blur = false; - // if forus back to input - cancel confirm (occured when user clicked on arrow while list opened) - if (that.conf.tm_confirm_blur) window.clearTimeout(that.conf.tm_confirm_blur); - // ev - if (that.conf.combo_focus == false) { - that.conf.combo_focus = true; - if (that.conf.skin == "material" && that.base.className.match(/dhxcombo_actv/) == null) { - that.base.className += " dhxcombo_actv"; - } - that.callEvent("onFocus",[]); - } - } - this._doOnInputBlur = function() { - if (that.conf.clear_blur == true) { - that.conf.clear_blur = false; - return; - } - // start confirm tm - if (that.conf.tm_confirm_blur) window.clearTimeout(that.conf.tm_confirm_blur); - that.conf.tm_confirm_blur = window.setTimeout(function(){ - if (that.conf.clear_click == false) { - // if (that._isListVisible()) that._hideList(); - that._confirmSelect("blur"); - that.conf.combo_focus = false; - if (that.conf.skin == "material" && that.base.className.match(/dhxcombo_actv/) != null) { - that.base.className = that.base.className.replace(/\s*dhxcombo_actv/gi, ""); - } - that.callEvent("onBlur",[]); - } - },20); - } - - // input events, typing/filtering - this._doOnInputKeyUp = function(e) { - e = e||event; - - if (that.conf.f_mode != false) { - that.conf.clear_bsp = (e.keyCode==8||e.keyCode==46); // backspace(8) and delete(46) - that._filterOpts(); - return; - } else { - that._checkForMatch(); - } - } - - this._doOnInputKeyDown = function(e) { - - e = e||event; - - // console.log("onkeypress ", e.keyCode, " ", e.charCode) - - // up (38) /down (40) - if ((e.keyCode == 38 || e.keyCode == 40) && !e.ctrlKey && !e.shiftKey && !e.altKey) { - if (e.preventDefault) e.preventDefault(); else e.returnValue = false; - e.cancelBubble = true; - that._keyOnUpDown(e.keyCode==38?-1:1); - } - - // F2 - if (e.keyCode == 113) { - if (!that._isListVisible()) { - that._showList(); - if (that.base.firstChild.value == that.conf.last_text) { - that._setSelected(that.conf.last_selected, true, true); - that.base.firstChild.value = that.conf.last_text; - that.conf.f_server_last = that.base.firstChild.value.toLowerCase(); - } else { - that.conf.f_server_last = that.base.firstChild.value.toLowerCase(); - if (that.conf.f_mode == false) that._checkForMatch(); - } - } else { - - } - } - - // esc - if (e.keyCode == 27) { - // cancel operation, restore last value - if (e.preventDefault) e.preventDefault(); else e.returnValue = false; - e.cancelBubble = true; - that._cancelSelect(); - } - - // enter - if (e.keyCode == 13) { - if (e.preventDefault) e.preventDefault(); // if combo attached to form - that._confirmSelect("kbd"); - } - - // selection in r/o mode - if (that.conf.ro_mode == true && ((e.keyCode >= 48 && e.keyCode <= 57) || (e.keyCode >= 65 && e.keyCode <= 90))) { - that._searchRO(String.fromCharCode(e.keyCode).toLowerCase()); - e.cancelBubble = true; - } - - that.conf.clear_key = true; - that.callEvent("onKeyPressed",[e.keyCode||e.charCode]); - } - - this._doOnInputKeyPress = function(e) { - if (that.conf.clear_key) { - that.conf.clear_key = false; - return; - } - e = e||event; - that.callEvent("onKeyPressed",[e.keyCode||e.charCode]); - } - - this._keyOnUpDown = function(dir) { - - // select(just hover) next/prev item in a list - - var item = null; - if (this.conf.last_hover) { - item = this.t[this.conf.last_hover].item; - } else if (this.conf.last_selected) { - item = this.t[this.conf.last_selected].item; - } - - if (!item && this._getListVisibleCount() == 0) return; - if (item != null && item.style.display != "") item = null; - - this._showList(); - - if (item != null) { - // check if item highlighted - if (this.t[item._optId].obj.isSelected(item)) item = this._getNearItem(item, dir); - } else { - item = this.list.firstChild; - if (item.style.display != "") item = this._getNearItem(item, 1); - } - - if (item == null) return; // first/last - - this._setSelected(item._optId, true, true); - - if (this.conf.f_mode == false) { - this.base.firstChild.value = this.t[item._optId].obj.getText(item, true); - } else { - var text = String(this.t[item._optId].obj.getText(item, true)); - if (this.conf.f_mode == "start" && this.conf.f_ac == true) { - if (text.toLowerCase().indexOf(this.conf.f_server_last) === 0) { - // try to find match and select part of text - this.conf.f_ac_text = text.substring(this.conf.f_server_last.length, text.length); - this.base.firstChild.value = text; - this._selectRange(this.conf.f_server_last.length, this.base.firstChild.value.length); - } else { - // insert all text and select - this.base.firstChild.value = text; - this.conf.f_server_last = this.base.firstChild.value.toLowerCase(); - this._selectRange(0, this.base.firstChild.value.length); - } - } else { - // just insert text into main input - this.base.firstChild.value = text; - this.conf.f_server_last = this.base.firstChild.value.toLowerCase(); - } - } - - // - item = null; - } - - this.conf.evs_nodes = [ - {node: document.body, evs: {mousedown: "_doOnBodyMouseDown"}}, - {node: this.base, evs: {mousedown: "_doOnBaseMouseDown"}}, - {node: this.base.firstChild, evs: {keyup: "_doOnInputKeyUp", keydown: "_doOnInputKeyDown", keypress: "_doOnInputKeyPress", focus: "_doOnInputFocus", blur: "_doOnInputBlur"}}, - {node: this.list, evs: {mousemove: "_doOnListMouseMove", mousedown: "_doOnListMouseDown", mouseup: "_doOnListMouseUp", mouseout: "_doOnListMouseOut"}} - ]; - for (var q=0; q - - if (typeof(selectId) == "string") selectId = document.getElementById(selectId); - - // collect params - var comboWidth = width || selectId.offsetWidth; - var formName = selectId.getAttribute("name")||null; - - // add node - var comboNode = document.createElement("SPAN"); - selectId.parentNode.insertBefore(comboNode, selectId); - - // combo mode - var comboMode = selectId.getAttribute("mode")||selectId.getAttribute("opt_type")||"option"; - - // init combo - var combo = new dhtmlXCombo(comboNode, formName, comboWidth, comboMode); - comboNode = null; - - var imagePath = selectId.getAttribute("imagePath"); - if (imagePath) combo.setImagePath(imagePath); - - var defImg = selectId.getAttribute("defaultImage"); - var defImgDis = selectId.getAttribute("defaultImageDis"); - if (window.dhx4.s2b(defImgDis) == true) defImgDis = true; - if (defImg != null || defImgDis != null) combo.setDefaultImage(defImg, defImgDis); - - // options - var opts = combo._xmlToObj([selectId], true, selectId.selectedIndex); - if (opts.options.length > 0) combo.addOption(opts.options); - opts = null; - - // remove select - selectId.parentNode.removeChild(selectId); - selectId = null; - - return combo; -}; - -/* common funcs */ -dhtmlXCombo.prototype.setName = function(name) { // change name for form - this.conf.form_name = name; - this.base.childNodes[1].name = name; - this.base.childNodes[2].name = name.replace(/(\[.*)?$/, "_new_value$1"); -}; - -dhtmlXCombo.prototype.readonly = function(mode) { // enable/disable readonly mode - if (window.dhx4.s2b(mode)) { - this.base.firstChild.setAttribute("readOnly", "true"); - this.conf.ro_mode = true; - } else { - this.base.firstChild.removeAttribute("readOnly"); - this.conf.ro_mode = false; - } -}; - -dhtmlXCombo.prototype.setPlaceholder = function(text) { // new in 4.0, limited support - if (typeof(text) == "undefined" || text == null) text = ""; - this.base.firstChild.setAttribute("placeholder", String(text)); -}; - -dhtmlXCombo.prototype.setTemplate = function(tpl) { - for (var a in tpl) { - if (typeof(this.conf.template[a]) != "undefined") { - if (a == "header") { - this.conf.template[a] = window.dhx4.s2b(tpl[a]); - } else { - this.conf.template[a] = String(tpl[a]); - } - } - }; - - // columns - if (tpl.columns != null) { - this._mcMakeTemplate(tpl.columns); - } else { - this._mcDetachHeader(); - } - - // template changed, update combo text and update rendered options - for (var a in this.t) { - this.t[a].obj.setText(this.t[a].item, this.t[a].item._conf.text); - }; - - this._confirmSelect("template"); -}; - -dhtmlXCombo.prototype.setSkin = function(skin) { - if (skin == this.conf.skin) return; - this.conf.skin = skin; - this.base.className = "dhxcombo_"+this.conf.skin+(this.conf.enabled?"":" dhxcombo_disabled"); - this.list.className = "dhxcombolist_"+this.conf.skin+(this.hdr!=null?" dhxcombolist_multicolumn":""); - if (this.hdr != null) this.hdr.className = "dhxcombolist_"+this.conf.skin+" dhxcombolist_hdr"; - this.conf.i_ofs = (skin == "material"?26:23); - this._adjustBase(); -}; - -dhtmlXCombo.prototype.getInput = function() { // returns input, new in 4.0 - return this.base.firstChild; -}; -dhtmlXCombo.prototype.getButton = function() { // returns button, new in 4.0 - return this.base.childNodes[this.base.childNodes.length-(this.conf.combo_image?2:1)]; -}; -dhtmlXCombo.prototype.getList = function() { // do we need it? - return this.list; -}; -dhtmlXCombo.prototype.getBase = function() { // do we need it? - return this.base; -}; - -dhtmlXCombo.prototype.getParent = function() { // do we need it? - return this.DOMParent; -}; - -dhtmlXCombo.prototype.forEachOption = function(handler) { // iterator, new in 4.0 - for (var q=0; q= this.list.childNodes.length) return; - var id = this.list.childNodes[index]._optId; - this._setSelected(id, this._isListVisible(), true); - this._confirmSelect("script"); -}; - -dhtmlXCombo.prototype.unSelectOption = function() { // unselects option - - if (this.conf.last_hover != null) { - this.t[this.conf.last_hover].obj.setSelected(this.t[this.conf.last_hover].item, false); - this.conf.last_hover = null; - } - - this.base.firstChild.value = ""; - - if (this.conf.f_mode != false) { - this._filterOpts(true); - } - this._hideList(); - this._updateTopImage(null); - - this._confirmSelect("script"); - -}; - -dhtmlXCombo.prototype.confirmValue = function() { - this._confirmSelect("script"); -}; - -/* enable/disable */ -dhtmlXCombo.prototype.enable = function(mode) { - - mode = (typeof(mode)=="undefined"?true:window.dhx4.s2b(mode)); - if (this.conf.enabled == mode) return; - - this.conf.enabled = mode; - - if (mode) { - this.base.className = "dhxcombo_"+this.conf.skin; - this.base.firstChild.removeAttribute("disabled"); - } else { - this._hideList(); - this.base.className = "dhxcombo_"+this.conf.skin+" dhxcombo_disabled"; - this.base.firstChild.setAttribute("disabled","true"); - } - - // update disabled image if any - this._updateTopImage(this.conf.last_selected); -}; - -dhtmlXCombo.prototype.disable = function(mode) { - mode = (typeof(mode)=="undefined"?true:window.dhx4.s2b(mode)); - this.enable(!mode); -}; - -dhtmlXCombo.prototype.isEnabled = function() { - return (this.conf.enabled==true); -}; - -/* visibility */ -dhtmlXCombo.prototype.show = function(mode) { - if (typeof(mode) == "undefined") mode = true; else mode = window.dhx4.s2b(mode); - this.base.style.display = (mode==true?"":"none"); -}; - -dhtmlXCombo.prototype.hide = function(mode) { - if (typeof(mode) == "undefined") mode = true; - this.show(!mode); -}; - -dhtmlXCombo.prototype.isVisible = function() { - return (this.base.style.display==""); -}; - - -/* filtering */ -dhtmlXCombo.prototype.setFilterHandler = function(f) { - if (typeof(f) == "function") { - this.conf.f_func = f; - this.conf.f_mode = true; - this.conf.f_dyn = this.conf.f_cache = this.conf.f_url = null; - } else if (typeof(f) == "string" && typeof(window[f]) == "function") { - this.conf.f_func = window[f]; - this.conf.f_mode = true; - this.conf.f_dyn = this.conf.f_cache = this.conf.f_url = null; - } else { - this.conf.f_func = null; - } -}; -dhtmlXCombo.prototype.enableFilteringMode = function(mode, url, cache, dyn) { - if (mode == true || mode == "between") { - this.conf.f_mode = (mode==true?"start":"between"); - if (url) { - this.conf.f_url = url; - this.conf.f_cache = window.dhx4.s2b(cache); - this.conf.f_dyn = window.dhx4.s2b(dyn); - } else { - this.conf.f_url = null; - this.conf.f_cache = false; - this.conf.f_dyn = false; - } - } else { - this.conf.f_mode = false; - this.conf.f_url = null; - this.conf.f_cache = false; - this.conf.f_dyn = false; - } -}; - -dhtmlXCombo.prototype.filter = function(handler, showList) { // new in 4.0 - for (var q=0; qb?r:-1*r); - }); - } else if (typeof(mode) == "function" || typeof(window[mode]) == "function") { - if (typeof(window[mode]) == "function") mode = window[mode]; - r.sort(function(a,b){ - return mode.apply(window, [a[1],b[1]]); - }); - } - // reorder - while (this.list.childNodes.length > 0) this.list.removeChild(this.list.lastChild); - for (var q=0; q onBottom) onBottom = null; - - var itemsToShow = Math.min((onBottom==null?onTop:onBottom), this.conf.opts_count, itemsCount); - var h = (itemsToShow a2) { - // on bottom - this.list.scrollTop = y2-this.list.clientHeight+(this.hdr!=null&&this.conf.template.header==true?-this.conf.sp[this.conf.skin].scr_ofs:0); - } - -}; - -/* in-list selection/highlighting */ -dhtmlXCombo.prototype._setSelected = function(id, scrollToItem, updateImg, mouseMove) { - - this.conf.temp_selected = null; - - if (updateImg) this._updateTopImage(id); - - if (id != null && this.conf.last_hover == id) { - if (scrollToItem) this._scrollToItem(id); - return; - } - - if (this.conf.last_hover != null) { - this.t[this.conf.last_hover].obj.setSelected(this.t[this.conf.last_hover].item, false); - this.conf.last_hover = null; - if (id == null) this.callEvent("onSelectionChange", []); - } - - if (id != null) { - - this.t[id].obj.setSelected(this.t[id].item, true); - this.conf.last_hover = id; - - if (mouseMove != true) { - this.conf.temp_selected = id; - this.callEvent("onSelectionChange", []); - } - - // last item selected, try subload - if (this.conf.s_mode == "select" && this.t[id].item == this.t[id].item.parentNode.lastChild) this._subloadRequest(); - - if (scrollToItem) this._scrollToItem(id); - - } - -}; - -// auto-subload -dhtmlXCombo.prototype._subloadRequest = function() { - - if (this.conf.f_url != null && this.conf.f_dyn == true && this.conf.f_dyn_end == false) { - - var params = "mask="+encodeURIComponent(this.conf.f_mask)+"&pos="+this.list.childNodes.length; - var t = this; - var callBack = function(r){ - - // cache - if (t.conf.f_cache) t.conf.f_cache_data[t.conf.f_mask].data.push(r.xmlDoc.responseXML); - var k = t.list.childNodes.length; - - // skip clear opts w/o add='true' - t.conf.f_loading = true; - t.load(r.xmlDoc.responseXML); - t.conf.f_loading = false; - - // if no more opts left on server, stop dyn requests - if (k == t.list.childNodes.length) { - t.conf.f_dyn_end = true; - if (t.conf.f_cache) t.conf.f_cache_data[t.conf.f_mask].dyn_end = true; - } - callBack = t = null; - } - if (window.dhx4.ajax.method == "post") { - window.dhx4.ajax.post(this.conf.f_url, params, callBack); - } else if (window.dhx4.ajax.method == "get") { - window.dhx4.ajax.get(this.conf.f_url+(String(this.conf.f_url).indexOf("?")>=0?"&":"?")+params, callBack); - } - } -}; - -/* add / remove options */ -dhtmlXCombo.prototype.addOption = function(value, text, css, img, selected) { - - // selected added in 4.0 - - /* - - single option, 4 params - z.addOption(value, text, css, img_src); - value, text, css (css string attached to the option, optional), img_src (path to the option icon image, just for "image" combo type) - - several options, array of array (in this case you can't use 4th parameter img_src - improve?) - z.addOption([["a","option A", "color:red;"],[],[],...]); - - several options, as an array of objects (you can use 4 parameters) - z.addOption([{value: "a", text: "option A", img_src: "../images/blue.gif", css:"color:red;"},{},{}...]); - - */ - - var toSelect = null; - - if (!(value instanceof Array)) { - // single option - var id = this._renderOption({value:value, text:text, css:css, img:img}); - if (toSelect == null && window.dhx4.s2b(selected) == true) toSelect = id; - - } else { - // array with opts - for (var q=0; q
                    "+(cols[q].option||" ")+"
                    "; - h += "
                    "+(cols[q].header||" ")+"
                    "; - // - this.conf.col_w += w+1; - } - - var w = 500; - var k = document.createElement("DIV"); - k.style.position = "absolute"; - k.style.top = "10px"; - k.style.left = -w*2+"px"; - k.style.width = w+"px"; - k.style.height = "50px"; - k.style.overflowY = "scroll"; - k.innerHTML = "
                     
                    "; - document.body.appendChild(k); - - this.conf.col_w += w-k.firstChild.offsetWidth+10; - - k.parentNode.removeChild(k); - k = null; - - this.conf.template.option = t; - this._mcAttachHeader(h); - - this.list.className += " dhxcombolist_multicolumn"; -}; - -dhtmlXCombo.prototype._mcAttachHeader = function(text) { - - if (this.hdr == null) { - - this.hdr = document.createElement("DIV"); - this.hdr.className = "dhxcombolist_"+this.conf.skin+" dhxcombolist_hdr"; - this.hdr.style.display = "none"; - - this.list.parentNode.insertBefore(this.hdr, this.list); - - if (typeof(window.addEventListener) == "function") { - this.hdr.addEventListener("mousedown", this._doOnListMouseDown, false); - } else { - this.hdr.attachEvent("onmousedown", this._doOnListMouseDown); - } - - // remove top-image from input - if (this.conf.opts_type == "checkbox" && this.conf.combo_image == true) { - this.conf.combo_image = false; - if (this.base.lastChild.className.match(/dhxcombo_top_image/) != null) this.base.removeChild(this.base.lastChild); - this._adjustBase(); - } - } - - this.hdr.innerHTML = "
                    "+text+"
                    "; - -}; - -dhtmlXCombo.prototype._mcDetachHeader = function() { - - if (this.hdr != null) { - - if (typeof(window.addEventListener) == "function") { - this.hdr.removeEventListener("mousedown", this._doOnListMouseDown, false); - } else { - this.hdr.detachEvent("onmousedown", this._doOnListMouseDown); - } - - this.hdr.parentNode.removeChild(this.hdr); - this.hdr = null; - } - - this.conf.col_w = null; - this.conf.item_h = null; - -}; - - -/****************************************************************************************************************************************************************************************************************/ - -/* options */ -dhtmlXCombo.prototype.modes = {}; // option types - -dhtmlXCombo.prototype.doWithItem = function(index, method, param1, param2) { // wrapper to perform opts operations from combo - - // get option inner id - var id = (index >= 0 && index < this.list.childNodes.length ? this.list.childNodes[index]._optId : null); - if (id == null) return null; // opt no found - if (typeof(this.t[id].obj[method]) != "function") return null; // function not found - - // generate params - var params = [this.t[id].item]; - for (var q=2; q 
                    "; - - if (data.css != null) { - item.lastChild.style.cssText = data.css; - item._conf.css = data.css; - } - - this.setText(item, data.text); - - return this; - }, - - destruct: function(item) { - item._conf = null; - }, - - update: function(item, data) { - item._conf.value = data.value; - item._conf.css = data.css; - item.lastChild.style.cssText = data.css; - this.setText(item, data.text); - }, - - setText: function(item, text, skip) { - item._conf.text = text; - var t = (typeof(text) == "object" ? window.dhx4.template(item._tpl.option, this.replaceHtml(item._conf.text, skip), true) : window.dhx4.trim(this.replaceHtml(item._conf.text, skip)||"")); - item.lastChild.innerHTML = (t.length==0?" ":t); - }, - - getText: function(item, asStringInput, asStringOption) { - if (window.dhx4.s2b(asStringInput) && typeof(item._conf.text) == "object") return window.dhx4.template(item._tpl.input, item._conf.text, true); - if (window.dhx4.s2b(asStringOption) && typeof(item._conf.text) == "object") return window.dhx4.template(item._tpl.option, item._conf.text, true); - return item._conf.text; - }, - - getValue: function(item) { - return item._conf.value; - }, - - getCss: function(item) { - return item._conf.css; - }, - - setSelected: function(item, state) { - item.className = "dhxcombo_option"+(state?" dhxcombo_option_selected":""); - }, - - isSelected: function(item) { - return String(item.className).indexOf("dhxcombo_option_selected") >= 0; - }, - - getExtraData: function(item) { - // optional function, - // adds extra data to option object returned by getOption() - return {type: "option"}; - }, - - replaceHtml: function(text, skip) { - if (text === 0) text = "0"; - if (this.html == true) return text; - if (typeof(skip) == "undefined" || skip == null) skip = {}; - if (typeof(text) == "object" && text) { - var t = {}; - for (var a in text) { - t[a] = (skip[a]==true?text[a]:this.replaceHtml(text[a])); - } - } else { - var t = (text||"").replace(/[\<\>\&\s]/g, function(t){ - switch (t) { - case "<": return "<"; - case ">": return ">"; - case "&": return "&"; - case " ": return " "; - } - return t; - }); - } - return t; - } - -}; - -/****************************************************************************************************************************************************************************************************************/ - -dhtmlXCombo.prototype.modes.checkbox = { - - image: true, // disable in code if multicolumn - html: false, - image_css: "dhxcombo_checkbox dhxcombo_chbx_#state#", - option_css: "dhxcombo_option_text dhxcombo_option_text_chbx", - - render: function(item, data) { - - if (this.image_css_regexp == null) this.image_css_regexp = new RegExp(this.image_css.replace("#state#","\\d*")); - - item._conf = {value: data.value, css: "", checked: window.dhx4.s2b(data.checked)}; - - item.className = "dhxcombo_option"; - - var skip = {}; // skip html replace - - if (data.multicol == true) { - data.text.checkbox = "
                     "; - skip.checkbox = true; - item.innerHTML = "
                    "; - } else { - item.innerHTML = "
                    "+ - "
                     
                    "; - } - - if (data.css != null) { - item.lastChild.style.cssText += data.css; - item._conf.css = data.css; - } - - this.setText(item, data.text, skip); - - return this; - }, - - setChecked: function(item, state) { - item._conf.checked = window.dhx4.s2b(state); - var css = String(this.image_css).replace("#state#",(item._conf.checked?"1":"0")); - this._changeChbxCss(item.childNodes, css); - }, - - _changeChbxCss: function(nodes, css) { - for (var q=0; q 0) { - this._changeChbxCss(nodes[q].childNodes, css); - } - } - }, - - isChecked: function(item) { - return (item._conf.checked==true); - }, - - getExtraData: function(item) { - return {type: "checkbox", checked: item._conf.checked}; - }, - - optionClick: function(item, ev, combo) { - // called when option clicked, return true allows selection+confirm, return false - not - var r = true; - var t = (ev.target||ev.srcElement); - while (r == true && t != null && t != item && t.className != null) { - if (t.className.match(this.image_css_regexp) != null) { - var args = [item._conf.value, !item._conf.checked]; - if (combo.callEvent("onBeforeCheck", args) === true) { - this.setChecked(item, !this.isChecked(item)); - combo.callEvent("onCheck", args); - }; - r = false; - args = null; - } else { - t = t.parentNode; - } - } - t = combo = item = null; - return r; - }, - - getTopImage: function(item, enabled) { - // returns html for top image - // if item not specified - default image - // enabled specify if combo enabled - return ""; - }, - - topImageClick: function(item, combo) { - // called when user clicked on top-image, - // return true/false to allow defailt action (open/close list) ot not - // for checkbox - perform default action - return true; - } - -}; - -dhtmlXComboExtend("checkbox", "option"); - -dhtmlXCombo.prototype.setChecked = function(index, mode) { - this.doWithItem(index, "setChecked", mode); -}; - -dhtmlXCombo.prototype.getChecked = function(index) { - // return checked values - var t = []; - for (var q=0; q
                    "+ - "
                     
                    "; - - if (data.css != null) { - item.lastChild.style.cssText += data.css; - item._conf.css = data.css; - } - - this.setText(item, data.text); - this.setImage(item, data.img, data.img_dis, data.img_path, data.img_def, data.img_def_dis); - - return this; - }, - - update: function(item, data) { - item._conf.value = data.value; - item._conf.css = data.css; - item.lastChild.style.cssText = data.css; - this.setText(item, data.text); - this.setImage(item, data.img, data.img_dis, data.img_path, data.img_def, data.img_def_dis); - }, - - setImage: function(item, img, img_dis, path, def, def_dis) { - - // image - if (img != null && img.length > 0) { - img = path+img; - } else if (def != null && def.length > 0) { - img = path+def; - } else { - img = null; - } - - // image - if (img_dis != null && img_dis.length > 0) { - img_dis = path+img_dis; - } else if (def_dis != null && def_dis.length > 0) { - img_dis = path+def_dis; - } else if (def_dis == true) { - img_dis = img; - } else { - img_dis = null; - } - - item._conf.img = img; - item._conf.img_dis = img_dis; - - item.firstChild.style.backgroundImage = (img!=null?"url("+img+")":"none"); - }, - - getExtraData: function(item) { - return {type: "image"}; - }, - - getTopImage: function(item, enabled) { - // returns html for top image - // if item not specified - default image - var a = (enabled?"img":"img_dis"); - if (item != null && item._conf[a] != null) return "
                    "; - return ""; - } - -}; - -dhtmlXComboExtend("image", "option"); - -dhtmlXCombo.prototype.setDefaultImage = function(img, imgDis) { - // sets default image - // set imgDis to tru to use the same image as for enabled combo, default - if (img != null) this.conf.img_def = img; - if (imgDis != null) this.conf.img_def_dis = imgDis; -}; -dhtmlXCombo.prototype.setImagePath = function(path) { - this.conf.img_path = path; -}; - diff --git a/themes/sources/dhtmlxCombo/codebase/dhtmlxcombo_deprecated.js b/themes/sources/dhtmlxCombo/codebase/dhtmlxcombo_deprecated.js deleted file mode 100644 index 2b9bb12..0000000 --- a/themes/sources/dhtmlxCombo/codebase/dhtmlxcombo_deprecated.js +++ /dev/null @@ -1,44 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* deprecated */ -dhtmlXCombo.prototype.loadXML = function(url, call) { - // loads list of options from XML - this.load(url, call); -}; -dhtmlXCombo.prototype.loadXMLString = function(url) { - // loads list of options from XML string - this.load(url); -}; -dhtmlXCombo.prototype.enableOptionAutoHeight = function() { - // enables or disables list auto height -}; -dhtmlXCombo.prototype.enableOptionAutoPositioning = function() { - // enables or disables options auto positioning -}; -dhtmlXCombo.prototype.enableOptionAutoWidth = function() { - // enables or disables options auto width -}; -dhtmlXCombo.prototype.destructor = function(){ - // destroys object and any related HTML elements - this.unload(); -}; -dhtmlXCombo.prototype.render = function() { - // enables/disables immideatly rendering after changes in combobox - // performance improved -}; -dhtmlXCombo.prototype.setOptionHeight = function() { - // sets height of combo list -}; -dhtmlXCombo.prototype.attachChildCombo = function() { - // no longer used -}; -dhtmlXCombo.prototype.setAutoSubCombo = function() { - // no longer used -}; - diff --git a/themes/sources/dhtmlxCombo/codebase/imgs/dhxcombo_material/dhxcombo_arrow_down.gif b/themes/sources/dhtmlxCombo/codebase/imgs/dhxcombo_material/dhxcombo_arrow_down.gif deleted file mode 100644 index a434339..0000000 Binary files a/themes/sources/dhtmlxCombo/codebase/imgs/dhxcombo_material/dhxcombo_arrow_down.gif and /dev/null differ diff --git a/themes/sources/dhtmlxCombo/codebase/imgs/dhxcombo_material/dhxcombo_arrow_down.svg b/themes/sources/dhtmlxCombo/codebase/imgs/dhxcombo_material/dhxcombo_arrow_down.svg deleted file mode 100644 index 5ef058d..0000000 --- a/themes/sources/dhtmlxCombo/codebase/imgs/dhxcombo_material/dhxcombo_arrow_down.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/themes/sources/dhtmlxCombo/codebase/imgs/dhxcombo_material/dhxcombo_arrow_down_dis.gif b/themes/sources/dhtmlxCombo/codebase/imgs/dhxcombo_material/dhxcombo_arrow_down_dis.gif deleted file mode 100644 index 49631ec..0000000 Binary files a/themes/sources/dhtmlxCombo/codebase/imgs/dhxcombo_material/dhxcombo_arrow_down_dis.gif and /dev/null differ diff --git a/themes/sources/dhtmlxCombo/codebase/imgs/dhxcombo_material/dhxcombo_chbx.gif b/themes/sources/dhtmlxCombo/codebase/imgs/dhxcombo_material/dhxcombo_chbx.gif deleted file mode 100644 index 812ab09..0000000 Binary files a/themes/sources/dhtmlxCombo/codebase/imgs/dhxcombo_material/dhxcombo_chbx.gif and /dev/null differ diff --git a/themes/sources/dhtmlxCombo/codebase/imgs/dhxcombo_skyblue/dhxcombo_arrow_down.gif b/themes/sources/dhtmlxCombo/codebase/imgs/dhxcombo_skyblue/dhxcombo_arrow_down.gif deleted file mode 100644 index 7fdb358..0000000 Binary files a/themes/sources/dhtmlxCombo/codebase/imgs/dhxcombo_skyblue/dhxcombo_arrow_down.gif and /dev/null differ diff --git a/themes/sources/dhtmlxCombo/codebase/imgs/dhxcombo_skyblue/dhxcombo_arrow_down_dis.gif b/themes/sources/dhtmlxCombo/codebase/imgs/dhxcombo_skyblue/dhxcombo_arrow_down_dis.gif deleted file mode 100644 index c256a28..0000000 Binary files a/themes/sources/dhtmlxCombo/codebase/imgs/dhxcombo_skyblue/dhxcombo_arrow_down_dis.gif and /dev/null differ diff --git a/themes/sources/dhtmlxCombo/codebase/imgs/dhxcombo_skyblue/dhxcombo_chbx.gif b/themes/sources/dhtmlxCombo/codebase/imgs/dhxcombo_skyblue/dhxcombo_chbx.gif deleted file mode 100644 index 60d880e..0000000 Binary files a/themes/sources/dhtmlxCombo/codebase/imgs/dhxcombo_skyblue/dhxcombo_chbx.gif and /dev/null differ diff --git a/themes/sources/dhtmlxCombo/codebase/imgs/dhxcombo_terrace/dhxcombo_arrow_down.gif b/themes/sources/dhtmlxCombo/codebase/imgs/dhxcombo_terrace/dhxcombo_arrow_down.gif deleted file mode 100644 index a434339..0000000 Binary files a/themes/sources/dhtmlxCombo/codebase/imgs/dhxcombo_terrace/dhxcombo_arrow_down.gif and /dev/null differ diff --git a/themes/sources/dhtmlxCombo/codebase/imgs/dhxcombo_terrace/dhxcombo_arrow_down_dis.gif b/themes/sources/dhtmlxCombo/codebase/imgs/dhxcombo_terrace/dhxcombo_arrow_down_dis.gif deleted file mode 100644 index 49631ec..0000000 Binary files a/themes/sources/dhtmlxCombo/codebase/imgs/dhxcombo_terrace/dhxcombo_arrow_down_dis.gif and /dev/null differ diff --git a/themes/sources/dhtmlxCombo/codebase/imgs/dhxcombo_terrace/dhxcombo_chbx.gif b/themes/sources/dhtmlxCombo/codebase/imgs/dhxcombo_terrace/dhxcombo_chbx.gif deleted file mode 100644 index 524e320..0000000 Binary files a/themes/sources/dhtmlxCombo/codebase/imgs/dhxcombo_terrace/dhxcombo_chbx.gif and /dev/null differ diff --git a/themes/sources/dhtmlxCombo/codebase/imgs/dhxcombo_web/dhxcombo_arrow_down.gif b/themes/sources/dhtmlxCombo/codebase/imgs/dhxcombo_web/dhxcombo_arrow_down.gif deleted file mode 100644 index 72c0a72..0000000 Binary files a/themes/sources/dhtmlxCombo/codebase/imgs/dhxcombo_web/dhxcombo_arrow_down.gif and /dev/null differ diff --git a/themes/sources/dhtmlxCombo/codebase/imgs/dhxcombo_web/dhxcombo_arrow_down_dis.gif b/themes/sources/dhtmlxCombo/codebase/imgs/dhxcombo_web/dhxcombo_arrow_down_dis.gif deleted file mode 100644 index bf8f65c..0000000 Binary files a/themes/sources/dhtmlxCombo/codebase/imgs/dhxcombo_web/dhxcombo_arrow_down_dis.gif and /dev/null differ diff --git a/themes/sources/dhtmlxCombo/codebase/imgs/dhxcombo_web/dhxcombo_chbx.gif b/themes/sources/dhtmlxCombo/codebase/imgs/dhxcombo_web/dhxcombo_chbx.gif deleted file mode 100644 index 99e2f9f..0000000 Binary files a/themes/sources/dhtmlxCombo/codebase/imgs/dhxcombo_web/dhxcombo_chbx.gif and /dev/null differ diff --git a/themes/sources/dhtmlxCombo/codebase/skins/dhtmlxcombo_dhx_skyblue.css b/themes/sources/dhtmlxCombo/codebase/skins/dhtmlxcombo_dhx_skyblue.css deleted file mode 100644 index ee66d2b..0000000 --- a/themes/sources/dhtmlxCombo/codebase/skins/dhtmlxcombo_dhx_skyblue.css +++ /dev/null @@ -1,345 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: dhx_skyblue - include extra file: skins/dhx_skyblue.less -*/ - -div.dhxcombo_dhx_skyblue { - position: relative; - border: 1px solid #a4bed4; - overflow: hidden; - vertical-align: middle; - background-color: white; - font-size: 1px; - height: 22px; - -webkit-tap-highlight-color: rgba(0,0,0,0); -} -div.dhxcombo_dhx_skyblue input.dhxcombo_input { - position: relative; - top: 0px; - left: 1px; - height: 22px; - line-height: 21px; - *height: 20px; - *line-height: 19px; - border: 0px solid white; - outline: 0px solid white; - padding: 0px; - margin: 0px 0px 0px 2px; - background-color: white; - font-family: Tahoma, Helvetica; - font-size: 12px; - color: black; - vertical-align: middle; -} -div.dhxcombo_dhx_skyblue input.dhxcombo_input::-ms-clear { - display: none; -} -div.dhxcombo_dhx_skyblue div.dhxcombo_select_button { - position: absolute; - width: 18px; - height: 18px; - top: 1px; - right: 1px; - font-size: 1px; - border: 1px solid #a4bed4; - background-color: #e2efff; - background: linear-gradient(#e2efff,#d3e7ff); - background: -webkit-linear-gradient(#e2efff,#d3e7ff); - filter: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e2efff,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100); - border-radius: 2px; - cursor: pointer; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - overflow: hidden; -} -div.dhxcombo_dhx_skyblue div.dhxcombo_select_button div.dhxcombo_select_img { - position: relative; - width: 100%; - height: 100%; - background-image: url("../imgs/dhxcombo_skyblue/dhxcombo_arrow_down.gif"); - background-repeat: no-repeat; - background-position: center center; -} -div.dhxcombo_dhx_skyblue div.dhxcombo_top_image { - position: absolute; - left: 0px; - top: 0px; - width: 26px; - height: 22px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - overflow: hidden; - cursor: default; -} -div.dhxcombolist_dhx_skyblue { - position: absolute; - font-family: Tahoma, Helvetica; - font-size: 12px; - color: black; - border: 1px solid #a4bed4; - box-shadow: 0 2px 3px #ccc; - background-color: #e7f1ff; - border-bottom-left-radius: 2px; - border-bottom-right-radius: 2px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - overflow-x: none; - overflow-y: auto; - -moz-transition: height 0.15s ease 0s; - -webkit-tap-highlight-color: rgba(0,0,0,0); -} -div.dhxcombolist_dhx_skyblue div.dhxcombo_option { - position: relative; - font-size: inherit; - height: 20px; - line-height: 19px; - border-top: 1px solid #e7f1ff; - border-bottom: 1px solid #e7f1ff; - vertical-align: middle; - overflow: hidden; - cursor: default; -} -div.dhxcombolist_dhx_skyblue div.dhxcombo_option.dhxcombo_option_selected { - background-color: #b5deff !important; - border-top: 1px solid #a1ceed !important; - border-bottom: 1px solid #a1ceed !important; - color: black; -} -div.dhxcombolist_dhx_skyblue div.dhxcombo_option div.dhxcombo_option_text { - position: relative; - padding: 0px 4px; - white-space: nowrap; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -div.dhxcombolist_dhx_skyblue div.dhxcombo_option div.dhxcombo_option_text.dhxcombo_option_text_chbx { - position: relative; - padding: 0px 4px 0px 4px; - margin-left: 20px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - white-space: nowrap; -} -div.dhxcombolist_dhx_skyblue div.dhxcombo_option div.dhxcombo_checkbox { - position: absolute; - left: 1px; - top: 1px; - width: 20px; - height: 20px; - background-image: url("../imgs/dhxcombo_skyblue/dhxcombo_chbx.gif"); - background-repeat: no-repeat; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - overflow: hidden; - cursor: default; -} -div.dhxcombolist_dhx_skyblue div.dhxcombo_option div.dhxcombo_checkbox.dhxcombo_chbx_0 { - background-position: 0px 0px; -} -div.dhxcombolist_dhx_skyblue .dhxcombo_option div.dhxcombo_checkbox.dhxcombo_chbx_1 { - background-position: -18px 0px; -} -div.dhxcombolist_dhx_skyblue div.dhxcombo_option div.dhxcombo_option_text.dhxcombo_option_text_image { - position: relative; - padding: 0px 4px 0px 4px; - margin-left: 20px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - white-space: nowrap; -} -div.dhxcombo_dhx_skyblue div.dhxcombo_top_image div.dhxcombo_image, -div.dhxcombolist_dhx_skyblue div.dhxcombo_option div.dhxcombo_image { - position: absolute; - left: 3px; - top: 1px; - width: 20px; - height: 20px; - background-repeat: no-repeat; - background-position: center center; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - overflow: hidden; - cursor: default; -} -div.dhxcombo_dhx_skyblue.dhxcombo_disabled { - border: 1px solid #cccccc; - background-color: #fafafa; -} -div.dhxcombo_dhx_skyblue.dhxcombo_disabled input.dhxcombo_input { - color: #b2b2b2; - background-color: #fafafa; -} -div.dhxcombo_dhx_skyblue.dhxcombo_disabled div.dhxcombo_select_button { - border-color: #cccccc; - background-color: #fefefe; - background: linear-gradient(#fefefe,#f4f4f4); - background: -webkit-linear-gradient(#fefefe,#f4f4f4); - filter: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#fefefe,endColorStr=#f4f4f4) progid:DXImageTransform.Microsoft.Alpha(opacity=100); - cursor: default; -} -div.dhxcombo_dhx_skyblue.dhxcombo_disabled div.dhxcombo_select_button div.dhxcombo_select_img { - background-image: url("../imgs/dhxcombo_skyblue/dhxcombo_arrow_down_dis.gif"); -} -.dhxgrid_combo_icon { - position: absolute; - top: 0px; - right: 0px; - z-index: 1; -} -div.dhxcombo_in_grid_parent { - position: relative; - height: 100%; - top: 0px; -} -div.dhxcombo_in_grid_parent div.dhxcombo_dhx_skyblue { - position: absolute; - top: 0px; - left: -4px; - *top: -2px; - *height: 23px; -} -div.dhxcombo_in_grid_parent input.dhxcombo_input { - border-left: 2px solid white; - font-family: Arial; - font-size: 12px; - *margin-top: -3px; - *height: 18px; - *line-height: 17px; -} -div.dhxcombolist_dhx_skyblue.dhxcombolist_hdr { - border-bottom-width: 0px; - height: 27px; - line-height: 27px; - box-shadow: none; - border-bottom-left-radius: 0px; - border-bottom-right-radius: 0px; - background-color: #e2efff; - background: linear-gradient(#e2efff,#d3e7ff); - background: -webkit-linear-gradient(#e2efff,#d3e7ff); - filter: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e2efff,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100); -} -div.dhxcombolist_dhx_skyblue.dhxcombolist_hdr div.dhxcombo_hdrtext { - position: relative; - padding: 0px; - white-space: nowrap; - cursor: default; - font-family: Tahoma, Helvetica; - font-size: 11px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -div.dhxcombolist_dhx_skyblue.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell, -div.dhxcombolist_dhx_skyblue.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell_first { - float: left; - white-space: nowrap; - overflow: hidden; - position: relative; - z-index: 2; - border-left: 1px solid #a4bed4; - padding: 0px; - margin: 0px; -} -div.dhxcombolist_dhx_skyblue.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell_first, -div.dhxcombolist_dhx_skyblue.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell:first-child { - border-left-width: 0px; -} -div.dhxcombolist_dhx_skyblue.dhxcombolist_multicolumn div.dhxcombo_option { - height: 24px; - line-height: 24px; - margin-top: -1px; - z-index: 0; - border-top: 1px solid #d3e7ff; - border-bottom: 1px solid #d3e7ff; - background-color: white; -} -div.dhxcombolist_dhx_skyblue.dhxcombolist_multicolumn div.dhxcombo_option:last-child { - border-bottom-color: white; -} -div.dhxcombolist_dhx_skyblue.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_option_text { - padding: 0px; -} -div.dhxcombolist_dhx_skyblue.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell, -div.dhxcombolist_dhx_skyblue.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell_first { - float: left; - white-space: nowrap; - overflow: hidden; - position: relative; - border-left: 1px solid #d3e7ff; - padding: 0px; - margin: 0px; -} -div.dhxcombolist_dhx_skyblue.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell_first, -div.dhxcombolist_dhx_skyblue.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell:first-child { - border-left-width: 0px; -} -div.dhxcombolist_dhx_skyblue.dhxcombolist_multicolumn div.dhxcombo_option.dhxcombo_option_selected { - z-index: 1; -} -div.dhxcombolist_dhx_skyblue.dhxcombolist_multicolumn div.dhxcombo_option.dhxcombo_option_selected div.dhxcombo_cell { - border-left-color: #b5deff; -} -div.dhxcombolist_dhx_skyblue.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell_text, -div.dhxcombolist_dhx_skyblue.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell_text { - position: relative; - margin: 0px 10px; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - width: auto; - min-height: 32px; -} -.dhxcombo_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 10px; - height: 10px; - overflow: hidden; -} diff --git a/themes/sources/dhtmlxCombo/codebase/skins/dhtmlxcombo_dhx_terrace.css b/themes/sources/dhtmlxCombo/codebase/skins/dhtmlxcombo_dhx_terrace.css deleted file mode 100644 index d76dd46..0000000 --- a/themes/sources/dhtmlxCombo/codebase/skins/dhtmlxcombo_dhx_terrace.css +++ /dev/null @@ -1,331 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: dhx_terrace - include extra file: skins/dhx_terrace.less -*/ - -div.dhxcombo_dhx_terrace { - position: relative; - border: 1px solid #cccccc; - overflow: hidden; - vertical-align: middle; - background-color: white; - font-size: 1px; - height: 24px; - -webkit-tap-highlight-color: rgba(0,0,0,0); -} -div.dhxcombo_dhx_terrace input.dhxcombo_input { - position: absolute; - left: 1px; - top: 0px; - *top: 1px; - height: 24px; - line-height: 23px; - *height: 22px; - *line-height: 21px; - border: 0px solid white; - outline: 0px solid white; - padding: 0px; - margin: 0px 0px 0px 2px; - background-color: white; - vertical-align: top; - font-family: Arial, Helvetica; - font-size: 13px; - color: black; -} -div.dhxcombo_dhx_terrace input.dhxcombo_input::-ms-clear { - display: none; -} -div.dhxcombo_dhx_terrace div.dhxcombo_select_button { - position: absolute; - width: 16px; - height: 17px; - top: 4px; - right: 2px; - font-size: 1px; - cursor: pointer; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - overflow: hidden; -} -div.dhxcombo_dhx_terrace div.dhxcombo_select_button div.dhxcombo_select_img { - position: relative; - width: 100%; - height: 100%; - background-image: url("../imgs/dhxcombo_terrace/dhxcombo_arrow_down.gif"); - background-repeat: no-repeat; - background-position: center center; -} -div.dhxcombo_dhx_terrace div.dhxcombo_top_image { - position: absolute; - left: 0px; - top: 0px; - width: 23px; - height: 25px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - overflow: hidden; - cursor: default; -} -div.dhxcombo_dhx_terrace div.dhxcombo_top_image div.dhxcombo_image { - top: 4px; - *top: 3px; -} -div.dhxcombolist_dhx_terrace { - position: absolute; - border: 1px solid #cccccc; - box-shadow: 0 3px 5px rgba(127,127,127,0.35); - background-color: #f5f5f5; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - overflow-x: none; - overflow-y: auto; - -webkit-tap-highlight-color: rgba(0,0,0,0); -} -div.dhxcombolist_dhx_terrace div.dhxcombo_option { - position: relative; - font-size: inherit; - font-family: Arial, Helvetica; - font-size: 13px; - color: #333333; - height: 27px; - line-height: 27px; - vertical-align: middle; - overflow: hidden; - cursor: default; -} -div.dhxcombolist_dhx_terrace div.dhxcombo_option.dhxcombo_option_selected { - background-color: #fff3a1; -} -div.dhxcombolist_dhx_terrace div.dhxcombo_option.dhxcombo_option_selected .dhxcombo_option_text { - color: black; -} -div.dhxcombolist_dhx_terrace div.dhxcombo_option div.dhxcombo_option_text { - position: relative; - padding: 0px 4px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - white-space: nowrap; -} -div.dhxcombolist_dhx_terrace div.dhxcombo_option div.dhxcombo_option_text.dhxcombo_option_text_chbx { - position: relative; - padding: 0px 4px 0px 4px; - margin-left: 20px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - white-space: nowrap; -} -div.dhxcombolist_dhx_terrace div.dhxcombo_option div.dhxcombo_checkbox { - position: absolute; - left: 3px; - width: 18px; - height: 18px; - background-image: url("../imgs/dhxcombo_terrace/dhxcombo_chbx.gif"); - background-repeat: no-repeat; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - overflow: hidden; - cursor: default; -} -div.dhxcombolist_dhx_terrace div.dhxcombo_option div.dhxcombo_checkbox { - top: 5px; -} -div.dhxcombolist_dhx_terrace div.dhxcombo_option div.dhxcombo_checkbox.dhxcombo_chbx_1 { - background-position: 0px 0px; -} -div.dhxcombolist_dhx_terrace div.dhxcombo_option div.dhxcombo_checkbox.dhxcombo_chbx_0 { - background-position: -18px 0px; -} -div.dhxcombolist_dhx_terrace div.dhxcombo_option div.dhxcombo_option_text.dhxcombo_option_text_image { - position: relative; - padding: 0px 4px 0px 4px; - margin-left: 20px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - white-space: nowrap; -} -div.dhxcombolist_dhx_terrace div.dhxcombo_option div.dhxcombo_image { - top: 5px; -} -div.dhxcombo_dhx_terrace div.dhxcombo_top_image div.dhxcombo_image, -div.dhxcombolist_dhx_terrace div.dhxcombo_option div.dhxcombo_image { - position: absolute; - top: 3px; - left: 3px; - width: 18px; - height: 18px; - background-repeat: no-repeat; - background-position: center center; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - overflow: hidden; - cursor: default; -} -div.dhxcombolist_dhx_terrace div.dhxcombo_option div.dhxcombo_image { - top: 5px; -} -div.dhxcombo_dhx_terrace.dhxcombo_disabled { - border: 1px solid #d4d4d4; - background-color: #fcfcfc; -} -div.dhxcombo_dhx_terrace.dhxcombo_disabled input.dhxcombo_input { - color: #bbbbbb; - background-color: #fcfcfc; -} -div.dhxcombo_dhx_terrace.dhxcombo_disabled div.dhxcombo_select_button div.dhxcombo_select_img { - background-image: url("../imgs/dhxcombo_terrace/dhxcombo_arrow_down_dis.gif"); - cursor: default; -} -.dhxgrid_combo_icon { - position: absolute; - z-index: 1; - top: 0px; - right: 0px; -} -div.dhxcombo_in_grid_parent { - position: relative; - height: 100%; - top: 0px; -} -div.dhxcombo_in_grid_parent div.dhxcombo_dhx_terrace { - position: absolute; - top: 3px; - left: -22px; - border-color: #fff3a1; -} -div.dhxcombo_in_grid_parent input.dhxcombo_input { - border-left: 20px solid white; - font-family: Arial; - font-size: 12px; -} -div.dhxcombolist_dhx_terrace.dhxcombolist_hdr { - border-bottom-width: 0px; - height: 31px; - line-height: 31px; - box-shadow: none; -} -div.dhxcombolist_dhx_terrace.dhxcombolist_hdr div.dhxcombo_hdrtext { - position: relative; - padding: 0px; - white-space: nowrap; - cursor: default; - font-family: Arial, Helvetica; - font-size: 13px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -div.dhxcombolist_dhx_terrace.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell, -div.dhxcombolist_dhx_terrace.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell_first { - float: left; - white-space: nowrap; - overflow: hidden; - position: relative; - z-index: 2; - border-left: 1px solid #f5f5f5; - padding: 0px; - margin: 0px; -} -div.dhxcombolist_dhx_terrace.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell_first, -div.dhxcombolist_dhx_terrace.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell:first-child { - border-left-width: 0px; -} -div.dhxcombolist_dhx_terrace.dhxcombolist_multicolumn div.dhxcombo_option { - height: 27px; - line-height: 27px; - margin-top: -1px; - z-index: 0; - border-top: 1px solid #f5f5f5; - border-bottom: 1px solid #f5f5f5; - background-color: white; -} -div.dhxcombolist_dhx_terrace.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_option_text { - padding: 0px; -} -div.dhxcombolist_dhx_terrace.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell, -div.dhxcombolist_dhx_terrace.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell_first { - float: left; - white-space: nowrap; - overflow: hidden; - position: relative; - border-left: 1px solid #f5f5f5; - padding: 0px; - margin: 0px; -} -div.dhxcombolist_dhx_terrace.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell_first, -div.dhxcombolist_dhx_terrace.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell:first-child { - border-left-width: 0px; -} -div.dhxcombolist_dhx_terrace.dhxcombolist_multicolumn div.dhxcombo_option.dhxcombo_option_selected { - z-index: 1; - background-color: #fff3a1; - border-top-color: #cccccc; - border-bottom-color: #cccccc; -} -div.dhxcombolist_dhx_terrace.dhxcombolist_multicolumn div.dhxcombo_option.dhxcombo_option_selected div.dhxcombo_cell { - border-left-color: #fff3a1; - color: black; -} -div.dhxcombolist_dhx_terrace.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell_text, -div.dhxcombolist_dhx_terrace.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell_text { - position: relative; - margin: 0px 10px; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - width: auto; - min-height: 32px; -} -.dhxcombo_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 30px; - height: 10px; - overflow: hidden; -} diff --git a/themes/sources/dhtmlxCombo/codebase/skins/dhtmlxcombo_dhx_web.css b/themes/sources/dhtmlxCombo/codebase/skins/dhtmlxcombo_dhx_web.css deleted file mode 100644 index e2e3cab..0000000 --- a/themes/sources/dhtmlxCombo/codebase/skins/dhtmlxcombo_dhx_web.css +++ /dev/null @@ -1,326 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: dhx_web - include extra file: skins/dhx_web.less -*/ - -div.dhxcombo_dhx_web { - position: relative; - border: 1px solid #d6d6d6; - overflow: hidden; - vertical-align: middle; - background-color: white; - font-size: 1px; - height: 22px; - -webkit-tap-highlight-color: rgba(0,0,0,0); -} -div.dhxcombo_dhx_web input.dhxcombo_input { - position: absolute; - left: 1px; - top: 0px; - height: 22px; - line-height: 21px; - *height: 20px; - *line-height: 19px; - border: 0px solid white; - outline: 0px solid white; - padding: 0px; - margin: 0px 0px 0px 4px; - background-color: white; - font-family: Tahoma, Helvetica; - font-size: 12px; - color: black; - vertical-align: top; -} -div.dhxcombo_dhx_web input.dhxcombo_input::-ms-clear { - display: none; -} -div.dhxcombo_dhx_web div.dhxcombo_select_button { - position: absolute; - width: 18px; - height: 18px; - top: 2px; - right: 2px; - font-size: 1px; - background-color: #3da0e3; - cursor: pointer; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - overflow: hidden; -} -div.dhxcombo_dhx_web div.dhxcombo_select_button div.dhxcombo_select_img { - position: relative; - width: 100%; - height: 100%; - background-image: url("../imgs/dhxcombo_web/dhxcombo_arrow_down.gif"); - background-repeat: no-repeat; - background-position: center center; -} -div.dhxcombo_dhx_web div.dhxcombo_top_image { - position: absolute; - left: 0px; - top: 0px; - width: 26px; - height: 22px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - overflow: hidden; - cursor: default; -} -div.dhxcombo_dhx_web div.dhxcombo_top_image div.dhxcombo_image { - *top: 0px; -} -div.dhxcombolist_dhx_web { - position: absolute; - border: 1px solid #ffffff; - *border: 1px solid #ccc; - box-shadow: 0px 3px 6px rgba(0,0,0,0.35); - background-color: #f4f4f4; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - overflow-x: none; - overflow-y: auto; - -webkit-tap-highlight-color: rgba(0,0,0,0); -} -div.dhxcombolist_dhx_web div.dhxcombo_option { - position: relative; - font-size: inherit; - font-family: Tahoma, Helvetica; - font-size: 12px; - color: #000000; - height: 24px; - line-height: 23px; - vertical-align: middle; - overflow: hidden; - cursor: default; -} -div.dhxcombolist_dhx_web div.dhxcombo_option.dhxcombo_option_selected { - background-color: #85d3ff; -} -div.dhxcombolist_dhx_web div.dhxcombo_option.dhxcombo_option_selected .dhxcombo_option_text { - color: #000000; -} -div.dhxcombolist_dhx_web div.dhxcombo_option div.dhxcombo_option_text { - position: relative; - padding: 0px 4px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - white-space: nowrap; -} -div.dhxcombolist_dhx_web div.dhxcombo_option div.dhxcombo_option_text.dhxcombo_option_text_chbx { - position: relative; - padding: 0px 4px 0px 4px; - margin-left: 20px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - white-space: nowrap; -} -div.dhxcombolist_dhx_web div.dhxcombo_option div.dhxcombo_checkbox { - position: absolute; - left: 2px; - top: 3px; - width: 18px; - height: 18px; - background-image: url("../imgs/dhxcombo_web/dhxcombo_chbx.gif"); - background-repeat: no-repeat; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - overflow: hidden; - cursor: default; -} -div.dhxcombolist_dhx_web div.dhxcombo_option div.dhxcombo_checkbox.dhxcombo_chbx_0 { - background-position: 0px 0px; -} -div.dhxcombolist_dhx_web div.dhxcombo_option div.dhxcombo_checkbox.dhxcombo_chbx_1 { - background-position: -18px 0px; -} -div.dhxcombolist_dhx_web div.dhxcombo_option div.dhxcombo_option_text.dhxcombo_option_text_image { - position: relative; - padding: 0px 4px 0px 4px; - margin-left: 20px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - white-space: nowrap; -} -div.dhxcombolist_dhx_web div.dhxcombo_option div.dhxcombo_image { - top: 3px; -} -div.dhxcombo_dhx_web div.dhxcombo_top_image div.dhxcombo_image, -div.dhxcombolist_dhx_web div.dhxcombo_option div.dhxcombo_image { - position: absolute; - left: 3px; - top: 2px; - width: 18px; - height: 18px; - background-repeat: no-repeat; - background-position: center center; - -moz-user-select: none; - overflow: hidden; - cursor: default; -} -div.dhxcombo_dhx_web.dhxcombo_disabled { - background-color: #fafafa; -} -div.dhxcombo_dhx_web.dhxcombo_disabled input.dhxcombo_input { - color: #999999; - background-color: #fafafa; -} -div.dhxcombo_dhx_web.dhxcombo_disabled div.dhxcombo_select_button { - background-color: #a6a6a6; - cursor: default; -} -div.dhxcombo_dhx_web.dhxcombo_disabled div.dhxcombo_select_button div.dhxcombo_select_img { - background-image: url("../imgs/dhxcombo_web/dhxcombo_arrow_down_dis.gif"); -} -div.dhxcombolist_dhx_web.dhxcombolist_hdr { - height: 27px; - line-height: 27px; - border-color: #eaeaea; - border-bottom: 2px solid #53abe6; - box-shadow: none; -} -div.dhxcombolist_dhx_web.dhxcombolist_hdr div.dhxcombo_hdrtext { - position: relative; - padding: 0px; - white-space: nowrap; - cursor: default; - font-family: Tahoma, Helvetica; - font-size: 12px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -div.dhxcombolist_dhx_web.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell, -div.dhxcombolist_dhx_web.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell_first { - float: left; - white-space: nowrap; - overflow: hidden; - position: relative; - z-index: 2; - border-left: 1px solid #eaeaea; - padding: 0px; - margin: 0px; -} -div.dhxcombolist_dhx_web.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell_first, -div.dhxcombolist_dhx_web.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell:first-child { - border-left-width: 0px; -} -div.dhxcombolist_dhx_web.dhxcombolist_multicolumn { - border-top-width: 0px; -} -div.dhxcombolist_dhx_web.dhxcombolist_multicolumn div.dhxcombo_option { - height: 24px; - line-height: 24px; - margin-top: -1px; - z-index: 0; - border-top: 1px solid #ededed; - border-bottom: 1px solid #ededed; - background-color: white; -} -div.dhxcombolist_dhx_web.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_option_text { - padding: 0px; -} -div.dhxcombolist_dhx_web.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell, -div.dhxcombolist_dhx_web.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell_first { - float: left; - white-space: nowrap; - overflow: hidden; - position: relative; - border-left: 1px solid #ededed; - padding: 0px; - margin: 0px; -} -div.dhxcombolist_dhx_web.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell_first, -div.dhxcombolist_dhx_web.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell:first-child { - border-left-width: 0px; -} -div.dhxcombolist_dhx_web.dhxcombolist_multicolumn div.dhxcombo_option.dhxcombo_option_selected { - z-index: 1; - background-color: #85d3ff; - border-top-color: #85d3ff; - border-bottom-color: #85d3ff; -} -div.dhxcombolist_dhx_web.dhxcombolist_multicolumn div.dhxcombo_option.dhxcombo_option_selected div.dhxcombo_cell { - border-left-color: #85d3ff; - color: #000000; -} -div.dhxcombolist_dhx_web.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell_text, -div.dhxcombolist_dhx_web.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell_text { - position: relative; - margin: 0px 10px; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - width: auto; -} -div.dhxcombo_in_grid_parent { - position: relative; - height: 100%; - top: 0px; -} -div.dhxcombo_in_grid_parent div.dhxcombo_dhx_web { - position: absolute; - top: 3px; - left: 0px; - border-color: #85d3ff; -} -div.dhxcombo_in_grid_parent input.dhxcombo_input { - border-left: 2px solid white; - font-family: Arial; - font-size: 12px; -} -.dhxgrid_combo_icon { - position: absolute; - z-index: 1; - top: 0px; - right: 0px; -} -.dhxcombo_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 20px; - height: 10px; - overflow: hidden; -} diff --git a/themes/sources/dhtmlxCombo/codebase/skins/dhtmlxcombo_material.css b/themes/sources/dhtmlxCombo/codebase/skins/dhtmlxcombo_material.css deleted file mode 100644 index 0735e12..0000000 --- a/themes/sources/dhtmlxCombo/codebase/skins/dhtmlxcombo_material.css +++ /dev/null @@ -1,340 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: material - include extra file: skins/material.less -*/ - -@keyframes dhx_loader_rotate { - 100% { - transform: rotate(360deg); - } -} -@keyframes dhx_loader_dash { - 0% { - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - } - 50% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -35px; - } - 100% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -124px; - } -} -div.dhxcombo_material { - position: relative; - border-bottom: 1px solid #dfdfdf; - padding-bottom: 1px; - overflow: hidden; - vertical-align: middle; - background-color: white; - font-size: 1px; - height: 29px; - -webkit-tap-highlight-color: rgba(0,0,0,0); -} -div.dhxcombo_material.dhxcombo_actv { - padding-bottom: 0px; - border-bottom: 2px solid #3399cc; -} -div.dhxcombo_material input.dhxcombo_input { - position: absolute; - left: 4px; - top: 0px; - *top: 1px; - height: 29px; - line-height: 28px; - *height: 27px; - *line-height: 26px; - border: 0px solid white; - outline: 0px solid white; - padding: 0px; - margin: 0px 0px 0px 2px; - background-color: white; - vertical-align: top; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -div.dhxcombo_material input.dhxcombo_input::-ms-clear { - display: none; -} -div.dhxcombo_material div.dhxcombo_select_button { - position: absolute; - width: 21px; - height: 22px; - top: 4px; - right: 2px; - font-size: 1px; - cursor: pointer; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -div.dhxcombo_material div.dhxcombo_select_button div.dhxcombo_select_img { - position: relative; - width: 100%; - height: 100%; - background-image: url("../imgs/dhxcombo_material/dhxcombo_arrow_down.gif"); - background-repeat: no-repeat; - background-position: center center; -} -div.dhxcombo_material div.dhxcombo_select_button div.dhxcombo_select_img { - background-image: linear-gradient(transparent,transparent), url("../imgs/dhxcombo_material/dhxcombo_arrow_down.svg"); -} -div.dhxcombo_material div.dhxcombo_top_image { - position: absolute; - left: 0px; - top: 0px; - width: 29px; - height: 29px; - overflow: hidden; - cursor: default; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -div.dhxcombo_material div.dhxcombo_top_image div.dhxcombo_image { - position: absolute; - top: 6px; - left: 5px; - width: 18px; - height: 18px; - background-repeat: no-repeat; - background-position: center center; - overflow: hidden; - cursor: default; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -div.dhxcombolist_material { - position: absolute; - border: 1px solid #dfdfdf; - background-color: #fafafa; - overflow-x: none; - overflow-y: auto; - -webkit-tap-highlight-color: rgba(0,0,0,0); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - box-shadow: 0 0 10px rgba(127,127,127,0.2); -} -div.dhxcombolist_material div.dhxcombo_option { - position: relative; - font: inherit; - height: 32px; - line-height: 32px; - vertical-align: middle; - overflow: hidden; - cursor: default; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -div.dhxcombolist_material div.dhxcombo_option.dhxcombo_option_selected { - background-color: #ebebeb; -} -div.dhxcombolist_material div.dhxcombo_option div.dhxcombo_option_text { - position: relative; - padding: 0px 4px; - font: inherit; - white-space: nowrap; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -div.dhxcombolist_material div.dhxcombo_option div.dhxcombo_option_text.dhxcombo_option_text_chbx { - position: relative; - padding: 0px 4px; - margin-left: 26px; - white-space: nowrap; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -div.dhxcombolist_material div.dhxcombo_option div.dhxcombo_option_text.dhxcombo_option_text_image { - position: relative; - padding: 0px 4px 0px 4px; - margin-left: 26px; - white-space: nowrap; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -div.dhxcombolist_material div.dhxcombo_option div.dhxcombo_image, -div.dhxcombolist_material div.dhxcombo_option div.dhxcombo_checkbox { - position: absolute; - width: 18px; - margin: 0px 5px; - height: 32px; - line-height: 32px; - background-image: url("../imgs/dhxcombo_material/dhxcombo_chbx.gif"); - background-repeat: no-repeat; - overflow: hidden; - cursor: default; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -div.dhxcombolist_material div.dhxcombo_option div.dhxcombo_image.dhxcombo_chbx_1, -div.dhxcombolist_material div.dhxcombo_option div.dhxcombo_checkbox.dhxcombo_chbx_1 { - background-position: 0px 7px; -} -div.dhxcombolist_material div.dhxcombo_option div.dhxcombo_image.dhxcombo_chbx_0, -div.dhxcombolist_material div.dhxcombo_option div.dhxcombo_checkbox.dhxcombo_chbx_0 { - background-position: -18px 7px; -} -div.dhxcombolist_material div.dhxcombo_option div.dhxcombo_image { - top: 7px; - margin: 0px 0px 0px 6px; - width: 18px; - height: 18px; -} -div.dhxcombo_material.dhxcombo_disabled input.dhxcombo_input { - color: #a6a6a6; -} -div.dhxcombo_material.dhxcombo_disabled div.dhxcombo_select_button div.dhxcombo_select_img { - background-image: url("../imgs/dhxcombo_material/dhxcombo_arrow_down_dis.gif"); - cursor: default; -} -.dhxgrid_combo_icon { - position: absolute; - z-index: 1; - top: 0px; - right: 0px; -} -div.dhxcombo_in_grid_parent { - position: relative; - height: 100%; - top: 0px; -} -div.dhxcombo_in_grid_parent div.dhxcombo_material { - position: absolute; - top: 0px; - left: -1px; -} -div.dhxcombolist_material.dhxcombolist_hdr { - border-bottom-width: 0px; - height: 36px; - line-height: 36px; - box-shadow: none; -} -div.dhxcombolist_material.dhxcombolist_hdr div.dhxcombo_hdrtext { - position: relative; - padding: 0px; - white-space: nowrap; - cursor: default; - font-family: Roboto, Arial, Helvetica; - font-size: 14px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -div.dhxcombolist_material.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell, -div.dhxcombolist_material.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell_first { - float: left; - white-space: nowrap; - overflow: hidden; - position: relative; - z-index: 2; - border-left: 1px solid #dfdfdf; - padding: 0px; - margin: 0px; -} -div.dhxcombolist_material.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell_first, -div.dhxcombolist_material.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell:first-child { - border-left-width: 0px; -} -div.dhxcombolist_material.dhxcombolist_multicolumn div.dhxcombo_option { - height: 32px; - line-height: 32px; - margin-top: -1px; - z-index: 0; - border-top: 1px solid #dfdfdf; - border-bottom: 1px solid #dfdfdf; - background-color: white; -} -div.dhxcombolist_material.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_option_text { - padding: 0px; -} -div.dhxcombolist_material.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell, -div.dhxcombolist_material.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell_first { - float: left; - white-space: nowrap; - overflow: hidden; - position: relative; - border-left: 1px solid #dfdfdf; - padding: 0px; - margin: 0px; -} -div.dhxcombolist_material.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell_first, -div.dhxcombolist_material.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell:first-child { - border-left-width: 0px; -} -div.dhxcombolist_material.dhxcombolist_multicolumn div.dhxcombo_option.dhxcombo_option_selected { - z-index: 1; - background-color: #ebebeb; - border-top-color: #dfdfdf; - border-bottom-color: #dfdfdf; -} -div.dhxcombolist_material.dhxcombolist_multicolumn div.dhxcombo_option.dhxcombo_option_selected div.dhxcombo_cell { - border-left-color: #dfdfdf; -} -div.dhxcombolist_material.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell_text, -div.dhxcombolist_material.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell_text { - position: relative; - margin: 0px 10px; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - width: auto; - min-height: 32px; -} -.dhxcombo_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 40px; - height: 10px; - overflow: hidden; -} diff --git a/themes/sources/dhtmlxCommon/codebase/connector.js b/themes/sources/dhtmlxCommon/codebase/connector.js deleted file mode 100644 index 002f228..0000000 --- a/themes/sources/dhtmlxCommon/codebase/connector.js +++ /dev/null @@ -1,16 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - @author dhtmlx.com - @license GPL, see license.txt -*/ - -if (window.dataProcessor && !dataProcessor.prototype.init_original) - dataProcessor.prototype.connector_init=true; - diff --git a/themes/sources/dhtmlxCommon/codebase/dhtmlxcommon.js b/themes/sources/dhtmlxCommon/codebase/dhtmlxcommon.js deleted file mode 100644 index 508668b..0000000 --- a/themes/sources/dhtmlxCommon/codebase/dhtmlxcommon.js +++ /dev/null @@ -1,1822 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* dhtmlx.com */ - -if (typeof(window.dhx) == "undefined") { - - window.dhx = window.dhx4 = { - - version: "{{VERSION}}", - - skin: null, // allow to be set by user - - skinDetect: function(comp) { - var i = Math.floor(dhx4.readFromCss(comp+"_skin_detect")/10)*10; - return {10:"dhx_skyblue",20:"dhx_web",30:"dhx_terrace",40:"material"}[i]||null; - }, - - // read value from css - readFromCss: function(className, property, innerHTML) { - var t = document.createElement("DIV"); - t.className = className; - if (document.body.firstChild != null) document.body.insertBefore(t, document.body.firstChild); else document.body.appendChild(t); - if (typeof(innerHTML) == "string") t.innerHTML = innerHTML; - var w = t[property||"offsetWidth"]; - t.parentNode.removeChild(t); - t = null; - return w; - }, - - // id manager - lastId: 1, - newId: function() { - return this.lastId++; - }, - - // z-index manager - zim: { - data: {}, - step: 5, - first: function() { - return 100; - }, - last: function() { - var t = this.first(); - for (var a in this.data) t = Math.max(t, this.data[a]); - return t; - }, - reserve: function(id) { - this.data[id] = this.last()+this.step; - return this.data[id]; - }, - clear: function(id) { - if (this.data[id] != null) { - this.data[id] = null; - delete this.data[id]; - } - } - }, - - // string to boolean - s2b: function(r) { - if (typeof(r) == "string") r = r.toLowerCase(); - return (r == true || r == 1 || r == "true" || r == "1" || r == "yes" || r == "y" || r == "on"); - }, - - // string to json - s2j: function(s) { - var obj = null; - dhx4.temp = null; - try { eval("dhx4.temp="+s); } catch(e) { dhx4.temp = null; } - obj = dhx4.temp; - dhx4.temp = null; - return obj; - }, - - // absolute top/left position on screen - absLeft: function(obj) { - if (typeof(obj) == "string") obj = document.getElementById(obj); - return this.getOffset(obj).left; - }, - absTop: function(obj) { - if (typeof(obj) == "string") obj = document.getElementById(obj); - return this.getOffset(obj).top; - }, - _aOfs: function(elem) { - var top = 0, left = 0; - while (elem) { - top = top + parseInt(elem.offsetTop); - left = left + parseInt(elem.offsetLeft); - elem = elem.offsetParent; - } - return {top: top, left: left}; - }, - _aOfsRect: function(elem) { - var box = elem.getBoundingClientRect(); - var body = document.body; - var docElem = document.documentElement; - var scrollTop = window.pageYOffset || docElem.scrollTop || body.scrollTop; - var scrollLeft = window.pageXOffset || docElem.scrollLeft || body.scrollLeft; - var clientTop = docElem.clientTop || body.clientTop || 0; - var clientLeft = docElem.clientLeft || body.clientLeft || 0; - var top = box.top + scrollTop - clientTop; - var left = box.left + scrollLeft - clientLeft; - return { top: Math.round(top), left: Math.round(left) }; - }, - getOffset: function(elem) { - if (elem.getBoundingClientRect) { - return this._aOfsRect(elem); - } else { - return this._aOfs(elem); - } - }, - - // copy obj - _isObj: function(k) { - return (k != null && typeof(k) == "object" && typeof(k.length) == "undefined"); - }, - _copyObj: function(r) { - if (this._isObj(r)) { - var t = {}; - for (var a in r) { - if (typeof(r[a]) == "object" && r[a] != null) t[a] = this._copyObj(r[a]); else t[a] = r[a]; - } - } else { - var t = []; - for (var a=0; a= 0); - var dim = {}; - dim.left = document.body.scrollLeft; - dim.right = dim.left+(window.innerWidth||document.body.clientWidth); - dim.top = Math.max((isIE?document.documentElement:document.getElementsByTagName("html")[0]).scrollTop, document.body.scrollTop); - dim.bottom = dim.top+(isIE?Math.max(document.documentElement.clientHeight||0,document.documentElement.offsetHeight||0):window.innerHeight); - return dim; - }, - - // input/textarea range selection - selectTextRange: function(inp, start, end) { - - inp = (typeof(inp)=="string"?document.getElementById(inp):inp); - - var len = inp.value.length; - start = Math.max(Math.min(start, len), 0); - end = Math.min(end, len); - - if (inp.setSelectionRange) { - try {inp.setSelectionRange(start, end);} catch(e){}; // combo in grid under IE requires try/catch - } else if (inp.createTextRange) { - var range = inp.createTextRange(); - range.moveStart("character", start); - range.moveEnd("character", end-len); - try {range.select();} catch(e){}; - } - }, - // transition - transData: null, - transDetect: function() { - - if (this.transData == null) { - - this.transData = {transProp: false, transEv: null}; - - // transition, MozTransition, WebkitTransition, msTransition, OTransition - var k = { - "MozTransition": "transitionend", - "WebkitTransition": "webkitTransitionEnd", - "OTransition": "oTransitionEnd", - "msTransition": "transitionend", - "transition": "transitionend" - }; - - for (var a in k) { - if (this.transData.transProp == false && document.documentElement.style[a] != null) { - this.transData.transProp = a; - this.transData.transEv = k[a]; - } - } - k = null; - } - - return this.transData; - - }, - - // xml parser - _xmlNodeValue: function(node) { - var value = ""; - for (var q=0; q= 0 || navigator.userAgent.indexOf("Trident") >= 0); - window.dhx4.isIE6 = (window.XMLHttpRequest == null && navigator.userAgent.indexOf("MSIE") >= 0); - window.dhx4.isIE7 = (navigator.userAgent.indexOf("MSIE 7.0") >= 0 && navigator.userAgent.indexOf("Trident") < 0); - window.dhx4.isIE8 = (navigator.userAgent.indexOf("MSIE 8.0") >= 0 && navigator.userAgent.indexOf("Trident") >= 0); - window.dhx4.isIE9 = (navigator.userAgent.indexOf("MSIE 9.0") >= 0 && navigator.userAgent.indexOf("Trident") >= 0); - window.dhx4.isIE10 = (navigator.userAgent.indexOf("MSIE 10.0") >= 0 && navigator.userAgent.indexOf("Trident") >= 0 && window.navigator.pointerEnabled != true); - window.dhx4.isIE11 = (navigator.userAgent.indexOf("Trident") >= 0 && window.navigator.pointerEnabled == true); - window.dhx4.isEdge = (navigator.userAgent.indexOf("Edge") >= 0); - window.dhx4.isOpera = (navigator.userAgent.indexOf("Opera") >= 0); - window.dhx4.isChrome = (navigator.userAgent.indexOf("Chrome") >= 0) && !window.dhx4.isEdge; - window.dhx4.isKHTML = (navigator.userAgent.indexOf("Safari") >= 0 || navigator.userAgent.indexOf("Konqueror") >= 0) && !window.dhx4.isEdge; - window.dhx4.isFF = (navigator.userAgent.indexOf("Firefox") >= 0); - window.dhx4.isIPad = (navigator.userAgent.search(/iPad/gi) >= 0); - - // dnd data - window.dhx4.dnd = { - evs: {}, - p_en: ((window.dhx4.isIE || window.dhx4.isEdge) && (window.navigator.pointerEnabled || window.navigator.msPointerEnabled)), // touch/pointer - _mTouch: function(e) { - // mouse touch type in ie10/11/Edge - return (window.dhx4.isIE10 && e.pointerType == e.MSPOINTER_TYPE_MOUSE || window.dhx4.isIE11 && e.pointerType == "mouse" || window.dhx4.isEdge && e.pointerType == "mouse"); - }, - _touchOn: function(obj) { - if (obj == null) obj = document.body; - obj.style.touchAction = obj.style.msTouchAction = ""; - obj = null; - }, - _touchOff: function(obj) { - if (obj == null) obj = document.body; - obj.style.touchAction = obj.style.msTouchAction = "none"; - obj = null; - } - }; - - // dnd events - if (window.navigator.pointerEnabled == true) { // edge/ie11 - window.dhx4.dnd.evs = {start: "pointerdown", move: "pointermove", end: "pointerup"}; - } else if (window.navigator.msPointerEnabled == true) { // ie10- - window.dhx4.dnd.evs = {start: "MSPointerDown", move: "MSPointerMove", end: "MSPointerUp"}; - } else if (typeof(window.addEventListener) != "undefined") { // rest touch devices - window.dhx4.dnd.evs = {start: "touchstart", move: "touchmove", end: "touchend"}; - }; - -}; - -if (typeof(window.dhx4.template) == "undefined") { - - // trim - window.dhx4.trim = function(t) { - return String(t).replace(/^\s{1,}/,"").replace(/\s{1,}$/,""); - }; - - // template parsing - window.dhx4.template = function(tpl, data, trim) { - - // tpl - template text, #value|func:param0:param1:paramX# - // data - object with key-value - // trim - true/false, trim values - return tpl.replace(/#([a-z0-9_-]{1,})(\|([^#]*))?#/gi, function(){ - - var key = arguments[1]; - - var t = window.dhx4.trim(arguments[3]); - var func = null; - var args = [data[key]]; - - if (t.length > 0) { - - t = t.split(":"); - var k = []; - - // check escaped colon - for (var q=0; q 0 && k[k.length-1].match(/\\$/) != null) { - k[k.length-1] = k[k.length-1].replace(/\\$/,"")+":"+t[q]; - } else { - k.push(t[q]); - } - } - - func = k[0]; - for (var q=1; q 0 && typeof(data[key]) != "undefined") { - if (!data[key] && data[key] !== 0) return ""; - if (trim == true) return window.dhx4.trim(data[key]); - return String(data[key]); - } - - // key not found - return ""; - - }); - - }; - - window.dhx4.template.date = function(value, format) { - // Date obj + format => convert to string - // timestamp + format => convert to string - // string => no convert - // any other value => empty string - if (value != null) { - if (value instanceof Date) { - return window.dhx4.date2str(value, format); - } else { - value = value.toString(); - if (value.match(/^\d*$/) != null) return window.dhx4.date2str(new Date(parseInt(value)), format); - return value; - } - } - return ""; - }; - - window.dhx4.template.maxlength = function(value, limit) { - return String(value).substr(0, limit); - }; - - window.dhx4.template.number_format = function(value, format, group_sep, dec_sep) { - var fmt = window.dhx4.template._parseFmt(format, group_sep, dec_sep); - if (fmt == false) return value; - return window.dhx4.template._getFmtValue(value, fmt); - }; - - window.dhx4.template.lowercase = function(value) { - if (typeof(value) == "undefined" || value == null) value = ""; - return String(value).toLowerCase(); - }; - window.dhx4.template.uppercase = function(value) { - if (typeof(value) == "undefined" || value == null) value = ""; - return String(value).toUpperCase(); - }; - - // number format helpers - window.dhx4.template._parseFmt = function(format, group_sep, dec_sep) { - - var t = format.match(/^([^\.\,0-9]*)([0\.\,]*)([^\.\,0-9]*)/); - if (t == null || t.length != 4) return false; // invalid format - - var fmt = { - // int group - i_len: false, - i_sep: (typeof(group_sep)=="string"?group_sep:","), - // decimal - d_len: false, - d_sep: (typeof(dec_sep)=="string"?dec_sep:"."), - // chars before and after - s_bef: (typeof(t[1])=="string"?t[1]:""), - s_aft: (typeof(t[3])=="string"?t[3]:"") - }; - - var f = t[2].split("."); - if (f[1] != null) fmt.d_len = f[1].length; - - var r = f[0].split(","); - if (r.length > 1) fmt.i_len = r[r.length-1].length; - - return fmt; - - }; - - window.dhx4.template._getFmtValue = function(value, fmt) { - - var r = String(value).match(/^(-)?([0-9]{1,})(\.([0-9]{1,}))?$/); // r = [complete value, minus sign, integer, full decimal, decimal] - - if (r != null && r.length == 5) { - var v0 = ""; - // minus sign - if (r[1] != null) v0 += r[1]; - // chars before - v0 += fmt.s_bef; - // int part - if (fmt.i_len !== false) { - var i = 0; var v1 = ""; - for (var q=r[2].length-1; q>=0; q--) { - v1 = ""+r[2].charAt(q)+v1; - if (++i == fmt.i_len && q > 0) { v1=fmt.i_sep+v1; i=0; } - } - v0 += v1; - } else { - v0 += r[2]; - } - // dec part - if (fmt.d_len !== false) { - if (r[4] == null) r[4] = ""; - while (r[4].length < fmt.d_len) r[4] += "0"; - eval("dhx4.temp = new RegExp(/\\d{"+fmt.d_len+"}/);"); - var t1 = (r[4]).match(dhx4.temp); - if (t1 != null) v0 += fmt.d_sep+t1; - dhx4.temp = t1 = null; - } - // chars after - v0 += fmt.s_aft; - - return v0; - } - - return value; - }; - -}; - -if (typeof(window.dhx4.dateLang) == "undefined") { - - window.dhx4.dateLang = "en"; - window.dhx4.dateStrings = { - en: { - monthFullName: ["January","February","March","April","May","June","July","August","September","October","November","December"], - monthShortName: ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"], - dayFullName: ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"], - dayShortName: ["Su","Mo","Tu","We","Th","Fr","Sa"] - } - }; - window.dhx4.dateFormat = { - en: "%Y-%m-%d" - }; - - window.dhx4.date2str = function(val, format, strings) { - - if (format == null || typeof(format) == "undefined") format = window.dhx4.dateFormat[window.dhx4.dateLang]; - if (strings == null || typeof(strings) == "undefined") strings = window.dhx4.dateStrings[window.dhx4.dateLang]; - - if (val instanceof Date) { - var z = function(t) { - return (String(t).length==1?"0"+String(t):t); - } - var k = function(t) { - switch(t) { - case "%d": return z(val.getDate()); - case "%j": return val.getDate(); - case "%D": return strings.dayShortName[val.getDay()]; - case "%l": return strings.dayFullName[val.getDay()]; - case "%m": return z(val.getMonth()+1); - case "%n": return val.getMonth()+1; - case "%M": return strings.monthShortName[val.getMonth()]; - case "%F": return strings.monthFullName[val.getMonth()]; - case "%y": return z(val.getYear()%100); - case "%Y": return val.getFullYear(); - case "%g": return (val.getHours()+11)%12+1; - case "%h": return z((val.getHours()+11)%12+1); - case "%G": return val.getHours(); - case "%H": return z(val.getHours()); - case "%i": return z(val.getMinutes()); - case "%s": return z(val.getSeconds()); - case "%a": return (val.getHours()>11?"pm":"am"); - case "%A": return (val.getHours()>11?"PM":"AM"); - case "%%": return "%"; - case "%u": return val.getMilliseconds(); - case "%P": - if (window.dhx4.temp_calendar != null && window.dhx4.temp_calendar.tz != null) return window.dhx4.temp_calendar.tz; - var ofs = val.getTimezoneOffset(); - var h = Math.abs(Math.floor(ofs/60)); - var m = Math.abs(ofs)-h*60; - return (ofs>0?"-":"+")+z(h)+":"+z(m); - default: return t; - } - } - var t = String(format||window.dhx4.dateFormat).replace(/%[a-zA-Z]/g, k); - } - - return (t||String(val)); - - }; - - window.dhx4.str2date = function(val, format, strings) { - - if (format == null || typeof(format) == "undefined") format = window.dhx4.dateFormat[window.dhx4.dateLang]; - if (strings == null || typeof(strings) == "undefined") strings = window.dhx4.dateStrings[window.dhx4.dateLang]; - - // escape custom chars - format = format.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\\:|]/g, "\\$&"); - - var v = []; - var f = []; - - // escape required chars - format = format.replace(/%[a-z]/gi, function(t){ - switch (t) { - case "%d": case "%m": case "%y": case "%h": case "%H": case "%i": case "%s": f.push(t); return "(\\d{2})"; // 2 digits - case "%D": case "%l": case "%M": case "%F": f.push(t); return "([a-zéûä\u0430-\u044F\u0451]{1,})"; // chars - case "%j": case "%n": case "%g": case "%G": f.push(t); return "(\\d{1,2})"; // 1-2 digits - case "%Y": f.push(t); return "(\\d{4})"; // 4 digits - case "%a": f.push(t); return "([a|p]m)"; // am/pm - case "%A": f.push(t); return "([A|P]M)"; // AM/PM - case "%u": f.push(t); return "(\\d{1,6})"; // 1-6 digits, micro/milliseconds - case "%P": f.push(t); return "([+-]\\d{1,2}:\\d{1,2})"; // zone offset - } - return t; - }); - - var re = new RegExp(format, "i"); - var e = val.match(re); - - if (e == null || e.length-1 != f.length) return "Invalid Date"; - - // sorting - /* - Year y,Y 1 - Month n,m,M,F 2 - Day d,j 3 - AM/PM a,A 4 - Hours H,G,h,g 5 - Minutes i 6 - Seconds s 7 - MSec u 7 - Zone P 7 - */ - - for (var q=1; q= 0) r.setMonth(k); - break; - // - case "%y": - if (!isNaN(v[q])) { - var v0 = Number(v[q]); - r.setFullYear(v0+(v0>50?1900:2000)); - } - break; - // - case "%g": case "%h": - if (!isNaN(v[q])) { - var v0 = Number(v[q]); - if (v0 <= 12 && v0 >= 0) r.setHours(v0+(getInd("pm",v)>=0?(v0==12?0:12):(v0==12?-12:0))); // 12:00 AM -> midnight, 12:00 PM -> noon - } - break; - // - case "%P": - if (window.dhx4.temp_calendar != null) { - window.dhx4.temp_calendar.tz = v[q]; - } - break; - } - } - return r; - }; - -}; - -if (typeof(window.dhx4.ajax) == "undefined") { - - window.dhx4.ajax = function(a){ - return dhx4.ajax.get(a) - }; - - var ajaxbase = { - - // if false - dhxr param will added to prevent caching on client side (default), - // if true - do not add extra params - cache: false, - - // default method for load/loadStruct, post/get allowed - // get - since 4.1.1, this should fix 412 error for macos safari - method: "get", - - parse: function(data) { - if (typeof data !== "string") return data; - - data = data.replace(/^[\s]+/,""); - if (window.DOMParser && !dhx4.isIE) { // ff,ie9 - var obj = (new window.DOMParser()).parseFromString(data, "text/xml"); - } else if (window.ActiveXObject !== window.undefined) { - var obj = new window.ActiveXObject("Microsoft.XMLDOM"); - obj.async = "false"; - obj.loadXML(data); - } - return obj; - }, - xmltop: function(tagname, xhr, obj) { - if (typeof xhr.status == "undefined" || xhr.status < 400) { - xml = (!xhr.responseXML) ? dhx4.ajax.parse(xhr.responseText || xhr) : (xhr.responseXML || xhr); - if (xml && xml.documentElement !== null) { - try { - if (!xml.getElementsByTagName("parsererror").length) - return xml.getElementsByTagName(tagname)[0]; - } catch(e){} - } - } - if (obj !== -1) dhx4.callEvent("onLoadXMLError",["Incorrect XML", arguments[1], obj]); - return document.createElement("DIV"); - }, - xpath: function(xpathExp, docObj) { - if (!docObj.nodeName) docObj = docObj.responseXML || docObj; - if (dhx4.isIE) { - try { - return docObj.selectNodes(xpathExp)||[]; - } catch(e){ return []; } - } else { - var rows = []; - var first; - var col = (docObj.ownerDocument||docObj).evaluate(xpathExp, docObj, null, XPathResult.ANY_TYPE, null); - while (first = col.iterateNext()) rows.push(first); - return rows; - } - }, - query: function(config) { - return dhx4.ajax._call( - (config.method || "GET"), - config.url, - config.data || "", - (config.async || true), - config.callback, - null, - config.headers - ); - }, - get: function(url, onLoad) { - return this._call("GET", url, null, true, onLoad); - }, - getSync: function(url) { - return this._call("GET", url, null, false); - }, - put: function(url, postData, onLoad) { - return this._call("PUT", url, postData, true, onLoad); - }, - del: function(url, postData, onLoad) { - return this._call("DELETE", url, postData, true, onLoad); - }, - post: function(url, postData, onLoad) { - if (arguments.length == 1) { - postData = ""; - } else if (arguments.length == 2 && (typeof(postData) == "function" || typeof(window[postData]) == "function")) { - onLoad = postData; - postData = ""; - } else if (!postData || typeof postData !== "object"){ - postData = String(postData); - } - return this._call("POST", url, postData, true, onLoad); - }, - postSync: function(url, postData) { - postData = (postData == null ? "" : String(postData)); - return this._call("POST", url, postData, false); - }, - getLong: function(url, onLoad) { - this._call("GET", url, null, true, onLoad, {url:url}); - }, - postLong: function(url, postData, onLoad) { - if (arguments.length == 2 && (typeof(postData) == "function" || typeof(window[postData]))) { - onLoad = postData; - postData = ""; - } - this._call("POST", url, postData, true, onLoad, {url:url, postData:postData}); - }, - _call: function(method, url, postData, async, onLoad, longParams, headers) { - //postData can be a hash of values - if (typeof postData === "object"){ - var _postData = []; - for (var a in postData) - _postData.push(a+"="+encodeURIComponent(postData[a])); - postData = _postData.join("&"); - } - - var def = dhx.promise.defer(); - var t = (window.XMLHttpRequest && !dhx4.isIE ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP")); - var isQt = (navigator.userAgent.match(/AppleWebKit/) != null && navigator.userAgent.match(/Qt/) != null && navigator.userAgent.match(/Safari/) != null); - - if (async == true) { - t.onreadystatechange = function() { - if ((t.readyState == 4) || (isQt == true && t.readyState == 3)) { // what for long response and status 404? - if (t.status != 200 || t.responseText == ""){ - def.reject(t); - if (!dhx4.callEvent("onAjaxError", [{xmlDoc:t, filePath:url, async:async}])) return; - } - - window.setTimeout(function(){ - if (typeof(onLoad) == "function") { - try { - onLoad.apply(window, [{xmlDoc:t, filePath:url, async:async}]); // dhtmlx-compat, response.xmlDoc.responseXML/responseText - } catch(e){ - def.reject(e); - } - } - if (longParams != null) { - if (typeof(longParams.postData) != "undefined") { - dhx4.ajax.postLong(longParams.url, longParams.postData, onLoad); - } else { - dhx4.ajax.getLong(longParams.url, onLoad); - } - } - - def.resolve(t.responseText); - onLoad = null; - t = null; - },1); - } - } - } - - if (method == "GET") { - url += this._dhxr(url); - } - - t.open(method, url, async); - - if (headers != null) { - for (var key in headers) t.setRequestHeader(key, headers[key]); - } else if (method == "POST" || method == "PUT" || method == "DELETE") { - t.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); - } else if (method == "GET") { - postData = null; - } - - t.setRequestHeader("X-Requested-With", "XMLHttpRequest"); - - t.send(postData); - - if (async != true) { - if ((t.readyState == 4) || (isQt == true && t.readyState == 3)) { - if (t.status != 200 || t.responseText == "") dhx4.callEvent("onAjaxError", [{xmlDoc:t, filePath:url, async:async}]); - } - } - - - def.xmlDoc=t; - def.filePath=url; - def.async=async; - - return def; - }, - - _dhxr: function(sign, value) { - if (this.cache != true) { - if (sign.match(/^[\?\&]$/) == null) sign = (sign.indexOf("?")>=0?"&":"?"); - if (typeof(value) == "undefined") value = true; - return sign+"dhxr"+new Date().getTime()+(value==true?"=1":""); - } - return ""; - } - }; - - for (var key in ajaxbase) - dhx4.ajax[key] = ajaxbase[key]; -}; - -if (typeof(window.dhx4._enableDataLoading) == "undefined") { - - window.dhx4._enableDataLoading = function(obj, initObj, xmlToJson, xmlRootTag, mode) { - - if (mode == "clear") { - - // clear attached functionality - - for (var a in obj._dhxdataload) { - obj._dhxdataload[a] = null; - delete obj._dhxdataload[a]; - }; - - obj._loadData = null; - obj._dhxdataload = null; - obj.load = null; - obj.loadStruct = null; - - obj = null; - - return; - - } - - obj._dhxdataload = { // move to obj.conf? - initObj: initObj, - xmlToJson: xmlToJson, - xmlRootTag: xmlRootTag, - onBeforeXLS: null - }; - - obj._loadData = function(data, loadParams, onLoad) { - - if (arguments.length == 2) { - onLoad = loadParams; - loadParams = null; - } - - var obj = null; - - // deprecated from 4.0, compatability with version (url, type[json|xml], onLoad) - if (arguments.length == 3) onLoad = arguments[2]; - - this.callEvent("onXLS",[]); - - if (typeof(data) == "string") { - - var k = data.replace(/^\s{1,}/,"").replace(/\s{1,}$/,""); - - var tag = new RegExp("^<"+this._dhxdataload.xmlRootTag); - - // xml - if (tag.test(k.replace(/^<\?xml[^\?]*\?>\s*/, ""))) { // remove leading if any, \n can be also present - obj = dhx4.ajax.parse(data); - if (obj != null) obj = this[this._dhxdataload.xmlToJson].apply(this, [obj]); // xml to json - } - - if (obj == null && (k.match(/^[\s\S]*{[.\s\S]*}[\s\S]*$/) != null || k.match(/^[\s\S]*\[[.\s\S]*\][\s\S]*$/) != null)) { // check for '{...}' or '[...]', cut leading/trailing \n\r with \s\S - obj = dhx4.s2j(k); - } - - if (obj == null) { - - - - var params = []; - - // allow to modify url and add params - if (typeof(this._dhxdataload.onBeforeXLS) == "function") { - var k = this._dhxdataload.onBeforeXLS.apply(this,[data]); - if (k != null && typeof(k) == "object") { - if (k.url != null) data = k.url; - if (k.params != null) { for (var a in k.params) params.push(a+"="+encodeURIComponent(k.params[a])); } - } - } - - var t = this; - var callBack = function(r) { - - var obj = null; - - if ((r.xmlDoc.getResponseHeader("Content-Type")||"").search(/xml/gi) >= 0 || (r.xmlDoc.responseText.replace(/^\s{1,}/,"")).match(/^ url - - t.callEvent("onXLE",[]); - - if (onLoad != null) { - if (typeof(onLoad) == "function") { - onLoad.apply(t,[]); - } else if (typeof(window[onLoad]) == "function") { - window[onLoad].apply(t,[]); - } - } - - callBack = onLoad = null; - obj = r = t = null; - - }; - - params = params.join("&")+(typeof(loadParams)=="string"?"&"+loadParams:""); - - if (dhx4.ajax.method == "post") { - return dhx4.ajax.post(data, params, callBack); - } else if (dhx4.ajax.method == "get") { - return dhx4.ajax.get(data+(params.length>0?(data.indexOf("?")>0?"&":"?")+params:""), callBack); - } - - return; - } - - } else { - if (typeof(data.documentElement) == "object" || (typeof(data.tagName) != "undefined" && typeof(data.getElementsByTagName) != "undefined" && data.getElementsByTagName(this._dhxdataload.xmlRootTag).length > 0)) { // xml - obj = this[this._dhxdataload.xmlToJson].apply(this, [data]); - } else { // json - obj = window.dhx4._copyObj(data); - } - } - - // init - if (obj != null) this[this._dhxdataload.initObj].apply(this,[obj]); - - this.callEvent("onXLE",[]); - if (onLoad != null) { - if (typeof(onLoad) == "function") { - onLoad.apply(this, []); - } else if (typeof(window[onLoad]) == "function") { - window[onLoad].apply(this, []); - } - onLoad = null; - } - - }; - - // loadStruct for hdr/conf - // load for data - if (mode != null) { - var k = {struct: "loadStruct", data: "load"}; - for (var a in mode) { - if (mode[a] == true) obj[k[a]] = function() {return this._loadData.apply(this, arguments);} - } - } - - obj = null; - - }; -}; - -if (typeof(window.dhx4._eventable) == "undefined") { - - window.dhx4._eventable = function(obj, mode) { - - if (mode == "clear") { - - obj.detachAllEvents(); - - obj.dhxevs = null; - - obj.attachEvent = null; - obj.detachEvent = null; - obj.checkEvent = null; - obj.callEvent = null; - obj.detachAllEvents = null; - - obj = null; - - return; - - } - - obj.dhxevs = { data: {} }; - - obj.attachEvent = function(name, func) { - name = String(name).toLowerCase(); - if (!this.dhxevs.data[name]) this.dhxevs.data[name] = {}; - var eventId = window.dhx4.newId(); - this.dhxevs.data[name][eventId] = func; - return eventId; - } - - obj.detachEvent = function(eventId) { - for (var a in this.dhxevs.data) { - var k = 0; - for (var b in this.dhxevs.data[a]) { - if (b == eventId) { - this.dhxevs.data[a][b] = null; - delete this.dhxevs.data[a][b]; - } else { - k++; - } - } - if (k == 0) { - this.dhxevs.data[a] = null; - delete this.dhxevs.data[a]; - } - } - } - - obj.checkEvent = function(name) { - name = String(name).toLowerCase(); - return (this.dhxevs.data[name] != null); - } - - obj.callEvent = function(name, params) { - name = String(name).toLowerCase(); - if (this.dhxevs.data[name] == null) return true; - var r = true; - for (var a in this.dhxevs.data[name]) { - r = this.dhxevs.data[name][a].apply(this, params) && r; - } - return r; - } - - obj.detachAllEvents = function() { - for (var a in this.dhxevs.data) { - for (var b in this.dhxevs.data[a]) { - this.dhxevs.data[a][b] = null; - delete this.dhxevs.data[a][b]; - } - this.dhxevs.data[a] = null; - delete this.dhxevs.data[a]; - } - } - - obj = null; - }; - - dhx4._eventable(dhx4); - -}; - -// validation -// all purpose set of rules, based on http://code.google.com/p/validation-js -if (!window.dhtmlxValidation) { - dhtmlxValidation = function(){}; - dhtmlxValidation.prototype = { - isEmpty: function(value) { - return value == ''; - }, - isNotEmpty: function(value) { - return (value instanceof Array?value.length>0:!value == ''); // array in case of multiselect - }, - isValidBoolean: function(value) { - return !!value.toString().match(/^(0|1|true|false)$/); - }, - isValidEmail: function(value) { - return !!value.toString().match(/^[a-z0-9][0-9a-z\-_\.]*@[0-9a-z_\-\.]*\.[a-z]{2,5}$/i); - }, - isValidInteger: function(value) { - return !!value.toString().match(/(^-?\d+$)/); - }, - isValidNumeric: function(value) { - return !!value.toString().match(/(^-?\d\d*[\.|,]\d*$)|(^-?\d\d*$)|(^-?[\.|,]\d\d*$)/); - }, - isValidAplhaNumeric: function(value) { - return !!value.toString().match(/^[_\-a-z0-9]+$/gi); - }, - // 0000-00-00 00:00:00 to 9999:12:31 59:59:59 (no it is not a "valid DATE" function) - isValidDatetime: function(value) { - var dt = value.toString().match(/^(\d{4})-(\d{2})-(\d{2})\s(\d{2}):(\d{2}):(\d{2})$/); - return dt && !!(dt[1]<=9999 && dt[2]<=12 && dt[3]<=31 && dt[4]<=59 && dt[5]<=59 && dt[6]<=59) || false; - }, - // 0000-00-00 to 9999-12-31 - isValidDate: function(value) { - var d = value.toString().match(/^(\d{4})-(\d{2})-(\d{2})$/); - return d && !!(d[1]<=9999 && d[2]<=12 && d[3]<=31) || false; - }, - // 00:00:00 to 59:59:59 - isValidTime: function(value) { - var t = value.toString().match(/^(\d{1,2}):(\d{1,2}):(\d{1,2})$/); - return t && !!(t[1]<=24 && t[2]<=59 && t[3]<=59) || false; - }, - // 0.0.0.0 to 255.255.255.255 - isValidIPv4: function(value) { - var ip = value.toString().match(/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/); - return ip && !!(ip[1]<=255 && ip[2]<=255 && ip[3]<=255 && ip[4]<=255) || false; - }, - isValidCurrency: function(value) { // Q: Should I consider those signs valid too ? : ¢|€|₤|₦|¥ - return value.toString().match(/^\$?\s?\d+?([\.,\,]?\d+)?\s?\$?$/) && true || false; - }, - // Social Security Number (999-99-9999 or 999999999) - isValidSSN: function(value) { - return value.toString().match(/^\d{3}\-?\d{2}\-?\d{4}$/) && true || false; - }, - // Social Insurance Number (999999999) - isValidSIN: function(value) { - return value.toString().match(/^\d{9}$/) && true || false; - } - }; - dhtmlxValidation = new dhtmlxValidation(); -}; - - -if (typeof(window.dhtmlx) == "undefined") { - window.dhtmlx = {}; -} -if (!window.dhtmlx.extend){ - window.dhtmlx.extend = function(a, b){ - for (var key in b) - if (!a[key]) - a[key]=b[key]; - return a; - }; - window.dhtmlx.extend_api = function(name,map,ext){ - var t = window[name]; - if (!t) return; //component not defined - window[name]=function(obj){ - if (obj && typeof obj == "object" && !obj.tagName){ - var that = t.apply(this,(map._init?map._init(obj):arguments)); - //global settings - for (var a in dhtmlx) - if (map[a]) this[map[a]](dhtmlx[a]); - //local settings - for (var a in obj){ - if (map[a]) this[map[a]](obj[a]); - else if (a.indexOf("on")===0){ - this.attachEvent(a,obj[a]); - } - } - } else - var that = t.apply(this,arguments); - if (map._patch) map._patch(this); - return that||this; - }; - window[name].prototype=t.prototype; - if (ext) - dhtmlx.extend(window[name].prototype,ext); - }; - window.dhtmlx.url = function(str){ - if (str.indexOf("?") != -1) - return "&"; - else - return "?"; - }; -} - -/** -* @desc: find out what symbol to use as url param delimiters in further params -* @type: private -* @param: str - current url string -* @topic: 0 -*/ - - -function dhtmlDragAndDropObject(){ - if (window.dhtmlDragAndDrop) - return window.dhtmlDragAndDrop; - - this.lastLanding=0; - this.dragNode=0; - this.dragStartNode=0; - this.dragStartObject=0; - this.tempDOMU=null; - this.tempDOMM=null; - this.waitDrag=0; - window.dhtmlDragAndDrop=this; - - return this; -}; - -dhtmlDragAndDropObject.prototype.removeDraggableItem=function(htmlNode){ - htmlNode.onmousedown=null; - htmlNode.dragStarter=null; - htmlNode.dragLanding=null; -} -dhtmlDragAndDropObject.prototype.addDraggableItem=function(htmlNode, dhtmlObject){ - htmlNode.onmousedown=this.preCreateDragCopy; - htmlNode.dragStarter=dhtmlObject; - this.addDragLanding(htmlNode, dhtmlObject); -} -dhtmlDragAndDropObject.prototype.addDragLanding=function(htmlNode, dhtmlObject){ - htmlNode.dragLanding=dhtmlObject; -} -dhtmlDragAndDropObject.prototype.preCreateDragCopy=function(e){ - if ((e||window.event) && (e||event).button == 2) - return; - - if (window.dhtmlDragAndDrop.waitDrag){ - window.dhtmlDragAndDrop.waitDrag=0; - document.body.onmouseup=window.dhtmlDragAndDrop.tempDOMU; - document.body.onmousemove=window.dhtmlDragAndDrop.tempDOMM; - return false; - } - - if (window.dhtmlDragAndDrop.dragNode) - window.dhtmlDragAndDrop.stopDrag(e); - - window.dhtmlDragAndDrop.waitDrag=1; - window.dhtmlDragAndDrop.tempDOMU=document.body.onmouseup; - window.dhtmlDragAndDrop.tempDOMM=document.body.onmousemove; - window.dhtmlDragAndDrop.dragStartNode=this; - window.dhtmlDragAndDrop.dragStartObject=this.dragStarter; - document.body.onmouseup=window.dhtmlDragAndDrop.preCreateDragCopy; - document.body.onmousemove=window.dhtmlDragAndDrop.callDrag; - window.dhtmlDragAndDrop.downtime = new Date().valueOf(); - - - if ((e)&&(e.preventDefault)){ - e.preventDefault(); - return false; - } - return false; -}; -dhtmlDragAndDropObject.prototype.callDrag=function(e){ - if (!e) - e=window.event; - dragger=window.dhtmlDragAndDrop; - if ((new Date()).valueOf()-dragger.downtime<100) return; - - //if ((e.button == 0)&&(_isIE)) - // return dragger.stopDrag(); - - if (!dragger.dragNode){ - if (dragger.waitDrag){ - dragger.dragNode=dragger.dragStartObject._createDragNode(dragger.dragStartNode, e); - - if (!dragger.dragNode) - return dragger.stopDrag(); - - dragger.dragNode.onselectstart=function(){return false;} - dragger.gldragNode=dragger.dragNode; - document.body.appendChild(dragger.dragNode); - document.body.onmouseup=dragger.stopDrag; - dragger.waitDrag=0; - dragger.dragNode.pWindow=window; - dragger.initFrameRoute(); - } - else return dragger.stopDrag(e, true); - } - - if (dragger.dragNode.parentNode != window.document.body && dragger.gldragNode){ - var grd = dragger.gldragNode; - - if (dragger.gldragNode.old) - grd=dragger.gldragNode.old; - - //if (!document.all) dragger.calculateFramePosition(); - grd.parentNode.removeChild(grd); - var oldBody = dragger.dragNode.pWindow; - - if (grd.pWindow && grd.pWindow.dhtmlDragAndDrop.lastLanding) - grd.pWindow.dhtmlDragAndDrop.lastLanding.dragLanding._dragOut(grd.pWindow.dhtmlDragAndDrop.lastLanding); - - // var oldp=dragger.dragNode.parentObject; - if (_isIE){ - var div = document.createElement("Div"); - div.innerHTML=dragger.dragNode.outerHTML; - dragger.dragNode=div.childNodes[0]; - } else - dragger.dragNode=dragger.dragNode.cloneNode(true); - - dragger.dragNode.pWindow=window; - // dragger.dragNode.parentObject=oldp; - - dragger.gldragNode.old=dragger.dragNode; - document.body.appendChild(dragger.dragNode); - oldBody.dhtmlDragAndDrop.dragNode=dragger.dragNode; - } - - dragger.dragNode.style.left=e.clientX+15+(dragger.fx - ? dragger.fx*(-1) - : 0) - +(document.body.scrollLeft||document.documentElement.scrollLeft)+"px"; - dragger.dragNode.style.top=e.clientY+3+(dragger.fy - ? dragger.fy*(-1) - : 0) - +(document.body.scrollTop||document.documentElement.scrollTop)+"px"; - - if (!e.srcElement) - var z = e.target; - else - z=e.srcElement; - dragger.checkLanding(z, e); -} - -dhtmlDragAndDropObject.prototype.calculateFramePosition=function(n){ - //this.fx = 0, this.fy = 0; - if (window.name){ - var el = parent.frames[window.name].frameElement.offsetParent; - var fx = 0; - var fy = 0; - - while (el){ - fx+=el.offsetLeft; - fy+=el.offsetTop; - el=el.offsetParent; - } - - if ((parent.dhtmlDragAndDrop)){ - var ls = parent.dhtmlDragAndDrop.calculateFramePosition(1); - fx+=ls.split('_')[0]*1; - fy+=ls.split('_')[1]*1; - } - - if (n) - return fx+"_"+fy; - else - this.fx=fx; - this.fy=fy; - } - return "0_0"; -} -dhtmlDragAndDropObject.prototype.checkLanding=function(htmlObject, e){ - if ((htmlObject)&&(htmlObject.dragLanding)){ - if (this.lastLanding) - this.lastLanding.dragLanding._dragOut(this.lastLanding); - this.lastLanding=htmlObject; - this.lastLanding=this.lastLanding.dragLanding._dragIn(this.lastLanding, this.dragStartNode, e.clientX, - e.clientY, e); - this.lastLanding_scr=(_isIE ? e.srcElement : e.target); - } else { - if ((htmlObject)&&(htmlObject.tagName != "BODY")) - this.checkLanding(htmlObject.parentNode, e); - else { - if (this.lastLanding) - this.lastLanding.dragLanding._dragOut(this.lastLanding, e.clientX, e.clientY, e); - this.lastLanding=0; - - if (this._onNotFound) - this._onNotFound(); - } - } -} -dhtmlDragAndDropObject.prototype.stopDrag=function(e, mode){ - dragger=window.dhtmlDragAndDrop; - - if (!mode){ - dragger.stopFrameRoute(); - var temp = dragger.lastLanding; - dragger.lastLanding=null; - - if (temp) - temp.dragLanding._drag(dragger.dragStartNode, dragger.dragStartObject, temp, (_isIE - ? event.srcElement - : e.target)); - } - dragger.lastLanding=null; - - if ((dragger.dragNode)&&(dragger.dragNode.parentNode == document.body)) - dragger.dragNode.parentNode.removeChild(dragger.dragNode); - dragger.dragNode=0; - dragger.gldragNode=0; - dragger.fx=0; - dragger.fy=0; - dragger.dragStartNode=0; - dragger.dragStartObject=0; - document.body.onmouseup=dragger.tempDOMU; - document.body.onmousemove=dragger.tempDOMM; - dragger.tempDOMU=null; - dragger.tempDOMM=null; - dragger.waitDrag=0; -} - -dhtmlDragAndDropObject.prototype.stopFrameRoute=function(win){ - if (win) - window.dhtmlDragAndDrop.stopDrag(1, 1); - - for (var i = 0; i < window.frames.length; i++){ - try{ - if ((window.frames[i] != win)&&(window.frames[i].dhtmlDragAndDrop)) - window.frames[i].dhtmlDragAndDrop.stopFrameRoute(window); - } catch(e){} - } - - try{ - if ((parent.dhtmlDragAndDrop)&&(parent != window)&&(parent != win)) - parent.dhtmlDragAndDrop.stopFrameRoute(window); - } catch(e){} -} -dhtmlDragAndDropObject.prototype.initFrameRoute=function(win, mode){ - if (win){ - window.dhtmlDragAndDrop.preCreateDragCopy(); - window.dhtmlDragAndDrop.dragStartNode=win.dhtmlDragAndDrop.dragStartNode; - window.dhtmlDragAndDrop.dragStartObject=win.dhtmlDragAndDrop.dragStartObject; - window.dhtmlDragAndDrop.dragNode=win.dhtmlDragAndDrop.dragNode; - window.dhtmlDragAndDrop.gldragNode=win.dhtmlDragAndDrop.dragNode; - window.document.body.onmouseup=window.dhtmlDragAndDrop.stopDrag; - window.waitDrag=0; - - if (((!_isIE)&&(mode))&&((!_isFF)||(_FFrv < 1.8))) - window.dhtmlDragAndDrop.calculateFramePosition(); - } - try{ - if ((parent.dhtmlDragAndDrop)&&(parent != window)&&(parent != win)) - parent.dhtmlDragAndDrop.initFrameRoute(window); - }catch(e){} - - for (var i = 0; i < window.frames.length; i++){ - try{ - if ((window.frames[i] != win)&&(window.frames[i].dhtmlDragAndDrop)) - window.frames[i].dhtmlDragAndDrop.initFrameRoute(window, ((!win||mode) ? 1 : 0)); - } catch(e){} - } -} - - _isFF = false; - _isIE = false; - _isOpera = false; - _isKHTML = false; - _isMacOS = false; - _isChrome = false; - _FFrv = false; - _KHTMLrv = false; - _OperaRv = false; - -if (navigator.userAgent.indexOf('Macintosh') != -1) - _isMacOS=true; - - -if (navigator.userAgent.toLowerCase().indexOf('chrome')>-1) - _isChrome=true; - -if ((navigator.userAgent.indexOf('Safari') != -1)||(navigator.userAgent.indexOf('Konqueror') != -1)){ - _KHTMLrv = parseFloat(navigator.userAgent.substr(navigator.userAgent.indexOf('Safari')+7, 5)); - - if (_KHTMLrv > 525){ //mimic FF behavior for Safari 3.1+ - _isFF=true; - _FFrv = 1.9; - } else - _isKHTML=true; -} else if (navigator.userAgent.indexOf('Opera') != -1){ - _isOpera=true; - _OperaRv=parseFloat(navigator.userAgent.substr(navigator.userAgent.indexOf('Opera')+6, 3)); -} - - -else if (navigator.appName.indexOf("Microsoft") != -1){ - _isIE=true; - if ((navigator.appVersion.indexOf("MSIE 8.0")!= -1 || - navigator.appVersion.indexOf("MSIE 9.0")!= -1 || - navigator.appVersion.indexOf("MSIE 10.0")!= -1 || - document.documentMode > 7) && - document.compatMode != "BackCompat"){ - _isIE=8; - } -} else if (navigator.appName == 'Netscape' && navigator.userAgent.indexOf("Trident") != -1){ - //ie11 - _isIE=8; -} else { - _isFF=true; - _FFrv = parseFloat(navigator.userAgent.split("rv:")[1]) -} - -if (typeof(window.dhtmlxEvent) == "undefined") { - - window.dhtmlxEvent = function(el, event, handler){ - if (el.addEventListener) - el.addEventListener(event, handler, false); - - else if (el.attachEvent) - el.attachEvent("on"+event, handler); - } -}; - -if (dhtmlxEvent.touchDelay == null) { - dhtmlxEvent.touchDelay = 2000; -}; - -if (typeof(dhtmlxEvent.initTouch) == "undefined") { - - dhtmlxEvent.initTouch = function(){ - var longtouch; - var target; - var tx, ty; - - dhtmlxEvent(document.body, "touchstart", function(ev){ - target = ev.touches[0].target; - tx = ev.touches[0].clientX; - ty = ev.touches[0].clientY; - longtouch = window.setTimeout(touch_event, dhtmlxEvent.touchDelay); - }); - function touch_event(){ - if (target){ - var ev = document.createEvent("HTMLEvents"); // for chrome and firefox - ev.initEvent("dblclick", true, true); - target.dispatchEvent(ev); - longtouch = target = null; - } - }; - dhtmlxEvent(document.body, "touchmove", function(ev){ - if (longtouch){ - if (Math.abs(ev.touches[0].clientX - tx) > 50 || Math.abs(ev.touches[0].clientY - ty) > 50 ){ - window.clearTimeout(longtouch); - longtouch = target = false; - } - } - }); - dhtmlxEvent(document.body, "touchend", function(ev){ - if (longtouch){ - window.clearTimeout(longtouch); - longtouch = target = false; - } - }); - - dhtmlxEvent.initTouch = function(){}; - }; -}; -/** - -Bazed on Promiz - A fast Promises/A+ library -https://github.com/Zolmeister/promiz - -The MIT License (MIT) - -Copyright (c) 2014 Zolmeister - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -*/ - -/* jshint ignore:start */ -(function (self) { - var now = typeof setImmediate !== 'undefined' ? setImmediate : function(cb) { - setTimeout(cb, 0) - } - - /** - * @constructor - */ - function promise(fn, er) { - var self = this - - self.promise = self - self.state = 'pending' - self.val = null - self.fn = fn || null - self.er = er || null - self.next = []; - } - - promise.prototype.resolve = function (v) { - var self = this - if (self.state === 'pending') { - self.val = v - self.state = 'resolving' - - now(function () { - self.fire() - }) - } - } - - promise.prototype.reject = function (v) { - var self = this - if (self.state === 'pending') { - self.val = v - self.state = 'rejecting' - - now(function () { - self.fire() - }) - } - } - - promise.prototype.then = function (fn, er) { - var self = this - var p = new promise(fn, er) - self.next.push(p) - if (self.state === 'resolved') { - p.resolve(self.val) - } - if (self.state === 'rejected') { - p.reject(self.val) - } - return p - } - promise.prototype.fail = function (er) { - return this.then(null, er) - } - promise.prototype.finish = function (type) { - var self = this - self.state = type - - if (self.state === 'resolved') { - for (var i = 0; i < self.next.length; i++) - self.next[i].resolve(self.val); - } - - if (self.state === 'rejected') { - for (var i = 0; i < self.next.length; i++) - self.next[i].reject(self.val); - - if (!self.next.length) - throw(self.val); - } - } - - // ref : reference to 'then' function - // cb, ec, cn : successCallback, failureCallback, notThennableCallback - promise.prototype.thennable = function (ref, cb, ec, cn, val) { - var self = this - val = val || self.val - if (typeof val === 'object' && typeof ref === 'function') { - try { - // cnt protects against abuse calls from spec checker - var cnt = 0 - ref.call(val, function(v) { - if (cnt++ !== 0) return - cb(v) - }, function (v) { - if (cnt++ !== 0) return - ec(v) - }) - } catch (e) { - ec(e) - } - } else { - cn(val) - } - } - - promise.prototype.fire = function () { - var self = this - // check if it's a thenable - var ref; - try { - ref = self.val && self.val.then - } catch (e) { - self.val = e - self.state = 'rejecting' - return self.fire() - } - - self.thennable(ref, function (v) { - self.val = v - self.state = 'resolving' - self.fire() - }, function (v) { - self.val = v - self.state = 'rejecting' - self.fire() - }, function (v) { - self.val = v - - if (self.state === 'resolving' && typeof self.fn === 'function') { - try { - self.val = self.fn.call(undefined, self.val) - } catch (e) { - self.val = e - return self.finish('rejected') - } - } - - if (self.state === 'rejecting' && typeof self.er === 'function') { - try { - self.val = self.er.call(undefined, self.val) - self.state = 'resolving' - } catch (e) { - self.val = e - return self.finish('rejected') - } - } - - if (self.val === self) { - self.val = TypeError() - return self.finish('rejected') - } - - self.thennable(ref, function (v) { - self.val = v - self.finish('resolved') - }, function (v) { - self.val = v - self.finish('rejected') - }, function (v) { - self.val = v - self.state === 'resolving' ? self.finish('resolved') : self.finish('rejected') - }) - - }) - } - - promise.prototype.done = function () { - if (this.state = 'rejected' && !this.next) { - throw this.val - } - return null - } - - promise.prototype.nodeify = function (cb) { - if (typeof cb === 'function') return this.then(function (val) { - try { - cb(null, val) - } catch (e) { - setImmediate(function () { - throw e - }) - } - - return val - }, function (val) { - try { - cb(val) - } catch (e) { - setImmediate(function () { - throw e - }) - } - - return val - }) - - return this - } - - promise.prototype.spread = function (fn, er) { - return this.all().then(function (list) { - return typeof fn === 'function' && fn.apply(null, list) - }, er) - } - - promise.prototype.all = function() { - var self = this - return this.then(function(list){ - var p = new promise() - if(!(list instanceof Array)) { - p.reject(TypeError) - return p - } - - var cnt = 0 - var target = list.length - - function done() { - if (++cnt === target) p.resolve(list) - } - - for(var i=0, l=list.length; i 0) { - this.views[name].cellCont.push(cellCont.firstChild); - cellCont.removeChild(cellCont.firstChild); - } - cellCont = null; - - this.dataType = null; - this.dataObj = null; - this.conf.url_data = null; - - // menu/toolbar/status - for (var a in this.dataNodes) { - - for (var b in this.conf.ofs_nodes) { - if (typeof(this.conf.ofs_nodes[b][a]) != "undefined") { - this.views[name].ofs_nodes[b][a] = this.conf.ofs_nodes[b][a]; - this.conf.ofs_nodes[b][a] = null; - delete this.conf.ofs_nodes[b][a]; - } - } - - this.views[name].dataNodesCont[a] = this.cell.childNodes[this.conf.idx[a]]; - this.cell.removeChild(this.cell.childNodes[this.conf.idx[a]]); - - this.views[name].dataNodes[a] = this.dataNodes[a]; - this.dataNodes[a] = null; - delete this.dataNodes[a]; - - this._updateIdx(); - } - - this.callEvent("_onViewSave", [name]); - - } - - this._viewRestore = function(name) { - - if (this.views[name] == null) return; - - // content - this.dataObj = this.views[name].dataObj; - this.dataType = this.views[name].dataType; - this.conf.url_data = this.views[name].url_data; - for (var q=0; q
                    "); - if (typeof(t._doOnFrameContentLoaded) == "function") t._doOnFrameContentLoaded(); - t.dataType = "url-ajax"; - } - t = r = null; - }); - } else { - this.conf.url_data.xml_doc = dhx4.ajax.get(url, function(r){ - if (t.attachHTMLString != null && typeof(r.xmlDoc.responseText) == "string") { - t.attachHTMLString("
                    "+r.xmlDoc.responseText+"
                    "); - if (typeof(t._doOnFrameContentLoaded) == "function") t._doOnFrameContentLoaded(); - t.dataType = "url-ajax"; - } - t = r = null; - }); - } - - } else { - if (this.dataType == "url") { - var fr = this.getFrame(); - } else { - var fr = document.createElement("IFRAME"); - fr.frameBorder = 0; - fr.border = 0; - fr.style.width = "100%"; - fr.style.height = "100%"; - fr.style.position = "relative"; - this._attachObject(fr); - this.dataType = "url"; - this._attachURLEvents(); - } - if (postReq) { - var firstLoad = (typeof(this.conf.url_data.post_ifr) == "undefined"); - this.conf.url_data.post_ifr = true; // load later - if (firstLoad) this._attachURLEvents(); - fr.src = "about:blank"; - } else { - fr.src = url+window.dhx4.ajax._dhxr(url); - } - fr = null; - } - - fr = null; -}; - -dhtmlXCellObject.prototype.reloadURL = function() { - if (!(this.dataType == "url" || this.dataType == "url-ajax")) return; - if (this.conf.url_data == null) return; - this.attachURL(this.conf.url_data.url, this.conf.url_data.ajax, this.conf.url_data.post_data); -}; - -dhtmlXCellObject.prototype.attachHTMLString = function(str) { - this._attachObject(null, null, str); - // esec script - var z = str.match(/]*>[^\f]*?<\/script>/g)||[]; - for (var i=0; i]*>/gi,""); - if (s) { - if (window.execScript) window.execScript(s); else window.eval(s); - } - } -}; - -dhtmlXCellObject.prototype.attachScheduler = function(day, mode, cont_id, scheduler) { - - scheduler = scheduler || window.scheduler; - - var ready = false; - if (cont_id) { - var obj = document.getElementById(cont_id); - if (obj) ready = true; - } - if (!ready) { - var tabs = cont_id || '
                    '; - var obj = document.createElement("DIV"); - obj.id = "dhxSchedObj_"+new Date().getTime(); - obj.style.width = "100%"; - obj.style.height = "100%"; - obj.style.position = "relative"; - obj.style.overflow = "hidden"; - obj.className = "dhx_cal_container"; - obj.innerHTML = '
                     
                     
                    '+tabs+'
                    '; - } - - this._attachObject(obj); - - this.dataType = "scheduler"; - this.dataObj = scheduler; - this.dataObj.setSizes = function(){ - this.update_view(); - } - - scheduler.init(obj.id, day, mode); - - obj = null; - - this.callEvent("_onContentAttach",[]); - - return this.dataObj; -}; - -dhtmlXCellObject.prototype.attachMap = function(opts) { - - var obj = document.createElement("DIV"); - obj.style.width = "100%"; - obj.style.height = "100%"; - obj.style.position = "relative"; - obj.style.overflow = "hidden"; - this._attachObject(obj); - - if (!opts) opts = {center: new google.maps.LatLng(40.719837,-73.992348), zoom: 11, mapTypeId: google.maps.MapTypeId.ROADMAP}; - - this.dataType = "maps"; - this.dataObj = new google.maps.Map(obj, opts); - - this.dataObj.setSizes = function() { - google.maps.event.trigger(this, "resize"); - } - - obj = null; - - this.callEvent("_onContentAttach",[]); - - return this.dataObj; - -}; - -// status bar -dhtmlXCellObject.prototype._createNode_sb = function(obj, type, htmlString, append, node) { - // type -> (object) conf={text:string,height:number} - if (typeof(node) != "undefined") { - obj = node; - } else { - var conf = type||{}; - var text = (typeof(conf.text)=="string" && conf.text.length > 0 ? conf.text : " "); - var h = (typeof(conf.height) == "number" ? conf.height : false); - var obj = document.createElement("DIV"); - - obj.className = "dhx_cell_statusbar_def"; - obj.innerHTML = "
                    "+text+"
                    "; - - // height, optional - if (h != false) obj.firstChild.style.height = obj.firstChild.style.lineHeight = h+"px"; - } - - // before progress or last - if (this.conf.idx.pr1 != null) { - this.cell.insertBefore(obj, this.cell.childNodes[this.conf.idx.pr1]); - } else { - this.cell.appendChild(obj); - } - - this.conf.ofs_nodes.b.sb = true; - this._updateIdx(); - this._adjustCont(this._idd); - - return obj; -}; - -dhtmlXCellObject.prototype.attachStatusBar = function(conf) { // args-optinal, new in version - - if (this.dataNodes.sb) return; // return this.dataNodes.sb? - - if (conf != null && window.dhx4.s2b(conf.paging) == true) conf.height = null; // will set by css - - if (this.conf.skin == "dhx_skyblue" && typeof(window.dhtmlXWindowsCell) == "function" && this instanceof window.dhtmlXWindowsCell) { - this.cell.childNodes[this.conf.idx.cont].className += " dhx_cell_statusbar_attached"; - } - this.dataNodes.sb = this._attachObject("sb", conf); - - this.dataNodes.sb.setText = function(text) { this.childNodes[0].innerHTML = text; } - this.dataNodes.sb.getText = function() { return this.childNodes[0].innerHTML; } - this.dataNodes.sb.onselectstart = function(e) { return false; } - - return this.dataNodes.sb; - -}; - -dhtmlXCellObject.prototype.detachStatusBar = function() { - - if (!this.dataNodes.sb) return; - - if (this.conf.skin == "dhx_skyblue" && typeof(window.dhtmlXWindowsCell)== "function" && this instanceof window.dhtmlXWindowsCell) { - this.cell.childNodes[this.conf.idx.cont].className = this.cell.childNodes[this.conf.idx.cont].className.replace(/\s{0,}dhx_cell_statusbar_attached/,""); - } - - this.dataNodes.sb.setText = this.dataNodes.sb.getText = this.dataNodes.sb.onselectstart = null; - this.dataNodes.sb = null; - delete this.dataNodes.sb; - - this._detachObject("sb"); - -}; - -dhtmlXCellObject.prototype.showStatusBar = function() { - this._mtbShowHide("sb", ""); -}; - -dhtmlXCellObject.prototype.hideStatusBar = function() { - this._mtbShowHide("sb", "none"); -}; - -dhtmlXCellObject.prototype._mtbShowHide = function(name, disp) { - if (!this.dataNodes[name]) return; - this.cell.childNodes[this.conf.idx[name]].style.display = disp; - this._adjustCont(); -}; - - -/* private logic */ - -// !!! fix -dhtmlXCellObject.prototype.getFrame = dhtmlXCellObject.prototype._getFrame = function() { // _getFrame deprecated, use getFrame - if (this.dataType != "url") return null; - return this.cell.childNodes[this.conf.idx.cont].firstChild; -}; - -dhtmlXCellObject.prototype._attachURLEvents = function() { - - if (this.dataType != "url") return; - - var t = this; - var cId = this._idd; - var fr = this.cell.childNodes[this.conf.idx.cont].firstChild; - - if (typeof(this._doOnFrameMouseDown) != "function") { - this._doOnFrameMouseDown = function(e) { - // console.log("frame mouse down"); // needed for windows to activate window - t.callEvent("_onContentMouseDown", [cId,e||event]); - } - } - - if (typeof(window.addEventListener) == "function") { - fr.onload = function() { - try { if (typeof(t._doOnFrameMouseDown) == "function") this.contentWindow.document.body.addEventListener("mousedown", t._doOnFrameMouseDown, false); } catch(e) {}; - try { if (typeof(t._doOnFrameContentLoaded) == "function") t._doOnFrameContentLoaded(); } catch(e) {}; - } - } else { - // ie8- - fr.onreadystatechange = function(a) { - if (this.readyState == "complete") { - try { if (typeof(t._doOnFrameMouseDown) == "function") this.contentWindow.document.body.attachEvent("onmousedown", t._doOnFrameMouseDown); } catch(e) {}; - try { if (typeof(t._doOnFrameContentLoaded) == "function") t._doOnFrameContentLoaded(); } catch(e) {}; - } - } - } - //fr = null; -}; - - -dhtmlXCellObject.prototype._doOnFrameContentLoaded = function() { - if (this.conf.url_data.post_ifr == true) { - var d = this.getFrame().contentWindow.document; - var f = d.createElement("FORM"); - f.method = "POST"; - f.action = this.conf.url_data.url; - d.body.appendChild(f); - var postData = {}; - if (window.dhx4.ajax.cache != true) postData["dhxr"+new Date().getTime()] = "1"; - for (var a in this.conf.url_data.post_data) postData[a] = this.conf.url_data.post_data[a]; - for (var a in postData) { - var k = d.createElement("INPUT"); - k.type = "hidden"; - k.name = a; - k.value = postData[a]; - f.appendChild(k); - k = null; - } - this.conf.url_data.post_ifr = false; - f.submit(); - } else { - this.callEvent("_onContentLoaded", [this._idd]); - } -}; - -dhtmlXCellObject.prototype._detachURLEvents = function(fr) { - if (fr == null) { - if (this.dataType != "url") return; - fr = this.cell.childNodes[this.conf.idx.cont].firstChild; - } - if (!fr) return; - - if (typeof(window.addEventListener) == "function") { - fr.onload = null; - try { fr.contentWindow.document.body.removeEventListener("mousedown", this._doOnFrameMouseDown, false); } catch(e) {/* console.log("error: url detach mousedown event fail"); */}; - } else { - fr.onreadystatechange = null; - try { fr.contentWindow.document.body.detachEvent("onmousedown", this._doOnFrameMouseDown); } catch(e) { }; - } - fr = null; -}; - - - - -dhtmlXCellObject.prototype._attachObject = function(obj, type, htmlString, append, node) { - - if (typeof(obj) == "string" && {menu:1,toolbar:1,ribbon:1,sb:1}[obj] == 1) { - return this["_createNode_"+obj].apply(this, arguments); - } - - if (append != true) this._detachObject(null, true, null); - - if (typeof(htmlString) == "string") { - this.cell.childNodes[this.conf.idx.cont].innerHTML = htmlString; - } else { - this.cell.childNodes[this.conf.idx.cont].appendChild(obj); - } - - obj = null; -}; - -dhtmlXCellObject.prototype._detachObject = function(obj, remove, moveTo) { - - this.callEvent("_onBeforeContentDetach",[]); - - if (obj == "menu" || obj == "toolbar" || obj == "ribbon" || obj == "sb") { - - var p = this.cell.childNodes[this.conf.idx[obj]]; - p.parentNode.removeChild(p); - p = null; - - this.conf.ofs_nodes[obj=="sb"?"b":"t"][obj] = false; - - this._updateIdx(); - if (!this.conf.unloading) this._adjustCont(this._idd); - - return; - } - - if (remove == true) { - moveTo = false; - } else { - if (typeof(moveTo) == "undefined") { - moveTo = document.body; - } else { - if (typeof(moveTo) == "string") moveTo = document.getElementById(moveTo); - } - } - - // clear obj - if (moveTo === false) { - // cancel ajax-request if unloading - if (this.conf.unloading == true && String(this.dataType).match(/ajax/) != null) { - if (this.conf.url_data != null && this.conf.url_data.xml_doc != null) { - try {this.conf.url_data.xml_doc.xmlDoc.abort();}catch(e){}; - this.conf.url_data.xml_doc.xmlDoc = null; - this.conf.url_data.xml_doc = null; - } - } - // - if (this.dataType == "url") { - this._detachURLEvents(); - } else if (this.dataObj != null) { - if (typeof(this.dataObj.unload) == "function") { - this.dataObj.unload(); - } else if (typeof(this.dataObj.destructor) == "function") { - this.dataObj.destructor(); // at least for grid - } - } - } - - // clear cell cont - var p = this.cell.childNodes[this.conf.idx.cont]; - while (p.childNodes.length > 0) { - if (moveTo === false) { - p.removeChild(p.lastChild); - } else { - p.firstChild.style.display = "none"; // replace with/add - visibility:hidden? - moveTo.appendChild(p.firstChild); - } - } - - if (this.conf.append_mode) { - p.style.overflow = ""; - this.conf.append_mode = false; - } - - var resetHdrBrd = (this.dataType == "tabbar"); - - this.dataObj = null; - this.dataType = null; - - moveTo = p = null; - - if (this.conf.unloading != true && resetHdrBrd) { - this.showHeader(true); - this._showBorders(); - } - -}; - -// for dock/undock -dhtmlXCellObject.prototype._attachFromCell = function(cell) { - - // clear existing - this.detachObject(true); - - var mode = "layout"; - if (typeof(window.dhtmlXWindowsCell) == "function" && this instanceof window.dhtmlXWindowsCell) { - mode = "window"; - } - - // check opacity: - // 1) detach from window cell, opacity set to 0.4 - if (typeof(window.dhtmlXWindowsCell) == "function" && cell instanceof window.dhtmlXWindowsCell && cell.wins.w[cell._idd].conf.parked == true) { - cell.wins._winCellSetOpacity(cell._idd, "open", false); - } - // 2) acc-cell collapsed - if (typeof(window.dhtmlXAccordionCell) == "function" && cell instanceof window.dhtmlXAccordionCell && cell.conf.opened == false) { - cell._cellSetOpacity("open", false); - } - - // menu, toolbar, status - for (var a in cell.dataNodes) { - - this._attachObject(a, null, null, null, cell.cell.childNodes[cell.conf.idx[a]]); - this.dataNodes[a] = cell.dataNodes[a]; - - cell.dataNodes[a] = null; - cell.conf.ofs_nodes[a=="sb"?"b":"t"][a] = false; - cell._updateIdx(); - - } - - this._mtbUpdBorder(); - - if (cell.dataType != null && cell.dataObj != null) { - this.dataType = cell.dataType; - this.dataObj = cell.dataObj; - while (cell.cell.childNodes[cell.conf.idx.cont].childNodes.length > 0) { - this.cell.childNodes[this.conf.idx.cont].appendChild(cell.cell.childNodes[cell.conf.idx.cont].firstChild); - } - cell.dataType = null; - cell.dataObj = null; - - // fixes - if (this.dataType == "grid") { - if (mode == "window" && this.conf.skin == "dhx_skyblue") { - this.dataObj.entBox.style.border = "1px solid #a4bed4"; - this.dataObj._sizeFix = 0; - } else { - this.dataObj.entBox.style.border = "0px solid white"; - this.dataObj._sizeFix = 2; - } - } - } else { - // for attached urls and objects simple move them - while (cell.cell.childNodes[cell.conf.idx.cont].childNodes.length > 0) { - this.cell.childNodes[this.conf.idx.cont].appendChild(cell.cell.childNodes[cell.conf.idx.cont].firstChild); - } - } - - this.conf.view = cell.conf.view; - cell.conf.view = "def"; - for (var a in cell.views) { - this.views[a] = cell.views[a]; - cell.views[a] = null; - delete cell.views[a]; - } - - cell._updateIdx(); - cell._adjustCont(); - - this._updateIdx(); - this._adjustCont(); - - // save progress state - if (cell.conf.progress == true) { - cell.progressOff(); - this.progressOn(); - } else { - this.progressOff(); - } - - // check opacity, set opacity to 0.4 - // 1) attach to window cell, window parked - if (mode == "window" && this.wins.w[this._idd].conf.parked) { - this.wins._winCellSetOpacity(this._idd, "close", false); - } - -}; - -/* - - +--------------------------------------------------------+ - | base | - | | - | +-----------------------------------------------+ | - | | header | | - | +-----------------------------------------------+ | - | | - | +-----------------------------------------------+ | - | | mtb | | - | +-----------------------------------------------+ | - | | - | +-----------------------------------------------+ | - | | cont | | - | | | | - | | | | - | +-----------------------------------------------+ | - | | - | +-----------------------------------------------+ | - | | sb | | - | +-----------------------------------------------+ | - | | - | +-----------------------------------------------+ | - | | footer | | - | +-----------------------------------------------+ | - | | - +--------------------------------------------------------+ - -*/ - -function dhtmlXCellTop(base, offsets) { - - if (arguments.length == 0 || typeof(base) == "undefined") return; - - var that = this; - - this.dataNodes = {}; // menu/toolbar/ribbon/sb/hdr/ftr - - this.conf.ofs = {t:0, b:0, l:0, r:0}; // base outer offset (fullscreen margins) - this.conf.ofs_nodes = {t:{}, b:{}}; // attached menu/toolbar/sb/hdr/ftr - this.conf.progress = false; - - this.conf.fs_mode = false; // fullscreen mode - this.conf.fs_tm = null; // fullscreen resize timeout - this.conf.fs_resize = false; // fullscreen resize - - if (base == document.body) { - - this.conf.fs_mode = true; - - // fullscreen init - this.base = base; - - // custom offset for body - if (this.base == document.body) { - var ofsDef = { - dhx_skyblue: {t: 2, b: 2, l: 2, r: 2}, - dhx_web: {t: 8, b: 8, l: 8, r: 8}, - dhx_terrace: {t: 9, b: 9, l: 8, r: 8}, - material: {t: 9, b: 9, l: 8, r: 8} - }; - this.conf.ofs = (ofsDef[this.conf.skin] != null ? ofsDef[this.conf.skin] : ofsDef.dhx_skyblue); - } - - } else { - this.base = (typeof(base)=="string"?document.getElementById(base):base); - } - - this.base.className += " "+this.conf.css+"_base_"+this.conf.skin; - - this.cont = document.createElement("DIV"); - this.cont.className = this.conf.css+"_cont"; - this.base.appendChild(this.cont); - - // conf-offsets override (attachObject usualy) - if (offsets != null) { - this.setOffsets(offsets, false); - } else if (this.base._ofs != null) { - this.setOffsets(this.base._ofs, false); - this.base._ofs = null; - try {delete this.base._ofs;}catch(e){}; // IE6/IE7 fix - } - - this._adjustCont = function() { - - var ofsYT = this.conf.ofs.t; - for (var a in this.conf.ofs_nodes.t) ofsYT += (this.conf.ofs_nodes.t[a]==true ? this.dataNodes[a].offsetHeight:0); - - var ofsYB = this.conf.ofs.b; - for (var a in this.conf.ofs_nodes.b) ofsYB += (this.conf.ofs_nodes.b[a]==true ? this.dataNodes[a].offsetHeight:0); - - this.cont.style.left = this.conf.ofs.l + "px"; - this.cont.style.width = this.base.clientWidth - this.conf.ofs.l - this.conf.ofs.r + "px"; - - this.cont.style.top = ofsYT + "px"; - this.cont.style.height = this.base.clientHeight - ofsYT - ofsYB + "px"; - - } - - this._setBaseSkin = function(skin) { - this.base.className = this.base.className.replace(new RegExp(this.conf.css+"_base_"+this.conf.skin,"gi"), this.conf.css+"_base_"+skin); - } - - this._initFSResize = function() { - - if (this.conf.fs_resize == true) return; // already inited - - this._doOnResizeStart = function() { - window.clearTimeout(that.conf.fs_tm); - that.conf.fs_tm = window.setTimeout(that._doOnResizeEnd, 200); - } - - this._doOnResizeEnd = function() { - that.setSizes(); - } - - if (typeof(window.addEventListener) == "function") { - window.addEventListener("resize", this._doOnResizeStart, false); - } else { - window.attachEvent("onresize", this._doOnResizeStart); - } - - this.conf.fs_resize = true; - } - - // resize events - if (this.conf.fs_mode == true) this._initFSResize(); - - this._unloadTop = function() { - - this._mtbUnload(); - this.detachHeader(); - this.detachFooter(); - - if (this.conf.fs_mode == true) { - if (typeof(window.addEventListener) == "function") { - window.removeEventListener("resize", this._doOnResizeStart, false); - } else { - window.detachEvent("onresize", this._doOnResizeStart); - } - } - - this.base.removeChild(this.cont); - var r = new RegExp("\s{0,}"+this.conf.css+"_base_"+this.conf.skin, "gi"); - this.base.className = this.base.className.replace(r, ""); - this.cont = this.base = null; - - that = null; - } - - base = null; -}; - -// outer offsets -dhtmlXCellTop.prototype.setOffsets = function(data, upd) { // set 'upd' to false to prevent adjusting (useful on init stage) - var t = false; - for (var a in data) { - var k = a.charAt(0); - if (typeof(this.conf.ofs[k]) != "undefined" && !isNaN(data[a])) { - this.conf.ofs[k] = parseInt(data[a]); - t = true; - } - } - if (upd !== false && typeof(this.setSizes) == "function" && t == true) this.setSizes(); -}; - - -// top-level menu/toolbar/ribbon/status - -// menu -dhtmlXCellTop.prototype.attachMenu = function(conf) { - - if (this.dataNodes.menu != null) return; - - this.dataNodes.menuObj = document.createElement("DIV"); - this.dataNodes.menuObj.className = "dhxcelltop_menu"; - - this.base.insertBefore(this.dataNodes.menuObj, this.dataNodes.toolbarObj||this.dataNodes.ribbonObj||this.cont); - - if (typeof(conf) != "object" || conf == null) conf = {}; - conf.skin = this.conf.skin; - conf.parent = this.dataNodes.menuObj; - - this.dataNodes.menu = new dhtmlXMenuObject(conf); - - this.dataNodes.menuEv = this.attachEvent("_onSetSizes", function(){ - if (this.dataNodes.menuObj.style.display == "none") return; - if (this.conf.ofs_menu == null) { - this.dataNodes.menuObj.style.width = this.base.offsetWidth-this.conf.ofs.l-this.conf.ofs.r+"px"; - this.conf.ofs_menu = {w: this.dataNodes.menuObj.offsetWidth-parseInt(this.dataNodes.menuObj.style.width)}; - } - this.dataNodes.menuObj.style.left = this.conf.ofs.l+"px"; - this.dataNodes.menuObj.style.marginTop = (this.dataNodes.haObj!=null?0:this.conf.ofs.t)+"px"; - this.dataNodes.menuObj.style.width = this.base.offsetWidth-this.conf.ofs.l-this.conf.ofs.r-this.conf.ofs_menu.w+"px"; - - }); - - this.conf.ofs_nodes.t.menuObj = true; - - this.setSizes(); - - conf.parnt = null; - conf = null; - - return this.dataNodes.menu; -}; - -dhtmlXCellTop.prototype.detachMenu = function() { - - if (this.dataNodes.menu == null) return; - - this.dataNodes.menu.unload(); - this.dataNodes.menu = null; - - this.dataNodes.menuObj.parentNode.removeChild(this.dataNodes.menuObj); - this.dataNodes.menuObj = null; - - this.detachEvent(this.dataNodes.menuEv); - this.dataNodes.menuEv = null; - - delete this.dataNodes.menu; - delete this.dataNodes.menuObj; - delete this.dataNodes.menuEv; - - this.conf.ofs_nodes.t.menuObj = false; - - if (!this.conf.unloading) this.setSizes(); -}; - -// toolbar -dhtmlXCellTop.prototype.attachToolbar = function(conf) { - - if (!(this.dataNodes.ribbon == null && this.dataNodes.toolbar == null)) return; - - this.dataNodes.toolbarObj = document.createElement("DIV"); - this.dataNodes.toolbarObj.className = "dhxcelltop_toolbar"; - this.base.insertBefore(this.dataNodes.toolbarObj, this.cont); - this.dataNodes.toolbarObj.appendChild(document.createElement("DIV")); - - if (typeof(conf) != "object" || conf == null) conf = {}; - conf.skin = this.conf.skin; - conf.parent = this.dataNodes.toolbarObj.firstChild; - - this.dataNodes.toolbar = new dhtmlXToolbarObject(conf); - - this.dataNodes.toolbarEv = this.attachEvent("_onSetSizes", function() { - if (this.dataNodes.toolbarObj.style.display == "none") return; - this.dataNodes.toolbarObj.style.left = this.conf.ofs.l+"px"; - this.dataNodes.toolbarObj.style.marginTop = (this.dataNodes.haObj!=null||this.dataNodes.menuObj!=null?0:this.conf.ofs.t)+"px"; - this.dataNodes.toolbarObj.style.width = this.base.offsetWidth-this.conf.ofs.l-this.conf.ofs.r+"px"; - }); - - this.dataNodes.toolbar._masterCell = this; - this.dataNodes.toolbar.attachEvent("_onIconSizeChange", function(){ - this._masterCell.setSizes(); - }); - - this.conf.ofs_nodes.t.toolbarObj = true; - - this.setSizes(); - - conf.parnt = null; - conf = null; - - return this.dataNodes.toolbar; -}; - -dhtmlXCellTop.prototype.detachToolbar = function() { - - if (this.dataNodes.toolbar == null) return; - - this.dataNodes.toolbar._masterCell = null; // link to this - this.dataNodes.toolbar.unload(); - this.dataNodes.toolbar = null; - - this.dataNodes.toolbarObj.parentNode.removeChild(this.dataNodes.toolbarObj); - this.dataNodes.toolbarObj = null; - - this.detachEvent(this.dataNodes.toolbarEv); - this.dataNodes.toolbarEv = null; - - this.conf.ofs_nodes.t.toolbarObj = false; - - delete this.dataNodes.toolbar; - delete this.dataNodes.toolbarObj; - delete this.dataNodes.toolbarEv; - - if (!this.conf.unloading) this.setSizes(); -}; - -// ribbon -dhtmlXCellTop.prototype.attachRibbon = function(conf) { - - if (!(this.dataNodes.ribbon == null && this.dataNodes.toolbar == null)) return; - - this.dataNodes.ribbonObj = document.createElement("DIV"); - this.dataNodes.ribbonObj.className = "dhxcelltop_ribbon"; - this.base.insertBefore(this.dataNodes.ribbonObj, this.cont); - this.dataNodes.ribbonObj.appendChild(document.createElement("DIV")); - - if (typeof(conf) != "object" || conf == null) conf = {}; - conf.skin = this.conf.skin; - conf.parent = this.dataNodes.ribbonObj.firstChild; - - this.dataNodes.ribbon = new dhtmlXRibbon(conf); - - this.dataNodes.ribbonEv = this.attachEvent("_onSetSizes", function() { - if (this.dataNodes.ribbonObj.style.display == "none") return; - this.dataNodes.ribbonObj.style.left = this.conf.ofs.l+"px"; - this.dataNodes.ribbonObj.style.marginTop = (this.dataNodes.haObj!=null||this.dataNodes.menuObj!=null?0:this.conf.ofs.t)+"px"; - this.dataNodes.ribbonObj.style.width = this.base.offsetWidth-this.conf.ofs.l-this.conf.ofs.r+"px"; - this.dataNodes.ribbon.setSizes(); - }); - - this.conf.ofs_nodes.t.ribbonObj = true; - - var t = this; - this.dataNodes.ribbon.attachEvent("_onHeightChanged", function(){ - t.setSizes(); - }); - - this.setSizes(); - - conf.parnt = null; - conf = null; - - return this.dataNodes.ribbon; -}; - -dhtmlXCellTop.prototype.detachRibbon = function() { - - if (this.dataNodes.ribbon == null) return; - - this.dataNodes.ribbon.unload(); - this.dataNodes.ribbon = null; - - this.dataNodes.ribbonObj.parentNode.removeChild(this.dataNodes.ribbonObj); - this.dataNodes.ribbonObj = null; - - this.detachEvent(this.dataNodes.ribbonEv); - this.dataNodes.ribbonEv = null; - - this.conf.ofs_nodes.t.ribbonObj = false; - - delete this.dataNodes.ribbon; - delete this.dataNodes.ribbonObj; - delete this.dataNodes.ribbonEv; - - if (!this.conf.unloading) this.setSizes(); -}; - - -// status -dhtmlXCellTop.prototype.attachStatusBar = function(conf) { // arg-optional, new in version - - if (this.dataNodes.sbObj) return; - - if (typeof(conf) == "undefined") conf = {}; - - this.dataNodes.sbObj = document.createElement("DIV"); - this.dataNodes.sbObj.className = "dhxcelltop_statusbar"; - - if (this.cont.nextSibling != null) { - this.base.insertBefore(this.dataNodes.sbObj, this.cont.nextSibling); - } else { - this.base.appendChild(this.dataNodes.sbObj); - } - - this.dataNodes.sbObj.innerHTML = "
                    "+(typeof(conf.text)=="string" && conf.text.length > 0 ? conf.text:" ")+"
                    "; - if (typeof(conf.height) == "number") this.dataNodes.sbObj.firstChild.style.height = this.dataNodes.sbObj.firstChild.style.lineHeight = conf.height+"px"; - - this.dataNodes.sbObj.setText = function(text) { this.childNodes[0].innerHTML = text; } - this.dataNodes.sbObj.getText = function() { return this.childNodes[0].innerHTML; } - this.dataNodes.sbObj.onselectstart = function(e) { return false; } - - - this.dataNodes.sbEv = this.attachEvent("_onSetSizes", function(){ - if (this.dataNodes.sbObj.style.display == "none") return; - this.dataNodes.sbObj.style.left = this.conf.ofs.l+"px"; - this.dataNodes.sbObj.style.bottom = (this.dataNodes.faObj != null?this.dataNodes.faObj.offsetHeight:0)+this.conf.ofs.b+"px"; - this.dataNodes.sbObj.style.width = this.base.offsetWidth-this.conf.ofs.l-this.conf.ofs.r+"px"; - }); - - this.conf.ofs_nodes.b.sbObj = true; - - this.setSizes(); - - return this.dataNodes.sbObj; - -}; - -dhtmlXCellTop.prototype.detachStatusBar = function() { - - if (!this.dataNodes.sbObj) return; - - this.dataNodes.sbObj.setText = this.dataNodes.sbObj.getText = this.dataNodes.sbObj.onselectstart = null; - this.dataNodes.sbObj.parentNode.removeChild(this.dataNodes.sbObj); - this.dataNodes.sbObj = null; - - this.detachEvent(this.dataNodes.sbEv); - this.dataNodes.sbEv = null; - - this.conf.ofs_nodes.b.sbObj = false; - - delete this.dataNodes.sb; - delete this.dataNodes.sbObj; - delete this.dataNodes.sbEv; - - if (!this.conf.unloading) this.setSizes(); - -}; - -// show/hide -dhtmlXCellTop.prototype.showMenu = function() { - this._mtbShowHide("menuObj", ""); -}; - -dhtmlXCellTop.prototype.hideMenu = function() { - this._mtbShowHide("menuObj", "none"); -}; - -dhtmlXCellTop.prototype.showToolbar = function(){ - this._mtbShowHide("toolbarObj", ""); -}; - -dhtmlXCellTop.prototype.hideToolbar = function(){ - this._mtbShowHide("toolbarObj", "none"); -}; - -dhtmlXCellTop.prototype.showRibbon = function(){ - this._mtbShowHide("ribbonObj", ""); -}; - -dhtmlXCellTop.prototype.hideRibbon = function(){ - this._mtbShowHide("ribbonObj", "none"); -}; - -dhtmlXCellTop.prototype.showStatusBar = function() { - this._mtbShowHide("sbObj", ""); -}; - -dhtmlXCellTop.prototype.hideStatusBar = function(){ - this._mtbShowHide("sbObj", "none"); -}; - -dhtmlXCellTop.prototype._mtbShowHide = function(name, disp) { - if (this.dataNodes[name] == null) return; - this.dataNodes[name].style.display = disp; - this.setSizes(); -}; - -dhtmlXCellTop.prototype._mtbUnload = function(name, disp) { - this.detachMenu(); - this.detachToolbar(); - this.detachStatusBar(); - this.detachRibbon(); -}; - -// getters -dhtmlXCellTop.prototype.getAttachedMenu = function() { - return this.dataNodes.menu; -}; -dhtmlXCellTop.prototype.getAttachedToolbar = function() { - return this.dataNodes.toolbar; -}; -dhtmlXCellTop.prototype.getAttachedRibbon = function() { - return this.dataNodes.ribbon; -}; -dhtmlXCellTop.prototype.getAttachedStatusBar = function() { - return this.dataNodes.sbObj; -}; - -// top-level progress -dhtmlXCellTop.prototype.progressOn = function() { - - if (this.conf.progress) return; - - this.conf.progress = true; - - var t1 = document.createElement("DIV"); - t1.className = "dhxcelltop_progress"; - this.base.appendChild(t1); - - var t2 = document.createElement("DIV"); - if (this.conf.skin == "material" && (window.dhx4.isFF || window.dhx4.isChrome || window.dhx4.isOpera || window.dhx4.isEdge)) { - t2.className = "dhxcelltop_progress_svg"; - t2.innerHTML = ''; - } else { - var t2 = document.createElement("DIV"); - t2.className = "dhxcelltop_progress_img"; - } - this.base.appendChild(t2); - - t1 = t2 = null; - -}; - -dhtmlXCellTop.prototype.progressOff = function() { - - if (!this.conf.progress) return; - - var p = {dhxcelltop_progress: true, dhxcelltop_progress_img: true, dhxcelltop_progress_svg: true}; - for (var q=0; q 0) { - this.dataNodes.haObj.lastChild.style.visibility = "hidden"; - document.body.appendChild(this.dataNodes.haObj.lastChild); - } - this.dataNodes.haObj.parentNode.removeChild(this.dataNodes.haObj); - this.dataNodes.haObj = null; - - this.detachEvent(this.dataNodes.haEv); - this.dataNodes.haEv = null; - - this.conf.ofs_nodes.t.haObj = false; - - delete this.dataNodes.haEv; - delete this.dataNodes.haObj; - - if (!this.conf.unloading) this.setSizes(); - -}; - -dhtmlXCellTop.prototype.attachFooter = function(obj, height) { - - if (this.dataNodes.faObj != null) return; - - if (typeof(obj) != "object") obj = document.getElementById(obj); - - this.dataNodes.faObj = document.createElement("DIV"); - this.dataNodes.faObj.className = "dhxcelltop_ftr"; - this.dataNodes.faObj.style.height = (height||obj.offsetHeight)+"px"; - - var p = (this.dataNodes.sbObj||this.cont); - if (this.base.lastChild == p) { - this.base.appendChild(this.dataNodes.faObj); - } else { - this.base.insertBefore(this.dataNodes.faObj, p.nextSibling); - } - - this.dataNodes.faEv = this.attachEvent("_onSetSizes", function(){ - this.dataNodes.faObj.style.left = this.conf.ofs.l+"px"; - this.dataNodes.faObj.style.bottom = this.conf.ofs.b+"px"; - this.dataNodes.faObj.style.width = this.base.offsetWidth-this.conf.ofs.l-this.conf.ofs.r+"px"; - }); - - this.dataNodes.faObj.appendChild(obj); - obj.style.visibility = "visible"; - p = obj = null; - - this.conf.ofs_nodes.b.faObj = true; - - this.setSizes(); - -}; - -dhtmlXCellTop.prototype.detachFooter = function() { - - if (!this.dataNodes.faObj) return; - - while (this.dataNodes.faObj.childNodes.length > 0) { - this.dataNodes.faObj.lastChild.style.visibility = "hidden"; - document.body.appendChild(this.dataNodes.faObj.lastChild); - } - this.dataNodes.faObj.parentNode.removeChild(this.dataNodes.faObj); - this.dataNodes.faObj = null; - - this.detachEvent(this.dataNodes.faEv); - this.dataNodes.faEv = null; - - this.conf.ofs_nodes.b.faObj = false; - - delete this.dataNodes.faEv; - delete this.dataNodes.faObj; - - if (!this.conf.unloading) this.setSizes(); - -}; - diff --git a/themes/sources/dhtmlxCommon/codebase/dhtmlxcore.js b/themes/sources/dhtmlxCommon/codebase/dhtmlxcore.js deleted file mode 100644 index 959d847..0000000 --- a/themes/sources/dhtmlxCommon/codebase/dhtmlxcore.js +++ /dev/null @@ -1,2540 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* -Copyright DHTMLX LTD. http://www.dhtmlx.com -You allowed to use this component or parts of it under GPL terms -To use it on other terms or get Professional edition of the component please contact us at sales@dhtmlx.com -*/ -/* -2014 March 19 -*/ - - - -/* DHX DEPEND FROM FILE 'assert.js'*/ - - -if (!window.dhtmlx) - dhtmlx={}; - -//check some rule, show message as error if rule is not correct -dhtmlx.assert = function(test, message){ - if (!test) dhtmlx.error(message); -}; -dhtmlx.assert_enabled=function(){ return false; }; - -//register names of event, which can be triggered by the object -dhtmlx.assert_event = function(obj, evs){ - if (!obj._event_check){ - obj._event_check = {}; - obj._event_check_size = {}; - } - - for (var a in evs){ - obj._event_check[a.toLowerCase()]=evs[a]; - var count=-1; for (var t in evs[a]) count++; - obj._event_check_size[a.toLowerCase()]=count; - } -}; -dhtmlx.assert_method_info=function(obj, name, descr, rules){ - var args = []; - for (var i=0; i < rules.length; i++) { - args.push(rules[i][0]+" : "+rules[i][1]+"\n "+rules[i][2].describe()+(rules[i][3]?"; optional":"")); - } - return obj.name+"."+name+"\n"+descr+"\n Arguments:\n - "+args.join("\n - "); -}; -dhtmlx.assert_method = function(obj, config){ - for (var key in config) - dhtmlx.assert_method_process(obj, key, config[key].descr, config[key].args, (config[key].min||99), config[key].skip); -}; -dhtmlx.assert_method_process = function (obj, name, descr, rules, min, skip){ - var old = obj[name]; - if (!skip) - obj[name] = function(){ - if (arguments.length != rules.length && arguments.length < min) - dhtmlx.log("warn","Incorrect count of parameters\n"+obj[name].describe()+"\n\nExpecting "+rules.length+" but have only "+arguments.length); - else - for (var i=0; i= 0) return true; - return false; - }; - dhtmlx.assert_rule_dimension.describe=function(){ - return "{Integer} value must be a positive number"; - }; - - dhtmlx.assert_rule_number=function(check){ - if (typeof check == "number") return true; - return false; - }; - dhtmlx.assert_rule_number.describe=function(){ - return "{Integer} value must be a number"; - }; - - dhtmlx.assert_rule_function=function(check){ - if (typeof check == "function") return true; - return false; - }; - dhtmlx.assert_rule_function.describe=function(){ - return "{Function} value must be a custom function"; - }; - - dhtmlx.assert_rule_any=function(check){ - return true; - }; - dhtmlx.assert_rule_any.describe=function(){ - return "Any value"; - }; - - dhtmlx.assert_rule_mix=function(a,b){ - var t = function(check){ - if (a(check)||b(check)) return true; - return false; - }; - t.describe = function(){ - return a.describe(); - }; - return t; - }; - -} - - -/* DHX DEPEND FROM FILE 'dhtmlx.js'*/ - - -/*DHX:Depend assert.js*/ - -/* - Common helpers -*/ -dhtmlx.codebase="./"; - -//coding helpers - -dhtmlx.copy = function(source){ - var f = dhtmlx.copy._function; - f.prototype = source; - return new f(); -}; -dhtmlx.copy._function = function(){}; - -//copies methods and properties from source to the target -dhtmlx.extend = function(target, source){ - for (var method in source) - target[method] = source[method]; - - //applying asserts - if (dhtmlx.assert_enabled() && source._assert){ - target._assert(); - target._assert=null; - } - - dhtmlx.assert(target,"Invalid nesting target"); - dhtmlx.assert(source,"Invalid nesting source"); - //if source object has init code - call init against target - if (source._init) - target._init(); - - return target; -}; -dhtmlx.proto_extend = function(){ - var origins = arguments; - var compilation = origins[0]; - var construct = []; - - for (var i=origins.length-1; i>0; i--) { - if (typeof origins[i]== "function") - origins[i]=origins[i].prototype; - for (var key in origins[i]){ - if (key == "_init") - construct.push(origins[i][key]); - else if (!compilation[key]) - compilation[key] = origins[i][key]; - } - }; - - if (origins[0]._init) - construct.push(origins[0]._init); - - compilation._init = function(){ - for (var i=0; i handler - this._handlers = {}; //hash of event handlers, ID => handler - this._map = {}; - }, - //temporary block event triggering - block : function(){ - this._events._block = true; - }, - //re-enable event triggering - unblock : function(){ - this._events._block = false; - }, - mapEvent:function(map){ - dhtmlx.extend(this._map, map); - }, - //trigger event - callEvent:function(type,params){ - if (this._events._block) return true; - - type = type.toLowerCase(); - dhtmlx.assert_event_call(this, type, params); - - var event_stack =this._events[type.toLowerCase()]; //all events for provided name - var return_value = true; - - if (dhtmlx.debug) //can slowdown a lot - dhtmlx.log("info","["+this.name+"] event:"+type,params); - - if (event_stack) - for(var i=0; i=0) this.splice(pos,(len||1)); - }, - //find element in collection and remove it - remove:function(value){ - this.removeAt(this.find(value)); - }, - //add element to collection at specific position - insertAt:function(data,pos){ - if (!pos && pos!==0) //add to the end by default - this.push(data); - else { - var b = this.splice(pos,(this.length-pos)); - this[pos] = data; - this.push.apply(this,b); //reconstruct array without loosing this pointer - } - }, - //return index of element, -1 if it doesn't exists - find:function(data){ - for (var i=0; ito){ //can be in case of backward shift-selection - var a=to; to=from; from=a; - } - - return this.getIndexRange(from,to); - }, - //converts range of indexes to array of all IDs between them - getIndexRange:function(from,to){ - to=Math.min((to||Infinity),this.dataCount()-1); - - var ret=dhtmlx.toArray(); //result of method is rich-array - for (var i=(from||0); i <= to; i++) - ret.push(this.item(this.order[i])); - return ret; - }, - //returns total count of elements - dataCount:function(){ - return this.order.length; - }, - //returns truy if item with such ID exists - exists:function(id){ - return !!(this.pull[id]); - }, - //nextmethod is not visible on component level, check DataMove.move - //moves item from source index to the target index - move:function(sindex,tindex){ - if (sindex<0 || tindex<0){ - dhtmlx.error("DataStore::move","Incorrect indexes"); - return; - } - - var id = this.idByIndex(sindex); - var obj = this.item(id); - - this.order.removeAt(sindex); //remove at old position - //if (sindex data_size){ - dhtmlx.log("Warning","DataStore:add","Index of out of bounds"); - index = Math.min(this.order.length,index); - } - if (this.callEvent("onBeforeAdd", [id, obj, index]) === false) return false; - - if (this.exists(id)) return dhtmlx.error("Not unique ID"); - - this.pull[id]=obj; - this.order.insertAt(id,index); - if (this._filter_order){ //adding during filtering - //we can't know the location of new item in full dataset, making suggestion - //put at end by default - var original_index = this._filter_order.length; - //put at start only if adding to the start and some data exists - if (!index && this.order.length) - original_index = 0; - - this._filter_order.insertAt(id,original_index); - } - this.callEvent("onafterAdd",[id,index]); - //repaint signal - this.callEvent("onStoreUpdated",[id,obj,"add"]); - return id; - }, - - //removes element from datastore - remove:function(id){ - //id can be an array of IDs - result of getSelect, for example - if (id instanceof Array){ - for (var i=0; i < id.length; i++) - this.remove(id[i]); - return; - } - if (this.callEvent("onBeforeDelete",[id]) === false) return false; - if (!this.exists(id)) return dhtmlx.error("Not existing ID",id); - var obj = this.item(id); //save for later event - //clear from collections - this.order.remove(id); - if (this._filter_order) - this._filter_order.remove(id); - - delete this.pull[id]; - this.callEvent("onafterdelete",[id]); - //repaint signal - this.callEvent("onStoreUpdated",[id,obj,"delete"]); - }, - //deletes all records in datastore - clearAll:function(){ - //instead of deleting one by one - just reset inner collections - this.pull = {}; - this.order = dhtmlx.toArray(); - this.feed = null; - this._filter_order = null; - this.callEvent("onClearAll",[]); - this.refresh(); - }, - //converts id to index - idByIndex:function(index){ - if (index>=this.order.length || index<0) - dhtmlx.log("Warning","DataStore::idByIndex Incorrect index"); - - return this.order[index]; - }, - //converts index to id - indexById:function(id){ - var res = this.order.find(id); //slower than idByIndex - - //if (!this.pull[id]) - // dhtmlx.log("Warning","DataStore::indexById Non-existing ID: "+ id); - - return res; - }, - //returns ID of next element - next:function(id,step){ - return this.order[this.indexById(id)+(step||1)]; - }, - //returns ID of first element - first:function(){ - return this.order[0]; - }, - //returns ID of last element - last:function(){ - return this.order[this.order.length-1]; - }, - //returns ID of previous element - previous:function(id,step){ - return this.order[this.indexById(id)-(step||1)]; - }, - /* - sort data in collection - by - settings of sorting - - or - - by - sorting function - dir - "asc" or "desc" - - or - - by - property - dir - "asc" or "desc" - as - type of sortings - - Sorting function will accept 2 parameters and must return 1,0,-1, based on desired order - */ - sort:function(by, dir, as){ - var sort = by; - if (typeof by == "function") - sort = {as:by, dir:dir}; - else if (typeof by == "string") - sort = {by:by, dir:dir, as:as}; - - - var parameters = [sort.by, sort.dir, sort.as]; - if (!this.callEvent("onbeforesort",parameters)) return; - - if (this.order.length){ - var sorter = dhtmlx.sort.create(sort); - //get array of IDs - var neworder = this.getRange(this.first(), this.last()); - neworder.sort(sorter); - this.order = neworder.map(function(obj){ return this.id(obj); },this); - } - - //repaint self - this.refresh(); - - this.callEvent("onaftersort",parameters); - }, - /* - Filter datasource - - text - property, by which filter - value - filter mask - - or - - text - filter method - - Filter method will receive data object and must return true or false - */ - filter:function(text,value){ - if (!this.callEvent("onBeforeFilter", [text, value])) return; - - //remove previous filtering , if any - if (this._filter_order){ - this.order = this._filter_order; - delete this._filter_order; - } - - if (!this.order.length) return; - - //if text not define -just unfilter previous state and exit - if (text){ - var filter = text; - value = value||""; - if (typeof text == "string"){ - text = dhtmlx.Template.fromHTML(text); - value = value.toString().toLowerCase(); - filter = function(obj,value){ //default filter - string start from, case in-sensitive - return text(obj).toLowerCase().indexOf(value)!=-1; - }; - } - - - var neworder = dhtmlx.toArray(); - for (var i=0; i < this.order.length; i++){ - var id = this.order[i]; - if (filter(this.item(id),value)) - neworder.push(id); - } - //set new order of items, store original - this._filter_order = this.order; - this.order = neworder; - } - //repaint self - this.refresh(); - - this.callEvent("onAfterFilter", []); - }, - /* - Iterate through collection - */ - each:function(method,master){ - for (var i=0; ib?1:(ab?1:(ab?1:(a value - // {obj.attr} => named attribute or value of sub-tag in case of xml - // {obj.attr?some:other} conditional output - // {-obj => sub-template - str=(str||"").toString(); - str=str.replace(/[\r\n]+/g,"\\n"); - str=str.replace(/\{obj\.([^}?]+)\?([^:]*):([^}]*)\}/g,"\"+(obj.$1?\"$2\":\"$3\")+\""); - str=str.replace(/\{common\.([^}\(]*)\}/g,"\"+common.$1+\""); - str=str.replace(/\{common\.([^\}\(]*)\(\)\}/g,"\"+(common.$1?common.$1(obj):\"\")+\""); - str=str.replace(/\{obj\.([^}]*)\}/g,"\"+obj.$1+\""); - str=str.replace(/#([a-z0-9_]+)#/gi,"\"+obj.$1+\""); - str=str.replace(/\{obj\}/g,"\"+obj+\""); - str=str.replace(/\{-obj/g,"{obj"); - str=str.replace(/\{-common/g,"{common"); - str="return \""+str+"\";"; - return this._cache[str]= Function("obj","common",str); - } -}; - -dhtmlx.Type={ - /* - adds new template-type - obj - object to which template will be added - data - properties of template - */ - add:function(obj, data){ - //auto switch to prototype, if name of class was provided - if (!obj.types && obj.prototype.types) - obj = obj.prototype; - //if (typeof data == "string") - // data = { template:data }; - - if (dhtmlx.assert_enabled()) - this.assert_event(data); - - var name = data.name||"default"; - - //predefined templates - autoprocessing - this._template(data); - this._template(data,"edit"); - this._template(data,"loading"); - - obj.types[name]=dhtmlx.extend(dhtmlx.extend({},(obj.types[name]||this._default)),data); - return name; - }, - //default template value - basically empty box with 5px margin - _default:{ - css:"default", - template:function(){ return ""; }, - template_edit:function(){ return ""; }, - template_loading:function(){ return "..."; }, - width:150, - height:80, - margin:5, - padding:0 - }, - //template creation helper - _template:function(obj,name){ - name = "template"+(name?("_"+name):""); - var data = obj[name]; - //if template is a string - check is it plain string or reference to external content - if (data && (typeof data == "string")){ - if (data.indexOf("->")!=-1){ - data = data.split("->"); - switch(data[0]){ - case "html": //load from some container on the page - data = dhtmlx.html.getValue(data[1]).replace(/\"/g,"\\\""); - break; - case "http": //load from external file - data = new dhtmlx.ajax().sync().get(data[1],{uid:(new Date()).valueOf()}).responseText; - break; - default: - //do nothing, will use template as is - break; - } - } - obj[name] = dhtmlx.Template.fromHTML(data); - } - } -}; - - -/* DHX DEPEND FROM FILE 'single_render.js'*/ - - -/* - REnders single item. - Can be used for elements without datastore, or with complex custom rendering logic - - @export - render -*/ - -/*DHX:Depend template.js*/ - -dhtmlx.SingleRender={ - _init:function(){ - }, - //convert item to the HTML text - _toHTML:function(obj){ - /* - this one doesn't support per-item-$template - it has not sense, because we have only single item per object - */ - return this.type._item_start(obj,this.type)+this.type.template(obj,this.type)+this.type._item_end; - }, - //render self, by templating data object - render:function(){ - if (!this.callEvent || this.callEvent("onBeforeRender",[this.data])){ - if (this.data) - this._dataobj.innerHTML = this._toHTML(this.data); - if (this.callEvent) this.callEvent("onAfterRender",[]); - } - } -}; - - -/* DHX DEPEND FROM FILE 'tooltip.js'*/ - - -/* - UI: Tooltip - - @export - show - hide -*/ - -/*DHX:Depend tooltip.css*/ -/*DHX:Depend template.js*/ -/*DHX:Depend single_render.js*/ - -dhtmlx.ui.Tooltip=function(container){ - this.name = "Tooltip"; - - if (dhtmlx.assert_enabled()) this._assert(); - - if (typeof container == "string"){ - container = { template:container }; - } - - dhtmlx.extend(this, dhtmlx.Settings); - dhtmlx.extend(this, dhtmlx.SingleRender); - this._parseSettings(container,{ - type:"default", - dy:0, - dx:20 - }); - - //create container for future tooltip - this._dataobj = this._obj = document.createElement("DIV"); - this._obj.className="dhx_tooltip"; - dhtmlx.html.insertBefore(this._obj,document.body.firstChild); -}; -dhtmlx.ui.Tooltip.prototype = { - //show tooptip - //pos - object, pos.x - left, pox.y - top - show:function(data,pos){ - if (this._disabled) return; - //render sefl only if new data was provided - if (this.data!=data){ - this.data=data; - this.render(data); - } - //show at specified position - this._obj.style.top = pos.y+this._settings.dy+"px"; - this._obj.style.left = pos.x+this._settings.dx+"px"; - this._obj.style.display="block"; - }, - //hide tooltip - hide:function(){ - this.data=null; //nulify, to be sure that on next show it will be fresh-rendered - this._obj.style.display="none"; - }, - disable:function(){ - this._disabled = true; - }, - enable:function(){ - this._disabled = false; - }, - types:{ - "default":dhtmlx.Template.fromHTML("{obj.id}") - }, - template_item_start:dhtmlx.Template.empty, - template_item_end:dhtmlx.Template.empty -}; - - - -/* DHX DEPEND FROM FILE 'autotooltip.js'*/ - - -/* - Behavior: AutoTooltip - links tooltip to data driven item -*/ - -/*DHX:Depend tooltip.js*/ - -dhtmlx.AutoTooltip = { - tooltip_setter:function(value){ - var t = new dhtmlx.ui.Tooltip(value); - this.attachEvent("onMouseMove",function(id,e){ //show tooltip on mousemove - t.show(this.get(id),dhtmlx.html.pos(e)); - }); - this.attachEvent("onMouseOut",function(id,e){ //hide tooltip on mouseout - t.hide(); - }); - this.attachEvent("onMouseMoving",function(id,e){ //hide tooltip just after moving start - t.hide(); - }); - return t; - } -}; - - -/* DHX DEPEND FROM FILE 'compatibility.js'*/ - - -/* - Collection of compatibility hacks -*/ - -/*DHX:Depend dhtmlx.js*/ - -dhtmlx.compat=function(name, obj){ - //check if name hash present, and applies it when necessary - if (dhtmlx.compat[name]) - dhtmlx.compat[name](obj); -}; - - -/* DHX DEPEND FROM FILE 'compatibility_layout.js'*/ - - -/*DHX:Depend dhtmlx.js*/ -/*DHX:Depend compatibility.js*/ - -if (!dhtmlx.attaches) - dhtmlx.attaches = {}; - -dhtmlx.attaches.attachAbstract=function(name, conf){ - var obj = document.createElement("DIV"); - obj.id = "CustomObject_"+dhtmlx.uid(); - obj.style.width = "100%"; - obj.style.height = "100%"; - obj.cmp = "grid"; - document.body.appendChild(obj); - this.attachObject(obj.id); - - conf.container = obj.id; - - var that = this.vs[this.av]; - that.grid = new window[name](conf); - - that.gridId = obj.id; - that.gridObj = obj; - - - that.grid.setSizes = function(){ - if (this.resize) this.resize(); - else this.render(); - }; - - var method_name="_viewRestore"; - return this.vs[this[method_name]()].grid; -}; -dhtmlx.attaches.attachDataView = function(conf){ - return this.attachAbstract("dhtmlXDataView",conf); -}; -dhtmlx.attaches.attachChart = function(conf){ - return this.attachAbstract("dhtmlXChart",conf); -}; - -dhtmlx.compat.layout = function(){}; - - - - diff --git a/themes/sources/dhtmlxCommon/codebase/dhtmlxdataprocessor.js b/themes/sources/dhtmlxCommon/codebase/dhtmlxdataprocessor.js deleted file mode 100644 index 909cb50..0000000 --- a/themes/sources/dhtmlxCommon/codebase/dhtmlxdataprocessor.js +++ /dev/null @@ -1,737 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/** - * @desc: constructor, data processor object - * @param: serverProcessorURL - url used for update - * @type: public - */ -function dataProcessor(serverProcessorURL){ - this.serverProcessor = serverProcessorURL; - this.action_param="!nativeeditor_status"; - - this.object = null; - this.updatedRows = []; //ids of updated rows - - this.autoUpdate = true; - this.updateMode = "cell"; - this._tMode="GET"; - this._headers = null; - this._payload = null; - this.post_delim = "_"; - - this._waitMode=0; - this._in_progress={};//? - this._invalid={}; - this.mandatoryFields=[]; - this.messages=[]; - - this.styles={ - updated:"font-weight:bold;", - inserted:"font-weight:bold;", - deleted:"text-decoration : line-through;", - invalid:"background-color:FFE0E0;", - invalid_cell:"border-bottom:2px solid red;", - error:"color:red;", - clear:"font-weight:normal;text-decoration:none;" - }; - - this.enableUTFencoding(true); - dhx4._eventable(this); - - if (this.connector_init){ - this.setTransactionMode("POST",true); - this.serverProcessor+=(this.serverProcessor.indexOf("?")!=-1?"&":"?")+"editing=true"; - }; - - return this; - } - -dataProcessor.prototype={ - url:function(str){ - if (str.indexOf("?") != -1) - return "&"; - else - return "?"; - }, - setTransactionMode:function(mode,total){ - if (typeof mode == "object"){ - this._tMode = mode.mode || this._tMode; - this._headers = this._headers || mode.headers; - this._payload = this._payload || mode.payload; - } else { - this._tMode=mode; - this._tSend=total; - } - - if (this._tMode == "REST"){ - this._tSend = false; - this._endnm = true; - } - if (this._tMode == "JSON"){ - this._tSend = false; - this._endnm = true; - this._headers = this._headers || {}; - this._headers["Content-type"] = "application/json"; - } - }, - escape:function(data){ - if (this._utf) - return encodeURIComponent(data); - else - return escape(data); - }, - /** - * @desc: allows to set escaping mode - * @param: true - utf based escaping, simple - use current page encoding - * @type: public - */ - enableUTFencoding:function(mode){ - this._utf=dhx4.s2b(mode); - }, - /** - * @desc: allows to define, which column may trigger update - * @param: val - array or list of true/false values - * @type: public - */ - setDataColumns:function(val){ - this._columns=(typeof val == "string")?val.split(","):val; - }, - /** - * @desc: get state of updating - * @returns: true - all in sync with server, false - some items not updated yet. - * @type: public - */ - getSyncState:function(){ - return !this.updatedRows.length; - }, - /** - * @desc: enable/disable named field for data syncing, will use column ids for grid - * @param: mode - true/false - * @type: public - */ - enableDataNames:function(mode){ - this._endnm=dhx4.s2b(mode); - }, - /** - * @desc: enable/disable mode , when only changed fields and row id send to the server side, instead of all fields in default mode - * @param: mode - true/false - * @type: public - */ - enablePartialDataSend:function(mode){ - this._changed=dhx4.s2b(mode); - }, - /** - * @desc: set if rows should be send to server automaticaly - * @param: mode - "row" - based on row selection changed, "cell" - based on cell editing finished, "off" - manual data sending - * @type: public - */ - setUpdateMode:function(mode,dnd){ - this.autoUpdate = (mode=="cell"); - this.updateMode = mode; - this.dnd=dnd; - }, - ignore:function(code,master){ - this._silent_mode=true; - code.call(master||window); - this._silent_mode=false; - }, - /** - * @desc: mark row as updated/normal. check mandatory fields,initiate autoupdate (if turned on) - * @param: rowId - id of row to set update-status for - * @param: state - true for "updated", false for "not updated" - * @param: mode - update mode name - * @type: public - */ - setUpdated:function(rowId,state,mode){ - this._log("item "+rowId+" "+(state?"marked":"unmarked")+" ["+(mode||"updated")+"]"); - - if (this._silent_mode) return; - var ind=this.findRow(rowId); - - mode=mode||"updated"; - var existing = this.obj.getUserData(rowId,this.action_param); - if (existing && mode == "updated") mode=existing; - if (state){ - this.set_invalid(rowId,false); //clear previous error flag - this.updatedRows[ind]=rowId; - this.obj.setUserData(rowId,this.action_param,mode); - if (this._in_progress[rowId]) - this._in_progress[rowId]="wait"; - } else{ - if (!this.is_invalid(rowId)){ - this.updatedRows.splice(ind,1); - this.obj.setUserData(rowId,this.action_param,""); - } - } - - //clear changed flag - if (!state) - this._clearUpdateFlag(rowId); - - this.markRow(rowId,state,mode); - if (state && this.autoUpdate) this.sendData(rowId); - }, - _clearUpdateFlag:function(id){}, - markRow:function(id,state,mode){ - var str=""; - var invalid=this.is_invalid(id); - if (invalid){ - str=this.styles[invalid]; - state=true; - } - if (this.callEvent("onRowMark",[id,state,mode,invalid])){ - //default logic - str=this.styles[state?mode:"clear"]+str; - - this.obj[this._methods[0]](id,str); - - if (invalid && invalid.details){ - str+=this.styles[invalid+"_cell"]; - for (var i=0; i < invalid.details.length; i++) - if (invalid.details[i]) - this.obj[this._methods[1]](id,i,str); - } - } - }, - getState:function(id){ - return this.obj.getUserData(id,this.action_param); - }, - is_invalid:function(id){ - return this._invalid[id]; - }, - set_invalid:function(id,mode,details){ - if (details) mode={value:mode, details:details, toString:function(){ return this.value.toString(); }}; - this._invalid[id]=mode; - }, - /** - * @desc: check mandatory fields and varify values of cells, initiate update (if specified) - * @param: rowId - id of row to set update-status for - * @type: public - */ - checkBeforeUpdate:function(rowId){ - return true; - }, - /** - * @desc: send row(s) values to server - * @param: rowId - id of row which data to send. If not specified, then all "updated" rows will be send - * @type: public - */ - sendData:function(rowId){ - if (rowId) - this._log("Sending: "+rowId); - - if (this._waitMode && (this.obj.mytype=="tree" || this.obj._h2)) return; - if (this.obj.editStop) this.obj.editStop(); - - - if(typeof rowId == "undefined" || this._tSend) return this.sendAllData(); - if (this._in_progress[rowId]) return false; - - this.messages=[]; - if (this.getState(rowId) !== "deleted") - if (!this.checkBeforeUpdate(rowId) && this.callEvent("onValidationError",[rowId,this.messages])) return false; - - this._beforeSendData(this._getRowData(rowId),rowId); - }, - _beforeSendData:function(data,rowId){ - if (!this.callEvent("onBeforeUpdate",[rowId,this.getState(rowId),data])) return false; - this._sendData(data,rowId); - }, - serialize:function(data, id){ - if (typeof data == "string") - return data; - if (typeof id != "undefined") - return this.serialize_one(data,""); - else{ - var stack = []; - var keys = []; - for (var key in data) - if (data.hasOwnProperty(key)){ - stack.push(this.serialize_one(data[key],key+this.post_delim)); - keys.push(key); - } - stack.push("ids="+this.escape(keys.join(","))); - if (window.dhtmlx && dhtmlx.security_key) - stack.push("dhx_security="+dhtmlx.security_key); - return stack.join("&"); - } - }, - serialize_one:function(data, pref){ - if (typeof data == "string") - return data; - var stack = []; - for (var key in data) - if (data.hasOwnProperty(key)){ - if ((key == "id" || key == this.action_param) && this._tMode == "REST") continue; - stack.push(this.escape((pref||"")+key)+"="+this.escape(data[key])); - } - return stack.join("&"); - }, - _applyPayload:function(url){ - if (this._payload) - for (var key in this._payload) - url = url + (url.indexOf("?") === -1 ? "?" : "&" ) + this.escape(key) + "=" + this.escape(this._payload[key]); - return url; - }, - _sendData:function(a1,rowId){ - - this._log("url: "+this.serverProcessor); - this._log(a1) - - if (!a1) return; //nothing to send - if (!this.callEvent("onBeforeDataSending",rowId?[rowId,this.getState(rowId),a1]:[null, null, a1])) return false; - - if (rowId) - this._in_progress[rowId]=(new Date()).valueOf(); - - var that = this; - var back = function(xml){ - var ids = []; - if (rowId) - ids.push(rowId); - else if (a1) - for (var key in a1) - ids.push(key); - - return that.afterUpdate(that,xml,ids); - }; - - var a3 = this.serverProcessor+(this._user?(this.url(this.serverProcessor)+["dhx_user="+this._user,"dhx_version="+this.obj.getUserData(0,"version")].join("&")):""); - var a4 = this._applyPayload(a3); - - if (this._tMode=="GET"){ - dhx4.ajax.query({ - url:a4+((a4.indexOf("?")!=-1)?"&":"?")+this.serialize(a1,rowId), - method:"GET", - headers:this._headers, - callback:back - }); - } - else if (this._tMode == "POST"){ - dhx4.ajax.query({ - url:a4, - method:"POST", - headers:this._headers, - callback:back, - data:this.serialize(a1,rowId) - }); - } - else if (this._tMode == "JSON"){ - var action = a1[this.action_param]; - var data = {}; - for (var key in a1) data[key] = a1[key]; - delete data[this.action_param]; - delete data.id; - delete data.gr_id; - - dhx4.ajax.query({ - url:a4, - method:"POST", - headers:this._headers, - callback:back, - data:JSON.stringify({ - id: rowId, - action: action, - data: data - }) - }); - } - else if (this._tMode == "REST"){ - var state = this.getState(rowId); - var url = a3.replace(/(\&|\?)editing\=true/,""); - var parts = url.split("?"); - if (parts[1]) - parts[1] = "?"+parts[1]; - - var data = ""; - var method = "POST"; - - if (state == "inserted"){ - data = this.serialize(a1, rowId); - } else if (state == "deleted"){ - method = "DELETE"; - url = parts[0]+rowId+(parts[1]||""); - } else { - method = "PUT"; - data = this.serialize(a1, rowId); - url = parts[0]+rowId+(parts[1]||""); - } - - this._applyPayload(url); - dhx4.ajax.query({ - url:url, - method:method, - headers:this._headers, - data:data, - callback:back - }); - } - - this._waitMode++; - }, - sendAllData:function(){ - this._log("Sending all updated items"); - if (!this.updatedRows.length) return; - - this.messages=[]; var valid=true; - for (var i=0; i1){ - var target = arguments[0]; - source = arguments[1]; - } else - var target = (dhx.isArray(source)?[]:{}); - - for (var method in source){ - if(source[method] && typeof source[method] == "object" && !dhx.isDate(source[method])){ - target[method] = (dhx.isArray(source[method])?[]:{}); - dhx.copy(target[method],source[method]); - }else{ - target[method] = source[method]; - } - } - - return target; -}; - - -dhx.single = function(source){ - var instance = null; - var t = function(config){ - if (!instance) - instance = new source({}); - - if (instance._reinit) - instance._reinit.apply(instance, arguments); - return instance; - }; - return t; -}; - -dhx.protoUI = function(){ - if (dhx.debug_proto) - dhx.log("UI registered: "+arguments[0].name); - - var origins = arguments; - var selfname = origins[0].name; - - var t = function(data){ - if (!t) - return dhx.ui[selfname].prototype; - - var origins = t._dhx_proto_wait; - if (origins){ - var params = [origins[0]]; - - for (var i=1; i < origins.length; i++){ - params[i] = origins[i]; - - if (params[i]._dhx_proto_wait) - params[i] = params[i].call(dhx, params[i].name); - - if (params[i].prototype && params[i].prototype.name) - dhx.ui[params[i].prototype.name] = params[i]; - } - dhx.ui[selfname] = dhx.proto.apply(dhx, params); - if (t._dhx_type_wait) - for (var i=0; i < t._dhx_type_wait.length; i++) - dhx.Type(dhx.ui[selfname], t._dhx_type_wait[i]); - - t = origins = null; - } - - if (this != dhx) - return new dhx.ui[selfname](data); - else - return dhx.ui[selfname]; - }; - t._dhx_proto_wait = Array.prototype.slice.call(arguments, 0); - return dhx.ui[selfname]=t; -}; - -dhx.proto = function(){ - - if (dhx.debug_proto) - dhx.log("Proto chain:"+arguments[0].name+"["+arguments.length+"]"); - - var origins = arguments; - var compilation = origins[0]; - var has_constructor = !!compilation.$init; - var construct = []; - - dhx.assert(compilation,"Invalid mixing target"); - - for (var i=origins.length-1; i>0; i--) { - dhx.assert(origins[i],"Invalid mixing source"); - if (typeof origins[i]== "function") - origins[i]=origins[i].prototype; - if (origins[i].$init) - construct.push(origins[i].$init); - if (origins[i].defaults){ - var defaults = origins[i].defaults; - if (!compilation.defaults) - compilation.defaults = {}; - for (var def in defaults) - if (dhx.isUndefined(compilation.defaults[def])) - compilation.defaults[def] = defaults[def]; - } - if (origins[i].type && compilation.type){ - for (var def in origins[i].type) - if (!compilation.type[def]) - compilation.type[def] = origins[i].type[def]; - } - - for (var key in origins[i]){ - if (!compilation[key]) - compilation[key] = origins[i][key]; - } - } - - if (has_constructor) - construct.push(compilation.$init); - - - compilation.$init = function(){ - for (var i=0; i handler - this._evs_handlers = {}; //hash of event handlers, ID => handler - this._evs_map = {}; - } - }, - //temporary block event triggering - blockEvent : function(){ - this._evs_events._block = true; - }, - //re-enable event triggering - unblockEvent : function(){ - this._evs_events._block = false; - }, - mapEvent:function(map){ - dhx.extend(this._evs_map, map, true); - }, - on_setter:function(config){ - if(config){ - for(var i in config){ - if(typeof config[i] == 'function') - this.attachEvent(i, config[i]); - } - } - }, - //trigger event - callEvent:function(type,params){ - if (this._evs_events._block) return true; - - type = type.toLowerCase(); - var event_stack =this._evs_events[type.toLowerCase()]; //all events for provided name - var return_value = true; - - if (dhx.debug) //can slowdown a lot - dhx.log("info","["+this.name+"] event:"+type,params); - - if (event_stack) - for(var i=0; i=0) this.splice(pos,(len||1)); - }, - //find element in collection and remove it - remove:function(value){ - this.removeAt(this.find(value)); - }, - //add element to collection at specific position - insertAt:function(data,pos){ - if (!pos && pos!==0) //add to the end by default - this.push(data); - else { - var b = this.splice(pos,(this.length-pos)); - this[pos] = data; - this.push.apply(this,b); //reconstruct array without loosing this pointer - } - }, - //return index of element, -1 if it doesn't exists - find:function(data){ - for (var i=0; i")!=-1){ - str = str.split("->"); - switch(str[0]){ - case "html": //load from some container on the page - str = dhx.html.getValue(str[1]); - break; - default: - //do nothing, will use template as is - break; - } - } - - //supported idioms - // {obj.attr} => named attribute or value of sub-tag in case of xml - str=(str||"").toString(); - str=str.replace(newlines,"\\n"); - str=str.replace(quotes,"\\\""); - - str=str.replace(/\{obj\.([^}?]+)\?([^:]*):([^}]*)\}/g,"\"+(obj.$1?\"$2\":\"$3\")+\""); - str=str.replace(/\{common\.([^}\(]*)\}/g,"\"+(common.$1||'')+\""); - str=str.replace(/\{common\.([^\}\(]*)\(\)\}/g,"\"+(common.$1?common.$1.apply(this, arguments):\"\")+\""); - str=str.replace(/\{obj\.([^}]*)\}/g,"\"+(obj.$1)+\""); - str=str.replace("{obj}","\"+obj+\""); - str=str.replace(/#([^#'";, ]+)#/gi,"\"+(obj.$1)+\""); - - try { - _cache[str] = Function("obj","common","return \""+str+"\";"); - } catch(e){ - dhx.assert_error("Invalid template:"+str); - } - - return _cache[str]; -}; - - -dhx.Template.empty=function(){ return ""; }; -dhx.Template.bind =function(value){ return dhx.bind(dhx.Template(value),this); }; - - - /* - adds new template-type - obj - object to which template will be added - data - properties of template - */ -dhx.Type=function(obj, data){ - if (obj._dhx_proto_wait){ - if (!obj._dhx_type_wait) - obj._dhx_type_wait = []; - obj._dhx_type_wait.push(data); - return; - } - - //auto switch to prototype, if name of class was provided - if (typeof obj == "function") - obj = obj.prototype; - if (!obj.types){ - obj.types = { "default" : obj.type }; - obj.type.name = "default"; - } - - var name = data.name; - var type = obj.type; - if (name) - type = obj.types[name] = dhx.clone(data.baseType?obj.types[data.baseType]:obj.type); - - for(var key in data){ - if (key.indexOf("template")===0) - type[key] = dhx.Template(data[key]); - else - type[key]=data[key]; - } - - return name; -}; - -})(); -/*DHX:Depend core/dhx.js*/ - -dhx.Settings={ - $init:function(){ - /* - property can be accessed as this.config.some - in same time for inner call it have sense to use _settings - because it will be minified in final version - */ - this._settings = this.config= {}; - }, - define:function(property, value){ - if (typeof property == "object") - return this._parseSeetingColl(property); - return this._define(property, value); - }, - _define:function(property,value){ - //method with name {prop}_setter will be used as property setter - //setter is optional - var setter = this[property+"_setter"]; - return this._settings[property]=setter?setter.call(this,value,property):value; - }, - //process configuration object - _parseSeetingColl:function(coll){ - if (coll){ - for (var a in coll) //for each setting - this._define(a,coll[a]); //set value through config - } - }, - //helper for object initialization - _parseSettings:function(obj,initial){ - //initial - set of default values - var settings = {}; - if (initial) - settings = dhx.extend(settings,initial); - - //code below will copy all properties over default one - if (typeof obj == "object" && !obj.tagName) - dhx.extend(settings,obj, true); - //call config for each setting - this._parseSeetingColl(settings); - }, - _mergeSettings:function(config, defaults){ - for (var key in defaults) - switch(typeof config[key]){ - case "object": - config[key] = this._mergeSettings((config[key]||{}), defaults[key]); - break; - case "undefined": - config[key] = defaults[key]; - break; - default: //do nothing - break; - } - return config; - }, - - debug_freid_c_id:true, - debug_freid_a_name:true -}; -/*DHX:Depend core/datastore.js*/ -/*DHX:Depend core/load.js*/ -/* - ajax operations - - can be used for direct loading as - dhx.ajax(ulr, callback) - or - dhx.ajax().item(url) - dhx.ajax().post(url) - -*/ - -/*DHX:Depend core/dhx.js*/ - -dhx.ajax = function(url,call,master){ - //if parameters was provided - made fast call - if (arguments.length!==0){ - var http_request = new dhx.ajax(); - if (master) http_request.master=master; - return http_request.get(url,null,call); - } - if (!this.getXHR) return new dhx.ajax(); //allow to create new instance without direct new declaration - - return this; -}; -dhx.ajax.count = 0; -dhx.ajax.prototype={ - master:null, - //creates xmlHTTP object - getXHR:function(){ - if (dhx.env.isIE) - return new ActiveXObject("Microsoft.xmlHTTP"); - else - return new XMLHttpRequest(); - }, - /* - send data to the server - params - hash of properties which will be added to the url - call - callback, can be an array of functions - */ - send:function(url,params,call){ - var x=this.getXHR(); - if (!dhx.isArray(call)) - call = [call]; - //add extra params to the url - if (typeof params == "object"){ - var t=[]; - for (var a in params){ - var value = params[a]; - if (value === null || value === dhx.undefined) - value = ""; - t.push(a+"="+encodeURIComponent(value));// utf-8 escaping - } - params=t.join("&"); - } - if (params && this.request==='GET'){ - url=url+(url.indexOf("?")!=-1 ? "&" : "?")+params; - params=null; - } - - x.open(this.request,url,!this._sync); - if (this.request === 'POST') - x.setRequestHeader('Content-type','application/x-www-form-urlencoded'); - - //async mode, define loading callback - var self=this; - x.onreadystatechange= function(){ - if (!x.readyState || x.readyState == 4){ - if (dhx.debug_time) dhx.log_full_time("data_loading"); //log rendering time - dhx.ajax.count++; - if (call && self){ - for (var i=0; i < call.length; i++) //there can be multiple callbacks - if (call[i]){ - var method = (call[i].success||call[i]); - if (x.status >= 400 || (!x.status && !x.responseText)) - method = call[i].error; - if (method) - method.call((self.master||self),x.responseText,x.responseXML,x); - } - } - if (self) self.master=null; - call=self=null; //anti-leak - } - }; - - x.send(params||null); - return x; //return XHR, which can be used in case of sync. mode - }, - //GET request - get:function(url,params,call){ - if (arguments.length == 2){ - call = params; - params = null; - } - this.request='GET'; - return this.send(url,params,call); - }, - //POST request - post:function(url,params,call){ - this.request='POST'; - return this.send(url,params,call); - }, - //PUT request - put:function(url,params,call){ - this.request='PUT'; - return this.send(url,params,call); - }, - //POST request - del:function(url,params,call){ - this.request='DELETE'; - return this.send(url,params,call); - }, - sync:function(){ - this._sync = true; - return this; - }, - bind:function(master){ - this.master = master; - return this; - } -}; -/*submits values*/ -dhx.send = function(url, values, method, target){ - var form = dhx.html.create("FORM",{ - "target":(target||"_self"), - "action":url, - "method":(method||"POST") - },""); - for (var k in values) { - var field = dhx.html.create("INPUT",{"type":"hidden","name": k,"value": values[k]},""); - form.appendChild(field); - } - form.style.display = "none"; - document.body.appendChild(form); - form.submit(); - document.body.removeChild(form); -}; - - -dhx.AtomDataLoader={ - $init:function(config){ - //prepare data store - this.data = {}; - if (config){ - this._settings.datatype = config.datatype||"json"; - this.$ready.push(this._load_when_ready); - } - }, - _load_when_ready:function(){ - this._ready_for_data = true; - - if (this._settings.url) - this.url_setter(this._settings.url); - if (this._settings.data) - this.data_setter(this._settings.data); - }, - url_setter:function(value){ - if (!this._ready_for_data) return value; - this.load(value, this._settings.datatype); - return value; - }, - data_setter:function(value){ - if (!this._ready_for_data) return value; - this.parse(value, this._settings.datatype); - return true; - }, - debug_freid_c_datatype:true, - debug_freid_c_dataFeed:true, - - //loads data from external URL - load:function(url,call){ - if (url.$proxy) { - url.load(this, typeof call == "string" ? call : "json"); - return; - } - - this.callEvent("onXLS",[]); - if (typeof call == "string"){ //second parameter can be a loading type or callback - //we are not using setDriver as data may be a non-datastore here - this.data.driver = dhx.DataDriver[call]; - call = arguments[2]; - } else if (!this.data.driver) - this.data.driver = dhx.DataDriver.json; - - //load data by async ajax call - //loading_key - can be set by component, to ignore data from old async requests - var callback = [{ - success: this._onLoad, - error: this._onLoadError - }]; - - if (call){ - if (dhx.isArray(call)) - callback.push.apply(callback,call); - else - callback.push(call); - } - - - return dhx.ajax(url,callback,this); - }, - //loads data from object - parse:function(data,type){ - this.callEvent("onXLS",[]); - this.data.driver = dhx.DataDriver[type||"json"]; - this._onLoad(data,null); - }, - //default after loading callback - _onLoad:function(text,xml,loader,key){ - var driver = this.data.driver; - var data = driver.toObject(text,xml); - if (data){ - var top = driver.getRecords(data)[0]; - this.data=(driver?driver.getDetails(top):text); - } else - this._onLoadError(text,xml,loader); - - this.callEvent("onXLE",[]); - }, - _onLoadError:function(text, xml, xhttp){ - this.callEvent("onXLE",[]); - this.callEvent("onLoadError",arguments); - dhx4.callEvent("onLoadError", [text, xml, xhttp, this]); - }, - _check_data_feed:function(data){ - if (!this._settings.dataFeed || this._ignore_feed || !data) return true; - var url = this._settings.dataFeed; - if (typeof url == "function") - return url.call(this, (data.id||data), data); - url = url+(url.indexOf("?")==-1?"?":"&")+"action=get&id="+encodeURIComponent(data.id||data); - this.callEvent("onXLS",[]); - dhx.ajax(url, function(text,xml,loader){ - this._ignore_feed=true; - var data = dhx.DataDriver.toObject(text, xml); - if (data) - this.setValues(data.getDetails(data.getRecords()[0])); - else - this._onLoadError(text,xml,loader); - this._ignore_feed=false; - this.callEvent("onXLE",[]); - }, this); - return false; - } -}; - -/* - Abstraction layer for different data types -*/ - -dhx.DataDriver={}; -dhx.DataDriver.json={ - //convert json string to json object if necessary - toObject:function(data){ - if (!data) data="[]"; - if (typeof data == "string"){ - try{ - eval ("dhx.temp="+data); - } catch(e){ - dhx.assert_error(e); - return null; - } - data = dhx.temp; - } - - if (data.data){ - var t = data.data.config = {}; - for (var key in data) - if (key!="data") - t[key] = data[key]; - data = data.data; - } - - return data; - }, - //get array of records - getRecords:function(data){ - if (data && !dhx.isArray(data)) - return [data]; - return data; - }, - //get hash of properties for single record - getDetails:function(data){ - if (typeof data == "string") - return { id:dhx.uid(), value:data }; - return data; - }, - //get count of data and position at which new data need to be inserted - getInfo:function(data){ - var cfg = data.config; - if (!cfg) return {}; - - return { - _size:(cfg.total_count||0), - _from:(cfg.pos||0), - _parent:(cfg.parent||0), - _config:(cfg.config), - _key:(cfg.dhx_security) - }; - }, - child:"data" -}; - -dhx.DataDriver.html={ - /* - incoming data can be - - collection of nodes - - ID of parent container - - HTML text - */ - toObject:function(data){ - if (typeof data == "string"){ - var t=null; - if (data.indexOf("<")==-1) //if no tags inside - probably its an ID - t = dhx.toNode(data); - if (!t){ - t=document.createElement("DIV"); - t.innerHTML = data; - } - - return t.getElementsByTagName(this.tag); - } - return data; - }, - //get array of records - getRecords:function(node){ - var data = []; - for (var i=0; i= count + from )) return true; - } - return false; - }, - //default after loading callback - _onLoad:function(text,xml,loader){ - //ignore data loading command if data was reloaded - this._ajax_queue.remove(loader); - - var data = this.data.driver.toObject(text,xml); - if (data) - this.data._parse(data); - else - return this._onLoadError(text, xml, loader); - - //data loaded, view rendered, call onready handler - this._call_onready(); - - this.callEvent("onXLE",[]); - }, - removeMissed_setter:function(value){ - return this.data._removeMissed = value; - }, - scheme_setter:function(value){ - this.data.scheme(value); - }, - dataFeed_setter:function(value){ - this.data.attachEvent("onBeforeFilter", dhx.bind(function(text, value){ - if (this._settings.dataFeed){ - - var filter = {}; - if (!text && !value) return; - if (typeof text == "function"){ - if (!value) return; - text(value, filter); - } else - filter = { text:value }; - - this.clearAll(); - var url = this._settings.dataFeed; - var urldata = []; - if (typeof url == "function") - return url.call(this, value, filter); - for (var key in filter) - urldata.push("dhx_filter["+key+"]="+encodeURIComponent(filter[key])); - this.load(url+(url.indexOf("?")<0?"?":"&")+urldata.join("&"), this._settings.datatype); - return false; - } - },this)); - return value; - }, - - debug_freid_c_ready:true, - debug_freid_c_datathrottle:true, - - _call_onready:function(){ - if (this._settings.ready && !this._ready_was_used){ - var code = dhx.toFunctor(this._settings.ready); - if (code) - dhx.delay(code, this, arguments); - this._ready_was_used = true; - } - }, - _call_onclearall:function(){ - for (var i = 0; i < this._ajax_queue.length; i++) - this._ajax_queue[i].abort(); - - this._ajax_queue = dhx.toArray(); - }, - _call_on_config:function(config){ - this._parseSeetingColl(config); - } -},dhx.AtomDataLoader); - - -/* - DataStore is not a behavior, it standalone object, which represents collection of data. - Call provideAPI to map data API - - @export - exists - idByIndex - indexById - get - set - refresh - dataCount - sort - filter - next - previous - clearAll - first - last -*/ -dhx.DataStore = function(){ - this.name = "DataStore"; - - dhx.extend(this, dhx.EventSystem); - - this.setDriver("json"); //default data source is an - this.pull = {}; //hash of IDs - this.order = dhx.toArray(); //order of IDs - this._marks = {}; -}; - -dhx.DataStore.prototype={ - //defines type of used data driver - //data driver is an abstraction other different data formats - xml, json, csv, etc. - setDriver:function(type){ - dhx.assert(dhx.DataDriver[type],"incorrect DataDriver"); - this.driver = dhx.DataDriver[type]; - }, - //process incoming raw data - _parse:function(data,master){ - this.callEvent("onParse", [this.driver, data]); - if (this._filter_order) - this.filter(); - - //get size and position of data - var info = this.driver.getInfo(data); - if (info._key) - dhx.securityKey = info._key; - if (info._config) - this.callEvent("onServerConfig",[info._config]); - - //get array of records - var recs = this.driver.getRecords(data); - - this._inner_parse(info, recs); - - //in case of tree store we may want to group data - if (this._scheme_group && this._group_processing) - this._group_processing(this._scheme_group); - - //optional data sorting - if (this._scheme_sort){ - this.blockEvent(); - this.sort(this._scheme_sort); - this.unblockEvent(); - } - this.callEvent("onStoreLoad",[this.driver, data]); - //repaint self after data loading - this.refresh(); - }, - _inner_parse:function(info, recs){ - var from = (info._from||0)*1; - var subload = true; - var marks = false; - - if (from === 0 && this.order[0]){ //update mode - if (this._removeMissed){ - //update mode, create kill list - marks = {}; - for (var i=0; ito){ //can be in case of backward shift-selection - var a=to; to=from; from=a; - } - - return this.getIndexRange(from,to); - }, - //converts range of indexes to array of all IDs between them - getIndexRange:function(from,to){ - to=Math.min((to||Infinity),this.dataCount()-1); - - var ret=dhx.toArray(); //result of method is rich-array - for (var i=(from||0); i <= to; i++) - ret.push(this.item(this.order[i])); - return ret; - }, - //returns total count of elements - dataCount:function(){ - return this.order.length; - }, - //returns truy if item with such ID exists - exists:function(id){ - return !!(this.pull[id]); - }, - //nextmethod is not visible on component level, check DataMove.move - //moves item from source index to the target index - move:function(sindex,tindex){ - dhx.assert(sindex>=0 && tindex>=0, "DataStore::move","Incorrect indexes"); - - var id = this.idByIndex(sindex); - var obj = this.item(id); - - this.order.removeAt(sindex); //remove at old position - //if (sindex data_size){ - dhx.log("Warning","DataStore:add","Index of out of bounds"); - index = Math.min(order.length,index); - } - if (this.callEvent("onBeforeAdd", [id, obj, index]) === false) return false; - - dhx.assert(!this.exists(id), "Not unique ID"); - - this.pull[id]=obj; - order.insertAt(id,index); - if (this._filter_order){ //adding during filtering - //we can't know the location of new item in full dataset, making suggestion - //put at end by default - var original_index = this._filter_order.length; - //put at start only if adding to the start and some data exists - if (!index && this.order.length) - original_index = 0; - - this._filter_order.insertAt(id,original_index); - } - this.callEvent("onAfterAdd",[id,index]); - //repaint signal - this.callEvent("onStoreUpdated",[id,obj,"add"]); - return id; - }, - - //removes element from datastore - remove:function(id){ - //id can be an array of IDs - result of getSelect, for example - if (dhx.isArray(id)){ - for (var i=0; i < id.length; i++) - this.remove(id[i]); - return; - } - if (this.callEvent("onBeforeDelete",[id]) === false) return false; - - dhx.assert(this.exists(id), "Not existing ID in remove command"+id); - - var obj = this.item(id); //save for later event - //clear from collections - this.order.remove(id); - if (this._filter_order) - this._filter_order.remove(id); - - delete this.pull[id]; - if (this._marks[id]) - delete this._marks[id]; - - this.callEvent("onAfterDelete",[id]); - //repaint signal - this.callEvent("onStoreUpdated",[id,obj,"delete"]); - }, - //deletes all records in datastore - clearAll:function(){ - //instead of deleting one by one - just reset inner collections - this.pull = {}; - this.order = dhx.toArray(); - //this.feed = null; - this._filter_order = this.url = null; - this.callEvent("onClearAll",[]); - this.refresh(); - }, - //converts id to index - idByIndex:function(index){ - if (index>=this.order.length || index<0) - dhx.log("Warning","DataStore::idByIndex Incorrect index"); - - return this.order[index]; - }, - //converts index to id - indexById:function(id){ - var res = this.order.find(id); //slower than idByIndex - - if (!this.pull[id]) - dhx.log("Warning","DataStore::indexById Non-existing ID: "+ id); - - return res; - }, - //returns ID of next element - next:function(id,step){ - return this.order[this.indexById(id)+(step||1)]; - }, - //returns ID of first element - first:function(){ - return this.order[0]; - }, - //returns ID of last element - last:function(){ - return this.order[this.order.length-1]; - }, - //returns ID of previous element - previous:function(id,step){ - return this.order[this.indexById(id)-(step||1)]; - }, - /* - sort data in collection - by - settings of sorting - - or - - by - sorting function - dir - "asc" or "desc" - - or - - by - property - dir - "asc" or "desc" - as - type of sortings - - Sorting function will accept 2 parameters and must return 1,0,-1, based on desired order - */ - sort:function(by, dir, as){ - var sort = by; - if (typeof by == "function") - sort = {as:by, dir:dir}; - else if (typeof by == "string") - sort = {by:by.replace(/#/g,""), dir:dir, as:as}; - - - var parameters = [sort.by, sort.dir, sort.as]; - if (!this.callEvent("onBeforeSort",parameters)) return; - - this._sort_core(sort); - - //repaint self - this.refresh(); - - this.callEvent("onAfterSort",parameters); - }, - _sort_core:function(sort){ - if (this.order.length){ - var sorter = this._sort._create(sort); - //get array of IDs - var neworder = this.getRange(this.first(), this.last()); - neworder.sort(sorter); - this.order = neworder.map(function(obj){ - dhx.assert(obj, "Client sorting can't be used with dynamic loading"); - return this.id(obj); - },this); - } - }, - /* - Filter datasource - - text - property, by which filter - value - filter mask - - or - - text - filter method - - Filter method will receive data object and must return true or false - */ - _filter_reset:function(preserve){ - //remove previous filtering , if any - if (this._filter_order && !preserve){ - this.order = this._filter_order; - delete this._filter_order; - } - }, - _filter_core:function(filter, value, preserve){ - var neworder = dhx.toArray(); - for (var i=0; i < this.order.length; i++){ - var id = this.order[i]; - if (filter(this.item(id),value)) - neworder.push(id); - } - //set new order of items, store original - if (!preserve || !this._filter_order) - this._filter_order = this.order; - this.order = neworder; - }, - filter:function(text,value,preserve){ - if (!this.callEvent("onBeforeFilter", [text, value])) return; - - this._filter_reset(preserve); - if (!this.order.length) return; - - //if text not define -just unfilter previous state and exit - if (text){ - var filter = text; - value = value||""; - if (typeof text == "string"){ - text = text.replace(/#/g,""); - if (typeof value == "function") - filter = function(obj){ - return value(obj[text]); - }; - else{ - value = value.toString().toLowerCase(); - filter = function(obj,value){ //default filter - string start from, case in-sensitive - dhx.assert(obj, "Client side filtering can't be used with dynamic loading"); - return (obj[text]||"").toString().toLowerCase().indexOf(value)!=-1; - }; - } - } - - this._filter_core(filter, value, preserve, this._filterMode); - } - //repaint self - this.refresh(); - - this.callEvent("onAfterFilter", []); - }, - /* - Iterate through collection - */ - each:function(method,master){ - for (var i=0; ib?1:(ab?1:(ab?1:(ab?1:(a "+target.name+"@"+target._settings.id); - this._bind_update(target, this._bind_hash[key][0], this._bind_hash[key][1]); //trigger component specific updating logic - if (update && target.filter) - target.refresh(); - } - }, - //add one more bind target - addBind:function(source, rule, format){ - this._bind_hash[source] = [rule, format]; - }, - removeBind:function(source){ - delete this._bind_hash[source]; - delete this._bind_updated[source]; - delete this._ignore_binds[source]; - }, - //returns true if object belong to "collection" type - _bind_specific_rules:function(obj){ - if (obj.filter) - dhx.extend(this, dhx.CollectionBind); - else if (obj.setValue) - dhx.extend(this, dhx.ValueBind); - else - dhx.extend(this, dhx.RecordBind); - }, - //inform all binded objects, that source data was updated - _update_binds:function(){ - if (!this._do_not_update_binds) - for (var key in this._bind_hash){ - if (this._ignore_binds[key]) continue; - this._bind_updated[key] = false; - this.getBindData(key, true); - } - }, - //copy data from source to the target - _bind_update_common:function(target, rule, data){ - if (target.setValue) - target.setValue(data?data[rule]:data); - else if (!target.filter){ - if (!data && target.clear) - target.clear(true); - else { - if (target._check_data_feed(data)) - target.setValues(dhx.clone(data)); - } - } else { - target.data.silent(function(){ - this.filter(rule,data); - }); - } - target.callEvent("onBindApply", [data,rule,this]); - } -}; - - -//pure data objects -dhx.DataValue = dhx.proto({ - name:"DataValue", - isVisible:function(){ return true; }, - $init:function(config){ - this.data = ""||config; - var id = (config&&config.id)?config.id:dhx.uid(); - this._settings = { id:id }; - dhx.ui.views[id] = this; - }, - setValue:function(value){ - this.data = value; - this.callEvent("onChange", [value]); - }, - getValue:function(){ - return this.data; - }, - refresh:function(){ this.callEvent("onBindRequest"); } -}, dhx.EventSystem, dhx.BaseBind); - -dhx.DataRecord = dhx.proto({ - name:"DataRecord", - isVisible:function(){ return true; }, - $init:function(config){ - this.data = config||{}; - var id = (config&&config.id)?config.id:dhx.uid(); - this._settings = { id:id }; - dhx.ui.views[id] = this; - }, - getValues:function(){ - return this.data; - }, - setValues:function(data){ - this.data = data; - this.callEvent("onChange", [data]); - }, - refresh:function(){ this.callEvent("onBindRequest"); } -}, dhx.EventSystem, dhx.BaseBind, dhx.AtomDataLoader, dhx.Settings); - - -dhx.DataCollection = dhx.proto({ - name:"DataCollection", - isVisible:function(){ - if (!this.data.order.length && !this.data._filter_order && !this._settings.dataFeed) return false; - return true; - }, - $init:function(config){ - this.data.provideApi(this, true); - var id = (config&&config.id)?config.id:dhx.uid(); - this._settings.id =id; - dhx.ui.views[id] = this; - this.data.attachEvent("onStoreLoad", dhx.bind(function(){ - this.callEvent("onBindRequest",[]); - }, this)); - }, - refresh:function(){ this.callEvent("onBindRequest",[]); } -}, dhx.DataLoader, dhx.EventSystem, dhx.BaseBind, dhx.Settings); - - - - -dhx.ValueBind={ - $init:function(){ - this.attachEvent("onChange", this._update_binds); - }, - _bind_update:function(target, rule, format){ - var data = this.getValue()||""; - if (format) data = format(data); - - if (target.setValue) - target.setValue(data); - else if (!target.filter){ - var pod = {}; pod[rule] = data; - if (target._check_data_feed(data)) - target.setValues(pod); - } else{ - target.data.silent(function(){ - this.filter(rule,data); - }); - } - target.callEvent("onBindApply", [data,rule,this]); - } -}; - -dhx.RecordBind={ - $init:function(){ - this.attachEvent("onChange", this._update_binds); - }, - _bind_update:function(target, rule){ - var data = this.getValues()||null; - this._bind_update_common(target, rule, data); - } -}; - -dhx.CollectionBind={ - $init:function(){ - this._cursor = null; - this.attachEvent("onSelectChange", function(data){ - var sel = this.getSelected(); - this.setCursor(sel?(sel.id||sel):null); - }); - this.attachEvent("onAfterCursorChange", this._update_binds); - this.data.attachEvent("onStoreUpdated", dhx.bind(function(id, data, mode){ - if (id && id == this.getCursor() && mode != "paint") - this._update_binds(); - },this)); - this.data.attachEvent("onClearAll", dhx.bind(function(){ - this._cursor = null; - },this)); - this.data.attachEvent("onIdChange", dhx.bind(function(oldid, newid){ - if (this._cursor == oldid) - this._cursor = newid; - },this)); - }, - setCursor:function(id){ - if (id == this._cursor || (id !== null && !this.item(id))) return; - - this.callEvent("onBeforeCursorChange", [this._cursor]); - this._cursor = id; - this.callEvent("onAfterCursorChange",[id]); - }, - getCursor:function(){ - return this._cursor; - }, - _bind_update:function(target, rule){ - var data = this.item(this.getCursor())|| this._settings.defaultData || null; - this._bind_update_common(target, rule, data); - } -}; -/*DHX:Depend core/legacy_bind.js*/ -/*DHX:Depend core/dhx.js*/ -/*DHX:Depend core/bind.js*/ - -/*jsl:ignore*/ - -if (!dhx.ui) - dhx.ui = {}; - -if (!dhx.ui.views){ - dhx.ui.views = {}; - dhx.ui.get = function(id){ - if (id._settings) return id; - return dhx.ui.views[id]; - }; -} - -if (window.dhtmlx) - dhtmlx.BaseBind = dhx.BaseBind; - -dhtmlXDataStore = function(config){ - var obj = new dhx.DataCollection(config); - var name = "_dp_init"; - obj[name]=function(dp){ - //map methods - var varname = "_methods"; - dp[varname]=["dummy","dummy","changeId","dummy"]; - - this.data._old_names = { - "add":"inserted", - "update":"updated", - "delete":"deleted" - }; - this.data.attachEvent("onStoreUpdated",function(id,data,mode){ - if (id && !dp._silent) - dp.setUpdated(id,true,this._old_names[mode]); - }); - - - varname = "_getRowData"; - //serialize item's data in URL - dp[varname]=function(id,pref){ - var ev=this.obj.data.item(id); - var data = { id:id }; - data[this.action_param] = this.obj.getUserData(id); - if (ev) - for (var a in ev){ - data[a]=ev[a]; - } - - return data; - }; - - this.changeId = function(oldid, newid){ - this.data.changeId(oldid, newid); - dp._silent = true; - this.data.callEvent("onStoreUpdated", [newid, this.item(newid), "update"]); - dp._silent = false; - }; - - varname = "_clearUpdateFlag"; - dp[varname]=function(){}; - this._userdata = {}; - - }; - obj.dummy = function(){}; - obj.setUserData=function(id,name,value){ - this._userdata[id]=value; - }; - obj.getUserData=function(id,name){ - return this._userdata[id]; - }; - obj.dataFeed=function(obj){ - this.define("dataFeed", obj); - }; - dhx.extend(obj, dhx.BindSource); - return obj; -}; - -if (window.dhtmlXDataView) - dhtmlXDataView.prototype._initBindSource=function(){ - this.isVisible = function(){ - if (!this.data.order.length && !this.data._filter_order && !this._settings.dataFeed) return false; - return true; - }; - var settings = "_settings"; - this._settings = this._settings || this[settings]; - if (!this._settings.id) - this._settings.id = dhx.uid(); - this.unbind = dhx.BaseBind.unbind; - this.unsync = dhx.BaseBind.unsync; - dhx.ui.views[this._settings.id] = this; - }; - -if (window.dhtmlXChart) - dhtmlXChart.prototype._initBindSource=function(){ - this.isVisible = function(){ - if (!this.data.order.length && !this.data._filtered_state && !this._settings.dataFeed) return false; - return true; - }; - var settings = "_settings"; - this._settings = this._settings || this[settings]; - if (!this._settings.id) - this._settings.id = dhx.uid(); - this.unbind = dhx.BaseBind.unbind; - this.unsync = dhx.BaseBind.unsync; - dhx.ui.views[this._settings.id] = this; - }; - - -dhx.BaseBind.unsync = function(target){ - return dhx.BaseBind._unbind.call(this, target); -} -dhx.BaseBind.unbind = function(target){ - return dhx.BaseBind._unbind.call(this, target); -} -dhx.BaseBind.legacyBind = function(){ - return dhx.BaseBind.bind.apply(this, arguments); -}; -dhx.BaseBind.legacySync = function(source, rule){ - if (this._initBindSource) this._initBindSource(); - if (source._initBindSource) source._initBindSource(); - - this.attachEvent("onAfterEditStop", function(id){ - this.save(id); - return true; - }); - - - - - this.attachEvent("onDataRequest", function(start, count){ - for (var i=start; i=this.data.limit) id=this.data.limit-1; - if (this.callEvent("onBeforePageChange",[this._settings.page,id])){ - this.data.page = id*1; //must be int - this.refresh(); - this.callEvent("onAfterPageChange",[id]); - } - }, - types:{ - "default":{ - template:dhtmlx.Template.fromHTML("{common.pages()}"), - //list of page numbers - pages:function(obj){ - var html=""; - //skip rendering if paging is not fully initialized - if (obj.page == -1) return ""; - //current page taken as center of view, calculate bounds of group - obj.min = obj.page-Math.round((obj.group-1)/2); - obj.max = obj.min + obj.group-1; - if (obj.min<0){ - obj.max+=obj.min*(-1); - obj.min=0; - } - if (obj.max>=obj.limit){ - obj.min -= Math.min(obj.min,obj.max-obj.limit+1); - obj.max = obj.limit-1; - } - //generate HTML code of buttons - for (var i=(obj.min||0); i<=obj.max; i++) - html+=this.button({id:i, index:(i+1), selected:(i == obj.page ?"_selected":"")}); - return html; - }, - page:function(obj){ - return obj.page+1; - }, - //go-to-first page button - first:function(){ - return this.button({ id:"first", index:" << ", selected:""}); - }, - //go-to-last page button - last:function(){ - return this.button({ id:"last", index:" >> ", selected:""}); - }, - //go-to-prev page button - prev:function(){ - return this.button({ id:"prev", index:"<", selected:""}); - }, - //go-to-next page button - next:function(){ - return this.button({ id:"next", index:">", selected:""}); - }, - button:dhtmlx.Template.fromHTML("
                    {obj.index}
                    ") - - } - }, - //update settings and repaint self - refresh:function(){ - var s = this._settings; - //max page number - s.limit = Math.ceil(s.count/s.size); - - //correct page if it is out of limits - if (s.limit && s.limit != s.old_limit) - s.page = Math.min(s.limit-1, s.page); - - var id = s.page; - if (id!=-1 && (id!=s.old_page) || (s.limit != s.old_limit)){ - //refresh self only if current page or total limit was changed - this.render(); - this.callEvent("onRefresh",[]); - s.old_limit = s.limit; //save for onchange check in next iteration - s.old_page = s.page; - } - }, - template_item_start:dhtmlx.Template.fromHTML("
                    "), - template_item_end:dhtmlx.Template.fromHTML("
                    ") -}; - - -/* DHX DEPEND FROM FILE 'dataprocessor_hook.js'*/ - - -/* - Behaviour:DataProcessor - translates inner events in dataprocessor calls - - @export - changeId - setItemStyle - setUserData - getUserData -*/ - -/*DHX:Depend compatibility.js*/ -/*DHX:Depend dhtmlx.js*/ - -dhtmlx.DataProcessor={ - //called from DP as part of dp.init - _dp_init:function(dp){ - //map methods - var varname = "_methods"; - dp[varname]=["setItemStyle","","changeId","remove"]; - //after item adding - trigger DP - this.attachEvent("onAfterAdd",function(id){ - dp.setUpdated(id,true,"inserted"); - }); - this.data.attachEvent("onStoreLoad",dhtmlx.bind(function(driver, data){ - if (driver.getUserData) - driver.getUserData(data,this._userdata); - },this)); - - //after item deleting - trigger DP - this.attachEvent("onBeforeDelete",function(id){ - if (dp._silent_mode) return true; - - var z=dp.getState(id); - if (z=="inserted") { dp.setUpdated(id,false); return true; } - if (z=="deleted") return false; - if (z=="true_deleted") return true; - - dp.setUpdated(id,true,"deleted"); - return false; - }); - //after editing - trigger DP - this.attachEvent("onAfterEditStop",function(id){ - dp.setUpdated(id,true,"updated"); - }); - this.attachEvent("onBindUpdate",function(data){ - window.setTimeout(function(){ - dp.setUpdated(data.id,true,"updated"); - },1); - }); - - varname = "_getRowData"; - //serialize item's data in URL - dp[varname]=function(id,pref){ - var ev=this.obj.data.get(id); - var data = {}; - for (var a in ev){ - if (a.indexOf("_")===0) continue; - data[a]=ev[a]; - } - - return data; - }; - varname = "_clearUpdateFlag"; - dp[varname]=function(){}; - this._userdata = {}; - - dp.attachEvent("insertCallback", this._dp_callback); - dp.attachEvent("updateCallback", this._dp_callback); - dp.attachEvent("deleteCallback", function(upd, id) { - this.obj.setUserData(id, this.action_param, "true_deleted"); - this.obj.remove(id); - }); - - //enable compatibility layer - it will allow to use DP without dhtmlxcommon - dhtmlx.compat("dataProcessor",dp); - }, - _dp_callback:function(upd,id){ - this.obj.data.set(id,dhtmlx.DataDriver.xml.getDetails(upd.firstChild)); - this.obj.data.refresh(id); - }, - //marks item in question with specific styles, not purposed for public usage - setItemStyle:function(id,style){ - var node = this._locateHTML(id); - if (node) node.style.cssText+=";"+style; //style is not persistent - }, - //change ID of item - changeId:function(oldid, newid){ - this.data.changeId(oldid, newid); - this.refresh(); - }, - //sets property value, not purposed for public usage - setUserData:function(id,name,value){ - if (id) - this.data.get(id)[name]=value; - else - this._userdata[name]=value; - }, - //gets property value, not purposed for public usage - getUserData:function(id,name){ - return id?this.data.get(id)[name]:this._userdata[name]; - } -}; -(function(){ - var temp = "_dp_init"; - dhtmlx.DataProcessor[temp]=dhtmlx.DataProcessor._dp_init; -})(); - - - -/* DHX DEPEND FROM FILE 'compatibility_drag.js'*/ - - -/* - Compatibility hack for DND - Allows dnd between dhtmlx.dnd and dhtmlxcommon based dnd - When dnd items - related events will be correctly triggered. - onDrag event must define final moving logic, if it is absent - item will NOT be moved automatically - - to activate this functionality , next command need to be called - dhtmlx.compat("dnd"); -*/ - -/*DHX:Depend compatibility.js*/ - -dhtmlx.compat.dnd = function(){ - //if dhtmlxcommon.js included on the page - if (window.dhtmlDragAndDropObject){ - var _dragged = "_dragged"; //fake for code compression utility, do not change! - - //wrap methods of dhtmlxcommon to inform dhtmlx.dnd logic - var old_ocl = dhtmlDragAndDropObject.prototype.checkLanding; - dhtmlDragAndDropObject.prototype.checkLanding=function(node,e,skip){ - old_ocl.apply(this,arguments); - if (!skip){ - var c = dhtmlx.DragControl._drag_context = dhtmlx.DragControl._drag_context||{}; - if (!c.from) - c.from = this.dragStartObject; - dhtmlx.DragControl._checkLand(node,e,true); - } - }; - - var old_odp = dhtmlDragAndDropObject.prototype.stopDrag; - dhtmlDragAndDropObject.prototype.stopDrag=function(e,dot,skip){ - if (!skip){ - if (dhtmlx.DragControl._last){ - dhtmlx.DragControl._active = dragger.dragStartNode; - dhtmlx.DragControl._stopDrag(e,true); - } - } - old_odp.apply(this,arguments); - }; - - - //pre-create dnd object from dhtmlxcommon - var dragger = new dhtmlDragAndDropObject(); - - //wrap drag start process - var old_start = dhtmlx.DragControl._startDrag; - dhtmlx.DragControl._startDrag=function(){ - old_start.apply(this,arguments); - //build list of IDs and fake objects for dhtlmxcommon support - var c = dhtmlx.DragControl._drag_context; - if (!c) return; - var source = []; - var tsource = []; - for (var i=0; i < c.source.length; i++){ - source[i]={idd:c.source[i]}; - tsource.push(c.source[i]); - } - - dragger.dragStartNode = { - parentNode:{}, - parentObject:{ - idd:source, - id:(tsource.length == 1?tsource[0]:tsource), - treeNod:{ - object:c.from - } - } - }; - - //prevent code compression of "_dragged" - dragger.dragStartNode.parentObject.treeNod[_dragged]=source; - dragger.dragStartObject = c.from; - }; - //wrap drop landing checker - var old_check = dhtmlx.DragControl._checkLand; - dhtmlx.DragControl._checkLand = function(node,e,skip){ - old_check.apply(this,arguments); - if (!this._last && !skip){ - //we are in middle of nowhere, check old drop landings - node = dragger.checkLanding(node,e,true); - } - }; - - //wrap drop routine - var old_drop = dhtmlx.DragControl._stopDrag; - dhtmlx.DragControl._stopDrag=function(e,skip){ - old_drop.apply(this,arguments); - if (dragger.lastLanding && !skip) - dragger.stopDrag(e,false,true); - }; - //extend getMaster, so they will be able to recognize master objects from dhtmlxcommon.js - var old_mst = dhtmlx.DragControl.getMaster; - dhtmlx.DragControl.getMaster = function(t){ - var master = null; - if (t) - master = old_mst.apply(this,arguments); - if (!master){ - master = dragger.dragStartObject; - var src = []; - var from = master[_dragged]; - for (var i=0; i < from.length; i++) { - src.push(from[i].idd||from[i].id); - } - dhtmlx.DragControl._drag_context.source = src; - } - return master; - }; - - } -}; - - -/* DHX DEPEND FROM FILE 'move.js'*/ - - -/* - Behavior:DataMove - allows to move and copy elements, heavily relays on DataStore.move - @export - copy - move -*/ -dhtmlx.DataMove={ - _init:function(){ - dhtmlx.assert(this.data, "DataMove :: Component doesn't have DataStore"); - }, - //creates a copy of the item - copy:function(sid,tindex,tobj,tid){ - var data = this.get(sid); - if (!data){ - dhtmlx.log("Warning","Incorrect ID in DataMove::copy"); - return; - } - - //make data conversion between objects - if (tobj){ - dhtmlx.assert(tobj.externalData,"DataMove :: External object doesn't support operation"); - data = tobj.externalData(data); - } - tobj = tobj||this; - //adds new element same as original - return tobj.add(tobj.externalData(data,tid),tindex); - }, - //move item to the new position - move:function(sid,tindex,tobj,tid){ - //can process an arrya - it allows to use it from onDrag - if (sid instanceof Array){ - for (var i=0; i < sid.length; i++) { - //increase index for each next item in the set, so order of insertion will be equal to order in the array - var new_index = (tobj||this).indexById(this.move(sid[i], tindex, tobj, sid[i])); - if (sid[i+1]) - tindex = new_index+(this.indexById(sid[i+1])"+s.innerHTML+"
                    "; - } -}; - - -/* DHX DEPEND FROM FILE 'drag.js'*/ - - -/* - Behavior:DragItem - adds ability to move items by dnd - - dnd context can have next properties - from - source object - to - target object - source - id of dragged item(s) - target - id of drop target, null for drop on empty space - start - id from which DND was started -*/ - -/*DHX:Depend dnd.js*/ /*DHX:Depend move.js*/ /*DHX:Depend compatibility_drag.js*/ -/*DHX:Depend dhtmlx.js*/ - - - -dhtmlx.DragItem={ - _init:function(){ - dhtmlx.assert(this.move,"DragItem :: Component doesn't have DataMove interface"); - dhtmlx.assert(this.locate,"DragItem :: Component doesn't have RenderStack interface"); - dhtmlx.assert(dhtmlx.DragControl,"DragItem :: DragControl is not included"); - - if (!this._settings || this._settings.drag) - dhtmlx.DragItem._initHandlers(this); - else if (this._settings){ - //define setter, which may be triggered by config call - this.drag_setter=function(value){ - if (value){ - this._initHandlers(this); - delete this.drag_setter; //prevent double initialization - } - return value; - }; - } - //if custom dnd marking logic is defined - attach extra handlers - if (this.dragMarker){ - this.attachEvent("onBeforeDragIn",this.dragMarker); - this.attachEvent("onDragOut",this.dragMarker); - } - - }, - //helper - defines component's container as active zone for dragging and for dropping - _initHandlers:function(obj){ - dhtmlx.DragControl.addDrop(obj._obj,obj,true); - dhtmlx.DragControl.addDrag(obj._obj,obj); - }, - /* - s - source html element - t - target html element - d - drop-on html element ( can be not equal to the target ) - e - native html event - */ - //called when drag moved over possible target - onDragIn:function(s,t,e){ - var id = this.locate(e) || null; - var context = dhtmlx.DragControl._drag_context; - var to = dhtmlx.DragControl.getMaster(s); - //previous target - var html = (this._locateHTML(id)||this._obj); - //prevent double processing of same target - if (html == dhtmlx.DragControl._landing) return html; - context.target = id; - context.to = to; - - if (!this.callEvent("onBeforeDragIn",[context,e])){ - context.id = null; - return null; - } - - dhtmlx.html.addCss(html,"dhx_drag_over"); //mark target - return html; - }, - //called when drag moved out from possible target - onDragOut:function(s,t,n,e){ - var id = this.locate(e) || null; - if (n != this._dataobj) - id = null; - //previous target - var html = (this._locateHTML(id)||(n?dhtmlx.DragControl.getMaster(n)._obj:window.undefined)); - if (html == dhtmlx.DragControl._landing) return null; - //unmark previous target - var context = dhtmlx.DragControl._drag_context; - dhtmlx.html.removeCss(dhtmlx.DragControl._landing,"dhx_drag_over"); - context.target = context.to = null; - this.callEvent("onDragOut",[context,e]); - return null; - }, - //called when drag moved on target and button is released - onDrop:function(s,t,d,e){ - var context = dhtmlx.DragControl._drag_context; - - //finalize context details - context.to = this; - context.index = context.target?this.indexById(context.target):this.dataCount(); - context.new_id = dhtmlx.uid(); - if (!this.callEvent("onBeforeDrop",[context,e])) return; - //moving - if (context.from==context.to){ - this.move(context.source,context.index); //inside the same component - } else { - if (context.from) //from different component - context.from.move(context.source,context.index,context.to,context.new_id); - else - dhtmlx.error("Unsopported d-n-d combination"); - } - this.callEvent("onAfterDrop",[context,e]); - }, - //called when drag action started - onDrag:function(s,e){ - var id = this.locate(e); - var list = [id]; - if (id){ - if (this.getSelected){ //has selection model - var selection = this.getSelected(); //if dragged item is one of selected - drag all selected - if (dhtmlx.PowerArray.find.call(selection,id)!=-1) - list = selection; - } - //save initial dnd params - var context = dhtmlx.DragControl._drag_context= { source:list, start:id }; - context.from = this; - - if (this.callEvent("onBeforeDrag",[context,e])) - return context.html||this._toHTML(this.get(id)); //set drag representation - } - return null; - } - //returns dnd context object - /*getDragContext:function(){ - return dhtmlx.DragControl._drag_context; - }*/ -}; - - -/* DHX DEPEND FROM FILE 'edit.js'*/ - - -/* - Behavior:EditAbility - enables item operation for the items - - @export - edit - stopEdit -*/ -dhtmlx.EditAbility={ - _init: function(id){ - this._edit_id = null; //id of active item - this._edit_bind = null; //array of input-to-property bindings - - dhtmlx.assert(this.data,"EditAbility :: Component doesn't have DataStore"); - dhtmlx.assert(this._locateHTML,"EditAbility :: Component doesn't have RenderStack"); - - this.attachEvent("onEditKeyPress",function(code, ctrl, shift){ - if (code == 13 && !shift) - this.stopEdit(); - else if (code == 27) - this.stopEdit(true); - }); - this.attachEvent("onBeforeRender", function(){ - this.stopEdit(); - }); - - }, - //returns id of item in edit state, or null if none - isEdit:function(){ - return this._edit_id; - }, - //switch item to the edit state - edit:function(id){ - //edit operation can be blocked from editStop - when previously active editor can't be closed - if (this.stopEdit(false, id)){ - if (!this.callEvent("onBeforeEditStart",[id])) - return; - var data = this.data.get(id); - //object with custom templates is not editable - if (data.$template) return; - - //item must have have "edit" template - data.$template="edit"; - this.data.refresh(id); - this._edit_id = id; - - //parse templates and save input-property mapping - this._save_binding(id); - this._edit_bind(true,data); //fill inputs with data - - this.callEvent("onAfterEditStart",[id]); - } - }, - //close currently active editor - stopEdit:function(mode, if_not_id){ - if (!this._edit_id) return true; - if (this._edit_id == if_not_id) return false; - - var values = {}; - if (!mode) this._edit_bind(false,values); - else values = null; - - if (!this.callEvent("onBeforeEditStop",[this._edit_id, values])) - return false; - - var data=this.data.get(this._edit_id); - data.$template=null; //set default template - - //load data from inputs - //if mode is set - close editor without saving - if (!mode) this._edit_bind(false,data); - var id = this._edit_id; - this._edit_bind=this._edit_id=null; - - this.data.refresh(id); - - this.callEvent("onAfterEditStop",[id, values]); - return true; - }, - //parse template and save inputs which need to be mapped to the properties - _save_binding:function(id){ - var cont = this._locateHTML(id); - var code = ""; //code of prop-to-inp method - var back_code = ""; //code of inp-to-prop method - var bind_elements = []; //binded inputs - if (cont){ - var elements = cont.getElementsByTagName("*"); //all sub-tags - var bind = ""; - for (var i=0; i < elements.length; i++) { - if(elements[i].nodeType==1 && (bind = elements[i].getAttribute("bind"))){ //if bind present - //code for element accessing - code+="els["+bind_elements.length+"].value="+bind+";"; - back_code+=bind+"=els["+bind_elements.length+"].value;"; - bind_elements.push(elements[i]); - //clear block-selection for the input - elements[i].className+=" dhx_allow_selection"; - elements[i].onselectstart=this._block_native; - } - } - elements = null; - } - //create accessing methods, for later usage - code = Function("obj","els",code); - back_code = Function("obj","els",back_code); - this._edit_bind = function(mode,obj){ - if (mode){ //property to input - code(obj,bind_elements); - if (bind_elements.length && bind_elements[0].select) //focust first html input, if possible - bind_elements[0].select(); - } - else //input to propery - back_code(obj,bind_elements); - }; - }, - //helper - blocks event bubbling, used to stop click event on editor level - _block_native:function(e){ (e||event).cancelBubble=true; return true; } -}; - - -/* DHX DEPEND FROM FILE 'selection.js'*/ - - -/* - Behavior:SelectionModel - manage selection states - @export - select - unselect - selectAll - unselectAll - isSelected - getSelected -*/ -dhtmlx.SelectionModel={ - _init:function(){ - //collection of selected IDs - this._selected = dhtmlx.toArray(); - dhtmlx.assert(this.data, "SelectionModel :: Component doesn't have DataStore"); - - //remove selection from deleted items - this.data.attachEvent("onStoreUpdated",dhtmlx.bind(this._data_updated,this)); - this.data.attachEvent("onStoreLoad", dhtmlx.bind(this._data_loaded,this)); - this.data.attachEvent("onAfterFilter", dhtmlx.bind(this._data_filtered,this)); - this.data.attachEvent("onIdChange", dhtmlx.bind(this._id_changed,this)); - }, - _id_changed:function(oldid, newid){ - for (var i = this._selected.length - 1; i >= 0; i--) - if (this._selected[i]==oldid) - this._selected[i]=newid; - }, - _data_filtered:function(){ - for (var i = this._selected.length - 1; i >= 0; i--){ - if (this.data.indexById(this._selected[i]) < 0){ - var id = this._selected[i]; - var item = this.item(id); - if (item) - delete item.$selected; - this._selected.splice(i,1); - this.callEvent("onSelectChange",[id]); - } - } - }, - //helper - linked to onStoreUpdated - _data_updated:function(id,obj,type){ - if (type == "delete") //remove selection from deleted items - this._selected.remove(id); - else if (!this.data.dataCount() && !this.data._filter_order){ //remove selection for clearAll - this._selected = dhtmlx.toArray(); - } - }, - _data_loaded:function(){ - if (this._settings.select) - this.data.each(function(obj){ - if (obj.$selected) this.select(obj.id); - }, this); - }, - //helper - changes state of selection for some item - _select_mark:function(id,state,refresh){ - if (!refresh && !this.callEvent("onBeforeSelect",[id,state])) return false; - - this.data.item(id).$selected=state; //set custom mark on item - if (refresh) - refresh.push(id); //if we in the mass-select mode - collect all changed IDs - else{ - if (state) - this._selected.push(id); //then add to list of selected items - else - this._selected.remove(id); - this._refresh_selection(id); //othervise trigger repainting - } - - return true; - }, - //select some item - select:function(id,non_modal,continue_old){ - //if id not provide - works as selectAll - if (!id) return this.selectAll(); - - //allow an array of ids as parameter - if (id instanceof Array){ - for (var i=0; i < id.length; i++) - this.select(id[i], non_modal, continue_old); - return; - } - - if (!this.data.exists(id)){ - dhtmlx.error("Incorrect id in select command: "+id); - return; - } - - //block selection mode - if (continue_old && this._selected.length) - return this.selectAll(this._selected[this._selected.length-1],id); - //single selection mode - if (!non_modal && (this._selected.length!=1 || this._selected[0]!=id)){ - this._silent_selection = true; //prevent unnecessary onSelectChange event - this.unselectAll(); - this._silent_selection = false; - } - if (this.isSelected(id)){ - if (non_modal) this.unselect(id); //ctrl-selection of already selected item - return; - } - - if (this._select_mark(id,true)){ //if not blocked from event - this.callEvent("onAfterSelect",[id]); - } - }, - //unselect some item - unselect:function(id){ - //if id is not provided - unselect all items - if (!id) return this.unselectAll(); - if (!this.isSelected(id)) return; - - this._select_mark(id,false); - }, - //select all items, or all in defined range - selectAll:function(from,to){ - var range; - var refresh=[]; - - if (from||to) - range = this.data.getRange(from||null,to||null); //get limited set if bounds defined - else - range = this.data.getRange(); //get all items in other case - //in case of paging - it will be current page only - range.each(function(obj){ - var d = this.data.item(obj.id); - if (!d.$selected){ - this._selected.push(obj.id); - this._select_mark(obj.id,true,refresh); - } - return obj.id; - },this); - //repaint self - this._refresh_selection(refresh); - }, - //remove selection from all items - unselectAll:function(){ - var refresh=[]; - - this._selected.each(function(id){ - this._select_mark(id,false,refresh); //unmark selected only - },this); - - this._selected=dhtmlx.toArray(); - this._refresh_selection(refresh); //repaint self - }, - //returns true if item is selected - isSelected:function(id){ - return this._selected.find(id)!=-1; - }, - /* - returns ID of selected items or array of IDs - to make result predictable - as_array can be used, - with such flag command will always return an array - empty array in case when no item was selected - */ - getSelected:function(as_array){ - switch(this._selected.length){ - case 0: return as_array?[]:""; - case 1: return as_array?[this._selected[0]]:this._selected[0]; - default: return ([].concat(this._selected)); //isolation - } - }, - //detects which repainting mode need to be used - _is_mass_selection:function(obj){ - // crappy heuristic, but will do the job - return obj.length>100 || obj.length > this.data.dataCount/2; - }, - _refresh_selection:function(refresh){ - if (typeof refresh != "object") refresh = [refresh]; - if (!refresh.length) return; //nothing to repaint - - if (this._is_mass_selection(refresh)) - this.data.refresh(); //many items was selected - repaint whole view - else - for (var i=0; i < refresh.length; i++) //repaint only selected - this.render(refresh[i],this.data.item(refresh[i]),"update"); - - if (!this._silent_selection) - this.callEvent("onSelectChange",[refresh]); - } -}; - - - - -/* DHX DEPEND FROM FILE 'render.js'*/ - - -/* - Renders collection of items - Behavior uses plain strategy which suits only for relative small datasets - - @export - locate - show - render -*/ -dhtmlx.RenderStack={ - _init:function(){ - dhtmlx.assert(this.data,"RenderStack :: Component doesn't have DataStore"); - dhtmlx.assert(dhtmlx.Template,"dhtmlx.Template :: dhtmlx.Template is not accessible"); - - //used for temporary HTML elements - //automatically nulified during destruction - this._html = document.createElement("DIV"); - - }, - //convert single item to HTML text (templating) - _toHTML:function(obj){ - //check if related template exist - dhtmlx.assert((!obj.$template || this.type["template_"+obj.$template]),"RenderStack :: Unknown template: "+obj.$template); - - /*mm: fix allows to call the event for all objects (PropertySheet)*/ - //if (obj.$template) //custom template - this.callEvent("onItemRender",[obj]); - /* - $template property of item, can contain a name of custom template - */ - return this.type._item_start(obj,this.type)+(obj.$template?this.type["template_"+obj.$template]:this.type.template)(obj,this.type)+this.type._item_end; - }, - //convert item to HTML object (templating) - _toHTMLObject:function(obj){ - this._html.innerHTML = this._toHTML(obj); - return this._html.firstChild; - }, - //return html container by its ID - //can return undefined if container doesn't exists - _locateHTML:function(search_id){ - if (this._htmlmap) - return this._htmlmap[search_id]; - - //fill map if it doesn't created yet - this._htmlmap={}; - - var t = this._dataobj.childNodes; - for (var i=0; i < t.length; i++){ - var id = t[i].getAttribute(this._id); //get item's - if (id) - this._htmlmap[id]=t[i]; - } - //call locator again, when map is filled - return this._locateHTML(search_id); - }, - //return id of item from html event - locate:function(e){ return dhtmlx.html.locate(e,this._id); }, - //change scrolling state of top level container, so related item will be in visible part - show:function(id){ - var html = this._locateHTML(id); - if (html) - this._dataobj.scrollTop = html.offsetTop-this._dataobj.offsetTop; - }, - //update view after data update - //method calls low-level rendering for related items - //when called without parameters - all view refreshed - render:function(id,data,type,after){ - if (id){ - var cont = this._locateHTML(id); //get html element of updated item - switch(type){ - case "update": - //in case of update - replace existing html with updated one - if (!cont) return; - var t = this._htmlmap[id] = this._toHTMLObject(data); - dhtmlx.html.insertBefore(t, cont); - dhtmlx.html.remove(cont); - break; - case "delete": - //in case of delete - remove related html - if (!cont) return; - dhtmlx.html.remove(cont); - delete this._htmlmap[id]; - break; - case "add": - //in case of add - put new html at necessary position - var t = this._htmlmap[id] = this._toHTMLObject(data); - dhtmlx.html.insertBefore(t, this._locateHTML(this.data.next(id)), this._dataobj); - break; - case "move": - //in case of move , simulate add - delete sequence - //it will affect only rendering - this.render(id,data,"delete"); - this.render(id,data,"add"); - break; - default: - dhtmlx.error("Unknown render command: "+type); - break; - } - } else { - //full reset - if (this.callEvent("onBeforeRender",[this.data])){ - //getRange - returns all elements - this._dataobj.innerHTML = this.data.getRange().map(this._toHTML,this).join(""); - this._htmlmap = null; //clear map, it will be filled at first _locateHTML - } - } - this.callEvent("onAfterRender",[]); - }, - //pager attachs handler to onBeforeRender, to limit visible set of data - //data.min and data.max affect result of data.getRange() - pager_setter:function(value){ - this.attachEvent("onBeforeRender",function(){ - var s = this._settings.pager._settings; - //initial value of pager = -1, waiting for real value - if (s.page == -1) return false; - - this.data.min = s.page*s.size; //affect data.getRange - this.data.max = (s.page+1)*s.size-1; - return true; - }); - - var pager = new dhtmlx.ui.pager(value); - //update functor - var update = dhtmlx.bind(function(){ - this.data.refresh(); - },this); - - //when values of pager are changed - repaint view - pager.attachEvent("onRefresh",update); - //when something changed in DataStore - update configuration of pager - //during refresh - pager can call onRefresh method which will cause repaint of view - this.data.attachEvent("onStoreUpdated",function(data){ - var count = this.dataCount(); - if (count != pager._settings.count){ - pager._settings.count = count; - //set first page - //it is called first time after data loading - //until this time pager is not rendered - if (pager._settings.page == -1) - pager._settings.page = 0; - - pager.refresh(); - } - }); - return pager; - }, - //can be used only to trigger auto-height - height_setter:function(value){ - if (value=="auto"){ - //react on resize of window and self-repainting - this.attachEvent("onAfterRender",this._correct_height); - dhtmlx.event(window,"resize",dhtmlx.bind(this._correct_height,this)); - } - return value; - }, - //update height of container to remove inner scrolls - _correct_height:function(){ - //disable scrolls - if we are using auto-height , they are not necessary - this._dataobj.style.overflow="hidden"; - //set min. size, so we can fetch real scroll height - this._dataobj.style.height = "1px"; - - var t = this._dataobj.scrollHeight; - this._dataobj.style.height = t+"px"; - // FF has strange issue with height caculation - // it incorrectly detects scroll height when only small part of item is invisible - if (dhtmlx._isFF){ - var t2 = this._dataobj.scrollHeight; - if (t2!=t) - this._dataobj.style.height = t2+"px"; - } - this._obj.style.height = this._dataobj.style.height; - }, - //get size of single item - _getDimension:function(){ - var t = this.type; - var d = (t.border||0)+(t.padding||0)*2+(t.margin||0)*2; - //obj.x - widht, obj.y - height - return {x : t.width+d, y: t.height+d }; - }, - //x_count propery sets width of container, so N items can be placed on single line - x_count_setter:function(value){ - var dim = this._getDimension(); - var scrfix = dhtmlx.$customScroll ? 0 : 18; - this._dataobj.style.width = dim.x*value+(this._settings.height != "auto" ? scrfix : 0)+"px"; - return value; - }, - //x_count propery sets height of container, so N items a visible in one column - //column will have scroll if real count of lines is greater than N - y_count_setter:function(value){ - var dim = this._getDimension(); - this._dataobj.style.height = dim.y*value+"px"; - return value; - } -}; - - -/* DHX DEPEND FROM FILE 'virtual_render.js'*/ - - -/* - Renders collection of items - Always shows y-scroll - Can be used with huge datasets - - @export - show - render -*/ - -/*DHX:Depend render.js*/ - -dhtmlx.VirtualRenderStack={ - _init:function(){ - dhtmlx.assert(this.render,"VirtualRenderStack :: Object must use RenderStack first"); - - this._htmlmap={}; //init map of rendered elements - //in this mode y-scroll is always visible - //it simplifies calculations a lot - this._dataobj.style.overflowY="scroll"; - - //we need to repaint area each time when view resized or scrolling state is changed - dhtmlx.event(this._dataobj,"scroll",dhtmlx.bind(this._render_visible_rows,this)); - dhtmlx.event(window,"resize",dhtmlx.bind(function(){ this.render(); },this)); - - //here we store IDs of elemenst which doesn't loadede yet, but need to be rendered - this.data._unrendered_area=[]; - this.data.getIndexRange=this._getIndexRange; - }, - //return html object by item's ID. Can return null for not-rendering element - _locateHTML:function(search_id){ - //collection was filled in _render_visible_rows - return this._htmlmap[search_id]; - }, - //adjust scrolls to make item visible - show:function(id){ - range = this._getVisibleRange(); - var ind = this.data.indexById(id); - //we can't use DOM method for not-rendered-yet items, so fallback to pure math - var dy = Math.floor(ind/range._dx)*range._y; - this._dataobj.scrollTop = dy; - }, - _getIndexRange:function(from,to){ - if (to !== 0) - to=Math.min((to||Infinity),this.dataCount()-1); - - var ret=dhtmlx.toArray(); //result of method is rich-array - for (var i=(from||0); i <= to; i++){ - var item = this.item(this.order[i]); - if(this.order.length>i){ - if (!item){ - this.order[i]=dhtmlx.uid(); - item = { id:this.order[i], $template:"loading" }; - this._unrendered_area.push(this.order[i]); //store item ID for later loading - } else if (item.$template == "loading") - this._unrendered_area.push(this.order[i]); - ret.push(item); - } - - } - return ret; - }, - //repain self after changes in DOM - //for add, delete, move operations - render is delayed, to minify performance impact - render:function(id,data,type,after){ - if (id){ - var cont = this._locateHTML(id); //old html element - switch(type){ - case "update": - if (!cont) return; - //replace old with new - var t = this._htmlmap[id] = this._toHTMLObject(data); - dhtmlx.html.insertBefore(t, cont); - dhtmlx.html.remove(cont); - break; - default: // "move", "add", "delete" - /* - for all above operations, full repainting is necessary - but from practical point of view, we need only one repainting per thread - code below initiates double-thread-rendering trick - */ - this._render_delayed(); - break; - } - } else { - //full repainting - if (this.callEvent("onBeforeRender",[this.data])){ - this._htmlmap = {}; //nulify links to already rendered elements - this._render_visible_rows(null, true); - // clear delayed-rendering, because we already have repaint view - this._wait_for_render = false; - this.callEvent("onAfterRender",[]); - } - } - }, - //implement double-thread-rendering pattern - _render_delayed:function(){ - //this flag can be reset from outside, to prevent actual rendering - if (this._wait_for_render) return; - this._wait_for_render = true; - - window.setTimeout(dhtmlx.bind(function(){ - this.render(); - },this),1); - }, - //create empty placeholders, which will take space before rendering - _create_placeholder:function(height){ - var node = document.createElement("DIV"); - node.className = "dhxdataview_placeholder"; - node.style.cssText = "height:"+height+"px; width:100%; overflow:hidden;"; - return node; - }, - /* - Methods get coordinatest of visible area and checks that all related items are rendered - If, during rendering, some not-loaded items was detected - extra data loading is initiated. - reset - flag, which forces clearing of previously rendered elements - */ - _render_visible_rows:function(e,reset){ - this.data._unrendered_area=[]; //clear results of previous calls - - var viewport = this._getVisibleRange(); //details of visible view - if (!this._dataobj.firstChild || reset){ //create initial placeholder - for all view space - this._dataobj.innerHTML=""; - this._dataobj.appendChild(this._create_placeholder(viewport._max)); - //register placeholder in collection - this._htmlrows = [this._dataobj.firstChild]; - } - - /* - virtual rendering breaks all view on rows, because we know widht of item - we can calculate how much items can be placed on single row, and knowledge - of that, allows to calculate count of such rows - - each time after scrolling, code iterate through visible rows and render items - in them, if they are not rendered yet - - both rendered rows and placeholders are registered in _htmlrows collection - */ - - //position of first visible row - var t = Math.max(viewport._from, 0); - //max can be 0, in case of 1 row per page - var max_row = (this.data.max || this.data.max === 0)?this.data.max:Infinity; - - while(t<=viewport._height){ //loop for all visible rows - //skip already rendered rows - while(this._htmlrows[t] && this._htmlrows[t]._filled && t<=viewport._height){ - t++; - } - //go out if all is rendered - if (t>viewport._height) break; - - //locate nearest placeholder - var holder = t; - while (!this._htmlrows[holder]) holder--; - var holder_row = this._htmlrows[holder]; - - //render elements in the row - var base = t*viewport._dx+(this.data.min||0); //index of rendered item - if (base > max_row) break; //check that row is in virtual bounds, defined by paging - var nextpoint = Math.min(base+viewport._dx-1,max_row); - var node = this._create_placeholder(viewport._y); - //all items in rendered row - var range = this.data.getIndexRange(base, nextpoint); - if (!range.length) break; - - node.innerHTML=range.map(this._toHTML,this).join(""); //actual rendering - for (var i=0; i < range.length; i++) //register all new elements for later usage in _locateHTML - this._htmlmap[this.data.idByIndex(base+i)]=node.childNodes[i]; - - //correct placeholders - var h = parseInt(holder_row.style.height,10); - var delta = (t-holder)*viewport._y; - var delta2 = (h-delta-viewport._y); - - //add new row to the DOOM - dhtmlx.html.insertBefore(node,delta?holder_row.nextSibling:holder_row,this._dataobj); - this._htmlrows[t]=node; - node._filled = true; - - /* - if new row is at start of placeholder - decrease placeholder's height - else if new row takes whole placeholder - remove placeholder from DOM - else - we are inserting row in the middle of existing placeholder - decrease height of existing one, and add one more, - before the newly added row - */ - if (delta <= 0 && delta2>0){ - holder_row.style.height = delta2+"px"; - this._htmlrows[t+1] = holder_row; - } else { - if (delta<0) - dhtmlx.html.remove(holder_row); - else - holder_row.style.height = delta+"px"; - if (delta2>0){ - var new_space = this._htmlrows[t+1] = this._create_placeholder(delta2); - dhtmlx.html.insertBefore(new_space,node.nextSibling,this._dataobj); - } - } - - - t++; - } - //when all done, check for non-loaded items - if (this.data._unrendered_area.length){ - //we have some data to load - //detect borders - var from = this.indexById(this.data._unrendered_area[0]); - var to = this.indexById(this.data._unrendered_area.pop())+1; - if (to>from){ - //initiate data loading - if (!this.callEvent("onDataRequest",[from, to-from])) return false; - dhtmlx.assert(this.data.feed,"Data feed is missed"); - this.data.feed.call(this,from,to-from); - } - } - if (dhtmlx._isIE){ - var viewport2 = this._getVisibleRange(); - if (viewport2._from != viewport._from) - this._render_visible_rows(); - } - }, - //calculates visible view - _getVisibleRange:function(){ - var scrfix = dhtmlx.$customScroll ? 0 : 18; - var top = this._dataobj.scrollTop; - var width = this._dataobj.scrollWidth; // opera returns zero scrollwidth for the empty object - var height = this._dataobj.offsetHeight; // 18 - scroll - //size of single item - var t = this.type; - var dim = this._getDimension(); - - var dx = Math.floor(width/dim.x)||1; //at least single item per row - - var min = Math.floor(top/dim.y); //index of first visible row - var dy = Math.ceil((height+top)/dim.y)-1; //index of last visible row - //total count of items, paging can affect this math - var count = this.data.max?(this.data.max-this.data.min):this.data.dataCount(); - var max = Math.ceil(count/dx)*dim.y; //size of view in rows - - return { _from:min, _height:dy, _top:top, _max:max, _y:dim.y, _dx:dx}; - } -}; - - - -/* DHX INITIAL FILE 'C:\http\legacy/dhtmlxCore/sources//dataview.js'*/ - - -/* - UI:DataView -*/ - -/*DHX:Depend dataview.css*/ -/*DHX:Depend types*/ -/*DHX:Depend ../imgs/dataview*/ - -/*DHX:Depend compatibility_layout.js*/ -/*DHX:Depend compatibility_drag.js*/ - -/*DHX:Depend datastore.js*/ -/*DHX:Depend load.js*/ /*DHX:Depend virtual_render.js*/ /*DHX:Depend selection.js*/ -/*DHX:Depend mouse.js*/ /*DHX:Depend key.js*/ /*DHX:Depend edit.js*/ -/*DHX:Depend drag.js*/ /*DHX:Depend dataprocessor_hook.js*/ /*DHX:Depend autotooltip.js*/ -/*DHX:Depend pager.js*/ /*DHX:Depend destructor.js*/ /*DHX:Depend dhtmlx.js*/ -/*DHX:Depend config.js*/ - - - - -//container - can be a HTML container or it's ID -dhtmlXDataView = function(container){ - //next data is only for debug purposes - this.name = "DataView"; //name of component - - if (dhtmlx.assert_enabled()) this._assert(); - - //enable configuration - dhtmlx.extend(this, dhtmlx.Settings); - this._parseContainer(container,"dhx_dataview"); //assigns parent container - - - - //behaviors - dhtmlx.extend(this, dhtmlx.AtomDataLoader); - dhtmlx.extend(this, dhtmlx.DataLoader); //includes creation of DataStore - dhtmlx.extend(this, dhtmlx.EventSystem); - dhtmlx.extend(this, dhtmlx.RenderStack); - dhtmlx.extend(this, dhtmlx.SelectionModel); - dhtmlx.extend(this, dhtmlx.MouseEvents); - dhtmlx.extend(this, dhtmlx.KeyEvents); - dhtmlx.extend(this, dhtmlx.EditAbility); - dhtmlx.extend(this, dhtmlx.DataMove); - dhtmlx.extend(this, dhtmlx.DragItem); - dhtmlx.extend(this, dhtmlx.DataProcessor); - dhtmlx.extend(this, dhtmlx.AutoTooltip); - dhtmlx.extend(this, dhtmlx.Destruction); - - - //render self , each time when data is updated - this.data.attachEvent("onStoreUpdated",dhtmlx.bind(function(){ - this.render.apply(this,arguments); - },this)); - - //default settings - this._parseSettings(container,{ - drag:false, - edit:false, - select:"multiselect", //multiselection is enabled by default - type:"default" - }); - - //in case of auto-height we use plain rendering - if (this._settings.height!="auto"&&!this._settings.renderAll) - dhtmlx.extend(this, dhtmlx.VirtualRenderStack); //extends RenderStack behavior - - //map API of DataStore on self - this.data.provideApi(this,true); - - if (this.config.autowidth){ - this.attachEvent("onBeforeRender", function(){ - this.type.width = Math.floor((this._dataobj.scrollWidth) / (this.config.autowidth*1 || 1))-this.type.padding*2 - this.type.margin*2 - this.type.border*2; - this.type._item_start = dhtmlx.Template.fromHTML(this.template_item_start(this.type)); - this.type._item_end = this.template_item_end(this.type); - }); - dhtmlx.event(window, "resize", function(){ - this.refresh(); - }, this) - } - - if (dhtmlx.$customScroll) - dhtmlx.CustomScroll.enable(this); -}; -dhtmlXDataView.prototype={ - bind:function(){ - dhtmlx.BaseBind.legacyBind.apply(this, arguments); - }, - sync:function(){ - dhtmlx.BaseBind.legacySync.apply(this, arguments); - }, - /* - Called each time when dragIn or dragOut situation occurs - context - drag context object - ev - native event - */ - dragMarker:function(context,ev){ - //get HTML element by item ID - //can be null - when item is not rendered yet - var el = this._locateHTML(context.target); - - //ficon and some other types share common bg marker - if (this.type.drag_marker){ - if (this._drag_marker){ - //clear old drag marker position - this._drag_marker.style.backgroundImage=""; - this._drag_marker.style.backgroundRepeat=""; - } - - // if item already rendered - if (el) { - //show drag marker - el.style.backgroundImage="url("+(dhtmlx.image_path||"")+this.type.drag_marker+")"; - el.style.backgroundRepeat="no-repeat"; - this._drag_marker = el; - } - } - - //auto-scroll during d-n-d, only if related option is enabled - if (el && this._settings.auto_scroll){ - //maybe it can be moved to the drag behavior - var dy = el.offsetTop; - var dh = el.offsetHeight; - var py = this._obj.scrollTop; - var ph = this._obj.offsetHeight; - //scroll up or down is mouse already pointing on top|bottom visible item - if (dy-dh >= 0 && dy-dh*0.75 < py) - py = Math.max(dy-dh, 0); - else if (dy+dh/0.75 > py+ph) - py = py+dh; - - this._obj.scrollTop = py; - } - return true; - }, - //attribute , which will be used for ID storing - _id:"dhx_f_id", - //css class to action map, for onclick event - on_click:{ - dhx_dataview_item:function(e,id){ - //click on item - if (this.stopEdit(false,id)){ - if (this._settings.select){ - if (this._settings.select=="multiselect") - this.select(id, e.ctrlKey||e.metaKey, e.shiftKey); //multiselection - else - this.select(id); - } - } - } - }, - //css class to action map, for dblclick event - on_dblclick:{ - dhx_dataview_item:function(e,id){ - //dblclick on item - if (this._settings.edit) - this.edit(id); //edit it! - } - }, - //css class to action map, for mousemove event - on_mouse_move:{ - }, - types:{ - "default":{ - css:"default", - //normal state of item - template:dhtmlx.Template.fromHTML("
                    {obj.text}
                    "), - //template for edit state of item - template_edit:dhtmlx.Template.fromHTML("
                    "), - //in case of dyn. loading - temporary spacer - template_loading:dhtmlx.Template.fromHTML("
                    Loading...
                    "), - width:210, - height:115, - margin:0, - padding:10, - border:1 - } - }, - template_item_start:dhtmlx.Template.fromHTML("
                    "), - template_item_end:dhtmlx.Template.fromHTML("
                    ") -}; - -dhtmlx.compat("layout"); -if (typeof(window.dhtmlXCellObject) != "undefined") { - - dhtmlXCellObject.prototype.attachDataView = function(conf) { - - this.callEvent("_onBeforeContentAttach",["dataview"]); - - var obj = document.createElement("DIV"); - obj.style.width = "100%"; - obj.style.height = "100%"; - obj.style.position = "relative"; - obj.style.overflow = "hidden"; - this._attachObject(obj); - - if (typeof(conf) == "undefined") conf = {}; - obj.id = "DataViewObject_"+ dhtmlx.uid(); - conf.container = obj.id; - conf.skin = this.conf.skin; - - - this.dataType = "dataview"; - this.dataObj = new dhtmlXDataView(conf); - - - this.dataObj.setSizes = function(){ - this.render(); - } - - obj = null; - - this.callEvent("_onContentAttach",[]); - - return this.dataObj; - }; - -} - diff --git a/themes/sources/dhtmlxDataView/codebase/imgs/dhxdataview_material/dnd_selector.png b/themes/sources/dhtmlxDataView/codebase/imgs/dhxdataview_material/dnd_selector.png deleted file mode 100644 index 5d8e9b4..0000000 Binary files a/themes/sources/dhtmlxDataView/codebase/imgs/dhxdataview_material/dnd_selector.png and /dev/null differ diff --git a/themes/sources/dhtmlxDataView/codebase/imgs/dhxdataview_material/dnd_selector_cells.png b/themes/sources/dhtmlxDataView/codebase/imgs/dhxdataview_material/dnd_selector_cells.png deleted file mode 100644 index 63da638..0000000 Binary files a/themes/sources/dhtmlxDataView/codebase/imgs/dhxdataview_material/dnd_selector_cells.png and /dev/null differ diff --git a/themes/sources/dhtmlxDataView/codebase/imgs/dhxdataview_material/dnd_selector_lines.png b/themes/sources/dhtmlxDataView/codebase/imgs/dhxdataview_material/dnd_selector_lines.png deleted file mode 100644 index 576ecfd..0000000 Binary files a/themes/sources/dhtmlxDataView/codebase/imgs/dhxdataview_material/dnd_selector_lines.png and /dev/null differ diff --git a/themes/sources/dhtmlxDataView/codebase/imgs/dhxdataview_material/marker.png b/themes/sources/dhtmlxDataView/codebase/imgs/dhxdataview_material/marker.png deleted file mode 100644 index ceec125..0000000 Binary files a/themes/sources/dhtmlxDataView/codebase/imgs/dhxdataview_material/marker.png and /dev/null differ diff --git a/themes/sources/dhtmlxDataView/codebase/imgs/dhxdataview_skyblue/dnd_selector.png b/themes/sources/dhtmlxDataView/codebase/imgs/dhxdataview_skyblue/dnd_selector.png deleted file mode 100644 index 5d8e9b4..0000000 Binary files a/themes/sources/dhtmlxDataView/codebase/imgs/dhxdataview_skyblue/dnd_selector.png and /dev/null differ diff --git a/themes/sources/dhtmlxDataView/codebase/imgs/dhxdataview_skyblue/dnd_selector_cells.png b/themes/sources/dhtmlxDataView/codebase/imgs/dhxdataview_skyblue/dnd_selector_cells.png deleted file mode 100644 index 63da638..0000000 Binary files a/themes/sources/dhtmlxDataView/codebase/imgs/dhxdataview_skyblue/dnd_selector_cells.png and /dev/null differ diff --git a/themes/sources/dhtmlxDataView/codebase/imgs/dhxdataview_skyblue/dnd_selector_lines.png b/themes/sources/dhtmlxDataView/codebase/imgs/dhxdataview_skyblue/dnd_selector_lines.png deleted file mode 100644 index 576ecfd..0000000 Binary files a/themes/sources/dhtmlxDataView/codebase/imgs/dhxdataview_skyblue/dnd_selector_lines.png and /dev/null differ diff --git a/themes/sources/dhtmlxDataView/codebase/imgs/dhxdataview_skyblue/marker.png b/themes/sources/dhtmlxDataView/codebase/imgs/dhxdataview_skyblue/marker.png deleted file mode 100644 index ceec125..0000000 Binary files a/themes/sources/dhtmlxDataView/codebase/imgs/dhxdataview_skyblue/marker.png and /dev/null differ diff --git a/themes/sources/dhtmlxDataView/codebase/imgs/dhxdataview_terrace/dnd_selector.png b/themes/sources/dhtmlxDataView/codebase/imgs/dhxdataview_terrace/dnd_selector.png deleted file mode 100644 index 5d8e9b4..0000000 Binary files a/themes/sources/dhtmlxDataView/codebase/imgs/dhxdataview_terrace/dnd_selector.png and /dev/null differ diff --git a/themes/sources/dhtmlxDataView/codebase/imgs/dhxdataview_terrace/dnd_selector_cells.png b/themes/sources/dhtmlxDataView/codebase/imgs/dhxdataview_terrace/dnd_selector_cells.png deleted file mode 100644 index 63da638..0000000 Binary files a/themes/sources/dhtmlxDataView/codebase/imgs/dhxdataview_terrace/dnd_selector_cells.png and /dev/null differ diff --git a/themes/sources/dhtmlxDataView/codebase/imgs/dhxdataview_terrace/dnd_selector_lines.png b/themes/sources/dhtmlxDataView/codebase/imgs/dhxdataview_terrace/dnd_selector_lines.png deleted file mode 100644 index 576ecfd..0000000 Binary files a/themes/sources/dhtmlxDataView/codebase/imgs/dhxdataview_terrace/dnd_selector_lines.png and /dev/null differ diff --git a/themes/sources/dhtmlxDataView/codebase/imgs/dhxdataview_terrace/marker.png b/themes/sources/dhtmlxDataView/codebase/imgs/dhxdataview_terrace/marker.png deleted file mode 100644 index ceec125..0000000 Binary files a/themes/sources/dhtmlxDataView/codebase/imgs/dhxdataview_terrace/marker.png and /dev/null differ diff --git a/themes/sources/dhtmlxDataView/codebase/imgs/dhxdataview_web/dnd_selector.png b/themes/sources/dhtmlxDataView/codebase/imgs/dhxdataview_web/dnd_selector.png deleted file mode 100644 index 5d8e9b4..0000000 Binary files a/themes/sources/dhtmlxDataView/codebase/imgs/dhxdataview_web/dnd_selector.png and /dev/null differ diff --git a/themes/sources/dhtmlxDataView/codebase/imgs/dhxdataview_web/dnd_selector_cells.png b/themes/sources/dhtmlxDataView/codebase/imgs/dhxdataview_web/dnd_selector_cells.png deleted file mode 100644 index 63da638..0000000 Binary files a/themes/sources/dhtmlxDataView/codebase/imgs/dhxdataview_web/dnd_selector_cells.png and /dev/null differ diff --git a/themes/sources/dhtmlxDataView/codebase/imgs/dhxdataview_web/dnd_selector_lines.png b/themes/sources/dhtmlxDataView/codebase/imgs/dhxdataview_web/dnd_selector_lines.png deleted file mode 100644 index 576ecfd..0000000 Binary files a/themes/sources/dhtmlxDataView/codebase/imgs/dhxdataview_web/dnd_selector_lines.png and /dev/null differ diff --git a/themes/sources/dhtmlxDataView/codebase/imgs/dhxdataview_web/marker.png b/themes/sources/dhtmlxDataView/codebase/imgs/dhxdataview_web/marker.png deleted file mode 100644 index ceec125..0000000 Binary files a/themes/sources/dhtmlxDataView/codebase/imgs/dhxdataview_web/marker.png and /dev/null differ diff --git a/themes/sources/dhtmlxDataView/codebase/skins/dhtmlxdataview_dhx_skyblue.css b/themes/sources/dhtmlxDataView/codebase/skins/dhtmlxdataview_dhx_skyblue.css deleted file mode 100644 index d3d29d3..0000000 --- a/themes/sources/dhtmlxDataView/codebase/skins/dhtmlxdataview_dhx_skyblue.css +++ /dev/null @@ -1,115 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: dhx_skyblue - include extra file: skins/dhx_skyblue.less -*/ - -.dhx_tooltip { - display: none; - position: absolute; - font-family: Tahoma, Helvetica; - color: #626262; - font-size: 11px; - z-index: 10000; - padding: 4px 10px 4px 10px; - border: 1px solid #fff; - border-radius: 3px; - -moz-border-radius: 3px; - -webkit-border-radius: 3px; - -moz-box-shadow: 0 0 3px #d9d9d9; - -webkit-box-shadow: 0 0 3px #d9d9d9; - text-shadow: 0px 1px 1px #fff; - box-shadow: 0 0 5px #d9d9d9; - background: -webkit-gradient(linear,left top,left bottom,color-stop(0,#efefef),color-stop(0.5,#f6f6f6),color-stop(1,#efefef)); - background: -o-linear-gradient(#efefef 0%,#f6f6f6 50%,#efefef 100%); - background: -ms-linear-gradient(#efefef 0%,#f6f6f6 50%,#efefef 100%); - background: -moz-linear-gradient(#efefef 0%,#f6f6f6 50%,#efefef 100%); - background: #efefef; -} -.dhx_noselect { - -moz-user-select: none; - -moz-user-select: -moz-none; - -khtml-user-select: none; -} -.dhx_allow_selection { - -moz-user-select: text; - -user-select: text; -} -.dhx_dataview { - overflow-y: auto; - -webkit-overflow-scrolling: touch; - overflow-x: hidden; - -moz-user-select: none; - -moz-user-select: -moz-none; - -khtml-select: none; -} -.dhx_drag_zone { - position: absolute; - border: 1px solid #A4BED4; - z-index: 8000; - -moz-box-shadow: 5px 5px 5px #888; - -khtml-box-shadow: 5px 5px 5px #888; -} -.dhx_dataview_default_item, -.dhx_dataview_default_item_selected { - cursor: pointer; - background-color: #ffffff; -} -.dhx_dataview .dhx_dataview_default_item, -.dhx_dataview .dhx_dataview_default_item_selected { - border-right: 1px solid #a4bed4; - border-bottom: 1px dotted #a4bed4; -} -.dhx_dataview_default_item_selected { - background-color: #a1ceed; - color: #b5deff; - border-color: #a1ceed; - background-repeat: repeat-x; -} -.dhx_dataview_item { - font-family: Tahoma, Helvetica; - font-size: 11px; - color: black; -} -.dhx_dataview_item .dhx_strong { - font-weight: bold; - display: block; - padding-bottom: 6px; -} -.dhx_dataview_default_item_selected .dhx_light { - color: #C3C3C3; -} -.dhx_dataview_item .dhx_light { - color: #919191; -} -.dhx_drag_over { - background-color: #faf768; - background-image: url("../imgs/dhxdataview_skyblue/marker.png"); - background-repeat: repeat-x; -} -.dhx_pager_item, -.dhx_pager_item_selected { - float: left; - text-align: center; - height: 16px; - font-family: Tahoma, Helvetica; - font-size: 10pt; - border: 1px solid gray; - padding: 2px 4px; - margin-left: 5px; - cursor: pointer; - background-color: white; -} -.dhx_pager_item_selected { - background-color: lightgrey; - color: white; - cursor: default; - font-weight: bold; -} diff --git a/themes/sources/dhtmlxDataView/codebase/skins/dhtmlxdataview_dhx_terrace.css b/themes/sources/dhtmlxDataView/codebase/skins/dhtmlxdataview_dhx_terrace.css deleted file mode 100644 index 8772539..0000000 --- a/themes/sources/dhtmlxDataView/codebase/skins/dhtmlxdataview_dhx_terrace.css +++ /dev/null @@ -1,115 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: dhx_terrace - include extra file: skins/dhx_terrace.less -*/ - -.dhx_tooltip { - display: none; - position: absolute; - font-family: Arial, Helvetica; - color: #626262; - font-size: 13px; - z-index: 10000; - padding: 4px 10px 4px 10px; - border: 1px solid #fff; - border-radius: 3px; - -moz-border-radius: 3px; - -webkit-border-radius: 3px; - -moz-box-shadow: 0 0 3px #d9d9d9; - -webkit-box-shadow: 0 0 3px #d9d9d9; - text-shadow: 0px 1px 1px #fff; - box-shadow: 0 0 5px #d9d9d9; - background: -webkit-gradient(linear,left top,left bottom,color-stop(0,#efefef),color-stop(0.5,#f6f6f6),color-stop(1,#efefef)); - background: -o-linear-gradient(#efefef 0%,#f6f6f6 50%,#efefef 100%); - background: -ms-linear-gradient(#efefef 0%,#f6f6f6 50%,#efefef 100%); - background: -moz-linear-gradient(#efefef 0%,#f6f6f6 50%,#efefef 100%); - background: #efefef; -} -.dhx_noselect { - -moz-user-select: none; - -moz-user-select: -moz-none; - -khtml-user-select: none; -} -.dhx_allow_selection { - -moz-user-select: text; - -user-select: text; -} -.dhx_dataview { - overflow-y: auto; - -webkit-overflow-scrolling: touch; - overflow-x: hidden; - -moz-user-select: none; - -moz-user-select: -moz-none; - -khtml-select: none; -} -.dhx_drag_zone { - position: absolute; - border: 1px solid #A4BED4; - z-index: 8000; - -moz-box-shadow: 5px 5px 5px #888; - -khtml-box-shadow: 5px 5px 5px #888; -} -.dhx_dataview_default_item, -.dhx_dataview_default_item_selected { - cursor: pointer; - background-color: #ffffff; -} -.dhx_dataview .dhx_dataview_default_item, -.dhx_dataview .dhx_dataview_default_item_selected { - border-right: 1px solid #cccccc; - border-bottom: 1px dotted #cccccc; -} -.dhx_dataview_default_item_selected { - background-color: #fff3a1; - color: #fff3a1; - border-color: #fff3a1; - background-repeat: repeat-x; -} -.dhx_dataview_item { - font-family: Arial, Helvetica; - font-size: 13px; - color: black; -} -.dhx_dataview_item .dhx_strong { - font-weight: bold; - display: block; - padding-bottom: 6px; -} -.dhx_dataview_default_item_selected .dhx_light { - color: #C3C3C3; -} -.dhx_dataview_item .dhx_light { - color: #919191; -} -.dhx_drag_over { - background-color: #faf768; - background-image: url("../imgs/dhxdataview_terrace/marker.png"); - background-repeat: repeat-x; -} -.dhx_pager_item, -.dhx_pager_item_selected { - float: left; - text-align: center; - height: 16px; - font-family: Arial, Helvetica; - font-size: 10pt; - border: 1px solid gray; - padding: 2px 4px; - margin-left: 5px; - cursor: pointer; - background-color: white; -} -.dhx_pager_item_selected { - background-color: lightgrey; - color: white; - cursor: default; - font-weight: bold; -} diff --git a/themes/sources/dhtmlxDataView/codebase/skins/dhtmlxdataview_dhx_web.css b/themes/sources/dhtmlxDataView/codebase/skins/dhtmlxdataview_dhx_web.css deleted file mode 100644 index 380fe5d..0000000 --- a/themes/sources/dhtmlxDataView/codebase/skins/dhtmlxdataview_dhx_web.css +++ /dev/null @@ -1,115 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: dhx_web - include extra file: skins/dhx_web.less -*/ - -.dhx_tooltip { - display: none; - position: absolute; - font-family: Tahoma, Helvetica; - color: #626262; - font-size: 12px; - z-index: 10000; - padding: 4px 10px 4px 10px; - border: 1px solid #fff; - border-radius: 3px; - -moz-border-radius: 3px; - -webkit-border-radius: 3px; - -moz-box-shadow: 0 0 3px #d9d9d9; - -webkit-box-shadow: 0 0 3px #d9d9d9; - text-shadow: 0px 1px 1px #fff; - box-shadow: 0 0 5px #d9d9d9; - background: -webkit-gradient(linear,left top,left bottom,color-stop(0,#efefef),color-stop(0.5,#f6f6f6),color-stop(1,#efefef)); - background: -o-linear-gradient(#efefef 0%,#f6f6f6 50%,#efefef 100%); - background: -ms-linear-gradient(#efefef 0%,#f6f6f6 50%,#efefef 100%); - background: -moz-linear-gradient(#efefef 0%,#f6f6f6 50%,#efefef 100%); - background: #efefef; -} -.dhx_noselect { - -moz-user-select: none; - -moz-user-select: -moz-none; - -khtml-user-select: none; -} -.dhx_allow_selection { - -moz-user-select: text; - -user-select: text; -} -.dhx_dataview { - overflow-y: auto; - -webkit-overflow-scrolling: touch; - overflow-x: hidden; - -moz-user-select: none; - -moz-user-select: -moz-none; - -khtml-select: none; -} -.dhx_drag_zone { - position: absolute; - border: 1px solid #A4BED4; - z-index: 8000; - -moz-box-shadow: 5px 5px 5px #888; - -khtml-box-shadow: 5px 5px 5px #888; -} -.dhx_dataview_default_item, -.dhx_dataview_default_item_selected { - cursor: pointer; - background-color: #ffffff; -} -.dhx_dataview .dhx_dataview_default_item, -.dhx_dataview .dhx_dataview_default_item_selected { - border-right: 1px solid #c7c7c7; - border-bottom: 1px dotted #c7c7c7; -} -.dhx_dataview_default_item_selected { - background-color: #85d3ff; - color: #85d3ff; - border-color: #85d3ff; - background-repeat: repeat-x; -} -.dhx_dataview_item { - font-family: Tahoma, Helvetica; - font-size: 12px; - color: #000000; -} -.dhx_dataview_item .dhx_strong { - font-weight: bold; - display: block; - padding-bottom: 6px; -} -.dhx_dataview_default_item_selected .dhx_light { - color: #C3C3C3; -} -.dhx_dataview_item .dhx_light { - color: #919191; -} -.dhx_drag_over { - background-color: #faf768; - background-image: url("../imgs/dhxdataview_web/marker.png"); - background-repeat: repeat-x; -} -.dhx_pager_item, -.dhx_pager_item_selected { - float: left; - text-align: center; - height: 16px; - font-family: Tahoma, Helvetica; - font-size: 10pt; - border: 1px solid gray; - padding: 2px 4px; - margin-left: 5px; - cursor: pointer; - background-color: white; -} -.dhx_pager_item_selected { - background-color: lightgrey; - color: white; - cursor: default; - font-weight: bold; -} diff --git a/themes/sources/dhtmlxDataView/codebase/skins/dhtmlxdataview_material.css b/themes/sources/dhtmlxDataView/codebase/skins/dhtmlxdataview_material.css deleted file mode 100644 index 6bb4447..0000000 --- a/themes/sources/dhtmlxDataView/codebase/skins/dhtmlxdataview_material.css +++ /dev/null @@ -1,136 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: material - include extra file: skins/material.less -*/ - -@keyframes dhx_loader_rotate { - 100% { - transform: rotate(360deg); - } -} -@keyframes dhx_loader_dash { - 0% { - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - } - 50% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -35px; - } - 100% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -124px; - } -} -.dhx_tooltip { - display: none; - position: absolute; - font-family: Roboto, Arial, Helvetica; - color: #626262; - font-size: 14px; - z-index: 10000; - padding: 4px 10px 4px 10px; - border: 1px solid #fff; - border-radius: 3px; - -moz-border-radius: 3px; - -webkit-border-radius: 3px; - -moz-box-shadow: 0 0 3px #d9d9d9; - -webkit-box-shadow: 0 0 3px #d9d9d9; - text-shadow: 0px 1px 1px #fff; - box-shadow: 0 0 5px #d9d9d9; - background: -webkit-gradient(linear,left top,left bottom,color-stop(0,#efefef),color-stop(0.5,#f6f6f6),color-stop(1,#efefef)); - background: -o-linear-gradient(#efefef 0%,#f6f6f6 50%,#efefef 100%); - background: -ms-linear-gradient(#efefef 0%,#f6f6f6 50%,#efefef 100%); - background: -moz-linear-gradient(#efefef 0%,#f6f6f6 50%,#efefef 100%); - background: #efefef; -} -.dhx_noselect { - -moz-user-select: none; - -moz-user-select: -moz-none; - -khtml-user-select: none; -} -.dhx_allow_selection { - -moz-user-select: text; - -user-select: text; -} -.dhx_dataview { - overflow-y: auto; - -webkit-overflow-scrolling: touch; - overflow-x: hidden; - -moz-user-select: none; - -moz-user-select: -moz-none; - -khtml-select: none; -} -.dhx_drag_zone { - position: absolute; - border: 1px solid #A4BED4; - z-index: 8000; - -moz-box-shadow: 5px 5px 5px #888; - -khtml-box-shadow: 5px 5px 5px #888; - background: #fff; -} -.dhx_dataview_default_item, -.dhx_dataview_default_item_selected { - cursor: pointer; - background-color: white; -} -.dhx_dataview .dhx_dataview_default_item, -.dhx_dataview .dhx_dataview_default_item_selected { - border-right: 1px solid #eeeeee; - border-bottom: 1px solid #eeeeee; -} -.dhx_dataview .dhx_dataview_default_item_selected { - background-color: #eeeeee; - border-color: #eeeeee; - color: #404040; - background-repeat: repeat-y; - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAABAQMAAADO7O3JAAAAA1BMVEUzmc3EAelNAAAACklEQVQI12NgAAAAAgAB4iG8MwAAAABJRU5ErkJggg=="); - position: relative; -} -.dhx_dataview_item { - font-family: Roboto, Arial, Helvetica; - font-size: 14px; - color: #404040; -} -.dhx_dataview_item .dhx_strong { - font-weight: bold; - display: block; - padding-bottom: 6px; -} -.dhx_dataview_default_item_selected .dhx_light { - color: #C3C3C3; -} -.dhx_dataview_item .dhx_light { - color: #919191; -} -.dhx_drag_over { - background-color: #eeeeee; - background-repeat: repeat-x; -} -.dhx_pager_item, -.dhx_pager_item_selected { - float: left; - text-align: center; - height: 16px; - font-family: Roboto, Arial, Helvetica; - font-size: 10pt; - border: 1px solid gray; - padding: 2px 4px; - margin-left: 5px; - cursor: pointer; - background-color: white; -} -.dhx_pager_item_selected { - background-color: lightgrey; - color: white; - cursor: default; - font-weight: bold; -} diff --git a/themes/sources/dhtmlxEditor/codebase/dhtmlxeditor.js b/themes/sources/dhtmlxEditor/codebase/dhtmlxeditor.js deleted file mode 100644 index ad59b04..0000000 --- a/themes/sources/dhtmlxEditor/codebase/dhtmlxeditor.js +++ /dev/null @@ -1,799 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -function dhtmlXEditor(base, skin) { - - var that = this; - - this.conf = { - // set content after load - content: "", // first if set - contentHTML: "", // second - // resize - resizeTM: null, - resizeTMTime: 100, - // readonly - roMode: false, - // extended toolbar - toolbar: false, - iconsPath: "", - // frame events - evs: ["focus", "blur", "keydown", "keyup", "keypress", "mouseup", "mousedown", "click", "touchend"], // touchend is dev_event for fix on iOS/iPad - // focus fix on iOS/iPad - iOSfix: (navigator.userAgent.match(/Mobile/gi) != null && navigator.userAgent.match(/iPad/gi) != null && navigator.userAgent.match(/AppleWebKit/gi) != null), - // extended font conf - extra_css: "", - font: {family: "Tahoma", size: "12px", color: "black"} - }; - - this._doOnFocusChanged = null; - this._doOnAccess = null; - - if (typeof(base) == "object" && base != null && base.tagName == null) { - skin = base.skin; - if (base.content != null) this.conf.content = base.content; - if (base.contentHTML != null) this.conf.contentHTML = base.contentHTML; - if (base.iconsPath != null) this.conf.iconsPath = base.iconsPath; - if (base.extraCss != null) this.conf.extra_css = base.extraCss; - if (base.toolbar != null) this.conf.toolbar = window.dhx4.s2b(base.toolbar); - if (base.onFocusChanged != null) this._doOnFocusChanged = base.onFocusChanged; - if (base.onAccess != null) this._doOnAccess = base.onAccess; - base = base.parent; - } - - // skin config - this.conf.skin = (skin||window.dhx4.skin||(typeof(dhtmlx)!="undefined"?dhtmlx.skin:null)||window.dhx4.skinDetect("dhxeditor")||"material"); - - // configure base - if (typeof(base) == "string") base = document.getElementById(base); - this.base = base; - this.base.className += " dhxeditor_"+this.conf.skin; - - while (this.base.childNodes.length > 0) this.base.removeChild(this.base.childNodes[0]); - - // configure base for dhxcont - var pos = (window.dhx4.isIE ? this.base.currentStyle["position"] : (window.getComputedStyle != null? window.getComputedStyle(this.base, null).getPropertyValue("position") : "" )); - if (!(pos == "relative" || pos == "absolute")) this.base.style.position = "relative"; - - // init dhxcont - this.cell = new dhtmlXEditorCell(window.dhx4.newId(), this); - this.base.appendChild(this.cell.cell); - - this.cBlock = document.createElement("DIV"); - this.cBlock.className = "dhxcont_content_blocker"; - this.cBlock.style.display = "none"; - this.base.appendChild(this.cBlock); - - // editable area - this.editor = document.createElement("IFRAME"); - this.editor.className = "dhxeditor_mainiframe"; - this.editor.frameBorder = 0; - if (window.dhx4.isOpera) this.editor.scrolling = "yes"; - - // adjust self - this.setSizes(); - - // onAccess event - focus/blue as param - var fr = this.editor; - if (typeof(window.addEventListener) != "undefined") { - fr.onload = function() { - for (var q=0; q"+this.conf.extra_css+ - ""+ - ""); - } else { - if (window.dhx4.isKHTML) { - edDoc.write(""+this.conf.extra_css+ - ""+ - ""); - } else { - if (window.dhx4.isIE) { - // && navigator.appVersion.indexOf("MSIE 9.0")!= -1 - edDoc.write(""+this.conf.extra_css+ - ""+ - ""); - } else { - edDoc.write(""+this.conf.extra_css+ - ""+ - ""); - } - } - } - edDoc.close(); - - if (window.dhx4.isIE) edDoc.contentEditable = (roMode!==true); else edDoc.designMode = (roMode!==true?"On":"Off"); - if (window.dhx4.isFF) try { edDoc.execCommand("useCSS", false, true); } catch(e) {} - if (saveContent === true && this.setContent != null) this.setContent(storedContent); - - } - - // fix - this._prepareContent(); - - // resize - this._doOnResize = function() { - window.clearTimeout(that.conf.resizeTM); - that.conf.resizeTM = window.setTimeout(function(){if(that.setSizes)that.setSizes();}, that.conf.resizeTMTime); - } - - // toolbar buttons - this._runCommand = function(name,param){ - if (this.conf.roMode === true) return; - if (arguments.length < 2) param = null; - if (window.dhx4.isIE) this.edWin.focus(); - try { - var edDoc = this.editor.contentWindow.document - edDoc.execCommand(name,false,param); - } catch(e){} - if (window.dhx4.isIE) { - this.edWin.focus(); - var self = this; - window.setTimeout(function(){ - self.edWin.focus(); - self = null; - },1); - } - } - - // commands - this.applyBold = function() { - this._runCommand("Bold"); - } - this.applyItalic = function() { - this._runCommand("Italic"); - } - this.applyUnderscore = function() { - this._runCommand("Underline"); - } - this.clearFormatting = function() { - this._runCommand("RemoveFormat"); - var k = this.getContent(); - k = k.replace(/<\/?h\d>/gi, ""); - this.setContent(k); - } - - this._doOnClick = function(e) { - var ev = e||window.event; - var el = ev.target||ev.srcElement; - that._showInfo(el); - } - - this._doOnMouseDown = function(e) { // opera only - var ev = e||window.event; - var el = ev.target||ev.srcElement; - that._showInfo(el); - } - - this._doOnKeyUp = function(e) { - var ev = e||window.event; - var key = ev.keyCode; - var el = ev.target||ev.srcElement; - if ({37:1,38:1,39:1,40:1,13:1}[key] == 1) that._showInfo(el); - } - - - this._getParentByTag = function(node, tag_name) { - tag_name = tag_name.toLowerCase(); - var p = node; - do { - if (tag_name == '' || p.nodeName.toLowerCase() == tag_name) return p; - } while (p = p.parentNode); - return node; - } - - this._isStyleProperty = function(node, tag_name, name, value){ - tag_name = tag_name.toLowerCase(); - var n = node; - do { - if ((n.nodeName.toLowerCase() == tag_name) && (n.style[name] == value)) return true; - } while (n = n.parentNode); - return false; - } - - this._setStyleProperty = function(el, prop) { - this.style[prop] = false; - var n = this._getParentByTag(el, prop); - if (n && (n.tagName.toLowerCase() == prop)) this.style[prop] = true; - if (prop == "del" && this._getParentByTag(el, "strike") && this._getParentByTag(el,"strike").tagName.toLowerCase() == "strike") this.style.del = true; - } - - this._showInfo = function(el) { - - var el = (this._getSelectionBounds().end)?this._getSelectionBounds().end : el; - if (!el || !this._setStyleProperty) return; - - try { - if (this.edWin.getComputedStyle) { - var st = this.edWin.getComputedStyle(el, null); - var fw = ((st.getPropertyValue("font-weight")==401)?700:st.getPropertyValue("font-weight")); - this.style = { - fontStyle : st.getPropertyValue("font-style"), - fontSize : st.getPropertyValue("font-size"), - textDecoration : st.getPropertyValue("text-decoration"), - fontWeight : fw, - fontFamily : st.getPropertyValue("font-family"), - textAlign : st.getPropertyValue("text-align") - }; - if (window.dhx4.isKHTML) { // safari - this.style.fontStyle = st.getPropertyValue("font-style"); - this.style.vAlign = st.getPropertyValue("vertical-align"); - this.style.del = this._isStyleProperty(el,"span","textDecoration","line-through"); - this.style.u = this._isStyleProperty(el,"span","textDecoration","underline"); - } - } else { - var st = el.currentStyle; - this.style = { - fontStyle : st.fontStyle, - fontSize : st.fontSize, - textDecoration : st.textDecoration, - fontWeight : st.fontWeight, - fontFamily : st.fontFamily, - textAlign : st.textAlign - }; - } - this._setStyleProperty(el,"h1"); - this._setStyleProperty(el,"h2"); - this._setStyleProperty(el,"h3"); - this._setStyleProperty(el,"h4"); - if (!window.dhx4.isKHTML) { - this._setStyleProperty(el,"del"); - this._setStyleProperty(el,"sub"); - this._setStyleProperty(el,"sup"); - this._setStyleProperty(el,"u"); - } - this.callEvent("onFocusChanged", [this.style, st]) - } catch(e){ return null; } - } - - this._getSelectionBounds = function() { - var range, root, start, end; - if (this.edWin.getSelection) { - var selection = this.edWin.getSelection(); - if (window.dhx4.isEdge && selection.rangeCount == 0) return {root: null, start: null, end: null}; - range = selection.getRangeAt(selection.rangeCount-1); - start = range.startContainer; - end = range.endContainer; - root = range.commonAncestorContainer; - if (start.nodeName == "#text") root = root.parentNode; - if (start.nodeName == "#text") start = start.parentNode; - if (start.nodeName.toLowerCase() == "body") start = start.firstChild; - if (end.nodeName == "#text") end = end.parentNode; - if (end.nodeName.toLowerCase() == "body") end = end.lastChild; - if (start == end) root = start; - return { - root: root, - start: start, - end: end - }; - } else if (this.edWin.document.selection) { - range = this.edDoc.selection.createRange() - if(!range.duplicate) return null; - root = range.parentElement(); - var r1 = range.duplicate(); - var r2 = range.duplicate(); - r1.collapse(true); - r2.moveToElementText(r1.parentElement()); - r2.setEndPoint("EndToStart",r1); - start = r1.parentElement(); - r1 = range.duplicate(); - r2 = range.duplicate(); - r2.collapse(false); - r1.moveToElementText(r2.parentElement()); - r1.setEndPoint("StartToEnd", r2); - end = r2.parentElement(); - if (start.nodeName.toLowerCase() == "body") start = start.firstChild; - if (end.nodeName.toLowerCase() == "body") end = end.lastChild; - - if (start == end) root = start; - return { - root: root, - start: start, - end: end - }; - } - return null; - } - - this.getContent = function(){ - if (!this.edDoc.body) { - return ""; - } else { - if (window.dhx4.isFF || window.dhx4.isChrome) return this.editor.contentWindow.document.body.innerHTML.replace(/<\/{0,}br\/{0,}>\s{0,}$/gi,""); - if (window.dhx4.isIE && this.edDoc.body.innerText.length == 0) return ""; - return this.edDoc.body.innerHTML; - } - } - - this.setContent = function(str){ - str = str||""; - if (this.edDoc.body) { - var ffTest = false; - if (window.dhx4.isFF) { - var k = navigator.userAgent.match(/Firefox\/(\d*)/); - ffTest = (k != null && k[1] < 28); - } - if (ffTest) { - if (typeof(this.conf.ffTest) == "undefined") { - this.editor.contentWindow.document.body.innerHTML = ""; - this._runCommand("InsertHTML", "test"); - this.conf.ffTest = (this.editor.contentWindow.document.body.innerHTML.length > 0); - } - if (this.conf.ffTest) { - // FF 4.x+ - this.editor.contentWindow.document.body.innerHTML = str; - } else { - // FF 2.x, 3.x - this.editor.contentWindow.document.body.innerHTML = ""; - if (str.length == 0) str=" "; - this._runCommand("InsertHTML", str); - } - } else { - this.editor.contentWindow.document.body.innerHTML = str; - } - this.callEvent("onContentSet",[]); - } else { - if (!this.conf.firstLoadEv) { - this.conf.firstLoadEv = true; - this.conf.firstLoadData = str; - this._onFirstLoad = function() { - that.setContent(that.conf.firstLoadData); - if (typeof(window.addEventListener) == "function") { - that.edWin.removeEventListener("load", that._onFirstLoad, false); - } else { - that.edWin.detachEvent("onload", that._onFirstLoad); - } - that.conf.firstLoadData = null; - that.conf.firstLoadEv = false; - that._onFirstLoad = null; - } - if (typeof(window.addEventListener) == "function") { - this.edWin.addEventListener("load", this._onFirstLoad, false); - } else { - this.edWin.attachEvent("onload", this._onFirstLoad); - } - } - } - } - - this.setContentHTML = function(url) { - window.dhx4.ajax.get(url, function(r) { - if (r.xmlDoc.responseText != null) that.setContent(r.xmlDoc.responseText); - }); - } - - // events - window.dhx4._eventable(this); - - this.attachEvent("onFocusChanged", function(state){ - if (typeof(this._doOnFocusChanged) == "function") { - this._doOnFocusChanged(state); - } else if (typeof(this._doOnFocusChanged) == "string" && typeof(window[this._doOnFocusChanged]) == "function") { - window[this._doOnFocusChanged](state); - } - }); - - if (typeof(window.addEventListener) == "function") { - window.addEventListener("resize", this._doOnResize, false); - this.edDoc.addEventListener("click", this._doOnClick, false); - this.edDoc.addEventListener("keyup", this._doOnKeyUp, false); - if (window.dhx4.isOpera) this.edDoc.addEventListener("mousedown", this._doOnMouseDown, false); - } else { - window.attachEvent("onresize", this._doOnResize); - this.edDoc.attachEvent("onclick", this._doOnClick); - this.edDoc.attachEvent("onkeyup", this._doOnKeyUp); - } - - this.unload = function() { - - // first detach events from iframe - if (typeof(window.addEventListener) == "function") { - window.removeEventListener("resize", this._doOnResize, false); - this.edDoc.removeEventListener("click", this._doOnClick, false); - this.edDoc.removeEventListener("keyup", this._doOnKeyUp, false); - if (window.dhx4.isOpera) this.edDoc.removeEventListener("mousedown", this._doOnMouseDown, false); - // editor's - for (var q=0; q 0) this.base.removeChild(this.base.childNodes[0]); - this.base = null; - - this._doOnClick = null; - this._doOnKeyUp = null; - this._doOnMouseDown = null; - - this._ev = null; - this._focus = null; - this._prepareContent = null; - this._doOnResize = null; - this.setIconsPath = null; - this.init = null; - this.setSizes = null; - this._runCommand = null; - this.applyBold = null; - this.applyItalic = null; - this.applyUnderscore = null; - this.clearFormatting = null; - this._showInfo = null; - this._getSelectionBounds = null; - this.getContent = null; - this.setContent = null; - this.setContentHTML = null; - this.setReadonly = null; - this.isReadonly = null; - this.unload = null; - - that = fr = null; - } - - // load extended toolbar if any - if (this.conf.toolbar == true && typeof(this.attachToolbar) == "function" && typeof(window.dhtmlXToolbarObject) == "function") { - this.attachToolbar(this.conf.iconsPath); - if (this.conf.iOSfix == true) { - this._doOnIOSFix = function() { that.editor.contentWindow.focus(); } - this.tb.cont.addEventListener("touchend", this._doOnIOSFix, false); - } - } - this.setIconsPath = function(iconsPath) { - this.conf.iconsPath = iconsPath; - } - - // load content if any - if (this.conf.content.length > 0) { - this.setContent(this.conf.content); - this.conf.content = ""; - } else if (this.conf.contentHTML.length > 0) { - this.setContentHTML(this.conf.contentHTML); - this.conf.contentHTML = ""; - } - - return this; -}; - -dhtmlXEditor.prototype.setSizes = function() { - this.cell._setSize(0, 0, this.base.clientWidth, this.base.clientHeight); - if (this.editor != null) { - this.editor.style.left = "5px"; - this.editor.style.width = this.base.clientWidth-5+"px"; - } -}; - -dhtmlXEditor.prototype.setReadonly = function(mode) { - this.conf.roMode = (mode===true); - this._prepareContent(true, this.conf.roMode); - this.cBlock.style.display = (this.conf.roMode?"":"none"); -}; - -dhtmlXEditor.prototype.isReadonly = function(mode) { - return (this.conf.roMode||false); -}; - -dhtmlXEditor.prototype.setSkin = function(skin) { - this.base.className = String(this.base.className).replace(new RegExp("dhxeditor_"+this.conf.skin),"dhxeditor_"+skin); - this.conf.skin = this.cell.conf.skin = skin; - if (this.tb) { - this.cell.detachToolbar(skin); - this.tb = null; - this.attachToolbar(); - } - this.setSizes(); -}; - -dhtmlXEditor.prototype._fontConf = function() { - if (this.conf.skin == "") { - var data = {family: this.conf.font.family, size: this.conf.font.size, color: this.conf.font.color}; - } else { - var data = {family: "Roboto, Arial, Helvetica", size: "14px", color: "#404040"}; - } - return window.dhx4.template("font-size: #size#; font-family: #family#; color: #color#;", data); -}; -window.dhtmlXEditorCell = function(id, editor) { - - dhtmlXCellObject.apply(this, [id, "_editor"]); - - var that = this; - this.editor = editor; - - this.conf.skin = this.editor.conf.skin; - - this.attachEvent("_onCellUnload", function(){ - - // unload simple toolbar - this._stbUnload(); - - this.editor = null; - that = null; - - }); - - // simple toolbar init - this._stbInit(); - - return this; -}; - -dhtmlXEditorCell.prototype = new dhtmlXCellObject(); - -// simple toolbar -dhtmlXEditorCell.prototype._stbInit = function() { - - var that = this; - - var t = document.createElement("DIV"); - t.className = "dhx_cell_stb"+(dhx4.isIE6||dhx4.isIE7||dhx4.isIE8?"":" dhx_cell_stb_shadow"); - this.cell.insertBefore(t, this.cell.childNodes[this.conf.idx.cont]); - - t.onselectstart = function(e) { - e = e||event; - e.cancelBubble = true; - if (e.preventDefault) e.preventDefault(); else e.returnValue = false; - return false; - } - - var items = { - bold: "applyBold", - italic: "applyItalic", - underline: "applyUnderscore", - clearformat: "clearFormatting" - }; - - for (var k in items) { - - var a = document.createElement("A"); - a.href = "javascript:void(0);"; - a.tabIndex = -1; - t.appendChild(a); - - a.onmousedown = a.onclick = function(e){ - e = e||event; - if (e.preventDefault) e.preventDefault(); else e.returnValue = false; - return false; - } - - var d = document.createElement("DIV"); - d.className = "dhx_cell_stb_button btn_"+k; - d._actv = k.charAt(0); - d._cmd = items[k]; - a.appendChild(d); - - d.onclick = function(e){ - e = e||event; - if (e.preventDefault) e.preventDefault(); else e.returnValue = false; - return false; - } - d.onmousedown = function(e){ - e = e||event; - if (e.preventDefault) e.preventDefault(); else e.returnValue = false; - that.editor[this._cmd](); - that.editor.callEvent("onToolbarClick",[this._actv]); - } - - d = a = null; - } - - t = null; - - this._stbUnload = function() { - - var t = this.cell.childNodes[this.conf.idx.stb]; - t.onselectstart = null; - - while (t.childNodes.length > 0) { - t.lastChild.onmousedown = t.lastChild.onclick = null; - t.lastChild.firstChild.onmousedown = t.lastChild.firstChild.onclick = null; - t.lastChild.firstChild._actv = t.lastChild.firstChild._cmd = null; - t.lastChild.removeChild(t.lastChild.firstChild); - t.removeChild(t.lastChild); - } - t.parentNode.removeChild(t); - t = that = null; - - this.conf.idx_data.stb = this.conf.ofs_nodes.t._getStbHeight = null; - delete this.conf.ofs_nodes.t._getStbHeight - delete this.conf.idx_data.stb; - - this._updateIdx(); - - }; - - this.conf.stb_visible = true; - - // include into content top offset calculation - this.conf.ofs_nodes.t._getStbHeight = "func"; - - // include into index - this.conf.idx_data.stb = "dhx_cell_stb"; - this._updateIdx(); - -}; - -dhtmlXEditorCell.prototype._stbHide = function() { - this.cell.childNodes[this.conf.idx.stb].style.display = "none"; - this.conf.stb_visible = false; -}; - -dhtmlXEditorCell.prototype._getStbHeight = function() { - if (this.conf.stb_visible == true && this.conf.skin == "material") { - if (this.conf.stb_height == null) { - this.conf.stb_height = window.dhx4.readFromCss("dhxeditor_material stb_height_detect", "scrollHeight", "
                    "); - } - return this.conf.stb_height; - } - return this.cell.childNodes[this.conf.idx.stb].offsetHeight; -}; - -dhtmlXCellObject.prototype.attachEditor = function(conf) { - - this.callEvent("_onBeforeContentAttach",["editor"]); - - var obj = document.createElement("DIV"); - obj.style.width = "100%"; - obj.style.height = "100%"; - obj.style.position = "relative"; - obj.style.overflow = "hidden"; - this._attachObject(obj); - - if (!(typeof(conf) == "object" && conf != null)) conf = {}; - conf.parent = obj; - - this.dataType = "editor"; - this.dataObj = new dhtmlXEditor(conf); - - obj = null; - conf.parent = null; - conf = null; - - // attach to portal extended logic - if (typeof(window.dhtmlXPortalCell) == "function" && this instanceof window.dhtmlXPortalCell) { - - if (this.portal.conf.editor_ev == null) { - - var e1 = this.portal.attachEvent("onBeforeDrag", function(id) { - if (this.cdata[id].dataType == "editor") { - this.cdata[id].conf.editor_cont = this.cdata[id].dataObj.getContent(); - } - return true; - }); - - var e2 = this.portal.attachEvent("onDrop", function(id) { - if (this.cdata[id].dataType == "editor") { - this.cdata[id].dataObj.setContent(this.cdata[id].conf.editor_cont); - this.cdata[id].dataObj._prepareContent(true); - this.cdata[id].conf.editor_cont = null; - } - }); - - this.portal.conf.editor_ev = [e1, e2]; - } - - this.conf.editor_ev = this.attachEvent("_onBeforeContentDetach", function(){ - - this.detachEvent(this.conf.editor_ev); - this.conf.editor_ev = null; - - if (this instanceof window.dhtmlXPortalCell) { - - var ed = false; - for (var a in this.portal.cdata) { - if (this.portal.cdata[a] != this && this.portal.cdata[a].dataType == "editor") { - ed = true; // portal still have attached editors - } - } - // no more editors, clear events - if (ed == false) { - for (var q=0; q]]>'; - } - // - this._availSizes = {"1":"8pt", "2":"10pt", "3":"12pt", "4":"14pt", "5":"18pt", "6":"24pt", "7":"36pt"}; - this._xmlSizes = ""; - for (var a in this._availSizes) { - this._xmlSizes += ''; - } - this.tbXML = ''+ - // h1-h4 - ''+ - ''+ - ''+ - ''+ - ''+ - // text - ''+ - ''+ - ''+ - ''+ - ''+ - // align - ''+ - ''+ - ''+ - ''+ - ''+ - // sub/super script - ''+ - ''+ - ''+ - // etc - ''+ - ''+ - ''+ - // - ''+ - ''+ - ''+ - ''+ - ''; - - this.tb.loadStruct(this.tbXML); - - this._checkAlign = function(alignSelected) { - this.tb.setItemState("alignCenter", false); - this.tb.setItemState("alignRight", false); - this.tb.setItemState("alignJustify", false); - this.tb.setItemState("alignLeft", false); - if (alignSelected) this.tb.setItemState(alignSelected, true); - } - - this._checkH = function(h) { - this.tb.setItemState("applyH1", false); - this.tb.setItemState("applyH2", false); - this.tb.setItemState("applyH3", false); - this.tb.setItemState("applyH4", false); - if (h) this.tb.setItemState(h, true); - } - - this._doOnFocusChanged = function(state) { - /*bold*/ - if(!state.h1&&!state.h2&&!state.h3&&!state.h4){ - var bold = (String(state.fontWeight).search(/bold/i) != -1) || (Number(state.fontWeight) >= 700); - this.tb.setItemState("applyBold", bold); - } else this.tb.setItemState("applyBold", false); - // align - var alignId = "alignLeft"; - if (String(state.textAlign).search(/center/) != -1) { alignId = "alignCenter"; } - if (String(state.textAlign).search(/right/) != -1) { alignId = "alignRight"; } - if (String(state.textAlign).search(/justify/) != -1) { alignId = "alignJustify"; } - this.tb.setItemState(alignId, true); - this._checkAlign(alignId); - /*heading*/ - this.tb.setItemState("applyH1", state.h1); - this.tb.setItemState("applyH2", state.h2); - this.tb.setItemState("applyH3", state.h3); - this.tb.setItemState("applyH4", state.h4); - if (window._KHTMLrv) { - /*for Safari*/ - state.sub = (state.vAlign == "sub"); - state.sup = (state.vAlign == "super"); - } - this.tb.setItemState("applyItalic", (state.fontStyle == "italic")); - this.tb.setItemState("applyStrikethrough", state.del); - this.tb.setItemState("applySub", state.sub); - this.tb.setItemState("applySuper", state.sup); - this.tb.setItemState("applyUnderscore", state.u); - } - - this._doOnToolbarClick = function(id) { - var action = String(id).split(":"); - if (this[action[0]] != null) { - if (typeof(this[action[0]]) == "function") { - this[action[0]](action[1]); - this.callEvent("onToolbarClick",[id]); - } - } - } - - this._doOnStateChange = function(itemId, state) { - this[itemId](); - switch (itemId) { - case "alignLeft": - case "alignCenter": - case "alignRight": - case "alignJustify": - this._checkAlign(itemId); - break; - case "applyH1": - case "applyH2": - case "applyH3": - case "applyH4": - this._checkH(itemId); - break; - } - this.callEvent("onToolbarClick",[itemId]); - } - this._doOnBeforeStateChange = function(itemId, state) { - if ((itemId == "alignLeft" || itemId == "alignCenter" || itemId == "alignRight" || itemId == "alignJustify") && state == true) { - return false; - } - return true; - } - var that = this; - - this.tb.attachEvent("onClick", function(id){that._doOnToolbarClick(id);}); - this.tb.attachEvent("onStateChange", function(id,st){that._doOnStateChange(id,st);}); - this.tb.attachEvent("onBeforeStateChange", function(id,st){return that._doOnBeforeStateChange(id,st);}); - - this.applyBold = function(){ - this._runCommand("Bold"); - } - - this.applyItalic = function(){ - this._runCommand("Italic"); - } - - this.applyUnderscore = function(){ - this._runCommand("Underline"); - } - - this.applyStrikethrough = function(){ - this._runCommand("StrikeThrough"); - } - - this.alignLeft = function(){ - this._runCommand("JustifyLeft"); - } - - this.alignRight = function(){ - this._runCommand("JustifyRight"); - } - - this.alignCenter = function(){ - this._runCommand("JustifyCenter"); - } - - this.alignJustify = function(){ - this._runCommand("JustifyFull"); - } - - this.applySub = function(){ - this._runCommand("Subscript"); - } - - this.applySuper = function(){ - this._runCommand("Superscript"); - } - - this.applyH1 = function(){ - this._runCommand("FormatBlock","

                    "); - } - - this.applyH2 = function(){ - this._runCommand("FormatBlock","

                    "); - } - - this.applyH3 = function(){ - this._runCommand("FormatBlock","

                    "); - } - - this.applyH4 = function(){ - this._runCommand("FormatBlock","

                    "); - } - - this.createNumList = function(){ - this._runCommand("InsertOrderedList"); - } - - this.createBulList = function(){ - this._runCommand("InsertUnorderedList"); - } - - this.increaseIndent = function(){ - this._runCommand("Indent"); - } - - this.decreaseIndent = function(){ - this._runCommand("Outdent"); - } - this.clearFormatting = function() { - this._runCommand("RemoveFormat"); - this.tb.setItemState("applyBold", false); - this.tb.setItemState("applyItalic", false); - this.tb.setItemState("applyStrikethrough", false); - this.tb.setItemState("applySub", false); - this.tb.setItemState("applySuper", false); - this.tb.setItemState("applyUnderscore", false); - var k = this.getContent(); - k = k.replace(/<\/?h\d>/gi, ""); - this.setContent(k); - } - -}; - diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/align_center.png b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/align_center.png deleted file mode 100644 index 6cdebbc..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/align_center.png and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/align_justify.png b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/align_justify.png deleted file mode 100644 index b2a41ab..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/align_justify.png and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/align_left.png b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/align_left.png deleted file mode 100644 index a22a11e..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/align_left.png and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/align_right.png b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/align_right.png deleted file mode 100644 index f8d3bb1..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/align_right.png and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/bold.png b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/bold.png deleted file mode 100644 index b6cfde6..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/bold.png and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/buttons.png b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/buttons.png deleted file mode 100644 index 91f27bf..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/buttons.png and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/clear.png b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/clear.png deleted file mode 100644 index e85d2dc..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/clear.png and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/h1.png b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/h1.png deleted file mode 100644 index f952aed..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/h1.png and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/h2.png b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/h2.png deleted file mode 100644 index 2f62643..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/h2.png and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/h3.png b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/h3.png deleted file mode 100644 index cf9bcea..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/h3.png and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/h4.png b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/h4.png deleted file mode 100644 index b9e69ff..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/h4.png and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/indent_dec.png b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/indent_dec.png deleted file mode 100644 index 060b906..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/indent_dec.png and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/indent_inc.png b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/indent_inc.png deleted file mode 100644 index b4cfb7d..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/indent_inc.png and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/italic.png b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/italic.png deleted file mode 100644 index 9e2580a..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/italic.png and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/list_bullet.png b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/list_bullet.png deleted file mode 100644 index b313d0b..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/list_bullet.png and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/list_number.png b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/list_number.png deleted file mode 100644 index 74a9120..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/list_number.png and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/script_sub.png b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/script_sub.png deleted file mode 100644 index 04abd09..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/script_sub.png and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/script_super.png b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/script_super.png deleted file mode 100644 index 951ae0b..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/script_super.png and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/strike.png b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/strike.png deleted file mode 100644 index 5c3c9eb..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/strike.png and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/underline.png b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/underline.png deleted file mode 100644 index 45572d2..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_material/underline.png and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/align_center.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/align_center.gif deleted file mode 100644 index bc3f7ce..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/align_center.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/align_justify.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/align_justify.gif deleted file mode 100644 index 6efd2ce..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/align_justify.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/align_left.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/align_left.gif deleted file mode 100644 index 2acb732..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/align_left.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/align_right.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/align_right.gif deleted file mode 100644 index 35c828b..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/align_right.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/bold.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/bold.gif deleted file mode 100644 index 32416d4..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/bold.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/buttons.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/buttons.gif deleted file mode 100644 index 5170c32..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/buttons.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/clear.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/clear.gif deleted file mode 100644 index 51f1aee..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/clear.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/h1.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/h1.gif deleted file mode 100644 index 6b13a66..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/h1.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/h2.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/h2.gif deleted file mode 100644 index b83cf54..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/h2.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/h3.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/h3.gif deleted file mode 100644 index b5647b8..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/h3.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/h4.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/h4.gif deleted file mode 100644 index b5c1dc2..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/h4.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/indent_dec.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/indent_dec.gif deleted file mode 100644 index b16fbb5..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/indent_dec.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/indent_inc.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/indent_inc.gif deleted file mode 100644 index a4567b1..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/indent_inc.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/italic.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/italic.gif deleted file mode 100644 index 8dc358c..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/italic.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/list_bullet.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/list_bullet.gif deleted file mode 100644 index dc64941..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/list_bullet.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/list_number.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/list_number.gif deleted file mode 100644 index eea183d..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/list_number.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/script_sub.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/script_sub.gif deleted file mode 100644 index 02d1cb6..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/script_sub.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/script_super.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/script_super.gif deleted file mode 100644 index 945ae76..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/script_super.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/strike.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/strike.gif deleted file mode 100644 index 0324297..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/strike.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/underline.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/underline.gif deleted file mode 100644 index 16aa16d..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/underline.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/align_center.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/align_center.gif deleted file mode 100644 index a4e3b88..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/align_center.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/align_justify.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/align_justify.gif deleted file mode 100644 index d5967cb..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/align_justify.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/align_left.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/align_left.gif deleted file mode 100644 index 7cf2dc9..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/align_left.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/align_right.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/align_right.gif deleted file mode 100644 index f599524..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/align_right.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/bold.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/bold.gif deleted file mode 100644 index f2c62ab..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/bold.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/buttons.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/buttons.gif deleted file mode 100644 index 423027e..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/buttons.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/clear.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/clear.gif deleted file mode 100644 index 7ce96ec..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/clear.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/h1.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/h1.gif deleted file mode 100644 index 041b43b..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/h1.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/h2.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/h2.gif deleted file mode 100644 index 4fb8886..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/h2.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/h3.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/h3.gif deleted file mode 100644 index ab6db50..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/h3.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/h4.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/h4.gif deleted file mode 100644 index d1f83ab..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/h4.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/indent_dec.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/indent_dec.gif deleted file mode 100644 index 306d479..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/indent_dec.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/indent_inc.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/indent_inc.gif deleted file mode 100644 index c8ccef0..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/indent_inc.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/italic.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/italic.gif deleted file mode 100644 index 8b8b34d..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/italic.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/list_bullet.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/list_bullet.gif deleted file mode 100644 index 79d483a..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/list_bullet.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/list_number.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/list_number.gif deleted file mode 100644 index 6a6d40a..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/list_number.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/script_sub.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/script_sub.gif deleted file mode 100644 index 3b24022..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/script_sub.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/script_super.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/script_super.gif deleted file mode 100644 index f960f5d..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/script_super.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/strike.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/strike.gif deleted file mode 100644 index fd056b8..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/strike.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/underline.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/underline.gif deleted file mode 100644 index 3dab980..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/underline.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/align_center.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/align_center.gif deleted file mode 100644 index 0670ebe..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/align_center.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/align_justify.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/align_justify.gif deleted file mode 100644 index a9d98ce..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/align_justify.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/align_left.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/align_left.gif deleted file mode 100644 index 1ee654d..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/align_left.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/align_right.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/align_right.gif deleted file mode 100644 index 105a299..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/align_right.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/bold.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/bold.gif deleted file mode 100644 index 8f025f1..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/bold.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/buttons.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/buttons.gif deleted file mode 100644 index c56587b..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/buttons.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/clear.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/clear.gif deleted file mode 100644 index 844a95c..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/clear.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/h1.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/h1.gif deleted file mode 100644 index 0bf7530..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/h1.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/h2.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/h2.gif deleted file mode 100644 index aca41f6..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/h2.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/h3.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/h3.gif deleted file mode 100644 index 994ae16..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/h3.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/h4.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/h4.gif deleted file mode 100644 index ef7f910..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/h4.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/indent_dec.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/indent_dec.gif deleted file mode 100644 index eda02de..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/indent_dec.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/indent_inc.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/indent_inc.gif deleted file mode 100644 index 059a5e0..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/indent_inc.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/italic.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/italic.gif deleted file mode 100644 index bffc9ca..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/italic.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/list_bullet.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/list_bullet.gif deleted file mode 100644 index 9bb05dc..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/list_bullet.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/list_number.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/list_number.gif deleted file mode 100644 index 74a871a..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/list_number.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/script_sub.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/script_sub.gif deleted file mode 100644 index 04ee515..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/script_sub.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/script_super.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/script_super.gif deleted file mode 100644 index 0c08cc4..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/script_super.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/strike.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/strike.gif deleted file mode 100644 index b167bed..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/strike.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/underline.gif b/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/underline.gif deleted file mode 100644 index 6960339..0000000 Binary files a/themes/sources/dhtmlxEditor/codebase/imgs/dhxeditor_web/underline.gif and /dev/null differ diff --git a/themes/sources/dhtmlxEditor/codebase/skins/dhtmlxeditor_dhx_skyblue.css b/themes/sources/dhtmlxEditor/codebase/skins/dhtmlxeditor_dhx_skyblue.css deleted file mode 100644 index 0172bf5..0000000 --- a/themes/sources/dhtmlxEditor/codebase/skins/dhtmlxeditor_dhx_skyblue.css +++ /dev/null @@ -1,112 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: dhx_skyblue - include extra file: skins/dhx_skyblue.less -*/ - -.dhxeditor_dhx_skyblue { - position: relative; -} -.dhxeditor_dhx_skyblue iframe.dhxeditor_mainiframe { - position: absolute; - overflow: hidden; - top: 0px; - left: 0px; - width: 100%; - height: 100%; -} -.dhxeditor_dhx_skyblue div.dhx_cell_editor div.dhx_cell_stb { - position: relative; - height: 30px; - padding: 0px 5px; - border-bottom: 1px solid #a4bed4; - background-color: #e2efff; - background: linear-gradient(#e2efff,#d3e7ff); - background: -webkit-linear-gradient(#e2efff,#d3e7ff); - filter: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e2efff,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100); -} -.dhxeditor_dhx_skyblue div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button { - float: left; - position: relative; - width: 18px; - height: 18px; - font-size: 2px; - margin-left: 5px; - margin-top: 7px; - cursor: pointer; - background-image: url("../imgs/dhxeditor_skyblue/buttons.gif"); - opacity: 1; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100); -} -.dhxeditor_dhx_skyblue div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button.btn_bold { - margin-left: 5px; - background-position: 0px 0px; -} -.dhxeditor_dhx_skyblue div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button.btn_italic { - background-position: -18px 0px; -} -.dhxeditor_dhx_skyblue div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button.btn_underline { - background-position: -36px 0px; -} -.dhxeditor_dhx_skyblue div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button.btn_clearformat { - background-position: -54px 0px; -} -.dhxeditor_dhx_skyblue div.dhx_cell_editor { - position: absolute; - background-color: white; - margin: 0px; - padding: 0px; - overflow: hidden; - cursor: default; - z-index: 0; -} -.dhxeditor_dhx_skyblue div.dhx_cell_editor div.dhx_cell_cont_editor { - position: absolute; - overflow: hidden; -} -.dhxeditor_dhx_skyblue div.dhx_cell_editor div.dhx_cell_toolbar_def { - position: relative; - overflow: hidden; -} -.dhxeditor_dhx_skyblue div.dhx_cell_editor div.dhx_cell_toolbar_def div.dhx_toolbar_dhx_skyblue { - border-top-width: 0px; - border-left-width: 0px; - border-right-width: 0px; -} -div.dhxform_item_template div.dhx_cell_editor div.dhx_cell_toolbar_def div.dhx_toolbar_dhx_skyblue { - border-left-width: 1px; - border-right-width: 1px; - border-top-width: 1px; -} -.dhxwins_vp_dhx_skyblue div.dhx_cell_cont_wins div.dhxeditor_dhx_skyblue div.dhx_cell_editor div.dhx_cell_stb, -.dhxwins_vp_dhx_skyblue div.dhx_cell_cont_wins div.dhxeditor_dhx_skyblue div.dhx_cell_editor div.dhx_cell_toolbar_def div.dhx_toolbar_dhx_skyblue { - border-left: 1px solid #a4bed4; - border-right: 1px solid #a4bed4; - border-top: 1px solid #a4bed4; -} -.dhxwins_vp_dhx_skyblue div.dhx_cell_cont_wins div.dhxeditor_dhx_skyblue div.dhx_cell_editor div.dhx_cell_cont_editor { - border-left: 1px solid #a4bed4; - border-right: 1px solid #a4bed4; - border-bottom: 1px solid #a4bed4; -} -.dhxwins_vp_dhx_skyblue div.dhx_cell_cont_wins div.dhxeditor_dhx_skyblue div.dhx_cell_editor div.dhx_cell_toolbar_def { - padding: 0px; -} -.dhxeditor_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 10px; - height: 10px; - overflow: hidden; -} diff --git a/themes/sources/dhtmlxEditor/codebase/skins/dhtmlxeditor_dhx_terrace.css b/themes/sources/dhtmlxEditor/codebase/skins/dhtmlxeditor_dhx_terrace.css deleted file mode 100644 index fa26c79..0000000 --- a/themes/sources/dhtmlxEditor/codebase/skins/dhtmlxeditor_dhx_terrace.css +++ /dev/null @@ -1,99 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: dhx_terrace - include extra file: skins/dhx_terrace.less -*/ - -.dhxeditor_dhx_terrace { - position: relative; -} -.dhxeditor_dhx_terrace iframe.dhxeditor_mainiframe { - position: absolute; - overflow: hidden; - top: 0px; - left: 0px; - width: 100%; - height: 100%; -} -.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_stb { - position: relative; - height: 34px; - background-color: #f5f5f5; - padding: 0px 5px; - border-bottom: 1px solid #cccccc; -} -.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button { - float: left; - position: relative; - width: 18px; - height: 18px; - font-size: 2px; - margin-left: 7px; - margin-top: 9px; - cursor: pointer; - background-image: url("../imgs/dhxeditor_terrace/buttons.gif"); -} -.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button.btn_bold { - margin-left: 12px; - background-position: 0px 0px; -} -.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button.btn_italic { - background-position: -18px 0px; -} -.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button.btn_underline { - background-position: -36px 0px; -} -.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button.btn_clearformat { - background-position: -54px 0px; -} -.dhxeditor_dhx_terrace div.dhx_cell_editor { - position: absolute; - background-color: white; - margin: 0px; - padding: 0px; - overflow: hidden; - cursor: default; - z-index: 0; -} -.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_cont_editor { - position: absolute; - overflow: hidden; -} -.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_toolbar_def { - position: relative; - overflow: hidden; - padding: 5px; - border-bottom: 1px solid #cccccc; -} -.dhxwins_vp_dhx_terrace div.dhx_cell_cont_wins .dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_stb { - border-left: 1px solid #cccccc; - border-right: 1px solid #cccccc; - border-top: 1px solid #cccccc; -} -.dhxwins_vp_dhx_terrace div.dhx_cell_cont_wins .dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_cont_editor { - border-left: 1px solid #cccccc; - border-right: 1px solid #cccccc; - border-bottom: 1px solid #cccccc; -} -.dhxwins_vp_dhx_terrace div.dhx_cell_cont_wins .dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_toolbar_def { - padding: 0px; - border-top: 1px solid #cccccc; -} -.dhxeditor_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 30px; - height: 10px; - overflow: hidden; -} diff --git a/themes/sources/dhtmlxEditor/codebase/skins/dhtmlxeditor_dhx_web.css b/themes/sources/dhtmlxEditor/codebase/skins/dhtmlxeditor_dhx_web.css deleted file mode 100644 index e5f54fd..0000000 --- a/themes/sources/dhtmlxEditor/codebase/skins/dhtmlxeditor_dhx_web.css +++ /dev/null @@ -1,94 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: dhx_web - include extra file: skins/dhx_web.less -*/ - -.dhxeditor_dhx_web { - position: relative; -} -.dhxeditor_dhx_web iframe.dhxeditor_mainiframe { - position: absolute; - overflow: hidden; - top: 0px; - left: 0px; - width: 100%; - height: 100%; -} -.dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_stb { - position: relative; - height: 32px; - background-color: #3da0e3; -} -.dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button { - float: left; - position: relative; - width: 18px; - height: 18px; - font-size: 2px; - margin-left: 5px; - margin-top: 7px; - cursor: pointer; - background-image: url("../imgs/dhxeditor_web/buttons.gif"); -} -.dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button.btn_bold { - margin-left: 12px; - background-position: 0px 0px; -} -.dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button.btn_italic { - background-position: -18px 0px; -} -.dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button.btn_underline { - background-position: -36px 0px; -} -.dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button.btn_clearformat { - background-position: -54px 0px; -} -.dhxeditor_dhx_web div.dhx_cell_editor { - position: absolute; - background-color: white; - margin: 0px; - padding: 0px; - overflow: hidden; - cursor: default; - z-index: 0; -} -.dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_cont_editor { - position: absolute; - overflow: hidden; -} -.dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_toolbar_def { - position: relative; - overflow: hidden; -} -.dhxwins_vp_dhx_web div.dhx_cell_cont_wins .dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_cont_editor { - border-left: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; - border-bottom: 1px solid #c7c7c7; -} -.dhxwins_vp_dhx_web div.dhx_cell_cont_wins .dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_toolbar_def { - padding: 0px; -} -div.dhx_popup_dhx_web div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_cont_editor { - border-left: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; - border-bottom: 1px solid #c7c7c7; -} -.dhxeditor_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 20px; - height: 10px; - overflow: hidden; -} diff --git a/themes/sources/dhtmlxEditor/codebase/skins/dhtmlxeditor_material.css b/themes/sources/dhtmlxEditor/codebase/skins/dhtmlxeditor_material.css deleted file mode 100644 index 6a92166..0000000 --- a/themes/sources/dhtmlxEditor/codebase/skins/dhtmlxeditor_material.css +++ /dev/null @@ -1,134 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: material - include extra file: skins/material.less -*/ - -@keyframes dhx_loader_rotate { - 100% { - transform: rotate(360deg); - } -} -@keyframes dhx_loader_dash { - 0% { - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - } - 50% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -35px; - } - 100% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -124px; - } -} -.dhxeditor_material { - position: relative; -} -.dhxeditor_material iframe.dhxeditor_mainiframe { - position: absolute; - overflow: hidden; - font: inherit; - top: 0px; - left: 0px; - width: 100%; - height: 100%; -} -.dhxeditor_material div.dhx_cell_editor { - position: absolute; - background-color: white; - margin: 0px; - padding: 0px; - overflow: hidden; - cursor: default; - z-index: 0; -} -.dhxeditor_material div.dhx_cell_editor div.dhx_cell_cont_editor { - position: absolute; - overflow: hidden; -} -.dhxeditor_material div.dhx_cell_editor div.dhx_cell_stb { - position: relative; - height: 32px; - line-height: 32px; - padding: 0px 5px; - margin: 7px; - border: 1px solid #dfdfdf; - background-color: #fafafa; - overflow: hidden; -} -.dhxeditor_material div.dhx_cell_editor div.dhx_cell_stb.dhx_cell_stb_shadow { - border-width: 0px; - box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24); -} -.dhxeditor_material div.dhx_cell_editor div.dhx_cell_stb a { - position: relative; - float: left; - padding: 0px 8px; - border-style: solid; - border-color: #fafafa; - border-width: 0px 1px 0px 1px; -} -.dhxeditor_material div.dhx_cell_editor div.dhx_cell_stb a div.dhx_cell_stb_button { - position: relative; - float: left; - width: 18px; - height: 32px; - line-height: 32px; - font-size: 1px; - cursor: pointer; - background-image: url("../imgs/dhxeditor_material/buttons.png"); - background-position: 0px 7px; - background-repeat: no-repeat; -} -.dhxeditor_material div.dhx_cell_editor div.dhx_cell_stb a div.dhx_cell_stb_button.btn_italic { - background-position: -18px 7px; -} -.dhxeditor_material div.dhx_cell_editor div.dhx_cell_stb a div.dhx_cell_stb_button.btn_underline { - background-position: -36px 7px; -} -.dhxeditor_material div.dhx_cell_editor div.dhx_cell_stb a div.dhx_cell_stb_button.btn_clearformat { - background-position: -54px 7px; -} -.dhxeditor_material div.dhx_cell_editor div.dhx_cell_stb a:hover { - background-color: #ebebeb; - border-color: #ebebeb; -} -.dhxeditor_material div.dhx_cell_editor div.dhx_cell_toolbar_def { - position: relative; - overflow: hidden; - padding: 7px; -} -.dhxeditor_material div.dhx_cell_editor div.dhx_cell_toolbar_def div.dhx_toolbar_material { - box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24); -} -.dhxeditor_material.stb_height_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 50px; - height: 1px; - overflow: hidden; -} -.dhxeditor_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 40px; - height: 10px; - overflow: hidden; -} diff --git a/themes/sources/dhtmlxForm/codebase/dhtmlxform.js b/themes/sources/dhtmlxForm/codebase/dhtmlxform.js deleted file mode 100644 index d2e312a..0000000 --- a/themes/sources/dhtmlxForm/codebase/dhtmlxform.js +++ /dev/null @@ -1,3472 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -function dhtmlXForm(parentObj, data, skin) { - - this.idef = { - position: "label-left", - labelWidth: "auto", - labelHeight: "auto", - inputWidth: "auto", - inputHeight: "auto", - labelAlign: "left", - noteWidth: "auto", - offsetTop: 0, - offsetLeft: 0, - blockOffset: 20 // block only - }; - this.idef_const = { - offsetNested: 20 // sub_level - }; - this.apos_css = { - "label-left": "dhxform_item_label_left", - "label-right": "dhxform_item_label_right", - "label-top": "dhxform_item_label_top", - "label-bottom": "dhxform_item_label_bottom", // new - "absolute": "dhxform_item_absolute" - }; - this.align_css = { - left: "dhxform_label_align_left", - center: "dhxform_label_align_center", - right: "dhxform_label_align_right" - }; - - var that = this; - - // define skin - - // 1) skin 3rd arg [new] - // 2) dhtmlx.skin - // 3) autodetect skin - // 4) default skyblue - - this.setSkin = function(skin) { - this.skin = skin; - this.cont.className = "dhxform_obj_"+this.skin; - this.cont.style.fontSize = (skin=="material"?"14px":(skin=="dhx_terrace"?"13px":"12px")); - this._updateBlocks(); - // update calendar skin - this.forEachItem(function(id){ - var t = that.getItemType(id); - if (typeof(that.items[t]) != "undefined" && typeof(that.items[t].setSkin) == "function") { - that.doWithItem(id, "setSkin", skin); - } - }); - } - - this.skin = (skin||window.dhx4.skin||(typeof(dhtmlx)!="undefined"?dhtmlx.skin:null)||window.dhx4.skinDetect("dhx_form")||"material"); - - this.separator = ","; - this.live_validate = false; - - this._type = "checkbox"; - this._rGroup = "default"; - - this._idIndex = {}; - this._indexId = []; - - this.cont = (typeof(parentObj)=="object"?parentObj:document.getElementById(parentObj)); - - if (!parentObj._isNestedForm) { - - this._parentForm = true; - - this.cont.style.fontSize = (this.skin=="material"?"14px":(this.skin=="dhx_terrace"?"13px":"12px")); - this.cont.className = "dhxform_obj_"+this.skin; - - this.setFontSize = function(fs) { - this.cont.style.fontSize = fs; - this._updateBlocks(); - } - - this.getForm = function() { - return this; - } - - this.cont.onkeypress = function(e) { - e = (e||event); - if (e.keyCode == 13) { - var t = (e.target||e.srcElement); - if (typeof(t.tagName) != "undefined" && String(t.tagName).toLowerCase() == "textarea" && !e.ctrlKey) return; - that.callEvent("onEnter",[]); - } - } - - } - - this.b_index = null; - this.base = []; - this._prepare = function(ofsLeft, pos) { - - if (this.b_index == null) this.b_index = 0; else this.b_index++; - - // if pos specified, check all items inside all bases, - var insBeforeBase = null; // base - var insBeforeItem = null; // items from start to move next-items within single base - - if (pos != null) { - if (pos < 0) pos = 0; - var i = 0; - for (var w=0; w=0?u:data.length] = i; - return data; - } - - this._genStr = function(w) { - var s = "dhxId_"; - var z = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; - for (var q=0; q 0) { - insBeforeItem = this.itemPull[a]._listBase[this.itemPull[a]._listBase.length-1]; - } - - } - } - } - var tr = document.createElement("DIV"); - if (insertAfter == true && insBeforeItem != null) insBeforeItem = insBeforeItem.nextSibling; - if (insBeforeItem != null) { - insBeforeBase.insertBefore(tr, insBeforeItem); - } else { - insBeforeBase.appendChild(tr); - } - } - } - - tr._idd = id; - tr._rId = this._rId; - - if (typeof(tr.style) != "undefined") { - // read from settings if not set - if (typeof(data.offsetLeft) == "undefined" && this.idef.offsetLeft > 0) data.offsetLeft = this.idef.offsetLeft; - if (typeof(data.offsetTop) == "undefined" && this.idef.offsetTop > 0) data.offsetTop = this.idef.offsetTop; - // - var k = ""; - if (typeof(data.offsetLeft) != "undefined") k += " padding-left:"+data.offsetLeft+"px!important;"; - if (typeof(data.offsetTop) != "undefined") k += " padding-top:"+data.offsetTop+"px!important;"; - tr.style.cssText += k; - } - - if (type == "block") { - if (isNaN(data.blockOffset)) data.blockOffset = this.idef.blockOffset; - } - - if (type == "list") { - - if (typeof(tr._ofsNested) == "undefined") tr._ofsNested = this.idef_const.offsetNested; - - if (sId != null) tr._sId = sId; - - var listData = this.items[type].render(tr, this.skin); - - if (!this.itemPull[this.idPrefix+id]._listObj) this.itemPull[this.idPrefix+id]._listObj = []; - if (!this.itemPull[this.idPrefix+id]._list) this.itemPull[this.idPrefix+id]._list = []; - if (!this.itemPull[this.idPrefix+id]._listBase) this.itemPull[this.idPrefix+id]._listBase = []; - - (this.itemPull[this.idPrefix+id]._listObj).push(listData[0]); - (this.itemPull[this.idPrefix+id]._list).push(listData[1]); - (this.itemPull[this.idPrefix+id]._listBase).push(tr); - - listData[1].checkEvent = function(evName) { - return that.checkEvent(evName); - } - listData[1].callEvent = function(evName, evData) { - that.$eventSource = this; - return that.callEvent(evName, evData); - } - listData[1].getForm = function() { - return that.getForm(); - } - listData[1]._initObj(this._mergeSettings(data)); - - if (tr._inBlcok) tr.className += " in_block"; - - return listData[1]; - - } - - if (type == "newcolumn") { - this._prepare(data.offset, pos); - return; - } - - if (type == "label" && this._ic++ == 0) data._isTopmost = true; - - data.position = this.apos_css[(!data.position||!this.apos_css[data.position]?this.idef.position:data.position)]; - tr.className = data.position+(typeof(data.className)=="string"?" "+data.className:""); - - if (!data.labelWidth) data.labelWidth = this.idef.labelWidth; - if (!data.labelHeight) data.labelHeight = this.idef.labelHeight; - - if (typeof(data.wrap) != "undefined") data.wrap = window.dhx4.s2b(data.wrap); - - data.labelAlign = (this.align_css[data.labelAlign]?this.align_css[data.labelAlign]:this.align_css[this.idef.labelAlign]); - - data.inputWidth = (data.width?data.width:(data.inputWidth?data.inputWidth:this.idef.inputWidth)); - if (!data.inputHeight) data.inputHeight = this.idef.inputHeight; - - if (typeof(data.note) != "undefined") { - if (data.note.length != null && data.note[0] != null) data.note = data.note[0]; // probably array from xml conversion - if (typeof(data.note.width) == "undefined") data.note.width = this.idef.noteWidth; - if (data.note.width == "auto") data.note.width = data.inputWidth; - } - - tr.checkEvent = function(evName) { - return that.checkEvent(evName); - } - tr.callEvent = function(evName, evData) { - return that.callEvent(evName, evData); - } - tr.getForm = function() { - return that.getForm(); - } - tr._autoCheck = function(t) { - that._autoCheck(t); - } - - // convert r/o - if (typeof(data.readonly) == "string") data.readonly = window.dhx4.s2b(data.readonly); - if (typeof(data.autoStart) == "string") data.autoStart = window.dhx4.s2b(data.autoStart); - if (typeof(data.autoRemove) == "string") data.autoRemove = window.dhx4.s2b(data.autoRemove); - if (typeof(data.titleScreen) == "string") data.titleScreen = window.dhx4.s2b(data.titleScreen); - if (typeof(data.info) == "string") data.info = window.dhx4.s2b(data.info); - if (typeof(data.hidden) == "string") data.hidden = window.dhx4.s2b(data.hidden); - if (typeof(data.checked) == "string") data.checked = window.dhx4.s2b(data.checked); - - // userdata - if (typeof(data.userdata) != "undefined") { - for (var a in data.userdata) this.getForm().setUserData(id,a,data.userdata[a]); - } - - // validate - if (data.validate) { - if (typeof(data.validate != "undefined") && (typeof(data.validate) == "function" || typeof(window[data.validate]) == "function")) { - tr._validate = [data.validate]; - } else { - tr._validate = String(data.validate).split(this.separator); - } - } - if (typeof(data.required) != "undefined") { - if (typeof(data.required) == "string") data.required = window.dhx4.s2b(data.required); - tr._required = (data.required==true); - } - if (tr._required) { - if (!tr._validate) tr._validate = []; - var p = false; - for (q=0; q 0) opts[0].selected = true; - } - // radiobutton - if (this.itemPull[a]._type == "ra") { - var g = this.itemPull[a]._group; - if (!usedRAs[g]) { this.checkItem(g, this.doWithItem(t, "_getFirstValue")); usedRAs[g] = true; } - } - // nested lists - if (this.itemPull[a]._list) for (var q=0; q 0) this.base[q].removeChild(this.base[q].childNodes[0]); - if (this.base[q].parentNode) this.base[q].parentNode.removeChild(this.base[q]); - this.base[q] = null; - } - this.base = null; - - this.cont.onkeypress = null; - this.cont.className = ""; - this.cont = null; - - for (var a in this) this[a] = null; - - that = null; - - } - - for (var a in this.items) { - - this.items[a].t = a; - - if (typeof(this.items[a]._index) == "undefined") { - this.items[a]._index = true; - } - - if (!this.items[a].show) { - this.items[a].show = function(item) { - item.style.display = ""; - if (item._listObj) for (var q=0; q"+data.label+(data.info?"[?]":"")+(item._required?"*":"")+'

                    '; - - if (!isNaN(data.labelWidth)) t.firstChild.style.width = parseInt(data.labelWidth)+"px"; - if (!isNaN(data.labelHeight)) t.firstChild.style.height = parseInt(data.labelHeight)+"px"; - - if (!isNaN(data.labelLeft)) t.style.left = parseInt(data.labelLeft)+"px"; - if (!isNaN(data.labelTop)) t.style.top = parseInt(data.labelTop)+"px"; - - }, - - doAddInput: function(item, data, el, type, pos, dim, css) { - - var p = document.createElement("DIV"); - p.className = "dhxform_control"; - - if (item._ll) { - item.appendChild(p); - } else { - item.insertBefore(p,item.firstChild); - } - - var t = document.createElement(el); - t.className = css; - t.name = item._idd; - t._idd = item._idd; - t.id = data.uid; - - if (typeof(type) == "string") t.type = type; - - if (el == "INPUT" || el == "TEXTAREA") { - t.onkeyup = function(e) { - e = e||event; - item.callEvent("onKeyUp",[this,e,this._idd]); - }; - t.onkeydown = function(e) { - e = e||event; - item.callEvent("onKeyDown",[this,e,this._idd]); - }; - } - - if (el == "SELECT" && data.type == "select" && item.getForm().skin == "material") { - if (window.dhx4.isOpera || window.dhx4.isChrome) { - t.className += " dhxform_arrow_fix_webkit"; - } else if (window.dhx4.isEdge) { - t.className += " dhxform_arrow_fix_edge"; - } else if (window.dhx4.isFF) { - t.className += " dhxform_fix_ff"; - } - } - - p.appendChild(t); - - if (pos) { - if (!isNaN(data.inputLeft)) p.style.left = parseInt(data.inputLeft)+"px"; - if (!isNaN(data.inputTop)) p.style.top = parseInt(data.inputTop)+"px"; - } - - var u = ""; - - var dimFix = false; - if (dim) { - if (!isNaN(data.inputWidth)) { u += "width:"+parseInt(data.inputWidth)+"px;"; dimFix=true; } - if (!isNaN(data.inputHeight)) u += "height:"+parseInt(data.inputHeight)+"px;"; - } - if (typeof(data.style) == "string") u += data.style; - t.style.cssText = u; - - if (data.maxLength) t.setAttribute("maxLength", data.maxLength); - if (data.connector) t.setAttribute("connector", data.connector); - - var i = (dhtmlXForm.prototype.items[this.t] != null ? dhtmlXForm.prototype.items[this.t]._dimFix == true : false); - if (dimFix && ({input: 1, password:1, select:1, multiselect:1, calendar:1, colorpicker:1}[this.t] == 1 || i)) { - if (dhtmlXForm.prototype.items[this.t]._dim == null) dhtmlXForm.prototype.items[this.t]._dim = item.getForm()._checkDim(p, t); - t.style.width = parseInt(t.style.width)-dhtmlXForm.prototype.items[this.t]._dim+"px"; - } - - if (typeof(data.note) == "object") { - var note = document.createElement("DIV"); - note.className = "dhxform_note"; - note.style.width = (isNaN(data.note.width)?t.offsetWidth:parseInt(data.note.width))+"px"; - note._w = data.note.width; - note.innerHTML = data.note.text; - p.appendChild(note); - note = null; - } - - if (data.readonly) this.setReadonly(item, true); - if (data.disabled == true) this.userDisable(item); - if (data.hidden == true && this.t != "combo") this.hide(item); - - }, - - doUnloadNestedLists: function(item) { - - if (!item._list) return; - for (var q=0; q 0) item.removeChild(item.childNodes[0]); - - item.parentNode.removeChild(item); - item = null; - - }, - - doAttachEvents: function(item) { - var that = this; - // image click - item.childNodes[item._ll?1:0][window.dhx4.isIPad?"ontouchstart":"onmousedown"] = function(e) { - e = e||event; - if (e.preventDefault) e.preventDefault(); - var t = (e.target||e.srcElement); // need to skip "note" if exists - if (!this.parentNode._enabled || this.parentNode._ro || (typeof(t.className) != "undefined" && t.className == "dhxform_note")) { - e.cancelBubble = true; - if (e.preventDefault) e.preventDefault(); else e.returnValue = false; - return false; - } - that.doClick(this.parentNode); - } - // label click - item.childNodes[item._ll?0:1].childNodes[0][window.dhx4.isIPad?"ontouchstart":"onmousedown"] = function(e) { - e = e||event; - if (e.preventDefault) e.preventDefault(); - // do not check if r/o here, allow item's be highlighted, check for r/o added into doClick - if (!this.parentNode.parentNode._enabled) { - e.cancelBubble = true; - if (e.preventDefault) e.preventDefault(); else e.returnValue = false; - return false; - } - // check if "info" clicked (checkbox/radio only) - var t = e.target||e.srcElement; - if (typeof(t.className) != "undefined" && t.className == "dhxform_info") { - this.parentNode.parentNode.callEvent("onInfo",[this.parentNode.parentNode._idd, e]); - e.cancelBubble = true; - if (e.preventDefault) e.preventDefault(); else e.returnValue = false; - return false; - } - that.doClick(this.parentNode.parentNode); - } - }, - - doClick: function(item) { - - item.childNodes[item._ll?0:1].childNodes[0].focus(); - - if (!item._enabled || item._ro) return; - - if (item.checkEvent("onBeforeChange")) if (item.callEvent("onBeforeChange", [item._idd, item._value, item._checked]) !== true) return; - - this.setChecked(item, !item._checked); - item._autoCheck(); - item.callEvent("onChange", [item._idd, item._value, item._checked]); - }, - - doCheckValue: function(item) { - if (item._checked && item._enabled) { - item.childNodes[item._ll?1:0].firstChild.name = String(item._idd); - item.childNodes[item._ll?1:0].firstChild.value = this.getValue(item); - } else { - item.childNodes[item._ll?1:0].firstChild.name = ""; - item.childNodes[item._ll?1:0].firstChild.value = ""; - } - }, - - setChecked: function(item, state) { - item._checked = (state===true?true:false); - //item.childNodes[item._ll?1:0].lastChild.className = "dhxform_img "+(item._checked?"chbx1":"chbx0"); - item.childNodes[item._ll?1:0].lastChild.className = item.childNodes[item._ll?1:0].lastChild.className.replace(/chbx[0-1]{1}/gi,"")+(item._checked?" chbx1":" chbx0"); - this.doCheckValue(item); - }, - - check: function(item) { - this.setChecked(item, true); - }, - - unCheck: function(item) { - this.setChecked(item, false); - }, - - isChecked: function(item) { - return item._checked; - }, - - enable: function(item) { - if (String(item.className).search("disabled") >= 0) item.className = String(item.className).replace(/disabled/gi,""); - item._enabled = true; - item.childNodes[item._ll?0:1].childNodes[0].tabIndex = 0; - item.childNodes[item._ll?0:1].childNodes[0].removeAttribute("disabled"); - this.doCheckValue(item); - }, - - disable: function(item) { - if (String(item.className).search("disabled") < 0) item.className += " disabled"; - item._enabled = false; - if (item._updateImgNode != null) item._updateImgNode(item, false); // clear focus on disable fix - item.childNodes[item._ll?0:1].childNodes[0].tabIndex = -1; - item.childNodes[item._ll?0:1].childNodes[0].setAttribute("disabled", "true"); - this.doCheckValue(item); - }, - - isEnabled: function(item) { - return item._enabled; - }, - - setText: function(item, text) { - item.childNodes[item._ll?0:1].childNodes[0].innerHTML = text+(item._required?"*":""); - }, - - getText: function(item) { - return item.childNodes[item._ll?0:1].childNodes[0].innerHTML.replace(/[^<]*<\/span>/g,""); - }, - - setValue: function(item, value) { - this.setChecked(item,(value===true||parseInt(value)==1||value=="true"||item._value===value)); - }, - - getValue: function(item, mode) { - if (mode == "realvalue") return item._value; - return ((typeof(item._value)=="undefined"||item._value==null)?(item._checked?1:0):item._value); - }, - - setReadonly: function(item, state) { - item._ro = (state===true); - }, - - isReadonly: function(item) { - return item._ro; - }, - - setFocus: function(item) { - item.childNodes[item._ll?0:1].childNodes[0].focus(); - } - -}; - -/* radio */ -dhtmlXForm.prototype.items.radio = { - - input: {}, - - r: {}, - - firstValue: {}, - - render: function(item, data, uid) { - - item._type = "ra"; - item._enabled = true; - item._checked = false; - item._group = data.name; - item._value = data.value; - item._uid = uid; - item._ro = (data.readonly==true); - item._rName = item._rId+item._group; - - this.r[item._idd] = item; - - data.inputWidth = 14; - - this.doAddLabel(item, data); - this.doAddInput(item, data, "INPUT", "TEXT", true, true, "dhxform_textarea"); - - item.childNodes[item._ll?1:0].className += " dhxform_img_node"; - - // radio img - var p = document.createElement("DIV"); - p.className = "dhxform_img rdbt0"; - item.appendChild(p); - - if (!isNaN(data.inputLeft)) item.childNodes[item._ll?1:0].style.left = parseInt(data.inputLeft)+"px"; - if (!isNaN(data.inputTop)) item.childNodes[item._ll?1:0].style.top = parseInt(data.inputTop)+"px"; - - item.childNodes[item._ll?1:0].appendChild(p); - - // hidden input needed just to keep common logic, name-value should be empty to prevent sending to server from real form - item.childNodes[item._ll?1:0].firstChild.name = ""; - item.childNodes[item._ll?1:0].firstChild.value = ""; - - item._updateImgNode = function(item, state) { - var t = item.childNodes[item._ll?1:0].lastChild; - t.className = (state?"dhxform_actv_r":"dhxform_img")+" "+(item._checked?"rdbt1":"rdbt0"); - item = t = null; - } - - item._doOnFocus = function(item) { - item.getForm().callEvent("onFocus",[item._group, item._value]); - } - - item._doOnBlur = function(item) { - item.getForm().callEvent("onBlur",[item._group, item._value]); - } - - item._doOnKeyUpDown = function(evName, evObj) { - this.callEvent(evName, [this.childNodes[this._ll?0:1].childNodes[0], evObj, this._group, this._value]); - } - - // input - if (this.input[item._rName] == null) { - var k = document.createElement("INPUT"); - k.type = "HIDDEN"; - k.name = data.name; - k.firstValue = item._value; - item.appendChild(k); - this.input[item._rName] = k; - } - - if (!this.firstValue[item._rName]) this.firstValue[item._rName] = data.value; - - if (data.checked == true) this.check(item); - if (data.hidden == true) this.hide(item); - if (data.disabled == true) this.userDisable(item); - - this.doAttachEvents(item); - - return this; - }, - - destruct: function(item, value) { - - // check if any items will left to keep hidden input on page - - if (item.lastChild == this.input[item._rName]) { - var done = false; - for (var a in this.r) { - if (!done && this.r[a]._group == item._group && this.r[a]._idd != item._idd) { - this.r[a].appendChild(this.input[item._rName]); - done = true; - } - } - if (!done) { - // remove hidden input - this.input[item._rName].parentNode.removeChild(this.input[item._rName]); - this.input[item._rName] = null; - this.firstValue[item._rName] = null; - } - } - - this.r[item._idd] = null; - delete this.r[item._idd]; - - item._doOnFocus = item._doOnBlur = item._updateImgNode = null; - this.doUnloadNestedLists(item); - this.doDestruct(item); - - var id = item._idd; - item = null; - - return id; - - }, - - doClick: function(item) { - - item.childNodes[item._ll?0:1].childNodes[0].focus(); - - if (!(item._enabled && !item._checked)) return; - if (item._ro) return; - - var args = [item._group, item._value, true]; - if (item.checkEvent("onBeforeChange")) if (item.callEvent("onBeforeChange", args) !== true) return; - this.setChecked(item, true); - item.getForm()._autoCheck(); - item.callEvent("onChange", args); - - }, - - doCheckValue: function(item) { - var value = null; - for (var a in this.r) { - if (this.r[a]._checked && this.r[a]._group == item._group && this.r[a]._rId == item._rId) value = this.r[a]._value; // allow getChecked for disabled, v3.6.2 - } - if (value != null && this.r[a]._enabled) { - this.input[item._rName].name = String(item._group); - this.input[item._rName].value = value; - } else { - this.input[item._rName].name = ""; - this.input[item._rName].value = ""; - } - this.input[item._rName]._value = value; - }, - - setChecked: function(item, state) { - state = (state===true); - for (var a in this.r) { - if (this.r[a]._group == item._group && this.r[a]._rId == item._rId) { - var needCheck = false; - if (this.r[a]._idd == item._idd) { - if (this.r[a]._checked != state) { this.r[a]._checked = state; needCheck = true; } - } else { - if (this.r[a]._checked) { this.r[a]._checked = false; needCheck = true; } - } - if (needCheck) { - var t = this.r[a].childNodes[this.r[a]._ll?1:0].childNodes[1]; - t.className = t.className.replace(/rdbt[0-1]{1}/gi,"")+(this.r[a]._checked?" rdbt1":" rdbt0"); - t = null; - } - } - } - this.doCheckValue(item); - }, - - getChecked: function(item) { - return this.input[item._rName]._value; - }, - - _getFirstValue: function(item) { - return this.firstValue[item._rName]; - }, - - _getId: function(item) { - return item._idd; // return inner id by name/value - }, - - setValue: function(item, value) { - // this method will never called at all - } - -}; - -(function(){ - for (var a in {doAddLabel:1,doAddInput:1,doDestruct:1,doUnloadNestedLists:1,doAttachEvents:1,check:1,unCheck:1,isChecked:1,enable:1,disable:1,isEnabled:1,setText:1,getText:1,getValue:1,setReadonly:1,isReadonly:1,setFocus:1}) - dhtmlXForm.prototype.items.radio[a] = dhtmlXForm.prototype.items.checkbox[a]; -})(); - - -/* select */ -dhtmlXForm.prototype.items.select = { - - render: function(item, data) { - - item._type = "se"; - item._enabled = true; - item._value = null; - item._newValue = null; - - this.doAddLabel(item, data); - this.doAddInput(item, data, "SELECT", null, true, true, "dhxform_select"); - this.doAttachEvents(item); - - this.doLoadOpts(item, data); - if (data.connector != null) this.doLoadOptsConnector(item, data.connector); - - if (typeof(data.value) != "undefined" && data.value != null) { - this.setValue(item, data.value); - } - - return this; - }, - - destruct: function(item) { - - this.doUnloadNestedLists(item); - - item.callEvent = null; - item.checkEvent = null; - item.getForm = null; - - item._autoCheck = null; - item._enabled = null; - item._idd = null; - item._type = null; - item._value = null; - item._newValue = null; - - item.onselectstart = null; - - item.childNodes[item._ll?1:0].childNodes[0].onclick = null; - item.childNodes[item._ll?1:0].childNodes[0].onkeydown = null; - item.childNodes[item._ll?1:0].childNodes[0].onchange = null; - item.childNodes[item._ll?1:0].childNodes[0].onfocus = null; - item.childNodes[item._ll?1:0].childNodes[0].onblur = null; - item.childNodes[item._ll?1:0].childNodes[0].onkeyup = null; - item.childNodes[item._ll?1:0].removeChild(item.childNodes[item._ll?1:0].childNodes[0]); - - while (item.childNodes.length > 0) item.removeChild(item.childNodes[0]); - - item.parentNode.removeChild(item); - item = null; - - }, - - doAddLabel: function(item, data) { - - var j = document.createElement("DIV"); - j.className = "dhxform_label "+data.labelAlign; - j.innerHTML = ""; - // - if (data.wrap == true) j.style.whiteSpace = "normal"; - - if (typeof(data.tooltip) != "undefined") j.title = data.tooltip; - - item.appendChild(j); - - if (typeof(data.label) == "undefined" || data.label == null || data.label.length == 0) j.style.display = "none"; - - if (!isNaN(data.labelWidth)) j.style.width = parseInt(data.labelWidth)+"px"; - if (!isNaN(data.labelHeight)) j.style.height = parseInt(data.labelHeight)+"px"; - - if (!isNaN(data.labelLeft)) j.style.left = parseInt(data.labelLeft)+"px"; - if (!isNaN(data.labelTop)) j.style.top = parseInt(data.labelTop)+"px"; - - if (data.info) { - j.onclick = function(e) { - e = e||event; - var t = e.target||e.srcElement; - if (typeof(t.className) != "undefined" && t.className == "dhxform_info") { - this.parentNode.callEvent("onInfo",[this.parentNode._idd, e]); - e.cancelBubble = true; - if (e.preventDefault) e.preventDefault(); else e.returnValue = false; - return false; - } - } - } - }, - - doAttachEvents: function(item) { - - var t = item.childNodes[item._ll?1:0].childNodes[0]; - var that = this; - - t.onclick = function() { - that.doOnChange(this); - } - t.onkeydown = function(e) { - e = e||event; - that.doOnChange(this); - this.parentNode.parentNode.callEvent("onKeyDown",[this,e,this.parentNode.parentNode._idd]); - } - t.onchange = function() { - that.doOnChange(this); - } - t.onkeyup = function(e) { - e = e||event; - this.parentNode.parentNode.callEvent("onKeyUp",[this,e,this.parentNode.parentNode._idd]); - } - t = null; - - this.doAttachChangeLS(item); - }, - - doAttachChangeLS: function(item) { - - var t = item.childNodes[item._ll?1:0].childNodes[0]; - t.onfocus = function() { - var i = this.parentNode.parentNode; - i.getForm()._ccActivate(i._idd, this, i.getForm().getItemValue(i._idd,true)); - i.getForm().callEvent("onFocus",[i._idd]); - i = null; - } - t.onblur = function() { - var i = this.parentNode.parentNode; - i.getForm()._ccDeactivate(i._idd); - i.getForm().callEvent("onBlur",[i._idd]); - i = null; - } - t = null; - }, - - doValidate: function(item) { - if (item.getForm().live_validate) this._validate(item); - }, - - doLoadOpts: function(item, data, callEvent) { - var t = item.childNodes[item._ll?1:0].childNodes[0]; - var opts = data.options; - var k = false; - for (var q=0; q= 0) item._value = t.options[t.selectedIndex].value; - - if (callEvent === true) item.callEvent("onOptionsLoaded", [item._idd]); - // fix note if width set to auto - this._checkNoteWidth(item); - }, - - doLoadOptsConnector: function(item, url) { - - var that = this; - item._connector_working = true; - - window.dhx4.ajax.get(url, function(r) { - - var t = r.xmlDoc.responseText; - if (t.indexOf("{") === 0){ - //json - var data = JSON.parse(t); - that.doLoadOpts(item, data, true); - } else { - r = r.xmlDoc.responseXML; - if (r == null) return; - - var root = r.getElementsByTagName("data"); - if (root == null || root[0] == null) return; - - root = root[0]; - - var opts = []; - for (var q=0; q=0?sel.options[sel.selectedIndex].value:null); - if (item._newValue != item._value) { - if (item.checkEvent("onBeforeChange")) { - if (item.callEvent("onBeforeChange", [item._idd, item._value, item._newValue]) !== true) { - // restore last value - for (var q=0; q*":""); - item.childNodes[item._ll?0:1].style.display = (text.length==0||text==null?"none":""); - }, - - getText: function(item) { - return item.childNodes[item._ll?0:1].childNodes[0].innerHTML.replace(/[^<]*<\/span>/g,""); - }, - - enable: function(item) { - if (String(item.className).search("disabled") >= 0) item.className = String(item.className).replace(/disabled/gi,""); - item._enabled = true; - item.childNodes[item._ll?1:0].childNodes[0].removeAttribute("disabled"); - }, - - disable: function(item) { - if (String(item.className).search("disabled") < 0) item.className += " disabled"; - item._enabled = false; - item.childNodes[item._ll?1:0].childNodes[0].setAttribute("disabled", true); - }, - - getOptions: function(item) { - return item.childNodes[item._ll?1:0].childNodes[0].options; - }, - - setValue: function(item, val) { - if (item._connector_working) { // attemp to set value while optins not yet loaded (connector used) - item._connector_value = val; - return; - } - var opts = this.getOptions(item); - for (var q=0; q 0) { - item.getForm()._autoCheck(); - } - - item.getForm()._ccReload(item._idd, item._value); // selected option id - - }, - - getValue: function(item) { - var k = -1; - var opts = this.getOptions(item); - for (var q=0; q= 0 && t._w == "auto") t.style.width = item.childNodes[item._ll?1:0].childNodes[0].offsetWidth+"px"; - } - t = null; - } - -}; -(function(){ - for (var a in {doAddInput:1,doUnloadNestedLists:1,isEnabled:1}) - dhtmlXForm.prototype.items.select[a] = dhtmlXForm.prototype.items.checkbox[a]; -})(); - -/* multiselect */ -dhtmlXForm.prototype.items.multiselect = { - - doLoadOpts: function(item, data, callEvent) { - var t = item.childNodes[item._ll?1:0].childNodes[0]; - t.multiple = true; - if (!isNaN(data.size)) t.size = Number(data.size); - item._value = []; - item._newValue = []; - var opts = data.options; - for (var q=0; q= 0) item.className = String(item.className).replace(/disabled/gi,""); - item._enabled = true; - }, - - disable: function(item) { - if (String(item.className).search("disabled") < 0) item.className += " disabled"; - item._enabled = false; - }, - - setText: function(item, text) { - item.firstChild.innerHTML = text; - }, - - getText: function(item) { - return item.firstChild.innerHTML; - } - -}; - -(function(){ - for (var a in {doUnloadNestedLists:1,isEnabled:1}) - dhtmlXForm.prototype.items.label[a] = dhtmlXForm.prototype.items.checkbox[a]; -})(); - - -/* button */ -dhtmlXForm.prototype.items.button = { - - render: function(item, data) { - - item._type = "bt"; - item._enabled = true; - item._name = data.name; - - item.className = String(item.className).replace("item_label_top","item_label_left").replace("item_label_right","item_label_left"); - - item._doOnKeyUpDown = function(evName, evObj) { - this.callEvent(evName, [this.childNodes[0].childNodes[0], evObj, this._idd]); - } - - item.innerHTML = '
                    '+ - '
                    '+data.value+'
                    '+ - '
                    '+ // IE click w/o focus loss - '
                    '; - - if (!isNaN(data.width)) { - var w = Math.max(data.width,10); - if (dhtmlXForm.prototype.items[this.t]._dim == null) { - item.firstChild.style.width = w+"px"; - dhtmlXForm.prototype.items[this.t]._dim = item.getForm()._checkDim(item, item.firstChild); - } - item.firstChild.style.width = w-dhtmlXForm.prototype.items[this.t]._dim+"px"; - item.firstChild.firstChild.className += " dhxform_btn_txt_autowidth"; - } - - - - if (!isNaN(data.inputLeft)) item.childNodes[0].style.left = parseInt(data.inputLeft)+"px"; - if (!isNaN(data.inputTop)) item.childNodes[0].style.top = parseInt(data.inputTop)+"px"; - - if (data.hidden == true) this.hide(item); - if (data.disabled == true) this.userDisable(item); - - if (typeof(data.tooltip) != "undefined") item.firstChild.title = data.tooltip; - - // item onselectstart also needed once - // will reconstructed! - - item.onselectstart = function(e){ - e = e||event; - e.cancelBubble = true; - if (e.preventDefault) e.preventDefault(); else e.returnValue = false; - return false; - } - item.firstChild.onselectstart = function(e){ - e = e||event; - e.cancelBubble = true; - if (e.preventDefault) e.preventDefault(); else e.returnValue = false; - return false; - } - - item.firstChild.onkeypress = function(e) { - e = e||event - if ((e.keyCode == 32 || e.charCode == 32 || e.keyCode == 13 || e.charCode == 13) && !this.parentNode._busy) { - this.parentNode._busy = true; - e.cancelBubble = true; - if (e.preventDefault) e.preventDefault(); else e.returnValue = false; - _dhxForm_doClick(this.childNodes[0], ["mousedown", "mouseup"]); - return false; - } - } - - item.firstChild.onfocus = function() { - this.parentNode._doOnFocus(this.parentNode); - } - - item.firstChild.onblur = function() { - _dhxForm_doClick(this.childNodes[0], "mouseout"); - this.parentNode._doOnBlur(this.parentNode); - } - - item.firstChild.onkeyup = function(e) { - this.parentNode._doOnKeyUpDown("onKeyUp", e||event); - } - item.firstChild.onkeydown = function(e) { - this.parentNode._doOnKeyUpDown("onKeyDown", e||event); - } - item.firstChild.onmouseover = function(){ - var t = this.parentNode; - if (!t._enabled) return; - this._isOver = true; - this.className = "dhxform_btn dhxform_btn_over"; - t = null; - } - item.firstChild.onmouseout = function(){ - var t = this.parentNode; - if (!t._enabled) return; - this.className = "dhxform_btn"; - this._allowClick = false; - this._pressed = false; - this._isOver = false; - t = null; - } - item.firstChild.ontouchstart = item.firstChild.onmousedown = function(e){ - e = e||event; - if (e.type == "touchstart" && e.preventDefault) e.preventDefault(); - if (e.button >= 2) return; // ie=0/other=1 - if (this._pressed) return; - var t = this.parentNode; - if (!t._enabled) return; - this.className = "dhxform_btn dhxform_btn_pressed"; - this._allowClick = true; - this._pressed = true; - t = null; - } - - item.firstChild.ontouchend = item.firstChild.onmouseup = function(e){ - e = e||event; - if (e.button >= 2) return; - if (!this._pressed) return; - var t = this.parentNode; - if (!t._enabled) return; - t._busy = false; - this.className = "dhxform_btn"+(this._isOver?" dhxform_btn_over":""); - if (this._pressed && this._allowClick) t.callEvent("_onButtonClick", [t._name, t._cmd]); - this._allowClick = false; - this._pressed = false; - t = null; - } - - item._doOnFocus = function(item) { - item.getForm().callEvent("onFocus",[item._idd]); - } - - item._doOnBlur = function(item) { - item.getForm().callEvent("onBlur",[item._idd]); - } - - return this; - }, - - destruct: function(item) { - - this.doUnloadNestedLists(item); - - item.callEvent = null; - item.checkEvent = null; - item.getForm = null; - - item._autoCheck = null; - item._type = null; - item._enabled = null; - item._cmd = null; - item._name = null; - item._doOnFocus = null; - item._doOnBlur = null; - item._doOnKeyUpDown = null; - - item.onselectstart = null; - - item.firstChild.onselectstart = null; - item.firstChild.onkeypress = null; - item.firstChild.ontouchstart = null; - item.firstChild.ontouchend = null; - item.firstChild.onfocus = null; - item.firstChild.onblur = null; - item.firstChild.onkeyup = null; - item.firstChild.onkeydown = null; - item.firstChild.onmouseover = null; - item.firstChild.onmouseout = null; - item.firstChild.onmousedown = null; - item.firstChild.onmouseup = null; - - while (item.childNodes.length > 0) item.removeChild(item.childNodes[0]); - - item.parentNode.removeChild(item); - item = null; - - }, - - enable: function(item) { - if (String(item.className).search("disabled") >= 0) item.className = String(item.className).replace(/disabled/gi,""); - item._enabled = true; - item.childNodes[0].removeAttribute("disabled"); - item.childNodes[0].setAttribute("role", "link"); - item.childNodes[0].setAttribute("tabIndex", "0"); - }, - - disable: function(item) { - if (String(item.className).search("disabled") < 0) item.className += " disabled"; - item._enabled = false; - item.childNodes[0].setAttribute("disabled", "true"); - item.childNodes[0].removeAttribute("role"); - item.childNodes[0].removeAttribute("tabIndex"); - }, - - setText: function(item, text) { - item.childNodes[0].childNodes[0].innerHTML = text; - }, - - getText: function(item) { - return item.childNodes[0].childNodes[0].innerHTML; - }, - - setFocus: function(item) { - item.childNodes[0].focus(); - } - -}; - -(function(){ - for (var a in {doUnloadNestedLists:1,isEnabled:1}) - dhtmlXForm.prototype.items.button[a] = dhtmlXForm.prototype.items.checkbox[a]; -})(); - -/* hidden item */ -dhtmlXForm.prototype.items.hidden = { - - _index: false, - - render: function(item, data) { - - item.style.display = "none"; - - item._name = data.name; - item._type = "hd"; - item._enabled = true; - - var t = document.createElement("INPUT"); - t.type = "HIDDEN"; - t.name = data.name; - t.value = (data.value||"") - item.appendChild(t); - - return this; - }, - - destruct: function(item) { - - - this.doUnloadNestedLists(item); - - while (item.childNodes.length > 0) item.removeChild(item.childNodes[0]); - - item._autoCheck = null; - item._name = null; - item._type = null; - item._enabled = null; - item.onselectstart = null; - item.callEvent = null; - item.checkEvent = null; - item.getForm = null; - item.parentNode.removeChild(item); - item = null; - - }, - - enable: function(item) { - item._enabled = true; - item.childNodes[0].setAttribute("name", item._name); - }, - - disable: function(item) { - item._enabled = false; - item.childNodes[0].removeAttribute("name"); - }, - - show: function() { - - }, - - hide: function() { - - }, - - isHidden: function() { - return true; - }, - - setValue: function(item, val) { - item.childNodes[0].value = val; - }, - - getValue: function(item) { - return item.childNodes[0].value; - }, - - getInput: function(item) { - return item.childNodes[0]; - } - -}; - -(function(){ - for (var a in {doUnloadNestedLists:1,isEnabled:1}) - dhtmlXForm.prototype.items.hidden[a] = dhtmlXForm.prototype.items.checkbox[a]; -})(); - -/* sub list */ -dhtmlXForm.prototype.items.list = { - - _index: false, - - render: function(item, skin) { - - item._type = "list"; - item._enabled = true; - item._isNestedForm = true; - item.style.paddingLeft = item._ofsNested+"px"; - - item.className = "dhxform_base_nested"+(item._custom_css||""); - - return [this, new dhtmlXForm(item, null, skin)]; - }, - - destruct: function(item) { - - // linked to _listBase - // automaticaly cleared when parent item unloaded - - } -}; - -/* fieldset */ -dhtmlXForm.prototype.items.fieldset = { - - _index: false, - - render: function(item, data) { - - item._type = "fs"; - - if (typeof(parseInt(data.inputWidth)) == "number") { - // if (window.dhx4.isFF||window.dhx4.isOpera) data.inputWidth -= 12; - // chrome-11/ie9 - ok - } - - item._width = data.width; - - item._enabled = true; - item._checked = true; // required for authoCheck - - item.className = "fs_"+data.position+(typeof(data.className)=="string"?" "+data.className:""); - - var f = document.createElement("FIELDSET"); - f.className = "dhxform_fs"; - var align = String(data.labelAlign).replace("align_",""); - f.innerHTML = ""+data.label+""; - item.appendChild(f); - - if (!isNaN(data.inputLeft)) f.style.left = parseInt(data.inputLeft)+"px"; - if (!isNaN(data.inputTop)) f.style.top = parseInt(data.inputTop)+"px"; - if (data.inputWidth != "auto") { - if (!isNaN(data.inputWidth)) { - f.style.width = parseInt(data.inputWidth)+"px"; - var w = parseInt(f.style.width); - if (f.offsetWidth > w) f.style.width = w+(w-f.offsetWidth)+"px"; - } - } - - item._addSubListNode = function() { - var t = document.createElement("DIV"); - t._custom_css = " dhxform_fs_nested"; - this.childNodes[0].appendChild(t); - return t; - } - - if (data.hidden == true) this.hide(item); - if (data.disabled == true) this.userDisable(item); - - return this; - }, - - destruct: function(item) { - - this.doUnloadNestedLists(item); - - item._checked = null; - item._enabled = null; - item._idd = null; - item._type = null; - item._width = null; - - item.onselectstart = null; - - item._addSubListNode = null; - item._autoCheck = null; - item.callEvent = null; - item.checkEvent = null; - item.getForm = null; - - while (item.childNodes.length > 0) item.removeChild(item.childNodes[0]); - - item.parentNode.removeChild(item); - item = null; - - }, - - setText: function(item, text) { - item.childNodes[0].childNodes[0].innerHTML = text; - }, - - getText: function(item) { - return item.childNodes[0].childNodes[0].innerHTML; - }, - - enable: function(item) { - item._enabled = true; - if (String(item.className).search("disabled") >= 0) item.className = String(item.className).replace(/disabled/gi,""); - }, - - disable: function(item) { - item._enabled = false; - if (String(item.className).search("disabled") < 0) item.className += " disabled"; - }, - - setWidth: function(item, width) { - item.childNodes[0].style.width = width+"px"; - item._width = width; - }, - - getWidth: function(item) { - return item._width; - } - -}; - -(function(){ - for (var a in {doUnloadNestedLists:1,isEnabled:1}) - dhtmlXForm.prototype.items.fieldset[a] = dhtmlXForm.prototype.items.checkbox[a]; -})(); - - -/* block */ -dhtmlXForm.prototype.items.block = { - - _index: false, - - render: function(item, data) { - - item._type = "bl"; - - item._width = data.width; - - item._enabled = true; - item._checked = true; // required for authoCheck - - item.className = "block_"+data.position+(typeof(data.className)=="string"?" "+data.className:""); - - var b = document.createElement("DIV"); - b.className = "dhxform_obj_"+item.getForm().skin+" dhxform_block"; - b.style.fontSize = item.getForm().cont.style.fontSize; - if (data.style) b.style.cssText = data.style; - - if (typeof(data.id) != "undefined") b.id = data.id; - - item.appendChild(b); - - if (!isNaN(data.inputLeft)) b.style.left = parseInt(data.inputLeft)+"px"; - if (!isNaN(data.inputTop)) b.style.top = parseInt(data.inputTop)+"px"; - if (data.inputWidth != "auto") if (!isNaN(data.inputWidth)) b.style.width = parseInt(data.inputWidth)+"px"; - - if (!isNaN(data.blockOffset)) { - item._ofsNested = data.blockOffset; - } - - item._addSubListNode = function() { - var t = document.createElement("DIV"); - t._inBlcok = true; - if (typeof(this._ofsNested) != "undefined") t._ofsNested = this._ofsNested; - this.childNodes[0].appendChild(t); - return t; - } - - if (data.hidden == true) this.hide(item); - if (data.disabled == true) this.userDisable(item); - - return this; - }, - - _setCss: function(item, skin, fontSize) { - item.firstChild.className = "dhxform_obj_"+skin+" dhxform_block"; - item.firstChild.style.fontSize = fontSize; - } -}; - -(function(){ - for (var a in {enable:1,disable:1,isEnabled:1,setWidth:1,getWidth:1,doUnloadNestedLists:1,destruct:1}) - dhtmlXForm.prototype.items.block[a] = dhtmlXForm.prototype.items.fieldset[a]; -})(); - -/* new column */ -dhtmlXForm.prototype.items.newcolumn = { - _index: false -}; - -/* template */ -dhtmlXForm.prototype.items.template = { - - render: function(item, data) { - - var ta = (!isNaN(data.rows)); - - item._type = "tp"; - item._enabled = true; - - if (data.format != null) { - if (typeof(data.format) == "function") { - item.format = data.format; - } else if (typeof(data.format) == "string" && typeof(window[data.format]) == "function") { - item.format = window[data.format]; - } - } - if (item.format == null) { - item.format = function(name, value) { return value; } - } - - this.doAddLabel(item, data); - this.doAddInput(item, data, "DIV", null, true, true, "dhxform_item_template"); - - this.setValue(item, data.value||""); - - return this; - - }, - - destruct: function(item) { - item.format = null; - this.d2(item); - item = null; - }, - - setValue: function(item, value) { - item._value = value; - item.childNodes[item._ll?1:0].childNodes[0].innerHTML = item.format(item._idd, item._value); - }, - - getValue: function(item) { - return item._value; - }, - - enable: function(item) { - if (String(item.className).search("disabled") >= 0) item.className = String(item.className).replace(/disabled/gi,""); - item._enabled = true; - }, - - disable: function(item) { - if (String(item.className).search("disabled") < 0) item.className += " disabled"; - item._enabled = false; - } - -}; - -(function(){ - dhtmlXForm.prototype.items.template.d2 = dhtmlXForm.prototype.items.input.destruct; - for (var a in {doAddLabel:1,doAddInput:1,doUnloadNestedLists:1,setText:1,getText:1,isEnabled:1,setWidth:1}) - dhtmlXForm.prototype.items.template[a] = dhtmlXForm.prototype.items.select[a]; -})(); - -//loading from UL list - -dhtmlXForm.prototype._ulToObject = function(ulData, a) { - var obj = []; - for (var q=0; q= 0) this.cont.className = String(this.cont.className).replace(/dhxform_rtl/gi,""); - } -}; - -_dhxForm_doClick = function(obj, evType) { - if (typeof(evType) == "object") { - var t = evType[1]; - evType = evType[0]; - } - if (document.createEvent) { - var e = document.createEvent("MouseEvents"); - e.initEvent(evType, true, false); - obj.dispatchEvent(e); - } else if (document.createEventObject) { - var e = document.createEventObject(); - e.button = 1; - obj.fireEvent("on"+evType, e); - } - if (t) window.setTimeout(function(){_dhxForm_doClick(obj,t);},100); -} - -dhtmlXForm.prototype.setFormData = function(t) { - for (var a in t) { - var r = this.getItemType(a); - switch (r) { - case "checkbox": - this[t[a]==true||parseInt(t[a])==1||t[a]=="true"||t[a]==this.getItemValue(a, "realvalue")?"checkItem":"uncheckItem"](a); - break; - case "radio": - this.checkItem(a,t[a]); - break; - case "input": - case "textarea": - case "password": - case "select": - case "multiselect": - case "hidden": - case "template": - case "combo": - case "calendar": - case "colorpicker": - case "editor": - this.setItemValue(a,t[a]); - break; - default: - if (this["setFormData_"+r]) { - // check for custom cell - this["setFormData_"+r](a,t[a]); - } else { - // if item with specified name not found, keep value in userdata - if (!this.hId) this.hId = this._genStr(12); - this.setUserData(this.hId, a, t[a]); - } - break; - } - } -}; - -dhtmlXForm.prototype.getFormData = function(p0, only_fields) { - - var r = {}; - var that = this; - for (var a in this.itemPull) { - var i = this.itemPull[a]._idd; - var t = this.itemPull[a]._type; - if (t == "ch") r[i] = (this.isItemChecked(i)?this.getItemValue(i):0); - if (t == "ra" && !r[this.itemPull[a]._group]) r[this.itemPull[a]._group] = this.getCheckedValue(this.itemPull[a]._group); - if (t in {se:1,ta:1,pw:1,hd:1,tp:1,fl:1,calendar:1,combo:1,editor:1,colorpicker:1}) r[i] = this.getItemValue(i,p0); - // check for custom cell - if (this["getFormData_"+t]) r[i] = this["getFormData_"+t](i); - // merge with files/uploader - if (t == "up") { - var r0 = this.getItemValue(i); - for (var a0 in r0) r[a0] = r0[a0]; - } - // - if (this.itemPull[a]._list) { - for (var q=0; q ky) ky = this.base[q].offsetHeight; - } - - // check if layout - var isLayout = false; - try { - isLayout = (this.cont.parentNode.parentNode.parentNode.parentNode._isCell==true); - if (isLayout) var layoutCell = this.cont.parentNode.parentNode.parentNode.parentNode; - } catch(e){}; - - if (isLayout && typeof(layoutCell) != "undefined") { - - if (kx > 0) layoutCell.setWidth(kx+10); - if (ky > 0) layoutCell.setHeight(ky+layoutCell.firstChild.firstChild.offsetHeight+5); - - isLayout = layoutCell = null; - return; - } - - // check if window - var isWindow = false; - try { - isWindow = (this.cont.parentNode.parentNode.parentNode._isWindow == true); - if (isWindow) { - var winCell = this.cont.parentNode.parentNode; - if (typeof(winCell.callEvent) == "function") { - this.cont.style.display = "none"; - winCell.callEvent("_setCellSize", [kx+15,ky+15]); - this.cont.style.display = ""; - } - } - } catch(e){}; - -}; - -// dataproc -dhtmlXForm.prototype.reset = function() { - if (this.callEvent("onBeforeReset", [this.formId, this.getFormData()])) { - if (this._last_load_data) this.setFormData(this._last_load_data); - this.callEvent("onAfterReset", [this.formId]); - } -}; - -dhtmlXForm.prototype.send = function(url, mode, callback, skipValidation) { - - if (typeof mode == "function") { - callback = mode; - mode = "post"; - } else { - mode = (mode=="get"?"get":"post"); - } - - if (skipValidation !== true && !this.validate()) return; - var formData = this.getFormData(true); - - var data = []; - for (var key in formData) data.push(key+"="+encodeURIComponent(formData[key])); - - var afterload = function(loader) { - if (callback) callback.call(this, loader, loader.xmlDoc.responseText); - }; - - if (mode == "get") { - window.dhx4.ajax.get(url+(url.indexOf("?")==-1?"?":"&")+data.join("&"), afterload); - } else { - window.dhx4.ajax.post(url, data.join("&"), afterload); - } - -}; - -dhtmlXForm.prototype.save = function(url, type){}; - -dhtmlXForm.prototype.dummy = function(){}; - -dhtmlXForm.prototype._changeFormId = function(oldid, newid) { - this.formId = newid; -}; - -dhtmlXForm.prototype._dp_init = function(dp) { - - dp._methods = ["dummy", "dummy", "_changeFormId", "dummy"]; - - dp._getRowData = function(id, pref) { - var data = this.obj.getFormData(true); - data[this.action_param] = this.obj.getUserData(id, this.action_param); - return data; - }; - dp._clearUpdateFlag = function(){}; - - dp.attachEvent("onAfterUpdate", function(sid, action, tid, tag){ - if (action == "inserted" || action == "updated" || action == "error" || action == "invalid") - this.obj.resetDataProcessor("updated"); - if (action == "inserted" || action == "updated") - this.obj._last_load_data = this.obj.getFormData(true); - - this.obj.callEvent("onAfterSave",[this.obj.formId, tag]); - return true; - }); - - dp.autoUpdate = false; - dp.setTransactionMode("POST", true); - - this.dp = dp; - - this.formId = (new Date()).valueOf(); - this.resetDataProcessor("inserted"); - - this.save = function(){ - if (!this.callEvent("onBeforeSave", [this.formId, this.getFormData()])) return; - if (!this.validate()) return; - dp.sendData(); - }; -}; - - -dhtmlXForm.prototype.resetDataProcessor = function(mode){ - if (!this.dp) return; - this.dp.updatedRows = []; this.dp._in_progress = []; - this.dp.setUpdated(this.formId, true, mode); -}; - -// cc listener -dhtmlXForm.prototype._ccActivate = function(id, inp, val) { - - if (!this._formLS) this._formLS = {}; - if (!this._formLS[id]) this._formLS[id] = {input: inp, value: val}; - if (!this._ccActive) { - this._ccActive = true; - this._ccDo(); - } - inp = null; -}; - -dhtmlXForm.prototype._ccDeactivate = function(id) { - - if (this._ccTm) window.clearTimeout(this._ccTm); - this._ccActive = false; - if (this._formLS != null && this._formLS[id] != null) { - this._formLS[id].input = null; - this._formLS[id] = null; - delete this._formLS[id]; - } -}; - -dhtmlXForm.prototype._ccDo = function() { - - if (this._ccTm) window.clearTimeout(this._ccTm); - - for (var a in this._formLS) { - - var inp = this._formLS[a].input; - - if (String(inp.tagName).toLowerCase() == "select") { - var v = ""; - if (inp.selectedIndex >= 0 && inp.selectedIndex < inp.options.length) v = inp.options[inp.selectedIndex].value; - } else { - var v = inp.value; - } - if (v != this._formLS[a].value) { - this._formLS[a].value = v; - this.callEvent("onInputChange",[inp._idd,v,this]); - } - inp = null; - - } - - if (this._ccActive) { - var t = this; - this._ccTm = window.setTimeout(function(){t._ccDo();t=null;},100); - } - -}; - -dhtmlXForm.prototype._ccReload = function(id, value) { // update item's value while item have focus - if (this._formLS && this._formLS[id]) { - this._formLS[id].value = value; - } -}; - -dhtmlXForm.prototype._checkDim = function(formNode, inpObj) { - - var testNode = document.createElement("DIV"); - testNode.className = "dhxform_obj_"+this.skin; - testNode.style.cssText += (dhx4.isIE6==true?"visibility:hidden;":"position:absolute;left:-2000px;top:-1000px;"); - document.body.appendChild(testNode); - - var pNode = formNode.parentNode; - var sNode = formNode.nextSibling; - testNode.appendChild(formNode); - - var w = parseInt(inpObj.style.width); - var w2 = (dhx4.isFF || dhx4.isIE || dhx4.isChrome || dhx4.isOpera ? inpObj.offsetWidth : inpObj.clientWidth); - var dim = w2-w; - - if (sNode != null) pNode.insertBefore(formNode, sNode); else pNode.appendChild(formNode); - testNode.parentNode.removeChild(testNode); - - pNode = sNode = testNode = formNode = inpObj = null; - - return dim; -}; - -(function(){ - -var a = [ - "ftype", "name", "value", "label", "check", "checked", "disabled", "text", "rows", "select", "selected", "width", "style", "className", - "labelWidth", "labelHeight", "labelLeft", "labelTop", "inputWidth", "inputHeight", "inputLeft", "inputTop", "position", "size", "hidden" -]; - -dhtmlXForm.prototype.loadStructHTML = function(el){ - var el = typeof el === "string" ? document.getElementById(el) : el; - this.loadStruct(this._ulToObject(el, a)) -} -dhtmlXForm.prototype._autoload = function() { - var k = document.getElementsByTagName("UL"); - var u = []; - for (var q=0; q this.cont.childNodes.length-1) moveToBase = index-1; - } - // console.log("index ",index,"moveToBase",moveToBase) - while (this.cont.childNodes[index].childNodes.length > 0) { - this.cont.childNodes[moveToBase].appendChild(this.cont.childNodes[index].childNodes[0]); - } - - } - var t = []; - for (var q=0; q this.cont.childNodes.length-1) return null; - return this.cont.childNodes[index]; -}; - -dhtmlXForm.prototype._removeItemsInColumn = function(base) { - var items = []; - for (var q=0; q= 0)) { - var k = document.createElement("SPAN"); - k.className = "dhxform_item_required"; - k.innerHTML = "*"; - p.appendChild(k); - k = p = null; - } - } else { - if (item._validate != null) { - var t = item._validate; - item._validate = []; - for (var q=0; q= 0) { - p.removeChild(p.lastChild); - p = null; - } - } - - this._resetValidateCss(item); - item = null; - -}; - -/* set/clear note */ -dhtmlXForm.prototype.setNote = function(id, value, note) { - - if (typeof(note) == "undefined") note = value; else id = [id,value]; - var item = this._getItemNode(id); - if (!item) return; - - var p = this._getNoteNode(item); - - if (!p) { - if (!note.width) note.width = item.childNodes[item._ll?1:0].childNodes[0].offsetWidth; - p = document.createElement("DIV"); - p.className = "dhxform_note"; - if ({"ch":1,"ra":1}[item._type]) { - item.childNodes[item._ll?1:0].insertBefore(p, item.childNodes[item._ll?1:0].lastChild); - } else { - item.childNodes[item._ll?1:0].appendChild(p); - } - - } - - p.innerHTML = note.text; - if (note.width != null) { - p.style.width = note.width+"px"; - p._w = note.width; - } - - p = null; -}; - -dhtmlXForm.prototype.clearNote = function(id, value) { - - if (typeof(value) != "undefined") id = [id,value]; - var item = this._getItemNode(id); - if (!item) return; - - var p = this._getNoteNode(item); - if (p != null) { - p.parentNode.removeChild(p); - p = null; - } - -}; - -dhtmlXForm.prototype._getNoteNode = function(item) { - - var p = null; - for (var q=0; q= 0) { - p = item.childNodes[item._ll?1:0].childNodes[q]; - } - } - - item = null; - - return p; -}; - -/* set/clear validation */ - -dhtmlXForm.prototype.setValidation = function(id, value, rule) { - - if (typeof(note) == "undefined") rule = value; else id = [id,value]; - var item = this._getItemNode(id); - if (!item) return; - - // init state, clear prev - if (item._validate != null) for (var q=0; q 0) opts.remove(0); - opts.length = 0; - opts = null; - if (typeof(data) == "string") { - this.doWithItem(name, "doLoadOptsConnector", data); - } else if (data instanceof Array) { - this.doWithItem(name, "doLoadOpts", {options:data}); - } - } - - if (t == "combo") { - var combo = this.getCombo(name); - combo.clearAll(); - combo.setComboValue(""); - if (typeof(data) == "string") { - this.doWithItem(name, "doLoadOptsConnector", data); - } else if (data instanceof Array) { - var toSelect = null; - for (var q=0; q= 0) { - node = item.childNodes[q]; - } - } - } - if (node != null) { - if (tooltip == null || tooltip.length == 0) { - node.removeAttribute("title"); - } else { - node.title = tooltip; - } - } - node = null; -}; - diff --git a/themes/sources/dhtmlxForm/codebase/ext/dhtmlxform_item_btn2state.js b/themes/sources/dhtmlxForm/codebase/ext/dhtmlxform_item_btn2state.js deleted file mode 100644 index 48f2cf4..0000000 --- a/themes/sources/dhtmlxForm/codebase/ext/dhtmlxform_item_btn2state.js +++ /dev/null @@ -1,50 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -dhtmlXForm.prototype.items.btn2state = { - setChecked: function(item, state) { - item._checked = (state===true?true:false); - item.childNodes[item._ll?1:0].lastChild.className = "dhxform_img "+item._cssName+"_"+(item._checked?"1":"0"); - this.doCheckValue(item); - } -}; - -(function() { - for (var a in dhtmlXForm.prototype.items.checkbox) { - if (!dhtmlXForm.prototype.items.btn2state[a]) dhtmlXForm.prototype.items.btn2state[a] = dhtmlXForm.prototype.items.checkbox[a]; - } -})(); - - -dhtmlXForm.prototype.items.btn2state.render2 = dhtmlXForm.prototype.items.btn2state.render; -dhtmlXForm.prototype.items.btn2state.render = function(item, data) { - data._autoInputWidth = false; - this.render2(item, data); - item._type = "btn2state"; - item._cssName = (typeof(data.cssName)=="undefined"?"btn2state":data.cssName); - item._updateImgNode = function(){}; - item._doOnFocus = function() { - item.getForm().callEvent("onFocus",[item._idd]); - } - item._doOnBlur = function() { - item.getForm().callEvent("onBlur",[item._idd]); - } - item._doOnKeyUpDown = function(evName, evObj, inp) { - this.callEvent(evName, [this.childNodes[this._ll?0:1].childNodes[0], evObj, this._idd]); - } - this.setChecked(item, item._checked); - return this; -}; - -dhtmlXForm.prototype.setFormData_btn2state = function(name, value) { - this[value==true||parseInt(value)==1||value=="true"||value==this.getItemValue(name)?"checkItem":"uncheckItem"](name); -}; -dhtmlXForm.prototype.getFormData_btn2state = function(name) { - return (this.isItemChecked(name)?this.getItemValue(name):0); -}; - diff --git a/themes/sources/dhtmlxForm/codebase/ext/dhtmlxform_item_calendar.js b/themes/sources/dhtmlxForm/codebase/ext/dhtmlxform_item_calendar.js deleted file mode 100644 index a8e2507..0000000 --- a/themes/sources/dhtmlxForm/codebase/ext/dhtmlxform_item_calendar.js +++ /dev/null @@ -1,189 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -dhtmlXForm.prototype.items.calendar = { - - render: function(item, data) { - - var t = this; - - item._type = "calendar"; - item._enabled = true; - - // dbl-click fix for IE6-8 (i.e. to select date user needs to click twice) - var n = navigator.userAgent; - var dblclickFix = (n.indexOf("MSIE 6.0") >= 0 || n.indexOf("MSIE 7.0") >= 0 || n.indexOf("MSIE 8.0") >= 0); - - this.doAddLabel(item, data); - this.doAddInput(item, data, "INPUT", "TEXT", true, true, "dhxform_textarea calendar"); - this.doAttachChangeLS(item); - - if (dblclickFix) { - item.childNodes[item._ll?1:0].childNodes[0].onfocus2 = item.childNodes[item._ll?1:0].childNodes[0].onfocus; - item.childNodes[item._ll?1:0].childNodes[0].onfocus = function() { - if (this._skipOnFocus == true) { - this._skipOnFocus = false; - return; - } - this.onfocus2.apply(this,arguments); - } - } - - item.childNodes[item._ll?1:0].childNodes[0]._idd = item._idd; - item.childNodes[item._ll?1:0].childNodes[0].onblur = function() { - var i = this.parentNode.parentNode; - if (i._c.base._formMouseDown) { // dblclickFix - i._c.base._formMouseDown = false; - this._skipOnFocus = true; - this.focus(); - this.value = this.value; - i = null; - return true; - } - var f = i.getForm(); - f._ccDeactivate(i._idd); - t.checkEnteredValue(this.parentNode.parentNode); - if (f.live_validate) t._validate(i); - f.callEvent("onBlur",[i._idd]); - if (!i._c.isVisible()) i._tempValue = null; - f = i = null; - } - - item._f = (data.dateFormat||null); // formats - item._f0 = (data.serverDateFormat||item._f); // formats for save-load, if set - use them for saving and loading only - - var f = item.getForm(); - - item._c = new dhtmlXCalendarObject(item.childNodes[item._ll?1:0].childNodes[0], data.skin||f.skin||"dhx_skyblue"); - item._c._nullInInput = true; // allow null value from input - item._c.enableListener(item.childNodes[item._ll?1:0].childNodes[0]); - if (item._f != null) item._c.setDateFormat(item._f); - if (!window.dhx4.s2b(data.enableTime)) item._c.hideTime(); - if (window.dhx4.s2b(data.enableTodayButton)) item._c.showToday(); - if (window.dhx4.s2b(data.showWeekNumbers)) item._c.showWeekNumbers(); - if (!isNaN(data.weekStart)) item._c.setWeekStartDay(data.weekStart); - if (typeof(data.calendarPosition) != "undefined") item._c.setPosition(data.calendarPosition); - if (data.minutesInterval != null) item._c.setMinutesInterval(data.minutesInterval); - - item._c._itemIdd = item._idd; - - item._c.attachEvent("onBeforeChange", function(d) { - if (item._value != d) { - // call some events - if (item.checkEvent("onBeforeChange")) { - if (item.callEvent("onBeforeChange",[item._idd, item._value, d]) !== true) { - return false; - } - } - // accepted - item._tempValue = item._value = d; - t.setValue(item, d, false); - item.callEvent("onChange", [this._itemIdd, item._value]); - } - return true; - - }); - - item._c.attachEvent("onClick", function(){ - item._tempValue = null; - }); - item._c.attachEvent("onHide", function(){ - item._tempValue = null; - }); - - if (dblclickFix) { - item._c.base.onmousedown = function() { - this._formMouseDown = true; - return false; - } - } - - this.setValue(item, data.value); - - f = null; - - return this; - - }, - - getCalendar: function(item) { - return item._c; - }, - - setSkin: function(item, skin) { - item._c.setSkin(skin); - }, - - setValue: function(item, value, cUpd) { - if (!value || value == null || typeof(value) == "undefined" || value == "") { - item._value = null; - item.childNodes[item._ll?1:0].childNodes[0].value = ""; - } else { - item._value = (value instanceof Date ? value : item._c._strToDate(value, item._f0||item._c._dateFormat)); - item.childNodes[item._ll?1:0].childNodes[0].value = item._c._dateToStr(item._value, item._f||item._c._dateFormat); - } - if (cUpd !== false) item._c.setDate(item._value); - }, - - getValue: function(item, asString) { - var d = item._tempValue||item._c.getDate(); - if (asString===true && d == null) return ""; - return (asString===true?item._c._dateToStr(d,item._f0||item._c._dateFormat):d); - }, - - setDateFormat: function(item, dateFormat, serverDateFormat) { - item._f = dateFormat; - item._f0 = (serverDateFormat||item._f); - item._c.setDateFormat(item._f); - this.setValue(item, this.getValue(item)); - }, - - destruct: function(item) { - - // unload calendar instance - item._c.disableListener(item.childNodes[item._ll?1:0].childNodes[0]); - item._c.unload(); - item._c = null; - try {delete item._c;} catch(e){} - - item._f = null; - try {delete item._f;} catch(e){} - - item._f0 = null; - try {delete item._f0;} catch(e){} - - // remove custom events/objects - item.childNodes[item._ll?1:0].childNodes[0]._idd = null; - item.childNodes[item._ll?1:0].childNodes[0].onblur = null; - - // unload item - this.d2(item); - item = null; - }, - - checkEnteredValue: function(item) { - this.setValue(item, item._c.getDate()); - } - -}; - -(function(){ - for (var a in {doAddLabel:1,doAddInput:1,doUnloadNestedLists:1,setText:1,getText:1,enable:1,disable:1,isEnabled:1,setWidth:1,setReadonly:1,isReadonly:1,setFocus:1,getInput:1}) - dhtmlXForm.prototype.items.calendar[a] = dhtmlXForm.prototype.items.input[a]; -})(); -dhtmlXForm.prototype.items.calendar.doAttachChangeLS = dhtmlXForm.prototype.items.select.doAttachChangeLS; -dhtmlXForm.prototype.items.calendar.d2 = dhtmlXForm.prototype.items.input.destruct; - -dhtmlXForm.prototype.getCalendar = function(name) { - return this.doWithItem(name, "getCalendar"); -}; - -dhtmlXForm.prototype.setCalendarDateFormat = function(name, dateFormat, serverDateFormat) { - this.doWithItem(name, "setDateFormat", dateFormat, serverDateFormat); -}; - diff --git a/themes/sources/dhtmlxForm/codebase/ext/dhtmlxform_item_colorpicker.js b/themes/sources/dhtmlxForm/codebase/ext/dhtmlxform_item_colorpicker.js deleted file mode 100644 index b04d3d4..0000000 --- a/themes/sources/dhtmlxForm/codebase/ext/dhtmlxform_item_colorpicker.js +++ /dev/null @@ -1,112 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -dhtmlXForm.prototype.items.colorpicker = { - - colorpicker: {}, // colorpicker instances - - render: function(item, data) { - - var t = this; - - item._type = "colorpicker"; - item._enabled = true; - - this.doAddLabel(item, data); - this.doAddInput(item, data, "INPUT", "TEXT", true, true, "dhxform_textarea"); - - item._value = (data.value||""); - item.childNodes[item._ll?1:0].childNodes[0].value = item._value; - - var conf = { - input: item.childNodes[item._ll?1:0].childNodes[0], - custom_colors: (window.dhx4.s2b(data.enableCustomColors) == true), - skin: item.getForm().skin - }; - - this.colorpicker[item._idd] = new dhtmlXColorPicker(conf); - this.colorpicker[item._idd]._nodes[0].valueColor = null; // disable input's bg change - this.colorpicker[item._idd].base.className += " dhtmlxcp_in_form"; - - if (typeof(data.customColors) != "undefined") { - this.colorpicker[item._idd].setCustomColors(data.customColors); - } - - if (typeof(data.cpPosition) == "string") { - this.colorpicker[item._idd].setPosition(data.cpPosition); - } - - // select handler - this.colorpicker[item._idd].attachEvent("onSelect", function(color){ - if (item._value != color) { - // call some events - if (item.checkEvent("onBeforeChange")) { - if (item.callEvent("onBeforeChange",[item._idd, item._value, color]) !== true) { - // do not allow set new value - item.childNodes[item._ll?1:0].childNodes[0].value = item._value; - return; - } - } - // accepted - item._value = color; - t.setValue(item, color); - item.callEvent("onChange", [item._idd, item._value]); - } - }); - this.colorpicker[item._idd].attachEvent("onHide", function(color){ - var i = item.childNodes[item._ll?1:0].childNodes[0]; - if (i.value != item._value) i.value = item._value; - i = null; - }); - - - item.childNodes[item._ll?1:0].childNodes[0]._idd = item._idd; - - return this; - - }, - - getColorPicker: function(item) { - return this.colorpicker[item._idd]; - }, - - destruct: function(item) { - - // unload color picker instance - if (this.colorpicker[item._idd].unload) this.colorpicker[item._idd].unload(); - this.colorpicker[item._idd] = null; - try {delete this.colorpicker[item._idd];} catch(e){} - - // remove custom events/objects - item.childNodes[item._ll?1:0].childNodes[0]._idd = null; - - // unload item - this.d2(item); - item = null; - }, - - setSkin: function(item, skin) { - this.colorpicker[item._idd].setSkin(skin); - } - -}; - - -(function(){ - for (var a in {doAddLabel:1,doAddInput:1,doUnloadNestedLists:1,setText:1,getText:1,enable:1,disable:1,isEnabled:1,setWidth:1,setReadonly:1,isReadonly:1,setValue:1,getValue:1,updateValue:1,setFocus:1,getInput:1}) - dhtmlXForm.prototype.items.colorpicker[a] = dhtmlXForm.prototype.items.input[a]; -})(); - -dhtmlXForm.prototype.items.colorpicker.d2 = dhtmlXForm.prototype.items.input.destruct; - - -dhtmlXForm.prototype.getColorPicker = function(name) { - return this.doWithItem(name, "getColorPicker"); -}; - - diff --git a/themes/sources/dhtmlxForm/codebase/ext/dhtmlxform_item_combo.js b/themes/sources/dhtmlxForm/codebase/ext/dhtmlxform_item_combo.js deleted file mode 100644 index 476f2c3..0000000 --- a/themes/sources/dhtmlxForm/codebase/ext/dhtmlxform_item_combo.js +++ /dev/null @@ -1,215 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -dhtmlXForm.prototype.items.combo = { - - render: function(item, data) { - - item._type = "combo"; - item._enabled = true; - item._value = null; - item._newValue = null; - - var skin = item.getForm().skin; - if (typeof(data.inputWidth) != "undefined" && skin == "material" && String(data.inputWidth).match(/^\d*$/) != null) { - data.inputWidth = parseInt(data.inputWidth)+2; - } - - this.doAddLabel(item, data); - this.doAddInput(item, data, "SELECT", null, true, true, "dhxform_select"); - this.doAttachEvents(item); - this.doLoadOpts(item, data); - - // allow selection to prevent broking combo logic - item.onselectstart = function(e){return true;} - - // item.childNodes[1].childNodes[0].opt_type = data.comboType||""; - item.childNodes[item._ll?1:0].childNodes[0].setAttribute("mode", data.comboType||""); - if (data.comboImagePath) item.childNodes[item._ll?1:0].childNodes[0].setAttribute("imagePath", data.comboImagePath); - if (data.comboDefaultImage) item.childNodes[item._ll?1:0].childNodes[0].setAttribute("defaultImage", data.comboDefaultImage); - if (data.comboDefaultImageDis) item.childNodes[item._ll?1:0].childNodes[0].setAttribute("defaultImageDis", data.comboDefaultImageDis); - - item._combo = new dhtmlXComboFromSelect(item.childNodes[item._ll?1:0].childNodes[0], data.inputWidth); - item._combo.setSkin(skin); - item._combo._currentComboValue = item._combo.getSelectedValue(); - item._combo.getInput().id = data.uid; - - if (skin == "material") item._combo.list.className += " dhxform_obj_"+skin; - - var k = this; - item._combo.attachEvent("onChange", function(){ - k.doOnChange(this); - }); - - if (data.connector) this.doLoadOptsConnector(item, data.connector); - - if (data.filtering) { - item._combo.enableFilteringMode(true); - } else if (data.serverFiltering) { - item._combo.enableFilteringMode(true, data.serverFiltering, data.filterCache, data.filterSubLoad); - } - - if (data.readonly == true) this.setReadonly(item, true); - if (data.hidden == true) this.hide(item); - - if (data.style) item._combo.DOMelem_input.style.cssText += data.style; - - item._combo.attachEvent("onFocus", function(){ - var item = this.cont.parentNode.parentNode; - var f = item.getForm(); - if ((f.skin == "dhx_terrace" || f.skin == "material") && this.cont.className.search(/combo_in_focus/) < 0) this.cont.className += " combo_in_focus"; - f.callEvent("onFocus", [item._idd]); - f = item = null; - }); - - item._combo.attachEvent("onBlur", function(){ - var item = this.cont.parentNode.parentNode; - var f = item.getForm(); - if ((f.skin == "dhx_terrace" || f.skin == "material") && this.cont.className.search(/combo_in_focus/) >= 0) this.cont.className = this.cont.className.replace(/\s{0,}combo_in_focus/gi,""); - f.callEvent("onBlur", [item._idd]); - f = item = null; - }); - - return this; - }, - - destruct: function(item) { - - // unload combo - item.childNodes[item._ll?1:0].childNodes[0].onchange = null; - - item._combo._currentComboValue = null; - item._combo.unload(); - item._combo = null; - - // unload item - item._apiChange = null; - this.d2(item); - item = null; - - }, - - doAttachEvents: function(item) { - - var that = this; - - item.childNodes[item._ll?1:0].childNodes[0].onchange = function() { - that.doOnChange(this); - that.doValidate(this.DOMParent.parentNode.parentNode); - } - }, - - doValidate: function(item) { - if (item.getForm().hot_validate) this._validate(item); - }, - - doOnChange: function(combo) { - var item = combo.base.parentNode.parentNode.parentNode; - if (item._apiChange) return; - combo._newComboValue = combo.getSelectedValue(); - if (combo._newComboValue != combo._currentComboValue) { - if (item.checkEvent("onBeforeChange")) { - if (item.callEvent("onBeforeChange", [item._idd, combo._currentComboValue, combo._newComboValue]) !== true) { - // restore last value - // not the best solution, should be improved - window.setTimeout(function(){combo.setComboValue(combo._currentComboValue);},1); - return false; - } - } - combo._currentComboValue = combo._newComboValue; - item.callEvent("onChange", [item._idd, combo._currentComboValue]); - } - item._autoCheck(); - }, - - doLoadOptsConnector: function(item, url) { - var that = this; - var i = item; - item._connector_working = true; - item._apiChange = true; - item._combo.load(url, function(){ - // try to set value if it was called while options loading was in progress - i.callEvent("onOptionsLoaded", [i._idd]); - i._connector_working = false; - if (i._connector_value != null) { - that.setValue(i, i._connector_value); - i._connector_value = null; - } - i._apiChange = false; - that = i = null; - }); - }, - - enable: function(item) { - if (String(item.className).search("disabled") >= 0) item.className = String(item.className).replace(/disabled/gi,""); - item._enabled = true; - item._combo.enable(); - }, - - disable: function(item) { - if (String(item.className).search("disabled") < 0) item.className += " disabled"; - item._enabled = false; - item._combo.disable(); - }, - - getCombo: function(item) { - return item._combo; - }, - - setValue: function(item, val) { - if (item._connector_working) { // attemp to set value while optins not yet loaded (connector used) - item._connector_value = val; - return; - } - item._apiChange = true; - item._combo.setComboValue(val); - item._combo._currentComboValue = item._combo.getActualValue(); - item._apiChange = false; - }, - - getValue: function(item) { - return item._combo.getActualValue(); - }, - - setWidth: function(item, width) { - item.childNodes[item._ll?1:0].childNodes[0].style.width = width+"px"; - }, - - setReadonly: function(item, state) { - if (!item._combo) return; - item._combo_ro = state; - item._combo.readonly(item._combo_ro); - }, - - isReadonly: function(item, state) { - return item._combo_ro||false; - }, - - setFocus: function(item) { - if (item._enabled) item._combo.setFocus(); - }, - - _setCss: function(item, skin, fontSize) { - // update font-size for input and list-options div - item._combo.setFontSize(fontSize, fontSize); - } - -}; - -(function(){ - for (var a in {doAddLabel:1,doAddInput:1,doLoadOpts:1,doUnloadNestedLists:1,setText:1,getText:1,isEnabled:1,_checkNoteWidth:1}) - dhtmlXForm.prototype.items.combo[a] = dhtmlXForm.prototype.items.select[a]; -})(); - -dhtmlXForm.prototype.items.combo.d2 = dhtmlXForm.prototype.items.select.destruct; - -dhtmlXForm.prototype.getCombo = function(name) { - return this.doWithItem(name, "getCombo"); -}; - - diff --git a/themes/sources/dhtmlxForm/codebase/ext/dhtmlxform_item_container.js b/themes/sources/dhtmlxForm/codebase/ext/dhtmlxform_item_container.js deleted file mode 100644 index 8e7de74..0000000 --- a/themes/sources/dhtmlxForm/codebase/ext/dhtmlxform_item_container.js +++ /dev/null @@ -1,64 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -dhtmlXForm.prototype.items.container = { - - render: function(item, data) { - - item._type = "container"; - item._enabled = true; - - this.doAddLabel(item, data); - this.doAddInput(item, data, "DIV", null, true, true, "dhxform_container"); - - return this; - - }, - - getContainer: function(item) { - return item.childNodes[item._ll?1:0].childNodes[0]; - }, - - enable: function(item) { - item._enabled = true; - if (String(item.className).search("disabled") >= 0) item.className = String(item.className).replace(/disabled/gi,""); - // - item.callEvent("onEnable",[item._idd]); - }, - - disable: function(item) { - item._enabled = false; - if (String(item.className).search("disabled") < 0) item.className += " disabled"; - // - item.callEvent("onDisable",[item._idd]); - }, - - doAttachEvents: function(){ - - }, - - setValue: function(){ - - }, - - getValue: function(){ - return null; - } - -}; - -dhtmlXForm.prototype.getContainer = function(name) { - return this.doWithItem(name, "getContainer"); -}; - -(function(){ - for (var a in dhtmlXForm.prototype.items.input) { - if (!dhtmlXForm.prototype.items.container[a]) dhtmlXForm.prototype.items.container[a] = dhtmlXForm.prototype.items.input[a]; - } -})(); - diff --git a/themes/sources/dhtmlxForm/codebase/ext/dhtmlxform_item_editor.js b/themes/sources/dhtmlxForm/codebase/ext/dhtmlxform_item_editor.js deleted file mode 100644 index 02980cb..0000000 --- a/themes/sources/dhtmlxForm/codebase/ext/dhtmlxform_item_editor.js +++ /dev/null @@ -1,157 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -dhtmlXForm.prototype.items.editor = { - - editor: {}, - - render: function(item, data) { - - var ta = (!isNaN(data.rows)); - - item._type = "editor"; - item._enabled = true; - item._editor_id = item.getForm().idPrefix+item._idd; - - this.doAddLabel(item, data); - this.doAddInput(item, data, "DIV", null, true, true, "dhxform_item_template"); - - item._value = (data.value||""); - - var that = this; - this.editor[item._editor_id] = new dhtmlXEditor({ - parent: item.childNodes[item._ll?1:0].childNodes[0], - content: item._value, - iconsPath: data.iconsPath, // path for toolbar icons - toolbar: data.toolbar, - skin: item.getForm().skin - }); - - this.editor[item._editor_id].attachEvent("onAccess",function(t, ev){ - // generate body click to hide menu/toolbar/calendar/combo/other stuff if any - item.callEvent("_onBeforeEditorAccess", []); // if editor attached to form in popup - do some tricks - _dhxForm_doClick(document.body, "click"); - // continue - if (t == "blur") { - that.doOnBlur(item, this); - item.callEvent("onBlur", [item._idd]); - if ({dhx_terrace:1, material: 1}[item.getForm().skin] == 1) { - var css = item.childNodes[item._ll?1:0].className; - if (css.indexOf("dhxeditor_focus") >= 0) item.childNodes[item._ll?1:0].className = (css).replace(/\s{0,}dhxeditor_focus/gi,""); - } - } else { - item.callEvent("onEditorAccess", [item._idd, t, ev, this, item.getForm()]); - item.callEvent("onFocus", [item._idd]); - if ({dhx_terrace:1, material: 1}[item.getForm().skin] == 1) { - var css = item.childNodes[item._ll?1:0].className; - if (css.indexOf("dhxeditor_focus") == -1) item.childNodes[item._ll?1:0].className += " dhxeditor_focus"; - } - } - }); - - this.editor[item._editor_id].attachEvent("onToolbarClick", function(a){ - item.callEvent("onEditorToolbarClick", [item._idd, a, this, item.getForm()]); - }); - - if (data.readonly) this.setReadonly(item, true); - - // emulate label-for - item.childNodes[item._ll?0:1].childNodes[0].removeAttribute("for"); - item.childNodes[item._ll?0:1].childNodes[0].onclick = function() { - that.editor[item._editor_id]._focus(); - } - - return this; - - }, - - // destructor for editor needed - doOnBlur: function(item, editor) { - var t = editor.getContent(); - if (item._value != t) { - if (item.checkEvent("onBeforeChange")) { - if (item.callEvent("onBeforeChange",[item._idd, item._value, t]) !== true) { - // restore - editor.setContent(item._value); - return; - } - } - // accepted - item._value = t; - item.callEvent("onChange",[item._idd, t]); - } - }, - - setValue: function(item, value) { - if (item._value == value) return; - item._value = value; - this.editor[item._editor_id].setContent(item._value); - }, - - getValue: function(item) { - item._value = this.editor[item._editor_id].getContent(); - return item._value; - }, - - enable: function(item) { - if (this.isEnabled(item) != true) { - this.editor[item._editor_id].setReadonly(false); - this.doEn(item); - } - }, - - disable: function(item) { - if (this.isEnabled(item) == true) { - this.editor[item._editor_id].setReadonly(true); - this.doDis(item); - } - }, - - setReadonly: function(item, mode) { - this.editor[item._editor_id].setReadonly(mode); - }, - - getEditor: function(item) { - return (this.editor[item._editor_id]||null); - }, - - destruct: function(item) { - - // custom editor functionality - item.childNodes[item._ll?0:1].childNodes[0].onclick = null; - - // unload editor - this.editor[item._editor_id].unload(); - this.editor[item._editor_id] = null; - - // unload item - this.d2(item); - item = null; - - }, - - setFocus: function(item) { - this.editor[item._editor_id]._focus(); - } - -}; - -(function(){ - for (var a in {doAddLabel:1,doAddInput:1,doUnloadNestedLists:1,setText:1,getText:1,setWidth:1,isEnabled:1}) - dhtmlXForm.prototype.items.editor[a] = dhtmlXForm.prototype.items.template[a]; -})(); - -dhtmlXForm.prototype.items.editor.d2 = dhtmlXForm.prototype.items.select.destruct; -dhtmlXForm.prototype.items.editor.doEn = dhtmlXForm.prototype.items.select.enable; -dhtmlXForm.prototype.items.editor.doDis = dhtmlXForm.prototype.items.select.disable; - -dhtmlXForm.prototype.getEditor = function(name) { - return this.doWithItem(name, "getEditor"); -}; - - diff --git a/themes/sources/dhtmlxForm/codebase/ext/dhtmlxform_item_image.js b/themes/sources/dhtmlxForm/codebase/ext/dhtmlxform_item_image.js deleted file mode 100644 index 983a94e..0000000 --- a/themes/sources/dhtmlxForm/codebase/ext/dhtmlxform_item_image.js +++ /dev/null @@ -1,183 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -dhtmlXForm.prototype.items.image = { - - _dimFix: true, - - render: function(item, data) { - - item._type = "image"; - item._enabled = true; - - item._fr_name = "dhxform_image_"+window.dhx4.newId(); - item._url = (typeof(data.url)=="undefined"||data.url==null?"":data.url); - - if (data.inputWidth == "auto") data.inputWidth = 120; - if (data.inputHeight == "auto") data.inputHeight = data.inputWidth; - - this.doAddLabel(item, data); - - this.doAddInput(item, data, "DIV", null, true, true, "dhxform_image"); - - var t = item.childNodes[item._ll?1:0].childNodes[0]; - t.style.height = parseInt(t.style.height)-dhtmlXForm.prototype.items[this.t]._dim+"px"; - - var w = (typeof(data.imageWidth)!="undefined"?parseInt(data.imageWidth):data.inputWidth); - var h = (typeof(data.imageHeight)!="undefined"?parseInt(data.imageHeight):data.inputHeight); - if (h == "auto") h = w; - - item._dim = {mw: data.inputWidth-this._dim, mh: data.inputHeight-this._dim, w: w, h: h}; - - t.innerHTML = ""+ - ""+ - "
                    "+ - ""+ - ""+ - ""+ - ""+ - ""; - "
                    "; - - this.adjustImage(item); - - // file selection - t.childNodes[2].firstChild.lastChild.onchange = function() { - item._is_uploading = true; - this.parentNode.submit(); - this.parentNode.parentNode.className = "dhxform_image_wrap dhxform_image_in_progress"; - this.value = ""; // prevent update on cancel click in chrome - } - - // iframe updates - var that = this; - if (window.navigator.userAgent.indexOf("MSIE") >= 0) { - t.childNodes[1].onreadystatechange = function() {if (this.readyState == "complete") that.doOnUpload(item);} - } else { - t.childNodes[1].onload = function(){that.doOnUpload(item);} - } - this._moreClear = function() { - that = null; - } - - // initial value - this.setValue(item, data.value||""); - - t = null; - - return this; - - }, - - destruct: function(item) { - // custom functionality - var t = item.childNodes[item._ll?1:0].childNodes[0]; - t.childNodes[2].firstChild.lastChild.onchange = null; - t.childNodes[1].onreadystatechange = null; - t.childNodes[1].onload = null; - this._moreClear(); - - // common form's unload - this.d2(item); - item = null; - }, - - doAttachEvents: function() { - - }, - - setValue: function(item, value) { - item._value = (value==null?"":value); - - var u = item._url+ - (item._url.indexOf("?")>=0?"&":"?")+"action=loadImage"+ - "&itemId="+encodeURIComponent(item._idd)+ - "&itemValue="+encodeURIComponent(item._value)+ - window.dhx4.ajax._dhxr("&") - - var currentImg = item.childNodes[item._ll?1:0].childNodes[0].firstChild; - - if (currentImg.nextSibling.tagName.toLowerCase() == "img") { - currentImg.nextSibling.src = u; // new img created and still loaded from prev setValue() call - } else { - var img = document.createElement("IMG"); - img.className = "dhxform_image_img"; - img.style.visibility = "hidden"; - img.onload = function() { - this.style.visibility = "visible"; - this.parentNode.removeChild(this.nextSibling); - this.onload = this.onerror = null; - } - img.onerror = function() { - this.onload.apply(this, arguments); - this.style.visibility = "hidden"; - } - currentImg.parentNode.insertBefore(img, currentImg); - img.src = u; - img = null; - this.adjustImage(item); - } - - currentImg = null; - }, - - getValue: function(item) { - return item._value; - }, - - doOnUpload: function(item) { - if (item._is_uploading == true) { - - var fr = item.childNodes[item._ll?1:0].childNodes[0].lastChild.previousSibling; // iframe - var r = dhx4.s2j(fr.contentWindow.document.body.innerHTML); - - if (typeof(r) == "object" && r != null && r.state == true && r.itemId == item._idd) { - this.setValue(item, r.itemValue, true); - item.getForm().callEvent("onImageUploadSuccess", [r.itemId, r.itemValue, r.extra]) - } else { - // show empty field, r can be null - item.getForm().callEvent("onImageUploadFail", [item._idd, (r?r.extra:null)]); - } - - r = fr = null; - - window.setTimeout(function(){ - item.childNodes[item._ll?1:0].childNodes[0].lastChild.className = "dhxform_image_wrap"; // div - item._is_uploading = false; // ready to new upload - },50); - - } - }, - - adjustImage: function(item) { - var i = item.childNodes[item._ll?1:0].childNodes[0].firstChild; // image - var w = Math.min(item._dim.mw, item._dim.w); - var h = Math.min(item._dim.mh, item._dim.h); - i.style.width = w+"px"; - i.style.height = h+"px"; - i.style.marginLeft = Math.max(0, Math.round(item._dim.mw/2-w/2))+"px"; - i.style.marginTop = Math.max(0, Math.round(item._dim.mh/2-h/2))+"px"; - i = item = null; - } - -}; - -(function(){ - for (var a in dhtmlXForm.prototype.items.input) { - if (!dhtmlXForm.prototype.items.image[a]) dhtmlXForm.prototype.items.image[a] = dhtmlXForm.prototype.items.input[a]; - } -})(); -dhtmlXForm.prototype.items.image.d2 = dhtmlXForm.prototype.items.input.destruct; - -dhtmlXForm.prototype.setFormData_image = function(name, value) { - this.setItemValue(name, value); -}; -dhtmlXForm.prototype.getFormData_image = function(name) { - return this.getItemValue(name); -}; - diff --git a/themes/sources/dhtmlxForm/codebase/ext/dhtmlxform_item_upload.js b/themes/sources/dhtmlxForm/codebase/ext/dhtmlxform_item_upload.js deleted file mode 100644 index d1388d4..0000000 --- a/themes/sources/dhtmlxForm/codebase/ext/dhtmlxform_item_upload.js +++ /dev/null @@ -1,1196 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -dhtmlXForm.prototype.items.upload = { - - render: function(item, data) { - - item._type = "up"; - - item._enabled = true; - item._checked = true; // required for authoCheck - - item.className = data.position+(typeof(data.className)=="string"?" "+data.className:""); - - var k = document.createElement("DIV"); - item.appendChild(k); - - if (!isNaN(data.inputLeft)) item.style.left = parseInt(data.inputLeft)+"px"; - if (!isNaN(data.inputTop)) item.style.top = parseInt(data.inputTop)+"px"; - if (data.inputWidth != "auto") if (!isNaN(data.inputWidth)) k.style.width = parseInt(data.inputWidth)+"px"; - - item._uploader = new dhtmlXFileUploader(k, data.swfPath||"", data.swfUrl||"", data.mode||null, data.swfLogs, data.slXap||"", data.slUrl||"", data.slLogs||"", data.multiple); - item._uploader.setURL(data.url||""); - item._uploader.callEvent = item.callEvent; - - if (typeof(data.autoStart) != "undefined") item._uploader.setAutoStart(data.autoStart); - if (typeof(data.autoRemove) != "undefined") item._uploader.setAutoRemove(data.autoRemove); - if (typeof(data.titleScreen) != "undefined") item._uploader.enableTitleScreen(data.titleScreen); - if (typeof(data.titleText) != "undefined") item._uploader.setTitleText(data.titleText); - - if (data.hidden == true) this.hide(item); - if (data.disabled == true) this.userDisable(item); - - if (!(data.inputHeight == "auto" || parseInt(data.inputHeight) == NaN)) - item._uploader.p_files.style.height = parseInt(data.inputHeight)+"px"; - - return this; - }, - - destruct: function(item) { - - this.doUnloadNestedLists(item); - - item._uploader.callEvent = function(){return true;}; - item._uploader.unload(); - item._uploader.callEvent = null; - item._uploader = null; - - item._checked = null; - item._enabled = null; - item._idd = null; - item._type = null; - - item.onselectstart = null; - - item._autoCheck = null; - item.callEvent = null; - item.checkEvent = null; - item.getForm = null; - - while (item.childNodes.length > 0) item.removeChild(item.childNodes[0]); - - item.parentNode.removeChild(item); - item = null; - - }, - - setText: function(item, text) { - - }, - - getText: function(item) { - - }, - - enable: function(item) { - item._enabled = true; - if (String(item.className).search("disabled") >= 0) item.className = String(item.className).replace(/disabled/gi,""); - item._uploader.enable(); - }, - - disable: function(item) { - item._enabled = false; - if (String(item.className).search("disabled") < 0) item.className += " disabled"; - item._uploader.disable(); - }, - - setWidth: function(item, width) { - item.childNodes[0].style.width = width+"px"; - item._width = width; - }, - - getWidth: function(item) { - return item._width||parseInt(item.childNodes[0].style.width); - }, - - setValue: function(item) { - item._uploader.clear(); - }, - - getValue: function(item) { - var t = item._uploader.getData(); - var r = {}; - var i = 0; - for (var a in t) { - r[item._idd+"_r_"+i] = t[a].realName; - r[item._idd+"_s_"+i] = t[a].serverName; - i++; - } - r[item._idd+"_count"] = i; - return r; - }, - - getUploader: function(item) { - return item._uploader; - }, - - getStatus: function(item) { - return item._uploader.getStatus(); - } -}; - -(function(){ - for (var a in {doUnloadNestedLists:1,isEnabled:1}) - dhtmlXForm.prototype.items.upload[a] = dhtmlXForm.prototype.items.checkbox[a]; -})(); - -dhtmlXForm.prototype.setFormData_upload = function(name) { - this.doWithItem(name, "setValue"); -}; - -dhtmlXForm.prototype.getUploader = function(name) { - return this.doWithItem(name, "getUploader"); -}; - -dhtmlXForm.prototype.getUploaderStatus = function(name) { - return this.doWithItem(name, "getStatus"); -}; - -/* uploader */ - -function dhtmlXFileUploader(p, swfPath, swfUrl, mode, swfLogs, slXap, slUrl, slLogs, multiple) { - - var that = this; - - if (typeof(mode) == "string" && typeof(this[mode]) == "function") { - this.engine = mode; - } else { - this.engine = "html4"; - - var k = null; - if (typeof(window.FormData) != "undefined" && typeof(window.XMLHttpRequest) != "undefined") { - k = new XMLHttpRequest(); - if (typeof(k.upload) == "undefined") k = null; - } - - if (k != null) { - // IE10, IE11, FF, Chrome, Opera - this.engine = "html5"; - } else if (typeof(window.swfobject) != "undefined" || k === false) { - var k = swfobject.getFlashPlayerVersion(); - if (k.major >= 10) this.engine = "flash"; - } else { - // check if silverlight installed - this._sl_v = this.getSLVersion(); - if (this._sl_v) this.engine = "sl"; - } - k = null; - } - - if (typeof(p) == "string") p = document.getElementById(p); - - this._upload_mp = (typeof(multiple) != "undefined" ? multiple==true : true); // multiple file select - this._upload_dnd = true; - - - // swf-file path - this._swf_file_url = swfPath||""; - this._swf_upolad_url = swfUrl||""; - this._swf_logs = swfLogs; - - // sl-data - this._sl_xap = slXap; - this._sl_upload_url = slUrl; - this._sl_logs = slLogs; - - // main cont - this.p = document.createElement("DIV"); - this.p.className += " dhx_file_uploader"; - p.appendChild(this.p); - - // files - this.p_files = document.createElement("DIV"); - this.p_files.className = "dhx_upload_files"; - this.p.appendChild(this.p_files); - - // buttons - this.p_controls = document.createElement("DIV"); - this.p_controls.className = "dhx_upload_controls"; - this.p.appendChild(this.p_controls); - - // init engine - - /* upload */ - - this._files = {}; - this._items = {}; - - this._data = {}; // uploaded files - - this._autoStart = false; - this._autoRemove = false; - this._titleScreen = true; - - this._enabled = true; - - this._uploaded_count = 0; - - this._initToolbar = function() { - - // add - this.b_opts = { - info: { onclick: null }, - browse: { onclick: null, tooltip: "Browse" }, - upload: { onclick: function() { if (!that._enabled) return; if (!that._uploading) { that._uploadStart(); } }, tooltip: "Upload" }, - cancel: { onclick: function() { if (!that._enabled) return; that._uploadStop(); that._switchButton(false); }, tooltip: "Stop" }, - clear: { onclick: function() { if (!that._enabled) return; that.clear(); }, tooltip: "Clear list" } - }; - - this.buttons = {}; - - for (var a in this.b_opts) { - var k = document.createElement("DIV"); - k.innerHTML = " "; - k.className = "dhx_file_uploader_button button_"+a; - k.onclick = this.b_opts[a].onclick; - if (this.b_opts[a].tooltip) k.title = this.b_opts[a].tooltip; - this.p_controls.appendChild(k); - this.buttons[a] = k; - k = null; - } - - this.buttons["cancel"].style.display = "none"; - } - - this._readableSize = function(t) { - var i = false; - var b = ["b","Kb","Mb","Gb","Tb","Pb","Eb"]; - for (var q=0; q 1024) t = t / 1024; else if (i === false) i = q; - if (i === false) i = b.length-1; - return Math.round(t*100)/100+" "+b[i]; - } - - this._beforeAddFileToList = function(name, size) { - return (this.callEvent("onBeforeFileAdd", [name, size])===true); - } - - this._addFileToList = function(id, name, size, state, progress) { - - this._checkTitleScreen(); - - var t = document.createElement("DIV"); - t._idd = id; - t.className = "dhx_file dhx_file_"+state; - t.innerHTML = "
                     
                    "+ - "
                    "+progress+"%
                    "+ - "
                     
                    "; - - this.p_files.appendChild(t); - - // filename area width - t.childNodes[0].style.width = t.offsetWidth-127+"px"; - - this._items[id] = t; - - this._updateFileNameSize(id); - - t.childNodes[2].onclick = function() { - if (!that._enabled) return; - var id = this.parentNode._idd; - that._removeFileFromQueue(id); - } - - this.callEvent("onFileAdd", [name]); - } - - this._removeFileFromList = function(id) { - - if (!this._items[id]) return; - - this._items[id].childNodes[2].onclick = null; - this._items[id].parentNode.removeChild(this._items[id]); - this._items[id] = null; - delete this._items[id]; - - if (this._data[id]) { - this._data[id] = null; - delete this._data[id]; - } - - this._checkTitleScreen(); - } - - this._updateFileNameSize = function(id) { - this._items[id].childNodes[0].innerHTML = this._files[id].name+(!isNaN(this._files[id].size)?" ("+this._readableSize(this._files[id].size)+")":" "); - this._items[id].childNodes[0].title = this._files[id].name+(!isNaN(this._files[id].size)?" ("+this._readableSize(this._files[id].size)+")":""); - } - - this._updateFileInList = function(id, state, progress) { - if (!this._items[id]) return; - this._items[id].className = "dhx_file dhx_file_"+state; - // progress - this._updateProgress(id, state, progress); - this._updateFileNameSize(id); - } - - this._updateProgress = function(id, state, progress) { - if (state == "uploading" && progress < 100 && this._progress_type == "loader") { - this._items[id].childNodes[1].className = "dhx_file_param dhx_file_uploading"; - this._items[id].childNodes[1].innerHTML = " "; - } else { - this._items[id].childNodes[1].className = "dhx_file_param dhx_file_progress"; - this._items[id].childNodes[1].innerHTML = progress+"%"; - } - this._updateFileNameSize(id); - } - - this._removeFilesByState = function(state) { - for (var a in this._files) { - if (state === true || this._files[a].state == state) { - this._removeFileFromQueue(a); - } - } - } - - this._switchButton = function(state) { - if (state == true) { - this.buttons["upload"].style.display = "none"; - this.buttons["cancel"].style.display = ""; - } else { - var t = this._uploaded_count; - this.buttons["upload"].style.display = ""; - this.buttons["cancel"].style.display = "none"; - this._uploaded_count = 0; - if (t > 0) this.callEvent("onUploadComplete",[t]); - } - } - - this._uploadStart = function() { - - this._switchButton(true); - - // change status for prev fail auploads if any - if (!this._uploading) { - for (var a in this._files) { - if (this._files[a].state == "fail") { - this._files[a].state = "added"; - this._updateFileInList(a, "added", 0); - } - } - } - - this._uploading = true; - - var t = false; - - for (var a in this._files) { - if (!t && [this._files[a].state] == "added") { - t = true; - this._files[a].state = "uploading"; - this._updateFileInList(a, "uploading", 0); - this._doUploadFile(a); - } - } - if (!t) { - this._uploading = false; - this._switchButton(false); - } - - } - - this._onUploadSuccess = function(id, serverName, r, extra) { - - // flash mode - if (typeof(r) != "undefined" && this.engine == "flash") { - var t = dhx4.s2j(r.data); - if (t != null && t.state == true && t.name != null) { - serverName = t.name; - if (t.extra != null) extra = t.extra; - } else { - this._onUploadFail(id, (t!=null&&t.extra!=null?t.extra:null)); - return; - } - } - - // - this._uploaded_count++; - this._data[id] = {realName: this._files[id].name, serverName: serverName}; - this._files[id].state = "uploaded"; - this._updateFileInList(id, "uploaded", 100); - this.callEvent("onUploadFile", [this._files[id].name, serverName, extra]); - if (this._autoRemove) this._removeFileFromQueue(id); - if (this._uploading) this._uploadStart(); - } - - this._onUploadFail = function(id, extra) { - this._files[id].state = "fail"; - this._updateFileInList(id, "fail", 0); - this.callEvent("onUploadFail", [this._files[id].name, extra]); - if (this._uploading) this._uploadStart(); - } - - this._onUploadAbort = function(id) { - this._uploading = false; - this._files[id].state = "added"; - this._updateFileInList(id, "added", 0); - this.callEvent("onUploadCancel",[this._files[id].name]); - } - - this._checkTitleScreen = function() { - var k = 0; - for (var a in this._files) k++; - - if (k == 0 && this.p.className.search("dhx_file_uploader_title") < 0 && this._titleScreen) { - // show title screen - this.p.className += " dhx_file_uploader_title"; - this.buttons["info"].innerHTML = this._titleText; - this.buttons["info"].style.width = Math.max(this.p_controls.offsetWidth-134, 0)+"px"; - } - if ((k > 0 || !this._titleScreen) && this.p.className.search("dhx_file_uploader_title") >= 0) { - // hide title screen - this.p.className = this.p.className.replace(/dhx_file_uploader_title/g,""); - this.buttons["info"].innerHTML = ""; - } - } - - // events - this.callEvent = function(){} - - // public - this.upload = function() { - if (!this._uploading) this._uploadStart(); - } - - this.setAutoStart = function(state) { - this._autoStart = (state==true); - } - - this.setAutoRemove = function(state) { - this._autoRemove = (state==true); - } - - this.enableTitleScreen = function(state) { - this._titleScreen = (state==true); - this._checkTitleScreen(); - } - - this.setTitleText = function(text) { - this._titleText = text; - if (this.p.className.search("dhx_file_uploader_title") >= 0) this.buttons["info"].innerHTML = this._titleText; - } - - this.setURL = function(url) { - this._url = url; - } - - this.setSWFURL = function(url) { - this._swf_upolad_url = url; - } - - this.enable = function() { - this._enabled = true; - this.p_files.className = "dhx_upload_files"; - this.p_controls.className = "dhx_upload_controls"; - } - - this.disable = function() { - this._enabled = false; - this.p_files.className = "dhx_upload_files dhx_uploader_dis"; - this.p_controls.className = "dhx_upload_controls dhx_uploader_dis"; - } - - this.getStatus = function() { - // 0 - filelist is empty - // 1 - all files in filelist uploaded - //-1 - not all files uploaded - var t = 0; - for (var a in this._files) { - if (this._files[a].state != "uploaded") return -1; - t = 1; - } - return t; - } - - this.getData = function() { - // return struct of uploaded files - return this._data; - } - - this.clear = function() { - if (this.callEvent("onBeforeClear", []) !== true) return; - if (this._uploading) that._uploadStop(); - that._switchButton(false); - that._removeFilesByState(true); - this.callEvent("onClear",[]); - } - - this.unload = function() { - - // remove all files from queue/list - this._removeFilesByState(true); - this._data = null; - this._files = null; - this._items = null; - - // custom engine stuff - this._unloadEngine(); - - // buttons - for (var a in this.buttons) { - this.buttons[a].onclick = null; - this.buttons[a].parentNode.removeChild(this.buttons[a]); - this.buttons[a] = null; - delete this.buttons[a]; - } - this.buttons = null; - - // buttons settings - for (var a in this.b_opts) { - this.b_opts[a].onclick = null; - this.b_opts[a] = null; - delete this.b_opts[a]; - } - this.b_opts = null; - - this.p_controls.parentNode.removeChild(this.p_controls); - this.p_files.parentNode.removeChild(this.p_files); - - // main container - this.p.className = this.p.className.replace(/dhx_file_uploader_title/gi,"").replace(/dhx_file_uploader/gi,""); - - for (var a in this) this[a] = null; - - that = a = null; - - } - - // init engine-relative funcs - var e = new this[this.engine](); - for (var a in e) { this[a] = e[a]; e[a] = null; } - a = e = p = null; - - // init app - this._initToolbar(); - this._initEngine(); - this._checkTitleScreen(); - - return this; - -} - -// html5 engine - -dhtmlXFileUploader.prototype.html5 = function(){}; - -dhtmlXFileUploader.prototype.html5.prototype = { - - _initEngine: function() { - - var that = this; - this.buttons["browse"].onclick = function(){ - if (that._enabled) that.f.click(); - } - - this._progress_type = "percentage"; - - // Safari on Windows sometimes have problem with multiple file selections - // file length set to zero, do not allow multiple file selecting - // d-n-d seems works fine - - var k = window.navigator.userAgent; - if (k.match(/Windows/gi) != null && k.match(/AppleWebKit/gi) != null && k.match(/Safari/gi) != null) { - if (k.match(/Version\/5\.1\.5/gi)) this._upload_mp = false; - if (k.match(/Version\/5\.1[^\.\d{1,}]/gi)) this._upload_dnd = false; - if (k.match(/Version\/5\.1\.1/gi)) { - this._upload_mp = false; - this._upload_dnd = false; - } - if (k.match(/Version\/5\.1\.2/gi)) this._upload_dnd = false; - if (k.match(/Version\/5\.1\.7/gi)) this._upload_mp = false; - } - - // "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-EN) AppleWebKit/533.21.1 (KHTML, like Gecko) Version/5.0.1 Safari/533.17.8" // ok, no dnd - // "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-EN) AppleWebKit/533.21.1 (KHTML, like Gecko) Version/5.0.2 Safari/533.18.5" // ok, no dnd - // "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-EN) AppleWebKit/533.21.1 (KHTML, like Gecko) Version/5.0.3 Safari/533.19.4" // ok, no dnd - // "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-EN) AppleWebKit/533.21.1 (KHTML, like Gecko) Version/5.0.4 Safari/533.20.27" // ok, no dnd - // "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-EN) AppleWebKit/533.21.1 (KHTML, like Gecko) Version/5.0.5 Safari/533.21.1" // ok, no dnd - // "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50" // ok, dnd partialy fail, disabled - // "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/534.52.7 (KHTML, like Gecko) Version/5.1.1 Safari/534.51.22" // multiple files add - fail, dnd partialy fail, disabled - // "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/534.52.7 (KHTML, like Gecko) Version/5.1.2 Safari/534.52.7" // ok, dnd partialy fail, disabled - // "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/534.54.16 (KHTML, like Gecko) Version/5.1.4 Safari/534.54.16" // ok - // "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/534.55.3 (KHTML, like Gecko) Version/5.1.5 Safari/534.55.3" // multiple files add - fail - // "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/534.57.2 (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2" // dnd - ok, multiselect - fail (Windows 8) - - // input - this._addFileInput(); - - // dnd - if (this._upload_dnd) { - - this.p.ondragenter = function(e){ - if (!e.dataTransfer) return; - e.stopPropagation(); - e.preventDefault(); - } - this.p.ondragover = function(e){ - if (!e.dataTransfer) return; - e.stopPropagation(); - e.preventDefault(); - } - this.p.ondrop = function(e) { - if (!e.dataTransfer) return; - e.stopPropagation(); - e.preventDefault(); - if (that._enabled) that._parseFilesInInput(e.dataTransfer.files); - } - - this._titleText = "Drag-n-Drop files here or
                    click to select files for upload."; - - } else { - this._titleText = "Click to select files for upload."; - } - }, - - _addFileInput: function() { - - // complete input reload, opera needs - if (this.f != null) { - this.f.onchange = null; - this.f.parentNode.removeChild(this.f); - this.f = null; - } - - var that = this; - - this.f = document.createElement("INPUT"); - this.f.type = "file"; - - if (this._upload_mp) this.f.multiple = "1"; - this.f.className = "dhx_uploader_input"; - this.p_controls.appendChild(this.f); - - this.f.onchange = function() { - that._parseFilesInInput(this.files); - if (window.dhx4.isOpera) that._addFileInput(); else this.value = ""; - } - }, - - _doUploadFile: function(id) { - - var that = this; - - if (!this._loader) { - this._loader = new XMLHttpRequest(); - this._loader.upload.onprogress = function(e) { - if (that._files[this._idd].state == "uploading") that._updateFileInList(this._idd, "uploading", Math.round(e.loaded*100/e.total)); - } - this._loader.onload = function(e) { - var r = dhx4.s2j(this.responseText); - if (typeof(r) == "object" && r != null && typeof(r.state) != "undefined" && r.state == true) { - that._onUploadSuccess(this.upload._idd, r.name, null, r.extra); - r = null; - } else { - that._onUploadFail(this.upload._idd, (r!=null&&r.extra!=null?r.extra:null)); - } - } - this._loader.onerror = function(e) { - that._onUploadFail(this.upload._idd); - } - this._loader.onabort = function(e) { - that._onUploadAbort(this.upload._idd); - } - } - - this._loader.upload._idd = id; - - var form = new FormData(); - form.append("file", this._files[id].file); - - if (this.callEvent("onBeforeFileUpload", ["html5", this.loader, form])){ - this._loader.open("POST", this._url+(String(this._url).indexOf("?")<0?"?":"&")+"mode=html5"+window.dhx4.ajax._dhxr("&"), true); - this._loader.setRequestHeader("X-Requested-With", "XMLHttpRequest"); - this._loader.send(form); - } - }, - - _uploadStop: function() { - if (!this._uploading || !this._loader) return; - this._loader.abort(); - }, - - _parseFilesInInput: function(f) { - for (var q=0; q'; - - this.fr = this.k.firstChild; - - if (window.navigator.userAgent.indexOf("MSIE") >= 0) { - this.fr.onreadystatechange = function() { - if (this.readyState == "complete") that._onLoad(); - } - } else { - this.fr.onload = function() { - that._onLoad(); - } - } - - } - - var f = document.createElement("DIV"); - f.innerHTML = "
                    "+ - ""+ - ""+ - ""+ - "
                    "; - this.k.appendChild(f); - - f.firstChild.lastChild._idd = id; - - f.firstChild.lastChild.onchange = function(){ - if (!that._beforeAddFileToList(this.value, null)) return; - that._addFileToQueue(this); - this.onchange = null; - this.parentNode.parentNode.style.display = "none"; - that._addForm(); - } - - f = null; - }, - - _onLoad: function() { - if (this._uploading) { - var r = dhx4.s2j(this.fr.contentWindow.document.body.innerHTML); - //this.fr.contentWindow.document.body.innerHTML = ""; - if (typeof(r) == "object" && r != null) { - if (typeof(r.state) != "undefined") { - if (r.state == "cancelled") { - this._onUploadAbort(this.fr._idd); - r = null; - return; - } else if (r.state == true) { - if (typeof(r.size) != "undefined" && !isNaN(r.size)) this._files[this.fr._idd].size = r.size; - this._onUploadSuccess(this.fr._idd, r.name, null, r.extra); - r = null; - return; - } - } - } - this._onUploadFail(this.fr._idd, (r!=null && r.extra != null ? r.extra:null)); - } - - }, - - _addFileToQueue: function(t) { - var v = t.value.match(/[^\\\/]*$/g); - if (v[0] != null) v = v[0]; else v = t.value; - // - this._files[t._idd] = { name: v, form: t.parentNode, node: t.parentNode.parentNode, input: t, state: "added"}; - this._addFileToList(t._idd, t.value, false, "added", 0); - if (this._autoStart && !this._uploading) this._uploadStart(true); - }, - - _removeFileFromQueue: function(id) { - - var name = this._files[id].name; - var serverName = (this._data!=null&&this._data[id]!=null?this._data[id].serverName:null); - - if (this.callEvent("onBeforeFileRemove",[name,serverName]) !== true) return; - - this._files[id].input.onchange = null; - this._files[id].form.removeChild(this._files[id].input); - this._files[id].node.removeChild(this._files[id].form); - this._files[id].node.parentNode.removeChild(this._files[id].node); - this._files[id].input = null; - this._files[id].name = null; - this._files[id].form = null; - this._files[id].node = null; - this._files[id].size = null; - this._files[id].state = null; - this._files[id] = null; - delete this._files[id]; - - this._removeFileFromList(id); - - this.callEvent("onFileRemove",[name,serverName]); - }, - - _doUploadFile: function(id) { - this.fr._idd = id; - this._files[id].form.action = this._url; - this._files[id].form.submit(); - }, - - _uploadStop: function() { - if (!this._uploading) return; - this.fr.contentWindow.location.href = (this._url)+(this._url.indexOf("?")<0?"?":"&")+"mode=html4&action=cancel"+window.dhx4.ajax._dhxr("&"); - }, - - _unloadEngine: function() { - - if (this.k) { - - this.fr_name = null; - this.fr.onreadystatechange = null; - this.fr.onload = null; - this.fr.parentNode.removeChild(this.fr); - this.fr = null; - - // remove empty form - this.k.firstChild.firstChild.lastChild.onchange = null; - - this.k.parentNode.removeChild(this.k); - this.k = null; - - } - - this._initEngine = null; - this._addForm = null; - this._onLoad = null; - this._addFileToQueue = null; - this._removeFileFromQueue = null; - this._doUploadFile = null; - this._uploadStop = null; - this._unloadEngine = null; - - } - -}; - - -dhtmlXFileUploader.prototype.flash = function(){}; - -dhtmlXFileUploader.prototype.flash.prototype = { - - _initEngine: function() { - - if (window.dhtmlXSWFObjectsPull == null) { - window.dhtmlXSWFObjectsPull = { - items: {}, - callEvent: function(id, name, params) { - return window.dhtmlXSWFObjectsPull.items[id].uploader[name].apply(window.dhtmlXSWFObjectsPull.items[id].uploader,params); - } - }; - } - - var that = this; - - this._swf_obj_id = "dhtmlXFileUploaderSWFObject_"+window.dhx4.newId(); - this._swf_file_url = this._swf_file_url+window.dhx4.ajax._dhxr(this._swf_file_url); - this.buttons["browse"].innerHTML = "
                    "; - swfobject.embedSWF(this._swf_file_url, this._swf_obj_id, "100%", "100%", "9", null, {ID:this._swf_obj_id,enableLogs:this._swf_logs}, {wmode:"transparent"}); - - var v = swfobject.getFlashPlayerVersion(); - this._titleText = "Engine successfuly inited
                    Flash Player: "+v.major+"."+v.minor+"."+v.release; - - this._progress_type = "percentage"; - - window.dhtmlXSWFObjectsPull.items[this._swf_obj_id] = {id: this._swf_obj_id, uploader: this}; - }, - - _beforeAddFileToQueue: function(name, size) { - return (this.callEvent("onBeforeFileAdd", [name, size])===true); - }, - - _addFileToQueue: function(id, name, size) { - if (window.dhx4.isIE) { - // focus+hide fix for IE - var k = document.createElement("INPUT"); - k.type = "TEXT"; - k.style.position = "absolute"; - k.style.left = "0px"; - k.style.top = window.dhx4.absTop(this.buttons["browse"])+"px"; - k.style.width = "10px"; - document.body.appendChild(k); - k.focus(); - document.body.removeChild(k); - k = null; - } - this._files[id] = {name: name, size: size, state: "added"}; - this._addFileToList(id, name, size, "added", 0); - if (this._autoStart && !this._uploading) this._uploadStart(true); - }, - - _removeFileFromQueue: function(id) { - - if (!this._files[id]) return; - - var name = this._files[id].name; - var serverName = (this._data!=null&&this._data[id]!=null?this._data[id].serverName:null); - - if (this.callEvent("onBeforeFileRemove",[name,serverName]) !== true) return; - - var k = false; - if (this._uploading && this._files[id].state == "uploading") { - this._uploadStop(); - k = true; - } - - swfobject.getObjectById(this._swf_obj_id).removeFileById(id); - - this._files[id].name = null; - this._files[id].size = null; - this._files[id].state = null; - this._files[id] = null; - delete this._files[id]; - - this._removeFileFromList(id); - - this.callEvent("onFileRemove",[name,serverName]); - - if (k) this._uploadStart(); - - }, - - _doUploadFile: function(id) { - swfobject.getObjectById(this._swf_obj_id).upload(id, this._swf_upolad_url); - }, - - _uploadStop: function(id) { - for (var a in this._files) if (this._files[a].state == "uploading") swfobject.getObjectById(this._swf_obj_id).uploadStop(a); - }, - - _unloadEngine: function() { - - // remove instance from global storage - - if (window.dhtmlXSWFObjectsPull.items[this._swf_obj_id]) { - window.dhtmlXSWFObjectsPull.items[this._swf_obj_id].id = null; - window.dhtmlXSWFObjectsPull.items[this._swf_obj_id].uploader = null; - window.dhtmlXSWFObjectsPull.items[this._swf_obj_id] = null - delete window.dhtmlXSWFObjectsPull.items[this._swf_obj_id]; - } - - this._swf_obj_id = null; - - this._initEngine = null; - this._addFileToQueue = null; - this._removeFileFromQueue = null; - this._doUploadFile = null; - this._uploadStop = null; - this._unloadEngine = null; - } - -}; - -dhtmlXFileUploader.prototype.sl = function(){}; - -dhtmlXFileUploader.prototype.sl.prototype = { - - _initEngine: function() { - - if (typeof(this._sl_v) == "undefined") this._sl_v = this.getSLVersion(); - - if (!window.dhtmlXFileUploaderSLObjects) { - window.dhtmlXFileUploaderSLObjects = { - items: {}, - callEvent: function(id, name, params) { - //console.log(arguments) - window.dhtmlXFileUploaderSLObjects.items[id].uploader[name].apply(window.dhtmlXFileUploaderSLObjects.items[id].uploader,params); - } - }; - } - - //var that = this; - - this._sl_obj_id = "dhtmlXFileUploaderSLObject_"+window.dhx4.newId(); - - if (this._sl_v != false) { - this._titleText = "Engine successfuly inited
                    Silverlight version: "+this._sl_v[0]+"."+this._sl_v[1]; - this.buttons["browse"].innerHTML = '
                    '+ - ''+ - ''+ - ''+ - ''+ - ''+ - ''+ - ''+ - '
                    '; - } else { - this._titleText = "Silverlight plugin not found
                    or version less than 4.0"; - this.buttons["browse"].style.cursor = "wait"; - this.buttons["browse"].title = ""; - } - - this._progress_type = "percentage"; - - window.dhtmlXFileUploaderSLObjects.items[this._sl_obj_id] = {id: this._sl_obj_id, uploader: this}; - }, - - _addFileToQueue: function(id, name, size) { - this._files[id] = {name: name, size: size, state: "added"}; - this._addFileToList(id, name, size, "added", 0); - if (this._autoStart && !this._uploading) this._uploadStart(true); - }, - - _removeFileFromQueue: function(id) { - if (!this._files[id]) return; - - var k = false; - if (this._uploading && this._files[id].state == "uploading") { - this._uploadStop(); - k = true; - } - - document.getElementById([this._sl_obj_id]).Content.a.removeFileById(id); - - this._files[id].name = null; - this._files[id].size = null; - this._files[id].state = null; - this._files[id] = null; - delete this._files[id]; - - this._removeFileFromList(id); - - if (k) this._uploadStart(); - - }, - - _doUploadFile: function(id) { - // sl have inner url parser and params will cut, - // sho should be passed via 3rd param - var p = this._sl_upload_url.split("?"); - p = (p[1]!=null?"&"+p[1]:""); - // - document.getElementById(this._sl_obj_id).Content.a.upload(id, this._sl_upload_url, p+"&mode=sl"+window.dhx4.ajax._dhxr("&")); // leading "&" required! - }, - - _uploadStop: function(id) { - this._uploading = false; - for (var a in this._files) if (this._files[a].state == "uploading") document.getElementById(this._sl_obj_id).Content.a.uploadStop(a); - }, - - _unloadEngine: function() { - - // remove instance from global storage - - if (window.dhtmlXFileUploaderSLObjects.items[this._sl_obj_id]) { - window.dhtmlXFileUploaderSLObjects.items[this._sl_obj_id].id = null; - window.dhtmlXFileUploaderSLObjects.items[this._sl_obj_id].uploader = null; - window.dhtmlXFileUploaderSLObjects.items[this._sl_obj_id] = null - delete window.dhtmlXFileUploaderSLObjects.items[this._sl_obj_id]; - } - - this._sl_obj_id = null; - - this._initEngine = null; - this._addFileToQueue = null; - this._removeFileFromQueue = null; - this._doUploadFile = null; - this._uploadStop = null; - this._unloadEngine = null; - } - -}; - -dhtmlXFileUploader.prototype.setSLURL = function(url) { - this._sl_upload_url = url; -}; - -dhtmlXFileUploader.prototype.getSLVersion = function() { - var v = false; - if (window.dhx4.isIE) { - try { - var t = new ActiveXObject('AgControl.AgControl'); - if (t != null) { - // loop through [4-x, 0-9] until supported - var k1 = 4, k2 = 0; - while (t.isVersionSupported([k1,k2].join("."))) { - v = [k1,k2]; - if (++k2 > 9) { k1++; k2=0; } - } - } - t = null; - } catch(e) {}; - } else { - if (navigator.plugins["Silverlight Plug-In"] != null) { - v = navigator.plugins["Silverlight Plug-In"].description.split("."); - } - } - return v; -}; - diff --git a/themes/sources/dhtmlxForm/codebase/ext/dhxupload.xap b/themes/sources/dhtmlxForm/codebase/ext/dhxupload.xap deleted file mode 100644 index f2deecd..0000000 Binary files a/themes/sources/dhtmlxForm/codebase/ext/dhxupload.xap and /dev/null differ diff --git a/themes/sources/dhtmlxForm/codebase/ext/swfobject.js b/themes/sources/dhtmlxForm/codebase/ext/swfobject.js deleted file mode 100644 index bf35c07..0000000 --- a/themes/sources/dhtmlxForm/codebase/ext/swfobject.js +++ /dev/null @@ -1,777 +0,0 @@ -/*! SWFObject v2.2 - is released under the MIT License -*/ - -var swfobject = function() { - - var UNDEF = "undefined", - OBJECT = "object", - SHOCKWAVE_FLASH = "Shockwave Flash", - SHOCKWAVE_FLASH_AX = "ShockwaveFlash.ShockwaveFlash", - FLASH_MIME_TYPE = "application/x-shockwave-flash", - EXPRESS_INSTALL_ID = "SWFObjectExprInst", - ON_READY_STATE_CHANGE = "onreadystatechange", - - win = window, - doc = document, - nav = navigator, - - plugin = false, - domLoadFnArr = [main], - regObjArr = [], - objIdArr = [], - listenersArr = [], - storedAltContent, - storedAltContentId, - storedCallbackFn, - storedCallbackObj, - isDomLoaded = false, - isExpressInstallActive = false, - dynamicStylesheet, - dynamicStylesheetMedia, - autoHideShow = true, - - /* Centralized function for browser feature detection - - User agent string detection is only used when no good alternative is possible - - Is executed directly for optimal performance - */ - ua = function() { - var w3cdom = typeof doc.getElementById != UNDEF && typeof doc.getElementsByTagName != UNDEF && typeof doc.createElement != UNDEF, - u = nav.userAgent.toLowerCase(), - p = nav.platform.toLowerCase(), - windows = p ? /win/.test(p) : /win/.test(u), - mac = p ? /mac/.test(p) : /mac/.test(u), - webkit = /webkit/.test(u) ? parseFloat(u.replace(/^.*webkit\/(\d+(\.\d+)?).*$/, "$1")) : false, // returns either the webkit version or false if not webkit - ie = !+"\v1", // feature detection based on Andrea Giammarchi's solution: http://webreflection.blogspot.com/2009/01/32-bytes-to-know-if-your-browser-is-ie.html - playerVersion = [0,0,0], - d = null; - if (typeof nav.plugins != UNDEF && typeof nav.plugins[SHOCKWAVE_FLASH] == OBJECT) { - d = nav.plugins[SHOCKWAVE_FLASH].description; - if (d && !(typeof nav.mimeTypes != UNDEF && nav.mimeTypes[FLASH_MIME_TYPE] && !nav.mimeTypes[FLASH_MIME_TYPE].enabledPlugin)) { // navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin indicates whether plug-ins are enabled or disabled in Safari 3+ - plugin = true; - ie = false; // cascaded feature detection for Internet Explorer - d = d.replace(/^.*\s+(\S+\s+\S+$)/, "$1"); - playerVersion[0] = parseInt(d.replace(/^(.*)\..*$/, "$1"), 10); - playerVersion[1] = parseInt(d.replace(/^.*\.(.*)\s.*$/, "$1"), 10); - playerVersion[2] = /[a-zA-Z]/.test(d) ? parseInt(d.replace(/^.*[a-zA-Z]+(.*)$/, "$1"), 10) : 0; - } - } - else if (typeof win.ActiveXObject != UNDEF) { - try { - var a = new ActiveXObject(SHOCKWAVE_FLASH_AX); - if (a) { // a will return null when ActiveX is disabled - d = a.GetVariable("$version"); - if (d) { - ie = true; // cascaded feature detection for Internet Explorer - d = d.split(" ")[1].split(","); - playerVersion = [parseInt(d[0], 10), parseInt(d[1], 10), parseInt(d[2], 10)]; - } - } - } - catch(e) {} - } - return { w3:w3cdom, pv:playerVersion, wk:webkit, ie:ie, win:windows, mac:mac }; - }(), - - /* Cross-browser onDomLoad - - Will fire an event as soon as the DOM of a web page is loaded - - Internet Explorer workaround based on Diego Perini's solution: http://javascript.nwbox.com/IEContentLoaded/ - - Regular onload serves as fallback - */ - onDomLoad = function() { - if (!ua.w3) { return; } - if ((typeof doc.readyState != UNDEF && doc.readyState == "complete") || (typeof doc.readyState == UNDEF && (doc.getElementsByTagName("body")[0] || doc.body))) { // function is fired after onload, e.g. when script is inserted dynamically - callDomLoadFunctions(); - } - if (!isDomLoaded) { - if (typeof doc.addEventListener != UNDEF) { - doc.addEventListener("DOMContentLoaded", callDomLoadFunctions, false); - } - if (ua.ie && ua.win) { - doc.attachEvent(ON_READY_STATE_CHANGE, function() { - if (doc.readyState == "complete") { - doc.detachEvent(ON_READY_STATE_CHANGE, arguments.callee); - callDomLoadFunctions(); - } - }); - if (win == top) { // if not inside an iframe - (function(){ - if (isDomLoaded) { return; } - try { - doc.documentElement.doScroll("left"); - } - catch(e) { - setTimeout(arguments.callee, 0); - return; - } - callDomLoadFunctions(); - })(); - } - } - if (ua.wk) { - (function(){ - if (isDomLoaded) { return; } - if (!/loaded|complete/.test(doc.readyState)) { - setTimeout(arguments.callee, 0); - return; - } - callDomLoadFunctions(); - })(); - } - addLoadEvent(callDomLoadFunctions); - } - }(); - - function callDomLoadFunctions() { - if (isDomLoaded) { return; } - try { // test if we can really add/remove elements to/from the DOM; we don't want to fire it too early - var t = doc.getElementsByTagName("body")[0].appendChild(createElement("span")); - t.parentNode.removeChild(t); - } - catch (e) { return; } - isDomLoaded = true; - var dl = domLoadFnArr.length; - for (var i = 0; i < dl; i++) { - domLoadFnArr[i](); - } - } - - function addDomLoadEvent(fn) { - if (isDomLoaded) { - fn(); - } - else { - domLoadFnArr[domLoadFnArr.length] = fn; // Array.push() is only available in IE5.5+ - } - } - - /* Cross-browser onload - - Based on James Edwards' solution: http://brothercake.com/site/resources/scripts/onload/ - - Will fire an event as soon as a web page including all of its assets are loaded - */ - function addLoadEvent(fn) { - if (typeof win.addEventListener != UNDEF) { - win.addEventListener("load", fn, false); - } - else if (typeof doc.addEventListener != UNDEF) { - doc.addEventListener("load", fn, false); - } - else if (typeof win.attachEvent != UNDEF) { - addListener(win, "onload", fn); - } - else if (typeof win.onload == "function") { - var fnOld = win.onload; - win.onload = function() { - fnOld(); - fn(); - }; - } - else { - win.onload = fn; - } - } - - /* Main function - - Will preferably execute onDomLoad, otherwise onload (as a fallback) - */ - function main() { - if (plugin) { - testPlayerVersion(); - } - else { - matchVersions(); - } - } - - /* Detect the Flash Player version for non-Internet Explorer browsers - - Detecting the plug-in version via the object element is more precise than using the plugins collection item's description: - a. Both release and build numbers can be detected - b. Avoid wrong descriptions by corrupt installers provided by Adobe - c. Avoid wrong descriptions by multiple Flash Player entries in the plugin Array, caused by incorrect browser imports - - Disadvantage of this method is that it depends on the availability of the DOM, while the plugins collection is immediately available - */ - function testPlayerVersion() { - var b = doc.getElementsByTagName("body")[0]; - var o = createElement(OBJECT); - o.setAttribute("type", FLASH_MIME_TYPE); - var t = b.appendChild(o); - if (t) { - var counter = 0; - (function(){ - if (typeof t.GetVariable != UNDEF) { - var d = t.GetVariable("$version"); - if (d) { - d = d.split(" ")[1].split(","); - ua.pv = [parseInt(d[0], 10), parseInt(d[1], 10), parseInt(d[2], 10)]; - } - } - else if (counter < 10) { - counter++; - setTimeout(arguments.callee, 10); - return; - } - b.removeChild(o); - t = null; - matchVersions(); - })(); - } - else { - matchVersions(); - } - } - - /* Perform Flash Player and SWF version matching; static publishing only - */ - function matchVersions() { - var rl = regObjArr.length; - if (rl > 0) { - for (var i = 0; i < rl; i++) { // for each registered object element - var id = regObjArr[i].id; - var cb = regObjArr[i].callbackFn; - var cbObj = {success:false, id:id}; - if (ua.pv[0] > 0) { - var obj = getElementById(id); - if (obj) { - if (hasPlayerVersion(regObjArr[i].swfVersion) && !(ua.wk && ua.wk < 312)) { // Flash Player version >= published SWF version: Houston, we have a match! - setVisibility(id, true); - if (cb) { - cbObj.success = true; - cbObj.ref = getObjectById(id); - cb(cbObj); - } - } - else if (regObjArr[i].expressInstall && canExpressInstall()) { // show the Adobe Express Install dialog if set by the web page author and if supported - var att = {}; - att.data = regObjArr[i].expressInstall; - att.width = obj.getAttribute("width") || "0"; - att.height = obj.getAttribute("height") || "0"; - if (obj.getAttribute("class")) { att.styleclass = obj.getAttribute("class"); } - if (obj.getAttribute("align")) { att.align = obj.getAttribute("align"); } - // parse HTML object param element's name-value pairs - var par = {}; - var p = obj.getElementsByTagName("param"); - var pl = p.length; - for (var j = 0; j < pl; j++) { - if (p[j].getAttribute("name").toLowerCase() != "movie") { - par[p[j].getAttribute("name")] = p[j].getAttribute("value"); - } - } - showExpressInstall(att, par, id, cb); - } - else { // Flash Player and SWF version mismatch or an older Webkit engine that ignores the HTML object element's nested param elements: display alternative content instead of SWF - displayAltContent(obj); - if (cb) { cb(cbObj); } - } - } - } - else { // if no Flash Player is installed or the fp version cannot be detected we let the HTML object element do its job (either show a SWF or alternative content) - setVisibility(id, true); - if (cb) { - var o = getObjectById(id); // test whether there is an HTML object element or not - if (o && typeof o.SetVariable != UNDEF) { - cbObj.success = true; - cbObj.ref = o; - } - cb(cbObj); - } - } - } - } - } - - function getObjectById(objectIdStr) { - var r = null; - var o = getElementById(objectIdStr); - if (o && o.nodeName == "OBJECT") { - if (typeof o.SetVariable != UNDEF) { - r = o; - } - else { - var n = o.getElementsByTagName(OBJECT)[0]; - if (n) { - r = n; - } - } - } - return r; - } - - /* Requirements for Adobe Express Install - - only one instance can be active at a time - - fp 6.0.65 or higher - - Win/Mac OS only - - no Webkit engines older than version 312 - */ - function canExpressInstall() { - return !isExpressInstallActive && hasPlayerVersion("6.0.65") && (ua.win || ua.mac) && !(ua.wk && ua.wk < 312); - } - - /* Show the Adobe Express Install dialog - - Reference: http://www.adobe.com/cfusion/knowledgebase/index.cfm?id=6a253b75 - */ - function showExpressInstall(att, par, replaceElemIdStr, callbackFn) { - isExpressInstallActive = true; - storedCallbackFn = callbackFn || null; - storedCallbackObj = {success:false, id:replaceElemIdStr}; - var obj = getElementById(replaceElemIdStr); - if (obj) { - if (obj.nodeName == "OBJECT") { // static publishing - storedAltContent = abstractAltContent(obj); - storedAltContentId = null; - } - else { // dynamic publishing - storedAltContent = obj; - storedAltContentId = replaceElemIdStr; - } - att.id = EXPRESS_INSTALL_ID; - if (typeof att.width == UNDEF || (!/%$/.test(att.width) && parseInt(att.width, 10) < 310)) { att.width = "310"; } - if (typeof att.height == UNDEF || (!/%$/.test(att.height) && parseInt(att.height, 10) < 137)) { att.height = "137"; } - doc.title = doc.title.slice(0, 47) + " - Flash Player Installation"; - var pt = ua.ie && ua.win ? "ActiveX" : "PlugIn", - fv = "MMredirectURL=" + encodeURI(window.location).toString().replace(/&/g,"%26") + "&MMplayerType=" + pt + "&MMdoctitle=" + doc.title; - if (typeof par.flashvars != UNDEF) { - par.flashvars += "&" + fv; - } - else { - par.flashvars = fv; - } - // IE only: when a SWF is loading (AND: not available in cache) wait for the readyState of the object element to become 4 before removing it, - // because you cannot properly cancel a loading SWF file without breaking browser load references, also obj.onreadystatechange doesn't work - if (ua.ie && ua.win && obj.readyState != 4) { - var newObj = createElement("div"); - replaceElemIdStr += "SWFObjectNew"; - newObj.setAttribute("id", replaceElemIdStr); - obj.parentNode.insertBefore(newObj, obj); // insert placeholder div that will be replaced by the object element that loads expressinstall.swf - obj.style.display = "none"; - (function(){ - if (obj.readyState == 4) { - obj.parentNode.removeChild(obj); - } - else { - setTimeout(arguments.callee, 10); - } - })(); - } - createSWF(att, par, replaceElemIdStr); - } - } - - /* Functions to abstract and display alternative content - */ - function displayAltContent(obj) { - if (ua.ie && ua.win && obj.readyState != 4) { - // IE only: when a SWF is loading (AND: not available in cache) wait for the readyState of the object element to become 4 before removing it, - // because you cannot properly cancel a loading SWF file without breaking browser load references, also obj.onreadystatechange doesn't work - var el = createElement("div"); - obj.parentNode.insertBefore(el, obj); // insert placeholder div that will be replaced by the alternative content - el.parentNode.replaceChild(abstractAltContent(obj), el); - obj.style.display = "none"; - (function(){ - if (obj.readyState == 4) { - obj.parentNode.removeChild(obj); - } - else { - setTimeout(arguments.callee, 10); - } - })(); - } - else { - obj.parentNode.replaceChild(abstractAltContent(obj), obj); - } - } - - function abstractAltContent(obj) { - var ac = createElement("div"); - if (ua.win && ua.ie) { - ac.innerHTML = obj.innerHTML; - } - else { - var nestedObj = obj.getElementsByTagName(OBJECT)[0]; - if (nestedObj) { - var c = nestedObj.childNodes; - if (c) { - var cl = c.length; - for (var i = 0; i < cl; i++) { - if (!(c[i].nodeType == 1 && c[i].nodeName == "PARAM") && !(c[i].nodeType == 8)) { - ac.appendChild(c[i].cloneNode(true)); - } - } - } - } - } - return ac; - } - - /* Cross-browser dynamic SWF creation - */ - function createSWF(attObj, parObj, id) { - var r, el = getElementById(id); - if (ua.wk && ua.wk < 312) { return r; } - if (el) { - if (typeof attObj.id == UNDEF) { // if no 'id' is defined for the object element, it will inherit the 'id' from the alternative content - attObj.id = id; - } - if (ua.ie && ua.win) { // Internet Explorer + the HTML object element + W3C DOM methods do not combine: fall back to outerHTML - var att = ""; - for (var i in attObj) { - if (attObj[i] != Object.prototype[i]) { // filter out prototype additions from other potential libraries - if (i.toLowerCase() == "data") { - parObj.movie = attObj[i]; - } - else if (i.toLowerCase() == "styleclass") { // 'class' is an ECMA4 reserved keyword - att += ' class="' + attObj[i] + '"'; - } - else if (i.toLowerCase() != "classid") { - att += ' ' + i + '="' + attObj[i] + '"'; - } - } - } - var par = ""; - for (var j in parObj) { - if (parObj[j] != Object.prototype[j]) { // filter out prototype additions from other potential libraries - par += ''; - } - } - el.outerHTML = '' + par + ''; - objIdArr[objIdArr.length] = attObj.id; // stored to fix object 'leaks' on unload (dynamic publishing only) - r = getElementById(attObj.id); - } - else { // well-behaving browsers - var o = createElement(OBJECT); - o.setAttribute("type", FLASH_MIME_TYPE); - for (var m in attObj) { - if (attObj[m] != Object.prototype[m]) { // filter out prototype additions from other potential libraries - if (m.toLowerCase() == "styleclass") { // 'class' is an ECMA4 reserved keyword - o.setAttribute("class", attObj[m]); - } - else if (m.toLowerCase() != "classid") { // filter out IE specific attribute - o.setAttribute(m, attObj[m]); - } - } - } - for (var n in parObj) { - if (parObj[n] != Object.prototype[n] && n.toLowerCase() != "movie") { // filter out prototype additions from other potential libraries and IE specific param element - createObjParam(o, n, parObj[n]); - } - } - el.parentNode.replaceChild(o, el); - r = o; - } - } - return r; - } - - function createObjParam(el, pName, pValue) { - var p = createElement("param"); - p.setAttribute("name", pName); - p.setAttribute("value", pValue); - el.appendChild(p); - } - - /* Cross-browser SWF removal - - Especially needed to safely and completely remove a SWF in Internet Explorer - */ - function removeSWF(id) { - var obj = getElementById(id); - if (obj && obj.nodeName == "OBJECT") { - if (ua.ie && ua.win) { - obj.style.display = "none"; - (function(){ - if (obj.readyState == 4) { - removeObjectInIE(id); - } - else { - setTimeout(arguments.callee, 10); - } - })(); - } - else { - obj.parentNode.removeChild(obj); - } - } - } - - function removeObjectInIE(id) { - var obj = getElementById(id); - if (obj) { - for (var i in obj) { - if (typeof obj[i] == "function") { - obj[i] = null; - } - } - obj.parentNode.removeChild(obj); - } - } - - /* Functions to optimize JavaScript compression - */ - function getElementById(id) { - var el = null; - try { - el = doc.getElementById(id); - } - catch (e) {} - return el; - } - - function createElement(el) { - return doc.createElement(el); - } - - /* Updated attachEvent function for Internet Explorer - - Stores attachEvent information in an Array, so on unload the detachEvent functions can be called to avoid memory leaks - */ - function addListener(target, eventType, fn) { - target.attachEvent(eventType, fn); - listenersArr[listenersArr.length] = [target, eventType, fn]; - } - - /* Flash Player and SWF content version matching - */ - function hasPlayerVersion(rv) { - var pv = ua.pv, v = rv.split("."); - v[0] = parseInt(v[0], 10); - v[1] = parseInt(v[1], 10) || 0; // supports short notation, e.g. "9" instead of "9.0.0" - v[2] = parseInt(v[2], 10) || 0; - return (pv[0] > v[0] || (pv[0] == v[0] && pv[1] > v[1]) || (pv[0] == v[0] && pv[1] == v[1] && pv[2] >= v[2])) ? true : false; - } - - /* Cross-browser dynamic CSS creation - - Based on Bobby van der Sluis' solution: http://www.bobbyvandersluis.com/articles/dynamicCSS.php - */ - function createCSS(sel, decl, media, newStyle) { - if (ua.ie && ua.mac) { return; } - var h = doc.getElementsByTagName("head")[0]; - if (!h) { return; } // to also support badly authored HTML pages that lack a head element - var m = (media && typeof media == "string") ? media : "screen"; - if (newStyle) { - dynamicStylesheet = null; - dynamicStylesheetMedia = null; - } - if (!dynamicStylesheet || dynamicStylesheetMedia != m) { - // create dynamic stylesheet + get a global reference to it - var s = createElement("style"); - s.setAttribute("type", "text/css"); - s.setAttribute("media", m); - dynamicStylesheet = h.appendChild(s); - if (ua.ie && ua.win && typeof doc.styleSheets != UNDEF && doc.styleSheets.length > 0) { - dynamicStylesheet = doc.styleSheets[doc.styleSheets.length - 1]; - } - dynamicStylesheetMedia = m; - } - // add style rule - if (ua.ie && ua.win) { - if (dynamicStylesheet && typeof dynamicStylesheet.addRule == OBJECT) { - dynamicStylesheet.addRule(sel, decl); - } - } - else { - if (dynamicStylesheet && typeof doc.createTextNode != UNDEF) { - dynamicStylesheet.appendChild(doc.createTextNode(sel + " {" + decl + "}")); - } - } - } - - function setVisibility(id, isVisible) { - if (!autoHideShow) { return; } - var v = isVisible ? "visible" : "hidden"; - if (isDomLoaded && getElementById(id)) { - getElementById(id).style.visibility = v; - } - else { - createCSS("#" + id, "visibility:" + v); - } - } - - /* Filter to avoid XSS attacks - */ - function urlEncodeIfNecessary(s) { - var regex = /[\\\"<>\.;]/; - var hasBadChars = regex.exec(s) != null; - return hasBadChars && typeof encodeURIComponent != UNDEF ? encodeURIComponent(s) : s; - } - - /* Release memory to avoid memory leaks caused by closures, fix hanging audio/video threads and force open sockets/NetConnections to disconnect (Internet Explorer only) - */ - var cleanup = function() { - if (ua.ie && ua.win) { - window.attachEvent("onunload", function() { - // remove listeners to avoid memory leaks - var ll = listenersArr.length; - for (var i = 0; i < ll; i++) { - listenersArr[i][0].detachEvent(listenersArr[i][1], listenersArr[i][2]); - } - // cleanup dynamically embedded objects to fix audio/video threads and force open sockets and NetConnections to disconnect - var il = objIdArr.length; - for (var j = 0; j < il; j++) { - removeSWF(objIdArr[j]); - } - // cleanup library's main closures to avoid memory leaks - for (var k in ua) { - ua[k] = null; - } - ua = null; - for (var l in swfobject) { - swfobject[l] = null; - } - swfobject = null; - }); - } - }(); - - return { - /* Public API - - Reference: http://code.google.com/p/swfobject/wiki/documentation - */ - registerObject: function(objectIdStr, swfVersionStr, xiSwfUrlStr, callbackFn) { - if (ua.w3 && objectIdStr && swfVersionStr) { - var regObj = {}; - regObj.id = objectIdStr; - regObj.swfVersion = swfVersionStr; - regObj.expressInstall = xiSwfUrlStr; - regObj.callbackFn = callbackFn; - regObjArr[regObjArr.length] = regObj; - setVisibility(objectIdStr, false); - } - else if (callbackFn) { - callbackFn({success:false, id:objectIdStr}); - } - }, - - getObjectById: function(objectIdStr) { - if (ua.w3) { - return getObjectById(objectIdStr); - } - }, - - embedSWF: function(swfUrlStr, replaceElemIdStr, widthStr, heightStr, swfVersionStr, xiSwfUrlStr, flashvarsObj, parObj, attObj, callbackFn) { - var callbackObj = {success:false, id:replaceElemIdStr}; - if (ua.w3 && !(ua.wk && ua.wk < 312) && swfUrlStr && replaceElemIdStr && widthStr && heightStr && swfVersionStr) { - setVisibility(replaceElemIdStr, false); - addDomLoadEvent(function() { - widthStr += ""; // auto-convert to string - heightStr += ""; - var att = {}; - if (attObj && typeof attObj === OBJECT) { - for (var i in attObj) { // copy object to avoid the use of references, because web authors often reuse attObj for multiple SWFs - att[i] = attObj[i]; - } - } - att.data = swfUrlStr; - att.width = widthStr; - att.height = heightStr; - var par = {}; - if (parObj && typeof parObj === OBJECT) { - for (var j in parObj) { // copy object to avoid the use of references, because web authors often reuse parObj for multiple SWFs - par[j] = parObj[j]; - } - } - if (flashvarsObj && typeof flashvarsObj === OBJECT) { - for (var k in flashvarsObj) { // copy object to avoid the use of references, because web authors often reuse flashvarsObj for multiple SWFs - if (typeof par.flashvars != UNDEF) { - par.flashvars += "&" + k + "=" + flashvarsObj[k]; - } - else { - par.flashvars = k + "=" + flashvarsObj[k]; - } - } - } - if (hasPlayerVersion(swfVersionStr)) { // create SWF - var obj = createSWF(att, par, replaceElemIdStr); - if (att.id == replaceElemIdStr) { - setVisibility(replaceElemIdStr, true); - } - callbackObj.success = true; - callbackObj.ref = obj; - } - else if (xiSwfUrlStr && canExpressInstall()) { // show Adobe Express Install - att.data = xiSwfUrlStr; - showExpressInstall(att, par, replaceElemIdStr, callbackFn); - return; - } - else { // show alternative content - setVisibility(replaceElemIdStr, true); - } - if (callbackFn) { callbackFn(callbackObj); } - }); - } - else if (callbackFn) { callbackFn(callbackObj); } - }, - - switchOffAutoHideShow: function() { - autoHideShow = false; - }, - - ua: ua, - - getFlashPlayerVersion: function() { - return { major:ua.pv[0], minor:ua.pv[1], release:ua.pv[2] }; - }, - - hasFlashPlayerVersion: hasPlayerVersion, - - createSWF: function(attObj, parObj, replaceElemIdStr) { - if (ua.w3) { - return createSWF(attObj, parObj, replaceElemIdStr); - } - else { - return undefined; - } - }, - - showExpressInstall: function(att, par, replaceElemIdStr, callbackFn) { - if (ua.w3 && canExpressInstall()) { - showExpressInstall(att, par, replaceElemIdStr, callbackFn); - } - }, - - removeSWF: function(objElemIdStr) { - if (ua.w3) { - removeSWF(objElemIdStr); - } - }, - - createCSS: function(selStr, declStr, mediaStr, newStyleBoolean) { - if (ua.w3) { - createCSS(selStr, declStr, mediaStr, newStyleBoolean); - } - }, - - addDomLoadEvent: addDomLoadEvent, - - addLoadEvent: addLoadEvent, - - getQueryParamValue: function(param) { - var q = doc.location.search || doc.location.hash; - if (q) { - if (/\?/.test(q)) { q = q.split("?")[1]; } // strip question mark - if (param == null) { - return urlEncodeIfNecessary(q); - } - var pairs = q.split("&"); - for (var i = 0; i < pairs.length; i++) { - if (pairs[i].substring(0, pairs[i].indexOf("=")) == param) { - return urlEncodeIfNecessary(pairs[i].substring((pairs[i].indexOf("=") + 1))); - } - } - } - return ""; - }, - - // For internal usage only - expressInstallCallback: function() { - if (isExpressInstallActive) { - var obj = getElementById(EXPRESS_INSTALL_ID); - if (obj && storedAltContent) { - obj.parentNode.replaceChild(storedAltContent, obj); - if (storedAltContentId) { - setVisibility(storedAltContentId, true); - if (ua.ie && ua.win) { storedAltContent.style.display = "block"; } - } - if (storedCallbackFn) { storedCallbackFn(storedCallbackObj); } - } - isExpressInstallActive = false; - } - } - }; -}(); diff --git a/themes/sources/dhtmlxForm/codebase/ext/uploader.swf b/themes/sources/dhtmlxForm/codebase/ext/uploader.swf deleted file mode 100644 index 2fa8674..0000000 Binary files a/themes/sources/dhtmlxForm/codebase/ext/uploader.swf and /dev/null differ diff --git a/themes/sources/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_arrow_down.gif b/themes/sources/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_arrow_down.gif deleted file mode 100644 index c64d8c0..0000000 Binary files a/themes/sources/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_arrow_down.gif and /dev/null differ diff --git a/themes/sources/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_arrow_down_dis.gif b/themes/sources/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_arrow_down_dis.gif deleted file mode 100644 index 2bc7b78..0000000 Binary files a/themes/sources/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_arrow_down_dis.gif and /dev/null differ diff --git a/themes/sources/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_chbxrd.png b/themes/sources/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_chbxrd.png deleted file mode 100644 index 7f29274..0000000 Binary files a/themes/sources/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_chbxrd.png and /dev/null differ diff --git a/themes/sources/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_check_off.svg b/themes/sources/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_check_off.svg deleted file mode 100644 index 5222697..0000000 --- a/themes/sources/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_check_off.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/themes/sources/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_check_on.svg b/themes/sources/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_check_on.svg deleted file mode 100644 index 4d890b0..0000000 --- a/themes/sources/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_check_on.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/themes/sources/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_image_calendar.png b/themes/sources/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_image_calendar.png deleted file mode 100644 index 86e4ab7..0000000 Binary files a/themes/sources/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_image_calendar.png and /dev/null differ diff --git a/themes/sources/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_image_calendar_dis.png b/themes/sources/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_image_calendar_dis.png deleted file mode 100644 index 9e2a2ac..0000000 Binary files a/themes/sources/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_image_calendar_dis.png and /dev/null differ diff --git a/themes/sources/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_image_uploading.gif b/themes/sources/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_image_uploading.gif deleted file mode 100644 index 7c30859..0000000 Binary files a/themes/sources/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_image_uploading.gif and /dev/null differ diff --git a/themes/sources/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_radio_off.svg b/themes/sources/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_radio_off.svg deleted file mode 100644 index be6199e..0000000 --- a/themes/sources/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_radio_off.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/themes/sources/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_radio_on.svg b/themes/sources/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_radio_on.svg deleted file mode 100644 index 76c4912..0000000 --- a/themes/sources/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_radio_on.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/themes/sources/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_upload_buttons.png b/themes/sources/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_upload_buttons.png deleted file mode 100644 index 9eea772..0000000 Binary files a/themes/sources/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_upload_buttons.png and /dev/null differ diff --git a/themes/sources/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_upload_uploading.gif b/themes/sources/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_upload_uploading.gif deleted file mode 100644 index ca190eb..0000000 Binary files a/themes/sources/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_upload_uploading.gif and /dev/null differ diff --git a/themes/sources/dhtmlxForm/codebase/imgs/dhxform_skyblue/dhxform_chbxrd.gif b/themes/sources/dhtmlxForm/codebase/imgs/dhxform_skyblue/dhxform_chbxrd.gif deleted file mode 100644 index d176df1..0000000 Binary files a/themes/sources/dhtmlxForm/codebase/imgs/dhxform_skyblue/dhxform_chbxrd.gif and /dev/null differ diff --git a/themes/sources/dhtmlxForm/codebase/imgs/dhxform_skyblue/dhxform_image_uploading.gif b/themes/sources/dhtmlxForm/codebase/imgs/dhxform_skyblue/dhxform_image_uploading.gif deleted file mode 100644 index 1df5c43..0000000 Binary files a/themes/sources/dhtmlxForm/codebase/imgs/dhxform_skyblue/dhxform_image_uploading.gif and /dev/null differ diff --git a/themes/sources/dhtmlxForm/codebase/imgs/dhxform_skyblue/dhxform_upload_buttons.gif b/themes/sources/dhtmlxForm/codebase/imgs/dhxform_skyblue/dhxform_upload_buttons.gif deleted file mode 100644 index 96a9b8a..0000000 Binary files a/themes/sources/dhtmlxForm/codebase/imgs/dhxform_skyblue/dhxform_upload_buttons.gif and /dev/null differ diff --git a/themes/sources/dhtmlxForm/codebase/imgs/dhxform_skyblue/dhxform_upload_uploading.gif b/themes/sources/dhtmlxForm/codebase/imgs/dhxform_skyblue/dhxform_upload_uploading.gif deleted file mode 100644 index fbdfbdd..0000000 Binary files a/themes/sources/dhtmlxForm/codebase/imgs/dhxform_skyblue/dhxform_upload_uploading.gif and /dev/null differ diff --git a/themes/sources/dhtmlxForm/codebase/imgs/dhxform_terrace/dhxform_chbxrd.gif b/themes/sources/dhtmlxForm/codebase/imgs/dhxform_terrace/dhxform_chbxrd.gif deleted file mode 100644 index a713332..0000000 Binary files a/themes/sources/dhtmlxForm/codebase/imgs/dhxform_terrace/dhxform_chbxrd.gif and /dev/null differ diff --git a/themes/sources/dhtmlxForm/codebase/imgs/dhxform_terrace/dhxform_image_uploading.gif b/themes/sources/dhtmlxForm/codebase/imgs/dhxform_terrace/dhxform_image_uploading.gif deleted file mode 100644 index 7c30859..0000000 Binary files a/themes/sources/dhtmlxForm/codebase/imgs/dhxform_terrace/dhxform_image_uploading.gif and /dev/null differ diff --git a/themes/sources/dhtmlxForm/codebase/imgs/dhxform_terrace/dhxform_upload_buttons.gif b/themes/sources/dhtmlxForm/codebase/imgs/dhxform_terrace/dhxform_upload_buttons.gif deleted file mode 100644 index 21a2311..0000000 Binary files a/themes/sources/dhtmlxForm/codebase/imgs/dhxform_terrace/dhxform_upload_buttons.gif and /dev/null differ diff --git a/themes/sources/dhtmlxForm/codebase/imgs/dhxform_terrace/dhxform_upload_uploading.gif b/themes/sources/dhtmlxForm/codebase/imgs/dhxform_terrace/dhxform_upload_uploading.gif deleted file mode 100644 index ca190eb..0000000 Binary files a/themes/sources/dhtmlxForm/codebase/imgs/dhxform_terrace/dhxform_upload_uploading.gif and /dev/null differ diff --git a/themes/sources/dhtmlxForm/codebase/imgs/dhxform_web/dhxform_chbxrd.gif b/themes/sources/dhtmlxForm/codebase/imgs/dhxform_web/dhxform_chbxrd.gif deleted file mode 100644 index f366b99..0000000 Binary files a/themes/sources/dhtmlxForm/codebase/imgs/dhxform_web/dhxform_chbxrd.gif and /dev/null differ diff --git a/themes/sources/dhtmlxForm/codebase/imgs/dhxform_web/dhxform_image_uploading.gif b/themes/sources/dhtmlxForm/codebase/imgs/dhxform_web/dhxform_image_uploading.gif deleted file mode 100644 index ff9a5e6..0000000 Binary files a/themes/sources/dhtmlxForm/codebase/imgs/dhxform_web/dhxform_image_uploading.gif and /dev/null differ diff --git a/themes/sources/dhtmlxForm/codebase/imgs/dhxform_web/dhxform_upload_buttons.gif b/themes/sources/dhtmlxForm/codebase/imgs/dhxform_web/dhxform_upload_buttons.gif deleted file mode 100644 index 9afdc8d..0000000 Binary files a/themes/sources/dhtmlxForm/codebase/imgs/dhxform_web/dhxform_upload_buttons.gif and /dev/null differ diff --git a/themes/sources/dhtmlxForm/codebase/imgs/dhxform_web/dhxform_upload_uploading.gif b/themes/sources/dhtmlxForm/codebase/imgs/dhxform_web/dhxform_upload_uploading.gif deleted file mode 100644 index ca190eb..0000000 Binary files a/themes/sources/dhtmlxForm/codebase/imgs/dhxform_web/dhxform_upload_uploading.gif and /dev/null differ diff --git a/themes/sources/dhtmlxForm/codebase/skins/dhtmlxform_dhx_skyblue.css b/themes/sources/dhtmlxForm/codebase/skins/dhtmlxform_dhx_skyblue.css deleted file mode 100644 index b54de4b..0000000 --- a/themes/sources/dhtmlxForm/codebase/skins/dhtmlxform_dhx_skyblue.css +++ /dev/null @@ -1,838 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: dhx_skyblue - include extra file: skins/dhx_skyblue.less -*/ - -.dhxform_obj_dhx_skyblue { - font-family: Tahoma, Helvetica; - float: left; - line-height: normal; -} -.dhxform_obj_dhx_skyblue div.dhxform_base { - position: relative; - float: left; -} -.dhxform_obj_dhx_skyblue.dhxform_rtl div.dhxform_base { - float: right; -} -.dhxform_obj_dhx_skyblue div.dhxform_base_nested { - padding: 0px 0px 0px 0px; - clear: both; - *display: inline-block; -} -.dhxform_obj_dhx_skyblue.dhxform_rtl div.dhxform_base_nested { - padding: 0px 0px 0px 0px; -} -.dhxform_obj_dhx_skyblue.dhxform_block { - clear: both; -} -.dhxform_obj_dhx_skyblue div.block_dhxform_item_label_left { - display: block; - clear: both; - *clear: none; -} -.dhxform_obj_dhx_skyblue div.dhxform_label div.dhxform_label_nav_link, -.dhxform_obj_dhx_skyblue div.dhxform_label div.dhxform_label_nav_link:visited, -.dhxform_obj_dhx_skyblue div.dhxform_label div.dhxform_label_nav_link:active, -.dhxform_obj_dhx_skyblue div.dhxform_label div.dhxform_label_nav_link:hover { - outline: none; - text-decoration: none; - color: inherit; - cursor: default; - overflow: hidden; - white-space: normal; -} -.dhxform_obj_dhx_skyblue div.dhxform_label div.dhxform_label_nav_link:focus { - color: #305f87; -} -.dhxform_obj_dhx_skyblue div.disabled span.nav_link { - color: inherit; -} -.dhxform_obj_dhx_skyblue div.dhxform_img, -.dhxform_obj_dhx_skyblue div.dhxform_actv_c, -.dhxform_obj_dhx_skyblue div.dhxform_actv_r { - width: 18px; - height: 18px; - font-size: 1px; -} -.dhxform_obj_dhx_skyblue div.dhxform_img.chbx0, -.dhxform_obj_dhx_skyblue div.dhxform_img.chbx1, -.dhxform_obj_dhx_skyblue div.disabled div.dhxform_img.chbx0, -.dhxform_obj_dhx_skyblue div.disabled div.dhxform_img.chbx1, -.dhxform_obj_dhx_skyblue div.dhxform_img.rdbt0, -.dhxform_obj_dhx_skyblue div.dhxform_img.rdbt1, -.dhxform_obj_dhx_skyblue div.disabled div.dhxform_img.rdbt0, -.dhxform_obj_dhx_skyblue div.disabled div.dhxform_img.rdbt1, -.dhxform_obj_dhx_skyblue div.dhxform_actv_c.chbx0, -.dhxform_obj_dhx_skyblue div.dhxform_actv_c.chbx1, -.dhxform_obj_dhx_skyblue div.dhxform_actv_r.rdbt0, -.dhxform_obj_dhx_skyblue div.dhxform_actv_r.rdbt1 { - background-image: url("../imgs/dhxform_skyblue/dhxform_chbxrd.gif"); - background-repeat: no-repeat; -} -.dhxform_obj_dhx_skyblue div.dhxform_actv_c.chbx0 { - background-position: -162px 0px; -} -.dhxform_obj_dhx_skyblue div.dhxform_actv_c.chbx1 { - background-position: -144px 0px; -} -.dhxform_obj_dhx_skyblue div.dhxform_actv_r.rdbt0 { - background-position: -198px 0px; -} -.dhxform_obj_dhx_skyblue div.dhxform_actv_r.rdbt1 { - background-position: -180px 0px; -} -.dhxform_obj_dhx_skyblue div.dhxform_img.chbx0 { - background-position: -18px 0px; -} -.dhxform_obj_dhx_skyblue div.dhxform_img.chbx1 { - background-position: 0px 0px; -} -.dhxform_obj_dhx_skyblue div.disabled div.dhxform_img.chbx0 { - background-position: -54px 0px; -} -.dhxform_obj_dhx_skyblue div.disabled div.dhxform_img.chbx1 { - background-position: -36px 0px; -} -.dhxform_obj_dhx_skyblue div.dhxform_img.rdbt0 { - background-position: -90px 0px; -} -.dhxform_obj_dhx_skyblue div.dhxform_img.rdbt1 { - background-position: -72px 0px; -} -.dhxform_obj_dhx_skyblue div.disabled div.dhxform_img.rdbt0 { - background-position: -126px 0px; -} -.dhxform_obj_dhx_skyblue div.disabled div.dhxform_img.rdbt1 { - background-position: -108px 0px; -} -.dhxform_obj_dhx_skyblue div.dhxform_label { - font-family: inherit; - font-size: inherit; - color: black; - overflow-x: hidden; - overflow: hidden; - white-space: normal; -} -.dhxform_obj_dhx_skyblue div.dhxform_label.dhxform_label_align_left { - text-align: left; -} -.dhxform_obj_dhx_skyblue.dhxform_rtl div.dhxform_label.dhxform_label_align_left { - text-align: right; -} -.dhxform_obj_dhx_skyblue div.dhxform_label.dhxform_label_align_center { - text-align: center; -} -.dhxform_obj_dhx_skyblue div.dhxform_label.dhxform_label_align_right { - text-align: right; -} -.dhxform_obj_dhx_skyblue.dhxform_rtl div.dhxform_label.dhxform_label_align_right { - text-align: left; -} -.dhxform_obj_dhx_skyblue div.disabled div.dhxform_label, -.dhxform_obj_dhx_skyblue div.disabled div.dhxform_label div.dhxform_label_nav_link, -.dhxform_obj_dhx_skyblue div.disabled div.dhxform_label span.dhxform_item_required { - color: #b2b2b2; -} -.dhxform_obj_dhx_skyblue div.dhxform_label span.dhxform_item_required { - margin-left: 5px; - margin-right: 0px; - color: red; -} -.dhxform_obj_dhx_skyblue.dhxform_rtl div.dhxform_label span.dhxform_item_required { - margin-left: 0px; - margin-right: 5px; -} -.dhxform_obj_dhx_skyblue input.dhxform_textarea { - padding: 4px 3px !important; - margin: 0px; - font-size: 1em; -} -.dhxform_obj_dhx_skyblue textarea.dhxform_textarea { - padding: 4px 3px !important; -} -.dhxform_obj_dhx_skyblue input.dhxform_textarea::-ms-clear, -.dhxform_obj_dhx_skyblue textarea.dhxform_textarea::-ms-clear { - display: none; -} -.dhxform_obj_dhx_skyblue .dhxform_textarea { - border: 1px solid #a4bed4; - font-family: Tahoma, Helvetica; - font-size: 1em; - color: black; - resize: none; -} -.dhxform_obj_dhx_skyblue div.disabled .dhxform_textarea { - color: #b2b2b2; - background-color: white; - border: 1px solid #c2d0dd; -} -.dhxform_obj_dhx_skyblue.dhxform_rtl .dhxform_textarea { - text-align: right; - direction: rtl; -} -.dhxform_obj_dhx_skyblue div.dhxform_control.dhxform_img_node { - position: relative; -} -.dhxform_obj_dhx_skyblue div.dhxform_control.dhxform_img_node .dhxform_textarea { - border: 1px solid white; - background-color: white; - color: white; - visibility: hidden; - *height: 1px; - *line-height: 1px; - *display: inline; -} -.dhxform_obj_dhx_skyblue div.dhxform_control.dhxform_img_node div.dhxform_img, -.dhxform_obj_dhx_skyblue div.dhxform_control.dhxform_img_node div.dhxform_actv_c, -.dhxform_obj_dhx_skyblue div.dhxform_control.dhxform_img_node div.dhxform_actv_r { - float: none; - top: 2px; - left: 2px; - position: absolute; - margin: 0px; -} -.dhxform_obj_dhx_skyblue.dhxform_rtl div.dhxform_control.dhxform_img_node div.dhxform_img { - float: none; - top: 2px; - left: 0px; - position: absolute; - margin: 0px; -} -.dhxform_obj_dhx_skyblue .dhxform_select { - border: 1px solid #a4bed4; - background-color: #ffffff; - margin: 0px; - padding: 3px 2px 3px 0px; - font-family: Tahoma, Helvetica; - font-size: 1em; - color: black; -} -.dhxform_obj_dhx_skyblue .dhxform_select option { - padding-left: 2px; -} -.dhxform_obj_dhx_skyblue div.disabled .dhxform_select { - color: #b2b2b2; - background-color: #ffffff; - border: 1px solid #c2d0dd; -} -.dhxform_obj_dhx_skyblue.dhxform_rtl select, -.dhxform_obj_dhx_skyblue.dhxform_rtl option { - direction: rtl; -} -.dhxform_obj_dhx_skyblue div.fs_dhxform_item_label_left, -.dhxform_obj_dhx_skyblue div.fs_dhxform_item_label_right { - padding: 5px 0px 5px 0px; -} -.dhxform_obj_dhx_skyblue div.fs_dhxform_item_label_left fieldset.dhxform_fs div.dhxform_base_nested.dhxform_fs_nested, -.dhxform_obj_dhx_skyblue div.fs_dhxform_item_label_right fieldset.dhxform_fs div.dhxform_base_nested.dhxform_fs_nested { - margin-right: 19px; - margin-left: 5px; -} -.dhxform_obj_dhx_skyblue fieldset.dhxform_fs { - border: 1px solid #a4bed4; - margin: 0px; - padding: 5px 0 12px 0px; - clear: left; - width: 100%; -} -.dhxform_obj_dhx_skyblue div.disabled fieldset.dhxform_fs { - border: 1px solid #c2d0dd; -} -.dhxform_obj_dhx_skyblue fieldset.dhxform_fs legend.fs_legend { - font-family: Tahoma, Helvetica; - font-size: inherit; - color: #7099bb; - font-weight: normal; - padding: 0px 4px 1px 4px; - margin-left: 5px; - text-align: left; -} -.dhxform_obj_dhx_skyblue.dhxform_rtl fieldset.dhxform_fs legend.fs_legend { - text-align: right; -} -.dhxform_obj_dhx_skyblue div.disabled fieldset.dhxform_fs legend.fs_legend { - color: #b2b2b2; -} -.dhxform_obj_dhx_skyblue div.dhxform_item_label_right { - clear: both; - padding-top: 6px; - cursor: default; - *display: inline-block; -} -.dhxform_obj_dhx_skyblue div.dhxform_item_label_right div.dhxform_img, -.dhxform_obj_dhx_skyblue div.dhxform_item_label_right div.dhxform_actv_c, -.dhxform_obj_dhx_skyblue div.dhxform_item_label_right div.dhxform_actv_r { - float: left; - margin: 0px; -} -.dhxform_obj_dhx_skyblue.dhxform_rtl div.dhxform_item_label_right div.dhxform_img { - float: right; - margin: 0px; -} -.dhxform_obj_dhx_skyblue div.dhxform_item_label_right div.dhxform_label { - float: left; - padding: 2px 0px 2px 0px; - margin: 2px 0 2px 0px; -} -.dhxform_obj_dhx_skyblue.dhxform_rtl div.dhxform_item_label_right div.dhxform_label { - float: right; -} -.dhxform_obj_dhx_skyblue div.dhxform_item_label_right div.dhxform_control { - float: left; - margin-right: 3px; - margin-left: 0px; - *display: inline; -} -.dhxform_obj_dhx_skyblue.dhxform_rtl div.dhxform_item_label_right div.dhxform_control { - float: right; - margin-right: 0px; - margin-left: 3px; - *display: inline; -} -.dhxform_obj_dhx_skyblue div.dhxform_item_label_left { - clear: both; - padding-top: 6px; - cursor: default; - *display: inline-block; -} -.dhxform_obj_dhx_skyblue div.dhxform_item_label_left div.dhxform_img, -.dhxform_obj_dhx_skyblue div.dhxform_item_label_left div.dhxform_actv_c, -.dhxform_obj_dhx_skyblue div.dhxform_item_label_left div.dhxform_actv_r { - float: right; -} -.dhxform_obj_dhx_skyblue.dhxform_rtl div.dhxform_item_label_left div.dhxform_img { - float: left; -} -.dhxform_obj_dhx_skyblue div.dhxform_item_label_left div.dhxform_label { - float: left; - padding: 2px 0px 2px 0px; - margin: 2px 0px 2px 0px; -} -.dhxform_obj_dhx_skyblue.dhxform_rtl div.dhxform_item_label_left div.dhxform_label { - float: right; -} -.dhxform_obj_dhx_skyblue div.dhxform_item_label_left div.dhxform_control { - float: left; - padding-left: 4px; - padding-right: 0px; -} -.dhxform_obj_dhx_skyblue.dhxform_rtl div.dhxform_item_label_left div.dhxform_control { - float: right; - padding-right: 4px; - padding-left: 0px; -} -.dhxform_obj_dhx_skyblue div.dhxform_item_label_top { - clear: both; -} -.dhxform_obj_dhx_skyblue div.dhxform_item_label_top div.dhxform_label { - float: none; - margin-bottom: 5px; - margin-top: 8px; -} -.dhxform_obj_dhx_skyblue div.dhxform_item_label_top div.dhxform_control { - float: none; - margin-left: 0px; - margin-bottom: 5px; -} -.dhxform_obj_dhx_skyblue.dhxform_rtl div.dhxform_item_label_top div.dhxform_control { - float: none; - margin-right: 0px; -} -.dhxform_obj_dhx_skyblue div.dhxform_item_absolute { - position: absolute; - left: 0px; - top: 0px; - cursor: default; -} -.dhxform_obj_dhx_skyblue div.item_absolute div.dhxform_img, -.dhxform_obj_dhx_skyblue div.item_absolute div.dhxform_actv_c, -.dhxform_obj_dhx_skyblue div.item_absolute div.dhxform_actv_r { - position: absolute; -} -.dhxform_obj_dhx_skyblue div.dhxform_item_absolute div.dhxform_control, -.dhxform_obj_dhx_skyblue div.dhxform_item_absolute div.dhxform_label, -.dhxform_obj_dhx_skyblue div.dhxform_item_absolute div.dhxform_control.dhxform_img_node, -.dhxform_obj_dhx_skyblue div.dhxform_item_absolute div.dhxform_txt_label2, -.dhxform_obj_dhx_skyblue div.dhxform_item_absolute div.dhxform_btn, -.dhxform_obj_dhx_skyblue div.block_item_absolute div.dhxform_block { - position: absolute; -} -.dhxform_obj_dhx_skyblue div.dhxform_txt_label2 { - font-family: Tahoma, Helvetica; - font-size: inherit; - color: #7099bb; - font-weight: bold; - margin: 0px 3px; - padding: 5px 0px; - cursor: default; -} -.dhxform_obj_dhx_skyblue div.disabled div.dhxform_txt_label2 { - color: #b2b8bc; -} -.dhxform_obj_dhx_skyblue div.dhxform_btn { - font-family: Tahoma, Helvetica; - font-size: inherit; - color: black; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - border: 1px solid #a4bed4; - background-color: #e2efff; - background: linear-gradient(#e2efff,#d3e7ff); - background: -webkit-linear-gradient(#e2efff,#d3e7ff); - filter: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e2efff,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100); - margin: 5px 2px; - border-radius: 2px; - float: left; - cursor: default; - clear: both; - position: relative; - overflow: hidden; - -webkit-tap-highlight-color: rgba(0,0,0,0); -} -.dhxform_obj_dhx_skyblue.dhxform_rtl div.dhxform_btn { - float: right; -} -.dhxform_obj_dhx_skyblue div.dhxform_btn.dhxform_btn_over { - background-color: #f1f7ff; - background: linear-gradient(#f1f7ff,#e2efff); - background: -webkit-linear-gradient(#f1f7ff,#e2efff); - filter: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#f1f7ff,endColorStr=#e2efff) progid:DXImageTransform.Microsoft.Alpha(opacity=100); -} -.dhxform_obj_dhx_skyblue div.dhxform_btn.dhxform_btn_pressed { - background-color: #d2e7fe; - background: linear-gradient(#d2e7fe,#d3e7ff); - background: -webkit-linear-gradient(#d2e7fe,#d3e7ff); - filter: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#d2e7fe,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100); - box-shadow: 0 0 5px rgba(127,127,127,0.15) inset; -} -.dhxform_obj_dhx_skyblue div.disabled div.dhxform_btn { - border-color: #cccccc; - background-color: #f9f9f9; - background: linear-gradient(#f9f9f9,#f1f1f1); - background: -webkit-linear-gradient(#f9f9f9,#f1f1f1); - filter: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#f9f9f9,endColorStr=#f1f1f1) progid:DXImageTransform.Microsoft.Alpha(opacity=100); - box-shadow: 0 0 5px rgba(127,127,127,0.15) inset; -} -.dhxform_obj_dhx_skyblue div.dhxform_btn div.dhxform_btn_txt { - float: left; - margin: 0px 20px; - height: 24px; - line-height: 23px; - text-align: center; - vertical-align: middle; - overflow: hidden; - white-space: nowrap; - *display: inline; - opacity: 1; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100); -} -.dhxform_obj_dhx_skyblue div.dhxform_btn div.dhxform_btn_txt.dhxform_btn_txt_autowidth { - width: 100%; - margin: 0px; -} -.dhxform_obj_dhx_skyblue div.disabled div.dhxform_btn div.dhxform_btn_txt { - color: #999999 !important; -} -.dhxform_obj_dhx_skyblue div.dhxform_btn:focus { - outline: 1px dotted #909090; -} -.dhxform_obj_dhx_skyblue div.dhxform_btn div.dhxform_btn_filler { - position: absolute; - display: inline-block; - width: 100%; - height: 100px; - left: 0px; - top: 0px; - background-color: white; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxform_obj_dhx_skyblue div.dhxform_control div.dhxform_note { - font-family: Tahoma, Helvetica; - font-size: 0.8em; - color: #808080; - padding-bottom: 3px; - white-space: normal; -} -.dhxform_obj_dhx_skyblue div.disabled div.dhxform_control div.dhxform_note { - color: #b2b2b2; -} -.dhxform_obj_dhx_skyblue div.dhxform_label span.dhxform_info { - font-family: Tahoma, Helvetica; - font-size: 0.6em; - color: #808080; - margin-left: 3px; - padding-bottom: 2px; - line-height: 100%; - vertical-align: middle; - cursor: pointer; -} -.dhxform_obj_dhx_skyblue .validate_error .dhxform_label, -.dhxform_obj_dhx_skyblue .validate_error .dhxform_textarea, -.dhxform_obj_dhx_skyblue .validate_error .dhxform_select, -.dhxform_obj_dhx_skyblue .validate_error div.dhxform_label_nav_link, -.dhxform_obj_dhx_skyblue .validate_error div.dhxform_label div.dhxform_label_nav_link:focus { - color: red; -} -.dhxform_obj_dhx_skyblue div.disabled .dhx_combo_box.dhx_skyblue { - border: 1px solid #c2d0dd; -} -.dhxform_obj_dhx_skyblue div.disabled .dhx_combo_box.dhx_skyblue .dhx_combo_input { - color: #b2b2b2; - background-color: #ffffff; -} -.dhxform_obj_dhx_skyblue div.dhxform_item_template.dhxeditor_dhx_skyblue div.dhx_cell_editor div.dhx_cell_stb { - border-left: 1px solid #a4bed4; - border-right: 1px solid #a4bed4; - border-top: 1px solid #a4bed4; -} -.dhxform_obj_dhx_skyblue div.dhxform_item_template.dhxeditor_dhx_skyblue div.dhx_cell_editor div.dhx_cell_cont_editor { - border-left: 1px solid #a4bed4; - border-right: 1px solid #a4bed4; - border-bottom: 1px solid #a4bed4; -} -.dhxform_obj_dhx_skyblue div.dhxform_item_template.dhxeditor_dhx_skyblue div.dhxcont_content_blocker { - display: none; -} -.dhxform_obj_dhx_skyblue div.disabled div.dhxform_item_template.dhxeditor_dhx_skyblue div.dhxcont_content_blocker { - display: inline; - position: absolute; - width: 100%; - height: 100%; - top: 0px; - left: 0px; - background-color: #fefefe; - opacity: 0.7; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=70); -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader { - position: relative; - width: 100%; - margin-bottom: 4px; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls { - position: relative; - width: 100%; - height: 35px; - font-size: 2px; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button { - position: absolute; - width: 19px; - height: 19px; - top: 8px; - background-image: url("../imgs/dhxform_skyblue/dhxform_upload_buttons.gif"); - background-repeat: no-repeat; - font-size: 2px; - cursor: pointer; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100); - z-index: 1; - -webkit-tap-highlight-color: rgba(0,0,0,0); -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_info { - display: none; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_browse { - background-position: 0px 0px; - right: 108px; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_upload { - background-position: -19px 0px; - right: 79px; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_cancel { - background-position: -57px 0px; - right: 79px; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_clear { - background-position: -38px 0px; - right: 50px; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls .dhx_uploader_input { - position: absolute; - left: -1000px; - top: 0px; - visibility: hidden; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls div.dhx_file_form_cont { - position: absolute; - width: 19px; - height: 19px; - left: 0px; - top: 0px; - cursor: pointer; - overflow: hidden; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls div.dhx_file_form_cont form.dhx_file_form { - position: absolute; - top: 0px; - right: 0px; - cursor: pointer; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls div.dhx_file_form_cont form.dhx_file_form .dhx_file_input { - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); - cursor: pointer; - outline: none; - height: 19px; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files { - position: relative; - width: 100%; - left: 0px; - top: 0px; - overflow: auto; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files div.dhx_file { - position: relative; - width: 100%; - height: 25px; - overflow: hidden; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_added, -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_uploading { - color: black; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_uploaded { - color: #30678a; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_fail { - color: #e94a4a; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files div.dhx_file_param { - position: absolute; - font-family: inherit; - font-size: inherit; - color: inherit; - top: 0px; - height: 25px; - line-height: 25px; - vertical-align: middle; - overflow: hidden; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_name { - left: 20px; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_progress { - right: 50px; - width: 38px; - text-align: right; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_delete { - right: 30px; - width: 11px; - background-image: url("../imgs/dhxform_skyblue/dhxform_upload_buttons.gif"); - background-position: -76px 0px; - background-repeat: no-repeat; - cursor: pointer; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_uploading { - right: 50px; - width: 38px; - text-align: right; - background-image: url("../imgs/dhxform_skyblue/dhxform_upload_uploading.gif"); - background-position: center center; - background-repeat: no-repeat; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls { - height: 60px; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_files { - display: none; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_info { - display: inline; - background-image: none; - font-family: Tahoma, Helvetica; - font-size: 13px; - color: #a1a1a1; - height: auto; - top: 0px; - left: 35px; - vertical-align: top; - padding-top: 6px; - line-height: 20px; - cursor: default; - filter: none; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_browse { - top: 0px; - width: 54px; - height: 54px; - right: 35px; - background-image: url("../imgs/dhxform_skyblue/dhxform_upload_buttons.gif"); - background-position: 0px -38px; - background-repeat: no-repeat; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_upload, -.dhxform_obj_dhx_skyblue .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_cancel, -.dhxform_obj_dhx_skyblue .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_clear { - display: none; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_form_cont { - width: 54px; - height: 54px; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_form_cont form.dhx_file_form .dhx_file_input { - height: 54px; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_info, -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_added, -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_uploading, -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_uploaded, -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_fail { - color: #b2b2b2; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_browse { - background-position: -54px -38px; - cursor: default; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_form_cont { - display: none; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button { - cursor: default; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_browse { - background-position: 0px -19px; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_upload { - background-position: -19px -19px; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_cancel { - background-position: -57px -19px; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_clear { - background-position: -38px -19px; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file_param.dhx_file_delete { - background-position: -87px 0px; - cursor: default; -} -.dhxform_obj_dhx_skyblue div.dhxform_image { - position: relative; - overflow: hidden; - border: 1px solid #a4bed4; -} -.dhxform_obj_dhx_skyblue div.dhxform_image img.dhxform_image_img { - position: absolute; -} -.dhxform_obj_dhx_skyblue div.dhxform_image div.dhxform_image_wrap { - position: absolute; - background-color: white; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - overflow: hidden; - *border: 1px solid white; - *height: 1000px; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); - -webkit-transition: opacity 0.6s; - -moz-transition: opacity 0.6s; - -ms-transition: opacity 0.6s; - -o-transition: opacity 0.6s; - transition: opacity 0.6s; -} -.dhxform_obj_dhx_skyblue div.dhxform_image div.dhxform_image_wrap.dhxform_image_in_progress { - background-image: url("../imgs/dhxform_skyblue/dhxform_image_uploading.gif"); - background-position: center center; - background-repeat: no-repeat; - *border-width: 0px; - *height: 100%; - opacity: 0.85; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=85); - -webkit-transition: opacity 0.1s; - -moz-transition: opacity 0.1s; - -ms-transition: opacity 0.1s; - -o-transition: opacity 0.1s; - transition: opacity 0.1s; -} -.dhxform_obj_dhx_skyblue div.dhxform_image div.dhxform_image_wrap.dhxform_image_in_progress form.dhxform_image_form { - display: none; -} -.dhxform_obj_dhx_skyblue div.dhxform_image div.dhxform_image_wrap form.dhxform_image_form { - position: absolute; - top: 0px; - right: 0px; - cursor: pointer; -} -.dhxform_obj_dhx_skyblue div.dhxform_image div.dhxform_image_wrap form.dhxform_image_form input.dhxform_image_input { - cursor: pointer; - outline: none; - height: 1000px; - font-size: 100px; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxform_obj_dhx_skyblue div.disabled div.dhxform_image { - border-color: #c2d0dd; -} -.dhxform_obj_dhx_skyblue div.disabled div.dhxform_image img.dhxform_image_img { - opacity: 0.5; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50); -} -.dhxform_obj_dhx_skyblue div.disabled div.dhxform_image div.dhxform_image_wrap { - cursor: default; -} -.dhxform_obj_dhx_skyblue div.disabled div.dhxform_image form.dhxform_image_form { - display: none; -} -.dhtmlx_skin_dhx_skyblue div.dhtmlx_wins_body_inner .dhxform_obj_dhx_skyblue { - background-color: white; -} -.dhxform_obj_dhx_skyblue div.dhxform_control .dhx_combo_box.dhx_skyblue .dhx_combo_input, -.dhx_combo_list.dhx_skyblue_list div { - font-size: 1em !important; -} -div.dhx_form_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 10px; - height: 10px; - overflow: hidden; -} diff --git a/themes/sources/dhtmlxForm/codebase/skins/dhtmlxform_dhx_terrace.css b/themes/sources/dhtmlxForm/codebase/skins/dhtmlxform_dhx_terrace.css deleted file mode 100644 index a67bddd..0000000 --- a/themes/sources/dhtmlxForm/codebase/skins/dhtmlxform_dhx_terrace.css +++ /dev/null @@ -1,811 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: dhx_terrace - include extra file: skins/dhx_terrace.less -*/ - -.dhxform_obj_dhx_terrace { - font-family: Arial, Helvetica; - float: left; - line-height: normal; -} -.dhxform_obj_dhx_terrace div.dhxform_base { - position: relative; - float: left; -} -.dhxform_obj_dhx_terrace div.dhxform_base_nested { - padding: 0px 0px 0px 0px; - clear: both; - *display: inline-block; -} -.dhxform_obj_dhx_terrace.dhxform_block { - clear: both; -} -.dhxform_obj_dhx_terrace div.block_dhxform_item_label_left { - display: block; - clear: both; - *clear: none; -} -.dhxform_obj_dhx_terrace div.dhxform_label div.dhxform_label_nav_link, -.dhxform_obj_dhx_terrace div.dhxform_label div.dhxform_label_nav_link:visited, -.dhxform_obj_dhx_terrace div.dhxform_label div.dhxform_label_nav_link:active, -.dhxform_obj_dhx_terrace div.dhxform_label div.dhxform_label_nav_link:hover { - outline: 0px solid white; - text-decoration: none; - color: inherit; - cursor: default; - overflow: hidden; - white-space: normal; -} -.dhxform_obj_dhx_terrace div.dhxform_label div.dhxform_label_nav_link:focus { - color: #bfbfbf; -} -.dhxform_obj_dhx_terrace div.disabled span.nav_link { - color: inherit; -} -.dhxform_obj_dhx_terrace div.dhxform_img { - width: 18px; - height: 18px; - font-size: 1px; -} -.dhxform_obj_dhx_terrace div.dhxform_actv_c { - width: 15px; - height: 15px; - box-shadow: 0 0 3px #909090; -} -.dhxform_obj_dhx_terrace div.dhxform_actv_r { - width: 15px; - height: 15px; - box-shadow: 0 0 3px #999999; - border-radius: 11px; -} -.dhxform_obj_dhx_terrace div.dhxform_img.chbx0, -.dhxform_obj_dhx_terrace div.dhxform_img.chbx1, -.dhxform_obj_dhx_terrace div.disabled div.dhxform_img.chbx0, -.dhxform_obj_dhx_terrace div.disabled div.dhxform_img.chbx1, -.dhxform_obj_dhx_terrace div.dhxform_img.rdbt0, -.dhxform_obj_dhx_terrace div.dhxform_img.rdbt1, -.dhxform_obj_dhx_terrace div.disabled div.dhxform_img.rdbt0, -.dhxform_obj_dhx_terrace div.disabled div.dhxform_img.rdbt1, -.dhxform_obj_dhx_terrace div.dhxform_actv_c.chbx0, -.dhxform_obj_dhx_terrace div.dhxform_actv_c.chbx1, -.dhxform_obj_dhx_terrace div.dhxform_actv_r.rdbt0, -.dhxform_obj_dhx_terrace div.dhxform_actv_r.rdbt1 { - background-image: url("../imgs/dhxform_terrace/dhxform_chbxrd.gif"); - background-repeat: no-repeat; -} -.dhxform_obj_dhx_terrace div.dhxform_img.chbx0 { - background-position: -18px 0px; -} -.dhxform_obj_dhx_terrace div.dhxform_img.chbx1 { - background-position: 0px 0px; -} -.dhxform_obj_dhx_terrace div.disabled div.dhxform_img.chbx0 { - background-position: -54px 0px; -} -.dhxform_obj_dhx_terrace div.disabled div.dhxform_img.chbx1 { - background-position: -36px 0px; -} -.dhxform_obj_dhx_terrace div.dhxform_img.rdbt0 { - background-position: -90px 0px; -} -.dhxform_obj_dhx_terrace div.dhxform_img.rdbt1 { - background-position: -72px 0px; -} -.dhxform_obj_dhx_terrace div.disabled div.dhxform_img.rdbt0 { - background-position: -126px 0px; -} -.dhxform_obj_dhx_terrace div.disabled div.dhxform_img.rdbt1 { - background-position: -108px 0px; -} -.dhxform_obj_dhx_terrace div.dhxform_actv_c.chbx0 { - background-position: -164px -2px; -} -.dhxform_obj_dhx_terrace div.dhxform_actv_c.chbx1 { - background-position: -146px -2px; -} -.dhxform_obj_dhx_terrace div.dhxform_actv_r.rdbt0 { - background-position: -200px -2px; -} -.dhxform_obj_dhx_terrace div.dhxform_actv_r.rdbt1 { - background-position: -182px -2px; -} -.dhxform_obj_dhx_terrace div.dhxform_label { - font-family: Arial, Helvetica; - font-size: inherit; - color: black; - overflow-x: hidden; - overflow: hidden; - white-space: normal; -} -.dhxform_obj_dhx_terrace div.dhxform_label.dhxform_label_align_left { - text-align: left; -} -.dhxform_obj_dhx_terrace div.dhxform_label.dhxform_label_align_center { - text-align: center; -} -.dhxform_obj_dhx_terrace div.dhxform_label.dhxform_label_align_right { - text-align: right; -} -.dhxform_obj_dhx_terrace div.disabled div.dhxform_label, -.dhxform_obj_dhx_terrace div.disabled div.dhxform_label div.dhxform_label_nav_link, -.dhxform_obj_dhx_terrace div.disabled div.dhxform_label span.dhxform_item_required { - color: #bbbbbb; -} -.dhxform_obj_dhx_terrace div.dhxform_label span.dhxform_item_required { - margin-left: 5px; - color: red; -} -.dhxform_obj_dhx_terrace input.dhxform_textarea, -.dhxform_obj_dhx_terrace textarea.dhxform_textarea { - padding: 4px 2px !important; - margin: 0px; - font-size: 1em; - background-color: white; -} -.dhxform_obj_dhx_terrace input.dhxform_textarea::-ms-clear, -.dhxform_obj_dhx_terrace textarea.dhxform_textarea::-ms-clear { - display: none; -} -.dhxform_obj_dhx_terrace input.dhxform_textarea:focus, -.dhxform_obj_dhx_terrace textarea.dhxform_textarea:focus { - box-shadow: 0 0 3px #c0c0c0; - border: 1px solid #bfbfbf; - outline: none; -} -.dhxform_obj_dhx_terrace .dhxform_textarea { - border: 1px solid #cccccc; - font-family: Arial, Helvetica; - font-size: 1em; - color: black; - resize: none; -} -.dhxform_obj_dhx_terrace div.disabled .dhxform_textarea { - color: #bbbbbb; - background-color: #f0f0f0; - border: 1px solid #d4d4d4; -} -.dhxform_obj_dhx_terrace div.dhxform_control.dhxform_img_node { - position: relative; -} -.dhxform_obj_dhx_terrace div.dhxform_control.dhxform_img_node .dhxform_textarea { - border: 1px solid white; - background-color: white; - color: white; - visibility: hidden; - *height: 1px; - *line-height: 1px; - *display: inline; -} -.dhxform_obj_dhx_terrace div.dhxform_control.dhxform_img_node div.dhxform_img { - float: none; - top: 3px; - left: 0px; - position: absolute; - margin: 0px; -} -.dhxform_obj_dhx_terrace div.dhxform_control.dhxform_img_node div.dhxform_actv_c, -.dhxform_obj_dhx_terrace div.dhxform_control.dhxform_img_node div.dhxform_actv_r { - float: none; - top: 5px; - left: 2px; - position: absolute; - margin: 0px; - *top: 3px; - *left: 0px; -} -.dhxform_obj_dhx_terrace .dhxform_select { - border: 1px solid #cccccc; - background-color: white; - font-family: Arial, Helvetica; - font-size: 1em; - color: black; - margin: 0px; - padding: 3px 2px 2px 0px !important; - line-height: 100%; - vertical-align: middle; -} -.dhxform_obj_dhx_terrace .dhxform_select option { - padding-left: 2px; -} -.dhxform_obj_dhx_terrace div.disabled .dhxform_select { - color: #bbbbbb; - background-color: #f0f0f0; - border: 1px solid #d4d4d4; -} -.dhxform_obj_dhx_terrace .dhxform_select option { - padding: 1px 2px; -} -.dhxform_obj_dhx_terrace .dhxform_select:focus { - box-shadow: 0 0 3px #c0c0c0; - border: 1px solid #bfbfbf; - outline: none; -} -.dhxform_obj_dhx_terrace div.fs_dhxform_item_label_left { - padding: 5px 0px 5px 0px; -} -.dhxform_obj_dhx_terrace div.fs_dhxform_item_label_left fieldset.dhxform_fs div.dhxform_base_nested.dhxform_fs_nested { - margin-right: 19px; - margin-left: 5px; -} -.dhxform_obj_dhx_terrace fieldset.dhxform_fs { - border: 1px solid #cccccc; - margin: 0px; - padding: 5px 0px 12px 0px; - clear: left; - width: 100%; - border-radius: 3px; -} -.dhxform_obj_dhx_terrace div.disabled fieldset.dhxform_fs { - border: 1px solid #d4d4d4; -} -.dhxform_obj_dhx_terrace fieldset.dhxform_fs legend.fs_legend { - font-family: Arial, Helvetica; - font-size: inherit; - color: #bfbfbf; - font-weight: normal; - padding: 0px 4px 1px 4px; - margin-left: 5px; - text-align: left; -} -.dhxform_obj_dhx_terrace div.disabled fieldset.dhxform_fs legend.fs_legend { - color: #bbbbbb; -} -.dhxform_obj_dhx_terrace div.dhxform_item_label_right { - clear: both; - padding-top: 7px; - cursor: default; - *display: inline-block; -} -.dhxform_obj_dhx_terrace div.dhxform_item_label_right div.dhxform_img, -.dhxform_obj_dhx_terrace div.dhxform_item_label_right div.dhxform_actv_c, -.dhxform_obj_dhx_terrace div.dhxform_item_label_right div.dhxform_actv_r { - float: left; - margin: 0px; -} -.dhxform_obj_dhx_terrace div.dhxform_item_label_right div.dhxform_label { - float: left; - padding: 2px 0px 1px 0px; - margin: 2px 0px 2px 0px; - *padding-top: 0px; - *display: inline-block; -} -.dhxform_obj_dhx_terrace div.dhxform_item_label_right div.dhxform_control { - float: left; - margin-right: 3px; -} -.dhxform_obj_dhx_terrace div.dhxform_item_label_left { - clear: both; - padding-top: 7px; - cursor: default; - *display: inline-block; -} -.dhxform_obj_dhx_terrace div.dhxform_item_label_left div.dhxform_img, -.dhxform_obj_dhx_terrace div.dhxform_item_label_left div.dhxform_actv_c, -.dhxform_obj_dhx_terrace div.dhxform_item_label_left div.dhxform_actv_r { - float: right; - margin: 3px 1px 0px 5px; -} -.dhxform_obj_dhx_terrace div.dhxform_item_label_left div.dhxform_label { - float: left; - padding: 4px 0px 1px 0px; - margin: 2px 0px 2px 0px; -} -.dhxform_obj_dhx_terrace div.dhxform_item_label_left div.dhxform_control { - float: left; - margin-left: 3px; -} -.dhxform_obj_dhx_terrace div.dhxform_item_label_top { - clear: both; -} -.dhxform_obj_dhx_terrace div.dhxform_item_label_top div.dhxform_label { - float: none; - margin-bottom: 5px; - margin-top: 8px; -} -.dhxform_obj_dhx_terrace div.dhxform_item_label_top div.dhxform_control { - float: none; - margin-left: 0px; - margin-bottom: 5px; -} -.dhxform_obj_dhx_terrace div.dhxform_item_absolute { - position: absolute; - left: 0px; - top: 0px; - cursor: default; -} -.dhxform_obj_dhx_terrace div.item_absolute div.dhxform_img, -.dhxform_obj_dhx_terrace div.item_absolute div.dhxform_actv_c, -.dhxform_obj_dhx_terrace div.item_absolute div.dhxform_actv_r { - position: absolute; -} -.dhxform_obj_dhx_terrace div.dhxform_item_absolute div.dhxform_control, -.dhxform_obj_dhx_terrace div.dhxform_item_absolute div.dhxform_label, -.dhxform_obj_dhx_terrace div.dhxform_item_absolute div.dhxform_control.dhxform_img_node, -.dhxform_obj_dhx_terrace div.dhxform_item_absolute div.dhxform_txt_label2, -.dhxform_obj_dhx_terrace div.dhxform_item_absolute div.dhxform_btn, -.dhxform_obj_dhx_terrace div.block_item_absolute div.dhxform_block { - position: absolute; -} -.dhxform_obj_dhx_terrace div.dhxform_txt_label2 { - font-family: Arial, Helvetica; - font-size: inherit; - color: black; - font-weight: bold; - margin: 0px 3px; - padding: 5px 0px; - cursor: default; -} -.dhxform_obj_dhx_terrace div.disabled div.dhxform_txt_label2 { - color: #bbbbbb; -} -.dhxform_obj_dhx_terrace div.dhxform_btn { - margin: 1px 2px; - background-color: #f0f0f0; - float: left; - cursor: default; - clear: both; - border-radius: 3px; - position: relative; - overflow: hidden; - font-family: Arial, Helvetica; - font-size: inherit; - color: #333333; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - border: 1px solid #cccccc; - -webkit-tap-highlight-color: rgba(0,0,0,0); -} -.dhxform_obj_dhx_terrace.dhxform_rtl div.dhxform_btn { - float: right; -} -.dhxform_obj_dhx_terrace div.dhxform_btn.dhxform_btn_over { - color: #333333; - background-color: #ebebeb; -} -.dhxform_obj_dhx_terrace div.dhxform_btn.dhxform_btn_pressed { - color: #333333; - background-color: #e6e6e6; - box-shadow: 0 0 5px #e1e1e1 inset; -} -.dhxform_obj_dhx_terrace div.disabled div.dhxform_btn { - background-color: #f2f2f2; -} -.dhxform_obj_dhx_terrace div.dhxform_btn div.dhxform_btn_txt { - float: left; - margin: 0px 18px; - height: 28px; - line-height: 27px; - text-align: center; - vertical-align: middle; - overflow: hidden; - white-space: nowrap; - border-radius: 3px; - *display: inline; - opacity: 1; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100); -} -.dhxform_obj_dhx_terrace div.dhxform_btn div.dhxform_btn_txt.dhxform_btn_txt_autowidth { - width: 100%; - margin: 0px; -} -.dhxform_obj_dhx_terrace div.disabled div.dhxform_btn div.dhxform_btn_txt { - color: #b2b2b2; -} -.dhxform_obj_dhx_terrace div.dhxform_btn:focus { - outline: 1px dotted #bfbfbf; -} -.dhxform_obj_dhx_terrace div.dhxform_btn div.dhxform_btn_filler { - position: absolute; - display: inline-block; - width: 100%; - height: 100px; - left: 0px; - top: 0px; - background-color: white; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxform_obj_dhx_terrace div.dhxform_control div.dhxform_note { - font-family: Arial, Helvetica; - font-size: 0.8em; - color: gray; - padding-bottom: 3px; - white-space: normal; -} -.dhxform_obj_dhx_terrace div.disabled div.dhxform_control div.dhxform_note { - color: #bbbbbb; -} -.dhxform_obj_dhx_terrace div.dhxform_label span.dhxform_info { - font-family: Arial, Helvetica; - font-size: 0.6em; - color: gray; - margin-left: 3px; - padding-bottom: 2px; - line-height: 100%; - vertical-align: middle; - cursor: pointer; -} -.dhxform_obj_dhx_terrace .validate_error .dhxform_label, -.dhxform_obj_dhx_terrace .validate_error .dhxform_textarea, -.dhxform_obj_dhx_terrace .validate_error .dhxform_select, -.dhxform_obj_dhx_terrace .validate_error div.dhxform_label_nav_link, -.dhxform_obj_dhx_terrace .validate_error div.dhxform_label div.dhxform_label_nav_link:focus { - color: red; -} -.dhxform_obj_dhx_terrace span.combo_in_focus div.dhxcombo_dhx_terrace { - box-shadow: 0 0 3px #c0c0c0; - border: 1px solid #bfbfbf; -} -div.dhxcombolist_dhx_terrace { - border-top: 1px solid #bfbfbf !important; -} -div.dhxcombolist_dhx_terrace:active { - border-top: 1px solid #cccccc !important; -} -.dhxform_obj_dhx_terrace div.dhxform_item_template.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_stb { - border-left: 1px solid #cccccc; - border-right: 1px solid #cccccc; - border-top: 1px solid #cccccc; -} -.dhxform_obj_dhx_terrace div.dhxform_item_template.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_cont_editor { - border-left: 1px solid #cccccc; - border-right: 1px solid #cccccc; - border-bottom: 1px solid #cccccc; -} -.dhxform_obj_dhx_terrace div.dhxform_item_template.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_toolbar_def { - padding: 0px; - border-top: 1px solid #cccccc; -} -.dhxform_obj_dhx_terrace div.dhxeditor_focus div.dhxform_item_template.dhxeditor_dhx_terrace { - box-shadow: 0 0 3px #c0c0c0; - outline: none; -} -.dhxform_obj_dhx_terrace div.dhxeditor_focus div.dhxform_item_template.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_stb, -.dhxform_obj_dhx_terrace div.dhxeditor_focus div.dhxform_item_template.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_cont_editor, -.dhxform_obj_dhx_terrace div.dhxeditor_focus div.dhxform_item_template.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_toolbar_def { - border-color: #bfbfbf; -} -.dhxform_obj_dhx_terrace div.dhxform_item_template.dhxeditor_dhx_terrace div.dhxcont_content_blocker { - display: none; -} -.dhxform_obj_dhx_terrace div.disabled div.dhxform_item_template.dhxeditor_dhx_terrace div.dhxcont_content_blocker { - display: inline; - position: absolute; - width: 100%; - height: 100%; - top: 0px; - left: 0px; - background-color: #fefefe; - opacity: 0.7; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=70); -} -.dhtmlx_skin_dhx_terrace div.dhtmlx_wins_body_inner .dhxform_obj_dhx_terrace { - background-color: white; -} -.dhxform_obj_dhx_terrace div.dhxform_control .dhx_combo_box.dhx_terrace .dhx_combo_input, -.dhx_combo_list.dhx_terrace_list div { - font-size: 1em !important; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader { - position: relative; - width: 100%; - margin-bottom: 4px; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls { - position: relative; - width: 100%; - height: 35px; - font-size: 2px; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button { - position: absolute; - width: 19px; - height: 19px; - top: 8px; - background-image: url("../imgs/dhxform_terrace/dhxform_upload_buttons.gif"); - background-repeat: no-repeat; - font-size: 2px; - cursor: pointer; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100); - z-index: 1; - -webkit-tap-highlight-color: rgba(0,0,0,0); -} -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_info { - display: none; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_browse { - background-position: 0px 0px; - right: 108px; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_upload { - background-position: -19px 0px; - right: 79px; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_cancel { - background-position: -57px 0px; - right: 79px; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_clear { - background-position: -38px 0px; - right: 50px; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls .dhx_uploader_input { - position: absolute; - left: -1000px; - top: 0px; - visibility: hidden; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls div.dhx_file_form_cont { - position: absolute; - width: 19px; - height: 19px; - left: 0px; - top: 0px; - cursor: pointer; - overflow: hidden; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls div.dhx_file_form_cont form.dhx_file_form { - position: absolute; - top: 0px; - right: 0px; - cursor: pointer; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls div.dhx_file_form_cont form.dhx_file_form .dhx_file_input { - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); - cursor: pointer; - outline: none; - height: 19px; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files { - position: relative; - width: 100%; - left: 0px; - top: 0px; - overflow: auto; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files div.dhx_file { - position: relative; - width: 100%; - height: 25px; - overflow: hidden; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_added, -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_uploading { - color: black; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_uploaded { - color: #646464; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_fail { - color: #e94a4a; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files div.dhx_file_param { - position: absolute; - font-family: inherit; - font-size: inherit; - color: inherit; - top: 0px; - height: 25px; - line-height: 25px; - vertical-align: middle; - overflow: hidden; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_name { - left: 20px; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_progress { - right: 50px; - width: 38px; - text-align: right; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_delete { - right: 30px; - width: 11px; - background-image: url("../imgs/dhxform_terrace/dhxform_upload_buttons.gif"); - background-position: -76px 0px; - background-repeat: no-repeat; - cursor: pointer; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_uploading { - right: 50px; - width: 38px; - text-align: right; - background-image: url("../imgs/dhxform_terrace/dhxform_upload_uploading.gif"); - background-position: center center; - background-repeat: no-repeat; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls { - height: 60px; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_files { - display: none; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_info { - display: inline; - background-image: none; - font-family: Arial, Helvetica; - font-size: 13px; - color: #a0a0a0; - height: auto; - top: 0px; - left: 35px; - vertical-align: top; - padding-top: 6px; - line-height: 20px; - cursor: default; - filter: none; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_browse { - top: 0px; - width: 54px; - height: 54px; - right: 35px; - background-image: url("../imgs/dhxform_terrace/dhxform_upload_buttons.gif"); - background-position: 0px -38px; - background-repeat: no-repeat; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_upload, -.dhxform_obj_dhx_terrace .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_cancel, -.dhxform_obj_dhx_terrace .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_clear { - display: none; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_form_cont { - width: 54px; - height: 54px; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_form_cont form.dhx_file_form .dhx_file_input { - height: 54px; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_info, -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_added, -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_uploading, -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_uploaded, -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_fail { - color: #bbbbbb; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_browse { - background-position: -54px -38px; - cursor: default; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_form_cont { - display: none; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button { - cursor: default; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_browse { - background-position: 0px -19px; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_upload { - background-position: -19px -19px; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_cancel { - background-position: -57px -19px; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_clear { - background-position: -38px -19px; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file_param.dhx_file_delete { - background-position: -87px 0px; - cursor: default; -} -.dhxform_obj_dhx_terrace div.dhxform_image { - position: relative; - overflow: hidden; - border: 1px solid #cccccc; -} -.dhxform_obj_dhx_terrace div.dhxform_image img.dhxform_image_img { - position: absolute; -} -.dhxform_obj_dhx_terrace div.dhxform_image div.dhxform_image_wrap { - position: absolute; - background-color: white; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - overflow: hidden; - *border: 1px solid white; - *height: 1000px; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); - -webkit-transition: opacity 0.6s; - -moz-transition: opacity 0.6s; - -ms-transition: opacity 0.6s; - -o-transition: opacity 0.6s; - transition: opacity 0.6s; -} -.dhxform_obj_dhx_terrace div.dhxform_image div.dhxform_image_wrap.dhxform_image_in_progress { - background-image: url("../imgs/dhxform_terrace/dhxform_image_uploading.gif"); - background-position: center center; - background-repeat: no-repeat; - *border-width: 0px; - *height: 100%; - opacity: 0.85; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=85); - -webkit-transition: opacity 0.1s; - -moz-transition: opacity 0.1s; - -ms-transition: opacity 0.1s; - -o-transition: opacity 0.1s; - transition: opacity 0.1s; -} -.dhxform_obj_dhx_terrace div.dhxform_image div.dhxform_image_wrap.dhxform_image_in_progress form.dhxform_image_form { - display: none; -} -.dhxform_obj_dhx_terrace div.dhxform_image div.dhxform_image_wrap form.dhxform_image_form { - position: absolute; - top: 0px; - right: 0px; - cursor: pointer; -} -.dhxform_obj_dhx_terrace div.dhxform_image div.dhxform_image_wrap form.dhxform_image_form input.dhxform_image_input { - cursor: pointer; - outline: none; - height: 1000px; - font-size: 100px; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxform_obj_dhx_terrace div.disabled div.dhxform_image { - border-color: #d4d4d4; -} -.dhxform_obj_dhx_terrace div.disabled div.dhxform_image img.dhxform_image_img { - opacity: 0.5; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50); -} -.dhxform_obj_dhx_terrace div.disabled div.dhxform_image div.dhxform_image_wrap { - cursor: default; -} -.dhxform_obj_dhx_terrace div.disabled div.dhxform_image form.dhxform_image_form { - display: none; -} -div.dhx_form_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 30px; - height: 10px; - overflow: hidden; -} diff --git a/themes/sources/dhtmlxForm/codebase/skins/dhtmlxform_dhx_web.css b/themes/sources/dhtmlxForm/codebase/skins/dhtmlxform_dhx_web.css deleted file mode 100644 index 294dfa8..0000000 --- a/themes/sources/dhtmlxForm/codebase/skins/dhtmlxform_dhx_web.css +++ /dev/null @@ -1,755 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: dhx_web - include extra file: skins/dhx_web.less -*/ - -.dhxform_obj_dhx_web { - font-family: Tahoma, Helvetica; - font-size: 12px; - color: #000000; - float: left; - line-height: normal; -} -.dhxform_obj_dhx_web div.dhxform_base { - position: relative; - float: left; - margin: 0px !important; -} -.dhxform_obj_dhx_web div.dhxform_base_nested { - padding: 0px 0px 0px 0px; - clear: both; - *display: inline-block; -} -.dhxform_obj_dhx_web.dhxform_block { - clear: both; -} -.dhxform_obj_dhx_web div.block_dhxform_item_label_left { - display: block; - clear: both; - *clear: none; -} -.dhxform_obj_dhx_web div.dhxform_label div.dhxform_label_nav_link, -.dhxform_obj_dhx_web div.dhxform_label div.dhxform_label_nav_link:visited, -.dhxform_obj_dhx_web div.dhxform_label div.dhxform_label_nav_link:active, -.dhxform_obj_dhx_web div.dhxform_label div.dhxform_label_nav_link:hover { - outline: none; - text-decoration: none; - color: inherit; - cursor: default; - overflow: hidden; - white-space: nowrap; -} -.dhxform_obj_dhx_web div.dhxform_label div.dhxform_label_nav_link:focus { - color: #0096eb; -} -.dhxform_obj_dhx_web div.disabled span.nav_link { - color: inherit; -} -.dhxform_obj_dhx_web div.dhxform_img, -.dhxform_obj_dhx_web div.dhxform_actv_c, -.dhxform_obj_dhx_web div.dhxform_actv_r { - width: 18px; - height: 18px; - font-size: 1px; -} -.dhxform_obj_dhx_web div.dhxform_img.chbx0, -.dhxform_obj_dhx_web div.dhxform_img.chbx1, -.dhxform_obj_dhx_web div.disabled div.dhxform_img.chbx0, -.dhxform_obj_dhx_web div.disabled div.dhxform_img.chbx1, -.dhxform_obj_dhx_web div.dhxform_img.rdbt0, -.dhxform_obj_dhx_web div.dhxform_img.rdbt1, -.dhxform_obj_dhx_web div.disabled div.dhxform_img.rdbt0, -.dhxform_obj_dhx_web div.disabled div.dhxform_img.rdbt1, -.dhxform_obj_dhx_web div.dhxform_actv_c.chbx0, -.dhxform_obj_dhx_web div.dhxform_actv_c.chbx1, -.dhxform_obj_dhx_web div.dhxform_actv_r.rdbt0, -.dhxform_obj_dhx_web div.dhxform_actv_r.rdbt1 { - background-image: url("../imgs/dhxform_web/dhxform_chbxrd.gif"); - background-repeat: no-repeat; -} -.dhxform_obj_dhx_web div.dhxform_img.chbx0 { - background-position: -18px 0px; -} -.dhxform_obj_dhx_web div.dhxform_img.chbx1 { - background-position: 0px 0px; -} -.dhxform_obj_dhx_web div.disabled div.dhxform_img.chbx0 { - background-position: -54px 0px; -} -.dhxform_obj_dhx_web div.disabled div.dhxform_img.chbx1 { - background-position: -36px 0px; -} -.dhxform_obj_dhx_web div.dhxform_img.rdbt0 { - background-position: -90px 0px; -} -.dhxform_obj_dhx_web div.dhxform_img.rdbt1 { - background-position: -72px 0px; -} -.dhxform_obj_dhx_web div.disabled div.dhxform_img.rdbt0 { - background-position: -126px 0px; -} -.dhxform_obj_dhx_web div.disabled div.dhxform_img.rdbt1 { - background-position: -108px 0px; -} -.dhxform_obj_dhx_web div.dhxform_actv_c.chbx0 { - background-position: -162px 0px; -} -.dhxform_obj_dhx_web div.dhxform_actv_c.chbx1 { - background-position: -144px 0px; -} -.dhxform_obj_dhx_web div.dhxform_actv_r.rdbt0 { - background-position: -198px 0px; -} -.dhxform_obj_dhx_web div.dhxform_actv_r.rdbt1 { - background-position: -180px 0px; -} -.dhxform_obj_dhx_web div.dhxform_label { - font-family: Tahoma, Helvetica; - font-size: inherit; - color: #000000; - overflow-x: hidden; - overflow: hidden; - white-space: nowrap; -} -.dhxform_obj_dhx_web div.dhxform_label.dhxform_label_align_left { - text-align: left; -} -.dhxform_obj_dhx_web div.dhxform_label.dhxform_label_align_center { - text-align: center; -} -.dhxform_obj_dhx_web div.dhxform_label.dhxform_label_align_right { - text-align: right; -} -.dhxform_obj_dhx_web div.disabled div.dhxform_label, -.dhxform_obj_dhx_web div.disabled div.dhxform_label div.dhxform_label_nav_link, -.dhxform_obj_dhx_web div.disabled div.dhxform_label span.dhxform_item_required { - color: #999999; -} -.dhxform_obj_dhx_web div.dhxform_label span.dhxform_item_required { - margin-left: 5px; - color: red; -} -.dhxform_obj_dhx_web input.dhxform_textarea, -.dhxform_obj_dhx_web textarea.dhxform_textarea { - padding: 4px 4px !important; - margin: 0px; - font-size: 1em; -} -.dhxform_obj_dhx_web input.dhxform_textarea::-ms-clear, -.dhxform_obj_dhx_web textarea.dhxform_textarea::-ms-clear { - display: none; -} -.dhxform_obj_dhx_web .dhxform_textarea { - border: 1px solid #d6d6d6; - font-family: Tahoma, Helvetica; - font-size: 1em; - color: black; - resize: none; -} -.dhxform_obj_dhx_web div.disabled .dhxform_textarea { - color: #999999; - background-color: #ffffff; - border: 1px solid #f0f0f0; -} -.dhxform_obj_dhx_web div.dhxform_control.dhxform_img_node { - position: relative; -} -.dhxform_obj_dhx_web div.dhxform_control.dhxform_img_node .dhxform_textarea { - border: 1px solid white; - background-color: white; - color: white; - visibility: hidden; - *height: 1px; - *line-height: 1px; - *display: inline; -} -.dhxform_obj_dhx_web div.dhxform_control.dhxform_img_node div.dhxform_img, -.dhxform_obj_dhx_web div.dhxform_control.dhxform_img_node div.dhxform_actv_c, -.dhxform_obj_dhx_web div.dhxform_control.dhxform_img_node div.dhxform_actv_r { - float: none; - top: 2px; - left: 0px; - position: absolute; - margin: 0px; -} -.dhxform_obj_dhx_web div.dhxform_item_label_left div.dhxform_control.dhxform_img_node { - margin-left: 2px; -} -.dhxform_obj_dhx_web div.dhxform_item_label_right div.dhxform_control.dhxform_img_node { - margin-right: 0px; -} -.dhxform_obj_dhx_web .dhxform_select { - border: 1px solid #d6d6d6; - background-color: #ffffff; - font-family: Tahoma, Helvetica; - font-size: 1em; - color: black; - margin: 0px; - padding: 3px 0px; -} -.dhxform_obj_dhx_web .dhxform_select option { - padding-left: 2px; -} -.dhxform_obj_dhx_web div.disabled .dhxform_select { - color: #999999; - background-color: #ffffff; - border: 1px solid #f0f0f0; -} -.dhxform_obj_dhx_web div.fs_dhxform_item_label_left { - padding: 5px 0px 5px 0px; -} -.dhxform_obj_dhx_web div.fs_dhxform_item_label_left fieldset.dhxform_fs div.dhxform_base_nested.dhxform_fs_nested { - margin-right: 19px; - margin-left: 5px; -} -.dhxform_obj_dhx_web fieldset.dhxform_fs { - border: 1px solid #d6d6d6; - margin: 0px; - padding: 5px 0px 15px 0px; - clear: left; - width: 100%; -} -.dhxform_obj_dhx_web div.disabled fieldset.dhxform_fs { - border: 1px solid #f0f0f0; -} -.dhxform_obj_dhx_web fieldset.dhxform_fs legend.fs_legend { - font-family: Tahoma, Helvetica; - font-size: inherit; - color: #484848; - font-weight: normal; - padding: 0px 4px 1px 4px; - margin-left: 5px; - text-align: left; -} -.dhxform_obj_dhx_web div.disabled fieldset.dhxform_fs legend.fs_legend { - color: #999999; -} -.dhxform_obj_dhx_web div.dhxform_item_label_right { - clear: both; - padding-top: 6px; - cursor: default; - *display: inline-block; -} -.dhxform_obj_dhx_web div.dhxform_item_label_right div.dhxform_img, -.dhxform_obj_dhx_web div.dhxform_item_label_right div.dhxform_actv_c, -.dhxform_obj_dhx_web div.dhxform_item_label_right div.dhxform_actv_r { - float: left; - margin: 0px; -} -.dhxform_obj_dhx_web div.dhxform_item_label_right div.dhxform_label { - float: left; - padding: 2px 0px 2px 0px; - margin: 2px 0 2px 0px; -} -.dhxform_obj_dhx_web div.dhxform_item_label_right div.dhxform_control { - float: left; - margin-right: 3px; -} -.dhxform_obj_dhx_web div.dhxform_item_label_left { - clear: both; - padding-top: 6px; - cursor: default; - *display: inline-block; -} -.dhxform_obj_dhx_web div.dhxform_item_label_left div.dhxform_img, -.dhxform_obj_dhx_web div.dhxform_item_label_left div.dhxform_actv_c, -.dhxform_obj_dhx_web div.dhxform_item_label_left div.dhxform_actv_r { - float: right; - margin: 0px; -} -.dhxform_obj_dhx_web div.dhxform_item_label_left div.dhxform_label { - float: left; - padding: 1px 0px 1px 0px; - margin: 2px 0px 2px 0px; -} -.dhxform_obj_dhx_web div.dhxform_item_label_left div.dhxform_control { - float: left; - margin-left: 3px; -} -.dhxform_obj_dhx_web div.dhxform_item_label_top { - clear: both; -} -.dhxform_obj_dhx_web div.dhxform_item_label_top div.dhxform_label { - float: none; - margin-bottom: 5px; - margin-top: 8px; -} -.dhxform_obj_dhx_web div.dhxform_item_label_top div.dhxform_control { - float: none; - margin-left: 0px; - margin-bottom: 5px; -} -.dhxform_obj_dhx_web div.dhxform_item_absolute { - position: absolute; - left: 0px; - top: 0px; - cursor: default; -} -.dhxform_obj_dhx_web div.item_absolute div.dhxform_img, -.dhxform_obj_dhx_web div.item_absolute div.dhxform_actv_c, -.dhxform_obj_dhx_web div.item_absolute div.dhxform_actv_r { - position: absolute; -} -.dhxform_obj_dhx_web div.dhxform_item_absolute div.dhxform_control, -.dhxform_obj_dhx_web div.dhxform_item_absolute div.dhxform_label, -.dhxform_obj_dhx_web div.dhxform_item_absolute div.dhxform_control.dhxform_img_node, -.dhxform_obj_dhx_web div.dhxform_item_absolute div.dhxform_txt_label2, -.dhxform_obj_dhx_web div.dhxform_item_absolute div.dhxform_btn, -.dhxform_obj_dhx_web div.block_item_absolute div.dhxform_block { - position: absolute; -} -.dhxform_obj_dhx_web div.dhxform_txt_label2 { - font-family: Tahoma, Helvetica; - font-size: inherit; - color: #484848; - font-weight: bold; - margin: 0px 3px; - padding: 5px 0px; - cursor: default; -} -.dhxform_obj_dhx_web div.disabled div.dhxform_txt_label2 { - color: #b3b3b3; -} -.dhxform_obj_dhx_web div.dhxform_btn { - margin: 1px 2px; - background-color: #3da0e3; - float: left; - cursor: default; - clear: both; - position: relative; - overflow: hidden; - font-family: Tahoma, Helvetica; - font-size: inherit; - color: #ffffff; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - -webkit-tap-highlight-color: rgba(0,0,0,0); -} -.dhxform_obj_dhx_web.dhxform_rtl div.dhxform_btn { - float: right; -} -.dhxform_obj_dhx_web div.dhxform_btn.dhxform_btn_over { - background-color: #2a8ed2; -} -.dhxform_obj_dhx_web div.dhxform_btn.dhxform_btn_pressed { - background-color: #2589ce; -} -.dhxform_obj_dhx_web div.disabled div.dhxform_btn { - background-color: #f2f2f2; -} -.dhxform_obj_dhx_web div.dhxform_btn div.dhxform_btn_txt { - float: left; - margin: 0px 17px; - height: 24px; - line-height: 23px; - text-align: center; - vertical-align: middle; - overflow: hidden; - white-space: nowrap; - *display: inline; - opacity: 1; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100); -} -.dhxform_obj_dhx_web div.dhxform_btn div.dhxform_btn_txt.dhxform_btn_txt_autowidth { - width: 100%; - margin: 0px; -} -.dhxform_obj_dhx_web div.disabled div.dhxform_btn div.dhxform_btn_txt { - color: #999999 !important; -} -.dhxform_obj_dhx_web div.dhxform_btn:focus { - outline: 1px dotted #000000; -} -.dhxform_obj_dhx_web div.dhxform_btn div.dhxform_btn_filler { - position: absolute; - display: inline-block; - width: 100%; - height: 100px; - left: 0px; - top: 0px; - background-color: white; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxform_obj_dhx_web div.dhxform_control div.dhxform_note { - font-family: Tahoma, Helvetica; - font-size: 0.8em; - color: gray; - padding-bottom: 3px; - white-space: normal; -} -.dhxform_obj_dhx_web div.disabled div.dhxform_control div.dhxform_note { - color: #999999; -} -.dhxform_obj_dhx_web div.dhxform_label span.dhxform_info { - font-family: Tahoma, Helvetica; - font-size: 0.6em; - color: gray; - margin-left: 3px; - padding-bottom: 2px; - line-height: 100%; - vertical-align: middle; - cursor: pointer; -} -.dhxform_obj_dhx_web .validate_error .dhxform_label, -.dhxform_obj_dhx_web .validate_error .dhxform_textarea, -.dhxform_obj_dhx_web .validate_error .dhxform_select, -.dhxform_obj_dhx_web .validate_error div.dhxform_label_nav_link, -.dhxform_obj_dhx_web .validate_error div.dhxform_label div.dhxform_label_nav_link:focus { - color: red; -} -.dhxform_obj_dhx_web div.disabled .dhx_combo_box.dhx_web { - border: 1px solid #f0f0f0; -} -.dhxform_obj_dhx_web div.disabled .dhx_combo_box.dhx_web .dhx_combo_input { - color: #999999; - background-color: #ffffff; -} -.dhxform_obj_dhx_web div.dhxform_item_template.dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_cont_editor { - border-left: 1px solid #d6d6d6; - border-right: 1px solid #d6d6d6; - border-bottom: 1px solid #d6d6d6; -} -.dhxform_obj_dhx_web div.dhxform_item_template.dhxeditor_dhx_web div.dhxcont_content_blocker { - display: none; -} -.dhxform_obj_dhx_web div.disabled div.dhxform_item_template.dhxeditor_dhx_web div.dhxcont_content_blocker { - display: inline; - position: absolute; - width: 100%; - height: 100%; - top: 0px; - left: 0px; - background-color: white; - opacity: 0.7; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=70); -} -.dhtmlx_skin_dhx_web div.dhtmlx_wins_body_inner .dhxform_obj_dhx_web { - background-color: white; -} -.dhxform_obj_dhx_web div.dhxform_control .dhx_combo_box.dhx_web .dhx_combo_input, -.dhx_combo_list.dhx_web_list div { - font-size: 1em !important; -} -.dhxform_obj_dhx_web .dhx_file_uploader { - position: relative; - width: 100%; - margin-bottom: 4px; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls { - position: relative; - width: 100%; - height: 35px; - font-size: 2px; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button { - position: absolute; - width: 19px; - height: 19px; - top: 8px; - background-image: url("../imgs/dhxform_web/dhxform_upload_buttons.gif"); - background-repeat: no-repeat; - font-size: 2px; - cursor: pointer; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100); - z-index: 1; - -webkit-tap-highlight-color: rgba(0,0,0,0); -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_info { - display: none; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_browse { - background-position: 0px 0px; - right: 108px; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_upload { - background-position: -19px 0px; - right: 79px; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_cancel { - background-position: -57px 0px; - right: 79px; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_clear { - background-position: -38px 0px; - right: 50px; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls .dhx_uploader_input { - position: absolute; - left: -1000px; - top: 0px; - visibility: hidden; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls div.dhx_file_form_cont { - position: absolute; - width: 19px; - height: 19px; - left: 0px; - top: 0px; - cursor: pointer; - overflow: hidden; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls div.dhx_file_form_cont form.dhx_file_form { - position: absolute; - top: 0px; - right: 0px; - cursor: pointer; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls div.dhx_file_form_cont form.dhx_file_form .dhx_file_input { - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); - cursor: pointer; - outline: none; - height: 19px; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files { - position: relative; - width: 100%; - left: 0px; - top: 0px; - overflow: auto; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files div.dhx_file { - position: relative; - width: 100%; - height: 25px; - overflow: hidden; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_added, -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_uploading { - color: #000000; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_uploaded { - color: #646464; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_fail { - color: #e94a4a; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files div.dhx_file_param { - position: absolute; - font-family: inherit; - font-size: inherit; - color: inherit; - top: 0px; - height: 25px; - line-height: 25px; - vertical-align: middle; - overflow: hidden; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_name { - left: 20px; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_progress { - right: 50px; - width: 38px; - text-align: right; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_delete { - right: 30px; - width: 11px; - background-image: url("../imgs/dhxform_web/dhxform_upload_buttons.gif"); - background-position: -76px 0px; - background-repeat: no-repeat; - cursor: pointer; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_uploading { - right: 50px; - width: 38px; - text-align: right; - background-image: url("../imgs/dhxform_web/dhxform_upload_uploading.gif"); - background-position: center center; - background-repeat: no-repeat; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxform_obj_dhx_web .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls { - height: 60px; -} -.dhxform_obj_dhx_web .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_files { - display: none; -} -.dhxform_obj_dhx_web .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_info { - display: inline; - background-image: none; - font-size: 13px; - height: auto; - top: 0px; - left: 35px; - color: #a0a0a0; - vertical-align: top; - padding-top: 6px; - line-height: 20px; - cursor: default; - filter: none; -} -.dhxform_obj_dhx_web .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_browse { - top: 0px; - width: 54px; - height: 54px; - right: 35px; - background-image: url("../imgs/dhxform_web/dhxform_upload_buttons.gif"); - background-position: 0px -38px; - background-repeat: no-repeat; -} -.dhxform_obj_dhx_web .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_upload, -.dhxform_obj_dhx_web .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_cancel, -.dhxform_obj_dhx_web .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_clear { - display: none; -} -.dhxform_obj_dhx_web .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_form_cont { - width: 54px; - height: 54px; -} -.dhxform_obj_dhx_web .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_form_cont form.dhx_file_form .dhx_file_input { - height: 54px; -} -.dhxform_obj_dhx_web .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_info, -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_added, -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_uploading, -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_uploaded, -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_fail { - color: #999999; -} -.dhxform_obj_dhx_web .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_browse { - background-position: -54px -38px; - cursor: default; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_form_cont { - display: none; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button { - cursor: default; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_browse { - background-position: 0px -19px; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_upload { - background-position: -19px -19px; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_cancel { - background-position: -57px -19px; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_clear { - background-position: -38px -19px; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file_param.dhx_file_delete { - background-position: -87px 0px; - cursor: default; -} -.dhxform_obj_dhx_web div.dhxform_image { - position: relative; - overflow: hidden; - border: 1px solid #d6d6d6; -} -.dhxform_obj_dhx_web div.dhxform_image img.dhxform_image_img { - position: absolute; -} -.dhxform_obj_dhx_web div.dhxform_image div.dhxform_image_wrap { - position: absolute; - background-color: white; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - overflow: hidden; - *border: 1px solid white; - *height: 1000px; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); - -webkit-transition: opacity 0.6s; - -moz-transition: opacity 0.6s; - -ms-transition: opacity 0.6s; - -o-transition: opacity 0.6s; - transition: opacity 0.6s; -} -.dhxform_obj_dhx_web div.dhxform_image div.dhxform_image_wrap.dhxform_image_in_progress { - background-image: url("../imgs/dhxform_web/dhxform_image_uploading.gif"); - background-position: center center; - background-repeat: no-repeat; - *border-width: 0px; - *height: 100%; - opacity: 0.85; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=85); - -webkit-transition: opacity 0.1s; - -moz-transition: opacity 0.1s; - -ms-transition: opacity 0.1s; - -o-transition: opacity 0.1s; - transition: opacity 0.1s; -} -.dhxform_obj_dhx_web div.dhxform_image div.dhxform_image_wrap.dhxform_image_in_progress form.dhxform_image_form { - display: none; -} -.dhxform_obj_dhx_web div.dhxform_image div.dhxform_image_wrap form.dhxform_image_form { - position: absolute; - top: 0px; - right: 0px; - cursor: pointer; -} -.dhxform_obj_dhx_web div.dhxform_image div.dhxform_image_wrap form.dhxform_image_form input.dhxform_image_input { - cursor: pointer; - outline: none; - height: 1000px; - font-size: 100px; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxform_obj_dhx_web div.disabled div.dhxform_image { - border-color: #f0f0f0; -} -.dhxform_obj_dhx_web div.disabled div.dhxform_image img.dhxform_image_img { - opacity: 0.5; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50); -} -.dhxform_obj_dhx_web div.disabled div.dhxform_image div.dhxform_image_wrap { - cursor: default; -} -.dhxform_obj_dhx_web div.disabled div.dhxform_image form.dhxform_image_form { - display: none; -} -div.dhx_form_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 20px; - height: 10px; - overflow: hidden; -} diff --git a/themes/sources/dhtmlxForm/codebase/skins/dhtmlxform_material.css b/themes/sources/dhtmlxForm/codebase/skins/dhtmlxform_material.css deleted file mode 100644 index fc23075..0000000 --- a/themes/sources/dhtmlxForm/codebase/skins/dhtmlxform_material.css +++ /dev/null @@ -1,876 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: material - include extra file: skins/material.less -*/ - -@keyframes dhx_loader_rotate { - 100% { - transform: rotate(360deg); - } -} -@keyframes dhx_loader_dash { - 0% { - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - } - 50% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -35px; - } - 100% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -124px; - } -} -.dhxform_obj_material { - float: left; - line-height: normal; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -.dhxform_obj_material div.dhxform_base { - position: relative; - float: left; -} -.dhxform_obj_material div.dhxform_base_nested { - padding: 0px 0px 0px 0px; - clear: both; - *display: inline-block; -} -.dhxform_obj_material.dhxform_block { - clear: both; -} -.dhxform_obj_material div.block_dhxform_item_label_left { - display: block; - clear: both; - *clear: none; -} -.dhxform_obj_material div.dhxform_label div.dhxform_label_nav_link, -.dhxform_obj_material div.dhxform_label div.dhxform_label_nav_link:visited, -.dhxform_obj_material div.dhxform_label div.dhxform_label_nav_link:active, -.dhxform_obj_material div.dhxform_label div.dhxform_label_nav_link:hover { - outline: 0px solid white; - text-decoration: none; - color: inherit; - cursor: default; - overflow: hidden; - white-space: normal; -} -.dhxform_obj_material div.dhxform_label div.dhxform_label_nav_link:focus { - color: #3399cc; -} -.dhxform_obj_material div.disabled span.nav_link { - color: inherit; -} -.dhxform_obj_material div.dhxform_img, -.dhxform_obj_material div.dhxform_actv_c, -.dhxform_obj_material div.dhxform_actv_r { - width: 24px; - height: 24px; - font-size: 1px; -} -.dhxform_obj_material div.dhxform_img.chbx0, -.dhxform_obj_material div.dhxform_img.chbx1, -.dhxform_obj_material div.disabled div.dhxform_img.chbx0, -.dhxform_obj_material div.disabled div.dhxform_img.chbx1, -.dhxform_obj_material div.dhxform_img.rdbt0, -.dhxform_obj_material div.dhxform_img.rdbt1, -.dhxform_obj_material div.disabled div.dhxform_img.rdbt0, -.dhxform_obj_material div.disabled div.dhxform_img.rdbt1, -.dhxform_obj_material div.dhxform_actv_c.chbx0, -.dhxform_obj_material div.dhxform_actv_c.chbx1, -.dhxform_obj_material div.dhxform_actv_r.rdbt0, -.dhxform_obj_material div.dhxform_actv_r.rdbt1 { - background-image: url("../imgs/dhxform_material/dhxform_chbxrd.png"); - background-repeat: no-repeat; -} -.dhxform_obj_material div.dhxform_img.chbx0 { - background-position: -24px 0px; -} -.dhxform_obj_material div.dhxform_img.chbx1 { - background-position: 0px 0px; -} -.dhxform_obj_material div.disabled div.dhxform_img.chbx0 { - background-position: -72px 0px; -} -.dhxform_obj_material div.disabled div.dhxform_img.chbx1 { - background-position: -48px 0px; -} -.dhxform_obj_material div.dhxform_img.rdbt0 { - background-position: -120px 0px; -} -.dhxform_obj_material div.dhxform_img.rdbt1 { - background-position: -96px 0px; -} -.dhxform_obj_material div.disabled div.dhxform_img.rdbt0 { - background-position: -168px 0px; -} -.dhxform_obj_material div.disabled div.dhxform_img.rdbt1 { - background-position: -144px 0px; -} -.dhxform_obj_material div.dhxform_actv_c.chbx0 { - background-position: -216px 0px; -} -.dhxform_obj_material div.dhxform_actv_c.chbx1 { - background-position: -192px 0px; -} -.dhxform_obj_material div.dhxform_actv_r.rdbt0 { - background-position: -264px 0px; -} -.dhxform_obj_material div.dhxform_actv_r.rdbt1 { - background-position: -240px 0px; -} -.dhxform_obj_material div.dhxform_actv_c.chbx1, -.dhxform_obj_material div.dhxform_img.chbx1 { - background: linear-gradient(transparent,transparent), url("../imgs/dhxform_material/dhxform_check_on.svg") 0 -1px no-repeat; -} -.dhxform_obj_material div.dhxform_actv_c.chbx0, -.dhxform_obj_material div.dhxform_img.chbx0 { - background: linear-gradient(transparent,transparent), url("../imgs/dhxform_material/dhxform_check_off.svg") 0 -1px no-repeat; -} -.dhxform_obj_material div.dhxform_actv_r.rdbt1, -.dhxform_obj_material div.dhxform_img.rdbt1 { - background: linear-gradient(transparent,transparent), url("../imgs/dhxform_material/dhxform_radio_on.svg") 0 -1px no-repeat; -} -.dhxform_obj_material div.dhxform_actv_r.rdbt0, -.dhxform_obj_material div.dhxform_img.rdbt0 { - background: linear-gradient(transparent,transparent), url("../imgs/dhxform_material/dhxform_radio_off.svg") 0 -1px no-repeat; -} -.dhxform_obj_material div.dhxform_label_nav_link { - line-height: 22px; -} -.dhxform_obj_material div.dhxform_label { - overflow-x: hidden; - overflow: hidden; - white-space: normal; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -.dhxform_obj_material div.dhxform_label.dhxform_label_align_left { - text-align: left; -} -.dhxform_obj_material div.dhxform_label.dhxform_label_align_center { - text-align: center; -} -.dhxform_obj_material div.dhxform_label.dhxform_label_align_right { - text-align: right; -} -.dhxform_obj_material div.disabled div.dhxform_label, -.dhxform_obj_material div.disabled div.dhxform_label div.dhxform_label_nav_link, -.dhxform_obj_material div.disabled div.dhxform_label span.dhxform_item_required { - color: #a6a6a6; -} -.dhxform_obj_material div.dhxform_label span.dhxform_item_required { - margin-left: 5px; - color: red; -} -.dhxform_obj_material input.dhxform_textarea, -.dhxform_obj_material textarea.dhxform_textarea { - padding: 4px 2px !important; - margin: 0px; - font-size: 1em; - background-color: white; -} -.dhxform_obj_material input.dhxform_textarea::-ms-clear, -.dhxform_obj_material textarea.dhxform_textarea::-ms-clear { - display: none; -} -.dhxform_obj_material input.dhxform_textarea:focus, -.dhxform_obj_material textarea.dhxform_textarea:focus { - border-bottom-color: #3399cc; - border-bottom-width: 2px; - padding-bottom: 3px !important; - outline: none; -} -.dhxform_obj_material .dhxform_textarea { - border-width: 0px 0px 1px 0px; - border-style: solid; - border-color: #dfdfdf; - resize: none; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -.dhxform_obj_material div.disabled .dhxform_textarea { - color: #a6a6a6; - border-style: dashed; -} -.dhxform_obj_material input.dhxform_textarea.calendar { - background-image: url("../imgs/dhxform_material/dhxform_image_calendar.png"); - background-repeat: no-repeat; - background-position: right 6px; -} -.dhxform_obj_material div.disabled input.dhxform_textarea.calendar { - background-image: url("../imgs/dhxform_material/dhxform_image_calendar_dis.png"); -} -.dhxform_obj_material div.dhxform_control.dhxform_img_node { - position: relative; -} -.dhxform_obj_material div.dhxform_control.dhxform_img_node .dhxform_textarea { - border: 1px solid white; - background-color: white; - color: white; - visibility: hidden; - *height: 1px; - *line-height: 1px; - *display: inline; -} -.dhxform_obj_material div.dhxform_control.dhxform_img_node div.dhxform_img { - float: none; - top: 3px; - left: 0px; - position: absolute; - margin: 0px; -} -.dhxform_obj_material div.dhxform_control.dhxform_img_node div.dhxform_actv_c, -.dhxform_obj_material div.dhxform_control.dhxform_img_node div.dhxform_actv_r { - float: none; - position: absolute; - margin: 0px; - top: 3px; - left: 0px; -} -.dhxform_obj_material .dhxform_select { - border-width: 0px 0px 1px 0px; - border-style: solid; - border-color: #dfdfdf; - background-color: white; - margin: 0px; - padding: 2px !important; - line-height: normal; - vertical-align: middle; - -moz-appearance: none; - -webkit-appearance: none; - -ms-appearance: -ms-none; - appearance: none; - background-image: url(../imgs/dhxform_material/dhxform_arrow_down.gif); - background-repeat: no-repeat; - background-position: right 13px; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -.dhxform_obj_material .dhxform_select option { - padding: 1px 2px; - outline: none !important; -} -.dhxform_obj_material .dhxform_select option:focus, -.dhxform_obj_material .dhxform_select option:active { - outline: none !important; -} -.dhxform_obj_material .dhxform_select:focus { - border-color: #3399cc; - border-bottom-width: 2px; - padding-bottom: 1px !important; - outline: none !important; -} -.dhxform_obj_material .dhxform_select.dhxform_arrow_fix_webkit { - background-position: right 6px; -} -.dhxform_obj_material .dhxform_select.dhxform_arrow_fix_edge { - background-position: right 7px; -} -.dhxform_obj_material .dhxform_select.dhxform_fix_ff { - height: 28px; -} -.dhxform_obj_material div.disabled .dhxform_select { - color: #a6a6a6; - border-style: dashed; - background-image: url(../imgs/dhxform_material/dhxform_arrow_down_dis.gif); -} -.dhxform_obj_material div.disabled .dhxform_select option { - color: #a6a6a6; -} -.dhxform_obj_material div.fs_dhxform_item_label_left { - padding: 5px 0px 5px 0px; -} -.dhxform_obj_material div.fs_dhxform_item_label_left fieldset.dhxform_fs div.dhxform_base_nested.dhxform_fs_nested { - margin-right: 19px; - margin-left: 5px; -} -.dhxform_obj_material fieldset.dhxform_fs { - border: 1px solid #dfdfdf; - margin: 0px; - padding: 5px 0px 12px 0px; - clear: left; - width: 100%; -} -.dhxform_obj_material div.disabled fieldset.dhxform_fs { - border-style: dashed; -} -.dhxform_obj_material fieldset.dhxform_fs legend.fs_legend { - font-weight: normal; - padding: 0px 4px 1px 4px; - margin-left: 5px; - text-align: left; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -.dhxform_obj_material div.disabled fieldset.dhxform_fs legend.fs_legend { - color: #a6a6a6; -} -.dhxform_obj_material div.dhxform_item_label_right { - clear: both; - padding-top: 9px; - cursor: default; - *display: inline-block; -} -.dhxform_obj_material div.dhxform_item_label_right div.dhxform_img, -.dhxform_obj_material div.dhxform_item_label_right div.dhxform_actv_c, -.dhxform_obj_material div.dhxform_item_label_right div.dhxform_actv_r { - float: left; - margin: 0px; -} -.dhxform_obj_material div.dhxform_item_label_right div.dhxform_label { - float: left; - padding: 2px 0px 1px 0px; - margin: 2px 0px 2px 0px; - *padding-top: 0px; - *display: inline-block; -} -.dhxform_obj_material div.dhxform_item_label_right div.dhxform_control { - float: left; - margin-right: 7px; -} -.dhxform_obj_material div.dhxform_item_label_left { - clear: both; - padding-top: 9px; - cursor: default; - *display: inline-block; -} -.dhxform_obj_material div.dhxform_item_label_left div.dhxform_img, -.dhxform_obj_material div.dhxform_item_label_left div.dhxform_actv_c, -.dhxform_obj_material div.dhxform_item_label_left div.dhxform_actv_r { - float: right; - margin: 3px 1px 0px 5px; -} -.dhxform_obj_material div.dhxform_item_label_left div.dhxform_label { - float: left; - padding: 2px 0px 1px 0px; - margin: 2px 0px 2px 0px; -} -.dhxform_obj_material div.dhxform_item_label_left div.dhxform_control { - float: left; - margin-left: 3px; -} -.dhxform_obj_material div.dhxform_item_label_top { - clear: both; -} -.dhxform_obj_material div.dhxform_item_label_top div.dhxform_label { - float: none; - margin-bottom: 5px; - margin-top: 8px; -} -.dhxform_obj_material div.dhxform_item_label_top div.dhxform_control { - float: none; - margin-left: 0px; - margin-bottom: 5px; -} -.dhxform_obj_material div.dhxform_item_absolute { - position: absolute; - left: 0px; - top: 0px; - cursor: default; -} -.dhxform_obj_material div.item_absolute div.dhxform_img, -.dhxform_obj_material div.item_absolute div.dhxform_actv_c, -.dhxform_obj_material div.item_absolute div.dhxform_actv_r { - position: absolute; -} -.dhxform_obj_material div.dhxform_item_absolute div.dhxform_control, -.dhxform_obj_material div.dhxform_item_absolute div.dhxform_label, -.dhxform_obj_material div.dhxform_item_absolute div.dhxform_control.dhxform_img_node, -.dhxform_obj_material div.dhxform_item_absolute div.dhxform_txt_label2, -.dhxform_obj_material div.dhxform_item_absolute div.dhxform_btn, -.dhxform_obj_material div.block_item_absolute div.dhxform_block { - position: absolute; -} -.dhxform_obj_material div.dhxform_txt_label2 { - font-weight: bold; - margin: 0px 3px; - padding: 5px 0px; - cursor: default; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -.dhxform_obj_material div.disabled div.dhxform_txt_label2 { - color: #a6a6a6; -} -.dhxform_obj_material div.dhxform_btn { - margin: 1px 2px; - background-color: #f5f5f5; - float: left; - cursor: default; - clear: both; - position: relative; - overflow: hidden; - border: 1px solid #dfdfdf; - outline: none !important; - -webkit-tap-highlight-color: rgba(0,0,0,0); - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxform_obj_material.dhxform_rtl div.dhxform_btn { - float: right; -} -.dhxform_obj_material div.dhxform_btn.dhxform_btn_over { - background-color: #ededed; - outline: none !important; -} -.dhxform_obj_material div.dhxform_btn.dhxform_btn_pressed { - background-color: #e1e1e1; - border-color: #d2d2d2; - outline: none !important; -} -.dhxform_obj_material div.dhxform_btn:focus { - outline: none !important; - border-color: #3399cc; - border-width: 2px; - margin: 0px 1px; - color: #545454; -} -dhxform_obj_material div.disabled div.dhxform_btn { - background-color: #ededed; - border-color: #ededed; -} -dhxform_obj_material div.disabled div.dhxform_btn div.dhxform_btn_txt { - color: #a6a6a6; -} -.dhxform_obj_material div.dhxform_btn div.dhxform_btn_txt { - float: left; - margin: 0px 18px; - height: 28px; - line-height: 27px; - text-align: center; - vertical-align: middle; - overflow: hidden; - white-space: nowrap; - border-radius: 3px; - *display: inline; - opacity: 1; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100); -} -.dhxform_obj_material div.dhxform_btn div.dhxform_btn_txt.dhxform_btn_txt_autowidth { - width: 100%; - margin: 0px; -} -.dhxform_obj_material div.dhxform_btn div.dhxform_btn_filler { - position: absolute; - display: inline-block; - width: 100%; - height: 100px; - left: 0px; - top: 0px; - background-color: white; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxform_obj_material div.dhxform_control div.dhxform_note { - font: inherit; - color: #5a5a5a; - font-size: 0.8em; - padding-bottom: 3px; - white-space: normal; -} -.dhxform_obj_material div.disabled div.dhxform_control div.dhxform_note { - color: #a6a6a6; -} -.dhxform_obj_material div.dhxform_label span.dhxform_info { - font: inherit; - color: #5a5a5a; - font-size: 0.6em; - margin-left: 3px; - padding-bottom: 2px; - line-height: normal; - vertical-align: middle; - cursor: pointer; -} -.dhxform_obj_material .validate_error .dhxform_label, -.dhxform_obj_material .validate_error .dhxform_textarea, -.dhxform_obj_material .validate_error .dhxform_select, -.dhxform_obj_material .validate_error div.dhxform_label_nav_link, -.dhxform_obj_material .validate_error div.dhxform_label div.dhxform_label_nav_link:focus { - color: red; -} -.dhxform_obj_material div.dhxform_control div.dhxcombo_material { - height: 24px; -} -.dhxform_obj_material div.dhxform_control div.dhxcombo_material input.dhxcombo_input { - height: 24px; - line-height: 24px; -} -.dhxform_obj_material div.dhxform_control div.dhxcombo_material div.dhxcombo_image { - top: 3px; -} -.dhxform_obj_material div.dhxform_control div.dhxcombo_material div.dhxcombo_select_button { - top: 1px; -} -.dhxform_obj_material div.disabled div.dhxcombo_material { - color: #a6a6a6; - border-bottom-style: dashed; -} -.dhxform_obj_material div.dhxform_item_template.dhxeditor_material div.dhx_cell_editor { - border: 1px solid #dfdfdf; -} -.dhxform_obj_material div.dhxform_item_template.dhxeditor_material div.dhx_cell_editor div.dhx_cell_toolbar_def { - padding: 0px; - border-top: 1px solid #dfdfdf; -} -.dhxform_obj_material div.dhxeditor_focus div.dhxform_item_template.dhxeditor_material { - box-shadow: 0 0 3px #c0c0c0; - outline: none; -} -.dhxform_obj_material div.dhxeditor_focus div.dhxform_item_template.dhxeditor_material div.dhx_cell_editor { - border-color: #3399cc; -} -.dhxform_obj_material div.dhxform_item_template.dhxeditor_material div.dhxcont_content_blocker { - display: none; -} -.dhxform_obj_material div.disabled div.dhxform_item_template.dhxeditor_material div.dhxcont_content_blocker { - display: inline; - position: absolute; - width: 100%; - height: 100%; - top: 0px; - left: 0px; - background-color: #fafafa; - opacity: 0.7; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=70); -} -.dhtmlx_skin_material div.dhtmlx_wins_body_inner .dhxform_obj_material { - background-color: white; -} -.dhxform_obj_material div.dhxform_control .dhx_combo_box.material .dhx_combo_input, -.dhx_combo_list.material_list div { - font-size: 1em !important; -} -.dhxform_obj_material .dhx_file_uploader { - position: relative; - width: 100%; - margin-bottom: 4px; -} -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls { - position: relative; - width: 100%; - height: 35px; - font-size: 2px; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button { - position: absolute; - width: 24px; - height: 24px; - top: 8px; - background-image: url("../imgs/dhxform_material/dhxform_upload_buttons.png"); - background-repeat: no-repeat; - font-size: 2px; - cursor: pointer; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100); - z-index: 1; - -webkit-tap-highlight-color: rgba(0,0,0,0); -} -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_info { - display: none; -} -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_browse { - background-position: 0px 0px; - right: 108px; -} -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_upload { - background-position: -24px 0px; - right: 79px; -} -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_cancel { - background-position: -72px 0px; - right: 79px; -} -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_clear { - background-position: -48px 0px; - right: 50px; -} -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls .dhx_uploader_input { - position: absolute; - left: -1000px; - top: 0px; - visibility: hidden; -} -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls div.dhx_file_form_cont { - position: absolute; - width: 19px; - height: 19px; - left: 0px; - top: 0px; - cursor: pointer; - overflow: hidden; -} -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls div.dhx_file_form_cont form.dhx_file_form { - position: absolute; - top: 0px; - right: 0px; - cursor: pointer; -} -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls div.dhx_file_form_cont form.dhx_file_form .dhx_file_input { - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); - cursor: pointer; - outline: none; - height: 19px; -} -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files { - position: relative; - width: 100%; - left: 0px; - top: 0px; - overflow: auto; -} -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files div.dhx_file { - position: relative; - width: 100%; - height: 25px; - overflow: hidden; -} -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_added, -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_uploading { - color: black; -} -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_uploaded { - color: #646464; -} -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_fail { - color: #e94a4a; -} -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files div.dhx_file_param { - position: absolute; - font-family: inherit; - font-size: inherit; - color: inherit; - top: 0px; - height: 25px; - line-height: 25px; - vertical-align: middle; - overflow: hidden; -} -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_name { - left: 20px; -} -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_progress { - right: 50px; - width: 38px; - text-align: right; -} -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_delete { - right: 30px; - width: 12px; - background-image: url("../imgs/dhxform_material/dhxform_upload_buttons.png"); - background-position: -96px 1px; - background-repeat: no-repeat; - cursor: pointer; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_uploading { - right: 50px; - width: 38px; - text-align: right; - background-image: url("../imgs/dhxform_material/dhxform_upload_uploading.gif"); - background-position: center center; - background-repeat: no-repeat; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxform_obj_material .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls { - height: 60px; -} -.dhxform_obj_material .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_files { - display: none; -} -.dhxform_obj_material .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_info { - display: inline; - background-image: none; - height: auto; - top: 0px; - left: 35px; - vertical-align: top; - padding-top: 6px; - line-height: 20px; - cursor: default; - filter: none; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -.dhxform_obj_material .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_browse { - top: 0px; - width: 54px; - height: 54px; - right: 35px; - background-image: url("../imgs/dhxform_material/dhxform_upload_buttons.png"); - background-position: 0px -48px; - background-repeat: no-repeat; -} -.dhxform_obj_material .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_upload, -.dhxform_obj_material .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_cancel, -.dhxform_obj_material .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_clear { - display: none; -} -.dhxform_obj_material .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_form_cont { - width: 54px; - height: 54px; -} -.dhxform_obj_material .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_form_cont form.dhx_file_form .dhx_file_input { - height: 54px; -} -.dhxform_obj_material .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_info, -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_added, -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_uploading, -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_uploaded, -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_fail { - color: #a6a6a6; -} -.dhxform_obj_material .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_browse { - background-position: -54px -48px; - cursor: default; -} -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_form_cont { - display: none; -} -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button { - cursor: default; -} -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_browse { - background-position: 0px -24px; -} -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_upload { - background-position: -24px -24px; -} -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_cancel { - background-position: -72px -24px; -} -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_clear { - background-position: -48px -24px; -} -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file_param.dhx_file_delete { - background-position: -108px 1px; - cursor: default; -} -.dhxform_obj_material div.dhxform_image { - position: relative; - overflow: hidden; - border: 1px solid #dfdfdf; -} -.dhxform_obj_material div.dhxform_image img.dhxform_image_img { - position: absolute; -} -.dhxform_obj_material div.dhxform_image div.dhxform_image_wrap { - position: absolute; - background-color: white; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - overflow: hidden; - *border: 1px solid white; - *height: 1000px; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); - -webkit-transition: opacity 0.6s; - -moz-transition: opacity 0.6s; - -ms-transition: opacity 0.6s; - -o-transition: opacity 0.6s; - transition: opacity 0.6s; -} -.dhxform_obj_material div.dhxform_image div.dhxform_image_wrap.dhxform_image_in_progress { - background-image: url("../imgs/dhxform_material/dhxform_image_uploading.gif"); - background-position: center center; - background-repeat: no-repeat; - *border-width: 0px; - *height: 100%; - opacity: 0.85; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=85); - -webkit-transition: opacity 0.1s; - -moz-transition: opacity 0.1s; - -ms-transition: opacity 0.1s; - -o-transition: opacity 0.1s; - transition: opacity 0.1s; -} -.dhxform_obj_material div.dhxform_image div.dhxform_image_wrap.dhxform_image_in_progress form.dhxform_image_form { - display: none; -} -.dhxform_obj_material div.dhxform_image div.dhxform_image_wrap form.dhxform_image_form { - position: absolute; - top: 0px; - right: 0px; - cursor: pointer; -} -.dhxform_obj_material div.dhxform_image div.dhxform_image_wrap form.dhxform_image_form input.dhxform_image_input { - cursor: pointer; - outline: none; - height: 1000px; - font-size: 100px; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxform_obj_material div.disabled div.dhxform_image { - border-color: #f9f9f9; -} -.dhxform_obj_material div.disabled div.dhxform_image img.dhxform_image_img { - opacity: 0.5; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50); -} -.dhxform_obj_material div.disabled div.dhxform_image div.dhxform_image_wrap { - cursor: default; -} -.dhxform_obj_material div.disabled div.dhxform_image form.dhxform_image_form { - display: none; -} -div.dhx_form_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 40px; - height: 10px; - overflow: hidden; -} diff --git a/themes/sources/dhtmlxGrid/codebase/dhtmlxgrid.js b/themes/sources/dhtmlxGrid/codebase/dhtmlxgrid.js deleted file mode 100644 index e27dd51..0000000 --- a/themes/sources/dhtmlxGrid/codebase/dhtmlxgrid.js +++ /dev/null @@ -1,8439 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -//latest dev. version - -/*_TOPICS_ -@0:initialization -@1:selection control -@2:rows control -@3:colums control -@4:cells controll -@5:data manipulation -@6:appearence control -@7:overal control -@8:tools -@9:treegrid -@10: event handlers -@11: paginal output -*/ - -var globalActiveDHTMLGridObject; -String.prototype._dhx_trim=function(){ - return this.replace(/ /g, " ").replace(/(^[ \t]*)|([ \t]*$)/g, ""); -} - -function dhtmlxArray(ar){ - return dhtmlx.extend((ar||new Array()), dhtmlxArray._master); -}; -dhtmlxArray._master={ - _dhx_find:function(pattern){ - for (var i = 0; i < this.length; i++){ - if (pattern == this[i]) - return i; - } - return -1; - }, - _dhx_insertAt:function(ind, value){ - this[this.length]=null; - for (var i = this.length-1; i >= ind; i--) - this[i]=this[i-1] - this[ind]=value - }, - _dhx_removeAt:function(ind){ - this.splice(ind,1) - }, - _dhx_swapItems:function(ind1, ind2){ - var tmp = this[ind1]; - this[ind1]=this[ind2] - this[ind2]=tmp; - } -} - -/** -* @desc: dhtmlxGrid constructor -* @param: id - (optional) id of div element to base grid on -* @returns: dhtmlxGrid object -* @type: public -*/ -function dhtmlXGridObject(id){ - if (dhtmlxEvent.initTouch) - dhtmlxEvent.initTouch(); - - if (_isIE) - try{ - document.execCommand("BackgroundImageCache", false, true); - } - catch (e){} - - if (id){ - if (typeof (id) == 'object'){ - this.entBox=id - if (!this.entBox.id) this.entBox.id="cgrid2_"+this.uid(); - } else - this.entBox=document.getElementById(id); - } else { - this.entBox=document.createElement("DIV"); - this.entBox.id="cgrid2_"+this.uid(); - } - this.entBox.innerHTML=""; - dhx4._eventable(this); - - var self = this; - - this._RaSeCol=[]; - this._wcorr=0; - this.fontWidth = 7; - this.cell=null; - this.row=null; - this.iconURL=""; - this.editor=null; - this._f2kE=true; - this._dclE=true; - this.combos=new Array(0); - this.defVal=new Array(0); - this.rowsAr={ - }; - - this.rowsBuffer=dhtmlxArray(); - this.rowsCol=dhtmlxArray(); //array of rows by index - - this._data_cache={ - }; - - this._ecache={ - } - - this._ud_enabled=true; - this.xmlLoader=this.doLoadDetails; - - this._maskArr=[]; - this.selectedRows=dhtmlxArray(); //selected rows array - - this.UserData={};//hash of row related userdata (and for grid - "gridglobaluserdata") - this._sizeFix=this._borderFix=0; - /*MAIN OBJECTS*/ - - this.entBox.className+=" gridbox"; - - this.entBox.style.width=this.entBox.getAttribute("width") - ||(window.getComputedStyle - ? (this.entBox.style.width||window.getComputedStyle(this.entBox, null)["width"]) - : (this.entBox.currentStyle - ? this.entBox.currentStyle["width"] - : this.entBox.style.width||0)) - ||"100%"; - - this.entBox.style.height=this.entBox.getAttribute("height") - ||(window.getComputedStyle - ? (this.entBox.style.height||window.getComputedStyle(this.entBox, null)["height"]) - : (this.entBox.currentStyle - ? this.entBox.currentStyle["height"] - : this.entBox.style.height||0)) - ||"100%"; - //cursor and text selection - this.entBox.style.cursor='default'; - - this.entBox.onselectstart=function(){ - return false - }; //avoid text select - var t_creator=function(name){ - var t=document.createElement("TABLE"); - t.cellSpacing=t.cellPadding=0; - t.style.cssText='width:100%;table-layout:fixed;'; - t.className=name.substr(2); - return t; - } - this.obj=t_creator("c_obj"); - this.hdr=t_creator("c_hdr"); - this.hdr.style.marginRight="20px"; - if(!dhx.isChrome) - this.hdr.style.paddingRight="20px"; - - this.objBox=document.createElement("DIV"); - this.objBox.style.width="100%"; - this.objBox.style.overflow="auto"; - this.objBox.appendChild(this.obj); - this.objBox.className="objbox"; - - if (dhtmlx.$customScroll) - dhtmlx.CustomScroll.enable(this); - - this.hdrBox=document.createElement("DIV"); - this.hdrBox.style.width="100%" - this.hdrBox.style.height="25px"; - this.hdrBox.style.overflow="hidden"; - this.hdrBox.className="xhdr"; - - - this.preloadImagesAr=new Array(0) - - this.sortImg=document.createElement("DIV") - this.sortImg.style.display="none"; - - this.hdrBox.appendChild(this.sortImg) - this.hdrBox.appendChild(this.hdr); - this.hdrBox.style.position="relative"; - - this.entBox.appendChild(this.hdrBox); - this.entBox.appendChild(this.objBox); - - //add links to current object - this.entBox.grid=this; - this.objBox.grid=this; - this.hdrBox.grid=this; - this.obj.grid=this; - this.hdr.grid=this; - - /*PROPERTIES*/ - this.cellWidthPX=[]; //current width in pixels - this.cellWidthPC=[]; //width in % if cellWidthType set in pc - this.cellWidthType=this.entBox.cellwidthtype||"px"; //px or % - - this.delim=this.entBox.delimiter||","; - this._csvDelim=","; - - this.hdrLabels=[]; - this.columnIds=[]; - this.columnColor=[]; - this._hrrar=[]; - this.cellType=dhtmlxArray(); - this.cellAlign=[]; - this.initCellWidth=[]; - this.fldSort=[]; - this._srdh=(_isIE && (document.compatMode != "BackCompat") ? 22 : 20); - this.imgURL=window.dhx_globalImgPath||""; - this.isActive=false; //fl to indicate if grid is in work now - this.isEditable=true; - this.useImagesInHeader=false; //use images in header or not - this.pagingOn=false; //paging on/off - this.rowsBufferOutSize=0; //number of rows rendered at a moment - /*EVENTS*/ - dhtmlxEvent(window, "unload", function(){ - try{ - if (self.destructor) self.destructor(); - } - catch (e){} - }); - - /*XML LOADER(S)*/ - /** - * @desc: set one of predefined css styles (xp, mt, gray, light, clear, modern) - * @param: name - style name - * @type: public - * @topic: 0,6 - */ - this.setSkin=function(name){ - this._srdh=window.dhx4.readFromCss("dhxgrid_rh_"+name)+4; - this.skin_name=name; - if (this._imgURL) - this.setImagePath(this._imgURL); - - var classname = this.entBox.className.split(" gridbox")[0]; - this.entBox.className=classname + " gridbox gridbox_"+name+(_isIE?" isIE":" isModern"); - this.skin_h_correction=0; - - //#alter_css:06042008{ - this.enableAlterCss("ev_"+name, "odd_"+name, this.isTreeGrid()) - this._fixAlterCss() - //#} - switch (name){ - case "dhx_terrace": - case "material": - this._srdh=33; - this.forceDivInHeader=true; - break; - - case "dhx_web": - case "material": - this.forceDivInHeader=true; - this._srdh = 31; - break; - - case "dhx_skyblue": - this.forceDivInHeader=true; - break; - } - - if (_isIE&&this.hdr){ - var d = this.hdr.parentNode; - d.removeChild(this.hdr); - d.appendChild(this.hdr); - } - this.setSizes(); - } - - if (_isIE) - this.preventIECaching(true); - if (window.dhtmlDragAndDropObject) - this.dragger=new dhtmlDragAndDropObject(); - - /*METHODS. SERVICE*/ - /** - * @desc: on scroll grid inner actions - * @type: private - * @topic: 7 - */ - this._doOnScroll=function(e, mode){ - this.callEvent("onScroll", [ - this.objBox.scrollLeft, - this.objBox.scrollTop - ]); - - this.doOnScroll(e, mode); - } - /** - * @desc: on scroll grid more inner action - * @type: private - * @topic: 7 - */ - this.doOnScroll=function(e, mode){ - var box = this.hdrBox; - box._try_header_sync = true; - setTimeout(function(){ - box._try_header_sync = false; - },2000); - - this.hdrBox.scrollLeft=this.objBox.scrollLeft; - if (this.ftr) - this.ftr.parentNode.scrollLeft=this.objBox.scrollLeft; - - if (mode) - return; - - if (this._srnd){ - if (this._dLoadTimer) - window.clearTimeout(this._dLoadTimer); - this._dLoadTimer=window.setTimeout(function(){ - if (self._update_srnd_view) - self._update_srnd_view(); - }, 100); - } - } - /** - * @desc: attach grid to some object in DOM - * @param: obj - object to attach to - * @type: public - * @topic: 0,7 - */ - this.attachToObject=function(obj){ - obj.appendChild(this.globalBox?this.globalBox:this.entBox); - //this.objBox.style.height=this.entBox.style.height; - this.setSizes(); - } - /** - * @desc: initialize grid - * @param: fl - if to parse on page xml data island - * @type: public - * @topic: 0,7 - */ - this.init=function(fl){ - if ((this.isTreeGrid())&&(!this._h2)){ - this._h2=this._createHierarchy(); - - if ((this._fake)&&(!this._realfake)) - this._fake._h2=this._h2; - this._tgc={ - imgURL: null - }; - } - - if (!this._hstyles) - return; - - if (!this.skin_name) - this.setSkin(window.dhx4.skin||(typeof(dhtmlx)!="undefined"?dhtmlx.skin:null)||window.dhx4.skinDetect("dhxgrid")||"material"); - - this.editStop() - /*TEMPORARY STATES*/ - this.lastClicked=null; //row clicked without shift key. used in multiselect only - this.resized=null; //hdr cell that is resized now - this.fldSorted=this.r_fldSorted=null; //hdr cell last sorted - //empty grid if it already was initialized - this.cellWidthPX=[]; - this.cellWidthPC=[]; - - if (this.hdr.rows.length > 0){ - var temp = this.xmlFileUrl; - this.clearAll(true); - this.xmlFileUrl = temp; - } - - var hdrRow = this.hdr.insertRow(0); - - for (var i = 0; i < this.hdrLabels.length; i++){ - hdrRow.appendChild(document.createElement("TH")); - hdrRow.childNodes[i]._cellIndex=i; - hdrRow.childNodes[i].style.height="0px"; - } - - if (_isIE && _isIE<8 && document.body.style.msTouchAction == this.undefined) - hdrRow.style.position="absolute"; - else - hdrRow.style.height='auto'; - - var hdrRow = this.hdr.insertRow(_isKHTML ? 2 : 1); - - hdrRow._childIndexes=new Array(); - var col_ex = 0; - - for (var i = 0; i < this.hdrLabels.length; i++){ - hdrRow._childIndexes[i]=i-col_ex; - - if ((this.hdrLabels[i] == this.splitSign)&&(i != 0)){ - if (_isKHTML) - hdrRow.insertCell(i-col_ex); - hdrRow.cells[i-col_ex-1].colSpan=(hdrRow.cells[i-col_ex-1].colSpan||1)+1; - hdrRow.childNodes[i-col_ex-1]._cellIndex++; - col_ex++; - hdrRow._childIndexes[i]=i-col_ex; - continue; - } - - hdrRow.insertCell(i-col_ex); - - hdrRow.childNodes[i-col_ex]._cellIndex=i; - hdrRow.childNodes[i-col_ex]._cellIndexS=i; - this.setColumnLabel(i, this.hdrLabels[i]); - } - - if (col_ex == 0) - hdrRow._childIndexes=null; - this._cCount=this.hdrLabels.length; - - if (_isIE) - window.setTimeout(function(){ - if (self.setSizes) - self.setSizes(); - }, 1); - - //create virtual top row - if (!this.obj.firstChild) - this.obj.appendChild(document.createElement("TBODY")); - - var tar = this.obj.firstChild; - - if (!tar.firstChild){ - tar.appendChild(document.createElement("TR")); - tar=tar.firstChild; - - if (_isIE && _isIE<8 && document.body.style.msTouchAction == this.undefined) - tar.style.position="absolute"; - else - tar.style.height='auto'; - - for (var i = 0; i < this.hdrLabels.length; i++){ - tar.appendChild(document.createElement("TH")); - tar.childNodes[i].style.height="0px"; - } - } - - this._c_order=null; - - if (this.multiLine != true) - this.obj.className+=" row20px"; - - // - //this.combos = new Array(this.hdrLabels.length); - //set sort image to initial state - this.sortImg.style.position="absolute"; - this.sortImg.style.display="none"; - this.sortImg.className = "dhxgrid_sort_desc"; - this.sortImg.defLeft=0; - - if (this.noHeader){ - this.hdrBox.style.display='none'; - } - else { - this.noHeader=false - } - //#__pro_feature:21092006{ - //#column_hidden:21092006{ - if (this._ivizcol) - this.setColHidden(); - //#} - //#} - //#header_footer:06042008{ - this.attachHeader(); - this.attachHeader(0, 0, "_aFoot"); - //#} - this.setSizes(); - - if (fl) - this.parseXML() - this.obj.scrollTop=0 - - if (this.dragAndDropOff) - this.dragger.addDragLanding(this.entBox, this); - - if (this._initDrF) - this._initD(); - - dhx4.callEvent("onGridCreated", [this]); - }; - - this.setColumnSizes=function(gridWidth){ - var summ = 0; - var fcols = []; //auto-size columns - - var fix = 0; - for (var i = 0; i < this._cCount; i++){ - if ((this.initCellWidth[i] == "*") && !this._hrrar[i]){ - this._awdth=false; //disable auto-width - fcols.push(i); - continue; - } - - if (this.cellWidthType == '%'){ - if (typeof this.cellWidthPC[i]=="undefined") - this.cellWidthPC[i]=this.initCellWidth[i]; - var cwidth = (gridWidth*this.cellWidthPC[i]/100)||0; - if (fix>0.5){ - cwidth++; - fix--; - } - var rwidth = this.cellWidthPX[i]=Math.floor(cwidth); - var fix =fix + cwidth - rwidth; - } else{ - if (typeof this.cellWidthPX[i]=="undefined") - this.cellWidthPX[i]=this.initCellWidth[i]; - } - if (!this._hrrar[i]) - summ+=this.cellWidthPX[i]*1; - } - - //auto-size columns - if (fcols.length){ - var ms = Math.floor((gridWidth-summ)/fcols.length); - if (ms < 0) ms=1; - - for (var i = 0; i < fcols.length; i++){ - var next=Math.max((this._drsclmW ? (this._drsclmW[fcols[i]]||0) : 0),ms) - this.cellWidthPX[fcols[i]]=next; - summ+=next; - } - - if(gridWidth > summ){ - var last=fcols[fcols.length-1]; - this.cellWidthPX[last]=this.cellWidthPX[last] + (gridWidth-summ); - summ = gridWidth; - } - - this._setAutoResize(); - } - - - this.obj.style.width=summ+"px"; - this.hdr.style.width=summ+"px"; - if (this.ftr) this.ftr.style.width=summ+"px"; - - this.chngCellWidth(); - return summ; - } - - /**shz)_ - * @desc: sets sizes of grid elements - * @type: private - * @topic: 0,7 - */ - this.setSizes=function(){ - //drop processing if grid still not initialized - if ((!this.hdr.rows[0])) return; - - var quirks=this.quirks = (_isIE && document.compatMode=="BackCompat"); - var outerBorder=(this.entBox.offsetWidth-this.entBox.clientWidth)/2; - - if (!this.dontSetSizes){ - if (this.globalBox){ - if (!this.globalBox.clientWidth) return; - var ow = this.globalBox.clientWidth; - var splitOuterBorder=(this.globalBox.offsetWidth-ow)/2; - if (this._delta_x && !this._realfake){ - this.globalBox.style.width=this._delta_x; - this.globalBox.style.boxSizing = "border-box"; - var owu = this.globalBox.clientWidth; - this.entBox.style.width=Math.max(0,(owu+(quirks?splitOuterBorder*2:0))-this._fake.entBox.clientWidth)+"px"; - if (owu != this._lastTimeSplitWidth){ - this._fake._correctSplit(this._fake.entBox.clientWidth); - this._lastTimeSplitWidth = owu; - } - } - if (this._delta_y && !this._realfake){ - this.globalBox.style.height = this._delta_y; - this.entBox.style.overflow = this._fake.entBox.style.overflow="hidden"; - this.entBox.style.height = this._fake.entBox.style.height=this.globalBox.clientHeight+(quirks?splitOuterBorder*2:0)+"px"; - } - } else { - if (this._delta_x){ - /*when placed directly in TD tag, container can't use native percent based sizes, - because table auto-adjust to show all content - too clever*/ - if (this.entBox.parentNode && this.entBox.parentNode.tagName=="TD"){ - this.entBox.style.width="1px"; - this.entBox.style.width=parseInt(this._delta_x)*this.entBox.parentNode.clientWidth/100-outerBorder*2+"px"; - } else { - if (this._delta_x === "100%" || !this.entBox.parentNode) - this.entBox.style.width=this.entBox.parentNode.offsetWidth+"px"; - else - this.entBox.style.width=this._delta_x; - } - } - if (this._delta_y) - this.entBox.style.height=this._delta_y; - } - } - - //if we have container without sizes, wait untill sizes defined - window.clearTimeout(this._sizeTime); - if (!this.entBox.offsetWidth && (!this.globalBox || !this.globalBox.offsetWidth)){ - this._sizeTime=window.setTimeout(function(){ - if (self.setSizes) - self.setSizes(); - }, 250); - return; - } - - var border_x = ((!this._wthB) && ((this.entBox.cmp||this._delta_x) && ((this.skin_name||"").indexOf("dhx")==0 || this.skin_name == "material") && !quirks)?2:0); - var border_y = ((!this._wthB) && ((this.entBox.cmp||this._delta_y) && ((this.skin_name||"").indexOf("dhx")==0 || this.skin_name == "material") && !quirks)?2:0); - - if (this._sizeFix){ - border_x -= this._sizeFix; - border_y -= this._sizeFix; - } - - var isVScroll = this.parentGrid?false:(this.objBox.scrollHeight > this.objBox.offsetHeight); - - var scrfix = dhtmlx.$customScroll?0:18; - - var gridWidth=this.entBox.clientWidth-(this.skin_h_correction||0)*(quirks?0:1)-border_x; - var gridWidthActive=this.entBox.clientWidth-(this.skin_h_correction||0)-border_x; - var gridHeight=this.entBox.clientHeight-border_y; - var summ=this.setColumnSizes(gridWidthActive-(isVScroll?scrfix:0)-(this._correction_x||0)); - - var isHScroll = this.parentGrid?false:((this.objBox.scrollWidth > this.objBox.offsetWidth)||(this.objBox.style.overflowX=="scroll")); - var headerHeight = this.hdr.clientHeight; - var footerHeight = this.ftr?this.ftr.clientHeight:0; - var newWidth=gridWidth; - var newHeight=gridHeight-headerHeight-footerHeight; - - //if we have auto-width without limitations - ignore h-scroll - if (this._awdth && this._awdth[0] && this._awdth[1]==99999) isHScroll=0; - //auto-height - if (this._ahgr){ - if (this._ahgrMA) - newHeight=this.entBox.parentNode.clientHeight-headerHeight-footerHeight; - else - newHeight=this.obj.offsetHeight+(isHScroll?scrfix:0)+(this._correction_y||0); - - if (this._ahgrM){ - if (this._ahgrF) - newHeight=Math.min(this._ahgrM,newHeight+headerHeight+footerHeight)-headerHeight-footerHeight; - else - newHeight=Math.min(this._ahgrM,newHeight); - - } - if (isVScroll && newHeight>=this.obj.scrollHeight+(isHScroll?scrfix:0)){ - isVScroll=false;//scroll will be compensated; - this.setColumnSizes(gridWidthActive-(this._correction_x||0)); //correct auto-size columns - } - } - - //auto-width - if ((this._awdth)&&(this._awdth[0])){ - //convert percents to PX, because auto-width with procents has no sense - if (this.cellWidthType == '%') this.cellWidthType="px"; - - if (this._fake) summ+=this._fake.entBox.clientWidth; //include fake grid in math - var newWidth=Math.min(Math.max(summ+(isVScroll?scrfix:0),this._awdth[2]),this._awdth[1])+(this._correction_x||0); - this.objBox.style.overflowX = (!isVScroll && this.objBox.scrollWidth <= newWidth)?"hidden":"auto"; - if (this._fake) newWidth-=this._fake.entBox.clientWidth; - } - - newHeight=Math.max(0,newHeight);//validate value for IE - - //FF3.1, bug in table rendering engine - this._ff_size_delta=(this._ff_size_delta==0.1)?0.2:0.1; - if (!_isFF) this._ff_size_delta=0; - - if (!this.dontSetSizes){ - this.entBox.style.width=Math.max(0,newWidth+(quirks?2:0)*outerBorder+this._ff_size_delta)+"px"; - this.entBox.style.height=newHeight+(quirks?2:0)*outerBorder+headerHeight+footerHeight+"px"; - } - this.objBox.style.height=newHeight+((quirks&&!isVScroll)?2:0)*outerBorder+"px";//):this.entBox.style.height); - this.hdrBox.style.height=headerHeight+"px"; - - - if (newHeight != gridHeight) - this.doOnScroll(0, !this._srnd); - var ext=this["setSizes_"+this.skin_name]; - if (ext) ext.call(this); - - this.setSortImgPos(); - - //it possible that changes of size, has changed header height - if (headerHeight != this.hdr.clientHeight && this._ahgr) - this.setSizes(); - this.callEvent("onSetSizes",[]); - }; - /** - * @desc: changes cell width - * @param: [ind] - index of row in grid - * @type: private - * @topic: 4,7 - */ - this.chngCellWidth=function(){ - if ((_isOpera)&&(this.ftr)) - this.ftr.width=this.objBox.scrollWidth+"px"; - var l = this._cCount; - - for (var i = 0; i < l; i++){ - this.hdr.rows[0].cells[i].style.width=this.cellWidthPX[i]+"px"; - this.obj.rows[0].childNodes[i].style.width=this.cellWidthPX[i]+"px"; - - if (this.ftr) - this.ftr.rows[0].cells[i].style.width=this.cellWidthPX[i]+"px"; - } - } - /** - * @desc: set delimiter character used in list values (default is ",") - * @param: delim - delimiter as string - * @before_init: 1 - * @type: public - * @topic: 0 - */ - this.setDelimiter=function(delim){ - this.delim=delim; - } - /** - * @desc: set width of columns in percents - * @type: public - * @before_init: 1 - * @param: wp - list of column width in percents - * @topic: 0,7 - */ - this.setInitWidthsP=function(wp){ - this.cellWidthType="%"; - this.initCellWidth=wp.split(this.delim.replace(/px/gi, "")); - if (!arguments[1]) this._setAutoResize(); - } - /** - * @desc: - * @type: private - * @topic: 0 - */ - this._setAutoResize=function(){ - if (this._realfake) return; - var el = window; - var self = this; - - dhtmlxEvent(window,"resize",function(){ - window.clearTimeout(self._resize_timer); - if (self._setAutoResize) - self._resize_timer=window.setTimeout(function(){ - if (self.setSizes) - self.setSizes(); - if (self._fake) - self._fake._correctSplit(); - }, 100); - }); - - //prevent multiple initializations - this._setAutoResize = function(){}; - } - - - /** - * @desc: set width of columns in pixels - * @type: public - * @before_init: 1 - * @param: wp - list of column width in pixels - * @topic: 0,7 - */ - this.setInitWidths=function(wp){ - this.cellWidthType="px"; - this.initCellWidth=wp.split(this.delim); - - if (_isFF){ - for (var i = 0; i < this.initCellWidth.length; i++) - if (this.initCellWidth[i] != "*") - this.initCellWidth[i]=parseInt(this.initCellWidth[i]); - } - } - - /** - * @desc: set multiline rows support to enabled or disabled state - * @type: public - * @before_init: 1 - * @param: state - true or false - * @topic: 0,7 - */ - this.enableMultiline=function(state){ - this.multiLine=dhx4.s2b(state); - } - - /** - * @desc: set multiselect mode to enabled or disabled state - * @type: public - * @param: state - true or false - * @topic: 0,7 - */ - this.enableMultiselect=function(state){ - this.selMultiRows=dhx4.s2b(state); - } - - /** - * @desc: set path to grid internal images (sort direction, any images used in editors, checkbox, radiobutton) - * @type: public - * @param: path - url (or relative path) of images folder with closing "/" - * @topic: 0,7 - */ - this.setImagePath=function(path){ - path = path.replace(/imgs\/dhxgrid_[a-z]*\/$/,"imgs/"); - this._imgURL= path; - this.imgURL = path + "dhxgrid_"+(this.skin_name || "dhx_skyblue").replace("dhx_", "") + "/"; - this.iconTree = this.imgURL + "tree/"; - } - this.setImagesPath=this.setImagePath; - /** - * @desc: set path to external images used in grid ( tree and img column types ) - * @type: public - * @param: path - url (or relative path) of images folder with closing "/" - * @topic: 0,7 - */ - this.setIconPath=function(path){ - this.iconURL=path; - } - this.setIconsPath=this.setIconPath; - //#column_resize:06042008{ - /** - * @desc: part of column resize routine - * @type: private - * @param: ev - event - * @topic: 3 - */ - this.changeCursorState=function(ev){ - var el = ev.target||ev.srcElement; - - if (el.tagName != "TD") - el=this.getFirstParentOfType(el, "TD") - if (!el) return; - if ((el.tagName == "TD")&&(this._drsclmn)&&(!this._drsclmn[el._cellIndex])) - return el.style.cursor="default"; - var check = (ev.layerX||0)+(((!_isIE)&&(ev.target.tagName == "DIV")) ? el.offsetLeft : 0); - if ((el.offsetWidth-(ev.offsetX||(parseInt(this.getPosition(el, this.hdrBox))-check)*-1)) < (_isOpera?20:10)){ - el.style.cursor="E-resize"; - } - else{ - el.style.cursor="default"; - } - - if (_isOpera) - this.hdrBox.scrollLeft=this.objBox.scrollLeft; - } - /** - * @desc: part of column resize routine - * @type: private - * @param: ev - event - * @topic: 3 - */ - this.startColResize=function(ev){ - if (this.resized) this.stopColResize(); - this.resized=null; - var el = ev.target||ev.srcElement; - if (el.tagName != "TD") - el=this.getFirstParentOfType(el, "TD") - var x = ev.clientX; - var tabW = this.hdr.offsetWidth; - var startW = parseInt(el.offsetWidth) - - if (el.tagName == "TD"&&el.style.cursor != "default"){ - if ((this._drsclmn)&&(!this._drsclmn[el._cellIndex])) - return; - - self._old_d_mm=document.body.onmousemove; - self._old_d_mu=document.body.onmouseup; - document.body.onmousemove=function(e){ - if (self) - self.doColResize(e||window.event, el, startW, x, tabW) - } - document.body.onmouseup=function(){ - if (self) - self.stopColResize(); - } - } - } - /** - * @desc: part of column resize routine - * @type: private - * @param: ev - event - * @topic: 3 - */ - this.stopColResize=function(){ - document.body.onmousemove=self._old_d_mm||""; - document.body.onmouseup=self._old_d_mu||""; - this.setSizes(); - this.doOnScroll(0, 1) - this.callEvent("onResizeEnd", [this]); - } - /** - * @desc: part of column resize routine - * @param: el - element (column resizing) - * @param: startW - started width - * @param: x - x coordinate to resize from - * @param: tabW - started width of header table - * @type: private - * @topic: 3 - */ - this.doColResize=function(ev, el, startW, x, tabW){ - el.style.cursor="E-resize"; - this.resized=el; - var fcolW = startW+(ev.clientX-x); - var wtabW = tabW+(ev.clientX-x) - - if (!(this.callEvent("onResize", [ - el._cellIndex, - fcolW, - this - ]))) - return; - - if (_isIE) - this.objBox.scrollLeft=this.hdrBox.scrollLeft; - - var result = false; - if (el.colSpan > 1){ - var a_sizes = new Array(); - - for (var i = 0; - i < el.colSpan; - i++)a_sizes[i]=Math.round(fcolW*this.hdr.rows[0].childNodes[el._cellIndexS+i].offsetWidth/el.offsetWidth); - - for (var i = 0; i < el.colSpan; i++) - result = this._setColumnSizeR(el._cellIndexS+i*1, a_sizes[i]); - } else - result = this._setColumnSizeR(el._cellIndex, fcolW); - this.doOnScroll(0, 1); - - this.setSizes(); - if (this._fake && this._awdth) this._fake._correctSplit(); - - return result; - } - - /** - * @desc: set width of grid columns ( zero row of header and body ) - * @type: private - * @topic: 7 - */ - this._setColumnSizeR=function(ind, fcolW){ - if (fcolW > ((this._drsclmW&&!this._notresize) ? (this._drsclmW[ind]||10) : 10)){ - this.obj.rows[0].childNodes[ind].style.width=fcolW+"px"; - this.hdr.rows[0].childNodes[ind].style.width=fcolW+"px"; - - if (this.ftr) - this.ftr.rows[0].childNodes[ind].style.width=fcolW+"px"; - - if (this.cellWidthType == 'px'){ - this.cellWidthPX[ind]=fcolW; - } - else { - var gridWidth = parseInt(this.entBox.offsetWidth); - - if (this.objBox.scrollHeight > this.objBox.offsetHeight) - gridWidth-=17; - var pcWidth = Math.round(fcolW / gridWidth*100) - this.cellWidthPC[ind]=pcWidth; - } - if (this.sortImg.style.display!="none") - this.setSortImgPos(); - } else return false; - } - //#} - //#sorting:06042008{ - /** - * @desc: sets position and visibility of sort arrow - * @param: state - true/false - show/hide image - * @param: ind - index of field - * @param: order - asc/desc - type of image - * @param: row - one based index of header row ( used in multirow headers, top row by default ) - * @type: public - * @topic: 7 - */ - this.setSortImgState=function(state, ind, order, row){ - order=(order||"asc").toLowerCase(); - - if (!dhx4.s2b(state)){ - this.sortImg.style.display="none"; - if (this.r_fldSorted) - this.r_fldSorted.className = ""; - this.fldSorted=this.r_fldSorted = null; - return; - } - - if (order == "asc") - this.sortImg.className = "dhxgrid_sort_asc"; - else - this.sortImg.className = "dhxgrid_sort_desc"; - - this.sortImg.style.display=""; - this.fldSorted=this.hdr.rows[0].childNodes[ind]; - var r = this.hdr.rows[row||1]; - if (!r) return; - - for (var i = 0; i < r.childNodes.length; i++){ - if (r.childNodes[i]._cellIndexS == ind){ - this.r_fldSorted=r.childNodes[i]; - return this.setSortImgPos(); - } - } - return this.setSortImgState(state,ind,order,(row||1)+1); - } - - /** - * @desc: sets position and visibility of sort arrow - * @param: ind - index of field - * @param: ind - index of field - * @param: hRowInd - index of row in case of complex header, one-based, optional - - * @type: private - * @topic: 7 - */ - this.setSortImgPos=function(ind, mode, hRowInd, el){ - if (this._hrrar && this._hrrar[this.r_fldSorted?this.r_fldSorted._cellIndex:ind]) return; - if (this.ar_fldSorted) - this.ar_fldSorted.className = ""; - - if (!el){ - if (!ind) - var el = this.r_fldSorted; - else - var el = this.hdr.rows[hRowInd||0].cells[ind]; - } - - if (el != null){ - var pos = this.getPosition(el, this.hdrBox) - var wdth = el.offsetWidth; - this.ar_fldSorted = el; - el.className = this.sortImg.className+"_col"; - - this.sortImg.style.left=Number(pos[0]+wdth-13)+"px"; //Number(pos[0]+5)+"px"; - this.sortImg.defLeft=parseInt(this.sortImg.style.left) - this.sortImg.style.top=Number(pos[1]+5)+"px"; - - if ((!this.useImagesInHeader)&&(!mode)) - this.sortImg.style.display="inline"; - this.sortImg.style.left=this.sortImg.defLeft+"px"; //-parseInt(this.hdrBox.scrollLeft) - } - } - //#} - /** - * @desc: manage activity of the grid. - * @param: fl - true to activate,false to deactivate - * @type: private - * @topic: 1,7 - */ - this.setActive=function(fl){ - if (arguments.length == 0) - var fl = true; - - if (fl == true){ - //document.body.onkeydown = new Function("","document.getElementById('"+this.entBox.id+"').grid.doKey()")// - if (globalActiveDHTMLGridObject&&(globalActiveDHTMLGridObject != this)){ - globalActiveDHTMLGridObject.editStop(); - globalActiveDHTMLGridObject.callEvent("onBlur",[globalActiveDHTMLGridObject]); - } - - globalActiveDHTMLGridObject=this; - this.isActive=true; - } else { - this.isActive=false; - this.callEvent("onBlur",[this]); - } - }; - /** - * @desc: called on click occured - * @type: private - */ - this._doClick=function(ev){ - var selMethod = 0; - var el = this.getFirstParentOfType(_isIE ? ev.srcElement : ev.target, "TD"); - if (!el || !el.parentNode || !el.parentNode.idd) return; - var fl = true; - - //mm - //markers start - if (this.markedCells){ - var markMethod = 0; - - if (ev.shiftKey||ev.metaKey){ - markMethod=1; - } - - if (ev.ctrlKey){ - markMethod=2; - } - this.doMark(el, markMethod); - return true; - } - //markers end - //mm - - if (this.selMultiRows != false){ - if (ev.shiftKey && this.row != null && this.selectedRows.length){ - selMethod=1; - } - - if (ev.ctrlKey||ev.metaKey){ - selMethod=2; - } - } - return this.doClick(el, fl, selMethod, false) - }; - - //#context_menu:06042008{ - /** - * @desc: called onmousedown inside grid area - * @type: private - */ - this._doContClick=function(ev){ - var el = this.getFirstParentOfType(_isIE ? ev.srcElement : ev.target, "TD"); - - if ((!el)||( typeof (el.parentNode.idd) == "undefined")){ - this.callEvent("onEmptyClick", [ev]); - return true; - } - - if (ev.button == 2||(_isMacOS&&ev.ctrlKey)){ - if (!this.callEvent("onRightClick", [ - el.parentNode.idd, - el._cellIndex, - ev - ])){ - var z = function(e){ - (e||event).cancelBubble=true; - return false; - }; - - (ev.srcElement||ev.target).oncontextmenu=z; - return z(ev); - } - - if (this._ctmndx){ - if (!(this.callEvent("onBeforeContextMenu", [ - el.parentNode.idd, - el._cellIndex, - this - ]))) - return true; - - if (_isIE) - ev.srcElement.oncontextmenu=function(){ - event.cancelBubble=true; - return false; - }; - - if (this._ctmndx.showContextMenu){ - - var dEl0=window.document.documentElement; - var dEl1=window.document.body; - var corrector = new Array((dEl0.scrollLeft||dEl1.scrollLeft),(dEl0.scrollTop||dEl1.scrollTop)); - if (_isIE){ - var x= ev.clientX+corrector[0]; - var y = ev.clientY+corrector[1]; - } else { - var x= ev.pageX; - var y = ev.pageY; - } - this._ctmndx.showContextMenu(x-1,y-1) - this.contextID=this._ctmndx.contextMenuZoneId=el.parentNode.idd+"_"+el._cellIndex; - this._ctmndx._skip_hide=true; - } else { - el.contextMenuId=el.parentNode.idd+"_"+el._cellIndex; - el.contextMenu=this._ctmndx; - el.a=this._ctmndx._contextStart; - el.a(el, ev); - el.a=null; - } - ev.cancelBubble=true; - return false; - } - } - - else if (this._ctmndx){ - if (this._ctmndx.hideContextMenu) - this._ctmndx.hideContextMenu() - else - this._ctmndx._contextEnd(); - } - return true; - } - //#} - /** - * @desc: occures on cell click (supports treegrid) - * @param: [el] - cell to click on - * @param: [fl] - true if to call onRowSelect function - * @param: [selMethod] - 0 - simple click, 1 - shift, 2 - ctrl - * @param: show - true/false - scroll row to view, true by defaul - * @type: private - * @topic: 1,2,4,9 - */ - this.doClick=function(el, fl, selMethod, show){ - if (!this.selMultiRows) selMethod=0; //block programmatical multiselecton if mode not enabled explitly - var psid = this.row ? this.row.idd : 0; - - this.setActive(true); - - if (!selMethod) - selMethod=0; - - if (this.cell != null) - this.cell.className=this.cell.className.replace(/[ \t]*cellselected/g, ""); - - if (el.tagName == "TD"){ - if (this.checkEvent("onSelectStateChanged")) - var initial = this.getSelectedId(); - var prow = this.row; - if (selMethod == 1){ - var elRowIndex = this.rowsCol._dhx_find(el.parentNode) - var lcRowIndex = this.rowsCol._dhx_find(this.lastClicked) - - if (elRowIndex > lcRowIndex){ - var strt = lcRowIndex; - var end = elRowIndex; - } else { - var strt = elRowIndex; - var end = lcRowIndex; - } - - for (var i = 0; i < this.rowsCol.length; i++) - if ((i >= strt&&i <= end)){ - if (this.rowsCol[i]&&(!this.rowsCol[i]._sRow)){ - if (!this.rowsCol[i].idd) continue; - if (this.rowsCol[i].className.indexOf("rowselected") - == -1&& (this.callEvent("onBeforeSelect", [ - this.rowsCol[i].idd, - psid, - el._cellIndex - ]))){ - this.rowsCol[i].className+=" rowselected"; - this.selectedRows[this.selectedRows.length]=this.rowsCol[i] - } - } else { - this.clearSelection(); - return this.doClick(el, fl, 0, show); - } - } - } else if (selMethod == 2){ - if (el.parentNode.className.indexOf("rowselected") != -1){ - el.parentNode.className=el.parentNode.className.replace(/[ \t]*rowselected/g, ""); - this.selectedRows._dhx_removeAt(this.selectedRows._dhx_find(el.parentNode)) - var skipRowSelection = true; - show = false; - } - } - this.editStop() - if (typeof (el.parentNode.idd) == "undefined") - return true; - - if ((!skipRowSelection)&&(!el.parentNode._sRow)){ - if (this.callEvent("onBeforeSelect", [ - el.parentNode.idd, - psid, - el._cellIndex - ])){ - if (this.getSelectedRowId() != el.parentNode.idd){ - if (selMethod == 0) - this.clearSelection(); - this.cell=el; - if ((prow == el.parentNode)&&(this._chRRS)) - fl=false; - this.row=el.parentNode; - this.row.className+=" rowselected" - - if (this.selectedRows._dhx_find(this.row) == -1) - this.selectedRows[this.selectedRows.length]=this.row; - } else { - this.cell=el; - this.row = el.parentNode; - } - } else fl = false; - } - - if (this.cell && this.cell.parentNode.className.indexOf("rowselected") != -1) - this.cell.className=this.cell.className.replace(/[ \t]*cellselected/g, "")+" cellselected"; - - if (selMethod != 1) - if (!this.row) - return; - this.lastClicked=el.parentNode; - - var rid = this.row.idd; - var cid = this.cell; - - if (fl&& typeof (rid) != "undefined" && cid && !skipRowSelection) { - self.onRowSelectTime=setTimeout(function(){ - if (self.callEvent) - self.callEvent("onRowSelect", [ - rid, - cid._cellIndex - ]); - }, 100); - } else this.callEvent("onRowSelectRSOnly",[rid]); - - if (this.checkEvent("onSelectStateChanged")){ - var afinal = this.getSelectedId(); - - if (initial != afinal) - this.callEvent("onSelectStateChanged", [afinal,initial]); - } - - if (skipRowSelection) return false; - } - this.isActive=true; - if (show !== false && this.cell && this.cell.parentNode.idd) - this.moveToVisible(this.cell) - } - - /** - * @desc: select all rows in grid, it doesn't fire any events - * @param: edit - switch selected cell to edit mode - * @type: public - * @topic: 1,4 - */ - this.selectAll=function(){ - this.clearSelection(); - - var coll = this.rowsBuffer; - //in paging mode, we select only current page - if (this.pagingOn) coll = this.rowsCol; - for (var i = 0; i (this.objBox.offsetWidth+this.objBox.scrollLeft)){ - if (cell_obj.offsetLeft > this.objBox.scrollLeft) - scrollLeft= cell_obj.offsetLeft - (this.objBox.offsetWidth - cell_obj.offsetWidth) +5 - } else if (cell_obj.offsetLeft < this.objBox.scrollLeft){ - distance-=cell_obj.offsetWidth*2/3; - if (distance < this.objBox.scrollLeft) - scrollLeft=cell_obj.offsetLeft-5 - } - - if ((scrollLeft)&&(!onlyVScroll)) - this.objBox.scrollLeft=scrollLeft; - } - - - if (!cell_obj.offsetHeight){ - var mask=this._realfake?this._fake.rowsAr[cell_obj.parentNode.idd]:cell_obj.parentNode; - distance = this.rowsBuffer._dhx_find(mask)*this._srdh; - } - else - distance = cell_obj.offsetTop; - var distancemax = distance + cell_obj.offsetHeight+38; - - if (distancemax > (this.objBox.offsetHeight+this.objBox.scrollTop)){ - var scrollTop = distancemax-this.objBox.offsetHeight; - } else if (distance < this.objBox.scrollTop){ - var scrollTop = distance-5 - } - - if (scrollTop) - this.objBox.scrollTop=scrollTop; - } - catch (er){} - } - /** - * @desc: creates Editor object and switch cell to edit mode if allowed - * @type: public - * @topic: 4 - */ - this.editCell = function(){ - if (this.editor&&this.cell == this.editor.cell) - return; //prevent reinit for same cell - - this.editStop(); - - if ((this.isEditable != true)||(!this.cell)) - return false; - var c = this.cell; - - //#locked_row:11052006{ - if (c.parentNode._locked) - return false; - //#} - - this.editor=this.cells4(c); - - //initialize editor - if (this.editor != null){ - if (this.editor.isDisabled()){ - this.editor=null; - return false; - } - - if (this.callEvent("onEditCell", [ - 0, - this.row.idd, - this.cell._cellIndex - ]) != false&&this.editor.edit){ - this._Opera_stop=(new Date).valueOf(); - c.className += " editable"; - this.editor.edit(); - this.callEvent("onEditCell", [ - 1, - this.row.idd, - this.cell._cellIndex - ]) - } else { //preserve editing - this.editor=null; - } - } - } - /** - * @desc: retuns value from editor(if presents) to cell and closes editor - * @mode: if true - current edit value will be reverted to previous one - * @type: public - * @topic: 4 - */ - this.editStop=function(mode){ - if (_isOpera) - if (this._Opera_stop){ - if ((this._Opera_stop*1+50) > (new Date).valueOf()) - return; - - this._Opera_stop=null; - } - - if (this.editor&&this.editor != null){ - this.editor.cell.className=this.editor.cell.className.replace("editable", ""); - - if (mode){ - var t = this.editor.val; - this.editor.detach(); - this.editor.setValue(t); - this.editor=null; - - this.callEvent("onEditCancel", [ - this.row.idd, - this.cell._cellIndex, - t - ]); - return; - } - - if (this.editor.detach()) - this.cell.wasChanged=true; - - var g = this.editor; - if (g == null) return; - - this.editor=null; - var z = this.callEvent("onEditCell", [ - 2, - this.row.idd, - this.cell._cellIndex, - g.getValue(), - g.getOldValue() - ]); - - if (( typeof (z) == "string")||( typeof (z) == "number")) - g[g.setImage ? "setLabel" : "setValue"](z); - - else if (!z) - g[g.setImage ? "setLabel" : "setValue"](g.val); - - if (this._ahgr && this.multiLine) this.setSizes(); - } - } - /** - * @desc: - * @type: private - */ - this._nextRowCell=function(row, dir, pos){ - row=this._nextRow((this._groups?this.rowsCol:this.rowsBuffer)._dhx_find(row), dir); - - if (!row) - return null; - - return row.childNodes[row._childIndexes ? row._childIndexes[pos] : pos]; - } - /** - * @desc: - * @type: private - */ - this._getNextCell=function(acell, dir, i){ - - acell=acell||this.cell; - - var arow = acell.parentNode; - - if (this._tabOrder){ - i=this._tabOrder[acell._cellIndex]; - - if (typeof i != "undefined") - if (i < 0) - acell=this._nextRowCell(arow, dir, Math.abs(i)-1); - else - acell=arow.childNodes[i]; - } else { - var i = acell._cellIndex+dir; - - if (i >= 0&&i < this._cCount){ - if (arow._childIndexes) - i=arow._childIndexes[acell._cellIndex]+dir; - acell=arow.childNodes[i]; - } else { - - acell=this._nextRowCell(arow, dir, (dir == 1 ? 0 : (this._cCount-1))); - } - } - - if (!acell){ - if ((dir == 1)&&this.tabEnd){ - this.tabEnd.focus(); - this.tabEnd.focus(); - this.setActive(false); - } - - if ((dir == -1)&&this.tabStart){ - this.tabStart.focus(); - this.tabStart.focus(); - this.setActive(false); - } - return null; - } - - //tab out - - // tab readonly - if (acell.style.display != "none" - &&(!this.smartTabOrder||!this.cells(acell.parentNode.idd, acell._cellIndex).isDisabled())) - return acell; - return this._getNextCell(acell, dir); - // tab readonly - - } - /** - * @desc: - * @type: private - */ - this._nextRow=function(ind, dir){ - var r = this.render_row(ind+dir); - if (!r || r==-1) return null; - if (r&&r.style.display == "none") - return this._nextRow(ind+dir, dir); - - return r; - } - /** - * @desc: - * @type: private - */ - this.scrollPage=function(dir){ - if (!this.rowsBuffer.length) return; - var master = this._realfake?this._fake:this; - var new_ind = Math.floor((master._r_select||this.getRowIndex(this.row.idd)||0)+(dir)*this.objBox.offsetHeight / (this._srdh||20)); - - if (new_ind < 0) - new_ind=0; - if (new_ind >= this.rowsBuffer.length) - new_ind=this.rowsBuffer.length-1; - - if (this._srnd && !this.rowsBuffer[new_ind]){ - this.objBox.scrollTop+=Math.floor((dir)*this.objBox.offsetHeight / (this._srdh||20))*(this._srdh||20); - if (this._fake) this._fake.objBox.scrollTop = this.objBox.scrollTop; - master._r_select=new_ind; - } else { - this.selectCell(new_ind, this.cell._cellIndex, true, false,false,(this.multiLine || this._srnd)); - if (!this.multiLine && !this._srnd && !this._realfake){ - this.objBox.scrollTop=this.getRowById(this.getRowId(new_ind)).offsetTop; - if (this._fake) this._fake.objBox.scrollTop = this.objBox.scrollTop; - } - master._r_select=null; - } - } - - /** - * @desc: manages keybord activity in grid - * @type: private - * @topic: 7 - */ - this.doKey=function(ev){ - if (!ev) - return true; - - if ((ev.target||ev.srcElement).value !== window.undefined){ - var zx = (ev.target||ev.srcElement); - if (zx.className!="dhxcombo_input"&&zx.className!="dhx_tab_ignore"&&((!zx.parentNode)||(zx.parentNode.className.indexOf("editable") == -1))) - return true; - } - - if ((globalActiveDHTMLGridObject)&&(this != globalActiveDHTMLGridObject)) - return globalActiveDHTMLGridObject.doKey(ev); - - if (this.isActive == false){ - //document.body.onkeydown = ""; - return true; - } - - if (this._htkebl) - return true; - - if (!this.callEvent("onKeyPress", [ - ev.keyCode, - ev.ctrlKey, - ev.shiftKey, - ev - ])) - return false; - - var code = "k"+ev.keyCode+"_"+(ev.ctrlKey ? 1 : 0)+"_"+(ev.shiftKey ? 1 : 0); - - if (this.cell){ //if selection exists in grid only - if (this._key_events[code]){ - if (false === this._key_events[code].call(this)) - return true; - - if (ev.preventDefault) - ev.preventDefault(); - ev.cancelBubble=true; - return false; - } - - if (this._key_events["k_other"]) - this._key_events.k_other.call(this, ev); - } - - return true; - } - - /** - * @desc: selects row (and first cell of it) - * @param: r - row index or row object - * @param: fl - if true, then call function on select - * @param: preserve - preserve previously selected rows true/false (false by default) - * @param: show - true/false - scroll row to view, true by defaul - * @type: public - * @topic: 1,2 - */ - this.selectRow=function(r, fl, preserve, show){ - if (typeof (r) != 'object') - r=this.render_row(r); - this.selectCell(r, 0, fl, preserve, false, show) - }; - - /** - * @desc: called when row was double clicked - * @type: private - * @topic: 1,2 - */ - this.wasDblClicked=function(ev){ - var el = this.getFirstParentOfType(_isIE ? ev.srcElement : ev.target, "TD"); - - if (el){ - var rowId = el.parentNode.idd; - return this.callEvent("onRowDblClicked", [ - rowId, - el._cellIndex, - ev - ]); - } - } - - /** - * @desc: called when header was clicked - * @type: private - * @topic: 1,2 - */ - this._onHeaderClick=function(e, el){ - var that = this.grid; - el=el||that.getFirstParentOfType(_isIE ? event.srcElement : e.target, "TD"); - - if (this.grid.resized == null){ - if (!(this.grid.callEvent("onHeaderClick", [ - el._cellIndexS, - (e||window.event) - ]))) - return false; - //#sorting:06042008{ - that.sortField(el._cellIndexS, false, el) - //#} - } - this.grid.resized = null; - } - - /** - * @desc: deletes selected row(s) - * @type: public - * @topic: 2 - */ - this.deleteSelectedRows=function(){ - var num = this.selectedRows.length //this.obj.rows.length - - if (num == 0) - return; - - var tmpAr = this.selectedRows; - this.selectedRows=dhtmlxArray() - for (var i = num-1; i >= 0; i--){ - var node = tmpAr[i] - - if (!this.deleteRow(node.idd, node)){ - this.selectedRows[this.selectedRows.length]=node; - } - else { - if (node == this.row){ - var ind = i; - } - } - /* - this.rowsAr[node.idd] = null; - var posInCol = this.rowsCol._dhx_find(node) - this.rowsCol[posInCol].parentNode.removeChild(this.rowsCol[posInCol]);//nb:this.rowsCol[posInCol].removeNode(true); - this.rowsCol._dhx_removeAt(posInCol)*/ - } - - if (ind){ - try{ - if (ind+1 > this.rowsCol.length) //this.obj.rows.length) - ind--; - this.selectCell(ind, 0, true) - } - catch (er){ - this.row=null - this.cell=null - } - } - } - - /** - * @desc: gets selected row id - * @returns: id of selected row (list of ids with default delimiter) or null if non row selected - * @type: public - * @topic: 1,2,9 - */ - this.getSelectedRowId=function(){ - var selAr = new Array(0); - var uni = { - }; - - for (var i = 0; i < this.selectedRows.length; i++){ - var id = this.selectedRows[i].idd; - - if (uni[id]) - continue; - - selAr[selAr.length]=id; - uni[id]=true; - } - - //.. - if (selAr.length == 0) - return null; - else - return selAr.join(this.delim); - } - - /** - * @desc: gets index of selected cell - * @returns: index of selected cell or -1 if there is no selected sell - * @type: public - * @topic: 1,4 - */ - this.getSelectedCellIndex=function(){ - if (this.cell != null) - return this.cell._cellIndex; - else - return -1; - } - /** - * @desc: gets width of specified column in pixels - * @param: ind - column index - * @returns: column width in pixels - * @type: public - * @topic: 3,7 - */ - this.getColWidth=function(ind){ - return parseInt(this.cellWidthPX[ind]); - } - - /** - * @desc: sets width of specified column in pixels (soen't works with procent based grid) - * @param: ind - column index - * @param: value - new width value - * @type: public - * @topic: 3,7 - */ - this.setColWidth=function(ind, value){ - if (value == "*") - this.initCellWidth[ind] = "*"; - else { - if (this._hrrar[ind]) return; //hidden - if (this.cellWidthType == 'px') - this.cellWidthPX[ind]=parseInt(value); - else - this.cellWidthPC[ind]=parseInt(value); - } - this.setSizes(); - } - /** - * @desc: gets row index by id (grid only) - * @param: row_id - row id - * @returns: row index or -1 if there is no row with specified id - * @type: public - * @topic: 2 - */ - this.getRowIndex=function(row_id){ - for (var i = 0; i < this.rowsBuffer.length; i++) - if (this.rowsBuffer[i]&&this.rowsBuffer[i].idd == row_id) - return i; - return -1; - } - /** - * @desc: gets row id by index - * @param: ind - row index - * @returns: row id or null if there is no row with specified index - * @type: public - * @topic: 2 - */ - this.getRowId=function(ind){ - return this.rowsBuffer[ind] ? this.rowsBuffer[ind].idd : this.undefined; - } - /** - * @desc: sets new id for row by its index - * @param: ind - row index - * @param: row_id - new row id - * @type: public - * @topic: 2 - */ - this.setRowId=function(ind, row_id){ - this.changeRowId(this.getRowId(ind), row_id) - } - /** - * @desc: changes id of the row to the new one - * @param: oldRowId - row id to change - * @param: newRowId - row id to set - * @type:public - * @topic: 2 - */ - this.changeRowId=function(oldRowId, newRowId){ - if (oldRowId == newRowId) - return; - /* - for (var i=0; i]+)\].*/, "$1"); - label=label.substr(label.indexOf("]")+1, label.length) - hdrHTML+="" - } - hdrHTML+=label; - hdrHTML+="
                    "; - z.cells[col].innerHTML=hdrHTML; - - if (this._hstyles[c]) - z.cells[col].style.cssText=this._hstyles[c]; - } else { //if images in header header - z.cells[col].style.textAlign="left"; - z.cells[col].innerHTML=""; - //preload sorting headers (asc/desc) - var a = new Image(); - a.src=""+label.replace(/(\.[a-z]+)/, ".des$1"); - this.preloadImagesAr[this.preloadImagesAr.length]=a; - var b = new Image(); - b.src=""+label.replace(/(\.[a-z]+)/, ".asc$1"); - this.preloadImagesAr[this.preloadImagesAr.length]=b; - } - - if ((label||"").indexOf("#") != -1){ - var t = label.match(/(^|{)#([^}]+)(}|$)/); - - if (t){ - var tn = "_in_header_"+t[2]; - - if (this[tn]) - this[tn]((this.forceDivInHeader ? z.cells[col].firstChild : z.cells[col]), col, label.split(t[0])); - } - } - }; - this.setColLabel = function(a,b,ind,c){ - return this.setColumnLabel(a,b,(ind||0)+1,c); - }; - /** - * @desc: deletes all rows in grid - * @param: header - (boolean) enable/disable cleaning header - * @type: public - * @topic: 5,7,9 - */ - this.clearAll=function(header){ - if (!this.obj.rows[0]) return; //call before initilization - if (this._h2){ - this._h2=this._createHierarchy(); - - if (this._fake){ - if (this._realfake) - this._h2=this._fake._h2; - else - this._fake._h2=this._h2; - } - } - - this.limit=this._limitC=0; - this.editStop(true); - - if (this._dLoadTimer) - window.clearTimeout(this._dLoadTimer); - - if (this._dload){ - this.objBox.scrollTop=0; - this.limit=this._limitC||0; - this._initDrF=true; - } - - var len = this.rowsCol.length; - - //for some case - len=this.obj.rows.length; - - for (var i = len-1; i > 0; i--){ - var t_r = this.obj.rows[i]; - t_r.parentNode.removeChild(t_r); - } - - if (header){ - this._master_row=null; - this.obj.rows[0].parentNode.removeChild(this.obj.rows[0]); - - for (var i = this.hdr.rows.length-1; i >= 0; i--){ - var t_r = this.hdr.rows[i]; - t_r.parentNode.removeChild(t_r); - } - - if (this.ftr){ - this.ftr.parentNode.removeChild(this.ftr); - this.ftr=null; - } - this._aHead=this.ftr=this.cellWidth=this._aFoot=null; - this.cellType=dhtmlxArray(); - this._hrrar=[]; - this.columnIds=[]; - this.combos=[]; - this._strangeParams=[]; - this.defVal = []; - this._ivizcol = null; - } - - //.. - this.row=null; - this.cell=null; - - this.rowsCol=dhtmlxArray() - this.rowsAr={}; //array of rows by idd - this._RaSeCol=[]; - this.rowsBuffer=dhtmlxArray() - this.UserData=[] - this.selectedRows=dhtmlxArray(); - - if (this.pagingOn || this._srnd) - this.xmlFileUrl=""; - if (this.pagingOn) - this.changePage(1); - - // if (!this._fake){ - /* - if ((this._hideShowColumn)&&(this.hdr.rows[0])) - for (var i=0; i= el._cellIndex - &&this.fldSort[el._cellIndex] != 'na'){ //this.entBox.fieldstosort!="" && - var data=this.getSortingState(); - var sortType= ( data[0]==ind && data[1]=="asc" ) ? "des" : "asc"; - - if (!this.callEvent("onBeforeSorting", [ - ind, - this.fldSort[ind], - sortType - ])) - return; - this.sortImg.className="dhxgrid_sort_"+(sortType == "asc" ? "asc" : "desc"); - - //for header images - if (this.useImagesInHeader){ - var cel = this.hdr.rows[1].cells[el._cellIndex].firstChild; - - if (this.fldSorted != null){ - var celT = this.hdr.rows[1].cells[this.fldSorted._cellIndex].firstChild; - celT.src=celT.src.replace(/(\.asc\.)|(\.des\.)/, "."); - } - cel.src=cel.src.replace(/(\.[a-z]+)$/, "."+sortType+"$1") - } - //. - this.sortRows(el._cellIndex, this.fldSort[el._cellIndex], sortType) - this.fldSorted=el; - if (r_el && r_el.tagName.toLowerCase() != "th") - this.r_fldSorted=r_el; - - var c = this.hdr.rows[1]; - var c = r_el.parentNode; - var real_el = c._childIndexes ? c._childIndexes[el._cellIndex] : el._cellIndex; - this.setSortImgPos(false, false, false, r_el); - } - } - //#__pro_feature:21092006{ - //#custom_sort:21092006{ - /** - * @desc: set custom sorting (custom sort has three params - valueA,valueB,order; where order can be asc or des) - * @param: func - function to use for comparison - * @param: col - index of column to apply custom sorting to - * @type: public - * @edition: Professional - * @topic: 3 - */ - this.setCustomSorting=function(func, col){ - if (!this._customSorts) - this._customSorts=new Array(); - this._customSorts[col]=( typeof (func) == "string") ? eval(func) : func; - this.fldSort[col]="cus"; - } - //#} - //#} - //#} - /** - * @desc: specify if values passed to Header are images file names - * @param: fl - true to treat column header values as image names - * @type: public - * @before_init: 1 - * @topic: 0,3 - */ - this.enableHeaderImages=function(fl){ - this.useImagesInHeader=fl; - } - - /** - * @desc: set header label and default params for new headers - * @param: hdrStr - header string with delimiters - * @param: splitSign - string used as a split marker, optional. Default is "#cspan" - * @param: styles - array of header styles - * @type: public - * @before_init: 1 - * @topic: 0,3 - */ - this.setHeader=function(hdrStr, splitSign, styles){ - if (typeof (hdrStr) != "object") - var arLab = this._eSplit(hdrStr); - else - arLab=[].concat(hdrStr); - - var arWdth = new Array(0); - var arTyp = new dhtmlxArray(0); - var arAlg = new Array(0); - var arVAlg = new Array(0); - var arSrt = new Array(0); - - for (var i = 0; i < arLab.length; i++){ - arWdth[arWdth.length]=Math.round(100 / arLab.length); - arTyp[arTyp.length]="ed"; - arAlg[arAlg.length]="left"; - arVAlg[arVAlg.length]="middle"; //top - arSrt[arSrt.length]="na"; - } - - this.splitSign=splitSign||"#cspan"; - this.hdrLabels=arLab; - this.cellWidth=arWdth; - if (!this.initCellWidth.length) this.setInitWidthsP(arWdth.join(this.delim),true); - this.cellType=arTyp; - this.cellAlign=arAlg; - this.cellVAlign=arVAlg; - this.fldSort=arSrt; - this._hstyles=styles||[]; - } - /** - * @desc: - * @param: str - ... - * @type: private - */ - this._eSplit=function(str){ - if (![].push) - return str.split(this.delim); - - var a = "r"+(new Date()).valueOf(); - var z = this.delim.replace(/([\|\+\*\^])/g, "\\$1") - return (str||"").replace(RegExp(z, "g"), a).replace(RegExp("\\\\"+a, "g"), this.delim).split(a); - } - - /** - * @desc: get column type by column index - * @param: cInd - column index - * @returns: type code - * @type: public - * @topic: 0,3,4 - */ - this.getColType=function(cInd){ - return this.cellType[cInd]; - } - - /** - * @desc: get column type by column ID - * @param: cID - column id - * @returns: type code - * @type: public - * @topic: 0,3,4 - */ - this.getColTypeById=function(cID){ - return this.cellType[this.getColIndexById(cID)]; - } - - /** - * @desc: set column types - * @param: typeStr - type codes list (default delimiter is ",") - * @before_init: 2 - * @type: public - * @topic: 0,3,4 - */ - this.setColTypes=function(typeStr){ - this.cellType=dhtmlxArray(typeStr.split(this.delim)); - this._strangeParams=new Array(); - - for (var i = 0; i < this.cellType.length; i++){ - if ((this.cellType[i].indexOf("[") != -1)){ - var z = this.cellType[i].split(/[\[\]]+/g); - this.cellType[i]=z[0]; - this.defVal[i]=z[1]; - - if (z[1].indexOf("=") == 0){ - this.cellType[i]="math"; - this._strangeParams[i]=z[0]; - } - } - if (!window["eXcell_"+this.cellType[i]]) dhx4.callEvent("onConfigurationError",["Incorrect cell type: "+this.cellType[i],this,this.cellType[i]]); - } - } - /** - * @desc: set column sort types (avaialble: str, int, date, na or function object for custom sorting) - * @param: sortStr - sort codes list with default delimiter - * @before_init: 1 - * @type: public - * @topic: 0,3,4 - */ - this.setColSorting=function(sortStr){ - this.fldSort=sortStr.split(this.delim) - //#__pro_feature:21092006{ - //#custom_sort:21092006{ - //str, int, date - var check = {str:1, "int":1, date:1}; - for (var i = 0; i < this.fldSort.length; i++) - if ((!check[this.fldSort[i]])&&( typeof (window[this.fldSort[i]]) == "function")){ - if (!this._customSorts) - this._customSorts=new Array(); - this._customSorts[i]=window[this.fldSort[i]]; - this.fldSort[i]="cus"; - } - //#} - //#} - } - /** - * @desc: set align of values in columns - * @param: alStr - list of align values (possible values are: right,left,center,justify). Default delimiter is "," - * @before_init: 1 - * @type: public - * @topic: 0,3 - */ - this.setColAlign=function(alStr){ - this.cellAlign=alStr.split(this.delim) - for (var i=0; i < this.cellAlign.length; i++) - this.cellAlign[i]=this.cellAlign[i]._dhx_trim(); - } - /** - * @desc: set vertical align of columns - * @param: valStr - vertical align values list for columns (possible values are: baseline,sub,super,top,text-top,middle,bottom,text-bottom) - * @before_init: 1 - * @type: public - * @topic: 0,3 - */ - this.setColVAlign=function(valStr){ - this.cellVAlign=valStr.split(this.delim) - } - - /** - * @desc: create grid with no header. Call before initialization, but after setHeader. setHeader have to be called in any way as it defines number of columns - * @param: fl - true to use no header in the grid - * @type: public - * @before_init: 1 - * @topic: 0,7 - */ - this.setNoHeader=function(fl){ - this.noHeader=dhx4.s2b(fl); - } - /** - * @desc: scrolls row to the visible area - * @param: rowID - row id - * @type: public - * @topic: 2,7 - */ - this.showRow=function(rowID){ - this.getRowById(rowID) - - if (this._h2) this.openItem(this._h2.get[rowID].parent.id); - var c = this.getRowById(rowID).childNodes[0]; - - while (c&&c.style.display == "none") - c=c.nextSibling; - - if (c) - this.moveToVisible(c, true) - } - - /** - * @desc: modify default style of grid and its elements. Call before or after Init - * @param: ss_header - style def. expression for header - * @param: ss_grid - style def. expression for grid cells - * @param: ss_selCell - style def. expression for selected cell - * @param: ss_selRow - style def. expression for selected Row - * @type: public - * @before_init: 2 - * @topic: 0,6 - */ - this.setStyle=function(ss_header, ss_grid, ss_selCell, ss_selRow){ - this.ssModifier=[ - ss_header, - ss_grid, - ss_selCell, - ss_selCell, - ss_selRow - ]; - - var prefs = ["#"+this.entBox.id+" table.hdr td", "#"+this.entBox.id+" table.obj td", - "#"+this.entBox.id+" table.obj tr.rowselected td.cellselected", - "#"+this.entBox.id+" table.obj td.cellselected", "#"+this.entBox.id+" table.obj tr.rowselected td"]; - - var index = 0; - while (!_isIE){ - try{ - var temp = document.styleSheets[index].cssRules.length; - } catch(e) { index++; continue; } - break; - } - - for (var i = 0; i < prefs.length; i++) - if (this.ssModifier[i]){ - if (_isIE) - document.styleSheets[0].addRule(prefs[i], this.ssModifier[i]); - else - document.styleSheets[index].insertRule(prefs[i]+(" { "+this.ssModifier[i]+" }"), document.styleSheets[index].cssRules.length); - } - } - /** - * @desc: colorize columns background. - * @param: clr - colors list - * @type: public - * @before_init: 1 - * @topic: 3,6 - */ - this.setColumnColor=function(clr){ - this.columnColor=clr.split(this.delim) - } - //#alter_css:06042008{ - /** - * @desc: set even/odd css styles - * @param: cssE - name of css class for even rows - * @param: cssU - name of css class for odd rows - * @param: perLevel - true/false - mark rows not by order, but by level in treegrid - * @param: levelUnique - true/false - creates additional unique css class based on row level - * @type: public - * @before_init: 1 - * @topic: 3,6 - */ - this.enableAlterCss=function(cssE, cssU, perLevel, levelUnique){ - if (cssE||cssU) - this.attachEvent("onGridReconstructed",function(){ - this._fixAlterCss(); - if (this._fake) - this._fake._fixAlterCss(); - }); - - this._cssSP=perLevel; - this._cssSU=levelUnique; - this._cssEven=cssE; - this._cssUnEven=cssU; - } - //#} - /** - * @desc: recolor grid from defined point - * @type: private - * @before_init: 1 - * @topic: 3,6 - */ - this._fixAlterCss=function(ind){ - //#alter_css:06042008{ - if (this._h2 && (this._cssSP || this._cssSU)) - return this._fixAlterCssTGR(ind); - if (!this._cssEven && !this._cssUnEven) return; - ind=ind||0; - var j = ind; - - for (var i = ind; i < this.rowsCol.length; i++){ - if (!this.rowsCol[i]) - continue; - - if (this.rowsCol[i].style.display != "none"){ - if (this.rowsCol[i]._cntr) { j=1; continue; } - if (this.rowsCol[i].className.indexOf("rowselected") != -1){ - if (j%2 == 1) - this.rowsCol[i].className=this._cssUnEven+" rowselected "+(this.rowsCol[i]._css||""); - else - this.rowsCol[i].className=this._cssEven+" rowselected "+(this.rowsCol[i]._css||""); - } else { - if (j%2 == 1) - this.rowsCol[i].className=this._cssUnEven+" "+(this.rowsCol[i]._css||""); - else - this.rowsCol[i].className=this._cssEven+" "+(this.rowsCol[i]._css||""); - } - j++; - } - } - //#} - } - //#__pro_feature:21092006{ - /** - * @desc: clear wasChanged state for all cells in grid - * @type: public - * @edition: Professional - * @topic: 7 - */ - this.clearChangedState=function(clear_added){ - for (var i = 0; i < this.rowsCol.length; i++){ - var row = this.rowsCol[i]; - if (row && row.childNodes){ - var cols = row.childNodes.length; - for (var j = 0; j < cols; j++)row.childNodes[j].wasChanged=false; - if (clear_added) - row._added = false; - } - } - }; - - /** - * @desc: get list of IDs of changed rows - * @type: public - * @edition: Professional - * @return: list of ID of changed rows - * @topic: 7 - */ - this.getChangedRows=function(and_added){ - var res = new Array(); - this.forEachRow(function(id){ - var row = this.rowsAr[id]; - if (row.tagName!="TR") return; - var cols = row.childNodes.length; - if (and_added && row._added) - res[res.length]=row.idd; - else - for (var j = 0; j < cols; j++) - if (row.childNodes[j].wasChanged){ - res[res.length]=row.idd; - break; - } - }) - return res.join(this.delim); - }; - - - //#serialization:21092006{ - - this._sUDa=false; - this._sAll=false; - - /** - * @desc: configure XML serialization - * @type: public - * @edition: Professional - * @param: userData - enable/disable user data serialization - * @param: fullXML - enable/disable full XML serialization (selection state) - * @param: config - serialize grid configuration - * @param: changedAttr - include changed attribute - * @param: onlyChanged - include only Changed rows in result XML - * @param: asCDATA - output cell values as CDATA sections (prevent invalid XML) - * @topic: 0,5,7 - */ - this.setSerializationLevel=function(userData, fullXML, config, changedAttr, onlyChanged, asCDATA){ - this._sUDa=userData; - this._sAll=fullXML; - this._sConfig=config; - this._chAttr=changedAttr; - this._onlChAttr=onlyChanged; - this._asCDATA=asCDATA; - } - - - /** - * @desc: configure which column must be serialized (if you do not use this method, then all columns will be serialized) - * @type: public - * @edition: Professional - * @param: list - list of true/false values separated by comma, if list empty then all fields will be serialized - * @topic: 0,5,7 - */ - this.setSerializableColumns=function(list){ - if (!list){ - this._srClmn=null; - return; - } - this._srClmn=(list||"").split(","); - - for (var i = 0; i < this._srClmn.length; i++)this._srClmn[i]=dhx4.s2b(this._srClmn[i]); - } - - /** - * @desc: serialize a collection of rows - * @type: private - * @topic: 0,5,7 - */ - this._serialise=function(rCol, inner, closed){ - this.editStop() - var out = []; - //rows collection - var close = "" - - if (this.isTreeGrid()){ - this._h2.forEachChildF(0, function(el){ - var temp = this._serializeRow(this.render_row_tree(-1, el.id)); - out.push(temp); - - if (temp) - return true; - else - return false; - }, this, function(){ - out.push(close); - }); - } - else - for (var i = 0; i < this.rowsBuffer.length; i++) - if (this.rowsBuffer[i]){ - if (this._chAttr && this.rowsBuffer[i]._locator) - continue; - - var temp = this._serializeRow(this.render_row(i)); - out.push(temp); - - if (temp) - out.push(close); - } - - return [out.join("")]; - } - - /** - * @desc: serialize TR or xml node to grid formated xml (row tag) - * @param: r - TR or xml node (row) - * @retruns: string - xml representation of passed row - * @type: private - */ - this._serializeRow=function(r, i){ - var out = []; - var ra = this.xml.row_attrs; - var ca = this.xml.cell_attrs; - - out.push("<"+this.xml.s_row); - out.push(" id='"+r.idd+"'"); - - if ((this._sAll)&&this.selectedRows._dhx_find(r) != -1) - out.push(" selected='1'"); - - if (this._h2&&this._h2.get[r.idd].state == "minus") - out.push(" open='1'"); - - if (ra.length) - for (var i = 0; i < ra.length; i++)out.push(" "+ra[i]+"='"+r._attrs[ra[i]]+"'"); - out.push(">"); - - //userdata - if (this._sUDa&&this.UserData[r.idd]){ - keysAr=this.UserData[r.idd].getKeys() - - for (var ii = 0; ii < keysAr.length; ii++){ - var subkey = keysAr[ii]; - if (subkey.indexOf("__") !== 0) - out.push(""+(this._asCDATA?"":"")+""); - } - } - - - //cells - var changeFl = false; - - for (var jj = 0; jj < this._cCount; jj++){ - if ((!this._srClmn)||(this._srClmn[jj])){ - var zx = this.cells3(r, jj); - out.push(""; - - //#colspan:20092006{ - if ((this._ecspn)&&(zx.cell.colSpan)&&zx.cell.colSpan > 1) - out.push(" colspan=\""+zx.cell.colSpan+"\" "); - //#} - - if (this._chAttr){ - if (zx.wasChanged()){ - out.push(" changed=\"1\""); - changeFl=true; - } - } - - else if ((this._onlChAttr)&&(zx.wasChanged())) - changeFl=true; - - if (this._sAll && this.cellType[jj]=="tree") - out.push((this._h2 ? (" image='"+this._h2.get[r.idd].image+"'") : "")+">"+zxVal+""); - else - out.push(">"+zxVal+""); - - //#colspan:20092006{ - if ((this._ecspn)&&(zx.cell.colSpan)) - for (var u = 0; u < zx.cell.colSpan-1; u++){ - out.push(""); - jj++; - } - //#} - } - } - - if ((this._onlChAttr)&&(!changeFl)&&(!r._added)) - return ""; - - return out.join(""); - } - - /** - * @desc: serialize grid configuration - * @type: private - * @topic: 0,5,7 - */ - this._serialiseConfig=function(){ - var out = ""; - - for (var i = 0; i < this.hdr.rows[0].cells.length; i++){ - if (this._srClmn && !this._srClmn[i]) continue; - var sort = this.fldSort[i]; - if (sort == "cus"){ - sort = this._customSorts[i].toString(); - sort=sort.replace(/function[\ ]*/,"").replace(/\([^\f]*/,""); - } - out+=""; - if (this._asCDATA) - out+=""; - else - out+=this.getColumnLabel(i); - var z = this.getCombo(i); - - if (z) - for (var j = 0; j < z.keys.length; j++)out+=""; - out+="" - } - return out+=""; - } - /** - * @desc: get actual xml of grid. The depth of serialization can be set with setSerializationLevel method - * @type: public - * @edition: Professional - * @topic: 5,7 - */ - this.serialize=function(){ - var out = ''; - - if (this._mathSerialization) - this._agetm="getMathValue"; - else - this._agetm="getValue"; - - if (this._sUDa&&this.UserData["gridglobaluserdata"]){ - var keysAr = this.UserData["gridglobaluserdata"].getKeys() - - for (var i = 0; - i < keysAr.length; - i++)out+=""+this.UserData["gridglobaluserdata"].get(keysAr[i]) - +""; - } - - if (this._sConfig) - out+=this._serialiseConfig(); - out+=this._serialise(); - - out+=''; - return out; - } - //#} - //#} - - /** - * @desc: returns absolute left and top position of specified element - * @returns: array of two values: absolute Left and absolute Top positions - * @param: oNode - element to get position of - * @type: private - * @topic: 8 - */ - this.getPosition=function(oNode, pNode){ - if (!pNode){ - var pos = dhx4.getOffset(oNode); - return [pos.left, pos.top]; - } - pNode = pNode||document.body; - - var oCurrentNode = oNode; - var iLeft = 0; - var iTop = 0; - - while ((oCurrentNode)&&(oCurrentNode != pNode)){ //.tagName!="BODY"){ - iLeft+=oCurrentNode.offsetLeft-oCurrentNode.scrollLeft; - iTop+=oCurrentNode.offsetTop-oCurrentNode.scrollTop; - oCurrentNode=oCurrentNode.offsetParent; - } - - if (pNode == document.body){ - if (_isIE){ - iTop+=document.body.offsetTop||document.documentElement.offsetTop; - iLeft+=document.body.offsetLeft||document.documentElement.offsetLeft; - } else if (!_isFF){ - iLeft+=document.body.offsetLeft; - iTop+=document.body.offsetTop; - } - } - return [iLeft, iTop]; - } - /** - * @desc: gets nearest parent of specified type - * @param: obj - input object - * @param: tag - string. tag to find as parent - * @returns: object. nearest paraent object (including spec. obj) of specified type. - * @type: private - * @topic: 8 - */ - this.getFirstParentOfType=function(obj, tag){ - while (obj&&obj.tagName != tag&&obj.tagName != "BODY"){ - obj=obj.parentNode; - } - return obj; - } - - - - /*INTERNAL EVENT HANDLERS*/ - this.objBox.onscroll=function(){ - this.grid._doOnScroll(); - }; - this.hdrBox.onscroll=function(){ - if (this._try_header_sync) return; - this._try_header_sync = true; - if (Math.abs(this.grid.objBox.scrollLeft - this.scrollLeft)>1){ - this.grid.objBox.scrollLeft = this.scrollLeft; - } - this._try_header_sync = false; - } - //#column_resize:06042008{ - if ((!_isOpera)||(_OperaRv > 8.5)){ - this.hdr.onmousemove=function(e){ - this.grid.changeCursorState(e||window.event); - }; - this.hdr.onmousedown=function(e){ - return this.grid.startColResize(e||window.event); - }; - } - //#} - //#tooltips:06042008{ - this.obj.onmousemove=this._drawTooltip; - //#} - this.objBox.onclick=function(e){ - e = e||event; - e.cancelBubble=true; - this.firstChild.grid.setActive(true); - window.dhx4.callEvent("_onGridClick", [e, this.firstChild.grid]); - }; - this.obj.onclick=function(e){ - if (this.grid._doClick(e||window.event) !== false){ - if (this.grid._sclE) - this.grid.editCell(e||window.event); - else - this.grid.editStop(); - } - - e = e||event; - e.cancelBubble=true; - window.dhx4.callEvent("_onGridClick", [e, this.grid]); - }; - //#context_menu:06042008{ - if (_isMacOS){ - this.entBox.oncontextmenu=function(e){ - e.cancelBubble=true; - if (e.preventDefault) e.preventDefault(); else e.returnValue=false; - var that = this.grid; if (that._realfake) that = that._fake; - return that._doContClick(e||window.event); - }; - } else { - this.entBox.onmousedown=function(e){ - return this.grid._doContClick(e||window.event); - }; - this.entBox.oncontextmenu=function(e){ - if (this.grid._ctmndx) - (e||event).cancelBubble=true; - return !this.grid._ctmndx; - }; - } - - //#} - this.obj.ondblclick=function(e){ - if (!this.grid.wasDblClicked(e||window.event)) - return false; - if (this.grid._dclE) { - var row = this.grid.getFirstParentOfType((_isIE?event.srcElement:e.target),"TR"); - if (row == this.grid.row) - this.grid.editCell(e||window.event); - } - (e||event).cancelBubble=true; - if (_isOpera) return false; //block context menu for Opera 9+ - }; - this.hdr.onclick=this._onHeaderClick; - this.sortImg.onclick=function(){ - self._onHeaderClick.apply({ - grid: self - }, [ - null, - self.r_fldSorted - ]); - }; - - this.hdr.ondblclick=this._onHeaderDblClick; - - - if (!document.body._dhtmlxgrid_onkeydown){ - dhtmlxEvent(document, "keydown",function(e){ - if (globalActiveDHTMLGridObject) - return globalActiveDHTMLGridObject.doKey(e||window.event); - }); - document.body._dhtmlxgrid_onkeydown=true; - } - - dhtmlxEvent(document.body, "click", function(){ - if (self.editStop) self.editStop(); - if (self.isActive) self.setActive(false); - }); - - - if (this.entBox.style.height.toString().indexOf("%") != -1) - this._delta_y = this.entBox.style.height; - if (this.entBox.style.width.toString().indexOf("%") != -1) - this._delta_x = this.entBox.style.width; - - if (this._delta_x||this._delta_y) - this._setAutoResize(); - - - /* deprecated names */ - this.setColHidden=this.setColumnsVisibility - this.enableCollSpan = this.enableColSpan - this.setMultiselect=this.enableMultiselect; - this.setMultiLine=this.enableMultiline; - this.deleteSelectedItem=this.deleteSelectedRows; - this.getSelectedId=this.getSelectedRowId; - this.getHeaderCol=this.getColumnLabel; - this.isItemExists=this.doesRowExist; - this.getColumnCount=this.getColumnsNum; - this.setSelectedRow=this.selectRowById; - this.setHeaderCol=this.setColumnLabel; - this.preventIECashing=this.preventIECaching; - this.enableAutoHeigth=this.enableAutoHeight; - this.getUID=this.uid; - - if (dhtmlx.image_path) this.setImagePath(dhtmlx.image_path); - if (dhtmlx.skin) this.setSkin(dhtmlx.skin); - - return this; -} - -dhtmlXGridObject.prototype={ - getRowAttribute: function(id, name){ - return this.getRowById(id)._attrs[name]; - }, - setRowAttribute: function(id, name, value){ - this.getRowById(id)._attrs[name]=value; - }, - /** - * @desc: detect is current grid is a treeGrid - * @type: private - * @topic: 2 - */ - isTreeGrid:function(){ - return (this.cellType._dhx_find("tree") != -1); - }, - - //#column_hidden:21092006{ - /** - * @desc: hide/show row (warning! - this command doesn't affect row indexes, only visual appearance) - * @param: ind - column index - * @param: state - true/false - hide/show row - * @type: public - */ - setRowHidden:function(id, state){ - var f = dhx4.s2b(state); - //var ind=this.getRowIndex(id); - //if (id<0) - // return; - var row = this.getRowById(id) //this.rowsCol[ind]; - - if (!row) - return; - - if (row.expand === "") - this.collapseKids(row); - - if ((state)&&(row.style.display != "none")){ - row.style.display="none"; - var z = this.selectedRows._dhx_find(row); - - if (z != -1){ - row.className=row.className.replace("rowselected", ""); - - for (var i = 0; - i < row.childNodes.length; - i++)row.childNodes[i].className=row.childNodes[i].className.replace(/cellselected/g, ""); - this.selectedRows._dhx_removeAt(z); - } - this.callEvent("onGridReconstructed", []); - } - - if ((!state)&&(row.style.display == "none")){ - row.style.display=""; - this.callEvent("onGridReconstructed", []); - } - this.callEvent("onRowHide",[id, state]); - this.setSizes(); - }, - - //#__pro_feature:21092006{ - /** - * @desc: hide/show column - * @param: ind - column index - * @param: state - true/false - hide/show column - * @type: public - * @edition: Professional - */ - setColumnHidden:function(ind, state){ - if (!this.hdr.rows.length){ - if (!this._ivizcol) - this._ivizcol=[]; - return this._ivizcol[ind]=state; - } - - if ((this.fldSorted)&&(this.fldSorted.cellIndex == ind)&&(state)) - this.sortImg.style.display="none"; - - var f = dhx4.s2b(state); - - if (f){ - if (!this._hrrar) - this._hrrar=new Array(); - - else if (this._hrrar[ind]) - return; - this._hrrar[ind]="display:none;"; - this._hideShowColumn(ind, "none"); - } else { - if ((!this._hrrar)||(!this._hrrar[ind])) - return; - this._hrrar[ind]=""; - this._hideShowColumn(ind, ""); - } - - if ((this.fldSorted)&&(this.fldSorted.cellIndex == ind)&&(!state)) - this.sortImg.style.display="inline"; - - this.setSortImgPos(); - this.callEvent("onColumnHidden",[ind,state]) - }, - - - /** - * @desc: get show/hidden status of column - * @param: ind - column index - * @type: public - * @edition: Professional - * @returns: if column hidden then true else false - */ - isColumnHidden:function(ind){ - if ((this._hrrar)&&(this._hrrar[ind])) - return true; - - return false; - }, - /** - * @desc: set list of visible/hidden columns - * @param: list - list of true/false separated by comma - * @type: public - * @newmethod: setColumnsVisibility - * @edition: Professional - * @topic:0 - */ - setColumnsVisibility:function(list){ - if (list) - this._ivizcol=list.split(this.delim); - - if (this.hdr.rows.length&&this._ivizcol) - for (var i = 0; i < this._ivizcol.length; i++)this.setColumnHidden(i, this._ivizcol[i]); - }, - /** - * @desc: fix hidden state for column in all rows - * @type: private - */ - _fixHiddenRowsAll:function(pb, ind, prop, state, index){ - index=index||"_cellIndex"; - var z = pb.rows.length; - - for (var i = 0; i < z; i++){ - var x = pb.rows[i].childNodes; - - if (x.length != this._cCount){ - for (var j = 0; j < x.length; j++) - if (x[j][index] == ind){ - x[j].style[prop]=state; - break; - } - } else - x[ind].style[prop]=state; - } - }, - /** - * @desc: hide column - * @param: ind - column index - * @param: state - hide/show - * @edition: Professional - * @type: private - */ - _hideShowColumn:function(ind, state){ - var hind = ind; - - if (this.hdr.rows[1] && (this.hdr.rows[1]._childIndexes)&&(this.hdr.rows[1]._childIndexes[ind] != ind)) - hind=this.hdr.rows[1]._childIndexes[ind]; - - if (state == "none"){ - this.hdr.rows[0].cells[ind]._oldWidth=this.hdr.rows[0].cells[ind].style.width||(this.initCellWidth[ind]+"px"); - this.hdr.rows[0].cells[ind]._oldWidthP=this.cellWidthPC[ind]; - this.obj.rows[0].cells[ind].style.width="0px"; - - - var t={rows:[this.obj.rows[0]]} - this.forEachRow(function(id){ - if (this.rowsAr[id].tagName=="TR") - t.rows.push(this.rowsAr[id]) - }) - this._fixHiddenRowsAll(t, ind, "display", "none"); - - if (this.isTreeGrid()) - this._fixHiddenRowsAllTG(ind, "none"); - - if ((_isOpera&&_OperaRv < 9)||_isKHTML||(_isFF)||(_isIE && (dhx.isIE10 || dhx.isIE11))){ - this._fixHiddenRowsAll(this.hdr, ind, "display", "none","_cellIndexS"); - - } - if (this.ftr) - this._fixHiddenRowsAll(this.ftr.childNodes[0], ind, "display", "none"); - this._fixHiddenRowsAll(this.hdr, ind, "whiteSpace", "nowrap","_cellIndexS"); - - if (!this.cellWidthPX.length&&!this.cellWidthPC.length) - this.cellWidthPX=[].concat(this.initCellWidth); - - if (this.cellWidthPX[ind]) - this.cellWidthPX[ind]=0; - - if (this.cellWidthPC[ind]) - this.cellWidthPC[ind]=0; - } else { - if (this.hdr.rows[0].cells[ind]._oldWidth){ - var zrow = this.hdr.rows[0].cells[ind]; - - if (_isOpera||_isKHTML||(_isFF)||(_isIE && (dhx.isIE10 || dhx.isIE11))) - this._fixHiddenRowsAll(this.hdr, ind, "display", "","_cellIndexS"); - - if (this.ftr) - this._fixHiddenRowsAll(this.ftr.childNodes[0], ind, "display", ""); - - - var t={rows:[this.obj.rows[0]]} - this.forEachRow(function(id){ - if (this.rowsAr[id].tagName=="TR") - t.rows.push(this.rowsAr[id]) - }) - this._fixHiddenRowsAll(t, ind, "display", ""); - - if (this.isTreeGrid()) - this._fixHiddenRowsAllTG(ind, ""); - - this._fixHiddenRowsAll(this.hdr, ind, "whiteSpace", "normal","_cellIndexS"); - - if (zrow._oldWidthP) - this.cellWidthPC[ind]=zrow._oldWidthP; - - if (zrow._oldWidth) - this.cellWidthPX[ind]=parseInt(zrow._oldWidth); - } - } - - if (!state && this._realfake) - this.setColumnSizes(this.entBox.clientWidth); - - this.setSizes(); - - if ((!_isIE)&&(!_isFF)){ - //dummy Opera/Safari fix - this.obj.border=1; - this.obj.border=0; - } - }, - //#} - //#} - //#__pro_feature:21092006{ - //#colspan:20092006{ - /** - * @desc: enable/disable colspan support - * @param: mode - true/false - * @type: public - * @edition: Professional - */ - enableColSpan:function(mode){ - this._ecspn=dhx4.s2b(mode); - }, - //#} - //#} - //#hovering:060402008{ - /** - * @desc: enable/disable hovering row on mouse over - * @param: mode - true/false - * @param: cssClass - css class for hovering row - * @type: public - */ - enableRowsHover:function(mode, cssClass){ - this._unsetRowHover(false,true); - this._hvrCss=cssClass; - - if (dhx4.s2b(mode)){ - if (!this._elmnh){ - this.obj._honmousemove=this.obj.onmousemove; - this.obj.onmousemove=this._setRowHover; - - if (_isIE) - this.obj.onmouseleave=this._unsetRowHover; - else - this.obj.onmouseout=this._unsetRowHover; - - this._elmnh=true; - } - } else { - if (this._elmnh){ - this.obj.onmousemove=this.obj._honmousemove; - - if (_isIE) - this.obj.onmouseleave=null; - else - this.obj.onmouseout=null; - - this._elmnh=false; - } - } - }, - //#} - /** - * @desc: enable/disable events which fire excell editing, mutual exclusive with enableLightMouseNavigation - * @param: click - true/false - enable/disable editing by single click - * @param: dblclick - true/false - enable/disable editing by double click - * @param: f2Key - enable/disable editing by pressing F2 key - * @type: public - */ - enableEditEvents:function(click, dblclick, f2Key){ - this._sclE=dhx4.s2b(click); - this._dclE=dhx4.s2b(dblclick); - this._f2kE=dhx4.s2b(f2Key); - }, - - //#hovering:060402008{ - /** - * @desc: enable/disable light mouse navigation mode (row selection with mouse over, editing with single click), mutual exclusive with enableEditEvents - * @param: mode - true/false - * @type: public - */ - enableLightMouseNavigation:function(mode){ - if (dhx4.s2b(mode)){ - if (!this._elmn){ - this.entBox._onclick=this.entBox.onclick; - this.entBox.onclick=function(){ - return true; - }; - - this.obj._onclick=this.obj.onclick; - this.obj.onclick=function(e){ - var c = this.grid.getFirstParentOfType(e ? e.target : event.srcElement, 'TD'); - if (!c) return; - this.grid.editStop(); - this.grid.doClick(c); - this.grid.editCell(); - (e||event).cancelBubble=true; - } - - this.obj._onmousemove=this.obj.onmousemove; - this.obj.onmousemove=this._autoMoveSelect; - this._elmn=true; - } - } else { - if (this._elmn){ - this.entBox.onclick=this.entBox._onclick; - this.obj.onclick=this.obj._onclick; - this.obj.onmousemove=this.obj._onmousemove; - this._elmn=false; - } - } - }, - - - /** - * @desc: remove hover state on row - * @type: private - */ - _unsetRowHover:function(e, c){ - if (c) - that=this; - else - that=this.grid; - - if ((that._lahRw)&&(that._lahRw != c)){ - for (var i = 0; - i < that._lahRw.childNodes.length; - i++)that._lahRw.childNodes[i].className=that._lahRw.childNodes[i].className.replace(that._hvrCss, ""); - that._lahRw=null; - } - }, - - /** - * @desc: set hover state on row - * @type: private - */ - _setRowHover:function(e){ - var c = this.grid.getFirstParentOfType(e ? e.target : event.srcElement, 'TD'); - - if (c && c.parentNode!=this.grid._lahRw) { - this.grid._unsetRowHover(0, c); - c=c.parentNode; - if (!c.idd || c.idd=="__filler__") return; - for (var i = 0; i < c.childNodes.length; i++)c.childNodes[i].className+=" "+this.grid._hvrCss; - this.grid._lahRw=c; - } - this._honmousemove(e); - }, - - /** - * @desc: onmousemove, used in light mouse navigaion mode - * @type: private - */ - _autoMoveSelect:function(e){ - //this - grid.obj - if (!this.grid.editor){ - var c = this.grid.getFirstParentOfType(e ? e.target : event.srcElement, 'TD'); - - if (c.parentNode.idd) - this.grid.doClick(c, true, 0); - } - this._onmousemove(e); - }, - //#} - //#__pro_feature:21092006{ - //#distrb_parsing:21092006{ - /** - * @desc: enable/disable distributed parsing (rows paresed portion by portion with some timeout) - * @param: mode - true/false - * @param: count - count of nodes parsed by one step (the 10 by default) - * @param: time - time between parsing counts in milli seconds (the 250 by default) - * @type: public - * @edition: Professional - */ - enableDistributedParsing:function(mode, count, time){ - if (dhx4.s2b(mode)){ - this._ads_count=count||10; - this._ads_time=time||250; - } else - this._ads_count=0; - }, - //#} - //#} - /** - * @desc: destructor, removes grid and cleans used memory - * @type: public - * @topic: 0 - */ - destructor:function(){ - this.editStop(true); - //add links to current object - if (this._sizeTime) - this._sizeTime=window.clearTimeout(this._sizeTime); - this.entBox.className=(this.entBox.className||"").replace(/gridbox.*/,""); - if (this.formInputs) - for (var i = 0; i < this.formInputs.length; i++)this.parentForm.removeChild(this.formInputs[i]); - - var a; - - for (var i = 0; i < this.rowsCol.length; i++) - if (this.rowsCol[i]) - this.rowsCol[i].grid=null; - - for (i in this.rowsAr) - if (this.rowsAr[i]) - this.rowsAr[i]=null; - - this.rowsCol=new dhtmlxArray(); - this.rowsAr={}; - this.entBox.innerHTML=""; - - var dummy=function(){}; - this.entBox.onclick = this.entBox.onmousedown = this.entBox.onbeforeactivate = this.entBox.onbeforedeactivate = this.entBox.onbeforedeactivate = this.entBox.onselectstart = dummy; - this.setSizes = this._update_srnd_view = this.callEvent = dummy; - this.entBox.grid=this.objBox.grid=this.hdrBox.grid=this.obj.grid=this.hdr.grid=null; - if (this._fake){ - this.globalBox.innerHTML = ""; - this._fake.setSizes = this._fake._update_srnd_view = this._fake.callEvent = dummy; - this.globalBox.onclick = this.globalBox.onmousedown = this.globalBox.onbeforeactivate = this.globalBox.onbeforedeactivate = this.globalBox.onbeforedeactivate = this.globalBox.onselectstart = dummy; - } - - for (a in this){ - if ((this[a])&&(this[a].m_obj)) - this[a].m_obj=null; - this[a]=null; - } - - if (this == globalActiveDHTMLGridObject) - globalActiveDHTMLGridObject=null; - // self=null; - return null; - }, - - //#sorting:06042008{ - /** - * @desc: get sorting state of grid - * @type: public - * @returns: array, first element is index of sortef column, second - direction of sorting ("asc" or "des"). - * @topic: 0 - */ - getSortingState:function(){ - var z = new Array(); - - if (this.fldSorted){ - z[0]=this.fldSorted._cellIndex; - z[1]=(this.sortImg.className == "dhxgrid_sort_desc" ? "des" : "asc"); - } - return z; - }, - //#} - - /** - * @desc: enable autoheight of grid - * @param: mode - true/false - * @param: maxHeight - maximum height before scrolling appears (no limit by default) - * @param: countFullHeight - control the usage of maxHeight parameter - when set to true all grid height included in max height calculation, if false then only data part (no header) of grid included in calcualation (false by default) - * @type: public - * @topic: 0 - */ - enableAutoHeight:function(mode, maxHeight, countFullHeight){ - this._ahgr=dhx4.s2b(mode); - this._ahgrF=dhx4.s2b(countFullHeight); - this._ahgrM=maxHeight||null; - if (arguments.length == 1){ - this.objBox.style.overflowY=mode?"hidden":"auto"; - } - if (maxHeight == "auto"){ - this._ahgrM=null; - this._ahgrMA=true; - this._setAutoResize(); - // this._activeResize(); - } - }, - //#sorting:06042008{ - enableStableSorting:function(mode){ - this._sst=dhx4.s2b(mode); - this.rowsCol.stablesort=function(cmp){ - var size = this.length-1; - - for (var i = 0; i < this.length-1; i++){ - for (var j = 0; j < size; j++) - if (cmp(this[j], this[j+1]) > 0){ - var temp = this[j]; - this[j]=this[j+1]; - this[j+1]=temp; - } - size--; - } - } - }, - //#} - - /** - * @desc: enable/disable hot keys in grid - * @param: mode - true/false - * @type: public - * @topic: 0 - */ - enableKeyboardSupport:function(mode){ - this._htkebl=!dhx4.s2b(mode); - }, - - //#context_menu:06042008{ - /** - * @desc: enable/disable context menu - * @param: dhtmlxMenu object, if null - context menu will be disabled - * @type: public - * @topic: 0 - */ - enableContextMenu:function(menu){ - this._ctmndx=menu; - }, - //#} - - /*backward compatibility*/ - setScrollbarWidthCorrection:function(width){ - }, - //#tooltips:06042008{ - /** - * @desc: enable/disable tooltips for specified colums - * @param: list - list of true/false values, tooltips enabled for all columns by default - * @type: public - * @topic: 0 - */ - enableTooltips:function(list){ - this._enbTts=list.split(","); - - for (var i = 0; i < this._enbTts.length; i++)this._enbTts[i]=dhx4.s2b(this._enbTts[i]); - }, - //#} - - //#column_resize:06042008{ - /** - * @desc: enable/disable resizing for specified colums - * @param: list - list of true/false values, resizing enabled for all columns by default - * @type: public - * @topic: 0 - */ - enableResizing:function(list){ - this._drsclmn=list.split(","); - - for (var i = 0; i < this._drsclmn.length; i++)this._drsclmn[i]=dhx4.s2b(this._drsclmn[i]); - }, - - /** - * @desc: set minimum column width ( works only for manual resizing ) - * @param: width - minimum column width, can be set for specified column, or as comma separated list for all columns - * @param: ind - column index - * @type: public - * @topic: 0 - */ - setColumnMinWidth:function(width, ind){ - if (arguments.length == 2){ - if (!this._drsclmW) - this._drsclmW=new Array(); - this._drsclmW[ind]=width; - } else - this._drsclmW=width.split(","); - }, - //#} - - /** - * @desc: enable/disable unique id for cells (id will be automaticaly created using the following template: "c_[RowId]_[colIndex]") - * @param: mode - true/false - enable/disable - * @type: public - * @topic: 0 - */ - enableCellIds:function(mode){ - this._enbCid=dhx4.s2b(mode); - }, - - - //#locked_row:11052006{ - /** - * @desc: lock/unlock row for editing - * @param: rowId - id of row - * @param: mode - true/false - lock/unlock - * @type: public - * @topic: 0 - */ - lockRow:function(rowId, mode){ - var z = this.getRowById(rowId); - - if (z){ - z._locked=dhx4.s2b(mode); - - if ((this.cell)&&(this.cell.parentNode.idd == rowId)) - this.editStop(); - } - }, - //#} - - /** - * @desc: get values of all cells in row - * @type: private - */ - _getRowArray:function(row){ - var text = new Array(); - - for (var ii = 0; ii < row.childNodes.length; ii++){ - var a = this.cells3(row, ii); - text[ii]=a.getValue(); - } - - return text; - }, - //#__pro_feature:21092006{ - //#data_format:12052006{ - /** - * @desc: set mask for date formatting in cell - * @param: mask - date mask, d,m,y will mean day,month,year; for example "d/m/y" - 22/05/1985 - * @type: public - * @edition: Professional - * @topic: 0 - */ - setDateFormat:function(mask,incoming){ - this._dtmask=mask; - this._dtmask_inc=incoming; - }, - - /** - * @desc: set mask for formatting numeric data ( works for [ed/ro]n excell only or oher cell types with suport for this method) - * @param: mask - numeric mask; for example 0,000.00 - 1,234.56 - * @param: cInd - column index - * @param: p_sep - char used as decimalseparator ( point by default ) - * @param: d_sep - char used as groups part separator ( comma by default ) - * @type: public - * @edition: Professional - * @topic: 0 - */ - setNumberFormat:function(mask, cInd, p_sep, d_sep){ - var nmask = mask.replace(/[^0\,\.]*/g, ""); - var pfix = nmask.indexOf("."); - - if (pfix > -1) - pfix=nmask.length-pfix-1; - var dfix = nmask.indexOf(","); - - if (dfix > -1) - dfix=nmask.length-pfix-2-dfix; - if (typeof p_sep != "string") - p_sep=this.i18n.decimal_separator; - if (typeof d_sep != "string") - d_sep=this.i18n.group_separator; - var pref = mask.split(nmask)[0]; - var postf = mask.split(nmask)[1]; - this._maskArr[cInd]=[ - pfix, - dfix, - pref, - postf, - p_sep, - d_sep - ]; - }, - /** - * @desc: convert formated value to original - * @type: private - */ - _aplNFb:function(data, ind){ - var a = this._maskArr[ind]; - - if (!a) - return data; - - var ndata = parseFloat(data.toString().replace(/[^0-9]*/g, "")); - - if (data.toString().substr(0, 1) == "-") - ndata=ndata*-1; - - if (a[0] > 0) - ndata=ndata / Math.pow(10, a[0]); - return ndata; - }, - - /** - * @desc: format data with mask - * @type: private - */ - _aplNF:function(data, ind){ - var a = this._maskArr[ind]; - - if (!a) - return data; - - var c = (parseFloat(data) < 0 ? "-" : "")+a[2]; - data=Math.abs(Math.round(parseFloat(data)*Math.pow(10, a[0] > 0 ? a[0] : 0))).toString(); - data=(data.length - < a[0] - ? Math.pow(10, a[0]+1-data.length).toString().substr(1, a[0]+1)+data.toString() - : data).split("").reverse(); - data[a[0]]=(data[a[0]]||"0")+a[4]; - - if (a[1] > 0) - for (var j = (a[0] > 0 ? 0 : 1)+a[0]+a[1]; j < data.length; j+=a[1])data[j]+=a[5]; - return c+data.reverse().join("")+a[3]; - }, - //#} - //#} - - //#config_from_xml:20092006{ - - /** - * @desc: configure grid structure from XML - * @type: private - */ - _launchCommands:function(arr){ - for (var i = 0; i < arr.length; i++){ - var args = new Array(); - - for (var j = 0; j < arr[i].childNodes.length; j++) - if (arr[i].childNodes[j].nodeType == 1) - args[args.length]=arr[i].childNodes[j].firstChild.data; - - this[arr[i].getAttribute("command")].apply(this, args); - } - }, - - - /** - * @desc: configure grid structure from XML - * @type: private - */ - _parseHead:function(xmlDoc){ - var hheadCol = dhx4.ajax.xpath("./head", xmlDoc); - - if (hheadCol.length){ - var headCol = dhx4.ajax.xpath("./column", hheadCol[0]); - var asettings = dhx4.ajax.xpath("./settings", hheadCol[0]); - var awidthmet = "setInitWidths"; - var split = false; - - if (asettings[0]){ - for (var s = 0; s < asettings[0].childNodes.length; s++)switch (asettings[0].childNodes[s].tagName){ - case "colwidth": - if (asettings[0].childNodes[s].firstChild&&asettings[0].childNodes[s].firstChild.data == "%") - awidthmet="setInitWidthsP"; - break; - - case "splitat": - split=(asettings[0].childNodes[s].firstChild ? asettings[0].childNodes[s].firstChild.data : false); - break; - } - } - this._launchCommands(dhx4.ajax.xpath("./beforeInit/call", hheadCol[0])); - - if (headCol.length > 0){ - if (this.hdr.rows.length > 0) this.clearAll(true); //drop existing grid here, to prevent loss of initialization parameters - var sets = [ - [], - [], - [], - [], - [], - [], - [], - [], - [] - ]; - - var attrs = ["", "width", "type", "align", "sort", "color", "format", "hidden", "id"]; - var calls = ["", awidthmet, "setColTypes", "setColAlign", "setColSorting", "setColumnColor", "", - "", "setColumnIds"]; - - for (var i = 0; i < headCol.length; i++){ - for (var j = 1; j < attrs.length; j++)sets[j].push(headCol[i].getAttribute(attrs[j])); - sets[0].push((headCol[i].firstChild - ? headCol[i].firstChild.data - : "").replace(/^\s*((\s\S)*.+)\s*$/gi, "$1")); - }; - - this.setHeader(sets[0]); - for (var i = 0; i < calls.length; i++) - if (calls[i]) - this[calls[i]](sets[i].join(this.delim)) - - for (var i = 0; i < headCol.length; i++){ - if ((this.cellType[i].indexOf('co') == 0)||(this.cellType[i] == "clist")){ - var optCol = dhx4.ajax.xpath("./option", headCol[i]); - - if (optCol.length){ - var resAr = new Array(); - - if (this.cellType[i] == "clist"){ - for (var j = 0; - j < optCol.length; - j++)resAr[resAr.length]=optCol[j].firstChild - ? optCol[j].firstChild.data - : ""; - - this.registerCList(i, resAr); - } else { - var combo = this.getCombo(i); - - for (var j = 0; - j < optCol.length; - j++)combo.put(optCol[j].getAttribute("value"), - optCol[j].firstChild - ? optCol[j].firstChild.data - : ""); - } - } - } - - else if (sets[6][i]) - if ((this.cellType[i].toLowerCase().indexOf("calendar")!=-1)||(this.fldSort[i] == "date")) - this.setDateFormat(sets[6][i]); - else - this.setNumberFormat(sets[6][i], i); - } - - this.init(); - - var param=sets[7].join(this.delim); - //preserving state of hidden columns, if not specified directly - if (this.setColHidden && param.replace(/,/g,"")!="") - this.setColHidden(param); - - if ((split)&&(this.splitAt)) - this.splitAt(split); - } - this._launchCommands(dhx4.ajax.xpath("./afterInit/call", hheadCol[0])); - } - //global(grid) user data - var gudCol = dhx4.ajax.xpath("//rows/userdata", xmlDoc); - - if (gudCol.length > 0){ - - if (!this.UserData["gridglobaluserdata"]) - this.UserData["gridglobaluserdata"]=new Hashtable(); - - for (var j = 0; j < gudCol.length; j++){ - var u_record = ""; - for (var xj=0; xj < gudCol[j].childNodes.length; xj++) - u_record += gudCol[j].childNodes[xj].nodeValue; - this.UserData["gridglobaluserdata"].put(gudCol[j].getAttribute("name"),u_record); - } - } - }, - - - //#} - - - /** - * @desc: get list of Ids of all rows with checked exCell in specified column - * @type: public - * @param: col_ind - column index - * @topic: 5 - */ - getCheckedRows:function(col_ind){ - var d = new Array(); - this.forEachRowA(function(id){ - var cell = this.cells(id, col_ind); - if (cell.changeState && cell.getValue() != 0) - d.push(id); - },true); - return d.join(","); - }, - /** - * @desc: check all checkboxes in grid - * @type: public - * @param: col_ind - column index - * @topic: 5 - */ - checkAll:function(){var mode=arguments.length?arguments[0]:1; - for (var cInd=0;cInd= this.grid._cCount) - return; - var ced = this.grid.cells3(r, c._cellIndex); - if (!ced || !ced.cell || !ced.cell._attrs) return; // fix for public release - - if (el._title) - ced.cell.title=""; - - if (!ced.cell._attrs['title']) - el._title=true; - - if (ced) - el.title=ced.cell._attrs['title'] - ||(ced.getTitle - ? ced.getTitle() - : (ced.getValue()||"").toString().replace(/<[^>]*>/gi, "")); - - return true; - }, - //#} - /** - * @desc: can be used for setting correction for cell padding, while calculation setSizes - * @type: private - */ - enableCellWidthCorrection:function(size){ - if (_isFF) - this._wcorr=parseInt(size); - }, - - - /** - * @desc: gets a list of all row ids in grid - * @param: separator - delimiter to use in list - * @returns: list of all row ids in grid - * @type: public - * @topic: 2,7 - */ - getAllRowIds:function(separator){ - var ar = []; - - for (var i = 0; i < this.rowsBuffer.length; i++) - if (this.rowsBuffer[i]) - ar.push(this.rowsBuffer[i].idd); - - return ar.join(separator||this.delim) - }, - getAllItemIds:function(){ - return this.getAllRowIds(); - }, - - //#__pro_feature:21092006{ - //#colspan:20092006{ - - /** - * @desc: dynamicaly set colspan in row starting from specified column index - * @param: row_id - row id - * @param: col_id - index of column - * @param: colspan - size of colspan - * @type: public - * @edition: Professional - * @topic: 2,9 - */ - setColspan:function(row_id, col_ind, colspan){ - if (!this._ecspn) - return; - - var r = this.getRowById(row_id); - - if ((r._childIndexes)&&(r.childNodes[r._childIndexes[col_ind]])){ - var j = r._childIndexes[col_ind]; - var n = r.childNodes[j]; - var m = n.colSpan; - n.colSpan=1; - - if ((m)&&(m != 1)) - for (var i = 1; i < m; i++){ - var c = document.createElement("TD"); - - if (n.nextSibling) - r.insertBefore(c, n.nextSibling); - else - r.appendChild(c); - r._childIndexes[col_ind+i]=j+i; - c._cellIndex=col_ind+i; - c.style.textAlign=this.cellAlign[i]; - c.style.verticalAlign=this.cellVAlign[i]; - n=c; - this.cells3(r, col_ind+i).setValue(""); - } - - for (var z = col_ind*1+1*m; z < r._childIndexes.length; z++){ - r._childIndexes[z]+=(m-1)*1; - } - } - - if ((colspan)&&(colspan > 1)){ - if (r._childIndexes) - var j = r._childIndexes[col_ind]; - else { - var j = col_ind; - r._childIndexes=new Array(); - - for (var z = 0; z < r.childNodes.length; z++)r._childIndexes[z]=z; - } - - r.childNodes[j].colSpan=colspan; - - for (var z = 1; z < colspan; z++){ - r._childIndexes[r.childNodes[j+1]._cellIndex]=j; - r.removeChild(r.childNodes[j+1]); - } - - var c1 = r.childNodes[r._childIndexes[col_ind]]._cellIndex; - - for (var z = c1*1+1*colspan; z < r._childIndexes.length; z++)r._childIndexes[z]-=(colspan-1); - } - }, - - //#} - //#} - - /** - * @desc: prevent caching in IE by adding random values to URL string - * @param: mode - enable/disable random values in URLs ( disabled by default ) - * @type: public - * @topic: 2,9 - */ - preventIECaching:function(mode){ - dhx4.ajax.cache = !mode; - }, - enableColumnAutoSize:function(mode){ - this._eCAS=dhx4.s2b(mode); - }, - /** - * @desc: called when header was dbllicked - * @type: private - * @topic: 1,2 - */ - _onHeaderDblClick:function(e){ - var that = this.grid; - var el = that.getFirstParentOfType(_isIE ? event.srcElement : e.target, "TD"); - - if (!that._eCAS) - return false; - that.adjustColumnSize(el._cellIndexS) - }, - - /** - * @desc: autosize column to max content size - * @param: cInd - index of column - * @type: public - */ - adjustColumnSize:function(cInd, complex){ - if (this._hrrar && this._hrrar[cInd]) return; - this._notresize=true; - var m = 0; - this._setColumnSizeR(cInd, 20); - - for (var j = 1; j < this.hdr.rows.length; j++){ - var a = this.hdr.rows[j]; - a=a.childNodes[(a._childIndexes) ? a._childIndexes[cInd] : cInd]; - - if ((a)&&((!a.colSpan)||(a.colSpan < 2)) && a._cellIndex==cInd){ - if ((a.childNodes[0])&&(a.childNodes[0].className == "hdrcell")) - a=a.childNodes[0]; - m=Math.max(m, a.scrollWidth); - } - } - - var l = this.obj.rows.length; - var z = 0; - var tree = this.cellType._dhx_find("tree"); - - var d = document.createElement("DIV"); - d.className = "dhx_grid_adjust"; - d.style.cssText = "width:auto;height:auto;visibility:hidden; position:absolute; top:0px; left:0px; overflow:hidden; white-space:nowrap;"; - document.body.appendChild(d); - - for (var i = 1; i < l; i++){ - var row = this.obj.rows[i]; - var col = cInd; - if (!this.rowsAr[row.idd]) continue; - - if (row._childIndexes){ - if (row._childIndexes[cInd] == row._childIndexes[cInd+1] ) - continue; - col = row._childIndexes[cInd]; - } - - if (!row.childNodes[col] || row.childNodes[col]._cellIndex != cInd) - continue; - - d.innerHTML = ( row.childNodes[col].innerText || row.childNodes[col].textContent || "" ); - z = d.offsetWidth; - if (this._h2 && cInd == tree) - z += this._h2.get[row.idd].level * 22; - - - - if (z > m) - m=z; - } - - document.body.removeChild(d); - - m+=20+(complex||0); - - this._setColumnSizeR(cInd, m); - this._notresize=false; - this.setSizes(); - }, - - //#header_footer:06042008{ - /** - * @desc: remove header line from grid (opposite to attachHeader) - * @param: index - index of row to be removed ( zero based ) - * @param: hdr - header object (optional) - * @type: public - */ - detachHeader:function(index, hdr){ - hdr=hdr||this.hdr; - var row = hdr.rows[index+1]; - - if (row) - row.parentNode.removeChild(row); - this.setSizes(); - }, - - /** - * @desc: remove footer line from grid (opposite to attachFooter) - * @param: values - array of header titles - * @type: public - */ - detachFooter:function(index){ - this.detachHeader(index, this.ftr); - }, - - /** - * @desc: attach additional line to header - * @param: values - array of header titles - * @param: style - array of styles, optional - * @param: _type - reserved - * @type: public - */ - attachHeader:function(values, style, _type){ - if (typeof (values) == "string") - values=this._eSplit(values); - - if (typeof (style) == "string") - style=style.split(this.delim); - _type=_type||"_aHead"; - - if (this.hdr.rows.length){ - if (values) - this._createHRow([ - values, - style - ], this[(_type == "_aHead") ? "hdr" : "ftr"]); - - else if (this[_type]) - for (var i = 0; i < this[_type].length; i++)this.attachHeader.apply(this, this[_type][i]); - } else { - if (!this[_type]) - this[_type]=new Array(); - this[_type][this[_type].length]=[ - values, - style, - _type - ]; - } - }, - /** - * @desc: - * @type: private - */ - _createHRow:function(data, parent){ - if (!parent){ - if (this.entBox.style.position!="absolute") - this.entBox.style.position="relative"; - var z = document.createElement("DIV"); - z.className="c_ftr".substr(2); - this.entBox.appendChild(z); - var t = document.createElement("TABLE"); - t.cellPadding=t.cellSpacing=0; - - if (!_isIE || _isIE == 8){ - t.width="100%"; - t.style.paddingRight="20px"; - } - t.style.marginRight="20px"; - t.style.tableLayout="fixed"; - - z.appendChild(t); - t.appendChild(document.createElement("TBODY")); - this.ftr=parent=t; - - var hdrRow = t.insertRow(0); - var thl = ((this.hdrLabels.length <= 1) ? data[0].length : this.hdrLabels.length); - - for (var i = 0; i < thl; i++){ - hdrRow.appendChild(document.createElement("TH")); - hdrRow.childNodes[i]._cellIndex=i; - } - - if (_isIE && _isIE<8) - hdrRow.style.position="absolute"; - else - hdrRow.style.height='auto'; - } - var st1 = data[1]; - var z = document.createElement("TR"); - parent.rows[0].parentNode.appendChild(z); - - for (var i = 0; i < data[0].length; i++){ - if (data[0][i] == "#cspan"){ - var pz = z.cells[z.cells.length-1]; - pz.colSpan=(pz.colSpan||1)+1; - continue; - } - - if ((data[0][i] == "#rspan")&&(parent.rows.length > 1)){ - var pind = parent.rows.length-2; - var found = false; - var pz = null; - - while (!found){ - var pz = parent.rows[pind]; - - for (var j = 0; j < pz.cells.length; j++) - if (pz.cells[j]._cellIndex == i){ - found=j+1; - break; - } - pind--; - } - - pz=pz.cells[found-1]; - pz.rowSpan=(pz.rowSpan||1)+1; - continue; - // data[0][i]=""; - } - - var w = document.createElement("TD"); - w._cellIndex=w._cellIndexS=i; - if (this._hrrar && this._hrrar[i] && !_isIE) - w.style.display='none'; - - if (typeof data[0][i] == "object") - w.appendChild(data[0][i]); - else { - if (this.forceDivInHeader) - w.innerHTML="
                    "+(data[0][i]||" ")+"
                    "; - else - w.innerHTML=(data[0][i]||" "); - - if ((data[0][i]||"").indexOf("#") != -1){ - var t = data[0][i].match(/(^|{)#([^}]+)(}|$)/); - - if (t){ - var tn = "_in_header_"+t[2]; - - if (this[tn]) - this[tn]((this.forceDivInHeader ? w.firstChild : w), i, data[0][i].split(t[0])); - } - } - } - if (st1) - w.style.cssText=st1[i]; - - z.appendChild(w); - } - var self = parent; - - if (_isKHTML){ - if (parent._kTimer) - window.clearTimeout(parent._kTimer); - parent._kTimer=window.setTimeout(function(){ - parent.rows[1].style.display='none'; - window.setTimeout(function(){ - parent.rows[1].style.display=''; - }, 1); - }, 500); - } - }, - //#__pro_feature:21092006{ - /** - * @desc: attach additional line to footer - * @param: values - array of header titles - * @param: style - array of styles, optional - * @edition: Professional - * @type: public - */ - attachFooter:function(values, style){ - this.attachHeader(values, style, "_aFoot"); - }, - //#} - //#} - //#__pro_feature:21092006{ - //#dyn_cell_types:04062008{ - /** - * @desc: set excell type for cell in question - * @param: rowId - row ID - * @param: cellIndex - cell index - * @param: type - type of excell (code like "ed", "txt", "ch" etc.) - * @edition: Professional - * @type: public - */ - setCellExcellType:function(rowId, cellIndex, type){ - this.changeCellType(this.getRowById(rowId), cellIndex, type); - }, - disableCell:function(id, index, mode){ - this.cells(id, index).setDisabled(mode); - if (this._fake){ - var row = this.getRowById(id); - var z = this._bfs_cells3(row, index); - z.cell._disabled = mode; - } - }, - getCellExcellType:function(rowId, cellIndex) { - var row = this.getRowById(rowId); - var z = this.cells3(row, cellIndex); - return z.cell._cellType || this.cellType[cellIndex]; - }, - /** - * @desc: - * @type: private - */ - changeCellType:function(r, ind, type){ - type=type||this.cellType[ind]; - var z = this.cells3(r, ind); - var v = z.getValue(); - z.cell._cellType=type; - var z = this.cells3(r, ind); - z.setValue(v); - }, - /** - * @desc: set excell type for all cells in specified row - * @param: rowId - row ID - * @param: type - type of excell - * @edition: Professional - * @type: public - */ - setRowExcellType:function(rowId, type){ - var z = this.rowsAr[rowId]; - - for (var i = 0; i < z.childNodes.length; i++)this.changeCellType(z, i, type); - }, - /** - * @desc: set excell type for all cells in specified column - * @param: colIndex - column index - * @param: type - type of excell - * @edition: Professional - * @type: public - */ - setColumnExcellType:function(colIndex, type){ - for (var i = 0; i < this.rowsBuffer.length; i++) - if (this.rowsBuffer[i] && this.rowsBuffer[i].tagName=="TR") - this.changeCellType(this.rowsBuffer[i], colIndex, type); - if (this.cellType[colIndex]=="math") - this._strangeParams[i]=type; - else - this.cellType[colIndex]=type; - }, - - //#} - //#} - - /** - * @desc: execute code for each row in a grid - * @param: custom_code - function which get row id as incomming argument - * @type: public - */ - forEachRow:function(custom_code){ - for (var a in this.rowsAr) - if (this.rowsAr[a]&&this.rowsAr[a].idd) - custom_code.apply(this, [this.rowsAr[a].idd]); - }, - forEachRowA:function(custom_code){ - for (var a =0; a b.c ? 1 : -1); - }); - - for (var i = 0; i < max; i++) - if (!t[i+1]||( typeof t[i].c == "undefined")) - this._tabOrder[t[i].ind]=(t[0].ind+1)*-1; - else - this._tabOrder[t[i].ind]=t[i+1].ind; - }, - - i18n:{ - loading: "Loading", - decimal_separator:".", - group_separator:"," - }, - - //key_ctrl_shift - _key_events:{ - k13_1_0: function(){ - var rowInd = this.rowsCol._dhx_find(this.row) - this.selectCell(this.rowsCol[rowInd+1], this.cell._cellIndex, true); - }, - k13_0_1: function(){ - var rowInd = this.rowsCol._dhx_find(this.row) - this.selectCell(this.rowsCol[rowInd-1], this.cell._cellIndex, true); - }, - k13_0_0: function(){ - this.editStop(); - this.callEvent("onEnter", [ - (this.row ? this.row.idd : null), - (this.cell ? this.cell._cellIndex : null) - ]); - this._still_active=true; - }, - k9_0_0: function(){ - this.editStop(); - if (!this.callEvent("onTab",[true])) return true; - var z = this._getNextCell(null, 1); - - if (z){ - this.selectCell(z.parentNode, z._cellIndex, (this.row != z.parentNode), false, true); - this._still_active=true; - } - }, - k9_0_1: function(){ - this.editStop(); - if (!this.callEvent("onTab",[false])) return false; - var z = this._getNextCell(null, -1); - - if (z){ - this.selectCell(z.parentNode, z._cellIndex, (this.row != z.parentNode), false, true); - this._still_active=true; - } - }, - k113_0_0: function(){ - if (this._f2kE) - this.editCell(); - }, - k32_0_0: function(){ - var c = this.cells4(this.cell); - - if (!c.changeState||(c.changeState() === false)) - return false; - }, - k27_0_0: function(){ - this.editStop(true); - }, - k33_0_0: function(){ - if (this.pagingOn) - this.changePage(this.currentPage-1); - else - this.scrollPage(-1); - }, - k34_0_0: function(){ - if (this.pagingOn) - this.changePage(this.currentPage+1); - else - this.scrollPage(1); - }, - k37_0_0: function(){ - if (!this.editor&&this.isTreeGrid()) - this.collapseKids(this.row) - else - return false; - }, - k39_0_0: function(){ - if (!this.editor&&this.isTreeGrid()) - this.expandKids(this.row) - else - return false; - }, - k40_0_0: function(){ - var master = this._realfake?this._fake:this; - if (this.editor&&this.editor.combo) - this.editor.shiftNext(); - else { - if (!this.row.idd) return; - var rowInd = Math.max((master._r_select||0),this.getRowIndex(this.row.idd)); - var row = this._nextRow(rowInd, 1); - if (row){ - master._r_select=null; - this.selectCell(row, this.cell._cellIndex, true); - if (master.pagingOn) master.showRow(row.idd); - } else { - if (!this.callEvent("onLastRow", [])) return false; - this._key_events.k34_0_0.apply(this, []); - if (this.pagingOn && this.rowsCol[rowInd+1]) - this.selectCell(rowInd+1, 0, true); - } - } - this._still_active=true; - }, - k38_0_0: function(){ - var master = this._realfake?this._fake:this; - if (this.editor&&this.editor.combo) - this.editor.shiftPrev(); - else { - if (!this.row.idd) return; - var rowInd = this.getRowIndex(this.row.idd)+1; - if (rowInd != -1 && (!this.pagingOn || (rowInd!=1))){ - var nrow = this._nextRow(rowInd-1, -1); - this.selectCell(nrow, this.cell._cellIndex, true); - if (master.pagingOn && nrow) master.showRow(nrow.idd); - } else { - this._key_events.k33_0_0.apply(this, []); - /* - if (this.pagingOn && this.rowsCol[this.rowsBufferOutSize-1]) - this.selectCell(this.rowsBufferOutSize-1, 0, true); - */ - } - } - this._still_active=true; - } - }, - - //(c)dhtmlx ltd. www.dhtmlx.com - - _build_master_row:function(){ - var t = document.createElement("DIV"); - var html = [""]; - - for (var i = 0; i < this._cCount; i++)html.push(""); - html.push("
                    "); - t.innerHTML=html.join(""); - this._master_row=t.firstChild.rows[0]; - }, - - _prepareRow:function(new_id){ /*TODO: hidden columns */ - if (!this._master_row) - this._build_master_row(); - - var r = this._master_row.cloneNode(true); - - for (var i = 0; i < r.childNodes.length; i++){ - r.childNodes[i]._cellIndex=i; - if (this._enbCid) r.childNodes[i].id="c_"+new_id+"_"+i; - if (this.dragAndDropOff) - this.dragger.addDraggableItem(r.childNodes[i], this); - } - r.idd=new_id; - r.grid=this; - - return r; - }, - - //#non_xml_data:06042008{ - _process_jsarray_row:function(r, data){ - r._attrs={ - }; - - for (var j = 0; j < r.childNodes.length; j++)r.childNodes[j]._attrs={ - }; - - this._fillRow(r, (this._c_order ? this._swapColumns(data) : data)); - return r; - }, - _get_jsarray_data:function(data, ind){ - return data[ind]; - }, - _process_json_row:function(r, data){ - data = this._c_order ? this._swapColumns(data.data) : data.data; - return this._process_some_row(r, data); - }, - _process_some_row:function(r,data){ - r._attrs={}; - - for (var j = 0; j < r.childNodes.length; j++) - r.childNodes[j]._attrs={}; - - this._fillRow(r, data); - return r; - }, - _get_json_data:function(data, ind){ - return data.data[ind]; - }, - - - _process_js_row:function(r, data){ - var arr = []; - for (var i=0; i= 0; i--){ - var u_record = ""; - for (var j=0; j < udCol[i].childNodes.length; j++) - u_record += udCol[i].childNodes[j].nodeValue; - - this.setUserData(r.idd,udCol[i].getAttribute("name"), u_record); - } - } - - //load cell data - for (var j = 0; j < cellsCol.length; j++){ - var cellVal = cellsCol[this._c_order?this._c_order[j]:j]; - if (!cellVal) continue; - var cind = r._childIndexes?r._childIndexes[j]:j; - var exc = cellVal.getAttribute("type"); - - if (r.childNodes[cind]){ - if (exc) - r.childNodes[cind]._cellType=exc; - r.childNodes[cind]._attrs=this._xml_attrs(cellVal); - } - - if (!cellVal.getAttribute("xmlcontent")){ - if (cellVal.firstChild) - cellVal=cellVal.firstChild.wholeText||cellVal.firstChild.data; - else - cellVal=""; - } - - strAr.push(cellVal); - } - - for (j < cellsCol.length; j < r.childNodes.length; j++)r.childNodes[j]._attrs={ - }; - - //treegrid - if (r.parentNode&&r.parentNode.tagName == "row") - r._attrs["parent"]=r.parentNode.getAttribute("idd"); - - //back to common code - this._fillRow(r, strAr); - return r; - }, - _get_xml_data:function(data, ind){ - data=data.firstChild; - - while (true){ - if (!data) - return ""; - - if (data.tagName == "cell") - ind--; - - if (ind < 0) - break; - data=data.nextSibling; - } - return (data.firstChild ? data.firstChild.data : ""); - }, - //#} - _fillRow:function(r, text){ - if (this.editor && this.editor.parentNode && this.editor.parentNode.idd == r.idd) - this.editStop(); - - for (var i = 0; i < r.childNodes.length; i++){ - if ((i < text.length)||(this.defVal[i])){ - - var ii=r.childNodes[i]._cellIndex; - var val = text[ii]; - var aeditor = this.cells4(r.childNodes[i]); - - if ((this.defVal[ii])&&((val == "")||( typeof (val) == "undefined"))) - val=this.defVal[ii]; - - if (aeditor) aeditor.setValue(val) - } else { - r.childNodes[i].innerHTML=" "; - r.childNodes[i]._clearCell=true; - } - } - - return r; - }, - - _postRowProcessing:function(r,donly){ - if (r._attrs["class"]) - r._css=r.className=r._attrs["class"]; - - if (r._attrs.locked) - r._locked=true; - - if (r._attrs.bgColor) - r.bgColor=r._attrs.bgColor; - var cor=0; - - for (var i = 0; i < r.childNodes.length; i++){ - var c=r.childNodes[i]; - var ii=c._cellIndex; - //style attribute - var s = c._attrs.style||r._attrs.style; - - if (s) - c.style.cssText+=";"+s; - - if (c._attrs["class"]) - c.className=c._attrs["class"]; - s=c._attrs.align||this.cellAlign[ii]; - - - if (s) - c.align=s; - c.vAlign=c._attrs.valign||this.cellVAlign[ii]; - var color = c._attrs.bgColor||this.columnColor[ii]; - - - if (color) - c.bgColor=color; - - if (c._attrs["colspan"] && !donly){ - this.setColspan(r.idd, i+cor, c._attrs["colspan"]); - //i+=(c._attrs["colspan"]-1); - cor+=(c._attrs["colspan"]-1); - } - - if (this._hrrar&&this._hrrar[ii]&&!donly){ - c.style.display="none"; - } - }; - this.callEvent("onRowCreated", [ - r.idd, - r, - null - ]); - }, - /** - * @desc: load data from external file ( xml, json, jsarray, csv ) - * @param: url - url to external file - * @param: call - after loading callback function, optional, can be ommited - * @param: type - type of data (xml,csv,json,jsarray) , optional, xml by default - * @type: public - */ - load:function(url, call, type){ - this.callEvent("onXLS", [this]); - if (arguments.length == 2 && typeof call != "function"){ - type=call; - call=null; - } - this._last_load_type = type = type||this._last_load_type||"xml"; - - if (!this.xmlFileUrl) - this.xmlFileUrl=url; - this._data_type=type; - - this.xmlLoader = this.doLoadDetails; - - var that = this; - this.xmlLoader = function(xml){ - if (!that.callEvent) return; - that["_process_"+type](xml.xmlDoc); - if (!that._contextCallTimer) - that.callEvent("onXLE", [that,0,0,xml.xmlDoc,type]); - - if (call){ - call(); - call=null; - } - }; - return dhx4.ajax.get(url, this.xmlLoader); - }, - //#__pro_feature:21092006{ - loadXMLString:function(str, afterCall){ - if (window.console && window.console.info) - window.console.info("loadXMLString was deprecated", "http://docs.dhtmlx.com/migration__index.html#migrationfrom43to44"); - - this.parse( { responseXML: dhx4.ajax.parse(str) }, afterCall, "xml") - }, - //#} - loadXML:function(url, afterCall){ - if (window.console && window.console.info) - window.console.info("loadXML was deprecated", "http://docs.dhtmlx.com/migration__index.html#migrationfrom43to44"); - - this.load(url, afterCall, "xml") - }, - /** - * @desc: load data from local datasource ( xml string, csv string, xml island, xml object, json objecs , javascript array ) - * @param: data - string or object - * @param: type - data type (xml,json,jsarray,csv), optional, data threated as xml by default - * @type: public - */ - parse:function(data, call, type){ - if (arguments.length == 2 && typeof call != "function"){ - type=call; - call=null; - } - this._last_load_type = type = type||this._last_load_type||"xml"; - this._data_type=type; - - if (type == "xml" && typeof data == "string") - data = { responseXML: dhx4.ajax.parse(data) }; - - this["_process_"+type](data); - if (!this._contextCallTimer) - this.callEvent("onXLE", [this,0,0,data,type]); - if (call) - call(); - }, - - xml:{ - top: "rows", - row: "./row", - cell: "./cell", - s_row: "row", - s_cell: "cell", - row_attrs: [], - cell_attrs: [] - }, - - csv:{ - row: "\n", - cell: "," - }, - - _xml_attrs:function(node){ - var data = { - }; - - if (node.attributes.length){ - for (var i = 0; i < node.attributes.length; i++)data[node.attributes[i].name]=node.attributes[i].value; - } - - return data; - }, - //#xml_data:06042008{ - _process_xml:function(xhr){ - if (this._refresh_mode) return this._refreshFromXML(xhr); - this._parsing=true; - var top = dhx4.ajax.xmltop(this.xml.top, xhr); - if (top.tagName!=this.xml.top) return; - var skey = top.getAttribute("dhx_security"); - if (skey) - dhtmlx.security_key = skey; - - //#config_from_xml:20092006{ - this._parseHead(top); - //#} - var rows = dhx4.ajax.xpath(this.xml.row, top) - var cr = parseInt(top.getAttribute("pos")||0); - var total = parseInt(top.getAttribute("total_count")||0); - if (!this.pagingOn) - var total = Math.min(total, 32000000/this._srdh); - - var reset = false; - if (total && total!=this.rowsBuffer.length){ - if (!this.rowsBuffer[total-1]){ - if (this.rowsBuffer.length) - reset=true; - this.rowsBuffer[total-1]=null; - } - if (total 0){ - var add_step = (_isIE || window._FFrv)?Math.min(add_count, block_size):add_count; - var new_filler = this._add_filler(max, add_step); - if (new_filler) - this._fillers.push(new_filler); - add_count -= add_step; - max += add_step; - } - } - - //p.appendChild(this.obj) - this.setSizes(); - }, - - render_row:function(ind){ - if (!this.rowsBuffer[ind]) - return -1; - - if (this.rowsBuffer[ind]._parser){ - var r = this.rowsBuffer[ind]; - if (this.rowsAr[r.idd] && this.rowsAr[r.idd].tagName=="TR") - return this.rowsBuffer[ind]=this.rowsAr[r.idd]; - var row = this._prepareRow(r.idd); - this.rowsBuffer[ind]=row; - this.rowsAr[r.idd]=row; - - r._parser.call(this, row, r.data); - this._postRowProcessing(row); - return row; - } - return this.rowsBuffer[ind]; - }, - - - _get_cell_value:function(row, ind, method){ - if (row._locator){ - /*if (!this._data_cache[row.idd]) - this._data_cache[row.idd]=[]; - if (this._data_cache[row.idd][ind]) - return this._data_cache[row.idd][ind]; - else - return this._data_cache[row.idd][ind]=row._locator.call(this,row.data,ind); - */ - if (this._c_order) - ind=this._c_order[ind]; - return row._locator.call(this, row.data, ind); - } - return this.cells3(row, ind)[method ? method : "getValue"](); - }, - //#sorting:06042008{ - /** - * @desc: sort grid - * @param: col - index of column, by which grid need to be sorted - * @param: type - sorting type (str,int,date), optional, by default sorting type taken from column setting - * @param: order - sorting order (asc,des), optional, by default sorting order based on previous sorting operation - * @type: public - */ - sortRows:function(col, type, order){ - this.editStop(); - //default values - order=(order||"asc").toLowerCase(); - type=(type||this.fldSort[col]); - col=col||0; - - if (this.isTreeGrid()) - this.sortTreeRows(col, type, order); - else{ - - var arrTS = { - }; - - var atype = this.cellType[col]; - var amet = "getValue"; - - if (atype == "link") - amet="getContent"; - - if (atype == "dhxCalendar"||atype == "dhxCalendarA") - amet="getDate"; - - if (atype == "co"||atype == "coro") - amet="getText"; - - for (var i = 0; - i < this.rowsBuffer.length; - i++)arrTS[this.rowsBuffer[i].idd]=this._get_cell_value(this.rowsBuffer[i], col, amet); - - this._sortRows(col, type, order, arrTS); - } - this.callEvent("onAfterSorting", [col,type,order]); - }, - /** - * @desc: - * @type: private - */ - _sortCore:function(col, type, order, arrTS, s){ - var sort = "sort"; - - if (this._sst){ - s["stablesort"]=this.rowsCol.stablesort; - sort="stablesort"; - } - //#__pro_feature:21092006{ - //#custom_sort:21092006{ - if (type.length > 4) - type=window[type]; - - if (type == 'cus'){ - var cstr=this._customSorts[col]; - s[sort](function(a, b){ - return cstr(arrTS[a.idd], arrTS[b.idd], order, a.idd, b.idd); - }); - } - else if (typeof (type) == 'function'){ - s[sort](function(a, b){ - return type(arrTS[a.idd], arrTS[b.idd], order, a.idd, b.idd); - }); - } - else - //#} - //#} - if (type == 'str'){ - s[sort](function(a, b){ - if (order == "asc") - return arrTS[a.idd] > arrTS[b.idd] ? 1 : (arrTS[a.idd] < arrTS[b.idd] ? -1 : 0); - else - return arrTS[a.idd] < arrTS[b.idd] ? 1 : (arrTS[a.idd] > arrTS[b.idd] ? -1 : 0); - }); - } - else if (type == 'int'){ - s[sort](function(a, b){ - var aVal = parseFloat(arrTS[a.idd]); - aVal=isNaN(aVal) ? -99999999999999 : aVal; - var bVal = parseFloat(arrTS[b.idd]); - bVal=isNaN(bVal) ? -99999999999999 : bVal; - - if (order == "asc") - return aVal-bVal; - else - return bVal-aVal; - }); - } - else if (type == 'date'){ - s[sort](function(a, b){ - var aVal = Date.parse(arrTS[a.idd])||(Date.parse("01/01/1900")); - var bVal = Date.parse(arrTS[b.idd])||(Date.parse("01/01/1900")); - - if (order == "asc") - return aVal-bVal - else - return bVal-aVal - }); - } - }, - /** - * @desc: inner sorting routine - * @type: private - * @topic: 7 - */ - _sortRows:function(col, type, order, arrTS){ - this._sortCore(col, type, order, arrTS, this.rowsBuffer); - this._reset_view(); - this.callEvent("onGridReconstructed", []); - }, - //#} - _reset_view:function(skip){ - if (!this.obj.rows[0]) return; - if (this._lahRw) this._unsetRowHover(0, true); //remove hovering during reset - this.callEvent("onResetView",[]); - var tb = this.obj.rows[0].parentNode; - var tr = tb.removeChild(tb.childNodes[0], true) - if (_isKHTML) //Safari 2x - for (var i = tb.parentNode.childNodes.length-1; i >= 0; i--) { if (tb.parentNode.childNodes[i].tagName=="TR") tb.parentNode.removeChild(tb.parentNode.childNodes[i],true); } - else if (_isIE) - for (var i = tb.childNodes.length-1; i >= 0; i--) tb.childNodes[i].removeNode(true); - else - tb.innerHTML=""; - tb.appendChild(tr) - this.rowsCol=dhtmlxArray(); - if (this._sst) - this.enableStableSorting(true); - this._fillers=this.undefined; - if (!skip){ - if (_isIE && this._srnd){ - // var p=this._get_view_size; - // this._get_view_size=function(){ return 1; } - this.render_dataset(); - // this._get_view_size=p; - } - else - this.render_dataset(); - } - - - }, - - /** - * @desc: delete row from the grid - * @param: row_id - row ID - * @type: public - */ - deleteRow:function(row_id, node){ - if (!node) - node=this.getRowById(row_id) - - if (!node) - return; - - this.editStop(); - if (!this._realfake) - if (this.callEvent("onBeforeRowDeleted", [row_id]) == false) - return false; - - var pid=0; - if (this.cellType._dhx_find("tree") != -1 && !this._realfake){ - pid=this._h2.get[row_id].parent.id; - this._removeTrGrRow(node); - } - else { - if (node.parentNode) - node.parentNode.removeChild(node); - - var ind = this.rowsCol._dhx_find(node); - - if (ind != -1) - this.rowsCol._dhx_removeAt(ind); - - for (var i = 0; i < this.rowsBuffer.length; i++) - if (this.rowsBuffer[i]&&this.rowsBuffer[i].idd == row_id){ - this.rowsBuffer._dhx_removeAt(i); - ind=i; - break; - } - } - this.rowsAr[row_id]=null; - - for (var i = 0; i < this.selectedRows.length; i++) - if (this.selectedRows[i].idd == row_id) - this.selectedRows._dhx_removeAt(i); - - if (this._srnd){ - for (var i = 0; i < this._fillers.length; i++){ - var f = this._fillers[i] - if (!f) continue; //can be null - if (f[0] >= ind) - this._update_fillers(i, 0, -1); - else if (f[0]+f[1] > ind) - this._update_fillers(i, -1, 0); - }; - - this._update_srnd_view(); - } - - if (this.pagingOn) - this.changePage(); - if (!this._realfake) this.callEvent("onAfterRowDeleted", [row_id,pid]); - this.callEvent("onGridReconstructed", []); - if (this._ahgr) this.setSizes(); - return true; - }, - - _addRow:function(new_id, text, ind){ - if (ind == -1|| typeof ind == "undefined") - ind=this.rowsBuffer.length; - if (typeof text == "string") text=text.split(this.delim); - var row = this._prepareRow(new_id); - row._attrs={ - }; - - for (var j = 0; j < row.childNodes.length; j++)row.childNodes[j]._attrs={ - }; - - - this.rowsAr[row.idd]=row; - if (this._h2) this._h2.get[row.idd].buff=row; //treegrid specific - this._fillRow(row, text); - this._postRowProcessing(row); - if (this._skipInsert){ - this._skipInsert=false; - return this.rowsAr[row.idd]=row; - } - - if (this.pagingOn){ - this.rowsBuffer._dhx_insertAt(ind,row); - this.rowsAr[row.idd]=row; - return row; - } - - if (this._fillers){ - this.rowsCol._dhx_insertAt(ind, null); - this.rowsBuffer._dhx_insertAt(ind,row); - if (this._fake) this._fake.rowsCol._dhx_insertAt(ind, null); - this.rowsAr[row.idd]=row; - var found = false; - - for (var i = 0; i < this._fillers.length; i++){ - var f = this._fillers[i]; - - if (f&&f[0] <= ind&&(f[0]+f[1]) >= ind){ - f[1]=f[1]+1; - var nh = f[2].firstChild.style.height=parseInt(f[2].firstChild.style.height)+this._srdh+"px"; - found=true; - if (this._fake){ - this._fake._fillers[i][1]++; - this._fake._fillers[i][2].firstChild.style.height = nh; - } - } - - if (f&&f[0] > ind){ - f[0]=f[0]+1 - if (this._fake) this._fake._fillers[i][0]++; - } - } - - if (!found) - this._fillers.push(this._add_filler(ind, 1, (ind == 0 ? { - parentNode: this.obj.rows[0].parentNode, - nextSibling: (this.rowsCol[1]) - } : this.rowsCol[ind-1]))); - - return row; - } - this.rowsBuffer._dhx_insertAt(ind,row); - return this._insertRowAt(row, ind); - }, - - /** - * @desc: add row to the grid - * @param: new_id - row ID, must be unique - * @param: text - row values, may be a comma separated list or an array - * @param: ind - index of new row, optional, row added to the last position by default - * @type: public - */ - addRow:function(new_id, text, ind){ - var r = this._addRow(new_id, text, ind); - - if (!this.dragContext) - this.callEvent("onRowAdded", [new_id]); - - if (this.pagingOn) - this.changePage(this.currentPage) - - if (this._srnd) - this._update_srnd_view(); - - r._added=true; - - if (this._srnd && !this._fillers) - this._fillers = []; - - if (this._ahgr) - this.setSizes(); - this.callEvent("onGridReconstructed", []); - return r; - }, - - _insertRowAt:function(r, ind, skip){ - this.rowsAr[r.idd]=r; - - if (this._skipInsert){ - this._skipInsert=false; - return r; - } - - if ((ind < 0)||((!ind)&&(parseInt(ind) !== 0))) - ind=this.rowsCol.length; - else { - if (ind > this.rowsCol.length) - ind=this.rowsCol.length; - } - - if (this._cssEven){ - var css = r.className.replace(this._cssUnEven, ""); - if ((this._cssSP ? this.getLevel(r.idd) : ind)%2 == 1) - r.className=css+" "+this._cssUnEven+(this._cssSU ? (" "+this._cssUnEven+"_"+this.getLevel(r.idd)) : ""); - else - r.className=css+" "+this._cssEven+(this._cssSU ? (" "+this._cssEven+"_"+this.getLevel(r.idd)) : ""); - } - /* - if (r._skipInsert) { - this.rowsAr[r.idd] = r; - return r; - }*/ - if (!skip) - if ((ind == (this.obj.rows.length-1))||(!this.rowsCol[ind])) - if (_isKHTML) - this.obj.appendChild(r); - else { - this.obj.firstChild.appendChild(r); - } - else { - this.rowsCol[ind].parentNode.insertBefore(r, this.rowsCol[ind]); - } - - this.rowsCol._dhx_insertAt(ind, r); - this.callEvent("onRowInserted",[r, ind]); - return r; - }, - - getRowById:function(id){ - var row = this.rowsAr[id]; - - if (row){ - if (row.tagName != "TR"){ - for (var i = 0; i < this.rowsBuffer.length; i++) - if (this.rowsBuffer[i] && this.rowsBuffer[i].idd == id) - return this.render_row(i); - if (this._h2) return this.render_row(null,row.idd); - } - return row; - } - return null; - }, - - /** - * @desc: gets dhtmlXGridCellObject object (if no arguments then gets dhtmlXGridCellObject object of currently selected cell) - * @param: row_id - row id - * @param: col - column index - * @returns: dhtmlXGridCellObject object (see its methods below) - * @type: public - * @topic: 4 - */ - cellById:function(row_id, col){ - return this.cells(row_id, col); - }, - /** - * @desc: gets dhtmlXGridCellObject object (if no arguments then gets dhtmlXGridCellObject object of currently selected cell) - * @param: row_id - row id - * @param: col - column index - * @returns: dhtmlXGridCellObject object (use it to get/set value to cell etc.) - * @type: public - * @topic: 4 - */ - cells:function(row_id, col){ - if (arguments.length == 0) - return this.cells4(this.cell); - else - var c = this.getRowById(row_id); - var cell = (c._childIndexes ? c.childNodes[c._childIndexes[col]] : c.childNodes[col]); - if (!cell && c._childIndexes) - cell = c.firstChild || {}; - return this.cells4(cell); - }, - /** - * @desc: gets dhtmlXGridCellObject object - * @param: row_index - row index - * @param: col - column index - * @returns: dhtmlXGridCellObject object (see its methods below) - * @type: public - * @topic: 4 - */ - cellByIndex:function(row_index, col){ - return this.cells2(row_index, col); - }, - /** - * @desc: gets dhtmlXGridCellObject object - * @param: row_index - row index - * @param: col - column index - * @returns: dhtmlXGridCellObject object (see its methods below) - * @type: public - * @topic: 4 - */ - cells2:function(row_index, col){ - var c = this.render_row(row_index); - var cell = (c._childIndexes ? c.childNodes[c._childIndexes[col]] : c.childNodes[col]); - if (!cell && c._childIndexes) - cell = c.firstChild || {}; - return this.cells4(cell); - }, - /** - * @desc: gets exCell editor for row object and column id - * @type: private - * @topic: 4 - */ - cells3:function(row, col){ - var cell = (row._childIndexes ? row.childNodes[row._childIndexes[col]] : row.childNodes[col]); - return this.cells4(cell); - }, - /** - * @desc: gets exCell editor for cell object - * @type: private - * @topic: 4 - */ - cells4:function(cell){ - var type = window["eXcell_"+(cell._cellType||this.cellType[cell._cellIndex])]; - - if (type) - return new type(cell); - }, - cells5:function(cell, type){ - var type = type||(cell._cellType||this.cellType[cell._cellIndex]); - - if (!this._ecache[type]){ - if (!window["eXcell_"+type]) - var tex = eXcell_ro; - else - var tex = window["eXcell_"+type]; - - this._ecache[type]=new tex(cell); - } - this._ecache[type].cell=cell; - return this._ecache[type]; - }, - dma:function(mode){ - if (!this._ecache) - this._ecache={ - }; - - if (mode&&!this._dma){ - this._dma=this.cells4; - this.cells4=this.cells5; - } else if (!mode&&this._dma){ - this.cells4=this._dma; - this._dma=null; - } - }, - - /** - * @desc: returns count of row in grid ( in case of dynamic mode it will return expected count of rows ) - * @type: public - * @returns: count of rows in grid - */ - getRowsNum:function(){ - return this.rowsBuffer.length; - }, - - - /** - * @desc: enables/disables mode when readonly cell is not available with tab - * @param: mode - (boolean) true/false - * @type: public - */ - enableEditTabOnly:function(mode){ - if (arguments.length > 0) - this.smartTabOrder=dhx4.s2b(mode); - else - this.smartTabOrder=true; - }, - /** - * @desc: sets elements which get focus when tab is pressed in the last or first (tab+shift) cell - * @param: start - html object or its id - gets focus when tab+shift are pressed in the first cell - * @param: end - html object or its id - gets focus when tab is pressed in the last cell - * @type: public - */ - setExternalTabOrder:function(start, end){ - var grid = this; - this.tabStart=( typeof (start) == "object") ? start : document.getElementById(start); - - var oldkeydown_start = this.tabStart.onkeydown; - this.tabStart.onkeydown=function(e){ - if (oldkeydown_start) - oldkeydown_start.call(this, e); - - var ev = (e||window.event); - if (ev.keyCode == 9 && !ev.shiftKey){ - - ev.cancelBubble=true; - grid.selectCell(0, 0, 0, 0, 1); - - if (grid.smartTabOrder && grid.cells2(0, 0).isDisabled()){ - grid._key_events["k9_0_0"].call(grid); - } - this.blur(); - return false; - } - }; - if(_isOpera) this.tabStart.onkeypress = this.tabStart.onkeydown; - this.tabEnd=( typeof (end) == "object") ? end : document.getElementById(end); - - var oldkeydown_end= this.tabEnd.onkeydown; - this.tabEnd.onkeydown=this.tabEnd.onkeypress=function(e){ - if (oldkeydown_end) - oldkeydown_end.call(this, e); - - var ev = (e||window.event); - if (ev.keyCode == 9 && ev.shiftKey){ - ev.cancelBubble=true; - grid.selectCell((grid.getRowsNum()-1), (grid.getColumnCount()-1), 0, 0, 1); - - if (grid.smartTabOrder && grid.cells2((grid.getRowsNum()-1), (grid.getColumnCount()-1)).isDisabled()){ - grid._key_events["k9_0_1"].call(grid); - } - this.blur(); - return false; - } - }; - if(_isOpera) this.tabEnd.onkeypress = this.tabEnd.onkeydown; - }, - /** - * @desc: returns unique ID - * @type: public - */ - uid:function(){ - if (!this._ui_seed) this._ui_seed=(new Date()).valueOf(); - return this._ui_seed++; - }, - setIconset:function(name){ - this.iconset = name; - }, - /** - * @desc: clears existing grid state and load new XML - * @type: public - */ - clearAndLoad:function(){ - if (this._last_load_request){ - //abort last loading if new issued - var last = this._last_load_request.xmlDoc; - if (last.readyState != 4){ - try{ - last.onreadystatechange = function(){}; - last.abort(); - } catch(e){} - } - }; - - var t=this._pgn_skin; this._pgn_skin=null; - this.clearAll(); - this._pgn_skin=t; - this._last_load_request = this.load.apply(this,arguments); - }, - /** - * @desc: returns details about current grid state - * @type: public - */ - getStateOfView:function(){ - if (this.pagingOn){ - var start = (this.currentPage-1)*this.rowsBufferOutSize; - return [this.currentPage, start, Math.min(start+this.rowsBufferOutSize,this.rowsBuffer.length), this.rowsBuffer.length ]; - } - - var min=Math.floor(this.objBox.scrollTop/this._srdh); - var max=Math.ceil(parseInt(this.objBox.offsetHeight)/this._srdh); - - if (this.multiLine){ - var pxHeight = this.objBox.scrollTop; - min = 0; - while(pxHeight >= 0) { - pxHeight-=this.rowsCol[min]?this.rowsCol[min].offsetHeight:this._srdh; - min++; - } - min--; - - pxHeight += this.objBox.offsetHeight; - max = 0; - while (pxHeight >=0 ){ - pxHeight-=this.rowsCol[min+max]?this.rowsCol[min+max].offsetHeight:this._srdh; - max++; - } - } - - return [ - min, - max, - this.rowsBuffer.length - ]; - } -}; - -//grid -(function(){ - //local helpers - function direct_set(name,value){ this[name]=value; } - function direct_call(name,value){ this[name].call(this,value); } - function joined_call(name,value){ this[name].call(this,value.join(this.delim)); } - function set_options(name,value){ - for (var i=0; i < value.length; i++) - if (typeof value[i] == "object"){ - var combo = this.getCombo(i); - for (var key in value[i]) - combo.put(key, value[i][key]); - } - } - function header_set(name,value,obj){ - //make a matrix - var rows = 1; - var header = []; - function add(i,j,value){ - if (!header[j]) header[j]=[]; - if (typeof value == "object") value.toString=function(){ return this.text; } - header[j][i]=value; - } - - for (var i=0; i 0 ? "&dhx_no_header=1":""); - }; - var combine_urls=function(url){ - return clear_url.call(this,url)+(this._connector_sorting||"")+(this._connector_filter||""); - }; - var sorting_url=function(url,ind,dir){ - var index = this._c_order ? this._c_order[ind]:ind; - this._connector_sorting="&dhx_sort["+index+"]="+dir; - return combine_urls.call(this,url); - }; - var filtering_url=function(url,inds,vals){ - var chunks = []; - for (var i=0; i 1 ? val2 : val) - ]); -//#} -//#} -} - -dhtmlXGridCellObject.prototype.setCTxtValue=function(val){ - this.cell.innerHTML=""; - this.cell.appendChild(document.createTextNode(val)); -//#__pro_feature:21092006{ -//#on_cell_changed:23102006{ - this.grid.callEvent("onCellChanged", [ - this.cell.parentNode.idd, - this.cell._cellIndex, - val - ]); -//#} -//#} -} - -/** -* @desc: sets text representation of cell which contains math formula ( setLabel doesn't triger math calculations as setValue do) -* @param: val - new value -* @type: public -*/ -dhtmlXGridCellObject.prototype.setLabel=function(val){ - this.cell.innerHTML=val; -} - -/** -* @desc: get formula of ExCell ( actual only for math based exCells ) -* @type: public -*/ -dhtmlXGridCellObject.prototype.getMath=function(){ - if (this._val) - return this.val; - else - return this.getValue(); -} - -/** -* @desc: dhtmlxGrid cell editor constructor (base for all eXcells). Shouldn't be accessed directly -* @returns: dhtmlxGrid cell editor object -* @type: public -*/ -function eXcell(){ - this.obj=null; //editor - //this.cell = null//cell to get value from - this.val=null; //current value (before edit) - /** - * @desc: occures on space for example - * @type: private - */ - this.changeState=function(){ - return false - } - /** - * @desc: opens editor - * @type: private - */ - this.edit=function(){ - this.val=this.getValue() - } // - /** - * @desc: return value to cell, closes editor - * @returns: if cell's value was changed (true) or not - * @type: private - */ - this.detach=function(){ - return false - } // - /** - * @desc: gets position (left-right) of element - * @param: oNode - element to get position of - * @type: private - * @topic: 8 - */ - this.getPosition=function(oNode){ - var oCurrentNode = oNode; - var iLeft = 0; - var iTop = 0; - - while (oCurrentNode.tagName != "BODY"){ - iLeft+=oCurrentNode.offsetLeft; - iTop+=oCurrentNode.offsetTop; - oCurrentNode=oCurrentNode.offsetParent; - } - return new Array(iLeft, iTop); - } -} -eXcell.prototype=new dhtmlXGridCellObject; - - -/** -* @desc: simple text editor -* @returns: dhtmlxGrid cell editor object -* @type: public -*/ -function eXcell_ed(cell){ - if (cell){ - this.cell=cell; - this.grid=this.cell.parentNode.grid; - } - this.edit=function(){ - this.cell.atag=(!this.grid.multiLine) ? "INPUT" : "TEXTAREA"; - this.val=this.getValue(); - this.obj=document.createElement(this.cell.atag); - this.obj.setAttribute("autocomplete", "off"); - this.obj.style.height=(this.cell.offsetHeight-(this.grid.multiLine ? 9 : 4))+"px"; - - this.obj.className="dhx_combo_edit"; - this.obj.wrap="soft"; - this.obj.style.textAlign=this.cell.style.textAlign; - this.obj.onclick=function(e){ - (e||event).cancelBubble=true - } - this.obj.onmousedown=function(e){ - (e||event).cancelBubble=true - } - this.obj.value=this.val - this.cell.innerHTML=""; - this.cell.appendChild(this.obj); - - this.obj.onselectstart=function(e){ - if (!e) - e=event; - e.cancelBubble=true; - return true; - }; - if (_isIE){ - this.obj.focus(); - this.obj.blur(); - } - this.obj.focus(); - } - this.getValue=function(){ - if ((this.cell.firstChild)&&((this.cell.atag)&&(this.cell.firstChild.tagName == this.cell.atag))) - return this.cell.firstChild.value; - - if (this.cell._clearCell) - return ""; - - return this.cell.innerHTML.toString()._dhx_trim(); - } - - this.detach=function(){ - this.setValue(this.obj.value); - return this.val != this.getValue(); - } -} -eXcell_ed.prototype=new eXcell; - -/** -* @desc: pure text editor ( HTML not supported ) -* @returns: dhtmlxGrid cell editor object -* @type: public -*/ -function eXcell_edtxt(cell){ - if (cell){ - this.cell=cell; - this.grid=this.cell.parentNode.grid; - } - this.getValue=function(){ - if ((this.cell.firstChild)&&((this.cell.atag)&&(this.cell.firstChild.tagName == this.cell.atag))) - return this.cell.firstChild.value; - - if (this.cell._clearCell) - return ""; - - return (_isIE ? this.cell.innerText : this.cell.textContent); - } - this.setValue=function(val){ - if (!val||val.toString()._dhx_trim() == ""){ - val=" "; - this.cell._clearCell=true; - } else - this.cell._clearCell=false; - this.setCTxtValue(val); - } -} -eXcell_edtxt.prototype=new eXcell_ed; -//#__pro_feature:21092006{ -/** -* @desc: simple numeric text editor -* @returns: dhtmlxGrid cell editor object -* @type: public -* @edition: professional -*/ -function eXcell_edn(cell){ - if (cell){ - this.cell=cell; - this.grid=this.cell.parentNode.grid; - } - this.getValue=function(){ - //this.grid.editStop(); - if ((this.cell.firstChild)&&(this.cell.firstChild.tagName == "TEXTAREA")) - return this.cell.firstChild.value; - - if (this.cell._clearCell) - return ""; - - return this.cell._orig_value||this.grid._aplNFb(this.cell.innerHTML.toString()._dhx_trim(), this.cell._cellIndex); - } - - this.detach=function(){ - var tv = this.obj.value; - this.setValue(tv); - return this.val != this.getValue(); - } -} -eXcell_edn.prototype=new eXcell_ed; -eXcell_edn.prototype.setValue=function(val){ - if (!val||val.toString()._dhx_trim() == ""){ - this.cell._clearCell=true; - return this.setCValue(" ",0); - } else { - this.cell._clearCell=false; - this.cell._orig_value = val; - } - this.setCValue(this.grid._aplNF(val, this.cell._cellIndex), val); -} -//#} - -//#ch_excell:04062008{ -/** -* @desc: checkbox editor -* @returns: dhtmlxGrid cell editor object -* @type: public -*/ -function eXcell_ch(cell){ - if (cell){ - this.cell=cell; - this.grid=this.cell.parentNode.grid; - } - - this.disabledF=function(fl){ - if ((fl == true)||(fl == 1)) - this.cell.innerHTML=this.cell.innerHTML.replace("item_chk0.", "item_chk0_dis.").replace("item_chk1.", - "item_chk1_dis."); - else - this.cell.innerHTML=this.cell.innerHTML.replace("item_chk0_dis.", "item_chk0.").replace("item_chk1_dis.", - "item_chk1."); - } - - this.changeState=function(fromClick){ - //nb: - if (fromClick===true && !this.grid.isActive) { - if (window.globalActiveDHTMLGridObject != null && window.globalActiveDHTMLGridObject != this.grid && window.globalActiveDHTMLGridObject.isActive) window.globalActiveDHTMLGridObject.setActive(false); - this.grid.setActive(true); - } - if ((!this.grid.isEditable)||(this.cell.parentNode._locked)||(this.isDisabled())) - return; - - if (this.grid.callEvent("onEditCell", [ - 0, - this.cell.parentNode.idd, - this.cell._cellIndex - ])){ - this.val=this.getValue() - - if (this.val == "1") - this.setValue("0") - else - this.setValue("1") - - this.cell.wasChanged=true; - //nb: - this.grid.callEvent("onEditCell", [ - 1, - this.cell.parentNode.idd, - this.cell._cellIndex - ]); - - this.grid.callEvent("onCheckbox", [ - this.cell.parentNode.idd, - this.cell._cellIndex, - (this.val != '1') - ]); - - this.grid.callEvent("onCheck", [ - this.cell.parentNode.idd, - this.cell._cellIndex, - (this.val != '1') - ]); - } else { //preserve editing (not tested thoroughly for this editor) - this.editor=null; - } - } - this.getValue=function(){ - return this.cell.chstate ? this.cell.chstate.toString() : "0"; - } - - this.isCheckbox=function(){ - return true; - } - this.isChecked=function(){ - if (this.getValue() == "1") - return true; - else - return false; - } - - this.setChecked=function(fl){ - this.setValue(fl.toString()) - } - this.detach=function(){ - return this.val != this.getValue(); - } - this.edit=null; -} -eXcell_ch.prototype=new eXcell; -eXcell_ch.prototype.setValue=function(val){ - this.cell.style.verticalAlign="middle"; //nb:to center checkbox in line - //val can be int - if (val){ - val=val.toString()._dhx_trim(); - - if ((val == "false")||(val == "0")) - val=""; - } - - if (val){ - val="1"; - this.cell.chstate="1"; - } else { - val="0"; - this.cell.chstate="0" - } - var obj = this; - this.cell.setAttribute("excell", "ch"); - this.setCValue("", - this.cell.chstate); -} -//#} -//#ra_excell:04062008{ -/** -* @desc: radio editor -* @returns: dhtmlxGrid cell editor object -* @type: public -*/ -function eXcell_ra(cell){ - this.base=eXcell_ch; - this.base(cell) - this.grid=cell.parentNode.grid; - - this.disabledF=function(fl){ - if ((fl == true)||(fl == 1)) - this.cell.innerHTML=this.cell.innerHTML.replace("radio_chk0.", "radio_chk0_dis.").replace("radio_chk1.", - "radio_chk1_dis."); - else - this.cell.innerHTML=this.cell.innerHTML.replace("radio_chk0_dis.", "radio_chk0.").replace("radio_chk1_dis.", - "radio_chk1."); - } - - this.changeState=function(mode){ - if (mode===false && this.getValue()==1) return; - - if ((!this.grid.isEditable)||(this.cell.parentNode._locked)||(this.isDisabled())) - return; - - if (this.grid.callEvent("onEditCell", [ - 0, - this.cell.parentNode.idd, - this.cell._cellIndex - ]) != false){ - this.val=this.getValue() - - if (this.val == "1") - this.setValue("0") - else - this.setValue("1") - this.cell.wasChanged=true; - //nb: - this.grid.callEvent("onEditCell", [ - 1, - this.cell.parentNode.idd, - this.cell._cellIndex - ]); - - this.grid.callEvent("onCheckbox", [ - this.cell.parentNode.idd, - this.cell._cellIndex, - (this.val != '1') - ]); - - this.grid.callEvent("onCheck", [ - this.cell.parentNode.idd, - this.cell._cellIndex, - (this.val != '1') - ]); - } else { //preserve editing (not tested thoroughly for this editor) - this.editor=null; - } - } - this.edit=null; -} -eXcell_ra.prototype=new eXcell_ch; -eXcell_ra.prototype.setValue=function(val){ - this.cell.style.verticalAlign="middle"; //nb:to center checkbox in line - - if (val){ - val=val.toString()._dhx_trim(); - - if ((val == "false")||(val == "0")) - val=""; - } - - if (val){ - if (!this.grid._RaSeCol) - this.grid._RaSeCol=[]; - - if (this.grid._RaSeCol[this.cell._cellIndex]){ - var id = this.grid._RaSeCol[this.cell._cellIndex]; - if (this.grid.rowsAr[id]){ - var z = this.grid.cells(id, this.cell._cellIndex); - z.setValue("0") - if (this.grid.rowsAr[z.cell.parentNode.idd]) - this.grid.callEvent("onEditCell", [ - 1, - z.cell.parentNode.idd, - z.cell._cellIndex - ]); - } - } - - this.grid._RaSeCol[this.cell._cellIndex]=this.cell.parentNode.idd; - - val="1"; - this.cell.chstate="1"; - } else { - val="0"; - this.cell.chstate="0" - } - this.cell.setAttribute("excell", "ra"); - this.setCValue("", - this.cell.chstate); -} -//#} -//#txt_excell:04062008{ -/** -* @desc: multilene popup editor -* @returns: dhtmlxGrid cell editor object -* @type: public -*/ -function eXcell_txt(cell){ - if (cell){ - this.cell=cell; - this.grid=this.cell.parentNode.grid; - } - this.edit=function(){ - this.val=this.getValue() - this.obj=document.createElement("TEXTAREA"); - this.obj.className="dhx_textarea"; - - this.obj.onclick=function(e){ - (e||event).cancelBubble=true - } - var arPos = this.grid.getPosition(this.cell); //,this.grid.objBox - - this.obj.value=this.val; - - this.obj.style.display=""; - this.obj.style.textAlign=this.cell.style.textAlign; - - document.body.appendChild(this.obj); //nb: - if(_isOpera) this.obj.onkeypress=function(ev){ if (ev.keyCode == 9||ev.keyCode == 27) return false; } - this.obj.onkeydown=function(e){ - var ev = (e||event); - - if (ev.keyCode == 9||ev.keyCode == 27){ - globalActiveDHTMLGridObject.entBox.focus(); - globalActiveDHTMLGridObject.doKey({ - keyCode: ev.keyCode, - shiftKey: ev.shiftKey, - srcElement: "0" - }); - - return false; - } - } - - this.obj.style.left=arPos[0]+"px"; - this.obj.style.top=arPos[1]+this.cell.offsetHeight+"px"; - - if (this.cell.offsetWidth < 200) - var pw = 200; - else - var pw = this.cell.offsetWidth; - this.obj.style.width=pw+16+"px" - - if (_isIE) { this.obj.select(); this.obj.value=this.obj.value; }//dzen of IE - this.obj.focus() - } - this.detach=function(){ - var a_val = ""; - - a_val=this.obj.value; - - if (a_val == ""){ - this.cell._clearCell=true; - } - else - this.cell._clearCell=false; - this.setValue(a_val); - document.body.removeChild(this.obj); - this.obj=null; - return this.val != this.getValue(); - } - this.getValue=function(){ - if (this.obj){ - return this.obj.value; - } - - if (this.cell._clearCell) - return ""; - - if (typeof this.cell._brval != "undefined") return this.cell._brval; - - if ((!this.grid.multiLine)) - return this.cell._brval||this.cell.innerHTML; - else - return this.cell._brval||this.cell.innerHTML.replace(/]*>/gi, "\n")._dhx_trim(); //innerText; - } -} - -eXcell_txt.prototype=new eXcell; - -/** -* @desc: multiline text editor without HTML support -* @returns: dhtmlxGrid cell editor object -* @type: public -*/ -function eXcell_txttxt(cell){ - if (cell){ - this.cell=cell; - this.grid=this.cell.parentNode.grid; - } - this.getValue=function(){ - if ((this.cell.firstChild)&&(this.cell.firstChild.tagName == "TEXTAREA")) - return this.cell.firstChild.value; - - if (this.cell._clearCell) - return ""; - - if ((!this.grid.multiLine)&&this.cell._brval) - return this.cell._brval; - - return (_isIE ? this.cell.innerText : this.cell.textContent); - } - this.setValue=function(val){ - this.cell._brval=val; - - if (!val||val.toString()._dhx_trim() == ""){ - val=" "; - this.cell._clearCell=true; - } else - this.cell._clearCell=false; - this.setCTxtValue(val); - } -} - -eXcell_txttxt.prototype=new eXcell_txt; - -eXcell_txt.prototype.setValue=function(val){ - this.cell._brval=val; - - if (!val||val.toString()._dhx_trim() == ""){ - val=" " - this.cell._clearCell=true; - } else - this.cell._clearCell=false; - - if ((!this.grid.multiLine) || this.cell._clearCell) - this.setCValue(val, this.cell._brval); - else - this.setCValue(val.replace(/\n/g, "
                    "), val); -} -//#} -//#co_excell:04062008{ -/** -* @desc: combobox editor -* @returns: dhtmlxGrid cell editor object -* @type: public -*/ -function eXcell_co(cell){ - if (cell){ - this.cell=cell; - this.grid=this.cell.parentNode.grid; - this.combo=(this.cell._combo||this.grid.getCombo(this.cell._cellIndex)); - this.editable=true - } - this.shiftNext=function(){ - var z = this.list.options[this.list.selectedIndex+1]; - - if (z) - z.selected=true; - this.obj.value=this.list.options[this.list.selectedIndex].text; - - return true; - } - this.shiftPrev=function(){ - if (this.list.selectedIndex != 0){ - var z = this.list.options[this.list.selectedIndex-1]; - - if (z) - z.selected=true; - this.obj.value=this.list.options[this.list.selectedIndex].text; - } - - return true; - } - - this.edit=function(){ - this.val=this.getValue(); - this.text=this.getText()._dhx_trim(); - var arPos = this.grid.getPosition(this.cell) //,this.grid.objBox) - - this.obj=document.createElement("TEXTAREA"); - this.obj.className="dhx_combo_edit"; - - this.obj.style.height=(this.cell.offsetHeight-(this.grid.multiLine ? 9 : 4))+"px"; - - this.obj.wrap="soft"; - this.obj.style.textAlign=this.cell.style.textAlign; - this.obj.onclick=function(e){ - (e||event).cancelBubble=true - } - this.obj.onmousedown=function(e){ - (e||event).cancelBubble=true - } - this.obj.value=this.text - this.obj.onselectstart=function(e){ - if (!e) - e=event; - e.cancelBubble=true; - return true; - }; - var editor_obj = this; - this.obj.onkeyup=function(e){ - var key=(e||event).keyCode; - if (key==38 || key==40 || key==9) return; - var val = this.readonly ? String.fromCharCode(key) : this.value; - - var c = editor_obj.list.options; - - for (var i = 0; i < c.length; i++) - if (c[i].text.indexOf(val) == 0) - return c[i].selected=true; - } - this.list=document.createElement("SELECT"); - - this.list.className='dhx_combo_select'; - this.list.style.width=this.cell.offsetWidth+"px"; - this.list.style.left=arPos[0]+"px"; //arPos[0] - this.list.style.top=arPos[1]+this.cell.offsetHeight+"px"; //arPos[1]+this.cell.offsetHeight; - this.list.onclick=function(e){ - var ev = e||window.event; - var cell = ev.target||ev.srcElement - - //tbl.editor_obj.val=cell.combo_val; - if (cell.tagName == "OPTION") - cell=cell.parentNode; - //editor_obj.list.value = cell.value; - editor_obj.editable=false; - editor_obj.grid.editStop(); - ev.cancelBubble = true; - } - var comboKeys = this.combo.getKeys(); - var fl = false - var selOptId = 0; - - for (var i = 0; i < comboKeys.length; i++){ - var val = this.combo.get(comboKeys[i]) - this.list.options[this.list.options.length]=new Option(val, comboKeys[i]); - - if (comboKeys[i] == this.val){ - selOptId=this.list.options.length-1; - fl=true; - } - } - - if (fl == false){ //if no such value in combo list - this.list.options[this.list.options.length]=new Option(this.text, this.val === null ? "" : this.val); - selOptId=this.list.options.length-1; - } - document.body.appendChild(this.list) //nb:this.grid.objBox.appendChild(this.listBox); - this.list.size="6"; - this.cstate=1; - - if (this.editable){ - this.cell.innerHTML=""; - } - else { - this.obj.style.width="0px"; - this.obj.style.height="0px"; - } - this.cell.appendChild(this.obj); - this.list.options[selOptId].selected=true; - - //fix for coro - FF scrolls grid in incorrect position - if (this.editable){ - this.obj.focus(); - this.obj.focus(); - } - - if (!this.editable){ - this.obj.style.visibility="hidden"; - this.obj.style.position="absolute"; - this.list.focus(); - this.list.onkeydown=function(e){ - e=e||window.event; - editor_obj.grid.setActive(true) - - if (e.keyCode < 30) - return editor_obj.grid.doKey({ - target: editor_obj.cell, - keyCode: e.keyCode, - shiftKey: e.shiftKey, - ctrlKey: e.ctrlKey - }) - } - } - } - - this.getValue=function(){ - return ((this.cell.combo_value == window.undefined) ? "" : this.cell.combo_value); - } - this.detach=function(){ - if (this.val != this.getValue()){ - this.cell.wasChanged=true; - } - - if (this.list.parentNode != null){ - if (this.editable){ - var ind = this.list.options[this.list.selectedIndex] - if (ind&&ind.text == this.obj.value) - this.setValue(this.list.value) - else{ - var combo=(this.cell._combo||this.grid.getCombo(this.cell._cellIndex)); - var val=combo.values._dhx_find(this.obj.value); - if (val!=-1) this.setValue(combo.keys[val]); - else this.setValue(this.cell.combo_value=this.obj.value); - } - } - else - this.setValue(this.list.value) - } - - if (this.list.parentNode) - this.list.parentNode.removeChild(this.list); - - if (this.obj.parentNode) - this.obj.parentNode.removeChild(this.obj); - - return this.val != this.getValue(); - } -} -eXcell_co.prototype=new eXcell; -eXcell_co.prototype.getText=function(){ - return this.cell.innerHTML; -} -eXcell_co.prototype.setValue=function(val){ - if (typeof (val) == "object"){ - var optCol = dhx4.ajax.xpath("./option", val); - - if (optCol.length) - this.cell._combo=new dhtmlXGridComboObject(); - - for (var j = 0; - j < optCol.length; - j++)this.cell._combo.put(optCol[j].getAttribute("value"), - optCol[j].firstChild - ? optCol[j].firstChild.data - : ""); - val=val.firstChild.data; - } - - if ((val||"").toString()._dhx_trim() == "") - val=null - this.cell.combo_value=val; - - if (val !== null){ - var label = (this.cell._combo||this.grid.getCombo(this.cell._cellIndex)).get(val); - this.setCValue(label===null?val:label, val); - }else - this.setCValue(" ", val); - - -} -/** -* @desc: selectbox editor -* @returns: dhtmlxGrid cell editor object -* @type: public -*/ -function eXcell_coro(cell){ - this.base=eXcell_co; - this.base(cell) - this.editable=false; -} -eXcell_coro.prototype=new eXcell_co; - -function eXcell_cotxt(cell){ - this.base=eXcell_co; - this.base(cell) -} -eXcell_cotxt.prototype=new eXcell_co; -eXcell_cotxt.prototype.getText=function(){ - return (_isIE ? this.cell.innerText : this.cell.textContent); -} -eXcell_cotxt.prototype.setValue=function(val){ - if (typeof (val) == "object"){ - var optCol = dhx4.ajax.xpath("./option", val); - - if (optCol.length) - this.cell._combo=new dhtmlXGridComboObject(); - - for (var j = 0; - j < optCol.length; - j++)this.cell._combo.put(optCol[j].getAttribute("value"), - optCol[j].firstChild - ? optCol[j].firstChild.data - : ""); - val=val.firstChild.data; - } - - if ((val||"").toString()._dhx_trim() == "") - val=null - - if (val !== null) - this.setCTxtValue((this.cell._combo||this.grid.getCombo(this.cell._cellIndex)).get(val)||val, val); - else - this.setCTxtValue(" ", val); - - this.cell.combo_value=val; -} - -function eXcell_corotxt(cell){ - this.base=eXcell_co; - this.base(cell) - this.editable=false; -} -eXcell_corotxt.prototype=new eXcell_cotxt; -//#} - -//#cp_excell:04062008{ -/** -* @desc: color picker editor -* @returns: dhtmlxGrid cell editor object -* @type: public -*/ -function eXcell_cp(cell){ - try{ - this.cell=cell; - this.grid=this.cell.parentNode.grid; - } - catch (er){} - this.edit=function(){ - this.val=this.getValue() - this.obj=document.createElement("SPAN"); - this.obj.style.border="1px solid black"; - this.obj.style.position="absolute"; - var arPos = this.grid.getPosition(this.cell); //,this.grid.objBox - this.colorPanel(4, this.obj) - document.body.appendChild(this.obj); //this.grid.objBox.appendChild(this.obj); - this.obj.style.left=arPos[0]+"px"; - this.obj.style.zIndex=1000; - this.obj.style.top=arPos[1]+this.cell.offsetHeight+"px"; - } - this.toolDNum=function(value){ - if (value.length == 1) - value='0'+value; - return value; - } - this.colorPanel=function(index, parent){ - var tbl = document.createElement("TABLE"); - parent.appendChild(tbl) - tbl.cellSpacing=0; - tbl.editor_obj=this; - tbl.style.cursor="default"; - tbl.onclick=function(e){ - var ev = e||window.event - var cell = ev.target||ev.srcElement; - var ed = cell.parentNode.parentNode.parentNode.editor_obj - if (ed){ - ed.setValue(cell._bg); - ed.grid.editStop(); - } - } - var cnt = 256 / index; - for (var j = 0; j <= (256 / cnt); j++){ - var r = tbl.insertRow(j); - - for (var i = 0; i <= (256 / cnt); i++){ - for (var n = 0; n <= (256 / cnt); n++){ - R=new Number(cnt*j)-(j == 0 ? 0 : 1) - G=new Number(cnt*i)-(i == 0 ? 0 : 1) - B=new Number(cnt*n)-(n == 0 ? 0 : 1) - var rgb = - this.toolDNum(R.toString(16))+""+this.toolDNum(G.toString(16))+""+this.toolDNum(B.toString(16)); - var c = r.insertCell(i); - c.width="10px"; - c.innerHTML=" "; //R+":"+G+":"+B;// - c.title=rgb.toUpperCase() - c.style.backgroundColor="#"+rgb - c._bg="#"+rgb; - - if (this.val != null&&"#"+rgb.toUpperCase() == this.val.toUpperCase()){ - c.style.border="2px solid white" - } - } - } - } - } - this.getValue=function(){ - return this.cell.firstChild._bg||""; //this.getBgColor() - } - this.getRed=function(){ - return Number(parseInt(this.getValue().substr(1, 2), 16)) - } - this.getGreen=function(){ - return Number(parseInt(this.getValue().substr(3, 2), 16)) - } - this.getBlue=function(){ - return Number(parseInt(this.getValue().substr(5, 2), 16)) - } - this.detach=function(){ - if (this.obj.offsetParent != null) - document.body.removeChild(this.obj); - //this.obj.removeNode(true) - return this.val != this.getValue(); - } -} -eXcell_cp.prototype=new eXcell; -eXcell_cp.prototype.setValue=function(val){ - this.setCValue("
                     
                    ", - val); - this.cell.firstChild._bg=val; -} -//#} - -//#img_excell:04062008{ -/** -* @desc: image editor -* @returns: dhtmlxGrid cell editor object -* @type: public -*/ -/* - The corresponding cell value in XML should be a "^" delimited list of following values: - 1st - image src - 2nd - image alt text (optional) - 3rd - link (optional) - 4rd - target (optional, default is _self) -*/ -function eXcell_img(cell){ - try{ - this.cell=cell; - this.grid=this.cell.parentNode.grid; - } - catch (er){} - this.getValue=function(){ - if (this.cell.firstChild.tagName == "IMG") - return this.cell._image_src_value+(this.cell.titFl != null - ? "^"+this.cell._brval - : ""); - else if (this.cell.firstChild.tagName == "A"){ - var out = this.cell._image_src_value+(this.cell.titFl != null ? "^"+this.cell._brval : ""); - out+="^"+this.cell.lnk; - - if (this.cell.trg) - out+="^"+this.cell.trg - return out; - } - } - this.isDisabled=function(){ - return true; - } -} -eXcell_img.prototype=new eXcell; -eXcell_img.prototype.getTitle=function(){ - return this.cell._brval -} -eXcell_img.prototype.setValue=function(val){ - var title = val; - - if ((val||"").indexOf("^") != -1){ - var ar = val.split("^"); - val=ar[0] - title=this.cell._attrs.title||ar[1]; - - //link - if (ar.length > 2){ - this.cell.lnk=ar[2] - - if (ar[3]) - this.cell.trg=ar[3] - } - this.cell.titFl="1"; - } - if (!this.grid.multiLine) - this.setCValue("", val); - else - this.setCValue("", val); - - if (this.cell.lnk){ - this.cell.innerHTML=""+this.cell.innerHTML+"" - } - this.cell._brval=title; - this.cell._image_src_value = val; -} -function eXcell_icon(cell){ - this.base=eXcell_ed; - this.base(cell) - try{ - this.cell=cell; - this.grid=this.cell.parentNode.grid; - } - catch (er){} - - this.setValue=function(val){ - this.cell._raw_value = val; - this.setCValue('
                    '); - } - this.getValue=function(){ - return this.cell._raw_value; - } - this.isDisabled=function(){ - return true; - } -} -eXcell_icon.prototype=new eXcell_ed; -//#} - -//#price_excell:04062008{ -/** -* @desc: text editor with price (USD) formatting -* @returns: dhtmlxGrid cell editor object -* @type: public -*/ -function eXcell_price(cell){ - this.base=eXcell_ed; - this.base(cell) - this.getValue=function(){ - if (this.cell.childNodes.length > 1) - return this.cell.childNodes[1].innerHTML.toString()._dhx_trim() - else - return "0"; - } -} - -eXcell_price.prototype=new eXcell_ed; -eXcell_price.prototype.setValue=function(val){ - if (isNaN(parseFloat(val))){ - val=this.val||0; - } - var color = "green"; - - if (val < 0) - color="red"; - - this.setCValue("$"+val+"", val); -} -//#} - -//#dyn_excells:04062008{ -/** -* @desc: text editor with additional formatting for positive and negative numbers (arrow down/up and color) -* @returns: dhtmlxGrid cell editor object -* @type: public -*/ -function eXcell_dyn(cell){ - this.base=eXcell_ed; - this.base(cell) - this.getValue=function(){ - if (!this.cell.firstChild.childNodes[1]) return ""; - var value = this.cell.firstChild.childNodes[1].innerHTML.toString()._dhx_trim() - var k = this.grid._aplNFb(value, this.cell._cellIndex); - if (isNaN(Number(k))) { - return value; - } - return k; - } -} - -eXcell_dyn.prototype=new eXcell_ed; -eXcell_dyn.prototype.getValue=function(){ - var value = eXcell_ed.prototype.getValue.call(this); - return - -} -eXcell_dyn.prototype.setValue=function(val){ - if (!val||isNaN(Number(val))){ - if (val!=="") - val=0; - } else { - if (val > 0){ - var color = "green"; - var img = "dyn_up.gif"; - } else if (val == 0){ - var color = "black"; - var img = "dyn_.gif"; - } else { - var color = "red"; - var img = "dyn_down.gif"; - } - val = this.grid._aplNF(val, this.cell._cellIndex); - } - - this.setCValue("
                    "+val - +"
                    ", - val); -} -//#} - -/** -* @desc: readonly editor -* @returns: dhtmlxGrid cell editor object -* @type: public -*/ -function eXcell_ro(cell){ - if (cell){ - this.cell=cell; - this.grid=this.cell.parentNode.grid; - } - this.edit=function(){ - } - - this.isDisabled=function(){ - return true; - } - this.getValue=function(){ - return this.cell._clearCell?"":this.cell.innerHTML.toString()._dhx_trim(); - } -} -eXcell_ro.prototype=new eXcell; - - -window.eXcell_hidden = function(cell){ - if (cell){ - this.cell=cell; - this.grid=this.cell.parentNode.grid; - } - this.edit=function(){ - } - - this.isDisabled=function(){ - return true; - } - this.getValue=function(){ - return this.cell.val; - } -} -eXcell_hidden.prototype=new eXcell; -eXcell_hidden.prototype.setValue = function(value){ - this.cell.val = value; -} - -function eXcell_ron(cell){ - this.cell=cell; - this.grid=this.cell.parentNode.grid; - this.edit=function(){ - } - - this.isDisabled=function(){ - return true; - } - this.getValue=function(){ - return this.cell._clearCell?"":this.cell._orig_value||this.grid._aplNFb(this.cell.innerHTML.toString()._dhx_trim(), this.cell._cellIndex).toString(); - } -} -eXcell_ron.prototype=new eXcell; -eXcell_ron.prototype.setValue=function(val){ - if (val === 0){} - else if (!val||val.toString()._dhx_trim() == ""){ - this.setCValue(" "); - return this.cell._clearCell=true; - } - this.cell._orig_value = val; - this.cell._clearCell=false; - this.setCValue(val?this.grid._aplNF(val, this.cell._cellIndex):"0"); -} - - -/** -* @desc: readonly pure text editor (without HTML support) -* @returns: dhtmlxGrid cell editor object -* @type: public -*/ -function eXcell_rotxt(cell){ - this.cell=cell; - this.grid=this.cell.parentNode.grid; - this.edit=function(){ - } - - this.isDisabled=function(){ - return true; - } - this.setValue=function(val){ - if (!val){ - val=" "; - this.cell._clearCell = true; - } - else - this.cell._clearCell = false; - - this.setCTxtValue(val); - } - this.getValue=function(){ - if (this.cell._clearCell) - return ""; - return (_isIE ? this.cell.innerText : this.cell.textContent); - } -} -eXcell_rotxt.prototype=new eXcell; - -/** - * @desc: combobox object constructor (shouldn't be accessed directly - instead please use getCombo(...) method of the grid) - * @type: private - * @returns: combobox for dhtmlxGrid - */ -function dhtmlXGridComboObject(){ - this.keys=new dhtmlxArray(); - this.values=new dhtmlxArray(); - /** - * @desc: puts new combination of key and value into combobox - * @type: public - * @param: key - object to use as a key (should be a string in the case of combobox) - * @param: value - object value of combobox line - */ - this.put=function(key, value){ - for (var i = 0; i < this.keys.length; i++){ - if (this.keys[i] == key){ - this.values[i]=value; - return true; - } - } - this.values[this.values.length]=value; - this.keys[this.keys.length]=key; - } - /** - * @desc: gets value corresponding to the given key - * @type: public - * @param: key - object to use as a key (should be a string in the case of combobox) - * @returns: value correspond. to given key or null if no such key - */ - this.get=function(key){ - for (var i = 0; i < this.keys.length; i++){ - if (this.keys[i] == key){ - return this.values[i]; - } - } - return null; - } - /** - * @desc: clears combobox - * @type: public - */ - this.clear=function(){ - /*for(var i=0;i") - else - this.setValue("") - - this.cell.wasChanged=true; - //nb: - this.grid.callEvent("onEditCell",[1,this.cell.parentNode.idd,this.cell._cellIndex]); - this.grid.callEvent("onCheck",[this.cell.parentNode.idd,this.cell._cellIndex,(this.val!='1')]); - this.grid.callEvent("onCheckbox",[this.cell.parentNode.idd,this.cell._cellIndex,(this.val!='1')]); - - }else{//preserve editing (not tested thoroughly for this editor) - this.editor=null; - } - } - this.getValue = function(){ - try{ - return this.cell.chstate.toString(); - }catch(er){ - return null; - } - } - - this.isCheckbox = function(){ - return true; - } - this.isChecked = function(){ - if(this.getValue()=="1") - return true; - else - return false; - } - this.setChecked = function(fl){ - this.setValue(fl.toString()) - } - this.detach = function(){ - return this.val!=this.getValue(); - } - this.drawCurrentState=function(){ - if (this.cell.chstate==1) - return "
                     Yes
                    "; - else - return "
                     No
                    "; - } -} -eXcell_acheck.prototype = new eXcell; -eXcell_acheck.prototype.setValue = function(val){ - //val can be int - val=(val||"").toString(); - if(val.indexOf("1")!=-1 || val.indexOf("true")!=-1){ - val = "1"; - this.cell.chstate = "1"; - }else{ - val = "0"; - this.cell.chstate = "0" - } - var obj = this; - this.setCValue(this.drawCurrentState(),this.cell.chstate); - } - -//(c)dhtmlx ltd. www.dhtmlx.com diff --git a/themes/sources/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_calck.js b/themes/sources/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_calck.js deleted file mode 100644 index f1832b5..0000000 --- a/themes/sources/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_calck.js +++ /dev/null @@ -1,151 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/** -* @desc: calculator editor -* @returns: dhtmlxGrid cell editor object -* @type: public -*/ -function eXcell_calck(cell){ - try{ - this.cell = cell; - this.grid = this.cell.parentNode.grid; - }catch(er){} - this.edit = function(){ - this.val = this.getValue(); - - var arPos = this.grid.getPosition(this.cell); - this.obj = new calcX(arPos[0],arPos[1]+this.cell.offsetHeight,this,this.val); - - } - this.getValue = function(){ - //this.grid.editStop(); - return this.grid._aplNFb(this.cell.innerHTML.toString()._dhx_trim(),this.cell._cellIndex); - } - this.detach = function(){ - if (this.obj) { - this.setValue(this.obj.inputZone.value); - this.obj.removeSelf(); - } - this.obj=null; - return this.val!=this.getValue(); - } -} -eXcell_calck.prototype = new eXcell; -eXcell_calck.prototype.setValue = function(val){ - if(!val || val.toString()._dhx_trim()=="") - val="0" - this.setCValue(this.grid._aplNF(val,this.cell._cellIndex),val); -} - -function calcX(left,top,onReturnSub,val){ - this.top=top||0; - this.left=left||0; - this.onReturnSub=onReturnSub||null; - - this.operandA=0; - this.operandB=0; - this.operatorA=""; - this.state=0; - this.dotState=0; - - -this.calckGo=function(){ - return (eval(this.operandA+"*1"+this.operatorA+this.operandB+"*1")); -}; - -this.isNumeric=function(str){ - return ((str.search(/[^1234567890]/gi)==-1)?(true):(false)); -}; -this.isOperation=function(str){ - return ((str.search(/[^\+\*\-\/]/gi)==-1)?(true):(false)); -} - this.onCalcKey=function(e) - { - that=this.calk; - var z=this.innerHTML; - var rZone=that.inputZone; - if (((that.state==0)||(that.state==2))&&(that.isNumeric(z))) if (rZone.value!="0") rZone.value+=z; else rZone.value=z; - if ((((that.state==0)||(that.state==2))&&(z=='.'))&&(that.dotState==0)) { that.dotState=1; rZone.value+=z; } - if ((z=="C")) { rZone.value=0; that.dotState=0; that.state=0; } - if ((that.state==0)&&(that.isOperation(z))) { that.operatorA=z; that.operandA=rZone.value; that.state=1; } - if ((that.state==2)&&(that.isOperation(z))) { that.operandB=rZone.value; rZone.value=that.calckGo(); that.operatorA=z; that.operandA=rZone.value; that.state=1; } - if ((that.state==2)&&(z=="=")) { that.operandB=rZone.value; rZone.value=that.calckGo(); that.operatorA=z; that.operandA=rZone.value; that.state=3; } - if ((that.state==1)&&(that.isNumeric(z))) { rZone.value=z; that.state=2; that.dotState=0 } - if ((that.state==3)&&(that.isNumeric(z))) { rZone.value=z; that.state=0; } - if ((that.state==3)&&(that.isOperation(z))) { that.operatorA=z; that.operandA=rZone.value; that.state=1; } - if (z=="e") { rZone.value=Math.E; if (that.state==1) that.state=2; that.dotState=0 } - if (z=="p") { rZone.value=Math.PI; if (that.state==1) that.state=2; that.dotState=0 } - if (z=="Off") that.topNod.parentNode.removeChild(that.topNod); - - if (e||event) (e||event).cancelBubble=true; - } - this.sendResult=function(){ - that=this.calk; - if (that.state==2){ - var rZone=that.inputZone; - that.operandB=rZone.value; - rZone.value=that.calckGo(); - that.operatorA=z; - that.operandA=rZone.value; - that.state=3; } - var z=that.inputZone.value; - - that.topNod.parentNode.removeChild(that.topNod); - that.onReturnSub.grid.editStop(false); - }; - this.removeSelf=function(){ - if (this.topNod.parentNode) - this.topNod.parentNode.removeChild(this.topNod); - } - this.keyDown=function(){ this.className="calcPressed"; }; - this.keyUp=function(){ this.className="calcButton"; }; - this.init_table=function(){ - var table=this.topNod.childNodes[0]; - if ((!table)||(table.tagName!="TABLE")) return; - for (i=1; i
                    "; - else - text+="
                    "; - } - text+="
                    " - - this.obj.editor=this; - this.obj.innerHTML=text; - document.body.appendChild(this.obj); - this.obj.style.position="absolute"; - this.obj.className="dhx_clist"; - this.obj.onclick=function(e){ (e||event).cancelBubble=true; return true; }; - var arPos = this.grid.getPosition(this.cell); - this.obj.style.left=arPos[0]+"px"; - this.obj.style.top=arPos[1]+this.cell.offsetHeight+"px"; - - this.obj.getValue=function(){ - var text=""; - for (var i=0; i= 0) - this.combo.list.scrollTop = index * 32; - } - - this.selectComboOption = function(val,obj){ - obj.selectOption(obj.getIndexByValue(obj.getOptionByLabel(val).value)); - } - - this.getValue = function(val){ - return this.cell.combo_value||""; - } - - this.getText = function(val){ - var c = this.cell; - if (this._combo_pre == "" && c.childNodes[1]) { - c = c.childNodes[1]; - } else { - c.childNodes[0].childNodes[1]; - } - return (_isIE ? c.innerText : c.textContent); - } - - this.setValue = function(val){ - if (typeof(val) == "object"){ - - this.cell._brval = this.initCombo(); - var index = this.cell._cellIndex; - var idd = this.cell.parentNode.idd; - if (!val.firstChild) { - this.cell.combo_value = " "; - this.cell._clearCell = true; - } else { - this.cell.combo_value = val.firstChild.data; - } - this.setComboOptions(this.cell._brval, val, this.grid, index, idd); - - } else { - this.cell.combo_value = val; - var cm = null; - if ((cm = this.cell._brval) && (typeof(this.cell._brval) == "object")) { - val = (cm.getOption(val)||{}).text||val; - } else if (cm = this.grid._col_combos[this.cell._cellIndex]||((this.grid._fake) && (cm = this.grid._fake._col_combos[this.cell._cellIndex]))) { - var option = cm.getOption(val)||{}; - val = (cm.getOption(val)||{}).text||val; - if (typeof val === "object"){ - val = option.text_input; - } - } - - if ((val||"").toString()._dhx_trim()=="") val = null; - - if (val !== null) { - this.setComboCValue(val); - } else { - this.setComboCValue(" ", ""); - this.cell._clearCell = true; - } - } - } - - this.detach = function(){ - var p = this.combo.getParent(); - if (p.parentNode == this.cell) { - this.cell.removeChild(p); - } else { - return false; - } - var val = this.cell.combo_value; - this.combo._confirmSelect("blur"); - - if (!this.combo.getComboText() || this.combo.getComboText().toString()._dhx_trim()=="") { - this.setComboCValue(" "); - this.cell._clearCell=true; - } else { - this.setComboCValue(this.combo.getComboText().replace(/\&/g,"&").replace(//g,">"),this.combo.getActualValue()); - this.cell._clearCell = false; - } - - this.cell.combo_value = this.combo.getActualValue(); - this.combo.closeAll(); - this.grid._still_active=true; - this.grid.setActive(1); - return val!=this.cell.combo_value; - } -} - - -eXcell_combo.prototype = new eXcell; -eXcell_combo_v = function(cell){ - var combo = new eXcell_combo(cell); - combo._combo_pre = ""; - return combo; -}; - -eXcell_combo.prototype.initCombo = function(index){ - - var container = document.createElement("DIV"); - container.className = "dhxcombo_in_grid_parent"; - var type = this.grid.defVal[arguments.length?index:this.cell._cellIndex]; - var combo = new dhtmlXCombo(container, "combo", 0, type); - this.grid.defVal[arguments.length?index:this.cell._cellIndex] = ""; - - var grid = this.grid; - combo.DOMelem.onmousedown = combo.DOMelem.onclick = function(e){ - e = e||event; - e.cancelBubble = true; - }; - combo.DOMelem.onselectstart = function(e){ - e = e||event; - e.cancelBubble = true; - return true; - }; - - this.grid.attachEvent("onScroll", function(){ - if (combo._isListVisible()) combo._hideList(); - }); - - combo.attachEvent("onKeyPressed",function(ev){ - if (ev==13 || ev==27) { - grid.editStop(); - if (grid._fake) grid._fake.editStop(); - } - }); - - return combo; - -}; - -eXcell_combo.prototype.fillColumnCombos = function(grid,xml){ - if (!xml) return; - var top = dhx4.ajax.xmltop("rows", xml, -1); - if (top && top.tagName !== "DIV"){ - grid.combo_columns = grid.combo_columns||[]; - columns = dhx4.ajax.xpath("//column", top); - for (var i=0; i"+value+"
                    "; - } - if (arguments.length > 1) { - this.setCValue(value,value2); - } else { - this.setCValue(value); - } -}; - -eXcell_combo.prototype.setComboOptions = function(combo, obj, grid, index, idd) { - - if (window.dhx4.s2b(obj.getAttribute("xmlcontent"))) { - - if (!obj.getAttribute("source")) { - options = obj.childNodes; - var _optArr = []; - for (var i=0; i < options.length; i++){ - if(options[i].tagName =="option"){ - var text_opt = options[i].firstChild? options[i].firstChild.data:""; - _optArr[_optArr.length]= [options[i].getAttribute("value"),text_opt, (options[i].getAttribute("css")||"")]; - } - } - combo.addOption(_optArr) - if(arguments.length == 4){ - grid.forEachRowA(function(id){ - var c = grid.cells(id,index); - if(!c.cell._brval&&!c.cell._cellType&&(c.cell._cellIndex==index)){ - if(c.cell.combo_value=="") c.setComboCValue(" ",""); - else{ - if(!combo.getOption(c.cell.combo_value)) - c.setComboCValue(c.cell.combo_value); - else c.setComboCValue(combo.getOption(c.cell.combo_value).text, c.cell.combo_value); - } - } - }); - } - else { - var c = (this.cell)?this:grid.cells(idd,index); - if(obj.getAttribute("text")) { - if(obj.getAttribute("text")._dhx_trim()=="") c.setComboCValue(" ",""); - else c.setComboCValue(obj.getAttribute("text")); - } - else{ - if((!c.cell.combo_value)||(c.cell.combo_value._dhx_trim()=="")) c.setComboCValue(" ",""); - else{ - if(!combo.getOption(c.cell.combo_value)) - c.setComboCValue(c.cell.combo_value); - else c.setComboCValue(combo.getOption(c.cell.combo_value).text, c.cell.combo_value); - } - } - } - - } - } - - if (obj.getAttribute("source")) { - if (obj.getAttribute("auto") && window.dhx4.s2b(obj.getAttribute("auto"))) { - - if (obj.getAttribute("xmlcontent")) { - var c = (this.cell)?this:grid.cells(idd,index); - if (obj.getAttribute("text")) c.setComboCValue(obj.getAttribute("text")); - } else { - grid.forEachRowA(function(id){ - var c = grid.cells(id,index); - if (!c.cell._brval && !c.cell._cellType) { - var str = c.cell.combo_value.toString(); - if (str.indexOf("^") != -1) { - var arr = str.split("^"); - c.cell.combo_value = arr[0]; - c.setComboCValue(arr[1]); - } - } - }); - } - combo.enableFilteringMode(true, obj.getAttribute("source"), window.dhx4.s2b(obj.getAttribute("cache")||true), window.dhx4.s2b(obj.getAttribute("sub")||false)); - - } else { - - var that = this; - var length = arguments.length; - combo.load(obj.getAttribute("source"), function(){ - if (length == 4) { - grid.forEachRow(function(id){ - var c = grid.cells(id,index); - if (!c.cell._brval && !c.cell._cellType) { - if (combo.getOption(c.cell.combo_value)) { - c.setComboCValue(combo.getOption(c.cell.combo_value).text, c.cell.combo_value); - } else { - if ((c.cell.combo_value||"").toString()._dhx_trim() == "") { - c.setComboCValue(" ",""); - c.cell._clearCell=true; - } else { - c.setComboCValue(c.cell.combo_value); - } - } - } - }); - } else { - //var c = (that.cell)? that : grid.cells(idd,index); - var c = grid.cells(idd,index); - //c.setCValue(obj.getAttribute("text")); - if (combo.getOption(c.cell.combo_value)) { - c.setComboCValue(combo.getOption(c.cell.combo_value).text, c.cell.combo_value); - } else { - c.setComboCValue(c.cell.combo_value); - } - } - }); - - combo.enableFilteringMode(true); - - } - } - if (!obj.getAttribute("auto") || !window.dhx4.s2b(obj.getAttribute("auto"))) { - if (obj.getAttribute("editable") && !window.dhx4.s2b(obj.getAttribute("editable"))) combo.readonly(true); - if (obj.getAttribute("filter") && window.dhx4.s2b(obj.getAttribute("filter"))) combo.enableFilteringMode(true); - } - -}; - -eXcell_combo.prototype.getCellCombo = function() { - - if (this.cell._brval) return this.cell._brval; - - this.cell._brval = this.initCombo(); - return this.cell._brval; - -}; - -eXcell_combo.prototype.refreshCell = function() { - this.setValue(this.getValue()); -}; - -dhtmlXGridObject.prototype.getColumnCombo = function(index) { - if (this._col_combos && this._col_combos[index]) return this._col_combos[index]; - - if (!this._col_combos) this._col_combos = []; - this._col_combos[index] = eXcell_combo.prototype.initCombo.call({grid:this},index); - return this._col_combos[index]; - -}; - -dhtmlXGridObject.prototype.refreshComboColumn = function(index) { - this.forEachRow(function(id){ - if (this.cells(id,index).refreshCell) this.cells(id,index).refreshCell(); - }); -}; - diff --git a/themes/sources/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_context.js b/themes/sources/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_context.js deleted file mode 100644 index 1a6ab1e..0000000 --- a/themes/sources/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_context.js +++ /dev/null @@ -1,64 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -function eXcell_context(cell){ - if (cell){ - this.cell = cell; - this.grid = this.cell.parentNode.grid; - - if (!this.grid._sub_context) return; - this._sub=this.grid._sub_context[cell._cellIndex]; - if (!this._sub) return; - this._sindex=this._sub[1]; - this._sub=this._sub[0]; - } - - this.getValue = function(){ - return _isIE?this.cell.innerText:this.cell.textContent; - } - this.setValue = function(val){ - this.cell._val=val; - var item = this._sub.itemPull[this._sub.idPrefix+this.cell._val]; - val = item?item.title:val; - this.setCValue((val||" "),val); - } - this.edit = function(){ - var arPos = this.grid.getPosition(this.cell);//,this.grid.objBox - - this._sub.showContextMenu(arPos[0]+this.cell.offsetWidth,arPos[1]); - var a=this.grid.editStop; - this.grid.editStop=function(){}; - this.grid.editStop=a; - } - this.detach=function(){ - if (this.grid._sub_id != null) { - var old=this.cell._val; - this.setValue(this.grid._sub_id); - this.grid._sub_id = null; - return this.cell._val!=old; - } - this._sub.hideContextMenu(); - } -} -eXcell_context.prototype = new eXcell; - - -dhtmlXGridObject.prototype.setSubContext=function(ctx,s_index,t_index){ - var that=this; - ctx.attachEvent("onClick",function(id,value){ - that._sub_id = id; - that.editStop(); - ctx.hideContextMenu(); - return true; - }); - if (!this._sub_context) - this._sub_context=[]; - this._sub_context[s_index]=[ctx,t_index]; - ctx.hideContextMenu(); -}; -//(c)dhtmlx ltd. www.dhtmlx.com diff --git a/themes/sources/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_cor.js b/themes/sources/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_cor.js deleted file mode 100644 index 3ce12ed..0000000 --- a/themes/sources/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_cor.js +++ /dev/null @@ -1,163 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -//Combobox -function eXcell_cor(cell){ - if (cell){ - this.cell = cell; - this.grid = this.cell.parentNode.grid; - this.combo = this.grid.getCombo(this.cell._cellIndex); - this.editable = true - } - this.shiftNext=function(){ - - var z=this.list.options[this.list.selectedIndex+1]; - if (z) z.selected=true; - this.obj.value=this.list.value; - - return true; - } - this.shiftPrev=function(){ - - var z=this.list.options[this.list.selectedIndex-1]; - if (z) z.selected=true; - - this.obj.value=this.list.value; - - return true; - } - - this.edit = function(){ - this.val = this.getValue(); - this.text = this.cell.innerHTML._dhx_trim(); - var arPos = this.grid.getPosition(this.cell)//,this.grid.objBox) - - this.obj = document.createElement("TEXTAREA"); - this.obj.className="dhx_combo_edit"; - this.obj.style.height=(this.cell.offsetHeight-4)+"px"; - - this.obj.wrap = "soft"; - this.obj.style.textAlign = this.cell.align; - this.obj.onclick = function(e){(e||event).cancelBubble = true} - this.obj.value = this.text - - this.list = document.createElement("SELECT"); - this.list.editor_obj = this; - this.list.className='dhx_combo_select'; - this.list.style.width=this.cell.offsetWidth+"px"; - this.list.style.left = arPos[0]+"px";//arPos[0] - this.list.style.top = arPos[1]+this.cell.offsetHeight+"px";//arPos[1]+this.cell.offsetHeight; - this.list.onclick = function(e){ - var ev = e||window.event; - var cell = ev.target||ev.srcElement - //tbl.editor_obj.val=cell.combo_val; - if (cell.tagName=="OPTION") cell=cell.parentNode; - if (cell.value!=-1){ - cell.editor_obj._byClick=true; - // cell.editor_obj.setValue(cell.value); - cell.editor_obj.editable=false; - cell.editor_obj.grid.editStop(); - } - else { - ev.cancelBubble=true; - cell.editor_obj.obj.value=""; - cell.editor_obj.obj.focus(); - } - } - var comboKeys = this.combo.getKeys(); - - var selOptId=0; - - this.list.options[0]=new Option(this.combo.get(comboKeys[0]),comboKeys[0]); - this.list.options[0].selected=true; - - for(var i=1;i123.01 -1234.09356 -12345 -0 --100 -*/ -function eXcell_dec(cell){ - if (cell){ - this.cell = cell; - this.grid = this.cell.parentNode.grid; - } - this.getValue = function(){ - return parseFloat(this.cell.innerHTML.replace(/,/g,"")); - } - - this.setValue = function(val){ - var format = "0,000.00"; - if(val=="0"){ - this.setCValue(format.replace(/.*(0\.[0]+)/,"$1"),val); - return; - } - var z = format.substr(format.indexOf(".")+1).length - val = Math.round(val*Math.pow(10,z)).toString(); - var out = ""; - var cnt=0; - var fl = false; - for(var i=val.length-1;i>=0;i--){ - cnt++; - out = val.charAt(i)+out; - if(!fl && cnt==z){ - out = "."+out; - cnt=0; - fl = true; - } - if(fl && cnt==3 && i!=0 && val.charAt(i-1)!='-'){ - out = ","+out; - cnt=0; - } - } - this.setCValue(out,val); - } -} -eXcell_dec.prototype = new eXcell_ed; -//(c)dhtmlx ltd. www.dhtmlx.com diff --git a/themes/sources/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_dhxcalendar.js b/themes/sources/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_dhxcalendar.js deleted file mode 100644 index 8f035e6..0000000 --- a/themes/sources/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_dhxcalendar.js +++ /dev/null @@ -1,261 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -function eXcell_dhxCalendar(cell) { - if (cell) { - this.cell = cell; - this.grid = this.cell.parentNode.grid; - - if (!this.grid._grid_calendarA) { - - var cal = this.grid._grid_calendarA = new dhtmlxCalendarObject(); - this.grid.callEvent("onDhxCalendarCreated", [cal]); - - var sgrid = this.grid; - cal.attachEvent("onClick",function(){ - this._last_operation_calendar=true; - window.setTimeout(function(){sgrid.editStop()},1); - return true; - }); - - var zFunc = function(e){ (e||event).cancelBubble=true; } - dhtmlxEvent(cal.base, "click", zFunc); - cal = null; - } - } -} -eXcell_dhxCalendar.prototype = new eXcell; - -eXcell_dhxCalendar.prototype.edit = function() { - - var arPos = this.grid.getPosition(this.cell); - - this.grid._grid_calendarA._show(false, false); - var yPosition = 0; - if(!window.innerHeight || (arPos[1] + this.grid._grid_calendarA.base.offsetHeight + this.cell.offsetHeight < window.innerHeight)) { - // Enough space to show dhxCalendar below date - yPosition = arPos[1]+this.cell.offsetHeight; - } else { - // Show dhxCalendar above date - yPosition = arPos[1]-(this.grid._grid_calendarA.base.offsetHeight); - } - var xPosition = arPos[0]; - if (window.innerWidth && (xPosition+this.grid._grid_calendarA.base.clientWidth+ this.cell.offsetWidth>window.innerWidth)) { - xPosition = window.innerWidth-this.grid._grid_calendarA.base.clientWidth; - } - this.grid._grid_calendarA.setPosition(xPosition, yPosition); - this.grid._grid_calendarA._last_operation_calendar = false; - - - this.grid.callEvent("onCalendarShow", [this.grid._grid_calendarA, this.cell.parentNode.idd, this.cell._cellIndex]); - this.cell._cediton = true; - this.val = this.cell.val; - this._val = this.cell.innerHTML; - var t = this.grid._grid_calendarA.draw; - this.grid._grid_calendarA.draw = function(){}; - this.grid._grid_calendarA.setDateFormat((this.grid._dtmask||"%d/%m/%Y")); - this.grid._grid_calendarA.setDate(this.val||(new Date())); - this.grid._grid_calendarA.draw = t; -} -eXcell_dhxCalendar.prototype.getDate = function() { - if (this.cell.val) return this.cell.val; - return null; -} - -eXcell_dhxCalendar.prototype.getValue = function() { - if (this.cell._clearCell) return ""; - if (this.grid._dtmask_inc && this.cell.val) return this.grid._grid_calendarA.getFormatedDate(this.grid._dtmask_inc, this.cell.val).toString(); - return this.cell.innerHTML.toString()._dhx_trim() -} - -eXcell_dhxCalendar.prototype.detach = function() { - if (!this.grid._grid_calendarA) return; - this.grid._grid_calendarA.hide(); - if (this.cell._cediton) this.cell._cediton = false; else return; - - if (this.grid._grid_calendarA._last_operation_calendar) { - var z1=this.grid._grid_calendarA.getFormatedDate((this.grid._dtmask||"%d/%m/%Y")); - var z2=this.grid._grid_calendarA.getDate(); - this.cell.val=new Date(z2); - this.setCValue(z1,z2); - this.cell._clearCell = !z1; - return (this.cell.val.valueOf()!=(this.val||"").valueOf()); - } - return false; -} - - -eXcell_dhxCalendar.prototype.getOldValue = function(val) { - if (this.val && this.val !== "%nbsp;") - return this.grid._grid_calendarA.getFormatedDate((this.grid._dtmask_inc||this.grid._dtmask||"%d/%m/%Y"),this.val); - return this.val; -} - - -eXcell_dhxCalendar.prototype.setValue = function(val) { - - if (val && typeof val == "object") { - this.cell.val=val; - this.cell._clearCell=false; - this.setCValue(this.grid._grid_calendarA.getFormatedDate((this.grid._dtmask||"%d/%m/%Y"),val).toString(),this.cell.val); - return; - } - - - if (!val || val.toString()._dhx_trim()=="") { - val=" "; - this.cell._clearCell=true; - this.cell.val=""; - } else{ - this.cell._clearCell=false; - this.cell.val=new Date(this.grid._grid_calendarA.setFormatedDate((this.grid._dtmask_inc||this.grid._dtmask||"%d/%m/%Y"),val.toString(),null,true)); - if (this.grid._dtmask_inc) - val = this.grid._grid_calendarA.getFormatedDate((this.grid._dtmask||"%d/%m/%Y"),this.cell.val); - } - - if ((this.cell.val=="NaN")||(this.cell.val=="Invalid Date")) { - this.cell._clearCell=true; - this.cell.val=new Date(); - this.setCValue(" ",0); - } else { - this.setCValue((val||"").toString(),this.cell.val); - } -} - - -function eXcell_dhxCalendarA(cell) { - if (cell) { - this.cell = cell; - this.grid = this.cell.parentNode.grid; - - if (!this.grid._grid_calendarA) { - - var cal = this.grid._grid_calendarA = new dhtmlxCalendarObject(); - this.grid.callEvent("onDhxCalendarCreated",[cal]); - - var sgrid=this.grid; - cal.attachEvent("onClick",function() { - this._last_operation_calendar=true; - window.setTimeout(function() {sgrid.editStop()},1); - return true; - }); - - var zFunc=function(e) { (e||event).cancelBubble=true; } - dhtmlxEvent(cal.base,"click",zFunc); - } - } -} -eXcell_dhxCalendarA.prototype = new eXcell; - -eXcell_dhxCalendarA.prototype.edit = function() { - var arPos = this.grid.getPosition(this.cell); - - this.grid._grid_calendarA._show(false, false); - this.grid._grid_calendarA.setPosition(arPos[0]*1+this.cell.offsetWidth,arPos[1]*1); - this.grid.callEvent("onCalendarShow",[this.grid._grid_calendarA,this.cell.parentNode.idd,this.cell._cellIndex]); - this.grid._grid_calendarA._last_operation_calendar=false; - - this.cell._cediton=true; - this.val=this.cell.val; - this._val=this.cell.innerHTML; - - var t=this.grid._grid_calendarA.draw; this.grid._grid_calendarA.draw=function() {}; - this.grid._grid_calendarA.setDateFormat((this.grid._dtmask||"%d/%m/%Y")); - this.grid._grid_calendarA.setDate(this.val); - this.grid._grid_calendarA.draw=t; - - this.cell.atag=((!this.grid.multiLine)&&(_isKHTML||_isMacOS||_isFF))?"INPUT":"TEXTAREA"; - - this.obj = document.createElement(this.cell.atag); - this.obj.style.height = (this.cell.offsetHeight-4)+"px"; - this.obj.className="dhx_combo_edit"; - this.obj.wrap = "soft"; - this.obj.style.textAlign = this.cell.align; - this.obj.onclick = function(e) {(e||event).cancelBubble = true} - this.obj.onmousedown = function(e) {(e||event).cancelBubble = true} - this.obj.value = this.getValue(); - this.cell.innerHTML = ""; - this.cell.appendChild(this.obj); - if (window.dhx4.isIE) { - this.obj.style.overflow = "visible"; - if ((this.grid.multiLine)&&(this.obj.offsetHeight>=18)&&(this.obj.offsetHeight<40)) { - this.obj.style.height = "36px"; - this.obj.style.overflow = "scroll"; - } - } - this.obj.onselectstart=function(e) { - if (!e) e=event; - e.cancelBubble = true; - return true; - }; - this.obj.focus() - this.obj.focus() - -} - -eXcell_dhxCalendarA.prototype.getDate = function() { - if (this.cell.val) return this.cell.val; - return null; -} - -eXcell_dhxCalendarA.prototype.getValue = function() { - if (this.cell._clearCell) return ""; - if (this.grid._dtmask_inc && this.cell.val) - return this.grid._grid_calendarA.getFormatedDate(this.grid._dtmask_inc, this.cell.val).toString(); - return this.cell.innerHTML.toString()._dhx_trim() -} - -eXcell_dhxCalendarA.prototype.detach = function() { - if (!this.grid._grid_calendarA) return; - this.grid._grid_calendarA.hide(); - if (this.cell._cediton) this.cell._cediton=false; else return; - if (this.grid._grid_calendarA._last_operation_calendar) { - this.grid._grid_calendarA._last_operation_calendar=false; - var z1=this.grid._grid_calendarA.getFormatedDate(this.grid._dtmask||"%d/%m/%Y"); - var z2=this.grid._grid_calendarA.getDate(); - this.cell.val=new Date(z2); - this.setCValue(z1,z2); - this.cell._clearCell = !z1; - var t = this.val; - this.val=this._val; - return (this.cell.val.valueOf()!=(t||"").valueOf()); - } - this.setValue(this.obj.value); - var t = this.val; - this.val = this._val; - return (this.cell.val.valueOf()!=(t||"").valueOf()); -} - -eXcell_dhxCalendarA.prototype.setValue = function(val) { - if (val && typeof val == "object") { - this.cell.val=val; - this.cell._clearCell=false; - this.setCValue(this.grid._grid_calendarA.getFormatedDate((this.grid._dtmask||"%d/%m/%Y"),val).toString(),this.cell.val); - return; - } - - if (!val || val.toString()._dhx_trim()=="") { - val=" "; - this.cell._clearCell=true; - this.cell.val=""; - } else { - this.cell._clearCell = false; - this.cell.val = new Date(this.grid._grid_calendarA.setFormatedDate((this.grid._dtmask_inc||this.grid._dtmask||"%d/%m/%Y"),val.toString(),null,true)); - if (this.grid._dtmask_inc) - val = this.grid._grid_calendarA.getFormatedDate((this.grid._dtmask||"%d/%m/%Y"),this.cell.val); - } - - if ((this.cell.val=="NaN")||(this.cell.val=="Invalid Date")) { - this.cell.val=new Date(); - this.cell._clearCell=true; - this.setCValue(" ",0); - } else { - this.setCValue((val||"").toString(),this.cell.val); - } -} - diff --git a/themes/sources/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_grid.js b/themes/sources/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_grid.js deleted file mode 100644 index a751cc9..0000000 --- a/themes/sources/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_grid.js +++ /dev/null @@ -1,80 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -function eXcell_grid(cell){ - if (cell){ - this.cell = cell; - this.grid = this.cell.parentNode.grid; - - if (!this.grid._sub_grids) return; - this._sub=this.grid._sub_grids[cell._cellIndex]; - if (!this._sub) return; - this._sindex=this._sub[1]; - this._sub=this._sub[0]; - } - - this.getValue = function(){ - return this.cell.val; - } - this.setValue = function(val){ - this.cell.val=val; - - if (this._sub.getRowById(val)) { - val=this._sub.cells(val,this._sindex); - if (val) val=val.getValue(); - else val=""; - } - - this.setCValue((val||" "),val); - - } - this.edit = function(){ - this.val = this.cell.val; - - this._sub.entBox.style.display='block'; - var arPos = this.grid.getPosition(this.cell);//,this.grid.objBox - this._sub.entBox.style.top=arPos[1]+"px"; - this._sub.entBox.style.left=arPos[0]+"px"; - this._sub.entBox.style.position="absolute"; - this._sub.setSizes(); - - var a=this.grid.editStop; - this.grid.editStop=function(){}; - if (this._sub.getRowById(this.cell.val)) - this._sub.setSelectedRow(this.cell.val); - this._sub.setActive(true) - - this.grid.editStop=a; - } - this.detach=function(){ - var old=this.cell.val; - this._sub.entBox.style.display='none'; - if (this._sub.getSelectedId()===null) return false; - this.setValue(this._sub.getSelectedId()); - this.grid.setActive(true) - return this.cell.val!=old; - } -} -eXcell_grid.prototype = new eXcell; - - -dhtmlXGridObject.prototype.setSubGrid=function(grid,s_index,t_index){ - if (!this._sub_grids) - this._sub_grids=[]; - this._sub_grids[s_index]=[grid,t_index]; - grid.entBox.style.display="none"; - var that=this; - - grid.entBox.onclick = function(event) { (event || window.event).cancelBubble = true;return false; } - grid.attachEvent("onRowSelect",function(id){ - that.editStop(); - return true; - }); - grid._chRRS=false; -}; -//(c)dhtmlx ltd. www.dhtmlx.com diff --git a/themes/sources/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_limit.js b/themes/sources/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_limit.js deleted file mode 100644 index 563679a..0000000 --- a/themes/sources/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_limit.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -function eXcell_limit(cell){ - - if (cell){ - this.cell = cell; - this.grid = this.cell.parentNode.grid; - } - this.edit = function(){ - this.cell.atag=((!this.grid.multiLine)&&(_isKHTML||_isMacOS||_isFF))?"INPUT":"TEXTAREA"; - this.val = this.getValue(); - this.obj = document.createElement(this.cell.atag); - this.obj.style.height = (this.cell.offsetHeight-(_isIE?6:4))+"px"; - this.obj.className="dhx_combo_edit"; - this.obj.wrap = "soft"; - this.obj.style.textAlign = this.cell.align; - this.obj.onclick = function(e){(e||event).cancelBubble = true} - this.obj.onmousedown = function(e){(e||event).cancelBubble = true} - this.obj.value = this.val - this.cell.innerHTML = ""; - this.cell.appendChild(this.obj); - if (_isFF) { - this.obj.style.overflow="visible"; - if ((this.grid.multiLine)&&(this.obj.offsetHeight>=18)&&(this.obj.offsetHeight<40)){ - this.obj.style.height="36px"; - this.obj.style.overflow="scroll"; - } - } - - this.obj.onkeypress =function(e){ - if(this.value.length>=15){ - return false - } - } - this.obj.onselectstart=function(e){ if (!e) e=event; e.cancelBubble=true; return true; }; - this.obj.focus() - this.obj.focus() - - } - - - this.getValue = function(){ - if ((this.cell.firstChild)&&((this.cell.atag)&&(this.cell.firstChild.tagName==this.cell.atag))) - return this.cell.firstChild.value; - else - return this.cell.innerHTML.toString()._dhx_trim(); - } - this.setValue = function(val){ - if(val.length > 15) this.cell.innerHTML = val.substring(0,14) - else this.cell.innerHTML = val - - - } - - this.detach = function(){ - this.setValue(this.obj.value); - return this.val!=this.getValue(); - } - -} -eXcell_limit.prototype = new eXcell; -//(c)dhtmlx ltd. www.dhtmlx.com diff --git a/themes/sources/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_link.js b/themes/sources/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_link.js deleted file mode 100644 index e5788b8..0000000 --- a/themes/sources/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_link.js +++ /dev/null @@ -1,78 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - - -/* -HTML Link eXcell v.1.0 for dhtmlxGrid -(c)DHTMLX LTD. 2005 - - -The corresponding cell value in XML should be a "^" delimited list of following values: -1st - Link Text -2nd - URL (optional) -3rd - target (optional, default is _blank) - -Samples: -Stephen King -Stephen King^http://www.stephenking.com/ -Stephen King^http://www.stephenking.com/^_self -*/ - -/** -* @desc: link editor -* @returns: dhtmlxGrid cell editor object -* @type: public -*/ - -function eXcell_link(cell){ - this.cell = cell; - this.grid = this.cell.parentNode.grid; - this.isDisabled=function(){return true;} - this.edit = function(){} - this.getValue = function(){ - if(this.cell.firstChild.getAttribute){ - var target = this.cell.firstChild.getAttribute("target") - return this.cell.firstChild.innerHTML+"^"+this.cell.firstChild.getAttribute("href")+(target?("^"+target):""); - } - - else - return ""; - } - this.setValue = function(val){ - if((typeof(val)!="number") && (!val || val.toString()._dhx_trim()=="")){ - this.setCValue(" ",valsAr); - return (this.cell._clearCell=true); - } - var valsAr = val.split("^"); - if(valsAr.length==1) - valsAr[1] = ""; - else{ - if(valsAr.length>1){ - valsAr[1] = "href='"+valsAr[1]+"'"; - if(valsAr.length==3) - valsAr[1]+= " target='"+valsAr[2]+"'"; - else - valsAr[1]+= " target='_blank'"; - } - } - - this.setCValue(""+valsAr[0]+"",valsAr); - } -} - -eXcell_link.prototype = new eXcell; -eXcell_link.prototype.getTitle=function(){ - var z=this.cell.firstChild; - return ((z&&z.tagName)?z.getAttribute("href"):""); -} -eXcell_link.prototype.getContent=function(){ - var z=this.cell.firstChild; - return ((z&&z.tagName)?z.innerHTML:""); -} -//(c)dhtmlx ltd. www.dhtmlx.com - diff --git a/themes/sources/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_liveedit.js b/themes/sources/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_liveedit.js deleted file mode 100644 index 74aa039..0000000 --- a/themes/sources/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_liveedit.js +++ /dev/null @@ -1,74 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -function eXcell_liveedit(cell) -{ - if (cell) { - this.cell = cell; - this.grid = this.cell.parentNode.grid; - } - - this.edit = function() - { - this.cell.inputObj.focus(); - this.cell.inputObj.focus(); - } - - this.detach = function() - { - this.setValue(this.cell.inputObj.value); } - - this.getValue = function() - { - return this.cell.inputObj ? this.cell.inputObj.value : ''; - } - this.destructor = function() {} - - this.onFocus = function() - { - var res = this.grid.callEvent('onEditCell', [0, this.cell.parentNode.idd, this.cell._cellIndex]); - if (res === false) - this.cell.inputObj.blur(); - } - - this.onBlur = function() - { - var res = this.grid.callEvent('onEditCell', [2, this.cell.parentNode.idd, this.cell._cellIndex]); - this.detach(); - } - - this.onChange = function() - { - var res = this.grid.callEvent( "onCellChanged", [this.cell.parentNode.idd, this.cell._cellIndex, this.cell.inputObj.value] ); - this.detach(); - } -} - - - -eXcell_liveedit.prototype = new eXcell_ed; -eXcell_liveedit.prototype.setValue = function(val) - { - var self = this; - this.cell.innerHTML = ''; - - this.cell.inputObj = this.cell.firstChild; - this.cell.inputObj = this.cell.firstChild; -// this.inputObj.style.border = '1px solid '; - this.cell.inputObj.value = val; - this.cell.inputObj.onfocus = function() {self.onFocus()} - - - this.cell.inputObj.onblur = function() {self.onFocus()} - this.cell.inputObj.onchange = function() {self.onChange()} - } -if (window.eXcell_math){ - eXcell_liveedit.prototype.setValueA=eXcell_liveedit.prototype.setValue; - eXcell_liveedit.prototype.setValue=eXcell_math.prototype._NsetValue; -} -//(c)dhtmlx ltd. www.dhtmlx.com diff --git a/themes/sources/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_mro.js b/themes/sources/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_mro.js deleted file mode 100644 index 86d503f..0000000 --- a/themes/sources/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_mro.js +++ /dev/null @@ -1,33 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - - -//readonly -function eXcell_mro(cell){ - this.cell = cell; - this.grid = this.cell.parentNode.grid; - this.edit = function(){} -} -eXcell_mro.prototype = new eXcell; -eXcell_mro.prototype.getValue = function(){ - return this.cell.childNodes[0].innerHTML._dhx_trim();//innerText; - } -eXcell_mro.prototype.setValue = function(val){ - if (!this.cell.childNodes.length){ - this.cell.style.whiteSpace='normal'; - this.cell.innerHTML="
                    "; - } - - if(!val || val.toString()._dhx_trim()=="") - val=" " - this.cell.childNodes[0].innerHTML = val; - } -//(c)dhtmlx ltd. www.dhtmlx.com - - - diff --git a/themes/sources/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_num.js b/themes/sources/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_num.js deleted file mode 100644 index 0d295e5..0000000 --- a/themes/sources/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_num.js +++ /dev/null @@ -1,51 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -function eXcell_num(cell){ - try{ - this.cell = cell; - this.grid = this.cell.parentNode.grid; - }catch(er){} - this.edit = function(){ - this.val = this.getValue(); - this.obj = document.createElement(_isKHTML?"INPUT":"TEXTAREA"); - this.obj.className="dhx_combo_edit"; - this.obj.style.height = (this.cell.offsetHeight-4)+"px"; - this.obj.wrap = "soft"; - this.obj.style.textAlign = this.cell.align; - this.obj.onclick = function(e){(e||event).cancelBubble = true} - this.obj.value = this.val; - this.cell.innerHTML = ""; - this.cell.appendChild(this.obj); - this.obj.onselectstart=function(e){ if (!e) e=event; e.cancelBubble=true; return true; }; - this.obj.focus() - this.obj.focus() - } - this.getValue = function(){ - - if ((this.cell.firstChild)&&(this.cell.firstChild.tagName=="TEXTAREA")) - return this.cell.firstChild.value; - else - return this.grid._aplNFb(this.cell.innerHTML.toString()._dhx_trim(),this.cell._cellIndex); - } - this.setValue = function(val){ - var re = new RegExp("[a-z]|[A-Z]","i") - if(val.match(re)) val = " "; - - this.cell.innerHTML = val; - - } - - this.detach = function(){ - var tv=this.obj.value; - this.setValue(tv); - return this.val!=this.getValue(); - } -} -eXcell_num.prototype = new eXcell; -//(c)dhtmlx ltd. www.dhtmlx.com diff --git a/themes/sources/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_passw.js b/themes/sources/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_passw.js deleted file mode 100644 index 1166366..0000000 --- a/themes/sources/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_passw.js +++ /dev/null @@ -1,62 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -function eXcell_passw(cell){ - - if (cell){ - this.cell = cell; - this.grid = this.cell.parentNode.grid; - } - - this.edit = function(){ - this.cell.innerHTML = ""; - this.cell.atag="INPUT"; - this.val = this.getValue(); - this.obj = document.createElement(this.cell.atag); - this.obj.style.height = (this.cell.offsetHeight-(_isIE?6:4))+"px"; - this.obj.className="dhx_combo_edit"; - this.obj.type = "password"; - this.obj.wrap = "soft"; - this.obj.style.textAlign = this.cell.align; - this.obj.onclick = function(e){(e||event).cancelBubble = true} - this.obj.onmousedown = function(e){(e||event).cancelBubble = true} - this.obj.value = this.cell._rval||""; - this.cell.appendChild(this.obj); - if (_isFF) { - this.obj.style.overflow="visible"; - if ((this.grid.multiLine)&&(this.obj.offsetHeight>=18)&&(this.obj.offsetHeight<40)){ - this.obj.style.height="36px"; - this.obj.style.overflow="scroll"; - } - } - this.obj.onselectstart=function(e){ if (!e) e=event; e.cancelBubble=true; return true; }; - this.obj.focus() - this.obj.focus() - - - - } - this.getValue = function(){ - return this.cell._rval; - } - this.setValue = function(val){ - var str = "*****"; - this.cell.innerHTML = str; - this.cell._rval=val; - - - } - - this.detach = function(){ - this.setValue(this.obj.value); - return this.val!=this.getValue(); - } - -} -eXcell_passw.prototype = new eXcell; -//(c)dhtmlx ltd. www.dhtmlx.com diff --git a/themes/sources/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_ra_str.js b/themes/sources/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_ra_str.js deleted file mode 100644 index 940ceb7..0000000 --- a/themes/sources/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_ra_str.js +++ /dev/null @@ -1,46 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/** -* @desc: radio editor -* @returns: dhtmlxGrid cell editor object -* @type: public -*/ -function eXcell_ra_str(cell){ - if (cell){ - this.base = eXcell_ra; - this.base(cell) - this.grid = cell.parentNode.grid; - } -} -eXcell_ra_str.prototype = new eXcell_ch; -eXcell_ra_str.prototype.setValue = function(val){ - this.cell.style.verticalAlign = "middle";//nb:to center checkbox in line - if (val){ - val=val.toString()._dhx_trim(); - if ((val=="false")||(val=="0")) val=""; - } - if(val){ - if (this.grid.rowsAr[this.cell.parentNode.idd]) - for (var i=0;i",this.cell.chstate); - } -//(c)dhtmlx ltd. www.dhtmlx.com diff --git a/themes/sources/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_sub_row.js b/themes/sources/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_sub_row.js deleted file mode 100644 index 2e71b56..0000000 --- a/themes/sources/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_sub_row.js +++ /dev/null @@ -1,306 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -function eXcell_sub_row(cell){ - if (cell){ - this.cell = cell; - this.grid = this.cell.parentNode.grid; - } - - this.getValue = function(){ - return this.grid.getUserData(this.cell.parentNode.idd,"__sub_row"); - } - this._setState = function(m,v){ - (v||this.cell).innerHTML=""; - (v||this.cell).firstChild.onclick=this.grid._expandMonolite; - } - this.open = function (){ - this.cell.firstChild.onclick(null,true) - } - this.close = function (){ - this.cell.firstChild.onclick(null,false,true) - } - this.isOpen = function(){ - return !!this.cell.parentNode._expanded; - } - this.setValue = function(val){ - if (val) - this.grid.setUserData(this.cell.parentNode.idd,"__sub_row",val); - this._setState(val?"plus.gif":"blank.gif"); - } - this.setContent = function(val){ - if (this.cell.parentNode._expanded){ - this.cell.parentNode._expanded.innerHTML=val; - this.resize(); - } - else{ - this.cell._previous_content=null; - this.setValue(val); - this.cell._sub_row_type=null - } - - } - this.resize = function(){ - this.grid._detectHeight(this.cell.parentNode._expanded,this.cell,this.cell.parentNode._expanded.scrollHeight); - }, - this.isDisabled = function(){ return true; } - this.getTitle = function(){ return this.grid.getUserData(this.cell.parentNode.idd,"__sub_row")?"click to expand|collapse":""; } -} -eXcell_sub_row.prototype = new eXcell; - -function eXcell_sub_row_ajax(cell){ - this.base=eXcell_sub_row; - this.base(cell); - - this.setValue = function(val){ - if (val) - this.grid.setUserData(this.cell.parentNode.idd,"__sub_row",val); - this.cell._sub_row_type="ajax"; - this.cell._previous_content = null; - this._setState(val?"plus.gif":"blank.gif"); - } -} -eXcell_sub_row_ajax.prototype = new eXcell_sub_row; - -function eXcell_sub_row_grid(cell){ - this.base=eXcell_sub_row; - this.base(cell); - - this.setValue = function(val){ - if (val) - this.grid.setUserData(this.cell.parentNode.idd,"__sub_row",val); - this.cell._sub_row_type="grid"; - this._setState(val?"plus.gif":"blank.gif"); - } - this.getSubGrid = function(){ - if (!cell._sub_grid) return null; - return cell._sub_grid; - } -} -eXcell_sub_row_grid.prototype = new eXcell_sub_row; - -dhtmlXGridObject.prototype._expandMonolite=function(n,show,hide){ - var td=this.parentNode; - var row=td.parentNode; - var that=row.grid; - - if (n||window.event){ - if (!hide && !row._expanded) that.editStop(); - (n||event).cancelBubble=true; - } - - var c=that.getUserData(row.idd,"__sub_row"); - - if (!that._sub_row_editor) - that._sub_row_editor=new eXcell_sub_row(td); - - if (!c) return; - - if (row._expanded && !show){ - that._sub_row_editor._setState("plus.gif",td); - td._previous_content=row._expanded; - that.objBox.removeChild(row._expanded); - row._expanded=false; - row.style.height=(row.oldHeight||20)+"px"; - td.style.height=(row.oldHeight||20)+"px"; - - if (that._fake){ - that._fake.rowsAr[row.idd].style.height=(row.oldHeight||20)+"px"; - that._fake.rowsAr[row.idd].firstChild.style.height=(row.oldHeight||20)+"px"; - } - - for (var i=0; i 30 ? 11:3; - if (that.multiLine) padtop = 0; - - for (var i=0; i]*>([^\f]+?)<\/script>/g); - if (z) - for (var i=0; i]*>/g,"")); - - that._detectHeight(d,td) - that._correctMonolite(); - that.setUserData(td.parentNode.idd,"__sub_row",xml.xmlDoc.responseText); - td._sub_row_type=null; - if (that._ahgr) - that.setSizes() - that.callEvent("onSubAjaxLoad",[td.parentNode.idd,xml.xmlDoc.responseText]); - }); - }, - "grid":function(that,d,td,c){ - td._sub_grid= new dhtmlXGridObject(d); - if (that.skin_name) - td._sub_grid.setSkin(that.skin_name); - - td._sub_grid.parentGrid=that; - td._sub_grid.setImagePath(that._imgURL); - td._sub_grid.iconURL = that.iconURL; - td._sub_grid.enableAutoHeight(true); - td._sub_grid._delta_x = td._sub_grid._delta_y = null; - td._sub_grid.attachEvent("onGridReconstructed",function(){ - that._detectHeight(d,td,td._sub_grid.objBox.scrollHeight+td._sub_grid.hdr.offsetHeight+(this.ftr?this.ftr.offsetHeight:0)); - that._correctMonolite(); - this.setSizes(); - if (that.parentGrid) that.callEvent("onGridReconstructed",[]); - }) - if (!that.callEvent("onSubGridCreated",[td._sub_grid,td.parentNode.idd,td._cellIndex,c])){ - td._sub_grid.objBox.style.overflow="hidden"; - td._sub_row_type=null; - } else { - td._sub_grid.load(c,function(){ - that._detectHeight(d,td,td._sub_grid.objBox.scrollHeight+td._sub_grid.hdr.offsetHeight+(td._sub_grid.ftr?td._sub_grid.ftr.offsetHeight:0)); - td._sub_grid.objBox.style.overflow="hidden"; - that._correctMonolite(); - td._sub_row_type=null; - if (!that.callEvent("onSubGridLoaded",[td._sub_grid,td.parentNode.idd,td._cellIndex,c])) return; - if (that._ahgr) that.setSizes(); - if (that.parentGrid) that.callEvent("onGridReconstructed",[]); - }); - } - } -} - -dhtmlXGridObject.prototype._detectHeight=function(d,td,h){ - var l=td.offsetLeft+td.offsetWidth; - d.style.left=l+"px"; - d.style.width=Math.max(0,td.parentNode.offsetWidth-l-4)+"px" - var h=h||d.scrollHeight; - d.style.overflow="hidden"; - d.style.height=h+"px"; - var row=td.parentNode; - td.parentNode.style.height=(row.oldHeight||20)+h*1+"px"; - td.style.height=(row.oldHeight||20)+h*1+"px"; - if (this._fake){ - var tr=this._fake.rowsAr[td.parentNode.idd]; - tr.style.height=(row.oldHeight||20)+h*1+"px"; - tr.firstChild.style.height=(row.oldHeight||20)+h*1+"px"; - } -} -dhtmlXGridObject.prototype._correctMonolite=function(mode){ - if (this._in_correction) return; - this._in_correction=true; - - for (var a in this._flow) - if (this._flow[a] && this._flow[a].tagName=="DIV") - if (this.rowsAr[a]){ - if (this.rowsAr[a].style.display=="none") { - this.cells4(this._flow[a].ctrl).close(); - continue; - } - this._flow[a].style.top=this.rowsAr[a].offsetTop+(this.rowsAr[a].oldHeight||20)+"px"; - if (mode) { - var l=this._flow[a].ctrl.offsetLeft+this._flow[a].ctrl.offsetWidth; - this._flow[a].style.left=l+"px"; - this._flow[a].style.width=this.rowsAr[a].offsetWidth-l-4+"px" - } - } - else{ - this._flow[a].ctrl=null; - this.objBox.removeChild(this._flow[a]); - delete this._flow[a]; - } - - this._in_correction=false; -} -dhtmlXGridObject.prototype._collapsMonolite=function(){ - for (var a in this._flow){ - var line = this._flow[a]; - if (line && line.tagName=="DIV") - if (this.rowsAr[a]) - this.cells4(line.ctrl).close(); - else if (line.parentNode){ - line.parentNode.removeChild(line); - delete this._flow[a]; - } - } - -} -//(c)dhtmlx ltd. www.dhtmlx.com - diff --git a/themes/sources/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_time.js b/themes/sources/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_time.js deleted file mode 100644 index 924cc55..0000000 --- a/themes/sources/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_time.js +++ /dev/null @@ -1,75 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -function eXcell_time(cell){ - - this.base = eXcell_ed; - this.base(cell) - this.getValue = function(){ - return this.cell.innerHTML.toString(); - } - this.setValue = function(val){ - var re = new RegExp(" ","i") - val = val.replace(re,":") - if((val=="")) val = "00:00" - else - { - var re = new RegExp("[a-zA-Z]","i") - var res = val.match(re) - - if(res) val = "00:00"; - else{ - var re = new RegExp("[0-9]+[\\.\\/;\\-,_\\]\\[\\?\\: ][0-9]+","i") - var res = val.search(re) - if(res!=-1){ - var re = new RegExp("[\\./\\;\\-\\,\\_\\]\\[ \\?]","i") - val = val.replace(re,":") - } - else - { - var re = new RegExp("[^0-9]","i") - res1 = val.search(re) - if(res = val.match(re) ) { val = "00:00";} - else - { - if(val.length == 1) - { - val = "00:0"+val; - } - else - { - if(parseInt(val) < 60) val = "00:"+val; - else - if(val.length < 5) - { - var minutes = parseInt(val); - var hours = Math.floor(minutes/60); - minutes = minutes - 60*hours; - var hours = hours.toString(); - var minutes = minutes.toString(); - while(hours.length < 2){ - hours = "0" + hours; - } - while(minutes.length < 2){ - minutes = "0" + minutes; - } - val = hours+":"+minutes; - } - } - } - - } - } - } - this.cell.innerHTML = val; - } - - - } - eXcell_time.prototype = new eXcell_ed; - //(c)dhtmlx ltd. www.dhtmlx.com diff --git a/themes/sources/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_tree.js b/themes/sources/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_tree.js deleted file mode 100644 index 7d11925..0000000 --- a/themes/sources/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_tree.js +++ /dev/null @@ -1,70 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - - -function eXcell_stree(cell){ - if (cell){ - this.cell = cell; - this.grid = this.cell.parentNode.grid; - - if (!this.grid._sub_trees) return; - this._sub=this.grid._sub_trees[cell._cellIndex]; - if (!this._sub) return; - this._sub=this._sub[0]; - } - - this.getValue = function(){ - return this.cell._val; - } - this.setValue = function(val){ - this.cell._val=val; - val = this._sub.getItemText(this.cell._val); - this.setCValue((val||" "),val); - } - this.edit = function(){ - this._sub.parentObject.style.display='block'; - var arPos = this.grid.getPosition(this.cell);//,this.grid.objBox - this._sub.parentObject.style.top=arPos[1]+"px"; - this._sub.parentObject.style.left=arPos[0]+"px"; - this._sub.parentObject.style.position="absolute"; - - var a=this.grid.editStop; - this.grid.editStop=function(){}; - - this.grid.editStop=a; - } - this.detach=function(){ - this._sub.parentObject.style.display='none'; - if (this.grid._sub_id != null) { - var old=this.cell._val; - this.setValue(this._sub.getSelectedItemId()); - this.grid._sub_id = null; - return this.cell._val!=old; - } - } -} -eXcell_stree.prototype = new eXcell; - - -dhtmlXGridObject.prototype.setSubTree=function(tree,s_index){ - if (!this._sub_trees) - this._sub_trees=[]; - this._sub_trees[s_index]=[tree]; - tree.parentObject.style.display="none"; - var that=this; - tree.parentObject.onclick = function(event) {(event || window.event).cancelBubble = true;return false;} - tree.ev_onDblClick=null; - tree.attachEvent("onDblClick",function(id){ - that._sub_id = id; - that.editStop(); - return true; - }); - tree._chRRS=true; -}; -//(c)dhtmlx ltd. www.dhtmlx.com - diff --git a/themes/sources/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_wbut.js b/themes/sources/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_wbut.js deleted file mode 100644 index 7a8470e..0000000 --- a/themes/sources/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_wbut.js +++ /dev/null @@ -1,87 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - - -/* -Textfield with Button eXcell v.1.0 for dhtmlxGrid -(c)DHTMLX LTD. 2005 - - -The corresponding cell value in XML should be - -Samples: - -IN637237-23 -158 -*/ - - -function eXcell_wbut(cell){ - this.cell = cell; - this.grid = this.cell.parentNode.grid; - this.edit = function(){ - var val = this.getValue().toString(); - this.obj = document.createElement("INPUT"); - this.obj.readOnly = true; - this.obj.style.width = "60px"; - this.obj.style.height = (this.cell.offsetHeight-(this.grid.multiLine?5:4))+"px"; - this.obj.style.border = "0px"; - this.obj.style.margin = "0px"; - this.obj.style.padding = "0px"; - this.obj.style.overflow = "hidden"; - this.obj.style.fontSize = _isKHTML?"10px":"12px"; - this.obj.style.fontFamily = "Arial"; - this.obj.wrap = "soft"; - this.obj.style.textAlign = this.cell.align; - this.obj.onclick = function(e){(e||event).cancelBubble = true} - this.cell.innerHTML = ""; - this.cell.appendChild(this.obj); - this.obj.onselectstart=function(e){ if (!e) e=event; e.cancelBubble=true; return true; }; - this.obj.style.textAlign = this.cell.align; - this.obj.value=val; - this.obj.focus() - this.obj.focus() - this.cell.appendChild(document.createTextNode(" ")); // Create space between text box and button - var butElem = document.createElement('input'); // This is the button DOM code - if(_isIE){ - butElem.style.height = (this.cell.offsetHeight-(this.grid.multiLine?5:4))+"px"; - butElem.style.lineHeight = "5px"; - }else{ - butElem.style.fontSize = "8px"; - butElem.style.width = "10px"; - butElem.style.marginTop = "-5px" - } - - butElem.type='button' - butElem.name='Lookup' - butElem.value='...' - var inObj = this.obj; - var inCellIndex = this.cell.cellIndex - var inRowId = this.cell.parentNode.idd - var inGrid = this.grid - var inCell = this; - this.dhx_m_func=this.grid.getWButFunction(this.cell._cellIndex); - butElem.onclick = function (e){inCell.dhx_m_func(inCell,inCell.cell.parentNode.idd,inCell.cell._cellIndex,val)}; - this.cell.appendChild(butElem); - } - this.detach = function(){ - this.setValue(this.obj.value); - return this.val!=this.getValue(); - } -} -eXcell_wbut.prototype = new eXcell; - -dhtmlXGridObject.prototype.getWButFunction=function(index){ - if (this._wbtfna) return this._wbtfna[index]; - else return (function(){}); -} -dhtmlXGridObject.prototype.setWButFunction=function(index,func){ - if (!this._wbtfna) this._wbtfna=new Array(); - this._wbtfna[index]=func; -} -//(c)dhtmlx ltd. www.dhtmlx.com diff --git a/themes/sources/dhtmlxGrid/codebase/ext/dhtmlxgrid_data.js b/themes/sources/dhtmlxGrid/codebase/ext/dhtmlxgrid_data.js deleted file mode 100644 index 56c5bfb..0000000 --- a/themes/sources/dhtmlxGrid/codebase/ext/dhtmlxgrid_data.js +++ /dev/null @@ -1,137 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -dhtmlXGridObject.prototype._process_xmlA=function(xml){ - this._parsing=true; - var top=dhx4.ajax.xmltop(this.xml.top, xml); - //#config_from_xml:20092006{ - this._parseHead(top); - //#} - var rows=dhx4.ajax.xpath(this.xml.row,top) - var cr=parseInt(top.getAttribute("pos")||0); - var total=parseInt(top.getAttribute("total_count")||0); - if (total && !this.rowsBuffer[total-1]) this.rowsBuffer[total-1]=null; - - if (this.isTreeGrid()){ - this._get_xml_data = this._get_xml_dataA; - this._process_xml_row = this._process_xml_rowA; - return this._process_tree_xml(xml); - } - - for (var i=0; i < rows.length; i++) { - if (this.rowsBuffer[i+cr]) continue; - var id=rows[i].getAttribute("id")||this.uid(); - this.rowsBuffer[i+cr]={ idd:id, data:rows[i], _parser: this._process_xml_rowA, _locator:this._get_xml_dataA }; - this.rowsAr[id]=rows[i]; - //this.callEvent("onRowCreated",[r.idd]); - } - this.render_dataset(); - this._parsing=false; -} - -dhtmlXGridObject.prototype._process_xmlB=function(xml){ - - this._parsing=true; - var top=dhx4.ajax.xmltop(this.xml.top, xml); - //#config_from_xml:20092006{ - this._parseHead(top); - //#} - var rows=dhx4.ajax.xpath(this.xml.row,top) - var cr=parseInt(top.getAttribute("pos")||0); - var total=parseInt(top.getAttribute("total_count")||0); - if (total && !this.rowsBuffer[total-1]) this.rowsBuffer[total-1]=null; - - if (this.isTreeGrid()){ - this._get_xml_data = this._get_xml_dataB; - this._process_xml_row = this._process_xml_rowB; - return this._process_tree_xml(xml); - } - - for (var i=0; i < rows.length; i++) { - if (this.rowsBuffer[i+cr]) continue; - var id=rows[i].getAttribute("id")||this.uid(); - this.rowsBuffer[i+cr]={ idd:id, data:rows[i], _parser: this._process_xml_rowB, _locator:this._get_xml_dataB }; - this.rowsAr[id]=rows[i]; - //this.callEvent("onRowCreated",[r.idd]); - } - this.render_dataset(); - this._parsing=false; -} - -dhtmlXGridObject.prototype._process_xml_rowA=function(r,xml){ - var strAr = []; - r._attrs=this._xml_attrs(xml); - - //load cell data - for(var j=0;j= 0; i--) - this.setUserData(udCol[i].getAttribute("name"),udCol[i].firstChild?udCol[i].firstChild.data:""); - } - - //load cell data - - for (var jx=0; jx < xml.childNodes.length; jx++) { - var cellVal=xml.childNodes[jx]; - if (!cellVal.tagName) continue; - var j=this.getColIndexById(cellVal.tagName); - if (isNaN(j)) continue; - - var exc=cellVal.getAttribute("type"); - if (exc) - r.childNodes[j]._cellType=exc; - r.childNodes[j]._attrs=this._xml_attrs(cellVal); - - if (cellVal.getAttribute("xmlcontent")) - {} - else if (cellVal.firstChild) - cellVal=cellVal.firstChild.data; - else cellVal=""; - - strAr[j]=cellVal; - } - for (var i=0; i < r.childNodes.length; i++) { - if (!r.childNodes[i]._attrs) r.childNodes[i]._attrs={}; - }; - - //back to common code - this._fillRow(r,strAr); - return r; -} -dhtmlXGridObject.prototype._get_xml_dataB=function(data,ind){ - var id=this.getColumnId(ind); - data=data.firstChild; - while (true){ - if (!data) return ""; - if (data.tagName==id) return (data.firstChild?data.firstChild.data:"") - data=data.nextSibling; - } - return ""; -} diff --git a/themes/sources/dhtmlxGrid/codebase/ext/dhtmlxgrid_drag.js b/themes/sources/dhtmlxGrid/codebase/ext/dhtmlxgrid_drag.js deleted file mode 100644 index 2243367..0000000 --- a/themes/sources/dhtmlxGrid/codebase/ext/dhtmlxgrid_drag.js +++ /dev/null @@ -1,822 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/** -* @desc: enable/disable drag-and-drop -* @type: public -* @param: mode - enabled/disabled [ can be true/false/temporary_disabled - last value mean that tree can be D-n-D can be switched to true later ] -* @topic: 0 -*/ - dhtmlXGridObject.prototype.enableDragAndDrop=function(mode){ - if (mode=="temporary_disabled"){ - this.dADTempOff=false; - mode=true; } - else - this.dADTempOff=true; - - this.dragAndDropOff=dhx4.s2b(mode); - this._drag_validate=true; - if (mode) - this.objBox.ondragstart = function (e) { - (e||event).cancelBubble = true; - return false; - } - }; - -/** -* @desc: set Drag-And-Drop behavior (child - drop as chils, sibling - drop as sibling -* @type: public -* @param: mode - behavior name (child,sibling,complex) -* @topic: 0 -*/ -dhtmlXGridObject.prototype.setDragBehavior=function(mode){ - this.dadmodec=this.dadmodefix=0; - switch (mode) { - case "child": this.dadmode=0; this._sbmod=false; break; - case "sibling": this.dadmode=1; this._sbmod=false; break; - case "sibling-next": this.dadmode=1; this._sbmod=true; break; - case "complex": this.dadmode=2; this._sbmod=false; break; - case "complex-next": this.dadmode=2; this._sbmod=true; break; - } }; - - -/** -* @desc: switch to mode when draged item, droped in target location in same order as they was in source grid -* @type: public -* @param: mode - true/false to enable/disable mode -* @topic: 0 -*/ -dhtmlXGridObject.prototype.enableDragOrder=function(mode){ - this._dndorder=dhx4.s2b(mode); -}; - - -dhtmlXGridObject.prototype._checkParent=function(row,ids){ - var z=this._h2.get[row.idd].parent; - if (!z.parent) return; - for (var i=0; i=0; i--) - if (this._checkParent(this.rowsAr[z[i]],z)) z.splice(i,1); - - } - - - var self=this; - if (z.length && this._dndorder) - z.sort(function(a,b){ return (self.rowsAr[a].rowIndex>self.rowsAr[b].rowIndex?1:-1); }); - - var el = this.getFirstParentOfType(_isIE?e.srcElement:e.target,"TD"); - if (el) this._dndExtra=el._cellIndex; - this._dragged=new Array(); - for (var i=0; i=0 && this.tobj._h2.get[this.tobj.rowsBuffer[ind].idd].state=="minus")?this.tobj._getOpenLenght(this.tobj.rowsBuffer[ind].idd,0):0)); -} - -/** -* @desc: get row related image -* @type: private -*/ -dragContext.prototype.img=function(){ - if ((this.target!="grid")&&(this.sobj._h2)) - return this.sobj.getItemImage(this.sid); - else return null; -} - -/** -* @desc: return list of rows in context -* @type: private -*/ -dragContext.prototype.slist=function(){ - var res=new Array(); - for (var i=0; i(parseInt(this.objBox.offsetHeight)-50) ) - this.objBox.scrollTop=parseInt(this.objBox.scrollTop)+20; - //scroll top - if ( (a1-a2+parseInt(this.objBox.scrollTop))<(parseInt(this.objBox.scrollTop)+30) ) - this.objBox.scrollTop=parseInt(this.objBox.scrollTop)-20; - - if (skip) return 0; - - if (this.dadmode==2) - { - - var z=y-a1+(document.body.scrollTop||document.documentElement.scrollTop)-2-htmlObject.offsetHeight/2; - if ((Math.abs(z)-htmlObject.offsetHeight/6)>0) - { - this.dadmodec=1; - //sibbling zone - if (z<0) this.dadmodefix=-1; else this.dadmodefix=1; - } - else this.dadmodec=0; - } - else - this.dadmodec=this.dadmode; - - - - - if (this.dadmodec){ - if (!this._sdrgc) this._createSdrgc(); - this._sdrgc.style.display="block"; - this._sdrgc.style.top=a1-a2+parseInt(this.objBox.scrollTop)+((this.dadmodefix>=0)?htmlObject.offsetHeight:0)+"px"; - } - else{ - this._llSelD=htmlObject; - if (htmlObject.parentNode.tagName=="TR") - for (var i=0; i$/,"columns>"); - for (var i=2; i < grid.hdr.rows.length; i++) { - var empty_cols = 0; - var row = grid.hdr.rows[i]; - var cxml=""; - for (var j=0; j < grid._cCount; j++) { - if ((grid._srClmn && !grid._srClmn[j]) || (grid._hrrar[j] && ( !grid._fake || j >= grid._fake.hdrLabels.length))) { - empty_cols++; - continue; - } - var s = spans[i][j]; - var rspan = (( s[0] && s[0] > 1 ) ? ' colspan="'+s[0]+'" ' : ""); - if (s[1] && s[1] > 1){ - rspan+=' rowspan="'+s[1]+'" '; - empty_cols = -1; - } - - - var val = ""; - //split mode - var frow = row; - if (grid._fake && j < grid._fake._cCount) - frow = grid._fake.hdr.rows[i]; - - for (var k=0; k"; - }; - if (empty_cols != grid._cCount) - xml+="\n"+cxml+""; - }; - xml+="\n"; - xml+=xml_footer(); - return xml; - }; - - function xml_body() { - var xml =[]; - if (rows) - for (var i=0; i"]; - if (!grid.ftr) return ""; - for (var i=1; i < grid.ftr.rows.length; i++) { - xml.push(""); - var row = grid.ftr.rows[i]; - for (var j=0; j < grid._cCount; j++){ - if (grid._srClmn && !grid._srClmn[j]) continue; - if (grid._hrrar[j] && ( !grid._fake || j >= grid._fake.hdrLabels.length)) continue; - for (var k=0; k"); - } - xml.push(""); - }; - xml.push(""); - return xml.join("\n"); - }; - function get_style(node, style){ - return (window.getComputedStyle?(window.getComputedStyle(node, null)[style]):(node.currentStyle?node.currentStyle[style]:null))||""; - }; - - function xml_row(ind){ - if (!grid.rowsBuffer[ind]) return ""; - var r = grid.render_row(ind); - if (r.style.display=="none") return ""; - var level = grid.isTreeGrid() ? ' level="' + grid.getLevel(r.idd) + '"' : ''; - var xml = ""; - for (var i=0; i < grid._cCount; i++) { - if (((!grid._srClmn)||(grid._srClmn[i]))&&(!grid._hrrar[i] || ( grid._fake && i < grid._fake.hdrLabels.length))){ - var cell = grid.cells(r.idd, i); - if (full_color){ - var text_color = get_style(cell.cell,"color"); - var bg_color = get_style(cell.cell,"backgroundColor"); - var bold = get_style(cell.cell, "font-weight") || get_style(cell.cell, "fontWeight"); - var italic = get_style(cell.cell, "font-style") || get_style(cell.cell, "fontStyle"); - var align = get_style(cell.cell, "text-align") || get_style(cell.cell, "textAlign"); - var font = get_style(cell.cell, "font-family") || get_style(cell.cell, "fontFamily"); - if (bg_color == "transparent" || bg_color == "rgba(0, 0, 0, 0)") bg_color = "rgb(255,255,255)"; - xml+=""; - } else - xml+=""; - - xml+=""; - } - }; - return xml+""; - } - function xml_end(){ - var xml = ""; - return xml; - } - - - - var d=document.createElement("div"); - d.style.display="none"; - document.body.appendChild(d); - var uid = "form_"+grid.uid(); - - d.innerHTML = '
                    '; - document.getElementById(uid).firstChild.value = encodeURIComponent(xml_top(mode).replace("\u2013", "-") + xml_body() + xml_end()); - document.getElementById(uid).submit(); - d.parentNode.removeChild(d); - - - grid = null; - - if (save_sel && save_sel.row.length) { - for (var i = 0; i < save_sel.row.length; i++) { - save_sel.row[i].parentNode.className += ' rowselected'; - if (save_sel.row.length == 1) - save_sel.row[i].className += ' cellselected'; - } - }; - save_sel = null; -}; -dhtmlXGridObject.prototype._serialiseExportConfig=function(spans){ - function xmlentities(str) { - if (typeof(str)!=='string') return str; - str = str.replace(/&/g, "&"); - str = str.replace(/"/g, """); - str = str.replace(/'/g, "'"); - str = str.replace(//g, ">"); - return str; - } - - var out = ""; - - for (var i = 0; i < this.hdr.rows[0].cells.length; i++){ - if (this._srClmn && !this._srClmn[i]) continue; - if (this._hrrar[i] && ( !this._fake || i >= this._fake.hdrLabels.length)) continue; - var sort = this.fldSort[i]; - if (sort == "cus"){ - sort = this._customSorts[i].toString(); - sort=sort.replace(/function[\ ]*/,"").replace(/\([^\f]*/,""); - } - var s = spans[1][i]; - var rpans = (( s[1] && s[1] > 1 ) ? ' rowspan="'+s[1]+'" ' : "")+(( s[0] && s[0] > 1 ) ? ' colspan="'+s[0]+'" ' : ""); - out+=""; - } - return out+=""; -}; -if (window.eXcell_sub_row_grid) - window.eXcell_sub_row_grid.prototype.getContent=function(){ return ""; }; - - -dhtmlXGridObject.prototype.toExcel = function(url,mode,header,footer,rows) { - if (!document.getElementById('ifr')) { - var ifr = document.createElement('iframe'); - ifr.style.display = 'none'; - ifr.setAttribute('name', 'dhx_export_iframe'); - ifr.setAttribute('src', ''); - ifr.setAttribute('id', 'dhx_export_iframe'); - document.body.appendChild(ifr); - } - - var target = " target=\"dhx_export_iframe\""; - this.toPDF(url,mode,header,footer,rows,target); -} - diff --git a/themes/sources/dhtmlxGrid/codebase/ext/dhtmlxgrid_fast.js b/themes/sources/dhtmlxGrid/codebase/ext/dhtmlxgrid_fast.js deleted file mode 100644 index 9d4c64d..0000000 --- a/themes/sources/dhtmlxGrid/codebase/ext/dhtmlxgrid_fast.js +++ /dev/null @@ -1,56 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - - //next function switch grid between fast and normal operation modes - //limitation - will not work for paging|smart_rendering|dynamic|split modes, most events will not be generated - -/** -* @desc: start fast operation mode, in such mode events are not generated, some time consuming actions applied only once, which allow to increase performance -* @type: public -* @topic: 0 -*/ - dhtmlXGridObject.prototype.startFastOperations = function(){ - this._disF=["setSizes","callEvent","_fixAlterCss","cells4","forEachRow", "_correctMonolite"]; - this._disA=[]; - for (var i = this._disF.length - 1; i >= 0; i--){ - this._disA[i]=this[this._disF[i]]; this[this._disF[i]]=function(){return true}; - }; - - this._cellCache=[]; - this.cells4=function(cell){ - var c=this._cellCache[cell._cellIndex] - if (!c){ - c=this._cellCache[cell._cellIndex]=this._disA[3].apply(this,[cell]); - c.destructor=function(){return true;} - c.setCValue=function(val){c.cell.innerHTML=val;} - } - - c.cell=cell; - c.combo=cell._combo||this.combos[cell._cellIndex]; - return c; - } - - } -/** -* @desc: turn off fast operation mode, need to be executed to normalize view. -* @type: public -* @topic: 0 -*/ - dhtmlXGridObject.prototype.stopFastOperations = function(){ - if (!this._disF) return; - for (var i = this._disF.length - 1; i >= 0; i--){ - this[this._disF[i]]=this._disA[i]; - }; - - if (this._correctMonolite) - this._correctMonolite(); - this.setSizes(); - this.callEvent("onGridReconstructed",[]); - } - - //(c)dhtmlx ltd. www.dhtmlx.com diff --git a/themes/sources/dhtmlxGrid/codebase/ext/dhtmlxgrid_filter.js b/themes/sources/dhtmlxGrid/codebase/ext/dhtmlxgrid_filter.js deleted file mode 100644 index 829441f..0000000 --- a/themes/sources/dhtmlxGrid/codebase/ext/dhtmlxgrid_filter.js +++ /dev/null @@ -1,659 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -//please beware that function started from _in_header_ must not be obfuscated - - - -/** -* @desc: filter grid by mask -* @type: public -* @param: column - {number} zero based index of column -* @param: value - {string} filtering mask -* @param: preserve - {bool} filter current or initial state ( false by default ) -* @edition: Professional -* @topic: 0 -*/ -dhtmlXGridObject.prototype.filterBy=function(column, value, preserve){ - if (this.isTreeGrid()) return this.filterTreeBy(column, value, preserve); - if (this._f_rowsBuffer){ - if (!preserve){ - this.rowsBuffer=dhtmlxArray([].concat(this._f_rowsBuffer)); - if (this._fake) this._fake.rowsBuffer=this.rowsBuffer; - } - } else - this._f_rowsBuffer=[].concat(this.rowsBuffer); //backup copy - - - if (!this.rowsBuffer.length) return; - var d=true; - this.dma(true) - if (typeof(column)=="object") - for (var j=0; j=0; i--) - if (d?(this._get_cell_value(this.rowsBuffer[i],column).toString().toLowerCase().indexOf(value)==-1):(!value.call(this, this._get_cell_value(this.rowsBuffer[i],column),this.rowsBuffer[i].idd))) - this.rowsBuffer.splice(i,1);//filter row -} - -dhtmlXGridObject.prototype.getFilterElement=function(index){ - if (!this.filters) return; - for (var i=0; i < this.filters.length; i++) { - if (this.filters[i][1]==index) - return (this.filters[i][0].combo||this.filters[i][0]); - }; - return null; -} - -dhtmlXGridObject.prototype.getFilterElementById=function(id){ - var index = this.getColIndexById(id); - return this.getFilterElement(this._m_order ? this._m_order[index] : index); -} - -/** -* @desc: get all possible values in column -* @type: public -* @param: column - {number} zero based index of column -* @returns: {array} array of all possible values in column -* @edition: Professional -* @topic: 0 -*/ -dhtmlXGridObject.prototype.collectValues=function(column){ - var evs = this.dhxevs.data.oncollectvalues; - if (evs){ - var value = true; - for (var key in evs){ - var nextvalue = evs[key].call(this, column); - if (nextvalue !== true) value = nextvalue || value; - } - if (value !== true) - return value; - } - - if (this.isTreeGrid()) return this.collectTreeValues(column); - this.dma(true) - this._build_m_order(); - column=this._m_order?this._m_order[column]:column; - var c={}; var f=[]; - var col=this._f_rowsBuffer||this.rowsBuffer; - for (var i=0; i= this._cCount) continue; - b.push(ind); - - var val=this.filters[i][0].old_value=this.filters[i][0].value; - if (this.filters[i][0]._filter) - val = this.filters[i][0]._filter(); - - var vals; - if (typeof val != "function" && (vals=(this.combos[ind]||((this._col_combos&&this._col_combos[ind])?this._col_combos[ind]:((this._sub_trees && this._sub_trees[ind])?this._sub_trees[ind][1]:false))))){ - if(vals.values){ - ind=vals.values._dhx_find(val); - val=(ind==-1)?val:vals.keys[ind]; - } - else if(vals.getOptionByLabel){ - val=(vals.getOptionByLabel(val)?vals.getOptionByLabel(val).value:val); - } else - val = vals[val]; - } - a.push(val); - - } - if (!this.callEvent("onFilterStart",[b,a])) return; - - this.filterBy(b,a); - if (this._cssEven) this._fixAlterCss(); - this.callEvent("onFilterEnd",[this.filters]); - - if (this._f_rowsBuffer && this.rowsBuffer.length == this._f_rowsBuffer.length) - this._f_rowsBuffer = null; -} - -/** -* @desc: create a filter from any input element (text filter), select (dropdown) or DIV (combobox based on dhtmlxCombo) -* @type: public -* @param: id - {string|object} input id or input html object -* @param: column - {number} index of column -* @param: preserve - {bool} filter current state or initial one ( false by default ) -* @edition: Professional -* @topic: 0 -*/ -dhtmlXGridObject.prototype.makeFilter=function(id,column,preserve){ - if (!this.filters) this.filters=[]; - if (typeof(id)!="object") - id=document.getElementById(id); - if(!id) return; - var self=this; - - if (!id.style.width) id.style.width = "90%"; - - if (id.tagName=='SELECT'){ - this.filters.push([id,column]); - this._loadSelectOptins(id,column); - id.onchange=function(){ - self.filterByAll(); - } - if(_isIE) - id.style.marginTop="1px"; - - this.attachEvent("onEditCell",function(stage,a,ind){ - this._build_m_order(); - if (stage==2 && this.filters && ( this._m_order?(ind==this._m_order[column]):(ind==column) )) - this._loadSelectOptins(id,column); - return true; - }); - } - else if (id.tagName=='INPUT'){ - this.filters.push([id,column]); - id.old_value = id.value=''; - id.onkeydown=function(){ - if (this._timer) window.clearTimeout(this._timer); - this._timer=window.setTimeout(function(){ - if (id.value != id.old_value){ - self.filterByAll(); - id.old_value=id.value; - } - },500); - }; - } - else if (id.tagName=='DIV'){ - this.filters.push([id,column]); - id.style.padding="0px";id.style.margin="0px"; - if (!window.dhx_globalImgPath) window.dhx_globalImgPath=this.imgURL; - var z=new dhtmlXCombo(id,"_filter","90%"); - z.filterSelfA=z.filterSelf; - z.filterSelf=function(){ - if (this.getSelectedIndex()==0) this.setComboText(""); - this.filterSelfA.apply(this,arguments); - this.optionsArr[0].hide(false); - } - - - z.enableFilteringMode(true); - id.combo=z; - id.value=""; - - this._loadComboOptins(id,column); - z.attachEvent("onChange",function(){ - id.value=z.getSelectedValue(); - if (id.value === null) id.value = ""; - self.filterByAll(); - }); - } - if (id.parentNode) - id.parentNode.className+=" filter"; - - this._filters_ready(); //set event handlers -} - /** - * @desc: find cell in grid by value - * @param: value - search string - * @param: c_ind - index of column to search in (optional. if not specified, then search everywhere) - * @param: count - count of results to return - * @edition: Professional - * @returns: array each member of which contains array with row ID and cell index - * @type: public - */ - dhtmlXGridObject.prototype.findCell=function(value, c_ind, count, compare){ - var compare = compare || (function(master, check){ - return check.toString().toLowerCase().indexOf(master) != -1; - }); - if (compare === true) - compare = function(master, check){ return check.toString().toLowerCase() == master; }; - - var res = new Array(); - value=value.toString().toLowerCase(); - if (typeof count != "number") count = count?1:0; - - if (!this.rowsBuffer.length) - return res; - - for (var i = (c_ind||0); i < this._cCount; i++){ - if (this._h2) - this._h2.forEachChild(0,function(el){ - if (count && res.length==count) return res; - if (compare(value, this._get_cell_value(el.buff,i))){ - res.push([el.id,i]); - } - },this) - else - for (var j=0; j < this.rowsBuffer.length; j++) - if (compare(value, this._get_cell_value(this.rowsBuffer[j],i))){ - res.push([this.rowsBuffer[j].idd,i]); - if (count && res.length==count) return res; - } - - - - if (typeof (c_ind) != "undefined") - return res; - } - - return res; - } - -/** -* @desc: create a search box (set selection to the row with found value) from any input -* @type: public -* @param: id - {string|object} input id or input html object -* @param: column - {number} index of column -* @edition: Professional -* @topic: 0 -*/ -dhtmlXGridObject.prototype.makeSearch=function(id,column,strict){ - if (typeof(id)!="object") - id=document.getElementById(id); - if(!id) return; - var self=this; - - if (id.tagName=='INPUT'){ - id.onkeypress=function(){ - if (this._timer) window.clearTimeout(this._timer); - this._timer=window.setTimeout(function(){ - if (id.value=="") return; - var z=self.findCell(id.value,column,true,strict); - if (z.length){ - if (self._h2) - self.openItem(z[0][0]); - self.selectCell(self.getRowIndex(z[0][0]),(column||0)) - } - },500); - }; - } - if (id.parentNode) - id.parentNode.className+=" filter"; -} - -dhtmlXGridObject.prototype._loadSelectOptins=function(t,c){ - var l=this.collectValues(c); - var v=t.value; - t.innerHTML=""; - t.options[0]=new Option("",""); - var f=this._filter_tr?this._filter_tr[c]:null; - for (var i=0; i=num && v<=num2) return true; - return false; - } - } - r=v.match(/>=|<=|>|"+c[1]; - var self=this; - t.getElementsByTagName("input")[0].onclick=function(e){ - self._build_m_order(); - var j=self._m_order?self._m_order[i]:i; - var val=this.checked?1:0; - self.forEachRowA(function(id){ - var c=this.cells(id,j); - if (c.isCheckbox() && !c.isDisabled()) { - c.setValue(val); - c.cell.wasChanged = true; - } - this.callEvent("onEditCell",[1,id,j,val]); - this.callEvent("onCheckbox", [id, j, val]); - this.callEvent("onCheck", [id, j, val]); - }); - (e||event).cancelBubble=true; - } -} - -dhtmlXGridObject.prototype._in_header_stat_total=function(t,i,c){ - var calck=function(){ - var summ=0; - this._build_m_order(); - var ii = this._m_order?this._m_order[i]:i; - for (var j=0; j 0 ? false : true; - for (var i = 0; i < filters.length; i++) - result = result || filters[i](value); - return result; - } - }; -} - - -dhtmlXGridObject.prototype._in_header_string_filter=function(t,i){ - this._in_header_text_filter.call(this,t,i); - var self = this; - t.firstChild._filter=function(){ - var filters = self._get_filters(this.value, 'str'); - return function(value) { - var result = filters.length > 0 ? false : true; - for (var i = 0; i < filters.length; i++) - result = result || filters[i](value); - return result; - } - }; -} - - -dhtmlXGridObject.prototype._get_filters=function(value, type) { - var fs = value.split(','); - var filters = []; - - for (var i = 0; i < fs.length; i++) { - if (fs[i] == '') continue; - var f = this['_get_' + type + '_filter'](fs[i]); - filters.push(f); - } - return filters; -} - - -dhtmlXGridObject.prototype._get_str_filter=function(value) { - // empty, null - if (value == 'null' || value == 'empty') { - return new Function('value', 'if (value == null || value == "") return true; return false;'); - } - - // not empty, not null - if (value == '!null' || value == '!empty') { - return new Function('value', 'if (value == null || value == "") return false; return true;'); - } - // not equals - if (value.substr(0, 1) === '!') { - var substr = value.substr(1); - return new Function('value', 'if (value !== "' + substr + '") return true; return false;'); - } - // contains - if (value.substr(0, 1) === '~') { - var substr = value.substr(1); - return new Function('value', 'if (value.indexOf("' + substr + '") !== -1) return true; return false;'); - } - // ^keyword& - if (value.substr(0, 1) === '^' && value.substr(value.length - 1, 1) === '&') { - value = '=' + value.substr(1, value.length - 2); - } - // start with - if (value.substr(0, 1) === '^') { - var substr = value.substr(1); - return new Function('value', 'if (value.substr(0, ' + substr.length + ') === "' + substr + '") return true; return false;'); - } - // end with - if (value.substr(value.length - 1, 1) === '&') { - var substr = value.substr(0, value.length - 1); - return new Function('value', 'if (value.substr(value.length - ' + substr.length + ') === "' + substr + '") return true; return false;'); - } - // equals - if (value.substr(0, 1) === '=') - var substr = value.substr(1); - else - var substr = value; - return new Function('value', 'if (value === "' + substr + '") return true; return false;'); -} - - -dhtmlXGridObject.prototype._get_num_filter=function(value) { - // empty, null - if (value == 'null' || value == 'empty') { - return new Function('value', 'if (value == null || value == "") return true; return false;'); - } - - // not empty, not null - if (value == '!null' || value == '!empty') { - return new Function('value', 'if (value == null || value == "") return false; return true;'); - } - // in range - var range = value.split('..'); - if (range.length == 2) { - var num1 = parseFloat(range[0]); - var num2 = parseFloat(range[1]); - return new Function('value', 'if (value >= ' + num1 + ' && value <= ' + num2 + ') return true; return false;'); - } - var r = value.match(/<>|>=|<=|>|<|=/); - if (r) { - var op = r[0]; - var num = parseFloat(value.replace(op, "")); - } else { - var op = '=='; - num = parseFloat(value); - } - if (op == '<>') op = '!='; - if (op == '=') op = '=='; - return new Function("value"," if (value " + op + " " + num + " ) return true; return false;"); -} diff --git a/themes/sources/dhtmlxGrid/codebase/ext/dhtmlxgrid_form.js b/themes/sources/dhtmlxGrid/codebase/ext/dhtmlxgrid_form.js deleted file mode 100644 index 8a4c436..0000000 --- a/themes/sources/dhtmlxGrid/codebase/ext/dhtmlxgrid_form.js +++ /dev/null @@ -1,213 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -dhtmlXGridObject.prototype.attachHeaderA=dhtmlXGridObject.prototype.attachHeader; -dhtmlXGridObject.prototype.attachHeader=function() -{ - this.attachHeaderA.apply(this,arguments); - if (this._realfake) return true; - this.formAutoSubmit(); - if (typeof(this.FormSubmitOnlyChanged)=="undefined") - this.submitOnlyChanged(true); - - if (typeof(this._submitAR)=="undefined") - this.submitAddedRows(true); - - var that=this; - - this._added_rows=[]; - this._deleted_rows=[]; - - this.attachEvent("onRowAdded",function(id){ - that._added_rows.push(id); - that.forEachCell(id,function(a){ a.cell.wasChanged=true; }) - return true; - }); - this.attachEvent("onBeforeRowDeleted",function(id){ - that._deleted_rows.push(id); - return true; - }); - - this.attachHeader=this.attachHeaderA; -} - -dhtmlXGridObject.prototype.formAutoSubmit = function() -{ - this.parentForm = this.detectParentFormPresent(); - if (this.parentForm === false) { - return false; - } - if (this.formEventAttached) - return; - this.formInputs = new Array(); - var self = this; - dhtmlxEvent(this.parentForm, 'submit', function() {if (self.entBox) self.parentFormOnSubmit();}); - this.formEventAttached = true; -} - -dhtmlXGridObject.prototype.parentFormOnSubmit = function() -{ - this.formCreateInputCollection(); - if (!this.callEvent("onBeforeFormSubmit",[])) return false; -} - -/** -* @desc: include only changed rows in form submit -* @type: public -* @param: mode - {boolean} enable|disable mode -* @topic: 0 -*/ -dhtmlXGridObject.prototype.submitOnlyChanged = function(mode) -{ - this.FormSubmitOnlyChanged = dhx4.s2b(mode); -} - -dhtmlXGridObject.prototype.submitColumns=function(names){ - if (typeof names == "string") names=names.split(this.delim); - this._submit_cols=names; -} - -/** -* @desc: allows to define input name which will be used for data sending, name may contain next auto-replaced elements - GRID_ID - ID of grids container, ROW_ID - ID of row, ROW_INDEX - index of row, COLUMN_ID - id of column, COLUMN_INDEX - index of column -* @type: public -* @param: name - input name mask -* @topic: 0 -*/ -dhtmlXGridObject.prototype.setFieldName=function(mask){ - mask=mask.replace(/\{GRID_ID\}/g,"'+a1+'"); - mask=mask.replace(/\{ROW_ID\}/g,"'+a2+'"); - mask=mask.replace(/\{ROW_INDEX\}/g,"'+this.getRowIndex(a2)+'"); - mask=mask.replace(/\{COLUMN_INDEX\}/g,"'+a3+'"); - mask=mask.replace(/\{COLUMN_ID\}/g,"'+this.getColumnId(a3)+'"); - this._input_mask=Function("a1","a2","a3","return '"+mask+"';"); -} - - -/** -* @desc: include serialized grid as part of form submit -* @type: public -* @param: mode - {boolean} enable|disable mode -* @topic: 0 -*/ -dhtmlXGridObject.prototype.submitSerialization = function(mode) -{ - this.FormSubmitSerialization = dhx4.s2b(mode); -} - -/** -* @desc: include additional data with info about which rows was added and which deleted, enabled by default -* @type: public -* @param: mode - {boolean} enable|disable mode -* @topic: 0 -*/ -dhtmlXGridObject.prototype.submitAddedRows = function(mode) -{ - this._submitAR = dhx4.s2b(mode); -} - - - - -/** -* @desc: include only selected rows in form submit -* @type: public -* @param: mode - {boolean} enable|disable mode -* @topic: 0 -*/ -dhtmlXGridObject.prototype.submitOnlySelected = function(mode) -{ - this.FormSubmitOnlySelected = dhx4.s2b(mode); -} - - -/** -* @desc: include only row's IDS in form submit -* @type: public -* @param: mode - {boolean} enable|disable mode -* @topic: 0 -*/ -dhtmlXGridObject.prototype.submitOnlyRowID = function(mode) -{ - this.FormSubmitOnlyRowID = dhx4.s2b(mode); -} - - -dhtmlXGridObject.prototype.createFormInput = function(name,value){ - var input = document.createElement('input'); - input.type = 'hidden'; - if (this._input_mask && (typeof name != "string")) - input.name=this._input_mask.apply(this,name); - else - input.name =((this.globalBox||this.entBox).id||'dhtmlXGrid')+'_'+name; - input.value = value; - this.parentForm.appendChild(input); - this.formInputs.push(input); -} - -dhtmlXGridObject.prototype.createFormInputRow = function(r){ - var id=(this.globalBox||this.entBox).id; - for (var j=0; j "; - if (this.customGroupFormat) html+=this.customGroupFormat(z.text,z.count); - else html+=z.text+" ( "+z.count+" ) "; - z.row.childNodes[mask._title].innerHTML=html; -} -dhtmlXGridObject.prototype._addPseudoRow=function(skip){ - - var mask = this._gmask||this._fake._gmask; - var r=mask.cloneNode(true) - //cloneNode ignores custom attributes - for (var i=0; i=0; i--){ - if (this.rowsCol[i]._cntr){ - this.rowsCol[i]._cntr._childs=a; - a=[]; - b.push(this.rowsCol[i]); - } else a.push(this.rowsCol[i]); - this.rowsCol[i].parentNode.removeChild(this.rowsCol[i]); - } - return b; -} - -dhtmlXGridObject.prototype._groups_put=function(b){ - var sts = this.rowsCol.stablesort; - this.rowsCol=new dhtmlxArray(0); - this.rowsCol.stablesort = sts; - - for (var i=0; i=0; i--){ - if (!this.rowsCol[i]._cntr){ - c=a(c,this.cells3(this.rowsCol[i],ind).getValue()*1,j); - j++; - } else { - this.cells5(this.rowsCol[i].childNodes[rind],this.cellType[ind]).setValue(c); - j=c=0; - } - } -} - -dhtmlXGridObject.prototype._g_stat_total=function(c,n,i){ - return c+n; -} -dhtmlXGridObject.prototype._g_stat_min=function(c,n,i){ - if (!i) c=Infinity; - return Math.min(c,n); -} -dhtmlXGridObject.prototype._g_stat_max=function(c,n,i){ - if (!i) c=-Infinity; - return Math.max(c,n); -} -dhtmlXGridObject.prototype._g_stat_average=function(c,n,i){ - return (c*i+n)/(i+1); -} -dhtmlXGridObject.prototype._g_stat_count=function(c,n,i){ - return ++c; -} - -//(c)dhtmlx ltd. www.dhtmlx.com - diff --git a/themes/sources/dhtmlxGrid/codebase/ext/dhtmlxgrid_hextra.js b/themes/sources/dhtmlxGrid/codebase/ext/dhtmlxgrid_hextra.js deleted file mode 100644 index 5361949..0000000 --- a/themes/sources/dhtmlxGrid/codebase/ext/dhtmlxgrid_hextra.js +++ /dev/null @@ -1,63 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -dhtmlXGridObject.prototype._in_header_collapse=function(t,i,c){ - var rt=t.tagName=="TD"?t:t.parentNode; - i=rt._cellIndexS; - if (!this._column_groups) this._column_groups=[]; - var cols=c[1].split(":") - var cols=c[1].split(":"); - cols = [cols.shift(), cols.join(':')]; - var count = parseInt(cols[0]); - t.innerHTML=c[0]+""+(cols[1]||"")+""; - t.style.paddingBottom='0px'; - var self = this; - this._column_groups[i]=t.getElementsByTagName("IMG")[0]; - this._column_groups[i].onclick=function(e){ - (e||event).cancelBubble=true; - this._cstate=!this._cstate; - for (var j=i+1; j<(i+count); j++) - self.setColumnHidden(j,this._cstate) - if (this._cstate){ - if (rt.colSpan && rt.colSpan>0) { - rt._exp_colspan=rt.colSpan; - var delta=Math.max(1,rt.colSpan-count) - if (!_isFF) //create additional cells to compensate colspan - for (var z=0; z]*>/gi,""); - var visible = !(this.isColumnHidden(true_ind) || (this.getColWidth(true_ind)==0)); - this._header_menu.addCheckbox("child", this._header_menu.topId, j, true_ind, val, visible); - j++; - } - true_ind+=(c.colSpan||1); - } -} -//(c)dhtmlx ltd. www.dhtmlx.com - diff --git a/themes/sources/dhtmlxGrid/codebase/ext/dhtmlxgrid_json.js b/themes/sources/dhtmlxGrid/codebase/ext/dhtmlxgrid_json.js deleted file mode 100644 index cc96820..0000000 --- a/themes/sources/dhtmlxGrid/codebase/ext/dhtmlxgrid_json.js +++ /dev/null @@ -1,450 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -dhtmlXGridObject.prototype._process_json_row=function(r, data){ - r._attrs=data; - for (var j = 0; j < r.childNodes.length; j++)r.childNodes[j]._attrs={ - }; - if (data.userdata) - for (var a in data.userdata) - this.setUserData(r.idd,a,data.userdata[a]); - - data = this._c_order?this._swapColumns(data.data):data.data; - - for (var i=0; i 0) - this.clearAll(true); - - var sets = [ - [], - [], - [], - [], - [], - [], - [],[],[] - ]; - - var attrs = ["value", "width", "type", "align", "sort", "color", "format", "hidden", "id"]; - var calls = ["", awidthmet, "setColTypes", "setColAlign", "setColSorting", - "setColumnColor", "", "", "setColumnIds"]; - - for (var i = 0; i < headCol.length; i++) - for (var j = 0; j < attrs.length; j++) - sets[j].push(headCol[i][attrs[j]]); - - this.setHeader(sets[0]); - for (var i = 0; i < calls.length; i++) - if (calls[i]) - this[calls[i]](sets[i].join(this.delim)); - - for (var i = 0; i < headCol.length; i++){ - var options = headCol[i].options - if (headCol[i].options){ - if (this.cellType[i] == "clist"){ - this.registerCList(i, options); - } else { - var combo = this.getCombo(i); - for (var j = 0; j < options.length; j++) - combo.put(options[j].id, options[j].value); - } - } else { - if (sets[6][i]) - if ((this.cellType[i].toLowerCase().indexOf("calendar")!=-1)||(this.fldSort[i] == "date")) - this.setDateFormat(sets[6][i]); - else - this.setNumberFormat(sets[6][i], i); - } - } - - - this.init(); - - var param=sets[7].join(this.delim); - //preserving state of hidden columns, if not specified directly - if (this.setColHidden && param.replace(/,/g,"")!="") - this.setColHidden(param); - - if ((split)&&(this.splitAt)) - this.splitAt(split); - }; - - dhtmlXGridObject.prototype._process_json=function(data, mode){ - this._parsing=true; - try { - var data = data.responseText || data; - if (typeof data == "string"){ - eval("dhtmlx.temp="+data+";"); - data = dhtmlx.temp; - } - } catch(e){ - dhx4.callEvent("onLoadXMLError", ["Incorrect JSON", - (data.xmlDoc||data), - this - ]); - data = {rows:[]}; - } - - if (this._refresh_mode) return this._refreshFromJSON(data); - - if (data.head) - this._parseHeadJson(data); - this._parseOptionsJson(data); - - var cr = parseInt(data.pos||0); - var total = parseInt(data.total_count||0); - - var reset = false; - if (total){ - if (!this.rowsBuffer[total-1]){ - if (this.rowsBuffer.length) - reset=true; - this.rowsBuffer[total-1]=null; - } - if (total= 0; i--){ - this.selectCell(this.rowsCol[i],this.cell._cellIndex,true,false,true); - } - }, - //ctrl shift down - k40_1_1:function(){ - var rowInd = this.getRowIndex(this.row.idd); - for (var i = rowInd+1; i =this._cCount) return; - var z=this._getNextCell(null,1); - if (z && this.row==z.parentNode){ - this.selectCell(z.parentNode,z._cellIndex,true); - this._still_active=true; - } - }, - k9_0_1:function(){ - this.editStop(); - if (!this.callEvent("onTab",[false])) return true; - if (this.cell && (this.cell._cellIndex==0)) return; - var z=this._getNextCell(null,-1); - if (z && this.row==z.parentNode) { - this.selectCell(z.parentNode,z._cellIndex,true); - this._still_active=true; - } - }, - k113_0_0:function(){ - if (this._f2kE) this.editCell(); - }, - k32_0_0:function(){ - var c=this.cells4(this.cell); - if (!c.changeState || (c.changeState()===false)) return false; - }, - k27_0_0:function(){ - this.editStop(true); - this._still_active=true; - }, - k33_0_0:function(){ - if(this.pagingOn) - this.changePage(this.currentPage-1); - else this.scrollPage(-1); - }, - k34_0_0:function(){ - if(this.pagingOn) - this.changePage(this.currentPage+1); - else this.scrollPage(1); - }, - k37_0_0:function(){ - if (this.editor) return false; - if(this.isTreeGrid()) - this.collapseKids(this.row); - else this._key_events.k9_0_1.call(this); - }, - k39_0_0:function(){ - if (this.editor) return false; - if(!this.editor && this.isTreeGrid()) - this.expandKids(this.row); - else this._key_events.k9_0_0.call(this); - }, - k37_1_0:function(){ - if (this.editor) return false; - this.selectCell(this.row,0,true); - }, - k39_1_0:function(){ - if (this.editor) return false; - this.selectCell(this.row,this._cCount-1,true); - }, - k38_1_0:function(){ - if (this.editor || !this.rowsCol.length) return false; - this.selectCell(this.rowsCol[0],this.cell._cellIndex,true); - }, - k40_1_0:function(){ - if (this.editor || !this.rowsCol.length) return false; - this.selectCell(this.rowsCol[this.rowsCol.length-1],this.cell._cellIndex,true); - }, - k38_0_1:function(){ - if (this.editor || !this.rowsCol.length) return false; - var rowInd = this.row.rowIndex; - var nrow=this._nextRow(rowInd-1,-1); - if (!nrow || nrow._sRow || nrow._rLoad) return false; - this.selectCell(nrow,this.cell._cellIndex,true,true); - }, - k40_0_1:function(){ - if (this.editor || !this.rowsCol.length) return false; - var rowInd = this.row.rowIndex; - var nrow=this._nextRow(rowInd-1,1); - if (!nrow || nrow._sRow || nrow._rLoad) return false; - this.selectCell(nrow,this.cell._cellIndex,true,true); - }, - k38_1_1:function(){ - if (this.editor || !this.rowsCol.length) return false; - var rowInd = this.row.rowIndex; - for (var i = rowInd - 1; i >= 0; i--){ - this.selectCell(this.rowsCol[i],this.cell._cellIndex,true,true); - } - }, - k40_1_1:function(){ - if (this.editor || !this.rowsCol.length) return false; - var rowInd = this.row.rowIndex; - for (var i = rowInd; i =40 && (ev.keyCode < 91 || (ev.keyCode >95 && ev.keyCode <111) || ev.keyCode > 187)) - if (this.cell){ - var c=this.cells4(this.cell); - if (c.isDisabled()) return false; - var t=c.getValue(); - if (c.editable!==false) c.setValue(""); - this.editCell(); - if (this.editor) { - this.editor.val=t; - if (this.editor.obj && this.editor.obj.select) - this.editor.obj.select(); - } - else c.setValue(t); - } - } - }; - -}; diff --git a/themes/sources/dhtmlxGrid/codebase/ext/dhtmlxgrid_markers.js b/themes/sources/dhtmlxGrid/codebase/ext/dhtmlxgrid_markers.js deleted file mode 100644 index eca6130..0000000 --- a/themes/sources/dhtmlxGrid/codebase/ext/dhtmlxgrid_markers.js +++ /dev/null @@ -1,161 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - - /** - * @desc: sets marked cells support to enabled or disabled state - * @type: public - * @param: state - true or false - */ - dhtmlXGridObject.prototype.enableMarkedCells = function(fl){ - this.markedRowsArr = new dhtmlxArray(0); - this.markedCellsArr = new Array(0); - this.lastMarkedRow = null; - this.lastMarkedColumn = null; - this.markedCells = true; - this.lastMarkMethod = 0; - if(arguments.length>0){ - if(!dhx4.s2b(fl)) - this.markedCells = false; - } - }; - /** - * @desc: occures on cell click - * @type: private - * @param: [el] - cell to click on - * @param: [markMethod] - 0 - simple click, 1 - shift, 2 - ctrl - */ - dhtmlXGridObject.prototype.doMark = function(el,markMethod){ - - var _rowId = el.parentNode.idd; - this.setActive(true); - if (!_rowId) return; - this.editStop(); - this.cell=el; - this.row=el.parentNode; - var _cellIndex = el._cellIndex; - - if(!markMethod) markMethod = 0; - - if(markMethod==0){ - this.unmarkAll() ; - } - else if(markMethod==1){ - - if(this.lastMarkedRow) { - var r_start = Math.min(this.getRowIndex(_rowId),this.getRowIndex(this.lastMarkedRow)); - var r_end = Math.max(this.getRowIndex(_rowId),this.getRowIndex(this.lastMarkedRow)); - - var c_start = Math.min(_cellIndex,this.lastMarkedColumn); - var c_end = Math.max(_cellIndex,this.lastMarkedColumn); - - for(var i = r_start; i < r_end+1; i++){ - for(var j = c_start; j < c_end+1; j++){ - this.mark(this.getRowId(i),j,true); - - } - } - } - } - else if(markMethod==2){ - if(this.markedRowsArr._dhx_find(_rowId)!=-1){ - for(var ci = 0; ci < this.markedCellsArr[_rowId].length; ci++){ - if(this.markedCellsArr[_rowId][ci]==_cellIndex){ - this.mark(_rowId,_cellIndex,false); - return true; - } - } - - } - - } - - if(!this.markedCellsArr[_rowId]) - this.markedCellsArr[_rowId] = new dhtmlxArray(0); - - if(markMethod!=1) - this.mark(_rowId,_cellIndex); - - this.moveToVisible(this.cells(_rowId,_cellIndex).cell); - this.lastMarkedRow = _rowId; - this.lastMarkedColumn = _cellIndex; - this.lastMarkMethod = markMethod; - - } -/** - * @desc: sets selection or removes selection from specified cell - * @param: r - row object or row index - * @param: cInd - cell index - * @param: state - true or false - * @type: public - */ -dhtmlXGridObject.prototype.mark = function(rid,cindex,fl){ - if(arguments.length>2){ - if(!dhx4.s2b(fl)){ - this.cells(rid,cindex).cell.className = this.cells(rid,cindex).cell.className.replace(/cellselected/g,""); - if(this.markedRowsArr._dhx_find(rid)!=-1){ - var ci = this.markedCellsArr[rid]._dhx_find(cindex); - if(ci!=-1){ - this.markedCellsArr[rid]._dhx_removeAt(ci); - if(this.markedCellsArr[rid].length==0){ - this.markedRowsArr._dhx_removeAt(this.markedRowsArr._dhx_find(rid)); - } - this.callEvent("onCellUnMarked",[rid,cindex]); - } - } - return true; - } - } - this.cells(rid,cindex).cell.className+= " cellselected"; - - if(this.markedRowsArr._dhx_find(rid)==-1) - this.markedRowsArr[this.markedRowsArr.length] = rid; - - if(!this.markedCellsArr[rid]) - this.markedCellsArr[rid] = new dhtmlxArray(0); - if(this.markedCellsArr[rid]._dhx_find(cindex)==-1){ - this.markedCellsArr[rid][this.markedCellsArr[rid].length] = cindex; - this.callEvent("onCellMarked",[rid,cindex]); - } - -} -/** - * @desc: removes selection from all marked cell - * @type: public - */ -dhtmlXGridObject.prototype.unmarkAll = function(){ - if(this.markedRowsArr){ - for(var ri = 0; ri < this.markedRowsArr.length; ri++){ - var rid = this.markedRowsArr[ri]; - if (this.rowsAr[rid]) - for(var ci = 0; ci < this.markedCellsArr[rid].length; ci++){ - this.callEvent("onCellUnMarked",[rid,this.markedCellsArr[rid][ci]]) - this.cells(rid,this.markedCellsArr[rid][ci]).cell.className = this.cells(rid,this.markedCellsArr[rid][ci]).cell.className.replace(/cellselected/g,""); - } - } - this.markedRowsArr = new dhtmlxArray(0); - this.markedCellsArr = new Array(0); - } - return true; -} -/** - * @desc: gets marked cells - * @returns: the array of marked cells (pairs of row id and column index) - * @type: public - */ -dhtmlXGridObject.prototype.getMarked = function(){ - var marked = new Array(); - if(this.markedRowsArr) - for(var ri = 0; ri < this.markedRowsArr.length; ri++){ - var rid = this.markedRowsArr[ri]; - for(var ci = 0; ci < this.markedCellsArr[rid].length; ci++){ - marked[marked.length] = [rid,this.markedCellsArr[rid][ci]]; - } - } - return marked; -} - diff --git a/themes/sources/dhtmlxGrid/codebase/ext/dhtmlxgrid_math.js b/themes/sources/dhtmlxGrid/codebase/ext/dhtmlxgrid_math.js deleted file mode 100644 index 84883d7..0000000 --- a/themes/sources/dhtmlxGrid/codebase/ext/dhtmlxgrid_math.js +++ /dev/null @@ -1,329 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/** -* @desc: cell with support for math formulas -* @param: cell - cell object -* @type: private -* @edition: Professional -*/ -function eXcell_math(cell){ - if (cell){ - this.cell = cell; - this.grid = this.cell.parentNode.grid; - } - this.edit = function(){ - this.grid.editor = new eXcell_ed(this.cell); - this.grid.editor.fix_self=true; - this.grid.editor.getValue=this.cell.original?(function(){ return this.cell.original}):this.getValue; - this.grid.editor.setValue=this.setValue; - this.grid.editor.edit(); - } - this.isDisabled = function(){ return !this.grid._mathEdit; } - this.setValue = function(val){ - val=this.grid._compileSCL(val,this.cell,this.fix_self); - if (this.grid._strangeParams[this.cell._cellIndex]) - this.grid.cells5(this.cell,this.grid._strangeParams[this.cell._cellIndex]).setValue(val); - else{ - this.setCValue(val); - this.cell._clearCell=false; - } - } - this.getValue = function(){ - if (this.grid._strangeParams[this.cell._cellIndex]) - return this.grid.cells5(this.cell,this.grid._strangeParams[this.cell._cellIndex]).getValue(); - - return this.cell.innerHTML; - } -} -eXcell_math.prototype = new eXcell; - -dhx4.attachEvent("onGridCreated", function(grid){ - grid._reset_math(); - if (grid._was_created_math) return; - grid._was_created_math = true; - - grid.attachEvent("onClearAll", grid._reset_math); - grid.attachEvent("onCellChanged",function(id,ind){ - if (this._mat_links[id]){ - var cell=this._mat_links[id][ind]; - if (cell){ - for (var i=0; i0){ - var n=z.length-this._roundDl; - if (n<0) { - z=("000000000"+z).substring(9+n); - n=0; - } - return (pre+z.substring(0,n)+"."+z.substring(n,z.length)); - } - return pre+z; - } - return z; -} - -dhtmlXGridObject.prototype._countTotal=function(row,cell){ - var b=0; - var z=this._h2.get[row]; - for (var i=0; ithis._cCount) ind=this._cCount; - if (!this._cMod) this._cMod=this._cCount; - this._processAllArrays(this._cCount,ind-1,[(header||" "),(width||100),(type||"ed"),(align||"left"),(valign||""),(sort||"na"),(columnColor||""),"",this._cMod,(width||100)]); - this._processAllRows("_addColInRow",ind); - - if (typeof(header)=="object") - for (var i=1; i < this.hdr.rows.length; i++) { - if (header[i-1]=="#rspan"){ - var pind=i-1; - var found=false; - var pz=null; - while(!found){ - var pz=this.hdr.rows[pind]; - for (var j=0; j=this._cCount) return; - this._processAllArrays(ind,this._cCount-1,[null,null,null,null,null,null,null,null,null,null,null]); - this._processAllRows("_deleteColInRow",ind); - this._cCount--; - this._master_row=null; - this.setSizes(); - -} - -dhtmlXGridObject.prototype.resetColumnsOrder = function(){ - this._c_order = null; -} - -/** -* @desc: call method for all rows in all collections -* @type: private -* @topic: 0 -*/ -dhtmlXGridObject.prototype._processAllRows = function(method,oldInd,newInd){ - this[method](this.obj.rows[0],oldInd,newInd,0); - - var z=this.hdr.rows.length; - for (var i=0; i(newInd+1); j--) - t[j]=t[j-1]; - t[newInd+1]=val; - } - if (vals) - t[newInd+(mode?0:1)]=vals[i]; - } - } -} - - -/** -* @desc: moves column of specified index to new position -* @param: oldInd - current index of column -* @param: newInd - new index of column -* @type: public -* @edition: Professional -* @topic: 0 -*/ -dhtmlXGridObject.prototype.moveColumn = function(oldInd,newInd){ - newInd--; - oldInd=parseInt(oldInd); newInd=parseInt(newInd); - if (newInd=ind; i--) - row._childIndexes[i]=i?(row._childIndexes[i-1]+1):0; - row._childIndexes[ind]--; - } - else - for (var i = row._childIndexes.length; i >= ind; i--) - row._childIndexes[i]=i?(row._childIndexes[i-1]+1):0; - var cind=row._childIndexes[ind]; - } - var c=row.childNodes[cind]; - var z=document.createElement((mod)?"TD":"TH"); - if (mod) { z._attrs={}; } //necessary for code compressor - else z.style.width=(parseInt(this.cellWidthPX[ind])||"100")+"px"; - if (c) - row.insertBefore(z,c); - else - row.appendChild(z); - - if (this.dragAndDropOff && row.idd) this.dragger.addDraggableItem(row.childNodes[cind],this); - - for (var i=cind+1; i1 && c.parentNode.idd){ - var t=c.colSpan-1; - var v=this.cells4(c).getValue(); - this.setColspan(c.parentNode.idd,c._cellIndex,1) - if (t>1){ - var cind=c._cellIndex*1; - this.setColspan(c.parentNode.idd,cind+1,t) - this.cells(c.parentNode.idd,c._cellIndex*1+1).setValue(v) - row._childIndexes.splice(cind,1) - for (var i=cind; i < row._childIndexes.length; i++) - row._childIndexes[i]-=1; - - } - } else if (row._childIndexes){ - row._childIndexes.splice(aind,1); - for (var i=aind; i0.5){ - he.className+=" columnTargetR"; - grid._colInMove._bIndex=el._cellIndexS; - } - else { - he.className+=" columnTargetL"; - grid._colInMove._bIndex=el._cellIndexS-1; - } - if (he.offsetLeft<(grid.objBox.scrollLeft+20)) - grid.objBox.scrollLeft=Math.max(0,he.offsetLeft-20); - - if ((he.offsetLeft+he.offsetWidth-grid.objBox.scrollLeft)>(grid.objBox.offsetWidth-20)) - grid.objBox.scrollLeft=Math.min(grid.objBox.scrollLeft+he.offsetWidth+20,grid.objBox.scrollWidth-grid.objBox.offsetWidth); - - grid._colInMove._oldHe=he; - } - //prevent selection, or other similar reactions while column draged - e.cancelBubble = true; - return false; - } - return true; -}; -dhtmlXGridObject.prototype._stopColumnMove = function(e){ - e=e||event; - var grid=window.globalActiveDHTMLGridObject; - if ((grid)&&(grid._colInMove)){ - if (typeof(grid._colInMove)=="object"){ - grid._colInMove.parentNode.removeChild(grid._colInMove); - if (grid._colInMove._bIndex!=null) - grid.moveColumn(grid._colInMove._aIndex,grid._colInMove._bIndex+1); - - if (grid._colInMove._oldHe) - grid._colInMove._oldHe.className=grid._colInMove._oldHe.className.replace(/columnTarget(L|R)/g,""); - grid._colInMove._oldHe=null; - grid._colInMove.grid=null; - grid.resized = true; - } - grid._colInMove=0; - } - return true; -}; - - - -//(c)dhtmlx ltd. www.dhtmlx.com - - diff --git a/themes/sources/dhtmlxGrid/codebase/ext/dhtmlxgrid_nxml.js b/themes/sources/dhtmlxGrid/codebase/ext/dhtmlxgrid_nxml.js deleted file mode 100644 index 4bed2c5..0000000 --- a/themes/sources/dhtmlxGrid/codebase/ext/dhtmlxgrid_nxml.js +++ /dev/null @@ -1,553 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/** -* @desc: load grid from CSV file -* @param: path - path to file -* @param: afterCall - function which will be called after xml loading -* @type: public -* @edition: Professional -* @topic: 0 -*/ -dhtmlXGridObject.prototype.loadCSVFile = function(path,afterCall){ - this.load(path,afterCall,"csv") -} - -/** -* @desc: enable mode, where ID for rows loaded from CSV autogenerated -* @param: mode - true/false -* @type: public -* @edition: Professional -* @topic: 0 -*/ -dhtmlXGridObject.prototype.enableCSVAutoID = function(mode){ - this._csvAID=dhx4.s2b(mode); -} -/** -* @desc: enable recognizing first row in CSV as header -* @param: mode - true/false -* @type: public -* @edition: Professional -* @topic: 0 -*/ -dhtmlXGridObject.prototype.enableCSVHeader = function(mode){ - this._csvHdr=dhx4.s2b(mode); -} - -/** -* @desc: load grid from CSV string -* @param: str - delimer used in CSV operations, comma by default ( only single char delimeters allowed ) -* @type: public -* @edition: Professional -* @topic: 0 -*/ -dhtmlXGridObject.prototype.setCSVDelimiter = function(str){ - this.csv.cell=str; -} -dhtmlXGridObject.prototype._csvAID = true; - -/** -* @desc: load grid from CSV string -* @param: str - CSV string -* @type: public -* @edition: Professional -* @topic: 0 -*/ -dhtmlXGridObject.prototype.loadCSVString = function(str){ - this.parse(str,"csv") -} - -/** -* @desc: serialize to CSV string -* @type: public -* @param: text only - force serialization of text values ( skip HTML elements ) ) -* @edition: Professional -* @topic: 0 -*/ -dhtmlXGridObject.prototype.serializeToCSV = function(textmode){ - this.editStop() - if (this._mathSerialization) - this._agetm="getMathValue"; - else if (this._strictText || textmode) - this._agetm="getTitle"; - else this._agetm="getValue"; - - var out=[]; - if (this._csvHdr){ - for (var j=1; j < this.hdr.rows.length; j++) { - var a=[]; - for (var i=0; iind && start) start--; - - - for(var jj=start;ind=end) break; - } - if (ind>=end) break; - ind++; - /* if (zx.getText) - zxVal=zx.getText(); - else*/ - if (zx.cell) - zxVal=zx[this._agetm](); - else zxVal=""; - - - if ((this._chAttr)&&(zx.wasChanged())) - changeFl=true; - - out[out.length]=((zxVal===null)?"":zxVal) -//#colspan:20092006{ - if ( this._ecspn && cvx.colSpan && cvx.colSpan >1 ){ - cvx=cvx.colSpan-1; - for (var u=0; u0 && !out[last].length) - out.splice(last,1); - - return out; - }, - str:function(data,cell,row){ - for (var i=0; i < data.length; i++) - data[i] = '"'+data[i].replace(this._quote, "\"\"")+'"'; - return data.join(cell); - } -}; - -/** -* @desc: add new row from clipboard -* @type: public -* @edition: Professional -* @topic: 5 -*/ -dhtmlXGridObject.prototype.addRowFromClipboard = function(){ - var csv=this.fromClipBoard(); - if (!csv) return; - var z=this.csvParser.unblock(csv, this.csv.cell, this.csv.row); - for (var i=0; i"; - if (!this.parentGrid) html+=(before||""); - html += ''; - var row_length = Math.max(this.rowsBuffer.length,this.rowsCol.length); //paging and smartrendering - var col_length = this._cCount; - var width = this._printWidth(); - html += ''; - for (var i=0; i'+this.getHeaderCol(i)+''; - i+=colspan-1; - } - html += ''; - - for (var i=2; i"; - var cells=this.hdr.rows[i].childNodes; - for (var j=0; j < cells.length; j++) - if (!this._hrrar || !this._hrrar[cells[j]._cellIndex]){ - html+=cells[j].outerHTML; - } - html+=""; - } - else - html+=""+(this._fake?this._fake.hdr.rows[i].innerHTML:"")+this.hdr.rows[i].innerHTML+""; - } - - for (var i=0; i]*>/gi,"")+''; - continue; - } - if (this.rowsCol[i] && this.rowsCol[i].style.display=="none") continue; - - var row_id - if (this.rowsCol[i]) - row_id=this.rowsCol[i].idd; - else if (this.rowsBuffer[i]) - row_id=this.rowsBuffer[i].idd; - else continue; //dyn loading - - for (var j=0; j'+(value===""?" ":value)+''; - if (cspan) j+=cspan-1; - } - html += ''; - if (this.rowsCol[i] && this.rowsCol[i]._expanded){ - var sub=this.cells4(this.rowsCol[i]._expanded.ctrl); - if (sub.getSubGrid) - html += ''; - else - html += ''; - } - } - - if (this.ftr) - for (var i=1; i"; - - - html += '
                    '+sub.getSubGrid().printView()+'
                    '+this.rowsCol[i]._expanded.innerHTML+'
                    '; - if (this.parentGrid) return html; - - html+=(after||""); - var d = window.open('', '_blank'); - d.document.write(html); - d.document.write(""); - d.document.close(); - if (this._fake) { - this._hrrar=st_hr; - } -} -dhtmlXGridObject.prototype._printWidth=function(){ - var width = []; - var total_width = 0; - for (var i=0; i[from]-[to] of [total]"); - } - } - - var details=this.getStateOfView(); - this.pagingBlock.innerHTML = this._pgn_templateA.apply(this,details); - this.recordInfoBlock.innerHTML = this._pgn_templateB.apply(this,details); - this._pgn_template_active(this.pagingBlock); - this._pgn_template_active(this.recordInfoBlock); - - this.callEvent("onPaging",[]); -} - -dhtmlXGridObject.prototype._pgn_block=function(sep){ - var start=Math.floor((this.currentPage-1)/this.pagesInGroup)*this.pagesInGroup; - var max=Math.min(Math.ceil(this.rowsBuffer.length/this.rowsBufferOutSize),start+this.pagesInGroup); - var str=[]; - for (var i=start+1; i<=max; i++) - if (i==this.currentPage) - str.push(""+i+""); - else - str.push(""+i+""); - return str.join(sep); -} -dhtmlXGridObject.prototype._pgn_link=function(mode,ac,ds){ - if (mode=="prevpages" || mode=="prev"){ - if (this.currentPage==1) return ds; - return ''+ac+'' - } - - if (mode=="nextpages" || mode=="next"){ - if (this.rowsBuffer.length/this.rowsBufferOutSize <= this.currentPage ) return ds; - if (this.rowsBuffer.length/(this.rowsBufferOutSize*(mode=="next"?'1':this.pagesInGroup)) <= 1 ) return ds; - return ''+ac+'' - } - - if (mode=="current"){ - var i=this.currentPage+(ac?parseInt(ac):0); - if (i<1 || Math.ceil(this.rowsBuffer.length/this.rowsBufferOutSize) < i ) return ds; - return ''+i+'' - } - return ac; -} - -dhtmlXGridObject.prototype._pgn_template_active=function(block){ - var tags=block.getElementsByTagName("A"); - if (tags) - for (var i=0; i < tags.length; i++) { - tags[i].grid=this; - }; -} -dhtmlXGridObject.prototype._pgn_template_compile=function(template){ - /* - [prev],[next] - [currentpages] - [from],[to],[total] - */ - template=template.replace(/\[([^\]]*)\]/g,function(a,b){ - b=b.split(":"); - switch (b[0]){ - case "from": - return '"+(arguments[1]*1+(arguments[2]*1?1:0))+"'; - case "total": - return '"+arguments[3]+"'; - case "to": - return '"+arguments[2]+"'; - case "current": - case "prev": - case "next": - case "prevpages": - case "nextpages": - return '"+this._pgn_link(\''+b[0]+'\',\''+b[1]+'\',\''+b[2]+'\')+"' - case "currentpages": - return '"+this._pgn_block(\''+b[1]+'\')+"' - } - //do it here - }) - return new Function('return "'+template+'";') -} - -dhtmlXGridObject.prototype.i18n.paging={ - results:"Results", - records:"Records from ", - to:" to ", - page:"Page ", - perpage:"rows per page", - first:"To first Page", - previous:"Previous Page", - found:"Found records", - next:"Next Page", - last:"To last Page", - of:" of ", - notfound:"No Records Found" -} -/** -* @desc: configure paging with toolbar mode ( must be called BEFORE enablePaging) -* @param: navButtons - enable/disable navigation buttons -* @param: navLabel - enable/disable navigation label -* @param: pageSelect - enable/disable page selector -* @param: perPageSelect - an array of "per page" select options ([5,10,15,20,25,30] by default) -* @type: public -* @edition: Professional -*/ -dhtmlXGridObject.prototype.setPagingWTMode = function(navButtons,navLabel,pageSelect,perPageSelect){ - this._WTDef=[navButtons,navLabel,pageSelect,perPageSelect]; -} -/** -* @desc: Bricks skin for paging -*/ -dhtmlXGridObject.prototype._pgn_bricks = function(page, start, end){ - //set class names depending on grid skin - var tmp = (this.skin_name||"").split("_")[1]; - var sfx=""; - if(tmp=="light" || tmp=="modern" || tmp=="skyblue") - sfx = "_"+tmp; - - this.pagerElAr = new Array(); - this.pagerElAr["pagerCont"] = document.createElement("DIV"); - this.pagerElAr["pagerBord"] = document.createElement("DIV"); - this.pagerElAr["pagerLine"] = document.createElement("DIV"); - this.pagerElAr["pagerBox"] = document.createElement("DIV"); - this.pagerElAr["pagerInfo"] = document.createElement("DIV"); - this.pagerElAr["pagerInfoBox"] = document.createElement("DIV"); - var se = (this.globalBox||this.objBox); - this.pagerElAr["pagerCont"].style.width = se.clientWidth+"px"; - this.pagerElAr["pagerCont"].style.overflow = "hidden"; - this.pagerElAr["pagerCont"].style.clear = "both"; - this.pagerElAr["pagerBord"].className = "dhx_pbox"+sfx; - this.pagerElAr["pagerLine"].className = "dhx_pline"+sfx; - this.pagerElAr["pagerBox"].style.clear = "both"; - this.pagerElAr["pagerInfo"].className = "dhx_pager_info"+sfx; - - //create structure - this.pagerElAr["pagerCont"].appendChild(this.pagerElAr["pagerBord"]); - this.pagerElAr["pagerCont"].appendChild(this.pagerElAr["pagerLine"]); - this.pagerElAr["pagerCont"].appendChild(this.pagerElAr["pagerInfo"]); - this.pagerElAr["pagerLine"].appendChild(this.pagerElAr["pagerBox"]); - this.pagerElAr["pagerInfo"].appendChild(this.pagerElAr["pagerInfoBox"]); - this._pgn_parentObj.innerHTML = ""; - this._pgn_parentObj.appendChild(this.pagerElAr["pagerCont"]); - - - - - if(this.rowsBuffer.length>0){ - var lineWidth = 20; - var lineWidthInc = 22; - - //create left arrow if needed - if(page>this.pagesInGroup){ - var pageCont = document.createElement("DIV"); - var pageBox = document.createElement("DIV"); - pageCont.className = "dhx_page"+sfx; - pageBox.innerHTML = "←"; - pageCont.appendChild(pageBox); - this.pagerElAr["pagerBox"].appendChild(pageCont); - var self = this; - pageCont.pgnum = (Math.ceil(page/this.pagesInGroup)-1)*this.pagesInGroup; - pageCont.onclick = function(){ - self.changePage(this.pgnum); - } - lineWidth +=lineWidthInc; - } - //create pages - for(var i=1;i<=this.pagesInGroup;i++){ - var pageCont = document.createElement("DIV"); - var pageBox = document.createElement("DIV"); - pageCont.className = "dhx_page"+sfx; - pageNumber = ((Math.ceil(page/this.pagesInGroup)-1)*this.pagesInGroup)+i; - if(pageNumber>Math.ceil(this.rowsBuffer.length/this.rowsBufferOutSize)) - break; - pageBox.innerHTML = pageNumber; - pageCont.appendChild(pageBox); - if(page==pageNumber){ - pageCont.className += " dhx_page_active"+sfx; - pageBox.className = "dhx_page_active"+sfx; - }else{ - var self = this; - pageCont.pgnum = pageNumber; - pageCont.onclick = function(){ - self.changePage(this.pgnum); - } - } - lineWidth +=(parseInt(lineWidthInc/3)*pageNumber.toString().length)+15; - pageBox.style.width = (parseInt(lineWidthInc/3)*pageNumber.toString().length)+8+"px"; - this.pagerElAr["pagerBox"].appendChild(pageCont); - } - //create right arrow if needed - if(Math.ceil(page/this.pagesInGroup)*this.pagesInGroup0 && this.showRecInfo) - this.pagerElAr["pagerInfoBox"].innerHTML = this.i18n.paging.records+(start+1)+this.i18n.paging.to+end+this.i18n.paging.of+this.rowsBuffer.length; - else if(this.rowsBuffer.length==0){ - this.pagerElAr["pagerLine"].parentNode.removeChild(this.pagerElAr["pagerLine"]); - this.pagerElAr["pagerInfoBox"].innerHTML = this.i18n.paging.notfound; - } - //add whitespaces where necessary - this.pagerElAr["pagerBox"].appendChild(document.createElement("SPAN")).innerHTML = " "; - this.pagerElAr["pagerBord"].appendChild(document.createElement("SPAN")).innerHTML = " "; - this.pagerElAr["pagerCont"].appendChild(document.createElement("SPAN")).innerHTML = " "; - this.callEvent("onPaging",[]); -} - - -/** -* @desc: web toolbar skin for paging -*/ -dhtmlXGridObject.prototype._pgn_toolbar = function(page, start, end){ - if (!this.aToolBar) this.aToolBar = this._pgn_createToolBar(); - var totalPages=Math.ceil(this.rowsBuffer.length/this.rowsBufferOutSize); - - if (this._WTDef[0]){ - this.aToolBar.enableItem("right"); - this.aToolBar.enableItem("rightabs"); - this.aToolBar.enableItem("left"); - this.aToolBar.enableItem("leftabs"); - if(this.currentPage>=totalPages){ - this.aToolBar.disableItem("right"); - this.aToolBar.disableItem("rightabs"); - } - if(this.currentPage==1){ - this.aToolBar.disableItem("left"); - this.aToolBar.disableItem("leftabs"); - } - } - if (this._WTDef[2]){ - var that = this; - this.aToolBar.forEachListOption("pages", function(id){ - that.aToolBar.removeListOption("pages", id); - }); - var w = {dhx_skyblue: 4, dhx_web: 0, dhx_terrace: 14}[this.aToolBar.conf.skin]; - for (var i=0; i"+this.i18n.paging.page+(i+1)+"
                    ", "paging_page.gif"); - } - this.aToolBar.setItemText("pages", this.i18n.paging.page+page); - } - // pButton.setSelected(page.toString()) - - - if (this._WTDef[1]){ - if (!this.getRowsNum()) - this.aToolBar.setItemText('results',this.i18n.paging.notfound); - else - this.aToolBar.setItemText('results',"
                    "+this.i18n.paging.records+(start+1)+this.i18n.paging.to+end+"
                    "); - } - if (this._WTDef[3]) - this.aToolBar.setItemText("perpagenum", this.rowsBufferOutSize.toString()+" "+this.i18n.paging.perpage); - - this.callEvent("onPaging",[]); -} -dhtmlXGridObject.prototype._pgn_createToolBar = function(){ - this.aToolBar = new dhtmlXToolbarObject({ - parent: this._pgn_parentObj, - skin: (this._pgn_skin_tlb||this.skin_name), - icons_path: this.imgURL - }); - if (!this._WTDef) this.setPagingWTMode(true, true, true, true); - var self = this; - this.aToolBar.attachEvent("onClick", function(val){ - val = val.split("_"); - switch (val[0]){ - case "leftabs": - self.changePage(1); - break; - case "left": - self.changePage(self.currentPage-1); - break; - case "rightabs": - self.changePage(99999); - break; - case "right": - self.changePage(self.currentPage+1); - break; - case "perpagenum": - if (val[1]===this.undefined) return; - self.rowsBufferOutSize = parseInt(val[1]); - self.changePage(); - self.aToolBar.setItemText("perpagenum", val[1]+" "+self.i18n.paging.perpage); - break; - case "pages": - if (val[1]===this.undefined) return; - self.changePage(val[1]); - self.aToolBar.setItemText("pages", self.i18n.paging.page+val[1]); - break; - } - }); - // add buttons - if (this._WTDef[0]) { - this.aToolBar.addButton("leftabs", NaN, null, "ar_left_abs.gif", "ar_left_abs_dis.gif"); - this.aToolBar.addButton("left", NaN, null, "ar_left.gif", "ar_left_dis.gif"); - } - if (this._WTDef[1]) { - this.aToolBar.addText("results", NaN, this.i18n.paging.results); - this.aToolBar.setWidth("results", "150"); - this.aToolBar.disableItem("results"); - } - if (this._WTDef[0]) { - this.aToolBar.addButton("right", NaN, null, "ar_right.gif", "ar_right_dis.gif"); - this.aToolBar.addButton("rightabs", NaN, null, "ar_right_abs.gif", "ar_right_abs_dis.gif"); - } - if (this._WTDef[2]) { - if (this.aToolBar.conf.skin == "dhx_terrace") this.aToolBar.addSeparator(); - this.aToolBar.addButtonSelect("pages", NaN, "select page", [], "paging_pages.gif", null, false, true); - } - var arr; - if (arr = this._WTDef[3]) { - if (this.aToolBar.conf.skin == "dhx_terrace") this.aToolBar.addSeparator(); - this.aToolBar.addButtonSelect("perpagenum", NaN, "select size", [], "paging_rows.gif", null, false, true); - if (typeof arr != "object") arr = [5,10,15,20,25,30]; - var w = {dhx_skyblue: 4, dhx_web: 0, dhx_terrace: 18}[this.aToolBar.conf.skin]; - for (var k=0; k"+arr[k]+" "+this.i18n.paging.perpage+"
                    ", "paging_page.gif"); - } - } - - //var td = document.createElement("TD"); td.width = "5"; this.aToolBar.tr.appendChild(td); - //var td = document.createElement("TD"); td.width = "100%"; this.aToolBar.tr.appendChild(td); - - return this.aToolBar; -} diff --git a/themes/sources/dhtmlxGrid/codebase/ext/dhtmlxgrid_pivot.js b/themes/sources/dhtmlxGrid/codebase/ext/dhtmlxgrid_pivot.js deleted file mode 100644 index 2875d35..0000000 --- a/themes/sources/dhtmlxGrid/codebase/ext/dhtmlxgrid_pivot.js +++ /dev/null @@ -1,315 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/** -* @desc: hide pivot table related to grid, if any exists, switch grid back to normal mode -* @type: public -* @topic: 0 -*/ - -dhtmlXGridObject.prototype.hidePivot=function(cont){ - if (this._pgridCont){ - if (this._pgrid) this._pgrid.destructor(); - var c=this._pgridCont.parentNode; - c.innerHTML=""; - if (c.parentNode==this.entBox) - this.entBox.removeChild(c); - this._pgrid=this._pgridSelect=this._pUNI=this._pgridCont=null; - - } -} -/** -* @desc: show pivot table based on grid -* @type: public -* @param: cont - html container in which pivot rendered, but default pivot will be rendered over existing grid -* details: collection of settings; details.column_list - list of columns used in pivot selects; details.readonly - created pivot with fixed configuration, details.action, details.value, action.x, action.y - default values for 4 pivot's selects -* @topic: 0 -*/ -dhtmlXGridObject.prototype.makePivot=function(cont,details){ - details=details||{}; - this.hidePivot(); - - if (!cont){ - var cont=document.createElement("DIV"); - cont.style.cssText="position:absolute; top:0px; left:0px;background-color:white;"; - cont.style.height=this.entBox.offsetHeight+"px"; - cont.style.width=this.entBox.offsetWidth+"px"; - if (this.entBox.style.position!="absolute") - this.entBox.style.position="relative"; - this.entBox.appendChild(cont); - } - - if (typeof(cont)!="object") cont=document.getElementById(cont) - - if (details.column_list) - this._column_list=details.column_list; - else{ - this._column_list=[]; - for (var i=0; i= 0; i--) - if (resA[i]==av && resB[i]==bv) - ret+=this.parseFloat(resC[i]); - return ret; -} -dhtmlXGridObject.prototype._pivot_action_1=function(a,b,c,av,bv,data){ - ret=9999999999; - var resA=data[a]; - var resB=data[b]; - var resC=data[c]; - - for (var i = resA.length - 1; i >= 0; i--) - if (resA[i]==av && resB[i]==bv) - ret=Math.min(this.parseFloat(resC[i]),ret); - if (ret==9999999999) ret=""; - return ret; -} -dhtmlXGridObject.prototype._pivot_action_2=function(a,b,c,av,bv,data){ - - ret=-9999999999; - var resA=data[a]; - var resB=data[b]; - var resC=data[c]; - for (var i = resA.length - 1; i >= 0; i--) - if (resA[i]==av && resB[i]==bv) - ret=Math.max(this.parseFloat(resC[i]),ret); - if (ret==-9999999999) ret=""; - return ret; -} -dhtmlXGridObject.prototype._pivot_action_3=function(a,b,c,av,bv,data){ - var ret=0; - var count=0; - var resA=data[a]; - var resB=data[b]; - var resC=data[c]; - for (var i = resA.length - 1; i >= 0; i--) - if (resA[i]==av && resB[i]==bv) { - ret+=this.parseFloat(resC[i]); - count++; - } - return count?ret/count:""; -} -dhtmlXGridObject.prototype._pivot_action_4=function(a,b,c,av,bv,data){ - var ret=0; - var count=0; - var resA=data[a]; - var resB=data[b]; - var resC=data[c]; - for (var i = resA.length - 1; i >= 0; i--) - if (resA[i]==av && resB[i]==bv) { - ret++; - } - return ret; -} -dhtmlXGridObject.prototype.parseFloat = function(val){ - val = parseFloat(val); - if (isNaN(val)) return 0; - return val; -} - -dhtmlXGridObject.prototype._renderPivot2=function(){ - if (!(this._pivotS.x && this._pivotS.y && this._pivotS.value && this._pivotS.action)) return; - - var action=this["_pivot_action_"+this._pivotS.action]; - var x=this._getUniList(this._pivotS.x); - var y=this._getUniList(this._pivotS.y); - - for (var i=0; i < x.length; i++) { - for (var j=0; j < y.length; j++) { - this._pgrid.cells2(j,i+1).setValue(Math.round(action(this._pivotS.x,this._pivotS.y,this._pivotS.value,x[i],y[j],this._pData)*100)/100); - }; - - }; -} - - -dhtmlXGridObject.prototype._getUniList=function(col){ - if (!this._pUNI[col]){ - var t={}; - var a=[]; - for (var i = this._pData[col].length - 1; i >= 0; i--){ - t[this._pData[col][i]]=true; - } - for (var n in t) - if (t[n]===true) a.push(n); - this._pUNI[col]=a.sort(); - } - - return this._pUNI[col]; -} - -dhtmlXGridObject.prototype._fillPivotList=function(z,list,miss,v){ - if (!miss){ - miss={}; - v=-1; - } - z.innerHTML=""; - z.options[z.options.length]=new Option("-select-",-1); - for (var i=0; ipos) - r._childIndexes[z]=r._childIndexes[z]-ind; - -} - -/** -* @desc: enable rowspan in grid -* @type: public -* @edition: professional -*/ -dhtmlXGridObject.prototype.enableRowspan=function(){ - this._erspan=true; - this.enableRowspan=function(){}; - this.attachEvent("onAfterSorting",function(){ - if (this._dload) return; //can't be helped - for (var i=1; i4?diffX-4:0) + 'px'; - this._selectionObj.style.height = (diffY>4?diffY-4:0) + 'px'; - - -/* AUTO SCROLL */ - var BottomRightX = this.objBox.scrollLeft + this.objBox.clientWidth; - var BottomRightY = this.objBox.scrollTop + this.objBox.clientHeight; - var TopLeftX = this.objBox.scrollLeft; - var TopLeftY = this.objBox.scrollTop; - - var nextCall=false; - if (this._blsTimer) window.clearTimeout(this._blsTimer); - - if (X+20 >= BottomRightX) { - this.objBox.scrollLeft = this.objBox.scrollLeft+20; - nextCall=true; - } else if (X-20 < TopLeftX) { - this.objBox.scrollLeft = this.objBox.scrollLeft-20; - nextCall=true; - } - if (Y+20 >= BottomRightY && !this._realfake) { - this.objBox.scrollTop = this.objBox.scrollTop+20; - nextCall=true; - } else if (Y-20 < TopLeftY && !this._realfake) { - this.objBox.scrollTop = this.objBox.scrollTop-20; - nextCall=true; - } - this._selectionArea = this._RedrawSelectionPos(this._startSelectionCell, this._endSelectionCell); - - - if (nextCall){ - var a=event.clientX; - var b=event.clientY; - this._blsTimer=window.setTimeout(function(){self._OnSelectionMove({clientX:a,clientY:b})},100); - } - -} - -dhtmlXGridObject.prototype._OnSelectionStop = function(event) -{ - var self = this; - if (this._blsTimer) window.clearTimeout(this._blsTimer); - this.obj.onmousedown = function(e) {if (self._bs_mode) self._OnSelectionStart((e||event), this); return true;} - this.obj.onmousemove = this.obj.onmmold||null; - this._selectionObj.onmousemove = null; - document.body.onmouseup = this._oldDMP||null; - if ( parseInt( this._selectionObj.style.width ) < 2 && parseInt( this._selectionObj.style.height ) < 2) { - this._HideSelection(); - } else { - var src = this.getFirstParentOfType(event.srcElement || event.target,"TD"); - if ((!src) || (!src.parentNode.idd)){ - src=this._endSelectionCell; - } - while (src && (!src.tagName || src.tagName.toLowerCase() != 'td')) - src = src.parentNode; - if (!src) - return this._HideSelection(); - this._stopSelectionCell = src; - this._selectionArea = this._RedrawSelectionPos(this._startSelectionCell, this._stopSelectionCell); - this.callEvent("onBlockSelected",[]); - } - document.body.onselectstart = function(){};//avoid text select -} - -dhtmlXGridObject.prototype._RedrawSelectionPos = function(LeftTop, RightBottom) -{ - - if (LeftTop.parentNode.grid != RightBottom.parentNode.grid) - return this._selectionArea; - -// td._cellIndex -// -// getRowIndex - var pos = {}; - pos.LeftTopCol = LeftTop._cellIndex; - pos.LeftTopRow = this.getRowIndex( LeftTop.parentNode.idd ); - pos.RightBottomCol = RightBottom._cellIndex; - pos.RightBottomRow = this.getRowIndex( RightBottom.parentNode.idd ); - - var LeftTop_width = LeftTop.offsetWidth; - var LeftTop_height = LeftTop.offsetHeight; - LeftTop = this.getPosition(LeftTop, this.obj); - - var RightBottom_width = RightBottom.offsetWidth; - var RightBottom_height = RightBottom.offsetHeight; - RightBottom = this.getPosition(RightBottom, this.obj); - - if (LeftTop[0] < RightBottom[0]) { - var Left = LeftTop[0]; - var Right = RightBottom[0] + RightBottom_width; - } else { - var foo = pos.RightBottomCol; - pos.RightBottomCol = pos.LeftTopCol; - pos.LeftTopCol = foo; - var Left = RightBottom[0]; - var Right = LeftTop[0] + LeftTop_width; - } - - if (LeftTop[1] < RightBottom[1]) { - var Top = LeftTop[1]; - var Bottom = RightBottom[1] + RightBottom_height; - } else { - var foo = pos.RightBottomRow; - pos.RightBottomRow = pos.LeftTopRow; - pos.LeftTopRow = foo; - var Top = RightBottom[1]; - var Bottom = LeftTop[1] + LeftTop_height; - } - - var Width = Right - Left; - var Height = Bottom - Top; - - this._selectionObj.style.left = Left + 'px'; - this._selectionObj.style.top = Top + 'px'; - this._selectionObj.style.width = Width + 'px'; - this._selectionObj.style.height = Height + 'px'; - return pos; -} - -dhtmlXGridObject.prototype._CreateSelection = function(x, y) -{ - if (this._selectionObj == null) { - var div = document.createElement('div'); - div.style.position = 'absolute'; - div.style.display = 'none'; - div.className = 'dhtmlxGrid_selection'; - this._selectionObj = div; - this._selectionObj.onmousedown = function(e){ - e=e||event; - if (e.button==2 || (_isMacOS&&e.ctrlKey)) - return this.parentNode.grid.callEvent("onBlockRightClick", ["BLOCK",e]); - } - this._selectionObj.oncontextmenu=function(e){(e||event).cancelBubble=true;return false;} - this.objBox.appendChild(this._selectionObj); - } - //this._selectionObj.style.border = '1px solid #83abeb'; - this._selectionObj.style.width = '0px'; - this._selectionObj.style.height = '0px'; - //this._selectionObj.style.border = '0px'; - this._selectionObj.style.left = x + 'px'; - this._selectionObj.style.top = y + 'px'; - this._selectionObj.startX = x; - this._selectionObj.startY = y; -} - -dhtmlXGridObject.prototype._ShowSelection = function() -{ - if (this._selectionObj) - this._selectionObj.style.display = ''; -} - -dhtmlXGridObject.prototype._HideSelection = function() -{ - - if (this._selectionObj) - this._selectionObj.style.display = 'none'; - this._selectionArea = null; - if (this._clip_area){ - this._clip_area.value=""; - this._clip_area.blur(); - } -} -/** -* @desc: copy content of block selection into clipboard in csv format (delimiter as set for csv serialization) -* @type: public -* @topic: 0 -*/ -dhtmlXGridObject.prototype.copyBlockToClipboard = function() -{ - if (!this._clip_area) return; - - if ( this._selectionArea != null ) { - var serialized = new Array(); - if (this._mathSerialization) - this._agetm="getMathValue"; - else if (this._strictText) - this._agetm="getTitle"; - else this._agetm="getValue"; - - this._serialize_visible = true; - - for (var i=this._selectionArea.LeftTopRow; i<=this._selectionArea.RightBottomRow; i++) { - var data = this._serializeRowToCVS(this.rowsBuffer[i], null, this._selectionArea.LeftTopCol, this._selectionArea.RightBottomCol+1); - if (!this._csvAID) - serialized[serialized.length] = data.substr( data.indexOf( this.csv.cell ) + 1 ); //remove row ID and add to array - else - serialized[serialized.length] = data; - } - serialized = serialized.join(this._CSVRowDelimiter); - - this._clip_area.value = serialized; - this._clip_area.select(); - - this._serialize_visible = false; - } -} -/** -* @desc: paste content of clipboard into block selection of grid -* @type: public -* @topic: 0 -*/ -dhtmlXGridObject.prototype.pasteBlockFromClipboard = function(){ - if (!this._clip_area) return; - - this._clip_area.select(); - var self = this; - window.setTimeout(function(){ - self._pasteBlockFromClipboard(); - self=null; - },1); -} -dhtmlXGridObject.prototype._pasteBlockFromClipboard = function() -{ - var serialized = this._clip_area.value; - if (!serialized) return; - - if (this._selectionArea != null) { - var startRow = this._selectionArea.LeftTopRow; - var startCol = this._selectionArea.LeftTopCol; - } else if (this.cell != null && !this.editor) { - var startRow = this.getRowIndex( this.cell.parentNode.idd ); - var startCol = this.cell._cellIndex; - } else { - return false; - } - - serialized = this.csvParser.unblock(serialized, this.csv.cell, this.csv.row); - - var endRow = startRow+serialized.length; - var endCol = startCol+serialized[0].length; - if (endCol > this._cCount) - endCol = this._cCount; - var k = 0; - for (var i=startRow; i=0; i--) - rightBox.insertBefore(this.entBox.childNodes[i],rightBox.firstChild); - - if (this.entBox.style.position != "absolute") - this.entBox.style.position="relative"; - this.globalBox=this.entBox; - this.entBox=rightBox; rightBox.grid=this; - - - leftBox.style.cssText+="border:0px solid red !important;"; - rightBox.style.cssText+="border:0px solid red !important;"; - - rightBox.style.top="0px"; - rightBox.style.position="absolute"; - - leftBox.style.position="absolute"; - leftBox.style.top="0px"; - leftBox.style.left="0px"; - leftBox.style.zIndex=11; - - rightBox.style.height=leftBox.style.height=this.globalBox.clientHeight; - - - this._fake=new dhtmlXGridObject(leftBox); - - this.globalBox=this._fake.globalBox=this.globalBox; - this._fake._fake=this; - this._fake._realfake=true; - - //copy properties - this._treeC=this.cellType._dhx_find("tree"); - this._fake.delim=this.delim; - this._fake.customGroupFormat=this.customGroupFormat; - - this._fake.setImagesPath(this._imgURL); - this._fake.iconURL = this.iconURL; - this._fake._customSorts=this._customSorts; - this._fake.noHeader=this.noHeader; - this._fake._enbTts=this._enbTts; - this._fake._drsclmW = this._drsclmW; - this._fake._htkebl = this._htkebl; - this._fake.clists = this.clists; - this._fake.fldSort=new Array(); - this._fake.selMultiRows=this.selMultiRows; - this._fake.multiLine=this.multiLine; - this._fake._key_events = this._key_events; - this._fake.smartTabOrder = this.smartTabOrder; - this._fake._RaSeCol = this._RaSeCol; - - if (this.multiLine || this._erspan){ - this.attachEvent("onCellChanged",this._correctRowHeight); - this.attachEvent("onRowAdded",this._correctRowHeight); - var corrector=function(){ - this.forEachRow(function(id){ - this._correctRowHeight(id); - }) - }; - this.attachEvent("onPageChanged",corrector); - this.attachEvent("onXLE",corrector); - this.attachEvent("onResizeEnd",corrector); - if (!this._ads_count) //in case of distribute parsing - use special event instead - this.attachEvent("onAfterSorting",corrector); - - this.attachEvent("onFilterEnd", corrector); - this.attachEvent("onDistributedEnd",corrector); - - //this._fake.attachEvent("onCellChanged",this._correctRowHeight); - } - this.attachEvent("onGridReconstructed",function(){ - this._fake.objBox.scrollTop = this.objBox.scrollTop; - }) - - this._fake.loadedKidsHash=this.loadedKidsHash; - if (this._h2) this._fake._h2=this._h2; - this._fake._dInc=this._dInc; - - //collect grid configuraton - var b_ha=[[],[],[],[],[],[],[]]; - var b_ar=["hdrLabels","initCellWidth","cellType","cellAlign","cellVAlign","fldSort","columnColor"]; - var b_fu=["setHeader","setInitWidths","setColTypes","setColAlign","setColVAlign","setColSorting","setColumnColor"]; - - this._fake.callEvent=function(){ - var result = true; - this._fake._split_event=true; - var hidden = (arguments[0] == "onScroll"); - if (arguments[0]=="onGridReconstructed" || hidden) - this._fake.callEvent.apply(this,arguments); - - if (!hidden) result = this._fake.callEvent.apply(this._fake,arguments); - this._fake._split_event=false; - return result; - } - - if (this._elmn) - this._fake.enableLightMouseNavigation(true); - - if (this._cssEven||this._cssUnEven) - this._fake.attachEvent("onGridReconstructed",function(){ - this._fixAlterCss(); - }); - - this._fake._cssSP=this._cssSP; - this._fake.isEditable=this.isEditable; - this._fake._edtc=this._edtc; - if (this._sst) this._fake.enableStableSorting(true); - - this._fake._sclE=this._sclE; - this._fake._dclE=this._dclE; - this._fake._f2kE=this._f2kE; - this._fake._maskArr=this._maskArr; - this._fake._dtmask=this._dtmask; - this._fake.combos=this.combos; - - var width=0; - - var m_w=this.globalBox.offsetWidth; - for (var i=0; i 2){ - var dir = e.wheelDelta/-40; - if (e.wheelDelta === window.undefined) - dir = e.detail; - cont.scrollTop += dir*40; - - if (e.preventDefault) - e.preventDefault(); - } - } - dhtmlxEvent(this._fake.objBox,"mousewheel",_on_wheel); - dhtmlxEvent(this._fake.objBox,"DOMMouseScroll",_on_wheel); - - -//inner methods - - - function change_td(a,b){ - b.style.whiteSpace=""; - var c=b.nextSibling; - var cp=b.parentNode; - a.parentNode.insertBefore(b,a); - if (!c) - cp.appendChild(a); - else - cp.insertBefore(a,c); - var z=a.style.display; - a.style.display=b.style.display; - b.style.display=z; - } - function proc_hf(i,rows,mode,frows){ - var temp_header=(new Array(ind)).join(this.delim); - var temp_rspan=[]; - if (i==2) - for (var k=0; k1){ - temp_rspan[r._cellIndex]=r.rowSpan-1; - frows[i-1].cells[frows[i-1]._childIndexes?frows[i-1]._childIndexes[k]:k].rowSpan=r.rowSpan; - r.rowSpan=1; - } - } - - for (i; i1){ - temp_rspan[j]=t-1; - b.rowSpan=t; - } - if (frows[i].cells[j].colSpan>1){ - rows[i].cells[j].colSpan=frows[i].cells[j].colSpan; - max_ind-=frows[i].cells[j].colSpan-1; - for (var k=1; k < frows[i].cells[j].colSpan; k++) - frows[i].removeChild(frows[i].cells[j+1]); - } - } - } - } - - if (this.hdr.rows.length>2) - proc_hf.call(this,2,this.hdr.rows,"_aHead",this._fake.hdr.rows); - if (this.ftr){ - proc_hf.call(this,1,this.ftr.childNodes[0].rows,"_aFoot"); - this._fake.ftr.parentNode.style.bottom="1px"; - } - - - if (this.saveSizeToCookie){ - this.saveSizeToCookie=function(name,cookie_param){ - if (this._realfake) - return this._fake.saveSizeToCookie.apply(this._fake,arguments); - - if (!name) name=this.entBox.id; - var z=new Array(); - var n="cellWidthPX"; - - for (var i=0; ir_ind) - x.removeChild(x.childNodes[x.childNodes.length-1]); - var zm=r_ind; - for (var i=0; i1) - x._childIndexes = arguments[0]._childIndexes; - } - - if (this._h2 && this._treeC < ind){ - var trow=this._h2.get[arguments[0].idd]; - x.imgTag=x.childNodes[this._treeC].childNodes[0].childNodes[trow.level]; - x.valTag=x.childNodes[this._treeC].childNodes[0].childNodes[trow.level+2]; - } - - - x.idd=row.idd; - x.grid=this._fake; - - return x; - } - - var zname="_insertRowAt"; - this._bfs_insertRowAt=this[zname]; - this[zname]=function(){ - var r=this["_bfs_insertRowAt"].apply(this,arguments); - arguments[0]=this.copy_row(arguments[0]); - - var r2=this._fake["_insertRowAt"].apply(this._fake,arguments); - if (r._fhd){ - r2.parentNode.removeChild(r2); - this._fake.rowsCol._dhx_removeAt(this._fake.rowsCol._dhx_find(r2)); - r._fhd=false; - } - - return r; - } - /* -var quirks = (_isIE && document.compatMode=="BackCompat"); - - var isVScroll = this.parentGrid?false:(this.objBox.scrollHeight > this.objBox.offsetHeight); - var isHScroll = this.parentGrid?false:(this.objBox.scrollWidth > this.objBox.offsetWidth); - var scrfix = _isFF?20:18; - - var outerBorder=(this.entBox.offsetWidth-this.entBox.clientWidth)/2; - - var gridWidth=this.entBox.clientWidth; - var gridHeight=this.entBox.clientHeight; - */ - this._bfs_setSizes=this.setSizes; - this.setSizes=function(){ - if (this._notresize) return; - this._bfs_setSizes(this,arguments); - - this.sync_headers() - if (this.sync_scroll() && this._ahgr) this.setSizes(); //if scrolls was removed - check once more to correct auto-height - - var height = this.dontSetSizes ? (this.entBox.offsetHeight+"px") : this.entBox.style.height; - this._fake.entBox.style.height = height; - - this._fake.objBox.style.height=this.objBox.style.height; - this._fake.hdrBox.style.height=this.hdrBox.style.height; - - this._fake.objBox.scrollTop=this.objBox.scrollTop; - - this._fake.setColumnSizes(this._fake.entBox.clientWidth); - - this.globalBox.style.width=parseInt(this.entBox.style.width)+parseInt(this._fake.entBox.style.width); - if (!this.dontSetSizes) - this.globalBox.style.height = height; - - } - - this.sync_scroll=this._fake.sync_scroll=function(end){ - var old=this.objBox.style.overflowX; - if (this.obj.offsetWidth<=this.objBox.offsetWidth) - { - if (!end) return this._fake.sync_scroll(true); - this.objBox.style.overflowX="hidden"; - this._fake.objBox.style.overflowX="hidden"; - } - else if (!dhtmlx.$customScroll){ - this.objBox.style.overflowX="scroll"; - this._fake.objBox.style.overflowX="scroll"; - } - return old!=this.objBox.style.overflowX; - } - this.sync_headers=this._fake.sync_headers=function(){ - if (this.noHeader || (this._fake.hdr.scrollHeight==this.hdr.offsetHeight) || this.noHeaderResize) return; - // if (this.hdr.rows.length!=2){ - for (var i=1; i=ind); - if (!arguments[0].parentNode.idd) return; - if (!fl) - arguments[0].className=arguments[0].className.replace(/cellselected/g,""); - //item selected but it left part not rendered yet - if (!this._fake.rowsAr[arguments[0].parentNode.idd]) - this._fake.render_row(this.getRowIndex(arguments[0].parentNode.idd)); - arguments[0]=this._fake.cells(arguments[0].parentNode.idd,(fl?0:arguments[0]._cellIndex)).cell; - if (fl) this._fake.cell=null; - this._fake["_bfs_doClick"].apply(this._fake,arguments); - if (fl) this._fake.cell=this.cell; - else this.cell=this._fake.cell; - if (this._fake.onRowSelectTime) clearTimeout(this._fake.onRowSelectTime) - if (fl) { - arguments[0].className=arguments[0].className.replace(/cellselected/g,""); - globalActiveDHTMLGridObject=this; - this._fake.cell=this.cell; - } - else{ - this.objBox.scrollTop=this._fake.objBox.scrollTop; - } - } - } - this._fake._bfs_doClick=this._fake[zname]; - this._fake[zname]=function(){ - this["_bfs_doClick"].apply(this,arguments); - if (arguments[0].tagName=="TD"){ - var fl=(arguments[0]._cellIndex0 )){ - arguments[3]=(this._initalSplF||arguments[3]); - z=this.doColResizeA.apply(this,arguments); - } - else - z=this.doColResizeA.apply(this,arguments); - } - else{ - if (this.obj.offsetWidth= master.rowsBuffer.length) return; - index = ev.shiftKey ? master._cCount : -1; - } - return; - } - break; - } - return this.doKeyA(ev); -} - - -this.editCellA=this.editCell; -this.editCell=function(){ - if (this.cell && this.cell.parentNode.grid != this) return this._fake.editCell(); - return this.editCellA(); -} - -this.deleteRowA = this.deleteRow; -this.deleteRow=function(row_id,node){ -/* if (!this._realfake) - this._fake.loadedKidsHash=this.loadedKidsHash;*/ - - if (this.deleteRowA(row_id,node)===false) return false; - if (this._fake.rowsAr[row_id]) - this._fake.deleteRow(row_id); -} - -this.clearAllA = this.clearAll; -this.clearAll=function(){ - this.clearAllA(); - this._fake.clearAll(); -} -this.editStopA = this.editStop; -this.editStop=function(mode){ - if (this._fake.editor) - this._fake.editStop(mode); - else - this.editStopA(mode); -}; - - -this.attachEvent("onAfterSorting",function(i,b,c){ - if (i>=ind) - this._fake.setSortImgState(false) -}); - - - -this._fake.sortField = function(a,b,c){ - this._fake.sortField.call(this._fake,a,b,this._fake.hdr.rows[0].cells[a]); - if (this.fldSort[a]!="na" && this._fake.fldSorted){ - var mem = this._fake.getSortingState()[1]; - this._fake.setSortImgState(false); - this.setSortImgState(true,arguments[0],mem) - } -} - -this.sortTreeRowsA = this.sortTreeRows; -this._fake.sortTreeRowsA = this._fake.sortTreeRows; -this.sortTreeRows=this._fake.sortTreeRows=function(col,type,order,ar){ - if (this._realfake) return this._fake.sortTreeRows(col,type,order,ar) - - this.sortTreeRowsA(col,type,order,ar); - this._fake._h2syncModel(); - - this._fake.setSortImgStateA(false); - this._fake.fldSorted=null; - } - -/* SRND mode */ -this._fake._fillers=[]; -this._fake.rowsBuffer=this.rowsBuffer; -this.attachEvent("onClearAll",function(){ - this._fake.rowsBuffer=this.rowsBuffer; -}) -this._add_filler_s=this._add_filler; -this._add_filler=function(a,b,c,e){ - if (!this._fake._fillers) this._fake._fillers=[]; - if (this._realfake || !e){ - var d; - if (c && c.idd) d=this._fake.rowsAr[c.idd]; - else if (c && c.nextSibling) { - d = {}; - d.nextSibling=this._fake.rowsAr[c.nextSibling.idd]; - d.parentNode=d.nextSibling.parentNode; - } else if (this._fake._fillers.length){ - d = this._fake._fillers[this._fake._fillers.length-1][2]; - } - this._fake._fillers.push(this._fake._add_filler(a,b,d)); - } - - return this._add_filler_s.apply(this,arguments); -} -this._add_from_buffer_s=this._add_from_buffer; -this._add_from_buffer=function() { - var res=this._add_from_buffer_s.apply(this,arguments); - if (res!=-1){ - this._fake._add_from_buffer.apply(this._fake,arguments); - if (this.multiLine) this._correctRowHeight(this.rowsBuffer[arguments[0]].idd); - } - return res; - } -this._fake.render_row=function(ind){ - var row=this._fake.render_row(ind); - - if (row == -1) return -1; - if (row) { - return this.rowsAr[row.idd]=this.rowsAr[row.idd]||this._fake.copy_row(row); - } - return null; - } -this._reset_view_s=this._reset_view; -this._reset_view=function(){ - this._fake._reset_view(true); - this._fake._fillers=[]; - this._reset_view_s(); - } - -this.moveColumn_s=this.moveColumn; -this.moveColumn=function(a,b){ - if (b>=ind) return this.moveColumn_s(a,b); -} - - -this.attachEvent("onCellChanged",function(id,i,val){ - if (this._split_event && i-1){ - this.entBox.style.width=a+"px"; - this.objBox.style.width=a+"px"; - - var outerBorder=(this.globalBox.offsetWidth-this.globalBox.clientWidth)/2; - this._fake.entBox.style.left=a+"px"; - this._fake.entBox.style.width=Math.max(0,this.globalBox.offsetWidth-a-(this.quirks?0:2)*outerBorder)+"px"; - if (this._fake.ftr) - this._fake.ftr.parentNode.style.width=this._fake.entBox.style.width; - if (_isIE){ - var quirks=_isIE && !window.xmlHttpRequest; - var outerBorder=(this.globalBox.offsetWidth-this.globalBox.clientWidth); - this._fake.hdrBox.style.width=this._fake.objBox.style.width=Math.max(0,this.globalBox.offsetWidth-(quirks?outerBorder:0)-a)+"px"; - } - } -} - -dhtmlXGridObject.prototype._correctRowHeight=function(id,ind){ - if (!this.rowsAr[id] || !this._fake.rowsAr[id]) return; - - var h=parseInt(this.rowsAr[id].style.height) || this.rowsAr[id].offsetHeight; - var h2=parseInt(this._fake.rowsAr[id].style.height) || this._fake.rowsAr[id].offsetHeight; - var max = Math.max(h,h2) - (this.rowsAr[id].delta_fix || 0); - if (!max) return; - this.rowsAr[id].style.height=this._fake.rowsAr[id].style.height=Math.round(max+1)+"px"; - this.rowsAr[id].delta_fix = 1; - if (window._KHTMLrv) { - var j = this._fake._cCount; - var td; - while (!td && j>=0){ - td = this.rowsAr[id].childNodes[j]; - j-=1; - } - var td2 = this._fake.rowsAr[id].firstChild; - if (td && td2){ - td.style.height=td2.style.height=Math.round(max+1)+"px"; - } - } -} -//(c)dhtmlx ltd. www.dhtmlx.com - diff --git a/themes/sources/dhtmlxGrid/codebase/ext/dhtmlxgrid_srnd.js b/themes/sources/dhtmlxGrid/codebase/ext/dhtmlxgrid_srnd.js deleted file mode 100644 index 39c016f..0000000 --- a/themes/sources/dhtmlxGrid/codebase/ext/dhtmlxgrid_srnd.js +++ /dev/null @@ -1,207 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/** -* @desc: enable smart rendering mode -* @type: public -* @param: mode - true|false - enable|disable mode -* @param: buffer - has sense only in dynamic loading mode, count of rows requrested from server by single operation, optional -* @topic: 0 -*/ -dhtmlXGridObject.prototype.enableSmartRendering=function(mode,buffer,reserved){ - if (arguments.length>2){ - if (buffer && !this.rowsBuffer[buffer-1]) this.rowsBuffer[buffer-1]=0; - buffer=reserved; - } - this._srnd=dhx4.s2b(mode); - this._srdh=this._srdh||20; - this._dpref=buffer||0; - -}; -/** -* @desc: allows to pre-render rows during scrolling, make scrolling more smooth, but with small drop in overall perfomance -* @type: public -* @param: buffer - count of rows, which will be prerendered -* @topic: 0 -*/ -dhtmlXGridObject.prototype.enablePreRendering=function(buffer){ - this._srnd_pr=parseInt(buffer||50); -}; -/** -* @desc: force grid in dyn. srnd mode fully load itself from server side -* @type: public -* @param: buffer - how much rows grid can request from server side in one operation -* @topic: 0 -*/ -dhtmlXGridObject.prototype.forceFullLoading=function(buffer, callback){ - for (var i=0; i 0) { - pxHeight-=this.rowsCol[min]?this.rowsCol[min].offsetHeight:this._srdh; - min++; - } - // Calculate the max - max=min+this._get_view_size(); - if (min>0) min--; - } - max+=(this._srnd_pr||0);//pre-rendering - if (max>this.rowsBuffer.length) max=this.rowsBuffer.length; - - for (var j=min; jind ){ - //filler found - var pos=ind-f[0]; - if (pos==0){ - //start - this._insert_before(ind,row,f[2]); - this._update_fillers(i,-1,1); - } else if (pos == f[1]-1){ - this._insert_after(ind,row,f[2]); - this._update_fillers(i,-1,0); - } else { - this._fillers.push(this._add_filler(ind+1,f[1]-pos-1,f[2],1)); - this._insert_after(ind,row,f[2]); - this._update_fillers(i,-f[1]+pos,0); - } - return; - } - } -} -dhtmlXGridObject.prototype._update_fillers=function(ind,right,left){ - var f=this._fillers[ind]; - f[1]=f[1]+right; - f[0]=f[0]+left; - if (!f[1]){ - this.callEvent("onRemoveFiller",[f[2]]); - f[2].parentNode.removeChild(f[2]); - this._fillers.splice(ind,1); - } else { - f[2].firstChild.style.height=parseFloat(f[2].firstChild.style.height)+right*this._srdh+"px"; - this.callEvent("onUpdateFiller",[f[2]]); - } -} -dhtmlXGridObject.prototype._insert_before=function(ind,row,fil){ - fil.parentNode.insertBefore(row,fil); - this.rowsCol[ind]=row; - this.callEvent("onRowInserted",[row,null,fil,"before"]); -} -dhtmlXGridObject.prototype._insert_after=function(ind,row,fil){ - if (fil.nextSibling) - fil.parentNode.insertBefore(row,fil.nextSibling); - else - fil.parentNode.appendChild(row); - this.rowsCol[ind]=row; - this.callEvent("onRowInserted",[row,null,fil,"after"]); -} - diff --git a/themes/sources/dhtmlxGrid/codebase/ext/dhtmlxgrid_ssc.js b/themes/sources/dhtmlxGrid/codebase/ext/dhtmlxgrid_ssc.js deleted file mode 100644 index 43d147f..0000000 --- a/themes/sources/dhtmlxGrid/codebase/ext/dhtmlxgrid_ssc.js +++ /dev/null @@ -1,340 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/** -* @desc: enable automatic size saving to cookie -* @param: name - optional, cookie name -* @param: cookie_param - additional parameters added to cookie -* @type: public -* @edition: Professional -* @topic: 0 -*/ -dhtmlXGridObject.prototype.enableAutoSizeSaving = function(name,cookie_param){ - this.attachEvent("onResizeEnd",function(){ this.saveSizeToCookie(name,cookie_param) }); -} - -/** -* @desc: store opene state of TreeGrid in cookie -* @param: name - optional, cookie name -* @param: cookie_param - additional parameters added to cookie -* @type: public -* @edition: Professional -* @topic: 0 -*/ -dhtmlXGridObject.prototype.saveOpenStates = function(name,cookie_param){ - if (!name) name=this.entBox.id; - var t=[]; - this._h2.forEachChild(0,function(el){ - if (el.state=="minus") t.push(el.id); - }); - var str = "gridOpen"+(name||"") + "=" + t.join("|") + (cookie_param?("; "+cookie_param):""); - document.cookie = str; -} - - -/** -* @desc: load open state of TreeGrid in cookie -* @param: name - optional, cookie name -* @param: cookie_param - additional parameters added to cookie -* @type: public -* @edition: Professional -* @topic: 0 -*/ -dhtmlXGridObject.prototype.loadOpenStates = function(name,cookie_param){ - var val=this.getCookie(name,"gridOpen"); - if (!val) return; - val=val.split("|"); - for (var i = 0; i < val.length; i++) { - var pid = this.getParentId(val[i]); - if (!this.getOpenState(pid)) continue; - this.openItem(val[i]); - } -} - -/** -* @desc: enable automatic saving column state ( hidden | shown ) -* @param: name - optional, cookie name -* @param: cookie_param - additional parameters added to cookie -* @type: public -* @edition: Professional -* @topic: 0 -*/ -dhtmlXGridObject.prototype.enableAutoHiddenColumnsSaving = function(name,cookie_param){ - this.attachEvent("onColumnHidden",function(){ - this.saveHiddenColumnsToCookie(name,cookie_param); - }); -} - -/** -* @desc: enable automatic sorting state saving to cookie -* @param: name - optional, cookie name -* @param: cookie_param - additional parameters added to cookie -* @type: public -* @edition: Professional -* @topic: 0 -*/ -dhtmlXGridObject.prototype.enableSortingSaving = function(name,cookie_param){ - this.attachEvent("onBeforeSorting",function(){ - var that=this; - window.setTimeout(function(){ - that.saveSortingToCookie(name,cookie_param); - },1); - return true; - }); -} - -/** -* @desc: enable automatic column order saving to cookie -* @param: name - optional, cookie name -* @param: cookie_param - additional parameters added to cookie -* @type: public -* @edition: Professional -* @topic: 0 -*/ -dhtmlXGridObject.prototype.enableOrderSaving = function(name,cookie_param){ - this.attachEvent("onAfterCMove",function(){ - this.saveOrderToCookie(name,cookie_param); - this.saveSizeToCookie(name,cookie_param); - }); -} - -/** -* @desc: enable automatic saving of all possible params -* @param: name - optional, cookie name -* @param: cookie_param - additional parameters added to cookie -* @type: public -* @edition: Professional -* @topic: 0 -*/ -dhtmlXGridObject.prototype.enableAutoSaving = function(name,cookie_param){ - this.enableOrderSaving(name,cookie_param); - this.enableAutoSizeSaving(name,cookie_param); - this.enableSortingSaving(name,cookie_param); -} - - -/** @desc: save grid layout to cookie -* @type: public -* @param: name - optional, cookie name -* @param: cookie_param - additional parameters added to cookie -* @edition: Professional -* @topic: 2 -*/ -dhtmlXGridObject.prototype.saveSizeToCookie=function(name,cookie_param){ - if (this.cellWidthType=='px') - var z=this.cellWidthPX; - else - var z=this.cellWidthPC; - - var z2=(this.initCellWidth||[]).join(","); - - if (this._hrrar) - for (var i = 0; i < this._hrrar.length; i++) - if (this._hrrar[i]) z[i] = ""; - - this.setCookie(name,cookie_param,0,z.join(",")); - this.setCookie(name,cookie_param,1,z2); -} - -/** @desc: save hidden columns to cookie -* @type: public -* @param: name - optional, cookie name -* @param: cookie_param - additional parameters added to cookie -* @edition: Professional -* @topic: 2 -*/ -dhtmlXGridObject.prototype.saveHiddenColumnsToCookie=function(name,cookie_param){ - - var hs=[].concat(this._hrrar||[]); - if (this._fake && this._fake._hrrar) - for (var i=0; i < this._fake._cCount; i++) - hs[i]=this._fake._hrrar[i]?"1":""; - this.setCookie(name,cookie_param,4,hs.join(",").replace(/display:none;/g,"1")); -} - -/** @desc: load sorting order from cookie -* @type: public -* @param: name - optional,cookie name -* @edition: Professional -* @topic: 2 -*/ -dhtmlXGridObject.prototype.loadHiddenColumnsFromCookie=function(name){ - var z=this._getCookie(name,4); - var ar=(z||"").split(","); - for (var i=0; i < this._cCount; i++) - this.setColumnHidden(i,(ar[i]?true:false)); -} - - - -/** @desc: save sorting order to cookie -* @type: public -* @param: name - optional, cookie name -* @param: cookie_param - additional parameters added to cookie -* @edition: Professional -* @topic: 2 -*/ -dhtmlXGridObject.prototype.saveSortingToCookie=function(name,cookie_param){ - this.setCookie(name,cookie_param,2,(this.getSortingState()||[]).join(",")); -} - - -/** @desc: load sorting order from cookie -* @type: public -* @param: name - optional,cookie name -* @edition: Professional -* @topic: 2 -*/ -dhtmlXGridObject.prototype.loadSortingFromCookie=function(name){ - var z=this._getCookie(name,2); - z=(z||"").split(","); - if (z.length>1 && z[0]1 && z.length<=this._cCount){ - //code below probably may be optimized - for (var i=0; i1){ - r.childNodes[j]._attrs["colspan"]=cellVal.colSpan; - for (var k=1; k 0) { - this._UndoRedoData = []; - } - - var obj = { old_value:old_value, - new_value:new_value, - row_id:row_id, - cell_index:cell_index - }; - this._UndoRedoData.push(obj); - this._UndoRedoPos++; - } - return true; -} -/** -* @desc: UnDo -* @type: public -* @edition: Professional -*/ -dhtmlXGridObject.prototype.doUndo = function() -{ - if (this._UndoRedoPos === -1) - return false; - var obj = this._UndoRedoData[this._UndoRedoPos--]; - var c=this.cells(obj.row_id, obj.cell_index); - if (this.getColType(obj.cell_index)=="tree") - c.setLabel(obj.old_value); - else - c.setValue(obj.old_value); - - this.callEvent("onUndo", [obj.row_id]); -} -/** -* @desc: ReDo -* @type: public -* @edition: Professional -*/ -dhtmlXGridObject.prototype.doRedo = function() -{ - if (this._UndoRedoPos == this._UndoRedoData.length-1) - return false; - var obj = this._UndoRedoData[++this._UndoRedoPos]; - this.cells(obj.row_id, obj.cell_index).setValue(obj.new_value); - - this.callEvent("onUndo", [obj.row_id]); -} -/** -* @desc: get length of available ReDo operations -* @type: public -* @edition: Professional -*/ -dhtmlXGridObject.prototype.getRedo = function() -{ - if (this._UndoRedoPos == this._UndoRedoData.length-1) - return []; - return this._UndoRedoData.slice(this._UndoRedoPos+1); -} -/** -* @desc: get length of available UnDo operations -* @type: public -* @edition: Professional -*/ -dhtmlXGridObject.prototype.getUndo = function() -{ - if (this._UndoRedoPos == -1) - return []; - return this._UndoRedoData.slice(0, this._UndoRedoPos+1); -} -//(c)dhtmlx ltd. www.dhtmlx.com diff --git a/themes/sources/dhtmlxGrid/codebase/ext/dhtmlxgrid_validation.js b/themes/sources/dhtmlxGrid/codebase/ext/dhtmlxgrid_validation.js deleted file mode 100644 index bca1629..0000000 --- a/themes/sources/dhtmlxGrid/codebase/ext/dhtmlxgrid_validation.js +++ /dev/null @@ -1,101 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -// validation -if (typeof(window.dhtmlxValidation) != "undefined") { - dhtmlxValidation.trackInput = function(el,rule,callback_error,callback_correct) { - dhtmlxEvent(el, "keyup", function(e){ - if (dhtmlxValidation._timer) { - window.clearTimeout(dhtmlxValidation._timer); - dhtmlxValidation._timer = null; - } - dhtmlxValidation._timer = window.setTimeout(function(){ - if (!dhtmlxValidation.checkInput(el,rule)){ - if (!callback_error || callback_error(el,el.value,rule)) el.className += " dhtmlx_live_validation_error"; - } else { - el.className=el.className.replace(/[ ]*dhtmlx_live_validation_error/g,""); - if (callback_correct) callback_correct(el, el.value, rule); - } - },250); - }); - }; - dhtmlxValidation.checkInput = function(input,rule) { - return dhtmlxValidation.checkValue(input.value,rule); - }; - dhtmlxValidation.checkValue = function(value,rule) { - if (typeof rule=="string") rule = rule.split(","); - var final_res = true; - for (var i=0; i1) this._validators._live=live; - if (!this._validators._event) this._validators._event=this.attachEvent("onEditCell",this.validationEvent); -}; -dhtmlXGridObject.prototype.setColValidators=function(vals){ - if (!this._validators) this.enableValidation(true); - if (typeof vals == "string") vals=vals.split(this.delim); - this._validators.data=vals; -}; -dhtmlXGridObject.prototype.validationEvent=function(stage,id,ind,newval,oldval){ - var v=this._validators; - if (!v) return true; // validators disabled - var rule=(v.data[ind]||this.cells(id,ind).getAttribute("validate"))||""; - - if (stage==1 && rule) { - var ed = this.editor||(this._fake||{}).editor; - if (!ed || !ed.getInput()) return true; //event was trigered by checkbox - ed.cell.className=ed.cell.className.replace(/[ ]*dhtmlx_validation_error/g,""); - if (v._live){ - var grid=this; - dhtmlxValidation.trackInput(ed.getInput(),rule,function(element,value,rule){ - return grid.callEvent("onLiveValidationError",[id,ind,value,element,rule]); - }, function(element,value,rule){ - return grid.callEvent("onLiveValidationCorrect",[id,ind,value,element,rule]); - }); - } - } - - if (stage==2) this.validateCell(id,ind,rule,newval); - - return true; -}; - -dhtmlXGridObject.prototype.validateCell=function(id,ind,rule,value){ - rule=rule||(this._validators.data[ind]||this.cells(id,ind).getAttribute("validate")); - value=value||this.cells(id,ind).getValue(); - if (!rule) return; - var cell = this.cells(id,ind).cell; - - var result = true; - if (typeof rule == "string") - rule = rule.split(this.delim); - - for (var i=0; i < rule.length; i++) { - if (!dhtmlxValidation.checkValue(value,rule[i])){ - if (this.callEvent("onValidationError",[id,ind,value,rule[i]])) - cell.className+=" dhtmlx_validation_error"; - result = false; - } - } - if (result){ - this.callEvent("onValidationCorrect",[id,ind,value,rule]); - cell.className=cell.className.replace(/[ ]*dhtmlx_validation_error/g,""); - } - return result; -}; diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/ar_left.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/ar_left.gif deleted file mode 100644 index f759a30..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/ar_left.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/ar_left_abs.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/ar_left_abs.gif deleted file mode 100644 index 88c8436..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/ar_left_abs.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/ar_left_abs_dis.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/ar_left_abs_dis.gif deleted file mode 100644 index 50a2516..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/ar_left_abs_dis.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/ar_left_dis.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/ar_left_dis.gif deleted file mode 100644 index b8f397f..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/ar_left_dis.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/ar_right.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/ar_right.gif deleted file mode 100644 index 84f348d..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/ar_right.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/ar_right_abs.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/ar_right_abs.gif deleted file mode 100644 index 4a0e6bc..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/ar_right_abs.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/ar_right_abs_dis.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/ar_right_abs_dis.gif deleted file mode 100644 index feb03cb..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/ar_right_abs_dis.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/ar_right_dis.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/ar_right_dis.gif deleted file mode 100644 index 1b53886..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/ar_right_dis.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/blank.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/blank.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/blank.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/combo_select.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/combo_select.gif deleted file mode 100644 index 57e5ece..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/combo_select.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/dyn_.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/dyn_.gif deleted file mode 100644 index 361094a..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/dyn_.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/dyn_down.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/dyn_down.gif deleted file mode 100644 index e8acb70..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/dyn_down.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/dyn_up.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/dyn_up.gif deleted file mode 100644 index bee4e0d..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/dyn_up.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/imageloaderror.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/imageloaderror.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/imageloaderror.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/item_chk0.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/item_chk0.gif deleted file mode 100644 index 7c22611..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/item_chk0.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/item_chk0_dis.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/item_chk0_dis.gif deleted file mode 100644 index 66257cb..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/item_chk0_dis.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/item_chk1.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/item_chk1.gif deleted file mode 100644 index 91f4e06..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/item_chk1.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/item_chk1_dis.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/item_chk1_dis.gif deleted file mode 100644 index 82672fc..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/item_chk1_dis.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/minus.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/minus.gif deleted file mode 100644 index 1752666..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/minus.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/paging_page.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/paging_page.gif deleted file mode 100644 index a8b2bac..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/paging_page.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/paging_pages.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/paging_pages.gif deleted file mode 100644 index e4b3d3a..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/paging_pages.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/paging_rows.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/paging_rows.gif deleted file mode 100644 index 09db362..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/paging_rows.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/plus.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/plus.gif deleted file mode 100644 index 2fd379c..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/plus.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/radio_chk0.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/radio_chk0.gif deleted file mode 100644 index 6087139..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/radio_chk0.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/radio_chk0_dis.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/radio_chk0_dis.gif deleted file mode 100644 index 3fb9da2..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/radio_chk0_dis.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/radio_chk1.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/radio_chk1.gif deleted file mode 100644 index 2d60066..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/radio_chk1.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/radio_chk1_dis.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/radio_chk1_dis.gif deleted file mode 100644 index 44112b5..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/radio_chk1_dis.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/separator.png b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/separator.png deleted file mode 100644 index 55018fc..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/separator.png and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/sort_asc.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/sort_asc.gif deleted file mode 100644 index 64f6cbe..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/sort_asc.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/sort_desc.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/sort_desc.gif deleted file mode 100644 index 2327ba1..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/sort_desc.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/blank.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/blank.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/blank.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/folder.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/folder.gif deleted file mode 100644 index 4b7e76d..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/folder.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/leaf.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/leaf.gif deleted file mode 100644 index deca307..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/leaf.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/line.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/line.gif deleted file mode 100644 index b4f560c..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/line.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/line1.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/line1.gif deleted file mode 100644 index b4f560c..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/line1.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/line2.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/line2.gif deleted file mode 100644 index 23b2ce3..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/line2.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/line3.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/line3.gif deleted file mode 100644 index 43152c5..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/line3.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/line4.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/line4.gif deleted file mode 100644 index 907fe7a..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/line4.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/minus.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/minus.gif deleted file mode 100644 index 1752666..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/minus.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/minus1.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/minus1.gif deleted file mode 100644 index 1752666..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/minus1.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/minus2.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/minus2.gif deleted file mode 100644 index 1752666..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/minus2.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/minus3.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/minus3.gif deleted file mode 100644 index 1752666..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/minus3.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/minus4.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/minus4.gif deleted file mode 100644 index 1752666..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/minus4.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/minus5.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/minus5.gif deleted file mode 100644 index 1752666..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/minus5.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/plus.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/plus.gif deleted file mode 100644 index 2fd379c..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/plus.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/plus1.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/plus1.gif deleted file mode 100644 index 2fd379c..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/plus1.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/plus2.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/plus2.gif deleted file mode 100644 index 2fd379c..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/plus2.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/plus3.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/plus3.gif deleted file mode 100644 index 2fd379c..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/plus3.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/plus4.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/plus4.gif deleted file mode 100644 index 2fd379c..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/plus4.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/plus5.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/plus5.gif deleted file mode 100644 index 2fd379c..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/plus5.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/ar_left.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/ar_left.gif deleted file mode 100644 index 07ef2fc..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/ar_left.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/ar_left_abs.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/ar_left_abs.gif deleted file mode 100644 index 2d32720..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/ar_left_abs.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/ar_left_abs_dis.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/ar_left_abs_dis.gif deleted file mode 100644 index 35050e8..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/ar_left_abs_dis.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/ar_left_dis.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/ar_left_dis.gif deleted file mode 100644 index 2ac953e..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/ar_left_dis.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/ar_right.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/ar_right.gif deleted file mode 100644 index cf326d3..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/ar_right.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/ar_right_abs.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/ar_right_abs.gif deleted file mode 100644 index 0736a5f..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/ar_right_abs.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/ar_right_abs_dis.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/ar_right_abs_dis.gif deleted file mode 100644 index f454ee7..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/ar_right_abs_dis.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/ar_right_dis.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/ar_right_dis.gif deleted file mode 100644 index 2cf6399..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/ar_right_dis.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/blank.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/blank.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/blank.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/combo_select.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/combo_select.gif deleted file mode 100644 index 03f4e9a..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/combo_select.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/dyn_.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/dyn_.gif deleted file mode 100644 index 361094a..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/dyn_.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/dyn_down.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/dyn_down.gif deleted file mode 100644 index b73c84e..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/dyn_down.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/dyn_up.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/dyn_up.gif deleted file mode 100644 index 556a9fb..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/dyn_up.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/imageloaderror.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/imageloaderror.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/imageloaderror.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/item_chk0.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/item_chk0.gif deleted file mode 100644 index a98e298..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/item_chk0.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/item_chk0_dis.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/item_chk0_dis.gif deleted file mode 100644 index 2082b54..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/item_chk0_dis.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/item_chk1.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/item_chk1.gif deleted file mode 100644 index 2ebae89..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/item_chk1.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/item_chk1_dis.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/item_chk1_dis.gif deleted file mode 100644 index 17a0b16..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/item_chk1_dis.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/minus.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/minus.gif deleted file mode 100644 index ef04a54..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/minus.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/paging_page.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/paging_page.gif deleted file mode 100644 index efda03a..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/paging_page.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/paging_pages.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/paging_pages.gif deleted file mode 100644 index 5c17308..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/paging_pages.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/paging_rows.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/paging_rows.gif deleted file mode 100644 index 217fb96..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/paging_rows.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/plus.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/plus.gif deleted file mode 100644 index abb84bd..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/plus.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/radio_chk0.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/radio_chk0.gif deleted file mode 100644 index f2ee489..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/radio_chk0.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/radio_chk0_dis.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/radio_chk0_dis.gif deleted file mode 100644 index ada7848..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/radio_chk0_dis.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/radio_chk1.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/radio_chk1.gif deleted file mode 100644 index 54af4c8..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/radio_chk1.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/radio_chk1_dis.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/radio_chk1_dis.gif deleted file mode 100644 index af5d41f..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/radio_chk1_dis.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/sort_asc.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/sort_asc.gif deleted file mode 100644 index c3c0983..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/sort_asc.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/sort_desc.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/sort_desc.gif deleted file mode 100644 index e080183..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/sort_desc.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/blank.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/blank.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/blank.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/folder.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/folder.gif deleted file mode 100644 index e0a88ce..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/folder.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/leaf.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/leaf.gif deleted file mode 100644 index 9c3e531..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/leaf.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/line.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/line.gif deleted file mode 100644 index b4f560c..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/line.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/line1.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/line1.gif deleted file mode 100644 index b4f560c..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/line1.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/line2.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/line2.gif deleted file mode 100644 index 23b2ce3..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/line2.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/line3.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/line3.gif deleted file mode 100644 index 43152c5..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/line3.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/line4.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/line4.gif deleted file mode 100644 index 907fe7a..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/line4.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/minus.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/minus.gif deleted file mode 100644 index ea11fd9..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/minus.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/minus1.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/minus1.gif deleted file mode 100644 index d6a8b2b..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/minus1.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/minus2.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/minus2.gif deleted file mode 100644 index a3fad45..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/minus2.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/minus3.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/minus3.gif deleted file mode 100644 index dbc1292..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/minus3.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/minus4.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/minus4.gif deleted file mode 100644 index 1c2fccf..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/minus4.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/minus5.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/minus5.gif deleted file mode 100644 index 031c160..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/minus5.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/plus.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/plus.gif deleted file mode 100644 index 2d50cd2..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/plus.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/plus1.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/plus1.gif deleted file mode 100644 index cb8add4..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/plus1.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/plus2.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/plus2.gif deleted file mode 100644 index d57afa9..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/plus2.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/plus3.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/plus3.gif deleted file mode 100644 index 2b6546b..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/plus3.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/plus4.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/plus4.gif deleted file mode 100644 index a4fe8c0..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/plus4.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/plus5.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/plus5.gif deleted file mode 100644 index 88c35a4..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/plus5.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/ar_left.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/ar_left.gif deleted file mode 100644 index f759a30..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/ar_left.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/ar_left_abs.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/ar_left_abs.gif deleted file mode 100644 index 88c8436..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/ar_left_abs.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/ar_left_abs_dis.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/ar_left_abs_dis.gif deleted file mode 100644 index 50a2516..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/ar_left_abs_dis.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/ar_left_dis.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/ar_left_dis.gif deleted file mode 100644 index b8f397f..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/ar_left_dis.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/ar_right.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/ar_right.gif deleted file mode 100644 index 84f348d..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/ar_right.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/ar_right_abs.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/ar_right_abs.gif deleted file mode 100644 index 4a0e6bc..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/ar_right_abs.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/ar_right_abs_dis.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/ar_right_abs_dis.gif deleted file mode 100644 index feb03cb..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/ar_right_abs_dis.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/ar_right_dis.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/ar_right_dis.gif deleted file mode 100644 index 1b53886..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/ar_right_dis.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/blank.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/blank.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/blank.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/combo_select.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/combo_select.gif deleted file mode 100644 index 90718a1..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/combo_select.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/dyn_.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/dyn_.gif deleted file mode 100644 index 361094a..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/dyn_.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/dyn_down.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/dyn_down.gif deleted file mode 100644 index b73c84e..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/dyn_down.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/dyn_up.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/dyn_up.gif deleted file mode 100644 index 556a9fb..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/dyn_up.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/imageloaderror.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/imageloaderror.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/imageloaderror.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/item_chk0.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/item_chk0.gif deleted file mode 100644 index 22d0f01..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/item_chk0.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/item_chk0_dis.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/item_chk0_dis.gif deleted file mode 100644 index 9310cb8..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/item_chk0_dis.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/item_chk1.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/item_chk1.gif deleted file mode 100644 index 5530bcb..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/item_chk1.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/item_chk1_dis.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/item_chk1_dis.gif deleted file mode 100644 index c70d2e1..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/item_chk1_dis.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/minus.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/minus.gif deleted file mode 100644 index ef04a54..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/minus.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/paging_page.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/paging_page.gif deleted file mode 100644 index a8b2bac..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/paging_page.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/paging_pages.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/paging_pages.gif deleted file mode 100644 index e4b3d3a..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/paging_pages.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/paging_rows.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/paging_rows.gif deleted file mode 100644 index 09db362..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/paging_rows.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/plus.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/plus.gif deleted file mode 100644 index abb84bd..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/plus.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/radio_chk0.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/radio_chk0.gif deleted file mode 100644 index 4bd2f93..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/radio_chk0.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/radio_chk0_dis.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/radio_chk0_dis.gif deleted file mode 100644 index c04a681..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/radio_chk0_dis.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/radio_chk1.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/radio_chk1.gif deleted file mode 100644 index 1fc529a..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/radio_chk1.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/radio_chk1_dis.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/radio_chk1_dis.gif deleted file mode 100644 index 000f82b..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/radio_chk1_dis.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/sort_asc.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/sort_asc.gif deleted file mode 100644 index feb339b..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/sort_asc.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/sort_desc.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/sort_desc.gif deleted file mode 100644 index 852f984..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/sort_desc.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/blank.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/blank.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/blank.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/folder.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/folder.gif deleted file mode 100644 index 440b803..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/folder.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/leaf.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/leaf.gif deleted file mode 100644 index 28c6528..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/leaf.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/line.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/line.gif deleted file mode 100644 index b4f560c..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/line.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/line1.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/line1.gif deleted file mode 100644 index dae44cd..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/line1.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/line2.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/line2.gif deleted file mode 100644 index 23b2ce3..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/line2.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/line3.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/line3.gif deleted file mode 100644 index 43152c5..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/line3.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/line4.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/line4.gif deleted file mode 100644 index 907fe7a..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/line4.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/minus.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/minus.gif deleted file mode 100644 index aa6c115..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/minus.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/minus1.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/minus1.gif deleted file mode 100644 index 9f8b70f..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/minus1.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/minus2.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/minus2.gif deleted file mode 100644 index af8ae3e..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/minus2.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/minus3.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/minus3.gif deleted file mode 100644 index c9eaaad..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/minus3.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/minus4.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/minus4.gif deleted file mode 100644 index bd98f26..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/minus4.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/minus5.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/minus5.gif deleted file mode 100644 index 379b154..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/minus5.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/plus.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/plus.gif deleted file mode 100644 index 08fc8f6..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/plus.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/plus1.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/plus1.gif deleted file mode 100644 index e79e4ed..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/plus1.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/plus2.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/plus2.gif deleted file mode 100644 index 94a5d4e..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/plus2.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/plus3.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/plus3.gif deleted file mode 100644 index 59708a6..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/plus3.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/plus4.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/plus4.gif deleted file mode 100644 index 3765d16..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/plus4.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/plus5.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/plus5.gif deleted file mode 100644 index 1e296fa..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/plus5.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/ar_left.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/ar_left.gif deleted file mode 100644 index a42f019..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/ar_left.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/ar_left_abs.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/ar_left_abs.gif deleted file mode 100644 index 29f01ea..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/ar_left_abs.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/ar_left_abs_dis.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/ar_left_abs_dis.gif deleted file mode 100644 index f52a777..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/ar_left_abs_dis.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/ar_left_dis.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/ar_left_dis.gif deleted file mode 100644 index b14f0ff..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/ar_left_dis.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/ar_right.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/ar_right.gif deleted file mode 100644 index e8990ba..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/ar_right.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/ar_right_abs.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/ar_right_abs.gif deleted file mode 100644 index 99df64d..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/ar_right_abs.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/ar_right_abs_dis.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/ar_right_abs_dis.gif deleted file mode 100644 index d919a8c..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/ar_right_abs_dis.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/ar_right_dis.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/ar_right_dis.gif deleted file mode 100644 index 32d2109..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/ar_right_dis.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/blank.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/blank.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/blank.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/combo_select.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/combo_select.gif deleted file mode 100644 index 57e5ece..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/combo_select.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/dyn_.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/dyn_.gif deleted file mode 100644 index 361094a..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/dyn_.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/dyn_down.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/dyn_down.gif deleted file mode 100644 index e8acb70..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/dyn_down.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/dyn_up.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/dyn_up.gif deleted file mode 100644 index bee4e0d..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/dyn_up.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/imageloaderror.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/imageloaderror.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/imageloaderror.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/item_chk0.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/item_chk0.gif deleted file mode 100644 index f91ca21..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/item_chk0.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/item_chk0_dis.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/item_chk0_dis.gif deleted file mode 100644 index 66257cb..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/item_chk0_dis.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/item_chk1.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/item_chk1.gif deleted file mode 100644 index 8868f58..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/item_chk1.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/item_chk1_dis.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/item_chk1_dis.gif deleted file mode 100644 index 82672fc..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/item_chk1_dis.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/minus.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/minus.gif deleted file mode 100644 index ef04a54..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/minus.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/paging_page.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/paging_page.gif deleted file mode 100644 index 12395c5..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/paging_page.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/paging_pages.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/paging_pages.gif deleted file mode 100644 index 9135ba1..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/paging_pages.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/paging_rows.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/paging_rows.gif deleted file mode 100644 index c6e9355..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/paging_rows.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/plus.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/plus.gif deleted file mode 100644 index abb84bd..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/plus.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/radio_chk0.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/radio_chk0.gif deleted file mode 100644 index 6087139..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/radio_chk0.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/radio_chk0_dis.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/radio_chk0_dis.gif deleted file mode 100644 index 3fb9da2..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/radio_chk0_dis.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/radio_chk1.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/radio_chk1.gif deleted file mode 100644 index 2d60066..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/radio_chk1.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/radio_chk1_dis.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/radio_chk1_dis.gif deleted file mode 100644 index 44112b5..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/radio_chk1_dis.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/separator.png b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/separator.png deleted file mode 100644 index 55018fc..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/separator.png and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/sort_asc.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/sort_asc.gif deleted file mode 100644 index 716049b..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/sort_asc.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/sort_desc.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/sort_desc.gif deleted file mode 100644 index bb7912a..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/sort_desc.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/blank.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/blank.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/blank.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/folder.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/folder.gif deleted file mode 100644 index 4b7e76d..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/folder.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/leaf.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/leaf.gif deleted file mode 100644 index deca307..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/leaf.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/line.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/line.gif deleted file mode 100644 index b4f560c..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/line.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/line1.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/line1.gif deleted file mode 100644 index b4f560c..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/line1.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/line2.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/line2.gif deleted file mode 100644 index 23b2ce3..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/line2.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/line3.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/line3.gif deleted file mode 100644 index 43152c5..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/line3.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/line4.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/line4.gif deleted file mode 100644 index 907fe7a..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/line4.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/minus.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/minus.gif deleted file mode 100644 index 77d3b97..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/minus.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/minus1.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/minus1.gif deleted file mode 100644 index a31abe2..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/minus1.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/minus2.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/minus2.gif deleted file mode 100644 index 9828911..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/minus2.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/minus3.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/minus3.gif deleted file mode 100644 index df8b060..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/minus3.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/minus4.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/minus4.gif deleted file mode 100644 index 2b456f8..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/minus4.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/minus5.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/minus5.gif deleted file mode 100644 index 2827d81..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/minus5.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/plus.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/plus.gif deleted file mode 100644 index 7e2bf79..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/plus.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/plus1.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/plus1.gif deleted file mode 100644 index 7b723c2..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/plus1.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/plus2.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/plus2.gif deleted file mode 100644 index d5aa3b7..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/plus2.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/plus3.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/plus3.gif deleted file mode 100644 index 165bd73..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/plus3.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/plus4.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/plus4.gif deleted file mode 100644 index e87b3c6..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/plus4.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/plus5.gif b/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/plus5.gif deleted file mode 100644 index 3dd3987..0000000 Binary files a/themes/sources/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/plus5.gif and /dev/null differ diff --git a/themes/sources/dhtmlxGrid/codebase/skins/dhtmlxgrid_dhx_skyblue.css b/themes/sources/dhtmlxGrid/codebase/skins/dhtmlxgrid_dhx_skyblue.css deleted file mode 100644 index 2399c63..0000000 --- a/themes/sources/dhtmlxGrid/codebase/skins/dhtmlxgrid_dhx_skyblue.css +++ /dev/null @@ -1,691 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: dhx_skyblue - include extra file: skins/dhx_skyblue.less -*/ - -div.gridbox { - overflow: hidden; - text-align: left; -} -.dhx_sub_row { - background-color: #ffffff; -} -div.gridbox table.obj { - height: 1px; -} -div.gridbox table.hdr td { - line-height: normal; - border: 1px solid; - border-color: #ffffff Gray Gray #ffffff; - text-align: center; - margin: 0px; - padding: 7px 0px 7px 0px; - font-weight: normal; - overflow: hidden; - empty-cells: show; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -div.gridbox table.hdr td div.hdrcell { - overflow: hidden; -} -div.gridbox table.obj td { - overflow: hidden; - padding-top: 0px; - padding-bottom: 0px; - empty-cells: show; - white-space: normal; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -div.gridbox table.obj th, -div.gridbox table.hdr th { - padding: 0px; - margin: 0px; -} -div.gridbox table.row20px tr td { - height: 20px; - white-space: nowrap; - padding: 0px; -} -div.gridbox .objbox { - background-color: #ffffff; - position: relative; - -webkit-overflow-scrolling: touch; -} -div.gridbox table.obj td span.space, -div.gridbox table.obj td img.space { - width: 18px; -} -div.gridbox table.obj td.editable { - -webkit-user-select: text; - -khtml-user-select: text; - -moz-user-select: text; - -ms-user-select: text; - -o-user-select: text; - user-select: text; -} -div.gridbox table.obj td.group_row { - vertical-align: middle; - font-family: Tahoma; - font-size: 10pt; - font-weight: bold; - height: 30px; - border: 0px; - border-bottom: 2px solid navy; -} -.dragSpanDiv { - font-family: Tahoma, Helvetica; - font-size: 12px; - border: 1px gray solid; - background-color: #ffffff; - z-index: 999; -} -.dhx_combo_select { - border: 1px solid; - border-color: black silver silver black; - background-color: #ffffff; - overflow: auto; - cursor: default; - position: absolute; - height: auto; - z-index: 600; -} -.dhx_combo_edit { - width: 100%; - border: 0px; - padding: 0px; - padding-right: 1px !ie; - margin: 0px; - overflow: hidden; -} -.gridbox_dhx_skyblue.gridbox .dhx_combo_edit { - display: block; -} -.dhx_textarea { - border: 1px solid; - border-color: black silver silver black; - position: absolute; - height: 100px; - z-index: 600; -} -.dhx_clist { - background-color: #ffffff; - border: 1px solid black; - padding: 2px 2px 2px 2px; - z-index: 300; -} -.gridDragLine { - position: absolute; - top: 10px; - left: 0px; - width: 100%; - height: 2px; - background-color: black; - overflow: hidden; - pointer-events: none; -} -div.pagingBlock .pagingCurrentPage { - font-weight: bold; - cursor: default; -} -div.pagingBlock .pagingPage { - cursor: pointer; - text-decoration: underline; -} -div.pagingBlock a { - text-decoration: none; - padding-right: 2px; - color: black; - cursor: pointer; -} -div.pagingBlock a.dhx_not_active { - text-decoration: none; - cursor: default; -} -.toolbar_select { - font-size: 10px; -} -.dhtmlxGrid_selection { - opacity: 0.5; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50); - background-color: yellow; - border: 1px dotted black; -} -div.gridbox div.ftr { - position: absolute; - left: 0px; - bottom: 1px; - width: 100%; - overflow: hidden; -} -div.gridbox div.ftr td { - padding: 0px; - padding-left: 10px; - padding-right: 5px; - border-top: 1px solid gray; - border-right: 1px solid gray; - background-color: #ffffcc; - font-style: italic; - overflow: hidden; -} -div.gridbox table.hdr td.columnTargetR div.hdrcell { - border-right: 3px double #FF6600; - border-left: 3px solid #D4D0C8; -} -div.gridbox table.hdr td.columnTargetL div.hdrcell { - border-right: 3px solid #D4D0C8; - border-left: 3px double #FF6600; -} -.dhx_dragColDiv { - background-color: #D4D0C8; - border: 1px solid; - border-color: #ffffff Gray Gray #ffffff; - text-align: center; - margin: 0px; - padding: 5px 20px 5px 20px; - font-weight: normal; - opacity: 0.75; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=75); - z-index: 100; -} -.dhtmlx_live_validation_error { - background-color: #FFE0E0 !important; -} -.dhtmlx_validation_error { - border-bottom: 2px solid red !important; -} -.dhx_header_cmenu { - background-color: #ffffff; - border: 2px outset silver; - z-index: 2; -} -.dhx_header_cmenu_item { - white-space: nowrap; -} -div.gridboxgridbox_dhx_skyblue div.ftr td { - text-align: right; - color: black; - background-color: #e2efff; - background: linear-gradient(#e2efff,#d3e7ff); - background: -webkit-linear-gradient(#e2efff,#d3e7ff); - filter: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e2efff,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100); - border-color: #a4bed4; -} -div.gridbox td.filter input, -div.gridbox td.filter select { - width: 90%; - font-size: 8pt; - font-family: Tahoma; - -webkit-user-select: text; - -khtml-user-select: text; - -moz-user-select: text; - -ms-user-select: text; - -o-user-select: text; - user-select: text; -} -div.gridbox .filter input::-ms-clear { - display: none; -} -div.gridbox_dhx_skyblue.gridbox .ftr, -div.gridbox_dhx_skyblue.gridbox .xhdr { - color: black; - background-color: #e2efff; - background: linear-gradient(#e2efff,#d3e7ff); - background: -webkit-linear-gradient(#e2efff,#d3e7ff); - filter: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e2efff,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100); -} -div.gridbox_dhx_skyblue.isModern table.hdr tr td { - color: black; - background-color: #e2efff; - background: linear-gradient(#e2efff,#d3e7ff); - background: -webkit-linear-gradient(#e2efff,#d3e7ff); - filter: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e2efff,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100); -} -div.gridbox_dhx_skyblue.isIE table.hdr tr { - color: black; - background-color: #e2efff; - background: linear-gradient(#e2efff,#d3e7ff); - background: -webkit-linear-gradient(#e2efff,#d3e7ff); - filter: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e2efff,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100); -} -div.gridbox_dhx_skyblue.gridbox table.obj tr td { - border-width: 0px 0px 0px 0px; - padding-right: 4px; - padding-left: 4px; -} -div.gridbox_dhx_skyblue.gridbox table.hdr td div.hdrcell { - padding-left: 10px; - width: auto; -} -div.gridbox_dhx_skyblue.gridbox table.hdr td { - border-width: 1px 1px 1px 1px; - border-color: #e7f1ff #a4bed4 #a4bed4 #e7f1ff; - background-color: transparent; - font-family: Tahoma, Helvetica; - font-size: 12px; - color: black; - vertical-align: top; - text-align: left; - position: relative; -} -div.gridbox_dhx_skyblue.gridbox { - border: 1px solid #a4bed4; -} -div.gridbox_dhx_skyblue.gridbox table.obj, -.dhx_grid_adjust { - font-family: Tahoma, Helvetica; - font-size: 12px; - color: black; -} -div.gridbox_dhx_skyblue.gridbox table.obj tr td { - padding-top: 3px; - padding-bottom: 3.2px; -} -* html .gridbox_dhx_skyblue.gridbox .obj td { - height: auto; - padding-top: 3px; - padding-bottom: 3px; -} -div.gridbox_dhx_skyblue.gridbox table.obj.row20px tr td { - height: 23px; -} -div.gridbox_dhx_skyblue.gridbox table.obj tr td { - padding-top: 1px; - padding-bottom: 1px; - border-right: 1px solid #ffffff; - border-top: 1px solid #ffffff; - border-bottom: 1px solid #ffffff; -} -div.gridbox_dhx_skyblue.isModern table.obj.row20px tr td { - line-height: 23px; -} -div.gridbox_dhx_skyblue table.obj.row20px tr td.editable { - height: 21px; - line-height: 21px; -} -div.gridbox_dhx_skyblue table.obj.row20px tr td.editable .treegrid_cell { - margin-top: -2px; - height: 21px; -} -div.gridbox_dhx_skyblue.gridbox table.obj tr td.editable div.treegrid_cell { - padding: 1px 4px !important; -} -div.gridbox_dhx_skyblue.gridbox table.obj tr.rowselected { - background-color: #b5deff; -} -div.gridbox_dhx_skyblue.gridbox table.obj tr.rowselected td { - background-color: #b5deff; - color: black; -} -div.gridbox_dhx_skyblue.gridbox table.obj tr.rowselected td, -div.gridbox_dhx_skyblue.gridbox table.obj tr.odd_dhx_skyblue.rowselected td { - background-color: #b5deff; - border-top: 1px solid #a1ceed; - border-bottom: 1px solid #a1ceed; - border-right: 1px solid #b5deff; -} -div.gridbox_dhx_skyblue.gridbox table.obj tr td.cellselected { - background-color: #b5deff; -} -div.gridbox_dhx_skyblue.gridbox table.obj tr.odd_dhx_skyblue { - background: #ebf3ff; - border-top: 1px solid #ebf3ff; - border-bottom: 1px solid #ebf3ff; -} -div.gridbox_dhx_skyblue.gridbox table.obj tr.odd_dhx_skyblue { - background: #ebf3ff; -} -.dhx_combo_select, -.gridbox_dhx_skyblue.gridbox .dhx_combo_edit, -.gridbox_dhx_skyblue.gridbox .dhx_textarea, -dhx_dragColDiv, -div.gridbox div.ftr td, -div.pagingBlock, -span.recordsInfoBlock { - font-family: Tahoma, Helvetica; - font-size: 12px; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; -} -.gridbox_dhx_skyblue .dhx_combo_edit { - padding: 1px 0px 1px 1px; -} -.gridbox_dhx_skyblue.isIE .dhx_combo_edit { - padding: 0px 0px 0px 1px; -} -.gridbox_dhx_skyblue.gridbox .dhx_sub_row { - background-color: transparent; -} -.dhx_header_cmenu { - background-color: #ffffff; - border: 2px outset silver; - z-index: 2; -} -.dhx_header_cmenu_item { - white-space: nowrap; -} -.dhx_pbox { - margin-top: 3px; - border: 1px solid #D4D0C8; - border-top: 0px; - font-size: 10px; -} -.dhx_pline { - background-color: white; - margin: -15px 10px 10px 10px; - padding: 0px 5px 0px 5px; - float: left; -} -.dhx_page, -.dhx_pager_info { - margin: 3px; - text-align: center; - font-family: tahoma; - font-size: 12px; - float: left; - cursor: pointer; - color: black; - background-color: gray; - padding: 1px; -} -.dhx_pager_info { - white-space: nowrap; - background-color: white; - margin: -8px 10px 10px 10px; - padding: 0px 5px 0px 5px; - cursor: default; -} -.dhx_page div { - background-color: white; - width: 16px; - height: 17px; - vertical-align: middle; -} -div.dhx_page_active { - font-weight: bold; - background-color: lightgrey; - cursor: default; - color: white; -} -.dhx_pbox_modern { - margin-top: 3px; - border: 1px solid #D6D6D6; - border-top: 0px; - font-size: 10px; -} -.dhx_pline_modern { - background-color: white; - margin: -15px 10px 10px 10px; - padding: 0px 5px 0px 5px; - float: left; -} -.dhx_page_modern, -.dhx_pager_info_modern { - margin: 3px; - text-align: center; - font-family: tahoma; - font-size: 12px; - float: left; - cursor: pointer; - color: #055A78; - background-color: #D6D6D6; - padding: 1px; -} -.dhx_pager_info_modern { - white-space: nowrap; - background-color: white; - margin: -8px 10px 10px 10px; - padding: 0px 5px 0px 5px; - cursor: default; -} -.dhx_page_modern div { - background-color: white; - width: 16px; - height: 17px; - vertical-align: middle; -} -div.dhx_page_active_modern { - font-weight: bold; - background-color: #055A78; - cursor: default; - color: white; -} -.dhx_pbox_light { - margin-top: 3px; - border: 1px solid #C2D5DC; - border-top: 0px; - font-size: 10px; -} -.dhx_pline_light { - background-color: white; - margin: -15px 10px 10px 10px; - padding: 0px 5px 0px 5px; - float: left; -} -.dhx_page_light, -.dhx_pager_info_light { - margin: 3px; - text-align: center; - font-family: tahoma; - font-size: 12px; - float: left; - cursor: pointer; - color: #055A78; - background-color: #93AFBA; - padding: 1px; -} -.dhx_pager_info_light { - white-space: nowrap; - background-color: white; - margin: -8px 10px 10px 10px; - padding: 0px 5px 0px 5px; - cursor: default; -} -.dhx_page_light div { - background-color: white; - width: 16px; - height: 17px; - vertical-align: middle; -} -div.dhx_page_active_light { - font-weight: bold; - background-color: #D1DFE3; - cursor: default; - color: white; -} -.dhx_pbox_skyblue { - margin-top: 3px; - border: 1px solid #C2D5DC; - border-top: 0px; - font-size: 10px; -} -.dhx_pline_skyblue { - background-color: white; - margin: -15px 10px 10px 10px; - padding: 0px 5px 0px 5px; - float: left; -} -.dhx_page_skyblue, -.dhx_pager_info_skyblue { - margin: 3px; - text-align: center; - font-family: tahoma; - font-size: 12px; - float: left; - cursor: pointer; - color: #055A78; - background-color: #93AFBA; - padding: 1px; -} -.dhx_pager_info_skyblue { - white-space: nowrap; - background-color: white; - margin: -8px 10px 10px 10px; - padding: 0px 5px 0px 5px; - cursor: default; -} -.dhx_page_skyblue div { - background-color: white; - width: 16px; - height: 17px; - vertical-align: middle; -} -div.dhx_page_active_skyblue { - font-weight: bold; - color: black; - background-color: #e2efff; - background: linear-gradient(#e2efff,#d3e7ff); - background: -webkit-linear-gradient(#e2efff,#d3e7ff); - filter: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e2efff,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100); - border: 1px solid #a4bed4; - padding: 0px; - cursor: default; -} -div.dhx_page_active_skyblue div.dhx_page_active_skyblue { - border: 0px solid #a4bed4; -} -.calcTable { - width: 100px; - background-color: silver; - border: 1px black solid; -} -.calcButton { - height: 20px; - cursor: pointer; - text-align: center; - background-color: gray; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid silver; - border-right: 1px solid silver; -} -.calcPressed { - height: 20px; - cursor: pointer; - text-align: center; - background-color: gray; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid black; - border-right: 1px solid black; -} -.calcInput { - background-color: white; - font-size: 10px; - font-weight: bold; - font-family: Tahoma, Helvetica; -} -.calkSubmit { - padding: 2px; - cursor: pointer; - text-align: center; - background-color: silver; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid white; - border-right: 1px solid white; -} -.dhxgrid_sort_desc, -.dhxgrid_sort_asc { - width: 9px; - height: 8px; - background-image: url("../imgs/dhxgrid_skyblue/sort_desc.gif"); - background-repeat: no-repeat; - z-index: 10; -} -.dhxgrid_sort_asc { - background-image: url("../imgs/dhxgrid_skyblue/sort_asc.gif"); - background-repeat: no-repeat; -} -.dhxgrid_rh_dhx_skyblue { - position: absolute; - top: -20px; - left: -24px; - width: 23px; - height: 10px; - margin: 0px; - padding: 0px; - border-width: 0px; - font-size: 1px; - overflow: hidden; -} -.dhxgrid_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 10px; - height: 10px; - overflow: hidden; -} -div.gridbox_dhx_skyblue.gridbox table.obj.row20px tr td img { - display: block; -} -div.gridbox_dhx_skyblue.gridbox table.obj.row20px tr td.group_row img, -div.gridbox_dhx_skyblue.gridbox table.obj.row20px tr td .treegrid_cell img { - display: inline; -} -.dhx_grid_icon { - text-align: center; - color: #777; - font-size: 18px; -} -.dhx_treegrid_icon { - text-align: center; - color: #777; - font-size: 16px; - margin-right: 4px; - position: relative; - top: 1px; -} -.grid_cell_dyn { - position: relative; - padding-right: 2px; - width: 100%; - overflow: hidden; - white-space: nowrap; -} -.grid_cell_dyn img { - position: absolute; - top: 0px; - left: 0px; - height: 15px; -} -.grid_cell_dyn span { - padding-left: 20px; - width: 100%; -} -.grid_collapse_icon { - margin-top: -2px; -} -div.gridbox_dhx_skyblue.gridbox .obj.row20px td[excell] { - vertical-align: top !important; -} -div.gridbox_dhx_skyblue.gridbox .obj.row20px td[excell] img { - margin-top: 3px; -} -.dhx_row_drag_active { - background: #eee !important; -} diff --git a/themes/sources/dhtmlxGrid/codebase/skins/dhtmlxgrid_dhx_terrace.css b/themes/sources/dhtmlxGrid/codebase/skins/dhtmlxgrid_dhx_terrace.css deleted file mode 100644 index 07d3d22..0000000 --- a/themes/sources/dhtmlxGrid/codebase/skins/dhtmlxgrid_dhx_terrace.css +++ /dev/null @@ -1,630 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: dhx_terrace - include extra file: skins/dhx_terrace.less -*/ - -div.gridbox { - overflow: hidden; - text-align: left; -} -.dhx_sub_row { - background-color: #ffffff; -} -div.gridbox table.obj { - height: 1px; -} -div.gridbox table.hdr td { - line-height: normal; - border: 1px solid; - border-color: #ffffff Gray Gray #ffffff; - text-align: center; - margin: 0px; - padding: 5px 0px 4px 0px; - font-weight: normal; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - overflow: hidden; - empty-cells: show; -} -div.gridbox table.hdr td div.hdrcell { - overflow: hidden; -} -div.gridbox table.obj td { - overflow: hidden; - padding-top: 0px; - padding-bottom: 0px; - empty-cells: show; - white-space: normal; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -div.gridbox table.obj th, -div.gridbox table.hdr th { - padding: 0px; - margin: 0px; -} -div.gridbox table.row20px tr td { - height: 20px; - white-space: nowrap; - padding: 0px; -} -div.gridbox .objbox { - background-color: #ffffff; - position: relative; - -webkit-overflow-scrolling: touch; -} -div.gridbox table.obj td span.space, -div.gridbox table.obj td img.space { - width: 18px; -} -div.gridbox table.obj td.editable { - -webkit-user-select: text; - -khtml-user-select: text; - -moz-user-select: text; - -ms-user-select: text; - -o-user-select: text; - user-select: text; -} -div.gridbox table.obj td.group_row { - vertical-align: middle; - font-family: Tahoma; - font-size: 10pt; - font-weight: bold; - height: 30px; - border: 0px; - border-bottom: 2px solid navy; -} -.dragSpanDiv { - font-family: Arial, Helvetica; - font-size: 12px; - border: 1px gray solid; - background-color: #ffffff; - z-index: 999; -} -.dhx_combo_select { - border: 1px solid; - border-color: black silver silver black; - background-color: #ffffff; - overflow: auto; - cursor: default; - position: absolute; - height: auto; - z-index: 600; -} -.dhx_combo_edit { - width: 100%; - border: 0px; - padding: 0px; - padding-right: 1px !ie; - margin: 0px; - overflow: hidden; -} -.dhx_textarea { - border: 1px solid; - border-color: black silver silver black; - position: absolute; - height: 100px; - z-index: 600; -} -.dhx_clist { - background-color: #ffffff; - border: 1px solid black; - padding: 2px 2px 2px 2px; - z-index: 300; -} -.gridDragLine { - position: absolute; - top: 10px; - left: 0px; - width: 100%; - height: 2px; - background-color: black; - overflow: hidden; - pointer-events: none; -} -div.pagingBlock .pagingCurrentPage { - font-weight: bold; - cursor: default; -} -div.pagingBlock .pagingPage { - cursor: pointer; - text-decoration: underline; -} -div.pagingBlock a { - text-decoration: none; - padding-right: 2px; - color: black; - cursor: pointer; -} -div.pagingBlock a.dhx_not_active { - text-decoration: none; - cursor: default; -} -.toolbar_select { - font-size: 10px; -} -.dhtmlxGrid_selection { - opacity: 0.5; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50); - background-color: yellow; - border: 1px dotted black; -} -div.gridbox div.ftr { - position: absolute; - left: 0px; - bottom: 1px; - width: 100%; - overflow: hidden; -} -div.gridbox div.ftr td { - padding: 0px; - padding-left: 10px; - padding-right: 5px; - border-top: 1px solid gray; - border-right: 1px solid gray; - background-color: #ffffcc; - font-style: italic; - overflow: hidden; -} -div.gridbox table.hdr td.columnTargetR div.hdrcell { - border-right: 3px double #FF6600; - border-left: 3px solid #D4D0C8; -} -div.gridbox table.hdr td.columnTargetL div.hdrcell { - border-right: 3px solid #D4D0C8; - border-left: 3px double #FF6600; -} -.dhx_dragColDiv { - background-color: #D4D0C8; - border: 1px solid; - border-color: #ffffff Gray Gray #ffffff; - text-align: center; - margin: 0px; - padding: 5px 20px 5px 20px; - font-weight: normal; - opacity: 0.75; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=75); - z-index: 100; -} -.dhtmlx_live_validation_error { - background-color: #FFE0E0 !important; -} -.dhtmlx_validation_error { - border-bottom: 2px solid red !important; -} -.dhx_header_cmenu { - background-color: #ffffff; - border: 2px outset silver; - z-index: 2; -} -.dhx_header_cmenu_item { - white-space: nowrap; -} -div.gridbox td.filter input, -div.gridbox td.filter select { - width: 90%; - font-size: 8pt; - font-family: Tahoma; - -webkit-user-select: text; - -khtml-user-select: text; - -moz-user-select: text; - -ms-user-select: text; - -o-user-select: text; - user-select: text; -} -div.gridbox .filter input::-ms-clear { - display: none; -} -div.gridbox_dhx_terrace.gridbox .xhdr { - background-color: #ffffff; -} -div.gridbox_dhx_terrace.gridbox table.hdr tr { - background-color: #f5f5f5; -} -div.gridbox_dhx_terrace.gridbox .ftr tr { - background-color: #f5f5f5; -} -div.gridbox_dhx_terrace.gridbox table.obj, -.dhx_combo_select, -.gridbox_dhx_skyblue.gridbox -.dhx_combo_edit, -.gridbox_dhx_skyblue.gridbox .dhx_textarea, -dhx_dragColDiv, -div.gridbox div.ftr td, -div.pagingBlock, -span.recordsInfoBlock, -.dhx_grid_adjust { - font-family: Arial, Helvetica; - font-size: 13px; - color: #333333; -} -div.gridbox_dhx_terrace.gridbox table.obj tr td { - border-color: #cccccc; - border-width: 0px 0px 1px 0px; - padding-right: 20px; - padding-left: 20px; -} -div.gridbox_dhx_terrace.gridbox .xhdr { - border-bottom: 1px solid #cccccc; - background-color: #f5f5f5; -} -div.gridbox_dhx_terrace.gridbox table.hdr td div.hdrcell { - width: auto; - padding-left: 20px; - line-height: 36px; - text-transform: uppercase; - width: 100% !ie; -} -div.gridbox_dhx_terrace.gridbox .ftr table td { - width: auto; - background-color: #ffffff; - border-width: 1px 0px 0px 0px; - font-style: normal; - color: #333; - border-color: #cccccc; - padding-left: 20px; - line-height: 41px; - width: 100% !ie; -} -div.gridbox_dhx_terrace.gridbox table.hdr td { - border: 1px solid #cccccc; - border-width: 0px 0px 0px 0px; - padding: 0px 0px 0px 0px; - background-color: #f5f5f5; - font-family: Arial, Helvetica; - font-size: 12px; - color: #333333; - vertical-align: top; - text-align: left; - position: relative; -} -div.gridbox_dhx_terrace.gridbox { - border: 1px solid #cccccc; -} -div.gridbox_dhx_terrace.gridbox table.obj tr td { - padding-top: 10px; - padding-bottom: 10px; -} -div.gridbox_dhx_terrace.gridbox table.obj.row20px tr td { - padding-top: 0px; - padding-bottom: 0px; - height: 32px; - line-height: 32px; -} -div.gridbox_dhx_terrace.gridbox table.obj tr td.editable { - padding-left: 20px; - padding-right: 0px; -} -div.gridbox_dhx_terrace.gridbox table.obj tr td.editable div.treegrid_cell { - padding: 1px 4px; -} -div.gridbox_dhx_terrace.gridbox table.obj tr.rowselected { - background-color: #fff3a1; -} -div.gridbox_dhx_terrace.gridbox table.obj tr.rowselected td { - background-color: #fff3a1; - color: black; -} -div.gridbox_dhx_terrace.gridbox table.obj.row20px tr.rowselected td { - background-color: #fff3a1; - color: black; -} -div.gridbox_dhx_terrace.gridbox table.obj tr td.cellselected { - background-color: #fff3a1; - color: black; -} -div.gridbox_dhx_terrace.gridbox .odd_dhx_terrace { - background-color: #f7f7f7; -} -.gridbox_dhx_terrace.gridbox .dhx_combo_edit { - font-family: Arial, Helvetica; - font-size: 13px; - line-height: 32px; -} -.dhx_combo_select, -.dhx_textarea { - margin-left: 20px; - line-height: 20px; - font-family: Arial, Helvetica; - font-size: 13px; -} -.gridbox_dhx_terrace.gridbox .dhx_combo_edit { - padding: 1px 0px 1px 1px; -} -.gridbox_dhx_terrace.gridbox .dhx_sub_row { - background-color: transparent; -} -.gridbox_dhx_terrace.gridbox table.hdr td.filter { - padding-left: 20px; - line-height: 41px; - height: 30px; -} -div.gridbox_dhx_terrace.gridbox td.filter input, -div.gridbox_dhx_terrace.gridbox td.filter select { - font-size: 13px !important; - font-family: Arial, Helvetica !important; - height: 22px; - border-radius: 3px; - border: 1px solid #cccccc; - background: #ffffff; - box-shadow: none; -} -.gridbox_dhx_terrace.gridbox .dhx_combo_box.dhx_terrace { - height: 30px !important; - margin-left: -20px; -} -.dhx_header_cmenu { - background-color: #ffffff; - border: 2px outset silver; - z-index: 2; -} -.dhx_header_cmenu_item { - white-space: nowrap; -} -.dhx_pbox { - margin-top: 3px; - border: 1px solid #D4D0C8; - border-top: 0px; - font-size: 10px; -} -.dhx_pline { - background-color: white; - margin: -15px 10px 10px 10px; - padding: 0px 5px 0px 5px; - float: left; -} -.dhx_page, -.dhx_pager_info { - margin: 3px; - text-align: center; - font-family: tahoma; - font-size: 12px; - float: left; - cursor: pointer; - color: black; - background-color: gray; - padding: 1px; -} -.dhx_pager_info { - white-space: nowrap; - background-color: white; - margin: -8px 10px 10px 10px; - padding: 0px 5px 0px 5px; - cursor: default; -} -.dhx_page div { - background-color: white; - width: 16px; - height: 17px; - vertical-align: middle; -} -div.dhx_page_active { - font-weight: bold; - background-color: lightgrey; - cursor: default; - color: white; -} -.dhx_pbox_modern { - margin-top: 3px; - border: 1px solid #D6D6D6; - border-top: 0px; - font-size: 10px; -} -.dhx_pline_modern { - background-color: white; - margin: -15px 10px 10px 10px; - padding: 0px 5px 0px 5px; - float: left; -} -.dhx_page_modern, -.dhx_pager_info_modern { - margin: 3px; - text-align: center; - font-family: tahoma; - font-size: 12px; - float: left; - cursor: pointer; - color: #055A78; - background-color: #D6D6D6; - padding: 1px; -} -.dhx_pager_info_modern { - white-space: nowrap; - background-color: white; - margin: -8px 10px 10px 10px; - padding: 0px 5px 0px 5px; - cursor: default; -} -.dhx_page_modern div { - background-color: white; - width: 16px; - height: 17px; - vertical-align: middle; -} -div.dhx_page_active_modern { - font-weight: bold; - background-color: #055A78; - cursor: default; - color: white; -} -.dhx_pbox_light { - margin-top: 3px; - border: 1px solid #C2D5DC; - border-top: 0px; - font-size: 10px; -} -.dhx_pline_light { - background-color: white; - margin: -15px 10px 10px 10px; - padding: 0px 5px 0px 5px; - float: left; -} -.dhx_page_light, -.dhx_pager_info_light { - margin: 3px; - text-align: center; - font-family: tahoma; - font-size: 12px; - float: left; - cursor: pointer; - color: #055A78; - background-color: #93AFBA; - padding: 1px; -} -.dhx_pager_info_light { - white-space: nowrap; - background-color: white; - margin: -8px 10px 10px 10px; - padding: 0px 5px 0px 5px; - cursor: default; -} -.dhx_page_light div { - background-color: white; - width: 16px; - height: 17px; - vertical-align: middle; -} -div.dhx_page_active_light { - font-weight: bold; - background-color: #D1DFE3; - cursor: default; - color: white; -} -.calcTable { - width: 100px; - background-color: silver; - border: 1px black solid; -} -.calcButton { - height: 20px; - cursor: pointer; - text-align: center; - background-color: gray; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid silver; - border-right: 1px solid silver; -} -.calcPressed { - height: 20px; - cursor: pointer; - text-align: center; - background-color: gray; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid black; - border-right: 1px solid black; -} -.calcInput { - background-color: white; - font-size: 10px; - font-weight: bold; - font-family: tahoma, arial; -} -.calkSubmit { - padding: 2px; - cursor: pointer; - text-align: center; - background-color: silver; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid white; - border-right: 1px solid white; -} -.dhxgrid_sort_desc, -.dhxgrid_sort_asc { - width: 9px; - height: 8px; - background-image: url("../imgs/dhxgrid_terrace/sort_desc.gif"); - background-repeat: no-repeat; - z-index: 10; -} -.dhxgrid_sort_asc { - background-image: url("../imgs/dhxgrid_terrace/sort_asc.gif"); - background-repeat: no-repeat; -} -.dhxgrid_rh_dhx_terrace { - position: absolute; - top: -20px; - left: -33px; - width: 32px; - height: 10px; - margin: 0px; - padding: 0px; - border-width: 0px; - font-size: 1px; - overflow: hidden; -} -.dhxgrid_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 30px; - height: 10px; - overflow: hidden; -} -div.gridbox_dhx_terrace.gridbox table.obj.row20px tr td img { - display: block; -} -div.gridbox_dhx_terrace.gridbox table.obj.row20px tr td.group_row img, -div.gridbox_dhx_terrace.gridbox table.obj.row20px tr td .treegrid_cell img { - display: inline; -} -.dhx_grid_icon { - text-align: center; - color: #777; - font-size: 18px; -} -.dhx_treegrid_icon { - text-align: center; - color: #777; - font-size: 16px; - margin-right: 4px; - position: relative; - top: 1px; -} -.grid_cell_dyn { - position: relative; - padding-right: 2px; - width: 100%; - overflow: hidden; - white-space: nowrap; -} -.grid_cell_dyn img { - position: absolute; - top: 0px; - left: 0px; - height: 15px; -} -.grid_cell_dyn span { - padding-left: 20px; - width: 100%; -} -.grid_collapse_icon { - margin-top: -2px; -} -.dhx_row_drag_active { - background: #eee !important; -} diff --git a/themes/sources/dhtmlxGrid/codebase/skins/dhtmlxgrid_dhx_web.css b/themes/sources/dhtmlxGrid/codebase/skins/dhtmlxgrid_dhx_web.css deleted file mode 100644 index 0358ec9..0000000 --- a/themes/sources/dhtmlxGrid/codebase/skins/dhtmlxgrid_dhx_web.css +++ /dev/null @@ -1,671 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: dhx_web - include extra file: skins/dhx_web.less -*/ - -div.gridbox { - overflow: hidden; - text-align: left; -} -.dhx_sub_row { - background-color: #ffffff; -} -div.gridbox .xhdr { - background-color: #D4D0C8; -} -div.gridbox table.obj { - height: 1px; -} -div.gridbox table.hdr td { - line-height: normal; - font-family: arial; - font-size: 12px; - background-color: #D4D0C8; - border: 1px solid; - border-color: #ffffff Gray Gray #ffffff; - text-align: center; - margin: 0px; - padding: 5px 0px 5px 0px; - font-weight: normal; - overflow: hidden; - empty-cells: show; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -div.gridbox table.hdr td div.hdrcell { - overflow: hidden; -} -div.gridbox table.obj td { - overflow: hidden; - padding-top: 0px; - padding-bottom: 0px; - empty-cells: show; - white-space: normal; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -div.gridbox table.obj th, -div.gridbox table.hdr th { - padding: 0px; - margin: 0px; -} -div.gridbox table.row20px tr td { - height: 20px; - white-space: nowrap; - padding: 0px; -} -div.gridbox .objbox { - background-color: #ffffff; - position: relative; - -webkit-overflow-scrolling: touch; -} -div.gridbox table.obj td span.space, -div.gridbox table.obj td img.space { - width: 18px; -} -div.gridbox table.obj td.editable { - -webkit-user-select: text; - -khtml-user-select: text; - -moz-user-select: text; - -ms-user-select: text; - -o-user-select: text; - user-select: text; -} -div.gridbox table.obj td.group_row { - vertical-align: middle; - font-family: Tahoma, Helvetica; - font-size: 12px; - color: #000000; - font-weight: bold; - height: 30px; - border: 0px; - border-bottom: 2px solid navy; -} -.dragSpanDiv { - font-family: Tahoma, Helvetica; - font-size: 12px; - color: #000000; - border: 1px gray solid; - background-color: white; - z-index: 999; -} -.dhx_combo_select { - font-family: Tahoma, Helvetica; - font-size: 12px; - color: #000000; - border: 1px solid; - border-color: black silver silver black; - background-color: #ffffff; - overflow: auto; - cursor: default; - position: absolute; - height: auto; - z-index: 600; -} -.dhx_combo_edit { - width: 100%; - border: 0px; - padding: 0px; - padding-right: 1px !ie; - margin: 0px; - font-family: Tahoma, Helvetica; - font-size: 12px; - color: #000000; - overflow: hidden; -} -.dhx_textarea { - border: 1px solid; - border-color: black silver silver black; - position: absolute; - height: 100px; - z-index: 600; -} -.dhx_clist { - background-color: white; - border: 1px solid black; - padding: 2px 2px 2px 2px; - z-index: 300; -} -.gridDragLine { - position: absolute; - top: 10px; - left: 0px; - width: 100%; - height: 2px; - background-color: black; - overflow: hidden; - pointer-events: none; -} -div.pagingBlock { - font-family: Tahoma, Helvetica; - font-size: 12px; - color: #000000; -} -div.pagingBlock .pagingCurrentPage { - font-weight: bold; - cursor: default; -} -div.pagingBlock .pagingPage { - cursor: pointer; - text-decoration: underline; -} -span.recordsInfoBlock { - font-family: Tahoma, Helvetica; - font-size: 12px; - color: #000000; -} -div.pagingBlock a { - text-decoration: none; - padding-right: 2px; - color: black; - cursor: pointer; -} -div.pagingBlock a.dhx_not_active { - text-decoration: none; - cursor: default; -} -.toolbar_select { - font-size: 10px; -} -.dhtmlxGrid_selection { - opacity: 0.5; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50); - background-color: yellow; - border: 1px dotted black; -} -div.gridbox div.ftr { - position: absolute; - left: 0px; - bottom: 1px; - width: 100%; - overflow: hidden; -} -div.gridbox div.ftr td { - padding: 0px; - padding-left: 10px; - padding-right: 5px; - border-top: 1px solid gray; - border-right: 1px solid gray; - background-color: #ffffcc; - font-style: italic; - font-family: Tahoma, Helvetica; - font-size: 12px; - color: #000000; - overflow: hidden; -} -div.gridbox table.hdr td.columnTargetR div.hdrcell { - border-right: 3px double #FF6600; - border-left: 3px solid #D4D0C8; -} -div.gridbox table.hdr td.columnTargetL div.hdrcell { - border-right: 3px solid #D4D0C8; - border-left: 3px double #FF6600; -} -.dhx_dragColDiv { - font-family: Tahoma, Helvetica; - font-size: 12px; - color: #000000; - background-color: #D4D0C8; - border: 1px solid; - border-color: white Gray Gray white; - text-align: center; - margin: 0px; - padding: 5px 20px 5px 20px; - font-weight: normal; - opacity: 0.75; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=75); - z-index: 100; -} -.dhtmlx_live_validation_error { - background-color: #FFE0E0 !important; -} -.dhtmlx_validation_error { - border-bottom: 2px solid red !important; -} -.dhx_header_cmenu { - background-color: #ffffff; - border: 2px outset silver; - z-index: 2; -} -.dhx_header_cmenu_item { - white-space: nowrap; -} -div.gridbox td.filter input, -div.gridbox td.filter select { - width: 90%; - font-family: Tahoma, Helvetica; - font-size: 12px; - color: #000000; - -webkit-user-select: text; - -khtml-user-select: text; - -moz-user-select: text; - -ms-user-select: text; - -o-user-select: text; - user-select: text; -} -div.gridbox .filter input::-ms-clear { - display: none; -} -div.gridbox_dhx_web.gridbox .xhdr { - background-color: #f4f4f4; - border-bottom: 2px solid #53abe6; -} -div.gridbox_dhx_web.gridbox table.hdr tr { - background-color: #f4f4f4; -} -div.gridbox_dhx_web.grid table.obj { - font-family: Tahoma, Helvetica; - font-size: 12px; - color: #000000; -} -div.gridbox_dhx_web.gridbox table.obj tr td { - border-bottom: 1px solid #ededed; - border-right: 1px solid #ededed; - padding-right: 4px; - padding-left: 4px; -} -div.gridbox_dhx_web.gridbox table.hdr td div.hdrcell { - width: auto; - padding-left: 10px; - width: 100% !ie; -} -div.gridbox_dhx_web.gridbox table.hdr td { - border-width: 0px 1px 0px 0px; - border-top: 1px solid #dbdbdb; - border-right-color: #dbdbdb; - padding: 7px 0px 8px 0px; - background-color: #f4f4f4; - font-family: Tahoma, Helvetica; - font-size: 12px; - color: #000000; - vertical-align: top; - text-align: left; - position: relative; -} -div.gridbox_dhx_web.gridbox table.hdr tr:nth-child(2) td { - border-top: 1px solid #f4f4f4; -} -div.gridbox_dhx_web.gridbox { - border: 1px solid #c7c7c7; -} -div.gridbox_dhx_web.gridbox table.obj tr td, -.dhx_grid_adjust { - padding-top: 3px; - padding-bottom: 4px; - font-family: Tahoma, Helvetica; - font-size: 12px; - color: #000000; -} -div.gridbox_dhx_web.gridbox table.obj.row20px tr td { - padding-top: 0px; - padding-bottom: 0px; - height: 29px; - line-height: 29px; - border-bottom: 1px solid #ededed; - border-right: 1px solid #ededed; -} -div.gridbox_dhx_web.gridbox table.obj.row20px tr td:last-child { - border-right: 1px solid #ffffff; -} -div.gridbox_dhx_web.gridbox table.obj tr td.editable { - padding: 0px; -} -div.gridbox_dhx_web.gridbox table.obj tr td.editable div.treegrid_cell { - padding: 1px 4px; -} -div.gridbox_dhx_web.gridbox table.obj tr.rowselected { - background-color: #85d3ff; - color: #000000; -} -div.gridbox_dhx_web.gridbox table.obj tr.rowselected td { - background-color: #85d3ff; - color: #000000; -} -div.gridbox_dhx_web.gridbox table.obj.row20px tr.rowselected td { - background-color: #85d3ff; - border-right-color: #85d3ff; - color: #000000; -} -div.gridbox_dhx_web.gridbox table.obj tr td.cellselected { - background-color: #85d3ff; - color: #000000; -} -div.gridbox_dhx_web.gridbox .odd_dhx_web { - background-color: #f9f9f9; - color: #000000; -} -.dhx_combo_select, -.gridbox_dhx_web.gridbox .dhx_combo_edit, -.gridbox_dhx_web.gridbox .dhx_textarea { - font-family: Tahoma, Helvetica; - font-size: 12px; - color: #000000; -} -.gridbox_dhx_web.gridbox .dhx_combo_edit { - padding: 1px 0px 0px 1px; -} -.gridbox_dhx_web.gridbox .dhx_sub_row { - background-color: transparent; -} -.dhx_header_cmenu { - background-color: #ffffff; - border: 2px outset silver; - z-index: 2; -} -.dhx_header_cmenu_item { - white-space: nowrap; -} -.dhx_pbox { - margin-top: 3px; - border: 1px solid #D4D0C8; - border-top: 0px; - font-size: 10px; -} -.dhx_pline { - background-color: white; - margin: -15px 10px 10px 10px; - padding: 0px 5px 0px 5px; - float: left; -} -.dhx_page, -.dhx_pager_info { - margin: 3px; - text-align: center; - font-family: Tahoma, Helvetica; - font-size: 12px; - color: #000000; - float: left; - cursor: pointer; - color: black; - background-color: gray; - padding: 1px; -} -.dhx_pager_info { - white-space: nowrap; - background-color: white; - margin: -8px 10px 10px 10px; - padding: 0px 5px 0px 5px; - cursor: default; -} -.dhx_page div { - background-color: white; - width: 16px; - height: 17px; - vertical-align: middle; -} -div.dhx_page_active { - font-weight: bold; - background-color: lightgrey; - cursor: default; - color: white; -} -.dhx_pbox_modern { - margin-top: 3px; - border: 1px solid #D6D6D6; - border-top: 0px; - font-size: 10px; -} -.dhx_pline_modern { - background-color: white; - margin: -15px 10px 10px 10px; - padding: 0px 5px 0px 5px; - float: left; -} -.dhx_page_modern, -.dhx_pager_info_modern { - margin: 3px; - text-align: center; - font-family: Tahoma, Helvetica; - font-size: 12px; - color: #000000; - float: left; - cursor: pointer; - color: #055A78; - background-color: #D6D6D6; - padding: 1px; -} -.dhx_pager_info_modern { - white-space: nowrap; - background-color: white; - margin: -8px 10px 10px 10px; - padding: 0px 5px 0px 5px; - cursor: default; -} -.dhx_page_modern div { - background-color: white; - width: 16px; - height: 17px; - vertical-align: middle; -} -div.dhx_page_active_modern { - font-weight: bold; - background-color: #055A78; - cursor: default; - color: white; -} -.dhx_pbox_light { - margin-top: 3px; - border: 1px solid #C2D5DC; - border-top: 0px; - font-size: 10px; -} -.dhx_pline_light { - background-color: white; - margin: -15px 10px 10px 10px; - padding: 0px 5px 0px 5px; - float: left; -} -.dhx_page_light, -.dhx_pager_info_light { - margin: 3px; - text-align: center; - font-family: Tahoma, Helvetica; - font-size: 12px; - color: #000000; - float: left; - cursor: pointer; - color: #055A78; - background-color: #93AFBA; - padding: 1px; -} -.dhx_pager_info_light { - white-space: nowrap; - background-color: white; - margin: -8px 10px 10px 10px; - padding: 0px 5px 0px 5px; - cursor: default; -} -.dhx_page_light div { - background-color: white; - width: 16px; - height: 17px; - vertical-align: middle; -} -div.dhx_page_active_light { - font-weight: bold; - background-color: #D1DFE3; - cursor: default; - color: white; -} -.calcTable { - width: 100px; - background-color: silver; - border: 1px black solid; -} -.calcButton { - height: 20px; - cursor: pointer; - text-align: center; - background-color: gray; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid silver; - border-right: 1px solid silver; -} -.calcPressed { - height: 20px; - cursor: pointer; - text-align: center; - background-color: gray; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid black; - border-right: 1px solid black; -} -.calcInput { - background-color: white; - font-size: 10px; - font-weight: bold; - font-family: tahoma, arial; -} -.calkSubmit { - padding: 2px; - cursor: pointer; - text-align: center; - background-color: silver; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid white; - border-right: 1px solid white; -} -.calcTable { - width: 100px; - background-color: silver; - border: 1px black solid; -} -.calcButton { - height: 20px; - cursor: pointer; - text-align: center; - background-color: gray; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid silver; - border-right: 1px solid silver; -} -.calcPressed { - height: 20px; - cursor: pointer; - text-align: center; - background-color: gray; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid black; - border-right: 1px solid black; -} -.calcInput { - background-color: white; - font-size: 10px; - font-weight: bold; - font-family: tahoma, arial; -} -.calkSubmit { - padding: 2px; - cursor: pointer; - text-align: center; - background-color: silver; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid white; - border-right: 1px solid white; -} -.dhxgrid_sort_desc, -.dhxgrid_sort_asc { - width: 9px; - height: 8px; - background-image: url("../imgs/dhxgrid_web/sort_desc.gif"); - background-repeat: no-repeat; - z-index: 10; -} -.dhxgrid_sort_asc { - background-image: url("../imgs/dhxgrid_web/sort_asc.gif"); - background-repeat: no-repeat; -} -.dhxgrid_rh_dhx_web { - position: absolute; - top: -20px; - left: -30px; - width: 26px; - height: 10px; - margin: 0px; - padding: 0px; - border-width: 0px; - font-size: 1px; - overflow: hidden; -} -.dhxgrid_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 20px; - height: 10px; - overflow: hidden; -} -div.gridbox_dhx_web.gridbox table.obj.row20px tr td img { - display: block; -} -div.gridbox_dhx_web.gridbox table.obj.row20px tr td.group_row img, -div.gridbox_dhx_web.gridbox table.obj.row20px tr td .treegrid_cell img { - display: inline; -} -.dhx_grid_icon { - text-align: center; - color: #777; - font-size: 18px; -} -.dhx_treegrid_icon { - text-align: center; - color: #777; - font-size: 16px; - margin-right: 4px; - position: relative; - top: 1px; -} -.grid_cell_dyn { - position: relative; - padding-right: 2px; - width: 100%; - overflow: hidden; - white-space: nowrap; -} -.grid_cell_dyn img { - position: absolute; - top: 0px; - left: 0px; - height: 15px; -} -.grid_cell_dyn span { - padding-left: 20px; - width: 100%; -} -.grid_collapse_icon { - margin-top: -2px; -} -.dhx_row_drag_active { - background: #eee !important; -} diff --git a/themes/sources/dhtmlxGrid/codebase/skins/dhtmlxgrid_material.css b/themes/sources/dhtmlxGrid/codebase/skins/dhtmlxgrid_material.css deleted file mode 100644 index ca40ba3..0000000 --- a/themes/sources/dhtmlxGrid/codebase/skins/dhtmlxgrid_material.css +++ /dev/null @@ -1,715 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: material - include extra file: skins/material.less -*/ - -@keyframes dhx_loader_rotate { - 100% { - transform: rotate(360deg); - } -} -@keyframes dhx_loader_dash { - 0% { - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - } - 50% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -35px; - } - 100% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -124px; - } -} -div.gridbox { - overflow: hidden; - text-align: left; -} -.dhx_sub_row { - background-color: white; -} -div.gridbox .xhdr { - background-color: #D4D0C8; -} -div.gridbox table.obj { - height: 1px; -} -div.gridbox table.hdr td { - line-height: normal; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: red; - background-color: #D4D0C8; - border: px solid; - border-color: white; - text-align: center; - margin: 0px; - padding: 5px 0px 5px 0px; - font-weight: normal; - overflow: hidden; - empty-cells: show; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -div.gridbox table.obj td { - overflow: hidden; - padding-top: 0px; - padding-bottom: 0px; - empty-cells: show; - white-space: normal; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -div.gridbox table.obj th, -div.gridbox table.hdr th { - padding: 0px; - margin: 0px; -} -div.gridbox table.row20px tr td { - height: 20px; - white-space: nowrap; - padding: 0px; -} -div.gridbox .objbox { - background-color: white; - position: relative; - -webkit-overflow-scrolling: touch; -} -div.gridbox table.obj td span.space, -div.gridbox table.obj td img.space { - width: 18px; -} -div.gridbox table.obj td.editable { - -webkit-user-select: text; - -khtml-user-select: text; - -moz-user-select: text; - -ms-user-select: text; - -o-user-select: text; - user-select: text; -} -div.gridbox table.obj td.group_row { - vertical-align: middle; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; - font-weight: bold; - height: 30px; - border: 0px; - border-bottom: 2px solid navy; -} -.dragSpanDiv { - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; - border: 1px gray solid; - background-color: white; - z-index: 999; -} -.dhx_combo_select { - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; - border: 1px solid; - border-color: black silver silver black; - background-color: white; - overflow: auto; - cursor: default; - position: absolute; - height: auto; - z-index: 600; -} -.dhx_combo_edit { - width: 100%; - border: 0px; - padding: 0px; - padding-right: 1px !ie; - margin: 0px; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; - overflow: hidden; - display: block; -} -table.obj.row20px .dhx_combo_edit { - line-height: 28px; -} -.dhx_textarea { - border: 1px solid; - border-color: black silver silver black; - position: absolute; - height: 100px; - z-index: 600; -} -.dhx_clist { - background-color: white; - border: 1px solid black; - padding: 2px 2px 2px 2px; - z-index: 300; -} -.gridDragLine { - position: absolute; - top: 10px; - left: 0px; - width: 100%; - height: 2px; - background-color: black; - overflow: hidden; - pointer-events: none; -} -div.pagingBlock { - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -div.pagingBlock .pagingCurrentPage { - font-weight: bold; - cursor: default; -} -div.pagingBlock .pagingPage { - cursor: pointer; - text-decoration: underline; -} -span.recordsInfoBlock { - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -div.pagingBlock a { - text-decoration: none; - padding-right: 2px; - color: black; - cursor: pointer; -} -div.pagingBlock a.dhx_not_active { - text-decoration: none; - cursor: default; -} -.toolbar_select { - font-size: 10px; -} -.dhtmlxGrid_selection { - opacity: 0.5; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50); - background-color: yellow; - border: 1px dotted black; -} -div.gridbox div.ftr { - position: absolute; - left: 0px; - bottom: 1px; - width: 100%; - overflow: hidden; -} -div.gridbox div.ftr td { - padding: 5px 5px 5px 10px; - border-top: 1px solid gray; - border-right: 1px solid white; - background-color: white; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; - overflow: hidden; -} -div.gridbox table.hdr td.columnTargetR div.hdrcell { - border-right: 3px double #FF6600; - border-left: 3px solid #D4D0C8; -} -div.gridbox table.hdr td.columnTargetL div.hdrcell { - border-right: 3px solid #D4D0C8; - border-left: 3px double #FF6600; -} -.dhx_dragColDiv { - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; - background-color: #D4D0C8; - border: 1px solid; - border-color: white Gray Gray white; - text-align: center; - margin: 0px; - padding: 5px 20px 5px 20px; - font-weight: normal; - opacity: 0.75; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=75); - z-index: 100; -} -.dhtmlx_live_validation_error { - background-color: #FFE0E0 !important; -} -.dhtmlx_validation_error { - border-bottom: 2px solid red !important; -} -.dhx_header_cmenu { - background-color: #ffffff; - border: 2px outset silver; - z-index: 2; -} -.dhx_header_cmenu_item { - white-space: nowrap; -} -div.gridbox .filter input, -div.gridbox .filter select { - width: 100%; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; - -webkit-user-select: text; - -khtml-user-select: text; - -moz-user-select: text; - -ms-user-select: text; - -o-user-select: text; - user-select: text; - padding: 2px; - box-sizing: border-box; -} -div.gridbox .filter input::-ms-clear { - display: none; -} -div.gridbox_material.gridbox .xhdr { - background-color: white; - border-bottom: 1px solid #dfdfdf; -} -div.gridbox_material.gridbox table.hdr tr { - background-color: white; -} -div.gridbox_material.grid table.obj { - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -div.gridbox_material.gridbox table.obj tr td { - border-bottom: 1px solid #ffffff; - border-right: 1px solid #ffffff; - padding-right: 4px; - padding-left: 4px; - overflow: hidden; -} -div.gridbox_material.gridbox table.hdr td div.hdrcell { - overflow: hidden; - width: auto; - padding-left: 4px; - width: 100% !ie; -} -div.gridbox_material.gridbox table.hdr td { - border-width: 0px 1px 0px 0px; - border: 1px solid white; - overflow: hidden; - empty-cells: show; - white-space: normal; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - padding: 9px 0px 8px 0px; - background-color: white; - font-size: 12px; - font-family: Roboto, Arial, Helvetica; - color: #9f9f9f; - font-weight: 500; - vertical-align: top; - text-align: left; - position: relative; -} -div.gridbox_material.gridbox table.hdr tr:nth-child(2) td { - border-top: 1px solid white; -} -div.gridbox_material.gridbox { - border: 1px solid #dfdfdf; -} -div.gridbox_material.gridbox table.obj tr td, -.dhx_grid_adjust { - padding-top: 3px; - padding-bottom: 4px; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -div.gridbox_material.gridbox table.obj.row20px tr td { - padding-top: 0px; - padding-bottom: 0px; - height: 32px; - line-height: 32px; - border-bottom: 1px solid #dfdfdf; - border-right: 1px solid white; -} -div.gridbox_material.gridbox table.obj.row20px tr td:last-child { - border-right: 1px solid white; -} -div.gridbox_material.gridbox table.obj tr td.editable .dhx_combo_edit { - margin-left: -3px; -} -div.gridbox_material.gridbox table.obj tr td.editable .dhxcombo_in_grid_parent { - margin-left: -3px !important; -} -div.gridbox_material.gridbox table.obj tr td.editable:first-child { - border: 0px solid white !important; - padding-left: 4px !important; -} -div.gridbox_material.gridbox table.obj tr td.editable div.treegrid_cell { - padding: 1px 4px; -} -div.gridbox_material.gridbox table.obj tr.rowselected { - background-color: #eeeeee; - color: #404040; -} -div.gridbox_material.gridbox table.obj tr.rowselected td { - background-color: #eeeeee; - color: #404040; -} -div.gridbox_material.gridbox table.obj tr td:first-child { - padding-left: 10px; -} -div.gridbox_material.gridbox table.obj tr.rowselected td:first-child { - border-left: 2px solid #3399cc; - padding-left: 8px; -} -div.gridbox_material.gridbox table.obj.row20px tr.rowselected td { - background-color: #eeeeee; - border-right-color: #eeeeee; - color: #404040; -} -div.gridbox_material.gridbox table.obj tr td.cellselected { - background-color: #eeeeee; - color: #404040; -} -div.gridbox_material.gridbox .odd_material { - background-color: #ffffff; - color: #404040; -} -.dhx_combo_select, -.gridbox_material.gridbox .dhx_combo_edit, -.gridbox_material.gridbox .dhx_textarea { - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -.gridbox_material.gridbox .dhx_combo_edit { - padding: 1px 0px 0px 4px; -} -.gridbox_material.gridbox .dhx_sub_row { - background-color: transparent; -} -.dhx_header_cmenu { - background-color: #ffffff; - border: 2px outset silver; - z-index: 2; -} -.dhx_header_cmenu_item { - white-space: nowrap; -} -.dhx_pbox { - margin-top: 3px; - border: 1px solid #D4D0C8; - border-top: 0px; - font-size: 10px; -} -.dhx_pline { - background-color: white; - margin: -15px 10px 10px 10px; - padding: 0px 5px 0px 5px; - float: left; -} -.dhx_page, -.dhx_pager_info { - margin: 3px; - text-align: center; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; - float: left; - cursor: pointer; - color: black; - background-color: gray; - padding: 1px; -} -.dhx_pager_info { - white-space: nowrap; - background-color: white; - margin: -8px 10px 10px 10px; - padding: 0px 5px 0px 5px; - cursor: default; -} -.dhx_page div { - background-color: white; - width: 16px; - height: 17px; - vertical-align: middle; -} -div.dhx_page_active { - font-weight: bold; - background-color: lightgrey; - cursor: default; - color: white; -} -.dhx_pbox_modern { - margin-top: 3px; - border: 1px solid #D6D6D6; - border-top: 0px; - font-size: 10px; -} -.dhx_pline_modern { - background-color: white; - margin: -15px 10px 10px 10px; - padding: 0px 5px 0px 5px; - float: left; -} -.dhx_page_modern, -.dhx_pager_info_modern { - margin: 3px; - text-align: center; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; - float: left; - cursor: pointer; - color: #055A78; - background-color: #D6D6D6; - padding: 1px; -} -.dhx_pager_info_modern { - white-space: nowrap; - background-color: white; - margin: -8px 10px 10px 10px; - padding: 0px 5px 0px 5px; - cursor: default; -} -.dhx_page_modern div { - background-color: white; - width: 16px; - height: 17px; - vertical-align: middle; -} -div.dhx_page_active_modern { - font-weight: bold; - background-color: #055A78; - cursor: default; - color: white; -} -.dhx_pbox_light { - margin-top: 3px; - border: 1px solid #C2D5DC; - border-top: 0px; - font-size: 10px; -} -.dhx_pline_light { - background-color: white; - margin: -15px 10px 10px 10px; - padding: 0px 5px 0px 5px; - float: left; -} -.dhx_page_light, -.dhx_pager_info_light { - margin: 3px; - text-align: center; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; - float: left; - cursor: pointer; - color: #055A78; - background-color: #93AFBA; - padding: 1px; -} -.dhx_pager_info_light { - white-space: nowrap; - background-color: white; - margin: -8px 10px 10px 10px; - padding: 0px 5px 0px 5px; - cursor: default; -} -.dhx_page_light div { - background-color: white; - width: 16px; - height: 17px; - vertical-align: middle; -} -div.dhx_page_active_light { - font-weight: bold; - background-color: #D1DFE3; - cursor: default; - color: white; -} -.calcTable { - width: 100px; - background-color: silver; - border: 1px black solid; -} -.calcButton { - height: 20px; - cursor: pointer; - text-align: center; - background-color: gray; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid silver; - border-right: 1px solid silver; -} -.calcPressed { - height: 20px; - cursor: pointer; - text-align: center; - background-color: gray; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid black; - border-right: 1px solid black; -} -.calcInput { - background-color: white; - font-size: 10px; - font-weight: bold; - font-family: Roboto, Arial, Helvetica; -} -.calkSubmit { - padding: 2px; - cursor: pointer; - text-align: center; - background-color: silver; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid white; - border-right: 1px solid white; -} -.calcTable { - width: 100px; - background-color: silver; - border: 1px black solid; -} -.calcButton { - height: 20px; - cursor: pointer; - text-align: center; - background-color: gray; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid silver; - border-right: 1px solid silver; -} -.calcPressed { - height: 20px; - cursor: pointer; - text-align: center; - background-color: gray; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid black; - border-right: 1px solid black; -} -.calcInput { - background-color: white; - font-size: 10px; - font-weight: bold; - font-family: Roboto, Arial, Helvetica; -} -.calkSubmit { - padding: 2px; - cursor: pointer; - text-align: center; - background-color: silver; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid white; - border-right: 1px solid white; -} -.dhxgrid_sort_desc, -.dhxgrid_sort_asc { - width: 0px; - height: 0px; -} -div.gridbox_material.gridbox table.hdr td.dhxgrid_sort_desc_col, -div.gridbox_material.gridbox table.hdr td.dhxgrid_sort_asc_col { - background-image: url("../imgs/dhxgrid_material/sort_desc.gif"); - background-position: 3px 7px; - background-repeat: no-repeat; -} -div.gridbox_material.gridbox table.hdr td.dhxgrid_sort_desc_col div, -div.gridbox_material.gridbox table.hdr td.dhxgrid_sort_asc_col div { - padding-left: 18px; - padding-right: 14px; -} -div.gridbox_material.gridbox table.hdr td.dhxgrid_sort_asc_col { - background-image: url("../imgs/dhxgrid_material/sort_asc.gif"); -} -.dhxgrid_rh_material { - position: absolute; - top: -20px; - left: -33px; - width: 29px; - height: 10px; - margin: 0px; - padding: 0px; - border-width: 0px; - font-size: 1px; - overflow: hidden; -} -.dhxgrid_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 40px; - height: 10px; - overflow: hidden; -} -div.gridbox_material.gridbox table.obj.row20px tr td img { - display: block; -} -div.gridbox_material.gridbox table.obj.row20px tr td.group_row img, -div.gridbox_material.gridbox table.obj.row20px tr td .treegrid_cell img { - display: inline; -} -.grid_cell_dyn { - position: relative; - padding-right: 2px; - width: 100%; - overflow: hidden; - white-space: nowrap; -} -.grid_cell_dyn img { - position: absolute; - top: 7px; - left: 0px; - height: 15px; -} -.grid_cell_dyn span { - padding-left: 20px; - width: 100%; -} -.grid_collapse_icon { - margin-top: 1px; -} -.treegrid_cell > i { - padding-right: 5px; - padding-left: 3px; - font-size: 16px; -} -.dhx_row_drag_active { - background: #eee !important; -} diff --git a/themes/sources/dhtmlxLayout/codebase/dhtmlxlayout.js b/themes/sources/dhtmlxLayout/codebase/dhtmlxlayout.js deleted file mode 100644 index d8919f1..0000000 --- a/themes/sources/dhtmlxLayout/codebase/dhtmlxlayout.js +++ /dev/null @@ -1,1830 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -function dhtmlXLayoutObject(base, pattern, skin) { - - // console.log("resize over iframe"); - - var autoload = null; - if (base != null && typeof(base) == "object" && typeof(base.tagName) == "undefined" && base._isCell != true) { - // api-init - autoload = {}; - if (base.autosize != null) autoload.autosize = base.autosize; - if (base.cells != null) autoload.cells = base.cells; - if (base.pattern != null) pattern = base.pattern; - if (base.skin != null) skin = base.skin; - if (base.offsets != null) autoload.offsets = base.offsets; - base = base.parent; - } - - this.cdata = {}; - this.conf = { - skin: (skin||window.dhx4.skin||(typeof(dhtmlx)!="undefined"?dhtmlx.skin:null)||window.dhx4.skinDetect("dhxlayout")||"material"), - css: "dhxlayout", // css prefix for topcell mtb - hh: 20, // header height collapsed, add auto-detect? - autosize: "b", // cell which will sized when parent size changed - nextCell: {a:"b",b:"a"}, - inited: false, - b_size: {w:-1,h:-1} // base size for onResize - }; - - if (this.conf.skin == "material") { - this.conf.hh = window.dhx4.readFromCss("dhxlayout_base_material dhxlayout_collapsed_height"); - } - - // attach layout - if (typeof(base) == "object" && base._isCell == true) { - - var conf = (typeof(autoload) != "undefined" && autoload != null ? autoload : {}); - if (conf.pattern == null && pattern != null) conf.pattern = pattern; - if (conf.skin == null && skin != null) conf.skin = skin; - - var layout = base.attachLayout(conf); - return layout; - - } - - // init top container - window.dhtmlXCellTop.apply(this, [base, (autoload==null?null:autoload.offsets)]); - - // separator width/height - this.conf.sw = this._detectSW(); - - var that = this; - - this._getLayout = function() { - return this; - } - - this.mainInst = (base._layoutMainInst != null ? base._layoutMainInst : null); - - this._getMainInst = function() { - if (this.mainInst != null) return this.mainInst._getMainInst(); - return this; - } - - this._init = function(pattern) { - - var t = (typeof(pattern) == "string" ? this.tplData[pattern] : pattern ); - - this.conf.mode = t.mode; - - if (this.conf.mode == "c") { - this.cdata.a = new dhtmlXLayoutCell("a", this); - } else { - this.cdata.a = new dhtmlXLayoutCell("a", this); - this.cdata.b = new dhtmlXLayoutCell("b", this); - } - - for (var a in this.cdata) { - this.cont.appendChild(this.cdata[a].cell); - this.cdata[a].conf.init = { w: 0.5, h: 0.5 }; - } - - if (this.conf.mode != "c") { - - var mainInst = this._getMainInst(); - if (mainInst.conf.sep_idx == null) mainInst.conf.sep_idx = 1; else mainInst.conf.sep_idx++; - - this.sep = new dhtmlXLayoutSepObject(this.conf.mode, mainInst.conf.sep_idx); - this.cont.appendChild(this.sep.sep); - - this.sep._getLayout = function() { - return that._getLayout(); - } - - mainInst = null; - } - - if (t.cells != null) { - for (var a in t.cells) { - if (t.cells[a].width != null) this.cdata[a].conf.init.w = t.cells[a].width; - if (t.cells[a].height != null) this.cdata[a].conf.init.h = t.cells[a].height; - if (t.cells[a].name != null) { - this.cdata[a].conf.name = t.cells[a].name; - this.cdata[a].setText(t.cells[a].name); - } - // fixed size conf - if (t.cells[a].fsize != null) this.cdata[a].conf.fsize = t.cells[a].fsize; - } - } - - this.setSizes(); - - for (var a in this.cdata) this.cdata[a].conf.init = {}; - - if (t.cells != null) { - for (var a in t.cells) { - if (t.cells[a].layout != null) { - this.cdata[a].dataNested = true; - this.cdata[a]._layoutMainInst = this; - this.cdata[a].cell.className += " dhx_cell_nested_layout"; - this.cdata[a].attachLayout({pattern:t.cells[a].layout}); - this.cdata[a]._layoutMainInst = null; - } - } - } - - } - - this.setSizes = function(parentIdd, autosize, noCalcCont, actionType) { - - // noCalcCont = skip inner content adjusting, for autoexpand - - var rEv = (this.conf.inited==true && this._getMainInst()==this && this.checkEvent("onResizeFinish")==true ? {}:false); // resize event - - // celltop - this._adjustCont(); - - var w = this.cont.offsetWidth; // baseW - var h = this.cont.offsetHeight; // baseH - - if (this.conf.mode == "c") { - - var ax = 0; - var ay = 0; - var aw = w; - var ah = h; - - this.cdata.a._setSize(ax, ay, aw, ah, parentIdd, noCalcCont, actionType); - - this.callEvent("_onSetSizes", []); - - if (rEv && (!(this.conf.b_size.w == w && this.conf.b_size.h == h))) { - this._callMainEvent("onResizeFinish", []); - } - - this.conf.b_size = {w: w, h: h}; - - return; - } - - if (typeof(autosize) == "undefined") { - - var k = (this.conf.mode=="v"?"w":"h"); - - autosize = this.conf.autosize; - - if (this.cdata.a.conf.collapsed) { - autosize = "b"; - } else if (this.cdata.b.conf.collapsed) { - autosize = "a"; - } else if (parentIdd == "a" || parentIdd == "b") { - autosize = this.conf.nextCell[parentIdd]; - } - - } else { - //debugger - } - - - if (this.conf.mode == "v") { - - if (autosize == "a") { // fix "b", fit "a" - - if (this.cdata.b.conf.init.w != null) { - var bw = Math.round(w*this.cdata.b.conf.init.w-this.conf.sw/2); - } else { - var bw = this.cdata.b.conf.size.w; - } - var bx = w-bw; - var by = 0; - var bh = h; - - var ax = 0; - var ay = by; - var aw = bx-ax-this.conf.sw; - var ah = bh; - - } else { // fix "a", fit "b" - - var ax = 0; - var ay = 0; - - // check if init stage - if (this.cdata.a.conf.init.w != null) { - var aw = Math.round(w*this.cdata.a.conf.init.w-this.conf.sw/2)-ax; - } else { - var aw = this.cdata.a.conf.size.w; - } - - var ah = h-ay; - - var bx = ax+aw+this.conf.sw; - var by = ay; - var bw = w-bx; - var bh = ah; - - } - - this.cdata.a._setSize(ax, ay, aw, ah, parentIdd, noCalcCont, actionType); - this.cdata.b._setSize(bx, by, bw, bh, parentIdd, noCalcCont, actionType); - - this.sep._setSize(ax+aw, ay, this.conf.sw, ah); - - } else { - - if (autosize == "a") { // fix "b", fit "a" - - if (this.cdata.b.conf.init.h != null) { - var bh = Math.round(h*this.cdata.b.conf.init.h-this.conf.sw/2); - } else { - var bh = this.cdata.b.conf.size.h; - } - var bx = 0; - var by = h-bh; - var bw = w-bx; - - var ax = bx; - var ay = 0; - var aw = bw; - var ah = by-ay-this.conf.sw; - - } else { // fix "a", fit "b" - - var ax = 0; - var ay = 0; - var aw = w-ax; - - // check if init stage - if (this.cdata.a.conf.init.h != null) { - var ah = Math.round(h*this.cdata.a.conf.init.h-this.conf.sw/2); - } else { - var ah = this.cdata.a.conf.size.h; - } - - var bx = ax; - var by = ay+ah+this.conf.sw; - var bw = aw; - var bh = h-by; - - } - - this.cdata.a._setSize(ax, ay, aw, ah, parentIdd, noCalcCont, actionType); - this.cdata.b._setSize(bx, by, bw, bh, parentIdd, noCalcCont, actionType); - - this.sep._setSize(ax, ay+ah, aw, this.conf.sw); - - } - - this.callEvent("_onSetSizes", []); - - // public event for main instance - if (rEv && (!(this.conf.b_size.w == w && this.conf.b_size.h == h))) { - this._callMainEvent("onResizeFinish", []); - } - - this.conf.b_size = {w: w, h: h}; - - } - - this._getAvailWidth = function() { - - // logic: - // 1) take width of all not-collapsed cells marked as "autosize" - // 2) if cell collapsed - try next cell - // 3) get min alaiv width - // 4) base.ofsW - minW -> allowed min - - var w = []; - - for (var q=0; q0?Math.min.apply(window, w):0); - return this.cont.offsetWidth-r; - - } - - this._getAvailHeight = function() { - - var h = []; - - for (var q=0; q= 0 && navigator.userAgent.indexOf("Trident") >= 0) { - this.conf.btn_left = 1; - } - - this.sep = document.createElement("DIV"); - this.sep.className = "dhxlayout_sep"; - - /* - // dev, show sep index - this.sep.innerHTML = ""+idx+""; - this.sep.style.overflow = "visible"; - */ - - if (window.dhx4.isIE == true) { - this.sep.onselectstart = function(){return false;}; - } - - this.sep.className = "dhxlayout_sep dhxlayout_sep_resize_"+this.conf.mode; - - this._setSize = function(x, y, w, h) { - this.sep.style.left = x+"px"; - this.sep.style.top = y+"px"; - this.sep.style.width = Math.max(w,0)+"px"; - this.sep.style.height = Math.max(h,0)+"px"; - } - - this._lockSep = function(mode) { // by fix cell size - this.conf.locked = (mode==true); - this._blockSep(); - } - - this._setWH = function(size) { // change default separator size - var layout = this._getLayout(); - layout.conf.sw = (size == null ? layout._detectSW() : Math.max(parseInt(size)||-1, -1)); - layout._getMainInst().setSizes(); - layout = null; - } - - this._blockSep = function() { // by expand/collapse - var k = this._getLayout(); - var state = k.cdata.a.conf.collapsed||k.cdata.b.conf.collapsed||this.conf.locked; - k = null; - if (this.conf.blocked == state) return; - this.sep.className = "dhxlayout_sep"+(state?"":" dhxlayout_sep_resize_"+this.conf.mode); - this.conf.blocked = state; - } - - this._beforeResize = function(e) { - - if (this.conf.blocked) return; - - if (this.conf.resize != null && this.conf.resize.active == true) return; - - if (e.type == window.dhx4.dnd.evs.start) { - this.sep.className += " dhxlayout_sep_resize_actv"; - var sx = (e.pageX||e.touches[0].pageX); - var sy = (e.pageY||e.touches[0].pageY); - } else { - if (e.button !== this.conf.btn_left) return; - var sx = e.clientX; - var sy = e.clientY; - } - - if (window.dhx4.dnd.p_en == true) window.dhx4.dnd._touchOff(); - - var k = this._getLayout(); - - // resize init point - - this.conf.resize = { - sx: sx, - sy: sy, - tx: e.layerX, - ty: e.layerY, - sep_x: parseInt(this.sep.style.left), - sep_y: parseInt(this.sep.style.top), - min_wa: k.cdata.a._getAvailWidth("a"), - min_wb: k.cdata.b._getAvailWidth("b"), - min_ha: k.cdata.a._getAvailHeight("a"), - min_hb: k.cdata.b._getAvailHeight("b") - } - - this.conf.resize.nx = this.conf.resize.sep_x; - this.conf.resize.ny = this.conf.resize.sep_y; - - if (typeof(window.addEventListener) == "function") { - window.addEventListener("mousemove", this._doOnMouseMove, false); - window.addEventListener("mouseup", this._doOnMouseUp, false); - window.addEventListener(window.dhx4.dnd.evs.move, this._doOnMouseMove, false); - window.addEventListener(window.dhx4.dnd.evs.end, this._doOnMouseUp, false); - } else { - document.body.attachEvent("onmousemove", this._doOnMouseMove); - document.body.attachEvent("onmouseup", this._doOnMouseUp); - } - - k = null; - - } - - this._onResize = function(e) { - - if (!this.conf.resize.active) { - this._initResizeArea(); - this.conf.resize.active = true; - } - - if (this.conf.mode == "v") { - - var x = (e.type == "mousemove" ? e.clientX : (e.pageX||e.touches[0].pageX)); - var ofs = this.conf.resize.sx-x; - this.conf.resize.nx = this.conf.resize.sep_x-ofs; - - if (this.conf.resize.nx > this.conf.resize.sep_x+this.conf.resize.min_wb) { - this.conf.resize.nx = this.conf.resize.sep_x+this.conf.resize.min_wb; - } else if (this.conf.resize.nx < this.conf.resize.sep_x-this.conf.resize.min_wa) { - this.conf.resize.nx = this.conf.resize.sep_x-this.conf.resize.min_wa; - } - - this.r_sep.style.left = this.conf.resize.nx+"px"; - - } else { - - var y = (e.type == "mousemove" ? e.clientY : (e.pageY||e.touches[0].pageY)); - var ofs = this.conf.resize.sy-y; - this.conf.resize.ny = this.conf.resize.sep_y-ofs; - - if (this.conf.resize.ny > this.conf.resize.sep_y+this.conf.resize.min_hb) { - this.conf.resize.ny = this.conf.resize.sep_y+this.conf.resize.min_hb; - } else if (this.conf.resize.ny < this.conf.resize.sep_y-this.conf.resize.min_ha) { - this.conf.resize.ny = this.conf.resize.sep_y-this.conf.resize.min_ha; - } - - this.r_sep.style.top = this.conf.resize.ny+"px"; - } - - } - - this._afterResize = function(e) { - - if (typeof(window.addEventListener) == "function") { - window.removeEventListener("mousemove", this._doOnMouseMove, false); - window.removeEventListener("mouseup", this._doOnMouseUp, false); - window.removeEventListener(window.dhx4.dnd.evs.move, this._doOnMouseMove, false); - window.removeEventListener(window.dhx4.dnd.evs.end, this._doOnMouseUp, false); - } else { - document.body.detachEvent("onmousemove", this._doOnMouseMove); - document.body.detachEvent("onmouseup", this._doOnMouseUp); - } - - if (!this.conf.resize.active) { - this.conf.resize = null; - return; - } - - if (e.type == window.dhx4.dnd.evs.end) { - this.sep.className = this.sep.className.replace(/\s{0,}dhxlayout_sep_resize_actv/gi,""); - } else { - if (e.button !== this.conf.btn_left) return; - } - - var k = this._getLayout(); - - var mainInst = k._getMainInst(); - var rCells = (mainInst.checkEvent("onPanelResizeFinish")==true?{}:false); - - if (rCells !== false) { - mainInst.forEachItem(function(cell){ - rCells[cell.conf.name] = {w: cell.conf.size.w, h: cell.conf.size.h}; - cell = null; - }); - } - - var ofs_x = this.conf.resize.nx-this.conf.resize.sep_x; - var ofs_y = this.conf.resize.ny-this.conf.resize.sep_y; - - k.cdata.a._setSize(k.cdata.a.conf.size.x, k.cdata.a.conf.size.y, k.cdata.a.conf.size.w+ofs_x, k.cdata.a.conf.size.h+ofs_y, "a"); - k.cdata.b._setSize(k.cdata.b.conf.size.x+ofs_x, k.cdata.b.conf.size.y+ofs_y, k.cdata.b.conf.size.w-ofs_x, k.cdata.b.conf.size.h-ofs_y, "b"); - - this._setSize(parseInt(this.r_sep.style.left), parseInt(this.r_sep.style.top), parseInt(this.r_sep.style.width), parseInt(this.r_sep.style.height)); - - if (window.dhx4.isIE) { - // w/o timeout cursor not changed to normal state in IE - var p0 = this; - window.setTimeout(function(){p0._removeResizeArea();p0=null;},1); - } else { - this._removeResizeArea(); - } - - - if (rCells !== false) { - var p = []; - mainInst.forEachItem(function(cell){ - var t = rCells[cell.conf.name]; - if (!(t.w == cell.conf.size.w && t.h == cell.conf.size.h)) p.push(cell.conf.name); - cell = null; - }); - mainInst._callMainEvent("onPanelResizeFinish", [p]); - } - - mainInst = k = null; - - this.conf.resize.active = false; - this.conf.resize = null; - - if (window.dhx4.dnd.p_en == true) window.dhx4.dnd._touchOn(); - } - - this._initResizeArea = function() { - - if (this.r_sep == null) { - - this.r_sep = document.createElement("DIV"); - this.r_sep.className = "dhxlayout_resize_sep"; - this.r_sep.style.left = this.sep.style.left; - this.r_sep.style.top = this.sep.style.top; - this.r_sep.style.width = this.sep.style.width; - this.r_sep.style.height = this.sep.style.height; - this.sep.parentNode.appendChild(this.r_sep); - - if (window.dhx4.isIE) this.r_sep.onselectstart = function(){return false;}; - - } - - if (this.r_area == null) { - - this.r_area = document.createElement("DIV"); - this.r_area.className = "dhxlayout_resize_area"; - this.sep.parentNode.appendChild(this.r_area); - - if (window.dhx4.isIE) this.r_area.onselectstart = function(){return false;}; - - if (this.conf.mode == "v") { - var x = parseInt(this.r_sep.style.left)-this.conf.resize.min_wa; - var y = parseInt(this.r_sep.style.top); - var w = this.conf.resize.min_wa+this.conf.resize.min_wb+parseInt(this.r_sep.style.width); - var h = parseInt(this.r_sep.style.height); - } else { - var x = parseInt(this.r_sep.style.left); - var y = parseInt(this.r_sep.style.top)-this.conf.resize.min_ha; - var w = parseInt(this.r_sep.style.width); - var h = this.conf.resize.min_ha+this.conf.resize.min_hb+parseInt(this.r_sep.style.height); - } - - this.r_area.style.left = x+"px"; - this.r_area.style.top = y+"px"; - - if (!dhtmlXLayoutObject.prototype._confGlob.reszieCover) { - dhtmlXLayoutObject.prototype._confGlob.reszieCover = {}; - this.r_area.style.width = w+"px"; - this.r_area.style.height = h+"px"; - dhtmlXLayoutObject.prototype._confGlob.reszieCover.w = parseInt(this.r_area.style.width)-this.r_area.offsetWidth; - dhtmlXLayoutObject.prototype._confGlob.reszieCover.h = parseInt(this.r_area.style.height)-this.r_area.offsetHeight; - } - - this.r_area.style.width = w+dhtmlXLayoutObject.prototype._confGlob.reszieCover.w+"px"; - this.r_area.style.height = h+dhtmlXLayoutObject.prototype._confGlob.reszieCover.h+"px"; - } - - document.body.className += " dhxlayout_resize_"+this.conf.mode; - } - - this._removeResizeArea = function() { - - this.r_sep.onselectstart = null; - this.r_sep.parentNode.removeChild(this.r_sep); - this.r_sep = null; - - this.r_area.onselectstart = null; - this.r_area.parentNode.removeChild(this.r_area); - this.r_area = null; - - document.body.className = String(document.body.className).replace(/\s{0,}dhxlayout_resize_[vh]/gi,""); - - } - - this._doOnMouseDown = function(e) { - e = e||event; - if (e.preventDefault) e.preventDefault(); else e.cancelBubble = true; - that._beforeResize(e); - } - - this._doOnBodyMouseDown = function(e) { - e = e||event; - if (that.conf.resize == null) return; - if (that.conf.resize.active == true && e.button !== that.conf.btn_left) { - if (e.preventDefault) e.preventDefault(); - e.returnValue = false; - e.cancelBubble = true; - return false; - } - } - - this._doOnMouseMove = function(e) { - e = e||event; - if (e.preventDefault) e.preventDefault(); else e.cancelBubble = true; - that._onResize(e); - } - - this._doOnMouseUp = function(e) { - e = e||event; - if (e.type == "mouseup" && e.button !== that.conf.btn_left) return; - that._afterResize(e); - } - - if (typeof(window.addEventListener) == "function") { - this.sep.addEventListener("mousedown", this._doOnMouseDown, false); - this.sep.addEventListener(window.dhx4.dnd.evs.start, this._doOnMouseDown, false); - document.body.addEventListener("mousedown", this._doOnBodyMouseDown, false); - document.body.addEventListener("contextmenu", this._doOnBodyMouseDown, false); - } else { - this.sep.attachEvent("onmousedown", this._doOnMouseDown); - document.body.attachEvent("onmousedown", this._doOnBodyMouseDown); - document.body.attachEvent("oncontextmenu", this._doOnBodyMouseDown); - } - - this._unload = function() { - - if (typeof(window.addEventListener) == "function") { - this.sep.removeEventListener("mousedown", this._doOnMouseDown, false); - this.sep.removeEventListener(window.dhx4.dnd.evs.start, this._doOnMouseDown, false); - document.body.removeEventListener("mousedown", this._doOnBodyMouseDown, false); - document.body.removeEventListener("contextmenu", this._doOnBodyMouseDown, false); - } else { - this.sep.detachEvent("onmousedown", this._doOnMouseDown); - document.body.detachEvent("onmousedown", this._doOnBodyMouseDown); - document.body.detachEvent("oncontextmenu", this._doOnBodyMouseDown); - } - - if (window.dhx4.isIE == true) { - this.sep.onselectstart = null; - } - - this.sep.parentNode.removeChild(this.sep); - this.sep = null; - - for (var a in this) this[a] = null; - - that = null; - } - - return this; - -}; - -dhtmlXLayoutObject.prototype.setSeparatorSize = function(index, size) { - if (typeof(index) == "number") { - var s = this.setSeparatorSize({index: index, current: -1}, size); - if (s.sep != null) s.sep._setWH(size); - return; - } - // seq: a->sep->b - for (var a in this.cdata) { - if (this.cdata[a].dataType == "layout" && this.cdata[a].dataNested == true && this.cdata[a].dataObj != null) { - index = this.cdata[a].dataObj.setSeparatorSize(index, size); - if (index.sep != null) return index; - } - if (a == "a" && this.sep != null) { - index.current++; - if (index.index == index.current) return {sep: this.sep}; - } - } - return index; -}; - -window.dhtmlXLayoutCell = function(id, layout) { - - dhtmlXCellObject.apply(this, [id, "_layout"]); - - var that = this; - this.layout = layout; - - this.conf.skin = this.layout.conf.skin; - this.conf.mode = this.layout.conf.mode; - this.conf.collapsed = false; - this.conf.fixed = {w: false, h: false}; // fix size - this.conf.docked = true; - - if (this.conf.skin == "material") { - this.conf.min_width = 42; - this.conf.min_height = 26; - } else { - this.conf.min_width = 26; - this.conf.min_height = 26; - } - - this.attachEvent("_onCellUnload", function(){ - this.cell.childNodes[this.conf.idx.hdr].ondblclick = null; // header dblclick - if (this.conf.mode != "c") this.cell.childNodes[this.conf.idx.hdr].lastChild.onclick = null; // arrow onclick - this._unloadDocking(); - this.layout = null; - that = null; - }); - - // init header - this._hdrInit(); - this.cell.childNodes[this.conf.idx.hdr].ondblclick = function(){ - var mainInst = that.layout._getMainInst(); - mainInst._callMainEvent("onDblClick", [that.conf.name]); - mainInst = null; - }; - - // onContentLoaded - this.attachEvent("_onContentLoaded", function() { - var mainInst = this.layout._getMainInst(); - mainInst._callMainEvent("onContentLoaded", [this.conf.name]); - mainInst = null; - }); - - // init expand/collapse - if (this.conf.mode != "c") { - var t = document.createElement("DIV"); - t.title = this.i18n.expand; - t.className = "dhxlayout_arrow dhxlayout_arrow_"+this.conf.mode+this._idd; - this.cell.childNodes[this.conf.idx.hdr].appendChild(t); - t.onclick = function(e) { - if (that.conf.collapsed) that.expand(); else that.collapse(); - } - t = null; - } - - this.attachEvent("_onBeforeContentAttach", function(dataType) { - if (dataType == "tabbar" || dataType == "layout" || dataType == "acc") { - this._hideBorders(); - } - if (dataType == "sidebar" && this.conf.skin != "dhx_skyblue" && this.conf.skin != "dhx_terrace") { - this._hideBorders(); - this.showHeader(); - } - }); - - this._initDocking(); - - return this; - -}; - -dhtmlXLayoutCell.prototype = new dhtmlXCellObject(); -dhtmlXLayoutCell.prototype.i18n = { expand : "Expand / Collapse" }; - -dhtmlXLayoutCell.prototype.getId = function() { - return this.conf.name; -}; - -dhtmlXLayoutCell.prototype._initDocking = function() { - - var that = this; - - this.dock = function() { - - var mainInst = this.layout._getMainInst(); - - if (mainInst.dhxWins == null || this.conf.docked) { - mainInst = null; - return; - } - - var w1 = mainInst.dhxWins.window(this.conf.name); - w1.close(); - - // move content - this._attachFromCell(w1); - - this.conf.docked = true; - if (!this.conf.dock_collapsed) this.expand(); - - mainInst._callMainEvent("onDock",[this.conf.name]); - - mainInst = w1 = null; - - }; - - this.undock = function(x, y, w, h) { - - var mainInst = this.layout._getMainInst(); - - if (mainInst.dhxWins == null || this.conf.docked == false) { - mainInst = null; - return; - } - - this.conf.dock_collapsed = this.conf.collapsed; - if (!this.conf.collapsed) this.collapse(); - - if (mainInst.dhxWins.window(this.conf.name) != null) { - var w1 = mainInst.dhxWins.window(this.conf.name); - w1.show(); - } else { - if (x == null) x = 20; - if (y == null) y = 20; - if (w == null) w = 320; - if (h == null) h = 200; - - var w1 = mainInst.dhxWins.createWindow(this.conf.name, x, y, w, h); - w1.button("close").hide(); - - // dock button - w1.addUserButton("dock", 99, "Dock"); - w1.button("dock").show(); - w1.button("dock").attachEvent("onClick", this._doOnDockClick); - - // text update only first time - w1.setText(this.getText()); - - // closeing - w1.attachEvent("onClose", this._doOnDockWinClose); - } - this.conf.docked = false; - - // move content - w1._attachFromCell(this); - - mainInst._callMainEvent("onUnDock",[this.conf.name]); - - mainInst = w1 = null; - - } - - this._doOnDockClick = function() { - that.dock(); - } - this._doOnDockWinClose = function(win) { - win.hide(); - return false; - } - - this._unloadDocking = function() { - that = null; - } -}; - -dhtmlXLayoutCell.prototype._hdrInit = function() { - - var cssExt = ""; - if (window.dhx4.isIE) { - if (navigator.userAgent.indexOf("MSIE 9.0") != -1) { - cssExt = " dhx_cell_hdr_text_ie9"; - } else if (window.dhx4.isIE8) { - cssExt = " dhx_cell_hdr_text_ie8"; - } else if (window.dhx4.isIE7) { - cssExt = " dhx_cell_hdr_text_ie7"; - } else if (window.dhx4.isIE6) { - cssExt = " dhx_cell_hdr_text_ie6"; - } - } else if (window.dhx4.isChrome || window.dhx4.isKHTML) { - cssExt = " dhx_cell_hdr_text_chrome"; - } - - var t = document.createElement("DIV"); - t.className = "dhx_cell_hdr"; - t.innerHTML = "
                    "; - this.cell.insertBefore(t, this.cell.childNodes[this.conf.idx.cont]); - t = null; - - // include into content top offset calculation - this.conf.ofs_nodes.t._getHdrHeight = "func"; - - // show/hide - this.conf.hdr = {visible: true}; - - // include into index - this.conf.idx_data.hdr = "dhx_cell_hdr"; - this._updateIdx(); - - // fit header when cell changed - this.attachEvent("_onSetSize", this._hdrOnSetSize); - this.attachEvent("_onBorderChange", this._hdrOnBorderChange); - - // keep visibility state of header if view changed - this.attachEvent("_onViewSave", this._hdrOnViewSave); - this.attachEvent("_onViewRestore", this._hdrOnViewRestore); - -}; - -dhtmlXLayoutCell.prototype.showHeader = function(noCalcCont) { - - if (this.conf.hdr.visible || this.conf.collapsed) return; - - if (this.conf.hdr.w_saved > this._getAvailWidth() || this.conf.hdr.h_saved > this._getAvailHeight()) { - // console.log("no space to show header"); - return; - } - - this.conf.hdr.w_saved = this.conf.hdr.h_saved = null; - - this.conf.hdr.visible = true; - this.cell.childNodes[this.conf.idx.hdr].className = "dhx_cell_hdr"; - - if (noCalcCont !== true) this._adjustCont(this._idd); -}; - -dhtmlXLayoutCell.prototype.hideHeader = function(noCalcCont) { - - if (!this.conf.hdr.visible || this.conf.collapsed) return; - - this.conf.hdr.w_saved = this._getMinWidth(this._idd); - this.conf.hdr.h_saved = this._getMinHeight(this._idd); - - this.conf.hdr.visible = false; - this.cell.childNodes[this.conf.idx.hdr].className = "dhx_cell_hdr dhx_cell_hdr_hidden"; - this._hdrUpdBorder(); - this._mtbUpdBorder(); - - if (noCalcCont !== true) this._adjustCont(this._idd); -}; - -dhtmlXLayoutCell.prototype.isHeaderVisible = function() { - return (this.conf.hdr.visible==true); -}; - -// arrow -dhtmlXLayoutCell.prototype.showArrow = function() { - this.cell.childNodes[this.conf.idx.hdr].childNodes[1].style.display = ""; -}; - -dhtmlXLayoutCell.prototype.hideArrow = function() { - this.cell.childNodes[this.conf.idx.hdr].childNodes[1].style.display = "none"; -}; - -dhtmlXLayoutCell.prototype.isArrowVisible = function() { - return (this.cell.childNodes[this.conf.idx.hdr].childNodes[1].style.display == ""); -}; - -// text -dhtmlXLayoutCell.prototype.setText = function(text) { - this.conf.hdr.text = text; - this._hdrUpdText(); -}; - -dhtmlXLayoutCell.prototype.getText = function() { - return this.conf.hdr.text; -}; - -dhtmlXLayoutCell.prototype.setCollapsedText = function(text) { - this.conf.hdr.text_collapsed = text; - this._hdrUpdText(); -}; - -dhtmlXLayoutCell.prototype.getCollapsedText = function() { - return (this.conf.hdr.text_collapsed != null ? this.conf.hdr.text_collapsed : this.conf.hdr.text ); -}; - -dhtmlXLayoutCell.prototype._hdrUpdText = function() { - var text = (this.conf.collapsed == true && this.conf.hdr.text_collapsed != null ? this.conf.hdr.text_collapsed : this.conf.hdr.text); - this.cell.childNodes[this.conf.idx.hdr].firstChild.innerHTML = ""+text+""; -}; - -dhtmlXLayoutCell.prototype._hdrUpdBorder = function() { - if (this.conf.borders == true) { - this.cell.childNodes[this.conf.idx.hdr].className = "dhx_cell_hdr"+(this.conf.hdr.visible?"":" dhx_cell_hdr_hidden"); - } else { - if (!this.conf.hdr.visible) { - this.cell.childNodes[this.conf.idx.hdr].className = "dhx_cell_hdr dhx_cell_hdr_hidden_no_borders"; - } - } -}; - -dhtmlXLayoutCell.prototype._hdrOnSetSize = function() { - if (this.conf.collapsed && this.conf.mode == "v") this._fitHdr(); -}; -dhtmlXLayoutCell.prototype._hdrOnBorderChange = function() { - this.hideHeader(true); - this._hdrUpdBorder(); -}; -dhtmlXLayoutCell.prototype._hdrOnViewSave = function(name) { - this.views[name].hdr_vis = this.conf.hdr.visible; -}; -dhtmlXLayoutCell.prototype._hdrOnViewRestore = function(name){ - if (this.conf.hdr.visible != this.views[name].hdr_vis) { - this[this.views[name].hdr_vis?"showHeader":"hideHeader"](true); - } - this.views[name].hdr_vis = null; - delete this.views[name].hdr_vis; -}; -dhtmlXLayoutCell.prototype._getHdrHeight = function(incColl) { - - if (this.conf.collapsed && this.conf.mode == "v" && incColl !== true) { - // collapsed vertical cell, move to conf? - // offsetHeight returns full cell height, needed only for adjusting bottom border - return 27; - } - return this.cell.childNodes[this.conf.idx.hdr].offsetHeight; -}; - -dhtmlXLayoutCell.prototype._fitHdr = function() { - var h = this.cell.childNodes[this.conf.idx.hdr]; - if (this.conf.collapsed == true) { - if (typeof(dhtmlXLayoutObject.prototype._confGlob.hdrColH) == "undefined") { - h.style.height = this.cell.offsetHeight+"px"; - dhtmlXLayoutObject.prototype._confGlob.hdrColH = parseInt(h.style.height)-this._getHdrHeight(true); - } - var size = this.cell.offsetHeight+dhtmlXLayoutObject.prototype._confGlob.hdrColH; - h.style.height = size+"px"; - h.firstChild.style.width = size-39+"px"; - } else { - h.firstChild.style.width = h.style.height = null; - } - h = null; -}; - - -/* expand */ -dhtmlXLayoutCell.prototype.expand = function(autoExpand) { - - if (!this.conf.collapsed) return true; - - var k = this.layout; - - if (this.conf.mode == "v") { - - var w_nextCell = (autoExpand ? k.conf.hh : k.cdata[k.conf.nextCell[this._idd]]._getMinWidth(this._idd)); - var w_avl = k.cont.offsetWidth-k.conf.sw; - - if (w_nextCell + this.conf.size.w_avl > w_avl) { - k = null; - return false; - } - - } else { - - // if autoExpand - next cell coing to be collapsed, move value to conf? - // min heigth of next cell = min_height+hdr_height - - var h_nextCell = (autoExpand ? k.conf.hh : k.cdata[k.conf.nextCell[this._idd]]._getMinHeight(this._idd)+k.cdata[k.conf.nextCell[this._idd]]._getHdrHeight()); - var h_avl = k.cont.offsetHeight-k.conf.sw; // avail height for both cells = base_h-sep_h - - if (h_nextCell + this.conf.size.h_avl > h_avl) { - // new logic, menu/tb attached - k = null; - return false; - } - - } - - if (this.conf.docked == false) { - this.dock(); - return; - } - - // hide header if it was temporary restored while cell collapsed - if (this.conf.hdr.visible == false) { - this.cell.childNodes[this.conf.idx.hdr].className = "dhx_cell_hdr dhx_cell_hdr_hidden"; - this._hdrUpdBorder(); - } - - this.cell.className = String(this.cell.className).replace(/\s{0,}dhxlayout_collapsed_[hv]/gi, ""); - this.conf.collapsed = false; - - if (this.conf.mode == "v") { - this.conf.size.w = Math.min(w_avl-w_nextCell, this.conf.size.w_saved); - this.conf.size.w_saved = this.conf.size.w_avl = null; - } else { - this.conf.size.h = Math.min(h_avl-h_nextCell, this.conf.size.h_saved); - this.conf.size.h_saved = this.conf.size.h_avl = null; - } - - if (this.conf.mode == "v") this._fitHdr(); - - k.setSizes(k.conf.nextCell[this._idd], k.conf.nextCell[this._idd], autoExpand==true, "expand"); - k.sep._blockSep(); - - k = null; - - this._hdrUpdText(); - - var mainInst = this.layout._getMainInst(); - mainInst._callMainEvent("onExpand", [this.conf.name]); - mainInst = null; - - return true; -}; - -/* collapse */ -dhtmlXLayoutCell.prototype.collapse = function() { - - if (this.conf.collapsed) return false; - - var k = this.layout; - - if (k.cdata[k.conf.nextCell[this._idd]].expand(true) == false) return false; // no space to expand next cell if it collapsed - - if (this.conf.mode == "v") { - this.conf.size.w_saved = this.conf.size.w; - this.conf.size.w_avl = this._getMinWidth(this._idd); // save min width - } else { - this.conf.size.h_saved = this.conf.size.h; - this.conf.size.h_avl = this._getMinHeight(this._idd)+this._getHdrHeight(); // save min height - } - - // restore header temporary while cell collapsed - if (this.conf.hdr.visible == false) { - this.cell.childNodes[this.conf.idx.hdr].className = "dhx_cell_hdr"; - } - - this.cell.className += " dhxlayout_collapsed_"+this.conf.mode; - this.conf.collapsed = true; - - if (this.conf.mode == "v") { - this.conf.size.w = k.conf.hh; // move to conf? - } else { - this.conf.size.h = this._getHdrHeight(); - } - - k.setSizes(k.conf.nextCell[this._idd], k.conf.nextCell[this._idd], false, "collapse"); - k.sep._blockSep(); - - k = null; - - this._hdrUpdText(); - - var mainInst = this.layout._getMainInst(); - mainInst._callMainEvent("onCollapse", [this.conf.name]); - mainInst = null; - - return true; - -}; - -dhtmlXLayoutCell.prototype.isCollapsed = function() { - return (this.conf.collapsed==true); -}; - -// cell sizing -dhtmlXLayoutCell.prototype.setMinWidth = function(w) { // added in 4.1.3 - this.conf.min_width = parseInt(w)||0; -}; - -dhtmlXLayoutCell.prototype.setMinHeight = function(h) { // added in 4.1.3 - this.conf.min_height = parseInt(h)||0; -}; - -dhtmlXLayoutCell.prototype._getMinWidth = function(parentIdd) { - // min space should allow to collapse ? - if (this.dataType == "layout" && this.dataObj != null) { - - if (this.layout._getMainInst() != this.dataObj._getMainInst()) { - return this.dataObj._getAvailWidth(); - } - - if (this.dataObj.conf.pattern == "1C") { - return Math.max(this.conf.min_width, this.dataObj.cdata.a._getMinWidth(parentIdd)); - } else if (this.dataObj.conf.mode == "v") { - - var c1 = parentIdd||this._idd; // "views" fix for layout-in-layout - if (this.dataObj.cdata[c1].conf.collapsed) c1 = this.dataObj.conf.nextCell[c1]; - - return Math.max(this.conf.min_width, this.dataObj.cdata[c1]._getMinWidth(parentIdd)+this.dataObj.cdata[this.dataObj.conf.nextCell[c1]]._getWidth()+this.dataObj.conf.sw); // c1 min width + c2 full width + sw - - } else { - return Math.max(this.conf.min_width, this.dataObj.cdata.a._getMinWidth(parentIdd), this.dataObj.cdata.b._getMinWidth(parentIdd)); - } - - } - return Math.max(this.conf.min_width, 1); -}; - -dhtmlXLayoutCell.prototype._getMinHeight = function(parentIdd) { - - var h = 0; - if (this.conf.idx.menu != null) h += this.cell.childNodes[this.conf.idx.menu].offsetHeight; - - if (this.dataType == "layout" && this.dataObj != null) { - - if (this.layout._getMainInst() != this.dataObj._getMainInst()) { - return this.dataObj._getAvailHeight(); - } - - if (this.dataObj.conf.pattern == "1C") { - return Math.max(this.conf.min_height, this.dataObj.cdata.a._getMinHeight(parentIdd)); - } else if (this.dataObj.conf.mode == "h") { - - var c1 = parentIdd; - if (this.dataObj.cdata[c1].conf.collapsed) c1 = this.dataObj.conf.nextCell[c1]; - - return Math.max(this.conf.min_height, this.dataObj.cdata[c1]._getMinHeight(parentIdd)+this.dataObj.cdata[c1]._getHdrHeight()+this.dataObj.cdata[this.dataObj.conf.nextCell[c1]]._getHeight()+this.dataObj.conf.sw); // c1 min height + c1 hdr height + c2 full height + sw - - } else { - return Math.max(this.conf.min_height, this.dataObj.cdata.a._getMinHeight(parentIdd)+this.dataObj.cdata.a._getHdrHeight(), this.dataObj.cdata.b._getMinHeight(parentIdd)+this.dataObj.cdata.b._getHdrHeight()); - } - - } - - return Math.max(this.conf.min_height, h); -}; - -dhtmlXLayoutCell.prototype._getAvailWidth = function(parentIdd) { - - if (this.dataType == "layout" && this.dataObj != null) { - if (this.dataObj.conf.pattern == "1C") { - return this.dataObj.cdata.a._getAvailWidth(parentIdd); - } else if (this.dataObj.conf.mode == "v") { - var ac = (this.dataObj.cdata.a.conf.collapsed == true); - var bc = (this.dataObj.cdata.b.conf.collapsed == true); - - if (parentIdd == "a") { - return this.dataObj.cdata[bc?"a":"b"]._getAvailWidth(parentIdd); - } else { - return this.dataObj.cdata[ac?"b":"a"]._getAvailWidth(parentIdd); - } - } else { - return Math.min(this.dataObj.cdata.a._getAvailWidth(parentIdd), this.dataObj.cdata.b._getAvailWidth(parentIdd)); - } - - } - return this.cell.offsetWidth-this._getMinWidth(); -}; - -dhtmlXLayoutCell.prototype._getAvailHeight = function(parentIdd) { - - if (this.dataType == "layout" && this.dataObj != null) { - if (this.dataObj.conf.pattern == "1C") { - return this.dataObj.cdata.a._getAvailHeight(parentIdd); - } else if (this.dataObj.conf.mode == "h") { - - var ac = (this.dataObj.cdata.a.conf.collapsed == true); - var bc = (this.dataObj.cdata.b.conf.collapsed == true); - - if (parentIdd == "a") { - return this.dataObj.cdata[bc?"a":"b"]._getAvailHeight(parentIdd); - } else { - return this.dataObj.cdata[ac?"b":"a"]._getAvailHeight(parentIdd); - } - } else { - return Math.min(this.dataObj.cdata.a._getAvailHeight(parentIdd), this.dataObj.cdata.b._getAvailHeight(parentIdd)); - } - - } - - var hh = this._getHdrHeight(); - if (this.conf.mode == "v" && this.conf.collapsed) hh = this.conf.hh; // not include header if v-cell is collapsed - - return this.cell.offsetHeight-hh-this._getMinHeight(); -}; - -dhtmlXLayoutCell.prototype.setWidth = function(w) { - - if (this.conf.mode == "v") { - - if (this.conf.collapsed) return; - - var k = this.layout; - var nextCell = k.cdata[k.conf.nextCell[this._idd]]; - - if (nextCell.conf.collapsed) { - - // try to change parent cell - - w = w + k.conf.sw + nextCell._getWidth(); // increase width including nextCell and sw - - /* - var p = this.layout._getMainInst(); - if (p != this.layout) { - for (var a in p.cdata) if (p.cdata[a].dataObj == k) p.cdata[a].setWidth(w); - } - */ - - p = k = nextCell = null; - - return; - - } - - var minW = this._getMinWidth(this._idd); - var maxW = k.cont.offsetWidth-nextCell._getMinWidth(this._idd)-k.conf.sw; - w = Math.max(minW, Math.min(w, maxW)); - - this.conf.size.w = w; - - k.setSizes(nextCell._idd, nextCell._idd); - k = nextCell = null; - - } else { - // check parent's width - if (this.layout == null || this.layout.parentLayout == null) return; - - var p = this.layout.parentLayout; - - var k = this.layout; - var nextCell = k.cdata[k.conf.nextCell[this._idd]]; - - for (var a in p.cdata) if (p.cdata[a].dataObj == k) p.cdata[a].setWidth(w); - - p = k = null; - } - -}; - -dhtmlXLayoutCell.prototype.setHeight = function(h) { - - if (this.conf.mode == "h") { - - if (this.conf.collapsed) return; - - var k = this.layout; - var nextCell = k.cdata[k.conf.nextCell[this._idd]]; - - if (nextCell.conf.collapsed) { - - // try to change parent cell - - h = h + k.conf.sw + nextCell._getHeight(); // increase with including nextCell and sw, header=cell_height due it collapsed - - var p = (this.layout != null && this.layout.parentLayout != null ? this.layout.parentLayout : null); - if (p != null) { - for (var a in p.cdata) if (p.cdata[a].dataObj == k) p.cdata[a].setHeight(h); - } - - p = k = nextCell = null; - - return; - - } - - var minH = this._getMinHeight(this._idd)+this._getHdrHeight(); - var maxH = k.cont.offsetHeight-nextCell._getMinHeight(this._idd)-nextCell._getHdrHeight()-k.conf.sw; - h = Math.max(minH, Math.min(h, maxH)); - - this.conf.size.h = h; - - k.setSizes(nextCell._idd, nextCell._idd); - k = nextCell = null; - - } else { - // check parent's height - if (this.layout == null || this.layout.parentLayout == null) return; - - var p = this.layout.parentLayout; - - var k = this.layout; - var nextCell = k.cdata[k.conf.nextCell[this._idd]]; - - for (var a in p.cdata) if (p.cdata[a].dataObj == k) p.cdata[a].setHeight(h); - - p = k = null; - } - -}; - -dhtmlXLayoutCell.prototype.getWidth = function() { - return this.conf.size.w; -}; - -dhtmlXLayoutCell.prototype.getHeight = function() { - return this.conf.size.h; -}; - -dhtmlXLayoutCell.prototype.fixSize = function(w, h) { - - this.conf.fixed.w = window.dhx4.s2b(w); - this.conf.fixed.h = window.dhx4.s2b(h); - - var mainInst = this.layout._getMainInst(); - var s = {}; - - mainInst.forEachItem(function(cell){ - if (cell.conf.fsize != null) { - var id = cell.getId(); - var p = { - h: (cell.conf.fixed.w==true), - v: (cell.conf.fixed.h==true) - }; - for (var a in p) { - if (p[a] == true && cell.conf.fsize[a] != null) { - if (!(cell.conf.fsize[a] instanceof Array)) cell.conf.fsize[a] = [cell.conf.fsize[a]]; - for (var q=0; q this.items.length-1) return null; - var id = null; - this.forEachItem(function(cell){ - if (id == null && cell == this.items[index]) id = cell.conf.name; - }); - return id; -}; -dhtmlXLayoutObject.prototype.getIndexById = function(id) { - var cell = this.cells(id); - var index = -1; - for (var q=0; q
              '+'
              '; - - var tbl = document.createElement("TABLE"); - tbl.className = "dhtmlxMebu_SubLevelArea_Tbl"; - tbl.cellSpacing = 0; - tbl.cellPadding = 0; - tbl.border = 0; - var tbd = document.createElement("TBODY"); - tbl.appendChild(tbd); - - s.childNodes[1].appendChild(tbl); - - s.tbl = tbl; - s.tbd = tbd; - // polygon - this.idPull[s.id] = s; - if (this.sxDacProc != null) { - this.idPull["sxDac_" + parentId] = new this.sxDacProc(s, s.className); - if (window.dhx4.isIE) { - this.idPull["sxDac_" + parentId]._setSpeed(this.dacSpeedIE); - this.idPull["sxDac_" + parentId]._setCustomCycle(this.dacCyclesIE); - } else { - this.idPull["sxDac_" + parentId]._setSpeed(this.dacSpeed); - this.idPull["sxDac_" + parentId]._setCustomCycle(this.dacCycles); - } - } - return s; -}; - -dhtmlXMenuObject.prototype._renderSublevelItem = function(id, pos) { - var that = this; - - var tr = document.createElement("TR"); - tr.className = (this.itemPull[id]["state"]=="enabled"?"sub_item":"sub_item_dis"); - - // icon - var t1 = document.createElement("TD"); - t1.className = "sub_item_icon"; - var tp = this.itemPull[id]["type"]; - var icon = this.itemPull[id][(this.itemPull[id]["state"]=="enabled"?"imgen":"imgdis")]; - if (icon != "") { - if (tp=="checkbox"||tp=="radio") { - var img = document.createElement("DIV"); - img.id = "image_"+this.itemPull[id]["id"]; - img.className = "sub_icon "+icon; - t1.appendChild(img); - } - if (!(tp=="checkbox"||tp=="radio")) { - if (this.conf.icons_css == true) { - t1.innerHTML = ""; - } else { - var img = document.createElement("IMG"); - img.id = "image_"+this.itemPull[id]["id"]; - img.className = "sub_icon"; - img.src = this.conf.icons_path+icon; - t1.appendChild(img); - } - } - } else { - t1.innerHTML = " "; - } - - // text - var t2 = document.createElement("TD"); - t2.className = "sub_item_text"; - if (this.itemPull[id]["title"] != "") { - var t2t = document.createElement("DIV"); - t2t.className = "sub_item_text"; - t2t.innerHTML = this.itemPull[id]["title"]; - t2.appendChild(t2t); - } else { - t2.innerHTML = " "; - } - - // hotkey/sublevel arrow - var t3 = document.createElement("TD"); - t3.className = "sub_item_hk"; - if (this.itemPull[id]["complex"]) { - - var arw = document.createElement("DIV"); - arw.className = "complex_arrow"; - arw.id = "arrow_"+this.itemPull[id]["id"]; - t3.appendChild(arw); - - } else { - if (this.itemPull[id]["hotkey"].length > 0 && !this.itemPull[id]["complex"]) { - var t3t = document.createElement("DIV"); - t3t.className = "sub_item_hk"; - t3t.innerHTML = this.itemPull[id]["hotkey"]; - t3.appendChild(t3t); - } else { - t3.innerHTML = " "; - } - } - tr.appendChild(this.conf.rtl?t3:t1); - tr.appendChild(t2); - tr.appendChild(this.conf.rtl?t1:t3); - - - // - tr.id = this.itemPull[id]["id"]; - tr.parent = this.itemPull[id]["parent"]; - // tooltip, added in 0.4 - if (this.itemPull[id]["tip"].length > 0) tr.title = this.itemPull[id]["tip"]; - // - tr.onselectstart = function(e) { e = e || event; if (e.preventDefault) e.preventDefault(); else e.returnValue = false; return false; } - tr.onmouseover = function(e) { - if (that.conf.hide_tm[this.id]) window.clearTimeout(that.conf.hide_tm[this.id]); - if (that.conf.mode == "web") window.clearTimeout(that.conf.tm_handler); - if (!this._visible) that._redistribSubLevelSelection(this.id, this.parent); // if not visible - this._visible = true; - } - tr.onmouseout = function(ev) { - var rel = ev.relatedTarget; - if (rel && (rel.className === "sub_sep" || ( rel.firstChild && rel.firstChild.className === "sub_sep"))){ - this._visible = false; - return; - } - - if (that.conf.mode == "web") { - if (that.conf.tm_handler) window.clearTimeout(that.conf.tm_handler); - that.conf.tm_handler = window.setTimeout(function(){if(that&&that._clearAndHide)that._clearAndHide();}, that.conf.tm_sec, "JavaScript"); - } - var k = this; - if (that.conf.hide_tm[this.id]) window.clearTimeout(that.conf.hide_tm[this.id]); - that.conf.hide_tm[this.id] = window.setTimeout(function(){k._visible=false;}, 50); - } - tr.onclick = function(e) { - // added in 0.4, preven complex closing if user event not defined - if (!that.checkEvent("onClick") && that.itemPull[this.id]["complex"]) return; - // - e = e || event; e.cancelBubble = true; - if (e.preventDefault) e.preventDefault(); else e.returnValue = false; - tc = (that.itemPull[this.id]["complex"]?"c":"-"); - td = (that.itemPull[this.id]["state"]=="enabled"?"-":"d"); - var cas = {"ctrl": e.ctrlKey, "alt": e.altKey, "shift": e.shiftKey}; - switch (that.itemPull[this.id]["type"]) { - case "checkbox": - that._checkboxOnClickHandler(this.id.replace(that.idPrefix, ""), tc+td+"n", cas); - break; - case "radio": - that._radioOnClickHandler(this.id.replace(that.idPrefix, ""), tc+td+"n", cas); - break; - case "item": - that._doOnClick(this.id.replace(that.idPrefix, ""), tc+td+"n", cas); - break; - } - return false; - } - // add - var polygon = this.idPull["polygon_"+this.itemPull[id]["parent"]]; - if (pos != null) { pos++; if (pos < 0) pos = 0; if (pos > polygon.tbd.childNodes.length - 1) pos = null; } - if (pos != null && polygon.tbd.childNodes[pos] != null) polygon.tbd.insertBefore(tr, polygon.tbd.childNodes[pos]); else polygon.tbd.appendChild(tr); - this.idPull[tr.id] = tr; -}; - -dhtmlXMenuObject.prototype._renderSeparator = function(id, pos) { - var level = (this.conf.context?"SubLevelArea":(this.itemPull[id]["parent"]==this.idPrefix+this.topId?"TopLevel":"SubLevelArea")); - if (level == "TopLevel" && this.conf.context) return; - - var that = this; - - if (level != "TopLevel") { - var tr = document.createElement("TR"); - tr.className = "sub_sep"; - var td = document.createElement("TD"); - td.colSpan = "3"; - tr.appendChild(td); - } - - var k = document.createElement("DIV"); - k.id = "separator_"+id; - k.className = (level=="TopLevel"?"top_sep":"sub_sep"); - k.onselectstart = function(e) { e = e || event; if (e.preventDefault) e.preventDefault(); else e.returnValue = false; } - k.onclick = function(e) { - e = e || event; e.cancelBubble = true; - var cas = {"ctrl": e.ctrlKey, "alt": e.altKey, "shift": e.shiftKey}; - that._doOnClick(this.id.replace("separator_" + that.idPrefix, ""), "--s", cas); - } - if (level == "TopLevel") { - if (pos != null) { - pos++; if (pos < 0) { pos = 0; } - // if (this.base.childNodes[pos] != null) { this.base.insertBefore(k, this.base.childNodes[pos]); } else { this.base.appendChild(k); } - if (this.cont.childNodes[pos] != null) { this.cont.insertBefore(k, this.cont.childNodes[pos]); } else { this.cont.appendChild(k); } - } else { - // add as a last item - // var last = this.base.childNodes[this.base.childNodes.length-1]; - var last = this.cont.childNodes[this.cont.childNodes.length-1]; - // if (String(last).search("TopLevel_Text") == -1) { this.base.appendChild(k); } else { this.base.insertBefore(k, last); } - if (String(last).search("TopLevel_Text") == -1) { this.cont.appendChild(k); } else { this.cont.insertBefore(k, last); } - } - this.idPull[k.id] = k; - } else { - var polygon = this.idPull["polygon_"+this.itemPull[id]["parent"]]; - if (pos != null) { pos++; if (pos < 0) pos = 0; if (pos > polygon.tbd.childNodes.length - 1) pos = null; } - if (pos != null && polygon.tbd.childNodes[pos] != null) polygon.tbd.insertBefore(tr, polygon.tbd.childNodes[pos]); else polygon.tbd.appendChild(tr); - td.appendChild(k); - this.idPull[k.id] = tr; - } -}; - -dhtmlXMenuObject.prototype.addNewSeparator = function(nextToId, itemId) { - itemId = this.idPrefix+(itemId!=null?itemId:this._genStr(24)); - var parentId = this.idPrefix+this.getParentId(nextToId); - - this._addItemIntoGlobalStrorage(itemId, parentId, "", "separator", false, "", ""); - this._renderSeparator(itemId, this.getItemPosition(nextToId)); -}; - - -dhtmlXMenuObject.prototype._initObj = function(items, nested, parentId) { - - if (!(items instanceof Array)) { - parentId = items.parentId; - if (parentId != null && String(parentId).indexOf(this.idPrefix) !== 0) parentId = this.idPrefix+String(parentId); - items = items.items; - } - - for (var q=0; q 0) { - this.itemPull[items[q].id].complex = true; - this._initObj(items[q].items, true, items[q].id); - } else if (this.conf.dload && items[q].complex == true) { - this.itemPull[items[q].id].loaded = "no"; - } - this.itemPull[items[q].id].items = null; - - } - - if (nested !== true) { - if (this.conf.dload == true) { - if (parentId == null) { - this._initTopLevelMenu(); - } else { - this._addSubMenuPolygon(parentId, parentId); - if (this.conf.selected == parentId) { - var isTop = (this.itemPull[parentId].parent == this.idPrefix+this.topId); - var level = (isTop && !this.conf.context ? this.conf.dir_toplv:this.conf.dir_sublv); - var isShow = false; - if (isTop && this.conf.top_mode && this.conf.mode == "web" && !this.conf.context) { - var item = this.idPull[parentId]; - if (item._mouseOver == true) { - var delay = this.conf.top_tmtime - (new Date().getTime()-item._dynLoadTM); - if (delay > 1) { - var pId = parentId; - var that = this; - item._menuOpenTM = window.setTimeout(function(){ - that._showPolygon(pId, level); - that = pId = null; - }, delay); - isShow = true; - } - } - } - if (!isShow) this._showPolygon(parentId, level); - } - - this.itemPull[parentId].loaded = "yes"; - if (this.conf.dload_icon == true) this._updateLoaderIcon(parentId, false); - } - } else { - this._init(); - } - } - -}; - -dhtmlXMenuObject.prototype._xmlToJson = function(xml, parentId) { - - var items = []; - - if (parentId == null) { - var root = xml.getElementsByTagName(this.conf.tags.root); - if (root == null || (root != null && root.length == 0)) return {items:[]}; - root = root[0]; - } else { - root = xml; - } - - if (root.getAttribute("parentId") != null) { - parentId = this.idPrefix+root.getAttribute("parentId"); - } - - for (var q=0; q 0); - } - - // misc - for (var w=0; w= 0) return; - // get arrow - var ind = (this.conf.rtl?0:2); - if (!this.idPull[id].childNodes[ind]) return; - if (!this.idPull[id].childNodes[ind].childNodes[0]) return; - var aNode = this.idPull[id].childNodes[ind].childNodes[0]; - if (String(aNode.className).search("complex_arrow") === 0) aNode.className = "complex_arrow"+(state?"_loading":""); - -}; - - - -// add/remove -dhtmlXMenuObject.prototype.addNewSibling = function(nextToId, itemId, itemText, disabled, imgEnabled, imgDisabled) { - var id = this.idPrefix+(itemId!=null?itemId:this._genStr(24)); - var parentId = this.idPrefix+(nextToId!=null?this.getParentId(nextToId):this.topId); - - this._addItemIntoGlobalStrorage(id, parentId, itemText, "item", disabled, imgEnabled, imgDisabled); - if ((parentId == this.idPrefix+this.topId) && (!this.conf.context)) { - this._renderToplevelItem(id, this.getItemPosition(nextToId)); - } else { - this._renderSublevelItem(id, this.getItemPosition(nextToId)); - } -}; - -dhtmlXMenuObject.prototype.addNewChild = function(parentId, pos, itemId, itemText, disabled, imgEnabled, imgDisabled) { - if (parentId == null) { - if (this.conf.context) { - parentId = this.topId; - } else { - this.addNewSibling(parentId, itemId, itemText, disabled, imgEnabled, imgDisabled); - if (pos != null) this.setItemPosition(itemId, pos); - return; - } - } - itemId = this.idPrefix+(itemId!=null?itemId:this._genStr(24)); - // remove hotkey, added in 0.4 - if (this.setHotKey) this.setHotKey(parentId, ""); - // - parentId = this.idPrefix+parentId; - this._addItemIntoGlobalStrorage(itemId, parentId, itemText, "item", disabled, imgEnabled, imgDisabled); - if (this.idPull["polygon_"+parentId] == null) { this._renderSublevelPolygon(parentId, parentId); } - this._renderSublevelItem(itemId, pos-1); - - this._redefineComplexState(parentId); -}; - -dhtmlXMenuObject.prototype.removeItem = function(id, _isTId, _recCall) { - if (!_isTId) id = this.idPrefix + id; - - var pId = null; - - if (id != this.idPrefix+this.topId) { - - if (this.itemPull[id] == null) return; - - // effects - if (this.idPull["polygon_"+id] && this.idPull["polygon_"+id]._tmShow) window.clearTimeout(this.idPull["polygon_"+id]._tmShow); - - // separator top - var t = this.itemPull[id]["type"]; - - if (t == "separator") { - var item = this.idPull["separator_"+id]; - if (this.itemPull[id]["parent"] == this.idPrefix+this.topId) { - item.onclick = null; - item.onselectstart = null; - item.id = null; - item.parentNode.removeChild(item); - } else { - item.childNodes[0].childNodes[0].onclick = null; - item.childNodes[0].childNodes[0].onselectstart = null; - item.childNodes[0].childNodes[0].id = null; - item.childNodes[0].removeChild(item.childNodes[0].childNodes[0]); - item.removeChild(item.childNodes[0]); - item.parentNode.removeChild(item); - } - this.idPull["separator_"+id] = null; - this.itemPull[id] = null; - delete this.idPull["separator_"+id]; - delete this.itemPull[id]; - item = null; - } else { - // item checkbox radio - pId = this.itemPull[id]["parent"]; - var item = this.idPull[id]; - item.onclick = null; - item.oncontextmenu = null; - item.onmouseover = null; - item.onmouseout = null; - item.onselectstart = null; - item.id = null; - while (item.childNodes.length > 0) item.removeChild(item.childNodes[0]); - item.parentNode.removeChild(item); - this.idPull[id] = null; - this.itemPull[id] = null; - delete this.idPull[id]; - delete this.itemPull[id]; - item = null; - - } - t = null; - } - - // clear nested items - for (var a in this.itemPull) if (this.itemPull[a]["parent"] == id) this.removeItem(a, true, true); - - // check if empty polygon left - var p2 = new Array(id); - if (pId != null && !_recCall) { - if (this.idPull["polygon_"+pId] != null) { - if (this.idPull["polygon_"+pId].tbd.childNodes.length == 0) { - p2.push(pId); - this._updateItemComplexState(pId, false, false); - } - } - } - - // delete nested polygons and parent's if any - for (var q=0; q=0); // opacity was added in IE9 - - for (var a in this.idPull) { - if (a.search(/polygon/) === 0) { - this._pOpacityApply(a,(this._pOpStyleIE?100:1)); - this.idPull[a].style.height = ""; - } - - } - - // opacity max value - this._pOpMax = (typeof(maxOpacity)=="undefined"?100:maxOpacity)/(this._pOpStyleIE?1:100); - - // opacity css styles - this._pOpStyleName = (this._pOpStyleIE?"filter":"opacity"); - this._pOpStyleValue = (this._pOpStyleIE?"progid:DXImageTransform.Microsoft.Alpha(Opacity=#)":"#"); - - - // count of steps to open full polygon - this._pSlSteps = (this._pOpStyleIE?10:20); - - // timeout to open polygon - this._pSlTMTimeMax = effectSpeed||50; - -}; - -// extended show -dhtmlXMenuObject.prototype._showPolygonEffect = function(pId) { - this._pShowHide(pId, true); -}; - -// extended hide -dhtmlXMenuObject.prototype._hidePolygonEffect = function(pId) { - this._pShowHide(pId, false); -}; - -// apply opacity css -dhtmlXMenuObject.prototype._pOpacityApply = function(pId, val) { - this.idPull[pId].style[this._pOpStyleName] = String(this._pOpStyleValue).replace("#", val||this.idPull[pId]._op); -}; - -dhtmlXMenuObject.prototype._pShowHide = function(pId, mode) { - - if (!this.idPull) return; - - // check if mode in progress - if (this.idPull[pId]._tmShow != null) { - if ((this.idPull[pId]._step_h > 0 && mode == true) || (this.idPull[pId]._step_h < 0 && mode == false)) return; - window.clearTimeout(this.idPull[pId]._tmShow); - this.idPull[pId]._tmShow = null; - this.idPull[pId]._max_h = null; - } - - if (mode == false && (this.idPull[pId].style.visibility == "hidden" || this.idPull[pId].style.display == "none")) return; - - if (mode == true && this.idPull[pId].style.display == "none") { - this.idPull[pId].style.visibility = "hidden"; - this.idPull[pId].style.display = ""; - } - - // init values or show-hide revert - if (this.idPull[pId]._max_h == null) { - - this.idPull[pId]._max_h = parseInt(this.idPull[pId].offsetHeight); - this.idPull[pId]._h = (mode==true?0:this.idPull[pId]._max_h); - this.idPull[pId]._step_h = Math.round(this.idPull[pId]._max_h/this._pSlSteps)*(mode==true?1:-1); - if (this.idPull[pId]._step_h == 0) return; - this.idPull[pId]._step_tm = Math.round(this._pSlTMTimeMax/this._pSlSteps); - - if (this._menuEffect == "slide+" || this._menuEffect == "opacity") { - this.idPull[pId].op_tm = this.idPull[pId]._step_tm; - this.idPull[pId].op_step = (this._pOpMax/this._pSlSteps)*(mode==true?1:-1); - if (this._pOpStyleIE) this.idPull[pId].op_step = Math.round(this.idPull[pId].op_step); - this.idPull[pId]._op = (mode==true?0:this._pOpMax); - this._pOpacityApply(pId); - } else { - this.idPull[pId]._op = (this._pOpStyleIE?100:1); - this._pOpacityApply(pId); - } - - // show first time - if (this._menuEffect.search(/slide/) === 0) this.idPull[pId].style.height = "0px"; - this.idPull[pId].style.visibility = "visible"; - - } - - // run cycle - this._pEffectSet(pId, this.idPull[pId]._h+this.idPull[pId]._step_h); - -}; - -dhtmlXMenuObject.prototype._pEffectSet = function(pId, t) { - - if (!this.idPull) return; - - if (this.idPull[pId]._tmShow) window.clearTimeout(this.idPull[pId]._tmShow); - - // check and apply next step - this.idPull[pId]._h = Math.max(0,Math.min(t,this.idPull[pId]._max_h)); - if (this._menuEffect.search(/slide/) === 0) this.idPull[pId].style.height = this.idPull[pId]._h+"px"; - - t += this.idPull[pId]._step_h; - - if (this._menuEffect == "slide+" || this._menuEffect == "opacity") { - this.idPull[pId]._op = Math.max(0,Math.min(this._pOpMax,this.idPull[pId]._op+this.idPull[pId].op_step)); - this._pOpacityApply(pId); - } - - if ((this.idPull[pId]._step_h > 0 && t <= this.idPull[pId]._max_h) || (this.idPull[pId]._step_h < 0 && t >= 0)) { - // continue - var k = this; - this.idPull[pId]._tmShow = window.setTimeout(function(){k._pEffectSet(pId,t);}, this.idPull[pId]._step_tm); - } else { - - // clear height - if (this._menuEffect.search(/slide/) === 0) this.idPull[pId].style.height = ""; - - // hide completed - if (this.idPull[pId]._step_h < 0) this.idPull[pId].style.visibility = "hidden"; - - if (this._menuEffect == "slide+" || this._menuEffect == "opacity") { - this.idPull[pId]._op = (this.idPull[pId]._step_h<0?(this._pOpStyleIE?100:1):this._pOpMax); - this._pOpacityApply(pId); - } - - // clear values - this.idPull[pId]._tmShow = null; - this.idPull[pId]._h = null; - this.idPull[pId]._max_h = null; - ///this.idPull[pId]._step_h = null; - this.idPull[pId]._step_tm = null; - } - -}; - - diff --git a/themes/sources/dhtmlxMenu/codebase/ext/dhtmlxmenu_ext.js b/themes/sources/dhtmlxMenu/codebase/ext/dhtmlxmenu_ext.js deleted file mode 100644 index 467b3d4..0000000 --- a/themes/sources/dhtmlxMenu/codebase/ext/dhtmlxmenu_ext.js +++ /dev/null @@ -1,769 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -// enable/disable - -dhtmlXMenuObject.prototype.setItemEnabled = function(id) { - this._changeItemState(id, "enabled", this._getItemLevelType(id)); -}; -dhtmlXMenuObject.prototype.setItemDisabled = function(id) { - this._changeItemState(id, "disabled", this._getItemLevelType(id)); -}; -dhtmlXMenuObject.prototype.isItemEnabled = function(id) { - return (this.itemPull[this.idPrefix+id]!=null?(this.itemPull[this.idPrefix+id]["state"]=="enabled"):false); -}; - -// enable/disable sublevel item -dhtmlXMenuObject.prototype._changeItemState = function(id, newState, levelType) { - var t = false; - var j = this.idPrefix + id; - if ((this.itemPull[j] != null) && (this.idPull[j] != null)) { - if (this.itemPull[j]["state"] != newState) { - this.itemPull[j]["state"] = newState; - if (this.itemPull[j]["parent"] == this.idPrefix+this.topId && !this.conf.context) { - this.idPull[j].className = "dhtmlxMenu_"+this.conf.skin+"_TopLevel_Item_"+(this.itemPull[j]["state"]=="enabled"?"Normal":"Disabled"); - } else { - this.idPull[j].className = "sub_item"+(this.itemPull[j]["state"]=="enabled"?"":"_dis"); - } - - this._updateItemComplexState(this.idPrefix+id, this.itemPull[this.idPrefix+id]["complex"], false); - this._updateItemImage(id, levelType); - // if changeItemState attached to onClick event and changing applies to selected item all selection should be reparsed - if ((this.idPrefix + this.conf.last_click == j) && (levelType != "TopLevel")) { - this._redistribSubLevelSelection(j, this.itemPull[j]["parent"]); - } - if (levelType == "TopLevel" && !this.conf.context) { // rebuild style.left and show nested polygons - // this._redistribTopLevelSelection(id, "parent"); - } - } - } - return t; -}; - - -// set-get text -dhtmlXMenuObject.prototype.getItemText = function(id) { - return (this.itemPull[this.idPrefix+id]!=null?this.itemPull[this.idPrefix+id]["title"]:""); -}; - -dhtmlXMenuObject.prototype.setItemText = function(id, text) { - id = this.idPrefix + id; - if ((this.itemPull[id] != null) && (this.idPull[id] != null)) { - this._clearAndHide(); - this.itemPull[id]["title"] = text; - if (this.itemPull[id]["parent"] == this.idPrefix+this.topId && !this.conf.context) { - // top level - var tObj = null; - for (var q=0; q 0) this.idPull[id].insertBefore(tObj,this.idPull[id].childNodes[0]); else this.idPull[id].appendChild(tObj); - } - tObj.innerHTML = this.itemPull[id]["title"]; - } - } else { - // sub level - var tObj = null; - for (var q=0; q 0 ? tip : null); - this.itemPull[id]["tip"] = tip; -}; - -dhtmlXMenuObject.prototype.getTooltip = function(id) { - if (this.itemPull[this.idPrefix+id] == null) return null; - return this.itemPull[this.idPrefix+id]["tip"]; -}; - - - -dhtmlXMenuObject.prototype.setTopText = function(text) { - if (this.conf.context) return; - if (this._topText == null) { - this._topText = document.createElement("DIV"); - this._topText.className = "dhtmlxMenu_TopLevel_Text_"+(this.conf.rtl?"left":(this.conf.align=="left"?"right":"left")); - this.base.appendChild(this._topText); - } - this._topText.innerHTML = text; -}; - -dhtmlXMenuObject.prototype.setAlign = function(align) { - if (this.conf.align == align) return; - if (align == "left" || align == "right") { - // if (this.setRTL) this.setRTL(false); - this.conf.align = align; - if (this.cont) this.cont.className = (this.conf.align=="right"?"align_right":"align_left"); - if (this._topText != null) this._topText.className = "dhtmlxMenu_TopLevel_Text_"+(this.conf.align=="left"?"right":"left"); - } -}; - -dhtmlXMenuObject.prototype.setHref = function(itemId, href, target) { - if (this.itemPull[this.idPrefix+itemId] == null) return; - this.itemPull[this.idPrefix+itemId]["href_link"] = href; - if (target != null) this.itemPull[this.idPrefix+itemId]["href_target"] = target; -}; - -dhtmlXMenuObject.prototype.clearHref = function(itemId) { - if (this.itemPull[this.idPrefix+itemId] == null) return; - delete this.itemPull[this.idPrefix+itemId]["href_link"]; - delete this.itemPull[this.idPrefix+itemId]["href_target"]; -}; -/* -File [id="file"] -> Open [id="open"] -> Last Save [id="lastsave"] -getCircuit("lastsave") will return Array("file", "open", "lastsave"); -*/ - -dhtmlXMenuObject.prototype.getCircuit = function(id) { - var parents = new Array(id); - while (this.getParentId(id) != this.topId) { - id = this.getParentId(id); - parents[parents.length] = id; - } - return parents.reverse(); -}; - -// checkboxes -dhtmlXMenuObject.prototype._getCheckboxState = function(id) { - if (this.itemPull[this.idPrefix+id] == null) return null; - return this.itemPull[this.idPrefix+id]["checked"]; -}; - -dhtmlXMenuObject.prototype._setCheckboxState = function(id, state) { - if (this.itemPull[this.idPrefix+id] == null) return; - this.itemPull[this.idPrefix+id]["checked"] = state; -}; - -dhtmlXMenuObject.prototype._updateCheckboxImage = function(id) { - if (this.idPull[this.idPrefix+id] == null) return; - this.itemPull[this.idPrefix+id]["imgen"] = "chbx_"+(this._getCheckboxState(id)?"1":"0"); - this.itemPull[this.idPrefix+id]["imgdis"] = this.itemPull[this.idPrefix+id]["imgen"]; - try { this.idPull[this.idPrefix+id].childNodes[(this.conf.rtl?2:0)].childNodes[0].className = "sub_icon "+this.itemPull[this.idPrefix+id]["imgen"]; } catch(e){} -}; - -dhtmlXMenuObject.prototype._checkboxOnClickHandler = function(id, type, casState) { - if (type.charAt(1)=="d") return; - if (this.itemPull[this.idPrefix+id] == null) return; - var state = this._getCheckboxState(id); - if (this.checkEvent("onCheckboxClick")) { - if (this.callEvent("onCheckboxClick", [id, state, this.conf.ctx_zoneid, casState])) { - this.setCheckboxState(id, !state); - } - } else { - this.setCheckboxState(id, !state); - } - // call onClick if exists - if (this.checkEvent("onClick")) this.callEvent("onClick", [id]); -}; - -dhtmlXMenuObject.prototype.setCheckboxState = function(id, state) { - this._setCheckboxState(id, state); - this._updateCheckboxImage(id); -}; - -dhtmlXMenuObject.prototype.getCheckboxState = function(id) { - return this._getCheckboxState(id); -}; - -dhtmlXMenuObject.prototype.addCheckbox = function(mode, nextToId, pos, itemId, itemText, state, disabled) { - // checks - if (this.conf.context && nextToId == this.topId) { - // adding checkbox as first element to context menu - // do nothing - } else { - if (this.itemPull[this.idPrefix+nextToId] == null) return; - if (mode == "child" && this.itemPull[this.idPrefix+nextToId]["type"] != "item") return; - } - // - var img = "chbx_"+(state?"1":"0"); - var imgDis = img; - // - - if (mode == "sibling") { - - var id = this.idPrefix+(itemId!=null?itemId:this._genStr(24)); - var parentId = this.idPrefix+this.getParentId(nextToId); - this._addItemIntoGlobalStrorage(id, parentId, itemText, "checkbox", disabled, img, imgDis); - this.itemPull[id]["checked"] = state; - this._renderSublevelItem(id, this.getItemPosition(nextToId)); - } else { - - var id = this.idPrefix+(itemId!=null?itemId:this._genStr(24)); - var parentId = this.idPrefix+nextToId; - this._addItemIntoGlobalStrorage(id, parentId, itemText, "checkbox", disabled, img, imgDis); - this.itemPull[id]["checked"] = state; - if (this.idPull["polygon_"+parentId] == null) { this._renderSublevelPolygon(parentId, parentId); } - this._renderSublevelItem(id, pos-1); - this._redefineComplexState(parentId); - } -}; - - -// hot-keys -dhtmlXMenuObject.prototype.setHotKey = function(id, hkey) { - - id = this.idPrefix+id; - - if (!(this.itemPull[id] != null && this.idPull[id] != null)) return; - if (this.itemPull[id]["parent"] == this.idPrefix+this.topId && !this.conf.context) return; - if (this.itemPull[id]["complex"]) return; - var t = this.itemPull[id]["type"]; - if (!(t == "item" || t == "checkbox" || t == "radio")) return; - - // retrieve obj - var hkObj = null; - try { if (this.idPull[id].childNodes[this.conf.rtl?0:2].childNodes[0].className == "sub_item_hk") hkObj = this.idPull[id].childNodes[this.conf.rtl?0:2].childNodes[0]; } catch(e){} - - if (hkey.length == 0) { - // remove if exists - this.itemPull[id]["hotkey_backup"] = this.itemPull[id]["hotkey"]; - this.itemPull[id]["hotkey"] = ""; - if (hkObj != null) hkObj.parentNode.removeChild(hkObj); - - } else { - - // add if needed or change - this.itemPull[id]["hotkey"] = hkey; - this.itemPull[id]["hotkey_backup"] = null; - // - if (hkObj == null) { - hkObj = document.createElement("DIV"); - hkObj.className = "sub_item_hk"; - var item = this.idPull[id].childNodes[this.conf.rtl?0:2]; - while (item.childNodes.length > 0) item.removeChild(item.childNodes[0]); - item.appendChild(hkObj); - } - hkObj.innerHTML = hkey; - - } -}; - -dhtmlXMenuObject.prototype.getHotKey = function(id) { - if (this.itemPull[this.idPrefix+id] == null) return null; - return this.itemPull[this.idPrefix+id]["hotkey"]; -}; - - -// overflow control -dhtmlXMenuObject.prototype._clearAllSelectedSubItemsInPolygon = function(polygon) { - var subIds = this._getSubItemToDeselectByPolygon(polygon); - // hide opened polygons and selected items - for (var q=0; q 0) { - var theEnd = false; - var nextScrollTop = polygon.scrollTop - this.conf.of_ustep; - if (nextScrollTop < 0) { - theEnd = true; - nextScrollTop = 0; - } - polygon.scrollTop = nextScrollTop; - if (!theEnd) { - var that = this; - this.conf.of_utm = window.setTimeout(function() { - that._doScrollUp(id, false); - that = null; - }, this.conf.of_utime); - } else { - checkArrows = true; - } - } else { - this._canScrollUp = false; - this._checkArrowsState(id); - } - if (checkArrows) { - this._checkArrowsState(id); - } -}; - -dhtmlXMenuObject.prototype._doScrollDown = function(id, checkArrows) { - var polygon = this.idPull["polygon_"+id].childNodes[1]; - if (this._canScrollDown && polygon.scrollTop + polygon.offsetHeight <= polygon.scrollHeight) { - var theEnd = false; - var nextScrollTop = polygon.scrollTop + this.conf.of_dstep; - if (nextScrollTop + polygon.offsetHeight >= polygon.scrollHeight) { - theEnd = true; - nextScrollTop = polygon.scrollHeight - polygon.offsetHeight; - } - polygon.scrollTop = nextScrollTop; - if (!theEnd) { - var that = this; - this.conf.of_dtm = window.setTimeout(function() { - that._doScrollDown(id, false); - that = null; - }, this.conf.of_dtime); - } else { - checkArrows = true; - } - } else { - this._canScrollDown = false; - this._checkArrowsState(id); - } - if (checkArrows) { - this._checkArrowsState(id); - } -}; - -dhtmlXMenuObject.prototype._countPolygonItems = function(id) { - var count = 0; - for (var a in this.itemPull) { - var par = this.itemPull[a]["parent"]; - var tp = this.itemPull[a]["type"]; - if (par == this.idPrefix+id && (tp == "item" || tp == "radio" || tp == "checkbox")) { count++; } - } - return count; -}; - -dhtmlXMenuObject.prototype.setOverflowHeight = function(itemsNum) { - - // set auto overflow mode - if (itemsNum === "auto") { - this.conf.overflow_limit = 0; - this.conf.auto_overflow = true; - return; - } - - // no existing limitation, now new limitation - if (this.conf.overflow_limit == 0 && itemsNum <= 0) return; - - // hide menu to prevent visible changes - this._clearAndHide(); - - // redefine existing limitation, arrows will added automatically with showPlygon - if (this.conf.overflow_limit >= 0 && itemsNum > 0) { - this.conf.overflow_limit = itemsNum; - return; - } - - // remove existing limitation - if (this.conf.overflow_limit > 0 && itemsNum <= 0) { - for (var a in this.itemPull) { - if (this._isArrowExists(a)) { - var b = String(a).replace(this.idPrefix, ""); - this._removeUpArrow(b); - this._removeDownArrow(b); - // remove polygon's height - this.idPull["polygon_"+a].childNodes[1].style.height = ""; - } - } - this.conf.overflow_limit = 0; - return; - } -}; - - -// radiobuttons -dhtmlXMenuObject.prototype._getRadioImgObj = function(id) { - try { var imgObj = this.idPull[this.idPrefix+id].childNodes[(this.conf.rtl?2:0)].childNodes[0] } catch(e) { var imgObj = null; } - return imgObj; -}; - -dhtmlXMenuObject.prototype._setRadioState = function(id, state) { - // if (this.itemPull[this.idPrefix+id]["state"] != "enabled") return; - var imgObj = this._getRadioImgObj(id); - if (imgObj != null) { - // fix, added in 0.4 - var rObj = this.itemPull[this.idPrefix+id]; - rObj["checked"] = state; - rObj["imgen"] = "rdbt_"+(rObj["checked"]?"1":"0"); - rObj["imgdis"] = rObj["imgen"]; - imgObj.className = "sub_icon "+rObj["imgen"]; - } -}; - -dhtmlXMenuObject.prototype._radioOnClickHandler = function(id, type, casState) { - if (type.charAt(1)=="d" || this.itemPull[this.idPrefix+id]["group"]==null) return; - // deselect all from the same group - var group = this.itemPull[this.idPrefix+id]["group"]; - if (this.checkEvent("onRadioClick")) { - if (this.callEvent("onRadioClick", [group, this.getRadioChecked(group), id, this.conf.ctx_zoneid, casState])) { - this.setRadioChecked(group, id); - } - } else { - this.setRadioChecked(group, id); - } - // call onClick if exists - if (this.checkEvent("onClick")) this.callEvent("onClick", [id]); -}; - -dhtmlXMenuObject.prototype.getRadioChecked = function(group) { - var id = null; - for (var q=0; q"; - return xml; -}; - -dhtmlXMenuObject.prototype._readLevel = function(parentId) { - var xml = ""; - for (var a in this.itemPull) { - if (this.itemPull[a]["parent"] == parentId) { - var imgEn = ""; - var imgDis = ""; - var hotKey = ""; - var itemId = String(this.itemPull[a]["id"]).replace(this.idPrefix,""); - var itemType = ""; - var itemText = (this.itemPull[a]["title"]!=""?' text="'+this.itemPull[a]["title"]+'"':""); - var itemState = ""; - if (this.itemPull[a]["type"] == "item") { - if (this.itemPull[a]["imgen"] != "") imgEn = ' img="'+this.itemPull[a]["imgen"]+'"'; - if (this.itemPull[a]["imgdis"] != "") imgDis = ' imgdis="'+this.itemPull[a]["imgdis"]+'"'; - if (this.itemPull[a]["hotkey"] != "") hotKey = ''+this.itemPull[a]["hotkey"]+''; - } - if (this.itemPull[a]["type"] == "separator") { - itemType = ' type="separator"'; - } else { - if (this.itemPull[a]["state"] == "disabled") itemState = ' enabled="false"'; - } - if (this.itemPull[a]["type"] == "checkbox") { - itemType = ' type="checkbox"'+(this.itemPull[a]["checked"]?' checked="true"':""); - } - if (this.itemPull[a]["type"] == "radio") { - itemType = ' type="radio" group="'+this.itemPull[a]["group"]+'" '+(this.itemPull[a]["checked"]?' checked="true"':""); - } - xml += ""; - xml += hotKey; - if (this.itemPull[a]["complex"]) xml += this._readLevel(a); - xml += ""; - } - } - return xml; -}; - diff --git a/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_material/dhxmenu_arrow_down.png b/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_material/dhxmenu_arrow_down.png deleted file mode 100644 index 89a354b..0000000 Binary files a/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_material/dhxmenu_arrow_down.png and /dev/null differ diff --git a/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_material/dhxmenu_arrow_down_dis.png b/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_material/dhxmenu_arrow_down_dis.png deleted file mode 100644 index 1430cc5..0000000 Binary files a/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_material/dhxmenu_arrow_down_dis.png and /dev/null differ diff --git a/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_material/dhxmenu_arrow_up.png b/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_material/dhxmenu_arrow_up.png deleted file mode 100644 index 8ad4531..0000000 Binary files a/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_material/dhxmenu_arrow_up.png and /dev/null differ diff --git a/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_material/dhxmenu_arrow_up_dis.png b/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_material/dhxmenu_arrow_up_dis.png deleted file mode 100644 index efc49bd..0000000 Binary files a/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_material/dhxmenu_arrow_up_dis.png and /dev/null differ diff --git a/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_material/dhxmenu_chrd.png b/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_material/dhxmenu_chrd.png deleted file mode 100644 index 0979352..0000000 Binary files a/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_material/dhxmenu_chrd.png and /dev/null differ diff --git a/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_material/dhxmenu_loader.gif b/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_material/dhxmenu_loader.gif deleted file mode 100644 index ca190eb..0000000 Binary files a/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_material/dhxmenu_loader.gif and /dev/null differ diff --git a/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_material/dhxmenu_subar.png b/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_material/dhxmenu_subar.png deleted file mode 100644 index 6367440..0000000 Binary files a/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_material/dhxmenu_subar.png and /dev/null differ diff --git a/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_skyblue/dhxmenu_arrow_down.gif b/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_skyblue/dhxmenu_arrow_down.gif deleted file mode 100644 index 60be3f7..0000000 Binary files a/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_skyblue/dhxmenu_arrow_down.gif and /dev/null differ diff --git a/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_skyblue/dhxmenu_arrow_down_dis.gif b/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_skyblue/dhxmenu_arrow_down_dis.gif deleted file mode 100644 index d849732..0000000 Binary files a/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_skyblue/dhxmenu_arrow_down_dis.gif and /dev/null differ diff --git a/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_skyblue/dhxmenu_arrow_up.gif b/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_skyblue/dhxmenu_arrow_up.gif deleted file mode 100644 index c23a23a..0000000 Binary files a/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_skyblue/dhxmenu_arrow_up.gif and /dev/null differ diff --git a/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_skyblue/dhxmenu_arrow_up_dis.gif b/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_skyblue/dhxmenu_arrow_up_dis.gif deleted file mode 100644 index a43cfe3..0000000 Binary files a/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_skyblue/dhxmenu_arrow_up_dis.gif and /dev/null differ diff --git a/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_skyblue/dhxmenu_chrd.gif b/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_skyblue/dhxmenu_chrd.gif deleted file mode 100644 index 235caaf..0000000 Binary files a/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_skyblue/dhxmenu_chrd.gif and /dev/null differ diff --git a/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_skyblue/dhxmenu_loader.gif b/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_skyblue/dhxmenu_loader.gif deleted file mode 100644 index 21cc17e..0000000 Binary files a/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_skyblue/dhxmenu_loader.gif and /dev/null differ diff --git a/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_skyblue/dhxmenu_subar.gif b/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_skyblue/dhxmenu_subar.gif deleted file mode 100644 index 4603471..0000000 Binary files a/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_skyblue/dhxmenu_subar.gif and /dev/null differ diff --git a/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_terrace/dhxmenu_arrow_down.gif b/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_terrace/dhxmenu_arrow_down.gif deleted file mode 100644 index 60be3f7..0000000 Binary files a/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_terrace/dhxmenu_arrow_down.gif and /dev/null differ diff --git a/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_terrace/dhxmenu_arrow_down_dis.gif b/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_terrace/dhxmenu_arrow_down_dis.gif deleted file mode 100644 index d849732..0000000 Binary files a/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_terrace/dhxmenu_arrow_down_dis.gif and /dev/null differ diff --git a/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_terrace/dhxmenu_arrow_up.gif b/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_terrace/dhxmenu_arrow_up.gif deleted file mode 100644 index c23a23a..0000000 Binary files a/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_terrace/dhxmenu_arrow_up.gif and /dev/null differ diff --git a/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_terrace/dhxmenu_arrow_up_dis.gif b/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_terrace/dhxmenu_arrow_up_dis.gif deleted file mode 100644 index a43cfe3..0000000 Binary files a/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_terrace/dhxmenu_arrow_up_dis.gif and /dev/null differ diff --git a/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_terrace/dhxmenu_chrd.gif b/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_terrace/dhxmenu_chrd.gif deleted file mode 100644 index aa11459..0000000 Binary files a/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_terrace/dhxmenu_chrd.gif and /dev/null differ diff --git a/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_terrace/dhxmenu_loader.gif b/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_terrace/dhxmenu_loader.gif deleted file mode 100644 index ca190eb..0000000 Binary files a/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_terrace/dhxmenu_loader.gif and /dev/null differ diff --git a/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_terrace/dhxmenu_subar.gif b/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_terrace/dhxmenu_subar.gif deleted file mode 100644 index 35dbd98..0000000 Binary files a/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_terrace/dhxmenu_subar.gif and /dev/null differ diff --git a/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_web/dhxmenu_arrow_down.gif b/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_web/dhxmenu_arrow_down.gif deleted file mode 100644 index 60be3f7..0000000 Binary files a/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_web/dhxmenu_arrow_down.gif and /dev/null differ diff --git a/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_web/dhxmenu_arrow_down_dis.gif b/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_web/dhxmenu_arrow_down_dis.gif deleted file mode 100644 index d849732..0000000 Binary files a/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_web/dhxmenu_arrow_down_dis.gif and /dev/null differ diff --git a/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_web/dhxmenu_arrow_up.gif b/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_web/dhxmenu_arrow_up.gif deleted file mode 100644 index c23a23a..0000000 Binary files a/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_web/dhxmenu_arrow_up.gif and /dev/null differ diff --git a/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_web/dhxmenu_arrow_up_dis.gif b/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_web/dhxmenu_arrow_up_dis.gif deleted file mode 100644 index a43cfe3..0000000 Binary files a/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_web/dhxmenu_arrow_up_dis.gif and /dev/null differ diff --git a/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_web/dhxmenu_chrd.gif b/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_web/dhxmenu_chrd.gif deleted file mode 100644 index 040e5e8..0000000 Binary files a/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_web/dhxmenu_chrd.gif and /dev/null differ diff --git a/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_web/dhxmenu_loader.gif b/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_web/dhxmenu_loader.gif deleted file mode 100644 index 9ef515f..0000000 Binary files a/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_web/dhxmenu_loader.gif and /dev/null differ diff --git a/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_web/dhxmenu_subar.gif b/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_web/dhxmenu_subar.gif deleted file mode 100644 index 35dbd98..0000000 Binary files a/themes/sources/dhtmlxMenu/codebase/imgs/dhxmenu_web/dhxmenu_subar.gif and /dev/null differ diff --git a/themes/sources/dhtmlxMenu/codebase/skins/dhtmlxmenu_dhx_skyblue.css b/themes/sources/dhtmlxMenu/codebase/skins/dhtmlxmenu_dhx_skyblue.css deleted file mode 100644 index d94c0fe..0000000 --- a/themes/sources/dhtmlxMenu/codebase/skins/dhtmlxmenu_dhx_skyblue.css +++ /dev/null @@ -1,331 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: dhx_skyblue - include extra file: skins/dhx_skyblue.less -*/ - -.dhxmenu_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 10px; - height: 10px; - overflow: hidden; -} -.dhtmlxMenu_dhx_skyblue_Middle { - position: relative; - height: 30px; - border: none; - overflow: hidden; - background-color: #ebebeb; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhtmlxMenu_dhx_skyblue_Middle div.top_sep { - float: left; - position: relative; - height: 22px; - width: 0px; - border-left: 1px solid #dddddd; - margin: 4px 2px 0px 0px; - line-height: 1px; - font-size: 1px; - overflow: hidden; - cursor: default; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhtmlxMenu_dhx_skyblue_Middle img.dhtmlxMenu_TopLevel_Item_Icon { - float: left; - margin: 2px 3px 0px 3px; - width: 18px; - height: 18px; -} -.dhtmlxMenu_dhx_skyblue_Middle div.dhtmlxMenu_TopLevel_Text_right { - position: absolute; - top: 8px; - left: none; - right: 8px; - font-family: Tahoma, Helvetica; - font-size: 11px; - color: black; - cursor: default; -} -.dhtmlxMenu_dhx_skyblue_Middle div.dhtmlxMenu_TopLevel_Text_left { - position: absolute; - top: 8px; - right: none; - left: 8px; - font-family: Tahoma, Helvetica; - font-size: 11px; - color: black; - cursor: default; -} -.dhtmlxMenu_dhx_skyblue_Middle.dir_left div.align_left { - float: left; -} -.dhtmlxMenu_dhx_skyblue_Middle.dir_left div.align_right { - float: right; -} -div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Normal, -div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Disabled, -div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Selected { - position: relative; - float: left; - font-family: Tahoma, Helvetica; - font-size: 11px; - color: black; - cursor: default; - white-space: nowrap; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - height: 22px; - line-height: 22px; - vertical-align: middle; - margin: 3px 2px 0px 0px; - padding: 0px 3px; -} -div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Normal div.top_level_text, -div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Disabled div.top_level_text, -div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Selected div.top_level_text { - float: left; - margin: 0px 3px; -} -div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Normal i, -div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Disabled i, -div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Selected i { - height: inherit; - line-height: inherit; - float: left; - color: inherit; - margin: 0px 4px; - font-size: 1.2em; -} -div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Normal, -div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Disabled { - border: 1px solid #ebebeb; -} -div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Disabled { - color: #999999 !important; -} -div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Selected { - border: 1px solid #a1ceed; - background-color: #b5deff; - color: black; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon { - position: absolute; - border: 1px solid #a4bed4; - box-shadow: 0 0 3px #ccc; - padding: 3px 0px; - border-bottom-left-radius: 2px; - border-bottom-right-radius: 2px; - border-top-right-radius: 2px; - background-color: #e7f1ff; - overflow: hidden; - cursor: default; - line-height: normal; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td { - font-family: Tahoma, Helvetica; - font-size: 11px; - color: black; - line-height: normal; - padding: 0px 3px; - border-top: 1px solid #e7f1ff; - border-bottom: 1px solid #e7f1ff; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_selected td { - background-color: #b5deff; - border-top: 1px solid #a1ceed; - border-bottom: 1px solid #a1ceed; - color: black; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_selected div.sub_item_hk { - color: #333333 !important; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_icon { - width: 18px; - text-align: center; - vertical-align: middle; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_icon img.sub_icon { - float: left; - margin: 0px; - width: 18px; - height: 18px; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_icon i { - float: left; - text-align: center; - width: 18px; - height: 18px; - line-height: 17px; - font-size: 1.3em; - color: inherit; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis td.sub_item_icon i { - color: #999999 !important; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_item_text { - padding: 0px 12px 0px 1px; - height: 22px; - line-height: 21px; - white-space: nowrap; - text-align: left; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_item_text { - color: #999999 !important; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_hk { - padding-left: 8px; - padding-right: 8px; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_hk div.sub_item_hk { - font-family: Tahoma, Helvetica; - font-size: 10px; - color: #4d4d4d; - text-align: right; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis td.sub_item_hk div.sub_item_hk { - color: #9b9b9b !important; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.complex_arrow { - width: 4px; - margin: 0px 2px 0px 5px; - height: 22px; - background-image: url("../imgs/dhxmenu_skyblue/dhxmenu_subar.gif"); - background-repeat: no-repeat; - background-position: 0px 0px; - overflow: hidden; - font-size: 1px; - float: right; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_selected div.complex_arrow { - background-position: -4px 0px !important; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.complex_arrow { - background-position: -8px 0px !important; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.complex_arrow_loading { - width: 11px; - height: 22px; - background-position: center center; - background-repeat: no-repeat; - background-image: url("../imgs/dhxmenu_skyblue/dhxmenu_loader.gif"); - float: right; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon { - float: left; - margin: 0px; - width: 18px; - height: 18px; - background-position: top right; - background-repeat: no-repeat; - background-image: url("../imgs/dhxmenu_skyblue/dhxmenu_chrd.gif"); -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.chbx_0 { - background-position: 0px 0px !important; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.chbx_1 { - background-position: -18px 0px !important; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.chbx_0 { - background-position: -36px 0px !important; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.chbx_1 { - background-position: -54px 0px !important; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.rdbt_0 { - background-position: -72px 0px !important; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.rdbt_1 { - background-position: -90px 0px !important; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.rdbt_0 { - background-position: -108px 0px !important; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.rdbt_1 { - background-position: -126px 0px !important; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon tr.sub_sep td { - padding: 2px 0px; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon div.sub_sep { - position: static; - font-size: 1px; - line-height: 1px; - height: 1px; - width: 100%; - border-top: 1px solid #a4bed4; -} -iframe.dhtmlxMenu_IE6CoverFix_dhx_skyblue { - position: absolute; - border: none; - background: #000000; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100); -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_ArrowUp, -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_ArrowUp_Over, -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_ArrowUp_Disabled { - position: relative; - font-size: 1px; - border-bottom: 1px solid #a4bed4; - background-image: url("../imgs/dhxmenu_skyblue/dhxmenu_arrow_up.gif"); - background-repeat: no-repeat; - background-position: center center; - padding: 8px 0px; - margin-bottom: 3px; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_ArrowUp_Disabled { - background-image: url("../imgs/dhxmenu_skyblue/dhxmenu_arrow_up_dis.gif"); -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_ArrowDown, -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_ArrowDown_Over, -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_ArrowDown_Disabled { - position: relative; - font-size: 1px; - border-top: 1px solid #a4bed4; - background-image: url("../imgs/dhxmenu_skyblue/dhxmenu_arrow_down.gif"); - background-repeat: no-repeat; - background-position: center center; - padding: 8px 0px; - margin-top: 3px; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_ArrowDown_Disabled { - background-image: url("../imgs/dhxmenu_skyblue/dhxmenu_arrow_down_dis.gif"); -} diff --git a/themes/sources/dhtmlxMenu/codebase/skins/dhtmlxmenu_dhx_terrace.css b/themes/sources/dhtmlxMenu/codebase/skins/dhtmlxmenu_dhx_terrace.css deleted file mode 100644 index faa4766..0000000 --- a/themes/sources/dhtmlxMenu/codebase/skins/dhtmlxmenu_dhx_terrace.css +++ /dev/null @@ -1,321 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: dhx_terrace - include extra file: skins/dhx_terrace.less -*/ - -.dhxmenu_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 30px; - height: 10px; - overflow: hidden; -} -.dhtmlxMenu_dhx_terrace_Middle { - position: relative; - height: 34px; - padding: 0px 5px; - border: none; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhtmlxMenu_dhx_terrace_Middle div.top_sep { - float: left; - position: relative; - height: 20px; - margin: 5px 6px 0px 5px; - line-height: 1px; - font-size: 1px; - overflow: hidden; - cursor: default; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhtmlxMenu_dhx_terrace_Middle img.dhtmlxMenu_TopLevel_Item_Icon { - float: left; - margin: 2px 3px 0px 3px; - width: 18px; - height: 18px; -} -.dhtmlxMenu_dhx_terrace_Middle div.dhtmlxMenu_TopLevel_Text_right { - position: absolute; - top: 10px; - left: none; - right: 8px; - font-family: Arial, Helvetica; - font-size: 13px; - color: #333333; - cursor: default; -} -.dhtmlxMenu_dhx_terrace_Middle div.dhtmlxMenu_TopLevel_Text_left { - position: absolute; - top: 10px; - right: none; - left: 8px; - font-family: Arial, Helvetica; - font-size: 13px; - color: #333333; - cursor: default; -} -.dhtmlxMenu_dhx_terrace_Middle.dir_left div.align_left { - float: left; -} -.dhtmlxMenu_dhx_terrace_Middle.dir_left div.align_right { - float: right; -} -div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Normal, -div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Disabled, -div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Selected { - position: relative; - float: left; - font-family: Arial, Helvetica; - font-size: 13px; - color: #333333; - border: 1px solid #cccccc; - background-color: #f5f5f5; - cursor: default; - white-space: nowrap; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - height: 22px; - line-height: 22px; - vertical-align: middle; - margin-top: 2px; - padding: 3px 5px; -} -div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Normal div.top_level_text, -div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Disabled div.top_level_text, -div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Selected div.top_level_text { - float: left; - margin: 0px 5px; -} -div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Normal i, -div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Disabled i, -div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Selected i { - height: inherit; - line-height: inherit; - float: left; - color: inherit; - margin: 0px 5px; - font-size: 1.1em; -} -div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Disabled { - color: #d1d1d1; - background-color: #ededed; -} -div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Selected { - color: #2e2e2e; - background-color: #ebebeb; -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon { - position: absolute; - border: 1px solid #cccccc; - *border: 1px solid #c7c7c7; - box-shadow: 0 0 5px rgba(127,127,127,0.35); - padding: 3px 0px; - border-bottom-left-radius: 1px; - border-bottom-right-radius: 1px; - border-top-right-radius: 1px; - background-color: #f5f5f5; - overflow: hidden; - cursor: default; - line-height: normal; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td { - font-family: Arial, Helvetica; - font-size: 13px; - color: #333333; - line-height: normal; - padding: 0px 5px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_selected td { - background-color: #fff3a1; - color: black; -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_icon { - width: 18px; - text-align: center; - vertical-align: middle; -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_icon img.sub_icon { - float: left; - margin: 0px; - width: 18px; - height: 18px; -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_icon i { - float: left; - text-align: center; - width: 18px; - height: 18px; - line-height: 17px; - font-size: 1.1em; - color: inherit; -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_item_text { - padding: 0px 16px 0px 1px; - height: 26px; - line-height: 25px; - white-space: nowrap; - text-align: left; -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_item_text { - color: #bbbbbb; -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis td.sub_item_icon i { - color: #bbbbbb !important; -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_hk { - padding-left: 8px; - padding-right: 8px; -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_hk div.sub_item_hk { - font-family: Arial, Helvetica; - font-size: 13px; - color: #737373; - text-align: right; -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis td.sub_item_hk div.sub_item_hk { - color: #c8c8c8 !important; -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.complex_arrow { - width: 4px; - margin: 0px 2px 0px 5px; - height: 22px; - background-image: url("../imgs/dhxmenu_terrace/dhxmenu_subar.gif"); - background-repeat: no-repeat; - background-position: 0px 0px; - overflow: hidden; - font-size: 1px; - float: right; -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_selected div.complex_arrow { - background-position: -4px 0px !important; -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.complex_arrow { - background-position: -8px 0px !important; -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.complex_arrow_loading { - width: 11px; - height: 22px; - background-position: center center; - background-repeat: no-repeat; - background-image: url("../imgs/dhxmenu_terrace/dhxmenu_loader.gif"); - float: right; -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon { - float: left; - margin: 0px; - width: 18px; - height: 18px; - background-position: top right; - background-repeat: no-repeat; - background-image: url("../imgs/dhxmenu_terrace/dhxmenu_chrd.gif"); -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.chbx_0 { - background-position: 0px 0px !important; -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.chbx_1 { - background-position: -18px 0px !important; -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.chbx_0 { - background-position: -36px 0px !important; -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.chbx_1 { - background-position: -54px 0px !important; -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.rdbt_0 { - background-position: -72px 0px !important; -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.rdbt_1 { - background-position: -90px 0px !important; -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.rdbt_0 { - background-position: -108px 0px !important; -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.rdbt_1 { - background-position: -126px 0px !important; -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon tr.sub_sep td { - padding: 2px 0px; -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon div.sub_sep { - position: static; - font-size: 1px; - line-height: 1px; - height: 1px; - width: 100%; - border-top: 1px solid #e8e8e8; -} -iframe.dhtmlxMenu_IE6CoverFix_dhx_terrace { - position: absolute; - border: none; - background: #000000; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100); -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_ArrowUp, -div.dhtmlxMenu_dhx_terrace_SubLevelArea_ArrowUp_Over, -div.dhtmlxMenu_dhx_terrace_SubLevelArea_ArrowUp_Disabled { - position: relative; - font-size: 1px; - border-bottom: 1px solid #cccccc; - background-image: url("../imgs/dhxmenu_terrace/dhxmenu_arrow_up.gif"); - background-repeat: no-repeat; - background-position: center center; - padding: 8px 0px; - margin-bottom: 3px; -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_ArrowUp_Disabled { - background-image: url("../imgs/dhxmenu_terrace/dhxmenu_arrow_up_dis.gif"); -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_ArrowDown, -div.dhtmlxMenu_dhx_terrace_SubLevelArea_ArrowDown_Over, -div.dhtmlxMenu_dhx_terrace_SubLevelArea_ArrowDown_Disabled { - position: relative; - font-size: 1px; - border-top: 1px solid #cccccc; - background-image: url("../imgs/dhxmenu_terrace/dhxmenu_arrow_down.gif"); - background-repeat: no-repeat; - background-position: center center; - padding: 8px 0px; - margin-top: 3px; -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_ArrowDown_Disabled { - background-image: url("../imgs/dhxmenu_terrace/dhxmenu_arrow_down_dis.gif"); -} diff --git a/themes/sources/dhtmlxMenu/codebase/skins/dhtmlxmenu_dhx_web.css b/themes/sources/dhtmlxMenu/codebase/skins/dhtmlxmenu_dhx_web.css deleted file mode 100644 index 9bb3508..0000000 --- a/themes/sources/dhtmlxMenu/codebase/skins/dhtmlxmenu_dhx_web.css +++ /dev/null @@ -1,315 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: dhx_web - include extra file: skins/dhx_web.less -*/ - -.dhxmenu_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 20px; - height: 10px; - overflow: hidden; -} -.dhtmlxMenu_dhx_web_Middle { - position: relative; - height: 26px; - border: none; - background-color: #f4f4f4; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhtmlxMenu_dhx_web_Middle div.top_sep { - float: left; - position: relative; - height: 20px; - width: 0px; - border-left: 1px solid #c1c1c1; - margin: 3px 2px 0px 0px; - line-height: 1px; - font-size: 1px; - overflow: hidden; - cursor: default; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhtmlxMenu_dhx_web_Middle img.dhtmlxMenu_TopLevel_Item_Icon { - float: left; - margin: 2px 3px 0px 3px; - width: 18px; - height: 18px; -} -.dhtmlxMenu_dhx_web_Middle div.dhtmlxMenu_TopLevel_Text_right { - position: absolute; - top: 5px; - left: none; - right: 8px; - font-family: Tahoma, Helvetica; - font-size: 12px; - color: #000000; - cursor: default; -} -.dhtmlxMenu_dhx_web_Middle div.dhtmlxMenu_TopLevel_Text_left { - position: absolute; - top: 5px; - right: none; - left: 8px; - font-family: Tahoma, Helvetica; - font-size: 12px; - color: #000000; - cursor: default; -} -.dhtmlxMenu_dhx_web_Middle.dir_left div.align_left { - float: left; -} -.dhtmlxMenu_dhx_web_Middle.dir_left div.align_right { - float: right; -} -div.dhtmlxMenu_dhx_web_TopLevel_Item_Normal, -div.dhtmlxMenu_dhx_web_TopLevel_Item_Disabled, -div.dhtmlxMenu_dhx_web_TopLevel_Item_Selected { - position: relative; - float: left; - font-family: Tahoma, Helvetica; - font-size: 12px; - color: #000000; - cursor: default; - white-space: nowrap; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - height: 22px; - line-height: 22px; - vertical-align: middle; - margin: 2px 2px 0px 0px; - padding: 0px 3px; -} -div.dhtmlxMenu_dhx_web_TopLevel_Item_Normal div.top_level_text, -div.dhtmlxMenu_dhx_web_TopLevel_Item_Disabled div.top_level_text, -div.dhtmlxMenu_dhx_web_TopLevel_Item_Selected div.top_level_text { - float: left; - margin: 0px 3px; -} -div.dhtmlxMenu_dhx_web_TopLevel_Item_Normal i, -div.dhtmlxMenu_dhx_web_TopLevel_Item_Disabled i, -div.dhtmlxMenu_dhx_web_TopLevel_Item_Selected i { - height: inherit; - line-height: inherit; - float: left; - color: inherit; - margin: 0px 4px; - font-size: 1.2em; -} -div.dhtmlxMenu_dhx_web_TopLevel_Item_Disabled { - color: #999999; -} -div.dhtmlxMenu_dhx_web_TopLevel_Item_Selected { - background-color: #85d3ff; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon { - position: absolute; - border: 1px solid #ffffff; - *border: 1px solid #ccc; - box-shadow: 0px 0px 10px rgba(0,0,0,0.35); - padding: 3px 0px; - background-color: #f4f4f4; - overflow: hidden; - cursor: default; - line-height: normal; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td { - font-family: Tahoma, Helvetica; - font-size: 12px; - color: #000000; - padding: 0px 4px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_selected td { - background-color: #85d3ff; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_icon { - width: 18px; - text-align: center; - vertical-align: middle; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_icon img.sub_icon { - float: left; - margin: 0px; - width: 18px; - height: 18px; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_icon i { - float: left; - text-align: center; - width: 18px; - height: 18px; - line-height: 17px; - font-size: 1.2em; - color: inherit; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_item_text { - padding: 0px 12px 0px 1px; - height: 26px; - line-height: 25px; - white-space: nowrap; - text-align: left; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis td.sub_item_icon i { - color: #999999; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_item_text { - color: #999999; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_hk { - padding-left: 8px; - padding-right: 8px; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_hk div.sub_item_hk { - font-family: Tahoma, Helvetica; - font-size: 12px; - color: #333333; - text-align: right; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis td.sub_item_hk div.sub_item_hk { - color: #999999; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.complex_arrow { - width: 4px; - margin: 0px 2px 0px 5px; - height: 22px; - background-image: url("../imgs/dhxmenu_web/dhxmenu_subar.gif"); - background-repeat: no-repeat; - background-position: 0px 0px; - overflow: hidden; - font-size: 1px; - float: right; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_selected div.complex_arrow { - background-position: -4px 0px !important; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.complex_arrow { - background-position: -8px 0px !important; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.complex_arrow_loading { - width: 11px; - height: 22px; - background-position: center center; - background-repeat: no-repeat; - background-image: url("../imgs/dhxmenu_web/dhxmenu_loader.gif"); - float: right; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon { - float: left; - margin: 0px; - width: 18px; - height: 18px; - background-position: top right; - background-repeat: no-repeat; - background-image: url("../imgs/dhxmenu_web/dhxmenu_chrd.gif"); -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.chbx_0 { - background-position: 0px 0px !important; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.chbx_1 { - background-position: -18px 0px !important; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.chbx_0 { - background-position: -36px 0px !important; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.chbx_1 { - background-position: -54px 0px !important; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.rdbt_0 { - background-position: -72px 0px !important; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.rdbt_1 { - background-position: -90px 0px !important; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.rdbt_0 { - background-position: -108px 0px !important; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.rdbt_1 { - background-position: -126px 0px !important; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon tr.sub_sep td { - padding: 2px 0px; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon div.sub_sep { - position: static; - font-size: 1px; - line-height: 1px; - height: 1px; - width: 100%; - border-top: 1px dotted #b4b4b4; - *border-top: 1px solid #cecece; -} -iframe.dhtmlxMenu_IE6CoverFix_dhx_web { - position: absolute; - border: none; - background: #000000; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100); -} -div.dhtmlxMenu_dhx_web_SubLevelArea_ArrowUp, -div.dhtmlxMenu_dhx_web_SubLevelArea_ArrowUp_Over, -div.dhtmlxMenu_dhx_web_SubLevelArea_ArrowUp_Disabled { - position: relative; - font-size: 1px; - border-bottom: 1px solid #b4b4b4; - background-image: url("../imgs/dhxmenu_web/dhxmenu_arrow_up.gif"); - background-repeat: no-repeat; - background-position: center center; - padding: 8px 0px; - margin-bottom: 3px; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_ArrowUp_Disabled { - background-image: url("../imgs/dhxmenu_web/dhxmenu_arrow_up_dis.gif"); -} -div.dhtmlxMenu_dhx_web_SubLevelArea_ArrowDown, -div.dhtmlxMenu_dhx_web_SubLevelArea_ArrowDown_Over, -div.dhtmlxMenu_dhx_web_SubLevelArea_ArrowDown_Disabled { - position: relative; - font-size: 1px; - border-top: 1px solid #b4b4b4; - background-image: url("../imgs/dhxmenu_web/dhxmenu_arrow_down.gif"); - background-repeat: no-repeat; - background-position: center center; - padding: 8px 0px; - margin-top: 3px; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_ArrowDown_Disabled { - background-image: url("../imgs/dhxmenu_web/dhxmenu_arrow_down_dis.gif"); -} diff --git a/themes/sources/dhtmlxMenu/codebase/skins/dhtmlxmenu_material.css b/themes/sources/dhtmlxMenu/codebase/skins/dhtmlxmenu_material.css deleted file mode 100644 index 2d18c3f..0000000 --- a/themes/sources/dhtmlxMenu/codebase/skins/dhtmlxmenu_material.css +++ /dev/null @@ -1,334 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: material - include extra file: skins/material.less -*/ - -@keyframes dhx_loader_rotate { - 100% { - transform: rotate(360deg); - } -} -@keyframes dhx_loader_dash { - 0% { - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - } - 50% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -35px; - } - 100% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -124px; - } -} -.dhtmlxMenu_material_Middle { - position: relative; - height: 28px; - line-height: 28px; - background-color: #f5f5f5; - overflow: hidden; - border: none; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhtmlxMenu_material_Middle div.dhtmlxMenu_material_TopLevel_Item_Normal, -.dhtmlxMenu_material_Middle div.dhtmlxMenu_material_TopLevel_Item_Disabled, -.dhtmlxMenu_material_Middle div.dhtmlxMenu_material_TopLevel_Item_Selected { - position: relative; - float: left; - font: inherit; - height: 28px; - line-height: 28px; - margin: 0px; - padding: 0px 8px; - cursor: default; - white-space: nowrap; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhtmlxMenu_material_Middle div.dhtmlxMenu_material_TopLevel_Item_Normal div.top_level_text, -.dhtmlxMenu_material_Middle div.dhtmlxMenu_material_TopLevel_Item_Disabled div.top_level_text, -.dhtmlxMenu_material_Middle div.dhtmlxMenu_material_TopLevel_Item_Selected div.top_level_text { - float: left; - margin: 0px 3px; -} -.dhtmlxMenu_material_Middle div.dhtmlxMenu_material_TopLevel_Item_Normal i, -.dhtmlxMenu_material_Middle div.dhtmlxMenu_material_TopLevel_Item_Disabled i, -.dhtmlxMenu_material_Middle div.dhtmlxMenu_material_TopLevel_Item_Selected i { - height: inherit; - line-height: inherit; - float: left; - color: inherit; - margin: 0px 4px; - font-size: 1.2em; -} -.dhtmlxMenu_material_Middle div.dhtmlxMenu_material_TopLevel_Item_Disabled { - color: #a6a6a6; -} -.dhtmlxMenu_material_Middle div.dhtmlxMenu_material_TopLevel_Item_Selected { - background-color: #ebebeb; -} -.dhtmlxMenu_material_Middle img.dhtmlxMenu_TopLevel_Item_Icon { - float: left; - margin: 5px 3px 0px 3px; - width: 18px; - height: 18px; - cursor: default; -} -.dhtmlxMenu_material_Middle div.top_sep { - position: relative; - float: left; - height: 22px; - width: 0px; - border-left: 1px solid #dfdfdf; - margin: 3px 8px 0px 8px; - font-size: 1px; - overflow: hidden; - cursor: default; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhtmlxMenu_material_Middle div.dhtmlxMenu_TopLevel_Text_right, -.dhtmlxMenu_material_Middle div.dhtmlxMenu_TopLevel_Text_left { - position: absolute; - top: 0px; - height: 28px; - line-height: 28px; - cursor: default; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhtmlxMenu_material_Middle div.dhtmlxMenu_TopLevel_Text_right { - right: 6px; -} -.dhtmlxMenu_material_Middle div.dhtmlxMenu_TopLevel_Text_left { - left: 6px; -} -div.dhtmlxMenu_material_SubLevelArea_Polygon { - position: absolute; - padding: 5px 0px; - background-color: #fafafa; - overflow: hidden; - cursor: default; - line-height: normal; - overflow-y: auto; - -webkit-overflow-scrolling: touch; - -webkit-tap-highlight-color: rgba(0,0,0,0); - box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -div.dhtmlxMenu_material_SubLevelArea_Polygon td { - padding: 0px; - margin: 0px; - line-height: normal; - white-space: nowrap; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -div.dhtmlxMenu_material_SubLevelArea_Polygon td.sub_item_icon { - width: 18px; - text-align: center; -} -div.dhtmlxMenu_material_SubLevelArea_Polygon td.sub_item_icon img.sub_icon { - margin: 4px 6px 0px 6px; - width: 18px; - height: 18px; -} -div.dhtmlxMenu_material_SubLevelArea_Polygon td.sub_item_icon i { - width: 18px; - height: 30px; - line-height: 29px; - margin: 0px 6px; - font-size: 1.2em; - text-align: center; - color: inherit; -} -div.dhtmlxMenu_material_SubLevelArea_Polygon td.sub_item_icon div.sub_icon { - margin: 0px 6px; - width: 18px; - height: 30px; - line-height: 30px; - background-position: 0px 5px; - background-repeat: no-repeat; - background-image: url("../imgs/dhxmenu_material/dhxmenu_chrd.png"); -} -div.dhtmlxMenu_material_SubLevelArea_Polygon td.sub_item_icon div.sub_icon.chbx_0 { - background-position: 0px 5px; -} -div.dhtmlxMenu_material_SubLevelArea_Polygon td.sub_item_icon div.sub_icon.chbx_1 { - background-position: -18px 5px; -} -div.dhtmlxMenu_material_SubLevelArea_Polygon td.sub_item_icon div.sub_icon.rdbt_0 { - background-position: -72px 5px; -} -div.dhtmlxMenu_material_SubLevelArea_Polygon td.sub_item_icon div.sub_icon.rdbt_1 { - background-position: -90px 5px; -} -div.dhtmlxMenu_material_SubLevelArea_Polygon td.sub_item_text div.sub_item_text { - position: relative; - height: 30px; - line-height: 30px; - padding: 0px 22px 0px 1px; - overflow: hidden; -} -div.dhtmlxMenu_material_SubLevelArea_Polygon td.sub_item_hk { - padding: 0px 10px 0px 8px; -} -div.dhtmlxMenu_material_SubLevelArea_Polygon td.sub_item_hk div.sub_item_hk { - color: #8d8d8d; - font-size: 12px; - text-align: right; -} -div.dhtmlxMenu_material_SubLevelArea_Polygon td div.complex_arrow { - float: right; - width: 10px; - margin: 0px 1px 0px 11px; - height: 30px; - line-height: 30px; - background-image: url("../imgs/dhxmenu_material/dhxmenu_subar.png"); - background-repeat: no-repeat; - background-position: 0px 10px; - overflow: hidden; - font-size: 1px; -} -div.dhtmlxMenu_material_SubLevelArea_Polygon td div.complex_arrow_loading { - width: 16px; - height: 30px; - line-height: 30px; - background-position: center center; - background-repeat: no-repeat; - background-image: url("../imgs/dhxmenu_material/dhxmenu_loader.gif"); - float: right; -} -div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_item_selected td { - background-color: #ebebeb; -} -div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_item_selected td div.complex_arrow { - background-position: -10px 10px; -} -div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_item_dis td.sub_item_hk div.sub_item_hk { - color: #c0c0c0; -} -div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_item_dis td div.sub_item_text, -div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_item_dis td td.sub_item_icon i { - color: #a6a6a6; -} -div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_item_dis td div.complex_arrow { - background-position: -20px 10px; -} -div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_item_dis td div.sub_icon.chbx_0 { - background-position: -36px 5px; -} -div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_item_dis td div.sub_icon.chbx_1 { - background-position: -54px 5px; -} -div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_item_dis td div.sub_icon.rdbt_0 { - background-position: -108px 5px; -} -div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_item_dis td div.sub_icon.rdbt_1 { - background-position: -126px 5px; -} -div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_item_dis td i { - color: #a6a6a6; -} -div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_sep td { - padding: 5px 3px; -} -div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_sep td div.sub_sep { - position: relative; - font-size: 1px; - line-height: 1px; - height: 0px; - width: 100%; - border-top: 1px solid #dfdfdf; -} -div.dhtmlxMenu_material_SubLevelArea_Polygon div.dhtmlxMenu_material_SubLevelArea_ArrowUp, -div.dhtmlxMenu_material_SubLevelArea_Polygon div.dhtmlxMenu_material_SubLevelArea_ArrowUp_Over, -div.dhtmlxMenu_material_SubLevelArea_Polygon div.dhtmlxMenu_material_SubLevelArea_ArrowUp_Disabled { - position: relative; - font-size: 1px; - border-bottom: 1px solid #dfdfdf; - background-image: url("../imgs/dhxmenu_material/dhxmenu_arrow_up.png"); - background-repeat: no-repeat; - background-position: center 2px; - padding: 8px 0px; - margin-bottom: 3px; -} -div.dhtmlxMenu_material_SubLevelArea_Polygon div.dhtmlxMenu_material_SubLevelArea_ArrowUp_Disabled { - background-image: url("../imgs/dhxmenu_material/dhxmenu_arrow_up_dis.png"); -} -div.dhtmlxMenu_material_SubLevelArea_Polygon div.dhtmlxMenu_material_SubLevelArea_ArrowDown, -div.dhtmlxMenu_material_SubLevelArea_Polygon div.dhtmlxMenu_material_SubLevelArea_ArrowDown_Over, -div.dhtmlxMenu_material_SubLevelArea_Polygon div.dhtmlxMenu_material_SubLevelArea_ArrowDown_Disabled { - position: relative; - font-size: 1px; - border-top: 1px solid #dfdfdf; - background-image: url("../imgs/dhxmenu_material/dhxmenu_arrow_down.png"); - background-repeat: no-repeat; - background-position: center 6px; - padding: 8px 0px; - margin-top: 3px; -} -div.dhtmlxMenu_material_SubLevelArea_Polygon div.dhtmlxMenu_material_SubLevelArea_ArrowDown_Disabled { - background-image: url("../imgs/dhxmenu_material/dhxmenu_arrow_down_dis.png"); -} -iframe.dhtmlxMenu_IE6CoverFix_material { - position: absolute; - border: none; - background: #000000; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100); -} -.dhtmlxMenu_material_Middle.dir_left div.align_left { - float: left; -} -.dhtmlxMenu_material_Middle.dir_left div.align_right { - float: right; -} -.dhxmenu_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 40px; - height: 10px; - overflow: hidden; -} diff --git a/themes/sources/dhtmlxMessage/codebase/dhtmlxmessage.js b/themes/sources/dhtmlxMessage/codebase/dhtmlxmessage.js deleted file mode 100644 index 65fe329..0000000 --- a/themes/sources/dhtmlxMessage/codebase/dhtmlxmessage.js +++ /dev/null @@ -1,258 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -if(!window.dhtmlx) - window.dhtmlx = {}; - -(function(){ - var _dhx_msg_cfg = null; - function callback(config, result){ - var usercall = config.callback; - modality(false); - config.box.parentNode.removeChild(config.box); - _dhx_msg_cfg = config.box = null; - if (usercall) - usercall(result); - } - function modal_key(e){ - if (_dhx_msg_cfg){ - e = e||event; - var code = e.which||event.keyCode; - if (dhtmlx.message.keyboard){ - if (code == 13 || code == 32) - callback(_dhx_msg_cfg, true); - if (code == 27) - callback(_dhx_msg_cfg, false); - - if (e.preventDefault) - e.preventDefault(); - return !(e.cancelBubble = true); - } - } - } - if (document.attachEvent) - document.attachEvent("onkeydown", modal_key); - else - document.addEventListener("keydown", modal_key, true); - - function modality(mode){ - if(!modality.cover){ - modality.cover = document.createElement("DIV"); - //necessary for IE only - modality.cover.onkeydown = modal_key; - modality.cover.className = "dhx_modal_cover"; - document.body.appendChild(modality.cover); - } - var height = document.body.scrollHeight; - modality.cover.style.display = mode?"inline-block":"none"; - } - - function button(text, result){ - return "
              "+text+"
              "; - } - - function info(text){ - if (!t.area){ - t.area = document.createElement("DIV"); - t.area.className = "dhtmlx_message_area"; - t.area.style[t.position]="15px"; - document.body.appendChild(t.area); - } - - t.hide(text.id); - var message = document.createElement("DIV"); - message.innerHTML = "
              "+text.text+"
              "; - message.className = "dhtmlx-info dhtmlx-" + text.type; - message.onclick = function(){ - if (text) t.hide(text.id); - text = null; - }; - - if (t.position == "bottom" && t.area.firstChild) - t.area.insertBefore(message,t.area.firstChild); - else - t.area.appendChild(message); - - if (text.expire > 0) - t.timers[text.id]=window.setTimeout(function(){ - t.hide(text.id); - }, text.expire); - - t.pull[text.id] = message; - message = null; - - return text.id; - } - function _boxStructure(config, ok, cancel){ - var box = document.createElement("DIV"); - box.className = " dhtmlx_modal_box dhtmlx-"+config.type; - box.setAttribute("dhxbox", 1); - - var inner = ''; - - if (config.width) - box.style.width = config.width; - if (config.height) - box.style.height = config.height; - if (config.title) - inner+='
              '+config.title+'
              '; - inner+='
              '+(config.content?'':config.text)+'
              '; - if (ok) - inner += button(config.ok || "OK", true); - if (cancel) - inner += button(config.cancel || "Cancel", false); - if (config.buttons){ - for (var i=0; i"+ - "
              "+ - "
              "+ - "
              "; - - document.body.appendChild(this.p); - - this.p.oncontextmenu = function(e) { - if (that.conf.context == false) { - e = e||event; - e.returnValue = false; - return false; - } - } - - this.skinParams = { - dhx_terrace: { - t0: 19, // minimal top offset for polygon, i.e. space between polygon top and arrow top - t1: 9, // if no more space at top, and "t0 allowed" - move top polygon position a bit to bottom, t1 = offset for empty space at top - t2: 19, // same as t0, for width - t3: 9 // same as t1, for width - }, - dhx_skyblue: {t0: 12, t1: 9, t2: 12, t3: 9}, - dhx_web: {t0: 12, t1: 9, t2: 12, t3: 9}, - material: {t0: 19, t1: 9, t2: 19, t3: 9} - }; - - this.p.ontouchstart = this.p.onclick = function(e) { - e = e||event; - - // skip click if touch - var r = (that.conf.last_p_click != null && that.conf.last_p_click != e.type); - that.conf.last_p_click = e.type; - if (r == true) return; - - that._clearClick = true; - if (that._nodeObj != null) { - that.callEvent("onContentClick",[]); - return true; - } - var t = (e.target||e.srcElement); - var id = null; - while (t != that.p && t != null) { - if (typeof(t._idd) != "undefined" && !t._isSeparator) { - id = t._idd; - t = null; - } else { - t = t.parentNode; - } - } - t = null; - if (id != null) { - that.callEvent("onClick",[id]); - if (that != null && that.isVisible != null && that.isVisible() && that.callEvent("onBeforeHide",["select",e,id]) === true) { - e.cancelBubble = true; - that.hide(); - } - } - } - - this.separator = "DHXSEP_"+window.dhx4.newId(); - - this.tpl = []; - this._setTemplate = function(t) { - this.tpl = t.split(","); - } - - this.show = function(id) { // 4 coords for custom object, x, y, width, height - - var p = null; - - if (arguments.length == 1) { - - // if id not specified show on first - - if (!id) { - id = this.conf.id[0]; - } else { - if (!this._idExists(id)) return; - } - if (this.conf.toolbar) { - p = this.conf.toolbar._getItemDim(id); - } - if (this.conf.ribbon) { - p = this.conf.ribbon._getItemDim(id); - } - if (this.conf.form) { - p = this.conf.form._getItemDim(id); - } - - } else if (arguments.length == 4) { - - this._clearClick = true; - - // show for custom object, 4 coords - p = { - left: arguments[0], - top: arguments[1], - width: arguments[2], - height: arguments[3] - } - - id = null; - } - - if (!p) return; - - this.p.style.visibility = "hidden"; - this.p.style.display = ""; - - this._setPos(p); - - this.p.style.zIndex = window.dhx4.zim.reserve(this.conf.zi); - this.p.style.visibility = "visible"; - - this._lastId = id; - - this.callEvent("onShow",[id]); - - - } - - this._setPos = function(p, state) { - - var x = p.left; - var y = p.top; - var w = p.width; - var h = p.height; - - this._posData = { - left: x, - top: y, - width: w, - height: h - }; - - var d = window.dhx4.screenDim(); - - var mode = state||this.mode; - if (typeof(state) == "undefined") state = false; - - // avail space form each side, negative value = no-space - var availSpace = { - top: (y-this.p.offsetHeight)-d.top, - bottom: d.bottom-(y+h+this.p.offsetHeight), - left: x-this.p.offsetWidth-d.left, - right: d.right-(x+w+this.p.offsetWidth) - }; - - if (!state && availSpace[mode] < 0) { - var k = this._getAvailPos(mode, availSpace); - if (k !== false) { - this._setPos(p, k); - return; - } - - } - - if (mode == "top" || mode == "bottom") { - - var t0 = this.skinParams[this.conf.skin].t2; - var t1 = this.skinParams[this.conf.skin].t3; - - var pw2 = Math.round(this.p.offsetWidth/2); // 1/2 polygon width - var aw2 = Math.round(this.p.lastChild.offsetWidth/2); // 1/2 arrow width - - // define max left and right position of input including rendering [d.left..d.right] area - if (x < d.left) { var x1 = Math.min(x+w, d.left); w = x+w-x1; x = x1; } // left - if (x+w > d.right) w = d.right-x; // right - - // arrow position - var ta = Math.round(x+w/2); - - // polygon top - var left = ta - pw2; - var maxLeft = ta - t0 - aw2; - var maxLeftRight = ta+aw2+t0-this.p.offsetWidth; - - - if (left < d.left-t1) { // left - left = Math.min(d.left-t1, maxLeft); - } else if (left+this.p.offsetWidth > d.right+t1) { // right - left = Math.max(maxLeftRight, d.right+t1-this.p.offsetWidth); // -scrollWidth here? - } - - // draw polygon - this.p.style.left = left+"px"; - this.p.style.top = (mode=="top"?y-this.p.offsetHeight:y+h)+"px"; - - // fix arrow offset (it inside polygon) - ta = ta-left-aw2; - - // draw arrow - this.p.lastChild.className = "dhx_popup_arrow dhx_popup_arrow_"+mode; - this.p.lastChild.style.top = (mode=="top"?this.p.offsetHeight-this.p.lastChild.offsetHeight:0)+"px"; - this.p.lastChild.style.left = ta+"px"; - - - } - - - if (mode == "left" || mode == "right") { - - var t0 = this.skinParams[this.conf.skin].t0; - var t1 = this.skinParams[this.conf.skin].t1; - - var ph2 = Math.round(this.p.offsetHeight/2); // 1/2 polygon height - var ah2 = Math.round(this.p.lastChild.offsetHeight/2); // 1/2 arrow height - - // define max top and bottom position of input including rendering [d.top..d.bottom] area - if (y < d.top) { var y1 = Math.min(y+h, d.top); h = y+h-y1; y = y1; } // top - if (y+h > d.bottom) h = d.bottom-y; // bottom - - // arrow position - var ta = Math.round(y+h/2); - - // polygon top - var top = ta - ph2; - var maxTop = ta - t0 - ah2; - var maxTopBottom = ta+ah2+t0-this.p.offsetHeight; - - - if (top < d.top-t1) { // top - top = Math.min(d.top-t1, maxTop); - } else if (top+this.p.offsetHeight > d.bottom+t1) { // bottom - top = Math.max(maxTopBottom, d.bottom+t1-this.p.offsetHeight); - } - - // draw polygon - this.p.style.left = (mode=="left"?x-this.p.offsetWidth:x+w)+"px"; - this.p.style.top = top+"px"; - - // fix arrow offset (it inside polygon) - ta = ta-top-ah2; - - // draw arrow - this.p.lastChild.className = "dhx_popup_arrow dhx_popup_arrow_"+mode; - this.p.lastChild.style.left = (mode=="left"?this.p.offsetWidth-this.p.lastChild.offsetWidth:0)+"px"; - this.p.lastChild.style.top = ta+"px"; - - } - - if (this._IEDisp && this._nodeId != null) { - var t = document.getElementById(this._nodeId); - if (this.conf.IE6_display_fix == true) t.style.visibility = "hidden"; - window.setTimeout(function(){ - t.style.visibility = "visible"; - t = null; - },1); - } - } - - this._getAvailPos = function(mode, data) { - - var seq = { - top: ["bottom","right","left"], - bottom: ["top","right","left"], - left: ["right", "bottom", "top"], - right: ["left", "bottom", "top"] - }; - - var dir = null; - - // check "next" with avail space - for (var q=0; q 0) dir = seq[mode][q]; - } - - // define which side have more space - if (dir == null) { - dir = "bottom"; - for (var a in data) if (data[a] > data[dir]) dir = a; - } - - if (dir == mode) return false; - - return dir; - - } - - this._repaint = function() { - if (this.isVisible()) this._setPos(this._posData); - } - - this.clear = function() { - - if (this._nodeObj) { - if (window.dhx4.isIE && typeof(window.dhtmlXLayoutObject) == "function" && this._nodeObj instanceof window.dhtmlXLayoutObject) { - this.p.onmousedown = null; - } - if (this._nodeObj.unload) { - this._nodeObj.unload(); - } else if (this._nodeObj.destruct) { - this._nodeObj.destruct(); - } - this._nodeObj = this._nodeId = null; - // events if any - if (this._nodeObjEv != null) { - for (var q=0; qtbody - while (r.childNodes.length > 0) r.removeChild(r.lastChild); - - r = null; - - this.itemData = {}; - } - - this.hide = function() { - if (this.p.style.display != "none") { - this.p.style.display = "none"; - window.dhx4.zim.clear(this.conf.zi); - var id = this._lastId; - this._lastId = null; - this.callEvent("onHide",[id]); - // reset click/tuoch events types - this.conf.last_p_click = this.conf.last_body_click = null; - } - } - - this.isVisible = function() { - return (this.p.style.display == ""); - } - - this.itemData = {}; - - this.getItemData = function(id) { - if (!id) return this.itemData; - if (this.itemData[id]) return this.itemData[id]; - return {}; - } - - this.setSkin = function(skin) { - this.conf.skin = skin; - this.p.className = "dhx_popup_"+this.conf.skin; - if (this._nodeObj != null && typeof(this._nodeObj.setSkin) == "function") this._nodeObj.setSkin(this.conf.skin); - this._repaint(); - } - - this.attachList = function(template, data) { - - this._setTemplate(template); - - this.clear(); - var r = this.p.firstChild.firstChild.firstChild; // table->tbody - - for (var q=0; qtbody - - var tr = document.createElement("TR"); - tr.className = "dhxnode"; - r.appendChild(tr); - - var td = document.createElement("TD"); - td.className = "dhx_popup_td"; - td.innerHTML = "
              "; - - if (data.width) td.firstChild.style.width = data.width+"px"; - if (data.height) td.firstChild.style.height = data.height+"px"; - - tr.appendChild(td); - - td = tr = r = null; - - if (typeof(this["_attach_init_"+mode]) == "function") { - this["_attach_init_"+mode](data); - this._enableIEVFix(); - } - - this._repaint(); - - return this._nodeObj; - - } - - this.unload = function() { - - if (typeof(window.addEventListener) == "function") { - window.removeEventListener("touchstart", this._doOnClick, false); - window.removeEventListener("click", this._doOnClick, false); - window.removeEventListener("keyup", this._doOnKeyUp, false); - window.removeEventListener("unload", this._doOnUnload, false); - } else { - document.body.detachEvent("onclick", this._doOnClick, false); - document.body.detachEvent("onkeyup", this._doOnKeyUp, false); - document.body.detachEvent("onunload", this._doOnUnload, false); - } - window.dhx4.detachEvent(this.conf.ev_grid_click); - this.clear(); - - if (this.conf.toolbarEvent != null && this.conf.toolbar != null) { - if (this.conf.toolbar.detachEvent != null) { - // make sure toolbar wasn't unloaded - this.conf.toolbar.detachEvent(this.conf.toolbarEvent); - } else { - this.conf.toolbar._getItemDim = null; - } - } - - if (this.conf.ribbonEvent != null && this.conf.ribbon != null) { - if (this.conf.ribbon.detachEvent != null) { - this.conf.ribbon.detachEvent(this.conf.ribbonEvent); - } else { - this.conf.ribbon._getItemDim = null; - } - } - - if (this.conf.slider != null) { - for (var q=0; q= 0) { - if (t.parentNode != null && t.parentNode.parentNode != null && t.parentNode.parentNode._idd != null) { - id = t.parentNode.parentNode._idd; - if (t.parentNode.parentNode._type == "ra") id = [t.parentNode.parentNode._group, t.parentNode.parentNode._value]; - } - } else { - // check if button, editor or combo - var k = true; - var f = false; - while (k && !f) { - var p = (t.className||"").toLowerCase(); - if (p.length > 0) f = (p == "dhxform_btn" || p.search(/dhxeditor_inside/gi) >= 0 || p == "dhxcombo_input" || p.search(/dhxcombolist/gi) >=0); - t = t.parentNode; - k = (t != null); - } - if (f) return; - } - t = null; - if (id != null && that._idExists(id)) return; - } - // if popup has attached form - skin closing if list clicked (it attached to body) - if (typeof(window.dhtmlXForm) == "function" && that._nodeObj instanceof window.dhtmlXForm) { - var combos = {}; - var p = 0; - var form = that._nodeObj; - form.forEachItem(function(id){ - if (form.getItemType(id) == "combo") { - combos[form.getCombo(id).list._listId] = true; - p++; - } - }); - form = null; - // - if (p > 0) { - var t = (e.target||e.srcElement); - var k = true; - var f = false; - while (k == true && f != true) { - var p = (t.className||"").toLowerCase(); - if (p.length > 0 && p.search(/^dhxcombolist/gi) >=0 && t._listId != null && combos[t._listId] == true) { - f = true; - t = null; - } else { - t = t.parentNode; - k = (t != null); - } - } - if (f == true) { - // clicked combo belong to attached form, cancel popup hiding - return; - } - } - } - if (that.isVisible() && that.callEvent("onBeforeHide",["click",e]) === true) { - that.hide(); - } - } - this._doOnKeyUp = function(e) { - e = e||event; - if (e.keyCode == 27) { - if (that.isVisible() && that.callEvent("onBeforeHide",["esc",e]) === true) { - that.hide(); - } - } - } - this._doOnUnload = function() { - that.unload(); - } - - if (typeof(window.addEventListener) == "function") { - window.addEventListener("touchstart", this._doOnClick, false); - window.addEventListener("click", this._doOnClick, false); - window.addEventListener("keyup", this._doOnKeyUp, false); - window.addEventListener("unload", this._doOnUnload, false); - } else { - document.body.attachEvent("onclick", this._doOnClick, false); - document.body.attachEvent("onkeyup", this._doOnKeyUp, false); - document.body.attachEvent("onunload", this._doOnUnload, false); - } - - // grid canceling some events, but trigger inner event - this.conf.ev_grid_click = window.dhx4.attachEvent("_onGridClick", function(ev, grid){ - if (that.p.contains(grid.entBox)) { - // clicked grid is inside popup, attached directly or to any nested control - // do not hide popup by this click - } else { - // grid is outside of popup - that._clearClick = false; - that._doOnClick(ev); - } - grid = null; - }); - - this._findGrid = function(obj, grid) { - var gridFound = false; - if (typeof(window.dhtmlXTabBar) == "function" && obj instanceof window.dhtmlXTabBar) { - obj.forEachTab(function(tab){ - var nested = tab.getAttachedObject(); - if (gridFound == false && nested != null) { - gridFound = gridFound||(nested==grid)||this._findGrid(nested); - nested = null; - } - }); - } - // check if attached to form's container - if (typeof(window.dhtmlXForm) == "function" && obj instanceof window.dhtmlXForm) { - obj.forEachItem(function(id){ - if (gridFound != true && obj.getItemType(id) == "container" && grid.entBox == obj.getContainer(id)) { - gridFound = true; - } - }); - } - obj = null; - return gridFound; - }; - - this._idExists = function(id) { - var r = false; - for (var q=0; q= 0) { - this._lastIEHover.className = this._lastIEHover.className.replace(/\s{0,}tr_hover/gi, ""); - this._lastIEHover = null; - } - } - if (t != null && t.className.search(/tr_hover/gi) < 0) { - t.className += " tr_hover"; - that._lastIEHover = t; - } - } - this._IEHoverInited = true; - } - this._IEHoverClear = function() { - this.p.onmouseover = null; - this.p.onmouseout = null; - this._IEHoverInited = false; - } - } - - // IE6/7/8 first/last-child - this._IEFirstLast = (window.dhx4.isIE6 || window.dhx4.isIE7 || window.dhx4.isIE8); - - // IE6 visibility fix - this._enableIEVFix = function() { - if (window.dhx4.isIE6 || window.dhx4.isIE7) { - var e1 = this.attachEvent("onHide", function(){ - document.getElementById(this._nodeId).style.visibility = "hidden"; - }); - var e2 = this.attachEvent("onShow", function(){ - document.getElementById(this._nodeId).style.visibility = "visible"; - }); - if (this._nodeObjEv == null) this._nodeObjEv = []; - this._nodeObjEv.push(e1,e2); - } - } - - // auto-init, toolbar mode - if (typeof(window.dhtmlXToolbarObject) == "function" && this.conf.toolbar != null && this.conf.toolbar instanceof window.dhtmlXToolbarObject && this.conf.id != null) { - - if (!(this.conf.id instanceof Array)) this.conf.id = [this.conf.id]; - - this.skinParent = this.conf.toolbar.conf.skin; - - this._doOnToolbarClick = function(id) { - for (var q=0; q
              ":"")+ - "
              "; - - this.cell.insertBefore(t, this.cell.childNodes[this.conf.idx.cont]); - t = null; - - // include into content top offset calculation - this.conf.ofs_nodes.t._getHdrHeight = "func"; - - // show/hide - this.conf.hdr = {visible: true}; - - // include into index - this.conf.idx_data.hdr = "dhx_cell_sidebar_hdr"; - this._updateIdx(); - -}; - -dhtmlXSideBarCell.prototype._getHdrHeight = function() { - return this.cell.childNodes[this.conf.idx.hdr].offsetHeight; -}; - -// visibility -dhtmlXSideBarCell.prototype.showHeader = function() { - if (this.conf.hdr.visible == true) return; - this.conf.hdr.visible = true; - this.cell.childNodes[this.conf.idx.hdr].className = "dhx_cell_sidebar_hdr"; - this._adjustCont(this._idd); -}; - -dhtmlXSideBarCell.prototype.hideHeader = function() { - if (this.conf.hdr.visible != true) return; - this.conf.hdr.visible = false; - this.cell.childNodes[this.conf.idx.hdr].className = "dhx_cell_sidebar_hdr dhx_cell_sidebar_hdr_hidden"; - this._adjustCont(this._idd); -}; - -dhtmlXSideBarCell.prototype.isHeaderVisible = function() { - return (this.conf.hdr.visible==true); -}; - -// text -dhtmlXSideBarCell.prototype.setHeaderText = function(text) { - this.conf.text = text; - var t = this.cell.childNodes[this.conf.idx.hdr]; - t.childNodes[(t.firstChild.className=="dhx_cell_sidebar_hdr_icon"?1:0)].innerHTML = ""+text+""; - t = null; -}; - -dhtmlXSideBarCell.prototype.getHeaderText = function() { - return this.conf.text; -}; - diff --git a/themes/sources/dhtmlxSidebar/codebase/imgs/dhxsidebar_material/dhxsidebar_arrow_down.gif b/themes/sources/dhtmlxSidebar/codebase/imgs/dhxsidebar_material/dhxsidebar_arrow_down.gif deleted file mode 100644 index e04b449..0000000 Binary files a/themes/sources/dhtmlxSidebar/codebase/imgs/dhxsidebar_material/dhxsidebar_arrow_down.gif and /dev/null differ diff --git a/themes/sources/dhtmlxSidebar/codebase/imgs/dhxsidebar_material/dhxsidebar_arrow_up.gif b/themes/sources/dhtmlxSidebar/codebase/imgs/dhxsidebar_material/dhxsidebar_arrow_up.gif deleted file mode 100644 index c230d03..0000000 Binary files a/themes/sources/dhtmlxSidebar/codebase/imgs/dhxsidebar_material/dhxsidebar_arrow_up.gif and /dev/null differ diff --git a/themes/sources/dhtmlxSidebar/codebase/imgs/dhxsidebar_material/dhxsidebar_cell_progress.gif b/themes/sources/dhtmlxSidebar/codebase/imgs/dhxsidebar_material/dhxsidebar_cell_progress.gif deleted file mode 100644 index ff9a5e6..0000000 Binary files a/themes/sources/dhtmlxSidebar/codebase/imgs/dhxsidebar_material/dhxsidebar_cell_progress.gif and /dev/null differ diff --git a/themes/sources/dhtmlxSidebar/codebase/imgs/dhxsidebar_material/dhxsidebar_side_icon.gif b/themes/sources/dhtmlxSidebar/codebase/imgs/dhxsidebar_material/dhxsidebar_side_icon.gif deleted file mode 100644 index 30dfbba..0000000 Binary files a/themes/sources/dhtmlxSidebar/codebase/imgs/dhxsidebar_material/dhxsidebar_side_icon.gif and /dev/null differ diff --git a/themes/sources/dhtmlxSidebar/codebase/imgs/dhxsidebar_skyblue/dhxsidebar_arrow_down.gif b/themes/sources/dhtmlxSidebar/codebase/imgs/dhxsidebar_skyblue/dhxsidebar_arrow_down.gif deleted file mode 100644 index b44180f..0000000 Binary files a/themes/sources/dhtmlxSidebar/codebase/imgs/dhxsidebar_skyblue/dhxsidebar_arrow_down.gif and /dev/null differ diff --git a/themes/sources/dhtmlxSidebar/codebase/imgs/dhxsidebar_skyblue/dhxsidebar_arrow_up.gif b/themes/sources/dhtmlxSidebar/codebase/imgs/dhxsidebar_skyblue/dhxsidebar_arrow_up.gif deleted file mode 100644 index 560cbcf..0000000 Binary files a/themes/sources/dhtmlxSidebar/codebase/imgs/dhxsidebar_skyblue/dhxsidebar_arrow_up.gif and /dev/null differ diff --git a/themes/sources/dhtmlxSidebar/codebase/imgs/dhxsidebar_skyblue/dhxsidebar_cell_progress.gif b/themes/sources/dhtmlxSidebar/codebase/imgs/dhxsidebar_skyblue/dhxsidebar_cell_progress.gif deleted file mode 100644 index 1df5c43..0000000 Binary files a/themes/sources/dhtmlxSidebar/codebase/imgs/dhxsidebar_skyblue/dhxsidebar_cell_progress.gif and /dev/null differ diff --git a/themes/sources/dhtmlxSidebar/codebase/imgs/dhxsidebar_skyblue/dhxsidebar_side_icon.gif b/themes/sources/dhtmlxSidebar/codebase/imgs/dhxsidebar_skyblue/dhxsidebar_side_icon.gif deleted file mode 100644 index 30dfbba..0000000 Binary files a/themes/sources/dhtmlxSidebar/codebase/imgs/dhxsidebar_skyblue/dhxsidebar_side_icon.gif and /dev/null differ diff --git a/themes/sources/dhtmlxSidebar/codebase/imgs/dhxsidebar_terrace/dhxsidebar_arrow_down.gif b/themes/sources/dhtmlxSidebar/codebase/imgs/dhxsidebar_terrace/dhxsidebar_arrow_down.gif deleted file mode 100644 index e04b449..0000000 Binary files a/themes/sources/dhtmlxSidebar/codebase/imgs/dhxsidebar_terrace/dhxsidebar_arrow_down.gif and /dev/null differ diff --git a/themes/sources/dhtmlxSidebar/codebase/imgs/dhxsidebar_terrace/dhxsidebar_arrow_up.gif b/themes/sources/dhtmlxSidebar/codebase/imgs/dhxsidebar_terrace/dhxsidebar_arrow_up.gif deleted file mode 100644 index c230d03..0000000 Binary files a/themes/sources/dhtmlxSidebar/codebase/imgs/dhxsidebar_terrace/dhxsidebar_arrow_up.gif and /dev/null differ diff --git a/themes/sources/dhtmlxSidebar/codebase/imgs/dhxsidebar_terrace/dhxsidebar_cell_progress.gif b/themes/sources/dhtmlxSidebar/codebase/imgs/dhxsidebar_terrace/dhxsidebar_cell_progress.gif deleted file mode 100644 index 7c30859..0000000 Binary files a/themes/sources/dhtmlxSidebar/codebase/imgs/dhxsidebar_terrace/dhxsidebar_cell_progress.gif and /dev/null differ diff --git a/themes/sources/dhtmlxSidebar/codebase/imgs/dhxsidebar_terrace/dhxsidebar_side_icon.gif b/themes/sources/dhtmlxSidebar/codebase/imgs/dhxsidebar_terrace/dhxsidebar_side_icon.gif deleted file mode 100644 index 30dfbba..0000000 Binary files a/themes/sources/dhtmlxSidebar/codebase/imgs/dhxsidebar_terrace/dhxsidebar_side_icon.gif and /dev/null differ diff --git a/themes/sources/dhtmlxSidebar/codebase/imgs/dhxsidebar_web/dhxsidebar_arrow_down.gif b/themes/sources/dhtmlxSidebar/codebase/imgs/dhxsidebar_web/dhxsidebar_arrow_down.gif deleted file mode 100644 index 38fe0c9..0000000 Binary files a/themes/sources/dhtmlxSidebar/codebase/imgs/dhxsidebar_web/dhxsidebar_arrow_down.gif and /dev/null differ diff --git a/themes/sources/dhtmlxSidebar/codebase/imgs/dhxsidebar_web/dhxsidebar_arrow_up.gif b/themes/sources/dhtmlxSidebar/codebase/imgs/dhxsidebar_web/dhxsidebar_arrow_up.gif deleted file mode 100644 index 6f7fb10..0000000 Binary files a/themes/sources/dhtmlxSidebar/codebase/imgs/dhxsidebar_web/dhxsidebar_arrow_up.gif and /dev/null differ diff --git a/themes/sources/dhtmlxSidebar/codebase/imgs/dhxsidebar_web/dhxsidebar_cell_progress.gif b/themes/sources/dhtmlxSidebar/codebase/imgs/dhxsidebar_web/dhxsidebar_cell_progress.gif deleted file mode 100644 index ff9a5e6..0000000 Binary files a/themes/sources/dhtmlxSidebar/codebase/imgs/dhxsidebar_web/dhxsidebar_cell_progress.gif and /dev/null differ diff --git a/themes/sources/dhtmlxSidebar/codebase/imgs/dhxsidebar_web/dhxsidebar_side_icon.gif b/themes/sources/dhtmlxSidebar/codebase/imgs/dhxsidebar_web/dhxsidebar_side_icon.gif deleted file mode 100644 index d42cf12..0000000 Binary files a/themes/sources/dhtmlxSidebar/codebase/imgs/dhxsidebar_web/dhxsidebar_side_icon.gif and /dev/null differ diff --git a/themes/sources/dhtmlxSidebar/codebase/skins/dhtmlxsidebar_dhx_skyblue.css b/themes/sources/dhtmlxSidebar/codebase/skins/dhtmlxsidebar_dhx_skyblue.css deleted file mode 100644 index 89053df..0000000 --- a/themes/sources/dhtmlxSidebar/codebase/skins/dhtmlxsidebar_dhx_skyblue.css +++ /dev/null @@ -1,594 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: dhx_skyblue - include extra file: skins/dhx_skyblue.less -*/ - -.dhxsidebar_base_dhx_skyblue { - position: relative; - cursor: default; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont { - position: absolute; - cursor: default; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side { - position: absolute; - left: 0px; - top: 0px; - background-color: #f5f5f5; - border-style: solid; - border-color: #a4bed4; - border-width: 1px 1px 0px 1px; - overflow: hidden; - z-index: 5; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - -webkit-tap-highlight-color: rgba(0,0,0,0); -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items { - position: absolute; - width: 100%; - overflow: hidden; - -ms-touch-action: none; - -webkit-transition: top 0.2s; - -moz-transition: top 0.2s; - -ms-transition: top 0.2s; - -o-transition: top 0.2s; - transition: top 0.2s; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item { - position: relative; - padding: 0px 10px; - z-index: 1; - cursor: default; - margin: 1px 2px; - border: 1px solid #f5f5f5; - background-color: #f5f5f5; - overflow: hidden; - opacity: 1; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100); - font-family: Tahoma, Helvetica; - font-size: 11px; - color: black; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - -webkit-touch-callout: none; - -ms-touch-action: none; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_hidden { - height: 0px !important; - margin: 0px 0px; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item:hover { - background-color: #f1f7ff; - border-color: #b9cdde; - z-index: 2; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_selected { - z-index: 3; - border-color: #a4bed4; - background-color: #b5deff; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon { - position: absolute; - left: 9px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text { - position: absolute; - left: 0px; - top: 0px; - height: inherit; - line-height: inherit; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_bubble { - position: absolute; - width: 15px; - height: 15px; - line-height: 14px; - right: 5px; - top: 2px; - border-radius: 10px; - background-color: #ff2222; - border: 2px solid #f5f5f5; - font-family: Tahoma; - font-size: 10px; - text-align: center; - font-weight: bold; - color: white; - cursor: default; - overflow: hidden; - z-index: 1; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item:hover div.dhxsidebar_bubble { - border-color: #f1f7ff; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_selected div.dhxsidebar_bubble { - border-color: white; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_sep { - position: relative; - height: 1px; - margin: 5px 14px; - overflow: hidden; - background: #cccccc; - background: -moz-linear-gradient(left,#ebebeb 0%,#cccccc 50%,#ebebeb 100%); - background: -webkit-gradient(linear,left top,right top,color-stop(0%,#ebebeb),color-stop(50%,#cccccc),color-stop(100%,#ebebeb)); - background: -webkit-linear-gradient(left,#ebebeb 0%,#cccccc 50%,#ebebeb 100%); - background: -o-linear-gradient(left,#ebebeb 0%,#cccccc 50%,#ebebeb 100%); - background: -ms-linear-gradient(left,#ebebeb 0%,#cccccc 50%,#ebebeb 100%); - background: linear-gradient(to right,#ebebeb 0%,#cccccc 50%,#ebebeb 100%); -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_touch div.dhxsidebar_side_items div.dhxsidebar_item:hover { - border-color: #f5f5f5; - background-color: #f5f5f5; - z-index: 1; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_touch div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_selected { - z-index: 3; - border-color: #a4bed4; - background-color: #b5deff; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_details div.dhxsidebar_side_items div.dhxsidebar_item { - height: 23px; - line-height: 23px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_details div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon { - top: 3px; - width: 16px; - height: 16px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_details div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text { - padding-left: 34px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_details div.dhxsidebar_side_items div.dhxsidebar_sep { - margin-top: 2px; - margin-bottom: 2px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item { - height: 43px; - line-height: 43px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon { - top: 5px; - width: 32px; - height: 32px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text { - padding-left: 50px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_bubble { - top: 12px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons div.dhxsidebar_side_items div.dhxsidebar_item { - height: 43px; - line-height: 43px; - text-align: center; - padding-left: 4px; - padding-right: 4px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon { - position: relative; - display: inline; - left: 0px; - top: 5px; - width: 32px; - height: 32px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons div.dhxsidebar_side_items div.dhxsidebar_sep { - margin: 3px 6px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons_text div.dhxsidebar_side_items div.dhxsidebar_item { - height: 62px; - line-height: 1em; - text-align: center; - padding-left: 4px; - padding-right: 4px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons_text div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon { - position: relative; - display: inline; - left: 0px; - top: 4px; - width: 32px; - height: 32px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons_text div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text { - position: relative; - display: block; - height: 16px; - margin-top: 10px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons_text div.dhxsidebar_side_items div.dhxsidebar_sep { - margin: 3px 6px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_text div.dhxsidebar_side_items div.dhxsidebar_item { - height: 23px; - line-height: 23px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_text div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text { - padding-left: 14px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_text div.dhxsidebar_side_items div.dhxsidebar_sep { - margin-top: 2px; - margin-bottom: 2px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar { - position: absolute; - background-color: white; - margin: 0px; - padding: 0px; - overflow: hidden; - cursor: default; - z-index: 0; - background-image: none !important; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_cont_sidebar { - position: absolute; - border-left: 0px solid #a4bed4; - border-right: 1px solid #a4bed4; - border-bottom: 1px solid #a4bed4; - border-top: 1px solid #a4bed4; - overflow: hidden; - z-index: 0; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_cont_sidebar.dhx_cell_cont_no_borders { - border-width: 0px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr { - position: relative; - height: 27px; - line-height: 26px; - overflow: hidden; - font-weight: bold; - border-color: #a4bed4; - border-style: solid; - border-width: 1px 1px 0px 0px; - cursor: default; - z-index: 1; - font-family: Tahoma, Helvetica; - font-size: 11px; - color: #34404b; - background-color: #e2efff; - background: linear-gradient(#e2efff,#d3e7ff); - background: -webkit-linear-gradient(#e2efff,#d3e7ff); - filter: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e2efff,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - -webkit-tap-highlight-color: rgba(0,0,0,0); -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr.dhx_cell_sidebar_hdr_hidden { - border-width: 0px; - height: 0px; - line-height: 0px; - overflow: hidden; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr div.dhx_cell_sidebar_hdr_text { - position: relative; - margin: 0px 10px; - overflow: hidden; - white-space: nowrap; - cursor: default; - text-align: left; - height: 100%; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr div.dhx_cell_sidebar_hdr_text.dhx_cell_sidebar_hdr_text_icon { - margin-left: 34px !important; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr div.dhx_cell_sidebar_hdr_icon { - position: absolute; - top: 0px; - left: 10px; - width: 16px; - height: 100%; - background-image: url("../imgs/dhxsidebar_skyblue/dhxsidebar_side_icon.gif"); - background-position: center center; - background-repeat: no-repeat; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_menu_def { - position: relative; - overflow: hidden; - border-width: 0px 1px 1px 1px; - border-color: #a4bed4; - border-style: solid; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_menu_def div.dhtmlxMenu_dhx_skyblue_Middle { - padding: 0px 2px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_menu_no_borders { - position: relative; - overflow: hidden; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_menu_no_borders div.dhtmlxMenu_dhx_skyblue_Middle { - padding: 0px 2px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_toolbar_def { - position: relative; - overflow: hidden; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_toolbar_def div.dhx_toolbar_dhx_skyblue { - border-top-width: 0px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_dhx_skyblue { - margin-top: -1px; - width: auto; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhtmlxribbon_dhx_skyblue.dhxrb_without_tabbar { - border-top-width: 0px; - width: auto; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_statusbar_def { - position: absolute; - bottom: 0px; - width: 100%; - background-color: #ddecff; - font-family: Tahoma, Helvetica; - font-size: 11px; - color: black; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - position: relative; - padding: 0px 4px; - height: 21px; - line-height: 21px; - border-bottom: 1px solid #a4bed4; - border-left: 1px solid #a4bed4; - border-right: 1px solid #a4bed4; - white-space: nowrap; - overflow: hidden; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_progress_bar { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: white; - z-index: 5; - opacity: 0.75; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=75); -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_progress_img { - position: absolute; - left: 0px; - top: 0px; - border: 1px solid #a4bed4; - background-position: center 55%; - background-image: url('../imgs/dhxsidebar_skyblue/dhxsidebar_cell_progress.gif'); - background-repeat: no-repeat; - cursor: progress; - z-index: 6; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_menu_def { - border-width: 1px 1px 0px 0px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_toolbar_def div.dhx_toolbar_dhx_skyblue { - border-width: 1px 1px 0px 0px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhxrb_with_itembar.dhxtabbar_base_dhx_skyblue { - margin-left: -1px; - margin-bottom: -1px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhtmlxribbon_dhx_skyblue.dhxrb_without_tabbar { - border-width: 1px 1px 0px 0px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - border-left-width: 0px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_progress_img { - border-left-width: 0px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_cont_sidebar, -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr, -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_menu_def, -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_toolbar_def div.dhx_toolbar_dhx_skyblue, -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhtmlxribbon_dhx_skyblue.dhxrb_without_tabbar, -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - border-left-width: 1px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont.dhxsidebar_autohide { - overflow: hidden; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont.dhxsidebar_autohide div.dhxsidebar_side { - -webkit-transition: left 0.2s; - -moz-transition: left 0.2s; - -ms-transition: left 0.2s; - -o-transition: left 0.2s; - transition: left 0.2s; - box-shadow: 0px 2px 8px rgba(127,127,127,0.4); -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont.dhxsidebar_autohide div.dhxsidebar_arrows { - -webkit-transition: left 0.2s; - -moz-transition: left 0.2s; - -ms-transition: left 0.2s; - -o-transition: left 0.2s; - transition: left 0.2s; - box-shadow: 0px 4px 6px rgba(127,127,127,0.4); -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side_cover { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - overflow: hidden; - background-color: #fff; - z-index: 3; - -webkit-transition: opacity 0.3s; - -moz-transition: opacity 0.3s; - -ms-transition: opacity 0.3s; - -o-transition: opacity 0.3s; - transition: opacity 0.3s; - opacity: 0.0001; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side_cover.dhxsidebar_side_cover_actv { - opacity: 0.6; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=60); -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_arrows { - position: absolute; - left: 0px; - bottom: 0px; - height: 24px; - border-color: #a4bed4; - border-style: solid; - border-width: 1px 1px 1px 1px; - font-size: 1px; - overflow: hidden; - z-index: 6; - -webkit-tap-highlight-color: rgba(0,0,0,0); - -ms-touch-action: none; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_arrows.dhxsidebar_arrows_hidden { - height: 0px; - border-width: 0px 1px 1px 1px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow { - position: absolute; - width: 50%; - height: 100%; - top: 0px; - font-size: 1px; - overflow: hidden; - z-index: 1; - background-color: #e2efff; - background: linear-gradient(#e2efff,#d3e7ff); - background: -webkit-linear-gradient(#e2efff,#d3e7ff); - filter: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e2efff,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100); -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_left { - left: 0px; - border-right: 1px solid #a4bed4; - z-index: 2; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_left div.dhxsidebar_arrow_image { - background-image: url("../imgs/dhxsidebar_skyblue/dhxsidebar_arrow_up.gif"); -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_right { - right: 0px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_right div.dhxsidebar_arrow_image { - background-image: url("../imgs/dhxsidebar_skyblue/dhxsidebar_arrow_down.gif"); -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow div.dhxsidebar_arrow_image { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-repeat: no-repeat; - background-position: center center; - font-size: 1px; - overflow: hidden; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow:active { - background-color: #d2e7fe; - background: linear-gradient(#d2e7fe,#d3e7ff); - background: -webkit-linear-gradient(#d2e7fe,#d3e7ff); - filter: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#d2e7fe,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100); - box-shadow: 0 0 5px rgba(127,127,127,0.15) inset; -} -.dhxsidebar_base_dhx_skyblue div.dhxcelltop_progress { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: white; - z-index: 3; - opacity: 0.55; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=55); -} -.dhxsidebar_base_dhx_skyblue div.dhxcelltop_progress_img { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-image: url('../imgs/dhxsidebar_skyblue/dhxsidebar_cell_progress.gif'); - background-position: center center; - background-repeat: no-repeat; - z-index: 4; -} -.dhxsidebar_base_dhx_skyblue div.dhxcelltop_hdr { - position: relative; -} -.dhxsidebar_base_dhx_skyblue div.dhxcelltop_ftr { - position: absolute; -} -.dhxsidebar_base_dhx_skyblue div.dhxcelltop_menu { - position: relative; - overflow: hidden; -} -.dhxsidebar_base_dhx_skyblue div.dhxcelltop_toolbar { - position: relative; - background-color: #ebebeb; - padding-bottom: 4px; - overflow: hidden; -} -.dhxsidebar_base_dhx_skyblue div.dhxcelltop_ribbon { - padding-bottom: 4px; - position: relative; -} -.dhxsidebar_base_dhx_skyblue div.dhxcelltop_ribbon div.dhtmlxribbon_dhx_skyblue.dhxrb_without_tabbar { - width: auto; -} -.dhxsidebar_base_dhx_skyblue div.dhxcelltop_statusbar { - position: absolute; - bottom: 0px; - width: 100%; - background-color: #ebebeb; - overflow: hidden; -} -.dhxsidebar_base_dhx_skyblue div.dhxcelltop_statusbar div.dhxcont_statusbar { - position: relative; - margin-top: 4px; - border: 1px solid #a4bed4; - background-color: #ddecff; - padding: 7px 6px; - font-family: Tahoma, Helvetica; - font-size: 11px; - color: black; -} -.dhxsidebar_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 10px; - height: 10px; - overflow: hidden; -} diff --git a/themes/sources/dhtmlxSidebar/codebase/skins/dhtmlxsidebar_dhx_terrace.css b/themes/sources/dhtmlxSidebar/codebase/skins/dhtmlxsidebar_dhx_terrace.css deleted file mode 100644 index 0b2d535..0000000 --- a/themes/sources/dhtmlxSidebar/codebase/skins/dhtmlxsidebar_dhx_terrace.css +++ /dev/null @@ -1,573 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: dhx_terrace - include extra file: skins/dhx_terrace.less -*/ - -.dhxsidebar_base_dhx_terrace { - position: relative; - cursor: default; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont { - position: absolute; - cursor: default; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side { - position: absolute; - left: 0px; - top: 0px; - background-color: #f5f5f5; - border-style: solid; - border-color: #cccccc; - border-width: 1px 1px 0px 1px; - overflow: hidden; - z-index: 5; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - -webkit-tap-highlight-color: rgba(0,0,0,0); -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items { - position: absolute; - width: 100%; - overflow: hidden; - box-sizing: border-box; - -ms-touch-action: none; - -webkit-transition: top 0.2s; - -moz-transition: top 0.2s; - -ms-transition: top 0.2s; - -o-transition: top 0.2s; - transition: top 0.2s; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item { - position: relative; - padding: 0px 10px; - z-index: 1; - cursor: default; - margin: 1px 0px; - background-color: #f5f5f5; - overflow: hidden; - opacity: 1; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100); - font-family: Arial, Helvetica; - font-size: 13px; - color: #333333; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - -ms-touch-action: none; - -webkit-touch-callout: none; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_hidden { - height: 0px !important; - margin: 0px 0px; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item:hover { - background-color: #f0f0f0; - z-index: 2; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_selected { - z-index: 3; - background-color: #fff3a1; - color: black; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon { - position: absolute; - left: 9px; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text { - position: absolute; - left: 0px; - top: 0px; - height: inherit; - line-height: inherit; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_bubble { - position: absolute; - width: 15px; - height: 15px; - line-height: 14px; - right: 5px; - top: 5px; - border-radius: 10px; - background-color: #f5f5f5; - border: 1px solid #333333; - font-family: Tahoma; - font-size: 10px; - text-align: center; - font-weight: normal; - color: #333333; - cursor: default; - overflow: hidden; - z-index: 1; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item:hover div.dhxsidebar_bubble { - background-color: #f0f0f0; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_selected div.dhxsidebar_bubble { - background-color: #fff3a1; - color: black; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_sep { - position: relative; - height: 1px; - margin: 1px 0px; - overflow: hidden; - background-color: #e8e8e8; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_touch div.dhxsidebar_side_items div.dhxsidebar_item:hover { - background-color: #f5f5f5; - z-index: 1; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_touch div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_selected { - z-index: 3; - background-color: #fff3a1; - color: black; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_details div.dhxsidebar_side_items div.dhxsidebar_item { - height: 27px; - line-height: 27px; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_details div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon { - top: 5px; - width: 16px; - height: 16px; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_details div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text { - padding-left: 34px; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item { - height: 47px; - line-height: 47px; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon { - top: 7px; - width: 32px; - height: 32px; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text { - padding-left: 50px; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_bubble { - top: 15px; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons div.dhxsidebar_side_items div.dhxsidebar_item { - height: 47px; - line-height: 47px; - text-align: center; - padding-left: 4px; - padding-right: 4px; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon { - position: relative; - display: inline; - left: 0px; - top: 7px; - width: 32px; - height: 32px; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons_text div.dhxsidebar_side_items div.dhxsidebar_item { - height: 66px; - line-height: 1em; - text-align: center; - padding-left: 4px; - padding-right: 4px; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons_text div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon { - position: relative; - display: inline; - left: 0px; - top: 4px; - width: 32px; - height: 32px; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons_text div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text { - position: relative; - display: block; - height: 16px; - margin-top: 10px; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_text div.dhxsidebar_side_items div.dhxsidebar_item { - height: 27px; - line-height: 27px; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_text div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text { - padding-left: 14px; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar { - position: absolute; - background-color: #ffffff; - margin: 0px; - padding: 0px; - overflow: hidden; - cursor: default; - z-index: 0; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar.dhx_cell_cont_no_top div.dhx_cell_cont_sidebar { - border-top-color: #ffffff; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_cont_sidebar { - position: absolute; - border-style: solid; - border-color: #cccccc; - border-width: 1px 1px 1px 0px; - overflow: hidden; - z-index: 0; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_cont_sidebar.dhx_cell_cont_no_borders { - border-width: 0px; - padding: 0px; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_menu_def { - position: relative; - overflow: hidden; - border-top: 1px solid #cccccc; - border-right: 1px solid #cccccc; - padding: 8px 8px 0px 8px; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_menu_no_borders { - position: relative; - overflow: hidden; - padding-left: 8px; - padding-bottom: 8px; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhtmlxMenu_dhx_terrace_Middle { - padding: 0px 2px; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_toolbar_def { - position: relative; - overflow: hidden; - padding: 8px 8px 0px 8px; - border-top: 1px solid #cccccc; - border-right: 1px solid #cccccc; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_toolbar_no_borders { - padding-left: 8px; - padding-bottom: 8px; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def { - position: relative; - overflow: hidden; - padding: 4px 4px 0px 4px; - border-top: 1px solid #cccccc; - border-right: 1px solid #cccccc; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_dhx_web { - border-width: 0px; - width: auto; - margin: 4px 4px 0px 4px; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhtmlxribbon_dhx_terrace.dhxrb_without_tabbar { - border-width: 0px; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_no_borders { - position: relative; - overflow: hidden; - padding: 0; - padding: 0px 0px 8px 8px; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_no_borders div.dhtmlxribbon_dhx_web.dhxrb_without_tabbar { - width: auto; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_statusbar_def { - position: absolute; - bottom: 0px; - width: 100%; - font-family: Arial, Helvetica; - font-size: 13px; - color: #333333; - background-color: #f5f5f5; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - position: relative; - padding: 0px 4px; - height: 24px; - line-height: 24px; - border-bottom: 1px solid #cccccc; - border-left: 1px solid #cccccc; - border-right: 1px solid #cccccc; - white-space: nowrap; - overflow: hidden; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_progress_bar { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: #ffffff; - opacity: 0.75; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=75); - z-index: 1; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_progress_img { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-image: url('../imgs/dhxsidebar_terrace/dhxsidebar_cell_progress.gif'); - background-position: center center; - background-repeat: no-repeat; - z-index: 2; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr { - position: relative; - background-color: #f5f5f5; - height: 36px; - line-height: 35px; - font-weight: normal; - overflow: hidden; - cursor: default; - z-index: 1; - border: 1px solid #cccccc; - font-family: Arial, Helvetica; - font-size: 13px; - color: #333333; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - -webkit-tap-highlight-color: rgba(0,0,0,0); -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr.dhx_cell_sidebar_hdr_hidden { - border-width: 1px 0px 0px 0px; - height: 0px; - line-height: 0px; - overflow: hidden; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr div.dhx_cell_sidebar_hdr_text { - position: relative; - margin: 0px 10px; - overflow: hidden; - white-space: nowrap; - cursor: default; - text-align: left; - height: 100%; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr div.dhx_cell_sidebar_hdr_text.dhx_cell_sidebar_hdr_text_icon { - margin-left: 34px !important; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr div.dhx_cell_sidebar_hdr_icon { - position: absolute; - top: 0px; - left: 10px; - width: 16px; - height: 100%; - background-image: url("../imgs/dhxsidebar_terrace/dhxsidebar_side_icon.gif"); - background-position: center center; - background-repeat: no-repeat; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_cont_sidebar { - border-left-width: 1px; - border-top-width: 0px; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_cont_sidebar.dhx_cell_cont_no_borders { - border-left-width: 0px; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_menu_def, -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_toolbar_def, -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_ribbon_def { - border-top-width: 0px; - border-left: 1px solid #cccccc; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont.dhxsidebar_autohide { - overflow: hidden; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont.dhxsidebar_autohide div.dhxsidebar_side { - -webkit-transition: left 0.2s; - -moz-transition: left 0.2s; - -ms-transition: left 0.2s; - -o-transition: left 0.2s; - transition: left 0.2s; - box-shadow: 0px 2px 8px rgba(127,127,127,0.4); -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont.dhxsidebar_autohide div.dhxsidebar_arrows { - -webkit-transition: left 0.2s; - -moz-transition: left 0.2s; - -ms-transition: left 0.2s; - -o-transition: left 0.2s; - transition: left 0.2s; - box-shadow: 0px 4px 6px rgba(127,127,127,0.4); -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side_cover { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - overflow: hidden; - background-color: #fff; - z-index: 3; - -webkit-transition: opacity 0.3s; - -moz-transition: opacity 0.3s; - -ms-transition: opacity 0.3s; - -o-transition: opacity 0.3s; - transition: opacity 0.3s; - opacity: 0.0001; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side_cover.dhxsidebar_side_cover_actv { - opacity: 0.6; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=60); -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_arrows { - position: absolute; - left: 0px; - bottom: 0px; - height: 24px; - border: 1px solid #cccccc; - background-color: #f5f5f5; - font-size: 1px; - overflow: hidden; - z-index: 6; - -webkit-tap-highlight-color: rgba(0,0,0,0); - -ms-touch-action: none; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_arrows.dhxsidebar_arrows_hidden { - height: 0px; - border-width: 0px 1px 1px 1px; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow { - position: absolute; - width: 50%; - height: 100%; - top: 0px; - font-size: 1px; - overflow: hidden; - z-index: 1; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_left { - left: 0px; - border-right: 1px solid #cccccc; - z-index: 2; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_left div.dhxsidebar_arrow_image { - background-image: url("../imgs/dhxsidebar_terrace/dhxsidebar_arrow_up.gif"); -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_right { - right: 0px; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_right div.dhxsidebar_arrow_image { - background-image: url("../imgs/dhxsidebar_terrace/dhxsidebar_arrow_down.gif"); -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow div.dhxsidebar_arrow_image { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-repeat: no-repeat; - background-position: center center; - font-size: 1px; - overflow: hidden; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow:hover { - background-color: #f0f0f0; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow:active { - background-color: #ebebeb; -} -.dhxsidebar_base_dhx_terrace div.dhxcelltop_progress { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: white; - z-index: 3; - opacity: 0.55; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=55); -} -.dhxsidebar_base_dhx_terrace div.dhxcelltop_progress_img { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-image: url('../imgs/dhxsidebar_terrace/dhxsidebar_cell_progress.gif'); - background-position: center center; - background-repeat: no-repeat; - z-index: 4; -} -.dhxsidebar_base_dhx_terrace div.dhxcelltop_hdr { - position: relative; -} -.dhxsidebar_base_dhx_terrace div.dhxcelltop_ftr { - position: absolute; -} -.dhxsidebar_base_dhx_terrace div.dhxcelltop_menu { - position: relative; - overflow: hidden; - padding-left: 0px; - padding-right: 0px; - padding-bottom: 10px; -} -.dhxsidebar_base_dhx_terrace div.dhxcelltop_toolbar { - position: relative; - padding-bottom: 10px; - overflow: hidden; -} -.dhxsidebar_base_dhx_terrace div.dhxcelltop_toolbar div.dhx_toolbar_dhx_terrace { - padding-left: 0px; - padding-right: 0px; -} -.dhxsidebar_base_dhx_terrace div.dhxcelltop_ribbon { - padding-bottom: 10px; - position: relative; -} -.dhxsidebar_base_dhx_terrace div.dhxcelltop_ribbon div.dhtmlxribbon_dhx_terrace.dhxrb_without_tabbar { - width: auto; -} -.dhxsidebar_base_dhx_terrace div.dhxcelltop_statusbar { - position: absolute; - background-color: #ffffff; - overflow: hidden; -} -.dhxsidebar_base_dhx_terrace div.dhxcelltop_statusbar div.dhxcont_statusbar { - position: relative; - margin-top: 10px; - border: 1px solid #cccccc; - background-color: #f5f5f5; - font-family: Arial, Helvetica; - font-size: 13px; - color: #333333; - padding: 3px 4px; -} -.dhxsidebar_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 30px; - height: 10px; - overflow: hidden; -} diff --git a/themes/sources/dhtmlxSidebar/codebase/skins/dhtmlxsidebar_dhx_web.css b/themes/sources/dhtmlxSidebar/codebase/skins/dhtmlxsidebar_dhx_web.css deleted file mode 100644 index 60b699b..0000000 --- a/themes/sources/dhtmlxSidebar/codebase/skins/dhtmlxsidebar_dhx_web.css +++ /dev/null @@ -1,573 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: dhx_web - include extra file: skins/dhx_web.less -*/ - -.dhxsidebar_base_dhx_web { - position: relative; - cursor: default; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont { - position: absolute; - cursor: default; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side { - position: absolute; - left: 0px; - top: 0px; - background-color: #3da0e3; - border-top: 10px solid #3da0e3; - overflow: hidden; - z-index: 5; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - -webkit-tap-highlight-color: rgba(0,0,0,0); -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items { - position: absolute; - width: 100%; - overflow: hidden; - -ms-touch-action: none; - -webkit-transition: top 0.2s; - -moz-transition: top 0.2s; - -ms-transition: top 0.2s; - -o-transition: top 0.2s; - transition: top 0.2s; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item { - position: relative; - padding: 0px 10px; - z-index: 1; - cursor: default; - margin: 1px 10px; - background-color: #3da0e3; - overflow: hidden; - opacity: 1; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100); - font-family: Tahoma, Helvetica; - font-size: 12px; - color: #ffffff; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - -ms-touch-action: none; - -webkit-touch-callout: none; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_hidden { - height: 0px !important; - margin: 0px 0px; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item:hover { - background-color: #4aa7e5; - z-index: 2; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_selected { - z-index: 3; - background-color: #1e88cf; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon { - position: absolute; - left: 9px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text { - position: absolute; - left: 0px; - top: 0px; - height: inherit; - line-height: inherit; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_bubble { - position: absolute; - width: 15px; - height: 15px; - line-height: 14px; - right: 4px; - top: 4px; - border-radius: 10px; - background-color: #3da0e3; - border: 1px solid #ffffff; - font-family: Tahoma; - font-size: 10px; - text-align: center; - font-weight: normal; - color: #ffffff; - cursor: default; - overflow: hidden; - z-index: 1; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item:hover div.dhxsidebar_bubble { - background-color: #4aa7e5; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_selected div.dhxsidebar_bubble { - background-color: #1e88cf; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_sep { - position: relative; - height: 1px; - margin: 8px 10px; - overflow: hidden; - background-color: #65b4e9; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_touch div.dhxsidebar_side_items div.dhxsidebar_item:hover { - background-color: #3da0e3; - z-index: 1; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_touch div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_selected { - z-index: 3; - background-color: #1e88cf; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_details div.dhxsidebar_side_items div.dhxsidebar_item { - height: 25px; - line-height: 25px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_details div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon { - top: 4px; - width: 16px; - height: 16px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_details div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text { - padding-left: 34px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item { - height: 43px; - line-height: 43px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon { - top: 5px; - width: 32px; - height: 32px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text { - padding-left: 50px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_bubble { - top: 14px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons div.dhxsidebar_side_items div.dhxsidebar_item { - height: 43px; - line-height: 43px; - text-align: center; - padding-left: 4px; - padding-right: 4px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon { - position: relative; - display: inline; - left: 0px; - top: 5px; - width: 32px; - height: 32px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons_text div.dhxsidebar_side_items div.dhxsidebar_item { - height: 62px; - line-height: 1em; - text-align: center; - padding-left: 4px; - padding-right: 4px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons_text div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon { - position: relative; - display: inline; - left: 0px; - top: 4px; - width: 32px; - height: 32px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons_text div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text { - position: relative; - display: block; - height: 16px; - margin-top: 10px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_text div.dhxsidebar_side_items div.dhxsidebar_item { - height: 23px; - line-height: 23px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_text div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text { - padding-left: 14px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_text div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_bubble { - top: 3px; - right: 3px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar { - position: absolute; - background-color: white; - margin: 0px; - padding: 0px; - overflow: hidden; - cursor: default; - z-index: 0; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar.dhx_cell_cont_no_top div.dhx_cell_cont_sidebar { - border-top-color: #ffffff; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_cont_sidebar { - position: absolute; - border-style: solid; - border-color: #c7c7c7; - border-width: 1px 1px 1px 0px; - padding: 8px; - overflow: hidden; - z-index: 0; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_cont_sidebar.dhx_cell_cont_no_borders { - border-width: 0px; - padding: 0px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_progress_bar { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: #ffffff; - z-index: 1; - opacity: 0.75; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=75); -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_progress_img { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-image: url('../imgs/dhxsidebar_web/dhxsidebar_cell_progress.gif'); - background-position: center center; - background-repeat: no-repeat; - z-index: 2; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_menu_def { - position: relative; - overflow: hidden; - border-top: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; - padding: 8px 8px 0px 8px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_menu_no_borders { - position: relative; - overflow: hidden; - padding-left: 8px; - padding-bottom: 8px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhtmlxMenu_dhx_web_Middle { - padding: 0px 2px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_toolbar_def { - position: relative; - overflow: hidden; - padding: 8px 8px 0px 8px; - border-top: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_toolbar_no_borders { - padding-left: 8px; - padding-bottom: 8px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def { - position: relative; - overflow: hidden; - padding: 4px 4px 0px 4px; - border-top: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_dhx_web { - border-width: 0px; - width: auto; - margin: 4px 4px 0px 4px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhtmlxribbon_dhx_web.dhxrb_without_tabbar { - border-width: 0px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_no_borders { - position: relative; - overflow: hidden; - padding: 0px 0px 8px 8px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_no_borders div.dhtmlxribbon_dhx_web.dhxrb_without_tabbar { - width: auto; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_statusbar_def { - position: absolute; - bottom: 0px; - width: 100%; - font-family: Tahoma, Helvetica; - font-size: 12px; - color: #000000; - background-color: #f4f4f4; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - position: relative; - padding: 0px 4px; - height: 24px; - line-height: 25px; - border-bottom: 1px solid #c7c7c7; - border-left: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; - white-space: nowrap; - overflow: hidden; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr { - position: relative; - background-color: #2589ce; - height: 32px; - line-height: 30px; - font-weight: normal; - overflow: hidden; - cursor: default; - z-index: 1; - font-family: Tahoma, Helvetica; - font-size: 12px; - color: #ffffff; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - -webkit-tap-highlight-color: rgba(0,0,0,0); -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr.dhx_cell_sidebar_hdr_hidden { - border-top: 1px solid #c7c7c7; - height: 0px; - line-height: 0px; - overflow: hidden; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr div.dhx_cell_sidebar_hdr_text { - position: relative; - margin: 0px 10px; - overflow: hidden; - white-space: nowrap; - cursor: default; - text-align: left; - height: 100%; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr div.dhx_cell_sidebar_hdr_text.dhx_cell_sidebar_hdr_text_icon { - margin-left: 34px !important; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr div.dhx_cell_sidebar_hdr_icon { - position: absolute; - top: 0px; - left: 10px; - width: 16px; - height: 100%; - background-image: url("../imgs/dhxsidebar_web/dhxsidebar_side_icon.gif"); - background-position: center center; - background-repeat: no-repeat; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_cont_sidebar { - border-left-width: 1px; - border-top-width: 0px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_cont_sidebar.dhx_cell_cont_no_borders { - border-left-width: 0px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_menu_def, -.dhxsidebar_base_dhx_web div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_toolbar_def, -.dhxsidebar_base_dhx_web div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_ribbon_def { - border-top-width: 0px; - border-left: 1px solid #c7c7c7; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_toolbar_no_borders { - padding: 0px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont.dhxsidebar_autohide { - overflow: hidden; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont.dhxsidebar_autohide div.dhxsidebar_side { - -webkit-transition: left 0.2s; - -moz-transition: left 0.2s; - -ms-transition: left 0.2s; - -o-transition: left 0.2s; - transition: left 0.2s; - box-shadow: 0px 2px 8px rgba(127,127,127,0.4); -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont.dhxsidebar_autohide div.dhxsidebar_arrows { - -webkit-transition: left 0.2s; - -moz-transition: left 0.2s; - -ms-transition: left 0.2s; - -o-transition: left 0.2s; - transition: left 0.2s; - box-shadow: 0px 4px 6px rgba(127,127,127,0.4); -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side_cover { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - overflow: hidden; - background-color: #fff; - z-index: 3; - -webkit-transition: opacity 0.3s; - -moz-transition: opacity 0.3s; - -ms-transition: opacity 0.3s; - -o-transition: opacity 0.3s; - transition: opacity 0.3s; - opacity: 0.0001; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side_cover.dhxsidebar_side_cover_actv { - opacity: 0.6; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=60); -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_arrows { - position: absolute; - left: 0px; - bottom: 0px; - height: 24px; - border-color: #3da0e3; - border-style: solid; - border-width: 10px 0px 0px 0px; - background-color: #3da0e3; - font-size: 1px; - overflow: hidden; - z-index: 6; - -webkit-tap-highlight-color: rgba(0,0,0,0); - -ms-touch-action: none; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_arrows.dhxsidebar_arrows_hidden { - height: 0px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_arrows.dhxsidebar_arrows_hidden div.dhxsidebar_arrow { - display: none; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow { - position: absolute; - width: 50%; - height: 100%; - top: 0px; - font-size: 1px; - overflow: hidden; - z-index: 1; - border-top: 1px solid #c7c7c7; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_left { - left: 0px; - border-right: 1px solid #c7c7c7; - z-index: 2; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_left div.dhxsidebar_arrow_image { - background-image: url("../imgs/dhxsidebar_web/dhxsidebar_arrow_up.gif"); -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_right { - right: 0px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_right div.dhxsidebar_arrow_image { - background-image: url("../imgs/dhxsidebar_web/dhxsidebar_arrow_down.gif"); -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow div.dhxsidebar_arrow_image { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-repeat: no-repeat; - background-position: center center; - font-size: 1px; - overflow: hidden; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow:hover { - background-color: #46a4e4; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow:active { - background-color: #349ce2; -} -.dhxsidebar_base_dhx_web div.dhxcelltop_hdr { - position: relative; -} -.dhxsidebar_base_dhx_web div.dhxcelltop_ftr { - position: absolute; -} -.dhxsidebar_base_dhx_web div.dhxcelltop_progress { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: white; - z-index: 3; - opacity: 0.55; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=55); -} -.dhxsidebar_base_dhx_web div.dhxcelltop_progress_img { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-image: url('../imgs/dhxsidebar_web/dhxsidebar_cell_progress.gif'); - background-position: center center; - background-repeat: no-repeat; - z-index: 4; -} -.dhxsidebar_base_dhx_web div.dhxcelltop_menu { - position: relative; - overflow: hidden; - border-bottom: 9px solid #ffffff; -} -.dhxsidebar_base_dhx_web div.dhxcelltop_toolbar { - position: relative; - background-color: #ffffff; - padding-bottom: 9px; - overflow: hidden; -} -.dhxsidebar_base_dhx_web div.dhxcelltop_ribbon { - position: relative; - border-bottom: 9px solid #ffffff; -} -.dhxsidebar_base_dhx_web div.dhxcelltop_ribbon div.dhtmlxribbon_dhx_web.dhxrb_without_tabbar { - width: auto; -} -.dhxsidebar_base_dhx_web div.dhxcelltop_statusbar { - position: absolute; - overflow: hidden; - background-color: #ffffff; -} -.dhxsidebar_base_dhx_web div.dhxcelltop_statusbar div.dhxcont_statusbar { - position: relative; - background-color: #f4f4f4; - margin-top: 9px; - border: 1px solid #c7c7c7; - padding: 3px 4px; - font-family: Tahoma, Helvetica; - font-size: 12px; - color: #000000; -} -.dhxsidebar_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 20px; - height: 10px; - overflow: hidden; -} diff --git a/themes/sources/dhtmlxSidebar/codebase/skins/dhtmlxsidebar_material.css b/themes/sources/dhtmlxSidebar/codebase/skins/dhtmlxsidebar_material.css deleted file mode 100644 index a9d8f0a..0000000 --- a/themes/sources/dhtmlxSidebar/codebase/skins/dhtmlxsidebar_material.css +++ /dev/null @@ -1,727 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: material - include extra file: skins/material.less -*/ - -@keyframes dhx_loader_rotate { - 100% { - transform: rotate(360deg); - } -} -@keyframes dhx_loader_dash { - 0% { - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - } - 50% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -35px; - } - 100% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -124px; - } -} -.dhxsidebar_base_material { - position: relative; - cursor: default; -} -.dhxsidebar_base_material div.dhxsidebar_cont { - position: absolute; - cursor: default; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side { - position: absolute; - left: 0px; - top: 0px; - background-color: #fafafa; - border-style: solid; - border-color: #dfdfdf; - border-width: 1px 1px 0px 1px; - overflow: hidden; - z-index: 5; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - -webkit-tap-highlight-color: rgba(0,0,0,0); -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items { - position: absolute; - width: 100%; - overflow: hidden; - box-sizing: border-box; - -ms-touch-action: none; - -webkit-transition: top 0.2s; - -moz-transition: top 0.2s; - -ms-transition: top 0.2s; - -o-transition: top 0.2s; - transition: top 0.2s; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item { - position: relative; - padding: 0px 10px; - z-index: 1; - cursor: default; - margin: 1px 0px; - background-color: #fafafa; - overflow: hidden; - opacity: 1; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; - -ms-touch-action: none; - -webkit-touch-callout: none; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_hidden { - height: 0px !important; - margin: 0px 0px; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item:hover { - background-color: #f5f5f5; - z-index: 2; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_selected { - z-index: 3; - background-color: #ebebeb; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon { - position: absolute; - left: 9px; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text { - position: absolute; - left: 0px; - top: 0px; - height: inherit; - line-height: inherit; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_bubble { - position: absolute; - width: 15px; - height: 15px; - line-height: 14px; - right: 5px; - top: 5px; - border-radius: 10px; - background-color: #fafafa; - border: 1px solid #3399cc; - font-family: Tahoma; - font-size: 10px; - text-align: center; - font-weight: normal; - color: #3399cc; - cursor: default; - overflow: hidden; - z-index: 1; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item:hover div.dhxsidebar_bubble { - background-color: #f5f5f5; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_selected div.dhxsidebar_bubble { - background-color: #ebebeb; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_sep { - position: relative; - height: 1px; - margin: 1px 0px; - overflow: hidden; - background-color: #ededed; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_touch div.dhxsidebar_side_items div.dhxsidebar_item:hover { - background-color: #fafafa; - z-index: 1; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_touch div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_selected { - z-index: 3; - background-color: #ebebeb; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_details div.dhxsidebar_side_items div.dhxsidebar_item { - height: 27px; - line-height: 27px; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_details div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon { - top: 5px; - width: 16px; - height: 16px; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_details div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text { - padding-left: 34px; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item { - height: 47px; - line-height: 47px; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon { - top: 7px; - width: 32px; - height: 32px; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text { - padding-left: 50px; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_bubble { - top: 15px; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons div.dhxsidebar_side_items div.dhxsidebar_item { - height: 47px; - line-height: 47px; - text-align: center; - padding-left: 4px; - padding-right: 4px; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon { - position: relative; - display: inline; - left: 0px; - top: 7px; - width: 32px; - height: 32px; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons_text div.dhxsidebar_side_items div.dhxsidebar_item { - height: 66px; - line-height: 1em; - text-align: center; - padding-left: 4px; - padding-right: 4px; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons_text div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon { - position: relative; - display: inline; - left: 0px; - top: 4px; - width: 32px; - height: 32px; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons_text div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text { - position: relative; - display: block; - height: 16px; - margin-top: 10px; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_text div.dhxsidebar_side_items div.dhxsidebar_item { - height: 27px; - line-height: 27px; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_text div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text { - padding-left: 14px; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar { - position: absolute; - background-color: white; - margin: 0px; - padding: 0px; - overflow: hidden; - cursor: default; - z-index: 0; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_cover { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - margin: 0px; - padding: 0px; - font-size: 1px; - background-color: white; - overflow: hidden; - z-index: 1; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_progress_bar { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: white; - z-index: 1; - opacity: 0.75; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=75); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_progress_img { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - border: 1px solid #e4e4e4; - background-image: url('../imgs/dhxsidebar_material/dhxsidebar_cell_progress.gif'); - background-position: center center; - background-repeat: no-repeat; - z-index: 2; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_progress_svg { - border: 1px solid #e4e4e4; - z-index: 2; - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_progress_svg .dhx_cell_prsvg { - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - margin: auto; - width: 50px; - height: 50px; - animation: dhx_loader_rotate 2s linear infinite; - transform-origin: center center; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_progress_svg .dhx_cell_prsvg .dhx_cell_prcircle { - fill: none; - stroke: #3399cc; - stroke-width: 2; - stroke-miterlimit: 10; - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - stroke-linecap: round; - animation: dhx_loader_dash 1.5s ease-in-out infinite; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_menu_def { - position: relative; - overflow: hidden; - border-style: solid; - border-width: 0px 1px 1px 1px; - border-color: #dfdfdf; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_toolbar_def { - position: relative; - overflow: hidden; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_toolbar_def .dhx_toolbar_material { - border-width: 0px 1px 1px 1px; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def { - position: relative; - overflow: hidden; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material { - border-top-width: 0px; - margin-top: -1px; - width: auto; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhtmlxribbon_material.dhxrb_without_tabbar { - border-top-width: 0px; - width: auto; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_statusbar_def { - position: absolute; - bottom: 0px; - width: 100%; - background-color: #fafafa; - z-index: 1; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - position: relative; - font: inherit; - height: 30px; - line-height: 30px; - border-style: solid; - border-width: 0px 1px 1px 1px; - border-color: #dfdfdf; - white-space: nowrap; - overflow: hidden; - padding: 0px 12px; - color: #737373; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_menu_def, -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_toolbar_def .dhx_toolbar_material, -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhtmlxribbon_material.dhxrb_without_tabbar { - border-width: 1px 1px 0px 0px; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material { - border-width: 1px 1px 0px 0px; - margin-top: 0px; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material div.dhxtabbar_tabs { - border-left-width: 0px; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material div.dhxtabbar_tabs_top div.dhx_cell_tabbar div.dhx_cell_cont_tabbar { - border-width: 0px 1px 0px 0px; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - border-left-width: 0px; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_progress_img { - border-left-width: 0px; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar.dhx_cell_cont_no_top div.dhx_cell_cont_sidebar { - border-top-color: white; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_cont_sidebar { - position: absolute; - border-style: solid; - border-color: #dfdfdf; - border-width: 1px 1px 1px 0px; - overflow: hidden; - z-index: 0; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_cont_sidebar.dhx_cell_cont_no_borders { - border-width: 0px; - padding: 0px; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr { - position: relative; - background-color: #fafafa; - height: 36px; - line-height: 35px; - font-weight: normal; - overflow: hidden; - cursor: default; - z-index: 1; - border-style: solid; - border-color: #dfdfdf; - border-width: 1px 1px 0px 0px; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - -webkit-tap-highlight-color: rgba(0,0,0,0); -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr.dhx_cell_sidebar_hdr_hidden { - border-width: 1px 0px 0px 0px; - height: 0px; - line-height: 0px; - overflow: hidden; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr div.dhx_cell_sidebar_hdr_text { - position: relative; - margin: 0px 10px; - overflow: hidden; - white-space: nowrap; - cursor: default; - text-align: left; - height: 100%; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr div.dhx_cell_sidebar_hdr_text.dhx_cell_sidebar_hdr_text_icon { - margin-left: 34px !important; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr div.dhx_cell_sidebar_hdr_icon { - position: absolute; - top: 0px; - left: 10px; - width: 16px; - height: 100%; - background-image: url("../imgs/dhxsidebar_material/dhxsidebar_side_icon.gif"); - background-position: center center; - background-repeat: no-repeat; -} -.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr { - border-left-width: 1px; -} -.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_cont_sidebar { - border-left-width: 1px; -} -.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_cont_sidebar.dhx_cell_cont_no_borders { - border-left-width: 0px; -} -.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_menu_def, -.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_toolbar_def .dhx_toolbar_material, -.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhtmlxribbon_material.dhxrb_without_tabbar, -.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - border-left-width: 1px; -} -.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material div.dhxtabbar_tabs { - border-left-width: 1px; -} -.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material div.dhxtabbar_tabs_top div.dhx_cell_tabbar div.dhx_cell_cont_tabbar { - border-left-width: 1px; -} -.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide { - overflow: hidden; -} -.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide div.dhxsidebar_side { - -webkit-transition: left 0.2s; - -moz-transition: left 0.2s; - -ms-transition: left 0.2s; - -o-transition: left 0.2s; - transition: left 0.2s; - box-shadow: 0px 2px 8px rgba(127,127,127,0.4); -} -.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide div.dhxsidebar_arrows { - -webkit-transition: left 0.2s; - -moz-transition: left 0.2s; - -ms-transition: left 0.2s; - -o-transition: left 0.2s; - transition: left 0.2s; - box-shadow: 0px 4px 6px rgba(127,127,127,0.4); -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side_cover { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - overflow: hidden; - background-color: #fff; - z-index: 3; - -webkit-transition: opacity 0.3s; - -moz-transition: opacity 0.3s; - -ms-transition: opacity 0.3s; - -o-transition: opacity 0.3s; - transition: opacity 0.3s; - opacity: 0.0001; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side_cover.dhxsidebar_side_cover_actv { - opacity: 0.6; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=60); -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_arrows { - position: absolute; - left: 0px; - bottom: 0px; - height: 24px; - border: 1px solid #dfdfdf; - background-color: #fafafa; - font-size: 1px; - overflow: hidden; - z-index: 6; - -webkit-tap-highlight-color: rgba(0,0,0,0); - -ms-touch-action: none; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_arrows.dhxsidebar_arrows_hidden { - height: 0px; - border-width: 0px 1px 1px 1px; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow { - position: absolute; - width: 50%; - height: 100%; - top: 0px; - font-size: 1px; - overflow: hidden; - z-index: 1; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_left { - left: 0px; - border-right: 1px solid #dfdfdf; - z-index: 2; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_left div.dhxsidebar_arrow_image { - background-image: url("../imgs/dhxsidebar_material/dhxsidebar_arrow_up.gif"); -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_right { - right: 0px; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_right div.dhxsidebar_arrow_image { - background-image: url("../imgs/dhxsidebar_material/dhxsidebar_arrow_down.gif"); -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow div.dhxsidebar_arrow_image { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-repeat: no-repeat; - background-position: center center; - font-size: 1px; - overflow: hidden; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow:hover { - background-color: #f5f5f5; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow:active { - background-color: #f0f0f0; -} -.dhxsidebar_base_material div.dhxcelltop_hdr { - position: relative; -} -.dhxsidebar_base_material div.dhxcelltop_ftr { - position: absolute; -} -.dhxsidebar_base_material div.dhxcelltop_progress { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: white; - z-index: 3; - opacity: 0.55; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=55); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxsidebar_base_material div.dhxcelltop_progress_img { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-image: url('../imgs/dhxsidebar_material/dhxsidebar_cell_progress.gif'); - background-position: center center; - background-repeat: no-repeat; - z-index: 4; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxsidebar_base_material div.dhxcelltop_progress_svg { - z-index: 4; - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxsidebar_base_material div.dhxcelltop_progress_svg .dhx_cell_prsvg { - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - margin: auto; - width: 50px; - height: 50px; - animation: dhx_loader_rotate 2s linear infinite; - transform-origin: center center; -} -.dhxsidebar_base_material div.dhxcelltop_progress_svg .dhx_cell_prsvg .dhx_cell_prcircle { - fill: none; - stroke: #3399cc; - stroke-width: 2; - stroke-miterlimit: 10; - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - stroke-linecap: round; - animation: dhx_loader_dash 1.5s ease-in-out infinite; -} -.dhxsidebar_base_material div.dhxcelltop_menu { - position: relative; - overflow: hidden; - border-width: 1px 1px 0px 1px; - border-style: solid; - border-color: #dfdfdf; -} -.dhxsidebar_base_material div.dhxcelltop_toolbar { - position: relative; - overflow: hidden; -} -.dhxsidebar_base_material div.dhxcelltop_toolbar div.dhx_toolbar_material { - border-width: 1px 1px 0px 1px; -} -.dhxsidebar_base_material div.dhxcelltop_ribbon { - position: relative; - overflow: hidden; -} -.dhxsidebar_base_material div.dhxcelltop_ribbon div.dhtmlxribbon_material.dhxrb_without_tabbar { - border-bottom-width: 0px; - width: auto; -} -.dhxsidebar_base_material div.dhxcelltop_ribbon div.dhtmlxribbon_material div.dhxrb_with_tabbar.dhxtabbar_base_material div.dhxtabbar_tabs_top div.dhx_cell_tabbar div.dhx_cell_cont_tabbar { - border-bottom-width: 0px; -} -.dhxsidebar_base_material div.dhxcelltop_statusbar { - position: absolute; - overflow: hidden; - background-color: #fafafa; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -.dhxsidebar_base_material div.dhxcelltop_statusbar div.dhxcont_statusbar { - position: relative; - background-color: #fafafa; - font: inherit; - height: 30px; - line-height: 30px; - border-width: 0px 1px 1px 1px; - border-style: solid; - border-color: #dfdfdf; - padding: 0px 12px; - color: #737373; - white-space: nowrap; - overflow: hidden; -} -.dhxsidebar_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 40px; - height: 10px; - overflow: hidden; -} diff --git a/themes/sources/dhtmlxSlider/codebase/dhtmlxslider.js b/themes/sources/dhtmlxSlider/codebase/dhtmlxslider.js deleted file mode 100644 index 2f72aa1..0000000 --- a/themes/sources/dhtmlxSlider/codebase/dhtmlxslider.js +++ /dev/null @@ -1,914 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -function dhtmlXSlider(data) { - - var that = this; - - this.conf = { - size: null, - skin: null, - vertical: false, - min: 0, - max: 99, - value: 0, - step: 1, - decimals: 0, - margin: 2, - border: 1, - inverse: false, - disabled: false, - tooltip: false, - visible: true, - linkTo: null, - range: false, // new in 4.3, range-mode - bg: null, // new in 4.3, render bg-div inside track, false for single, true for range - bg_mode: "left" // new in 4.3, left or right, if range-mode - between runners - }; - - this._attachedNode = {}; - this._movingInitialValues = null; - - this.base = null; - - if (arguments.length > 1) { // init by arguments - return new dhtmlXSlider(this._renderArgumets(arguments)); - }else if (typeof(data) == "string" || (typeof(data) == "object" && data.tagName)) { // init by node - return new dhtmlXSlider({parent: data}); - } - - if (typeof(data.parent) == "string") { - this.base = document.getElementById(data.parent); - } else { - this.base = data.parent; - } - - this._mergeConfig(this._readAttFormNode(this.base)); - this._mergeConfig(data); - - if (this.conf.bg == null) { - this.conf.bg = (this.conf.range==true); - } - - // fix value/linkto for range-mode - if (this.conf.range == true) { - if (!(this.conf.value instanceof Array)) this.conf.value = [this.conf.value]; - if (this.conf.value.length < 2) this.conf.value.push(this.conf.value[0]); - if (!(this.conf.linkTo instanceof Array)) this.conf.linkTo = [this.conf.linkTo]; - } - - this._detectDecimals(); - - if (this.conf.size == null || typeof(this.conf.size) == "undefined") { - if (this.conf.vertical) { - this.conf.size = this.base.offsetHeight; - } else { - this.conf.size = this.base.offsetWidth; - } - } - - var skin = this.conf.skin || window.dhx4.skin || (typeof(dhtmlx) != "undefined"? dhtmlx.skin : null) || window.dhx4.skinDetect("dhxslider") || "material"; - - this.setSkin(skin); - - this.base.innerHTML = "
              "+ - "
              "+ - (this.conf.bg==true?"
              ":"")+ - "
              "+ - "
              "+ - (this.conf.range==true?"
              ":"")+ - "
              "; - - this._nodes = { - cont: this.base.firstChild, - track: this.base.firstChild.firstChild, - runner: this.base.firstChild.childNodes[1], - runner2: this.base.firstChild.childNodes[2] // for range-mode - }; - - this._nodes.cont.onmousedown = - this._nodes.track.onmousedown = - this._nodes.cont.onselectstart = - this._nodes.track.onselectstart = function(e) { - e = e || event; - if (typeof(e.preventDefault) == "function") { - e.preventDefault(); - } else { - e.returnValue = false; - } - return false; - }; - - this._r_actv = null; // active runner - - if (this.conf.range == true) { - this.conf.value = this._normalizeRange(this.conf.value, this.conf.min, this.conf.max); - } else { - this.conf.value = this._normalize(this.conf.value, this.conf.min, this.conf.max); - } - - this._setOrient(this.conf.vertical); - this.setSize(this.conf.size); - - // events start - this._initMover = function(e, index) { - - if (that.conf.disabled) return; - - e = e || event; - if (typeof(e.preventDefault) == "function") e.preventDefault(); - - if (index != null) { - that._r_actv = that._nodes[index==0?"runner":"runner2"]; - } else { - that._r_actv = e.target||e.srcElement; - if (that._r_actv.className.indexOf("dhxsl_runner") == -1) that._r_actv = that._nodes.runner; - } - - that._r_actv.className = "dhxsl_runner dhxsl_runner_actv"; - - that._movingInitialValues = {}; - if (that.conf.range == true) { - that._movingInitialValues.index = (that._r_actv==that._nodes.runner?0:1); - that._movingInitialValues.value = that.conf.value[that._movingInitialValues.index]; - } else { - that._movingInitialValues.value = that.conf.value; - } - that._movingInitialValues.coord = that._getTouchCoord(e); - - if (that.conf.disabled == false) { - if (typeof(window.addEventListener) == "function") { - window.addEventListener("mousemove", that._move, false); - window.addEventListener("mouseup", that._cleanMove, false); - window.addEventListener("touchmove", that._move, false); - window.addEventListener("touchend", that._cleanMove, false); - } else { - document.body.attachEvent("onmousemove", that._move); - document.body.attachEvent("onmouseup", that._cleanMove); - } - } - that.callEvent("onMouseDown",[that._r_actv==that._nodes.runner?0:1]); - return false; - }; - - this._move = function(e) { - - if (that.conf.disabled) return; - - e = e || event; - if (typeof(e.preventDefault) == "function") e.preventDefault(); - - var runner = (that.conf.vertical) ? that._r_actv.offsetHeight : that._r_actv.offsetWidth; - var range = that.conf.max - that.conf.min; - var n_cord = that._getTouchCoord(e); - var new_value = that._movingInitialValues.value + (n_cord - that._movingInitialValues.coord)*range/(that.conf.size - runner)*(that.conf.inverse?-1:1); - - if (that.conf.range == true) { - var v = [that.conf.value[0], that.conf.value[1]]; - // limits - if (that._movingInitialValues.index == 0) { - v[0] = Math.min(v[1], new_value); - } else if (that._movingInitialValues.index == 1) { - v[1] = Math.max(v[0], new_value); - } - that.setValue(v, true); - } else { - that.setValue(new_value, true); - } - }; - - this._cleanMove = function(e) { - if (typeof(window.addEventListener) == "function") { - window.removeEventListener("mousemove", that._move, false); - window.removeEventListener("mouseup", that._cleanMove, false); - window.removeEventListener("touchmove", that._move, false); - window.removeEventListener("touchend", that._cleanMove, false); - } else { - document.body.detachEvent("onmousemove", that._move); - document.body.detachEvent("onmouseup", that._cleanMove); - } - that._movingInitialValues = null; - that._r_actv.className = that._r_actv.className.replace(/\s{0,}dhxsl_runner_actv/gi,""); - that.callEvent("onSlideEnd", [that.conf.value]); - that.callEvent("onMouseUp", [that._r_actv==that._nodes.runner?0:1]); - that._r_actv = null; - }; - - this._doOnSetValue = function(e) { - - if (that.conf.disabled) return; - - if (that._movingInitialValues != null) return false; - - e = e || event; - if (typeof(e.preventDefault) == "function") e.preventDefault(); - - var ofs = 0; - var t = e.target||e.srcElement; - if (t.className.match(/dhxsl_track_bg/) != null) ofs = parseInt(t.style[that.conf.vertical?"top":"left"]); - - if (e.type.match(/touch/) != null) { - var n_coord = that._getTouchCoord(e) + ofs; - } else { - var n_coord = (that.conf.vertical ? (e.offsetY || e.layerY) : (e.offsetX || e.layerX)) + ofs; - } - var runner = (that.conf.vertical ? that._nodes.runner.offsetHeight : that._nodes.runner.offsetWidth) + ofs; - var range = that.conf.max - that.conf.min; - - var index = null; - var new_value = null; - - if (that.conf.inverse == true) { - new_value = that.conf.max-(n_coord*range/(that.conf.size)); - } else { - new_value = (n_coord*range/(that.conf.size) + that.conf.min); - } - - if (that.conf.range == true) { - index = (Math.abs(that.conf.value[0]-new_value) <= Math.abs(that.conf.value[1]-new_value) ? 0 : 1); // select nearest runner - new_value = [index==0?new_value:that.conf.value[0], index==1?new_value:that.conf.value[1]]; - } - - that.conf.init_index = index; - that.setValue(new_value, true); - that.conf.init_index = null; - - if (that._movingInitialValues == null) that._initMover(e, index); - - return false; - }; - - this._doOnChangeInput = function(e) { - e = e || event; - var target = e.target || e.srcElement; - that.setValue(target.value); - }; - - this._doOnKeyDown = function(e) { - e = e || event; - var target = e.target || e.srcElement; - if (e.keyCode == 13) that.setValue(target.value); - }; - - // events end - - this._attachEvents(this._nodes); - - this.unload = function() { - - dhx4._eventable(this, "clear"); - - this._detachNode(); - this._detachEvents(this._nodes); - - this.base.removeChild(this._nodes.cont); - - this._nodes.cont.onmousedown = - this._nodes.track.onmousedown = - this._nodes.cont.onselectstart = - this._nodes.track.onselectstart = null; - - delete this._nodes.cont; - delete this._nodes.track; - delete this._nodes.max; - delete this._nodes.min; - delete this._nodes.runner; - if (this._nodes.runner2) delete this._nodes.runner2; - - if (/\s?dhtmlxslider_\S*/.test(this.base.className)) { - this.base.className = this.base.className.replace(/\s?dhtmlxslider_\S*/, ""); - } - - for (var key in this) this[key] = null; - - that = null; - }; - - dhx4._eventable(this); - - if (this.conf.disabled) { - this.disable(); - } - - if (this.conf.tooltip) { - this.enableTooltip(); - } - - if (!this.conf.visible) { - this.hide(); - } - - if (this.conf.linkTo) { - this.linkTo(this.conf.linkTo); - } - - return this; - -}; - -dhtmlXSlider.prototype._setOrient = function(vertical) { - vertical = vertical || false; - - if (/\s?dhxsl_cont_hr/i.test(this._nodes.cont.className)) { - this._nodes.cont.className = this._nodes.cont.className.replace(/\s?dhxsl_cont_hr/i, ""); - } - - if (/\s?dhxsl_cont_vr/i.test(this._nodes.cont.className)) { - this._nodes.cont.className = this._nodes.cont.className.replace(/\s?dhxsl_cont_vr/i, ""); - } - - if (vertical) { - this._nodes.cont.className += " dhxsl_cont_vr"; - } else { - this._nodes.cont.className += " dhxsl_cont_hr"; - } -}; - -dhtmlXSlider.prototype._getTouchCoord = function(e) { - var type = (e.type.match(/mouse/) != null ? "client":"page") + (this.conf.vertical == true ? "Y":"X"); - var coord = (typeof(e[type]) != "undefined" && e[type] != 0 ? e[type] : (e.touches != null && e.touches[0] != null ? e.touches[0][type]||0:0)); - return coord; -}; - -dhtmlXSlider.prototype._attachEvents = function(nodes) { - if (typeof(window.addEventListener) == "function") { - nodes.runner.addEventListener("mousedown", this._initMover, false); - nodes.runner.addEventListener("touchstart", this._initMover, false); - nodes.cont.addEventListener("mousedown", this._doOnSetValue, false); - nodes.cont.addEventListener("touchstart", this._doOnSetValue, false); - if (nodes.runner2) { - nodes.runner2.addEventListener("mousedown", this._initMover, false); - nodes.runner2.addEventListener("touchstart", this._initMover, false); - } - } else { - nodes.runner.attachEvent("onmousedown", this._initMover); - nodes.cont.attachEvent("onmousedown", this._doOnSetValue); - if (nodes.runner2) { - nodes.runner2.attachEvent("onmousedown", this._initMover); - } - } -}; - -dhtmlXSlider.prototype._detachEvents = function(nodes) { - if (typeof(window.addEventListener) == "function") { - nodes.runner.removeEventListener("mousedown", this._initMover, false); - nodes.runner.removeEventListener("touchstart", this._initMover, false); - nodes.cont.removeEventListener("mousedown", this._doOnSetValue, false); - nodes.cont.removeEventListener("touchstart", this._doOnSetValue, false); - if (nodes.runner2) { - nodes.runner2.removeEventListener("mousedown", this._initMover, false); - nodes.runner2.removeEventListener("touchstart", this._initMover, false); - } - } else { - nodes.runner.detachEvent("onmousedown", this._initMover); - nodes.cont.detachEvent("onmousedown", this._doOnSetValue); - if (nodes.runner2) { - nodes.runner2.detachEvent("onmousedown", this._initMover); - } - } -}; - -dhtmlXSlider.prototype._mergeConfig = function(data) { - for (var key in data) { - switch (key.toLowerCase()) { - case "min": - case "max": - case "size": - case "step": - case "value": - case "inverse": - this.conf[key] = data[key]; - break; - case "tooltip": - case "visible": - case "vertical": - case "disabled": - case "range": - case "bg": - this.conf[key] = dhx4.s2b(data[key]); - break; - case "bg_mode": - this.conf[key] = ({"left":"left","right":"right"}[data[key]])||"left"; - break; - case "parent": - continue; - break; - case "skin": - this.conf[key] = (this._skinCollection[data[key]] == true ? data[key] : null); // reset not supported 3.6 skins to default - break; - default: - this.conf[key] = data[key]; - } - } -}; - -dhtmlXSlider.prototype._readAttFormNode = function(node) { - var atts = node.attributes, l = atts.length, i, answer = {}, att; - - for (i=0; i=0; i--) { - if (arr[i] == el) { - answer = i; - break; - } - } - - return answer; -}; - -dhtmlXSlider.prototype._refreshRunner = function(index) { - - var k = (this.conf.vertical == true ? {x: "top", y: "left", ofs_w: "offsetHeight", ofs_h: "offsetWidth"} : {x: "left", y: "top", ofs_w: "offsetWidth", ofs_h: "offsetHeight"}); - - var cmax = this._nodes.cont[k.ofs_w] - this._nodes.runner[k.ofs_w]; - - var r1 = this._nodes.runner; - var r2 = this._nodes.runner2; - - // single or left - if (index == null || index == 0) { - var cp = this._getCoord(cmax, (this.conf.value instanceof Array?this.conf.value[0]:this.conf.value)); - r1.style[k.x] = cp + this.conf.border + "px"; - r1.style[k.y] = Math.round((this._nodes.cont[k.ofs_h] - r1[k.ofs_h])/2) + "px"; - } - - // right - if (this.conf.range == true && (index == null || index == 1)) { - var cp = this._getCoord(cmax, this.conf.value[1]); - r2.style[k.x] = cp + this.conf.border + "px"; - r2.style[k.y] = Math.round((this._nodes.cont[k.ofs_h] - r1[k.ofs_h])/2) + "px"; - } - - // check z-index - if (this.conf.range == true) { - if (r1.style[k.x] == r2.style[k.x] && this.conf.value[1] == this.conf.max) { - if (r1.style.zIndex != 2) r1.style.zIndex = 2; - } else { - if (r1.style.zIndex == 2) r1.style.zIndex = 1; - } - } - - r1 = r2 = null; - - this._refreshBG(); -}; - -dhtmlXSlider.prototype._setValueByCoord = function(data) { - var cx = dhx4.absLeft(this._nodes.cont), - cy = dhx4.absTop(this._nodes.cont), - value, k; - - if (this.conf.vertical) { - k = (data.y - cy - this._nodes.runner.offsetHeight/2)/(this._nodes.cont.offsetHeight - this._nodes.runner.offsetHeight); - } else { - k = (data.x - cx - this._nodes.runner.offsetWidth/2)/(this._nodes.cont.offsetWidth - this._nodes.runner.offsetWidth); - } - - value = (this.conf.max-this.conf.min)*k+this.conf.min; - - this.setValue(value, true); -}; - -dhtmlXSlider.prototype._getCoord = function(max, value) { - var v = (this.conf.inverse?this._inverseValue(value):value); - var k = (v-this.conf.min)/(this.conf.max - this.conf.min); - return Math.round(max*k); -}; - -dhtmlXSlider.prototype._normalize = function(value, min, max) { - value = Number(value); // for decimals - value = Math.round(value/this.conf.step)*this.conf.step; - var ten = Math.pow(10, this.conf.decimals); - value = Math.round(value*ten)/ten; - value = Math.max(min, Math.min(max, value)); - return value; -}; - -dhtmlXSlider.prototype._normalizeRange = function(value, min, max) { - if (value[1] < value[0]) value[1] = value[0]; - value[0] = this._normalize(value[0], min, Math.min(max, value[1])); - value[1] = this._normalize(value[1], Math.max(min, value[0]), max); - return value; -}; - -dhtmlXSlider.prototype._refreshBG = function() { - - if (this.conf.bg != true) return; - - var p = this._nodes.track.firstChild; - var r = this._nodes.runner; - var r2 = r.nextSibling; - - var k = (this.conf.vertical == true ? {x: "top", w: "height", ofs: "offsetHeight"} : {x: "left", w: "width", ofs: "offsetWidth"}); - - if (this.conf.range == true) { - p.style[k.x] = Math.floor(parseInt(r.style[k.x])+r[k.ofs]/2)+"px"; - p.style[k.w] = Math.max(Math.floor(parseInt(r2.style[k.x])+r2[k.ofs]/2)-parseInt(p.style[k.x]), 0)+"px"; - } else { - var mode = (this.conf.inverse == true? {"left":"right", "right":"left"}[this.conf.bg_mode] : this.conf.bg_mode); - p.style[k.x] = (mode == "left" ? "0" : Math.floor(parseInt(r.style[k.x])+r[k.ofs]/2)) + "px"; - p.style[k.w] = (mode == "left" ? Math.floor(parseInt(r.style[k.x])+r[k.ofs]/2) : this._nodes.track[k.ofs]-parseInt(p.style[k.x])) + "px"; - } - - p = r = r2 = null; - -}; - -dhtmlXSlider.prototype._attachNode = function(node, index) { - - this._detachNode(index); - - var tagName = node.tagName.toLowerCase(); - if (!tagName) return; - - // node._dhxsl_mode = mode; - this._attachedNode["node_"+index] = node; - - switch (tagName) { - case "input": - case "select": - if (typeof(window.addEventListener) == "function") { - node.addEventListener("change", this._doOnChangeInput, false); - node.addEventListener("keydown", this._doOnKeyDown, false); - } else { - node.attachEvent("onchange", this._doOnChangeInput); - node.attachEvent("onkeydown", this._doOnKeyDown); - } - - this._attachedNode.setValue = function(value, decimals, index) { - var v = (value instanceof Array?value[index||0]:value); - this["node_"+(index||0)].value = dhtmlXSlider.prototype._atatchedNodeFixDec(v, decimals); - }; - break; - default: - this._attachedNode.setValue = function(value, decimals, index) { - var v = (value instanceof Array?value[index||0]:value); - this["node_"+(index||0)].innerHTML = dhtmlXSlider.prototype._atatchedNodeFixDec(v, decimals); - }; - } - - this._attachedNode.setValue(this.conf.value, this.conf.decimals, index); -}; - -dhtmlXSlider.prototype._detachNode = function(index) { - - var node = this._attachedNode["node_"+index]; - - if (!node) return; - - var tagName = node.tagName; - - switch (tagName) { - case "input": - case "select": - if (typeof(window.addEventListener) == "function") { - node.removeEventListener("change", this._doOnChangeInput, false); - node.removeEventListener("keydown", this._doOnChangeInput, false); - } else { - node.detachEvent("change", this._doOnChangeInput); - node.detachEvent("keydown", this._doOnChangeInput); - } - break; - } - - delete this._attachedNode["node_"+index]; - delete this._attachedNode.setValue; - node = null; -}; - -dhtmlXSlider.prototype._atatchedNodeFixDec = function(value, decimals) { - value = String(value); - if (decimals > 0) { - var k = value.match(/\.\d{1,}$/); - if (k != null) decimals = Math.max(decimals-k[0].length+1); - value += (value.indexOf(".")<0?".":""); - for (var q=0; q value) { - this.conf.min = value; - this.setValue(this.conf.value); - } -}; - -dhtmlXSlider.prototype.getMin = function() { - return this.conf.min; -}; - -dhtmlXSlider.prototype.setStep = function(value) { - var maxValue = this.conf.max - this.conf.min; - if (!isNaN(value) && value < maxValue) { - this.conf.step = value; - this._detectDecimals(); - this.setValue(this.conf.value); - } -}; - -dhtmlXSlider.prototype.getStep = function() { - return this.conf.step; -}; - -dhtmlXSlider.prototype.show = function() { - if (/\s?dhxsl_hidden/i.test(this._nodes.cont.className)) { - this._nodes.cont.className = this._nodes.cont.className.replace(/\s?dhxsl_hidden/i, ""); - } - - this.conf.visible = true; -}; - -dhtmlXSlider.prototype.hide = function() { - if (!/\s?dhxsl_hidden/i.test(this._nodes.cont.className)) { - this._nodes.cont.className += " dhxsl_hidden"; - } - - this.conf.visible = false; -}; - -dhtmlXSlider.prototype.isVisible = function() { - return this.conf.visible; -}; - -dhtmlXSlider.prototype.linkTo = function(node) { - if (!(node instanceof Array)) node = [node]; - for (var q=0; q= 0 && (a.indexOf("5.1.7") >= 0 || (a.match(/7[\.\d]* mobile/gi) != null && a.match(/AppleWebKit/gi) != null))) { - this.conf.tabsContCss = " safari_517_fix"; - } - - var base; - - // check if api init - if (conf != null && typeof(conf) == "object" && typeof(conf.tagName) == "undefined") { - base = conf.parent; - if (typeof(conf.skin) != "undefined") this.conf.skin = conf.skin; - if (typeof(conf.mode) != "undefined") this.conf.tabsMode = (conf.mode=="bottom"?"bottom":"top"); - if (typeof(conf.align) != "undefined") this.conf.align = (conf.align=="right"?"right":"left"); - if (typeof(conf.close_button) != "undefined") this.conf.closeButton = window.dhx4.s2b(conf.close_button); - if (typeof(conf.content_zone) != "undefined") this.conf.contZone = window.dhx4.s2b(conf.content_zone); - if (typeof(conf.xml) != "undefined") this.conf.autoload.xml = conf.xml; - if (typeof(conf.json) != "undefined") this.conf.autoload.xml = conf.json; // new in 4.0 - if (typeof(conf.tabs) != "undefined") this.conf.autoload.tabs = conf.tabs; - if (typeof(conf.onload) != "undefined") this.conf.autoload.onload = conf.onload; // new in 4.0 - if (typeof(conf.arrows_mode) != "undefined") this.conf.autoload.arrows_mode = conf.arrows_mode; // new in 4.1.2 - // deprecated from 4.0 - // conf { height, offset, margin, image_path, href_mode, scroll, forced, size_by_content, auto_size } - } else { - base = conf; - } - - // init top container - window.dhtmlXCellTop.apply(this, [base, conf.offsets]); - - // tabsTop override - if (this.base._ofs != null && this.base._ofs.t != null) this.conf.tabsTop = this.base._ofs.t; - - this.tabsMode = document.createElement("DIV"); - this.tabsMode.className = "dhxtabbar_tabs_"+this.conf.tabsMode; - this.cont.appendChild(this.tabsMode); - - this.tabsArea = document.createElement("DIV"); - this.tabsArea.className = "dhxtabbar_tabs dhxtabbar_tabs_"+this.conf.tabsMode; - this.tabsArea.innerHTML = "
              "+ - "
              "+ - "
              "+ - "
              "+ - "
              "+ - "
              "+ - "
              "; - - this.tabsArea.style.top = (this.conf.tabsMode=="top"?this.conf.tabsTop+"px":"auto"); - this.tabsMode.appendChild(this.tabsArea); - - // area to move tabs - this.tabsArea.childNodes[1].childNodes[0].style[this.conf.align] = "0px"; - - this.tabsArea.childNodes[0].onclick = function() { - if (that.conf.align == "left") { - that._moveTabs(1); - } else { - that._moveTabs(-1); - } - } - this.tabsArea.childNodes[2].onclick = function() { - if (that.conf.align == "left") { - that._moveTabs(-1); - } else { - that._moveTabs(1); - } - } - - this._onTabsAreaClick = function(id) { - return this._callMainEvent("onTabClose",[id]); - } - - this.tabsArea.onclick = function(e) { - e = e||event; - var t = (e.target||e.srcElement); - while (t != null) { - if (typeof(t._tabCloseId) != "undefined") { - if (that._onTabsAreaClick(t._tabCloseId) !== true) return; - that.t[t._tabCloseId].conf.remove = true; - that._hideTab(t._tabCloseId); - t = null; - } else if (typeof(t._tabId) != "undefined") { - that._doOnClick(t._tabId); - t = null; - } - if (t != null) { - t = t.parentNode; - if (t == this) t = null; - } - } - } - - this.tabsArea.onselectstart = function(e) { - e = e||event; - if (e.preventDefault) e.preventDefault(); else e.returnValue = false; - } - - this._doOnClick = function(id) { - // onBeforeEvent here - this.callEvent("onTabClick", [id, this.conf.lastActive]); - if (this.t[id].conf.enabled) this._setTabActive(id); - } - - this.t = {}; - - this.addTab = function(id, text, width, position, active, close) { - - // close = show close button, false by default - // true - show_closeButton - // false - do not show (ignoring enableTabCloseButton) - // not set - depending on enableTabCloseButton - close = (typeof(close)=="undefined"?(this.conf.closeButton==true):window.dhx4.s2b(close)); - active = window.dhx4.s2b(active); - - var tab = document.createElement("DIV"); - tab.className = "dhxtabbar_tab"; - tab.innerHTML = "
              "+text+"
              "+ - (close?"
              ":""); - - tab._tabId = id; - if (close) tab.childNodes[1]._tabCloseId = id; // close button - - var p = this.tabsArea.childNodes[1].firstChild; - - if (position != null && position+1 > 0 && position+1 < p.childNodes.length) { // 1st item - line - p.insertBefore(tab, p.childNodes[position+1]); - } else { - p.appendChild(tab); - } - - - // width - var autowidth = false; - if (typeof(width) == "undefined" || width == null || width == "*") { - width = this._getLabelWidth(text, close); - autowidth = true; - } else { - width = parseInt(width); - } - - tab.style.width = width+"px"; - - var cell = new dhtmlXTabBarCell(id, this); - this.tabsMode.appendChild(cell.cell); - - this.t[id] = { - tab: tab, - cell: cell, - conf: { - text: text, - visible: true, - active: false, - enabled: true, - close: close, - width: width, - autowidth: autowidth - } - }; - - p = cell = null; - - if (active) { - this._setTabActive(id); - } else { - this._adjustCell(id); - } - - if (this.conf.initSeq != true && this.conf.arwMode == "auto") this.setSizes(); - } - - this.setSizes = function() { - - // celltop - this._adjustCont(); - - if (this.conf.tabsAreaOfs == null) { - this.tabsArea.style.width = this.cont.offsetWidth+"px"; - this.conf.tabsAreaOfs = parseInt(this.tabsArea.style.width)-this.tabsArea.offsetWidth; - } - this.tabsArea.style.width = this.cont.offsetWidth+this.conf.tabsAreaOfs+"px"; - - this._adjustCell(this.conf.lastActive); - this._adjustTabs(true); - - this.callEvent("_onSetSizes", []); - - } - - this._adjustCell = function(id) { - - // adjust specified cell or active - - if (!this.conf.contZone || id == null) return; - - var y = (this.conf.tabsMode=="top"?this.tabsArea.offsetHeight:0)+this.conf.tabsTop; - var h = this.cont.offsetHeight-this.tabsArea.offsetHeight-this.conf.tabsTop; - - // if layout attached - move a bit - var t = this.t[id].cell.dataType; - if (this.conf.skin == "dhx_skyblue" && (t == "layout" || t == "tabbar" || t == "acc")) { - if (this.conf.tabsMode == "top") y = y - 1; // only for top - h = h + 1; // always - } - - if (id != this.conf.lastActive) { - y = -5000; - this.t[id].cell.cell.style.visibility = "hidden"; - this.t[id].cell.cell.style.zIndex = 0; - } - this.t[id].cell._setSize(0, y, this.cont.offsetWidth, h); - - } - - this.setTabsMode = function(mode) { - // new - this.conf.tabsMode = (mode=="bottom"?"bottom":"top"); - this.tabsMode.className = "dhxtabbar_tabs_"+this.conf.tabsMode; - this.tabsArea.className = "dhxtabbar_tabs dhxtabbar_tabs_"+this.conf.tabsMode; - this.tabsArea.style.top = (this.conf.tabsMode=="top"?this.conf.tabsTop+"px":"auto"); - this.setSizes(); - } - - // generate tab css depending on actv/en state - this._tabCss = function(id, hidden) { - var a = this.t[id].conf.active; - var d = !this.t[id].conf.enabled; - var h = !this.t[id].conf.visible; - return "dhxtabbar_tab"+(h?" dhxtabbar_tab_hidden":(a||d?" dhxtabbar_tab"+(a?"_actv":"")+(d?"_dis":""):"")); - } - - // calculate tab width depending on text and close button - this._getLabelWidth = function(text, close) { - - if (this.tabsTextTest == null) { - this.tabsTextTest = document.createElement("SPAN"); - this.tabsTextTest.className = "dhxtabbar_tabs_text_test_"+this.conf.skin; - } - - document.body.appendChild(this.tabsTextTest); - this.tabsTextTest.innerHTML = text; - var w = this.tabsTextTest.offsetWidth; - if (window.dhx4.isIE && w == 0) w = this.tabsTextTest.offsetWidth; // strange IE bug - - // some extra width - w += this.conf.tabsWidth[this.conf.skin][0]; - if (close == true) w += this.conf.tabsWidth[this.conf.skin][1]; - - // - document.body.removeChild(this.tabsTextTest); - return w; - } - - // if tabs overflow left/right side, adjust active tab position - this._adjustTabs = function(fixTabsArea) { - - if (this._checkArrows() == true || fixTabsArea == true) { - this.tabsArea.childNodes[1].style.left = this.tabsArea.childNodes[0].offsetWidth-1+"px"; - this.tabsArea.childNodes[1].style.width = Math.max(0, this.tabsArea.clientWidth-this.tabsArea.childNodes[0].offsetWidth-this.tabsArea.childNodes[2].offsetWidth)+this.conf.tabsOfs*2+"px"; // minus 2 arrows - } - - var p = this.tabsArea.childNodes[1]; - if (p.offsetWidth < 5) { - p = null; - return; - } - - var x = parseInt(p.childNodes[0].style[this.conf.align]); - - var k = null; - for (var q=0; q
              "); - } - html.push(_tgc.itemne); - html.push(row.label); - html.push(_tgc.close); - - - - this.cell.innerHTML=html.join(""); - this.cell._treeCell=true; - this.cell.parentNode.imgTag=this.cell.childNodes[0].childNodes[row.level]; - this.cell.parentNode.valTag=this.cell.childNodes[0].childNodes[row.level+2]; - if (_isKHTML) this.cell.vAlign="top"; - if (row.parent.id!=0 && row.parent.state=="plus") { - this.grid._updateTGRState(row.parent,false); - this.cell.parentNode._skipInsert=true; - } - - this.grid.callEvent("onCellChanged",[rid,this.cell._cellIndex,valAr]); - } - -dhtmlXGridObject.prototype._process_tree_xml=function(top,pid){ - this._parsing=true; - var main=false; - if (!pid){ - this.render_row=this.render_row_tree; - main=true; - - pid=top.getAttribute("parent")||0; - if (pid=="0") pid=0; - if (!this._h2) this._h2= this._createHierarchy(); - if (this._fake) this._fake._h2=this._h2; - } - - var rows=dhx4.ajax.xpath(this.xml.row, top); - this._open=this._open||[]; - for (var i=0; i < rows.length; i++) { - var id=rows[i].getAttribute("id"); - if (!id) { - id=this.uid(); - rows[i].setAttribute("id",id); - } - var row=this._h2.add(id,pid); - row.buff={ idd:id, data:rows[i], _parser: this._process_xml_row, _locator:this._get_xml_data }; - if (rows[i].getAttribute("open")){ - row.state="minus"; - this._open.push(id); - } - - this.rowsAr[id]=row.buff; - this._process_tree_xml(rows[i],id); - } - if (main){ - if (!rows.length) this._h2.change(pid,"state",this._emptyLineImg); - else if (pid!=0 && !this._srnd) { - this._h2.change(pid,"state","minus"); - } - for (var i=0; i < this._open.length; i++) { - var r=this._h2.get[this._open[i]]; - if (!r.childs.length) - r.state=this._emptyLineImg; - }; - - this._updateTGRState(this._h2.get[pid]); - this._h2_to_buff(); - if (pid!=0 && this._srnd) this.openItem(pid); - else { - if (this.pagingOn) - this._renderSort(); - else - this.render_dataset(); - } - - if (this.kidsXmlFile){ - for (var i=0; i < this._open.length; i++) { - var r=this._h2.get[this._open[i]]; - if (r._xml_await) - this.expandKids({idd:r.id}); - } - } - this._open=[]; - - if (this._slowParse===false){ - this.forEachRow(function(id){ - this.render_row_tree(0,id) - }) - } - this._parsing=false; - if (pid!=0 && !this._srnd) { - this.callEvent("onOpenEnd",[pid,1]); - } - } -} -dhtmlXGridObject.prototype._h2_to_buff=function(top){ - if (!top){ - top=this._h2.get[0]; - this.rowsBuffer = new dhtmlxArray(); - if (this._fake && !this._realfake) this._fake.rowsBuffer = this.rowsBuffer; - } - for (var i=0; i < top.childs.length; i++) { - this.rowsBuffer.push(top.childs[i].buff); - if (top.childs[i].state == "minus") - this._h2_to_buff(top.childs[i]); - } -}; -dhtmlXGridObject.prototype.render_row_tree=function(ind,id){ - if (id){ - var r=this._h2.get[id]; - r=r?r.buff:r; - } else - var r=this.rowsBuffer[ind]; - if (!r) - return -1; - - if (r._parser){ - if (this.rowsAr[r.idd] && this.rowsAr[r.idd].tagName=="TR") - return this._h2.get[r.idd].buff=this.rowsBuffer[ind]=this.rowsAr[r.idd]; - var row=this._prepareRow(r.idd); - this.rowsAr[r.idd]=row; - - if (!id) - this.rowsBuffer[ind]=row; - this._h2.get[r.idd].buff=row; //treegrid specific - - r._parser.call(this,row,r.data); - this._postRowProcessing(row); - - return row; - } - return r; -} - - /** - * @desc: remove row from treegrid - * @param: node - row object - * @type: private - */ -dhtmlXGridObject.prototype._removeTrGrRow=function(node,x){ - if(x){ - this._h2.forEachChild(x.id,function(x){ - this._removeTrGrRow(null,x); - delete this.rowsAr[x.id]; - },this); - return; - } - - var ind=this.getRowIndex(node.idd); - var x=this._h2.get[node.idd]; - - - if (ind!=-1 && ind!==this.undefined){// in case of dnd we can receive delete command for some child item, which was not rendered yet - var len=1; - if (x && x.state=="minus") len+=this._getOpenLenght(x.id,0) - for (var i=0; i1) - this._fake.rowsCol.splice(ind+1,len-1); - } - - this.rowsCol.splice(ind,len); - this.rowsBuffer.splice(ind,len); - - } - - if (!x) return; - this._removeTrGrRow(null,x); - - delete this.rowsAr[x.id]; - - if (x.parent.childs.length==1){ - this._h2.change(x.parent.id,"state",this._emptyLineImg); - this._updateTGRState(x.parent); - } - this._h2.remove(x.id); - } - - - - -/** -* @desc: expand row -* @param: rowId - id of row -* @type: public -* @edition: Professional -* @topic: 7 -*/ -dhtmlXGridObject.prototype.openItem=function(rowId){ - var y=this._h2.get[rowId||0]; - var x=this.getRowById(rowId||0); - if (!x) return; - if (y.parent && y.parent.id!=0) - this.openItem(y.parent.id); - this.expandKids(x); -} - -dhtmlXGridObject.prototype._addRowClassic=dhtmlXGridObject.prototype.addRow; - - /** - * @desc: add new row to treeGrid - * @param: new_id - new row id - * @param: text - array of row label - * @param: ind - position of row (set to null, for using parentId) - * @param: parent_id - id of parent row - * @param: img - img url for new row - * @param: child - child flag [optional] - * @type: public - * @edition: Professional - */ -dhtmlXGridObject.prototype.addRow=function(new_id,text,ind,parent_id,img,child){ - if (!this._h2) return this._addRowClassic(new_id,text,ind); - parent_id=parent_id||0; - var trcol=this.cellType._dhx_find("tree"); - if (typeof(text)=="string") text=text.split(this.delim); - var row=this._h2.get[new_id]; - if (!row){ - if (parent_id==0) ind=this.rowsBuffer.length; - else{ - ind=this.getRowIndex(parent_id)+1; - if (this._h2.get[parent_id].state=="minus") - ind+=this._getOpenLenght(parent_id,0); - else - this._skipInsert=true; - } -} - row=row||this._h2.add(new_id,parent_id); - row.image=img; - row.has_kids=child; - return row.buff=this._addRowClassic(new_id,text,ind); -} - /** - * @desc: add new row to treeGrid, before some other row - * @param: new_id - new row id - * @param: text - array of row label - * @param: sibl_id - id of row, related to which new one will be added - * @param: img - img url for new row - * @param: child - child flag [optional] - * @type: public - * @edition: Professional - */ -dhtmlXGridObject.prototype.addRowBefore=function(new_id,text,sibl_id,img,child){ - var sb=this.rowsAr[sibl_id]; - if (!sb) return; - if (!this._h2) return this.addRow(new_id,text,this.getRowIndex(sibl_id)); - var pid=this._h2.get[sibl_id].parent.id; - - var ind=this.getRowIndex(sibl_id); - if (ind==-1) this._skipInsert=true; - this._h2.addBefore(new_id,pid,sibl_id); - return this.addRow(new_id,text,ind,this._h2.get[sibl_id].parent.id,img,child); -} - /** - * @desc: add new row to treeGrid, after some other row - * @param: new_id - new row id - * @param: text - array of row label - * @param: sibl_id - id of row, related to which new one will be added - * @param: img - img url for new row - * @param: child - child flag [optional] - * @type: public - * @edition: Professional - */ -dhtmlXGridObject.prototype.addRowAfter=function(new_id,text,sibl_id,img,child){ - var sb=this.rowsAr[sibl_id]; - if (!sb) return; - if (!this._h2) return this.addRow(new_id,text,this.getRowIndex(sibl_id)+1); - var pid=this._h2.get[sibl_id].parent.id; - - var ind=this.getRowIndex(sibl_id); - if (ind==-1) this._skipInsert=true; - if (this._h2.get[sibl_id].state=="minus") ind+=this._getOpenLenght(sibl_id,0)+1; - else ind++; - - this._h2.addAfter(new_id,pid,sibl_id); - return this.addRow(new_id,text,ind,pid,img,child); -} - - - - - -dhtmlXGridObject.prototype.enableSmartXMLParsing=function(mode) { - this._slowParse=dhx4.s2b(mode); -}; - - - - /** - * @desc: copy content between different rows - * @param: frRow - source row object - * @param: from_row_id - source row id - * @param: to_row_id - target row id - * @type: private - */ -dhtmlXGridObject.prototype._copyTreeGridRowContent=function(frRow,from_row_id,to_row_id){ - var z=this.cellType._dhx_find("tree"); - for(i=0;i el.level && el.id!=0) add_line(el,this._h2,temp); - temp_c(el); - } - } - - - this.temp(this._h2.get[0]); - this._h2=temp; - if (this._fake) this._fake._h2=this._h2; -} - -dhtmlXGridObject.prototype._fix_filtered_images=function(temp,origin){ - temp.forEachChild(0,function(el){ - if (!el.childs.length && !el.has_kids){ - if (el.state!=this._emptyLineImg){ - el.state=this._emptyLineImg; - el.update=true; - this._updateTGRState(el); - } - } else { - if (el.buff.tagName=="TR"){ - var prev=origin.get[el.id]; - if (prev && prev.state!=this._emptyLineImg) - el.state=prev.state; - el.update=true; - this._updateTGRState(el); - } - } - },this) -} -/** -* @desc: get all possible values in column -* @type: public -* @param: column - {number} zero based index of column -* @returns: {array} array of all possible values in column -* @edition: Professional -* @topic: 0 -*/ -dhtmlXGridObject.prototype.collectTreeValues=function(column){ - if (typeof this._tr_strfltr == "undefined") this._tr_strfltr=-1; - this.dma(true) - this._build_m_order(); - column=this._m_order?this._m_order[column]:column; - var c={}; var f=[]; - var col=this._f_rowsBuffer||this._h2; - col.forEachChild(0,function(el){ - if (this._tr_strfltr==-2 || (this._tr_strfltr==-1 && !el.childs.length) || (this._tr_strfltr==el.level)){ - var val=this._get_cell_value(el.buff,column); - if (val) c[val]=true; - } - },this); - this.dma(false) - - var vals=this.combos[column]; - for (var d in c) - if (c[d]===true) f.push(vals?(vals.get(d)||d):d); - - return f.sort(); -} - - - - -dhtmlXGridObject.prototype._in_header_stat_tree_total=function(t,i,c){ - var calck=function(){ - var summ=0; - this._build_m_order(); - var ii = this._m_order?this._m_order[i]:i; - this._h2.forEachChild(0,function(el){ - var v=parseFloat(this._get_cell_value((el.buff||this.rowsAr[el.id]),ii)); - summ+=isNaN(v)?0:v; - },this) - return this._maskArr[i]?this._aplNF(summ,i):(Math.round(summ*100)/100); - } - this._stat_in_header(t,calck,i,c,c); -} -dhtmlXGridObject.prototype._in_header_stat_tree_total_leaf=function(t,i,c){ - var calck=function(){ - var summ=0; - this._build_m_order(); - var ii = this._m_order?this._m_order[i]:i; - this._h2.forEachChild(0,function(el){ - if (el.childs.length) return; - var v=parseFloat(this._get_cell_value((el.buff||this.rowsAr[el.id]),ii)); - summ+=isNaN(v)?0:v; - },this) - return this._maskArr[i]?this._aplNF(summ,i):(Math.round(summ*100)/100); - } - this._stat_in_header(t,calck,i,c,c); -} -dhtmlXGridObject.prototype._in_header_stat_tree_multi_total=function(t,i,c){ - var cols=c[1].split(":"); c[1]=""; - var calck=function(){ - var summ=0; - this._h2.forEachChild(0,function(el){ - var v=parseFloat(this._get_cell_value((el.buff||this.rowsAr[el.id]),cols[0]))*parseFloat(this._get_cell_value((el.buff||this.rowsAr[el.id]),cols[1])); - summ+=isNaN(v)?0:v; - },this) - return this._maskArr[i]?this._aplNF(summ,i):(Math.round(summ*100)/100); - } - this._stat_in_header(t,calck,i,c,c); -} -dhtmlXGridObject.prototype._in_header_stat_tree_multi_total_leaf=function(t,i,c){ - var cols=c[1].split(":"); c[1]=""; - var calck=function(){ - var summ=0; - this._h2.forEachChild(0,function(el){ - if (el.childs.length) return; - var v=parseFloat(this._get_cell_value((el.buff||this.rowsAr[el.id]),cols[0]))*parseFloat(this._get_cell_value((el.buff||this.rowsAr[el.id]),cols[1])); - summ+=isNaN(v)?0:v; - },this) - return this._maskArr[i]?this._aplNF(summ,i):(Math.round(summ*100)/100); - } - this._stat_in_header(t,calck,i,c,c); -} -dhtmlXGridObject.prototype._in_header_stat_tree_max=function(t,i,c){ - var calck=function(){ - var summ=-999999999; - this._build_m_order(); - var ii = this._m_order?this._m_order[i]:i; - if (this.getRowsNum()==0) return ""; - this._h2.forEachChild(0,function(el){ - var d=parseFloat(this._get_cell_value((el.buff||this.rowsAr[el.id]),ii)); - if (!isNaN(d)) - summ=Math.max(summ,d); - },this) - return this._maskArr[i]?this._aplNF(summ,i):summ; - } - this._stat_in_header(t,calck,i,c); -} -dhtmlXGridObject.prototype._in_header_stat_tree_min=function(t,i,c){ - var calck=function(){ - var summ=999999999; - this._build_m_order(); - var ii = this._m_order?this._m_order[i]:i; - if (this.getRowsNum()==0) return ""; - this._h2.forEachChild(0,function(el){ - var d=parseFloat(this._get_cell_value((el.buff||this.rowsAr[el.id]),ii)); - if (!isNaN(d)) - summ=Math.min(summ,d); - },this) - return this._maskArr[i]?this._aplNF(summ,i):summ; - } - this._stat_in_header(t,calck,i,c); -} -dhtmlXGridObject.prototype._in_header_stat_tree_average=function(t,i,c){ - var calck=function(){ - var summ=0; var count=0; - this._build_m_order(); - var ii = this._m_order?this._m_order[i]:i; - this._h2.forEachChild(0,function(el){ - var v=parseFloat(this._get_cell_value((el.buff||this.rowsAr[el.id]),ii)); - summ+=isNaN(v)?0:v; - count++; - },this) - return this._maskArr[i]?this._aplNF(summ,i):(Math.round(summ/count*100)/100); - } - this._stat_in_header(t,calck,i,c); -} -dhtmlXGridObject.prototype._in_header_stat_tree_max_leaf=function(t,i,c){ - var calck=function(){ - var summ=-999999999; - this._build_m_order(); - var ii = this._m_order?this._m_order[i]:i; - if (this.getRowsNum()==0) return ""; - this._h2.forEachChild(0,function(el){ - if (el.childs.length) return; - var d=parseFloat(this._get_cell_value((el.buff||this.rowsAr[el.id]),ii)); - if (!isNaN(d)) - summ=Math.max(summ,d); - },this) - return this._maskArr[i]?this._aplNF(summ,i):summ; - } - this._stat_in_header(t,calck,i,c); -} -dhtmlXGridObject.prototype._in_header_stat_tree_min_leaf=function(t,i,c){ - var calck=function(){ - var summ=999999999; - this._build_m_order(); - var ii = this._m_order?this._m_order[i]:i; - if (this.getRowsNum()==0) return ""; - this._h2.forEachChild(0,function(el){ - if (el.childs.length) return; - var d=parseFloat(this._get_cell_value((el.buff||this.rowsAr[el.id]),ii)); - if (!isNaN(d)) - summ=Math.min(summ,d); - },this) - return this._maskArr[i]?this._aplNF(summ,i):summ; - } - this._stat_in_header(t,calck,i,c); -} -dhtmlXGridObject.prototype._in_header_stat_tree_average_leaf=function(t,i,c){ - var calck=function(){ - var summ=0; var count=0; - this._build_m_order(); - var ii = this._m_order?this._m_order[i]:i; - this._h2.forEachChild(0,function(el){ - if (el.childs.length) return; - var v=parseFloat(this._get_cell_value((el.buff||this.rowsAr[el.id]),ii)); - summ+=isNaN(v)?0:v; - count++; - },this) - return this._maskArr[i]?this._aplNF(summ,i):(Math.round(summ/count*100)/100); - } - this._stat_in_header(t,calck,i,c); -} -dhtmlXGridObject.prototype._in_header_stat_tree_count=function(t,i,c){ - var calck=function(){ - var count=0; - this._h2.forEachChild(0,function(el){ - count++; - },this) - return count; - } - this._stat_in_header(t,calck,i,c); -} -dhtmlXGridObject.prototype._in_header_stat_tree_count_leaf=function(t,i,c){ - var calck=function(){ - var count=0; - this._h2.forEachChild(0,function(el){ - if (!el.childs.length) count++; - },this) - return count; - } - this._stat_in_header(t,calck,i,c); -} - -dhtmlXGridObject.prototype._stat_in_header=function(t,calck,i,c){ -// if (this._realfake) return this._fake._stat_in_header(t,calck,i,c); - var that=this; - var f=function(){ - this.dma(true) - t.innerHTML=(c[0]?c[0]:"")+calck.call(this)+(c[1]?c[1]:""); - this.dma(false) - this.callEvent("onStatReady",[]) - } - if (!this._stat_events) { - this._stat_events=[]; - this.attachEvent("onClearAll",function(){ - if (!this.hdr.rows[1]){ - for (var i=0; iz.index) - n=3; - else n=1; - } - else - { - if ((z.parent.childs.length-1)>z.index) - n=3; - else - n=2; - } - } - else - if ((z.parent.childs.length-1)>z.index) - n=3; - else - n=2; - - - im.src=this.iconTree+z.state+n+".gif"; -} -dhtmlXGridObject.prototype._updateParentLine=function(z,row){ - row=row||this.rowsAr[z.id]; - if (!row) return; - var im=row.imgTag; - if (!im) return; - for (var i=z.level; i>0; i--){ - if (z.id==0) break; - im=im.previousSibling; - z=z.parent; - if ((z.parent.childs.length-1)>z.index) - im.src=this.iconTree+"line1.gif"; - else - im.src=this.iconTree+"blank.gif"; - } -} - -dhtmlXGridObject.prototype._renderSortA=dhtmlXGridObject.prototype._renderSort; -dhtmlXGridObject.prototype._renderSort=function(){ - this._renderSortA.apply(this,arguments); - this._redrawLines(0) -} -dhtmlXGridObject.prototype._redrawLines=function(id){ - if (this._tgle) - this._h2.forEachChild((id||0),function(z){ - this._updateLine(z); - this._updateParentLine(z); - },this); - } -/** -* @desc: enable lines in treeGrid -* @type: public -* @edition: Professional -* @topic: 0 -*/ -dhtmlXGridObject.prototype.enableTreeGridLines=function(){ - this._emptyLineImg="line"; - - - this._updateTGRState=function(z,force){ - if (force || !z.update || z.id==0) return; - if (this._tgle) - this._updateLine(z,this.rowsAr[z.id]); - z.update=false; - } - - this._tgle=true; - this.attachEvent("onXLE",function(a,b,id){ - this._redrawLines(id) - }); - - this.attachEvent("onOpenEnd",function(id){ - this._redrawLines(id) - }); - - - this.attachEvent("onRowAdded",function(id){ - var z=this._h2.get[id]; - this._updateLine(z); - this._updateParentLine(z); - if (z.index<(z.parent.childs.length-1)){ - z=z.parent.childs[z.index+1]; - this._updateLine(z); - this._updateParentLine(z); - } - else if (z.index!=0){ - z=z.parent.childs[z.index-1]; - this._updateLine(z); - this._updateParentLine(z); - if (z.childs.length) - this._h2.forEachChild(z.id,function(c_el){ - this._updateParentLine(c_el) - },this) - } - }); - this.attachEvent("onOpen",function(id,state){ - if (state){ - var z=this._h2.get[id]; - for (var i=0; i < z.childs.length; i++) - this._updateParentLine(z.childs[i]); - } - return true; - }); - this.attachEvent("onBeforeRowDeleted",function(id){ - var self=this; - var z=this._h2.get[id]; - var w=null; - if (z.index!=0) - w=z.parent.childs[z.index-1]; - z=z.parent; - - window.setTimeout(function(){ - z = self._h2.get[z.id]; - if (!z) return; - - self._updateLine(z); - self._updateParentLine(z); - - if (w){ - self._updateLine(w); - if (w.state=="minus") - self._h2.forEachChild(w.id,function(z){ - self._updateParentLine(z); - },self); - } - },1); - return true; - }); -} - -//(c)dhtmlx ltd. www.dhtmlx.com - diff --git a/themes/sources/dhtmlxTreeGrid/codebase/ext/dhtmlxtreegrid_property.js b/themes/sources/dhtmlxTreeGrid/codebase/ext/dhtmlxtreegrid_property.js deleted file mode 100644 index 9990d30..0000000 --- a/themes/sources/dhtmlxTreeGrid/codebase/ext/dhtmlxtreegrid_property.js +++ /dev/null @@ -1,251 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -if (window.dhtmlxHierarchy){ - - if (window.dhtmlXCellObject) - dhtmlXCellObject.prototype.attachPropertyGrid = function() { - var p = this.attachGrid(); - new dhtmlXPropertyGrid(p); - return p; - } - - function eXcell_tree_property(cell){ - if (cell){ - this.cell = cell; - this.grid = this.cell.parentNode.grid; - } - this.isDisabled = function(){ return true; } - this.getValue = function(){ - return this.cell.parentNode.valTag.innerHTML; - } - } - eXcell_tree_property.prototype = new eXcell_tree; - eXcell_tree_property.prototype.setValue = function(valAr){ - if (this.cell.parentNode.imgTag) - return this.setLabel(valAr); - - - if ((this.grid._tgc.iconTree==null)||(this.grid._tgc.iconTree!=this.grid.iconTree)){ - var _tgc={}; - _tgc.imst="" - _tgc.plus=_tgc.imst+"plus.gif"+_tgc.imact; - _tgc.minus=_tgc.imst+"minus.gif"+_tgc.imact; - _tgc.blank=_tgc.imst+"blank.gif"+_tgc.imact; - _tgc.start="
              "; - - _tgc.itemim=""; - _tgc.close="
              "; - this.grid._tgc=_tgc; - } - var _h2=this.grid._h2; - var _tgc=this.grid._tgc; - - var rid=this.cell.parentNode.idd; - var row=this.grid._h2.get[rid]; - - if (this.grid.kidsXmlFile || this.grid._slowParse) { - row.has_kids=(row.has_kids||(this.cell.parentNode._attrs["xmlkids"]&&(row.state!="minus"))); - row._xml_await=!!row.has_kids; - } - - - row.image=row.image||(this.cell._attrs["image"]||"leaf.gif"); - row.label=valAr; - - var html=[_tgc.start]; - - //if has children - if(row.has_kids){ - html.push(_tgc.plus); - row.state="plus" - } - else - html.push(_tgc.imst+row.state+".gif"+_tgc.imact+_tgc.itemim); - - html.push(row.label); - html.push(_tgc.close); - - - - this.cell.innerHTML=html.join(""); - this.cell.style.paddingLeft="0px"; - this.cell.parentNode.imgTag=this.cell.childNodes[0].childNodes[0]; - this.cell.parentNode.valTag=this.cell.childNodes[0].childNodes[1]; - if (row.childs.length) { - this.grid.getRowById(this.cell.parentNode.idd)._attrs["class"] = " dhx_parent_row "; - this.cell.nextSibling.style.borderLeft="1px solid #D4D0C8"; - } - - if (_isKHTML) this.cell.vAlign="top"; - if (row.parent.id!=0 && row.parent.state=="plus"){ - this.grid._updateTGRState(row.parent,false); - this.cell.parentNode._skipInsert=true; - } - - this.grid.callEvent("onCellChanged",[rid,this.cell._cellIndex,valAr]); - } -} - -function eXcell_list(cell){ - if (cell){ - this.cell=cell; - this.grid=this.cell.parentNode.grid; - } - this.edit=function(){ - this.cell.innerHTML=""; - this.obj=this.cell.firstChild; - this.obj.onclick=function(e){ - (e||event).cancelBubble=true - } - this.obj.onmousedown=function(e){ - (e||event).cancelBubble=true - } - this.obj.onkeydown=function(e){ - var ev = (e||event); - - if (ev.keyCode == 9 || ev.keyCode == 13){ - globalActiveDHTMLGridObject.entBox.focus(); - globalActiveDHTMLGridObject.doKey({ - keyCode: ev.keyCode, - shiftKey: ev.shiftKey, - srcElement: "0" - }); - - return false; - } - ev.cancelBubble=true - } - - var self=this; - this.obj.onchange=function(){ - self.grid.editStop(); - self=null; - } - - - var opt=this.getAttribute("values").split(","); - for (var i=0; i < opt.length; i++) - this.obj.options[i]=new Option(opt[i],opt[i]); - this.obj.value=this.cell._val - this.obj.focus() - } - this.getValue=function(){ - return this.cell._val; - } - - this.detach=function(){ - var val=this.obj.value; - var sel=this.obj.selectedIndex; - this.setValue(sel==-1?"":this.obj.options[sel].value); - return val!= this.getValue(); - } -} -eXcell_list.prototype=new eXcell; - -eXcell_list.prototype.setValue=function(val){ - this.cell._val=val; - if (!val||val.toString()._dhx_trim() == ""){ - this.cell._clearCell=true; - this.setCValue(" ",""); - } else { - this.cell._clearCell=false; - this.setCValue(this.grid._aplNF(val, this.cell._cellIndex)); - } -} - - - - function dhtmlXPropertyGrid(cont){ - var t; - if (cont.objBox) - t = cont; - else - t = new dhtmlXGridObject(cont); - - t.setHeader("Name,Value"); - t.setColAlign("left,left"); - - if (window.dhtmlxHierarchy){ - //treegrid available - t.setColTypes("tree_property,ro"); - t.isTreeGrid=function(){return true;} - t.enableSmartXMLParsing(false) - } else - t.setColTypes("ro,ro"); - t.setColSorting("na,na") - t.setInitWidths("*,*"); - t.setNoHeader(true); - t.setSkin("dhx_skyblue"); - t.entBox.className += " gridbox_property"; - - t.i18n.validation_error="Value is incorrect"; - t.attachEvent("onRowSelect",function(id,ind){ - if (!this.editor){ - this.selectCell(this.getRowIndex(id),1); - this.editCell(); - } - }) - t.attachEvent("onBeforeSelect",function(id){ - //if (this._h2 && this._h2.get[id].childs.length) return false; - if (this._block_selection) return false; - return true; - }) - t.attachEvent("onRowCreated",function(id,row){ - if (!this._h2 || !this._h2.get[id].childs.length){ - row.childNodes[1].style.backgroundColor="white"; - } - }) - t.attachEvent("onEditCell",function(stage,id,ind,nv,ov){ - if (stage==1 && this.editor && this.editor.obj && this.editor.obj.select) - this.editor.obj.select(); - if (stage==2 && ov!=nv) { - var val=this.cells(id,1).getAttribute("validate"); - var result=true; - switch(val){ - case "int": - result=(parseFloat(nv)==nv); - break; - } - if (result){ - this._block_selection=false; - this.callEvent("onPropertyChanged",[this.cells(id,0).getValue(),nv,ov]); - } else { - alert(this.i18n.validation_error); - this._block_selection=true; - var self=this; - window.setTimeout(function(){ - self.selectCell(id,ind) - self.editCell(); - },1) - } - } - return true; - }) - t._key_events.k13_0_0=t._key_events.k9_0_0=t._key_events.k40_0_0; - t.getProperties=function(){ - this.editStop(true); - var data={}; - this.forEachRow(function(id){ - data[this.cells(id,0).getValue()]=this.cells(id,1).getValue(); - }); - return data; - } - t.setProperties=function(data){ - this.editStop(); - this.forEachRow(function(id){ - var t=this.cells(id,0).getValue(); - if (typeof data[t] != "undefined") - this.cells(id,1).setValue(data[t]); - }) - this.callEvent("onPropertyChanged",[]); - } - return t; - } diff --git a/themes/sources/dhtmlxTreeView/codebase/dhtmlxtreeview.js b/themes/sources/dhtmlxTreeView/codebase/dhtmlxtreeview.js deleted file mode 100644 index 5c14daa..0000000 --- a/themes/sources/dhtmlxTreeView/codebase/dhtmlxtreeview.js +++ /dev/null @@ -1,1774 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -function dhtmlXTreeView(conf) { - - // console.log("add cache for kids for removeItem"); - // console.log("add unload"); - - var that = this; - - if (typeof(conf) == "object" && conf.tagName == null) { - // api-init - } else { - conf = {parent: conf, clear: true}; - } - - this.base = (typeof(conf.parent)=="string"?document.getElementById(conf.parent):conf.parent); - - if (this.base != document.body) { - while (this.base.childNodes.length > 0) this.base.removeChild(this.base.lastChild); - } - - this.conf = { - skin: (conf.skin||window.dhx4.skin||(typeof(dhtmlx)!="undefined"?dhtmlx.skin:null)||window.dhx4.skinDetect("dhxtreeview")||"material"), - tree_id: window.dhx4.newId(), // register tree in common pull - ofs: {w: 1, h: 0}, // skyblue only - adjust_base: false, - icons: this.icons[(typeof(conf.iconset) == "string" && this.icons[conf.iconset] != null && this.icons[conf.iconset].r == true ? conf.iconset : "tree_native")], - autoload: { - url: null, // will set automaticaly from 1st loadStruct - mode: "id" // user function allowed here - }, - selected: {}, - ud: {}, // usersdata - idx: {sign:0,icon:1,text:2}, // icons index - silent: false, // do not callEvent if true - // macos related for selection - is_mac: (navigator.platform.match(/^mac/i) != null && typeof(window.addEventListener) == "function"), - mac_cmd_key: false - }; - - this.setSkin(this.conf.skin); - - this.cont = document.createElement("DIV"); - this.cont.className = "dhxtreeview_cont"; - this.base.appendChild(this.cont); - - this.area = document.createElement("DIV"); - this.area.className = "dhxtreeview_area"; - this.cont.appendChild(this.area); - - this.cont.onclick = function(e) { - e = e||event; - that.callEvent("_onTreeClick", [e, {stop:false}]); - } - - this.cont.ondblclick = function(e) { - e = e||event; - var t = (e.target||e.srcElement); - if (t.className.match(/dhxtreeview_item_label/) != null) { - that._openCloseItem(t.parentNode.parentNode._itemId, true); - } - } - - - this.items = {}; - - this._addItem = function(id, pId, data, index) { - - var level = (pId!=null?this.items[pId].level+1:1); - - var t = document.createElement("DIV"); - t.className = "dhxtreeview_item"; - t.innerHTML = "
              "; - - if (index != null && index < 0) data.index = 0; - - if (pId == null) { - var node = this.area; - } else { - var k = this.items[pId].kids; - if (k == false) this._initKidsNode(pId); - this.items[pId].kids_request = false; // do not use dyn load if at least 1 child is present - var node = this.items[pId].item.lastChild.firstChild; - } - - if (index != null && node.childNodes[index] != null) { - node.insertBefore(t, node.childNodes[index]); - } else { - node.appendChild(t); - } - node = null; - - t._itemId = id; - t._treeId = this.conf.tree_id; - - if (window.dhx4.isIE == true) { - t.onselectstart = function(e){ - e = e||event; - if (e.preventDefault) e.preventDefault(); else e.returnValue = false; - } - } - - this.items[id] = { - id: id, - pId: pId, - treeId: this.conf.tree_id, - text: data.text, - item: t, - level: level, - kids: false, // true/false if any kid - opened: window.dhx4.s2b(data.open), - userdata: window.dhx4._copyObj(data.userdata||{}), - half_opened: false // true/false to change sign only, used for dyn.load - }; - - this.callEvent("_onItemRendered", [id, data]); - - t.firstChild.innerHTML = this._getItemHtml(id); - t = null; - - // pre-select - if (window.dhx4.s2b(data.select) == true) this._setSelected(id, true); - - this.callEvent("_onItemInited", [id, data]); - - } - - this.addItem = function(id, text, parentId, index) { - if (this.items[id] != null) return; - if (parentId != null && this.items[parentId] == null) parentId = null; - this._addItem(id, parentId, {text: text}, index); - this._callPublicEvent("onAddItem", [id, text, parentId, index]); - } - - this._removeSingleItem = function(id) { - if (window.dhx4.isIE == true) this.items[id].item.onselectstart = null; - this.items[id].item.parentNode.removeChild(this.items[id].item); - - for (var a in this.items[id]) { - this.items[id][a] = null; - delete this.items[id][a]; - } - - delete this.items[id]; - - // clear selection if any - if (this.conf.selected[id] == true) delete this.conf.selected[id]; - } - - this._removeItem = function(id) { - var pid = id ? this.items[id].pId : -1; - var count = -1; - - // remove nested - for (var a in this.items) { - if (this.items[a].pId == pid) count++; - if (this.items[a].pId == id) this._removeItem(a); - } - - if (id != null) this._removeSingleItem(id); - if (pid && !count) - this._clearKidsNode(pid); - } - - this.deleteItem = function(id) { - if (this.items[id] == null) return; - if (!this._callPublicEvent("onBeforeDeleteItem", [id])) return; - this._removeItem(id); - this._callPublicEvent("onDeleteItem", [id]); - } - - this.deleteChildItems = function(id) { - id = id || 0; - for (var a in this.items) { - if (this.items[a].pId == id) - this._removeItem(a); - } - this._clearKidsNode(id); - } - - this.clearAll = function() { - this._removeItem(null); - if (this.conf.unloading != true) this._fixAreaWidth(); - } - - this._initKidsNode = function(id) { - - var p; - - if (this.items[id].item.lastChild.className.match(/dhxtreeview_kids_cont/) == null) { - - p = document.createElement("DIV"); - p.className = "dhxtreeview_kids_cont"; - p.innerHTML = "
              "; - - p.style.opacity = "1"; - - if (this.items[id].opened != true) { - if (this.conf.transProp != false) { - p.style.height = "0px"; - p.style.opacity = "0"; - p.firstChild.style.display = "none"; - } else { - p.style.display = "none"; - } - } - - this.items[id].item.appendChild(p); - - } - - this.items[id].kids = true; - this._iconUpdate(id); - this._signUpdate(id); - - p = null; - } - - this._clearKidsNode = function(id) { - - if (this.items[id].item.lastChild.className.match(/dhxtreeview_kids_cont/) != null) { - this.items[id].item.removeChild(this.items[id].item.lastChild); - } - - this.items[id].kids = false; - this._iconUpdate(id); - this._signUpdate(id); - - } - - // open/colse - this.openItem = function(id, anim) { - if (this.items[id].opened != true) { - if (typeof(anim) == "undefined") anim = true; - this._openCloseItem(id, anim); - } - } - this.closeItem = function(id, anim) { - if (this.items[id].opened == true) { - if (typeof(anim) == "undefined") anim = true; - this._openCloseItem(id, anim); - } - } - - this._openCloseItem = function(id, anim) { - - if (this.callEvent("_onBeforeOpen", [id]) !== true) return; - - if (!(this.items[id].kids == true || this.items[id].kids_request == true)) return false; - - if (this.items[id].half_opened == true) { - this.items[id].half_opened = false; - this._signUpdate(id); - return; - } - - if (anim && this.conf.transProp != false) { - - if (!this.items[id].transEv) { - this.items[id].item.lastChild.addEventListener(this.conf.transEv, this._doOnTrEnd); - this.items[id].transEv = true; - } - - if (this.items[id].opened == true) { - - // close - - this.items[id].transMode = "close"; - - this.items[id].item.lastChild.style.overflow = "hidden"; - this.items[id].item.lastChild.style.height = this.items[id].item.lastChild.childNodes[0].offsetHeight+"px"; - - window.setTimeout(function(){ - - that.items[id].item.lastChild.style[that.conf.transProp] = that.conf.transValueHeight; - that.items[id].item.lastChild.style.height = "0px"; - that.items[id].item.lastChild.style.opacity = "0"; - - that.items[id].opened = false; - that._iconUpdate(id); - that._signUpdate(id); - - },50); - - } else { - - // open - - this.items[id].transMode = "open"; - - this.items[id].item.lastChild.style[this.conf.transProp] = this.conf.transValueHeight; - - this.items[id].item.lastChild.childNodes[0].style.display = ""; - this.items[id].item.lastChild.style.overflow = "hidden"; - - this.items[id].item.lastChild.style.height = this.items[id].item.lastChild.childNodes[0].offsetHeight+"px"; - this.items[id].item.lastChild.style.opacity = "1"; - - this.items[id].opened = true; - this._iconUpdate(id); - this._signUpdate(id); - } - - - } else { - - // open/close - this.items[id].opened = !this.items[id].opened; - this.items[id].item.lastChild.style.display = (this.items[id].opened==true ? "" : "none"); - - // add for dnd - this.items[id].item.lastChild.childNodes[0].style.display = this.items[id].item.lastChild.style.display; - this.items[id].item.lastChild.style.height = (this.items[id].opened==true?"":"0px"); - this.items[id].item.lastChild.style.opacity = (this.items[id].opened==true?1:0); - // end for dnd - - this._iconUpdate(id); - this._signUpdate(id); - this._fixAreaWidth(); - } - } - - this._doOnTrEnd = function() { - - var id = this.parentNode._itemId; - that.items[id].item.lastChild.style[that.conf.transProp] = ""; - - if (that.items[id].transMode == "close") { - that.items[id].item.lastChild.childNodes[0].style.display = "none"; - //that._iconUpdate(id); - } else { - that.items[id].item.lastChild.style.height = ""; - that.items[id].item.lastChild.style.overflow = ""; - } - that._fixAreaWidth(); - } - - // dimension - this.setSizes = function() { - // adjust top-parent, used in window when tree has border - if (this.conf.adjust_base == true) { - this.base.style.width = this.base.parentNode.clientWidth-2+"px"; - this.base.style.height = this.base.parentNode.clientHeight-2+"px"; - } - // - this.cont.style.left = this.conf.ofs.w+"px"; - this.cont.style.top = this.conf.ofs.h+"px"; - this.cont.style.width = this.base.clientWidth-this.conf.ofs.w*2+"px"; - this.cont.style.height = this.base.clientHeight-this.conf.ofs.h*2+"px"; - // - this._fixAreaWidth(); - } - - this._fixAreaWidth = function(r) { - this.area.style.width = "100%"; - if (this.cont.scrollWidth != this.cont.clientWidth) { - this.area.style.width = this.cont.scrollWidth+1+"px"; - } - if (window.dhx4.isIE7 == true && r !== false) { // extra loop for ie7 to fix scroll artefacts - window.setTimeout(function(){that._fixAreaWidth(false);},1); - } - } - - - this.setSizes(); - - dhx4._eventable(this); - - // transition - var k = window.dhx4.transDetect(); - this.conf.transProp = k.transProp; - this.conf.transEv = k.transEv; - this.conf.transValueHeight = "height 0.15s"; - k = null; - - // macos multiselect - if (this.conf.is_mac == true) { - this._macOnKey = function(e) { - if (((window.dhx4.isKHTML || window.dhx4.isChrome || window.dhx4.isOpera) && (e.keyCode == 91 || e.keyCode == 93)) || (window.dhx4.isFF && e.keyCode == 224)) { - that.conf.mac_cmd_key = (e.type == "keydown"); - } - } - window.addEventListener("keydown", this._macOnKey, false); - window.addEventListener("keyup", this._macOnKey, false); - } - - // extra modules to init if any - for (var a in this.modules) { - if (this.modules[a].init != null) this[this.modules[a].init](conf); - } - - this.unload = function() { - - this.conf.unloading = true; - - this.cont.onclick = null; - this.cont.ondblclick = null; - - this.clearAll(); - - if (this.conf.is_mac == true) { - window.removeEventListener("keydown", this._macOnKey, false); - window.removeEventListener("keyup", this._macOnKey, false); - } - - // extra modules to unload if any - for (var a in this.modules) { - if (this.modules[a].unload != null) this[this.modules[a].unload](); - } - - this.area.parentNode.removeChild(this.area); - this.area = null; - - this.cont.parentNode.removeChild(this.cont); - this.cont = null; - - this.base.className = String(this.base.className).replace(new RegExp("\s{0,}dhxtreeview_"+(this.conf.skin||"")), ""); - - window.dhx4._eventable(this, "clear"); - - for (var a in this) this[a] = null; - - that = null; - - } - - // autoload/etc - if (conf.items != null || conf.json != null || conf.xml != null) { - this.loadStruct(conf.items||conf.json||conf.xml, conf.onload); - } - - return this; - -}; - -dhtmlXTreeView.prototype.modules = {}; - -// misc -dhtmlXTreeView.prototype.setSkin = function(skin) { - this.base.className = String(this.base.className).replace(new RegExp("\s{0,}dhxtreeview_"+(this.conf.skin||"")), "") + " dhxtreeview_"+skin; - this.conf.skin = skin; - this.conf.icon_width = dhx4.readFromCss("dhxtreeview_"+this.conf.skin+" dhxtreeview_icon_width"); - this.conf.ofs = (this.conf.skin == "dhx_skyblue" ? {w:1, h:0} : {w:0, h:0}); -}; - -dhtmlXTreeView.prototype.setItemText = function(id, text) { - if (this.items[id] != null) { - this.items[id].text = text; - this.items[id].item.firstChild.childNodes[this.conf.idx.text].innerHTML = text; - this._callPublicEvent("onTextChange", [id, text]); - } -}; -dhtmlXTreeView.prototype.getItemText = function(id) { - return this.items[id].text; -}; -dhtmlXTreeView.prototype.showItem = function(id) { - var top = 0; - var sub = false; - - while (id){ - var node = this.items[id]; - if (node){ - top += node.item.offsetTop + (sub?node.item.firstChild.offsetHeight:0); - id = node.pId; - sub = true; - } else - break; - } - - this.cont.scrollTop = top; -}; - -// - -dhtmlXTreeView.prototype.getParentId = function(id) { - return this.items[id].pId; -}; -dhtmlXTreeView.prototype.getSubItems = function(parentId) { - var rt = this.items[parentId]; - rt = rt ? rt.item.lastChild.firstChild : this.area; - - var t = []; - for (var i = 0; i < rt.childNodes.length; i++) - t[i] = rt.childNodes[i]._itemId; - return t; -}; - -// render item html -dhtmlXTreeView.prototype._refreshItemHtml = function(id, updSign, updIcon) { - this.items[id].item.firstChild.innerHTML = this._getItemHtml(id); - if (updSign == true) this._signUpdate(id); - if (updIcon == true) this._iconUpdate(id); -}; -dhtmlXTreeView.prototype._getItemHtml = function(id) { - var html = []; - var nodeIndex = 0; - for (var a in this.conf.idx) { - var data = this["_itemHtml_"+a](id, nodeIndex); - if (data.nodeText !== false) { - html.push(data.nodeText); - nodeIndex += data.nodeIndex; - } - } - return html.join(""); -}; -dhtmlXTreeView.prototype._getIconOfs = function(id, index) { - return ((this.items[id].level-1+index)*this.conf.icon_width); -}; -dhtmlXTreeView.prototype._itemHtml_text = function(id, nodeIndex) { - return { - nodeIndex: 1, - nodeText: "
              "+this.items[id].text+"
              " - }; -}; - -// userdata -dhtmlXTreeView.prototype.setUserData = function(id, name, value) { - var item = this.items[id]; - if (item) item.userdata[name] = value; -}; -dhtmlXTreeView.prototype.getUserData = function(id, name) { - var item = this.items[id]; - if (item && !name) return item.userdata; - return item ? (item.userdata[name]||null) : null; -}; - -// events extension -dhtmlXTreeView.prototype.silent = function(f) { - this.conf.silent = true; - if (typeof(f) == "function") f.apply(window, [this]); - this.conf.silent = false; -}; -dhtmlXTreeView.prototype._callPublicEvent = function() { - return (this.conf.silent == false ? this.callEvent.apply(this, arguments) : true); -}; - -dhtmlXTreeView.prototype.refreshItem = function(id){ - id = id || 0; - this.deleteChildItems(id); - this._dynLoadRequest(id); -} - -dhtmlXTreeView.prototype.getLevel = function(id){ - var top = this.items[id]; - var level = 0; - while (top){ - level++; - top = this.items[top.pId]; - } - return level; -} - -if (typeof(window.dhtmlXCellObject) == "function") { - - dhtmlXCellObject.prototype.attachTreeView = function(conf) { - - this.callEvent("_onBeforeContentAttach", ["treeview"]); - - var obj = document.createElement("DIV"); - obj.style.position = "relative"; - obj.style.overflow = "hidden"; - obj.style.width = "100%"; - obj.style.height = "100%"; - - this._attachObject(obj); - - var treeConf = {parent: obj, skin: this.conf.skin}; - if (conf != null && typeof(conf) == "object") { - for (var a in conf) { if (typeof(treeConf[a]) == "undefined") treeConf[a] = conf[a]; } - } - - this.dataType = "treeview"; - this.dataObj = new dhtmlXTreeView(treeConf); - - // draw border if attached to window - if (typeof(window.dhtmlXWindowsCell) == "function" && this instanceof window.dhtmlXWindowsCell) { - obj.className += " dhxtreeview_with_border"; - this.dataObj.conf.adjust_base = true; - this.dataObj.setSizes(); - } - - treeConf.parent = null; - treeConf = obj = conf = null; - - this.callEvent("_onContentAttach", []); - - return this.dataObj; - - }; - -} -// register checkboxes module -dhtmlXTreeView.prototype.modules.chbx = { - init: "_chbxInit" -}; - -// public -dhtmlXTreeView.prototype.enableCheckboxes = function(mode) { - mode = (mode==true); - if (this.conf.enable_chbx != mode) { - this.conf.enable_chbx = mode; - this._chbxUpdIndex(); - for (var a in this.items) this._refreshItemHtml(a, true, true); - } -}; - -dhtmlXTreeView.prototype.getAllChecked = function(parentId) { - return this._chbxGetCheckedBranch(parentId, true); -}; -dhtmlXTreeView.prototype.getAllUnchecked = function(parentId) { - return this._chbxGetCheckedBranch(parentId, false); -}; - -dhtmlXTreeView.prototype.checkItem = function(id) { - this._chbxSetChecked(id, true, true); -}; -dhtmlXTreeView.prototype.uncheckItem = function(id) { - this._chbxSetChecked(id, false, true); -}; -dhtmlXTreeView.prototype.isItemChecked = function(id) { - if (this.items[id] == null) return null; - return (this.items[id].checked == true); -}; - -dhtmlXTreeView.prototype.enableCheckbox = function(id) { - this._chbxSetEnabled(id, true); -}; -dhtmlXTreeView.prototype.disableCheckbox = function(id) { - this._chbxSetEnabled(id, false); -}; -dhtmlXTreeView.prototype.isCheckboxEnabled = function(id) { - return (this.items[id].chbx_enabled == true); -}; - -dhtmlXTreeView.prototype.showCheckbox = function(id) { - this._chbxSetVisible(id, true); -}; -dhtmlXTreeView.prototype.hideCheckbox = function(id) { - this._chbxSetVisible(id, false); -}; -dhtmlXTreeView.prototype.isCheckboxVisible = function(id) { - return (this.items[id].chbx_visible == true); -}; - -// private -dhtmlXTreeView.prototype._chbxInit = function(conf) { // init - - this.enableCheckboxes(conf.checkboxes); - - this.attachEvent("_onItemRendered", function(id, data){ - - this.items[id].checked = window.dhx4.s2b(data.checked); - - var conf = (data.checkbox||"enabled,visible"); - this.items[id].chbx_enabled = (conf.match(/disabled/)==null); - this.items[id].chbx_visible = (conf.match(/hidden/)==null); - - }); - - this.attachEvent("_onTreeClick", function(e, flow){ - - if (this.conf.enable_chbx != true) return; - - var t = (e.target||e.srcElement); - if (t.tagName.toLowerCase() == "i") t = t.parentNode; // check if icon - - if ((t.parentNode.className||"").match(/dhxtreeview_item_text/) != null && t == t.parentNode.childNodes[this.conf.idx.chbx]) { // check if checkbox - var id = t.parentNode.parentNode._itemId; - if (this.items[id].chbx_enabled == true) this._chbxSetChecked(id, !this.items[id].checked, true); - flow.stop = true; - } - }); - - conf = null; - -}; - -dhtmlXTreeView.prototype._itemHtml_chbx = function(id, nodeIndex) { - var r = {nodeIndex: 0, nodeText: false}; - if (this.conf.enable_chbx == true) { - if (this.items[id].chbx_visible == true) r.nodeIndex = 1; - r.nodeText = "
              "+this._chbxGenIcon(id)+"
              "; - } - return r; -}; - -dhtmlXTreeView.prototype._chbxSetChecked = function(id, state) { - if (this.conf.enable_chbx != true) return; - state = (state==true); - if (this.items[id].checked != state) { - if (this._callPublicEvent("onBeforeCheck", [id, (this.items[id].checked==true)]) !== true) return; - this.items[id].checked = state; - this.items[id].item.childNodes[0].childNodes[this.conf.idx.chbx].innerHTML = this._chbxGenIcon(id); - this._callPublicEvent("onCheck", [id, state]); - } -}; - -dhtmlXTreeView.prototype._chbxSetEnabled = function(id, mode) { - if (this.items[id].chbx_enabled != mode) { - this.items[id].chbx_enabled = mode; - this.items[id].item.firstChild.childNodes[this.conf.idx.chbx].innerHTML = this._chbxGenIcon(id); - } -}; - -dhtmlXTreeView.prototype._chbxSetVisible = function(id, mode) { - if (this.items[id].chbx_visible != mode) { - this.items[id].chbx_visible = mode; - this._refreshItemHtml(id, true, true); - } -}; - -dhtmlXTreeView.prototype._chbxGenIcon = function(id) { - var icon = this.conf.icons["chbx_"+(this.items[id].chbx_enabled?"":"dis_")+(this.items[id].checked?"1":"0")]; - return ''; -}; - -dhtmlXTreeView.prototype._chbxUpdIndex = function() { - if (this.conf.enable_chbx == true) { - this.conf.idx = {sign: 0, chbx: 1, icon: 2, text: 3}; - } else { - this.conf.idx = {sign: 0, icon: 1, text: 2}; - } -}; - -dhtmlXTreeView.prototype._chbxGetCheckedBranch = function(pId, mode) { - var k = []; - for (var a in this.items) { - if (this.items[a].pId == pId) { - if (this.items[a].checked == mode) k.push(a); - if (this.items[a].kids == true) k = k.concat(this._chbxGetCheckedBranch(a, mode)); - } - } - return k; -}; -// register selection module -dhtmlXTreeView.prototype.modules.sign = { - init: "_signInit" -}; - -// private -dhtmlXTreeView.prototype._signInit = function() { - this.attachEvent("_onTreeClick", function(e, flow){ - if (flow.stop == true) return; // check if cancelled by prev attached function - var t = (e.target||e.srcElement); - if (t.tagName.toLowerCase() == "i") t = t.parentNode; // check if icon - if ((t.parentNode.className||"").match(/dhxtreeview_item_text/) != null && t == t.parentNode.childNodes[this.conf.idx.sign]) { - this._openCloseItem(t.parentNode.parentNode._itemId, true); - flow.stop = true; - } - }); -}; - -dhtmlXTreeView.prototype._signUpdate = function(id) { - var t = this.items[id]; - var img = t.item.childNodes[0].childNodes[this.conf.idx.sign]; - if (t.kids == true || t.kids_request == true) { - img.innerHTML = ''; - } else { - img.innerHTML = ""; - } - t = img = null; -} - -dhtmlXTreeView.prototype._itemHtml_sign = function(id, nodeIndex) { // item html renderer - return { - nodeIndex: 1, - nodeText: "
              " - }; -}; -// register selection module -dhtmlXTreeView.prototype.modules.selection = { - init: "_selectionInit" -}; - -// public -dhtmlXTreeView.prototype.selectItem = function(id) { - if (this.conf.msel == true) { - var t = {}; - if (!(id instanceof Array)) id = [id]; - for (var q=0; q 300){ - this._callPublicEvent("onClick", [selectId]); - this._click_timer = now; - this._click_item = selectId; - } else { - this._callPublicEvent("onDblClick", [selectId]); - this._click_item = null; - } - - if (this.conf.msel == true) { - if ((e.ctrlKey == true || this.conf.mac_cmd_key == true) && e.shiftKey == false && e.altKey == false) { // ctrl pressed - this._setSelected(selectId, !this._isSelected(selectId)); - } else if (e.ctrlKey == false && e.shiftKey == false && e.altKey == false && this.conf.mac_cmd_key == false) { // nothing pressed - if (this._clearSelection(selectId) == false) this._setSelected(selectId, true); - } - } else { - if (this._clearSelection(selectId) == false) this._setSelected(selectId, true); - } - } - }); -}; - -dhtmlXTreeView.prototype._setSelected = function(id, mode) { - if (mode == true) { - if (this.conf.selected[id] != true) { - this.items[id].item.childNodes[0].className += " dhxtreeview_item_text_selected"; - this.conf.selected[id] = true; - this._callPublicEvent("onSelect", [id, true]); - } - } else { - if (this.conf.selected[id] == true) { - this.items[id].item.childNodes[0].className = String(this.items[id].item.childNodes[0].className).replace(/\s*dhxtreeview_item_text_selected/gi, ""); - delete this.conf.selected[id]; - this._callPublicEvent("onSelect", [id, false]); - } - } -}; - -dhtmlXTreeView.prototype._clearSelection = function(exceptId) { - var r = false; - for (var a in this.conf.selected) { - if (exceptId != null && a == exceptId) r = true; else this._setSelected(a, false); - } - return r; // true if item stay selected -}; - -dhtmlXTreeView.prototype._isSelected = function(id) { - return (this.conf.selected[id]==true); -}; - -// register icons module -dhtmlXTreeView.prototype.modules.icons = { - init: "_iconModuleInit" -}; - -// public -dhtmlXTreeView.prototype.setItemIcons = function(id, icons) { - if (icons == null && this.items[id].icons != null) { - delete this.items[id].icons; // clear all custom for certain item - } else if (icons != null) { - if (this.items[id].icons == null) this.items[id].icons = {}; - for (var a in icons) { - if (icons[a] != null) { - this.items[id].icons[a] = icons[a]; - } else if (icons[a] == null && this.items[id].icons[a] != null) { - delete this.items[id].icons[a]; // clear only specified icon - } - } - } - this._iconUpdate(id); -}; - -dhtmlXTreeView.prototype.setIconColor = function(id, color) { - var icon = this.items[id].item.firstChild.childNodes[this.conf.idx.icon].firstChild; - if (color == null) { - if (this.items[id].icon_color != null) { - delete this.items[id].icon_color; - icon.style.color = "inherit"; - } - } else { - if (this.items[id].icon_color != color) { - this.items[id].icon_color = color; - icon.style.color = color; - } - } - icon = null; -}; - -dhtmlXTreeView.prototype.setIconset = function(name) { - if (this.icons[name] != null && this.icons[name].r == true) { - this.conf.icons = this.icons[name]; - } -}; - -// private -dhtmlXTreeView.prototype._iconModuleInit = function() { // init - this.attachEvent("_onItemRendered", function(id, data){ - if (data.icons != null) this.items[id].icons = data.icons; - if (data.icon_color != null) this.items[id].icon_color = data.icon_color; - }); -}; - -dhtmlXTreeView.prototype._iconConf = function(id) { // return array with icons - var icons = this.items[id].icons||{}; - for (var a in {folder_opened:1, folder_closed:1, file:1}) { - if (typeof(icons[a]) == "undefined") icons[a] = this.conf.icons[a]; // if item has own icons missing will updated here - } - return icons; -}; - -dhtmlXTreeView.prototype._iconHtml = function(id, css) { // generate for icon - var attrs = ['class="'+this.conf.icons.prefix+" "+css+'"']; - if (this.items[id].icon_color != null) attrs.push('style="color:'+this.items[id].icon_color+';"'); - return ""; -}; - -dhtmlXTreeView.prototype._itemHtml_icon = function(id, nodeIndex) { // item html renderer - return { - nodeIndex: 1, - nodeText: "
              "+this._iconHtml(id, this._iconConf(id).file)+"
              " - }; -}; - -dhtmlXTreeView.prototype._iconUpdate = function(id) { // update icon inner call - var t = this.items[id]; - var icons = this._iconConf(id); - var css = (t.kids == true || t.kids_request == true ? icons[t.opened?"folder_opened":"folder_closed"] : icons.file); - t.item.childNodes[0].childNodes[this.conf.idx.icon].innerHTML = this._iconHtml(id, css); - t = null; -}; - -// config -dhtmlXTreeView.prototype.icons = { - tree_native: { - r: true, // allow rendering depending on browser - prefix: "dhxtreeview_icon", // common prefix for all icons/arrows/checkboxes/etc - plus: "dhxtreeview_icon_plus", - minus: "dhxtreeview_icon_minus", - file: "dhxtreeview_icon_file", - folder_opened: "dhxtreeview_icon_folder_opened", - folder_closed: "dhxtreeview_icon_folder_closed", - loading: "dhxtreeview_icon_loading", - chbx_0: "dhxtreeview_icon_chbx_0", - chbx_1: "dhxtreeview_icon_chbx_1", - chbx_dis_0: "dhxtreeview_icon_chbx_dis_0", - chbx_dis_1: "dhxtreeview_icon_chbx_dis_1" - }, - font_awesome: { - r: (!(window.dhx4.isIE6 == true || window.dhx4.isIE7 == true)), - prefix: "fa", - plus: "fa-caret-right", - minus: "fa-caret-down", - file: "fa-file-o", - folder_opened: "fa-folder-open-o", - folder_closed: "fa-folder-o", - loading: "fa-refresh fa-spin", - chbx_0: "fa-square-o", - chbx_1: "fa-check-square-o", - chbx_dis_0: "fa-square-o dhx-disabled", - chbx_dis_1: "fa-check-square-o dhx-disabled" - } -}; -// register loading module -dhtmlXTreeView.prototype.modules.loading = { - init: "_loadingInit", - unload: "_loadingUnload" -}; - -dhtmlXTreeView.prototype._loadingInit = function(conf) { - window.dhx4._enableDataLoading(this, "_initObj", "_xmlToObj", "tree", {struct:true}); - this.conf.root_id = (typeof(conf.root_id)=="undefined" || conf.root_id==null ? "0" : conf.root_id); // top-level item - this._dhxdataload.onBeforeXLS = function(url) { // add tree_id for 1st load if any - if (this.conf.autoload.url == null) this.conf.autoload.url = url; - return {url:url.replace(/\{id\}/gi, this.conf.root_id)}; - } -}; - -dhtmlXTreeView.prototype._loadingUnload = function() { - window.dhx4._enableDataLoading(this, null, null, null, "clear"); -}; - -dhtmlXTreeView.prototype._initObj = function(data, url, pId, fixArea) { - - for (var q=0; q 0) { - - // nested items - var nested = this._xmlToObj(node, true); - if (nested.length > 0) item.items = nested; - - // icons and userdata - for (var w=0; w= 2) return false; - - var id = null; - var treeId = null; - - var t = e.target||e.srcElement; - - var ofs_x = window.dhx4.absLeft(t)+(typeof(e.offsetX)=="undefined"?e.layerX:e.offsetX) - e.clientX; - var ofs_y = window.dhx4.absTop(t)+(typeof(e.offsetY)=="undefined"?e.layerY:e.offsetY) - e.clientY; - - while (t != null && t != that.cont) { - if ((t.className||"").match(/dhxtreeview_item/) != null && t._itemId != null) { - id = t._itemId; - treeId = t._treeId; - t = null; - } else { - t = t.parentNode; - } - } - t = null; - - if (id == null) return; // check if empty click and abort - - that.conf.dnd = { - inited: false, - id: id, - treeId: treeId, - selected: (that.conf.selected[id]==true), - tid: null, - drop: {}, - x: e.clientX, - y: e.clientY, - ofs_x: ofs_x, - ofs_y: ofs_y, - zi: window.dhx4.newId(), - scroll: false, - scroll_ofs: 5, // offset for single loop - scroll_time: 30, // timeout - scroll_tm: null, - kids: {}, // all kids of dragged to prevent dnd in advance - idx: {} - }; - - - - that._dndInitEvents(); - - } - - this._dndOnMouseMove = function(e) { - - e = e||event; - - if (that.conf.dnd.inited != true) { - - if (Math.abs(that.conf.dnd.x - e.clientX) >= 15 || Math.abs(that.conf.dnd.y - e.clientY) >= 15) { - - if (that._callPublicEvent("onBeforeDrag", [that.conf.dnd.id]) !== true) return; - - that.conf.dnd.inited = true; - that.cont.className += " dhxtreeview_dnd_mode"; - that._dndInitDraggedObj(); - that._dndCollectKids(that.conf.dnd.id); - that._dndCollectIndexes(that.area); - - // rearrange selection - if (that._clearSelection(that.conf.dnd.id) == false) that._setSelected(that.conf.dnd.id, true); - - // update item css - that.items[that.conf.dnd.id].item.className += " dhxtreeview_item_dragged"; - document.body.className += " dhxtreeview_dnd_mode"; - - // tree area to check if scroll should be performed - that.conf.dnd.cont = { - x1: window.dhx4.absLeft(that.base), - y1: window.dhx4.absTop(that.base) - }; - that.conf.dnd.cont.x2 = that.conf.dnd.cont.x1 + that.base.offsetWidth; - that.conf.dnd.cont.y2 = that.conf.dnd.cont.y1 + that.base.offsetHeight; - - } else { - return; - } - - } - - that.conf.dnd.x = e.clientX; - that.conf.dnd.y = e.clientY; - - that._dndAdjustDraggedObj(); - - // check tree area edges and scroll content if any - var stopScroll = true; - - if (that.cont.scrollHeight > that.cont.clientHeight) { - if (that.conf.dnd.x >= that.conf.dnd.cont.x1 && that.conf.dnd.x <= that.conf.dnd.cont.x2) { - if (that.cont.scrollTop > 0 && that.conf.dnd.y >= that.conf.dnd.cont.y1 && that.conf.dnd.y <= that.conf.dnd.cont.y1 + 10) { // top edge - that._dndScroll("up"); - stopScroll = false; - } else if (that.cont.scrollTop+that.cont.clientHeight < that.cont.scrollHeight && that.conf.dnd.y <= that.conf.dnd.cont.y2 && that.conf.dnd.y >= that.conf.dnd.cont.y2 - 10) { // bottom edge - that._dndScroll("down"); - stopScroll = false; - } - } - } - - if (stopScroll == true && that.conf.dnd.scroll == true) { - that._dndScroll("stop"); - } - - // detect node by target - var t = (e.target||e.srcElement); - - // remove blink artefact if any - if (t.parentNode != null && (t.parentNode.className||"").match(/dhxtreeview_kids_cont/) != null) { - t = null; - return; - } - - var upd = false; - var tid = null; - var treeId = null; - - if (t.className != null) { - if (t.className.match(/dhxtreeview_item_[li]/) != null) { // label/icon - tid = t.parentNode.parentNode._itemId; - treeId = t.parentNode.parentNode._treeId; - } else if (t.className.match(/dhxtreeview_item_[t]/) != null) { // text - tid = t.parentNode._itemId; - treeId = t.parentNode._treeId; - } - } - - // check if the same tree - if (tid != null && treeId != that.conf.dnd.treeId) { - return; - } - - // check if target is the same or if target is child - if (that.conf.dnd.id == tid || that.conf.dnd.kids[tid] == true) { - tid = null; - } - - if (tid != null) { - - var h = that.items[tid].item.firstChild.offsetHeight; - var ofs = Math.max(Math.floor(Math.min(e.offsetY, h) * 3 / h), 0); - - // depending on item type and offset - allow/block some offsets - - if (ofs == 0) { // drop as sibling above target - - if (that.items[tid].item.previousSibling == that.items[that.conf.dnd.id].item) { // do not allow if prev sibling is dragged - ofs = null; - } - - } else if (ofs == 1) { // drop as child of target - - if (that.items[that.conf.dnd.id].pId == tid) { // if already child of selected parent - ofs = null; - } else if (that.items[tid].kids == true && that.items[tid].item.lastChild.firstChild.firstChild == that.items[that.conf.dnd.id].item) { // do not allo if dragged already 1st child - ofs = null; - } else if (that.items[tid].opened == false) { // open node - //that._openCloseItem(tid, true); - } - - } else if (ofs == 2) { // drop as sibling below target - - if (that.items[tid].opened == true) { // do not allow for opened item - ofs = null; - } else if (that.items[tid].item.nextSibling == that.items[that.conf.dnd.id].item) { // do not allow if next sibling is dragged - ofs = null; - } - } - // - if (ofs != that.conf.dnd.ofs) { - that.conf.dnd.ofs = ofs; - upd = true; - } - } - - if (tid != that.conf.dnd.tid) { - - // clear old one - if (that.conf.dnd.tid != null) { - that._dndUpdateTargetCss(that.conf.dnd.tid, false); - } - // update new - if (tid != null) { - upd = true; - } - that.conf.dnd.tid = tid; - } - - if (upd == true) { - - var mode = false; - - if (ofs != null) { - - var drop = { - id: that.conf.dnd.id, - pId: that.items[tid].pId||null, - index: null, - idxOfs: (that.items[that.conf.dnd.id].pId == that.items[tid].pId && that.conf.dnd.idx[that.conf.dnd.id] < that.conf.dnd.idx[tid] ? -1 : 0) - }; - - if (ofs == 0 || ofs == 2) { - drop.index = that.conf.dnd.idx[tid]+(ofs==2?1:0)+drop.idxOfs; - } else if (ofs == 1) { - drop.pId = tid; - drop.index = (that.items[tid].item.lastChild.className.match(/dhxtreeview_kids_cont/)==null?0:that.items[tid].item.lastChild.firstChild.childNodes.length); - } - - if (that.conf.dnd.drop.id != drop.id || that.conf.dnd.drop.pId != drop.pId || that.conf.dnd.drop.index != drop.index) { - that.conf.dnd.drop = drop; - if (that._callPublicEvent("onDragOver", [that.conf.dnd.drop.id, that.conf.dnd.drop.pId, that.conf.dnd.drop.index]) === true) mode = true; - } - - } - - if (mode != true) that.conf.dnd.ofs = ofs = null; - - that._dndUpdateTargetCss(tid, mode); - - } - - } - - this._dndOnMouseUp = function(e) { - - e = e||event; - - if (typeof(e.button) != "undefined" && e.button >= 2) return; - - that._dndUnloadEvents(); - that._dndUnloadDraggedObj(); - - if (that.conf.dnd.scroll == true) { - that._dndScroll("stop"); - } - - if (that.cont.className.match(/dhxtreeview_dnd_mode/gi) != null) { - that.cont.className = String(that.cont.className).replace(/\s*dhxtreeview_dnd_mode/gi, ""); - } - - if (that.conf.dnd.tid != null) { - that._dndUpdateTargetCss(that.conf.dnd.tid, false); - } - - if (that.conf.dnd.inited == true) { - - that.items[that.conf.dnd.id].item.className = String(that.items[that.conf.dnd.id].item.className).replace(/\s*dhxtreeview_item_dragged/gi, ""); - document.body.className = String(document.body.className).replace(/\s*dhxtreeview_dnd_mode/, ""); - - if (that.conf.dnd.tid != null && that.conf.dnd.ofs != null) { - - if (that._callPublicEvent("onBeforeDrop", [that.conf.dnd.drop.id, that.conf.dnd.drop.pId, that.conf.dnd.drop.index]) === true) { - - var obj = that.items[that.conf.dnd.id]; - var tobj = that.items[that.conf.dnd.tid]; - var pobj = (obj.pId != null ? that.items[obj.pId] : null); // prev_parent id - - var levelOfs; - - // 1) dom - if (that.conf.dnd.ofs == 1) { - - var open = false; - if (tobj.kids == false) { - that._initKidsNode(tobj.id); - open = true; - } - tobj.item.lastChild.firstChild.appendChild(obj.item); - // - if (open == true) { - that._openCloseItem(tobj.id, false); - } - - obj.pId = tobj.id; - levelOfs = tobj.level+1-obj.level; - - } else if (that.conf.dnd.ofs == 0 || that.conf.dnd.ofs == 2) { // sibling before/after - - if (that.conf.dnd.ofs == 0) { // before - tobj.item.parentNode.insertBefore(obj.item, tobj.item); - } else if (tobj.item.nextSibling != null) { // after - tobj.item.parentNode.insertBefore(obj.item, tobj.item.nextSibling); - } else { // after - tobj.item.parentNode.appendChild(obj.item); - } - - obj.pId = tobj.pId; - levelOfs = tobj.level-obj.level; - } - - // update nested if level changed - if (levelOfs != 0) { - that.conf.dnd.kids[obj.id] = true; - for (var a in that.conf.dnd.kids) { - that.items[a].level += levelOfs; - that._refreshItemHtml(a, (that.items[a].kids == true), true); - } - } - - // 4) check parent's kids area and remove if empty - if (pobj != null && pobj.kids == true && pobj.item.lastChild.firstChild.childNodes.length == 0) { - that._clearKidsNode(pobj.id) - pobj.opened = false; - } - - obj = tobj = pobj = null; - - that._fixAreaWidth(); - - that._callPublicEvent("onDrop", [that.conf.dnd.drop.id, that.conf.dnd.drop.pId, that.conf.dnd.drop.index]); - - } - - } - - } - - window.dhx4.zim.clear(that.conf.dnd.zi); - - that.conf.dnd = null; - - } - - this._dndOnContextMenu = function(e) { - if (that.conf.dnd.inited == true) { - e = e||event; - e.cancelBubble = true; - if (e.preventDefault) e.preventDefault(); - e.returnValue = false; - return false; - } - } - - // events - this._dndInitEvents = function() { - - if (typeof(window.addEventListener) == "function") { - window.addEventListener("mousemove", this._dndOnMouseMove, false); - window.addEventListener("mouseup", this._dndOnMouseUp, false); - window.addEventListener("contextmenu", this._dndOnContextMenu, false); - } else { - document.body.attachEvent("onmousemove", this._dndOnMouseMove); - document.body.attachEvent("onmouseup", this._dndOnMouseUp); - document.body.attachEvent("oncontextmenu", this._dndOnContextMenu); - } - - } - - this._dndUnloadEvents = function() { - if (typeof(window.addEventListener) == "function") { - window.removeEventListener("mousemove", this._dndOnMouseMove, false); - window.removeEventListener("mouseup", this._dndOnMouseUp, false); - window.removeEventListener("contextmenu", this._dndOnContextMenu, false); - } else { - document.body.detachEvent("onmousemove", this._dndOnMouseMove); - document.body.detachEvent("onmouseup", this._dndOnMouseUp); - document.body.detachEvent("oncontextmenu", this._dndOnContextMenu); - } - } - - // dragged object - this._dndInitDraggedObj = function() { - this.conf.dnd.dragged = document.createElement("DIV"); - this.conf.dnd.dragged.className = "dhxtreeview_dragged_obj_"+this.conf.skin; - this.conf.dnd.dragged.style.zIndex = window.dhx4.zim.reserve(this.conf.dnd.zi); - document.body.appendChild(this.conf.dnd.dragged); - // - this.conf.dnd.dragged.innerHTML = this.getItemText(this.conf.dnd.id); - } - - this._dndAdjustDraggedObj = function() { - this.conf.dnd.dragged.style.left = this.conf.dnd.x + this.conf.dnd.ofs_x + 12 + "px"; - this.conf.dnd.dragged.style.top = this.conf.dnd.y + this.conf.dnd.ofs_y + 18 + "px"; - } - - this._dndUnloadDraggedObj = function() { - if (this.conf.dnd.dragged != null) { - document.body.removeChild(this.conf.dnd.dragged); - this.conf.dnd.dragged = null; - } - } - - // target node ui - this._dndUpdateTargetCss = function(id, mode) { - - var t = this.items[id].item.childNodes[0]; - - if (this.conf.dnd.ofs == null) { - mode = false; - } - - if (mode == true) { - - t.className = String(t.className).replace(/(\s*dhxtreeview_drop_\d)?$/i, " dhxtreeview_drop_"+this.conf.dnd.ofs); - // - if (t.nextSibling == null || t.nextSibling.className.match(/dhxtreeview_drop_preview/) == null) { - var k = document.createElement("DIV"); - k.className = "dhxtreeview_drop_preview"; - k.style.left = t.lastChild.previousSibling.style.left; - if (t.nextSibling == null) { - t.parentNode.appendChild(k); - } else { - t.parentNode.insertBefore(k, t.nextSibling); - } - k = null; - } - - t.nextSibling.className = String(t.nextSibling.className).replace(/(\s*dhxtreeview_drop_\d)?$/i, " dhxtreeview_drop_"+this.conf.dnd.ofs); - - } else if (t.className.match(/dhxtreeview_drop_\d/) != null) { - t.className = String(t.className).replace(/\s*dhxtreeview_drop_\d/gi, ""); - // - if (t.nextSibling != null && t.nextSibling.className.match(/dhxtreeview_drop_preview/) != null) { - t.parentNode.removeChild(t.nextSibling); - } - } - - t = null; - - } - - // cache for kids items, dnd can't be performed - this._dndCollectKids = function(pId) { - for (var a in this.items) { - if (this.items[a].pId == pId) { - this.conf.dnd.kids[a] = true; - if (this.items[a].kids == true) this._dndCollectKids(a); - } - } - } - - this._dndCollectIndexes = function(node) { - for (var q=0; q
              "; - } else { - this._iconUpdate(id); - } -}; diff --git a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_material/icon_chbx_0.gif b/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_material/icon_chbx_0.gif deleted file mode 100644 index f91ca21..0000000 Binary files a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_material/icon_chbx_0.gif and /dev/null differ diff --git a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_material/icon_chbx_1.gif b/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_material/icon_chbx_1.gif deleted file mode 100644 index 8868f58..0000000 Binary files a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_material/icon_chbx_1.gif and /dev/null differ diff --git a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_material/icon_chbx_dis_0.gif b/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_material/icon_chbx_dis_0.gif deleted file mode 100644 index 00e8e5a..0000000 Binary files a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_material/icon_chbx_dis_0.gif and /dev/null differ diff --git a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_material/icon_chbx_dis_1.gif b/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_material/icon_chbx_dis_1.gif deleted file mode 100644 index 82672fc..0000000 Binary files a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_material/icon_chbx_dis_1.gif and /dev/null differ diff --git a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_material/icon_file.gif b/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_material/icon_file.gif deleted file mode 100644 index deca307..0000000 Binary files a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_material/icon_file.gif and /dev/null differ diff --git a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_material/icon_folder_closed.gif b/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_material/icon_folder_closed.gif deleted file mode 100644 index 4b7e76d..0000000 Binary files a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_material/icon_folder_closed.gif and /dev/null differ diff --git a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_material/icon_folder_opened.gif b/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_material/icon_folder_opened.gif deleted file mode 100644 index 29ce5e8..0000000 Binary files a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_material/icon_folder_opened.gif and /dev/null differ diff --git a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_material/icon_minus.gif b/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_material/icon_minus.gif deleted file mode 100644 index 77d3b97..0000000 Binary files a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_material/icon_minus.gif and /dev/null differ diff --git a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_material/icon_plus.gif b/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_material/icon_plus.gif deleted file mode 100644 index 7e2bf79..0000000 Binary files a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_material/icon_plus.gif and /dev/null differ diff --git a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_material/loading.gif b/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_material/loading.gif deleted file mode 100644 index d91e279..0000000 Binary files a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_material/loading.gif and /dev/null differ diff --git a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_skyblue/icon_chbx_0.gif b/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_skyblue/icon_chbx_0.gif deleted file mode 100644 index 9f3fe50..0000000 Binary files a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_skyblue/icon_chbx_0.gif and /dev/null differ diff --git a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_skyblue/icon_chbx_1.gif b/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_skyblue/icon_chbx_1.gif deleted file mode 100644 index a61302a..0000000 Binary files a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_skyblue/icon_chbx_1.gif and /dev/null differ diff --git a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_skyblue/icon_chbx_dis_0.gif b/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_skyblue/icon_chbx_dis_0.gif deleted file mode 100644 index f15d9f7..0000000 Binary files a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_skyblue/icon_chbx_dis_0.gif and /dev/null differ diff --git a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_skyblue/icon_chbx_dis_1.gif b/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_skyblue/icon_chbx_dis_1.gif deleted file mode 100644 index 42447b8..0000000 Binary files a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_skyblue/icon_chbx_dis_1.gif and /dev/null differ diff --git a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_skyblue/icon_file.gif b/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_skyblue/icon_file.gif deleted file mode 100644 index 9c3e531..0000000 Binary files a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_skyblue/icon_file.gif and /dev/null differ diff --git a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_skyblue/icon_folder_closed.gif b/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_skyblue/icon_folder_closed.gif deleted file mode 100644 index e0a88ce..0000000 Binary files a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_skyblue/icon_folder_closed.gif and /dev/null differ diff --git a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_skyblue/icon_folder_opened.gif b/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_skyblue/icon_folder_opened.gif deleted file mode 100644 index 1680dbc..0000000 Binary files a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_skyblue/icon_folder_opened.gif and /dev/null differ diff --git a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_skyblue/icon_minus.gif b/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_skyblue/icon_minus.gif deleted file mode 100644 index caa3f57..0000000 Binary files a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_skyblue/icon_minus.gif and /dev/null differ diff --git a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_skyblue/icon_plus.gif b/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_skyblue/icon_plus.gif deleted file mode 100644 index 019cfbd..0000000 Binary files a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_skyblue/icon_plus.gif and /dev/null differ diff --git a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_skyblue/loading.gif b/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_skyblue/loading.gif deleted file mode 100644 index d91e279..0000000 Binary files a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_skyblue/loading.gif and /dev/null differ diff --git a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_terrace/icon_chbx_0.gif b/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_terrace/icon_chbx_0.gif deleted file mode 100644 index 200801b..0000000 Binary files a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_terrace/icon_chbx_0.gif and /dev/null differ diff --git a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_terrace/icon_chbx_1.gif b/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_terrace/icon_chbx_1.gif deleted file mode 100644 index 8f31ebe..0000000 Binary files a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_terrace/icon_chbx_1.gif and /dev/null differ diff --git a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_terrace/icon_chbx_dis_0.gif b/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_terrace/icon_chbx_dis_0.gif deleted file mode 100644 index 75566a4..0000000 Binary files a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_terrace/icon_chbx_dis_0.gif and /dev/null differ diff --git a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_terrace/icon_chbx_dis_1.gif b/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_terrace/icon_chbx_dis_1.gif deleted file mode 100644 index 760d935..0000000 Binary files a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_terrace/icon_chbx_dis_1.gif and /dev/null differ diff --git a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_terrace/icon_file.gif b/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_terrace/icon_file.gif deleted file mode 100644 index 28c6528..0000000 Binary files a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_terrace/icon_file.gif and /dev/null differ diff --git a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_terrace/icon_folder_closed.gif b/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_terrace/icon_folder_closed.gif deleted file mode 100644 index 440b803..0000000 Binary files a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_terrace/icon_folder_closed.gif and /dev/null differ diff --git a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_terrace/icon_folder_opened.gif b/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_terrace/icon_folder_opened.gif deleted file mode 100644 index 03aa41a..0000000 Binary files a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_terrace/icon_folder_opened.gif and /dev/null differ diff --git a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_terrace/icon_minus.gif b/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_terrace/icon_minus.gif deleted file mode 100644 index aa6c115..0000000 Binary files a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_terrace/icon_minus.gif and /dev/null differ diff --git a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_terrace/icon_plus.gif b/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_terrace/icon_plus.gif deleted file mode 100644 index 08fc8f6..0000000 Binary files a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_terrace/icon_plus.gif and /dev/null differ diff --git a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_terrace/loading.gif b/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_terrace/loading.gif deleted file mode 100644 index d91e279..0000000 Binary files a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_terrace/loading.gif and /dev/null differ diff --git a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_web/icon_chbx_0.gif b/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_web/icon_chbx_0.gif deleted file mode 100644 index f91ca21..0000000 Binary files a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_web/icon_chbx_0.gif and /dev/null differ diff --git a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_web/icon_chbx_1.gif b/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_web/icon_chbx_1.gif deleted file mode 100644 index 8868f58..0000000 Binary files a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_web/icon_chbx_1.gif and /dev/null differ diff --git a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_web/icon_chbx_dis_0.gif b/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_web/icon_chbx_dis_0.gif deleted file mode 100644 index 00e8e5a..0000000 Binary files a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_web/icon_chbx_dis_0.gif and /dev/null differ diff --git a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_web/icon_chbx_dis_1.gif b/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_web/icon_chbx_dis_1.gif deleted file mode 100644 index 82672fc..0000000 Binary files a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_web/icon_chbx_dis_1.gif and /dev/null differ diff --git a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_web/icon_file.gif b/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_web/icon_file.gif deleted file mode 100644 index deca307..0000000 Binary files a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_web/icon_file.gif and /dev/null differ diff --git a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_web/icon_folder_closed.gif b/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_web/icon_folder_closed.gif deleted file mode 100644 index 4b7e76d..0000000 Binary files a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_web/icon_folder_closed.gif and /dev/null differ diff --git a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_web/icon_folder_opened.gif b/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_web/icon_folder_opened.gif deleted file mode 100644 index 29ce5e8..0000000 Binary files a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_web/icon_folder_opened.gif and /dev/null differ diff --git a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_web/icon_minus.gif b/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_web/icon_minus.gif deleted file mode 100644 index 77d3b97..0000000 Binary files a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_web/icon_minus.gif and /dev/null differ diff --git a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_web/icon_plus.gif b/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_web/icon_plus.gif deleted file mode 100644 index 7e2bf79..0000000 Binary files a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_web/icon_plus.gif and /dev/null differ diff --git a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_web/loading.gif b/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_web/loading.gif deleted file mode 100644 index d91e279..0000000 Binary files a/themes/sources/dhtmlxTreeView/codebase/imgs/dhxtreeview_web/loading.gif and /dev/null differ diff --git a/themes/sources/dhtmlxTreeView/codebase/skins/dhtmlxtreeview_dhx_skyblue.css b/themes/sources/dhtmlxTreeView/codebase/skins/dhtmlxtreeview_dhx_skyblue.css deleted file mode 100644 index 1de7200..0000000 --- a/themes/sources/dhtmlxTreeView/codebase/skins/dhtmlxtreeview_dhx_skyblue.css +++ /dev/null @@ -1,264 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: dhx_skyblue - include extra file: skins/dhx_skyblue.less -*/ - -.dhxtreeview_dhx_skyblue { - position: relative; - overflow: hidden; - background-color: white; -} -.dhxtreeview_dhx_skyblue div.dhxtreeview_cont { - position: absolute; - overflow: auto; -} -.dhxtreeview_dhx_skyblue div.dhxtreeview_cont div.dhxtreeview_area { - position: relative; -} -.dhxtreeview_dhx_skyblue div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_kids_cont { - position: relative; - -webkit-transition: opacity 0.1s; - -moz-transition: opacity 0.1s; - -ms-transition: opacity 0.1s; - -o-transition: opacity 0.1s; - transition: opacity 0.1s; -} -.dhxtreeview_dhx_skyblue div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item { - position: relative; - font-family: Tahoma, Helvetica; - font-size: 11px; - color: black; - white-space: nowrap; - cursor: default; - margin-top: 1px; - margin-bottom: 1px; -} -.dhxtreeview_dhx_skyblue div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text { - position: relative; - padding: 0px; - margin: 0px; - height: 24px; - line-height: 23px; - border: 1px solid #ffffff; - color: inherit; - vertical-align: middle; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - cursor: default; -} -.dhxtreeview_dhx_skyblue div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_label { - position: absolute; - top: 0px; - padding: 0px 10px 0px 4px; - color: black; - background-color: #ffffff; - height: 24px; - line-height: inherit; - font: inherit; -} -.dhxtreeview_dhx_skyblue div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected, -.dhxtreeview_dhx_skyblue div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected:hover { - background-color: #b5deff; - border-color: #a4bed4; -} -.dhxtreeview_dhx_skyblue div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected div.dhxtreeview_item_label, -.dhxtreeview_dhx_skyblue div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected:hover div.dhxtreeview_item_label { - background-color: #b5deff; - border-color: #a4bed4; - color: black; -} -.dhxtreeview_dhx_skyblue div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text:hover { - background-color: #f1f7ff; - border-color: #b9cdde; -} -.dhxtreeview_dhx_skyblue div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text:hover div.dhxtreeview_item_label { - border-color: #b9cdde; - background-color: #f1f7ff; -} -.dhxtreeview_dhx_skyblue div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon { - position: absolute; - width: 20px; - top: 0px; - height: 24px; - line-height: 22px; - text-align: center; - font-size: 14px; - color: #333333; - overflow: hidden; -} -.dhxtreeview_dhx_skyblue div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon { - position: absolute; - left: 0px; - top: 0px; - width: 20px; - height: 24px; - background-repeat: no-repeat; - background-position: center center; -} -.dhxtreeview_dhx_skyblue div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_plus { - background-image: url(../imgs/dhxtreeview_skyblue/icon_plus.gif); -} -.dhxtreeview_dhx_skyblue div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_minus { - background-image: url(../imgs/dhxtreeview_skyblue/icon_minus.gif); -} -.dhxtreeview_dhx_skyblue div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_file { - background-image: url(../imgs/dhxtreeview_skyblue/icon_file.gif); -} -.dhxtreeview_dhx_skyblue div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_folder_closed { - background-image: url(../imgs/dhxtreeview_skyblue/icon_folder_closed.gif); -} -.dhxtreeview_dhx_skyblue div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_folder_opened { - background-image: url(../imgs/dhxtreeview_skyblue/icon_folder_opened.gif); -} -.dhxtreeview_dhx_skyblue div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_loading { - background-image: url(../imgs/dhxtreeview_skyblue/loading.gif); -} -.dhxtreeview_dhx_skyblue div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_chbx_0 { - background-image: url(../imgs/dhxtreeview_skyblue/icon_chbx_0.gif); -} -.dhxtreeview_dhx_skyblue div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_chbx_1 { - background-image: url(../imgs/dhxtreeview_skyblue/icon_chbx_1.gif); -} -.dhxtreeview_dhx_skyblue div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_chbx_dis_0 { - background-image: url(../imgs/dhxtreeview_skyblue/icon_chbx_dis_0.gif); -} -.dhxtreeview_dhx_skyblue div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_chbx_dis_1 { - background-image: url(../imgs/dhxtreeview_skyblue/icon_chbx_dis_1.gif); -} -.dhxtreeview_dhx_skyblue div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa.fa-folder-open-o, -.dhxtreeview_dhx_skyblue div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa.fa-folder-o { - position: absolute; - line-height: 24px; - left: 4px; - width: 10px; - text-align: left; - overflow: visible; -} -.dhxtreeview_dhx_skyblue div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa.fa-square-o, -.dhxtreeview_dhx_skyblue div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa.fa-check-square-o { - position: absolute; - line-height: 24px; - left: 4px; - width: 10px; - text-align: left; - overflow: visible; -} -.dhxtreeview_dhx_skyblue div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa.fa-square-o.dhx-disabled, -.dhxtreeview_dhx_skyblue div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa.fa-check-square-o.dhx-disabled { - color: #a6a6a6; -} -.dhxtreeview_dhx_skyblue div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_drop_preview { - display: none; - position: absolute; - height: 0px; - width: 40px; - border-bottom: 2px dotted #008dbc; - z-index: 1; -} -.dhxtreeview_dhx_skyblue div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_drop_preview.dhxtreeview_drop_0 { - display: block; - top: -2px; -} -.dhxtreeview_dhx_skyblue div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_drop_preview.dhxtreeview_drop_2 { - display: block; - top: 25px; -} -.dhxtreeview_dhx_skyblue div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item.dhxtreeview_item_dragged { - opacity: 0.3; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=30); -} -.dhxtreeview_dhx_skyblue div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_drop_1, -.dhxtreeview_dhx_skyblue div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_drop_1:hover { - background-color: #fff0da; - border-color: #d1c5b5; -} -.dhxtreeview_dhx_skyblue div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_drop_1 div.dhxtreeview_item_label, -.dhxtreeview_dhx_skyblue div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_drop_1:hover div.dhxtreeview_item_label { - background-color: #fff0da; - border-color: #d1c5b5; -} -.dhxtreeview_dhx_skyblue div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected, -.dhxtreeview_dhx_skyblue div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected:hover { - background-color: #fff0da; - border-color: #d1c5b5; -} -.dhxtreeview_dhx_skyblue div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected div.dhxtreeview_item_label, -.dhxtreeview_dhx_skyblue div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected:hover div.dhxtreeview_item_label { - background-color: #fff0da; - border-color: #d1c5b5; -} -.dhxtreeview_dhx_skyblue div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text:hover { - background-color: #ffffff; - border-color: #ffffff; -} -.dhxtreeview_dhx_skyblue div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text:hover div.dhxtreeview_item_label { - background-color: #ffffff; - border-color: #ffffff; -} -.dhxtreeview_dhx_skyblue.dhxtreeview_with_border { - border: 1px solid #a4bed4; -} -.dhxtreeview_dhx_skyblue.dhxtreeview_icon_width { - position: absolute; - left: 0px; - top: -100px; - width: 20px; - height: 1px; - font-size: 1px; - margin: 0px; - padding: 0px; - overflow: hidden; -} -.dhxtreeview_dragged_obj_dhx_skyblue { - position: absolute; - font-family: Tahoma, Helvetica; - font-size: 11px; - color: black; - white-space: nowrap; - cursor: default; - background-color: #fcfcfc; - border-radius: 1px; - box-shadow: 0px 0px 10px rgba(90,90,90,0.2); - padding: 5px 14px; - border: 1px solid #cccccc; - opacity: 0.9; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=90); -} -html.dhxtreeview_dnd_mode, -html.dhxtreeview_dnd_mode *, -body.dhxtreeview_dnd_mode, -body.dhxtreeview_dnd_mode * { - cursor: default; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -div.dhx_popup_dhx_skyblue div.dhx_popup_area td.dhx_popup_td div.dhxtreeview_dhx_skyblue div.dhxtreeview_item div.dhxtreeview_item_label { - white-space: nowrap; -} -.dhxtreeview_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 10px; - height: 10px; - overflow: hidden; -} diff --git a/themes/sources/dhtmlxTreeView/codebase/skins/dhtmlxtreeview_dhx_terrace.css b/themes/sources/dhtmlxTreeView/codebase/skins/dhtmlxtreeview_dhx_terrace.css deleted file mode 100644 index 39b7f46..0000000 --- a/themes/sources/dhtmlxTreeView/codebase/skins/dhtmlxtreeview_dhx_terrace.css +++ /dev/null @@ -1,245 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: dhx_terrace - include extra file: skins/dhx_terrace.less -*/ - -.dhxtreeview_dhx_terrace { - position: relative; - overflow: hidden; - background-color: #ffffff; -} -.dhxtreeview_dhx_terrace div.dhxtreeview_cont { - position: absolute; - overflow: auto; - background-color: #ffffff; -} -.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area { - position: relative; -} -.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_kids_cont { - position: relative; - -webkit-transition: opacity 0.1s; - -moz-transition: opacity 0.1s; - -ms-transition: opacity 0.1s; - -o-transition: opacity 0.1s; - transition: opacity 0.1s; -} -.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item { - position: relative; - white-space: nowrap; - cursor: default; - color: black; - font-size: 13px; - font-family: Arial, Helvetica; -} -.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text { - position: relative; - padding: 0px; - margin: 0px; - height: 32px; - line-height: 31px; - color: inherit; - vertical-align: middle; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - cursor: default; -} -.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_label { - position: absolute; - top: 0px; - padding: 0px 10px 0px 4px; - height: 32px; - line-height: inherit; - font: inherit; -} -.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected, -.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected:hover { - background-color: #fff3a1; -} -.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected div.dhxtreeview_item_label, -.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected:hover div.dhxtreeview_item_label { - background-color: #fff3a1; -} -.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text:hover { - background-color: #fffad4; - border-color: #fffad4; -} -.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text:hover div.dhxtreeview_item_label { - background-color: #fffad4; -} -.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon { - position: absolute; - width: 24px; - top: 0px; - height: 32px; - line-height: 30px; - text-align: center; - font-size: 15px; - color: #333333; - overflow: hidden; -} -.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon { - position: absolute; - left: 0px; - top: 0px; - width: 24px; - height: 32px; - background-repeat: no-repeat; - background-position: center center; -} -.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_plus { - background-image: url(../imgs/dhxtreeview_terrace/icon_plus.gif); -} -.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_minus { - background-image: url(../imgs/dhxtreeview_terrace/icon_minus.gif); -} -.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_file { - background-image: url(../imgs/dhxtreeview_terrace/icon_file.gif); -} -.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_folder_closed { - background-image: url(../imgs/dhxtreeview_terrace/icon_folder_closed.gif); -} -.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_folder_opened { - background-image: url(../imgs/dhxtreeview_terrace/icon_folder_opened.gif); -} -.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_loading { - background-image: url(../imgs/dhxtreeview_terrace/loading.gif); -} -.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_chbx_0 { - background-image: url(../imgs/dhxtreeview_terrace/icon_chbx_0.gif); -} -.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_chbx_1 { - background-image: url(../imgs/dhxtreeview_terrace/icon_chbx_1.gif); -} -.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_chbx_dis_0 { - background-image: url(../imgs/dhxtreeview_terrace/icon_chbx_dis_0.gif); -} -.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_chbx_dis_1 { - background-image: url(../imgs/dhxtreeview_terrace/icon_chbx_dis_1.gif); -} -.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa.fa-folder-open-o, -.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa.fa-folder-o { - position: absolute; - line-height: 32px; - left: 4px; - width: 10px; - text-align: left; - overflow: visible; -} -.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa.fa-square-o, -.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa.fa-check-square-o { - position: absolute; - line-height: 32px; - left: 4px; - width: 10px; - text-align: left; - overflow: visible; -} -.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa.fa-square-o.dhx-disabled, -.dhxtreeview_dhx_terrace div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa.fa-check-square-o.dhx-disabled { - color: #a6a6a6; -} -.dhxtreeview_dhx_terrace div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_drop_preview { - display: none; - position: absolute; - height: 0px; - width: 40px; - border-bottom: 2px dotted #a18c00; - z-index: 1; -} -.dhxtreeview_dhx_terrace div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_drop_preview.dhxtreeview_drop_0 { - display: block; - top: -1px; -} -.dhxtreeview_dhx_terrace div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_drop_preview.dhxtreeview_drop_2 { - display: block; - top: 31px; -} -.dhxtreeview_dhx_terrace div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item.dhxtreeview_item_dragged { - opacity: 0.4; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=40); -} -.dhxtreeview_dhx_terrace div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_drop_1, -.dhxtreeview_dhx_terrace div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_drop_1:hover { - background-color: #fff3a1; -} -.dhxtreeview_dhx_terrace div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_drop_1 div.dhxtreeview_item_label, -.dhxtreeview_dhx_terrace div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_drop_1:hover div.dhxtreeview_item_label { - background-color: #fff3a1; -} -.dhxtreeview_dhx_terrace div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected, -.dhxtreeview_dhx_terrace div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected:hover { - background-color: #fffad4; -} -.dhxtreeview_dhx_terrace div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected div.dhxtreeview_item_label, -.dhxtreeview_dhx_terrace div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected:hover div.dhxtreeview_item_label { - background-color: #fffad4; -} -.dhxtreeview_dhx_terrace div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text:hover { - background-color: #ffffff; -} -.dhxtreeview_dhx_terrace div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text:hover div.dhxtreeview_item_label { - background-color: #ffffff; -} -.dhxtreeview_dhx_terrace.dhxtreeview_icon_width { - position: absolute; - left: 0px; - top: -100px; - width: 24px; - height: 1px; - font-size: 1px; - margin: 0px; - padding: 0px; - overflow: hidden; -} -.dhxtreeview_dragged_obj_dhx_terrace { - position: absolute; - font-size: 13px; - color: black; - font-family: Arial, Helvetica; - white-space: nowrap; - cursor: default; - background-color: #fcfcfc; - border-radius: 1px; - box-shadow: 0px 0px 10px rgba(90,90,90,0.2); - padding: 6px 14px; - border: 1px solid #cccccc; -} -html.dhxtreeview_dnd_mode, -html.dhxtreeview_dnd_mode *, -body.dhxtreeview_dnd_mode, -body.dhxtreeview_dnd_mode * { - cursor: default; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -div.dhx_popup_dhx_terrace div.dhx_popup_area td.dhx_popup_td div.dhxtreeview_dhx_terrace div.dhxtreeview_item div.dhxtreeview_item_label { - white-space: nowrap; -} -.dhxtreeview_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 30px; - height: 10px; - overflow: hidden; -} diff --git a/themes/sources/dhtmlxTreeView/codebase/skins/dhtmlxtreeview_dhx_web.css b/themes/sources/dhtmlxTreeView/codebase/skins/dhtmlxtreeview_dhx_web.css deleted file mode 100644 index daf2342..0000000 --- a/themes/sources/dhtmlxTreeView/codebase/skins/dhtmlxtreeview_dhx_web.css +++ /dev/null @@ -1,245 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: dhx_web - include extra file: skins/dhx_web.less -*/ - -.dhxtreeview_dhx_web { - position: relative; - overflow: hidden; - background-color: #ffffff; -} -.dhxtreeview_dhx_web div.dhxtreeview_cont { - position: absolute; - overflow: auto; - background-color: #ffffff; -} -.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area { - position: relative; -} -.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_kids_cont { - position: relative; - -webkit-transition: opacity 0.1s; - -moz-transition: opacity 0.1s; - -ms-transition: opacity 0.1s; - -o-transition: opacity 0.1s; - transition: opacity 0.1s; -} -.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item { - position: relative; - white-space: nowrap; - cursor: default; - color: #000000; - font-size: 12px; - font-family: Tahoma, Helvetica; -} -.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text { - position: relative; - padding: 0px; - margin: 0px; - height: 32px; - line-height: 31px; - color: inherit; - vertical-align: middle; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - cursor: default; -} -.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_label { - position: absolute; - top: 0px; - padding: 0px 10px 0px 4px; - height: 32px; - line-height: inherit; - font: inherit; -} -.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected, -.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected:hover { - background-color: #85d3ff; -} -.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected div.dhxtreeview_item_label, -.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected:hover div.dhxtreeview_item_label { - background-color: #85d3ff; -} -.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text:hover { - background-color: #d5eefc; - border-color: #d5eefc; -} -.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text:hover div.dhxtreeview_item_label { - background-color: #d5eefc; -} -.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon { - position: absolute; - width: 22px; - top: 0px; - height: 32px; - line-height: 30px; - text-align: center; - font-size: 14px; - color: #333333; - overflow: hidden; -} -.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon { - position: absolute; - left: 0px; - top: 0px; - width: 22px; - height: 32px; - background-repeat: no-repeat; - background-position: center center; -} -.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_plus { - background-image: url(../imgs/dhxtreeview_web/icon_plus.gif); -} -.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_minus { - background-image: url(../imgs/dhxtreeview_web/icon_minus.gif); -} -.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_file { - background-image: url(../imgs/dhxtreeview_web/icon_file.gif); -} -.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_folder_closed { - background-image: url(../imgs/dhxtreeview_web/icon_folder_closed.gif); -} -.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_folder_opened { - background-image: url(../imgs/dhxtreeview_web/icon_folder_opened.gif); -} -.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_loading { - background-image: url(../imgs/dhxtreeview_web/loading.gif); -} -.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_chbx_0 { - background-image: url(../imgs/dhxtreeview_web/icon_chbx_0.gif); -} -.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_chbx_1 { - background-image: url(../imgs/dhxtreeview_web/icon_chbx_1.gif); -} -.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_chbx_dis_0 { - background-image: url(../imgs/dhxtreeview_web/icon_chbx_dis_0.gif); -} -.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_chbx_dis_1 { - background-image: url(../imgs/dhxtreeview_web/icon_chbx_dis_1.gif); -} -.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa.fa-folder-open-o, -.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa.fa-folder-o { - position: absolute; - line-height: 32px; - left: 4px; - width: 10px; - text-align: left; - overflow: visible; -} -.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa.fa-square-o, -.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa.fa-check-square-o { - position: absolute; - line-height: 32px; - left: 4px; - width: 10px; - text-align: left; - overflow: visible; -} -.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa.fa-square-o.dhx-disabled, -.dhxtreeview_dhx_web div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa.fa-check-square-o.dhx-disabled { - color: #a6a6a6; -} -.dhxtreeview_dhx_web div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_drop_preview { - display: none; - position: absolute; - height: 0px; - width: 40px; - border-bottom: 2px dotted #1faeff; - z-index: 1; -} -.dhxtreeview_dhx_web div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_drop_preview.dhxtreeview_drop_0 { - display: block; - top: -1px; -} -.dhxtreeview_dhx_web div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_drop_preview.dhxtreeview_drop_2 { - display: block; - top: 31px; -} -.dhxtreeview_dhx_web div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item.dhxtreeview_item_dragged { - opacity: 0.4; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=40); -} -.dhxtreeview_dhx_web div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_drop_1, -.dhxtreeview_dhx_web div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_drop_1:hover { - background-color: #85d3ff; -} -.dhxtreeview_dhx_web div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_drop_1 div.dhxtreeview_item_label, -.dhxtreeview_dhx_web div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_drop_1:hover div.dhxtreeview_item_label { - background-color: #85d3ff; -} -.dhxtreeview_dhx_web div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected, -.dhxtreeview_dhx_web div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected:hover { - background-color: #b8e5ff; -} -.dhxtreeview_dhx_web div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected div.dhxtreeview_item_label, -.dhxtreeview_dhx_web div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected:hover div.dhxtreeview_item_label { - background-color: #b8e5ff; -} -.dhxtreeview_dhx_web div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text:hover { - background-color: #ffffff; -} -.dhxtreeview_dhx_web div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text:hover div.dhxtreeview_item_label { - background-color: #ffffff; -} -.dhxtreeview_dhx_web.dhxtreeview_icon_width { - position: absolute; - left: 0px; - top: -100px; - width: 22px; - height: 1px; - font-size: 1px; - margin: 0px; - padding: 0px; - overflow: hidden; -} -.dhxtreeview_dragged_obj_dhx_web { - position: absolute; - font-size: 12px; - color: #000000; - font-family: Tahoma, Helvetica; - white-space: nowrap; - cursor: default; - background-color: #fcfcfc; - border-radius: 1px; - box-shadow: 0px 0px 10px rgba(90,90,90,0.2); - padding: 6px 14px; - border: 1px solid #cccccc; -} -html.dhxtreeview_dnd_mode, -html.dhxtreeview_dnd_mode *, -body.dhxtreeview_dnd_mode, -body.dhxtreeview_dnd_mode * { - cursor: default; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -div.dhx_popup_dhx_web div.dhx_popup_area td.dhx_popup_td div.dhxtreeview_dhx_web div.dhxtreeview_item div.dhxtreeview_item_label { - white-space: nowrap; -} -.dhxtreeview_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 20px; - height: 10px; - overflow: hidden; -} diff --git a/themes/sources/dhtmlxTreeView/codebase/skins/dhtmlxtreeview_material.css b/themes/sources/dhtmlxTreeView/codebase/skins/dhtmlxtreeview_material.css deleted file mode 100644 index b2f2161..0000000 --- a/themes/sources/dhtmlxTreeView/codebase/skins/dhtmlxtreeview_material.css +++ /dev/null @@ -1,262 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: material - include extra file: skins/material.less -*/ - -@keyframes dhx_loader_rotate { - 100% { - transform: rotate(360deg); - } -} -@keyframes dhx_loader_dash { - 0% { - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - } - 50% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -35px; - } - 100% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -124px; - } -} -.dhxtreeview_material { - position: relative; - overflow: hidden; - background-color: white; -} -.dhxtreeview_material div.dhxtreeview_cont { - position: absolute; - overflow: auto; - background-color: white; -} -.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area { - position: relative; -} -.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_kids_cont { - position: relative; - -webkit-transition: opacity 0.1s; - -moz-transition: opacity 0.1s; - -ms-transition: opacity 0.1s; - -o-transition: opacity 0.1s; - transition: opacity 0.1s; -} -.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item { - position: relative; - white-space: nowrap; - cursor: default; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text { - position: relative; - padding: 0px; - margin: 0px; - height: 32px; - line-height: 31px; - color: inherit; - vertical-align: middle; - border-left: 3px solid white; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - cursor: default; -} -.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_label { - position: absolute; - top: 0px; - padding: 0px 10px 0px 4px; - height: 32px; - line-height: inherit; - font: inherit; -} -.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected, -.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected:hover { - background-color: #ebebeb; - border-color: #3399cc; -} -.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected div.dhxtreeview_item_label, -.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected:hover div.dhxtreeview_item_label { - background-color: #ebebeb; -} -.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text:hover { - background-color: #f5f5f5; - border-color: #f5f5f5; -} -.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text:hover div.dhxtreeview_item_label { - background-color: #f5f5f5; -} -.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon { - position: absolute; - width: 22px; - top: 0px; - height: 32px; - line-height: 30px; - text-align: center; - font-size: 16px; - color: #737373; - overflow: hidden; -} -.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon { - position: absolute; - left: 0px; - top: 0px; - width: 22px; - height: 32px; - background-repeat: no-repeat; - background-position: center center; -} -.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_plus { - background-image: url(../imgs/dhxtreeview_material/icon_plus.gif); -} -.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_minus { - background-image: url(../imgs/dhxtreeview_material/icon_minus.gif); -} -.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_file { - background-image: url(../imgs/dhxtreeview_material/icon_file.gif); -} -.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_folder_closed { - background-image: url(../imgs/dhxtreeview_material/icon_folder_closed.gif); -} -.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_folder_opened { - background-image: url(../imgs/dhxtreeview_material/icon_folder_opened.gif); -} -.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_loading { - background-image: url(../imgs/dhxtreeview_material/loading.gif); -} -.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_chbx_0 { - background-image: url(../imgs/dhxtreeview_material/icon_chbx_0.gif); -} -.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_chbx_1 { - background-image: url(../imgs/dhxtreeview_material/icon_chbx_1.gif); -} -.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_chbx_dis_0 { - background-image: url(../imgs/dhxtreeview_material/icon_chbx_dis_0.gif); -} -.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.dhxtreeview_icon.dhxtreeview_icon_chbx_dis_1 { - background-image: url(../imgs/dhxtreeview_material/icon_chbx_dis_1.gif); -} -.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa { - position: absolute; - line-height: 32px; - left: 4px; - width: 10px; - text-align: left; - overflow: visible; -} -.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa.fa-square-o.dhx-disabled, -.dhxtreeview_material div.dhxtreeview_cont div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text div.dhxtreeview_item_icon i.fa.fa-check-square-o.dhx-disabled { - color: #b3b3b3; -} -.dhxtreeview_material div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_drop_preview { - display: none; - position: absolute; - height: 0px; - width: 40px; - border-bottom: 2px dotted #3399cc; - z-index: 1; -} -.dhxtreeview_material div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_drop_preview.dhxtreeview_drop_0 { - display: block; - top: -1px; -} -.dhxtreeview_material div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_drop_preview.dhxtreeview_drop_2 { - display: block; - top: 31px; -} -.dhxtreeview_material div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item.dhxtreeview_item_dragged { - opacity: 0.5; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50); -} -.dhxtreeview_material div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_drop_1, -.dhxtreeview_material div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_drop_1:hover { - background-color: #ebebeb; - border-color: #ebebeb; -} -.dhxtreeview_material div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_drop_1 div.dhxtreeview_item_label, -.dhxtreeview_material div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_drop_1:hover div.dhxtreeview_item_label { - background-color: #ebebeb; -} -.dhxtreeview_material div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected, -.dhxtreeview_material div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected:hover { - border-color: #ebebeb; - background-color: #ebebeb; -} -.dhxtreeview_material div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected div.dhxtreeview_item_label, -.dhxtreeview_material div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text.dhxtreeview_item_text_selected:hover div.dhxtreeview_item_label { - background-color: #ebebeb; -} -.dhxtreeview_material div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text:hover { - background-color: white; - border-color: white; -} -.dhxtreeview_material div.dhxtreeview_cont.dhxtreeview_dnd_mode div.dhxtreeview_area div.dhxtreeview_item div.dhxtreeview_item_text:hover div.dhxtreeview_item_label { - background-color: white; -} -.dhxtreeview_material.dhxtreeview_with_border { - border: 1px solid white; -} -.dhxtreeview_material.dhxtreeview_icon_width { - position: absolute; - left: 0px; - top: -100px; - width: 22px; - height: 1px; - font-size: 1px; - margin: 0px; - padding: 0px; - overflow: hidden; -} -.dhxtreeview_dragged_obj_material { - position: absolute; - color: #3f3f3f; - font-family: Roboto, Arial, Helvetica; - font-size: 14px; - white-space: nowrap; - cursor: default; - background-color: #fafafa; - border-radius: 1px; - box-shadow: 0px 0px 10px rgba(90,90,90,0.2); - padding: 6px 14px; - border: 1px solid #e0e0e0; -} -html.dhxtreeview_dnd_mode, -html.dhxtreeview_dnd_mode *, -body.dhxtreeview_dnd_mode, -body.dhxtreeview_dnd_mode * { - cursor: default; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -div.dhx_popup_material div.dhx_popup_area td.dhx_popup_td div.dhxtreeview_material div.dhxtreeview_item div.dhxtreeview_item_label { - white-space: nowrap; -} -.dhxtreeview_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 40px; - height: 10px; - overflow: hidden; -} diff --git a/themes/sources/dhtmlxWindows/codebase/dhtmlxwindows.js b/themes/sources/dhtmlxWindows/codebase/dhtmlxwindows.js deleted file mode 100644 index 2fc1127..0000000 --- a/themes/sources/dhtmlxWindows/codebase/dhtmlxwindows.js +++ /dev/null @@ -1,1770 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -function dhtmlXWindows(params) { - - // console.log("context menu for top icon?"); - // console.log("resize with attached iframe - cover or cross events?"); - // console.log("resize allow while progress is on?"); - // console.log("deny resize for maxed window, but allow for partially maxed"); - // console.log("add cancelBubble for mousedown/click for modal cover?"); - - var that = this; - - var conf = {}; - if (typeof(params) != "undefined") { - for (var a in params) conf[a] = params[a]; - } - params = null; - - this.conf = { - skin: window.dhx4.skin||(typeof(dhtmlx)!="undefined"?dhtmlx.skin:null)||window.dhx4.skinDetect("dhxwins")||"material", - // viewport conf - vp_pos_ofs: 20, // windows-veieport overlay (left, right, bottom) and 0 for top - vp_custom: false, - vp_of_auto: (conf.vp_overflow=="auto"), // overflow for body from layout init - vp_of_id: window.dhx4.newId(), - // window dinmension offset - ofs_w: null, - ofs_h: null, - // button down/up state - button_last: null, - // hdr dblclick - dblclick_tm: 300, - dblclick_last: null, - dblclick_id: null, - dblclick_mode: "minmax", // "park", function(){}, "function_name" - dblclick_active: false, - dblclick_ev: (window.dhx4.isIE6||window.dhx4.isIE7||window.dhx4.isIE8), - // fr cover render - fr_cover: (navigator.userAgent.indexOf("MSIE 6.0")>=0) // iframe+select issue, ie6 only - }; - - var transData = window.dhx4.transDetect(); - this.conf.tr = { - prop: transData.transProp, // false if not available - ev: transData.transEv, - height_open: "height 0.2s cubic-bezier(0.25,0.1,0.25,1)", // cell open/close by click - height_close: "height 0.18s cubic-bezier(0.25,0.1,0.25,1)", // cell open/close by click - op_open: "opacity 0.16s ease-in", // cell_cont on open - op_close: "opacity 0.2s ease-out", // cell_cont on close - op_v_open: "1", // opacity for opened cell - op_v_close: "0.4" // opacity for closed cell - }; - - if (!conf.viewport) { - this.attachViewportTo(document.body); - } else { - if (conf.viewport.object != null) { - this.attachViewportTo(conf.viewport.object); - } else if (conf.viewport.left != null && conf.viewport.top != null && conf.viewport.width != null && conf.viewport.height != null) { - this.setViewport(conf.viewport.left, conf.viewport.top, conf.viewport.width, conf.viewport.height, conf.viewport.parent); - } else { - this.attachViewportTo(document.body); - } - } - - this.w = {}; - - this.createWindow = function(id, x, y, width, height) { - - var r = {}; - if (arguments.length == 1 && typeof(id) == "object") { - r = id; - } else { - r.id = id; - r.left = x; - r.top = y; - r.width = width; - r.height = height; - if (typeof(r.id) == "undefined" || r.id == null) r.id = window.dhx4.newId(); - while (this.w[r.id] != null) r.id = window.dhx4.newId(); - } - - if (r.left == null) r.left = 0; - if (r.top == null) r.top = 0; - - r.move = (r.move != null && window.dhx4.s2b(r.move) == false ? false : (r.deny_move != null && window.dhx4.s2b(r.deny_move) == true ? false : true)); - r.park = (r.park != null && window.dhx4.s2b(r.park) == false ? false : (r.deny_park != null && window.dhx4.s2b(r.deny_park) == true ? false : true)); - r.resize = (r.resize != null && window.dhx4.s2b(r.resize) == false ? false : (r.deny_resize != null && window.dhx4.s2b(r.deny_resize) == true ? false : true)); - r.keep_in_viewport = (r.keep_in_viewport != null && window.dhx4.s2b(r.keep_in_viewport)); - r.modal = (r.modal != null && window.dhx4.s2b(r.modal)); - r.center = (r.center != null && window.dhx4.s2b(r.center)); - r.text = (r.text != null ? r.text:(r.caption!=null?r.caption:"dhtmlxWindow")); - r.header = (!(r.header != null && window.dhx4.s2b(r.header) == false)); - - var t = document.createElement("DIV"); - t.className = "dhxwin_active"; - this.vp.appendChild(t); - - t._isWindow = true; - t._idd = r.id; - - var h = document.createElement("DIV"); - h.className = "dhxwin_hdr"; - h.style.zIndex = 0; - h.innerHTML = "
              "+ - "
              "+r.text+"
              "+ - "
              "; - t.appendChild(h); - - h.onselectstart = function(e) { - e = e||event; - if (e.preventDefault) e.preventDefault(); else e.returnValue = false; - return false; - } - - h.oncontextmenu = function(e) { - e = e||event; - e.cancelBubble = true; - return false; - } - - h._isWinHdr = true; - h.firstChild._isWinIcon = true; - - var k = document.createElement("DIV"); - k.className = "dhxwin_brd"; - t.appendChild(k); - - var fr_cover = document.createElement("DIV"); - fr_cover.className = "dhxwin_fr_cover"; - fr_cover.innerHTML = "
              "; - t.appendChild(fr_cover); - - this.w[r.id] = { - win: t, - hdr: h, - brd: k, - fr_cover: fr_cover, - b: {}, - conf: { - z_id: window.dhx4.newId(), - actv: false, - modal: false, - maxed: false, - parked: false, - sticked: false, - visible: true, - header: true, - text: r.text, - keep_in_vp: r.keep_in_viewport, - allow_move: r.move, - allow_park: r.park, - allow_resize: r.resize, - max_w: null, - max_h: null, - min_w: 80, - min_h: 80 - } - }; - - // buttons, id=>visible - var btns = { - help: {title: "Help", visible: false}, - stick: {title: "Stick", visible: false}, - park: {title: "Park", visible: true}, - minmax: {title: "Min/Max", visible: true}, - close: {title: "Close", visible: true} - }; - for (var a in btns) { - var b = new dhtmlXWindowsButton(this, r.id, a, btns[a].title, false); - if (btns[a].visible == false) b.hide(); - h.lastChild.appendChild(b.button); - this.w[r.id].b[a] = b; - b = null; - } - this._winAdjustTitle(r.id); - - this.w[r.id].win.style.zIndex = window.dhx4.zim.reserve(this.w[r.id].conf.z_id); - - var cell = new dhtmlXWindowsCell(r.id, this); - this.w[r.id].win.insertBefore(cell.cell, fr_cover); - this.w[r.id].cell = cell; - - if (typeof(window.addEventListener) == "function") { - this.w[r.id].win.addEventListener("mousedown", this._winOnMouseDown, false); - this.w[r.id].win.addEventListener("mouseup", this._winOnMouseDown, false); - if (this.conf.dblclick_ev) this.w[r.id].win.addEventListener("dblclick", this._winOnMouseDown, false); - // touch - if (this.conf.dnd_enabled == true && window.dhx4.dnd.evs.start != null) { - this.w[r.id].win.addEventListener(window.dhx4.dnd.evs.start, this._winOnMouseDown, false); - if (window.dhx4.dnd.p_en != true) { - this.w[r.id].win.addEventListener(window.dhx4.dnd.evs.start, this._winOnMouseDown, false); - this.w[r.id].win.addEventListener(window.dhx4.dnd.evs.end, this._winOnMouseDown, false); - } - } - } else { - this.w[r.id].win.attachEvent("onmousedown", this._winOnMouseDown); - this.w[r.id].win.attachEvent("onmouseup", this._winOnMouseDown); - if (this.conf.dblclick_ev) this.w[r.id].win.attachEvent("ondblclick", this._winOnMouseDown); - } - - // fr for IE6 - this._winInitFRM(r.id); - - this._winSetPosition(r.id, r.left, r.top); - this._winSetSize(r.id, r.width, r.height); - this._winMakeActive(r.id); - - if (r.center == true) this.w[r.id].cell.center(); - if (r.modal == true) this.w[r.id].cell.setModal(true); - if (r.header == false) this.w[r.id].cell.hideHeader(); - - f = t = h = k = fr_cover = cell = null; - - return this.w[r.id].cell; - } - - this._winOnMouseDown = function(e) { - - e = e||event; - - var t = e.target||e.srcElement; - var data = {press_type: e.type}; - - if (e.type == "MSPointerDown" || e.type == "pointerdown") { - return; - } else if (that.conf.ev_skip == true) { - that.conf.ev_skip = false; - t = null; - return; - } - - - while (t != null && t._isWindow != true) { - if (typeof(t.className) != "undefined" && data.mode == null) { - if (typeof(t._buttonName) != "undefined") { - data.mode = "button"; - data.button_name = t._buttonName; - } else if (t._isWinHdr == true) { - data.mode = "hdr"; - } else if (t._isWinIcon == true) { - data.mode = "icon"; - } - } - t = t.parentNode; - } - if (data.mode == null) data.mode = "win"; - - data.id = (t != null && t._isWindow == true ? t._idd:null); - - t = null; - - if (data.id != null && that.w[data.id] != null) that.callEvent("_winMouseDown",[e,data]); // window can be attached to anther window and unexisting ID can be here - } - - this._winOnParkTrans = function(e) { - if (e.stopPropagation) e.stopPropagation(); - var w = that.w[this._idd]; - if (e.propertyName == "opacity") { - that._winCellClearOpacity(this._idd); - } - if (e.propertyName == "height" && w.conf.tr_mode == "park") { - if (w.conf.tr_mode == "park") { - w.win.style[that.conf.tr.prop] = ""; - if (!w.conf.parked) { - that._winAdjustCell(this._idd); - that._callMainEvent("onParkDown", this._idd); - if (w.conf.keep_in_vp) that._winAdjustPosition(this._idd, w.conf.x, w.conf.y); - } else { - w.hdr.style.zIndex = 3; - that._callMainEvent("onParkUp", this._idd); - } - } - - } - w = null; - } - - this.unload = function() { - - this.conf.unloading = true; - - // dnd - if (this._dndInitModule) this._dndUnloadModule(); - - // windows - for (var a in this.w) this._winClose(a); - this.w = null; - - // context menu - if (this.cm != null && typeof(this._unloadContextMenu) == "function") this._unloadContextMenu(); - - // events - window.dhx4._eventable(this, "clear"); - - // viewport - this.attachViewportTo(null); - - // conf - for (var a in this.conf) { - this.conf[a] = null; - delete this.conf[a]; - } - - for (var a in this) this[a] = null; - - that = a = null; - - } - - window.dhx4._eventable(this); - - this.attachEvent("_winMouseDown", this._winMouseDownHandler); - - if (this._dndInitModule) this._dndInitModule(); - - if (conf.wins != null) { - for (var q=0; q= 0) p.push(this.w[a]); - } - return p; -}; -dhtmlXWindows.prototype.setSkin = function(skin) { - if (skin == this.conf.skin) return; - if (this.vp != null) { - this.vp.className = String(this.vp.className).replace("dhxwins_vp_"+this.conf.skin," dhxwins_vp_"+skin); - } - for (var a in this.w) { - this.w[a].cell._resetSizeState(); - this._winAdjustCell(a); - this._winAdjustTitle(a); - } - this.conf.skin = skin; -}; - - -// z-index -dhtmlXWindows.prototype.getBottommostWindow = function() { - return this._getTopBottomWin(false); -}; -dhtmlXWindows.prototype.getTopmostWindow = function() { - return this._getTopBottomWin(true); -}; -dhtmlXWindows.prototype._getTopBottomWin = function(mode) { - var data = null; - for (var a in this.w) { - if (this.w[a].conf.visible) { - var k = false; - if (data != null) { - k = data.z > this.w[a].win.style.zIndex; - if (mode) k = !k; - } - if (data == null || k) data = {win: this.w[a].cell, z: this.w[a].win.style.zIndex}; - } - } - return (data?data.win:null); -}; -dhtmlXWindows.prototype._winMakeActive = function(id, force) { - - // if id is null activate last z-index window - - if (id != null && force !== true && this.w[id].conf.actv == true) return; - - var all = []; - - var inList = {}; - - for (var q=0; q=0; q--) { - - var a = all[q][0]; - var w = this.w[a]; - - w.win.style.zIndex = window.dhx4.zim.reserve(w.conf.z_id); - - // adjust modal cover z-index - if (w.conf.modal && this.mcover != null) { - for (var b in this.mcover) this.mcover[b].style.zIndex = w.win.style.zIndex; - } - - // ajust fr_cover if any - this._winAdjustFRMZIndex(a); - - // if id not specified, make last z-index active, can be triggered from _winHide - if (id == null && q == 0) id = a; - - w.conf.actv = (id==a); - w.win.className = (w.conf.actv?"dhxwin_active":"dhxwin_inactive"); - - w = null; - } - - if (id != null && this.conf.last_active != id) this._callMainEvent("onFocus", id); - - this.conf.last_active = id; - -}; - -// z-index order, from top to bottom, -// first modal, then sticked if any, then regular -dhtmlXWindows.prototype._zOrder = [ - {name: "modal", value: true}, - {name: "sticked", value: true}, - {name: "sticked", value: false} -]; - -// viewports -dhtmlXWindows.prototype._vpPull = {}; -dhtmlXWindows.prototype._vpOf = {}; - -dhtmlXWindows.prototype._vpPullAdd = function() { - if (this.vp == null) return; - var id = null; - for (var a in this._vpPull) { - if (this._vpPull[a].vp == this.vp) { - this._vpPull[a].count++; - id = a; - } - } - if (id == null) { - this._vpPull[window.dhx4.newId()] = {vp: this.vp, count: 1}; - } - if (this.vp == document.body && this.conf.vp_of_auto == true) { - // if window inited on behalf on layout, clear overflow from body to enable scroll) - this._vpOfInit(); - } - this._vpOfUpd(); -}; - -dhtmlXWindows.prototype._vpPullRemove = function() { - if (this.vp == null) return 0; - var count = 0; - for (var a in this._vpPull) { - if (this._vpPull[a].vp == this.vp) { - count = --this._vpPull[a].count; - if (count == 0) { - this._vpPull[a].vp = null; - this._vpPull[a].count = null; - delete this._vpPull[a]; - } - } - } - this._vpOfClear(); - return count; -}; - -dhtmlXWindows.prototype._vpOfInit = function() { - this._vpOf[this.conf.vp_of_id] = true; -}; -dhtmlXWindows.prototype._vpOfClear = function() { - this._vpOf[this.conf.vp_of_id] = false; - delete this._vpOf[this.conf.vp_of_id]; - this._vpOfUpd(); -}; - -dhtmlXWindows.prototype._vpOfUpd = function() { - var auto = false; - for (var a in this._vpOf) auto = auto||this._vpOf[a]; - if (auto == true) { - if (document.body.className.match(/dhxwins_vp_auto/) == null) { - document.body.className += " dhxwins_vp_auto"; - } - } else { - if (document.body.className.match(/dhxwins_vp_auto/) != null) { - document.body.className = String(document.body.className).replace(/\s{0,}dhxwins_vp_auto/gi, ""); - } - } -}; - -dhtmlXWindows.prototype.attachViewportTo = function(id) { - - // old one - var vpCount = this._vpPullRemove(); - - if (this.conf.vp_custom) { - while (this.vp.childNodes.length > 0) this.vp.removeChild(this.vp.lastChild); - this.vp.parentNode.removeChild(this.vp); - this.vp = null; - } else if (this.vp != null && vpCount == 0) { - this.vp.className = String(this.vp.className).replace(new RegExp("\\s{1,}dhxwins_vp_"+this.conf.skin),""); // no more window instances attached to same object, clear css - } - - // new if set - if (id == null) { - - this.vp = null; // clear link - - } else { - - this.vp = (typeof(id)=="string"?document.getElementById(id):id); - var skin = "dhxwins_vp_"+this.conf.skin; - if (this.vp.className.indexOf(skin) < 0) this.vp.className += " "+skin; - id = null; - - // windows - for (var a in this.w) this.vp.appendChild(this.w[a].win); - - this.conf.vp_custom = false; - - } - - if (this.vp == document.body) { - document.body.style.position = "static"; // abs-left/top broken for relative/absolute - } - - this._vpPullAdd(); - -}; - -dhtmlXWindows.prototype.setViewport = function(x, y, width, height, parentObj) { - - var t = document.createElement("DIV"); - - t.style.position = "absolute"; - t.style.left = x+"px"; - t.style.top = y+"px"; - t.style.width = width+"px"; - t.style.height = height+"px"; - - if (typeof(parentObj) == "undefined" || parentObj == null) { - parentObj = document.body; - } else if (typeof(parentObj) == "string") { - parentObj = document.getElementById(parentObj); - } - parentObj.appendChild(t); - - this.attachViewportTo(t); - this.conf.vp_custom = true; - - parentObj = t = null; - -}; - -// position -dhtmlXWindows.prototype._winSetPosition = function(id, x, y) { - - var w = this.w[id]; - - if (w.conf.maxed) { - // probably window have max_w/max_h set and dragable - // adjust saved w/h - w.conf.lastMX += (x-w.conf.x); - w.conf.lastMY += (y-w.conf.y); - } - - w.conf.x = x; - w.conf.y = y; - - w.win.style.left = w.conf.x+"px"; - w.win.style.top = w.conf.y+"px"; - - this._winAdjustFRMPosition(id); - - w = null; -}; -dhtmlXWindows.prototype._winAdjustPosition = function(id, x, y) { // check if window out of viewport - - var w = this.w[id]; - - // if called from cell's adjustPosition, just make sure window position is okey - if (typeof(x) == "undefined") x = w.conf.x; - if (typeof(y) == "undefined") y = w.conf.y; - - var minX = (w.conf.keep_in_vp?0:-w.conf.w+this.conf.vp_pos_ofs); - var maxX = (w.conf.keep_in_vp?this.vp.clientWidth-w.conf.w:this.vp.clientWidth-this.conf.vp_pos_ofs); - - if (x < minX) { - x = minX; - } else if (x > maxX) { - x = maxX; - } - - var maxY = (w.conf.keep_in_vp?this.vp.clientHeight-w.conf.h:this.vp.clientHeight-this.conf.vp_pos_ofs); - - if (y < 0) { - y = 0; - } else if (y > maxY) { - y = maxY; - } - - if (x != w.conf.x || y != w.conf.y) { - this._winSetPosition(id, x, y); - } - - w = null; -}; - -// dimension -dhtmlXWindows.prototype._winSetSize = function(id, width, height, skipAdjust, fixPos) { - - var w = this.w[id]; - - var w2 = (width != null ? width : w.conf.w); - var h2 = (height != null ? height : w.conf.h); - - if (this.conf.ofs_w == null) { - w.win.style.width = w2+"px"; - w.win.style.height = h2+"px"; - this.conf.ofs_w = w.win.offsetWidth-w2; - this.conf.ofs_h = w.win.offsetHeight-h2; - } - - if (w.conf.min_w != null && w2 < w.conf.min_w) w2 = w.conf.min_w; - if (w.conf.max_w != null && w2 > w.conf.max_w) w2 = w.conf.max_w; - - if (!w.conf.parked && w.conf.min_h != null && h2 < w.conf.min_h) h2 = w.conf.min_h; - if (w.conf.max_h != null && h2 > w.conf.max_h) h2 = w.conf.max_h; - - if (w.conf.keep_in_vp) { - if (w2 > this.vp.clientWidth) w2 = this.vp.clientWidth; - if (h2 > this.vp.clientHeight) h2 = this.vp.clientHeight; - } - - w.win.style.width = w2-this.conf.ofs_w+"px"; - w.win.style.height = h2-this.conf.ofs_h+"px"; - - w.conf.w = w2; - w.conf.h = h2; - - this._winAdjustFRMSize(id); - - if (fixPos) this._winAdjustPosition(id, w.conf.x, w.conf.y); - - // adjust content - if (!w.conf.parked && skipAdjust != true) this._winAdjustCell(id); - - w = null; -}; - -// minmax -dhtmlXWindows.prototype._winMinmax = function(id, mode) { - - if (typeof(mode) != "undefined" && this.w[id].conf.maxed == mode) return; // already requested state - if (this.w[id].conf.allow_resize == false) return; - - var w = this.w[id]; - - if (w.conf.parked) this._winPark(id, false); - - if (w.conf.maxed) { - - this._winSetSize(id, w.conf.lastMW, w.conf.lastMH); - this._winAdjustPosition(id, w.conf.lastMX, w.conf.lastMY); - w.conf.maxed = false; - - } else { - - var x = 0; - var y = 0; - - // adjust position, if any max w/h values - do not allow win to be moved outside vp - if (w.conf.max_w != null) x = w.conf.x + Math.round(w.conf.w-w.conf.max_w)/2; - if (w.conf.max_h != null) y = Math.max(w.conf.y + Math.round(w.conf.h-w.conf.max_h)/2, 0); - - // save old coords and dim - w.conf.lastMX = w.conf.x; - w.conf.lastMY = w.conf.y; - w.conf.lastMW = w.conf.w; - w.conf.lastMH = w.conf.h; - - this._winSetSize(id, this.vp.clientWidth, this.vp.clientHeight); - this._winAdjustPosition(id, x, y); - - - w.conf.maxed = true; - - } - - w.b.minmax.setCss(w.conf.maxed?"minmaxed":"minmax"); - - if (w.conf.maxed) { - this._callMainEvent("onMaximize", id); - } else { - this._callMainEvent("onMinimize", id); - } - this._callMainEvent("onResizeFinish", id); - w = null; -}; - -// show/hide -dhtmlXWindows.prototype._winShow = function(id, makeActive) { - - if (this.w[id].conf.visible == true) return; - - this.w[id].win.style.display = ""; - this.w[id].conf.visible = true; - - // makeActive set to true or only this window is visible - if (makeActive == true || this.conf.last_active == null) this._winMakeActive(id, true); - - this._callMainEvent("onShow", id); -}; -dhtmlXWindows.prototype._winHide = function(id, actvId) { - - if (this.w[id].conf.visible == false) return; - - this.w[id].win.style.display = "none"; - this.w[id].conf.visible = false; - - if (this.w[id].conf.actv) { - this.w[id].conf.actv = false; - this.w[id].win.className = "dhxwin_inactive"; - this._winMakeActive(null, true); - } - - this._callMainEvent("onHide", id); -}; - -// park -dhtmlXWindows.prototype._winPark = function(id, ef) { - - if (this.w[id].conf.allow_park == false) return; - if (this.w[id].conf.header == false) return; - - var w = this.w[id]; - - if (ef == true && this.conf.tr.prop !== false) { - w.win.style[this.conf.tr.prop] = this.conf.tr[w.conf.parked?"height_open":"height_close"]; - if (!w.conf.tr_ev) { - w.win.addEventListener(this.conf.tr.ev, this._winOnParkTrans, false); - w.conf.tr_ev = true; - } - } - - if (w.conf.parked) { - // restore - w.hdr.className = String(w.hdr.className).replace(/\s{1,}dhxwin_hdr_parked/gi,""); - w.hdr.style.zIndex = 0; - w.conf.parked = false; - w.conf.tr_mode = "park"; - this._winCellSetOpacity(id, "open", ef); - this._winSetSize(id, w.conf.w, w.conf.lastPH, (ef==true && this.conf.tr.prop!==false)); // adjust cont if trans not available - if (!(ef == true && this.conf.tr.prop !== false)) { - this._callMainEvent("onParkDown", id); - if (w.conf.keep_in_vp) this._winAdjustPosition(id, w.conf.x, w.conf.y); - } - // IE8 bottom-border fix - if (window.dhx4.isIE8 == true && this.conf.tr.prop == false && w.cell.cell.className.match(/dhxwin_parked/) != null) { - w.cell.cell.className = w.cell.cell.className.replace(/\s{0,}dhxwin_parked/gi,""); - } - } else { - // park - w.conf.lastPH = w.conf.h; - w.hdr.className += " dhxwin_hdr_parked"; - if (ef == false || this.conf.tr.prop == false) w.hdr.style.zIndex = 3; // no-trans - w.conf.parked = true; - w.conf.tr_mode = "park"; - this._winCellSetOpacity(id, "close", ef); - this._winSetSize(id, w.conf.w, w.hdr.offsetHeight+this.conf.ofs_h, (ef==true && this.conf.tr.prop!==false)); // adjust cont if trans not available - if (!(ef == true && this.conf.tr.prop !== false)) this._callMainEvent("onParkUp", id); - // IE8 bottom-border fix - if (window.dhx4.isIE8 == true && this.conf.tr.prop == false && w.cell.cell.className.match(/dhxwin_parked/) == null) { - w.cell.cell.className += " dhxwin_parked"; - } - } - - w = null; - -}; -dhtmlXWindows.prototype._winCellSetOpacity = function(id, op, ef, mode) { - var cell = this.w[id].cell; - for (var a in cell.conf.idx) { - if ({pr1:true,pr2:true}[a] != true) { // skip progress - if (ef == true && this.conf.tr.prop != false) cell.cell.childNodes[cell.conf.idx[a]].style[this.conf.tr.prop] = this.conf.tr["op_"+op]; - cell.cell.childNodes[cell.conf.idx[a]].style.opacity = this.conf.tr["op_v_"+op]; - } - } - cell = null; -}; -dhtmlXWindows.prototype._winCellClearOpacity = function(id) { - var cell = this.w[id].cell; - for (var a in cell.conf.idx) { - if ({pr1:true,pr2:true}[a] != true) { // skip progress - if (this.conf.tr.prop != false) cell.cell.childNodes[cell.conf.idx[a]].style[this.conf.tr.prop] = ""; - } - } - cell = null; -}; - -// stick -dhtmlXWindows.prototype._winStick = function(id, mode) { - - if (typeof(mode) != "undefined" && this.w[id].conf.sticked == mode) return; // already requested state - - this.w[id].conf.sticked = !this.w[id].conf.sticked; - this.w[id].b.stick.setCss(this.w[id].conf.sticked?"sticked":"stick"); - - this._winMakeActive(this.conf.last_active, true); - if (this.w[id].conf.sticked) { - this._callMainEvent("onStick", id); - } else { - this._callMainEvent("onUnStick", id); - } -}; - -// close -dhtmlXWindows.prototype._winClose = function(id) { - - if (this._callMainEvent("onClose", id) !== true && this.conf.unloading != true) return; - var w = this.w[id]; - - if (w.conf.fs_mode) w.cell.setToFullScreen(false); - if (w.conf.modal) this._winSetModal(id, false); - - // z-index clear - window.dhx4.zim.clear(w.conf.z_id); - - // context menu - if (this.cm != null && this.cm.icon[id] != null) { - this._detachContextMenu("icon", id, null); - } - - // header click/dblclick events - if (typeof(window.addEventListener) == "function") { - w.win.removeEventListener("mousedown", this._winOnMouseDown, false); - w.win.removeEventListener("mouseup", this._winOnMouseDown, false); - if (this.conf.dblclick_ev) w.win.removeEventListener("dblclick", this._winOnMouseDown, false); - // touch - if (this.conf.dnd_enabled == true && window.dhx4.dnd.evs.start != null) { - w.win.removeEventListener(window.dhx4.dnd.evs.start, this._winOnMouseDown, false) - if (window.dhx4.dnd.p_en != true) { - w.win.removeEventListener(window.dhx4.dnd.evs.start, this._winOnMouseDown, false); - w.win.removeEventListener(window.dhx4.dnd.evs.end, this._winOnMouseDown, false); - } - } - } else { - w.win.detachEvent("onmousedown", this._winOnMouseDown); - w.win.detachEvent("onmouseup", this._winOnMouseDown); - if (this.conf.dblclick_ev) w.win.attachEvent("ondblclick", this._winOnMouseDown); - } - - // buttons - for (var a in w.b) this._winRemoveButton(id, a, true); - w.b = null; - - // cell - w.cell._unload(); - w.cell = null; - - // border - w.brd.parentNode.removeChild(w.brd); - w.brd = null; - - // covers - if (w.fr_cover != null) { - w.fr_cover.parentNode.removeChild(w.fr_cover); - w.fr_cover = null; - } - if (w.fr_m_cover != null) { - w.fr_m_cover.parentNode.removeChild(w.fr_m_cover); - w.fr_m_cover = null; - } - - // hdr - w.hdr._isWinHdr = true; - w.hdr.firstChild._isWinIcon = true; - w.hdr.onselectstart = null; - w.hdr.parentNode.removeChild(w.hdr); - w.hdr = null; - - // conf - for (var a in w.conf) { - w.conf[a] = null; - delete w.conf[a]; - } - w.conf = null; - - // win - w.win._idd = null; - w.win._isWindow = null; - w.win.parentNode.removeChild(w.win); - w.win = null; - - w = null; - this.w[id] = null; - delete this.w[id]; - - // activate topmost window - if (!this.conf.unloading) this._winMakeActive(null, true); - -}; - -// modal -dhtmlXWindows.prototype._winSetModal = function(id, modal, removeCover) { - - if (this.w[id].conf.modal == modal) return; // already have specified modal state - - if (typeof(removeCover) == "undefined") removeCover = true; - - var w = this.w[id]; - - if (modal == true && w.conf.modal == false) { - - // remove modality from prev window - if (this.conf.last_modal != null) { - this._winSetModal(this.conf.last_modal, false, false); - } - - if (this.mcover == null) { - - // create a new one - var d = document.createElement("DIV"); - d.className = "dhxwins_mcover"; - this.vp.insertBefore(d, w.fr_m_cover||w.win); - this.mcover = {d:d}; - - if (this.conf.fr_cover) { - this.mcover.f = document.createElement("IFRAME"); - this.mcover.f.className = "dhxwins_mcover"; - this.mcover.f.border = 0; - this.mcover.f.frameBorder = 0; - this.vp.insertBefore(this.mcover.f,d); - } - - d = null; - - } else if (this.mcover.d.nextSibling != (w.fr_m_cover||w.win)) { - // move cover to place it before modal window - this.vp.insertBefore(this.mcover.d, w.fr_m_cover||w.win); - if (this.mcover.f != null) this.vp.insertBefore(this.mcover.f, this.mcover.d); - } - - w.conf.modal = true; - this.conf.last_modal = id; - - this._winMakeActive(id, true); - - } else if (modal == false && w.conf.modal == true) { - - // remove modality, clear cover - - w.conf.modal = false; - this.conf.last_modal = null; - - if (removeCover && this.mcover != null) { - for (var a in this.mcover) { - - this.vp.removeChild(this.mcover[a]); - this.mcover[a] = null; - } - this.mcover = null; - } - - } - - w = null; -}; - -// misc -dhtmlXWindows.prototype._winMouseDownHandler = function(e, data) { - - var t = e.target||e.srcElement; - - if (e.button >= 2) return; - - if (data.mode == "button") { - if (data.press_type == "mousedown") { - this.conf.button_last = data.button_name; - } else if ((data.press_type == "mouseup" && data.button_name == this.conf.button_last) || data.press_type == "MSPointerDown" || data.press_type == "pointerdown") { - this.conf.button_last = null; - if (this._winButtonClick(data.id, data.button_name, e) !== true) return; - } - } - //var inEdge = (data.press_type == "pointerdown" && window.dhx4.dnd._mTouch(e) == true); - if ((data.press_type == "pointerdown" || data.press_type == "mousedown" || data.press_type == "dblclick") && data.mode == "hdr") { - - // dblclick - this.conf.dblclick_active = false; - if (this.conf.dblclick_ev == true) { - // IE6, IE7, IE8 native dblclick event - if (data.press_type == "dblclick") this.conf.dblclick_active = true; - } else { - - if (this.conf.dblclick_last == null) { - this.conf.dblclick_last = new Date().getTime(); - this.dblclick_id = data.id; - } else { - var t = new Date().getTime(); - if (this.conf.dblclick_last + this.conf.dblclick_tm > t && this.dblclick_id == data.id) { - this.conf.dblclick_active = true; - this.conf.dblclick_last = null; - this.dblclick_id = null; - } else { - this.conf.dblclick_last = t; - this.dblclick_id = data.id; - } - } - } - if (this.conf.dblclick_active) { - this._winDoHeaderDblClick(data.id); - return; - } - } - - // for all modes - if (data.press_type == "mousedown" || (data.press_type == window.dhx4.dnd.evs.start)) { - this._winMakeActive(data.id); - } - if (data.press_type == "touchend") { - // if (e.preventDefault) e.preventDefault(); - } - -}; - -dhtmlXWindows.prototype._winDoHeaderDblClick = function(id) { - if (this.conf.dblclick_mode == "minmax") { - this._winMinmax(id); - return; - } - if (this.conf.dblclick_mode == "park") { - this._winPark(id, true); - return; - } - // use action if any - if (typeof(this.conf.dblclick_mode) == "function") { - this.conf.dblclick_mode.apply(window, [id]); - return; - } - if (typeof(window[this.conf.dblclick_mode]) == "function") { - window[this.conf.dblclick_mode].apply(window, [id]); - return; - } -}; -dhtmlXWindows.prototype._winAdjustCell = function(id) { - - var w = this.w[id]; - - if (this.conf.skin == "material") { - var x = 0; - var y = (w.conf.header?w.hdr.offsetHeight:1); - var width = w.win.clientWidth; - var height = w.win.clientHeight-y; - } else { - var x = 1; - var y = (w.conf.header?w.hdr.offsetHeight:1); - var width = w.win.clientWidth-2; - var height = w.win.clientHeight-y-1; - } - - w.brd.style.left = x+"px"; - w.brd.style.top = y+"px"; - if (w.conf.brd == null) { - w.brd.style.width = width+"px"; - w.brd.style.height = height+"px"; - w.conf.brd = { - w: width-w.brd.offsetWidth, - h: height-w.brd.offsetHeight - }; - } - w.brd.style.width = width+w.conf.brd.w+"px"; - w.brd.style.height = height+w.conf.brd.h+"px"; - - var p = 5; // cell_cont position - if (this.conf.skin == "material") p = 1; - - var x2 = 1+p; - var y2 = (w.conf.header?y:y+p); - var w2 = w.brd.clientWidth; - var h2 = w.brd.clientHeight; - - w.cell._setSize(x2, y2, w2, h2); - - w.fr_cover.style.left = x2+"px"; - w.fr_cover.style.top = y2+"px"; - w.fr_cover.style.width = w2+"px"; - w.fr_cover.style.height = h2+"px"; - - w = null; -}; -dhtmlXWindows.prototype._winAdjustTitle = function(id) { - var icon = this.w[id].hdr.childNodes[0]; - var text = this.w[id].hdr.childNodes[1]; - var btns = this.w[id].hdr.childNodes[2]; - var x = (this.conf.skin=="material"?7:0); - text.style.paddingLeft = icon.offsetWidth+12+x+"px"; - text.style.paddingRight = btns.offsetWidth+10+x+"px"; - text = btns = icon = null; -}; -dhtmlXWindows.prototype._callMainEvent = function(name, id) { - var w = this.w[id]; - if (w.cell.checkEvent(name)) { - var r = w.cell._callMainEvent(name, [w.cell]); - } else { - var r = this.callEvent(name, [w.cell]); - } - w = null; - return r; -}; - -// fr_m_cover -dhtmlXWindows.prototype._winInitFRM = function(id) { - if (this.conf.fr_cover != true) return; - var w = this.w[id]; - var f = document.createElement("IFRAME"); - f.className = "dhxwin_main_fr_cover"; - f.border = 0; - f.frameBorder = 0; - f.style.zIndex = w.win.style.zIndex; - w.win.parentNode.insertBefore(f, w.win); - w.fr_m_cover = f; - f = null; -}; -dhtmlXWindows.prototype._winAdjustFRMSize = function(id) { - var w = this.w[id]; - if (w.fr_m_cover != null) { - w.fr_m_cover.style.width = w.conf.w+"px"; - w.fr_m_cover.style.height = w.conf.h+"px"; - } - w = null; -}; -dhtmlXWindows.prototype._winAdjustFRMPosition = function(id) { - var w = this.w[id]; - if (w.fr_m_cover != null) { - w.fr_m_cover.style.left = w.win.style.left; - w.fr_m_cover.style.top = w.win.style.top; - } - w = null; -}; -dhtmlXWindows.prototype._winAdjustFRMZIndex = function(id) { - var w = this.w[id]; - if (w.fr_m_cover != null) { - w.fr_m_cover.style.zIndex = w.win.style.zIndex; - } - w = null; -}; - - -function dhtmlXWindowsCell(id, wins) { - - dhtmlXCellObject.apply(this, [id, "_wins"]); - - this.wins = wins; - - this.cell._winId = id; - this.conf.skin = this.wins.conf.skin; - - this.attachEvent("_onCellUnload", function(){ - - if (this._unloadResize) { - this._unloadResize(); - } - - window.dhx4._eventable(this.cell, "clear"); - - this.cell._winId = null; - this.wins = null; - - this.setText = null; - this.getText = null; - this.allowMove = null; - this.denyMove = null; - this.isMovable = null; - this.allowResize = null; - this.denyResize = null; - this.isResizable = null; - this.maximize = null; - this.minimize = null; - this.isMaximized = null; - this.setPosition = null; - this.getPosition = null; - this.adjustPosition = null; - this.park = null; - this.isParked = null; - this.allowPark = null; - this.denyPark = null; - this.isParkable = null; - this.show = null; - this.hide = null; - this.isHidden = null; - this.stick = null; - this.unstick = null; - this.isSticked = null; - this.setDimension = null; - this.getDimension = null; - this.setMinDimension = null; - this.getMinDimension = null; - this.setMaxDimension = null; - this.getMaxDimension = null; - this.keepInViewport = null; - this.center = null; - this.centerOnScreen = null; - this.bringToTop = null; - this.bringToBottom = null; - this.isOnTop = null; - this.isOnBottom = null; - this.showHeader = null; - this.hideHeader = null; - this.setModal = null; - this.isModal = null; - this.close = null; - - this._adjustByCont = null; - - this.button = null; - this.addUserButton = null; - this.removeUserButton = null; - - that = null; - }); - - this.attachEvent("_onContentLoaded", function() { - this.wins._callMainEvent("onContentLoaded", this._idd); - }); - this.attachEvent("_onContentMouseDown", function(id,e) { - this.wins.callEvent("_winMouseDown",[e,{id:id,mode:"win"}]); - }); - - this._callMainEvent = function(name, args) { - return this.callEvent(name, args); - } - - // open/close, check trans-effects - - this.conf.tr = {}; - for (var a in this.wins.conf.tr) this.conf.tr[a] = this.wins.conf.tr[a]; - - if (this.conf.tr.prop != false) { - /* - this.attachEvent("_onIdxUpdated", function(){ - // if cell hidden - update opacity for menu/toolbar/status which attached to parked window - if (this.wins.w[this._idd].conf.parked) { - for (var a in this.conf.idx) { - if ({hdr:true,pr1:true,pr2:true}[a] != true) { // skip hdr and progress - this.wins._winCellSetOpacity(this._idd, "close", false); - } - } - } - }); - */ - } - - - if (this._initResize) this._initResize(); - - // personal window events, - // dhxWins.window(id).attachEvent() - window.dhx4._eventable(this.cell); - - // adjustParentSize (for form) - var that = this; - this.cell.attachEvent("_setCellSize", function(w, h){ - var w0 = that.wins.w[this._winId].conf.w-that.conf.size.w; - var h0 = that.wins.w[this._winId].conf.h-that.conf.size.h; - that.setDimension(w+w0, h+h0); - }); - - return this; - -}; - -dhtmlXWindowsCell.prototype = new dhtmlXCellObject(); - -// text -dhtmlXWindowsCell.prototype.setText = function(text) { - this.wins.w[this._idd].conf.text = text; - this.wins.w[this._idd].hdr.childNodes[1].firstChild.innerHTML = text; -}; -dhtmlXWindowsCell.prototype.getText = function() { - return this.wins.w[this._idd].conf.text; -}; - -// move/dnd -dhtmlXWindowsCell.prototype.allowMove = function() { - this.wins.w[this._idd].conf.allow_move = true; -}; -dhtmlXWindowsCell.prototype.denyMove = function() { - this.wins.w[this._idd].conf.allow_move = false; -}; -dhtmlXWindowsCell.prototype.isMovable = function() { - return (this.wins.w[this._idd].conf.allow_move == true); -}; - -// resize -dhtmlXWindowsCell.prototype.allowResize = function() { - this.wins.w[this._idd].conf.allow_resize = true; - this.wins.w[this._idd].b.minmax.enable(); -}; -dhtmlXWindowsCell.prototype.denyResize = function() { - this.wins.w[this._idd].conf.allow_resize = false; - this.wins.w[this._idd].b.minmax.disable(); -}; -dhtmlXWindowsCell.prototype.isResizable = function() { - return (this.wins.w[this._idd].conf.allow_resize == true); -}; - -// min/max -dhtmlXWindowsCell.prototype.maximize = function() { - this.wins._winMinmax(this._idd, true); -}; -dhtmlXWindowsCell.prototype.minimize = function() { - this.wins._winMinmax(this._idd, false); -}; -dhtmlXWindowsCell.prototype.isMaximized = function() { - return (this.wins.w[this._idd].conf.maxed == true); -}; - -// position -dhtmlXWindowsCell.prototype.setPosition = function(x, y) { - this.wins._winSetPosition(this._idd, x, y); -}; -dhtmlXWindowsCell.prototype.getPosition = function() { - var w = this.wins.w[this._idd]; - var p = [w.conf.x,w.conf.y]; - w = null; - return p; -}; -dhtmlXWindowsCell.prototype.adjustPosition = function() { - this.wins._winAdjustPosition(this._idd); -}; - -// parking -dhtmlXWindowsCell.prototype.park = function() { - this.wins._winPark(this._idd, true); // with effect -}; -dhtmlXWindowsCell.prototype.isParked = function() { - return (this.wins.w[this._idd].conf.parked == true); -}; -dhtmlXWindowsCell.prototype.allowPark = function() { - this.wins.w[this._idd].conf.allow_park = true; - this.wins.w[this._idd].b.park.enable(); -}; -dhtmlXWindowsCell.prototype.denyPark = function() { - this.wins.w[this._idd].conf.allow_park = false; - this.wins.w[this._idd].b.park.disable(); -}; -dhtmlXWindowsCell.prototype.isParkable = function() { - return (this.wins.w[this._idd].conf.allow_park == true); -}; - -// show/hide -dhtmlXWindowsCell.prototype.show = function(makeActive) { - this.wins._winShow(this._idd, window.dhx4.s2b(makeActive)); -}; -dhtmlXWindowsCell.prototype.hide = function() { - this.wins._winHide(this._idd); -}; -dhtmlXWindowsCell.prototype.isHidden = function() { - return (this.wins.w[this._idd].conf.visible != true); -}; - -// sticking -dhtmlXWindowsCell.prototype.stick = function() { - this.wins._winStick(this._idd, true); -}; -dhtmlXWindowsCell.prototype.unstick = function() { - this.wins._winStick(this._idd, false); -}; -dhtmlXWindowsCell.prototype.isSticked = function() { - return (this.wins.w[this._idd].conf.sticked == true); -}; - -// dimension -dhtmlXWindowsCell.prototype.setDimension = function(width, height) { - var w = this.wins.w[this._idd]; - if (w.conf.parked) this.wins._winPark(this._idd, false); - if (w.conf.maxed) { - if (width != null) w.conf.lastMW = width; - if (height != null) w.conf.lastMH = height; - this.wins._winMinmax(this._idd); - } else { - this.wins._winSetSize(this._idd, width, height, false, true); - } - w = null; -}; -dhtmlXWindowsCell.prototype.getDimension = function() { - var w = this.wins.w[this._idd]; - var d = [w.conf.w, w.conf.h]; - w = null; - return d; -}; -dhtmlXWindowsCell.prototype.setMinDimension = function(width, height) { - var w = this.wins.w[this._idd]; - w.conf.min_w = width; - w.conf.min_h = height; - // parked and maxed will ajusted in _winSetSize - this.wins._winSetSize(this._idd, w.conf.w, w.conf.h); - w = null; -}; -dhtmlXWindowsCell.prototype.getMinDimension = function() { - var w = this.wins.w[this._idd]; - var d = [w.conf.min_w, w.conf.min_h]; - w = null; - return d; -}; -dhtmlXWindowsCell.prototype.setMaxDimension = function(width, height) { - var w = this.wins.w[this._idd]; - w.conf.max_w = width; - w.conf.max_h = height; - // parked and maxed will ajusted in _winSetSize - this.wins._winSetSize(this._idd, w.conf.w, w.conf.h); - w = null; -}; -dhtmlXWindowsCell.prototype.getMaxDimension = function() { - var w = this.wins.w[this._idd]; - var d = [w.conf.max_w, w.conf.max_h]; - w = null; - return d; -}; - -// viewport -dhtmlXWindowsCell.prototype.keepInViewport = function(mode) { - this.wins.w[this._idd].conf.keep_in_vp = window.dhx4.s2b(mode); -}; -dhtmlXWindowsCell.prototype.center = function() { - - var vp = this.wins.vp; - var w = this.wins.w[this._idd]; - - var x = Math.round((vp.clientWidth-w.conf.w)/2); - var y = Math.round((vp.clientHeight-w.conf.h)/2); - - this.wins._winSetPosition(this._idd, x, y); - vp = w = null; -}; -dhtmlXWindowsCell.prototype.centerOnScreen = function() { - - var w = this.wins.w[this._idd]; - var dim = window.dhx4.screenDim(); - - // viewport correction - var vx = window.dhx4.absLeft(this.wins.vp); - var vy = window.dhx4.absTop(this.wins.vp); - var k = this.wins.vp.parentNode; - while (k != null) { - if (k.scrollLeft) vx = vx-k.scrollLeft; - if (k.scrollTop) vy = vy-k.scrollTop; - k = k.parentNode; - } - - var x = Math.round((dim.right-dim.left-w.conf.w)/2); - var y = Math.round((dim.bottom-dim.top-w.conf.h)/2); - - this.wins._winAdjustPosition(this._idd, x-vx, y-vy); - d = w = null; - -}; - -// z-index -dhtmlXWindowsCell.prototype.bringToTop = function() { - this.wins._winMakeActive(this._idd, true); -}; -dhtmlXWindowsCell.prototype.bringToBottom = function() { - var actv = (this.wins.w[this._idd].conf.actv?null:this.wins.conf.last_active); - window.dhx4.zim.clear(this.wins.w[this._idd].conf.z_id); - this.wins.w[this._idd].win.style.zIndex = 0; - this.wins._winMakeActive(actv, true); -}; -dhtmlXWindowsCell.prototype.isOnTop = function() { - return (this.wins.w[this._idd].conf.actv == true); -}; -dhtmlXWindowsCell.prototype.isOnBottom = function() { - var data = {id: null, z:+Infinity}; - for (var a in this.wins.w) { - if (this.wins.w[a].conf.visible && this.wins.w[a].win.style.zIndex < data.z) { - data.id = a; - data.z = this.wins.w[a].win.style.zIndex; - } - } - return (data.id==this._idd); -}; - -// header -dhtmlXWindowsCell.prototype.showHeader = function() { - var w = this.wins.w[this._idd]; - if (w.conf.header == false) { - w.hdr.className = String(w.hdr.className).replace(/\s{0,}dhxwin_hdr_hidden/gi,""); - w.brd.className = String(w.brd.className).replace(/\s{0,}dhxwin_hdr_hidden/gi,""); - this.conf.cells_cont = null; // reset saved borders - w.conf.brd = null; // reset brd - w.conf.header = true; - this.wins._winAdjustCell(this._idd); - } - w = null; -}; -dhtmlXWindowsCell.prototype.hideHeader = function() { - var w = this.wins.w[this._idd]; - if (w.conf.header == true) { - if (w.conf.parked) this.wins._winPark(this._idd, false); - w.hdr.className += " dhxwin_hdr_hidden"; - w.brd.className += " dhxwin_hdr_hidden"; - this.conf.cells_cont = null; // reset saved borders - w.conf.brd = null; // reset brd - w.conf.header = false; - this.wins._winAdjustCell(this._idd); - } - w = null; -}; - -// modality -dhtmlXWindowsCell.prototype.setModal = function(modal) { - this.wins._winSetModal(this._idd, window.dhx4.s2b(modal)); -}; -dhtmlXWindowsCell.prototype.isModal = function() { - return (this.wins.w[this._idd].conf.modal==true); -}; - -// adjust cell to content -dhtmlXWindowsCell.prototype._adjustByCont = function(w, h) { - w += this.wins.w[this._idd].conf.w-this.conf.size.w; - h += this.wins.w[this._idd].conf.h-this.conf.size.h; - this.wins._winSetSize(this._idd, w, h); -}; - -// closing -dhtmlXWindowsCell.prototype.close = function() { - this.wins._winClose(this._idd); -}; - -// icon -dhtmlXWindowsCell.prototype.setIconCss = function(css) { - this.wins.w[this._idd].hdr.firstChild.className = "dhxwin_icon "+css; - this.wins._winAdjustTitle(this._idd); -}; - -// fullscreen mode -dhtmlXWindowsCell.prototype.setToFullScreen = function(mode) { - - mode = window.dhx4.s2b(mode); - - var w = this.wins.w[this._idd]; - - if (w.conf.fs_mode == mode) { - w = null; - return; - } - - if (this.wins.fsn == null) { - this.wins.fsn = document.createElement("DIV"); - this.wins.fsn.className = this.wins.vp.className+" dhxwins_vp_fs"; - document.body.appendChild(this.wins.fsn); - } - - if (mode) { - this.wins.fsn.appendChild(w.win); - this.maximize(); - this.hideHeader(); - } else { - this.wins.vp.appendChild(w.win); - this.minimize(); - this.showHeader(); - - if (this.wins.fsn.childNodes.length == 0) { - this.wins.fsn.parentNode.removeChild(this.wins.fsn); - this.wins.fsn = null; - } - } - - w.conf.fs_mode = mode; - w = null; - -}; - -// buttons - -dhtmlXWindowsCell.prototype.button = function(id) { - if (id == "minmax1" || id == "minmax2") { // deprecated - // console.warn("windows: minmax1/minmax2 buttons are deprecated, from 4.0 there is single button minmax"); - id = "minmax"; - } - return this.wins.w[this._idd].b[id]; -}; - -dhtmlXWindowsCell.prototype.addUserButton = function(id, pos, title) { - var b = new dhtmlXWindowsButton(this.wins, this._idd, id, title, true); - var n = null; - var h = this.wins.w[this._idd].hdr.lastChild; - if (isNaN(pos)) pos = 0; else if (pos < 0) pos = 0; - if (h.childNodes[pos] != null) n = h.childNodes[pos]; - if (n != null) h.insertBefore(b.button, n); else h.appendChild(b.button); - this.wins.w[this._idd].b[id] = b; - b = n = h = null; - this.wins._winAdjustTitle(this._idd); -}; - -dhtmlXWindowsCell.prototype.removeUserButton = function(id) { - if (this.wins.w[this._idd].b[id] == null || this.wins.w[this._idd].b[id].conf.custom != true) return; - this.wins._winRemoveButton(this._idd, id); -}; - - -window.dhtmlXWindowsButton = function(wins, winId, name, title, custom) { - - this.conf = { - wins: wins, - winId: winId, - name: name, - enabled: true, - visible: true, - custom: true - }; - - this.button = document.createElement("DIV"); - this.button._buttonName = name; - this.button.title = title; - - this.enable = function() { - this.conf.enabled = true; - this.setCss(this.conf.css); - } - this.disable = function() { - this.conf.enabled = false; - this.setCss(this.conf.css); - } - this.isEnabled = function() { - return (this.conf.enabled==true); - } - // - this.show = function() { - this.button.style.display = ""; - this.conf.visible = true; - this.conf.wins._winAdjustTitle(this.conf.winId); - } - this.hide = function() { - this.button.style.display = "none"; - this.conf.visible = false; - this.conf.wins._winAdjustTitle(this.conf.winId); - } - this.isHidden = function() { - return (this.conf.visible==false); - } - // - this.setCss = function(css) { - this.conf.css = css; - var dis = (this.conf.enabled?"":"_dis"); - this.button.className = "dhxwin_button"+dis+" dhxwin_button_"+this.conf.css+dis; - } - - this._doOnClick = function(ev) { - return this.callEvent("onClick", [this.conf.wins.w[this.conf.winId].cell, this]); - } - - this.unload = function(winClosing) { - // - dhx4._eventable(this, "clear"); - this.button._buttonName = null; - this.button.parentNode.removeChild(this.button); - - // context context menu if any - if (this.conf.wins.cm != null && this.conf.wins.cm.button[this.conf.winId] != null && this.conf.wins.cm.button[this.conf.winId][this.conf.name] != null) { - this.conf.wins._detachContextMenu("button", this.conf.winId, this.conf.name); - } - - this.button = null; - this.enable = null; - this.disable = null; - this.isEnabled = null; - this.show = null; - this.hide = null; - this.isHidden = null; - this.setCss = null; - this.unload = null; - // - if (winClosing != true) this.conf.wins._winAdjustTitle(this.conf.winId); - // - this.conf.wins = null; - this.conf.winId = null; - this.conf = null; - - } - - this.setCss(name); - dhx4._eventable(this); - - return this; -}; - -dhtmlXWindows.prototype._winButtonClick = function(id, button, ev) { - - if (!this.w[id].b[button].isEnabled()) return true; - - if (this.w[id].b[button]._doOnClick() !== true) return; - - if (button == "help") { - this._callMainEvent("onHelp", id); - } - - if (button == "park") { - this._winPark(id, true); - } - - if (button == "minmax") { - this._winMinmax(id); - } - - if (button == "stick") { - this._winStick(id); - return false; - } - - if (button == "close") { - this._winClose(id); - return false; - } - return true; // allow default action -}; - -dhtmlXWindows.prototype._winRemoveButton = function(wId, bId, winClosing) { - this.w[wId].b[bId].unload(winClosing); - this.w[wId].b[bId] = null; - delete this.w[wId].b[bId]; -}; - - diff --git a/themes/sources/dhtmlxWindows/codebase/dhtmlxwindows_deprecated.js b/themes/sources/dhtmlxWindows/codebase/dhtmlxwindows_deprecated.js deleted file mode 100644 index 39090a6..0000000 --- a/themes/sources/dhtmlxWindows/codebase/dhtmlxwindows_deprecated.js +++ /dev/null @@ -1,20 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -dhtmlXWindows.prototype.enableAutoViewport = function(){}; -dhtmlXWindows.prototype.setImagePath = function(){}; -dhtmlXWindows.prototype.setEffect = function(){}; -dhtmlXWindows.prototype.getEffect = function(){}; - -dhtmlXWindowsCell.prototype.setToFullScreen = function(){}; -dhtmlXWindowsCell.prototype.setIcon = function(){}; -dhtmlXWindowsCell.prototype.getIcon = function(){}; -dhtmlXWindowsCell.prototype.restoreIcon = function(){}; -dhtmlXWindowsCell.prototype.clearIcon = function(){}; - - diff --git a/themes/sources/dhtmlxWindows/codebase/ext/dhtmlxwindows_dnd.js b/themes/sources/dhtmlxWindows/codebase/ext/dhtmlxwindows_dnd.js deleted file mode 100644 index dc778e3..0000000 --- a/themes/sources/dhtmlxWindows/codebase/ext/dhtmlxwindows_dnd.js +++ /dev/null @@ -1,334 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -dhtmlXWindows.prototype._dndInitModule = function() { - - var that = this; - - this.conf.dnd_enabled = true; - this.conf.dnd_tm = null; - this.conf.dnd_time = 0; // 400 or 0 - - this._dndOnMouseDown = function(e, id) { - - if (that.conf.dblclick_active) return; - - if (e.preventDefault) e.preventDefault(); else e.returnValue = false; - - if (that._callMainEvent("onBeforeMoveStart", id) !== true) return; - - - that.conf.dnd = { - id: id, - x: that._dndPos(e,"X"), - y: that._dndPos(e,"Y"), - ready: true, - css: false, - css_touch: false, - css_vp: false, - tr: null, - mode: "def", //"def" - move win, "tr" - for translate, "rect" - move rectange - moved: false, - prevent: false - }; - - if (that.w[id].conf.keep_in_vp) { - that.conf.dnd.minX = 0; - that.conf.dnd.maxX = that.vp.clientWidth-that.w[id].conf.w; - that.conf.dnd.minY = 0; - that.conf.dnd.maxY = that.vp.clientHeight-that.w[id].conf.h; - } else { - that.conf.dnd.minX = -that.w[id].conf.w+that.conf.vp_pos_ofs; - that.conf.dnd.maxX = that.vp.clientWidth-that.conf.vp_pos_ofs; - that.conf.dnd.minY = 0; - that.conf.dnd.maxY = that.vp.clientHeight-that.conf.vp_pos_ofs; - } - - var k = [ - "MozTransform", - "WebkitTransform", - "OTransform", - "msTransform", - "transform" - ]; - - for (var q=0; q 20 || Math.abs(y) > 20)) { - - if (that.conf.dnd_tm != null) { - window.clearTimeout(that.conf.dnd_tm); - that.conf.dnd_tm = null; - } - window.removeEventListener(window.dhx4.dnd.evs.start, that._dndOnMouseMove, false); - - return; - } - } - - - if (dnd.ready != true) return; - - var w = that.w[dnd.id]; - - // dhtmlx.message({text:x+","+y,expire:100}); - - if (e.preventDefault) e.preventDefault(); else e.returnValue = false; - - - if (dnd.css != true) { - if (dnd.css_touch == false) w.win.className += " dhxwin_dnd"; - w.fr_cover.className += " dhxwin_fr_cover_dnd"; - dnd.css = true; - } - if (dnd.css_vp != true) { - that.vp.className += " dhxwins_vp_dnd"; - dnd.css_vp = true; - } - - dnd.newX = w.conf.x+x; - dnd.newY = w.conf.y+y; - - if (dnd.mode == "tr") { - - dnd.newX = Math.min(Math.max(dnd.newX, dnd.minX), dnd.maxX); - x = dnd.newX-w.conf.x; - - dnd.newY = Math.min(Math.max(dnd.newY, dnd.minY), dnd.maxY); - y = dnd.newY-w.conf.y; - - w.win.style[dnd.tr] = "translate("+x+"px,"+y+"px)"; - if (w.fr_m_cover != null) w.fr_m_cover.style[dnd.tr] = w.win.style[dnd.tr]; - - } else { - - if (dnd.newX < dnd.minX || dnd.newX > dnd.maxX) { - dnd.newX = Math.min(Math.max(dnd.newX, dnd.minX), dnd.maxX); - } else { - dnd.x = that._dndPos(e,"X"); - } - - if (dnd.newY < dnd.minY || dnd.newY > dnd.maxY) { - dnd.newY = Math.min(Math.max(dnd.newY, dnd.minY), dnd.maxY); - } else { - dnd.y = that._dndPos(e,"Y"); - } - - that._winSetPosition(dnd.id, dnd.newX, dnd.newY); - - } - - dnd.moved = true; - - w = dnd = null; - } - - this._dndOnMouseUp = function(e) { - - e = e||event; - that._dndUnloadEvents(); - - if (that.conf.dnd != null && that.conf.dnd.id != null) { - - var dnd = that.conf.dnd; - var w = that.w[dnd.id]; - - if (dnd.newX != null) { - if (dnd.mode == "tr") { - that._winSetPosition(dnd.id, dnd.newX, dnd.newY); - w.win.style[dnd.tr] = "translate(0px,0px)"; - if (w.fr_m_cover != null) w.fr_m_cover.style[dnd.tr] = w.win.style[dnd.tr]; - } - } - if (dnd.css == true) { - if (dnd.css_touch == false) w.win.className = String(w.win.className).replace(/\s{0,}dhxwin_dnd/gi,""); - w.fr_cover.className = String(w.fr_cover.className).replace(/\s{0,}dhxwin_fr_cover_dnd/gi,""); - } - if (dnd.css_touch == true) { - w.win.className = String(w.win.className).replace(/\s{0,}dhxwin_dnd_touch/gi,""); - } - if (dnd.css_vp == true) { - that.vp.className = String(that.vp.className).replace(/\s{0,}dhxwins_vp_dnd/gi,""); - } - - if (dnd.moved == true) { - that._callMainEvent("onMoveFinish", dnd.id); - } else { - that._callMainEvent("onMoveCancel", dnd.id); - } - - w = dnd = that.conf.dnd = null; - - } - - if (window.dhx4.dnd.p_en == true && e.type == window.dhx4.dnd.evs.end) { - window.dhx4.dnd._touchOn(); - window.removeEventListener(window.dhx4.dnd.evs.end, that._dndOnMouseUp, false); - window.removeEventListener(window.dhx4.dnd.evs.move, that._dndOnMouseMove, false); - if (that.conf.dnd_tm != null) window.clearTimeout(that.conf.dnd_tm); - that.conf.dnd_tm = null; - } - } - - this._dndOnSelectStart = function(e) { - e = e||event; - if (e.preventDefault) e.preventDefault(); else e.returnValue = false; - return false; - } - - this._dndInitEvents = function() { - if (typeof(window.addEventListener) == "function") { - window.addEventListener("mousemove", this._dndOnMouseMove, false); - window.addEventListener("mouseup", this._dndOnMouseUp, false); - window.addEventListener("selectstart", this._dndOnSelectStart, false); - } else { - document.body.attachEvent("onmousemove", this._dndOnMouseMove); - document.body.attachEvent("onmouseup", this._dndOnMouseUp); - document.body.attachEvent("onselectstart", this._dndOnSelectStart); - } - } - - this._dndUnloadEvents = function() { - if (typeof(window.addEventListener) == "function") { - window.removeEventListener("mousemove", this._dndOnMouseMove, false); - window.removeEventListener("mouseup", this._dndOnMouseUp, false); - window.removeEventListener("selectstart", this._dndOnSelectStart, false); - } else { - document.body.detachEvent("onmousemove", this._dndOnMouseMove); - document.body.detachEvent("onmouseup", this._dndOnMouseUp); - document.body.detachEvent("onselectstart", this._dndOnSelectStart); - } - } - - this._dndUnloadModule = function() { - - this.detachEvent(this.conf.dnd_evid); - this.conf.dnd_evid = null; - - this._dndOnMouseDown = null; - this._dndOnMouseMove = null; - this._dndOnMouseUp = null; - this._dndOnSelectStart = null; - this._dndInitEvents = null; - this._dndUnloadEvents = null; - this._dndInitModule = null; - this._dndUnloadModule = null; - - that = null; - } - - this._dndPos = function(ev, type) { - var pos = ev[this.conf.dnd_ev_prefix+type]; - if ((pos == null || pos == 0) && ev.touches != null) pos = ev.touches[0][this.conf.dnd_ev_prefix+type]; - return pos; - } - - this.conf.dnd_evid = this.attachEvent("_winMouseDown", function(e, data){ - - if (this.w[data.id] == null || this.w[data.id].conf.allow_move != true) return; - - if (typeof(e.button) != "undefined" && e.button >= 2) return; - - if (e.type == window.dhx4.dnd.evs.start) { - - if (data.mode == "hdr") { - - if (this.w[data.id].conf.maxed && this.w[data.id].conf.max_w == null && this.w[data.id].conf.max_h == null) return; - - this.conf.dnd_ev_prefix = "page"; - this.conf.dnd = { - x: this._dndPos(e,"X"), - y: this._dndPos(e,"Y") - }; - - if (this.conf.dnd_time < 1) { - this._dndOnMouseDown(e, data.id); - } else { - if (this.conf.dnd_tm != null) window.clearTimeout(this.conf.dnd_tm); - this.conf.dnd_tm = window.setTimeout(function(){that._dndOnMouseDown(e,data.id);}, this.conf.dnd_time); - } - - if (window.dhx4.dnd.p_en == true) { - window.dhx4.dnd._touchOff(); - window.addEventListener(window.dhx4.dnd.evs.end, this._dndOnMouseUp, false); - } - - window.addEventListener(window.dhx4.dnd.evs.move, this._dndOnMouseMove, false); - - } - - return false; - } - - if (e.type == window.dhx4.dnd.evs.end) { - - if (this.conf.dnd_tm != null) { - window.clearTimeout(this.conf.dnd_tm); - this.conf.dnd_tm = null; - } - - this._dndOnMouseUp(e); - window.removeEventListener(window.dhx4.dnd.evs.move, this._dndOnMouseMove, false); - - return false; - } - - this.conf.dnd_ev_prefix = "client"; - if (!(data.mode == "hdr" && e.type == "mousedown")) return; - if (this.w[data.id].conf.maxed && this.w[data.id].conf.max_w == null && this.w[data.id].conf.max_h == null) return; - - if (e.preventDefault) e.preventDefault(); else e.returnValue = false; - this._dndOnMouseDown(e, data.id); - return false; - - }); - -}; - diff --git a/themes/sources/dhtmlxWindows/codebase/ext/dhtmlxwindows_menu.js b/themes/sources/dhtmlxWindows/codebase/ext/dhtmlxwindows_menu.js deleted file mode 100644 index c5879b5..0000000 --- a/themes/sources/dhtmlxWindows/codebase/ext/dhtmlxwindows_menu.js +++ /dev/null @@ -1,229 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -// global context menu -dhtmlXWindows.prototype.attachContextMenu = function(conf) { - return this._renderContextMenu("icon", null, null, conf); -}; -dhtmlXWindows.prototype.getContextMenu = function() { - if (this.cm != null && this.cm.global != null) return this.cm.global; - return null; -}; -dhtmlXWindows.prototype.detachContextMenu = function() { - this._detachContextMenu("icon", null, null); -}; - -// custom menu -dhtmlXWindowsCell.prototype.attachContextMenu = function(conf) { - return this.wins._renderContextMenu("icon", this._idd, null, conf); -}; -dhtmlXWindowsCell.prototype.getContextMenu = function() { - if (this.wins.cm != null && this.wins.cm.icon[this._idd] != null) return this.wins.cm.icon[this._idd]; - return null; -}; -dhtmlXWindowsCell.prototype.detachContextMenu = function() { - this.wins._detachContextMenu("icon", this._idd, null); -}; - -// menu for button -dhtmlXWindowsButton.prototype.attachContextMenu = function(conf) { - return this.conf.wins._renderContextMenu("button", this.conf.winId, this.conf.name, conf); -}; -dhtmlXWindowsButton.prototype.getContextMenu = function() { - if (this.conf.wins.cm == null || this.conf.wins.cm.button[this.conf.winId] == null) return null; - if (this.conf.wins.cm.button[this.conf.winId][this.conf.name] != null) return this.conf.wins.cm.button[this.conf.winId][this.conf.name]; - return null; -}; -dhtmlXWindowsButton.prototype.detachContextMenu = function() { - this.conf.wins._detachContextMenu("button", this.conf.winId, this.conf.name); -}; - -dhtmlXWindows.prototype._renderContextMenu = function(mode, wId, bId, conf) { - - var that = this; - var firstInit = false; - - if (this.cm == null) { - this.cm = { - global: null, // global context menu for icon - icon: {}, // custom for icon, {winId:menuInst, winId2:menuInst2} - button: {} // custom foc button, {winId:{buttonId:menuInst, buttonId2:menuInst2}, winId2:{..}} - }; - firstInit = true; - } - - // check if already attached - if (wId == null) { - if (this.cm.global != null) return; - } else if (mode == "icon") { - if (this.cm.icon[wId] != null) return; - } else if (mode == "button") { - if (this.cm.button[wId] != null && this.cm.button[wId][bId] != null) return; - } - - - // init - if (conf == null) conf = {}; - conf.parent = null; - conf.context = true; - - var menu = new dhtmlXMenuObject(conf); - menu.setAutoHideMode(false); - - menu.attachEvent("onShow", function() { - this.conf.wins_menu_open = true; - }); - - menu.attachEvent("onHide", function() { - this.conf.wins_menu_open = false; - that.conf.opened_menu = null; - }); - - if (wId == null) { - this.cm.global = menu; - } else if (mode == "icon") { - this.cm.icon[wId] = menu; - } else if (mode == "button") { - if (this.cm.button[wId] == null) this.cm.button[wId] = {}; - this.cm.button[wId][bId] = menu; - } - - if (firstInit) { - - this._showContextMenu = function(e, data) { - - if (e.button >= 2) return; - - if (data.mode == "icon" && data.id != null && data.press_type == "mousedown") { - - var menu = this.cm.icon[data.id]||this.cm.global; - if (menu == null) return; - - e.cancelBubble = true; - - var icon = this.w[data.id].hdr.firstChild; - - if (menu.conf.wins_menu_open && this.conf.opened_menu == data.id) { - menu.hideContextMenu(); - } else { - this._hideContextMenu(); - menu.showContextMenu(window.dhx4.absLeft(icon), window.dhx4.absTop(icon)+icon.offsetHeight); - this.conf.opened_menu = data.id; - } - menu = icon = null; - - } - - if (data.mode == "button" && data.id != null && data.press_type == "mousedown") { - - if (this.cm.button[data.id] == null || this.cm.button[data.id][data.button_name] == null) return; - - e.cancelBubble = true; - - this.conf.button_last = null; // cancel button click - - var menu = this.cm.button[data.id][data.button_name]; - var button = this.w[data.id].b[data.button_name].button; - - if (menu.conf.wins_menu_open && this.conf.opened_menu == data.id) { - menu.hideContextMenu(); - } else { - this._hideContextMenu(); - menu.showContextMenu(window.dhx4.absLeft(button), window.dhx4.absTop(button)+button.offsetHeight); - this.conf.opened_menu = data.id; - } - menu = button = null; - - } - - } - - this._hideContextMenu = function(e) { - - if (e != null) { - e = e||event; - if (e.type == "keydown" && e.keyCode != 27) return; - - var t = e.target||e.srcElement; - var m = true; - while (t != null && m == true) { - if (t.className != null && t.className.search(/SubLevelArea_Polygon/) >= 0) { - m = false; - } else { - t = t.parentNode; - } - } - } - - if (m || e == null) { - if (that.cm.global != null) that.cm.global.hideContextMenu(); - for (var a in that.cm.icon) { - if (that.cm.icon[a] != null) that.cm.icon[a].hideContextMenu(); - } - for (var a in that.cm.button) { - for (var b in that.cm.button[a]) { - if (that.cm.button[a][b] != null) that.cm.button[a][b].hideContextMenu(); - } - } - } - - } - - this._detachContextMenu = function(mode, wId, bId) { - if (this.cm == null) return; - if (wId == null) { - if (this.cm.global != null) { - this.cm.global.unload(); - this.cm.global = null; - } - } else if (mode == "icon") { - if (this.cm.icon[wId] != null) { - this.cm.icon[wId].unload(); - this.cm.icon[wId] = null; - } - } else if (mode == "button") { - if (this.cm.button[wId] != null && this.cm.button[wId][bId] != null) { - this.cm.button[wId][bId].unload(); - this.cm.button[wId][bId] = null; - } - } - - } - - this.attachEvent("_winMouseDown", this._showContextMenu); - - if (typeof(window.addEventListener) == "function") { - window.addEventListener("mousedown", this._hideContextMenu, false); - window.addEventListener("keydown", this._hideContextMenu, false); - } else { - document.body.attachEvent("onmousedown", this._hideContextMenu); - document.body.attachEvent("onkeydown", this._hideContextMenu); - } - - this._unloadContextMenu = function() { - - // remove only global menu if any, other will removed from win/button unload - this._detachContextMenu("icon", null, null); - this.cm = null; - - if (typeof(window.addEventListener) == "function") { - window.removeEventListener("mousedown", this._hideContextMenu, false); - window.removeEventListener("keydown", this._hideContextMenu, false); - } else { - document.body.detachEvent("onmousedown", this._hideContextMenu); - document.body.detachEvent("onkeydown", this._hideContextMenu); - } - - that = null; - } - - } - - return menu; -}; - diff --git a/themes/sources/dhtmlxWindows/codebase/ext/dhtmlxwindows_resize.js b/themes/sources/dhtmlxWindows/codebase/ext/dhtmlxwindows_resize.js deleted file mode 100644 index ce00df9..0000000 --- a/themes/sources/dhtmlxWindows/codebase/ext/dhtmlxwindows_resize.js +++ /dev/null @@ -1,343 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -dhtmlXWindowsCell.prototype._initResize = function() { - - var that = this; - var n = navigator.userAgent; - - this.conf.resize = { - b_width: 6, - c_type: (n.indexOf("MSIE 10.0")>0||n.indexOf("MSIE 9.0")>0||n.indexOf("MSIE 8.0")>0||n.indexOf("MSIE 7.0")>0||n.indexOf("MSIE 6.0")>0), - btn_left: ((window.dhx4.isIE6||window.dhx4.isIE7||window.dhx4.isIE8) && typeof(window.addEventListener) == "undefined" ? 1:0) - }; - - this._rOnCellMouseMove = function(e) { - - if (that.wins.conf.resize_actv == true || that.wins.w[that._idd].conf.allow_resize == false || that.conf.progress == true || that.wins.w[that._idd].conf.maxed == true || that.wins.w[that._idd].conf.fs_mode == true) { - var k = that.wins.w[that._idd].brd; - if (k.style.cursor != "default") k.style.cursor = "default"; - k = null; - return; - } - - - e = e||event; - - var cont = that.wins.w[that._idd].brd; - var r = that.conf.resize; - - var no_header = (that.wins.w[that._idd].conf.header==false); - - var x = e.clientX; - var y = e.clientY; - - // body/html scrolls - x += (document.documentElement.scrollLeft||document.body.scrollLeft||0); - y += (document.documentElement.scrollTop||document.body.scrollTop||0); - - var x0 = window.dhx4.absLeft(cont); - var y0 = window.dhx4.absTop(cont); - - var mode = ""; - if (x <= x0+r.b_width) { // left - mode = "w"; - } else if (x >= x0+cont.offsetWidth-r.b_width) { // right - mode = "e"; - } - if (y >= y0+cont.offsetHeight-r.b_width) { // bottom - mode = "s"+mode; - } else if (no_header && y <= y0+r.b_width) { // top (only for no_header mode) - mode = "n"+mode; - } - - if (mode == "") mode = false; - if (r.mode != mode) { - r.mode = mode; - if (mode == false) { - cont.style.cursor = "default"; - } else { - cont.style.cursor = mode+"-resize"; - } - } - - cont = r = null; - }; - - this._rOnCellMouseDown = function(e) { - - e = e||event; - if (typeof(e.button) != "undefined" && e.button != that.conf.resize.btn_left) return; - - if (that.conf.resize.mode == false) return; - if (that.conf.progress == true) return; // if progress is on - deny - if (that.wins.w[that._idd].conf.allow_resize == false) return; - if (that.wins.w[that._idd].conf.fs_mode == true) return; // fullscreened window - - if (e.preventDefault) e.preventDefault(); else e.returnValue = false; - - if (that.wins._callMainEvent("onBeforeResizeStart", that._idd) !== true) return; - - var w = that.wins.w[that._idd]; - var r = that.conf.resize; - - that.wins.conf.resize_actv = true; - - r.min_w = w.conf.min_w; - r.min_h = w.conf.min_h; - r.max_w = w.conf.max_w||+Infinity; - r.max_h = w.conf.max_h||+Infinity; - - // if layout attached - check custom min w/h - if (w.cell.dataType == "layout" && w.cell.dataObj != null && typeof(w.cell.dataObj._getWindowMinDimension) == "function") { - var t = w.cell.dataObj._getWindowMinDimension(w.cell); - r.min_w = Math.max(t.w, r.min_w); - r.min_h = Math.max(t.h, r.min_h); - } - - r.vp_l = that.wins.conf.vp_pos_ofs; - r.vp_r = that.wins.vp.clientWidth-that.wins.conf.vp_pos_ofs; - r.vp_b = that.wins.vp.clientHeight-that.wins.conf.vp_pos_ofs; - - r.x = e.clientX; - r.y = e.clientY; - - // start resize - if (typeof(window.addEventListener) == "function") { - window.addEventListener("mousemove", that._rOnWinMouseMove, false); - window.addEventListener("mouseup", that._rOnWinMouseUp, false); - window.addEventListener("selectstart", that._rOnSelectStart, false); - } else { - document.body.attachEvent("onmousemove", that._rOnWinMouseMove); - document.body.attachEvent("onmouseup", that._rOnWinMouseUp); - document.body.attachEvent("onselectstart", that._rOnSelectStart); - } - - r.resized = false; - - r.vp_cursor = that.wins.vp.style.cursor; - that.wins.vp.style.cursor = r.mode+"-resize"; - - w = r = null; - }; - - this._rOnCellContextMenu = function(e) { - e = e||event; - if (e.preventDefault) e.preventDefault(); else e.returnValue = false; - return false; - }; - - this._rOnWinMouseMove = function(e) { - - // resize in progress - e = e||event; - - var w = that.wins.w[that._idd]; - var r = that.conf.resize; - - if (!r.resized) { - w.fr_cover.className += " dhxwin_fr_cover_resize"; - r.resized = true; - } - - var x = e.clientX-r.x; - var y = e.clientY-r.y; - - if (r.mode.indexOf("e") >= 0) { // right win side dragged - - r.rw = Math.min(Math.max(w.conf.w+x, r.min_w), r.max_w); - r.rx = null; - - if (w.conf.x+r.rw < r.vp_l) { // check overflow to left - r.rw = r.vp_l-w.conf.x; - } else if (w.conf.x+r.rw > that.wins.vp.clientWidth) { // and right - r.rw = that.wins.vp.clientWidth-w.conf.x; - } - - } else if (r.mode.indexOf("w") >= 0) { // left win side dragged - - r.rw = Math.min(Math.max(w.conf.w-x,r.min_w),r.max_w); - r.rx = w.conf.x+w.conf.w-r.rw; - - if (r.rx < 0) { // check overflow to left - r.rw = r.rw+r.rx; - r.rx = 0; - } else if (r.rx > r.vp_r) { // and right - r.rw = r.rw-r.vp_r; - r.rx = r.vp_r; - } - - } - - if (r.mode.indexOf("s") >= 0) { // bottom win side (can be together with left or right) - - r.rh = Math.min(Math.max(w.conf.h+y, r.min_h),r.max_h); - r.ry = null; - - if (w.conf.y+r.rh > that.wins.vp.clientHeight) { // bottom overflow - r.rh = that.wins.vp.clientHeight-w.conf.y; - } - - } else if (r.mode.indexOf("n") >= 0) { // top win side (can be together with left or right) (only for no_header mode) - - r.rh = Math.min(Math.max(w.conf.h-y, r.min_h),r.max_h); - r.ry = w.conf.y+w.conf.h-r.rh; - - if (r.ry < 0) { // top overflow - r.rh = r.rh+r.ry; - r.ry = 0; - } else if (r.ry > r.vp_b) { // and bottom - r.rh = r.rh-r.vp_b; - r.ry = r.vp_b; - } - } - - that._rAdjustSizer(); - - w = r = null; - } - this._rOnWinMouseUp = function() { - - // stop resize - - var r = that.conf.resize; - var w = that.wins.w[that._idd]; - - that.wins.conf.resize_actv = false; - that.wins.vp.style.cursor = r.vp_cursor; - - w.fr_cover.className = String(w.fr_cover.className).replace(/\s{0,}dhxwin_fr_cover_resize/gi,""); - - if (r.resized) { - that.wins._winSetSize(that._idd, r.rw, r.rh); - if (r.rx == null) r.rx = w.conf.x; - if (r.ry == null) r.ry = w.conf.y; - if (r.rx != w.conf.x || r.ry != w.conf.y) that.wins._winSetPosition(that._idd, r.rx, r.ry); - } - - if (r.obj != null) { - r.obj.parentNode.removeChild(r.obj); - r.obj = null; - } - if (r.objFR != null) { - r.objFR.parentNode.removeChild(r.objFR); - r.objFR = null; - } - - if (typeof(window.addEventListener) == "function") { - window.removeEventListener("mousemove", that._rOnWinMouseMove, false); - window.removeEventListener("mouseup", that._rOnWinMouseUp, false); - window.removeEventListener("selectstart", that._rOnSelectStart, false); - } else { - document.body.detachEvent("onmousemove", that._rOnWinMouseMove); - document.body.detachEvent("onmouseup", that._rOnWinMouseUp); - document.body.detachEvent("onselectstart", that._rOnSelectStart); - } - - if (r.resized == true) { - if (that.dataType == "layout" && that.dataObj != null) that.dataObj.callEvent("onResize",[]); // deprecated, 3.6 compat - that.wins._callMainEvent("onResizeFinish", that._idd); - } else { - that.wins._callMainEvent("onResizeCancel", that._idd); - } - - r.mode = ""; - - w = r = null; - } - - this._rOnSelectStart = function(e) { - e = e||event; - if (e.preventDefault) e.preventDefault(); else e.returnValue = false; - return false; - } - - this._rInitSizer = function() { - - var r = that.conf.resize; - var w = that.wins.w[that._idd]; - - r.obj = document.createElement("DIV"); - r.obj.className = "dhxwin_resize"; - r.obj.style.zIndex = w.win.style.zIndex; - r.obj.style.cursor = r.mode+"-resize"; - that.wins.vp.appendChild(r.obj); - - if (that.wins.conf.fr_cover == true) { - r.objFR = document.createElement("IFRAME"); - r.objFR.className = "dhxwin_resize_fr_cover"; - r.objFR.style.zIndex = r.obj.style.zIndex; - that.wins.vp.insertBefore(r.objFR, r.obj); - } - - r.rx = w.conf.x; - r.ry = w.conf.y; - r.rw = w.conf.w; - r.rh = w.conf.h; - r = null; - } - - this._rAdjustSizer = function() { - var r = that.conf.resize; - if (!r.obj) this._rInitSizer(); - // dim - r.obj.style.width = r.rw+"px"; - r.obj.style.height = r.rh+"px"; - - // pos, optional - if (r.rx != null) r.obj.style.left = r.rx+"px"; - if (r.ry != null) r.obj.style.top = r.ry+"px"; - - if (r.objFR != null) { - r.objFR.style.width = r.obj.style.width; - r.objFR.style.height = r.obj.style.height; - if (r.rx != null) r.objFR.style.left = r.obj.style.left; - if (r.ry != null) r.objFR.style.top = r.obj.style.top; - } - - r = null; - } - - if (typeof(window.addEventListener) == "function") { - this.wins.w[this._idd].brd.addEventListener("mousemove", this._rOnCellMouseMove, false); - this.wins.w[this._idd].brd.addEventListener("mousedown", this._rOnCellMouseDown, false); - this.wins.w[this._idd].brd.addEventListener("contextmenu", this._rOnCellContextMenu, false); - } else { - this.wins.w[this._idd].brd.attachEvent("onmousemove", this._rOnCellMouseMove); - this.wins.w[this._idd].brd.attachEvent("onmousedown", this._rOnCellMouseDown); - this.wins.w[this._idd].brd.attachEvent("oncontextmenu", this._rOnCellContextMenu); - } - - this._unloadResize = function() { - - if (typeof(window.addEventListener) == "function") { - this.wins.w[this._idd].brd.removeEventListener("mousemove", this._rOnCellMouseMove, false); - this.wins.w[this._idd].brd.removeEventListener("mousedown", this._rOnCellMouseDown, false); - this.wins.w[this._idd].brd.removeEventListener("contextmenu", this._rOnCellContextMenu, false); - } else { - this.wins.w[this._idd].brd.detachEvent("onmousemove", this._rOnCellMouseMove); - this.wins.w[this._idd].brd.detachEvent("onmousedown", this._rOnCellMouseDown); - this.wins.w[this._idd].brd.detachEvent("oncontextmenu", this._rOnCellContextMenu); - } - - this._initResize = null; - this._rOnCellMouseMove = null; - this._rOnCellMouseDown = null; - this._rOnWinMouseMove = null; - this._rOnWinMouseUp = null; - this._rOnSelectStart = null; - this._rInitSizer = null; - this._rAdjustSizer = null; - this._unloadResize = null; - - this.conf.resize = null; - that = null; - }; - -}; - diff --git a/themes/sources/dhtmlxWindows/codebase/imgs/dhxwins_material/dhxwins_buttons.png b/themes/sources/dhtmlxWindows/codebase/imgs/dhxwins_material/dhxwins_buttons.png deleted file mode 100644 index 171fcd8..0000000 Binary files a/themes/sources/dhtmlxWindows/codebase/imgs/dhxwins_material/dhxwins_buttons.png and /dev/null differ diff --git a/themes/sources/dhtmlxWindows/codebase/imgs/dhxwins_material/dhxwins_icon.gif b/themes/sources/dhtmlxWindows/codebase/imgs/dhxwins_material/dhxwins_icon.gif deleted file mode 100644 index 3dbe25d..0000000 Binary files a/themes/sources/dhtmlxWindows/codebase/imgs/dhxwins_material/dhxwins_icon.gif and /dev/null differ diff --git a/themes/sources/dhtmlxWindows/codebase/imgs/dhxwins_material/dhxwins_progress.gif b/themes/sources/dhtmlxWindows/codebase/imgs/dhxwins_material/dhxwins_progress.gif deleted file mode 100644 index ff9a5e6..0000000 Binary files a/themes/sources/dhtmlxWindows/codebase/imgs/dhxwins_material/dhxwins_progress.gif and /dev/null differ diff --git a/themes/sources/dhtmlxWindows/codebase/imgs/dhxwins_skyblue/dhxwins_buttons.gif b/themes/sources/dhtmlxWindows/codebase/imgs/dhxwins_skyblue/dhxwins_buttons.gif deleted file mode 100644 index 625a0e7..0000000 Binary files a/themes/sources/dhtmlxWindows/codebase/imgs/dhxwins_skyblue/dhxwins_buttons.gif and /dev/null differ diff --git a/themes/sources/dhtmlxWindows/codebase/imgs/dhxwins_skyblue/dhxwins_icon.gif b/themes/sources/dhtmlxWindows/codebase/imgs/dhxwins_skyblue/dhxwins_icon.gif deleted file mode 100644 index e9427ac..0000000 Binary files a/themes/sources/dhtmlxWindows/codebase/imgs/dhxwins_skyblue/dhxwins_icon.gif and /dev/null differ diff --git a/themes/sources/dhtmlxWindows/codebase/imgs/dhxwins_skyblue/dhxwins_progress.gif b/themes/sources/dhtmlxWindows/codebase/imgs/dhxwins_skyblue/dhxwins_progress.gif deleted file mode 100644 index 1df5c43..0000000 Binary files a/themes/sources/dhtmlxWindows/codebase/imgs/dhxwins_skyblue/dhxwins_progress.gif and /dev/null differ diff --git a/themes/sources/dhtmlxWindows/codebase/imgs/dhxwins_terrace/dhxwins_buttons.gif b/themes/sources/dhtmlxWindows/codebase/imgs/dhxwins_terrace/dhxwins_buttons.gif deleted file mode 100644 index 044c644..0000000 Binary files a/themes/sources/dhtmlxWindows/codebase/imgs/dhxwins_terrace/dhxwins_buttons.gif and /dev/null differ diff --git a/themes/sources/dhtmlxWindows/codebase/imgs/dhxwins_terrace/dhxwins_icon.gif b/themes/sources/dhtmlxWindows/codebase/imgs/dhxwins_terrace/dhxwins_icon.gif deleted file mode 100644 index 57ab8d7..0000000 Binary files a/themes/sources/dhtmlxWindows/codebase/imgs/dhxwins_terrace/dhxwins_icon.gif and /dev/null differ diff --git a/themes/sources/dhtmlxWindows/codebase/imgs/dhxwins_terrace/dhxwins_progress.gif b/themes/sources/dhtmlxWindows/codebase/imgs/dhxwins_terrace/dhxwins_progress.gif deleted file mode 100644 index 7c30859..0000000 Binary files a/themes/sources/dhtmlxWindows/codebase/imgs/dhxwins_terrace/dhxwins_progress.gif and /dev/null differ diff --git a/themes/sources/dhtmlxWindows/codebase/imgs/dhxwins_web/dhxwins_buttons.gif b/themes/sources/dhtmlxWindows/codebase/imgs/dhxwins_web/dhxwins_buttons.gif deleted file mode 100644 index 540cc5c..0000000 Binary files a/themes/sources/dhtmlxWindows/codebase/imgs/dhxwins_web/dhxwins_buttons.gif and /dev/null differ diff --git a/themes/sources/dhtmlxWindows/codebase/imgs/dhxwins_web/dhxwins_icon.gif b/themes/sources/dhtmlxWindows/codebase/imgs/dhxwins_web/dhxwins_icon.gif deleted file mode 100644 index 3dbe25d..0000000 Binary files a/themes/sources/dhtmlxWindows/codebase/imgs/dhxwins_web/dhxwins_icon.gif and /dev/null differ diff --git a/themes/sources/dhtmlxWindows/codebase/imgs/dhxwins_web/dhxwins_progress.gif b/themes/sources/dhtmlxWindows/codebase/imgs/dhxwins_web/dhxwins_progress.gif deleted file mode 100644 index ff9a5e6..0000000 Binary files a/themes/sources/dhtmlxWindows/codebase/imgs/dhxwins_web/dhxwins_progress.gif and /dev/null differ diff --git a/themes/sources/dhtmlxWindows/codebase/skins/dhtmlxwindows_dhx_skyblue.css b/themes/sources/dhtmlxWindows/codebase/skins/dhtmlxwindows_dhx_skyblue.css deleted file mode 100644 index a0c4114..0000000 --- a/themes/sources/dhtmlxWindows/codebase/skins/dhtmlxwindows_dhx_skyblue.css +++ /dev/null @@ -1,473 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: dhx_skyblue - include extra file: skins/dhx_skyblue.less -*/ - -.dhxwins_vp_dhx_skyblue { - overflow: hidden; - position: relative; - cursor: default; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_active { - position: absolute; - overflow: hidden; - border: 1px solid #a4bed4; - box-shadow: 0 0 3px #cecece; - border-radius: 3px; - background: white; - cursor: inherit; - -webkit-tap-highlight-color: rgba(0,0,0,0); -} -.dhxwins_vp_dhx_skyblue div.dhxwin_inactive { - position: absolute; - overflow: hidden; - border: 1px solid #c1d1de; - box-shadow: 0 0 3px #dedede; - border-radius: 3px; - background: white; - cursor: inherit; - -webkit-tap-highlight-color: rgba(0,0,0,0); -} -.dhxwins_vp_dhx_skyblue div.dhxwin_brd { - position: absolute; - border-left: 5px solid #d3e6fe; - border-right: 5px solid #d3e6fe; - border-bottom: 5px solid #d3e6fe; - border-bottom-left-radius: 2px; - border-bottom-right-radius: 2px; - background: white; - z-index: 0; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_brd.dhxwin_hdr_hidden { - border-top: 5px solid #d3e6fe; - border-top-left-radius: 2px; - border-top-right-radius: 2px; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhxwin_brd { - opacity: 0.8; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=80); -} -.dhxwins_vp_dhx_skyblue div.dhxwin_fr_cover { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - overflow: hidden; - background-color: white; - z-index: 1; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxwins_vp_dhx_skyblue div.dhxwin_fr_cover .dhxwin_fr_cover_inner { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: white; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhxwin_fr_cover { - display: none; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhxwin_fr_cover { - z-index: 4; - opacity: 0.5; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50); -} -.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhxwin_fr_cover.dhxwin_fr_cover_dnd, -.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhxwin_fr_cover.dhxwin_fr_cover_resize { - display: block; -} -.dhxwins_vp_dhx_skyblue iframe.dhxwin_main_fr_cover { - position: absolute; - background-color: white; - border-radius: 2px; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxwins_vp_dhx_skyblue div.dhxwin_hdr { - position: relative; - height: 30px; - line-height: 30px; - margin: 0px; - padding: 0px; - font-weight: bold; - border-top: 1px solid white; - border-left: 1px solid white; - border-right: 1px solid white; - border-top-left-radius: 2px; - border-top-right-radius: 2px; - background-color: #e5f0fd; - background: linear-gradient(#e5f0fd,#d3e6fe); - background: -webkit-linear-gradient(#e5f0fd,#d3e6fe); - filter: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e5f0fd,endColorStr=#d3e6fe) progid:DXImageTransform.Microsoft.Alpha(opacity=100); - font-family: Tahoma, Helvetica; - font-size: 11px; - color: #34404b; - cursor: inherit; - overflow: hidden; - z-index: 3; - -ms-touch-action: none; - touch-action: none; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhxwin_hdr { - color: #777; - opacity: 0.8; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=80); - filter: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e5f0fd,endColorStr=#d3e6fe); -} -.dhxwins_vp_dhx_skyblue div.dhxwin_hdr.dhxwin_hdr_parked { - border-bottom: 1px solid white; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_hdr.dhxwin_hdr_hidden { - visibility: hidden; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_icon { - position: absolute; - left: 7px; - top: 7px; - width: 18px; - height: 18px; - cursor: default; - overflow: hidden; - background-image: url("../imgs/dhxwins_skyblue/dhxwins_icon.gif"); - background-position: center center; - background-repeat: no-repeat; - cursor: inherit; - z-index: 2; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhxwin_hdr div.dhxwin_icon { - opacity: 0.6; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=60); -} -.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_text { - position: relative; - padding: 0px; - margin: 0px; - overflow: hidden; - white-space: nowrap; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - cursor: inherit; - z-index: 1; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_text div.dhxwin_text_inside { - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; - width: 100%; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_btns { - position: absolute; - right: 7px; - top: 6px; - height: 18px; - cursor: default; - overflow: hidden; - cursor: inherit; - z-index: 2; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhxwin_hdr div.dhxwin_btns { - opacity: 0.5; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50); -} -.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button, -.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis { - position: relative; - float: left; - width: 15px; - height: 15px; - margin-left: 1px; - margin-top: 2px; - border-radius: 2px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - background-image: url("../imgs/dhxwins_skyblue/dhxwins_buttons.gif"); - background-repeat: no-repeat; - background-position: 0px 0px; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button:hover { - background-color: white; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_close { - background-position: -15px 0px; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_close_dis { - background-position: -15px -15px; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_minmax { - background-position: -30px 0px; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_minmax_dis { - background-position: -30px -15px; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_minmaxed { - background-position: -45px 0px; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_minmaxed_dis { - background-position: -45px -15px; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_park { - background-position: -60px 0px; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_park_dis { - background-position: -60px -15px; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_stick { - background-position: -75px 0px; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_stick_dis { - background-position: -75px -15px; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_sticked { - background-position: -90px 0px; - background-color: #a4bed4 !important; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_sticked_dis { - background-position: -90px -15px; - background-color: #f0f0f0 !important; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_help { - background-position: -105px 0px; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_help_dis { - background-position: -105px -15px; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_dock { - background-position: -120px 0px; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_dock_dis { - background-position: -120px -15px; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_active.dhxwin_dnd_touch, -.dhxwins_vp_dhx_skyblue div.dhxwin_active.dhxwin_dnd { - box-shadow: 0 0 3px #cececf; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_active.dhxwin_dnd_touch { - border-color: #6c94b4; - box-shadow: 0 0 14px #a4b9cb; - -webkit-touch-callout: none; - -webkit-user-select: none; -} -.dhxwins_vp_dhx_skyblue.dhxwins_vp_dnd { - cursor: move !important; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_resize { - position: absolute; - background-color: #d3e6fe; - border-radius: 3px; - opacity: 0.5; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50); -} -.dhxwins_vp_dhx_skyblue iframe.dhxwin_resize_fr_cover { - position: absolute; - background-color: white; - border-radius: 3px; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxwins_vp_dhx_skyblue div.dhxwins_mcover { - position: absolute; - background-color: #e5f0fd; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - opacity: 0.53; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=53); -} -.dhxwins_vp_dhx_skyblue iframe.dhxwins_mcover { - position: absolute; - background-color: white; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins, -.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins { - position: absolute; - background-color: #ffffff; - margin: 0px; - padding: 0px; - overflow: hidden; - cursor: default; - visibility: visible; - z-index: 1; - opacity: 1; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100); -} -.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins.dhxwin_parked, -.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins.dhxwin_parked { - visibility: hidden; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhx_cell_cover, -.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_cover { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - margin: 0px; - padding: 0px; - font-size: 1px; - background-color: white; - overflow: hidden; - z-index: 1; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhx_cell_cont_wins, -.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_cont_wins { - position: absolute; - border: 1px solid #ffffff; - background-color: #ffffff; - overflow: hidden; - z-index: 0; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhx_cell_cont_wins.dhx_cell_cont_no_borders, -.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_cont_wins.dhx_cell_cont_no_borders { - border: 0px solid #ffffff !important; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhx_cell_menu_def, -.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_menu_def { - position: relative; - overflow: hidden; - border-bottom: 1px solid #d3e6fe; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhx_cell_menu_def div.dhtmlxMenu_dhx_skyblue_Middle, -.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_menu_def div.dhtmlxMenu_dhx_skyblue_Middle { - padding: 0px 2px; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhx_cell_toolbar_def, -.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_toolbar_def { - position: relative; - overflow: hidden; - padding: 1px 1px 0px 1px; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhx_cell_toolbar_def div.dhx_toolbar_dhx_skyblue, -.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_toolbar_def div.dhx_toolbar_dhx_skyblue { - position: relative; - border-top-width: 1px; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhx_cell_toolbar_no_borders div.dhx_toolbar_dhx_skyblue, -.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_toolbar_no_borders div.dhx_toolbar_dhx_skyblue { - position: relative; - border-top-width: 1px; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhx_cell_ribbon_def, -.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_ribbon_def { - padding: 1px 1px 0px 1px; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhtmlxribbon_dhx_skyblue.dhxrb_without_tabbar, -.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhtmlxribbon_dhx_skyblue.dhxrb_without_tabbar { - width: auto; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhx_cell_statusbar_def, -.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_statusbar_def { - position: absolute; - bottom: 0px; - width: 100%; - font-family: Tahoma, Helvetica; - font-size: 11px; - color: black; - background-color: #d3e6fe; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text, -.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - position: relative; - padding: 0px 4px; - height: 21px; - line-height: 21px; - white-space: nowrap; - overflow: hidden; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhx_cell_cont_wins.dhx_cell_statusbar_attached, -.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_cont_wins.dhx_cell_statusbar_attached { - border-radius: 0px; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhx_cell_progress_bar, -.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_progress_bar { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: #ffffff; - opacity: 0.75; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=75); - z-index: 1; -} -.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhx_cell_progress_img, -.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_progress_img { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-image: url("../imgs/dhxwins_skyblue/dhxwins_progress.gif"); - background-position: center center; - background-repeat: no-repeat; - z-index: 2; -} -.dhxwins_vp_auto { - overflow: auto !important; -} -.dhxwins_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 10px; - height: 10px; - overflow: hidden; -} -div.dhxwins_vp_dhx_skyblue.dhxwins_vp_fs { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - overflow: hidden; -} diff --git a/themes/sources/dhtmlxWindows/codebase/skins/dhtmlxwindows_dhx_terrace.css b/themes/sources/dhtmlxWindows/codebase/skins/dhtmlxwindows_dhx_terrace.css deleted file mode 100644 index 8c11104..0000000 --- a/themes/sources/dhtmlxWindows/codebase/skins/dhtmlxwindows_dhx_terrace.css +++ /dev/null @@ -1,436 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: dhx_terrace - include extra file: skins/dhx_terrace.less -*/ - -.dhxwins_vp_dhx_terrace { - overflow: hidden; - position: relative; - cursor: default; -} -.dhxwins_vp_auto { - overflow: auto !important; -} -.dhxwins_vp_dhx_terrace div.dhxwin_active { - position: absolute; - overflow: hidden; - border: 1px solid #cccccc; - box-shadow: 0px 0px 6px #a0a0a0; - border-radius: 3px; - background: #ffffff; - cursor: inherit; -} -.dhxwins_vp_dhx_terrace div.dhxwin_inactive { - position: absolute; - overflow: hidden; - border: 1px solid #cccccc; - box-shadow: 0px 0px 6px #c0c0c0; - border-radius: 3px; - background: #ffffff; - cursor: inherit; -} -.dhxwins_vp_dhx_terrace div.dhxwin_brd { - position: absolute; - border-left: 5px solid #ffffff; - border-right: 5px solid #ffffff; - border-bottom: 5px solid #ffffff; - background: #ffffff; - z-index: 0; -} -.dhxwins_vp_dhx_terrace div.dhxwin_brd.dhxwin_hdr_hidden { - border-top: 5px solid #ffffff; -} -.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhxwin_brd { - opacity: 0.6; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=60); -} -.dhxwins_vp_dhx_terrace div.dhxwin_fr_cover { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - overflow: hidden; - background-color: #ffffff; - z-index: 1; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxwins_vp_dhx_terrace div.dhxwin_fr_cover .dhxwin_fr_cover_inner { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: #ffffff; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhxwin_fr_cover { - display: none; -} -.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhxwin_fr_cover { - z-index: 4; - opacity: 0.5; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50); -} -.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhxwin_fr_cover.dhxwin_fr_cover_dnd, -.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhxwin_fr_cover.dhxwin_fr_cover_resize { - display: block; -} -.dhxwins_vp_dhx_terrace iframe.dhxwin_main_fr_cover { - position: absolute; - background-color: #ffffff; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxwins_vp_dhx_terrace div.dhxwin_hdr { - position: relative; - height: 36px; - line-height: 37px; - margin: 0px; - padding: 0px; - font-weight: normal; - border-bottom: 1px solid #cccccc; - background-color: #ffffff; - border-top-left-radius: 3px; - border-top-right-radius: 3px; - background-color: #f5f5f5; - font-family: Arial, Helvetica; - font-size: 13px; - color: #333333; - cursor: inherit; - overflow: hidden; - z-index: 3; - -ms-touch-action: none; - touch-action: none; -} -.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhxwin_hdr { - color: #404040; - opacity: 0.6; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=60); -} -.dhxwins_vp_dhx_terrace div.dhxwin_hdr.dhxwin_hdr_parked { - border-bottom-left-radius: 3px; - border-bottom-right-radius: 3px; -} -.dhxwins_vp_dhx_terrace div.dhxwin_hdr.dhxwin_hdr_hidden { - visibility: hidden; -} -.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_icon { - position: absolute; - left: 11px; - top: 10px; - width: 23px; - height: 18px; - cursor: default; - overflow: hidden; - background-image: url("../imgs/dhxwins_terrace/dhxwins_icon.gif"); - background-position: left center; - background-repeat: no-repeat; - cursor: inherit; - z-index: 2; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhxwin_hdr div.dhxwin_icon { - opacity: 0.6; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=60); -} -.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_text { - position: relative; - padding: 0px; - margin: 0px; - overflow: hidden; - white-space: nowrap; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - cursor: inherit; - z-index: 1; -} -.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_text div.dhxwin_text_inside { - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; - width: 100%; -} -.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns { - position: absolute; - right: 10px; - top: 10px; - height: 18px; - cursor: default; - overflow: hidden; - cursor: inherit; - z-index: 2; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhxwin_hdr div.dhxwin_btns { - opacity: 0.5; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50); -} -.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button, -.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis { - position: relative; - float: left; - width: 15px; - height: 15px; - margin-left: 2px; - margin-top: 2px; - border-radius: 2px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - background-image: url("../imgs/dhxwins_terrace/dhxwins_buttons.gif"); - background-repeat: no-repeat; - background-position: 0px 0px; -} -.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button:hover { - background-color: #ebebeb; -} -.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_close { - background-position: -15px 0px; -} -.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_close_dis { - background-position: -15px -15px; -} -.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_minmax { - background-position: -30px 0px; -} -.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_minmax_dis { - background-position: -30px -15px; -} -.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_minmaxed { - background-position: -45px 0px; -} -.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_minmaxed_dis { - background-position: -45px -15px; -} -.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_park { - background-position: -60px 0px; -} -.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_park_dis { - background-position: -60px -15px; -} -.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_stick { - background-position: -75px 0px; -} -.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_stick_dis { - background-position: -75px -15px; -} -.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_sticked { - background-position: -90px 0px; - z-index: 1; -} -.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_sticked_dis { - background-position: -90px -15px; -} -.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_help { - background-position: -105px 0px; -} -.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_help_dis { - background-position: -105px -15px; -} -.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_dock { - background-position: -120px 0px; -} -.dhxwins_vp_dhx_terrace div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_dock_dis { - background-position: -120px -15px; -} -.dhxwins_vp_dhx_terrace.dhxwins_vp_dnd { - cursor: move !important; -} -.dhxwins_vp_dhx_terrace div.dhxwin_resize { - position: absolute; - background-color: #9c9c9c; - opacity: 0.2; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=20); -} -.dhxwins_vp_dhx_terrace iframe.dhxwin_resize_fr_cover { - position: absolute; - background-color: #ffffff; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxwins_vp_dhx_terrace div.dhxwins_mcover { - position: absolute; - background-color: #ededed; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - opacity: 0.53; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=53); -} -.dhxwins_vp_dhx_terrace iframe.dhxwins_mcover { - position: absolute; - background-color: #ffffff; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins, -.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins { - position: absolute; - background-color: #ffffff; - margin: 0px; - padding: 0px; - overflow: hidden; - cursor: default; - visibility: visible; - z-index: 1; - opacity: 1; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100); -} -.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhx_cell_cover, -.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_cover { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - margin: 0px; - padding: 0px; - font-size: 1px; - background-color: white; - overflow: hidden; - z-index: 1; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhx_cell_cont_wins, -.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_cont_wins { - position: absolute; - border: 5px solid #ffffff; - border-top: 10px solid #ffffff; - background-color: #ffffff; - overflow: hidden; - z-index: 0; -} -.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhx_cell_cont_wins.dhx_cell_cont_no_borders, -.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_cont_wins.dhx_cell_cont_no_borders { - border: 0px solid #ffffff !important; -} -.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhx_cell_menu_def, -.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_menu_def { - position: relative; - overflow: hidden; - height: 42px; - margin: 10px 5px 0px 5px; -} -.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhx_cell_toolbar_def, -.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_toolbar_def { - position: relative; - overflow: hidden; - padding: 10px 5px 0px 5px; - border-width: 0px; -} -.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhx_cell_ribbon_def, -.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_ribbon_def { - padding-top: 4px; -} -.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhtmlxribbon_dhx_terrace.dhxrb_without_tabbar, -.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhtmlxribbon_dhx_terrace.dhxrb_without_tabbar { - border: 0px solid white; - width: auto; -} -.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhxrb_with_tabbar.dhxtabbar_base_dhx_terrace, -.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhxrb_with_tabbar.dhxtabbar_base_dhx_terrace { - margin-left: 4px; - margin-top: 4px; - margin-right: 4px; -} -.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhx_cell_statusbar_def, -.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_statusbar_def { - position: absolute; - bottom: 0px; - width: 100%; - font-family: Arial, Helvetica; - font-size: 13px; - color: #333333; -} -.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text, -.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - position: relative; - margin: 5px 5px 5px 5px; - padding: 5px 10px; - background-color: #f5f5f5; - white-space: nowrap; - overflow: hidden; -} -.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhx_cell_progress_bar, -.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_progress_bar { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: #ffffff; - opacity: 0.75; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=75); - z-index: 1; -} -.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhx_cell_progress_img, -.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_progress_img { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-image: url("../imgs/dhxwins_terrace/dhxwins_progress.gif"); - background-position: center center; - background-repeat: no-repeat; - z-index: 2; -} -.dhxwins_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 30px; - height: 10px; - overflow: hidden; -} -div.dhxwins_vp_dhx_terrace.dhxwins_vp_fs { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - overflow: hidden; -} diff --git a/themes/sources/dhtmlxWindows/codebase/skins/dhtmlxwindows_dhx_web.css b/themes/sources/dhtmlxWindows/codebase/skins/dhtmlxwindows_dhx_web.css deleted file mode 100644 index 4cddd68..0000000 --- a/themes/sources/dhtmlxWindows/codebase/skins/dhtmlxwindows_dhx_web.css +++ /dev/null @@ -1,423 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: dhx_web - include extra file: skins/dhx_web.less -*/ - -.dhxwins_vp_dhx_web { - overflow: hidden; - position: relative; - cursor: default; -} -.dhxwins_vp_auto { - overflow: auto !important; -} -.dhxwins_vp_dhx_web div.dhxwin_active { - position: absolute; - overflow: hidden; - border: 0px solid white; - box-shadow: 0px 0px 10px rgba(0,0,0,0.35); - background: white; - cursor: inherit; -} -.dhxwins_vp_dhx_web div.dhxwin_inactive { - position: absolute; - overflow: hidden; - border: 0px solid white; - box-shadow: 0px 0px 10px rgba(127,127,127,0.35); - background: white; - cursor: inherit; -} -.dhxwins_vp_dhx_web div.dhxwin_brd { - position: absolute; - border-left: 5px solid #3da0e3; - border-right: 5px solid #3da0e3; - border-bottom: 5px solid #3da0e3; - background: #ffffff; - z-index: 0; -} -.dhxwins_vp_dhx_web div.dhxwin_brd.dhxwin_hdr_hidden { - border-top: 5px solid #3da0e3; -} -.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhxwin_brd { - opacity: 0.6; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=60); -} -.dhxwins_vp_dhx_web div.dhxwin_fr_cover { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - overflow: hidden; - background-color: white; - z-index: 1; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxwins_vp_dhx_web div.dhxwin_fr_cover .dhxwin_fr_cover_inner { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: white; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxwins_vp_dhx_web div.dhxwin_active div.dhxwin_fr_cover { - display: none; -} -.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhxwin_fr_cover { - z-index: 4; - opacity: 0.5; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50); -} -.dhxwins_vp_dhx_web div.dhxwin_active div.dhxwin_fr_cover.dhxwin_fr_cover_dnd, -.dhxwins_vp_dhx_web div.dhxwin_active div.dhxwin_fr_cover.dhxwin_fr_cover_resize { - display: block; -} -.dhxwins_vp_dhx_web iframe.dhxwin_main_fr_cover { - position: absolute; - background-color: white; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxwins_vp_dhx_web div.dhxwin_hdr { - position: relative; - height: 27px; - line-height: 27px; - margin: 0px; - padding: 0px; - font-weight: normal; - border-top: 1px solid #ffffff; - border-left: 1px solid #ffffff; - border-right: 1px solid #ffffff; - background-color: #3da0e3; - font-family: Tahoma, Helvetica; - font-size: 12px; - color: #ffffff; - cursor: inherit; - overflow: hidden; - z-index: 3; - -ms-touch-action: none; - touch-action: none; -} -.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhxwin_hdr { - color: #bfbfbf; - opacity: 0.6; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=60); -} -.dhxwins_vp_dhx_web div.dhxwin_hdr.dhxwin_hdr_parked { - border-bottom: 1px solid #ffffff; -} -.dhxwins_vp_dhx_web div.dhxwin_hdr.dhxwin_hdr_hidden { - visibility: hidden; -} -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_icon { - position: absolute; - left: 7px; - top: 5px; - width: 18px; - height: 18px; - cursor: default; - overflow: hidden; - background-image: url("../imgs/dhxwins_web/dhxwins_icon.gif"); - background-position: center center; - background-repeat: no-repeat; - cursor: inherit; - z-index: 2; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhxwin_hdr div.dhxwin_icon { - opacity: 0.6; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=60); -} -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_text { - position: relative; - padding: 0px; - margin: 0px; - overflow: hidden; - white-space: nowrap; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - cursor: inherit; - z-index: 1; -} -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_text div.dhxwin_text_inside { - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; - width: 100%; -} -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns { - position: absolute; - right: 7px; - top: 4px; - height: 18px; - cursor: default; - overflow: hidden; - cursor: inherit; - z-index: 2; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhxwin_hdr div.dhxwin_btns { - opacity: 0.5; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50); -} -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button, -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis { - position: relative; - float: left; - width: 15px; - height: 15px; - margin-left: 2px; - margin-top: 3px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - background-image: url("../imgs/dhxwins_web/dhxwins_buttons.gif"); - background-repeat: no-repeat; - background-position: 0px 0px; -} -.dhxwins_vp_dhx_web div.dhxwin_active div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button:hover { - background-color: #2a8ed2; -} -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_close { - background-position: -15px 0px; -} -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_close_dis { - background-position: -15px -15px; -} -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_minmax { - background-position: -30px 0px; -} -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_minmax_dis { - background-position: -30px -15px; -} -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_minmaxed { - background-position: -45px 0px; -} -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_minmaxed_dis { - background-position: -45px -15px; -} -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_park { - background-position: -60px 0px; -} -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_park_dis { - background-position: -60px -15px; -} -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_stick { - background-position: -75px 0px; -} -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_stick_dis { - background-position: -75px -15px; -} -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_sticked { - background-position: -90px 0px; - z-index: 1; -} -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_sticked_dis { - background-position: -90px -15px; -} -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_help { - background-position: -105px 0px; -} -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_help_dis { - background-position: -105px -15px; -} -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_dock { - background-position: -120px 0px; -} -.dhxwins_vp_dhx_web div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_dock_dis { - background-position: -120px -15px; -} -.dhxwins_vp_dhx_web.dhxwins_vp_dnd { - cursor: move !important; -} -.dhxwins_vp_dhx_web div.dhxwin_resize { - position: absolute; - background-color: #3da0e3; - opacity: 0.2; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=20); -} -.dhxwins_vp_dhx_web iframe.dhxwin_resize_fr_cover { - position: absolute; - background-color: #ffffff; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxwins_vp_dhx_web div.dhxwins_mcover { - position: absolute; - background-color: white; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - opacity: 0.53; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=53); -} -.dhxwins_vp_dhx_web iframe.dhxwins_mcover { - position: absolute; - background-color: #ffffff; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxwins_vp_dhx_web div.dhxwin_active div.dhx_cell_wins, -.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhx_cell_wins { - position: absolute; - background-color: #ffffff; - margin: 0px; - padding: 0px; - overflow: hidden; - cursor: default; - visibility: visible; - z-index: 1; - opacity: 1; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100); -} -.dhxwins_vp_dhx_web div.dhxwin_active div.dhx_cell_wins div.dhx_cell_cover, -.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_cover { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - margin: 0px; - padding: 0px; - font-size: 1px; - background-color: white; - overflow: hidden; - z-index: 1; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxwins_vp_dhx_web div.dhxwin_active div.dhx_cell_wins div.dhx_cell_cont_wins, -.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_cont_wins { - position: absolute; - border: 9px solid #ffffff; - background-color: #ffffff; - overflow: hidden; - z-index: 0; -} -.dhxwins_vp_dhx_web div.dhxwin_active div.dhx_cell_wins div.dhx_cell_cont_wins.dhx_cell_cont_no_borders, -.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_cont_wins.dhx_cell_cont_no_borders { - border: 0px solid #ffffff !important; -} -.dhxwins_vp_dhx_web div.dhxwin_active div.dhx_cell_wins div.dhx_cell_menu_def, -.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_menu_def { - position: relative; - overflow: hidden; - padding: 9px 9px 0px 9px; -} -.dhxwins_vp_dhx_web div.dhxwin_active div.dhx_cell_wins div.dhx_cell_toolbar_def, -.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_toolbar_def { - position: relative; - overflow: hidden; - padding: 9px 9px 0px 9px; - border-width: 0px; -} -.dhxwins_vp_dhx_web div.dhxwin_active div.dhx_cell_wins div.dhx_cell_ribbon_def, -.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_ribbon_def { - padding: 9px 9px 0px 9px; -} -.dhxwins_vp_dhx_web div.dhxwin_active div.dhx_cell_wins div.dhtmlxribbon_dhx_web.dhxrb_without_tabbar, -.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhx_cell_wins div.dhtmlxribbon_dhx_web.dhxrb_without_tabbar { - border: 0px solid #ffffff; - margin-left: -4px; - margin-top: -4px; - width: auto; -} -.dhxwins_vp_dhx_web div.dhxwin_active div.dhx_cell_wins div.dhx_cell_statusbar_def, -.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_statusbar_def { - position: absolute; - bottom: 0px; - width: 100%; - font-family: Tahoma, Helvetica; - font-size: 12px; - color: #000000; -} -.dhxwins_vp_dhx_web div.dhxwin_active div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text, -.dhxwins_vp_dhx_web div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - position: relative; - margin: 0px 9px 9px 9px; - padding: 5px 12px; - background-color: #f4f4f4; - white-space: nowrap; - overflow: hidden; -} -.dhxwins_vp_dhx_web div.dhx_cell_wins div.dhx_cell_progress_bar { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: #ffffff; - z-index: 1; - opacity: 0.75; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=75); -} -.dhxwins_vp_dhx_web div.dhx_cell_wins div.dhx_cell_progress_img { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-image: url("../imgs/dhxwins_web/dhxwins_progress.gif"); - background-position: center center; - background-repeat: no-repeat; - z-index: 2; -} -.dhxwins_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 20px; - height: 10px; - overflow: hidden; -} -div.dhxwins_vp_dhx_web.dhxwins_vp_fs { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - overflow: hidden; -} diff --git a/themes/sources/dhtmlxWindows/codebase/skins/dhtmlxwindows_material.css b/themes/sources/dhtmlxWindows/codebase/skins/dhtmlxwindows_material.css deleted file mode 100644 index 942c428..0000000 --- a/themes/sources/dhtmlxWindows/codebase/skins/dhtmlxwindows_material.css +++ /dev/null @@ -1,537 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: material - include extra file: skins/material.less -*/ - -@keyframes dhx_loader_rotate { - 100% { - transform: rotate(360deg); - } -} -@keyframes dhx_loader_dash { - 0% { - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - } - 50% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -35px; - } - 100% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -124px; - } -} -.dhxwins_vp_material { - overflow: hidden; - position: relative; - cursor: default; -} -.dhxwins_vp_material div.dhxwin_active { - position: absolute; - overflow: hidden; - box-shadow: 0px 28px 80px -6px rgba(0,0,0,0.4); - background-color: #3399cc; - cursor: inherit; - -webkit-tap-highlight-color: rgba(0,0,0,0); -} -.dhxwins_vp_material div.dhxwin_active div.dhxwin_fr_cover { - display: none; -} -.dhxwins_vp_material div.dhxwin_active div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button:hover { - background-color: #3090c0; -} -.dhxwins_vp_material div.dhxwin_active.dhxwin_dnd_touch, -.dhxwins_vp_material div.dhxwin_active.dhxwin_dnd { - box-shadow: 0 0 8px rgba(125,125,125,0.4); - box-shadow: 0px 28px 80px -6px rgba(1,1,1,0.4); -} -.dhxwins_vp_material div.dhxwin_active.dhxwin_dnd_touch { - border-color: #6c94b4; - box-shadow: 0 0 14px #a4b9cb; - -webkit-touch-callout: none; - -webkit-user-select: none; -} -.dhxwins_vp_material div.dhxwin_inactive { - position: absolute; - overflow: hidden; - box-shadow: 0 0 8px rgba(127,127,127,0.4); - background-color: #70b8db; - cursor: inherit; - -webkit-tap-highlight-color: rgba(0,0,0,0); -} -.dhxwins_vp_material div.dhxwin_inactive div.dhxwin_brd { - border-color: #70b8db; - opacity: 0.8; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=80); -} -.dhxwins_vp_material div.dhxwin_inactive div.dhxwin_fr_cover { - z-index: 4; - opacity: 0.5; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50); -} -.dhxwins_vp_material div.dhxwin_inactive div.dhxwin_fr_cover.dhxwin_fr_cover_dnd, -.dhxwins_vp_material div.dhxwin_inactive div.dhxwin_fr_cover.dhxwin_fr_cover_resize { - display: block; -} -.dhxwins_vp_material div.dhxwin_inactive div.dhxwin_hdr { - color: #d9e7f3; - background-color: #70b8db; - opacity: 0.8; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=80); -} -.dhxwins_vp_material div.dhxwin_inactive div.dhxwin_hdr div.dhxwin_icon { - opacity: 0.6; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=60); -} -.dhxwins_vp_material div.dhxwin_inactive div.dhxwin_hdr div.dhxwin_btns { - opacity: 0.5; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50); -} -.dhxwins_vp_material div.dhxwin_brd { - position: absolute; - border-color: #3399cc; - border-style: solid; - border-width: 0px 2px 2px 2px; - background: white; - z-index: 0; -} -.dhxwins_vp_material div.dhxwin_brd.dhxwin_hdr_hidden { - border-top-width: 2px; -} -.dhxwins_vp_material div.dhxwin_fr_cover { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - overflow: hidden; - background-color: white; - z-index: 1; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxwins_vp_material div.dhxwin_fr_cover iframe.dhxwin_fr_cover_inner, -.dhxwins_vp_material div.dhxwin_fr_cover div.dhxwin_fr_cover_inner { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: white; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxwins_vp_material iframe.dhxwin_main_fr_cover { - position: absolute; - background-color: white; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxwins_vp_material div.dhxwin_hdr { - position: relative; - height: 48px; - line-height: 48px; - background-color: #3399cc; - margin: 0px; - padding: 0px; - font-family: Roboto, Arial, Helvetica; - font-size: 17px; - color: #ecf3f9; - cursor: inherit; - overflow: hidden; - z-index: 3; - -ms-touch-action: none; - touch-action: none; -} -.dhxwins_vp_material div.dhxwin_hdr.dhxwin_hdr_hidden { - visibility: hidden; -} -.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_icon { - position: absolute; - display: none; - left: 15px; - top: 15px; - width: 18px; - height: 18px; - cursor: default; - overflow: hidden; - background-image: url("../imgs/dhxwins_material/dhxwins_icon.gif"); - background-position: center center; - background-repeat: no-repeat; - cursor: inherit; - z-index: 2; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_text { - position: relative; - padding: 0px; - margin: 0px; - overflow: hidden; - white-space: nowrap; - cursor: inherit; - z-index: 1; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_text div.dhxwin_text_inside { - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; - width: 100%; -} -.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns { - position: absolute; - right: 15px; - top: 12px; - height: 24px; - cursor: default; - overflow: hidden; - cursor: inherit; - z-index: 2; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button, -.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis { - position: relative; - float: left; - width: 24px; - height: 24px; - margin-left: 1px; - margin-top: 2px; - background-image: url("../imgs/dhxwins_material/dhxwins_buttons.png"); - background-repeat: no-repeat; - background-position: 0px 0px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_close { - background-position: -24px 0px; -} -.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_minmax { - background-position: -48px 0px; -} -.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_minmaxed { - background-position: -72px 0px; -} -.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_park { - background-position: -96px 0px; -} -.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_stick { - background-position: -120px 0px; -} -.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_sticked { - background-position: -144px 0px; - background-color: #3090c0 !important; -} -.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_help { - background-position: -168px 0px; -} -.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button.dhxwin_button_dock { - background-position: -192px 0px; -} -.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_close_dis { - background-position: -24px -24px; -} -.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_minmax_dis { - background-position: -48px -24px; -} -.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_minmaxed_dis { - background-position: -72px -24px; -} -.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_park_dis { - background-position: -96px -24px; -} -.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_stick_dis { - background-position: -120px -24px; -} -.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_sticked_dis { - background-position: -144px -24px; - background-color: #3193c4 !important; -} -.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_help_dis { - background-position: -168px -24px; -} -.dhxwins_vp_material div.dhxwin_hdr div.dhxwin_btns div.dhxwin_button_dis.dhxwin_button_dock_dis { - background-position: -192px -24px; -} -.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins, -.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins { - position: absolute; - background-color: white; - margin: 0px; - padding: 0px; - overflow: hidden; - cursor: default; - visibility: visible; - z-index: 1; - opacity: 1; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100); -} -.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_cover, -.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_cover { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - margin: 0px; - padding: 0px; - font-size: 1px; - background-color: white; - overflow: hidden; - z-index: 1; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_progress_bar, -.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_progress_bar { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: white; - z-index: 1; - opacity: 0.75; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=75); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_progress_img, -.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_progress_img { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - border: 1px solid #e4e4e4; - background-image: url("../imgs/dhxwins_material/dhxwins_progress.gif"); - background-position: center center; - background-repeat: no-repeat; - z-index: 2; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_progress_svg, -.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_progress_svg { - border: 1px solid #e4e4e4; - z-index: 2; - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_progress_svg .dhx_cell_prsvg, -.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_progress_svg .dhx_cell_prsvg { - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - margin: auto; - width: 50px; - height: 50px; - animation: dhx_loader_rotate 2s linear infinite; - transform-origin: center center; -} -.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_progress_svg .dhx_cell_prsvg .dhx_cell_prcircle, -.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_progress_svg .dhx_cell_prsvg .dhx_cell_prcircle { - fill: none; - stroke: #3399cc; - stroke-width: 2; - stroke-miterlimit: 10; - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - stroke-linecap: round; - animation: dhx_loader_dash 1.5s ease-in-out infinite; -} -.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_menu_def, -.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_menu_def { - position: relative; - overflow: hidden; - border-style: solid; - border-width: 0px 1px 1px 1px; - border-color: #dfdfdf; -} -.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_toolbar_def, -.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_toolbar_def { - position: relative; - overflow: hidden; -} -.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_toolbar_def .dhx_toolbar_material, -.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_toolbar_def .dhx_toolbar_material { - border-width: 0px 1px 1px 1px; -} -.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_ribbon_def, -.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_ribbon_def { - position: relative; - overflow: hidden; -} -.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material, -.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material { - border-top-width: 0px; - margin-top: -1px; - width: auto; -} -.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_ribbon_def div.dhtmlxribbon_material.dhxrb_without_tabbar, -.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_ribbon_def div.dhtmlxribbon_material.dhxrb_without_tabbar { - border-top-width: 0px; - width: auto; -} -.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_statusbar_def, -.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_statusbar_def { - position: absolute; - bottom: 0px; - width: 100%; - background-color: #fafafa; - z-index: 1; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text, -.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - position: relative; - font: inherit; - height: 30px; - line-height: 30px; - border-style: solid; - border-width: 0px 1px 1px 1px; - border-color: #dfdfdf; - white-space: nowrap; - overflow: hidden; - padding: 0px 12px; - color: #737373; -} -.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_menu_def, -.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_menu_def { - border-width: 0px 0px 1px 0px; -} -.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_menu_def .dhtmlxMenu_material_Middle, -.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_menu_def .dhtmlxMenu_material_Middle { - padding: 0px 2px; -} -.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_toolbar_def .dhx_toolbar_material, -.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_toolbar_def .dhx_toolbar_material { - border-width: 0px 0px 1px 0px; -} -.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text, -.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - border-width: 1px 0px 0px 0px; -} -.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins.dhxwin_parked, -.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins.dhxwin_parked { - visibility: hidden; -} -.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhx_cell_cont_wins, -.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhx_cell_cont_wins { - position: absolute; - background-color: white; - overflow: hidden; - z-index: 0; -} -.dhxwins_vp_material.dhxwins_vp_dnd { - cursor: move !important; -} -.dhxwins_vp_material div.dhxwin_resize { - position: absolute; - background-color: #cfcfcf; - opacity: 0.3; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=30); -} -.dhxwins_vp_material iframe.dhxwin_resize_fr_cover { - position: absolute; - background-color: white; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxwins_vp_material div.dhxwins_mcover { - position: absolute; - background-color: #f3f3f3; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - opacity: 0.55; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=55); -} -.dhxwins_vp_material iframe.dhxwins_mcover { - position: absolute; - background-color: white; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxwins_vp_material.dhxwins_vp_fs { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - overflow: hidden; -} -.dhxwins_vp_auto { - overflow: auto !important; -} -.dhxwins_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 40px; - height: 10px; - overflow: hidden; -} diff --git a/themes/sources/libCompiler/compile.bat b/themes/sources/libCompiler/compile.bat deleted file mode 100644 index c6f4d79..0000000 --- a/themes/sources/libCompiler/compile.bat +++ /dev/null @@ -1,6 +0,0 @@ -@echo libCompiler for DHTMLX 4.x -@echo to run you need to have php and jre installed -@echo replace path_to_php_dir with real path below - -@c:\path_to_php_dir\php.exe lib_compiler.php -@pause diff --git a/themes/sources/libCompiler/compile_debug.bat b/themes/sources/libCompiler/compile_debug.bat deleted file mode 100644 index 535ae58..0000000 --- a/themes/sources/libCompiler/compile_debug.bat +++ /dev/null @@ -1,6 +0,0 @@ -@echo libCompiler for DHTMLX 4.x -@echo to run you need to have php and jre installed -@echo replace path_to_php_dir with real path below - -@c:\path_to_php_dir\php.exe lib_compiler.php --debug=true -@pause diff --git a/themes/sources/libCompiler/conf/compressed_filename b/themes/sources/libCompiler/conf/compressed_filename deleted file mode 100644 index 189cd35..0000000 --- a/themes/sources/libCompiler/conf/compressed_filename +++ /dev/null @@ -1 +0,0 @@ -dhtmlx \ No newline at end of file diff --git a/themes/sources/libCompiler/conf/copyright b/themes/sources/libCompiler/conf/copyright deleted file mode 100644 index 779bb12..0000000 --- a/themes/sources/libCompiler/conf/copyright +++ /dev/null @@ -1,7 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ \ No newline at end of file diff --git a/themes/sources/libCompiler/conf/stat_copy b/themes/sources/libCompiler/conf/stat_copy deleted file mode 100644 index 168efd3..0000000 --- a/themes/sources/libCompiler/conf/stat_copy +++ /dev/null @@ -1,7 +0,0 @@ -dhtmlxChart/codebase/ thirdparty/excanvas/AUTHORS -dhtmlxChart/codebase/ thirdparty/excanvas/COPYING -dhtmlxChart/codebase/ thirdparty/excanvas/README -dhtmlxChart/codebase/ thirdparty/excanvas/excanvas.js -dhtmlxForm/codebase/ ext/swfobject.js -dhtmlxForm/codebase/ ext/uploader.swf -dhtmlxForm/codebase/ ext/dhxupload.xap \ No newline at end of file diff --git a/themes/sources/libCompiler/conf/stat_css b/themes/sources/libCompiler/conf/stat_css deleted file mode 100644 index a80eacf..0000000 --- a/themes/sources/libCompiler/conf/stat_css +++ /dev/null @@ -1,92 +0,0 @@ -dhtmlxCalendar/codebase/skins/dhtmlxcalendar_dhx_skyblue.css -dhtmlxCalendar/codebase/skins/dhtmlxcalendar_dhx_web.css -dhtmlxCalendar/codebase/skins/dhtmlxcalendar_dhx_terrace.css -dhtmlxCalendar/codebase/skins/dhtmlxcalendar_material.css -dhtmlxCombo/codebase/skins/dhtmlxcombo_dhx_skyblue.css -dhtmlxCombo/codebase/skins/dhtmlxcombo_dhx_web.css -dhtmlxCombo/codebase/skins/dhtmlxcombo_dhx_terrace.css -dhtmlxCombo/codebase/skins/dhtmlxcombo_material.css -dhtmlxColorPicker/codebase/skins/dhtmlxcolorpicker_dhx_skyblue.css -dhtmlxColorPicker/codebase/skins/dhtmlxcolorpicker_dhx_web.css -dhtmlxColorPicker/codebase/skins/dhtmlxcolorpicker_dhx_terrace.css -dhtmlxColorPicker/codebase/skins/dhtmlxcolorpicker_material.css -dhtmlxSlider/codebase/skins/dhtmlxslider_dhx_skyblue.css -dhtmlxSlider/codebase/skins/dhtmlxslider_dhx_web.css -dhtmlxSlider/codebase/skins/dhtmlxslider_dhx_terrace.css -dhtmlxSlider/codebase/skins/dhtmlxslider_material.css -dhtmlxPopup/codebase/skins/dhtmlxpopup_dhx_skyblue.css -dhtmlxPopup/codebase/skins/dhtmlxpopup_dhx_web.css -dhtmlxPopup/codebase/skins/dhtmlxpopup_dhx_terrace.css -dhtmlxPopup/codebase/skins/dhtmlxpopup_material.css -dhtmlxMenu/codebase/skins/dhtmlxmenu_dhx_skyblue.css -dhtmlxMenu/codebase/skins/dhtmlxmenu_dhx_web.css -dhtmlxMenu/codebase/skins/dhtmlxmenu_dhx_terrace.css -dhtmlxMenu/codebase/skins/dhtmlxmenu_material.css -dhtmlxRibbon/codebase/skins/dhtmlxribbon_dhx_skyblue.css -dhtmlxRibbon/codebase/skins/dhtmlxribbon_dhx_web.css -dhtmlxRibbon/codebase/skins/dhtmlxribbon_dhx_terrace.css -dhtmlxRibbon/codebase/skins/dhtmlxribbon_material.css -dhtmlxToolbar/codebase/skins/dhtmlxtoolbar_dhx_skyblue.css -dhtmlxToolbar/codebase/skins/dhtmlxtoolbar_dhx_web.css -dhtmlxToolbar/codebase/skins/dhtmlxtoolbar_dhx_terrace.css -dhtmlxToolbar/codebase/skins/dhtmlxtoolbar_material.css -dhtmlxEditor/codebase/skins/dhtmlxeditor_dhx_skyblue.css -dhtmlxEditor/codebase/skins/dhtmlxeditor_dhx_web.css -dhtmlxEditor/codebase/skins/dhtmlxeditor_dhx_terrace.css -dhtmlxEditor/codebase/skins/dhtmlxeditor_material.css -dhtmlxChart/codebase/skins/dhtmlxchart_dhx_skyblue.css -dhtmlxChart/codebase/skins/dhtmlxchart_dhx_web.css -dhtmlxChart/codebase/skins/dhtmlxchart_dhx_terrace.css -dhtmlxChart/codebase/skins/dhtmlxchart_material.css -dhtmlxDataView/codebase/skins/dhtmlxdataview_dhx_skyblue.css -dhtmlxDataView/codebase/skins/dhtmlxdataview_dhx_web.css -dhtmlxDataView/codebase/skins/dhtmlxdataview_dhx_terrace.css -dhtmlxDataView/codebase/skins/dhtmlxdataview_material.css -dhtmlxList/codebase/skins/dhtmlxlist_dhx_skyblue.css -dhtmlxList/codebase/skins/dhtmlxlist_dhx_web.css -dhtmlxList/codebase/skins/dhtmlxlist_dhx_terrace.css -dhtmlxList/codebase/skins/dhtmlxlist_material.css -dhtmlxTree/codebase/skins/dhtmlxtree_dhx_skyblue.css -dhtmlxTree/codebase/skins/dhtmlxtree_dhx_web.css -dhtmlxTree/codebase/skins/dhtmlxtree_dhx_terrace.css -dhtmlxTree/codebase/skins/dhtmlxtree_material.css -dhtmlxTreeView/codebase/skins/dhtmlxtreeview_dhx_skyblue.css -dhtmlxTreeView/codebase/skins/dhtmlxtreeview_dhx_web.css -dhtmlxTreeView/codebase/skins/dhtmlxtreeview_dhx_terrace.css -dhtmlxTreeView/codebase/skins/dhtmlxtreeview_material.css -dhtmlxGrid/codebase/skins/dhtmlxgrid_dhx_skyblue.css -dhtmlxGrid/codebase/skins/dhtmlxgrid_dhx_web.css -dhtmlxGrid/codebase/skins/dhtmlxgrid_dhx_terrace.css -dhtmlxGrid/codebase/skins/dhtmlxgrid_material.css -dhtmlxForm/codebase/skins/dhtmlxform_dhx_skyblue.css -dhtmlxForm/codebase/skins/dhtmlxform_dhx_web.css -dhtmlxForm/codebase/skins/dhtmlxform_dhx_terrace.css -dhtmlxForm/codebase/skins/dhtmlxform_material.css -dhtmlxAccordion/codebase/skins/dhtmlxaccordion_dhx_skyblue.css -dhtmlxAccordion/codebase/skins/dhtmlxaccordion_dhx_web.css -dhtmlxAccordion/codebase/skins/dhtmlxaccordion_dhx_terrace.css -dhtmlxAccordion/codebase/skins/dhtmlxaccordion_material.css -dhtmlxLayout/codebase/skins/dhtmlxlayout_dhx_skyblue.css -dhtmlxLayout/codebase/skins/dhtmlxlayout_dhx_web.css -dhtmlxLayout/codebase/skins/dhtmlxlayout_dhx_terrace.css -dhtmlxLayout/codebase/skins/dhtmlxlayout_material.css -dhtmlxTabbar/codebase/skins/dhtmlxtabbar_dhx_skyblue.css -dhtmlxTabbar/codebase/skins/dhtmlxtabbar_dhx_web.css -dhtmlxTabbar/codebase/skins/dhtmlxtabbar_dhx_terrace.css -dhtmlxTabbar/codebase/skins/dhtmlxtabbar_material.css -dhtmlxSidebar/codebase/skins/dhtmlxsidebar_dhx_skyblue.css -dhtmlxSidebar/codebase/skins/dhtmlxsidebar_dhx_web.css -dhtmlxSidebar/codebase/skins/dhtmlxsidebar_dhx_terrace.css -dhtmlxSidebar/codebase/skins/dhtmlxsidebar_material.css -dhtmlxCarousel/codebase/skins/dhtmlxcarousel_dhx_skyblue.css -dhtmlxCarousel/codebase/skins/dhtmlxcarousel_dhx_web.css -dhtmlxCarousel/codebase/skins/dhtmlxcarousel_dhx_terrace.css -dhtmlxCarousel/codebase/skins/dhtmlxcarousel_material.css -dhtmlxWindows/codebase/skins/dhtmlxwindows_dhx_skyblue.css -dhtmlxWindows/codebase/skins/dhtmlxwindows_dhx_web.css -dhtmlxWindows/codebase/skins/dhtmlxwindows_dhx_terrace.css -dhtmlxWindows/codebase/skins/dhtmlxwindows_material.css -dhtmlxMessage/codebase/skins/dhtmlxmessage_dhx_web.css -dhtmlxMessage/codebase/skins/dhtmlxmessage_dhx_skyblue.css -dhtmlxMessage/codebase/skins/dhtmlxmessage_dhx_terrace.css -dhtmlxMessage/codebase/skins/dhtmlxmessage_material.css \ No newline at end of file diff --git a/themes/sources/libCompiler/conf/stat_depr b/themes/sources/libCompiler/conf/stat_depr deleted file mode 100644 index 30162d5..0000000 --- a/themes/sources/libCompiler/conf/stat_depr +++ /dev/null @@ -1,24 +0,0 @@ -dhtmlxCommon/codebase/dhtmlxcommon_deprecated.js -dhtmlxCalendar/codebase/dhtmlxcalendar_deprecated.js -dhtmlxCombo/codebase/dhtmlxcombo_deprecated.js -dhtmlxColorPicker/codebase/dhtmlxcolorpicker_deprecated.js -dhtmlxSlider/codebase/dhtmlxslider_deprecated.js -dhtmlxMenu/codebase/dhtmlxmenu_deprecated.js -dhtmlxToolbar/codebase/dhtmlxtoolbar_deprecated.js -dhtmlxTree/codebase/ext/dhtmlxtree_path.js -dhtmlxTree/codebase/ext/dhtmlxtree_srnd.js -dhtmlxGrid/codebase/ext/dhtmlxgrid_pivot.js -dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_dec.js -dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_cor.js -dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_wbut.js -dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_passw.js -dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_num.js -dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_mro.js -dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_liveedit.js -dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_limit.js -dhtmlxTreeGrid/codebase/ext/dhtmlxtreegrid_property.js -dhtmlxForm/codebase/dhtmlxform_deprecated.js -dhtmlxAccordion/codebase/dhtmlxaccordion_deprecated.js -dhtmlxLayout/codebase/dhtmlxlayout_deprecated.js -dhtmlxTabbar/codebase/dhtmlxtabbar_deprecated.js -dhtmlxWindows/codebase/dhtmlxwindows_deprecated.js \ No newline at end of file diff --git a/themes/sources/libCompiler/conf/stat_js b/themes/sources/libCompiler/conf/stat_js deleted file mode 100644 index 4879aba..0000000 --- a/themes/sources/libCompiler/conf/stat_js +++ /dev/null @@ -1,102 +0,0 @@ -dhtmlxCommon/codebase/dhtmlxcommon.js -dhtmlxCommon/codebase/dhtmlxcore.js -dhtmlxCommon/codebase/dhtmlxcontainer.js -dhtmlxCalendar/codebase/dhtmlxcalendar.js -dhtmlxCalendar/codebase/ext/dhtmlxcalendar_double.js -dhtmlxCombo/codebase/dhtmlxcombo.js -dhtmlxColorPicker/codebase/dhtmlxcolorpicker.js -dhtmlxSlider/codebase/dhtmlxslider.js -dhtmlxPopup/codebase/dhtmlxpopup.js -dhtmlxMenu/codebase/dhtmlxmenu.js -dhtmlxMenu/codebase/ext/dhtmlxmenu_ext.js -dhtmlxMenu/codebase/ext/dhtmlxmenu_effects.js -dhtmlxRibbon/codebase/dhtmlxribbon.js -dhtmlxToolbar/codebase/dhtmlxtoolbar.js -dhtmlxEditor/codebase/dhtmlxeditor.js -dhtmlxEditor/codebase/ext/dhtmlxeditor_ext.js -dhtmlxChart/codebase/dhtmlxchart.js -dhtmlxDataView/codebase/dhtmlxdataview.js -dhtmlxList/codebase/dhtmlxlist.js -dhtmlxTree/codebase/dhtmlxtree.js -dhtmlxTree/codebase/ext/dhtmlxtree_dragin.js -dhtmlxTree/codebase/ext/dhtmlxtree_ed.js -dhtmlxTree/codebase/ext/dhtmlxtree_json.js -dhtmlxTree/codebase/ext/dhtmlxtree_start.js -dhtmlxTree/codebase/ext/dhtmlxtree_attrs.js -dhtmlxTree/codebase/ext/dhtmlxtree_kn.js -dhtmlxTree/codebase/ext/dhtmlxtree_lf.js -dhtmlxTree/codebase/ext/dhtmlxtree_li.js -dhtmlxTree/codebase/ext/dhtmlxtree_rl.js -dhtmlxTree/codebase/ext/dhtmlxtree_sb.js -dhtmlxTree/codebase/ext/dhtmlxtree_xw.js -dhtmlxTreeView/codebase/dhtmlxtreeview.js -dhtmlxGrid/codebase/dhtmlxgrid.js -dhtmlxGrid/codebase/ext/dhtmlxgrid_drag.js -dhtmlxGrid/codebase/ext/dhtmlxgrid_export.js -dhtmlxGrid/codebase/ext/dhtmlxgrid_filter.js -dhtmlxGrid/codebase/ext/dhtmlxgrid_nxml.js -dhtmlxGrid/codebase/ext/dhtmlxgrid_selection.js -dhtmlxGrid/codebase/ext/dhtmlxgrid_srnd.js -dhtmlxGrid/codebase/ext/dhtmlxgrid_validation.js -dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_tree.js -dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_link.js -dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_grid.js -dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_dhxcalendar.js -dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_cntr.js -dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_acheck.js -dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_context.js -dhtmlxGrid/codebase/ext/dhtmlxgrid_json.js -dhtmlxGrid/codebase/ext/dhtmlxgrid_start.js -dhtmlxGrid/codebase/ext/dhtmlxgrid_data.js -dhtmlxGrid/codebase/ext/dhtmlxgrid_fast.js -dhtmlxGrid/codebase/ext/dhtmlxgrid_filter_ext.js -dhtmlxGrid/codebase/ext/dhtmlxgrid_form.js -dhtmlxGrid/codebase/ext/dhtmlxgrid_group.js -dhtmlxGrid/codebase/ext/dhtmlxgrid_hextra.js -dhtmlxGrid/codebase/ext/dhtmlxgrid_hmenu.js -dhtmlxGrid/codebase/ext/dhtmlxgrid_markers.js -dhtmlxGrid/codebase/ext/dhtmlxgrid_math.js -dhtmlxGrid/codebase/ext/dhtmlxgrid_mcol.js -dhtmlxGrid/codebase/ext/dhtmlxgrid_over.js -dhtmlxGrid/codebase/ext/dhtmlxgrid_pgn.js -dhtmlxGrid/codebase/ext/dhtmlxgrid_post.js -dhtmlxGrid/codebase/ext/dhtmlxgrid_rowspan.js -dhtmlxGrid/codebase/ext/dhtmlxgrid_splt.js -dhtmlxGrid/codebase/ext/dhtmlxgrid_ssc.js -dhtmlxGrid/codebase/ext/dhtmlxgrid_undo.js -dhtmlxGrid/codebase/ext/dhtmlxgrid_keymap.js -dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_time.js -dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_sub_row.js -dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_ra_str.js -dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_combo.js -dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_clist.js -dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_calck.js -dhtmlxTreeGrid/codebase/dhtmlxtreegrid.js -dhtmlxTreeGrid/codebase/ext/dhtmlxtreegrid_lines.js -dhtmlxTreeGrid/codebase/ext/dhtmlxtreegrid_filter.js -dhtmlxForm/codebase/dhtmlxform.js -dhtmlxForm/codebase/ext/dhtmlxform_item_combo.js -dhtmlxForm/codebase/ext/dhtmlxform_item_calendar.js -dhtmlxForm/codebase/ext/dhtmlxform_item_btn2state.js -dhtmlxForm/codebase/ext/dhtmlxform_item_colorpicker.js -dhtmlxForm/codebase/ext/dhtmlxform_item_container.js -dhtmlxForm/codebase/ext/dhtmlxform_item_editor.js -dhtmlxForm/codebase/ext/dhtmlxform_item_image.js -dhtmlxForm/codebase/ext/dhtmlxform_item_upload.js -dhtmlxForm/codebase/ext/dhtmlxform_backup.js -dhtmlxForm/codebase/ext/dhtmlxform_dyn.js -dhtmlxAccordion/codebase/dhtmlxaccordion.js -dhtmlxAccordion/codebase/ext/dhtmlxaccordion_dnd.js -dhtmlxLayout/codebase/dhtmlxlayout.js -dhtmlxTabbar/codebase/dhtmlxtabbar.js -dhtmlxTabbar/codebase/dhtmlxtabbar_start.js -dhtmlxSidebar/codebase/dhtmlxsidebar.js -dhtmlxCarousel/codebase/dhtmlxcarousel.js -dhtmlxWindows/codebase/dhtmlxwindows.js -dhtmlxWindows/codebase/ext/dhtmlxwindows_dnd.js -dhtmlxWindows/codebase/ext/dhtmlxwindows_resize.js -dhtmlxWindows/codebase/ext/dhtmlxwindows_menu.js -dhtmlxMessage/codebase/dhtmlxmessage.js -dhtmlxDataStore/codebase/datastore.js -dhtmlxCommon/codebase/dhtmlxdataprocessor.js -dhtmlxCommon/codebase/connector.js \ No newline at end of file diff --git a/themes/sources/libCompiler/lib_compiler.php b/themes/sources/libCompiler/lib_compiler.php deleted file mode 100644 index 2a53fb3..0000000 --- a/themes/sources/libCompiler/lib_compiler.php +++ /dev/null @@ -1,214 +0,0 @@ - 0) || (@$_REQUEST["debug"] == "y"); - -// js -print_r("\ncompress js\n".str_repeat("-",80)."\n"); - -$stat = array( - "stat_js" => $fname.".js", - "stat_depr" => $fname."_deprecated.js" -); - -foreach ($stat as $st=>$output) { - - $content = ""; - // list of files - $files = array_values(array_map("trim", array_diff(explode("\n", file_get_contents("conf/".$st)), array("")))); - for ($q=0; $q 0) { - - $name = "../../codebase/".$output; - - file_put_contents("temp.js", $content); - exec($compiler.' --type js temp.js -o "'.$name.'"'); - unlink("temp.js"); - - // copyright - file_put_contents($name, $copyright.file_get_contents($name)); - - // - print_r(sprintf("%10s bytes", number_format(filesize("../../codebase/".$output))).str_repeat(" ",4)."../../codebase/".$output."\n"); - - } - - // debug - if ($debug == true && $st == "stat_js") { - - $output_d = "../../codebase/".$fname."_debug.js"; - - file_put_contents($output_d, $content); - print_r(sprintf("%10s bytes", number_format(filesize($output_d))).str_repeat(" ",4).$output_d."\n"); - - } - -} - -// js copy only -$files = array_values(array_map("trim", array_diff(explode("\n", file_get_contents("conf/stat_copy")), array("")))); - -if (count($files) > 0) { - print_r("\njs copy only\n".str_repeat("-",80)."\n"); -} - -for ($q=0; $qfile - if (file_exists("../".$d[0].$d[1]) && !is_dir("../".$d[0].$d[1])) { - // create dirs if any - $k = "../../codebase"; - $p = pathinfo($d[1]); - if ($p["dirname"] != ".") { - $f = explode("/", $p["dirname"]); - for ($w=0; $w 0) { - print_r("\ncompress css\n".str_repeat("-",80)."\n"); -} - -// compress -for ($q=0; $q \ No newline at end of file diff --git a/themes/sources/libCompiler/yui.jar b/themes/sources/libCompiler/yui.jar deleted file mode 100644 index c29470b..0000000 Binary files a/themes/sources/libCompiler/yui.jar and /dev/null differ diff --git a/themes/sources4.0/dhtmlxAccordion/codebase/dhtmlxaccordion.js b/themes/sources4.0/dhtmlxAccordion/codebase/dhtmlxaccordion.js deleted file mode 100644 index 29efd7f..0000000 --- a/themes/sources4.0/dhtmlxAccordion/codebase/dhtmlxaccordion.js +++ /dev/null @@ -1,1170 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -function dhtmlXAccordion(base, skin) { - - var that = this; - var transData = window.dhx4.transDetect(); - - this.conf = { - skin: (skin||window.dhx4.skin||(typeof(dhtmlx)!="undefined"?dhtmlx.skin:null)||window.dhx4.skinDetect("dhxacc")||"dhx_skyblue"), - icons_path: "", - multi_mode: false, - last_opened: null, // single_mode only - on_active_id: null, // id for onActive in single_mode, inner - on_active_click: false, // activation by click or by script - size_changed: true, - def_height: 90, // defult height - // items count - total_count: 0, - hiden_count: 0, - base_w: null, - // fullscreen conf - fs_mode: false, - fs_tm: null, // resize tm - fs_base_ofs: {w:2,h:2} // offset for base in fullscreen mode - }; - - // effects - this.conf.tr = { - prop: transData.transProp, // false if not available - ev: transData.transEv, - height_open: "height 0.2s cubic-bezier(0.25,0.1,0.25,1)", // cell open/close by click - height_close: "height 0.18s cubic-bezier(0.25,0.1,0.25,1)", // cell open/close by click - op_open: "opacity 0.16s ease-in", // cell_cont on open - op_close: "opacity 0.2s ease-out", // cell_cont on close - op_v_open: "1", // opacity for opened cell - op_v_close: "0.4", // opacity for closed cell - dnd_top: "top 0.16s" // dnd - }; - - // cells offsets - this.ofs = { - // working values, will generated by _applyOffsets - m:{}, // multi_mode - s:{}, // single_mode - // default offset, based on skyblue - def: { - m: { // multi_mode - left: 0, // horizontal offset between parent-edge and cell for both left and right sides - right: 0, // cell to edge from right - first: 0, // top before first - between: 8 // vertical offset between cells for multi_mode - }, - s: { // single_mode - left: 0, - right: 0, - first: 0, - between: -1, - last: 0 // last cell bottom's and bottom edge - } - }, - // override by base (parentId), if base._ofs attr is set, used in attachComponent() - base: { - s: {}, - m: {} - }, - // override by skin - skin: { - dhx_web: { - s: { between: 3 }, - m: { between: 3 } - }, - dhx_terrace: { - m: { between: 12, left: 0, right: 0 } - } - } - }; - - // open/close fix - if (navigator.userAgent.indexOf("MSIE") >= 0 || navigator.userAgent.indexOf("Trident") >= 0) { - // ie10, ie11 - this.conf.tr.height_open = this.conf.tr.height_close; - } else { - // ff, opera, chrome - good - this.conf.tr.height_open = this.conf.tr.height_close; - } - - var apiInit = null; - if (typeof(base) == "object" && !base.tagName) { - apiInit = {}; - for (var a in base) { - apiInit[a] = base[a]; - base[a] = null; - } - base = apiInit.parent; - apiInit.parent = null; - } - - if (base == document.body) { - - document.documentElement.className += " dhxacc_fullscreen"; - document.body.className += " dhxacc_fullscreen"; - this.conf.fs_mode = true; - - this.base = document.createElement("DIV"); - this.base.className = "dhxacc_base_"+this.conf.skin; - this.base.style.position = "absolute"; - this.base.style.left = this.conf.fs_base_ofs.w+"px"; - this.base.style.top = this.conf.fs_base_ofs.h+"px"; - document.body.appendChild(this.base); - - } else { - - this.base = (typeof(base) == "string" ? document.getElementById(base) : base); - base = null; - - this.base.className += " dhxacc_base_"+this.conf.skin; - while (this.base.childNodes.length > 0) this.base.removeChild(this.base.lastChild); - } - - - // offset fix, base override - if (this.base._ofs != null) { - for (var mode in this.ofs.base) { - if (this.base._ofs[mode] != null) { - for (var a in this.base._ofs[mode]) this.ofs.base[mode][a] = this.base._ofs[mode][a]; - } - } - } - - this._applyOffsets = function() { - // 1) default - // 2) skin override if any - // 3) base._ofs override if any - for (var mode in this.ofs.def) { - var def = this.ofs.def[mode]; - var skin = (this.ofs.skin[this.conf.skin] != null && this.ofs.skin[this.conf.skin][mode] != null ? this.ofs.skin[this.conf.skin][mode] : null); - var base = (this.base._ofs != null ? this.base._ofs[mode] : null); - for (var a in def) { - if (skin != null && skin[a] != null) { - this.ofs[mode][a] = skin[a]; - } else if (base != null && base[a] != null) { - this.ofs[mode][a] = base[a]; - } else { - this.ofs[mode][a] = def[a]; - } - } - } - } - this._applyOffsets(); - - this.t = {}; - - this.addItem = function(id, text, open, height, icon) { - - // open - open/close new in 4.0, true by default, close prev item if any in single_mode - // height - for multi_mode, new in 4.0 - - // create cell - // extend hdr - // open/close - // depending on mode - calculate width/height - - if (id == null) id = "a"+window.dhx4.newId(); - while (this.t[id] != null) id = "a"+window.dhx4.newId(); - - var cell = new dhtmlXAccordionCell(id, this); - cell.conf.skin = this.conf.skin; - cell.setText(text); - if (icon != null) cell.setIcon(icon); - - cell.cell._accId = id; - cell.cell.childNodes[cell.conf.idx.hdr].onselectstart = function(e) { - e = e||event; - if (e.preventDefault) e.preventDefault(); else e.returnValue = false; - return false; - } - cell.cell.childNodes[cell.conf.idx.hdr].onclick = function(e) { - e = e||event; - if (e.preventDefault) e.preventDefault(); else e.returnValue = false; - if (that._dnd != null && that._dnd.ofs == true) return; // dnd - var t = (e.target||e.srcElement); - var id = null; - while (t._accId != this && id == null) { - if (t._accId != null) id = t._accId; else t = t.parentNode; - } - if (id != null) that._hdrClick(id); - } - - this.t[id] = {cell: cell}; - - this.conf.total_count++; - - if (this.conf.multi_mode) { - - if (typeof(open) == "undefined") open = true; // opened by default if not set - - this.base.appendChild(cell.cell); - - cell.conf.opened = (open==true); - if (typeof(height) == "undefined" || height == null || height == "*") { - if (height == "*") cell.conf.h_auto = true; - height = this.conf.def_height; - } else { - height = Math.max(parseInt(height),30); - } - - // dim - cell._setSize(this.ofs.m.left, 0, this.conf.base_w||this._getAvailItemWidth(), cell.conf.opened?height:cell._getHdrHeight()); - cell.cell.style.marginTop = (cell.cell==this.base.firstChild?this.ofs.m.first:this.ofs.m.between)+"px"; - if (open != true) { - cell.conf.size.h = height; - cell._adjustCell(); - cell.cell.className += " dhx_cell_closed"; - } - this._adjustOpened(); - - if (this._dnd != null) this._dndAttachEvent(id); - - } else { - - // closed by default or force if first node - open = (this.conf.last_opened==null?true:window.dhx4.s2b(open)); - - var h = this._updateCellsHeight(); - - // close prev already opened cell if any or reduce height - if (this.conf.last_opened != null) { - if (open) { - this._closeItem(this.conf.last_opened, false); - } else { - var openedCell = this.t[this.conf.last_opened].cell; - openedCell._setSize(openedCell.conf.size.x, openedCell.conf.size.y, openedCell.conf.size.w, h); - openedCell = null; - } - } - this.base.appendChild(cell.cell); - cell.conf.opened = open; - cell.cell.style.marginTop = String(cell.cell==this.base.firstChild?this.ofs.s.first:this.ofs.s.between)+"px"; - - cell._setSize(this.ofs.s.left, 0, this.conf.base_w||this._getAvailItemWidth(), open?h:cell._getHdrHeight()); - if (open) { - this.conf.last_opened = id; - } else { - cell.conf.size.h = h; - cell._adjustCell(); - cell.cell.className += " dhx_cell_closed"; - } - - } - - cell = null; - - return this.t[id].cell; - } - - this.removeItem = function(id) { - - if (!this.t[id]) return; - if (this.conf.last_opened == id) this.conf.last_opened = null; - if (this.conf.on_active_id == id) this.conf.on_active_id = null; - - if (this._dnd != null) this._dndClearCell(id); - - this.conf.total_count--; - if (!this.conf.multi_mode && !this.t[id].cell.conf.visible) this.conf.hiden_count--; - - this.t[id].cell._unload(); - this.t[id].cell = null; - this.t[id] = null; - delete this.t[id]; - - if (!this.conf.unloading) { - if (!this.conf.multi_mode) this._updateCellsMargin(); - this.setSizes(); - } - } - - this.cells = function(id) { - return this.t[id].cell; - } - - this.enableMultiMode = function(yScrollMode, defaultHeight) { // disabled by default - this.conf.multi_mode = true; - if (!isNaN(defaultHeight)) this.conf.def_height = defaultHeight; - if (yScrollMode == "auto" || yScrollMode == "scroll") { - this.base.style.overflowX = "hidden"; - this.base.style.overflowY = yScrollMode; - } else { - this.base.style.overflow = "visible"; - } - } - - this.forEachItem = function(func) { - for (var a in this.t) { - if (typeof(func) == "function") { - func.apply(this, [this.t[a].cell]); - } else { - if (typeof(func) == "string" && typeof(window[func]) == "function") window[func].apply(this, [this.t[a].cell]); - } - } - } - - this._openItem = function(id, ef) { - - if (typeof(ef) == "undefined") ef = true; - - if (this.t[id].cell.conf.opened == false) { - - if (this.conf.multi_mode) { - - this.t[id].cell._open(ef); - - } else { - - if (this.conf.tr.prop == false) { - - // simple open/close - if (this.conf.last_opened != null) this.t[this.conf.last_opened].cell._close(false); - this.t[id].cell._open(false); - this.conf.last_opened = id; - - } else { - this.conf.on_active_id = id; - this.t[id].cell._open(ef); - if (this.conf.last_opened != null) this.t[this.conf.last_opened].cell._close(ef); - this.conf.last_opened = id; - } - } - } - } - - this._closeItem = function(id, ef) { - if (typeof(ef) == "undefined") ef = true; - if (this.t[id].cell.conf.opened == true) { - this.t[id].cell._close(ef); - this.conf.last_opened = null; - } - } - - this._adjustOpened = function() { - - // multi_mode - only width, check v-scroll - // single_mode - width/height - - if (this.conf.multi_mode == true) { - - // new edition - if (this._openCache == null) { - var dynData = this._getDynData(); - for (var a in dynData) { - this.t[a].cell.conf.size.h = dynData[a]; - this.t[a].cell.cell.style.height = dynData[a]+"px"; - } - } else { - var inProgress = false; - for (var a in this._openCache) inProgress = (inProgress||this._openCache[a]); - if (inProgress == true) return; - this._openCache = this._openId = null; - } - - var w2 = this._getAvailItemWidth(); - for (var a in this.t) { - var adj = true; - if (w2 == this.t[a].cell.conf.size.w && (this._openMode == "close" || this.t[a].cell.conf.opened == false)) adj = false; - if (adj) this.t[a].cell._setWidth(w2); - } - - this._openMode = null; - - } else { - if (this.conf.last_opened != null) { - var id = this.conf.last_opened; - this.t[id].cell._setSize(this.t[id].cell.conf.size.x, this.t[id].cell.conf.size.y, this.t[id].cell.conf.size.w, this.t[id].cell.conf.size.h); - } - } - } - - this._getDynData = function(toOpen, toClose) { - - // toOpen/toClose - static_or_dyn closed cell from _open() or _close(), - // cells shoule be included into calculations - if (typeof(toOpen) == "undefined" || toOpen == null) toOpen = {}; - if (typeof(toClose) == "undefined" || toClose == null) toClose = {}; - - var dynData = {}; - var dynCount = 0; - var h = 0; - var f0 = 0; // item index (visible only) - - for (var q=0; q 0) { - var hSum = this.base.offsetHeight-h; - var h = Math.floor(hSum/dynCount); - for (var a in dynData) { - if (dynData[a] == true) { - if (dynCount > 1) hSum -= h; else h = hSum; // decrease main height each time, last item used all left height - dynData[a] = h; - dynCount--; - } - } - } - - return dynData; - - } - - this._adjustBase = function() { - if (this.conf.fs_mode) { - this.base.style.width = document.body.offsetWidth-this.conf.fs_base_ofs.w*2+"px"; - this.base.style.height = document.body.offsetHeight-this.conf.fs_base_ofs.h*2+"px"; - } - } - - this.setSizes = function() { - this._adjustBase(); - if (this.conf.multi_mode == true) { - this._adjustOpened(); - } else { - this.conf.base_w = null; // reset saved base width - var h = this._updateCellsHeight(); - for (var a in this.t) { - this.t[a].cell._setSize(this.ofs.s.left, 0, this.conf.base_w||this._getAvailItemWidth(), this.t[a].cell.conf.opened?h:this.t[a].cell._getHdrHeight()); - if (!this.t[a].cell.conf.opened) { - this.t[a].cell.conf.size.h = h; - this.t[a].cell._adjustCell(); - } - } - this.conf.size_changed = true; // for cell-show, recall setSizes() - } - } - - this.setSkin = function(skin) { - this.base.className = String(this.base.className).replace(new RegExp("\\s{1,}dhxacc_base_"+this.conf.skin+"\\s{0,}$"), " dhxacc_base_"+skin); - this.conf.skin = skin; - for (var a in this.t) { - this.t[a].cell.conf.cells_cont = null; // reset cached cells offsets - this.t[a].cell.conf.skin = this.conf.skin; - } - this._applyOffsets(); - this._updateCellsMargin(); - this.setSizes(); - } - - this.setIconsPath = function(path) { - this.conf.icons_path = path; - } - - this._getAvailItemWidth = function() { - // - var p = this.ofs[(this.conf.multi_mode?"m":"s")]; - var w = Math.max(this.base.clientWidth-p.left-p.right, 10); - this.conf.base_w = w; - p = null; - return w; - } - - this._updateCellsHeight = function() { - - // single_mode only - if (this.conf.multi_mode == true) return; - - var k = this.conf.total_count-this.conf.hiden_count; // visible count - var h = this.base.offsetHeight-this.ofs.s.last; - - if (k == 0) return h; - - // single item_heigth = header_height + content_height - // i.e. base_height - (visible_count-1)*header_height - var itemFound = false; - for (var q=0; q
              "; - - this.cell.insertBefore(t, this.cell.childNodes[this.conf.idx.cont]); - t = null; - - // include into content top offset calculation - this.conf.ofs_nodes.t._getHdrHeight = "func"; - - // show/hide - this.conf.hdr = {visible: true}; - - // include into index - this.conf.idx_data.hdr = "dhx_cell_hdr"; - this._updateIdx(); - -}; - -dhtmlXAccordionCell.prototype._getHdrHeight = function() { - return this.cell.childNodes[this.conf.idx.hdr].offsetHeight; -}; - - -dhtmlXAccordionCell.prototype.setText = function(text) { - this.conf.text = text; - this.cell.childNodes[this.conf.idx.hdr].firstChild.innerHTML = ""+text+""; -}; - -dhtmlXAccordionCell.prototype.getText = function() { - return this.conf.text; -}; - -/* header icon */ -dhtmlXAccordionCell.prototype.setIcon = function(icon) { - var t = this.cell.childNodes[this.conf.idx.hdr]; - if (t.firstChild.className != "dhx_cell_hdr_icon") { - t.firstChild.className += " dhx_cell_hdr_icon"; - var k = document.createElement("IMG"); - k.className = "dhx_cell_hdr_icon"; - t.insertBefore(k, t.firstChild); - k = null; - } - t.firstChild.src = this.acc.conf.icons_path+icon; - t = null; -}; - -dhtmlXAccordionCell.prototype.clearIcon = function() { - var t = this.cell.childNodes[this.conf.idx.hdr]; - if (t.firstChild.className == "dhx_cell_hdr_icon") { - t.removeChild(t.firstChild); - t.firstChild.className = String(t.firstChild.className).replace(/\s{1,}dhx_cell_hdr_icon/gi,""); - } - t = null; -}; - -/* open/close */ -dhtmlXAccordionCell.prototype._open = function(ef) { - - var dynData = {}; - - if (this.acc.conf.multi_mode) { - - var toOpen = {}; - toOpen[this._idd] = true; - dynData = this.acc._getDynData(toOpen); - - this.acc._openId = this._idd; - this.acc._openCache = {}; - this.acc._openMode = "open"; - - } else { - - // h_auto cells not found, simple change height of current cell - dynData[this._idd] = this.conf.size.h; - - } - - for (var a in dynData) { - - if (this.acc._openCache != null) this.acc._openCache[a] = true; - - var t = this.acc.t[a].cell; - t.cell.className = String(t.cell.className).replace(/\s{1,}dhx_cell_closed/gi,""); - t.conf.opened = true; - t._trInitEv("open", ef); - t.conf.size.h = dynData[a]; - t.cell.style.height = t.conf.size.h+"px"; // restore last height - t = null; - - } - - // effect is not enabled, adjust cells after resize - if (this.conf.tr.prop == false) { - this.acc._openId = this.acc._openCache = this.acc._openMode = null; - this._onActiveCall(true); - } - -}; - -dhtmlXAccordionCell.prototype._close = function(ef) { - - var dynData = {}; - - if (this.acc.conf.multi_mode) { - - var toClose = {}; - toClose[this._idd] = true; - dynData = this.acc._getDynData(null, toClose); - - this.acc._openId = this._idd; - this.acc._openCache = {}; - this.acc._openMode = "close"; - - } else { - - dynData[this._idd] = this._getHdrHeight(); - } - - for (var a in dynData) { - - var t = this.acc.t[a].cell; - - if (this.acc._openCache != null) this.acc._openCache[a] = true; - if (a == this._idd) { - t.cell.className += " dhx_cell_closed"; - t.conf.opened = false; - t._trInitEv("close", ef); - } else { - // keep opened - t.conf.size.h = dynData[a]; - t._adjustCell(); - t._trInitEv("open", ef); - } - - t.cell.style.height = dynData[a]+"px"; // set height as hdr height - - t = null; - } - - if (this.conf.tr.prop == false) { - this.acc._openId = this.acc._openCache = this.acc._openMode = null; - this._onActiveCall(false); - } -}; - -dhtmlXAccordionCell.prototype.isOpened = function() { - return (this.conf.opened==true); -}; - -dhtmlXAccordionCell.prototype._trInitEv = function(mode, ef) { - - if (this.conf.tr.prop == false) return; - this._trAttachEv(); - - if (!this.cell._accObj) this.cell._accObj = this.acc; // acc obj for transion end - - // open with effect (usualy by click, w/o usualy on init stage) - if (ef) { - this.cell.style[this.conf.tr.prop] = this.conf.tr["height_"+mode]; - } - - // opacity - this._cellSetOpacity(mode, ef); -}; - -dhtmlXAccordionCell.prototype._trAttachEv = function() { - if (!this.conf.tr.ev_attached) { - this.cell._trProp = this.conf.tr.prop; - this.cell.addEventListener(this.conf.tr.ev, this._trOnEnd, false); - this.conf.tr.ev_attached = true; - } -}; -dhtmlXAccordionCell.prototype._trDetachEv = function() { - if (this.conf.tr.ev_attached) { - this.cell.addEventListener(this.conf.tr.ev, this._trOnEnd, false); - this.conf.tr.ev_attached = false; - } -}; - -dhtmlXAccordionCell.prototype._trOnEnd = function(ev) { - if (ev.stopPropagation) ev.stopPropagation(); - if (ev.propertyName == "height") { - this.style[this._trProp] = ""; - if (this._accObj.conf.multi_mode) { - if (this._accObj._openCache != null) this._accObj._openCache[this._accId] = false; - this._accObj._adjustOpened(); - } - if (this._accObj.conf.on_active_click == true) { - if (this._accObj.conf.multi_mode) { - this._accObj._callMainEvent("onActive", [this._accId, this._accObj.t[this._accId].cell.conf.opened]); - this._accObj.conf.on_active_click = false; - } else { - this._accObj._callMainEvent("onActive", [this._accObj.conf.on_active_id, true]); - this._accObj.conf.on_active_id = null; - this._accObj.conf.on_active_click = false; - } - } - this._accObj = null; - } -}; - -dhtmlXAccordionCell.prototype._cellSetOpacity = function(mode, ef) { - // mode - "open"/"close" - for (var a in this.conf.idx) { - if ({hdr:true,pr1:true,pr2:true}[a] != true) { // skip hdr and progress - if (ef) this.cell.childNodes[this.conf.idx[a]].style[this.conf.tr.prop] = this.conf.tr["op_"+mode]; - this.cell.childNodes[this.conf.idx[a]].style.opacity = this.conf.tr["op_v_"+mode]; - } - } -}; - -dhtmlXAccordionCell.prototype._onActiveCall = function(mode) { - if (this.acc.conf.on_active_click == false) return; - if (this.acc.conf.multi_mode == true) { - this.acc._callMainEvent("onActive", [this._idd, this.conf.opened]); - this.acc.conf.on_active_click = false; - } else { - // single_mode, call only for opened - if (mode == true) { - this.acc._callMainEvent("onActive",[this._idd, true]); - this.acc.conf.on_active_click = false; - } - } - -}; - -/* visibility */ -dhtmlXAccordionCell.prototype.show = function() { - if (this.conf.visible) return; - - if (this.conf.docked == false) { // if cell is undocked - show after dock - this.dock(); - return; - } - - this.cell.style.display = ""; - this.conf.visible = true; - if (!this.acc.conf.multi_mode) { - this.acc.conf.hiden_count--; - this.acc._updateCellsHeight(); - this.acc._updateCellsMargin(); - } - if (this.acc.conf.size_changed) { - this.acc.setSizes(); - this.acc.conf.size_changed = false; - } else { - this.acc._adjustOpened(); - } -}; - -dhtmlXAccordionCell.prototype.hide = function() { - if (!this.conf.visible) return; - if (!this.acc.conf.multi_mode && this.conf.opened) { // close before hide if any - this._close(false); - this.acc.conf.last_opened = null; - } - this.cell.style.display = "none"; - this.conf.visible = false; - if (!this.acc.conf.multi_mode) { - this.acc.conf.hiden_count++; - this.acc._updateCellsHeight(); - this.acc._updateCellsMargin(); - } - this.acc._adjustOpened(); -}; - -dhtmlXAccordionCell.prototype.isVisible = function() { - return (this.conf.visible==true); -}; - -/* height */ -dhtmlXAccordionCell.prototype.setHeight = function(h) { // multi_mode only - - if (!this.acc.conf.multi_mode) return; - - if (h == "*") { - this.conf.h_auto = true; - } else { - this.conf.h_auto = false; - this.conf.size.h = h; - } - - if (this.conf.opened) { - if (h != "*") this.cell.style.height = h+"px"; - this.acc._adjustOpened(); - } -}; - -/* position */ -dhtmlXAccordionCell.prototype.moveOnTop = function() { - if (this.cell.parentNode.firstChild == this.cell) return; // item moved - this.cell.parentNode.insertBefore(this.cell, this.cell.parentNode.firstChild); - this.acc._updateCellsMargin(); -}; - - -/* dock/undock */ -dhtmlXAccordionCell.prototype._initDocking = function() { - - var that = this; - - this.dock = function() { - - if (this.acc.dhxWins == null || this.conf.docked == true) return; - var w1 = this.acc.dhxWins.window(this._idd); - w1.close(); - - // move content - this._attachFromCell(w1); - this.conf.docked = true; - this.show(); - - if (this.conf.dock_opened) this.open(); - - w1 = null; - this.acc._callMainEvent("onDock", [this._idd]); - }; - - this.undock = function(x, y, w, h) { - - if (this.acc.dhxWins == null || this.conf.docked == false) return; - - this.conf.dock_opened = this.conf.opened; - - if (this.acc.dhxWins.window(this._idd) != null) { - var w1 = this.acc.dhxWins.window(this._idd); - w1.show(); - } else { - if (x == null) x = 20; - if (y == null) y = 20; - if (w == null) w = 320; - if (h == null) h = 200; - - var w1 = this.acc.dhxWins.createWindow(this._idd, x, y, w, h); - w1.button("close").hide(); - - // dock button - w1.addUserButton("dock", 99, "Dock"); - w1.button("dock").show(); - w1.button("dock").attachEvent("onClick", this._doOnDockClick); - - // text update only first time - w1.setText(this.getText()); - - // closeing - w1.attachEvent("onClose", this._doOnDockWinClose); - } - this.conf.docked = false; - this.hide(); - - // move content - w1._attachFromCell(this); - w1 = null; - - this.acc._callMainEvent("onUnDock", [this._idd]); - - } - - this._doOnDockClick = function() { - that.dock(); - } - this._doOnDockWinClose = function(win) { - win.hide(); - return false; - } - - this._unloadDocking = function() { - that = null; - } -}; diff --git a/themes/sources4.0/dhtmlxAccordion/codebase/dhtmlxaccordion_deprecated.js b/themes/sources4.0/dhtmlxAccordion/codebase/dhtmlxaccordion_deprecated.js deleted file mode 100644 index 8706a9a..0000000 --- a/themes/sources4.0/dhtmlxAccordion/codebase/dhtmlxaccordion_deprecated.js +++ /dev/null @@ -1,61 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* deprecated */ -dhtmlXAccordion.prototype.setEffect = function(mode) { - // expand/collapse, dnd - // enabled for browsers which support html5 by default -}; -dhtmlXAccordion.prototype.setIcon = function(id, icon) { - this.cells(id).setIcon(icon); -}; -dhtmlXAccordion.prototype.clearIcon = function(id) { - this.cells(id).clearIcon(); -}; -dhtmlXAccordion.prototype.setActive = function(id) { - this.cells(id).open(); -}; -dhtmlXAccordion.prototype.isActive = function(id) { - return this.cells(id).isOpened(); -}; -dhtmlXAccordion.prototype.openItem = function(id) { - this.cells(id).open(); -}; -dhtmlXAccordion.prototype.closeItem = function(id) { - this.cells(id).close(); -}; -dhtmlXAccordion.prototype.moveOnTop = function(id) { - this.cells(id).moveOnTop(); -}; -dhtmlXAccordion.prototype.setItemHeight = function(h) { - this.cells(id).setHeight(h); -}; -dhtmlXAccordion.prototype.setText = function(id, text) { - this.cells(id).setText(text); -}; -dhtmlXAccordion.prototype.getText = function() { - return this.cells(id).getText(); -}; -dhtmlXAccordion.prototype.showItem = function(id) { - this.cells(id).show(); -}; -dhtmlXAccordion.prototype.hideItem = function(id) { - this.cells(id).hide(); -}; -dhtmlXAccordion.prototype.isItemHidden = function(id) { - return !this.cells(id).isVisible(); -}; -dhtmlXAccordion.prototype.loadJSON = function(data, callback) { - this.loadStruct(data, callback); -}; -dhtmlXAccordion.prototype.loadXML = function(data, callback) { - this.loadStruct(data, callback); -}; -dhtmlXAccordion.prototype.setSkinParameters = function(ofsBetween, ofsCont) { - if (ofsBetween != null) this.setOffset(ofsBetween); -}; diff --git a/themes/sources4.0/dhtmlxAccordion/codebase/ext/dhtmlxaccordion_dnd.js b/themes/sources4.0/dhtmlxAccordion/codebase/ext/dhtmlxaccordion_dnd.js deleted file mode 100644 index 3af0c40..0000000 --- a/themes/sources4.0/dhtmlxAccordion/codebase/ext/dhtmlxaccordion_dnd.js +++ /dev/null @@ -1,344 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -dhtmlXAccordion.prototype.enableDND = function() { - - if (this.conf.multi_mode == false || this._dnd != null) return; - - var that = this; - - this._dnd = { - tr_count: 0, - tr_items: {} - }; - - this._dndAttachEvent = function(id) { - var t = this.t[id].cell; - if (t.conf.dnd_inited != true) { - if (typeof(window.addEventListener) == "function") { - t.cell.childNodes[t.conf.idx.hdr].addEventListener("mousedown", this._dndOnMouseDown, false); - } else { - t.cell.childNodes[t.conf.idx.hdr].attachEvent("onmousedown", this._dndOnMouseDown); - } - t.conf.dnd_inited = true; - } - t = null; - } - - this._dndDetachEvent = function(id) { - var t = this.t[id].cell; - if (t.conf.dnd_inited == true) { - if (typeof(window.addEventListener) == "function") { - t.cell.childNodes[t.conf.idx.hdr].removeEventListener("mousedown", this._dndOnMouseDown, false); - } else { - t.cell.childNodes[t.conf.idx.hdr].detachEvent("onmousedown", this._dndOnMouseDown); - } - t.conf.dnd_inited = false; - } - t = null; - } - - this._dndOnMouseDown = function(e) { - e = e||event; - if (e.preventDefault) e.preventDefault(); // selection in chrome - var t = (e.target||e.srcElement); - while (t != null && t.parentNode != that.base) t = t.parentNode; - if (t != null) that._dndDragStart(e, t); - t = null; - } - - this._dndDragStart = function(e,t) { - - if (this._dnd.tr_waiting == true) return; - - this._dnd.dragObj = t; - - this._dnd.dy = e.clientY; - - // define index and min/max offset for dragged object - var u = 0; - - for (var q=0; q 0) this._dnd.dragObj._k0 += this.ofs.m.between-this.ofs.m.first; // include margins for non-top cells - u = 0; - } else { - u += this._dnd.dragObj.parentNode.childNodes[q].offsetHeight+ - parseInt(this._dnd.dragObj.parentNode.childNodes[q].style.marginTop); - } - } - this._dnd.dragObj._k1 = u; - - this._dnd.h = this._dnd.dragObj.offsetHeight; - - this._dnd.ofs = false; // check if mouse was realy moved over screen - } - - this._dndDoDrag = function(e) { - - if (!this._dnd.dragObj) return; - if (this._dnd.tr_waiting == true) return; - - var r = e.clientY-this._dnd.dy; - - if (this._dnd.ofs == false && Math.abs(r) > 5) { - this._dnd.dragObj.className += " acc_cell_dragged"; - this._dnd.ofs = true; - } - - // overlaying left/right - if (r < 0) { - if (r < -this._dnd.dragObj._k0) r = -this._dnd.dragObj._k0; - } else { - if (r > this._dnd.dragObj._k1) r = this._dnd.dragObj._k1; - } - - this._dnd.dragObj.style.top = r+"px"; - - // prev - - // get offset - var ofs = e.clientY-this._dnd.dy; - var s0 = 0; - var i = 0; - for (var q=this._dnd.dragObj._ind+1; q<=this._dnd.dragObj.parentNode.lastChild._ind; q++) { - var w0 = this._dnd.dragObj.parentNode.childNodes[q].offsetHeight; - if (ofs > s0+w0*2/3) i++; - s0 += w0; - } - - // loop through siblings - var s = this._dnd.dragObj.nextSibling; - var q = 0; - - while (s != null) { - - if (++q<=i && s != null) { - // move to left if not moved yet - if (!s._ontop) { - if (s._tm) window.clearTimeout(s._tm); - this._dndAnim(s, false, parseInt(s.style.top||0), -this._dnd.h-this.ofs.m.between); // margin-top always "between", index here will never equal 0 - s._ontop = true; - } - } else { - // move to right (to orig position) if moved to left - if (s._ontop) { - if (s._tm) window.clearTimeout(s._tm); - this._dndAnim(s, true, parseInt(s.style.top||0), 0); - s._ontop = false; - } - } - - s = s.nextSibling; - } - - // next - - // get offset - var ofs = this._dnd.dy-e.clientY; - var s0 = 0; - var i = 0; - for (var q=this._dnd.dragObj._ind-1; q>=this._dnd.dragObj.parentNode.firstChild._ind; q--) { - var w0 = this._dnd.dragObj.parentNode.childNodes[q].offsetHeight; - if (ofs > s0+w0*2/3) i++; - s0 += w0; - } - - // loop through siblings - var s = this._dnd.dragObj.previousSibling; - var q = 0; - - while (s != null) { - - if (++q<=i && s != null) { - if (!s._onbottom) { - if (s._tm) window.clearTimeout(s._tm); - this._dndAnim(s, true, parseInt(s.style.top||0), this._dnd.h+this.ofs.m.between); - s._onbottom = true; - } - } else { - if (s._onbottom) { - if (s._tm) window.clearTimeout(s._tm); - this._dndAnim(s, false, parseInt(s.style.top), 0); - s._onbottom = false; - } - } - - s = s.previousSibling; - } - - } - - this._dndDragStop = function(e, force) { - - if (force) { - // console.log("tr ended, fix drop"); - } else { - if (this._dnd.tr_count > 0) { - this._dnd.tr_waiting = true; - // console.log("still moving", this._dnd.tr_count); - return; - } - } - - if (!this._dnd.dragObj) return; - - this._dnd.dragObj.className = String(this._dnd.dragObj.className).replace(/\s{0,}acc_cell_dragged/gi,""); - this._dnd.dragObj.style.top = "0px"; - - var p = false; - - for (var q=0; q= t) { f = t; stop = true; } - } else { - f -= 5; - if (f <= t) { f = t; stop = true; } - } - obj.style.top = f+"px"; - if (obj._tm) window.clearTimeout(obj._tm); - if (!stop) { - obj._tm = window.setTimeout(function(){that._dndAnim(obj, dir, f, t);},5); - } else { - obj._tm = null; - } - - } - - this._dndOnTrEnd = function(ev) { - if (ev.stopPropagation) ev.stopPropagation(); - if (ev.propertyName == "top") { - // clear cache - if (that._dnd.tr_items[this._accId] == true) { - that._dnd.tr_count--; - that._dnd.tr_items[this._accId] = false; - } - // remove prop - this.style[this._dnd_tr_prop] = ""; - // - if (that._dnd.tr_count == 0 && that._dnd.tr_waiting == true) { - that._dndDragStop(null, true); - } - } - } - - this._dndOnMouseMove = function(e) { - that._dndDoDrag(e||event); - } - - this._dndOnMouseUp = function(e) { - that._dndDragStop(e||event); - } - - - if (window.addEventListener) { - document.body.addEventListener("mousemove", this._dndOnMouseMove, false); - document.body.addEventListener("mouseup", this._dndOnMouseUp, false); - } else { - document.body.attachEvent("onmousemove", this._dndOnMouseMove, false); - document.body.attachEvent("onmouseup", this._dndOnMouseUp, false); - } - - this._dndClearCell = function(id) { - if (this.t[id].cell.cell._dnd_ev) this.t[id].cell.cell.addEventListener(this.conf.tr.ev, this._dndOnTrEnd, false); - this._dndDetachEvent(id); - } - - this._unloadDND = function() { - - // body events - if (typeof(window.addEventListener) == "function") { - document.body.removeEventListener("mousemove", this._dndOnMouseMove, false); - document.body.removeEventListener("mouseup", this._dndOnMouseUp, false); - } else { - document.body.detachEvent("onmousemove", this._dndOnMouseMove, false); - document.body.detachEvent("onmouseup", this._dndOnMouseUp, false); - } - - // functions - for (var a in this) { - if (String(a).indexOf("_dnd") == 0 && typeof(this[a]) == "function") this[a] = null; - } - - // cell-clear will called from removeItem() - this._dnd = null; - that = null; - } - - // update cells - for (var a in this.t) this._dndAttachEvent(a); - -}; diff --git a/themes/sources4.0/dhtmlxAccordion/codebase/imgs/dhxacc_material/dhxacc_btns.png b/themes/sources4.0/dhtmlxAccordion/codebase/imgs/dhxacc_material/dhxacc_btns.png deleted file mode 100644 index 80e159c..0000000 Binary files a/themes/sources4.0/dhtmlxAccordion/codebase/imgs/dhxacc_material/dhxacc_btns.png and /dev/null differ diff --git a/themes/sources4.0/dhtmlxAccordion/codebase/imgs/dhxacc_material/dhxacc_cell_progress.gif b/themes/sources4.0/dhtmlxAccordion/codebase/imgs/dhxacc_material/dhxacc_cell_progress.gif deleted file mode 100644 index ff9a5e6..0000000 Binary files a/themes/sources4.0/dhtmlxAccordion/codebase/imgs/dhxacc_material/dhxacc_cell_progress.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxAccordion/codebase/imgs/dhxacc_skyblue/dhxacc_btns.gif b/themes/sources4.0/dhtmlxAccordion/codebase/imgs/dhxacc_skyblue/dhxacc_btns.gif deleted file mode 100644 index 7de4aab..0000000 Binary files a/themes/sources4.0/dhtmlxAccordion/codebase/imgs/dhxacc_skyblue/dhxacc_btns.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxAccordion/codebase/imgs/dhxacc_skyblue/dhxacc_cell_progress.gif b/themes/sources4.0/dhtmlxAccordion/codebase/imgs/dhxacc_skyblue/dhxacc_cell_progress.gif deleted file mode 100644 index 1df5c43..0000000 Binary files a/themes/sources4.0/dhtmlxAccordion/codebase/imgs/dhxacc_skyblue/dhxacc_cell_progress.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxAccordion/codebase/imgs/dhxacc_terrace/dhxacc_btns.gif b/themes/sources4.0/dhtmlxAccordion/codebase/imgs/dhxacc_terrace/dhxacc_btns.gif deleted file mode 100644 index e9f33e2..0000000 Binary files a/themes/sources4.0/dhtmlxAccordion/codebase/imgs/dhxacc_terrace/dhxacc_btns.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxAccordion/codebase/imgs/dhxacc_terrace/dhxacc_cell_progress.gif b/themes/sources4.0/dhtmlxAccordion/codebase/imgs/dhxacc_terrace/dhxacc_cell_progress.gif deleted file mode 100644 index 7c30859..0000000 Binary files a/themes/sources4.0/dhtmlxAccordion/codebase/imgs/dhxacc_terrace/dhxacc_cell_progress.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxAccordion/codebase/imgs/dhxacc_web/dhxacc_btns.gif b/themes/sources4.0/dhtmlxAccordion/codebase/imgs/dhxacc_web/dhxacc_btns.gif deleted file mode 100644 index 2b10256..0000000 Binary files a/themes/sources4.0/dhtmlxAccordion/codebase/imgs/dhxacc_web/dhxacc_btns.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxAccordion/codebase/imgs/dhxacc_web/dhxacc_cell_progress.gif b/themes/sources4.0/dhtmlxAccordion/codebase/imgs/dhxacc_web/dhxacc_cell_progress.gif deleted file mode 100644 index c3ccb00..0000000 Binary files a/themes/sources4.0/dhtmlxAccordion/codebase/imgs/dhxacc_web/dhxacc_cell_progress.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxAccordion/codebase/skins/dhtmlxaccordion_dhx_skyblue.css b/themes/sources4.0/dhtmlxAccordion/codebase/skins/dhtmlxaccordion_dhx_skyblue.css deleted file mode 100644 index ee93ada..0000000 --- a/themes/sources4.0/dhtmlxAccordion/codebase/skins/dhtmlxaccordion_dhx_skyblue.css +++ /dev/null @@ -1,187 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* skin detected, extra file: skins/dhx_skyblue.less */ - -.dhxacc_fullscreen { - width: 100%; - height: 100%; - margin: 0px; - overflow: hidden; -} -.dhxacc_base_dhx_skyblue { - position: relative; - cursor: default; - overflow: hidden; -} -.dhxacc_base_dhx_skyblue div.dhx_cell_acc { - position: relative; - background-color: #ffffff; - margin: 0px; - padding: 0px; - overflow: hidden; - cursor: default; - box-shadow: 0 0 3px #e0e0e0; -} -.dhxacc_base_dhx_skyblue div.dhx_cell_acc div.dhx_cell_cont_acc { - position: absolute; - border-left: 1px solid #a4bed4; - border-right: 1px solid #a4bed4; - border-bottom: 1px solid #a4bed4; - border-top: 0px solid white; - overflow: hidden; - z-index: 0; -} -.dhxacc_base_dhx_skyblue div.dhx_cell_acc div.dhx_cell_cont_acc.dhx_cell_cont_no_borders { - border-width: 0px; -} -.dhxacc_base_dhx_skyblue div.dhx_cell_acc div.dhx_cell_hdr { - position: relative; - height: 27px; - line-height: 26px; - overflow: hidden; - font-family: Tahoma; - font-size: 11px; - color: #34404b; - font-weight: bold; - border: 1px solid #a4bed4; - background-color: #e2efff; - background: linear-gradient(#e2efff,#d3e7ff); - filter: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e2efff,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100); - cursor: default; - z-index: 3; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; -} -.dhxacc_base_dhx_skyblue div.dhx_cell_acc div.dhx_cell_hdr div.dhx_cell_hdr_text { - position: relative; - margin: 0px 26px 0px 5px; - overflow: hidden; - white-space: nowrap; - cursor: default; -} -.dhxacc_base_dhx_skyblue div.dhx_cell_acc div.dhx_cell_hdr img.dhx_cell_hdr_icon { - position: absolute; - top: 5px; - left: 4px; - width: 16px; - height: 16px; -} -.dhxacc_base_dhx_skyblue div.dhx_cell_acc div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_icon { - margin-left: 24px; -} -.dhxacc_base_dhx_skyblue div.dhx_cell_acc div.dhx_cell_hdr div.dhx_cell_hdr_arrow { - position: absolute; - top: 6px; - right: 4px; - width: 16px; - height: 16px; - background-image: url("../imgs/dhxacc_skyblue/dhxacc_btns.gif"); - background-repeat: no-repeat; - background-position: 0px 0px; - overflow: hidden; - cursor: pointer; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; -} -.dhxacc_base_dhx_skyblue div.dhx_cell_acc.dhx_cell_closed div.dhx_cell_hdr div.dhx_cell_hdr_arrow { - background-position: -16px 0px; -} -.dhxacc_base_dhx_skyblue div.dhx_cell_acc div.dhx_cell_cont.dhx_cell_cont_not_last { - border-bottom: 0px solid white; -} -.dhxacc_base_dhx_skyblue div.dhx_cell_acc div.dhx_cell_menu_def { - position: relative; - overflow: hidden; - border-left: 1px solid #a4bed4; - border-right: 1px solid #a4bed4; - border-bottom: 1px solid #a4bed4; -} -.dhxacc_base_dhx_skyblue div.dhx_cell_acc div.dhx_cell_menu_no_borders { - position: relative; - overflow: hidden; -} -.dhxacc_base_dhx_skyblue div.dhx_cell_acc div.dhx_cell_menu_def div.dhtmlxMenu_dhx_skyblue_Middle, -.dhxacc_base_dhx_skyblue div.dhx_cell_acc div.dhx_cell_menu_no_borders div.dhtmlxMenu_dhx_skyblue_Middle { - padding: 0px 2px; -} -.dhxacc_base_dhx_skyblue div.dhx_cell_acc div.dhx_cell_toolbar_def div.dhx_toolbar_dhx_skyblue { - border-top-width: 0px; -} -.dhxacc_base_dhx_skyblue div.dhx_cell_acc div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_dhx_skyblue { - margin-top: -1px; -} -.dhxacc_base_dhx_skyblue div.dhx_cell_acc div.dhx_cell_ribbon_def div.dhtmlxribbon_dhx_skyblue.dhxrb_without_tabbar { - border-top: 0px solid white; - width: auto; -} -.dhxacc_base_dhx_skyblue div.dhx_cell_acc div.dhx_cell_statusbar_def { - position: absolute; - bottom: 0px; - width: 100%; - font-family: Tahoma; - font-size: 11px; - color: black; - background-color: #ddecff; -} -.dhxacc_base_dhx_skyblue div.dhx_cell_acc div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - position: relative; - padding: 0px 4px; - height: 21px; - line-height: 21px; - border-bottom: 1px solid #a4bed4; - border-left: 1px solid #a4bed4; - border-right: 1px solid #a4bed4; - white-space: nowrap; - overflow: hidden; -} -.dhxacc_base_dhx_skyblue div.dhx_cell_acc.acc_cell_dragged { - box-shadow: 0 0 5px #829cb2; - z-index: 5 !important; -} -.dhxacc_base_dhx_skyblue div.dhx_cell_acc div.dhx_cell_progress_bar { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: white; - opacity: 0.75; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=75); - z-index: 1; -} -.dhxacc_base_dhx_skyblue div.dhx_cell_acc div.dhx_cell_progress_img { - position: absolute; - left: 0px; - top: 0px; - border: 1px solid #a4bed4; - background-position: center 55%; - background-image: url("../imgs/dhxacc_skyblue/dhxacc_cell_progress.gif"); - background-repeat: no-repeat; - cursor: progress; - z-index: 2; -} -.dhxacc_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 10px; - height: 10px; - overflow: hidden; -} diff --git a/themes/sources4.0/dhtmlxAccordion/codebase/skins/dhtmlxaccordion_dhx_terrace.css b/themes/sources4.0/dhtmlxAccordion/codebase/skins/dhtmlxaccordion_dhx_terrace.css deleted file mode 100644 index f0f2275..0000000 --- a/themes/sources4.0/dhtmlxAccordion/codebase/skins/dhtmlxaccordion_dhx_terrace.css +++ /dev/null @@ -1,172 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* skin detected, extra file: skins/dhx_terrace.less */ - -.dhxacc_base_dhx_terrace { - position: relative; - cursor: default; - overflow: hidden; -} -.dhxacc_base_dhx_terrace div.dhx_cell_acc { - position: relative; - background-color: #ffffff; - margin: 0px; - padding: 0px; - overflow: hidden; - cursor: default; - box-shadow: 0 0 3px #e0e0e0; - border-color: #cccccc; -} -.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_cont_acc { - position: absolute; - border-left: 1px solid #cccccc; - border-right: 1px solid #cccccc; - border-bottom: 1px solid #cccccc; - border-top: 0px solid #ffffff; - overflow: hidden; - z-index: 0; -} -.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_hdr { - position: relative; - height: 36px; - line-height: 35px; - overflow: hidden; - font-family: Arial; - font-size: 13px; - color: #333333; - font-weight: normal; - border: 1px solid #cccccc; - background-color: #f5f5f5; - cursor: default; - z-index: 3; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_hdr div.dhx_cell_hdr_text { - position: relative; - margin: 0px 26px 0px 10px; - overflow: hidden; - white-space: nowrap; - cursor: default; -} -.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_hdr img.dhx_cell_hdr_icon { - position: absolute; - top: 11px; - left: 10px; - width: 16px; - height: 16px; -} -.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_icon { - margin-left: 32px; -} -.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_hdr div.dhx_cell_hdr_arrow { - position: absolute; - top: 11px; - right: 4px; - width: 16px; - height: 16px; - background-image: url("../imgs/dhxacc_terrace/dhxacc_btns.gif"); - background-repeat: no-repeat; - background-position: 0px 0px; - overflow: hidden; - cursor: pointer; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxacc_base_dhx_terrace div.dhx_cell_acc.dhx_cell_closed div.dhx_cell_hdr div.dhx_cell_hdr_arrow { - background-position: -16px 0px; -} -.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_cont.dhx_cell_cont_not_last { - border-bottom: 0px solid white; -} -.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_menu_def { - position: relative; - overflow: hidden; - padding: 6px; - border-left: 1px solid #cccccc; - border-right: 1px solid #cccccc; - border-bottom: 1px solid #cccccc; -} -.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_toolbar_def { - border-left: 1px solid #cccccc; - border-right: 1px solid #cccccc; - border-bottom: 1px solid #cccccc; - padding: 6px; -} -.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_dhx_terrace { - border-top: 1px solid #ffffff; -} -.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_ribbon_def div.dhtmlxribbon_dhx_terrace.dhxrb_without_tabbar { - border-top: 0px solid #ffffff; - width: auto; -} -.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_statusbar_def { - position: absolute; - bottom: 0px; - width: 100%; - font-family: Arial; - font-size: 13px; - color: #333333; - background-color: #f5f5f5; -} -.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - position: relative; - padding: 0px 4px; - height: 24px; - line-height: 23px; - border-bottom: 1px solid #cccccc; - border-left: 1px solid #cccccc; - border-right: 1px solid #cccccc; - white-space: nowrap; - overflow: hidden; -} -.dhxacc_base_dhx_terrace div.dhx_cell_acc.acc_cell_dragged { - box-shadow: 0 0 5px #aaaaaa; - z-index: 5 !important; -} -.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_progress_bar { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: #ffffff; - opacity: 0.75; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=75); - z-index: 1; -} -.dhxacc_base_dhx_terrace div.dhx_cell_acc div.dhx_cell_progress_img { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-position: center 55%; - background-image: url("../imgs/dhxacc_terrace/dhxacc_cell_progress.gif"); - background-repeat: no-repeat; - cursor: progress; - z-index: 2; -} -.dhxacc_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 30px; - height: 10px; - overflow: hidden; -} diff --git a/themes/sources4.0/dhtmlxAccordion/codebase/skins/dhtmlxaccordion_dhx_web.css b/themes/sources4.0/dhtmlxAccordion/codebase/skins/dhtmlxaccordion_dhx_web.css deleted file mode 100644 index cc7a977..0000000 --- a/themes/sources4.0/dhtmlxAccordion/codebase/skins/dhtmlxaccordion_dhx_web.css +++ /dev/null @@ -1,146 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* skin detected, extra file: skins/dhx_web.less */ - -.dhxacc_base_dhx_web { - position: relative; - cursor: default; - overflow: hidden; -} -.dhxacc_base_dhx_web div.dhx_cell_acc { - position: relative; - background-color: white; - margin: 0px; - padding: 0px; - overflow: hidden; - cursor: default; - box-shadow: 0 0 3px #e0e0e0; -} -.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_cont_acc { - position: absolute; - border-left: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; - border-bottom: 1px solid #c7c7c7; - border-top: 0px solid white; - padding: 8px; - overflow: hidden; - z-index: 0; -} -.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_hdr { - position: relative; - height: 32px; - line-height: 30px; - overflow: hidden; - font-family: Tahoma; - font-size: 12px; - color: #ffffff; - font-weight: normal; - background-color: #2589ce; - cursor: default; - z-index: 3; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_hdr div.dhx_cell_hdr_text { - position: relative; - margin: 0px 26px 0px 5px; - overflow: hidden; - white-space: nowrap; - cursor: default; -} -.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_hdr img.dhx_cell_hdr_icon { - position: absolute; - top: 7px; - left: 6px; - width: 16px; - height: 16px; -} -.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_icon { - margin-left: 24px; -} -.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_hdr div.dhx_cell_hdr_arrow { - position: absolute; - top: 8px; - right: 5px; - width: 16px; - height: 16px; - background-image: url("../imgs/dhxacc_web/dhxacc_btns.gif"); - background-repeat: no-repeat; - background-position: 0px 0px; - overflow: hidden; - cursor: pointer; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxacc_base_dhx_web div.dhx_cell_acc.dhx_cell_closed div.dhx_cell_hdr div.dhx_cell_hdr_arrow { - background-position: -16px 0px; -} -.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_cont_acc.dhx_cell_cont_not_last { - border-bottom: 0px solid white; -} -.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_menu_def { - position: relative; - overflow: hidden; - padding: 9px 9px 0px 9px; - border-left: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; -} -.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_toolbar_def { - padding: 9px 9px 0px 9px; - border-left: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; -} -.dhxacc_base_dhx_web div.dhx_cell_acc div.dhx_cell_ribbon_def div.dhtmlxribbon_dhx_web.dhxrb_without_tabbar { - border-top: 0px solid white; - width: auto; -} -.dhxacc_base_dhx_web div.dhx_cell_acc.acc_cell_dragged { - box-shadow: 0 0 5px 2px #c2c2c2; - z-index: 5 !important; -} -div.dhx_cell_acc div.dhx_cell_progress_bar { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: white; - opacity: 0.75; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=75); - z-index: 1; -} -div.dhx_cell_acc div.dhx_cell_progress_img { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-position: center 55%; - background-image: url("../imgs/dhxacc_web/dhxacc_cell_progress.gif"); - background-repeat: no-repeat; - cursor: progress; - z-index: 2; -} -.dhxacc_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 20px; - height: 10px; - overflow: hidden; -} diff --git a/themes/sources4.0/dhtmlxAccordion/codebase/skins/dhtmlxaccordion_material.css b/themes/sources4.0/dhtmlxAccordion/codebase/skins/dhtmlxaccordion_material.css deleted file mode 100644 index 934b1a3..0000000 --- a/themes/sources4.0/dhtmlxAccordion/codebase/skins/dhtmlxaccordion_material.css +++ /dev/null @@ -1,423 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: material - include extra file: skins/material.less -*/ - -@keyframes dhx_loader_rotate { - 100% { - transform: rotate(360deg); - } -} -@keyframes dhx_loader_dash { - 0% { - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - } - 50% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -35px; - } - 100% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -124px; - } -} -.dhxacc_base_material { - position: relative; - cursor: default; - overflow: hidden; -} -.dhxacc_base_material div.dhxacc_cont { - position: absolute; - *overflow: hidden; -} -.dhxacc_base_material div.dhx_cell_acc { - position: relative; - background-color: white; - margin: 0px; - padding: 0px; - overflow: hidden; - cursor: default; -} -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_cover { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - margin: 0px; - padding: 0px; - font-size: 1px; - background-color: white; - overflow: hidden; - z-index: 1; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_progress_bar { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: white; - z-index: 1; - opacity: 0.75; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=75); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_progress_img { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - border: 1px solid #e4e4e4; - background-image: url('../imgs/dhxacc_material/dhxacc_cell_progress.gif'); - background-position: center center; - background-repeat: no-repeat; - z-index: 2; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_progress_svg { - border: 1px solid #e4e4e4; - z-index: 2; - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_progress_svg .dhx_cell_prsvg { - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - margin: auto; - width: 50px; - height: 50px; - animation: dhx_loader_rotate 2s linear infinite; - transform-origin: center center; -} -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_progress_svg .dhx_cell_prsvg .dhx_cell_prcircle { - fill: none; - stroke: #3399cc; - stroke-width: 2; - stroke-miterlimit: 10; - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - stroke-linecap: round; - animation: dhx_loader_dash 1.5s ease-in-out infinite; -} -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_menu_def { - position: relative; - overflow: hidden; - border-style: solid; - border-width: 0px 1px 1px 1px; - border-color: #dfdfdf; -} -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_toolbar_def { - position: relative; - overflow: hidden; -} -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_toolbar_def .dhx_toolbar_material { - border-width: 0px 1px 1px 1px; -} -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_ribbon_def { - position: relative; - overflow: hidden; -} -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material { - border-top-width: 0px; - margin-top: -1px; - width: auto; -} -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_ribbon_def div.dhtmlxribbon_material.dhxrb_without_tabbar { - border-top-width: 0px; - width: auto; -} -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_statusbar_def { - position: absolute; - bottom: 0px; - width: 100%; - background-color: #fafafa; - z-index: 1; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - position: relative; - font: inherit; - height: 30px; - line-height: 30px; - border-style: solid; - border-width: 0px 1px 1px 1px; - border-color: #dfdfdf; - white-space: nowrap; - overflow: hidden; - padding: 0px 12px; - color: #737373; -} -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_cont_acc { - position: absolute; - border-color: #dfdfdf; - border-style: solid; - border-width: 0px 1px 1px 1px; - overflow: hidden; - z-index: 0; -} -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_hdr { - position: relative; - height: 42px; - line-height: 42px; - background-color: #fafafa; - overflow: hidden; - border-width: 1px 1px 1px 1px; - border-style: solid; - border-color: #dfdfdf; - cursor: default; - z-index: 3; - box-shadow: 0 0 10px rgba(127,127,127,0.2); - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #3399cc; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_hdr.dhx_cell_hdr_hidden { - border-width: 1px 0px 0px 0px; - height: 0px; - line-height: 0px; - overflow: hidden; - box-shadow: none; -} -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_hdr div.dhx_cell_hdr_text { - position: relative; - margin-left: 14px; - margin-right: 44px; - overflow: hidden; - white-space: nowrap; - cursor: default; -} -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_hdr div.dhx_cell_hdr_text.dhx_cell_hdr_icon { - margin-left: 44px; -} -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_hdr img.dhx_cell_hdr_icon { - position: absolute; - top: 13px; - left: 14px; - width: 16px; - height: 16px; -} -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_hdr i { - position: absolute; - left: 14px; - width: 16px; - height: 42px; - line-height: 42px; - text-align: center; - cursor: default; - font-size: 1.1em; - color: inherit; -} -.dhxacc_base_material div.dhx_cell_acc div.dhx_cell_hdr div.dhx_cell_hdr_arrow { - position: absolute; - top: 13px; - right: 14px; - width: 16px; - height: 16px; - background-image: url("../imgs/dhxacc_material/dhxacc_btns.png"); - background-repeat: no-repeat; - background-position: 0px 0px; - overflow: hidden; - cursor: pointer; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxacc_base_material div.dhx_cell_acc.dhx_cell_closed div.dhx_cell_hdr { - box-shadow: none; - color: #404040; -} -.dhxacc_base_material div.dhx_cell_acc.dhx_cell_closed div.dhx_cell_hdr div.dhx_cell_hdr_arrow { - background-position: -16px 0px; -} -.dhxacc_base_material div.dhx_cell_acc.acc_cell_dragged { - z-index: 5 !important; -} -.dhxacc_base_material div.dhxcelltop_hdr { - position: relative; -} -.dhxacc_base_material div.dhxcelltop_ftr { - position: absolute; -} -.dhxacc_base_material div.dhxcelltop_progress { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: white; - z-index: 3; - opacity: 0.55; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=55); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxacc_base_material div.dhxcelltop_progress_img { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-image: url('../imgs/dhxacc_material/dhxacc_cell_progress.gif'); - background-position: center center; - background-repeat: no-repeat; - z-index: 4; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxacc_base_material div.dhxcelltop_progress_svg { - z-index: 4; - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxacc_base_material div.dhxcelltop_progress_svg .dhx_cell_prsvg { - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - margin: auto; - width: 50px; - height: 50px; - animation: dhx_loader_rotate 2s linear infinite; - transform-origin: center center; -} -.dhxacc_base_material div.dhxcelltop_progress_svg .dhx_cell_prsvg .dhx_cell_prcircle { - fill: none; - stroke: #3399cc; - stroke-width: 2; - stroke-miterlimit: 10; - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - stroke-linecap: round; - animation: dhx_loader_dash 1.5s ease-in-out infinite; -} -.dhxacc_base_material div.dhxcelltop_menu { - position: relative; - overflow: hidden; - border-width: 1px 1px 0px 1px; - border-style: solid; - border-color: #dfdfdf; -} -.dhxacc_base_material div.dhxcelltop_toolbar { - position: relative; - overflow: hidden; -} -.dhxacc_base_material div.dhxcelltop_toolbar div.dhx_toolbar_material { - border-width: 1px 1px 0px 1px; -} -.dhxacc_base_material div.dhxcelltop_ribbon { - position: relative; - overflow: hidden; -} -.dhxacc_base_material div.dhxcelltop_ribbon div.dhtmlxribbon_material.dhxrb_without_tabbar { - border-bottom-width: 0px; - width: auto; -} -.dhxacc_base_material div.dhxcelltop_ribbon div.dhtmlxribbon_material div.dhxrb_with_tabbar.dhxtabbar_base_material div.dhxtabbar_tabs_top div.dhx_cell_tabbar div.dhx_cell_cont_tabbar { - border-bottom-width: 0px; -} -.dhxacc_base_material div.dhxcelltop_statusbar { - position: absolute; - overflow: hidden; - background-color: #fafafa; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -.dhxacc_base_material div.dhxcelltop_statusbar div.dhxcont_statusbar { - position: relative; - background-color: #fafafa; - font: inherit; - height: 30px; - line-height: 30px; - border-width: 0px 1px 1px 1px; - border-style: solid; - border-color: #dfdfdf; - padding: 0px 12px; - color: #737373; - white-space: nowrap; - overflow: hidden; -} -body.dhxacc_base_material { - background-color: #fafafa; -} -.dhxacc_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 40px; - height: 10px; - overflow: hidden; -} diff --git a/themes/sources4.0/dhtmlxCalendar/codebase/dhtmlxcalendar.js b/themes/sources4.0/dhtmlxCalendar/codebase/dhtmlxcalendar.js deleted file mode 100644 index 4faa2da..0000000 --- a/themes/sources4.0/dhtmlxCalendar/codebase/dhtmlxcalendar.js +++ /dev/null @@ -1,2503 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -function dhtmlXCalendarObject(inps, skin) { - - // parse inputs - this.i = {}; - - var p = null; - if (typeof(inps) == "string") { - var t0 = document.getElementById(inps); - } else { - var t0 = inps; - } - if (t0 && typeof(t0) == "object" && t0.tagName && String(t0.tagName).toLowerCase() != "input") p = t0; - t0 = null; - - // single param - if (typeof(inps) != "object" || !inps.length) inps = [inps]; - for (var q=0; q
              "+ - ""+ // hdrformat will here - "
              "; - ul.appendChild(li); - - var that = this; - - li[this.conf.touch?"ontouchstart":"onclick"] = function(e) { - e = e||event; - var t = (e.target||e.srcElement); - // change month by clicking left-right arrows - if (t.className && t.className.indexOf("dhtmlxcalendar_month_arrow") === 0) { - that._hideSelector(); - var ind = (t.parentNode.firstChild==t?-1:1); - var k0 = new Date(that._activeMonth); - that._drawMonth(new Date(that._activeMonth.getFullYear(), that._activeMonth.getMonth()+ind, 1, 0, 0, 0, 0)); - that._evOnArrowClick([k0, new Date(that._activeMonth)]); - return; - } - // show month selector - if (t.className && t.className == "dhtmlxcalendar_month_label_month") { - e.cancelBubble = true; - that._showSelector("month", Math.round(t.offsetLeft+t.offsetWidth/2), t.offsetTop+t.offsetHeight+2, "selector_month", true); - return; - } - // show year selector - if (t.className && t.className == "dhtmlxcalendar_month_label_year") { - e.cancelBubble = true; - that._showSelector("year", Math.round(t.offsetLeft+t.offsetWidth/2), t.offsetTop+t.offsetHeight+2, "selector_year", true); - return; - } - // hide selector if it visible - that._hideSelector(); - } - - // build days names - this.contDays = document.createElement("DIV"); - this.contDays.className = "dhtmlxcalendar_days_cont"; - this.base.firstChild.appendChild(this.contDays); - - this.setWeekStartDay = function(ind) { - // 1..7 = Mo-Su, also 0 = Su - if (ind == 0) ind = 7; - this._wStart = Math.min(Math.max((isNaN(ind)?1:ind),1),7); - this._drawDaysOfWeek(); - } - - this._drawDaysOfWeek = function() { - if (this.contDays.childNodes.length == 0) { - var ul = document.createElement("UL"); - ul.className = "dhtmlxcalendar_line"; - this.contDays.appendChild(ul); - } else { - var ul = this.contDays.firstChild; - } - - var w = this._wStart; - var k = this.langData[this.lang].daysSNames; - k.push(String(this.langData[this.lang].daysSNames[0]).valueOf()); - - for (var q=0; q<8; q++) { - if (ul.childNodes[q] == null) { - var li = document.createElement("LI"); - ul.appendChild(li); - } else { - var li = ul.childNodes[q]; - } - if (q == 0) { - li.className = "dhtmlxcalendar_cell_wn"; - li.innerHTML = "
              "+(this.langData[this.lang].weekname||"w")+"
              "; - } else { - li.className = "dhtmlxcalendar_cell"+(w>=6?" dhtmlxcalendar_day_weekday_cell":"")+(q==1?"_first":""); - li.innerHTML = k[w]; - if (++w > 7) w = 1; - } - } - if (this._activeMonth != null) this._drawMonth(this._activeMonth); - } - - this._wStart = this.langData[this.lang].weekstart; - this.setWeekStartDay(this._wStart); - - // dates container - this.contDates = document.createElement("DIV"); - this.contDates.className = "dhtmlxcalendar_dates_cont"; - this.base.firstChild.appendChild(this.contDates); - - this.contDates[this.conf.touch?"ontouchend":"onclick"] = function(e){ - - e = e||event; - var t = (e.target||e.srcElement); - - if (t.parentNode != null && t.parentNode._date != null) t = t.parentNode; - if (t._date != null && !t._css_dis) { - - var t1 = that._activeDate.getHours(); - var t2 = that._activeDate.getMinutes(); - var d0 = t._date; - - // cjeck if allow to modify input - if (that.checkEvent("onBeforeChange")) { - if (!that.callEvent("onBeforeChange",[new Date(t._date.getFullYear(),t._date.getMonth(),t._date.getDate(),t1,t2)])) return; - } - - if (that._activeDateCell != null) { - that._activeDateCell._css_date = false; - that._updateCellStyle(that._activeDateCell._q, that._activeDateCell._w); - } - - // update month if day from prev/next month clicked - var refreshView = (/*that._hasParent &&*/ that._activeDate.getFullYear()+"_"+that._activeDate.getMonth() != d0.getFullYear()+"_"+d0.getMonth()); - - that._nullDate = false; - that._activeDate = new Date(d0.getFullYear(),d0.getMonth(),d0.getDate(),t1,t2); - - that._activeDateCell = t; - that._activeDateCell._css_date = true; - that._activeDateCell._css_hover = false; - that._updateCellStyle(that._activeDateCell._q, that._activeDateCell._w); - - if (refreshView) that._drawMonth(that._activeDate); - - // update date in input if any - if (that._activeInp && that.i[that._activeInp] && that.i[that._activeInp].input != null) { - that.i[that._activeInp].input.value = that._dateToStr(new Date(that._activeDate.getTime())); - } - // hide - if (!that._hasParent) that._hide(); - // - that._evOnClick([new Date(that._activeDate.getTime())]); - - } - } - - if (!this.conf.touch) { - this.contDates.onmouseover = function(e) { - e = e||event; - var t = (e.target||e.srcElement); - if (t.parentNode != null && t.parentNode._date != null) t = t.parentNode; - if (t._date != null) { // && t != that._activeDateCell) { // skip hover for selected date - if (that._lastHover == t || t._css_hover) return; - t._css_hover = true; - that._updateCellStyle(t._q, t._w); - that._lastHover = t; - that._evOnMouseOver([new Date(t._date.getFullYear(),t._date.getMonth(),t._date.getDate(),0,0,0,0),e]); - t = null; - } - } - this.contDates.onmouseout = function(e) { - that._clearDayHover(e||event); - } - } - - this._lastHover = null; - this._clearDayHover = function(ev) { - //if (!this._lastHover || !this._lastHover._css_hover) return; - if (!this._lastHover) return; - this._lastHover._css_hover = false; - this._updateCellStyle(this._lastHover._q, this._lastHover._w); - that._evOnMouseOut([new Date(this._lastHover._date.getFullYear(),this._lastHover._date.getMonth(),this._lastHover._date.getDate(),0,0,0,0),ev]); - this._lastHover = null; - } - - // build cells - for (var q=0; q<6; q++) { - var ul = document.createElement("UL"); - ul.className = "dhtmlxcalendar_line"; - this.contDates.appendChild(ul); - for (var w=0; w<=7; w++) { - var li = document.createElement("LI"); - if (w == 0) { - // week number - li.className = "dhtmlxcalendar_cell_wn"; - } else { - li.className = "dhtmlxcalendar_cell"; - } - ul.appendChild(li); - } - } - - - // timepicker - this.contTime = document.createElement("DIV"); - this.contTime.className = "dhtmlxcalendar_time_cont"; - this.base.firstChild.appendChild(this.contTime); - - this.showTime = function() { - this.contTime.style.display = ""; - this._ifrSize(); - } - - this.hideTime = function() { - this.contTime.style.display = "none"; - this._ifrSize(); - } - - var ul = document.createElement("UL"); - ul.className = "dhtmlxcalendar_line"; - this.contTime.appendChild(ul); - - var li = document.createElement("LI"); - li.className = "dhtmlxcalendar_cell dhtmlxcalendar_time_hdr"; - li.innerHTML = "
              "+ - " : "; - ul.appendChild(li); - li[this.conf.touch?"ontouchstart":"onclick"] = function(e) { - e = e||event; - var t = (e.target||e.srcElement); - if (t.tagName != null && t.tagName.toLowerCase() == "span" && t._par == true && t.parentNode != null) { - t = t.parentNode; - } - // show hours selector - if (t.className && t.className == "dhtmlxcalendar_label_hours") { - e.cancelBubble = true; - var h = that.contMonth.offsetHeight+that.contDays.offsetHeight+that.contDates.offsetHeight+t.offsetTop; - that._showSelector("hours", Math.round(t.offsetLeft+t.offsetWidth/2), h-2, "selector_hours", true); - return; - } - // show minutes selector - if (t.className && t.className == "dhtmlxcalendar_label_minutes") { - e.cancelBubble = true; - if (that._minutesInterval == 1) { - var d = that.getFormatedDate("%i"); - t.innerHTML = ""+d.charAt(0)+""+d.charAt(1); - t.firstChild._par = true; - that._selectorMode = 1; // select hour - } - var h = that.contMonth.offsetHeight+that.contDays.offsetHeight+that.contDates.offsetHeight+t.offsetTop; - that._showSelector("minutes", Math.round(t.offsetLeft+t.offsetWidth/2), h-2, "selector_minutes",true); - return; - } - // hide selector if it visible - that._hideSelector(); - } - - - this._activeMonth = null; - - this._activeDate = new Date(); - this._activeDateCell = null; - - this.setDate = function(d) { - - this._nullDate = (typeof(d) == "undefined" || d === "" || !d); - - if (!(d instanceof Date)) { - d = this._strToDate(String(d||"")); - if (d == "Invalid Date") d = new Date(); - } - - var time = d.getTime(); - - // out of range - if (this._isOutOfRange(time)) return; - - this._activeDate = new Date(time); - this._drawMonth(this._nullDate?new Date():this._activeDate); - this._updateVisibleHours(); - this._updateVisibleMinutes(); - } - - this.getDate = function(formated) { - if (this._nullDate) return null; - var t = new Date(this._activeDate.getTime()); - if (formated) return this._dateToStr(t); - return t; - } - - this._drawMonth = function(d) { - - if (!(d instanceof Date)) return; - if (isNaN(d.getFullYear())) d = new Date(this._activeMonth.getFullYear(), this._activeMonth.getMonth(), 1, 0, 0, 0, 0); - - this._activeMonth = new Date(d.getFullYear(), d.getMonth(), 1, 0, 0, 0, 0); - - this._activeDateCell = null; - - var first = new Date(this._activeMonth.getTime()); - var d0 = first.getDay(); - - var e0 = d0-this._wStart; - if (e0 < 0) e0 = e0+7; - first.setDate(first.getDate()-e0); - - var mx = d.getMonth(); - var dx = new Date(this._activeDate.getFullYear(), this._activeDate.getMonth(), this._activeDate.getDate(), 0, 0, 0, 0).getTime(); - var i = 0; - for (var q=0; q<6; q++) { - var ws = this._wStart; - for (var w=0; w<=7; w++) { - if (w == 0) { - var wn = this.getWeekNumber(new Date(first.getFullYear(), first.getMonth(), first.getDate()+i, 0, 0, 0, 0)); - this.contDates.childNodes[q].childNodes[w].innerHTML = "
              "+wn+"
              "; - } else { - - var d2 = new Date(first.getFullYear(), first.getMonth(), first.getDate()+i, 0, 0, 0, 0); - var day = d2.getDay(); - var time = d2.getTime(); - - var label_css = "dhtmlxcalendar_label"; - if (this._tipData[time] != null) { - if (this._tipData[time].usePopup && typeof(window.dhtmlXPopup) == "function") { - this.contDates.childNodes[q].childNodes[w].removeAttribute("title"); - this._initTooltipPopup(); - } else { - this.contDates.childNodes[q].childNodes[w].setAttribute("title", this._tipData[time].text); - } - if (this._tipData[time].showIcon) label_css += " dhtmlxcalendar_label_title"; - } else { - this.contDates.childNodes[q].childNodes[w].removeAttribute("title"); - - } - - this.contDates.childNodes[q].childNodes[w].innerHTML = "
              "+d2.getDate()+"
              "; - - this.contDates.childNodes[q].childNodes[w]._date = new Date(time); - this.contDates.childNodes[q].childNodes[w]._q = q; - this.contDates.childNodes[q].childNodes[w]._w = w; - this.contDates.childNodes[q].childNodes[w]._css_month = (d2.getMonth()==mx); - this.contDates.childNodes[q].childNodes[w]._css_date = (!this._nullDate&&time==dx); - this.contDates.childNodes[q].childNodes[w]._css_weekend = (ws>=6); - this.contDates.childNodes[q].childNodes[w]._css_dis = this._isOutOfRange(time); - this.contDates.childNodes[q].childNodes[w]._css_holiday = (this._holidays[time] == true); - - this._updateCellStyle(q, w); - - if (time==dx) this._activeDateCell = this.contDates.childNodes[q].childNodes[w]; - - if (++ws > 7) ws = 1; - i++; - } - - } - } - - this.contMonth.firstChild.firstChild.childNodes[1].innerHTML = this._buildMonthHdr(d); - - } - - this._updateCellStyle = function(q, w) { - - var r = this.contDates.childNodes[q].childNodes[w]; - - var s = "dhtmlxcalendar_cell dhtmlxcalendar_cell"; - - // this/another month - s += (r._css_month ? "_month" : ""); - - // selected date - s += (r._css_date ? "_date" : ""); - - // is weekend - s += (r._css_weekend ? "_weekend" : ""); - - // is holiday - s += (r._css_holiday ? "_holiday" : ""); - - // is cell disabled - s += (r._css_dis ? "_dis" : ""); - - // is cell hover (only if not disabled) - s += (r._css_hover && !r._css_dis ? "_hover" : ""); - - r.className = s; - r = null; - - } - - /* global selector obj */ - - this._minutesInterval = 5; // default - - this._initSelector = function(type,css) { - - if (!this._selCover) { - this._selCover = document.createElement("DIV"); - this._selCover.className = "dhtmlxcalendar_selector_cover"; - this.base.firstChild.appendChild(this._selCover); - } - - if (!this._sel) { - - this._sel = document.createElement("DIV"); - this._sel.className = "dhtmlxcalendar_selector_obj"; - this.base.firstChild.appendChild(this._sel); - - this._sel.appendChild(document.createElement("TABLE")); - this._sel.firstChild.className = "dhtmlxcalendar_selector_table"; - this._sel.firstChild.cellSpacing = 0; - this._sel.firstChild.cellPadding = 0; - this._sel.firstChild.border = 0; - this._sel.firstChild.appendChild(document.createElement("TBODY")); - this._sel.firstChild.firstChild.appendChild(document.createElement("TR")); - - this._sel.firstChild.firstChild.firstChild.appendChild(document.createElement("TD")); - this._sel.firstChild.firstChild.firstChild.appendChild(document.createElement("TD")); - this._sel.firstChild.firstChild.firstChild.appendChild(document.createElement("TD")); - - this._sel.firstChild.firstChild.firstChild.childNodes[0].className = "dhtmlxcalendar_selector_cell_left"; - this._sel.firstChild.firstChild.firstChild.childNodes[1].className = "dhtmlxcalendar_selector_cell_middle"; - this._sel.firstChild.firstChild.firstChild.childNodes[2].className = "dhtmlxcalendar_selector_cell_right"; - this._sel.firstChild.firstChild.firstChild.childNodes[0].innerHTML = " "; - this._sel.firstChild.firstChild.firstChild.childNodes[2].innerHTML = " "; - - if (!this.conf.touch) { - this._sel.firstChild.firstChild.firstChild.childNodes[0].onmouseover = function(){ - this.className = "dhtmlxcalendar_selector_cell_left dhtmlxcalendar_selector_cell_left_hover"; - } - this._sel.firstChild.firstChild.firstChild.childNodes[0].onmouseout = function(){ - this.className = "dhtmlxcalendar_selector_cell_left"; - } - - this._sel.firstChild.firstChild.firstChild.childNodes[2].onmouseover = function(){ - this.className = "dhtmlxcalendar_selector_cell_right dhtmlxcalendar_selector_cell_right_hover"; - } - this._sel.firstChild.firstChild.firstChild.childNodes[2].onmouseout = function(){ - this.className = "dhtmlxcalendar_selector_cell_right"; - } - - this._sel.onmouseover = function(e) { - e = e||event; - var t = (e.target||e.srcElement); - if (t._cell === true) { - if (that._selHover != t) that._clearSelHover(); - if (String(t.className).match(/^\s{0,}dhtmlxcalendar_selector_cell\s{0,}$/gi) !=null) { - t.className += " dhtmlxcalendar_selector_cell_hover"; - that._selHover = t; - } - } - } - - this._sel.onmouseout = function() { - that._clearSelHover(); - } - } - - this._sel.firstChild.firstChild.firstChild.childNodes[0][this.conf.touch?"ontouchstart":"onclick"] = function(e){ - e = e||event; - e.cancelBubble = true; - that._scrollYears(-1); - } - - this._sel.firstChild.firstChild.firstChild.childNodes[2][this.conf.touch?"ontouchstart":"onclick"] = function(e){ - e = e||event; - e.cancelBubble = true; - that._scrollYears(1); - } - - this._sel._ta = {}; - - this._selHover = null; - - this._sel.appendChild(document.createElement("DIV")); - this._sel.lastChild.className = "dhtmlxcalendar_selector_obj_arrow"; - } - - // check if already inited - if (this._sel._ta[type] == true) return; - - // init month - if (type == "month") { - - this._msCells = {}; - - this.msCont = document.createElement("DIV"); - this.msCont.className = "dhtmlxcalendar_area_"+css; - this._sel.firstChild.firstChild.firstChild.childNodes[1].appendChild(this.msCont); - - var i = 0; - for (var q=0; q<4; q++) { - var ul = document.createElement("UL"); - ul.className = "dhtmlxcalendar_selector_line"; - this.msCont.appendChild(ul); - for (var w=0; w<3; w++) { - var li = document.createElement("LI"); - li.innerHTML = this.langData[this.lang].monthesSNames[i]; - li.className = "dhtmlxcalendar_selector_cell"; - ul.appendChild(li); - li._month = i; - li._cell = true; - this._msCells[i++] = li; - } - } - - this.msCont[this.conf.touch?"ontouchstart":"onclick"] = function(e) { - e = e||event; - e.cancelBubble = true; - var t = (e.target||e.srcElement); - if (t._month != null) { - that._hideSelector(); - that._updateActiveMonth(); - that._drawMonth(new Date(that._activeMonth.getFullYear(), t._month, 1, 0, 0, 0, 0)); - that._doOnSelectorChange(); - } - } - - } - - // init year - if (type == "year") { - - this._ysCells = {}; - - this.ysCont = document.createElement("DIV"); - this.ysCont.className = "dhtmlxcalendar_area_"+css; - this._sel.firstChild.firstChild.firstChild.childNodes[1].appendChild(this.ysCont); - - for (var q=0; q<4; q++) { - var ul = document.createElement("UL"); - ul.className = "dhtmlxcalendar_selector_line"; - this.ysCont.appendChild(ul); - for (var w=0; w<3; w++) { - var li = document.createElement("LI"); - li.className = "dhtmlxcalendar_selector_cell"; - li._cell = true; - ul.appendChild(li); - } - } - - this.ysCont[this.conf.touch?"ontouchstart":"onclick"] = function(e) { - e = e||event; - e.cancelBubble = true; - var t = (e.target||e.srcElement); - if (t._year != null) { - that._hideSelector(); - that._drawMonth(new Date(t._year, that._activeMonth.getMonth(), 1, 0, 0, 0, 0)); - that._doOnSelectorChange(); - } - } - - } - - // init hours - if (type == "hours") { - - this._hsCells = {}; - - this.hsCont = document.createElement("DIV"); - this.hsCont.className = "dhtmlxcalendar_area_"+css; - this._sel.firstChild.firstChild.firstChild.childNodes[1].appendChild(this.hsCont); - - var i = 0; - for (var q=0; q<4; q++) { - var ul = document.createElement("UL"); - ul.className = "dhtmlxcalendar_selector_line"; - this.hsCont.appendChild(ul); - for (var w=0; w<6; w++) { - var li = document.createElement("LI"); - li.innerHTML = this._fixLength(i,2); - li.className = "dhtmlxcalendar_selector_cell"; - ul.appendChild(li); - li._hours = i; - li._cell = true; - this._hsCells[i++] = li; - } - } - - this.hsCont[this.conf.touch?"ontouchstart":"onclick"] = function(e) { - e = e||event; - e.cancelBubble = true; - var t = (e.target||e.srcElement); - if (t._hours != null) { - that._hideSelector(); - that._activeDate.setHours(t._hours); - that._updateActiveHours(); - that._updateVisibleHours(); - that._doOnSelectorChange(); - } - } - - } - - // init minutes - if (type == "minutes") { - - // _minutesInterval = 5, def - - var q1 = 4; - var w1 = 3; - var len = 2; // leading zero - - if (this._minutesInterval == 1) { - if (this._selectorMode == 1) { - q1 = 2; - w1 = 3; - len = 1; - } else { - q1 = 2; - w1 = 5; - len = 1; - css += "5"; - } - } - if (this._minutesInterval == 10) q1 = 2; - if (this._minutesInterval == 15) { - q1 = 1; - w1 = 4; - css += "4"; - } - - this._rsCells = {}; - - this.rsCont = document.createElement("DIV"); - this.rsCont.className = "dhtmlxcalendar_area_"+css; - this._sel.firstChild.firstChild.firstChild.childNodes[1].appendChild(this.rsCont); - - var i = 0; - for (var q=0; q1?this._fixLength(i,len):i); - li.className = "dhtmlxcalendar_selector_cell"; - ul.appendChild(li); - li._minutes = i; - li._cell = true; - this._rsCells[i] = li; - i += this._minutesInterval; - } - } - - this.rsCont[this.conf.touch?"ontouchstart":"onclick"] = function(e) { - e = e||event; - e.cancelBubble = true; - var t = (e.target||e.srcElement); - if (t._minutes != null) { - if (that._minutesInterval == 1) { - - var m = that.getFormatedDate("%i"); - if (that._selectorMode == 1) { - m = t._minutes.toString()+m.charAt(1); - } else { - m = m.charAt(0)+t._minutes.toString(); - } - that._activeDate.setMinutes(Number(m)); - - that._hideSelector(); // will unload - - if (that._selectorMode == 1) { - // show 2nd - - that._updateVisibleMinutes(true); - that._selectorMode = 2; - that._showSelector("minutes", that._sel._x, that._sel._y, "selector_minutes", true); - that._updateActiveMinutes(); - return; - } else { - that._selectorMode = 1; - } - } else { - that._hideSelector(); - that._activeDate.setMinutes(t._minutes); - that._updateActiveMinutes(); - } - that._updateVisibleMinutes(); - that._doOnSelectorChange(); - } - } - - } - - // mark that selector of current type is inited - this._sel._ta[type] = true; - } - - this._showSelector = function(type, x, y, css, autoHide) { - - if (autoHide === true && this._sel != null && this._isSelectorVisible() && type == this._sel._t) { - this._hideSelector(); - return; - } - - if (this.conf.skin == "dhx_terrace") { - x += 12; // ul's margin - } - - if (!this._sel || !this._sel._ta[type]) this._initSelector(type,css); - - // minutes was visible, selector jumps to other type, remove red line - if (type != this._sel._t && this._sel._t == "minutes" && this._minutesInterval == 1) { - this.contTime.firstChild.firstChild.childNodes[3].innerHTML = this.getFormatedDate("%i"); - } - - this._sel._x = x; - this._sel._y = y; - - // show selector cover - this._sel.style.visibility = "hidden"; - this._sel.style.display = ""; - - this._selCover.style.width = this.base.offsetWidth-2+"px"; - this._selCover.style.top = this.contMonth.offsetHeight+"px"; - this._selCover.style.height = this.contDates.offsetHeight+this.contDays.offsetHeight-1+"px"; - - this._selCover.style.display = ""; - - // show selector - this._sel._t = type; - this._sel.className = "dhtmlxcalendar_selector_obj dhtmlxcalendar_"+css; - - // left/right table arrows - this._sel.childNodes[0].firstChild.firstChild.childNodes[0].style.display = this._sel.childNodes[0].firstChild.firstChild.childNodes[2].style.display = (type=="year"?"":"none"); - - // coords - var x0 = Math.max(0, x-Math.round(this._sel.offsetWidth/2)); - if (x0+this._sel.offsetWidth > this._sel.parentNode.offsetWidth) { - x0 = this._sel.parentNode.offsetWidth - this._sel.offsetWidth; - } - - this._sel.style.left = x0+"px"; - - if (type == "hours" || type == "minutes") { - this._sel.style.top = y-this._sel.offsetHeight+"px"; - } else { - this._sel.style.top = y+"px"; - } - - // arrow width - this._sel.childNodes[1].style.width = this._sel.childNodes[0].offsetWidth+"px"; - - // final apply - this._sel.style.visibility = "visible"; - - // callbacks - this._doOnSelectorShow(type); - } - - this._doOnSelectorShow = function(type) { - if (type == "month") this._updateActiveMonth(); - if (type == "year") this._updateYearsList(this._activeMonth); - if (type == "hours") this._updateActiveHours(); - if (type == "minutes") this._updateActiveMinutes(); - } - - this._hideSelector = function(selMode) { - if (!this._sel) return; - this._sel.style.display = "none"; - this._sel.style.visible = "hidden"; - this._selCover.style.display = "none"; - // - if (this._sel._t == "minutes" && this._minutesInterval == 1) { - this.contTime.firstChild.firstChild.childNodes[3].innerHTML = this.getFormatedDate("%i"); - this._unloadSelector("minutes"); - } - } - - this._isSelectorVisible = function() { - if (!this._sel) return false; - return (this._sel.style.display != "none"); - } - - this._doOnSelectorChange = function(state) { - this.callEvent("onChange",[new Date(this._activeMonth.getFullYear(), this._activeMonth.getMonth(), this._activeDate.getDate(), this._activeDate.getHours(), this._activeDate.getMinutes(), this._activeDate.getSeconds()),state===true]); - } - - this._clearSelHover = function() { - if (!this._selHover) return; - this._selHover.className = String(this._selHover.className.replace(/dhtmlxcalendar_selector_cell_hover/gi,"")); - this._selHover = null; - } - - this._unloadSelector = function(type) { - if (!this._sel) return; - if (!this._sel._ta[type]) return; - - // month selector - if (type == "month") { - - this.msCont.onclick = this.msCont.ontouchstart = null; - this._msActive = null; - - // li - for (var a in this._msCells) { - this._msCells[a]._cell = null; - this._msCells[a]._month = null; - this._msCells[a].parentNode.removeChild(this._msCells[a]); - this._msCells[a] = null; - } - this._msCells = null; - - // ul - while (this.msCont.childNodes.length > 0) this.msCont.removeChild(this.msCont.lastChild); - - // div - this.msCont.parentNode.removeChild(this.msCont); - this.msCont = null; - - } - - // years selector - if (type == "year") { - - this.ysCont.onclick = this.ysCont.ontouchstart = null; - - // li - for (var a in this._ysCells) { - this._ysCells[a]._cell = null; - this._ysCells[a]._year = null; - this._ysCells[a].parentNode.removeChild(this._ysCells[a]); - this._ysCells[a] = null; - } - this._ysCells = null; - - // ul - while (this.ysCont.childNodes.length > 0) this.ysCont.removeChild(this.ysCont.lastChild); - - // div - this.ysCont.parentNode.removeChild(this.ysCont); - this.ysCont = null; - - } - - // hours selector - if (type == "hours") { - - this.hsCont.onclick = this.hsCont.ontouchstart = null; - this._hsActive = null; - - // li - for (var a in this._hsCells) { - this._hsCells[a]._cell = null; - this._hsCells[a]._hours = null; - this._hsCells[a].parentNode.removeChild(this._hsCells[a]); - this._hsCells[a] = null; - } - this._hsCells = null; - - // ul - while (this.hsCont.childNodes.length > 0) this.hsCont.removeChild(this.hsCont.lastChild); - - // div - this.hsCont.parentNode.removeChild(this.hsCont); - this.hsCont = null; - - } - - // minutes selector - if (type == "minutes") { - - this.rsCont.onclick = this.rsCont.ontouchstart = null; - this._rsActive = null; - - // li - for (var a in this._rsCells) { - this._rsCells[a]._cell = null; - this._rsCells[a]._minutes = null; - this._rsCells[a].parentNode.removeChild(this._rsCells[a]); - this._rsCells[a] = null; - } - this._rsCells = null; - - // ul - while (this.rsCont.childNodes.length > 0) this.rsCont.removeChild(this.rsCont.lastChild); - - // div - this.rsCont.parentNode.removeChild(this.rsCont); - this.rsCont = null; - - } - - - this._sel._ta[type] = null; - } - - this.setMinutesInterval = function(d) { - if (!(d == 1 || d == 5 || d == 10 || d == 15)) return; - this._minutesInterval = d; - this._unloadSelector("minutes"); - } - - - /* month selector */ - - this._updateActiveMonth = function() { - if (typeof(this._msActive) != "undefined" && typeof(this._msCells[this._msActive]) != "undefined") this._msCells[this._msActive].className = "dhtmlxcalendar_selector_cell"; - this._msActive = this._activeMonth.getMonth(); - this._msCells[this._msActive].className = "dhtmlxcalendar_selector_cell dhtmlxcalendar_selector_cell_active"; - } - - /* year selector */ - - this._updateActiveYear = function() { - var i = this._activeMonth.getFullYear(); - if (this._ysCells[i]) this._ysCells[i].className = "dhtmlxcalendar_selector_cell dhtmlxcalendar_selector_cell_active"; - } - - this._updateYearsList = function(d) { - for (var a in this._ysCells) { - this._ysCells[a] = null; - delete this._ysCells[a]; - } - // - var i = 12*Math.floor(d.getFullYear()/12); - for (var q=0; q<4; q++) { - for (var w=0; w<3; w++) { - this.ysCont.childNodes[q].childNodes[w].innerHTML = i; - this.ysCont.childNodes[q].childNodes[w]._year = i; - this.ysCont.childNodes[q].childNodes[w].className = "dhtmlxcalendar_selector_cell"; - this._ysCells[i++] = this.ysCont.childNodes[q].childNodes[w]; - } - } - this._updateActiveYear(); - } - - this._scrollYears = function(i) { - var y = (i<0?this.ysCont.firstChild.firstChild._year:this.ysCont.lastChild.lastChild._year)+i; - var d = new Date(y, this._activeMonth.getMonth(), 1, 0, 0, 0, 0); - this._updateYearsList(d); - } - - /* hours selector */ - - // update hours in selector - this._updateActiveHours = function() { - if (typeof(this._hsActive) != "undefined" && typeof(this._hsCells[this._hsActive]) != "undefined") this._hsCells[this._hsActive].className = "dhtmlxcalendar_selector_cell"; - this._hsActive = this._activeDate.getHours(); - this._hsCells[this._hsActive].className = "dhtmlxcalendar_selector_cell dhtmlxcalendar_selector_cell_active"; - } - - // update hours in calendar - this._updateVisibleHours = function() { - this.contTime.firstChild.firstChild.childNodes[1].innerHTML = this._fixLength(this._activeDate.getHours(),2); - } - - /* minutes selector */ - - // update minutes in selector - this._updateActiveMinutes = function() { - if (this._rsActive != null && typeof(this._rsActive) != "undefined" && typeof(this._rsCells[this._rsActive]) != "undefined") this._rsCells[this._rsActive].className = "dhtmlxcalendar_selector_cell"; - if (this._minutesInterval == 1) { - this._rsActive = (this.getFormatedDate("%i").toString()).charAt(this._selectorMode==1?0:1); - } else { - this._rsActive = this._activeDate.getMinutes(); - } - if (typeof(this._rsCells[this._rsActive]) != "undefined") this._rsCells[this._rsActive].className = "dhtmlxcalendar_selector_cell dhtmlxcalendar_selector_cell_active"; - } - - // update minutes in calendar - this._updateVisibleMinutes = function(h) { - var t = this._fixLength(this._activeDate.getMinutes(),2).toString(); - if (h == true) t = t.charAt(0)+""+t.charAt(1)+""; - this.contTime.firstChild.firstChild.childNodes[3].innerHTML = t; - if (h == true) this.contTime.firstChild.firstChild.childNodes[3].lastChild._par = true; - } - - /* some common functionality */ - - this._fixLength = function(t, r) { - while (String(t).length < r) t = "0"+String(t); - return t; - } - - this._dateFormat = ""; - this._dateFormatRE = null; - - this.setDateFormat = function(format) { - - // check value in inputs - // for 1st call on init strTodate not defined - var upd = {}; - if (this._strToDate != null) { - for (var a in this.i) { - if (this.i[a].input != null && this.i[a].input.value.length > 0) { - var d = this._strToDate(this.i[a].input.value, this._dateFormat||this.langData[this.lang].dateformat||"%Y-%m-%d"); - if (d instanceof Date) upd[a] = d; - } - } - } - - this._dateFormat = format; - var k = String(this._dateFormat).replace(/%[a-zA-Z]+/g,function(t){ - var t2 = t.replace(/%/,""); - switch (t2) { - case "n": - case "h": - case "j": - case "g": - case "G": - return "\\d{1,2}"; - case "m": - case "d": - case "H": - case "i": - case "s": - case "y": - return "\\d{2}"; - case "Y": - return "\\d{4}"; - case "M": - return "("+that.langData[that.lang].monthesSNames.join("|").toLowerCase()+"){1,}"; - case "F": - return "("+that.langData[that.lang].monthesFNames.join("|").toLowerCase()+"){1,}"; - case "D": - return "[a-z]{2}"; - case "a": - case "A": - return "AM|PM"; - } - return t; - }); - - this._dateFormatRE = new RegExp(k,"i"); - - // update dates in inputs - for (var a in upd) { - this.i[a].input.value = this._dateToStr(upd[a]); - } - upd = null; - } - - this.setDateFormat(this.langData[this.lang].dateformat||"%Y-%m-%d"); - - // get index by value - this._getInd = function(val,ar) { - for (var q=0; q= ws && x1 <= ft) { - // x1 belong 1st week - } else { - // x1 belong 2nd week - i = 1; - } - var k = x1-ws; - var w1 = new Date(dateX.getFullYear(), 0, 1-k+i*7, 0, 0, 0, 0);// 1st week start date - - // console.log("1st week of "+x.getFullYear()+" year starts from "+this.getFormatedDate("%M %d, %Y",w1)); - - var d7 = 604800000; // 7 days in ms, 60*60*24*7*1000 - var x2 = new Date(dateX.getFullYear(), dateX.getMonth(), dateX.getDate()+1, 0, 0, 0, 0); // 2nd day to get interval - - var wn = Math.ceil((x2.getTime()-w1.getTime())/d7); - - return wn; - - } - - this.showWeekNumbers = function() { - this.base.firstChild.className = "dhtmlxcalendar_wn"; - } - - this.hideWeekNumbers = function() { - this.base.firstChild.className = ""; - } - - /* show/hide calendar */ - - // public show/hide - - this.show = function(id) { - // if id not set - try show in container - if (!id && this._hasParent) { - this._show(); - return; - } - // if input id not specified show near first found - // if nothing found - do not show - if (typeof(id) == "object" && typeof(id._dhtmlxcalendar_uid) != "undefined" && this.i[id._dhtmlxcalendar_uid] == id) { - this._show(id._dhtmlxcalendar_uid); - return; - } - if (typeof(id) == "undefined") { for (var a in this.i) if (!id) id = a; } - if (!id) return; - this._show(id); - } - - this.hide = function() { - if (this._isVisible()) this._hide(); - } - - this.isVisible = function() { - return this._isVisible(); - } - - - // private show/hide - this._activeInp = null; - - this.pos = "bottom"; - this.setPosition = function(x, y) { - this._px = null; - this._py = null; - if (x == "right" || x == "bottom") { - this.pos = x; - } else { - this.pos = "int"; - if (typeof(x) != "undefined" && !isNaN(x)) { - this.base.style.left = x+"px"; - this._px = x; - } - if (typeof(y) != "undefined" && !isNaN(y)) { - this.base.style.top = y+"px"; - this._py = y; - } - this._ifrSize(); - } - } - - this._show = function(inpId, autoHide) { - if (autoHide === true && this._activeInp == inpId && this._isVisible()) { - this._hide(); - return; - } - this.base.style.visibility = "hidden"; - this.base.style.display = ""; - if (!inpId) { - if (this._px && this._py) { - this.base.style.left = this._px+"px"; - this.base.style.top = this._py+"px"; - } else { - this.base.style.left = "0px"; - this.base.style.top = "0px"; - } - } else { - if (this.base.className.indexOf("dhtmlxcalendar_in_input") == -1) this.base.className += " dhtmlxcalendar_in_input"; - var i = (this.i[inpId].input||this.i[inpId].button); - var _isIE = (navigator.appVersion.indexOf("MSIE")!=-1); - var y1 = Math.max((_isIE?document.documentElement:document.getElementsByTagName("html")[0]).scrollTop, document.body.scrollTop); - var y2 = y1+(_isIE?Math.max(document.documentElement.clientHeight||0,document.documentElement.offsetHeight||0,document.body.clientHeight||0):window.innerHeight); - if (this.pos == "right") { - this.base.style.left = this._getLeft(i)+i.offsetWidth+"px"; - this.base.style.top = Math.min(this._getTop(i),y2-this.base.offsetHeight)+"px"; - } else if (this.pos == "bottom") { - var y0 = this._getTop(i)+i.offsetHeight+1; - if (y0+this.base.offsetHeight > y2) y0 = this._getTop(i)-this.base.offsetHeight; - this.base.style.left = this._getLeft(i)+"px"; - this.base.style.top = y0+"px"; - } else { - this.base.style.left = (this._px||0)+"px"; - this.base.style.top = (this._py||0)+"px"; - } - this._activeInp = inpId; - i = null; - } - this._hideSelector(); - this.base.style.visibility = "visible"; - this.base.style.zIndex = window.dhx4.zim.reserve(this.conf.zi); - this._ifrSize(); - if (this._ifr) this._ifr.style.display = ""; - this.callEvent("onShow",[]); - } - - this._hide = function() { - this._hideSelector(); - this.base.style.display = "none"; - window.dhx4.zim.clear(this.conf.zi); - if (this.base.className.indexOf("dhtmlxcalendar_in_input") >= 0) this.base.className = this.base.className.replace(/\s{0,}dhtmlxcalendar_in_input/gi, ""); - this._activeInp = null; - if (this._ifr) this._ifr.style.display = "none"; - this.callEvent("onHide",[]); - } - - this._isVisible = function() { - return (this.base.style.display!="none"); - } - - this._getLeft = function(obj) { - return this._posGetOffset(obj).left; - } - - this._getTop = function(obj) { - return this._posGetOffset(obj).top; - } - - this._posGetOffsetSum = function(elem) { - var top=0, left=0; - while(elem) { - top = top + parseInt(elem.offsetTop); - left = left + parseInt(elem.offsetLeft); - elem = elem.offsetParent; - } - return {top: top, left: left}; - } - this._posGetOffsetRect = function(elem) { - var box = elem.getBoundingClientRect(); - var body = document.body; - var docElem = document.documentElement; - var scrollTop = window.pageYOffset || docElem.scrollTop || body.scrollTop; - var scrollLeft = window.pageXOffset || docElem.scrollLeft || body.scrollLeft; - var clientTop = docElem.clientTop || body.clientTop || 0; - var clientLeft = docElem.clientLeft || body.clientLeft || 0; - var top = box.top + scrollTop - clientTop; - var left = box.left + scrollLeft - clientLeft; - return { top: Math.round(top), left: Math.round(left) }; - } - this._posGetOffset = function(elem) { - return this[elem.getBoundingClientRect?"_posGetOffsetRect":"_posGetOffsetSum"](elem); - } - - this._rangeActive = false; - this._rangeFrom = null; - this._rangeTo = null; - this._rangeSet = {}; - - this.setInsensitiveDays = function(d) { - - // !works in append mode - var t = this._extractDates(d); - for (var q=0; qthis._rangeTo)) return true; - if (this._rangeType == "out" && (time>=this._rangeFrom && time<=this._rangeTo)) return true; - if (this._rangeType == "from" && timethis._rangeTo) return true; - } - - var t0 = new Date(time); - - if (this._rangeWeek) { - if (this._rangeWeekData[t0.getDay()] === true) return true; - } - - if (this._rangeMonth) { - if (this._rangeMonthData[t0.getDate()] === true) return true; - } - - if (this._rangeYear) { - if (this._rangeYearData[t0.getMonth()+"_"+t0.getDate()] === true) return true; - } - - return false; - - } - - this.clearSensitiveRange = function() { - this._clearRange(); - this._drawMonth(this._activeMonth); - } - - this.setSensitiveRange = function(from, to, ins) { - - var f = false; - - // set range - if (from != null && to != null) { - - if (!(from instanceof Date)) from = this._strToDate(from); - if (!(to instanceof Date)) to = this._strToDate(to); - - if (from.getTime() > to.getTime()) return; - - this._rangeFrom = new Date(from.getFullYear(),from.getMonth(),from.getDate(),0,0,0,0).getTime(); - this._rangeTo = new Date(to.getFullYear(),to.getMonth(),to.getDate(),0,0,0,0).getTime(); - this._rangeActive = true; - this._rangeType = "in"; - - f = true; - } - - // set range "from date" - if (!f && from != null && to == null) { - - if (!(from instanceof Date)) from = this._strToDate(from); - this._rangeFrom = new Date(from.getFullYear(),from.getMonth(),from.getDate(),0,0,0,0).getTime(); - this._rangeTo = null; - - if (ins === true) this._rangeFrom++; - - this._rangeActive = true; - this._rangeType = "from"; - - f = true; - - } - - // set range "to date" - if (!f && from == null && to != null) { - - if (!(to instanceof Date)) to = this._strToDate(to); - this._rangeFrom = null; - this._rangeTo = new Date(to.getFullYear(),to.getMonth(),to.getDate(),0,0,0,0).getTime(); - - if (ins === true) this._rangeTo--; - - this._rangeActive = true; - this._rangeType = "to"; - - f = true; - - } - - if (f) this._drawMonth(this._activeMonth); - } - - this.setInsensitiveRange = function(from, to) { - - if (from != null && to != null) { - - if (!(from instanceof Date)) from = this._strToDate(from); - if (!(to instanceof Date)) to = this._strToDate(to); - - if (from.getTime() > to.getTime()) return; - - this._rangeFrom = new Date(from.getFullYear(),from.getMonth(),from.getDate(),0,0,0,0).getTime(); - this._rangeTo = new Date(to.getFullYear(),to.getMonth(),to.getDate(),0,0,0,0).getTime(); - this._rangeActive = true; - this._rangeType = "out"; - - this._drawMonth(this._activeMonth); - return; - } - - if (from != null && to == null) { - this.setSensitiveRange(null, from, true); - return; - } - - if (from == null && to != null) { - this.setSensitiveRange(to, null, true); - return; - } - - } - - // - this.disableDays = function(mode, d) { - - if (mode == "week") { - - // !! works in replace mode - - if (typeof(d) != "object" && typeof(d.length) == "undefined") d = [d]; - - if (!this._rangeWeekData) this._rangeWeekData = {}; - for (var a in this._rangeWeekData) { - this._rangeWeekData[a] = false; - delete this._rangeWeekData[a]; - } - - for (var q=0; q 0) this.contMonth.firstChild.firstChild.removeChild(this.contMonth.firstChild.firstChild.lastChild); - - // li - this.contMonth.firstChild.removeChild(this.contMonth.firstChild.firstChild); - - // ul - this.contMonth.removeChild(this.contMonth.firstChild); - - // div - this.contMonth.parentNode.removeChild(this.contMonth); - this.contMonth = null; - - /* days */ - - // li - while (this.contDays.firstChild.childNodes.length > 0) this.contDays.firstChild.removeChild(this.contDays.firstChild.lastChild); - - // ul - this.contDays.removeChild(this.contDays.firstChild); - - // div - this.contDays.parentNode.removeChild(this.contDays); - this.contDays = null; - - /* dates */ - - this.contDates.onclick = null; - this.contDates.ontouchstart = null; - this.contDates.onmouseover = null; - this.contDates.onmouseout = null; - - while (this.contDates.childNodes.length > 0) { - while (this.contDates.lastChild.childNodes.length > 0) { - // li - this.contDates.lastChild.lastChild._css_date = null; - this.contDates.lastChild.lastChild._css_month = null; - this.contDates.lastChild.lastChild._css_weekend = null; - this.contDates.lastChild.lastChild._css_hover = null; - this.contDates.lastChild.lastChild._date = null; - this.contDates.lastChild.lastChild._q = null; - this.contDates.lastChild.lastChild._w = null; - this.contDates.lastChild.removeChild(this.contDates.lastChild.lastChild); - } - // ul - this.contDates.removeChild(this.contDates.lastChild); - } - - // div - this.contDates.parentNode.removeChild(this.contDates); - this.contDates = null; - - /* time */ - - this.contTime.firstChild.firstChild.onclick = null; - this.contTime.firstChild.firstChild.ontouchstart = null; - - // labels - while (this.contTime.firstChild.firstChild.childNodes.length > 0) this.contTime.firstChild.firstChild.removeChild(this.contTime.firstChild.firstChild.lastChild); - - // li - this.contTime.firstChild.removeChild(this.contTime.firstChild.firstChild); - - // ul - this.contTime.removeChild(this.contTime.firstChild); - - // div - this.contTime.parentNode.removeChild(this.contTime); - this.contTime = null; - - - this._lastHover = null; - - /* selector */ - - this._unloadSelector("month"); - this._unloadSelector("year"); - this._unloadSelector("hours"); - this._unloadSelector("minutes"); - - // selector cover - if (this._selCover) { - this._selCover.parentNode.removeChild(this._selCover); - this._selCover = null; - } - - // selector object - if (this._sel) { - - for (var a in this._sel._ta) this._sel._ta[a] = null; - this._sel._ta = null; - this._sel._t = null; - - this._sel.onmouseover = null; - this._sel.onmouseout = null; - - // td - while (this._sel.firstChild.firstChild.firstChild.childNodes.length > 0) { - this._sel.firstChild.firstChild.firstChild.lastChild.onclick = null; - this._sel.firstChild.firstChild.firstChild.lastChild.onmouseover = null; - this._sel.firstChild.firstChild.firstChild.lastChild.onmouseout = null; - this._sel.firstChild.firstChild.firstChild.removeChild(this._sel.firstChild.firstChild.firstChild.lastChild); - } - - // tr - this._sel.firstChild.firstChild.removeChild(this._sel.firstChild.firstChild.firstChild); - - // tbody - this._sel.firstChild.removeChild(this._sel.firstChild.firstChild); - - // table and arrow div - while (this._sel.childNodes.length > 0) this._sel.removeChild(this._sel.lastChild); - - // object - this._sel.parentNode.removeChild(this._sel); - this._sel = null; - } - - - /* base */ - - this.base.onclick = null; - this.base.onmousedown = null; - this.base.ontouchstart = null; - this.base.onmouseout = null; - this.base.parentNode.removeChild(this.base); - this.base = null; - - /* methods */ - - this._clearDayHover = null; - this._clearSelHover = null; - this._doOnSelectorChange = null; - this._doOnSelectorShow = null; - this._drawMonth = null; - this._fixLength = null; - this._getLeft = null; - this._getTop = null; - this._ifrSize = null; - this._hide = null; - this._hideSelector = null; - this._initSelector = null; - this._isSelectorVisible = null; - this._isVisible = null; - this._posGetOffset = null; - this._posGetOffsetRect = null; - this._posGetOffsetSum = null; - this._scrollYears = null; - this._show = null; - this._showSelector = null; - this._strToDate = null; - this._updateActiveHours = null; - this._updateActiveMinutes = null; - this._updateActiveMonth = null; - this._updateActiveYear = null; - this._updateCellStyle = null; - this._updateDateStr = null; - this._updateVisibleHours = null; - this._updateVisibleMinutes = null; - this._updateYearsList = null; - this.enableIframe = null; - this.hide = null; - this.hideTime = null; - this.setDate = null; - this.setDateFormat = null; - this.setYearsRange = null; - this.show = null; - this.showTime = null; - this.unload = null; - - /* popup */ - if (this._tipPopup != null) { - this._tipPopup.unload(); - this._tipPopup = null; - } - - for (var a in this) delete this[a]; - - a = that = null; - - } - - - // set init date - this.setDate(this._activeDate); - - return this; -}; - -dhtmlXCalendarObject.prototype.lang = "en"; -dhtmlXCalendarObject.prototype.langData = { - "en": { - dateformat: "%Y-%m-%d", - hdrformat: "%F %Y", - monthesFNames: ["January","February","March","April","May","June","July","August","September","October","November","December"], - monthesSNames: ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"], - daysFNames: ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"], - daysSNames: ["Su","Mo","Tu","We","Th","Fr","Sa"], - weekstart: 1, - weekname: "w" - } -}; - -dhtmlXCalendarObject.prototype._buildMonthHdr = function(val) { - var that = this; - var z = function(t) { - return (String(t).length==1?"0"+String(t):t); - } - var w = function(type, str) { - return ""+str+""; - } - var format = String(this.langData[this.lang].hdrformat||("%F %Y")).replace(/%[a-z]/gi, function(t){ - switch (t) { - case "%m": return w("month", z(val.getMonth()+1)); - case "%n": return w("month", val.getMonth()+1); - case "%M": return w("month", that.langData[that.lang].monthesSNames[val.getMonth()]); - case "%F": return w("month", that.langData[that.lang].monthesFNames[val.getMonth()]); - case "%y": return w("year", z(val.getYear()%100)); - case "%Y": return w("year", val.getFullYear()); - case "%%": return "%"; - default: return t; - } - }); - that = z = w = null; - return format; -}; - -dhtmlXCalendarObject.prototype.enableIframe = function(mode) { - if (mode == true) { - if (!this._ifr) { - this._ifr = document.createElement("IFRAME"); - this._ifr.frameBorder = 0; - this._ifr.border = 0; - this._ifr.setAttribute("src","javascript:false;"); - this._ifr.className = "dhtmlxcalendar_ifr"; - this._ifr.onload = function(){ - this.onload = null; - this.contentWindow.document.open("text/html", "replace"); - this.contentWindow.document.write(""); - } - this.base.parentNode.insertBefore(this._ifr, this.base); - this._ifrSize(); - } - } else { - if (this._ifr) { - this._ifr.parentNode.removeChild(this._ifr); - this._ifr = null; - } - } -}; - -dhtmlXCalendarObject.prototype._ifrSize = function() { - if (this._ifr) { - this._ifr.style.left = this.base.style.left; - this._ifr.style.top = this.base.style.top; - this._ifr.style.width = this.base.offsetWidth+"px"; - this._ifr.style.height = this.base.offsetHeight+"px"; - } -}; - -dhtmlxCalendarObject = dhtmlXCalendarObject; - -dhtmlXCalendarObject.prototype._strToDate = function(val, format) { - - format = (format||this._dateFormat); - - // escape custom chars - format = format.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\\:|]/g, "\\$&"); - - var v = []; - var f = []; - - // escape required chars - format = format.replace(/%[a-z]/gi, function(t){ - - switch (t) { - // 2 digits - case "%d": - case "%m": - case "%y": - case "%h": - case "%H": - case "%i": - case "%s": f.push(t); return "(\\d{2})"; - - // chars - case "%D": - case "%l": - case "%M": - case "%F": f.push(t); return "([a-zéûä\u0430-\u044F\u0451]{1,})"; - - // 1-2 digits - case "%j": - case "%n": - case "%g": - case "%G": f.push(t); return "(\\d{1,2})"; - - // 4 digits - case "%Y": f.push(t); return "(\\d{4})"; - - - // am/pm - case "%a": f.push(t); return "(\\[am|pm])"; - case "%A": f.push(t); return "(\\[AM|PM])"; - } - - return t; - }); - - var re = new RegExp(format) - var e = val.match(re); - - if (e == null || e.length-1 != f.length) return "Invalid Date"; - - // sorting - /* - Year y,Y 1 - Month n,m,M,F 2 - Day d,j 3 - AM/PM a,A 4 - Hours H,G,h,g 5 - Minutes i 6 - Seconds s 7 - */ - - for (var q=1; q= 0) r.setMonth(k); - break; - case "%y": - if (!isNaN(v[q])) { - var v0 = Number(v[q]); - r.setFullYear(v0+(v0>50?1900:2000)); - } - break; - case "%g": - case "%h": - if (!isNaN(v[q])) { - var v0 = Number(v[q]); - if (v0 <= 12 && v0 >= 0) { - // 12:00 AM -> midnight - // 12:00 PM -> noon - r.setHours(v0+(this._getInd("pm",v)>=0?(v0==12?0:12):(v0==12?-12:0))); - } - } - break; - - } - - } - - that = null; - - return r; - - -}; - -dhtmlXCalendarObject.prototype._dateToStr = function(val, format) { - - var that = this; - - if (val instanceof Date) { - var z = function(t) { - return (String(t).length==1?"0"+String(t):t); - } - var k = function(t) { - switch(t) { - case "%d": return z(val.getDate()); - case "%j": return val.getDate(); - case "%D": return that.langData[that.lang].daysSNames[val.getDay()]; - case "%l": return that.langData[that.lang].daysFNames[val.getDay()]; - // %W - ISO-8601 week number of year, weeks starting on Monday; 1) - case "%m": return z(val.getMonth()+1); - case "%n": return val.getMonth()+1; - case "%M": return that.langData[that.lang].monthesSNames[val.getMonth()]; - case "%F": return that.langData[that.lang].monthesFNames[val.getMonth()]; - case "%y": return z(val.getYear()%100); - case "%Y": return val.getFullYear(); - case "%g": return (val.getHours()+11)%12+1; - case "%h": return z((val.getHours()+11)%12+1); - case "%G": return val.getHours(); - case "%H": return z(val.getHours()); - case "%i": return z(val.getMinutes()); - case "%s": return z(val.getSeconds()); - case "%a": return (val.getHours()>11?"pm":"am"); - case "%A": return (val.getHours()>11?"PM":"AM"); - case "%%": "%"; - default: return t; - } - } - var t = String(format||this._dateFormat).replace(/%[a-zA-Z]/g, k); - } - - that = null; - - return (t||String(val)); -}; diff --git a/themes/sources4.0/dhtmlxCalendar/codebase/dhtmlxcalendar_deprecated.js b/themes/sources4.0/dhtmlxCalendar/codebase/dhtmlxcalendar_deprecated.js deleted file mode 100644 index bc17d65..0000000 --- a/themes/sources4.0/dhtmlxCalendar/codebase/dhtmlxcalendar_deprecated.js +++ /dev/null @@ -1,17 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -dhtmlXCalendarObject.prototype.draw = function() { - this.show(); -}; -dhtmlXCalendarObject.prototype.close = function() { - this.hide(); -}; -dhtmlXCalendarObject.prototype.setYearsRange = function() { - -}; diff --git a/themes/sources4.0/dhtmlxCalendar/codebase/ext/dhtmlxcalendar_double.js b/themes/sources4.0/dhtmlxCalendar/codebase/ext/dhtmlxcalendar_double.js deleted file mode 100644 index d2c392a..0000000 --- a/themes/sources4.0/dhtmlxCalendar/codebase/ext/dhtmlxcalendar_double.js +++ /dev/null @@ -1,102 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -window.dhtmlxDblCalendarObject = window.dhtmlXDoubleCalendarObject = window.dhtmlXDoubleCalendar = function(parentId) { - - var that = this; - - this.leftCalendar = new dhtmlXCalendarObject(parentId); - this.leftCalendar.hideTime(); - this.rightCalendar = new dhtmlXCalendarObject(parentId); - this.rightCalendar.hideTime(); - - this.leftCalendar.attachEvent("onClick", function(d){ - that._updateRange("rightCalendar", d, null); - that._evOnClick(["left", d]); - }); - - this.rightCalendar.attachEvent("onClick", function(d){ - that._updateRange("leftCalendar", null, d); - that._evOnClick(["right", d]); - }); - - this.leftCalendar.attachEvent("onBeforeChange", function(d){ - return that._evOnBeforeChange(["left",d]); - }); - - this.rightCalendar.attachEvent("onBeforeChange", function(d){ - return that._evOnBeforeChange(["right",d]); - }); - - this.show = function() { - this.leftCalendar.show(); - this.rightCalendar.base.style.marginLeft=this.leftCalendar.base.offsetWidth-1+"px"; - this.rightCalendar.show(); - } - - this.hide = function() { - this.leftCalendar.hide(); - this.rightCalendar.hide(); - } - - this.setDateFormat = function(t) { - this.leftCalendar.setDateFormat(t); - this.rightCalendar.setDateFormat(t); - } - - this.setDates = function(d0, d1) { - if (d0 != null) this.leftCalendar.setDate(d0); - if (d1 != null) this.rightCalendar.setDate(d1); - this._updateRange(); - } - - this._updateRange = function(obj, from, to) { - if (arguments.length == 3) { - (obj=="leftCalendar"?this.leftCalendar:this.rightCalendar).setSensitiveRange(from, to); - } else { - this.leftCalendar.setSensitiveRange(null, this.rightCalendar.getDate()); - this.rightCalendar.setSensitiveRange(this.leftCalendar.getDate(), null); - } - } - - this.getFormatedDate = function() { - return this.leftCalendar.getFormatedDate.apply(this.leftCalendar, arguments); - } - - this.unload = function() { - - window.dhx4._eventable(this, "clear"); - - this.leftCalendar.unload(); - this.rightCalendar.unload(); - this.leftCalendar = this.rightCalendar = null; - - this._updateRange = null; - this._evOnClick = null; - this._evOnBeforeChange = null; - this.show = null; - this.hide = null; - this.setDateFormat = null; - this.setDates = null; - this.getFormatedDate = null; - this.unload = null; - - that = null; - } - - this._evOnClick = function(args) { - return this.callEvent("onClick", args); - } - this._evOnBeforeChange = function(args) { - return this.callEvent("onBeforeChange", args); - } - - window.dhx4._eventable(this); - - return this; -} diff --git a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhtmlxcalendar_omega/arrow_left.gif b/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhtmlxcalendar_omega/arrow_left.gif deleted file mode 100644 index f053524..0000000 Binary files a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhtmlxcalendar_omega/arrow_left.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhtmlxcalendar_omega/arrow_left_hover.gif b/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhtmlxcalendar_omega/arrow_left_hover.gif deleted file mode 100644 index 2593aee..0000000 Binary files a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhtmlxcalendar_omega/arrow_left_hover.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhtmlxcalendar_omega/arrow_right.gif b/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhtmlxcalendar_omega/arrow_right.gif deleted file mode 100644 index 55081ec..0000000 Binary files a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhtmlxcalendar_omega/arrow_right.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhtmlxcalendar_omega/arrow_right_hover.gif b/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhtmlxcalendar_omega/arrow_right_hover.gif deleted file mode 100644 index 3d2bd82..0000000 Binary files a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhtmlxcalendar_omega/arrow_right_hover.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhtmlxcalendar_omega/bg_days.gif b/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhtmlxcalendar_omega/bg_days.gif deleted file mode 100644 index fba9032..0000000 Binary files a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhtmlxcalendar_omega/bg_days.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhtmlxcalendar_omega/bg_main.gif b/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhtmlxcalendar_omega/bg_main.gif deleted file mode 100644 index 3b217f3..0000000 Binary files a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhtmlxcalendar_omega/bg_main.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_material/dhxcalendar_arrow_left.png b/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_material/dhxcalendar_arrow_left.png deleted file mode 100644 index a00ec17..0000000 Binary files a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_material/dhxcalendar_arrow_left.png and /dev/null differ diff --git a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_material/dhxcalendar_arrow_left.svg b/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_material/dhxcalendar_arrow_left.svg deleted file mode 100644 index 6aa4b51..0000000 --- a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_material/dhxcalendar_arrow_left.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_material/dhxcalendar_arrow_right.png b/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_material/dhxcalendar_arrow_right.png deleted file mode 100644 index fa82bb3..0000000 Binary files a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_material/dhxcalendar_arrow_right.png and /dev/null differ diff --git a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_material/dhxcalendar_arrow_right.svg b/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_material/dhxcalendar_arrow_right.svg deleted file mode 100644 index 1304c8d..0000000 --- a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_material/dhxcalendar_arrow_right.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_material/dhxcalendar_clock.png b/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_material/dhxcalendar_clock.png deleted file mode 100644 index 9787072..0000000 Binary files a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_material/dhxcalendar_clock.png and /dev/null differ diff --git a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_material/dhxcalendar_marker.gif b/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_material/dhxcalendar_marker.gif deleted file mode 100644 index 4785f82..0000000 Binary files a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_material/dhxcalendar_marker.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_material/dhxcalendar_selector_bottom.gif b/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_material/dhxcalendar_selector_bottom.gif deleted file mode 100644 index 46f962e..0000000 Binary files a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_material/dhxcalendar_selector_bottom.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_material/dhxcalendar_selector_top.gif b/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_material/dhxcalendar_selector_top.gif deleted file mode 100644 index 2fd1744..0000000 Binary files a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_material/dhxcalendar_selector_top.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_skyblue/dhxcalendar_arrow_left.gif b/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_skyblue/dhxcalendar_arrow_left.gif deleted file mode 100644 index f927e47..0000000 Binary files a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_skyblue/dhxcalendar_arrow_left.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_skyblue/dhxcalendar_arrow_right.gif b/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_skyblue/dhxcalendar_arrow_right.gif deleted file mode 100644 index c2a4835..0000000 Binary files a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_skyblue/dhxcalendar_arrow_right.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_skyblue/dhxcalendar_clock.gif b/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_skyblue/dhxcalendar_clock.gif deleted file mode 100644 index c3f7391..0000000 Binary files a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_skyblue/dhxcalendar_clock.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_skyblue/dhxcalendar_mark.gif b/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_skyblue/dhxcalendar_mark.gif deleted file mode 100644 index 7390c60..0000000 Binary files a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_skyblue/dhxcalendar_mark.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_skyblue/dhxcalendar_selector_bottom.gif b/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_skyblue/dhxcalendar_selector_bottom.gif deleted file mode 100644 index b6f2c4b..0000000 Binary files a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_skyblue/dhxcalendar_selector_bottom.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_skyblue/dhxcalendar_selector_top.gif b/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_skyblue/dhxcalendar_selector_top.gif deleted file mode 100644 index 090b597..0000000 Binary files a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_skyblue/dhxcalendar_selector_top.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_terrace/dhxcalendar_arrow_left.gif b/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_terrace/dhxcalendar_arrow_left.gif deleted file mode 100644 index 7604e53..0000000 Binary files a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_terrace/dhxcalendar_arrow_left.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_terrace/dhxcalendar_arrow_right.gif b/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_terrace/dhxcalendar_arrow_right.gif deleted file mode 100644 index 3bd15c9..0000000 Binary files a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_terrace/dhxcalendar_arrow_right.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_terrace/dhxcalendar_clock.gif b/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_terrace/dhxcalendar_clock.gif deleted file mode 100644 index c5b9aa6..0000000 Binary files a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_terrace/dhxcalendar_clock.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_terrace/dhxcalendar_mark.gif b/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_terrace/dhxcalendar_mark.gif deleted file mode 100644 index 4785f82..0000000 Binary files a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_terrace/dhxcalendar_mark.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_terrace/dhxcalendar_selector_bottom.gif b/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_terrace/dhxcalendar_selector_bottom.gif deleted file mode 100644 index 3c852b6..0000000 Binary files a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_terrace/dhxcalendar_selector_bottom.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_terrace/dhxcalendar_selector_top.gif b/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_terrace/dhxcalendar_selector_top.gif deleted file mode 100644 index b004755..0000000 Binary files a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_terrace/dhxcalendar_selector_top.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_web/dhxcalendar_arrow_left.gif b/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_web/dhxcalendar_arrow_left.gif deleted file mode 100644 index 54366e0..0000000 Binary files a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_web/dhxcalendar_arrow_left.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_web/dhxcalendar_arrow_left2.gif b/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_web/dhxcalendar_arrow_left2.gif deleted file mode 100644 index fa475b5..0000000 Binary files a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_web/dhxcalendar_arrow_left2.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_web/dhxcalendar_arrow_right.gif b/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_web/dhxcalendar_arrow_right.gif deleted file mode 100644 index 0a343f9..0000000 Binary files a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_web/dhxcalendar_arrow_right.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_web/dhxcalendar_arrow_right2.gif b/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_web/dhxcalendar_arrow_right2.gif deleted file mode 100644 index d9e30be..0000000 Binary files a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_web/dhxcalendar_arrow_right2.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_web/dhxcalendar_clock.gif b/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_web/dhxcalendar_clock.gif deleted file mode 100644 index 0fe21e4..0000000 Binary files a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_web/dhxcalendar_clock.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_web/dhxcalendar_mark.gif b/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_web/dhxcalendar_mark.gif deleted file mode 100644 index 4dd78d2..0000000 Binary files a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_web/dhxcalendar_mark.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_web/dhxcalendar_selector_bottom.gif b/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_web/dhxcalendar_selector_bottom.gif deleted file mode 100644 index 1cec27d..0000000 Binary files a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_web/dhxcalendar_selector_bottom.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_web/dhxcalendar_selector_top.gif b/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_web/dhxcalendar_selector_top.gif deleted file mode 100644 index 4026cd2..0000000 Binary files a/themes/sources4.0/dhtmlxCalendar/codebase/imgs/dhxcalendar_web/dhxcalendar_selector_top.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxCalendar/codebase/skins/dhtmlxcalendar_dhx_skyblue.css b/themes/sources4.0/dhtmlxCalendar/codebase/skins/dhtmlxcalendar_dhx_skyblue.css deleted file mode 100644 index 66343d5..0000000 --- a/themes/sources4.0/dhtmlxCalendar/codebase/skins/dhtmlxcalendar_dhx_skyblue.css +++ /dev/null @@ -1,578 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* skin detected, extra file: skins/dhx_skyblue.less */ - -.dhtmlxcalendar_ifr { - position: absolute; - overflow: hidden; - background-color: white; -} -.dhtmlxcalendar_dhx_skyblue { - position: absolute; - display: block; - background-color: white; - font-family: Tahoma; - font-size: 11px; - color: black; -} -.dhtmlxcalendar_dhx_skyblue ul.dhtmlxcalendar_line { - position: relative; - display: block; - clear: both; - margin: 0px; - padding: 0px; - overflow: hidden; - width: 211px; -} -.dhtmlxcalendar_dhx_skyblue ul.dhtmlxcalendar_line li { - float: left; - position: relative; - list-style-type: none; - list-style-image: none; - text-align: center; - vertical-align: middle; - cursor: default; - overflow: hidden; - margin: 0px; - padding: 0px; -} -.dhtmlxcalendar_dhx_skyblue.dhtmlxcalendar_in_input { - box-shadow: 0 0 6px rgba(0,0,0,0.25); -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_month_cont { - position: relative; - display: block; - width: 211px; - height: 25px; - margin: 0px; - background-color: #e2efff; - background: linear-gradient(#e2efff,#d3e7ff); - filter: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e2efff,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100); - border: 1px solid #a4bed4; - overflow: hidden; - color: black; - -webkit-user-select: text; - -khtml-user-select: text; - -moz-user-select: text; - -o-user-select: text; - user-select: text; - -ms-user-select: text; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr { - width: 211px; - height: 25px; - line-height: 25px; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow { - position: absolute; - top: 0; - width: 18px; - height: 25px; - text-align: center; - color: inherit; - background-position: center center; - background-repeat: no-repeat; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_left { - left: 4px; - background-image: url("../imgs/dhxcalendar_skyblue/dhxcalendar_arrow_left.gif"); - opacity: 0.8; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=80); -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_left_hover { - left: 4px; - background-image: url("../imgs/dhxcalendar_skyblue/dhxcalendar_arrow_left.gif"); - opacity: 1; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100); -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_right { - right: 4px; - background-image: url("../imgs/dhxcalendar_skyblue/dhxcalendar_arrow_right.gif"); - opacity: 0.8; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=80); -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_right_hover { - right: 4px; - background-image: url("../imgs/dhxcalendar_skyblue/dhxcalendar_arrow_right.gif"); - opacity: 1; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100); -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr span.dhtmlxcalendar_month_label_month, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr span.dhtmlxcalendar_month_label_year { - position: relative; - font-weight: bold; - color: #34404b; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_days_cont { - position: relative; - display: block; - width: 211px; - margin: 0px; - padding-bottom: 1px; - border-left: 1px solid #a4bed4; - border-right: 1px solid #a4bed4; - border-bottom: 1px solid #cbd9e4; - -webkit-user-select: text; - -khtml-user-select: text; - -moz-user-select: text; - -o-user-select: text; - user-select: text; - -ms-user-select: text; - overflow: hidden; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line { - border-top: 1px solid white; - padding-left: 1px; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li { - width: 29px; - height: 19px; - line-height: 19px; - margin-right: 1px; - font-size: 9px; - background-color: #ecf4ff; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_day_weekday_cell, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_day_weekday_cell_first { - color: #c66200; - background-color: #ffe6ae; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont { - position: relative; - display: block; - width: 211px; - margin: 0px; - padding-bottom: 1px; - border-left: 1px solid #a4bed4; - border-right: 1px solid #a4bed4; - border-bottom: 1px solid #a4bed4; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; - overflow: hidden; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line { - border-top: 1px solid white; - padding-left: 1px; - height: 26px; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li { - color: #909090; - background-color: white; - border: 1px solid white; - width: 27px; - height: 24px; - line-height: 23px; - margin-right: 1px; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li div.dhtmlxcalendar_label { - width: 100%; - height: 100%; - text-align: center; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend { - border-color: #cccccc; - background-color: #f7f7f7; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_dis, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_dis, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_dis, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_dis { - color: #b2b2b2; - background-color: #f0f0f0; - border-color: #f0f0f0; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_holiday, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_holiday { - color: red; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_holiday, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_holiday { - color: red; - border-color: #cccccc; - background-color: #f7f7f7; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_holiday_dis, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_holiday_dis, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_holiday_dis, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_holiday_dis { - color: red; - background-color: #f0f0f0; - border-color: #f0f0f0; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_hover, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_hover, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_hover, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_hover { - border-color: #cccccc; - background-color: #f7f7f7; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_holiday_hover, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_holiday_hover, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_holiday_hover, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_holiday_hover { - color: red; - border-color: #cccccc; - background-color: #f7f7f7; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month { - color: black; - background-color: #ecf4ff; - border-color: #ecf4ff; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend { - color: #c66200; - background-color: #fff0d2; - border-color: #fff0d2; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date { - color: black; - background-color: #b5deff; - border-color: #a1ceed; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend { - color: #c66200; - background-color: #ffdc90; - border-color: #ffce65; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_dis, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_dis, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_dis, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_dis { - color: #b2b2b2; - background-color: #f0f0f0; - border-color: #f0f0f0; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_holiday { - color: red; - background-color: #ecf4ff; - border-color: #ecf4ff; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_holiday { - color: red; - background-color: #fff0d2; - border-color: #fff0d2; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_holiday { - color: red; - background-color: #b5deff; - border-color: #a1ceed; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_holiday { - color: red; - background-color: #ffdc90; - border-color: #ffce65; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_holiday_dis, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_holiday_dis, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_holiday_dis, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_holiday_dis { - color: red; - background-color: #f0f0f0; - border-color: #f0f0f0; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_hover { - color: black; - background-color: #d9eeff; - border-color: #a1ceed; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_hover { - color: #c66200; - background-color: #ffe9bb; - border-color: #ffce65; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_hover { - color: black; - background-color: #b5deff; - border-color: #a1ceed; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_hover { - color: #c66200; - background-color: #ffdc90; - border-color: #ffce65; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_holiday_hover { - color: red; - background-color: #d9eeff; - border-color: #a1ceed; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_holiday_hover { - color: red; - background-color: #ffe9bb; - border-color: #ffce65; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_holiday_hover { - color: red; - background-color: #b5deff; - border-color: #a1ceed; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_holiday_hover { - color: red; - background-color: #ffdc90; - border-color: #ffce65; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line div.dhtmlxcalendar_label.dhtmlxcalendar_label_title { - background-image: url("../imgs/dhxcalendar_skyblue/dhxcalendar_mark.gif"); - background-position: top right; - background-repeat: no-repeat; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_time_cont { - position: relative; - display: block; - width: 211px; - height: 25px; - margin: 0px; - border-left: 1px solid #a4bed4; - border-right: 1px solid #a4bed4; - border-bottom: 1px solid #a4bed4; - background-color: #e2efff; - background: linear-gradient(#e2efff,#d3e7ff); - filter: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e2efff,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; - overflow: hidden; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li { - width: 211px; - height: 25px; - line-height: 24px; - color: #34404b; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li div.dhtmlxcalendar_time_img { - position: absolute; - left: 66px; - top: 6px; - width: 13px; - height: 13px; - background-image: url("../imgs/dhxcalendar_skyblue/dhxcalendar_clock.gif"); - background-position: center center; - background-repeat: no-repeat; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_cover { - position: absolute; - left: 1px; - background-color: white; - opacity: 0.5; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50); -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj { - position: absolute; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_selector_obj_arrow { - position: absolute; - bottom: auto; - top: 0px; - left: 0px; - width: 100%; - height: 9px; - overflow: hidden; - background-image: url("../imgs/dhxcalendar_skyblue/dhxcalendar_selector_top.gif"); - background-position: top center; - background-repeat: no-repeat; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table { - border: 1px solid #a4bed4; - background-color: white; - border-top: none; - margin-top: 9px; - box-shadow: 0 0 3px rgba(0,0,0,0.35); -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left { - width: 17px; - text-align: center; - border-top: 1px solid white; - padding: 0px; - margin: 0px; - background-color: #ecf4ff; - background-image: url("../imgs/dhxcalendar_skyblue/dhxcalendar_arrow_left.gif"); - background-position: center center; - background-repeat: no-repeat; - cursor: default; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left.dhtmlxcalendar_selector_cell_left_hover { - background-image: url("../imgs/dhxcalendar_skyblue/dhxcalendar_arrow_left.gif"); -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle { - border-top: white 1px solid; - border-width: 1px 0px 0px 0px; - cursor: default; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right { - width: 17px; - text-align: center; - border-top: 1px solid white; - border-width: 1px 0px 0px 0px; - background-color: #ecf4ff; - background-image: url("../imgs/dhxcalendar_skyblue/dhxcalendar_arrow_right.gif"); - background-position: center center; - background-repeat: no-repeat; - cursor: default; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right.dhtmlxcalendar_selector_cell_right_hover { - background-image: url("../imgs/dhxcalendar_skyblue/dhxcalendar_arrow_right.gif"); -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul { - display: block; - clear: both; - margin: 0px 0px 0px 1px; - padding: 0px; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul li { - float: left; - font-family: Tahoma; - font-size: 10px; - color: black; - list-style-type: none; - list-style-image: none; - text-align: center; - vertical-align: middle; - margin: 0px 1px 0px 0px; - padding: 0px; - background-color: #e9f3ff; - border: 1px solid #e9f3ff; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; - cursor: default; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul li.dhtmlxcalendar_selector_cell_active { - background-color: #b5deff; - border-color: #a1ceed; - color: black; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul li.dhtmlxcalendar_selector_cell_hover { - background-color: #d9eeff; - border-color: #a1ceed; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right { - display: none; - width: 0px; - border: 0px solid white; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line { - height: 22px; - border-top: none; - border-bottom: 1px solid white; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell { - width: 33px; - height: 20px; - line-height: 19px; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours div.dhtmlxcalendar_selector_obj_arrow, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_selector_obj_arrow { - top: auto; - bottom: 0px; - background-image: url("../imgs/dhxcalendar_skyblue/dhxcalendar_selector_bottom.gif"); -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line { - height: 19px; - border-top: none; - border-bottom: 1px solid white; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell { - width: 21px; - height: 17px; - line-height: 16px; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right { - display: none; - width: 0px; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table { - margin-top: 0px; - margin-bottom: 9px; - border-top: 1px solid #a4bed4; - border-bottom: none; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_month, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_year, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_hours, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_minutes, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_minutes4, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_minutes5 { - display: none; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month div.dhtmlxcalendar_area_selector_month, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_year div.dhtmlxcalendar_area_selector_year, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours div.dhtmlxcalendar_area_selector_hours, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_area_selector_minutes, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_area_selector_minutes4, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_area_selector_minutes5 { - display: block; -} -.dhtmlxcalendar_dhx_skyblue span.dhtmlxcalendar_label_minutes span.dhtmlxcalendar_selected_date { - border-bottom: 2px solid red; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn { - display: none; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell { - width: 26px; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_wn div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell { - width: 24px; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_first, -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell { - width: 26px; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn { - display: block; - width: 21px; - color: #638eb1; - background-color: #d9eaff; -} -.dhtmlxcalendar_dhx_skyblue div.dhtmlxcalendar_wn div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn { - display: block; - width: 19px; - color: #638eb1; - background-color: #d9eaff; - border-color: #d9eaff; - font-size: 10px; -} -div.dhtmlxcalendar_skin_detect { - position: absolute; - display: block; - visibility: hidden; - left: -100px; - top: 0px; - width: 10px; - height: 10px; - margin: 0px; - padding: 0px; - border: none; - overflow: hidden; -} diff --git a/themes/sources4.0/dhtmlxCalendar/codebase/skins/dhtmlxcalendar_dhx_terrace.css b/themes/sources4.0/dhtmlxCalendar/codebase/skins/dhtmlxcalendar_dhx_terrace.css deleted file mode 100644 index 35bad83..0000000 --- a/themes/sources4.0/dhtmlxCalendar/codebase/skins/dhtmlxcalendar_dhx_terrace.css +++ /dev/null @@ -1,545 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* skin detected, extra file: skins/dhx_terrace.less */ - -.dhtmlxcalendar_dhx_terrace { - position: absolute; - display: block; - background-color: #ffffff; - font-family: Arial; - font-size: 13px; - color: #333333; -} -.dhtmlxcalendar_dhx_terrace.dhtmlxcalendar_in_input { - box-shadow: 0 0 6px rgba(0,0,0,0.25); -} -.dhtmlxcalendar_ifr { - position: absolute; - overflow: hidden; - background-color: white; -} -.dhtmlxcalendar_dhx_terrace ul.dhtmlxcalendar_line { - position: relative; - display: block; - clear: both; - margin: 0px; - padding: 0px; - overflow: hidden; - width: 225px; - margin-left: 12px; -} -.dhtmlxcalendar_dhx_terrace ul.dhtmlxcalendar_line li { - float: left; - position: relative; - list-style-type: none; - list-style-image: none; - text-align: center; - vertical-align: middle; - cursor: default; - overflow: hidden; - margin: 0px; - padding: 0px; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_month_cont { - position: relative; - display: block; - width: 249px; - margin: 0px; - border-top: 1px solid #cccccc; - border-left: 1px solid #cccccc; - border-right: 1px solid #cccccc; - border-top-left-radius: 3px; - border-top-right-radius: 3px; - overflow: hidden; - color: #333333; - -webkit-user-select: text; - -khtml-user-select: text; - -moz-user-select: text; - -o-user-select: text; - user-select: text; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr { - width: 225px; - height: 31px; - line-height: 31px; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow { - position: absolute; - top: 0px; - width: 18px; - height: 31px; - color: inherit; - text-align: center; - background-position: center center; - background-repeat: no-repeat; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_left { - left: 4px; - background-image: url("../imgs/dhxcalendar_terrace/dhxcalendar_arrow_left.gif"); - opacity: 0.8; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=80); -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_left_hover { - left: 4px; - background-image: url("../imgs/dhxcalendar_terrace/dhxcalendar_arrow_left.gif"); - opacity: 1; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100); -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_right { - right: 4px; - background-image: url("../imgs/dhxcalendar_terrace/dhxcalendar_arrow_right.gif"); - opacity: 0.8; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=80); -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_right_hover { - right: 4px; - background-image: url("../imgs/dhxcalendar_terrace/dhxcalendar_arrow_right.gif"); - opacity: 1; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100); -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr span.dhtmlxcalendar_month_label_month, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr span.dhtmlxcalendar_month_label_year { - position: relative; - font-weight: bold; - color: inherit; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_days_cont { - position: relative; - display: block; - width: 249px; - margin: 0px; - border-left: 1px solid #cccccc; - border-right: 1px solid #cccccc; - -webkit-user-select: text; - -khtml-user-select: text; - -moz-user-select: text; - -o-user-select: text; - user-select: text; - overflow: hidden; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line { - height: 31px; - border-bottom: 1px solid #cccccc; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li { - width: 31px; - height: 31px; - line-height: 31px; - margin-left: 1px; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_first { - margin-left: 1px; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_day_weekday_cell { - color: #d43f3a; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_day_weekday_cell_first { - color: #d43f3a; - margin-left: 1px; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont { - position: relative; - display: block; - width: 249px; - margin: 0px; - padding-bottom: 8px; - border-left: 1px solid #cccccc; - border-right: 1px solid #cccccc; - border-bottom: 1px solid #cccccc; - border-bottom-left-radius: 3px; - border-bottom-right-radius: 3px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - overflow: hidden; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line { - margin-top: 1px; - margin-left: 13px; - height: 31px; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li { - color: #909090; - border-radius: 3px; - width: 31px; - height: 31px; - line-height: 31px; - margin-right: 1px; - overflow: visible; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li div.dhtmlxcalendar_label { - width: 100%; - height: 100%; - text-align: center; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend { - background-color: #fff3a1; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_dis, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_dis, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_dis, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_dis { - color: #c4c4c4; - background-color: #ededed; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_holiday, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_holiday { - color: #d43f3a; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_holiday, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_holiday { - color: #d43f3a; - background-color: #fff3a1; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_holiday_dis, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_holiday_dis, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_holiday_dis, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_holiday_dis { - color: #d43f3a; - background-color: #ededed; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_hover, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_hover, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_hover, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_hover { - background-color: #fff3a1; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_holiday_hover, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_holiday_hover, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_holiday_hover, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_holiday_hover { - color: #d43f3a; - background-color: #fff3a1; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month { - color: #333333; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend { - color: #d43f3a; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date { - color: black; - background-color: #fff3a1; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend { - color: #d43f3a; - background-color: #fff3a1; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_dis, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_dis, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_dis, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_dis { - color: #d43f3a; - background-color: #ededed; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_holiday { - color: #d43f3a; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_holiday { - color: #d43f3a; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_holiday { - color: #d43f3a; - background-color: #fff3a1; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_holiday { - color: #d43f3a; - background-color: #fff3a1; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_holiday_dis, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_holiday_dis, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_holiday_dis, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_holiday_dis { - color: #c4c4c4; - background-color: #ededed; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_hover { - color: #333333; - background-color: #fff3a1; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_hover { - color: #d43f3a; - background-color: #fff3a1; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_hover { - color: #333333; - background-color: #fff3a1; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_hover { - color: #d43f3a; - background-color: #fff3a1; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_holiday_hover { - color: #d43f3a; - background-color: #fff3a1; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_holiday_hover { - color: #d43f3a; - background-color: #fff3a1; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_holiday_hover { - color: #d43f3a; - background-color: #fff3a1; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_holiday_hover { - color: #d43f3a; - background-color: #fff3a1; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line div.dhtmlxcalendar_label.dhtmlxcalendar_label_title { - background-image: url("../imgs/dhxcalendar_terrace/dhxcalendar_mark.gif"); - background-position: top right; - background-repeat: no-repeat; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont { - position: relative; - display: block; - width: 249px; - height: 31px; - margin-top: -4px; - border-left: 1px solid #cccccc; - border-right: 1px solid #cccccc; - border-bottom: 1px solid #cccccc; - border-bottom-left-radius: 3px; - border-bottom-right-radius: 3px; - background-color: #ffffff; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - overflow: hidden; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li { - width: 225px; - height: 27px; - line-height: 25px; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li div.dhtmlxcalendar_time_img { - position: absolute; - left: 75px; - top: 7px; - width: 13px; - height: 13px; - background-image: url("../imgs/dhxcalendar_terrace/dhxcalendar_clock.gif"); - background-position: center center; - background-repeat: no-repeat; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_cover { - position: absolute; - left: 1px; - background-color: white; - opacity: 0.5; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50); -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj { - position: absolute; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_selector_obj_arrow { - position: absolute; - bottom: auto; - top: 1px; - left: 0px; - width: 100%; - height: 9px; - overflow: hidden; - background-image: url("../imgs/dhxcalendar_terrace/dhxcalendar_selector_top.gif"); - background-position: top center; - background-repeat: no-repeat; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table { - border-bottom: 1px solid #cccccc; - border-top: 0px solid white; - background-color: white; - margin-top: 9px; - box-shadow: 0 0 5px rgba(0,0,0,0.25); -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left { - width: 17px; - text-align: center; - border-top: 1px solid #cccccc; - border-left: 1px solid #cccccc; - border-bottom: 0px solid white; - border-right: 0px solid white; - padding: 0px; - margin: 0px; - background-color: white; - background-image: url("../imgs/dhxcalendar_terrace/dhxcalendar_arrow_left.gif"); - background-position: center center; - background-repeat: no-repeat; - cursor: default; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left.dhtmlxcalendar_selector_cell_left_hover { - background-image: url("../imgs/dhxcalendar_terrace/dhxcalendar_arrow_left.gif"); -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle { - cursor: default; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right { - width: 17px; - text-align: center; - border-top: 1px solid #cccccc; - border-right: 1px solid #cccccc; - border-bottom: 0px solid white; - border-left: 0px solid white; - background-color: white; - background-image: url("../imgs/dhxcalendar_terrace/dhxcalendar_arrow_right.gif"); - background-position: center center; - background-repeat: no-repeat; - cursor: default; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right.dhtmlxcalendar_selector_cell_right_hover { - background-image: url("../imgs/dhxcalendar_terrace/dhxcalendar_arrow_right.gif"); -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul { - display: block; - clear: both; - background-color: white; - border-left: 1px solid #cccccc; - margin: 0px; - padding: 0px; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul li { - float: left; - font-family: Arial; - font-size: 12px; - color: #333333; - list-style-type: none; - list-style-image: none; - text-align: center; - vertical-align: middle; - margin: 0px; - border-right: 1px solid #cccccc; - padding: 0px; - background-color: white; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - cursor: default; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul li.dhtmlxcalendar_selector_cell_active, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul li.dhtmlxcalendar_selector_cell_hover { - background-color: #fff3a1; - color: black; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right { - display: none; - width: 0px; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line { - height: 24px; - border-top: 1px solid #cccccc; - border-bottom: 0px solid white; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell { - width: 35px; - height: 24px; - line-height: 24px; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours div.dhtmlxcalendar_selector_obj_arrow, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_selector_obj_arrow { - top: auto; - bottom: 1px; - background-image: url("../imgs/dhxcalendar_terrace/dhxcalendar_selector_bottom.gif"); -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line { - height: 22px; - border-top: 0px solid white; - border-bottom: 1px solid #cccccc; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell { - width: 24px; - height: 22px; - line-height: 22px; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right { - display: none; - width: 0px; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table { - margin-top: 0px; - margin-bottom: 9px; - border-top: 1px solid #cccccc; - border-bottom: none; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_month, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_year, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_hours, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_minutes, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_minutes4, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_minutes5 { - display: none; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month div.dhtmlxcalendar_area_selector_month, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_year div.dhtmlxcalendar_area_selector_year, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours div.dhtmlxcalendar_area_selector_hours, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_area_selector_minutes, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_area_selector_minutes4, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_area_selector_minutes5 { - display: block; -} -.dhtmlxcalendar_dhx_terrace span.dhtmlxcalendar_label_minutes span.dhtmlxcalendar_selected_date { - border-bottom: 2px solid red; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn { - display: none; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell { - width: 27px; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_wn div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell { - width: 27px; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_first, -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell { - width: 27px; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn { - display: block; - width: 27px; - color: #3da0e3; - background-color: #efefef; -} -.dhtmlxcalendar_dhx_terrace div.dhtmlxcalendar_wn div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn { - display: block; - width: 27px; - color: #3da0e3; - background-color: #efefef; -} -div.dhtmlxcalendar_skin_detect { - position: absolute; - display: block; - visibility: hidden; - left: -100px; - top: 0px; - width: 30px; - height: 10px; - margin: 0px; - padding: 0px; - border: none; - overflow: hidden; -} diff --git a/themes/sources4.0/dhtmlxCalendar/codebase/skins/dhtmlxcalendar_dhx_web.css b/themes/sources4.0/dhtmlxCalendar/codebase/skins/dhtmlxcalendar_dhx_web.css deleted file mode 100644 index e48af37..0000000 --- a/themes/sources4.0/dhtmlxCalendar/codebase/skins/dhtmlxcalendar_dhx_web.css +++ /dev/null @@ -1,538 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* skin detected, extra file: skins/dhx_web.less */ - -.dhtmlxcalendar_dhx_web { - position: absolute; - display: block; - background-color: #ffffff; - font-family: Tahoma; - font-size: 12px; - color: #000000; -} -.dhtmlxcalendar_dhx_web.dhtmlxcalendar_in_input { - box-shadow: 0 0 6px rgba(0,0,0,0.25); -} -.dhtmlxcalendar_ifr { - position: absolute; - overflow: hidden; - background-color: white; -} -.dhtmlxcalendar_dhx_web ul.dhtmlxcalendar_line { - position: relative; - display: block; - clear: both; - margin: 0px; - padding: 0px; - overflow: hidden; - width: 225px; -} -.dhtmlxcalendar_dhx_web ul.dhtmlxcalendar_line li { - float: left; - position: relative; - list-style-type: none; - list-style-image: none; - text-align: center; - vertical-align: middle; - cursor: default; - overflow: hidden; - margin: 0px; - padding: 0px; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_month_cont { - position: relative; - display: block; - width: 227px; - height: 27px; - margin: 0px; - background-color: #3da0e3; - overflow: hidden; - color: #ffffff; - -webkit-user-select: text; - -khtml-user-select: text; - -moz-user-select: text; - -o-user-select: text; - user-select: text; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr { - width: 227px; - height: 27px; - line-height: 27px; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow { - position: absolute; - top: 0px; - width: 18px; - height: 27px; - color: inherit; - text-align: center; - background-position: center center; - background-repeat: no-repeat; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_left { - left: 4px; - background-image: url("../imgs/dhxcalendar_web/dhxcalendar_arrow_left.gif"); - opacity: 0.8; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=80); -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_left_hover { - left: 4px; - background-image: url("../imgs/dhxcalendar_web/dhxcalendar_arrow_left.gif"); - opacity: 1; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100); -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_right { - right: 4px; - background-image: url("../imgs/dhxcalendar_web/dhxcalendar_arrow_right.gif"); - opacity: 0.8; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=80); -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_right_hover { - right: 4px; - background-image: url("../imgs/dhxcalendar_web/dhxcalendar_arrow_right.gif"); - opacity: 1; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100); -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr span.dhtmlxcalendar_month_label_month, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr span.dhtmlxcalendar_month_label_year { - position: relative; - font-weight: bold; - color: inherit; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_days_cont { - position: relative; - display: block; - width: 225px; - margin: 0px; - border-left: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; - -webkit-user-select: text; - -khtml-user-select: text; - -moz-user-select: text; - -o-user-select: text; - user-select: text; - overflow: hidden; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line { - height: 23px; - background-color: #f4f4f4; - border-bottom: 2px solid #3da0e3; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li { - color: #000000; - width: 31px; - height: 23px; - line-height: 23px; - border-left: 1px solid #d5d5d5; - background-color: #f4f4f4; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_first { - border-left: 1px solid #f4f4f4; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_day_weekday_cell { - color: #f1586a; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_day_weekday_cell_first { - color: #f1586a; - border-left: 1px solid #f4f4f4; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont { - position: relative; - display: block; - width: 225px; - margin: 0px; - padding-bottom: 1px; - border-left: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; - border-bottom: 1px solid #c7c7c7; - background-color: #ffffff; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - overflow: hidden; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line { - border-top: 1px solid #ffffff; - margin-left: 1px; - margin-right: 1px; - height: 26px; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li { - color: #909090; - width: 31px; - height: 26px; - line-height: 26px; - margin-right: 1px; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li div.dhtmlxcalendar_label { - width: 100%; - height: 100%; - text-align: center; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend { - background-color: #d6d6d6; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_dis, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_dis, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_dis, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_dis { - color: #c4c4c4; - background-color: #ededed; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_holiday, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_holiday { - color: #f1586a; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_holiday, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_holiday { - color: #f1586a; - background-color: #d6d6d6; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_holiday_dis, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_holiday_dis, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_holiday_dis, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_holiday_dis { - color: #f1586a; - background-color: #ededed; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_hover, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_hover, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_hover, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_hover { - background-color: #d6d6d6; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_holiday_hover, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_weekend_holiday_hover, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_holiday_hover, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_date_weekend_holiday_hover { - color: #f1586a; - background-color: #d6d6d6; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month { - color: #000000; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend { - color: #f1586a; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date { - color: #000000; - background-color: #85d3ff; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend { - color: #f1586a; - background-color: #ffd1cc; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_dis, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_dis, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_dis, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_dis { - color: #c4c4c4; - background-color: #ededed; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_holiday { - color: #f1586a; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_holiday { - color: #f1586a; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_holiday { - color: #f1586a; - background-color: #ffd1cc; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_holiday { - color: #f1586a; - background-color: #ffd1cc; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_holiday_dis, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_holiday_dis, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_holiday_dis, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_holiday_dis { - color: #f1586a; - background-color: #ededed; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_hover { - color: #000000; - background-color: #c7ebff; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_hover { - color: #f1586a; - background-color: #ffe7e4; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_hover { - color: #000000; - background-color: #85d3ff; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_hover { - color: #f1586a; - background-color: #ffd1cc; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_holiday_hover { - color: #f1586a; - background-color: #ffe7e4; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_weekend_holiday_hover { - color: #f1586a; - background-color: #ffe7e4; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_holiday_hover { - color: #f1586a; - background-color: #ffd1cc; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_cell_month_date_weekend_holiday_hover { - color: #f1586a; - background-color: #ffd1cc; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line div.dhtmlxcalendar_label.dhtmlxcalendar_label_title { - background-image: url("../imgs/dhxcalendar_web/dhxcalendar_mark.gif"); - background-position: top right; - background-repeat: no-repeat; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont { - position: relative; - display: block; - width: 227px; - height: 27px; - margin-top: -1px; - background-color: #3da0e3; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - color: #ffffff; - overflow: hidden; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li { - width: 227px; - height: 27px; - line-height: 25px; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li div.dhtmlxcalendar_time_img { - position: absolute; - left: 75px; - top: 7px; - width: 13px; - height: 13px; - background-image: url("../imgs/dhxcalendar_web/dhxcalendar_clock.gif"); - background-position: center center; - background-repeat: no-repeat; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_cover { - position: absolute; - left: 1px; - background-color: white; - opacity: 0.5; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50); -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj { - position: absolute; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_selector_obj_arrow { - position: absolute; - bottom: auto; - top: 0px; - left: 0px; - width: 100%; - height: 9px; - overflow: hidden; - background-image: url("../imgs/dhxcalendar_web/dhxcalendar_selector_top.gif"); - background-position: top center; - background-repeat: no-repeat; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table { - border: 1px solid #c7c7c7; - background-color: white; - border-top: none; - margin-top: 9px; - box-shadow: 0 0 3px rgba(0,0,0,0.35); -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left { - width: 17px; - text-align: center; - border-top: white 1px solid; - padding: 0px; - margin: 0px; - background-color: #ededed; - background-image: url("../imgs/dhxcalendar_web/dhxcalendar_arrow_left2.gif"); - background-position: center center; - background-repeat: no-repeat; - cursor: default; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left.dhtmlxcalendar_selector_cell_left_hover { - background-image: url("../imgs/dhxcalendar_web/dhxcalendar_arrow_left2.gif"); -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle { - border-top: 1px solid white; - border-width: 1px 0px 0px 0px; - cursor: default; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right { - width: 17px; - text-align: center; - border-top: 1px solid white; - border-width: 1px 0px 0px 0px; - background-color: #ededed; - background-image: url("../imgs/dhxcalendar_web/dhxcalendar_arrow_right2.gif"); - background-position: center center; - background-repeat: no-repeat; - cursor: default; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right.dhtmlxcalendar_selector_cell_right_hover { - background-image: url("../imgs/dhxcalendar_web/dhxcalendar_arrow_right2.gif"); -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul { - display: block; - clear: both; - margin: 0px 0px 0px 1px; - padding: 0px; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul li { - float: left; - list-style-type: none; - list-style-image: none; - text-align: center; - vertical-align: middle; - margin: 0px 1px 0px 0px; - padding: 0px; - background-color: #ededed; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - cursor: default; - font-family: Tahoma; - font-size: 11px; - color: #000000; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul li.dhtmlxcalendar_selector_cell_active { - background-color: #85d3ff; - color: #000000; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul li.dhtmlxcalendar_selector_cell_hover { - background-color: #c7ebff; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right { - display: none; - width: 0px; - border: 0px solid white; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line { - height: 24px; - border-top: none; - border-bottom: 1px solid white; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell { - width: 35px; - height: 24px; - line-height: 24px; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours div.dhtmlxcalendar_selector_obj_arrow, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_selector_obj_arrow { - top: auto; - bottom: 0px; - background-image: url("../imgs/dhxcalendar_web/dhxcalendar_selector_bottom.gif"); -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line { - height: 22px; - border-top: none; - border-bottom: 1px solid white; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell { - width: 24px; - height: 22px; - line-height: 22px; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right { - display: none; - width: 0px; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table { - margin-top: 0px; - margin-bottom: 9px; - border-top: 1px solid #c7c7c7; - border-bottom: none; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_month, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_year, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_hours, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_minutes, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_minutes4, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_minutes5 { - display: none; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month div.dhtmlxcalendar_area_selector_month, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_year div.dhtmlxcalendar_area_selector_year, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours div.dhtmlxcalendar_area_selector_hours, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_area_selector_minutes, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_area_selector_minutes4, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_area_selector_minutes5 { - display: block; -} -.dhtmlxcalendar_dhx_web span.dhtmlxcalendar_label_minutes span.dhtmlxcalendar_selected_date { - border-bottom: 2px solid red; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn { - display: none; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell { - width: 27px; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_wn div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell { - width: 27px; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_first, -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell { - width: 27px; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn { - display: block; - width: 27px; - color: #3da0e3; - background-color: #f4f4f4; - border-left: 1px solid #f4f4f4; - border-right: 1px solid #d5d5d5; - margin-right: 0px; -} -.dhtmlxcalendar_dhx_web div.dhtmlxcalendar_wn div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn { - display: block; - width: 27px; - color: #3da0e3; - background-color: #f4f4f4; -} -div.dhtmlxcalendar_skin_detect { - position: absolute; - display: block; - visibility: hidden; - left: -100px; - top: 0px; - width: 20px; - height: 10px; - margin: 0px; - padding: 0px; - border: none; - overflow: hidden; -} diff --git a/themes/sources4.0/dhtmlxCalendar/codebase/skins/dhtmlxcalendar_material.css b/themes/sources4.0/dhtmlxCalendar/codebase/skins/dhtmlxcalendar_material.css deleted file mode 100644 index 4fcdd20..0000000 --- a/themes/sources4.0/dhtmlxCalendar/codebase/skins/dhtmlxcalendar_material.css +++ /dev/null @@ -1,642 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: material - include extra file: skins/material.less -*/ - -@keyframes dhx_loader_rotate { - 100% { - transform: rotate(360deg); - } -} -@keyframes dhx_loader_dash { - 0% { - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - } - 50% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -35px; - } - 100% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -124px; - } -} -.dhtmlxcalendar_material { - position: absolute; - display: block; - background-color: white; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -.dhtmlxcalendar_material.dhtmlxcalendar_in_input { - box-shadow: 0 10px 20px rgba(0,0,0,0.19), 0 6px 6px rgba(0,0,0,0.23); -} -.dhtmlxcalendar_material.dhtmlxcalendar_in_input div.dhtmlxcalendar_month_cont, -.dhtmlxcalendar_material.dhtmlxcalendar_in_input div.dhtmlxcalendar_days_cont, -.dhtmlxcalendar_material.dhtmlxcalendar_in_input div.dhtmlxcalendar_dates_cont, -.dhtmlxcalendar_material.dhtmlxcalendar_in_input div.dhtmlxcalendar_time_cont { - border-color: white; -} -.dhtmlxcalendar_material.dhtmlxcalendar_in_input div.dhtmlxcalendar_time_cont { - border-top: 1px solid #dfdfdf; -} -.dhtmlxcalendar_material ul.dhtmlxcalendar_line { - position: relative; - display: block; - clear: both; - font: inherit; - margin: 0px; - padding: 0px; - overflow: hidden; - margin-left: 12px; - width: 225px; -} -.dhtmlxcalendar_material ul.dhtmlxcalendar_line li { - float: left; - position: relative; - list-style-type: none; - list-style-image: none; - text-align: center; - vertical-align: middle; - font: inherit; - cursor: default; - overflow: hidden; - margin: 0px; - padding: 0px; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont { - position: relative; - display: block; - width: 249px; - margin: 0px; - border-width: 1px 1px 0px 1px; - border-style: solid; - border-color: #dfdfdf; - overflow: hidden; - font: inherit; - -webkit-user-select: text; - -khtml-user-select: text; - -moz-user-select: text; - -ms-user-select: text; - -o-user-select: text; - user-select: text; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr { - width: 225px; - height: 31px; - line-height: 31px; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow { - position: absolute; - top: 0px; - width: 18px; - height: 31px; - color: inherit; - text-align: center; - background-position: center center; - background-repeat: no-repeat; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_left, -.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_left_hover { - left: 4px; - background-image: url("../imgs/dhxcalendar_material/dhxcalendar_arrow_left.png"); -} -.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_left, -.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_left_hover { - background-image: linear-gradient(transparent,transparent), url("../imgs/dhxcalendar_material/dhxcalendar_arrow_left.svg"); -} -.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_right, -.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_right_hover { - right: 4px; - background-image: url("../imgs/dhxcalendar_material/dhxcalendar_arrow_right.png"); -} -.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_right, -.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr div.dhtmlxcalendar_month_arrow.dhtmlxcalendar_month_arrow_right_hover { - background-image: linear-gradient(transparent,transparent), url("../imgs/dhxcalendar_material/dhxcalendar_arrow_right.svg"); -} -.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr span.dhtmlxcalendar_month_label_month, -.dhtmlxcalendar_material div.dhtmlxcalendar_month_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_month_hdr span.dhtmlxcalendar_month_label_year { - position: relative; - font: inherit; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_days_cont { - position: relative; - display: block; - width: 249px; - margin: 0px; - border-left: 1px solid #dfdfdf; - border-right: 1px solid #dfdfdf; - overflow: hidden; - -webkit-user-select: text; - -khtml-user-select: text; - -moz-user-select: text; - -ms-user-select: text; - -o-user-select: text; - user-select: text; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line { - height: 31px; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li { - width: 31px; - height: 31px; - line-height: 31px; - margin-left: 1px; - font-size: 12px; - color: #9a9a9a; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_first { - margin-left: 1px; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_day_weekday_cell_first { - margin-left: 1px; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont { - -webkit-tap-highlight-color: rgba(0,0,0,0); - position: relative; - display: block; - width: 249px; - margin: 0px; - padding-bottom: 8px; - border-width: 0px 1px 1px 1px; - border-style: solid; - border-color: #dfdfdf; - overflow: hidden; - font: inherit; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line { - margin-top: 1px; - margin-left: 13px; - height: 31px; - line-height: 31px; - font: inherit; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li { - width: 31px; - height: 31px; - line-height: 31px; - margin-right: 1px; - border-radius: 50%; - overflow: visible; - font: inherit; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li div.dhtmlxcalendar_label { - position: relative; - width: 100%; - height: 100%; - font: inherit; - line-height: 31px; - text-align: center; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li div.dhtmlxcalendar_label.dhtmlxcalendar_label_title { - background-image: url("../imgs/dhxcalendar_material/dhxcalendar_marker.gif"); - background-position: top right; - background-repeat: no-repeat; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell { - color: #a6a6a6; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_weekend { - color: #e6918e; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date { - color: #a6a6a6; - background-color: #dcdcdc; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date_weekend { - color: #e6918e; - background-color: #dcdcdc; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_dis, -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date_dis { - color: #c0c0c0; - background-color: #f2f2f2; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_weekend_dis, -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date_weekend_dis { - color: #e6918e; - background-color: #f2f2f2; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_holiday, -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_weekend_holiday { - color: #e6918e; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date_holiday, -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date_weekend_holiday { - color: #d43f3a; - background-color: #ebebeb; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_holiday_dis, -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_weekend_holiday_dis, -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date_holiday_dis, -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date_weekend_holiday_dis { - color: #d43f3a; - background-color: #f2f2f2; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_hover { - color: #a6a6a6; - background-color: #ebebeb; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date_hover { - color: #a6a6a6; - background-color: #dcdcdc; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_weekend_hover { - color: #e6918e; - background-color: #ebebeb; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date_weekend_hover { - color: #e6918e; - background-color: #dcdcdc; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_holiday_hover, -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_weekend_holiday_hover, -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date_holiday_hover, -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_date_weekend_holiday_hover { - color: #d43f3a; - background-color: #ebebeb; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month { - color: #404040; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_weekend { - color: #d43f3a; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date { - color: white; - background-color: #3399cc; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date_weekend { - color: white; - background-color: #ef5350; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_dis, -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date_dis { - color: #c0c0c0; - background-color: #f2f2f2; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_weekend_dis, -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date_weekend_dis { - color: #d43f3a; - background-color: #f2f2f2; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_holiday { - color: #d43f3a; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_weekend_holiday { - color: #d43f3a; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date_holiday { - color: white; - background-color: #ef5350; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date_weekend_holiday { - color: white; - background-color: #ef5350; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_holiday_dis, -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date_holiday_dis, -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_weekend_holiday_dis, -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date_weekend_holiday_dis { - color: #d43f3a; - background-color: #f2f2f2; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_hover { - color: #404040; - background-color: #ebebeb; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_weekend_hover { - color: #d43f3a; - background-color: #ebebeb; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date_hover { - color: white; - background-color: #3399cc; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date_weekend_hover { - color: white; - background-color: #ef5350; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_holiday_hover { - color: #d43f3a; - background-color: #ebebeb; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_weekend_holiday_hover { - color: #d43f3a; - background-color: #ebebeb; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date_holiday_hover { - color: white; - background-color: #ef5350; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_month_date_weekend_holiday_hover { - color: white; - background-color: #ef5350; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont { - position: relative; - display: block; - width: 249px; - height: 31px; - border-left: 1px solid #dfdfdf; - border-right: 1px solid #dfdfdf; - border-bottom: 1px solid #dfdfdf; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li { - width: 225px; - height: 31px; - line-height: 31px; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_time_hdr { - text-align: left; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_hours { - margin-left: 42px; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont ul.dhtmlxcalendar_line li div.dhtmlxcalendar_time_img { - position: absolute; - left: 22px; - top: 7px; - width: 18px; - height: 18px; - background-image: url("../imgs/dhxcalendar_material/dhxcalendar_clock.png"); - background-position: center center; - background-repeat: no-repeat; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li div.dhtmlxcalendar_time_img { - left: 75px; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr { - text-align: center; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_hours { - margin-left: 0px; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_today, -.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_clear { - display: none; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr div.dhtmlxcalendar_time_img, -.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_hours, -.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_minutes, -.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_colon { - display: none; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_today { - float: right; - margin-right: 8px; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_clear { - float: right; - margin-right: 74px; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_selected_date { - border-bottom: 2px solid red; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_today { - float: right; - margin-right: 8px; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_time_cont.dhtmlxcalendar_mode_time_today ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell.dhtmlxcalendar_time_hdr span.dhtmlxcalendar_label_clear { - float: right; - margin-right: 22px; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn, -.dhtmlxcalendar_material div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn { - display: none; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell, -.dhtmlxcalendar_material div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_first, -.dhtmlxcalendar_material div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell { - width: 27px; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_wn div.dhtmlxcalendar_days_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn { - display: block; - width: 27px; - color: #3da0e3; - background-color: - #060606; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_wn div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell { - width: 27px; - height: 28px; - line-height: 27px; - margin-top: 2px; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_wn div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell div { - line-height: inherit; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_wn div.dhtmlxcalendar_dates_cont ul.dhtmlxcalendar_line li.dhtmlxcalendar_cell_wn { - display: block; - width: 27px; - color: #3da0e3; - background-color: - #060606; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_cover { - position: absolute; - left: 1px; - background-color: white; - opacity: 0.5; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50); -} -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj { - position: absolute; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_selector_obj_arrow { - position: absolute; - bottom: auto; - top: 1px; - left: 0px; - width: 100%; - height: 9px; - overflow: hidden; - background-image: url("../imgs/dhxcalendar_material/dhxcalendar_selector_top.gif"); - background-position: top center; - background-repeat: no-repeat; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table { - border-bottom: 1px solid #dfdfdf; - border-top: 0px solid white; - background-color: white; - margin-top: 9px; - box-shadow: 0 2px 6px rgba(0,0,0,0.24); -} -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right { - width: 24px; - text-align: center; - border-color: #dfdfdf; - border-style: solid; - padding: 0px; - margin: 0px; - background-color: white; - background-position: center center; - background-repeat: no-repeat; - cursor: default; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left { - border-width: 1px 0px 0px 1px; - background-image: url("../imgs/dhxcalendar_material/dhxcalendar_arrow_left.png"); -} -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left.dhtmlxcalendar_selector_cell_left_hover { - background-color: #ebebeb; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right { - border-width: 1px 1px 0px 0px; - background-image: url("../imgs/dhxcalendar_material/dhxcalendar_arrow_right.png"); -} -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right.dhtmlxcalendar_selector_cell_right_hover { - background-color: #ebebeb; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle { - cursor: default; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul { - display: block; - clear: both; - background-color: white; - border-left: 1px solid #dfdfdf; - margin: 0px; - padding: 0px; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul li { - float: left; - list-style-type: none; - list-style-image: none; - text-align: center; - vertical-align: middle; - margin: 0px; - padding: 0px; - border-right: 1px solid #dfdfdf; - background-color: white; - cursor: default; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; - font-size: 0.9em; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul li.dhtmlxcalendar_selector_cell_active, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul li.dhtmlxcalendar_selector_cell_hover { - background-color: #ebebeb; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line { - height: 28px; - border-top: 1px solid #dfdfdf; - border-bottom: 0px solid white; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell { - width: 50px; - height: 28px; - line-height: 28px; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right { - display: none; - width: 0px; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours div.dhtmlxcalendar_selector_obj_arrow, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 div.dhtmlxcalendar_selector_obj_arrow, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_selector_obj_arrow { - top: auto; - bottom: 1px; - background-image: url("../imgs/dhxcalendar_material/dhxcalendar_selector_bottom.gif"); -} -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours div.dhtmlxcalendar_selector_obj_arrow ul.dhtmlxcalendar_selector_line, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 div.dhtmlxcalendar_selector_obj_arrow ul.dhtmlxcalendar_selector_line, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_selector_obj_arrow ul.dhtmlxcalendar_selector_line { - height: 28px; - border-top: 0px solid white; - border-bottom: 1px solid #dfdfdf; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table { - margin-top: 0px; - margin-bottom: 9px; - border-bottom: none; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_middle ul.dhtmlxcalendar_selector_line li.dhtmlxcalendar_selector_cell { - width: 34px; - height: 28px; - line-height: 28px; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_left, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes table.dhtmlxcalendar_selector_table td.dhtmlxcalendar_selector_cell_right { - display: none; - width: 0px; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_month, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_year, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_hours, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_hours2, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_minutes, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_minutes4, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj div.dhtmlxcalendar_area_selector_minutes5 { - display: none; -} -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_month div.dhtmlxcalendar_area_selector_month, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_year div.dhtmlxcalendar_area_selector_year, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours div.dhtmlxcalendar_area_selector_hours, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_hours2 div.dhtmlxcalendar_area_selector_hours, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_area_selector_minutes, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_area_selector_minutes4, -.dhtmlxcalendar_material div.dhtmlxcalendar_selector_obj.dhtmlxcalendar_selector_minutes div.dhtmlxcalendar_area_selector_minutes5 { - display: block; -} -.dhtmlxcalendar_ifr { - position: absolute; - overflow: hidden; - background-color: white; -} -div.dhtmlxcalendar_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 40px; - height: 10px; - overflow: hidden; -} diff --git a/themes/sources4.0/dhtmlxCarousel/codebase/dhtmlxcarousel.js b/themes/sources4.0/dhtmlxCarousel/codebase/dhtmlxcarousel.js deleted file mode 100644 index 588265d..0000000 --- a/themes/sources4.0/dhtmlxCarousel/codebase/dhtmlxcarousel.js +++ /dev/null @@ -1,1095 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -function dhtmlXCarousel(conf, effect, skin) { - - if (typeof(conf) == "string" || (typeof(conf) == "object" && typeof(conf.tagName) != "undefined")) { - conf = { - parent: (typeof(conf)=="string"?document.getElementById(conf):conf), - effect: effect, - skin: skin, - delete_conf: true - }; - } else { - // object-api - if (typeof(conf) == "undefined" || conf == null) { - conf = {}; - } - } - - this.conf = { - skin: (conf.skin||window.dhx4.skin||(typeof(dhtmlx)!="undefined"?dhtmlx.skin:null)||window.dhx4.skinDetect("dhxcarousel")||"material"), - css: "dhxcarousel", // css prefix for topcell mtb - // misc - items_count: 0, - selected: -1, // selected index - // dimensions - item_width: Number(conf.item_width)||"auto", - item_height: Number(conf.item_height)||"auto", - ofs_item: Number(conf.offset_item)||1, - ofs_left: Number(conf.offset_left)||0, - ofs_top: Number(conf.offset_top)||0, - // controls - buttons: (typeof(conf.buttons)=="undefined"?true:window.dhx4.s2b(conf.buttons)), // show left/right arrows - drops: false, // show rectangle for each cell - // keys and touch events - keys: (typeof(conf.keys)=="undefined"?true:window.dhx4.s2b(conf.keys)), // enable crtl+left/right - key_data: {left: 37, right: 39}, - touch_scroll: (typeof(conf.touch_scroll)!="undefined"?window.dhx4.s2b(conf.touch_scroll):true), // scroll cells with touch - // arrows - arw: ["◄", "►"] - }; - - this.conf.autowidth = (this.conf.item_width=="auto"); - this.conf.autoheight = (this.conf.item_height=="auto"); - - // check for transition support - var k = window.dhx4.transDetect(); - this.conf.transProp = k.transProp; - this.conf.transEv = k.transEv; - - // load effect - this.conf.anim_type = (conf.effect||"slide"); - if (this.ef[this.conf.anim_type] == true) { - var t = this["_"+this.conf.anim_type+"_init"](); - if (t === false) { - this.conf.anim_type = "slide"; - t = this["_"+this.conf.anim_type+"_init"](); - } - if (typeof(t) == "object") { - for (var a in t) { - if (typeof(this.conf[a]) == "undefined") this.conf[a] = t[a]; - }; - } - } - this.conf.anim_f = this["_"+this.conf.anim_type+"_f"](); - - - var that = this; - - window.dhtmlXCellTop.apply(this, [conf.parent, conf.offsets]); - - this.area = document.createElement("DIV"); - this.area.className = "dhxcarousel_area"; - this.cont.appendChild(this.area); - - if (typeof(window.addEventListener) == "function" && that.conf.touch_scroll == true) { - - this._doOnTouchStart = function(e) { - - if (window.dhx4.dnd._mTouch(e) == true) return; - - if (that.conf.animating == true) return; - - if (e.preventDefault) e.preventDefault(); - - that.area.className += " dhxcarousel_area_dnd"; - - that.conf.touch_conf = { - t: new Date().getTime(), - dx: null, - dy: null - }; - - if (e.type.match(/^touch/) != null) { - that.conf.touch_conf.id = e.touches[0].identifier; - that.conf.touch_conf.x = e.touches[0].clientX; - that.conf.touch_conf.y = e.touches[0].clientY; - } else { - that.area.style.touchAction = that.area.style.msTouchAction = "none"; - that.conf.touch_conf.x = e.clientX; - that.conf.touch_conf.y = e.clientY; - } - - window.addEventListener(window.dhx4.dnd.evs.move, that._doOnTouchMove, false); - window.addEventListener(window.dhx4.dnd.evs.end, that._doOnTouchEnd, false); - - } - - this._doOnTouchMove = function(e) { - - } - - this._doOnTouchEnd = function(e) { - - if (e.type.match(/^touch/) != null) { - var ofsX = 0; - for (var q=0; q 400) return; - - var dir = ofsX/Math.abs(ofsX); - that._animateStart(dir); - - } - - this.area.addEventListener(window.dhx4.dnd.evs.start, this._doOnTouchStart, false); - - } - - - this.cdata = {}; // id -> data - this.ind = {}; // index -> id - - this.addCell = function(id, index) { - - this.conf.items_count++; - - if (this.conf.selected == -1) this.conf.selected = 0; // force select 1st cell - - this.setSizes(); - this._checkControls(); - - // detect index - if (typeof(index) == "undefined" || index == null) { - index = this.conf.items_count-1; - } else if (index < 0) { - index = 0; - } else if (index > this.conf.items_count-1) { - index = this.conf.items_count-1; - } - - // middle-ins, move items after index to right and change position - for (var a in this.cdata) { - if (this.cdata[a].index >= index) { - this.cdata[a].index++; - this.ind[this.cdata[a].index] = a; - this._adjustCell(a); - } - } - - // insert new - if (id == null) id = String(window.dhx4.newId()); - while (this.cdata[id] != null) id = String(window.dhx4.newId()); - - var cell = new dhtmlXCarouselCell(id, this); - if (this.area.childNodes[index] != null) { - this.area.insertBefore(cell.cell, this.area.childNodes[index]); - } else { - this.area.appendChild(cell.cell); - } - - // add cell - this.cdata[id] = {index: index, cell: cell}; - this.ind[index] = id; - - this._adjustCell(id); - - this._addBar(); - this._setBarIndex(this.conf.selected); - - cell = null; - - this[this.conf.anim_f.cell_added](id); - - return id; - - } - - this._removeCell = function(id) { - - var index = this.cdata[id].index; - - this.cdata[id].cell._unload(); - this.cdata[id].index = this.cdata[id].cell = null; - this.cdata[id] = null; - - delete this.cdata[id]; - delete this.ind[index]; - - this.conf.items_count--; - - if (this.conf.unloading == true) return; - - // recalc index for existing cells - this.ind = {}; - var m = 0; - for (var a in this.cdata) { - if (this.cdata[a].index > index) this.cdata[a].index--; - this.ind[this.cdata[a].index] = a; - } - - // update selected index - var upd = false; // update cell if index changed automaticaly - if (this.conf.selected > index) { - this.conf.selected--; - } else if (this.conf.selected == index) { - this.conf.selected = Math.min(this.conf.selected, this.conf.items_count-1); - upd = true; - } else { - // do nothing - } - - this._removeBar(false); - this._setBarIndex(this.conf.selected); - - if (upd == true) { - if (this.conf.selected >= 0) { - this[this.conf.anim_f.update_selected](this.ind[this.conf.selected]); // cell became active, maybe some updates needed - } - } - - this.setSizes(); - this._checkControls(); - }; - - this.setSizes = function() { - // celltop - this._adjustCont(); - - var sizes = {}; - - // if parent was resizes - this.area.style.height = this.cont.offsetHeight-this.controls.offsetHeight+"px"; - - this.conf.width = (this.conf.autowidth?this.cont.offsetWidth-this.conf.ofs_left*2:this.conf.item_width); - this.conf.height = (this.conf.autoheight?this.area.offsetHeight-this.conf.ofs_top*2:this.conf.item_height); - this.conf.top = Math.max(0, (this.conf.autoheight?this.conf.ofs_top:Math.floor((this.area.offsetHeight-this.conf.height)/2))); - - this.area.style.width = this[this.conf.anim_f.detect_aw]()*(this.conf.width+this.conf.ofs_item)+this.conf.ofs_item+"px"; - this.area.style.left = Math.round(this.cont.offsetWidth/2-this.conf.width/2-this.conf.ofs_item)+"px"; - - // items - for (var a in this.cdata) { - var s = {}; - for (var b in this.cdata[a].cell.conf.size) s[b] = this.cdata[a].cell.conf.size[b]; - // - if (this.conf.autowidth == true) { - s.w = this.conf.width; - s.x = this[this.conf.anim_f.detect_x](a); - } - if (this.conf.autoheight == true) { - s.h = this.conf.height; - } - // - sizes[a] = s; - } - - if (this.conf.anim_type === "slide") - this.area.style.left = Math.round(this.cont.offsetWidth/2-this.conf.width/2-this.conf.ofs_item)-(this.conf.width+this.conf.ofs_item)*this.conf.selected+"px"; - - // this.controls.style.left = Math.round(this.cont.offsetWidth/2-this.controls.offsetWidth/2)+"px"; - this._adjustControls(); - - if (this.conf.autoheight != true) { - this.conf.top = Math.max(0, Math.floor(this.area.offsetHeight-this.conf.height)/2); - for (var a in sizes) sizes[a].y = this.conf.top; - } - - // resize cells - for (var a in sizes) { - this.cdata[a].cell._setSize(sizes[a].x, sizes[a].y, sizes[a].w, sizes[a].h); - } - - this.callEvent("_onSetSizes", []); // if mtb attached - - } - - this._adjustCell = function(id) { - this.cdata[id].cell._setSize(this[this.conf.anim_f.detect_x](id), this.conf.top, this.conf.width, this.conf.height); - } - - this._animateStart = function(dir, ef) { - - if ((this.conf.selected <= 0 && dir < 0) || (this.conf.selected >= this.conf.items_count-1 && dir > 0)) return; - - if (this.conf.animating == true) return; - this.conf.animating = true; - - this[this.conf.anim_f.prepare](dir, ef); - - } - - this._animateTransEnd = function(e) { - that[that.conf.anim_f.end](e||event, this); - } - - this._animateEnd = function(dir) { - - this.conf.selected = this.conf.selected+dir; - this._checkControls(); - this._setBarIndex(this.conf.selected); - this.callEvent("onSelect", [this.ind[this.conf.selected]]); - - this.conf.animating = false; - - } - - this._initControls(); - - this.setCellSize = function(w, h) { - this.conf.item_width = (w==null?"auto":w); - this.conf.item_height = (h==null?"auto":h); - this.setSizes(); - } - - this.setOffset = function(left, top, item) { - if (left != null) this.conf.ofs_left = left; - if (top != null) this.conf.ofs_top = top; - if (item != null) this.conf.ofs_item = item; - this.setSizes(); - } - - this.enableHotKeys = function(mode) { - this.conf.keys = window.dhx4.s2b(mode); - } - - this.goFirst = function() { - if (this.conf.selected == 0) return; - this._animateStart(-this.conf.selected); - } - - this.goLast = function() { - if (this.conf.selected == this.conf.items_count-1) return; - this._animateStart(this.conf.items_count-1-this.conf.selected); - } - - this.goNext = function() { - this._animateStart(1); - } - - this.goPrev = function() { - this._animateStart(-1); - } - - this.getActiveIndex = function() { - return this.conf.selected; - } - - this.getActiveId = function() { - return this.ind[this.conf.selected]; - } - - this.getActiveCell = function() { - var id = this.getActiveId(); - if (id != null) return this.cdata[id].cell; - return null; - } - - this.unload = function() { - - this.conf.unloading = true; - - if (typeof(window.addEventListener) == "function") { - window.removeEventListener("keydown", this._doOnWinKeyDown, false); - if (this._doOnTouchStart != null) this.area.removeEventListener(window.dhx4.dnd.evs.start, this._doOnTouchStart, false); - } else { - document.body.detachEvent("onkeydown", this._doOnWinKeyDown); - } - - // cells - for (var a in this.cdata) this._removeCell(a); - this.cdata[a] = null; - - // area - this.area.parentNode.removeChild(this.area); - this.area = null; - - // controls - this._unloadControls(); - - // celltop - this._unloadTop(); - - // events - window.dhx4._eventable(this, "clear"); - - // the rest - for (var a in this) this[a] = null; - - that = null; - - } - - // events - window.dhx4._eventable(this); - this._callMainEvent = function(name, args) { - this.callEvent(name, args); - }; - this.conf.ev_coverclick = this.attachEvent("_cellCoverClick", function(index){ - var d = index-this.conf.selected; - if (Math.abs(d) == 1) this._animateStart(d); - }); - - - // keys - this._doOnWinKeyDown = function(e) { - e = e||event; - if (that.conf.keys == true) { - if (e.ctrlKey == true && e.shiftKey != true && e.altKey != true) { - var code = e.keyCode; - var k = that.conf.key_data; - if (code == k.left || code == k.right) { - if (e.preventDefault) e.preventDefault(); else e.returnValue = false; - that._animateStart(code==k.left?-1:1); - } - } - } - } - - if (typeof(window.addEventListener) == "function") { - window.addEventListener("keydown", this._doOnWinKeyDown, false); - } else { - document.body.attachEvent("onkeydown", this._doOnWinKeyDown); - } - - if (conf.delete_conf == true) { - for (var a in conf) conf[a] = null; - conf = null; - } - - return this; -}; - -// top-level extensions -dhtmlXCarousel.prototype = new dhtmlXCellTop(); - -// enabled effects -dhtmlXCarousel.prototype.ef = {}; - -// cell access -dhtmlXCarousel.prototype.cells = function(id) { - return this.cdata[id].cell; -}; - -// iterator -dhtmlXCarousel.prototype.forEachCell = function(handler) { - for (var a in this.cdata) { - if (typeof(handler) == "function") { - handler.apply(window, [this.cdata[a].cell]); - } else if (typeof(handler) == "string" && typeof(window[handler]) == "function") { - window[handler].apply(window, [this.cdata[a].cell]); - } - } -}; - -dhtmlXCarousel.prototype._initControls = function() { - - var that = this; - - var a = (this.conf.skin=="material"?["",""]:this.conf.arw); - - this.controls = document.createElement("DIV"); - this.controls.className = "dhx_carousel_controls"; - this.controls.innerHTML = ""+ - ""+ - ""; - - this.cont.appendChild(this.controls); - - // events - this._doOnControlClick = function(e) { - if (that.conf.clear_click == true) { - that.conf.clear_click = false; - return; - } - e = e||event; - if (window.dhx4.dnd.evs.start != null && e.type != "click" && that.conf.clear_click != true) { // force animation on touch devices by touch - if (window.dhx4.dnd._mTouch(e) == true) return; // prevent pointer on desktop in IE - that.conf.clear_click = true; - } - var t = e.target||e.srcElement; - var anim = null; - if (t.className != null) { - if (t.className.match(/btn_prev/) != null) { - anim = -1; - } else if (t.className.match(/btn_next/) != null) { - anim = 1; - } else if (t.className.match(/dhx_carousel_onebar/) != null && t.className.match(/dhx_carousel_baractv/) == null) { - for (var q=0; q= this.conf.items_count-1 || this.conf.items_count == 0 ?"_dis":""); - } - - this._adjustControls = function() { - this.controls.firstChild.style.left = Math.round(this.cont.offsetWidth/2-this.controls.firstChild.offsetWidth/2)+"px"; - } - - this._addBar = function() { - var t = document.createElement("DIV"); - t.className = "dhx_carousel_onebar"; - t.innerHTML = ""; - this.controls.firstChild.appendChild(t); - t = null; - this._adjustControls(); - } - - this._removeBar = function(adjust) { - var t = this.controls.firstChild.lastChild; - if (t != null) { - t.parentNode.removeChild(t); - t = null; - if (adjust !== false) this._adjustControls(); - } - } - - this._setBarIndex = function(i) { - for (var q=0; q 0) { - this._removeBar(false); - } - - // self - this.cont.removeChild(this.controls); - this.controls = null; - - that = null; - } - - if (this.conf.buttons != true) this.hideControls(); - - this._checkControls(); - -}; -window.dhtmlXCarouselCell = function(id, carousel) { - - dhtmlXCellObject.apply(this, [id, "_carousel"]); - - var that = this; - this.carousel = carousel; - this.conf.skin = this.carousel.conf.skin; - - this.attachEvent("_onCellUnload", function(){ - this.carousel = null; - that = null; - }); - - // onContentLoaded - this.attachEvent("_onContentLoaded", function() { - this.carousel._callMainEvent("onContentLoaded", [this._idd]); - }); - - // cell cover extended - this._showCover = function() { - if (this.conf.cover == true) return; - this._showCellCover(); - // add click event - var t = this.cell.childNodes[this.conf.idx.cover]; - t.onclick = function() { - that.carousel._callMainEvent("_cellCoverClick", [that._idd]); - }; - t = null; - }; - this._hideCover = function() { - if (this.conf.cover != true) return; - this.cell.childNodes[this.conf.idx.cover].onclick = null; - this._hideCellCover(); - }; - - return this; - -}; - -dhtmlXCarouselCell.prototype = new dhtmlXCellObject(); - -dhtmlXCarouselCell.prototype.getId = function() { - return this._idd; -}; - -dhtmlXCarouselCell.prototype.getIndex = function() { - return this.carousel.cdata[this._idd].index; -}; - -dhtmlXCarouselCell.prototype.setActive = function() { - var ofs = this.getIndex() - this.carousel.conf.selected; - if (ofs != 0) this.carousel._animateStart(ofs); -}; - -dhtmlXCarouselCell.prototype.remove = function() { - this.carousel._removeCell(this._idd); -}; -dhtmlXCellObject.prototype.attachCarousel = function(conf) { - - this.callEvent("_onBeforeContentAttach",["carousel"]); - - var obj = document.createElement("DIV"); - obj.style.width = "100%"; - obj.style.height = "100%"; - obj.style.position = "relative"; - obj.style.overflow = "hidden"; - this._attachObject(obj); - - if (typeof(window.dhtmlXSideBarCell) == "function" && this instanceof window.dhtmlXSideBarCell) { - if (this.conf.skin == "dhx_terrace") { - obj._ofs = {t:-1,r:-1,b:-1,l:-1}; - } - } - - if (typeof(conf) == "undefined" || conf == null) conf = {}; - if (typeof(conf.skin) == "undefined") conf.skin = this.conf.skin; - conf.parent = obj; - - this.dataType = "carousel"; - this.dataObj = new dhtmlXCarousel(conf); - - conf.parent = null; - obj = conf = null; - - this.callEvent("_onContentAttach",[]); - - return this.dataObj; - -}; - -// slide effect extension -// allow effect be used for any browser - -dhtmlXCarousel.prototype.ef.slide = true; - -dhtmlXCarousel.prototype.ef.slide_conf = { - anim_step: 25, - anim_timeout: 10, - anim_slide: "left 0.3s" // for modern -}; - -dhtmlXCarousel.prototype.ef.slide_f = { - prepare: "_slide_prepare", - start: "_slide_start", - end: "_slide_end", - update_selected: "_slide_update_selected", - detect_x: "_slide_detect_x", - detect_aw: "_slide_detect_area_width", - cell_added: "_slide_cell_added" -}; - -dhtmlXCarousel.prototype._slide_init = function() { - return this.ef.slide_conf; -}; - -dhtmlXCarousel.prototype._slide_f = function() { - return this.ef.slide_f; -}; - -dhtmlXCarousel.prototype._slide_prepare = function(dir, ef) { - - var step = this.conf.anim_step; - var maxX = this.conf.width+this.conf.ofs_item; - - if (ef == false) step = maxX+1; - - this.area._init = parseInt(this.area.style.left); - - var nextId = this.ind[this.conf.selected+dir]; - this._slide_update_selected(nextId); - - if (this.conf.transProp !== false && ef != false) { - if (this.conf.transEvInit != true) { - this.area.addEventListener(this.conf.transEv, this._animateTransEnd, false); - this.conf.transEvInit = true; - } - this.conf.current_dir = dir; - this.area.style[this.conf.transProp] = this.conf.anim_slide; - this.area.style.left = this.area._init+maxX*(-dir)+"px"; - } else { - this._slide_start(step, 0, maxX, dir); - } -}; - -dhtmlXCarousel.prototype._slide_start = function(step, curX, maxX, dir) { - - var stop = false; - curX += step; - - if (curX >= maxX) { - curX = maxX; - stop = true; - } - - this.area.style.left = this.area._init+curX*(-dir)+"px"; - if (stop != true) { - var t = this; - window.setTimeout(function(){t._slide_start(step, curX, maxX, dir); t = null;}, this.conf.anim_timeout); - } else { - this.cdata[this.ind[this.conf.selected]].cell._showCover(); - this._animateEnd(dir); - } -}; - -dhtmlXCarousel.prototype._slide_end = function(e, obj) { - if (e.type == this.conf.transEv && obj == this.area) { - this.area.style[this.conf.transProp] = ""; - if (this.conf.transEvInit == true) { - this.area.removeEventListener(this.conf.transEv, this._animateTransEnd, false); - this.conf.transEvInit = false; - } - this.cdata[this.ind[this.conf.selected]].cell._showCover(); - this._animateEnd(this.conf.current_dir); - } -}; - -dhtmlXCarousel.prototype._slide_update_selected = function(id) { - this.cdata[id].cell._hideCover(); -}; - -dhtmlXCarousel.prototype._slide_detect_x = function(id) { - var i = this.cdata[id].index; - var x = i*(this.conf.width+this.conf.ofs_item)+this.conf.ofs_item; - return x; -}; - -dhtmlXCarousel.prototype._slide_cell_added = function(id) { - if (this.conf.selected != this.cdata[id].index) { - this.cdata[id].cell._showCover(); - } - // item was inserted before selected, so selected was moved to right, move it back - if (this.cdata[id].index <= this.conf.selected && this.conf.items_count > 1) { - this._animateStart(1, false); - } -}; - -dhtmlXCarousel.prototype._slide_detect_area_width = function() { - return this.conf.items_count; -}; -// flip effect extension -// works only for modern - -/* - - ----[L]----[L]----[S]----[R]----[R]---- - - L ietm on left angle -87 - S selected ite angle 0 - R ietm on right angle 87 - -*/ - - -dhtmlXCarousel.prototype.ef.flip = true; - -dhtmlXCarousel.prototype.ef.flip_conf = { - anim_flip: "transform 0.3s ease-out", - anim_flip_ang: -87, - anim_flip_trstyle: "transform" -}; - -dhtmlXCarousel.prototype.ef.flip_f = { - prepare: "_flip_prepare", - start: "_flip_start", - end: "_flip_end", - update_selected: "_flip_update_selected", - detect_x: "_flip_detect_x", - detect_aw: "_flip_detect_area_width", - cell_added: "_flip_cell_added" -}; - -dhtmlXCarousel.prototype._flip_init = function() { - var t = (this.conf.transProp==false?false:this.ef.flip_conf); - if (t !== false && window.dhx4.isKHTML == true && t.anim_flip.match("webkit") == null) { // Safari 5.1.7 - t.anim_flip = t.anim_flip.replace(/transform/,"-webkit-transform"); - t.anim_flip_trstyle = "webkitTransform"; - } - return t; -}; - -dhtmlXCarousel.prototype._flip_f = function() { - return this.ef.flip_f; -}; - -dhtmlXCarousel.prototype._flip_prepare = function(dir) { - this.conf.flip_data = { - fromIndex: this.conf.selected, - toIndex: this.conf.selected+dir, - mode: 0, - dir: dir - }; - this._flip_start(); -}; - -dhtmlXCarousel.prototype._flip_start = function() { - - var cell = this.cdata[this.ind[this.conf.flip_data.mode==0?this.conf.flip_data.fromIndex:this.conf.flip_data.toIndex]].cell; - - if (this.area.className.match(/dhxcarousel_area_flip/) == null) { - this.area.className += " dhxcarousel_area_flip"; - } - - if (cell.conf.tr_ev != true) { - cell.cell.addEventListener(this.conf.transEv, this._animateTransEnd, false); - cell.conf.tr_ev = true; - } - - if (this.conf.flip_data.mode == 0) { - cell.cell.style[this.conf.anim_flip_trstyle] = "rotateY("+String(this.conf.flip_data.dir>0?this.conf.anim_flip_ang:-this.conf.anim_flip_ang)+"deg)"; - } else { - cell.cell.style.visibility = "visible"; - cell.cell.style[this.conf.anim_flip_trstyle] = "rotateY(0deg)"; - } - - cell.cell.style[this.conf.transProp] = this.conf.anim_flip; - cell = null; -}; - -dhtmlXCarousel.prototype._flip_end = function(e, obj) { - - if (e.type == this.conf.transEv) { - - var cell = this.cdata[this.ind[this.conf.flip_data.mode==0?this.conf.flip_data.fromIndex:this.conf.flip_data.toIndex]].cell; - - if (obj == cell.cell) { - - cell.cell.removeEventListener(this.conf.transEv, this._animateTransEnd, false); - cell.conf.tr_ev = false; - - if (this.conf.flip_data.mode == 0) { - - // step 2 - cell.cell.style[this.conf.transProp] = ""; - cell.cell.style.visibility = "hidden"; - this.conf.flip_data.mode = 1; - this._flip_start(); - - } else { - - var dir = this.conf.flip_data.dir; - - // check if animation jumped via several items, - // index change can be required, see comment on top - var m0 = Math.min(this.conf.flip_data.fromIndex, this.conf.flip_data.toIndex)+1; - var m1 = Math.max(this.conf.flip_data.fromIndex, this.conf.flip_data.toIndex)-1; - - for (var q=m0; q<=m1; q++) { - this.cdata[this.ind[q]].cell.cell.style[this.conf.anim_flip_trstyle] = "rotateY("+String(this.conf.anim_flip_ang*dir/Math.abs(dir))+"deg)"; - } - - if (this.area.className.match(/dhxcarousel_area_flip/) != null) { - this.area.className = String(this.area.className).replace(/\s{0,}dhxcarousel_area_flip/gi, ""); - } - - // finish animation - this.conf.flip_data = null; - cell.cell.style[this.conf.transProp] = ""; - this._animateEnd(dir); - } - } - cell = null; - } -}; - -dhtmlXCarousel.prototype._flip_update_selected = function(id) { - -}; - -dhtmlXCarousel.prototype._flip_detect_x = function(id) { - var i = 0; - var x = i*(this.conf.width+this.conf.ofs_item)+this.conf.ofs_item; - return x; -}; - -dhtmlXCarousel.prototype._flip_cell_added = function(id) { - if (this.conf.selected != this.cdata[id].index) { - this.cdata[id].cell.cell.style[this.conf.anim_flip_trstyle] = "rotateY(" + String(this.cdata[id].index < this.conf.selected ? this.conf.anim_flip_ang : -this.conf.anim_flip_ang) + "deg)"; - this.cdata[id].cell.cell.style.visibility = "hidden"; - } else { - this.cdata[id].cell.cell.style[this.conf.anim_flip_trstyle] = "rotateY(0deg)"; - } -}; - -dhtmlXCarousel.prototype._flip_detect_area_width = function() { - return 1; -}; -// cards effect extension - -dhtmlXCarousel.prototype.ef.cards = true; - -dhtmlXCarousel.prototype.ef.cards_conf = { - anim_cards: "left 0.3s" -}; - -dhtmlXCarousel.prototype.ef.cards_f = { - prepare: "_cards_prepare", - start: "_cards_start", - end: "_cards_end", - update_selected: "_cards_update_selected", - detect_x: "_cards_detect_x", - detect_aw: "_cards_detect_area_width", - cell_added: "_cards_cell_added" -}; - -dhtmlXCarousel.prototype._cards_init = function() { - return (this.conf.transProp==false?false:this.ef.cards_conf); -}; - -dhtmlXCarousel.prototype._cards_f = function() { - return this.ef.cards_f; -}; - -dhtmlXCarousel.prototype._cards_prepare = function(dir, ef) { - - if (dir > 0) { - - // move from right to left - - var id = this.ind[this.conf.selected+dir]; - var cell = this.cdata[id].cell; - this._cards_update_selected(id); - - if (cell.conf.transEvInit != true) { - cell.cell.addEventListener(this.conf.transEv, this._animateTransEnd, false); - cell.conf.transEvInit = true; - } - - this.conf.current_id = id; - this.conf.current_dir = dir; - - cell.cell.style[this.conf.transProp] = this.conf.anim_cards; - cell.cell.style.left = this._cards_detect_x(id, 0)+"px"; - - cell = null; - - } else { - - // move cells to right, if jumped through several cells - this._cards_adjust_middle(this.conf.selected+dir+1, this.conf.selected-1, 1); - - var id = this.ind[this.conf.selected]; - var cell = this.cdata[id].cell; - cell._hideCover(); - - if (cell.conf.transEvInit != true) { - cell.cell.addEventListener(this.conf.transEv, this._animateTransEnd, false); - cell.conf.transEvInit = true; - } - - this.conf.current_id = id; - this.conf.current_dir = dir; - - this.cdata[this.ind[this.conf.selected+dir]].cell._hideCover(); - - cell.cell.style[this.conf.transProp] = this.conf.anim_cards; - cell.cell.style.left = this._cards_detect_x(id, 1)+"px"; - - cell = null; - - } - -}; - -dhtmlXCarousel.prototype._cards_start = function(step, curX, maxX, dir) { - // old browsers? -}; - -dhtmlXCarousel.prototype._cards_end = function(e, obj) { - - if (e.type == this.conf.transEv && this.conf.current_id != null && obj == this.cdata[this.conf.current_id].cell.cell) { - - var cell = this.cdata[this.conf.current_id].cell; - - cell.cell.style[this.conf.transProp] = ""; - if (cell.conf.transEvInit != true) { - cell.cell.removeEventListener(this.conf.transEv, this._animateTransEnd, false); - cell.conf.transEvInit = false; - } - - this.conf.current_id = null; - - // move cells to left, if jumped through several cells - if (this.conf.current_dir > 0) { - this._cards_adjust_middle(this.conf.selected+1, this.conf.selected+this.conf.current_dir-1, 0); - } - - this.cdata[this.ind[this.conf.selected]].cell._showCover(); - this._animateEnd(this.conf.current_dir); - - } - -}; - -dhtmlXCarousel.prototype._cards_update_selected = function(id) { - this.cdata[id].cell._hideCover(); -}; - -dhtmlXCarousel.prototype._cards_adjust_middle = function(fromIndex, toIndex, i) { - for (var q=fromIndex; q<=toIndex; q++) { - var id = this.ind[q]; - var cell = this.cdata[id].cell; - cell.conf.size.x = this._cards_detect_x(id, i); - cell.cell.style.left = cell.conf.size.x+"px"; - cell = null; - } -}; - -dhtmlXCarousel.prototype._cards_detect_x = function(id, i) { - // i==0 -> item on left, i==1 => item on right - if (typeof(i) == "undefined" || i == null) i = (this.cdata[id].index <= this.conf.selected ? 0:1); - var x = i*(this.conf.width+this.conf.ofs_left+this.conf.ofs_item)+this.conf.ofs_item; - return x; -}; - -dhtmlXCarousel.prototype._cards_cell_added = function(id) { - - this.cdata[id].cell.conf.size.x = this._cards_detect_x(id); - this.cdata[id].cell.cell.style.left = this.cdata[id].cell.conf.size.x+"px"; - - if (this.conf.selected != this.cdata[id].index) { - this.cdata[id].cell._showCover(); - } -}; - -dhtmlXCarousel.prototype._cards_detect_area_width = function() { - return 2; -}; diff --git a/themes/sources4.0/dhtmlxCarousel/codebase/imgs/dhxcarousel_material/dhxcarousel_arrow_left.png b/themes/sources4.0/dhtmlxCarousel/codebase/imgs/dhxcarousel_material/dhxcarousel_arrow_left.png deleted file mode 100644 index f5340b7..0000000 Binary files a/themes/sources4.0/dhtmlxCarousel/codebase/imgs/dhxcarousel_material/dhxcarousel_arrow_left.png and /dev/null differ diff --git a/themes/sources4.0/dhtmlxCarousel/codebase/imgs/dhxcarousel_material/dhxcarousel_arrow_left_dis.png b/themes/sources4.0/dhtmlxCarousel/codebase/imgs/dhxcarousel_material/dhxcarousel_arrow_left_dis.png deleted file mode 100644 index 5d12166..0000000 Binary files a/themes/sources4.0/dhtmlxCarousel/codebase/imgs/dhxcarousel_material/dhxcarousel_arrow_left_dis.png and /dev/null differ diff --git a/themes/sources4.0/dhtmlxCarousel/codebase/imgs/dhxcarousel_material/dhxcarousel_arrow_right.png b/themes/sources4.0/dhtmlxCarousel/codebase/imgs/dhxcarousel_material/dhxcarousel_arrow_right.png deleted file mode 100644 index b816126..0000000 Binary files a/themes/sources4.0/dhtmlxCarousel/codebase/imgs/dhxcarousel_material/dhxcarousel_arrow_right.png and /dev/null differ diff --git a/themes/sources4.0/dhtmlxCarousel/codebase/imgs/dhxcarousel_material/dhxcarousel_arrow_right_dis.png b/themes/sources4.0/dhtmlxCarousel/codebase/imgs/dhxcarousel_material/dhxcarousel_arrow_right_dis.png deleted file mode 100644 index 3ef9588..0000000 Binary files a/themes/sources4.0/dhtmlxCarousel/codebase/imgs/dhxcarousel_material/dhxcarousel_arrow_right_dis.png and /dev/null differ diff --git a/themes/sources4.0/dhtmlxCarousel/codebase/imgs/dhxcarousel_material/dhxcarousel_cell_progress.gif b/themes/sources4.0/dhtmlxCarousel/codebase/imgs/dhxcarousel_material/dhxcarousel_cell_progress.gif deleted file mode 100644 index ff9a5e6..0000000 Binary files a/themes/sources4.0/dhtmlxCarousel/codebase/imgs/dhxcarousel_material/dhxcarousel_cell_progress.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxCarousel/codebase/imgs/dhxcarousel_skyblue/dhxcarousel_cell_progress.gif b/themes/sources4.0/dhtmlxCarousel/codebase/imgs/dhxcarousel_skyblue/dhxcarousel_cell_progress.gif deleted file mode 100644 index 1df5c43..0000000 Binary files a/themes/sources4.0/dhtmlxCarousel/codebase/imgs/dhxcarousel_skyblue/dhxcarousel_cell_progress.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxCarousel/codebase/imgs/dhxcarousel_terrace/dhxcarousel_cell_progress.gif b/themes/sources4.0/dhtmlxCarousel/codebase/imgs/dhxcarousel_terrace/dhxcarousel_cell_progress.gif deleted file mode 100644 index 7c30859..0000000 Binary files a/themes/sources4.0/dhtmlxCarousel/codebase/imgs/dhxcarousel_terrace/dhxcarousel_cell_progress.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxCarousel/codebase/imgs/dhxcarousel_web/dhxcarousel_cell_progress.gif b/themes/sources4.0/dhtmlxCarousel/codebase/imgs/dhxcarousel_web/dhxcarousel_cell_progress.gif deleted file mode 100644 index ff9a5e6..0000000 Binary files a/themes/sources4.0/dhtmlxCarousel/codebase/imgs/dhxcarousel_web/dhxcarousel_cell_progress.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxCarousel/codebase/skins/dhtmlxcarousel_dhx_skyblue.css b/themes/sources4.0/dhtmlxCarousel/codebase/skins/dhtmlxcarousel_dhx_skyblue.css deleted file mode 100644 index 8b4c5ea..0000000 --- a/themes/sources4.0/dhtmlxCarousel/codebase/skins/dhtmlxcarousel_dhx_skyblue.css +++ /dev/null @@ -1,379 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: dhx_skyblue - include extra file: skins/dhx_skyblue.less -*/ - -.dhxcarousel_base_dhx_skyblue { - background-color: white; - position: relative; - cursor: default; -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - overflow: hidden; -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area { - position: relative; - overflow: hidden; -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area.dhxcarousel_area_flip { - perspective: 900px; - -webkit-perspective: 900; -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel { - position: absolute; - background-color: #ffffff; - margin: 0px; - padding: 0px; - overflow: hidden; - cursor: default; - z-index: 0; - -webkit-transform-style: preserve-3d; -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_cover { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - margin: 0px; - padding: 0px; - font-size: 1px; - background-color: white; - overflow: hidden; - z-index: 1; - opacity: 0.5; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_cont_carousel { - position: absolute; - border: 1px solid #a4bed4; - overflow: hidden; - z-index: 0; -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_cont_carousel.dhx_cell_cont_no_borders { - border-width: 0px; -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_menu_def { - position: relative; - overflow: hidden; - border-width: 0px 1px 1px 1px; - border-color: #a4bed4; - border-style: solid; -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_menu_def div.dhtmlxMenu_dhx_skyblue_Middle { - padding: 0px 2px; -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_menu_no_borders { - position: relative; - overflow: hidden; -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_menu_no_borders div.dhtmlxMenu_dhx_skyblue_Middle { - padding: 0px 2px; -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_toolbar_def { - position: relative; - overflow: hidden; -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_toolbar_def div.dhx_toolbar_dhx_skyblue { - border-top-width: 0px; -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_dhx_skyblue { - margin-top: -1px; - width: auto; -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def div.dhtmlxribbon_dhx_skyblue.dhxrb_without_tabbar { - border-top-width: 0px; - width: auto; -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_statusbar_def { - position: absolute; - bottom: 0px; - width: 100%; - background-color: #ddecff; - font-family: Tahoma, Helvetica; - font-size: 11px; - color: black; -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - position: relative; - padding: 0px 4px; - height: 21px; - line-height: 21px; - border-bottom: 1px solid #a4bed4; - border-left: 1px solid #a4bed4; - border-right: 1px solid #a4bed4; - white-space: nowrap; - overflow: hidden; -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_progress_bar { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: white; - z-index: 5; - opacity: 0.75; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=75); -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_progress_img { - position: absolute; - left: 0px; - top: 0px; - border: 1px solid #a4bed4; - background-position: center 55%; - background-image: url('../imgs/dhxcarousel_skyblue/dhxcarousel_cell_progress.gif'); - background-repeat: no-repeat; - cursor: progress; - z-index: 6; -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_menu_def { - border-top-width: 1px; - border-bottom-width: 0px; -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_toolbar_def div.dhx_toolbar_dhx_skyblue { - border-top-width: 1px; - border-bottom-width: 0px; -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def div.dhtmlxribbon_dhx_skyblue.dhxrb_without_tabbar { - border-top-width: 1px; - border-bottom-width: 0px; -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls { - position: absolute; - width: 100%; - height: 30px; - bottom: 0px; - left: 0px; - z-index: 3; - overflow: visible; - border-top: 1px solid #a4bed4; - background-color: #e2efff; - background: linear-gradient(#e2efff,#d3e7ff); - background: -webkit-linear-gradient(#e2efff,#d3e7ff); - filter: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e2efff,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100); - -webkit-tap-highlight-color: rgba(0,0,0,0); -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn { - position: absolute; - bottom: 0px; - width: 38px; - height: 100%; - overflow: hidden; - font-family: Arial; - font-size: 14px; - color: #5f8db3; - border: 0px solid #a4bed4; - text-align: center; - line-height: 29px; - z-index: 2; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - background-color: #e2efff; - background: linear-gradient(#e2efff,#d3e7ff); - background: -webkit-linear-gradient(#e2efff,#d3e7ff); - filter: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e2efff,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100); -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev:hover, -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next:hover { - background-color: #f1f7ff; - background: linear-gradient(#f1f7ff,#e2efff); - background: -webkit-linear-gradient(#f1f7ff,#e2efff); - filter: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#f1f7ff,endColorStr=#e2efff) progid:DXImageTransform.Microsoft.Alpha(opacity=100); -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev:active, -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next:active { - background-color: #d2e7fe; - background: linear-gradient(#d2e7fe,#d3e7ff); - background: -webkit-linear-gradient(#d2e7fe,#d3e7ff); - filter: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#d2e7fe,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100); - box-shadow: 0 0 5px rgba(127,127,127,0.15) inset; -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev, -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis { - left: 0px; - border-right-width: 1px; -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next, -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis { - right: 0px; - border-left-width: 1px; -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis, -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis { - color: #999999; - background: #f2f2f2; - z-index: 1; -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars { - position: absolute; - top: 9px; - text-align: center; - font-size: 1px; - line-height: 32px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars div.dhx_carousel_onebar { - float: left; - position: relative; - margin: 0 2px; - width: 12px; - height: 12px; - border: 1px solid #5f8db3; - border-radius: 12px; - background-color: white; - font-size: 1px; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars div.dhx_carousel_onebar div.dhx_carousel_barcore { - display: none; -} -.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars div.dhx_carousel_onebar.dhx_carousel_baractv div.dhx_carousel_barcore { - position: absolute; - display: block; - font-size: 1px; - margin: 0px; - padding: 0px; - width: 6px; - height: 6px; - top: 2px; - left: 2px; - border: 1px solid #5f8db3; - border-radius: 12px; - background-color: #5f8db3; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxcarousel_base_dhx_skyblue div.dhxcelltop_progress { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: white; - z-index: 3; - opacity: 0.55; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=55); -} -.dhxcarousel_base_dhx_skyblue div.dhxcelltop_progress_img { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-image: url('../imgs/dhxcarousel_skyblue/dhxcarousel_cell_progress.gif'); - background-position: center center; - background-repeat: no-repeat; - z-index: 4; -} -.dhxcarousel_base_dhx_skyblue div.dhxcelltop_hdr { - position: relative; -} -.dhxcarousel_base_dhx_skyblue div.dhxcelltop_ftr { - position: absolute; -} -.dhxcarousel_base_dhx_skyblue div.dhxcelltop_menu { - position: relative; - overflow: hidden; -} -.dhxcarousel_base_dhx_skyblue div.dhxcelltop_toolbar { - position: relative; - background-color: #ebebeb; - padding-bottom: 4px; - overflow: hidden; -} -.dhxcarousel_base_dhx_skyblue div.dhxcelltop_ribbon { - padding-bottom: 4px; - position: relative; -} -.dhxcarousel_base_dhx_skyblue div.dhxcelltop_ribbon div.dhtmlxribbon_dhx_skyblue.dhxrb_without_tabbar { - width: auto; -} -.dhxcarousel_base_dhx_skyblue div.dhxcelltop_statusbar { - position: absolute; - bottom: 0px; - width: 100%; - background-color: #ebebeb; - overflow: hidden; -} -.dhxcarousel_base_dhx_skyblue div.dhxcelltop_statusbar div.dhxcont_statusbar { - position: relative; - margin-top: 4px; - border: 1px solid #a4bed4; - background-color: #ddecff; - padding: 7px 6px; - font-family: Tahoma, Helvetica; - font-size: 11px; - color: black; -} -div.dhx_popup_dhx_skyblue td.dhx_popup_td div.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls, -.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls, -.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls { - border-bottom: 1px solid #a4bed4; -} -div.dhx_popup_dhx_skyblue td.dhx_popup_td div.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev, -div.dhx_popup_dhx_skyblue td.dhx_popup_td div.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis, -.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev, -.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis, -.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev, -.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis { - border-left-width: 1px; -} -div.dhx_popup_dhx_skyblue td.dhx_popup_td div.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next, -div.dhx_popup_dhx_skyblue td.dhx_popup_td div.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis, -.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next, -.dhxwins_vp_dhx_skyblue div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis, -.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next, -.dhxwins_vp_dhx_skyblue div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_dhx_skyblue div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis { - border-right-width: 1px; -} -.dhxcarousel_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 10px; - height: 10px; - overflow: hidden; -} diff --git a/themes/sources4.0/dhtmlxCarousel/codebase/skins/dhtmlxcarousel_dhx_terrace.css b/themes/sources4.0/dhtmlxCarousel/codebase/skins/dhtmlxcarousel_dhx_terrace.css deleted file mode 100644 index db45b40..0000000 --- a/themes/sources4.0/dhtmlxCarousel/codebase/skins/dhtmlxcarousel_dhx_terrace.css +++ /dev/null @@ -1,373 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: dhx_terrace - include extra file: skins/dhx_terrace.less -*/ - -.dhxcarousel_base_dhx_terrace { - background-color: white; - position: relative; - cursor: default; -} -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - overflow: hidden; -} -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area { - position: relative; - overflow: hidden; -} -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area.dhxcarousel_area_flip { - perspective: 900px; - -webkit-perspective: 900; -} -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel { - position: absolute; - background-color: #ffffff; - margin: 0px; - padding: 0px; - overflow: hidden; - cursor: default; - z-index: 0; - -webkit-transform-style: preserve-3d; -} -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_cover { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - margin: 0px; - padding: 0px; - font-size: 1px; - background-color: white; - overflow: hidden; - z-index: 1; - opacity: 0.5; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_cont_carousel { - position: absolute; - border: 1px solid #cccccc; - overflow: hidden; - margin: 0px; - padding: 0px; - z-index: 0; -} -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_cont_carousel.dhx_cell_cont_no_borders { - border-width: 0px; - padding: 0px; -} -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_progress_bar { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: #ffffff; - opacity: 0.75; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=75); - z-index: 1; -} -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_progress_img { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-image: url('../imgs/dhxcarousel_terrace/dhxcarousel_cell_progress.gif'); - background-position: center center; - background-repeat: no-repeat; - z-index: 2; -} -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_menu_def, -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_menu_no_borders { - position: relative; - overflow: hidden; - padding: 0px 0px 8px 0px; -} -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_menu_def div.dhtmlxMenu_dhx_terrace_Middle, -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_menu_no_borders div.dhtmlxMenu_dhx_terrace_Middle { - padding: 0px; -} -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_toolbar_def, -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_toolbar_no_borders { - position: relative; - overflow: hidden; - padding: 0px 0px 8px 0px; -} -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_toolbar_def div.dhx_toolbar_dhx_terrace, -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_toolbar_no_borders div.dhx_toolbar_dhx_terrace { - padding: 0px; -} -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def, -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_no_borders { - position: relative; - overflow: hidden; -} -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_dhx_terrace, -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_no_borders div.dhxrb_with_tabbar.dhxtabbar_base_dhx_terrace { - border-width: 0px; - width: auto; - margin-left: -4px; - margin-top: -4px; -} -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def div.dhtmlxribbon_dhx_terrace.dhxrb_without_tabbar, -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_no_borders div.dhtmlxribbon_dhx_terrace.dhxrb_without_tabbar { - border-width: 0px; - margin-left: -4px; - margin-top: -4px; - width: auto; -} -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_statusbar_def { - position: absolute; - bottom: 0px; - width: 100%; - font-family: Arial, Helvetica; - font-size: 13px; - color: #333333; - background-color: #f5f5f5; -} -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - position: relative; - padding: 0px 4px; - height: 24px; - line-height: 25px; - border-bottom: 1px solid #cccccc; - border-left: 1px solid #cccccc; - border-right: 1px solid #cccccc; - white-space: nowrap; - overflow: hidden; -} -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls { - position: absolute; - width: 100%; - height: 34px; - bottom: 0px; - left: 0px; - z-index: 3; - overflow: visible; - border-top: 1px solid #cccccc; - background-color: #f5f5f5; - -webkit-tap-highlight-color: rgba(0,0,0,0); -} -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn { - position: absolute; - bottom: 0px; - width: 38px; - height: 100%; - overflow: hidden; - font-size: 14px; - line-height: 33px; - font-family: Arial; - color: #333333; - background-color: #f5f5f5; - border: 0px solid #cccccc; - text-align: center; - z-index: 2; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev:hover, -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next:hover { - color: #2e2e2e; - background-color: #ebebeb; -} -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev:active, -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next:active { - color: #2e2e2e; - background-color: #e6e6e6; - box-shadow: 0 0 5px #d9d9d9 inset; -} -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev, -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis { - left: 0px; - border-right-width: 1px; -} -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next, -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis { - right: 0px; - border-left-width: 1px; -} -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis, -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis { - color: #bbbbbb; - background-color: #fafafa; - z-index: 1; -} -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars { - position: absolute; - top: 11px; - text-align: center; - font-size: 1px; - line-height: 36px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars div.dhx_carousel_onebar { - float: left; - position: relative; - margin: 0 2px; - width: 12px; - height: 12px; - border: 1px solid #cccccc; - border-radius: 12px; - background-color: white; - font-size: 1px; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars div.dhx_carousel_onebar div.dhx_carousel_barcore { - display: none; -} -.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars div.dhx_carousel_onebar.dhx_carousel_baractv div.dhx_carousel_barcore { - position: absolute; - display: block; - font-size: 1px; - margin: 0px; - padding: 0px; - width: 6px; - height: 6px; - top: 3px; - left: 3px; - border-radius: 12px; - background-color: #333333; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxcarousel_base_dhx_terrace div.dhxcelltop_hdr { - position: relative; -} -.dhxcarousel_base_dhx_terrace div.dhxcelltop_ftr { - position: absolute; -} -.dhxcarousel_base_dhx_terrace div.dhxcelltop_progress { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: white; - z-index: 3; - opacity: 0.55; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=55); -} -.dhxcarousel_base_dhx_terrace div.dhxcelltop_progress_img { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-image: url('../imgs/dhxcarousel_terrace/dhxcarousel_cell_progress.gif'); - background-position: center center; - background-repeat: no-repeat; - z-index: 4; -} -.dhxcarousel_base_dhx_terrace div.dhxcelltop_menu { - position: relative; - overflow: hidden; - padding-left: 0px; - padding-right: 0px; - padding-bottom: 10px; -} -.dhxcarousel_base_dhx_terrace div.dhxcelltop_toolbar { - position: relative; - padding-bottom: 10px; - overflow: hidden; -} -.dhxcarousel_base_dhx_terrace div.dhxcelltop_toolbar div.dhx_toolbar_dhx_terrace { - padding-left: 0px; - padding-right: 0px; -} -.dhxcarousel_base_dhx_terrace div.dhxcelltop_ribbon { - padding-bottom: 10px; - position: relative; -} -.dhxcarousel_base_dhx_terrace div.dhxcelltop_ribbon div.dhtmlxribbon_dhx_terrace.dhxrb_without_tabbar { - width: auto; -} -.dhxcarousel_base_dhx_terrace div.dhxcelltop_statusbar { - position: absolute; - background-color: #ffffff; - overflow: hidden; -} -.dhxcarousel_base_dhx_terrace div.dhxcelltop_statusbar div.dhxcont_statusbar { - position: relative; - margin-top: 10px; - border: 1px solid #cccccc; - background-color: #f5f5f5; - font-family: Arial, Helvetica; - font-size: 13px; - color: #333333; - padding: 3px 4px; -} -div.dhx_popup_dhx_terrace div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_dhx_terrace { - background-color: #f5f5f5; -} -div.dhx_popup_dhx_terrace div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls, -.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls, -.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls { - border-bottom: 1px solid #cccccc; -} -div.dhx_popup_dhx_terrace div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev, -div.dhx_popup_dhx_terrace div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis, -.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev, -.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis, -.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev, -.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis { - border-left-width: 1px; -} -div.dhx_popup_dhx_terrace div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next, -div.dhx_popup_dhx_terrace div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis, -.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next, -.dhxwins_vp_dhx_terrace div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis, -.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next, -.dhxwins_vp_dhx_terrace div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_dhx_terrace div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis { - border-right-width: 1px; -} -.dhxcarousel_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 30px; - height: 10px; - overflow: hidden; -} diff --git a/themes/sources4.0/dhtmlxCarousel/codebase/skins/dhtmlxcarousel_dhx_web.css b/themes/sources4.0/dhtmlxCarousel/codebase/skins/dhtmlxcarousel_dhx_web.css deleted file mode 100644 index 913505f..0000000 --- a/themes/sources4.0/dhtmlxCarousel/codebase/skins/dhtmlxcarousel_dhx_web.css +++ /dev/null @@ -1,349 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: dhx_web - include extra file: skins/dhx_web.less -*/ - -.dhxcarousel_base_dhx_web { - background-color: white; - position: relative; - cursor: default; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - overflow: hidden; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area { - position: relative; - overflow: hidden; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area.dhxcarousel_area_flip { - perspective: 900px; - -webkit-perspective: 900; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel { - position: absolute; - background-color: white; - margin: 0px; - padding: 0px; - overflow: hidden; - cursor: default; - z-index: 0; - -webkit-transform-style: preserve-3d; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_cover { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - margin: 0px; - padding: 0px; - font-size: 1px; - background-color: white; - overflow: hidden; - z-index: 1; - opacity: 0.5; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_cont_carousel { - position: absolute; - border: 1px solid #c7c7c7; - overflow: hidden; - margin: 0px; - padding: 0px; - z-index: 0; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_cont_carousel.dhx_cell_cont_no_borders { - border-width: 0px; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_progress_bar { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: #ffffff; - z-index: 1; - opacity: 0.75; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=75); -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_progress_img { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-image: url('../imgs/dhxcarousel_web/dhxcarousel_cell_progress.gif'); - background-position: center center; - background-repeat: no-repeat; - z-index: 2; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_menu_def, -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_menu_no_borders { - position: relative; - overflow: hidden; - padding: 0px 0px 1px 0px; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhtmlxMenu_dhx_web_Middle { - padding: 0px 2px; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_toolbar_def, -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_toolbar_no_borders { - position: relative; - overflow: hidden; - padding: 0px 0px 1px 0px; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def, -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_no_borders { - position: relative; - overflow: hidden; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_dhx_web, -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_no_borders div.dhxrb_with_tabbar.dhxtabbar_base_dhx_web { - border-width: 0px; - width: auto; - margin-left: -4px; - margin-top: -4px; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def div.dhtmlxribbon_dhx_web.dhxrb_without_tabbar, -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_no_borders div.dhtmlxribbon_dhx_web.dhxrb_without_tabbar { - border-width: 0px; - margin-left: -4px; - margin-top: -4px; - width: auto; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_statusbar_def { - position: absolute; - bottom: 0px; - width: 100%; - font-family: Tahoma, Helvetica; - font-size: 12px; - color: #000000; - background-color: #f4f4f4; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - position: relative; - padding: 0px 4px; - height: 24px; - line-height: 25px; - border-bottom: 1px solid #c7c7c7; - border-left: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; - white-space: nowrap; - overflow: hidden; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls { - position: absolute; - width: 100%; - height: 32px; - bottom: 0px; - left: 0px; - z-index: 3; - overflow: visible; - border-top: 1px solid white; - background-color: #f4f4f4; - -webkit-tap-highlight-color: rgba(0,0,0,0); -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn { - position: absolute; - bottom: 0px; - width: 38px; - height: 100%; - overflow: hidden; - line-height: 31px; - font-family: Arial; - font-size: 14px; - color: #3da0e3; - background-color: #f4f4f4; - border: 0px solid white; - text-align: center; - z-index: 2; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev:hover, -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next:hover { - background-color: #c3e1f6; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev:active, -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next:active { - background-color: #acd7f3; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev, -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis { - left: 0px; - border-right-width: 1px; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next, -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis { - right: 0px; - border-left-width: 1px; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis, -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis { - color: #cecece; - z-index: 1; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars { - position: absolute; - top: 11px; - text-align: center; - font-size: 1px; - line-height: 34px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars div.dhx_carousel_onebar { - float: left; - position: relative; - margin: 0 2px; - width: 10px; - height: 10px; - border: 1px solid #c7c7c7; - border-radius: 10px; - background-color: white; - font-size: 1px; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars div.dhx_carousel_onebar div.dhx_carousel_barcore { - display: none; -} -.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars div.dhx_carousel_onebar.dhx_carousel_baractv div.dhx_carousel_barcore { - position: absolute; - display: block; - font-size: 1px; - margin: 0px; - padding: 0px; - width: 4px; - height: 4px; - top: 2px; - left: 2px; - border: 1px solid #3da0e3; - border-radius: 12px; - background-color: #3da0e3; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxcarousel_base_dhx_web div.dhxcelltop_hdr { - position: relative; -} -.dhxcarousel_base_dhx_web div.dhxcelltop_ftr { - position: absolute; -} -.dhxcarousel_base_dhx_web div.dhxcelltop_progress { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: white; - z-index: 3; - opacity: 0.55; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=55); -} -.dhxcarousel_base_dhx_web div.dhxcelltop_progress_img { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-image: url('../imgs/dhxcarousel_web/dhxcarousel_cell_progress.gif'); - background-position: center center; - background-repeat: no-repeat; - z-index: 4; -} -.dhxcarousel_base_dhx_web div.dhxcelltop_menu { - position: relative; - overflow: hidden; - border-bottom: 9px solid #ffffff; -} -.dhxcarousel_base_dhx_web div.dhxcelltop_toolbar { - position: relative; - background-color: #ffffff; - padding-bottom: 9px; - overflow: hidden; -} -.dhxcarousel_base_dhx_web div.dhxcelltop_ribbon { - position: relative; - border-bottom: 9px solid #ffffff; -} -.dhxcarousel_base_dhx_web div.dhxcelltop_ribbon div.dhtmlxribbon_dhx_web.dhxrb_without_tabbar { - width: auto; -} -.dhxcarousel_base_dhx_web div.dhxcelltop_statusbar { - position: absolute; - overflow: hidden; - background-color: #ffffff; -} -.dhxcarousel_base_dhx_web div.dhxcelltop_statusbar div.dhxcont_statusbar { - position: relative; - background-color: #f4f4f4; - margin-top: 9px; - border: 1px solid #c7c7c7; - padding: 3px 4px; - font-family: Tahoma, Helvetica; - font-size: 12px; - color: #000000; -} -div.dhx_popup_dhx_web div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_dhx_web { - background-color: #f4f4f4; -} -div.dhx_popup_dhx_web div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls { - border-bottom: 1px solid white; -} -div.dhx_popup_dhx_web div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev, -div.dhx_popup_dhx_web div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis { - border-left-width: 1px; -} -div.dhx_popup_dhx_web div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next, -div.dhx_popup_dhx_web div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_dhx_web div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis { - border-right-width: 1px; -} -.dhxcarousel_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 20px; - height: 10px; - overflow: hidden; -} diff --git a/themes/sources4.0/dhtmlxCarousel/codebase/skins/dhtmlxcarousel_material.css b/themes/sources4.0/dhtmlxCarousel/codebase/skins/dhtmlxcarousel_material.css deleted file mode 100644 index 36deadb..0000000 --- a/themes/sources4.0/dhtmlxCarousel/codebase/skins/dhtmlxcarousel_material.css +++ /dev/null @@ -1,519 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: material - include extra file: skins/material.less -*/ - -@keyframes dhx_loader_rotate { - 100% { - transform: rotate(360deg); - } -} -@keyframes dhx_loader_dash { - 0% { - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - } - 50% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -35px; - } - 100% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -124px; - } -} -.dhxcarousel_base_material { - background-color: white; - position: relative; - cursor: default; -} -.dhxcarousel_base_material div.dhxcarousel_cont { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - overflow: hidden; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area { - position: relative; - overflow: hidden; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area.dhxcarousel_area_flip { - perspective: 900px; - -webkit-perspective: 900; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel { - position: absolute; - background-color: white; - margin: 0px; - padding: 0px; - overflow: hidden; - cursor: default; - z-index: 0; - -webkit-transform-style: preserve-3d; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_cover { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - margin: 0px; - padding: 0px; - font-size: 1px; - background-color: white; - overflow: hidden; - z-index: 1; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_progress_bar { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: white; - z-index: 1; - opacity: 0.75; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=75); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_progress_img { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - border: 1px solid #e4e4e4; - background-image: url('../imgs/dhxcarousel_material/dhxcarousel_cell_progress.gif'); - background-position: center center; - background-repeat: no-repeat; - z-index: 2; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_progress_svg { - border: 1px solid #e4e4e4; - z-index: 2; - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_progress_svg .dhx_cell_prsvg { - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - margin: auto; - width: 50px; - height: 50px; - animation: dhx_loader_rotate 2s linear infinite; - transform-origin: center center; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_progress_svg .dhx_cell_prsvg .dhx_cell_prcircle { - fill: none; - stroke: #3399cc; - stroke-width: 2; - stroke-miterlimit: 10; - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - stroke-linecap: round; - animation: dhx_loader_dash 1.5s ease-in-out infinite; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_menu_def { - position: relative; - overflow: hidden; - border-style: solid; - border-width: 0px 1px 1px 1px; - border-color: #dfdfdf; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_toolbar_def { - position: relative; - overflow: hidden; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_toolbar_def .dhx_toolbar_material { - border-width: 0px 1px 1px 1px; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def { - position: relative; - overflow: hidden; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material { - border-top-width: 0px; - margin-top: -1px; - width: auto; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def div.dhtmlxribbon_material.dhxrb_without_tabbar { - border-top-width: 0px; - width: auto; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_statusbar_def { - position: absolute; - bottom: 0px; - width: 100%; - background-color: #fafafa; - z-index: 1; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - position: relative; - font: inherit; - height: 30px; - line-height: 30px; - border-style: solid; - border-width: 0px 1px 1px 1px; - border-color: #dfdfdf; - white-space: nowrap; - overflow: hidden; - padding: 0px 12px; - color: #737373; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_cont_carousel { - position: absolute; - border: 1px solid #dfdfdf; - overflow: hidden; - margin: 0px; - padding: 0px; - z-index: 0; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_cont_carousel.dhx_cell_cont_no_borders { - border-width: 0px; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_menu_def { - border-width: 1px 1px 0px 1px; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_toolbar_def .dhx_toolbar_material { - border-width: 1px 1px 0px 1px; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def div.dhtmlxribbon_material.dhxrb_without_tabbar { - border-width: 1px 1px 0px 1px; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material { - border-top-width: 1px; - margin-top: 0px; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhxcarousel_area div.dhx_cell_carousel div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material div.dhxtabbar_tabs_top div.dhx_cell_tabbar div.dhx_cell_cont_tabbar { - border-bottom-width: 0px; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls { - position: absolute; - width: 100%; - height: 34px; - bottom: 0px; - left: 0px; - z-index: 3; - overflow: visible; - border-top: 1px solid #dfdfdf; - background-color: #fafafa; - -webkit-tap-highlight-color: rgba(0,0,0,0); -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn { - position: absolute; - bottom: 0px; - width: 38px; - height: 100%; - overflow: hidden; - line-height: 33px; - background-color: #fafafa; - border: 0px solid #dfdfdf; - background-position: center center; - background-repeat: no-repeat; - text-align: center; - z-index: 2; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev { - background-image: url(../imgs/dhxcarousel_material/dhxcarousel_arrow_left.png); -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis { - background-image: url(../imgs/dhxcarousel_material/dhxcarousel_arrow_left_dis.png); -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next { - background-image: url(../imgs/dhxcarousel_material/dhxcarousel_arrow_right.png); -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis { - background-image: url(../imgs/dhxcarousel_material/dhxcarousel_arrow_right_dis.png); -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev:hover, -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next:hover { - background-color: #ebebeb; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev:active, -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next:active { - background-color: #dcdcdc; - border-color: #d2d2d2; - box-shadow: 0 0 4px rgba(127,127,127,0.2) inset; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev, -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis { - left: 0px; - border-right-width: 1px; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next, -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis { - right: 0px; - border-left-width: 1px; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis, -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis { - z-index: 1; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars { - position: absolute; - top: 10px; - text-align: center; - font-size: 1px; - line-height: 36px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars div.dhx_carousel_onebar { - float: left; - position: relative; - margin: 0 2px; - width: 14px; - height: 14px; - border: 1px solid #797979; - border-radius: 14px; - background-color: white; - font-size: 1px; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars div.dhx_carousel_onebar div.dhx_carousel_barcore { - display: none; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars div.dhx_carousel_onebar.dhx_carousel_baractv { - border-color: #3399cc; -} -.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_bars div.dhx_carousel_onebar.dhx_carousel_baractv div.dhx_carousel_barcore { - position: absolute; - display: block; - font-size: 1px; - margin: 0px; - padding: 0px; - width: 8px; - height: 8px; - top: 3px; - left: 3px; - border-radius: 50%; - background-color: #3399cc; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxcarousel_base_material div.dhxcelltop_hdr { - position: relative; -} -.dhxcarousel_base_material div.dhxcelltop_ftr { - position: absolute; -} -.dhxcarousel_base_material div.dhxcelltop_progress { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: white; - z-index: 3; - opacity: 0.55; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=55); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxcarousel_base_material div.dhxcelltop_progress_img { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-image: url('../imgs/dhxcarousel_material/dhxcarousel_cell_progress.gif'); - background-position: center center; - background-repeat: no-repeat; - z-index: 4; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxcarousel_base_material div.dhxcelltop_progress_svg { - z-index: 4; - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxcarousel_base_material div.dhxcelltop_progress_svg .dhx_cell_prsvg { - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - margin: auto; - width: 50px; - height: 50px; - animation: dhx_loader_rotate 2s linear infinite; - transform-origin: center center; -} -.dhxcarousel_base_material div.dhxcelltop_progress_svg .dhx_cell_prsvg .dhx_cell_prcircle { - fill: none; - stroke: #3399cc; - stroke-width: 2; - stroke-miterlimit: 10; - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - stroke-linecap: round; - animation: dhx_loader_dash 1.5s ease-in-out infinite; -} -.dhxcarousel_base_material div.dhxcelltop_menu { - position: relative; - overflow: hidden; - border-width: 1px 1px 0px 1px; - border-style: solid; - border-color: #dfdfdf; -} -.dhxcarousel_base_material div.dhxcelltop_toolbar { - position: relative; - overflow: hidden; -} -.dhxcarousel_base_material div.dhxcelltop_toolbar div.dhx_toolbar_material { - border-width: 1px 1px 0px 1px; -} -.dhxcarousel_base_material div.dhxcelltop_ribbon { - position: relative; - overflow: hidden; -} -.dhxcarousel_base_material div.dhxcelltop_ribbon div.dhtmlxribbon_material.dhxrb_without_tabbar { - border-bottom-width: 0px; - width: auto; -} -.dhxcarousel_base_material div.dhxcelltop_ribbon div.dhtmlxribbon_material div.dhxrb_with_tabbar.dhxtabbar_base_material div.dhxtabbar_tabs_top div.dhx_cell_tabbar div.dhx_cell_cont_tabbar { - border-bottom-width: 0px; -} -.dhxcarousel_base_material div.dhxcelltop_statusbar { - position: absolute; - overflow: hidden; - background-color: #fafafa; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -.dhxcarousel_base_material div.dhxcelltop_statusbar div.dhxcont_statusbar { - position: relative; - background-color: #fafafa; - font: inherit; - height: 30px; - line-height: 30px; - border-width: 0px 1px 1px 1px; - border-style: solid; - border-color: #dfdfdf; - padding: 0px 12px; - color: #737373; - white-space: nowrap; - overflow: hidden; -} -.dhxcarousel_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 40px; - height: 10px; - overflow: hidden; -} -div.dhx_popup_material div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_material { - background-color: #fafafa; -} -div.dhx_popup_material div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls, -.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls, -.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls { - border-bottom: 1px solid #dfdfdf; -} -div.dhx_popup_material div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev, -div.dhx_popup_material div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis, -.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev, -.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis, -.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev, -.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_prev_dis { - border-left-width: 1px; -} -div.dhx_popup_material div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next, -div.dhx_popup_material div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis, -.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next, -.dhxwins_vp_material div.dhxwin_active div.dhx_cell_wins div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis, -.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next, -.dhxwins_vp_material div.dhxwin_inactive div.dhx_cell_wins div.dhxcarousel_base_material div.dhxcarousel_cont div.dhx_carousel_controls div.dhx_carousel_btn.dhx_carousel_btn_next_dis { - border-right-width: 1px; -} diff --git a/themes/sources4.0/dhtmlxChart/codebase/dhtmlxchart.js b/themes/sources4.0/dhtmlxChart/codebase/dhtmlxchart.js deleted file mode 100644 index 6644726..0000000 --- a/themes/sources4.0/dhtmlxChart/codebase/dhtmlxchart.js +++ /dev/null @@ -1,4061 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - - -/* DHX DEPEND FROM FILE 'group.js'*/ - - -/*DHX:Depend datastore.js*/ -/*DHX:Depend dhtmlx.js*/ - -dhtmlx.Group = { - _init:function(){ - dhtmlx.assert(this.data,"DataStore required for grouping"); - this.data.attachEvent("onStoreLoad",dhtmlx.bind(function(){ - if (this._settings.group) - this.group(this._settings.group,false); - },this)); - this.attachEvent("onBeforeRender",dhtmlx.bind(function(data){ - if (this._settings.sort){ - data.block(); - data.sort(this._settings.sort); - data.unblock(); - } - },this)); - this.attachEvent("onBeforeSort",dhtmlx.bind(function(){ - this._settings.sort = null; - },this)); - }, - _init_group_data_event:function(data,master){ - data.attachEvent("onClearAll",dhtmlx.bind(function(){ - this.ungroup(false); - this.block(); - this.clearAll(); - this.unblock(); - },master)); - }, - sum:function(property, data){ - property = dhtmlx.Template.setter(property); - - data = data || this.data; - var summ = 0; - data.each(function(obj){ - summ+=property(obj)*1; - }); - return summ; - }, - min:function(property, data){ - property = dhtmlx.Template.setter(property); - - data = data || this.data; - var min = Infinity; - data.each(function(obj){ - if (property(obj)*1 < min) min = property(obj)*1; - }); - return min*1; - }, - max:function(property, data){ - property = dhtmlx.Template.setter(property); - - data = data || this.data; - var max = -Infinity; - data.each(function(obj){ - if (property(obj)*1 > max) max = property(obj)*1; - }); - return max; - }, - _split_data_by:function(stats){ - var any=function(property, data){ - property = dhtmlx.Template.setter(property); - return property(data[0]); - }; - var key = dhtmlx.Template.setter(stats.by); - if (!stats.map[key]) - stats.map[key] = [key, any]; - - var groups = {}; - var labels = []; - this.data.each(function(data){ - var current = key(data); - if (!groups[current]){ - labels.push({id:current}); - groups[current] = dhtmlx.toArray(); - } - groups[current].push(data); - }); - for (var prop in stats.map){ - var functor = (stats.map[prop][1]||any); - if (typeof functor != "function") - functor = this[functor]; - - for (var i=0; i < labels.length; i++) { - labels[i][prop]=functor.call(this, stats.map[prop][0], groups[labels[i].id]); - } - } -// if (this._settings.sort) -// labels.sortBy(stats.sort); - - this._not_grouped_data = this.data; - this.data = new dhtmlx.DataStore(); - this.data.provideApi(this,true); - this._init_group_data_event(this.data, this); - this.parse(labels,"json"); - }, - group:function(config,mode){ - this.ungroup(false); - this._split_data_by(config); - if (mode!==false) - this.render(); - }, - ungroup:function(mode){ - if (this._not_grouped_data){ - this.data = this._not_grouped_data; - this.data.provideApi(this, true); - } - if (mode!==false) - this.render(); - }, - group_setter:function(config){ - dhtmlx.assert(typeof config == "object", "Incorrect group value"); - dhtmlx.assert(config.by,"group.by is mandatory"); - dhtmlx.assert(config.map,"group.map is mandatory"); - return config; - }, - //need to be moved to more appropriate object - sort_setter:function(config){ - if (typeof config != "object") - config = { by:config }; - - this._mergeSettings(config,{ - as:"string", - dir:"asc" - }); - return config; - } -}; - - - - -/* DHX DEPEND FROM FILE 'date.js'*/ - - -/*DHX:Depend dhtmlx.js*/ - -dhtmlx.Date={ - Locale: { - month_full:["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], - month_short:["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], - day_full:["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], - day_short:["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"] - }, - - date_part:function(date){ - date.setHours(0); - date.setMinutes(0); - date.setSeconds(0); - date.setMilliseconds(0); - return date; - }, - time_part:function(date){ - return (date.valueOf()/1000 - date.getTimezoneOffset()*60)%86400; - }, - week_start:function(date){ - var shift=date.getDay(); - if (this.config.start_on_monday){ - if (shift===0) shift=6; - else shift--; - } - return this.date_part(this.add(date,-1*shift,"day")); - }, - month_start:function(date){ - date.setDate(1); - return this.date_part(date); - }, - year_start:function(date){ - date.setMonth(0); - return this.month_start(date); - }, - day_start:function(date){ - return this.date_part(date); - }, - add:function(date,inc,mode){ - var ndate=new Date(date.valueOf()); - switch(mode){ - case "day": ndate.setDate(ndate.getDate()+inc); break; - case "week": ndate.setDate(ndate.getDate()+7*inc); break; - case "month": ndate.setMonth(ndate.getMonth()+inc); break; - case "year": ndate.setYear(ndate.getFullYear()+inc); break; - case "hour": ndate.setHours(ndate.getHours()+inc); break; - case "minute": ndate.setMinutes(ndate.getMinutes()+inc); break; - default: - return dhtmlx.Date["add_"+mode](date,inc,mode); - } - return ndate; - }, - to_fixed:function(num){ - if (num<10) return "0"+num; - return num; - }, - copy:function(date){ - return new Date(date.valueOf()); - }, - date_to_str:function(format,utc){ - format=format.replace(/%[a-zA-Z]/g,function(a){ - switch(a){ - case "%d": return "\"+dhtmlx.Date.to_fixed(date.getDate())+\""; - case "%m": return "\"+dhtmlx.Date.to_fixed((date.getMonth()+1))+\""; - case "%j": return "\"+date.getDate()+\""; - case "%n": return "\"+(date.getMonth()+1)+\""; - case "%y": return "\"+dhtmlx.Date.to_fixed(date.getFullYear()%100)+\""; - case "%Y": return "\"+date.getFullYear()+\""; - case "%D": return "\"+dhtmlx.Date.Locale.day_short[date.getDay()]+\""; - case "%l": return "\"+dhtmlx.Date.Locale.day_full[date.getDay()]+\""; - case "%M": return "\"+dhtmlx.Date.Locale.month_short[date.getMonth()]+\""; - case "%F": return "\"+dhtmlx.Date.Locale.month_full[date.getMonth()]+\""; - case "%h": return "\"+dhtmlx.Date.to_fixed((date.getHours()+11)%12+1)+\""; - case "%g": return "\"+((date.getHours()+11)%12+1)+\""; - case "%G": return "\"+date.getHours()+\""; - case "%H": return "\"+dhtmlx.Date.to_fixed(date.getHours())+\""; - case "%i": return "\"+dhtmlx.Date.to_fixed(date.getMinutes())+\""; - case "%a": return "\"+(date.getHours()>11?\"pm\":\"am\")+\""; - case "%A": return "\"+(date.getHours()>11?\"PM\":\"AM\")+\""; - case "%s": return "\"+dhtmlx.Date.to_fixed(date.getSeconds())+\""; - case "%W": return "\"+dhtmlx.Date.to_fixed(dhtmlx.Date.getISOWeek(date))+\""; - default: return a; - } - }); - if (utc) format=format.replace(/date\.get/g,"date.getUTC"); - return new Function("date","return \""+format+"\";"); - }, - str_to_date:function(format,utc){ - var splt="var temp=date.split(/[^0-9a-zA-Z]+/g);"; - var mask=format.match(/%[a-zA-Z]/g); - for (var i=0; i50?1900:2000);"; - break; - case "%g": - case "%G": - case "%h": - case "%H": - splt+="set[3]=temp["+i+"]||0;"; - break; - case "%i": - splt+="set[4]=temp["+i+"]||0;"; - break; - case "%Y": splt+="set[0]=temp["+i+"]||0;"; - break; - case "%a": - case "%A": splt+="set[3]=set[3]%12+((temp["+i+"]||'').toLowerCase()=='am'?0:12);"; - break; - case "%s": splt+="set[5]=temp["+i+"]||0;"; - break; - } - } - var code ="set[0],set[1],set[2],set[3],set[4],set[5]"; - if (utc) code =" Date.UTC("+code+")"; - return new Function("date","var set=[0,0,1,0,0,0]; "+splt+" return new Date("+code+");"); - }, - - getISOWeek: function(ndate) { - if(!ndate) return false; - var nday = ndate.getDay(); - if (nday === 0) { - nday = 7; - } - var first_thursday = new Date(ndate.valueOf()); - first_thursday.setDate(ndate.getDate() + (4 - nday)); - var year_number = first_thursday.getFullYear(); // year of the first Thursday - var ordinal_date = Math.floor( (first_thursday.getTime() - new Date(year_number, 0, 1).getTime()) / 86400000); //ordinal date of the first Thursday - 1 (so not really ordinal date) - var week_number = 1 + Math.floor( ordinal_date / 7); - return week_number; - }, - - getUTCISOWeek: function(ndate){ - return this.getISOWeek(ndate); - } -}; - - - - - - -/* DHX DEPEND FROM FILE 'math.js'*/ - - -dhtmlx.math = {}; -dhtmlx.math._toHex=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"]; -dhtmlx.math.toHex = function(number, length){ - number=parseInt(number,10); - str = ""; - while (number>0){ - str=this._toHex[number%16]+str; - number=Math.floor(number/16); - } - while (str.length 255) - r = 0; - if (g < 0 || g > 255) - g = 0; - if (b < 0 || b > 255) - b = 0; - return [r,g,b]; -} -dhtmlx.math.hsvToRgb = function(h, s, v){ - var hi,f,p,q,t,r,g,b; - hi = Math.floor((h/60))%6; - f = h/60-hi; - p = v*(1-s); - q = v*(1-f*s); - t = v*(1-(1-f)*s); - r = 0; - g = 0; - b = 0; - switch(hi) { - case 0: - r = v; g = t; b = p; - break; - case 1: - r = q; g = v; b = p; - break; - case 2: - r = p; g = v; b = t; - break; - case 3: - r = p; g = q; b = v; - break; - case 4: - r = t; g = p; b = v; - break; - case 5: - r = v; g = p; b = q; - break; - } - r = Math.floor(r*255); - g = Math.floor(g*255); - b = Math.floor(b*255); - return [r, g, b]; -}; -dhtmlx.math.rgbToHsv = function(r, g, b){ - var r0,g0,b0,min0,max0,s,h,v; - r0 = r/255; - g0 = g/255; - b0 = b/255; - var min0 = Math.min(r0, g0, b0); - var max0 = Math.max(r0, g0, b0); - h = 0; - s = max0==0?0:(1-min0/max0); - v = max0; - if (max0 == min0) { - h = 0; - } else if (max0 == r0 && g0>=b0) { - h = 60*(g0 - b0)/(max0 - min0)+0; - } else if (max0 == r0 && g0 < b0) { - h = 60*(g0 - b0)/(max0 - min0)+360; - } else if (max0 == g0) { - h = 60*(b0 - r0)/(max0-min0)+120; - } else if (max0 == b0) { - h = 60*(r0 - g0)/(max0 - min0)+240; - } - return [h, s, v]; -} - - - - -/* DHX DEPEND FROM FILE 'ext/chart/presets.js'*/ - - -/*chart presents*/ -if(!dhtmlx.presets) - dhtmlx.presets = {}; -dhtmlx.presets.chart = { - "simple":{ - item:{ - borderColor: "#ffffff", - color: "#2b7100", - shadow: false, - borderWidth:2 - }, - line:{ - color:"#8ecf03", - width:2 - } - }, - "plot":{ - color:"#1293f8", - item:{ - borderColor:"#636363", - borderWidth:1, - color: "#ffffff", - type:"r", - shadow: false - }, - line:{ - color:"#1293f8", - width:2 - } - }, - "diamond":{ - color:"#b64040", - item:{ - borderColor:"#b64040", - color: "#b64040", - type:"d", - radius:3, - shadow:true - }, - line:{ - color:"#ff9000", - width:2 - } - }, - "point":{ - color:"#fe5916", - disableLines:true, - fill:false, - disableItems:false, - item:{ - color:"#feb916", - borderColor:"#fe5916", - radius:2, - borderWidth:1, - type:"r" - }, - alpha:1 - }, - "line":{ - line:{ - color:"#3399ff", - width:2 - }, - item:{ - color:"#ffffff", - borderColor:"#3399ff", - radius:2, - borderWidth:2, - type:"d" - }, - fill:false, - disableItems:false, - disableLines:false, - alpha:1 - }, - "area":{ - fill:"#3399ff", - line:{ - color:"#3399ff", - width:1 - }, - disableItems:true, - alpha: 0.2, - disableLines:false - }, - "round":{ - item:{ - radius:3, - borderColor:"#3f83ff", - borderWidth:1, - color:"#3f83ff", - type:"r", - shadow:false, - alpha:0.6 - } - }, - "square":{ - item:{ - radius:3, - borderColor:"#447900", - borderWidth:2, - color:"#69ba00", - type:"s", - shadow:false, - alpha:1 - } - }, - /*bar*/ - "column":{ - color:"RAINBOW", - gradient:false, - width:45, - radius:0, - alpha:1, - border:true - }, - "stick":{ - width:5, - gradient:false, - color:"#67b5c9", - radius:2, - alpha:1, - border:false - }, - "alpha":{ - color:"#b9a8f9", - width:70, - gradient:"falling", - radius:0, - alpha:0.5, - border:true - } -}; - - - -/* DHX DEPEND FROM FILE 'map.js'*/ - - -/*DHX:Depend dhtmlx.js*/ - -dhtmlx.ui.Map = function(key){ - this.name = "Map"; - this._id = "map_"+dhtmlx.uid(); - this._key = key; - this._map = []; -}; -dhtmlx.ui.Map.prototype = { - addRect: function(id,points,userdata) { - this._createMapArea(id,"RECT",points,userdata); - }, - addPoly: function(id,points,userdata) { - this._createMapArea(id,"POLY",points,userdata); - }, - _createMapArea:function(id,shape,coords,userdata){ - var extra_data = ""; - if(arguments.length==4) - extra_data = "userdata='"+userdata+"'"; - this._map.push(""); - }, - addSector:function(id,alpha0,alpha1,x,y,R,ky,userdata){ - var points = []; - points.push(x); - points.push(Math.floor(y*ky)); - for(var i = alpha0; i < alpha1; i+=Math.PI/18){ - points.push(Math.floor(x+R*Math.cos(i))); - points.push(Math.floor((y+R*Math.sin(i))*ky)); - } - points.push(Math.floor(x+R*Math.cos(alpha1))); - points.push(Math.floor((y+R*Math.sin(alpha1))*ky)); - points.push(x); - points.push(Math.floor(y*ky)); - - return this.addPoly(id,points,userdata); - }, - render:function(obj){ - var d = dhtmlx.html.create("DIV"); - d.style.cssText="position:absolute; width:100%; height:100%; top:0px; left:0px;"; - obj.appendChild(d); - var src = dhtmlx._isIE?"":"src='data:image/gif;base64,R0lGODlhEgASAIAAAP///////yH5BAUUAAEALAAAAAASABIAAAIPjI+py+0Po5y02ouz3pwXADs='"; - d.innerHTML=""+this._map.join("\n")+""; - - obj._htmlmap = d; //for clearing routine - - this._map = []; - } -}; - - -/* DHX DEPEND FROM FILE 'ext/chart/chart_base.js'*/ - - -/*DHX:Depend map.js*/ -dhtmlx.chart = {}; - - -/* DHX DEPEND FROM FILE 'ext/chart/chart_scatter.js'*/ - - -/*DHX:Depend ext/chart/chart_base.js*/ -dhtmlx.chart.scatter = { - - /** - * renders a graphic - * @param: ctx - canvas object - * @param: data - object those need to be displayed - * @param: point0 - top left point of a chart - * @param: point1 - right bottom point of a chart - * @param: sIndex - index of drawing chart - * @param: map - map object - */ - pvt_render_scatter:function(ctx, data, point0, point1, sIndex, map){ - if(!this._settings.xValue) - return dhtmlx.log("warning","Undefined propery: xValue"); - /*max in min values*/ - var limitsY = this._getLimits(); - var limitsX = this._getLimits("h","xValue"); - /*render scale*/ - if(!sIndex){ - if(!this.canvases["x"]) - this.canvases["x"] = new dhtmlx.ui.Canvas(this._obj,"axis_x"); - if(!this.canvases["y"]) - this.canvases["y"] = new dhtmlx.ui.Canvas(this._obj,"axis_y"); - this._drawYAxis(this.canvases["y"].getCanvas(),data,point0,point1,limitsY.min,limitsY.max); - this._drawHXAxis(this.canvases["x"].getCanvas(),data,point0,point1,limitsX.min,limitsX.max); - } - limitsY = {min:this._settings.yAxis.start,max:this._settings.yAxis.end}; - limitsX = {min:this._settings.xAxis.start,max:this._settings.xAxis.end}; - var params = this._getScatterParams(ctx,data,point0,point1,limitsX,limitsY); - this._mapStart = point0; - for(var i=0;i limits.max) - pos = point0[axis.toLowerCase()]; - /*the limit of the minimum value*/ - if(value < limits.min) - pos = point1[axis.toLowerCase()]; - return pos; - }, - _calcScatterUnit:function(p,min,max,size,axis){ - var relativeValues = this._getRelativeValue(min,max); - axis = (axis||""); - p["relValue"+axis] = relativeValues[0]; - p["valueFactor"+axis] = relativeValues[1]; - p["unit"+axis] = (p["relValue"+axis]?size/p["relValue"+axis]:10); - } -}; - - - -/* DHX DEPEND FROM FILE 'ext/chart/chart_radar.js'*/ - - -/*DHX:Depend ext/chart/chart_base.js*/ -dhtmlx.chart.radar = { - pvt_render_radar:function(ctx,data,x,y,sIndex,map){ - this._renderRadarChart(ctx,data,x,y,sIndex,map); - - }, - /** - * renders a pie chart - * @param: ctx - canvas object - * @param: data - object those need to be displayed - * @param: x - the width of the container - * @param: y - the height of the container - * @param: ky - value from 0 to 1 that defines an angle of inclination (0=start; i -=step){ - if(scaleParam.fixNum) i = parseFloat((new Number(i)).toFixed(scaleParam.fixNum)); - units.push(Math.floor(c*stepHeight)+ 0.5); - if(corr){ - i = Math.round(i*corr)/corr; - } - var unitY = y-radius+units[units.length-1]; - - this.canvases["scale"].renderTextAt("middle","left",x,unitY, - configY.template(i.toString()), - "dhx_axis_item_y dhx_radar" - ); - if(ratios.length<2){ - this._drawScaleSector(ctx,"arc",x,y,radius-units[units.length-1],-Math.PI/2,3*Math.PI/2,i); - return; - } - var startAlpha = -Math.PI/2;/*possibly need to moved in config*/ - var alpha0 = startAlpha; - var alpha1; - for(j=0;j< ratios.length;j++){ - if(i==end) - angles.push(alpha0); - alpha1 = startAlpha+ratios[j]-0.0001; - this._drawScaleSector(ctx,(config.lineShape||"line"),x,y,radius-units[units.length-1],alpha0,alpha1,i,j,data[i]); - alpha0 = alpha1; - } - c++; - } - /*renders radius lines and labels*/ - for(i=0;i< angles.length;i++){ - p = this._getPositionByAngle(angles[i],x,y,radius); - if(configX.lines.call(this,data[i],i)) - this._drawLine(ctx,x,y,p.x,p.y,(configX?configX.lineColor.call(this,data[i]):"#cfcfcf"),1); - this._drawRadarScaleLabel(ctx,x,y,radius,angles[i],(configX?configX.template.call(this,data[i]):" ")); - } - - }, - _drawScaleSector:function(ctx,shape,x,y,radius,a1,a2,i,j){ - var pos1, pos2; - if(radius<0) - return false; - pos1 = this._getPositionByAngle(a1,x,y,radius); - pos2 = this._getPositionByAngle(a2,x,y,radius); - var configY = this._settings.yAxis; - if(configY.bg){ - ctx.beginPath(); - ctx.moveTo(x,y); - if(shape=="arc") - ctx.arc(x,y,radius,a1,a2,false); - else{ - ctx.lineTo(pos1.x,pos1.y); - ctx.lineTo(pos2.x,pos2.y); - } - ctx.fillStyle = configY.bg(i,j); - ctx.moveTo(x,y); - ctx.fill(); - ctx.closePath(); - } - if(configY.lines.call(this,i)){ - ctx.lineWidth = 1; - ctx.beginPath(); - if(shape=="arc") - ctx.arc(x,y,radius,a1,a2,false); - else{ - ctx.moveTo(pos1.x,pos1.y); - ctx.lineTo(pos2.x,pos2.y); - } - ctx.strokeStyle = configY.lineColor.call(this,i); - ctx.stroke(); - } - }, - _drawRadarScaleLabel:function(ctx,x,y,r,a,text){ - var t = this.canvases["scale"].renderText(0,0,text,"dhx_axis_radar_title",1); - var width = t.scrollWidth; - var height = t.offsetHeight; - var delta = 0.001; - var pos = this._getPositionByAngle(a,x,y,r+5); - var corr_x=0,corr_y=0; - if(a<0||a>Math.PI){ - corr_y = -height; - } - if(a>Math.PI/2){ - corr_x = -width; - } - if(Math.abs(a+Math.PI/2) 0; i --){ - x -= params.cellWidth ; - y = data[i].$startY; - if(y) - path.push([x,y]); - } - } - - // go to start point - path.push([path[0][0],path[0][1]]); - - // filling path - ctx.globalAlpha = this._settings.alpha.call(this,data[0]); - ctx.fillStyle = this._settings.color.call(this,data[0]); - ctx.beginPath(); - this._path(ctx,path); - ctx.fill(); - - // set y positions of the next series - for(i=0; i < data.length;i ++){ - y = yPos[i]; - - if(!y){ - if(i == data.length-1){ - y = data[i].$startY; - } - for(j =i+1; j< data.length; j++){ - if(yPos[j]){ - a0 = {x:point0.x,y:yPos[0]}; - a1 = {x:(point0.x+params.cellWidth*j),y:yPos[j]}; - y = solveEquation(point0.x+params.cellWidth*i,a0,a1); - break; - } - - } - } - - data[i].$startY = y; - } - - - } - } -}; - - - -/* DHX DEPEND FROM FILE 'ext/chart/chart_spline.js'*/ - - -/*DHX:Depend ext/chart/chart_base.js*/ -dhtmlx.chart.spline = { - /** - * renders a spline chart - * @param: ctx - canvas object - * @param: data - object those need to be displayed - * @param: width - the width of the container - * @param: height - the height of the container - * @param: sIndex - index of drawing chart - */ - pvt_render_spline:function(ctx, data, point0, point1, sIndex, map){ - - var config,i,items,j,params,sparam,x,x0,x1,x2,y,y1,y2; - params = this._calculateLineParams(ctx,data,point0,point1,sIndex); - config = this._settings; - this._mapStart = point0; - - /*array of all points*/ - items = []; - - /*drawing all items*/ - if (data.length) { - - /*getting all points*/ - x0 = (config.offset?point0.x+params.cellWidth*0.5:point0.x); - for(i=0; i < data.length;i ++){ - y = this._getPointY(data[i],point0,point1,params); - if(y){ - x = ((!i)?x0:params.cellWidth*i - 0.5 + x0); - items.push({x:x,y:y,index:i}); - } - } - sparam = this._getSplineParameters(items); - - for(i =0; i< items.length; i++){ - x1 = items[i].x; - y1 = items[i].y; - if(ipoint1.y) - sY1=point1.y; - var sY2 = this._getSplineYPoint(j+1,x1,i,sparam.a,sparam.b,sparam.c,sparam.d); - if(sY2point1.y) - sY2=point1.y; - this._drawLine(ctx,j,sY1,j+1,sY2,config.line.color(data[i]),config.line.width); - - } - this._drawLine(ctx,x2-1,this._getSplineYPoint(j,x1,i,sparam.a,sparam.b,sparam.c,sparam.d),x2,y2,config.line.color(data[i]),config.line.width); - } - this._drawItem(ctx,x1,y1,data[items[i].index],config.label(data[items[i].index]), sIndex, map); - /*creates map area*/ - /*radius = (parseInt(config.item.radius.call(this,data[i-1]),10)||2); - areaPos = (config.eventRadius||radius+1); - map.addRect(data[i].id,[x1-areaPos,y1-areaPos,x1+areaPos,y1+areaPos],sIndex); */ - - } - //this._drawItemOfLineChart(ctx,x2,y2,data[i],config.label(data[i])); - - } - }, - /*gets spline parameter*/ - _getSplineParameters:function(points){ - var i,u,v,s,a,b,c,d, - h = [], - m = [], - n = points.length; - - for(i =0; i=1; i--) - s[i] = (v[i] - h[i]*s[i+1])/u[i]; - - a = []; b = []; c = []; d = []; - - for(i =0; icellWidth) barWidth = cellWidth/this._series.length-4; - /*the half of distance between bars*/ - barOffset = Math.floor((cellWidth - barWidth*this._series.length)/2); - /*the radius of rounding in the top part of each bar*/ - radius = (typeof this._settings.radius!="undefined"?parseInt(this._settings.radius,10):Math.round(barWidth/5)); - - innerGradient = false; - gradient = this._settings.gradient; - - if (gradient&&typeof(gradient) != "function"){ - innerGradient = gradient; - gradient = false; - } else if (gradient){ - gradient = ctx.createLinearGradient(point0.x,point0.y,point1.x,point0.y); - this._settings.gradient(gradient); - } - /*draws a black line if the horizontal scale isn't defined*/ - if(!yax){ - this._drawLine(ctx,point0.x-0.5,point0.y,point0.x-0.5,point1.y,"#000000",1); //hardcoded color! - } - - - - for(i=0; i < data.length;i ++){ - - - value = parseFloat(this._settings.value(data[i]||0)); - if(value>maxValue) value = maxValue; - value -= minValue; - value *= valueFactor; - - /*start point (bottom left)*/ - x0 = point0.x; - y0 = point0.y+ barOffset + i*cellWidth+(barWidth+1)*sIndex; - - if((value<0&&this._settings.origin=="auto")||(this._settings.xAxis&&value===0&&!(this._settings.origin!="auto"&&this._settings.origin>minValue))){ - this.canvases[sIndex].renderTextAt("middle", "right", x0+10,y0+barWidth/2+barOffset,this._settings.label(data[i])); - continue; - } - if(value<0&&this._settings.origin!="auto"&&this._settings.origin>minValue){ - value = 0; - } - - /*takes start value into consideration*/ - if(!yax) value += startValue/unit; - color = gradient||this._settings.color.call(this,data[i]); - - /*drawing the gradient border of a bar*/ - if(this._settings.border){ - this._drawBarHBorder(ctx,x0,y0,barWidth,minValue,radius,unit,value,color); - } - - /*drawing bar body*/ - ctx.globalAlpha = this._settings.alpha.call(this,data[i]); - var points = this._drawBarH(ctx,point1,x0,y0,barWidth,minValue,radius,unit,value,color,gradient,innerGradient); - if (innerGradient!=false){ - this._drawBarHGradient(ctx,x0,y0,barWidth,minValue,radius,unit,value,color,innerGradient); - - } - ctx.globalAlpha = 1; - - - /*sets a bar label and map area*/ - - if(points[3]==y0){ - this.canvases[sIndex].renderTextAt("middle", "left", points[0]-5,points[3]+Math.floor(barWidth/2),this._settings.label(data[i])); - map.addRect(data[i].id,[points[0]-point0.x,points[3]-point0.y,points[2]-point0.x,points[3]+barWidth-point0.y],sIndex); - - }else{ - this.canvases[sIndex].renderTextAt("middle", false, points[2]+5,points[1]+Math.floor(barWidth/2),this._settings.label(data[i])); - map.addRect(data[i].id,[points[0]-point0.x,y0-point0.y,points[2]-point0.x,points[3]-point0.y],sIndex); - } - - } - }, - /** - * sets points for bar and returns the position of the bottom right point - * @param: ctx - canvas object - * @param: x0 - the x position of start point - * @param: y0 - the y position of start point - * @param: barWidth - bar width - * @param: radius - the rounding radius of the top - * @param: unit - the value defines the correspondence between item value and bar height - * @param: value - item value - * @param: offset - the offset from expected bar edge (necessary for drawing border) - */ - _setBarHPoints:function(ctx,x0,y0,barWidth,radius,unit,value,offset,skipLeft){ - /*correction for displaing small values (when rounding radius is bigger than bar height)*/ - var angle_corr = 0; - if(radius>unit*value){ - var sinA = (radius-unit*value)/radius; - angle_corr = -Math.asin(sinA)+Math.PI/2; - } - /*start*/ - ctx.moveTo(x0,y0+offset); - /*start of left rounding*/ - var x1 = x0 + unit*value - radius - (radius?0:offset); - if(radius0) - ctx.arc(x1,y2,radius-offset,-Math.PI/2+angle_corr,0,false); - /*start of right rounding*/ - var y3 = y0 + barWidth - radius - (radius?0:offset); - var x3 = x1 + radius - (radius?offset:0); - ctx.lineTo(x3,y3); - /*right rounding*/ - if (radius&&radius>0) - ctx.arc(x1,y3,radius-offset,0,Math.PI/2-angle_corr,false); - /*bottom right point*/ - var y5 = y0 + barWidth-offset; - ctx.lineTo(x0,y5); - /*line to the start point*/ - if(!skipLeft){ - ctx.lineTo(x0,y0+offset); - } - // ctx.lineTo(x0,0); //IE fix! - return [x3,y5]; - }, - _drawHScales:function(ctx,data,point0,point1,start,end,cellWidth){ - var x = 0; - if(this._settings.xAxis){ - if(!this.canvases["x"]) - this.canvases["x"] = new dhtmlx.ui.Canvas(this._obj); - x = this._drawHXAxis(this.canvases["x"].getCanvas(),data,point0,point1,start,end); - } - if (this._settings.yAxis){ - if(!this.canvases["y"]) - this.canvases["y"] = new dhtmlx.ui.Canvas(this._obj); - this._drawHYAxis(this.canvases["y"].getCanvas(),data,point0,point1,cellWidth,x); - } - }, - _drawHYAxis:function(ctx,data,point0,point1,cellWidth,yAxisX){ - if (!this._settings.yAxis) return; - var unitPos; - var x0 = parseInt((yAxisX?yAxisX:point0.x),10)-0.5; - var y0 = point1.y+0.5; - var y1 = point0.y; - this._drawLine(ctx,x0,y0,x0,y1,this._settings.yAxis.color,1); - - - - for(var i=0; i < data.length;i ++){ - - /*scale labels*/ - var right = ((this._settings.origin!="auto")&&(this._settings.view=="barH")&&(parseFloat(this._settings.value(data[i]))minValue)){ - x += (this._settings.origin-minValue)*unit; - axisStart = x; - value = value-(this._settings.origin-minValue); - if(value < 0){ - value *= (-1); - ctx.translate(x,y+barWidth); - ctx.rotate(Math.PI); - x = 0.5; - y = 0; - } - x += 0.5; - } - - return {value:value,x0:x,y0:y,start:axisStart} - }, - _drawBarH:function(ctx,point1,x0,y0,barWidth,minValue,radius,unit,value,color,gradient,inner_gradient){ - ctx.save(); - var p = this._correctBarHParams(ctx,x0,y0,value,unit,barWidth,minValue); - ctx.fillStyle = color; - ctx.beginPath(); - var points = this._setBarHPoints(ctx,p.x0,p.y0,barWidth,radius,unit,p.value,(this._settings.border?1:0)); - if (gradient&&!inner_gradient) ctx.lineTo(point1.x,p.y0+(this._settings.border?1:0)); //fix gradient sphreading - ctx.fill(); - ctx.restore(); - var y1 = p.y0; - var y2 = (p.y0!=y0?y0:points[1]); - var x1 = (p.y0!=y0?(p.start-points[0]):p.start); - var x2 = (p.y0!=y0?p.start:points[0]); - - return [x1,y1,x2,y2]; - }, - _drawBarHBorder:function(ctx,x0,y0,barWidth,minValue,radius,unit,value,color){ - ctx.save(); - var p = this._correctBarHParams(ctx,x0,y0,value,unit,barWidth,minValue); - - ctx.beginPath(); - this._setBorderStyles(ctx,color); - ctx.globalAlpha =0.9; - this._setBarHPoints(ctx,p.x0,p.y0,barWidth,radius,unit,p.value,ctx.lineWidth/2,1); - - ctx.stroke(); - ctx.restore(); - }, - _drawBarHGradient:function(ctx,x0,y0,barWidth,minValue,radius,unit,value,color,inner_gradient){ - ctx.save(); - //y0 -= (dhx.env.isIE?0:0.5); - var p = this._correctBarHParams(ctx,x0,y0,value,unit,barWidth,minValue); - var gradParam = this._setBarGradient(ctx,p.x0,p.y0+barWidth,p.x0+unit*p.value,p.y0,inner_gradient,color,"x"); - ctx.fillStyle = gradParam.gradient; - ctx.beginPath(); - this._setBarHPoints(ctx,p.x0,p.y0+gradParam.offset,barWidth-gradParam.offset*2,radius,unit,p.value,gradParam.offset); - ctx.fill(); - ctx.globalAlpha = 1; - ctx.restore(); - } -}; - - - -/* DHX DEPEND FROM FILE 'ext/chart/chart_stackedbarh.js'*/ - - -/*DHX:Depend ext/chart/chart_base.js*/ -/*DHX:Depend ext/chart/chart_barh.js*/ - -dhtmlx.assert(dhtmlx.chart.barH); -dhtmlx.chart.stackedBarH = { -/** - * renders a bar chart - * @param: ctx - canvas object - * @param: data - object those need to be displayed - * @param: x - the width of the container - * @param: y - the height of the container - * @param: sIndex - index of drawing chart - * @param: map - map object - */ - pvt_render_stackedBarH:function(ctx, data, point0, point1, sIndex, map){ - var maxValue,minValue; - /*necessary if maxValue - minValue < 0*/ - var valueFactor; - /*maxValue - minValue*/ - var relValue; - - var total_width = point1.x-point0.x; - - var yax = !!this._settings.yAxis; - - var limits = this._getStackedLimits(data); - maxValue = limits.max; - minValue = limits.min; - - /*an available width for one bar*/ - var cellWidth = Math.floor((point1.y-point0.y)/data.length); - - /*draws x and y scales*/ - if(!sIndex) - this._drawHScales(ctx,data,point0, point1,minValue,maxValue,cellWidth); - - /*necessary for automatic scale*/ - if(yax){ - maxValue = parseFloat(this._settings.xAxis.end); - minValue = parseFloat(this._settings.xAxis.start); - } - - /*unit calculation (bar_height = value*unit)*/ - var relativeValues = this._getRelativeValue(minValue,maxValue); - relValue = relativeValues[0]; - valueFactor = relativeValues[1]; - - var unit = (relValue?total_width/relValue:10); - if(!yax){ - /*defines start value for better representation of small values*/ - var startValue = 10; - unit = (relValue?(total_width-startValue)/relValue:10); - } - - /*a real bar width */ - var barWidth = parseInt(this._settings.width,10); - if((barWidth+4)>cellWidth) barWidth = cellWidth-4; - /*the half of distance between bars*/ - var barOffset = (cellWidth - barWidth)/2; - /*the radius of rounding in the top part of each bar*/ - var radius = 0; - - var inner_gradient = false; - var gradient = this._settings.gradient; - if (gradient){ - inner_gradient = true; - } - /*draws a black line if the horizontal scale isn't defined*/ - if(!yax){ - this._drawLine(ctx,point0.x-0.5,point0.y,point0.x-0.5,point1.y,"#000000",1); //hardcoded color! - } - - var seriesNumber = 0; - var seriesIndex = 0; - for(i=0; imaxValue) value = maxValue; - value -= minValue; - value *= valueFactor; - - /*start point (bottom left)*/ - var x0 = point0.x; - var y0 = point0.y+ barOffset + i*cellWidth; - - if(!seriesIndex) - data[i].$startX = x0; - else - x0 = data[i].$startX; - - if(value<0||(this._settings.yAxis&&value===0)){ - this.canvases["y"].renderTextAt("middle", true, x0+10,y0+barWidth/2,this._settings.label(data[i])); - continue; - } - - /*takes start value into consideration*/ - if(!yax) value += startValue/unit; - var color = this._settings.color.call(this,data[i]); - - - /*drawing bar body*/ - ctx.globalAlpha = this._settings.alpha.call(this,data[i]); - ctx.fillStyle = this._settings.color.call(this,data[i]); - ctx.beginPath(); - var points = this._setBarHPoints(ctx,x0,y0,barWidth,radius,unit,value,(this._settings.border?1:0)); - if (gradient&&!inner_gradient) ctx.lineTo(point0.x+total_width,y0+(this._settings.border?1:0)); //fix gradient sphreading - ctx.fill(); - - if (inner_gradient!=false){ - var gradParam = this._setBarGradient(ctx,x0,y0+barWidth,x0,y0,inner_gradient,color,"x"); - ctx.fillStyle = gradParam.gradient; - ctx.beginPath(); - points = this._setBarHPoints(ctx,x0,y0, barWidth,radius,unit,value,0); - ctx.fill(); - } - /*drawing the gradient border of a bar*/ - if(this._settings.border){ - this._drawBarHBorder(ctx,x0,y0,barWidth,minValue,radius,unit,value,color); - } - - ctx.globalAlpha = 1; - - /*sets a bar label*/ - this.canvases[sIndex].renderTextAt("middle",true,data[i].$startX+(points[0]-data[i].$startX)/2-1, y0+(points[1]-y0)/2, this._settings.label(data[i])); - /*defines a map area for a bar*/ - map.addRect(data[i].id,[data[i].$startX-point0.x,y0-point0.y,points[0]-point0.x,points[1]-point0.y],sIndex); - /*the start position for the next series*/ - data[i].$startX = points[0]; - } - } -}; - - -/* DHX DEPEND FROM FILE 'ext/chart/chart_stackedbar.js'*/ - - -/*DHX:Depend ext/chart/chart_base.js*/ -dhtmlx.chart.stackedBar = { - /** - * renders a bar chart - * @param: ctx - canvas object - * @param: data - object those need to be displayed - * @param: x - the width of the container - * @param: y - the height of the container - * @param: sIndex - index of drawing chart - */ - pvt_render_stackedBar:function(ctx, data, point0, point1, sIndex, map){ - var maxValue,minValue; - /*necessary if maxValue - minValue < 0*/ - var valueFactor; - /*maxValue - minValue*/ - var relValue; - - var total_height = point1.y-point0.y; - - var yax = !!this._settings.yAxis; - var xax = !!this._settings.xAxis; - - var limits = this._getStackedLimits(data); - maxValue = limits.max; - minValue = limits.min; - - /*an available width for one bar*/ - var cellWidth = Math.floor((point1.x-point0.x)/data.length); - - /*draws x and y scales*/ - if(!sIndex) - this._drawScales(data,point0, point1,minValue,maxValue,cellWidth); - - /*necessary for automatic scale*/ - if(yax){ - maxValue = parseFloat(this._settings.yAxis.end); - minValue = parseFloat(this._settings.yAxis.start); - } - - /*unit calculation (bar_height = value*unit)*/ - var relativeValues = this._getRelativeValue(minValue,maxValue); - relValue = relativeValues[0]; - valueFactor = relativeValues[1]; - - var unit = (relValue?total_height/relValue:10); - - /*a real bar width */ - var barWidth = parseInt(this._settings.width,10); - if(barWidth+4 > cellWidth) barWidth = cellWidth-4; - /*the half of distance between bars*/ - var barOffset = Math.floor((cellWidth - barWidth)/2); - - - var inner_gradient = (this._settings.gradient?this._settings.gradient:false); - - /*draws a black line if the horizontal scale isn't defined*/ - if(!xax){ - //scaleY = y-bottomPadding; - this._drawLine(ctx,point0.x,point1.y+0.5,point1.x,point1.y+0.5,"#000000",1); //hardcoded color! - } - - for(var i=0; i < data.length;i ++){ - var value = parseFloat(this._settings.value(data[i]||0)); - - if(!value){ - if(!sIndex||!data[i].$startY) - data[i].$startY = point1.y; - continue; - } - /*adjusts the first tab to the scale*/ - if(!sIndex) - value -= minValue; - - value *= valueFactor; - - /*start point (bottom left)*/ - var x0 = point0.x + barOffset + i*cellWidth; - var y0 = point1.y; - if(!sIndex) - data[i].$startY = y0; - else - y0 = data[i].$startY; - - /*the max height limit*/ - if(y0 < (point0.y+1)) continue; - - if(value<0||(this._settings.yAxis&&value===0)){ - this.canvases["y"].renderTextAt(true, true, x0+Math.floor(barWidth/2),y0,this._settings.label(data[i])); - continue; - } - - var color = this._settings.color.call(this,data[i]); - - - - /*drawing bar body*/ - ctx.globalAlpha = this._settings.alpha.call(this,data[i]); - ctx.fillStyle = this._settings.color.call(this,data[i]); - ctx.beginPath(); - var points = this._setStakedBarPoints(ctx,x0-(this._settings.border?0.5:0),y0,barWidth+(this._settings.border?0.5:0),unit,value,0,point0.y); - ctx.fill(); - - /*gradient*/ - if (inner_gradient){ - ctx.save(); - var gradParam = this._setBarGradient(ctx,x0,y0,x0+barWidth,points[1],inner_gradient,color,"y"); - ctx.fillStyle = gradParam.gradient; - ctx.beginPath(); - points = this._setStakedBarPoints(ctx,x0+gradParam.offset,y0,barWidth-gradParam.offset*2,unit,value,(this._settings.border?1:0),point0.y); - ctx.fill(); - ctx.restore() - } - /*drawing the gradient border of a bar*/ - if(this._settings.border){ - ctx.save(); - this._setBorderStyles(ctx,color); - ctx.beginPath(); - - this._setStakedBarPoints(ctx,x0-0.5,y0,barWidth+1,unit,value,0,point0.y,1); - ctx.stroke(); - ctx.restore(); - } - ctx.globalAlpha = 1; - - /*sets a bar label*/ - this.canvases[sIndex].renderTextAt(false, true, x0+Math.floor(barWidth/2),(points[1]+(y0-points[1])/2)-7,this._settings.label(data[i])); - /*defines a map area for a bar*/ - map.addRect(data[i].id,[x0-point0.x,points[1]-point0.y,points[0]-point0.x,(data[i].$startY||y0)-point0.y],sIndex); - - /*the start position for the next series*/ - data[i].$startY = (this._settings.border?(points[1]+1):points[1]); - } - }, - /** - * sets points for bar and returns the position of the bottom right point - * @param: ctx - canvas object - * @param: x0 - the x position of start point - * @param: y0 - the y position of start point - * @param: barWidth - bar width - * @param: radius - the rounding radius of the top - * @param: unit - the value defines the correspondence between item value and bar height - * @param: value - item value - * @param: offset - the offset from expected bar edge (necessary for drawing border) - * @param: minY - the minimum y position for the bars () - */ - _setStakedBarPoints:function(ctx,x0,y0,barWidth,unit,value,offset,minY,skipBottom){ - /*start*/ - ctx.moveTo(x0,y0); - /*start of left rounding*/ - var y1 = y0 - unit*value+offset; - /*maximum height limit*/ - if(y1=0;i--){ - ctx.globalAlpha = alphas[i]; - ctx.strokeStyle = "#d0d0d0"; - ctx.beginPath(); - this._strokeChartItem(ctx,x0,y0+2*R/3,R+i+1,config.type); - ctx.stroke(); - } - ctx.beginPath(); - ctx.globalAlpha = 0.3; - ctx.fillStyle = "#bdbdbd"; - this._strokeChartItem(ctx,x0,y0+2*R/3,R+1,config.type); - ctx.fill(); - } - ctx.restore(); - ctx.lineWidth = config.borderWidth; - ctx.fillStyle = config.color.call(this,obj); - ctx.strokeStyle = config.borderColor.call(this,obj); - ctx.globalAlpha = config.alpha.call(this,obj); - ctx.beginPath(); - this._strokeChartItem(ctx,x0,y0,R+1,config.type); - ctx.fill(); - ctx.stroke(); - ctx.globalAlpha = 1; - } - /*item label*/ - if(label) - this.canvases[sIndex].renderTextAt(false, true, x0,y0-R-this._settings.labelOffset,this._settings.label.call(this,obj)); - - var areaPos = (this._settings.eventRadius||R+1); - map.addRect(obj.id,[x0-areaPos-mapStart.x,y0-areaPos-mapStart.y,x0+areaPos-mapStart.x,y0+areaPos-mapStart.y],sIndex); - }, - _strokeChartItem:function(ctx,x0,y0,R,type){ - var p=[]; - x0 = parseInt(x0,10); - y0 = parseInt(y0,10); - if(type && (type=="square" || type=="s")){ - R *= Math.sqrt(2)/2; - p = [ - [x0-R-ctx.lineWidth/2,y0-R], - [x0+R,y0-R], - [x0+R,y0+R], - [x0-R,y0+R], - [x0-R,y0-R] - ]; - } - else if(type && (type=="diamond" || type=="d")){ - var corr = (ctx.lineWidth>1?ctx.lineWidth*Math.sqrt(2)/4:0); - p = [ - [x0,y0-R], - [x0+R,y0], - [x0,y0+R], - [x0-R,y0], - [x0+corr,y0-R-corr] - ]; - } - else if(type && (type=="triangle" || type=="t")){ - p = [ - [x0,y0-R], - [x0+Math.sqrt(3)*R/2,y0+R/2], - [x0-Math.sqrt(3)*R/2,y0+R/2], - [x0,y0-R] - ]; - } - else - p = [ - [x0,y0,R,0,Math.PI*2,true] - ]; - this._path(ctx,p); - }, - /** - * gets the vertical position of the item - * @param: data - data object - * @param: y0 - the y position of chart start - * @param: y1 - the y position of chart end - * @param: params - the object with elements: minValue, maxValue, unit, valueFactor (the value multiple of 10) - */ - _getPointY: function(data,point0,point1,params){ - var minValue = params.minValue; - var maxValue = params.maxValue; - var unit = params.unit; - var valueFactor = params.valueFactor; - /*the real value of an object*/ - var value = this._settings.value(data); - /*a relative value*/ - var v = (parseFloat(value||0) - minValue)*valueFactor; - if(!this._settings.yAxis) - v += params.startValue/unit; - /*a vertical coordinate*/ - var y = point1.y - unit*v; - - /*the limit of the max and min values*/ - if(this._settings.fixOverflow && ( this._settings.view == "line" || this._settings.view == "area")){ - if(value > maxValue) - y = {y: point0.y, y0: y, out: "max"}; - else if(v<0 || value < minValue) - y = {y: point1.y, y0: y, out: "min"}; - } - else{ - if(value > maxValue) - y = point0.y; - if(v<0 || value < minValue) - y = point1.y; - } - return y; - }, - _calculateLineParams: function(ctx,data,point0,point1,sIndex){ - var params = {}; - - /*maxValue - minValue*/ - var relValue; - - /*available height*/ - params.totalHeight = point1.y-point0.y; - - /*a space available for a single item*/ - //params.cellWidth = Math.round((point1.x-point0.x)/((!this._settings.offset&&this._settings.yAxis)?(data.length-1):data.length)); - params.cellWidth = (point1.x-point0.x)/((!this._settings.offset)?(data.length-1):data.length); - - /*scales*/ - var yax = !!this._settings.yAxis; - - var limits = (this._settings.view.indexOf("stacked")!=-1?this._getStackedLimits(data):this._getLimits()); - params.maxValue = limits.max; - params.minValue = limits.min; - - /*draws x and y scales*/ - if(!sIndex) - this._drawScales(data, point0, point1,params.minValue,params.maxValue,params.cellWidth); - - /*necessary for automatic scale*/ - if(yax){ - params.maxValue = parseFloat(this._settings.yAxis.end); - params.minValue = parseFloat(this._settings.yAxis.start); - } - - /*unit calculation (y_position = value*unit)*/ - var relativeValues = this._getRelativeValue(params.minValue,params.maxValue); - relValue = relativeValues[0]; - params.valueFactor = relativeValues[1]; - params.unit = (relValue?params.totalHeight/relValue:10); - - params.startValue = 0; - if(!yax){ - /*defines start value for better representation of small values*/ - params.startValue = 10; - if(params.unit!=params.totalHeight) - params.unit = (relValue?(params.totalHeight - params.startValue)/relValue:10); - } - return params; - } -}; - - - -/* DHX DEPEND FROM FILE 'ext/chart/chart_bar.js'*/ - - -/*DHX:Depend ext/chart/chart_base.js*/ -dhtmlx.chart.bar = { - /** - * renders a bar chart - * @param: ctx - canvas object - * @param: data - object those need to be displayed - * @param: x - the width of the container - * @param: y - the height of the container - * @param: sIndex - index of drawing chart - */ - pvt_render_bar:function(ctx, data, point0, point1, sIndex, map){ - var barWidth, cellWidth, - i, - limits, maxValue, minValue, - relValue, valueFactor, relativeValues, - startValue, unit, - xax, yax, - totalHeight = point1.y-point0.y; - - - - - - yax = !!this._settings.yAxis; - xax = !!this._settings.xAxis; - - limits = this._getLimits(); - maxValue = limits.max; - minValue = limits.min; - - /*an available width for one bar*/ - cellWidth = (point1.x-point0.x)/data.length; - - /*draws x and y scales*/ - if(!sIndex&&!(this._settings.origin!="auto"&&!yax)){ - this._drawScales(data,point0, point1,minValue,maxValue,cellWidth); - } - - /*necessary for automatic scale*/ - if(yax){ - maxValue = parseFloat(this._settings.yAxis.end); - minValue = parseFloat(this._settings.yAxis.start); - } - - /*unit calculation (bar_height = value*unit)*/ - relativeValues = this._getRelativeValue(minValue,maxValue); - relValue = relativeValues[0]; - valueFactor = relativeValues[1]; - - unit = (relValue?totalHeight/relValue:relValue); - - if(!yax&&!(this._settings.origin!="auto"&&xax)){ - /*defines start value for better representation of small values*/ - startValue = 10; - unit = (relValue?(totalHeight-startValue)/relValue:startValue); - } - /*if yAxis isn't set, but with custom origin */ - if(!sIndex&&(this._settings.origin!="auto"&&!yax)&&this._settings.origin>minValue){ - this._drawXAxis(ctx,data,point0,point1,cellWidth,point1.y-unit*(this._settings.origin-minValue)); - } - - /*a real bar width */ - barWidth = parseInt(this._settings.width,10); - var seriesNumber = 0; - var seriesIndex = 0; - for(i=0; icellWidth) barWidth = parseInt(cellWidth/seriesNumber-4,10); - - /*the half of distance between bars*/ - var barOffset = (cellWidth - barWidth*seriesNumber)/2; - - /*the radius of rounding in the top part of each bar*/ - var radius = (typeof this._settings.radius!="undefined"?parseInt(this._settings.radius,10):Math.round(barWidth/5)); - - var inner_gradient = false; - var gradient = this._settings.gradient; - - if(gradient && typeof(gradient) != "function"){ - inner_gradient = gradient; - gradient = false; - } else if (gradient){ - gradient = ctx.createLinearGradient(0,point1.y,0,point0.y); - this._settings.gradient(gradient); - } - /*draws a black line if the horizontal scale isn't defined*/ - if(!xax){ - this._drawLine(ctx,point0.x,point1.y+0.5,point1.x,point1.y+0.5,"#000000",1); //hardcoded color! - } - - for(i=0; i < data.length;i ++){ - - var value = parseFloat(this._settings.value(data[i])||0); - if(isNaN(value)) - continue; - if(value>maxValue) value = maxValue; - value -= minValue; - value *= valueFactor; - - /*start point (bottom left)*/ - var x0 = point0.x + barOffset + parseInt(i*cellWidth,10)+(barWidth+1)*seriesIndex; - var y0 = point1.y; - - if(value<0||(this._settings.yAxis&&value===0&&!(this._settings.origin!="auto"&&this._settings.origin>minValue))){ - this.canvases[sIndex].renderTextAt(true, true, x0+Math.floor(barWidth/2),y0,this._settings.label(data[i])); - continue; - } - - /*takes start value into consideration*/ - if(!yax&&!(this._settings.origin!="auto"&&xax)) value += startValue/unit; - - var color = gradient||this._settings.color.call(this,data[i]); - - - /*drawing bar body*/ - ctx.globalAlpha = this._settings.alpha.call(this,data[i]); - var points = this._drawBar(ctx,point0,x0,y0,barWidth,minValue,radius,unit,value,color,gradient,inner_gradient); - if (inner_gradient){ - this._drawBarGradient(ctx,x0,y0,barWidth,minValue,radius,unit,value,color,inner_gradient); - } - /*drawing the gradient border of a bar*/ - if(this._settings.border) - this._drawBarBorder(ctx,x0,y0,barWidth,minValue,radius,unit,value,color); - - ctx.globalAlpha = 1; - - /*sets a bar label*/ - if(points[0]!=x0) - this.canvases[sIndex].renderTextAt(false, true, x0+Math.floor(barWidth/2),points[1],this._settings.label(data[i])); - else - this.canvases[sIndex].renderTextAt(true, true, x0+Math.floor(barWidth/2),points[3],this._settings.label(data[i])); - /*defines a map area for a bar*/ - map.addRect(data[i].id,[x0-point0.x,points[3]-point0.y,points[2]-point0.x,points[1]-point0.y],sIndex); - //this._addMapRect(map,data[i].id,[{x:x0,y:points[3]},{x:points[2],y:points[1]}],point0,sIndex); - } - }, - _correctBarParams:function(ctx,x,y,value,unit,barWidth,minValue){ - var xax = this._settings.xAxis; - var axisStart = y; - if(!!xax&&this._settings.origin!="auto" && (this._settings.origin>minValue)){ - y -= (this._settings.origin-minValue)*unit; - axisStart = y; - value = value-(this._settings.origin-minValue); - if(value < 0){ - value *= (-1); - ctx.translate(x+barWidth,y); - ctx.rotate(Math.PI); - x = 0; - y = 0; - } - y -= 0.5; - } - - return {value:value,x0:x,y0:y,start:axisStart} - }, - _drawBar:function(ctx,point0,x0,y0,barWidth,minValue,radius,unit,value,color,gradient,inner_gradient){ - ctx.save(); - ctx.fillStyle = color; - var p = this._correctBarParams(ctx,x0,y0,value,unit,barWidth,minValue); - var points = this._setBarPoints(ctx,p.x0,p.y0,barWidth,radius,unit,p.value,(this._settings.border?1:0)); - if (gradient&&!inner_gradient) ctx.lineTo(p.x0+(this._settings.border?1:0),point0.y); //fix gradient sphreading - ctx.fill(); - ctx.restore(); - var x1 = p.x0; - var x2 = (p.x0!=x0?x0+points[0]:points[0]); - var y1 = (p.x0!=x0?(p.start-points[1]-p.y0):p.y0); - var y2 = (p.x0!=x0?p.start-p.y0:points[1]); - - return [x1,y1,x2,y2]; - }, - - _drawBarBorder:function(ctx,x0,y0,barWidth,minValue,radius,unit,value,color){ - var p; - ctx.save(); - p = this._correctBarParams(ctx,x0,y0,value,unit,barWidth,minValue); - this._setBorderStyles(ctx,color); - this._setBarPoints(ctx,p.x0,p.y0,barWidth,radius,unit,p.value,ctx.lineWidth/2,1); - ctx.stroke(); - /*ctx.fillStyle = color; - this._setBarPoints(ctx,p.x0,p.y0,barWidth,radius,unit,p.value,0); - ctx.lineTo(p.x0,0); - ctx.fill() - - - ctx.fillStyle = "#000000"; - ctx.globalAlpha = 0.37; - - this._setBarPoints(ctx,p.x0,p.y0,barWidth,radius,unit,p.value,0); - ctx.fill() - */ - ctx.restore(); - }, - _drawBarGradient:function(ctx,x0,y0,barWidth,minValue,radius,unit,value,color,inner_gradient){ - ctx.save(); - //y0 -= (dhtmlx._isIE?0:0.5); - var p = this._correctBarParams(ctx,x0,y0,value,unit,barWidth,minValue); - var gradParam = this._setBarGradient(ctx,p.x0,p.y0,p.x0+barWidth,p.y0-unit*p.value+2,inner_gradient,color,"y"); - var borderOffset = this._settings.border?1:0; - ctx.fillStyle = gradParam.gradient; - this._setBarPoints(ctx,p.x0+gradParam.offset,p.y0,barWidth-gradParam.offset*2,radius,unit,p.value,gradParam.offset+borderOffset); - ctx.fill(); - ctx.restore(); - }, - /** - * sets points for bar and returns the position of the bottom right point - * @param: ctx - canvas object - * @param: x0 - the x position of start point - * @param: y0 - the y position of start point - * @param: barWidth - bar width - * @param: radius - the rounding radius of the top - * @param: unit - the value defines the correspondence between item value and bar height - * @param: value - item value - * @param: offset - the offset from expected bar edge (necessary for drawing border) - */ - _setBarPoints:function(ctx,x0,y0,barWidth,radius,unit,value,offset,skipBottom){ - /*correction for displaing small values (when rounding radius is bigger than bar height)*/ - ctx.beginPath(); - //y0 = 0.5; - var angle_corr = 0; - if(radius>unit*value){ - var cosA = (radius-unit*value)/radius; - if(cosA<=1&&cosA>=-1) - angle_corr = -Math.acos(cosA)+Math.PI/2; - } - /*start*/ - ctx.moveTo(x0+offset,y0); - /*start of left rounding*/ - var y1 = y0 - Math.floor(unit*value) + radius + (radius?0:offset); - if(radius0) - ctx.arc(x2,y1,radius-offset,-Math.PI+angle_corr,-Math.PI/2,false); - /*start of right rounding*/ - var x3 = x0 + barWidth - radius - offset; - var y3 = y1 - radius + (radius?offset:0); - ctx.lineTo(x3,y3); - /*right rounding*/ - if (radius&&radius>0) - ctx.arc(x3,y1,radius-offset,-Math.PI/2,0-angle_corr,false); - /*bottom right point*/ - var x5 = x0 + barWidth-offset; - ctx.lineTo(x5,y0); - /*line to the start point*/ - if(!skipBottom){ - ctx.lineTo(x0+offset,y0); - } - // ctx.lineTo(x0,0); //IE fix! - return [x5,y3]; - } -}; - - -/* DHX DEPEND FROM FILE 'ext/chart/chart_pie.js'*/ - - -/*DHX:Depend ext/chart/chart_base.js*/ -dhtmlx.chart.pie = { - pvt_render_pie:function(ctx,data,x,y,sIndex,map){ - this._renderPie(ctx,data,x,y,1,map,sIndex); - - }, - /** - * renders a pie chart - * @param: ctx - canvas object - * @param: data - object those need to be displayed - * @param: x - the width of the container - * @param: y - the height of the container - * @param: ky - value from 0 to 1 that defines an angle of inclination (0=0)||(a1>=0 && a2<=Math.PI)||(Math.abs(a1-Math.PI)>0.003&&a1<=Math.PI && a2>=Math.PI))) return; - - if(a1<=0 && a2>=0){ - a1 = 0; - line = false; - this._drawSectorLine(ctx,x0,y0,R,a1,a2); - } - if(a1<=Math.PI && a2>=Math.PI){ - a2 = Math.PI; - line = false; - this._drawSectorLine(ctx,x0,y0,R,a1,a2); - } - /*the height of 3D pie*/ - var offset = (this._settings.height||Math.floor(R/4))/this._settings.cant; - ctx.beginPath(); - ctx.arc(x0,y0,R,a1,a2,false); - ctx.lineTo(x0+R*Math.cos(a2),y0+R*Math.sin(a2)+offset); - ctx.arc(x0,y0+offset,R,a2,a1,true); - ctx.lineTo(x0+R*Math.cos(a1),y0+R*Math.sin(a1)); - ctx.fill(); - if(line) - ctx.stroke(); - }, - /** - * draws a serctor arc - */ - _drawSectorLine:function(ctx,x0,y0,R,a1,a2){ - ctx.beginPath(); - ctx.arc(x0,y0,R,a1,a2,false); - ctx.stroke(); - }, - /** - * adds a shadow to pie - * @param: ctx - canvas object - * @param: x - the horizontal position of the pie center - * @param: y - the vertical position of the pie center - * @param: R - pie radius - */ - _addShadow:function(ctx,x,y,R){ - ctx.globalAlpha = 0.5; - var shadows = ["#c4c4c4","#c6c6c6","#cacaca","#dcdcdc","#dddddd","#e0e0e0","#eeeeee","#f5f5f5","#f8f8f8"]; - for(var i = shadows.length-1;i>-1;i--){ - ctx.beginPath(); - ctx.fillStyle = shadows[i]; - ctx.arc(x+1,y+1,R+i,0,Math.PI*2,true); - ctx.fill(); - } - ctx.globalAlpha = 1 - }, - /** - * returns a gray gradient - * @param: gradient - gradient object - */ - _getGrayGradient:function(gradient){ - gradient.addColorStop(0.0,"#ffffff"); - gradient.addColorStop(0.7,"#7a7a7a"); - gradient.addColorStop(1.0,"#000000"); - return gradient; - }, - /** - * adds gray radial gradient - * @param: ctx - canvas object - * @param: x - the horizontal position of the pie center - * @param: y - the vertical position of the pie center - * @param: radius - pie radius - * @param: x0 - the horizontal position of a gradient center - * @param: y0 - the vertical position of a gradient center - */ - _showRadialGradient:function(ctx,x,y,radius,x0,y0){ - //ctx.globalAlpha = 0.3; - ctx.beginPath(); - var gradient; - if(typeof this._settings.gradient!= "function"){ - gradient = ctx.createRadialGradient(x0,y0,radius/4,x,y,radius); - gradient = this._getGrayGradient(gradient); - } - else gradient = this._settings.gradient(gradient); - ctx.fillStyle = gradient; - ctx.arc(x,y,radius,0,Math.PI*2,true); - ctx.fill(); - //ctx.globalAlpha = 1; - ctx.globalAlpha = 0.7; - }, - /** - * returns the calculates pie parameters: center position and radius - * @param: ctx - canvas object - * @param: x0 - the horizontal position of the pie center - * @param: y0 - the vertical position of the pie center - * @param: R - pie radius - * @param: alpha1 - the angle that defines the 1st edge of a sector - * @param: alpha2 - the angle that defines the 2nd edge of a sector - * @param: ky - the value that defines an angle of inclination - * @param: text - label text - * @param: in_width (boolean) - if label needs being displayed inside a pie - */ - _drawSectorLabel:function(x0,y0,R,alpha1,alpha2,ky,text,in_width){ - var t = this.canvases[0].renderText(0,0,text,0,1); - if (!t) return; - - //get existing width of text - var labelWidth = t.scrollWidth; - t.style.width = labelWidth+"px"; //adjust text label to fit all text - if (labelWidth>x0) labelWidth = x0; //the text can't be greater than half of view - - //calculate expected correction based on default font metrics - var width = (alpha2-alpha1<0.2?4:8); - if (in_width) width = labelWidth/1.8; - var alpha = alpha1+(alpha2-alpha1)/2; - - //position and its correction - R = R-(width-8)/2; - var corr_x = - width; - var corr_y = -8; - var align = "right"; - - //for items in left upper and lower sector - if(alpha>=Math.PI/2 && alpha=Math.PI){ - corr_x = -labelWidth-corr_x+1;/*correction for label width*/ - align = "left"; - } - - //calculate position of text - //basically get point at center of pie sector - var offset = 0; - - if(!in_width&&ky<1&&(alpha>0&&alpha=Math.PI/2 && alpha=Math.PI)){ - x += labelWidth/3; - } - - - //we need to set position of text manually, based on above calculations - t.style.top = y+"px"; - t.style.left = x+"px"; - t.style.width = labelWidth+"px"; - t.style.textAlign = align; - t.style.whiteSpace = "nowrap"; - } -}; - -dhtmlx.chart.pie3D = { - pvt_render_pie3D:function(ctx,data,x,y,sIndex,map){ - this._renderPie(ctx,data,x,y,this._settings.cant,map); - } -}; -dhtmlx.chart.donut = { - pvt_render_donut:function(ctx,data,point0,point1,sIndex,map){ - if(!data.length) - return; - this._renderPie(ctx,data,point0,point1,1,map); - var config = this._settings; - var coord = this._getPieParameters(point0,point1); - var pieRadius = (config.radius?config.radius:coord.radius); - var innerRadius = ((config.innerRadius&&(config.innerRadius1){ - // hide action - if(toggle){ - if(obj.className.indexOf("hidden")!=-1){ - this.showSeries(series); - } - else{ - this.hideSeries(series); - } - } - } - } - } - }, - on_dblclick:{ - }, - on_mouse_move:{ - }, - bind:function(){ - dhx.BaseBind.legacyBind.apply(this, arguments); - }, - sync:function(){ - dhx.BaseBind.legacySync.apply(this, arguments); - }, - resize:function(){ - for(var c in this.canvases){ - this.canvases[c]._resizeCanvas(); - } - this.render(); - }, - view_setter:function( val){ - if (!dhtmlx.chart[val]) - dhtmlx.error("Chart type extension is not loaded: "+val); - //if you will need to add more such settings - move them ( and this one ) in a separate methods - - if (typeof this._settings.offset == "undefined"){ - this._settings.offset = !(val == "area" || val == "stackedArea"); - } - if(val=="radar"&&!this._settings.yAxis) - this.define("yAxis",{}); - if(val=="scatter"){ - if(!this._settings.yAxis) - this.define("yAxis",{}); - if(!this._settings.xAxis) - this.define("xAxis",{}); - } - - return val; - }, - clearCanvas:function(){ - if(this.canvases&&typeof this.canvases == "object") - for(var c in this.canvases){ - this.canvases[c].clearCanvas(); - } - }, - render:function(){ - var bounds, i, data, map, temp; - - if (!this.callEvent("onBeforeRender",[this.data])) - return; - - if(this.canvases&&typeof this.canvases == "object"){ - for(i in this.canvases){ - this.canvases[i].clearCanvas(); - } - } - else - this.canvases = {}; - - if(this._settings.legend){ - if(!this.canvases["legend"]) - this.canvases["legend"] = new dhtmlx.ui.Canvas(this._obj,"legend"); - this._drawLegend( - this.data.getRange(), - this._obj.offsetWidth - ); - } - bounds = this._getChartBounds(this._obj.offsetWidth,this._obj.offsetHeight); - map = new dhtmlx.ui.Map(this._id); - temp = this._settings; - data = this._getChartData(); - - for(i=0; i < this._series.length;i++){ - this._settings = this._series[i]; - if(!this.canvases[i]){ - this.canvases[i] = new dhtmlx.ui.Canvas(this._obj,i,"z-index:"+(2+i)); - } - this["pvt_render_"+this._settings.view]( - this.canvases[i].getCanvas(), - data, - bounds.start, - bounds.end, - i, - map - ); - } - - map.render(this._obj); - this._obj.lastChild.style.zIndex = 1000; - this._applyBounds(this._obj.lastChild,bounds); - this.callEvent("onAfterRender",[]); - this._settings = temp; - }, - _applyBounds: function(elem,bounds){ - var style = {}; - style.left = bounds.start.x; - style.top = bounds.start.y; - style.width = bounds.end.x-bounds.start.x; - style.height = bounds.end.y - bounds.start.y; - for(var prop in style){ - elem.style[prop] = style[prop]+"px"; - } - }, - _getChartData: function(){ - var axis, axisConfig ,config, data, i, newData, start, units, value, valuesHash; - data = this.data.getRange(); - axis = (this._settings.view.toLowerCase().indexOf("barh")!=-1?"yAxis":"xAxis"); - axisConfig = this._settings[axis]; - if(axisConfig&&axisConfig.units&&(typeof axisConfig.units == "object")){ - config = axisConfig.units; - units = []; - if(typeof config.start != "undefined"&&typeof config.end != "undefined" && typeof config.next != "undefined"){ - start = config.start; - while(start<=config.end){ - units.push(start); - start = config.next.call(this,start); - } - } - else if(Object.prototype.toString.call(config) === '[object Array]'){ - units = config; - } - newData = []; - if(units.length){ - value = axisConfig.value; - valuesHash = {}; - for(i=0;i < data.length;i++){ - valuesHash[value(data[i])] = i; - } - for(i=0;i< units.length;i++){ - if(typeof valuesHash[units[i]]!= "undefined"){ - data[valuesHash[units[i]]].$unit = units[i]; - newData.push(data[valuesHash[units[i]]]); - } - else{ - newData.push({$unit:units[i]}); - } - } - } - return newData; - } - return data; - }, - value_setter:dhtmlx.Template.obj_setter, - xValue_setter:dhtmlx.Template.obj_setter, - yValue_setter:function(config){ - this.define("value",config); - }, - alpha_setter:dhtmlx.Template.obj_setter, - label_setter:dhtmlx.Template.obj_setter, - lineColor_setter:dhtmlx.Template.obj_setter, - borderColor_setter:dhtmlx.Template.obj_setter, - pieInnerText_setter:dhtmlx.Template.obj_setter, - gradient_setter:function(config){ - if((typeof(config)!="function")&&config&&(config === true)) - config = "light"; - return config; - }, - colormap:{ - "RAINBOW":function(obj){ - var pos = Math.floor(this.indexById(obj.id)/this.dataCount()*1536); - if (pos==1536) pos-=1; - return this._rainbow[Math.floor(pos/256)](pos%256); - } - }, - color_setter:function(value){ - return this.colormap[value]||dhtmlx.Template.obj_setter( value); - }, - fill_setter:function(value){ - return ((!value||value==0)?false:dhtmlx.Template.obj_setter( value)); - }, - definePreset:function(obj){ - this.define("preset",obj.preset); - delete obj.preset; - }, - preset_setter:function(value){ - var a, b, preset; - this.defaults = dhtmlx.extend({},this.defaults); - if(typeof dhtmlx.presets.chart[value]=="object"){ - - preset = dhtmlx.presets.chart[value]; - for(a in preset){ - - if(typeof preset[a]=="object"){ - if(!this.defaults[a]||typeof this.defaults[a]!="object"){ - this.defaults[a] = dhtmlx.extend({},preset[a]); - } - else{ - this.defaults[a] = dhtmlx.extend({},this.defaults[a]); - for(b in preset[a]){ - this.defaults[a][b] = preset[a][b]; - } - } - }else{ - this.defaults[a] = preset[a]; - } - } - return value; - } - return false; - }, - legend_setter:function( config){ - if(!config){ - if(this.legendObj){ - this.legendObj.innerHTML = ""; - this.legendObj = null; - } - return false; - } - if(typeof(config)!="object") //allow to use template string instead of object - config={template:config}; - - this._mergeSettings(config,{ - width:150, - height:18, - layout:"y", - align:"left", - valign:"bottom", - template:"", - toggle:(this._settings.view.toLowerCase().indexOf("stacked")!=-1?"":"hide"), - marker:{ - type:"square", - width:15, - height:15, - radius:3 - }, - margin: 4, - padding: 3 - }); - - config.template = dhtmlx.Template.setter(config.template); - return config; - }, - defaults:{ - color:"RAINBOW", - alpha:"1", - label:false, - value:"{obj.value}", - padding:{}, - view:"pie", - lineColor:"#ffffff", - cant:0.5, - width: 30, - labelWidth:100, - line:{ - width:2, - color:"#1293f8" - }, - item:{ - radius:3, - borderColor:"#636363", - borderWidth:1, - color: "#ffffff", - alpha:1, - type:"r", - shadow:false - }, - shadow:true, - gradient:false, - border:true, - labelOffset: 20, - origin:"auto" - }, - item_setter:function( config){ - if(typeof(config)!="object") - config={color:config, borderColor:config}; - this._mergeSettings(config,dhtmlx.extend({},this.defaults.item)); - var settings = ["alpha","borderColor","color","radius"]; - for(var i=0; i< settings.length; i++) - config[settings[i]] = dhtmlx.Template.setter(config[settings[i]]); - /*config.alpha = dhtmlx.Template.setter(config.alpha); - config.borderColor = dhtmlx.Template.setter(config.borderColor); - config.color = dhtmlx.Template.setter(config.color); - config.radius = dhtmlx.Template.setter(config.radius);*/ - return config; - }, - line_setter:function( config){ - if(typeof(config)!="object") - config={color:config}; - dhtmlx.extend(this.defaults.line,config); - config = dhtmlx.extend({},this.defaults.line); - config.color = dhtmlx.Template.setter(config.color); - return config; - }, - padding_setter:function( config){ - if(typeof(config)!="object") - config={left:config, right:config, top:config, bottom:config}; - this._mergeSettings(config,{ - left:50, - right:20, - top:35, - bottom:40 - }); - return config; - }, - xAxis_setter:function( config){ - if(!config) return false; - if(typeof(config)!="object") - config={ template:config }; - if(!config.value) - config.value = config.template; - this._mergeSettings(config,{ - title:"", - color:"#000000", - lineColor:"#cfcfcf", - template:"{obj}", - value:"{obj}", - lines:true - }); - var templates = ["lineColor","template","lines","value"]; - this._converToTemplate(templates,config); - this._configXAxis = dhtmlx.extend({},config); - return config; - }, - yAxis_setter:function( config){ - this._mergeSettings(config,{ - title:"", - color:"#000000", - lineColor:"#cfcfcf", - template:"{obj}", - lines:true, - bg:"#ffffff" - }); - var templates = ["lineColor","template","lines","bg"]; - this._converToTemplate(templates,config); - this._configYAxis = dhtmlx.extend({},config); - return config; - }, - _converToTemplate:function(arr,config){ - for(var i=0;i< arr.length;i++){ - config[arr[i]] = dhtmlx.Template.setter(config[arr[i]]); - } - }, - _drawScales:function(data,point0,point1,start,end,cellWidth){ - var y = 0; - if(this._settings.yAxis){ - if(! this.canvases["y"]) - this.canvases["y"] = new dhtmlx.ui.Canvas(this._obj,"axis_y"); - y = this._drawYAxis(this.canvases["y"].getCanvas(),data,point0,point1,start,end); - } - if (this._settings.xAxis){ - if(! this.canvases["x"]) - this.canvases["x"] = new dhtmlx.ui.Canvas(this._obj,"axis_x"); - this._drawXAxis(this.canvases["x"].getCanvas(),data,point0,point1,cellWidth,y); - } - return y; - }, - _drawXAxis:function(ctx,data,point0,point1,cellWidth,y){ - var x0 = point0.x-0.5; - var y0 = parseInt((y?y:point1.y),10)+0.5; - var x1 = point1.x; - var unitPos; - var center = true; - - - - for(var i=0; i < data.length;i ++){ - - if(this._settings.offset === true) - unitPos = x0+cellWidth/2+i*cellWidth; - else{ - unitPos = (i==data.length-1)?point1.x:x0+i*cellWidth; - center = !!i; - } - unitPos = Math.ceil(unitPos)-0.5; - /*scale labels*/ - var top = ((this._settings.origin!="auto")&&(this._settings.view=="bar")&&(parseFloat(this._settings.value(data[i]))5?10:5); - step = parseInt(stepVal,10)*calculStep; - - if(step>Math.abs(nmin)) - start = (nmin<0?-step:0); - else{ - var absNmin = Math.abs(nmin); - var powerStart = Math.floor(this._log10(absNmin)); - var nminVal = absNmin/Math.pow(10,powerStart); - start = Math.ceil(nminVal*10)/10*Math.pow(10,powerStart)-step; - if(absNmin>1&&step>0.1){ - start = Math.ceil(start); - } - while(nmin<0?start<=nmin:start>=nmin) - start -= step; - if(nmin<0) start =-start-2*step; - - } - end = start; - while(end1) - for(var i=1; i < this._series.length;i++){ - var maxI = this.max(this._series[i][value]); - var minI = this.min(this._series[i][value]); - if (maxI > maxValue) maxValue = maxI; - if (minI < minValue) minValue = minI; - } - } - return {max:maxValue,min:minValue}; - }, - _log10:function(n){ - var method_name="log"; - return Math.floor((Math[method_name](n)/Math.LN10)); - }, - _drawXAxisLabel:function(x,y,obj,center,top){ - if (!this._settings.xAxis) return; - var elem = this.canvases["x"].renderTextAt(top, center, x,y-(top?2:0),this._settings.xAxis.template(obj)); - if (elem) - elem.className += " dhx_axis_item_x"; - }, - _drawXAxisLine:function(ctx,x,y1,y2,obj){ - if (!this._settings.xAxis||!this._settings.xAxis.lines) return; - this._drawLine(ctx,x,y1,x,y2,this._settings.xAxis.lineColor.call(this,obj),1); - }, - _drawLine:function(ctx,x1,y1,x2,y2,color,width){ - ctx.strokeStyle = color; - ctx.lineWidth = width; - ctx.beginPath(); - ctx.moveTo(x1,y1); - ctx.lineTo(x2,y2); - ctx.stroke(); - ctx.lineWidth = 1; - }, - _getRelativeValue:function(minValue,maxValue){ - var relValue, origRelValue; - var valueFactor = 1; - if(maxValue != minValue){ - relValue = maxValue - minValue; - /*if(Math.abs(relValue) < 1){ - while(Math.abs(relValue)<1){ - valueFactor *= 10; - relValue = origRelValue* valueFactor; - } - } - */ - } - else relValue = minValue; - return [relValue,valueFactor]; - }, - _rainbow : [ - function(pos){ return "#FF"+dhtmlx.math.toHex(pos/2,2)+"00";}, - function(pos){ return "#FF"+dhtmlx.math.toHex(pos/2+128,2)+"00";}, - function(pos){ return "#"+dhtmlx.math.toHex(255-pos,2)+"FF00";}, - function(pos){ return "#00FF"+dhtmlx.math.toHex(pos,2);}, - function(pos){ return "#00"+dhtmlx.math.toHex(255-pos,2)+"FF";}, - function(pos){ return "#"+dhtmlx.math.toHex(pos,2)+"00FF";} - ], - /** - * adds series to the chart (value and color properties) - * @param: obj - obj with configuration properties - */ - addSeries:function(obj){ - var temp = this._settings; - this._settings = dhtmlx.extend({},temp); - this._parseSettings(obj,{}); - this._series.push(this._settings); - this._settings = temp; - }, - /*switch global settings to serit in question*/ - _switchSerie:function(id, tag){ - var tip; - this._active_serie = tag.getAttribute("userdata"); - - if (!this._series[this._active_serie]) return; - for (var i=0; i < this._series.length; i++) { - tip = this._series[i].tooltip; - if (tip) - tip.disable(); - } - if(!tag.getAttribute("disabled")){ - tip = this._series[this._active_serie].tooltip; - if (tip) - tip.enable(); - } - }, - hideSeries:function(series){ - this.canvases[series].hideCanvas(); - if(this._settings.legend.values&&this._settings.legend.values[series]) - this._settings.legend.values[series].$hidden = true; - this._drawLegend(); - }, - showSeries:function(series){ - this.canvases[series].showCanvas(); - if(this._settings.legend.values&&this._settings.legend.values[series]) - delete this._settings.legend.values[series].$hidden; - this._drawLegend(); - - }, - _setBorderStyles:function(ctx,color){ - var hsv,rgb; - rgb = dhtmlx.math.toRgb(color); - hsv = dhtmlx.math.rgbToHsv(rgb[0],rgb[1],rgb[2]); - hsv[2] /= 2; - color = "rgb("+dhtmlx.math.hsvToRgb(hsv[0],hsv[1],hsv[2])+")"; - ctx.strokeStyle = color; - if(ctx.globalAlpha==1) - ctx.globalAlpha = 0.9; - }, - /** - * renders legend block - * @param: ctx - canvas object - * @param: data - object those need to be displayed - * @param: width - the width of the container - * @param: height - the height of the container - */ - _drawLegend:function(data,width){ - var i, legend, legendContainer, legendHeight, legendItems, legendWidth, style, x=0, y= 0, ctx, itemColor, disabled, item; - - data = data||[]; - width = width||this._obj.offsetWidth; - ctx = this.canvases["legend"].getCanvas(); - /*legend config*/ - legend = this._settings.legend; - - style = (this._settings.legend.layout!="x"?"width:"+legend.width+"px":""); - /*creation of legend container*/ - if(this.legendObj){ - this.legendObj.innerHTML = ""; - this.legendObj.parentNode.removeChild(this.legendObj); - } - - this.canvases["legend"].clearCanvas(true); - legendContainer = dhtmlx.html.create("DIV",{ - "class":"dhx_chart_legend", - "style":"left:"+x+"px; top:"+y+"px;"+style - },""); - if(legend.padding){ - legendContainer.style.padding = legend.padding+"px"; - } - this.legendObj = legendContainer; - this._obj.appendChild(legendContainer); - /*rendering legend text items*/ - legendItems = []; - if(!legend.values) - for(i = 0; i < data.length; i++){ - legendItems.push(this._drawLegendText(legendContainer,legend.template(data[i]))); - } - else - for(i = 0; i < legend.values.length; i++){ - legendItems.push(this._drawLegendText(legendContainer,legend.values[i].text,(typeof legend.values[i].id!="undefined"?typeof legend.values[i].id:i),legend.values[i].$hidden)); - } - legendWidth = legendContainer.offsetWidth; - legendHeight = legendContainer.offsetHeight; - /*this._settings.legend.width = legendWidth; - this._settings.legend.height = legendHeight;*/ - - /*setting legend position*/ - if(legendWidth2) - text.setAttribute("series_id",series); - cont.appendChild(text); - return text; - }, - /** - * draw legend colorful marder - * @param: ctx - canvas object - * @param: x - the horizontal position of the marker - * @param: y - the vertical position of the marker - * @param: color - marker color - * @param: height - item height - * @param: disabled - disabled staet - * @param: i - index of legend item - */ - _drawLegendMarker:function(ctx,x,y,color,height,disabled,i){ - var p = []; - var marker = this._settings.legend.marker; - var values = this._settings.legend.values; - var type = (values&&values[i].markerType?values[i].markerType:marker.type); - if(color){ - ctx.fillStyle = color; - ctx.strokeStyle = this._getDarkenColor(color,0.75); - } - ctx.beginPath(); - if(type=="round"||!marker.radius){ - ctx.lineWidth = marker.height; - ctx.lineCap = type; - /*start of marker*/ - x += ctx.lineWidth/2+5; - y += height/2; - ctx.moveTo(x,y); - var x1 = x + marker.width-marker.height +1; - ctx.lineTo(x1,y); - - }else if(type=="item"){ - /*copy of line*/ - if(this._settings.line&&this._settings.view != "scatter" && !this._settings.disableLines){ - ctx.beginPath(); - ctx.lineWidth = this._series[i].line.width; - ctx.strokeStyle = disabled?color:this._series[i].line.color.call(this,{}); - var x0 = x + 5; - var y0 = y + height/2; - ctx.moveTo(x0,y0); - var x1 = x0 + marker.width; - ctx.lineTo(x1,y0); - ctx.stroke(); - } - /*item copy*/ - - - var config = this._series[i].item; - var radius = parseInt(config.radius.call(this,{}),10)||0; - if(radius){ - ctx.beginPath(); - if(disabled){ - ctx.lineWidth = config.borderWidth; - ctx.strokeStyle = color; - ctx.fillStyle = color; - } - else{ - ctx.lineWidth = config.borderWidth; - ctx.fillStyle = config.color.call(this,{}); - ctx.strokeStyle = config.borderColor.call(this,{}); - ctx.globalAlpha = config.alpha.call(this,{}); - } - ctx.beginPath(); - x += marker.width/2+5; - y += height/2; - this._strokeChartItem(ctx,x,y,radius+1,config.type); - ctx.fill(); - ctx.stroke(); - } - ctx.globalAlpha = 1; - }else{ - ctx.lineWidth = 1; - x += 5; - y += parseInt(height/2-marker.height/2,10); - - p = [ - [x+marker.radius,y+marker.radius,marker.radius,Math.PI,3*Math.PI/2,false], - [x+marker.width-marker.radius,y], - [x+marker.width-marker.radius,y+marker.radius,marker.radius,-Math.PI/2,0,false], - [x+marker.width,y+marker.height-marker.radius], - [x+marker.width-marker.radius,y+marker.height-marker.radius,marker.radius,0,Math.PI/2,false], - [x+marker.radius,y+marker.height], - [x+marker.radius,y+marker.height-marker.radius,marker.radius,Math.PI/2,Math.PI,false], - [x,y+marker.radius] - ]; - this._path(ctx,p); - } - - ctx.stroke(); - ctx.fill(); - - - }, - _getDarkenColor:function(color,darken){ - var hsv,rgb; - rgb = dhtmlx.math.toRgb(color); - hsv = dhtmlx.math.rgbToHsv(rgb[0],rgb[1],rgb[2]); - hsv[2] = hsv[2]*darken; - return "rgb("+dhtmlx.math.hsvToRgb(hsv[0],hsv[1],hsv[2])+")"; - }, - /** - * gets the points those represent chart left top and right bottom bounds - * @param: width - the width of the chart container - * @param: height - the height of the chart container - */ - _getChartBounds:function(width,height){ - var chartX0, chartY0, chartX1, chartY1; - - chartX0 = this._settings.padding.left; - chartY0 = this._settings.padding.top; - chartX1 = width - this._settings.padding.right; - chartY1 = height - this._settings.padding.bottom; - - if(this._settings.legend){ - var legend = this._settings.legend; - /*legend size*/ - var legendWidth = this._settings.legend.width; - var legendHeight = this._settings.legend.height; - - /*if legend is horizontal*/ - if(legend.layout == "x"){ - if(legend.valign == "center"){ - if(legend.align == "right") - chartX1 -= legendWidth; - else if(legend.align == "left") - chartX0 += legendWidth; - } - else if(legend.valign == "bottom"){ - chartY1 -= legendHeight; - } - else{ - chartY0 += legendHeight; - } - } - /*vertical scale*/ - else{ - if(legend.align == "right") - chartX1 -= legendWidth; - else if(legend.align == "left") - chartX0 += legendWidth; - } - } - return {start:{x:chartX0,y:chartY0},end:{x:chartX1,y:chartY1}}; - }, - /** - * gets the maximum and minimum values for the stacked chart - * @param: data - data set - */ - _getStackedLimits:function(data){ - var i, j, maxValue, minValue, value; - if(this._settings.yAxis&&(typeof this._settings.yAxis.end!="undefined")&&(typeof this._settings.yAxis.start!="undefined")&&this._settings.yAxis.step){ - maxValue = parseFloat(this._settings.yAxis.end); - minValue = parseFloat(this._settings.yAxis.start); - } - else{ - for(i=0; i < data.length; i++){ - data[i].$sum = 0 ; - data[i].$min = Infinity; - for(j =0; j < this._series.length;j++){ - value = parseFloat(this._series[j].value(data[i])||0); - if(isNaN(value)) continue; - if(this._series[j].view.toLowerCase().indexOf("stacked")!=-1) - data[i].$sum += value; - if(value < data[i].$min) data[i].$min = value; - } - } - maxValue = -Infinity; - minValue = Infinity; - for(i=0; i < data.length; i++){ - if (data[i].$sum > maxValue) maxValue = data[i].$sum ; - if (data[i].$min < minValue) minValue = data[i].$min ; - } - if(minValue>0) minValue =0; - } - return {max: maxValue, min: minValue}; - }, - /*adds colors to the gradient object*/ - _setBarGradient:function(ctx,x1,y1,x2,y2,type,color,axis){ - var gradient, offset, rgb, hsv, color0, stops; - if(type == "light"){ - if(axis == "x") - gradient = ctx.createLinearGradient(x1,y1,x2,y1); - else - gradient = ctx.createLinearGradient(x1,y1,x1,y2); - stops = [[0,"#FFFFFF"],[0.9,color],[1,color]]; - offset = 2; - } - else if(type == "falling"||type == "rising"){ - if(axis == "x") - gradient = ctx.createLinearGradient(x1,y1,x2,y1); - else - gradient = ctx.createLinearGradient(x1,y1,x1,y2); - rgb = dhtmlx.math.toRgb(color); - hsv = dhtmlx.math.rgbToHsv(rgb[0],rgb[1],rgb[2]); - hsv[1] *= 1/2; - color0 = "rgb("+dhtmlx.math.hsvToRgb(hsv[0],hsv[1],hsv[2])+")"; - if(type == "falling"){ - stops = [[0,color0],[0.7,color],[1,color]]; - } - else if(type == "rising"){ - stops = [[0,color],[0.3,color],[1,color0]]; - } - offset = 0; - } - else{ - ctx.globalAlpha = 0.37; - offset = 0; - if(axis == "x") - gradient = ctx.createLinearGradient(x1,y2,x1,y1); - else - gradient = ctx.createLinearGradient(x1,y1,x2,y1); - stops = [[0,"#9d9d9d"],[0.3,"#e8e8e8"],[0.45,"#ffffff"],[0.55,"#ffffff"],[0.7,"#e8e8e8"],[1,"#9d9d9d"]]; - } - this._gradient(gradient,stops); - return {gradient:gradient,offset:offset}; - }, - /** - * returns the x and y position - * @param: a - angle - * @param: x - start x position - * @param: y - start y position - * @param: r - destination to the point - */ - _getPositionByAngle:function(a,x,y,r){ - a *= (-1); - x = x+Math.cos(a)*r; - y = y-Math.sin(a)*r; - return {x:x,y:y}; - }, - _gradient:function(gradient,stops){ - for(var i=0; i< stops.length; i++){ - gradient.addColorStop(stops[i][0],stops[i][1]); - } - }, - _path: function(ctx,points){ - var i, method; - for(i = 0; i< points.length; i++){ - method = (i?"lineTo":"moveTo"); - if(points[i].length>2) - method = "arc"; - ctx[method].apply(ctx,points[i]); - } - }, - _circle: function(ctx,x,y,r){ - ctx.arc(x,y,r,Math.PI*2,true); - }, - _addMapRect:function(map,id,points,bounds,sIndex){ - map.addRect(id,[points[0].x-bounds.x,points[0].y-bounds.y,points[1].x-bounds.x,points[1].y-bounds.y],sIndex); - } -}; - -dhtmlx.compat("layout"); diff --git a/themes/sources4.0/dhtmlxChart/codebase/skins/dhtmlxchart_dhx_skyblue.css b/themes/sources4.0/dhtmlxChart/codebase/skins/dhtmlxchart_dhx_skyblue.css deleted file mode 100644 index cac8db2..0000000 --- a/themes/sources4.0/dhtmlxChart/codebase/skins/dhtmlxchart_dhx_skyblue.css +++ /dev/null @@ -1,120 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* skin detected, extra file: skins/dhx_skyblue.less */ - -.dhx_tooltip { - display: none; - position: absolute; - font-family: Tahoma; - color: #626262; - font-size: 11px; - z-index: 10000; - padding: 4px 10px 4px 10px; - border: 1px solid #fff; - border-radius: 3px; - -moz-border-radius: 3px; - -webkit-border-radius: 3px; - -moz-box-shadow: 0 0 3px #d9d9d9; - -webkit-box-shadow: 0 0 3px #d9d9d9; - text-shadow: 0px 1px 1px #fff; - box-shadow: 0 0 5px #d9d9d9; - background: -webkit-gradient(linear,left top,left bottom,color-stop(0,#efefef),color-stop(0.5,#f6f6f6),color-stop(1,#efefef)); - background: -o-linear-gradient(#efefef 0%,#f6f6f6 50%,#efefef 100%); - background: -ms-linear-gradient(#efefef 0%,#f6f6f6 50%,#efefef 100%); - background: -moz-linear-gradient(#efefef 0%,#f6f6f6 50%,#efefef 100%); - background: #efefef; -} -.dhx_chart { - position: relative; - font-family: Tahoma; - font-size: 11px; - color: black; - overflow: hidden; -} -.dhx_chart canvas { - position: absolute; - left: 0; - top: 0; -} -.dhx_canvas_text { - position: absolute; - text-align: center; - overflow: hidden; - white-space: nowrap; - z-index: 1000; -} -.dhx_map_img { - width: 100%; - height: 100%; - position: absolute; - top: 0px; - left: 0px; - border: 0px; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); - opacity: 0; -} -.dhx_axis_item_y { - position: absolute; - height: 18px; - line-height: 18px; - margin-top: -4px; - text-align: right; -} -.dhx_axis_title_x { - text-align: center; -} -.dhx_axis_title_y { - text-align: center; - font-family: Tahoma; - -webkit-transform: rotate(-90deg); - -moz-transform: rotate(-90deg); - -o-transform: rotate(-90deg); - -ms-transform: rotate(-90deg); - transform: rotate(-90deg); - height: 18px; - line-height: 18px; - font-size: 11px; -} -.dhx_ie_filter { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); - zoom: 1; - font-family: serif; -} -.dhx_chart_legend { - position: absolute; - z-index: 1000; -} -.dhx_chart_legend_item { - height: 18px; - line-height: 18px; - padding: 2px; - cursor: pointer; -} -.dhx_chart_legend_item.hidden { - color: #aaa; -} -.dhx_axis_item_y.dhx_radar { - color: #666; - font-size: 12px; - padding-right: 3px; - height: 13px; - line-height: 13px; - margin-top: 0px; -} -.dhx_canvas_text.dhx_axis_radar_title { - margin-top: 0px; - padding-top: 0px; -} -.dhx_axis_item_y, -.dhx_axis_item_x { - color: #666; -} -.dhx_axis_item_x { - padding-top: 2px; -} diff --git a/themes/sources4.0/dhtmlxChart/codebase/skins/dhtmlxchart_dhx_terrace.css b/themes/sources4.0/dhtmlxChart/codebase/skins/dhtmlxchart_dhx_terrace.css deleted file mode 100644 index 1f5f064..0000000 --- a/themes/sources4.0/dhtmlxChart/codebase/skins/dhtmlxchart_dhx_terrace.css +++ /dev/null @@ -1,120 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* skin detected, extra file: skins/dhx_terrace.less */ - -.dhx_tooltip { - display: none; - position: absolute; - font-family: Arial; - color: #626262; - font-size: 13px; - z-index: 10000; - padding: 4px 10px 4px 10px; - border: 1px solid #fff; - border-radius: 3px; - -moz-border-radius: 3px; - -webkit-border-radius: 3px; - -moz-box-shadow: 0 0 3px #d9d9d9; - -webkit-box-shadow: 0 0 3px #d9d9d9; - text-shadow: 0px 1px 1px #fff; - box-shadow: 0 0 5px #d9d9d9; - background: -webkit-gradient(linear,left top,left bottom,color-stop(0,#efefef),color-stop(0.5,#f6f6f6),color-stop(1,#efefef)); - background: -o-linear-gradient(#efefef 0%,#f6f6f6 50%,#efefef 100%); - background: -ms-linear-gradient(#efefef 0%,#f6f6f6 50%,#efefef 100%); - background: -moz-linear-gradient(#efefef 0%,#f6f6f6 50%,#efefef 100%); - background: #efefef; -} -.dhx_chart { - position: relative; - font-family: Arial; - font-size: 13px; - color: black; - overflow: hidden; -} -.dhx_chart canvas { - position: absolute; - left: 0; - top: 0; -} -.dhx_canvas_text { - position: absolute; - text-align: center; - overflow: hidden; - white-space: nowrap; - z-index: 1000; -} -.dhx_map_img { - width: 100%; - height: 100%; - position: absolute; - top: 0px; - left: 0px; - border: 0px; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); - opacity: 0; -} -.dhx_axis_item_y { - position: absolute; - height: 18px; - line-height: 18px; - margin-top: -4px; - text-align: right; -} -.dhx_axis_title_x { - text-align: center; -} -.dhx_axis_title_y { - text-align: center; - font-family: Arial; - -webkit-transform: rotate(-90deg); - -moz-transform: rotate(-90deg); - -o-transform: rotate(-90deg); - -ms-transform: rotate(-90deg); - transform: rotate(-90deg); - height: 18px; - line-height: 18px; - font-size: 13px; -} -.dhx_ie_filter { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); - zoom: 1; - font-family: serif; -} -.dhx_chart_legend { - position: absolute; - z-index: 1000; -} -.dhx_chart_legend_item { - height: 18px; - line-height: 18px; - padding: 2px; - cursor: pointer; -} -.dhx_chart_legend_item.hidden { - color: #aaa; -} -.dhx_axis_item_y.dhx_radar { - color: #666; - font-size: 12px; - padding-right: 3px; - height: 13px; - line-height: 13px; - margin-top: 0px; -} -.dhx_canvas_text.dhx_axis_radar_title { - margin-top: 0px; - padding-top: 0px; -} -.dhx_axis_item_y, -.dhx_axis_item_x { - color: #666; -} -.dhx_axis_item_x { - padding-top: 2px; -} diff --git a/themes/sources4.0/dhtmlxChart/codebase/skins/dhtmlxchart_dhx_web.css b/themes/sources4.0/dhtmlxChart/codebase/skins/dhtmlxchart_dhx_web.css deleted file mode 100644 index a8e1cfc..0000000 --- a/themes/sources4.0/dhtmlxChart/codebase/skins/dhtmlxchart_dhx_web.css +++ /dev/null @@ -1,120 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* skin detected, extra file: skins/dhx_web.less */ - -.dhx_tooltip { - display: none; - position: absolute; - font-family: Tahoma; - color: #626262; - font-size: 12px; - z-index: 10000; - padding: 4px 10px 4px 10px; - border: 1px solid #fff; - border-radius: 3px; - -moz-border-radius: 3px; - -webkit-border-radius: 3px; - -moz-box-shadow: 0 0 3px #d9d9d9; - -webkit-box-shadow: 0 0 3px #d9d9d9; - text-shadow: 0px 1px 1px #fff; - box-shadow: 0 0 5px #d9d9d9; - background: -webkit-gradient(linear,left top,left bottom,color-stop(0,#efefef),color-stop(0.5,#f6f6f6),color-stop(1,#efefef)); - background: -o-linear-gradient(#efefef 0%,#f6f6f6 50%,#efefef 100%); - background: -ms-linear-gradient(#efefef 0%,#f6f6f6 50%,#efefef 100%); - background: -moz-linear-gradient(#efefef 0%,#f6f6f6 50%,#efefef 100%); - background: #efefef; -} -.dhx_chart { - position: relative; - font-family: Tahoma; - font-size: 12px; - color: #000000; - overflow: hidden; -} -.dhx_chart canvas { - position: absolute; - left: 0; - top: 0; -} -.dhx_canvas_text { - position: absolute; - text-align: center; - overflow: hidden; - white-space: nowrap; - z-index: 1000; -} -.dhx_map_img { - width: 100%; - height: 100%; - position: absolute; - top: 0px; - left: 0px; - border: 0px; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); - opacity: 0; -} -.dhx_axis_item_y { - position: absolute; - height: 18px; - line-height: 18px; - margin-top: -4px; - text-align: right; -} -.dhx_axis_title_x { - text-align: center; -} -.dhx_axis_title_y { - text-align: center; - font-family: Tahoma; - -webkit-transform: rotate(-90deg); - -moz-transform: rotate(-90deg); - -o-transform: rotate(-90deg); - -ms-transform: rotate(-90deg); - transform: rotate(-90deg); - height: 18px; - line-height: 18px; - font-size: 12px; -} -.dhx_ie_filter { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); - zoom: 1; - font-family: serif; -} -.dhx_chart_legend { - position: absolute; - z-index: 1000; -} -.dhx_chart_legend_item { - height: 18px; - line-height: 18px; - padding: 2px; - cursor: pointer; -} -.dhx_chart_legend_item.hidden { - color: #aaa; -} -.dhx_axis_item_y.dhx_radar { - color: #666; - font-size: 12px; - padding-right: 3px; - height: 13px; - line-height: 13px; - margin-top: 0px; -} -.dhx_canvas_text.dhx_axis_radar_title { - margin-top: 0px; - padding-top: 0px; -} -.dhx_axis_item_y, -.dhx_axis_item_x { - color: #666; -} -.dhx_axis_item_x { - padding-top: 2px; -} diff --git a/themes/sources4.0/dhtmlxChart/codebase/skins/dhtmlxchart_material.css b/themes/sources4.0/dhtmlxChart/codebase/skins/dhtmlxchart_material.css deleted file mode 100644 index ec914f6..0000000 --- a/themes/sources4.0/dhtmlxChart/codebase/skins/dhtmlxchart_material.css +++ /dev/null @@ -1,141 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: material - include extra file: skins/material.less -*/ - -@keyframes dhx_loader_rotate { - 100% { - transform: rotate(360deg); - } -} -@keyframes dhx_loader_dash { - 0% { - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - } - 50% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -35px; - } - 100% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -124px; - } -} -.dhx_tooltip { - display: none; - position: absolute; - color: #626262; - z-index: 10000; - padding: 4px 10px 4px 10px; - border: 1px solid #fff; - border-radius: 2px; - text-shadow: 0px 1px 1px #fff; - box-shadow: 0 0 5px #d9d9d9; - background: -webkit-gradient(linear,left top,left bottom,color-stop(0,#efefef),color-stop(0.5,#f6f6f6),color-stop(1,#efefef)); - background: -o-linear-gradient(#efefef 0%,#f6f6f6 50%,#efefef 100%); - background: -ms-linear-gradient(#efefef 0%,#f6f6f6 50%,#efefef 100%); - background: -moz-linear-gradient(#efefef 0%,#f6f6f6 50%,#efefef 100%); - background: #efefef; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -.dhx_chart { - position: relative; - font-family: Roboto, Arial, Helvetica; - font-size: 14px; - color: #404040; - overflow: hidden; - z-index: 0; -} -.dhx_chart canvas { - position: absolute; - left: 0; - top: 0; -} -.dhx_canvas_text { - position: absolute; - text-align: center; - overflow: hidden; - white-space: nowrap; - z-index: 1000; -} -.dhx_map_img { - width: 100%; - height: 100%; - position: absolute; - top: 0px; - left: 0px; - border: 0px; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhx_axis_item_y { - position: absolute; - height: 18px; - line-height: 18px; - margin-top: -4px; - text-align: right; -} -.dhx_axis_title_x { - text-align: center; -} -.dhx_axis_title_y { - text-align: center; - height: 18px; - line-height: 18px; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; - -webkit-transform: rotate(-90deg); - -moz-transform: rotate(-90deg); - -ms-transform: rotate(-90deg); - -o-transform: rotate(-90deg); - transform: rotate(-90deg); -} -.dhx_ie_filter { - filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); - zoom: 1; - font-family: serif; -} -.dhx_chart_legend { - position: absolute; - z-index: 1000; -} -.dhx_chart_legend_item { - height: 18px; - line-height: 18px; - padding: 2px; - cursor: pointer; -} -.dhx_chart_legend_item.hidden { - color: #aaa; -} -.dhx_axis_item_y.dhx_radar { - color: #404040; - font-size: 12px; - padding-right: 3px; - height: 13px; - line-height: 13px; - margin-top: 0px; -} -.dhx_canvas_text.dhx_axis_radar_title { - margin-top: 0px; - padding-top: 0px; -} -.dhx_axis_item_y, -.dhx_axis_item_x { - color: #404040; -} -.dhx_axis_item_x { - padding-top: 2px; -} diff --git a/themes/sources4.0/dhtmlxChart/codebase/thirdparty/excanvas/AUTHORS b/themes/sources4.0/dhtmlxChart/codebase/thirdparty/excanvas/AUTHORS deleted file mode 100644 index f3348aa..0000000 --- a/themes/sources4.0/dhtmlxChart/codebase/thirdparty/excanvas/AUTHORS +++ /dev/null @@ -1,10 +0,0 @@ -ExplorerCanvas - -Google Open Source: - - - -Developers: - Emil A Eklund - Erik Arvidsson - Glen Murphy \ No newline at end of file diff --git a/themes/sources4.0/dhtmlxChart/codebase/thirdparty/excanvas/COPYING b/themes/sources4.0/dhtmlxChart/codebase/thirdparty/excanvas/COPYING deleted file mode 100644 index d645695..0000000 --- a/themes/sources4.0/dhtmlxChart/codebase/thirdparty/excanvas/COPYING +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/themes/sources4.0/dhtmlxChart/codebase/thirdparty/excanvas/README b/themes/sources4.0/dhtmlxChart/codebase/thirdparty/excanvas/README deleted file mode 100644 index 9e8268b..0000000 --- a/themes/sources4.0/dhtmlxChart/codebase/thirdparty/excanvas/README +++ /dev/null @@ -1,22 +0,0 @@ -ExplorerCanvas -Copyright 2006 Google Inc. - -------------------------------------------------------------------------------- -DESCRIPTION - -Firefox, Safari and Opera 9 support the canvas tag to allow 2D command-based -drawing operations. ExplorerCanvas brings the same functionality to Internet -Explorer; web developers only need to include a single script tag in their -existing canvas webpages to enable this support. - - -------------------------------------------------------------------------------- -INSTALLATION - -Include the ExplorerCanvas tag in the same directory as your HTML files, and -add the following code to your page, preferably in the tag. - - - -If you run into trouble, please look at the included example code to see how -to best implement this \ No newline at end of file diff --git a/themes/sources4.0/dhtmlxChart/codebase/thirdparty/excanvas/excanvas.js b/themes/sources4.0/dhtmlxChart/codebase/thirdparty/excanvas/excanvas.js deleted file mode 100644 index 3fe46d3..0000000 --- a/themes/sources4.0/dhtmlxChart/codebase/thirdparty/excanvas/excanvas.js +++ /dev/null @@ -1,927 +0,0 @@ -// Copyright 2006 Google Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - - -// Known Issues: -// -// * Patterns are not implemented. -// * Radial gradient are not implemented. The VML version of these look very -// different from the canvas one. -// * Clipping paths are not implemented. -// * Coordsize. The width and height attribute have higher priority than the -// width and height style values which isn't correct. -// * Painting mode isn't implemented. -// * Canvas width/height should is using content-box by default. IE in -// Quirks mode will draw the canvas using border-box. Either change your -// doctype to HTML5 -// (http://www.whatwg.org/specs/web-apps/current-work/#the-doctype) -// or use Box Sizing Behavior from WebFX -// (http://webfx.eae.net/dhtml/boxsizing/boxsizing.html) -// * Non uniform scaling does not correctly scale strokes. -// * Optimize. There is always room for speed improvements. - -// Only add this code if we do not already have a canvas implementation -if (!document.createElement('canvas').getContext) { - -(function() { - - // alias some functions to make (compiled) code shorter - var m = Math; - var mr = m.round; - var ms = m.sin; - var mc = m.cos; - var abs = m.abs; - var sqrt = m.sqrt; - - // this is used for sub pixel precision - var Z = 10; - var Z2 = Z / 2; - - /** - * This funtion is assigned to the elements as element.getContext(). - * @this {HTMLElement} - * @return {CanvasRenderingContext2D_} - */ - function getContext() { - return this.context_ || - (this.context_ = new CanvasRenderingContext2D_(this)); - } - - var slice = Array.prototype.slice; - - /** - * Binds a function to an object. The returned function will always use the - * passed in {@code obj} as {@code this}. - * - * Example: - * - * g = bind(f, obj, a, b) - * g(c, d) // will do f.call(obj, a, b, c, d) - * - * @param {Function} f The function to bind the object to - * @param {Object} obj The object that should act as this when the function - * is called - * @param {*} var_args Rest arguments that will be used as the initial - * arguments when the function is called - * @return {Function} A new function that has bound this - */ - function bind(f, obj, var_args) { - var a = slice.call(arguments, 2); - return function() { - return f.apply(obj, a.concat(slice.call(arguments))); - }; - } - - var G_vmlCanvasManager_ = { - init: function(opt_doc) { - if (/MSIE/.test(navigator.userAgent) && !window.opera) { - var doc = opt_doc || document; - // Create a dummy element so that IE will allow canvas elements to be - // recognized. - doc.createElement('canvas'); - doc.attachEvent('onreadystatechange', bind(this.init_, this, doc)); - } - }, - - init_: function(doc) { - // create xmlns - if (!doc.namespaces['g_vml_']) { - doc.namespaces.add('g_vml_', 'urn:schemas-microsoft-com:vml', - '#default#VML'); - - } - if (!doc.namespaces['g_o_']) { - doc.namespaces.add('g_o_', 'urn:schemas-microsoft-com:office:office', - '#default#VML'); - } - - // Setup default CSS. Only add one style sheet per document - if (!doc.styleSheets['ex_canvas_']) { - var ss = doc.createStyleSheet(); - ss.owningElement.id = 'ex_canvas_'; - ss.cssText = 'canvas{display:inline-block;overflow:hidden;' + - // default size is 300x150 in Gecko and Opera - 'text-align:left;width:300px;height:150px}' + - 'g_vml_\\:*{behavior:url(#default#VML)}' + - 'g_o_\\:*{behavior:url(#default#VML)}'; - - } - - // find all canvas elements - var els = doc.getElementsByTagName('canvas'); - for (var i = 0; i < els.length; i++) { - this.initElement(els[i]); - } - }, - - /** - * Public initializes a canvas element so that it can be used as canvas - * element from now on. This is called automatically before the page is - * loaded but if you are creating elements using createElement you need to - * make sure this is called on the element. - * @param {HTMLElement} el The canvas element to initialize. - * @return {HTMLElement} the element that was created. - */ - initElement: function(el) { - if (!el.getContext) { - - el.getContext = getContext; - - // Remove fallback content. There is no way to hide text nodes so we - // just remove all childNodes. We could hide all elements and remove - // text nodes but who really cares about the fallback content. - el.innerHTML = ''; - - // do not use inline function because that will leak memory - el.attachEvent('onpropertychange', onPropertyChange); - el.attachEvent('onresize', onResize); - - var attrs = el.attributes; - if (attrs.width && attrs.width.specified) { - // TODO: use runtimeStyle and coordsize - // el.getContext().setWidth_(attrs.width.nodeValue); - el.style.width = attrs.width.nodeValue + 'px'; - } else { - el.width = el.clientWidth; - } - if (attrs.height && attrs.height.specified) { - // TODO: use runtimeStyle and coordsize - // el.getContext().setHeight_(attrs.height.nodeValue); - el.style.height = attrs.height.nodeValue + 'px'; - } else { - el.height = el.clientHeight; - } - //el.getContext().setCoordsize_() - } - return el; - } - }; - - function onPropertyChange(e) { - var el = e.srcElement; - - switch (e.propertyName) { - case 'width': - el.style.width = el.attributes.width.nodeValue + 'px'; - el.getContext().clearRect(); - break; - case 'height': - el.style.height = el.attributes.height.nodeValue + 'px'; - el.getContext().clearRect(); - break; - } - } - - function onResize(e) { - var el = e.srcElement; - if (el.firstChild) { - el.firstChild.style.width = el.clientWidth + 'px'; - el.firstChild.style.height = el.clientHeight + 'px'; - } - } - - G_vmlCanvasManager_.init(); - - // precompute "00" to "FF" - var dec2hex = []; - for (var i = 0; i < 16; i++) { - for (var j = 0; j < 16; j++) { - dec2hex[i * 16 + j] = i.toString(16) + j.toString(16); - } - } - - function createMatrixIdentity() { - return [ - [1, 0, 0], - [0, 1, 0], - [0, 0, 1] - ]; - } - - function matrixMultiply(m1, m2) { - var result = createMatrixIdentity(); - - for (var x = 0; x < 3; x++) { - for (var y = 0; y < 3; y++) { - var sum = 0; - - for (var z = 0; z < 3; z++) { - sum += m1[x][z] * m2[z][y]; - } - - result[x][y] = sum; - } - } - return result; - } - - function copyState(o1, o2) { - o2.fillStyle = o1.fillStyle; - o2.lineCap = o1.lineCap; - o2.lineJoin = o1.lineJoin; - o2.lineWidth = o1.lineWidth; - o2.miterLimit = o1.miterLimit; - o2.shadowBlur = o1.shadowBlur; - o2.shadowColor = o1.shadowColor; - o2.shadowOffsetX = o1.shadowOffsetX; - o2.shadowOffsetY = o1.shadowOffsetY; - o2.strokeStyle = o1.strokeStyle; - o2.globalAlpha = o1.globalAlpha; - o2.arcScaleX_ = o1.arcScaleX_; - o2.arcScaleY_ = o1.arcScaleY_; - o2.lineScale_ = o1.lineScale_; - } - - function processStyle(styleString) { - var str, alpha = 1; - - styleString = String(styleString); - if (styleString.substring(0, 3) == 'rgb') { - var start = styleString.indexOf('(', 3); - var end = styleString.indexOf(')', start + 1); - var guts = styleString.substring(start + 1, end).split(','); - - str = '#'; - for (var i = 0; i < 3; i++) { - str += dec2hex[Number(guts[i])]; - } - - if (guts.length == 4 && styleString.substr(3, 1) == 'a') { - alpha = guts[3]; - } - } else { - str = styleString; - } - - return {color: str, alpha: alpha}; - } - - function processLineCap(lineCap) { - switch (lineCap) { - case 'butt': - return 'flat'; - case 'round': - return 'round'; - case 'square': - default: - return 'square'; - } - } - - /** - * This class implements CanvasRenderingContext2D interface as described by - * the WHATWG. - * @param {HTMLElement} surfaceElement The element that the 2D context should - * be associated with - */ - function CanvasRenderingContext2D_(surfaceElement) { - this.m_ = createMatrixIdentity(); - - this.mStack_ = []; - this.aStack_ = []; - this.currentPath_ = []; - - // Canvas context properties - this.strokeStyle = '#000'; - this.fillStyle = '#000'; - - this.lineWidth = 1; - this.lineJoin = 'miter'; - this.lineCap = 'butt'; - this.miterLimit = Z * 1; - this.globalAlpha = 1; - this.canvas = surfaceElement; - - var el = surfaceElement.ownerDocument.createElement('div'); - el.style.width = surfaceElement.clientWidth + 'px'; - el.style.height = surfaceElement.clientHeight + 'px'; - el.style.overflow = 'hidden'; - el.style.position = 'absolute'; - surfaceElement.appendChild(el); - - this.element_ = el; - this.arcScaleX_ = 1; - this.arcScaleY_ = 1; - this.lineScale_ = 1; - } - - var contextPrototype = CanvasRenderingContext2D_.prototype; - contextPrototype.clearRect = function() { - this.element_.innerHTML = ''; - }; - - contextPrototype.beginPath = function() { - // TODO: Branch current matrix so that save/restore has no effect - // as per safari docs. - this.currentPath_ = []; - }; - - contextPrototype.moveTo = function(aX, aY) { - var p = this.getCoords_(aX, aY); - this.currentPath_.push({type: 'moveTo', x: p.x, y: p.y}); - this.currentX_ = p.x; - this.currentY_ = p.y; - }; - - contextPrototype.lineTo = function(aX, aY) { - var p = this.getCoords_(aX, aY); - this.currentPath_.push({type: 'lineTo', x: p.x, y: p.y}); - - this.currentX_ = p.x; - this.currentY_ = p.y; - }; - - contextPrototype.bezierCurveTo = function(aCP1x, aCP1y, - aCP2x, aCP2y, - aX, aY) { - var p = this.getCoords_(aX, aY); - var cp1 = this.getCoords_(aCP1x, aCP1y); - var cp2 = this.getCoords_(aCP2x, aCP2y); - bezierCurveTo(this, cp1, cp2, p); - }; - - // Helper function that takes the already fixed cordinates. - function bezierCurveTo(self, cp1, cp2, p) { - self.currentPath_.push({ - type: 'bezierCurveTo', - cp1x: cp1.x, - cp1y: cp1.y, - cp2x: cp2.x, - cp2y: cp2.y, - x: p.x, - y: p.y - }); - self.currentX_ = p.x; - self.currentY_ = p.y; - } - - contextPrototype.quadraticCurveTo = function(aCPx, aCPy, aX, aY) { - // the following is lifted almost directly from - // http://developer.mozilla.org/en/docs/Canvas_tutorial:Drawing_shapes - - var cp = this.getCoords_(aCPx, aCPy); - var p = this.getCoords_(aX, aY); - - var cp1 = { - x: this.currentX_ + 2.0 / 3.0 * (cp.x - this.currentX_), - y: this.currentY_ + 2.0 / 3.0 * (cp.y - this.currentY_) - }; - var cp2 = { - x: cp1.x + (p.x - this.currentX_) / 3.0, - y: cp1.y + (p.y - this.currentY_) / 3.0 - }; - - bezierCurveTo(this, cp1, cp2, p); - }; - - contextPrototype.arc = function(aX, aY, aRadius, - aStartAngle, aEndAngle, aClockwise) { - aRadius *= Z; - var arcType = aClockwise ? 'at' : 'wa'; - - var xStart = aX + mc(aStartAngle) * aRadius - Z2; - var yStart = aY + ms(aStartAngle) * aRadius - Z2; - - var xEnd = aX + mc(aEndAngle) * aRadius - Z2; - var yEnd = aY + ms(aEndAngle) * aRadius - Z2; - - // IE won't render arches drawn counter clockwise if xStart == xEnd. - if (xStart == xEnd && !aClockwise) { - xStart += 0.125; // Offset xStart by 1/80 of a pixel. Use something - // that can be represented in binary - } - - var p = this.getCoords_(aX, aY); - var pStart = this.getCoords_(xStart, yStart); - var pEnd = this.getCoords_(xEnd, yEnd); - - this.currentPath_.push({type: arcType, - x: p.x, - y: p.y, - radius: aRadius, - xStart: pStart.x, - yStart: pStart.y, - xEnd: pEnd.x, - yEnd: pEnd.y}); - - }; - - contextPrototype.rect = function(aX, aY, aWidth, aHeight) { - this.moveTo(aX, aY); - this.lineTo(aX + aWidth, aY); - this.lineTo(aX + aWidth, aY + aHeight); - this.lineTo(aX, aY + aHeight); - this.closePath(); - }; - - contextPrototype.strokeRect = function(aX, aY, aWidth, aHeight) { - var oldPath = this.currentPath_; - this.beginPath(); - - this.moveTo(aX, aY); - this.lineTo(aX + aWidth, aY); - this.lineTo(aX + aWidth, aY + aHeight); - this.lineTo(aX, aY + aHeight); - this.closePath(); - this.stroke(); - - this.currentPath_ = oldPath; - }; - - contextPrototype.fillRect = function(aX, aY, aWidth, aHeight) { - var oldPath = this.currentPath_; - this.beginPath(); - - this.moveTo(aX, aY); - this.lineTo(aX + aWidth, aY); - this.lineTo(aX + aWidth, aY + aHeight); - this.lineTo(aX, aY + aHeight); - this.closePath(); - this.fill(); - - this.currentPath_ = oldPath; - }; - - contextPrototype.createLinearGradient = function(aX0, aY0, aX1, aY1) { - var gradient = new CanvasGradient_('gradient'); - gradient.x0_ = aX0; - gradient.y0_ = aY0; - gradient.x1_ = aX1; - gradient.y1_ = aY1; - return gradient; - }; - - contextPrototype.createRadialGradient = function(aX0, aY0, aR0, - aX1, aY1, aR1) { - var gradient = new CanvasGradient_('gradientradial'); - gradient.x0_ = aX0; - gradient.y0_ = aY0; - gradient.r0_ = aR0; - gradient.x1_ = aX1; - gradient.y1_ = aY1; - gradient.r1_ = aR1; - return gradient; - }; - - contextPrototype.drawImage = function(image, var_args) { - var dx, dy, dw, dh, sx, sy, sw, sh; - - // to find the original width we overide the width and height - var oldRuntimeWidth = image.runtimeStyle.width; - var oldRuntimeHeight = image.runtimeStyle.height; - image.runtimeStyle.width = 'auto'; - image.runtimeStyle.height = 'auto'; - - // get the original size - var w = image.width; - var h = image.height; - - // and remove overides - image.runtimeStyle.width = oldRuntimeWidth; - image.runtimeStyle.height = oldRuntimeHeight; - - if (arguments.length == 3) { - dx = arguments[1]; - dy = arguments[2]; - sx = sy = 0; - sw = dw = w; - sh = dh = h; - } else if (arguments.length == 5) { - dx = arguments[1]; - dy = arguments[2]; - dw = arguments[3]; - dh = arguments[4]; - sx = sy = 0; - sw = w; - sh = h; - } else if (arguments.length == 9) { - sx = arguments[1]; - sy = arguments[2]; - sw = arguments[3]; - sh = arguments[4]; - dx = arguments[5]; - dy = arguments[6]; - dw = arguments[7]; - dh = arguments[8]; - } else { - throw Error('Invalid number of arguments'); - } - - var d = this.getCoords_(dx, dy); - - var w2 = sw / 2; - var h2 = sh / 2; - - var vmlStr = []; - - var W = 10; - var H = 10; - - // For some reason that I've now forgotten, using divs didn't work - vmlStr.push(' ' , - '', - ''); - - this.element_.insertAdjacentHTML('BeforeEnd', - vmlStr.join('')); - }; - - contextPrototype.stroke = function(aFill) { - var lineStr = []; - var lineOpen = false; - var a = processStyle(aFill ? this.fillStyle : this.strokeStyle); - var color = a.color; - var opacity = a.alpha * this.globalAlpha; - - var W = 10; - var H = 10; - - lineStr.push(''); - - if (!aFill) { - var lineWidth = this.lineScale_ * this.lineWidth; - - // VML cannot correctly render a line if the width is less than 1px. - // In that case, we dilute the color to make the line look thinner. - if (lineWidth < 1) { - opacity *= lineWidth; - } - - lineStr.push( - '' - ); - } else if (typeof this.fillStyle == 'object') { - var fillStyle = this.fillStyle; - var angle = 0; - var focus = {x: 0, y: 0}; - - // additional offset - var shift = 0; - // scale factor for offset - var expansion = 1; - - if (fillStyle.type_ == 'gradient') { - var x0 = fillStyle.x0_ / this.arcScaleX_; - var y0 = fillStyle.y0_ / this.arcScaleY_; - var x1 = fillStyle.x1_ / this.arcScaleX_; - var y1 = fillStyle.y1_ / this.arcScaleY_; - var p0 = this.getCoords_(x0, y0); - var p1 = this.getCoords_(x1, y1); - var dx = p1.x - p0.x; - var dy = p1.y - p0.y; - angle = Math.atan2(dx, dy) * 180 / Math.PI; - - // The angle should be a non-negative number. - if (angle < 0) { - angle += 360; - } - - // Very small angles produce an unexpected result because they are - // converted to a scientific notation string. - if (angle < 1e-6) { - angle = 0; - } - } else { - var p0 = this.getCoords_(fillStyle.x0_, fillStyle.y0_); - var width = max.x - min.x; - var height = max.y - min.y; - focus = { - x: (p0.x - min.x) / width, - y: (p0.y - min.y) / height - }; - - width /= this.arcScaleX_ * Z; - height /= this.arcScaleY_ * Z; - var dimension = m.max(width, height); - shift = 2 * fillStyle.r0_ / dimension; - expansion = 2 * fillStyle.r1_ / dimension - shift; - } - - // We need to sort the color stops in ascending order by offset, - // otherwise IE won't interpret it correctly. - var stops = fillStyle.colors_; - stops.sort(function(cs1, cs2) { - return cs1.offset - cs2.offset; - }); - - var length = stops.length; - var color1 = stops[0].color; - var color2 = stops[length - 1].color; - var opacity1 = stops[0].alpha * this.globalAlpha; - var opacity2 = stops[length - 1].alpha * this.globalAlpha; - - var colors = []; - for (var i = 0; i < length; i++) { - var stop = stops[i]; - colors.push(stop.offset * expansion + shift + ' ' + stop.color); - } - - // When colors attribute is used, the meanings of opacity and o:opacity2 - // are reversed. - lineStr.push(''); - } else { - lineStr.push(''); - } - - lineStr.push(''); - - this.element_.insertAdjacentHTML('beforeEnd', lineStr.join('')); - }; - - contextPrototype.fill = function() { - this.stroke(true); - } - - contextPrototype.closePath = function() { - this.currentPath_.push({type: 'close'}); - }; - - /** - * @private - */ - contextPrototype.getCoords_ = function(aX, aY) { - var m = this.m_; - return { - x: Z * (aX * m[0][0] + aY * m[1][0] + m[2][0]) - Z2, - y: Z * (aX * m[0][1] + aY * m[1][1] + m[2][1]) - Z2 - } - }; - - contextPrototype.save = function() { - var o = {}; - copyState(this, o); - this.aStack_.push(o); - this.mStack_.push(this.m_); - this.m_ = matrixMultiply(createMatrixIdentity(), this.m_); - }; - - contextPrototype.restore = function() { - copyState(this.aStack_.pop(), this); - this.m_ = this.mStack_.pop(); - }; - - function matrixIsFinite(m) { - for (var j = 0; j < 3; j++) { - for (var k = 0; k < 2; k++) { - if (!isFinite(m[j][k]) || isNaN(m[j][k])) { - return false; - } - } - } - return true; - } - - function setM(ctx, m, updateLineScale) { - if (!matrixIsFinite(m)) { - return; - } - ctx.m_ = m; - - if (updateLineScale) { - // Get the line scale. - // Determinant of this.m_ means how much the area is enlarged by the - // transformation. So its square root can be used as a scale factor - // for width. - var det = m[0][0] * m[1][1] - m[0][1] * m[1][0]; - ctx.lineScale_ = sqrt(abs(det)); - } - } - - contextPrototype.translate = function(aX, aY) { - var m1 = [ - [1, 0, 0], - [0, 1, 0], - [aX, aY, 1] - ]; - - setM(this, matrixMultiply(m1, this.m_), false); - }; - - contextPrototype.rotate = function(aRot) { - var c = mc(aRot); - var s = ms(aRot); - - var m1 = [ - [c, s, 0], - [-s, c, 0], - [0, 0, 1] - ]; - - setM(this, matrixMultiply(m1, this.m_), false); - }; - - contextPrototype.scale = function(aX, aY) { - this.arcScaleX_ *= aX; - this.arcScaleY_ *= aY; - var m1 = [ - [aX, 0, 0], - [0, aY, 0], - [0, 0, 1] - ]; - - setM(this, matrixMultiply(m1, this.m_), true); - }; - - contextPrototype.transform = function(m11, m12, m21, m22, dx, dy) { - var m1 = [ - [m11, m12, 0], - [m21, m22, 0], - [dx, dy, 1] - ]; - - setM(this, matrixMultiply(m1, this.m_), true); - }; - - contextPrototype.setTransform = function(m11, m12, m21, m22, dx, dy) { - var m = [ - [m11, m12, 0], - [m21, m22, 0], - [dx, dy, 1] - ]; - - setM(this, m, true); - }; - - /******** STUBS ********/ - contextPrototype.clip = function() { - // TODO: Implement - }; - - contextPrototype.arcTo = function() { - // TODO: Implement - }; - - contextPrototype.createPattern = function() { - return new CanvasPattern_; - }; - - // Gradient / Pattern Stubs - function CanvasGradient_(aType) { - this.type_ = aType; - this.x0_ = 0; - this.y0_ = 0; - this.r0_ = 0; - this.x1_ = 0; - this.y1_ = 0; - this.r1_ = 0; - this.colors_ = []; - } - - CanvasGradient_.prototype.addColorStop = function(aOffset, aColor) { - aColor = processStyle(aColor); - this.colors_.push({offset: aOffset, - color: aColor.color, - alpha: aColor.alpha}); - }; - - function CanvasPattern_() {} - - // set up externs - G_vmlCanvasManager = G_vmlCanvasManager_; - CanvasRenderingContext2D = CanvasRenderingContext2D_; - CanvasGradient = CanvasGradient_; - CanvasPattern = CanvasPattern_; - -})(); - -} // if - -if (dhtmlx && dhtmlx._modules) - dhtmlx._modules["thirdparty/excanvas/excanvas.js"] = true; \ No newline at end of file diff --git a/themes/sources4.0/dhtmlxColorPicker/codebase/dhtmlxcolorpicker.js b/themes/sources4.0/dhtmlxColorPicker/codebase/dhtmlxcolorpicker.js deleted file mode 100644 index 8f8c0c3..0000000 --- a/themes/sources4.0/dhtmlxColorPicker/codebase/dhtmlxcolorpicker.js +++ /dev/null @@ -1,1718 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -function dhtmlXColorPicker(base) { - - if (!(this instanceof dhtmlXColorPicker)) { - return new dhtmlXColorPicker(base); - } - - dhx4._eventable(this); - - var that = this, base_type = undefined, - temp_node = null, i,l, temp_conf; - - this._nodes = []; - - this.activeNode = null; - this._inputListenerId = null; - this.base = null; - this._globalNode = null; - this.memory = null; - this.skin = null; - - this.conf = { - cp_id: dhx4.newId(), - x: 0, - y: 0, - c: 0, - indent: 2, - position: "right", // right or bottom - customColors: false, - selectedColor: null, - hide: false, - hideOnSelect: false, - lang: "en", - closeable: true // autohide when button cancel clicked, can be used for custom-parent init - }; - - this.value = { - red: null, - blue: null, - green: null, - hue: null, - sat: null, - lum: null - }; - - this._initMoveSelection = function(e) { - e = e || event; - if (typeof(window.addEventListener) == "function") { - that._controllerNodes.colorArea.addEventListener("mousemove", that._setMoveSelection, false); - document.body.addEventListener("mouseup", that._cleanMoveSelection, false); - } else { - that._controllerNodes.colorArea.attachEvent("onmousemove", that._setMoveSelection); - document.body.attachEvent("onmouseup", that._cleanMoveSelection); - } - - that._setMoveSelection(e,that._controllerNodes.colorArea); - return false; - }; - - this._cleanMoveSelection = function() { - if (typeof(window.removeEventListener) == "function") { - that._controllerNodes.colorArea.removeEventListener("mousemove", that._setMoveSelection, false); - document.body.removeEventListener("mouseup", that._cleanMoveSelection, false); - } else { - that._controllerNodes.colorArea.detachEvent("onmousemove", that._setMoveSelection); - document.body.detachEvent("onmouseup", that._cleanMoveSelection); - } - - return false; - }; - - this._setMoveSelection = function(e) { - e = e || event; - var coord = that._getOffsetPosition(e, that._controllerNodes.colorArea); - if (that._controllerNodes.fr_cover) { - setTimeout(function() { - that._setColorAreaXY(coord.x, coord.y); - that._setColorByXYC(); - },0); - } else { - that._setColorAreaXY(coord.x, coord.y); - that._setColorByXYC(); - } - return false; - }; - - this._initMoveContrast = function(e) { - e = e || event; - if (typeof(window.addEventListener) == "function") { - document.body.addEventListener("mousemove", that._setMoveContrast, false); - document.body.addEventListener("mouseup", that._cleanMoveContrast, false); - } else { - document.body.attachEvent("onmousemove", that._setMoveContrast); - document.body.attachEvent("onmouseup", that._cleanMoveContrast); - } - - that._setMoveContrast(e,that._controllerNodes.contrastArea); - }; - - this._cleanMoveContrast = function() { - if (typeof(window.removeEventListener) == "function") { - document.body.removeEventListener("mousemove", that._setMoveContrast, false); - document.body.removeEventListener("mouseup", that._cleanMoveContrast, false); - } else { - document.body.detachEvent("onmousemove", that._setMoveContrast); - document.body.detachEvent("onmouseup", that._cleanMoveContrast); - } - }; - - this._setMoveContrast = function(e) { - e = e || event; - - var coord = that._getOffsetPosition(e, that._controllerNodes.contrastArea); - that._setContrastY(coord.y); - that._setColorByXYC(true); - }; - - this._doOnSelectColor = function() { - var hex = that.colorAIP.rgb2hex({ - r: that.value.red, - g: that.value.green, - b: that.value.blue - }); - - if (that.activeNode != null) { - if (that.activeNode.valueCont) { - that.activeNode.valueCont.value = hex; - } - if (that.activeNode.valueColor) { - that.activeNode.valueColor.style.backgroundColor = hex; - } - } - - if (that.base._dhx_remove || that.conf.hideOnSelect) { - that.hide(); - } - - that.callEvent("onSelect",[hex,((that.activeNode)? that.activeNode.node: null)]); - }; - - this._doOnCancel = function() { - // if cp isn't closeable - allow event to be fired anyway - if (that.callEvent("onCancel",[((that.activeNode)? that.activeNode.node: null)]) == true && that.conf.closeable == true) { - that.hide(); - } - }; - - this._doOnFocusByInput = function() { - var target = (this != window)? this : event.srcElement; - var object = (that.activeNode && that.activeNode.valueCont && that.activeNode.valueCont == target) ? that.activeNode : that._getNodeByValueCont(target); - - that.activeNode = object; - if (object && object == that.activeNode) { - that._initListenerInput(); - } - }; - - this._doOnBlurByInput = function() { - var target = (this != window)? this : event.srcElement; - var object = (that.activeNode && that.activeNode.valueCont && that.activeNode.valueCont == target) ? that.activeNode : that._getNodeByValueCont(target); - if (object && object == that.activeNode) { - that._removeListenerInput(); - } - }; - - this._doOnClickByNode = function(e) { - e = e || event; - var target = (this != window)? this : event.srcElement; - that.activeNode = (that.activeNode.node != target) - ? that._getNodeByElement(target) - : that.activeNode; - if (!that.isVisible()) { - that.show(); - } - }; - - this.saveColor = function() { - that.memory.setValue(that.value); - }; - - this._onSelectMemoryEl = function(contr) { - var key; - that._refreshCoordinatesByHSL(contr.value.hue, contr.value.sat, contr.value.lum); - - for (key in contr.value) { - that.value[key] = contr.value[key]; - } - - that._refreshContrast(); - that._refreshInputValues(); - that._refreshColorValue(); - }; - - this._doOnClickByBody = function(e) { - e = e || event; - var is_close = true, target =e.target || e.srcElement; - - if (that._isBaseNode(target)) { - is_close = false; - } - - if (is_close && that.activeNode && (that.activeNode.node == target || that.activeNode.valueCont == target)) { - is_close = false; - } - - if (is_close) { - that.hide(); - } - }; - - this._doOnChangeHSL = function() { - var hue = parseInt(that._controllerNodes.hue.value), - sat = parseInt(that._controllerNodes.sat.value), - lum = parseInt(that._controllerNodes.lum.value), - rgb; - - if (isNaN(hue) || hue > 359 || hue < 0) { - that._controllerNodes.hue.value = that.value.hue; - } else { - that.value.hue = hue; - } - - if (isNaN(sat) || sat > 100 || sat < 0) { - that._controllerNodes.sat.value = that.value.sat; - } else { - that.value.sat = sat; - } - - - if (isNaN(lum) || lum > 100 || lum < 0) { - that._controllerNodes.lum.value = that.value.lum; - } else { - that.value.lum = lum; - } - - rgb = that.colorAIP.hsl2rgb(that.value.hue, that.value.sat/100, that.value.lum/100); - that.value.red = Math.round(255*rgb.r); - that.value.green = Math.round(255*rgb.g); - that.value.blue = Math.round(255*rgb.b); - - that._refreshCoordinatesByHSL(that.value.hue,that.value.sat,that.value.lum); - that._refreshContrast(); - that._refreshInputValues(); - that._refreshColorValue(); - }; - - this._doOnChangeRGB = function() { - var red = parseInt(that._controllerNodes.red.value), - green = parseInt(that._controllerNodes.green.value), - blue = parseInt(that._controllerNodes.blue.value), - hsl; - - if (isNaN(red) || red > 255 || red < 0) { - that._controllerNodes.red.value = that.value.red; - } else { - that.value.red = red; - } - - if (isNaN(green) || green > 255 || green < 0) { - that._controllerNodes.green.value = that.value.green; - } else { - that.value.green = green; - } - - if (isNaN(blue) || blue > 255 || blue < 0) { - that._controllerNodes.blue.value = that.value.blue; - } else { - that.value.blue = blue; - } - - hsl = that.colorAIP.rgb2hsl(that.value.red/255, that.value.green/255, that.value.blue/255); - that.value.hue = Math.round(hsl.h); - that.value.sat = Math.round(hsl.s*100); - that.value.lum = Math.round(hsl.l*100); - - that._refreshCoordinatesByHSL(that.value.hue,that.value.sat,that.value.lum); - that._refreshContrast(); - that._refreshInputValues(); - that._refreshColorValue(); - }; - - this._doOnChangeHSV = function() { - that._controllerNodes.hsv.value = that.setColor(that._controllerNodes.hsv.value); - }; - - this._checkType = function (base) { - var tempType; - if (base instanceof Array) { - tempType = that._checkType(base[0]); - switch (tempType) { - case "string": - return "array_string"; - break; - case "input": - case "textarea": - return "array_input"; - break; - case "object": - return "array_object"; - break; - default: - return undefined; - } - - } else if (base == undefined) { - return null; - - } else if (typeof(base) == "string") { - return "string"; - - } else if (base.tagName && base.tagName.toLowerCase() == "input") { - return "input"; - - } else if (base.tagName && base.tagName.toLowerCase() == "textarea") { - return "textarea"; - - } else if (base.tagName) { - return "container"; - - } else if (typeof(base) == "object") { - return "object"; - - } else return undefined; - }; - - this._initByObject = function (conf) { - if (conf.parent && conf.parent.tagName) { - that.base = conf.parent; - } else if (typeof(conf.parent) == "string") { - that.base = document.getElementById(conf.parent); - } else { - that.base = document.createElement("div"); - that.base._dhx_remove = true; - } - - if (conf.color) { - that.conf.selectedColor = conf.color; - } - if (typeof(conf.closeable) != "undefined") { - this.conf.closeable = dhx4.s2b(conf.closeable); - } - if (conf.custom_colors) { - this._tempInitCC = function() { - var i, l; - this.initMemoryColors(); - this.conf.customColors = true; - - if (conf.custom_colors instanceof Array) { - l = conf.custom_colors.length; - for (i=0; i"+ - "
              "+ - "
              "+ - "
              "+ - "
              "+ - "
              "+ - "
              "+ - "
              "+ - "
              "+ - "
              "+ - //+ - "
              "+ - "
              "+ - "
              "+ - ""+ - "
              "+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - "
              "+this.i18n[this.conf.lang].labelHue+""+this.i18n[this.conf.lang].labelRed+"
              "+this.i18n[this.conf.lang].labelSat+""+this.i18n[this.conf.lang].labelGreen+"
              "+this.i18n[this.conf.lang].labelLum+""+this.i18n[this.conf.lang].labelBlue+"
              "+ - "
              "+ - "
              "+ - "
              "+ - ""+ - ""+ - "
              "+ - "
              " - "
              "; - - this._globalNode = this.base.firstChild; - - this._controllerNodes = { - colorArea: this._globalNode.firstChild.firstChild.firstChild, - v_line : this._globalNode.firstChild.firstChild.firstChild.childNodes[0], - h_line : this._globalNode.firstChild.firstChild.firstChild.childNodes[1], - - contrastArea : this._globalNode.firstChild.firstChild.childNodes[1], - contrast_line: this._globalNode.firstChild.firstChild.childNodes[1].firstChild, - - color: this._globalNode.firstChild.childNodes[1].childNodes[0].firstChild, - hsv : this._globalNode.firstChild.childNodes[1].childNodes[0].childNodes[1], - - hue: this._globalNode.firstChild.childNodes[1].childNodes[1].firstChild.childNodes[0].childNodes[1].firstChild, - sat: this._globalNode.firstChild.childNodes[1].childNodes[1].firstChild.childNodes[1].childNodes[1].firstChild, - lum: this._globalNode.firstChild.childNodes[1].childNodes[1].firstChild.childNodes[2].childNodes[1].firstChild, - - red : this._globalNode.firstChild.childNodes[1].childNodes[1].firstChild.childNodes[0].childNodes[3].firstChild, - green: this._globalNode.firstChild.childNodes[1].childNodes[1].firstChild.childNodes[1].childNodes[3].firstChild, - blue : this._globalNode.firstChild.childNodes[1].childNodes[1].firstChild.childNodes[2].childNodes[3].firstChild, - - memory_block: this._globalNode.firstChild.childNodes[2], - - button_save : this._globalNode.firstChild.childNodes[3].firstChild, - button_cancel: this._globalNode.firstChild.childNodes[3].childNodes[1] - }; - - this._labelNodes = { - labelHue : this._globalNode.firstChild.childNodes[1].childNodes[1].firstChild.childNodes[0].firstChild, - labelSat : this._globalNode.firstChild.childNodes[1].childNodes[1].firstChild.childNodes[1].firstChild, - labelLum : this._globalNode.firstChild.childNodes[1].childNodes[1].firstChild.childNodes[2].firstChild, - labelRed : this._globalNode.firstChild.childNodes[1].childNodes[1].firstChild.childNodes[0].childNodes[2], - labelGreen : this._globalNode.firstChild.childNodes[1].childNodes[1].firstChild.childNodes[1].childNodes[2], - labelBlue : this._globalNode.firstChild.childNodes[1].childNodes[1].firstChild.childNodes[2].childNodes[2], - btnAddColor: null, - btnSelect : this._globalNode.firstChild.childNodes[3].firstChild, - btnCancel : this._globalNode.firstChild.childNodes[3].childNodes[1] - }; - - if (typeof(this._tempInitCC) == "function") { - this._tempInitCC(); - }; - - if (typeof(window.addEventListener) == "function") { - this._controllerNodes.colorArea.addEventListener("mousedown", this._initMoveSelection, false); - this._controllerNodes.colorArea.addEventListener("dblclick", this._doOnSelectColor, false); - this._controllerNodes.contrastArea.addEventListener("mousedown", this._initMoveContrast, false); - - this._controllerNodes.button_save.addEventListener("click", this._doOnSelectColor, false); - this._controllerNodes.button_cancel.addEventListener("click", this._doOnCancel, false); - - this._controllerNodes.hue.addEventListener("change", this._doOnChangeHSL, false); - this._controllerNodes.sat.addEventListener("change", this._doOnChangeHSL, false); - this._controllerNodes.lum.addEventListener("change", this._doOnChangeHSL, false); - - this._controllerNodes.red.addEventListener("change", this._doOnChangeRGB, false); - this._controllerNodes.green.addEventListener("change", this._doOnChangeRGB, false); - this._controllerNodes.blue.addEventListener("change", this._doOnChangeRGB, false); - - this._controllerNodes.hsv.addEventListener("change", this._doOnChangeHSV, false); - } else { - this._controllerNodes.colorArea.attachEvent("onmousedown", this._initMoveSelection); - this._controllerNodes.colorArea.attachEvent("ondblclick", this._doOnSelectColor); - this._controllerNodes.contrastArea.attachEvent("onmousedown", this._initMoveContrast); - - this._controllerNodes.button_save.attachEvent("onclick", this._doOnSelectColor); - this._controllerNodes.button_cancel.attachEvent("onclick", this._doOnCancel); - - this._controllerNodes.hue.attachEvent("onchange", this._doOnChangeHSL); - this._controllerNodes.sat.attachEvent("onchange", this._doOnChangeHSL); - this._controllerNodes.lum.attachEvent("onchange", this._doOnChangeHSL); - - this._controllerNodes.red.attachEvent("onchange", this._doOnChangeRGB); - this._controllerNodes.green.attachEvent("onchange", this._doOnChangeRGB); - this._controllerNodes.blue.attachEvent("onchange", this._doOnChangeRGB); - - this._controllerNodes.hsv.attachEvent("onchange", this._doOnChangeHSV); - } - - if (this.conf.selectedColor) { - this.setColor(this.conf.selectedColor); - } else { - this._setColorAreaXY(10,10); - this._setContrastY(10); - that._setColorByXYC(); - } - - - if (this._nodes.length) { - for (var i=0; i"+ - "
              "+this.i18n[this.conf.lang].btnAddColor+"
              "+ - ""+ - "
              "+ - "
              "+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - "
              "; - - this.memory = new this.Memory(this._controllerNodes.memory_block.childNodes[1]); - this.memory.onSelect = this._onSelectMemoryEl; - this.memory.onSave = function(value) { - var color = that.colorAIP.rgb2hex({r: value.red, g: value.green, b: value.blue}); - that.callEvent("onSaveColor", [color]); - }; - - var button = this._controllerNodes.memory_block.childNodes[0].firstChild; - this._labelNodes.btnAddColor = this._controllerNodes.memory_block.childNodes[0].firstChild.firstChild; - if (typeof(window.addEventListener) == "function") { - button.addEventListener("click", this.saveColor, false); - } else { - button.attachEvent("onclick", this.saveColor); - } -}; - -dhtmlXColorPicker.prototype._refreshCoordinatesByHSL = function(h,s,l) { - var x,y1,y2; - x = Math.round((this.configColorArea.maxX - this.configColorArea.minX)*h/359)+this.configColorArea.minX; - y1 = Math.round((this.configColorArea.maxY - this.configColorArea.minY)*(100-l)/100) + this.configColorArea.minY; - y2 = Math.round((this.configColorArea.maxY - this.configColorArea.minY)*(100-s)/100) + this.configColorArea.minY; - - this._setColorAreaXY(x,y1); - this._setContrastY(y2); -}; - -dhtmlXColorPicker.prototype.setColor = function(value) { - var rgb, temp, is_check=true, hsl, - old_value = this.colorAIP.rgb2hex({ r:this.value.red, g:this.value.green, b:this.value.blue }), - new_value; - if (value instanceof Array) { - rgb = { - r: parseInt(value[0]), - g: parseInt(value[1]), - b: parseInt(value[2]) - }; - } else if (typeof(value) == "string") { - value = value.replace(/\s/g,""); - if (/^rgb\((\d{1,3})\,(\d{1,3})\,(\d{1,3})\)$/i.test(value)) { - temp = value.match(/^rgb\((\d{1,3})\,(\d{1,3})\,(\d{1,3})\)$/i); - rgb = { - r: parseInt(temp[1]), - g: parseInt(temp[2]), - b: parseInt(temp[3]) - }; - } else { - rgb = this.colorAIP.hex2rgb(value); - } - } - - is_check = is_check && rgb instanceof Object; - is_check = is_check && (0 <= rgb.r && rgb.r <= 255); - is_check = is_check && (0 <= rgb.g && rgb.g <= 255); - is_check = is_check && (0 <= rgb.b && rgb.b <= 255); - - if (!is_check) { - return old_value; - } - - new_value = this.colorAIP.rgb2hex({ r:rgb.r, g:rgb.g, b:rgb.b }); - - if (new_value == old_value) { - return old_value; - } - - this.value.red = rgb.r; - this.value.green = rgb.g; - this.value.blue = rgb.b; - - hsl = this.colorAIP.rgb2hsl(rgb.r/255,rgb.g/255,rgb.b/255); - this.value.hue = Math.round(hsl.h); - this.value.sat = Math.round(hsl.s*100); - this.value.lum = Math.round(hsl.l*100); - - this._refreshCoordinatesByHSL(this.value.hue, this.value.sat, this.value.lum); - this._refreshContrast(); - this._refreshInputValues(); - this._refreshColorValue(); - - return new_value; -}; - -dhtmlXColorPicker.prototype.getSelectedColor = function() { - return [ - this.colorAIP.rgb2hex({ r:this.value.red, g:this.value.green, b:this.value.blue }), - [this.value.red, this.value.green, this.value.blue], - [this.value.hue, this.value.sat, this.value.lum] - ]; -}; - -dhtmlXColorPicker.prototype._attachEventsToNode = function(object) { - if (typeof(window.addEventListener) == "function") { - object.node.addEventListener("click", this._doOnClickByNode, false); - } else { - object.node.attachEvent("onclick", this._doOnClickByNode); - } - - if (object.valueCont && object.valueCont.tagName.toLowerCase() == "input") { - if (typeof(window.addEventListener) == "function") { - object.valueCont.addEventListener("focus", this._doOnFocusByInput, false); - object.valueCont.addEventListener("blur", this._doOnBlurByInput, false); - } else { - object.valueCont.attachEvent("onfocus", this._doOnFocusByInput); - object.valueCont.attachEvent("onblur", this._doOnBlurByInput); - } - } -}; - -dhtmlXColorPicker.prototype._detachEventsFromNode = function(object) { - if (typeof(window.addEventListener) == "function") { - object.node.removeEventListener("click", this._doOnClickByNode, false); - } else { - object.node.detachEvent("onclick", this._doOnClickByNode); - } - - if (object.valueCont && object.valueCont.tagName.toLowerCase() == "input") { - if (typeof(window.addEventListener) == "function") { - object.valueCont.removeEventListener("focus", this._doOnFocusByInput, false); - object.valueCont.removeEventListener("blur", this._doOnBlurByInput, false); - } else { - object.valueCont.detachEvent("onfocus", this._doOnFocusByInput); - object.valueCont.detachEvent("onblur", this._doOnBlurByInput); - } - } -}; - -dhtmlXColorPicker.prototype.show = function(node) { - var is_show_memory = false; - - if (node != undefined) { - this.activeNode = this.getNode(node) || this.activeNode; - } - - if (this.activeNode && this.activeNode.valueCont && this.activeNode.valueCont.value) { - this.setColor(this.activeNode.valueCont.value); - } - - if (this.activeNode) { - is_show_memory = (this.activeNode.conf.customColors != null)? - this.activeNode.conf.customColors: - this.conf.customColors; - - this.setColor(this.activeNode.conf.selectedColor); - - } else { - is_show_memory = this.conf.customColors; - } - - if (is_show_memory) { - this.showMemory(); - } else { - this.hideMemory(); - } - - if (this.base._dhx_remove) { - this.base.firstChild.style.zIndex = dhx4.zim.reserve(this.conf.cp_id); - - if (document.body.firstChild) document.body.insertBefore(this.base, document.body.firstChild); - else document.body.appendChild(this.base); - - this._refreshPosition(); - - if (typeof(window.addEventListener) == "function") { - document.body.addEventListener("mousedown", this._doOnClickByBody, false); - } else { - document.body.attachEvent("onmousedown", this._doOnClickByBody); - } - - } else { - this.base.appendChild(this._globalNode); - } - - if (this._controllerNodes.fr_cover) { - this.base.insertBefore(this._controllerNodes.fr_cover, this._globalNode); - } - - this.callEvent("onShow",[((this.activeNode)? this.activeNode.node: null) ]); -}; - -dhtmlXColorPicker.prototype.setPosition = function(x,y) { - var pos = null, - cx = parseInt(x), cy = parseInt(y); - if (isNaN(cx)) { - pos = (x.toLowerCase() == "left")? "left": (x.toLowerCase() == "bottom")? "bottom": null; - } - - if (this.base._dhx_remove) { - if (pos == null) { - - } else { - this.conf.position = pos; - this._refreshPosition(pos); - } - - } else { - if (isNaN(cx) || isNaN(cy)) { - - } else { - this._globalNode.style.left = cx + "px"; - this._globalNode.style.top = cy + "px"; - - if (this._controllerNodes.fr_cover) { - this._controllerNodes.fr_cover.style.left = this._globalNode.style.left; - this._controllerNodes.fr_cover.style.top = this._globalNode.style.top; - } - } - } -}; - -dhtmlXColorPicker.prototype._initListenerInput = function() { - var that = this; - this._inputListenerId = this._inputListenerId || setInterval(function() { - that._refreshValueByInput(); - },70); -}; - -dhtmlXColorPicker.prototype._removeListenerInput = function() { - if (this._inputListenerId) { - clearInterval(this._inputListenerId); - this._inputListenerId = null; - } -}; - -dhtmlXColorPicker.prototype._refreshValueByInput = function() { - var value = this.activeNode.valueCont.value, - oldValue = this.getSelectedColor()[0]; - - if (this._inputListenerId) { - if (/^#[\da-f]{6}$/i.test(value) && value != oldValue) { - this.setColor(value); - this.callEvent("onSelect",[value, this.activeNode.node]); - } - } -}; - -dhtmlXColorPicker.prototype._refreshPosition = function(position) { - if (this.activeNode == null) return; - - var topInp = dhx4.absTop(this.activeNode.node), leftInp = dhx4.absLeft(this.activeNode.node), - sizeWindow = dhx4.screenDim(), heigthCP = this._globalNode.offsetHeight, - top = 0; - position = position || this.conf.position; - - switch (position) { - case "bottom": - this._globalNode.style.top = topInp+this.activeNode.node.offsetHeight+ this.conf.indent +"px"; - this._globalNode.style.left = leftInp + "px"; - break; - default: - this._globalNode.style.left = leftInp + this.activeNode.node.offsetWidth + this.conf.indent +"px"; - top = topInp; - - if (sizeWindow.bottom - (top + heigthCP) <= 0) { - top = sizeWindow.bottom - (heigthCP + this.conf.indent); - } - - if (top - sizeWindow.top < 0) { - top = sizeWindow.top + this.conf.indent; - } - this._globalNode.style.top = top+"px"; - } - - if (this._controllerNodes.fr_cover) { - this._controllerNodes.fr_cover.style.left = this._globalNode.style.left; - this._controllerNodes.fr_cover.style.top = this._globalNode.style.top; - } -}; - -dhtmlXColorPicker.prototype.isVisible = function() { - var answer = false; - if (this.base._dhx_remove) { - answer = this.base.parentNode == document.body; - } else { - answer = this._globalNode.parentNode == this.base; - } - - return answer; -}; - -dhtmlXColorPicker.prototype.hide = function() { - if (this.base._dhx_remove) { - if (this.base.parentNode) { - this.base.parentNode.removeChild(this.base); - dhx4.zim.clear(this.conf.cp_id); - if (typeof(window.addEventListener) == "function") { - document.body.removeEventListener("mousedown", this._doOnClickByBody, false); - } else { - document.body.detachEvent("onmousedown", this._doOnClickByBody); - } - } - } else { - if (this.isVisible() == false) return; - this.base.removeChild(this._globalNode); - } - - if (this._controllerNodes.fr_cover && this._controllerNodes.fr_cover.parentNode) { - this._controllerNodes.fr_cover.parentNode.removeChild(this._controllerNodes.fr_cover); - } - - if (this.callEvent != undefined) { - this.callEvent("onHide",[((this.activeNode)? this.activeNode.node: null) ]); - } -}; - -dhtmlXColorPicker.prototype.configColorArea = { - minX: 1, - maxX: 209, - minY: 1, - maxY: 119 -}; - -dhtmlXColorPicker.prototype._skinCollection = { - dhx_skyblue: true, - dhx_web: true, - dhx_terrace: true -}; - -dhtmlXColorPicker.prototype.i18n = { - en: { - labelHue : "Hue", - labelSat : "Sat", - labelLum : "Lum", - labelRed : "Red", - labelGreen : "Green", - labelBlue : "Blue", - btnAddColor: "Save the color", - btnSelect : "Select", - btnCancel : "Cancel" - } -}; - -dhtmlXColorPicker.prototype.loadUserLanguage = function(ln) { - // deprecated - if (typeof(this._mergeLangModules) == "function") { - this._mergeLangModules(); - } - // - - this.conf.lang = ln; - this._refreshLanguage(); -}; - -dhtmlXColorPicker.prototype._refreshLanguage = function() { - var key, hash= this.i18n[this.conf.lang]; - for (key in hash) { - if (this._labelNodes[key]) { - this._labelNodes[key].innerHTML = hash[key]; - } - } -}; - -dhtmlXColorPicker.prototype._setColorAreaXY = function(x,y) { - var config = this.configColorArea; - - x = parseInt(x); - if (config.minX > x) { - this.conf.x = config.minX; - } else if (x > config.maxX) { - this.conf.x = config.maxX; - } else if (!isNaN(x)) { - this.conf.x = x; - } - - y = parseInt(y); - if (config.minY > y) { - this.conf.y = config.minY; - } else if (y > config.maxY) { - this.conf.y = config.maxY; - } else if (!isNaN(y)) { - this.conf.y = y; - } - - this._refreshLines(); -}; - -dhtmlXColorPicker.prototype._setColorByXYC = function(notRefreshC) { - notRefreshC = notRefreshC || false; - - this.value.hue = Math.round((359*(this.conf.x - this.configColorArea.minX)) / (this.configColorArea.maxX - this.configColorArea.minX)); - this.value.lum = Math.round(100 - (100*(this.conf.y - this.configColorArea.minY)) / (this.configColorArea.maxY - this.configColorArea.minY)); - this.value.sat = Math.round(100 - (100*(this.conf.c - this.configColorArea.minY)) / (this.configColorArea.maxY - this.configColorArea.minY)); - - var rgb = this.colorAIP.hsl2rgb(this.value.hue, this.value.sat/100, this.value.lum/100); - - this.value.red = Math.round(255*rgb.r); - this.value.green = Math.round(255*rgb.g); - this.value.blue = Math.round(255*rgb.b); - - if (!notRefreshC) { - this._refreshContrast(); - } - - this._refreshInputValues(); - this._refreshColorValue(); -}; - -dhtmlXColorPicker.prototype._setContrastY = function(y) { - var config = this.configColorArea; - - y = parseInt(y); - if (!isNaN(y)) { - this.conf.c = Math.min(Math.max(config.minY, y), config.maxY); - } - - this._refreshContrastLine(); -}; - -dhtmlXColorPicker.prototype._refreshInputValues = function() { - this._controllerNodes.hue.value = this.value.hue; - this._controllerNodes.sat.value = this.value.sat; - this._controllerNodes.lum.value = this.value.lum; - - this._controllerNodes.red.value = this.value.red; - this._controllerNodes.green.value = this.value.green; - this._controllerNodes.blue.value = this.value.blue; -}; - -dhtmlXColorPicker.prototype._refreshColorValue = function() { - this._controllerNodes.color.style.backgroundColor = "rgb("+[this.value.red, this.value.green, this.value.blue].join(", ")+")"; - - var hex = this.colorAIP.rgb2hex({ - r: this.value.red, - g: this.value.green, - b: this.value.blue - }); - - this._controllerNodes.hsv.value = hex; - this.callEvent("onChange",[hex]); -}; - -dhtmlXColorPicker.prototype._refreshContrast = function() { - var rgb_top = this.colorAIP.hsl2rgb(this.value.hue, 0, this.value.lum/100); - var rgb_bot = this.colorAIP.hsl2rgb(this.value.hue, 1, this.value.lum/100); - - var ieV = this._checkIeVersion(); - if (ieV && ieV<=8) { - var ie_gradient = this._controllerNodes.contrastArea.firstChild; - if (ie_gradient == this._controllerNodes.contrast_line) { - ie_gradient = document.createElement("div"); - ie_gradient.className += "dhxcp_ie_gradient"; - this._controllerNodes.contrastArea.appendChild(ie_gradient); - this._controllerNodes.contrastArea.appendChild(this._controllerNodes.contrast_line); - } - var hex_bot = this.colorAIP.rgb2hex({r: Math.round(255*rgb_top.r) ,g: Math.round(255*rgb_top.g) ,b: Math.round(255*rgb_top.b)}); - var hex_top = this.colorAIP.rgb2hex({r: Math.round(255*rgb_bot.r) ,g: Math.round(255*rgb_bot.g) ,b: Math.round(255*rgb_bot.b)}); - ie_gradient.style.filter = "progid:DXImageTransform.Microsoft.gradient(startColorstr='"+hex_top+"', endColorstr='"+hex_bot+"', GradientType=0)"; - } else { - rgb_top = [Math.round(255*rgb_top.r), Math.round(255*rgb_top.g), Math.round(255*rgb_top.b)]; - rgb_bot = [Math.round(255*rgb_bot.r), Math.round(255*rgb_bot.g), Math.round(255*rgb_bot.b)]; - this._controllerNodes.contrastArea.style.backgroundImage = "linear-gradient(to top, rgb("+rgb_top.join(",")+"), rgb("+rgb_bot.join(",")+"))"; - } -}; - -dhtmlXColorPicker.prototype._refreshLines = function() { - this._controllerNodes.v_line.style.left = this.conf.x+"px"; - this._controllerNodes.h_line.style.top = this.conf.y+"px"; -}; - -dhtmlXColorPicker.prototype._refreshContrastLine = function() { - this._controllerNodes.contrast_line.style.top = this.conf.c+"px"; -}; - -dhtmlXColorPicker.prototype._getOffsetPosition = function(e, node) { - var answer = { - x: NaN, - y: NaN - }, target = e.target || e.srcElement; - if (target == node) { - answer.x = (e.offsetX != undefined)? e.offsetX: e.layerX; - answer.y = (e.offsetY != undefined)? e.offsetY: e.layerY; - } else if (target == this._controllerNodes.v_line) { - answer.y = (e.offsetY != undefined)? e.offsetY: e.layerY; - } else { - answer.x = (e.offsetX != undefined)? e.offsetX: e.layerX; - } - - return answer; -}; - -dhtmlXColorPicker.prototype.colorAIP = { - hex2rgb: function(str) { - var data = str.match(/^(#)([\da-f]{2})([\da-f]{2})([\da-f]{2})$/i); - if (data != null) { - return { - r: parseInt("0x"+data[2]), - g: parseInt("0x"+data[3]), - b: parseInt("0x"+data[4]) - }; - } else { - return null; - } - }, - // data {r:.., g:.., b:..} - rgb2hex: function(data) { - var r = parseInt(data.r), g = parseInt(data.g), b = parseInt(data.b); - r = r||0, g = g||0, b = b||0; - return "#"+((r)? ((r<16)? "0"+r.toString(16):r.toString(16)): "00") +((g)? ((g<16)? "0"+g.toString(16):g.toString(16)): "00") +((b)? ((b<16)? "0"+b.toString(16):b.toString(16)): "00"); - }, - - // {float} r [0..1], g [0..1], b [0..1], returns {object} hsl - rgb2hsl: function(r,g,b) { - var H, S, L; - var max = Math.max(r,g,b), min = Math.min(r,g,b); - - //** L ** - L = 0.5*(max + min); - - //** H ** - if (max == min) H = 0; - else if (max == r) { - H = 60*(g - b)/(max-min); - if (g < b) H += 360; - } else if (max == g) H = 60*(b - r)/(max - min) + 120; - else H = 60*(r-g)/(max - min) + 240; - - //** S ** - if (L == 0 || max == min) S = 0; - else if (L <= 0.5) S = 0.5*(max - min)/L; - else S = 0.5*(max - min)/(1 - L); - - return { - h: H, - s: S, - l: L - }; - }, - - // {int} H [0..359], {float} S [0..1], L [0..1] returns {object} rgb [0..1] - hsl2rgb: function(H,S,L) { - var Q,P,_H; - var T = [], RGB = []; - - // ** Q ** - if (L <= 0.5) Q = L*(1+S); - else Q = L + S - (L*S); - - //** P ** - P = 2*L - Q; - - //** H *** - _H = H/360; - - T.push(_H + 1/3); - T.push(_H); - T.push(_H - 1/3); - - for (var i = 0; i<3; i++) { - if (T[i]<0) T[i] += 1; - else if (T[i]>1) T[i] -= 1; - - if (T[i] < 1/6) RGB.push(P + (Q - P)*6*T[i]); - else if (T[i] < 0.5) RGB.push(Q); - else if (T[i] < 2/3) RGB.push(P + (Q - P)*(2/3 - T[i])*6); - else RGB.push(P); - } - - return { - r: RGB[0], - g: RGB[1], - b: RGB[2] - }; - } -}; - -dhtmlXColorPicker.prototype._checkIeVersion = function() { - var answer; - var str = navigator.userAgent.match(/(MSIE)\s(\d\.\d)/i); - answer = (str && str[2])? parseInt(str[2]): null; - return answer; -}; - -dhtmlXColorPicker.prototype.setCustomColors = function() { - if (this.memory == null) { - this.initMemoryColors(); - this.conf.customColors = true; - } - - var i, l, value,colors, - q,w; - l = arguments.length; - for (i=0; i=0; i--) { - if (arr[i] == el) { - answer = i; - break; - } - } - - return answer; -}; - -dhtmlXColorPicker.prototype.destructMemory = function() { - if (this.memory == null) { - return; - } - this.hideMemory(); - - var button = this._controllerNodes.memory_block.childNodes[0].firstChild; - this._labelNodes.btnAddColor = null; - if (typeof(window.addEventListener) == "function") { - button.removeEventListener("click", this.saveColor, false); - } else { - button.detachEvent("onclick", this.saveColor); - } - - this.memory.remove(); - - this._controllerNodes.memory_block.innerHTML = ""; - this.memory = null; -}; - -dhtmlXColorPicker.prototype.Memory = function(base) { - var that = this, selected = null, - dfValue = { - red: 255, - blue: 255, - green: 255, - hue: 0, - sat: 0, - lum: 100 - }; - - this.select = function() { - var target = (this != window)? this: event.srcElement; - var contr = contr || target.dhxpc_memory; - - if (selected != null) { - that.unSelect(); - } - selected = contr; - contr.domElement.className += " dhxcp_memory_el_select"; - - if (typeof(that.onSelect) == "function") { - that.onSelect(contr); - } - }; - - this.onSelect = null; - this.onSave = null; - - this._createMemoryController = function (el) { - var data = { - domElement: el, - value: dhx4._copyObj(dfValue) - }; - - el.dhxpc_memory = data; - - if (typeof(window.addEventListener) == "function") { - el.addEventListener("click", that.select, false); - } else { - el.attachEvent("onclick", that.select); - } - - return data; - }; - - this._findMemoryControllers = function (base) { - var divs = base.getElementsByTagName("a"),i,l, - answer = []; - l = divs.length; - for (i=0; i"+ - ""+ // value - ""+ // new_value - "
              "+ - (this.conf.combo_image?"
              "+this.modes[this.conf.opts_type].getTopImage(null, this.conf.enabled)+"
              ":""); - this.cont.appendChild(this.base); - - this.list = document.createElement("DIV"); - //this.list.className = "dhxcombolist_"+this.conf.skin; - this.list.style.display = "none"; - document.body.insertBefore(this.list, document.body.firstChild); - - // apply skin - this.setSkin(skin||window.dhx4.skin||(typeof(dhtmlx)!="undefined"?dhtmlx.skin:null)||window.dhx4.skinDetect("dhxcombo")||"dhx_skyblue"); - - this._updateTopImage = function(id) { - - if (!this.conf.combo_image) return; - - if (id != null) { - this.base.lastChild.innerHTML = this.t[id].obj.getTopImage(this.t[id].item, this.conf.enabled); - } else { - this.base.lastChild.innerHTML = this.modes[this.conf.opts_type].getTopImage(null, this.conf.enabled); - } - - } - - /* filtering */ - - this._filterOpts = function(hiddenMode) { - - if (this.conf.f_server_tm) window.clearTimeout(this.conf.f_server_tm); - - var k = String(this.base.firstChild.value).replace(new RegExp(this.conf.f_ac_text+"$","i"),""); - - if (this.conf.f_server_last == k.toLowerCase()) { - this._checkForMatch(); - return; - } - - // check if user-filter specified - if (this.conf.f_url != null && this.checkEvent("onDynXLS")) { - this.conf.f_server_last = k.toLowerCase(); - this.callEvent("onDynXLS", [k]); - return; - } - - if (this.conf.f_url != null) { - // server - if (k.length == 0) { - this.conf.f_server_last = k.toLowerCase(); - this.clearAll(); - return; - } - // check cache - if (this.conf.f_cache == true && this.conf.f_cache_data[k] != null) { - // load from cache - this.clearAll(); - this.conf.f_server_last = k.toLowerCase(); - for (var q=0; q=0?"&":"?")+params, callBack); - } - },200); - } - } else { - // client - this.conf.f_server_last = k.toLowerCase(); - - var r = (k.length==0?true:new RegExp((this.conf.f_mode=="start"?"^":"")+k,"i")); - - var acText = null; - - for (var a in this.t) { - var text = this.t[a].obj.getText(this.t[a].item, true); - if (r===true || r.test(text) == true) { - this.t[a].item.style.display = ""; - if (acText == null && k.length > 0) acText = String(this.t[a].obj.getText(this.t[a].item, true));//.replace(new RegExp("^"+k,"i"),""); - } else { - this.t[a].item.style.display = "none"; - } - } - - if (this.conf.f_ac && this.conf.f_mode == "start" && this.conf.clear_bsp == false && acText != null) { - this.conf.f_ac_text = acText.replace(new RegExp("^"+k,"i"),""); - this.base.firstChild.value = acText; - this._selectRange(this.conf.f_server_last.length, this.base.firstChild.value.length); - } - - // if any text selected and backspace pressed - clear highlight - // usefull for "between" mode - if (this.conf.f_mode == "between" && this.conf.clear_bsp == true) { - this._checkForMatch(true); - } - - if (hiddenMode !== true) { - this._showList(true); - this._checkForMatch(); - } - } - } - - // data loading - this._initObj = function(data) { - if (typeof(data.template) != "undefined") this.setTemplate(data.template); - this.addOption(data.options); - } - - this._xmlToObj = function(data, selectToObj) { - - /* - xml format: - - - - - - img_src - also add the 4th parameter to combobox constructor - "image" - checked - checkbox state, for combo with "checkbox" type, 0 by default - */ - - var t = {options:[]}; - - var root = (selectToObj==true?data:data.getElementsByTagName("complete")); - - if (root.length > 0) { - var nodes = root[0].childNodes; - for (var q=0; q hide list if any - this._doOnBodyMouseDown = function() { - if (that.conf.clear_click) { - that.conf.clear_click = false; - return; - } - that._confirmSelect("blur"); - } - - // input focus/blur - this._doOnInputFocus = function() { - that.conf.clear_blur = false; - // if forus back to input - cancel confirm (occured when user clicked on arrow while list opened) - if (that.conf.tm_confirm_blur) window.clearTimeout(that.conf.tm_confirm_blur); - // ev - if (that.conf.combo_focus == false) { - that.conf.combo_focus = true; - that.callEvent("onFocus",[]); - } - } - this._doOnInputBlur = function() { - if (that.conf.clear_blur == true) { - that.conf.clear_blur = false; - return; - } - // start confirm tm - if (that.conf.tm_confirm_blur) window.clearTimeout(that.conf.tm_confirm_blur); - that.conf.tm_confirm_blur = window.setTimeout(function(){ - if (that.conf.clear_click == false) { - // if (that._isListVisible()) that._hideList(); - that._confirmSelect("blur"); - that.conf.combo_focus = false; - that.callEvent("onBlur",[]); - } - },20); - } - - // input events, typing/filtering - this._doOnInputKeyUp = function(e) { - - e = e||event; - - if (that.conf.f_mode != false) { - that.conf.clear_bsp = (e.keyCode==8||e.keyCode==46); // backspace(8) and delete(46) - that._filterOpts(); - return; - } else { - that._checkForMatch(); - } - } - - this._doOnInputKeyDown = function(e) { - - e = e||event; - - // console.log("onkeypress ", e.keyCode, " ", e.charCode) - - // up (38) /down (40) - if ((e.keyCode == 38 || e.keyCode == 40) && !e.ctrlKey && !e.shiftKey && !e.altKey) { - if (e.preventDefault) e.preventDefault(); else e.returnValue = false; - e.cancelBubble = true; - that._keyOnUpDown(e.keyCode==38?-1:1); - } - - // F2 - if (e.keyCode == 113) { - if (!that._isListVisible()) { - that._showList(); - if (that.base.firstChild.value == that.conf.last_text) { - that._setSelected(that.conf.last_selected, true, true); - that.base.firstChild.value = that.conf.last_text; - that.conf.f_server_last = that.base.firstChild.value.toLowerCase(); - } else { - that.conf.f_server_last = that.base.firstChild.value.toLowerCase(); - if (that.conf.f_mode == false) that._checkForMatch(); - } - } else { - - } - } - - // esc - if (e.keyCode == 27) { - // cancel operation, restore last value - if (e.preventDefault) e.preventDefault(); else e.returnValue = false; - e.cancelBubble = true; - that._cancelSelect(); - } - - // enter - if (e.keyCode == 13) { - if (e.preventDefault) e.preventDefault(); // if combo attached to form - that._confirmSelect("kbd"); - } - - that.conf.clear_key = true; - that.callEvent("onKeyPressed",[e.keyCode||e.charCode]); - } - - this._doOnInputKeyPress = function(e) { - if (that.conf.clear_key) { - that.conf.clear_key = false; - return; - } - e = e||event; - that.callEvent("onKeyPressed",[e.keyCode||e.charCode]); - } - - this._keyOnUpDown = function(dir) { - - // select(just hover) next/prev item in a list - - var item = null; - if (this.conf.last_hover) { - item = this.t[this.conf.last_hover].item; - } else if (this.conf.last_selected) { - item = this.t[this.conf.last_selected].item; - } - - if (!item && this._getListVisibleCount() == 0) return; - if (item != null && item.style.display != "") item = null; - - this._showList(); - - if (item != null) { - // check if item highlighted - if (this.t[item._optId].obj.isSelected(item)) item = this._getNearItem(item, dir); - } else { - item = this.list.firstChild; - if (item.style.display != "") item = this._getNearItem(item, 1); - } - - if (item == null) return; // first/last - - this._setSelected(item._optId, true, true); - - if (this.conf.f_mode == false) { - this.base.firstChild.value = this.t[item._optId].obj.getText(item, true); - } else { - var text = String(this.t[item._optId].obj.getText(item, true)); - if (this.conf.f_mode == "start" && this.conf.f_ac == true) { - if (text.toLowerCase().indexOf(this.conf.f_server_last) === 0) { - // try to find match and select part of text - this.conf.f_ac_text = text.substring(this.conf.f_server_last.length, text.length); - this.base.firstChild.value = text; - this._selectRange(this.conf.f_server_last.length, this.base.firstChild.value.length); - } else { - // insert all text and select - this.base.firstChild.value = text; - this.conf.f_server_last = this.base.firstChild.value.toLowerCase(); - this._selectRange(0, this.base.firstChild.value.length); - } - } else { - // just insert text into main input - this.base.firstChild.value = text; - this.conf.f_server_last = this.base.firstChild.value.toLowerCase(); - } - } - - // - item = null; - } - - this.conf.evs_nodes = [ - {node: document.body, evs: {mousedown: "_doOnBodyMouseDown"}}, - {node: this.base, evs: {mousedown: "_doOnBaseMouseDown"}}, - {node: this.base.firstChild, evs: {keyup: "_doOnInputKeyUp", keydown: "_doOnInputKeyDown", keypress: "_doOnInputKeyPress", focus: "_doOnInputFocus", blur: "_doOnInputBlur"}}, - {node: this.list, evs: {mousemove: "_doOnListMouseMove", mousedown: "_doOnListMouseDown", mouseup: "_doOnListMouseUp", mouseout: "_doOnListMouseOut"}} - ]; - for (var q=0; q - - if (typeof(selectId) == "string") selectId = document.getElementById(selectId); - - // collect params - var comboWidth = selectId.offsetWidth; - var formName = selectId.getAttribute("name")||null; - - // add node - var comboNode = document.createElement("SPAN"); - selectId.parentNode.insertBefore(comboNode, selectId); - - // combo mode - var comboMode = selectId.getAttribute("mode")||selectId.getAttribute("opt_type")||"option"; - - // init combo - var combo = new dhtmlXCombo(comboNode, formName, comboWidth, comboMode); - comboNode = null; - - var imagePath = selectId.getAttribute("imagePath"); - if (imagePath) combo.setImagePath(imagePath); - - var defImg = selectId.getAttribute("defaultImage"); - var defImgDis = selectId.getAttribute("defaultImageDis"); - if (window.dhx4.s2b(defImgDis) == true) defImgDis = true; - if (defImg != null || defImgDis != null) combo.setDefaultImage(defImg, defImgDis); - - // options - var opts = combo._xmlToObj([selectId], true); - if (opts.options.length > 0) combo.addOption(opts.options); - opts = null; - - // remove select - selectId.parentNode.removeChild(selectId); - selectId = null; - - return combo; -}; - -/* common funcs */ -dhtmlXCombo.prototype.setName = function(name) { // change name for form - this.conf.form_name = name; - this.base.childNodes[1].name = name; - this.base.childNodes[2].name = name+"_new_value"; -}; - -dhtmlXCombo.prototype.readonly = function(mode) { // enable/disable readonly mode - if (window.dhx4.s2b(mode)) { - this.base.firstChild.setAttribute("readOnly", "true"); - } else { - this.base.firstChild.removeAttribute("readOnly"); - } -}; - -dhtmlXCombo.prototype.setPlaceholder = function(text) { // new in 4.0, limited support - if (typeof(text) == "undefined" || text == null) text = ""; - this.base.firstChild.setAttribute("placeholder", String(text)); -}; - -dhtmlXCombo.prototype.setTemplate = function(tpl) { - for (var a in tpl) { - if (typeof(this.conf.template[a]) != "undefined") this.conf.template[a] = String(tpl[a]); - }; - // template changed, update combo text and update rendered options - for (var a in this.t) { - this.t[a].obj.setText(this.t[a].item, this.t[a].item._conf.text); - }; - this._confirmSelect(); -}; - -dhtmlXCombo.prototype.setSkin = function(skin) { - if (skin == this.conf.skin) return; - this.conf.skin = skin; - this.base.className = "dhxcombo_"+this.conf.skin+(this.conf.enabled?"":" dhxcombo_disabled"); - this.list.className = "dhxcombolist_"+this.conf.skin; -}; - -dhtmlXCombo.prototype.getInput = function() { // returns input, new in 4.0 - return this.base.firstChild; -}; -dhtmlXCombo.prototype.getButton = function() { // returns button, new in 4.0 - return this.base.childNodes[this.base.childNodes.length-(this.conf.combo_image?2:1)]; -}; -dhtmlXCombo.prototype.getList = function() { // do we need it? - return this.list; -}; -dhtmlXCombo.prototype.getBase = function() { // do we need it? - return this.base; -}; - -dhtmlXCombo.prototype.getParent = function() { // do we need it? - return this.DOMParent; -}; - -dhtmlXCombo.prototype.forEachOption = function(handler) { // iterator, new in 4.0 - for (var q=0; q= this.list.childNodes.length) return; - var id = this.list.childNodes[index]._optId; - this._setSelected(id, this._isListVisible(), true); - this._confirmSelect("script"); -}; - -dhtmlXCombo.prototype.unSelectOption = function() { - // unselects option -}; - -dhtmlXCombo.prototype.confirmValue = function() { - this._confirmSelect("script"); -}; - -/* enable/disable */ -dhtmlXCombo.prototype.enable = function(mode) { - - mode = (typeof(mode)=="undefined"?true:window.dhx4.s2b(mode)); - if (this.conf.enabled == mode) return; - - this.conf.enabled = mode; - - if (mode) { - this.base.className = "dhxcombo_"+this.conf.skin; - this.base.firstChild.removeAttribute("disabled"); - } else { - this._hideList(); - this.base.className = "dhxcombo_"+this.conf.skin+" dhxcombo_disabled"; - this.base.firstChild.setAttribute("disabled","true"); - } - - // update disabled image if any - this._updateTopImage(this.conf.last_selected); -}; - -dhtmlXCombo.prototype.disable = function(mode) { - mode = (typeof(mode)=="undefined"?true:window.dhx4.s2b(mode)); - this.enable(!mode); -}; - -dhtmlXCombo.prototype.isEnabled = function() { - return (this.conf.enabled==true); -}; - -/* visibility */ -dhtmlXCombo.prototype.show = function(mode) { - if (typeof(mode) == "undefined") mode = true; else mode = window.dhx4.s2b(mode); - this.base.style.display = (mode==true?"":"none"); -}; - -dhtmlXCombo.prototype.hide = function(mode) { - if (typeof(mode) == "undefined") mode = true; - this.show(!mode); -}; - -dhtmlXCombo.prototype.isVisible = function() { - return (this.base.style.display==""); -}; - - -/* filtering */ -dhtmlXCombo.prototype.enableFilteringMode = function(mode, url, cache, dyn) { - if (mode == true || mode == "between") { - this.conf.f_mode = (mode==true?"start":"between"); - if (url != null) { - this.conf.f_url = url; - this.conf.f_cache = window.dhx4.s2b(cache); - this.conf.f_dyn = window.dhx4.s2b(dyn); - } else { - this.conf.f_url = null; - this.conf.f_cache = false; - this.conf.f_dyn = false; - } - } else { - this.conf.f_mode = false; - this.conf.f_url = null; - this.conf.f_cache = false; - this.conf.f_dyn = false; - } -}; - -dhtmlXCombo.prototype.filter = function(handler) { // new in 4.0 - for (var q=0; qb?r:-1*r); - }); - } else if (typeof(mode) == "function" || typeof(window[mode]) == "function") { - if (typeof(window[mode]) == "function") mode = window[mode]; - r.sort(function(a,b){ - return mode.apply(window, [a[1],b[1]]); - }); - } - // reorder - while (this.list.childNodes.length > 0) this.list.removeChild(this.list.lastChild); - for (var q=0; q onBottom) onBottom = null; - - var itemsToShow = Math.min((onBottom==null?onTop:onBottom), this.conf.opts_count, itemsCount); - var h = (itemsToShow a2) { - // on bottom - this.list.scrollTop = y2-this.list.clientHeight; - } - -}; - -/* in-list selection/highlighting */ -dhtmlXCombo.prototype._setSelected = function(id, scrollToItem, updateImg) { - - if (updateImg) this._updateTopImage(id); - - if (id != null && this.conf.last_hover == id) { - if (scrollToItem) this._scrollToItem(id); - return; - } - - if (this.conf.last_hover != null) { - this.t[this.conf.last_hover].obj.setSelected(this.t[this.conf.last_hover].item, false); - this.conf.last_hover = null; - if (id == null) this.callEvent("onSelectionChange", []); - } - - if (id != null) { - - this.t[id].obj.setSelected(this.t[id].item, true); - this.conf.last_hover = id; - - this.callEvent("onSelectionChange", []); - - // last item selected, load mode options - if (this.t[id].item == this.t[id].item.parentNode.lastChild && this.conf.f_url != null && this.conf.f_dyn == true && !this.conf.f_dyn_end) { - - var params = "mask="+encodeURIComponent(this.conf.f_mask)+"&pos="+this.list.childNodes.length; - var t = this; - var callBack = function(r){ - - // cache - if (t.conf.f_cache) t.conf.f_cache_data[t.conf.f_mask].data.push(r.xmlDoc.responseXML); - var k = t.list.childNodes.length; - t.load(r.xmlDoc.responseXML); - // fix list height if any? - - // if no more opts left on server, stop dyn requests - if (k == t.list.childNodes.length) { - t.conf.f_dyn_end = true; - if (t.conf.f_cache) t.conf.f_cache_data[t.conf.f_mask].dyn_end = true; - } - callBack = t = null; - } - if (window.dhx4.ajax.method == "post") { - window.dhx4.ajax.post(this.conf.f_url, params, callBack); - } else if (window.dhx4.ajax.method == "get") { - window.dhx4.ajax.get(this.conf.f_url+(String(this.conf.f_url).indexOf("?")>=0?"&":"?")+params, callBack); - } - } - - if (scrollToItem) this._scrollToItem(id); - - } - -}; - -/* add / remove options */ -dhtmlXCombo.prototype.addOption = function(value, text, css, img, selected) { - - // selected added in 4.0 - - /* - - single option, 4 params - z.addOption(value, text, css, img_src); - value, text, css (css string attached to the option, optional), img_src (path to the option icon image, just for "image" combo type) - - several options, array of array (in this case you can't use 4th parameter img_src - improve?) - z.addOption([["a","option A", "color:red;"],[],[],...]); - - several options, as an array of objects (you can use 4 parameters) - z.addOption([{value: "a", text: "option A", img_src: "../images/blue.gif", css:"color:red;"},{},{}...]); - - */ - - var toSelect = null; - - if (!(value instanceof Array)) { - // single option - var id = this._renderOption({value:value, text:text, css:css, img:img}); - if (toSelect == null && window.dhx4.s2b(selected) == true) toSelect = id; - - } else { - // array with opts - for (var q=0; q= 0 && index < this.list.childNodes.length ? this.list.childNodes[index]._optId : null); - if (id == null) return null; // opt no found - if (typeof(this.t[id].obj[method]) != "function") return null; // function not found - - // generate params - var params = [this.t[id].item]; - for (var q=2; q 
              "; - - if (data.css != null) { - item.lastChild.style.cssText = data.css; - item._conf.css = data.css; - } - - this.setText(item, data.text); - - return this; - }, - - destruct: function(item) { - item._conf = null; - }, - - update: function(item, data) { - item._conf.value = data.value; - item._conf.css = data.css; - item.lastChild.style.cssText = data.css; - this.setText(item, data.text); - }, - - setText: function(item, text) { - item._conf.text = text; - var t = (typeof(text) == "object" ? window.dhx4.template(item._tpl.option, item._conf.text, true) : window.dhx4.trim(item._conf.text||"")); - item.lastChild.innerHTML = (t.length==0?" ":t); - }, - - getText: function(item, asStringInput, asStringOption) { - if (window.dhx4.s2b(asStringInput) && typeof(item._conf.text) == "object") return window.dhx4.template(item._tpl.input, item._conf.text, true); - if (window.dhx4.s2b(asStringOption) && typeof(item._conf.text) == "object") return window.dhx4.template(item._tpl.option, item._conf.text, true); - return item._conf.text; - }, - - getValue: function(item) { - return item._conf.value; - }, - - getCss: function(item) { - return item._conf.css; - }, - - setSelected: function(item, state) { - item.className = "dhxcombo_option"+(state?" dhxcombo_option_selected":""); - }, - - isSelected: function(item) { - return String(item.className).indexOf("dhxcombo_option_selected") >= 0; - }, - - getExtraData: function(item) { - // optional function, - // adds extra data to option object returned by getOption() - return {type: "option"}; - } - -}; - -/****************************************************************************************************************************************************************************************************************/ - -dhtmlXCombo.prototype.modes.checkbox = { - - image: true, - - image_css: "dhxcombo_checkbox dhxcombo_chbx_#state#", - option_css: "dhxcombo_option_text dhxcombo_option_text_chbx", - - render: function(item, data) { - - item._conf = {value: data.value, css: "", checked: window.dhx4.s2b(data.checked)}; - - item.className = "dhxcombo_option"; - item.innerHTML = "
              "+ - "
               
              "; - - item.firstChild._optChbxId = item._optId; // mark checkbox - - if (data.css != null) { - item.lastChild.style.cssText += data.css; - item._conf.css = data.css; - } - - this.setText(item, data.text); - - return this; - }, - - setChecked: function(item, state) { - item._conf.checked = window.dhx4.s2b(state); - item.firstChild.className = String(this.image_css).replace("#state#",(item._conf.checked?"1":"0")); - }, - - isChecked: function(item) { - return (item._conf.checked==true); - }, - - getExtraData: function(item) { - return {type: "checkbox", checked: item._conf.checked}; - }, - - optionClick: function(item, ev, combo) { - // called when option clicked, return true allows selection+confirm, return false - not - var r = true; - var t = (ev.target||ev.srcElement); - while (r == true && t != null && t != item) { - if (t._optChbxId != null) { - if (combo.callEvent("onCheck", [item._conf.value,!item._conf.checked]) === true) { - this.setChecked(item, !this.isChecked(item)); - }; - r = false; - } else { - t = t.parentNode; - } - } - t = combo = item = null; - return r; - }, - - getTopImage: function(item, enabled) { - // returns html for top image - // if item not specified - default image - // enabled specify if combo enabled - return ""; - }, - - topImageClick: function(item, combo) { - // called when user clicked on top-image, - // return true/false to allow defailt action (open/close list) ot not - // for checkbox - perform default action - return true; - } - -}; - -dhtmlXComboExtend("checkbox", "option"); - -dhtmlXCombo.prototype.setChecked = function(index, mode) { - this.doWithItem(index, "setChecked", mode); -}; - -dhtmlXCombo.prototype.getChecked = function(index, mode) { - // return checked values - var t = []; - for (var q=0; q
              "+ - "
               
              "; - - if (data.css != null) { - item.lastChild.style.cssText += data.css; - item._conf.css = data.css; - } - - this.setText(item, data.text); - this.setImage(item, data.img, data.img_dis, data.img_path, data.img_def, data.img_def_dis); - - return this; - }, - - update: function(item, data) { - item._conf.value = data.value; - item._conf.css = data.css; - item.lastChild.style.cssText = data.css; - this.setText(item, data.text); - this.setImage(item, data.img, data.img_dis, data.img_path, data.img_def, data.img_def_dis); - }, - - setImage: function(item, img, img_dis, path, def, def_dis) { - - // image - if (img != null && img.length > 0) { - img = path+img; - } else if (def != null && def.length > 0) { - img = path+def; - } else { - img = null; - } - - // image - if (img_dis != null && img_dis.length > 0) { - img_dis = path+img_dis; - } else if (def_dis != null && def_dis.length > 0) { - img_dis = path+def_dis; - } else if (def_dis == true) { - img_dis = img; - } else { - img_dis = null; - } - - item._conf.img = img; - item._conf.img_dis = img_dis; - - item.firstChild.style.backgroundImage = (img!=null?"url("+img+")":"none"); - }, - - getExtraData: function(item) { - return {type: "image"}; - }, - - getTopImage: function(item, enabled) { - // returns html for top image - // if item not specified - default image - var a = (enabled?"img":"img_dis"); - if (item != null && item._conf[a] != null) return "
              "; - return ""; - } - -}; - -dhtmlXComboExtend("image", "option"); - -dhtmlXCombo.prototype.setDefaultImage = function(img, imgDis) { - // sets default image - // set imgDis to tru to use the same image as for enabled combo, default - if (img != null) this.conf.img_def = img; - if (imgDis != null) this.conf.img_def_dis = imgDis; -}; -dhtmlXCombo.prototype.setImagePath = function(path) { - this.conf.img_path = path; -}; diff --git a/themes/sources4.0/dhtmlxCombo/codebase/dhtmlxcombo_deprecated.js b/themes/sources4.0/dhtmlxCombo/codebase/dhtmlxcombo_deprecated.js deleted file mode 100644 index 74e320f..0000000 --- a/themes/sources4.0/dhtmlxCombo/codebase/dhtmlxcombo_deprecated.js +++ /dev/null @@ -1,43 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* deprecated */ -dhtmlXCombo.prototype.loadXML = function(url, call) { - // loads list of options from XML - this.load(url, call); -}; -dhtmlXCombo.prototype.loadXMLString = function(url) { - // loads list of options from XML string - this.load(url); -}; -dhtmlXCombo.prototype.enableOptionAutoHeight = function() { - // enables or disables list auto height -}; -dhtmlXCombo.prototype.enableOptionAutoPositioning = function() { - // enables or disables options auto positioning -}; -dhtmlXCombo.prototype.enableOptionAutoWidth = function() { - // enables or disables options auto width -}; -dhtmlXCombo.prototype.destructor = function(){ - // destroys object and any related HTML elements - this.unload(); -}; -dhtmlXCombo.prototype.render = function() { - // enables/disables immideatly rendering after changes in combobox - // performance improved -}; -dhtmlXCombo.prototype.setOptionHeight = function() { - // sets height of combo list -}; -dhtmlXCombo.prototype.attachChildCombo = function() { - // no longer used -}; -dhtmlXCombo.prototype.setAutoSubCombo = function() { - // no longer used -}; diff --git a/themes/sources4.0/dhtmlxCombo/codebase/imgs/dhxcombo_material/dhxcombo_arrow_down.gif b/themes/sources4.0/dhtmlxCombo/codebase/imgs/dhxcombo_material/dhxcombo_arrow_down.gif deleted file mode 100644 index a434339..0000000 Binary files a/themes/sources4.0/dhtmlxCombo/codebase/imgs/dhxcombo_material/dhxcombo_arrow_down.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxCombo/codebase/imgs/dhxcombo_material/dhxcombo_arrow_down.svg b/themes/sources4.0/dhtmlxCombo/codebase/imgs/dhxcombo_material/dhxcombo_arrow_down.svg deleted file mode 100644 index 5ef058d..0000000 --- a/themes/sources4.0/dhtmlxCombo/codebase/imgs/dhxcombo_material/dhxcombo_arrow_down.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/themes/sources4.0/dhtmlxCombo/codebase/imgs/dhxcombo_material/dhxcombo_arrow_down_dis.gif b/themes/sources4.0/dhtmlxCombo/codebase/imgs/dhxcombo_material/dhxcombo_arrow_down_dis.gif deleted file mode 100644 index 49631ec..0000000 Binary files a/themes/sources4.0/dhtmlxCombo/codebase/imgs/dhxcombo_material/dhxcombo_arrow_down_dis.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxCombo/codebase/imgs/dhxcombo_material/dhxcombo_chbx.gif b/themes/sources4.0/dhtmlxCombo/codebase/imgs/dhxcombo_material/dhxcombo_chbx.gif deleted file mode 100644 index 812ab09..0000000 Binary files a/themes/sources4.0/dhtmlxCombo/codebase/imgs/dhxcombo_material/dhxcombo_chbx.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxCombo/codebase/imgs/dhxcombo_skyblue/dhxcombo_arrow_down.gif b/themes/sources4.0/dhtmlxCombo/codebase/imgs/dhxcombo_skyblue/dhxcombo_arrow_down.gif deleted file mode 100644 index 7fdb358..0000000 Binary files a/themes/sources4.0/dhtmlxCombo/codebase/imgs/dhxcombo_skyblue/dhxcombo_arrow_down.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxCombo/codebase/imgs/dhxcombo_skyblue/dhxcombo_arrow_down_dis.gif b/themes/sources4.0/dhtmlxCombo/codebase/imgs/dhxcombo_skyblue/dhxcombo_arrow_down_dis.gif deleted file mode 100644 index c256a28..0000000 Binary files a/themes/sources4.0/dhtmlxCombo/codebase/imgs/dhxcombo_skyblue/dhxcombo_arrow_down_dis.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxCombo/codebase/imgs/dhxcombo_skyblue/dhxcombo_chbx.gif b/themes/sources4.0/dhtmlxCombo/codebase/imgs/dhxcombo_skyblue/dhxcombo_chbx.gif deleted file mode 100644 index 60d880e..0000000 Binary files a/themes/sources4.0/dhtmlxCombo/codebase/imgs/dhxcombo_skyblue/dhxcombo_chbx.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxCombo/codebase/imgs/dhxcombo_terrace/dhxcombo_arrow_down.gif b/themes/sources4.0/dhtmlxCombo/codebase/imgs/dhxcombo_terrace/dhxcombo_arrow_down.gif deleted file mode 100644 index a434339..0000000 Binary files a/themes/sources4.0/dhtmlxCombo/codebase/imgs/dhxcombo_terrace/dhxcombo_arrow_down.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxCombo/codebase/imgs/dhxcombo_terrace/dhxcombo_arrow_down_dis.gif b/themes/sources4.0/dhtmlxCombo/codebase/imgs/dhxcombo_terrace/dhxcombo_arrow_down_dis.gif deleted file mode 100644 index 49631ec..0000000 Binary files a/themes/sources4.0/dhtmlxCombo/codebase/imgs/dhxcombo_terrace/dhxcombo_arrow_down_dis.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxCombo/codebase/imgs/dhxcombo_terrace/dhxcombo_chbx.gif b/themes/sources4.0/dhtmlxCombo/codebase/imgs/dhxcombo_terrace/dhxcombo_chbx.gif deleted file mode 100644 index 113ae07..0000000 Binary files a/themes/sources4.0/dhtmlxCombo/codebase/imgs/dhxcombo_terrace/dhxcombo_chbx.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxCombo/codebase/imgs/dhxcombo_web/dhxcombo_arrow_down.gif b/themes/sources4.0/dhtmlxCombo/codebase/imgs/dhxcombo_web/dhxcombo_arrow_down.gif deleted file mode 100644 index 72c0a72..0000000 Binary files a/themes/sources4.0/dhtmlxCombo/codebase/imgs/dhxcombo_web/dhxcombo_arrow_down.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxCombo/codebase/imgs/dhxcombo_web/dhxcombo_arrow_down_dis.gif b/themes/sources4.0/dhtmlxCombo/codebase/imgs/dhxcombo_web/dhxcombo_arrow_down_dis.gif deleted file mode 100644 index bf8f65c..0000000 Binary files a/themes/sources4.0/dhtmlxCombo/codebase/imgs/dhxcombo_web/dhxcombo_arrow_down_dis.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxCombo/codebase/imgs/dhxcombo_web/dhxcombo_chbx.gif b/themes/sources4.0/dhtmlxCombo/codebase/imgs/dhxcombo_web/dhxcombo_chbx.gif deleted file mode 100644 index 99e2f9f..0000000 Binary files a/themes/sources4.0/dhtmlxCombo/codebase/imgs/dhxcombo_web/dhxcombo_chbx.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxCombo/codebase/skins/dhtmlxcombo_dhx_skyblue.css b/themes/sources4.0/dhtmlxCombo/codebase/skins/dhtmlxcombo_dhx_skyblue.css deleted file mode 100644 index 4e8e337..0000000 --- a/themes/sources4.0/dhtmlxCombo/codebase/skins/dhtmlxcombo_dhx_skyblue.css +++ /dev/null @@ -1,244 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* skin detected, extra file: skins/dhx_skyblue.less */ - -div.dhxcombo_dhx_skyblue { - position: relative; - border: 1px solid #a4bed4; - overflow: hidden; - vertical-align: middle; - background-color: white; - font-size: 1px; - height: 22px; -} -div.dhxcombo_dhx_skyblue input.dhxcombo_input { - position: relative; - top: 0px; - left: 1px; - height: 22px; - line-height: 21px; - *height: 20px; - *line-height: 19px; - border: 0px solid white; - outline: 0px solid white; - padding: 0px; - margin: 0px 0px 0px 2px; - background-color: white; - font-family: Tahoma; - font-size: 12px; - color: black; - vertical-align: middle; -} -div.dhxcombo_dhx_skyblue div.dhxcombo_select_button { - position: absolute; - width: 18px; - height: 18px; - top: 1px; - right: 1px; - font-size: 1px; - border: 1px solid #a4bed4; - background-color: #e2efff; - background: linear-gradient(#e2efff,#d3e7ff); - filter: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e2efff,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100); - border-radius: 2px; - cursor: pointer; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; - overflow: hidden; -} -div.dhxcombo_dhx_skyblue div.dhxcombo_select_button div.dhxcombo_select_img { - position: relative; - width: 100%; - height: 100%; - background-image: url("../imgs/dhxcombo_skyblue/dhxcombo_arrow_down.gif"); - background-repeat: no-repeat; - background-position: center center; -} -div.dhxcombo_dhx_skyblue div.dhxcombo_top_image { - position: absolute; - left: 0px; - top: 0px; - width: 26px; - height: 22px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; - overflow: hidden; - cursor: default; -} -div.dhxcombolist_dhx_skyblue { - position: absolute; - font-family: Tahoma; - font-size: 12px; - color: black; - border: 1px solid #a4bed4; - box-shadow: 0 2px 3px #ccc; - background-color: #e7f1ff; - border-bottom-left-radius: 2px; - border-bottom-right-radius: 2px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; - overflow-x: none; - overflow-y: auto; - -moz-transition: height 0.15s ease 0s; -} -div.dhxcombolist_dhx_skyblue div.dhxcombo_option { - position: relative; - font-size: inherit; - height: 20px; - line-height: 19px; - border-top: 1px solid #e7f1ff; - border-bottom: 1px solid #e7f1ff; - vertical-align: middle; - overflow: hidden; - cursor: default; -} -div.dhxcombolist_dhx_skyblue div.dhxcombo_option.dhxcombo_option_selected { - background-color: #b5deff !important; - border-top: 1px solid #a1ceed !important; - border-bottom: 1px solid #a1ceed !important; - color: black; -} -div.dhxcombolist_dhx_skyblue div.dhxcombo_option div.dhxcombo_option_text { - position: relative; - padding: 0px 4px; - white-space: nowrap; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; -} -div.dhxcombolist_dhx_skyblue div.dhxcombo_option div.dhxcombo_option_text.dhxcombo_option_text_chbx { - position: relative; - padding: 0px 4px 0px 4px; - margin-left: 20px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; - white-space: nowrap; -} -div.dhxcombolist_dhx_skyblue div.dhxcombo_option div.dhxcombo_checkbox { - position: absolute; - left: 1px; - top: 1px; - width: 20px; - height: 20px; - background-image: url("../imgs/dhxcombo_skyblue/dhxcombo_chbx.gif"); - background-repeat: no-repeat; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; - overflow: hidden; - cursor: default; -} -div.dhxcombolist_dhx_skyblue div.dhxcombo_option div.dhxcombo_checkbox.dhxcombo_chbx_0 { - background-position: 0px 0px; -} -div.dhxcombolist_dhx_skyblue .dhxcombo_option div.dhxcombo_checkbox.dhxcombo_chbx_1 { - background-position: -18px 0px; -} -div.dhxcombolist_dhx_skyblue div.dhxcombo_option div.dhxcombo_option_text.dhxcombo_option_text_image { - position: relative; - padding: 0px 4px 0px 4px; - margin-left: 20px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; - white-space: nowrap; -} -div.dhxcombo_dhx_skyblue div.dhxcombo_top_image div.dhxcombo_image, -div.dhxcombolist_dhx_skyblue div.dhxcombo_option div.dhxcombo_image { - position: absolute; - left: 3px; - top: 1px; - width: 20px; - height: 20px; - background-repeat: no-repeat; - background-position: center center; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; - overflow: hidden; - cursor: default; -} -div.dhxcombo_dhx_skyblue.dhxcombo_disabled { - border: 1px solid #cccccc; - background-color: #fafafa; -} -div.dhxcombo_dhx_skyblue.dhxcombo_disabled input.dhxcombo_input { - color: #b2b2b2; - background-color: #fafafa; -} -div.dhxcombo_dhx_skyblue.dhxcombo_disabled div.dhxcombo_select_button { - border-color: #cccccc; - background-color: #fefefe; - background: linear-gradient(#fefefe,#f4f4f4); - filter: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#fefefe,endColorStr=#f4f4f4) progid:DXImageTransform.Microsoft.Alpha(opacity=100); - cursor: default; -} -div.dhxcombo_dhx_skyblue.dhxcombo_disabled div.dhxcombo_select_button div.dhxcombo_select_img { - background-image: url("../imgs/dhxcombo_skyblue/dhxcombo_arrow_down_dis.gif"); -} -.dhxgrid_combo_icon { - position: absolute; - z-index: 1; - top: 0px; - right: 0px; -} -div.dhxcombo_dhx_skyblue.dhxcombo_in_grid { - border-top: 1px solid white; - border-bottom: 0px solid white; - border-left: 1px solid white; - border-right: 1px solid white; - margin-left: -4px; -} -div.dhxcombo_dhx_skyblue.dhxcombo_in_grid input.dhxcombo_input { - height: 18px; - border-left: 2px solid white; - line-height: 17px; -} -div.dhxcombo_dhx_skyblue.dhxcombo_in_grid div.dhxcombo_select_button { - top: 0px; -} -.dhxcombo_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 10px; - height: 10px; - overflow: hidden; -} diff --git a/themes/sources4.0/dhtmlxCombo/codebase/skins/dhtmlxcombo_dhx_terrace.css b/themes/sources4.0/dhtmlxCombo/codebase/skins/dhtmlxcombo_dhx_terrace.css deleted file mode 100644 index 57d98d7..0000000 --- a/themes/sources4.0/dhtmlxCombo/codebase/skins/dhtmlxcombo_dhx_terrace.css +++ /dev/null @@ -1,221 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* skin detected, extra file: skins/dhx_terrace.less */ - -div.dhxcombo_dhx_terrace { - position: relative; - border: 1px solid #cccccc; - overflow: hidden; - vertical-align: middle; - background-color: white; - font-size: 1px; - height: 24px; -} -div.dhxcombo_dhx_terrace input.dhxcombo_input { - position: absolute; - left: 1px; - top: 0px; - *top: 1px; - height: 24px; - line-height: 23px; - *height: 22px; - *line-height: 21px; - border: 0px solid white; - outline: 0px solid white; - padding: 0px; - margin: 0px 0px 0px 2px; - background-color: white; - vertical-align: top; - font-family: Arial; - font-size: 13px; - color: black; -} -div.dhxcombo_dhx_terrace div.dhxcombo_select_button { - position: absolute; - width: 16px; - height: 17px; - top: 4px; - right: 2px; - font-size: 1px; - cursor: pointer; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - overflow: hidden; -} -div.dhxcombo_dhx_terrace div.dhxcombo_select_button div.dhxcombo_select_img { - position: relative; - width: 100%; - height: 100%; - background-image: url("../imgs/dhxcombo_terrace/dhxcombo_arrow_down.gif"); - background-repeat: no-repeat; - background-position: center center; -} -div.dhxcombo_dhx_terrace div.dhxcombo_top_image { - position: absolute; - left: 0px; - top: 0px; - width: 23px; - height: 25px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - overflow: hidden; - cursor: default; -} -div.dhxcombo_dhx_terrace div.dhxcombo_top_image div.dhxcombo_image { - top: 4px; - *top: 3px; -} -div.dhxcombolist_dhx_terrace { - position: absolute; - border: 1px solid #cccccc; - box-shadow: 0 3px 5px rgba(127,127,127,0.35); - background-color: #f5f5f5; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - overflow-x: none; - overflow-y: auto; -} -div.dhxcombolist_dhx_terrace div.dhxcombo_option { - position: relative; - font-size: inherit; - font-family: Arial; - font-size: 13px; - color: #333333; - height: 27px; - line-height: 27px; - vertical-align: middle; - overflow: hidden; - cursor: default; -} -div.dhxcombolist_dhx_terrace div.dhxcombo_option.dhxcombo_option_selected { - background-color: #fff3a1; -} -div.dhxcombolist_dhx_terrace div.dhxcombo_option.dhxcombo_option_selected .dhxcombo_option_text { - color: black; -} -div.dhxcombolist_dhx_terrace div.dhxcombo_option div.dhxcombo_option_text { - position: relative; - padding: 0px 4px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - white-space: nowrap; -} -div.dhxcombolist_dhx_terrace div.dhxcombo_option div.dhxcombo_option_text.dhxcombo_option_text_chbx { - position: relative; - padding: 0px 4px 0px 4px; - margin-left: 20px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - white-space: nowrap; -} -div.dhxcombolist_dhx_terrace div.dhxcombo_option div.dhxcombo_checkbox { - position: absolute; - left: 3px; - width: 18px; - height: 18px; - background-image: url("../imgs/dhxcombo_terrace/dhxcombo_chbx.gif"); - background-repeat: no-repeat; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - overflow: hidden; - cursor: default; -} -div.dhxcombolist_dhx_terrace div.dhxcombo_option div.dhxcombo_checkbox { - top: 5px; -} -div.dhxcombolist_dhx_terrace div.dhxcombo_option div.dhxcombo_checkbox.dhxcombo_chbx_1 { - background-position: 0px 0px; -} -div.dhxcombolist_dhx_terrace div.dhxcombo_option div.dhxcombo_checkbox.dhxcombo_chbx_0 { - background-position: -18px 0px; -} -div.dhxcombolist_dhx_terrace div.dhxcombo_option div.dhxcombo_option_text.dhxcombo_option_text_image { - position: relative; - padding: 0px 4px 0px 4px; - margin-left: 20px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - white-space: nowrap; -} -div.dhxcombolist_dhx_terrace div.dhxcombo_option div.dhxcombo_image { - top: 5px; -} -div.dhxcombo_dhx_terrace div.dhxcombo_top_image div.dhxcombo_image, -div.dhxcombolist_dhx_terrace div.dhxcombo_option div.dhxcombo_image { - position: absolute; - top: 3px; - left: 3px; - width: 18px; - height: 18px; - background-repeat: no-repeat; - background-position: center center; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - overflow: hidden; - cursor: default; -} -div.dhxcombolist_dhx_terrace div.dhxcombo_option div.dhxcombo_image { - top: 5px; -} -div.dhxcombo_dhx_terrace.dhxcombo_disabled { - border: 1px solid #d4d4d4; - background-color: #fcfcfc; -} -div.dhxcombo_dhx_terrace.dhxcombo_disabled input.dhxcombo_input { - color: #bbbbbb; - background-color: #fcfcfc; -} -div.dhxcombo_dhx_terrace.dhxcombo_disabled div.dhxcombo_select_button div.dhxcombo_select_img { - background-image: url("../imgs/dhxcombo_terrace/dhxcombo_arrow_down_dis.gif"); - cursor: default; -} -.dhxgrid_combo_icon { - position: absolute; - z-index: 1; - top: 0px; - right: 0px; -} -div.dhxcombo_dhx_terrace.dhxcombo_in_grid { - margin-left: -20px; -} -.dhxcombo_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 30px; - height: 10px; - overflow: hidden; -} diff --git a/themes/sources4.0/dhtmlxCombo/codebase/skins/dhtmlxcombo_dhx_web.css b/themes/sources4.0/dhtmlxCombo/codebase/skins/dhtmlxcombo_dhx_web.css deleted file mode 100644 index 593021f..0000000 --- a/themes/sources4.0/dhtmlxCombo/codebase/skins/dhtmlxcombo_dhx_web.css +++ /dev/null @@ -1,211 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* skin detected, extra file: skins/dhx_web.less */ - -div.dhxcombo_dhx_web { - position: relative; - border: 1px solid #d6d6d6; - overflow: hidden; - vertical-align: middle; - background-color: white; - font-size: 1px; - height: 22px; -} -div.dhxcombo_dhx_web input.dhxcombo_input { - position: absolute; - left: 1px; - top: 0px; - height: 22px; - line-height: 21px; - *height: 20px; - *line-height: 19px; - border: 0px solid white; - outline: 0px solid white; - padding: 0px; - margin: 0px 0px 0px 4px; - background-color: white; - font-family: Tahoma; - font-size: 12px; - color: black; - vertical-align: top; -} -div.dhxcombo_dhx_web div.dhxcombo_select_button { - position: absolute; - width: 18px; - height: 18px; - top: 2px; - right: 2px; - font-size: 1px; - background-color: #3da0e3; - cursor: pointer; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - overflow: hidden; -} -div.dhxcombo_dhx_web div.dhxcombo_select_button div.dhxcombo_select_img { - position: relative; - width: 100%; - height: 100%; - background-image: url("../imgs/dhxcombo_web/dhxcombo_arrow_down.gif"); - background-repeat: no-repeat; - background-position: center center; -} -div.dhxcombo_dhx_web div.dhxcombo_top_image { - position: absolute; - left: 0px; - top: 0px; - width: 26px; - height: 22px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - overflow: hidden; - cursor: default; -} -div.dhxcombo_dhx_web div.dhxcombo_top_image div.dhxcombo_image { - *top: 0px; -} -div.dhxcombolist_dhx_web { - position: absolute; - border: 1px solid #ffffff; - *border: 1px solid #ccc; - box-shadow: 0px 3px 6px rgba(0,0,0,0.35); - background-color: #f4f4f4; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - overflow-x: none; - overflow-y: auto; -} -div.dhxcombolist_dhx_web div.dhxcombo_option { - position: relative; - font-size: inherit; - font-family: Tahoma; - font-size: 12px; - color: #000000; - height: 24px; - line-height: 23px; - vertical-align: middle; - overflow: hidden; - cursor: default; -} -div.dhxcombolist_dhx_web div.dhxcombo_option.dhxcombo_option_selected { - background-color: #85d3ff; -} -div.dhxcombolist_dhx_web div.dhxcombo_option.dhxcombo_option_selected .dhxcombo_option_text { - color: #000000; -} -div.dhxcombolist_dhx_web div.dhxcombo_option div.dhxcombo_option_text { - position: relative; - padding: 0px 4px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - white-space: nowrap; -} -div.dhxcombolist_dhx_web div.dhxcombo_option div.dhxcombo_option_text.dhxcombo_option_text_chbx { - position: relative; - padding: 0px 4px 0px 4px; - margin-left: 20px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - white-space: nowrap; -} -div.dhxcombolist_dhx_web div.dhxcombo_option div.dhxcombo_checkbox { - position: absolute; - left: 2px; - top: 3px; - width: 18px; - height: 18px; - background-image: url("../imgs/dhxcombo_web/dhxcombo_chbx.gif"); - background-repeat: no-repeat; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - overflow: hidden; - cursor: default; -} -div.dhxcombolist_dhx_web div.dhxcombo_option div.dhxcombo_checkbox.dhxcombo_chbx_0 { - background-position: 0px 0px; -} -div.dhxcombolist_dhx_web div.dhxcombo_option div.dhxcombo_checkbox.dhxcombo_chbx_1 { - background-position: -18px 0px; -} -div.dhxcombolist_dhx_web div.dhxcombo_option div.dhxcombo_option_text.dhxcombo_option_text_image { - position: relative; - padding: 0px 4px 0px 4px; - margin-left: 20px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - white-space: nowrap; -} -div.dhxcombolist_dhx_web div.dhxcombo_option div.dhxcombo_image { - top: 3px; -} -div.dhxcombo_dhx_web div.dhxcombo_top_image div.dhxcombo_image, -div.dhxcombolist_dhx_web div.dhxcombo_option div.dhxcombo_image { - position: absolute; - left: 3px; - top: 2px; - width: 18px; - height: 18px; - background-repeat: no-repeat; - background-position: center center; - -moz-user-select: none; - overflow: hidden; - cursor: default; -} -div.dhxcombo_dhx_web.dhxcombo_disabled { - background-color: #fafafa; -} -div.dhxcombo_dhx_web.dhxcombo_disabled input.dhxcombo_input { - color: #999999; - background-color: #fafafa; -} -div.dhxcombo_dhx_web.dhxcombo_disabled div.dhxcombo_select_button { - background-color: #a6a6a6; - cursor: default; -} -div.dhxcombo_dhx_web.dhxcombo_disabled div.dhxcombo_select_button div.dhxcombo_select_img { - background-image: url("../imgs/dhxcombo_web/dhxcombo_arrow_down_dis.gif"); -} -.dhxgrid_combo_icon { - position: absolute; - z-index: 1; - top: 0px; - right: 0px; -} -.dhxcombo_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 20px; - height: 10px; - overflow: hidden; -} diff --git a/themes/sources4.0/dhtmlxCombo/codebase/skins/dhtmlxcombo_material.css b/themes/sources4.0/dhtmlxCombo/codebase/skins/dhtmlxcombo_material.css deleted file mode 100644 index 0735e12..0000000 --- a/themes/sources4.0/dhtmlxCombo/codebase/skins/dhtmlxcombo_material.css +++ /dev/null @@ -1,340 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: material - include extra file: skins/material.less -*/ - -@keyframes dhx_loader_rotate { - 100% { - transform: rotate(360deg); - } -} -@keyframes dhx_loader_dash { - 0% { - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - } - 50% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -35px; - } - 100% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -124px; - } -} -div.dhxcombo_material { - position: relative; - border-bottom: 1px solid #dfdfdf; - padding-bottom: 1px; - overflow: hidden; - vertical-align: middle; - background-color: white; - font-size: 1px; - height: 29px; - -webkit-tap-highlight-color: rgba(0,0,0,0); -} -div.dhxcombo_material.dhxcombo_actv { - padding-bottom: 0px; - border-bottom: 2px solid #3399cc; -} -div.dhxcombo_material input.dhxcombo_input { - position: absolute; - left: 4px; - top: 0px; - *top: 1px; - height: 29px; - line-height: 28px; - *height: 27px; - *line-height: 26px; - border: 0px solid white; - outline: 0px solid white; - padding: 0px; - margin: 0px 0px 0px 2px; - background-color: white; - vertical-align: top; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -div.dhxcombo_material input.dhxcombo_input::-ms-clear { - display: none; -} -div.dhxcombo_material div.dhxcombo_select_button { - position: absolute; - width: 21px; - height: 22px; - top: 4px; - right: 2px; - font-size: 1px; - cursor: pointer; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -div.dhxcombo_material div.dhxcombo_select_button div.dhxcombo_select_img { - position: relative; - width: 100%; - height: 100%; - background-image: url("../imgs/dhxcombo_material/dhxcombo_arrow_down.gif"); - background-repeat: no-repeat; - background-position: center center; -} -div.dhxcombo_material div.dhxcombo_select_button div.dhxcombo_select_img { - background-image: linear-gradient(transparent,transparent), url("../imgs/dhxcombo_material/dhxcombo_arrow_down.svg"); -} -div.dhxcombo_material div.dhxcombo_top_image { - position: absolute; - left: 0px; - top: 0px; - width: 29px; - height: 29px; - overflow: hidden; - cursor: default; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -div.dhxcombo_material div.dhxcombo_top_image div.dhxcombo_image { - position: absolute; - top: 6px; - left: 5px; - width: 18px; - height: 18px; - background-repeat: no-repeat; - background-position: center center; - overflow: hidden; - cursor: default; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -div.dhxcombolist_material { - position: absolute; - border: 1px solid #dfdfdf; - background-color: #fafafa; - overflow-x: none; - overflow-y: auto; - -webkit-tap-highlight-color: rgba(0,0,0,0); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - box-shadow: 0 0 10px rgba(127,127,127,0.2); -} -div.dhxcombolist_material div.dhxcombo_option { - position: relative; - font: inherit; - height: 32px; - line-height: 32px; - vertical-align: middle; - overflow: hidden; - cursor: default; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -div.dhxcombolist_material div.dhxcombo_option.dhxcombo_option_selected { - background-color: #ebebeb; -} -div.dhxcombolist_material div.dhxcombo_option div.dhxcombo_option_text { - position: relative; - padding: 0px 4px; - font: inherit; - white-space: nowrap; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -div.dhxcombolist_material div.dhxcombo_option div.dhxcombo_option_text.dhxcombo_option_text_chbx { - position: relative; - padding: 0px 4px; - margin-left: 26px; - white-space: nowrap; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -div.dhxcombolist_material div.dhxcombo_option div.dhxcombo_option_text.dhxcombo_option_text_image { - position: relative; - padding: 0px 4px 0px 4px; - margin-left: 26px; - white-space: nowrap; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -div.dhxcombolist_material div.dhxcombo_option div.dhxcombo_image, -div.dhxcombolist_material div.dhxcombo_option div.dhxcombo_checkbox { - position: absolute; - width: 18px; - margin: 0px 5px; - height: 32px; - line-height: 32px; - background-image: url("../imgs/dhxcombo_material/dhxcombo_chbx.gif"); - background-repeat: no-repeat; - overflow: hidden; - cursor: default; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -div.dhxcombolist_material div.dhxcombo_option div.dhxcombo_image.dhxcombo_chbx_1, -div.dhxcombolist_material div.dhxcombo_option div.dhxcombo_checkbox.dhxcombo_chbx_1 { - background-position: 0px 7px; -} -div.dhxcombolist_material div.dhxcombo_option div.dhxcombo_image.dhxcombo_chbx_0, -div.dhxcombolist_material div.dhxcombo_option div.dhxcombo_checkbox.dhxcombo_chbx_0 { - background-position: -18px 7px; -} -div.dhxcombolist_material div.dhxcombo_option div.dhxcombo_image { - top: 7px; - margin: 0px 0px 0px 6px; - width: 18px; - height: 18px; -} -div.dhxcombo_material.dhxcombo_disabled input.dhxcombo_input { - color: #a6a6a6; -} -div.dhxcombo_material.dhxcombo_disabled div.dhxcombo_select_button div.dhxcombo_select_img { - background-image: url("../imgs/dhxcombo_material/dhxcombo_arrow_down_dis.gif"); - cursor: default; -} -.dhxgrid_combo_icon { - position: absolute; - z-index: 1; - top: 0px; - right: 0px; -} -div.dhxcombo_in_grid_parent { - position: relative; - height: 100%; - top: 0px; -} -div.dhxcombo_in_grid_parent div.dhxcombo_material { - position: absolute; - top: 0px; - left: -1px; -} -div.dhxcombolist_material.dhxcombolist_hdr { - border-bottom-width: 0px; - height: 36px; - line-height: 36px; - box-shadow: none; -} -div.dhxcombolist_material.dhxcombolist_hdr div.dhxcombo_hdrtext { - position: relative; - padding: 0px; - white-space: nowrap; - cursor: default; - font-family: Roboto, Arial, Helvetica; - font-size: 14px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -div.dhxcombolist_material.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell, -div.dhxcombolist_material.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell_first { - float: left; - white-space: nowrap; - overflow: hidden; - position: relative; - z-index: 2; - border-left: 1px solid #dfdfdf; - padding: 0px; - margin: 0px; -} -div.dhxcombolist_material.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell_first, -div.dhxcombolist_material.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell:first-child { - border-left-width: 0px; -} -div.dhxcombolist_material.dhxcombolist_multicolumn div.dhxcombo_option { - height: 32px; - line-height: 32px; - margin-top: -1px; - z-index: 0; - border-top: 1px solid #dfdfdf; - border-bottom: 1px solid #dfdfdf; - background-color: white; -} -div.dhxcombolist_material.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_option_text { - padding: 0px; -} -div.dhxcombolist_material.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell, -div.dhxcombolist_material.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell_first { - float: left; - white-space: nowrap; - overflow: hidden; - position: relative; - border-left: 1px solid #dfdfdf; - padding: 0px; - margin: 0px; -} -div.dhxcombolist_material.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell_first, -div.dhxcombolist_material.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell:first-child { - border-left-width: 0px; -} -div.dhxcombolist_material.dhxcombolist_multicolumn div.dhxcombo_option.dhxcombo_option_selected { - z-index: 1; - background-color: #ebebeb; - border-top-color: #dfdfdf; - border-bottom-color: #dfdfdf; -} -div.dhxcombolist_material.dhxcombolist_multicolumn div.dhxcombo_option.dhxcombo_option_selected div.dhxcombo_cell { - border-left-color: #dfdfdf; -} -div.dhxcombolist_material.dhxcombolist_multicolumn div.dhxcombo_option div.dhxcombo_cell_text, -div.dhxcombolist_material.dhxcombolist_hdr div.dhxcombo_hdrtext div.dhxcombo_hdrcell_text { - position: relative; - margin: 0px 10px; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - width: auto; - min-height: 32px; -} -.dhxcombo_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 40px; - height: 10px; - overflow: hidden; -} diff --git a/themes/sources4.0/dhtmlxCommon/codebase/connector.js b/themes/sources4.0/dhtmlxCommon/codebase/connector.js deleted file mode 100644 index 2be08c1..0000000 --- a/themes/sources4.0/dhtmlxCommon/codebase/connector.js +++ /dev/null @@ -1,163 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - @author dhtmlx.com - @license GPL, see license.txt -*/ -if (window.dhtmlXGridObject && !dhtmlXGridObject.prototype._init_point_connector){ - dhtmlXGridObject.prototype._init_point_connector=dhtmlXGridObject.prototype._init_point; - dhtmlXGridObject.prototype._init_point=function(){ - //make separate config array for each grid - this._con_f_used = [].concat(this._con_f_used); - dhtmlXGridObject.prototype._con_f_used=[]; - - var clear_url=function(url){ - url=url.replace(/(\?|\&)connector[^\f]*/g,""); - return url+(url.indexOf("?")!=-1?"&":"?")+"connector=true"+(this.hdr.rows.length > 0 ? "&dhx_no_header=1":""); - }; - var combine_urls=function(url){ - return clear_url.call(this,url)+(this._connector_sorting||"")+(this._connector_filter||""); - }; - var sorting_url=function(url,ind,dir){ - this._connector_sorting="&dhx_sort["+ind+"]="+dir; - return combine_urls.call(this,url); - }; - var filtering_url=function(url,inds,vals){ - var chunks = []; - for (var i=0; i 0 && typeof(data[k]) != "undefined") { - if (trim == true) return window.dhx4.trim(data[k]); - return String(data[k]); - } - return ""; - }); - }, - - // absolute top/left position on screen - absLeft: function(obj) { - if (typeof(obj) == "string") obj = document.getElementById(obj); - return this._aOfs(obj).left; - }, - absTop: function(obj) { - if (typeof(obj) == "string") obj = document.getElementById(obj); - return this._aOfs(obj).top; - }, - _aOfsSum: function(elem) { - var top = 0, left = 0; - while (elem) { - top = top + parseInt(elem.offsetTop); - left = left + parseInt(elem.offsetLeft); - elem = elem.offsetParent; - } - return {top: top, left: left}; - }, - _aOfsRect: function(elem) { - var box = elem.getBoundingClientRect(); - var body = document.body; - var docElem = document.documentElement; - var scrollTop = window.pageYOffset || docElem.scrollTop || body.scrollTop; - var scrollLeft = window.pageXOffset || docElem.scrollLeft || body.scrollLeft; - var clientTop = docElem.clientTop || body.clientTop || 0; - var clientLeft = docElem.clientLeft || body.clientLeft || 0; - var top = box.top + scrollTop - clientTop; - var left = box.left + scrollLeft - clientLeft; - return { top: Math.round(top), left: Math.round(left) }; - }, - _aOfs: function(elem) { - if (elem.getBoundingClientRect) { - return this._aOfsRect(elem); - } else { - return this._aOfsSum(elem); - } - }, - - // copy obj - _isObj: function(k) { - return (k != null && typeof(k) == "object" && typeof(k.length) == "undefined"); - }, - _copyObj: function(r) { - if (this._isObj(r)) { - var t = {}; - for (var a in r) { - if (typeof(r[a]) == "object" && r[a] != null) t[a] = this._copyObj(r[a]); else t[a] = r[a]; - } - } else { - var t = []; - for (var a=0; a= 0); - var dim = {}; - dim.left = document.body.scrollLeft; - dim.right = dim.left+(window.innerWidth||document.body.clientWidth); - dim.top = Math.max((isIE?document.documentElement:document.getElementsByTagName("html")[0]).scrollTop, document.body.scrollTop); - dim.bottom = dim.top+(isIE?Math.max(document.documentElement.clientHeight||0,document.documentElement.offsetHeight||0):window.innerHeight); - return dim; - }, - - // input/textarea range selection - selectTextRange: function(inp, start, end) { - - inp = (typeof(inp)=="string"?document.getElementById(inp):inp); - - var len = inp.value.length; - start = Math.max(Math.min(start, len), 0); - end = Math.min(end, len); - - if (inp.setSelectionRange) { - try {inp.setSelectionRange(start, end);} catch(e){}; // combo in grid under IE requires try/catch - } else if (inp.createTextRange) { - var range = inp.createTextRange(); - range.moveStart("character", start); - range.moveEnd("character", end-len); - try {range.select();} catch(e){}; - } - }, - - // transition - transData: null, - transDetect: function() { - - if (this.transData == null) { - - this.transData = {transProp: false, transEv: null}; - - // transition, MozTransition, WebkitTransition, msTransition, OTransition - var k = { - "MozTransition": "transitionend", - "WebkitTransition": "webkitTransitionEnd", - "OTransition": "oTransitionEnd", - "msTransition": "transitionend", - "transition": "transitionend" - }; - - for (var a in k) { - if (this.transData.transProp == false && document.documentElement.style[a] != null) { - this.transData.transProp = a; - this.transData.transEv = k[a]; - } - } - k = null; - } - - return this.transData; - - } - - }; - - // browser - window.dhx4.isIE = (navigator.userAgent.indexOf("MSIE") >= 0 || navigator.userAgent.indexOf("Trident") >= 0); - window.dhx4.isIE6 = (window.XMLHttpRequest == null && navigator.userAgent.indexOf("MSIE") >= 0); - window.dhx4.isIE7 = (navigator.userAgent.indexOf("MSIE 7.0") >= 0 && navigator.userAgent.indexOf("Trident") < 0); - window.dhx4.isOpera = (navigator.userAgent.indexOf("Opera") >= 0); - window.dhx4.isChrome = (navigator.userAgent.indexOf("Chrome") >= 0); - window.dhx4.isKHTML = (navigator.userAgent.indexOf("Safari") >= 0 || navigator.userAgent.indexOf("Konqueror") >= 0); - window.dhx4.isFF = (navigator.userAgent.indexOf("Firefox") >= 0); - window.dhx4.isIPad = (navigator.userAgent.search(/iPad/gi) >= 0); -}; - -if (typeof(window.dhx4.ajax) == "undefined") { - - window.dhx4.ajax = { - - // if false - dhxr param will added to prevent caching on client side (default), - // if true - do not add extra params - cache: false, - - // default method for load/loadStruct, post/get allowed - method: "post", - - get: function(url, onLoad) { - this._call("GET", url, null, true, onLoad); - }, - getSync: function(url) { - return this._call("GET", url, null, false); - }, - post: function(url, postData, onLoad) { - if (arguments.length == 1) { - postData = ""; - } else if (arguments.length == 2 && (typeof(postData) == "function" || typeof(window[postData]) == "function")) { - onLoad = postData; - postData = ""; - } else { - postData = String(postData); - } - this._call("POST", url, postData, true, onLoad); - }, - postSync: function(url, postData) { - postData = (postData == null ? "" : String(postData)); - return this._call("POST", url, postData, false); - }, - getLong: function(url, onLoad) { - this._call("GET", url, null, true, onLoad, {url:url}); - }, - postLong: function(url, postData, onLoad) { - if (arguments.length == 2 && (typeof(postData) == "function" || typeof(window[postData]))) { - onLoad = postData; - postData = ""; - } - this._call("POST", url, postData, true, onLoad, {url:url, postData:postData}); - }, - _call: function(method, url, postData, async, onLoad, longParams) { - - var t = (window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP")); - var isQt = (navigator.userAgent.match(/AppleWebKit/) != null && navigator.userAgent.match(/Qt/) != null && navigator.userAgent.match(/Safari/) != null); - - if (async == true) { - t.onreadystatechange = function() { - if ((t.readyState == 4 && t.status == 200) || (isQt == true && t.readyState == 3)) { // what for long response and status 404? - window.setTimeout(function(){ - if (typeof(onLoad) == "function") { - onLoad.apply(window, [{xmlDoc:t}]); // dhtmlx-compat, response.xmlDoc.responseXML/responseText - } - if (longParams != null) { - if (typeof(longParams.postData) != "undefined") { - dhx4.ajax.postLong(longParams.url, longParams.postData, onLoad); - } else { - dhx4.ajax.getLong(longParams.url, onLoad); - } - } - onLoad = null; - t = null; - },1); - } - } - } - - if (method == "GET" && this.cache != true) { - url += (url.indexOf("?")>=0?"&":"?")+"dhxr"+new Date().getTime(); - } - - t.open(method, url, async); - - if (method == "POST") { - t.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); - if (this.cache != true) postData += (postData.length>0?"&":"")+"dhxr"+new Date().getTime(); - } else { - postData = null; - } - - t.setRequestHeader("X-Requested-With", "XMLHttpRequest"); - - t.send(postData); - - if (!async) return {xmlDoc:t}; // dhtmlx-compat, response.xmlDoc.responseXML/responseText - - } - }; - -}; - -if (typeof(window.dhx4._enableDataLoading) == "undefined") { - - window.dhx4._enableDataLoading = function(obj, initObj, xmlToJson, xmlRootTag, mode) { - - if (mode == "clear") { - - // clear attached functionality - - for (var a in obj._dhxdataload) { - obj._dhxdataload[a] = null; - delete obj._dhxdataload[a]; - }; - - obj._loadData = null; - obj._dhxdataload = null; - obj.load = null; - obj.loadStruct = null; - - obj = null; - - return; - - } - - obj._dhxdataload = { // move to obj.conf? - initObj: initObj, - xmlToJson: xmlToJson, - xmlRootTag: xmlRootTag, - onBeforeXLS: null - }; - - obj._loadData = function(data, loadParams, onLoad) { - - if (arguments.length == 2) { - onLoad = loadParams; - loadParams = null; - } - - var obj = null; - - // deprecated from 4.0, compatability with version (url, type[json|xml], onLoad) - if (arguments.length == 3) onLoad = arguments[2]; - - if (typeof(data) == "string") { - - var k = data.replace(/^\s{1,}/,"").replace(/\s{1,}$/,""); - - var tag = new RegExp("^<"+this._dhxdataload.xmlRootTag); - - // xml - if (tag.test(k.replace(/^<\?xml[^\?]*\?>\s*/, ""))) { // remove leading if any, \n can be also presenе - if (window.DOMParser) { // ff,ie9 - obj = (new window.DOMParser()).parseFromString(data, "text/xml"); - } else if (typeof(window.ActiveXObject) != "undefined") { - obj = new window.ActiveXObject("Microsoft.XMLDOM"); - obj.async = "false"; - obj.loadXML(data); - } - if (obj != null) obj = this[this._dhxdataload.xmlToJson].apply(this, [obj]); // xml to json - } - - if (obj == null && (k.match(/^\{.*\}$/) != null || k.match(/^\[.*\]$/) != null)) { - try { eval("dhx4.temp="+k); } catch(e) { dhx4.temp = null; } - obj = dhx4.temp; - dhx4.temp = null; - } - - if (obj == null) { - - this.callEvent("onXLS",[]); - - var params = []; - - // allow to modify url and add params - if (typeof(this._dhxdataload.onBeforeXLS) == "function") { - var k = this._dhxdataload.onBeforeXLS.apply(this,[data]); - if (k != null && typeof(k) == "object") { - if (k.url != null) data = k.url; - if (k.params != null) { for (var a in k.params) params.push(a+"="+encodeURIComponent(k.params[a])); } - } - } - - var t = this; - var callBack = function(r) { - - var obj = null; - - if ((r.xmlDoc.getResponseHeader("Content-Type")||"").search(/xml/gi) >= 0 || (r.xmlDoc.responseText.replace(/^\s{1,}/,"")).match(/^ url - - t.callEvent("onXLE",[]); - - if (onLoad != null) { - if (typeof(onLoad) == "function") { - onLoad.apply(t,[]); - } else if (typeof(window[onLoad]) == "function") { - window[onLoad].apply(t,[]); - } - } - - callBack = onLoad = null; - obj = r = t = null; - - }; - - params = params.join("&")+(typeof(loadParams)=="string"?"&"+loadParams:""); - - if (dhx4.ajax.method == "post") { - dhx4.ajax.post(data, params, callBack); - } else if (dhx4.ajax.method == "get") { - dhx4.ajax.get(data+(data.indexOf("?")>0?"":"")+params, callBack); - } - - return; - } - - } else { - if (typeof(data.documentElement) == "object" || (typeof(data.tagName) != "undefined" && typeof(data.getElementsByTagName) != "undefined" && data.getElementsByTagName(this._dhxdataload.xmlRootTag).length > 0)) { // xml - obj = this[this._dhxdataload.xmlToJson].apply(this, [data]); - } else { // json - obj = window.dhx4._copyObj(data); - } - - } - - // init - if (obj != null) this[this._dhxdataload.initObj].apply(this,[obj]); - - if (onLoad != null) { - if (typeof(onLoad) == "function") { - onLoad.apply(this, []); - } else if (typeof(window[onLoad]) == "function") { - window[onLoad].apply(this, []); - } - onLoad = null; - } - - }; - - // loadStruct for hdr/conf - // load for data - if (mode != null) { - var k = {struct: "loadStruct", data: "load"}; - for (var a in mode) { - if (mode[a] == true) obj[k[a]] = function() {return this._loadData.apply(this, arguments);} - } - } - - obj = null; - - }; -}; -if (typeof(window.dhx4._eventable) == "undefined") { - - window.dhx4._eventable = function(obj, mode) { - - if (mode == "clear") { - - obj.detachAllEvents(); - - obj.dhxevs = null; - - obj.attachEvent = null; - obj.detachEvent = null; - obj.checkEvent = null; - obj.callEvent = null; - obj.detachAllEvents = null; - - obj = null; - - return; - - } - - obj.dhxevs = { data: {} }; - - obj.attachEvent = function(name, func) { - name = String(name).toLowerCase(); - if (!this.dhxevs.data[name]) this.dhxevs.data[name] = {}; - var eventId = window.dhx4.newId(); - this.dhxevs.data[name][eventId] = func; - return eventId; - } - - obj.detachEvent = function(eventId) { - for (var a in this.dhxevs.data) { - var k = 0; - for (var b in this.dhxevs.data[a]) { - if (b == eventId) { - this.dhxevs.data[a][b] = null; - delete this.dhxevs.data[a][b]; - } else { - k++; - } - } - if (k == 0) { - this.dhxevs.data[a] = null; - delete this.dhxevs.data[a]; - } - } - } - - obj.checkEvent = function(name) { - name = String(name).toLowerCase(); - return (this.dhxevs.data[name] != null); - } - - obj.callEvent = function(name, params) { - name = String(name).toLowerCase(); - if (this.dhxevs.data[name] == null) return true; - var r = true; - for (var a in this.dhxevs.data[name]) { - r = this.dhxevs.data[name][a].apply(this, params) && r; - } - return r; - } - - obj.detachAllEvents = function() { - for (var a in this.dhxevs.data) { - for (var b in this.dhxevs.data[a]) { - this.dhxevs.data[a][b] = null; - delete this.dhxevs.data[a][b]; - } - this.dhxevs.data[a] = null; - delete this.dhxevs.data[a]; - } - } - - obj = null; - }; - -}; -dhtmlx=function(obj){ - for (var a in obj) dhtmlx[a]=obj[a]; - return dhtmlx; //simple singleton -}; -dhtmlx.extend_api=function(name,map,ext){ - var t = window[name]; - if (!t) return; //component not defined - window[name]=function(obj){ - if (obj && typeof obj == "object" && !obj.tagName){ - var that = t.apply(this,(map._init?map._init(obj):arguments)); - //global settings - for (var a in dhtmlx) - if (map[a]) this[map[a]](dhtmlx[a]); - //local settings - for (var a in obj){ - if (map[a]) this[map[a]](obj[a]); - else if (a.indexOf("on")==0){ - this.attachEvent(a,obj[a]); - } - } - } else - var that = t.apply(this,arguments); - if (map._patch) map._patch(this); - return that||this; - }; - window[name].prototype=t.prototype; - if (ext) - dhtmlXHeir(window[name].prototype,ext); -}; - -dhtmlxAjax={ - get:function(url,callback){ - var t=new dtmlXMLLoaderObject(true); - t.async=(arguments.length<3); - t.waitCall=callback; - t.loadXML(url) - return t; - }, - post:function(url,post,callback){ - var t=new dtmlXMLLoaderObject(true); - t.async=(arguments.length<4); - t.waitCall=callback; - t.loadXML(url,true,post) - return t; - }, - getSync:function(url){ - return this.get(url,null,true) - }, - postSync:function(url,post){ - return this.post(url,post,null,true); - } -} - -/** - * @desc: xmlLoader object - * @type: private - * @param: funcObject - xml parser function - * @param: object - jsControl object - * @param: async - sync/async mode (async by default) - * @param: rSeed - enable/disable random seed ( prevent IE caching) - * @topic: 0 - */ -function dtmlXMLLoaderObject(funcObject, dhtmlObject, async, rSeed){ - this.xmlDoc=""; - - if (typeof (async) != "undefined") - this.async=async; - else - this.async=true; - - this.onloadAction=funcObject||null; - this.mainObject=dhtmlObject||null; - this.waitCall=null; - this.rSeed=rSeed||false; - return this; -}; - -dtmlXMLLoaderObject.count = 0; - -/** - * @desc: xml loading handler - * @type: private - * @param: dtmlObject - xmlLoader object - * @topic: 0 - */ -dtmlXMLLoaderObject.prototype.waitLoadFunction=function(dhtmlObject){ - var once = true; - this.check=function (){ - if ((dhtmlObject)&&(dhtmlObject.onloadAction != null)){ - if ((!dhtmlObject.xmlDoc.readyState)||(dhtmlObject.xmlDoc.readyState == 4)){ - if (!once) - return; - - once=false; //IE 5 fix - dtmlXMLLoaderObject.count++; - if (typeof dhtmlObject.onloadAction == "function") - dhtmlObject.onloadAction(dhtmlObject.mainObject, null, null, null, dhtmlObject); - - if (dhtmlObject.waitCall){ - dhtmlObject.waitCall.call(this,dhtmlObject); - dhtmlObject.waitCall=null; - } - } - } - }; - return this.check; -}; - -/** - * @desc: return XML top node - * @param: tagName - top XML node tag name (not used in IE, required for Safari and Mozilla) - * @type: private - * @returns: top XML node - * @topic: 0 - */ -dtmlXMLLoaderObject.prototype.getXMLTopNode=function(tagName, oldObj){ - if (typeof this.xmlDoc.status == "undefined" || this.xmlDoc.status < 400){ - if (this.xmlDoc.responseXML){ - var temp = this.xmlDoc.responseXML.getElementsByTagName(tagName); - if(temp.length==0 && tagName.indexOf(":")!=-1) - var temp = this.xmlDoc.responseXML.getElementsByTagName((tagName.split(":"))[1]); - var z = temp[0]; - } else - var z = this.xmlDoc.documentElement; - - if (z){ - this._retry=false; - return z; - } - - if (!this._retry&&_isIE){ - this._retry=true; - var oldObj = this.xmlDoc; - this.loadXMLString(this.xmlDoc.responseText.replace(/^[\s]+/,""), true); - return this.getXMLTopNode(tagName, oldObj); - } - } - - dhtmlxError.throwError("LoadXML", "Incorrect XML", [ - (oldObj||this.xmlDoc), - this.mainObject - ]); - - return document.createElement("DIV"); -}; - -/** - * @desc: load XML from string - * @type: private - * @param: xmlString - xml string - * @topic: 0 - */ -dtmlXMLLoaderObject.prototype.loadXMLString=function(xmlString, silent){ - - if (!_isIE){ - var parser = new DOMParser(); - this.xmlDoc=parser.parseFromString(xmlString, "text/xml"); - } else { - this.xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); - this.xmlDoc.async=this.async; - this.xmlDoc.onreadystatechange = function(){}; - this.xmlDoc["loadXM"+"L"](xmlString); - } - - if (silent) - return; - - if (this.onloadAction) - this.onloadAction(this.mainObject, null, null, null, this); - - if (this.waitCall){ - this.waitCall(); - this.waitCall=null; - } -} -/** - * @desc: load XML - * @type: private - * @param: filePath - xml file path - * @param: postMode - send POST request - * @param: postVars - list of vars for post request - * @topic: 0 - */ -dtmlXMLLoaderObject.prototype.loadXML=function(filePath, postMode, postVars, rpc){ - if (this.rSeed) - filePath+=((filePath.indexOf("?") != -1) ? "&" : "?")+"a_dhx_rSeed="+(new Date()).valueOf(); - this.filePath=filePath; - - if ((!_isIE)&&(window.XMLHttpRequest)) - this.xmlDoc=new XMLHttpRequest(); - else { - this.xmlDoc=new ActiveXObject("Microsoft.XMLHTTP"); - } - - if (this.async) - this.xmlDoc.onreadystatechange=new this.waitLoadFunction(this); - this.xmlDoc.open(postMode ? "POST" : "GET", filePath, this.async); - - if (rpc){ - this.xmlDoc.setRequestHeader("User-Agent", "dhtmlxRPC v0.1 ("+navigator.userAgent+")"); - this.xmlDoc.setRequestHeader("Content-type", "text/xml"); - } - - else if (postMode) - this.xmlDoc.setRequestHeader('Content-type', (this.contenttype || 'application/x-www-form-urlencoded')); - - this.xmlDoc.setRequestHeader("X-Requested-With","XMLHttpRequest"); - this.xmlDoc.send(null||postVars); - - if (!this.async) - (new this.waitLoadFunction(this))(); -}; -/** - * @desc: destructor, cleans used memory - * @type: private - * @topic: 0 - */ -dtmlXMLLoaderObject.prototype.destructor=function(){ - this._filterXPath = null; - this._getAllNamedChilds = null; - this._retry = null; - this.async = null; - this.rSeed = null; - this.filePath = null; - this.onloadAction = null; - this.mainObject = null; - this.xmlDoc = null; - this.doXPath = null; - this.doXPathOpera = null; - this.doXSLTransToObject = null; - this.doXSLTransToString = null; - this.loadXML = null; - this.loadXMLString = null; - // this.waitLoadFunction = null; - this.doSerialization = null; - this.xmlNodeToJSON = null; - this.getXMLTopNode = null; - this.setXSLParamValue = null; - return null; -} - -dtmlXMLLoaderObject.prototype.xmlNodeToJSON = function(node){ - var t={}; - for (var i=0; i-1) - _isChrome=true; - -if ((navigator.userAgent.indexOf('Safari') != -1)||(navigator.userAgent.indexOf('Konqueror') != -1)){ - _KHTMLrv = parseFloat(navigator.userAgent.substr(navigator.userAgent.indexOf('Safari')+7, 5)); - - if (_KHTMLrv > 525){ //mimic FF behavior for Safari 3.1+ - _isFF=true; - _FFrv = 1.9; - } else - _isKHTML=true; -} else if (navigator.userAgent.indexOf('Opera') != -1){ - _isOpera=true; - _OperaRv=parseFloat(navigator.userAgent.substr(navigator.userAgent.indexOf('Opera')+6, 3)); -} - - -else if (navigator.appName.indexOf("Microsoft") != -1){ - _isIE=true; - if ((navigator.appVersion.indexOf("MSIE 8.0")!= -1 || - navigator.appVersion.indexOf("MSIE 9.0")!= -1 || - navigator.appVersion.indexOf("MSIE 10.0")!= -1 || - document.documentMode > 7) && - document.compatMode != "BackCompat"){ - _isIE=8; - } -} else if (navigator.appName == 'Netscape' && navigator.userAgent.indexOf("Trident") != -1){ - //ie11 - _isIE=8; -} else { - _isFF=true; - _FFrv = parseFloat(navigator.userAgent.split("rv:")[1]) -} - - -//multibrowser Xpath processor -dtmlXMLLoaderObject.prototype.doXPath=function(xpathExp, docObj, namespace, result_type){ - if (_isKHTML || (!_isIE && !window.XPathResult)) - return this.doXPathOpera(xpathExp, docObj); - - if (_isIE){ //IE - if (!docObj) - if (!this.xmlDoc.nodeName) - docObj=this.xmlDoc.responseXML - else - docObj=this.xmlDoc; - - if (!docObj) - dhtmlxError.throwError("LoadXML", "Incorrect XML", [ - (docObj||this.xmlDoc), - this.mainObject - ]); - - if (namespace != null) - docObj.setProperty("SelectionNamespaces", "xmlns:xsl='"+namespace+"'"); // - - if (result_type == 'single'){ - return docObj.selectSingleNode(xpathExp); - } - else { - return docObj.selectNodes(xpathExp)||new Array(0); - } - } else { //Mozilla - var nodeObj = docObj; - - if (!docObj){ - if (!this.xmlDoc.nodeName){ - docObj=this.xmlDoc.responseXML - } - else { - docObj=this.xmlDoc; - } - } - - if (!docObj) - dhtmlxError.throwError("LoadXML", "Incorrect XML", [ - (docObj||this.xmlDoc), - this.mainObject - ]); - - if (docObj.nodeName.indexOf("document") != -1){ - nodeObj=docObj; - } - else { - nodeObj=docObj; - docObj=docObj.ownerDocument; - } - var retType = XPathResult.ANY_TYPE; - - if (result_type == 'single') - retType=XPathResult.FIRST_ORDERED_NODE_TYPE - var rowsCol = new Array(); - var col = docObj.evaluate(xpathExp, nodeObj, function(pref){ - return namespace - }, retType, null); - - if (retType == XPathResult.FIRST_ORDERED_NODE_TYPE){ - return col.singleNodeValue; - } - var thisColMemb = col.iterateNext(); - - while (thisColMemb){ - rowsCol[rowsCol.length]=thisColMemb; - thisColMemb=col.iterateNext(); - } - return rowsCol; - } -} - -function _dhtmlxError(type, name, params){ - if (!this.catches) - this.catches=new Array(); - - return this; -} - -_dhtmlxError.prototype.catchError=function(type, func_name){ - this.catches[type]=func_name; -} -_dhtmlxError.prototype.throwError=function(type, name, params){ - if (this.catches[type]) - return this.catches[type](type, name, params); - - if (this.catches["ALL"]) - return this.catches["ALL"](type, name, params); - - alert("Error type: "+arguments[0]+"\nDescription: "+arguments[1]); - return null; -} - -window.dhtmlxError=new _dhtmlxError(); - - -//opera fake, while 9.0 not released -//multibrowser Xpath processor -dtmlXMLLoaderObject.prototype.doXPathOpera=function(xpathExp, docObj){ - //this is fake for Opera - var z = xpathExp.replace(/[\/]+/gi, "/").split('/'); - var obj = null; - var i = 1; - - if (!z.length) - return []; - - if (z[0] == ".") - obj=[docObj]; else if (z[0] == ""){ - obj=(this.xmlDoc.responseXML||this.xmlDoc).getElementsByTagName(z[i].replace(/\[[^\]]*\]/g, "")); - i++; - } else - return []; - - for (i; i < z.length; i++)obj=this._getAllNamedChilds(obj, z[i]); - - if (z[i-1].indexOf("[") != -1) - obj=this._filterXPath(obj, z[i-1]); - return obj; -} - -dtmlXMLLoaderObject.prototype._filterXPath=function(a, b){ - var c = new Array(); - var b = b.replace(/[^\[]*\[\@/g, "").replace(/[\[\]\@]*/g, ""); - - for (var i = 0; i < a.length; i++) - if (a[i].getAttribute(b)) - c[c.length]=a[i]; - - return c; -} -dtmlXMLLoaderObject.prototype._getAllNamedChilds=function(a, b){ - var c = new Array(); - - if (_isKHTML) - b=b.toUpperCase(); - - for (var i = 0; i < a.length; i++)for (var j = 0; j < a[i].childNodes.length; j++){ - if (_isKHTML){ - if (a[i].childNodes[j].tagName&&a[i].childNodes[j].tagName.toUpperCase() == b) - c[c.length]=a[i].childNodes[j]; - } - - else if (a[i].childNodes[j].tagName == b) - c[c.length]=a[i].childNodes[j]; - } - - return c; -} - -function dhtmlXHeir(a, b){ - for (var c in b) - if (typeof (b[c]) == "function") - a[c]=b[c]; - return a; -} - -function dhtmlxEvent(el, event, handler){ - if (el.addEventListener) - el.addEventListener(event, handler, false); - - else if (el.attachEvent) - el.attachEvent("on"+event, handler); -} - -//============= XSL Extension =================================== - -dtmlXMLLoaderObject.prototype.xslDoc=null; -dtmlXMLLoaderObject.prototype.setXSLParamValue=function(paramName, paramValue, xslDoc){ - if (!xslDoc) - xslDoc=this.xslDoc - - if (xslDoc.responseXML) - xslDoc=xslDoc.responseXML; - var item = - this.doXPath("/xsl:stylesheet/xsl:variable[@name='"+paramName+"']", xslDoc, - "http:/\/www.w3.org/1999/XSL/Transform", "single"); - - if (item != null) - item.firstChild.nodeValue=paramValue -} -dtmlXMLLoaderObject.prototype.doXSLTransToObject=function(xslDoc, xmlDoc){ - if (!xslDoc) - xslDoc=this.xslDoc; - - if (xslDoc.responseXML) - xslDoc=xslDoc.responseXML - - if (!xmlDoc) - xmlDoc=this.xmlDoc; - - if (xmlDoc.responseXML) - xmlDoc=xmlDoc.responseXML - - //MOzilla - if (!_isIE){ - if (!this.XSLProcessor){ - this.XSLProcessor=new XSLTProcessor(); - this.XSLProcessor.importStylesheet(xslDoc); - } - var result = this.XSLProcessor.transformToDocument(xmlDoc); - } else { - var result = new ActiveXObject("Msxml2.DOMDocument.3.0"); - try{ - xmlDoc.transformNodeToObject(xslDoc, result); - }catch(e){ - result = xmlDoc.transformNode(xslDoc); - } - } - return result; -} - -dtmlXMLLoaderObject.prototype.doXSLTransToString=function(xslDoc, xmlDoc){ - var res = this.doXSLTransToObject(xslDoc, xmlDoc); - if(typeof(res)=="string") - return res; - return this.doSerialization(res); -} - -dtmlXMLLoaderObject.prototype.doSerialization=function(xmlDoc){ - if (!xmlDoc) - xmlDoc=this.xmlDoc; - if (xmlDoc.responseXML) - xmlDoc=xmlDoc.responseXML - if (!_isIE){ - var xmlSerializer = new XMLSerializer(); - return xmlSerializer.serializeToString(xmlDoc); - } else - return xmlDoc.xml; -} - -/** -* @desc: -* @type: private -*/ -dhtmlxEventable=function(obj){ - obj.attachEvent=function(name, catcher, callObj){ - name='ev_'+name.toLowerCase(); - if (!this[name]) - this[name]=new this.eventCatcher(callObj||this); - - return(name+':'+this[name].addEvent(catcher)); //return ID (event name & event ID) - } - obj.callEvent=function(name, arg0){ - name='ev_'+name.toLowerCase(); - if (this[name]) - return this[name].apply(this, arg0); - return true; - } - obj.checkEvent=function(name){ - return (!!this['ev_'+name.toLowerCase()]) - } - obj.eventCatcher=function(obj){ - var dhx_catch = []; - var z = function(){ - var res = true; - for (var i = 0; i < dhx_catch.length; i++){ - if (dhx_catch[i] != null){ - var zr = dhx_catch[i].apply(obj, arguments); - res=res&&zr; - } - } - return res; - } - z.addEvent=function(ev){ - if (typeof (ev) != "function") - ev=eval(ev); - if (ev) - return dhx_catch.push(ev)-1; - return false; - } - z.removeEvent=function(id){ - dhx_catch[id]=null; - } - return z; - } - obj.detachEvent=function(id){ - if (id != false){ - var list = id.split(':'); //get EventName and ID - this[list[0]].removeEvent(list[1]); //remove event - } - } - obj.detachAllEvents = function(){ - for (var name in this){ - if (name.indexOf("ev_")==0){ - this.detachEvent(name); - this[name] = null; - } - } - } - obj = null; -}; diff --git a/themes/sources4.0/dhtmlxCommon/codebase/dhtmlxcommon_deprecated.js b/themes/sources4.0/dhtmlxCommon/codebase/dhtmlxcommon_deprecated.js deleted file mode 100644 index 4ad0005..0000000 --- a/themes/sources4.0/dhtmlxCommon/codebase/dhtmlxcommon_deprecated.js +++ /dev/null @@ -1,22 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -window.dhtmlxAjax = { - get: function(url, callback, sync) { - if (sync) return dhx4.ajax.getSync(url); else dhx4.ajax.get(url, callback); - }, - post: function(url, post, callback, sync) { - if (sync) return dhx4.ajax.postSync(url, post); else dhx4.ajax.post(url, post, callback); - }, - getSync: function(url) { - return dhx4.ajax.getSync(url); - }, - postSync: function(url, post) { - return dhx4.ajax.postSync(url, post); - } -}; diff --git a/themes/sources4.0/dhtmlxCommon/codebase/dhtmlxcontainer.js b/themes/sources4.0/dhtmlxCommon/codebase/dhtmlxcontainer.js deleted file mode 100644 index 889d41d..0000000 --- a/themes/sources4.0/dhtmlxCommon/codebase/dhtmlxcontainer.js +++ /dev/null @@ -1,1555 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -function dhtmlXCellObject(idd, css) { - - this.cell = document.createElement("DIV"); - this.cell.className = "dhx_cell"+(css||""); - - this._idd = idd; - this._isCell = true; - - this.conf = { - borders: true, - idx: {}, - css: css||"", - idx_data: { - cont: "dhx_cell_cont", - pr1: "dhx_cell_progress_bar", - pr2: "dhx_cell_progress_img", - menu: "dhx_cell_menu", - toolbar: "dhx_cell_toolbar", - ribbon: "dhx_cell_ribbon", - sb: "dhx_cell_statusbar" - }, - ofs_nodes: { t:{}, b:{} } // attached dataNodes (menu/toolbar/status), can be true, false; - // in case of layout - "func" for header - } - - this.dataNodes = {}; // menu/toolbar/status - - this.views = {}; - - // cont - var p = document.createElement("DIV"); - p.className = "dhx_cell_cont"+this.conf.css; - this.cell.appendChild(p); - p = null; - - this._updateIdx = function() { - for (var a in this.conf.idx) { - this.conf.idx[a] = null; - delete this.conf.idx[a]; - } - for (var q=0; q 0) { - this.views[name].cellCont.push(cellCont.firstChild); - cellCont.removeChild(cellCont.firstChild); - } - - this.dataType = null; - this.dataObj = null; - - // menu/toolbar/status - for (var a in this.dataNodes) { - - for (var b in this.conf.ofs_nodes) { - if (typeof(this.conf.ofs_nodes[b][a]) != "undefined") { - this.views[name].ofs_nodes[b][a] = this.conf.ofs_nodes[b][a]; - this.conf.ofs_nodes[b][a] = null; - delete this.conf.ofs_nodes[b][a]; - } - } - - this.views[name].dataNodesCont[a] = this.cell.childNodes[this.conf.idx[a]]; - this.cell.removeChild(this.cell.childNodes[this.conf.idx[a]]); - - this.views[name].dataNodes[a] = this.dataNodes[a]; - this.dataNodes[a] = null; - delete this.dataNodes[a]; - - this._updateIdx(); - } - - this.callEvent("_onViewSave", [name]); - - } - - this._viewRestore = function(name) { - - if (this.views[name] == null) return; - - // content - this.dataObj = this.views[name].dataObj; - this.dataType = this.views[name].dataType; - for (var q=0; q
              "); - if (typeof(t._doOnFrameContentLoaded) == "function") t._doOnFrameContentLoaded(); - t.dataType = "url-ajax"; - t = r = null; - }); - } else { - dhx4.ajax.get(url, function(r){ - t.attachHTMLString("
              "+r.xmlDoc.responseText+"
              "); - if (typeof(t._doOnFrameContentLoaded) == "function") t._doOnFrameContentLoaded(); - t.dataType = "url-ajax"; - t = r = null; - }); - } - - } else { - if (this.dataType == "url") { - var fr = this.getFrame(); - } else { - var fr = document.createElement("IFRAME"); - fr.frameBorder = 0; - fr.border = 0; - fr.style.width = "100%"; - fr.style.height = "100%"; - fr.style.position = "relative"; - this._attachObject(fr); - this.dataType = "url"; - this._attachURLEvents(); - } - if (postReq) { - var firstLoad = (typeof(this.conf.url_data.post_ifr) == "undefined"); - this.conf.url_data.post_ifr = true; // load later - if (firstLoad) this._attachURLEvents(); - fr.src = "about:blank"; - } else { - fr.src = url+(url.indexOf("?")>=0?"&":"?")+"dhxr"+new Date().getTime(); - } - fr = null; - } - - fr = null; -}; - -dhtmlXCellObject.prototype.reloadURL = function() { - if (!(this.dataType == "url" || this.dataType == "url-ajax")) return; - if (this.conf.url_data == null) return; - this.attachURL(this.conf.url_data.url, this.conf.url_data.ajax, this.conf.url_data.post_data); -}; - -dhtmlXCellObject.prototype.attachHTMLString = function(str) { - this._attachObject(null, null, str); - // esec script - var z = str.match(/]*>[^\f]*?<\/script>/g)||[]; - for (var i=0; i]*>/gi,""); - if (s) { - if (window.execScript) window.execScript(s); else window.eval(s); - } - } -}; - -dhtmlXCellObject.prototype.attachLayout = function(conf) { - - if (this.conf.skin == "dhx_skyblue" && typeof(window.dhtmlXWindowsCell) != "undefined" && (this instanceof dhtmlXWindowsCell)) { - // don't hide layout's borders in window - } - if (this instanceof dhtmlXLayoutCell) { - this._hideBorders(); - } - - var obj = document.createElement("DIV"); - obj.style.width = "100%"; - obj.style.height = "100%"; - obj.style.position = "relative"; - obj.style.overflow = "hidden"; - this._attachObject(obj); - - if (typeof(this._layoutMainInst) != "undefined") { - obj._layoutMainInst = this._layoutMainInst; - } - - if (this instanceof window.dhtmlXLayoutCell) { - //this.hideHeader(); - // this.cell.childNodes[this.conf.idx.cont].style.backgroundColor = "#f1f1f1"; - // obj._ofs = {t:5,b:5,l:5,r:5}; - } - - - if (typeof(window.dhtmlXLayoutCell) != "undefined" && this instanceof dhtmlXLayoutCell) { - obj._isParentCell = true; - } - - // acc, move layout 1px-up to hide top borders - if (typeof(window.dhtmlXAccordionCell) != "undefined" && (this instanceof window.dhtmlXAccordionCell)) { - obj._ofs = {t:-1}; - } - - if (typeof(conf) == "string") conf = {pattern: conf}; - if (typeof(conf.skin) == "undefined") conf.skin = this.conf.skin; - conf.parent = obj; - - this.dataType = "layout"; - this.dataObj = new dhtmlXLayoutObject(conf); - - if (this instanceof dhtmlXLayoutCell) { - this.dataObj.parentLayout = this.layout; - } - - obj._layoutMainInst = null; - conf.parent = null; - obj = conf = null; - - this.callEvent("_onContentAttach",[]); - - return this.dataObj; - -}; - -dhtmlXCellObject.prototype.attachTree = function(rootId) { - - var obj = document.createElement("DIV"); - obj.style.width = "100%"; - obj.style.height = "100%"; - obj.style.position = "relative"; - obj.style.overflow = "hidden"; - - this._attachObject(obj); - - this.dataType = "tree"; - this.dataObj = new dhtmlXTreeObject(obj, "100%", "100%", (rootId||0)); - this.dataObj.setSkin(this.conf.skin); - - // cosmetic fix - this.dataObj.allTree.childNodes[0].style.marginTop = "2px"; - this.dataObj.allTree.childNodes[0].style.marginBottom = "2px"; - - //obj.style.overflow = "auto"; - obj = null; - - this.callEvent("_onContentAttach",[]); - - return this.dataObj; - -}; - -dhtmlXCellObject.prototype.attachGrid = function() { - - var obj = document.createElement("DIV"); - obj.style.width = "100%"; - obj.style.height = "100%"; - obj.style.position = "relative"; - obj.style.overflow = "hidden"; - this._attachObject(obj); - - this.dataType = "grid"; - this.dataObj = new dhtmlXGridObject(obj); - this.dataObj.setSkin(this.conf.skin); - - // keep border for window and remove for other - if (this.conf.skin == "dhx_skyblue" && typeof(window.dhtmlXWindowsCell) != "undefined" && this instanceof window.dhtmlXWindowsCell) { - this.dataObj.entBox.style.border = "1px solid #a4bed4"; - this.dataObj._sizeFix = 0; - } else { - this.dataObj.entBox.style.border = "0px solid white"; - this.dataObj._sizeFix = 2; - } - - obj = null; - - this.callEvent("_onContentAttach",[]); - - return this.dataObj; -}; - -dhtmlXCellObject.prototype.attachTabbar = function(conf) { - - if (typeof(window.dhtmlXLayoutCell) != "undefined" && this instanceof dhtmlXLayoutCell) { - this._hideBorders() - } - - // 3.6 init - attachTabbar(mode) - if (typeof(conf) == "string") { - conf = {mode:conf}; - } else if (typeof(conf) != "object" || conf == null) { - conf = {}; - } - - var obj = document.createElement("DIV"); - obj.style.width = "100%"; - obj.style.height = "100%"; - obj.style.position = "relative"; - obj.style.overflow = "hidden"; - - // acc, move tabbar 1px-up to hide top borders - if (typeof(window.dhtmlXAccordionCell) != "undefined" && (this instanceof window.dhtmlXAccordionCell)) { - obj._ofs = {t:-1}; - } - - this._attachObject(obj); - - conf.skin = this.conf.skin; - conf.parent = obj; - - this.dataType = "tabbar"; - this.dataObj = new dhtmlXTabBar(conf); - - conf.parent = obj = null; - conf = null; - - this.callEvent("_onContentAttach",[]); - - return this.dataObj; -}; - -dhtmlXCellObject.prototype.attachAccordion = function(conf) { - - if (typeof(window.dhtmlXWindowsCell) != "undefined" && (this instanceof dhtmlXWindowsCell)) { - // don't hide layout's borders in window - } else { - if (this._isCell) this._hideBorders(); - } - - var obj = document.createElement("DIV"); - obj.style.width = "100%"; - obj.style.height = "100%"; - obj.style.position = "relative"; - this._attachObject(obj); - - if (typeof(conf) == "undefined") conf = {}; - if (typeof(conf.skin) == "undefined") conf.skin = this.conf.skin; - conf.parent = obj; - - if (typeof(window.dhtmlXAccordionCell) != "undefined" && (this instanceof window.dhtmlXAccordionCell)) { - obj._ofs = { - s:{first:-1}, - m:{first:4} - } - } - - this.dataType = "acc"; - this.dataObj = new dhtmlXAccordion(conf); - - conf.obj = null; - obj = conf = null; - - this.callEvent("_onContentAttach",[]); - - return this.dataObj; -}; - -dhtmlXCellObject.prototype.attachEditor = function(conf) { - - var obj = document.createElement("DIV"); - obj.style.width = "100%"; - obj.style.height = "100%"; - obj.style.position = "relative"; - obj.style.overflow = "hidden"; - this._attachObject(obj); - - if (!(typeof(conf) == "object" && conf != null)) conf = {}; - conf.parent = obj; - - this.dataType = "editor"; - this.dataObj = new dhtmlXEditor(conf); - - obj = null; - conf.parent = null; - conf = null; - - this.callEvent("_onContentAttach",[]); - - return this.dataObj; - -}; - -dhtmlXCellObject.prototype.attachDataView = function(conf) { - - var obj = document.createElement("DIV"); - obj.style.width = "100%"; - obj.style.height = "100%"; - obj.style.position = "relative"; - obj.style.overflow = "hidden"; - this._attachObject(obj); - - if (typeof(conf) == "undefined") conf = {}; - obj.id = "DataViewObject_"+new Date().getTime(); - conf.container = obj.id; - conf.skin = this.conf.skin; - - - this.dataType = "dataview"; - this.dataObj = new dhtmlXDataView(conf); - - - this.dataObj.setSizes = function(){ - this.render(); - } - - obj = null; - - this.callEvent("_onContentAttach",[]); - - return this.dataObj; -}; - -dhtmlXCellObject.prototype.attachScheduler = function(day, mode, cont_id, scheduler) { - - scheduler = scheduler || window.scheduler; - - var ready = false; - if (cont_id) { - var obj = document.getElementById(cont_id); - if (obj) ready = true; - } - if (!ready) { - var tabs = cont_id || '
              '; - var obj = document.createElement("DIV"); - obj.id = "dhxSchedObj_"+new Date().getTime(); - obj.style.width = "100%"; - obj.style.height = "100%"; - obj.style.position = "relative"; - obj.style.overflow = "hidden"; - obj.className = "dhx_cal_container"; - obj.innerHTML = '
               
               
              '+tabs+'
              '; - } - - this._attachObject(obj); - - this.dataType = "scheduler"; - this.dataObj = scheduler; - this.dataObj.setSizes = function(){ - this.update_view(); - } - - scheduler.init(obj.id, day, mode); - - obj = null; - - this.callEvent("_onContentAttach",[]); - - return this.dataObj; -}; - -dhtmlXCellObject.prototype.attachForm = function(data) { - - var obj = document.createElement("DIV"); - obj.style.width = "100%"; - obj.style.height = "100%"; - obj.style.position = "relative"; - - if (window.dhtmlx && dhtmlx.$customScroll) dhtmlx.CustomScroll.enable(obj); else obj.style.overflow = "auto"; - - this._attachObject(obj); - - this.dataType = "form"; - this.dataObj = new dhtmlXForm(obj, data); - this.dataObj.setSkin(this.conf.skin); - - obj = null; - - this.callEvent("_onContentAttach",[]); - - return this.dataObj; - -} - -dhtmlXCellObject.prototype.attachMap = function(opts) { - - var obj = document.createElement("DIV"); - obj.id = "GMapsObj_"+this._genStr(12); - obj.style.width = "100%"; - obj.style.height = "100%"; - obj.style.position = "relative"; - obj.style.overflow = "hidden"; - this._attachObject(obj); - - if (!opts) opts = {center: new google.maps.LatLng(40.719837,-73.992348), zoom: 11, mapTypeId: google.maps.MapTypeId.ROADMAP}; - - this.dataType = "maps"; - this.dataObj = new google.maps.Map(obj, opts); - - this.dataObj.setSizes = function() { - google.maps.event.trigger(this, "resize"); - } - - obj = null; - - this.callEvent("_onContentAttach",[]); - - return this.dataObj; - -}; - -dhtmlXCellObject.prototype.attachChart = function(conf) { - - var obj = document.createElement("DIV"); - obj.id = "dhxChartObj_"+window.dhx4.newId(); - obj.style.width = "100%"; - obj.style.height = "100%"; - document.body.appendChild(obj); - this._attachObject(obj); - - conf.container = obj.id; - - this.dataType = "chart"; - this.dataObj = new dhtmlXChart(conf); - - if (!this.dataObj.setSizes) { - this.dataObj.setSizes = function() { - if (this.resize) this.resize(); else this.render(); - }; - } - - return this.dataObj; -}; - -/* menu/toolbar/ribbon/status */ - -// menu -dhtmlXCellObject.prototype.attachMenu = function(conf) { - - if (this.dataNodes.menu) return; // return this.dataNodes.menu? - - if (typeof(conf) == "undefined") conf = {}; - if (typeof(conf.skin) == "undefined") conf.skin = this.conf.skin; - conf.parent = this._attachObject("menu").firstChild; - - this.dataNodes.menu = new dhtmlXMenuObject(conf); - this._adjustCont(this._idd); - - conf.parent = null; - conf = null; - - return this.dataNodes.menu; - -}; - -dhtmlXCellObject.prototype.detachMenu = function() { - - if (!this.dataNodes.menu) return; - this.dataNodes.menu.unload(); - this.dataNodes.menu = null; - delete this.dataNodes.menu; - - this._detachObject("menu"); - -}; - -dhtmlXCellObject.prototype.showMenu = function() { - this._mtbShowHide("menu", ""); -}; - -dhtmlXCellObject.prototype.hideMenu = function() { - this._mtbShowHide("menu", "none"); -}; - -// toolbar - -dhtmlXCellObject.prototype.attachToolbar = function(conf) { - - if (!(this.dataNodes.ribbon == null && this.dataNodes.toolbar == null)) return; - - if (typeof(conf) == "undefined") { - conf = {}; - } else if (typeof(conf) == "string") { - conf = {skin:conf}; - } - if (typeof(conf.skin) == "undefined") conf.skin = this.conf.skin; - conf.parent = this._attachObject("toolbar").firstChild; - - this.dataNodes.toolbar = new dhtmlXToolbarObject(conf); - this._adjustCont(this._idd); - - this.dataNodes.toolbar._masterCell = this; - this.dataNodes.toolbar.attachEvent("_onIconSizeChange", function(){ - this._masterCell._adjustCont(); - }); - - conf.parent = null; - conf = null; - - return this.dataNodes.toolbar; - -}; - -dhtmlXCellObject.prototype.detachToolbar = function() { - - if (!this.dataNodes.toolbar) return; - this.dataNodes.toolbar._masterCell = null; // link to this - this.dataNodes.toolbar.unload(); - this.dataNodes.toolbar = null; - delete this.dataNodes.toolbar; - - this._detachObject("toolbar"); - -}; - -dhtmlXCellObject.prototype.showToolbar = function() { - this._mtbShowHide("toolbar", ""); -}; - -dhtmlXCellObject.prototype.hideToolbar = function() { - this._mtbShowHide("toolbar", "none"); -}; - -// ribbon, added in 4.0 -dhtmlXCellObject.prototype.attachRibbon = function(conf) { - - if (!(this.dataNodes.ribbon == null && this.dataNodes.toolbar == null)) return; - - if (typeof(conf) == "undefined") conf = {}; - if (typeof(conf.skin) == "undefined") conf.skin = this.conf.skin; - - conf.parent = this._attachObject("ribbon").firstChild; - - this.dataNodes.ribbon = new dhtmlXRibbon(conf); - - var t = this; - this.dataNodes.ribbon.attachEvent("_onHeightChanged", function(){ - t._adjustCont(t._idd); - }); - - this._adjustCont(); - - conf.parent = null; - conf = null; - - return this.dataNodes.ribbon; - -}; - -dhtmlXCellObject.prototype.detachRibbon = function() { - - if (!this.dataNodes.ribbon) return; - this.dataNodes.ribbon.unload(); - this.dataNodes.ribbon = null; - delete this.dataNodes.ribbon; - - this._detachObject("ribbon"); - -}; - -dhtmlXCellObject.prototype.showRibbon = function() { - this._mtbShowHide("ribbon", ""); -}; - -dhtmlXCellObject.prototype.hideRibbon = function() { - this._mtbShowHide("ribbon", "none"); -}; - - -// status bar - -dhtmlXCellObject.prototype.attachStatusBar = function(conf) { // args-optinal, new in version - - if (this.dataNodes.sb) return; // return this.dataNodes.sb? - - if (this.conf.skin == "dhx_skyblue" && typeof(window.dhtmlXWindowsCell) != "undefined" && (this instanceof dhtmlXWindowsCell)) { - this.cell.childNodes[this.conf.idx.cont].className += " dhx_cell_statusbar_attached"; - } - this.dataNodes.sb = this._attachObject("sb", conf); - - this.dataNodes.sb.setText = function(text) { this.childNodes[0].innerHTML = text; } - this.dataNodes.sb.getText = function() { return this.childNodes[0].innerHTML; } - this.dataNodes.sb.onselectstart = function(e) { return false; } - - return this.dataNodes.sb; - -}; - -dhtmlXCellObject.prototype.detachStatusBar = function() { - - if (!this.dataNodes.sb) return; - - if (this.conf.skin == "dhx_skyblue" && typeof(window.dhtmlXWindowsCell) != "undefined" && (this instanceof dhtmlXWindowsCell)) { - this.cell.childNodes[this.conf.idx.cont].className = this.cell.childNodes[this.conf.idx.cont].className.replace(/\s{0,}dhx_cell_statusbar_attached/,""); - } - - this.dataNodes.sb.setText = this.dataNodes.sb.getText = this.dataNodes.sb.onselectstart = null; - this.dataNodes.sb = null; - delete this.dataNodes.sb; - - this._detachObject("sb"); - -}; - -dhtmlXCellObject.prototype.showStatusBar = function() { - this._mtbShowHide("sb", ""); -}; - -dhtmlXCellObject.prototype.hideStatusBar = function() { - this._mtbShowHide("sb", "none"); -}; - -dhtmlXCellObject.prototype._mtbShowHide = function(name, disp) { - if (!this.dataNodes[name]) return; - this.cell.childNodes[this.conf.idx[name]].style.display = disp; - this._adjustCont(); -}; - - -/* private logic */ - -// !!! fix -dhtmlXCellObject.prototype.getFrame = dhtmlXCellObject.prototype._getFrame = function() { // _getFrame deprecated, use getFrame - if (this.dataType != "url") return null; - return this.cell.childNodes[this.conf.idx.cont].firstChild; -}; - - -dhtmlXCellObject.prototype._genStr = function() { - if (!this._genStrId) this._genStrId = new Date().getTime(); - return this._genStrId++; -}; - -dhtmlXCellObject.prototype._attachURLEvents = function() { - - if (this.dataType != "url") return; - - var t = this; - var cId = this._idd; - var fr = this.cell.childNodes[this.conf.idx.cont].firstChild; - - if (typeof(this._doOnFrameMouseDown) != "function") { - this._doOnFrameMouseDown = function(e) { - // console.log("frame mouse down"); // needed for windows to activate window - t.callEvent("_onContentMouseDown", [cId,e||event]); - } - } - - if (typeof(window.addEventListener) == "function") { - fr.onload = function() { - try { if (typeof(t._doOnFrameMouseDown) == "function") this.contentWindow.document.body.addEventListener("mousedown", t._doOnFrameMouseDown, false); } catch(e) {}; - try { if (typeof(t._doOnFrameContentLoaded) == "function") t._doOnFrameContentLoaded(); } catch(e) {}; - } - } else { - // ie8- - fr.onreadystatechange = function(a) { - if (this.readyState == "complete") { - try { if (typeof(t._doOnFrameMouseDown) == "function") this.contentWindow.document.body.attachEvent("onmousedown", t._doOnFrameMouseDown); } catch(e) {}; - try { if (typeof(t._doOnFrameContentLoaded) == "function") t._doOnFrameContentLoaded(); } catch(e) {}; - } - } - } - //fr = null; -}; - - -dhtmlXCellObject.prototype._doOnFrameContentLoaded = function() { - if (this.conf.url_data.post_ifr == true) { - var d = this.getFrame().contentWindow.document; - var f = d.createElement("FORM"); - f.method = "POST"; - f.action = this.conf.url_data.url; - d.body.appendChild(f); - var postData = {}; - postData["dhxr"+new Date().getTime()] = "1"; - for (var a in this.conf.url_data.post_data) postData[a] = this.conf.url_data.post_data[a]; - for (var a in postData) { - var k = d.createElement("INPUT"); - k.type = "hidden"; - k.name = a; - k.value = postData[a]; - f.appendChild(k); - k = null; - } - this.conf.url_data.post_ifr = false; - f.submit(); - } else { - this.callEvent("_onContentLoaded", [this._idd]); - } -}; - -dhtmlXCellObject.prototype._detachURLEvents = function(fr) { - if (fr == null) { - if (this.dataType != "url") return; - fr = this.cell.childNodes[this.conf.idx.cont].firstChild; - } - if (typeof(window.addEventListener) == "function") { - fr.onload = null; - try { fr.contentWindow.document.body.removeEventListener("mousedown", this._doOnFrameMouseDown, false); } catch(e) {/* console.log("error: url detach mousedown event fail"); */}; - } else { - fr.onreadystatechange = null; - try { fr.contentWindow.document.body.detachEvent("onmousedown", this._doOnFrameMouseDown); } catch(e) { }; - } - fr = null; -}; - - - - -dhtmlXCellObject.prototype._attachObject = function(obj, type, htmlString, append, node) { - - if (obj == "menu") { - - if (typeof(node) != "undefined") { - obj = node; - } else { - obj = document.createElement("DIV"); - obj.className = "dhx_cell_menu_"+(this.conf.borders?"def":"no_borders"); - obj.appendChild(document.createElement("DIV")); - } - - this.cell.insertBefore(obj, this.cell.childNodes[this.conf.idx.toolbar||this.conf.idx.cont]); // before toolbar or before cont, 0=hdr - - this.conf.ofs_nodes.t.menu = true; - this._updateIdx(); - // adjust cont will performed after toolbar init - - return obj; - } - - if (obj == "toolbar") { - - if (typeof(node) != "undefined") { - obj = node; - } else { - obj = document.createElement("DIV"); - obj.className = "dhx_cell_toolbar_"+(this.conf.borders?"def":"no_borders"); - obj.appendChild(document.createElement("DIV")); - obj.firstChild.className = "dhx_toolbar_base_18_dhx_skyblue"; - } - - this.cell.insertBefore(obj, this.cell.childNodes[this.conf.idx.cont]); // before cont only - - this.conf.ofs_nodes.t.toolbar = true; - this._updateIdx(); - // adjust cont will performed after toolbar init - - return obj; - } - - if (obj == "ribbon") { - - if (typeof(node) != "undefined") { - obj = node; - } else { - obj = document.createElement("DIV"); - obj.className = "dhx_cell_ribbon_"+(this.conf.borders?"def":"no_borders"); - obj.appendChild(document.createElement("DIV")); - } - - this.cell.insertBefore(obj, this.cell.childNodes[this.conf.idx.cont]); // before cont only - this.conf.ofs_nodes.t.ribbon = true; - this._updateIdx(); - this._adjustCont(this._idd); - - return obj; - } - - if (obj == "sb") { - - // type -> (object) conf={text:string,height:number} - - if (typeof(node) != "undefined") { - obj = node; - } else { - var conf = type||{}; - var text = (typeof(conf.text)=="string" && conf.text.length > 0 ? conf.text : " "); - var h = (typeof(conf.height) == "number" ? conf.height : false); - var obj = document.createElement("DIV"); - //obj.className = "dhx_cell_statusbar_"+(this.conf.borders?"def":"no_borders"); - obj.className = "dhx_cell_statusbar_def"; - obj.innerHTML = "
              "+text+"
              "; - - // height, optional - if (h != false) obj.firstChild.style.height = obj.firstChild.style.lineHeight = h+"px"; - } - - // before progress or last - if (this.conf.idx.pr1 != null) { - this.cell.insertBefore(obj, this.cell.childNodes[this.conf.idx.pr1]); - } else { - this.cell.appendChild(obj); - } - - this.conf.ofs_nodes.b.sb = true; - this._updateIdx(); - this._adjustCont(this._idd); - - return obj; - } - - if (append != true) this._detachObject(null, true, null); - - if (typeof(htmlString) == "string") { - this.cell.childNodes[this.conf.idx.cont].innerHTML = htmlString; - } else { - this.cell.childNodes[this.conf.idx.cont].appendChild(obj); - } - - obj = null; -}; - -dhtmlXCellObject.prototype._detachObject = function(obj, remove, moveTo) { - - this.callEvent("_onBeforeContentDetach",[]); - - if (obj == "menu" || obj == "toolbar" || obj == "ribbon" || obj == "sb") { - - var p = this.cell.childNodes[this.conf.idx[obj]]; - p.parentNode.removeChild(p); - p = null; - - this.conf.ofs_nodes[obj=="sb"?"b":"t"][obj] = false; - - this._updateIdx(); - if (!this.conf.unloading) this._adjustCont(this._idd); - - return; - } - - if (remove == true) { - moveTo = false; - } else { - if (typeof(moveTo) == "undefined") { - moveTo = document.body; - } else { - if (typeof(moveTo) == "string") moveTo = document.getElementById(moveTo); - } - } - - // clear obj - - if (moveTo === false) { - if (this.dataType == "url") { - this._detachURLEvents(); - } else if (this.dataObj != null) { - if (typeof(this.dataObj.unload) == "function") { - this.dataObj.unload(); - } else if (typeof(this.dataObj.destructor) == "function") { - this.dataObj.destructor(); // at least for grid - } - } - } - - // clear cell cont - var p = this.cell.childNodes[this.conf.idx.cont]; - while (p.childNodes.length > 0) { - if (moveTo === false) { - p.removeChild(p.lastChild); - } else { - p.firstChild.style.display = "none"; // replace with/add - visibility:hidden? - moveTo.appendChild(p.firstChild); - } - } - - if (this.conf.append_mode) { - p.style.overflow = ""; - this.conf.append_mode = false; - } - - var resetHdrBrd = (this.dataType == "tabbar"); - - this.dataObj = null; - this.dataType = null; - - moveTo = p = null; - - if (this.conf.unloading != true && resetHdrBrd) { - this.showHeader(true); - this._showBorders(); - } - -}; - -// for dock/undock -dhtmlXCellObject.prototype._attachFromCell = function(cell) { - - // clear existing - this.detachObject(true); - - var mode = "layout"; - if (typeof(window.dhtmlXWindowsCell) != "undefined" && this instanceof window.dhtmlXWindowsCell) { - mode = "window"; - } - - // check opacity: - // 1) detach from window cell, opacity set to 0.4 - if (typeof(window.dhtmlXWindowsCell) != "undefined" && cell instanceof window.dhtmlXWindowsCell && cell.wins.w[cell._idd].conf.parked) { - cell.wins._winCellSetOpacity(cell._idd, "open", false); - } - // 2) acc-cell collapsed - if (typeof(window.dhtmlXAccordionCell) != "undefined" && cell instanceof window.dhtmlXAccordionCell && cell.conf.opened == false) { - cell._cellSetOpacity("open", false); - } - - // menu, toolbar, status - for (var a in cell.dataNodes) { - - this._attachObject(a, null, null, null, cell.cell.childNodes[cell.conf.idx[a]]); - this.dataNodes[a] = cell.dataNodes[a]; - - cell.dataNodes[a] = null; - cell.conf.ofs_nodes[a=="sb"?"b":"t"][a] = false; - cell._updateIdx(); - - } - - this._mtbUpdBorder(); - - if (cell.dataType != null && cell.dataObj != null) { - this.dataType = cell.dataType; - this.dataObj = cell.dataObj; - while (cell.cell.childNodes[cell.conf.idx.cont].childNodes.length > 0) { - this.cell.childNodes[this.conf.idx.cont].appendChild(cell.cell.childNodes[cell.conf.idx.cont].firstChild); - } - cell.dataType = null; - cell.dataObj = null; - - // fixes - if (this.dataType == "grid") { - if (mode == "window" && this.conf.skin == "dhx_skyblue") { - this.dataObj.entBox.style.border = "1px solid #a4bed4"; - this.dataObj._sizeFix = 0; - } else { - this.dataObj.entBox.style.border = "0px solid white"; - this.dataObj._sizeFix = 2; - } - } - } else { - // for attached urls and objects simple move them - while (cell.cell.childNodes[cell.conf.idx.cont].childNodes.length > 0) { - this.cell.childNodes[this.conf.idx.cont].appendChild(cell.cell.childNodes[cell.conf.idx.cont].firstChild); - } - } - - this.conf.view = cell.conf.view; - cell.conf.view = "def"; - for (var a in cell.views) { - this.views[a] = cell.views[a]; - cell.views[a] = null; - delete cell.views[a]; - } - - cell._updateIdx(); - cell._adjustCont(); - - this._updateIdx(); - this._adjustCont(); - - // check opacity, set opacity to 0.4 - // 1) attach to window cell, window parked - if (mode == "window" && this.wins.w[this._idd].conf.parked) { - this.wins._winCellSetOpacity(this._idd, "close", false); - } - -}; diff --git a/themes/sources4.0/dhtmlxCommon/codebase/dhtmlxcore.js b/themes/sources4.0/dhtmlxCommon/codebase/dhtmlxcore.js deleted file mode 100644 index b0f5672..0000000 --- a/themes/sources4.0/dhtmlxCommon/codebase/dhtmlxcore.js +++ /dev/null @@ -1,2575 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* -Copyright DHTMLX LTD. http://www.dhtmlx.com -You allowed to use this component or parts of it under GPL terms -To use it on other terms or get Professional edition of the component please contact us at sales@dhtmlx.com -*/ -/* -2014 March 19 -*/ - - - -/* DHX DEPEND FROM FILE 'assert.js'*/ - - -if (!window.dhtmlx) - dhtmlx={}; - -//check some rule, show message as error if rule is not correct -dhtmlx.assert = function(test, message){ - if (!test) dhtmlx.error(message); -}; -dhtmlx.assert_enabled=function(){ return false; }; - -//register names of event, which can be triggered by the object -dhtmlx.assert_event = function(obj, evs){ - if (!obj._event_check){ - obj._event_check = {}; - obj._event_check_size = {}; - } - - for (var a in evs){ - obj._event_check[a.toLowerCase()]=evs[a]; - var count=-1; for (var t in evs[a]) count++; - obj._event_check_size[a.toLowerCase()]=count; - } -}; -dhtmlx.assert_method_info=function(obj, name, descr, rules){ - var args = []; - for (var i=0; i < rules.length; i++) { - args.push(rules[i][0]+" : "+rules[i][1]+"\n "+rules[i][2].describe()+(rules[i][3]?"; optional":"")); - } - return obj.name+"."+name+"\n"+descr+"\n Arguments:\n - "+args.join("\n - "); -}; -dhtmlx.assert_method = function(obj, config){ - for (var key in config) - dhtmlx.assert_method_process(obj, key, config[key].descr, config[key].args, (config[key].min||99), config[key].skip); -}; -dhtmlx.assert_method_process = function (obj, name, descr, rules, min, skip){ - var old = obj[name]; - if (!skip) - obj[name] = function(){ - if (arguments.length != rules.length && arguments.length < min) - dhtmlx.log("warn","Incorrect count of parameters\n"+obj[name].describe()+"\n\nExpecting "+rules.length+" but have only "+arguments.length); - else - for (var i=0; i= 0) return true; - return false; - }; - dhtmlx.assert_rule_dimension.describe=function(){ - return "{Integer} value must be a positive number"; - }; - - dhtmlx.assert_rule_number=function(check){ - if (typeof check == "number") return true; - return false; - }; - dhtmlx.assert_rule_number.describe=function(){ - return "{Integer} value must be a number"; - }; - - dhtmlx.assert_rule_function=function(check){ - if (typeof check == "function") return true; - return false; - }; - dhtmlx.assert_rule_function.describe=function(){ - return "{Function} value must be a custom function"; - }; - - dhtmlx.assert_rule_any=function(check){ - return true; - }; - dhtmlx.assert_rule_any.describe=function(){ - return "Any value"; - }; - - dhtmlx.assert_rule_mix=function(a,b){ - var t = function(check){ - if (a(check)||b(check)) return true; - return false; - }; - t.describe = function(){ - return a.describe(); - }; - return t; - }; - -} - - -/* DHX DEPEND FROM FILE 'dhtmlx.js'*/ - - -/*DHX:Depend assert.js*/ - -/* - Common helpers -*/ -dhtmlx.version="3.0"; -dhtmlx.codebase="./"; - -//coding helpers - -dhtmlx.copy = function(source){ - var f = dhtmlx.copy._function; - f.prototype = source; - return new f(); -}; -dhtmlx.copy._function = function(){}; - -//copies methods and properties from source to the target -dhtmlx.extend = function(target, source){ - for (var method in source) - target[method] = source[method]; - - //applying asserts - if (dhtmlx.assert_enabled() && source._assert){ - target._assert(); - target._assert=null; - } - - dhtmlx.assert(target,"Invalid nesting target"); - dhtmlx.assert(source,"Invalid nesting source"); - //if source object has init code - call init against target - if (source._init) - target._init(); - - return target; -}; -dhtmlx.proto_extend = function(){ - var origins = arguments; - var compilation = origins[0]; - var construct = []; - - for (var i=origins.length-1; i>0; i--) { - if (typeof origins[i]== "function") - origins[i]=origins[i].prototype; - for (var key in origins[i]){ - if (key == "_init") - construct.push(origins[i][key]); - else if (!compilation[key]) - compilation[key] = origins[i][key]; - } - }; - - if (origins[0]._init) - construct.push(origins[0]._init); - - compilation._init = function(){ - for (var i=0; i handler - this._handlers = {}; //hash of event handlers, ID => handler - this._map = {}; - }, - //temporary block event triggering - block : function(){ - this._events._block = true; - }, - //re-enable event triggering - unblock : function(){ - this._events._block = false; - }, - mapEvent:function(map){ - dhtmlx.extend(this._map, map); - }, - //trigger event - callEvent:function(type,params){ - if (this._events._block) return true; - - type = type.toLowerCase(); - dhtmlx.assert_event_call(this, type, params); - - var event_stack =this._events[type.toLowerCase()]; //all events for provided name - var return_value = true; - - if (dhtmlx.debug) //can slowdown a lot - dhtmlx.log("info","["+this.name+"] event:"+type,params); - - if (event_stack) - for(var i=0; i=0) this.splice(pos,(len||1)); - }, - //find element in collection and remove it - remove:function(value){ - this.removeAt(this.find(value)); - }, - //add element to collection at specific position - insertAt:function(data,pos){ - if (!pos && pos!==0) //add to the end by default - this.push(data); - else { - var b = this.splice(pos,(this.length-pos)); - this[pos] = data; - this.push.apply(this,b); //reconstruct array without loosing this pointer - } - }, - //return index of element, -1 if it doesn't exists - find:function(data){ - for (i=0; ito){ //can be in case of backward shift-selection - var a=to; to=from; from=a; - } - - return this.getIndexRange(from,to); - }, - //converts range of indexes to array of all IDs between them - getIndexRange:function(from,to){ - to=Math.min((to||Infinity),this.dataCount()-1); - - var ret=dhtmlx.toArray(); //result of method is rich-array - for (var i=(from||0); i <= to; i++) - ret.push(this.item(this.order[i])); - return ret; - }, - //returns total count of elements - dataCount:function(){ - return this.order.length; - }, - //returns truy if item with such ID exists - exists:function(id){ - return !!(this.pull[id]); - }, - //nextmethod is not visible on component level, check DataMove.move - //moves item from source index to the target index - move:function(sindex,tindex){ - if (sindex<0 || tindex<0){ - dhtmlx.error("DataStore::move","Incorrect indexes"); - return; - } - - var id = this.idByIndex(sindex); - var obj = this.item(id); - - this.order.removeAt(sindex); //remove at old position - //if (sindex data_size){ - dhtmlx.log("Warning","DataStore:add","Index of out of bounds"); - index = Math.min(this.order.length,index); - } - if (this.callEvent("onBeforeAdd", [id, obj, index]) === false) return false; - - if (this.exists(id)) return dhtmlx.error("Not unique ID"); - - this.pull[id]=obj; - this.order.insertAt(id,index); - if (this._filter_order){ //adding during filtering - //we can't know the location of new item in full dataset, making suggestion - //put at end by default - var original_index = this._filter_order.length; - //put at start only if adding to the start and some data exists - if (!index && this.order.length) - original_index = 0; - - this._filter_order.insertAt(id,original_index); - } - this.callEvent("onafterAdd",[id,index]); - //repaint signal - this.callEvent("onStoreUpdated",[id,obj,"add"]); - return id; - }, - - //removes element from datastore - remove:function(id){ - //id can be an array of IDs - result of getSelect, for example - if (id instanceof Array){ - for (var i=0; i < id.length; i++) - this.remove(id[i]); - return; - } - if (this.callEvent("onBeforeDelete",[id]) === false) return false; - if (!this.exists(id)) return dhtmlx.error("Not existing ID",id); - var obj = this.item(id); //save for later event - //clear from collections - this.order.remove(id); - if (this._filter_order) - this._filter_order.remove(id); - - delete this.pull[id]; - this.callEvent("onafterdelete",[id]); - //repaint signal - this.callEvent("onStoreUpdated",[id,obj,"delete"]); - }, - //deletes all records in datastore - clearAll:function(){ - //instead of deleting one by one - just reset inner collections - this.pull = {}; - this.order = dhtmlx.toArray(); - this.feed = null; - this._filter_order = null; - this.callEvent("onClearAll",[]); - this.refresh(); - }, - //converts id to index - idByIndex:function(index){ - if (index>=this.order.length || index<0) - dhtmlx.log("Warning","DataStore::idByIndex Incorrect index"); - - return this.order[index]; - }, - //converts index to id - indexById:function(id){ - var res = this.order.find(id); //slower than idByIndex - - //if (!this.pull[id]) - // dhtmlx.log("Warning","DataStore::indexById Non-existing ID: "+ id); - - return res; - }, - //returns ID of next element - next:function(id,step){ - return this.order[this.indexById(id)+(step||1)]; - }, - //returns ID of first element - first:function(){ - return this.order[0]; - }, - //returns ID of last element - last:function(){ - return this.order[this.order.length-1]; - }, - //returns ID of previous element - previous:function(id,step){ - return this.order[this.indexById(id)-(step||1)]; - }, - /* - sort data in collection - by - settings of sorting - - or - - by - sorting function - dir - "asc" or "desc" - - or - - by - property - dir - "asc" or "desc" - as - type of sortings - - Sorting function will accept 2 parameters and must return 1,0,-1, based on desired order - */ - sort:function(by, dir, as){ - var sort = by; - if (typeof by == "function") - sort = {as:by, dir:dir}; - else if (typeof by == "string") - sort = {by:by, dir:dir, as:as}; - - - var parameters = [sort.by, sort.dir, sort.as]; - if (!this.callEvent("onbeforesort",parameters)) return; - - if (this.order.length){ - var sorter = dhtmlx.sort.create(sort); - //get array of IDs - var neworder = this.getRange(this.first(), this.last()); - neworder.sort(sorter); - this.order = neworder.map(function(obj){ return this.id(obj); },this); - } - - //repaint self - this.refresh(); - - this.callEvent("onaftersort",parameters); - }, - /* - Filter datasource - - text - property, by which filter - value - filter mask - - or - - text - filter method - - Filter method will receive data object and must return true or false - */ - filter:function(text,value){ - if (!this.callEvent("onBeforeFilter", [text, value])) return; - - //remove previous filtering , if any - if (this._filter_order){ - this.order = this._filter_order; - delete this._filter_order; - } - - if (!this.order.length) return; - - //if text not define -just unfilter previous state and exit - if (text){ - var filter = text; - value = value||""; - if (typeof text == "string"){ - text = dhtmlx.Template.fromHTML(text); - value = value.toString().toLowerCase(); - filter = function(obj,value){ //default filter - string start from, case in-sensitive - return text(obj).toLowerCase().indexOf(value)!=-1; - }; - } - - - var neworder = dhtmlx.toArray(); - for (var i=0; i < this.order.length; i++){ - var id = this.order[i]; - if (filter(this.item(id),value)) - neworder.push(id); - } - //set new order of items, store original - this._filter_order = this.order; - this.order = neworder; - } - //repaint self - this.refresh(); - - this.callEvent("onAfterFilter", []); - }, - /* - Iterate through collection - */ - each:function(method,master){ - for (var i=0; ib?1:(ab?1:(ab?1:(a value - // {obj.attr} => named attribute or value of sub-tag in case of xml - // {obj.attr?some:other} conditional output - // {-obj => sub-template - str=(str||"").toString(); - str=str.replace(/[\r\n]+/g,"\\n"); - str=str.replace(/\{obj\.([^}?]+)\?([^:]*):([^}]*)\}/g,"\"+(obj.$1?\"$2\":\"$3\")+\""); - str=str.replace(/\{common\.([^}\(]*)\}/g,"\"+common.$1+\""); - str=str.replace(/\{common\.([^\}\(]*)\(\)\}/g,"\"+(common.$1?common.$1(obj):\"\")+\""); - str=str.replace(/\{obj\.([^}]*)\}/g,"\"+obj.$1+\""); - str=str.replace(/#([a-z0-9_]+)#/gi,"\"+obj.$1+\""); - str=str.replace(/\{obj\}/g,"\"+obj+\""); - str=str.replace(/\{-obj/g,"{obj"); - str=str.replace(/\{-common/g,"{common"); - str="return \""+str+"\";"; - return this._cache[str]= Function("obj","common",str); - } -}; - -dhtmlx.Type={ - /* - adds new template-type - obj - object to which template will be added - data - properties of template - */ - add:function(obj, data){ - //auto switch to prototype, if name of class was provided - if (!obj.types && obj.prototype.types) - obj = obj.prototype; - //if (typeof data == "string") - // data = { template:data }; - - if (dhtmlx.assert_enabled()) - this.assert_event(data); - - var name = data.name||"default"; - - //predefined templates - autoprocessing - this._template(data); - this._template(data,"edit"); - this._template(data,"loading"); - - obj.types[name]=dhtmlx.extend(dhtmlx.extend({},(obj.types[name]||this._default)),data); - return name; - }, - //default template value - basically empty box with 5px margin - _default:{ - css:"default", - template:function(){ return ""; }, - template_edit:function(){ return ""; }, - template_loading:function(){ return "..."; }, - width:150, - height:80, - margin:5, - padding:0 - }, - //template creation helper - _template:function(obj,name){ - name = "template"+(name?("_"+name):""); - var data = obj[name]; - //if template is a string - check is it plain string or reference to external content - if (data && (typeof data == "string")){ - if (data.indexOf("->")!=-1){ - data = data.split("->"); - switch(data[0]){ - case "html": //load from some container on the page - data = dhtmlx.html.getValue(data[1]).replace(/\"/g,"\\\""); - break; - case "http": //load from external file - data = new dhtmlx.ajax().sync().get(data[1],{uid:(new Date()).valueOf()}).responseText; - break; - default: - //do nothing, will use template as is - break; - } - } - obj[name] = dhtmlx.Template.fromHTML(data); - } - } -}; - - -/* DHX DEPEND FROM FILE 'single_render.js'*/ - - -/* - REnders single item. - Can be used for elements without datastore, or with complex custom rendering logic - - @export - render -*/ - -/*DHX:Depend template.js*/ - -dhtmlx.SingleRender={ - _init:function(){ - }, - //convert item to the HTML text - _toHTML:function(obj){ - /* - this one doesn't support per-item-$template - it has not sense, because we have only single item per object - */ - return this.type._item_start(obj,this.type)+this.type.template(obj,this.type)+this.type._item_end; - }, - //render self, by templating data object - render:function(){ - if (!this.callEvent || this.callEvent("onBeforeRender",[this.data])){ - if (this.data) - this._dataobj.innerHTML = this._toHTML(this.data); - if (this.callEvent) this.callEvent("onAfterRender",[]); - } - } -}; - - -/* DHX DEPEND FROM FILE 'tooltip.js'*/ - - -/* - UI: Tooltip - - @export - show - hide -*/ - -/*DHX:Depend tooltip.css*/ -/*DHX:Depend template.js*/ -/*DHX:Depend single_render.js*/ - -dhtmlx.ui.Tooltip=function(container){ - this.name = "Tooltip"; - this.version = "3.0"; - - if (dhtmlx.assert_enabled()) this._assert(); - - if (typeof container == "string"){ - container = { template:container }; - } - - dhtmlx.extend(this, dhtmlx.Settings); - dhtmlx.extend(this, dhtmlx.SingleRender); - this._parseSettings(container,{ - type:"default", - dy:0, - dx:20 - }); - - //create container for future tooltip - this._dataobj = this._obj = document.createElement("DIV"); - this._obj.className="dhx_tooltip"; - dhtmlx.html.insertBefore(this._obj,document.body.firstChild); -}; -dhtmlx.ui.Tooltip.prototype = { - //show tooptip - //pos - object, pos.x - left, pox.y - top - show:function(data,pos){ - if (this._disabled) return; - //render sefl only if new data was provided - if (this.data!=data){ - this.data=data; - this.render(data); - } - //show at specified position - this._obj.style.top = pos.y+this._settings.dy+"px"; - this._obj.style.left = pos.x+this._settings.dx+"px"; - this._obj.style.display="block"; - }, - //hide tooltip - hide:function(){ - this.data=null; //nulify, to be sure that on next show it will be fresh-rendered - this._obj.style.display="none"; - }, - disable:function(){ - this._disabled = true; - }, - enable:function(){ - this._disabled = false; - }, - types:{ - "default":dhtmlx.Template.fromHTML("{obj.id}") - }, - template_item_start:dhtmlx.Template.empty, - template_item_end:dhtmlx.Template.empty -}; - - - -/* DHX DEPEND FROM FILE 'autotooltip.js'*/ - - -/* - Behavior: AutoTooltip - links tooltip to data driven item -*/ - -/*DHX:Depend tooltip.js*/ - -dhtmlx.AutoTooltip = { - tooltip_setter:function(value){ - var t = new dhtmlx.ui.Tooltip(value); - this.attachEvent("onMouseMove",function(id,e){ //show tooltip on mousemove - t.show(this.get(id),dhtmlx.html.pos(e)); - }); - this.attachEvent("onMouseOut",function(id,e){ //hide tooltip on mouseout - t.hide(); - }); - this.attachEvent("onMouseMoving",function(id,e){ //hide tooltip just after moving start - t.hide(); - }); - return t; - } -}; - - -/* DHX DEPEND FROM FILE 'compatibility.js'*/ - - -/* - Collection of compatibility hacks -*/ - -/*DHX:Depend dhtmlx.js*/ - -dhtmlx.compat=function(name, obj){ - //check if name hash present, and applies it when necessary - if (dhtmlx.compat[name]) - dhtmlx.compat[name](obj); -}; - - -(function(){ - if (!window.dhtmlxError){ - //dhtmlxcommon is not included - - //create fake error tracker for connectors - var dummy = function(){}; - window.dhtmlxError={ catchError:dummy, throwError:dummy }; - //helpers instead of ones from dhtmlxcommon - window.convertStringToBoolean=function(value){ - return !!value; - }; - window.dhtmlxEventable = function(node){ - dhtmlx.extend(node,dhtmlx.EventSystem); - }; - //imitate ajax layer of dhtmlxcommon - var loader = { - getXMLTopNode:function(name){ - - }, - doXPath:function(path){ - return dhtmlx.DataDriver.xml.xpath(this.xml,path); - }, - xmlDoc:{ - responseXML:true - } - }; - //wrap ajax methods of dataprocessor - dhtmlx.compat.dataProcessor=function(obj){ - //FIXME - //this is pretty ugly solution - we replace whole method , so changes in dataprocessor need to be reflected here - - var sendData = "_sendData"; - var in_progress = "_in_progress"; - var tMode = "_tMode"; - var waitMode = "_waitMode"; - - obj[sendData]=function(a1,rowId){ - if (!a1) return; //nothing to send - if (rowId) - this[in_progress][rowId]=(new Date()).valueOf(); - - if (!this.callEvent("onBeforeDataSending",rowId?[rowId,this.getState(rowId)]:[])) return false; - - var a2 = this; - var a3=this.serverProcessor; - if (this[tMode]!="POST") - //use dhtmlx.ajax instead of old ajax layer - dhtmlx.ajax().get(a3+((a3.indexOf("?")!=-1)?"&":"?")+this.serialize(a1,rowId),"",function(t,x,xml){ - loader.xml = dhtmlx.DataDriver.xml.checkResponse(t,x); - a2.afterUpdate(a2, null, null, null, loader); - }); - else - dhtmlx.ajax().post(a3,this.serialize(a1,rowId),function(t,x,xml){ - loader.xml = dhtmlx.DataDriver.xml.checkResponse(t,x); - a2.afterUpdate(a2, null, null, null, loader); - }); - - this[waitMode]++; - }; - }; - } - -})(); - - -/* DHX DEPEND FROM FILE 'compatibility_layout.js'*/ - - -/*DHX:Depend dhtmlx.js*/ -/*DHX:Depend compatibility.js*/ - -if (!dhtmlx.attaches) - dhtmlx.attaches = {}; - -dhtmlx.attaches.attachAbstract=function(name, conf){ - var obj = document.createElement("DIV"); - obj.id = "CustomObject_"+dhtmlx.uid(); - obj.style.width = "100%"; - obj.style.height = "100%"; - obj.cmp = "grid"; - document.body.appendChild(obj); - this.attachObject(obj.id); - - conf.container = obj.id; - - var that = this.vs[this.av]; - that.grid = new window[name](conf); - - that.gridId = obj.id; - that.gridObj = obj; - - - that.grid.setSizes = function(){ - if (this.resize) this.resize(); - else this.render(); - }; - - var method_name="_viewRestore"; - return this.vs[this[method_name]()].grid; -}; -dhtmlx.attaches.attachDataView = function(conf){ - return this.attachAbstract("dhtmlXDataView",conf); -}; -dhtmlx.attaches.attachChart = function(conf){ - return this.attachAbstract("dhtmlXChart",conf); -}; - -dhtmlx.compat.layout = function(){}; - - - diff --git a/themes/sources4.0/dhtmlxCommon/codebase/dhtmlxdataprocessor.js b/themes/sources4.0/dhtmlxCommon/codebase/dhtmlxdataprocessor.js deleted file mode 100644 index a04a4af..0000000 --- a/themes/sources4.0/dhtmlxCommon/codebase/dhtmlxdataprocessor.js +++ /dev/null @@ -1,591 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/** - * @desc: constructor, data processor object - * @param: serverProcessorURL - url used for update - * @type: public - */ -function dataProcessor(serverProcessorURL){ - this.serverProcessor = serverProcessorURL; - this.action_param="!nativeeditor_status"; - - this.object = null; - this.updatedRows = []; //ids of updated rows - - this.autoUpdate = true; - this.updateMode = "cell"; - this._tMode="GET"; - this.post_delim = "_"; - - this._waitMode=0; - this._in_progress={};//? - this._invalid={}; - this.mandatoryFields=[]; - this.messages=[]; - - this.styles={ - updated:"font-weight:bold;", - inserted:"font-weight:bold;", - deleted:"text-decoration : line-through;", - invalid:"background-color:FFE0E0;", - invalid_cell:"border-bottom:2px solid red;", - error:"color:red;", - clear:"font-weight:normal;text-decoration:none;" - }; - - this.enableUTFencoding(true); - dhtmlxEventable(this); - - return this; - } - -dataProcessor.prototype={ - /** - * @desc: select GET or POST transaction model - * @param: mode - GET/POST - * @param: total - true/false - send records row by row or all at once (for grid only) - * @type: public - */ - setTransactionMode:function(mode,total){ - this._tMode=mode; - this._tSend=total; - }, - escape:function(data){ - if (this._utf) - return encodeURIComponent(data); - else - return escape(data); - }, - /** - * @desc: allows to set escaping mode - * @param: true - utf based escaping, simple - use current page encoding - * @type: public - */ - enableUTFencoding:function(mode){ - this._utf=convertStringToBoolean(mode); - }, - /** - * @desc: allows to define, which column may trigger update - * @param: val - array or list of true/false values - * @type: public - */ - setDataColumns:function(val){ - this._columns=(typeof val == "string")?val.split(","):val; - }, - /** - * @desc: get state of updating - * @returns: true - all in sync with server, false - some items not updated yet. - * @type: public - */ - getSyncState:function(){ - return !this.updatedRows.length; - }, - /** - * @desc: enable/disable named field for data syncing, will use column ids for grid - * @param: mode - true/false - * @type: public - */ - enableDataNames:function(mode){ - this._endnm=convertStringToBoolean(mode); - }, - /** - * @desc: enable/disable mode , when only changed fields and row id send to the server side, instead of all fields in default mode - * @param: mode - true/false - * @type: public - */ - enablePartialDataSend:function(mode){ - this._changed=convertStringToBoolean(mode); - }, - /** - * @desc: set if rows should be send to server automaticaly - * @param: mode - "row" - based on row selection changed, "cell" - based on cell editing finished, "off" - manual data sending - * @type: public - */ - setUpdateMode:function(mode,dnd){ - this.autoUpdate = (mode=="cell"); - this.updateMode = mode; - this.dnd=dnd; - }, - ignore:function(code,master){ - this._silent_mode=true; - code.call(master||window); - this._silent_mode=false; - }, - /** - * @desc: mark row as updated/normal. check mandatory fields,initiate autoupdate (if turned on) - * @param: rowId - id of row to set update-status for - * @param: state - true for "updated", false for "not updated" - * @param: mode - update mode name - * @type: public - */ - setUpdated:function(rowId,state,mode){ - if (this._silent_mode) return; - var ind=this.findRow(rowId); - - mode=mode||"updated"; - var existing = this.obj.getUserData(rowId,this.action_param); - if (existing && mode == "updated") mode=existing; - if (state){ - this.set_invalid(rowId,false); //clear previous error flag - this.updatedRows[ind]=rowId; - this.obj.setUserData(rowId,this.action_param,mode); - if (this._in_progress[rowId]) - this._in_progress[rowId]="wait"; - } else{ - if (!this.is_invalid(rowId)){ - this.updatedRows.splice(ind,1); - this.obj.setUserData(rowId,this.action_param,""); - } - } - - //clear changed flag - if (!state) - this._clearUpdateFlag(rowId); - - this.markRow(rowId,state,mode); - if (state && this.autoUpdate) this.sendData(rowId); - }, - _clearUpdateFlag:function(id){}, - markRow:function(id,state,mode){ - var str=""; - var invalid=this.is_invalid(id); - if (invalid){ - str=this.styles[invalid]; - state=true; - } - if (this.callEvent("onRowMark",[id,state,mode,invalid])){ - //default logic - str=this.styles[state?mode:"clear"]+str; - - this.obj[this._methods[0]](id,str); - - if (invalid && invalid.details){ - str+=this.styles[invalid+"_cell"]; - for (var i=0; i < invalid.details.length; i++) - if (invalid.details[i]) - this.obj[this._methods[1]](id,i,str); - } - } - }, - getState:function(id){ - return this.obj.getUserData(id,this.action_param); - }, - is_invalid:function(id){ - return this._invalid[id]; - }, - set_invalid:function(id,mode,details){ - if (details) mode={value:mode, details:details, toString:function(){ return this.value.toString(); }}; - this._invalid[id]=mode; - }, - /** - * @desc: check mandatory fields and varify values of cells, initiate update (if specified) - * @param: rowId - id of row to set update-status for - * @type: public - */ - checkBeforeUpdate:function(rowId){ - return true; - }, - /** - * @desc: send row(s) values to server - * @param: rowId - id of row which data to send. If not specified, then all "updated" rows will be send - * @type: public - */ - sendData:function(rowId){ - if (this._waitMode && (this.obj.mytype=="tree" || this.obj._h2)) return; - if (this.obj.editStop) this.obj.editStop(); - - - if(typeof rowId == "undefined" || this._tSend) return this.sendAllData(); - if (this._in_progress[rowId]) return false; - - this.messages=[]; - if (!this.checkBeforeUpdate(rowId) && this.callEvent("onValidationError",[rowId,this.messages])) return false; - this._beforeSendData(this._getRowData(rowId),rowId); - }, - _beforeSendData:function(data,rowId){ - if (!this.callEvent("onBeforeUpdate",[rowId,this.getState(rowId),data])) return false; - this._sendData(data,rowId); - }, - serialize:function(data, id){ - if (typeof data == "string") - return data; - if (typeof id != "undefined") - return this.serialize_one(data,""); - else{ - var stack = []; - var keys = []; - for (var key in data) - if (data.hasOwnProperty(key)){ - stack.push(this.serialize_one(data[key],key+this.post_delim)); - keys.push(key); - } - stack.push("ids="+this.escape(keys.join(","))); - if (dhtmlx.security_key) - stack.push("dhx_security="+dhtmlx.security_key); - return stack.join("&"); - } - }, - serialize_one:function(data, pref){ - if (typeof data == "string") - return data; - var stack = []; - for (var key in data) - if (data.hasOwnProperty(key)) - stack.push(this.escape((pref||"")+key)+"="+this.escape(data[key])); - return stack.join("&"); - }, - _sendData:function(a1,rowId){ - if (!a1) return; //nothing to send - if (!this.callEvent("onBeforeDataSending",rowId?[rowId,this.getState(rowId),a1]:[null, null, a1])) return false; - - if (rowId) - this._in_progress[rowId]=(new Date()).valueOf(); - var a2=new dtmlXMLLoaderObject(this.afterUpdate,this,true); - - var a3 = this.serverProcessor+(this._user?(getUrlSymbol(this.serverProcessor)+["dhx_user="+this._user,"dhx_version="+this.obj.getUserData(0,"version")].join("&")):""); - - if (this._tMode!="POST") - a2.loadXML(a3+((a3.indexOf("?")!=-1)?"&":"?")+this.serialize(a1,rowId)); - else - a2.loadXML(a3,true,this.serialize(a1,rowId)); - - this._waitMode++; - }, - sendAllData:function(){ - if (!this.updatedRows.length) return; - - this.messages=[]; var valid=true; - for (var i=0; i1){ - var target = arguments[0]; - source = arguments[1]; - } else - var target = (dhx.isArray(source)?[]:{}); - - for (var method in source){ - if(source[method] && typeof source[method] == "object" && !dhx.isDate(source[method])){ - target[method] = (dhx.isArray(source[method])?[]:{}); - dhx.copy(target[method],source[method]); - }else{ - target[method] = source[method]; - } - } - - return target; -}; - - -dhx.single = function(source){ - var instance = null; - var t = function(config){ - if (!instance) - instance = new source({}); - - if (instance._reinit) - instance._reinit.apply(instance, arguments); - return instance; - }; - return t; -}; - -dhx.protoUI = function(){ - if (dhx.debug_proto) - dhx.log("UI registered: "+arguments[0].name); - - var origins = arguments; - var selfname = origins[0].name; - - var t = function(data){ - if (!t) - return dhx.ui[selfname].prototype; - - var origins = t._dhx_proto_wait; - if (origins){ - var params = [origins[0]]; - - for (var i=1; i < origins.length; i++){ - params[i] = origins[i]; - - if (params[i]._dhx_proto_wait) - params[i] = params[i].call(dhx, params[i].name); - - if (params[i].prototype && params[i].prototype.name) - dhx.ui[params[i].prototype.name] = params[i]; - } - dhx.ui[selfname] = dhx.proto.apply(dhx, params); - if (t._dhx_type_wait) - for (var i=0; i < t._dhx_type_wait.length; i++) - dhx.Type(dhx.ui[selfname], t._dhx_type_wait[i]); - - t = origins = null; - } - - if (this != dhx) - return new dhx.ui[selfname](data); - else - return dhx.ui[selfname]; - }; - t._dhx_proto_wait = Array.prototype.slice.call(arguments, 0); - return dhx.ui[selfname]=t; -}; - -dhx.proto = function(){ - - if (dhx.debug_proto) - dhx.log("Proto chain:"+arguments[0].name+"["+arguments.length+"]"); - - var origins = arguments; - var compilation = origins[0]; - var has_constructor = !!compilation.$init; - var construct = []; - - dhx.assert(compilation,"Invalid mixing target"); - - for (var i=origins.length-1; i>0; i--) { - dhx.assert(origins[i],"Invalid mixing source"); - if (typeof origins[i]== "function") - origins[i]=origins[i].prototype; - if (origins[i].$init) - construct.push(origins[i].$init); - if (origins[i].defaults){ - var defaults = origins[i].defaults; - if (!compilation.defaults) - compilation.defaults = {}; - for (var def in defaults) - if (dhx.isUndefined(compilation.defaults[def])) - compilation.defaults[def] = defaults[def]; - } - if (origins[i].type && compilation.type){ - for (var def in origins[i].type) - if (!compilation.type[def]) - compilation.type[def] = origins[i].type[def]; - } - - for (var key in origins[i]){ - if (!compilation[key]) - compilation[key] = origins[i][key]; - } - } - - if (has_constructor) - construct.push(compilation.$init); - - - compilation.$init = function(){ - for (var i=0; i handler - this._evs_handlers = {}; //hash of event handlers, ID => handler - this._evs_map = {}; - } - }, - //temporary block event triggering - blockEvent : function(){ - this._evs_events._block = true; - }, - //re-enable event triggering - unblockEvent : function(){ - this._evs_events._block = false; - }, - mapEvent:function(map){ - dhx.extend(this._evs_map, map, true); - }, - on_setter:function(config){ - if(config){ - for(var i in config){ - if(typeof config[i] == 'function') - this.attachEvent(i, config[i]); - } - } - }, - //trigger event - callEvent:function(type,params){ - if (this._evs_events._block) return true; - - type = type.toLowerCase(); - var event_stack =this._evs_events[type.toLowerCase()]; //all events for provided name - var return_value = true; - - if (dhx.debug) //can slowdown a lot - dhx.log("info","["+this.name+"] event:"+type,params); - - if (event_stack) - for(var i=0; i=0) this.splice(pos,(len||1)); - }, - //find element in collection and remove it - remove:function(value){ - this.removeAt(this.find(value)); - }, - //add element to collection at specific position - insertAt:function(data,pos){ - if (!pos && pos!==0) //add to the end by default - this.push(data); - else { - var b = this.splice(pos,(this.length-pos)); - this[pos] = data; - this.push.apply(this,b); //reconstruct array without loosing this pointer - } - }, - //return index of element, -1 if it doesn't exists - find:function(data){ - for (var i=0; i")!=-1){ - str = str.split("->"); - switch(str[0]){ - case "html": //load from some container on the page - str = dhx.html.getValue(str[1]); - break; - case "http": //load from external file - str = new dhx.ajax().sync().get(str[1],{uid:dhx.uid()}).responseText; - break; - default: - //do nothing, will use template as is - break; - } - } - - //supported idioms - // {obj.attr} => named attribute or value of sub-tag in case of xml - str=(str||"").toString(); - str=str.replace(newlines,"\\n"); - str=str.replace(quotes,"\\\""); - - str=str.replace(/\{obj\.([^}?]+)\?([^:]*):([^}]*)\}/g,"\"+(obj.$1?\"$2\":\"$3\")+\""); - str=str.replace(/\{common\.([^}\(]*)\}/g,"\"+(common.$1||'')+\""); - str=str.replace(/\{common\.([^\}\(]*)\(\)\}/g,"\"+(common.$1?common.$1.apply(this, arguments):\"\")+\""); - str=str.replace(/\{obj\.([^}]*)\}/g,"\"+(obj.$1)+\""); - str=str.replace("{obj}","\"+obj+\""); - str=str.replace(/#([^#'";, ]+)#/gi,"\"+(obj.$1)+\""); - - try { - _cache[str] = Function("obj","common","return \""+str+"\";"); - } catch(e){ - dhx.assert_error("Invalid template:"+str); - } - - return _cache[str]; -}; - - -dhx.Template.empty=function(){ return ""; }; -dhx.Template.bind =function(value){ return dhx.bind(dhx.Template(value),this); }; - - - /* - adds new template-type - obj - object to which template will be added - data - properties of template - */ -dhx.Type=function(obj, data){ - if (obj._dhx_proto_wait){ - if (!obj._dhx_type_wait) - obj._dhx_type_wait = []; - obj._dhx_type_wait.push(data); - return; - } - - //auto switch to prototype, if name of class was provided - if (typeof obj == "function") - obj = obj.prototype; - if (!obj.types){ - obj.types = { "default" : obj.type }; - obj.type.name = "default"; - } - - var name = data.name; - var type = obj.type; - if (name) - type = obj.types[name] = dhx.clone(data.baseType?obj.types[data.baseType]:obj.type); - - for(var key in data){ - if (key.indexOf("template")===0) - type[key] = dhx.Template(data[key]); - else - type[key]=data[key]; - } - - return name; -}; - -})(); -/*DHX:Depend core/dhx.js*/ - -dhx.Settings={ - $init:function(){ - /* - property can be accessed as this.config.some - in same time for inner call it have sense to use _settings - because it will be minified in final version - */ - this._settings = this.config= {}; - }, - define:function(property, value){ - if (typeof property == "object") - return this._parseSeetingColl(property); - return this._define(property, value); - }, - _define:function(property,value){ - //method with name {prop}_setter will be used as property setter - //setter is optional - var setter = this[property+"_setter"]; - return this._settings[property]=setter?setter.call(this,value,property):value; - }, - //process configuration object - _parseSeetingColl:function(coll){ - if (coll){ - for (var a in coll) //for each setting - this._define(a,coll[a]); //set value through config - } - }, - //helper for object initialization - _parseSettings:function(obj,initial){ - //initial - set of default values - var settings = {}; - if (initial) - settings = dhx.extend(settings,initial); - - //code below will copy all properties over default one - if (typeof obj == "object" && !obj.tagName) - dhx.extend(settings,obj, true); - //call config for each setting - this._parseSeetingColl(settings); - }, - _mergeSettings:function(config, defaults){ - for (var key in defaults) - switch(typeof config[key]){ - case "object": - config[key] = this._mergeSettings((config[key]||{}), defaults[key]); - break; - case "undefined": - config[key] = defaults[key]; - break; - default: //do nothing - break; - } - return config; - }, - - debug_freid_c_id:true, - debug_freid_a_name:true -}; -/*DHX:Depend core/datastore.js*/ -/*DHX:Depend core/load.js*/ -/* - ajax operations - - can be used for direct loading as - dhx.ajax(ulr, callback) - or - dhx.ajax().item(url) - dhx.ajax().post(url) - -*/ - -/*DHX:Depend core/dhx.js*/ - -dhx.ajax = function(url,call,master){ - //if parameters was provided - made fast call - if (arguments.length!==0){ - var http_request = new dhx.ajax(); - if (master) http_request.master=master; - return http_request.get(url,null,call); - } - if (!this.getXHR) return new dhx.ajax(); //allow to create new instance without direct new declaration - - return this; -}; -dhx.ajax.count = 0; -dhx.ajax.prototype={ - master:null, - //creates xmlHTTP object - getXHR:function(){ - if (dhx.env.isIE) - return new ActiveXObject("Microsoft.xmlHTTP"); - else - return new XMLHttpRequest(); - }, - /* - send data to the server - params - hash of properties which will be added to the url - call - callback, can be an array of functions - */ - send:function(url,params,call){ - var x=this.getXHR(); - if (!dhx.isArray(call)) - call = [call]; - //add extra params to the url - if (typeof params == "object"){ - var t=[]; - for (var a in params){ - var value = params[a]; - if (value === null || value === dhx.undefined) - value = ""; - t.push(a+"="+encodeURIComponent(value));// utf-8 escaping - } - params=t.join("&"); - } - if (params && this.request==='GET'){ - url=url+(url.indexOf("?")!=-1 ? "&" : "?")+params; - params=null; - } - - x.open(this.request,url,!this._sync); - if (this.request === 'POST') - x.setRequestHeader('Content-type','application/x-www-form-urlencoded'); - - //async mode, define loading callback - var self=this; - x.onreadystatechange= function(){ - if (!x.readyState || x.readyState == 4){ - if (dhx.debug_time) dhx.log_full_time("data_loading"); //log rendering time - dhx.ajax.count++; - if (call && self){ - for (var i=0; i < call.length; i++) //there can be multiple callbacks - if (call[i]){ - var method = (call[i].success||call[i]); - if (x.status >= 400 || (!x.status && !x.responseText)) - method = call[i].error; - if (method) - method.call((self.master||self),x.responseText,x.responseXML,x); - } - } - if (self) self.master=null; - call=self=null; //anti-leak - } - }; - - x.send(params||null); - return x; //return XHR, which can be used in case of sync. mode - }, - //GET request - get:function(url,params,call){ - if (arguments.length == 2){ - call = params; - params = null; - } - this.request='GET'; - return this.send(url,params,call); - }, - //POST request - post:function(url,params,call){ - this.request='POST'; - return this.send(url,params,call); - }, - //PUT request - put:function(url,params,call){ - this.request='PUT'; - return this.send(url,params,call); - }, - //POST request - del:function(url,params,call){ - this.request='DELETE'; - return this.send(url,params,call); - }, - sync:function(){ - this._sync = true; - return this; - }, - bind:function(master){ - this.master = master; - return this; - } -}; -/*submits values*/ -dhx.send = function(url, values, method, target){ - var form = dhx.html.create("FORM",{ - "target":(target||"_self"), - "action":url, - "method":(method||"POST") - },""); - for (var k in values) { - var field = dhx.html.create("INPUT",{"type":"hidden","name": k,"value": values[k]},""); - form.appendChild(field); - } - form.style.display = "none"; - document.body.appendChild(form); - form.submit(); - document.body.removeChild(form); -}; - - -dhx.AtomDataLoader={ - $init:function(config){ - //prepare data store - this.data = {}; - if (config){ - this._settings.datatype = config.datatype||"json"; - this.$ready.push(this._load_when_ready); - } - }, - _load_when_ready:function(){ - this._ready_for_data = true; - - if (this._settings.url) - this.url_setter(this._settings.url); - if (this._settings.data) - this.data_setter(this._settings.data); - }, - url_setter:function(value){ - if (!this._ready_for_data) return value; - this.load(value, this._settings.datatype); - return value; - }, - data_setter:function(value){ - if (!this._ready_for_data) return value; - this.parse(value, this._settings.datatype); - return true; - }, - debug_freid_c_datatype:true, - debug_freid_c_dataFeed:true, - - //loads data from external URL - load:function(url,call){ - if (url.$proxy) { - url.load(this, typeof call == "string" ? call : "json"); - return; - } - - this.callEvent("onXLS",[]); - if (typeof call == "string"){ //second parameter can be a loading type or callback - //we are not using setDriver as data may be a non-datastore here - this.data.driver = dhx.DataDriver[call]; - call = arguments[2]; - } else if (!this.data.driver) - this.data.driver = dhx.DataDriver.json; - - //load data by async ajax call - //loading_key - can be set by component, to ignore data from old async requests - var callback = [{ - success: this._onLoad, - error: this._onLoadError - }]; - - if (call){ - if (dhx.isArray(call)) - callback.push.apply(callback,call); - else - callback.push(call); - } - - - return dhx.ajax(url,callback,this); - }, - //loads data from object - parse:function(data,type){ - this.callEvent("onXLS",[]); - this.data.driver = dhx.DataDriver[type||"json"]; - this._onLoad(data,null); - }, - //default after loading callback - _onLoad:function(text,xml,loader,key){ - var driver = this.data.driver; - var data = driver.toObject(text,xml); - if (data){ - var top = driver.getRecords(data)[0]; - this.data=(driver?driver.getDetails(top):text); - } else - this._onLoadError(text,xml,loader); - - this.callEvent("onXLE",[]); - }, - _onLoadError:function(text, xml, xhttp){ - this.callEvent("onXLE",[]); - this.callEvent("onLoadError",arguments); - dhx.callEvent("onLoadError", [text, xml, xhttp, this]); - }, - _check_data_feed:function(data){ - if (!this._settings.dataFeed || this._ignore_feed || !data) return true; - var url = this._settings.dataFeed; - if (typeof url == "function") - return url.call(this, (data.id||data), data); - url = url+(url.indexOf("?")==-1?"?":"&")+"action=get&id="+encodeURIComponent(data.id||data); - this.callEvent("onXLS",[]); - dhx.ajax(url, function(text,xml,loader){ - this._ignore_feed=true; - var data = dhx.DataDriver.toObject(text, xml); - if (data) - this.setValues(data.getDetails(data.getRecords()[0])); - else - this._onLoadError(text,xml,loader); - this._ignore_feed=false; - this.callEvent("onXLE",[]); - }, this); - return false; - } -}; - -/* - Abstraction layer for different data types -*/ - -dhx.DataDriver={}; -dhx.DataDriver.json={ - //convert json string to json object if necessary - toObject:function(data){ - if (!data) data="[]"; - if (typeof data == "string"){ - try{ - eval ("dhx.temp="+data); - } catch(e){ - dhx.assert_error(e); - return null; - } - data = dhx.temp; - } - - if (data.data){ - var t = data.data.config = {}; - for (var key in data) - if (key!="data") - t[key] = data[key]; - data = data.data; - } - - return data; - }, - //get array of records - getRecords:function(data){ - if (data && !dhx.isArray(data)) - return [data]; - return data; - }, - //get hash of properties for single record - getDetails:function(data){ - if (typeof data == "string") - return { id:dhx.uid(), value:data }; - return data; - }, - //get count of data and position at which new data need to be inserted - getInfo:function(data){ - var cfg = data.config; - if (!cfg) return {}; - - return { - _size:(cfg.total_count||0), - _from:(cfg.pos||0), - _parent:(cfg.parent||0), - _config:(cfg.config), - _key:(cfg.dhx_security) - }; - }, - child:"data" -}; - -dhx.DataDriver.html={ - /* - incoming data can be - - collection of nodes - - ID of parent container - - HTML text - */ - toObject:function(data){ - if (typeof data == "string"){ - var t=null; - if (data.indexOf("<")==-1) //if no tags inside - probably its an ID - t = dhx.toNode(data); - if (!t){ - t=document.createElement("DIV"); - t.innerHTML = data; - } - - return t.getElementsByTagName(this.tag); - } - return data; - }, - //get array of records - getRecords:function(node){ - var data = []; - for (var i=0; i= count + from )) return true; - } - return false; - }, - //default after loading callback - _onLoad:function(text,xml,loader){ - //ignore data loading command if data was reloaded - this._ajax_queue.remove(loader); - - var data = this.data.driver.toObject(text,xml); - if (data) - this.data._parse(data); - else - return this._onLoadError(text, xml, loader); - - //data loaded, view rendered, call onready handler - this._call_onready(); - - this.callEvent("onXLE",[]); - }, - removeMissed_setter:function(value){ - return this.data._removeMissed = value; - }, - scheme_setter:function(value){ - this.data.scheme(value); - }, - dataFeed_setter:function(value){ - this.data.attachEvent("onBeforeFilter", dhx.bind(function(text, value){ - if (this._settings.dataFeed){ - - var filter = {}; - if (!text && !value) return; - if (typeof text == "function"){ - if (!value) return; - text(value, filter); - } else - filter = { text:value }; - - this.clearAll(); - var url = this._settings.dataFeed; - var urldata = []; - if (typeof url == "function") - return url.call(this, value, filter); - for (var key in filter) - urldata.push("dhx_filter["+key+"]="+encodeURIComponent(filter[key])); - this.load(url+(url.indexOf("?")<0?"?":"&")+urldata.join("&"), this._settings.datatype); - return false; - } - },this)); - return value; - }, - - debug_freid_c_ready:true, - debug_freid_c_datathrottle:true, - - _call_onready:function(){ - if (this._settings.ready && !this._ready_was_used){ - var code = dhx.toFunctor(this._settings.ready); - if (code) - dhx.delay(code, this, arguments); - this._ready_was_used = true; - } - }, - _call_onclearall:function(){ - for (var i = 0; i < this._ajax_queue.length; i++) - this._ajax_queue[i].abort(); - - this._ajax_queue = dhx.toArray(); - }, - _call_on_config:function(config){ - this._parseSeetingColl(config); - } -},dhx.AtomDataLoader); - - -/* - DataStore is not a behavior, it standalone object, which represents collection of data. - Call provideAPI to map data API - - @export - exists - idByIndex - indexById - get - set - refresh - dataCount - sort - filter - next - previous - clearAll - first - last -*/ -dhx.DataStore = function(){ - this.name = "DataStore"; - - dhx.extend(this, dhx.EventSystem); - - this.setDriver("json"); //default data source is an - this.pull = {}; //hash of IDs - this.order = dhx.toArray(); //order of IDs - this._marks = {}; -}; - -dhx.DataStore.prototype={ - //defines type of used data driver - //data driver is an abstraction other different data formats - xml, json, csv, etc. - setDriver:function(type){ - dhx.assert(dhx.DataDriver[type],"incorrect DataDriver"); - this.driver = dhx.DataDriver[type]; - }, - //process incoming raw data - _parse:function(data,master){ - this.callEvent("onParse", [this.driver, data]); - if (this._filter_order) - this.filter(); - - //get size and position of data - var info = this.driver.getInfo(data); - if (info._key) - dhx.securityKey = info._key; - if (info._config) - this.callEvent("onServerConfig",[info._config]); - - //get array of records - var recs = this.driver.getRecords(data); - - this._inner_parse(info, recs); - - //in case of tree store we may want to group data - if (this._scheme_group && this._group_processing) - this._group_processing(this._scheme_group); - - //optional data sorting - if (this._scheme_sort){ - this.blockEvent(); - this.sort(this._scheme_sort); - this.unblockEvent(); - } - this.callEvent("onStoreLoad",[this.driver, data]); - //repaint self after data loading - this.refresh(); - }, - _inner_parse:function(info, recs){ - var from = (info._from||0)*1; - var subload = true; - var marks = false; - - if (from === 0 && this.order[0]){ //update mode - if (this._removeMissed){ - //update mode, create kill list - marks = {}; - for (var i=0; ito){ //can be in case of backward shift-selection - var a=to; to=from; from=a; - } - - return this.getIndexRange(from,to); - }, - //converts range of indexes to array of all IDs between them - getIndexRange:function(from,to){ - to=Math.min((to||Infinity),this.dataCount()-1); - - var ret=dhx.toArray(); //result of method is rich-array - for (var i=(from||0); i <= to; i++) - ret.push(this.item(this.order[i])); - return ret; - }, - //returns total count of elements - dataCount:function(){ - return this.order.length; - }, - //returns truy if item with such ID exists - exists:function(id){ - return !!(this.pull[id]); - }, - //nextmethod is not visible on component level, check DataMove.move - //moves item from source index to the target index - move:function(sindex,tindex){ - dhx.assert(sindex>=0 && tindex>=0, "DataStore::move","Incorrect indexes"); - - var id = this.idByIndex(sindex); - var obj = this.item(id); - - this.order.removeAt(sindex); //remove at old position - //if (sindex data_size){ - dhx.log("Warning","DataStore:add","Index of out of bounds"); - index = Math.min(order.length,index); - } - if (this.callEvent("onBeforeAdd", [id, obj, index]) === false) return false; - - dhx.assert(!this.exists(id), "Not unique ID"); - - this.pull[id]=obj; - order.insertAt(id,index); - if (this._filter_order){ //adding during filtering - //we can't know the location of new item in full dataset, making suggestion - //put at end by default - var original_index = this._filter_order.length; - //put at start only if adding to the start and some data exists - if (!index && this.order.length) - original_index = 0; - - this._filter_order.insertAt(id,original_index); - } - this.callEvent("onAfterAdd",[id,index]); - //repaint signal - this.callEvent("onStoreUpdated",[id,obj,"add"]); - return id; - }, - - //removes element from datastore - remove:function(id){ - //id can be an array of IDs - result of getSelect, for example - if (dhx.isArray(id)){ - for (var i=0; i < id.length; i++) - this.remove(id[i]); - return; - } - if (this.callEvent("onBeforeDelete",[id]) === false) return false; - - dhx.assert(this.exists(id), "Not existing ID in remove command"+id); - - var obj = this.item(id); //save for later event - //clear from collections - this.order.remove(id); - if (this._filter_order) - this._filter_order.remove(id); - - delete this.pull[id]; - if (this._marks[id]) - delete this._marks[id]; - - this.callEvent("onAfterDelete",[id]); - //repaint signal - this.callEvent("onStoreUpdated",[id,obj,"delete"]); - }, - //deletes all records in datastore - clearAll:function(){ - //instead of deleting one by one - just reset inner collections - this.pull = {}; - this.order = dhx.toArray(); - //this.feed = null; - this._filter_order = this.url = null; - this.callEvent("onClearAll",[]); - this.refresh(); - }, - //converts id to index - idByIndex:function(index){ - if (index>=this.order.length || index<0) - dhx.log("Warning","DataStore::idByIndex Incorrect index"); - - return this.order[index]; - }, - //converts index to id - indexById:function(id){ - var res = this.order.find(id); //slower than idByIndex - - if (!this.pull[id]) - dhx.log("Warning","DataStore::indexById Non-existing ID: "+ id); - - return res; - }, - //returns ID of next element - next:function(id,step){ - return this.order[this.indexById(id)+(step||1)]; - }, - //returns ID of first element - first:function(){ - return this.order[0]; - }, - //returns ID of last element - last:function(){ - return this.order[this.order.length-1]; - }, - //returns ID of previous element - previous:function(id,step){ - return this.order[this.indexById(id)-(step||1)]; - }, - /* - sort data in collection - by - settings of sorting - - or - - by - sorting function - dir - "asc" or "desc" - - or - - by - property - dir - "asc" or "desc" - as - type of sortings - - Sorting function will accept 2 parameters and must return 1,0,-1, based on desired order - */ - sort:function(by, dir, as){ - var sort = by; - if (typeof by == "function") - sort = {as:by, dir:dir}; - else if (typeof by == "string") - sort = {by:by.replace(/#/g,""), dir:dir, as:as}; - - - var parameters = [sort.by, sort.dir, sort.as]; - if (!this.callEvent("onBeforeSort",parameters)) return; - - this._sort_core(sort); - - //repaint self - this.refresh(); - - this.callEvent("onAfterSort",parameters); - }, - _sort_core:function(sort){ - if (this.order.length){ - var sorter = this._sort._create(sort); - //get array of IDs - var neworder = this.getRange(this.first(), this.last()); - neworder.sort(sorter); - this.order = neworder.map(function(obj){ - dhx.assert(obj, "Client sorting can't be used with dynamic loading"); - return this.id(obj); - },this); - } - }, - /* - Filter datasource - - text - property, by which filter - value - filter mask - - or - - text - filter method - - Filter method will receive data object and must return true or false - */ - _filter_reset:function(preserve){ - //remove previous filtering , if any - if (this._filter_order && !preserve){ - this.order = this._filter_order; - delete this._filter_order; - } - }, - _filter_core:function(filter, value, preserve){ - var neworder = dhx.toArray(); - for (var i=0; i < this.order.length; i++){ - var id = this.order[i]; - if (filter(this.item(id),value)) - neworder.push(id); - } - //set new order of items, store original - if (!preserve || !this._filter_order) - this._filter_order = this.order; - this.order = neworder; - }, - filter:function(text,value,preserve){ - if (!this.callEvent("onBeforeFilter", [text, value])) return; - - this._filter_reset(preserve); - if (!this.order.length) return; - - //if text not define -just unfilter previous state and exit - if (text){ - var filter = text; - value = value||""; - if (typeof text == "string"){ - text = text.replace(/#/g,""); - if (typeof value == "function") - filter = function(obj){ - return value(obj[text]); - }; - else{ - value = value.toString().toLowerCase(); - filter = function(obj,value){ //default filter - string start from, case in-sensitive - dhx.assert(obj, "Client side filtering can't be used with dynamic loading"); - return (obj[text]||"").toString().toLowerCase().indexOf(value)!=-1; - }; - } - } - - this._filter_core(filter, value, preserve, this._filterMode); - } - //repaint self - this.refresh(); - - this.callEvent("onAfterFilter", []); - }, - /* - Iterate through collection - */ - each:function(method,master){ - for (var i=0; ib?1:(ab?1:(ab?1:(ab?1:(a "+target.name+"@"+target._settings.id); - this._bind_update(target, this._bind_hash[key][0], this._bind_hash[key][1]); //trigger component specific updating logic - if (update && target.filter) - target.refresh(); - } - }, - //add one more bind target - addBind:function(source, rule, format){ - this._bind_hash[source] = [rule, format]; - }, - removeBind:function(source){ - delete this._bind_hash[source]; - delete this._bind_updated[source]; - delete this._ignore_binds[source]; - }, - //returns true if object belong to "collection" type - _bind_specific_rules:function(obj){ - if (obj.filter) - dhx.extend(this, dhx.CollectionBind); - else if (obj.setValue) - dhx.extend(this, dhx.ValueBind); - else - dhx.extend(this, dhx.RecordBind); - }, - //inform all binded objects, that source data was updated - _update_binds:function(){ - if (!this._do_not_update_binds) - for (var key in this._bind_hash){ - if (this._ignore_binds[key]) continue; - this._bind_updated[key] = false; - this.getBindData(key, true); - } - }, - //copy data from source to the target - _bind_update_common:function(target, rule, data){ - if (target.setValue) - target.setValue(data?data[rule]:data); - else if (!target.filter){ - if (!data && target.clear) - target.clear(); - else { - if (target._check_data_feed(data)) - target.setValues(dhx.clone(data)); - } - } else { - target.data.silent(function(){ - this.filter(rule,data); - }); - } - target.callEvent("onBindApply", [data,rule,this]); - } -}; - - -//pure data objects -dhx.DataValue = dhx.proto({ - name:"DataValue", - isVisible:function(){ return true; }, - $init:function(config){ - this.data = ""||config; - var id = (config&&config.id)?config.id:dhx.uid(); - this._settings = { id:id }; - dhx.ui.views[id] = this; - }, - setValue:function(value){ - this.data = value; - this.callEvent("onChange", [value]); - }, - getValue:function(){ - return this.data; - }, - refresh:function(){ this.callEvent("onBindRequest"); } -}, dhx.EventSystem, dhx.BaseBind); - -dhx.DataRecord = dhx.proto({ - name:"DataRecord", - isVisible:function(){ return true; }, - $init:function(config){ - this.data = config||{}; - var id = (config&&config.id)?config.id:dhx.uid(); - this._settings = { id:id }; - dhx.ui.views[id] = this; - }, - getValues:function(){ - return this.data; - }, - setValues:function(data){ - this.data = data; - this.callEvent("onChange", [data]); - }, - refresh:function(){ this.callEvent("onBindRequest"); } -}, dhx.EventSystem, dhx.BaseBind, dhx.AtomDataLoader, dhx.Settings); - - -dhx.DataCollection = dhx.proto({ - name:"DataCollection", - isVisible:function(){ - if (!this.data.order.length && !this.data._filter_order && !this._settings.dataFeed) return false; - return true; - }, - $init:function(config){ - this.data.provideApi(this, true); - var id = (config&&config.id)?config.id:dhx.uid(); - this._settings.id =id; - dhx.ui.views[id] = this; - this.data.attachEvent("onStoreLoad", dhx.bind(function(){ - this.callEvent("onBindRequest",[]); - }, this)); - }, - refresh:function(){ this.callEvent("onBindRequest",[]); } -}, dhx.DataLoader, dhx.EventSystem, dhx.BaseBind, dhx.Settings); - - - - -dhx.ValueBind={ - $init:function(){ - this.attachEvent("onChange", this._update_binds); - }, - _bind_update:function(target, rule, format){ - var data = this.getValue()||""; - if (format) data = format(data); - - if (target.setValue) - target.setValue(data); - else if (!target.filter){ - var pod = {}; pod[rule] = data; - if (target._check_data_feed(data)) - target.setValues(pod); - } else{ - target.data.silent(function(){ - this.filter(rule,data); - }); - } - target.callEvent("onBindApply", [data,rule,this]); - } -}; - -dhx.RecordBind={ - $init:function(){ - this.attachEvent("onChange", this._update_binds); - }, - _bind_update:function(target, rule){ - var data = this.getValues()||null; - this._bind_update_common(target, rule, data); - } -}; - -dhx.CollectionBind={ - $init:function(){ - this._cursor = null; - this.attachEvent("onSelectChange", function(data){ - var sel = this.getSelected(); - this.setCursor(sel?(sel.id||sel):null); - }); - this.attachEvent("onAfterCursorChange", this._update_binds); - this.data.attachEvent("onStoreUpdated", dhx.bind(function(id, data, mode){ - if (id && id == this.getCursor() && mode != "paint") - this._update_binds(); - },this)); - this.data.attachEvent("onClearAll", dhx.bind(function(){ - this._cursor = null; - },this)); - this.data.attachEvent("onIdChange", dhx.bind(function(oldid, newid){ - if (this._cursor == oldid) - this._cursor = newid; - },this)); - }, - setCursor:function(id){ - if (id == this._cursor || (id !== null && !this.item(id))) return; - - this.callEvent("onBeforeCursorChange", [this._cursor]); - this._cursor = id; - this.callEvent("onAfterCursorChange",[id]); - }, - getCursor:function(){ - return this._cursor; - }, - _bind_update:function(target, rule){ - var data = this.item(this.getCursor())|| this._settings.defaultData || null; - this._bind_update_common(target, rule, data); - } -}; -/*DHX:Depend core/legacy_bind.js*/ -/*DHX:Depend core/dhx.js*/ -/*DHX:Depend core/bind.js*/ - -/*jsl:ignore*/ - -if (!dhx.ui) - dhx.ui = {}; - -if (!dhx.ui.views){ - dhx.ui.views = {}; - dhx.ui.get = function(id){ - if (id._settings) return id; - return dhx.ui.views[id]; - }; -} - -dhtmlXDataStore = function(config){ - var obj = new dhx.DataCollection(config); - var name = "_dp_init"; - obj[name]=function(dp){ - //map methods - var varname = "_methods"; - dp[varname]=["dummy","dummy","changeId","dummy"]; - - this.data._old_names = { - "add":"inserted", - "update":"updated", - "delete":"deleted" - }; - this.data.attachEvent("onStoreUpdated",function(id,data,mode){ - if (id && !dp._silent) - dp.setUpdated(id,true,this._old_names[mode]); - }); - - - varname = "_getRowData"; - //serialize item's data in URL - dp[varname]=function(id,pref){ - var ev=this.obj.data.item(id); - var data = { id:id }; - data[this.action_param] = this.obj.getUserData(id); - if (ev) - for (var a in ev){ - data[a]=ev[a]; - } - - return data; - }; - - this.changeId = function(oldid, newid){ - this.data.changeId(oldid, newid); - dp._silent = true; - this.data.callEvent("onStoreUpdated", [newid, this.item(newid), "update"]); - dp._silent = false; - }; - - varname = "_clearUpdateFlag"; - dp[varname]=function(){}; - this._userdata = {}; - - }; - obj.dummy = function(){}; - obj.setUserData=function(id,name,value){ - this._userdata[id]=value; - }; - obj.getUserData=function(id,name){ - return this._userdata[id]; - }; - obj.dataFeed=function(obj){ - this.define("dataFeed", obj); - }; - dhx.extend(obj, dhx.BindSource); - return obj; -}; - -if (window.dhtmlXDataView) - dhtmlXDataView.prototype._initBindSource=function(){ - this.isVisible = function(){ - if (!this.data.order.length && !this.data._filter_order && !this._settings.dataFeed) return false; - return true; - }; - var settings = "_settings"; - this._settings = this._settings || this[settings]; - if (!this._settings.id) - this._settings.id = dhx.uid(); - this.unbind = dhx.BaseBind.unbind; - this.unsync = dhx.BaseBind.unsync; - dhx.ui.views[this._settings.id] = this; - }; - -if (window.dhtmlXChart) - dhtmlXChart.prototype._initBindSource=function(){ - this.isVisible = function(){ - if (!this.data.order.length && !this.data._filtered_state && !this._settings.dataFeed) return false; - return true; - }; - var settings = "_settings"; - this._settings = this._settings || this[settings]; - if (!this._settings.id) - this._settings.id = dhx.uid(); - this.unbind = dhx.BaseBind.unbind; - this.unsync = dhx.BaseBind.unsync; - dhx.ui.views[this._settings.id] = this; - }; - - -dhx.BaseBind.unsync = function(target){ - return dhx.BaseBind._unbind.call(this, target); -} -dhx.BaseBind.unbind = function(target){ - return dhx.BaseBind._unbind.call(this, target); -} -dhx.BaseBind.legacyBind = function(){ - return dhx.BaseBind.bind.apply(this, arguments); -}; -dhx.BaseBind.legacySync = function(source, rule){ - if (this._initBindSource) this._initBindSource(); - if (source._initBindSource) source._initBindSource(); - - this.attachEvent("onAfterEditStop", function(id){ - this.save(id); - return true; - }); - - - - - this.attachEvent("onDataRequest", function(start, count){ - for (var i=start; i=this.data.limit) id=this.data.limit-1; - if (this.callEvent("onBeforePageChange",[this._settings.page,id])){ - this.data.page = id*1; //must be int - this.refresh(); - this.callEvent("onAfterPageChange",[id]); - } - }, - types:{ - "default":{ - template:dhtmlx.Template.fromHTML("{common.pages()}"), - //list of page numbers - pages:function(obj){ - var html=""; - //skip rendering if paging is not fully initialized - if (obj.page == -1) return ""; - //current page taken as center of view, calculate bounds of group - obj.min = obj.page-Math.round((obj.group-1)/2); - obj.max = obj.min + obj.group-1; - if (obj.min<0){ - obj.max+=obj.min*(-1); - obj.min=0; - } - if (obj.max>=obj.limit){ - obj.min -= Math.min(obj.min,obj.max-obj.limit+1); - obj.max = obj.limit-1; - } - //generate HTML code of buttons - for (var i=(obj.min||0); i<=obj.max; i++) - html+=this.button({id:i, index:(i+1), selected:(i == obj.page ?"_selected":"")}); - return html; - }, - page:function(obj){ - return obj.page+1; - }, - //go-to-first page button - first:function(){ - return this.button({ id:"first", index:" << ", selected:""}); - }, - //go-to-last page button - last:function(){ - return this.button({ id:"last", index:" >> ", selected:""}); - }, - //go-to-prev page button - prev:function(){ - return this.button({ id:"prev", index:"<", selected:""}); - }, - //go-to-next page button - next:function(){ - return this.button({ id:"next", index:">", selected:""}); - }, - button:dhtmlx.Template.fromHTML("
              {obj.index}
              ") - - } - }, - //update settings and repaint self - refresh:function(){ - var s = this._settings; - //max page number - s.limit = Math.ceil(s.count/s.size); - - //correct page if it is out of limits - if (s.limit && s.limit != s.old_limit) - s.page = Math.min(s.limit-1, s.page); - - var id = s.page; - if (id!=-1 && (id!=s.old_page) || (s.limit != s.old_limit)){ - //refresh self only if current page or total limit was changed - this.render(); - this.callEvent("onRefresh",[]); - s.old_limit = s.limit; //save for onchange check in next iteration - s.old_page = s.page; - } - }, - template_item_start:dhtmlx.Template.fromHTML("
              "), - template_item_end:dhtmlx.Template.fromHTML("
              ") -}; - - -/* DHX DEPEND FROM FILE 'dataprocessor_hook.js'*/ - - -/* - Behaviour:DataProcessor - translates inner events in dataprocessor calls - - @export - changeId - setItemStyle - setUserData - getUserData -*/ - -/*DHX:Depend compatibility.js*/ -/*DHX:Depend dhtmlx.js*/ - -dhtmlx.DataProcessor={ - //called from DP as part of dp.init - _dp_init:function(dp){ - //map methods - var varname = "_methods"; - dp[varname]=["setItemStyle","","changeId","remove"]; - //after item adding - trigger DP - this.attachEvent("onAfterAdd",function(id){ - dp.setUpdated(id,true,"inserted"); - }); - this.data.attachEvent("onStoreLoad",dhtmlx.bind(function(driver, data){ - if (driver.getUserData) - driver.getUserData(data,this._userdata); - },this)); - - //after item deleting - trigger DP - this.attachEvent("onBeforeDelete",function(id){ - if (dp._silent_mode) return true; - - var z=dp.getState(id); - if (z=="inserted") { dp.setUpdated(id,false); return true; } - if (z=="deleted") return false; - if (z=="true_deleted") return true; - - dp.setUpdated(id,true,"deleted"); - return false; - }); - //after editing - trigger DP - this.attachEvent("onAfterEditStop",function(id){ - dp.setUpdated(id,true,"updated"); - }); - this.attachEvent("onBindUpdate",function(data){ - window.setTimeout(function(){ - dp.setUpdated(data.id,true,"updated"); - },1); - }); - - varname = "_getRowData"; - //serialize item's data in URL - dp[varname]=function(id,pref){ - var ev=this.obj.data.get(id); - var data = {}; - for (var a in ev){ - if (a.indexOf("_")===0) continue; - data[a]=ev[a]; - } - - return data; - }; - varname = "_clearUpdateFlag"; - dp[varname]=function(){}; - this._userdata = {}; - - dp.attachEvent("insertCallback", this._dp_callback); - dp.attachEvent("updateCallback", this._dp_callback); - dp.attachEvent("deleteCallback", function(upd, id) { - this.obj.setUserData(id, this.action_param, "true_deleted"); - this.obj.remove(id); - }); - - //enable compatibility layer - it will allow to use DP without dhtmlxcommon - dhtmlx.compat("dataProcessor",dp); - }, - _dp_callback:function(upd,id){ - this.obj.data.set(id,dhtmlx.DataDriver.xml.getDetails(upd.firstChild)); - this.obj.data.refresh(id); - }, - //marks item in question with specific styles, not purposed for public usage - setItemStyle:function(id,style){ - var node = this._locateHTML(id); - if (node) node.style.cssText+=";"+style; //style is not persistent - }, - //change ID of item - changeId:function(oldid, newid){ - this.data.changeId(oldid, newid); - this.refresh(); - }, - //sets property value, not purposed for public usage - setUserData:function(id,name,value){ - if (id) - this.data.get(id)[name]=value; - else - this._userdata[name]=value; - }, - //gets property value, not purposed for public usage - getUserData:function(id,name){ - return id?this.data.get(id)[name]:this._userdata[name]; - } -}; -(function(){ - var temp = "_dp_init"; - dhtmlx.DataProcessor[temp]=dhtmlx.DataProcessor._dp_init; -})(); - - - -/* DHX DEPEND FROM FILE 'compatibility_drag.js'*/ - - -/* - Compatibility hack for DND - Allows dnd between dhtmlx.dnd and dhtmlxcommon based dnd - When dnd items - related events will be correctly triggered. - onDrag event must define final moving logic, if it is absent - item will NOT be moved automatically - - to activate this functionality , next command need to be called - dhtmlx.compat("dnd"); -*/ - -/*DHX:Depend compatibility.js*/ - -dhtmlx.compat.dnd = function(){ - //if dhtmlxcommon.js included on the page - if (window.dhtmlDragAndDropObject){ - var _dragged = "_dragged"; //fake for code compression utility, do not change! - - //wrap methods of dhtmlxcommon to inform dhtmlx.dnd logic - var old_ocl = dhtmlDragAndDropObject.prototype.checkLanding; - dhtmlDragAndDropObject.prototype.checkLanding=function(node,e,skip){ - old_ocl.apply(this,arguments); - if (!skip){ - var c = dhtmlx.DragControl._drag_context = dhtmlx.DragControl._drag_context||{}; - if (!c.from) - c.from = this.dragStartObject; - dhtmlx.DragControl._checkLand(node,e,true); - } - }; - - var old_odp = dhtmlDragAndDropObject.prototype.stopDrag; - dhtmlDragAndDropObject.prototype.stopDrag=function(e,dot,skip){ - if (!skip){ - if (dhtmlx.DragControl._last){ - dhtmlx.DragControl._active = dragger.dragStartNode; - dhtmlx.DragControl._stopDrag(e,true); - } - } - old_odp.apply(this,arguments); - }; - - - //pre-create dnd object from dhtmlxcommon - var dragger = new dhtmlDragAndDropObject(); - - //wrap drag start process - var old_start = dhtmlx.DragControl._startDrag; - dhtmlx.DragControl._startDrag=function(){ - old_start.apply(this,arguments); - //build list of IDs and fake objects for dhtlmxcommon support - var c = dhtmlx.DragControl._drag_context; - if (!c) return; - var source = []; - var tsource = []; - for (var i=0; i < c.source.length; i++){ - source[i]={idd:c.source[i]}; - tsource.push(c.source[i]); - } - - dragger.dragStartNode = { - parentNode:{}, - parentObject:{ - idd:source, - id:(tsource.length == 1?tsource[0]:tsource), - treeNod:{ - object:c.from - } - } - }; - - //prevent code compression of "_dragged" - dragger.dragStartNode.parentObject.treeNod[_dragged]=source; - dragger.dragStartObject = c.from; - }; - //wrap drop landing checker - var old_check = dhtmlx.DragControl._checkLand; - dhtmlx.DragControl._checkLand = function(node,e,skip){ - old_check.apply(this,arguments); - if (!this._last && !skip){ - //we are in middle of nowhere, check old drop landings - node = dragger.checkLanding(node,e,true); - } - }; - - //wrap drop routine - var old_drop = dhtmlx.DragControl._stopDrag; - dhtmlx.DragControl._stopDrag=function(e,skip){ - old_drop.apply(this,arguments); - if (dragger.lastLanding && !skip) - dragger.stopDrag(e,false,true); - }; - //extend getMaster, so they will be able to recognize master objects from dhtmlxcommon.js - var old_mst = dhtmlx.DragControl.getMaster; - dhtmlx.DragControl.getMaster = function(t){ - var master = null; - if (t) - master = old_mst.apply(this,arguments); - if (!master){ - master = dragger.dragStartObject; - var src = []; - var from = master[_dragged]; - for (var i=0; i < from.length; i++) { - src.push(from[i].idd||from[i].id); - } - dhtmlx.DragControl._drag_context.source = src; - } - return master; - }; - - } -}; - - -/* DHX DEPEND FROM FILE 'move.js'*/ - - -/* - Behavior:DataMove - allows to move and copy elements, heavily relays on DataStore.move - @export - copy - move -*/ -dhtmlx.DataMove={ - _init:function(){ - dhtmlx.assert(this.data, "DataMove :: Component doesn't have DataStore"); - }, - //creates a copy of the item - copy:function(sid,tindex,tobj,tid){ - var data = this.get(sid); - if (!data){ - dhtmlx.log("Warning","Incorrect ID in DataMove::copy"); - return; - } - - //make data conversion between objects - if (tobj){ - dhtmlx.assert(tobj.externalData,"DataMove :: External object doesn't support operation"); - data = tobj.externalData(data); - } - tobj = tobj||this; - //adds new element same as original - return tobj.add(tobj.externalData(data,tid),tindex); - }, - //move item to the new position - move:function(sid,tindex,tobj,tid){ - //can process an arrya - it allows to use it from onDrag - if (sid instanceof Array){ - for (var i=0; i < sid.length; i++) { - //increase index for each next item in the set, so order of insertion will be equal to order in the array - var new_index = (tobj||this).indexById(this.move(sid[i], tindex, tobj, dhtmlx.uid())); - if (sid[i+1]) - tindex = new_index+(this.indexById(sid[i+1])"+s.innerHTML+"
              "; - } -}; - - -/* DHX DEPEND FROM FILE 'drag.js'*/ - - -/* - Behavior:DragItem - adds ability to move items by dnd - - dnd context can have next properties - from - source object - to - target object - source - id of dragged item(s) - target - id of drop target, null for drop on empty space - start - id from which DND was started -*/ - -/*DHX:Depend dnd.js*/ /*DHX:Depend move.js*/ /*DHX:Depend compatibility_drag.js*/ -/*DHX:Depend dhtmlx.js*/ - - - -dhtmlx.DragItem={ - _init:function(){ - dhtmlx.assert(this.move,"DragItem :: Component doesn't have DataMove interface"); - dhtmlx.assert(this.locate,"DragItem :: Component doesn't have RenderStack interface"); - dhtmlx.assert(dhtmlx.DragControl,"DragItem :: DragControl is not included"); - - if (!this._settings || this._settings.drag) - dhtmlx.DragItem._initHandlers(this); - else if (this._settings){ - //define setter, which may be triggered by config call - this.drag_setter=function(value){ - if (value){ - this._initHandlers(this); - delete this.drag_setter; //prevent double initialization - } - return value; - }; - } - //if custom dnd marking logic is defined - attach extra handlers - if (this.dragMarker){ - this.attachEvent("onBeforeDragIn",this.dragMarker); - this.attachEvent("onDragOut",this.dragMarker); - } - - }, - //helper - defines component's container as active zone for dragging and for dropping - _initHandlers:function(obj){ - dhtmlx.DragControl.addDrop(obj._obj,obj,true); - dhtmlx.DragControl.addDrag(obj._obj,obj); - }, - /* - s - source html element - t - target html element - d - drop-on html element ( can be not equal to the target ) - e - native html event - */ - //called when drag moved over possible target - onDragIn:function(s,t,e){ - var id = this.locate(e) || null; - var context = dhtmlx.DragControl._drag_context; - var to = dhtmlx.DragControl.getMaster(s); - //previous target - var html = (this._locateHTML(id)||this._obj); - //prevent double processing of same target - if (html == dhtmlx.DragControl._landing) return html; - context.target = id; - context.to = to; - - if (!this.callEvent("onBeforeDragIn",[context,e])){ - context.id = null; - return null; - } - - dhtmlx.html.addCss(html,"dhx_drag_over"); //mark target - return html; - }, - //called when drag moved out from possible target - onDragOut:function(s,t,n,e){ - var id = this.locate(e) || null; - if (n != this._dataobj) - id = null; - //previous target - var html = (this._locateHTML(id)||(n?dhtmlx.DragControl.getMaster(n)._obj:window.undefined)); - if (html == dhtmlx.DragControl._landing) return null; - //unmark previous target - var context = dhtmlx.DragControl._drag_context; - dhtmlx.html.removeCss(dhtmlx.DragControl._landing,"dhx_drag_over"); - context.target = context.to = null; - this.callEvent("onDragOut",[context,e]); - return null; - }, - //called when drag moved on target and button is released - onDrop:function(s,t,d,e){ - var context = dhtmlx.DragControl._drag_context; - - //finalize context details - context.to = this; - context.index = context.target?this.indexById(context.target):this.dataCount(); - context.new_id = dhtmlx.uid(); - if (!this.callEvent("onBeforeDrop",[context,e])) return; - //moving - if (context.from==context.to){ - this.move(context.source,context.index); //inside the same component - } else { - if (context.from) //from different component - context.from.move(context.source,context.index,context.to,context.new_id); - else - dhtmlx.error("Unsopported d-n-d combination"); - } - this.callEvent("onAfterDrop",[context,e]); - }, - //called when drag action started - onDrag:function(s,e){ - var id = this.locate(e); - var list = [id]; - if (id){ - if (this.getSelected){ //has selection model - var selection = this.getSelected(); //if dragged item is one of selected - drag all selected - if (dhtmlx.PowerArray.find.call(selection,id)!=-1) - list = selection; - } - //save initial dnd params - var context = dhtmlx.DragControl._drag_context= { source:list, start:id }; - context.from = this; - - if (this.callEvent("onBeforeDrag",[context,e])) - return context.html||this._toHTML(this.get(id)); //set drag representation - } - return null; - } - //returns dnd context object - /*getDragContext:function(){ - return dhtmlx.DragControl._drag_context; - }*/ -}; - - -/* DHX DEPEND FROM FILE 'edit.js'*/ - - -/* - Behavior:EditAbility - enables item operation for the items - - @export - edit - stopEdit -*/ -dhtmlx.EditAbility={ - _init: function(id){ - this._edit_id = null; //id of active item - this._edit_bind = null; //array of input-to-property bindings - - dhtmlx.assert(this.data,"EditAbility :: Component doesn't have DataStore"); - dhtmlx.assert(this._locateHTML,"EditAbility :: Component doesn't have RenderStack"); - - this.attachEvent("onEditKeyPress",function(code, ctrl, shift){ - if (code == 13 && !shift) - this.stopEdit(); - else if (code == 27) - this.stopEdit(true); - }); - this.attachEvent("onBeforeRender", function(){ - this.stopEdit(); - }); - - }, - //returns id of item in edit state, or null if none - isEdit:function(){ - return this._edit_id; - }, - //switch item to the edit state - edit:function(id){ - //edit operation can be blocked from editStop - when previously active editor can't be closed - if (this.stopEdit(false, id)){ - if (!this.callEvent("onBeforeEditStart",[id])) - return; - var data = this.data.get(id); - //object with custom templates is not editable - if (data.$template) return; - - //item must have have "edit" template - data.$template="edit"; - this.data.refresh(id); - this._edit_id = id; - - //parse templates and save input-property mapping - this._save_binding(id); - this._edit_bind(true,data); //fill inputs with data - - this.callEvent("onAfterEditStart",[id]); - } - }, - //close currently active editor - stopEdit:function(mode, if_not_id){ - if (!this._edit_id) return true; - if (this._edit_id == if_not_id) return false; - - var values = {}; - if (!mode) this._edit_bind(false,values); - else values = null; - - if (!this.callEvent("onBeforeEditStop",[this._edit_id, values])) - return false; - - var data=this.data.get(this._edit_id); - data.$template=null; //set default template - - //load data from inputs - //if mode is set - close editor without saving - if (!mode) this._edit_bind(false,data); - var id = this._edit_id; - this._edit_bind=this._edit_id=null; - - this.data.refresh(id); - - this.callEvent("onAfterEditStop",[id, values]); - return true; - }, - //parse template and save inputs which need to be mapped to the properties - _save_binding:function(id){ - var cont = this._locateHTML(id); - var code = ""; //code of prop-to-inp method - var back_code = ""; //code of inp-to-prop method - var bind_elements = []; //binded inputs - if (cont){ - var elements = cont.getElementsByTagName("*"); //all sub-tags - var bind = ""; - for (var i=0; i < elements.length; i++) { - if(elements[i].nodeType==1 && (bind = elements[i].getAttribute("bind"))){ //if bind present - //code for element accessing - code+="els["+bind_elements.length+"].value="+bind+";"; - back_code+=bind+"=els["+bind_elements.length+"].value;"; - bind_elements.push(elements[i]); - //clear block-selection for the input - elements[i].className+=" dhx_allow_selection"; - elements[i].onselectstart=this._block_native; - } - } - elements = null; - } - //create accessing methods, for later usage - code = Function("obj","els",code); - back_code = Function("obj","els",back_code); - this._edit_bind = function(mode,obj){ - if (mode){ //property to input - code(obj,bind_elements); - if (bind_elements.length && bind_elements[0].select) //focust first html input, if possible - bind_elements[0].select(); - } - else //input to propery - back_code(obj,bind_elements); - }; - }, - //helper - blocks event bubbling, used to stop click event on editor level - _block_native:function(e){ (e||event).cancelBubble=true; return true; } -}; - - -/* DHX DEPEND FROM FILE 'selection.js'*/ - - -/* - Behavior:SelectionModel - manage selection states - @export - select - unselect - selectAll - unselectAll - isSelected - getSelected -*/ -dhtmlx.SelectionModel={ - _init:function(){ - //collection of selected IDs - this._selected = dhtmlx.toArray(); - dhtmlx.assert(this.data, "SelectionModel :: Component doesn't have DataStore"); - - //remove selection from deleted items - this.data.attachEvent("onStoreUpdated",dhtmlx.bind(this._data_updated,this)); - this.data.attachEvent("onStoreLoad", dhtmlx.bind(this._data_loaded,this)); - this.data.attachEvent("onAfterFilter", dhtmlx.bind(this._data_filtered,this)); - this.data.attachEvent("onIdChange", dhtmlx.bind(this._id_changed,this)); - }, - _id_changed:function(oldid, newid){ - for (var i = this._selected.length - 1; i >= 0; i--) - if (this._selected[i]==oldid) - this._selected[i]=newid; - }, - _data_filtered:function(){ - for (var i = this._selected.length - 1; i >= 0; i--){ - if (this.data.indexById(this._selected[i]) < 0) - var id = this._selected[i]; - var item = this.item(id); - if (item) - delete item.$selected; - this._selected.splice(i,1); - this.callEvent("onSelectChange",[id]); - } - }, - //helper - linked to onStoreUpdated - _data_updated:function(id,obj,type){ - if (type == "delete") //remove selection from deleted items - this._selected.remove(id); - else if (!this.data.dataCount() && !this.data._filter_order){ //remove selection for clearAll - this._selected = dhtmlx.toArray(); - } - }, - _data_loaded:function(){ - if (this._settings.select) - this.data.each(function(obj){ - if (obj.$selected) this.select(obj.id); - }, this); - }, - //helper - changes state of selection for some item - _select_mark:function(id,state,refresh){ - if (!refresh && !this.callEvent("onBeforeSelect",[id,state])) return false; - - this.data.item(id).$selected=state; //set custom mark on item - if (refresh) - refresh.push(id); //if we in the mass-select mode - collect all changed IDs - else{ - if (state) - this._selected.push(id); //then add to list of selected items - else - this._selected.remove(id); - this._refresh_selection(id); //othervise trigger repainting - } - - return true; - }, - //select some item - select:function(id,non_modal,continue_old){ - //if id not provide - works as selectAll - if (!id) return this.selectAll(); - - //allow an array of ids as parameter - if (id instanceof Array){ - for (var i=0; i < id.length; i++) - this.select(id[i], non_modal, continue_old); - return; - } - - if (!this.data.exists(id)){ - dhtmlx.error("Incorrect id in select command: "+id); - return; - } - - //block selection mode - if (continue_old && this._selected.length) - return this.selectAll(this._selected[this._selected.length-1],id); - //single selection mode - if (!non_modal && (this._selected.length!=1 || this._selected[0]!=id)){ - this._silent_selection = true; //prevent unnecessary onSelectChange event - this.unselectAll(); - this._silent_selection = false; - } - if (this.isSelected(id)){ - if (non_modal) this.unselect(id); //ctrl-selection of already selected item - return; - } - - if (this._select_mark(id,true)){ //if not blocked from event - this.callEvent("onAfterSelect",[id]); - } - }, - //unselect some item - unselect:function(id){ - //if id is not provided - unselect all items - if (!id) return this.unselectAll(); - if (!this.isSelected(id)) return; - - this._select_mark(id,false); - }, - //select all items, or all in defined range - selectAll:function(from,to){ - var range; - var refresh=[]; - - if (from||to) - range = this.data.getRange(from||null,to||null); //get limited set if bounds defined - else - range = this.data.getRange(); //get all items in other case - //in case of paging - it will be current page only - range.each(function(obj){ - var d = this.data.item(obj.id); - if (!d.$selected){ - this._selected.push(obj.id); - this._select_mark(obj.id,true,refresh); - } - return obj.id; - },this); - //repaint self - this._refresh_selection(refresh); - }, - //remove selection from all items - unselectAll:function(){ - var refresh=[]; - - this._selected.each(function(id){ - this._select_mark(id,false,refresh); //unmark selected only - },this); - - this._selected=dhtmlx.toArray(); - this._refresh_selection(refresh); //repaint self - }, - //returns true if item is selected - isSelected:function(id){ - return this._selected.find(id)!=-1; - }, - /* - returns ID of selected items or array of IDs - to make result predictable - as_array can be used, - with such flag command will always return an array - empty array in case when no item was selected - */ - getSelected:function(as_array){ - switch(this._selected.length){ - case 0: return as_array?[]:""; - case 1: return as_array?[this._selected[0]]:this._selected[0]; - default: return ([].concat(this._selected)); //isolation - } - }, - //detects which repainting mode need to be used - _is_mass_selection:function(obj){ - // crappy heuristic, but will do the job - return obj.length>100 || obj.length > this.data.dataCount/2; - }, - _refresh_selection:function(refresh){ - if (typeof refresh != "object") refresh = [refresh]; - if (!refresh.length) return; //nothing to repaint - - if (this._is_mass_selection(refresh)) - this.data.refresh(); //many items was selected - repaint whole view - else - for (var i=0; i < refresh.length; i++) //repaint only selected - this.render(refresh[i],this.data.item(refresh[i]),"update"); - - if (!this._silent_selection) - this.callEvent("onSelectChange",[refresh]); - } -}; - - - - -/* DHX DEPEND FROM FILE 'render.js'*/ - - -/* - Renders collection of items - Behavior uses plain strategy which suits only for relative small datasets - - @export - locate - show - render -*/ -dhtmlx.RenderStack={ - _init:function(){ - dhtmlx.assert(this.data,"RenderStack :: Component doesn't have DataStore"); - dhtmlx.assert(dhtmlx.Template,"dhtmlx.Template :: dhtmlx.Template is not accessible"); - - //used for temporary HTML elements - //automatically nulified during destruction - this._html = document.createElement("DIV"); - - }, - //convert single item to HTML text (templating) - _toHTML:function(obj){ - //check if related template exist - dhtmlx.assert((!obj.$template || this.type["template_"+obj.$template]),"RenderStack :: Unknown template: "+obj.$template); - - /*mm: fix allows to call the event for all objects (PropertySheet)*/ - //if (obj.$template) //custom template - this.callEvent("onItemRender",[obj]); - /* - $template property of item, can contain a name of custom template - */ - return this.type._item_start(obj,this.type)+(obj.$template?this.type["template_"+obj.$template]:this.type.template)(obj,this.type)+this.type._item_end; - }, - //convert item to HTML object (templating) - _toHTMLObject:function(obj){ - this._html.innerHTML = this._toHTML(obj); - return this._html.firstChild; - }, - //return html container by its ID - //can return undefined if container doesn't exists - _locateHTML:function(search_id){ - if (this._htmlmap) - return this._htmlmap[search_id]; - - //fill map if it doesn't created yet - this._htmlmap={}; - - var t = this._dataobj.childNodes; - for (var i=0; i < t.length; i++){ - var id = t[i].getAttribute(this._id); //get item's - if (id) - this._htmlmap[id]=t[i]; - } - //call locator again, when map is filled - return this._locateHTML(search_id); - }, - //return id of item from html event - locate:function(e){ return dhtmlx.html.locate(e,this._id); }, - //change scrolling state of top level container, so related item will be in visible part - show:function(id){ - var html = this._locateHTML(id); - if (html) - this._dataobj.scrollTop = html.offsetTop-this._dataobj.offsetTop; - }, - //update view after data update - //method calls low-level rendering for related items - //when called without parameters - all view refreshed - render:function(id,data,type,after){ - if (id){ - var cont = this._locateHTML(id); //get html element of updated item - switch(type){ - case "update": - //in case of update - replace existing html with updated one - if (!cont) return; - var t = this._htmlmap[id] = this._toHTMLObject(data); - dhtmlx.html.insertBefore(t, cont); - dhtmlx.html.remove(cont); - break; - case "delete": - //in case of delete - remove related html - if (!cont) return; - dhtmlx.html.remove(cont); - delete this._htmlmap[id]; - break; - case "add": - //in case of add - put new html at necessary position - var t = this._htmlmap[id] = this._toHTMLObject(data); - dhtmlx.html.insertBefore(t, this._locateHTML(this.data.next(id)), this._dataobj); - break; - case "move": - //in case of move , simulate add - delete sequence - //it will affect only rendering - this.render(id,data,"delete"); - this.render(id,data,"add"); - break; - default: - dhtmlx.error("Unknown render command: "+type); - break; - } - } else { - //full reset - if (this.callEvent("onBeforeRender",[this.data])){ - //getRange - returns all elements - this._dataobj.innerHTML = this.data.getRange().map(this._toHTML,this).join(""); - this._htmlmap = null; //clear map, it will be filled at first _locateHTML - } - } - this.callEvent("onAfterRender",[]); - }, - //pager attachs handler to onBeforeRender, to limit visible set of data - //data.min and data.max affect result of data.getRange() - pager_setter:function(value){ - this.attachEvent("onBeforeRender",function(){ - var s = this._settings.pager._settings; - //initial value of pager = -1, waiting for real value - if (s.page == -1) return false; - - this.data.min = s.page*s.size; //affect data.getRange - this.data.max = (s.page+1)*s.size-1; - return true; - }); - - var pager = new dhtmlx.ui.pager(value); - //update functor - var update = dhtmlx.bind(function(){ - this.data.refresh(); - },this); - - //when values of pager are changed - repaint view - pager.attachEvent("onRefresh",update); - //when something changed in DataStore - update configuration of pager - //during refresh - pager can call onRefresh method which will cause repaint of view - this.data.attachEvent("onStoreUpdated",function(data){ - var count = this.dataCount(); - if (count != pager._settings.count){ - pager._settings.count = count; - //set first page - //it is called first time after data loading - //until this time pager is not rendered - if (pager._settings.page == -1) - pager._settings.page = 0; - - pager.refresh(); - } - }); - return pager; - }, - //can be used only to trigger auto-height - height_setter:function(value){ - if (value=="auto"){ - //react on resize of window and self-repainting - this.attachEvent("onAfterRender",this._correct_height); - dhtmlx.event(window,"resize",dhtmlx.bind(this._correct_height,this)); - } - return value; - }, - //update height of container to remove inner scrolls - _correct_height:function(){ - //disable scrolls - if we are using auto-height , they are not necessary - this._dataobj.style.overflow="hidden"; - //set min. size, so we can fetch real scroll height - this._dataobj.style.height = "1px"; - - var t = this._dataobj.scrollHeight; - this._dataobj.style.height = t+"px"; - // FF has strange issue with height caculation - // it incorrectly detects scroll height when only small part of item is invisible - if (dhtmlx._isFF){ - var t2 = this._dataobj.scrollHeight; - if (t2!=t) - this._dataobj.style.height = t2+"px"; - } - this._obj.style.height = this._dataobj.style.height; - }, - //get size of single item - _getDimension:function(){ - var t = this.type; - var d = (t.border||0)+(t.padding||0)*2+(t.margin||0)*2; - //obj.x - widht, obj.y - height - return {x : t.width+d, y: t.height+d }; - }, - //x_count propery sets width of container, so N items can be placed on single line - x_count_setter:function(value){ - var dim = this._getDimension(); - var scrfix = dhtmlx.$customScroll ? 0 : 18; - this._dataobj.style.width = dim.x*value+(this._settings.height != "auto" ? scrfix : 0)+"px"; - return value; - }, - //x_count propery sets height of container, so N items a visible in one column - //column will have scroll if real count of lines is greater than N - y_count_setter:function(value){ - var dim = this._getDimension(); - this._dataobj.style.height = dim.y*value+"px"; - return value; - } -}; - - -/* DHX DEPEND FROM FILE 'virtual_render.js'*/ - - -/* - Renders collection of items - Always shows y-scroll - Can be used with huge datasets - - @export - show - render -*/ - -/*DHX:Depend render.js*/ - -dhtmlx.VirtualRenderStack={ - _init:function(){ - dhtmlx.assert(this.render,"VirtualRenderStack :: Object must use RenderStack first"); - - this._htmlmap={}; //init map of rendered elements - //in this mode y-scroll is always visible - //it simplifies calculations a lot - this._dataobj.style.overflowY="scroll"; - - //we need to repaint area each time when view resized or scrolling state is changed - dhtmlx.event(this._dataobj,"scroll",dhtmlx.bind(this._render_visible_rows,this)); - dhtmlx.event(window,"resize",dhtmlx.bind(function(){ this.render(); },this)); - - //here we store IDs of elemenst which doesn't loadede yet, but need to be rendered - this.data._unrendered_area=[]; - this.data.getIndexRange=this._getIndexRange; - }, - //return html object by item's ID. Can return null for not-rendering element - _locateHTML:function(search_id){ - //collection was filled in _render_visible_rows - return this._htmlmap[search_id]; - }, - //adjust scrolls to make item visible - show:function(id){ - range = this._getVisibleRange(); - var ind = this.data.indexById(id); - //we can't use DOM method for not-rendered-yet items, so fallback to pure math - var dy = Math.floor(ind/range._dx)*range._y; - this._dataobj.scrollTop = dy; - }, - _getIndexRange:function(from,to){ - if (to !== 0) - to=Math.min((to||Infinity),this.dataCount()-1); - - var ret=dhtmlx.toArray(); //result of method is rich-array - for (var i=(from||0); i <= to; i++){ - var item = this.item(this.order[i]); - if(this.order.length>i){ - if (!item){ - this.order[i]=dhtmlx.uid(); - item = { id:this.order[i], $template:"loading" }; - this._unrendered_area.push(this.order[i]); //store item ID for later loading - } else if (item.$template == "loading") - this._unrendered_area.push(this.order[i]); - ret.push(item); - } - - } - return ret; - }, - //repain self after changes in DOM - //for add, delete, move operations - render is delayed, to minify performance impact - render:function(id,data,type,after){ - if (id){ - var cont = this._locateHTML(id); //old html element - switch(type){ - case "update": - if (!cont) return; - //replace old with new - var t = this._htmlmap[id] = this._toHTMLObject(data); - dhtmlx.html.insertBefore(t, cont); - dhtmlx.html.remove(cont); - break; - default: // "move", "add", "delete" - /* - for all above operations, full repainting is necessary - but from practical point of view, we need only one repainting per thread - code below initiates double-thread-rendering trick - */ - this._render_delayed(); - break; - } - } else { - //full repainting - if (this.callEvent("onBeforeRender",[this.data])){ - this._htmlmap = {}; //nulify links to already rendered elements - this._render_visible_rows(null, true); - // clear delayed-rendering, because we already have repaint view - this._wait_for_render = false; - this.callEvent("onAfterRender",[]); - } - } - }, - //implement double-thread-rendering pattern - _render_delayed:function(){ - //this flag can be reset from outside, to prevent actual rendering - if (this._wait_for_render) return; - this._wait_for_render = true; - - window.setTimeout(dhtmlx.bind(function(){ - this.render(); - },this),1); - }, - //create empty placeholders, which will take space before rendering - _create_placeholder:function(height){ - var node = document.createElement("DIV"); - node.style.cssText = "height:"+height+"px; width:100%; overflow:hidden;"; - return node; - }, - /* - Methods get coordinatest of visible area and checks that all related items are rendered - If, during rendering, some not-loaded items was detected - extra data loading is initiated. - reset - flag, which forces clearing of previously rendered elements - */ - _render_visible_rows:function(e,reset){ - this.data._unrendered_area=[]; //clear results of previous calls - - var viewport = this._getVisibleRange(); //details of visible view - if (!this._dataobj.firstChild || reset){ //create initial placeholder - for all view space - this._dataobj.innerHTML=""; - this._dataobj.appendChild(this._create_placeholder(viewport._max)); - //register placeholder in collection - this._htmlrows = [this._dataobj.firstChild]; - } - - /* - virtual rendering breaks all view on rows, because we know widht of item - we can calculate how much items can be placed on single row, and knowledge - of that, allows to calculate count of such rows - - each time after scrolling, code iterate through visible rows and render items - in them, if they are not rendered yet - - both rendered rows and placeholders are registered in _htmlrows collection - */ - - //position of first visible row - var t = Math.max(viewport._from, 0); - //max can be 0, in case of 1 row per page - var max_row = (this.data.max || this.data.max === 0)?this.data.max:Infinity; - - while(t<=viewport._height){ //loop for all visible rows - //skip already rendered rows - while(this._htmlrows[t] && this._htmlrows[t]._filled && t<=viewport._height){ - t++; - } - //go out if all is rendered - if (t>viewport._height) break; - - //locate nearest placeholder - var holder = t; - while (!this._htmlrows[holder]) holder--; - var holder_row = this._htmlrows[holder]; - - //render elements in the row - var base = t*viewport._dx+(this.data.min||0); //index of rendered item - if (base > max_row) break; //check that row is in virtual bounds, defined by paging - var nextpoint = Math.min(base+viewport._dx-1,max_row); - var node = this._create_placeholder(viewport._y); - //all items in rendered row - var range = this.data.getIndexRange(base, nextpoint); - if (!range.length) break; - - node.innerHTML=range.map(this._toHTML,this).join(""); //actual rendering - for (var i=0; i < range.length; i++) //register all new elements for later usage in _locateHTML - this._htmlmap[this.data.idByIndex(base+i)]=node.childNodes[i]; - - //correct placeholders - var h = parseInt(holder_row.style.height,10); - var delta = (t-holder)*viewport._y; - var delta2 = (h-delta-viewport._y); - - //add new row to the DOOM - dhtmlx.html.insertBefore(node,delta?holder_row.nextSibling:holder_row,this._dataobj); - this._htmlrows[t]=node; - node._filled = true; - - /* - if new row is at start of placeholder - decrease placeholder's height - else if new row takes whole placeholder - remove placeholder from DOM - else - we are inserting row in the middle of existing placeholder - decrease height of existing one, and add one more, - before the newly added row - */ - if (delta <= 0 && delta2>0){ - holder_row.style.height = delta2+"px"; - this._htmlrows[t+1] = holder_row; - } else { - if (delta<0) - dhtmlx.html.remove(holder_row); - else - holder_row.style.height = delta+"px"; - if (delta2>0){ - var new_space = this._htmlrows[t+1] = this._create_placeholder(delta2); - dhtmlx.html.insertBefore(new_space,node.nextSibling,this._dataobj); - } - } - - - t++; - } - //when all done, check for non-loaded items - if (this.data._unrendered_area.length){ - //we have some data to load - //detect borders - var from = this.indexById(this.data._unrendered_area[0]); - var to = this.indexById(this.data._unrendered_area.pop())+1; - if (to>from){ - //initiate data loading - if (!this.callEvent("onDataRequest",[from, to-from])) return false; - dhtmlx.assert(this.data.feed,"Data feed is missed"); - this.data.feed.call(this,from,to-from); - } - } - if (dhtmlx._isIE){ - var viewport2 = this._getVisibleRange(); - if (viewport2._from != viewport._from) - this._render_visible_rows(); - } - }, - //calculates visible view - _getVisibleRange:function(){ - var scrfix = dhtmlx.$customScroll ? 0 : 18; - var top = this._dataobj.scrollTop; - var width = Math.max(this._dataobj.scrollWidth,this._dataobj.offsetWidth) - scrfix; // opera returns zero scrollwidth for the empty object - var height = this._dataobj.offsetHeight; // 18 - scroll - //size of single item - var t = this.type; - var dim = this._getDimension(); - - var dx = Math.floor(width/dim.x)||1; //at least single item per row - - var min = Math.floor(top/dim.y); //index of first visible row - var dy = Math.ceil((height+top)/dim.y)-1; //index of last visible row - //total count of items, paging can affect this math - var count = this.data.max?(this.data.max-this.data.min):this.data.dataCount(); - var max = Math.ceil(count/dx)*dim.y; //size of view in rows - - return { _from:min, _height:dy, _top:top, _max:max, _y:dim.y, _dx:dx}; - } -}; - - - -/* DHX INITIAL FILE 'C:\http\legacy/dhtmlxCore/sources//dataview.js'*/ - - -/* - UI:DataView -*/ - -/*DHX:Depend dataview.css*/ -/*DHX:Depend types*/ -/*DHX:Depend ../imgs/dataview*/ - -/*DHX:Depend compatibility_layout.js*/ -/*DHX:Depend compatibility_drag.js*/ - -/*DHX:Depend datastore.js*/ -/*DHX:Depend load.js*/ /*DHX:Depend virtual_render.js*/ /*DHX:Depend selection.js*/ -/*DHX:Depend mouse.js*/ /*DHX:Depend key.js*/ /*DHX:Depend edit.js*/ -/*DHX:Depend drag.js*/ /*DHX:Depend dataprocessor_hook.js*/ /*DHX:Depend autotooltip.js*/ -/*DHX:Depend pager.js*/ /*DHX:Depend destructor.js*/ /*DHX:Depend dhtmlx.js*/ -/*DHX:Depend config.js*/ - - - - -//container - can be a HTML container or it's ID -dhtmlXDataView = function(container){ - //next data is only for debug purposes - this.name = "DataView"; //name of component - this.version = "3.0"; //version of component - - if (dhtmlx.assert_enabled()) this._assert(); - - //enable configuration - dhtmlx.extend(this, dhtmlx.Settings); - this._parseContainer(container,"dhx_dataview"); //assigns parent container - - - - //behaviors - dhtmlx.extend(this, dhtmlx.AtomDataLoader); - dhtmlx.extend(this, dhtmlx.DataLoader); //includes creation of DataStore - dhtmlx.extend(this, dhtmlx.EventSystem); - dhtmlx.extend(this, dhtmlx.RenderStack); - dhtmlx.extend(this, dhtmlx.SelectionModel); - dhtmlx.extend(this, dhtmlx.MouseEvents); - dhtmlx.extend(this, dhtmlx.KeyEvents); - dhtmlx.extend(this, dhtmlx.EditAbility); - dhtmlx.extend(this, dhtmlx.DataMove); - dhtmlx.extend(this, dhtmlx.DragItem); - dhtmlx.extend(this, dhtmlx.DataProcessor); - dhtmlx.extend(this, dhtmlx.AutoTooltip); - dhtmlx.extend(this, dhtmlx.Destruction); - - - //render self , each time when data is updated - this.data.attachEvent("onStoreUpdated",dhtmlx.bind(function(){ - this.render.apply(this,arguments); - },this)); - - //default settings - this._parseSettings(container,{ - drag:false, - edit:false, - select:"multiselect", //multiselection is enabled by default - type:"default" - }); - - //in case of auto-height we use plain rendering - if (this._settings.height!="auto"&&!this._settings.renderAll) - dhtmlx.extend(this, dhtmlx.VirtualRenderStack); //extends RenderStack behavior - - //map API of DataStore on self - this.data.provideApi(this,true); - - if (dhtmlx.$customScroll) - dhtmlx.CustomScroll.enable(this); -}; -dhtmlXDataView.prototype={ - bind:function(){ - dhx.BaseBind.legacyBind.apply(this, arguments); - }, - sync:function(){ - dhx.BaseBind.legacySync.apply(this, arguments); - }, - /* - Called each time when dragIn or dragOut situation occurs - context - drag context object - ev - native event - */ - dragMarker:function(context,ev){ - //get HTML element by item ID - //can be null - when item is not rendered yet - var el = this._locateHTML(context.target); - - //ficon and some other types share common bg marker - if (this.type.drag_marker){ - if (this._drag_marker){ - //clear old drag marker position - this._drag_marker.style.backgroundImage=""; - this._drag_marker.style.backgroundRepeat=""; - } - - // if item already rendered - if (el) { - //show drag marker - el.style.backgroundImage="url("+(dhtmlx.image_path||"")+this.type.drag_marker+")"; - el.style.backgroundRepeat="no-repeat"; - this._drag_marker = el; - } - } - - //auto-scroll during d-n-d, only if related option is enabled - if (el && this._settings.auto_scroll){ - //maybe it can be moved to the drag behavior - var dy = el.offsetTop; - var dh = el.offsetHeight; - var py = this._obj.scrollTop; - var ph = this._obj.offsetHeight; - //scroll up or down is mouse already pointing on top|bottom visible item - if (dy-dh >= 0 && dy-dh*0.75 < py) - py = Math.max(dy-dh, 0); - else if (dy+dh/0.75 > py+ph) - py = py+dh; - - this._obj.scrollTop = py; - } - return true; - }, - //attribute , which will be used for ID storing - _id:"dhx_f_id", - //css class to action map, for onclick event - on_click:{ - dhx_dataview_item:function(e,id){ - //click on item - if (this.stopEdit(false,id)){ - if (this._settings.select){ - if (this._settings.select=="multiselect") - this.select(id, e.ctrlKey, e.shiftKey); //multiselection - else - this.select(id); - } - } - } - }, - //css class to action map, for dblclick event - on_dblclick:{ - dhx_dataview_item:function(e,id){ - //dblclick on item - if (this._settings.edit) - this.edit(id); //edit it! - } - }, - //css class to action map, for mousemove event - on_mouse_move:{ - }, - types:{ - "default":{ - css:"default", - //normal state of item - template:dhtmlx.Template.fromHTML("
              {obj.text}
              "), - //template for edit state of item - template_edit:dhtmlx.Template.fromHTML("
              "), - //in case of dyn. loading - temporary spacer - template_loading:dhtmlx.Template.fromHTML("
              Loading...
              "), - width:210, - height:115, - margin:0, - padding:10, - border:1 - } - }, - template_item_start:dhtmlx.Template.fromHTML("
              "), - template_item_end:dhtmlx.Template.fromHTML("
              ") -}; - -dhtmlx.compat("layout"); \ No newline at end of file diff --git a/themes/sources4.0/dhtmlxDataView/codebase/imgs/dhxdataview_material/dnd_selector.png b/themes/sources4.0/dhtmlxDataView/codebase/imgs/dhxdataview_material/dnd_selector.png deleted file mode 100644 index 5d8e9b4..0000000 Binary files a/themes/sources4.0/dhtmlxDataView/codebase/imgs/dhxdataview_material/dnd_selector.png and /dev/null differ diff --git a/themes/sources4.0/dhtmlxDataView/codebase/imgs/dhxdataview_material/dnd_selector_cells.png b/themes/sources4.0/dhtmlxDataView/codebase/imgs/dhxdataview_material/dnd_selector_cells.png deleted file mode 100644 index 63da638..0000000 Binary files a/themes/sources4.0/dhtmlxDataView/codebase/imgs/dhxdataview_material/dnd_selector_cells.png and /dev/null differ diff --git a/themes/sources4.0/dhtmlxDataView/codebase/imgs/dhxdataview_material/dnd_selector_lines.png b/themes/sources4.0/dhtmlxDataView/codebase/imgs/dhxdataview_material/dnd_selector_lines.png deleted file mode 100644 index 576ecfd..0000000 Binary files a/themes/sources4.0/dhtmlxDataView/codebase/imgs/dhxdataview_material/dnd_selector_lines.png and /dev/null differ diff --git a/themes/sources4.0/dhtmlxDataView/codebase/imgs/dhxdataview_material/marker.png b/themes/sources4.0/dhtmlxDataView/codebase/imgs/dhxdataview_material/marker.png deleted file mode 100644 index ceec125..0000000 Binary files a/themes/sources4.0/dhtmlxDataView/codebase/imgs/dhxdataview_material/marker.png and /dev/null differ diff --git a/themes/sources4.0/dhtmlxDataView/codebase/imgs/dhxdataview_skyblue/dnd_selector.png b/themes/sources4.0/dhtmlxDataView/codebase/imgs/dhxdataview_skyblue/dnd_selector.png deleted file mode 100644 index 5d8e9b4..0000000 Binary files a/themes/sources4.0/dhtmlxDataView/codebase/imgs/dhxdataview_skyblue/dnd_selector.png and /dev/null differ diff --git a/themes/sources4.0/dhtmlxDataView/codebase/imgs/dhxdataview_skyblue/dnd_selector_cells.png b/themes/sources4.0/dhtmlxDataView/codebase/imgs/dhxdataview_skyblue/dnd_selector_cells.png deleted file mode 100644 index 63da638..0000000 Binary files a/themes/sources4.0/dhtmlxDataView/codebase/imgs/dhxdataview_skyblue/dnd_selector_cells.png and /dev/null differ diff --git a/themes/sources4.0/dhtmlxDataView/codebase/imgs/dhxdataview_skyblue/dnd_selector_lines.png b/themes/sources4.0/dhtmlxDataView/codebase/imgs/dhxdataview_skyblue/dnd_selector_lines.png deleted file mode 100644 index 576ecfd..0000000 Binary files a/themes/sources4.0/dhtmlxDataView/codebase/imgs/dhxdataview_skyblue/dnd_selector_lines.png and /dev/null differ diff --git a/themes/sources4.0/dhtmlxDataView/codebase/imgs/dhxdataview_skyblue/marker.png b/themes/sources4.0/dhtmlxDataView/codebase/imgs/dhxdataview_skyblue/marker.png deleted file mode 100644 index ceec125..0000000 Binary files a/themes/sources4.0/dhtmlxDataView/codebase/imgs/dhxdataview_skyblue/marker.png and /dev/null differ diff --git a/themes/sources4.0/dhtmlxDataView/codebase/imgs/dhxdataview_terrace/dnd_selector.png b/themes/sources4.0/dhtmlxDataView/codebase/imgs/dhxdataview_terrace/dnd_selector.png deleted file mode 100644 index 5d8e9b4..0000000 Binary files a/themes/sources4.0/dhtmlxDataView/codebase/imgs/dhxdataview_terrace/dnd_selector.png and /dev/null differ diff --git a/themes/sources4.0/dhtmlxDataView/codebase/imgs/dhxdataview_terrace/dnd_selector_cells.png b/themes/sources4.0/dhtmlxDataView/codebase/imgs/dhxdataview_terrace/dnd_selector_cells.png deleted file mode 100644 index 63da638..0000000 Binary files a/themes/sources4.0/dhtmlxDataView/codebase/imgs/dhxdataview_terrace/dnd_selector_cells.png and /dev/null differ diff --git a/themes/sources4.0/dhtmlxDataView/codebase/imgs/dhxdataview_terrace/dnd_selector_lines.png b/themes/sources4.0/dhtmlxDataView/codebase/imgs/dhxdataview_terrace/dnd_selector_lines.png deleted file mode 100644 index 576ecfd..0000000 Binary files a/themes/sources4.0/dhtmlxDataView/codebase/imgs/dhxdataview_terrace/dnd_selector_lines.png and /dev/null differ diff --git a/themes/sources4.0/dhtmlxDataView/codebase/imgs/dhxdataview_terrace/marker.png b/themes/sources4.0/dhtmlxDataView/codebase/imgs/dhxdataview_terrace/marker.png deleted file mode 100644 index ceec125..0000000 Binary files a/themes/sources4.0/dhtmlxDataView/codebase/imgs/dhxdataview_terrace/marker.png and /dev/null differ diff --git a/themes/sources4.0/dhtmlxDataView/codebase/imgs/dhxdataview_web/dnd_selector.png b/themes/sources4.0/dhtmlxDataView/codebase/imgs/dhxdataview_web/dnd_selector.png deleted file mode 100644 index 5d8e9b4..0000000 Binary files a/themes/sources4.0/dhtmlxDataView/codebase/imgs/dhxdataview_web/dnd_selector.png and /dev/null differ diff --git a/themes/sources4.0/dhtmlxDataView/codebase/imgs/dhxdataview_web/dnd_selector_cells.png b/themes/sources4.0/dhtmlxDataView/codebase/imgs/dhxdataview_web/dnd_selector_cells.png deleted file mode 100644 index 63da638..0000000 Binary files a/themes/sources4.0/dhtmlxDataView/codebase/imgs/dhxdataview_web/dnd_selector_cells.png and /dev/null differ diff --git a/themes/sources4.0/dhtmlxDataView/codebase/imgs/dhxdataview_web/dnd_selector_lines.png b/themes/sources4.0/dhtmlxDataView/codebase/imgs/dhxdataview_web/dnd_selector_lines.png deleted file mode 100644 index 576ecfd..0000000 Binary files a/themes/sources4.0/dhtmlxDataView/codebase/imgs/dhxdataview_web/dnd_selector_lines.png and /dev/null differ diff --git a/themes/sources4.0/dhtmlxDataView/codebase/imgs/dhxdataview_web/marker.png b/themes/sources4.0/dhtmlxDataView/codebase/imgs/dhxdataview_web/marker.png deleted file mode 100644 index ceec125..0000000 Binary files a/themes/sources4.0/dhtmlxDataView/codebase/imgs/dhxdataview_web/marker.png and /dev/null differ diff --git a/themes/sources4.0/dhtmlxDataView/codebase/skins/dhtmlxdataview_dhx_skyblue.css b/themes/sources4.0/dhtmlxDataView/codebase/skins/dhtmlxdataview_dhx_skyblue.css deleted file mode 100644 index 62bb627..0000000 --- a/themes/sources4.0/dhtmlxDataView/codebase/skins/dhtmlxdataview_dhx_skyblue.css +++ /dev/null @@ -1,112 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* skin detected, extra file: skins/dhx_skyblue.less */ - -.dhx_tooltip { - display: none; - position: absolute; - font-family: Tahoma; - color: #626262; - font-size: 11px; - z-index: 10000; - padding: 4px 10px 4px 10px; - border: 1px solid #fff; - border-radius: 3px; - -moz-border-radius: 3px; - -webkit-border-radius: 3px; - -moz-box-shadow: 0 0 3px #d9d9d9; - -webkit-box-shadow: 0 0 3px #d9d9d9; - text-shadow: 0px 1px 1px #fff; - box-shadow: 0 0 5px #d9d9d9; - background: -webkit-gradient(linear,left top,left bottom,color-stop(0,#efefef),color-stop(0.5,#f6f6f6),color-stop(1,#efefef)); - background: -o-linear-gradient(#efefef 0%,#f6f6f6 50%,#efefef 100%); - background: -ms-linear-gradient(#efefef 0%,#f6f6f6 50%,#efefef 100%); - background: -moz-linear-gradient(#efefef 0%,#f6f6f6 50%,#efefef 100%); - background: #efefef; -} -.dhx_noselect { - -moz-user-select: none; - -moz-user-select: -moz-none; - -khtml-user-select: none; -} -.dhx_allow_selection { - -moz-user-select: text; - -user-select: text; -} -.dhx_dataview { - overflow-y: auto; - -webkit-overflow-scrolling: touch; - overflow-x: hidden; - -moz-user-select: none; - -moz-user-select: -moz-none; - -khtml-select: none; -} -.dhx_drag_zone { - position: absolute; - border: 1px solid #A4BED4; - z-index: 8000; - -moz-box-shadow: 5px 5px 5px #888; - -khtml-box-shadow: 5px 5px 5px #888; -} -.dhx_dataview_default_item, -.dhx_dataview_default_item_selected { - cursor: pointer; - background-color: #ffffff; -} -.dhx_dataview .dhx_dataview_default_item, -.dhx_dataview .dhx_dataview_default_item_selected { - border-right: 1px solid #a4bed4; - border-bottom: 1px dotted #a4bed4; -} -.dhx_dataview_default_item_selected { - background-color: #a1ceed; - color: #b5deff; - border-color: #a1ceed; - background-repeat: repeat-x; -} -.dhx_dataview_item { - font-family: Tahoma; - font-size: 11px; - color: black; -} -.dhx_dataview_item .dhx_strong { - font-weight: bold; - display: block; - padding-bottom: 6px; -} -.dhx_dataview_default_item_selected .dhx_light { - color: #C3C3C3; -} -.dhx_dataview_item .dhx_light { - color: #919191; -} -.dhx_drag_over { - background-color: #faf768; - background-image: url("../imgs/dhxdataview_skyblue/marker.png"); - background-repeat: repeat-x; -} -.dhx_pager_item, -.dhx_pager_item_selected { - float: left; - text-align: center; - height: 16px; - font-family: Tahoma; - font-size: 10pt; - border: 1px solid gray; - padding: 2px 4px; - margin-left: 5px; - cursor: pointer; - background-color: white; -} -.dhx_pager_item_selected { - background-color: lightgrey; - color: white; - cursor: default; - font-weight: bold; -} diff --git a/themes/sources4.0/dhtmlxDataView/codebase/skins/dhtmlxdataview_dhx_terrace.css b/themes/sources4.0/dhtmlxDataView/codebase/skins/dhtmlxdataview_dhx_terrace.css deleted file mode 100644 index 91204db..0000000 --- a/themes/sources4.0/dhtmlxDataView/codebase/skins/dhtmlxdataview_dhx_terrace.css +++ /dev/null @@ -1,112 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* skin detected, extra file: skins/dhx_terrace.less */ - -.dhx_tooltip { - display: none; - position: absolute; - font-family: Arial; - color: #626262; - font-size: 13px; - z-index: 10000; - padding: 4px 10px 4px 10px; - border: 1px solid #fff; - border-radius: 3px; - -moz-border-radius: 3px; - -webkit-border-radius: 3px; - -moz-box-shadow: 0 0 3px #d9d9d9; - -webkit-box-shadow: 0 0 3px #d9d9d9; - text-shadow: 0px 1px 1px #fff; - box-shadow: 0 0 5px #d9d9d9; - background: -webkit-gradient(linear,left top,left bottom,color-stop(0,#efefef),color-stop(0.5,#f6f6f6),color-stop(1,#efefef)); - background: -o-linear-gradient(#efefef 0%,#f6f6f6 50%,#efefef 100%); - background: -ms-linear-gradient(#efefef 0%,#f6f6f6 50%,#efefef 100%); - background: -moz-linear-gradient(#efefef 0%,#f6f6f6 50%,#efefef 100%); - background: #efefef; -} -.dhx_noselect { - -moz-user-select: none; - -moz-user-select: -moz-none; - -khtml-user-select: none; -} -.dhx_allow_selection { - -moz-user-select: text; - -user-select: text; -} -.dhx_dataview { - overflow-y: auto; - -webkit-overflow-scrolling: touch; - overflow-x: hidden; - -moz-user-select: none; - -moz-user-select: -moz-none; - -khtml-select: none; -} -.dhx_drag_zone { - position: absolute; - border: 1px solid #A4BED4; - z-index: 8000; - -moz-box-shadow: 5px 5px 5px #888; - -khtml-box-shadow: 5px 5px 5px #888; -} -.dhx_dataview_default_item, -.dhx_dataview_default_item_selected { - cursor: pointer; - background-color: #ffffff; -} -.dhx_dataview .dhx_dataview_default_item, -.dhx_dataview .dhx_dataview_default_item_selected { - border-right: 1px solid #cccccc; - border-bottom: 1px dotted #cccccc; -} -.dhx_dataview_default_item_selected { - background-color: #fff3a1; - color: #fff3a1; - border-color: #fff3a1; - background-repeat: repeat-x; -} -.dhx_dataview_item { - font-family: Arial; - font-size: 13px; - color: black; -} -.dhx_dataview_item .dhx_strong { - font-weight: bold; - display: block; - padding-bottom: 6px; -} -.dhx_dataview_default_item_selected .dhx_light { - color: #C3C3C3; -} -.dhx_dataview_item .dhx_light { - color: #919191; -} -.dhx_drag_over { - background-color: #faf768; - background-image: url("../imgs/dhxdataview_terrace/marker.png"); - background-repeat: repeat-x; -} -.dhx_pager_item, -.dhx_pager_item_selected { - float: left; - text-align: center; - height: 16px; - font-family: Arial; - font-size: 10pt; - border: 1px solid gray; - padding: 2px 4px; - margin-left: 5px; - cursor: pointer; - background-color: white; -} -.dhx_pager_item_selected { - background-color: lightgrey; - color: white; - cursor: default; - font-weight: bold; -} diff --git a/themes/sources4.0/dhtmlxDataView/codebase/skins/dhtmlxdataview_dhx_web.css b/themes/sources4.0/dhtmlxDataView/codebase/skins/dhtmlxdataview_dhx_web.css deleted file mode 100644 index 8e7037a..0000000 --- a/themes/sources4.0/dhtmlxDataView/codebase/skins/dhtmlxdataview_dhx_web.css +++ /dev/null @@ -1,112 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* skin detected, extra file: skins/dhx_web.less */ - -.dhx_tooltip { - display: none; - position: absolute; - font-family: Tahoma; - color: #626262; - font-size: 12px; - z-index: 10000; - padding: 4px 10px 4px 10px; - border: 1px solid #fff; - border-radius: 3px; - -moz-border-radius: 3px; - -webkit-border-radius: 3px; - -moz-box-shadow: 0 0 3px #d9d9d9; - -webkit-box-shadow: 0 0 3px #d9d9d9; - text-shadow: 0px 1px 1px #fff; - box-shadow: 0 0 5px #d9d9d9; - background: -webkit-gradient(linear,left top,left bottom,color-stop(0,#efefef),color-stop(0.5,#f6f6f6),color-stop(1,#efefef)); - background: -o-linear-gradient(#efefef 0%,#f6f6f6 50%,#efefef 100%); - background: -ms-linear-gradient(#efefef 0%,#f6f6f6 50%,#efefef 100%); - background: -moz-linear-gradient(#efefef 0%,#f6f6f6 50%,#efefef 100%); - background: #efefef; -} -.dhx_noselect { - -moz-user-select: none; - -moz-user-select: -moz-none; - -khtml-user-select: none; -} -.dhx_allow_selection { - -moz-user-select: text; - -user-select: text; -} -.dhx_dataview { - overflow-y: auto; - -webkit-overflow-scrolling: touch; - overflow-x: hidden; - -moz-user-select: none; - -moz-user-select: -moz-none; - -khtml-select: none; -} -.dhx_drag_zone { - position: absolute; - border: 1px solid #A4BED4; - z-index: 8000; - -moz-box-shadow: 5px 5px 5px #888; - -khtml-box-shadow: 5px 5px 5px #888; -} -.dhx_dataview_default_item, -.dhx_dataview_default_item_selected { - cursor: pointer; - background-color: #ffffff; -} -.dhx_dataview .dhx_dataview_default_item, -.dhx_dataview .dhx_dataview_default_item_selected { - border-right: 1px solid #c7c7c7; - border-bottom: 1px dotted #c7c7c7; -} -.dhx_dataview_default_item_selected { - background-color: #85d3ff; - color: #85d3ff; - border-color: #85d3ff; - background-repeat: repeat-x; -} -.dhx_dataview_item { - font-family: Tahoma; - font-size: 12px; - color: #000000; -} -.dhx_dataview_item .dhx_strong { - font-weight: bold; - display: block; - padding-bottom: 6px; -} -.dhx_dataview_default_item_selected .dhx_light { - color: #C3C3C3; -} -.dhx_dataview_item .dhx_light { - color: #919191; -} -.dhx_drag_over { - background-color: #faf768; - background-image: url("../imgs/dhxdataview_web/marker.png"); - background-repeat: repeat-x; -} -.dhx_pager_item, -.dhx_pager_item_selected { - float: left; - text-align: center; - height: 16px; - font-family: Tahoma; - font-size: 10pt; - border: 1px solid gray; - padding: 2px 4px; - margin-left: 5px; - cursor: pointer; - background-color: white; -} -.dhx_pager_item_selected { - background-color: lightgrey; - color: white; - cursor: default; - font-weight: bold; -} diff --git a/themes/sources4.0/dhtmlxDataView/codebase/skins/dhtmlxdataview_material.css b/themes/sources4.0/dhtmlxDataView/codebase/skins/dhtmlxdataview_material.css deleted file mode 100644 index 6bb4447..0000000 --- a/themes/sources4.0/dhtmlxDataView/codebase/skins/dhtmlxdataview_material.css +++ /dev/null @@ -1,136 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: material - include extra file: skins/material.less -*/ - -@keyframes dhx_loader_rotate { - 100% { - transform: rotate(360deg); - } -} -@keyframes dhx_loader_dash { - 0% { - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - } - 50% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -35px; - } - 100% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -124px; - } -} -.dhx_tooltip { - display: none; - position: absolute; - font-family: Roboto, Arial, Helvetica; - color: #626262; - font-size: 14px; - z-index: 10000; - padding: 4px 10px 4px 10px; - border: 1px solid #fff; - border-radius: 3px; - -moz-border-radius: 3px; - -webkit-border-radius: 3px; - -moz-box-shadow: 0 0 3px #d9d9d9; - -webkit-box-shadow: 0 0 3px #d9d9d9; - text-shadow: 0px 1px 1px #fff; - box-shadow: 0 0 5px #d9d9d9; - background: -webkit-gradient(linear,left top,left bottom,color-stop(0,#efefef),color-stop(0.5,#f6f6f6),color-stop(1,#efefef)); - background: -o-linear-gradient(#efefef 0%,#f6f6f6 50%,#efefef 100%); - background: -ms-linear-gradient(#efefef 0%,#f6f6f6 50%,#efefef 100%); - background: -moz-linear-gradient(#efefef 0%,#f6f6f6 50%,#efefef 100%); - background: #efefef; -} -.dhx_noselect { - -moz-user-select: none; - -moz-user-select: -moz-none; - -khtml-user-select: none; -} -.dhx_allow_selection { - -moz-user-select: text; - -user-select: text; -} -.dhx_dataview { - overflow-y: auto; - -webkit-overflow-scrolling: touch; - overflow-x: hidden; - -moz-user-select: none; - -moz-user-select: -moz-none; - -khtml-select: none; -} -.dhx_drag_zone { - position: absolute; - border: 1px solid #A4BED4; - z-index: 8000; - -moz-box-shadow: 5px 5px 5px #888; - -khtml-box-shadow: 5px 5px 5px #888; - background: #fff; -} -.dhx_dataview_default_item, -.dhx_dataview_default_item_selected { - cursor: pointer; - background-color: white; -} -.dhx_dataview .dhx_dataview_default_item, -.dhx_dataview .dhx_dataview_default_item_selected { - border-right: 1px solid #eeeeee; - border-bottom: 1px solid #eeeeee; -} -.dhx_dataview .dhx_dataview_default_item_selected { - background-color: #eeeeee; - border-color: #eeeeee; - color: #404040; - background-repeat: repeat-y; - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAABAQMAAADO7O3JAAAAA1BMVEUzmc3EAelNAAAACklEQVQI12NgAAAAAgAB4iG8MwAAAABJRU5ErkJggg=="); - position: relative; -} -.dhx_dataview_item { - font-family: Roboto, Arial, Helvetica; - font-size: 14px; - color: #404040; -} -.dhx_dataview_item .dhx_strong { - font-weight: bold; - display: block; - padding-bottom: 6px; -} -.dhx_dataview_default_item_selected .dhx_light { - color: #C3C3C3; -} -.dhx_dataview_item .dhx_light { - color: #919191; -} -.dhx_drag_over { - background-color: #eeeeee; - background-repeat: repeat-x; -} -.dhx_pager_item, -.dhx_pager_item_selected { - float: left; - text-align: center; - height: 16px; - font-family: Roboto, Arial, Helvetica; - font-size: 10pt; - border: 1px solid gray; - padding: 2px 4px; - margin-left: 5px; - cursor: pointer; - background-color: white; -} -.dhx_pager_item_selected { - background-color: lightgrey; - color: white; - cursor: default; - font-weight: bold; -} diff --git a/themes/sources4.0/dhtmlxEditor/codebase/dhtmlxeditor.js b/themes/sources4.0/dhtmlxEditor/codebase/dhtmlxeditor.js deleted file mode 100644 index eca0ad2..0000000 --- a/themes/sources4.0/dhtmlxEditor/codebase/dhtmlxeditor.js +++ /dev/null @@ -1,666 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -function dhtmlXEditor(base, skin) { - - var that = this; - - this.conf = { - // set content after load - content: "", // first if set - contentHTML: "", // second - // resize - resizeTM: null, - resizeTMTime: 100, - // readonly - roMode: false, - // extended toolbar - toolbar: false, - iconsPath: "", - // frame events - evs: ["focus", "blur", "keydown", "keyup", "keypress", "mouseup", "mousedown", "click"] - }; - - - this._doOnFocusChanged = null; - this._doOnAccess = null; - - if (typeof(base) == "object" && base != null && base.tagName == null) { - skin = base.skin; - if (base.content != null) this.conf.content = base.content; - if (base.contentHTML != null) this.conf.contentHTML = base.contentHTML; - if (base.iconsPath != null) this.conf.iconsPath = base.iconsPath; - if (base.toolbar != null) this.conf.toolbar = window.dhx4.s2b(base.toolbar); - if (base.onFocusChanged != null) this._doOnFocusChanged = base.onFocusChanged; - if (base.onAccess != null) this._doOnAccess = base.onAccess; - base = base.parent; - } - - // skin config - this.conf.skin = (skin||window.dhx4.skin||(typeof(dhtmlx)!="undefined"?dhtmlx.skin:null)||window.dhx4.skinDetect("dhxeditor")||"dhx_skyblue"); - - // configure base - if (typeof(base) == "string") base = document.getElementById(base); - this.base = base; - this.base.className += " dhxeditor_"+this.conf.skin; - - while (this.base.childNodes.length > 0) this.base.removeChild(this.base.childNodes[0]); - - // configure base for dhxcont - var pos = (window.dhx4.isIE ? this.base.currentStyle["position"] : window.getComputedStyle(this.base, null).getPropertyValue("position")); - if (!(pos == "relative" || pos == "absolute")) this.base.style.position = "relative"; - - // init dhxcont - this.cell = new dhtmlXEditorCell(window.dhx4.newId(), this); - this.base.appendChild(this.cell.cell); - this.setSizes(); - - this.cBlock = document.createElement("DIV"); - this.cBlock.className = "dhxcont_content_blocker"; - this.cBlock.style.display = "none"; - this.base.appendChild(this.cBlock); - - // editable area - this.editor = document.createElement("IFRAME"); - this.editor.className = "dhxeditor_mainiframe"; - this.editor.frameBorder = 0; - if (window.dhx4.isOpera) this.editor.scrolling = "yes"; - - // onAccess event - focus/blue as param - var fr = this.editor; - if (typeof(window.addEventListener) != "undefined") { - fr.onload = function() { - for (var q=0; q"); - } else { - if (window.dhx4.isKHTML) { - edDoc.write(""); - } else { - if (window.dhx4.isIE) { - // && navigator.appVersion.indexOf("MSIE 9.0")!= -1 - edDoc.write(""); - } else { - edDoc.write(""); - } - } - } - edDoc.close(); - - if (window.dhx4.isIE) edDoc.contentEditable = (roMode!==true); else edDoc.designMode = (roMode!==true?"On":"Off"); - if (window.dhx4.isFF) try { edDoc.execCommand("useCSS", false, true); } catch(e) {} - if (saveContent === true && this.setContent != null) this.setContent(storedContent); - - } - - // fix - this._prepareContent(); - - // resize - this._doOnResize = function() { - window.clearTimeout(that.conf.resizeTM); - that.conf.resizeTM = window.setTimeout(function(){if(that.setSizes)that.setSizes();}, that.conf.resizeTMTime); - } - - // toolbar buttons - this._runCommand = function(name,param){ - if (this.conf.roMode === true) return; - if (arguments.length < 2) param = null; - if (window.dhx4.isIE) this.edWin.focus(); - try { - var edDoc = this.editor.contentWindow.document - edDoc.execCommand(name,false,param); - } catch(e){} - if (window.dhx4.isIE) { - this.edWin.focus(); - var self = this; - window.setTimeout(function(){ - self.edWin.focus(); - self = null; - },1); - } - } - - // commands - this.applyBold = function() { - this._runCommand("Bold"); - } - this.applyItalic = function() { - this._runCommand("Italic"); - } - this.applyUnderscore = function() { - this._runCommand("Underline"); - } - this.clearFormatting = function() { - this._runCommand("RemoveFormat"); - } - - this._doOnClick = function(e) { - var ev = e||window.event; - var el = ev.target||ev.srcElement; - that._showInfo(el); - } - - this._doOnMouseDown = function(e) { // opera only - var ev = e||window.event; - var el = ev.target||ev.srcElement; - that._showInfo(el); - } - - this._doOnKeyUp = function(e) { - var ev = e||window.event; - var key = ev.keyCode; - var el = ev.target||ev.srcElement; - if ({37:1,38:1,39:1,40:1,13:1}[key] == 1) that._showInfo(el); - } - - - this._getParentByTag = function(node, tag_name) { - tag_name = tag_name.toLowerCase(); - var p = node; - do { - if (tag_name == '' || p.nodeName.toLowerCase() == tag_name) return p; - } while (p = p.parentNode); - return node; - } - - this._isStyleProperty = function(node, tag_name, name, value){ - tag_name = tag_name.toLowerCase(); - var n = node; - do { - if ((n.nodeName.toLowerCase() == tag_name) && (n.style[name] == value)) return true; - } while (n = n.parentNode); - return false; - } - - this._setStyleProperty = function(el, prop) { - this.style[prop] = false; - var n = this._getParentByTag(el, prop); - if (n && (n.tagName.toLowerCase() == prop)) this.style[prop] = true; - if (prop == "del" && this._getParentByTag(el, "strike") && this._getParentByTag(el,"strike").tagName.toLowerCase() == "strike") this.style.del = true; - } - - this._showInfo = function(el) { - - var el = (this._getSelectionBounds().end)?this._getSelectionBounds().end : el; - if (!el || !this._setStyleProperty) return; - - try { - if (this.edWin.getComputedStyle) { - var st = this.edWin.getComputedStyle(el, null); - var fw = ((st.getPropertyValue("font-weight")==401)?700:st.getPropertyValue("font-weight")); - this.style = { - fontStyle : st.getPropertyValue("font-style"), - fontSize : st.getPropertyValue("font-size"), - textDecoration : st.getPropertyValue("text-decoration"), - fontWeight : fw, - fontFamily : st.getPropertyValue("font-family"), - textAlign : st.getPropertyValue("text-align") - }; - if (window.dhx4.isKHTML) { // safari - this.style.fontStyle = st.getPropertyValue("font-style"); - this.style.vAlign = st.getPropertyValue("vertical-align"); - this.style.del = this._isStyleProperty(el,"span","textDecoration","line-through"); - this.style.u = this._isStyleProperty(el,"span","textDecoration","underline"); - } - } else { - var st = el.currentStyle; - this.style = { - fontStyle : st.fontStyle, - fontSize : st.fontSize, - textDecoration : st.textDecoration, - fontWeight : st.fontWeight, - fontFamily : st.fontFamily, - textAlign : st.textAlign - }; - } - this._setStyleProperty(el,"h1"); - this._setStyleProperty(el,"h2"); - this._setStyleProperty(el,"h3"); - this._setStyleProperty(el,"h4"); - if (!window.dhx4.isKHTML) { - this._setStyleProperty(el,"del"); - this._setStyleProperty(el,"sub"); - this._setStyleProperty(el,"sup"); - this._setStyleProperty(el,"u"); - } - this.callEvent("onFocusChanged", [this.style, st]) - } catch(e){ return null; } - } - - this._getSelectionBounds = function() { - var range, root, start, end; - if (this.edWin.getSelection) { - var selection = this.edWin.getSelection(); - range = selection.getRangeAt(selection.rangeCount-1); - start = range.startContainer; - end = range.endContainer; - root = range.commonAncestorContainer; - if (start.nodeName == "#text") root = root.parentNode; - if (start.nodeName == "#text") start = start.parentNode; - if (start.nodeName.toLowerCase() == "body") start = start.firstChild; - if (end.nodeName == "#text") end = end.parentNode; - if (end.nodeName.toLowerCase() == "body") end = end.lastChild; - if (start == end) root = start; - return { - root: root, - start: start, - end: end - }; - } else if (this.edWin.document.selection) { - range = this.edDoc.selection.createRange() - if(!range.duplicate) return null; - root = range.parentElement(); - var r1 = range.duplicate(); - var r2 = range.duplicate(); - r1.collapse(true); - r2.moveToElementText(r1.parentElement()); - r2.setEndPoint("EndToStart",r1); - start = r1.parentElement(); - r1 = range.duplicate(); - r2 = range.duplicate(); - r2.collapse(false); - r1.moveToElementText(r2.parentElement()); - r1.setEndPoint("StartToEnd", r2); - end = r2.parentElement(); - if (start.nodeName.toLowerCase() == "body") start = start.firstChild; - if (end.nodeName.toLowerCase() == "body") end = end.lastChild; - - if (start == end) root = start; - return { - root: root, - start: start, - end: end - }; - } - return null; - } - - this.getContent = function(){ - if (!this.edDoc.body) { - return ""; - } else { - if (window.dhx4.isFF) return this.editor.contentWindow.document.body.innerHTML.replace(/<\/{0,}br\/{0,}>\s{0,}$/gi,""); - if (window.dhx4.isIE && this.edDoc.body.innerText.length == 0) return ""; - return this.edDoc.body.innerHTML; - } - } - - this.setContent = function(str){ - str = str||""; - if (this.edDoc.body) { - var ffTest = false; - if (window.dhx4.isFF) { - var k = navigator.userAgent.match(/Firefox\/(\d*)/); - ffTest = (k != null && k[1] < 28); - } - if (ffTest) { - if (typeof(this.conf.ffTest) == "undefined") { - this.editor.contentWindow.document.body.innerHTML = ""; - this._runCommand("InsertHTML", "test"); - this.conf.ffTest = (this.editor.contentWindow.document.body.innerHTML.length > 0); - } - if (this.conf.ffTest) { - // FF 4.x+ - this.editor.contentWindow.document.body.innerHTML = str; - } else { - // FF 2.x, 3.x - this.editor.contentWindow.document.body.innerHTML = ""; - if (str.length == 0) str=" "; - this._runCommand("InsertHTML", str); - } - } else { - this.editor.contentWindow.document.body.innerHTML = str; - } - this.callEvent("onContentSet",[]); - } else { - if (!this.conf.firstLoadEv) { - this.conf.firstLoadEv = true; - this.conf.firstLoadData = str; - this._onFirstLoad = function() { - that.setContent(that.conf.firstLoadData); - if (typeof(window.addEventListener) == "function") { - that.edWin.removeEventListener("load", that._onFirstLoad, false); - } else { - that.edWin.detachEvent("onload", that._onFirstLoad); - } - that.conf.firstLoadData = null; - that.conf.firstLoadEv = false; - that._onFirstLoad = null; - } - if (typeof(window.addEventListener) == "function") { - this.edWin.addEventListener("load", this._onFirstLoad, false); - } else { - this.edWin.attachEvent("onload", this._onFirstLoad); - } - } - } - } - - this.setContentHTML = function(url) { - window.dhx4.ajax.get(url, function(r) { - if (r.xmlDoc.responseText != null) that.setContent(r.xmlDoc.responseText); - }); - } - - // events - window.dhx4._eventable(this); - - this.attachEvent("onFocusChanged", function(state){ - if (typeof(this._doOnFocusChanged) == "function") { - this._doOnFocusChanged(state); - } else if (typeof(this._doOnFocusChanged) == "string" && typeof(window[this._doOnFocusChanged]) == "function") { - window[this._doOnFocusChanged](state); - } - }); - - if (typeof(window.addEventListener) == "function") { - window.addEventListener("resize", this._doOnResize, false); - this.edDoc.addEventListener("click", this._doOnClick, false); - this.edDoc.addEventListener("keyup", this._doOnKeyUp, false); - if (window.dhx4.isOpera) this.edDoc.addEventListener("mousedown", this._doOnMouseDown, false); - } else { - window.attachEvent("onresize", this._doOnResize); - this.edDoc.attachEvent("onclick", this._doOnClick); - this.edDoc.attachEvent("onkeyup", this._doOnKeyUp); - } - - this.unload = function() { - - // first detach events from iframe - if (typeof(window.addEventListener) == "function") { - window.removeEventListener("resize", this._doOnResize, false); - this.edDoc.removeEventListener("click", this._doOnClick, false); - this.edDoc.removeEventListener("keyup", this._doOnKeyUp, false); - if (window.dhx4.isOpera) this.edDoc.removeEventListener("mousedown", this._doOnMouseDown, false); - // editor's - for (var q=0; q 0) this.base.removeChild(this.base.childNodes[0]); - this.base = null; - - this._doOnClick = null; - this._doOnKeyUp = null; - this._doOnMouseDown = null; - - this._ev = null; - this._focus = null; - this._prepareContent = null; - this._doOnResize = null; - this.setIconsPath = null; - this.init = null; - this.setSizes = null; - this._runCommand = null; - this.applyBold = null; - this.applyItalic = null; - this.applyUnderscore = null; - this.clearFormatting = null; - this._showInfo = null; - this._getSelectionBounds = null; - this.getContent = null; - this.setContent = null; - this.setContentHTML = null; - this.setReadonly = null; - this.isReadonly = null; - this.unload = null; - - that = fr = null; - } - - // load extended toolbar if any - if (this.conf.toolbar == true && typeof(this.attachToolbar) == "function" && typeof(window.dhtmlXToolbarObject) == "function") { - this.attachToolbar(this.conf.iconsPath); - } - this.setIconsPath = function(iconsPath) { - this.conf.iconsPath = iconsPath; - } - - // load content if any - if (this.conf.content.length > 0) { - this.setContent(this.conf.content); - this.conf.content = ""; - } else if (this.conf.contentHTML.length > 0) { - this.setContentHTML(this.conf.contentHTML); - this.conf.contentHTML = ""; - } - - return this; -}; - -dhtmlXEditor.prototype.setSizes = function() { - this.cell._setSize(0, 0, this.base.clientWidth, this.base.clientHeight); -}; - -dhtmlXEditor.prototype.setReadonly = function(mode) { - this.conf.roMode = (mode===true); - this._prepareContent(true, this.conf.roMode); - this.cBlock.style.display = (this.conf.roMode?"":"none"); -}; - -dhtmlXEditor.prototype.isReadonly = function(mode) { - return (this.conf.roMode||false); -}; - -dhtmlXEditor.prototype.setSkin = function(skin) { - this.base.className = String(this.base.className).replace(new RegExp("dhxeditor_"+this.conf.skin),"dhxeditor_"+skin); - this.conf.skin = this.cell.conf.skin = skin; - if (this.tb) { - this.cell.detachToolbar(skin); - this.tb = null; - this.attachToolbar(); - } - this.setSizes(); -}; -window.dhtmlXEditorCell = function(id, editor) { - - dhtmlXCellObject.apply(this, [id, "_editor"]); - - var that = this; - this.editor = editor; - - this.conf.skin = this.editor.conf.skin; - - this.attachEvent("_onCellUnload", function(){ - - // unload simple toolbar - this._stbUnload(); - - this.editor = null; - that = null; - - }); - - // simple toolbar init - this._stbInit(); - - return this; -}; - -dhtmlXEditorCell.prototype = new dhtmlXCellObject(); - -// simple toolbar -dhtmlXEditorCell.prototype._stbInit = function() { - - var that = this; - - var t = document.createElement("DIV"); - t.className = "dhx_cell_stb"; - this.cell.insertBefore(t, this.cell.childNodes[this.conf.idx.cont]); - - t.onselectstart = function(e) { - e = e||event; - e.cancelBubble = true; - if (e.preventDefault) e.preventDefault(); else e.returnValue = false; - return false; - } - - var items = { - bold: "applyBold", - italic: "applyItalic", - underline: "applyUnderscore", - clearformat: "clearFormatting" - }; - - for (var k in items) { - - var a = document.createElement("A"); - a.href = "javascript:void(0);"; - a.tabIndex = -1; - t.appendChild(a); - - a.onmousedown = a.onclick = function(e){ - e = e||event; - if (e.preventDefault) e.preventDefault(); else e.returnValue = false; - return false; - } - - var d = document.createElement("DIV"); - d.className = "dhx_cell_stb_button btn_"+k; - d._actv = k.charAt(0); - d._cmd = items[k]; - a.appendChild(d); - - d.onclick = function(e){ - e = e||event; - if (e.preventDefault) e.preventDefault(); else e.returnValue = false; - return false; - } - d.onmousedown = function(e){ - e = e||event; - if (e.preventDefault) e.preventDefault(); else e.returnValue = false; - that.editor[this._cmd](); - that.editor.callEvent("onToolbarClick",[this._actv]); - } - - d = a = null; - } - - t = null; - - this._stbUnload = function() { - - var t = this.cell.childNodes[this.conf.idx.stb]; - t.onselectstart = null; - - while (t.childNodes.length > 0) { - t.lastChild.onmousedown = t.lastChild.onclick = null; - t.lastChild.firstChild.onmousedown = t.lastChild.firstChild.onclick = null; - t.lastChild.firstChild._actv = t.lastChild.firstChild._cmd = null; - t.lastChild.removeChild(t.lastChild.firstChild); - t.removeChild(t.lastChild); - } - t.parentNode.removeChild(t); - t = that = null; - - this.conf.idx_data.stb = this.conf.ofs_nodes.t._getStbHeight = null; - delete this.conf.ofs_nodes.t._getStbHeight - delete this.conf.idx_data.stb; - - this._updateIdx(); - - }; - - // include into content top offset calculation - this.conf.ofs_nodes.t._getStbHeight = "func"; - - // include into index - this.conf.idx_data.stb = "dhx_cell_stb"; - this._updateIdx(); - -}; - -dhtmlXEditorCell.prototype._stbHide = function() { - this.cell.childNodes[this.conf.idx.stb].style.display = "none"; -}; - -dhtmlXEditorCell.prototype._getStbHeight = function() { - return this.cell.childNodes[this.conf.idx.stb].offsetHeight; -}; diff --git a/themes/sources4.0/dhtmlxEditor/codebase/ext/dhtmlxeditor_ext.js b/themes/sources4.0/dhtmlxEditor/codebase/ext/dhtmlxeditor_ext.js deleted file mode 100644 index ae9d14c..0000000 --- a/themes/sources4.0/dhtmlxEditor/codebase/ext/dhtmlxeditor_ext.js +++ /dev/null @@ -1,238 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -dhtmlXEditor.prototype.attachToolbar = function(iconsPath) { - - if (this.tb != null) return; - - if (iconsPath != null) this.conf.iconsPath = iconsPath; - - this.cell._stbHide(); - this.tb = this.cell.attachToolbar({ - icons_path: this.conf.iconsPath+"/dhxeditor_"+String(this.conf.skin).replace(/^dhx_/,"")+"/", - skin: this.conf.skin - }); - this.setSizes(); - - this._availFonts = new Array("Arial", "Arial Narrow", "Comic Sans MS", "Courier", "Georgia", "Impact", "Tahoma", "Times New Roman", "Verdana"); - this._initFont = this._availFonts[0]; - this._xmlFonts = ""; - for (var q=0; q]]>'; - } - // - this._availSizes = {"1":"8pt", "2":"10pt", "3":"12pt", "4":"14pt", "5":"18pt", "6":"24pt", "7":"36pt"}; - this._xmlSizes = ""; - for (var a in this._availSizes) { - this._xmlSizes += ''; - } - this.tbXML = ''+ - // h1-h4 - ''+ - ''+ - ''+ - ''+ - ''+ - // text - ''+ - ''+ - ''+ - ''+ - ''+ - // align - ''+ - ''+ - ''+ - ''+ - ''+ - // sub/super script - ''+ - ''+ - ''+ - // etc - ''+ - ''+ - ''+ - // - ''+ - ''+ - ''+ - ''+ - ''; - - this.tb.loadStruct(this.tbXML); - - this._checkAlign = function(alignSelected) { - this.tb.setItemState("alignCenter", false); - this.tb.setItemState("alignRight", false); - this.tb.setItemState("alignJustify", false); - this.tb.setItemState("alignLeft", false); - if (alignSelected) this.tb.setItemState(alignSelected, true); - } - - this._checkH = function(h) { - this.tb.setItemState("applyH1", false); - this.tb.setItemState("applyH2", false); - this.tb.setItemState("applyH3", false); - this.tb.setItemState("applyH4", false); - if (h) this.tb.setItemState(h, true); - } - - this._doOnFocusChanged = function(state) { - /*bold*/ - if(!state.h1&&!state.h2&&!state.h3&&!state.h4){ - var bold = (String(state.fontWeight).search(/bold/i) != -1) || (Number(state.fontWeight) >= 700); - this.tb.setItemState("applyBold", bold); - } else this.tb.setItemState("applyBold", false); - // align - var alignId = "alignLeft"; - if (String(state.textAlign).search(/center/) != -1) { alignId = "alignCenter"; } - if (String(state.textAlign).search(/right/) != -1) { alignId = "alignRight"; } - if (String(state.textAlign).search(/justify/) != -1) { alignId = "alignJustify"; } - this.tb.setItemState(alignId, true); - this._checkAlign(alignId); - /*heading*/ - this.tb.setItemState("applyH1", state.h1); - this.tb.setItemState("applyH2", state.h2); - this.tb.setItemState("applyH3", state.h3); - this.tb.setItemState("applyH4", state.h4); - if (window._KHTMLrv) { - /*for Safari*/ - state.sub = (state.vAlign == "sub"); - state.sup = (state.vAlign == "super"); - } - this.tb.setItemState("applyItalic", (state.fontStyle == "italic")); - this.tb.setItemState("applyStrikethrough", state.del); - this.tb.setItemState("applySub", state.sub); - this.tb.setItemState("applySuper", state.sup); - this.tb.setItemState("applyUnderscore", state.u); - } - - this._doOnToolbarClick = function(id) { - var action = String(id).split(":"); - if (this[action[0]] != null) { - if (typeof(this[action[0]]) == "function") { - this[action[0]](action[1]); - this.callEvent("onToolbarClick",[id]); - } - } - } - - this._doOnStateChange = function(itemId, state) { - this[itemId](); - switch (itemId) { - case "alignLeft": - case "alignCenter": - case "alignRight": - case "alignJustify": - this._checkAlign(itemId); - break; - case "applyH1": - case "applyH2": - case "applyH3": - case "applyH4": - this._checkH(itemId); - break; - } - this.callEvent("onToolbarClick",[itemId]); - } - this._doOnBeforeStateChange = function(itemId, state) { - if ((itemId == "alignLeft" || itemId == "alignCenter" || itemId == "alignRight" || itemId == "alignJustify") && state == true) { - return false; - } - return true; - } - var that = this; - - this.tb.attachEvent("onClick", function(id){that._doOnToolbarClick(id);}); - this.tb.attachEvent("onStateChange", function(id,st){that._doOnStateChange(id,st);}); - this.tb.attachEvent("onBeforeStateChange", function(id,st){return that._doOnBeforeStateChange(id,st);}); - - this.applyBold = function(){ - this._runCommand("Bold"); - } - - this.applyItalic = function(){ - this._runCommand("Italic"); - } - - this.applyUnderscore = function(){ - this._runCommand("Underline"); - } - - this.applyStrikethrough = function(){ - this._runCommand("StrikeThrough"); - } - - this.alignLeft = function(){ - this._runCommand("JustifyLeft"); - } - - this.alignRight = function(){ - this._runCommand("JustifyRight"); - } - - this.alignCenter = function(){ - this._runCommand("JustifyCenter"); - } - - this.alignJustify = function(){ - this._runCommand("JustifyFull"); - } - - this.applySub = function(){ - this._runCommand("Subscript"); - } - - this.applySuper = function(){ - this._runCommand("Superscript"); - } - - this.applyH1 = function(){ - this._runCommand("FormatBlock","

              "); - } - - this.applyH2 = function(){ - this._runCommand("FormatBlock","

              "); - } - - this.applyH3 = function(){ - this._runCommand("FormatBlock","

              "); - } - - this.applyH4 = function(){ - this._runCommand("FormatBlock","

              "); - } - - this.createNumList = function(){ - this._runCommand("InsertOrderedList"); - } - - this.createBulList = function(){ - this._runCommand("InsertUnorderedList"); - } - - this.increaseIndent = function(){ - this._runCommand("Indent"); - } - - this.decreaseIndent = function(){ - this._runCommand("Outdent"); - } - this.clearFormatting = function() { - this._runCommand("RemoveFormat"); - this.tb.setItemState("applyBold", false); - this.tb.setItemState("applyItalic", false); - this.tb.setItemState("applyStrikethrough", false); - this.tb.setItemState("applySub", false); - this.tb.setItemState("applySuper", false); - this.tb.setItemState("applyUnderscore", false); - } - -}; diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/align_center.png b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/align_center.png deleted file mode 100644 index 6cdebbc..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/align_center.png and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/align_justify.png b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/align_justify.png deleted file mode 100644 index b2a41ab..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/align_justify.png and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/align_left.png b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/align_left.png deleted file mode 100644 index a22a11e..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/align_left.png and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/align_right.png b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/align_right.png deleted file mode 100644 index f8d3bb1..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/align_right.png and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/bold.png b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/bold.png deleted file mode 100644 index b6cfde6..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/bold.png and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/buttons.png b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/buttons.png deleted file mode 100644 index 91f27bf..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/buttons.png and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/clear.png b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/clear.png deleted file mode 100644 index e85d2dc..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/clear.png and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/h1.png b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/h1.png deleted file mode 100644 index f952aed..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/h1.png and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/h2.png b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/h2.png deleted file mode 100644 index 2f62643..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/h2.png and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/h3.png b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/h3.png deleted file mode 100644 index cf9bcea..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/h3.png and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/h4.png b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/h4.png deleted file mode 100644 index b9e69ff..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/h4.png and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/indent_dec.png b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/indent_dec.png deleted file mode 100644 index 060b906..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/indent_dec.png and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/indent_inc.png b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/indent_inc.png deleted file mode 100644 index b4cfb7d..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/indent_inc.png and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/italic.png b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/italic.png deleted file mode 100644 index 9e2580a..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/italic.png and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/list_bullet.png b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/list_bullet.png deleted file mode 100644 index b313d0b..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/list_bullet.png and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/list_number.png b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/list_number.png deleted file mode 100644 index 74a9120..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/list_number.png and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/script_sub.png b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/script_sub.png deleted file mode 100644 index 04abd09..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/script_sub.png and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/script_super.png b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/script_super.png deleted file mode 100644 index 951ae0b..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/script_super.png and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/strike.png b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/strike.png deleted file mode 100644 index 5c3c9eb..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/strike.png and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/underline.png b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/underline.png deleted file mode 100644 index 45572d2..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_material/underline.png and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/align_center.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/align_center.gif deleted file mode 100644 index bc3f7ce..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/align_center.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/align_justify.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/align_justify.gif deleted file mode 100644 index 6efd2ce..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/align_justify.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/align_left.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/align_left.gif deleted file mode 100644 index 2acb732..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/align_left.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/align_right.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/align_right.gif deleted file mode 100644 index 35c828b..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/align_right.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/bold.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/bold.gif deleted file mode 100644 index 32416d4..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/bold.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/buttons.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/buttons.gif deleted file mode 100644 index 5170c32..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/buttons.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/clear.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/clear.gif deleted file mode 100644 index 51f1aee..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/clear.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/h1.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/h1.gif deleted file mode 100644 index 6b13a66..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/h1.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/h2.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/h2.gif deleted file mode 100644 index b83cf54..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/h2.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/h3.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/h3.gif deleted file mode 100644 index b5647b8..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/h3.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/h4.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/h4.gif deleted file mode 100644 index b5c1dc2..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/h4.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/indent_dec.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/indent_dec.gif deleted file mode 100644 index b16fbb5..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/indent_dec.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/indent_inc.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/indent_inc.gif deleted file mode 100644 index a4567b1..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/indent_inc.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/italic.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/italic.gif deleted file mode 100644 index 8dc358c..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/italic.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/list_bullet.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/list_bullet.gif deleted file mode 100644 index dc64941..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/list_bullet.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/list_number.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/list_number.gif deleted file mode 100644 index eea183d..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/list_number.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/script_sub.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/script_sub.gif deleted file mode 100644 index 02d1cb6..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/script_sub.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/script_super.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/script_super.gif deleted file mode 100644 index 945ae76..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/script_super.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/strike.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/strike.gif deleted file mode 100644 index 0324297..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/strike.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/underline.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/underline.gif deleted file mode 100644 index 16aa16d..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_skyblue/underline.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/align_center.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/align_center.gif deleted file mode 100644 index a4e3b88..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/align_center.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/align_justify.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/align_justify.gif deleted file mode 100644 index d5967cb..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/align_justify.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/align_left.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/align_left.gif deleted file mode 100644 index 7cf2dc9..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/align_left.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/align_right.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/align_right.gif deleted file mode 100644 index f599524..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/align_right.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/bold.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/bold.gif deleted file mode 100644 index f2c62ab..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/bold.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/buttons.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/buttons.gif deleted file mode 100644 index 423027e..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/buttons.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/clear.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/clear.gif deleted file mode 100644 index 7ce96ec..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/clear.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/h1.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/h1.gif deleted file mode 100644 index 041b43b..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/h1.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/h2.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/h2.gif deleted file mode 100644 index 4fb8886..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/h2.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/h3.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/h3.gif deleted file mode 100644 index ab6db50..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/h3.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/h4.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/h4.gif deleted file mode 100644 index d1f83ab..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/h4.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/indent_dec.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/indent_dec.gif deleted file mode 100644 index 306d479..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/indent_dec.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/indent_inc.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/indent_inc.gif deleted file mode 100644 index c8ccef0..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/indent_inc.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/italic.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/italic.gif deleted file mode 100644 index 8b8b34d..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/italic.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/list_bullet.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/list_bullet.gif deleted file mode 100644 index 79d483a..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/list_bullet.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/list_number.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/list_number.gif deleted file mode 100644 index 6a6d40a..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/list_number.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/script_sub.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/script_sub.gif deleted file mode 100644 index 3b24022..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/script_sub.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/script_super.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/script_super.gif deleted file mode 100644 index f960f5d..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/script_super.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/strike.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/strike.gif deleted file mode 100644 index fd056b8..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/strike.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/underline.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/underline.gif deleted file mode 100644 index 3dab980..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_terrace/underline.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/align_center.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/align_center.gif deleted file mode 100644 index 0670ebe..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/align_center.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/align_justify.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/align_justify.gif deleted file mode 100644 index a9d98ce..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/align_justify.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/align_left.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/align_left.gif deleted file mode 100644 index 1ee654d..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/align_left.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/align_right.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/align_right.gif deleted file mode 100644 index 105a299..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/align_right.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/bold.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/bold.gif deleted file mode 100644 index 8f025f1..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/bold.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/buttons.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/buttons.gif deleted file mode 100644 index c56587b..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/buttons.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/clear.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/clear.gif deleted file mode 100644 index 844a95c..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/clear.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/h1.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/h1.gif deleted file mode 100644 index 0bf7530..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/h1.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/h2.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/h2.gif deleted file mode 100644 index aca41f6..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/h2.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/h3.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/h3.gif deleted file mode 100644 index 994ae16..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/h3.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/h4.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/h4.gif deleted file mode 100644 index ef7f910..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/h4.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/indent_dec.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/indent_dec.gif deleted file mode 100644 index eda02de..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/indent_dec.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/indent_inc.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/indent_inc.gif deleted file mode 100644 index 059a5e0..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/indent_inc.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/italic.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/italic.gif deleted file mode 100644 index bffc9ca..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/italic.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/list_bullet.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/list_bullet.gif deleted file mode 100644 index 9bb05dc..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/list_bullet.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/list_number.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/list_number.gif deleted file mode 100644 index 74a871a..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/list_number.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/script_sub.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/script_sub.gif deleted file mode 100644 index 04ee515..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/script_sub.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/script_super.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/script_super.gif deleted file mode 100644 index 0c08cc4..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/script_super.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/strike.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/strike.gif deleted file mode 100644 index b167bed..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/strike.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/underline.gif b/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/underline.gif deleted file mode 100644 index 6960339..0000000 Binary files a/themes/sources4.0/dhtmlxEditor/codebase/imgs/dhxeditor_web/underline.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxEditor/codebase/skins/dhtmlxeditor_dhx_skyblue.css b/themes/sources4.0/dhtmlxEditor/codebase/skins/dhtmlxeditor_dhx_skyblue.css deleted file mode 100644 index e002045..0000000 --- a/themes/sources4.0/dhtmlxEditor/codebase/skins/dhtmlxeditor_dhx_skyblue.css +++ /dev/null @@ -1,101 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* skin detected, extra file: skins/dhx_skyblue.less */ - -.dhxeditor_dhx_skyblue { - position: relative; -} -.dhxeditor_dhx_skyblue iframe.dhxeditor_mainiframe { - position: absolute; - overflow: hidden; - top: 0px; - left: 0px; - width: 100%; - height: 100%; -} -.dhxeditor_dhx_skyblue div.dhx_cell_editor div.dhx_cell_stb { - position: relative; - height: 30px; - padding: 0px 5px; - border-bottom: 1px solid #a4bed4; - background-color: #e2efff; - background: linear-gradient(#e2efff,#d3e7ff); - filter: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e2efff,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100); -} -.dhxeditor_dhx_skyblue div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button { - float: left; - position: relative; - width: 18px; - height: 18px; - font-size: 2px; - margin-left: 5px; - margin-top: 7px; - cursor: pointer; - background-image: url("../imgs/dhxeditor_skyblue/buttons.gif"); -} -.dhxeditor_dhx_skyblue div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button.btn_bold { - margin-left: 5px; - background-position: 0px 0px; -} -.dhxeditor_dhx_skyblue div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button.btn_italic { - background-position: -18px 0px; -} -.dhxeditor_dhx_skyblue div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button.btn_underline { - background-position: -36px 0px; -} -.dhxeditor_dhx_skyblue div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button.btn_clearformat { - background-position: -54px 0px; -} -.dhxeditor_dhx_skyblue div.dhx_cell_editor { - position: absolute; - background-color: white; - margin: 0px; - padding: 0px; - overflow: hidden; - cursor: default; - z-index: 0; -} -.dhxeditor_dhx_skyblue div.dhx_cell_editor div.dhx_cell_cont_editor { - position: absolute; - overflow: hidden; -} -.dhxeditor_dhx_skyblue div.dhx_cell_editor div.dhx_cell_toolbar_def { - position: relative; - overflow: hidden; -} -.dhxeditor_dhx_skyblue div.dhx_cell_editor div.dhx_cell_toolbar_def div.dhx_toolbar_dhx_skyblue { - border-top-width: 0px; - border-left-width: 0px; - border-right-width: 0px; -} -.dhxwins_vp_dhx_skyblue div.dhx_cell_cont_wins div.dhxeditor_dhx_skyblue div.dhx_cell_editor div.dhx_cell_stb { - border-left: 1px solid #a4bed4; - border-right: 1px solid #a4bed4; - border-top: 1px solid #a4bed4; -} -.dhxwins_vp_dhx_skyblue div.dhx_cell_cont_wins div.dhxeditor_dhx_skyblue div.dhx_cell_editor div.dhx_cell_cont_editor { - border-left: 1px solid #a4bed4; - border-right: 1px solid #a4bed4; - border-bottom: 1px solid #a4bed4; -} -.dhxwins_vp_dhx_skyblue div.dhx_cell_cont_wins div.dhxeditor_dhx_skyblue div.dhx_cell_editor div.dhx_cell_toolbar_def { - padding: 0px; - border-top: 1px solid #a4bed4; -} -.dhxeditor_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 10px; - height: 10px; - overflow: hidden; -} diff --git a/themes/sources4.0/dhtmlxEditor/codebase/skins/dhtmlxeditor_dhx_terrace.css b/themes/sources4.0/dhtmlxEditor/codebase/skins/dhtmlxeditor_dhx_terrace.css deleted file mode 100644 index fd24add..0000000 --- a/themes/sources4.0/dhtmlxEditor/codebase/skins/dhtmlxeditor_dhx_terrace.css +++ /dev/null @@ -1,96 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* skin detected, extra file: skins/dhx_terrace.less */ - -.dhxeditor_dhx_terrace { - position: relative; -} -.dhxeditor_dhx_terrace iframe.dhxeditor_mainiframe { - position: absolute; - overflow: hidden; - top: 0px; - left: 0px; - width: 100%; - height: 100%; -} -.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_stb { - position: relative; - height: 34px; - background-color: #f5f5f5; - padding: 0px 5px; - border-bottom: 1px solid #cccccc; -} -.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button { - float: left; - position: relative; - width: 18px; - height: 18px; - font-size: 2px; - margin-left: 7px; - margin-top: 9px; - cursor: pointer; - background-image: url("../imgs/dhxeditor_terrace/buttons.gif"); -} -.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button.btn_bold { - margin-left: 12px; - background-position: 0px 0px; -} -.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button.btn_italic { - background-position: -18px 0px; -} -.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button.btn_underline { - background-position: -36px 0px; -} -.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button.btn_clearformat { - background-position: -54px 0px; -} -.dhxeditor_dhx_terrace div.dhx_cell_editor { - position: absolute; - background-color: white; - margin: 0px; - padding: 0px; - overflow: hidden; - cursor: default; - z-index: 0; -} -.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_cont_editor { - position: absolute; - overflow: hidden; -} -.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_toolbar_def { - position: relative; - overflow: hidden; - padding: 5px; - border-bottom: 1px solid #cccccc; -} -.dhxwins_vp_dhx_terrace div.dhx_cell_cont_wins .dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_stb { - border-left: 1px solid #cccccc; - border-right: 1px solid #cccccc; - border-top: 1px solid #cccccc; -} -.dhxwins_vp_dhx_terrace div.dhx_cell_cont_wins .dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_cont_editor { - border-left: 1px solid #cccccc; - border-right: 1px solid #cccccc; - border-bottom: 1px solid #cccccc; -} -.dhxwins_vp_dhx_terrace div.dhx_cell_cont_wins .dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_toolbar_def { - padding: 0px; - border-top: 1px solid #cccccc; -} -.dhxeditor_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 30px; - height: 10px; - overflow: hidden; -} diff --git a/themes/sources4.0/dhtmlxEditor/codebase/skins/dhtmlxeditor_dhx_web.css b/themes/sources4.0/dhtmlxEditor/codebase/skins/dhtmlxeditor_dhx_web.css deleted file mode 100644 index df4b110..0000000 --- a/themes/sources4.0/dhtmlxEditor/codebase/skins/dhtmlxeditor_dhx_web.css +++ /dev/null @@ -1,91 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* skin detected, extra file: skins/dhx_web.less */ - -.dhxeditor_dhx_web { - position: relative; -} -.dhxeditor_dhx_web iframe.dhxeditor_mainiframe { - position: absolute; - overflow: hidden; - top: 0px; - left: 0px; - width: 100%; - height: 100%; -} -.dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_stb { - position: relative; - height: 32px; - background-color: #3da0e3; -} -.dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button { - float: left; - position: relative; - width: 18px; - height: 18px; - font-size: 2px; - margin-left: 5px; - margin-top: 7px; - cursor: pointer; - background-image: url("../imgs/dhxeditor_web/buttons.gif"); -} -.dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button.btn_bold { - margin-left: 12px; - background-position: 0px 0px; -} -.dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button.btn_italic { - background-position: -18px 0px; -} -.dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button.btn_underline { - background-position: -36px 0px; -} -.dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_stb div.dhx_cell_stb_button.btn_clearformat { - background-position: -54px 0px; -} -.dhxeditor_dhx_web div.dhx_cell_editor { - position: absolute; - background-color: white; - margin: 0px; - padding: 0px; - overflow: hidden; - cursor: default; - z-index: 0; -} -.dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_cont_editor { - position: absolute; - overflow: hidden; -} -.dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_toolbar_def { - position: relative; - overflow: hidden; -} -.dhxwins_vp_dhx_web div.dhx_cell_cont_wins .dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_cont_editor { - border-left: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; - border-bottom: 1px solid #c7c7c7; -} -.dhxwins_vp_dhx_web div.dhx_cell_cont_wins .dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_toolbar_def { - padding: 0px; -} -div.dhx_popup_dhx_web div.dhx_popup_area tr.dhxnode td.dhx_popup_td div.dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_cont_editor { - border-left: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; - border-bottom: 1px solid #c7c7c7; -} -.dhxeditor_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 20px; - height: 10px; - overflow: hidden; -} diff --git a/themes/sources4.0/dhtmlxEditor/codebase/skins/dhtmlxeditor_material.css b/themes/sources4.0/dhtmlxEditor/codebase/skins/dhtmlxeditor_material.css deleted file mode 100644 index 6a92166..0000000 --- a/themes/sources4.0/dhtmlxEditor/codebase/skins/dhtmlxeditor_material.css +++ /dev/null @@ -1,134 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: material - include extra file: skins/material.less -*/ - -@keyframes dhx_loader_rotate { - 100% { - transform: rotate(360deg); - } -} -@keyframes dhx_loader_dash { - 0% { - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - } - 50% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -35px; - } - 100% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -124px; - } -} -.dhxeditor_material { - position: relative; -} -.dhxeditor_material iframe.dhxeditor_mainiframe { - position: absolute; - overflow: hidden; - font: inherit; - top: 0px; - left: 0px; - width: 100%; - height: 100%; -} -.dhxeditor_material div.dhx_cell_editor { - position: absolute; - background-color: white; - margin: 0px; - padding: 0px; - overflow: hidden; - cursor: default; - z-index: 0; -} -.dhxeditor_material div.dhx_cell_editor div.dhx_cell_cont_editor { - position: absolute; - overflow: hidden; -} -.dhxeditor_material div.dhx_cell_editor div.dhx_cell_stb { - position: relative; - height: 32px; - line-height: 32px; - padding: 0px 5px; - margin: 7px; - border: 1px solid #dfdfdf; - background-color: #fafafa; - overflow: hidden; -} -.dhxeditor_material div.dhx_cell_editor div.dhx_cell_stb.dhx_cell_stb_shadow { - border-width: 0px; - box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24); -} -.dhxeditor_material div.dhx_cell_editor div.dhx_cell_stb a { - position: relative; - float: left; - padding: 0px 8px; - border-style: solid; - border-color: #fafafa; - border-width: 0px 1px 0px 1px; -} -.dhxeditor_material div.dhx_cell_editor div.dhx_cell_stb a div.dhx_cell_stb_button { - position: relative; - float: left; - width: 18px; - height: 32px; - line-height: 32px; - font-size: 1px; - cursor: pointer; - background-image: url("../imgs/dhxeditor_material/buttons.png"); - background-position: 0px 7px; - background-repeat: no-repeat; -} -.dhxeditor_material div.dhx_cell_editor div.dhx_cell_stb a div.dhx_cell_stb_button.btn_italic { - background-position: -18px 7px; -} -.dhxeditor_material div.dhx_cell_editor div.dhx_cell_stb a div.dhx_cell_stb_button.btn_underline { - background-position: -36px 7px; -} -.dhxeditor_material div.dhx_cell_editor div.dhx_cell_stb a div.dhx_cell_stb_button.btn_clearformat { - background-position: -54px 7px; -} -.dhxeditor_material div.dhx_cell_editor div.dhx_cell_stb a:hover { - background-color: #ebebeb; - border-color: #ebebeb; -} -.dhxeditor_material div.dhx_cell_editor div.dhx_cell_toolbar_def { - position: relative; - overflow: hidden; - padding: 7px; -} -.dhxeditor_material div.dhx_cell_editor div.dhx_cell_toolbar_def div.dhx_toolbar_material { - box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24); -} -.dhxeditor_material.stb_height_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 50px; - height: 1px; - overflow: hidden; -} -.dhxeditor_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 40px; - height: 10px; - overflow: hidden; -} diff --git a/themes/sources4.0/dhtmlxForm/codebase/dhtmlxform.js b/themes/sources4.0/dhtmlxForm/codebase/dhtmlxform.js deleted file mode 100644 index af87d0a..0000000 --- a/themes/sources4.0/dhtmlxForm/codebase/dhtmlxform.js +++ /dev/null @@ -1,3459 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -function dhtmlXForm(parentObj, data, skin) { - - this.idef = { - position: "label-left", - labelWidth: "auto", - labelHeight: "auto", - inputWidth: "auto", - inputHeight: "auto", - labelAlign: "left", - noteWidth: "auto", - offsetTop: 0, - offsetLeft: 0, - blockOffset: 20 // block only - }; - this.idef_const = { - offsetNested: 20 // sub_level - }; - this.apos_css = { - "label-left": "dhxform_item_label_left", - "label-right": "dhxform_item_label_right", - "label-top": "dhxform_item_label_top", - "label-bottom": "dhxform_item_label_bottom", // new - "absolute": "dhxform_item_absolute" - }; - this.align_css = { - left: "dhxform_label_align_left", - center: "dhxform_label_align_center", - right: "dhxform_label_align_right" - }; - - var that = this; - - // define skin - - // 1) skin 3rd arg [new] - // 2) dhtmlx.skin - // 3) autodetect skin - // 4) default skyblue - - this.setSkin = function(skin) { - this.skin = skin; - this.cont.className = "dhxform_obj_"+this.skin; - this.cont.style.fontSize = (skin=="dhx_terrace"?"13px":"12px"); - this._updateBlocks(); - // update calendar skin - this.forEachItem(function(id){ - var t = that.getItemType(id); - if (typeof(that.items[t]) != "undefined" && typeof(that.items[t].setSkin) == "function") { - that.doWithItem(id, "setSkin", skin); - } - }); - } - - this.skin = (skin||window.dhx4.skin||(typeof(dhtmlx)!="undefined"?dhtmlx.skin:null)||window.dhx4.skinDetect("dhx_form")||"dhx_skyblue"); - - this.separator = ","; - this.live_validate = false; - - this._type = "checkbox"; - this._rGroup = "default"; - - this._idIndex = {}; - this._indexId = []; - - this.cont = (typeof(parentObj)=="object"?parentObj:document.getElementById(parentObj)); - - if (!parentObj._isNestedForm) { - - this._parentForm = true; - - this.cont.style.fontSize = (this.skin=="dhx_terrace"?"13px":"12px"); - this.cont.className = "dhxform_obj_"+this.skin; - - this.setFontSize = function(fs) { - this.cont.style.fontSize = fs; - this._updateBlocks(); - } - - this.getForm = function() { - return this; - } - - this.cont.onkeypress = function(e) { - e = (e||event); - if (e.keyCode == 13) { - var t = (e.target||e.srcElement); - if (typeof(t.tagName) != "undefined" && String(t.tagName).toLowerCase() == "textarea" && !e.ctrlKey) return; - that.callEvent("onEnter",[]); - } - } - - } - - this.b_index = null; - this.base = []; - this._prepare = function(ofsLeft, pos) { - - if (this.b_index == null) this.b_index = 0; else this.b_index++; - - // if pos specified, check all items inside all bases, - var insBeforeBase = null; // base - var insBeforeItem = null; // items from start to move next-items within single base - - if (pos != null) { - if (pos < 0) pos = 0; - var i = 0; - for (var w=0; w=0?u:data.length] = i; - return data; - } - - this._genStr = function(w) { - var s = ""; var z = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; - for (var q=0; q 0) { - insBeforeItem = this.itemPull[a]._listBase[this.itemPull[a]._listBase.length-1]; - } - - } - } - } - var tr = document.createElement("DIV"); - if (insertAfter == true && insBeforeItem != null) insBeforeItem = insBeforeItem.nextSibling; - if (insBeforeItem != null) { - insBeforeBase.insertBefore(tr, insBeforeItem); - } else { - insBeforeBase.appendChild(tr); - } - } - } - - tr._idd = id; - tr._rId = this._rId; - - if (typeof(tr.style) != "undefined") { - // read from settings if not set - if (typeof(data.offsetLeft) == "undefined" && this.idef.offsetLeft > 0) data.offsetLeft = this.idef.offsetLeft; - if (typeof(data.offsetTop) == "undefined" && this.idef.offsetTop > 0) data.offsetTop = this.idef.offsetTop; - // - var k = ""; - if (typeof(data.offsetLeft) != "undefined") k += " padding-left:"+data.offsetLeft+"px!important;"; - if (typeof(data.offsetTop) != "undefined") k += " padding-top:"+data.offsetTop+"px!important;"; - tr.style.cssText += k; - } - - if (type == "block") { - if (isNaN(data.blockOffset)) data.blockOffset = this.idef.blockOffset; - } - - if (type == "list") { - - if (typeof(tr._ofsNested) == "undefined") tr._ofsNested = this.idef_const.offsetNested; - - if (sId != null) tr._sId = sId; - - var listData = this.items[type].render(tr, this.skin); - - if (!this.itemPull[this.idPrefix+id]._listObj) this.itemPull[this.idPrefix+id]._listObj = []; - if (!this.itemPull[this.idPrefix+id]._list) this.itemPull[this.idPrefix+id]._list = []; - if (!this.itemPull[this.idPrefix+id]._listBase) this.itemPull[this.idPrefix+id]._listBase = []; - - (this.itemPull[this.idPrefix+id]._listObj).push(listData[0]); - (this.itemPull[this.idPrefix+id]._list).push(listData[1]); - (this.itemPull[this.idPrefix+id]._listBase).push(tr); - - listData[1].checkEvent = function(evName) { - return that.checkEvent(evName); - } - listData[1].callEvent = function(evName, evData) { - return that.callEvent(evName, evData); - } - listData[1].getForm = function() { - return that.getForm(); - } - listData[1]._initObj(this._mergeSettings(data)); - - if (tr._inBlcok) tr.className += " in_block"; - - return listData[1]; - - } - - if (type == "newcolumn") { - this._prepare(data.offset, pos); - return; - } - - if (type == "label" && this._ic++ == 0) data._isTopmost = true; - - //if (type == "select" && this.skin == "dhx_terrace") tr._inpWidthFix=-6; - - data.position = this.apos_css[(!data.position||!this.apos_css[data.position]?this.idef.position:data.position)]; - tr.className = data.position+(typeof(data.className)=="string"?" "+data.className:""); - - if (!data.labelWidth) data.labelWidth = this.idef.labelWidth; - if (!data.labelHeight) data.labelHeight = this.idef.labelHeight; - - if (typeof(data.wrap) != "undefined") data.wrap = window.dhx4.s2b(data.wrap); - - data.labelAlign = (this.align_css[data.labelAlign]?this.align_css[data.labelAlign]:this.align_css[this.idef.labelAlign]); - - data.inputWidth = (data.width?data.width:(data.inputWidth?data.inputWidth:this.idef.inputWidth)); - if (!data.inputHeight) data.inputHeight = this.idef.inputHeight; - - if (typeof(data.note) != "undefined") { - if (data.note.length != null && data.note[0] != null) data.note = data.note[0]; // probably array from xml conversion - if (typeof(data.note.width) == "undefined") data.note.width = this.idef.noteWidth; - if (data.note.width == "auto") data.note.width = data.inputWidth; - } - - tr.checkEvent = function(evName) { - return that.checkEvent(evName); - } - tr.callEvent = function(evName, evData) { - return that.callEvent(evName, evData); - } - tr.getForm = function() { - return that.getForm(); - } - tr._autoCheck = function(t) { - that._autoCheck(t); - } - - // convert r/o - if (typeof(data.readonly) == "string") data.readonly = window.dhx4.s2b(data.readonly); - if (typeof(data.autoStart) == "string") data.autoStart = window.dhx4.s2b(data.autoStart); - if (typeof(data.autoRemove) == "string") data.autoRemove = window.dhx4.s2b(data.autoRemove); - if (typeof(data.titleScreen) == "string") data.titleScreen = window.dhx4.s2b(data.titleScreen); - if (typeof(data.info) == "string") data.info = window.dhx4.s2b(data.info); - if (typeof(data.hidden) == "string") data.hidden = window.dhx4.s2b(data.hidden); - if (typeof(data.checked) == "string") data.checked = window.dhx4.s2b(data.checked); - - // userdata - if (typeof(data.userdata) != "undefined") { - for (var a in data.userdata) this.getForm().setUserData(id,a,data.userdata[a]); - } - - // validate - if (data.validate) { - if (typeof(data.validate != "undefined") && (typeof(data.validate) == "function" || typeof(window[data.validate]) == "function")) { - tr._validate = [data.validate]; - } else { - tr._validate = String(data.validate).split(this.separator); - } - } - if (typeof(data.required) != "undefined") { - if (typeof(data.required) == "string") data.required = window.dhx4.s2b(data.required); - tr._required = (data.required==true); - } - if (tr._required) { - if (!tr._validate) tr._validate = []; - var p = false; - for (q=0; q 0) opts[0].selected = true; - } - // radiobutton - if (this.itemPull[a]._type == "ra") { - var g = this.itemPull[a]._group; - if (!usedRAs[g]) { this.checkItem(g, this.doWithItem(t, "_getFirstValue")); usedRAs[g] = true; } - } - // nested lists - if (this.itemPull[a]._list) for (var q=0; q 0) this.base[q].removeChild(this.base[q].childNodes[0]); - if (this.base[q].parentNode) this.base[q].parentNode.removeChild(this.base[q]); - this.base[q] = null; - } - this.base = null; - - this.cont.onkeypress = null; - this.cont.className = ""; - this.cont = null; - - for (var a in this) this[a] = null; - - that = null; - - } - - for (var a in this.items) { - - this.items[a].t = a; - - if (typeof(this.items[a]._index) == "undefined") { - this.items[a]._index = true; - } - - if (!this.items[a].show) { - this.items[a].show = function(item) { - item.style.display = ""; - if (item._listObj) for (var q=0; q"+data.label+(data.info?"[?]":"")+(item._required?"*":"")+'

              '; - - if (!isNaN(data.labelWidth)) t.firstChild.style.width = parseInt(data.labelWidth)+"px"; - if (!isNaN(data.labelHeight)) t.firstChild.style.height = parseInt(data.labelHeight)+"px"; - - if (!isNaN(data.labelLeft)) t.style.left = parseInt(data.labelLeft)+"px"; - if (!isNaN(data.labelTop)) t.style.top = parseInt(data.labelTop)+"px"; - - }, - - doAddInput: function(item, data, el, type, pos, dim, css) { - - var p = document.createElement("DIV"); - p.className = "dhxform_control"; - - if (item._ll) { - item.appendChild(p); - } else { - item.insertBefore(p,item.firstChild); - } - - var t = document.createElement(el); - t.className = css; - t.name = item._idd; - t._idd = item._idd; - t.id = data.uid; - - if (typeof(type) == "string") t.type = type; - - if (el == "INPUT" || el == "TEXTAREA") { - t.onkeyup = function(e) { - e = e||event; - item.callEvent("onKeyUp",[this,e,this._idd]); - }; - t.onkeydown = function(e) { - e = e||event; - item.callEvent("onKeyDown",[this,e,this._idd]); - }; - } - - p.appendChild(t); - - if (data.readonly) this.setReadonly(item, true); - if (data.hidden == true) this.hide(item); - if (data.disabled == true) this.userDisable(item); - - if (pos) { - if (!isNaN(data.inputLeft)) p.style.left = parseInt(data.inputLeft)+"px"; - if (!isNaN(data.inputTop)) p.style.top = parseInt(data.inputTop)+"px"; - } - - var u = ""; - - var dimFix = false; - if (dim) { - if (!isNaN(data.inputWidth)) { u += "width:"+parseInt(data.inputWidth)+"px;"; dimFix=true; } - if (!isNaN(data.inputHeight)) u += "height:"+parseInt(data.inputHeight)+"px;"; - - } - if (typeof(data.style) == "string") u += data.style; - t.style.cssText = u; - - if (data.maxLength) t.setAttribute("maxLength", data.maxLength); - if (data.connector) t.setAttribute("connector",data.connector); - - if (dimFix && {input:1, password:1, select:1, calendar:1, colorpicker:1}[this.t]) { - if (dhtmlXForm.prototype.items[this.t]._dim == null) { - var w = parseInt(t.style.width); - var w2 = (dhx4.isFF || dhx4.isIE ? t.offsetWidth : t.clientWidth); - dhtmlXForm.prototype.items[this.t]._dim = w2-w; - } - t.style.width = parseInt(t.style.width)-dhtmlXForm.prototype.items[this.t]._dim+"px"; - } - - if (typeof(data.note) == "object") { - var note = document.createElement("DIV"); - note.className = "dhxform_note"; - note.style.width = (isNaN(data.note.width)?t.offsetWidth:parseInt(data.note.width))+"px"; - note._w = data.note.width; - note.innerHTML = data.note.text; - p.appendChild(note); - note = null; - } - - }, - - doUnloadNestedLists: function(item) { - - if (!item._list) return; - for (var q=0; q 0) item.removeChild(item.childNodes[0]); - - item.parentNode.removeChild(item); - item = null; - - }, - - doAttachEvents: function(item) { - var that = this; - // image click - item.childNodes[item._ll?1:0][window.dhx4.isIPad?"ontouchstart":"onmousedown"] = function(e) { - e = e||event; - if (e.preventDefault) e.preventDefault(); - var t = (e.target||e.srcElement); // need to skip "note" if exists - if (!this.parentNode._enabled || this.parentNode._ro || (typeof(t.className) != "undefined" && t.className == "dhxform_note")) { - e.cancelBubble = true; - if (e.preventDefault) e.preventDefault(); else e.returnValue = false; - return false; - } - that.doClick(this.parentNode); - } - // label click - item.childNodes[item._ll?0:1].childNodes[0][window.dhx4.isIPad?"ontouchstart":"onmousedown"] = function(e) { - e = e||event; - if (e.preventDefault) e.preventDefault(); - // do not check if r/o here, allow item's be highlighted, check for r/o added into doClick - if (!this.parentNode.parentNode._enabled) { - e.cancelBubble = true; - if (e.preventDefault) e.preventDefault(); else e.returnValue = false; - return false; - } - // check if "info" clicked (checkbox/radio only) - var t = e.target||e.srcElement; - if (typeof(t.className) != "undefined" && t.className == "dhxform_info") { - this.parentNode.parentNode.callEvent("onInfo",[this.parentNode.parentNode._idd]); - e.cancelBubble = true; - if (e.preventDefault) e.preventDefault(); else e.returnValue = false; - return false; - } - that.doClick(this.parentNode.parentNode); - } - }, - - doClick: function(item) { - - item.childNodes[item._ll?0:1].childNodes[0].focus(); - - if (!item._enabled || item._ro) return; - - if (item.checkEvent("onBeforeChange")) if (item.callEvent("onBeforeChange", [item._idd, item._value, item._checked]) !== true) return; - - this.setChecked(item, !item._checked); - item._autoCheck(); - item.callEvent("onChange", [item._idd, item._value, item._checked]); - }, - - doCheckValue: function(item) { - if (item._checked && item._enabled) { - item.childNodes[item._ll?1:0].firstChild.name = String(item._idd); - item.childNodes[item._ll?1:0].firstChild.value = this.getValue(item); - } else { - item.childNodes[item._ll?1:0].firstChild.name = ""; - item.childNodes[item._ll?1:0].firstChild.value = ""; - } - }, - - setChecked: function(item, state) { - item._checked = (state===true?true:false); - //item.childNodes[item._ll?1:0].lastChild.className = "dhxform_img "+(item._checked?"chbx1":"chbx0"); - item.childNodes[item._ll?1:0].lastChild.className = item.childNodes[item._ll?1:0].lastChild.className.replace(/chbx[0-1]{1}/gi,"")+(item._checked?" chbx1":" chbx0"); - this.doCheckValue(item); - }, - - check: function(item) { - this.setChecked(item, true); - }, - - unCheck: function(item) { - this.setChecked(item, false); - }, - - isChecked: function(item) { - return item._checked; - }, - - enable: function(item) { - if (String(item.className).search("disabled") >= 0) item.className = String(item.className).replace(/disabled/gi,""); - item._enabled = true; - item.childNodes[item._ll?0:1].childNodes[0].tabIndex = 0; - item.childNodes[item._ll?0:1].childNodes[0].removeAttribute("disabled"); - this.doCheckValue(item); - }, - - disable: function(item) { - if (String(item.className).search("disabled") < 0) item.className += " disabled"; - item._enabled = false; - item.childNodes[item._ll?0:1].childNodes[0].tabIndex = -1; - item.childNodes[item._ll?0:1].childNodes[0].setAttribute("disabled", "true"); - this.doCheckValue(item); - }, - - isEnabled: function(item) { - return item._enabled; - }, - - setText: function(item, text) { - item.childNodes[item._ll?0:1].childNodes[0].innerHTML = text+(item._required?"*":""); - }, - - getText: function(item) { - return item.childNodes[item._ll?0:1].childNodes[0].innerHTML.replace(/[^<]*<\/span>/g,""); - }, - - setValue: function(item, value) { - this.setChecked(item,(value===true||parseInt(value)==1||value=="true"||item._value===value)); - }, - - getValue: function(item, mode) { - if (mode == "realvalue") return item._value; - return ((typeof(item._value)=="undefined"||item._value==null)?(item._checked?1:0):item._value); - }, - - setReadonly: function(item, state) { - item._ro = (state===true); - }, - - isReadonly: function(item) { - return item._ro; - }, - - setFocus: function(item) { - item.childNodes[item._ll?0:1].childNodes[0].focus(); - } - -}; - -/* radio */ -dhtmlXForm.prototype.items.radio = { - - input: {}, - - r: {}, - - firstValue: {}, - - render: function(item, data, uid) { - - item._type = "ra"; - item._enabled = true; - item._checked = false; - item._group = data.name; - item._value = data.value; - item._uid = uid; - item._ro = (data.readonly==true); - item._rName = item._rId+item._group; - - this.r[item._idd] = item; - - data.inputWidth = 14; - - this.doAddLabel(item, data); - this.doAddInput(item, data, "INPUT", "TEXT", true, true, "dhxform_textarea"); - - item.childNodes[item._ll?1:0].className += " dhxform_img_node"; - - // radio img - var p = document.createElement("DIV"); - p.className = "dhxform_img rdbt0"; - item.appendChild(p); - - if (!isNaN(data.inputLeft)) item.childNodes[item._ll?1:0].style.left = parseInt(data.inputLeft)+"px"; - if (!isNaN(data.inputTop)) item.childNodes[item._ll?1:0].style.top = parseInt(data.inputTop)+"px"; - - item.childNodes[item._ll?1:0].appendChild(p); - - // hidden input needed just to keep common logic, name-value should be empty to prevent sending to server from real form - item.childNodes[item._ll?1:0].firstChild.name = ""; - item.childNodes[item._ll?1:0].firstChild.value = ""; - - item._updateImgNode = function(item, state) { - var t = item.childNodes[item._ll?1:0].lastChild; - t.className = (state?"dhxform_actv_r":"dhxform_img")+" "+(item._checked?"rdbt1":"rdbt0"); - item = t = null; - } - - item._doOnFocus = function(item) { - item.getForm().callEvent("onFocus",[item._group, item._value]); - } - - item._doOnBlur = function(item) { - item.getForm().callEvent("onBlur",[item._group, item._value]); - } - - item._doOnKeyUpDown = function(evName, evObj) { - this.callEvent(evName, [this.childNodes[this._ll?0:1].childNodes[0], evObj, this._group, this._value]); - } - - // input - if (this.input[item._rName] == null) { - var k = document.createElement("INPUT"); - k.type = "HIDDEN"; - k.name = data.name; - k.firstValue = item._value; - item.appendChild(k); - this.input[item._rName] = k; - } - - if (!this.firstValue[item._rName]) this.firstValue[item._rName] = data.value; - - if (data.checked == true) this.check(item); - if (data.hidden == true) this.hide(item); - if (data.disabled == true) this.userDisable(item); - - this.doAttachEvents(item); - - return this; - }, - - destruct: function(item, value) { - - // check if any items will left to keep hidden input on page - - if (item.lastChild == this.input[item._rName]) { - var done = false; - for (var a in this.r) { - if (!done && this.r[a]._group == item._group && this.r[a]._idd != item._idd) { - this.r[a].appendChild(this.input[item._rName]); - done = true; - } - } - if (!done) { - // remove hidden input - this.input[item._rName].parentNode.removeChild(this.input[item._rName]); - this.input[item._rName] = null; - this.firstValue[item._rName] = null; - } - } - - var id = item._idd; - item._doOnFocus = item._doOnBlur = item._updateImgNode = null; - this.doUnloadNestedLists(item); - this.doDestruct(item); - - return id; - - }, - - doClick: function(item) { - - item.childNodes[item._ll?0:1].childNodes[0].focus(); - - if (!(item._enabled && !item._checked)) return; - if (item._ro) return; - - var args = [item._group, item._value, true]; - if (item.checkEvent("onBeforeChange")) if (item.callEvent("onBeforeChange", args) !== true) return; - this.setChecked(item, true); - item.getForm()._autoCheck(); - item.callEvent("onChange", args); - - }, - - doCheckValue: function(item) { - var value = null; - for (var a in this.r) { - if (this.r[a]._checked && this.r[a]._group == item._group && this.r[a]._rId == item._rId) value = this.r[a]._value; // allow getChecked for disabled, v3.6.2 - } - if (value != null && this.r[a]._enabled) { - this.input[item._rName].name = String(item._group); - this.input[item._rName].value = value; - } else { - this.input[item._rName].name = ""; - this.input[item._rName].value = ""; - } - this.input[item._rName]._value = value; - }, - - setChecked: function(item, state) { - state = (state===true); - for (var a in this.r) { - if (this.r[a]._group == item._group && this.r[a]._rId == item._rId) { - var needCheck = false; - if (this.r[a]._idd == item._idd) { - if (this.r[a]._checked != state) { this.r[a]._checked = state; needCheck = true; } - } else { - if (this.r[a]._checked) { this.r[a]._checked = false; needCheck = true; } - } - if (needCheck) { - var t = this.r[a].childNodes[this.r[a]._ll?1:0].childNodes[1]; - t.className = t.className.replace(/rdbt[0-1]{1}/gi,"")+(this.r[a]._checked?" rdbt1":" rdbt0"); - t = null; - } - } - } - this.doCheckValue(item); - }, - - getChecked: function(item) { - return this.input[item._rName]._value; - }, - - _getFirstValue: function(item) { - return this.firstValue[item._rName]; - }, - - _getId: function(item) { - return item._idd; // return inner id by name/value - }, - - setValue: function(item, value) { - // this method will never called at all - } - -}; - -(function(){ - for (var a in {doAddLabel:1,doAddInput:1,doDestruct:1,doUnloadNestedLists:1,doAttachEvents:1,check:1,unCheck:1,isChecked:1,enable:1,disable:1,isEnabled:1,setText:1,getText:1,getValue:1,setReadonly:1,isReadonly:1,setFocus:1}) - dhtmlXForm.prototype.items.radio[a] = dhtmlXForm.prototype.items.checkbox[a]; -})(); - - -/* select */ -dhtmlXForm.prototype.items.select = { - - render: function(item, data) { - - item._type = "se"; - item._enabled = true; - item._value = null; - item._newValue = null; - - // in ff borders included into width - if (window.dhx4.isFF||window.dhx4.isIE && typeof(data.inputWidth) == "number") { - data.inputWidth = Number(data.inputWidth);//+(item._inpWidthFix||2); - } - - this.doAddLabel(item, data); - this.doAddInput(item, data, "SELECT", null, true, true, "dhxform_select"); - this.doAttachEvents(item); - - this.doLoadOpts(item, data); - if (data.connector != null) this.doLoadOptsConnector(item, data.connector); - - if (typeof(data.value) != "undefined" && data.value != null) { - this.setValue(item, data.value); - } - - return this; - }, - - destruct: function(item) { - - this.doUnloadNestedLists(item); - - item.callEvent = null; - item.checkEvent = null; - item.getForm = null; - - item._autoCheck = null; - item._enabled = null; - item._idd = null; - item._type = null; - item._value = null; - item._newValue = null; - - item.onselectstart = null; - - item.childNodes[item._ll?1:0].childNodes[0].onclick = null; - item.childNodes[item._ll?1:0].childNodes[0].onkeydown = null; - item.childNodes[item._ll?1:0].childNodes[0].onchange = null; - item.childNodes[item._ll?1:0].childNodes[0].onfocus = null; - item.childNodes[item._ll?1:0].childNodes[0].onblur = null; - item.childNodes[item._ll?1:0].childNodes[0].onkeyup = null; - item.childNodes[item._ll?1:0].removeChild(item.childNodes[item._ll?1:0].childNodes[0]); - - while (item.childNodes.length > 0) item.removeChild(item.childNodes[0]); - - item.parentNode.removeChild(item); - item = null; - - }, - - doAddLabel: function(item, data) { - - var j = document.createElement("DIV"); - j.className = "dhxform_label "+data.labelAlign; - j.innerHTML = ""; - // - if (data.wrap == true) j.style.whiteSpace = "normal"; - - if (typeof(data.tooltip) != "undefined") j.title = data.tooltip; - - item.appendChild(j); - - if (typeof(data.label) == "undefined" || data.label == null || data.label.length == 0) j.style.display = "none"; - - if (!isNaN(data.labelWidth)) j.style.width = parseInt(data.labelWidth)+"px"; - if (!isNaN(data.labelHeight)) j.style.height = parseInt(data.labelHeight)+"px"; - - if (!isNaN(data.labelLeft)) j.style.left = parseInt(data.labelLeft)+"px"; - if (!isNaN(data.labelTop)) j.style.top = parseInt(data.labelTop)+"px"; - - if (data.info) { - j.onclick = function(e) { - e = e||event; - var t = e.target||e.srcElement; - if (typeof(t.className) != "undefined" && t.className == "dhxform_info") { - this.parentNode.callEvent("onInfo",[this.parentNode._idd]); - e.cancelBubble = true; - if (e.preventDefault) e.preventDefault(); else e.returnValue = false; - return false; - } - } - } - }, - - doAttachEvents: function(item) { - - var t = item.childNodes[item._ll?1:0].childNodes[0]; - var that = this; - - t.onclick = function() { - that.doOnChange(this); - } - t.onkeydown = function(e) { - e = e||event; - that.doOnChange(this); - this.parentNode.parentNode.callEvent("onKeyDown",[this,e,this.parentNode.parentNode._idd]); - } - t.onchange = function() { - that.doOnChange(this); - } - t.onkeyup = function(e) { - e = e||event; - this.parentNode.parentNode.callEvent("onKeyUp",[this,e,this.parentNode.parentNode._idd]); - } - t = null; - - this.doAttachChangeLS(item); - }, - - doAttachChangeLS: function(item) { - - var t = item.childNodes[item._ll?1:0].childNodes[0]; - t.onfocus = function() { - var i = this.parentNode.parentNode; - i.getForm()._ccActivate(i._idd, this, i.getForm().getItemValue(i._idd,true)); - i.getForm().callEvent("onFocus",[i._idd]); - i = null; - } - t.onblur = function() { - var i = this.parentNode.parentNode; - i.getForm()._ccDeactivate(i._idd); - i.getForm().callEvent("onBlur",[i._idd]); - i = null; - } - t = null; - }, - - doValidate: function(item) { - if (item.getForm().live_validate) this._validate(item); - }, - - doLoadOpts: function(item, data, callEvent) { - var t = item.childNodes[item._ll?1:0].childNodes[0]; - var opts = data.options; - var k = false; - for (var q=0; q= 0) item._value = t.options[t.selectedIndex].value; - - if (callEvent === true) item.callEvent("onOptionsLoaded", [item._idd]); - // fix note if width set to auto - this._checkNoteWidth(item); - }, - - doLoadOptsConnector: function(item, url) { - - var that = this; - item._connector_working = true; - - window.dhx4.ajax.get(url, function(r) { - - r = r.xmlDoc.responseXML; - if (r == null) return; - - var root = r.getElementsByTagName("data"); - if (root == null || root[0] == null) return; - - root = root[0]; - - var opts = []; - for (var q=0; q=0?sel.options[sel.selectedIndex].value:null); - if (item._newValue != item._value) { - if (item.checkEvent("onBeforeChange")) { - if (item.callEvent("onBeforeChange", [item._idd, item._value, item._newValue]) !== true) { - // restore last value - for (var q=0; q*":""); - item.childNodes[item._ll?0:1].style.display = (text.length==0||text==null?"none":""); - }, - - getText: function(item) { - return item.childNodes[item._ll?0:1].childNodes[0].innerHTML.replace(/[^<]*<\/span>/g,""); - }, - - enable: function(item) { - if (String(item.className).search("disabled") >= 0) item.className = String(item.className).replace(/disabled/gi,""); - item._enabled = true; - item.childNodes[item._ll?1:0].childNodes[0].removeAttribute("disabled"); - }, - - disable: function(item) { - if (String(item.className).search("disabled") < 0) item.className += " disabled"; - item._enabled = false; - item.childNodes[item._ll?1:0].childNodes[0].setAttribute("disabled", true); - }, - - getOptions: function(item) { - return item.childNodes[item._ll?1:0].childNodes[0].options; - }, - - setValue: function(item, val) { - if (item._connector_working) { // attemp to set value while optins not yet loaded (connector used) - item._connector_value = val; - return; - } - var opts = this.getOptions(item); - for (var q=0; q 0) { - item.getForm()._autoCheck(); - } - - item.getForm()._ccReload(item._idd, item._value); // selected option id - - }, - - getValue: function(item) { - var k = -1; - var opts = this.getOptions(item); - for (var q=0; q= 0 && t._w == "auto") t.style.width = item.childNodes[item._ll?1:0].childNodes[0].offsetWidth+"px"; - } - t = null; - } - -}; -(function(){ - for (var a in {doAddInput:1,doUnloadNestedLists:1,isEnabled:1}) - dhtmlXForm.prototype.items.select[a] = dhtmlXForm.prototype.items.checkbox[a]; -})(); - -/* multiselect */ -dhtmlXForm.prototype.items.multiselect = { - - doLoadOpts: function(item, data, callEvent) { - var t = item.childNodes[item._ll?1:0].childNodes[0]; - t.multiple = true; - if (!isNaN(data.size)) t.size = Number(data.size); - item._value = []; - item._newValue = []; - var opts = data.options; - for (var q=0; q 1) item._df.i_len = r[r.length-1].length; - - if (refresh) this.setValue(item, item._value); - - return true; - - }, - - _getFmtValue: function(item, v) { - - var r = v.match(/^(-)?([0-9]{1,})(\.([0-9]{1,}))?$/); - // r = [coplete value, minus sign, integer, full decimal, decimal] - if (r != null && r.length == 5) { - var v0 = ""; - // minus sign - if (r[1] != null) v0 += r[1]; - // chars before - v0 += item._df.s_bef; - // int part - if (item._df.i_len !== false) { - var i = 0; var v1 = ""; - for (var q=r[2].length-1; q>=0; q--) { - v1 = ""+r[2].charAt(q)+v1; - if (++i == item._df.i_len && q > 0) { v1=item._df.i_sep+v1; i=0; } - } - v0 += v1; - } else { - v0 += r[2]; - } - // dec part - if (item._df.d_len !== false) { - if (r[4] == null) r[4] = ""; - while (r[4].length < item._df.d_len) r[4] += "0"; - eval("dhx4.temp = new RegExp(/\\d{"+item._df.d_len+"}/);"); - var t1 = (r[4]).match(dhx4.temp); - if (t1 != null) v0 += item._df.d_sep+t1; - dhx4.temp = t1 = null; - } - // chars after - v0 += item._df.s_aft; - - return v0; - } - - return v; - } - -}; - -(function(){ - for (var a in {doAddLabel:1,doAddInput:1,destruct:1,doUnloadNestedLists:1,setText:1,getText:1,enable:1,disable:1,isEnabled:1,setWidth:1,setFocus:1}) - dhtmlXForm.prototype.items.input[a] = dhtmlXForm.prototype.items.select[a]; -})(); - - -/* password */ -dhtmlXForm.prototype.items.password = { - - render: function(item, data) { - - item._type = "pw"; - item._enabled = true; - - this.doAddLabel(item, data); - this.doAddInput(item, data, "INPUT", "PASSWORD", true, true, "dhxform_textarea"); - this.doAttachEvents(item); - - this.setValue(item, data.value); - - return this; - - } -}; - -(function(){ - for (var a in {doAddLabel:1,doAddInput:1,doAttachEvents:1,destruct:1,doUnloadNestedLists:1,setText:1,getText:1,setValue:1,getValue:1,updateValue:1,enable:1,disable:1,isEnabled:1,setWidth:1,setReadonly:1,isReadonly:1,setFocus:1,getInput:1}) - dhtmlXForm.prototype.items.password[a] = dhtmlXForm.prototype.items.input[a]; -})(); - -/* file */ -dhtmlXForm.prototype.items.file = { - - render: function(item, data) { - - item._type = "fl"; - item._enabled = true; - - this.doAddLabel(item, data); - this.doAddInput(item, data, "INPUT", "FILE", true, false, "dhxform_textarea"); - - var t = item.childNodes[item._ll ? 1 : 0].childNodes[0]; - var that = this; - t.onfocus = function() { - var i = this.parentNode.parentNode; - i.getForm().callEvent("onFocus",[i._idd]); - i = null; - }; - t.onblur = function () { - var i = this.parentNode.parentNode; - if (i.getForm().live_validate) that._validate(i); - i.getForm().callEvent("onBlur", [i._idd]); - i = null; - }; - t = null; - - item.childNodes[item._ll?1:0].childNodes[0].onchange = function() { - item.callEvent("onChange", [item._idd, this.value]); - } - - return this; - - }, - - setValue: function(){}, - - getValue: function(item) { - return item.childNodes[item._ll?1:0].childNodes[0].value; - } - -}; - -(function(){ - for (var a in {doAddLabel:1,doAddInput:1,destruct:1,doUnloadNestedLists:1,setText:1,getText:1,enable:1,disable:1,isEnabled:1,setWidth:1}) - dhtmlXForm.prototype.items.file[a] = dhtmlXForm.prototype.items.input[a]; -})(); - -/* label */ -dhtmlXForm.prototype.items.label = { - - _index: false, - - render: function(item, data) { - - item._type = "lb"; - item._enabled = true; - item._checked = true; - - var t = document.createElement("DIV"); - t.className = "dhxform_txt_label2"+(data._isTopmost?" topmost":""); - t.innerHTML = data.label; - item.appendChild(t); - - if (data.hidden == true) this.hide(item); - if (data.disabled == true) this.userDisable(item); - - if (!isNaN(data.labelWidth)) t.style.width = parseInt(data.labelWidth)+"px"; - if (!isNaN(data.labelHeight)) t.style.height = parseInt(data.labelHeight)+"px"; - - if (!isNaN(data.labelLeft)) t.style.left = parseInt(data.labelLeft)+"px"; - if (!isNaN(data.labelTop)) t.style.top = parseInt(data.labelTop)+"px"; - - return this; - }, - - destruct: function(item) { - - this.doUnloadNestedLists(item); - - item._autoCheck = null; - item._enabled = null; - item._type = null; - - item.callEvent = null; - item.checkEvent = null; - item.getForm = null; - - item.onselectstart = null; - item.parentNode.removeChild(item); - item = null; - - }, - - enable: function(item) { - if (String(item.className).search("disabled") >= 0) item.className = String(item.className).replace(/disabled/gi,""); - item._enabled = true; - }, - - disable: function(item) { - if (String(item.className).search("disabled") < 0) item.className += " disabled"; - item._enabled = false; - }, - - setText: function(item, text) { - item.firstChild.innerHTML = text; - }, - - getText: function(item) { - return item.firstChild.innerHTML; - } - -}; - -(function(){ - for (var a in {doUnloadNestedLists:1,isEnabled:1}) - dhtmlXForm.prototype.items.label[a] = dhtmlXForm.prototype.items.checkbox[a]; -})(); - - -/* button */ -dhtmlXForm.prototype.items.button = { - - render: function(item, data) { - - item._type = "bt"; - item._enabled = true; - item._name = data.name; - - item.className = String(item.className).replace("item_label_top","item_label_left").replace("item_label_right","item_label_left"); - - if (!isNaN(data.width)) var w = Math.max(data.width,10); - var k = (typeof(w) != "undefined"); - - item._doOnKeyUpDown = function(evName, evObj) { - this.callEvent(evName, [this.childNodes[0].childNodes[0], evObj, this._idd]); - } - - item.innerHTML = '
              '+ - '
              '+data.value+'
              '+ - '
              '; - - if (!isNaN(data.inputLeft)) item.childNodes[0].style.left = parseInt(data.inputLeft)+"px"; - if (!isNaN(data.inputTop)) item.childNodes[0].style.top = parseInt(data.inputTop)+"px"; - - if (data.hidden == true) this.hide(item); - if (data.disabled == true) this.userDisable(item); - - if (typeof(data.tooltip) != "undefined") item.firstChild.title = data.tooltip; - - // item onselectstart also needed once - // will reconstructed! - - item.onselectstart = function(e){ - e = e||event; - e.cancelBubble = true; - if (e.preventDefault) e.preventDefault(); else e.returnValue = false; - return false; - } - item.firstChild.onselectstart = function(e){ - e = e||event; - e.cancelBubble = true; - if (e.preventDefault) e.preventDefault(); else e.returnValue = false; - return false; - } - - item.firstChild.onkeypress = function(e) { - e = e||event - if ((e.keyCode == 32 || e.charCode == 32 || e.keyCode == 13 || e.charCode == 13) && !this.parentNode._busy) { - this.parentNode._busy = true; - e.cancelBubble = true; - if (e.preventDefault) e.preventDefault(); else e.returnValue = false; - _dhxForm_doClick(this.childNodes[0], ["mousedown", "mouseup"]); - return false; - } - } - item.firstChild.ontouchstart = function(){ - e = e||event; - e.preventDefault(); - if (!this.parentNode._busy) { - this.parentNode._busy = true; - _dhxForm_doClick(this.childNodes[0],["mousedown", "mouseup"]); - } - } - item.firstChild.onfocus = function() { - this.parentNode._doOnFocus(this.parentNode); - } - - item.firstChild.onblur = function() { - _dhxForm_doClick(this.childNodes[0], "mouseout"); - this.parentNode._doOnBlur(this.parentNode); - } - - item.firstChild.onkeyup = function(e) { - this.parentNode._doOnKeyUpDown("onKeyUp", e||event); - } - item.firstChild.onkeydown = function(e) { - this.parentNode._doOnKeyUpDown("onKeyDown", e||event); - } - item.firstChild.onmouseover = function(){ - var t = this.parentNode; - if (!t._enabled) return; - this._isOver = true; - this.className = "dhxform_btn dhxform_btn_over"; - t = null; - } - item.firstChild.onmouseout = function(){ - var t = this.parentNode; - if (!t._enabled) return; - this.className = "dhxform_btn"; - this._allowClick = false; - this._pressed = false; - this._isOver = false; - t = null; - } - item.firstChild.onmousedown = function(e){ - e = e||event; - if (e.button >= 2) return; // ie=0/other=1 - if (this._pressed) return; - var t = this.parentNode; - if (!t._enabled) return; - this.className = "dhxform_btn dhxform_btn_pressed"; - this._allowClick = true; - this._pressed = true; - t = null; - } - - item.firstChild.onmouseup = function(e){ - e = e||event; - if (e.button >= 2) return; - if (!this._pressed) return; - var t = this.parentNode; - if (!t._enabled) return; - t._busy = false; - this.className = "dhxform_btn"+(this._isOver?" dhxform_btn_over":""); - if (this._pressed && this._allowClick) t.callEvent("_onButtonClick", [t._name, t._cmd]); - this._allowClick = false; - this._pressed = false; - t = null; - } - - item._doOnFocus = function(item) { - item.getForm().callEvent("onFocus",[item._idd]); - } - - item._doOnBlur = function(item) { - item.getForm().callEvent("onBlur",[item._idd]); - } - - return this; - }, - - destruct: function(item) { - - this.doUnloadNestedLists(item); - - item.callEvent = null; - item.checkEvent = null; - item.getForm = null; - - item._autoCheck = null; - item._type = null; - item._enabled = null; - item._cmd = null; - item._name = null; - item._doOnFocus = null; - item._doOnBlur = null; - item._doOnKeyUpDown = null; - - item.onselectstart = null; - - item.firstChild.onselectstart = null; - item.firstChild.onkeypress = null; - item.firstChild.ontouchstart = null; - item.firstChild.onfocus = null; - item.firstChild.onblur = null; - item.firstChild.onkeyup = null; - item.firstChild.onkeydown = null; - item.firstChild.onmouseover = null; - item.firstChild.onmouseout = null; - item.firstChild.onmousedown = null; - item.firstChild.onmouseup = null; - - while (item.childNodes.length > 0) item.removeChild(item.childNodes[0]); - - item.parentNode.removeChild(item); - item = null; - - }, - - enable: function(item) { - if (String(item.className).search("disabled") >= 0) item.className = String(item.className).replace(/disabled/gi,""); - item._enabled = true; - item.childNodes[0].removeAttribute("disabled"); - item.childNodes[0].setAttribute("role", "link"); - item.childNodes[0].setAttribute("tabIndex", "0"); - }, - - disable: function(item) { - if (String(item.className).search("disabled") < 0) item.className += " disabled"; - item._enabled = false; - item.childNodes[0].setAttribute("disabled", "true"); - item.childNodes[0].removeAttribute("role"); - item.childNodes[0].removeAttribute("tabIndex"); - }, - - setText: function(item, text) { - item.childNodes[0].childNodes[0].innerHTML = text; - }, - - getText: function(item) { - return item.childNodes[0].childNodes[0].innerHTML; - }, - - setFocus: function(item) { - item.childNodes[0].focus(); - } - -}; - -(function(){ - for (var a in {doUnloadNestedLists:1,isEnabled:1}) - dhtmlXForm.prototype.items.button[a] = dhtmlXForm.prototype.items.checkbox[a]; -})(); - -/* hidden item */ -dhtmlXForm.prototype.items.hidden = { - - _index: false, - - render: function(item, data) { - - item.style.display = "none"; - - item._name = data.name; - item._type = "hd"; - item._enabled = true; - - var t = document.createElement("INPUT"); - t.type = "HIDDEN"; - t.name = data.name; - t.value = (data.value||"") - item.appendChild(t); - - return this; - }, - - destruct: function(item) { - - - this.doUnloadNestedLists(item); - - while (item.childNodes.length > 0) item.removeChild(item.childNodes[0]); - - item._autoCheck = null; - item._name = null; - item._type = null; - item._enabled = null; - item.onselectstart = null; - item.callEvent = null; - item.checkEvent = null; - item.getForm = null; - item.parentNode.removeChild(item); - item = null; - - }, - - enable: function(item) { - item._enabled = true; - item.childNodes[0].setAttribute("name", item._name); - }, - - disable: function(item) { - item._enabled = false; - item.childNodes[0].removeAttribute("name"); - }, - - show: function() { - - }, - - hide: function() { - - }, - - isHidden: function() { - return true; - }, - - setValue: function(item, val) { - item.childNodes[0].value = val; - }, - - getValue: function(item) { - return item.childNodes[0].value; - }, - - getInput: function(item) { - return item.childNodes[0]; - } - -}; - -(function(){ - for (var a in {doUnloadNestedLists:1,isEnabled:1}) - dhtmlXForm.prototype.items.hidden[a] = dhtmlXForm.prototype.items.checkbox[a]; -})(); - -/* sub list */ -dhtmlXForm.prototype.items.list = { - - _index: false, - - render: function(item, skin) { - - item._type = "list"; - item._enabled = true; - item._isNestedForm = true; - item.style.paddingLeft = item._ofsNested+"px"; - - item.className = "dhxform_base_nested"+(item._custom_css||""); - - return [this, new dhtmlXForm(item, null, skin)]; - }, - - destruct: function(item) { - - // linked to _listBase - // automaticaly cleared when parent item unloaded - - } -}; - -/* fieldset */ -dhtmlXForm.prototype.items.fieldset = { - - _index: false, - - render: function(item, data) { - - item._type = "fs"; - - if (typeof(parseInt(data.inputWidth)) == "number") { - // if (window.dhx4.isFF||window.dhx4.isOpera) data.inputWidth -= 12; - // chrome-11/ie9 - ok - } - - item._width = data.width; - - item._enabled = true; - item._checked = true; // required for authoCheck - - item.className = "fs_"+data.position+(typeof(data.className)=="string"?" "+data.className:""); - - var f = document.createElement("FIELDSET"); - f.className = "dhxform_fs"; - var align = String(data.labelAlign).replace("align_",""); - f.innerHTML = ""+data.label+""; - item.appendChild(f); - - if (!isNaN(data.inputLeft)) f.style.left = parseInt(data.inputLeft)+"px"; - if (!isNaN(data.inputTop)) f.style.top = parseInt(data.inputTop)+"px"; - if (data.inputWidth != "auto") { - if (!isNaN(data.inputWidth)) { - f.style.width = parseInt(data.inputWidth)+"px"; - var w = parseInt(f.style.width); - if (f.offsetWidth > w) f.style.width = w+(w-f.offsetWidth)+"px"; - } - } - - item._addSubListNode = function() { - var t = document.createElement("DIV"); - t._custom_css = " dhxform_fs_nested"; - this.childNodes[0].appendChild(t); - return t; - } - - if (data.hidden == true) this.hide(item); - if (data.disabled == true) this.userDisable(item); - - return this; - }, - - destruct: function(item) { - - this.doUnloadNestedLists(item); - - item._checked = null; - item._enabled = null; - item._idd = null; - item._type = null; - item._width = null; - - item.onselectstart = null; - - item._addSubListNode = null; - item._autoCheck = null; - item.callEvent = null; - item.checkEvent = null; - item.getForm = null; - - while (item.childNodes.length > 0) item.removeChild(item.childNodes[0]); - - item.parentNode.removeChild(item); - item = null; - - }, - - setText: function(item, text) { - item.childNodes[0].childNodes[0].innerHTML = text; - }, - - getText: function(item) { - return item.childNodes[0].childNodes[0].innerHTML; - }, - - enable: function(item) { - item._enabled = true; - if (String(item.className).search("disabled") >= 0) item.className = String(item.className).replace(/disabled/gi,""); - }, - - disable: function(item) { - item._enabled = false; - if (String(item.className).search("disabled") < 0) item.className += " disabled"; - }, - - setWidth: function(item, width) { - item.childNodes[0].style.width = width+"px"; - item._width = width; - }, - - getWidth: function(item) { - return item._width; - } - -}; - -(function(){ - for (var a in {doUnloadNestedLists:1,isEnabled:1}) - dhtmlXForm.prototype.items.fieldset[a] = dhtmlXForm.prototype.items.checkbox[a]; -})(); - - -/* block */ -dhtmlXForm.prototype.items.block = { - - _index: false, - - render: function(item, data) { - - item._type = "bl"; - - item._width = data.width; - - item._enabled = true; - item._checked = true; // required for authoCheck - - item.className = "block_"+data.position+(typeof(data.className)=="string"?" "+data.className:""); - - var b = document.createElement("DIV"); - b.className = "dhxform_obj_"+item.getForm().skin+" dhxform_block"; - b.style.fontSize = item.getForm().cont.style.fontSize; - if (data.style) b.style.cssText = data.style; - - if (typeof(data.id) != "undefined") b.id = data.id; - - item.appendChild(b); - - if (!isNaN(data.inputLeft)) b.style.left = parseInt(data.inputLeft)+"px"; - if (!isNaN(data.inputTop)) b.style.top = parseInt(data.inputTop)+"px"; - if (data.inputWidth != "auto") if (!isNaN(data.inputWidth)) b.style.width = parseInt(data.inputWidth)+"px"; - - if (!isNaN(data.blockOffset)) { - item._ofsNested = data.blockOffset; - } - - item._addSubListNode = function() { - var t = document.createElement("DIV"); - t._inBlcok = true; - if (typeof(this._ofsNested) != "undefined") t._ofsNested = this._ofsNested; - this.childNodes[0].appendChild(t); - return t; - } - - if (data.hidden == true) this.hide(item); - if (data.disabled == true) this.userDisable(item); - - return this; - }, - - _setCss: function(item, skin, fontSize) { - item.firstChild.className = "dhxform_obj_"+skin+" dhxform_block"; - item.firstChild.style.fontSize = fontSize; - } -}; - -(function(){ - for (var a in {enable:1,disable:1,isEnabled:1,setWidth:1,getWidth:1,doUnloadNestedLists:1,destruct:1}) - dhtmlXForm.prototype.items.block[a] = dhtmlXForm.prototype.items.fieldset[a]; -})(); - -/* new column */ -dhtmlXForm.prototype.items.newcolumn = { - _index: false -}; - -/* template */ -dhtmlXForm.prototype.items.template = { - - render: function(item, data) { - - var ta = (!isNaN(data.rows)); - - item._type = "tp"; - item._enabled = true; - - if (data.format) { - if (typeof(data.format) == "function") item.format = data.format; - if (typeof(window[data.format]) == "function") item.format = window[data.format]; - } - if (!item.format) item.format = function(name, value) { return value; } - - this.doAddLabel(item, data); - this.doAddInput(item, data, "DIV", null, true, true, "dhxform_item_template"); - - item._value = (data.value||""); - item.childNodes[1].childNodes[0].innerHTML = item.format(item._idd, item._value); - - return this; - - }, - - // destruct should be added, - // item.format also should be cleared - - setValue: function(item, value) { - item._value = value; - item.childNodes[1].childNodes[0].innerHTML = item.format(item._idd, item._value); - }, - - getValue: function(item) { - return item._value; - }, - - enable: function(item) { - if (String(item.className).search("disabled") >= 0) item.className = String(item.className).replace(/disabled/gi,""); - item._enabled = true; - }, - - disable: function(item) { - if (String(item.className).search("disabled") < 0) item.className += " disabled"; - item._enabled = false; - } - -}; - -(function(){ - for (var a in {doAddLabel:1,doAddInput:1,destruct:1,doUnloadNestedLists:1,setText:1,getText:1,/*enable:1,disable:1,*/isEnabled:1,setWidth:1}) - dhtmlXForm.prototype.items.template[a] = dhtmlXForm.prototype.items.select[a]; -})(); - -//loading from UL list - -dhtmlXForm.prototype._ulToObject = function(ulData, a) { - var obj = []; - for (var q=0; q= 0) this.cont.className = String(this.cont.className).replace(/dhxform_rtl/gi,""); - } -}; - -_dhxForm_doClick = function(obj, evType) { - if (typeof(evType) == "object") { - var t = evType[1]; - evType = evType[0]; - } - if (document.createEvent) { - var e = document.createEvent("MouseEvents"); - e.initEvent(evType, true, false); - obj.dispatchEvent(e); - } else if (document.createEventObject) { - var e = document.createEventObject(); - e.button = 1; - obj.fireEvent("on"+evType, e); - } - if (t) window.setTimeout(function(){_dhxForm_doClick(obj,t);},100); -} - -dhtmlXForm.prototype.setFormData = function(t) { - for (var a in t) { - var r = this.getItemType(a); - switch (r) { - case "checkbox": - this[t[a]==true||parseInt(t[a])==1||t[a]=="true"||t[a]==this.getItemValue(a, "realvalue")?"checkItem":"uncheckItem"](a); - break; - case "radio": - this.checkItem(a,t[a]); - break; - case "input": - case "textarea": - case "password": - case "select": - case "multiselect": - case "hidden": - case "template": - case "combo": - case "calendar": - case "colorpicker": - case "editor": - this.setItemValue(a,t[a]); - break; - default: - if (this["setFormData_"+r]) { - // check for custom cell - this["setFormData_"+r](a,t[a]); - } else { - // if item with specified name not found, keep value in userdata - if (!this.hId) this.hId = this._genStr(12); - this.setUserData(this.hId, a, t[a]); - } - break; - } - } -}; - -dhtmlXForm.prototype.getFormData = function(p0, only_fields) { - - var r = {}; - var that = this; - for (var a in this.itemPull) { - var i = this.itemPull[a]._idd; - var t = this.itemPull[a]._type; - if (t == "ch") r[i] = (this.isItemChecked(i)?this.getItemValue(i):0); - if (t == "ra" && !r[this.itemPull[a]._group]) r[this.itemPull[a]._group] = this.getCheckedValue(this.itemPull[a]._group); - if (t in {se:1,ta:1,pw:1,hd:1,tp:1,fl:1,calendar:1,combo:1,editor:1,colorpicker:1}) r[i] = this.getItemValue(i,p0); - // check for custom cell - if (this["getFormData_"+t]) r[i] = this["getFormData_"+t](i); - // merge with files/uploader - if (t == "up") { - var r0 = this.getItemValue(i); - for (var a0 in r0) r[a0] = r0[a0]; - } - // - if (this.itemPull[a]._list) { - for (var q=0; q ky) ky = this.base[q].offsetHeight; - } - - // check if layout - var isLayout = false; - try { - isLayout = (this.cont.parentNode.parentNode.parentNode.parentNode._isCell==true); - if (isLayout) var layoutCell = this.cont.parentNode.parentNode.parentNode.parentNode; - } catch(e){}; - - if (isLayout && typeof(layoutCell) != "undefined") { - - if (kx > 0) layoutCell.setWidth(kx+10); - if (ky > 0) layoutCell.setHeight(ky+layoutCell.firstChild.firstChild.offsetHeight+5); - - isLayout = layoutCell = null; - return; - } - - // check if window - var isWindow = false; - try { - isWindow = (this.cont.parentNode.parentNode.parentNode._isWindow == true); - if (isWindow) { - var winCell = this.cont.parentNode.parentNode; - if (typeof(winCell.callEvent) == "function") { - this.cont.style.display = "none"; - winCell.callEvent("_setCellSize", [kx+15,ky+15]); - this.cont.style.display = ""; - } - } - } catch(e){}; - -}; - -// dataproc -dhtmlXForm.prototype.reset = function() { - if (this.callEvent("onBeforeReset", [this.formId, this.getFormData()])) { - if (this._last_load_data) this.setFormData(this._last_load_data); - this.callEvent("onAfterReset", [this.formId]); - } -}; - -dhtmlXForm.prototype.send = function(url, mode, callback, skipValidation) { - - if (typeof mode == "function") { - callback = mode; - mode = "post"; - } else { - mode = (mode=="get"?"get":"post"); - } - - if (skipValidation !== true && !this.validate()) return; - var formData = this.getFormData(true); - - var data = []; - for (var key in formData) data.push(key+"="+encodeURIComponent(formData[key])); - - var afterload = function(loader) { - if (callback) callback.call(this, loader, loader.xmlDoc.responseText); - }; - - if (mode == "get") { - window.dhx4.ajax.get(url+(url.indexOf("?")==-1?"?":"&")+data.join("&"), afterload); - } else { - window.dhx4.ajax.post(url, data.join("&"), afterload); - } - -}; - -dhtmlXForm.prototype.save = function(url, type){}; - -dhtmlXForm.prototype.dummy = function(){}; - -dhtmlXForm.prototype._changeFormId = function(oldid, newid) { - this.formId = newid; -}; - -dhtmlXForm.prototype._dp_init = function(dp) { - - dp._methods = ["dummy", "dummy", "_changeFormId", "dummy"]; - - dp._getRowData = function(id, pref) { - var data = this.obj.getFormData(true); - data[this.action_param] = this.obj.getUserData(id, this.action_param); - return data; - }; - dp._clearUpdateFlag = function(){}; - - dp.attachEvent("onAfterUpdate", function(sid, action, tid, tag){ - if (action == "inserted" || action == "updated"){ - this.obj.resetDataProcessor("updated"); - this.obj._last_load_data = this.obj.getFormData(true); - } - this.obj.callEvent("onAfterSave",[this.obj.formId, tag]); - return true; - }); - - dp.autoUpdate = false; - dp.setTransactionMode("POST", true); - - this.dp = dp; - - this.formId = (new Date()).valueOf(); - this.resetDataProcessor("inserted"); - - this.save = function(){ - if (!this.callEvent("onBeforeSave", [this.formId, this.getFormData()])) return; - if (!this.validate()) return; - dp.sendData(); - }; -}; - - -dhtmlXForm.prototype.resetDataProcessor = function(mode){ - if (!this.dp) return; - this.dp.updatedRows = []; this.dp._in_progress = []; - this.dp.setUpdated(this.formId, true, mode); -}; - -// cc listener -dhtmlXForm.prototype._ccActivate = function(id, inp, val) { - - if (!this._formLS) this._formLS = {}; - if (!this._formLS[id]) this._formLS[id] = {input: inp, value: val}; - if (!this._ccActive) { - this._ccActive = true; - this._ccDo(); - } - inp = null; -}; - -dhtmlXForm.prototype._ccDeactivate = function(id) { - - if (this._ccTm) window.clearTimeout(this._ccTm); - this._ccActive = false; - if (this._formLS != null && this._formLS[id] != null) { - this._formLS[id].input = null; - this._formLS[id] = null; - delete this._formLS[id]; - } -}; - -dhtmlXForm.prototype._ccDo = function() { - - if (this._ccTm) window.clearTimeout(this._ccTm); - - for (var a in this._formLS) { - - var inp = this._formLS[a].input; - - if (String(inp.tagName).toLowerCase() == "select") { - var v = ""; - if (inp.selectedIndex >= 0 && inp.selectedIndex < inp.options.length) v = inp.options[inp.selectedIndex].value; - } else { - var v = inp.value; - } - if (v != this._formLS[a].value) { - this._formLS[a].value = v; - this.callEvent("onInputChange",[inp._idd,v,this]); - } - inp = null; - - } - - if (this._ccActive) { - var t = this; - this._ccTm = window.setTimeout(function(){t._ccDo();t=null;},100); - } - -}; - -dhtmlXForm.prototype._ccReload = function(id, value) { // update item's value while item have focus - if (this._formLS && this._formLS[id]) { - this._formLS[id].value = value; - } -}; - - -dhtmlXForm.prototype._autoload = function() { - var a = [ - "ftype", "name", "value", "label", "check", "checked", "disabled", "text", "rows", "select", "selected", "width", "style", "className", - "labelWidth", "labelHeight", "labelLeft", "labelTop", "inputWidth", "inputHeight", "inputLeft", "inputTop", "position", "size" - ]; - var k = document.getElementsByTagName("UL"); - var u = []; - for (var q=0; q0:!value == ''); // array in case of multiselect - }, - isValidBoolean: function(value) { - return !!value.toString().match(/^(0|1|true|false)$/); - }, - isValidEmail: function(value) { - return !!value.toString().match(/(^[a-z0-9]([0-9a-z\-_\.]*)@([0-9a-z_\-\.]*)([.][a-z]{3})$)|(^[a-z]([0-9a-z_\.\-]*)@([0-9a-z_\-\.]*)(\.[a-z]{2,4})$)/i); - }, - isValidInteger: function(value) { - return !!value.toString().match(/(^-?\d+$)/); - }, - isValidNumeric: function(value) { - return !!value.toString().match(/(^-?\d\d*[\.|,]\d*$)|(^-?\d\d*$)|(^-?[\.|,]\d\d*$)/); - }, - isValidAplhaNumeric: function(value) { - return !!value.toString().match(/^[_\-a-z0-9]+$/gi); - }, - // 0000-00-00 00:00:00 to 9999:12:31 59:59:59 (no it is not a "valid DATE" function) - isValidDatetime: function(value) { - var dt = value.toString().match(/^(\d{4})-(\d{2})-(\d{2})\s(\d{2}):(\d{2}):(\d{2})$/); - return dt && !!(dt[1]<=9999 && dt[2]<=12 && dt[3]<=31 && dt[4]<=59 && dt[5]<=59 && dt[6]<=59) || false; - }, - // 0000-00-00 to 9999-12-31 - isValidDate: function(value) { - var d = value.toString().match(/^(\d{4})-(\d{2})-(\d{2})$/); - return d && !!(d[1]<=9999 && d[2]<=12 && d[3]<=31) || false; - }, - // 00:00:00 to 59:59:59 - isValidTime: function(value) { - var t = value.toString().match(/^(\d{1,2}):(\d{1,2}):(\d{1,2})$/); - return t && !!(t[1]<=24 && t[2]<=59 && t[3]<=59) || false; - }, - // 0.0.0.0 to 255.255.255.255 - isValidIPv4: function(value) { - var ip = value.toString().match(/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/); - return ip && !!(ip[1]<=255 && ip[2]<=255 && ip[3]<=255 && ip[4]<=255) || false; - }, - isValidCurrency: function(value) { // Q: Should I consider those signs valid too ? : ¢|€|₤|₦|¥ - return value.toString().match(/^\$?\s?\d+?([\.,\,]?\d+)?\s?\$?$/) && true || false; - }, - // Social Security Number (999-99-9999 or 999999999) - isValidSSN: function(value) { - return value.toString().match(/^\d{3}\-?\d{2}\-?\d{4}$/) && true || false; - }, - // Social Insurance Number (999999999) - isValidSIN: function(value) { - return value.toString().match(/^\d{9}$/) && true || false; - } - }; - dhtmlxValidation = new dhtmlxValidation(); -}; - diff --git a/themes/sources4.0/dhtmlxForm/codebase/dhtmlxform_deprecated.js b/themes/sources4.0/dhtmlxForm/codebase/dhtmlxform_deprecated.js deleted file mode 100644 index b149c33..0000000 --- a/themes/sources4.0/dhtmlxForm/codebase/dhtmlxform_deprecated.js +++ /dev/null @@ -1,40 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -dhtmlXForm.prototype.getItemsList = function() { - // returns array of item names (without doubling) - // deprecated from 3.6.2 - var list = []; - var exist = []; - for (var a in this.itemPull) { - var id = null; - if (this.itemPull[a]._group) { - id = this.itemPull[a]._group; - } else { - id = a.replace(this.idPrefix, ""); - } - if (exist[id] != true) - list.push(id); - exist[id] = true; - } - return list; -}; - -dhtmlXForm.prototype.setItemText = function() { - // deprecated from 3.6.2 - this.setItemLabel.apply(this, arguments); -}; - -dhtmlXForm.prototype.getItemText = function() { - // deprecated from 3.6.2 - return this.getItemLabel.apply(this, arguments); -}; - -dhtmlXForm.prototype.loadStructString = function(xmlString, onLoad) { - this.loadStruct(xmlString, onLoad); -}; diff --git a/themes/sources4.0/dhtmlxForm/codebase/ext/dhtmlxform_backup.js b/themes/sources4.0/dhtmlxForm/codebase/ext/dhtmlxform_backup.js deleted file mode 100644 index a9fb837..0000000 --- a/themes/sources4.0/dhtmlxForm/codebase/ext/dhtmlxform_backup.js +++ /dev/null @@ -1,29 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -dhtmlXForm.prototype.saveBackup = function() { - if (!this._backup) { - this._backup = {}; - this._backupId = new Date().getTime(); - } - this._backup[++this._backupId] = this.getFormData(); - return this._backupId; -}; - -dhtmlXForm.prototype.restoreBackup = function(id) { - if (this._backup != null && this._backup[id] != null) { - this.setFormData(this._backup[id]); - } -}; - -dhtmlXForm.prototype.clearBackup = function(id) { - if (this._backup != null && this._backup[id] != null) { - this._backup[id] = null; - delete this._backup[id]; - } -}; diff --git a/themes/sources4.0/dhtmlxForm/codebase/ext/dhtmlxform_dyn.js b/themes/sources4.0/dhtmlxForm/codebase/ext/dhtmlxform_dyn.js deleted file mode 100644 index 2f7c64a..0000000 --- a/themes/sources4.0/dhtmlxForm/codebase/ext/dhtmlxform_dyn.js +++ /dev/null @@ -1,390 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* add item */ -dhtmlXForm.prototype.addItem = function(pId, itemData, pos, insertAfter) { - - // insertAfter - // if any columns used - item will inserted into colunm where item[pos] positioned, before it - // insertAfter specifies that new item will inserted after item[pos], to add possibility to make new item last in column - // this param ignored when inserting newcolumn - - // pId = [id,value] for radiobutton - var pValue = null; - if (pId instanceof Array) {pValue = pId[1];pId = pId[0];} - - var f = null; - if (pId != null) { - var f = this._getParentForm(pId, pValue); - // check if item in "f" have nested form - if (f != null) { - if (f.item._list == null) { - // create list - if (!itemData.listParent) itemData.listParent = f.item._idd; - f.form._addItem("list", f.item._idd, [itemData], null, f.item._idd, pos, insertAfter); - } else { - f.item._list[0].addItem(null, itemData, pos, insertAfter); - } - f.form = f.item = null; - f = null; - this._autoCheck(); - return; - } - } - - this._prepareItem(itemData, pos, insertAfter); - this._autoCheck(); -}; - -/* remove item */ -dhtmlXForm.prototype.removeItem = function(id, value) { - this._removeItem(id, value); -}; - -/* remove newcolumn */ -dhtmlXForm.prototype.removeColumn = function(pId, index, removeItems, moveAfter) { - - // index of column - // if single column - only items can be deleted if removeItems==true - // if more than one column and removeItems==false, move items to leftmost column (if not exists - to right) and vise versa if moveAfter=true - - // pId = [id,value] for radiobutton - var pValue = null; - if (pId instanceof Array) {pValue = pId[1];pId = pId[0];} - - if (pId != null) { - var f = this._getParentForm(pId, pValue); - if (f != null) { - if (f.item._list != null && f.item._list[0] != null) { - f.item._list[0].removeColumn(null, index, removeItems, moveAfter); - } - f.form = f.item = null; - f = null; - } - return; - } - - // find base - index = Math.min(Math.max(index,0), this.cont.childNodes.length-1); // index [0..length-1) - if (this.cont.childNodes.length == 1) { - // one column - if (removeItems == true) { - // remove items - this._removeItemsInColumn(this.cont.childNodes[index]); - } - } else { - // more than one - if (removeItems == true) { - // remove items - this._removeItemsInColumn(this.cont.childNodes[index]); - } else { - // move items to next column - if (!moveAfter) { - var moveToBase = index-1; - if (moveToBase < 0) moveToBase = index+1; - } else { - var moveToBase = index+1; - if (moveToBase > this.cont.childNodes.length-1) moveToBase = index-1; - } - // console.log("index ",index,"moveToBase",moveToBase) - while (this.cont.childNodes[index].childNodes.length > 0) { - this.cont.childNodes[moveToBase].appendChild(this.cont.childNodes[index].childNodes[0]); - } - - } - var t = []; - for (var q=0; q this.cont.childNodes.length-1) return null; - return this.cont.childNodes[index]; -}; - -dhtmlXForm.prototype._removeItemsInColumn = function(base) { - var items = []; - for (var q=0; q= 0)) { - var k = document.createElement("SPAN"); - k.className = "dhxform_item_required"; - k.innerHTML = "*"; - p.appendChild(k); - k = p = null; - } - } else { - if (item._validate != null) { - var t = item._validate; - item._validate = []; - for (var q=0; q= 0) { - p.removeChild(p.lastChild); - p = null; - } - } - - this._resetValidateCss(item); - item = null; - -}; - -/* set/clear note */ -dhtmlXForm.prototype.setNote = function(id, value, note) { - - if (typeof(note) == "undefined") note = value; else id = [id,value]; - var item = this._getItemNode(id); - if (!item) return; - - var p = this._getNoteNode(item); - - if (!p) { - if (!note.width) note.width = item.childNodes[item._ll?1:0].childNodes[0].offsetWidth; - p = document.createElement("DIV"); - p.className = "dhxform_note"; - if ({"ch":1,"ra":1}[item._type]) { - item.childNodes[item._ll?1:0].insertBefore(p, item.childNodes[item._ll?1:0].lastChild); - } else { - item.childNodes[item._ll?1:0].appendChild(p); - } - - } - - p.innerHTML = note.text; - if (note.width != null) { - p.style.width = note.width+"px"; - p._w = note.width; - } - - p = null; -}; - -dhtmlXForm.prototype.clearNote = function(id, value) { - - if (typeof(value) != "undefined") id = [id,value]; - var item = this._getItemNode(id); - if (!item) return; - - var p = this._getNoteNode(item); - if (p != null) { - p.parentNode.removeChild(p); - p = null; - } - -}; - -dhtmlXForm.prototype._getNoteNode = function(item) { - - var p = null; - for (var q=0; q= 0) { - p = item.childNodes[item._ll?1:0].childNodes[q]; - } - } - - item = null; - - return p; -}; - -/* set/clear validation */ - -dhtmlXForm.prototype.setValidation = function(id, value, rule) { - - if (typeof(note) == "undefined") rule = value; else id = [id,value]; - var item = this._getItemNode(id); - if (!item) return; - - // init state, clear prev - if (item._validate != null) for (var q=0; q 0) opts.remove(0); - opts.length = 0; - opts = null; - if (typeof(data) == "string") { - this.doWithItem(name, "doLoadOptsConnector", data); - } else if (data instanceof Array) { - this.doWithItem(name, "doLoadOpts", {options:data}); - } - } - - if (t == "combo") { - var combo = this.getCombo(name); - combo.clearAll(); - combo.setComboValue(""); - if (typeof(data) == "string") { - this.doWithItem(name, "doLoadOptsConnector", data); - } else if (data instanceof Array) { - var toSelect = null; - for (var q=0; q= 0) { - node = item.childNodes[q]; - } - } - } - if (node != null) { - if (tooltip == null || tooltip.length == 0) { - node.removeAttribute("title"); - } else { - node.title = tooltip; - } - } - node = null; -}; diff --git a/themes/sources4.0/dhtmlxForm/codebase/ext/dhtmlxform_item_btn2state.js b/themes/sources4.0/dhtmlxForm/codebase/ext/dhtmlxform_item_btn2state.js deleted file mode 100644 index 7f90203..0000000 --- a/themes/sources4.0/dhtmlxForm/codebase/ext/dhtmlxform_item_btn2state.js +++ /dev/null @@ -1,49 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -dhtmlXForm.prototype.items.btn2state = { - setChecked: function(item, state) { - item._checked = (state===true?true:false); - item.childNodes[item._ll?1:0].lastChild.className = "dhxform_img "+item._cssName+"_"+(item._checked?"1":"0"); - this.doCheckValue(item); - } -}; - -(function() { - for (var a in dhtmlXForm.prototype.items.checkbox) { - if (!dhtmlXForm.prototype.items.btn2state[a]) dhtmlXForm.prototype.items.btn2state[a] = dhtmlXForm.prototype.items.checkbox[a]; - } -})(); - - -dhtmlXForm.prototype.items.btn2state.render2 = dhtmlXForm.prototype.items.btn2state.render; -dhtmlXForm.prototype.items.btn2state.render = function(item, data) { - data._autoInputWidth = false; - this.render2(item, data); - item._type = "btn2state"; - item._cssName = (typeof(data.cssName)=="undefined"?"btn2state":data.cssName); - item._updateImgNode = function(){}; - item._doOnFocus = function() { - item.getForm().callEvent("onFocus",[item._idd]); - } - item._doOnBlur = function() { - item.getForm().callEvent("onBlur",[item._idd]); - } - item._doOnKeyUpDown = function(evName, evObj, inp) { - this.callEvent(evName, [this.childNodes[this._ll?0:1].childNodes[0], evObj, this._idd]); - } - this.setChecked(item, item._checked); - return this; -}; - -dhtmlXForm.prototype.setFormData_btn2state = function(name, value) { - this[value==true||parseInt(value)==1||value=="true"||value==this.getItemValue(name)?"checkItem":"uncheckItem"](name); -}; -dhtmlXForm.prototype.getFormData_btn2state = function(name) { - return (this.isItemChecked(name)?this.getItemValue(name):0); -}; diff --git a/themes/sources4.0/dhtmlxForm/codebase/ext/dhtmlxform_item_calendar.js b/themes/sources4.0/dhtmlxForm/codebase/ext/dhtmlxform_item_calendar.js deleted file mode 100644 index d58a7dd..0000000 --- a/themes/sources4.0/dhtmlxForm/codebase/ext/dhtmlxform_item_calendar.js +++ /dev/null @@ -1,183 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -dhtmlXForm.prototype.items.calendar = { - - render: function(item, data) { - - var t = this; - - item._type = "calendar"; - item._enabled = true; - - // dbl-click fix for IE6-8 (i.e. to select date user needs to click twice) - var n = navigator.userAgent; - var dblclickFix = (n.indexOf("MSIE 6.0") >= 0 || n.indexOf("MSIE 7.0") >= 0 || n.indexOf("MSIE 8.0") >= 0); - - this.doAddLabel(item, data); - this.doAddInput(item, data, "INPUT", "TEXT", true, true, "dhxform_textarea calendar"); - this.doAttachChangeLS(item); - - if (dblclickFix) { - item.childNodes[item._ll?1:0].childNodes[0].onfocus2 = item.childNodes[item._ll?1:0].childNodes[0].onfocus; - item.childNodes[item._ll?1:0].childNodes[0].onfocus = function() { - if (this._skipOnFocus == true) { - this._skipOnFocus = false; - return; - } - this.onfocus2.apply(this,arguments); - } - } - - item.childNodes[item._ll?1:0].childNodes[0]._idd = item._idd; - item.childNodes[item._ll?1:0].childNodes[0].onblur = function() { - var i = this.parentNode.parentNode; - if (i._c.base._formMouseDown) { // dblclickFix - i._c.base._formMouseDown = false; - this._skipOnFocus = true; - this.focus(); - this.value = this.value; - i = null; - return true; - } - var f = i.getForm(); - f._ccDeactivate(i._idd); - t.checkEnteredValue(this.parentNode.parentNode); - if (f.live_validate) t._validate(i); - f.callEvent("onBlur",[i._idd]); - f = i = null; - } - - item._f = (data.dateFormat||null); // formats - item._f0 = (data.serverDateFormat||item._f); // formats for save-load, if set - use them for saving and loading only - - var f = item.getForm(); - - item._c = new dhtmlXCalendarObject(item.childNodes[item._ll?1:0].childNodes[0], data.skin||f.skin||"dhx_skyblue"); - item._c._nullInInput = true; // allow null value from input - item._c.enableListener(item.childNodes[item._ll?1:0].childNodes[0]); - if (item._f != null) item._c.setDateFormat(item._f); - if (!window.dhx4.s2b(data.enableTime)) item._c.hideTime(); - if (window.dhx4.s2b(data.showWeekNumbers)) item._c.showWeekNumbers(); - if (!isNaN(data.weekStart)) item._c.setWeekStartDay(data.weekStart); - if (typeof(data.calendarPosition) != "undefined") item._c.setPosition(data.calendarPosition); - if (data.minutesInterval != null) item._c.setMinutesInterval(data.minutesInterval); - - item._c._itemIdd = item._idd; - - item._c.attachEvent("onBeforeChange", function(d) { - if (item._value != d) { - // call some events - if (item.checkEvent("onBeforeChange")) { - if (item.callEvent("onBeforeChange",[item._idd, item._value, d]) !== true) { - return false; - } - } - // accepted - item._tempValue = item._value = d; - t.setValue(item, d, false); - item.callEvent("onChange", [this._itemIdd, item._value]); - } - return true; - - }); - - item._c.attachEvent("onClick", function(){ - item._tempValue = null; - }); - - if (dblclickFix) { - item._c.base.onmousedown = function() { - this._formMouseDown = true; - return false; - } - } - - this.setValue(item, data.value); - - f = null; - - return this; - - }, - - getCalendar: function(item) { - return item._c; - }, - - setSkin: function(item, skin) { - item._c.setSkin(skin); - }, - - setValue: function(item, value, cUpd) { - if (!value || value == null || typeof(value) == "undefined" || value == "") { - item._value = null; - item.childNodes[item._ll?1:0].childNodes[0].value = ""; - } else { - item._value = (value instanceof Date ? value : item._c._strToDate(value, item._f0||item._c._dateFormat)); - item.childNodes[item._ll?1:0].childNodes[0].value = item._c._dateToStr(item._value, item._f||item._c._dateFormat); - } - if (cUpd !== false) item._c.setDate(item._value); - }, - - getValue: function(item, asString) { - var d = item._tempValue||item._c.getDate(); - if (asString===true && d == null) return ""; - return (asString===true?item._c._dateToStr(d,item._f0||item._c._dateFormat):d); - }, - - setDateFormat: function(item, dateFormat, serverDateFormat) { - item._f = dateFormat; - item._f0 = (serverDateFormat||item._f); - item._c.setDateFormat(item._f); - this.setValue(item, this.getValue(item)); - }, - - destruct: function(item) { - - // unload calendar instance - item._c.disableListener(item.childNodes[item._ll?1:0].childNodes[0]); - item._c.unload(); - item._c = null; - try {delete item._c;} catch(e){} - - item._f = null; - try {delete item._f;} catch(e){} - - item._f0 = null; - try {delete item._f0;} catch(e){} - - // remove custom events/objects - item.childNodes[item._ll?1:0].childNodes[0]._idd = null; - item.childNodes[item._ll?1:0].childNodes[0].onblur = null; - - // unload item - this.d2(item); - item = null; - }, - - checkEnteredValue: function(item) { - this.setValue(item, item._c.getDate()); - } - -}; - -(function(){ - for (var a in {doAddLabel:1,doAddInput:1,doUnloadNestedLists:1,setText:1,getText:1,enable:1,disable:1,isEnabled:1,setWidth:1,setReadonly:1,isReadonly:1,setFocus:1,getInput:1}) - dhtmlXForm.prototype.items.calendar[a] = dhtmlXForm.prototype.items.input[a]; -})(); -dhtmlXForm.prototype.items.calendar.doAttachChangeLS = dhtmlXForm.prototype.items.select.doAttachChangeLS; -dhtmlXForm.prototype.items.calendar.d2 = dhtmlXForm.prototype.items.input.destruct; - -dhtmlXForm.prototype.getCalendar = function(name) { - return this.doWithItem(name, "getCalendar"); -}; - -dhtmlXForm.prototype.setCalendarDateFormat = function(name, dateFormat, serverDateFormat) { - this.doWithItem(name, "setDateFormat", dateFormat, serverDateFormat); -}; diff --git a/themes/sources4.0/dhtmlxForm/codebase/ext/dhtmlxform_item_colorpicker.js b/themes/sources4.0/dhtmlxForm/codebase/ext/dhtmlxform_item_colorpicker.js deleted file mode 100644 index 70942fd..0000000 --- a/themes/sources4.0/dhtmlxForm/codebase/ext/dhtmlxform_item_colorpicker.js +++ /dev/null @@ -1,107 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -dhtmlXForm.prototype.items.colorpicker = { - - colorpicker: {}, // colorpicker instances - - render: function(item, data) { - - var t = this; - - item._type = "colorpicker"; - item._enabled = true; - - this.doAddLabel(item, data); - this.doAddInput(item, data, "INPUT", "TEXT", true, true, "dhxform_textarea"); - - item._value = (data.value||""); - item.childNodes[item._ll?1:0].childNodes[0].value = item._value; - - var conf = { - input: item.childNodes[item._ll?1:0].childNodes[0], - custom_colors: (window.dhx4.s2b(data.enableCustomColors) == true), - skin: item.getForm().skin - }; - - this.colorpicker[item._idd] = new dhtmlXColorPicker(conf); - this.colorpicker[item._idd]._nodes[0].valueColor = null; // disable input's bg change - this.colorpicker[item._idd].base.className += " dhtmlxcp_in_form"; - - if (typeof(data.customColors) != "undefined") { - this.colorpicker[item._idd].setCustomColors(data.customColors); - } - - // select handler - this.colorpicker[item._idd].attachEvent("onSelect", function(color){ - if (item._value != color) { - // call some events - if (item.checkEvent("onBeforeChange")) { - if (item.callEvent("onBeforeChange",[item._idd, item._value, color]) !== true) { - // do not allow set new value - item.childNodes[item._ll?1:0].childNodes[0].value = item._value; - return; - } - } - // accepted - item._value = color; - t.setValue(item, color); - item.callEvent("onChange", [item._idd, item._value]); - } - }); - this.colorpicker[item._idd].attachEvent("onHide", function(color){ - var i = item.childNodes[item._ll?1:0].childNodes[0]; - if (i.value != item._value) i.value = item._value; - i = null; - }); - - - item.childNodes[item._ll?1:0].childNodes[0]._idd = item._idd; - - return this; - - }, - - getColorPicker: function(item) { - return this.colorpicker[item._idd]; - }, - - destruct: function(item) { - - // unload color picker instance - if (this.colorpicker[item._idd].unload) this.colorpicker[item._idd].unload(); - this.colorpicker[item._idd] = null; - try {delete this.colorpicker[item._idd];} catch(e){} - - // remove custom events/objects - item.childNodes[item._ll?1:0].childNodes[0]._idd = null; - - // unload item - this.d2(item); - item = null; - }, - - setSkin: function(item, skin) { - this.colorpicker[item._idd].setSkin(skin); - } - -}; - - -(function(){ - for (var a in {doAddLabel:1,doAddInput:1,doUnloadNestedLists:1,setText:1,getText:1,enable:1,disable:1,isEnabled:1,setWidth:1,setReadonly:1,isReadonly:1,setValue:1,getValue:1,updateValue:1,setFocus:1,getInput:1}) - dhtmlXForm.prototype.items.colorpicker[a] = dhtmlXForm.prototype.items.input[a]; -})(); - -dhtmlXForm.prototype.items.colorpicker.d2 = dhtmlXForm.prototype.items.input.destruct; - - -dhtmlXForm.prototype.getColorPicker = function(name) { - return this.doWithItem(name, "getColorPicker"); -}; - diff --git a/themes/sources4.0/dhtmlxForm/codebase/ext/dhtmlxform_item_combo.js b/themes/sources4.0/dhtmlxForm/codebase/ext/dhtmlxform_item_combo.js deleted file mode 100644 index 9b7884b..0000000 --- a/themes/sources4.0/dhtmlxForm/codebase/ext/dhtmlxform_item_combo.js +++ /dev/null @@ -1,206 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -dhtmlXForm.prototype.items.combo = { - - render: function(item, data) { - - item._type = "combo"; - item._enabled = true; - item._value = null; - item._newValue = null; - - this.doAddLabel(item, data); - this.doAddInput(item, data, "SELECT", null, true, true, "dhxform_select"); - this.doAttachEvents(item); - this.doLoadOpts(item, data); - - // allow selection to prevent broking combo logic - item.onselectstart = function(e){return true;} - - // item.childNodes[1].childNodes[0].opt_type = data.comboType||""; - item.childNodes[item._ll?1:0].childNodes[0].setAttribute("mode", data.comboType||""); - if (data.comboImagePath) item.childNodes[item._ll?1:0].childNodes[0].setAttribute("imagePath", data.comboImagePath); - if (data.comboDefaultImage) item.childNodes[item._ll?1:0].childNodes[0].setAttribute("defaultImage", data.comboDefaultImage); - if (data.comboDefaultImageDis) item.childNodes[item._ll?1:0].childNodes[0].setAttribute("defaultImageDis", data.comboDefaultImageDis); - - item._combo = new dhtmlXComboFromSelect(item.childNodes[item._ll?1:0].childNodes[0]); - item._combo.setSkin(item.getForm().skin); - item._combo._currentComboValue = item._combo.getSelectedValue(); - item._combo.getInput().id = data.uid; - - var k = this; - item._combo.attachEvent("onChange", function(){ - k.doOnChange(this); - }); - - if (data.connector) this.doLoadOptsConnector(item, data.connector); - - if (data.filtering) { - item._combo.enableFilteringMode(true); - } else if (data.serverFiltering) { - item._combo.enableFilteringMode(true, data.serverFiltering, data.filterCache, data.filterSubLoad); - } - - if (data.readonly == true) this.setReadonly(item, true); - - if (data.style) item._combo.DOMelem_input.style.cssText += data.style; - - item._combo.attachEvent("onFocus", function(){ - var item = this.cont.parentNode.parentNode; - var f = item.getForm(); - if (f.skin == "dhx_terrace" && this.cont.className.search(/combo_in_focus/) < 0) this.cont.className += " combo_in_focus"; - f.callEvent("onFocus", [item._idd]); - f = item = null; - }); - - item._combo.attachEvent("onBlur", function(){ - var item = this.cont.parentNode.parentNode; - var f = item.getForm(); - if (f.skin == "dhx_terrace" && this.cont.className.search(/combo_in_focus/) >= 0) this.cont.className = this.cont.className.replace(/\s{0,}combo_in_focus/gi,""); - f.callEvent("onBlur", [item._idd]); - f = item = null; - }); - - return this; - }, - - destruct: function(item) { - - // unload combo - item.childNodes[item._ll?1:0].childNodes[0].onchange = null; - - item._combo._currentComboValue = null; - item._combo.unload(); - item._combo = null; - - // unload item - item._apiChange = null; - this.d2(item); - item = null; - - }, - - doAttachEvents: function(item) { - - var that = this; - - item.childNodes[item._ll?1:0].childNodes[0].onchange = function() { - that.doOnChange(this); - that.doValidate(this.DOMParent.parentNode.parentNode); - } - }, - - doValidate: function(item) { - if (item.getForm().hot_validate) this._validate(item); - }, - - doOnChange: function(combo) { - var item = combo.base.parentNode.parentNode.parentNode; - if (item._apiChange) return; - combo._newComboValue = combo.getSelectedValue(); - if (combo._newComboValue != combo._currentComboValue) { - if (item.checkEvent("onBeforeChange")) { - if (item.callEvent("onBeforeChange", [item._idd, combo._currentComboValue, combo._newComboValue]) !== true) { - // restore last value - // not the best solution, should be improved - window.setTimeout(function(){combo.setComboValue(combo._currentComboValue);},1); - return false; - } - } - combo._currentComboValue = combo._newComboValue; - item.callEvent("onChange", [item._idd, combo._currentComboValue]); - } - item._autoCheck(item._enabled); - }, - - doLoadOptsConnector: function(item, url) { - var that = this; - var i = item; - item._connector_working = true; - item._apiChange = true; - item._combo.load(url, function(){ - // try to set value if it was called while options loading was in progress - i.callEvent("onOptionsLoaded", [i._idd]); - i._connector_working = false; - if (i._connector_value != null) { - that.setValue(i, i._connector_value); - i._connector_value = null; - } - i._apiChange = false; - that = i = null; - }); - }, - - enable: function(item) { - if (String(item.className).search("disabled") >= 0) item.className = String(item.className).replace(/disabled/gi,""); - item._enabled = true; - item._combo.enable(); - }, - - disable: function(item) { - if (String(item.className).search("disabled") < 0) item.className += " disabled"; - item._enabled = false; - item._combo.disable(); - }, - - getCombo: function(item) { - return item._combo; - }, - - setValue: function(item, val) { - if (item._connector_working) { // attemp to set value while optins not yet loaded (connector used) - item._connector_value = val; - return; - } - item._apiChange = true; - item._combo.setComboValue(val); - item._combo._currentComboValue = item._combo.getActualValue(); - item._apiChange = false; - }, - - getValue: function(item) { - return item._combo.getActualValue(); - }, - - setWidth: function(item, width) { - item.childNodes[item._ll?1:0].childNodes[0].style.width = width+"px"; - }, - - setReadonly: function(item, state) { - if (!item._combo) return; - item._combo_ro = state; - item._combo.readonly(item._combo_ro); - }, - - isReadonly: function(item, state) { - return item._combo_ro||false; - }, - - setFocus: function(item) { - if (item._enabled) item._combo.setFocus(); - }, - - _setCss: function(item, skin, fontSize) { - // update font-size for input and list-options div - item._combo.setFontSize(fontSize, fontSize); - } - -}; - -(function(){ - for (var a in {doAddLabel:1,doAddInput:1,doLoadOpts:1,doUnloadNestedLists:1,setText:1,getText:1,isEnabled:1,_checkNoteWidth:1}) - dhtmlXForm.prototype.items.combo[a] = dhtmlXForm.prototype.items.select[a]; -})(); - -dhtmlXForm.prototype.items.combo.d2 = dhtmlXForm.prototype.items.select.destruct; - -dhtmlXForm.prototype.getCombo = function(name) { - return this.doWithItem(name, "getCombo"); -}; - diff --git a/themes/sources4.0/dhtmlxForm/codebase/ext/dhtmlxform_item_container.js b/themes/sources4.0/dhtmlxForm/codebase/ext/dhtmlxform_item_container.js deleted file mode 100644 index fc67277..0000000 --- a/themes/sources4.0/dhtmlxForm/codebase/ext/dhtmlxform_item_container.js +++ /dev/null @@ -1,63 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -dhtmlXForm.prototype.items.container = { - - render: function(item, data) { - - item._type = "container"; - item._enabled = true; - - this.doAddLabel(item, data); - this.doAddInput(item, data, "DIV", null, true, true, "dhxform_container"); - - return this; - - }, - - getContainer: function(item) { - return item.childNodes[item._ll?1:0].childNodes[0]; - }, - - enable: function(item) { - item._enabled = true; - if (String(item.className).search("disabled") >= 0) item.className = String(item.className).replace(/disabled/gi,""); - // - item.callEvent("onEnable",[item._idd]); - }, - - disable: function(item) { - item._enabled = false; - if (String(item.className).search("disabled") < 0) item.className += " disabled"; - // - item.callEvent("onDisable",[item._idd]); - }, - - doAttachEvents: function(){ - - }, - - setValue: function(){ - - }, - - getValue: function(){ - return null; - } - -}; - -dhtmlXForm.prototype.getContainer = function(name) { - return this.doWithItem(name, "getContainer"); -}; - -(function(){ - for (var a in dhtmlXForm.prototype.items.input) { - if (!dhtmlXForm.prototype.items.container[a]) dhtmlXForm.prototype.items.container[a] = dhtmlXForm.prototype.items.input[a]; - } -})(); diff --git a/themes/sources4.0/dhtmlxForm/codebase/ext/dhtmlxform_item_editor.js b/themes/sources4.0/dhtmlxForm/codebase/ext/dhtmlxform_item_editor.js deleted file mode 100644 index ce5ced0..0000000 --- a/themes/sources4.0/dhtmlxForm/codebase/ext/dhtmlxform_item_editor.js +++ /dev/null @@ -1,148 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -dhtmlXForm.prototype.items.editor = { - - editor: {}, - - render: function(item, data) { - - var ta = (!isNaN(data.rows)); - - item._type = "editor"; - item._enabled = true; - - this.doAddLabel(item, data); - this.doAddInput(item, data, "DIV", null, true, true, "dhxform_item_template"); - - item._value = (data.value||""); - - var that = this; - this.editor[item._idd] = new dhtmlXEditor({ - parent: item.childNodes[item._ll?1:0].childNodes[0], - content: item._value - }); - - this.editor[item._idd].attachEvent("onAccess",function(t, ev){ - // generate body click to hide menu/toolbar/calendar/combo/other stuff if any - item.callEvent("_onBeforeEditorAccess", []); // if editor attached to form in popup - do some tricks - _dhxForm_doClick(document.body, "click"); - // continue - if (t == "blur") { - that.doOnBlur(item, this); - item.callEvent("onBlur", [item._idd]); - if (item.getForm().skin == "dhx_terrace") { - var css = item.childNodes[item._ll?1:0].className; - if (css.indexOf("dhxeditor_focus") >= 0) item.childNodes[item._ll?1:0].className = (css).replace(/\s{0,}dhxeditor_focus/gi,""); - } - } else { - item.callEvent("onEditorAccess", [item._idd, t, ev, this, item.getForm()]); - item.callEvent("onFocus", [item._idd]); - if (item.getForm().skin == "dhx_terrace") { - var css = item.childNodes[item._ll?1:0].className; - if (css.indexOf("dhxeditor_focus") == -1) item.childNodes[item._ll?1:0].className += " dhxeditor_focus"; - } - } - }); - - this.editor[item._idd].attachEvent("onToolbarClick", function(a){ - item.callEvent("onEditorToolbarClick", [item._idd, a, this, item.getForm()]); - }); - - if (data.readonly) this.setReadonly(item, true); - - // emulate label-for - item.childNodes[item._ll?0:1].childNodes[0].removeAttribute("for"); - item.childNodes[item._ll?0:1].childNodes[0].onclick = function() { - that.editor[item._idd]._focus(); - } - - return this; - - }, - - // destructor for editor needed - doOnBlur: function(item, editor) { - var t = editor.getContent(); - if (item._value != t) { - if (item.checkEvent("onBeforeChange")) { - if (item.callEvent("onBeforeChange",[item._idd, item._value, t]) !== true) { - // restore - editor.setContent(item._value); - return; - } - } - // accepted - item._value = t; - item.callEvent("onChange",[item._idd, t]); - } - }, - - setValue: function(item, value) { - if (item._value == value) return; - item._value = value; - this.editor[item._idd].setContent(item._value); - }, - - getValue: function(item) { - item._value = this.editor[item._idd].getContent(); - return item._value; - }, - - enable: function(item) { - this.editor[item._idd].setReadonly(false); - this.doEn(item); - }, - - disable: function(item) { - this.editor[item._idd].setReadonly(true); - this.doDis(item); - }, - - setReadonly: function(item, mode) { - this.editor[item._idd].setReadonly(mode); - }, - - getEditor: function(item) { - return (this.editor[item._idd]||null); - }, - - destruct: function(item) { - - // custom editor functionality - item.childNodes[item._ll?0:1].childNodes[0].onclick = null; - - // unload editor - this.editor[item._idd].unload(); - this.editor[item._idd] = null; - - // unload item - this.d2(item); - item = null; - - }, - - setFocus: function(item) { - this.editor[item._idd]._focus(); - } - -}; - -(function(){ - for (var a in {doAddLabel:1,doAddInput:1,doUnloadNestedLists:1,setText:1,getText:1,setWidth:1,isEnabled:1}) - dhtmlXForm.prototype.items.editor[a] = dhtmlXForm.prototype.items.template[a]; -})(); - -dhtmlXForm.prototype.items.editor.d2 = dhtmlXForm.prototype.items.select.destruct; -dhtmlXForm.prototype.items.editor.doEn = dhtmlXForm.prototype.items.select.enable; -dhtmlXForm.prototype.items.editor.doDis = dhtmlXForm.prototype.items.select.disable; - -dhtmlXForm.prototype.getEditor = function(name) { - return this.doWithItem(name, "getEditor"); -}; - diff --git a/themes/sources4.0/dhtmlxForm/codebase/ext/dhtmlxform_item_image.js b/themes/sources4.0/dhtmlxForm/codebase/ext/dhtmlxform_item_image.js deleted file mode 100644 index 983a94e..0000000 --- a/themes/sources4.0/dhtmlxForm/codebase/ext/dhtmlxform_item_image.js +++ /dev/null @@ -1,183 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -dhtmlXForm.prototype.items.image = { - - _dimFix: true, - - render: function(item, data) { - - item._type = "image"; - item._enabled = true; - - item._fr_name = "dhxform_image_"+window.dhx4.newId(); - item._url = (typeof(data.url)=="undefined"||data.url==null?"":data.url); - - if (data.inputWidth == "auto") data.inputWidth = 120; - if (data.inputHeight == "auto") data.inputHeight = data.inputWidth; - - this.doAddLabel(item, data); - - this.doAddInput(item, data, "DIV", null, true, true, "dhxform_image"); - - var t = item.childNodes[item._ll?1:0].childNodes[0]; - t.style.height = parseInt(t.style.height)-dhtmlXForm.prototype.items[this.t]._dim+"px"; - - var w = (typeof(data.imageWidth)!="undefined"?parseInt(data.imageWidth):data.inputWidth); - var h = (typeof(data.imageHeight)!="undefined"?parseInt(data.imageHeight):data.inputHeight); - if (h == "auto") h = w; - - item._dim = {mw: data.inputWidth-this._dim, mh: data.inputHeight-this._dim, w: w, h: h}; - - t.innerHTML = ""+ - ""+ - "
              "+ - "
              "+ - ""+ - ""+ - ""+ - "
              "; - "
              "; - - this.adjustImage(item); - - // file selection - t.childNodes[2].firstChild.lastChild.onchange = function() { - item._is_uploading = true; - this.parentNode.submit(); - this.parentNode.parentNode.className = "dhxform_image_wrap dhxform_image_in_progress"; - this.value = ""; // prevent update on cancel click in chrome - } - - // iframe updates - var that = this; - if (window.navigator.userAgent.indexOf("MSIE") >= 0) { - t.childNodes[1].onreadystatechange = function() {if (this.readyState == "complete") that.doOnUpload(item);} - } else { - t.childNodes[1].onload = function(){that.doOnUpload(item);} - } - this._moreClear = function() { - that = null; - } - - // initial value - this.setValue(item, data.value||""); - - t = null; - - return this; - - }, - - destruct: function(item) { - // custom functionality - var t = item.childNodes[item._ll?1:0].childNodes[0]; - t.childNodes[2].firstChild.lastChild.onchange = null; - t.childNodes[1].onreadystatechange = null; - t.childNodes[1].onload = null; - this._moreClear(); - - // common form's unload - this.d2(item); - item = null; - }, - - doAttachEvents: function() { - - }, - - setValue: function(item, value) { - item._value = (value==null?"":value); - - var u = item._url+ - (item._url.indexOf("?")>=0?"&":"?")+"action=loadImage"+ - "&itemId="+encodeURIComponent(item._idd)+ - "&itemValue="+encodeURIComponent(item._value)+ - window.dhx4.ajax._dhxr("&") - - var currentImg = item.childNodes[item._ll?1:0].childNodes[0].firstChild; - - if (currentImg.nextSibling.tagName.toLowerCase() == "img") { - currentImg.nextSibling.src = u; // new img created and still loaded from prev setValue() call - } else { - var img = document.createElement("IMG"); - img.className = "dhxform_image_img"; - img.style.visibility = "hidden"; - img.onload = function() { - this.style.visibility = "visible"; - this.parentNode.removeChild(this.nextSibling); - this.onload = this.onerror = null; - } - img.onerror = function() { - this.onload.apply(this, arguments); - this.style.visibility = "hidden"; - } - currentImg.parentNode.insertBefore(img, currentImg); - img.src = u; - img = null; - this.adjustImage(item); - } - - currentImg = null; - }, - - getValue: function(item) { - return item._value; - }, - - doOnUpload: function(item) { - if (item._is_uploading == true) { - - var fr = item.childNodes[item._ll?1:0].childNodes[0].lastChild.previousSibling; // iframe - var r = dhx4.s2j(fr.contentWindow.document.body.innerHTML); - - if (typeof(r) == "object" && r != null && r.state == true && r.itemId == item._idd) { - this.setValue(item, r.itemValue, true); - item.getForm().callEvent("onImageUploadSuccess", [r.itemId, r.itemValue, r.extra]) - } else { - // show empty field, r can be null - item.getForm().callEvent("onImageUploadFail", [item._idd, (r?r.extra:null)]); - } - - r = fr = null; - - window.setTimeout(function(){ - item.childNodes[item._ll?1:0].childNodes[0].lastChild.className = "dhxform_image_wrap"; // div - item._is_uploading = false; // ready to new upload - },50); - - } - }, - - adjustImage: function(item) { - var i = item.childNodes[item._ll?1:0].childNodes[0].firstChild; // image - var w = Math.min(item._dim.mw, item._dim.w); - var h = Math.min(item._dim.mh, item._dim.h); - i.style.width = w+"px"; - i.style.height = h+"px"; - i.style.marginLeft = Math.max(0, Math.round(item._dim.mw/2-w/2))+"px"; - i.style.marginTop = Math.max(0, Math.round(item._dim.mh/2-h/2))+"px"; - i = item = null; - } - -}; - -(function(){ - for (var a in dhtmlXForm.prototype.items.input) { - if (!dhtmlXForm.prototype.items.image[a]) dhtmlXForm.prototype.items.image[a] = dhtmlXForm.prototype.items.input[a]; - } -})(); -dhtmlXForm.prototype.items.image.d2 = dhtmlXForm.prototype.items.input.destruct; - -dhtmlXForm.prototype.setFormData_image = function(name, value) { - this.setItemValue(name, value); -}; -dhtmlXForm.prototype.getFormData_image = function(name) { - return this.getItemValue(name); -}; - diff --git a/themes/sources4.0/dhtmlxForm/codebase/ext/dhtmlxform_item_upload.js b/themes/sources4.0/dhtmlxForm/codebase/ext/dhtmlxform_item_upload.js deleted file mode 100644 index 32ee6ff..0000000 --- a/themes/sources4.0/dhtmlxForm/codebase/ext/dhtmlxform_item_upload.js +++ /dev/null @@ -1,1198 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -dhtmlXForm.prototype.items.upload = { - - render: function(item, data) { - - item._type = "up"; - - item._enabled = true; - item._checked = true; // required for authoCheck - - item.className = data.position+(typeof(data.className)=="string"?" "+data.className:""); - - var k = document.createElement("DIV"); - item.appendChild(k); - - if (!isNaN(data.inputLeft)) item.style.left = parseInt(data.inputLeft)+"px"; - if (!isNaN(data.inputTop)) item.style.top = parseInt(data.inputTop)+"px"; - if (data.inputWidth != "auto") if (!isNaN(data.inputWidth)) k.style.width = parseInt(data.inputWidth)+"px"; - - item._uploader = new dhtmlXFileUploader(k, data.swfPath||"", data.swfUrl||"", data.mode||null, data.swfLogs, data.slXap||"", data.slUrl||"", data.slLogs||"", data.multiple); - item._uploader.setURL(data.url||""); - item._uploader.callEvent = item.callEvent; - - if (typeof(data.autoStart) != "undefined") item._uploader.setAutoStart(data.autoStart); - if (typeof(data.autoRemove) != "undefined") item._uploader.setAutoRemove(data.autoRemove); - if (typeof(data.titleScreen) != "undefined") item._uploader.enableTitleScreen(data.titleScreen); - if (typeof(data.titleText) != "undefined") item._uploader.setTitleText(data.titleText); - - if (data.hidden == true) this.hide(item); - if (data.disabled == true) this.userDisable(item); - - if (!(data.inputHeight == "auto" || parseInt(data.inputHeight) == NaN)) - item._uploader.p_files.style.height = parseInt(data.inputHeight)+"px"; - - return this; - }, - - destruct: function(item) { - - this.doUnloadNestedLists(item); - - item._uploader.callEvent = null; - item._uploader.unload(); - item._uploader = null; - - item._checked = null; - item._enabled = null; - item._idd = null; - item._type = null; - - item.onselectstart = null; - - item._autoCheck = null; - item.callEvent = null; - item.checkEvent = null; - item.getForm = null; - - while (item.childNodes.length > 0) item.removeChild(item.childNodes[0]); - - item.parentNode.removeChild(item); - item = null; - - }, - - setText: function(item, text) { - - }, - - getText: function(item) { - - }, - - enable: function(item) { - item._enabled = true; - if (String(item.className).search("disabled") >= 0) item.className = String(item.className).replace(/disabled/gi,""); - item._uploader.enable(); - }, - - disable: function(item) { - item._enabled = false; - if (String(item.className).search("disabled") < 0) item.className += " disabled"; - item._uploader.disable(); - }, - - setWidth: function(item, width) { - item.childNodes[0].style.width = width+"px"; - item._width = width; - }, - - getWidth: function(item) { - return item._width||parseInt(item.childNodes[0].style.width); - }, - - setValue: function(item) { - item._uploader.clear(); - }, - - getValue: function(item) { - var t = item._uploader.getData(); - var r = {}; - var i = 0; - for (var a in t) { - r[item._idd+"_r_"+i] = t[a].realName; - r[item._idd+"_s_"+i] = t[a].serverName; - i++; - } - r[item._idd+"_count"] = i; - return r; - }, - - getUploader: function(item) { - return item._uploader; - }, - - getStatus: function(item) { - return item._uploader.getStatus(); - } -}; - -(function(){ - for (var a in {doUnloadNestedLists:1,isEnabled:1}) - dhtmlXForm.prototype.items.upload[a] = dhtmlXForm.prototype.items.checkbox[a]; -})(); - -dhtmlXForm.prototype.setFormData_upload = function(name) { - this.doWithItem(name, "setValue"); -}; - -dhtmlXForm.prototype.getUploader = function(name) { - return this.doWithItem(name, "getUploader"); -}; - -dhtmlXForm.prototype.getUploaderStatus = function(name) { - return this.doWithItem(name, "getStatus"); -}; - -/* uploader */ - -function dhtmlXFileUploader(p, swfPath, swfUrl, mode, swfLogs, slXap, slUrl, slLogs, multiple) { - - var that = this; - - if (typeof(mode) == "string" && typeof(this[mode]) == "function") { - this.engine = mode; - } else { - this.engine = "html4"; - - var k = null; - if (typeof(window.FormData) != "undefined" && typeof(window.XMLHttpRequest) != "undefined") { - k = new XMLHttpRequest(); - if (typeof(k.upload) == "undefined") k = null; - } - - if (k != null) { - // IE10, IE11, FF, Chrome, Opera - this.engine = "html5"; - } else if (typeof(window.swfobject) != "undefined" || k === false) { - var k = swfobject.getFlashPlayerVersion(); - if (k.major >= 10) this.engine = "flash"; - } else { - // check if silverlight installed - this._sl_v = this.getSLVersion(); - if (this._sl_v) this.engine = "sl"; - } - k = null; - } - - if (typeof(p) == "string") p = document.getElementById(p); - - this._upload_mp = (typeof(multiple) != "undefined" ? multiple==true : true); // multiple file select - this._upload_dnd = true; - - - // swf-file path - this._swf_file_url = swfPath||""; - this._swf_upolad_url = swfUrl||""; - this._swf_logs = swfLogs; - - // sl-data - this._sl_xap = slXap; - this._sl_upload_url = slUrl; - this._sl_logs = slLogs; - - // main cont - this.p = document.createElement("DIV"); - this.p.className += " dhx_file_uploader"; - p.appendChild(this.p); - - // files - this.p_files = document.createElement("DIV"); - this.p_files.className = "dhx_upload_files"; - this.p.appendChild(this.p_files); - - // buttons - this.p_controls = document.createElement("DIV"); - this.p_controls.className = "dhx_upload_controls"; - this.p.appendChild(this.p_controls); - - // init engine - - /* upload */ - - this._files = {}; - this._items = {}; - - this._data = {}; // uploaded files - - this._autoStart = false; - this._autoRemove = false; - this._titleScreen = true; - - this._enabled = true; - - this._uploaded_count = 0; - - this._initToolbar = function() { - - // add - this.b_opts = { - info: { onclick: null }, - browse: { onclick: null, tooltip: "Browse" }, - upload: { onclick: function() { if (!that._enabled) return; if (!that._uploading) { that._uploadStart(); } }, tooltip: "Upload" }, - cancel: { onclick: function() { if (!that._enabled) return; that._uploadStop(); that._switchButton(false); }, tooltip: "Stop" }, - clear: { onclick: function() { if (!that._enabled) return; that.clear(); }, tooltip: "Clear list" } - }; - - this.buttons = {}; - - for (var a in this.b_opts) { - var k = document.createElement("DIV"); - k.innerHTML = " "; - k.className = "dhx_file_uploader_button button_"+a; - k.onclick = this.b_opts[a].onclick; - if (this.b_opts[a].tooltip) k.title = this.b_opts[a].tooltip; - this.p_controls.appendChild(k); - this.buttons[a] = k; - k = null; - } - - this.buttons["cancel"].style.display = "none"; - } - - this._readableSize = function(t) { - var i = false; - var b = ["b","Kb","Mb","Gb","Tb","Pb","Eb"]; - for (var q=0; q 1024) t = t / 1024; else if (i === false) i = q; - if (i === false) i = b.length-1; - return Math.round(t*100)/100+" "+b[i]; - } - - this._beforeAddFileToList = function(name, size) { - return (this.callEvent("onBeforeFileAdd", [name, size])===true); - } - - this._addFileToList = function(id, name, size, state, progress) { - - this._checkTitleScreen(); - - var t = document.createElement("DIV"); - t._idd = id; - t.className = "dhx_file dhx_file_"+state; - t.innerHTML = "
               
              "+ - "
              "+progress+"%
              "+ - "
               
              "; - - this.p_files.appendChild(t); - - // filename area width - t.childNodes[0].style.width = t.offsetWidth-127+"px"; - - this._items[id] = t; - - this._updateFileNameSize(id); - - t.childNodes[2].onclick = function() { - if (!that._enabled) return; - var id = this.parentNode._idd; - that._removeFileFromQueue(id); - } - - this.callEvent("onFileAdd", [name]); - } - - this._removeFileFromList = function(id) { - - if (!this._items[id]) return; - - this._items[id].childNodes[2].onclick = null; - this._items[id].parentNode.removeChild(this._items[id]); - this._items[id] = null; - delete this._items[id]; - - if (this._data[id]) { - this._data[id] = null; - delete this._data[id]; - } - - this._checkTitleScreen(); - } - - this._updateFileNameSize = function(id) { - this._items[id].childNodes[0].innerHTML = this._files[id].name+(!isNaN(this._files[id].size)?" ("+this._readableSize(this._files[id].size)+")":" "); - this._items[id].childNodes[0].title = this._files[id].name+(!isNaN(this._files[id].size)?" ("+this._readableSize(this._files[id].size)+")":""); - } - - this._updateFileInList = function(id, state, progress) { - if (!this._items[id]) return; - this._items[id].className = "dhx_file dhx_file_"+state; - // progress - this._updateProgress(id, state, progress); - this._updateFileNameSize(id); - } - - this._updateProgress = function(id, state, progress) { - if (state == "uploading" && progress < 100 && this._progress_type == "loader") { - this._items[id].childNodes[1].className = "dhx_file_param dhx_file_uploading"; - this._items[id].childNodes[1].innerHTML = " "; - } else { - this._items[id].childNodes[1].className = "dhx_file_param dhx_file_progress"; - this._items[id].childNodes[1].innerHTML = progress+"%"; - } - this._updateFileNameSize(id); - } - - this._removeFilesByState = function(state) { - for (var a in this._files) { - if (state === true || this._files[a].state == state) { - this._removeFileFromQueue(a); - } - } - } - - this._switchButton = function(state) { - if (state == true) { - this.buttons["upload"].style.display = "none"; - this.buttons["cancel"].style.display = ""; - } else { - var t = this._uploaded_count; - this.buttons["upload"].style.display = ""; - this.buttons["cancel"].style.display = "none"; - this._uploaded_count = 0; - if (t > 0) this.callEvent("onUploadComplete",[t]); - } - } - - this._uploadStart = function() { - - this._switchButton(true); - - // change status for prev fail auploads if any - if (!this._uploading) { - for (var a in this._files) { - if (this._files[a].state == "fail") { - this._files[a].state = "added"; - this._updateFileInList(a, "added", 0); - } - } - } - - this._uploading = true; - - var t = false; - - for (var a in this._files) { - if (!t && [this._files[a].state] == "added") { - t = true; - this._files[a].state = "uploading"; - this._updateFileInList(a, "uploading", 0); - this._doUploadFile(a); - } - } - if (!t) { - this._uploading = false; - this._switchButton(false); - } - - } - - this._onUploadSuccess = function(id, serverName, r, extra) { - - // flash mode - if (typeof(r) != "undefined" && this.engine == "flash") { - dhx4.temp = null; - try {eval("dhx4.temp="+r.data);} catch(e){dhx4.temp=null;}; - var t = dhx4.temp; - dhx4.temp = null; - if (t != null && t.state == true && t.name != null) { - serverName = t.name; - if (t.extra != null) extra = t.extra; - } else { - this._onUploadFail(id, (t!=null&&t.extra!=null?t.extra:null)); - return; - } - } - - // - this._uploaded_count++; - this._data[id] = {realName: this._files[id].name, serverName: serverName}; - this._files[id].state = "uploaded"; - this._updateFileInList(id, "uploaded", 100); - this.callEvent("onUploadFile", [this._files[id].name, serverName, extra]); - if (this._autoRemove) this._removeFileFromQueue(id); - if (this._uploading) this._uploadStart(); - } - - this._onUploadFail = function(id, extra) { - this._files[id].state = "fail"; - this._updateFileInList(id, "fail", 0); - this.callEvent("onUploadFail", [this._files[id].name, extra]); - if (this._uploading) this._uploadStart(); - } - - this._onUploadAbort = function(id) { - this._uploading = false; - this._files[id].state = "added"; - this._updateFileInList(id, "added", 0); - this.callEvent("onUploadCancel",[this._files[id].name]); - } - - this._checkTitleScreen = function() { - var k = 0; - for (var a in this._files) k++; - - if (k == 0 && this.p.className.search("dhx_file_uploader_title") < 0 && this._titleScreen) { - // show title screen - this.p.className += " dhx_file_uploader_title"; - this.buttons["info"].innerHTML = this._titleText; - this.buttons["info"].style.width = Math.max(this.p_controls.offsetWidth-134, 0)+"px"; - } - if ((k > 0 || !this._titleScreen) && this.p.className.search("dhx_file_uploader_title") >= 0) { - // hide title screen - this.p.className = this.p.className.replace(/dhx_file_uploader_title/g,""); - this.buttons["info"].innerHTML = ""; - } - } - - // events - this.callEvent = function(){} - - // public - this.upload = function() { - if (!this._uploading) this._uploadStart(); - } - - this.setAutoStart = function(state) { - this._autoStart = (state==true); - } - - this.setAutoRemove = function(state) { - this._autoRemove = (state==true); - } - - this.enableTitleScreen = function(state) { - this._titleScreen = (state==true); - this._checkTitleScreen(); - } - - this.setTitleText = function(text) { - this._titleText = text; - if (this.p.className.search("dhx_file_uploader_title") >= 0) this.buttons["info"].innerHTML = this._titleText; - } - - this.setURL = function(url) { - this._url = url; - } - - this.setSWFURL = function(url) { - this._swf_upolad_url = url; - } - - this.enable = function() { - this._enabled = true; - this.p_files.className = "dhx_upload_files"; - this.p_controls.className = "dhx_upload_controls"; - } - - this.disable = function() { - this._enabled = false; - this.p_files.className = "dhx_upload_files dhx_uploader_dis"; - this.p_controls.className = "dhx_upload_controls dhx_uploader_dis"; - } - - this.getStatus = function() { - // 0 - filelist is empty - // 1 - all files in filelist uploaded - //-1 - not all files uploaded - var t = 0; - for (var a in this._files) { - if (this._files[a].state != "uploaded") return -1; - t = 1; - } - return t; - } - - this.getData = function() { - // return struct of uploaded files - return this._data; - } - - this.clear = function() { - if (this.callEvent("onBeforeClear", []) !== true) return; - if (this._uploading) that._uploadStop(); - that._switchButton(false); - that._removeFilesByState(true); - this.callEvent("onClear",[]); - } - - this.unload = function() { - - // remove all files from queue/list - this._removeFilesByState(true); - this._data = null; - this._files = null; - this._items = null; - - // custom engine stuff - this._unloadEngine(); - - // buttons - for (var a in this.buttons) { - this.buttons[a].onclick = null; - this.buttons[a].parentNode.removeChild(this.buttons[a]); - this.buttons[a] = null; - delete this.buttons[a]; - } - this.buttons = null; - - // buttons settings - for (var a in this.b_opts) { - this.b_opts[a].onclick = null; - this.b_opts[a] = null; - delete this.b_opts[a]; - } - this.b_opts = null; - - this.p_controls.parentNode.removeChild(this.p_controls); - this.p_files.parentNode.removeChild(this.p_files); - - // main container - this.p.className = this.p.className.replace(/dhx_file_uploader_title/gi,"").replace(/dhx_file_uploader/gi,""); - - for (var a in this) this[a] = null; - - that = a = null; - - } - - // init engine-relative funcs - var e = new this[this.engine](); - for (var a in e) { this[a] = e[a]; e[a] = null; } - a = e = p = null; - - // init app - this._initToolbar(); - this._initEngine(); - this._checkTitleScreen(); - - return this; - -} - -// html5 engine - -dhtmlXFileUploader.prototype.html5 = function(){}; - -dhtmlXFileUploader.prototype.html5.prototype = { - - _initEngine: function() { - - var that = this; - this.buttons["browse"].onclick = function(){ - if (that._enabled) that.f.click(); - } - - this._progress_type = "percentage"; - - // Safari on Windows sometimes have problem with multiple file selections - // file length set to zero, do not allow multiple file selecting - // d-n-d seems works fine - - var k = window.navigator.userAgent; - if (k.match(/Windows/gi) != null && k.match(/AppleWebKit/gi) != null && k.match(/Safari/gi) != null) { - if (k.match(/Version\/5\.1\.5/gi)) this._upload_mp = false; - if (k.match(/Version\/5\.1[^\.\d{1,}]/gi)) this._upload_dnd = false; - if (k.match(/Version\/5\.1\.1/gi)) { - this._upload_mp = false; - this._upload_dnd = false; - } - if (k.match(/Version\/5\.1\.2/gi)) this._upload_dnd = false; - if (k.match(/Version\/5\.1\.7/gi)) this._upload_mp = false; - } - - // "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-EN) AppleWebKit/533.21.1 (KHTML, like Gecko) Version/5.0.1 Safari/533.17.8" // ok, no dnd - // "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-EN) AppleWebKit/533.21.1 (KHTML, like Gecko) Version/5.0.2 Safari/533.18.5" // ok, no dnd - // "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-EN) AppleWebKit/533.21.1 (KHTML, like Gecko) Version/5.0.3 Safari/533.19.4" // ok, no dnd - // "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-EN) AppleWebKit/533.21.1 (KHTML, like Gecko) Version/5.0.4 Safari/533.20.27" // ok, no dnd - // "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-EN) AppleWebKit/533.21.1 (KHTML, like Gecko) Version/5.0.5 Safari/533.21.1" // ok, no dnd - // "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50" // ok, dnd partialy fail, disabled - // "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/534.52.7 (KHTML, like Gecko) Version/5.1.1 Safari/534.51.22" // multiple files add - fail, dnd partialy fail, disabled - // "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/534.52.7 (KHTML, like Gecko) Version/5.1.2 Safari/534.52.7" // ok, dnd partialy fail, disabled - // "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/534.54.16 (KHTML, like Gecko) Version/5.1.4 Safari/534.54.16" // ok - // "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/534.55.3 (KHTML, like Gecko) Version/5.1.5 Safari/534.55.3" // multiple files add - fail - // "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/534.57.2 (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2" // dnd - ok, multiselect - fail (Windows 8) - - // input - this._addFileInput(); - - // dnd - if (this._upload_dnd) { - - this.p.ondragenter = function(e){ - if (!e.dataTransfer) return; - e.stopPropagation(); - e.preventDefault(); - } - this.p.ondragover = function(e){ - if (!e.dataTransfer) return; - e.stopPropagation(); - e.preventDefault(); - } - this.p.ondrop = function(e) { - if (!e.dataTransfer) return; - e.stopPropagation(); - e.preventDefault(); - if (that._enabled) that._parseFilesInInput(e.dataTransfer.files); - } - - this._titleText = "Drag-n-Drop files here or
              click to select files for upload."; - - } else { - this._titleText = "Click to select files for upload."; - } - }, - - _addFileInput: function() { - - // complete input reload, opera needs - if (this.f != null) { - this.f.onchange = null; - this.f.parentNode.removeChild(this.f); - this.f = null; - } - - var that = this; - - this.f = document.createElement("INPUT"); - this.f.type = "file"; - - if (this._upload_mp) this.f.multiple = "1"; - this.f.className = "dhx_uploader_input"; - this.p_controls.appendChild(this.f); - - this.f.onchange = function() { - that._parseFilesInInput(this.files); - if (window.dhx4.isOpera) that._addFileInput(); else this.value = ""; - } - }, - - _doUploadFile: function(id) { - - var that = this; - - if (!this._loader) { - this._loader = new XMLHttpRequest(); - this._loader.upload.onprogress = function(e) { - if (that._files[this._idd].state == "uploading") that._updateFileInList(this._idd, "uploading", Math.round(e.loaded*100/e.total)); - } - this._loader.onload = function(e) { - dhx4.temp = null; - try {eval("dhx4.temp="+this.responseText);} catch(e){}; - var r = dhx4.temp; - dhx4.temp = null; - if (typeof(r) == "object" && r != null && typeof(r.state) != "undefined" && r.state == true) { - that._onUploadSuccess(this.upload._idd, r.name, null, r.extra); - r = null; - } else { - that._onUploadFail(this.upload._idd, (r!=null&&r.extra!=null?r.extra:null)); - } - } - this._loader.onerror = function(e) { - that._onUploadFail(this.upload._idd); - } - this._loader.onabort = function(e) { - that._onUploadAbort(this.upload._idd); - } - } - - this._loader.upload._idd = id; - - var form = new FormData(); - form.append("file", this._files[id].file); - - this._loader.open("POST", this._url+(String(this._url).indexOf("?")<0?"?":"&")+"mode=html5&dhxr"+new Date().getTime(), true); - this._loader.setRequestHeader("X-Requested-With", "XMLHttpRequest"); - this._loader.send(form); - - }, - - _uploadStop: function() { - if (!this._uploading || !this._loader) return; - this._loader.abort(); - }, - - _parseFilesInInput: function(f) { - for (var q=0; q'; - - this.fr = this.k.firstChild; - - if (window.navigator.userAgent.indexOf("MSIE") >= 0) { - this.fr.onreadystatechange = function() { - if (this.readyState == "complete") that._onLoad(); - } - } else { - this.fr.onload = function() { - that._onLoad(); - } - } - - } - - var f = document.createElement("DIV"); - f.innerHTML = "
              "+ - ""+ - ""+ - ""+ - "
              "; - this.k.appendChild(f); - - f.firstChild.lastChild._idd = id; - - f.firstChild.lastChild.onchange = function(){ - if (!that._beforeAddFileToList(this.value, null)) return; - that._addFileToQueue(this); - this.onchange = null; - this.parentNode.parentNode.style.display = "none"; - that._addForm(); - } - - f = null; - }, - - _onLoad: function() { - if (this._uploading) { - dhx4.temp = null; - try {eval("dhx4.temp="+this.fr.contentWindow.document.body.innerHTML);} catch(e){}; - var r = dhx4.temp; - dhx4.temp = null; - //this.fr.contentWindow.document.body.innerHTML = ""; - if (typeof(r) == "object" && r != null) { - if (typeof(r.state) != "undefined") { - if (r.state == "cancelled") { - this._onUploadAbort(this.fr._idd); - r = null; - return; - } else if (r.state == true) { - if (typeof(r.size) != "undefined" && !isNaN(r.size)) this._files[this.fr._idd].size = r.size; - this._onUploadSuccess(this.fr._idd, r.name, null, r.extra); - r = null; - return; - } - } - } - this._onUploadFail(this.fr._idd, (r!=null && r.extra != null ? r.extra:null)); - } - - }, - - _addFileToQueue: function(t) { - var v = t.value.match(/[^\\\/]*$/g); - if (v[0] != null) v = v[0]; else v = t.value; - // - this._files[t._idd] = { name: v, form: t.parentNode, node: t.parentNode.parentNode, input: t, state: "added"}; - this._addFileToList(t._idd, t.value, false, "added", 0); - if (this._autoStart && !this._uploading) this._uploadStart(true); - }, - - _removeFileFromQueue: function(id) { - - var name = this._files[id].name; - var serverName = (this._data!=null&&this._data[id]!=null?this._data[id].serverName:null); - - if (this.callEvent("onBeforeFileRemove",[name,serverName]) !== true) return; - - this._files[id].input.onchange = null; - this._files[id].form.removeChild(this._files[id].input); - this._files[id].node.removeChild(this._files[id].form); - this._files[id].node.parentNode.removeChild(this._files[id].node); - this._files[id].input = null; - this._files[id].name = null; - this._files[id].form = null; - this._files[id].node = null; - this._files[id].size = null; - this._files[id].state = null; - this._files[id] = null; - delete this._files[id]; - - this._removeFileFromList(id); - - this.callEvent("onFileRemove",[name,serverName]); - }, - - _doUploadFile: function(id) { - this.fr._idd = id; - this._files[id].form.action = this._url; - this._files[id].form.submit(); - }, - - _uploadStop: function() { - if (!this._uploading) return; - this.fr.contentWindow.location.href = (this._url)+(this._url.indexOf("?")<0?"?":"&")+"mode=html4&action=cancel&dhxr"+new Date().getTime(); - }, - - _unloadEngine: function() { - - if (this.k) { - - this.fr_name = null; - this.fr.onreadystatechange = null; - this.fr.onload = null; - this.fr.parentNode.removeChild(this.fr); - this.fr = null; - - // remove empty form - this.k.firstChild.firstChild.lastChild.onchange = null; - - this.k.parentNode.removeChild(this.k); - this.k = null; - - } - - this._initEngine = null; - this._addForm = null; - this._onLoad = null; - this._addFileToQueue = null; - this._removeFileFromQueue = null; - this._doUploadFile = null; - this._uploadStop = null; - this._unloadEngine = null; - - } - -}; - - -dhtmlXFileUploader.prototype.flash = function(){}; - -dhtmlXFileUploader.prototype.flash.prototype = { - - _initEngine: function() { - - if (!window.dhtmlXFileUploaderSWFObjects) { - window.dhtmlXFileUploaderSWFObjects = { - items: {}, - callEvent: function(id, name, params) { - //console.log(arguments) - return window.dhtmlXFileUploaderSWFObjects.items[id].uploader[name].apply(window.dhtmlXFileUploaderSWFObjects.items[id].uploader,params); - } - }; - } - - var that = this; - - this._swf_obj_id = "dhtmlXFileUploaderSWFObject_"+window.dhx4.newId(); - this._swf_file_url = this._swf_file_url+(this._swf_file_url.indexOf("?")>=0?"&":"?")+"dhxr"+new Date().getTime(); - this.buttons["browse"].innerHTML = "
              "; - swfobject.embedSWF(this._swf_file_url, this._swf_obj_id, "100%", "100%", "9", null, {ID:this._swf_obj_id,enableLogs:this._swf_logs}, {wmode:"transparent"}); - - var v = swfobject.getFlashPlayerVersion(); - this._titleText = "Engine successfuly inited
              Flash Player: "+v.major+"."+v.minor+"."+v.release; - - this._progress_type = "percentage"; - - window.dhtmlXFileUploaderSWFObjects.items[this._swf_obj_id] = {id: this._swf_obj_id, uploader: this}; - }, - - _beforeAddFileToQueue: function(name, size) { - return (this.callEvent("onBeforeFileAdd", [name, size])===true); - }, - - _addFileToQueue: function(id, name, size) { - if (window.dhx4.isIE) { - // focus+hide fix for IE - var k = document.createElement("INPUT"); - k.type = "TEXT"; - k.style.position = "absolute"; - k.style.left = "0px"; - k.style.top = window.dhx4.absTop(this.buttons["browse"])+"px"; - k.style.width = "10px"; - document.body.appendChild(k); - k.focus(); - document.body.removeChild(k); - k = null; - } - this._files[id] = {name: name, size: size, state: "added"}; - this._addFileToList(id, name, size, "added", 0); - if (this._autoStart && !this._uploading) this._uploadStart(true); - }, - - _removeFileFromQueue: function(id) { - - if (!this._files[id]) return; - - var name = this._files[id].name; - var serverName = (this._data!=null&&this._data[id]!=null?this._data[id].serverName:null); - - if (this.callEvent("onBeforeFileRemove",[name,serverName]) !== true) return; - - var k = false; - if (this._uploading && this._files[id].state == "uploading") { - this._uploadStop(); - k = true; - } - - swfobject.getObjectById(this._swf_obj_id).removeFileById(id); - - this._files[id].name = null; - this._files[id].size = null; - this._files[id].state = null; - this._files[id] = null; - delete this._files[id]; - - this._removeFileFromList(id); - - this.callEvent("onFileRemove",[name,serverName]); - - if (k) this._uploadStart(); - - }, - - _doUploadFile: function(id) { - swfobject.getObjectById(this._swf_obj_id).upload(id, this._swf_upolad_url); - }, - - _uploadStop: function(id) { - for (var a in this._files) if (this._files[a].state == "uploading") swfobject.getObjectById(this._swf_obj_id).uploadStop(a); - }, - - _unloadEngine: function() { - - // remove instance from global storage - - if (window.dhtmlXFileUploaderSWFObjects.items[this._swf_obj_id]) { - window.dhtmlXFileUploaderSWFObjects.items[this._swf_obj_id].id = null; - window.dhtmlXFileUploaderSWFObjects.items[this._swf_obj_id].uploader = null; - window.dhtmlXFileUploaderSWFObjects.items[this._swf_obj_id] = null - delete window.dhtmlXFileUploaderSWFObjects.items[this._swf_obj_id]; - } - - this._swf_obj_id = null; - - this._initEngine = null; - this._addFileToQueue = null; - this._removeFileFromQueue = null; - this._doUploadFile = null; - this._uploadStop = null; - this._unloadEngine = null; - } - -}; - -dhtmlXFileUploader.prototype.sl = function(){}; - -dhtmlXFileUploader.prototype.sl.prototype = { - - _initEngine: function() { - - if (typeof(this._sl_v) == "undefined") this._sl_v = this.getSLVersion(); - - if (!window.dhtmlXFileUploaderSLObjects) { - window.dhtmlXFileUploaderSLObjects = { - items: {}, - callEvent: function(id, name, params) { - //console.log(arguments) - window.dhtmlXFileUploaderSLObjects.items[id].uploader[name].apply(window.dhtmlXFileUploaderSLObjects.items[id].uploader,params); - } - }; - } - - //var that = this; - - this._sl_obj_id = "dhtmlXFileUploaderSLObject_"+window.dhx4.newId(); - - if (this._sl_v != false) { - this._titleText = "Engine successfuly inited
              Silverlight version: "+this._sl_v[0]+"."+this._sl_v[1]; - this.buttons["browse"].innerHTML = '
              '+ - ''+ - ''+ - ''+ - ''+ - ''+ - ''+ - ''+ - '
              '; - } else { - this._titleText = "Silverlight plugin not found
              or version less than 4.0"; - this.buttons["browse"].style.cursor = "wait"; - this.buttons["browse"].title = ""; - } - - this._progress_type = "percentage"; - - window.dhtmlXFileUploaderSLObjects.items[this._sl_obj_id] = {id: this._sl_obj_id, uploader: this}; - }, - - _addFileToQueue: function(id, name, size) { - this._files[id] = {name: name, size: size, state: "added"}; - this._addFileToList(id, name, size, "added", 0); - if (this._autoStart && !this._uploading) this._uploadStart(true); - }, - - _removeFileFromQueue: function(id) { - if (!this._files[id]) return; - - var k = false; - if (this._uploading && this._files[id].state == "uploading") { - this._uploadStop(); - k = true; - } - - document.getElementById([this._sl_obj_id]).Content.a.removeFileById(id); - - this._files[id].name = null; - this._files[id].size = null; - this._files[id].state = null; - this._files[id] = null; - delete this._files[id]; - - this._removeFileFromList(id); - - if (k) this._uploadStart(); - - }, - - _doUploadFile: function(id) { - document.getElementById(this._sl_obj_id).Content.a.upload(id, this._sl_upload_url, "&mode=sl&dhxr"+new Date().getTime()); // leading "&" required! - }, - - _uploadStop: function(id) { - this._uploading = false; - for (var a in this._files) if (this._files[a].state == "uploading") document.getElementById(this._sl_obj_id).Content.a.uploadStop(a); - }, - - _unloadEngine: function() { - - // remove instance from global storage - - if (window.dhtmlXFileUploaderSLObjects.items[this._sl_obj_id]) { - window.dhtmlXFileUploaderSLObjects.items[this._sl_obj_id].id = null; - window.dhtmlXFileUploaderSLObjects.items[this._sl_obj_id].uploader = null; - window.dhtmlXFileUploaderSLObjects.items[this._sl_obj_id] = null - delete window.dhtmlXFileUploaderSLObjects.items[this._sl_obj_id]; - } - - this._sl_obj_id = null; - - this._initEngine = null; - this._addFileToQueue = null; - this._removeFileFromQueue = null; - this._doUploadFile = null; - this._uploadStop = null; - this._unloadEngine = null; - } - -}; - -dhtmlXFileUploader.prototype.setSLURL = function(url) { - this._sl_upload_url = url; -}; - -dhtmlXFileUploader.prototype.getSLVersion = function() { - var v = false; - if (window.dhx4.isIE) { - try { - var t = new ActiveXObject('AgControl.AgControl'); - if (t != null) { - // loop through [4-x, 0-9] until supported - var k1 = 4, k2 = 0; - while (t.isVersionSupported([k1,k2].join("."))) { - v = [k1,k2]; - if (++k2 > 9) { k1++; k2=0; } - } - } - t = null; - } catch(e) {}; - } else { - if (navigator.plugins["Silverlight Plug-In"] != null) { - v = navigator.plugins["Silverlight Plug-In"].description.split("."); - } - } - return v; -}; diff --git a/themes/sources4.0/dhtmlxForm/codebase/ext/dhxupload.xap b/themes/sources4.0/dhtmlxForm/codebase/ext/dhxupload.xap deleted file mode 100644 index f2deecd..0000000 Binary files a/themes/sources4.0/dhtmlxForm/codebase/ext/dhxupload.xap and /dev/null differ diff --git a/themes/sources4.0/dhtmlxForm/codebase/ext/swfobject.js b/themes/sources4.0/dhtmlxForm/codebase/ext/swfobject.js deleted file mode 100644 index bf35c07..0000000 --- a/themes/sources4.0/dhtmlxForm/codebase/ext/swfobject.js +++ /dev/null @@ -1,777 +0,0 @@ -/*! SWFObject v2.2 - is released under the MIT License -*/ - -var swfobject = function() { - - var UNDEF = "undefined", - OBJECT = "object", - SHOCKWAVE_FLASH = "Shockwave Flash", - SHOCKWAVE_FLASH_AX = "ShockwaveFlash.ShockwaveFlash", - FLASH_MIME_TYPE = "application/x-shockwave-flash", - EXPRESS_INSTALL_ID = "SWFObjectExprInst", - ON_READY_STATE_CHANGE = "onreadystatechange", - - win = window, - doc = document, - nav = navigator, - - plugin = false, - domLoadFnArr = [main], - regObjArr = [], - objIdArr = [], - listenersArr = [], - storedAltContent, - storedAltContentId, - storedCallbackFn, - storedCallbackObj, - isDomLoaded = false, - isExpressInstallActive = false, - dynamicStylesheet, - dynamicStylesheetMedia, - autoHideShow = true, - - /* Centralized function for browser feature detection - - User agent string detection is only used when no good alternative is possible - - Is executed directly for optimal performance - */ - ua = function() { - var w3cdom = typeof doc.getElementById != UNDEF && typeof doc.getElementsByTagName != UNDEF && typeof doc.createElement != UNDEF, - u = nav.userAgent.toLowerCase(), - p = nav.platform.toLowerCase(), - windows = p ? /win/.test(p) : /win/.test(u), - mac = p ? /mac/.test(p) : /mac/.test(u), - webkit = /webkit/.test(u) ? parseFloat(u.replace(/^.*webkit\/(\d+(\.\d+)?).*$/, "$1")) : false, // returns either the webkit version or false if not webkit - ie = !+"\v1", // feature detection based on Andrea Giammarchi's solution: http://webreflection.blogspot.com/2009/01/32-bytes-to-know-if-your-browser-is-ie.html - playerVersion = [0,0,0], - d = null; - if (typeof nav.plugins != UNDEF && typeof nav.plugins[SHOCKWAVE_FLASH] == OBJECT) { - d = nav.plugins[SHOCKWAVE_FLASH].description; - if (d && !(typeof nav.mimeTypes != UNDEF && nav.mimeTypes[FLASH_MIME_TYPE] && !nav.mimeTypes[FLASH_MIME_TYPE].enabledPlugin)) { // navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin indicates whether plug-ins are enabled or disabled in Safari 3+ - plugin = true; - ie = false; // cascaded feature detection for Internet Explorer - d = d.replace(/^.*\s+(\S+\s+\S+$)/, "$1"); - playerVersion[0] = parseInt(d.replace(/^(.*)\..*$/, "$1"), 10); - playerVersion[1] = parseInt(d.replace(/^.*\.(.*)\s.*$/, "$1"), 10); - playerVersion[2] = /[a-zA-Z]/.test(d) ? parseInt(d.replace(/^.*[a-zA-Z]+(.*)$/, "$1"), 10) : 0; - } - } - else if (typeof win.ActiveXObject != UNDEF) { - try { - var a = new ActiveXObject(SHOCKWAVE_FLASH_AX); - if (a) { // a will return null when ActiveX is disabled - d = a.GetVariable("$version"); - if (d) { - ie = true; // cascaded feature detection for Internet Explorer - d = d.split(" ")[1].split(","); - playerVersion = [parseInt(d[0], 10), parseInt(d[1], 10), parseInt(d[2], 10)]; - } - } - } - catch(e) {} - } - return { w3:w3cdom, pv:playerVersion, wk:webkit, ie:ie, win:windows, mac:mac }; - }(), - - /* Cross-browser onDomLoad - - Will fire an event as soon as the DOM of a web page is loaded - - Internet Explorer workaround based on Diego Perini's solution: http://javascript.nwbox.com/IEContentLoaded/ - - Regular onload serves as fallback - */ - onDomLoad = function() { - if (!ua.w3) { return; } - if ((typeof doc.readyState != UNDEF && doc.readyState == "complete") || (typeof doc.readyState == UNDEF && (doc.getElementsByTagName("body")[0] || doc.body))) { // function is fired after onload, e.g. when script is inserted dynamically - callDomLoadFunctions(); - } - if (!isDomLoaded) { - if (typeof doc.addEventListener != UNDEF) { - doc.addEventListener("DOMContentLoaded", callDomLoadFunctions, false); - } - if (ua.ie && ua.win) { - doc.attachEvent(ON_READY_STATE_CHANGE, function() { - if (doc.readyState == "complete") { - doc.detachEvent(ON_READY_STATE_CHANGE, arguments.callee); - callDomLoadFunctions(); - } - }); - if (win == top) { // if not inside an iframe - (function(){ - if (isDomLoaded) { return; } - try { - doc.documentElement.doScroll("left"); - } - catch(e) { - setTimeout(arguments.callee, 0); - return; - } - callDomLoadFunctions(); - })(); - } - } - if (ua.wk) { - (function(){ - if (isDomLoaded) { return; } - if (!/loaded|complete/.test(doc.readyState)) { - setTimeout(arguments.callee, 0); - return; - } - callDomLoadFunctions(); - })(); - } - addLoadEvent(callDomLoadFunctions); - } - }(); - - function callDomLoadFunctions() { - if (isDomLoaded) { return; } - try { // test if we can really add/remove elements to/from the DOM; we don't want to fire it too early - var t = doc.getElementsByTagName("body")[0].appendChild(createElement("span")); - t.parentNode.removeChild(t); - } - catch (e) { return; } - isDomLoaded = true; - var dl = domLoadFnArr.length; - for (var i = 0; i < dl; i++) { - domLoadFnArr[i](); - } - } - - function addDomLoadEvent(fn) { - if (isDomLoaded) { - fn(); - } - else { - domLoadFnArr[domLoadFnArr.length] = fn; // Array.push() is only available in IE5.5+ - } - } - - /* Cross-browser onload - - Based on James Edwards' solution: http://brothercake.com/site/resources/scripts/onload/ - - Will fire an event as soon as a web page including all of its assets are loaded - */ - function addLoadEvent(fn) { - if (typeof win.addEventListener != UNDEF) { - win.addEventListener("load", fn, false); - } - else if (typeof doc.addEventListener != UNDEF) { - doc.addEventListener("load", fn, false); - } - else if (typeof win.attachEvent != UNDEF) { - addListener(win, "onload", fn); - } - else if (typeof win.onload == "function") { - var fnOld = win.onload; - win.onload = function() { - fnOld(); - fn(); - }; - } - else { - win.onload = fn; - } - } - - /* Main function - - Will preferably execute onDomLoad, otherwise onload (as a fallback) - */ - function main() { - if (plugin) { - testPlayerVersion(); - } - else { - matchVersions(); - } - } - - /* Detect the Flash Player version for non-Internet Explorer browsers - - Detecting the plug-in version via the object element is more precise than using the plugins collection item's description: - a. Both release and build numbers can be detected - b. Avoid wrong descriptions by corrupt installers provided by Adobe - c. Avoid wrong descriptions by multiple Flash Player entries in the plugin Array, caused by incorrect browser imports - - Disadvantage of this method is that it depends on the availability of the DOM, while the plugins collection is immediately available - */ - function testPlayerVersion() { - var b = doc.getElementsByTagName("body")[0]; - var o = createElement(OBJECT); - o.setAttribute("type", FLASH_MIME_TYPE); - var t = b.appendChild(o); - if (t) { - var counter = 0; - (function(){ - if (typeof t.GetVariable != UNDEF) { - var d = t.GetVariable("$version"); - if (d) { - d = d.split(" ")[1].split(","); - ua.pv = [parseInt(d[0], 10), parseInt(d[1], 10), parseInt(d[2], 10)]; - } - } - else if (counter < 10) { - counter++; - setTimeout(arguments.callee, 10); - return; - } - b.removeChild(o); - t = null; - matchVersions(); - })(); - } - else { - matchVersions(); - } - } - - /* Perform Flash Player and SWF version matching; static publishing only - */ - function matchVersions() { - var rl = regObjArr.length; - if (rl > 0) { - for (var i = 0; i < rl; i++) { // for each registered object element - var id = regObjArr[i].id; - var cb = regObjArr[i].callbackFn; - var cbObj = {success:false, id:id}; - if (ua.pv[0] > 0) { - var obj = getElementById(id); - if (obj) { - if (hasPlayerVersion(regObjArr[i].swfVersion) && !(ua.wk && ua.wk < 312)) { // Flash Player version >= published SWF version: Houston, we have a match! - setVisibility(id, true); - if (cb) { - cbObj.success = true; - cbObj.ref = getObjectById(id); - cb(cbObj); - } - } - else if (regObjArr[i].expressInstall && canExpressInstall()) { // show the Adobe Express Install dialog if set by the web page author and if supported - var att = {}; - att.data = regObjArr[i].expressInstall; - att.width = obj.getAttribute("width") || "0"; - att.height = obj.getAttribute("height") || "0"; - if (obj.getAttribute("class")) { att.styleclass = obj.getAttribute("class"); } - if (obj.getAttribute("align")) { att.align = obj.getAttribute("align"); } - // parse HTML object param element's name-value pairs - var par = {}; - var p = obj.getElementsByTagName("param"); - var pl = p.length; - for (var j = 0; j < pl; j++) { - if (p[j].getAttribute("name").toLowerCase() != "movie") { - par[p[j].getAttribute("name")] = p[j].getAttribute("value"); - } - } - showExpressInstall(att, par, id, cb); - } - else { // Flash Player and SWF version mismatch or an older Webkit engine that ignores the HTML object element's nested param elements: display alternative content instead of SWF - displayAltContent(obj); - if (cb) { cb(cbObj); } - } - } - } - else { // if no Flash Player is installed or the fp version cannot be detected we let the HTML object element do its job (either show a SWF or alternative content) - setVisibility(id, true); - if (cb) { - var o = getObjectById(id); // test whether there is an HTML object element or not - if (o && typeof o.SetVariable != UNDEF) { - cbObj.success = true; - cbObj.ref = o; - } - cb(cbObj); - } - } - } - } - } - - function getObjectById(objectIdStr) { - var r = null; - var o = getElementById(objectIdStr); - if (o && o.nodeName == "OBJECT") { - if (typeof o.SetVariable != UNDEF) { - r = o; - } - else { - var n = o.getElementsByTagName(OBJECT)[0]; - if (n) { - r = n; - } - } - } - return r; - } - - /* Requirements for Adobe Express Install - - only one instance can be active at a time - - fp 6.0.65 or higher - - Win/Mac OS only - - no Webkit engines older than version 312 - */ - function canExpressInstall() { - return !isExpressInstallActive && hasPlayerVersion("6.0.65") && (ua.win || ua.mac) && !(ua.wk && ua.wk < 312); - } - - /* Show the Adobe Express Install dialog - - Reference: http://www.adobe.com/cfusion/knowledgebase/index.cfm?id=6a253b75 - */ - function showExpressInstall(att, par, replaceElemIdStr, callbackFn) { - isExpressInstallActive = true; - storedCallbackFn = callbackFn || null; - storedCallbackObj = {success:false, id:replaceElemIdStr}; - var obj = getElementById(replaceElemIdStr); - if (obj) { - if (obj.nodeName == "OBJECT") { // static publishing - storedAltContent = abstractAltContent(obj); - storedAltContentId = null; - } - else { // dynamic publishing - storedAltContent = obj; - storedAltContentId = replaceElemIdStr; - } - att.id = EXPRESS_INSTALL_ID; - if (typeof att.width == UNDEF || (!/%$/.test(att.width) && parseInt(att.width, 10) < 310)) { att.width = "310"; } - if (typeof att.height == UNDEF || (!/%$/.test(att.height) && parseInt(att.height, 10) < 137)) { att.height = "137"; } - doc.title = doc.title.slice(0, 47) + " - Flash Player Installation"; - var pt = ua.ie && ua.win ? "ActiveX" : "PlugIn", - fv = "MMredirectURL=" + encodeURI(window.location).toString().replace(/&/g,"%26") + "&MMplayerType=" + pt + "&MMdoctitle=" + doc.title; - if (typeof par.flashvars != UNDEF) { - par.flashvars += "&" + fv; - } - else { - par.flashvars = fv; - } - // IE only: when a SWF is loading (AND: not available in cache) wait for the readyState of the object element to become 4 before removing it, - // because you cannot properly cancel a loading SWF file without breaking browser load references, also obj.onreadystatechange doesn't work - if (ua.ie && ua.win && obj.readyState != 4) { - var newObj = createElement("div"); - replaceElemIdStr += "SWFObjectNew"; - newObj.setAttribute("id", replaceElemIdStr); - obj.parentNode.insertBefore(newObj, obj); // insert placeholder div that will be replaced by the object element that loads expressinstall.swf - obj.style.display = "none"; - (function(){ - if (obj.readyState == 4) { - obj.parentNode.removeChild(obj); - } - else { - setTimeout(arguments.callee, 10); - } - })(); - } - createSWF(att, par, replaceElemIdStr); - } - } - - /* Functions to abstract and display alternative content - */ - function displayAltContent(obj) { - if (ua.ie && ua.win && obj.readyState != 4) { - // IE only: when a SWF is loading (AND: not available in cache) wait for the readyState of the object element to become 4 before removing it, - // because you cannot properly cancel a loading SWF file without breaking browser load references, also obj.onreadystatechange doesn't work - var el = createElement("div"); - obj.parentNode.insertBefore(el, obj); // insert placeholder div that will be replaced by the alternative content - el.parentNode.replaceChild(abstractAltContent(obj), el); - obj.style.display = "none"; - (function(){ - if (obj.readyState == 4) { - obj.parentNode.removeChild(obj); - } - else { - setTimeout(arguments.callee, 10); - } - })(); - } - else { - obj.parentNode.replaceChild(abstractAltContent(obj), obj); - } - } - - function abstractAltContent(obj) { - var ac = createElement("div"); - if (ua.win && ua.ie) { - ac.innerHTML = obj.innerHTML; - } - else { - var nestedObj = obj.getElementsByTagName(OBJECT)[0]; - if (nestedObj) { - var c = nestedObj.childNodes; - if (c) { - var cl = c.length; - for (var i = 0; i < cl; i++) { - if (!(c[i].nodeType == 1 && c[i].nodeName == "PARAM") && !(c[i].nodeType == 8)) { - ac.appendChild(c[i].cloneNode(true)); - } - } - } - } - } - return ac; - } - - /* Cross-browser dynamic SWF creation - */ - function createSWF(attObj, parObj, id) { - var r, el = getElementById(id); - if (ua.wk && ua.wk < 312) { return r; } - if (el) { - if (typeof attObj.id == UNDEF) { // if no 'id' is defined for the object element, it will inherit the 'id' from the alternative content - attObj.id = id; - } - if (ua.ie && ua.win) { // Internet Explorer + the HTML object element + W3C DOM methods do not combine: fall back to outerHTML - var att = ""; - for (var i in attObj) { - if (attObj[i] != Object.prototype[i]) { // filter out prototype additions from other potential libraries - if (i.toLowerCase() == "data") { - parObj.movie = attObj[i]; - } - else if (i.toLowerCase() == "styleclass") { // 'class' is an ECMA4 reserved keyword - att += ' class="' + attObj[i] + '"'; - } - else if (i.toLowerCase() != "classid") { - att += ' ' + i + '="' + attObj[i] + '"'; - } - } - } - var par = ""; - for (var j in parObj) { - if (parObj[j] != Object.prototype[j]) { // filter out prototype additions from other potential libraries - par += ''; - } - } - el.outerHTML = '' + par + ''; - objIdArr[objIdArr.length] = attObj.id; // stored to fix object 'leaks' on unload (dynamic publishing only) - r = getElementById(attObj.id); - } - else { // well-behaving browsers - var o = createElement(OBJECT); - o.setAttribute("type", FLASH_MIME_TYPE); - for (var m in attObj) { - if (attObj[m] != Object.prototype[m]) { // filter out prototype additions from other potential libraries - if (m.toLowerCase() == "styleclass") { // 'class' is an ECMA4 reserved keyword - o.setAttribute("class", attObj[m]); - } - else if (m.toLowerCase() != "classid") { // filter out IE specific attribute - o.setAttribute(m, attObj[m]); - } - } - } - for (var n in parObj) { - if (parObj[n] != Object.prototype[n] && n.toLowerCase() != "movie") { // filter out prototype additions from other potential libraries and IE specific param element - createObjParam(o, n, parObj[n]); - } - } - el.parentNode.replaceChild(o, el); - r = o; - } - } - return r; - } - - function createObjParam(el, pName, pValue) { - var p = createElement("param"); - p.setAttribute("name", pName); - p.setAttribute("value", pValue); - el.appendChild(p); - } - - /* Cross-browser SWF removal - - Especially needed to safely and completely remove a SWF in Internet Explorer - */ - function removeSWF(id) { - var obj = getElementById(id); - if (obj && obj.nodeName == "OBJECT") { - if (ua.ie && ua.win) { - obj.style.display = "none"; - (function(){ - if (obj.readyState == 4) { - removeObjectInIE(id); - } - else { - setTimeout(arguments.callee, 10); - } - })(); - } - else { - obj.parentNode.removeChild(obj); - } - } - } - - function removeObjectInIE(id) { - var obj = getElementById(id); - if (obj) { - for (var i in obj) { - if (typeof obj[i] == "function") { - obj[i] = null; - } - } - obj.parentNode.removeChild(obj); - } - } - - /* Functions to optimize JavaScript compression - */ - function getElementById(id) { - var el = null; - try { - el = doc.getElementById(id); - } - catch (e) {} - return el; - } - - function createElement(el) { - return doc.createElement(el); - } - - /* Updated attachEvent function for Internet Explorer - - Stores attachEvent information in an Array, so on unload the detachEvent functions can be called to avoid memory leaks - */ - function addListener(target, eventType, fn) { - target.attachEvent(eventType, fn); - listenersArr[listenersArr.length] = [target, eventType, fn]; - } - - /* Flash Player and SWF content version matching - */ - function hasPlayerVersion(rv) { - var pv = ua.pv, v = rv.split("."); - v[0] = parseInt(v[0], 10); - v[1] = parseInt(v[1], 10) || 0; // supports short notation, e.g. "9" instead of "9.0.0" - v[2] = parseInt(v[2], 10) || 0; - return (pv[0] > v[0] || (pv[0] == v[0] && pv[1] > v[1]) || (pv[0] == v[0] && pv[1] == v[1] && pv[2] >= v[2])) ? true : false; - } - - /* Cross-browser dynamic CSS creation - - Based on Bobby van der Sluis' solution: http://www.bobbyvandersluis.com/articles/dynamicCSS.php - */ - function createCSS(sel, decl, media, newStyle) { - if (ua.ie && ua.mac) { return; } - var h = doc.getElementsByTagName("head")[0]; - if (!h) { return; } // to also support badly authored HTML pages that lack a head element - var m = (media && typeof media == "string") ? media : "screen"; - if (newStyle) { - dynamicStylesheet = null; - dynamicStylesheetMedia = null; - } - if (!dynamicStylesheet || dynamicStylesheetMedia != m) { - // create dynamic stylesheet + get a global reference to it - var s = createElement("style"); - s.setAttribute("type", "text/css"); - s.setAttribute("media", m); - dynamicStylesheet = h.appendChild(s); - if (ua.ie && ua.win && typeof doc.styleSheets != UNDEF && doc.styleSheets.length > 0) { - dynamicStylesheet = doc.styleSheets[doc.styleSheets.length - 1]; - } - dynamicStylesheetMedia = m; - } - // add style rule - if (ua.ie && ua.win) { - if (dynamicStylesheet && typeof dynamicStylesheet.addRule == OBJECT) { - dynamicStylesheet.addRule(sel, decl); - } - } - else { - if (dynamicStylesheet && typeof doc.createTextNode != UNDEF) { - dynamicStylesheet.appendChild(doc.createTextNode(sel + " {" + decl + "}")); - } - } - } - - function setVisibility(id, isVisible) { - if (!autoHideShow) { return; } - var v = isVisible ? "visible" : "hidden"; - if (isDomLoaded && getElementById(id)) { - getElementById(id).style.visibility = v; - } - else { - createCSS("#" + id, "visibility:" + v); - } - } - - /* Filter to avoid XSS attacks - */ - function urlEncodeIfNecessary(s) { - var regex = /[\\\"<>\.;]/; - var hasBadChars = regex.exec(s) != null; - return hasBadChars && typeof encodeURIComponent != UNDEF ? encodeURIComponent(s) : s; - } - - /* Release memory to avoid memory leaks caused by closures, fix hanging audio/video threads and force open sockets/NetConnections to disconnect (Internet Explorer only) - */ - var cleanup = function() { - if (ua.ie && ua.win) { - window.attachEvent("onunload", function() { - // remove listeners to avoid memory leaks - var ll = listenersArr.length; - for (var i = 0; i < ll; i++) { - listenersArr[i][0].detachEvent(listenersArr[i][1], listenersArr[i][2]); - } - // cleanup dynamically embedded objects to fix audio/video threads and force open sockets and NetConnections to disconnect - var il = objIdArr.length; - for (var j = 0; j < il; j++) { - removeSWF(objIdArr[j]); - } - // cleanup library's main closures to avoid memory leaks - for (var k in ua) { - ua[k] = null; - } - ua = null; - for (var l in swfobject) { - swfobject[l] = null; - } - swfobject = null; - }); - } - }(); - - return { - /* Public API - - Reference: http://code.google.com/p/swfobject/wiki/documentation - */ - registerObject: function(objectIdStr, swfVersionStr, xiSwfUrlStr, callbackFn) { - if (ua.w3 && objectIdStr && swfVersionStr) { - var regObj = {}; - regObj.id = objectIdStr; - regObj.swfVersion = swfVersionStr; - regObj.expressInstall = xiSwfUrlStr; - regObj.callbackFn = callbackFn; - regObjArr[regObjArr.length] = regObj; - setVisibility(objectIdStr, false); - } - else if (callbackFn) { - callbackFn({success:false, id:objectIdStr}); - } - }, - - getObjectById: function(objectIdStr) { - if (ua.w3) { - return getObjectById(objectIdStr); - } - }, - - embedSWF: function(swfUrlStr, replaceElemIdStr, widthStr, heightStr, swfVersionStr, xiSwfUrlStr, flashvarsObj, parObj, attObj, callbackFn) { - var callbackObj = {success:false, id:replaceElemIdStr}; - if (ua.w3 && !(ua.wk && ua.wk < 312) && swfUrlStr && replaceElemIdStr && widthStr && heightStr && swfVersionStr) { - setVisibility(replaceElemIdStr, false); - addDomLoadEvent(function() { - widthStr += ""; // auto-convert to string - heightStr += ""; - var att = {}; - if (attObj && typeof attObj === OBJECT) { - for (var i in attObj) { // copy object to avoid the use of references, because web authors often reuse attObj for multiple SWFs - att[i] = attObj[i]; - } - } - att.data = swfUrlStr; - att.width = widthStr; - att.height = heightStr; - var par = {}; - if (parObj && typeof parObj === OBJECT) { - for (var j in parObj) { // copy object to avoid the use of references, because web authors often reuse parObj for multiple SWFs - par[j] = parObj[j]; - } - } - if (flashvarsObj && typeof flashvarsObj === OBJECT) { - for (var k in flashvarsObj) { // copy object to avoid the use of references, because web authors often reuse flashvarsObj for multiple SWFs - if (typeof par.flashvars != UNDEF) { - par.flashvars += "&" + k + "=" + flashvarsObj[k]; - } - else { - par.flashvars = k + "=" + flashvarsObj[k]; - } - } - } - if (hasPlayerVersion(swfVersionStr)) { // create SWF - var obj = createSWF(att, par, replaceElemIdStr); - if (att.id == replaceElemIdStr) { - setVisibility(replaceElemIdStr, true); - } - callbackObj.success = true; - callbackObj.ref = obj; - } - else if (xiSwfUrlStr && canExpressInstall()) { // show Adobe Express Install - att.data = xiSwfUrlStr; - showExpressInstall(att, par, replaceElemIdStr, callbackFn); - return; - } - else { // show alternative content - setVisibility(replaceElemIdStr, true); - } - if (callbackFn) { callbackFn(callbackObj); } - }); - } - else if (callbackFn) { callbackFn(callbackObj); } - }, - - switchOffAutoHideShow: function() { - autoHideShow = false; - }, - - ua: ua, - - getFlashPlayerVersion: function() { - return { major:ua.pv[0], minor:ua.pv[1], release:ua.pv[2] }; - }, - - hasFlashPlayerVersion: hasPlayerVersion, - - createSWF: function(attObj, parObj, replaceElemIdStr) { - if (ua.w3) { - return createSWF(attObj, parObj, replaceElemIdStr); - } - else { - return undefined; - } - }, - - showExpressInstall: function(att, par, replaceElemIdStr, callbackFn) { - if (ua.w3 && canExpressInstall()) { - showExpressInstall(att, par, replaceElemIdStr, callbackFn); - } - }, - - removeSWF: function(objElemIdStr) { - if (ua.w3) { - removeSWF(objElemIdStr); - } - }, - - createCSS: function(selStr, declStr, mediaStr, newStyleBoolean) { - if (ua.w3) { - createCSS(selStr, declStr, mediaStr, newStyleBoolean); - } - }, - - addDomLoadEvent: addDomLoadEvent, - - addLoadEvent: addLoadEvent, - - getQueryParamValue: function(param) { - var q = doc.location.search || doc.location.hash; - if (q) { - if (/\?/.test(q)) { q = q.split("?")[1]; } // strip question mark - if (param == null) { - return urlEncodeIfNecessary(q); - } - var pairs = q.split("&"); - for (var i = 0; i < pairs.length; i++) { - if (pairs[i].substring(0, pairs[i].indexOf("=")) == param) { - return urlEncodeIfNecessary(pairs[i].substring((pairs[i].indexOf("=") + 1))); - } - } - } - return ""; - }, - - // For internal usage only - expressInstallCallback: function() { - if (isExpressInstallActive) { - var obj = getElementById(EXPRESS_INSTALL_ID); - if (obj && storedAltContent) { - obj.parentNode.replaceChild(storedAltContent, obj); - if (storedAltContentId) { - setVisibility(storedAltContentId, true); - if (ua.ie && ua.win) { storedAltContent.style.display = "block"; } - } - if (storedCallbackFn) { storedCallbackFn(storedCallbackObj); } - } - isExpressInstallActive = false; - } - } - }; -}(); diff --git a/themes/sources4.0/dhtmlxForm/codebase/ext/uploader.swf b/themes/sources4.0/dhtmlxForm/codebase/ext/uploader.swf deleted file mode 100644 index b64e142..0000000 Binary files a/themes/sources4.0/dhtmlxForm/codebase/ext/uploader.swf and /dev/null differ diff --git a/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_arrow_down.gif b/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_arrow_down.gif deleted file mode 100644 index c64d8c0..0000000 Binary files a/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_arrow_down.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_arrow_down_dis.gif b/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_arrow_down_dis.gif deleted file mode 100644 index 2bc7b78..0000000 Binary files a/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_arrow_down_dis.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_chbxrd.png b/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_chbxrd.png deleted file mode 100644 index 7f29274..0000000 Binary files a/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_chbxrd.png and /dev/null differ diff --git a/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_check_off.svg b/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_check_off.svg deleted file mode 100644 index 5222697..0000000 --- a/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_check_off.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_check_on.svg b/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_check_on.svg deleted file mode 100644 index 4d890b0..0000000 --- a/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_check_on.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_image_calendar.png b/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_image_calendar.png deleted file mode 100644 index 86e4ab7..0000000 Binary files a/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_image_calendar.png and /dev/null differ diff --git a/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_image_calendar_dis.png b/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_image_calendar_dis.png deleted file mode 100644 index 9e2a2ac..0000000 Binary files a/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_image_calendar_dis.png and /dev/null differ diff --git a/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_image_uploading.gif b/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_image_uploading.gif deleted file mode 100644 index 7c30859..0000000 Binary files a/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_image_uploading.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_radio_off.svg b/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_radio_off.svg deleted file mode 100644 index be6199e..0000000 --- a/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_radio_off.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_radio_on.svg b/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_radio_on.svg deleted file mode 100644 index 76c4912..0000000 --- a/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_radio_on.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_upload_buttons.png b/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_upload_buttons.png deleted file mode 100644 index 9eea772..0000000 Binary files a/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_upload_buttons.png and /dev/null differ diff --git a/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_upload_uploading.gif b/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_upload_uploading.gif deleted file mode 100644 index ca190eb..0000000 Binary files a/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_material/dhxform_upload_uploading.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_skyblue/dhxform_chbxrd.gif b/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_skyblue/dhxform_chbxrd.gif deleted file mode 100644 index d176df1..0000000 Binary files a/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_skyblue/dhxform_chbxrd.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_skyblue/dhxform_image_uploading.gif b/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_skyblue/dhxform_image_uploading.gif deleted file mode 100644 index 1df5c43..0000000 Binary files a/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_skyblue/dhxform_image_uploading.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_skyblue/dhxform_upload_buttons.gif b/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_skyblue/dhxform_upload_buttons.gif deleted file mode 100644 index 96a9b8a..0000000 Binary files a/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_skyblue/dhxform_upload_buttons.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_skyblue/dhxform_upload_uploading.gif b/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_skyblue/dhxform_upload_uploading.gif deleted file mode 100644 index fbdfbdd..0000000 Binary files a/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_skyblue/dhxform_upload_uploading.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_terrace/dhxform_chbxrd.gif b/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_terrace/dhxform_chbxrd.gif deleted file mode 100644 index a713332..0000000 Binary files a/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_terrace/dhxform_chbxrd.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_terrace/dhxform_image_uploading.gif b/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_terrace/dhxform_image_uploading.gif deleted file mode 100644 index 7c30859..0000000 Binary files a/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_terrace/dhxform_image_uploading.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_terrace/dhxform_upload_buttons.gif b/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_terrace/dhxform_upload_buttons.gif deleted file mode 100644 index 21a2311..0000000 Binary files a/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_terrace/dhxform_upload_buttons.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_terrace/dhxform_upload_uploading.gif b/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_terrace/dhxform_upload_uploading.gif deleted file mode 100644 index ca190eb..0000000 Binary files a/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_terrace/dhxform_upload_uploading.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_web/dhxform_chbxrd.gif b/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_web/dhxform_chbxrd.gif deleted file mode 100644 index f366b99..0000000 Binary files a/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_web/dhxform_chbxrd.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_web/dhxform_image_uploading.gif b/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_web/dhxform_image_uploading.gif deleted file mode 100644 index ff9a5e6..0000000 Binary files a/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_web/dhxform_image_uploading.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_web/dhxform_upload_buttons.gif b/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_web/dhxform_upload_buttons.gif deleted file mode 100644 index 9afdc8d..0000000 Binary files a/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_web/dhxform_upload_buttons.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_web/dhxform_upload_uploading.gif b/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_web/dhxform_upload_uploading.gif deleted file mode 100644 index ca190eb..0000000 Binary files a/themes/sources4.0/dhtmlxForm/codebase/imgs/dhxform_web/dhxform_upload_uploading.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxForm/codebase/skins/dhtmlxform_dhx_skyblue.css b/themes/sources4.0/dhtmlxForm/codebase/skins/dhtmlxform_dhx_skyblue.css deleted file mode 100644 index 54687e0..0000000 --- a/themes/sources4.0/dhtmlxForm/codebase/skins/dhtmlxform_dhx_skyblue.css +++ /dev/null @@ -1,738 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* skin detected, extra file: skins/dhx_skyblue.less */ - -.dhxform_obj_dhx_skyblue { - font-family: Tahoma; - float: left; - line-height: normal; -} -.dhxform_obj_dhx_skyblue div.dhxform_base { - position: relative; - float: left; -} -.dhxform_obj_dhx_skyblue.dhxform_rtl div.dhxform_base { - float: right; -} -.dhxform_obj_dhx_skyblue div.dhxform_base_nested { - padding: 0px 0px 0px 0px; - clear: both; - *display: inline-block; -} -.dhxform_obj_dhx_skyblue.dhxform_rtl div.dhxform_base_nested { - padding: 0px 0px 0px 0px; -} -.dhxform_obj_dhx_skyblue.dhxform_block { - clear: both; -} -.dhxform_obj_dhx_skyblue div.block_dhxform_item_label_left { - display: block; - clear: both; - *clear: none; -} -.dhxform_obj_dhx_skyblue div.dhxform_label div.dhxform_label_nav_link, -.dhxform_obj_dhx_skyblue div.dhxform_label div.dhxform_label_nav_link:visited, -.dhxform_obj_dhx_skyblue div.dhxform_label div.dhxform_label_nav_link:active, -.dhxform_obj_dhx_skyblue div.dhxform_label div.dhxform_label_nav_link:hover { - outline: none; - text-decoration: none; - color: inherit; - cursor: default; - overflow: hidden; - white-space: normal; - apadding-top: 1px; -} -.dhxform_obj_dhx_skyblue div.dhxform_label div.dhxform_label_nav_link:focus { - color: #305f87; -} -.dhxform_obj_dhx_skyblue div.disabled span.nav_link { - color: inherit; -} -.dhxform_obj_dhx_skyblue div.dhxform_img, -.dhxform_obj_dhx_skyblue div.dhxform_actv_c, -.dhxform_obj_dhx_skyblue div.dhxform_actv_r { - width: 18px; - height: 18px; - font-size: 1px; -} -.dhxform_obj_dhx_skyblue div.dhxform_img.chbx0, -.dhxform_obj_dhx_skyblue div.dhxform_img.chbx1, -.dhxform_obj_dhx_skyblue div.disabled div.dhxform_img.chbx0, -.dhxform_obj_dhx_skyblue div.disabled div.dhxform_img.chbx1, -.dhxform_obj_dhx_skyblue div.dhxform_img.rdbt0, -.dhxform_obj_dhx_skyblue div.dhxform_img.rdbt1, -.dhxform_obj_dhx_skyblue div.disabled div.dhxform_img.rdbt0, -.dhxform_obj_dhx_skyblue div.disabled div.dhxform_img.rdbt1, -.dhxform_obj_dhx_skyblue div.dhxform_actv_c.chbx0, -.dhxform_obj_dhx_skyblue div.dhxform_actv_c.chbx1, -.dhxform_obj_dhx_skyblue div.dhxform_actv_r.rdbt0, -.dhxform_obj_dhx_skyblue div.dhxform_actv_r.rdbt1 { - background-image: url("../imgs/dhxform_skyblue/dhxform_chbxrd.gif"); - background-repeat: no-repeat; -} -.dhxform_obj_dhx_skyblue div.dhxform_actv_c.chbx0 { - background-position: -162px 0px; -} -.dhxform_obj_dhx_skyblue div.dhxform_actv_c.chbx1 { - background-position: -144px 0px; -} -.dhxform_obj_dhx_skyblue div.dhxform_actv_r.rdbt0 { - background-position: -198px 0px; -} -.dhxform_obj_dhx_skyblue div.dhxform_actv_r.rdbt1 { - background-position: -180px 0px; -} -.dhxform_obj_dhx_skyblue div.dhxform_img.chbx0 { - background-position: -18px 0px; -} -.dhxform_obj_dhx_skyblue div.dhxform_img.chbx1 { - background-position: 0px 0px; -} -.dhxform_obj_dhx_skyblue div.disabled div.dhxform_img.chbx0 { - background-position: -54px 0px; -} -.dhxform_obj_dhx_skyblue div.disabled div.dhxform_img.chbx1 { - background-position: -36px 0px; -} -.dhxform_obj_dhx_skyblue div.dhxform_img.rdbt0 { - background-position: -90px 0px; -} -.dhxform_obj_dhx_skyblue div.dhxform_img.rdbt1 { - background-position: -72px 0px; -} -.dhxform_obj_dhx_skyblue div.disabled div.dhxform_img.rdbt0 { - background-position: -126px 0px; -} -.dhxform_obj_dhx_skyblue div.disabled div.dhxform_img.rdbt1 { - background-position: -108px 0px; -} -.dhxform_obj_dhx_skyblue div.dhxform_label { - font-family: inherit; - font-size: inherit; - color: black; - overflow-x: hidden; - overflow: hidden; - white-space: normal; -} -.dhxform_obj_dhx_skyblue div.dhxform_label.dhxform_label_align_left { - text-align: left; -} -.dhxform_obj_dhx_skyblue.dhxform_rtl div.dhxform_label.dhxform_label_align_left { - text-align: right; -} -.dhxform_obj_dhx_skyblue div.dhxform_label.dhxform_label_align_center { - text-align: center; -} -.dhxform_obj_dhx_skyblue div.dhxform_label.dhxform_label_align_right { - text-align: right; -} -.dhxform_obj_dhx_skyblue.dhxform_rtl div.dhxform_label.dhxform_label_align_right { - text-align: left; -} -.dhxform_obj_dhx_skyblue div.disabled div.dhxform_label, -.dhxform_obj_dhx_skyblue div.disabled div.dhxform_label div.dhxform_label_nav_link, -.dhxform_obj_dhx_skyblue div.disabled div.dhxform_label span.dhxform_item_required { - color: #b2b2b2; -} -.dhxform_obj_dhx_skyblue div.dhxform_label span.dhxform_item_required { - margin-left: 5px; - margin-right: 0px; - color: red; -} -.dhxform_obj_dhx_skyblue.dhxform_rtl div.dhxform_label span.dhxform_item_required { - margin-left: 0px; - margin-right: 5px; -} -.dhxform_obj_dhx_skyblue input.dhxform_textarea { - padding: 4px 3px !important; - margin: 0px; - font-size: 1em; -} -.dhxform_obj_dhx_skyblue textarea.dhxform_textarea { - padding: 4px 3px !important; -} -.dhxform_obj_dhx_skyblue .dhxform_textarea { - border: 1px solid #a4bed4; - font-family: Tahoma; - font-size: 1em; - color: black; - resize: none; -} -.dhxform_obj_dhx_skyblue div.disabled .dhxform_textarea { - color: #b2b2b2; - background-color: white; - border: 1px solid #c2d0dd; -} -.dhxform_obj_dhx_skyblue.dhxform_rtl .dhxform_textarea { - text-align: right; - direction: rtl; -} -.dhxform_obj_dhx_skyblue div.dhxform_control.dhxform_img_node { - position: relative; -} -.dhxform_obj_dhx_skyblue div.dhxform_control.dhxform_img_node .dhxform_textarea { - border: 1px solid white; - background-color: white; - color: white; - visibility: hidden; - *height: 1px; - *line-height: 1px; - *display: inline; -} -.dhxform_obj_dhx_skyblue div.dhxform_control.dhxform_img_node div.dhxform_img, -.dhxform_obj_dhx_skyblue div.dhxform_control.dhxform_img_node div.dhxform_actv_c, -.dhxform_obj_dhx_skyblue div.dhxform_control.dhxform_img_node div.dhxform_actv_r { - float: none; - top: 2px; - left: 2px; - position: absolute; - margin: 0px; -} -.dhxform_obj_dhx_skyblue.dhxform_rtl div.dhxform_control.dhxform_img_node div.dhxform_img { - float: none; - top: 2px; - left: 0px; - position: absolute; - margin: 0px; -} -.dhxform_obj_dhx_skyblue .dhxform_select { - border: 1px solid #a4bed4; - background-color: #ffffff; - margin: 0px; - padding: 3px 2px 3px 0px; - font-family: Tahoma; - font-size: 1em; - color: black; -} -.dhxform_obj_dhx_skyblue .dhxform_select option { - padding-left: 2px; -} -.dhxform_obj_dhx_skyblue div.disabled .dhxform_select { - color: #b2b2b2; - background-color: #ffffff; - border: 1px solid #c2d0dd; -} -.dhxform_obj_dhx_skyblue.dhxform_rtl select, -.dhxform_obj_dhx_skyblue.dhxform_rtl option { - direction: rtl; -} -.dhxform_obj_dhx_skyblue div.fs_dhxform_item_label_left { - padding: 5px 0px 5px 0px; -} -.dhxform_obj_dhx_skyblue div.fs_dhxform_item_label_left fieldset.dhxform_fs div.dhxform_base_nested.dhxform_fs_nested { - margin-right: 19px; - margin-left: 5px; -} -.dhxform_obj_dhx_skyblue fieldset.dhxform_fs { - border: 1px solid #a4bed4; - margin: 0px; - padding: 5px 0 12px 0px; - clear: left; - width: 100%; -} -.dhxform_obj_dhx_skyblue div.disabled fieldset.dhxform_fs { - border: 1px solid #c2d0dd; -} -.dhxform_obj_dhx_skyblue fieldset.dhxform_fs legend.fs_legend { - font-family: Tahoma; - font-size: inherit; - color: #7099bb; - font-weight: normal; - padding: 0px 4px 1px 4px; - margin-left: 5px; - text-align: left; -} -.dhxform_obj_dhx_skyblue.dhxform_rtl fieldset.dhxform_fs legend.fs_legend { - text-align: right; -} -.dhxform_obj_dhx_skyblue div.disabled fieldset.dhxform_fs legend.fs_legend { - color: #b2b2b2; -} -.dhxform_obj_dhx_skyblue div.dhxform_item_label_right { - clear: both; - padding-top: 6px; - cursor: default; - *float: left; - *display: inline-block; -} -.dhxform_obj_dhx_skyblue div.dhxform_item_label_right div.dhxform_img, -.dhxform_obj_dhx_skyblue div.dhxform_item_label_right div.dhxform_actv_c, -.dhxform_obj_dhx_skyblue div.dhxform_item_label_right div.dhxform_actv_r { - float: left; - margin: 0px; -} -.dhxform_obj_dhx_skyblue.dhxform_rtl div.dhxform_item_label_right div.dhxform_img { - float: right; - margin: 0px; -} -.dhxform_obj_dhx_skyblue div.dhxform_item_label_right div.dhxform_label { - float: left; - padding: 2px 0px 2px 0px; - margin: 2px 0 2px 0px; -} -.dhxform_obj_dhx_skyblue.dhxform_rtl div.dhxform_item_label_right div.dhxform_label { - float: right; -} -.dhxform_obj_dhx_skyblue div.dhxform_item_label_right div.dhxform_control { - float: left; - margin-right: 3px; - margin-left: 0px; - *display: inline; -} -.dhxform_obj_dhx_skyblue.dhxform_rtl div.dhxform_item_label_right div.dhxform_control { - float: right; - margin-right: 0px; - margin-left: 3px; - *display: inline; -} -.dhxform_obj_dhx_skyblue div.dhxform_item_label_left { - clear: both; - padding-top: 6px; - cursor: default; - *float: left; - *display: inline-block; -} -.dhxform_obj_dhx_skyblue div.dhxform_item_label_left div.dhxform_img, -.dhxform_obj_dhx_skyblue div.dhxform_item_label_left div.dhxform_actv_c, -.dhxform_obj_dhx_skyblue div.dhxform_item_label_left div.dhxform_actv_r { - float: right; - amargin: 3px 1px 0px 5px; -} -.dhxform_obj_dhx_skyblue.dhxform_rtl div.dhxform_item_label_left div.dhxform_img { - float: left; - amargin: 3px 5px 0px 1px; -} -.dhxform_obj_dhx_skyblue div.dhxform_item_label_left div.dhxform_label { - float: left; - padding: 2px 0px 2px 0px; - margin: 2px 0px 2px 0px; -} -.dhxform_obj_dhx_skyblue.dhxform_rtl div.dhxform_item_label_left div.dhxform_label { - float: right; -} -.dhxform_obj_dhx_skyblue div.dhxform_item_label_left div.dhxform_control { - float: left; - padding-left: 4px; - padding-right: 0px; -} -.dhxform_obj_dhx_skyblue.dhxform_rtl div.dhxform_item_label_left div.dhxform_control { - float: right; - padding-right: 4px; - padding-left: 0px; -} -.dhxform_obj_dhx_skyblue div.dhxform_item_label_top { - clear: both; -} -.dhxform_obj_dhx_skyblue div.dhxform_item_label_top div.dhxform_label { - float: none; - margin-bottom: 5px; - margin-top: 8px; -} -.dhxform_obj_dhx_skyblue div.dhxform_item_label_top div.dhxform_control { - float: none; - margin-left: 0px; - margin-bottom: 5px; -} -.dhxform_obj_dhx_skyblue.dhxform_rtl div.dhxform_item_label_top div.dhxform_control { - float: none; - margin-right: 0px; -} -.dhxform_obj_dhx_skyblue div.dhxform_item_absolute { - position: absolute; - left: 0px; - top: 0px; - cursor: default; -} -.dhxform_obj_dhx_skyblue div.item_absolute div.dhxform_img, -.dhxform_obj_dhx_skyblue div.item_absolute div.dhxform_actv_c, -.dhxform_obj_dhx_skyblue div.item_absolute div.dhxform_actv_r { - position: absolute; -} -.dhxform_obj_dhx_skyblue div.dhxform_item_absolute div.dhxform_control, -.dhxform_obj_dhx_skyblue div.dhxform_item_absolute div.dhxform_label, -.dhxform_obj_dhx_skyblue div.dhxform_item_absolute div.dhxform_control.dhxform_img_node, -.dhxform_obj_dhx_skyblue div.dhxform_item_absolute div.dhxform_txt_label2, -.dhxform_obj_dhx_skyblue div.dhxform_item_absolute div.dhxform_btn, -.dhxform_obj_dhx_skyblue div.block_item_absolute div.dhxform_block { - position: absolute; -} -.dhxform_obj_dhx_skyblue div.dhxform_txt_label2 { - font-family: Tahoma; - font-size: inherit; - color: #7099bb; - font-weight: bold; - margin: 0px 3px; - padding: 5px 0px; - cursor: default; -} -.dhxform_obj_dhx_skyblue div.disabled div.dhxform_txt_label2 { - color: #b2b8bc; -} -.dhxform_obj_dhx_skyblue div.dhxform_btn { - font-family: Tahoma; - font-size: inherit; - color: black; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; - border: 1px solid #a4bed4; - background-color: #e2efff; - background: linear-gradient(#e2efff,#d3e7ff); - filter: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e2efff,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100); - margin: 5px 2px; - border-radius: 2px; - float: left; - cursor: default; - clear: both; -} -.dhxform_obj_dhx_skyblue.dhxform_rtl div.dhxform_btn { - float: right; -} -.dhxform_obj_dhx_skyblue div.dhxform_btn.dhxform_btn_over { - background-color: #f1f7ff; - background: linear-gradient(#f1f7ff,#e2efff); - filter: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#f1f7ff,endColorStr=#e2efff) progid:DXImageTransform.Microsoft.Alpha(opacity=100); -} -.dhxform_obj_dhx_skyblue div.dhxform_btn.dhxform_btn_pressed { - background-color: #d2e7fe; - background: linear-gradient(#d2e7fe,#d3e7ff); - filter: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#d2e7fe,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100); - box-shadow: 0 0 5px rgba(127,127,127,0.15) inset; -} -.dhxform_obj_dhx_skyblue div.disabled div.dhxform_btn { - border-color: #cccccc; - background-color: #f9f9f9; - background: linear-gradient(#f9f9f9,#f1f1f1); - filter: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#f9f9f9,endColorStr=#f1f1f1) progid:DXImageTransform.Microsoft.Alpha(opacity=100); - box-shadow: 0 0 5px rgba(127,127,127,0.15) inset; -} -.dhxform_obj_dhx_skyblue div.dhxform_btn div.dhxform_btn_txt { - float: left; - margin: 0px 20px; - height: 24px; - line-height: 23px; - text-align: center; - vertical-align: middle; - overflow: hidden; - white-space: nowrap; - *display: inline; -} -.dhxform_obj_dhx_skyblue div.disabled div.dhxform_btn div.dhxform_btn_txt { - color: #999999 !important; -} -.dhxform_obj_dhx_skyblue div.dhxform_btn:focus { - outline: 1px dotted #909090; -} -.dhxform_obj_dhx_skyblue div.dhxform_control div.dhxform_note { - font-family: Tahoma; - font-size: 0.8em; - color: #808080; - padding-bottom: 3px; - white-space: normal; -} -.dhxform_obj_dhx_skyblue div.disabled div.dhxform_control div.dhxform_note { - color: #b2b2b2; -} -.dhxform_obj_dhx_skyblue div.dhxform_label span.dhxform_info { - font-family: Tahoma; - font-size: 0.6em; - color: #808080; - margin-left: 3px; - padding-bottom: 2px; - line-height: 100%; - vertical-align: middle; - cursor: pointer; -} -.dhxform_obj_dhx_skyblue .validate_error .dhxform_label, -.dhxform_obj_dhx_skyblue .validate_error .dhxform_textarea, -.dhxform_obj_dhx_skyblue .validate_error .dhxform_select, -.dhxform_obj_dhx_skyblue .validate_error div.dhxform_label_nav_link, -.dhxform_obj_dhx_skyblue .validate_error div.dhxform_label div.dhxform_label_nav_link:focus { - color: red; -} -.dhxform_obj_dhx_skyblue div.disabled .dhx_combo_box.dhx_skyblue { - border: 1px solid #c2d0dd; -} -.dhxform_obj_dhx_skyblue div.disabled .dhx_combo_box.dhx_skyblue .dhx_combo_input { - color: #b2b2b2; - background-color: #ffffff; -} -.dhxform_obj_dhx_skyblue div.dhxform_item_template.dhxeditor_dhx_skyblue div.dhx_cell_editor div.dhx_cell_stb { - border-left: 1px solid #a4bed4; - border-right: 1px solid #a4bed4; - border-top: 1px solid #a4bed4; -} -.dhxform_obj_dhx_skyblue div.dhxform_item_template.dhxeditor_dhx_skyblue div.dhx_cell_editor div.dhx_cell_cont_editor { - border-left: 1px solid #a4bed4; - border-right: 1px solid #a4bed4; - border-bottom: 1px solid #a4bed4; -} -.dhxform_obj_dhx_skyblue div.dhxform_item_template.dhxeditor_dhx_skyblue div.dhxcont_content_blocker { - display: none; -} -.dhxform_obj_dhx_skyblue div.disabled div.dhxform_item_template.dhxeditor_dhx_skyblue div.dhxcont_content_blocker { - display: inline; - position: absolute; - width: 100%; - height: 100%; - top: 0px; - left: 0px; - background-color: #fefefe; - opacity: 0.7; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=70); -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader { - position: relative; - width: 100%; - margin-bottom: 4px; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls { - position: relative; - width: 100%; - height: 35px; - font-size: 2px; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button { - position: absolute; - width: 19px; - height: 19px; - top: 8px; - background-image: url("../imgs/dhxform_skyblue/dhxform_upload_buttons.gif"); - background-repeat: no-repeat; - font-size: 2px; - cursor: pointer; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_info { - display: none; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_browse { - background-position: 0px 0px; - right: 108px; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_upload { - background-position: -19px 0px; - right: 79px; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_cancel { - background-position: -57px 0px; - right: 79px; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_clear { - background-position: -38px 0px; - right: 50px; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls .dhx_uploader_input { - position: absolute; - left: -1000px; - top: 0px; - visibility: hidden; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls div.dhx_file_form_cont { - position: absolute; - width: 19px; - height: 19px; - left: 0px; - top: 0px; - cursor: pointer; - overflow: hidden; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls div.dhx_file_form_cont form.dhx_file_form { - position: absolute; - top: 0px; - right: 0px; - cursor: pointer; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls div.dhx_file_form_cont form.dhx_file_form .dhx_file_input { - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); - cursor: pointer; - outline: none; - height: 19px; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files { - position: relative; - width: 100%; - left: 0px; - top: 0px; - overflow: auto; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files div.dhx_file { - position: relative; - width: 100%; - height: 25px; - overflow: hidden; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_added, -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_uploading { - color: black; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_uploaded { - color: #30678a; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_fail { - color: #e94a4a; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files div.dhx_file_param { - position: absolute; - font-family: inherit; - font-size: inherit; - color: inherit; - top: 0px; - height: 25px; - line-height: 25px; - vertical-align: middle; - overflow: hidden; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_name { - left: 20px; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_progress { - right: 50px; - width: 38px; - text-align: right; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_delete { - right: 30px; - width: 11px; - background-image: url("../imgs/dhxform_skyblue/dhxform_upload_buttons.gif"); - background-position: -76px 0px; - background-repeat: no-repeat; - cursor: pointer; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_uploading { - right: 50px; - width: 38px; - text-align: right; - background-image: url("../imgs/dhxform_skyblue/dhxform_upload_uploading.gif"); - background-position: center center; - background-repeat: no-repeat; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls { - height: 60px; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_files { - display: none; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_info { - display: inline; - background-image: none; - font-family: Tahoma; - font-size: 13px; - color: #a1a1a1; - height: auto; - top: 0px; - left: 35px; - vertical-align: top; - padding-top: 6px; - line-height: 20px; - cursor: default; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_browse { - top: 0px; - width: 54px; - height: 54px; - right: 35px; - background-image: url("../imgs/dhxform_skyblue/dhxform_upload_buttons.gif"); - background-position: 0px -38px; - background-repeat: no-repeat; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_upload, -.dhxform_obj_dhx_skyblue .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_cancel, -.dhxform_obj_dhx_skyblue .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_clear { - display: none; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_form_cont { - width: 54px; - height: 54px; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_form_cont form.dhx_file_form .dhx_file_input { - height: 54px; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_info, -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_added, -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_uploading, -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_uploaded, -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_fail { - color: #b2b2b2; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_browse { - background-position: -54px -38px; - cursor: default; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_form_cont { - display: none; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button { - cursor: default; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_browse { - background-position: 0px -19px; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_upload { - background-position: -19px -19px; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_cancel { - background-position: -57px -19px; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_clear { - background-position: -38px -19px; -} -.dhxform_obj_dhx_skyblue .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file_param.dhx_file_delete { - background-position: -87px 0px; - cursor: default; -} -.dhtmlx_skin_dhx_skyblue div.dhtmlx_wins_body_inner .dhxform_obj_dhx_skyblue { - background-color: white; -} -.dhxform_obj_dhx_skyblue div.dhxform_control .dhx_combo_box.dhx_skyblue .dhx_combo_input, -.dhx_combo_list.dhx_skyblue_list div { - font-size: 1em !important; -} -div.dhx_form_skin_detect { - position: absolute; - display: block; - visibility: hidden; - left: -100px; - top: 0px; - width: 10px; - height: 10px; - margin: 0px; - padding: 0px; - border: none; - overflow: hidden; -} diff --git a/themes/sources4.0/dhtmlxForm/codebase/skins/dhtmlxform_dhx_terrace.css b/themes/sources4.0/dhtmlxForm/codebase/skins/dhtmlxform_dhx_terrace.css deleted file mode 100644 index 7cf7426..0000000 --- a/themes/sources4.0/dhtmlxForm/codebase/skins/dhtmlxform_dhx_terrace.css +++ /dev/null @@ -1,709 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* skin detected, extra file: skins/dhx_terrace.less */ - -.dhxform_obj_dhx_terrace { - font-family: Arial; - float: left; - line-height: normal; -} -.dhxform_obj_dhx_terrace div.dhxform_base { - position: relative; - float: left; -} -.dhxform_obj_dhx_terrace div.dhxform_base_nested { - padding: 0px 0px 0px 0px; - clear: both; - *display: inline-block; -} -.dhxform_obj_dhx_terrace.dhxform_block { - clear: both; -} -.dhxform_obj_dhx_terrace div.block_dhxform_item_label_left { - display: block; - clear: both; - *clear: none; -} -.dhxform_obj_dhx_terrace div.dhxform_label div.dhxform_label_nav_link, -.dhxform_obj_dhx_terrace div.dhxform_label div.dhxform_label_nav_link:visited, -.dhxform_obj_dhx_terrace div.dhxform_label div.dhxform_label_nav_link:active, -.dhxform_obj_dhx_terrace div.dhxform_label div.dhxform_label_nav_link:hover { - outline: 0px solid white; - text-decoration: none; - color: inherit; - cursor: default; - overflow: hidden; - white-space: normal; -} -.dhxform_obj_dhx_terrace div.dhxform_label div.dhxform_label_nav_link:focus { - color: #bfbfbf; -} -.dhxform_obj_dhx_terrace div.disabled span.nav_link { - color: inherit; -} -.dhxform_obj_dhx_terrace div.dhxform_img { - width: 18px; - height: 18px; - font-size: 1px; -} -.dhxform_obj_dhx_terrace div.dhxform_actv_c { - width: 15px; - height: 15px; - box-shadow: 0 0 3px #909090; -} -.dhxform_obj_dhx_terrace div.dhxform_actv_r { - width: 15px; - height: 15px; - box-shadow: 0 0 3px #999999; - border-radius: 11px; -} -.dhxform_obj_dhx_terrace div.dhxform_img.chbx0, -.dhxform_obj_dhx_terrace div.dhxform_img.chbx1, -.dhxform_obj_dhx_terrace div.disabled div.dhxform_img.chbx0, -.dhxform_obj_dhx_terrace div.disabled div.dhxform_img.chbx1, -.dhxform_obj_dhx_terrace div.dhxform_img.rdbt0, -.dhxform_obj_dhx_terrace div.dhxform_img.rdbt1, -.dhxform_obj_dhx_terrace div.disabled div.dhxform_img.rdbt0, -.dhxform_obj_dhx_terrace div.disabled div.dhxform_img.rdbt1, -.dhxform_obj_dhx_terrace div.dhxform_actv_c.chbx0, -.dhxform_obj_dhx_terrace div.dhxform_actv_c.chbx1, -.dhxform_obj_dhx_terrace div.dhxform_actv_r.rdbt0, -.dhxform_obj_dhx_terrace div.dhxform_actv_r.rdbt1 { - background-image: url("../imgs/dhxform_terrace/dhxform_chbxrd.gif"); - background-repeat: no-repeat; -} -.dhxform_obj_dhx_terrace div.dhxform_img.chbx0 { - background-position: -18px 0px; -} -.dhxform_obj_dhx_terrace div.dhxform_img.chbx1 { - background-position: 0px 0px; -} -.dhxform_obj_dhx_terrace div.disabled div.dhxform_img.chbx0 { - background-position: -54px 0px; -} -.dhxform_obj_dhx_terrace div.disabled div.dhxform_img.chbx1 { - background-position: -36px 0px; -} -.dhxform_obj_dhx_terrace div.dhxform_img.rdbt0 { - background-position: -90px 0px; -} -.dhxform_obj_dhx_terrace div.dhxform_img.rdbt1 { - background-position: -72px 0px; -} -.dhxform_obj_dhx_terrace div.disabled div.dhxform_img.rdbt0 { - background-position: -126px 0px; -} -.dhxform_obj_dhx_terrace div.disabled div.dhxform_img.rdbt1 { - background-position: -108px 0px; -} -.dhxform_obj_dhx_terrace div.dhxform_actv_c.chbx0 { - background-position: -164px -2px; -} -.dhxform_obj_dhx_terrace div.dhxform_actv_c.chbx1 { - background-position: -146px -2px; -} -.dhxform_obj_dhx_terrace div.dhxform_actv_r.rdbt0 { - background-position: -200px -2px; -} -.dhxform_obj_dhx_terrace div.dhxform_actv_r.rdbt1 { - background-position: -182px -2px; -} -.dhxform_obj_dhx_terrace div.dhxform_label { - font-family: Arial; - font-size: inherit; - color: black; - overflow-x: hidden; - overflow: hidden; - white-space: normal; -} -.dhxform_obj_dhx_terrace div.dhxform_label.dhxform_label_align_left { - text-align: left; -} -.dhxform_obj_dhx_terrace div.dhxform_label.dhxform_label_align_center { - text-align: center; -} -.dhxform_obj_dhx_terrace div.dhxform_label.dhxform_label_align_right { - text-align: right; -} -.dhxform_obj_dhx_terrace div.disabled div.dhxform_label, -.dhxform_obj_dhx_terrace div.disabled div.dhxform_label div.dhxform_label_nav_link, -.dhxform_obj_dhx_terrace div.disabled div.dhxform_label span.dhxform_item_required { - color: #bbbbbb; -} -.dhxform_obj_dhx_terrace div.dhxform_label span.dhxform_item_required { - margin-left: 5px; - color: red; -} -.dhxform_obj_dhx_terrace input.dhxform_textarea, -.dhxform_obj_dhx_terrace textarea.dhxform_textarea { - padding: 4px 2px !important; - margin: 0px; - font-size: 1em; - background-color: white; -} -.dhxform_obj_dhx_terrace input.dhxform_textarea:focus, -.dhxform_obj_dhx_terrace textarea.dhxform_textarea:focus { - box-shadow: 0 0 3px #c0c0c0; - border: 1px solid #bfbfbf; - outline: none; -} -.dhxform_obj_dhx_terrace .dhxform_textarea { - border: 1px solid #cccccc; - font-family: Arial; - font-size: 1em; - color: black; - resize: none; -} -.dhxform_obj_dhx_terrace div.disabled .dhxform_textarea { - color: #bbbbbb; - background-color: #f0f0f0; - border: 1px solid #d4d4d4; -} -.dhxform_obj_dhx_terrace div.dhxform_control.dhxform_img_node { - position: relative; -} -.dhxform_obj_dhx_terrace div.dhxform_control.dhxform_img_node .dhxform_textarea { - border: 1px solid white; - background-color: white; - color: white; - visibility: hidden; - *height: 1px; - *line-height: 1px; - *display: inline; -} -.dhxform_obj_dhx_terrace div.dhxform_control.dhxform_img_node div.dhxform_img { - float: none; - top: 3px; - left: 0px; - position: absolute; - margin: 0px; -} -.dhxform_obj_dhx_terrace div.dhxform_control.dhxform_img_node div.dhxform_actv_c, -.dhxform_obj_dhx_terrace div.dhxform_control.dhxform_img_node div.dhxform_actv_r { - float: none; - top: 5px; - left: 2px; - position: absolute; - margin: 0px; - *top: 3px; - *left: 0px; -} -.dhxform_obj_dhx_terrace .dhxform_select { - border: 1px solid #cccccc; - background-color: white; - font-family: Arial; - font-size: 1em; - color: black; - margin: 0px; - padding: 3px 2px 2px 0px !important; - line-height: 100%; - vertical-align: middle; -} -.dhxform_obj_dhx_terrace .dhxform_select option { - padding-left: 2px; -} -.dhxform_obj_dhx_terrace div.disabled .dhxform_select { - color: #bbbbbb; - background-color: #f0f0f0; - border: 1px solid #d4d4d4; -} -.dhxform_obj_dhx_terrace .dhxform_select option { - padding: 1px 2px; -} -.dhxform_obj_dhx_terrace .dhxform_select:focus { - box-shadow: 0 0 3px #c0c0c0; - border: 1px solid #bfbfbf; - outline: none; -} -.dhxform_obj_dhx_terrace div.fs_dhxform_item_label_left { - padding: 5px 0px 5px 0px; -} -.dhxform_obj_dhx_terrace div.fs_dhxform_item_label_left fieldset.dhxform_fs div.dhxform_base_nested.dhxform_fs_nested { - margin-right: 19px; - margin-left: 5px; -} -.dhxform_obj_dhx_terrace fieldset.dhxform_fs { - border: 1px solid #cccccc; - margin: 0px; - padding: 5px 0px 12px 0px; - clear: left; - width: 100%; - border-radius: 3px; -} -.dhxform_obj_dhx_terrace div.disabled fieldset.dhxform_fs { - border: 1px solid #d4d4d4; -} -.dhxform_obj_dhx_terrace fieldset.dhxform_fs legend.fs_legend { - font-family: Arial; - font-size: inherit; - color: #bfbfbf; - font-weight: normal; - padding: 0px 4px 1px 4px; - margin-left: 5px; - text-align: left; -} -.dhxform_obj_dhx_terrace div.disabled fieldset.dhxform_fs legend.fs_legend { - color: #bbbbbb; -} -.dhxform_obj_dhx_terrace div.dhxform_item_label_right { - clear: both; - padding-top: 7px; - cursor: default; - *float: left; - *display: inline-block; -} -.dhxform_obj_dhx_terrace div.dhxform_item_label_right div.dhxform_img, -.dhxform_obj_dhx_terrace div.dhxform_item_label_right div.dhxform_actv_c, -.dhxform_obj_dhx_terrace div.dhxform_item_label_right div.dhxform_actv_r { - float: left; - margin: 0px; -} -.dhxform_obj_dhx_terrace div.dhxform_item_label_right div.dhxform_label { - float: left; - padding: 2px 0px 1px 0px; - margin: 2px 0px 2px 0px; - *padding-top: 0px; - *display: inline-block; -} -.dhxform_obj_dhx_terrace div.dhxform_item_label_right div.dhxform_control { - float: left; - margin-right: 3px; -} -.dhxform_obj_dhx_terrace div.dhxform_item_label_left { - clear: both; - padding-top: 7px; - cursor: default; - *float: left; - *display: inline-block; -} -.dhxform_obj_dhx_terrace div.dhxform_item_label_left div.dhxform_img, -.dhxform_obj_dhx_terrace div.dhxform_item_label_left div.dhxform_actv_c, -.dhxform_obj_dhx_terrace div.dhxform_item_label_left div.dhxform_actv_r { - float: right; - margin: 3px 1px 0px 5px; -} -.dhxform_obj_dhx_terrace div.dhxform_item_label_left div.dhxform_label { - float: left; - padding: 4px 0px 1px 0px; - margin: 2px 0px 2px 0px; -} -.dhxform_obj_dhx_terrace div.dhxform_item_label_left div.dhxform_control { - float: left; - margin-left: 3px; -} -.dhxform_obj_dhx_terrace div.dhxform_item_label_top { - clear: both; -} -.dhxform_obj_dhx_terrace div.dhxform_item_label_top div.dhxform_label { - float: none; - margin-bottom: 5px; - margin-top: 8px; -} -.dhxform_obj_dhx_terrace div.dhxform_item_label_top div.dhxform_control { - float: none; - margin-left: 0px; - margin-bottom: 5px; -} -.dhxform_obj_dhx_terrace div.dhxform_item_absolute { - position: absolute; - left: 0px; - top: 0px; - cursor: default; -} -.dhxform_obj_dhx_terrace div.item_absolute div.dhxform_img, -.dhxform_obj_dhx_terrace div.item_absolute div.dhxform_actv_c, -.dhxform_obj_dhx_terrace div.item_absolute div.dhxform_actv_r { - position: absolute; -} -.dhxform_obj_dhx_terrace div.dhxform_item_absolute div.dhxform_control, -.dhxform_obj_dhx_terrace div.dhxform_item_absolute div.dhxform_label, -.dhxform_obj_dhx_terrace div.dhxform_item_absolute div.dhxform_control.dhxform_img_node, -.dhxform_obj_dhx_terrace div.dhxform_item_absolute div.dhxform_txt_label2, -.dhxform_obj_dhx_terrace div.dhxform_item_absolute div.dhxform_btn, -.dhxform_obj_dhx_terrace div.block_item_absolute div.dhxform_block { - position: absolute; -} -.dhxform_obj_dhx_terrace div.dhxform_txt_label2 { - font-family: Arial; - font-size: inherit; - color: black; - font-weight: bold; - margin: 0px 3px; - padding: 5px 0px; - cursor: default; -} -.dhxform_obj_dhx_terrace div.disabled div.dhxform_txt_label2 { - color: #bbbbbb; -} -.dhxform_obj_dhx_terrace div.dhxform_btn { - font-family: Arial; - font-size: inherit; - color: #333333; - margin: 1px 2px; - border: 1px solid #cccccc; - background-color: #f0f0f0; - float: left; - cursor: default; - clear: both; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - border-radius: 3px; -} -.dhxform_obj_dhx_terrace.dhxform_rtl div.dhxform_btn { - float: right; -} -.dhxform_obj_dhx_terrace div.dhxform_btn.dhxform_btn_over { - color: #333333; - background-color: #ebebeb; -} -.dhxform_obj_dhx_terrace div.dhxform_btn.dhxform_btn_pressed { - color: #333333; - background-color: #e6e6e6; - box-shadow: 0 0 5px #e1e1e1 inset; -} -.dhxform_obj_dhx_terrace div.disabled div.dhxform_btn { - background-color: #f2f2f2; -} -.dhxform_obj_dhx_terrace div.dhxform_btn div.dhxform_btn_txt { - float: left; - margin: 0px 18px; - height: 28px; - line-height: 27px; - text-align: center; - vertical-align: middle; - overflow: hidden; - white-space: nowrap; - border-radius: 3px; - *display: inline; -} -.dhxform_obj_dhx_terrace div.disabled div.dhxform_btn div.dhxform_btn_txt { - color: #b2b2b2; -} -.dhxform_obj_dhx_terrace div.dhxform_btn:focus { - outline: 1px dotted #bfbfbf; -} -.dhxform_obj_dhx_terrace div.dhxform_control div.dhxform_note { - font-family: Arial; - font-size: 0.8em; - color: gray; - padding-bottom: 3px; - white-space: normal; -} -.dhxform_obj_dhx_terrace div.disabled div.dhxform_control div.dhxform_note { - color: #bbbbbb; -} -.dhxform_obj_dhx_terrace div.dhxform_label span.dhxform_info { - font-family: Arial; - font-size: 0.6em; - color: gray; - margin-left: 3px; - padding-bottom: 2px; - line-height: 100%; - vertical-align: middle; - cursor: pointer; -} -.dhxform_obj_dhx_terrace .validate_error .dhxform_label, -.dhxform_obj_dhx_terrace .validate_error .dhxform_textarea, -.dhxform_obj_dhx_terrace .validate_error .dhxform_select, -.dhxform_obj_dhx_terrace .validate_error div.dhxform_label_nav_link, -.dhxform_obj_dhx_terrace .validate_error div.dhxform_label div.dhxform_label_nav_link:focus { - color: red; -} -.dhxform_obj_dhx_terrace span.combo_in_focus div.dhxcombo_dhx_terrace { - box-shadow: 0 0 3px #c0c0c0; - border: 1px solid #bfbfbf; -} -div.dhxcombolist_dhx_terrace { - border-top: 1px solid #bfbfbf !important; -} -div.dhxcombolist_dhx_terrace:active { - border-top: 1px solid #cccccc !important; -} -.dhxform_obj_dhx_terrace div.dhxform_item_template.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_stb { - border-left: 1px solid #cccccc; - border-right: 1px solid #cccccc; - border-top: 1px solid #cccccc; -} -.dhxform_obj_dhx_terrace div.dhxform_item_template.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_cont_editor { - border-left: 1px solid #cccccc; - border-right: 1px solid #cccccc; - border-bottom: 1px solid #cccccc; -} -.dhxform_obj_dhx_terrace div.dhxform_item_template.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_toolbar_def { - padding: 0px; - border-top: 1px solid #cccccc; -} -.dhxform_obj_dhx_terrace div.dhxeditor_focus div.dhxform_item_template.dhxeditor_dhx_terrace { - box-shadow: 0 0 3px #c0c0c0; - outline: none; -} -.dhxform_obj_dhx_terrace div.dhxeditor_focus div.dhxform_item_template.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_stb, -.dhxform_obj_dhx_terrace div.dhxeditor_focus div.dhxform_item_template.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_cont_editor, -.dhxform_obj_dhx_terrace div.dhxeditor_focus div.dhxform_item_template.dhxeditor_dhx_terrace div.dhx_cell_editor div.dhx_cell_toolbar_def { - border-color: #bfbfbf; -} -.dhxform_obj_dhx_terrace div.dhxform_item_template.dhxeditor_dhx_terrace div.dhxcont_content_blocker { - display: none; -} -.dhxform_obj_dhx_terrace div.disabled div.dhxform_item_template.dhxeditor_dhx_terrace div.dhxcont_content_blocker { - display: inline; - position: absolute; - width: 100%; - height: 100%; - top: 0px; - left: 0px; - background-color: #fefefe; - opacity: 0.7; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=70); -} -.dhtmlx_skin_dhx_terrace div.dhtmlx_wins_body_inner .dhxform_obj_dhx_terrace { - background-color: white; -} -.dhxform_obj_dhx_terrace div.dhxform_control .dhx_combo_box.dhx_terrace .dhx_combo_input, -.dhx_combo_list.dhx_terrace_list div { - font-size: 1em !important; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader { - position: relative; - width: 100%; - margin-bottom: 4px; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls { - position: relative; - width: 100%; - height: 35px; - font-size: 2px; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button { - position: absolute; - width: 19px; - height: 19px; - top: 8px; - background-image: url("../imgs/dhxform_terrace/dhxform_upload_buttons.gif"); - background-repeat: no-repeat; - font-size: 2px; - cursor: pointer; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_info { - display: none; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_browse { - background-position: 0px 0px; - right: 108px; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_upload { - background-position: -19px 0px; - right: 79px; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_cancel { - background-position: -57px 0px; - right: 79px; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_clear { - background-position: -38px 0px; - right: 50px; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls .dhx_uploader_input { - position: absolute; - left: -1000px; - top: 0px; - visibility: hidden; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls div.dhx_file_form_cont { - position: absolute; - width: 19px; - height: 19px; - left: 0px; - top: 0px; - cursor: pointer; - overflow: hidden; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls div.dhx_file_form_cont form.dhx_file_form { - position: absolute; - top: 0px; - right: 0px; - cursor: pointer; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls div.dhx_file_form_cont form.dhx_file_form .dhx_file_input { - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); - cursor: pointer; - outline: none; - height: 19px; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files { - position: relative; - width: 100%; - left: 0px; - top: 0px; - overflow: auto; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files div.dhx_file { - position: relative; - width: 100%; - height: 25px; - overflow: hidden; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_added, -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_uploading { - color: black; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_uploaded { - color: #646464; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_fail { - color: #e94a4a; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files div.dhx_file_param { - position: absolute; - font-family: inherit; - font-size: inherit; - color: inherit; - top: 0px; - height: 25px; - line-height: 25px; - vertical-align: middle; - overflow: hidden; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_name { - left: 20px; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_progress { - right: 50px; - width: 38px; - text-align: right; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_delete { - right: 30px; - width: 11px; - background-image: url("../imgs/dhxform_terrace/dhxform_upload_buttons.gif"); - background-position: -76px 0px; - background-repeat: no-repeat; - cursor: pointer; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_uploading { - right: 50px; - width: 38px; - text-align: right; - background-image: url("../imgs/dhxform_terrace/dhxform_upload_uploading.gif"); - background-position: center center; - background-repeat: no-repeat; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls { - height: 60px; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_files { - display: none; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_info { - display: inline; - background-image: none; - font-family: Arial; - font-size: 13px; - color: #a0a0a0; - height: auto; - top: 0px; - left: 35px; - vertical-align: top; - padding-top: 6px; - line-height: 20px; - cursor: default; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_browse { - top: 0px; - width: 54px; - height: 54px; - right: 35px; - background-image: url("../imgs/dhxform_terrace/dhxform_upload_buttons.gif"); - background-position: 0px -38px; - background-repeat: no-repeat; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_upload, -.dhxform_obj_dhx_terrace .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_cancel, -.dhxform_obj_dhx_terrace .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_clear { - display: none; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_form_cont { - width: 54px; - height: 54px; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_form_cont form.dhx_file_form .dhx_file_input { - height: 54px; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_info, -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_added, -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_uploading, -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_uploaded, -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_fail { - color: #bbbbbb; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_browse { - background-position: -54px -38px; - cursor: default; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_form_cont { - display: none; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button { - cursor: default; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_browse { - background-position: 0px -19px; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_upload { - background-position: -19px -19px; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_cancel { - background-position: -57px -19px; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_clear { - background-position: -38px -19px; -} -.dhxform_obj_dhx_terrace .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file_param.dhx_file_delete { - background-position: -87px 0px; - cursor: default; -} -div.dhx_form_skin_detect { - position: absolute; - display: block; - visibility: hidden; - left: -100px; - top: 0px; - width: 30px; - height: 10px; - margin: 0px; - padding: 0px; - border: none; - overflow: hidden; -} diff --git a/themes/sources4.0/dhtmlxForm/codebase/skins/dhtmlxform_dhx_web.css b/themes/sources4.0/dhtmlxForm/codebase/skins/dhtmlxform_dhx_web.css deleted file mode 100644 index 4441102..0000000 --- a/themes/sources4.0/dhtmlxForm/codebase/skins/dhtmlxform_dhx_web.css +++ /dev/null @@ -1,653 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* skin detected, extra file: skins/dhx_web.less */ - -.dhxform_obj_dhx_web { - font-family: Tahoma; - font-size: 12px; - color: #000000; - float: left; - line-height: normal; -} -.dhxform_obj_dhx_web div.dhxform_base { - position: relative; - float: left; - margin: 0px !important; -} -.dhxform_obj_dhx_web div.dhxform_base_nested { - padding: 0px 0px 0px 0px; - clear: both; - *display: inline-block; -} -.dhxform_obj_dhx_web.dhxform_block { - clear: both; -} -.dhxform_obj_dhx_web div.block_dhxform_item_label_left { - display: block; - clear: both; - *clear: none; -} -.dhxform_obj_dhx_web div.dhxform_label div.dhxform_label_nav_link, -.dhxform_obj_dhx_web div.dhxform_label div.dhxform_label_nav_link:visited, -.dhxform_obj_dhx_web div.dhxform_label div.dhxform_label_nav_link:active, -.dhxform_obj_dhx_web div.dhxform_label div.dhxform_label_nav_link:hover { - outline: none; - text-decoration: none; - color: inherit; - cursor: default; - overflow: hidden; - white-space: nowrap; -} -.dhxform_obj_dhx_web div.dhxform_label div.dhxform_label_nav_link:focus { - color: #0096eb; -} -.dhxform_obj_dhx_web div.disabled span.nav_link { - color: inherit; -} -.dhxform_obj_dhx_web div.dhxform_img, -.dhxform_obj_dhx_web div.dhxform_actv_c, -.dhxform_obj_dhx_web div.dhxform_actv_r { - width: 18px; - height: 18px; - font-size: 1px; -} -.dhxform_obj_dhx_web div.dhxform_img.chbx0, -.dhxform_obj_dhx_web div.dhxform_img.chbx1, -.dhxform_obj_dhx_web div.disabled div.dhxform_img.chbx0, -.dhxform_obj_dhx_web div.disabled div.dhxform_img.chbx1, -.dhxform_obj_dhx_web div.dhxform_img.rdbt0, -.dhxform_obj_dhx_web div.dhxform_img.rdbt1, -.dhxform_obj_dhx_web div.disabled div.dhxform_img.rdbt0, -.dhxform_obj_dhx_web div.disabled div.dhxform_img.rdbt1, -.dhxform_obj_dhx_web div.dhxform_actv_c.chbx0, -.dhxform_obj_dhx_web div.dhxform_actv_c.chbx1, -.dhxform_obj_dhx_web div.dhxform_actv_r.rdbt0, -.dhxform_obj_dhx_web div.dhxform_actv_r.rdbt1 { - background-image: url("../imgs/dhxform_web/dhxform_chbxrd.gif"); - background-repeat: no-repeat; -} -.dhxform_obj_dhx_web div.dhxform_img.chbx0 { - background-position: -18px 0px; -} -.dhxform_obj_dhx_web div.dhxform_img.chbx1 { - background-position: 0px 0px; -} -.dhxform_obj_dhx_web div.disabled div.dhxform_img.chbx0 { - background-position: -54px 0px; -} -.dhxform_obj_dhx_web div.disabled div.dhxform_img.chbx1 { - background-position: -36px 0px; -} -.dhxform_obj_dhx_web div.dhxform_img.rdbt0 { - background-position: -90px 0px; -} -.dhxform_obj_dhx_web div.dhxform_img.rdbt1 { - background-position: -72px 0px; -} -.dhxform_obj_dhx_web div.disabled div.dhxform_img.rdbt0 { - background-position: -126px 0px; -} -.dhxform_obj_dhx_web div.disabled div.dhxform_img.rdbt1 { - background-position: -108px 0px; -} -.dhxform_obj_dhx_web div.dhxform_actv_c.chbx0 { - background-position: -162px 0px; -} -.dhxform_obj_dhx_web div.dhxform_actv_c.chbx1 { - background-position: -144px 0px; -} -.dhxform_obj_dhx_web div.dhxform_actv_r.rdbt0 { - background-position: -198px 0px; -} -.dhxform_obj_dhx_web div.dhxform_actv_r.rdbt1 { - background-position: -180px 0px; -} -.dhxform_obj_dhx_web div.dhxform_label { - font-family: Tahoma; - font-size: inherit; - color: #000000; - overflow-x: hidden; - overflow: hidden; - white-space: nowrap; -} -.dhxform_obj_dhx_web div.dhxform_label.dhxform_label_align_left { - text-align: left; -} -.dhxform_obj_dhx_web div.dhxform_label.dhxform_label_align_center { - text-align: center; -} -.dhxform_obj_dhx_web div.dhxform_label.dhxform_label_align_right { - text-align: right; -} -.dhxform_obj_dhx_web div.disabled div.dhxform_label, -.dhxform_obj_dhx_web div.disabled div.dhxform_label div.dhxform_label_nav_link, -.dhxform_obj_dhx_web div.disabled div.dhxform_label span.dhxform_item_required { - color: #999999; -} -.dhxform_obj_dhx_web div.dhxform_label span.dhxform_item_required { - margin-left: 5px; - color: red; -} -.dhxform_obj_dhx_web input.dhxform_textarea, -.dhxform_obj_dhx_web textarea.dhxform_textarea { - padding: 4px 4px !important; - margin: 0px; - font-size: 1em; -} -.dhxform_obj_dhx_web .dhxform_textarea { - border: 1px solid #d6d6d6; - font-family: Tahoma; - font-size: 1em; - color: black; - resize: none; -} -.dhxform_obj_dhx_web div.disabled .dhxform_textarea { - color: #999999; - background-color: #ffffff; - border: 1px solid #ffffff; -} -.dhxform_obj_dhx_web div.dhxform_control.dhxform_img_node { - position: relative; -} -.dhxform_obj_dhx_web div.dhxform_control.dhxform_img_node .dhxform_textarea { - border: 1px solid white; - background-color: white; - color: white; - visibility: hidden; - *height: 1px; - *line-height: 1px; - *display: inline; -} -.dhxform_obj_dhx_web div.dhxform_control.dhxform_img_node div.dhxform_img, -.dhxform_obj_dhx_web div.dhxform_control.dhxform_img_node div.dhxform_actv_c, -.dhxform_obj_dhx_web div.dhxform_control.dhxform_img_node div.dhxform_actv_r { - float: none; - top: 2px; - left: 0px; - position: absolute; - margin: 0px; -} -.dhxform_obj_dhx_web div.dhxform_item_label_left div.dhxform_control.dhxform_img_node { - margin-left: 2px; -} -.dhxform_obj_dhx_web div.dhxform_item_label_right div.dhxform_control.dhxform_img_node { - margin-right: 0px; -} -.dhxform_obj_dhx_web .dhxform_select { - border: 1px solid #d6d6d6; - background-color: #ffffff; - font-family: Tahoma; - font-size: 1em; - color: black; - margin: 0px; - padding: 3px 0px; -} -.dhxform_obj_dhx_web .dhxform_select option { - padding-left: 2px; -} -.dhxform_obj_dhx_web div.disabled .dhxform_select { - color: #999999; - background-color: #ffffff; - border: 1px solid #ffffff; -} -.dhxform_obj_dhx_web div.fs_dhxform_item_label_left { - padding: 5px 0px 5px 0px; -} -.dhxform_obj_dhx_web div.fs_dhxform_item_label_left fieldset.dhxform_fs div.dhxform_base_nested.dhxform_fs_nested { - margin-right: 19px; - margin-left: 5px; -} -.dhxform_obj_dhx_web fieldset.dhxform_fs { - border: 1px solid #d6d6d6; - margin: 0px; - padding: 5px 0px 15px 0px; - clear: left; - width: 100%; -} -.dhxform_obj_dhx_web div.disabled fieldset.dhxform_fs { - border: 1px solid #ffffff; -} -.dhxform_obj_dhx_web fieldset.dhxform_fs legend.fs_legend { - font-family: Tahoma; - font-size: inherit; - color: #484848; - font-weight: normal; - padding: 0px 4px 1px 4px; - margin-left: 5px; - text-align: left; -} -.dhxform_obj_dhx_web div.disabled fieldset.dhxform_fs legend.fs_legend { - color: #999999; -} -.dhxform_obj_dhx_web div.dhxform_item_label_right { - clear: both; - padding-top: 6px; - cursor: default; - *float: left; - *display: inline-block; -} -.dhxform_obj_dhx_web div.dhxform_item_label_right div.dhxform_img, -.dhxform_obj_dhx_web div.dhxform_item_label_right div.dhxform_actv_c, -.dhxform_obj_dhx_web div.dhxform_item_label_right div.dhxform_actv_r { - float: left; - margin: 0px; -} -.dhxform_obj_dhx_web div.dhxform_item_label_right div.dhxform_label { - float: left; - padding: 2px 0px 2px 0px; - margin: 2px 0 2px 0px; -} -.dhxform_obj_dhx_web div.dhxform_item_label_right div.dhxform_control { - float: left; - margin-right: 3px; -} -.dhxform_obj_dhx_web div.dhxform_item_label_left { - clear: both; - padding-top: 6px; - cursor: default; - *float: left; - *display: inline-block; -} -.dhxform_obj_dhx_web div.dhxform_item_label_left div.dhxform_img, -.dhxform_obj_dhx_web div.dhxform_item_label_left div.dhxform_actv_c, -.dhxform_obj_dhx_web div.dhxform_item_label_left div.dhxform_actv_r { - float: right; - margin: 0px; -} -.dhxform_obj_dhx_web div.dhxform_item_label_left div.dhxform_label { - float: left; - padding: 1px 0px 1px 0px; - margin: 2px 0px 2px 0px; -} -.dhxform_obj_dhx_web div.dhxform_item_label_left div.dhxform_control { - float: left; - margin-left: 3px; -} -.dhxform_obj_dhx_web div.dhxform_item_label_top { - clear: both; -} -.dhxform_obj_dhx_web div.dhxform_item_label_top div.dhxform_label { - float: none; - margin-bottom: 5px; - margin-top: 8px; -} -.dhxform_obj_dhx_web div.dhxform_item_label_top div.dhxform_control { - float: none; - margin-left: 0px; - margin-bottom: 5px; -} -.dhxform_obj_dhx_web div.dhxform_item_absolute { - position: absolute; - left: 0px; - top: 0px; - cursor: default; -} -.dhxform_obj_dhx_web div.item_absolute div.dhxform_img, -.dhxform_obj_dhx_web div.item_absolute div.dhxform_actv_c, -.dhxform_obj_dhx_web div.item_absolute div.dhxform_actv_r { - position: absolute; -} -.dhxform_obj_dhx_web div.dhxform_item_absolute div.dhxform_control, -.dhxform_obj_dhx_web div.dhxform_item_absolute div.dhxform_label, -.dhxform_obj_dhx_web div.dhxform_item_absolute div.dhxform_control.dhxform_img_node, -.dhxform_obj_dhx_web div.dhxform_item_absolute div.dhxform_txt_label2, -.dhxform_obj_dhx_web div.dhxform_item_absolute div.dhxform_btn, -.dhxform_obj_dhx_web div.block_item_absolute div.dhxform_block { - position: absolute; -} -.dhxform_obj_dhx_web div.dhxform_txt_label2 { - font-family: Tahoma; - font-size: inherit; - color: #484848; - font-weight: bold; - margin: 0px 3px; - padding: 5px 0px; - cursor: default; -} -.dhxform_obj_dhx_web div.disabled div.dhxform_txt_label2 { - color: #333333; -} -.dhxform_obj_dhx_web div.dhxform_btn { - font-family: Tahoma; - font-size: inherit; - color: #ffffff; - margin: 1px 2px; - background-color: #3da0e3; - float: left; - cursor: default; - clear: both; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxform_obj_dhx_web.dhxform_rtl div.dhxform_btn { - float: right; -} -.dhxform_obj_dhx_web div.dhxform_btn.dhxform_btn_over { - background-color: #2a8ed2; -} -.dhxform_obj_dhx_web div.dhxform_btn.dhxform_btn_pressed { - background-color: #2589ce; -} -.dhxform_obj_dhx_web div.disabled div.dhxform_btn { - background-color: #ffffff; -} -.dhxform_obj_dhx_web div.dhxform_btn div.dhxform_btn_txt { - float: left; - margin: 0px 17px; - height: 24px; - line-height: 23px; - text-align: center; - vertical-align: middle; - overflow: hidden; - white-space: nowrap; - *display: inline; -} -.dhxform_obj_dhx_web div.disabled div.dhxform_btn div.dhxform_btn_txt { - color: #999999 !important; -} -.dhxform_obj_dhx_web div.dhxform_btn:focus { - outline: 1px dotted #000000; -} -.dhxform_obj_dhx_web div.dhxform_control div.dhxform_note { - font-family: Tahoma; - font-size: 0.8em; - color: gray; - padding-bottom: 3px; - white-space: normal; -} -.dhxform_obj_dhx_web div.disabled div.dhxform_control div.dhxform_note { - color: #999999; -} -.dhxform_obj_dhx_web div.dhxform_label span.dhxform_info { - font-family: Tahoma; - font-size: 0.6em; - color: gray; - margin-left: 3px; - padding-bottom: 2px; - line-height: 100%; - vertical-align: middle; - cursor: pointer; -} -.dhxform_obj_dhx_web .validate_error .dhxform_label, -.dhxform_obj_dhx_web .validate_error .dhxform_textarea, -.dhxform_obj_dhx_web .validate_error .dhxform_select, -.dhxform_obj_dhx_web .validate_error div.dhxform_label_nav_link, -.dhxform_obj_dhx_web .validate_error div.dhxform_label div.dhxform_label_nav_link:focus { - color: red; -} -.dhxform_obj_dhx_web div.disabled .dhx_combo_box.dhx_web { - border: 1px solid #ffffff; -} -.dhxform_obj_dhx_web div.disabled .dhx_combo_box.dhx_web .dhx_combo_input { - color: #999999; - background-color: #ffffff; -} -.dhxform_obj_dhx_web div.dhxform_item_template.dhxeditor_dhx_web div.dhx_cell_editor div.dhx_cell_cont_editor { - border-left: 1px solid #d6d6d6; - border-right: 1px solid #d6d6d6; - border-bottom: 1px solid #d6d6d6; -} -.dhxform_obj_dhx_web div.dhxform_item_template.dhxeditor_dhx_web div.dhxcont_content_blocker { - display: none; -} -.dhxform_obj_dhx_web div.disabled div.dhxform_item_template.dhxeditor_dhx_web div.dhxcont_content_blocker { - display: inline; - position: absolute; - width: 100%; - height: 100%; - top: 0px; - left: 0px; - background-color: white; - opacity: 0.7; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=70); -} -.dhtmlx_skin_dhx_web div.dhtmlx_wins_body_inner .dhxform_obj_dhx_web { - background-color: white; -} -.dhxform_obj_dhx_web div.dhxform_control .dhx_combo_box.dhx_web .dhx_combo_input, -.dhx_combo_list.dhx_web_list div { - font-size: 1em !important; -} -.dhxform_obj_dhx_web .dhx_file_uploader { - position: relative; - width: 100%; - margin-bottom: 4px; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls { - position: relative; - width: 100%; - height: 35px; - font-size: 2px; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button { - position: absolute; - width: 19px; - height: 19px; - top: 8px; - background-image: url("../imgs/dhxform_web/dhxform_upload_buttons.gif"); - background-repeat: no-repeat; - font-size: 2px; - cursor: pointer; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_info { - display: none; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_browse { - background-position: 0px 0px; - right: 108px; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_upload { - background-position: -19px 0px; - right: 79px; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_cancel { - background-position: -57px 0px; - right: 79px; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_clear { - background-position: -38px 0px; - right: 50px; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls .dhx_uploader_input { - position: absolute; - left: -1000px; - top: 0px; - visibility: hidden; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls div.dhx_file_form_cont { - position: absolute; - width: 19px; - height: 19px; - left: 0px; - top: 0px; - cursor: pointer; - overflow: hidden; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls div.dhx_file_form_cont form.dhx_file_form { - position: absolute; - top: 0px; - right: 0px; - cursor: pointer; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls div.dhx_file_form_cont form.dhx_file_form .dhx_file_input { - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); - cursor: pointer; - outline: none; - height: 19px; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files { - position: relative; - width: 100%; - left: 0px; - top: 0px; - overflow: auto; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files div.dhx_file { - position: relative; - width: 100%; - height: 25px; - overflow: hidden; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_added, -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_uploading { - color: #000000; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_uploaded { - color: #646464; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_fail { - color: #e94a4a; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files div.dhx_file_param { - position: absolute; - font-family: inherit; - font-size: inherit; - color: inherit; - top: 0px; - height: 25px; - line-height: 25px; - vertical-align: middle; - overflow: hidden; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_name { - left: 20px; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_progress { - right: 50px; - width: 38px; - text-align: right; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_delete { - right: 30px; - width: 11px; - background-image: url("../imgs/dhxform_web/dhxform_upload_buttons.gif"); - background-position: -76px 0px; - background-repeat: no-repeat; - cursor: pointer; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_uploading { - right: 50px; - width: 38px; - text-align: right; - background-image: url("../imgs/dhxform_web/dhxform_upload_uploading.gif"); - background-position: center center; - background-repeat: no-repeat; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxform_obj_dhx_web .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls { - height: 60px; -} -.dhxform_obj_dhx_web .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_files { - display: none; -} -.dhxform_obj_dhx_web .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_info { - display: inline; - background-image: none; - font-size: 13px; - height: auto; - top: 0px; - left: 35px; - color: #a0a0a0; - vertical-align: top; - padding-top: 6px; - line-height: 20px; - cursor: default; -} -.dhxform_obj_dhx_web .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_browse { - top: 0px; - width: 54px; - height: 54px; - right: 35px; - background-image: url("../imgs/dhxform_web/dhxform_upload_buttons.gif"); - background-position: 0px -38px; - background-repeat: no-repeat; -} -.dhxform_obj_dhx_web .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_upload, -.dhxform_obj_dhx_web .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_cancel, -.dhxform_obj_dhx_web .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_clear { - display: none; -} -.dhxform_obj_dhx_web .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_form_cont { - width: 54px; - height: 54px; -} -.dhxform_obj_dhx_web .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_form_cont form.dhx_file_form .dhx_file_input { - height: 54px; -} -.dhxform_obj_dhx_web .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_info, -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_added, -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_uploading, -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_uploaded, -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_fail { - color: #999999; -} -.dhxform_obj_dhx_web .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_browse { - background-position: -54px -38px; - cursor: default; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_form_cont { - display: none; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button { - cursor: default; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_browse { - background-position: 0px -19px; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_upload { - background-position: -19px -19px; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_cancel { - background-position: -57px -19px; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_clear { - background-position: -38px -19px; -} -.dhxform_obj_dhx_web .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file_param.dhx_file_delete { - background-position: -87px 0px; - cursor: default; -} -div.dhx_form_skin_detect { - position: absolute; - display: block; - visibility: hidden; - left: -100px; - top: 0px; - width: 20px; - height: 10px; - margin: 0px; - padding: 0px; - border: none; - overflow: hidden; -} diff --git a/themes/sources4.0/dhtmlxForm/codebase/skins/dhtmlxform_material.css b/themes/sources4.0/dhtmlxForm/codebase/skins/dhtmlxform_material.css deleted file mode 100644 index fc23075..0000000 --- a/themes/sources4.0/dhtmlxForm/codebase/skins/dhtmlxform_material.css +++ /dev/null @@ -1,876 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: material - include extra file: skins/material.less -*/ - -@keyframes dhx_loader_rotate { - 100% { - transform: rotate(360deg); - } -} -@keyframes dhx_loader_dash { - 0% { - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - } - 50% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -35px; - } - 100% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -124px; - } -} -.dhxform_obj_material { - float: left; - line-height: normal; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -.dhxform_obj_material div.dhxform_base { - position: relative; - float: left; -} -.dhxform_obj_material div.dhxform_base_nested { - padding: 0px 0px 0px 0px; - clear: both; - *display: inline-block; -} -.dhxform_obj_material.dhxform_block { - clear: both; -} -.dhxform_obj_material div.block_dhxform_item_label_left { - display: block; - clear: both; - *clear: none; -} -.dhxform_obj_material div.dhxform_label div.dhxform_label_nav_link, -.dhxform_obj_material div.dhxform_label div.dhxform_label_nav_link:visited, -.dhxform_obj_material div.dhxform_label div.dhxform_label_nav_link:active, -.dhxform_obj_material div.dhxform_label div.dhxform_label_nav_link:hover { - outline: 0px solid white; - text-decoration: none; - color: inherit; - cursor: default; - overflow: hidden; - white-space: normal; -} -.dhxform_obj_material div.dhxform_label div.dhxform_label_nav_link:focus { - color: #3399cc; -} -.dhxform_obj_material div.disabled span.nav_link { - color: inherit; -} -.dhxform_obj_material div.dhxform_img, -.dhxform_obj_material div.dhxform_actv_c, -.dhxform_obj_material div.dhxform_actv_r { - width: 24px; - height: 24px; - font-size: 1px; -} -.dhxform_obj_material div.dhxform_img.chbx0, -.dhxform_obj_material div.dhxform_img.chbx1, -.dhxform_obj_material div.disabled div.dhxform_img.chbx0, -.dhxform_obj_material div.disabled div.dhxform_img.chbx1, -.dhxform_obj_material div.dhxform_img.rdbt0, -.dhxform_obj_material div.dhxform_img.rdbt1, -.dhxform_obj_material div.disabled div.dhxform_img.rdbt0, -.dhxform_obj_material div.disabled div.dhxform_img.rdbt1, -.dhxform_obj_material div.dhxform_actv_c.chbx0, -.dhxform_obj_material div.dhxform_actv_c.chbx1, -.dhxform_obj_material div.dhxform_actv_r.rdbt0, -.dhxform_obj_material div.dhxform_actv_r.rdbt1 { - background-image: url("../imgs/dhxform_material/dhxform_chbxrd.png"); - background-repeat: no-repeat; -} -.dhxform_obj_material div.dhxform_img.chbx0 { - background-position: -24px 0px; -} -.dhxform_obj_material div.dhxform_img.chbx1 { - background-position: 0px 0px; -} -.dhxform_obj_material div.disabled div.dhxform_img.chbx0 { - background-position: -72px 0px; -} -.dhxform_obj_material div.disabled div.dhxform_img.chbx1 { - background-position: -48px 0px; -} -.dhxform_obj_material div.dhxform_img.rdbt0 { - background-position: -120px 0px; -} -.dhxform_obj_material div.dhxform_img.rdbt1 { - background-position: -96px 0px; -} -.dhxform_obj_material div.disabled div.dhxform_img.rdbt0 { - background-position: -168px 0px; -} -.dhxform_obj_material div.disabled div.dhxform_img.rdbt1 { - background-position: -144px 0px; -} -.dhxform_obj_material div.dhxform_actv_c.chbx0 { - background-position: -216px 0px; -} -.dhxform_obj_material div.dhxform_actv_c.chbx1 { - background-position: -192px 0px; -} -.dhxform_obj_material div.dhxform_actv_r.rdbt0 { - background-position: -264px 0px; -} -.dhxform_obj_material div.dhxform_actv_r.rdbt1 { - background-position: -240px 0px; -} -.dhxform_obj_material div.dhxform_actv_c.chbx1, -.dhxform_obj_material div.dhxform_img.chbx1 { - background: linear-gradient(transparent,transparent), url("../imgs/dhxform_material/dhxform_check_on.svg") 0 -1px no-repeat; -} -.dhxform_obj_material div.dhxform_actv_c.chbx0, -.dhxform_obj_material div.dhxform_img.chbx0 { - background: linear-gradient(transparent,transparent), url("../imgs/dhxform_material/dhxform_check_off.svg") 0 -1px no-repeat; -} -.dhxform_obj_material div.dhxform_actv_r.rdbt1, -.dhxform_obj_material div.dhxform_img.rdbt1 { - background: linear-gradient(transparent,transparent), url("../imgs/dhxform_material/dhxform_radio_on.svg") 0 -1px no-repeat; -} -.dhxform_obj_material div.dhxform_actv_r.rdbt0, -.dhxform_obj_material div.dhxform_img.rdbt0 { - background: linear-gradient(transparent,transparent), url("../imgs/dhxform_material/dhxform_radio_off.svg") 0 -1px no-repeat; -} -.dhxform_obj_material div.dhxform_label_nav_link { - line-height: 22px; -} -.dhxform_obj_material div.dhxform_label { - overflow-x: hidden; - overflow: hidden; - white-space: normal; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -.dhxform_obj_material div.dhxform_label.dhxform_label_align_left { - text-align: left; -} -.dhxform_obj_material div.dhxform_label.dhxform_label_align_center { - text-align: center; -} -.dhxform_obj_material div.dhxform_label.dhxform_label_align_right { - text-align: right; -} -.dhxform_obj_material div.disabled div.dhxform_label, -.dhxform_obj_material div.disabled div.dhxform_label div.dhxform_label_nav_link, -.dhxform_obj_material div.disabled div.dhxform_label span.dhxform_item_required { - color: #a6a6a6; -} -.dhxform_obj_material div.dhxform_label span.dhxform_item_required { - margin-left: 5px; - color: red; -} -.dhxform_obj_material input.dhxform_textarea, -.dhxform_obj_material textarea.dhxform_textarea { - padding: 4px 2px !important; - margin: 0px; - font-size: 1em; - background-color: white; -} -.dhxform_obj_material input.dhxform_textarea::-ms-clear, -.dhxform_obj_material textarea.dhxform_textarea::-ms-clear { - display: none; -} -.dhxform_obj_material input.dhxform_textarea:focus, -.dhxform_obj_material textarea.dhxform_textarea:focus { - border-bottom-color: #3399cc; - border-bottom-width: 2px; - padding-bottom: 3px !important; - outline: none; -} -.dhxform_obj_material .dhxform_textarea { - border-width: 0px 0px 1px 0px; - border-style: solid; - border-color: #dfdfdf; - resize: none; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -.dhxform_obj_material div.disabled .dhxform_textarea { - color: #a6a6a6; - border-style: dashed; -} -.dhxform_obj_material input.dhxform_textarea.calendar { - background-image: url("../imgs/dhxform_material/dhxform_image_calendar.png"); - background-repeat: no-repeat; - background-position: right 6px; -} -.dhxform_obj_material div.disabled input.dhxform_textarea.calendar { - background-image: url("../imgs/dhxform_material/dhxform_image_calendar_dis.png"); -} -.dhxform_obj_material div.dhxform_control.dhxform_img_node { - position: relative; -} -.dhxform_obj_material div.dhxform_control.dhxform_img_node .dhxform_textarea { - border: 1px solid white; - background-color: white; - color: white; - visibility: hidden; - *height: 1px; - *line-height: 1px; - *display: inline; -} -.dhxform_obj_material div.dhxform_control.dhxform_img_node div.dhxform_img { - float: none; - top: 3px; - left: 0px; - position: absolute; - margin: 0px; -} -.dhxform_obj_material div.dhxform_control.dhxform_img_node div.dhxform_actv_c, -.dhxform_obj_material div.dhxform_control.dhxform_img_node div.dhxform_actv_r { - float: none; - position: absolute; - margin: 0px; - top: 3px; - left: 0px; -} -.dhxform_obj_material .dhxform_select { - border-width: 0px 0px 1px 0px; - border-style: solid; - border-color: #dfdfdf; - background-color: white; - margin: 0px; - padding: 2px !important; - line-height: normal; - vertical-align: middle; - -moz-appearance: none; - -webkit-appearance: none; - -ms-appearance: -ms-none; - appearance: none; - background-image: url(../imgs/dhxform_material/dhxform_arrow_down.gif); - background-repeat: no-repeat; - background-position: right 13px; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -.dhxform_obj_material .dhxform_select option { - padding: 1px 2px; - outline: none !important; -} -.dhxform_obj_material .dhxform_select option:focus, -.dhxform_obj_material .dhxform_select option:active { - outline: none !important; -} -.dhxform_obj_material .dhxform_select:focus { - border-color: #3399cc; - border-bottom-width: 2px; - padding-bottom: 1px !important; - outline: none !important; -} -.dhxform_obj_material .dhxform_select.dhxform_arrow_fix_webkit { - background-position: right 6px; -} -.dhxform_obj_material .dhxform_select.dhxform_arrow_fix_edge { - background-position: right 7px; -} -.dhxform_obj_material .dhxform_select.dhxform_fix_ff { - height: 28px; -} -.dhxform_obj_material div.disabled .dhxform_select { - color: #a6a6a6; - border-style: dashed; - background-image: url(../imgs/dhxform_material/dhxform_arrow_down_dis.gif); -} -.dhxform_obj_material div.disabled .dhxform_select option { - color: #a6a6a6; -} -.dhxform_obj_material div.fs_dhxform_item_label_left { - padding: 5px 0px 5px 0px; -} -.dhxform_obj_material div.fs_dhxform_item_label_left fieldset.dhxform_fs div.dhxform_base_nested.dhxform_fs_nested { - margin-right: 19px; - margin-left: 5px; -} -.dhxform_obj_material fieldset.dhxform_fs { - border: 1px solid #dfdfdf; - margin: 0px; - padding: 5px 0px 12px 0px; - clear: left; - width: 100%; -} -.dhxform_obj_material div.disabled fieldset.dhxform_fs { - border-style: dashed; -} -.dhxform_obj_material fieldset.dhxform_fs legend.fs_legend { - font-weight: normal; - padding: 0px 4px 1px 4px; - margin-left: 5px; - text-align: left; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -.dhxform_obj_material div.disabled fieldset.dhxform_fs legend.fs_legend { - color: #a6a6a6; -} -.dhxform_obj_material div.dhxform_item_label_right { - clear: both; - padding-top: 9px; - cursor: default; - *display: inline-block; -} -.dhxform_obj_material div.dhxform_item_label_right div.dhxform_img, -.dhxform_obj_material div.dhxform_item_label_right div.dhxform_actv_c, -.dhxform_obj_material div.dhxform_item_label_right div.dhxform_actv_r { - float: left; - margin: 0px; -} -.dhxform_obj_material div.dhxform_item_label_right div.dhxform_label { - float: left; - padding: 2px 0px 1px 0px; - margin: 2px 0px 2px 0px; - *padding-top: 0px; - *display: inline-block; -} -.dhxform_obj_material div.dhxform_item_label_right div.dhxform_control { - float: left; - margin-right: 7px; -} -.dhxform_obj_material div.dhxform_item_label_left { - clear: both; - padding-top: 9px; - cursor: default; - *display: inline-block; -} -.dhxform_obj_material div.dhxform_item_label_left div.dhxform_img, -.dhxform_obj_material div.dhxform_item_label_left div.dhxform_actv_c, -.dhxform_obj_material div.dhxform_item_label_left div.dhxform_actv_r { - float: right; - margin: 3px 1px 0px 5px; -} -.dhxform_obj_material div.dhxform_item_label_left div.dhxform_label { - float: left; - padding: 2px 0px 1px 0px; - margin: 2px 0px 2px 0px; -} -.dhxform_obj_material div.dhxform_item_label_left div.dhxform_control { - float: left; - margin-left: 3px; -} -.dhxform_obj_material div.dhxform_item_label_top { - clear: both; -} -.dhxform_obj_material div.dhxform_item_label_top div.dhxform_label { - float: none; - margin-bottom: 5px; - margin-top: 8px; -} -.dhxform_obj_material div.dhxform_item_label_top div.dhxform_control { - float: none; - margin-left: 0px; - margin-bottom: 5px; -} -.dhxform_obj_material div.dhxform_item_absolute { - position: absolute; - left: 0px; - top: 0px; - cursor: default; -} -.dhxform_obj_material div.item_absolute div.dhxform_img, -.dhxform_obj_material div.item_absolute div.dhxform_actv_c, -.dhxform_obj_material div.item_absolute div.dhxform_actv_r { - position: absolute; -} -.dhxform_obj_material div.dhxform_item_absolute div.dhxform_control, -.dhxform_obj_material div.dhxform_item_absolute div.dhxform_label, -.dhxform_obj_material div.dhxform_item_absolute div.dhxform_control.dhxform_img_node, -.dhxform_obj_material div.dhxform_item_absolute div.dhxform_txt_label2, -.dhxform_obj_material div.dhxform_item_absolute div.dhxform_btn, -.dhxform_obj_material div.block_item_absolute div.dhxform_block { - position: absolute; -} -.dhxform_obj_material div.dhxform_txt_label2 { - font-weight: bold; - margin: 0px 3px; - padding: 5px 0px; - cursor: default; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -.dhxform_obj_material div.disabled div.dhxform_txt_label2 { - color: #a6a6a6; -} -.dhxform_obj_material div.dhxform_btn { - margin: 1px 2px; - background-color: #f5f5f5; - float: left; - cursor: default; - clear: both; - position: relative; - overflow: hidden; - border: 1px solid #dfdfdf; - outline: none !important; - -webkit-tap-highlight-color: rgba(0,0,0,0); - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxform_obj_material.dhxform_rtl div.dhxform_btn { - float: right; -} -.dhxform_obj_material div.dhxform_btn.dhxform_btn_over { - background-color: #ededed; - outline: none !important; -} -.dhxform_obj_material div.dhxform_btn.dhxform_btn_pressed { - background-color: #e1e1e1; - border-color: #d2d2d2; - outline: none !important; -} -.dhxform_obj_material div.dhxform_btn:focus { - outline: none !important; - border-color: #3399cc; - border-width: 2px; - margin: 0px 1px; - color: #545454; -} -dhxform_obj_material div.disabled div.dhxform_btn { - background-color: #ededed; - border-color: #ededed; -} -dhxform_obj_material div.disabled div.dhxform_btn div.dhxform_btn_txt { - color: #a6a6a6; -} -.dhxform_obj_material div.dhxform_btn div.dhxform_btn_txt { - float: left; - margin: 0px 18px; - height: 28px; - line-height: 27px; - text-align: center; - vertical-align: middle; - overflow: hidden; - white-space: nowrap; - border-radius: 3px; - *display: inline; - opacity: 1; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100); -} -.dhxform_obj_material div.dhxform_btn div.dhxform_btn_txt.dhxform_btn_txt_autowidth { - width: 100%; - margin: 0px; -} -.dhxform_obj_material div.dhxform_btn div.dhxform_btn_filler { - position: absolute; - display: inline-block; - width: 100%; - height: 100px; - left: 0px; - top: 0px; - background-color: white; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxform_obj_material div.dhxform_control div.dhxform_note { - font: inherit; - color: #5a5a5a; - font-size: 0.8em; - padding-bottom: 3px; - white-space: normal; -} -.dhxform_obj_material div.disabled div.dhxform_control div.dhxform_note { - color: #a6a6a6; -} -.dhxform_obj_material div.dhxform_label span.dhxform_info { - font: inherit; - color: #5a5a5a; - font-size: 0.6em; - margin-left: 3px; - padding-bottom: 2px; - line-height: normal; - vertical-align: middle; - cursor: pointer; -} -.dhxform_obj_material .validate_error .dhxform_label, -.dhxform_obj_material .validate_error .dhxform_textarea, -.dhxform_obj_material .validate_error .dhxform_select, -.dhxform_obj_material .validate_error div.dhxform_label_nav_link, -.dhxform_obj_material .validate_error div.dhxform_label div.dhxform_label_nav_link:focus { - color: red; -} -.dhxform_obj_material div.dhxform_control div.dhxcombo_material { - height: 24px; -} -.dhxform_obj_material div.dhxform_control div.dhxcombo_material input.dhxcombo_input { - height: 24px; - line-height: 24px; -} -.dhxform_obj_material div.dhxform_control div.dhxcombo_material div.dhxcombo_image { - top: 3px; -} -.dhxform_obj_material div.dhxform_control div.dhxcombo_material div.dhxcombo_select_button { - top: 1px; -} -.dhxform_obj_material div.disabled div.dhxcombo_material { - color: #a6a6a6; - border-bottom-style: dashed; -} -.dhxform_obj_material div.dhxform_item_template.dhxeditor_material div.dhx_cell_editor { - border: 1px solid #dfdfdf; -} -.dhxform_obj_material div.dhxform_item_template.dhxeditor_material div.dhx_cell_editor div.dhx_cell_toolbar_def { - padding: 0px; - border-top: 1px solid #dfdfdf; -} -.dhxform_obj_material div.dhxeditor_focus div.dhxform_item_template.dhxeditor_material { - box-shadow: 0 0 3px #c0c0c0; - outline: none; -} -.dhxform_obj_material div.dhxeditor_focus div.dhxform_item_template.dhxeditor_material div.dhx_cell_editor { - border-color: #3399cc; -} -.dhxform_obj_material div.dhxform_item_template.dhxeditor_material div.dhxcont_content_blocker { - display: none; -} -.dhxform_obj_material div.disabled div.dhxform_item_template.dhxeditor_material div.dhxcont_content_blocker { - display: inline; - position: absolute; - width: 100%; - height: 100%; - top: 0px; - left: 0px; - background-color: #fafafa; - opacity: 0.7; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=70); -} -.dhtmlx_skin_material div.dhtmlx_wins_body_inner .dhxform_obj_material { - background-color: white; -} -.dhxform_obj_material div.dhxform_control .dhx_combo_box.material .dhx_combo_input, -.dhx_combo_list.material_list div { - font-size: 1em !important; -} -.dhxform_obj_material .dhx_file_uploader { - position: relative; - width: 100%; - margin-bottom: 4px; -} -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls { - position: relative; - width: 100%; - height: 35px; - font-size: 2px; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button { - position: absolute; - width: 24px; - height: 24px; - top: 8px; - background-image: url("../imgs/dhxform_material/dhxform_upload_buttons.png"); - background-repeat: no-repeat; - font-size: 2px; - cursor: pointer; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100); - z-index: 1; - -webkit-tap-highlight-color: rgba(0,0,0,0); -} -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_info { - display: none; -} -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_browse { - background-position: 0px 0px; - right: 108px; -} -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_upload { - background-position: -24px 0px; - right: 79px; -} -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_cancel { - background-position: -72px 0px; - right: 79px; -} -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls div.dhx_file_uploader_button.button_clear { - background-position: -48px 0px; - right: 50px; -} -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls .dhx_uploader_input { - position: absolute; - left: -1000px; - top: 0px; - visibility: hidden; -} -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls div.dhx_file_form_cont { - position: absolute; - width: 19px; - height: 19px; - left: 0px; - top: 0px; - cursor: pointer; - overflow: hidden; -} -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls div.dhx_file_form_cont form.dhx_file_form { - position: absolute; - top: 0px; - right: 0px; - cursor: pointer; -} -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls div.dhx_file_form_cont form.dhx_file_form .dhx_file_input { - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); - cursor: pointer; - outline: none; - height: 19px; -} -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files { - position: relative; - width: 100%; - left: 0px; - top: 0px; - overflow: auto; -} -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files div.dhx_file { - position: relative; - width: 100%; - height: 25px; - overflow: hidden; -} -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_added, -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_uploading { - color: black; -} -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_uploaded { - color: #646464; -} -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files div.dhx_file.dhx_file_fail { - color: #e94a4a; -} -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files div.dhx_file_param { - position: absolute; - font-family: inherit; - font-size: inherit; - color: inherit; - top: 0px; - height: 25px; - line-height: 25px; - vertical-align: middle; - overflow: hidden; -} -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_name { - left: 20px; -} -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_progress { - right: 50px; - width: 38px; - text-align: right; -} -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_delete { - right: 30px; - width: 12px; - background-image: url("../imgs/dhxform_material/dhxform_upload_buttons.png"); - background-position: -96px 1px; - background-repeat: no-repeat; - cursor: pointer; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files div.dhx_file_param.dhx_file_uploading { - right: 50px; - width: 38px; - text-align: right; - background-image: url("../imgs/dhxform_material/dhxform_upload_uploading.gif"); - background-position: center center; - background-repeat: no-repeat; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxform_obj_material .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls { - height: 60px; -} -.dhxform_obj_material .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_files { - display: none; -} -.dhxform_obj_material .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_info { - display: inline; - background-image: none; - height: auto; - top: 0px; - left: 35px; - vertical-align: top; - padding-top: 6px; - line-height: 20px; - cursor: default; - filter: none; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -.dhxform_obj_material .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_browse { - top: 0px; - width: 54px; - height: 54px; - right: 35px; - background-image: url("../imgs/dhxform_material/dhxform_upload_buttons.png"); - background-position: 0px -48px; - background-repeat: no-repeat; -} -.dhxform_obj_material .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_upload, -.dhxform_obj_material .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_cancel, -.dhxform_obj_material .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_uploader_button.button_clear { - display: none; -} -.dhxform_obj_material .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_form_cont { - width: 54px; - height: 54px; -} -.dhxform_obj_material .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls div.dhx_file_form_cont form.dhx_file_form .dhx_file_input { - height: 54px; -} -.dhxform_obj_material .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_info, -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_added, -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_uploading, -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_uploaded, -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file.dhx_file_fail { - color: #a6a6a6; -} -.dhxform_obj_material .dhx_file_uploader.dhx_file_uploader_title div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_browse { - background-position: -54px -48px; - cursor: default; -} -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_form_cont { - display: none; -} -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button { - cursor: default; -} -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_browse { - background-position: 0px -24px; -} -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_upload { - background-position: -24px -24px; -} -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_cancel { - background-position: -72px -24px; -} -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_controls.dhx_uploader_dis div.dhx_file_uploader_button.button_clear { - background-position: -48px -24px; -} -.dhxform_obj_material .dhx_file_uploader div.dhx_upload_files.dhx_uploader_dis div.dhx_file_param.dhx_file_delete { - background-position: -108px 1px; - cursor: default; -} -.dhxform_obj_material div.dhxform_image { - position: relative; - overflow: hidden; - border: 1px solid #dfdfdf; -} -.dhxform_obj_material div.dhxform_image img.dhxform_image_img { - position: absolute; -} -.dhxform_obj_material div.dhxform_image div.dhxform_image_wrap { - position: absolute; - background-color: white; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - overflow: hidden; - *border: 1px solid white; - *height: 1000px; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); - -webkit-transition: opacity 0.6s; - -moz-transition: opacity 0.6s; - -ms-transition: opacity 0.6s; - -o-transition: opacity 0.6s; - transition: opacity 0.6s; -} -.dhxform_obj_material div.dhxform_image div.dhxform_image_wrap.dhxform_image_in_progress { - background-image: url("../imgs/dhxform_material/dhxform_image_uploading.gif"); - background-position: center center; - background-repeat: no-repeat; - *border-width: 0px; - *height: 100%; - opacity: 0.85; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=85); - -webkit-transition: opacity 0.1s; - -moz-transition: opacity 0.1s; - -ms-transition: opacity 0.1s; - -o-transition: opacity 0.1s; - transition: opacity 0.1s; -} -.dhxform_obj_material div.dhxform_image div.dhxform_image_wrap.dhxform_image_in_progress form.dhxform_image_form { - display: none; -} -.dhxform_obj_material div.dhxform_image div.dhxform_image_wrap form.dhxform_image_form { - position: absolute; - top: 0px; - right: 0px; - cursor: pointer; -} -.dhxform_obj_material div.dhxform_image div.dhxform_image_wrap form.dhxform_image_form input.dhxform_image_input { - cursor: pointer; - outline: none; - height: 1000px; - font-size: 100px; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxform_obj_material div.disabled div.dhxform_image { - border-color: #f9f9f9; -} -.dhxform_obj_material div.disabled div.dhxform_image img.dhxform_image_img { - opacity: 0.5; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50); -} -.dhxform_obj_material div.disabled div.dhxform_image div.dhxform_image_wrap { - cursor: default; -} -.dhxform_obj_material div.disabled div.dhxform_image form.dhxform_image_form { - display: none; -} -div.dhx_form_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 40px; - height: 10px; - overflow: hidden; -} diff --git a/themes/sources4.0/dhtmlxGrid/codebase/dhtmlxgrid.js b/themes/sources4.0/dhtmlxGrid/codebase/dhtmlxgrid.js deleted file mode 100644 index 14a2cb4..0000000 --- a/themes/sources4.0/dhtmlxGrid/codebase/dhtmlxgrid.js +++ /dev/null @@ -1,8114 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -//latest dev. version - -/*_TOPICS_ -@0:initialization -@1:selection control -@2:rows control -@3:colums control -@4:cells controll -@5:data manipulation -@6:appearence control -@7:overal control -@8:tools -@9:treegrid -@10: event handlers -@11: paginal output -*/ - -var globalActiveDHTMLGridObject; -String.prototype._dhx_trim=function(){ - return this.replace(/ /g, " ").replace(/(^[ \t]*)|([ \t]*$)/g, ""); -} - -function dhtmlxArray(ar){ - return dhtmlXHeir((ar||new Array()), dhtmlxArray._master); -}; -dhtmlxArray._master={ - _dhx_find:function(pattern){ - for (var i = 0; i < this.length; i++){ - if (pattern == this[i]) - return i; - } - return -1; - }, - _dhx_insertAt:function(ind, value){ - this[this.length]=null; - for (var i = this.length-1; i >= ind; i--) - this[i]=this[i-1] - this[ind]=value - }, - _dhx_removeAt:function(ind){ - this.splice(ind,1) - }, - _dhx_swapItems:function(ind1, ind2){ - var tmp = this[ind1]; - this[ind1]=this[ind2] - this[ind2]=tmp; - } -} - -/** -* @desc: dhtmlxGrid constructor -* @param: id - (optional) id of div element to base grid on -* @returns: dhtmlxGrid object -* @type: public -*/ -function dhtmlXGridObject(id){ - if (_isIE) - try{ - document.execCommand("BackgroundImageCache", false, true); - } - catch (e){} - - if (id){ - if (typeof (id) == 'object'){ - this.entBox=id - if (!this.entBox.id) this.entBox.id="cgrid2_"+this.uid(); - } else - this.entBox=document.getElementById(id); - } else { - this.entBox=document.createElement("DIV"); - this.entBox.id="cgrid2_"+this.uid(); - } - this.entBox.innerHTML=""; - dhtmlxEventable(this); - - var self = this; - - this._wcorr=0; - this.fontWidth = 7; - this.cell=null; - this.row=null; - this.iconURL=""; - this.editor=null; - this._f2kE=true; - this._dclE=true; - this.combos=new Array(0); - this.defVal=new Array(0); - this.rowsAr={ - }; - - this.rowsBuffer=dhtmlxArray(); - this.rowsCol=dhtmlxArray(); //array of rows by index - - this._data_cache={ - }; - - this._ecache={ - } - - this._ud_enabled=true; - this.xmlLoader=new dtmlXMLLoaderObject(this.doLoadDetails, this, true, this.no_cashe); - - this._maskArr=[]; - this.selectedRows=dhtmlxArray(); //selected rows array - - this.UserData={};//hash of row related userdata (and for grid - "gridglobaluserdata") - this._sizeFix=this._borderFix=0; - /*MAIN OBJECTS*/ - - this.entBox.className+=" gridbox"; - - this.entBox.style.width=this.entBox.getAttribute("width") - ||(window.getComputedStyle - ? (this.entBox.style.width||window.getComputedStyle(this.entBox, null)["width"]) - : (this.entBox.currentStyle - ? this.entBox.currentStyle["width"] - : this.entBox.style.width||0)) - ||"100%"; - - this.entBox.style.height=this.entBox.getAttribute("height") - ||(window.getComputedStyle - ? (this.entBox.style.height||window.getComputedStyle(this.entBox, null)["height"]) - : (this.entBox.currentStyle - ? this.entBox.currentStyle["height"] - : this.entBox.style.height||0)) - ||"100%"; - //cursor and text selection - this.entBox.style.cursor='default'; - - this.entBox.onselectstart=function(){ - return false - }; //avoid text select - var t_creator=function(name){ - var t=document.createElement("TABLE"); - t.cellSpacing=t.cellPadding=0; - t.style.cssText='width:100%;table-layout:fixed;'; - t.className=name.substr(2); - return t; - } - this.obj=t_creator("c_obj"); - this.hdr=t_creator("c_hdr"); - this.hdr.style.marginRight="20px"; - this.hdr.style.paddingRight="20px"; - - this.objBox=document.createElement("DIV"); - this.objBox.style.width="100%"; - this.objBox.style.overflow="auto"; - this.objBox.appendChild(this.obj); - this.objBox.className="objbox"; - - if (dhtmlx.$customScroll) - dhtmlx.CustomScroll.enable(this); - - this.hdrBox=document.createElement("DIV"); - this.hdrBox.style.width="100%" - this.hdrBox.style.height="25px"; - this.hdrBox.style.overflow="hidden"; - this.hdrBox.className="xhdr"; - - - this.preloadImagesAr=new Array(0) - - this.sortImg=document.createElement("DIV") - this.sortImg.style.display="none"; - - this.hdrBox.appendChild(this.sortImg) - this.hdrBox.appendChild(this.hdr); - this.hdrBox.style.position="relative"; - - this.entBox.appendChild(this.hdrBox); - this.entBox.appendChild(this.objBox); - - //add links to current object - this.entBox.grid=this; - this.objBox.grid=this; - this.hdrBox.grid=this; - this.obj.grid=this; - this.hdr.grid=this; - - /*PROPERTIES*/ - this.cellWidthPX=[]; //current width in pixels - this.cellWidthPC=[]; //width in % if cellWidthType set in pc - this.cellWidthType=this.entBox.cellwidthtype||"px"; //px or % - - this.delim=this.entBox.delimiter||","; - this._csvDelim=","; - - this.hdrLabels=[]; - this.columnIds=[]; - this.columnColor=[]; - this._hrrar=[]; - this.cellType=dhtmlxArray(); - this.cellAlign=[]; - this.initCellWidth=[]; - this.fldSort=[]; - this._srdh=(_isIE && (document.compatMode != "BackCompat") ? 22 : 20); - this.imgURL=window.dhx_globalImgPath||""; - this.isActive=false; //fl to indicate if grid is in work now - this.isEditable=true; - this.useImagesInHeader=false; //use images in header or not - this.pagingOn=false; //paging on/off - this.rowsBufferOutSize=0; //number of rows rendered at a moment - /*EVENTS*/ - dhtmlxEvent(window, "unload", function(){ - try{ - if (self.destructor) self.destructor(); - } - catch (e){} - }); - - /*XML LOADER(S)*/ - /** - * @desc: set one of predefined css styles (xp, mt, gray, light, clear, modern) - * @param: name - style name - * @type: public - * @topic: 0,6 - */ - this.setSkin=function(name){ - this.skin_name=name; - if (this._imgURL) - this.setImagePath(this._imgURL); - - var classname = this.entBox.className.split(" gridbox")[0]; - this.entBox.className=classname + " gridbox gridbox_"+name+(_isIE?" isIE":" isModern"); - this.skin_h_correction=0; - -//#alter_css:06042008{ - this.enableAlterCss("ev_"+name, "odd_"+name, this.isTreeGrid()) - this._fixAlterCss() -//#} - switch (name){ - case "clear": - this._topMb=document.createElement("DIV"); - this._topMb.className="topMumba"; - this._topMb.innerHTML=""; - this.entBox.appendChild(this._topMb); - this._botMb=document.createElement("DIV"); - this._botMb.className="bottomMumba"; - this._botMb.innerHTML=""; - this.entBox.appendChild(this._botMb); - if (this.entBox.style.position != "absolute") - this.entBox.style.position="relative"; - this.skin_h_correction=20; - break; - - case "dhx_terrace": - this._srdh=33; - this.forceDivInHeader=true; - break; - - case "dhx_skyblue": - case "dhx_web": - case "glassy_blue": - case "dhx_black": - case "dhx_blue": - case "modern": - case "light": - this._srdh=29; - this.forceDivInHeader=true; - break; - - case "xp": - this.forceDivInHeader=true; - if ((_isIE)&&(document.compatMode != "BackCompat")) - this._srdh=26; - else this._srdh=22; - break; - - case "mt": - if ((_isIE)&&(document.compatMode != "BackCompat")) - this._srdh=26; - else this._srdh=22; - break; - - case "gray": - if ((_isIE)&&(document.compatMode != "BackCompat")) - this._srdh=22; - break; - case "sbdark": - break; - } - - if (_isIE&&this.hdr){ - var d = this.hdr.parentNode; - d.removeChild(this.hdr); - d.appendChild(this.hdr); - } - this.setSizes(); - } - - if (_isIE) - this.preventIECaching(true); - if (window.dhtmlDragAndDropObject) - this.dragger=new dhtmlDragAndDropObject(); - - /*METHODS. SERVICE*/ - /** - * @desc: on scroll grid inner actions - * @type: private - * @topic: 7 - */ - this._doOnScroll=function(e, mode){ - this.callEvent("onScroll", [ - this.objBox.scrollLeft, - this.objBox.scrollTop - ]); - - this.doOnScroll(e, mode); - } - /** - * @desc: on scroll grid more inner action - * @type: private - * @topic: 7 - */ - this.doOnScroll=function(e, mode){ - this.hdrBox.scrollLeft=this.objBox.scrollLeft; - if (this.ftr) - this.ftr.parentNode.scrollLeft=this.objBox.scrollLeft; - - if (mode) - return; - - if (this._srnd){ - if (this._dLoadTimer) - window.clearTimeout(this._dLoadTimer); - this._dLoadTimer=window.setTimeout(function(){ - if (self._update_srnd_view) - self._update_srnd_view(); - }, 100); - } - } - /** - * @desc: attach grid to some object in DOM - * @param: obj - object to attach to - * @type: public - * @topic: 0,7 - */ - this.attachToObject=function(obj){ - obj.appendChild(this.globalBox?this.globalBox:this.entBox); - //this.objBox.style.height=this.entBox.style.height; - this.setSizes(); - } - /** - * @desc: initialize grid - * @param: fl - if to parse on page xml data island - * @type: public - * @topic: 0,7 - */ - this.init=function(fl){ - if ((this.isTreeGrid())&&(!this._h2)){ - this._h2=new dhtmlxHierarchy(); - - if ((this._fake)&&(!this._realfake)) - this._fake._h2=this._h2; - this._tgc={ - imgURL: null - }; - } - - if (!this._hstyles) - return; - - if (!this.skin_name) - this.setSkin("dhx_skyblue"); - - this.editStop() - /*TEMPORARY STATES*/ - this.lastClicked=null; //row clicked without shift key. used in multiselect only - this.resized=null; //hdr cell that is resized now - this.fldSorted=this.r_fldSorted=null; //hdr cell last sorted - //empty grid if it already was initialized - this.cellWidthPX=[]; - this.cellWidthPC=[]; - - if (this.hdr.rows.length > 0){ - var temp = this.xmlFileUrl; - this.clearAll(true); - this.xmlFileUrl = temp; - } - - var hdrRow = this.hdr.insertRow(0); - - for (var i = 0; i < this.hdrLabels.length; i++){ - hdrRow.appendChild(document.createElement("TH")); - hdrRow.childNodes[i]._cellIndex=i; - hdrRow.childNodes[i].style.height="0px"; - } - - if (_isIE && _isIE<8 && document.body.style.msTouchAction == this.undefined) - hdrRow.style.position="absolute"; - else - hdrRow.style.height='auto'; - - var hdrRow = this.hdr.insertRow(_isKHTML ? 2 : 1); - - hdrRow._childIndexes=new Array(); - var col_ex = 0; - - for (var i = 0; i < this.hdrLabels.length; i++){ - hdrRow._childIndexes[i]=i-col_ex; - - if ((this.hdrLabels[i] == this.splitSign)&&(i != 0)){ - if (_isKHTML) - hdrRow.insertCell(i-col_ex); - hdrRow.cells[i-col_ex-1].colSpan=(hdrRow.cells[i-col_ex-1].colSpan||1)+1; - hdrRow.childNodes[i-col_ex-1]._cellIndex++; - col_ex++; - hdrRow._childIndexes[i]=i-col_ex; - continue; - } - - hdrRow.insertCell(i-col_ex); - - hdrRow.childNodes[i-col_ex]._cellIndex=i; - hdrRow.childNodes[i-col_ex]._cellIndexS=i; - this.setColumnLabel(i, this.hdrLabels[i]); - } - - if (col_ex == 0) - hdrRow._childIndexes=null; - this._cCount=this.hdrLabels.length; - - if (_isIE) - window.setTimeout(function(){ - if (self.setSizes) - self.setSizes(); - }, 1); - - //create virtual top row - if (!this.obj.firstChild) - this.obj.appendChild(document.createElement("TBODY")); - - var tar = this.obj.firstChild; - - if (!tar.firstChild){ - tar.appendChild(document.createElement("TR")); - tar=tar.firstChild; - - if (_isIE && _isIE<8 && document.body.style.msTouchAction == this.undefined) - tar.style.position="absolute"; - else - tar.style.height='auto'; - - for (var i = 0; i < this.hdrLabels.length; i++){ - tar.appendChild(document.createElement("TH")); - tar.childNodes[i].style.height="0px"; - } - } - - this._c_order=null; - - if (this.multiLine != true) - this.obj.className+=" row20px"; - - // - //this.combos = new Array(this.hdrLabels.length); - //set sort image to initial state - this.sortImg.style.position="absolute"; - this.sortImg.style.display="none"; - this.sortImg.className = "dhxgrid_sort_desc"; - this.sortImg.defLeft=0; - - if (this.noHeader){ - this.hdrBox.style.display='none'; - } - else { - this.noHeader=false - } -//#__pro_feature:21092006{ -//#column_hidden:21092006{ - if (this._ivizcol) - this.setColHidden(); -//#} -//#} -//#header_footer:06042008{ - this.attachHeader(); - this.attachHeader(0, 0, "_aFoot"); -//#} - this.setSizes(); - - if (fl) - this.parseXML() - this.obj.scrollTop=0 - - if (this.dragAndDropOff) - this.dragger.addDragLanding(this.entBox, this); - - if (this._initDrF) - this._initD(); - - if (this._init_point) - this._init_point(); - }; - - this.setColumnSizes=function(gridWidth){ - var summ = 0; - var fcols = []; //auto-size columns - - var fix = 0; - for (var i = 0; i < this._cCount; i++){ - if ((this.initCellWidth[i] == "*") && !this._hrrar[i]){ - this._awdth=false; //disable auto-width - fcols.push(i); - continue; - } - - if (this.cellWidthType == '%'){ - if (typeof this.cellWidthPC[i]=="undefined") - this.cellWidthPC[i]=this.initCellWidth[i]; - var cwidth = (gridWidth*this.cellWidthPC[i]/100)||0; - if (fix>0.5){ - cwidth++; - fix--; - } - var rwidth = this.cellWidthPX[i]=Math.floor(cwidth); - var fix =fix + cwidth - rwidth; - } else{ - if (typeof this.cellWidthPX[i]=="undefined") - this.cellWidthPX[i]=this.initCellWidth[i]; - } - if (!this._hrrar[i]) - summ+=this.cellWidthPX[i]*1; - } - - //auto-size columns - if (fcols.length){ - var ms = Math.floor((gridWidth-summ)/fcols.length); - if (ms < 0) ms=1; - - for (var i = 0; i < fcols.length; i++){ - var next=Math.max((this._drsclmW ? (this._drsclmW[fcols[i]]||0) : 0),ms) - this.cellWidthPX[fcols[i]]=next; - summ+=next; - } - - if(gridWidth > summ){ - var last=fcols[fcols.length-1]; - this.cellWidthPX[last]=this.cellWidthPX[last] + (gridWidth-summ); - summ = gridWidth; - } - - this._setAutoResize(); - } - - - this.obj.style.width=summ+"px"; - this.hdr.style.width=summ+"px"; - if (this.ftr) this.ftr.style.width=summ+"px"; - - this.chngCellWidth(); - return summ; - } - - /**shz)_ - * @desc: sets sizes of grid elements - * @type: private - * @topic: 0,7 - */ - this.setSizes=function(){ - //drop processing if grid still not initialized - if ((!this.hdr.rows[0])) return; - - var quirks=this.quirks = (_isIE && document.compatMode=="BackCompat"); - var outerBorder=(this.entBox.offsetWidth-this.entBox.clientWidth)/2; - - if (!this.dontSetSizes){ - if (this.globalBox){ - var splitOuterBorder=(this.globalBox.offsetWidth-this.globalBox.clientWidth)/2; - if (this._delta_x && !this._realfake){ - var ow = this.globalBox.clientWidth; - this.globalBox.style.width=this._delta_x; - this.entBox.style.width=Math.max(0,(this.globalBox.clientWidth+(quirks?splitOuterBorder*2:0))-this._fake.entBox.clientWidth)+"px"; - if (ow != this.globalBox.clientWidth){ - this._fake._correctSplit(this._fake.entBox.clientWidth); - } - } - if (this._delta_y && !this._realfake){ - this.globalBox.style.height = this._delta_y; - this.entBox.style.overflow = this._fake.entBox.style.overflow="hidden"; - this.entBox.style.height = this._fake.entBox.style.height=this.globalBox.clientHeight+(quirks?splitOuterBorder*2:0)+"px"; - } - } else { - if (this._delta_x){ - /*when placed directly in TD tag, container can't use native percent based sizes, - because table auto-adjust to show all content - too clever*/ - if (this.entBox.parentNode && this.entBox.parentNode.tagName=="TD"){ - this.entBox.style.width="1px"; - this.entBox.style.width=parseInt(this._delta_x)*this.entBox.parentNode.clientWidth/100-outerBorder*2+"px"; - }else - this.entBox.style.width=this._delta_x; - } - if (this._delta_y) - this.entBox.style.height=this._delta_y; - } - } - - //if we have container without sizes, wait untill sizes defined - window.clearTimeout(this._sizeTime); - if (!this.entBox.offsetWidth && (!this.globalBox || !this.globalBox.offsetWidth)){ - this._sizeTime=window.setTimeout(function(){ - if (self.setSizes) - self.setSizes(); - }, 250); - return; - } - - var border_x = ((!this._wthB) && ((this.entBox.cmp||this._delta_x) && (this.skin_name||"").indexOf("dhx")==0 && !quirks)?2:0); - var border_y = ((!this._wthB) && ((this.entBox.cmp||this._delta_y) && (this.skin_name||"").indexOf("dhx")==0 && !quirks)?2:0); - - if (this._sizeFix){ - border_x -= this._sizeFix; - border_y -= this._sizeFix; - } - - var isVScroll = this.parentGrid?false:(this.objBox.scrollHeight > this.objBox.offsetHeight); - - var scrfix = dhtmlx.$customScroll?0:18; - - var gridWidth=this.entBox.clientWidth-(this.skin_h_correction||0)*(quirks?0:1)-border_x; - var gridWidthActive=this.entBox.clientWidth-(this.skin_h_correction||0)-border_x; - var gridHeight=this.entBox.clientHeight-border_y; - var summ=this.setColumnSizes(gridWidthActive-(isVScroll?scrfix:0)-(this._correction_x||0)); - - var isHScroll = this.parentGrid?false:((this.objBox.scrollWidth > this.objBox.offsetWidth)||(this.objBox.style.overflowX=="scroll")); - var headerHeight = this.hdr.clientHeight; - var footerHeight = this.ftr?this.ftr.clientHeight:0; - var newWidth=gridWidth; - var newHeight=gridHeight-headerHeight-footerHeight; - - //if we have auto-width without limitations - ignore h-scroll - if (this._awdth && this._awdth[0] && this._awdth[1]==99999) isHScroll=0; - //auto-height - if (this._ahgr){ - if (this._ahgrMA) - newHeight=this.entBox.parentNode.clientHeight-headerHeight-footerHeight; - else - newHeight=this.obj.offsetHeight+(isHScroll?scrfix:0)+(this._correction_y||0); - - if (this._ahgrM){ - if (this._ahgrF) - newHeight=Math.min(this._ahgrM,newHeight+headerHeight+footerHeight)-headerHeight-footerHeight; - else - newHeight=Math.min(this._ahgrM,newHeight); - - } - if (isVScroll && newHeight>=this.obj.scrollHeight+(isHScroll?scrfix:0)){ - isVScroll=false;//scroll will be compensated; - this.setColumnSizes(gridWidthActive-(this._correction_x||0)); //correct auto-size columns - } - } - - //auto-width - if ((this._awdth)&&(this._awdth[0])){ - //convert percents to PX, because auto-width with procents has no sense - if (this.cellWidthType == '%') this.cellWidthType="px"; - - if (this._fake) summ+=this._fake.entBox.clientWidth; //include fake grid in math - var newWidth=Math.min(Math.max(summ+(isVScroll?scrfix:0),this._awdth[2]),this._awdth[1])+(this._correction_x||0); - this.objBox.style.overflowX = (!isVScroll && this.objBox.scrollWidth <= newWidth)?"hidden":"auto"; - if (this._fake) newWidth-=this._fake.entBox.clientWidth; - } - - newHeight=Math.max(0,newHeight);//validate value for IE - - //FF3.1, bug in table rendering engine - this._ff_size_delta=(this._ff_size_delta==0.1)?0.2:0.1; - if (!_isFF) this._ff_size_delta=0; - - if (!this.dontSetSizes){ - this.entBox.style.width=Math.max(0,newWidth+(quirks?2:0)*outerBorder+this._ff_size_delta)+"px"; - this.entBox.style.height=newHeight+(quirks?2:0)*outerBorder+headerHeight+footerHeight+"px"; - } - this.objBox.style.height=newHeight+((quirks&&!isVScroll)?2:0)*outerBorder+"px";//):this.entBox.style.height); - this.hdrBox.style.height=headerHeight+"px"; - - - if (newHeight != gridHeight) - this.doOnScroll(0, !this._srnd); - var ext=this["setSizes_"+this.skin_name]; - if (ext) ext.call(this); - - this.setSortImgPos(); - - //it possible that changes of size, has changed header height - if (headerHeight != this.hdr.clientHeight && this._ahgr) - this.setSizes(); - this.callEvent("onSetSizes",[]); - }; - this.setSizes_clear=function(){ - var y=this.hdr.offsetHeight; - var x=this.entBox.offsetWidth; - var y2=y+this.objBox.offsetHeight; - this._topMb.style.top=(y||0)+"px"; - this._topMb.style.width=(x+20)+"px"; - this._botMb.style.top=(y2-3)+"px"; - this._botMb.style.width=(x+20)+"px"; - }; - /** - * @desc: changes cell width - * @param: [ind] - index of row in grid - * @type: private - * @topic: 4,7 - */ - this.chngCellWidth=function(){ - if ((_isOpera)&&(this.ftr)) - this.ftr.width=this.objBox.scrollWidth+"px"; - var l = this._cCount; - - for (var i = 0; i < l; i++){ - this.hdr.rows[0].cells[i].style.width=this.cellWidthPX[i]+"px"; - this.obj.rows[0].childNodes[i].style.width=this.cellWidthPX[i]+"px"; - - if (this.ftr) - this.ftr.rows[0].cells[i].style.width=this.cellWidthPX[i]+"px"; - } - } - /** - * @desc: set delimiter character used in list values (default is ",") - * @param: delim - delimiter as string - * @before_init: 1 - * @type: public - * @topic: 0 - */ - this.setDelimiter=function(delim){ - this.delim=delim; - } - /** - * @desc: set width of columns in percents - * @type: public - * @before_init: 1 - * @param: wp - list of column width in percents - * @topic: 0,7 - */ - this.setInitWidthsP=function(wp){ - this.cellWidthType="%"; - this.initCellWidth=wp.split(this.delim.replace(/px/gi, "")); - if (!arguments[1]) this._setAutoResize(); - } - /** - * @desc: - * @type: private - * @topic: 0 - */ - this._setAutoResize=function(){ - if (this._realfake) return; - var el = window; - var self = this; - - dhtmlxEvent(window,"resize",function(){ - window.clearTimeout(self._resize_timer); - if (self._setAutoResize) - self._resize_timer=window.setTimeout(function(){ - if (self.setSizes) - self.setSizes(); - if (self._fake) - self._fake._correctSplit(); - }, 100); - }) - } - - - /** - * @desc: set width of columns in pixels - * @type: public - * @before_init: 1 - * @param: wp - list of column width in pixels - * @topic: 0,7 - */ - this.setInitWidths=function(wp){ - this.cellWidthType="px"; - this.initCellWidth=wp.split(this.delim); - - if (_isFF){ - for (var i = 0; i < this.initCellWidth.length; i++) - if (this.initCellWidth[i] != "*") - this.initCellWidth[i]=parseInt(this.initCellWidth[i]); - } - } - - /** - * @desc: set multiline rows support to enabled or disabled state - * @type: public - * @before_init: 1 - * @param: state - true or false - * @topic: 0,7 - */ - this.enableMultiline=function(state){ - this.multiLine=convertStringToBoolean(state); - } - - /** - * @desc: set multiselect mode to enabled or disabled state - * @type: public - * @param: state - true or false - * @topic: 0,7 - */ - this.enableMultiselect=function(state){ - this.selMultiRows=convertStringToBoolean(state); - } - - /** - * @desc: set path to grid internal images (sort direction, any images used in editors, checkbox, radiobutton) - * @type: public - * @param: path - url (or relative path) of images folder with closing "/" - * @topic: 0,7 - */ - this.setImagePath=function(path){ - this._imgURL= path; - this.imgURL = path + "dhxgrid_"+(this.skin_name || "dhx_skyblue").replace("dhx_", "") + "/"; - this.iconTree = this.imgURL + "tree/"; - } - this.setImagesPath=this.setImagePath; - /** - * @desc: set path to external images used in grid ( tree and img column types ) - * @type: public - * @param: path - url (or relative path) of images folder with closing "/" - * @topic: 0,7 - */ - this.setIconPath=function(path){ - this.iconURL=path; - } - this.setIconsPath=this.setIconPath; -//#column_resize:06042008{ - /** - * @desc: part of column resize routine - * @type: private - * @param: ev - event - * @topic: 3 - */ - this.changeCursorState=function(ev){ - var el = ev.target||ev.srcElement; - - if (el.tagName != "TD") - el=this.getFirstParentOfType(el, "TD") - if (!el) return; - if ((el.tagName == "TD")&&(this._drsclmn)&&(!this._drsclmn[el._cellIndex])) - return el.style.cursor="default"; - var check = (ev.layerX||0)+(((!_isIE)&&(ev.target.tagName == "DIV")) ? el.offsetLeft : 0); - if ((el.offsetWidth-(ev.offsetX||(parseInt(this.getPosition(el, this.hdrBox))-check)*-1)) < (_isOpera?20:10)){ - el.style.cursor="E-resize"; - } - else{ - el.style.cursor="default"; - } - - if (_isOpera) - this.hdrBox.scrollLeft=this.objBox.scrollLeft; - } - /** - * @desc: part of column resize routine - * @type: private - * @param: ev - event - * @topic: 3 - */ - this.startColResize=function(ev){ - if (this.resized) this.stopColResize(); - this.resized=null; - var el = ev.target||ev.srcElement; - if (el.tagName != "TD") - el=this.getFirstParentOfType(el, "TD") - var x = ev.clientX; - var tabW = this.hdr.offsetWidth; - var startW = parseInt(el.offsetWidth) - - if (el.tagName == "TD"&&el.style.cursor != "default"){ - if ((this._drsclmn)&&(!this._drsclmn[el._cellIndex])) - return; - - self._old_d_mm=document.body.onmousemove; - self._old_d_mu=document.body.onmouseup; - document.body.onmousemove=function(e){ - if (self) - self.doColResize(e||window.event, el, startW, x, tabW) - } - document.body.onmouseup=function(){ - if (self) - self.stopColResize(); - } - } - } - /** - * @desc: part of column resize routine - * @type: private - * @param: ev - event - * @topic: 3 - */ - this.stopColResize=function(){ - document.body.onmousemove=self._old_d_mm||""; - document.body.onmouseup=self._old_d_mu||""; - this.setSizes(); - this.doOnScroll(0, 1) - this.callEvent("onResizeEnd", [this]); - } - /** - * @desc: part of column resize routine - * @param: el - element (column resizing) - * @param: startW - started width - * @param: x - x coordinate to resize from - * @param: tabW - started width of header table - * @type: private - * @topic: 3 - */ - this.doColResize=function(ev, el, startW, x, tabW){ - el.style.cursor="E-resize"; - this.resized=el; - var fcolW = startW+(ev.clientX-x); - var wtabW = tabW+(ev.clientX-x) - - if (!(this.callEvent("onResize", [ - el._cellIndex, - fcolW, - this - ]))) - return; - - if (_isIE) - this.objBox.scrollLeft=this.hdrBox.scrollLeft; - - if (el.colSpan > 1){ - var a_sizes = new Array(); - - for (var i = 0; - i < el.colSpan; - i++)a_sizes[i]=Math.round(fcolW*this.hdr.rows[0].childNodes[el._cellIndexS+i].offsetWidth/el.offsetWidth); - - for (var i = 0; i < el.colSpan; i++) - this._setColumnSizeR(el._cellIndexS+i*1, a_sizes[i]); - } else - this._setColumnSizeR(el._cellIndex, fcolW); - this.doOnScroll(0, 1); - - this.setSizes(); - if (this._fake && this._awdth) this._fake._correctSplit(); - } - - /** - * @desc: set width of grid columns ( zero row of header and body ) - * @type: private - * @topic: 7 - */ - this._setColumnSizeR=function(ind, fcolW){ - if (fcolW > ((this._drsclmW&&!this._notresize) ? (this._drsclmW[ind]||10) : 10)){ - this.obj.rows[0].childNodes[ind].style.width=fcolW+"px"; - this.hdr.rows[0].childNodes[ind].style.width=fcolW+"px"; - - if (this.ftr) - this.ftr.rows[0].childNodes[ind].style.width=fcolW+"px"; - - if (this.cellWidthType == 'px'){ - this.cellWidthPX[ind]=fcolW; - } - else { - var gridWidth = parseInt(this.entBox.offsetWidth); - - if (this.objBox.scrollHeight > this.objBox.offsetHeight) - gridWidth-=17; - var pcWidth = Math.round(fcolW / gridWidth*100) - this.cellWidthPC[ind]=pcWidth; - } - if (this.sortImg.style.display!="none") - this.setSortImgPos(); - } - } -//#} -//#sorting:06042008{ - /** - * @desc: sets position and visibility of sort arrow - * @param: state - true/false - show/hide image - * @param: ind - index of field - * @param: order - asc/desc - type of image - * @param: row - one based index of header row ( used in multirow headers, top row by default ) - * @type: public - * @topic: 7 - */ - this.setSortImgState=function(state, ind, order, row){ - order=(order||"asc").toLowerCase(); - - if (!convertStringToBoolean(state)){ - this.sortImg.style.display="none"; - this.fldSorted=this.r_fldSorted = null; - return; - } - - if (order == "asc") - this.sortImg.className = "dhxgrid_sort_asc"; - else - this.sortImg.className = "dhxgrid_sort_desc"; - - this.sortImg.style.display=""; - this.fldSorted=this.hdr.rows[0].childNodes[ind]; - var r = this.hdr.rows[row||1]; - if (!r) return; - - for (var i = 0; i < r.childNodes.length; i++){ - if (r.childNodes[i]._cellIndexS == ind){ - this.r_fldSorted=r.childNodes[i]; - return this.setSortImgPos(); - } - } - return this.setSortImgState(state,ind,order,(row||1)+1); - } - - /** - * @desc: sets position and visibility of sort arrow - * @param: ind - index of field - * @param: ind - index of field - * @param: hRowInd - index of row in case of complex header, one-based, optional - - * @type: private - * @topic: 7 - */ - this.setSortImgPos=function(ind, mode, hRowInd, el){ - if (this._hrrar && this._hrrar[this.r_fldSorted?this.r_fldSorted._cellIndex:ind]) return; - if (!el){ - if (!ind) - var el = this.r_fldSorted; - else - var el = this.hdr.rows[hRowInd||0].cells[ind]; - } - - if (el != null){ - var pos = this.getPosition(el, this.hdrBox) - var wdth = el.offsetWidth; - this.sortImg.style.left=Number(pos[0]+wdth-13)+"px"; //Number(pos[0]+5)+"px"; - this.sortImg.defLeft=parseInt(this.sortImg.style.left) - this.sortImg.style.top=Number(pos[1]+5)+"px"; - - if ((!this.useImagesInHeader)&&(!mode)) - this.sortImg.style.display="inline"; - this.sortImg.style.left=this.sortImg.defLeft+"px"; //-parseInt(this.hdrBox.scrollLeft) - } - } -//#} - /** - * @desc: manage activity of the grid. - * @param: fl - true to activate,false to deactivate - * @type: private - * @topic: 1,7 - */ - this.setActive=function(fl){ - if (arguments.length == 0) - var fl = true; - - if (fl == true){ - //document.body.onkeydown = new Function("","document.getElementById('"+this.entBox.id+"').grid.doKey()")// - if (globalActiveDHTMLGridObject&&(globalActiveDHTMLGridObject != this)){ - globalActiveDHTMLGridObject.editStop(); - globalActiveDHTMLGridObject.callEvent("onBlur",[globalActiveDHTMLGridObject]); - } - - globalActiveDHTMLGridObject=this; - this.isActive=true; - } else { - this.isActive=false; - this.callEvent("onBlur",[this]); - } - }; - /** - * @desc: called on click occured - * @type: private - */ - this._doClick=function(ev){ - var selMethod = 0; - var el = this.getFirstParentOfType(_isIE ? ev.srcElement : ev.target, "TD"); - if (!el || !el.parentNode || !el.parentNode.idd) return; - var fl = true; - - //mm - //markers start - if (this.markedCells){ - var markMethod = 0; - - if (ev.shiftKey||ev.metaKey){ - markMethod=1; - } - - if (ev.ctrlKey){ - markMethod=2; - } - this.doMark(el, markMethod); - return true; - } - //markers end - //mm - - if (this.selMultiRows != false){ - if (ev.shiftKey && this.row != null && this.selectedRows.length){ - selMethod=1; - } - - if (ev.ctrlKey||ev.metaKey){ - selMethod=2; - } - } - this.doClick(el, fl, selMethod, false) - }; - -//#context_menu:06042008{ - /** - * @desc: called onmousedown inside grid area - * @type: private - */ - this._doContClick=function(ev){ - var el = this.getFirstParentOfType(_isIE ? ev.srcElement : ev.target, "TD"); - - if ((!el)||( typeof (el.parentNode.idd) == "undefined")){ - this.callEvent("onEmptyClick", [ev]); - return true; - } - - if (ev.button == 2||(_isMacOS&&ev.ctrlKey)){ - if (!this.callEvent("onRightClick", [ - el.parentNode.idd, - el._cellIndex, - ev - ])){ - var z = function(e){ - (e||event).cancelBubble=true; - return false; - }; - - (ev.srcElement||ev.target).oncontextmenu=z; - return z(ev); - } - - if (this._ctmndx){ - if (!(this.callEvent("onBeforeContextMenu", [ - el.parentNode.idd, - el._cellIndex, - this - ]))) - return true; - - if (_isIE) - ev.srcElement.oncontextmenu=function(){ - event.cancelBubble=true; - return false; - }; - - if (this._ctmndx.showContextMenu){ - -var dEl0=window.document.documentElement; -var dEl1=window.document.body; -var corrector = new Array((dEl0.scrollLeft||dEl1.scrollLeft),(dEl0.scrollTop||dEl1.scrollTop)); -if (_isIE){ - var x= ev.clientX+corrector[0]; - var y = ev.clientY+corrector[1]; -} else { - var x= ev.pageX; - var y = ev.pageY; -} - this._ctmndx.showContextMenu(x-1,y-1) - this.contextID=this._ctmndx.contextMenuZoneId=el.parentNode.idd+"_"+el._cellIndex; - this._ctmndx._skip_hide=true; - } else { - el.contextMenuId=el.parentNode.idd+"_"+el._cellIndex; - el.contextMenu=this._ctmndx; - el.a=this._ctmndx._contextStart; - el.a(el, ev); - el.a=null; - } - ev.cancelBubble=true; - return false; - } - } - - else if (this._ctmndx){ - if (this._ctmndx.hideContextMenu) - this._ctmndx.hideContextMenu() - else - this._ctmndx._contextEnd(); - } - return true; - } -//#} - /** - * @desc: occures on cell click (supports treegrid) - * @param: [el] - cell to click on - * @param: [fl] - true if to call onRowSelect function - * @param: [selMethod] - 0 - simple click, 1 - shift, 2 - ctrl - * @param: show - true/false - scroll row to view, true by defaul - * @type: private - * @topic: 1,2,4,9 - */ - this.doClick=function(el, fl, selMethod, show){ - if (!this.selMultiRows) selMethod=0; //block programmatical multiselecton if mode not enabled explitly - var psid = this.row ? this.row.idd : 0; - - this.setActive(true); - - if (!selMethod) - selMethod=0; - - if (this.cell != null) - this.cell.className=this.cell.className.replace(/cellselected/g, ""); - - if (el.tagName == "TD"){ - if (this.checkEvent("onSelectStateChanged")) - var initial = this.getSelectedId(); - var prow = this.row; - if (selMethod == 1){ - var elRowIndex = this.rowsCol._dhx_find(el.parentNode) - var lcRowIndex = this.rowsCol._dhx_find(this.lastClicked) - - if (elRowIndex > lcRowIndex){ - var strt = lcRowIndex; - var end = elRowIndex; - } else { - var strt = elRowIndex; - var end = lcRowIndex; - } - - for (var i = 0; i < this.rowsCol.length; i++) - if ((i >= strt&&i <= end)){ - if (this.rowsCol[i]&&(!this.rowsCol[i]._sRow)){ - if (this.rowsCol[i].className.indexOf("rowselected") - == -1&& ( this._realfake || this.callEvent("onBeforeSelect", [ - this.rowsCol[i].idd, - psid, - el._cellIndex - ]))){ - this.rowsCol[i].className+=" rowselected"; - this.selectedRows[this.selectedRows.length]=this.rowsCol[i] - } - } else { - this.clearSelection(); - return this.doClick(el, fl, 0, show); - } - } - } else if (selMethod == 2){ - if (el.parentNode.className.indexOf("rowselected") != -1){ - el.parentNode.className=el.parentNode.className.replace(/rowselected/g, ""); - this.selectedRows._dhx_removeAt(this.selectedRows._dhx_find(el.parentNode)) - var skipRowSelection = true; - show = false; - } - } - this.editStop() - if (typeof (el.parentNode.idd) == "undefined") - return true; - - if ((!skipRowSelection)&&(!el.parentNode._sRow)){ - if (this._realfake || this.callEvent("onBeforeSelect", [ - el.parentNode.idd, - psid, - el._cellIndex - ])){ - if (this.getSelectedRowId() != el.parentNode.idd){ - if (selMethod == 0) - this.clearSelection(); - this.cell=el; - if ((prow == el.parentNode)&&(this._chRRS)) - fl=false; - this.row=el.parentNode; - this.row.className+=" rowselected" - - if (this.selectedRows._dhx_find(this.row) == -1) - this.selectedRows[this.selectedRows.length]=this.row; - } else { - this.cell=el; - this.row = el.parentNode; - } - } else fl = false; - } - - if (this.cell && this.cell.parentNode.className.indexOf("rowselected") != -1) - this.cell.className=this.cell.className.replace(/cellselected/g, "")+" cellselected"; - - if (selMethod != 1) - if (!this.row) - return; - this.lastClicked=el.parentNode; - - var rid = this.row.idd; - var cid = this.cell; - - if (fl&& typeof (rid) != "undefined" && cid && !skipRowSelection) { - self.onRowSelectTime=setTimeout(function(){ - if (self.callEvent) - self.callEvent("onRowSelect", [ - rid, - cid._cellIndex - ]); - }, 100); - } else this.callEvent("onRowSelectRSOnly",[rid]); - - if (this.checkEvent("onSelectStateChanged")){ - var afinal = this.getSelectedId(); - - if (initial != afinal) - this.callEvent("onSelectStateChanged", [afinal,initial]); - } - } - this.isActive=true; - if (show !== false && this.cell && this.cell.parentNode.idd) - this.moveToVisible(this.cell) - } - - /** - * @desc: select all rows in grid, it doesn't fire any events - * @param: edit - switch selected cell to edit mode - * @type: public - * @topic: 1,4 - */ - this.selectAll=function(){ - this.clearSelection(); - - var coll = this.rowsBuffer; - //in paging mode, we select only current page - if (this.pagingOn) coll = this.rowsCol; - for (var i = 0; i (this.objBox.offsetWidth+this.objBox.scrollLeft)){ - if (cell_obj.offsetLeft > this.objBox.scrollLeft) - scrollLeft= cell_obj.offsetLeft - (this.objBox.offsetWidth - cell_obj.offsetWidth) +5 - } else if (cell_obj.offsetLeft < this.objBox.scrollLeft){ - distance-=cell_obj.offsetWidth*2/3; - if (distance < this.objBox.scrollLeft) - scrollLeft=cell_obj.offsetLeft-5 - } - - if ((scrollLeft)&&(!onlyVScroll)) - this.objBox.scrollLeft=scrollLeft; - } - - - if (!cell_obj.offsetHeight){ - var mask=this._realfake?this._fake.rowsAr[cell_obj.parentNode.idd]:cell_obj.parentNode; - distance = this.rowsBuffer._dhx_find(mask)*this._srdh; - } - else - distance = cell_obj.offsetTop; - var distancemax = distance + cell_obj.offsetHeight+38; - - if (distancemax > (this.objBox.offsetHeight+this.objBox.scrollTop)){ - var scrollTop = distance; - } else if (distance < this.objBox.scrollTop){ - var scrollTop = distance-5 - } - - if (scrollTop) - this.objBox.scrollTop=scrollTop; - } - catch (er){} - } - /** - * @desc: creates Editor object and switch cell to edit mode if allowed - * @type: public - * @topic: 4 - */ - this.editCell = function(){ - if (this.editor&&this.cell == this.editor.cell) - return; //prevent reinit for same cell - - this.editStop(); - - if ((this.isEditable != true)||(!this.cell)) - return false; - var c = this.cell; - -//#locked_row:11052006{ - if (c.parentNode._locked) - return false; -//#} - - this.editor=this.cells4(c); - - //initialize editor - if (this.editor != null){ - if (this.editor.isDisabled()){ - this.editor=null; - return false; - } - - if (this.callEvent("onEditCell", [ - 0, - this.row.idd, - this.cell._cellIndex - ]) != false&&this.editor.edit){ - this._Opera_stop=(new Date).valueOf(); - c.className+=" editable"; - this.editor.edit(); - this.callEvent("onEditCell", [ - 1, - this.row.idd, - this.cell._cellIndex - ]) - } else { //preserve editing - this.editor=null; - } - } - } - /** - * @desc: retuns value from editor(if presents) to cell and closes editor - * @mode: if true - current edit value will be reverted to previous one - * @type: public - * @topic: 4 - */ - this.editStop=function(mode){ - if (_isOpera) - if (this._Opera_stop){ - if ((this._Opera_stop*1+50) > (new Date).valueOf()) - return; - - this._Opera_stop=null; - } - - if (this.editor&&this.editor != null){ - this.editor.cell.className=this.editor.cell.className.replace("editable", ""); - - if (mode){ - var t = this.editor.val; - this.editor.detach(); - this.editor.setValue(t); - this.editor=null; - - this.callEvent("onEditCancel", [ - this.row.idd, - this.cell._cellIndex, - t - ]); - return; - } - - if (this.editor.detach()) - this.cell.wasChanged=true; - - var g = this.editor; - this.editor=null; - var z = this.callEvent("onEditCell", [ - 2, - this.row.idd, - this.cell._cellIndex, - g.getValue(), - g.val - ]); - - if (( typeof (z) == "string")||( typeof (z) == "number")) - g[g.setImage ? "setLabel" : "setValue"](z); - - else if (!z) - g[g.setImage ? "setLabel" : "setValue"](g.val); - - if (this._ahgr && this.multiLine) this.setSizes(); - } - } - /** - * @desc: - * @type: private - */ - this._nextRowCell=function(row, dir, pos){ - row=this._nextRow((this._groups?this.rowsCol:this.rowsBuffer)._dhx_find(row), dir); - - if (!row) - return null; - - return row.childNodes[row._childIndexes ? row._childIndexes[pos] : pos]; - } - /** - * @desc: - * @type: private - */ - this._getNextCell=function(acell, dir, i){ - - acell=acell||this.cell; - - var arow = acell.parentNode; - - if (this._tabOrder){ - i=this._tabOrder[acell._cellIndex]; - - if (typeof i != "undefined") - if (i < 0) - acell=this._nextRowCell(arow, dir, Math.abs(i)-1); - else - acell=arow.childNodes[i]; - } else { - var i = acell._cellIndex+dir; - - if (i >= 0&&i < this._cCount){ - if (arow._childIndexes) - i=arow._childIndexes[acell._cellIndex]+dir; - acell=arow.childNodes[i]; - } else { - - acell=this._nextRowCell(arow, dir, (dir == 1 ? 0 : (this._cCount-1))); - } - } - - if (!acell){ - if ((dir == 1)&&this.tabEnd){ - this.tabEnd.focus(); - this.tabEnd.focus(); - this.setActive(false); - } - - if ((dir == -1)&&this.tabStart){ - this.tabStart.focus(); - this.tabStart.focus(); - this.setActive(false); - } - return null; - } - - //tab out - - // tab readonly - if (acell.style.display != "none" - &&(!this.smartTabOrder||!this.cells(acell.parentNode.idd, acell._cellIndex).isDisabled())) - return acell; - return this._getNextCell(acell, dir); - // tab readonly - - } - /** - * @desc: - * @type: private - */ - this._nextRow=function(ind, dir){ - var r = this.render_row(ind+dir); - if (!r || r==-1) return null; - if (r&&r.style.display == "none") - return this._nextRow(ind+dir, dir); - - return r; - } - /** - * @desc: - * @type: private - */ - this.scrollPage=function(dir){ - if (!this.rowsBuffer.length) return; - var master = this._realfake?this._fake:this; - var new_ind = Math.floor((master._r_select||this.getRowIndex(this.row.idd)||0)+(dir)*this.objBox.offsetHeight / (this._srdh||20)); - - if (new_ind < 0) - new_ind=0; - if (new_ind >= this.rowsBuffer.length) - new_ind=this.rowsBuffer.length-1; - - if (this._srnd && !this.rowsBuffer[new_ind]){ - this.objBox.scrollTop+=Math.floor((dir)*this.objBox.offsetHeight / (this._srdh||20))*(this._srdh||20); - if (this._fake) this._fake.objBox.scrollTop = this.objBox.scrollTop; - master._r_select=new_ind; - } else { - this.selectCell(new_ind, this.cell._cellIndex, true, false,false,(this.multiLine || this._srnd)); - if (!this.multiLine && !this._srnd && !this._realfake){ - this.objBox.scrollTop=this.getRowById(this.getRowId(new_ind)).offsetTop; - if (this._fake) this._fake.objBox.scrollTop = this.objBox.scrollTop; - } - master._r_select=null; - } - } - - /** - * @desc: manages keybord activity in grid - * @type: private - * @topic: 7 - */ - this.doKey=function(ev){ - if (!ev) - return true; - - if ((ev.target||ev.srcElement).value !== window.undefined){ - var zx = (ev.target||ev.srcElement); - - if ((!zx.parentNode)||(zx.parentNode.className.indexOf("editable") == -1)) - return true; - } - - if ((globalActiveDHTMLGridObject)&&(this != globalActiveDHTMLGridObject)) - return globalActiveDHTMLGridObject.doKey(ev); - - if (this.isActive == false){ - //document.body.onkeydown = ""; - return true; - } - - if (this._htkebl) - return true; - - if (!this.callEvent("onKeyPress", [ - ev.keyCode, - ev.ctrlKey, - ev.shiftKey, - ev - ])) - return false; - - var code = "k"+ev.keyCode+"_"+(ev.ctrlKey ? 1 : 0)+"_"+(ev.shiftKey ? 1 : 0); - - if (this.cell){ //if selection exists in grid only - if (this._key_events[code]){ - if (false === this._key_events[code].call(this)) - return true; - - if (ev.preventDefault) - ev.preventDefault(); - ev.cancelBubble=true; - return false; - } - - if (this._key_events["k_other"]) - this._key_events.k_other.call(this, ev); - } - - return true; - } - - /** - * @desc: selects row (and first cell of it) - * @param: r - row index or row object - * @param: fl - if true, then call function on select - * @param: preserve - preserve previously selected rows true/false (false by default) - * @param: show - true/false - scroll row to view, true by defaul - * @type: public - * @topic: 1,2 - */ - this.selectRow=function(r, fl, preserve, show){ - if (typeof (r) != 'object') - r=this.render_row(r); - this.selectCell(r, 0, fl, preserve, false, show) - }; - - /** - * @desc: called when row was double clicked - * @type: private - * @topic: 1,2 - */ - this.wasDblClicked=function(ev){ - var el = this.getFirstParentOfType(_isIE ? ev.srcElement : ev.target, "TD"); - - if (el){ - var rowId = el.parentNode.idd; - return this.callEvent("onRowDblClicked", [ - rowId, - el._cellIndex, - ev - ]); - } - } - - /** - * @desc: called when header was clicked - * @type: private - * @topic: 1,2 - */ - this._onHeaderClick=function(e, el){ - var that = this.grid; - el=el||that.getFirstParentOfType(_isIE ? event.srcElement : e.target, "TD"); - - if (this.grid.resized == null){ - if (!(this.grid.callEvent("onHeaderClick", [ - el._cellIndexS, - (e||window.event) - ]))) - return false; -//#sorting:06042008{ - that.sortField(el._cellIndexS, false, el) -//#} - } - this.grid.resized = null; - } - - /** - * @desc: deletes selected row(s) - * @type: public - * @topic: 2 - */ - this.deleteSelectedRows=function(){ - var num = this.selectedRows.length //this.obj.rows.length - - if (num == 0) - return; - - var tmpAr = this.selectedRows; - this.selectedRows=dhtmlxArray() - for (var i = num-1; i >= 0; i--){ - var node = tmpAr[i] - - if (!this.deleteRow(node.idd, node)){ - this.selectedRows[this.selectedRows.length]=node; - } - else { - if (node == this.row){ - var ind = i; - } - } -/* - this.rowsAr[node.idd] = null; - var posInCol = this.rowsCol._dhx_find(node) - this.rowsCol[posInCol].parentNode.removeChild(this.rowsCol[posInCol]);//nb:this.rowsCol[posInCol].removeNode(true); - this.rowsCol._dhx_removeAt(posInCol)*/ - } - - if (ind){ - try{ - if (ind+1 > this.rowsCol.length) //this.obj.rows.length) - ind--; - this.selectCell(ind, 0, true) - } - catch (er){ - this.row=null - this.cell=null - } - } - } - - /** - * @desc: gets selected row id - * @returns: id of selected row (list of ids with default delimiter) or null if non row selected - * @type: public - * @topic: 1,2,9 - */ - this.getSelectedRowId=function(){ - var selAr = new Array(0); - var uni = { - }; - - for (var i = 0; i < this.selectedRows.length; i++){ - var id = this.selectedRows[i].idd; - - if (uni[id]) - continue; - - selAr[selAr.length]=id; - uni[id]=true; - } - - //.. - if (selAr.length == 0) - return null; - else - return selAr.join(this.delim); - } - - /** - * @desc: gets index of selected cell - * @returns: index of selected cell or -1 if there is no selected sell - * @type: public - * @topic: 1,4 - */ - this.getSelectedCellIndex=function(){ - if (this.cell != null) - return this.cell._cellIndex; - else - return -1; - } - /** - * @desc: gets width of specified column in pixels - * @param: ind - column index - * @returns: column width in pixels - * @type: public - * @topic: 3,7 - */ - this.getColWidth=function(ind){ - return parseInt(this.cellWidthPX[ind]); - } - - /** - * @desc: sets width of specified column in pixels (soen't works with procent based grid) - * @param: ind - column index - * @param: value - new width value - * @type: public - * @topic: 3,7 - */ - this.setColWidth=function(ind, value){ - if (value == "*") - this.initCellWidth[ind] = "*"; - else { - if (this._hrrar[ind]) return; //hidden - if (this.cellWidthType == 'px') - this.cellWidthPX[ind]=parseInt(value); - else - this.cellWidthPC[ind]=parseInt(value); - } - this.setSizes(); - } - /** - * @desc: gets row index by id (grid only) - * @param: row_id - row id - * @returns: row index or -1 if there is no row with specified id - * @type: public - * @topic: 2 - */ - this.getRowIndex=function(row_id){ - for (var i = 0; i < this.rowsBuffer.length; i++) - if (this.rowsBuffer[i]&&this.rowsBuffer[i].idd == row_id) - return i; - return -1; - } - /** - * @desc: gets row id by index - * @param: ind - row index - * @returns: row id or null if there is no row with specified index - * @type: public - * @topic: 2 - */ - this.getRowId=function(ind){ - return this.rowsBuffer[ind] ? this.rowsBuffer[ind].idd : this.undefined; - } - /** - * @desc: sets new id for row by its index - * @param: ind - row index - * @param: row_id - new row id - * @type: public - * @topic: 2 - */ - this.setRowId=function(ind, row_id){ - this.changeRowId(this.getRowId(ind), row_id) - } - /** - * @desc: changes id of the row to the new one - * @param: oldRowId - row id to change - * @param: newRowId - row id to set - * @type:public - * @topic: 2 - */ - this.changeRowId=function(oldRowId, newRowId){ - if (oldRowId == newRowId) - return; - /* - for (var i=0; i]+)\].*/, "$1"); - label=label.substr(label.indexOf("]")+1, label.length) - hdrHTML+="" - } - hdrHTML+=label; - hdrHTML+="
              "; - z.cells[col].innerHTML=hdrHTML; - - if (this._hstyles[col]) - z.cells[col].style.cssText=this._hstyles[col]; - } else { //if images in header header - z.cells[col].style.textAlign="left"; - z.cells[col].innerHTML=""; - //preload sorting headers (asc/desc) - var a = new Image(); - a.src=""+label.replace(/(\.[a-z]+)/, ".des$1"); - this.preloadImagesAr[this.preloadImagesAr.length]=a; - var b = new Image(); - b.src=""+label.replace(/(\.[a-z]+)/, ".asc$1"); - this.preloadImagesAr[this.preloadImagesAr.length]=b; - } - - if ((label||"").indexOf("#") != -1){ - var t = label.match(/(^|{)#([^}]+)(}|$)/); - - if (t){ - var tn = "_in_header_"+t[2]; - - if (this[tn]) - this[tn]((this.forceDivInHeader ? z.cells[col].firstChild : z.cells[col]), col, label.split(t[0])); - } - } - }; - this.setColLabel = function(a,b,ind,c){ - return this.setColumnLabel(a,b,(ind||0)+1,c); - }; - /** - * @desc: deletes all rows in grid - * @param: header - (boolean) enable/disable cleaning header - * @type: public - * @topic: 5,7,9 - */ - this.clearAll=function(header){ - if (!this.obj.rows[0]) return; //call before initilization - if (this._h2){ - this._h2=new dhtmlxHierarchy(); - - if (this._fake){ - if (this._realfake) - this._h2=this._fake._h2; - else - this._fake._h2=this._h2; - } - } - - this.limit=this._limitC=0; - this.editStop(true); - - if (this._dLoadTimer) - window.clearTimeout(this._dLoadTimer); - - if (this._dload){ - this.objBox.scrollTop=0; - this.limit=this._limitC||0; - this._initDrF=true; - } - - var len = this.rowsCol.length; - - //for some case - len=this.obj.rows.length; - - for (var i = len-1; i > 0; i--){ - var t_r = this.obj.rows[i]; - t_r.parentNode.removeChild(t_r); - } - - if (header){ - this._master_row=null; - this.obj.rows[0].parentNode.removeChild(this.obj.rows[0]); - - for (var i = this.hdr.rows.length-1; i >= 0; i--){ - var t_r = this.hdr.rows[i]; - t_r.parentNode.removeChild(t_r); - } - - if (this.ftr){ - this.ftr.parentNode.removeChild(this.ftr); - this.ftr=null; - } - this._aHead=this.ftr=this.cellWidth=this._aFoot=null; - this.cellType=dhtmlxArray(); - this._hrrar=[]; - this.columnIds=[]; - this.combos=[]; - this._strangeParams=[]; - this.defVal = []; - this._ivizcol = null; - } - - //.. - this.row=null; - this.cell=null; - - this.rowsCol=dhtmlxArray() - this.rowsAr={}; //array of rows by idd - this._RaSeCol=[]; - this.rowsBuffer=dhtmlxArray() - this.UserData=[] - this.selectedRows=dhtmlxArray(); - - if (this.pagingOn || this._srnd) - this.xmlFileUrl=""; - if (this.pagingOn) - this.changePage(1); - - // if (!this._fake){ - /* - if ((this._hideShowColumn)&&(this.hdr.rows[0])) - for (var i=0; i= el._cellIndex - &&this.fldSort[el._cellIndex] != 'na'){ //this.entBox.fieldstosort!="" && - var data=this.getSortingState(); - var sortType= ( data[0]==ind && data[1]=="asc" ) ? "des" : "asc"; - - if (!this.callEvent("onBeforeSorting", [ - ind, - this.fldSort[ind], - sortType - ])) - return; - this.sortImg.className="dhxgrid_sort_"+(sortType == "asc" ? "asc" : "desc"); - - //for header images - if (this.useImagesInHeader){ - var cel = this.hdr.rows[1].cells[el._cellIndex].firstChild; - - if (this.fldSorted != null){ - var celT = this.hdr.rows[1].cells[this.fldSorted._cellIndex].firstChild; - celT.src=celT.src.replace(/(\.asc\.)|(\.des\.)/, "."); - } - cel.src=cel.src.replace(/(\.[a-z]+)$/, "."+sortType+"$1") - } - //. - this.sortRows(el._cellIndex, this.fldSort[el._cellIndex], sortType) - this.fldSorted=el; - this.r_fldSorted=r_el; - var c = this.hdr.rows[1]; - var c = r_el.parentNode; - var real_el = c._childIndexes ? c._childIndexes[el._cellIndex] : el._cellIndex; - this.setSortImgPos(false, false, false, r_el); - } - } -//#__pro_feature:21092006{ -//#custom_sort:21092006{ - /** - * @desc: set custom sorting (custom sort has three params - valueA,valueB,order; where order can be asc or des) - * @param: func - function to use for comparison - * @param: col - index of column to apply custom sorting to - * @type: public - * @edition: Professional - * @topic: 3 - */ - this.setCustomSorting=function(func, col){ - if (!this._customSorts) - this._customSorts=new Array(); - this._customSorts[col]=( typeof (func) == "string") ? eval(func) : func; - this.fldSort[col]="cus"; - } -//#} -//#} -//#} - /** - * @desc: specify if values passed to Header are images file names - * @param: fl - true to treat column header values as image names - * @type: public - * @before_init: 1 - * @topic: 0,3 - */ - this.enableHeaderImages=function(fl){ - this.useImagesInHeader=fl; - } - - /** - * @desc: set header label and default params for new headers - * @param: hdrStr - header string with delimiters - * @param: splitSign - string used as a split marker, optional. Default is "#cspan" - * @param: styles - array of header styles - * @type: public - * @before_init: 1 - * @topic: 0,3 - */ - this.setHeader=function(hdrStr, splitSign, styles){ - if (typeof (hdrStr) != "object") - var arLab = this._eSplit(hdrStr); - else - arLab=[].concat(hdrStr); - - var arWdth = new Array(0); - var arTyp = new dhtmlxArray(0); - var arAlg = new Array(0); - var arVAlg = new Array(0); - var arSrt = new Array(0); - - for (var i = 0; i < arLab.length; i++){ - arWdth[arWdth.length]=Math.round(100 / arLab.length); - arTyp[arTyp.length]="ed"; - arAlg[arAlg.length]="left"; - arVAlg[arVAlg.length]="middle"; //top - arSrt[arSrt.length]="na"; - } - - this.splitSign=splitSign||"#cspan"; - this.hdrLabels=arLab; - this.cellWidth=arWdth; - if (!this.initCellWidth.length) this.setInitWidthsP(arWdth.join(this.delim),true); - this.cellType=arTyp; - this.cellAlign=arAlg; - this.cellVAlign=arVAlg; - this.fldSort=arSrt; - this._hstyles=styles||[]; - } - /** - * @desc: - * @param: str - ... - * @type: private - */ - this._eSplit=function(str){ - if (![].push) - return str.split(this.delim); - - var a = "r"+(new Date()).valueOf(); - var z = this.delim.replace(/([\|\+\*\^])/g, "\\$1") - return (str||"").replace(RegExp(z, "g"), a).replace(RegExp("\\\\"+a, "g"), this.delim).split(a); - } - - /** - * @desc: get column type by column index - * @param: cInd - column index - * @returns: type code - * @type: public - * @topic: 0,3,4 - */ - this.getColType=function(cInd){ - return this.cellType[cInd]; - } - - /** - * @desc: get column type by column ID - * @param: cID - column id - * @returns: type code - * @type: public - * @topic: 0,3,4 - */ - this.getColTypeById=function(cID){ - return this.cellType[this.getColIndexById(cID)]; - } - - /** - * @desc: set column types - * @param: typeStr - type codes list (default delimiter is ",") - * @before_init: 2 - * @type: public - * @topic: 0,3,4 - */ - this.setColTypes=function(typeStr){ - this.cellType=dhtmlxArray(typeStr.split(this.delim)); - this._strangeParams=new Array(); - - for (var i = 0; i < this.cellType.length; i++){ - if ((this.cellType[i].indexOf("[") != -1)){ - var z = this.cellType[i].split(/[\[\]]+/g); - this.cellType[i]=z[0]; - this.defVal[i]=z[1]; - - if (z[1].indexOf("=") == 0){ - this.cellType[i]="math"; - this._strangeParams[i]=z[0]; - } - } - if (!window["eXcell_"+this.cellType[i]]) dhtmlxError.throwError("Configuration","Incorrect cell type: "+this.cellType[i],[this,this.cellType[i]]); - } - } - /** - * @desc: set column sort types (avaialble: str, int, date, na or function object for custom sorting) - * @param: sortStr - sort codes list with default delimiter - * @before_init: 1 - * @type: public - * @topic: 0,3,4 - */ - this.setColSorting=function(sortStr){ - this.fldSort=sortStr.split(this.delim) -//#__pro_feature:21092006{ -//#custom_sort:21092006{ - //str, int, date - var check = {str:1, "int":1, date:1}; - for (var i = 0; i < this.fldSort.length; i++) - if ((!check[this.fldSort[i]])&&( typeof (window[this.fldSort[i]]) == "function")){ - if (!this._customSorts) - this._customSorts=new Array(); - this._customSorts[i]=window[this.fldSort[i]]; - this.fldSort[i]="cus"; - } -//#} -//#} - } - /** - * @desc: set align of values in columns - * @param: alStr - list of align values (possible values are: right,left,center,justify). Default delimiter is "," - * @before_init: 1 - * @type: public - * @topic: 0,3 - */ - this.setColAlign=function(alStr){ - this.cellAlign=alStr.split(this.delim) - for (var i=0; i < this.cellAlign.length; i++) - this.cellAlign[i]=this.cellAlign[i]._dhx_trim(); - } -/** -* @desc: set vertical align of columns -* @param: valStr - vertical align values list for columns (possible values are: baseline,sub,super,top,text-top,middle,bottom,text-bottom) -* @before_init: 1 -* @type: public -* @topic: 0,3 -*/ - this.setColVAlign=function(valStr){ - this.cellVAlign=valStr.split(this.delim) - } - -/** -* @desc: create grid with no header. Call before initialization, but after setHeader. setHeader have to be called in any way as it defines number of columns -* @param: fl - true to use no header in the grid -* @type: public -* @before_init: 1 -* @topic: 0,7 -*/ - this.setNoHeader=function(fl){ - this.noHeader=convertStringToBoolean(fl); - } - /** - * @desc: scrolls row to the visible area - * @param: rowID - row id - * @type: public - * @topic: 2,7 - */ - this.showRow=function(rowID){ - this.getRowById(rowID) - - if (this._h2) this.openItem(this._h2.get[rowID].parent.id); - var c = this.getRowById(rowID).childNodes[0]; - - while (c&&c.style.display == "none") - c=c.nextSibling; - - if (c) - this.moveToVisible(c, true) - } - - /** - * @desc: modify default style of grid and its elements. Call before or after Init - * @param: ss_header - style def. expression for header - * @param: ss_grid - style def. expression for grid cells - * @param: ss_selCell - style def. expression for selected cell - * @param: ss_selRow - style def. expression for selected Row - * @type: public - * @before_init: 2 - * @topic: 0,6 - */ - this.setStyle=function(ss_header, ss_grid, ss_selCell, ss_selRow){ - this.ssModifier=[ - ss_header, - ss_grid, - ss_selCell, - ss_selCell, - ss_selRow - ]; - - var prefs = ["#"+this.entBox.id+" table.hdr td", "#"+this.entBox.id+" table.obj td", - "#"+this.entBox.id+" table.obj tr.rowselected td.cellselected", - "#"+this.entBox.id+" table.obj td.cellselected", "#"+this.entBox.id+" table.obj tr.rowselected td"]; - - var index = 0; - while (!_isIE){ - try{ - var temp = document.styleSheets[index].cssRules.length; - } catch(e) { index++; continue; } - break; - } - - for (var i = 0; i < prefs.length; i++) - if (this.ssModifier[i]){ - if (_isIE) - document.styleSheets[0].addRule(prefs[i], this.ssModifier[i]); - else - document.styleSheets[index].insertRule(prefs[i]+(" { "+this.ssModifier[i]+" }"), document.styleSheets[index].cssRules.length); - } - } - /** - * @desc: colorize columns background. - * @param: clr - colors list - * @type: public - * @before_init: 1 - * @topic: 3,6 - */ - this.setColumnColor=function(clr){ - this.columnColor=clr.split(this.delim) - } -//#alter_css:06042008{ - /** - * @desc: set even/odd css styles - * @param: cssE - name of css class for even rows - * @param: cssU - name of css class for odd rows - * @param: perLevel - true/false - mark rows not by order, but by level in treegrid - * @param: levelUnique - true/false - creates additional unique css class based on row level - * @type: public - * @before_init: 1 - * @topic: 3,6 - */ - this.enableAlterCss=function(cssE, cssU, perLevel, levelUnique){ - if (cssE||cssU) - this.attachEvent("onGridReconstructed",function(){ - this._fixAlterCss(); - if (this._fake) - this._fake._fixAlterCss(); - }); - - this._cssSP=perLevel; - this._cssSU=levelUnique; - this._cssEven=cssE; - this._cssUnEven=cssU; - } -//#} - /** - * @desc: recolor grid from defined point - * @type: private - * @before_init: 1 - * @topic: 3,6 - */ - this._fixAlterCss=function(ind){ -//#alter_css:06042008{ - if (this._h2 && (this._cssSP || this._cssSU)) - return this._fixAlterCssTGR(ind); - if (!this._cssEven && !this._cssUnEven) return; - ind=ind||0; - var j = ind; - - for (var i = ind; i < this.rowsCol.length; i++){ - if (!this.rowsCol[i]) - continue; - - if (this.rowsCol[i].style.display != "none"){ - if (this.rowsCol[i]._cntr) { j=1; continue; } - if (this.rowsCol[i].className.indexOf("rowselected") != -1){ - if (j%2 == 1) - this.rowsCol[i].className=this._cssUnEven+" rowselected "+(this.rowsCol[i]._css||""); - else - this.rowsCol[i].className=this._cssEven+" rowselected "+(this.rowsCol[i]._css||""); - } else { - if (j%2 == 1) - this.rowsCol[i].className=this._cssUnEven+" "+(this.rowsCol[i]._css||""); - else - this.rowsCol[i].className=this._cssEven+" "+(this.rowsCol[i]._css||""); - } - j++; - } - } -//#} - } -//#__pro_feature:21092006{ - /** - * @desc: clear wasChanged state for all cells in grid - * @type: public - * @edition: Professional - * @topic: 7 - */ - this.clearChangedState=function(){ - for (var i = 0; i < this.rowsCol.length; i++){ - var row = this.rowsCol[i]; - if (row && row.childNodes){ - var cols = row.childNodes.length; - for (var j = 0; j < cols; j++)row.childNodes[j].wasChanged=false; - } - } - }; - - /** - * @desc: get list of IDs of changed rows - * @type: public - * @edition: Professional - * @return: list of ID of changed rows - * @topic: 7 - */ - this.getChangedRows=function(and_added){ - var res = new Array(); - this.forEachRow(function(id){ - var row = this.rowsAr[id]; - if (row.tagName!="TR") return; - var cols = row.childNodes.length; - if (and_added && row._added) - res[res.length]=row.idd; - else - for (var j = 0; j < cols; j++) - if (row.childNodes[j].wasChanged){ - res[res.length]=row.idd; - break; - } - }) - return res.join(this.delim); - }; - - -//#serialization:21092006{ - - this._sUDa=false; - this._sAll=false; - - /** - * @desc: configure XML serialization - * @type: public - * @edition: Professional - * @param: userData - enable/disable user data serialization - * @param: fullXML - enable/disable full XML serialization (selection state) - * @param: config - serialize grid configuration - * @param: changedAttr - include changed attribute - * @param: onlyChanged - include only Changed rows in result XML - * @param: asCDATA - output cell values as CDATA sections (prevent invalid XML) - * @topic: 0,5,7 - */ - this.setSerializationLevel=function(userData, fullXML, config, changedAttr, onlyChanged, asCDATA){ - this._sUDa=userData; - this._sAll=fullXML; - this._sConfig=config; - this._chAttr=changedAttr; - this._onlChAttr=onlyChanged; - this._asCDATA=asCDATA; - } - - -/** -* @desc: configure which column must be serialized (if you do not use this method, then all columns will be serialized) -* @type: public -* @edition: Professional -* @param: list - list of true/false values separated by comma, if list empty then all fields will be serialized -* @topic: 0,5,7 -*/ - this.setSerializableColumns=function(list){ - if (!list){ - this._srClmn=null; - return; - } - this._srClmn=(list||"").split(","); - - for (var i = 0; i < this._srClmn.length; i++)this._srClmn[i]=convertStringToBoolean(this._srClmn[i]); - } - - /** - * @desc: serialize a collection of rows - * @type: private - * @topic: 0,5,7 - */ - this._serialise=function(rCol, inner, closed){ - this.editStop() - var out = []; - //rows collection - var close = "" - - if (this.isTreeGrid()){ - this._h2.forEachChildF(0, function(el){ - var temp = this._serializeRow(this.render_row_tree(-1, el.id)); - out.push(temp); - - if (temp) - return true; - else - return false; - }, this, function(){ - out.push(close); - }); - } - else - for (var i = 0; i < this.rowsBuffer.length; i++) - if (this.rowsBuffer[i]){ - if (this._chAttr && this.rowsBuffer[i]._locator) - continue; - - var temp = this._serializeRow(this.render_row(i)); - out.push(temp); - - if (temp) - out.push(close); - } - - return [out.join("")]; - } - - /** - * @desc: serialize TR or xml node to grid formated xml (row tag) - * @param: r - TR or xml node (row) - * @retruns: string - xml representation of passed row - * @type: private - */ - this._serializeRow=function(r, i){ - var out = []; - var ra = this.xml.row_attrs; - var ca = this.xml.cell_attrs; - - out.push("<"+this.xml.s_row); - out.push(" id='"+r.idd+"'"); - - if ((this._sAll)&&this.selectedRows._dhx_find(r) != -1) - out.push(" selected='1'"); - - if (this._h2&&this._h2.get[r.idd].state == "minus") - out.push(" open='1'"); - - if (ra.length) - for (var i = 0; i < ra.length; i++)out.push(" "+ra[i]+"='"+r._attrs[ra[i]]+"'"); - out.push(">"); - - //userdata - if (this._sUDa&&this.UserData[r.idd]){ - keysAr=this.UserData[r.idd].getKeys() - - for (var ii = 0; - ii < keysAr.length; - ii++)out.push(""+(this._asCDATA?"":"")+""); - } - - - //cells - var changeFl = false; - - for (var jj = 0; jj < this._cCount; jj++){ - if ((!this._srClmn)||(this._srClmn[jj])){ - var zx = this.cells3(r, jj); - out.push(""; - - //#colspan:20092006{ - if ((this._ecspn)&&(zx.cell.colSpan)&&zx.cell.colSpan > 1) - out.push(" colspan=\""+zx.cell.colSpan+"\" "); - //#} - - if (this._chAttr){ - if (zx.wasChanged()){ - out.push(" changed=\"1\""); - changeFl=true; - } - } - - else if ((this._onlChAttr)&&(zx.wasChanged())) - changeFl=true; - - if (this._sAll && this.cellType[jj]=="tree") - out.push((this._h2 ? (" image='"+this._h2.get[r.idd].image+"'") : "")+">"+zxVal+""); - else - out.push(">"+zxVal+""); - - //#colspan:20092006{ - if ((this._ecspn)&&(zx.cell.colSpan)) - for (var u = 0; u < zx.cell.colSpan-1; u++){ - out.push(""); - jj++; - } - //#} - } - } - - if ((this._onlChAttr)&&(!changeFl)&&(!r._added)) - return ""; - - return out.join(""); - } - - /** - * @desc: serialize grid configuration - * @type: private - * @topic: 0,5,7 - */ - this._serialiseConfig=function(){ - var out = ""; - - for (var i = 0; i < this.hdr.rows[0].cells.length; i++){ - if (this._srClmn && !this._srClmn[i]) continue; - var sort = this.fldSort[i]; - if (sort == "cus"){ - sort = this._customSorts[i].toString(); - sort=sort.replace(/function[\ ]*/,"").replace(/\([^\f]*/,""); - } - out+=""; - if (this._asCDATA) - out+=""; - else - out+=this.getHeaderCol(i); - var z = this.getCombo(i); - - if (z) - for (var j = 0; j < z.keys.length; j++)out+=""; - out+="" - } - return out+=""; - } - /** - * @desc: get actual xml of grid. The depth of serialization can be set with setSerializationLevel method - * @type: public - * @edition: Professional - * @topic: 5,7 - */ - this.serialize=function(){ - var out = ''; - - if (this._mathSerialization) - this._agetm="getMathValue"; - else - this._agetm="getValue"; - - if (this._sUDa&&this.UserData["gridglobaluserdata"]){ - var keysAr = this.UserData["gridglobaluserdata"].getKeys() - - for (var i = 0; - i < keysAr.length; - i++)out+=""+this.UserData["gridglobaluserdata"].get(keysAr[i]) - +""; - } - - if (this._sConfig) - out+=this._serialiseConfig(); - out+=this._serialise(); - - out+=''; - return out; - } -//#} -//#} - - /** - * @desc: returns absolute left and top position of specified element - * @returns: array of two values: absolute Left and absolute Top positions - * @param: oNode - element to get position of - * @type: private - * @topic: 8 - */ - this.getPosition=function(oNode, pNode){ - if (!pNode){ - var pos = getOffset(oNode); - return [pos.left, pos.top]; - } - pNode = pNode||document.body; - - var oCurrentNode = oNode; - var iLeft = 0; - var iTop = 0; - - while ((oCurrentNode)&&(oCurrentNode != pNode)){ //.tagName!="BODY"){ - iLeft+=oCurrentNode.offsetLeft-oCurrentNode.scrollLeft; - iTop+=oCurrentNode.offsetTop-oCurrentNode.scrollTop; - oCurrentNode=oCurrentNode.offsetParent; - } - - if (pNode == document.body){ - if (_isIE){ - iTop+=document.body.offsetTop||document.documentElement.offsetTop; - iLeft+=document.body.offsetLeft||document.documentElement.offsetLeft; - } else if (!_isFF){ - iLeft+=document.body.offsetLeft; - iTop+=document.body.offsetTop; - } - } - return [iLeft, iTop]; - } - /** - * @desc: gets nearest parent of specified type - * @param: obj - input object - * @param: tag - string. tag to find as parent - * @returns: object. nearest paraent object (including spec. obj) of specified type. - * @type: private - * @topic: 8 - */ - this.getFirstParentOfType=function(obj, tag){ - while (obj&&obj.tagName != tag&&obj.tagName != "BODY"){ - obj=obj.parentNode; - } - return obj; - } - - - - /*INTERNAL EVENT HANDLERS*/ - this.objBox.onscroll=function(){ - this.grid._doOnScroll(); - }; - this.objBox.ontouchend = function(){ - this.hdrBox.scrollLeft=this.objBox.scrollLeft; - }; - this.hdrBox.onscroll=function(){ - if (this._try_header_sync) return; - this._try_header_sync = true; - if (Math.abs(this.grid.objBox.scrollLeft - this.scrollLeft)>1){ - this.grid.objBox.scrollLeft = this.scrollLeft; - } - this._try_header_sync = false; - } -//#column_resize:06042008{ - if ((!_isOpera)||(_OperaRv > 8.5)){ - this.hdr.onmousemove=function(e){ - this.grid.changeCursorState(e||window.event); - }; - this.hdr.onmousedown=function(e){ - return this.grid.startColResize(e||window.event); - }; - } -//#} -//#tooltips:06042008{ - this.obj.onmousemove=this._drawTooltip; -//#} - this.objBox.onclick=function(e){ - (e||event).cancelBubble=true; - }; - this.obj.onclick=function(e){ - this.grid._doClick(e||window.event); - if (this.grid._sclE) - this.grid.editCell(e||window.event); - else - this.grid.editStop(); - - (e||event).cancelBubble=true; - }; -//#context_menu:06042008{ - if (_isMacOS){ - this.entBox.oncontextmenu=function(e){ - e.cancelBubble=true; - if (e.preventDefault) e.preventDefault(); else e.returnValue=false; - var that = this.grid; if (that._realfake) that = that._fake; - return that._doContClick(e||window.event); - }; - } else { - this.entBox.onmousedown=function(e){ - return this.grid._doContClick(e||window.event); - }; - this.entBox.oncontextmenu=function(e){ - if (this.grid._ctmndx) - (e||event).cancelBubble=true; - return !this.grid._ctmndx; - }; - } - -//#} - this.obj.ondblclick=function(e){ - if (!this.grid.wasDblClicked(e||window.event)) - return false; - if (this.grid._dclE) { - var row = this.grid.getFirstParentOfType((_isIE?event.srcElement:e.target),"TR"); - if (row == this.grid.row) - this.grid.editCell(e||window.event); - } - (e||event).cancelBubble=true; - if (_isOpera) return false; //block context menu for Opera 9+ - }; - this.hdr.onclick=this._onHeaderClick; - this.sortImg.onclick=function(){ - self._onHeaderClick.apply({ - grid: self - }, [ - null, - self.r_fldSorted - ]); - }; - - this.hdr.ondblclick=this._onHeaderDblClick; - - - if (!document.body._dhtmlxgrid_onkeydown){ - dhtmlxEvent(document, "keydown",function(e){ - if (globalActiveDHTMLGridObject) - return globalActiveDHTMLGridObject.doKey(e||window.event); - }); - document.body._dhtmlxgrid_onkeydown=true; - } - - dhtmlxEvent(document.body, "click", function(){ - if (self.editStop) self.editStop(); - if (self.isActive) self.setActive(false); - }); - - - if (this.entBox.style.height.toString().indexOf("%") != -1) - this._delta_y = this.entBox.style.height; - if (this.entBox.style.width.toString().indexOf("%") != -1) - this._delta_x = this.entBox.style.width; - - if (this._delta_x||this._delta_y) - this._setAutoResize(); - - - /* deprecated names */ - this.setColHidden=this.setColumnsVisibility - this.enableCollSpan = this.enableColSpan - this.setMultiselect=this.enableMultiselect; - this.setMultiLine=this.enableMultiline; - this.deleteSelectedItem=this.deleteSelectedRows; - this.getSelectedId=this.getSelectedRowId; - this.getHeaderCol=this.getColumnLabel; - this.isItemExists=this.doesRowExist; - this.getColumnCount=this.getColumnsNum; - this.setSelectedRow=this.selectRowById; - this.setHeaderCol=this.setColumnLabel; - this.preventIECashing=this.preventIECaching; - this.enableAutoHeigth=this.enableAutoHeight; - this.getUID=this.uid; - - if (dhtmlx.image_path) this.setImagePath(dhtmlx.image_path); - if (dhtmlx.skin) this.setSkin(dhtmlx.skin); - - return this; -} - -dhtmlXGridObject.prototype={ - getRowAttribute: function(id, name){ - return this.getRowById(id)._attrs[name]; - }, - setRowAttribute: function(id, name, value){ - this.getRowById(id)._attrs[name]=value; - }, - /** - * @desc: detect is current grid is a treeGrid - * @type: private - * @topic: 2 - */ - isTreeGrid:function(){ - return (this.cellType._dhx_find("tree") != -1); - }, - -//#column_hidden:21092006{ - /** - * @desc: hide/show row (warning! - this command doesn't affect row indexes, only visual appearance) - * @param: ind - column index - * @param: state - true/false - hide/show row - * @type: public - */ - setRowHidden:function(id, state){ - var f = convertStringToBoolean(state); - //var ind=this.getRowIndex(id); - //if (id<0) - // return; - var row = this.getRowById(id) //this.rowsCol[ind]; - - if (!row) - return; - - if (row.expand === "") - this.collapseKids(row); - - if ((state)&&(row.style.display != "none")){ - row.style.display="none"; - var z = this.selectedRows._dhx_find(row); - - if (z != -1){ - row.className=row.className.replace("rowselected", ""); - - for (var i = 0; - i < row.childNodes.length; - i++)row.childNodes[i].className=row.childNodes[i].className.replace(/cellselected/g, ""); - this.selectedRows._dhx_removeAt(z); - } - this.callEvent("onGridReconstructed", []); - } - - if ((!state)&&(row.style.display == "none")){ - row.style.display=""; - this.callEvent("onGridReconstructed", []); - } - this.callEvent("onRowHide",[id, state]); - this.setSizes(); - }, - -//#__pro_feature:21092006{ - /** - * @desc: hide/show column - * @param: ind - column index - * @param: state - true/false - hide/show column - * @type: public - * @edition: Professional - */ - setColumnHidden:function(ind, state){ - if (!this.hdr.rows.length){ - if (!this._ivizcol) - this._ivizcol=[]; - return this._ivizcol[ind]=state; - } - - if ((this.fldSorted)&&(this.fldSorted.cellIndex == ind)&&(state)) - this.sortImg.style.display="none"; - - var f = convertStringToBoolean(state); - - if (f){ - if (!this._hrrar) - this._hrrar=new Array(); - - else if (this._hrrar[ind]) - return; - this._hrrar[ind]="display:none;"; - this._hideShowColumn(ind, "none"); - } else { - if ((!this._hrrar)||(!this._hrrar[ind])) - return; - this._hrrar[ind]=""; - this._hideShowColumn(ind, ""); - } - - if ((this.fldSorted)&&(this.fldSorted.cellIndex == ind)&&(!state)) - this.sortImg.style.display="inline"; - - this.setSortImgPos(); - this.callEvent("onColumnHidden",[ind,state]) - }, - - - /** - * @desc: get show/hidden status of column - * @param: ind - column index - * @type: public - * @edition: Professional - * @returns: if column hidden then true else false - */ - isColumnHidden:function(ind){ - if ((this._hrrar)&&(this._hrrar[ind])) - return true; - - return false; - }, - /** - * @desc: set list of visible/hidden columns - * @param: list - list of true/false separated by comma - * @type: public - * @newmethod: setColumnsVisibility - * @edition: Professional - * @topic:0 - */ - setColumnsVisibility:function(list){ - if (list) - this._ivizcol=list.split(this.delim); - - if (this.hdr.rows.length&&this._ivizcol) - for (var i = 0; i < this._ivizcol.length; i++)this.setColumnHidden(i, this._ivizcol[i]); - }, - /** - * @desc: fix hidden state for column in all rows - * @type: private - */ - _fixHiddenRowsAll:function(pb, ind, prop, state, index){ - index=index||"_cellIndex"; - var z = pb.rows.length; - - for (var i = 0; i < z; i++){ - var x = pb.rows[i].childNodes; - - if (x.length != this._cCount){ - for (var j = 0; j < x.length; j++) - if (x[j][index] == ind){ - x[j].style[prop]=state; - break; - } - } else - x[ind].style[prop]=state; - } - }, - /** - * @desc: hide column - * @param: ind - column index - * @param: state - hide/show - * @edition: Professional - * @type: private - */ - _hideShowColumn:function(ind, state){ - var hind = ind; - - if (this.hdr.rows[1] && (this.hdr.rows[1]._childIndexes)&&(this.hdr.rows[1]._childIndexes[ind] != ind)) - hind=this.hdr.rows[1]._childIndexes[ind]; - - if (state == "none"){ - this.hdr.rows[0].cells[ind]._oldWidth=this.hdr.rows[0].cells[ind].style.width||(this.initCellWidth[ind]+"px"); - this.hdr.rows[0].cells[ind]._oldWidthP=this.cellWidthPC[ind]; - this.obj.rows[0].cells[ind].style.width="0px"; - - - var t={rows:[this.obj.rows[0]]} - this.forEachRow(function(id){ - if (this.rowsAr[id].tagName=="TR") - t.rows.push(this.rowsAr[id]) - }) - this._fixHiddenRowsAll(t, ind, "display", "none"); - - if (this.isTreeGrid()) - this._fixHiddenRowsAllTG(ind, "none"); - - if ((_isOpera&&_OperaRv < 9)||_isKHTML||(_isFF)){ - this._fixHiddenRowsAll(this.hdr, ind, "display", "none","_cellIndexS"); - - } - if (this.ftr) - this._fixHiddenRowsAll(this.ftr.childNodes[0], ind, "display", "none"); - this._fixHiddenRowsAll(this.hdr, ind, "whiteSpace", "nowrap","_cellIndexS"); - - if (!this.cellWidthPX.length&&!this.cellWidthPC.length) - this.cellWidthPX=[].concat(this.initCellWidth); - - if (this.cellWidthPX[ind]) - this.cellWidthPX[ind]=0; - - if (this.cellWidthPC[ind]) - this.cellWidthPC[ind]=0; - } else { - if (this.hdr.rows[0].cells[ind]._oldWidth){ - var zrow = this.hdr.rows[0].cells[ind]; - - if (_isOpera||_isKHTML||(_isFF)) - this._fixHiddenRowsAll(this.hdr, ind, "display", "","_cellIndexS"); - - if (this.ftr) - this._fixHiddenRowsAll(this.ftr.childNodes[0], ind, "display", ""); - - - var t={rows:[this.obj.rows[0]]} - this.forEachRow(function(id){ - if (this.rowsAr[id].tagName=="TR") - t.rows.push(this.rowsAr[id]) - }) - this._fixHiddenRowsAll(t, ind, "display", ""); - - if (this.isTreeGrid()) - this._fixHiddenRowsAllTG(ind, ""); - - this._fixHiddenRowsAll(this.hdr, ind, "whiteSpace", "normal","_cellIndexS"); - - if (zrow._oldWidthP) - this.cellWidthPC[ind]=zrow._oldWidthP; - - if (zrow._oldWidth) - this.cellWidthPX[ind]=parseInt(zrow._oldWidth); - } - } - this.setSizes(); - - if ((!_isIE)&&(!_isFF)){ - //dummy Opera/Safari fix - this.obj.border=1; - this.obj.border=0; - } - }, -//#} -//#} -//#__pro_feature:21092006{ -//#colspan:20092006{ - /** - * @desc: enable/disable colspan support - * @param: mode - true/false - * @type: public - * @edition: Professional - */ - enableColSpan:function(mode){ - this._ecspn=convertStringToBoolean(mode); - }, -//#} -//#} -//#hovering:060402008{ - /** - * @desc: enable/disable hovering row on mouse over - * @param: mode - true/false - * @param: cssClass - css class for hovering row - * @type: public - */ - enableRowsHover:function(mode, cssClass){ - this._unsetRowHover(false,true); - this._hvrCss=cssClass; - - if (convertStringToBoolean(mode)){ - if (!this._elmnh){ - this.obj._honmousemove=this.obj.onmousemove; - this.obj.onmousemove=this._setRowHover; - - if (_isIE) - this.obj.onmouseleave=this._unsetRowHover; - else - this.obj.onmouseout=this._unsetRowHover; - - this._elmnh=true; - } - } else { - if (this._elmnh){ - this.obj.onmousemove=this.obj._honmousemove; - - if (_isIE) - this.obj.onmouseleave=null; - else - this.obj.onmouseout=null; - - this._elmnh=false; - } - } - }, -//#} - /** - * @desc: enable/disable events which fire excell editing, mutual exclusive with enableLightMouseNavigation - * @param: click - true/false - enable/disable editing by single click - * @param: dblclick - true/false - enable/disable editing by double click - * @param: f2Key - enable/disable editing by pressing F2 key - * @type: public - */ - enableEditEvents:function(click, dblclick, f2Key){ - this._sclE=convertStringToBoolean(click); - this._dclE=convertStringToBoolean(dblclick); - this._f2kE=convertStringToBoolean(f2Key); - }, - -//#hovering:060402008{ - /** - * @desc: enable/disable light mouse navigation mode (row selection with mouse over, editing with single click), mutual exclusive with enableEditEvents - * @param: mode - true/false - * @type: public - */ - enableLightMouseNavigation:function(mode){ - if (convertStringToBoolean(mode)){ - if (!this._elmn){ - this.entBox._onclick=this.entBox.onclick; - this.entBox.onclick=function(){ - return true; - }; - - this.obj._onclick=this.obj.onclick; - this.obj.onclick=function(e){ - var c = this.grid.getFirstParentOfType(e ? e.target : event.srcElement, 'TD'); - if (!c) return; - this.grid.editStop(); - this.grid.doClick(c); - this.grid.editCell(); - (e||event).cancelBubble=true; - } - - this.obj._onmousemove=this.obj.onmousemove; - this.obj.onmousemove=this._autoMoveSelect; - this._elmn=true; - } - } else { - if (this._elmn){ - this.entBox.onclick=this.entBox._onclick; - this.obj.onclick=this.obj._onclick; - this.obj.onmousemove=this.obj._onmousemove; - this._elmn=false; - } - } - }, - - - /** - * @desc: remove hover state on row - * @type: private - */ - _unsetRowHover:function(e, c){ - if (c) - that=this; - else - that=this.grid; - - if ((that._lahRw)&&(that._lahRw != c)){ - for (var i = 0; - i < that._lahRw.childNodes.length; - i++)that._lahRw.childNodes[i].className=that._lahRw.childNodes[i].className.replace(that._hvrCss, ""); - that._lahRw=null; - } - }, - - /** - * @desc: set hover state on row - * @type: private - */ - _setRowHover:function(e){ - var c = this.grid.getFirstParentOfType(e ? e.target : event.srcElement, 'TD'); - - if (c && c.parentNode!=this.grid._lahRw) { - this.grid._unsetRowHover(0, c); - c=c.parentNode; - if (!c.idd || c.idd=="__filler__") return; - for (var i = 0; i < c.childNodes.length; i++)c.childNodes[i].className+=" "+this.grid._hvrCss; - this.grid._lahRw=c; - } - this._honmousemove(e); - }, - - /** - * @desc: onmousemove, used in light mouse navigaion mode - * @type: private - */ - _autoMoveSelect:function(e){ - //this - grid.obj - if (!this.grid.editor){ - var c = this.grid.getFirstParentOfType(e ? e.target : event.srcElement, 'TD'); - - if (c.parentNode.idd) - this.grid.doClick(c, true, 0); - } - this._onmousemove(e); - }, -//#} -//#__pro_feature:21092006{ -//#distrb_parsing:21092006{ - /** - * @desc: enable/disable distributed parsing (rows paresed portion by portion with some timeout) - * @param: mode - true/false - * @param: count - count of nodes parsed by one step (the 10 by default) - * @param: time - time between parsing counts in milli seconds (the 250 by default) - * @type: public - * @edition: Professional - */ - enableDistributedParsing:function(mode, count, time){ - if (convertStringToBoolean(mode)){ - this._ads_count=count||10; - this._ads_time=time||250; - } else - this._ads_count=0; - }, -//#} -//#} - /** - * @desc: destructor, removes grid and cleans used memory - * @type: public - * @topic: 0 - */ - destructor:function(){ - this.editStop(true); - //add links to current object - if (this._sizeTime) - this._sizeTime=window.clearTimeout(this._sizeTime); - this.entBox.className=(this.entBox.className||"").replace(/gridbox.*/,""); - if (this.formInputs) - for (var i = 0; i < this.formInputs.length; i++)this.parentForm.removeChild(this.formInputs[i]); - - var a; - this.xmlLoader=this.xmlLoader.destructor(); - - for (var i = 0; i < this.rowsCol.length; i++) - if (this.rowsCol[i]) - this.rowsCol[i].grid=null; - - for (i in this.rowsAr) - if (this.rowsAr[i]) - this.rowsAr[i]=null; - - this.rowsCol=new dhtmlxArray(); - this.rowsAr={}; - this.entBox.innerHTML=""; - - var dummy=function(){}; - this.entBox.onclick = this.entBox.onmousedown = this.entBox.onbeforeactivate = this.entBox.onbeforedeactivate = this.entBox.onbeforedeactivate = this.entBox.onselectstart = dummy; - this.setSizes = this._update_srnd_view = this.callEvent = dummy; - this.entBox.grid=this.objBox.grid=this.hdrBox.grid=this.obj.grid=this.hdr.grid=null; - if (this._fake){ - this.globalBox.innerHTML = ""; - this._fake.setSizes = this._fake._update_srnd_view = this._fake.callEvent = dummy; - this.globalBox.onclick = this.globalBox.onmousedown = this.globalBox.onbeforeactivate = this.globalBox.onbeforedeactivate = this.globalBox.onbeforedeactivate = this.globalBox.onselectstart = dummy; - } - - for (a in this){ - if ((this[a])&&(this[a].m_obj)) - this[a].m_obj=null; - this[a]=null; - } - - if (this == globalActiveDHTMLGridObject) - globalActiveDHTMLGridObject=null; - // self=null; - return null; - }, - -//#sorting:06042008{ - /** - * @desc: get sorting state of grid - * @type: public - * @returns: array, first element is index of sortef column, second - direction of sorting ("asc" or "des"). - * @topic: 0 - */ - getSortingState:function(){ - var z = new Array(); - - if (this.fldSorted){ - z[0]=this.fldSorted._cellIndex; - z[1]=(this.sortImg.className == "dhxgrid_sort_desc" ? "des" : "asc"); - } - return z; - }, -//#} - - /** - * @desc: enable autoheight of grid - * @param: mode - true/false - * @param: maxHeight - maximum height before scrolling appears (no limit by default) - * @param: countFullHeight - control the usage of maxHeight parameter - when set to true all grid height included in max height calculation, if false then only data part (no header) of grid included in calcualation (false by default) - * @type: public - * @topic: 0 - */ - enableAutoHeight:function(mode, maxHeight, countFullHeight){ - this._ahgr=convertStringToBoolean(mode); - this._ahgrF=convertStringToBoolean(countFullHeight); - this._ahgrM=maxHeight||null; - if (arguments.length == 1){ - this.objBox.style.overflowY=mode?"hidden":"auto"; - } - if (maxHeight == "auto"){ - this._ahgrM=null; - this._ahgrMA=true; - this._setAutoResize(); - // this._activeResize(); - } - }, -//#sorting:06042008{ - enableStableSorting:function(mode){ - this._sst=convertStringToBoolean(mode); - this.rowsCol.stablesort=function(cmp){ - var size = this.length-1; - - for (var i = 0; i < this.length-1; i++){ - for (var j = 0; j < size; j++) - if (cmp(this[j], this[j+1]) > 0){ - var temp = this[j]; - this[j]=this[j+1]; - this[j+1]=temp; - } - size--; - } - } - }, -//#} - - /** - * @desc: enable/disable hot keys in grid - * @param: mode - true/false - * @type: public - * @topic: 0 - */ - enableKeyboardSupport:function(mode){ - this._htkebl=!convertStringToBoolean(mode); - }, - -//#context_menu:06042008{ - /** - * @desc: enable/disable context menu - * @param: dhtmlxMenu object, if null - context menu will be disabled - * @type: public - * @topic: 0 - */ - enableContextMenu:function(menu){ - this._ctmndx=menu; - }, -//#} - - /*backward compatibility*/ - setScrollbarWidthCorrection:function(width){ - }, -//#tooltips:06042008{ - /** - * @desc: enable/disable tooltips for specified colums - * @param: list - list of true/false values, tooltips enabled for all columns by default - * @type: public - * @topic: 0 - */ - enableTooltips:function(list){ - this._enbTts=list.split(","); - - for (var i = 0; i < this._enbTts.length; i++)this._enbTts[i]=convertStringToBoolean(this._enbTts[i]); - }, -//#} - -//#column_resize:06042008{ - /** - * @desc: enable/disable resizing for specified colums - * @param: list - list of true/false values, resizing enabled for all columns by default - * @type: public - * @topic: 0 - */ - enableResizing:function(list){ - this._drsclmn=list.split(","); - - for (var i = 0; i < this._drsclmn.length; i++)this._drsclmn[i]=convertStringToBoolean(this._drsclmn[i]); - }, - - /** - * @desc: set minimum column width ( works only for manual resizing ) - * @param: width - minimum column width, can be set for specified column, or as comma separated list for all columns - * @param: ind - column index - * @type: public - * @topic: 0 - */ - setColumnMinWidth:function(width, ind){ - if (arguments.length == 2){ - if (!this._drsclmW) - this._drsclmW=new Array(); - this._drsclmW[ind]=width; - } else - this._drsclmW=width.split(","); - }, -//#} - - /** - * @desc: enable/disable unique id for cells (id will be automaticaly created using the following template: "c_[RowId]_[colIndex]") - * @param: mode - true/false - enable/disable - * @type: public - * @topic: 0 - */ - enableCellIds:function(mode){ - this._enbCid=convertStringToBoolean(mode); - }, - - -//#locked_row:11052006{ - /** - * @desc: lock/unlock row for editing - * @param: rowId - id of row - * @param: mode - true/false - lock/unlock - * @type: public - * @topic: 0 - */ - lockRow:function(rowId, mode){ - var z = this.getRowById(rowId); - - if (z){ - z._locked=convertStringToBoolean(mode); - - if ((this.cell)&&(this.cell.parentNode.idd == rowId)) - this.editStop(); - } - }, -//#} - - /** - * @desc: get values of all cells in row - * @type: private - */ - _getRowArray:function(row){ - var text = new Array(); - - for (var ii = 0; ii < row.childNodes.length; ii++){ - var a = this.cells3(row, ii); - text[ii]=a.getValue(); - } - - return text; - }, -//#__pro_feature:21092006{ -//#data_format:12052006{ - /** - * @desc: set mask for date formatting in cell - * @param: mask - date mask, d,m,y will mean day,month,year; for example "d/m/y" - 22/05/1985 - * @type: public - * @edition: Professional - * @topic: 0 - */ - setDateFormat:function(mask,incoming){ - this._dtmask=mask; - this._dtmask_inc=incoming; - }, - - /** - * @desc: set mask for formatting numeric data ( works for [ed/ro]n excell only or oher cell types with suport for this method) - * @param: mask - numeric mask; for example 0,000.00 - 1,234.56 - * @param: cInd - column index - * @param: p_sep - char used as decimalseparator ( point by default ) - * @param: d_sep - char used as groups part separator ( comma by default ) - * @type: public - * @edition: Professional - * @topic: 0 - */ - setNumberFormat:function(mask, cInd, p_sep, d_sep){ - var nmask = mask.replace(/[^0\,\.]*/g, ""); - var pfix = nmask.indexOf("."); - - if (pfix > -1) - pfix=nmask.length-pfix-1; - var dfix = nmask.indexOf(","); - - if (dfix > -1) - dfix=nmask.length-pfix-2-dfix; - if (typeof p_sep != "string") - p_sep=this.i18n.decimal_separator; - if (typeof d_sep != "string") - d_sep=this.i18n.group_separator; - var pref = mask.split(nmask)[0]; - var postf = mask.split(nmask)[1]; - this._maskArr[cInd]=[ - pfix, - dfix, - pref, - postf, - p_sep, - d_sep - ]; - }, - /** - * @desc: convert formated value to original - * @type: private - */ - _aplNFb:function(data, ind){ - var a = this._maskArr[ind]; - - if (!a) - return data; - - var ndata = parseFloat(data.toString().replace(/[^0-9]*/g, "")); - - if (data.toString().substr(0, 1) == "-") - ndata=ndata*-1; - - if (a[0] > 0) - ndata=ndata / Math.pow(10, a[0]); - return ndata; - }, - - /** - * @desc: format data with mask - * @type: private - */ - _aplNF:function(data, ind){ - var a = this._maskArr[ind]; - - if (!a) - return data; - - var c = (parseFloat(data) < 0 ? "-" : "")+a[2]; - data=Math.abs(Math.round(parseFloat(data)*Math.pow(10, a[0] > 0 ? a[0] : 0))).toString(); - data=(data.length - < a[0] - ? Math.pow(10, a[0]+1-data.length).toString().substr(1, a[0]+1)+data.toString() - : data).split("").reverse(); - data[a[0]]=(data[a[0]]||"0")+a[4]; - - if (a[1] > 0) - for (var j = (a[0] > 0 ? 0 : 1)+a[0]+a[1]; j < data.length; j+=a[1])data[j]+=a[5]; - return c+data.reverse().join("")+a[3]; - }, -//#} -//#} - -//#config_from_xml:20092006{ - - /** - * @desc: configure grid structure from XML - * @type: private - */ - _launchCommands:function(arr){ - for (var i = 0; i < arr.length; i++){ - var args = new Array(); - - for (var j = 0; j < arr[i].childNodes.length; j++) - if (arr[i].childNodes[j].nodeType == 1) - args[args.length]=arr[i].childNodes[j].firstChild.data; - - this[arr[i].getAttribute("command")].apply(this, args); - } - }, - - - /** - * @desc: configure grid structure from XML - * @type: private - */ - _parseHead:function(xmlDoc){ - var hheadCol = this.xmlLoader.doXPath("./head", xmlDoc); - - if (hheadCol.length){ - var headCol = this.xmlLoader.doXPath("./column", hheadCol[0]); - var asettings = this.xmlLoader.doXPath("./settings", hheadCol[0]); - var awidthmet = "setInitWidths"; - var split = false; - - if (asettings[0]){ - for (var s = 0; s < asettings[0].childNodes.length; s++)switch (asettings[0].childNodes[s].tagName){ - case "colwidth": - if (asettings[0].childNodes[s].firstChild&&asettings[0].childNodes[s].firstChild.data == "%") - awidthmet="setInitWidthsP"; - break; - - case "splitat": - split=(asettings[0].childNodes[s].firstChild ? asettings[0].childNodes[s].firstChild.data : false); - break; - } - } - this._launchCommands(this.xmlLoader.doXPath("./beforeInit/call", hheadCol[0])); - - if (headCol.length > 0){ - if (this.hdr.rows.length > 0) this.clearAll(true); //drop existing grid here, to prevent loss of initialization parameters - var sets = [ - [], - [], - [], - [], - [], - [], - [], - [], - [] - ]; - - var attrs = ["", "width", "type", "align", "sort", "color", "format", "hidden", "id"]; - var calls = ["", awidthmet, "setColTypes", "setColAlign", "setColSorting", "setColumnColor", "", - "", "setColumnIds"]; - - for (var i = 0; i < headCol.length; i++){ - for (var j = 1; j < attrs.length; j++)sets[j].push(headCol[i].getAttribute(attrs[j])); - sets[0].push((headCol[i].firstChild - ? headCol[i].firstChild.data - : "").replace(/^\s*((\s\S)*.+)\s*$/gi, "$1")); - }; - - this.setHeader(sets[0]); - for (var i = 0; i < calls.length; i++) - if (calls[i]) - this[calls[i]](sets[i].join(this.delim)) - - for (var i = 0; i < headCol.length; i++){ - if ((this.cellType[i].indexOf('co') == 0)||(this.cellType[i] == "clist")){ - var optCol = this.xmlLoader.doXPath("./option", headCol[i]); - - if (optCol.length){ - var resAr = new Array(); - - if (this.cellType[i] == "clist"){ - for (var j = 0; - j < optCol.length; - j++)resAr[resAr.length]=optCol[j].firstChild - ? optCol[j].firstChild.data - : ""; - - this.registerCList(i, resAr); - } else { - var combo = this.getCombo(i); - - for (var j = 0; - j < optCol.length; - j++)combo.put(optCol[j].getAttribute("value"), - optCol[j].firstChild - ? optCol[j].firstChild.data - : ""); - } - } - } - - else if (sets[6][i]) - if ((this.cellType[i].toLowerCase().indexOf("calendar")!=-1)||(this.fldSort[i] == "date")) - this.setDateFormat(sets[6][i]); - else - this.setNumberFormat(sets[6][i], i); - } - - this.init(); - - var param=sets[7].join(this.delim); - //preserving state of hidden columns, if not specified directly - if (this.setColHidden && param.replace(/,/g,"")!="") - this.setColHidden(param); - - if ((split)&&(this.splitAt)) - this.splitAt(split); - } - this._launchCommands(this.xmlLoader.doXPath("./afterInit/call", hheadCol[0])); - } - //global(grid) user data - var gudCol = this.xmlLoader.doXPath("//rows/userdata", xmlDoc); - - if (gudCol.length > 0){ - - if (!this.UserData["gridglobaluserdata"]) - this.UserData["gridglobaluserdata"]=new Hashtable(); - - for (var j = 0; j < gudCol.length; j++){ - var u_record = ""; - for (var xj=0; xj < gudCol[j].childNodes.length; xj++) - u_record += gudCol[j].childNodes[xj].nodeValue; - this.UserData["gridglobaluserdata"].put(gudCol[j].getAttribute("name"),u_record); - } - } - }, - - -//#} - - - /** - * @desc: get list of Ids of all rows with checked exCell in specified column - * @type: public - * @param: col_ind - column index - * @topic: 5 - */ - getCheckedRows:function(col_ind){ - var d = new Array(); - this.forEachRowA(function(id){ - var cell = this.cells(id, col_ind); - if (cell.changeState && cell.getValue() != 0) - d.push(id); - },true); - return d.join(","); - }, - /** - * @desc: check all checkboxes in grid - * @type: public - * @param: col_ind - column index - * @topic: 5 - */ - checkAll:function(){var mode=arguments.length?arguments[0]:1; - for (var cInd=0;cInd= this.grid._cCount) - return; - var ced = this.grid.cells3(r, c._cellIndex); - if (!ced || !ced.cell || !ced.cell._attrs) return; // fix for public release - - if (el._title) - ced.cell.title=""; - - if (!ced.cell._attrs['title']) - el._title=true; - - if (ced) - el.title=ced.cell._attrs['title'] - ||(ced.getTitle - ? ced.getTitle() - : (ced.getValue()||"").toString().replace(/<[^>]*>/gi, "")); - - return true; - }, -//#} - /** - * @desc: can be used for setting correction for cell padding, while calculation setSizes - * @type: private - */ - enableCellWidthCorrection:function(size){ - if (_isFF) - this._wcorr=parseInt(size); - }, - - - /** - * @desc: gets a list of all row ids in grid - * @param: separator - delimiter to use in list - * @returns: list of all row ids in grid - * @type: public - * @topic: 2,7 - */ - getAllRowIds:function(separator){ - var ar = []; - - for (var i = 0; i < this.rowsBuffer.length; i++) - if (this.rowsBuffer[i]) - ar.push(this.rowsBuffer[i].idd); - - return ar.join(separator||this.delim) - }, - getAllItemIds:function(){ - return this.getAllRowIds(); - }, - -//#__pro_feature:21092006{ -//#colspan:20092006{ - - /** - * @desc: dynamicaly set colspan in row starting from specified column index - * @param: row_id - row id - * @param: col_id - index of column - * @param: colspan - size of colspan - * @type: public - * @edition: Professional - * @topic: 2,9 - */ - setColspan:function(row_id, col_ind, colspan){ - if (!this._ecspn) - return; - - var r = this.getRowById(row_id); - - if ((r._childIndexes)&&(r.childNodes[r._childIndexes[col_ind]])){ - var j = r._childIndexes[col_ind]; - var n = r.childNodes[j]; - var m = n.colSpan; - n.colSpan=1; - - if ((m)&&(m != 1)) - for (var i = 1; i < m; i++){ - var c = document.createElement("TD"); - - if (n.nextSibling) - r.insertBefore(c, n.nextSibling); - else - r.appendChild(c); - r._childIndexes[col_ind+i]=j+i; - c._cellIndex=col_ind+i; - c.style.textAlign=this.cellAlign[i]; - c.style.verticalAlign=this.cellVAlign[i]; - n=c; - this.cells3(r, col_ind+i).setValue(""); - } - - for (var z = col_ind*1+1*m; z < r._childIndexes.length; z++){ - r._childIndexes[z]+=(m-1)*1; - } - } - - if ((colspan)&&(colspan > 1)){ - if (r._childIndexes) - var j = r._childIndexes[col_ind]; - else { - var j = col_ind; - r._childIndexes=new Array(); - - for (var z = 0; z < r.childNodes.length; z++)r._childIndexes[z]=z; - } - - r.childNodes[j].colSpan=colspan; - - for (var z = 1; z < colspan; z++){ - r._childIndexes[r.childNodes[j+1]._cellIndex]=j; - r.removeChild(r.childNodes[j+1]); - } - - var c1 = r.childNodes[r._childIndexes[col_ind]]._cellIndex; - - for (var z = c1*1+1*colspan; z < r._childIndexes.length; z++)r._childIndexes[z]-=(colspan-1); - } - }, - -//#} -//#} - - /** - * @desc: prevent caching in IE by adding random values to URL string - * @param: mode - enable/disable random values in URLs ( disabled by default ) - * @type: public - * @topic: 2,9 - */ - preventIECaching:function(mode){ - this.no_cashe=convertStringToBoolean(mode); - this.xmlLoader.rSeed=this.no_cashe; - }, - enableColumnAutoSize:function(mode){ - this._eCAS=convertStringToBoolean(mode); - }, - /** - * @desc: called when header was dbllicked - * @type: private - * @topic: 1,2 - */ - _onHeaderDblClick:function(e){ - var that = this.grid; - var el = that.getFirstParentOfType(_isIE ? event.srcElement : e.target, "TD"); - - if (!that._eCAS) - return false; - that.adjustColumnSize(el._cellIndexS) - }, - - /** - * @desc: autosize column to max content size - * @param: cInd - index of column - * @type: public - */ - adjustColumnSize:function(cInd, complex){ - if (this._hrrar && this._hrrar[cInd]) return; - this._notresize=true; - var m = 0; - this._setColumnSizeR(cInd, 20); - - for (var j = 1; j < this.hdr.rows.length; j++){ - var a = this.hdr.rows[j]; - a=a.childNodes[(a._childIndexes) ? a._childIndexes[cInd] : cInd]; - - if ((a)&&((!a.colSpan)||(a.colSpan < 2)) && a._cellIndex==cInd){ - if ((a.childNodes[0])&&(a.childNodes[0].className == "hdrcell")) - a=a.childNodes[0]; - m=Math.max(m, a.scrollWidth); - } - } - - var l = this.obj.rows.length; - var z = 0; - var tree = this.cellType._dhx_find("tree"); - - for (var i = 1; i < l; i++){ - var row = this.obj.rows[i]; - if (!this.rowsAr[row.idd]) continue; - - if (row._childIndexes&&row._childIndexes[cInd] != cInd || !row.childNodes[cInd]) - continue; - - z= ( row.childNodes[cInd].innerText || row.childNodes[cInd].textContent || "" ).length*this.fontWidth; - if (this._h2 && cInd == tree) - z += this._h2.get[row.idd].level * 22; - - - - if (z > m) - m=z; - } - m+=20+(complex||0); - - this._setColumnSizeR(cInd, m); - this._notresize=false; - this.setSizes(); - }, - -//#header_footer:06042008{ - /** - * @desc: remove header line from grid (opposite to attachHeader) - * @param: index - index of row to be removed ( zero based ) - * @param: hdr - header object (optional) - * @type: public - */ - detachHeader:function(index, hdr){ - hdr=hdr||this.hdr; - var row = hdr.rows[index+1]; - - if (row) - row.parentNode.removeChild(row); - this.setSizes(); - }, - - /** - * @desc: remove footer line from grid (opposite to attachFooter) - * @param: values - array of header titles - * @type: public - */ - detachFooter:function(index){ - this.detachHeader(index, this.ftr); - }, - - /** - * @desc: attach additional line to header - * @param: values - array of header titles - * @param: style - array of styles, optional - * @param: _type - reserved - * @type: public - */ - attachHeader:function(values, style, _type){ - if (typeof (values) == "string") - values=this._eSplit(values); - - if (typeof (style) == "string") - style=style.split(this.delim); - _type=_type||"_aHead"; - - if (this.hdr.rows.length){ - if (values) - this._createHRow([ - values, - style - ], this[(_type == "_aHead") ? "hdr" : "ftr"]); - - else if (this[_type]) - for (var i = 0; i < this[_type].length; i++)this.attachHeader.apply(this, this[_type][i]); - } else { - if (!this[_type]) - this[_type]=new Array(); - this[_type][this[_type].length]=[ - values, - style, - _type - ]; - } - }, - /** - * @desc: - * @type: private - */ - _createHRow:function(data, parent){ - if (!parent){ - if (this.entBox.style.position!="absolute") - this.entBox.style.position="relative"; - var z = document.createElement("DIV"); - z.className="c_ftr".substr(2); - this.entBox.appendChild(z); - var t = document.createElement("TABLE"); - t.cellPadding=t.cellSpacing=0; - - if (!_isIE || _isIE == 8){ - t.width="100%"; - t.style.paddingRight="20px"; - } - t.style.marginRight="20px"; - t.style.tableLayout="fixed"; - - z.appendChild(t); - t.appendChild(document.createElement("TBODY")); - this.ftr=parent=t; - - var hdrRow = t.insertRow(0); - var thl = ((this.hdrLabels.length <= 1) ? data[0].length : this.hdrLabels.length); - - for (var i = 0; i < thl; i++){ - hdrRow.appendChild(document.createElement("TH")); - hdrRow.childNodes[i]._cellIndex=i; - } - - if (_isIE && _isIE<8) - hdrRow.style.position="absolute"; - else - hdrRow.style.height='auto'; - } - var st1 = data[1]; - var z = document.createElement("TR"); - parent.rows[0].parentNode.appendChild(z); - - for (var i = 0; i < data[0].length; i++){ - if (data[0][i] == "#cspan"){ - var pz = z.cells[z.cells.length-1]; - pz.colSpan=(pz.colSpan||1)+1; - continue; - } - - if ((data[0][i] == "#rspan")&&(parent.rows.length > 1)){ - var pind = parent.rows.length-2; - var found = false; - var pz = null; - - while (!found){ - var pz = parent.rows[pind]; - - for (var j = 0; j < pz.cells.length; j++) - if (pz.cells[j]._cellIndex == i){ - found=j+1; - break; - } - pind--; - } - - pz=pz.cells[found-1]; - pz.rowSpan=(pz.rowSpan||1)+1; - continue; - // data[0][i]=""; - } - - var w = document.createElement("TD"); - w._cellIndex=w._cellIndexS=i; - if (this._hrrar && this._hrrar[i] && !_isIE) - w.style.display='none'; - - if (typeof data[0][i] == "object") - w.appendChild(data[0][i]); - else { - if (this.forceDivInHeader) - w.innerHTML="
              "+(data[0][i]||" ")+"
              "; - else - w.innerHTML=(data[0][i]||" "); - - if ((data[0][i]||"").indexOf("#") != -1){ - var t = data[0][i].match(/(^|{)#([^}]+)(}|$)/); - - if (t){ - var tn = "_in_header_"+t[2]; - - if (this[tn]) - this[tn]((this.forceDivInHeader ? w.firstChild : w), i, data[0][i].split(t[0])); - } - } - } - if (st1) - w.style.cssText=st1[i]; - - z.appendChild(w); - } - var self = parent; - - if (_isKHTML){ - if (parent._kTimer) - window.clearTimeout(parent._kTimer); - parent._kTimer=window.setTimeout(function(){ - parent.rows[1].style.display='none'; - window.setTimeout(function(){ - parent.rows[1].style.display=''; - }, 1); - }, 500); - } - }, -//#__pro_feature:21092006{ - /** - * @desc: attach additional line to footer - * @param: values - array of header titles - * @param: style - array of styles, optional - * @edition: Professional - * @type: public - */ - attachFooter:function(values, style){ - this.attachHeader(values, style, "_aFoot"); - }, -//#} -//#} -//#__pro_feature:21092006{ -//#dyn_cell_types:04062008{ - /** - * @desc: set excell type for cell in question - * @param: rowId - row ID - * @param: cellIndex - cell index - * @param: type - type of excell (code like "ed", "txt", "ch" etc.) - * @edition: Professional - * @type: public - */ - setCellExcellType:function(rowId, cellIndex, type){ - this.changeCellType(this.getRowById(rowId), cellIndex, type); - }, - /** - * @desc: - * @type: private - */ - changeCellType:function(r, ind, type){ - type=type||this.cellType[ind]; - var z = this.cells3(r, ind); - var v = z.getValue(); - z.cell._cellType=type; - var z = this.cells3(r, ind); - z.setValue(v); - }, - /** - * @desc: set excell type for all cells in specified row - * @param: rowId - row ID - * @param: type - type of excell - * @edition: Professional - * @type: public - */ - setRowExcellType:function(rowId, type){ - var z = this.rowsAr[rowId]; - - for (var i = 0; i < z.childNodes.length; i++)this.changeCellType(z, i, type); - }, - /** - * @desc: set excell type for all cells in specified column - * @param: colIndex - column index - * @param: type - type of excell - * @edition: Professional - * @type: public - */ - setColumnExcellType:function(colIndex, type){ - for (var i = 0; i < this.rowsBuffer.length; i++) - if (this.rowsBuffer[i] && this.rowsBuffer[i].tagName=="TR") - this.changeCellType(this.rowsBuffer[i], colIndex, type); - if (this.cellType[colIndex]=="math") - this._strangeParams[i]=type; - else - this.cellType[colIndex]=type; - }, - -//#} -//#} - - /** - * @desc: execute code for each row in a grid - * @param: custom_code - function which get row id as incomming argument - * @type: public - */ - forEachRow:function(custom_code){ - for (var a in this.rowsAr) - if (this.rowsAr[a]&&this.rowsAr[a].idd) - custom_code.apply(this, [this.rowsAr[a].idd]); - }, - forEachRowA:function(custom_code){ - for (var a =0; a b.c ? 1 : -1); - }); - - for (var i = 0; i < max; i++) - if (!t[i+1]||( typeof t[i].c == "undefined")) - this._tabOrder[t[i].ind]=(t[0].ind+1)*-1; - else - this._tabOrder[t[i].ind]=t[i+1].ind; - }, - - i18n:{ - loading: "Loading", - decimal_separator:".", - group_separator:"," - }, - - //key_ctrl_shift - _key_events:{ - k13_1_0: function(){ - var rowInd = this.rowsCol._dhx_find(this.row) - this.selectCell(this.rowsCol[rowInd+1], this.cell._cellIndex, true); - }, - k13_0_1: function(){ - var rowInd = this.rowsCol._dhx_find(this.row) - this.selectCell(this.rowsCol[rowInd-1], this.cell._cellIndex, true); - }, - k13_0_0: function(){ - this.editStop(); - this.callEvent("onEnter", [ - (this.row ? this.row.idd : null), - (this.cell ? this.cell._cellIndex : null) - ]); - this._still_active=true; - }, - k9_0_0: function(){ - this.editStop(); - if (!this.callEvent("onTab",[true])) return true; - var z = this._getNextCell(null, 1); - - if (z){ - this.selectCell(z.parentNode, z._cellIndex, (this.row != z.parentNode), false, true); - this._still_active=true; - } - }, - k9_0_1: function(){ - this.editStop(); - if (!this.callEvent("onTab",[false])) return false; - var z = this._getNextCell(null, -1); - - if (z){ - this.selectCell(z.parentNode, z._cellIndex, (this.row != z.parentNode), false, true); - this._still_active=true; - } - }, - k113_0_0: function(){ - if (this._f2kE) - this.editCell(); - }, - k32_0_0: function(){ - var c = this.cells4(this.cell); - - if (!c.changeState||(c.changeState() === false)) - return false; - }, - k27_0_0: function(){ - this.editStop(true); - }, - k33_0_0: function(){ - if (this.pagingOn) - this.changePage(this.currentPage-1); - else - this.scrollPage(-1); - }, - k34_0_0: function(){ - if (this.pagingOn) - this.changePage(this.currentPage+1); - else - this.scrollPage(1); - }, - k37_0_0: function(){ - if (!this.editor&&this.isTreeGrid()) - this.collapseKids(this.row) - else - return false; - }, - k39_0_0: function(){ - if (!this.editor&&this.isTreeGrid()) - this.expandKids(this.row) - else - return false; - }, - k40_0_0: function(){ - var master = this._realfake?this._fake:this; - if (this.editor&&this.editor.combo) - this.editor.shiftNext(); - else { - if (!this.row.idd) return; - var rowInd = Math.max((master._r_select||0),this.getRowIndex(this.row.idd)); - var row = this._nextRow(rowInd, 1); - if (row){ - master._r_select=null; - this.selectCell(row, this.cell._cellIndex, true); - if (master.pagingOn) master.showRow(row.idd); - } else { - if (!this.callEvent("onLastRow", [])) return false; - this._key_events.k34_0_0.apply(this, []); - if (this.pagingOn && this.rowsCol[rowInd+1]) - this.selectCell(rowInd+1, 0, true); - } - } - this._still_active=true; - }, - k38_0_0: function(){ - var master = this._realfake?this._fake:this; - if (this.editor&&this.editor.combo) - this.editor.shiftPrev(); - else { - if (!this.row.idd) return; - var rowInd = this.getRowIndex(this.row.idd)+1; - if (rowInd != -1 && (!this.pagingOn || (rowInd!=1))){ - var nrow = this._nextRow(rowInd-1, -1); - this.selectCell(nrow, this.cell._cellIndex, true); - if (master.pagingOn && nrow) master.showRow(nrow.idd); - } else { - this._key_events.k33_0_0.apply(this, []); - /* - if (this.pagingOn && this.rowsCol[this.rowsBufferOutSize-1]) - this.selectCell(this.rowsBufferOutSize-1, 0, true); - */ - } - } - this._still_active=true; - } - }, - - //(c)dhtmlx ltd. www.dhtmlx.com - - _build_master_row:function(){ - var t = document.createElement("DIV"); - var html = [""]; - - for (var i = 0; i < this._cCount; i++)html.push(""); - html.push("
              "); - t.innerHTML=html.join(""); - this._master_row=t.firstChild.rows[0]; - }, - - _prepareRow:function(new_id){ /*TODO: hidden columns */ - if (!this._master_row) - this._build_master_row(); - - var r = this._master_row.cloneNode(true); - - for (var i = 0; i < r.childNodes.length; i++){ - r.childNodes[i]._cellIndex=i; - if (this._enbCid) r.childNodes[i].id="c_"+new_id+"_"+i; - if (this.dragAndDropOff) - this.dragger.addDraggableItem(r.childNodes[i], this); - } - r.idd=new_id; - r.grid=this; - - return r; - }, - -//#non_xml_data:06042008{ - _process_jsarray_row:function(r, data){ - r._attrs={ - }; - - for (var j = 0; j < r.childNodes.length; j++)r.childNodes[j]._attrs={ - }; - - this._fillRow(r, (this._c_order ? this._swapColumns(data) : data)); - return r; - }, - _get_jsarray_data:function(data, ind){ - return data[ind]; - }, - _process_json_row:function(r, data){ - data = this._c_order ? this._swapColumns(data.data) : data.data; - return this._process_some_row(r, data); - }, - _process_some_row:function(r,data){ - r._attrs={}; - - for (var j = 0; j < r.childNodes.length; j++) - r.childNodes[j]._attrs={}; - - this._fillRow(r, data); - return r; - }, - _get_json_data:function(data, ind){ - return data.data[ind]; - }, - - - _process_js_row:function(r, data){ - var arr = []; - for (var i=0; i= 0; i--){ - var u_record = ""; - for (var j=0; j < udCol[i].childNodes.length; j++) - u_record += udCol[i].childNodes[j].nodeValue; - - this.setUserData(r.idd,udCol[i].getAttribute("name"), u_record); - } - } - - //load cell data - for (var j = 0; j < cellsCol.length; j++){ - var cellVal = cellsCol[this._c_order?this._c_order[j]:j]; - if (!cellVal) continue; - var cind = r._childIndexes?r._childIndexes[j]:j; - var exc = cellVal.getAttribute("type"); - - if (r.childNodes[cind]){ - if (exc) - r.childNodes[cind]._cellType=exc; - r.childNodes[cind]._attrs=this._xml_attrs(cellVal); - } - - if (!cellVal.getAttribute("xmlcontent")){ - if (cellVal.firstChild) - cellVal=cellVal.firstChild.data; - - else - cellVal=""; - } - - strAr.push(cellVal); - } - - for (j < cellsCol.length; j < r.childNodes.length; j++)r.childNodes[j]._attrs={ - }; - - //treegrid - if (r.parentNode&&r.parentNode.tagName == "row") - r._attrs["parent"]=r.parentNode.getAttribute("idd"); - - //back to common code - this._fillRow(r, strAr); - return r; - }, - _get_xml_data:function(data, ind){ - data=data.firstChild; - - while (true){ - if (!data) - return ""; - - if (data.tagName == "cell") - ind--; - - if (ind < 0) - break; - data=data.nextSibling; - } - return (data.firstChild ? data.firstChild.data : ""); - }, -//#} - _fillRow:function(r, text){ - if (this.editor) - this.editStop(); - - for (var i = 0; i < r.childNodes.length; i++){ - if ((i < text.length)||(this.defVal[i])){ - - var ii=r.childNodes[i]._cellIndex; - var val = text[ii]; - var aeditor = this.cells4(r.childNodes[i]); - - if ((this.defVal[ii])&&((val == "")||( typeof (val) == "undefined"))) - val=this.defVal[ii]; - - if (aeditor) aeditor.setValue(val) - } else { - r.childNodes[i].innerHTML=" "; - r.childNodes[i]._clearCell=true; - } - } - - return r; - }, - - _postRowProcessing:function(r,donly){ - if (r._attrs["class"]) - r._css=r.className=r._attrs["class"]; - - if (r._attrs.locked) - r._locked=true; - - if (r._attrs.bgColor) - r.bgColor=r._attrs.bgColor; - var cor=0; - - for (var i = 0; i < r.childNodes.length; i++){ - var c=r.childNodes[i]; - var ii=c._cellIndex; - //style attribute - var s = c._attrs.style||r._attrs.style; - - if (s) - c.style.cssText+=";"+s; - - if (c._attrs["class"]) - c.className=c._attrs["class"]; - s=c._attrs.align||this.cellAlign[ii]; - - - if (s) - c.align=s; - c.vAlign=c._attrs.valign||this.cellVAlign[ii]; - var color = c._attrs.bgColor||this.columnColor[ii]; - - - if (color) - c.bgColor=color; - - if (c._attrs["colspan"] && !donly){ - this.setColspan(r.idd, i+cor, c._attrs["colspan"]); - //i+=(c._attrs["colspan"]-1); - cor+=(c._attrs["colspan"]-1); - } - - if (this._hrrar&&this._hrrar[ii]&&!donly){ - c.style.display="none"; - } - }; - this.callEvent("onRowCreated", [ - r.idd, - r, - null - ]); - }, - /** - * @desc: load data from external file ( xml, json, jsarray, csv ) - * @param: url - url to external file - * @param: call - after loading callback function, optional, can be ommited - * @param: type - type of data (xml,csv,json,jsarray) , optional, xml by default - * @type: public - */ - load:function(url, call, type){ - this.callEvent("onXLS", [this]); - if (arguments.length == 2 && typeof call != "function"){ - type=call; - call=null; - } - type=type||"xml"; - - if (!this.xmlFileUrl) - this.xmlFileUrl=url; - this._data_type=type; - - this.xmlLoader = new dtmlXMLLoaderObject(this.doLoadDetails, this, true, this.no_cashe); - this.xmlLoader.onloadAction=function(that, b, c, d, xml){ - if (!that.callEvent) return; - xml=that["_process_"+type](xml); - if (!that._contextCallTimer) - that.callEvent("onXLE", [that,0,0,xml]); - - if (call){ - call(); - call=null; - } - } - this.xmlLoader.loadXML(url); - }, -//#__pro_feature:21092006{ - loadXMLString:function(str, afterCall){ - var t = new dtmlXMLLoaderObject(function(){ - }); - - t.loadXMLString(str); - this.parse(t, afterCall, "xml") - }, -//#} - loadXML:function(url, afterCall){ - this.load(url, afterCall, "xml") - }, - /** - * @desc: load data from local datasource ( xml string, csv string, xml island, xml object, json objecs , javascript array ) - * @param: data - string or object - * @param: type - data type (xml,json,jsarray,csv), optional, data threated as xml by default - * @type: public - */ - parse:function(data, call, type){ - if (arguments.length == 2 && typeof call != "function"){ - type=call; - call=null; - } - type=type||"xml"; - this._data_type=type; - data=this["_process_"+type](data); - if (!this._contextCallTimer) - this.callEvent("onXLE", [this,0,0,data]); - if (call) - call(); - }, - - xml:{ - top: "rows", - row: "./row", - cell: "./cell", - s_row: "row", - s_cell: "cell", - row_attrs: [], - cell_attrs: [] - }, - - csv:{ - row: "\n", - cell: "," - }, - - _xml_attrs:function(node){ - var data = { - }; - - if (node.attributes.length){ - for (var i = 0; i < node.attributes.length; i++)data[node.attributes[i].name]=node.attributes[i].value; - } - - return data; - }, -//#xml_data:06042008{ - _process_xml:function(xml){ - if (!xml.doXPath){ - var t = new dtmlXMLLoaderObject(function(){}); - if (typeof xml == "string") - t.loadXMLString(xml); - else { - if (xml.responseXML) - t.xmlDoc=xml; - else - t.xmlDoc={}; - t.xmlDoc.responseXML=xml; - } - xml=t; - } - if (this._refresh_mode) return this._refreshFromXML(xml); - this._parsing=true; - var top = xml.getXMLTopNode(this.xml.top) - if (top.tagName!=this.xml.top) return; - var skey = top.getAttribute("dhx_security"); - if (skey) - dhtmlx.security_key = skey; - - //#config_from_xml:20092006{ - this._parseHead(top); - //#} - var rows = xml.doXPath(this.xml.row, top) - var cr = parseInt(xml.doXPath("//"+this.xml.top)[0].getAttribute("pos")||0); - var total = parseInt(xml.doXPath("//"+this.xml.top)[0].getAttribute("total_count")||0); - var total = Math.min(total, 32000000/this._srdh); - - var reset = false; - if (total && total!=this.rowsBuffer.length){ - if (!this.rowsBuffer[total-1]){ - if (this.rowsBuffer.length) - reset=true; - this.rowsBuffer[total-1]=null; - } - if (total 0){ - var add_step = (_isIE || window._FFrv)?Math.min(add_count, 50000):add_count; - var new_filler = this._add_filler(max, add_step); - if (new_filler) - this._fillers.push(new_filler); - add_count -= add_step; - max += add_step; - } - } - - //p.appendChild(this.obj) - this.setSizes(); - }, - - render_row:function(ind){ - if (!this.rowsBuffer[ind]) - return -1; - - if (this.rowsBuffer[ind]._parser){ - var r = this.rowsBuffer[ind]; - if (this.rowsAr[r.idd] && this.rowsAr[r.idd].tagName=="TR") - return this.rowsBuffer[ind]=this.rowsAr[r.idd]; - var row = this._prepareRow(r.idd); - this.rowsBuffer[ind]=row; - this.rowsAr[r.idd]=row; - - r._parser.call(this, row, r.data); - this._postRowProcessing(row); - return row; - } - return this.rowsBuffer[ind]; - }, - - - _get_cell_value:function(row, ind, method){ - if (row._locator){ - /*if (!this._data_cache[row.idd]) - this._data_cache[row.idd]=[]; - if (this._data_cache[row.idd][ind]) - return this._data_cache[row.idd][ind]; - else - return this._data_cache[row.idd][ind]=row._locator.call(this,row.data,ind); - */ - if (this._c_order) - ind=this._c_order[ind]; - return row._locator.call(this, row.data, ind); - } - return this.cells3(row, ind)[method ? method : "getValue"](); - }, -//#sorting:06042008{ - /** - * @desc: sort grid - * @param: col - index of column, by which grid need to be sorted - * @param: type - sorting type (str,int,date), optional, by default sorting type taken from column setting - * @param: order - sorting order (asc,des), optional, by default sorting order based on previous sorting operation - * @type: public - */ - sortRows:function(col, type, order){ - this.editStop(); - //default values - order=(order||"asc").toLowerCase(); - type=(type||this.fldSort[col]); - col=col||0; - - if (this.isTreeGrid()) - this.sortTreeRows(col, type, order); - else{ - - var arrTS = { - }; - - var atype = this.cellType[col]; - var amet = "getValue"; - - if (atype == "link") - amet="getContent"; - - if (atype == "dhxCalendar"||atype == "dhxCalendarA") - amet="getDate"; - - for (var i = 0; - i < this.rowsBuffer.length; - i++)arrTS[this.rowsBuffer[i].idd]=this._get_cell_value(this.rowsBuffer[i], col, amet); - - this._sortRows(col, type, order, arrTS); - } - this.callEvent("onAfterSorting", [col,type,order]); - }, - /** - * @desc: - * @type: private - */ - _sortCore:function(col, type, order, arrTS, s){ - var sort = "sort"; - - if (this._sst){ - s["stablesort"]=this.rowsCol.stablesort; - sort="stablesort"; - } -//#__pro_feature:21092006{ -//#custom_sort:21092006{ - if (type.length > 4) - type=window[type]; - - if (type == 'cus'){ - var cstr=this._customSorts[col]; - s[sort](function(a, b){ - return cstr(arrTS[a.idd], arrTS[b.idd], order, a.idd, b.idd); - }); - } - else if (typeof (type) == 'function'){ - s[sort](function(a, b){ - return type(arrTS[a.idd], arrTS[b.idd], order, a.idd, b.idd); - }); - } - else -//#} -//#} - if (type == 'str'){ - s[sort](function(a, b){ - if (order == "asc") - return arrTS[a.idd] > arrTS[b.idd] ? 1 : (arrTS[a.idd] < arrTS[b.idd] ? -1 : 0); - else - return arrTS[a.idd] < arrTS[b.idd] ? 1 : (arrTS[a.idd] > arrTS[b.idd] ? -1 : 0); - }); - } - else if (type == 'int'){ - s[sort](function(a, b){ - var aVal = parseFloat(arrTS[a.idd]); - aVal=isNaN(aVal) ? -99999999999999 : aVal; - var bVal = parseFloat(arrTS[b.idd]); - bVal=isNaN(bVal) ? -99999999999999 : bVal; - - if (order == "asc") - return aVal-bVal; - else - return bVal-aVal; - }); - } - else if (type == 'date'){ - s[sort](function(a, b){ - var aVal = Date.parse(arrTS[a.idd])||(Date.parse("01/01/1900")); - var bVal = Date.parse(arrTS[b.idd])||(Date.parse("01/01/1900")); - - if (order == "asc") - return aVal-bVal - else - return bVal-aVal - }); - } - }, - /** - * @desc: inner sorting routine - * @type: private - * @topic: 7 - */ - _sortRows:function(col, type, order, arrTS){ - this._sortCore(col, type, order, arrTS, this.rowsBuffer); - this._reset_view(); - this.callEvent("onGridReconstructed", []); - }, -//#} - _reset_view:function(skip){ - if (!this.obj.rows[0]) return; - if (this._lahRw) this._unsetRowHover(0, true); //remove hovering during reset - this.callEvent("onResetView",[]); - var tb = this.obj.rows[0].parentNode; - var tr = tb.removeChild(tb.childNodes[0], true) - if (_isKHTML) //Safari 2x - for (var i = tb.parentNode.childNodes.length-1; i >= 0; i--) { if (tb.parentNode.childNodes[i].tagName=="TR") tb.parentNode.removeChild(tb.parentNode.childNodes[i],true); } - else if (_isIE) - for (var i = tb.childNodes.length-1; i >= 0; i--) tb.childNodes[i].removeNode(true); - else - tb.innerHTML=""; - tb.appendChild(tr) - this.rowsCol=dhtmlxArray(); - if (this._sst) - this.enableStableSorting(true); - this._fillers=this.undefined; - if (!skip){ - if (_isIE && this._srnd){ - // var p=this._get_view_size; - // this._get_view_size=function(){ return 1; } - this.render_dataset(); - // this._get_view_size=p; - } - else - this.render_dataset(); - } - - - }, - - /** - * @desc: delete row from the grid - * @param: row_id - row ID - * @type: public - */ - deleteRow:function(row_id, node){ - if (!node) - node=this.getRowById(row_id) - - if (!node) - return; - - this.editStop(); - if (!this._realfake) - if (this.callEvent("onBeforeRowDeleted", [row_id]) == false) - return false; - - var pid=0; - if (this.cellType._dhx_find("tree") != -1 && !this._realfake){ - pid=this._h2.get[row_id].parent.id; - this._removeTrGrRow(node); - } - else { - if (node.parentNode) - node.parentNode.removeChild(node); - - var ind = this.rowsCol._dhx_find(node); - - if (ind != -1) - this.rowsCol._dhx_removeAt(ind); - - for (var i = 0; i < this.rowsBuffer.length; i++) - if (this.rowsBuffer[i]&&this.rowsBuffer[i].idd == row_id){ - this.rowsBuffer._dhx_removeAt(i); - ind=i; - break; - } - } - this.rowsAr[row_id]=null; - - for (var i = 0; i < this.selectedRows.length; i++) - if (this.selectedRows[i].idd == row_id) - this.selectedRows._dhx_removeAt(i); - - if (this._srnd){ - for (var i = 0; i < this._fillers.length; i++){ - var f = this._fillers[i] - if (!f) continue; //can be null - if (f[0] >= ind) - this._update_fillers(i, 0, -1); - else if (f[0]+f[1] > ind) - this._update_fillers(i, -1, 0); - }; - - this._update_srnd_view(); - } - - if (this.pagingOn) - this.changePage(); - if (!this._realfake) this.callEvent("onAfterRowDeleted", [row_id,pid]); - this.callEvent("onGridReconstructed", []); - if (this._ahgr) this.setSizes(); - return true; - }, - - _addRow:function(new_id, text, ind){ - if (ind == -1|| typeof ind == "undefined") - ind=this.rowsBuffer.length; - if (typeof text == "string") text=text.split(this.delim); - var row = this._prepareRow(new_id); - row._attrs={ - }; - - for (var j = 0; j < row.childNodes.length; j++)row.childNodes[j]._attrs={ - }; - - - this.rowsAr[row.idd]=row; - if (this._h2) this._h2.get[row.idd].buff=row; //treegrid specific - this._fillRow(row, text); - this._postRowProcessing(row); - if (this._skipInsert){ - this._skipInsert=false; - return this.rowsAr[row.idd]=row; - } - - if (this.pagingOn){ - this.rowsBuffer._dhx_insertAt(ind,row); - this.rowsAr[row.idd]=row; - return row; - } - - if (this._fillers){ - this.rowsCol._dhx_insertAt(ind, null); - this.rowsBuffer._dhx_insertAt(ind,row); - if (this._fake) this._fake.rowsCol._dhx_insertAt(ind, null); - this.rowsAr[row.idd]=row; - var found = false; - - for (var i = 0; i < this._fillers.length; i++){ - var f = this._fillers[i]; - - if (f&&f[0] <= ind&&(f[0]+f[1]) >= ind){ - f[1]=f[1]+1; - var nh = f[2].firstChild.style.height=parseInt(f[2].firstChild.style.height)+this._srdh+"px"; - found=true; - if (this._fake){ - this._fake._fillers[i][1]++; - this._fake._fillers[i][2].firstChild.style.height = nh; - } - } - - if (f&&f[0] > ind){ - f[0]=f[0]+1 - if (this._fake) this._fake._fillers[i][0]++; - } - } - - if (!found) - this._fillers.push(this._add_filler(ind, 1, (ind == 0 ? { - parentNode: this.obj.rows[0].parentNode, - nextSibling: (this.rowsCol[1]) - } : this.rowsCol[ind-1]))); - - return row; - } - this.rowsBuffer._dhx_insertAt(ind,row); - return this._insertRowAt(row, ind); - }, - - /** - * @desc: add row to the grid - * @param: new_id - row ID, must be unique - * @param: text - row values, may be a comma separated list or an array - * @param: ind - index of new row, optional, row added to the last position by default - * @type: public - */ - addRow:function(new_id, text, ind){ - var r = this._addRow(new_id, text, ind); - - if (!this.dragContext) - this.callEvent("onRowAdded", [new_id]); - - if (this.pagingOn) - this.changePage(this.currentPage) - - if (this._srnd) - this._update_srnd_view(); - - r._added=true; - - if (this._ahgr) - this.setSizes(); - this.callEvent("onGridReconstructed", []); - return r; - }, - - _insertRowAt:function(r, ind, skip){ - this.rowsAr[r.idd]=r; - - if (this._skipInsert){ - this._skipInsert=false; - return r; - } - - if ((ind < 0)||((!ind)&&(parseInt(ind) !== 0))) - ind=this.rowsCol.length; - else { - if (ind > this.rowsCol.length) - ind=this.rowsCol.length; - } - - if (this._cssEven){ - var css = r.className.replace(this._cssUnEven, ""); - if ((this._cssSP ? this.getLevel(r.idd) : ind)%2 == 1) - r.className=css+" "+this._cssUnEven+(this._cssSU ? (" "+this._cssUnEven+"_"+this.getLevel(r.idd)) : ""); - else - r.className=css+" "+this._cssEven+(this._cssSU ? (" "+this._cssEven+"_"+this.getLevel(r.idd)) : ""); - } - /* - if (r._skipInsert) { - this.rowsAr[r.idd] = r; - return r; - }*/ - if (!skip) - if ((ind == (this.obj.rows.length-1))||(!this.rowsCol[ind])) - if (_isKHTML) - this.obj.appendChild(r); - else { - this.obj.firstChild.appendChild(r); - } - else { - this.rowsCol[ind].parentNode.insertBefore(r, this.rowsCol[ind]); - } - - this.rowsCol._dhx_insertAt(ind, r); - this.callEvent("onRowInserted",[r, ind]); - return r; - }, - - getRowById:function(id){ - var row = this.rowsAr[id]; - - if (row){ - if (row.tagName != "TR"){ - for (var i = 0; i < this.rowsBuffer.length; i++) - if (this.rowsBuffer[i] && this.rowsBuffer[i].idd == id) - return this.render_row(i); - if (this._h2) return this.render_row(null,row.idd); - } - return row; - } - return null; - }, - -/** -* @desc: gets dhtmlXGridCellObject object (if no arguments then gets dhtmlXGridCellObject object of currently selected cell) -* @param: row_id - row id -* @param: col - column index -* @returns: dhtmlXGridCellObject object (see its methods below) -* @type: public -* @topic: 4 -*/ - cellById:function(row_id, col){ - return this.cells(row_id, col); - }, -/** -* @desc: gets dhtmlXGridCellObject object (if no arguments then gets dhtmlXGridCellObject object of currently selected cell) -* @param: row_id - row id -* @param: col - column index -* @returns: dhtmlXGridCellObject object (use it to get/set value to cell etc.) -* @type: public -* @topic: 4 -*/ - cells:function(row_id, col){ - if (arguments.length == 0) - return this.cells4(this.cell); - else - var c = this.getRowById(row_id); - var cell = (c._childIndexes ? c.childNodes[c._childIndexes[col]] : c.childNodes[col]); - if (!cell && c._childIndexes) - cell = c.firstChild || {}; - return this.cells4(cell); - }, - /** - * @desc: gets dhtmlXGridCellObject object - * @param: row_index - row index - * @param: col - column index - * @returns: dhtmlXGridCellObject object (see its methods below) - * @type: public - * @topic: 4 - */ - cellByIndex:function(row_index, col){ - return this.cells2(row_index, col); - }, - /** - * @desc: gets dhtmlXGridCellObject object - * @param: row_index - row index - * @param: col - column index - * @returns: dhtmlXGridCellObject object (see its methods below) - * @type: public - * @topic: 4 - */ - cells2:function(row_index, col){ - var c = this.render_row(row_index); - var cell = (c._childIndexes ? c.childNodes[c._childIndexes[col]] : c.childNodes[col]); - if (!cell && c._childIndexes) - cell = c.firstChild || {}; - return this.cells4(cell); - }, - /** - * @desc: gets exCell editor for row object and column id - * @type: private - * @topic: 4 - */ - cells3:function(row, col){ - var cell = (row._childIndexes ? row.childNodes[row._childIndexes[col]] : row.childNodes[col]); - return this.cells4(cell); - }, - /** - * @desc: gets exCell editor for cell object - * @type: private - * @topic: 4 - */ - cells4:function(cell){ - var type = window["eXcell_"+(cell._cellType||this.cellType[cell._cellIndex])]; - - if (type) - return new type(cell); - }, - cells5:function(cell, type){ - var type = type||(cell._cellType||this.cellType[cell._cellIndex]); - - if (!this._ecache[type]){ - if (!window["eXcell_"+type]) - var tex = eXcell_ro; - else - var tex = window["eXcell_"+type]; - - this._ecache[type]=new tex(cell); - } - this._ecache[type].cell=cell; - return this._ecache[type]; - }, - dma:function(mode){ - if (!this._ecache) - this._ecache={ - }; - - if (mode&&!this._dma){ - this._dma=this.cells4; - this.cells4=this.cells5; - } else if (!mode&&this._dma){ - this.cells4=this._dma; - this._dma=null; - } - }, - - /** - * @desc: returns count of row in grid ( in case of dynamic mode it will return expected count of rows ) - * @type: public - * @returns: count of rows in grid - */ - getRowsNum:function(){ - return this.rowsBuffer.length; - }, - - - /** - * @desc: enables/disables mode when readonly cell is not available with tab - * @param: mode - (boolean) true/false - * @type: public - */ - enableEditTabOnly:function(mode){ - if (arguments.length > 0) - this.smartTabOrder=convertStringToBoolean(mode); - else - this.smartTabOrder=true; - }, - /** - * @desc: sets elements which get focus when tab is pressed in the last or first (tab+shift) cell - * @param: start - html object or its id - gets focus when tab+shift are pressed in the first cell - * @param: end - html object or its id - gets focus when tab is pressed in the last cell - * @type: public - */ - setExternalTabOrder:function(start, end){ - var grid = this; - this.tabStart=( typeof (start) == "object") ? start : document.getElementById(start); - - var oldkeydown_start = this.tabStart.onkeydown; - this.tabStart.onkeydown=function(e){ - if (oldkeydown_start) - oldkeydown_start.call(this, e); - - var ev = (e||window.event); - if (ev.keyCode == 9 && !ev.shiftKey){ - - ev.cancelBubble=true; - grid.selectCell(0, 0, 0, 0, 1); - - if (grid.smartTabOrder && grid.cells2(0, 0).isDisabled()){ - grid._key_events["k9_0_0"].call(grid); - } - this.blur(); - return false; - } - }; - if(_isOpera) this.tabStart.onkeypress = this.tabStart.onkeydown; - this.tabEnd=( typeof (end) == "object") ? end : document.getElementById(end); - - var oldkeydown_end= this.tabEnd.onkeydown; - this.tabEnd.onkeydown=this.tabEnd.onkeypress=function(e){ - if (oldkeydown_end) - oldkeydown_end.call(this, e); - - var ev = (e||window.event); - if (ev.keyCode == 9 && ev.shiftKey){ - ev.cancelBubble=true; - grid.selectCell((grid.getRowsNum()-1), (grid.getColumnCount()-1), 0, 0, 1); - - if (grid.smartTabOrder && grid.cells2((grid.getRowsNum()-1), (grid.getColumnCount()-1)).isDisabled()){ - grid._key_events["k9_0_1"].call(grid); - } - this.blur(); - return false; - } - }; - if(_isOpera) this.tabEnd.onkeypress = this.tabEnd.onkeydown; - }, - /** - * @desc: returns unique ID - * @type: public - */ - uid:function(){ - if (!this._ui_seed) this._ui_seed=(new Date()).valueOf(); - return this._ui_seed++; - }, - /** - * @desc: clears existing grid state and load new XML - * @type: public - */ - clearAndLoad:function(){ - var t=this._pgn_skin; this._pgn_skin=null; - this.clearAll(); - this._pgn_skin=t; - this.load.apply(this,arguments); - }, - /** - * @desc: returns details about current grid state - * @type: public - */ - getStateOfView:function(){ - if (this.pagingOn){ - var start = (this.currentPage-1)*this.rowsBufferOutSize; - return [this.currentPage, start, Math.min(start+this.rowsBufferOutSize,this.rowsBuffer.length), this.rowsBuffer.length ]; - } - return [ - Math.floor(this.objBox.scrollTop/this._srdh), - Math.ceil(parseInt(this.objBox.offsetHeight)/this._srdh), - this.rowsBuffer.length - ]; - } -}; - -//grid -(function(){ - //local helpers - function direct_set(name,value){ this[name]=value; } - function direct_call(name,value){ this[name].call(this,value); } - function joined_call(name,value){ this[name].call(this,value.join(this.delim)); } - function set_options(name,value){ - for (var i=0; i < value.length; i++) - if (typeof value[i] == "object"){ - var combo = this.getCombo(i); - for (var key in value[i]) - combo.put(key, value[i][key]); - } - } - function header_set(name,value,obj){ - //make a matrix - var rows = 1; - var header = []; - function add(i,j,value){ - if (!header[j]) header[j]=[]; - if (typeof value == "object") value.toString=function(){ return this.text; } - header[j][i]=value; - } - - for (var i=0; i 1 ? val2 : val) - ]); -//#} -//#} -} - -dhtmlXGridCellObject.prototype.setCTxtValue=function(val){ - this.cell.innerHTML=""; - this.cell.appendChild(document.createTextNode(val)); -//#__pro_feature:21092006{ -//#on_cell_changed:23102006{ - this.grid.callEvent("onCellChanged", [ - this.cell.parentNode.idd, - this.cell._cellIndex, - val - ]); -//#} -//#} -} - -/** -* @desc: sets text representation of cell which contains math formula ( setLabel doesn't triger math calculations as setValue do) -* @param: val - new value -* @type: public -*/ -dhtmlXGridCellObject.prototype.setLabel=function(val){ - this.cell.innerHTML=val; -} - -/** -* @desc: get formula of ExCell ( actual only for math based exCells ) -* @type: public -*/ -dhtmlXGridCellObject.prototype.getMath=function(){ - if (this._val) - return this.val; - else - return this.getValue(); -} - -/** -* @desc: dhtmlxGrid cell editor constructor (base for all eXcells). Shouldn't be accessed directly -* @returns: dhtmlxGrid cell editor object -* @type: public -*/ -function eXcell(){ - this.obj=null; //editor - //this.cell = null//cell to get value from - this.val=null; //current value (before edit) - /** - * @desc: occures on space for example - * @type: private - */ - this.changeState=function(){ - return false - } - /** - * @desc: opens editor - * @type: private - */ - this.edit=function(){ - this.val=this.getValue() - } // - /** - * @desc: return value to cell, closes editor - * @returns: if cell's value was changed (true) or not - * @type: private - */ - this.detach=function(){ - return false - } // - /** - * @desc: gets position (left-right) of element - * @param: oNode - element to get position of - * @type: private - * @topic: 8 - */ - this.getPosition=function(oNode){ - var oCurrentNode = oNode; - var iLeft = 0; - var iTop = 0; - - while (oCurrentNode.tagName != "BODY"){ - iLeft+=oCurrentNode.offsetLeft; - iTop+=oCurrentNode.offsetTop; - oCurrentNode=oCurrentNode.offsetParent; - } - return new Array(iLeft, iTop); - } -} -eXcell.prototype=new dhtmlXGridCellObject; - - -/** -* @desc: simple text editor -* @returns: dhtmlxGrid cell editor object -* @type: public -*/ -function eXcell_ed(cell){ - if (cell){ - this.cell=cell; - this.grid=this.cell.parentNode.grid; - } - this.edit=function(){ - this.cell.atag=((!this.grid.multiLine)&&(_isKHTML||_isMacOS||_isFF)) ? "INPUT" : "TEXTAREA"; - this.val=this.getValue(); - this.obj=document.createElement(this.cell.atag); - this.obj.setAttribute("autocomplete", "off"); - this.obj.style.height=(this.cell.offsetHeight-(_isIE ? 4 : 4))+"px"; - this.obj.className="dhx_combo_edit"; - this.obj.wrap="soft"; - this.obj.style.textAlign=this.cell.style.textAlign; - this.obj.onclick=function(e){ - (e||event).cancelBubble=true - } - this.obj.onmousedown=function(e){ - (e||event).cancelBubble=true - } - this.obj.value=this.val - this.cell.innerHTML=""; - this.cell.appendChild(this.obj); - - this.obj.onselectstart=function(e){ - if (!e) - e=event; - e.cancelBubble=true; - return true; - }; - if (_isIE){ - this.obj.focus(); - this.obj.blur(); - } - this.obj.focus(); - } - this.getValue=function(){ - if ((this.cell.firstChild)&&((this.cell.atag)&&(this.cell.firstChild.tagName == this.cell.atag))) - return this.cell.firstChild.value; - - if (this.cell._clearCell) - return ""; - - return this.cell.innerHTML.toString()._dhx_trim(); - } - - this.detach=function(){ - this.setValue(this.obj.value); - return this.val != this.getValue(); - } -} -eXcell_ed.prototype=new eXcell; - -/** -* @desc: pure text editor ( HTML not supported ) -* @returns: dhtmlxGrid cell editor object -* @type: public -*/ -function eXcell_edtxt(cell){ - if (cell){ - this.cell=cell; - this.grid=this.cell.parentNode.grid; - } - this.getValue=function(){ - if ((this.cell.firstChild)&&((this.cell.atag)&&(this.cell.firstChild.tagName == this.cell.atag))) - return this.cell.firstChild.value; - - if (this.cell._clearCell) - return ""; - - return (_isIE ? this.cell.innerText : this.cell.textContent); - } - this.setValue=function(val){ - if (!val||val.toString()._dhx_trim() == ""){ - val=" "; - this.cell._clearCell=true; - } else - this.cell._clearCell=false; - this.setCTxtValue(val); - } -} -eXcell_edtxt.prototype=new eXcell_ed; -//#__pro_feature:21092006{ -/** -* @desc: simple numeric text editor -* @returns: dhtmlxGrid cell editor object -* @type: public -* @edition: professional -*/ -function eXcell_edn(cell){ - if (cell){ - this.cell=cell; - this.grid=this.cell.parentNode.grid; - } - this.getValue=function(){ - //this.grid.editStop(); - if ((this.cell.firstChild)&&(this.cell.firstChild.tagName == "TEXTAREA")) - return this.cell.firstChild.value; - - if (this.cell._clearCell) - return ""; - - return this.cell._orig_value||this.grid._aplNFb(this.cell.innerHTML.toString()._dhx_trim(), this.cell._cellIndex); - } - - this.detach=function(){ - var tv = this.obj.value; - this.setValue(tv); - return this.val != this.getValue(); - } -} -eXcell_edn.prototype=new eXcell_ed; -eXcell_edn.prototype.setValue=function(val){ - if (!val||val.toString()._dhx_trim() == ""){ - this.cell._clearCell=true; - return this.setCValue(" ",0); - } else { - this.cell._clearCell=false; - this.cell._orig_value = val; - } - this.setCValue(this.grid._aplNF(val, this.cell._cellIndex), val); -} -//#} - -//#ch_excell:04062008{ -/** -* @desc: checkbox editor -* @returns: dhtmlxGrid cell editor object -* @type: public -*/ -function eXcell_ch(cell){ - if (cell){ - this.cell=cell; - this.grid=this.cell.parentNode.grid; - } - - this.disabledF=function(fl){ - if ((fl == true)||(fl == 1)) - this.cell.innerHTML=this.cell.innerHTML.replace("item_chk0.", "item_chk0_dis.").replace("item_chk1.", - "item_chk1_dis."); - else - this.cell.innerHTML=this.cell.innerHTML.replace("item_chk0_dis.", "item_chk0.").replace("item_chk1_dis.", - "item_chk1."); - } - - this.changeState=function(fromClick){ - //nb: - if (fromClick===true && !this.grid.isActive) { - if (window.globalActiveDHTMLGridObject != null && window.globalActiveDHTMLGridObject != this.grid && window.globalActiveDHTMLGridObject.isActive) window.globalActiveDHTMLGridObject.setActive(false); - this.grid.setActive(true); - } - if ((!this.grid.isEditable)||(this.cell.parentNode._locked)||(this.isDisabled())) - return; - - if (this.grid.callEvent("onEditCell", [ - 0, - this.cell.parentNode.idd, - this.cell._cellIndex - ])){ - this.val=this.getValue() - - if (this.val == "1") - this.setValue("0") - else - this.setValue("1") - - this.cell.wasChanged=true; - //nb: - this.grid.callEvent("onEditCell", [ - 1, - this.cell.parentNode.idd, - this.cell._cellIndex - ]); - - this.grid.callEvent("onCheckbox", [ - this.cell.parentNode.idd, - this.cell._cellIndex, - (this.val != '1') - ]); - - this.grid.callEvent("onCheck", [ - this.cell.parentNode.idd, - this.cell._cellIndex, - (this.val != '1') - ]); - } else { //preserve editing (not tested thoroughly for this editor) - this.editor=null; - } - } - this.getValue=function(){ - return this.cell.chstate ? this.cell.chstate.toString() : "0"; - } - - this.isCheckbox=function(){ - return true; - } - this.isChecked=function(){ - if (this.getValue() == "1") - return true; - else - return false; - } - - this.setChecked=function(fl){ - this.setValue(fl.toString()) - } - this.detach=function(){ - return this.val != this.getValue(); - } - this.edit=null; -} -eXcell_ch.prototype=new eXcell; -eXcell_ch.prototype.setValue=function(val){ - this.cell.style.verticalAlign="middle"; //nb:to center checkbox in line - //val can be int - if (val){ - val=val.toString()._dhx_trim(); - - if ((val == "false")||(val == "0")) - val=""; - } - - if (val){ - val="1"; - this.cell.chstate="1"; - } else { - val="0"; - this.cell.chstate="0" - } - var obj = this; - this.setCValue("", - this.cell.chstate); -} -//#} -//#ra_excell:04062008{ -/** -* @desc: radio editor -* @returns: dhtmlxGrid cell editor object -* @type: public -*/ -function eXcell_ra(cell){ - this.base=eXcell_ch; - this.base(cell) - this.grid=cell.parentNode.grid; - - this.disabledF=function(fl){ - if ((fl == true)||(fl == 1)) - this.cell.innerHTML=this.cell.innerHTML.replace("radio_chk0.", "radio_chk0_dis.").replace("radio_chk1.", - "radio_chk1_dis."); - else - this.cell.innerHTML=this.cell.innerHTML.replace("radio_chk0_dis.", "radio_chk0.").replace("radio_chk1_dis.", - "radio_chk1."); - } - - this.changeState=function(mode){ - if (mode===false && this.getValue()==1) return; - - if ((!this.grid.isEditable)||(this.cell.parentNode._locked)||(this.isDisabled())) - return; - - if (this.grid.callEvent("onEditCell", [ - 0, - this.cell.parentNode.idd, - this.cell._cellIndex - ]) != false){ - this.val=this.getValue() - - if (this.val == "1") - this.setValue("0") - else - this.setValue("1") - this.cell.wasChanged=true; - //nb: - this.grid.callEvent("onEditCell", [ - 1, - this.cell.parentNode.idd, - this.cell._cellIndex - ]); - - this.grid.callEvent("onCheckbox", [ - this.cell.parentNode.idd, - this.cell._cellIndex, - (this.val != '1') - ]); - - this.grid.callEvent("onCheck", [ - this.cell.parentNode.idd, - this.cell._cellIndex, - (this.val != '1') - ]); - } else { //preserve editing (not tested thoroughly for this editor) - this.editor=null; - } - } - this.edit=null; -} -eXcell_ra.prototype=new eXcell_ch; -eXcell_ra.prototype.setValue=function(val){ - this.cell.style.verticalAlign="middle"; //nb:to center checkbox in line - - if (val){ - val=val.toString()._dhx_trim(); - - if ((val == "false")||(val == "0")) - val=""; - } - - if (val){ - if (!this.grid._RaSeCol) - this.grid._RaSeCol=[]; - - if (this.grid._RaSeCol[this.cell._cellIndex]){ - var z = this.grid.cells4(this.grid._RaSeCol[this.cell._cellIndex]); - z.setValue("0") - if (this.grid.rowsAr[z.cell.parentNode.idd]) - this.grid.callEvent("onEditCell", [ - 1, - z.cell.parentNode.idd, - z.cell._cellIndex - ]); - } - - this.grid._RaSeCol[this.cell._cellIndex]=this.cell; - - val="1"; - this.cell.chstate="1"; - } else { - val="0"; - this.cell.chstate="0" - } - this.setCValue("", - this.cell.chstate); -} -//#} -//#txt_excell:04062008{ -/** -* @desc: multilene popup editor -* @returns: dhtmlxGrid cell editor object -* @type: public -*/ -function eXcell_txt(cell){ - if (cell){ - this.cell=cell; - this.grid=this.cell.parentNode.grid; - } - this.edit=function(){ - this.val=this.getValue() - this.obj=document.createElement("TEXTAREA"); - this.obj.className="dhx_textarea"; - - this.obj.onclick=function(e){ - (e||event).cancelBubble=true - } - var arPos = this.grid.getPosition(this.cell); //,this.grid.objBox - - this.obj.value=this.val; - - this.obj.style.display=""; - this.obj.style.textAlign=this.cell.style.textAlign; - - if (_isFF){ - var z_ff = document.createElement("DIV"); - z_ff.appendChild(this.obj); - z_ff.style.overflow="auto"; - z_ff.className="dhx_textarea"; - this.obj.style.margin="0px 0px 0px 0px"; - this.obj.style.border="0px"; - this.obj=z_ff; - } - document.body.appendChild(this.obj); //nb: - if(_isOpera) this.obj.onkeypress=function(ev){ if (ev.keyCode == 9) return false; } - this.obj.onkeydown=function(e){ - var ev = (e||event); - - if (ev.keyCode == 9){ - globalActiveDHTMLGridObject.entBox.focus(); - globalActiveDHTMLGridObject.doKey({ - keyCode: ev.keyCode, - shiftKey: ev.shiftKey, - srcElement: "0" - }); - - return false; - } - } - - this.obj.style.left=arPos[0]+"px"; - this.obj.style.top=arPos[1]+this.cell.offsetHeight+"px"; - - if (this.cell.offsetWidth < 200) - var pw = 200; - else - var pw = this.cell.offsetWidth; - this.obj.style.width=pw+(_isFF ? 18 : 16)+"px" - - if (_isFF){ - this.obj.firstChild.style.width=parseInt(this.obj.style.width)+"px"; - this.obj.firstChild.style.height=this.obj.offsetHeight-3+"px"; - } - - if (_isIE) { this.obj.select(); this.obj.value=this.obj.value; }//dzen of IE - if (_isFF) - this.obj.firstChild.focus(); - else { - this.obj.focus() - } - } - this.detach=function(){ - var a_val = ""; - - if (_isFF) - a_val=this.obj.firstChild.value; - else - a_val=this.obj.value; - - if (a_val == ""){ - this.cell._clearCell=true; - } - else - this.cell._clearCell=false; - this.setValue(a_val); - document.body.removeChild(this.obj); - this.obj=null; - return this.val != this.getValue(); - } - this.getValue=function(){ - if (this.obj){ - if (_isFF) - return this.obj.firstChild.value; - else - return this.obj.value; - } - - if (this.cell._clearCell) - return ""; - - if (typeof this.cell._brval != "undefined") return this.cell._brval; - - if ((!this.grid.multiLine)) - return this.cell._brval||this.cell.innerHTML; - else - return this.cell._brval||this.cell.innerHTML.replace(/]*>/gi, "\n")._dhx_trim(); //innerText; - } -} - -eXcell_txt.prototype=new eXcell; - -/** -* @desc: multiline text editor without HTML support -* @returns: dhtmlxGrid cell editor object -* @type: public -*/ -function eXcell_txttxt(cell){ - if (cell){ - this.cell=cell; - this.grid=this.cell.parentNode.grid; - } - this.getValue=function(){ - if ((this.cell.firstChild)&&(this.cell.firstChild.tagName == "TEXTAREA")) - return this.cell.firstChild.value; - - if (this.cell._clearCell) - return ""; - - if ((!this.grid.multiLine)&&this.cell._brval) - return this.cell._brval; - - return (_isIE ? this.cell.innerText : this.cell.textContent); - } - this.setValue=function(val){ - this.cell._brval=val; - - if (!val||val.toString()._dhx_trim() == ""){ - val=" "; - this.cell._clearCell=true; - } else - this.cell._clearCell=false; - this.setCTxtValue(val); - } -} - -eXcell_txttxt.prototype=new eXcell_txt; - -eXcell_txt.prototype.setValue=function(val){ - this.cell._brval=val; - - if (!val||val.toString()._dhx_trim() == ""){ - val=" " - this.cell._clearCell=true; - } else - this.cell._clearCell=false; - - if ((!this.grid.multiLine) || this.cell._clearCell) - this.setCValue(val, this.cell._brval); - else - this.setCValue(val.replace(/\n/g, "
              "), val); -} -//#} -//#co_excell:04062008{ -/** -* @desc: combobox editor -* @returns: dhtmlxGrid cell editor object -* @type: public -*/ -function eXcell_co(cell){ - if (cell){ - this.cell=cell; - this.grid=this.cell.parentNode.grid; - this.combo=(this.cell._combo||this.grid.getCombo(this.cell._cellIndex)); - this.editable=true - } - this.shiftNext=function(){ - var z = this.list.options[this.list.selectedIndex+1]; - - if (z) - z.selected=true; - this.obj.value=this.list.options[this.list.selectedIndex].text; - - return true; - } - this.shiftPrev=function(){ - if (this.list.selectedIndex != 0){ - var z = this.list.options[this.list.selectedIndex-1]; - - if (z) - z.selected=true; - this.obj.value=this.list.options[this.list.selectedIndex].text; - } - - return true; - } - - this.edit=function(){ - this.val=this.getValue(); - this.text=this.getText()._dhx_trim(); - var arPos = this.grid.getPosition(this.cell) //,this.grid.objBox) - - this.obj=document.createElement("TEXTAREA"); - this.obj.className="dhx_combo_edit"; - this.obj.style.height=(this.cell.offsetHeight-4)+"px"; - - this.obj.wrap="soft"; - this.obj.style.textAlign=this.cell.style.textAlign; - this.obj.onclick=function(e){ - (e||event).cancelBubble=true - } - this.obj.onmousedown=function(e){ - (e||event).cancelBubble=true - } - this.obj.value=this.text - this.obj.onselectstart=function(e){ - if (!e) - e=event; - e.cancelBubble=true; - return true; - }; - var editor_obj = this; - this.obj.onkeyup=function(e){ - var key=(e||event).keyCode; - if (key==38 || key==40 || key==9) return; - var val = this.readonly ? String.fromCharCode(key) : this.value; - - var c = editor_obj.list.options; - - for (var i = 0; i < c.length; i++) - if (c[i].text.indexOf(val) == 0) - return c[i].selected=true; - } - this.list=document.createElement("SELECT"); - - this.list.className='dhx_combo_select'; - this.list.style.width=this.cell.offsetWidth+"px"; - this.list.style.left=arPos[0]+"px"; //arPos[0] - this.list.style.top=arPos[1]+this.cell.offsetHeight+"px"; //arPos[1]+this.cell.offsetHeight; - this.list.onclick=function(e){ - var ev = e||window.event; - var cell = ev.target||ev.srcElement - - //tbl.editor_obj.val=cell.combo_val; - if (cell.tagName == "OPTION") - cell=cell.parentNode; - //editor_obj.list.value = cell.value; - editor_obj.editable=false; - editor_obj.grid.editStop(); - ev.cancelBubble = true; - } - var comboKeys = this.combo.getKeys(); - var fl = false - var selOptId = 0; - - for (var i = 0; i < comboKeys.length; i++){ - var val = this.combo.get(comboKeys[i]) - this.list.options[this.list.options.length]=new Option(val, comboKeys[i]); - - if (comboKeys[i] == this.val){ - selOptId=this.list.options.length-1; - fl=true; - } - } - - if (fl == false){ //if no such value in combo list - this.list.options[this.list.options.length]=new Option(this.text, this.val === null ? "" : this.val); - selOptId=this.list.options.length-1; - } - document.body.appendChild(this.list) //nb:this.grid.objBox.appendChild(this.listBox); - this.list.size="6"; - this.cstate=1; - - if (this.editable){ - this.cell.innerHTML=""; - } - else { - this.obj.style.width="1px"; - this.obj.style.height="1px"; - } - this.cell.appendChild(this.obj); - this.list.options[selOptId].selected=true; - - //fix for coro - FF scrolls grid in incorrect position - if ((!_isFF)||(this.editable)){ - this.obj.focus(); - this.obj.focus(); - } - - if (!this.editable){ - this.obj.style.visibility="hidden"; - this.list.focus(); - this.list.onkeydown=function(e){ - e=e||window.event; - editor_obj.grid.setActive(true) - - if (e.keyCode < 30) - return editor_obj.grid.doKey({ - target: editor_obj.cell, - keyCode: e.keyCode, - shiftKey: e.shiftKey, - ctrlKey: e.ctrlKey - }) - } - } - } - - this.getValue=function(){ - return ((this.cell.combo_value == window.undefined) ? "" : this.cell.combo_value); - } - this.detach=function(){ - if (this.val != this.getValue()){ - this.cell.wasChanged=true; - } - - if (this.list.parentNode != null){ - if (this.editable){ - var ind = this.list.options[this.list.selectedIndex] - if (ind&&ind.text == this.obj.value) - this.setValue(this.list.value) - else{ - var combo=(this.cell._combo||this.grid.getCombo(this.cell._cellIndex)); - var val=combo.values._dhx_find(this.obj.value); - if (val!=-1) this.setValue(combo.keys[val]); - else this.setValue(this.cell.combo_value=this.obj.value); - } - } - else - this.setValue(this.list.value) - } - - if (this.list.parentNode) - this.list.parentNode.removeChild(this.list); - - if (this.obj.parentNode) - this.obj.parentNode.removeChild(this.obj); - - return this.val != this.getValue(); - } -} -eXcell_co.prototype=new eXcell; -eXcell_co.prototype.getText=function(){ - return this.cell.innerHTML; -} -eXcell_co.prototype.setValue=function(val){ - if (typeof (val) == "object"){ - var optCol = this.grid.xmlLoader.doXPath("./option", val); - - if (optCol.length) - this.cell._combo=new dhtmlXGridComboObject(); - - for (var j = 0; - j < optCol.length; - j++)this.cell._combo.put(optCol[j].getAttribute("value"), - optCol[j].firstChild - ? optCol[j].firstChild.data - : ""); - val=val.firstChild.data; - } - - if ((val||"").toString()._dhx_trim() == "") - val=null - this.cell.combo_value=val; - - if (val !== null){ - var label = (this.cell._combo||this.grid.getCombo(this.cell._cellIndex)).get(val); - this.setCValue(label===null?val:label, val); - }else - this.setCValue(" ", val); - - -} -/** -* @desc: selectbox editor -* @returns: dhtmlxGrid cell editor object -* @type: public -*/ -function eXcell_coro(cell){ - this.base=eXcell_co; - this.base(cell) - this.editable=false; -} -eXcell_coro.prototype=new eXcell_co; - -function eXcell_cotxt(cell){ - this.base=eXcell_co; - this.base(cell) -} -eXcell_cotxt.prototype=new eXcell_co; -eXcell_cotxt.prototype.getText=function(){ - return (_isIE ? this.cell.innerText : this.cell.textContent); -} -eXcell_cotxt.prototype.setValue=function(val){ - if (typeof (val) == "object"){ - var optCol = this.grid.xmlLoader.doXPath("./option", val); - - if (optCol.length) - this.cell._combo=new dhtmlXGridComboObject(); - - for (var j = 0; - j < optCol.length; - j++)this.cell._combo.put(optCol[j].getAttribute("value"), - optCol[j].firstChild - ? optCol[j].firstChild.data - : ""); - val=val.firstChild.data; - } - - if ((val||"").toString()._dhx_trim() == "") - val=null - - if (val !== null) - this.setCTxtValue((this.cell._combo||this.grid.getCombo(this.cell._cellIndex)).get(val)||val, val); - else - this.setCTxtValue(" ", val); - - this.cell.combo_value=val; -} - -function eXcell_corotxt(cell){ - this.base=eXcell_co; - this.base(cell) - this.editable=false; -} -eXcell_corotxt.prototype=new eXcell_cotxt; -//#} - -//#cp_excell:04062008{ -/** -* @desc: color picker editor -* @returns: dhtmlxGrid cell editor object -* @type: public -*/ -function eXcell_cp(cell){ - try{ - this.cell=cell; - this.grid=this.cell.parentNode.grid; - } - catch (er){} - this.edit=function(){ - this.val=this.getValue() - this.obj=document.createElement("SPAN"); - this.obj.style.border="1px solid black"; - this.obj.style.position="absolute"; - var arPos = this.grid.getPosition(this.cell); //,this.grid.objBox - this.colorPanel(4, this.obj) - document.body.appendChild(this.obj); //this.grid.objBox.appendChild(this.obj); - this.obj.style.left=arPos[0]+"px"; - this.obj.style.zIndex=1000; - this.obj.style.top=arPos[1]+this.cell.offsetHeight+"px"; - } - this.toolDNum=function(value){ - if (value.length == 1) - value='0'+value; - return value; - } - this.colorPanel=function(index, parent){ - var tbl = document.createElement("TABLE"); - parent.appendChild(tbl) - tbl.cellSpacing=0; - tbl.editor_obj=this; - tbl.style.cursor="default"; - tbl.onclick=function(e){ - var ev = e||window.event - var cell = ev.target||ev.srcElement; - var ed = cell.parentNode.parentNode.parentNode.editor_obj - ed.setValue(cell._bg) - ed.grid.editStop(); - } - var cnt = 256 / index; - for (var j = 0; j <= (256 / cnt); j++){ - var r = tbl.insertRow(j); - - for (var i = 0; i <= (256 / cnt); i++){ - for (var n = 0; n <= (256 / cnt); n++){ - R=new Number(cnt*j)-(j == 0 ? 0 : 1) - G=new Number(cnt*i)-(i == 0 ? 0 : 1) - B=new Number(cnt*n)-(n == 0 ? 0 : 1) - var rgb = - this.toolDNum(R.toString(16))+""+this.toolDNum(G.toString(16))+""+this.toolDNum(B.toString(16)); - var c = r.insertCell(i); - c.width="10px"; - c.innerHTML=" "; //R+":"+G+":"+B;// - c.title=rgb.toUpperCase() - c.style.backgroundColor="#"+rgb - c._bg="#"+rgb; - - if (this.val != null&&"#"+rgb.toUpperCase() == this.val.toUpperCase()){ - c.style.border="2px solid white" - } - } - } - } - } - this.getValue=function(){ - return this.cell.firstChild._bg||""; //this.getBgColor() - } - this.getRed=function(){ - return Number(parseInt(this.getValue().substr(1, 2), 16)) - } - this.getGreen=function(){ - return Number(parseInt(this.getValue().substr(3, 2), 16)) - } - this.getBlue=function(){ - return Number(parseInt(this.getValue().substr(5, 2), 16)) - } - this.detach=function(){ - if (this.obj.offsetParent != null) - document.body.removeChild(this.obj); - //this.obj.removeNode(true) - return this.val != this.getValue(); - } -} -eXcell_cp.prototype=new eXcell; -eXcell_cp.prototype.setValue=function(val){ - this.setCValue("
               
              ", - val); - this.cell.firstChild._bg=val; -} -//#} - -//#img_excell:04062008{ -/** -* @desc: image editor -* @returns: dhtmlxGrid cell editor object -* @type: public -*/ -/* - The corresponding cell value in XML should be a "^" delimited list of following values: - 1st - image src - 2nd - image alt text (optional) - 3rd - link (optional) - 4rd - target (optional, default is _self) -*/ -function eXcell_img(cell){ - try{ - this.cell=cell; - this.grid=this.cell.parentNode.grid; - } - catch (er){} - this.getValue=function(){ - if (this.cell.firstChild.tagName == "IMG") - return this.cell.firstChild.src+(this.cell.titFl != null - ? "^"+this.cell._brval - : ""); - else if (this.cell.firstChild.tagName == "A"){ - var out = this.cell.firstChild.firstChild.src+(this.cell.titFl != null ? "^"+this.cell._brval : ""); - out+="^"+this.cell.lnk; - - if (this.cell.trg) - out+="^"+this.cell.trg - return out; - } - } - this.isDisabled=function(){ - return true; - } -} -eXcell_img.prototype=new eXcell; -eXcell_img.prototype.getTitle=function(){ - return this.cell._brval -} -eXcell_img.prototype.setValue=function(val){ - var title = val; - - if ((val||"").indexOf("^") != -1){ - var ar = val.split("^"); - val=ar[0] - title=this.cell._attrs.title||ar[1]; - - //link - if (ar.length > 2){ - this.cell.lnk=ar[2] - - if (ar[3]) - this.cell.trg=ar[3] - } - this.cell.titFl="1"; - } - this.setCValue("", val); - - if (this.cell.lnk){ - this.cell.innerHTML=""+this.cell.innerHTML+"" - } - this.cell._brval=title; -} -//#} - -//#price_excell:04062008{ -/** -* @desc: text editor with price (USD) formatting -* @returns: dhtmlxGrid cell editor object -* @type: public -*/ -function eXcell_price(cell){ - this.base=eXcell_ed; - this.base(cell) - this.getValue=function(){ - if (this.cell.childNodes.length > 1) - return this.cell.childNodes[1].innerHTML.toString()._dhx_trim() - else - return "0"; - } -} - -eXcell_price.prototype=new eXcell_ed; -eXcell_price.prototype.setValue=function(val){ - if (isNaN(parseFloat(val))){ - val=this.val||0; - } - var color = "green"; - - if (val < 0) - color="red"; - - this.setCValue("$"+val+"", val); -} -//#} - -//#dyn_excells:04062008{ -/** -* @desc: text editor with additional formatting for positive and negative numbers (arrow down/up and color) -* @returns: dhtmlxGrid cell editor object -* @type: public -*/ -function eXcell_dyn(cell){ - this.base=eXcell_ed; - this.base(cell) - this.getValue=function(){ - return this.cell.firstChild.childNodes[1].innerHTML.toString()._dhx_trim() - } -} - -eXcell_dyn.prototype=new eXcell_ed; -eXcell_dyn.prototype.setValue=function(val){ - if (!val||isNaN(Number(val))){ - if (val!=="") - val=0; - } - - if (val > 0){ - var color = "green"; - var img = "dyn_up.gif"; - } else if (val == 0){ - var color = "black"; - var img = "dyn_.gif"; - } else { - var color = "red"; - var img = "dyn_down.gif"; - } - this.setCValue("
              "+val - +"
              ", - val); -} -//#} - -/** -* @desc: readonly editor -* @returns: dhtmlxGrid cell editor object -* @type: public -*/ -function eXcell_ro(cell){ - if (cell){ - this.cell=cell; - this.grid=this.cell.parentNode.grid; - } - this.edit=function(){ - } - - this.isDisabled=function(){ - return true; - } - this.getValue=function(){ - return this.cell._clearCell?"":this.cell.innerHTML.toString()._dhx_trim(); - } -} -eXcell_ro.prototype=new eXcell; - - -window.eXcell_hidden = function(cell){ - if (cell){ - this.cell=cell; - this.grid=this.cell.parentNode.grid; - } - this.edit=function(){ - } - - this.isDisabled=function(){ - return true; - } - this.getValue=function(){ - return this.cell.val; - } -} -eXcell_hidden.prototype=new eXcell; -eXcell_hidden.prototype.setValue = function(value){ - this.cell.val = value; -} - -function eXcell_ron(cell){ - this.cell=cell; - this.grid=this.cell.parentNode.grid; - this.edit=function(){ - } - - this.isDisabled=function(){ - return true; - } - this.getValue=function(){ - return this.cell._clearCell?"":this.grid._aplNFb(this.cell.innerHTML.toString()._dhx_trim(), this.cell._cellIndex).toString(); - } -} -eXcell_ron.prototype=new eXcell; -eXcell_ron.prototype.setValue=function(val){ - if (val === 0){} - else if (!val||val.toString()._dhx_trim() == ""){ - this.setCValue(" "); - return this.cell._clearCell=true; - } - this.cell._clearCell=false; - this.setCValue(val?this.grid._aplNF(val, this.cell._cellIndex):"0"); -} - - -/** -* @desc: readonly pure text editor (without HTML support) -* @returns: dhtmlxGrid cell editor object -* @type: public -*/ -function eXcell_rotxt(cell){ - this.cell=cell; - this.grid=this.cell.parentNode.grid; - this.edit=function(){ - } - - this.isDisabled=function(){ - return true; - } - this.setValue=function(val){ - if (!val){ - val=" "; - this.cell._clearCell = true; - } - else - this.cell._clearCell = false; - - this.setCTxtValue(val); - } - this.getValue=function(){ - if (this.cell._clearCell) - return ""; - return (_isIE ? this.cell.innerText : this.cell.textContent); - } -} -eXcell_rotxt.prototype=new eXcell; - -/** - * @desc: combobox object constructor (shouldn't be accessed directly - instead please use getCombo(...) method of the grid) - * @type: private - * @returns: combobox for dhtmlxGrid - */ -function dhtmlXGridComboObject(){ - this.keys=new dhtmlxArray(); - this.values=new dhtmlxArray(); - /** - * @desc: puts new combination of key and value into combobox - * @type: public - * @param: key - object to use as a key (should be a string in the case of combobox) - * @param: value - object value of combobox line - */ - this.put=function(key, value){ - for (var i = 0; i < this.keys.length; i++){ - if (this.keys[i] == key){ - this.values[i]=value; - return true; - } - } - this.values[this.values.length]=value; - this.keys[this.keys.length]=key; - } - /** - * @desc: gets value corresponding to the given key - * @type: public - * @param: key - object to use as a key (should be a string in the case of combobox) - * @returns: value correspond. to given key or null if no such key - */ - this.get=function(key){ - for (var i = 0; i < this.keys.length; i++){ - if (this.keys[i] == key){ - return this.values[i]; - } - } - return null; - } - /** - * @desc: clears combobox - * @type: public - */ - this.clear=function(){ - /*for(var i=0;i") - else - this.setValue("") - - this.cell.wasChanged=true; - //nb: - this.grid.callEvent("onEditCell",[1,this.cell.parentNode.idd,this.cell._cellIndex]); - this.grid.callEvent("onCheck",[this.cell.parentNode.idd,this.cell._cellIndex,(this.val!='1')]); - this.grid.callEvent("onCheckbox",[this.cell.parentNode.idd,this.cell._cellIndex,(this.val!='1')]); - - }else{//preserve editing (not tested thoroughly for this editor) - this.editor=null; - } - } - this.getValue = function(){ - try{ - return this.cell.chstate.toString(); - }catch(er){ - return null; - } - } - - this.isCheckbox = function(){ - return true; - } - this.isChecked = function(){ - if(this.getValue()=="1") - return true; - else - return false; - } - this.setChecked = function(fl){ - this.setValue(fl.toString()) - } - this.detach = function(){ - return this.val!=this.getValue(); - } - this.drawCurrentState=function(){ - if (this.cell.chstate==1) - return "
               Yes
              "; - else - return "
               No
              "; - } -} -eXcell_acheck.prototype = new eXcell; -eXcell_acheck.prototype.setValue = function(val){ - //val can be int - val=(val||"").toString(); - if(val.indexOf("1")!=-1 || val.indexOf("true")!=-1){ - val = "1"; - this.cell.chstate = "1"; - }else{ - val = "0"; - this.cell.chstate = "0" - } - var obj = this; - this.setCValue(this.drawCurrentState(),this.cell.chstate); - } - -//(c)dhtmlx ltd. www.dhtmlx.com \ No newline at end of file diff --git a/themes/sources4.0/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_calck.js b/themes/sources4.0/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_calck.js deleted file mode 100644 index f6f8bb0..0000000 --- a/themes/sources4.0/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_calck.js +++ /dev/null @@ -1,151 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/** -* @desc: calculator editor -* @returns: dhtmlxGrid cell editor object -* @type: public -*/ -function eXcell_calck(cell){ - try{ - this.cell = cell; - this.grid = this.cell.parentNode.grid; - }catch(er){} - this.edit = function(){ - this.val = this.getValue(); - - var arPos = this.grid.getPosition(this.cell); - this.obj = new calcX(arPos[0],arPos[1]+this.cell.offsetHeight,this,this.val); - - } - this.getValue = function(){ - //this.grid.editStop(); - return this.grid._aplNFb(this.cell.innerHTML.toString()._dhx_trim(),this.cell._cellIndex); - } - this.detach = function(){ - if (this.obj) { - this.setValue(this.obj.inputZone.value); - this.obj.removeSelf(); - } - this.obj=null; - return this.val!=this.getValue(); - } -} -eXcell_calck.prototype = new eXcell; -eXcell_calck.prototype.setValue = function(val){ - if(!val || val.toString()._dhx_trim()=="") - val="0" - this.setCValue(this.grid._aplNF(val,this.cell._cellIndex),val); -} - -function calcX(left,top,onReturnSub,val){ - this.top=top||0; - this.left=left||0; - this.onReturnSub=onReturnSub||null; - - this.operandA=0; - this.operandB=0; - this.operatorA=""; - this.state=0; - this.dotState=0; - - -this.calckGo=function(){ - return (eval(this.operandA+"*1"+this.operatorA+this.operandB+"*1")); -}; - -this.isNumeric=function(str){ - return ((str.search(/[^1234567890]/gi)==-1)?(true):(false)); -}; -this.isOperation=function(str){ - return ((str.search(/[^\+\*\-\/]/gi)==-1)?(true):(false)); -} - this.onCalcKey=function(e) - { - that=this.calk; - var z=this.innerHTML; - var rZone=that.inputZone; - if (((that.state==0)||(that.state==2))&&(that.isNumeric(z))) if (rZone.value!="0") rZone.value+=z; else rZone.value=z; - if ((((that.state==0)||(that.state==2))&&(z=='.'))&&(that.dotState==0)) { that.dotState=1; rZone.value+=z; } - if ((z=="C")) { rZone.value=0; that.dotState=0; that.state=0; } - if ((that.state==0)&&(that.isOperation(z))) { that.operatorA=z; that.operandA=rZone.value; that.state=1; } - if ((that.state==2)&&(that.isOperation(z))) { that.operandB=rZone.value; rZone.value=that.calckGo(); that.operatorA=z; that.operandA=rZone.value; that.state=1; } - if ((that.state==2)&&(z=="=")) { that.operandB=rZone.value; rZone.value=that.calckGo(); that.operatorA=z; that.operandA=rZone.value; that.state=3; } - if ((that.state==1)&&(that.isNumeric(z))) { rZone.value=z; that.state=2; that.dotState=0 } - if ((that.state==3)&&(that.isNumeric(z))) { rZone.value=z; that.state=0; } - if ((that.state==3)&&(that.isOperation(z))) { that.operatorA=z; that.operandA=rZone.value; that.state=1; } - if (z=="e") { rZone.value=Math.E; if (that.state==1) that.state=2; that.dotState=0 } - if (z=="p") { rZone.value=Math.PI; if (that.state==1) that.state=2; that.dotState=0 } - if (z=="Off") that.topNod.parentNode.removeChild(that.topNod); - - if (e||event) (e||event).cancelBubble=true; - } - this.sendResult=function(){ - that=this.calk; - if (that.state==2){ - var rZone=that.inputZone; - that.operandB=rZone.value; - rZone.value=that.calckGo(); - that.operatorA=z; - that.operandA=rZone.value; - that.state=3; } - var z=that.inputZone.value; - - that.topNod.parentNode.removeChild(that.topNod); - that.onReturnSub.grid.editStop(false); - }; - this.removeSelf=function(){ - if (this.topNod.parentNode) - this.topNod.parentNode.removeChild(this.topNod); - } - this.keyDown=function(){ this.className="calcPressed"; }; - this.keyUp=function(){ this.className="calcButton"; }; - this.init_table=function(){ - var table=this.topNod.childNodes[0]; - if ((!table)||(table.tagName!="TABLE")) return; - for (i=1; i
              "; - else - text+="
              "; - } - text+="
              " - - this.obj.editor=this; - this.obj.innerHTML=text; - document.body.appendChild(this.obj); - this.obj.style.position="absolute"; - this.obj.className="dhx_clist"; - this.obj.onclick=function(e){ (e||event).cancelBubble=true; return true; }; - var arPos = this.grid.getPosition(this.cell); - this.obj.style.left=arPos[0]+"px"; - this.obj.style.top=arPos[1]+this.cell.offsetHeight+"px"; - - this.obj.getValue=function(){ - var text=""; - for (var i=0; i/g,">"),this.combo.getActualValue()); - this.cell._clearCell = false; - } - this.combo._confirmSelect(); - this.cell.combo_value = this.combo.getActualValue(); - this.combo.closeAll(); - this.grid._still_active=true; - this.grid.setActive(1); - return val!=this.cell.combo_value; - } -} - - -eXcell_combo.prototype = new eXcell; -eXcell_combo_v = function(cell){ - var combo = new eXcell_combo(cell); - combo._combo_pre = ""; - return combo; -}; - -eXcell_combo.prototype.initCombo = function(index){ - - var container = document.createElement("DIV"); - var type = this.grid.defVal[arguments.length?index:this.cell._cellIndex]; - var combo = new dhtmlXCombo(container, "combo", 0, type); - this.grid.defVal[arguments.length?index:this.cell._cellIndex] = ""; - - combo.DOMelem.className += " dhxcombo_in_grid"; - var grid = this.grid; - combo.DOMelem.onselectstart = function(){ - event.cancelBubble = true; - return true; - }; - - combo.attachEvent("onKeyPressed",function(ev){ - if (ev==13 || ev==27) { - grid.editStop(); - if (grid._fake) grid._fake.editStop(); - } - }); - - dhtmlxEvent(combo.DOMlist, "click", function(){ - grid.editStop(); - if (grid._fake) grid._fake.editStop(); - }); - - return combo; - -}; - -eXcell_combo.prototype.fillColumnCombos = function(grid,xml){ - if (!xml) return; - grid.combo_columns = grid.combo_columns||[]; - columns = grid.xmlLoader.doXPath("//column", xml); - for (var i=0; i"+value+"
              "; - } - if (arguments.length > 1) { - this.setCValue(value,value2); - } else { - this.setCValue(value); - } -}; - -eXcell_combo.prototype.setComboOptions = function(combo, obj, grid, index, idd) { - - if (window.dhx4.s2b(obj.getAttribute("xmlcontent"))) { - - if (!obj.getAttribute("source")) { - options = obj.childNodes; - var _optArr = []; - for (var i=0; i < options.length; i++){ - if(options[i].tagName =="option"){ - var text_opt = options[i].firstChild? options[i].firstChild.data:""; - _optArr[_optArr.length]= [options[i].getAttribute("value"),text_opt]; - } - } - combo.addOption(_optArr) - if(arguments.length == 4){ - grid.forEachRowA(function(id){ - var c = grid.cells(id,index); - if(!c.cell._brval&&!c.cell._cellType&&(c.cell._cellIndex==index)){ - if(c.cell.combo_value=="") c.setComboCValue(" ",""); - else{ - if(!combo.getOption(c.cell.combo_value)) - c.setComboCValue(c.cell.combo_value); - else c.setComboCValue(combo.getOption(c.cell.combo_value).text); - } - } - }); - } - else { - var c = (this.cell)?this:grid.cells(idd,index); - if(obj.getAttribute("text")) { - if(obj.getAttribute("text")._dhx_trim()=="") c.setComboCValue(" ",""); - else c.setComboCValue(obj.getAttribute("text")); - } - else{ - if((!c.cell.combo_value)||(c.cell.combo_value._dhx_trim()=="")) c.setComboCValue(" ",""); - else{ - if(!combo.getOption(c.cell.combo_value)) - c.setComboCValue(c.cell.combo_value); - else c.setComboCValue(combo.getOption(c.cell.combo_value).text); - } - } - } - - } - } - - if (obj.getAttribute("source")) { - if (obj.getAttribute("auto") && window.dhx4.s2b(obj.getAttribute("auto"))) { - - if (obj.getAttribute("xmlcontent")) { - var c = (this.cell)?this:grid.cells(idd,index); - if (obj.getAttribute("text")) c.setComboCValue(obj.getAttribute("text")); - } else { - grid.forEachRowA(function(id){ - var c = grid.cells(id,index); - if (!c.cell._brval && !c.cell._cellType) { - var str = c.cell.combo_value.toString(); - if (str.indexOf("^") != -1) { - var arr = str.split("^"); - c.cell.combo_value = arr[0]; - c.setComboCValue(arr[1]); - } - } - }); - } - combo.enableFilteringMode(true, obj.getAttribute("source"), window.dhx4.s2b(obj.getAttribute("cache")||true), window.dhx4.s2b(obj.getAttribute("sub")||false)); - - } else { - - var that = this; - var length = arguments.length; - combo.load(obj.getAttribute("source"), function(){ - if (length == 4) { - grid.forEachRow(function(id){ - var c = grid.cells(id,index); - if (!c.cell._brval && !c.cell._cellType) { - if (combo.getOption(c.cell.combo_value)) { - c.setComboCValue(combo.getOption(c.cell.combo_value).text); - } else { - if ((c.cell.combo_value||"").toString()._dhx_trim() == "") { - c.setComboCValue(" ",""); - c.cell._clearCell=true; - } else { - c.setComboCValue(c.cell.combo_value); - } - } - } - }); - } else { - //var c = (that.cell)? that : grid.cells(idd,index); - var c = grid.cells(idd,index); - //c.setCValue(obj.getAttribute("text")); - if (combo.getOption(c.cell.combo_value)) { - c.setComboCValue(combo.getOption(c.cell.combo_value).text); - } else { - c.setComboCValue(c.cell.combo_value); - } - } - }); - - } - } - if (!obj.getAttribute("auto") || !window.dhx4.s2b(obj.getAttribute("auto"))) { - if (obj.getAttribute("editable") && !window.dhx4.s2b(obj.getAttribute("editable"))) combo.readonly(true); - if (obj.getAttribute("filter") && window.dhx4.s2b(obj.getAttribute("filter"))) combo.enableFilteringMode(true); - } - -}; - -eXcell_combo.prototype.getCellCombo = function() { - - if (this.cell._brval) return this.cell._brval; - - this.cell._brval = this.initCombo(); - return this.cell._brval; - -}; - -eXcell_combo.prototype.refreshCell = function() { - this.setValue(this.getValue()); -}; - -dhtmlXGridObject.prototype.getColumnCombo = function(index) { - if (this._col_combos && this._col_combos[index]) return this._col_combos[index]; - - if (!this._col_combos) this._col_combos = []; - this._col_combos[index] = eXcell_combo.prototype.initCombo.call({grid:this},index); - return this._col_combos[index]; - -}; - -dhtmlXGridObject.prototype.refreshComboColumn = function(index) { - this.forEachRow(function(id){ - if (this.cells(id,index).refreshCell) this.cells(id,index).refreshCell(); - }); -}; - - diff --git a/themes/sources4.0/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_context.js b/themes/sources4.0/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_context.js deleted file mode 100644 index 121cb95..0000000 --- a/themes/sources4.0/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_context.js +++ /dev/null @@ -1,64 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -function eXcell_context(cell){ - if (cell){ - this.cell = cell; - this.grid = this.cell.parentNode.grid; - - if (!this.grid._sub_context) return; - this._sub=this.grid._sub_context[cell._cellIndex]; - if (!this._sub) return; - this._sindex=this._sub[1]; - this._sub=this._sub[0]; - } - - this.getValue = function(){ - return _isIE?this.cell.innerText:this.cell.textContent; - } - this.setValue = function(val){ - this.cell._val=val; - var item = this._sub.itemPull[this._sub.idPrefix+this.cell._val]; - val = item?item.title:val; - this.setCValue((val||" "),val); - } - this.edit = function(){ - var arPos = this.grid.getPosition(this.cell);//,this.grid.objBox - - this._sub.showContextMenu(arPos[0]+this.cell.offsetWidth,arPos[1]); - var a=this.grid.editStop; - this.grid.editStop=function(){}; - this.grid.editStop=a; - } - this.detach=function(){ - if (this.grid._sub_id != null) { - var old=this.cell._val; - this.setValue(this.grid._sub_id); - this.grid._sub_id = null; - return this.cell._val!=old; - } - this._sub.hideContextMenu(); - } -} -eXcell_context.prototype = new eXcell; - - -dhtmlXGridObject.prototype.setSubContext=function(ctx,s_index,t_index){ - var that=this; - ctx.attachEvent("onClick",function(id,value){ - that._sub_id = id; - that.editStop(); - ctx.hideContextMenu(); - return true; - }); - if (!this._sub_context) - this._sub_context=[]; - this._sub_context[s_index]=[ctx,t_index]; - ctx.hideContextMenu(); -}; -//(c)dhtmlx ltd. www.dhtmlx.com \ No newline at end of file diff --git a/themes/sources4.0/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_cor.js b/themes/sources4.0/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_cor.js deleted file mode 100644 index 80cb119..0000000 --- a/themes/sources4.0/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_cor.js +++ /dev/null @@ -1,163 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -//Combobox -function eXcell_cor(cell){ - if (cell){ - this.cell = cell; - this.grid = this.cell.parentNode.grid; - this.combo = this.grid.getCombo(this.cell._cellIndex); - this.editable = true - } - this.shiftNext=function(){ - - var z=this.list.options[this.list.selectedIndex+1]; - if (z) z.selected=true; - this.obj.value=this.list.value; - - return true; - } - this.shiftPrev=function(){ - - var z=this.list.options[this.list.selectedIndex-1]; - if (z) z.selected=true; - - this.obj.value=this.list.value; - - return true; - } - - this.edit = function(){ - this.val = this.getValue(); - this.text = this.cell.innerHTML._dhx_trim(); - var arPos = this.grid.getPosition(this.cell)//,this.grid.objBox) - - this.obj = document.createElement("TEXTAREA"); - this.obj.className="dhx_combo_edit"; - this.obj.style.height=(this.cell.offsetHeight-4)+"px"; - - this.obj.wrap = "soft"; - this.obj.style.textAlign = this.cell.align; - this.obj.onclick = function(e){(e||event).cancelBubble = true} - this.obj.value = this.text - - this.list = document.createElement("SELECT"); - this.list.editor_obj = this; - this.list.className='dhx_combo_select'; - this.list.style.width=this.cell.offsetWidth+"px"; - this.list.style.left = arPos[0]+"px";//arPos[0] - this.list.style.top = arPos[1]+this.cell.offsetHeight+"px";//arPos[1]+this.cell.offsetHeight; - this.list.onclick = function(e){ - var ev = e||window.event; - var cell = ev.target||ev.srcElement - //tbl.editor_obj.val=cell.combo_val; - if (cell.tagName=="OPTION") cell=cell.parentNode; - if (cell.value!=-1){ - cell.editor_obj._byClick=true; - // cell.editor_obj.setValue(cell.value); - cell.editor_obj.editable=false; - cell.editor_obj.grid.editStop(); - } - else { - ev.cancelBubble=true; - cell.editor_obj.obj.value=""; - cell.editor_obj.obj.focus(); - } - } - var comboKeys = this.combo.getKeys(); - - var selOptId=0; - - this.list.options[0]=new Option(this.combo.get(comboKeys[0]),comboKeys[0]); - this.list.options[0].selected=true; - - for(var i=1;i123.01 -1234.09356 -12345 -0 --100 -*/ -function eXcell_dec(cell){ - if (cell){ - this.cell = cell; - this.grid = this.cell.parentNode.grid; - } - this.getValue = function(){ - return parseFloat(this.cell.innerHTML.replace(/,/g,"")); - } - - this.setValue = function(val){ - var format = "0,000.00"; - if(val=="0"){ - this.setCValue(format.replace(/.*(0\.[0]+)/,"$1"),val); - return; - } - var z = format.substr(format.indexOf(".")+1).length - val = Math.round(val*Math.pow(10,z)).toString(); - var out = ""; - var cnt=0; - var fl = false; - for(var i=val.length-1;i>=0;i--){ - cnt++; - out = val.charAt(i)+out; - if(!fl && cnt==z){ - out = "."+out; - cnt=0; - fl = true; - } - if(fl && cnt==3 && i!=0 && val.charAt(i-1)!='-'){ - out = ","+out; - cnt=0; - } - } - this.setCValue(out,val); - } -} -eXcell_dec.prototype = new eXcell_ed; -//(c)dhtmlx ltd. www.dhtmlx.com \ No newline at end of file diff --git a/themes/sources4.0/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_dhxcalendar.js b/themes/sources4.0/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_dhxcalendar.js deleted file mode 100644 index 5980b2d..0000000 --- a/themes/sources4.0/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_dhxcalendar.js +++ /dev/null @@ -1,248 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -function eXcell_dhxCalendar(cell) { - if (cell) { - this.cell = cell; - this.grid = this.cell.parentNode.grid; - - if (!this.grid._grid_calendarA) { - - var cal = this.grid._grid_calendarA = new dhtmlxCalendarObject(); - this.grid.callEvent("onDhxCalendarCreated", [cal]); - - var sgrid = this.grid; - cal.attachEvent("onClick",function(){ - this._last_operation_calendar=true; - window.setTimeout(function(){sgrid.editStop()},1); - return true; - }); - - var zFunc = function(e){ (e||event).cancelBubble=true; } - dhtmlxEvent(cal.base, "click", zFunc); - cal = null; - } - } -} -eXcell_dhxCalendar.prototype = new eXcell; - -eXcell_dhxCalendar.prototype.edit = function() { - - var arPos = this.grid.getPosition(this.cell); - this.grid._grid_calendarA._show(false, false); - this.grid._grid_calendarA.setPosition(arPos[0],arPos[1]+this.cell.offsetHeight); - this.grid._grid_calendarA._last_operation_calendar = false; - - - this.grid.callEvent("onCalendarShow", [this.grid._grid_calendarA, this.cell.parentNode.idd, this.cell._cellIndex]); - //var arPos = this.grid.getPosition(this.cell); - //var pval=this._date2str2(this.cell.val||new Date()); - //window._grid_calendar.render(arPos[0],arPos[1]+this.cell.offsetHeight,this,pval); - this.cell._cediton = true; - this.val = this.cell.val; - this._val = this.cell.innerHTML; - // alert(this.cell.val); - var t = this.grid._grid_calendarA.draw; - this.grid._grid_calendarA.draw = function(){}; - this.grid._grid_calendarA.setDateFormat((this.grid._dtmask||"%d/%m/%Y")); - this.grid._grid_calendarA.setDate(this.val||(new Date())); - this.grid._grid_calendarA.draw = t; - - //this.grid._grid_calendarA.draw(); -} -eXcell_dhxCalendar.prototype.getDate = function() { - if (this.cell.val) return this.cell.val; - return null; -} - -eXcell_dhxCalendar.prototype.getValue = function() { - if (this.cell._clearCell) return ""; - if (this.grid._dtmask_inc && this.cell.val) return this.grid._grid_calendarA.getFormatedDate(this.grid._dtmask_inc, this.cell.val).toString(); - return this.cell.innerHTML.toString()._dhx_trim() -} - -eXcell_dhxCalendar.prototype.detach = function() { - if (!this.grid._grid_calendarA) return; - this.grid._grid_calendarA.hide(); - if (this.cell._cediton) this.cell._cediton = false; else return; - - if (this.grid._grid_calendarA._last_operation_calendar) { - var z1=this.grid._grid_calendarA.getFormatedDate((this.grid._dtmask||"%d/%m/%Y")); - var z2=this.grid._grid_calendarA.getDate(); - this.cell.val=new Date(z2); - this.setCValue(z1,z2); - this.cell._clearCell = !z1; - var t = this.val; - this.val = this._val; - return (this.cell.val.valueOf()!=t); - } - return false; -} - - -eXcell_dhxCalendar.prototype.setValue = function(val) { - - if (val && typeof val == "object") { - this.cell.val=val; - this.cell._clearCell=false; - this.setCValue(this.grid._grid_calendarA.getFormatedDate((this.grid._dtmask||"%d/%m/%Y"),val).toString(),this.cell.val); - return; - } - - - if (!val || val.toString()._dhx_trim()=="") { - val=" "; - this.cell._clearCell=true; - this.cell.val=""; - } else{ - this.cell._clearCell=false; - this.cell.val=new Date(this.grid._grid_calendarA.setFormatedDate((this.grid._dtmask_inc||this.grid._dtmask||"%d/%m/%Y"),val.toString(),null,true)); - if (this.grid._dtmask_inc) - val = this.grid._grid_calendarA.getFormatedDate((this.grid._dtmask||"%d/%m/%Y"),this.cell.val); - } - - if ((this.cell.val=="NaN")||(this.cell.val=="Invalid Date")) { - this.cell._clearCell=true; - this.cell.val=new Date(); - this.setCValue(" ",0); - } else { - this.setCValue((val||"").toString(),this.cell.val); - } -} - - -function eXcell_dhxCalendarA(cell) { - if (cell) { - this.cell = cell; - this.grid = this.cell.parentNode.grid; - - if (!this.grid._grid_calendarA) { - - var cal = this.grid._grid_calendarA = new dhtmlxCalendarObject(); - this.grid.callEvent("onDhxCalendarCreated",[cal]); - - var sgrid=this.grid; - cal.attachEvent("onClick",function() { - this._last_operation_calendar=true; - window.setTimeout(function() {sgrid.editStop()},1); - return true; - }); - - var zFunc=function(e) { (e||event).cancelBubble=true; } - dhtmlxEvent(cal.base,"click",zFunc); - } - } -} -eXcell_dhxCalendarA.prototype = new eXcell; - -eXcell_dhxCalendarA.prototype.edit = function() { - var arPos = this.grid.getPosition(this.cell); - - this.grid._grid_calendarA._show(false, false); - this.grid._grid_calendarA.setPosition(arPos[0]*1+this.cell.offsetWidth,arPos[1]*1); - this.grid.callEvent("onCalendarShow",[this.grid._grid_calendarA,this.cell.parentNode.idd,this.cell._cellIndex]); - this.grid._grid_calendarA._last_operation_calendar=false; - - this.cell._cediton=true; - this.val=this.cell.val; - this._val=this.cell.innerHTML; - - var t=this.grid._grid_calendarA.draw; this.grid._grid_calendarA.draw=function() {}; - this.grid._grid_calendarA.setDateFormat((this.grid._dtmask||"%d/%m/%Y")); - this.grid._grid_calendarA.setDate(this.val); - this.grid._grid_calendarA.draw=t; - - this.cell.atag=((!this.grid.multiLine)&&(_isKHTML||_isMacOS||_isFF))?"INPUT":"TEXTAREA"; - - this.obj = document.createElement(this.cell.atag); - this.obj.style.height = (this.cell.offsetHeight-(_isIE?4:2))+"px"; - this.obj.className="dhx_combo_edit"; - this.obj.wrap = "soft"; - this.obj.style.textAlign = this.cell.align; - this.obj.onclick = function(e) {(e||event).cancelBubble = true} - this.obj.onmousedown = function(e) {(e||event).cancelBubble = true} - this.obj.value = this.getValue(); - this.cell.innerHTML = ""; - this.cell.appendChild(this.obj); - if (window.dhx4.isIE) { - this.obj.style.overflow = "visible"; - if ((this.grid.multiLine)&&(this.obj.offsetHeight>=18)&&(this.obj.offsetHeight<40)) { - this.obj.style.height = "36px"; - this.obj.style.overflow = "scroll"; - } - } - this.obj.onselectstart=function(e) { - if (!e) e=event; - e.cancelBubble = true; - return true; - }; - this.obj.focus() - this.obj.focus() - -} - -eXcell_dhxCalendarA.prototype.getDate = function() { - if (this.cell.val) return this.cell.val; - return null; -} - -eXcell_dhxCalendarA.prototype.getValue = function() { - if (this.cell._clearCell) return ""; - if (this.grid._dtmask_inc && this.cell.val) - return this.grid._grid_calendarA.getFormatedDate(this.grid._dtmask_inc, this.cell.val).toString(); - return this.cell.innerHTML.toString()._dhx_trim() -} - -eXcell_dhxCalendarA.prototype.detach = function() { - if (!this.grid._grid_calendarA) return; - this.grid._grid_calendarA.hide(); - if (this.cell._cediton) this.cell._cediton=false; else return; - if (this.grid._grid_calendarA._last_operation_calendar) { - this.grid._grid_calendarA._last_operation_calendar=false; - var z1=this.grid._grid_calendarA.getFormatedDate(this.grid._dtmask||"%d/%m/%Y"); - var z2=this.grid._grid_calendarA.getDate(); - this.cell.val=new Date(z2); - this.setCValue(z1,z2); - this.cell._clearCell = !z1; - var t = this.val; - this.val=this._val; - return (this.cell.val.valueOf()!=(t|"").valueOf()); - } - this.setValue(this.obj.value); - var t = this.val; - this.val = this._val; - return (this.cell.val.valueOf()!=(t||"").valueOf()); -} - -eXcell_dhxCalendarA.prototype.setValue = function(val) { - if (val && typeof val == "object") { - this.cell.val=val; - this.cell._clearCell=false; - this.setCValue(this.grid._grid_calendarA.getFormatedDate((this.grid._dtmask||"%d/%m/%Y"),val).toString(),this.cell.val); - return; - } - - if (!val || val.toString()._dhx_trim()=="") { - val=" "; - this.cell._clearCell=true; - this.cell.val=""; - } else { - this.cell._clearCell = false; - this.cell.val = new Date(this.grid._grid_calendarA.setFormatedDate((this.grid._dtmask_inc||this.grid._dtmask||"%d/%m/%Y"),val.toString(),null,true)); - if (this.grid._dtmask_inc) - val = this.grid._grid_calendarA.getFormatedDate((this.grid._dtmask||"%d/%m/%Y"),this.cell.val); - } - - if ((this.cell.val=="NaN")||(this.cell.val=="Invalid Date")) { - this.cell.val=new Date(); - this.cell._clearCell=true; - this.setCValue(" ",0); - } else { - this.setCValue((val||"").toString(),this.cell.val); - } -} diff --git a/themes/sources4.0/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_grid.js b/themes/sources4.0/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_grid.js deleted file mode 100644 index 5f3d98b..0000000 --- a/themes/sources4.0/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_grid.js +++ /dev/null @@ -1,79 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -function eXcell_grid(cell){ - if (cell){ - this.cell = cell; - this.grid = this.cell.parentNode.grid; - - if (!this.grid._sub_grids) return; - this._sub=this.grid._sub_grids[cell._cellIndex]; - if (!this._sub) return; - this._sindex=this._sub[1]; - this._sub=this._sub[0]; - } - - this.getValue = function(){ - return this.cell.val; - } - this.setValue = function(val){ - this.cell.val=val; - - if (this._sub.getRowById(val)) { - val=this._sub.cells(val,this._sindex); - if (val) val=val.getValue(); - else val=""; - } - - this.setCValue((val||" "),val); - - } - this.edit = function(){ - this.val = this.cell.val; - - this._sub.entBox.style.display='block'; - var arPos = this.grid.getPosition(this.cell);//,this.grid.objBox - this._sub.entBox.style.top=arPos[1]+"px"; - this._sub.entBox.style.left=arPos[0]+"px"; - this._sub.entBox.style.position="absolute"; - this._sub.setSizes(); - - var a=this.grid.editStop; - this.grid.editStop=function(){}; - if (this._sub.getRowById(this.cell.val)) - this._sub.setSelectedRow(this.cell.val); - this._sub.setActive(true) - - this.grid.editStop=a; - } - this.detach=function(){ - var old=this.cell.val; - this._sub.entBox.style.display='none'; - if (this._sub.getSelectedId()===null) return false; - this.setValue(this._sub.getSelectedId()); - this.grid.setActive(true) - return this.cell.val!=old; - } -} -eXcell_grid.prototype = new eXcell; - - -dhtmlXGridObject.prototype.setSubGrid=function(grid,s_index,t_index){ - if (!this._sub_grids) - this._sub_grids=[]; - this._sub_grids[s_index]=[grid,t_index]; - grid.entBox.style.display="none"; - var that=this; - - grid.attachEvent("onRowSelect",function(id){ - that.editStop(); - return true; - }); - grid._chRRS=false; -}; -//(c)dhtmlx ltd. www.dhtmlx.com \ No newline at end of file diff --git a/themes/sources4.0/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_limit.js b/themes/sources4.0/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_limit.js deleted file mode 100644 index 949eafa..0000000 --- a/themes/sources4.0/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_limit.js +++ /dev/null @@ -1,68 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -function eXcell_limit(cell){ - - if (cell){ - this.cell = cell; - this.grid = this.cell.parentNode.grid; - } - this.edit = function(){ - this.cell.atag=((!this.grid.multiLine)&&(_isKHTML||_isMacOS||_isFF))?"INPUT":"TEXTAREA"; - this.val = this.getValue(); - this.obj = document.createElement(this.cell.atag); - this.obj.style.height = (this.cell.offsetHeight-(_isIE?6:4))+"px"; - this.obj.className="dhx_combo_edit"; - this.obj.wrap = "soft"; - this.obj.style.textAlign = this.cell.align; - this.obj.onclick = function(e){(e||event).cancelBubble = true} - this.obj.onmousedown = function(e){(e||event).cancelBubble = true} - this.obj.value = this.val - this.cell.innerHTML = ""; - this.cell.appendChild(this.obj); - if (_isFF) { - this.obj.style.overflow="visible"; - if ((this.grid.multiLine)&&(this.obj.offsetHeight>=18)&&(this.obj.offsetHeight<40)){ - this.obj.style.height="36px"; - this.obj.style.overflow="scroll"; - } - } - - this.obj.onkeypress =function(e){ - if(this.value.length>=15){ - return false - } - } - this.obj.onselectstart=function(e){ if (!e) e=event; e.cancelBubble=true; return true; }; - this.obj.focus() - this.obj.focus() - - } - - - this.getValue = function(){ - if ((this.cell.firstChild)&&((this.cell.atag)&&(this.cell.firstChild.tagName==this.cell.atag))) - return this.cell.firstChild.value; - else - return this.cell.innerHTML.toString()._dhx_trim(); - } - this.setValue = function(val){ - if(val.length > 15) this.cell.innerHTML = val.substring(0,14) - else this.cell.innerHTML = val - - - } - - this.detach = function(){ - this.setValue(this.obj.value); - return this.val!=this.getValue(); - } - -} -eXcell_limit.prototype = new eXcell; -//(c)dhtmlx ltd. www.dhtmlx.com \ No newline at end of file diff --git a/themes/sources4.0/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_link.js b/themes/sources4.0/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_link.js deleted file mode 100644 index 0286e55..0000000 --- a/themes/sources4.0/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_link.js +++ /dev/null @@ -1,77 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - - -/* -HTML Link eXcell v.1.0 for dhtmlxGrid -(c)DHTMLX LTD. 2005 - - -The corresponding cell value in XML should be a "^" delimited list of following values: -1st - Link Text -2nd - URL (optional) -3rd - target (optional, default is _blank) - -Samples: -Stephen King -Stephen King^http://www.stephenking.com/ -Stephen King^http://www.stephenking.com/^_self -*/ - -/** -* @desc: link editor -* @returns: dhtmlxGrid cell editor object -* @type: public -*/ - -function eXcell_link(cell){ - this.cell = cell; - this.grid = this.cell.parentNode.grid; - this.isDisabled=function(){return true;} - this.edit = function(){} - this.getValue = function(){ - if(this.cell.firstChild.getAttribute){ - var target = this.cell.firstChild.getAttribute("target") - return this.cell.firstChild.innerHTML+"^"+this.cell.firstChild.getAttribute("href")+(target?("^"+target):""); - } - - else - return ""; - } - this.setValue = function(val){ - if((typeof(val)!="number") && (!val || val.toString()._dhx_trim()=="")){ - this.setCValue(" ",valsAr); - return (this.cell._clearCell=true); - } - var valsAr = val.split("^"); - if(valsAr.length==1) - valsAr[1] = ""; - else{ - if(valsAr.length>1){ - valsAr[1] = "href='"+valsAr[1]+"'"; - if(valsAr.length==3) - valsAr[1]+= " target='"+valsAr[2]+"'"; - else - valsAr[1]+= " target='_blank'"; - } - } - - this.setCValue(""+valsAr[0]+"",valsAr); - } -} - -eXcell_link.prototype = new eXcell; -eXcell_link.prototype.getTitle=function(){ - var z=this.cell.firstChild; - return ((z&&z.tagName)?z.getAttribute("href"):""); -} -eXcell_link.prototype.getContent=function(){ - var z=this.cell.firstChild; - return ((z&&z.tagName)?z.innerHTML:""); -} -//(c)dhtmlx ltd. www.dhtmlx.com diff --git a/themes/sources4.0/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_liveedit.js b/themes/sources4.0/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_liveedit.js deleted file mode 100644 index 7b380d1..0000000 --- a/themes/sources4.0/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_liveedit.js +++ /dev/null @@ -1,74 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -function eXcell_liveedit(cell) -{ - if (cell) { - this.cell = cell; - this.grid = this.cell.parentNode.grid; - } - - this.edit = function() - { - this.cell.inputObj.focus(); - this.cell.inputObj.focus(); - } - - this.detach = function() - { - this.setValue(this.cell.inputObj.value); } - - this.getValue = function() - { - return this.cell.inputObj ? this.cell.inputObj.value : ''; - } - this.destructor = function() {} - - this.onFocus = function() - { - var res = this.grid.callEvent('onEditCell', [0, this.cell.parentNode.idd, this.cell._cellIndex]); - if (res === false) - this.cell.inputObj.blur(); - } - - this.onBlur = function() - { - var res = this.grid.callEvent('onEditCell', [2, this.cell.parentNode.idd, this.cell._cellIndex]); - this.detach(); - } - - this.onChange = function() - { - var res = this.grid.callEvent( "onCellChanged", [this.cell.parentNode.idd, this.cell._cellIndex, this.cell.inputObj.value] ); - this.detach(); - } -} - - - -eXcell_liveedit.prototype = new eXcell_ed; -eXcell_liveedit.prototype.setValue = function(val) - { - var self = this; - this.cell.innerHTML = ''; - - this.cell.inputObj = this.cell.firstChild; - this.cell.inputObj = this.cell.firstChild; -// this.inputObj.style.border = '1px solid '; - this.cell.inputObj.value = val; - this.cell.inputObj.onfocus = function() {self.onFocus()} - - - this.cell.inputObj.onblur = function() {self.onFocus()} - this.cell.inputObj.onchange = function() {self.onChange()} - } -if (window.eXcell_math){ - eXcell_liveedit.prototype.setValueA=eXcell_liveedit.prototype.setValue; - eXcell_liveedit.prototype.setValue=eXcell_math.prototype._NsetValue; -} -//(c)dhtmlx ltd. www.dhtmlx.com \ No newline at end of file diff --git a/themes/sources4.0/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_mro.js b/themes/sources4.0/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_mro.js deleted file mode 100644 index 2fd55f0..0000000 --- a/themes/sources4.0/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_mro.js +++ /dev/null @@ -1,32 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - - -//readonly -function eXcell_mro(cell){ - this.cell = cell; - this.grid = this.cell.parentNode.grid; - this.edit = function(){} -} -eXcell_mro.prototype = new eXcell; -eXcell_mro.prototype.getValue = function(){ - return this.cell.childNodes[0].innerHTML._dhx_trim();//innerText; - } -eXcell_mro.prototype.setValue = function(val){ - if (!this.cell.childNodes.length){ - this.cell.style.whiteSpace='normal'; - this.cell.innerHTML="
              "; - } - - if(!val || val.toString()._dhx_trim()=="") - val=" " - this.cell.childNodes[0].innerHTML = val; - } -//(c)dhtmlx ltd. www.dhtmlx.com - - diff --git a/themes/sources4.0/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_num.js b/themes/sources4.0/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_num.js deleted file mode 100644 index 5e88fbb..0000000 --- a/themes/sources4.0/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_num.js +++ /dev/null @@ -1,51 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -function eXcell_num(cell){ - try{ - this.cell = cell; - this.grid = this.cell.parentNode.grid; - }catch(er){} - this.edit = function(){ - this.val = this.getValue(); - this.obj = document.createElement(_isKHTML?"INPUT":"TEXTAREA"); - this.obj.className="dhx_combo_edit"; - this.obj.style.height = (this.cell.offsetHeight-4)+"px"; - this.obj.wrap = "soft"; - this.obj.style.textAlign = this.cell.align; - this.obj.onclick = function(e){(e||event).cancelBubble = true} - this.obj.value = this.val; - this.cell.innerHTML = ""; - this.cell.appendChild(this.obj); - this.obj.onselectstart=function(e){ if (!e) e=event; e.cancelBubble=true; return true; }; - this.obj.focus() - this.obj.focus() - } - this.getValue = function(){ - - if ((this.cell.firstChild)&&(this.cell.firstChild.tagName=="TEXTAREA")) - return this.cell.firstChild.value; - else - return this.grid._aplNFb(this.cell.innerHTML.toString()._dhx_trim(),this.cell._cellIndex); - } - this.setValue = function(val){ - var re = new RegExp("[a-z]|[A-Z]","i") - if(val.match(re)) val = " "; - - this.cell.innerHTML = val; - - } - - this.detach = function(){ - var tv=this.obj.value; - this.setValue(tv); - return this.val!=this.getValue(); - } -} -eXcell_num.prototype = new eXcell; -//(c)dhtmlx ltd. www.dhtmlx.com \ No newline at end of file diff --git a/themes/sources4.0/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_passw.js b/themes/sources4.0/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_passw.js deleted file mode 100644 index bfa377a..0000000 --- a/themes/sources4.0/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_passw.js +++ /dev/null @@ -1,62 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -function eXcell_passw(cell){ - - if (cell){ - this.cell = cell; - this.grid = this.cell.parentNode.grid; - } - - this.edit = function(){ - this.cell.innerHTML = ""; - this.cell.atag="INPUT"; - this.val = this.getValue(); - this.obj = document.createElement(this.cell.atag); - this.obj.style.height = (this.cell.offsetHeight-(_isIE?6:4))+"px"; - this.obj.className="dhx_combo_edit"; - this.obj.type = "password"; - this.obj.wrap = "soft"; - this.obj.style.textAlign = this.cell.align; - this.obj.onclick = function(e){(e||event).cancelBubble = true} - this.obj.onmousedown = function(e){(e||event).cancelBubble = true} - this.obj.value = this.cell._rval||""; - this.cell.appendChild(this.obj); - if (_isFF) { - this.obj.style.overflow="visible"; - if ((this.grid.multiLine)&&(this.obj.offsetHeight>=18)&&(this.obj.offsetHeight<40)){ - this.obj.style.height="36px"; - this.obj.style.overflow="scroll"; - } - } - this.obj.onselectstart=function(e){ if (!e) e=event; e.cancelBubble=true; return true; }; - this.obj.focus() - this.obj.focus() - - - - } - this.getValue = function(){ - return this.cell._rval; - } - this.setValue = function(val){ - var str = "*****"; - this.cell.innerHTML = str; - this.cell._rval=val; - - - } - - this.detach = function(){ - this.setValue(this.obj.value); - return this.val!=this.getValue(); - } - -} -eXcell_passw.prototype = new eXcell; -//(c)dhtmlx ltd. www.dhtmlx.com \ No newline at end of file diff --git a/themes/sources4.0/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_ra_str.js b/themes/sources4.0/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_ra_str.js deleted file mode 100644 index 65c68d5..0000000 --- a/themes/sources4.0/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_ra_str.js +++ /dev/null @@ -1,46 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/** -* @desc: radio editor -* @returns: dhtmlxGrid cell editor object -* @type: public -*/ -function eXcell_ra_str(cell){ - if (cell){ - this.base = eXcell_ra; - this.base(cell) - this.grid = cell.parentNode.grid; - } -} -eXcell_ra_str.prototype = new eXcell_ch; -eXcell_ra_str.prototype.setValue = function(val){ - this.cell.style.verticalAlign = "middle";//nb:to center checkbox in line - if (val){ - val=val.toString()._dhx_trim(); - if ((val=="false")||(val=="0")) val=""; - } - if(val){ - if (this.grid.rowsAr[this.cell.parentNode.idd]) - for (var i=0;i",this.cell.chstate); - } -//(c)dhtmlx ltd. www.dhtmlx.com \ No newline at end of file diff --git a/themes/sources4.0/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_sub_row.js b/themes/sources4.0/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_sub_row.js deleted file mode 100644 index 4f9f282..0000000 --- a/themes/sources4.0/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_sub_row.js +++ /dev/null @@ -1,302 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -function eXcell_sub_row(cell){ - if (cell){ - this.cell = cell; - this.grid = this.cell.parentNode.grid; - } - - this.getValue = function(){ - return this.grid.getUserData(this.cell.parentNode.idd,"__sub_row"); - } - this._setState = function(m,v){ - (v||this.cell).innerHTML=""; - (v||this.cell).firstChild.onclick=this.grid._expandMonolite; - } - this.open = function (){ - this.cell.firstChild.onclick(null,true) - } - this.close = function (){ - this.cell.firstChild.onclick(null,false,true) - } - this.isOpen = function(){ - return !!this.cell.parentNode._expanded; - } - this.setValue = function(val){ - if (val) - this.grid.setUserData(this.cell.parentNode.idd,"__sub_row",val); - this._setState(val?"plus.gif":"blank.gif"); - } - this.setContent = function(val){ - if (this.cell.parentNode._expanded){ - this.cell.parentNode._expanded.innerHTML=val; - this.resize(); - } - else{ - this.cell._previous_content=null; - this.setValue(val); - this.cell._sub_row_type=null - } - - } - this.resize = function(){ - this.grid._detectHeight(this.cell.parentNode._expanded,this.cell,this.cell.parentNode._expanded.scrollHeight); - }, - this.isDisabled = function(){ return true; } - this.getTitle = function(){ return this.grid.getUserData(this.cell.parentNode.idd,"__sub_row")?"click to expand|collapse":""; } -} -eXcell_sub_row.prototype = new eXcell; - -function eXcell_sub_row_ajax(cell){ - this.base=eXcell_sub_row; - this.base(cell); - - this.setValue = function(val){ - if (val) - this.grid.setUserData(this.cell.parentNode.idd,"__sub_row",val); - this.cell._sub_row_type="ajax"; - this.cell._previous_content = null; - this._setState(val?"plus.gif":"blank.gif"); - } -} -eXcell_sub_row_ajax.prototype = new eXcell_sub_row; - -function eXcell_sub_row_grid(cell){ - this.base=eXcell_sub_row; - this.base(cell); - - this.setValue = function(val){ - if (val) - this.grid.setUserData(this.cell.parentNode.idd,"__sub_row",val); - this.cell._sub_row_type="grid"; - this._setState(val?"plus.gif":"blank.gif"); - } - this.getSubGrid = function(){ - if (!cell._sub_grid) return null; - return cell._sub_grid; - } -} -eXcell_sub_row_grid.prototype = new eXcell_sub_row; - -dhtmlXGridObject.prototype._expandMonolite=function(n,show,hide){ - var td=this.parentNode; - var row=td.parentNode; - var that=row.grid; - - if (n||window.event){ - if (!hide && !row._expanded) that.editStop(); - (n||event).cancelBubble=true; - } - - var c=that.getUserData(row.idd,"__sub_row"); - - if (!that._sub_row_editor) - that._sub_row_editor=new eXcell_sub_row(td); - - if (!c) return; - - if (row._expanded && !show){ - that._sub_row_editor._setState("plus.gif",td); - td._previous_content=row._expanded; - that.objBox.removeChild(row._expanded); - row._expanded=false; - row.style.height=(row.oldHeight||20)+"px"; - td.style.height=(row.oldHeight||20)+"px"; - - if (that._fake) - that._fake.rowsAr[row.idd].style.height=(row.oldHeight||20)+"px"; - - for (var i=0; i 30 ? 11:3; - if (that.multiLine) padtop = 0; - - for (var i=0; i]*>([^\f]+?)<\/script>/g); - if (z) - for (var i=0; i]*>/g,"")); - - that._detectHeight(d,td) - that._correctMonolite(); - that.setUserData(td.parentNode.idd,"__sub_row",xml.xmlDoc.responseText); - td._sub_row_type=null; - if (that._ahgr) - that.setSizes() - that.callEvent("onSubAjaxLoad",[td.parentNode.idd,xml.xmlDoc.responseText]); - }, this,true,true); - xml.loadXML(c); - }, - "grid":function(that,d,td,c){ - td._sub_grid= new dhtmlXGridObject(d); - if (that.skin_name) - td._sub_grid.setSkin(that.skin_name); - - td._sub_grid.parentGrid=that; - td._sub_grid.imgURL = that.imgURL; - td._sub_grid.iconURL = that.iconURL; - td._sub_grid.enableAutoHeight(true); - td._sub_grid._delta_x = td._sub_grid._delta_y = null; - td._sub_grid.attachEvent("onGridReconstructed",function(){ - that._detectHeight(d,td,td._sub_grid.objBox.scrollHeight+td._sub_grid.hdr.offsetHeight+(this.ftr?this.ftr.offsetHeight:0)); - that._correctMonolite(); - this.setSizes(); - if (that.parentGrid) that.callEvent("onGridReconstructed",[]); - }) - if (!that.callEvent("onSubGridCreated",[td._sub_grid,td.parentNode.idd,td._cellIndex,c])){ - td._sub_grid.objBox.style.overflow="hidden"; - td._sub_row_type=null; - } else { - td._sub_grid.loadXML(c,function(){ - that._detectHeight(d,td,td._sub_grid.objBox.scrollHeight+td._sub_grid.hdr.offsetHeight+(td._sub_grid.ftr?td._sub_grid.ftr.offsetHeight:0)); - td._sub_grid.objBox.style.overflow="hidden"; - that._correctMonolite(); - td._sub_row_type=null; - if (!that.callEvent("onSubGridLoaded",[td._sub_grid,td.parentNode.idd,td._cellIndex,c])) return; - if (that._ahgr) that.setSizes(); - }); - } - } -} - -dhtmlXGridObject.prototype._detectHeight=function(d,td,h){ - var l=td.offsetLeft+td.offsetWidth; - d.style.left=l+"px"; - d.style.width=Math.max(0,td.parentNode.offsetWidth-l-4)+"px" - var h=h||d.scrollHeight; - d.style.overflow="hidden"; - d.style.height=h+"px"; - var row=td.parentNode; - td.parentNode.style.height=(row.oldHeight||20)+3+h*1+"px"; - td.style.height=(row.oldHeight||20)+3+h*1+"px"; - if (this._fake){ - var tr=this._fake.rowsAr[td.parentNode.idd]; - tr.style.height=(row.oldHeight||20)+3+h*1+"px"; - } -} -dhtmlXGridObject.prototype._correctMonolite=function(mode){ - if (this._in_correction) return; - this._in_correction=true; - - for (var a in this._flow) - if (this._flow[a] && this._flow[a].tagName=="DIV") - if (this.rowsAr[a]){ - if (this.rowsAr[a].style.display=="none") { - this.cells4(this._flow[a].ctrl).close(); - continue; - } - this._flow[a].style.top=this.rowsAr[a].offsetTop+(this.rowsAr[a].oldHeight||20)+"px"; - if (mode) { - var l=this._flow[a].ctrl.offsetLeft+this._flow[a].ctrl.offsetWidth; - this._flow[a].style.left=l+"px"; - this._flow[a].style.width=this.rowsAr[a].offsetWidth-l-4+"px" - } - } - else{ - this._flow[a].ctrl=null; - this.objBox.removeChild(this._flow[a]); - delete this._flow[a]; - } - - this._in_correction=false; -} -dhtmlXGridObject.prototype._collapsMonolite=function(){ - for (var a in this._flow) - if (this._flow[a] && this._flow[a].tagName=="DIV") - if (this.rowsAr[a]) - this.cells4(this._flow[a].ctrl).close(); -} -//(c)dhtmlx ltd. www.dhtmlx.com diff --git a/themes/sources4.0/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_time.js b/themes/sources4.0/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_time.js deleted file mode 100644 index 8da0465..0000000 --- a/themes/sources4.0/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_time.js +++ /dev/null @@ -1,75 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -function eXcell_time(cell){ - - this.base = eXcell_ed; - this.base(cell) - this.getValue = function(){ - return this.cell.innerHTML.toString(); - } - this.setValue = function(val){ - var re = new RegExp(" ","i") - val = val.replace(re,":") - if((val=="")) val = "00:00" - else - { - var re = new RegExp("[a-zA-Z]","i") - var res = val.match(re) - - if(res) val = "00:00"; - else{ - var re = new RegExp("[0-9]+[\\.\\/;\\-,_\\]\\[\\?\\: ][0-9]+","i") - var res = val.search(re) - if(res!=-1){ - var re = new RegExp("[\\./\\;\\-\\,\\_\\]\\[ \\?]","i") - val = val.replace(re,":") - } - else - { - var re = new RegExp("[^0-9]","i") - res1 = val.search(re) - if(res = val.match(re) ) { val = "00:00";} - else - { - if(val.length == 1) - { - val = "00:0"+val; - } - else - { - if(parseInt(val) < 60) val = "00:"+val; - else - if(val.length < 5) - { - var minutes = parseInt(val); - var hours = Math.floor(minutes/60); - minutes = minutes - 60*hours; - var hours = hours.toString(); - var minutes = minutes.toString(); - while(hours.length < 2){ - hours = "0" + hours; - } - while(minutes.length < 2){ - minutes = "0" + minutes; - } - val = hours+":"+minutes; - } - } - } - - } - } - } - this.cell.innerHTML = val; - } - - - } - eXcell_time.prototype = new eXcell_ed; - //(c)dhtmlx ltd. www.dhtmlx.com \ No newline at end of file diff --git a/themes/sources4.0/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_tree.js b/themes/sources4.0/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_tree.js deleted file mode 100644 index eda59b7..0000000 --- a/themes/sources4.0/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_tree.js +++ /dev/null @@ -1,69 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - - -function eXcell_stree(cell){ - if (cell){ - this.cell = cell; - this.grid = this.cell.parentNode.grid; - - if (!this.grid._sub_trees) return; - this._sub=this.grid._sub_trees[cell._cellIndex]; - if (!this._sub) return; - this._sub=this._sub[0]; - } - - this.getValue = function(){ - return this.cell._val; - } - this.setValue = function(val){ - this.cell._val=val; - val = this._sub.getItemText(this.cell._val); - this.setCValue((val||" "),val); - } - this.edit = function(){ - this._sub.parentObject.style.display='block'; - var arPos = this.grid.getPosition(this.cell);//,this.grid.objBox - this._sub.parentObject.style.top=arPos[1]+"px"; - this._sub.parentObject.style.left=arPos[0]+"px"; - this._sub.parentObject.style.position="absolute"; - - var a=this.grid.editStop; - this.grid.editStop=function(){}; - - this.grid.editStop=a; - } - this.detach=function(){ - this._sub.parentObject.style.display='none'; - if (this.grid._sub_id != null) { - var old=this.cell._val; - this.setValue(this._sub.getSelectedItemId()); - this.grid._sub_id = null; - return this.cell._val!=old; - } - } -} -eXcell_stree.prototype = new eXcell; - - -dhtmlXGridObject.prototype.setSubTree=function(tree,s_index){ - if (!this._sub_trees) - this._sub_trees=[]; - this._sub_trees[s_index]=[tree]; - tree.parentObject.style.display="none"; - var that=this; - tree.parentObject.onclick = function(event) {(event || window.event).cancelBubble = true;return false;} - tree.ev_onDblClick=null; - tree.attachEvent("onDblClick",function(id){ - that._sub_id = id; - that.editStop(); - return true; - }); - tree._chRRS=true; -}; -//(c)dhtmlx ltd. www.dhtmlx.com diff --git a/themes/sources4.0/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_wbut.js b/themes/sources4.0/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_wbut.js deleted file mode 100644 index 53281b1..0000000 --- a/themes/sources4.0/dhtmlxGrid/codebase/excells/dhtmlxgrid_excell_wbut.js +++ /dev/null @@ -1,87 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - - -/* -Textfield with Button eXcell v.1.0 for dhtmlxGrid -(c)DHTMLX LTD. 2005 - - -The corresponding cell value in XML should be - -Samples: - -IN637237-23 -158 -*/ - - -function eXcell_wbut(cell){ - this.cell = cell; - this.grid = this.cell.parentNode.grid; - this.edit = function(){ - var val = this.getValue().toString(); - this.obj = document.createElement("INPUT"); - this.obj.readOnly = true; - this.obj.style.width = "60px"; - this.obj.style.height = (this.cell.offsetHeight-(this.grid.multiLine?5:4))+"px"; - this.obj.style.border = "0px"; - this.obj.style.margin = "0px"; - this.obj.style.padding = "0px"; - this.obj.style.overflow = "hidden"; - this.obj.style.fontSize = _isKHTML?"10px":"12px"; - this.obj.style.fontFamily = "Arial"; - this.obj.wrap = "soft"; - this.obj.style.textAlign = this.cell.align; - this.obj.onclick = function(e){(e||event).cancelBubble = true} - this.cell.innerHTML = ""; - this.cell.appendChild(this.obj); - this.obj.onselectstart=function(e){ if (!e) e=event; e.cancelBubble=true; return true; }; - this.obj.style.textAlign = this.cell.align; - this.obj.value=val; - this.obj.focus() - this.obj.focus() - this.cell.appendChild(document.createTextNode(" ")); // Create space between text box and button - var butElem = document.createElement('input'); // This is the button DOM code - if(_isIE){ - butElem.style.height = (this.cell.offsetHeight-(this.grid.multiLine?5:4))+"px"; - butElem.style.lineHeight = "5px"; - }else{ - butElem.style.fontSize = "8px"; - butElem.style.width = "10px"; - butElem.style.marginTop = "-5px" - } - - butElem.type='button' - butElem.name='Lookup' - butElem.value='...' - var inObj = this.obj; - var inCellIndex = this.cell.cellIndex - var inRowId = this.cell.parentNode.idd - var inGrid = this.grid - var inCell = this; - this.dhx_m_func=this.grid.getWButFunction(this.cell._cellIndex); - butElem.onclick = function (e){inCell.dhx_m_func(inCell,inCell.cell.parentNode.idd,inCell.cell._cellIndex,val)}; - this.cell.appendChild(butElem); - } - this.detach = function(){ - this.setValue(this.obj.value); - return this.val!=this.getValue(); - } -} -eXcell_wbut.prototype = new eXcell; - -dhtmlXGridObject.prototype.getWButFunction=function(index){ - if (this._wbtfna) return this._wbtfna[index]; - else return (function(){}); -} -dhtmlXGridObject.prototype.setWButFunction=function(index,func){ - if (!this._wbtfna) this._wbtfna=new Array(); - this._wbtfna[index]=func; -} -//(c)dhtmlx ltd. www.dhtmlx.com \ No newline at end of file diff --git a/themes/sources4.0/dhtmlxGrid/codebase/ext/dhtmlxgrid_data.js b/themes/sources4.0/dhtmlxGrid/codebase/ext/dhtmlxgrid_data.js deleted file mode 100644 index f470bb4..0000000 --- a/themes/sources4.0/dhtmlxGrid/codebase/ext/dhtmlxgrid_data.js +++ /dev/null @@ -1,166 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -dhtmlXGridObject.prototype._process_xmlA=function(xml){ - if (!xml.doXPath){ - var t = new dtmlXMLLoaderObject(function(){}); - if (typeof xml == "string") - t.loadXMLString(xml); - else { - if (xml.responseXML) - t.xmlDoc=xml; - else - t.xmlDoc={}; - t.xmlDoc.responseXML=xml; - } - xml=t; - } - - this._parsing=true; - var top=xml.getXMLTopNode(this.xml.top) - //#config_from_xml:20092006{ - this._parseHead(top); - //#} - var rows=xml.doXPath(this.xml.row,top) - var cr=parseInt(xml.doXPath("//"+this.xml.top)[0].getAttribute("pos")||0); - var total=parseInt(xml.doXPath("//"+this.xml.top)[0].getAttribute("total_count")||0); - if (total && !this.rowsBuffer[total-1]) this.rowsBuffer[total-1]=null; - - if (this.isTreeGrid()){ - this._get_xml_data = this._get_xml_dataA; - this._process_xml_row = this._process_xml_rowA; - return this._process_tree_xml(xml); - } - - for (var i=0; i < rows.length; i++) { - if (this.rowsBuffer[i+cr]) continue; - var id=rows[i].getAttribute("id")||this.uid(); - this.rowsBuffer[i+cr]={ idd:id, data:rows[i], _parser: this._process_xml_rowA, _locator:this._get_xml_dataA }; - this.rowsAr[id]=rows[i]; - //this.callEvent("onRowCreated",[r.idd]); - } - this.render_dataset(); - this._parsing=false; - return xml.xmlDoc.responseXML?xml.xmlDoc.responseXML:xml.xmlDoc; -} - -dhtmlXGridObject.prototype._process_xmlB=function(xml){ - if (!xml.doXPath){ - var t = new dtmlXMLLoaderObject(function(){}); - if (typeof xml == "string") - t.loadXMLString(xml); - else { - if (xml.responseXML) - t.xmlDoc=xml; - else - t.xmlDoc={}; - t.xmlDoc.responseXML=xml; - } - xml=t; - } - - this._parsing=true; - var top=xml.getXMLTopNode(this.xml.top) - //#config_from_xml:20092006{ - this._parseHead(top); - //#} - var rows=xml.doXPath(this.xml.row,top) - var cr=parseInt(xml.doXPath("//"+this.xml.top)[0].getAttribute("pos")||0); - var total=parseInt(xml.doXPath("//"+this.xml.top)[0].getAttribute("total_count")||0); - if (total && !this.rowsBuffer[total-1]) this.rowsBuffer[total-1]=null; - - if (this.isTreeGrid()){ - this._get_xml_data = this._get_xml_dataB; - this._process_xml_row = this._process_xml_rowB; - return this._process_tree_xml(xml); - } - - for (var i=0; i < rows.length; i++) { - if (this.rowsBuffer[i+cr]) continue; - var id=rows[i].getAttribute("id")||this.uid(); - this.rowsBuffer[i+cr]={ idd:id, data:rows[i], _parser: this._process_xml_rowB, _locator:this._get_xml_dataB }; - this.rowsAr[id]=rows[i]; - //this.callEvent("onRowCreated",[r.idd]); - } - this.render_dataset(); - this._parsing=false; - return xml.xmlDoc.responseXML?xml.xmlDoc.responseXML:xml.xmlDoc; -} - -dhtmlXGridObject.prototype._process_xml_rowA=function(r,xml){ - var strAr = []; - r._attrs=this._xml_attrs(xml); - - //load cell data - for(var j=0;j= 0; i--) - this.setUserData(udCol[i].getAttribute("name"),udCol[i].firstChild?udCol[i].firstChild.data:""); - } - - //load cell data - - for (var jx=0; jx < xml.childNodes.length; jx++) { - var cellVal=xml.childNodes[jx]; - if (!cellVal.tagName) continue; - var j=this.getColIndexById(cellVal.tagName); - if (isNaN(j)) continue; - - var exc=cellVal.getAttribute("type"); - if (exc) - r.childNodes[j]._cellType=exc; - r.childNodes[j]._attrs=this._xml_attrs(cellVal); - - if (cellVal.getAttribute("xmlcontent")) - {} - else if (cellVal.firstChild) - cellVal=cellVal.firstChild.data; - else cellVal=""; - - strAr[j]=cellVal; - } - for (var i=0; i < r.childNodes.length; i++) { - if (!r.childNodes[i]._attrs) r.childNodes[i]._attrs={}; - }; - - //back to common code - this._fillRow(r,(this._c_order?this._swapColumns(strAr):strAr)); - return r; -} -dhtmlXGridObject.prototype._get_xml_dataB=function(data,ind){ - var id=this.getColumnId(ind); - data=data.firstChild; - while (true){ - if (!data) return ""; - if (data.tagName==id) return (data.firstChild?data.firstChild.data:"") - data=data.nextSibling; - } - return ""; -} \ No newline at end of file diff --git a/themes/sources4.0/dhtmlxGrid/codebase/ext/dhtmlxgrid_drag.js b/themes/sources4.0/dhtmlxGrid/codebase/ext/dhtmlxgrid_drag.js deleted file mode 100644 index 165b38b..0000000 --- a/themes/sources4.0/dhtmlxGrid/codebase/ext/dhtmlxgrid_drag.js +++ /dev/null @@ -1,808 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/** -* @desc: enable/disable drag-and-drop -* @type: public -* @param: mode - enabled/disabled [ can be true/false/temporary_disabled - last value mean that tree can be D-n-D can be switched to true later ] -* @topic: 0 -*/ - dhtmlXGridObject.prototype.enableDragAndDrop=function(mode){ - if (mode=="temporary_disabled"){ - this.dADTempOff=false; - mode=true; } - else - this.dADTempOff=true; - - this.dragAndDropOff=convertStringToBoolean(mode); - this._drag_validate=true; - if (mode) - this.objBox.ondragstart = function (e) { - (e||event).cancelBubble = true; - return false; - } - }; - -/** -* @desc: set Drag-And-Drop behavior (child - drop as chils, sibling - drop as sibling -* @type: public -* @param: mode - behavior name (child,sibling,complex) -* @topic: 0 -*/ -dhtmlXGridObject.prototype.setDragBehavior=function(mode){ - this.dadmodec=this.dadmodefix=0; - switch (mode) { - case "child": this.dadmode=0; this._sbmod=false; break; - case "sibling": this.dadmode=1; this._sbmod=false; break; - case "sibling-next": this.dadmode=1; this._sbmod=true; break; - case "complex": this.dadmode=2; this._sbmod=false; break; - case "complex-next": this.dadmode=2; this._sbmod=true; break; - } }; - - -/** -* @desc: switch to mode when draged item, droped in target location in same order as they was in source grid -* @type: public -* @param: mode - true/false to enable/disable mode -* @topic: 0 -*/ -dhtmlXGridObject.prototype.enableDragOrder=function(mode){ - this._dndorder=convertStringToBoolean(mode); -}; - - -dhtmlXGridObject.prototype._checkParent=function(row,ids){ - var z=this._h2.get[row.idd].parent; - if (!z.parent) return; - for (var i=0; i=0; i--) - if (this._checkParent(this.rowsAr[z[i]],z)) z.splice(i,1); - - } - - - var self=this; - if (z.length && this._dndorder) - z.sort(function(a,b){ return (self.rowsAr[a].rowIndex>self.rowsAr[b].rowIndex?1:-1); }); - - var el = this.getFirstParentOfType(_isIE?e.srcElement:e.target,"TD"); - if (el) this._dndExtra=el._cellIndex; - this._dragged=new Array(); - for (var i=0; i=0 && this.tobj._h2.get[this.tobj.rowsBuffer[ind].idd].state=="minus")?this.tobj._getOpenLenght(this.tobj.rowsBuffer[ind].idd,0):0)); -} -/** -* @desc: get row related image -* @type: private -*/ -dragContext.prototype.img=function(){ - if ((this.target!="grid")&&(this.sobj._h2)) - return this.sobj.getItemImage(this.sid); - else return null; -} - -/** -* @desc: return list of rows in context -* @type: private -*/ -dragContext.prototype.slist=function(){ - var res=new Array(); - for (var i=0; i(parseInt(this.objBox.offsetHeight)-50) ) - this.objBox.scrollTop=parseInt(this.objBox.scrollTop)+20; - //scroll top - if ( (a1-a2+parseInt(this.objBox.scrollTop))<(parseInt(this.objBox.scrollTop)+30) ) - this.objBox.scrollTop=parseInt(this.objBox.scrollTop)-20; - - if (skip) return 0; - - if (this.dadmode==2) - { - - var z=y-a1+(document.body.scrollTop||document.documentElement.scrollTop)-2-htmlObject.offsetHeight/2; - if ((Math.abs(z)-htmlObject.offsetHeight/6)>0) - { - this.dadmodec=1; - //sibbling zone - if (z<0) this.dadmodefix=-1; else this.dadmodefix=1; - } - else this.dadmodec=0; - } - else - this.dadmodec=this.dadmode; - - - - - if (this.dadmodec){ - if (!this._sdrgc) this._createSdrgc(); - this._sdrgc.style.display="block"; - this._sdrgc.style.top=a1-a2+parseInt(this.objBox.scrollTop)+((this.dadmodefix>=0)?htmlObject.offsetHeight:0)+"px"; - } - else{ - this._llSelD=htmlObject; - if (htmlObject.parentNode.tagName=="TR") - for (var i=0; i$/,"columns>"); - for (var i=2; i < grid.hdr.rows.length; i++) { - var empty_cols = 0; - var row = grid.hdr.rows[i]; - var cxml=""; - for (var j=0; j < grid._cCount; j++) { - if ((grid._srClmn && !grid._srClmn[j]) || (grid._hrrar[j] && ( !grid._fake || j >= grid._fake.hdrLabels.length))) { - empty_cols++; - continue; - } - var s = spans[i][j]; - var rspan = (( s[0] && s[0] > 1 ) ? ' colspan="'+s[0]+'" ' : ""); - if (s[1] && s[1] > 1){ - rspan+=' rowspan="'+s[1]+'" '; - empty_cols = -1; - } - - - var val = ""; - //split mode - var frow = row; - if (grid._fake && j < grid._fake._cCount) - frow = grid._fake.hdr.rows[i]; - - for (var k=0; k"; - }; - if (empty_cols != grid._cCount) - xml+="\n"+cxml+""; - }; - xml+="\n"; - xml+=xml_footer(); - return xml; - }; - - function xml_body() { - var xml =[]; - if (rows) - for (var i=0; i"]; - if (!grid.ftr) return ""; - for (var i=1; i < grid.ftr.rows.length; i++) { - xml.push(""); - var row = grid.ftr.rows[i]; - for (var j=0; j < grid._cCount; j++){ - if (grid._srClmn && !grid._srClmn[j]) continue; - if (grid._hrrar[j] && ( !grid._fake || j >= grid._fake.hdrLabels.length)) continue; - for (var k=0; k"); - } - xml.push(""); - }; - xml.push(""); - return xml.join("\n"); - }; - function get_style(node, style){ - return (window.getComputedStyle?(window.getComputedStyle(node, null)[style]):(node.currentStyle?node.currentStyle[style]:null))||""; - }; - - function xml_row(ind){ - if (!grid.rowsBuffer[ind]) return ""; - var r = grid.render_row(ind); - if (r.style.display=="none") return ""; - var level = grid.isTreeGrid() ? ' level="' + grid.getLevel(r.idd) + '"' : ''; - var xml = ""; - for (var i=0; i < grid._cCount; i++) { - if (((!grid._srClmn)||(grid._srClmn[i]))&&(!grid._hrrar[i] || ( grid._fake && i < grid._fake.hdrLabels.length))){ - var cell = grid.cells(r.idd, i); - if (full_color){ - var text_color = get_style(cell.cell,"color"); - var bg_color = get_style(cell.cell,"backgroundColor"); - var bold = get_style(cell.cell, "font-weight") || get_style(cell.cell, "fontWeight"); - var italic = get_style(cell.cell, "font-style") || get_style(cell.cell, "fontStyle"); - var align = get_style(cell.cell, "text-align") || get_style(cell.cell, "textAlign"); - var font = get_style(cell.cell, "font-family") || get_style(cell.cell, "fontFamily"); - if (bg_color == "transparent" || bg_color == "rgba(0, 0, 0, 0)") bg_color = "rgb(255,255,255)"; - xml+=""; - } else - xml+=""; - - xml+=""; - } - }; - return xml+""; - } - function xml_end(){ - var xml = ""; - return xml; - } - - - - var d=document.createElement("div"); - d.style.display="none"; - document.body.appendChild(d); - var uid = "form_"+grid.uid(); - - d.innerHTML = '
              '; - document.getElementById(uid).firstChild.value = encodeURIComponent(xml_top(mode).replace("\u2013", "-") + xml_body() + xml_end()); - document.getElementById(uid).submit(); - d.parentNode.removeChild(d); - - - grid = null; - - if (save_sel) { - save_sel.el.parentNode.className += ' rowselected'; - save_sel.el.className += ' cellselected'; - }; - save_sel = null; -}; -dhtmlXGridObject.prototype._serialiseExportConfig=function(spans){ - function xmlentities(str) { - if (typeof(str)!=='string') return str; - str = str.replace(/&/g, "&"); - str = str.replace(/"/g, """); - str = str.replace(/'/g, "'"); - str = str.replace(//g, ">"); - return str; - } - - var out = ""; - - for (var i = 0; i < this.hdr.rows[0].cells.length; i++){ - if (this._srClmn && !this._srClmn[i]) continue; - if (this._hrrar[i] && ( !this._fake || i >= this._fake.hdrLabels.length)) continue; - var sort = this.fldSort[i]; - if (sort == "cus"){ - sort = this._customSorts[i].toString(); - sort=sort.replace(/function[\ ]*/,"").replace(/\([^\f]*/,""); - } - var s = spans[1][i]; - var rpans = (( s[1] && s[1] > 1 ) ? ' rowspan="'+s[1]+'" ' : "")+(( s[0] && s[0] > 1 ) ? ' colspan="'+s[0]+'" ' : ""); - out+=""; - } - return out+=""; -}; -if (window.eXcell_sub_row_grid) - window.eXcell_sub_row_grid.prototype.getContent=function(){ return ""; }; - - -dhtmlXGridObject.prototype.toExcel = function(url,mode,header,footer,rows) { - if (!document.getElementById('ifr')) { - var ifr = document.createElement('iframe'); - ifr.style.display = 'none'; - ifr.setAttribute('name', 'dhx_export_iframe'); - ifr.setAttribute('src', ''); - ifr.setAttribute('id', 'dhx_export_iframe'); - document.body.appendChild(ifr); - } - - var target = " target=\"dhx_export_iframe\""; - this.toPDF(url,mode,header,footer,rows,target); -} diff --git a/themes/sources4.0/dhtmlxGrid/codebase/ext/dhtmlxgrid_fast.js b/themes/sources4.0/dhtmlxGrid/codebase/ext/dhtmlxgrid_fast.js deleted file mode 100644 index 2e98325..0000000 --- a/themes/sources4.0/dhtmlxGrid/codebase/ext/dhtmlxgrid_fast.js +++ /dev/null @@ -1,56 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - - //next function switch grid between fast and normal operation modes - //limitation - will not work for paging|smart_rendering|dynamic|split modes, most events will not be generated - -/** -* @desc: start fast operation mode, in such mode events are not generated, some time consuming actions applied only once, which allow to increase performance -* @type: public -* @topic: 0 -*/ - dhtmlXGridObject.prototype.startFastOperations = function(){ - this._disF=["setSizes","callEvent","_fixAlterCss","cells4","forEachRow", "_correctMonolite"]; - this._disA=[]; - for (var i = this._disF.length - 1; i >= 0; i--){ - this._disA[i]=this[this._disF[i]]; this[this._disF[i]]=function(){return true}; - }; - - this._cellCache=[]; - this.cells4=function(cell){ - var c=this._cellCache[cell._cellIndex] - if (!c){ - c=this._cellCache[cell._cellIndex]=this._disA[3].apply(this,[cell]); - c.destructor=function(){return true;} - c.setCValue=function(val){c.cell.innerHTML=val;} - } - - c.cell=cell; - c.combo=cell._combo||this.combos[cell._cellIndex]; - return c; - } - - } -/** -* @desc: turn off fast operation mode, need to be executed to normalize view. -* @type: public -* @topic: 0 -*/ - dhtmlXGridObject.prototype.stopFastOperations = function(){ - if (!this._disF) return; - for (var i = this._disF.length - 1; i >= 0; i--){ - this[this._disF[i]]=this._disA[i]; - }; - - if (this._correctMonolite) - this._correctMonolite(); - this.setSizes(); - this.callEvent("onGridReconstructed",[]); - } - - //(c)dhtmlx ltd. www.dhtmlx.com \ No newline at end of file diff --git a/themes/sources4.0/dhtmlxGrid/codebase/ext/dhtmlxgrid_filter.js b/themes/sources4.0/dhtmlxGrid/codebase/ext/dhtmlxgrid_filter.js deleted file mode 100644 index a4e8f37..0000000 --- a/themes/sources4.0/dhtmlxGrid/codebase/ext/dhtmlxgrid_filter.js +++ /dev/null @@ -1,626 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -//please beware that function started from _in_header_ must not be obfuscated - - - -/** -* @desc: filter grid by mask -* @type: public -* @param: column - {number} zero based index of column -* @param: value - {string} filtering mask -* @param: preserve - {bool} filter current or initial state ( false by default ) -* @edition: Professional -* @topic: 0 -*/ -dhtmlXGridObject.prototype.filterBy=function(column, value, preserve){ - if (this.isTreeGrid()) return this.filterTreeBy(column, value, preserve); - if (this._f_rowsBuffer){ - if (!preserve){ - this.rowsBuffer=dhtmlxArray([].concat(this._f_rowsBuffer)); - if (this._fake) this._fake.rowsBuffer=this.rowsBuffer; - } - } else - this._f_rowsBuffer=[].concat(this.rowsBuffer); //backup copy - - - if (!this.rowsBuffer.length) return; - var d=true; - this.dma(true) - if (typeof(column)=="object") - for (var j=0; j=0; i--) - if (d?(this._get_cell_value(this.rowsBuffer[i],column).toString().toLowerCase().indexOf(value)==-1):(!value.call(this, this._get_cell_value(this.rowsBuffer[i],column),this.rowsBuffer[i].idd))) - this.rowsBuffer.splice(i,1);//filter row -} - -dhtmlXGridObject.prototype.getFilterElement=function(index){ - if (!this.filters) return; - for (var i=0; i < this.filters.length; i++) { - if (this.filters[i][1]==index) - return (this.filters[i][0].combo||this.filters[i][0]); - }; - return null; -} - -/** -* @desc: get all possible values in column -* @type: public -* @param: column - {number} zero based index of column -* @returns: {array} array of all possible values in column -* @edition: Professional -* @topic: 0 -*/ -dhtmlXGridObject.prototype.collectValues=function(column){ - var value=this.callEvent("onCollectValues",[column]); - if (value!==true) return value; - - if (this.isTreeGrid()) return this.collectTreeValues(column); - this.dma(true) - this._build_m_order(); - column=this._m_order?this._m_order[column]:column; - var c={}; var f=[]; - var col=this._f_rowsBuffer||this.rowsBuffer; - for (var i=0; i= this._cCount) continue; - b.push(ind); - - var val=this.filters[i][0].old_value=this.filters[i][0].value; - if (this.filters[i][0]._filter) - val = this.filters[i][0]._filter(); - - var vals; - if (typeof val != "function" && (vals=(this.combos[ind]||(this._col_combos?this._col_combos[ind]:false)))){ - if(vals.values){ - ind=vals.values._dhx_find(val); - val=(ind==-1)?val:vals.keys[ind]; - } - else if(vals.getOptionByLabel){ - val=(vals.getOptionByLabel(val)?vals.getOptionByLabel(val).value:val); - } - } - a.push(val); - - } - if (!this.callEvent("onFilterStart",[b,a])) return; - this.filterBy(b,a); - if (this._cssEven) this._fixAlterCss(); - this.callEvent("onFilterEnd",[this.filters]); - - if (this._f_rowsBuffer && this.rowsBuffer.length == this._f_rowsBuffer.length) - this._f_rowsBuffer = null; -} - -/** -* @desc: create a filter from any input element (text filter), select (dropdown) or DIV (combobox based on dhtmlxCombo) -* @type: public -* @param: id - {string|object} input id or input html object -* @param: column - {number} index of column -* @param: preserve - {bool} filter current state or initial one ( false by default ) -* @edition: Professional -* @topic: 0 -*/ -dhtmlXGridObject.prototype.makeFilter=function(id,column,preserve){ - if (!this.filters) this.filters=[]; - if (typeof(id)!="object") - id=document.getElementById(id); - if(!id) return; - var self=this; - - if (!id.style.width) id.style.width = "90%"; - - if (id.tagName=='SELECT'){ - this.filters.push([id,column]); - this._loadSelectOptins(id,column); - id.onchange=function(){ - self.filterByAll(); - } - if(_isIE) - id.style.marginTop="1px"; - - this.attachEvent("onEditCell",function(stage,a,ind){ - this._build_m_order(); - if (stage==2 && this.filters && ( this._m_order?(ind==this._m_order[column]):(ind==column) )) - this._loadSelectOptins(id,column); - return true; - }); - } - else if (id.tagName=='INPUT'){ - this.filters.push([id,column]); - id.old_value = id.value=''; - id.onkeydown=function(){ - if (this._timer) window.clearTimeout(this._timer); - this._timer=window.setTimeout(function(){ - if (id.value != id.old_value){ - self.filterByAll(); - id.old_value=id.value; - } - },500); - }; - } - else if (id.tagName=='DIV' && id.className=="combo"){ - this.filters.push([id,column]); - id.style.padding="0px";id.style.margin="0px"; - if (!window.dhx_globalImgPath) window.dhx_globalImgPath=this.imgURL; - var z=new dhtmlXCombo(id,"_filter","90%"); - z.filterSelfA=z.filterSelf; - z.filterSelf=function(){ - if (this.getSelectedIndex()==0) this.setComboText(""); - this.filterSelfA.apply(this,arguments); - this.optionsArr[0].hide(false); - } - - - z.enableFilteringMode(true); - id.combo=z; - id.value=""; - - this._loadComboOptins(id,column); - z.attachEvent("onChange",function(){ - id.value=z.getSelectedValue(); - if (id.value === null) id.value = ""; - self.filterByAll(); - }); - } - if (id.parentNode) - id.parentNode.className+=" filter"; - - this._filters_ready(); //set event handlers -} - /** - * @desc: find cell in grid by value - * @param: value - search string - * @param: c_ind - index of column to search in (optional. if not specified, then search everywhere) - * @param: count - count of results to return - * @edition: Professional - * @returns: array each member of which contains array with row ID and cell index - * @type: public - */ - dhtmlXGridObject.prototype.findCell=function(value, c_ind, count, compare){ - var compare = compare || (function(master, check){ - return check.toString().toLowerCase().indexOf(master) != -1; - }); - if (compare === true) - compare = function(master, check){ return check.toString().toLowerCase() == master; }; - - var res = new Array(); - value=value.toString().toLowerCase(); - if (typeof count != "number") count = count?1:0; - - if (!this.rowsBuffer.length) - return res; - - for (var i = (c_ind||0); i < this._cCount; i++){ - if (this._h2) - this._h2.forEachChild(0,function(el){ - if (count && res.length==count) return res; - if (compare(value, this._get_cell_value(el.buff,i))){ - res.push([el.id,i]); - } - },this) - else - for (var j=0; j < this.rowsBuffer.length; j++) - if (compare(value, this._get_cell_value(this.rowsBuffer[j],i))){ - res.push([this.rowsBuffer[j].idd,i]); - if (count && res.length==count) return res; - } - - - - if (typeof (c_ind) != "undefined") - return res; - } - - return res; - } - -/** -* @desc: create a search box (set selection to the row with found value) from any input -* @type: public -* @param: id - {string|object} input id or input html object -* @param: column - {number} index of column -* @edition: Professional -* @topic: 0 -*/ -dhtmlXGridObject.prototype.makeSearch=function(id,column,strict){ - if (typeof(id)!="object") - id=document.getElementById(id); - if(!id) return; - var self=this; - - if (id.tagName=='INPUT'){ - id.onkeypress=function(){ - if (this._timer) window.clearTimeout(this._timer); - this._timer=window.setTimeout(function(){ - if (id.value=="") return; - var z=self.findCell(id.value,column,true,strict); - if (z.length){ - if (self._h2) - self.openItem(z[0][0]); - self.selectCell(self.getRowIndex(z[0][0]),(column||0)) - } - },500); - }; - } - if (id.parentNode) - id.parentNode.className+=" filter"; -} - -dhtmlXGridObject.prototype._loadSelectOptins=function(t,c){ - var l=this.collectValues(c); - var v=t.value; - t.innerHTML=""; - t.options[0]=new Option("",""); - var f=this._filter_tr?this._filter_tr[c]:null; - for (var i=0; i=num && v<=num2) return true; - return false; - } - } - r=v.match(/>=|<=|>|"+c[1]; - var self=this; - t.getElementsByTagName("input")[0].onclick=function(e){ - self._build_m_order(); - var j=self._m_order?self._m_order[i]:i; - var val=this.checked?1:0; - self.forEachRowA(function(id){ - var c=this.cells(id,j); - if (c.isCheckbox()) { - c.setValue(val); - c.cell.wasChanged = true; - } - this.callEvent("onEditCell",[1,id,j,val]); - this.callEvent("onCheckbox", [id, j, val]); - }); - (e||event).cancelBubble=true; - } -} - -dhtmlXGridObject.prototype._in_header_stat_total=function(t,i,c){ - var calck=function(){ - var summ=0; - this._build_m_order(); - var ii = this._m_order?this._m_order[i]:i; - for (var j=0; j 0 ? false : true; - for (var i = 0; i < filters.length; i++) - result = result || filters[i](value); - return result; - } - }; -} - - -dhtmlXGridObject.prototype._in_header_string_filter=function(t,i){ - this._in_header_text_filter.call(this,t,i); - var self = this; - t.firstChild._filter=function(){ - var filters = self._get_filters(this.value, 'str'); - return function(value) { - var result = filters.length > 0 ? false : true; - for (var i = 0; i < filters.length; i++) - result = result || filters[i](value); - return result; - } - }; -} - - -dhtmlXGridObject.prototype._get_filters=function(value, type) { - var fs = value.split(','); - var filters = []; - - for (var i = 0; i < fs.length; i++) { - if (fs[i] == '') continue; - var f = this['_get_' + type + '_filter'](fs[i]); - filters.push(f); - } - return filters; -} - - -dhtmlXGridObject.prototype._get_str_filter=function(value) { - // empty, null - if (value == 'null' || value == 'empty') { - return new Function('value', 'if (value == null || value == "") return true; return false;'); - } - - // not empty, not null - if (value == '!null' || value == '!empty') { - return new Function('value', 'if (value == null || value == "") return false; return true;'); - } - // not equals - if (value.substr(0, 1) === '!') { - var substr = value.substr(1); - return new Function('value', 'if (value !== "' + substr + '") return true; return false;'); - } - // contains - if (value.substr(0, 1) === '~') { - var substr = value.substr(1); - return new Function('value', 'if (value.indexOf("' + substr + '") !== -1) return true; return false;'); - } - // ^keyword& - if (value.substr(0, 1) === '^' && value.substr(value.length - 1, 1) === '&') { - value = '=' + value.substr(1, value.length - 2); - } - // start with - if (value.substr(0, 1) === '^') { - var substr = value.substr(1); - return new Function('value', 'if (value.substr(0, ' + substr.length + ') === "' + substr + '") return true; return false;'); - } - // end with - if (value.substr(value.length - 1, 1) === '&') { - var substr = value.substr(0, value.length - 1); - return new Function('value', 'if (value.substr(value.length - ' + substr.length + ') === "' + substr + '") return true; return false;'); - } - // equals - if (value.substr(0, 1) === '=') - var substr = value.substr(1); - else - var substr = value; - return new Function('value', 'if (value === "' + substr + '") return true; return false;'); -} - - -dhtmlXGridObject.prototype._get_num_filter=function(value) { - // empty, null - if (value == 'null' || value == 'empty') { - return new Function('value', 'if (value == null || value == "") return true; return false;'); - } - - // not empty, not null - if (value == '!null' || value == '!empty') { - return new Function('value', 'if (value == null || value == "") return false; return true;'); - } - // in range - var range = value.split('..'); - if (range.length == 2) { - var num1 = parseFloat(range[0]); - var num2 = parseFloat(range[1]); - return new Function('value', 'if (value >= ' + num1 + ' && value <= ' + num2 + ') return true; return false;'); - } - var r = value.match(/<>|>=|<=|>|<|=/); - if (r) { - var op = r[0]; - var num = parseFloat(value.replace(op, "")); - } else { - var op = '=='; - num = parseFloat(value); - } - if (op == '<>') op = '!='; - if (op == '=') op = '=='; - return new Function("value"," if (value " + op + " " + num + " ) return true; return false;"); -} \ No newline at end of file diff --git a/themes/sources4.0/dhtmlxGrid/codebase/ext/dhtmlxgrid_form.js b/themes/sources4.0/dhtmlxGrid/codebase/ext/dhtmlxgrid_form.js deleted file mode 100644 index f5623d3..0000000 --- a/themes/sources4.0/dhtmlxGrid/codebase/ext/dhtmlxgrid_form.js +++ /dev/null @@ -1,212 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -dhtmlXGridObject.prototype.attachHeaderA=dhtmlXGridObject.prototype.attachHeader; -dhtmlXGridObject.prototype.attachHeader=function() -{ - this.attachHeaderA.apply(this,arguments); - if (this._realfake) return true; - this.formAutoSubmit(); - if (typeof(this.FormSubmitOnlyChanged)=="undefined") - this.submitOnlyChanged(true); - - if (typeof(this._submitAR)=="undefined") - this.submitAddedRows(true); - - var that=this; - - this._added_rows=[]; - this._deleted_rows=[]; - - this.attachEvent("onRowAdded",function(id){ - that._added_rows.push(id); - that.forEachCell(id,function(a){ a.cell.wasChanged=true; }) - return true; - }); - this.attachEvent("onBeforeRowDeleted",function(id){ - that._deleted_rows.push(id); - return true; - }); - - this.attachHeader=this.attachHeaderA; -} - -dhtmlXGridObject.prototype.formAutoSubmit = function() -{ - this.parentForm = this.detectParentFormPresent(); - if (this.parentForm === false) { - return false; - } - if (this.formEventAttached) - return; - this.formInputs = new Array(); - var self = this; - dhtmlxEvent(this.parentForm, 'submit', function() {if (self.entBox) self.parentFormOnSubmit();}); - this.formEventAttached = true; -} - -dhtmlXGridObject.prototype.parentFormOnSubmit = function() -{ - this.formCreateInputCollection(); - if (!this.callEvent("onBeforeFormSubmit",[])) return false; -} - -/** -* @desc: include only changed rows in form submit -* @type: public -* @param: mode - {boolean} enable|disable mode -* @topic: 0 -*/ -dhtmlXGridObject.prototype.submitOnlyChanged = function(mode) -{ - this.FormSubmitOnlyChanged = convertStringToBoolean(mode); -} - -dhtmlXGridObject.prototype.submitColumns=function(names){ - if (typeof names == "string") names=names.split(this.delim); - this._submit_cols=names; -} - -/** -* @desc: allows to define input name which will be used for data sending, name may contain next auto-replaced elements - GRID_ID - ID of grids container, ROW_ID - ID of row, ROW_INDEX - index of row, COLUMN_ID - id of column, COLUMN_INDEX - index of column -* @type: public -* @param: name - input name mask -* @topic: 0 -*/ -dhtmlXGridObject.prototype.setFieldName=function(mask){ - mask=mask.replace(/\{GRID_ID\}/g,"'+a1+'"); - mask=mask.replace(/\{ROW_ID\}/g,"'+a2+'"); - mask=mask.replace(/\{ROW_INDEX\}/g,"'+this.getRowIndex(a2)+'"); - mask=mask.replace(/\{COLUMN_INDEX\}/g,"'+a3+'"); - mask=mask.replace(/\{COLUMN_ID\}/g,"'+this.getColumnId(a3)+'"); - this._input_mask=Function("a1","a2","a3","return '"+mask+"';"); -} - - -/** -* @desc: include serialized grid as part of form submit -* @type: public -* @param: mode - {boolean} enable|disable mode -* @topic: 0 -*/ -dhtmlXGridObject.prototype.submitSerialization = function(mode) -{ - this.FormSubmitSerialization = convertStringToBoolean(mode); -} - -/** -* @desc: include additional data with info about which rows was added and which deleted, enabled by default -* @type: public -* @param: mode - {boolean} enable|disable mode -* @topic: 0 -*/ -dhtmlXGridObject.prototype.submitAddedRows = function(mode) -{ - this._submitAR = convertStringToBoolean(mode); -} - - - - -/** -* @desc: include only selected rows in form submit -* @type: public -* @param: mode - {boolean} enable|disable mode -* @topic: 0 -*/ -dhtmlXGridObject.prototype.submitOnlySelected = function(mode) -{ - this.FormSubmitOnlySelected = convertStringToBoolean(mode); -} - - -/** -* @desc: include only row's IDS in form submit -* @type: public -* @param: mode - {boolean} enable|disable mode -* @topic: 0 -*/ -dhtmlXGridObject.prototype.submitOnlyRowID = function(mode) -{ - this.FormSubmitOnlyRowID = convertStringToBoolean(mode); -} - - -dhtmlXGridObject.prototype.createFormInput = function(name,value){ - var input = document.createElement('input'); - input.type = 'hidden'; - if (this._input_mask && (typeof name != "string")) - input.name=this._input_mask.apply(this,name); - else - input.name =((this.globalBox||this.entBox).id||'dhtmlXGrid')+'_'+name; - input.value = value; - this.parentForm.appendChild(input); - this.formInputs.push(input); -} - -dhtmlXGridObject.prototype.createFormInputRow = function(r){ - var id=(this.globalBox||this.entBox).id; - for (var j=0; j "; - if (this.customGroupFormat) html+=this.customGroupFormat(z.text,z.count); - else html+=z.text+" ( "+z.count+" ) "; - z.row.childNodes[mask._title].innerHTML=html; -} -dhtmlXGridObject.prototype._addPseudoRow=function(skip){ - - var mask = this._gmask||this._fake._gmask; - var r=mask.cloneNode(true) - //cloneNode ignores custom attributes - for (var i=0; i=0; i--){ - if (this.rowsCol[i]._cntr){ - this.rowsCol[i]._cntr._childs=a; - a=[]; - b.push(this.rowsCol[i]); - } else a.push(this.rowsCol[i]); - this.rowsCol[i].parentNode.removeChild(this.rowsCol[i]); - } - return b; -} - -dhtmlXGridObject.prototype._groups_put=function(b){ - var sts = this.rowsCol.stablesort; - this.rowsCol=new dhtmlxArray(0); - this.rowsCol.stablesort = sts; - - for (var i=0; i=0; i--){ - if (!this.rowsCol[i]._cntr){ - c=a(c,this.cells3(this.rowsCol[i],ind).getValue()*1,j); - j++; - } else { - this.cells5(this.rowsCol[i].childNodes[rind],this.cellType[ind]).setValue(c); - j=c=0; - } - } -} - -dhtmlXGridObject.prototype._g_stat_total=function(c,n,i){ - return c+n; -} -dhtmlXGridObject.prototype._g_stat_min=function(c,n,i){ - if (!i) c=Infinity; - return Math.min(c,n); -} -dhtmlXGridObject.prototype._g_stat_max=function(c,n,i){ - if (!i) c=-Infinity; - return Math.max(c,n); -} -dhtmlXGridObject.prototype._g_stat_average=function(c,n,i){ - return (c*i+n)/(i+1); -} -dhtmlXGridObject.prototype._g_stat_count=function(c,n,i){ - return c++; -} - -//(c)dhtmlx ltd. www.dhtmlx.com diff --git a/themes/sources4.0/dhtmlxGrid/codebase/ext/dhtmlxgrid_hextra.js b/themes/sources4.0/dhtmlxGrid/codebase/ext/dhtmlxgrid_hextra.js deleted file mode 100644 index ef333c9..0000000 --- a/themes/sources4.0/dhtmlxGrid/codebase/ext/dhtmlxgrid_hextra.js +++ /dev/null @@ -1,62 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -dhtmlXGridObject.prototype._in_header_collapse=function(t,i,c){ - var rt=t.tagName=="TD"?t:t.parentNode; - i=rt._cellIndexS; - if (!this._column_groups) this._column_groups=[]; - var cols=c[1].split(":") - var cols=c[1].split(":"); - cols = [cols.shift(), cols.join(':')]; - var count = parseInt(cols[0]); - t.innerHTML=c[0]+""+(cols[1]||"")+""; - t.style.paddingBottom='0px'; - var self = this; - this._column_groups[i]=t.getElementsByTagName("IMG")[0]; - this._column_groups[i].onclick=function(e){ - (e||event).cancelBubble=true; - this._cstate=!this._cstate; - for (var j=i+1; j<(i+count); j++) - self.setColumnHidden(j,this._cstate) - if (this._cstate){ - if (rt.colSpan && rt.colSpan>0) { - rt._exp_colspan=rt.colSpan; - var delta=Math.max(1,rt.colSpan-count) - if (!_isFF) //create additional cells to compensate colspan - for (var z=0; z]*>/gi,""); - a.push("
              "+val+"
              "); - } - true_ind+=(c.colSpan||1); - } - d.innerHTML=a.join(""); - - var that=this; - var f=function(){ - var c=this.getAttribute("column"); - if (!this.checked && !that._checkLast(c)) return this.checked=true; - if (that._realfake) that=that._fake; - for (var i=0; i= 0; i--){ - this.selectCell(this.rowsCol[i],this.cell._cellIndex,true,false,true); - } - }, - //ctrl shift down - k40_1_1:function(){ - var rowInd = this.getRowIndex(this.row.idd); - for (var i = rowInd+1; i =this._cCount) return; - var z=this._getNextCell(null,1); - if (z && this.row==z.parentNode){ - this.selectCell(z.parentNode,z._cellIndex,true); - this._still_active=true; - } - }, - k9_0_1:function(){ - this.editStop(); - if (!this.callEvent("onTab",[false])) return true; - if (this.cell && (this.cell._cellIndex==0)) return; - var z=this._getNextCell(null,-1); - if (z && this.row==z.parentNode) { - this.selectCell(z.parentNode,z._cellIndex,true); - this._still_active=true; - } - }, - k113_0_0:function(){ - if (this._f2kE) this.editCell(); - }, - k32_0_0:function(){ - var c=this.cells4(this.cell); - if (!c.changeState || (c.changeState()===false)) return false; - }, - k27_0_0:function(){ - this.editStop(true); - this._still_active=true; - }, - k33_0_0:function(){ - if(this.pagingOn) - this.changePage(this.currentPage-1); - else this.scrollPage(-1); - }, - k34_0_0:function(){ - if(this.pagingOn) - this.changePage(this.currentPage+1); - else this.scrollPage(1); - }, - k37_0_0:function(){ - if (this.editor) return false; - if(this.isTreeGrid()) - this.collapseKids(this.row); - else this._key_events.k9_0_1.call(this); - }, - k39_0_0:function(){ - if (this.editor) return false; - if(!this.editor && this.isTreeGrid()) - this.expandKids(this.row); - else this._key_events.k9_0_0.call(this); - }, - k37_1_0:function(){ - if (this.editor) return false; - this.selectCell(this.row,0,true); - }, - k39_1_0:function(){ - if (this.editor) return false; - this.selectCell(this.row,this._cCount-1,true); - }, - k38_1_0:function(){ - if (this.editor || !this.rowsCol.length) return false; - this.selectCell(this.rowsCol[0],this.cell._cellIndex,true); - }, - k40_1_0:function(){ - if (this.editor || !this.rowsCol.length) return false; - this.selectCell(this.rowsCol[this.rowsCol.length-1],this.cell._cellIndex,true); - }, - k38_0_1:function(){ - if (this.editor || !this.rowsCol.length) return false; - var rowInd = this.row.rowIndex; - var nrow=this._nextRow(rowInd-1,-1); - if (!nrow || nrow._sRow || nrow._rLoad) return false; - this.selectCell(nrow,this.cell._cellIndex,true,true); - }, - k40_0_1:function(){ - if (this.editor || !this.rowsCol.length) return false; - var rowInd = this.row.rowIndex; - var nrow=this._nextRow(rowInd-1,1); - if (!nrow || nrow._sRow || nrow._rLoad) return false; - this.selectCell(nrow,this.cell._cellIndex,true,true); - }, - k38_1_1:function(){ - if (this.editor || !this.rowsCol.length) return false; - var rowInd = this.row.rowIndex; - for (var i = rowInd - 1; i >= 0; i--){ - this.selectCell(this.rowsCol[i],this.cell._cellIndex,true,true); - } - }, - k40_1_1:function(){ - if (this.editor || !this.rowsCol.length) return false; - var rowInd = this.row.rowIndex; - for (var i = rowInd; i =40 && (ev.keyCode < 91 || (ev.keyCode >95 && ev.keyCode <111) || ev.keyCode > 187)) - if (this.cell){ - var c=this.cells4(this.cell); - if (c.isDisabled()) return false; - var t=c.getValue(); - if (c.editable!==false) c.setValue(""); - this.editCell(); - if (this.editor) { - this.editor.val=t; - if (this.editor.obj && this.editor.obj.select) - this.editor.obj.select(); - } - else c.setValue(t); - } - } - }; - -}; diff --git a/themes/sources4.0/dhtmlxGrid/codebase/ext/dhtmlxgrid_markers.js b/themes/sources4.0/dhtmlxGrid/codebase/ext/dhtmlxgrid_markers.js deleted file mode 100644 index c5933b6..0000000 --- a/themes/sources4.0/dhtmlxGrid/codebase/ext/dhtmlxgrid_markers.js +++ /dev/null @@ -1,160 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - - /** - * @desc: sets marked cells support to enabled or disabled state - * @type: public - * @param: state - true or false - */ - dhtmlXGridObject.prototype.enableMarkedCells = function(fl){ - this.markedRowsArr = new dhtmlxArray(0); - this.markedCellsArr = new Array(0); - this.lastMarkedRow = null; - this.lastMarkedColumn = null; - this.markedCells = true; - this.lastMarkMethod = 0; - if(arguments.length>0){ - if(!convertStringToBoolean(fl)) - this.markedCells = false; - } - }; - /** - * @desc: occures on cell click - * @type: private - * @param: [el] - cell to click on - * @param: [markMethod] - 0 - simple click, 1 - shift, 2 - ctrl - */ - dhtmlXGridObject.prototype.doMark = function(el,markMethod){ - - var _rowId = el.parentNode.idd; - this.setActive(true); - if (!_rowId) return; - this.editStop(); - this.cell=el; - this.row=el.parentNode; - var _cellIndex = el._cellIndex; - - if(!markMethod) markMethod = 0; - - if(markMethod==0){ - this.unmarkAll() ; - } - else if(markMethod==1){ - - if(this.lastMarkedRow) { - var r_start = Math.min(this.getRowIndex(_rowId),this.getRowIndex(this.lastMarkedRow)); - var r_end = Math.max(this.getRowIndex(_rowId),this.getRowIndex(this.lastMarkedRow)); - - var c_start = Math.min(_cellIndex,this.lastMarkedColumn); - var c_end = Math.max(_cellIndex,this.lastMarkedColumn); - - for(var i = r_start; i < r_end+1; i++){ - for(var j = c_start; j < c_end+1; j++){ - this.mark(this.getRowId(i),j,true); - - } - } - } - } - else if(markMethod==2){ - if(this.markedRowsArr._dhx_find(_rowId)!=-1){ - for(var ci = 0; ci < this.markedCellsArr[_rowId].length; ci++){ - if(this.markedCellsArr[_rowId][ci]==_cellIndex){ - this.mark(_rowId,_cellIndex,false); - return true; - } - } - - } - - } - - if(!this.markedCellsArr[_rowId]) - this.markedCellsArr[_rowId] = new dhtmlxArray(0); - - if(markMethod!=1) - this.mark(_rowId,_cellIndex); - - this.moveToVisible(this.cells(_rowId,_cellIndex).cell); - this.lastMarkedRow = _rowId; - this.lastMarkedColumn = _cellIndex; - this.lastMarkMethod = markMethod; - - } -/** - * @desc: sets selection or removes selection from specified cell - * @param: r - row object or row index - * @param: cInd - cell index - * @param: state - true or false - * @type: public - */ -dhtmlXGridObject.prototype.mark = function(rid,cindex,fl){ - if(arguments.length>2){ - if(!convertStringToBoolean(fl)){ - this.cells(rid,cindex).cell.className = this.cells(rid,cindex).cell.className.replace(/cellselected/g,""); - if(this.markedRowsArr._dhx_find(rid)!=-1){ - var ci = this.markedCellsArr[rid]._dhx_find(cindex); - if(ci!=-1){ - this.markedCellsArr[rid]._dhx_removeAt(ci); - if(this.markedCellsArr[rid].length==0){ - this.markedRowsArr._dhx_removeAt(this.markedRowsArr._dhx_find(rid)); - } - this.callEvent("onCellUnMarked",[rid,cindex]); - } - } - return true; - } - } - this.cells(rid,cindex).cell.className+= " cellselected"; - - if(this.markedRowsArr._dhx_find(rid)==-1) - this.markedRowsArr[this.markedRowsArr.length] = rid; - - if(!this.markedCellsArr[rid]) - this.markedCellsArr[rid] = new dhtmlxArray(0); - if(this.markedCellsArr[rid]._dhx_find(cindex)==-1){ - this.markedCellsArr[rid][this.markedCellsArr[rid].length] = cindex; - this.callEvent("onCellMarked",[rid,cindex]); - } - -} -/** - * @desc: removes selection from all marked cell - * @type: public - */ -dhtmlXGridObject.prototype.unmarkAll = function(){ - if(this.markedRowsArr){ - for(var ri = 0; ri < this.markedRowsArr.length; ri++){ - var rid = this.markedRowsArr[ri]; - if (this.rowsAr[rid]) - for(var ci = 0; ci < this.markedCellsArr[rid].length; ci++){ - this.callEvent("onCellUnMarked",[rid,this.markedCellsArr[rid][ci]]) - this.cells(rid,this.markedCellsArr[rid][ci]).cell.className = this.cells(rid,this.markedCellsArr[rid][ci]).cell.className.replace(/cellselected/g,""); - } - } - this.markedRowsArr = new dhtmlxArray(0); - this.markedCellsArr = new Array(0); - } - return true; -} -/** - * @desc: gets marked cells - * @returns: the array of marked cells (pairs of row id and column index) - * @type: public - */ -dhtmlXGridObject.prototype.getMarked = function(){ - var marked = new Array(); - if(this.markedRowsArr) - for(var ri = 0; ri < this.markedRowsArr.length; ri++){ - var rid = this.markedRowsArr[ri]; - for(var ci = 0; ci < this.markedCellsArr[rid].length; ci++){ - marked[marked.length] = [rid,this.markedCellsArr[rid][ci]]; - } - } - return marked; -} diff --git a/themes/sources4.0/dhtmlxGrid/codebase/ext/dhtmlxgrid_math.js b/themes/sources4.0/dhtmlxGrid/codebase/ext/dhtmlxgrid_math.js deleted file mode 100644 index 647f899..0000000 --- a/themes/sources4.0/dhtmlxGrid/codebase/ext/dhtmlxgrid_math.js +++ /dev/null @@ -1,313 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/** -* @desc: cell with support for math formulas -* @param: cell - cell object -* @type: private -* @edition: Professional -*/ -function eXcell_math(cell){ - if (cell){ - this.cell = cell; - this.grid = this.cell.parentNode.grid; - } - this.edit = function(){ - this.grid.editor = new eXcell_ed(this.cell); - this.grid.editor.fix_self=true; - this.grid.editor.getValue=this.cell.original?(function(){ return this.cell.original}):this.getValue; - this.grid.editor.setValue=this.setValue; - this.grid.editor.edit(); - } - this.isDisabled = function(){ return !this.grid._mathEdit; } - this.setValue = function(val){ - val=this.grid._compileSCL(val,this.cell,this.fix_self); - if (this.grid._strangeParams[this.cell._cellIndex]) - this.grid.cells5(this.cell,this.grid._strangeParams[this.cell._cellIndex]).setValue(val); - else{ - this.setCValue(val); - this.cell._clearCell=false; - } - } - this.getValue = function(){ - if (this.grid._strangeParams[this.cell._cellIndex]) - return this.grid.cells5(this.cell,this.grid._strangeParams[this.cell._cellIndex]).getValue(); - - return this.cell.innerHTML; - } -} -eXcell_math.prototype = new eXcell; - -dhtmlXGridObject.prototype._init_point_bm=dhtmlXGridObject.prototype._init_point; -dhtmlXGridObject.prototype._init_point = function(){ - this._mat_links={}; - this._aggregators=[]; - this.attachEvent("onClearAll",function(){ - this._mat_links={}; - this._aggregators=[]; - }) - this.attachEvent("onCellChanged",function(id,ind){ - if (this._mat_links[id]){ - var cell=this._mat_links[id][ind]; - if (cell){ - for (var i=0; i0){ - var n=z.length-this._roundDl; - if (n<0) { - z=("000000000"+z).substring(9+n); - n=0; - } - return (pre+z.substring(0,n)+"."+z.substring(n,z.length)); - } - return pre+z; - } - return z; -} - -dhtmlXGridObject.prototype._countTotal=function(row,cell){ - var b=0; - var z=this._h2.get[row]; - for (var i=0; ithis._cCount) ind=this._cCount; - if (!this._cMod) this._cMod=this._cCount; - this._processAllArrays(this._cCount,ind-1,[(header||" "),(width||100),(type||"ed"),(align||"left"),(valign||""),(sort||"na"),(columnColor||""),"",this._cMod,(width||100)]); - this._processAllRows("_addColInRow",ind); - - if (typeof(header)=="object") - for (var i=1; i < this.hdr.rows.length; i++) { - if (header[i-1]=="#rspan"){ - var pind=i-1; - var found=false; - var pz=null; - while(!found){ - var pz=this.hdr.rows[pind]; - for (var j=0; j=this._cCount) return; - this._processAllArrays(ind,this._cCount-1,[null,null,null,null,null,null,null,null,null,null,null]); - this._processAllRows("_deleteColInRow",ind); - this._cCount--; - this._master_row=null; - this.setSizes(); - -} - -/** -* @desc: call method for all rows in all collections -* @type: private -* @topic: 0 -*/ -dhtmlXGridObject.prototype._processAllRows = function(method,oldInd,newInd){ - this[method](this.obj.rows[0],oldInd,newInd,0); - - var z=this.hdr.rows.length; - for (var i=0; i(newInd+1); j--) - t[j]=t[j-1]; - t[newInd+1]=val; - } - if (vals) - t[newInd+(mode?0:1)]=vals[i]; - } - } -} - - -/** -* @desc: moves column of specified index to new position -* @param: oldInd - current index of column -* @param: newInd - new index of column -* @type: public -* @edition: Professional -* @topic: 0 -*/ -dhtmlXGridObject.prototype.moveColumn = function(oldInd,newInd){ - newInd--; - oldInd=parseInt(oldInd); newInd=parseInt(newInd); - if (newInd=ind; i--) - row._childIndexes[i]=i?(row._childIndexes[i-1]+1):0; - row._childIndexes[ind]--; - } - else - for (var i = row._childIndexes.length; i >= ind; i--) - row._childIndexes[i]=i?(row._childIndexes[i-1]+1):0; - var cind=row._childIndexes[ind]; - } - var c=row.childNodes[cind]; - var z=document.createElement((mod)?"TD":"TH"); - if (mod) { z._attrs={}; } //necessary for code compressor - else z.style.width=(parseInt(this.cellWidthPX[ind])||"100")+"px"; - if (c) - row.insertBefore(z,c); - else - row.appendChild(z); - - if (this.dragAndDropOff && row.idd) this.dragger.addDraggableItem(row.childNodes[cind],this); - - for (var i=cind+1; i1 && c.parentNode.idd){ - var t=c.colSpan-1; - var v=this.cells4(c).getValue(); - this.setColspan(c.parentNode.idd,c._cellIndex,1) - if (t>1){ - var cind=c._cellIndex*1; - this.setColspan(c.parentNode.idd,cind+1,t) - this.cells(c.parentNode.idd,c._cellIndex*1+1).setValue(v) - row._childIndexes.splice(cind,1) - for (var i=cind; i < row._childIndexes.length; i++) - row._childIndexes[i]-=1; - - } - } else if (row._childIndexes){ - row._childIndexes.splice(aind,1); - for (var i=aind; i0.5){ - he.className+=" columnTargetR"; - grid._colInMove._bIndex=el._cellIndexS; - } - else { - he.className+=" columnTargetL"; - grid._colInMove._bIndex=el._cellIndexS-1; - } - if (he.offsetLeft<(grid.objBox.scrollLeft+20)) - grid.objBox.scrollLeft=Math.max(0,he.offsetLeft-20); - - if ((he.offsetLeft+he.offsetWidth-grid.objBox.scrollLeft)>(grid.objBox.offsetWidth-20)) - grid.objBox.scrollLeft=Math.min(grid.objBox.scrollLeft+he.offsetWidth+20,grid.objBox.scrollWidth-grid.objBox.offsetWidth); - - grid._colInMove._oldHe=he; - } - //prevent selection, or other similar reactions while column draged - e.cancelBubble = true; - return false; - } - return true; -}; -dhtmlXGridObject.prototype._stopColumnMove = function(e){ - e=e||event; - var grid=window.globalActiveDHTMLGridObject; - if ((grid)&&(grid._colInMove)){ - if (typeof(grid._colInMove)=="object"){ - grid._colInMove.parentNode.removeChild(grid._colInMove); - if (grid._colInMove._bIndex!=null) - grid.moveColumn(grid._colInMove._aIndex,grid._colInMove._bIndex+1); - - if (grid._colInMove._oldHe) - grid._colInMove._oldHe.className=grid._colInMove._oldHe.className.replace(/columnTarget(L|R)/g,""); - grid._colInMove._oldHe=null; - grid._colInMove.grid=null; - grid.resized = true; - } - grid._colInMove=0; - } - return true; -}; - - - -//(c)dhtmlx ltd. www.dhtmlx.com - diff --git a/themes/sources4.0/dhtmlxGrid/codebase/ext/dhtmlxgrid_nxml.js b/themes/sources4.0/dhtmlxGrid/codebase/ext/dhtmlxgrid_nxml.js deleted file mode 100644 index b5c5965..0000000 --- a/themes/sources4.0/dhtmlxGrid/codebase/ext/dhtmlxgrid_nxml.js +++ /dev/null @@ -1,612 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/** -* @desc: load grid from CSV file -* @param: path - path to file -* @param: afterCall - function which will be called after xml loading -* @type: public -* @edition: Professional -* @topic: 0 -*/ -dhtmlXGridObject.prototype.loadCSVFile = function(path,afterCall){ - this.load(path,afterCall,"csv") -} - -/** -* @desc: enable mode, where ID for rows loaded from CSV autogenerated -* @param: mode - true/false -* @type: public -* @edition: Professional -* @topic: 0 -*/ -dhtmlXGridObject.prototype.enableCSVAutoID = function(mode){ - this._csvAID=convertStringToBoolean(mode); -} -/** -* @desc: enable recognizing first row in CSV as header -* @param: mode - true/false -* @type: public -* @edition: Professional -* @topic: 0 -*/ -dhtmlXGridObject.prototype.enableCSVHeader = function(mode){ - this._csvHdr=convertStringToBoolean(mode); -} - -/** -* @desc: load grid from CSV string -* @param: str - delimer used in CSV operations, comma by default ( only single char delimeters allowed ) -* @type: public -* @edition: Professional -* @topic: 0 -*/ -dhtmlXGridObject.prototype.setCSVDelimiter = function(str){ - this.csv.cell=str; -} -dhtmlXGridObject.prototype._csvAID = true; - -/** -* @desc: load grid from CSV string -* @param: str - CSV string -* @type: public -* @edition: Professional -* @topic: 0 -*/ -dhtmlXGridObject.prototype.loadCSVString = function(str){ - this.parse(str,"csv") -} - -/** -* @desc: serialize to CSV string -* @type: public -* @param: text only - force serialization of text values ( skip HTML elements ) ) -* @edition: Professional -* @topic: 0 -*/ -dhtmlXGridObject.prototype.serializeToCSV = function(textmode){ - this.editStop() - if (this._mathSerialization) - this._agetm="getMathValue"; - else if (this._strictText || textmode) - this._agetm="getTitle"; - else this._agetm="getValue"; - - var out=[]; - if (this._csvHdr){ - for (var j=1; j < this.hdr.rows.length; j++) { - var a=[]; - for (var i=0; iind && start) start--; - - - for(var jj=start;ind=end) break; - } - if (ind>=end) break; - ind++; - /* if (zx.getText) - zxVal=zx.getText(); - else*/ - if (zx.cell) - zxVal=zx[this._agetm](); - else zxVal=""; - - - if ((this._chAttr)&&(zx.wasChanged())) - changeFl=true; - - out[out.length]=((zxVal===null)?"":zxVal) -//#colspan:20092006{ - if ( this._ecspn && cvx.colSpan && cvx.colSpan >1 ){ - cvx=cvx.colSpan-1; - for (var u=0; u0 && !out[last].length) - out.splice(last,1); - - return out; - }, - str:function(data,cell,row){ - for (var i=0; i < data.length; i++) - data[i] = '"'+data[i].replace(this._quote, "\\\"")+'"'; - return data.join(cell); - } -}; - -/** -* @desc: add new row from clipboard -* @type: public -* @edition: Professional -* @topic: 5 -*/ -dhtmlXGridObject.prototype.addRowFromClipboard = function(){ - var csv=this.fromClipBoard(); - if (!csv) return; - var z=this.csvParser.unblock(csv, this.csv.cell, this.csv.row); - for (var i=0; i"; - if (!this.parentGrid) html+=(before||""); - html += ''; - var row_length = Math.max(this.rowsBuffer.length,this.rowsCol.length); //paging and smartrendering - var col_length = this._cCount; - var width = this._printWidth(); - html += ''; - for (var i=0; i'+this.getHeaderCol(i)+''; - i+=colspan-1; - } - html += ''; - - for (var i=2; i"; - var cells=this.hdr.rows[i].childNodes; - for (var j=0; j < cells.length; j++) - if (!this._hrrar || !this._hrrar[cells[j]._cellIndex]){ - html+=cells[j].outerHTML; - } - html+=""; - } - else - html+=""+(this._fake?this._fake.hdr.rows[i].innerHTML:"")+this.hdr.rows[i].innerHTML+""; - } - - for (var i=0; i]*>/gi,"")+''; - continue; - } - if (this.rowsCol[i] && this.rowsCol[i].style.display=="none") continue; - - var row_id - if (this.rowsCol[i]) - row_id=this.rowsCol[i].idd; - else if (this.rowsBuffer[i]) - row_id=this.rowsBuffer[i].idd; - else continue; //dyn loading - - for (var j=0; j'+(value===""?" ":value)+''; - if (cspan) j+=cspan-1; - } - html += ''; - if (this.rowsCol[i] && this.rowsCol[i]._expanded){ - var sub=this.cells4(this.rowsCol[i]._expanded.ctrl); - if (sub.getSubGrid) - html += ''; - else - html += ''; - } - } - - if (this.ftr) - for (var i=1; i"; - - - html += '
              '+sub.getSubGrid().printView()+'
              '+this.rowsCol[i]._expanded.innerHTML+'
              '; - if (this.parentGrid) return html; - - html+=(after||""); - var d = window.open('', '_blank'); - d.document.write(html); - d.document.write(""); - d.document.close(); - if (this._fake) { - this._hrrar=st_hr; - } -} -dhtmlXGridObject.prototype._printWidth=function(){ - var width = []; - var total_width = 0; - for (var i=0; i[from]-[to] of [total]"); - } - } - - var details=this.getStateOfView(); - this.pagingBlock.innerHTML = this._pgn_templateA.apply(this,details); - this.recordInfoBlock.innerHTML = this._pgn_templateB.apply(this,details); - this._pgn_template_active(this.pagingBlock); - this._pgn_template_active(this.recordInfoBlock); - - this.callEvent("onPaging",[]); -} - -dhtmlXGridObject.prototype._pgn_block=function(sep){ - var start=Math.floor((this.currentPage-1)/this.pagesInGroup)*this.pagesInGroup; - var max=Math.min(Math.ceil(this.rowsBuffer.length/this.rowsBufferOutSize),start+this.pagesInGroup); - var str=[]; - for (var i=start+1; i<=max; i++) - if (i==this.currentPage) - str.push(""+i+""); - else - str.push(""+i+""); - return str.join(sep); -} -dhtmlXGridObject.prototype._pgn_link=function(mode,ac,ds){ - if (mode=="prevpages" || mode=="prev"){ - if (this.currentPage==1) return ds; - return ''+ac+'' - } - - if (mode=="nextpages" || mode=="next"){ - if (this.rowsBuffer.length/this.rowsBufferOutSize <= this.currentPage ) return ds; - if (this.rowsBuffer.length/(this.rowsBufferOutSize*(mode=="next"?'1':this.pagesInGroup)) <= 1 ) return ds; - return ''+ac+'' - } - - if (mode=="current"){ - var i=this.currentPage+(ac?parseInt(ac):0); - if (i<1 || Math.ceil(this.rowsBuffer.length/this.rowsBufferOutSize) < i ) return ds; - return ''+i+'' - } - return ac; -} - -dhtmlXGridObject.prototype._pgn_template_active=function(block){ - var tags=block.getElementsByTagName("A"); - if (tags) - for (var i=0; i < tags.length; i++) { - tags[i].grid=this; - }; -} -dhtmlXGridObject.prototype._pgn_template_compile=function(template){ - /* - [prev],[next] - [currentpages] - [from],[to],[total] - */ - template=template.replace(/\[([^\]]*)\]/g,function(a,b){ - b=b.split(":"); - switch (b[0]){ - case "from": - return '"+(arguments[1]*1+(arguments[2]*1?1:0))+"'; - case "total": - return '"+arguments[3]+"'; - case "to": - return '"+arguments[2]+"'; - case "current": - case "prev": - case "next": - case "prevpages": - case "nextpages": - return '"+this._pgn_link(\''+b[0]+'\',\''+b[1]+'\',\''+b[2]+'\')+"' - case "currentpages": - return '"+this._pgn_block(\''+b[1]+'\')+"' - } - //do it here - }) - return new Function('return "'+template+'";') -} - -dhtmlXGridObject.prototype.i18n.paging={ - results:"Results", - records:"Records from ", - to:" to ", - page:"Page ", - perpage:"rows per page", - first:"To first Page", - previous:"Previous Page", - found:"Found records", - next:"Next Page", - last:"To last Page", - of:" of ", - notfound:"No Records Found" -} -/** -* @desc: configure paging with toolbar mode ( must be called BEFORE enablePaging) -* @param: navButtons - enable/disable navigation buttons -* @param: navLabel - enable/disable navigation label -* @param: pageSelect - enable/disable page selector -* @param: perPageSelect - an array of "per page" select options ([5,10,15,20,25,30] by default) -* @type: public -* @edition: Professional -*/ -dhtmlXGridObject.prototype.setPagingWTMode = function(navButtons,navLabel,pageSelect,perPageSelect){ - this._WTDef=[navButtons,navLabel,pageSelect,perPageSelect]; -} -/** -* @desc: Bricks skin for paging -*/ -dhtmlXGridObject.prototype._pgn_bricks = function(page, start, end){ - //set class names depending on grid skin - var tmp = (this.skin_name||"").split("_")[1]; - var sfx=""; - if(tmp=="light" || tmp=="modern" || tmp=="skyblue") - sfx = "_"+tmp; - - this.pagerElAr = new Array(); - this.pagerElAr["pagerCont"] = document.createElement("DIV"); - this.pagerElAr["pagerBord"] = document.createElement("DIV"); - this.pagerElAr["pagerLine"] = document.createElement("DIV"); - this.pagerElAr["pagerBox"] = document.createElement("DIV"); - this.pagerElAr["pagerInfo"] = document.createElement("DIV"); - this.pagerElAr["pagerInfoBox"] = document.createElement("DIV"); - var se = (this.globalBox||this.objBox); - this.pagerElAr["pagerCont"].style.width = se.clientWidth+"px"; - this.pagerElAr["pagerCont"].style.overflow = "hidden"; - this.pagerElAr["pagerCont"].style.clear = "both"; - this.pagerElAr["pagerBord"].className = "dhx_pbox"+sfx; - this.pagerElAr["pagerLine"].className = "dhx_pline"+sfx; - this.pagerElAr["pagerBox"].style.clear = "both"; - this.pagerElAr["pagerInfo"].className = "dhx_pager_info"+sfx; - - //create structure - this.pagerElAr["pagerCont"].appendChild(this.pagerElAr["pagerBord"]); - this.pagerElAr["pagerCont"].appendChild(this.pagerElAr["pagerLine"]); - this.pagerElAr["pagerCont"].appendChild(this.pagerElAr["pagerInfo"]); - this.pagerElAr["pagerLine"].appendChild(this.pagerElAr["pagerBox"]); - this.pagerElAr["pagerInfo"].appendChild(this.pagerElAr["pagerInfoBox"]); - this._pgn_parentObj.innerHTML = ""; - this._pgn_parentObj.appendChild(this.pagerElAr["pagerCont"]); - - - - - if(this.rowsBuffer.length>0){ - var lineWidth = 20; - var lineWidthInc = 22; - - //create left arrow if needed - if(page>this.pagesInGroup){ - var pageCont = document.createElement("DIV"); - var pageBox = document.createElement("DIV"); - pageCont.className = "dhx_page"+sfx; - pageBox.innerHTML = "←"; - pageCont.appendChild(pageBox); - this.pagerElAr["pagerBox"].appendChild(pageCont); - var self = this; - pageCont.pgnum = (Math.ceil(page/this.pagesInGroup)-1)*this.pagesInGroup; - pageCont.onclick = function(){ - self.changePage(this.pgnum); - } - lineWidth +=lineWidthInc; - } - //create pages - for(var i=1;i<=this.pagesInGroup;i++){ - var pageCont = document.createElement("DIV"); - var pageBox = document.createElement("DIV"); - pageCont.className = "dhx_page"+sfx; - pageNumber = ((Math.ceil(page/this.pagesInGroup)-1)*this.pagesInGroup)+i; - if(pageNumber>Math.ceil(this.rowsBuffer.length/this.rowsBufferOutSize)) - break; - pageBox.innerHTML = pageNumber; - pageCont.appendChild(pageBox); - if(page==pageNumber){ - pageCont.className += " dhx_page_active"+sfx; - pageBox.className = "dhx_page_active"+sfx; - }else{ - var self = this; - pageCont.pgnum = pageNumber; - pageCont.onclick = function(){ - self.changePage(this.pgnum); - } - } - lineWidth +=(parseInt(lineWidthInc/3)*pageNumber.toString().length)+15; - pageBox.style.width = (parseInt(lineWidthInc/3)*pageNumber.toString().length)+8+"px"; - this.pagerElAr["pagerBox"].appendChild(pageCont); - } - //create right arrow if needed - if(Math.ceil(page/this.pagesInGroup)*this.pagesInGroup0 && this.showRecInfo) - this.pagerElAr["pagerInfoBox"].innerHTML = this.i18n.paging.records+(start+1)+this.i18n.paging.to+end+this.i18n.paging.of+this.rowsBuffer.length; - else if(this.rowsBuffer.length==0){ - this.pagerElAr["pagerLine"].parentNode.removeChild(this.pagerElAr["pagerLine"]); - this.pagerElAr["pagerInfoBox"].innerHTML = this.i18n.paging.notfound; - } - //add whitespaces where necessary - this.pagerElAr["pagerBox"].appendChild(document.createElement("SPAN")).innerHTML = " "; - this.pagerElAr["pagerBord"].appendChild(document.createElement("SPAN")).innerHTML = " "; - this.pagerElAr["pagerCont"].appendChild(document.createElement("SPAN")).innerHTML = " "; - this.callEvent("onPaging",[]); -} - - -/** -* @desc: web toolbar skin for paging -*/ -dhtmlXGridObject.prototype._pgn_toolbar = function(page, start, end){ - if (!this.aToolBar) this.aToolBar = this._pgn_createToolBar(); - var totalPages=Math.ceil(this.rowsBuffer.length/this.rowsBufferOutSize); - - if (this._WTDef[0]){ - this.aToolBar.enableItem("right"); - this.aToolBar.enableItem("rightabs"); - this.aToolBar.enableItem("left"); - this.aToolBar.enableItem("leftabs"); - if(this.currentPage>=totalPages){ - this.aToolBar.disableItem("right"); - this.aToolBar.disableItem("rightabs"); - } - if(this.currentPage==1){ - this.aToolBar.disableItem("left"); - this.aToolBar.disableItem("leftabs"); - } - } - if (this._WTDef[2]){ - var that = this; - this.aToolBar.forEachListOption("pages", function(id){ - that.aToolBar.removeListOption("pages", id); - }); - var w = {dhx_skyblue: 4, dhx_web: 0, dhx_terrace: 14}[this.aToolBar.conf.skin]; - for (var i=0; i"+this.i18n.paging.page+(i+1)+"
              ", "paging_page.gif"); - } - this.aToolBar.setItemText("pages", this.i18n.paging.page+page); - } - // pButton.setSelected(page.toString()) - - - if (this._WTDef[1]){ - if (!this.getRowsNum()) - this.aToolBar.setItemText('results',this.i18n.paging.notfound); - else - this.aToolBar.setItemText('results',"
              "+this.i18n.paging.records+(start+1)+this.i18n.paging.to+end+"
              "); - } - if (this._WTDef[3]) - this.aToolBar.setItemText("perpagenum", this.rowsBufferOutSize.toString()+" "+this.i18n.paging.perpage); - - this.callEvent("onPaging",[]); -} -dhtmlXGridObject.prototype._pgn_createToolBar = function(){ - this.aToolBar = new dhtmlXToolbarObject({ - parent: this._pgn_parentObj, - skin: (this._pgn_skin_tlb||this.skin_name), - icons_path: this.imgURL - }); - if (!this._WTDef) this.setPagingWTMode(true, true, true, true); - var self = this; - this.aToolBar.attachEvent("onClick", function(val){ - val = val.split("_"); - switch (val[0]){ - case "leftabs": - self.changePage(1); - break; - case "left": - self.changePage(self.currentPage-1); - break; - case "rightabs": - self.changePage(99999); - break; - case "right": - self.changePage(self.currentPage+1); - break; - case "perpagenum": - if (val[1]===this.undefined) return; - self.rowsBufferOutSize = parseInt(val[1]); - self.changePage(); - self.aToolBar.setItemText("perpagenum", val[1]+" "+self.i18n.paging.perpage); - break; - case "pages": - if (val[1]===this.undefined) return; - self.changePage(val[1]); - self.aToolBar.setItemText("pages", self.i18n.paging.page+val[1]); - break; - } - }); - // add buttons - if (this._WTDef[0]) { - this.aToolBar.addButton("leftabs", NaN, null, "ar_left_abs.gif", "ar_left_abs_dis.gif"); - this.aToolBar.addButton("left", NaN, null, "ar_left.gif", "ar_left_dis.gif"); - } - if (this._WTDef[1]) { - this.aToolBar.addText("results", NaN, this.i18n.paging.results); - this.aToolBar.setWidth("results", "150"); - this.aToolBar.disableItem("results"); - } - if (this._WTDef[0]) { - this.aToolBar.addButton("right", NaN, null, "ar_right.gif", "ar_right_dis.gif"); - this.aToolBar.addButton("rightabs", NaN, null, "ar_right_abs.gif", "ar_right_abs_dis.gif"); - } - if (this._WTDef[2]) { - if (this.aToolBar.conf.skin == "dhx_terrace") this.aToolBar.addSeparator(); - this.aToolBar.addButtonSelect("pages", NaN, "select page", [], "paging_pages.gif", null, false, true); - } - var arr; - if (arr = this._WTDef[3]) { - if (this.aToolBar.conf.skin == "dhx_terrace") this.aToolBar.addSeparator(); - this.aToolBar.addButtonSelect("perpagenum", NaN, "select size", [], "paging_rows.gif", null, false, true); - if (typeof arr != "object") arr = [5,10,15,20,25,30]; - var w = {dhx_skyblue: 4, dhx_web: 0, dhx_terrace: 18}[this.aToolBar.conf.skin]; - for (var k=0; k"+arr[k]+" "+this.i18n.paging.perpage+"
              ", "paging_page.gif"); - } - } - - //var td = document.createElement("TD"); td.width = "5"; this.aToolBar.tr.appendChild(td); - //var td = document.createElement("TD"); td.width = "100%"; this.aToolBar.tr.appendChild(td); - - return this.aToolBar; -} \ No newline at end of file diff --git a/themes/sources4.0/dhtmlxGrid/codebase/ext/dhtmlxgrid_pivot.js b/themes/sources4.0/dhtmlxGrid/codebase/ext/dhtmlxgrid_pivot.js deleted file mode 100644 index 24a0079..0000000 --- a/themes/sources4.0/dhtmlxGrid/codebase/ext/dhtmlxgrid_pivot.js +++ /dev/null @@ -1,314 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/** -* @desc: hide pivot table related to grid, if any exists, switch grid back to normal mode -* @type: public -* @topic: 0 -*/ - -dhtmlXGridObject.prototype.hidePivot=function(cont){ - if (this._pgridCont){ - if (this._pgrid) this._pgrid.destructor(); - var c=this._pgridCont.parentNode; - c.innerHTML=""; - if (c.parentNode==this.entBox) - this.entBox.removeChild(c); - this._pgrid=this._pgridSelect=this._pUNI=this._pgridCont=null; - - } -} -/** -* @desc: show pivot table based on grid -* @type: public -* @param: cont - html container in which pivot rendered, but default pivot will be rendered over existing grid -* details: collection of settings; details.column_list - list of columns used in pivot selects; details.readonly - created pivot with fixed configuration, details.action, details.value, action.x, action.y - default values for 4 pivot's selects -* @topic: 0 -*/ -dhtmlXGridObject.prototype.makePivot=function(cont,details){ - details=details||{}; - this.hidePivot(); - - if (!cont){ - var cont=document.createElement("DIV"); - cont.style.cssText="position:absolute; top:0px; left:0px;background-color:white;"; - cont.style.height=this.entBox.offsetHeight+"px"; - cont.style.width=this.entBox.offsetWidth+"px"; - if (this.entBox.style.position!="absolute") - this.entBox.style.position="relative"; - this.entBox.appendChild(cont); - } - - if (typeof(cont)!="object") cont=document.getElementById(cont) - - if (details.column_list) - this._column_list=details.column_list; - else{ - this._column_list=[]; - for (var i=0; i= 0; i--) - if (resA[i]==av && resB[i]==bv) - ret+=this.parseFloat(resC[i]); - return ret; -} -dhtmlXGridObject.prototype._pivot_action_1=function(a,b,c,av,bv,data){ - ret=9999999999; - var resA=data[a]; - var resB=data[b]; - var resC=data[c]; - - for (var i = resA.length - 1; i >= 0; i--) - if (resA[i]==av && resB[i]==bv) - ret=Math.min(this.parseFloat(resC[i]),ret); - if (ret==9999999999) ret=""; - return ret; -} -dhtmlXGridObject.prototype._pivot_action_2=function(a,b,c,av,bv,data){ - - ret=-9999999999; - var resA=data[a]; - var resB=data[b]; - var resC=data[c]; - for (var i = resA.length - 1; i >= 0; i--) - if (resA[i]==av && resB[i]==bv) - ret=Math.max(this.parseFloat(resC[i]),ret); - if (ret==-9999999999) ret=""; - return ret; -} -dhtmlXGridObject.prototype._pivot_action_3=function(a,b,c,av,bv,data){ - var ret=0; - var count=0; - var resA=data[a]; - var resB=data[b]; - var resC=data[c]; - for (var i = resA.length - 1; i >= 0; i--) - if (resA[i]==av && resB[i]==bv) { - ret+=this.parseFloat(resC[i]); - count++; - } - return count?ret/count:""; -} -dhtmlXGridObject.prototype._pivot_action_4=function(a,b,c,av,bv,data){ - var ret=0; - var count=0; - var resA=data[a]; - var resB=data[b]; - var resC=data[c]; - for (var i = resA.length - 1; i >= 0; i--) - if (resA[i]==av && resB[i]==bv) { - ret++; - } - return ret; -} -dhtmlXGridObject.prototype.parseFloat = function(val){ - val = parseFloat(val); - if (isNaN(val)) return 0; - return val; -} - -dhtmlXGridObject.prototype._renderPivot2=function(){ - if (!(this._pivotS.x && this._pivotS.y && this._pivotS.value && this._pivotS.action)) return; - - var action=this["_pivot_action_"+this._pivotS.action]; - var x=this._getUniList(this._pivotS.x); - var y=this._getUniList(this._pivotS.y); - - for (var i=0; i < x.length; i++) { - for (var j=0; j < y.length; j++) { - this._pgrid.cells2(j,i+1).setValue(Math.round(action(this._pivotS.x,this._pivotS.y,this._pivotS.value,x[i],y[j],this._pData)*100)/100); - }; - - }; -} - - -dhtmlXGridObject.prototype._getUniList=function(col){ - if (!this._pUNI[col]){ - var t={}; - var a=[]; - for (var i = this._pData[col].length - 1; i >= 0; i--){ - t[this._pData[col][i]]=true; - } - for (var n in t) - if (t[n]===true) a.push(n); - this._pUNI[col]=a.sort(); - } - - return this._pUNI[col]; -} - -dhtmlXGridObject.prototype._fillPivotList=function(z,list,miss,v){ - if (!miss){ - miss={}; - v=-1; - } - z.innerHTML=""; - z.options[z.options.length]=new Option("-select-",-1); - for (var i=0; ipos) - r._childIndexes[z]=r._childIndexes[z]-ind; - -} - -/** -* @desc: enable rowspan in grid -* @type: public -* @edition: professional -*/ -dhtmlXGridObject.prototype.enableRowspan=function(){ - this._erspan=true; - this.enableRowspan=function(){}; - this.attachEvent("onAfterSorting",function(){ - if (this._dload) return; //can't be helped - for (var i=1; i4?diffX-4:0) + 'px'; - this._selectionObj.style.height = (diffY>4?diffY-4:0) + 'px'; - - -/* AUTO SCROLL */ - var BottomRightX = this.objBox.scrollLeft + this.objBox.clientWidth; - var BottomRightY = this.objBox.scrollTop + this.objBox.clientHeight; - var TopLeftX = this.objBox.scrollLeft; - var TopLeftY = this.objBox.scrollTop; - - var nextCall=false; - if (this._blsTimer) window.clearTimeout(this._blsTimer); - - if (X+20 >= BottomRightX) { - this.objBox.scrollLeft = this.objBox.scrollLeft+20; - nextCall=true; - } else if (X-20 < TopLeftX) { - this.objBox.scrollLeft = this.objBox.scrollLeft-20; - nextCall=true; - } - if (Y+20 >= BottomRightY && !this._realfake) { - this.objBox.scrollTop = this.objBox.scrollTop+20; - nextCall=true; - } else if (Y-20 < TopLeftY && !this._realfake) { - this.objBox.scrollTop = this.objBox.scrollTop-20; - nextCall=true; - } - this._selectionArea = this._RedrawSelectionPos(this._startSelectionCell, this._endSelectionCell); - - - if (nextCall){ - var a=event.clientX; - var b=event.clientY; - this._blsTimer=window.setTimeout(function(){self._OnSelectionMove({clientX:a,clientY:b})},100); - } - -} - -dhtmlXGridObject.prototype._OnSelectionStop = function(event) -{ - var self = this; - if (this._blsTimer) window.clearTimeout(this._blsTimer); - this.obj.onmousedown = function(e) {if (self._bs_mode) self._OnSelectionStart((e||event), this); return true;} - this.obj.onmousemove = this.obj.onmmold||null; - this._selectionObj.onmousemove = null; - document.body.onmouseup = this._oldDMP||null; - if ( parseInt( this._selectionObj.style.width ) < 2 && parseInt( this._selectionObj.style.height ) < 2) { - this._HideSelection(); - } else { - var src = this.getFirstParentOfType(event.srcElement || event.target,"TD"); - if ((!src) || (!src.parentNode.idd)){ - src=this._endSelectionCell; - } - while (src && (!src.tagName || src.tagName.toLowerCase() != 'td')) - src = src.parentNode; - if (!src) return this._HideSelection(); - this._stopSelectionCell = src; - this._selectionArea = this._RedrawSelectionPos(this._startSelectionCell, this._stopSelectionCell); - this.callEvent("onBlockSelected",[]); - } - document.body.onselectstart = function(){};//avoid text select -} - -dhtmlXGridObject.prototype._RedrawSelectionPos = function(LeftTop, RightBottom) -{ - -// td._cellIndex -// -// getRowIndex - var pos = {}; - pos.LeftTopCol = LeftTop._cellIndex; - pos.LeftTopRow = this.getRowIndex( LeftTop.parentNode.idd ); - pos.RightBottomCol = RightBottom._cellIndex; - pos.RightBottomRow = this.getRowIndex( RightBottom.parentNode.idd ); - - var LeftTop_width = LeftTop.offsetWidth; - var LeftTop_height = LeftTop.offsetHeight; - LeftTop = this.getPosition(LeftTop, this.obj); - - var RightBottom_width = RightBottom.offsetWidth; - var RightBottom_height = RightBottom.offsetHeight; - RightBottom = this.getPosition(RightBottom, this.obj); - - if (LeftTop[0] < RightBottom[0]) { - var Left = LeftTop[0]; - var Right = RightBottom[0] + RightBottom_width; - } else { - var foo = pos.RightBottomCol; - pos.RightBottomCol = pos.LeftTopCol; - pos.LeftTopCol = foo; - var Left = RightBottom[0]; - var Right = LeftTop[0] + LeftTop_width; - } - - if (LeftTop[1] < RightBottom[1]) { - var Top = LeftTop[1]; - var Bottom = RightBottom[1] + RightBottom_height; - } else { - var foo = pos.RightBottomRow; - pos.RightBottomRow = pos.LeftTopRow; - pos.LeftTopRow = foo; - var Top = RightBottom[1]; - var Bottom = LeftTop[1] + LeftTop_height; - } - - var Width = Right - Left; - var Height = Bottom - Top; - - this._selectionObj.style.left = Left + 'px'; - this._selectionObj.style.top = Top + 'px'; - this._selectionObj.style.width = Width + 'px'; - this._selectionObj.style.height = Height + 'px'; - return pos; -} - -dhtmlXGridObject.prototype._CreateSelection = function(x, y) -{ - if (this._selectionObj == null) { - var div = document.createElement('div'); - div.style.position = 'absolute'; - div.style.display = 'none'; - div.className = 'dhtmlxGrid_selection'; - this._selectionObj = div; - this._selectionObj.onmousedown = function(e){ - e=e||event; - if (e.button==2 || (_isMacOS&&e.ctrlKey)) - return this.parentNode.grid.callEvent("onBlockRightClick", ["BLOCK",e]); - } - this._selectionObj.oncontextmenu=function(e){(e||event).cancelBubble=true;return false;} - this.objBox.appendChild(this._selectionObj); - } - //this._selectionObj.style.border = '1px solid #83abeb'; - this._selectionObj.style.width = '0px'; - this._selectionObj.style.height = '0px'; - //this._selectionObj.style.border = '0px'; - this._selectionObj.style.left = x + 'px'; - this._selectionObj.style.top = y + 'px'; - this._selectionObj.startX = x; - this._selectionObj.startY = y; -} - -dhtmlXGridObject.prototype._ShowSelection = function() -{ - if (this._selectionObj) - this._selectionObj.style.display = ''; -} - -dhtmlXGridObject.prototype._HideSelection = function() -{ - - if (this._selectionObj) - this._selectionObj.style.display = 'none'; - this._selectionArea = null; - this._clip_area.value=""; - this._clip_area.blur(); -} -/** -* @desc: copy content of block selection into clipboard in csv format (delimiter as set for csv serialization) -* @type: public -* @topic: 0 -*/ -dhtmlXGridObject.prototype.copyBlockToClipboard = function() -{ - if ( this._selectionArea != null ) { - var serialized = new Array(); - if (this._mathSerialization) - this._agetm="getMathValue"; - else if (this._strictText) - this._agetm="getTitle"; - else this._agetm="getValue"; - - this._serialize_visible = true; - - for (var i=this._selectionArea.LeftTopRow; i<=this._selectionArea.RightBottomRow; i++) { - var data = this._serializeRowToCVS(this.rowsBuffer[i], null, this._selectionArea.LeftTopCol, this._selectionArea.RightBottomCol+1); - if (!this._csvAID) - serialized[serialized.length] = data.substr( data.indexOf( this.csv.cell ) + 1 ); //remove row ID and add to array - else - serialized[serialized.length] = data; - } - serialized = serialized.join(this._CSVRowDelimiter); - - this._clip_area.value = serialized; - this._clip_area.select(); - - this._serialize_visible = false; - } -} -/** -* @desc: paste content of clipboard into block selection of grid -* @type: public -* @topic: 0 -*/ -dhtmlXGridObject.prototype.pasteBlockFromClipboard = function(){ - this._clip_area.select(); - var self = this; - window.setTimeout(function(){ - self._pasteBlockFromClipboard(); - self=null; - },1); -} -dhtmlXGridObject.prototype._pasteBlockFromClipboard = function() -{ - var serialized = this._clip_area.value; - if (this._selectionArea != null) { - var startRow = this._selectionArea.LeftTopRow; - var startCol = this._selectionArea.LeftTopCol; - } else if (this.cell != null && !this.editor) { - var startRow = this.getRowIndex( this.cell.parentNode.idd ); - var startCol = this.cell._cellIndex; - } else { - return false; - } - - serialized = this.csvParser.unblock(serialized, this.csv.cell, this.csv.row); - // if ((serialized.length >1)&&(serialized[serialized.length-1]=="")) - // serialized.splice(serialized.length-1,1); - - // if (serialized[serialized.length-1]=="") serialized.pop(); - /* for (var i=0; i this._cCount) - endCol = this._cCount; - var k = 0; - for (var i=startRow; i=0; i--) - rightBox.insertBefore(this.entBox.childNodes[i],rightBox.firstChild); - - this.entBox.style.position="relative"; - this.globalBox=this.entBox; - this.entBox=rightBox; rightBox.grid=this; - - - leftBox.style.cssText+="border:0px solid red !important;"; - rightBox.style.cssText+="border:0px solid red !important;"; - - rightBox.style.top="0px"; - rightBox.style.position="absolute"; - - leftBox.style.position="absolute"; - leftBox.style.top="0px"; - leftBox.style.left="0px"; - leftBox.style.zIndex=11; - - rightBox.style.height=leftBox.style.height=this.globalBox.clientHeight; - - - this._fake=new dhtmlXGridObject(leftBox); - - this.globalBox=this._fake.globalBox=this.globalBox; - this._fake._fake=this; - this._fake._realfake=true; - - //copy properties - this._treeC=this.cellType._dhx_find("tree"); - this._fake.delim=this.delim; - this._fake.customGroupFormat=this.customGroupFormat; - - this._fake.setImagesPath(this._imgURL); - this._fake.iconURL = this.iconURL; - this._fake._customSorts=this._customSorts; - this._fake.noHeader=this.noHeader; - this._fake._enbTts=this._enbTts; - this._fake._htkebl = this._htkebl; - this._fake.clists = this.clists; - this._fake.fldSort=new Array(); - this._fake.selMultiRows=this.selMultiRows; - this._fake.multiLine=this.multiLine; - - if (this.multiLine || this._erspan){ - this.attachEvent("onCellChanged",this._correctRowHeight); - this.attachEvent("onRowAdded",this._correctRowHeight); - var corrector=function(){ - this.forEachRow(function(id){ - this._correctRowHeight(id); - }) - }; - this.attachEvent("onPageChanged",corrector); - this.attachEvent("onXLE",corrector); - this.attachEvent("onResizeEnd",corrector); - if (!this._ads_count) //in case of distribute parsing - use special event instead - this.attachEvent("onAfterSorting",corrector); - if (this._srnd) - this.attachEvent("onFilterEnd", corrector); - this.attachEvent("onDistributedEnd",corrector); - - //this._fake.attachEvent("onCellChanged",this._correctRowHeight); - } - this.attachEvent("onGridReconstructed",function(){ - this._fake.objBox.scrollTop = this.objBox.scrollTop; - }) - - this._fake.loadedKidsHash=this.loadedKidsHash; - if (this._h2) this._fake._h2=this._h2; - this._fake._dInc=this._dInc; - - //collect grid configuraton - var b_ha=[[],[],[],[],[],[],[]]; - var b_ar=["hdrLabels","initCellWidth","cellType","cellAlign","cellVAlign","fldSort","columnColor"]; - var b_fu=["setHeader","setInitWidths","setColTypes","setColAlign","setColVAlign","setColSorting","setColumnColor"]; - - this._fake.callEvent=function(){ - var result = true; - this._fake._split_event=true; - var hidden = (arguments[0] == "onScroll"); - if (arguments[0]=="onGridReconstructed" || hidden) - this._fake.callEvent.apply(this,arguments); - - if (!hidden) result = this._fake.callEvent.apply(this._fake,arguments); - this._fake._split_event=false; - return result; - } - - if (this._elmn) - this._fake.enableLightMouseNavigation(true); - - if (this.__cssEven||this._cssUnEven) - this._fake.attachEvent("onGridReconstructed",function(){ - this._fixAlterCss(); - }); - - this._fake._cssEven=this._cssEven; - this._fake._cssUnEven=this._cssUnEven; - this._fake._cssSP=this._cssSP; - this._fake.isEditable=this.isEditable; - this._fake._edtc=this._edtc; - if (this._sst) this._fake.enableStableSorting(true); - - this._fake._sclE=this._sclE; - this._fake._dclE=this._dclE; - this._fake._f2kE=this._f2kE; - this._fake._maskArr=this._maskArr; - this._fake._dtmask=this._dtmask; - this._fake.combos=this.combos; - - var width=0; - - var m_w=this.globalBox.offsetWidth; - for (var i=0; i1){ - temp_rspan[r._cellIndex]=r.rowSpan-1; - frows[i-1].cells[frows[i-1]._childIndexes?frows[i-1]._childIndexes[k]:k].rowSpan=r.rowSpan; - r.rowSpan=1; - } - } - - for (i; i= 1.9 ) || _isOpera) { - var td=document.createElement("TD"); - if (_isFF) td.style.display="none"; - rows[i].insertBefore(td,rows[i].cells[0]) - } - - r_cor++; - continue; - } - - var a=frows[i].cells[j-r_cor]; - var b=rows[i].cells[j-(_isIE?0:r_cor)]; - var t=b.rowSpan; - - change_td(a,b); - if (t>1){ - temp_rspan[j]=t-1; - b.rowSpan=t; - } - if (frows[i].cells[j].colSpan>1){ - rows[i].cells[j].colSpan=frows[i].cells[j].colSpan; - max_ind-=frows[i].cells[j].colSpan-1; - for (var k=1; k < frows[i].cells[j].colSpan; k++) - frows[i].removeChild(frows[i].cells[j+1]); - } - } - } - } - - if (this.hdr.rows.length>2) - proc_hf.call(this,2,this.hdr.rows,"_aHead",this._fake.hdr.rows); - if (this.ftr){ - proc_hf.call(this,1,this.ftr.childNodes[0].rows,"_aFoot"); - this._fake.ftr.parentNode.style.bottom=(_isFF?2:1)+"px"; - } - - - if (this.saveSizeToCookie){ - this.saveSizeToCookie=function(name,cookie_param){ - if (this._realfake) - return this._fake.saveSizeToCookie.apply(this._fake,arguments); - - if (!name) name=this.entBox.id; - var z=new Array(); - var n="cellWidthPX"; - - for (var i=0; ir_ind) - x.removeChild(x.childNodes[x.childNodes.length-1]); - var zm=r_ind; - for (var i=0; i1) - this._childIndexes=this._fake._childIndexes; - } - - if (this._h2 && this._treeC < ind){ - var trow=this._h2.get[arguments[0].idd]; - x.imgTag=x.childNodes[this._treeC].childNodes[0].childNodes[trow.level]; - x.valTag=x.childNodes[this._treeC].childNodes[0].childNodes[trow.level+2]; - } - - - x.idd=row.idd; - x.grid=this._fake; - - return x; - } - - var zname="_insertRowAt"; - this._bfs_insertRowAt=this[zname]; - this[zname]=function(){ - var r=this["_bfs_insertRowAt"].apply(this,arguments); - arguments[0]=this.copy_row(arguments[0]); - - var r2=this._fake["_insertRowAt"].apply(this._fake,arguments); - if (r._fhd){ - r2.parentNode.removeChild(r2); - this._fake.rowsCol._dhx_removeAt(this._fake.rowsCol._dhx_find(r2)); - r._fhd=false; - } - - return r; - } - /* -var quirks = (_isIE && document.compatMode=="BackCompat"); - - var isVScroll = this.parentGrid?false:(this.objBox.scrollHeight > this.objBox.offsetHeight); - var isHScroll = this.parentGrid?false:(this.objBox.scrollWidth > this.objBox.offsetWidth); - var scrfix = _isFF?20:18; - - var outerBorder=(this.entBox.offsetWidth-this.entBox.clientWidth)/2; - - var gridWidth=this.entBox.clientWidth; - var gridHeight=this.entBox.clientHeight; - */ - this._bfs_setSizes=this.setSizes; - this.setSizes=function(){ - if (this._notresize) return; - this._bfs_setSizes(this,arguments); - - this.sync_headers() - if (this.sync_scroll() && this._ahgr) this.setSizes(); //if scrolls was removed - check once more to correct auto-height - - var height = this.dontSetSizes ? (this.entBox.offsetHeight+"px") : this.entBox.style.height; - this._fake.entBox.style.height = height; - - this._fake.objBox.style.height=this.objBox.style.height; - this._fake.hdrBox.style.height=this.hdrBox.style.height; - - this._fake.objBox.scrollTop=this.objBox.scrollTop; - - this._fake.setColumnSizes(this._fake.entBox.clientWidth); - - this.globalBox.style.width=parseInt(this.entBox.style.width)+parseInt(this._fake.entBox.style.width); - if (!this.dontSetSizes) - this.globalBox.style.height = height; - - } - - this.sync_scroll=this._fake.sync_scroll=function(end){ - var old=this.objBox.style.overflowX; - if (this.obj.offsetWidth<=this.objBox.offsetWidth) - { - if (!end) return this._fake.sync_scroll(true); - this.objBox.style.overflowX="hidden"; - this._fake.objBox.style.overflowX="hidden"; - } - else if (!dhtmlx.$customScroll){ - this.objBox.style.overflowX="scroll"; - this._fake.objBox.style.overflowX="scroll"; - } - return old!=this.objBox.style.overflowX; - } - this.sync_headers=this._fake.sync_headers=function(){ - if (this.noHeader || (this._fake.hdr.scrollHeight==this.hdr.offsetHeight)) return; - // if (this.hdr.rows.length!=2){ - for (var i=1; i=ind); - if (!arguments[0].parentNode.idd) return; - if (!fl) - arguments[0].className=arguments[0].className.replace(/cellselected/g,""); - //item selected but it left part not rendered yet - if (!this._fake.rowsAr[arguments[0].parentNode.idd]) - this._fake.render_row(this.getRowIndex(arguments[0].parentNode.idd)); - arguments[0]=this._fake.cells(arguments[0].parentNode.idd,(fl?0:arguments[0]._cellIndex)).cell; - if (fl) this._fake.cell=null; - this._fake["_bfs_doClick"].apply(this._fake,arguments); - if (fl) this._fake.cell=this.cell; - else this.cell=this._fake.cell; - if (this._fake.onRowSelectTime) clearTimeout(this._fake.onRowSelectTime) - if (fl) { - arguments[0].className=arguments[0].className.replace(/cellselected/g,""); - globalActiveDHTMLGridObject=this; - this._fake.cell=this.cell; - } - else{ - this.objBox.scrollTop=this._fake.objBox.scrollTop; - } - } - } - this._fake._bfs_doClick=this._fake[zname]; - this._fake[zname]=function(){ - this["_bfs_doClick"].apply(this,arguments); - if (arguments[0].tagName=="TD"){ - var fl=(arguments[0]._cellIndex0 )){ - arguments[3]=(this._initalSplF||arguments[3]); - z=this.doColResizeA.apply(this,arguments); - } - else - z=this.doColResizeA.apply(this,arguments); - } - else{ - if (this.obj.offsetWidth=ind) - this._fake.setSortImgState(false) -}); - - - -this._fake.sortField = function(a,b,c){ - this._fake.sortField.call(this._fake,a,b,this._fake.hdr.rows[0].cells[a]); - if (this.fldSort[a]!="na" && this._fake.fldSorted){ - var mem = this._fake.getSortingState()[1]; - this._fake.setSortImgState(false); - this.setSortImgState(true,arguments[0],mem) - } -} - -this.sortTreeRowsA = this.sortTreeRows; -this._fake.sortTreeRowsA = this._fake.sortTreeRows; -this.sortTreeRows=this._fake.sortTreeRows=function(col,type,order,ar){ - if (this._realfake) return this._fake.sortTreeRows(col,type,order,ar) - - this.sortTreeRowsA(col,type,order,ar); - this._fake._h2syncModel(); - - this._fake.setSortImgStateA(false); - this._fake.fldSorted=null; - } - -/* SRND mode */ -this._fake._fillers=[]; -this._fake.rowsBuffer=this.rowsBuffer; -this.attachEvent("onClearAll",function(){ - this._fake.rowsBuffer=this.rowsBuffer; -}) -this._add_filler_s=this._add_filler; -this._add_filler=function(a,b,c,e){ - - if (!this._fake._fillers) this._fake._fillers=[]; - if (this._realfake || !e){ - var d; - if (c || !this._fake._fillers.length){ - if (c && c.idd) d=this._fake.rowsAr[c.idd]; - else if (c && c.nextSibling) { - d = {}; - d.nextSibling=this._fake.rowsAr[c.nextSibling.idd]; - d.parentNode=d.nextSibling.parentNode; - } - this._fake._fillers.push(this._fake._add_filler(a,b,d)); - } - } - - return this._add_filler_s.apply(this,arguments); -} -this._add_from_buffer_s=this._add_from_buffer; -this._add_from_buffer=function() { - var res=this._add_from_buffer_s.apply(this,arguments); - if (res!=-1){ - this._fake._add_from_buffer.apply(this._fake,arguments); - if (this.multiLine) this._correctRowHeight(this.rowsBuffer[arguments[0]].idd); - } - return res; - } -this._fake.render_row=function(ind){ - var row=this._fake.render_row(ind); - - if (row == -1) return -1; - if (row) { - return this.rowsAr[row.idd]=this.rowsAr[row.idd]||this._fake.copy_row(row); - } - return null; - } -this._reset_view_s=this._reset_view; -this._reset_view=function(){ - this._fake._reset_view(true); - this._fake._fillers=[]; - this._reset_view_s(); - } - -this.moveColumn_s=this.moveColumn; -this.moveColumn=function(a,b){ - if (b>=ind) return this.moveColumn_s(a,b); -} - - -this.attachEvent("onCellChanged",function(id,i,val){ - if (this._split_event && i-1){ - this.entBox.style.width=a+"px"; - this.objBox.style.width=a+"px"; - - var outerBorder=(this.globalBox.offsetWidth-this.globalBox.clientWidth)/2; - this._fake.entBox.style.left=a+"px"; - this._fake.entBox.style.width=Math.max(0,this.globalBox.offsetWidth-a-(this.quirks?0:2)*outerBorder)+"px"; - if (this._fake.ftr) - this._fake.ftr.parentNode.style.width=this._fake.entBox.style.width; - if (_isIE){ - var quirks=_isIE && !window.xmlHttpRequest; - var outerBorder=(this.globalBox.offsetWidth-this.globalBox.clientWidth); - this._fake.hdrBox.style.width=this._fake.objBox.style.width=Math.max(0,this.globalBox.offsetWidth-(quirks?outerBorder:0)-a)+"px"; - } - } -} - -dhtmlXGridObject.prototype._correctRowHeight=function(id,ind){ - if (!this.rowsAr[id] || !this._fake.rowsAr[id]) return; - var h=this.rowsAr[id].offsetHeight; - var h2=this._fake.rowsAr[id].offsetHeight; - var max = Math.max(h,h2); - if (!max) return; - this.rowsAr[id].style.height=this._fake.rowsAr[id].style.height=max+"px"; - if (window._KHTMLrv) { - var j = this._fake._cCount; - var td; - while (!td && j>=0){ - td = this.rowsAr[id].childNodes[j]; - j-=1; - } - var td2 = this._fake.rowsAr[id].firstChild; - if (td && td2) - td.style.height=td2.style.height=max+"px"; - } -} -//(c)dhtmlx ltd. www.dhtmlx.com diff --git a/themes/sources4.0/dhtmlxGrid/codebase/ext/dhtmlxgrid_srnd.js b/themes/sources4.0/dhtmlxGrid/codebase/ext/dhtmlxgrid_srnd.js deleted file mode 100644 index b40b59c..0000000 --- a/themes/sources4.0/dhtmlxGrid/codebase/ext/dhtmlxgrid_srnd.js +++ /dev/null @@ -1,204 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/** -* @desc: enable smart rendering mode -* @type: public -* @param: mode - true|false - enable|disable mode -* @param: buffer - has sense only in dynamic loading mode, count of rows requrested from server by single operation, optional -* @topic: 0 -*/ -dhtmlXGridObject.prototype.enableSmartRendering=function(mode,buffer,reserved){ - if (arguments.length>2){ - if (buffer && !this.rowsBuffer[buffer-1]) this.rowsBuffer[buffer-1]=0; - buffer=reserved; - } - this._srnd=convertStringToBoolean(mode); - this._srdh=this._srdh||20; - this._dpref=buffer||0; - -}; -/** -* @desc: allows to pre-render rows during scrolling, make scrolling more smooth, but with small drop in overall perfomance -* @type: public -* @param: buffer - count of rows, which will be prerendered -* @topic: 0 -*/ -dhtmlXGridObject.prototype.enablePreRendering=function(buffer){ - this._srnd_pr=parseInt(buffer||50); -}; -/** -* @desc: force grid in dyn. srnd mode fully load itself from server side -* @type: public -* @param: buffer - how much rows grid can request from server side in one operation -* @topic: 0 -*/ -dhtmlXGridObject.prototype.forceFullLoading=function(buffer, callback){ - for (var i=0; i 0) { - pxHeight-=this.rowsCol[min]?this.rowsCol[min].offsetHeight:this._srdh; - min++; - } - // Calculate the max - max=min+this._get_view_size(); - if (min>0) min--; - } - max+=(this._srnd_pr||0);//pre-rendering - if (max>this.rowsBuffer.length) max=this.rowsBuffer.length; - - for (var j=min; jind ){ - //filler found - var pos=ind-f[0]; - if (pos==0){ - //start - this._insert_before(ind,row,f[2]); - this._update_fillers(i,-1,1); - } else if (pos == f[1]-1){ - this._insert_after(ind,row,f[2]); - this._update_fillers(i,-1,0); - } else { - this._fillers.push(this._add_filler(ind+1,f[1]-pos-1,f[2],1)); - this._insert_after(ind,row,f[2]); - this._update_fillers(i,-f[1]+pos,0); - } - return; - } - } -} -dhtmlXGridObject.prototype._update_fillers=function(ind,right,left){ - var f=this._fillers[ind]; - f[1]=f[1]+right; - f[0]=f[0]+left; - if (!f[1]){ - this.callEvent("onRemoveFiller",[f[2]]); - f[2].parentNode.removeChild(f[2]); - this._fillers.splice(ind,1); - } else { - f[2].firstChild.style.height=parseFloat(f[2].firstChild.style.height)+right*this._srdh+"px"; - this.callEvent("onUpdateFiller",[f[2]]); - } -} -dhtmlXGridObject.prototype._insert_before=function(ind,row,fil){ - fil.parentNode.insertBefore(row,fil); - this.rowsCol[ind]=row; - this.callEvent("onRowInserted",[row,null,fil,"before"]); -} -dhtmlXGridObject.prototype._insert_after=function(ind,row,fil){ - if (fil.nextSibling) - fil.parentNode.insertBefore(row,fil.nextSibling); - else - fil.parentNode.appendChild(row); - this.rowsCol[ind]=row; - this.callEvent("onRowInserted",[row,null,fil,"after"]); -} diff --git a/themes/sources4.0/dhtmlxGrid/codebase/ext/dhtmlxgrid_ssc.js b/themes/sources4.0/dhtmlxGrid/codebase/ext/dhtmlxgrid_ssc.js deleted file mode 100644 index e64e761..0000000 --- a/themes/sources4.0/dhtmlxGrid/codebase/ext/dhtmlxgrid_ssc.js +++ /dev/null @@ -1,324 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/** -* @desc: enable automatic size saving to cookie -* @param: name - optional, cookie name -* @param: cookie_param - additional parameters added to cookie -* @type: public -* @edition: Professional -* @topic: 0 -*/ -dhtmlXGridObject.prototype.enableAutoSizeSaving = function(name,cookie_param){ - this.attachEvent("onResizeEnd",function(){ this.saveSizeToCookie(name,cookie_param) }); -} - -/** -* @desc: store opene state of TreeGrid in cookie -* @param: name - optional, cookie name -* @param: cookie_param - additional parameters added to cookie -* @type: public -* @edition: Professional -* @topic: 0 -*/ -dhtmlXGridObject.prototype.saveOpenStates = function(name,cookie_param){ - if (!name) name=this.entBox.id; - var t=[]; - this._h2.forEachChild(0,function(el){ - if (el.state=="minus") t.push(el.id); - }); - var str = "gridOpen"+(name||"") + "=" + t.join("|") + (cookie_param?("; "+cookie_param):""); - document.cookie = str; -} - - -/** -* @desc: load open state of TreeGrid in cookie -* @param: name - optional, cookie name -* @param: cookie_param - additional parameters added to cookie -* @type: public -* @edition: Professional -* @topic: 0 -*/ -dhtmlXGridObject.prototype.loadOpenStates = function(name,cookie_param){ - var val=this.getCookie(name,"gridOpen"); - if (!val) return; - val=val.split("|"); - for (var i = 0; i < val.length; i++) { - var pid = this.getParentId(val[i]); - if (!this.getOpenState(pid)) continue; - this.openItem(val[i]); - } -} - -/** -* @desc: enable automatic saving column state ( hidden | shown ) -* @param: name - optional, cookie name -* @param: cookie_param - additional parameters added to cookie -* @type: public -* @edition: Professional -* @topic: 0 -*/ -dhtmlXGridObject.prototype.enableAutoHiddenColumnsSaving = function(name,cookie_param){ - this.attachEvent("onColumnHidden",function(){ - this.saveHiddenColumnsToCookie(name,cookie_param); - }); -} - -/** -* @desc: enable automatic sorting state saving to cookie -* @param: name - optional, cookie name -* @param: cookie_param - additional parameters added to cookie -* @type: public -* @edition: Professional -* @topic: 0 -*/ -dhtmlXGridObject.prototype.enableSortingSaving = function(name,cookie_param){ - this.attachEvent("onBeforeSorting",function(){ - var that=this; - window.setTimeout(function(){ - that.saveSortingToCookie(name,cookie_param); - },1); - return true; - }); -} - -/** -* @desc: enable automatic column order saving to cookie -* @param: name - optional, cookie name -* @param: cookie_param - additional parameters added to cookie -* @type: public -* @edition: Professional -* @topic: 0 -*/ -dhtmlXGridObject.prototype.enableOrderSaving = function(name,cookie_param){ - this.attachEvent("onAfterCMove",function(){ - this.saveOrderToCookie(name,cookie_param); - this.saveSizeToCookie(name,cookie_param); - }); -} - -/** -* @desc: enable automatic saving of all possible params -* @param: name - optional, cookie name -* @param: cookie_param - additional parameters added to cookie -* @type: public -* @edition: Professional -* @topic: 0 -*/ -dhtmlXGridObject.prototype.enableAutoSaving = function(name,cookie_param){ - this.enableOrderSaving(name,cookie_param); - this.enableAutoSizeSaving(name,cookie_param); - this.enableSortingSaving(name,cookie_param); -} - - -/** @desc: save grid layout to cookie -* @type: public -* @param: name - optional, cookie name -* @param: cookie_param - additional parameters added to cookie -* @edition: Professional -* @topic: 2 -*/ -dhtmlXGridObject.prototype.saveSizeToCookie=function(name,cookie_param){ - if (this.cellWidthType=='px') - var z=this.cellWidthPX.join(","); - else - var z=this.cellWidthPC.join(","); - var z2=(this.initCellWidth||(new Array)).join(","); - this.setCookie(name,cookie_param,0,z); - this.setCookie(name,cookie_param,1,z2); -} - -/** @desc: save hidden columns to cookie -* @type: public -* @param: name - optional, cookie name -* @param: cookie_param - additional parameters added to cookie -* @edition: Professional -* @topic: 2 -*/ -dhtmlXGridObject.prototype.saveHiddenColumnsToCookie=function(name,cookie_param){ - - var hs=[].concat(this._hrrar||[]); - if (this._fake && this._fake._hrrar) - for (var i=0; i < this._fake._cCount; i++) - hs[i]=this._fake._hrrar[i]?"1":""; - this.setCookie(name,cookie_param,4,hs.join(",").replace(/display:none;/g,"1")); -} - -/** @desc: load sorting order from cookie -* @type: public -* @param: name - optional,cookie name -* @edition: Professional -* @topic: 2 -*/ -dhtmlXGridObject.prototype.loadHiddenColumnsFromCookie=function(name){ - var z=this._getCookie(name,4); - var ar=(z||"").split(","); - for (var i=0; i < this._cCount; i++) - this.setColumnHidden(i,(ar[i]?true:false)); -} - - - -/** @desc: save sorting order to cookie -* @type: public -* @param: name - optional, cookie name -* @param: cookie_param - additional parameters added to cookie -* @edition: Professional -* @topic: 2 -*/ -dhtmlXGridObject.prototype.saveSortingToCookie=function(name,cookie_param){ - this.setCookie(name,cookie_param,2,(this.getSortingState()||[]).join(",")); -} - - -/** @desc: load sorting order from cookie -* @type: public -* @param: name - optional,cookie name -* @edition: Professional -* @topic: 2 -*/ -dhtmlXGridObject.prototype.loadSortingFromCookie=function(name){ - var z=this._getCookie(name,2); - z=(z||"").split(","); - if (z.length>1 && z[0]1 && z.length<=this._cCount){ - //code below probably may be optimized - for (var i=0; i1){ - r.childNodes[j]._attrs["colspan"]=cellVal.colSpan; - for (var k=1; k 0) { - this._UndoRedoData = []; - } - - var obj = { old_value:old_value, - new_value:new_value, - row_id:row_id, - cell_index:cell_index - }; - this._UndoRedoData.push(obj); - this._UndoRedoPos++; - } - return true; -} -/** -* @desc: UnDo -* @type: public -* @edition: Professional -*/ -dhtmlXGridObject.prototype.doUndo = function() -{ - if (this._UndoRedoPos === -1) - return false; - var obj = this._UndoRedoData[this._UndoRedoPos--]; - var c=this.cells(obj.row_id, obj.cell_index); - if (this.getColType(obj.cell_index)=="tree") - c.setLabel(obj.old_value); - else - c.setValue(obj.old_value); - - this.callEvent("onUndo", [obj.row_id]); -} -/** -* @desc: ReDo -* @type: public -* @edition: Professional -*/ -dhtmlXGridObject.prototype.doRedo = function() -{ - if (this._UndoRedoPos == this._UndoRedoData.length-1) - return false; - var obj = this._UndoRedoData[++this._UndoRedoPos]; - this.cells(obj.row_id, obj.cell_index).setValue(obj.new_value); - - this.callEvent("onUndo", [obj.row_id]); -} -/** -* @desc: get length of available ReDo operations -* @type: public -* @edition: Professional -*/ -dhtmlXGridObject.prototype.getRedo = function() -{ - if (this._UndoRedoPos == this._UndoRedoData.length-1) - return []; - return this._UndoRedoData.slice(this._UndoRedoPos+1); -} -/** -* @desc: get length of available UnDo operations -* @type: public -* @edition: Professional -*/ -dhtmlXGridObject.prototype.getUndo = function() -{ - if (this._UndoRedoPos == -1) - return []; - return this._UndoRedoData.slice(0, this._UndoRedoPos+1); -} -//(c)dhtmlx ltd. www.dhtmlx.com \ No newline at end of file diff --git a/themes/sources4.0/dhtmlxGrid/codebase/ext/dhtmlxgrid_validation.js b/themes/sources4.0/dhtmlxGrid/codebase/ext/dhtmlxgrid_validation.js deleted file mode 100644 index 24df627..0000000 --- a/themes/sources4.0/dhtmlxGrid/codebase/ext/dhtmlxgrid_validation.js +++ /dev/null @@ -1,168 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -//all purpose set of rules, based on http://code.google.com/p/validation-js -dhtmlxValidation=function(){}; -dhtmlxValidation.prototype={ - trackInput:function(el,rule,callback_error,callback_correct){ - dhtmlxEvent(el,"keyup",function(e){ - if (dhtmlxValidation._timer) { - window.clearTimeout(dhtmlxValidation._timer); - dhtmlxValidation._timer = null; - } - dhtmlxValidation._timer = window.setTimeout(function(){ - - if (!dhtmlxValidation.checkInput(el,rule)){ - if(!callback_error || callback_error(el,el.value,rule)) - el.className+=" dhtmlx_live_validation_error"; - } else { - el.className=el.className.replace(/[ ]*dhtmlx_live_validation_error/g,""); - if (callback_correct) - callback_correct(el,el.value,rule); - } - - },250); - }); - }, - checkInput:function(input,rule){ - return this.checkValue(input.value,rule); - }, - checkValue:function(value,rule){ - if (typeof rule=="string") - rule = rule.split(","); - - var final_res=true; - for (var i=0; i0:!value == ''); // array in case of multiselect - }, - isValidBoolean: function(value) { - return !!value.toString().match(/^(0|1|true|false)$/); - }, - isValidEmail: function(value) { - return !!value.toString().match(/(^[a-z0-9]([0-9a-z\-_\.]*)@([0-9a-z_\-\.]*)([.][a-z]{3})$)|(^[a-z]([0-9a-z_\.\-]*)@([0-9a-z_\-\.]*)(\.[a-z]{2,4})$)/i); - }, - isValidInteger: function(value) { - return !!value.toString().match(/(^-?\d+$)/); - }, - isValidNumeric: function(value) { - return !!value.toString().match(/(^-?\d\d*[\.|,]\d*$)|(^-?\d\d*$)|(^-?[\.|,]\d\d*$)/); - }, - isValidAplhaNumeric: function(value) { - return !!value.toString().match(/^[_\-a-z0-9]+$/gi); - }, - // 0000-00-00 00:00:00 to 9999:12:31 59:59:59 (no it is not a "valid DATE" function) - isValidDatetime: function(value) { - var dt = value.toString().match(/^(\d{4})-(\d{2})-(\d{2})\s(\d{2}):(\d{2}):(\d{2})$/); - return dt && !!(dt[1]<=9999 && dt[2]<=12 && dt[3]<=31 && dt[4]<=59 && dt[5]<=59 && dt[6]<=59) || false; - }, - // 0000-00-00 to 9999-12-31 - isValidDate: function(value) { - var d = value.toString().match(/^(\d{4})-(\d{2})-(\d{2})$/); - return d && !!(d[1]<=9999 && d[2]<=12 && d[3]<=31) || false; - }, - // 00:00:00 to 59:59:59 - isValidTime: function(value) { - var t = value.toString().match(/^(\d{1,2}):(\d{1,2}):(\d{1,2})$/); - return t && !!(t[1]<=24 && t[2]<=59 && t[3]<=59) || false; - }, - // 0.0.0.0 to 255.255.255.255 - isValidIPv4: function(value) { - var ip = value.toString().match(/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/); - return ip && !!(ip[1]<=255 && ip[2]<=255 && ip[3]<=255 && ip[4]<=255) || false; - }, - isValidCurrency: function(value) { // Q: Should I consider those signs valid too ? : ¢|€|₤|₦|¥ - return value.toString().match(/^\$?\s?\d+?([\.,\,]?\d+)?\s?\$?$/) && true || false; - }, - // Social Security Number (999-99-9999 or 999999999) - isValidSSN: function(value) { - return value.toString().match(/^\d{3}\-?\d{2}\-?\d{4}$/) && true || false; - }, - // Social Insurance Number (999999999) - isValidSIN: function(value) { - return value.toString().match(/^\d{9}$/) && true || false; - } -}; -dhtmlxValidation=new dhtmlxValidation(); -//extension for the grid -dhtmlXGridObject.prototype.enableValidation=function(mode,live){ - mode=convertStringToBoolean(mode); - if (mode){ - this._validators={ data:[] }; - }else - this._validators=false; - - if (arguments.length>1) - this._validators._live=live; - if (!this._validators._event) - this._validators._event=this.attachEvent("onEditCell",this.validationEvent); - - }; -dhtmlXGridObject.prototype.setColValidators=function(vals){ - if (!this._validators) this.enableValidation(true); - if (typeof vals == "string") vals=vals.split(this.delim); - this._validators.data=vals; -}; -dhtmlXGridObject.prototype.validationEvent=function(stage,id,ind,newval,oldval){ - var v=this._validators; - if (!v) return true; // validators disabled - var rule=(v.data[ind]||this.cells(id,ind).getAttribute("validate"))||""; - - if (stage==1 && rule){ - var ed = this.editor||(this._fake||{}).editor; - if (!ed) return true; //event was trigered by checkbox - ed.cell.className=ed.cell.className.replace(/[ ]*dhtmlx_validation_error/g,""); - if (v._live){ - var grid=this; - dhtmlxValidation.trackInput(ed.getInput(),rule,function(element,value,rule){ - return grid.callEvent("onLiveValidationError",[id,ind,value,element,rule]); - },function(element,value,rule){ - return grid.callEvent("onLiveValidationCorrect",[id,ind,value,element,rule]); - }); - } - } - - if (stage==2) - this.validateCell(id,ind,rule,newval); - - return true; -}; - -dhtmlXGridObject.prototype.validateCell=function(id,ind,rule,value){ - rule=rule||(this._validators.data[ind]||this.cells(id,ind).getAttribute("validate")); - value=value||this.cells(id,ind).getValue(); - if (!rule) return; - var cell = this.cells(id,ind).cell; - - var result = true; - if (typeof rule == "string") - rule = rule.split(this.delim); - - for (var i=0; i < rule.length; i++) { - if (!dhtmlxValidation.checkValue(value,rule[i])){ - if (this.callEvent("onValidationError",[id,ind,value,rule[i]])) - cell.className+=" dhtmlx_validation_error"; - result = false; - } - } - if (result){ - this.callEvent("onValidationCorrect",[id,ind,value,rule]); - cell.className=cell.className.replace(/[ ]*dhtmlx_validation_error/g,""); - } - return result; -}; \ No newline at end of file diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/ar_left.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/ar_left.gif deleted file mode 100644 index f759a30..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/ar_left.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/ar_left_abs.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/ar_left_abs.gif deleted file mode 100644 index 88c8436..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/ar_left_abs.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/ar_left_abs_dis.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/ar_left_abs_dis.gif deleted file mode 100644 index 50a2516..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/ar_left_abs_dis.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/ar_left_dis.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/ar_left_dis.gif deleted file mode 100644 index b8f397f..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/ar_left_dis.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/ar_right.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/ar_right.gif deleted file mode 100644 index 84f348d..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/ar_right.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/ar_right_abs.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/ar_right_abs.gif deleted file mode 100644 index 4a0e6bc..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/ar_right_abs.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/ar_right_abs_dis.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/ar_right_abs_dis.gif deleted file mode 100644 index feb03cb..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/ar_right_abs_dis.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/ar_right_dis.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/ar_right_dis.gif deleted file mode 100644 index 1b53886..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/ar_right_dis.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/blank.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/blank.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/blank.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/combo_select.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/combo_select.gif deleted file mode 100644 index 57e5ece..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/combo_select.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/dyn_.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/dyn_.gif deleted file mode 100644 index 361094a..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/dyn_.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/dyn_down.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/dyn_down.gif deleted file mode 100644 index e8acb70..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/dyn_down.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/dyn_up.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/dyn_up.gif deleted file mode 100644 index bee4e0d..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/dyn_up.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/imageloaderror.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/imageloaderror.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/imageloaderror.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/item_chk0.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/item_chk0.gif deleted file mode 100644 index 7c22611..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/item_chk0.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/item_chk0_dis.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/item_chk0_dis.gif deleted file mode 100644 index 66257cb..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/item_chk0_dis.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/item_chk1.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/item_chk1.gif deleted file mode 100644 index 91f4e06..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/item_chk1.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/item_chk1_dis.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/item_chk1_dis.gif deleted file mode 100644 index 82672fc..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/item_chk1_dis.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/minus.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/minus.gif deleted file mode 100644 index 1752666..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/minus.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/paging_page.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/paging_page.gif deleted file mode 100644 index a8b2bac..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/paging_page.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/paging_pages.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/paging_pages.gif deleted file mode 100644 index e4b3d3a..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/paging_pages.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/paging_rows.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/paging_rows.gif deleted file mode 100644 index 09db362..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/paging_rows.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/plus.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/plus.gif deleted file mode 100644 index 2fd379c..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/plus.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/radio_chk0.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/radio_chk0.gif deleted file mode 100644 index 6087139..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/radio_chk0.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/radio_chk0_dis.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/radio_chk0_dis.gif deleted file mode 100644 index 3fb9da2..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/radio_chk0_dis.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/radio_chk1.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/radio_chk1.gif deleted file mode 100644 index 2d60066..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/radio_chk1.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/radio_chk1_dis.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/radio_chk1_dis.gif deleted file mode 100644 index 44112b5..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/radio_chk1_dis.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/separator.png b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/separator.png deleted file mode 100644 index 55018fc..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/separator.png and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/sort_asc.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/sort_asc.gif deleted file mode 100644 index 64f6cbe..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/sort_asc.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/sort_desc.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/sort_desc.gif deleted file mode 100644 index 2327ba1..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/sort_desc.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/blank.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/blank.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/blank.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/folder.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/folder.gif deleted file mode 100644 index 4b7e76d..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/folder.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/leaf.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/leaf.gif deleted file mode 100644 index deca307..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/leaf.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/line.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/line.gif deleted file mode 100644 index b4f560c..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/line.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/line1.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/line1.gif deleted file mode 100644 index b4f560c..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/line1.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/line2.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/line2.gif deleted file mode 100644 index 23b2ce3..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/line2.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/line3.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/line3.gif deleted file mode 100644 index 43152c5..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/line3.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/line4.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/line4.gif deleted file mode 100644 index 907fe7a..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/line4.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/minus.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/minus.gif deleted file mode 100644 index 1752666..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/minus.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/minus1.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/minus1.gif deleted file mode 100644 index 1752666..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/minus1.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/minus2.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/minus2.gif deleted file mode 100644 index 1752666..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/minus2.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/minus3.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/minus3.gif deleted file mode 100644 index 1752666..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/minus3.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/minus4.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/minus4.gif deleted file mode 100644 index 1752666..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/minus4.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/minus5.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/minus5.gif deleted file mode 100644 index 1752666..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/minus5.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/plus.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/plus.gif deleted file mode 100644 index 2fd379c..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/plus.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/plus1.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/plus1.gif deleted file mode 100644 index 2fd379c..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/plus1.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/plus2.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/plus2.gif deleted file mode 100644 index 2fd379c..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/plus2.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/plus3.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/plus3.gif deleted file mode 100644 index 2fd379c..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/plus3.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/plus4.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/plus4.gif deleted file mode 100644 index 2fd379c..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/plus4.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/plus5.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/plus5.gif deleted file mode 100644 index 2fd379c..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_material/tree/plus5.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/ar_left.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/ar_left.gif deleted file mode 100644 index 07ef2fc..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/ar_left.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/ar_left_abs.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/ar_left_abs.gif deleted file mode 100644 index 2d32720..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/ar_left_abs.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/ar_left_abs_dis.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/ar_left_abs_dis.gif deleted file mode 100644 index 35050e8..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/ar_left_abs_dis.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/ar_left_dis.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/ar_left_dis.gif deleted file mode 100644 index 2ac953e..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/ar_left_dis.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/ar_right.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/ar_right.gif deleted file mode 100644 index cf326d3..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/ar_right.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/ar_right_abs.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/ar_right_abs.gif deleted file mode 100644 index 0736a5f..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/ar_right_abs.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/ar_right_abs_dis.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/ar_right_abs_dis.gif deleted file mode 100644 index f454ee7..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/ar_right_abs_dis.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/ar_right_dis.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/ar_right_dis.gif deleted file mode 100644 index 2cf6399..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/ar_right_dis.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/blank.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/blank.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/blank.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/combo_select.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/combo_select.gif deleted file mode 100644 index 03f4e9a..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/combo_select.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/combo_select_dhx_skyblue.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/combo_select_dhx_skyblue.gif deleted file mode 100644 index 03f4e9a..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/combo_select_dhx_skyblue.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/dyn_.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/dyn_.gif deleted file mode 100644 index 361094a..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/dyn_.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/dyn_down.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/dyn_down.gif deleted file mode 100644 index b73c84e..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/dyn_down.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/dyn_up.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/dyn_up.gif deleted file mode 100644 index 556a9fb..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/dyn_up.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/imageloaderror.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/imageloaderror.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/imageloaderror.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/item_chk0.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/item_chk0.gif deleted file mode 100644 index a98e298..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/item_chk0.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/item_chk0_dis.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/item_chk0_dis.gif deleted file mode 100644 index 2082b54..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/item_chk0_dis.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/item_chk1.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/item_chk1.gif deleted file mode 100644 index 2ebae89..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/item_chk1.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/item_chk1_dis.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/item_chk1_dis.gif deleted file mode 100644 index 17a0b16..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/item_chk1_dis.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/minus.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/minus.gif deleted file mode 100644 index ef04a54..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/minus.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/paging_page.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/paging_page.gif deleted file mode 100644 index efda03a..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/paging_page.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/paging_pages.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/paging_pages.gif deleted file mode 100644 index 5c17308..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/paging_pages.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/paging_rows.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/paging_rows.gif deleted file mode 100644 index 217fb96..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/paging_rows.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/plus.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/plus.gif deleted file mode 100644 index abb84bd..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/plus.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/radio_chk0.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/radio_chk0.gif deleted file mode 100644 index f2ee489..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/radio_chk0.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/radio_chk0_dis.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/radio_chk0_dis.gif deleted file mode 100644 index ada7848..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/radio_chk0_dis.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/radio_chk1.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/radio_chk1.gif deleted file mode 100644 index 54af4c8..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/radio_chk1.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/radio_chk1_dis.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/radio_chk1_dis.gif deleted file mode 100644 index af5d41f..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/radio_chk1_dis.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/sort_asc.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/sort_asc.gif deleted file mode 100644 index c3c0983..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/sort_asc.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/sort_desc.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/sort_desc.gif deleted file mode 100644 index e080183..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/sort_desc.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/blank.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/blank.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/blank.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/folder.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/folder.gif deleted file mode 100644 index e0a88ce..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/folder.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/leaf.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/leaf.gif deleted file mode 100644 index 9c3e531..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/leaf.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/line.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/line.gif deleted file mode 100644 index b4f560c..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/line.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/line1.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/line1.gif deleted file mode 100644 index b4f560c..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/line1.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/line2.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/line2.gif deleted file mode 100644 index 23b2ce3..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/line2.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/line3.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/line3.gif deleted file mode 100644 index 43152c5..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/line3.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/line4.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/line4.gif deleted file mode 100644 index 907fe7a..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/line4.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/minus.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/minus.gif deleted file mode 100644 index ea11fd9..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/minus.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/minus1.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/minus1.gif deleted file mode 100644 index d6a8b2b..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/minus1.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/minus2.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/minus2.gif deleted file mode 100644 index a3fad45..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/minus2.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/minus3.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/minus3.gif deleted file mode 100644 index dbc1292..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/minus3.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/minus4.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/minus4.gif deleted file mode 100644 index 1c2fccf..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/minus4.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/minus5.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/minus5.gif deleted file mode 100644 index 031c160..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/minus5.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/plus.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/plus.gif deleted file mode 100644 index 2d50cd2..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/plus.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/plus1.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/plus1.gif deleted file mode 100644 index cb8add4..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/plus1.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/plus2.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/plus2.gif deleted file mode 100644 index d57afa9..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/plus2.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/plus3.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/plus3.gif deleted file mode 100644 index 2b6546b..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/plus3.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/plus4.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/plus4.gif deleted file mode 100644 index a4fe8c0..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/plus4.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/plus5.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/plus5.gif deleted file mode 100644 index 88c35a4..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_skyblue/tree/plus5.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/ar_left.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/ar_left.gif deleted file mode 100644 index f759a30..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/ar_left.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/ar_left_abs.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/ar_left_abs.gif deleted file mode 100644 index 88c8436..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/ar_left_abs.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/ar_left_abs_dis.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/ar_left_abs_dis.gif deleted file mode 100644 index 50a2516..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/ar_left_abs_dis.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/ar_left_dis.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/ar_left_dis.gif deleted file mode 100644 index b8f397f..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/ar_left_dis.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/ar_right.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/ar_right.gif deleted file mode 100644 index 84f348d..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/ar_right.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/ar_right_abs.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/ar_right_abs.gif deleted file mode 100644 index 4a0e6bc..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/ar_right_abs.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/ar_right_abs_dis.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/ar_right_abs_dis.gif deleted file mode 100644 index feb03cb..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/ar_right_abs_dis.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/ar_right_dis.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/ar_right_dis.gif deleted file mode 100644 index 1b53886..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/ar_right_dis.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/blank.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/blank.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/blank.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/combo_select.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/combo_select.gif deleted file mode 100644 index 90718a1..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/combo_select.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/combo_select_dhx_terrace.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/combo_select_dhx_terrace.gif deleted file mode 100644 index 90718a1..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/combo_select_dhx_terrace.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/dyn_.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/dyn_.gif deleted file mode 100644 index 361094a..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/dyn_.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/dyn_down.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/dyn_down.gif deleted file mode 100644 index b73c84e..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/dyn_down.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/dyn_up.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/dyn_up.gif deleted file mode 100644 index 556a9fb..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/dyn_up.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/imageloaderror.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/imageloaderror.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/imageloaderror.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/item_chk0.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/item_chk0.gif deleted file mode 100644 index 22d0f01..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/item_chk0.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/item_chk0_dis.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/item_chk0_dis.gif deleted file mode 100644 index 9310cb8..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/item_chk0_dis.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/item_chk1.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/item_chk1.gif deleted file mode 100644 index 5530bcb..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/item_chk1.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/item_chk1_dis.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/item_chk1_dis.gif deleted file mode 100644 index c70d2e1..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/item_chk1_dis.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/minus.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/minus.gif deleted file mode 100644 index ef04a54..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/minus.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/paging_page.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/paging_page.gif deleted file mode 100644 index a8b2bac..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/paging_page.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/paging_pages.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/paging_pages.gif deleted file mode 100644 index e4b3d3a..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/paging_pages.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/paging_rows.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/paging_rows.gif deleted file mode 100644 index 09db362..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/paging_rows.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/plus.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/plus.gif deleted file mode 100644 index abb84bd..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/plus.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/radio_chk0.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/radio_chk0.gif deleted file mode 100644 index 4bd2f93..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/radio_chk0.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/radio_chk0_dis.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/radio_chk0_dis.gif deleted file mode 100644 index c04a681..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/radio_chk0_dis.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/radio_chk1.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/radio_chk1.gif deleted file mode 100644 index 1fc529a..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/radio_chk1.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/radio_chk1_dis.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/radio_chk1_dis.gif deleted file mode 100644 index 000f82b..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/radio_chk1_dis.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/sort_asc.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/sort_asc.gif deleted file mode 100644 index feb339b..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/sort_asc.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/sort_desc.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/sort_desc.gif deleted file mode 100644 index 852f984..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/sort_desc.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/blank.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/blank.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/blank.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/folder.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/folder.gif deleted file mode 100644 index 440b803..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/folder.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/leaf.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/leaf.gif deleted file mode 100644 index 28c6528..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/leaf.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/line.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/line.gif deleted file mode 100644 index b4f560c..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/line.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/line1.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/line1.gif deleted file mode 100644 index dae44cd..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/line1.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/line2.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/line2.gif deleted file mode 100644 index 23b2ce3..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/line2.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/line3.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/line3.gif deleted file mode 100644 index 43152c5..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/line3.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/line4.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/line4.gif deleted file mode 100644 index 907fe7a..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/line4.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/minus.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/minus.gif deleted file mode 100644 index aa6c115..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/minus.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/minus1.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/minus1.gif deleted file mode 100644 index 9f8b70f..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/minus1.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/minus2.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/minus2.gif deleted file mode 100644 index af8ae3e..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/minus2.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/minus3.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/minus3.gif deleted file mode 100644 index c9eaaad..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/minus3.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/minus4.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/minus4.gif deleted file mode 100644 index bd98f26..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/minus4.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/minus5.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/minus5.gif deleted file mode 100644 index 379b154..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/minus5.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/plus.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/plus.gif deleted file mode 100644 index 08fc8f6..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/plus.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/plus1.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/plus1.gif deleted file mode 100644 index e79e4ed..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/plus1.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/plus2.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/plus2.gif deleted file mode 100644 index 94a5d4e..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/plus2.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/plus3.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/plus3.gif deleted file mode 100644 index 59708a6..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/plus3.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/plus4.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/plus4.gif deleted file mode 100644 index 3765d16..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/plus4.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/plus5.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/plus5.gif deleted file mode 100644 index 1e296fa..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_terrace/tree/plus5.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/ar_left.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/ar_left.gif deleted file mode 100644 index a42f019..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/ar_left.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/ar_left_abs.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/ar_left_abs.gif deleted file mode 100644 index 29f01ea..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/ar_left_abs.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/ar_left_abs_dis.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/ar_left_abs_dis.gif deleted file mode 100644 index f52a777..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/ar_left_abs_dis.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/ar_left_dis.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/ar_left_dis.gif deleted file mode 100644 index b14f0ff..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/ar_left_dis.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/ar_right.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/ar_right.gif deleted file mode 100644 index e8990ba..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/ar_right.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/ar_right_abs.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/ar_right_abs.gif deleted file mode 100644 index 99df64d..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/ar_right_abs.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/ar_right_abs_dis.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/ar_right_abs_dis.gif deleted file mode 100644 index d919a8c..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/ar_right_abs_dis.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/ar_right_dis.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/ar_right_dis.gif deleted file mode 100644 index 32d2109..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/ar_right_dis.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/blank.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/blank.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/blank.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/combo_select.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/combo_select.gif deleted file mode 100644 index 57e5ece..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/combo_select.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/combo_select_dhx_web.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/combo_select_dhx_web.gif deleted file mode 100644 index 57e5ece..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/combo_select_dhx_web.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/dyn_.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/dyn_.gif deleted file mode 100644 index 361094a..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/dyn_.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/dyn_down.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/dyn_down.gif deleted file mode 100644 index e8acb70..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/dyn_down.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/dyn_up.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/dyn_up.gif deleted file mode 100644 index bee4e0d..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/dyn_up.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/imageloaderror.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/imageloaderror.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/imageloaderror.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/item_chk0.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/item_chk0.gif deleted file mode 100644 index f91ca21..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/item_chk0.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/item_chk0_dis.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/item_chk0_dis.gif deleted file mode 100644 index 66257cb..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/item_chk0_dis.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/item_chk1.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/item_chk1.gif deleted file mode 100644 index 8868f58..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/item_chk1.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/item_chk1_dis.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/item_chk1_dis.gif deleted file mode 100644 index 82672fc..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/item_chk1_dis.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/minus.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/minus.gif deleted file mode 100644 index ef04a54..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/minus.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/paging_page.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/paging_page.gif deleted file mode 100644 index 12395c5..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/paging_page.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/paging_pages.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/paging_pages.gif deleted file mode 100644 index 9135ba1..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/paging_pages.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/paging_rows.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/paging_rows.gif deleted file mode 100644 index c6e9355..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/paging_rows.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/plus.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/plus.gif deleted file mode 100644 index abb84bd..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/plus.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/radio_chk0.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/radio_chk0.gif deleted file mode 100644 index 6087139..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/radio_chk0.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/radio_chk0_dis.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/radio_chk0_dis.gif deleted file mode 100644 index 3fb9da2..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/radio_chk0_dis.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/radio_chk1.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/radio_chk1.gif deleted file mode 100644 index 2d60066..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/radio_chk1.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/radio_chk1_dis.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/radio_chk1_dis.gif deleted file mode 100644 index 44112b5..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/radio_chk1_dis.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/separator.png b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/separator.png deleted file mode 100644 index 55018fc..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/separator.png and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/sort_asc.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/sort_asc.gif deleted file mode 100644 index 716049b..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/sort_asc.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/sort_desc.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/sort_desc.gif deleted file mode 100644 index bb7912a..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/sort_desc.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/blank.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/blank.gif deleted file mode 100644 index d7ae406..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/blank.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/folder.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/folder.gif deleted file mode 100644 index 4b7e76d..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/folder.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/leaf.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/leaf.gif deleted file mode 100644 index deca307..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/leaf.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/line.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/line.gif deleted file mode 100644 index b4f560c..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/line.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/line1.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/line1.gif deleted file mode 100644 index b4f560c..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/line1.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/line2.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/line2.gif deleted file mode 100644 index 23b2ce3..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/line2.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/line3.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/line3.gif deleted file mode 100644 index 43152c5..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/line3.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/line4.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/line4.gif deleted file mode 100644 index 907fe7a..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/line4.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/minus.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/minus.gif deleted file mode 100644 index 77d3b97..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/minus.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/minus1.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/minus1.gif deleted file mode 100644 index a31abe2..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/minus1.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/minus2.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/minus2.gif deleted file mode 100644 index 9828911..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/minus2.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/minus3.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/minus3.gif deleted file mode 100644 index df8b060..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/minus3.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/minus4.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/minus4.gif deleted file mode 100644 index 2b456f8..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/minus4.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/minus5.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/minus5.gif deleted file mode 100644 index 2827d81..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/minus5.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/plus.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/plus.gif deleted file mode 100644 index 7e2bf79..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/plus.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/plus1.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/plus1.gif deleted file mode 100644 index 7b723c2..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/plus1.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/plus2.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/plus2.gif deleted file mode 100644 index d5aa3b7..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/plus2.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/plus3.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/plus3.gif deleted file mode 100644 index 165bd73..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/plus3.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/plus4.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/plus4.gif deleted file mode 100644 index e87b3c6..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/plus4.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/plus5.gif b/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/plus5.gif deleted file mode 100644 index 3dd3987..0000000 Binary files a/themes/sources4.0/dhtmlxGrid/codebase/imgs/dhxgrid_web/tree/plus5.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxGrid/codebase/skins/dhtmlxgrid_dhx_skyblue.css b/themes/sources4.0/dhtmlxGrid/codebase/skins/dhtmlxgrid_dhx_skyblue.css deleted file mode 100644 index 4b4aad2..0000000 --- a/themes/sources4.0/dhtmlxGrid/codebase/skins/dhtmlxgrid_dhx_skyblue.css +++ /dev/null @@ -1,604 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* skin detected, extra file: skins/dhx_skyblue.less */ - -div.gridbox { - overflow: hidden; - text-align: left; -} -.dhx_sub_row { - background-color: #ffffff; -} -div.gridbox .xhdr { - background-color: #D4D0C8; -} -div.gridbox table.obj { - height: 1px; -} -div.gridbox table.hdr td { - line-height: normal; - font-family: arial; - font-size: 12px; - background-color: #D4D0C8; - border: 1px solid; - border-color: #ffffff Gray Gray #ffffff; - text-align: center; - margin: 0px; - padding: 7px 0px 7px 0px; - font-weight: normal; - -moz-user-select: none; - -moz-user-select: -moz-none; - overflow: hidden; - empty-cells: show; -} -div.gridbox table.hdr td div.hdrcell { - overflow: hidden; -} -div.gridbox table.obj td { - border: 1px solid; - border-color: #ffffff Gray Gray #ffffff; - font-family: Arial; - font-size: 12px; - -moz-user-select: none; - -moz-user-select: -moz-none; - overflow: hidden; - padding-top: 0px; - padding-bottom: 0px; - empty-cells: show; -} -div.gridbox table.obj th, -div.gridbox table.hdr th { - padding: 0px 0px 0px 0px; - margin: 0px 0px 0px 0px; -} -div.gridbox table.row20px tr td { - height: 20px; - white-space: nowrap; - padding: 0px; -} -div.gridbox .objbox { - background-color: #ffffff; - position: relative; - -webkit-overflow-scrolling: touch; -} -div.gridbox table.obj td span.space, -div.gridbox table.obj td img.space { - width: 18px; -} -div.gridbox table.obj tr.rowselected td.cellselected, -div.gridbox table.obj td.cellselected { - background-color: #d8d8d8; - color: black; -} -div.gridbox table.obj tr.rowselected td { - background-color: #e1e0d7; - color: black; -} -div.gridbox table.obj td.editable { - -moz-user-select: text; -} -div.gridbox table.obj td.group_row { - vertical-align: middle; - font-family: Tahoma; - font-size: 10pt; - font-weight: bold; - height: 30px; - border: 0px; - border-bottom: 2px solid navy; -} -.dragSpanDiv { - font-size: 12px; - border: 1px gray solid; - background-color: #ffffff; - z-index: 999; -} -.dhx_combo_select { - font-family: arial; - font-size: 12px; - border: 1px solid; - border-color: black silver silver black; - background-color: #ffffff; - overflow: hidden; - cursor: default; - position: absolute; - height: auto; - z-index: 600; -} -.dhx_combo_edit { - width: 100%; - border: 0px; - padding: 0px; - padding-right: 1px !ie; - margin: 0px; - font: 12px arial; - overflow: hidden; -} -.dhx_textarea { - border: 1px solid; - border-color: black silver silver black; - position: absolute; - height: 100px; - z-index: 600; -} -.dhx_clist { - background-color: #ffffff; - border: 1px solid black; - padding: 2px 2px 2px 2px; - z-index: 300; -} -.gridDragLine { - position: absolute; - top: 10px; - left: 0px; - width: 100%; - height: 2px; - background-color: black; - overflow: hidden; -} -div.pagingBlock { - font-size: 12px; - font-family: verdana, arial; -} -div.pagingBlock .pagingCurrentPage { - font-weight: bold; - cursor: default; -} -div.pagingBlock .pagingPage { - cursor: pointer; - text-decoration: underline; -} -span.recordsInfoBlock { - font-size: 12px; - font-family: verdana, arial; -} -div.pagingBlock a { - text-decoration: none; - padding-right: 2px; - color: black; - cursor: pointer; -} -div.pagingBlock a.dhx_not_active { - text-decoration: none; - cursor: default; -} -.toolbar_select { - font-size: 10px; -} -.dhtmlxGrid_selection { - -moz-opacity: 0.5; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50); - background-color: yellow; - opacity: 0.5; - border: 1px dotted black; -} -div.gridbox div.ftr { - position: absolute; - left: 0px; - bottom: 1px; - width: 100%; - overflow: hidden; -} -div.gridbox div.ftr td { - padding: 0px; - padding-left: 10px; - padding-right: 5px; - border-top: 1px solid gray; - border-right: 1px solid gray; - background-color: #ffffcc; - font-style: italic; - font-family: arial; - font-size: 12px; - overflow: hidden; -} -div.gridbox table.hdr td.columnTargetR div.hdrcell { - border-right: 3px double #FF6600; - border-left: 3px solid #D4D0C8; -} -div.gridbox table.hdr td.columnTargetL div.hdrcell { - border-right: 3px solid #D4D0C8; - border-left: 3px double #FF6600; -} -.dhx_dragColDiv { - font-family: Arial; - font-size: 12px; - background-color: #D4D0C8; - border: 1px solid; - border-color: #ffffff Gray Gray #ffffff; - text-align: center; - margin: 0px; - padding: 5px 20px 5px 20px; - font-weight: normal; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=75); - -moz-opacity: 0.75; - opacity: 0.75; -} -.dhtmlx_live_validation_error { - background-color: #FFE0E0 !important; -} -.dhtmlx_validation_error { - border-bottom: 2px solid red !important; -} -.dhx_header_cmenu { - background-color: #ffffff; - border: 2px outset silver; - z-index: 2; -} -.dhx_header_cmenu_item { - white-space: nowrap; -} -div.gridboxgridbox_dhx_skyblue div.ftr td { - text-align: right; - color: black; - background-color: #e2efff; - background: linear-gradient(#e2efff,#d3e7ff); - filter: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e2efff,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100); - border-color: #a4bed4; -} -div.gridbox td.filter input, -div.gridbox td.filter select { - width: 90%; - font-size: 8pt; - font-family: Tahoma; - -moz-user-select: text; -} -div.gridbox_dhx_skyblue.gridbox .ftr, -div.gridbox_dhx_skyblue.gridbox .xhdr { - color: black; - background-color: #e2efff; - background: linear-gradient(#e2efff,#d3e7ff); - filter: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e2efff,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100); -} -div.gridbox_dhx_skyblue.isModern table.hdr tr td { - color: black; - background-color: #e2efff; - background: linear-gradient(#e2efff,#d3e7ff); - filter: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e2efff,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100); -} -div.gridbox_dhx_skyblue.isIE table.hdr tr { - color: black; - background-color: #e2efff; - background: linear-gradient(#e2efff,#d3e7ff); - filter: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e2efff,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100); -} -div.gridbox_dhx_skyblue.gridbox table.obj tr td { - border-width: 0px 0px 0px 0px; - padding-right: 4px; - padding-left: 4px; -} -div.gridbox_dhx_skyblue.gridbox table.hdr td div.hdrcell { - padding-left: 10px; - width: auto; -} -div.gridbox_dhx_skyblue.gridbox table.hdr td { - border-width: 1px 1px 1px 1px; - border-color: #e7f1ff #a4bed4 #a4bed4 #e7f1ff; - background-color: transparent; - font-family: Tahoma; - font-size: 12px; - color: black; - vertical-align: top; - text-align: left; -} -div.gridbox_dhx_skyblue.gridbox { - border: 1px solid #a4bed4; -} -div.gridbox_dhx_skyblue.gridbox table.obj { - font-family: Tahoma; - font-size: 12px; - color: black; -} -div.gridbox_dhx_skyblue.gridbox table.obj tr td { - padding-top: 3px; - padding-bottom: 3px; -} -* html .gridbox_dhx_skyblue.gridbox .obj td { - height: auto; - padding-top: 3px; - padding-bottom: 3px; -} -div.gridbox_dhx_skyblue.gridbox table.obj.row20px tr td { - padding-top: 1px; - padding-bottom: 1px; - height: 23px; - border-right: 1px solid #ffffff; - border-top: 1px solid #ffffff; - border-bottom: 1px solid #ffffff; -} -div.gridbox_dhx_skyblue.isModern table.obj.row20px tr td { - line-height: 23px; -} -div.gridbox_dhx_skyblue table.obj.row20px tr td.editable .treegrid_cell { - margin-top: -2px; - height: 21px; -} -div.gridbox_dhx_skyblue.gridbox table.obj tr td.editable div.treegrid_cell { - padding: 1px 4px !important; -} -div.gridbox_dhx_skyblue.gridbox table.obj tr.rowselected { - background-color: #b5deff; -} -div.gridbox_dhx_skyblue.gridbox table.obj tr.rowselected td { - background-color: #b5deff; - color: black; -} -div.gridbox_dhx_skyblue.gridbox table.obj.row20px tr.rowselected td, -div.gridbox_dhx_skyblue.gridbox table.obj.row20px tr.odd_dhx_skyblue.rowselected td { - background-color: #b5deff; - border-top: 1px solid #a1ceed; - border-bottom: 1px solid #a1ceed; - border-right: 1px solid #b5deff; -} -div.gridbox_dhx_skyblue.gridbox table.obj tr.rowselected td.cellselected { - background-color: #b5deff; -} -div.gridbox_dhx_skyblue.gridbox table.obj.row20px tr.odd_dhx_skyblue { - background: #ebf3ff; - border-top: 1px solid #ebf3ff; - border-bottom: 1px solid #ebf3ff; -} -div.gridbox_dhx_skyblue.gridbox table.obj tr.odd_dhx_skyblue { - background: #ebf3ff; -} -.dhx_combo_select, -.gridbox_dhx_skyblue.gridbox .dhx_combo_edit, -.gridbox_dhx_skyblue.gridbox .dhx_textarea { - font-family: Tahoma; - font-size: 12px; -} -.gridbox_dhx_skyblue .dhx_combo_edit { - padding: 1px 0px 1px 1px; -} -.gridbox_dhx_skyblue.isIE .dhx_combo_edit { - padding: 0px 0px 0px 1px; -} -.gridbox_dhx_skyblue.gridbox .dhx_sub_row { - background-color: transparent; -} -.dhx_header_cmenu { - background-color: #ffffff; - border: 2px outset silver; - z-index: 2; -} -.dhx_header_cmenu_item { - white-space: nowrap; -} -.dhx_pbox { - margin-top: 3px; - border: 1px solid #D4D0C8; - border-top: 0px; - font-size: 10px; -} -.dhx_pline { - background-color: white; - margin: -15px 10px 10px 10px; - padding: 0px 5px 0px 5px; - float: left; -} -.dhx_page, -.dhx_pager_info { - margin: 3px; - text-align: center; - font-family: tahoma; - font-size: 12px; - float: left; - cursor: pointer; - color: black; - background-color: gray; - padding: 1px; -} -.dhx_pager_info { - white-space: nowrap; - background-color: white; - margin: -8px 10px 10px 10px; - padding: 0px 5px 0px 5px; - cursor: default; -} -.dhx_page div { - background-color: white; - width: 16px; - height: 17px; - vertical-align: middle; -} -div.dhx_page_active { - font-weight: bold; - background-color: lightgrey; - cursor: default; - color: white; -} -.dhx_pbox_modern { - margin-top: 3px; - border: 1px solid #D6D6D6; - border-top: 0px; - font-size: 10px; -} -.dhx_pline_modern { - background-color: white; - margin: -15px 10px 10px 10px; - padding: 0px 5px 0px 5px; - float: left; -} -.dhx_page_modern, -.dhx_pager_info_modern { - margin: 3px; - text-align: center; - font-family: tahoma; - font-size: 12px; - float: left; - cursor: pointer; - color: #055A78; - background-color: #D6D6D6; - padding: 1px; -} -.dhx_pager_info_modern { - white-space: nowrap; - background-color: white; - margin: -8px 10px 10px 10px; - padding: 0px 5px 0px 5px; - cursor: default; -} -.dhx_page_modern div { - background-color: white; - width: 16px; - height: 17px; - vertical-align: middle; -} -div.dhx_page_active_modern { - font-weight: bold; - background-color: #055A78; - cursor: default; - color: white; -} -.dhx_pbox_light { - margin-top: 3px; - border: 1px solid #C2D5DC; - border-top: 0px; - font-size: 10px; -} -.dhx_pline_light { - background-color: white; - margin: -15px 10px 10px 10px; - padding: 0px 5px 0px 5px; - float: left; -} -.dhx_page_light, -.dhx_pager_info_light { - margin: 3px; - text-align: center; - font-family: tahoma; - font-size: 12px; - float: left; - cursor: pointer; - color: #055A78; - background-color: #93AFBA; - padding: 1px; -} -.dhx_pager_info_light { - white-space: nowrap; - background-color: white; - margin: -8px 10px 10px 10px; - padding: 0px 5px 0px 5px; - cursor: default; -} -.dhx_page_light div { - background-color: white; - width: 16px; - height: 17px; - vertical-align: middle; -} -div.dhx_page_active_light { - font-weight: bold; - background-color: #D1DFE3; - cursor: default; - color: white; -} -.dhx_pbox_skyblue { - margin-top: 3px; - border: 1px solid #C2D5DC; - border-top: 0px; - font-size: 10px; -} -.dhx_pline_skyblue { - background-color: white; - margin: -15px 10px 10px 10px; - padding: 0px 5px 0px 5px; - float: left; -} -.dhx_page_skyblue, -.dhx_pager_info_skyblue { - margin: 3px; - text-align: center; - font-family: tahoma; - font-size: 12px; - float: left; - cursor: pointer; - color: #055A78; - background-color: #93AFBA; - padding: 1px; -} -.dhx_pager_info_skyblue { - white-space: nowrap; - background-color: white; - margin: -8px 10px 10px 10px; - padding: 0px 5px 0px 5px; - cursor: default; -} -.dhx_page_skyblue div { - background-color: white; - width: 16px; - height: 17px; - vertical-align: middle; -} -div.dhx_page_active_skyblue { - font-weight: bold; - color: black; - background-color: #e2efff; - background: linear-gradient(#e2efff,#d3e7ff); - filter: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e2efff,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100); - border: 1px solid #a4bed4; - padding: 0px; - cursor: default; -} -div.dhx_page_active_skyblue div.dhx_page_active_skyblue { - border: 0px solid #a4bed4; -} -.calcTable { - width: 100px; - background-color: silver; - border: 1px black solid; -} -.calcButton { - height: 20px; - cursor: pointer; - text-align: center; - background-color: gray; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid silver; - border-right: 1px solid silver; -} -.calcPressed { - height: 20px; - cursor: pointer; - text-align: center; - background-color: gray; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid black; - border-right: 1px solid black; -} -.calcInput { - background-color: white; - font-size: 10px; - font-weight: bold; - font-family: tahoma, arial; -} -.calkSubmit { - padding: 2px; - cursor: pointer; - text-align: center; - background-color: silver; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid white; - border-right: 1px solid white; -} -.dhxgrid_sort_desc, -.dhxgrid_sort_asc { - width: 9px; - height: 8px; - background-image: url("../imgs/dhxgrid_skyblue/sort_desc.gif"); - background-repeat: no-repeat; -} -.dhxgrid_sort_asc { - background-image: url("../imgs/dhxgrid_skyblue/sort_asc.gif"); - background-repeat: no-repeat; -} diff --git a/themes/sources4.0/dhtmlxGrid/codebase/skins/dhtmlxgrid_dhx_terrace.css b/themes/sources4.0/dhtmlxGrid/codebase/skins/dhtmlxgrid_dhx_terrace.css deleted file mode 100644 index 23bc538..0000000 --- a/themes/sources4.0/dhtmlxGrid/codebase/skins/dhtmlxgrid_dhx_terrace.css +++ /dev/null @@ -1,561 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* skin detected, extra file: skins/dhx_terrace.less */ - -div.gridbox { - overflow: hidden; - text-align: left; -} -.dhx_sub_row { - background-color: #ffffff; -} -div.gridbox .xhdr { - background-color: #D4D0C8; -} -div.gridbox table.obj { - height: 1px; -} -div.gridbox table.hdr td { - line-height: normal; - font-family: arial; - font-size: 12px; - background-color: #D4D0C8; - border: 1px solid; - border-color: #ffffff Gray Gray #ffffff; - text-align: center; - margin: 0px; - padding: 5px 0px 4px 0px; - font-weight: normal; - -moz-user-select: none; - -moz-user-select: -moz-none; - overflow: hidden; - empty-cells: show; -} -div.gridbox table.hdr td div.hdrcell { - overflow: hidden; -} -div.gridbox table.obj td { - border: 1px solid; - border-color: #ffffff Gray Gray #ffffff; - font-family: Arial; - font-size: 12px; - -moz-user-select: none; - -moz-user-select: -moz-none; - overflow: hidden; - padding-top: 0px; - padding-bottom: 0px; - empty-cells: show; -} -div.gridbox table.obj th, -div.gridbox table.hdr th { - padding: 0px 0px 0px 0px; - margin: 0px 0px 0px 0px; -} -div.gridbox table.row20px tr td { - height: 20px; - white-space: nowrap; - padding: 0px; -} -div.gridbox .objbox { - background-color: #ffffff; - position: relative; - -webkit-overflow-scrolling: touch; -} -div.gridbox table.obj td span.space, -div.gridbox table.obj td img.space { - width: 18px; -} -div.gridbox table.obj tr.rowselected td.cellselected, -div.gridbox table.obj td.cellselected { - background-color: #d8d8d8; - color: black; -} -div.gridbox table.obj tr.rowselected td { - background-color: #e1e0d7; - color: black; -} -div.gridbox table.obj td.editable { - -moz-user-select: text; -} -div.gridbox table.obj td.group_row { - vertical-align: middle; - font-family: Tahoma; - font-size: 10pt; - font-weight: bold; - height: 30px; - border: 0px; - border-bottom: 2px solid navy; -} -.dragSpanDiv { - font-size: 12px; - border: 1px gray solid; - background-color: #ffffff; - z-index: 999; -} -.dhx_combo_select { - font-family: arial; - font-size: 12px; - border: 1px solid; - border-color: black silver silver black; - background-color: #ffffff; - overflow: hidden; - cursor: default; - position: absolute; - height: auto; - z-index: 600; -} -.dhx_combo_edit { - width: 100%; - border: 0px; - padding: 0px; - padding-right: 1px !ie; - margin: 0px; - font: 12px arial; - overflow: hidden; -} -.dhx_textarea { - border: 1px solid; - border-color: black silver silver black; - position: absolute; - height: 100px; - z-index: 600; -} -.dhx_clist { - background-color: #ffffff; - border: 1px solid black; - padding: 2px 2px 2px 2px; - z-index: 300; -} -.gridDragLine { - position: absolute; - top: 10px; - left: 0px; - width: 100%; - height: 2px; - background-color: black; - overflow: hidden; -} -div.pagingBlock { - font-size: 12px; - font-family: verdana, arial; -} -div.pagingBlock .pagingCurrentPage { - font-weight: bold; - cursor: default; -} -div.pagingBlock .pagingPage { - cursor: pointer; - text-decoration: underline; -} -span.recordsInfoBlock { - font-size: 12px; - font-family: verdana, arial; -} -div.pagingBlock a { - text-decoration: none; - padding-right: 2px; - color: black; - cursor: pointer; -} -div.pagingBlock a.dhx_not_active { - text-decoration: none; - cursor: default; -} -.toolbar_select { - font-size: 10px; -} -.dhtmlxGrid_selection { - -moz-opacity: 0.5; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50); - background-color: yellow; - opacity: 0.5; - border: 1px dotted black; -} -div.gridbox div.ftr { - position: absolute; - left: 0px; - bottom: 1px; - width: 100%; - overflow: hidden; -} -div.gridbox div.ftr td { - padding: 0px; - padding-left: 10px; - padding-right: 5px; - border-top: 1px solid gray; - border-right: 1px solid gray; - background-color: #ffffcc; - font-style: italic; - font-family: arial; - font-size: 12px; - overflow: hidden; -} -div.gridbox table.hdr td.columnTargetR div.hdrcell { - border-right: 3px double #FF6600; - border-left: 3px solid #D4D0C8; -} -div.gridbox table.hdr td.columnTargetL div.hdrcell { - border-right: 3px solid #D4D0C8; - border-left: 3px double #FF6600; -} -.dhx_dragColDiv { - font-family: Arial; - font-size: 12px; - background-color: #D4D0C8; - border: 1px solid; - border-color: #ffffff Gray Gray #ffffff; - text-align: center; - margin: 0px; - padding: 5px 20px 5px 20px; - font-weight: normal; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=75); - -moz-opacity: 0.75; - opacity: 0.75; -} -.dhtmlx_live_validation_error { - background-color: #FFE0E0 !important; -} -.dhtmlx_validation_error { - border-bottom: 2px solid red !important; -} -.dhx_header_cmenu { - background-color: #ffffff; - border: 2px outset silver; - z-index: 2; -} -.dhx_header_cmenu_item { - white-space: nowrap; -} -div.gridbox td.filter input, -div.gridbox td.filter select { - width: 90%; - font-size: 8pt; - font-family: Tahoma; - -moz-user-select: text; -} -div.gridbox_dhx_terrace.gridbox .xhdr { - background-color: #ffffff; -} -div.gridbox_dhx_terrace.gridbox table.hdr tr { - background-color: #f5f5f5; -} -div.gridbox_dhx_terrace.gridbox .ftr tr { - background-color: #f5f5f5; -} -div.gridbox_dhx_terrace.gridbox table.obj { - font-family: Arial; - font-size: 13px; - color: #333333; -} -div.gridbox_dhx_terrace.gridbox table.obj tr td { - border-color: #cccccc; - border-width: 0px 0px 1px 0px; - padding-right: 20px; - padding-left: 20px; -} -div.gridbox_dhx_terrace.gridbox .xhdr { - border-bottom: 1px solid #cccccc; - background-color: #f5f5f5; -} -div.gridbox_dhx_terrace.gridbox table.hdr td div.hdrcell { - width: auto; - padding-left: 20px; - line-height: 36px; - text-transform: uppercase; - width: 100% !ie; -} -div.gridbox_dhx_terrace.gridbox .ftr table td { - width: auto; - background-color: #ffffff; - border-width: 1px 0px 0px 0px; - font-style: normal; - color: #333; - border-color: #cccccc; - padding-left: 20px; - line-height: 41px; - width: 100% !ie; -} -div.gridbox_dhx_terrace.gridbox table.hdr td { - border: 1px solid #cccccc; - border-width: 0px 0px 0px 0px; - padding: 0px 0px 0px 0px; - background-color: #f5f5f5; - font-family: Arial; - font-size: 12px; - color: #333333; - vertical-align: top; - text-align: left; -} -div.gridbox_dhx_terrace.gridbox { - border: 1px solid #cccccc; -} -div.gridbox_dhx_terrace.gridbox table.obj tr td { - padding-top: 10px; - padding-bottom: 10px; -} -div.gridbox_dhx_terrace.gridbox table.obj.row20px tr td { - padding-top: 0px; - padding-bottom: 0px; - height: 32px; - line-height: 32px; -} -div.gridbox_dhx_terrace.gridbox table.obj tr td.editable { - padding-left: 20px; - padding-right: 0px; -} -div.gridbox_dhx_terrace.gridbox table.obj tr td.editable div.treegrid_cell { - padding: 1px 4px; -} -div.gridbox_dhx_terrace.gridbox table.obj tr.rowselected { - background-color: #fff3a1; -} -div.gridbox_dhx_terrace.gridbox table.obj tr.rowselected td { - background-color: #fff3a1; - color: black; -} -div.gridbox_dhx_terrace.gridbox table.obj.row20px tr.rowselected td { - background-color: #fff3a1; - color: black; -} -div.gridbox_dhx_terrace.gridbox table.obj tr.rowselected td.cellselected { - background-color: #fff3a1; - color: black; -} -div.gridbox_dhx_terrace.gridbox .odd_dhx_terrace { - background-color: #f7f7f7; -} -.gridbox_dhx_terrace.gridbox .dhx_combo_edit { - font-family: Arial; - font-size: 13px; - line-height: 32px; -} -.dhx_combo_select, -.dhx_textarea { - margin-left: 20px; - line-height: 20px; - font-family: Arial; - font-size: 13px; -} -.gridbox_dhx_terrace.gridbox .dhx_combo_edit { - padding: 1px 0px 1px 1px; -} -.gridbox_dhx_terrace.gridbox .dhx_sub_row { - background-color: transparent; -} -.gridbox_dhx_terrace.gridbox table.hdr td.filter { - padding-left: 20px; - line-height: 41px; - height: 30px; -} -div.gridbox_dhx_terrace.gridbox td.filter input, -div.gridbox_dhx_terrace.gridbox td.filter select { - font-size: 13px !important; - font-family: Arial !important; - height: 22px; - border-radius: 3px; - border: 1px solid #cccccc; - background: #ffffff; - box-shadow: none; -} -.gridbox_dhx_terrace.gridbox .dhx_combo_box.dhx_terrace { - height: 30px !important; - margin-left: -20px; -} -.dhx_header_cmenu { - background-color: #ffffff; - border: 2px outset silver; - z-index: 2; -} -.dhx_header_cmenu_item { - white-space: nowrap; -} -.dhx_pbox { - margin-top: 3px; - border: 1px solid #D4D0C8; - border-top: 0px; - font-size: 10px; -} -.dhx_pline { - background-color: white; - margin: -15px 10px 10px 10px; - padding: 0px 5px 0px 5px; - float: left; -} -.dhx_page, -.dhx_pager_info { - margin: 3px; - text-align: center; - font-family: tahoma; - font-size: 12px; - float: left; - cursor: pointer; - color: black; - background-color: gray; - padding: 1px; -} -.dhx_pager_info { - white-space: nowrap; - background-color: white; - margin: -8px 10px 10px 10px; - padding: 0px 5px 0px 5px; - cursor: default; -} -.dhx_page div { - background-color: white; - width: 16px; - height: 17px; - vertical-align: middle; -} -div.dhx_page_active { - font-weight: bold; - background-color: lightgrey; - cursor: default; - color: white; -} -.dhx_pbox_modern { - margin-top: 3px; - border: 1px solid #D6D6D6; - border-top: 0px; - font-size: 10px; -} -.dhx_pline_modern { - background-color: white; - margin: -15px 10px 10px 10px; - padding: 0px 5px 0px 5px; - float: left; -} -.dhx_page_modern, -.dhx_pager_info_modern { - margin: 3px; - text-align: center; - font-family: tahoma; - font-size: 12px; - float: left; - cursor: pointer; - color: #055A78; - background-color: #D6D6D6; - padding: 1px; -} -.dhx_pager_info_modern { - white-space: nowrap; - background-color: white; - margin: -8px 10px 10px 10px; - padding: 0px 5px 0px 5px; - cursor: default; -} -.dhx_page_modern div { - background-color: white; - width: 16px; - height: 17px; - vertical-align: middle; -} -div.dhx_page_active_modern { - font-weight: bold; - background-color: #055A78; - cursor: default; - color: white; -} -.dhx_pbox_light { - margin-top: 3px; - border: 1px solid #C2D5DC; - border-top: 0px; - font-size: 10px; -} -.dhx_pline_light { - background-color: white; - margin: -15px 10px 10px 10px; - padding: 0px 5px 0px 5px; - float: left; -} -.dhx_page_light, -.dhx_pager_info_light { - margin: 3px; - text-align: center; - font-family: tahoma; - font-size: 12px; - float: left; - cursor: pointer; - color: #055A78; - background-color: #93AFBA; - padding: 1px; -} -.dhx_pager_info_light { - white-space: nowrap; - background-color: white; - margin: -8px 10px 10px 10px; - padding: 0px 5px 0px 5px; - cursor: default; -} -.dhx_page_light div { - background-color: white; - width: 16px; - height: 17px; - vertical-align: middle; -} -div.dhx_page_active_light { - font-weight: bold; - background-color: #D1DFE3; - cursor: default; - color: white; -} -.calcTable { - width: 100px; - background-color: silver; - border: 1px black solid; -} -.calcButton { - height: 20px; - cursor: pointer; - text-align: center; - background-color: gray; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid silver; - border-right: 1px solid silver; -} -.calcPressed { - height: 20px; - cursor: pointer; - text-align: center; - background-color: gray; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid black; - border-right: 1px solid black; -} -.calcInput { - background-color: white; - font-size: 10px; - font-weight: bold; - font-family: tahoma, arial; -} -.calkSubmit { - padding: 2px; - cursor: pointer; - text-align: center; - background-color: silver; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid white; - border-right: 1px solid white; -} -.dhxgrid_sort_desc, -.dhxgrid_sort_asc { - width: 9px; - height: 8px; - background-image: url("../imgs/dhxgrid_terrace/sort_desc.gif"); - background-repeat: no-repeat; -} -.dhxgrid_sort_asc { - background-image: url("../imgs/dhxgrid_terrace/sort_asc.gif"); - background-repeat: no-repeat; -} diff --git a/themes/sources4.0/dhtmlxGrid/codebase/skins/dhtmlxgrid_dhx_web.css b/themes/sources4.0/dhtmlxGrid/codebase/skins/dhtmlxgrid_dhx_web.css deleted file mode 100644 index 8cbc228..0000000 --- a/themes/sources4.0/dhtmlxGrid/codebase/skins/dhtmlxgrid_dhx_web.css +++ /dev/null @@ -1,586 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* skin detected, extra file: skins/dhx_web.less */ - -div.gridbox { - overflow: hidden; - text-align: left; -} -.dhx_sub_row { - background-color: #ffffff; -} -div.gridbox .xhdr { - background-color: #D4D0C8; -} -div.gridbox table.obj { - height: 1px; -} -div.gridbox table.hdr td { - line-height: normal; - font-family: arial; - font-size: 12px; - background-color: #D4D0C8; - border: 1px solid; - border-color: #ffffff Gray Gray #ffffff; - text-align: center; - margin: 0px; - padding: 5px 0px 5px 0px; - font-weight: normal; - -moz-user-select: none; - -moz-user-select: -moz-none; - overflow: hidden; - empty-cells: show; -} -div.gridbox table.hdr td div.hdrcell { - overflow: hidden; -} -div.gridbox table.obj td { - border: 1px solid; - border-color: #ffffff Gray Gray #ffffff; - font-family: Arial; - font-size: 12px; - -moz-user-select: none; - -moz-user-select: -moz-none; - overflow: hidden; - padding-top: 0px; - padding-bottom: 0px; - empty-cells: show; -} -div.gridbox table.obj th, -div.gridbox table.hdr th { - padding: 0px 0px 0px 0px; - margin: 0px 0px 0px 0px; -} -div.gridbox table.row20px tr td { - height: 20px; - white-space: nowrap; - padding: 0px; -} -div.gridbox .objbox { - background-color: #ffffff; - position: relative; - -webkit-overflow-scrolling: touch; -} -div.gridbox table.obj td span.space, -div.gridbox table.obj td img.space { - width: 18px; -} -div.gridbox table.obj tr.rowselected td.cellselected, -div.gridbox table.obj td.cellselected { - background-color: #d8d8d8; - color: black; -} -div.gridbox table.obj tr.rowselected td { - background-color: #e1e0d7; - color: black; -} -div.gridbox table.obj td.editable { - -moz-user-select: text; -} -div.gridbox table.obj td.group_row { - vertical-align: middle; - font-family: Tahoma; - font-size: 12px; - color: #000000; - font-weight: bold; - height: 30px; - border: 0px; - border-bottom: 2px solid navy; -} -.dragSpanDiv { - font-family: Tahoma; - font-size: 12px; - color: #000000; - border: 1px gray solid; - background-color: white; - z-index: 999; -} -.dhx_combo_select { - font-family: Tahoma; - font-size: 12px; - color: #000000; - border: 1px solid; - border-color: black silver silver black; - background-color: #ffffff; - overflow: hidden; - cursor: default; - position: absolute; - height: auto; - z-index: 600; -} -.dhx_combo_edit { - width: 100%; - border: 0px; - padding: 0px; - padding-right: 1px !ie; - margin: 0px; - font-family: Tahoma; - font-size: 12px; - color: #000000; - overflow: hidden; -} -.dhx_textarea { - border: 1px solid; - border-color: black silver silver black; - position: absolute; - height: 100px; - z-index: 600; -} -.dhx_clist { - background-color: white; - border: 1px solid black; - padding: 2px 2px 2px 2px; - z-index: 300; -} -.gridDragLine { - position: absolute; - top: 10px; - left: 0px; - width: 100%; - height: 2px; - background-color: black; - overflow: hidden; -} -div.pagingBlock { - font-family: Tahoma; - font-size: 12px; - color: #000000; -} -div.pagingBlock .pagingCurrentPage { - font-weight: bold; - cursor: default; -} -div.pagingBlock .pagingPage { - cursor: pointer; - text-decoration: underline; -} -span.recordsInfoBlock { - font-family: Tahoma; - font-size: 12px; - color: #000000; -} -div.pagingBlock a { - text-decoration: none; - padding-right: 2px; - color: black; - cursor: pointer; -} -div.pagingBlock a.dhx_not_active { - text-decoration: none; - cursor: default; -} -.toolbar_select { - font-size: 10px; -} -.dhtmlxGrid_selection { - -moz-opacity: 0.5; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50); - background-color: yellow; - opacity: 0.5; - border: 1px dotted black; -} -div.gridbox div.ftr { - position: absolute; - left: 0px; - bottom: 1px; - width: 100%; - overflow: hidden; -} -div.gridbox div.ftr td { - padding: 0px; - padding-left: 10px; - padding-right: 5px; - border-top: 1px solid gray; - border-right: 1px solid gray; - background-color: #ffffcc; - font-style: italic; - font-family: Tahoma; - font-size: 12px; - color: #000000; - overflow: hidden; -} -div.gridbox table.hdr td.columnTargetR div.hdrcell { - border-right: 3px double #FF6600; - border-left: 3px solid #D4D0C8; -} -div.gridbox table.hdr td.columnTargetL div.hdrcell { - border-right: 3px solid #D4D0C8; - border-left: 3px double #FF6600; -} -.dhx_dragColDiv { - font-family: Tahoma; - font-size: 12px; - color: #000000; - background-color: #D4D0C8; - border: 1px solid; - border-color: white Gray Gray white; - text-align: center; - margin: 0px; - padding: 5px 20px 5px 20px; - font-weight: normal; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=75); - -moz-opacity: 0.75; - opacity: 0.75; -} -.dhtmlx_live_validation_error { - background-color: #FFE0E0 !important; -} -.dhtmlx_validation_error { - border-bottom: 2px solid red !important; -} -.dhx_header_cmenu { - background-color: #ffffff; - border: 2px outset silver; - z-index: 2; -} -.dhx_header_cmenu_item { - white-space: nowrap; -} -div.gridbox td.filter input, -div.gridbox td.filter select { - width: 90%; - font-family: Tahoma; - font-size: 12px; - color: #000000; - -moz-user-select: text; -} -div.gridbox_dhx_web.gridbox .xhdr { - background-color: #f4f4f4; - border-bottom: 2px solid #53abe6; -} -div.gridbox_dhx_web.gridbox table.hdr tr { - background-color: #f4f4f4; -} -div.gridbox_dhx_web.grid table.obj { - font-family: Tahoma; - font-size: 12px; - color: #000000; -} -div.gridbox_dhx_web.gridbox table.obj tr td { - border-width: 0px; - padding-right: 4px; - padding-left: 4px; -} -div.gridbox_dhx_web.gridbox table.hdr td div.hdrcell { - width: auto; - padding-left: 10px; - width: 100% !ie; -} -div.gridbox_dhx_web.gridbox table.hdr td { - border-width: 0px 1px 0px 0px; - border-top: 1px solid #dbdbdb; - border-right-color: #dbdbdb; - padding: 7px 0px 8px 0px; - background-color: #f4f4f4; - font-family: Tahoma; - font-size: 12px; - color: #000000; - vertical-align: top; - text-align: left; -} -div.gridbox_dhx_web.gridbox table.hdr tr:nth-child(2) td { - border-top: 1px solid #f4f4f4; -} -div.gridbox_dhx_web.gridbox { - border: 1px solid #c7c7c7; -} -div.gridbox_dhx_web.gridbox table.obj tr td { - padding-top: 3px; - padding-bottom: 4px; -} -div.gridbox_dhx_web.gridbox table.obj.row20px tr td { - padding-top: 0px; - padding-bottom: 0px; - height: 29px; - line-height: 29px; - border-bottom: 1px solid #ededed; - border-right: 1px solid #ededed; -} -div.gridbox_dhx_web.gridbox table.obj.row20px tr td:last-child { - border-right: 1px solid #ffffff; -} -div.gridbox_dhx_web.gridbox table.obj tr td.editable { - padding: 0px; -} -div.gridbox_dhx_web.gridbox table.obj tr td.editable div.treegrid_cell { - padding: 1px 4px; -} -div.gridbox_dhx_web.gridbox table.obj tr.rowselected { - background-color: #85d3ff; - color: #000000; -} -div.gridbox_dhx_web.gridbox table.obj tr.rowselected td { - background-color: #85d3ff; - color: #000000; -} -div.gridbox_dhx_web.gridbox table.obj.row20px tr.rowselected td { - background-color: #85d3ff; - border-right-color: #85d3ff; - color: #000000; -} -div.gridbox_dhx_web.gridbox table.obj tr.rowselected td.cellselected { - background-color: #85d3ff; - color: #000000; -} -div.gridbox_dhx_web.gridbox .odd_dhx_web { - background-color: #f9f9f9; - color: #000000; -} -.dhx_combo_select, -.gridbox_dhx_web.gridbox .dhx_combo_edit, -.gridbox_dhx_web.gridbox .dhx_textarea { - font-family: Tahoma; - font-size: 12px; - color: #000000; -} -.gridbox_dhx_web.gridbox .dhx_combo_edit { - padding: 1px 0px 0px 1px; -} -.gridbox_dhx_web.gridbox .dhx_sub_row { - background-color: transparent; -} -.dhx_header_cmenu { - background-color: #ffffff; - border: 2px outset silver; - z-index: 2; -} -.dhx_header_cmenu_item { - white-space: nowrap; -} -.dhx_pbox { - margin-top: 3px; - border: 1px solid #D4D0C8; - border-top: 0px; - font-size: 10px; -} -.dhx_pline { - background-color: white; - margin: -15px 10px 10px 10px; - padding: 0px 5px 0px 5px; - float: left; -} -.dhx_page, -.dhx_pager_info { - margin: 3px; - text-align: center; - font-family: Tahoma; - font-size: 12px; - color: #000000; - float: left; - cursor: pointer; - color: black; - background-color: gray; - padding: 1px; -} -.dhx_pager_info { - white-space: nowrap; - background-color: white; - margin: -8px 10px 10px 10px; - padding: 0px 5px 0px 5px; - cursor: default; -} -.dhx_page div { - background-color: white; - width: 16px; - height: 17px; - vertical-align: middle; -} -div.dhx_page_active { - font-weight: bold; - background-color: lightgrey; - cursor: default; - color: white; -} -.dhx_pbox_modern { - margin-top: 3px; - border: 1px solid #D6D6D6; - border-top: 0px; - font-size: 10px; -} -.dhx_pline_modern { - background-color: white; - margin: -15px 10px 10px 10px; - padding: 0px 5px 0px 5px; - float: left; -} -.dhx_page_modern, -.dhx_pager_info_modern { - margin: 3px; - text-align: center; - font-family: Tahoma; - font-size: 12px; - color: #000000; - float: left; - cursor: pointer; - color: #055A78; - background-color: #D6D6D6; - padding: 1px; -} -.dhx_pager_info_modern { - white-space: nowrap; - background-color: white; - margin: -8px 10px 10px 10px; - padding: 0px 5px 0px 5px; - cursor: default; -} -.dhx_page_modern div { - background-color: white; - width: 16px; - height: 17px; - vertical-align: middle; -} -div.dhx_page_active_modern { - font-weight: bold; - background-color: #055A78; - cursor: default; - color: white; -} -.dhx_pbox_light { - margin-top: 3px; - border: 1px solid #C2D5DC; - border-top: 0px; - font-size: 10px; -} -.dhx_pline_light { - background-color: white; - margin: -15px 10px 10px 10px; - padding: 0px 5px 0px 5px; - float: left; -} -.dhx_page_light, -.dhx_pager_info_light { - margin: 3px; - text-align: center; - font-family: Tahoma; - font-size: 12px; - color: #000000; - float: left; - cursor: pointer; - color: #055A78; - background-color: #93AFBA; - padding: 1px; -} -.dhx_pager_info_light { - white-space: nowrap; - background-color: white; - margin: -8px 10px 10px 10px; - padding: 0px 5px 0px 5px; - cursor: default; -} -.dhx_page_light div { - background-color: white; - width: 16px; - height: 17px; - vertical-align: middle; -} -div.dhx_page_active_light { - font-weight: bold; - background-color: #D1DFE3; - cursor: default; - color: white; -} -.calcTable { - width: 100px; - background-color: silver; - border: 1px black solid; -} -.calcButton { - height: 20px; - cursor: pointer; - text-align: center; - background-color: gray; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid silver; - border-right: 1px solid silver; -} -.calcPressed { - height: 20px; - cursor: pointer; - text-align: center; - background-color: gray; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid black; - border-right: 1px solid black; -} -.calcInput { - background-color: white; - font-size: 10px; - font-weight: bold; - font-family: tahoma, arial; -} -.calkSubmit { - padding: 2px; - cursor: pointer; - text-align: center; - background-color: silver; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid white; - border-right: 1px solid white; -} -.calcTable { - width: 100px; - background-color: silver; - border: 1px black solid; -} -.calcButton { - height: 20px; - cursor: pointer; - text-align: center; - background-color: gray; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid silver; - border-right: 1px solid silver; -} -.calcPressed { - height: 20px; - cursor: pointer; - text-align: center; - background-color: gray; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid black; - border-right: 1px solid black; -} -.calcInput { - background-color: white; - font-size: 10px; - font-weight: bold; - font-family: tahoma, arial; -} -.calkSubmit { - padding: 2px; - cursor: pointer; - text-align: center; - background-color: silver; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid white; - border-right: 1px solid white; -} -.dhxgrid_sort_desc, -.dhxgrid_sort_asc { - width: 9px; - height: 8px; - background-image: url("../imgs/dhxgrid_web/sort_desc.gif"); - background-repeat: no-repeat; -} -.dhxgrid_sort_asc { - background-image: url("../imgs/dhxgrid_web/sort_asc.gif"); - background-repeat: no-repeat; -} diff --git a/themes/sources4.0/dhtmlxGrid/codebase/skins/dhtmlxgrid_material.css b/themes/sources4.0/dhtmlxGrid/codebase/skins/dhtmlxgrid_material.css deleted file mode 100644 index ca40ba3..0000000 --- a/themes/sources4.0/dhtmlxGrid/codebase/skins/dhtmlxgrid_material.css +++ /dev/null @@ -1,715 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: material - include extra file: skins/material.less -*/ - -@keyframes dhx_loader_rotate { - 100% { - transform: rotate(360deg); - } -} -@keyframes dhx_loader_dash { - 0% { - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - } - 50% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -35px; - } - 100% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -124px; - } -} -div.gridbox { - overflow: hidden; - text-align: left; -} -.dhx_sub_row { - background-color: white; -} -div.gridbox .xhdr { - background-color: #D4D0C8; -} -div.gridbox table.obj { - height: 1px; -} -div.gridbox table.hdr td { - line-height: normal; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: red; - background-color: #D4D0C8; - border: px solid; - border-color: white; - text-align: center; - margin: 0px; - padding: 5px 0px 5px 0px; - font-weight: normal; - overflow: hidden; - empty-cells: show; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -div.gridbox table.obj td { - overflow: hidden; - padding-top: 0px; - padding-bottom: 0px; - empty-cells: show; - white-space: normal; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -div.gridbox table.obj th, -div.gridbox table.hdr th { - padding: 0px; - margin: 0px; -} -div.gridbox table.row20px tr td { - height: 20px; - white-space: nowrap; - padding: 0px; -} -div.gridbox .objbox { - background-color: white; - position: relative; - -webkit-overflow-scrolling: touch; -} -div.gridbox table.obj td span.space, -div.gridbox table.obj td img.space { - width: 18px; -} -div.gridbox table.obj td.editable { - -webkit-user-select: text; - -khtml-user-select: text; - -moz-user-select: text; - -ms-user-select: text; - -o-user-select: text; - user-select: text; -} -div.gridbox table.obj td.group_row { - vertical-align: middle; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; - font-weight: bold; - height: 30px; - border: 0px; - border-bottom: 2px solid navy; -} -.dragSpanDiv { - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; - border: 1px gray solid; - background-color: white; - z-index: 999; -} -.dhx_combo_select { - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; - border: 1px solid; - border-color: black silver silver black; - background-color: white; - overflow: auto; - cursor: default; - position: absolute; - height: auto; - z-index: 600; -} -.dhx_combo_edit { - width: 100%; - border: 0px; - padding: 0px; - padding-right: 1px !ie; - margin: 0px; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; - overflow: hidden; - display: block; -} -table.obj.row20px .dhx_combo_edit { - line-height: 28px; -} -.dhx_textarea { - border: 1px solid; - border-color: black silver silver black; - position: absolute; - height: 100px; - z-index: 600; -} -.dhx_clist { - background-color: white; - border: 1px solid black; - padding: 2px 2px 2px 2px; - z-index: 300; -} -.gridDragLine { - position: absolute; - top: 10px; - left: 0px; - width: 100%; - height: 2px; - background-color: black; - overflow: hidden; - pointer-events: none; -} -div.pagingBlock { - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -div.pagingBlock .pagingCurrentPage { - font-weight: bold; - cursor: default; -} -div.pagingBlock .pagingPage { - cursor: pointer; - text-decoration: underline; -} -span.recordsInfoBlock { - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -div.pagingBlock a { - text-decoration: none; - padding-right: 2px; - color: black; - cursor: pointer; -} -div.pagingBlock a.dhx_not_active { - text-decoration: none; - cursor: default; -} -.toolbar_select { - font-size: 10px; -} -.dhtmlxGrid_selection { - opacity: 0.5; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50); - background-color: yellow; - border: 1px dotted black; -} -div.gridbox div.ftr { - position: absolute; - left: 0px; - bottom: 1px; - width: 100%; - overflow: hidden; -} -div.gridbox div.ftr td { - padding: 5px 5px 5px 10px; - border-top: 1px solid gray; - border-right: 1px solid white; - background-color: white; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; - overflow: hidden; -} -div.gridbox table.hdr td.columnTargetR div.hdrcell { - border-right: 3px double #FF6600; - border-left: 3px solid #D4D0C8; -} -div.gridbox table.hdr td.columnTargetL div.hdrcell { - border-right: 3px solid #D4D0C8; - border-left: 3px double #FF6600; -} -.dhx_dragColDiv { - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; - background-color: #D4D0C8; - border: 1px solid; - border-color: white Gray Gray white; - text-align: center; - margin: 0px; - padding: 5px 20px 5px 20px; - font-weight: normal; - opacity: 0.75; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=75); - z-index: 100; -} -.dhtmlx_live_validation_error { - background-color: #FFE0E0 !important; -} -.dhtmlx_validation_error { - border-bottom: 2px solid red !important; -} -.dhx_header_cmenu { - background-color: #ffffff; - border: 2px outset silver; - z-index: 2; -} -.dhx_header_cmenu_item { - white-space: nowrap; -} -div.gridbox .filter input, -div.gridbox .filter select { - width: 100%; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; - -webkit-user-select: text; - -khtml-user-select: text; - -moz-user-select: text; - -ms-user-select: text; - -o-user-select: text; - user-select: text; - padding: 2px; - box-sizing: border-box; -} -div.gridbox .filter input::-ms-clear { - display: none; -} -div.gridbox_material.gridbox .xhdr { - background-color: white; - border-bottom: 1px solid #dfdfdf; -} -div.gridbox_material.gridbox table.hdr tr { - background-color: white; -} -div.gridbox_material.grid table.obj { - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -div.gridbox_material.gridbox table.obj tr td { - border-bottom: 1px solid #ffffff; - border-right: 1px solid #ffffff; - padding-right: 4px; - padding-left: 4px; - overflow: hidden; -} -div.gridbox_material.gridbox table.hdr td div.hdrcell { - overflow: hidden; - width: auto; - padding-left: 4px; - width: 100% !ie; -} -div.gridbox_material.gridbox table.hdr td { - border-width: 0px 1px 0px 0px; - border: 1px solid white; - overflow: hidden; - empty-cells: show; - white-space: normal; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - padding: 9px 0px 8px 0px; - background-color: white; - font-size: 12px; - font-family: Roboto, Arial, Helvetica; - color: #9f9f9f; - font-weight: 500; - vertical-align: top; - text-align: left; - position: relative; -} -div.gridbox_material.gridbox table.hdr tr:nth-child(2) td { - border-top: 1px solid white; -} -div.gridbox_material.gridbox { - border: 1px solid #dfdfdf; -} -div.gridbox_material.gridbox table.obj tr td, -.dhx_grid_adjust { - padding-top: 3px; - padding-bottom: 4px; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -div.gridbox_material.gridbox table.obj.row20px tr td { - padding-top: 0px; - padding-bottom: 0px; - height: 32px; - line-height: 32px; - border-bottom: 1px solid #dfdfdf; - border-right: 1px solid white; -} -div.gridbox_material.gridbox table.obj.row20px tr td:last-child { - border-right: 1px solid white; -} -div.gridbox_material.gridbox table.obj tr td.editable .dhx_combo_edit { - margin-left: -3px; -} -div.gridbox_material.gridbox table.obj tr td.editable .dhxcombo_in_grid_parent { - margin-left: -3px !important; -} -div.gridbox_material.gridbox table.obj tr td.editable:first-child { - border: 0px solid white !important; - padding-left: 4px !important; -} -div.gridbox_material.gridbox table.obj tr td.editable div.treegrid_cell { - padding: 1px 4px; -} -div.gridbox_material.gridbox table.obj tr.rowselected { - background-color: #eeeeee; - color: #404040; -} -div.gridbox_material.gridbox table.obj tr.rowselected td { - background-color: #eeeeee; - color: #404040; -} -div.gridbox_material.gridbox table.obj tr td:first-child { - padding-left: 10px; -} -div.gridbox_material.gridbox table.obj tr.rowselected td:first-child { - border-left: 2px solid #3399cc; - padding-left: 8px; -} -div.gridbox_material.gridbox table.obj.row20px tr.rowselected td { - background-color: #eeeeee; - border-right-color: #eeeeee; - color: #404040; -} -div.gridbox_material.gridbox table.obj tr td.cellselected { - background-color: #eeeeee; - color: #404040; -} -div.gridbox_material.gridbox .odd_material { - background-color: #ffffff; - color: #404040; -} -.dhx_combo_select, -.gridbox_material.gridbox .dhx_combo_edit, -.gridbox_material.gridbox .dhx_textarea { - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -.gridbox_material.gridbox .dhx_combo_edit { - padding: 1px 0px 0px 4px; -} -.gridbox_material.gridbox .dhx_sub_row { - background-color: transparent; -} -.dhx_header_cmenu { - background-color: #ffffff; - border: 2px outset silver; - z-index: 2; -} -.dhx_header_cmenu_item { - white-space: nowrap; -} -.dhx_pbox { - margin-top: 3px; - border: 1px solid #D4D0C8; - border-top: 0px; - font-size: 10px; -} -.dhx_pline { - background-color: white; - margin: -15px 10px 10px 10px; - padding: 0px 5px 0px 5px; - float: left; -} -.dhx_page, -.dhx_pager_info { - margin: 3px; - text-align: center; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; - float: left; - cursor: pointer; - color: black; - background-color: gray; - padding: 1px; -} -.dhx_pager_info { - white-space: nowrap; - background-color: white; - margin: -8px 10px 10px 10px; - padding: 0px 5px 0px 5px; - cursor: default; -} -.dhx_page div { - background-color: white; - width: 16px; - height: 17px; - vertical-align: middle; -} -div.dhx_page_active { - font-weight: bold; - background-color: lightgrey; - cursor: default; - color: white; -} -.dhx_pbox_modern { - margin-top: 3px; - border: 1px solid #D6D6D6; - border-top: 0px; - font-size: 10px; -} -.dhx_pline_modern { - background-color: white; - margin: -15px 10px 10px 10px; - padding: 0px 5px 0px 5px; - float: left; -} -.dhx_page_modern, -.dhx_pager_info_modern { - margin: 3px; - text-align: center; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; - float: left; - cursor: pointer; - color: #055A78; - background-color: #D6D6D6; - padding: 1px; -} -.dhx_pager_info_modern { - white-space: nowrap; - background-color: white; - margin: -8px 10px 10px 10px; - padding: 0px 5px 0px 5px; - cursor: default; -} -.dhx_page_modern div { - background-color: white; - width: 16px; - height: 17px; - vertical-align: middle; -} -div.dhx_page_active_modern { - font-weight: bold; - background-color: #055A78; - cursor: default; - color: white; -} -.dhx_pbox_light { - margin-top: 3px; - border: 1px solid #C2D5DC; - border-top: 0px; - font-size: 10px; -} -.dhx_pline_light { - background-color: white; - margin: -15px 10px 10px 10px; - padding: 0px 5px 0px 5px; - float: left; -} -.dhx_page_light, -.dhx_pager_info_light { - margin: 3px; - text-align: center; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; - float: left; - cursor: pointer; - color: #055A78; - background-color: #93AFBA; - padding: 1px; -} -.dhx_pager_info_light { - white-space: nowrap; - background-color: white; - margin: -8px 10px 10px 10px; - padding: 0px 5px 0px 5px; - cursor: default; -} -.dhx_page_light div { - background-color: white; - width: 16px; - height: 17px; - vertical-align: middle; -} -div.dhx_page_active_light { - font-weight: bold; - background-color: #D1DFE3; - cursor: default; - color: white; -} -.calcTable { - width: 100px; - background-color: silver; - border: 1px black solid; -} -.calcButton { - height: 20px; - cursor: pointer; - text-align: center; - background-color: gray; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid silver; - border-right: 1px solid silver; -} -.calcPressed { - height: 20px; - cursor: pointer; - text-align: center; - background-color: gray; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid black; - border-right: 1px solid black; -} -.calcInput { - background-color: white; - font-size: 10px; - font-weight: bold; - font-family: Roboto, Arial, Helvetica; -} -.calkSubmit { - padding: 2px; - cursor: pointer; - text-align: center; - background-color: silver; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid white; - border-right: 1px solid white; -} -.calcTable { - width: 100px; - background-color: silver; - border: 1px black solid; -} -.calcButton { - height: 20px; - cursor: pointer; - text-align: center; - background-color: gray; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid silver; - border-right: 1px solid silver; -} -.calcPressed { - height: 20px; - cursor: pointer; - text-align: center; - background-color: gray; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid black; - border-right: 1px solid black; -} -.calcInput { - background-color: white; - font-size: 10px; - font-weight: bold; - font-family: Roboto, Arial, Helvetica; -} -.calkSubmit { - padding: 2px; - cursor: pointer; - text-align: center; - background-color: silver; - color: white; - font-size: 10px; - font-weight: bold; - border-top: 1px solid white; - border-right: 1px solid white; -} -.dhxgrid_sort_desc, -.dhxgrid_sort_asc { - width: 0px; - height: 0px; -} -div.gridbox_material.gridbox table.hdr td.dhxgrid_sort_desc_col, -div.gridbox_material.gridbox table.hdr td.dhxgrid_sort_asc_col { - background-image: url("../imgs/dhxgrid_material/sort_desc.gif"); - background-position: 3px 7px; - background-repeat: no-repeat; -} -div.gridbox_material.gridbox table.hdr td.dhxgrid_sort_desc_col div, -div.gridbox_material.gridbox table.hdr td.dhxgrid_sort_asc_col div { - padding-left: 18px; - padding-right: 14px; -} -div.gridbox_material.gridbox table.hdr td.dhxgrid_sort_asc_col { - background-image: url("../imgs/dhxgrid_material/sort_asc.gif"); -} -.dhxgrid_rh_material { - position: absolute; - top: -20px; - left: -33px; - width: 29px; - height: 10px; - margin: 0px; - padding: 0px; - border-width: 0px; - font-size: 1px; - overflow: hidden; -} -.dhxgrid_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 40px; - height: 10px; - overflow: hidden; -} -div.gridbox_material.gridbox table.obj.row20px tr td img { - display: block; -} -div.gridbox_material.gridbox table.obj.row20px tr td.group_row img, -div.gridbox_material.gridbox table.obj.row20px tr td .treegrid_cell img { - display: inline; -} -.grid_cell_dyn { - position: relative; - padding-right: 2px; - width: 100%; - overflow: hidden; - white-space: nowrap; -} -.grid_cell_dyn img { - position: absolute; - top: 7px; - left: 0px; - height: 15px; -} -.grid_cell_dyn span { - padding-left: 20px; - width: 100%; -} -.grid_collapse_icon { - margin-top: 1px; -} -.treegrid_cell > i { - padding-right: 5px; - padding-left: 3px; - font-size: 16px; -} -.dhx_row_drag_active { - background: #eee !important; -} diff --git a/themes/sources4.0/dhtmlxLayout/codebase/dhtmlxlayout.js b/themes/sources4.0/dhtmlxLayout/codebase/dhtmlxlayout.js deleted file mode 100644 index 2dbb8b1..0000000 --- a/themes/sources4.0/dhtmlxLayout/codebase/dhtmlxlayout.js +++ /dev/null @@ -1,2197 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -function dhtmlXLayoutObject(base, pattern, skin) { - - // console.log("resize over iframe"); - - var autoload = null; - if (base != null && typeof(base) == "object" && typeof(base.tagName) == "undefined" && base._isCell != true) { - // api-init - autoload = {}; - if (base.autosize != null) autoload.autosize = base.autosize; - if (base.cells != null) autoload.cells = base.cells; - if (base.pattern != null) pattern = base.pattern; - if (base.skin != null) skin = base.skin; - if (base.offsets != null) autoload.offsets = base.offsets; - base = base.parent; - } - - if (base == document.body) { - // fullscreen - this.base = base; - } else if (typeof(base) == "string") { - // id - this.base = document.getElementById(base); - } else { - // attach - if (base._isCell == true) { - - var conf = (typeof(autoload) != "undefined" && autoload != null ? autoload : {}); - if (conf.pattern == null && pattern != null) conf.pattern = pattern; - if (conf.skin == null && skin != null) conf.skin = skin; - - var layout = base.attachLayout(conf); - return layout; - - } - - this.base = base; - } - - if (this.base != document.body) { - while (this.base.childNodes.length > 0) this.base.removeChild(this.base.lastChild); - } - - this.cdata = {}; - this.conf = { - skin: (skin||window.dhx4.skin||(typeof(dhtmlx)!="undefined"?dhtmlx.skin:null)||window.dhx4.skinDetect("dhxlayout")||"dhx_skyblue"), - hh: 20, // header height collapsed, add auto-detect? - progress: false, - autosize: "b", // cell which will sized when parent size changed - nextCell: {a:"b",b:"a"}, - ofs: {t:0,b:0,l:0,r:0}, // base outer offset (fullscreen margins) - ofs_nodes: {t:{},b:{}}, // attached menu/toolbar/sb/hdr/ftr - inited: false, - b_size: {w:-1,h:-1} // base size for onResize - }; - - // deparator width - this.conf.sw = this._detectSW(); - - // apply only to 1st parent - if (true||this.base._isParentCell !== true) this.base.className += " dhxlayout_base_"+this.conf.skin; - - // custom offset for body - if (this.base == document.body) { - var ofsDef = { - dhx_skyblue: {t: 2, b: 2, l: 2, r: 2}, - dhx_web: {t: 8, b: 8, l: 8, r: 8}, - dhx_terrace: {t: 9, b: 9, l: 8, r: 8} - }; - this.conf.ofs = (ofsDef[this.conf.skin] != null ? ofsDef[this.conf.skin] : ofsDef.dhx_skyblue); - } - - // conf-offsets override (attachObject usualy) - if (autoload != null && autoload.offsets != null) { - this.setOffsets(autoload.offsets); - } else if (this.base._ofs != null) { - this.setOffsets(this.base._ofs); - this.base._ofs = null; - delete this.base._ofs; - } - - - this.dataNodes = {}; // menu/toolbar/ribbon/sb/hdr/ftr - - var that = this; - - this._getLayout = function() { - return this; - } - - this.mainInst = (base._layoutMainInst != null ? base._layoutMainInst : null); - - this._getMainInst = function(){ - if (this.mainInst != null) return this.mainInst._getMainInst(); - return this; - } - - this._init = function(pattern) { - - var t = (typeof(pattern) == "string" ? this.tplData[pattern] : pattern ); - - this.conf.mode = t.mode; - - if (this.conf.mode == "c") { - this.cdata.a = new dhtmlXLayoutCell("a", this); - } else { - this.cdata.a = new dhtmlXLayoutCell("a", this); - this.cdata.b = new dhtmlXLayoutCell("b", this); - } - - for (var a in this.cdata) { - this.base.appendChild(this.cdata[a].cell); - this.cdata[a].conf.init = { w: 0.5, h: 0.5 }; - } - - if (this.conf.mode != "c") { - - var mainInst = this._getMainInst(); - if (mainInst.conf.sep_idx == null) mainInst.conf.sep_idx = 1; else mainInst.conf.sep_idx++; - - this.sep = new dhtmlXLayoutSepObject(this.conf.mode, mainInst.conf.sep_idx); - this.base.appendChild(this.sep.sep); - - this.sep._getLayout = function() { - return that._getLayout(); - } - - mainInst = null; - } - - if (t.cells != null) { - for (var a in t.cells) { - if (t.cells[a].width != null) this.cdata[a].conf.init.w = t.cells[a].width; - if (t.cells[a].height != null) this.cdata[a].conf.init.h = t.cells[a].height; - if (t.cells[a].name != null) { - this.cdata[a].conf.name = t.cells[a].name; - this.cdata[a].setText(t.cells[a].name); - } - // fixed size conf - if (t.cells[a].fsize != null) this.cdata[a].conf.fsize = t.cells[a].fsize; - } - } - - this.setSizes(); - - for (var a in this.cdata) this.cdata[a].conf.init = {}; - - if (t.cells != null) { - for (var a in t.cells) { - if (t.cells[a].layout != null) { - this.cdata[a].dataNested = true; - this.cdata[a]._layoutMainInst = this; - this.cdata[a].attachLayout({pattern:t.cells[a].layout}); - this.cdata[a]._layoutMainInst = null; - } - } - } - - } - - this.setSizes = function(parentIdd, autosize, noCalcCont, actionType) { - - var rEv = (this.conf.inited==true && this._getMainInst()==this && this.checkEvent("onResizeFinish")==true ? {}:false); // resize event - - // noCalcCont - skip inner content adjusting, for autoexpand - - var ofsYT = this.conf.ofs.t; - for (var a in this.conf.ofs_nodes.t) ofsYT += (this.conf.ofs_nodes.t[a]==true ? this.dataNodes[a].offsetHeight:0); - - var ofsYB = this.conf.ofs.b; - for (var a in this.conf.ofs_nodes.b) ofsYB += (this.conf.ofs_nodes.b[a]==true ? this.dataNodes[a].offsetHeight:0); - - var ofsXL = this.conf.ofs.l; - var ofsXR = this.conf.ofs.r; - - var baseW = this.base.offsetWidth; - var baseH = this.base.offsetHeight; - - if (this.conf.mode == "c") { - - var ax = ofsXR; - var ay = ofsYT; - var aw = baseW-ofsXL-ofsXR; - var ah = baseH-ofsYT-ofsYB; - - this.cdata.a._setSize(ax, ay, aw, ah, parentIdd, noCalcCont, actionType); - - this.callEvent("_onSetSizes", []); - - if (rEv && (!(this.conf.b_size.w == baseW && this.conf.b_size.h == baseH))) { - this._callMainEvent("onResizeFinish", []); - } - - this.conf.b_size = {w: baseW, h: baseH}; - - return; - } - - if (typeof(autosize) == "undefined") { - - var k = (this.conf.mode=="v"?"w":"h"); - - autosize = this.conf.autosize; - - if (this.cdata.a.conf.collapsed) { - autosize = "b"; - } else if (this.cdata.b.conf.collapsed) { - autosize = "a"; - } else if (parentIdd == "a" || parentIdd == "b") { - autosize = this.conf.nextCell[parentIdd]; - } - - } else { - //debugger - } - - - if (this.conf.mode == "v") { - - if (autosize == "a") { - - // fix "b", fit "a" - - if (this.cdata.b.conf.init.w != null) { - var bw = Math.round(baseW*this.cdata.b.conf.init.w-this.conf.sw/2)-ofsXR; - } else { - var bw = this.cdata.b.conf.size.w; - } - var bx = baseW-bw-ofsXR; - var by = ofsYT; - var bh = baseH-ofsYT-ofsYB; - - // - - var ax = ofsXL; - var ay = by; - var aw = bx-ax-this.conf.sw; - var ah = bh; - - - } else { - - // fix "a", fit "b" - var ax = ofsXL; - var ay = ofsYT; - - // check if init stage - if (this.cdata.a.conf.init.w != null) { - - var aw = Math.round(baseW*this.cdata.a.conf.init.w-this.conf.sw/2)-ax; - } else { - var aw = this.cdata.a.conf.size.w; - } - - var ah = baseH-ay-ofsYB; - - // - var bx = ax+aw+this.conf.sw; - var by = ay; - var bw = baseW-bx-ofsXR; - var bh = ah; - - - } - - - this.cdata.a._setSize(ax, ay, aw, ah, parentIdd, noCalcCont, actionType); - this.cdata.b._setSize(bx, by, bw, bh, parentIdd, noCalcCont, actionType); - - this.sep._setSize(ax+aw, ay, this.conf.sw, ah); - - - } else { - - if (autosize == "a") { - - // fix "b", fit "a" - - if (this.cdata.b.conf.init.h != null) { - var bh = Math.round((baseH-ofsYT)*this.cdata.b.conf.init.h-this.conf.sw/2); - } else { - var bh = this.cdata.b.conf.size.h; - } - var bx = ofsXL; - var by = baseH-ofsYB-bh; - var bw = baseW-bx-ofsXR; - - // - - var ax = bx; - var ay = ofsYT; - var aw = bw; - var ah = by-ay-this.conf.sw; - - - } else { - - // if (this.cdata.b.conf.name == "e") debugger - - // fix "a", fit "b" - - var ax = ofsXL; - var ay = ofsYT; - var aw = baseW-ax-ofsXR; - - // check if init stage - if (this.cdata.a.conf.init.h != null) { - var ah = Math.round((baseH-ofsYT)*this.cdata.a.conf.init.h-this.conf.sw/2); - } else { - var ah = this.cdata.a.conf.size.h; - } - - - // - var bx = ax; - var by = ay+ah+this.conf.sw; - var bw = aw; - var bh = baseH-by-ofsYB; - - } - - this.cdata.a._setSize(ax, ay, aw, ah, parentIdd, noCalcCont, actionType); - this.cdata.b._setSize(bx, by, bw, bh, parentIdd, noCalcCont, actionType); - - this.sep._setSize(ax, ay+ah, aw, this.conf.sw); - - - } - - this.callEvent("_onSetSizes", []); - - // public event for main instance - - if (rEv && (!(this.conf.b_size.w == baseW && this.conf.b_size.h == baseH))) { - this._callMainEvent("onResizeFinish", []); - } - - this.conf.b_size = {w: baseW, h: baseH}; - } - - - this._getAvailWidth = function() { - - // logic: - // 1) take width of all not-collapsed cells marked as "autosize" - // 2) if cell collapsed - try next cell - // 3) get min alaiv width - // 4) base.ofsW - minW -> allowed min - - var w = []; - - for (var q=0; q0?Math.min.apply(window, w):0); - return this.base.offsetWidth-r; - - } - - this._getAvailHeight = function() { - - var h = []; - - for (var q=0; q 0) { - this.dataNodes.haObj.lastChild.style.visibility = "hidden"; - document.body.appendChild(this.dataNodes.haObj.lastChild); - } - this.dataNodes.haObj.parentNode.removeChild(this.dataNodes.haObj); - this.dataNodes.haObj = null; - - this.detachEvent(this.dataNodes.haEv); - this.dataNodes.haEv = null; - - this.conf.ofs_nodes.t.haObj = false; - - delete this.dataNodes.haEv; - delete this.dataNodes.haObj; - - if (!this.conf.unloading) this.setSizes(); - -}; - -dhtmlXLayoutObject.prototype.attachFooter = function(obj, height) { - - if (this.dataNodes.faObj != null) return; - - if (typeof(obj) != "object") obj = document.getElementById(obj); - - this.dataNodes.faObj = document.createElement("DIV"); - this.dataNodes.faObj.className = "dhxlayout_ftr_attached"; - this.dataNodes.faObj.style.height = (height||obj.offsetHeight)+"px"; - - var p = (this.dataNodes.sbObj||(this.conf.pattern=="1C"?this.cdata.a:this.sep.sep)); - if (this.base.lastChild == p) { - this.base.appendChild(this.dataNodes.faObj); - } else { - this.base.insertBefore(this.dataNodes.faObj, p.nextSibling); - } - - this.dataNodes.faEv = this.attachEvent("_onSetSizes", function(){ - this.dataNodes.faObj.style.left = this.conf.ofs.l+"px"; - this.dataNodes.faObj.style.bottom = this.conf.ofs.t+"px"; - this.dataNodes.faObj.style.width = this.base.offsetWidth-this.conf.ofs.l-this.conf.ofs.r+"px"; - }); - - this.dataNodes.faObj.appendChild(obj); - obj.style.visibility = "visible"; - p = obj = null; - - this.conf.ofs_nodes.b.faObj = true; - - this.setSizes(); - -}; - -dhtmlXLayoutObject.prototype.detachFooter = function() { - - if (!this.dataNodes.faObj) return; - - while (this.dataNodes.faObj.childNodes.length > 0) { - this.dataNodes.faObj.lastChild.style.visibility = "hidden"; - document.body.appendChild(this.dataNodes.faObj.lastChild); - } - this.dataNodes.faObj.parentNode.removeChild(this.dataNodes.faObj); - this.dataNodes.faObj = null; - - this.detachEvent(this.dataNodes.faEv); - this.dataNodes.faEv = null; - - this.conf.ofs_nodes.b.faObj = false; - - delete this.dataNodes.faEv; - delete this.dataNodes.faObj; - - if (!this.conf.unloading) this.setSizes(); - -}; -// top-level menu/toolbar/status -dhtmlXLayoutObject.prototype.attachMenu = function(conf) { - - if (this.dataNodes.menu != null) return; - - this.dataNodes.menuObj = document.createElement("DIV"); - this.dataNodes.menuObj.className = "dhxlayout_menu"; - - this.base.insertBefore(this.dataNodes.menuObj, this.dataNodes.toolbarObj||this.dataNodes.ribbonObj||this.cdata.a.cell); - - if (typeof(conf) != "object" || conf == null) conf = {}; - conf.skin = this.conf.skin; - conf.parent = this.dataNodes.menuObj; - - this.dataNodes.menu = new dhtmlXMenuObject(conf); - - this.dataNodes.menuEv = this.attachEvent("_onSetSizes", function(){ - if (this.dataNodes.menuObj.style.display == "none") return; - this.dataNodes.menuObj.style.left = this.conf.ofs.l+"px"; - this.dataNodes.menuObj.style.marginTop = (this.dataNodes.haObj!=null?0:this.conf.ofs.t)+"px"; - this.dataNodes.menuObj.style.width = this.base.offsetWidth-this.conf.ofs.l-this.conf.ofs.r+"px"; - }); - - this.conf.ofs_nodes.t.menuObj = true; - - this.setSizes(); - - conf.parnt = null; - conf = null; - - return this.dataNodes.menu; -}; - -dhtmlXLayoutObject.prototype.detachMenu = function() { - - if (this.dataNodes.menu == null) return; - - this.dataNodes.menu.unload(); - this.dataNodes.menu = null; - - this.dataNodes.menuObj.parentNode.removeChild(this.dataNodes.menuObj); - this.dataNodes.menuObj = null; - - this.detachEvent(this.dataNodes.menuEv); - this.dataNodes.menuEv = null; - - delete this.dataNodes.menu; - delete this.dataNodes.menuObj; - delete this.dataNodes.menuEv; - - this.conf.ofs_nodes.t.menuObj = false; - - if (!this.conf.unloading) this.setSizes(); -}; - -// toolbar - -dhtmlXLayoutObject.prototype.attachToolbar = function(conf) { - - if (!(this.dataNodes.ribbon == null && this.dataNodes.toolbar == null)) return; - - this.dataNodes.toolbarObj = document.createElement("DIV"); - this.dataNodes.toolbarObj.className = "dhxlayout_toolbar"; - this.base.insertBefore(this.dataNodes.toolbarObj, this.cdata.a.cell); - this.dataNodes.toolbarObj.appendChild(document.createElement("DIV")); - - if (typeof(conf) != "object" || conf == null) conf = {}; - conf.skin = this.conf.skin; - conf.parent = this.dataNodes.toolbarObj.firstChild; - - this.dataNodes.toolbar = new dhtmlXToolbarObject(conf); - - this.dataNodes.toolbarEv = this.attachEvent("_onSetSizes", function() { - if (this.dataNodes.toolbarObj.style.display == "none") return; - this.dataNodes.toolbarObj.style.left = this.conf.ofs.l+"px"; - this.dataNodes.toolbarObj.style.marginTop = (this.dataNodes.haObj!=null||this.dataNodes.menuObj!=null?0:this.conf.ofs.t)+"px"; - this.dataNodes.toolbarObj.style.width = this.base.offsetWidth-this.conf.ofs.l-this.conf.ofs.r+"px"; - }); - - this.dataNodes.toolbar._masterCell = this; - this.dataNodes.toolbar.attachEvent("_onIconSizeChange", function(){ - this._masterCell.setSizes(); - }); - - this.conf.ofs_nodes.t.toolbarObj = true; - - this.setSizes(); - - conf.parnt = null; - conf = null; - - return this.dataNodes.toolbar; -}; - -dhtmlXLayoutObject.prototype.detachToolbar = function() { - - if (this.dataNodes.toolbar == null) return; - - this.dataNodes.toolbar._masterCell = null; // link to this - this.dataNodes.toolbar.unload(); - this.dataNodes.toolbar = null; - - this.dataNodes.toolbarObj.parentNode.removeChild(this.dataNodes.toolbarObj); - this.dataNodes.toolbarObj = null; - - this.detachEvent(this.dataNodes.toolbarEv); - this.dataNodes.toolbarEv = null; - - this.conf.ofs_nodes.t.toolbarObj = false; - - delete this.dataNodes.toolbar; - delete this.dataNodes.toolbarObj; - delete this.dataNodes.toolbarEv; - - if (!this.conf.unloading) this.setSizes(); -}; - -// toolbar - -dhtmlXLayoutObject.prototype.attachRibbon = function(conf) { - - if (!(this.dataNodes.ribbon == null && this.dataNodes.toolbar == null)) return; - - this.dataNodes.ribbonObj = document.createElement("DIV"); - this.dataNodes.ribbonObj.className = "dhxlayout_ribbon"; - this.base.insertBefore(this.dataNodes.ribbonObj, this.cdata.a.cell); - this.dataNodes.ribbonObj.appendChild(document.createElement("DIV")); - - if (typeof(conf) != "object" || conf == null) conf = {}; - conf.skin = this.conf.skin; - conf.parent = this.dataNodes.ribbonObj.firstChild; - - this.dataNodes.ribbon = new dhtmlXRibbon(conf); - - this.dataNodes.ribbonEv = this.attachEvent("_onSetSizes", function() { - if (this.dataNodes.ribbonObj.style.display == "none") return; - this.dataNodes.ribbonObj.style.left = this.conf.ofs.l+"px"; - this.dataNodes.ribbonObj.style.marginTop = (this.dataNodes.haObj!=null||this.dataNodes.menuObj!=null?0:this.conf.ofs.t)+"px"; - this.dataNodes.ribbonObj.style.width = this.base.offsetWidth-this.conf.ofs.l-this.conf.ofs.r+"px"; - this.dataNodes.ribbon.setSizes(); - }); - - this.conf.ofs_nodes.t.ribbonObj = true; - - var t = this; - this.dataNodes.ribbon.attachEvent("_onHeightChanged", function(){ - t.setSizes(); - }); - - this.setSizes(); - - conf.parnt = null; - conf = null; - - return this.dataNodes.ribbon; -}; - -dhtmlXLayoutObject.prototype.detachRibbon = function() { - - if (this.dataNodes.ribbon == null) return; - - this.dataNodes.ribbon.unload(); - this.dataNodes.ribbon = null; - - this.dataNodes.ribbonObj.parentNode.removeChild(this.dataNodes.ribbonObj); - this.dataNodes.ribbonObj = null; - - this.detachEvent(this.dataNodes.ribbonEv); - this.dataNodes.ribbonEv = null; - - this.conf.ofs_nodes.t.ribbonObj = false; - - delete this.dataNodes.ribbon; - delete this.dataNodes.ribbonObj; - delete this.dataNodes.ribbonEv; - - if (!this.conf.unloading) this.setSizes(); -}; - - -// status -dhtmlXLayoutObject.prototype.attachStatusBar = function(conf) { // arg-optional, new in version - - if (this.dataNodes.sbObj) return; - - if (typeof(conf) == "undefined") conf = {}; - - this.dataNodes.sbObj = document.createElement("DIV"); - this.dataNodes.sbObj.className = "dhxlayout_statusbar"; - - if (this.dataNodes.faObj != null) { - this.base.insertBefore(this.dataNodes.sbObj, this.dataNodes.faObj); - } else { - if (this.sep == null || this.base.lastChild == this.sep.sep) { - this.base.appendChild(this.dataNodes.sbObj); - } else { - this.base.insertBefore(this.dataNodes.sbObj, this.sep.sep.nextSibling); - } - } - - this.dataNodes.sbObj.innerHTML = "
              "+(typeof(conf.text)=="string" && conf.text.length > 0 ? conf.text:" ")+"
              "; - if (typeof(conf.height) == "number") this.dataNodes.sbObj.firstChild.style.height = this.dataNodes.sbObj.firstChild.style.lineHeight = conf.height+"px"; - - this.dataNodes.sbObj.setText = function(text) { this.childNodes[0].innerHTML = text; } - this.dataNodes.sbObj.getText = function() { return this.childNodes[0].innerHTML; } - this.dataNodes.sbObj.onselectstart = function(e) { return false; } - - - this.dataNodes.sbEv = this.attachEvent("_onSetSizes", function(){ - if (this.dataNodes.sbObj.style.display == "none") return; - this.dataNodes.sbObj.style.left = this.conf.ofs.l+"px"; - this.dataNodes.sbObj.style.bottom = (this.dataNodes.faObj != null?this.dataNodes.faObj.offsetHeight:0)+this.conf.ofs.t+"px"; - this.dataNodes.sbObj.style.width = this.base.offsetWidth-this.conf.ofs.l-this.conf.ofs.r+"px"; - }); - - this.conf.ofs_nodes.b.sbObj = true; - - this.setSizes(); - - return this.dataNodes.sbObj; - -}; - -dhtmlXLayoutObject.prototype.detachStatusBar = function() { - - if (!this.dataNodes.sbObj) return; - - this.dataNodes.sbObj.setText = this.dataNodes.sbObj.getText = this.dataNodes.sbObj.onselectstart = null; - this.dataNodes.sbObj.parentNode.removeChild(this.dataNodes.sbObj); - this.dataNodes.sbObj = null; - - this.detachEvent(this.dataNodes.sbEv); - this.dataNodes.sbEv = null; - - this.conf.ofs_nodes.b.sbObj = false; - - delete this.dataNodes.sb; - delete this.dataNodes.sbObj; - delete this.dataNodes.sbEv; - - if (!this.conf.unloading) this.setSizes(); - -}; - -// show/hide - -dhtmlXLayoutObject.prototype.showMenu = function() { - this._mtbShowHide("menuObj", ""); -}; - -dhtmlXLayoutObject.prototype.hideMenu = function() { - this._mtbShowHide("menuObj", "none"); -}; - -dhtmlXLayoutObject.prototype.showToolbar = function(){ - this._mtbShowHide("toolbarObj", ""); -}; - -dhtmlXLayoutObject.prototype.hideToolbar = function(){ - this._mtbShowHide("toolbarObj", "none"); -}; - -dhtmlXLayoutObject.prototype.showRibbon = function(){ - this._mtbShowHide("ribbonObj", ""); -}; - -dhtmlXLayoutObject.prototype.hideRibbon = function(){ - this._mtbShowHide("ribbonObj", "none"); -}; - -dhtmlXLayoutObject.prototype.showStatusBar = function() { - this._mtbShowHide("sbObj", ""); -}; - -dhtmlXLayoutObject.prototype.hideStatusBar = function(){ - this._mtbShowHide("sbObj", "none"); -}; - -dhtmlXLayoutObject.prototype._mtbShowHide = function(name, disp) { - if (this.dataNodes[name] == null) return; - this.dataNodes[name].style.display = disp; - this.setSizes(); -}; - -dhtmlXLayoutObject.prototype._mtbUnload = function(name, disp) { - this.detachMenu(); - this.detachToolbar(); - this.detachStatusBar(); - this.detachRibbon(); -}; - -// getters -dhtmlXLayoutObject.prototype.getAttachedMenu = function() { - return this.dataNodes.menu; -}; -dhtmlXLayoutObject.prototype.getAttachedToolbar = function() { - return this.dataNodes.toolbar; -}; -dhtmlXLayoutObject.prototype.getAttachedRibbon = function() { - return this.dataNodes.ribbon; -}; -dhtmlXLayoutObject.prototype.getAttachedStatusBar = function() { - return this.dataNodes.sbObj; -}; - -// top-level progress -dhtmlXLayoutObject.prototype.progressOn = function() { - - if (this.conf.progress) return; - - this.conf.progress = true; - - var t1 = document.createElement("DIV"); - t1.className = "dhxlayout_progress"; - this.base.appendChild(t1); - - var t2 = document.createElement("DIV"); - t2.className = "dhxlayout_progress_img"; - this.base.appendChild(t2); - - t1 = t2 = null; - -}; - -dhtmlXLayoutObject.prototype.progressOff = function() { - - if (!this.conf.progress) return; - - var p = {dhxlayout_progress: true, dhxlayout_progress_img: true}; - for (var q=0; q"; - this.sep.style.overflow = "visible"; - */ - - - this._btnLeft = (window.dhx4.isIE&&!window.addEventListener?1:0); // 1 for IE8- - - if (window.dhx4.isIE) { - this.sep.onselectstart = function(){return false;}; - } - - this.sep.className = "dhxlayout_sep dhxlayout_sep_resize_"+this.conf.mode; - - this._setSize = function(x, y, w, h) { - this.sep.style.left = x+"px"; - this.sep.style.top = y+"px"; - this.sep.style.width = w+"px"; - this.sep.style.height = h+"px"; - } - - this._lockSep = function(mode) { // by fix cell size - this.conf.locked = (mode==true); - this._blockSep(); - } - - this._blockSep = function() { // by expand/collapse - var k = this._getLayout(); - var state = k.cdata.a.conf.collapsed||k.cdata.b.conf.collapsed||this.conf.locked; - k = null; - if (this.conf.blocked == state) return; - this.sep.className = "dhxlayout_sep"+(state?"":" dhxlayout_sep_resize_"+this.conf.mode); - this.conf.blocked = state; - } - - this._beforeResize = function(e) { - - if (this.conf.blocked) return; - - if (this.conf.resize != null && this.conf.resize.active == true) return; - - if (e.button !== this._btnLeft) return; - - var k = this._getLayout(); - - //console.log("resize init point"); - //console.log(k); - - this.conf.resize = { - sx: e.clientX, - sy: e.clientY, - tx: e.layerX, - ty: e.layerY, - sep_x: parseInt(this.sep.style.left), - sep_y: parseInt(this.sep.style.top), - min_wa: k.cdata.a._getAvailWidth("a"), - min_wb: k.cdata.b._getAvailWidth("b"), - min_ha: k.cdata.a._getAvailHeight("a"), - min_hb: k.cdata.b._getAvailHeight("b") - } - - this.conf.resize.nx = this.conf.resize.sep_x; - this.conf.resize.ny = this.conf.resize.sep_y; - - // console.log(this.conf.resize) - - if (window.addEventListener) { - document.body.addEventListener("mousemove", this._doOnMouseMove, false); - document.body.addEventListener("mouseup", this._doOnMouseUp, false); - } else { - document.body.attachEvent("onmousemove", this._doOnMouseMove); - document.body.attachEvent("onmouseup", this._doOnMouseUp); - } - - k = null; - - } - - this._onResize = function(e) { - - if (!this.conf.resize.active) { - - this._initResizeArea(); - this.conf.resize.active = true; - - } - - if (this.conf.mode == "v") { - - var ofs = this.conf.resize.sx-e.clientX; - this.conf.resize.nx = this.conf.resize.sep_x-ofs; - - if (this.conf.resize.nx > this.conf.resize.sep_x+this.conf.resize.min_wb) { - this.conf.resize.nx = this.conf.resize.sep_x+this.conf.resize.min_wb; - } else if (this.conf.resize.nx < this.conf.resize.sep_x-this.conf.resize.min_wa) { - this.conf.resize.nx = this.conf.resize.sep_x-this.conf.resize.min_wa; - } - - this.r_sep.style.left = this.conf.resize.nx+"px"; - - } else { - - var ofs = this.conf.resize.sy-e.clientY; - this.conf.resize.ny = this.conf.resize.sep_y-ofs; - - if (this.conf.resize.ny > this.conf.resize.sep_y+this.conf.resize.min_hb) { - this.conf.resize.ny = this.conf.resize.sep_y+this.conf.resize.min_hb; - } else if (this.conf.resize.ny < this.conf.resize.sep_y-this.conf.resize.min_ha) { - this.conf.resize.ny = this.conf.resize.sep_y-this.conf.resize.min_ha; - } - - this.r_sep.style.top = this.conf.resize.ny+"px"; - } - - } - - this._afterResize = function(e) { - - if (window.addEventListener) { - document.body.removeEventListener("mousemove", this._doOnMouseMove, false); - document.body.removeEventListener("mouseup", this._doOnMouseUp, false); - } else { - document.body.detachEvent("onmousemove", this._doOnMouseMove); - document.body.detachEvent("onmouseup", this._doOnMouseUp); - } - - if (!this.conf.resize.active) { - this.conf.resize = null; - return; - } - - if (e.button !== this._btnLeft) return; - - var k = this._getLayout(); - - var mainInst = k._getMainInst(); - var rCells = (mainInst.checkEvent("onPanelResizeFinish")==true?{}:false); - - if (rCells !== false) { - mainInst.forEachItem(function(cell){ - rCells[cell.conf.name] = {w: cell.conf.size.w, h: cell.conf.size.h}; - cell = null; - }); - } - - var ofs_x = this.conf.resize.nx-this.conf.resize.sep_x; - var ofs_y = this.conf.resize.ny-this.conf.resize.sep_y; - - k.cdata.a._setSize(k.cdata.a.conf.size.x, k.cdata.a.conf.size.y, k.cdata.a.conf.size.w+ofs_x, k.cdata.a.conf.size.h+ofs_y, "a"); - k.cdata.b._setSize(k.cdata.b.conf.size.x+ofs_x, k.cdata.b.conf.size.y+ofs_y, k.cdata.b.conf.size.w-ofs_x, k.cdata.b.conf.size.h-ofs_y, "b"); - - this._setSize(parseInt(this.r_sep.style.left), parseInt(this.r_sep.style.top), parseInt(this.r_sep.style.width), parseInt(this.r_sep.style.height)); - - if (window.dhx4.isIE) { - // w/o timeout cursor not changed to normal state in IE - var p0 = this; - window.setTimeout(function(){p0._removeResizeArea();p0=null;},1); - } else { - this._removeResizeArea(); - } - - - if (rCells !== false) { - var p = []; - mainInst.forEachItem(function(cell){ - var t = rCells[cell.conf.name]; - if (!(t.w == cell.conf.size.w && t.h == cell.conf.size.h)) p.push(cell.conf.name); - cell = null; - }); - mainInst._callMainEvent("onPanelResizeFinish", [p]); - } - - mainInst = k = null; - - this.conf.resize.active = false; - this.conf.resize = null; - - } - - this._initResizeArea = function() { - - if (!this.r_sep) { - - this.r_sep = document.createElement("DIV"); - this.r_sep.className = "dhxlayout_resize_sep"; - this.r_sep.style.left = this.sep.style.left; - this.r_sep.style.top = this.sep.style.top; - this.r_sep.style.width = this.sep.style.width; - this.r_sep.style.height = this.sep.style.height; - this.sep.parentNode.appendChild(this.r_sep); - - if (window.dhx4.isIE) this.r_sep.onselectstart = function(){return false;}; - - } - - if (!this.r_area) { - - this.r_area = document.createElement("DIV"); - this.r_area.className = "dhxlayout_resize_area"; - this.sep.parentNode.appendChild(this.r_area); - - if (window.dhx4.isIE) this.r_area.onselectstart = function(){return false;}; - - if (this.conf.mode == "v") { - var x = parseInt(this.r_sep.style.left)-this.conf.resize.min_wa; - var y = parseInt(this.r_sep.style.top); - var w = this.conf.resize.min_wa+this.conf.resize.min_wb+parseInt(this.r_sep.style.width); - var h = parseInt(this.r_sep.style.height); - } else { - var x = parseInt(this.r_sep.style.left); - var y = parseInt(this.r_sep.style.top)-this.conf.resize.min_ha; - var w = parseInt(this.r_sep.style.width); - var h = this.conf.resize.min_ha+this.conf.resize.min_hb+parseInt(this.r_sep.style.height); - } - - this.r_area.style.left = x+"px"; - this.r_area.style.top = y+"px"; - - if (!dhtmlXLayoutObject.prototype._confGlob.reszieCover) { - dhtmlXLayoutObject.prototype._confGlob.reszieCover = {}; - this.r_area.style.width = w+"px"; - this.r_area.style.height = h+"px"; - dhtmlXLayoutObject.prototype._confGlob.reszieCover.w = parseInt(this.r_area.style.width)-this.r_area.offsetWidth; - dhtmlXLayoutObject.prototype._confGlob.reszieCover.h = parseInt(this.r_area.style.height)-this.r_area.offsetHeight; - } - - this.r_area.style.width = w+dhtmlXLayoutObject.prototype._confGlob.reszieCover.w+"px"; - this.r_area.style.height = h+dhtmlXLayoutObject.prototype._confGlob.reszieCover.h+"px"; - } - - document.body.className += " dhxlayout_resize_"+this.conf.mode; - } - - this._removeResizeArea = function() { - - this.r_sep.onselectstart = null; - this.r_sep.parentNode.removeChild(this.r_sep); - this.r_sep = null; - - this.r_area.onselectstart = null; - this.r_area.parentNode.removeChild(this.r_area); - this.r_area = null; - - document.body.className = String(document.body.className).replace(/\s{0,}dhxlayout_resize_[vh]/gi,""); - - } - - this._doOnMouseDown = function(e) { - e = e||event; - if (e.preventDefault) e.preventDefault(); else e.cancelBubble = true; - that._beforeResize(e); - } - - this._doOnMouseMove = function(e) { - e = e||event; - if (e.preventDefault) e.preventDefault(); else e.cancelBubble = true; - that._onResize(e); - } - - this._doOnMouseUp = function(e) { - e = e||event; - that._afterResize(e); - } - - if (typeof(window.addEventListener) == "function") { - this.sep.addEventListener("mousedown", this._doOnMouseDown, false); - } else { - this.sep.attachEvent("onmousedown", this._doOnMouseDown); - } - - this._unload = function() { - - if (typeof(window.addEventListener) == "function") { - this.sep.removeEventListener("mousedown", this._doOnMouseDown, false); - } else { - this.sep.detachEvent("onmousedown", this._doOnMouseDown); - } - - this.sep.parentNode.removeChild(this.sep); - this.sep = null; - - for (var a in this) this[a] = null; - - that = null; - } - - return this; - -}; - -window.dhtmlXLayoutCell = function(id, layout) { - - dhtmlXCellObject.apply(this, [id, "_layout"]); - - var that = this; - this.layout = layout; - - this.conf.skin = this.layout.conf.skin; - this.conf.mode = this.layout.conf.mode; - this.conf.collapsed = false; - this.conf.fixed = {w: false, h: false}; // fix size - this.conf.docked = true; - - this.attachEvent("_onCellUnload", function(){ - // dblclick header - this.cell.childNodes[this.conf.idx.hdr].ondblclick = null; - this._unloadDocking(); - this.layout = null; - that = null; - }); - - // init header - this._hdrInit(); - this.cell.childNodes[this.conf.idx.hdr].ondblclick = function(){ - var mainInst = that.layout._getMainInst(); - mainInst._callMainEvent("onDblClick", [that.conf.name]); - mainInst = null; - }; - - // onContentLoaded - this.attachEvent("_onContentLoaded", function() { - var mainInst = this.layout._getMainInst(); - mainInst._callMainEvent("onContentLoaded", [this.conf.name]); - mainInst = null; - }); - - // init expand/collapse - if (this.conf.mode != "c") { - - var t = document.createElement("DIV"); - t.className = "dhxlayout_arrow dhxlayout_arrow_"+this.conf.mode+this._idd; - this.cell.childNodes[this.conf.idx.hdr].appendChild(t); - t.onclick = function(e) { - if (that.conf.collapsed) that.expand(); else that.collapse(); - } - t = null; - } - - this._initDocking(); - - return this; - -}; - -dhtmlXLayoutCell.prototype = new dhtmlXCellObject(); - -dhtmlXLayoutCell.prototype.getId = function() { - return this.conf.name; -}; - -dhtmlXLayoutCell.prototype._initDocking = function() { - - var that = this; - - this.dock = function() { - - var mainInst = this.layout._getMainInst(); - - if (mainInst.dhxWins == null || this.conf.docked) { - mainInst = null; - return; - } - - var w1 = mainInst.dhxWins.window(this.conf.name); - w1.close(); - - // move content - this._attachFromCell(w1); - - this.conf.docked = true; - if (!this.conf.dock_collapsed) this.expand(); - - mainInst._callMainEvent("onDock",[this.conf.name]); - - mainInst = w1 = null; - - }; - - this.undock = function(x, y, w, h) { - - var mainInst = this.layout._getMainInst(); - - if (mainInst.dhxWins == null || this.conf.docked == false) { - mainInst = null; - return; - } - - this.conf.dock_collapsed = this.conf.collapsed; - if (!this.conf.collapsed) this.collapse(); - - if (mainInst.dhxWins.window(this.conf.name) != null) { - var w1 = mainInst.dhxWins.window(this.conf.name); - w1.show(); - } else { - if (x == null) x = 20; - if (y == null) y = 20; - if (w == null) w = 320; - if (h == null) h = 200; - - var w1 = mainInst.dhxWins.createWindow(this.conf.name, x, y, w, h); - w1.button("close").hide(); - - // dock button - w1.addUserButton("dock", 99, "Dock"); - w1.button("dock").show(); - w1.button("dock").attachEvent("onClick", this._doOnDockClick); - - // text update only first time - w1.setText(this.getText()); - - // closeing - w1.attachEvent("onClose", this._doOnDockWinClose); - } - this.conf.docked = false; - - // move content - w1._attachFromCell(this); - - mainInst._callMainEvent("onUnDock",[this.conf.name]); - - mainInst = w1 = null; - - } - - this._doOnDockClick = function() { - that.dock(); - } - this._doOnDockWinClose = function(win) { - win.hide(); - return false; - } - - this._unloadDocking = function() { - that = null; - } -}; -dhtmlXLayoutCell.prototype._hdrInit = function() { - - var cssExt = ""; - if (window.dhx4.isIE) { - if (navigator.userAgent.indexOf("MSIE 8.0") != -1) { - cssExt = " dhx_cell_hdr_text_ie8"; - } else if (navigator.userAgent.indexOf("MSIE 7.0") != -1) { - cssExt = " dhx_cell_hdr_text_ie7"; - } else if (navigator.userAgent.indexOf("MSIE 6.0") != -1) { - cssExt = " dhx_cell_hdr_text_ie6"; - } - } else if (window.dhx4.isChrome) { - cssExt = " dhx_cell_hdr_text_chrome"; - } - - var t = document.createElement("DIV"); - t.className = "dhx_cell_hdr"; - t.innerHTML = "
              "; - this.cell.insertBefore(t, this.cell.childNodes[this.conf.idx.cont]); - t = null; - - // include into content top offset calculation - this.conf.ofs_nodes.t._getHdrHeight = "func"; - - // show/hide - this.conf.hdr = {visible: true}; - - // include into index - this.conf.idx_data.hdr = "dhx_cell_hdr"; - this._updateIdx(); - - // fit header when cell changed - this.attachEvent("_onSetSize", this._hdrOnSetSize); - this.attachEvent("_onBorderChange", this._hdrOnBorderChange); - - // keep visibility state of header if view changed - this.attachEvent("_onViewSave", this._hdrOnViewSave); - this.attachEvent("_onViewRestore", this._hdrOnViewRestore); - -}; - -dhtmlXLayoutCell.prototype.showHeader = function(noCalcCont) { - - if (this.conf.hdr.visible || this.conf.collapsed) return; - - if (this.conf.hdr.w_saved > this._getAvailWidth() || this.conf.hdr.h_saved > this._getAvailHeight()) { - // console.log("no space to show header"); - return; - } - - this.conf.hdr.w_saved = this.conf.hdr.h_saved = null; - - this.conf.hdr.visible = true; - this.cell.childNodes[this.conf.idx.hdr].className = "dhx_cell_hdr"; - - if (noCalcCont !== true) this._adjustCont(this._idd); -}; - -dhtmlXLayoutCell.prototype.hideHeader = function(noCalcCont) { - - if (!this.conf.hdr.visible || this.conf.collapsed) return; - - this.conf.hdr.w_saved = this._getMinWidth(); - this.conf.hdr.h_saved = this._getMinHeight(); - - this.conf.hdr.visible = false; - this.cell.childNodes[this.conf.idx.hdr].className = "dhx_cell_hdr dhx_cell_hdr_hidden"; - this._hdrUpdBorder(); - this._mtbUpdBorder(); - - if (noCalcCont !== true) this._adjustCont(this._idd); -}; - -dhtmlXLayoutCell.prototype.isHeaderVisible = function() { - return (this.conf.hdr.visible==true); -}; - -// arrow -dhtmlXLayoutCell.prototype.showArrow = function() { - this.cell.childNodes[this.conf.idx.hdr].childNodes[1].style.display = ""; -}; - -dhtmlXLayoutCell.prototype.hideArrow = function() { - this.cell.childNodes[this.conf.idx.hdr].childNodes[1].style.display = "none"; -}; - -dhtmlXLayoutCell.prototype.isArrowVisible = function() { - return (this.cell.childNodes[this.conf.idx.hdr].childNodes[1].style.display == ""); -}; - -// text -dhtmlXLayoutCell.prototype.setText = function(text) { - this.conf.hdr.text = text; - this._hdrUpdText(); -}; - -dhtmlXLayoutCell.prototype.getText = function() { - return this.conf.hdr.text; -}; - -dhtmlXLayoutCell.prototype.setCollapsedText = function(text) { - this.conf.hdr.text_collapsed = text; - this._hdrUpdText(); -}; - -dhtmlXLayoutCell.prototype.getCollapsedText = function() { - return (this.conf.hdr.text_collapsed != null ? this.conf.hdr.text_collapsed : this.conf.hdr.text ); -}; - -dhtmlXLayoutCell.prototype._hdrUpdText = function() { - var text = (this.conf.collapsed == true && this.conf.hdr.text_collapsed != null ? this.conf.hdr.text_collapsed : this.conf.hdr.text); - this.cell.childNodes[this.conf.idx.hdr].firstChild.innerHTML = ""+text+""; -}; - -dhtmlXLayoutCell.prototype._hdrUpdBorder = function() { - if (this.conf.borders == true) { - this.cell.childNodes[this.conf.idx.hdr].className = "dhx_cell_hdr"+(this.conf.hdr.visible?"":" dhx_cell_hdr_hidden"); - } else { - if (!this.conf.hdr.visible) { - this.cell.childNodes[this.conf.idx.hdr].className = "dhx_cell_hdr dhx_cell_hdr_hidden_no_borders"; - } - } -}; - -dhtmlXLayoutCell.prototype._hdrOnSetSize = function() { - if (this.conf.collapsed && this.conf.mode == "v") this._fitHdr(); -}; -dhtmlXLayoutCell.prototype._hdrOnBorderChange = function() { - this.hideHeader(true); - this._hdrUpdBorder(); -}; -dhtmlXLayoutCell.prototype._hdrOnViewSave = function(name) { - this.views[name].hdr_vis = this.conf.hdr.visible; -}; -dhtmlXLayoutCell.prototype._hdrOnViewRestore = function(name){ - if (this.conf.hdr.visible != this.views[name].hdr_vis) { - this[this.views[name].hdr_vis?"showHeader":"hideHeader"](true); - } - this.views[name].hdr_vis = null; - delete this.views[name].hdr_vis; -}; -dhtmlXLayoutCell.prototype._getHdrHeight = function(incColl) { - - if (this.conf.collapsed && this.conf.mode == "v" && incColl !== true) { - // collapsed vertical cell, move to conf? - // offsetHeight returns full cell height, needed only for adjusting bottom border - return 27; - } - return this.cell.childNodes[this.conf.idx.hdr].offsetHeight; -}; - -dhtmlXLayoutCell.prototype._fitHdr = function() { - if (this.conf.collapsed) { - if (typeof(dhtmlXLayoutObject.prototype._confGlob.hdrColH) == "undefined") { - this.cell.childNodes[this.conf.idx.hdr].style.height = this.cell.offsetHeight+"px"; - dhtmlXLayoutObject.prototype._confGlob.hdrColH = parseInt(this.cell.childNodes[this.conf.idx.hdr].style.height)-this._getHdrHeight(true); - } - this.cell.childNodes[this.conf.idx.hdr].style.height = this.cell.offsetHeight+dhtmlXLayoutObject.prototype._confGlob.hdrColH+"px"; - } else { - this.cell.childNodes[this.conf.idx.hdr].style.height = null; - - } -}; - -/* expand */ -dhtmlXLayoutCell.prototype.expand = function(autoExpand) { - - if (!this.conf.collapsed) return true; - - var k = this.layout; - - if (this.conf.mode == "v") { - - var w_nextCell = (autoExpand ? k.conf.hh : k.cdata[k.conf.nextCell[this._idd]]._getMinWidth(this._idd)); - var w_avl = k.base.offsetWidth-k.conf.sw; - - if (w_nextCell + this.conf.size.w_avl > w_avl) { - k = null; - return false; - } - - } else { - - // if autoExpand - next cell coing to be collapsed, move value to conf? - // min heigth of next cell = min_height+hdr_height - - var h_nextCell = (autoExpand ? k.conf.hh : k.cdata[k.conf.nextCell[this._idd]]._getMinHeight(this._idd)+k.cdata[k.conf.nextCell[this._idd]]._getHdrHeight()); - var h_avl = k.base.offsetHeight-k.conf.sw; // avail height for both cells = base_h-sep_h - - if (h_nextCell + this.conf.size.h_avl > h_avl) { - // new logic, menu/tb attached - k = null; - return false; - } - - } - - if (this.conf.docked == false) { - this.dock(); - return; - } - - this.cell.className = String(this.cell.className).replace(/\s{0,}dhxlayout_collapsed_[hv]/gi, ""); - this.conf.collapsed = false; - - if (this.conf.mode == "v") { - this.conf.size.w = Math.min(w_avl-w_nextCell, this.conf.size.w_saved); - this.conf.size.w_saved = this.conf.size.w_avl = null; - } else { - this.conf.size.h = Math.min(h_avl-h_nextCell, this.conf.size.h_saved); - this.conf.size.h_saved = this.conf.size.h_avl = null; - } - - if (this.conf.mode == "v") this._fitHdr(); - - k.setSizes(k.conf.nextCell[this._idd], k.conf.nextCell[this._idd], autoExpand==true, "expand"); - k.sep._blockSep(); - - k = null; - - this._hdrUpdText(); - - var mainInst = this.layout._getMainInst(); - mainInst._callMainEvent("onExpand", [this.conf.name]); - mainInst = null; - - return true; -}; - -/* collapse */ -dhtmlXLayoutCell.prototype.collapse = function() { - - if (this.conf.collapsed) return false; - - var k = this.layout; - - if (k.cdata[k.conf.nextCell[this._idd]].expand(true) == false) return false; // no space to expand next cell if it collapsed - - if (this.conf.mode == "v") { - this.conf.size.w_saved = this.conf.size.w; - this.conf.size.w_avl = this._getMinWidth(this._idd); // save min width - } else { - this.conf.size.h_saved = this.conf.size.h; - this.conf.size.h_avl = this._getMinHeight(this._idd)+this._getHdrHeight(); // save min height - } - - this.cell.className += " dhxlayout_collapsed_"+this.conf.mode; - this.conf.collapsed = true; - - if (this.conf.mode == "v") { - this.conf.size.w = k.conf.hh; // move to conf? - } else { - this.conf.size.h = this._getHdrHeight(); - } - - k.setSizes(k.conf.nextCell[this._idd], k.conf.nextCell[this._idd], false, "collapse"); - k.sep._blockSep(); - - k = null; - - this._hdrUpdText(); - - var mainInst = this.layout._getMainInst(); - mainInst._callMainEvent("onCollapse", [this.conf.name]); - mainInst = null; - - return true; - -}; - -dhtmlXLayoutCell.prototype.isCollapsed = function() { - return (this.conf.collapsed==true); -}; -// cell sizing -dhtmlXLayoutCell.prototype._getMinWidth = function(parentIdd) { - // min space should allow to collapse ? - if (this.dataType == "layout" && this.dataObj != null) { - - if (this.dataObj.conf.pattern == "1C") { - return this.dataObj.cdata.a._getMinWidth(parentIdd); - } else if (this.dataObj.conf.mode == "v") { - - var c1 = parentIdd; - if (this.dataObj.cdata[c1].conf.collapsed) c1 = this.dataObj.conf.nextCell[c1]; - - return this.dataObj.cdata[c1]._getMinWidth(parentIdd)+this.dataObj.cdata[this.dataObj.conf.nextCell[c1]]._getWidth()+this.dataObj.conf.sw; // c1 min width + c2 full width + sw - - } else { - return Math.max(this.dataObj.cdata.a._getMinWidth(parentIdd), this.dataObj.cdata.b._getMinWidth(parentIdd)); - } - - } - return 26; -}; - -dhtmlXLayoutCell.prototype._getMinHeight = function(parentIdd) { - - var h = 26; - if (this.conf.idx.menu != null) h += this.cell.childNodes[this.conf.idx.menu].offsetHeight; - - if (this.dataType == "layout" && this.dataObj != null) { - - if (this.dataObj.conf.pattern == "1C") { - return this.dataObj.cdata.a._getMinHeight(parentIdd); - } else if (this.dataObj.conf.mode == "h") { - - var c1 = parentIdd; - if (this.dataObj.cdata[c1].conf.collapsed) c1 = this.dataObj.conf.nextCell[c1]; - - return this.dataObj.cdata[c1]._getMinHeight(parentIdd)+this.dataObj.cdata[c1]._getHdrHeight()+this.dataObj.cdata[this.dataObj.conf.nextCell[c1]]._getHeight()+this.dataObj.conf.sw; // c1 min height + c1 hdr height + c2 full height + sw - - } else { - return Math.max(this.dataObj.cdata.a._getMinHeight(parentIdd)+this.dataObj.cdata.a._getHdrHeight(), this.dataObj.cdata.b._getMinHeight(parentIdd)+this.dataObj.cdata.b._getHdrHeight()); - } - - } - - return h; -}; - -dhtmlXLayoutCell.prototype._getAvailWidth = function(parentIdd) { - - if (this.dataType == "layout" && this.dataObj != null) { - if (this.dataObj.conf.pattern == "1C") { - return this.dataObj.cdata.a._getAvailWidth(parentIdd); - } else if (this.dataObj.conf.mode == "v") { - var ac = (this.dataObj.cdata.a.conf.collapsed == true); - var bc = (this.dataObj.cdata.b.conf.collapsed == true); - - if (parentIdd == "a") { - return this.dataObj.cdata[bc?"a":"b"]._getAvailWidth(parentIdd); - } else { - return this.dataObj.cdata[ac?"b":"a"]._getAvailWidth(parentIdd); - } - } else { - return Math.min(this.dataObj.cdata.a._getAvailWidth(parentIdd), this.dataObj.cdata.b._getAvailWidth(parentIdd)); - } - - } - return this.cell.offsetWidth-this._getMinWidth(); -}; - -dhtmlXLayoutCell.prototype._getAvailHeight = function(parentIdd) { - - if (this.dataType == "layout" && this.dataObj != null) { - if (this.dataObj.conf.pattern == "1C") { - return this.dataObj.cdata.a._getAvailHeight(parentIdd); - } else if (this.dataObj.conf.mode == "h") { - - var ac = (this.dataObj.cdata.a.conf.collapsed == true); - var bc = (this.dataObj.cdata.b.conf.collapsed == true); - - if (parentIdd == "a") { - return this.dataObj.cdata[bc?"a":"b"]._getAvailHeight(parentIdd); - } else { - return this.dataObj.cdata[ac?"b":"a"]._getAvailHeight(parentIdd); - } - } else { - return Math.min(this.dataObj.cdata.a._getAvailHeight(parentIdd), this.dataObj.cdata.b._getAvailHeight(parentIdd)); - } - - } - - var hh = this._getHdrHeight(); - if (this.conf.mode == "v" && this.conf.collapsed) hh = this.conf.hh; // not include header if v-cell is collapsed - - return this.cell.offsetHeight-hh-this._getMinHeight(); -}; - -dhtmlXLayoutCell.prototype.setWidth = function(w) { - - if (this.conf.mode == "v") { - - if (this.conf.collapsed) return; - - var k = this.layout; - var nextCell = k.cdata[k.conf.nextCell[this._idd]]; - - if (nextCell.conf.collapsed) { - - // try to change parent cell - - w = w + k.conf.sw + nextCell._getWidth(); // increase width including nextCell and sw - - /* - var p = this.layout._getMainInst(); - if (p != this.layout) { - for (var a in p.cdata) if (p.cdata[a].dataObj == k) p.cdata[a].setWidth(w); - } - */ - - p = k = nextCell = null; - - return; - - } - - var minW = this._getMinWidth(this._idd); - var maxW = k.base.offsetWidth-nextCell._getMinWidth(this._idd)-k.conf.sw; - w = Math.max(minW, Math.min(w, maxW)); - - this.conf.size.w = w; - - k.setSizes(nextCell._idd, nextCell._idd); - k = nextCell = null; - - } else { - // check parent's width - if (this.layout == null || this.layout.parentLayout == null) return; - - var p = this.layout.parentLayout; - - var k = this.layout; - var nextCell = k.cdata[k.conf.nextCell[this._idd]]; - - for (var a in p.cdata) if (p.cdata[a].dataObj == k) p.cdata[a].setWidth(w); - - p = k = null; - } - -}; - -dhtmlXLayoutCell.prototype.setHeight = function(h) { - - if (this.conf.mode == "h") { - - if (this.conf.collapsed) return; - - var k = this.layout; - var nextCell = k.cdata[k.conf.nextCell[this._idd]]; - - if (nextCell.conf.collapsed) { - - // try to change parent cell - - h = h + k.conf.sw + nextCell._getHeight(); // increase with including nextCell and sw, header=cell_height due it collapsed - - var p = (this.layout != null && this.layout.parentLayout != null ? this.layout.parentLayout : null); - if (p != null) { - for (var a in p.cdata) if (p.cdata[a].dataObj == k) p.cdata[a].setHeight(h); - } - - p = k = nextCell = null; - - return; - - } - - var minH = this._getMinHeight(this._idd)+this._getHdrHeight(); - var maxH = k.base.offsetHeight-nextCell._getMinHeight(this._idd)-nextCell._getHdrHeight()-k.conf.sw; - h = Math.max(minH, Math.min(h, maxH)); - - this.conf.size.h = h; - - k.setSizes(nextCell._idd, nextCell._idd); - k = nextCell = null; - - } else { - // check parent's height - if (this.layout == null || this.layout.parentLayout == null) return; - - var p = this.layout.parentLayout; - - var k = this.layout; - var nextCell = k.cdata[k.conf.nextCell[this._idd]]; - - for (var a in p.cdata) if (p.cdata[a].dataObj == k) p.cdata[a].setHeight(h); - - p = k = null; - } - -}; - -dhtmlXLayoutCell.prototype.getWidth = function() { - return this.conf.size.w; -}; - -dhtmlXLayoutCell.prototype.getHeight = function() { - return this.conf.size.h; -}; - -dhtmlXLayoutCell.prototype.fixSize = function(w, h) { - - this.conf.fixed.w = window.dhx4.s2b(w); - this.conf.fixed.h = window.dhx4.s2b(h); - - var mainInst = this.layout._getMainInst(); - var s = {}; - - mainInst.forEachItem(function(cell){ - if (cell.conf.fsize != null) { - var id = cell.getId(); - var p = { - h: (cell.conf.fixed.w==true), - v: (cell.conf.fixed.h==true) - }; - for (var a in p) { - if (p[a] == true && cell.conf.fsize[a] != null) { - if (!(cell.conf.fsize[a] instanceof Array)) cell.conf.fsize[a] = [cell.conf.fsize[a]]; - for (var q=0; q this.items.length-1) return null; - var id = null; - this.forEachItem(function(cell){ - if (id == null && cell == this.items[index]) id = cell.conf.name; - }); - return id; -}; -dhtmlXLayoutObject.prototype.getIndexById = function(id) { - var cell = this.cells(id); - var index = -1; - for (var q=0; q
              '+'
              '; - - var tbl = document.createElement("TABLE"); - tbl.className = "dhtmlxMebu_SubLevelArea_Tbl"; - tbl.cellSpacing = 0; - tbl.cellPadding = 0; - tbl.border = 0; - var tbd = document.createElement("TBODY"); - tbl.appendChild(tbd); - - s.childNodes[1].appendChild(tbl); - - s.tbl = tbl; - s.tbd = tbd; - // polygon - this.idPull[s.id] = s; - if (this.sxDacProc != null) { - this.idPull["sxDac_" + parentId] = new this.sxDacProc(s, s.className); - if (window.dhx4.isIE) { - this.idPull["sxDac_" + parentId]._setSpeed(this.dacSpeedIE); - this.idPull["sxDac_" + parentId]._setCustomCycle(this.dacCyclesIE); - } else { - this.idPull["sxDac_" + parentId]._setSpeed(this.dacSpeed); - this.idPull["sxDac_" + parentId]._setCustomCycle(this.dacCycles); - } - } - return s; -}; - -dhtmlXMenuObject.prototype._renderSublevelItem = function(id, pos) { - var that = this; - - var tr = document.createElement("TR"); - tr.className = (this.itemPull[id]["state"]=="enabled"?"sub_item":"sub_item_dis"); - - // icon - var t1 = document.createElement("TD"); - t1.className = "sub_item_icon"; - var icon = this.itemPull[id][(this.itemPull[id]["state"]=="enabled"?"imgen":"imgdis")]; - if (icon != "") { - var tp = this.itemPull[id]["type"]; - if (tp=="checkbox"||tp=="radio") { - var img = document.createElement("DIV"); - img.id = "image_"+this.itemPull[id]["id"]; - img.className = "sub_icon "+icon; - t1.appendChild(img); - } - if (!(tp=="checkbox"||tp=="radio")) { - var img = document.createElement("IMG"); - img.id = "image_"+this.itemPull[id]["id"]; - img.className = "sub_icon"; - img.src = this.conf.icons_path+icon; - t1.appendChild(img); - } - } else { - t1.innerHTML = " "; - } - - // text - var t2 = document.createElement("TD"); - t2.className = "sub_item_text"; - if (this.itemPull[id]["title"] != "") { - var t2t = document.createElement("DIV"); - t2t.className = "sub_item_text"; - t2t.innerHTML = this.itemPull[id]["title"]; - t2.appendChild(t2t); - } else { - t2.innerHTML = " "; - } - - // hotkey/sublevel arrow - var t3 = document.createElement("TD"); - t3.className = "sub_item_hk"; - if (this.itemPull[id]["complex"]) { - - var arw = document.createElement("DIV"); - arw.className = "complex_arrow"; - arw.id = "arrow_"+this.itemPull[id]["id"]; - t3.appendChild(arw); - - } else { - if (this.itemPull[id]["hotkey"].length > 0 && !this.itemPull[id]["complex"]) { - var t3t = document.createElement("DIV"); - t3t.className = "sub_item_hk"; - t3t.innerHTML = this.itemPull[id]["hotkey"]; - t3.appendChild(t3t); - } else { - t3.innerHTML = " "; - } - } - tr.appendChild(this.conf.rtl?t3:t1); - tr.appendChild(t2); - tr.appendChild(this.conf.rtl?t1:t3); - - - // - tr.id = this.itemPull[id]["id"]; - tr.parent = this.itemPull[id]["parent"]; - // tooltip, added in 0.4 - if (this.itemPull[id]["tip"].length > 0) tr.title = this.itemPull[id]["tip"]; - // - tr.onselectstart = function(e) { e = e || event; if (e.preventDefault) e.preventDefault(); else e.returnValue = false; return false; } - tr.onmouseover = function(e) { - if (that.conf.hide_tm[this.id]) window.clearTimeout(that.conf.hide_tm[this.id]); - if (that.conf.mode == "web") window.clearTimeout(that.conf.tm_handler); - if (!this._visible) that._redistribSubLevelSelection(this.id, this.parent); // if not visible - this._visible = true; - } - tr.onmouseout = function() { - if (that.conf.mode == "web") { - if (that.conf.tm_handler) window.clearTimeout(that.conf.tm_handler); - that.conf.tm_handler = window.setTimeout(function(){if(that&&that._clearAndHide)that._clearAndHide();}, that.conf.tm_sec, "JavaScript"); - } - var k = this; - if (that.conf.hide_tm[this.id]) window.clearTimeout(that.conf.hide_tm[this.id]); - that.conf.hide_tm[this.id] = window.setTimeout(function(){k._visible=false;}, 50); - } - tr.onclick = function(e) { - // added in 0.4, preven complex closing if user event not defined - if (!that.checkEvent("onClick") && that.itemPull[this.id]["complex"]) return; - // - e = e || event; e.cancelBubble = true; - if (e.preventDefault) e.preventDefault(); else e.returnValue = false; - tc = (that.itemPull[this.id]["complex"]?"c":"-"); - td = (that.itemPull[this.id]["state"]=="enabled"?"-":"d"); - var cas = {"ctrl": e.ctrlKey, "alt": e.altKey, "shift": e.shiftKey}; - switch (that.itemPull[this.id]["type"]) { - case "checkbox": - that._checkboxOnClickHandler(this.id.replace(that.idPrefix, ""), tc+td+"n", cas); - break; - case "radio": - that._radioOnClickHandler(this.id.replace(that.idPrefix, ""), tc+td+"n", cas); - break; - case "item": - that._doOnClick(this.id.replace(that.idPrefix, ""), tc+td+"n", cas); - break; - } - return false; - } - // add - var polygon = this.idPull["polygon_"+this.itemPull[id]["parent"]]; - if (pos != null) { pos++; if (pos < 0) pos = 0; if (pos > polygon.tbd.childNodes.length - 1) pos = null; } - if (pos != null && polygon.tbd.childNodes[pos] != null) polygon.tbd.insertBefore(tr, polygon.tbd.childNodes[pos]); else polygon.tbd.appendChild(tr); - this.idPull[tr.id] = tr; -}; -dhtmlXMenuObject.prototype._renderSeparator = function(id, pos) { - var level = (this.conf.context?"SubLevelArea":(this.itemPull[id]["parent"]==this.idPrefix+this.topId?"TopLevel":"SubLevelArea")); - if (level == "TopLevel" && this.conf.context) return; - - var that = this; - - if (level != "TopLevel") { - var tr = document.createElement("TR"); - tr.className = "sub_sep"; - var td = document.createElement("TD"); - td.colSpan = "3"; - tr.appendChild(td); - } - - var k = document.createElement("DIV"); - k.id = "separator_"+id; - k.className = (level=="TopLevel"?"top_sep":"sub_sep"); - k.onselectstart = function(e) { e = e || event; if (e.preventDefault) e.preventDefault(); else e.returnValue = false; } - k.onclick = function(e) { - e = e || event; e.cancelBubble = true; - var cas = {"ctrl": e.ctrlKey, "alt": e.altKey, "shift": e.shiftKey}; - that._doOnClick(this.id.replace("separator_" + that.idPrefix, ""), "--s", cas); - } - if (level == "TopLevel") { - if (pos != null) { - pos++; if (pos < 0) { pos = 0; } - // if (this.base.childNodes[pos] != null) { this.base.insertBefore(k, this.base.childNodes[pos]); } else { this.base.appendChild(k); } - if (this.cont.childNodes[pos] != null) { this.cont.insertBefore(k, this.cont.childNodes[pos]); } else { this.cont.appendChild(k); } - } else { - // add as a last item - // var last = this.base.childNodes[this.base.childNodes.length-1]; - var last = this.cont.childNodes[this.cont.childNodes.length-1]; - // if (String(last).search("TopLevel_Text") == -1) { this.base.appendChild(k); } else { this.base.insertBefore(k, last); } - if (String(last).search("TopLevel_Text") == -1) { this.cont.appendChild(k); } else { this.cont.insertBefore(k, last); } - } - this.idPull[k.id] = k; - } else { - var polygon = this.idPull["polygon_"+this.itemPull[id]["parent"]]; - if (pos != null) { pos++; if (pos < 0) pos = 0; if (pos > polygon.tbd.childNodes.length - 1) pos = null; } - if (pos != null && polygon.tbd.childNodes[pos] != null) polygon.tbd.insertBefore(tr, polygon.tbd.childNodes[pos]); else polygon.tbd.appendChild(tr); - td.appendChild(k); - this.idPull[k.id] = tr; - } -}; - -dhtmlXMenuObject.prototype.addNewSeparator = function(nextToId, itemId) { - itemId = this.idPrefix+(itemId!=null?itemId:this._genStr(24)); - var parentId = this.idPrefix+this.getParentId(nextToId); - - this._addItemIntoGlobalStrorage(itemId, parentId, "", "separator", false, "", ""); - this._renderSeparator(itemId, this.getItemPosition(nextToId)); -}; - -dhtmlXMenuObject.prototype._initObj = function(items, nested, parentId) { - - if (!(items instanceof Array)) { - parentId = items.parentId; - if (parentId != null && String(parentId).indexOf(this.idPrefix) !== 0) parentId = this.idPrefix+String(parentId); - items = items.items; - } - - for (var q=0; q 0) { - this.itemPull[items[q].id].complex = true; - this._initObj(items[q].items, true, items[q].id); - } else if (this.conf.dload && items[q].complex == true) { - this.itemPull[items[q].id].loaded = "no"; - } - this.itemPull[items[q].id].items = null; - - } - - if (nested !== true) { - if (this.conf.dload == true) { - if (parentId == null) { - this._initTopLevelMenu(); - } else { - this._addSubMenuPolygon(parentId, parentId); - if (this.conf.selected == parentId) { - var isTop = (this.itemPull[parentId].parent == this.idPrefix+this.topId); - var level = (isTop && !this.conf.context ? this.conf.dir_toplv:this.conf.dir_sublv); - var isShow = false; - if (isTop && this.conf.top_mode && this.conf.mode == "web" && !this.conf.context) { - var item = this.idPull[parentId]; - if (item._mouseOver == true) { - var delay = this.conf.top_tmtime - (new Date().getTime()-item._dynLoadTM); - if (delay > 1) { - var pId = parentId; - var that = this; - item._menuOpenTM = window.setTimeout(function(){ - that._showPolygon(pId, level); - that = pId = null; - }, delay); - isShow = true; - } - } - } - if (!isShow) this._showPolygon(parentId, level); - } - - this.itemPull[parentId].loaded = "yes"; - if (this.conf.dload_icon == true) this._updateLoaderIcon(parentId, false); - } - } else { - this._init(); - } - } - -}; - -dhtmlXMenuObject.prototype._xmlToJson = function(xml, parentId) { - - var items = []; - - if (parentId == null) { - var root = xml.getElementsByTagName(this.conf.tags.root); - if (root == null || root.length == 0) return data; - root = root[0]; - } else { - root = xml; - } - - if (root.getAttribute("parentId") != null) { - parentId = this.idPrefix+root.getAttribute("parentId"); - } - - for (var q=0; q 0); - } - - // misc - for (var w=0; w= 0) return; - // get arrow - var ind = (this.conf.rtl?0:2); - if (!this.idPull[id].childNodes[ind]) return; - if (!this.idPull[id].childNodes[ind].childNodes[0]) return; - var aNode = this.idPull[id].childNodes[ind].childNodes[0]; - if (String(aNode.className).search("complex_arrow") === 0) aNode.className = "complex_arrow"+(state?"_loading":""); - -}; - - -// add/remove -dhtmlXMenuObject.prototype.addNewSibling = function(nextToId, itemId, itemText, disabled, imgEnabled, imgDisabled) { - var id = this.idPrefix+(itemId!=null?itemId:this._genStr(24)); - var parentId = this.idPrefix+(nextToId!=null?this.getParentId(nextToId):this.topId); - - this._addItemIntoGlobalStrorage(id, parentId, itemText, "item", disabled, imgEnabled, imgDisabled); - if ((parentId == this.idPrefix+this.topId) && (!this.conf.context)) { - this._renderToplevelItem(id, this.getItemPosition(nextToId)); - } else { - this._renderSublevelItem(id, this.getItemPosition(nextToId)); - } -}; - -dhtmlXMenuObject.prototype.addNewChild = function(parentId, pos, itemId, itemText, disabled, imgEnabled, imgDisabled) { - if (parentId == null) { - if (this.conf.context) { - parentId = this.topId; - } else { - this.addNewSibling(parentId, itemId, itemText, disabled, imgEnabled, imgDisabled); - if (pos != null) this.setItemPosition(itemId, pos); - return; - } - } - itemId = this.idPrefix+(itemId!=null?itemId:this._genStr(24)); - // remove hotkey, added in 0.4 - if (this.setHotKey) this.setHotKey(parentId, ""); - // - parentId = this.idPrefix+parentId; - this._addItemIntoGlobalStrorage(itemId, parentId, itemText, "item", disabled, imgEnabled, imgDisabled); - if (this.idPull["polygon_"+parentId] == null) { this._renderSublevelPolygon(parentId, parentId); } - this._renderSublevelItem(itemId, pos-1); - - this._redefineComplexState(parentId); -}; - -dhtmlXMenuObject.prototype.removeItem = function(id, _isTId, _recCall) { - if (!_isTId) id = this.idPrefix + id; - - var pId = null; - - if (id != this.idPrefix+this.topId) { - - if (this.itemPull[id] == null) return; - - // effects - if (this.idPull["polygon_"+id] && this.idPull["polygon_"+id]._tmShow) window.clearTimeout(this.idPull["polygon_"+id]._tmShow); - - // separator top - var t = this.itemPull[id]["type"]; - - if (t == "separator") { - var item = this.idPull["separator_"+id]; - if (this.itemPull[id]["parent"] == this.idPrefix+this.topId) { - item.onclick = null; - item.onselectstart = null; - item.id = null; - item.parentNode.removeChild(item); - } else { - item.childNodes[0].childNodes[0].onclick = null; - item.childNodes[0].childNodes[0].onselectstart = null; - item.childNodes[0].childNodes[0].id = null; - item.childNodes[0].removeChild(item.childNodes[0].childNodes[0]); - item.removeChild(item.childNodes[0]); - item.parentNode.removeChild(item); - } - this.idPull["separator_"+id] = null; - this.itemPull[id] = null; - delete this.idPull["separator_"+id]; - delete this.itemPull[id]; - item = null; - } else { - // item checkbox radio - pId = this.itemPull[id]["parent"]; - var item = this.idPull[id]; - item.onclick = null; - item.oncontextmenu = null; - item.onmouseover = null; - item.onmouseout = null; - item.onselectstart = null; - item.id = null; - while (item.childNodes.length > 0) item.removeChild(item.childNodes[0]); - item.parentNode.removeChild(item); - this.idPull[id] = null; - this.itemPull[id] = null; - delete this.idPull[id]; - delete this.itemPull[id]; - item = null; - - } - t = null; - } - - // clear nested items - for (var a in this.itemPull) if (this.itemPull[a]["parent"] == id) this.removeItem(a, true, true); - - // check if empty polygon left - var p2 = new Array(id); - if (pId != null && !_recCall) { - if (this.idPull["polygon_"+pId] != null) { - if (this.idPull["polygon_"+pId].tbd.childNodes.length == 0) { - p2.push(pId); - this._updateItemComplexState(pId, false, false); - } - } - } - - // delete nested polygons and parent's if any - for (var q=0; q=0); // opacity was added in IE9 - - for (var a in this.idPull) { - if (a.search(/polygon/) === 0) { - this._pOpacityApply(a,(this._pOpStyleIE?100:1)); - this.idPull[a].style.height = ""; - } - - } - - // opacity max value - this._pOpMax = (typeof(maxOpacity)=="undefined"?100:maxOpacity)/(this._pOpStyleIE?1:100); - - // opacity css styles - this._pOpStyleName = (this._pOpStyleIE?"filter":"opacity"); - this._pOpStyleValue = (this._pOpStyleIE?"progid:DXImageTransform.Microsoft.Alpha(Opacity=#)":"#"); - - - // count of steps to open full polygon - this._pSlSteps = (this._pOpStyleIE?10:20); - - // timeout to open polygon - this._pSlTMTimeMax = effectSpeed||50; - -}; - -// extended show -dhtmlXMenuObject.prototype._showPolygonEffect = function(pId) { - this._pShowHide(pId, true); -}; - -// extended hide -dhtmlXMenuObject.prototype._hidePolygonEffect = function(pId) { - this._pShowHide(pId, false); -}; - -// apply opacity css -dhtmlXMenuObject.prototype._pOpacityApply = function(pId, val) { - this.idPull[pId].style[this._pOpStyleName] = String(this._pOpStyleValue).replace("#", val||this.idPull[pId]._op); -}; - -dhtmlXMenuObject.prototype._pShowHide = function(pId, mode) { - - if (!this.idPull) return; - - // check if mode in progress - if (this.idPull[pId]._tmShow != null) { - if ((this.idPull[pId]._step_h > 0 && mode == true) || (this.idPull[pId]._step_h < 0 && mode == false)) return; - window.clearTimeout(this.idPull[pId]._tmShow); - this.idPull[pId]._tmShow = null; - this.idPull[pId]._max_h = null; - } - - if (mode == false && (this.idPull[pId].style.visibility == "hidden" || this.idPull[pId].style.display == "none")) return; - - if (mode == true && this.idPull[pId].style.display == "none") { - this.idPull[pId].style.visibility = "hidden"; - this.idPull[pId].style.display = ""; - } - - // init values or show-hide revert - if (this.idPull[pId]._max_h == null) { - - this.idPull[pId]._max_h = parseInt(this.idPull[pId].offsetHeight); - this.idPull[pId]._h = (mode==true?0:this.idPull[pId]._max_h); - this.idPull[pId]._step_h = Math.round(this.idPull[pId]._max_h/this._pSlSteps)*(mode==true?1:-1); - if (this.idPull[pId]._step_h == 0) return; - this.idPull[pId]._step_tm = Math.round(this._pSlTMTimeMax/this._pSlSteps); - - if (this._menuEffect == "slide+" || this._menuEffect == "opacity") { - this.idPull[pId].op_tm = this.idPull[pId]._step_tm; - this.idPull[pId].op_step = (this._pOpMax/this._pSlSteps)*(mode==true?1:-1); - if (this._pOpStyleIE) this.idPull[pId].op_step = Math.round(this.idPull[pId].op_step); - this.idPull[pId]._op = (mode==true?0:this._pOpMax); - this._pOpacityApply(pId); - } else { - this.idPull[pId]._op = (this._pOpStyleIE?100:1); - this._pOpacityApply(pId); - } - - // show first time - if (this._menuEffect.search(/slide/) === 0) this.idPull[pId].style.height = "0px"; - this.idPull[pId].style.visibility = "visible"; - - } - - // run cycle - this._pEffectSet(pId, this.idPull[pId]._h+this.idPull[pId]._step_h); - -}; - -dhtmlXMenuObject.prototype._pEffectSet = function(pId, t) { - - if (!this.idPull) return; - - if (this.idPull[pId]._tmShow) window.clearTimeout(this.idPull[pId]._tmShow); - - // check and apply next step - this.idPull[pId]._h = Math.max(0,Math.min(t,this.idPull[pId]._max_h)); - if (this._menuEffect.search(/slide/) === 0) this.idPull[pId].style.height = this.idPull[pId]._h+"px"; - - t += this.idPull[pId]._step_h; - - if (this._menuEffect == "slide+" || this._menuEffect == "opacity") { - this.idPull[pId]._op = Math.max(0,Math.min(this._pOpMax,this.idPull[pId]._op+this.idPull[pId].op_step)); - this._pOpacityApply(pId); - } - - if ((this.idPull[pId]._step_h > 0 && t <= this.idPull[pId]._max_h) || (this.idPull[pId]._step_h < 0 && t >= 0)) { - // continue - var k = this; - this.idPull[pId]._tmShow = window.setTimeout(function(){k._pEffectSet(pId,t);}, this.idPull[pId]._step_tm); - } else { - - // clear height - if (this._menuEffect.search(/slide/) === 0) this.idPull[pId].style.height = ""; - - // hide completed - if (this.idPull[pId]._step_h < 0) this.idPull[pId].style.visibility = "hidden"; - - if (this._menuEffect == "slide+" || this._menuEffect == "opacity") { - this.idPull[pId]._op = (this.idPull[pId]._step_h<0?(this._pOpStyleIE?100:1):this._pOpMax); - this._pOpacityApply(pId); - } - - // clear values - this.idPull[pId]._tmShow = null; - this.idPull[pId]._h = null; - this.idPull[pId]._max_h = null; - ///this.idPull[pId]._step_h = null; - this.idPull[pId]._step_tm = null; - } - -}; - diff --git a/themes/sources4.0/dhtmlxMenu/codebase/ext/dhtmlxmenu_ext.js b/themes/sources4.0/dhtmlxMenu/codebase/ext/dhtmlxmenu_ext.js deleted file mode 100644 index 4b80bc6..0000000 --- a/themes/sources4.0/dhtmlxMenu/codebase/ext/dhtmlxmenu_ext.js +++ /dev/null @@ -1,763 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -// enable/disable - -dhtmlXMenuObject.prototype.setItemEnabled = function(id) { - this._changeItemState(id, "enabled", this._getItemLevelType(id)); -}; -dhtmlXMenuObject.prototype.setItemDisabled = function(id) { - this._changeItemState(id, "disabled", this._getItemLevelType(id)); -}; -dhtmlXMenuObject.prototype.isItemEnabled = function(id) { - return (this.itemPull[this.idPrefix+id]!=null?(this.itemPull[this.idPrefix+id]["state"]=="enabled"):false); -}; - -// enable/disable sublevel item -dhtmlXMenuObject.prototype._changeItemState = function(id, newState, levelType) { - var t = false; - var j = this.idPrefix + id; - if ((this.itemPull[j] != null) && (this.idPull[j] != null)) { - if (this.itemPull[j]["state"] != newState) { - this.itemPull[j]["state"] = newState; - if (this.itemPull[j]["parent"] == this.idPrefix+this.topId && !this.conf.context) { - this.idPull[j].className = "dhtmlxMenu_"+this.conf.skin+"_TopLevel_Item_"+(this.itemPull[j]["state"]=="enabled"?"Normal":"Disabled"); - } else { - this.idPull[j].className = "sub_item"+(this.itemPull[j]["state"]=="enabled"?"":"_dis"); - } - - this._updateItemComplexState(this.idPrefix+id, this.itemPull[this.idPrefix+id]["complex"], false); - this._updateItemImage(id, levelType); - // if changeItemState attached to onClick event and changing applies to selected item all selection should be reparsed - if ((this.idPrefix + this.conf.last_click == j) && (levelType != "TopLevel")) { - this._redistribSubLevelSelection(j, this.itemPull[j]["parent"]); - } - if (levelType == "TopLevel" && !this.conf.context) { // rebuild style.left and show nested polygons - // this._redistribTopLevelSelection(id, "parent"); - } - } - } - return t; -}; - - -// set-get text -dhtmlXMenuObject.prototype.getItemText = function(id) { - return (this.itemPull[this.idPrefix+id]!=null?this.itemPull[this.idPrefix+id]["title"]:""); -}; - -dhtmlXMenuObject.prototype.setItemText = function(id, text) { - id = this.idPrefix + id; - if ((this.itemPull[id] != null) && (this.idPull[id] != null)) { - this._clearAndHide(); - this.itemPull[id]["title"] = text; - if (this.itemPull[id]["parent"] == this.idPrefix+this.topId && !this.conf.context) { - // top level - var tObj = null; - for (var q=0; q 0) this.idPull[id].insertBefore(tObj,this.idPull[id].childNodes[0]); else this.idPull[id].appendChild(tObj); - } - tObj.innerHTML = this.itemPull[id]["title"]; - } - } else { - // sub level - var tObj = null; - for (var q=0; q 0 ? tip : null); - this.itemPull[id]["tip"] = tip; -}; - -dhtmlXMenuObject.prototype.getTooltip = function(id) { - if (this.itemPull[this.idPrefix+id] == null) return null; - return this.itemPull[this.idPrefix+id]["tip"]; -}; - - - -dhtmlXMenuObject.prototype.setTopText = function(text) { - if (this.conf.context) return; - if (this._topText == null) { - this._topText = document.createElement("DIV"); - this._topText.className = "dhtmlxMenu_TopLevel_Text_"+(this.conf.rtl?"left":(this.conf.align=="left"?"right":"left")); - this.base.appendChild(this._topText); - } - this._topText.innerHTML = text; -}; - -dhtmlXMenuObject.prototype.setAlign = function(align) { - if (this.conf.align == align) return; - if (align == "left" || align == "right") { - // if (this.setRTL) this.setRTL(false); - this.conf.align = align; - if (this.cont) this.cont.className = (this.conf.align=="right"?"align_right":"align_left"); - if (this._topText != null) this._topText.className = "dhtmlxMenu_TopLevel_Text_"+(this.conf.align=="left"?"right":"left"); - } -}; - -dhtmlXMenuObject.prototype.setHref = function(itemId, href, target) { - if (this.itemPull[this.idPrefix+itemId] == null) return; - this.itemPull[this.idPrefix+itemId]["href_link"] = href; - if (target != null) this.itemPull[this.idPrefix+itemId]["href_target"] = target; -}; - -dhtmlXMenuObject.prototype.clearHref = function(itemId) { - if (this.itemPull[this.idPrefix+itemId] == null) return; - delete this.itemPull[this.idPrefix+itemId]["href_link"]; - delete this.itemPull[this.idPrefix+itemId]["href_target"]; -}; -/* -File [id="file"] -> Open [id="open"] -> Last Save [id="lastsave"] -getCircuit("lastsave") will return Array("file", "open", "lastsave"); -*/ - -dhtmlXMenuObject.prototype.getCircuit = function(id) { - var parents = new Array(id); - while (this.getParentId(id) != this.topId) { - id = this.getParentId(id); - parents[parents.length] = id; - } - return parents.reverse(); -}; -// checkboxes -dhtmlXMenuObject.prototype._getCheckboxState = function(id) { - if (this.itemPull[this.idPrefix+id] == null) return null; - return this.itemPull[this.idPrefix+id]["checked"]; -}; - -dhtmlXMenuObject.prototype._setCheckboxState = function(id, state) { - if (this.itemPull[this.idPrefix+id] == null) return; - this.itemPull[this.idPrefix+id]["checked"] = state; -}; - -dhtmlXMenuObject.prototype._updateCheckboxImage = function(id) { - if (this.idPull[this.idPrefix+id] == null) return; - this.itemPull[this.idPrefix+id]["imgen"] = "chbx_"+(this._getCheckboxState(id)?"1":"0"); - this.itemPull[this.idPrefix+id]["imgdis"] = this.itemPull[this.idPrefix+id]["imgen"]; - try { this.idPull[this.idPrefix+id].childNodes[(this.conf.rtl?2:0)].childNodes[0].className = "sub_icon "+this.itemPull[this.idPrefix+id]["imgen"]; } catch(e){} -}; - -dhtmlXMenuObject.prototype._checkboxOnClickHandler = function(id, type, casState) { - if (type.charAt(1)=="d") return; - if (this.itemPull[this.idPrefix+id] == null) return; - var state = this._getCheckboxState(id); - if (this.checkEvent("onCheckboxClick")) { - if (this.callEvent("onCheckboxClick", [id, state, this.conf.ctx_zoneid, casState])) { - this.setCheckboxState(id, !state); - } - } else { - this.setCheckboxState(id, !state); - } - // call onClick if exists - if (this.checkEvent("onClick")) this.callEvent("onClick", [id]); -}; - -dhtmlXMenuObject.prototype.setCheckboxState = function(id, state) { - this._setCheckboxState(id, state); - this._updateCheckboxImage(id); -}; - -dhtmlXMenuObject.prototype.getCheckboxState = function(id) { - return this._getCheckboxState(id); -}; - -dhtmlXMenuObject.prototype.addCheckbox = function(mode, nextToId, pos, itemId, itemText, state, disabled) { - // checks - if (this.conf.context && nextToId == this.topId) { - // adding checkbox as first element to context menu - // do nothing - } else { - if (this.itemPull[this.idPrefix+nextToId] == null) return; - if (mode == "child" && this.itemPull[this.idPrefix+nextToId]["type"] != "item") return; - } - // - var img = "chbx_"+(state?"1":"0"); - var imgDis = img; - // - - if (mode == "sibling") { - - var id = this.idPrefix+(itemId!=null?itemId:this._genStr(24)); - var parentId = this.idPrefix+this.getParentId(nextToId); - this._addItemIntoGlobalStrorage(id, parentId, itemText, "checkbox", disabled, img, imgDis); - this.itemPull[id]["checked"] = state; - this._renderSublevelItem(id, this.getItemPosition(nextToId)); - } else { - - var id = this.idPrefix+(itemId!=null?itemId:this._genStr(24)); - var parentId = this.idPrefix+nextToId; - this._addItemIntoGlobalStrorage(id, parentId, itemText, "checkbox", disabled, img, imgDis); - this.itemPull[id]["checked"] = state; - if (this.idPull["polygon_"+parentId] == null) { this._renderSublevelPolygon(parentId, parentId); } - this._renderSublevelItem(id, pos-1); - this._redefineComplexState(parentId); - } -}; - -// hot-keys -dhtmlXMenuObject.prototype.setHotKey = function(id, hkey) { - - id = this.idPrefix+id; - - if (!(this.itemPull[id] != null && this.idPull[id] != null)) return; - if (this.itemPull[id]["parent"] == this.idPrefix+this.topId && !this.conf.context) return; - if (this.itemPull[id]["complex"]) return; - var t = this.itemPull[id]["type"]; - if (!(t == "item" || t == "checkbox" || t == "radio")) return; - - // retrieve obj - var hkObj = null; - try { if (this.idPull[id].childNodes[this.conf.rtl?0:2].childNodes[0].className == "sub_item_hk") hkObj = this.idPull[id].childNodes[this.conf.rtl?0:2].childNodes[0]; } catch(e){} - - if (hkey.length == 0) { - // remove if exists - this.itemPull[id]["hotkey_backup"] = this.itemPull[id]["hotkey"]; - this.itemPull[id]["hotkey"] = ""; - if (hkObj != null) hkObj.parentNode.removeChild(hkObj); - - } else { - - // add if needed or change - this.itemPull[id]["hotkey"] = hkey; - this.itemPull[id]["hotkey_backup"] = null; - // - if (hkObj == null) { - hkObj = document.createElement("DIV"); - hkObj.className = "sub_item_hk"; - var item = this.idPull[id].childNodes[this.conf.rtl?0:2]; - while (item.childNodes.length > 0) item.removeChild(item.childNodes[0]); - item.appendChild(hkObj); - } - hkObj.innerHTML = hkey; - - } -}; - -dhtmlXMenuObject.prototype.getHotKey = function(id) { - if (this.itemPull[this.idPrefix+id] == null) return null; - return this.itemPull[this.idPrefix+id]["hotkey"]; -}; - -// overflow control -dhtmlXMenuObject.prototype._clearAllSelectedSubItemsInPolygon = function(polygon) { - var subIds = this._getSubItemToDeselectByPolygon(polygon); - // hide opened polygons and selected items - for (var q=0; q 0) { - var theEnd = false; - var nextScrollTop = polygon.scrollTop - this.conf.of_ustep; - if (nextScrollTop < 0) { - theEnd = true; - nextScrollTop = 0; - } - polygon.scrollTop = nextScrollTop; - if (!theEnd) { - var that = this; - this.conf.of_utm = window.setTimeout(function() { - that._doScrollUp(id, false); - that = null; - }, this.conf.of_utime); - } else { - checkArrows = true; - } - } else { - this._canScrollUp = false; - this._checkArrowsState(id); - } - if (checkArrows) { - this._checkArrowsState(id); - } -}; - -dhtmlXMenuObject.prototype._doScrollDown = function(id, checkArrows) { - var polygon = this.idPull["polygon_"+id].childNodes[1]; - if (this._canScrollDown && polygon.scrollTop + polygon.offsetHeight <= polygon.scrollHeight) { - var theEnd = false; - var nextScrollTop = polygon.scrollTop + this.conf.of_dstep; - if (nextScrollTop + polygon.offsetHeight >= polygon.scrollHeight) { - theEnd = true; - nextScrollTop = polygon.scrollHeight - polygon.offsetHeight; - } - polygon.scrollTop = nextScrollTop; - if (!theEnd) { - var that = this; - this.conf.of_dtm = window.setTimeout(function() { - that._doScrollDown(id, false); - that = null; - }, this.conf.of_dtime); - } else { - checkArrows = true; - } - } else { - this._canScrollDown = false; - this._checkArrowsState(id); - } - if (checkArrows) { - this._checkArrowsState(id); - } -}; - -dhtmlXMenuObject.prototype._countPolygonItems = function(id) { - var count = 0; - for (var a in this.itemPull) { - var par = this.itemPull[a]["parent"]; - var tp = this.itemPull[a]["type"]; - if (par == this.idPrefix+id && (tp == "item" || tp == "radio" || tp == "checkbox")) { count++; } - } - return count; -}; - -dhtmlXMenuObject.prototype.setOverflowHeight = function(itemsNum) { - - // set auto overflow mode - if (itemsNum === "auto") { - this.conf.overflow_limit = 0; - this.conf.auto_overflow = true; - return; - } - - // no existing limitation, now new limitation - if (this.conf.overflow_limit == 0 && itemsNum <= 0) return; - - // hide menu to prevent visible changes - this._clearAndHide(); - - // redefine existing limitation, arrows will added automatically with showPlygon - if (this.conf.overflow_limit >= 0 && itemsNum > 0) { - this.conf.overflow_limit = itemsNum; - return; - } - - // remove existing limitation - if (this.conf.overflow_limit > 0 && itemsNum <= 0) { - for (var a in this.itemPull) { - if (this._isArrowExists(a)) { - var b = String(a).replace(this.idPrefix, ""); - this._removeUpArrow(b); - this._removeDownArrow(b); - // remove polygon's height - this.idPull["polygon_"+a].childNodes[1].style.height = ""; - } - } - this.conf.overflow_limit = 0; - return; - } -}; - -// radiobuttons -dhtmlXMenuObject.prototype._getRadioImgObj = function(id) { - try { var imgObj = this.idPull[this.idPrefix+id].childNodes[(this.conf.rtl?2:0)].childNodes[0] } catch(e) { var imgObj = null; } - return imgObj; -}; - -dhtmlXMenuObject.prototype._setRadioState = function(id, state) { - // if (this.itemPull[this.idPrefix+id]["state"] != "enabled") return; - var imgObj = this._getRadioImgObj(id); - if (imgObj != null) { - // fix, added in 0.4 - var rObj = this.itemPull[this.idPrefix+id]; - rObj["checked"] = state; - rObj["imgen"] = "rdbt_"+(rObj["checked"]?"1":"0"); - rObj["imgdis"] = rObj["imgen"]; - imgObj.className = "sub_icon "+rObj["imgen"]; - } -}; - -dhtmlXMenuObject.prototype._radioOnClickHandler = function(id, type, casState) { - if (type.charAt(1)=="d" || this.itemPull[this.idPrefix+id]["group"]==null) return; - // deselect all from the same group - var group = this.itemPull[this.idPrefix+id]["group"]; - if (this.checkEvent("onRadioClick")) { - if (this.callEvent("onRadioClick", [group, this.getRadioChecked(group), id, this.conf.ctx_zoneid, casState])) { - this.setRadioChecked(group, id); - } - } else { - this.setRadioChecked(group, id); - } - // call onClick if exists - if (this.checkEvent("onClick")) this.callEvent("onClick", [id]); -}; - -dhtmlXMenuObject.prototype.getRadioChecked = function(group) { - var id = null; - for (var q=0; q"; - return xml; -}; - -dhtmlXMenuObject.prototype._readLevel = function(parentId) { - var xml = ""; - for (var a in this.itemPull) { - if (this.itemPull[a]["parent"] == parentId) { - var imgEn = ""; - var imgDis = ""; - var hotKey = ""; - var itemId = String(this.itemPull[a]["id"]).replace(this.idPrefix,""); - var itemType = ""; - var itemText = (this.itemPull[a]["title"]!=""?' text="'+this.itemPull[a]["title"]+'"':""); - var itemState = ""; - if (this.itemPull[a]["type"] == "item") { - if (this.itemPull[a]["imgen"] != "") imgEn = ' img="'+this.itemPull[a]["imgen"]+'"'; - if (this.itemPull[a]["imgdis"] != "") imgDis = ' imgdis="'+this.itemPull[a]["imgdis"]+'"'; - if (this.itemPull[a]["hotkey"] != "") hotKey = ''+this.itemPull[a]["hotkey"]+''; - } - if (this.itemPull[a]["type"] == "separator") { - itemType = ' type="separator"'; - } else { - if (this.itemPull[a]["state"] == "disabled") itemState = ' enabled="false"'; - } - if (this.itemPull[a]["type"] == "checkbox") { - itemType = ' type="checkbox"'+(this.itemPull[a]["checked"]?' checked="true"':""); - } - if (this.itemPull[a]["type"] == "radio") { - itemType = ' type="radio" group="'+this.itemPull[a]["group"]+'" '+(this.itemPull[a]["checked"]?' checked="true"':""); - } - xml += ""; - xml += hotKey; - if (this.itemPull[a]["complex"]) xml += this._readLevel(a); - xml += ""; - } - } - return xml; -}; diff --git a/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_material/dhxmenu_arrow_down.png b/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_material/dhxmenu_arrow_down.png deleted file mode 100644 index 89a354b..0000000 Binary files a/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_material/dhxmenu_arrow_down.png and /dev/null differ diff --git a/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_material/dhxmenu_arrow_down_dis.png b/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_material/dhxmenu_arrow_down_dis.png deleted file mode 100644 index 1430cc5..0000000 Binary files a/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_material/dhxmenu_arrow_down_dis.png and /dev/null differ diff --git a/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_material/dhxmenu_arrow_up.png b/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_material/dhxmenu_arrow_up.png deleted file mode 100644 index 8ad4531..0000000 Binary files a/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_material/dhxmenu_arrow_up.png and /dev/null differ diff --git a/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_material/dhxmenu_arrow_up_dis.png b/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_material/dhxmenu_arrow_up_dis.png deleted file mode 100644 index efc49bd..0000000 Binary files a/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_material/dhxmenu_arrow_up_dis.png and /dev/null differ diff --git a/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_material/dhxmenu_chrd.png b/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_material/dhxmenu_chrd.png deleted file mode 100644 index 0979352..0000000 Binary files a/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_material/dhxmenu_chrd.png and /dev/null differ diff --git a/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_material/dhxmenu_loader.gif b/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_material/dhxmenu_loader.gif deleted file mode 100644 index ca190eb..0000000 Binary files a/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_material/dhxmenu_loader.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_material/dhxmenu_subar.png b/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_material/dhxmenu_subar.png deleted file mode 100644 index 6367440..0000000 Binary files a/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_material/dhxmenu_subar.png and /dev/null differ diff --git a/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_skyblue/dhxmenu_arrow_down.gif b/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_skyblue/dhxmenu_arrow_down.gif deleted file mode 100644 index 60be3f7..0000000 Binary files a/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_skyblue/dhxmenu_arrow_down.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_skyblue/dhxmenu_arrow_down_dis.gif b/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_skyblue/dhxmenu_arrow_down_dis.gif deleted file mode 100644 index d849732..0000000 Binary files a/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_skyblue/dhxmenu_arrow_down_dis.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_skyblue/dhxmenu_arrow_up.gif b/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_skyblue/dhxmenu_arrow_up.gif deleted file mode 100644 index c23a23a..0000000 Binary files a/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_skyblue/dhxmenu_arrow_up.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_skyblue/dhxmenu_arrow_up_dis.gif b/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_skyblue/dhxmenu_arrow_up_dis.gif deleted file mode 100644 index a43cfe3..0000000 Binary files a/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_skyblue/dhxmenu_arrow_up_dis.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_skyblue/dhxmenu_chrd.gif b/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_skyblue/dhxmenu_chrd.gif deleted file mode 100644 index 235caaf..0000000 Binary files a/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_skyblue/dhxmenu_chrd.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_skyblue/dhxmenu_loader.gif b/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_skyblue/dhxmenu_loader.gif deleted file mode 100644 index 21cc17e..0000000 Binary files a/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_skyblue/dhxmenu_loader.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_skyblue/dhxmenu_subar.gif b/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_skyblue/dhxmenu_subar.gif deleted file mode 100644 index 4603471..0000000 Binary files a/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_skyblue/dhxmenu_subar.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_terrace/dhxmenu_arrow_down.gif b/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_terrace/dhxmenu_arrow_down.gif deleted file mode 100644 index 60be3f7..0000000 Binary files a/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_terrace/dhxmenu_arrow_down.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_terrace/dhxmenu_arrow_down_dis.gif b/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_terrace/dhxmenu_arrow_down_dis.gif deleted file mode 100644 index d849732..0000000 Binary files a/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_terrace/dhxmenu_arrow_down_dis.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_terrace/dhxmenu_arrow_up.gif b/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_terrace/dhxmenu_arrow_up.gif deleted file mode 100644 index c23a23a..0000000 Binary files a/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_terrace/dhxmenu_arrow_up.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_terrace/dhxmenu_arrow_up_dis.gif b/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_terrace/dhxmenu_arrow_up_dis.gif deleted file mode 100644 index a43cfe3..0000000 Binary files a/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_terrace/dhxmenu_arrow_up_dis.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_terrace/dhxmenu_chrd.gif b/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_terrace/dhxmenu_chrd.gif deleted file mode 100644 index aa11459..0000000 Binary files a/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_terrace/dhxmenu_chrd.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_terrace/dhxmenu_loader.gif b/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_terrace/dhxmenu_loader.gif deleted file mode 100644 index ca190eb..0000000 Binary files a/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_terrace/dhxmenu_loader.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_terrace/dhxmenu_subar.gif b/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_terrace/dhxmenu_subar.gif deleted file mode 100644 index 35dbd98..0000000 Binary files a/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_terrace/dhxmenu_subar.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_web/dhxmenu_arrow_down.gif b/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_web/dhxmenu_arrow_down.gif deleted file mode 100644 index 60be3f7..0000000 Binary files a/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_web/dhxmenu_arrow_down.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_web/dhxmenu_arrow_down_dis.gif b/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_web/dhxmenu_arrow_down_dis.gif deleted file mode 100644 index d849732..0000000 Binary files a/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_web/dhxmenu_arrow_down_dis.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_web/dhxmenu_arrow_up.gif b/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_web/dhxmenu_arrow_up.gif deleted file mode 100644 index c23a23a..0000000 Binary files a/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_web/dhxmenu_arrow_up.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_web/dhxmenu_arrow_up_dis.gif b/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_web/dhxmenu_arrow_up_dis.gif deleted file mode 100644 index a43cfe3..0000000 Binary files a/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_web/dhxmenu_arrow_up_dis.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_web/dhxmenu_chrd.gif b/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_web/dhxmenu_chrd.gif deleted file mode 100644 index 040e5e8..0000000 Binary files a/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_web/dhxmenu_chrd.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_web/dhxmenu_loader.gif b/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_web/dhxmenu_loader.gif deleted file mode 100644 index 9ef515f..0000000 Binary files a/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_web/dhxmenu_loader.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_web/dhxmenu_subar.gif b/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_web/dhxmenu_subar.gif deleted file mode 100644 index 35dbd98..0000000 Binary files a/themes/sources4.0/dhtmlxMenu/codebase/imgs/dhxmenu_web/dhxmenu_subar.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxMenu/codebase/skins/dhtmlxmenu_dhx_skyblue.css b/themes/sources4.0/dhtmlxMenu/codebase/skins/dhtmlxmenu_dhx_skyblue.css deleted file mode 100644 index 88a152f..0000000 --- a/themes/sources4.0/dhtmlxMenu/codebase/skins/dhtmlxmenu_dhx_skyblue.css +++ /dev/null @@ -1,306 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* skin detected, extra file: skins/dhx_skyblue.less */ - -.dhxmenu_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 10px; - height: 10px; - overflow: hidden; -} -.dhtmlxMenu_dhx_skyblue_Middle { - position: relative; - height: 30px; - border: none; - overflow: hidden; - background-color: #ebebeb; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; -} -.dhtmlxMenu_dhx_skyblue_Middle div.top_sep { - float: left; - position: relative; - height: 22px; - width: 0px; - border-left: 1px solid #dddddd; - margin: 4px 2px 0px 0px; - line-height: 1px; - font-size: 1px; - overflow: hidden; - cursor: default; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; -} -.dhtmlxMenu_dhx_skyblue_Middle img.dhtmlxMenu_TopLevel_Item_Icon { - float: left; - margin: 2px 3px 0px 3px; - width: 18px; - height: 18px; -} -.dhtmlxMenu_dhx_skyblue_Middle div.dhtmlxMenu_TopLevel_Text_right { - position: absolute; - top: 8px; - left: none; - right: 8px; - font-family: Tahoma; - font-size: 11px; - color: black; - cursor: default; -} -.dhtmlxMenu_dhx_skyblue_Middle div.dhtmlxMenu_TopLevel_Text_left { - position: absolute; - top: 8px; - right: none; - left: 8px; - font-family: Tahoma; - font-size: 11px; - color: black; - cursor: default; -} -.dhtmlxMenu_dhx_skyblue_Middle.dir_left div.align_left { - float: left; -} -.dhtmlxMenu_dhx_skyblue_Middle.dir_left div.align_right { - float: right; -} -div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Normal, -div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Disabled, -div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Selected { - position: relative; - float: left; - font-family: Tahoma; - font-size: 11px; - color: black; - cursor: default; - white-space: nowrap; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; - height: 22px; - line-height: 22px; - vertical-align: middle; - margin: 3px 2px 0px 0px; - padding: 0px 3px; -} -div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Normal div.top_level_text, -div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Disabled div.top_level_text, -div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Selected div.top_level_text { - float: left; - margin: 0px 3px; -} -div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Normal, -div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Disabled { - border: 1px solid #ebebeb; -} -div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Disabled { - color: #999999 !important; -} -div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Selected { - border: 1px solid #a1ceed; - background-color: #b5deff; - color: black; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon { - position: absolute; - border: 1px solid #a4bed4; - box-shadow: 0 0 3px #ccc; - padding: 3px 0px; - border-bottom-left-radius: 2px; - border-bottom-right-radius: 2px; - border-top-right-radius: 2px; - background-color: #e7f1ff; - overflow: hidden; - cursor: default; - line-height: normal; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td { - font-family: Tahoma; - font-size: 11px; - color: black; - line-height: normal; - padding: 0px 3px; - border-top: 1px solid #e7f1ff; - border-bottom: 1px solid #e7f1ff; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_selected td { - background-color: #b5deff; - border-top: 1px solid #a1ceed; - border-bottom: 1px solid #a1ceed; - color: black; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_selected div.sub_item_hk { - color: #333333 !important; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_icon { - width: 18px; - text-align: center; - vertical-align: middle; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_icon img.sub_icon { - float: left; - margin: 0px; - width: 18px; - height: 18px; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_item_text { - padding: 0px 12px 0px 1px; - height: 22px; - line-height: 21px; - white-space: nowrap; - text-align: left; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_item_text { - color: #999999 !important; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_hk { - padding-left: 8px; - padding-right: 8px; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_hk div.sub_item_hk { - font-family: Tahoma; - font-size: 10px; - color: #4d4d4d; - text-align: right; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis td.sub_item_hk div.sub_item_hk { - color: #9b9b9b !important; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.complex_arrow { - width: 4px; - margin: 0px 2px 0px 5px; - height: 22px; - background-image: url("../imgs/dhxmenu_skyblue/dhxmenu_subar.gif"); - background-repeat: no-repeat; - background-position: 0px 0px; - overflow: hidden; - font-size: 1px; - float: right; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_selected div.complex_arrow { - background-position: -4px 0px !important; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.complex_arrow { - background-position: -8px 0px !important; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.complex_arrow_loading { - width: 11px; - height: 22px; - background-position: center center; - background-repeat: no-repeat; - background-image: url("../imgs/dhxmenu_skyblue/dhxmenu_loader.gif"); - float: right; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon { - float: left; - margin: 0px; - width: 18px; - height: 18px; - background-position: top right; - background-repeat: no-repeat; - background-image: url("../imgs/dhxmenu_skyblue/dhxmenu_chrd.gif"); -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.chbx_0 { - background-position: 0px 0px !important; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.chbx_1 { - background-position: -18px 0px !important; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.chbx_0 { - background-position: -36px 0px !important; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.chbx_1 { - background-position: -54px 0px !important; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.rdbt_0 { - background-position: -72px 0px !important; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.rdbt_1 { - background-position: -90px 0px !important; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.rdbt_0 { - background-position: -108px 0px !important; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.rdbt_1 { - background-position: -126px 0px !important; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon tr.sub_sep td { - padding: 2px 0px; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon div.sub_sep { - position: static; - font-size: 1px; - line-height: 1px; - height: 1px; - width: 100%; - border-top: 1px solid #a4bed4; -} -iframe.dhtmlxMenu_IE6CoverFix_dhx_skyblue { - position: absolute; - border: none; - background: #000000; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100); -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_ArrowUp, -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_ArrowUp_Over, -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_ArrowUp_Disabled { - position: relative; - font-size: 1px; - border-bottom: 1px solid #a4bed4; - background-image: url("../imgs/dhxmenu_skyblue/dhxmenu_arrow_up.gif"); - background-repeat: no-repeat; - background-position: center center; - padding: 8px 0px; - margin-bottom: 3px; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_ArrowUp_Disabled { - background-image: url("../imgs/dhxmenu_skyblue/dhxmenu_arrow_up_dis.gif"); -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_ArrowDown, -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_ArrowDown_Over, -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_ArrowDown_Disabled { - position: relative; - font-size: 1px; - border-top: 1px solid #a4bed4; - background-image: url("../imgs/dhxmenu_skyblue/dhxmenu_arrow_down.gif"); - background-repeat: no-repeat; - background-position: center center; - padding: 8px 0px; - margin-top: 3px; -} -div.dhtmlxMenu_dhx_skyblue_SubLevelArea_ArrowDown_Disabled { - background-image: url("../imgs/dhxmenu_skyblue/dhxmenu_arrow_down_dis.gif"); -} diff --git a/themes/sources4.0/dhtmlxMenu/codebase/skins/dhtmlxmenu_dhx_terrace.css b/themes/sources4.0/dhtmlxMenu/codebase/skins/dhtmlxmenu_dhx_terrace.css deleted file mode 100644 index ec948c2..0000000 --- a/themes/sources4.0/dhtmlxMenu/codebase/skins/dhtmlxmenu_dhx_terrace.css +++ /dev/null @@ -1,291 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* skin detected, extra file: skins/dhx_terrace.less */ - -.dhxmenu_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 30px; - height: 10px; - overflow: hidden; -} -.dhtmlxMenu_dhx_terrace_Middle { - position: relative; - height: 34px; - padding: 0px 5px; - border: none; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhtmlxMenu_dhx_terrace_Middle div.top_sep { - float: left; - position: relative; - height: 20px; - margin: 5px 6px 0px 5px; - line-height: 1px; - font-size: 1px; - overflow: hidden; - cursor: default; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhtmlxMenu_dhx_terrace_Middle img.dhtmlxMenu_TopLevel_Item_Icon { - float: left; - margin: 2px 3px 0px 3px; - width: 18px; - height: 18px; -} -.dhtmlxMenu_dhx_terrace_Middle div.dhtmlxMenu_TopLevel_Text_right { - position: absolute; - top: 10px; - left: none; - right: 8px; - font-family: Arial; - font-size: 13px; - color: #333333; - cursor: default; -} -.dhtmlxMenu_dhx_terrace_Middle div.dhtmlxMenu_TopLevel_Text_left { - position: absolute; - top: 10px; - right: none; - left: 8px; - font-family: Arial; - font-size: 13px; - color: #333333; - cursor: default; -} -.dhtmlxMenu_dhx_terrace_Middle.dir_left div.align_left { - float: left; -} -.dhtmlxMenu_dhx_terrace_Middle.dir_left div.align_right { - float: right; -} -div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Normal, -div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Disabled, -div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Selected { - position: relative; - float: left; - font-family: Arial; - font-size: 13px; - color: #333333; - border: 1px solid #cccccc; - background-color: #f5f5f5; - cursor: default; - white-space: nowrap; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - height: 22px; - line-height: 22px; - vertical-align: middle; - margin-top: 2px; - padding: 3px 5px; -} -div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Normal div.top_level_text, -div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Disabled div.top_level_text, -div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Selected div.top_level_text { - float: left; - margin: 0px 5px; -} -div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Disabled { - color: #d1d1d1; - background-color: #ededed; -} -div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Selected { - color: #2e2e2e; - background-color: #ebebeb; -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon { - position: absolute; - border: 1px solid #cccccc; - *border: 1px solid #c7c7c7; - box-shadow: 0 0 5px rgba(127,127,127,0.35); - padding: 3px 0px; - border-bottom-left-radius: 1px; - border-bottom-right-radius: 1px; - border-top-right-radius: 1px; - background-color: #f5f5f5; - overflow: hidden; - cursor: default; - line-height: normal; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td { - font-family: Arial; - font-size: 13px; - color: #333333; - line-height: normal; - padding: 0px 5px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_selected td { - background-color: #fff3a1; - color: black; -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_icon { - width: 18px; - text-align: center; - vertical-align: middle; -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_icon img.sub_icon { - float: left; - margin: 0px; - width: 18px; - height: 18px; -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_item_text { - padding: 0px 16px 0px 1px; - height: 26px; - line-height: 25px; - white-space: nowrap; - text-align: left; -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_item_text { - color: #bbbbbb; -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_hk { - padding-left: 8px; - padding-right: 8px; -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_hk div.sub_item_hk { - font-family: Arial; - font-size: 13px; - color: #737373; - text-align: right; -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis td.sub_item_hk div.sub_item_hk { - color: #c8c8c8 !important; -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.complex_arrow { - width: 4px; - margin: 0px 2px 0px 5px; - height: 22px; - background-image: url("../imgs/dhxmenu_terrace/dhxmenu_subar.gif"); - background-repeat: no-repeat; - background-position: 0px 0px; - overflow: hidden; - font-size: 1px; - float: right; -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_selected div.complex_arrow { - background-position: -4px 0px !important; -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.complex_arrow { - background-position: -8px 0px !important; -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.complex_arrow_loading { - width: 11px; - height: 22px; - background-position: center center; - background-repeat: no-repeat; - background-image: url("../imgs/dhxmenu_terrace/dhxmenu_loader.gif"); - float: right; -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon { - float: left; - margin: 0px; - width: 18px; - height: 18px; - background-position: top right; - background-repeat: no-repeat; - background-image: url("../imgs/dhxmenu_terrace/dhxmenu_chrd.gif"); -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.chbx_0 { - background-position: 0px 0px !important; -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.chbx_1 { - background-position: -18px 0px !important; -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.chbx_0 { - background-position: -36px 0px !important; -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.chbx_1 { - background-position: -54px 0px !important; -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.rdbt_0 { - background-position: -72px 0px !important; -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.rdbt_1 { - background-position: -90px 0px !important; -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.rdbt_0 { - background-position: -108px 0px !important; -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.rdbt_1 { - background-position: -126px 0px !important; -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon tr.sub_sep td { - padding: 2px 0px; -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon div.sub_sep { - position: static; - font-size: 1px; - line-height: 1px; - height: 1px; - width: 100%; - border-top: 1px solid #e8e8e8; -} -iframe.dhtmlxMenu_IE6CoverFix_dhx_terrace { - position: absolute; - border: none; - background: #000000; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100); -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_ArrowUp, -div.dhtmlxMenu_dhx_terrace_SubLevelArea_ArrowUp_Over, -div.dhtmlxMenu_dhx_terrace_SubLevelArea_ArrowUp_Disabled { - position: relative; - font-size: 1px; - border-bottom: 1px solid #cccccc; - background-image: url("../imgs/dhxmenu_terrace/dhxmenu_arrow_up.gif"); - background-repeat: no-repeat; - background-position: center center; - padding: 8px 0px; - margin-bottom: 3px; -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_ArrowUp_Disabled { - background-image: url("../imgs/dhxmenu_terrace/dhxmenu_arrow_up_dis.gif"); -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_ArrowDown, -div.dhtmlxMenu_dhx_terrace_SubLevelArea_ArrowDown_Over, -div.dhtmlxMenu_dhx_terrace_SubLevelArea_ArrowDown_Disabled { - position: relative; - font-size: 1px; - border-top: 1px solid #cccccc; - background-image: url("../imgs/dhxmenu_terrace/dhxmenu_arrow_down.gif"); - background-repeat: no-repeat; - background-position: center center; - padding: 8px 0px; - margin-top: 3px; -} -div.dhtmlxMenu_dhx_terrace_SubLevelArea_ArrowDown_Disabled { - background-image: url("../imgs/dhxmenu_terrace/dhxmenu_arrow_down_dis.gif"); -} diff --git a/themes/sources4.0/dhtmlxMenu/codebase/skins/dhtmlxmenu_dhx_web.css b/themes/sources4.0/dhtmlxMenu/codebase/skins/dhtmlxmenu_dhx_web.css deleted file mode 100644 index 2a3e289..0000000 --- a/themes/sources4.0/dhtmlxMenu/codebase/skins/dhtmlxmenu_dhx_web.css +++ /dev/null @@ -1,285 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* skin detected, extra file: skins/dhx_web.less */ - -.dhxmenu_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 20px; - height: 10px; - overflow: hidden; -} -.dhtmlxMenu_dhx_web_Middle { - position: relative; - height: 26px; - border: none; - background-color: #f4f4f4; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhtmlxMenu_dhx_web_Middle div.top_sep { - float: left; - position: relative; - height: 20px; - width: 0px; - border-left: 1px solid #c1c1c1; - margin: 3px 2px 0px 0px; - line-height: 1px; - font-size: 1px; - overflow: hidden; - cursor: default; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhtmlxMenu_dhx_web_Middle img.dhtmlxMenu_TopLevel_Item_Icon { - float: left; - margin: 2px 3px 0px 3px; - width: 18px; - height: 18px; -} -.dhtmlxMenu_dhx_web_Middle div.dhtmlxMenu_TopLevel_Text_right { - position: absolute; - top: 5px; - left: none; - right: 8px; - font-family: Tahoma; - font-size: 12px; - color: #000000; - cursor: default; -} -.dhtmlxMenu_dhx_web_Middle div.dhtmlxMenu_TopLevel_Text_left { - position: absolute; - top: 5px; - right: none; - left: 8px; - font-family: Tahoma; - font-size: 12px; - color: #000000; - cursor: default; -} -.dhtmlxMenu_dhx_web_Middle.dir_left div.align_left { - float: left; -} -.dhtmlxMenu_dhx_web_Middle.dir_left div.align_right { - float: right; -} -div.dhtmlxMenu_dhx_web_TopLevel_Item_Normal, -div.dhtmlxMenu_dhx_web_TopLevel_Item_Disabled, -div.dhtmlxMenu_dhx_web_TopLevel_Item_Selected { - position: relative; - float: left; - font-family: Tahoma; - font-size: 12px; - color: #000000; - cursor: default; - white-space: nowrap; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - height: 22px; - line-height: 22px; - vertical-align: middle; - margin: 2px 2px 0px 0px; - padding: 0px 3px; -} -div.dhtmlxMenu_dhx_web_TopLevel_Item_Normal div.top_level_text, -div.dhtmlxMenu_dhx_web_TopLevel_Item_Disabled div.top_level_text, -div.dhtmlxMenu_dhx_web_TopLevel_Item_Selected div.top_level_text { - float: left; - margin: 0px 3px; -} -div.dhtmlxMenu_dhx_web_TopLevel_Item_Disabled { - color: #999999; -} -div.dhtmlxMenu_dhx_web_TopLevel_Item_Selected { - background-color: #85d3ff; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon { - position: absolute; - border: 1px solid #ffffff; - *border: 1px solid #ccc; - box-shadow: 0px 0px 10px rgba(0,0,0,0.35); - padding: 3px 0px; - background-color: #f4f4f4; - overflow: hidden; - cursor: default; - line-height: normal; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td { - font-family: Tahoma; - font-size: 12px; - color: header_font_color; - padding: 0px 4px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_selected td { - background-color: #85d3ff; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_icon { - width: 18px; - text-align: center; - vertical-align: middle; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_icon img.sub_icon { - float: left; - margin: 0px; - width: 18px; - height: 18px; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_item_text { - padding: 0px 12px 0px 1px; - height: 26px; - line-height: 25px; - white-space: nowrap; - text-align: left; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_item_text { - color: #999999; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_hk { - padding-left: 8px; - padding-right: 8px; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_hk div.sub_item_hk { - font-family: Tahoma; - font-size: 12px; - color: #333333; - text-align: right; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis td.sub_item_hk div.sub_item_hk { - color: #999999; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.complex_arrow { - width: 4px; - margin: 0px 2px 0px 5px; - height: 22px; - background-image: url("../imgs/dhxmenu_web/dhxmenu_subar.gif"); - background-repeat: no-repeat; - background-position: 0px 0px; - overflow: hidden; - font-size: 1px; - float: right; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_selected div.complex_arrow { - background-position: -4px 0px !important; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.complex_arrow { - background-position: -8px 0px !important; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.complex_arrow_loading { - width: 11px; - height: 22px; - background-position: center center; - background-repeat: no-repeat; - background-image: url("../imgs/dhxmenu_web/dhxmenu_loader.gif"); - float: right; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon { - float: left; - margin: 0px; - width: 18px; - height: 18px; - background-position: top right; - background-repeat: no-repeat; - background-image: url("../imgs/dhxmenu_web/dhxmenu_chrd.gif"); -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.chbx_0 { - background-position: 0px 0px !important; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.chbx_1 { - background-position: -18px 0px !important; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.chbx_0 { - background-position: -36px 0px !important; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.chbx_1 { - background-position: -54px 0px !important; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.rdbt_0 { - background-position: -72px 0px !important; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.rdbt_1 { - background-position: -90px 0px !important; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.rdbt_0 { - background-position: -108px 0px !important; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.rdbt_1 { - background-position: -126px 0px !important; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon tr.sub_sep td { - padding: 2px 0px; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon div.sub_sep { - position: static; - font-size: 1px; - line-height: 1px; - height: 1px; - width: 100%; - border-top: 1px dotted #b4b4b4; - *border-top: 1px solid #cecece; -} -iframe.dhtmlxMenu_IE6CoverFix_dhx_web { - position: absolute; - border: none; - background: #000000; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100); -} -div.dhtmlxMenu_dhx_web_SubLevelArea_ArrowUp, -div.dhtmlxMenu_dhx_web_SubLevelArea_ArrowUp_Over, -div.dhtmlxMenu_dhx_web_SubLevelArea_ArrowUp_Disabled { - position: relative; - font-size: 1px; - border-bottom: 1px solid #b4b4b4; - background-image: url("../imgs/dhxmenu_web/dhxmenu_arrow_up.gif"); - background-repeat: no-repeat; - background-position: center center; - padding: 8px 0px; - margin-bottom: 3px; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_ArrowUp_Disabled { - background-image: url("../imgs/dhxmenu_web/dhxmenu_arrow_up_dis.gif"); -} -div.dhtmlxMenu_dhx_web_SubLevelArea_ArrowDown, -div.dhtmlxMenu_dhx_web_SubLevelArea_ArrowDown_Over, -div.dhtmlxMenu_dhx_web_SubLevelArea_ArrowDown_Disabled { - position: relative; - font-size: 1px; - border-top: 1px solid #b4b4b4; - background-image: url("../imgs/dhxmenu_web/dhxmenu_arrow_down.gif"); - background-repeat: no-repeat; - background-position: center center; - padding: 8px 0px; - margin-top: 3px; -} -div.dhtmlxMenu_dhx_web_SubLevelArea_ArrowDown_Disabled { - background-image: url("../imgs/dhxmenu_web/dhxmenu_arrow_down_dis.gif"); -} diff --git a/themes/sources4.0/dhtmlxMenu/codebase/skins/dhtmlxmenu_material.css b/themes/sources4.0/dhtmlxMenu/codebase/skins/dhtmlxmenu_material.css deleted file mode 100644 index 2d18c3f..0000000 --- a/themes/sources4.0/dhtmlxMenu/codebase/skins/dhtmlxmenu_material.css +++ /dev/null @@ -1,334 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: material - include extra file: skins/material.less -*/ - -@keyframes dhx_loader_rotate { - 100% { - transform: rotate(360deg); - } -} -@keyframes dhx_loader_dash { - 0% { - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - } - 50% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -35px; - } - 100% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -124px; - } -} -.dhtmlxMenu_material_Middle { - position: relative; - height: 28px; - line-height: 28px; - background-color: #f5f5f5; - overflow: hidden; - border: none; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhtmlxMenu_material_Middle div.dhtmlxMenu_material_TopLevel_Item_Normal, -.dhtmlxMenu_material_Middle div.dhtmlxMenu_material_TopLevel_Item_Disabled, -.dhtmlxMenu_material_Middle div.dhtmlxMenu_material_TopLevel_Item_Selected { - position: relative; - float: left; - font: inherit; - height: 28px; - line-height: 28px; - margin: 0px; - padding: 0px 8px; - cursor: default; - white-space: nowrap; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhtmlxMenu_material_Middle div.dhtmlxMenu_material_TopLevel_Item_Normal div.top_level_text, -.dhtmlxMenu_material_Middle div.dhtmlxMenu_material_TopLevel_Item_Disabled div.top_level_text, -.dhtmlxMenu_material_Middle div.dhtmlxMenu_material_TopLevel_Item_Selected div.top_level_text { - float: left; - margin: 0px 3px; -} -.dhtmlxMenu_material_Middle div.dhtmlxMenu_material_TopLevel_Item_Normal i, -.dhtmlxMenu_material_Middle div.dhtmlxMenu_material_TopLevel_Item_Disabled i, -.dhtmlxMenu_material_Middle div.dhtmlxMenu_material_TopLevel_Item_Selected i { - height: inherit; - line-height: inherit; - float: left; - color: inherit; - margin: 0px 4px; - font-size: 1.2em; -} -.dhtmlxMenu_material_Middle div.dhtmlxMenu_material_TopLevel_Item_Disabled { - color: #a6a6a6; -} -.dhtmlxMenu_material_Middle div.dhtmlxMenu_material_TopLevel_Item_Selected { - background-color: #ebebeb; -} -.dhtmlxMenu_material_Middle img.dhtmlxMenu_TopLevel_Item_Icon { - float: left; - margin: 5px 3px 0px 3px; - width: 18px; - height: 18px; - cursor: default; -} -.dhtmlxMenu_material_Middle div.top_sep { - position: relative; - float: left; - height: 22px; - width: 0px; - border-left: 1px solid #dfdfdf; - margin: 3px 8px 0px 8px; - font-size: 1px; - overflow: hidden; - cursor: default; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhtmlxMenu_material_Middle div.dhtmlxMenu_TopLevel_Text_right, -.dhtmlxMenu_material_Middle div.dhtmlxMenu_TopLevel_Text_left { - position: absolute; - top: 0px; - height: 28px; - line-height: 28px; - cursor: default; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhtmlxMenu_material_Middle div.dhtmlxMenu_TopLevel_Text_right { - right: 6px; -} -.dhtmlxMenu_material_Middle div.dhtmlxMenu_TopLevel_Text_left { - left: 6px; -} -div.dhtmlxMenu_material_SubLevelArea_Polygon { - position: absolute; - padding: 5px 0px; - background-color: #fafafa; - overflow: hidden; - cursor: default; - line-height: normal; - overflow-y: auto; - -webkit-overflow-scrolling: touch; - -webkit-tap-highlight-color: rgba(0,0,0,0); - box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -div.dhtmlxMenu_material_SubLevelArea_Polygon td { - padding: 0px; - margin: 0px; - line-height: normal; - white-space: nowrap; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -div.dhtmlxMenu_material_SubLevelArea_Polygon td.sub_item_icon { - width: 18px; - text-align: center; -} -div.dhtmlxMenu_material_SubLevelArea_Polygon td.sub_item_icon img.sub_icon { - margin: 4px 6px 0px 6px; - width: 18px; - height: 18px; -} -div.dhtmlxMenu_material_SubLevelArea_Polygon td.sub_item_icon i { - width: 18px; - height: 30px; - line-height: 29px; - margin: 0px 6px; - font-size: 1.2em; - text-align: center; - color: inherit; -} -div.dhtmlxMenu_material_SubLevelArea_Polygon td.sub_item_icon div.sub_icon { - margin: 0px 6px; - width: 18px; - height: 30px; - line-height: 30px; - background-position: 0px 5px; - background-repeat: no-repeat; - background-image: url("../imgs/dhxmenu_material/dhxmenu_chrd.png"); -} -div.dhtmlxMenu_material_SubLevelArea_Polygon td.sub_item_icon div.sub_icon.chbx_0 { - background-position: 0px 5px; -} -div.dhtmlxMenu_material_SubLevelArea_Polygon td.sub_item_icon div.sub_icon.chbx_1 { - background-position: -18px 5px; -} -div.dhtmlxMenu_material_SubLevelArea_Polygon td.sub_item_icon div.sub_icon.rdbt_0 { - background-position: -72px 5px; -} -div.dhtmlxMenu_material_SubLevelArea_Polygon td.sub_item_icon div.sub_icon.rdbt_1 { - background-position: -90px 5px; -} -div.dhtmlxMenu_material_SubLevelArea_Polygon td.sub_item_text div.sub_item_text { - position: relative; - height: 30px; - line-height: 30px; - padding: 0px 22px 0px 1px; - overflow: hidden; -} -div.dhtmlxMenu_material_SubLevelArea_Polygon td.sub_item_hk { - padding: 0px 10px 0px 8px; -} -div.dhtmlxMenu_material_SubLevelArea_Polygon td.sub_item_hk div.sub_item_hk { - color: #8d8d8d; - font-size: 12px; - text-align: right; -} -div.dhtmlxMenu_material_SubLevelArea_Polygon td div.complex_arrow { - float: right; - width: 10px; - margin: 0px 1px 0px 11px; - height: 30px; - line-height: 30px; - background-image: url("../imgs/dhxmenu_material/dhxmenu_subar.png"); - background-repeat: no-repeat; - background-position: 0px 10px; - overflow: hidden; - font-size: 1px; -} -div.dhtmlxMenu_material_SubLevelArea_Polygon td div.complex_arrow_loading { - width: 16px; - height: 30px; - line-height: 30px; - background-position: center center; - background-repeat: no-repeat; - background-image: url("../imgs/dhxmenu_material/dhxmenu_loader.gif"); - float: right; -} -div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_item_selected td { - background-color: #ebebeb; -} -div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_item_selected td div.complex_arrow { - background-position: -10px 10px; -} -div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_item_dis td.sub_item_hk div.sub_item_hk { - color: #c0c0c0; -} -div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_item_dis td div.sub_item_text, -div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_item_dis td td.sub_item_icon i { - color: #a6a6a6; -} -div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_item_dis td div.complex_arrow { - background-position: -20px 10px; -} -div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_item_dis td div.sub_icon.chbx_0 { - background-position: -36px 5px; -} -div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_item_dis td div.sub_icon.chbx_1 { - background-position: -54px 5px; -} -div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_item_dis td div.sub_icon.rdbt_0 { - background-position: -108px 5px; -} -div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_item_dis td div.sub_icon.rdbt_1 { - background-position: -126px 5px; -} -div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_item_dis td i { - color: #a6a6a6; -} -div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_sep td { - padding: 5px 3px; -} -div.dhtmlxMenu_material_SubLevelArea_Polygon tr.sub_sep td div.sub_sep { - position: relative; - font-size: 1px; - line-height: 1px; - height: 0px; - width: 100%; - border-top: 1px solid #dfdfdf; -} -div.dhtmlxMenu_material_SubLevelArea_Polygon div.dhtmlxMenu_material_SubLevelArea_ArrowUp, -div.dhtmlxMenu_material_SubLevelArea_Polygon div.dhtmlxMenu_material_SubLevelArea_ArrowUp_Over, -div.dhtmlxMenu_material_SubLevelArea_Polygon div.dhtmlxMenu_material_SubLevelArea_ArrowUp_Disabled { - position: relative; - font-size: 1px; - border-bottom: 1px solid #dfdfdf; - background-image: url("../imgs/dhxmenu_material/dhxmenu_arrow_up.png"); - background-repeat: no-repeat; - background-position: center 2px; - padding: 8px 0px; - margin-bottom: 3px; -} -div.dhtmlxMenu_material_SubLevelArea_Polygon div.dhtmlxMenu_material_SubLevelArea_ArrowUp_Disabled { - background-image: url("../imgs/dhxmenu_material/dhxmenu_arrow_up_dis.png"); -} -div.dhtmlxMenu_material_SubLevelArea_Polygon div.dhtmlxMenu_material_SubLevelArea_ArrowDown, -div.dhtmlxMenu_material_SubLevelArea_Polygon div.dhtmlxMenu_material_SubLevelArea_ArrowDown_Over, -div.dhtmlxMenu_material_SubLevelArea_Polygon div.dhtmlxMenu_material_SubLevelArea_ArrowDown_Disabled { - position: relative; - font-size: 1px; - border-top: 1px solid #dfdfdf; - background-image: url("../imgs/dhxmenu_material/dhxmenu_arrow_down.png"); - background-repeat: no-repeat; - background-position: center 6px; - padding: 8px 0px; - margin-top: 3px; -} -div.dhtmlxMenu_material_SubLevelArea_Polygon div.dhtmlxMenu_material_SubLevelArea_ArrowDown_Disabled { - background-image: url("../imgs/dhxmenu_material/dhxmenu_arrow_down_dis.png"); -} -iframe.dhtmlxMenu_IE6CoverFix_material { - position: absolute; - border: none; - background: #000000; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100); -} -.dhtmlxMenu_material_Middle.dir_left div.align_left { - float: left; -} -.dhtmlxMenu_material_Middle.dir_left div.align_right { - float: right; -} -.dhxmenu_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 40px; - height: 10px; - overflow: hidden; -} diff --git a/themes/sources4.0/dhtmlxMessage/codebase/dhtmlxmessage.js b/themes/sources4.0/dhtmlxMessage/codebase/dhtmlxmessage.js deleted file mode 100644 index cbd08dd..0000000 --- a/themes/sources4.0/dhtmlxMessage/codebase/dhtmlxmessage.js +++ /dev/null @@ -1,256 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -if(!window.dhtmlx) - window.dhtmlx = {}; - -(function(){ - var _dhx_msg_cfg = null; - function callback(config, result){ - var usercall = config.callback; - modality(false); - config.box.parentNode.removeChild(config.box); - _dhx_msg_cfg = config.box = null; - if (usercall) - usercall(result); - } - function modal_key(e){ - if (_dhx_msg_cfg){ - e = e||event; - var code = e.which||event.keyCode; - if (dhtmlx.message.keyboard){ - if (code == 13 || code == 32) - callback(_dhx_msg_cfg, true); - if (code == 27) - callback(_dhx_msg_cfg, false); - } - if (e.preventDefault) - e.preventDefault(); - return !(e.cancelBubble = true); - } - } - if (document.attachEvent) - document.attachEvent("onkeydown", modal_key); - else - document.addEventListener("keydown", modal_key, true); - - function modality(mode){ - if(!modality.cover){ - modality.cover = document.createElement("DIV"); - //necessary for IE only - modality.cover.onkeydown = modal_key; - modality.cover.className = "dhx_modal_cover"; - document.body.appendChild(modality.cover); - } - var height = document.body.scrollHeight; - modality.cover.style.display = mode?"inline-block":"none"; - } - - function button(text, result){ - return "
              "+text+"
              "; - } - - function info(text){ - if (!t.area){ - t.area = document.createElement("DIV"); - t.area.className = "dhtmlx_message_area"; - t.area.style[t.position]="5px"; - document.body.appendChild(t.area); - } - - t.hide(text.id); - var message = document.createElement("DIV"); - message.innerHTML = "
              "+text.text+"
              "; - message.className = "dhtmlx-info dhtmlx-" + text.type; - message.onclick = function(){ - t.hide(text.id); - text = null; - }; - - if (t.position == "bottom" && t.area.firstChild) - t.area.insertBefore(message,t.area.firstChild); - else - t.area.appendChild(message); - - if (text.expire > 0) - t.timers[text.id]=window.setTimeout(function(){ - t.hide(text.id); - }, text.expire); - - t.pull[text.id] = message; - message = null; - - return text.id; - } - function _boxStructure(config, ok, cancel){ - var box = document.createElement("DIV"); - box.className = " dhtmlx_modal_box dhtmlx-"+config.type; - box.setAttribute("dhxbox", 1); - - var inner = ''; - - if (config.width) - box.style.width = config.width; - if (config.height) - box.style.height = config.height; - if (config.title) - inner+='
              '+config.title+'
              '; - inner+='
              '+(config.content?'':config.text)+'
              '; - if (ok) - inner += button(config.ok || "OK", true); - if (cancel) - inner += button(config.cancel || "Cancel", false); - if (config.buttons){ - for (var i=0; i=0); - - this.p = document.createElement("DIV"); - this.p.style.display = "none"; - this.p.innerHTML = "
              "+ - "
              "+ - "
              "+ - "
              "; - - document.body.appendChild(this.p); - - this.skinParams = { - dhx_terrace: { - t0: 19, // minimal top offset for polygon, i.e. space between polygon top and arrow top - t1: 9, // if no more space at top, and "t0 allowed" - move top polygon position a bit to bottom, t1 = offset for empty space at top - t2: 19, // same as t0, for width - t3: 9 // same as t1, for width - }, - dhx_skyblue: {t0: 12, t1: 9, t2: 12, t3: 9}, - dhx_web: {t0: 12, t1: 9, t2: 12, t3: 9} - }; - - this.p.onclick = function(e) { - e = e||event; - that._clearClick = true; - if (that._nodeObj != null) { - that.callEvent("onContentClick",[]); - return true; - } - var t = (e.target||e.srcElement); - var id = null; - while (t != that.p && t != null) { - if (typeof(t._idd) != "undefined" && !t._isSeparator) { - id = t._idd; - t = null; - } else { - t = t.parentNode; - } - } - t = null; - if (id != null) { - that.callEvent("onClick",[id]); - if (that != null && that.isVisible != null && that.isVisible() && that.callEvent("onBeforeHide",["select",e,id]) === true) { - e.cancelBubble = true; - that.hide(); - } - } - } - - this.separator = "DHXSEP_"+window.dhx4.newId(); - - this.tpl = []; - this._setTemplate = function(t) { - this.tpl = t.split(","); - } - - this.show = function(id) { // 4 coords for custom object, x, y, width, height - - var p = null; - - if (arguments.length == 1) { - - // if id not specified show on first - - if (!id) { - id = this.conf.id[0]; - } else { - if (!this._idExists(id)) return; - } - if (this.conf.toolbar) { - p = this.conf.toolbar._getItemDim(id); - } - if (this.conf.ribbon) { - p = this.conf.ribbon._getItemDim(id); - } - if (this.conf.form) { - p = this.conf.form._getItemDim(id); - } - - } else if (arguments.length == 4) { - - this._clearClick = true; - - // show for custom object, 4 coords - p = { - left: arguments[0], - top: arguments[1], - width: arguments[2], - height: arguments[3] - } - - id = null; - } - - if (!p) return; - - this.p.style.visibility = "hidden"; - this.p.style.display = ""; - - this._setPos(p); - - this.p.style.zIndex = window.dhx4.zim.reserve(this.conf.zi); - this.p.style.visibility = "visible"; - - this._lastId = id; - - this.callEvent("onShow",[id]); - - - } - - this._setPos = function(p, state) { - - var x = p.left; - var y = p.top; - var w = p.width; - var h = p.height; - - this._posData = { - left: x, - top: y, - width: w, - height: h - }; - - var d = window.dhx4.screenDim(); - - var mode = state||this.mode; - if (typeof(state) == "undefined") state = false; - - // avail space form each side, negative value = no-space - var availSpace = { - top: (y-this.p.offsetHeight)-d.top, - bottom: d.bottom-(y+h+this.p.offsetHeight), - left: x-this.p.offsetWidth-d.left, - right: d.right-(x+w+this.p.offsetWidth) - }; - - if (!state && availSpace[mode] < 0) { - var k = this._getAvailPos(mode, availSpace); - if (k !== false) { - this._setPos(p, k); - return; - } - - } - - if (mode == "top" || mode == "bottom") { - - var t0 = this.skinParams[this.conf.skin].t2; - var t1 = this.skinParams[this.conf.skin].t3; - - var pw2 = Math.round(this.p.offsetWidth/2); // 1/2 polygon width - var aw2 = Math.round(this.p.lastChild.offsetWidth/2); // 1/2 arrow width - - // define max left and right position of input including rendering [d.left..d.right] area - if (x < d.left) { var x1 = Math.min(x+w, d.left); w = x+w-x1; x = x1; } // left - if (x+w > d.right) w = d.right-x; // right - - // arrow position - var ta = Math.round(x+w/2); - - // polygon top - var left = ta - pw2; - var maxLeft = ta - t0 - aw2; - var maxLeftRight = ta+aw2+t0-this.p.offsetWidth; - - - if (left < d.left-t1) { // left - left = Math.min(d.left-t1, maxLeft); - } else if (left+this.p.offsetWidth > d.right+t1) { // right - left = Math.max(maxLeftRight, d.right+t1-this.p.offsetWidth); // -scrollWidth here? - } - - // draw polygon - this.p.style.left = left+"px"; - this.p.style.top = (mode=="top"?y-this.p.offsetHeight:y+h)+"px"; - - // fix arrow offset (it inside polygon) - ta = ta-left-aw2; - - // draw arrow - this.p.lastChild.className = "dhx_popup_arrow dhx_popup_arrow_"+mode; - this.p.lastChild.style.top = (mode=="top"?this.p.offsetHeight-this.p.lastChild.offsetHeight:0)+"px"; - this.p.lastChild.style.left = ta+"px"; - - - } - - - if (mode == "left" || mode == "right") { - - var t0 = this.skinParams[this.conf.skin].t0; - var t1 = this.skinParams[this.conf.skin].t1; - - var ph2 = Math.round(this.p.offsetHeight/2); // 1/2 polygon height - var ah2 = Math.round(this.p.lastChild.offsetHeight/2); // 1/2 arrow height - - // define max top and bottom position of input including rendering [d.top..d.bottom] area - if (y < d.top) { var y1 = Math.min(y+h, d.top); h = y+h-y1; y = y1; } // top - if (y+h > d.bottom) h = d.bottom-y; // bottom - - // arrow position - var ta = Math.round(y+h/2); - - // polygon top - var top = ta - ph2; - var maxTop = ta - t0 - ah2; - var maxTopBottom = ta+ah2+t0-this.p.offsetHeight; - - - if (top < d.top-t1) { // top - top = Math.min(d.top-t1, maxTop); - } else if (top+this.p.offsetHeight > d.bottom+t1) { // bottom - top = Math.max(maxTopBottom, d.bottom+t1-this.p.offsetHeight); - } - - // draw polygon - this.p.style.left = (mode=="left"?x-this.p.offsetWidth:x+w)+"px"; - this.p.style.top = top+"px"; - - // fix arrow offset (it inside polygon) - ta = ta-top-ah2; - - // draw arrow - this.p.lastChild.className = "dhx_popup_arrow dhx_popup_arrow_"+mode; - this.p.lastChild.style.left = (mode=="left"?this.p.offsetWidth-this.p.lastChild.offsetWidth:0)+"px"; - this.p.lastChild.style.top = ta+"px"; - - } - - if (this._IEDisp && this._nodeId != null) { - var t = document.getElementById(this._nodeId); - //t.style.visibility = "hidden"; - window.setTimeout(function(){ - t.style.visibility = "visible"; - t = null; - },1); - } - } - - this._getAvailPos = function(mode, data) { - - var seq = { - top: ["bottom","right","left"], - bottom: ["top","right","left"], - left: ["right", "bottom", "top"], - right: ["left", "bottom", "top"] - }; - - var dir = null; - - // check "next" with avail space - for (var q=0; q 0) dir = seq[mode][q]; - } - - // define which side have more space - if (dir == null) { - dir = "bottom"; - for (var a in data) if (data[a] > data[dir]) dir = a; - } - - if (dir == mode) return false; - - return dir; - - } - - this._repaint = function() { - if (this.isVisible()) this._setPos(this._posData); - } - - this.clear = function() { - - if (this._nodeObj) { - if (this.conf.isIE && typeof(dhtmlXLayoutObject) != "undefined" && this._nodeObj instanceof dhtmlXLayoutObject) { - this.p.onmousedown = null; - } - if (this._nodeObj.unload) { - this._nodeObj.unload(); - } else if (this._nodeObj.destruct) { - this._nodeObj.destruct(); - } - this._nodeObj = this._nodeId = null; - // events if any - if (this._nodeObjEv != null) { - for (var q=0; qtbody - while (r.childNodes.length > 0) r.removeChild(r.lastChild); - - r = null; - - this.itemData = {}; - } - - this.hide = function() { - if (this.p.style.display != "none") { - this.p.style.display = "none"; - window.dhx4.zim.clear(this.conf.zi); - var id = this._lastId; - this._lastId = null; - this.callEvent("onHide",[id]); - } - } - - this.isVisible = function() { - return (this.p.style.display == ""); - } - - this.itemData = {}; - - this.getItemData = function(id) { - if (!id) return this.itemData; - if (this.itemData[id]) return this.itemData[id]; - return {}; - } - - this.setSkin = function(skin) { - this.conf.skin = skin; - this.p.className = "dhx_popup_"+this.conf.skin; - if (this._nodeObj != null && typeof(this._nodeObj.setSkin) == "function") this._nodeObj.setSkin(this.conf.skin); - this._repaint(); - } - - this.attachList = function(template, data) { - - this._setTemplate(template); - - this.clear(); - var r = this.p.firstChild.firstChild.firstChild; // table->tbody - - for (var q=0; qtbody - - var tr = document.createElement("TR"); - tr.className = "dhxnode"; - r.appendChild(tr); - - var td = document.createElement("TD"); - td.className = "dhx_popup_td"; - td.innerHTML = "
              "; - - if (data.width) td.firstChild.style.width = data.width+"px"; - if (data.height) td.firstChild.style.height = data.height+"px"; - - tr.appendChild(td); - - td = tr = r = null; - - if (typeof(this["_attach_init_"+mode]) == "function") { - this["_attach_init_"+mode](data); - this._enableIEVFix(); - } - - this._repaint(); - - return this._nodeObj; - - } - - this.unload = function() { - - if (typeof(window.addEventListener) == "function") { - window.removeEventListener("click", this._doOnClick, false); - window.removeEventListener("keyup", this._doOnKeyUp, false); - window.removeEventListener("unload", this._doOnUnload, false); - } else { - document.body.detachEvent("onclick", this._doOnClick, false); - document.body.detachEvent("onkeyup", this._doOnKeyUp, false); - document.body.detachEvent("onunload", this._doOnUnload, false); - } - - this.clear(); - - this._doOnClick = null; - this._doOnUnload = null; - this._doOnKeyUp = null; - - - if (this.conf.toolbarEvent != null && this.conf.toolbar != null) { - if (this.conf.toolbar.detachEvent != null) { - // make sure toolbar wasn't unloaded - this.conf.toolbar.detachEvent(this.conf.toolbarEvent); - } else { - this.conf.toolbar._getItemDim = null; - } - } - - if (this.conf.ribbonEvent != null && this.conf.ribbon != null) { - if (this.conf.ribbon.detachEvent != null) { - this.conf.ribbon.detachEvent(this.conf.ribbonEvent); - } else { - this.conf.ribbon._getItemDim = null; - } - } - - if (this.conf.slider) { - for (var q=0; q= 0) { - if (t.parentNode != null && t.parentNode.parentNode != null && t.parentNode.parentNode._idd != null) { - id = t.parentNode.parentNode._idd; - if (t.parentNode.parentNode._type == "ra") id = [t.parentNode.parentNode._group, t.parentNode.parentNode._value]; - } - } else { - // check if button, editor or combo - var k = true; - var f = false; - while (k && !f) { - var p = (t.className||"").toLowerCase(); - if (p.length > 0) f = (p == "dhxform_btn" || p.search(/dhxeditor_inside/gi) >= 0 || p == "dhxcombo_input" || p.search(/dhxcombolist/gi) >=0); - t = t.parentNode; - k = (t != null); - } - if (f) return; - } - t = null; - if (id != null && that._idExists(id)) return; - } - if (that.isVisible() && that.callEvent("onBeforeHide",["click",e]) === true) { - that.hide(); - } - } - this._doOnKeyUp = function(e) { - e = e||event; - if (e.keyCode == 27) { - if (that.isVisible() && that.callEvent("onBeforeHide",["esc",e]) === true) { - that.hide(); - } - } - } - this._doOnUnload = function() { - that.unload(); - } - - if (typeof(window.addEventListener) == "function") { - window.addEventListener("click", this._doOnClick, false); - window.addEventListener("keyup", this._doOnKeyUp, false); - window.addEventListener("unload", this._doOnUnload, false); - } else { - document.body.attachEvent("onclick", this._doOnClick, false); - document.body.attachEvent("onkeyup", this._doOnKeyUp, false); - document.body.attachEvent("onunload", this._doOnUnload, false); - } - - this._idExists = function(id) { - var r = false; - for (var q=0; q=0 || document.compatMode != "CSS1Compat")); - - // IE6 hover functionality - this._IEHover = (this.conf.isIE && navigator.userAgent.search("MSIE 6.0")>=0); - if (this._IEHover) { - this._IEHoverInit = function() { - this.p.onmouseover = function() { - var t = event.srcElement; - while (t != this && t._IEHover != true) t = t.parentNode; - if (t._IEHover) { - if (that._IEHoverTM) window.clearTimeout(that._IEHoverTM); - if (that._lastIEHover == t) return; - that._IEHoverRender(t); - t = null; - } - } - this.p.onmouseout = function() { - if (that._IEHoverTM) window.clearTimeout(that._IEHoverTM); - that._IEHoverTM = window.setTimeout(function(){that._IEHoverRender(null);},1); - } - this._IEHoverRender = function(t) { - if (this._lastIEHover != null) { - if (this._lastIEHover.className.search(/tr_hover/gi) >= 0) { - this._lastIEHover.className = this._lastIEHover.className.replace(/\s{0,}tr_hover/gi, ""); - this._lastIEHover = null; - } - } - if (t != null && t.className.search(/tr_hover/gi) < 0) { - t.className += " tr_hover"; - that._lastIEHover = t; - } - } - this._IEHoverInited = true; - } - this._IEHoverClear = function() { - this.p.onmouseover = null; - this.p.onmouseout = null; - this._IEHoverInited = false; - } - } - - // IE6/7/8 first/last-child - this._IEFirstLast = (this.conf.isIE && navigator.userAgent.search(/MSIE [6,7,8]\.0/i)>=0); - - // IE6 visibility fix - this._enableIEVFix = function() { - if (this.conf.isIE && navigator.userAgent.search("MSIE 6.0") >= 0) { - var e1 = this.attachEvent("onHide", function(){ - document.getElementById(this._nodeId).style.visibility = "hidden"; - }); - var e2 = this.attachEvent("onShow", function(){ - document.getElementById(this._nodeId).style.visibility = "visible"; - }); - if (this._nodeObjEv == null) this._nodeObjEv = []; - this._nodeObjEv.push(e1,e2); - } - } - - // auto-init, toolbar mode - if (typeof(window.dhtmlXToolbarObject) != "undefined" && this.conf.toolbar != null && this.conf.toolbar instanceof window.dhtmlXToolbarObject && this.conf.id != null) { - - if (!(this.conf.id instanceof Array)) this.conf.id = [this.conf.id]; - - this.skinParent = this.conf.toolbar.conf.skin; - - this._doOnToolbarClick = function(id) { - for (var q=0; q"+ - "
              "+item.conf.text+"
              "; - - if (typeof(this.afterRender) == "function") { - this.afterRender(item); - } - - if (item.conf.disable) { - this.disable(item); - } - - return item; - }, - - getText: function(item) { - return item.conf.text; - }, - - setText: function(item, text) { - var contForText = item.base.childNodes[1]; - - item.conf.text = text; - contForText.innerHTML = text; - }, - - mousedown: function(item,rb,e) { - return true; - }, - - click: function(item,ribbon,e) { - if (e.button != 0) { - return false; - } - ribbon._callHandler(item.id, [item.id]); - item.callEvent("onClick",[item.id]); - return false; - }, - - disable: function(item) { - var contForImage = item.base.childNodes[0], - contForText = item.base.childNodes[1]; - - if (item.conf.imgdis) { - contForImage.src = item.conf.icons_path+item.conf.imgdis; - if (/\s?dhxrb_invisible/i.test(contForImage.className)) { - contForImage.className = contForImage.className.replace(/\s?dhxrb_invisible/i, ""); - } - } - - if (!/\s?dhxrb_disable_text_style/i.test(contForText.className)) { - contForText.className += " dhxrb_disable_text_style"; - } - - return true; - }, - - enable: function(item) { - var contForImage = item.base.childNodes[0], - contForText = item.base.childNodes[1]; - - if (item.conf.img) { - contForImage.src = item.conf.icons_path+item.conf.img; - } else { - if (!/\s?dhxrb_invisible/i.test(contForImage.className)) { - contForImage.className += " dhxrb_invisible"; - } - } - - if (/\s?dhxrb_disable_text_style/i.test(contForText.className)) { - contForText.className = contForText.className.replace(/\s?dhxrb_disable_text_style/i, ""); - } - - return true; - } -}; - -dhtmlXRibbon.prototype.items.buttonTwoState = { - click: function(item, rb, e) { - return false; - }, - - afterRender: function(item) { - if (item.conf.state) { - this.setState(item, item.conf.state); - } - }, - - mouseover: function(item) { - if (!/dhxrb_highlight0/.test(item.base.className)) { - item.base.className += " dhxrb_highlight0"; - } - return false; - }, - - mouseout: function(item) { - if (/dhxrb_highlight0/.test(item.base.className)) { - item.base.className = item.base.className.replace(/\s?dhxrb_highlight0/, ""); - } - return false; - }, - - mousedown: function(item, rb, e) { - rb._callHandler(item.id,[item.id,!item.conf.state]); - this.setState(item, !item.conf.state, true); - return false; - }, - - mouseup: function(item) { - return false; - }, - - setState: function(item, value, callEvent) { - callEvent = callEvent || false; - value = dhx4.s2b(value); - if (value) { - if (!/dhxrb_highlight1/.test(item.base.className)) { - item.base.className += " dhxrb_highlight1"; - } - } else { - if (/dhxrb_highlight1/.test(item.base.className)) { - item.base.className = item.base.className.replace(/\s?dhxrb_highlight1/, ""); - } - } - - item.conf.state = value; - - if (callEvent) { - item.callEvent("onStateChange",[item.id, item.conf.state]); - } - } -}; - -dhtmlXRibbon.prototype.items.buttonSegment = { - click: function(item, rb, e) { - return false; - }, - - mousedown: function(item, rb, e) { - this.setState(item, rb, true); - return false; - }, - - callAfterInit: function(item) { - /* @var this dhtmlXRibbon */ - - if (item.conf.state || dhtmlXRibbon.prototype.items.buttonSegment._getSelectedNeighbor(item, this) == null) { - if (item.conf.state) { - item.conf.state = false; - } - dhtmlXRibbon.prototype.items.buttonSegment.setState(item, this, false); - } - - }, - - afterRender: function() {}, - - setState: function(item, rb, callEvent) { - callEvent = callEvent || false; - var oldItem = null, state = dhx4.s2b(item.conf.state); - - if (state == false) { - oldItem = this._getSelectedNeighbor(item,rb); - if (oldItem != null) { - this._unSelect(oldItem); - } - - if (!/dhxrb_highlight1/.test(item.base.className)) { - item.base.className += " dhxrb_highlight1"; - } - - item.conf.state = true; - - if (callEvent) { - rb._callHandler(item.id,[item.id,(oldItem?oldItem.id:null)]); - rb.callEvent("onStateChange", [item.id, (oldItem?oldItem.id:null)]); - } - } - }, - - remove: function(item, rb) { - var state = dhx4.s2b(item.conf.state), - firstItem = null, i=0, parent = rb._items[item.parentId], - tempItem; - if (state) { - while (parent.childIds[i] && firstItem == null) { - tempItem = rb._items[parent.childIds[i]]; - if (tempItem.type == "buttonSegment" && tempItem != item) { - firstItem = tempItem; - } - i++; - } - - if (firstItem) this.setState(firstItem, rb); - } - }, - - _unSelect: function(item) { - var state = dhx4.s2b(item.conf.state); - if (state) { - if (/dhxrb_highlight1/.test(item.base.className)) { - item.base.className = item.base.className.replace(/\s?dhxrb_highlight1/, ""); - } - - item.conf.state = false; - } - }, - - _getSelectedNeighbor: function(item, rb) { - var parent = rb._items[item.parentId], i, l, neighbor, answer = null; - l = parent.childIds.length; - for (i=0; i"; - - if (typeof(this.afterRender) == "function") { - this.afterRender(item); - } - - if (item.conf.disable) { - this.disable(item); - } - - if (item.conf.width) { - this.setWidth(item, item.conf.width); - } - - if (item.conf.value) { - this.setValue(item, item.conf.value); - } - - return item; - }, - - callAfterInit: function(item) { - /* @var this dhtmlXRibbon */ - var contForInput = item.base.childNodes[0]; - - this._detachEventFromItem(item.base); - this._attachEventsToInput(contForInput); - }, - - setText: dhtmlXRibbon.prototype.items.button.setText, - - getText: dhtmlXRibbon.prototype.items.button.getText, - - change: function(item) { - var contForInput = item.base.childNodes[0]; - - item.conf.value = contForInput.value; - }, - - keydown: function(item, rb, e) { - if (e.keyCode == 13) { - var contForInput = item.base.childNodes[0]; - item.conf.value = contForInput.value; - rb.callEvent("onEnter",[item.id, item.conf.value]); - } - }, - - remove: function(item, rb) { - var contForInput = item.base.childNodes[0]; - rb._detachEventsFromInput(contForInput); - }, - - getValue: function(item) { - var contForInput = item.base.childNodes[0], value; - - value = contForInput.value; - contForInput = undefined; - - return value; - }, - - setValue: function(item, value) { - var contForInput = item.base.childNodes[0], value; - - contForInput.value = value; - item.conf.value = value; - }, - - setWidth: function(item, value) { - var contForInput = item.base.childNodes[0]; - - contForInput.style.width = parseInt(value)+"px"; - }, - - disable: function(item) { - var contForInput = item.base.childNodes[0], - contForText = item.base.childNodes[1]; - - contForInput.disabled = true; - - if (!/\s?dhxrb_disable_text_style/i.test(contForText.className)) { - contForText.className += " dhxrb_disable_text_style"; - } - - return true; - }, - - enable: function(item) { - var contForInput = item.base.childNodes[0], - contForText = item.base.childNodes[1]; - - contForInput.disabled = false; - - if (/\s?dhxrb_disable_text_style/i.test(contForText.className)) { - contForText.className = contForText.className.replace(/\s?dhxrb_disable_text_style/i, ""); - } - - return true; - } -}; - -dhtmlXRibbon.prototype.items.checkbox = { - render: function (cont, itemData) { - var key, item; - - item = { - base: cont, - id: itemData.id, - type: itemData.type, - conf: { - text: "", - text_pos: (itemData.isbig)?"bottom":"right", - disable: false, - checked: false - } - }; - - for (key in itemData) { - if (key == "id" || key == "onclick" || key == "type") { - continue; - } - - item.conf[key] = itemData[key]; - } - - cont.innerHTML = "
              "+item.conf.text+"
              "; - - if (typeof(this.afterRender) == "function") { - this.afterRender(item); - } - - if (item.conf.checked) { - this.check(item); - } - - return item; - }, - - callAfterInit: function(item) { - /* @var this dhtmlXRibbon */ - - if (item.conf.disable) { - this.disable(item.id); - } - }, - - setText: dhtmlXRibbon.prototype.items.button.setText, - - getText: dhtmlXRibbon.prototype.items.button.getText, - - mousedown: function(item) { - return false; - }, - - mouseup: function(item) { - return false; - }, - - click: function(item, rb, e) { - if (e.button != 0) { - return false; - } - if (item.type == "checkbox") { - if (item.conf.checked) { - this.uncheck(item, true); - } else { - this.check(item, true); - } - } - }, - - check: function(item, callEvent) { - callEvent = callEvent || false; - if (item.type != "checkbox") { - return; - } - - item.conf.checked = true; - if (!/\s?dhxrb_checked/i.test(item.base.className)) { - item.base.className += " dhxrb_checked"; - } - - if (callEvent) { - item.callEvent("onCheck",[item.id, item.conf.checked]); - } - }, - - uncheck: function(item, callEvent) { - callEvent = callEvent || false; - if (item.type != "checkbox") { - return; - } - - item.conf.checked = false; - if (/\s?dhxrb_checked/i.test(item.base.className)) { - item.base.className = item.base.className.replace(/\s?dhxrb_checked/i,""); - } - - if (callEvent) { - item.callEvent("onCheck",[item.id, item.conf.checked]); - } - }, - - disable: function(item) { - return true; - }, - - enable: function(item) { - return true; - } -}; - -dhtmlXRibbon.prototype.items.text = { - render: function(cont, data) { - var item = { - base: cont, - id: data.id, - type: data.type, - conf: { - text: "" - } - }; - - for (var key in data) { - if (key == "id" || key == "type") { - continue; - } - item.conf[key] = data[key]; - } - - - cont.innerHTML = "
              "+item.conf.text+"
              "; - - if (typeof(this.afterRender) == "function") { - this.afterRender(item); - } - - return item; - }, - - callAfterInit: function(item) { - /* @var this dhtmlXRibbon */ - - this._detachEventFromItem(item.base); - }, - - getText: function(item) { - return item.conf.text; - }, - - setText: function(item, text) { - item.conf.text = text; - item.base.innerHTML = text; - } -}; - -dhtmlXRibbon.prototype.items.buttonCombo = { - render: function(cont, dataItem) { - var key, item, comboConf={}; - - item = { - base: cont, - id: dataItem.id, - type: dataItem.type, - conf: { - text: "", - text_pos: "right", - width: 140, - skin: dataItem.skin - } - }; - - for (key in dataItem) { - if (key == "id" || key == "onclick" || key == "type") { - continue; - } - - item.conf[key] = dataItem[key]; - } - - for (key in item.conf) { - if (key == "text" || key == "text_pos" || key == "disable" || key == "data") { - continue; - } - - comboConf[key] = item.conf[key]; - } - - item.base.className += " dhxrb_buttoncombo_cont"; - item.base.innerHTML = "
              "+item.conf.text+"
              "; - - comboConf.parent = item.base.firstChild; - - item.combo = new dhtmlXCombo(comboConf); - - item.combo.setSkin(comboConf.skin); // deprecated; - - item.combo.attachEvent("onChange", function(value, text) { - item._callHandler(item.id, [value, text]); - item.callEvent("onSelectOption", [item.id, value, text]); - }); - - if (item.conf.data) { - item.combo.load(item.conf.data); - delete item.conf.data; - } - - if (typeof(this.afterRender) == "function") { - this.afterRender(item); - } - - if (item.conf.disable) { - this.disable(item); - } - - return item; - }, - - callAfterInit: function(item) { - /* @var this dhtmlXRibbon */ - this._detachEventFromItem(item.base); - }, - - disable: function(item) { - var contForText = item.base.lastChild; - - if (item.combo instanceof dhtmlXCombo) { - item.combo.disable(); - } - - if (!/\s?dhxrb_disable_text_style/i.test(contForText.className)) { - contForText.className += " dhxrb_disable_text_style"; - } - - return true; - }, - - enable: function(item) { - var contForText = item.base.lastChild; - - if (item.combo instanceof dhtmlXCombo) { - item.combo.enable(); - } - - if (/\s?dhxrb_disable_text_style/i.test(contForText.className)) { - contForText.className = contForText.className.replace(/\s?dhxrb_disable_text_style/i, ""); - } - - return true; - }, - - remove: function(item) { - if (item.combo instanceof dhtmlXCombo) { - item.combo.unload(); - item.combo = null; - } - }, - - getValue: function(item) { - var answer = null; - if (item.combo instanceof dhtmlXCombo) { - answer = item.combo.getSelectedValue(); - } - - return answer; - }, - - setValue: function(item,value) { - if (item.combo instanceof dhtmlXCombo) { - item.combo.setComboValue(value); - } - }, - - setSkin: function(item, skin) { - if (item.combo instanceof dhtmlXCombo) { - item.combo.setSkin(skin); - } - } -}; - -dhtmlXRibbon.prototype.items.slider = { - render: function(cont, data) { - var key, item, sliderConf={}; - - item = { - base: cont, - id: data.id, - type: data.type, - conf: { - text: "", - text_pos: "right", - size: 150, - vertical: false, - min: 0, - max: 99, - value: 0, - step: 1, - margin: 10, - disabled: false, - enableTooltip: false - } - }; - - for (key in data) { - if (key == "id" || key == "onclick" || key == "type") { - continue; - } - - item.conf[key] = data[key]; - } - - for (key in item.conf) { - if (key == "text" || key == "text_pos" || key == "isbig") { - continue; - } - - sliderConf[key] = item.conf[key]; - } - - item.base.innerHTML = "
              "+item.conf.text+"
              "; - - sliderConf.parent = item.base.firstChild.firstChild; - - item.slider = new dhtmlXSlider(sliderConf); - - if (typeof(this.afterRender) == "function") { - this.afterRender(item); - } - - if (item.conf.disable) { - this.disable(item); - } - - item.slider.attachEvent("onChange", function(value) { - item._callHandler(item.id, [value]); - item.callEvent("onValueChange", [item.id, value]); - }); - - return item; - }, - - callAfterInit: function(item) { - /* @var this dhtmlXRibbon */ - this._detachEventFromItem(item.base); - }, - - setSkin: function(item, skin) { - if (item.slider instanceof dhtmlXSlider) { - item.slider.setSkin(skin); - } - }, - - disable: function(item) { - var contForText = item.base.childNodes[1]; - - if (item.slider instanceof dhtmlXSlider) { - item.slider.disable(); - } - - if (!/\s?dhxrb_disable_text_style/i.test(contForText.className)) { - contForText.className += " dhxrb_disable_text_style"; - } - return true; - }, - - enable: function(item) { - var contForText = item.base.childNodes[1]; - - if (item.slider instanceof dhtmlXSlider) { - item.slider.enable(); - } - - if (/\s?dhxrb_disable_text_style/i.test(contForText.className)) { - contForText.className = contForText.className.replace(/\s?dhxrb_disable_text_style/i, ""); - } - - return true; - }, - - remove: function(item) { - if (item.slider instanceof dhtmlXSlider) { - item.slider.unload(); - item.slider = null; - } - }, - - getValue: function(item) { - var answer = null; - if (item.slider instanceof dhtmlXSlider) { - answer = item.slider.getValue(); - } - - return answer; - }, - - setValue: function(item,value) { - if (item.slider instanceof dhtmlXSlider) { - item.slider.setValue(value); - } - } -}; - -/******************************************************/ - -dhtmlXRibbon.prototype.items._extends = function(item,parent) { - var key; - - for (key in parent) { - item[key] = item[key] || parent[key]; - } - - return item; -}; - -dhtmlXRibbon.prototype._addNewLevel = function (block) { - var lastNode,cont; - if (block.conf.mode == 'rows') { - lastNode = block.contForItems.lastChild; - - if (lastNode && /dhxrb_block_rows/i.test(lastNode.className) && (lastNode.childNodes.length < 3)) { - - cont = document.createElement('div'); - cont.className = "dhxrb_block_row"; - lastNode.appendChild(cont); - - } else { - lastNode = document.createElement('div'); - lastNode.className = "dhxrb_block_rows"; - block.contForItems.appendChild(lastNode); - cont = document.createElement('div'); - cont.className = "dhxrb_block_row"; - lastNode.appendChild(cont); - } - - } else { - var cont = document.createElement("div"); - cont.className = "dhxrb_3rows_block"; - block.contForItems.appendChild(cont); - } -}; - -dhtmlXRibbon.prototype._attachEventForItem = function(cont) { - if (typeof(window.addEventListener) == "function") { - cont.addEventListener("mouseover", this._doOnHighlight0, false); - cont.addEventListener("mouseout", this._doOffHighlight0, false); - cont.addEventListener("mousedown", this._doOnHighlight1, false); - cont.addEventListener("mouseup", this._doOffHighlight1, false); - cont.addEventListener("click", this._doOnClick, false); - } else { - cont.attachEvent("onmouseover", this._doOnHighlight0); - cont.attachEvent("onmouseout", this._doOffHighlight0); - cont.attachEvent("onmousedown", this._doOnHighlight1); - cont.attachEvent("onmouseup", this._doOffHighlight1); - cont.attachEvent("onclick", this._doOnClick); - } -}; - -dhtmlXRibbon.prototype._detachEventFromItem = function(cont) { - if (typeof(window.addEventListener) == "function") { - cont.removeEventListener("mouseover", this._doOnHighlight0, false); - cont.removeEventListener("mouseout", this._doOffHighlight0, false); - cont.removeEventListener("mousedown", this._doOnHighlight1, false); - cont.removeEventListener("mouseup", this._doOffHighlight1, false); - cont.removeEventListener("click", this._doOnClick, false); - } else { - cont.detachEvent("onmouseover", this._doOnHighlight0); - cont.detachEvent("onmouseout", this._doOffHighlight0); - cont.detachEvent("onmousedown", this._doOnHighlight1); - cont.detachEvent("onmouseup", this._doOffHighlight1); - cont.detachEvent("onclick", this._doOnClick); - } -}; - -dhtmlXRibbon.prototype._attachEventsToInput = function(cont) { - if (typeof(window.addEventListener) == "function") { - cont.addEventListener("focus", this._doOnFocus, false); - cont.addEventListener("blur", this._doOnBlur, false); - cont.addEventListener("change", this._doOnChange, false); - cont.addEventListener("keydown", this._doOnKeydown, false); - } else { - cont.attachEvent("onfocus", this._doOnFocus); - cont.attachEvent("onblur", this._doOnBlur); - cont.attachEvent("onchange", this._doOnChange); - cont.attachEvent("onkeydown", this._doOnKeydown); - } -}; - -dhtmlXRibbon.prototype._detachEventsFromInput = function(cont) { - if (typeof(window.addEventListener) == "function") { - cont.removeEventListener("focus", this._doOnFocus, false); - cont.removeEventListener("blur", this._doOnBlur, false); - cont.removeEventListener("change", this._doOnChange, false); - cont.removeEventListener("keydown", this._doOnKeydown, false); - } else { - cont.detachEvent("onfocus", this._doOnFocus); - cont.detachEvent("onblur", this._doOnBlur); - cont.detachEvent("onchange", this._doOnChange); - cont.detachEvent("onkeydown", this._doOnKeydown); - } -}; - -dhtmlXRibbon.prototype._getContainerForSmallItem = function(parent) { - var last_el = parent.contForItems.lastChild, cont = null; - - if (parent.conf.mode == "rows") { - - if (last_el && /\s?dhxrb_block_rows/i.test(last_el.className)) { - cont = last_el.lastChild; - if (!cont) { - cont = document.createElement('div'); - cont.className = "dhxrb_block_row"; - last_el.appendChild(cont); - } - } else { - last_el = document.createElement('div'); - last_el.className = "dhxrb_block_rows"; - parent.contForItems.appendChild(last_el); - cont = document.createElement('div'); - cont.className = "dhxrb_block_row"; - last_el.appendChild(cont); - } - } else { - - if (last_el && /dhxrb_3rows_block/i.test(last_el.className) && (last_el.childNodes.length < 3)) { - cont = last_el; - } else { - cont = document.createElement("div"); - cont.className = "dhxrb_3rows_block"; - parent.contForItems.appendChild(cont); - } - - } - - return cont; -}; - -dhtmlXRibbon.prototype._findItemByNode = function(el) { - while (el && !el._dhx_ribbonId) { - el = el.parentNode; - } - return el; -}; - -dhtmlXRibbon.prototype._indexOf = function(arr,item) { - var i,l; - l = arr.length; - for (i=0; i.dhxrb_block_label { - height: 18px; - line-height: 17px; - *height: auto; - *line-height: 1em; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_block_base .dhxrb_block_label { - text-align: center; - clear: left; - font-family: Tahoma; - font-size: 11px; - color: #5f85bb; - background-color: #d3e7ff; - *padding: 1px 3px 4px; - *font-size: 11px; - *font-family: Tahoma, FreeSans; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_big_button { - margin: 0pc 2px 5px; - float: left; - text-align: center; - padding: 4px 6px; - height: 72px; - border-radius: 2px; - border: 1px solid #ddebff; - font-family: Tahoma; - font-size: 11px; - color: black; - background-color: #ddebff; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_big_button .dhxrb_image { - width: 48px; - height: 48px; - border: none; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_big_button .dhxrb_label_button { - margin: 0px auto; - cursor: default; - font-family: Tahoma; - font-size: 11px; - color: black; - line-height: 10px; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_big_button .dhxrb_invisible { - visibility: hidden; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_3rows_block { - float: left; - margin: 0px 2px 5px; - position: relative; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_3rows_block .dhxrb_invisible { - display: none; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_3rows_button { - height: 21px; - margin: 1px 3px; - float: left; - clear: left; - padding: 3px 4px 0px 4px; - border-radius: 2px; - border: 1px solid #ddebff; - font-family: Tahoma; - font-size: 11px; - color: black; - background-color: #ddebff; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_in_row { - height: 20px; - margin: 1px 3px; - float: left; - padding: 3px 4px 1px; - white-space: nowrap; - overflow: hidden; - border-radius: 2px; - border: 1px solid #ddebff; - font-family: Tahoma; - font-size: 11px; - color: black; - background-color: #ddebff; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_group .dhxrb_buttoncombo_cont { - height: 22px; - padding: 0px 2px !important; - overflow: hidden; - white-space: nowrap; - float: left; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_buttoncombo_cont { - height: 24px; - padding: 1px 2px !important; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_buttoncombo { - float: left; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_in_row .dhxrb_slider, -.dhtmlxribbon_dhx_skyblue .dhxrb_3rows_button .dhxrb_slider { - float: left; - margin-right: 5px; - margin-top: 6px; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_in_row center, -.dhtmlxribbon_dhx_skyblue .dhxrb_in_group center, -.dhtmlxribbon_dhx_skyblue .dhxrb_3rows_button center { - float: left; - margin: 0px; - padding: 0px; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_in_group .dhxrb_slider { - float: left; - margin-right: 5px; - margin-top: 5px; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_big_button .dhxrb_slider { - width: 16px; - margin: 2px 0px; - height: 50px; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_in_group { - height: 19px; - float: left; - padding: 2px 4px 1px; - border: 1px solid #ffffff; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_input { - float: left; - border: 1px solid #a4bed4; - height: 14px; - width: 80px; - font-family: Tahoma; - font-size: 11px; - color: black; - padding: 1px 2px; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_input:disabled { - border: 1px solid #cccccc; - background-color: #fafafa; - color: #b2b2b2; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_3rows_button .dhxrb_image, -.dhtmlxribbon_dhx_skyblue .dhxrb_in_row .dhxrb_image, -.dhtmlxribbon_dhx_skyblue .dhxrb_in_group .dhxrb_image { - width: 18px; - height: 18px; - float: left; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_3rows_button .dhxrb_label_button, -.dhtmlxribbon_dhx_skyblue .dhxrb_in_row .dhxrb_label_button, -.dhtmlxribbon_dhx_skyblue .dhxrb_in_group .dhxrb_label_button { - float: left; - cursor: default; - margin: 2px 4px 2px 6px; - font-family: Tahoma; - font-size: 11px; - color: black; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_buttoncombo_cont .dhxrb_label_button { - float: left; - margin-left: 3px; - height: 18px; - line-height: 18px; - cursor: default; - font-family: Tahoma; - font-size: 11px; - color: black; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_label_checkbox { - float: left; - margin: 2px 4px; - cursor: default; - font-family: Tahoma; - font-size: 11px; - color: black; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_disable_text_style, -.dhtmlxribbon_dhx_skyblue .dhxrb_item_disable .dhxrb_label_checkbox { - color: #999999 !important; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_highlight0 { - border: 1px solid #a4bed4; - background-color: #f1f7ff; - background: linear-gradient(#f1f7ff,#e2efff); - filter: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#f1f7ff,endColorStr=#e2efff) progid:DXImageTransform.Microsoft.Alpha(opacity=100); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_highlight1 { - border: 1px solid #a4bed4; - background-color: #d2e7fe; - background: linear-gradient(#d2e7fe,#d3e7ff); - filter: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#d2e7fe,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100); - box-shadow: 0 0 3px #afc1d4 inset; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_group .dhxrb_highlight0 { - border: 1px solid #ddedff; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_group .dhxrb_highlight1 { - background-color: #d2e7fe; - background: linear-gradient(#d2e7fe,#d3e7ff); - filter: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#d2e7fe,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100); - box-shadow: 0 0 3px #afc1d4 inset; - border: 0px; - padding: 3px 5px 2px 5px; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_item_hide { - display: none !important; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_block_rows { - float: left; - position: relative; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_block_row { - float: left; - clear: left; - margin: 0px 2px; - height: 28px; - overflow: hidden; - position: relative; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_arrow { - padding: 0px 5px; - margin-left: 2px; - background: url("../imgs/dhxribbon_skyblue/dhxribbon_arrow.gif") no-repeat 50%; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_3rows_block .dhxrb_group { - border: 1px solid #a4bed4; - background: #e7f1ff; - height: 24px; - border-radius: 2px; - float: left; - clear: left; - margin: 1px 3px; - overflow: hidden; - position: relative; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_block_row .dhxrb_group { - border: 1px solid #a4bed4; - background: #e7f1ff; - height: 24px; - border-radius: 2px; - float: left; - margin: 1px 3px; - overflow: hidden; - position: relative; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_in_group .dhxrb_label_hide { - display: none; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_separator_groupp { - height: 24px; - width: 0; - border-left: 1px solid #c4deff; - overflow: hidden; - float: left; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_checked.dhxrb_item_disable>.dhxrb_checkbox { - background-image: url("../imgs/dhxribbon_skyblue/dhxribbon_checked_dis.gif"); - background-repeat: no-repeat; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_checked .dhxrb_checkbox { - background-image: url("../imgs/dhxribbon_skyblue/dhxribbon_checked.gif"); - background-repeat: no-repeat; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_item_disable .dhxrb_checkbox { - border: 1px solid #aaaaaa; - background-color: #eeeeee; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_checkbox { - border: 1px solid #a4bed4; - background-color: #ffffff; - float: left; - width: 12px; - height: 12px; - margin-top: 2px; - overflow: hidden; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_item_text { - font-family: Tahoma; - font-size: 13px; - color: #256488; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_in_group .dhxrb_item_text { - height: 19px; - line-height: 18px; - *float: left; - *clear: left; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_3rows_button .dhxrb_item_text, -.dhtmlxribbon_dhx_skyblue .dhxrb_in_row .dhxrb_item_text { - font-family: Tahoma; - font-size: 14px; - color: #256488; -} -.dhtmlxribbon_dhx_skyblue .dhxrb_big_button .dhxrb_item_text { - font-family: Tahoma; - font-size: 30px; - color: #256488; - line-height: 72px; - height: 72px; - float: left; - clear: left; -} diff --git a/themes/sources4.0/dhtmlxRibbon/codebase/skins/dhtmlxribbon_dhx_terrace.css b/themes/sources4.0/dhtmlxRibbon/codebase/skins/dhtmlxribbon_dhx_terrace.css deleted file mode 100644 index 3084d3d..0000000 --- a/themes/sources4.0/dhtmlxRibbon/codebase/skins/dhtmlxribbon_dhx_terrace.css +++ /dev/null @@ -1,388 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* skin detected, extra file: skins/dhx_terrace.less */ - -.dhtmlxribbon_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 30px; - height: 10px; - overflow: hidden; -} -.dhtmlxribbon_dhx_terrace.dhxrb_without_tabbar { - background-color: #ffffff; - border: 1px solid #cccccc; -} -.dhtmlxribbon_dhx_terrace { - overflow: hidden; - width: 100%; -} -.dhtmlxribbon_dhx_terrace .dhxrb_background_area { - height: 116px; - background-color: #ffffff; - margin: 1px; -} -.dhtmlxribbon_dhx_terrace .dhxrb_with_tabbar { - height: 151px; -} -.dhtmlxribbon_dhx_terrace div.dhx_cell_tabbar { - background-color: #ffffff; -} -.dhtmlxribbon_dhx_terrace .dhxrb_g_area { - height: 114px; - float: left; - clear: left; - overflow: hidden; - position: relative; -} -.dhtmlxribbon_dhx_terrace .dhxrb_block_base { - margin: 3px 0px 3px 3px; - float: left; - border: 1px solid #cccccc; - background-color: #f5f5f5; - border-radius: 3px; - height: 108px; - overflow: hidden; - position: relative; -} -.dhtmlxribbon_dhx_terrace .dhxrb_block_base .dhxrb_block_items { - height: 85px; - float: left; - padding: 2px 0px; - overflow: hidden; -} -.dhtmlxribbon_dhx_terrace .dhxrb_block_base>.dhxrb_block_label { - height: 19px; - line-height: 18px; - *height: auto; - *line-height: 1em; -} -.dhtmlxribbon_dhx_terrace .dhxrb_block_base .dhxrb_block_label { - text-align: center; - clear: left; - font-family: Arial; - font-size: 13px; - color: #b5b5b5; - background-color: #e8e8e8; - *font-size: 12px; - *padding: 1px 3px 3px; - *font-family: Arial; -} -.dhtmlxribbon_dhx_terrace .dhxrb_big_button { - margin: 1px 3px; - float: left; - text-align: center; - padding: 4px 10px; - height: 72px; - border-radius: 3px; - border: 1px solid #f5f5f5; - font-family: Arial; - font-size: 13px; - color: #333333; - background-color: #f5f5f5; -} -.dhtmlxribbon_dhx_terrace .dhxrb_big_button .dhxrb_image { - width: 48px; - height: 48px; - border: none; -} -.dhtmlxribbon_dhx_terrace .dhxrb_big_button .dhxrb_label_button { - margin: 0px auto; - cursor: default; - font-family: Arial; - font-size: 13px; - color: #333333; - line-height: 11px; -} -.dhtmlxribbon_dhx_terrace .dhxrb_big_button .dhxrb_invisible { - visibility: hidden; -} -.dhtmlxribbon_dhx_terrace .dhxrb_3rows_block { - float: left; - margin: 0px 3px; - overflow: hidden; - position: relative; -} -.dhtmlxribbon_dhx_terrace .dhxrb_3rows_block .dhxrb_invisible { - display: none; -} -.dhtmlxribbon_dhx_terrace .dhxrb_3rows_button { - height: 22px; - margin: 1px 0px; - float: left; - clear: left; - padding: 1px 8px; - border-radius: 3px; - border: 1px solid #f5f5f5; - font-family: Arial; - font-size: 13px; - color: #333333; - background-color: #f5f5f5; -} -.dhtmlxribbon_dhx_terrace .dhxrb_in_row { - height: 22px; - margin: 1px 0px; - float: left; - padding: 1px 8px; - white-space: nowrap; - border-radius: 3px; - border: 1px solid #f5f5f5; - font-family: Arial; - font-size: 13px; - color: #333333; - background-color: #f5f5f5; -} -.dhtmlxribbon_dhx_terrace .dhxrb_group .dhxrb_buttoncombo_cont { - height: 20px; -} -.dhtmlxribbon_dhx_terrace .dhxrb_buttoncombo_cont { - height: 24px; - padding: 1px 2px !important; -} -.dhtmlxribbon_dhx_terrace .dhxrb_buttoncombo { - float: left; -} -.dhtmlxribbon_dhx_terrace .dhxrb_in_row .dhxrb_slider, -.dhtmlxribbon_dhx_terrace .dhxrb_3rows_button .dhxrb_slider { - float: left; - margin-right: 5px; - margin-top: 5px; -} -.dhtmlxribbon_dhx_terrace .dhxrb_in_row center, -.dhtmlxribbon_dhx_terrace .dhxrb_in_group center, -.dhtmlxribbon_dhx_terrace .dhxrb_3rows_button center { - float: left; - margin: 0px; - padding: 0px; -} -.dhtmlxribbon_dhx_terrace .dhxrb_in_group .dhxrb_slider { - float: left; - margin-right: 5px; - margin-top: 4px; -} -.dhtmlxribbon_dhx_terrace .dhxrb_big_button .dhxrb_slider { - width: 16px; - margin: 2px 0px; - height: 50px; -} -.dhtmlxribbon_dhx_terrace .dhxrb_in_group { - height: 20px; - float: left; - padding: 1px 4px; - border: 1px solid #f0f0f0; -} -.dhtmlxribbon_dhx_terrace .dhxrb_input { - float: left; - border: 1px solid #cccccc; - height: 18px; - width: 80px; - padding: 1px 2px; - font-family: Arial; - font-size: 13px; - color: #333333; -} -.dhtmlxribbon_dhx_terrace .dhxrb_input:disabled { - border: 1px solid #d4d4d4; - background-color: #fafafa; - color: #bbbbbb; -} -.dhtmlxribbon_dhx_terrace div.dhxcombo_dhx_terrace input.dhxcombo_input { - float: left; - height: 18px; - width: 80px; - padding: 1px 2px; - font-family: Arial; - font-size: 13px; - color: black; - line-height: 18px; -} -.dhtmlxribbon_dhx_terrace .dhxrb_in_group .dhxrb_input, -.dhtmlxribbon_dhx_terrace .dhxrb_in_group div.dhxcombo_dhx_terrace input.dhxcombo_input { - height: 16px; - padding: 1px 1px; - line-height: 16px; -} -.dhtmlxribbon_dhx_terrace .dhxrb_in_group div.dhxcombo_dhx_terrace div.dhxcombo_select_button { - top: 0px; -} -.dhtmlxribbon_dhx_terrace div.dhxcombo_dhx_terrace div.dhxcombo_select_button { - top: 2px; -} -.dhtmlxribbon_dhx_terrace .dhxrb_3rows_button .dhxrb_image, -.dhtmlxribbon_dhx_terrace .dhxrb_in_row .dhxrb_image, -.dhtmlxribbon_dhx_terrace .dhxrb_in_group .dhxrb_image { - margin: 2px 0px; - width: 18px; - height: 18px; - float: left; -} -.dhtmlxribbon_dhx_terrace .dhxrb_3rows_button .dhxrb_label_button, -.dhtmlxribbon_dhx_terrace .dhxrb_in_row .dhxrb_label_button, -.dhtmlxribbon_dhx_terrace .dhxrb_in_group .dhxrb_label_button { - float: left; - cursor: default; - font-family: Arial; - font-size: 13px; - color: #333333; -} -.dhtmlxribbon_dhx_terrace .dhxrb_3rows_button .dhxrb_label_button, -.dhtmlxribbon_dhx_terrace .dhxrb_in_row .dhxrb_label_button { - margin: 1px 0px 1px 6px; - line-height: 19px; -} -.dhtmlxribbon_dhx_terrace .dhxrb_in_group .dhxrb_label_button { - margin: 1px; -} -.dhtmlxribbon_dhx_terrace .dhxrb_label_checkbox { - float: left; - margin: 0px 4px; - cursor: default; - font-family: Arial; - font-size: 13px; - color: #333333; - line-height: 21px; -} -.dhtmlxribbon_dhx_terrace .dhxrb_group .dhxrb_label_checkbox { - line-height: 19px; -} -.dhtmlxribbon_dhx_terrace .dhxrb_disable_text_style, -.dhtmlxribbon_dhx_terrace .dhxrb_item_disable .dhxrb_label_checkbox { - color: #bbbbbb !important; - -webkit-user-select: text; - -khtml-user-select: text; - -moz-user-select: text; - -o-user-select: text; - user-select: text; -} -.dhtmlxribbon_dhx_terrace .dhxrb_highlight0 { - border-color: #ebebeb; - background-color: #ebebeb; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhtmlxribbon_dhx_terrace .dhxrb_highlight1 { - border-color: #e6e6e6; - background-color: #e6e6e6; - box-shadow: 0 0 3px #d9d9d9 inset; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhtmlxribbon_dhx_terrace .dhxrb_in_group.dhxrb_highlight1, -.dhtmlxribbon_dhx_terrace .dhxrb_in_group.dhxrb_highlight0 { - border-radius: 1px; -} -.dhtmlxribbon_dhx_terrace .dhxrb_item_hide { - display: none !important; -} -.dhtmlxribbon_dhx_terrace .dhxrb_block_rows { - float: left; - margin: 0px 3px; -} -.dhtmlxribbon_dhx_terrace .dhxrb_block_row { - float: left; - clear: left; - height: 28px; - overflow: hidden; - position: relative; -} -.dhtmlxribbon_dhx_terrace .dhxrb_arrow { - padding: 0px 5px; - margin-left: 2px; - background: url("../imgs/dhxribbon_terrace/dhxribbon_arrow.gif") no-repeat 50%; -} -.dhtmlxribbon_dhx_terrace .dhxrb_3rows_block .dhxrb_group { - border: 1px solid #cccccc; - background-color: #f0f0f0; - height: 24px; - border-radius: 3px; - float: left; - clear: left; - margin: 1px 0px; - overflow: hidden; - position: relative; -} -.dhtmlxribbon_dhx_terrace .dhxrb_block_row .dhxrb_group { - border: 1px solid #cccccc; - background-color: #f0f0f0; - height: 24px; - border-radius: 3px; - float: left; - margin: 1px 0px; - overflow: hidden; - position: relative; -} -.dhtmlxribbon_dhx_terrace .dhxrb_in_group .dhxrb_label_hide { - display: none; -} -.dhtmlxribbon_dhx_terrace .dhxrb_separator_groupp { - height: 24px; - width: 0; - border-left: 1px solid #cacaca; - overflow: hidden; - float: left; -} -.dhtmlxribbon_dhx_terrace .dhxrb_checkbox { - border: 1px solid #cccccc; - background-color: white; - float: left; - width: 12px; - height: 12px; - margin-top: 4px; - overflow: hidden; -} -.dhtmlxribbon_dhx_terrace .dhxrb_in_group .dhxrb_checkbox { - margin-top: 3px; -} -.dhtmlxribbon_dhx_terrace .dhxrb_checked .dhxrb_checkbox { - background-image: url("../imgs/dhxribbon_terrace/dhxribbon_checked.gif"); - background-repeat: no-repeat; -} -.dhtmlxribbon_dhx_terrace .dhxrb_checked.dhxrb_item_disable>.dhxrb_checkbox { - background-image: url("../imgs/dhxribbon_terrace/dhxribbon_checked_dis.gif"); -} -.dhtmlxribbon_dhx_terrace .dhxrb_item_disable .dhxrb_checkbox { - border: 1px solid #d4d4d4; - background-color: #fafafa; -} -.dhtmlxribbon_dhx_terrace .dhxrb_item_text { - font-family: Arial; - font-size: 13px; - color: #333333; -} -.dhtmlxribbon_dhx_terrace .dhxrb_in_group .dhxrb_item_text { - height: 20px; - line-height: 19px; - *float: left; - *clear: left; -} -.dhtmlxribbon_dhx_terrace .dhxrb_3rows_button .dhxrb_item_text, -.dhtmlxribbon_dhx_terrace .dhxrb_in_row .dhxrb_item_text { - font-family: Arial; - font-size: 14px; - color: #333333; -} -.dhtmlxribbon_dhx_terrace .dhxrb_big_button .dhxrb_item_text { - font-family: Arial; - font-size: 30px; - color: #333333; - line-height: 72px; - height: 72px; - float: left; - clear: left; -} diff --git a/themes/sources4.0/dhtmlxRibbon/codebase/skins/dhtmlxribbon_dhx_web.css b/themes/sources4.0/dhtmlxRibbon/codebase/skins/dhtmlxribbon_dhx_web.css deleted file mode 100644 index d0d5198..0000000 --- a/themes/sources4.0/dhtmlxRibbon/codebase/skins/dhtmlxribbon_dhx_web.css +++ /dev/null @@ -1,346 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* skin detected, extra file: skins/dhx_web.less */ - -.dhtmlxribbon_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 20px; - height: 10px; - overflow: hidden; -} -.dhtmlxribbon_dhx_web.dhxrb_without_tabbar { - background-color: #ffffff; - border: 1px solid #c7c7c7; -} -.dhtmlxribbon_dhx_web { - overflow: hidden; - width: 100%; -} -.dhtmlxribbon_dhx_web .dhxrb_background_area { - height: 114px; - background-color: #ffffff; - margin: 1px; -} -.dhtmlxribbon_dhx_web .dhxrb_with_tabbar { - height: 162px; -} -.dhtmlxribbon_dhx_web div.dhx_cell_tabbar { - background-color: #ffffff !important; -} -.dhtmlxribbon_dhx_web .dhxrb_g_area { - height: 113px; - float: left; - clear: left; - overflow: hidden; - position: relative; -} -.dhtmlxribbon_dhx_web .dhxrb_block_base { - margin: 3px; - float: left; - border: 1px solid #e7e7e7; - background-color: #f4f4f4; - border-radius: 0px; - height: 106px; - overflow: hidden; - position: relative; -} -.dhtmlxribbon_dhx_web .dhxrb_block_base .dhxrb_block_items { - height: 84px; - float: left; - padding: 2px 0px; - overflow: hidden; -} -.dhtmlxribbon_dhx_web .dhxrb_block_base>.dhxrb_block_label { - height: 18px; - line-height: 17px; - *height: auto; - *line-height: 1em; -} -.dhtmlxribbon_dhx_web .dhxrb_block_base .dhxrb_block_label { - text-align: center; - clear: left; - font-family: Tahoma; - font-size: 12px; - color: #818181; - background-color: #e7e7e7; - *padding: 1px 3px 3px; - *font-size: 11px; - *font-family: Tahoma, FreeSans; -} -.dhtmlxribbon_dhx_web .dhxrb_big_button { - margin: 0px 2px 5px; - float: left; - text-align: center; - padding: 4px; - border: 1px solid #f4f4f4; - background-color: #f4f4f4; - height: 72px; -} -.dhtmlxribbon_dhx_web .dhxrb_big_button .dhxrb_image { - width: 48px; - height: 48px; - border: none; -} -.dhtmlxribbon_dhx_web .dhxrb_big_button .dhxrb_label_button { - margin: 0px auto; - cursor: default; - font-family: Tahoma; - font-size: 12px; - color: #000000; - line-height: 11px; -} -.dhtmlxribbon_dhx_web .dhxrb_big_button .dhxrb_invisible { - visibility: hidden; -} -.dhtmlxribbon_dhx_web .dhxrb_3rows_block { - float: left; - margin: 0px 2px 5px; - position: relative; -} -.dhtmlxribbon_dhx_web .dhxrb_3rows_block .dhxrb_invisible { - display: none; -} -.dhtmlxribbon_dhx_web .dhxrb_3rows_button { - height: 20px; - margin: 1px 3px; - float: left; - clear: left; - padding: 3px 4px 1px 4px; - border: 1px solid #f4f4f4; - background-color: #f4f4f4; -} -.dhtmlxribbon_dhx_web .dhxrb_in_row { - height: 20px; - margin: 1px 3px; - float: left; - padding: 3px 4px 1px; - border: 1px solid #f4f4f4; - background-color: #f4f4f4; - white-space: nowrap; - overflow: hidden; -} -.dhtmlxribbon_dhx_web .dhxrb_group .dhxrb_buttoncombo_cont { - height: 22px; - padding: 0px 2px !important; -} -.dhtmlxribbon_dhx_web .dhxrb_buttoncombo_cont { - height: 24px; - padding: 1px 2px !important; -} -.dhtmlxribbon_dhx_web .dhxrb_buttoncombo { - float: left; -} -.dhtmlxribbon_dhx_web .dhxrb_in_row .dhxrb_slider, -.dhtmlxribbon_dhx_web .dhxrb_3rows_button .dhxrb_slider { - float: left; - margin-right: 5px; - margin-top: 5px; -} -.dhtmlxribbon_dhx_web .dhxrb_in_row center, -.dhtmlxribbon_dhx_web .dhxrb_in_group center, -.dhtmlxribbon_dhx_web .dhxrb_3rows_button center { - float: left; - margin: 0px; - padding: 0px; -} -.dhtmlxribbon_dhx_web .dhxrb_in_group .dhxrb_slider { - float: left; - margin-right: 5px; - margin-top: 4px; -} -.dhtmlxribbon_dhx_web .dhxrb_big_button .dhxrb_slider { - width: 16px; - margin: 2px 0px; - height: 50px; -} -.dhtmlxribbon_dhx_web .dhxrb_in_group { - height: 19px; - float: left; - padding: 2px 4px 1px; - border: 1px solid #efefef; -} -.dhtmlxribbon_dhx_web .dhxrb_input { - float: left; - border: 1px solid #e7e7e7; - height: 14px; - width: 80px; - font-family: Tahoma; - font-size: 12px; - color: black; - padding: 1px 2px; -} -.dhtmlxribbon_dhx_web .dhxrb_input:disabled { - border: 1px solid #e7e7e7; - background-color: #f2f2f2; - color: #999999; -} -.dhtmlxribbon_dhx_web .dhxrb_3rows_button .dhxrb_image, -.dhtmlxribbon_dhx_web .dhxrb_in_row .dhxrb_image, -.dhtmlxribbon_dhx_web .dhxrb_in_group .dhxrb_image { - width: 18px; - height: 18px; - float: left; -} -.dhtmlxribbon_dhx_web .dhxrb_3rows_button .dhxrb_label_button, -.dhtmlxribbon_dhx_web .dhxrb_in_row .dhxrb_label_button, -.dhtmlxribbon_dhx_web .dhxrb_in_group .dhxrb_label_button { - float: left; - margin: 1px; - cursor: default; - font-family: Tahoma; - font-size: 12px; - color: #000000; - margin: 2px 4px 2px 6px; -} -.dhtmlxribbon_dhx_web .dhxrb_buttoncombo_cont .dhxrb_label_button { - float: left; - margin-left: 3px; - height: 18px; - line-height: 18px; - cursor: default; - font-family: Tahoma; - font-size: 12px; - color: #000000; -} -.dhtmlxribbon_dhx_web .dhxrb_label_checkbox { - float: left; - margin: 2px 4px; - cursor: default; - font-family: Tahoma; - font-size: 12px; - color: #000000; -} -.dhtmlxribbon_dhx_web .dhxrb_disable_text_style, -.dhtmlxribbon_dhx_web .dhxrb_item_disable .dhxrb_label_checkbox { - color: #999999 !important; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhtmlxribbon_dhx_web .dhxrb_highlight0 { - border: 1px solid #85d3ff; - background-color: #85d3ff; - color: #000000; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhtmlxribbon_dhx_web .dhxrb_highlight1 { - border: 1px solid #74c1ec; - background-color: #74c1ec; - color: #000000; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhtmlxribbon_dhx_web .dhxrb_item_hide { - display: none !important; -} -.dhtmlxribbon_dhx_web .dhxrb_block_rows { - float: left; -} -.dhtmlxribbon_dhx_web .dhxrb_block_row { - float: left; - clear: left; - margin: 0px 2px; - height: 28px; - overflow: hidden; - position: relative; -} -.dhtmlxribbon_dhx_web .dhxrb_arrow { - padding: 0px 5px; - margin-left: 2px; - background: url("../imgs/dhxribbon_web/dhxribbon_arrow.gif") no-repeat 50%; -} -.dhtmlxribbon_dhx_web .dhxrb_3rows_block .dhxrb_group { - border: 1px solid #e7e7e7; - background-color: #efefef; - height: 24px; - float: left; - clear: left; - margin: 1px 3px; - overflow: hidden; - position: relative; -} -.dhtmlxribbon_dhx_web .dhxrb_block_row .dhxrb_group { - border: 1px solid #e7e7e7; - background-color: #efefef; - height: 24px; - float: left; - margin: 1px 3px; - overflow: hidden; - position: relative; -} -.dhtmlxribbon_dhx_web .dhxrb_in_group .dhxrb_label_hide { - display: none; -} -.dhtmlxribbon_dhx_web .dhxrb_separator_groupp { - height: 24px; - width: 0; - border-left: 1px solid #dddddd; - overflow: hidden; - float: left; -} -.dhtmlxribbon_dhx_web .dhxrb_checkbox { - border: 1px solid #e7e7e7; - background-color: #ffffff; - float: left; - width: 12px; - height: 12px; - margin-top: 2px; - overflow: hidden; -} -.dhtmlxribbon_dhx_web .dhxrb_checked .dhxrb_checkbox { - background-image: url("../imgs/dhxribbon_web/dhxribbon_checked.gif"); - background-repeat: no-repeat; -} -.dhtmlxribbon_dhx_web .dhxrb_checked.dhxrb_item_disable>.dhxrb_checkbox { - background-image: url("../imgs/dhxribbon_web/dhxribbon_checked_dis.gif"); -} -.dhtmlxribbon_dhx_web .dhxrb_item_disable .dhxrb_checkbox { - background-color: #e6e6e6; - border: 1px solid #999999; -} -.dhtmlxribbon_dhx_web .dhxrb_item_text { - font-family: Tahoma; - font-size: 12px; - color: #000000; -} -.dhtmlxribbon_dhx_web .dhxrb_in_group .dhxrb_item_text { - height: 19px; - line-height: 18px; - *float: left; - *clear: left; -} -.dhtmlxribbon_dhx_web .dhxrb_3rows_button .dhxrb_item_text, -.dhtmlxribbon_dhx_web .dhxrb_in_row .dhxrb_item_text { - font-family: Tahoma; - font-size: 14px; - color: #000000; -} -.dhtmlxribbon_dhx_web .dhxrb_big_button .dhxrb_item_text { - font-family: Tahoma; - font-size: 30px; - color: #000000; - line-height: 72px; - height: 72px; - float: left; - clear: left; -} diff --git a/themes/sources4.0/dhtmlxRibbon/codebase/skins/dhtmlxribbon_material.css b/themes/sources4.0/dhtmlxRibbon/codebase/skins/dhtmlxribbon_material.css deleted file mode 100644 index a8f3571..0000000 --- a/themes/sources4.0/dhtmlxRibbon/codebase/skins/dhtmlxribbon_material.css +++ /dev/null @@ -1,439 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: material - include extra file: skins/material.less -*/ - -@keyframes dhx_loader_rotate { - 100% { - transform: rotate(360deg); - } -} -@keyframes dhx_loader_dash { - 0% { - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - } - 50% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -35px; - } - 100% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -124px; - } -} -.dhtmlxribbon_material { - overflow: hidden; - width: 100%; -} -.dhtmlxribbon_material.dhxrb_without_tabbar { - background-color: #fafafa; - border: 1px solid #dfdfdf; -} -.dhtmlxribbon_material .dhxrb_background_area { - height: 126px; - background-color: #fafafa; - margin: 1px; -} -.dhtmlxribbon_material .dhxrb_with_tabbar { - height: 171px; -} -.dhtmlxribbon_material div.dhx_cell_tabbar { - background-color: #fafafa; -} -.dhtmlxribbon_material .dhxrb_g_area { - height: 124px; - float: left; - clear: left; - overflow: hidden; - position: relative; -} -.dhtmlxribbon_material .dhxrb_block_base { - margin: 3px 0px 3px 3px; - float: left; - border: 1px solid #dfdfdf; - background-color: #fafafa; - height: 118px; - overflow: hidden; - position: relative; -} -.dhtmlxribbon_material .dhxrb_block_base .dhxrb_block_items { - height: 95px; - float: left; - padding: 2px 0px; - overflow: hidden; -} -.dhtmlxribbon_material .dhxrb_block_base>.dhxrb_block_label { - height: 19px; - line-height: 18px; - *height: auto; - *line-height: 1em; -} -.dhtmlxribbon_material .dhxrb_block_base .dhxrb_block_label { - text-align: center; - clear: left; - background-color: #ebebeb; - *font-size: 12px; - *padding: 1px 3px 3px; - *font-family: Arial; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -.dhtmlxribbon_material .dhxrb_big_button { - margin: 1px 3px; - float: left; - text-align: center; - padding: 4px 10px; - height: 82px; - border: 1px solid #fafafa; - background-color: #fafafa; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -.dhtmlxribbon_material .dhxrb_big_button .dhxrb_image { - width: 48px; - height: 48px; - border: none; -} -.dhtmlxribbon_material .dhxrb_big_button i { - position: relative; - display: block; - margin-top: 2px; - margin-bottom: 2px; - width: 48px; - height: 48px; - line-height: 47px; - font-size: 30px; - color: inherit; - cursor: default; - text-align: center; -} -.dhtmlxribbon_material .dhxrb_big_button .dhxrb_label_button { - margin: 0px auto; - cursor: default; - line-height: 14px; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -.dhtmlxribbon_material .dhxrb_big_button .dhxrb_invisible { - visibility: hidden; -} -.dhtmlxribbon_material .dhxrb_3rows_block { - float: left; - margin: 0px 3px; - overflow: hidden; - position: relative; -} -.dhtmlxribbon_material .dhxrb_3rows_block .dhxrb_invisible { - display: none; -} -.dhtmlxribbon_material .dhxrb_3rows_button { - height: 25px; - margin: 1px 0px; - float: left; - clear: left; - padding: 1px 8px; - border: 1px solid #fafafa; - background-color: #fafafa; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -.dhtmlxribbon_material .dhxrb_in_row { - height: 22px; - margin: 1px 0px; - float: left; - padding: 1px 8px; - white-space: nowrap; - border: 1px solid #fafafa; - background-color: #fafafa; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -.dhtmlxribbon_material .dhxrb_group .dhxrb_buttoncombo_cont { - height: 20px; -} -.dhtmlxribbon_material .dhxrb_buttoncombo_cont { - height: 24px; - padding: 0px 2px !important; -} -.dhtmlxribbon_material .dhxrb_buttoncombo { - float: left; -} -.dhtmlxribbon_material .dhxrb_in_row .dhxrb_slider, -.dhtmlxribbon_material .dhxrb_3rows_button .dhxrb_slider { - float: left; - margin-right: 5px; -} -.dhtmlxribbon_material .dhxrb_in_row center, -.dhtmlxribbon_material .dhxrb_in_group center, -.dhtmlxribbon_material .dhxrb_3rows_button center { - float: left; - margin: 0px; - padding: 0px; -} -.dhtmlxribbon_material .dhxrb_in_group .dhxrb_slider { - float: left; - margin-right: 5px; -} -.dhtmlxribbon_material .dhxrb_big_button .dhxrb_slider { - width: 16px; - margin: 2px 0px; - height: 50px; -} -.dhtmlxribbon_material .dhxrb_in_group { - height: 23px; - float: left; - padding: 1px 4px; - border: 1px solid #ebebeb; -} -.dhtmlxribbon_material .dhxrb_input { - float: left; - border: 1px solid #dfdfdf; - background-color: #ffffff; - height: 18px; - width: 80px; - padding: 1px 2px; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -.dhtmlxribbon_material .dhxrb_input:disabled { - color: #a6a6a6; -} -.dhtmlxribbon_material div.dhxcombo_material { - height: 24px; - line-height: 24px; -} -.dhtmlxribbon_material div.dhxcombo_material input.dhxcombo_input { - float: left; - height: 24px; - width: 80px; - padding: 0px 2px; - line-height: 24px; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -.dhtmlxribbon_material .dhxrb_in_group .dhxrb_input { - height: 16px; - padding: 1px 1px; - line-height: 16px; -} -.dhtmlxribbon_material .dhxrb_in_group div.dhxcombo_material { - height: 20px; - line-height: 20px; -} -.dhtmlxribbon_material .dhxrb_in_group div.dhxcombo_material input.dhxcombo_input { - height: 20px; - line-height: 20px; -} -.dhtmlxribbon_material .dhxrb_in_group div.dhxcombo_material div.dhxcombo_select_button { - top: 0px; -} -.dhtmlxribbon_material div.dhxcombo_material div.dhxcombo_select_button { - top: 2px; -} -.dhtmlxribbon_material .dhxrb_3rows_button .dhxrb_image, -.dhtmlxribbon_material .dhxrb_in_row .dhxrb_image, -.dhtmlxribbon_material .dhxrb_in_group .dhxrb_image { - margin: 3px 0px; - width: 18px; - height: 18px; - float: left; -} -.dhtmlxribbon_material .dhxrb_3rows_button i, -.dhtmlxribbon_material .dhxrb_in_row i, -.dhtmlxribbon_material .dhxrb_in_group i { - position: relative; - float: left; - width: 18px; - height: 18px; - line-height: 17px; - font-size: 15px; - margin-top: 3px; - color: inherit; - cursor: default; - text-align: center; -} -.dhtmlxribbon_material .dhxrb_item_disable i { - color: #a6a6a6; -} -.dhtmlxribbon_material .dhxrb_3rows_button .dhxrb_label_button, -.dhtmlxribbon_material .dhxrb_in_row .dhxrb_label_button, -.dhtmlxribbon_material .dhxrb_in_group .dhxrb_label_button { - float: left; - cursor: default; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -.dhtmlxribbon_material .dhxrb_3rows_button .dhxrb_label_button, -.dhtmlxribbon_material .dhxrb_in_row .dhxrb_label_button { - margin: 1px 0px 1px 6px; - line-height: 22px; -} -.dhtmlxribbon_material .dhxrb_in_group .dhxrb_label_button { - margin: 1px; - line-height: 22px; -} -.dhtmlxribbon_material .dhxrb_label_checkbox { - float: left; - margin: 0px 4px; - cursor: default; - line-height: 21px; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -.dhtmlxribbon_material .dhxrb_group .dhxrb_label_checkbox { - line-height: 19px; -} -.dhtmlxribbon_material .dhxrb_disable_text_style, -.dhtmlxribbon_material .dhxrb_item_disable .dhxrb_label_checkbox { - color: #a6a6a6 !important; -} -.dhtmlxribbon_material .dhxrb_highlight0 { - background-color: #ebebeb; - border-color: #ebebeb; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhtmlxribbon_material .dhxrb_highlight1 { - background-color: #dcdcdc; - border-color: #d2d2d2; - box-shadow: 0 0 4px rgba(127,127,127,0.2) inset; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhtmlxribbon_material .dhxrb_item_hide { - display: none !important; -} -.dhtmlxribbon_material .dhxrb_block_rows { - float: left; - margin: 0px 3px; -} -.dhtmlxribbon_material .dhxrb_block_row { - float: left; - clear: left; - height: 28px; - overflow: hidden; - position: relative; -} -.dhtmlxribbon_material .dhxrb_arrow { - padding: 0px 5px; - margin-left: 2px; - background: url("../imgs/dhxribbon_material/dhxribbon_arrow.gif") no-repeat 50%; -} -.dhtmlxribbon_material .dhxrb_item_disable .dhxrb_arrow { - opacity: 0.4; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=40); -} -.dhtmlxribbon_material .dhxrb_3rows_block .dhxrb_group { - border: 1px solid #dcdcdc; - background-color: #ebebeb; - height: 26px; - float: left; - clear: left; - margin: 1px 0px; - overflow: hidden; - position: relative; -} -.dhtmlxribbon_material .dhxrb_block_row .dhxrb_group { - border: 1px solid #dfdfdf; - background-color: #fafafa; - height: 24px; - float: left; - margin: 1px 0px; - overflow: hidden; - position: relative; -} -.dhtmlxribbon_material .dhxrb_in_group .dhxrb_label_hide { - display: none; -} -.dhtmlxribbon_material .dhxrb_separator_groupp { - height: 27px; - width: 0; - border-left: 1px solid #dcdcdc; - overflow: hidden; - float: left; -} -.dhtmlxribbon_material .dhxrb_checkbox { - border: 1px solid #dfdfdf; - background-color: white; - float: left; - width: 12px; - height: 12px; - margin-top: 4px; - overflow: hidden; -} -.dhtmlxribbon_material .dhxrb_in_group .dhxrb_checkbox { - margin-top: 3px; -} -.dhtmlxribbon_material .dhxrb_checked .dhxrb_checkbox { - background-image: url("../imgs/dhxribbon_material/dhxribbon_checked.gif"); - background-repeat: no-repeat; -} -.dhtmlxribbon_material .dhxrb_checked.dhxrb_item_disable>.dhxrb_checkbox { - background-image: url("../imgs/dhxribbon_material/dhxribbon_checked_dis.gif"); -} -.dhtmlxribbon_material .dhxrb_item_disable .dhxrb_checkbox { - background-color: #fafafa; -} -.dhtmlxribbon_material .dhxrb_item_text { - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -.dhtmlxribbon_material .dhxrb_in_group .dhxrb_item_text { - height: 20px; - line-height: 19px; - *float: left; - *clear: left; -} -.dhtmlxribbon_material .dhxrb_3rows_button .dhxrb_item_text, -.dhtmlxribbon_material .dhxrb_in_row .dhxrb_item_text { - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -.dhtmlxribbon_material .dhxrb_big_button .dhxrb_item_text { - line-height: 82px; - height: 82px; - float: left; - clear: left; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -.dhtmlxribbon_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 40px; - height: 10px; - overflow: hidden; -} diff --git a/themes/sources4.0/dhtmlxSidebar/codebase/dhtmlxsidebar.js b/themes/sources4.0/dhtmlxSidebar/codebase/dhtmlxsidebar.js deleted file mode 100644 index fca452f..0000000 --- a/themes/sources4.0/dhtmlxSidebar/codebase/dhtmlxsidebar.js +++ /dev/null @@ -1,1175 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -function dhtmlXSideBar(conf) { - - var that = this; - - this.conf = { - skin: (conf.skin||window.dhx4.skin||(typeof(dhtmlx)!="undefined"?dhtmlx.skin:null)||window.dhx4.skinDetect("dhxsidebar")||"material"), - css: "dhxsidebar", - width: conf.width||200, - scroll_size: 12, - scroll_mult: 20, - close_button: false, - icons_path: conf.icons_path||"", - selected: null, - // single cell mode, added in 4.3 - single_cell: (typeof(conf.single_cell)=="undefined"?false:window.dhx4.s2b(conf.single_cell)), - cell: null, - // cells header, added in 4.5 - header: window.dhx4.s2b(conf.header), - // autohide side, added in 4.5 - autohide: window.dhx4.s2b(conf.autohide), - animate_items: true - }; - - // template - this.setTemplate(conf.template); - - // init base - window.dhtmlXCellTop.apply(this, [conf.parent, (conf==null?null:conf.offsets)]); - - // common event system - window.dhx4._eventable(this); - this.conf.touch_ms = false; - this.conf.touch_start = "touchstart", - this.conf.touch_end = "touchend" - - // init bars area - this.side = document.createElement("DIV"); - this.side.className = "dhxsidebar_side dhxsidebar_tpl_"+this.conf.tpl_name; - this.side.innerHTML = "
              "; - this.cont.appendChild(this.side); - - - // overflow arrows - this.arw = document.createElement("DIV"); - this.arw.className = "dhxsidebar_arrows dhxsidebar_arrows_hidden"; - this.arw.innerHTML = "
              "+ - "
              "; - this.cont.appendChild(this.arw); - - // autohide mode - if (this.conf.autohide == true) { - - this.hideSide(); - - // for cells left border - this.cont.className += " dhxsidebar_autohide"; - - // hide on click - this._doOnBodyClick = function() { - if (that.conf.clear_click == true) { - that.conf.clear_click = false; - return; - } - that.hideSide(); - } - this._doOnEscDown = function(e) { - e = e||event; - if (e.keyCode == 27) { - that.conf.clear_click = false; - that.hideSide(); - } - } - if (typeof(window.addEventListener) == "function") { - window.addEventListener(this.conf.touch_start, this._doOnBodyClick, false); - window.addEventListener("click", this._doOnBodyClick, false); - window.addEventListener("keydown", this._doOnEscDown, false); - } else { - document.body.attachEvent("onclick", this._doOnBodyClick); - document.body.attachEvent("onkeydown", this._doOnEscDown); - } - - } - - window.setTimeout(function(){ - if (that != null && that.side != null) { - that.side.firstChild.style.top = "0px"; - } - },1); - - - this._doOnArwClick = function(e) { - - e = e||event; - - if (e.type != "click" && e.preventDefault) { - e.preventDefault(); // this will prevent touchmove and click events - } - e.cancelBubble = true; - - var t = e.target||e.srcElement; - if (t.className.match(/dhxsidebar_arrow_image/) != null) t = t.parentNode; - - if (t.className.match(/dhxsidebar_arrow_left/) != null) { - that._scrollSide(-that.conf.scroll_size); - } else if (t.className.match(/dhxsidebar_arrow_right/) != null) { - that._scrollSide(that.conf.scroll_size); - } - - t = null; - } - - if (typeof(window.addEventListener) == "function") { - this.arw.addEventListener(this.conf.touch_start, this._doOnArwClick, false); - this.arw.addEventListener("click", this._doOnArwClick, false); - } else { - this.arw.attachEvent("onclick", this._doOnArwClick); - } - - // side click - this._doOnSideClick = function(e) { - e = e||event; - - var t = e.target||e.srcElement; - var id = null; - var b = false; - - that.conf.clear_click = true; - - if (e.type == "touchstart" || e.type == "pointerdown" || e.type == "MSPointerDown") { - if (e.preventDefault) { - e.preventDefault(); // this will prevent touchmove and click events - } - if (this.className.match(/dhxsidebar_touch/gi) == null) { - if (e.type == "touchstart" || (e.type == "pointerdown" && e.pointerType == "touch")) { - this.className += " dhxsidebar_touch"; - } - } - return - } - - while (t != null && id == null && e.type != "pointerdown" && e.type != "MSPointerDown") { - if (typeof(t.className) != "undefined") { - if (t.className.match(/^dhxsidebar_item/) != null && typeof(t._idd) != "undefined") { - id = t._idd; - } else if (t.className.match(/^dhxsidebar_bubble/) != null) { - b = true; - id = t.parentNode._idd; - } - } - t = t.parentNode; - } - if (id != null) { - if (b == false || (b == true && that.callEvent("onBubbleClick", [id, that.t[id].conf.bubble]) == true)) { - that._setItemActive(id, true); - } - } - t = null; - } - - if (typeof(window.addEventListener) == "function") { - this.side.addEventListener(this.conf.touch_start, this._doOnSideClick, false); - this.side.addEventListener(this.conf.touch_end, this._doOnSideClick, false); - this.side.addEventListener("mouseup", this._doOnSideClick, false); - } else { - this.side.attachEvent("onclick", this._doOnSideClick); - } - - this.side.onmouseover = function() { - this.className = this.className.replace(/\s*dhxsidebar_touch/gi,""); - } - - // side scroll - this._doOnSideScroll = function(e) { - e = e||event; - var y = (e.type=="mousewheel"?-e.wheelDelta:e.deltaY); - that._scrollSide(y/Math.abs(y)*3); - } - - this._scrollSide = function(dir) { // dir => -1/1 - var top = parseInt(this.side.firstChild.style.top||0)-dir*this.conf.scroll_mult; - // first check down - if (top + this.side.firstChild.offsetHeight < this.side.clientHeight) top = this.side.clientHeight - this.side.firstChild.offsetHeight; - // also check top - if (top > 0) top = 0; - this.side.firstChild.style.top = top+"px"; - } - - if (typeof(window.addEventListener) == "function") { - this.side.addEventListener("wheel", this._doOnSideScroll, false); - } else { - this.side.attachEvent("onmousewheel", this._doOnSideScroll); - } - - // items - this.t = {}; - this.s = {}; - - this._adjustCell = function(id, force) { - - if (this.conf.single_cell != true && id == null) return; - - var x = (this.conf.autohide==true?0:this.conf.width); - var w = this.cont.offsetWidth-x; - - var y = 0; - var h = this.cont.offsetHeight; - - if (this.conf.single_cell == true) { - if (force == true) this.conf.cell._setSize(x, y, w, h); // only call from setSizes - } else { - if (id != this.conf.selected) { - y = -5000; - this.t[id].cell.cell.style.visibility = "hidden"; - this.t[id].cell.cell.style.zIndex = 0; - } - this.t[id].cell._setSize(x, y, w, h); - } - } - - // transition support if any - var k = window.dhx4.transDetect(); - - this.conf.transProp = k.transProp; - this.conf.transEv = k.transEv; - this.conf.transValue = "all 0.1s"; - - this._doOnTrEnd = function(e) { - - var id = this._idd; // this points to an item - - if (that.t[id] == null) return; - - var t = that.t[id]; - var actvId = t.conf.transActvId; - - if (t.conf.transMode == "hide") { - - if (t.conf.remove == true) { - that._removeItem(id); - } else { - t.item.style[t.conf.transProp] = ""; - if (that.conf.single_cell != true) { - t.cell.cell.style.visibility = "hidden"; - t.cell.cell.style.top = "-5000px"; - } - t.conf.transActv = false; - } - - } else if (t.conf.transMode == "show") { - - t.item.style[t.conf.transProp] = ""; - t.item.style.visibility = "visible"; - t.conf.transMode = null; - t.conf.transActv = false; - - } - - if (actvId != null) { - that._setItemActive(actvId); - } else { - that._checkHeight(); - } - t = null; - - } - - // data loading - this._initObj = function(data) { - this.clearAll(); - if (data.items != null) this.addItem(data.items); - } - - this._xmlToObj = function(data) { - var items = []; - var r = data.getElementsByTagName("sidebar"); - if (r != null && r[0] != null) { - var t = r[0].getElementsByTagName("item"); - for (var q=0; q this.side.parentNode.clientHeight-this.conf.side_hfix) { - if (arrowsHidden == true) { - this.arw.className = "dhxsidebar_arrows"; - this._adjustSide(); - } - } else { - if (arrowsHidden == false) { - this.arw.className = "dhxsidebar_arrows dhxsidebar_arrows_hidden"; - this.side.firstChild.style.top = "0px"; - this._adjustSide(); - } - } -}; - -dhtmlXSideBar.prototype.removeSep = function(id) { - if (this.s[id] == null) return; - this.side.firstChild.removeChild(this.s[id].sep); - this.s[id].sep = null; - this.s[id] = null; - try { delete this.s[id]; } catch(e){}; -}; - -// show/hide side, added in 4.5 -dhtmlXSideBar.prototype.showSide = function() { - if (this.conf.autohide != true) return; - - if (this.sideCover == null) this._sideCoverAttach(); - - if (this.conf.animate_items == true) { - - var animate = function(item, tmTime, prop) { - window.setTimeout(function(){ - item.style[prop] = "transform 0.3s"; - item.style.transform = "translate(0px,0px)"; - item = null; - }, tmTime); - }; - - if (this.conf.transProp !== false) { - var q = 100; - for (var a in this.t) { - this.t[a].item.style[this.conf.transProp] = ""; - this.t[a].item.style.transform = "translate(-"+(this.conf.width+20)+"px,0px)"; - animate(this.t[a].item, q+=50, this.conf.transProp); - } - } - - } - - var t = this; - window.setTimeout(function(){ - t.arw.style.left = t.side.style.left = "0px"; - t.sideCover.className = "dhxsidebar_side_cover dhxsidebar_side_cover_actv"; - t = null; - },50); - -}; - -dhtmlXSideBar.prototype.hideSide = function(ef) { - if (this.conf.autohide != true) return; - - this.arw.style.left = this.side.style.left = -this.conf.width-10+"px"; - - if (this.sideCover != null) { - if (this.conf.transProp !== false) { - this.sideCover.className = "dhxsidebar_side_cover"; - } else { - this._sideCoverDetach(); - } - } -}; - -dhtmlXSideBar.prototype._sideCoverAttach = function() { - - var that = this; - - this.sideCover = document.createElement("DIV"); - this.sideCover.className = "dhxsidebar_side_cover"; - - if (this.arw.nextSibling != null) { - this.cont.insertBefore(this.sideCover, this.arw.nextSibling); - } else { - this.cont.appendChild(this.sideCover); - } - - this._sideCoverOnTrEnd = function() { - if (this.className.match(/dhxsidebar_side_cover_actv/) == null) { - that._sideCoverDetach(); - } - } - - this._sideCoverDetach = function() { - if (this.sideCover == null) return; - if (this.conf.transProp !== false) this.sideCover.removeEventListener(this.conf.transEv, this._sideCoverOnTrEnd, false); - this.sideCover.parentNode.removeChild(this.sideCover); - this.sideCover = null; - that = null; - } - - if (this.conf.transProp !== false) { - this.sideCover.addEventListener(this.conf.transEv, this._sideCoverOnTrEnd, false); - } -}; - -// selection -dhtmlXSideBar.prototype._setItemActive = function(id, callEvent) { - - if (this.conf.selected == id) { - if (this.conf.autohide == true) this.hideSide(); - return; - } - - if (typeof(callEvent) == "undefined") callEvent = false; - - if (callEvent == true && this.callEvent("onBeforeSelect", [id, this.conf.selected]) !== true) { - return; - } - - var lastSelected = null; - if (this.conf.selected != null) { - lastSelected = this.conf.selected; - this._setItemInactive(this.conf.selected); - } - - if (this.t[id] != null) { - this.conf.selected = id; - this.t[id].selected = true; - this.t[id].item.className += " dhxsidebar_item_selected"; - if (this.conf.single_cell != true) { - this.t[id].cell.cell.style.visibility = "visible"; - this.t[id].cell.cell.style.top = "0px"; - this.t[id].cell.cell.style.zIndex = 1; - } - } else { - this.conf.selected = null; - } - - this._adjustCell(id); - - if (callEvent == true) { - this.callEvent("onSelect", [id, lastSelected]); - } - - if (this.conf.autohide == true) { - this.hideSide(); - } - -}; - -dhtmlXSideBar.prototype._setItemInactive = function(id) { - - if (this.t[id] == null) return; - - this.t[id].selected = false; - this.t[id].item.className = this.t[id].item.className.replace(/\s{0,}dhxsidebar_item_selected/gi,""); - - if (this.conf.single_cell != true) { - this.t[id].cell.cell.style.visibility = "hidden"; - this.t[id].cell.cell.style.top = "-5000px"; - this.t[id].cell.cell.style.zIndex = 0; - } - -}; - -dhtmlXSideBar.prototype._isItemActive = function(id) { - return (this.conf.selected == id); -}; - -dhtmlXSideBar.prototype._getNextVisible = function(id, getFirst) { - return this._getNearVisible(id, getFirst, "next"); -}; - -dhtmlXSideBar.prototype._getPrevVisible = function(id, getFirst) { - return this._getNearVisible(id, getFirst, "previous"); -}; - -dhtmlXSideBar.prototype._getFirstVisible = function() { - return this._getNearVisible(null, false, "first"); -}; - -dhtmlXSideBar.prototype._getNearVisible = function(id, getFirst, mode) { - - if (mode == "first") { - var node = this.side.firstChild.firstChild; // 1st item - mode = "next"; - } else { - if (id == null || this.t[id] == null) return (getFirst?this._getFirstVisible():null); - var node = this.t[id].item[mode+"Sibling"]; - } - - var itemId = null; - - while (node != null && itemId == null) { - var k = node._idd; - if (k != null && itemId == null && this.t[k].conf.visible) { - itemId = k; - } else { - node = node[mode+"Sibling"]; - } - } - - node = null; - - return itemId; -}; - -dhtmlXSideBar.prototype.goToNextItem = function(callEvent) { - var id = this._getNextVisible(this.conf.selected, true); - if (id != null) this._setItemActive(id, callEvent); -}; - -dhtmlXSideBar.prototype.goToPrevItem = function(callEvent) { - var id = this._getPrevVisible(this.conf.selected, true); - if (id != null) this._setItemActive(id, callEvent); -}; - -dhtmlXSideBar.prototype.getActiveItem = function() { - return this.conf.selected; -}; - -// templates -dhtmlXSideBar.prototype.setTemplate = function(template, iconsPath) { - // conf - this.conf.tpl_name = (template!=null&&this.templates[template]!=null?template:"details"); - this.conf.tpl_str = this.templates[this.conf.tpl_name]; - // icons path if any - if (iconsPath != null) this.conf.icons_path = iconsPath; - // update loaded items - for (var a in this.t) { - this.t[a].init.icons_path = this.conf.icons_path; - this.t[a].item.innerHTML = window.dhx4.template(this.conf.tpl_str, this.t[a].init); - } - // side area - if (this.side != null) { - this.side.className = "dhxsidebar_side dhxsidebar_tpl_"+this.conf.tpl_name; - } - if (this._scrollSide != null) { - this._scrollSide(0); // fix top position - this._checkHeight(); - } -}; - -dhtmlXSideBar.prototype.templates = { - details: "
              #text#
              ", - tiles: "
              #text#
              ", - icons: "", - icons_text: "
              #text#
              ", - text: "
              #text#
              " -}; - -dhtmlXSideBar.prototype.tpl_bubble = "
              #value#
              "; - -dhtmlXSideBar.prototype.tpl_header = "#text#"; -window.dhtmlXSideBarCell = function(id, sidebar) { - - dhtmlXCellObject.apply(this, [id, "_sidebar"]); - - var that = this; - this.sidebar = sidebar; - - this.conf.skin = this.sidebar.conf.skin; - - // sidebar calls - this.conf.sidebar_funcs = { - show: "_showItem", - hide: "_hideItem", - isVisible: "_isItemVisible", - setActive: "_setItemActive", - isActive: "_isItemActive", - setText: "_setItemText", - getText: "_getItemText", - remove: "_removeItem", - setBubble: "_setItemBubble", - getBubble: "_getItemBubble", - clearBubble: "_clearItemBubble" - }; - - this._sidebarCall = function(name) { - return function(){ - var t = [this._idd]; - for (var q=0; q
              ":"")+ - "
              "; - - this.cell.insertBefore(t, this.cell.childNodes[this.conf.idx.cont]); - t = null; - - // include into content top offset calculation - this.conf.ofs_nodes.t._getHdrHeight = "func"; - - // show/hide - this.conf.hdr = {visible: true}; - - // include into index - this.conf.idx_data.hdr = "dhx_cell_sidebar_hdr"; - this._updateIdx(); - -}; - -dhtmlXSideBarCell.prototype._getHdrHeight = function() { - return this.cell.childNodes[this.conf.idx.hdr].offsetHeight; -}; - -// visibility -dhtmlXSideBarCell.prototype.showHeader = function() { - if (this.conf.hdr.visible == true) return; - this.conf.hdr.visible = true; - this.cell.childNodes[this.conf.idx.hdr].className = "dhx_cell_sidebar_hdr"; - this._adjustCont(this._idd); -}; - -dhtmlXSideBarCell.prototype.hideHeader = function() { - if (this.conf.hdr.visible != true) return; - this.conf.hdr.visible = false; - this.cell.childNodes[this.conf.idx.hdr].className = "dhx_cell_sidebar_hdr dhx_cell_sidebar_hdr_hidden"; - this._adjustCont(this._idd); -}; - -dhtmlXSideBarCell.prototype.isHeaderVisible = function() { - return (this.conf.hdr.visible==true); -}; - -// text -dhtmlXSideBarCell.prototype.setHeaderText = function(text) { - this.conf.text = text; - var t = this.cell.childNodes[this.conf.idx.hdr]; - t.childNodes[(t.firstChild.className=="dhx_cell_sidebar_hdr_icon"?1:0)].innerHTML = ""+text+""; - t = null; -}; - -dhtmlXSideBarCell.prototype.getHeaderText = function() { - return this.conf.text; -}; - diff --git a/themes/sources4.0/dhtmlxSidebar/codebase/imgs/dhxsidebar_material/dhxsidebar_arrow_down.gif b/themes/sources4.0/dhtmlxSidebar/codebase/imgs/dhxsidebar_material/dhxsidebar_arrow_down.gif deleted file mode 100644 index e04b449..0000000 Binary files a/themes/sources4.0/dhtmlxSidebar/codebase/imgs/dhxsidebar_material/dhxsidebar_arrow_down.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxSidebar/codebase/imgs/dhxsidebar_material/dhxsidebar_arrow_up.gif b/themes/sources4.0/dhtmlxSidebar/codebase/imgs/dhxsidebar_material/dhxsidebar_arrow_up.gif deleted file mode 100644 index c230d03..0000000 Binary files a/themes/sources4.0/dhtmlxSidebar/codebase/imgs/dhxsidebar_material/dhxsidebar_arrow_up.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxSidebar/codebase/imgs/dhxsidebar_material/dhxsidebar_cell_progress.gif b/themes/sources4.0/dhtmlxSidebar/codebase/imgs/dhxsidebar_material/dhxsidebar_cell_progress.gif deleted file mode 100644 index ff9a5e6..0000000 Binary files a/themes/sources4.0/dhtmlxSidebar/codebase/imgs/dhxsidebar_material/dhxsidebar_cell_progress.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxSidebar/codebase/imgs/dhxsidebar_material/dhxsidebar_side_icon.gif b/themes/sources4.0/dhtmlxSidebar/codebase/imgs/dhxsidebar_material/dhxsidebar_side_icon.gif deleted file mode 100644 index 30dfbba..0000000 Binary files a/themes/sources4.0/dhtmlxSidebar/codebase/imgs/dhxsidebar_material/dhxsidebar_side_icon.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxSidebar/codebase/imgs/dhxsidebar_skyblue/dhxsidebar_arrow_down.gif b/themes/sources4.0/dhtmlxSidebar/codebase/imgs/dhxsidebar_skyblue/dhxsidebar_arrow_down.gif deleted file mode 100644 index b44180f..0000000 Binary files a/themes/sources4.0/dhtmlxSidebar/codebase/imgs/dhxsidebar_skyblue/dhxsidebar_arrow_down.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxSidebar/codebase/imgs/dhxsidebar_skyblue/dhxsidebar_arrow_up.gif b/themes/sources4.0/dhtmlxSidebar/codebase/imgs/dhxsidebar_skyblue/dhxsidebar_arrow_up.gif deleted file mode 100644 index 560cbcf..0000000 Binary files a/themes/sources4.0/dhtmlxSidebar/codebase/imgs/dhxsidebar_skyblue/dhxsidebar_arrow_up.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxSidebar/codebase/imgs/dhxsidebar_skyblue/dhxsidebar_cell_progress.gif b/themes/sources4.0/dhtmlxSidebar/codebase/imgs/dhxsidebar_skyblue/dhxsidebar_cell_progress.gif deleted file mode 100644 index 1df5c43..0000000 Binary files a/themes/sources4.0/dhtmlxSidebar/codebase/imgs/dhxsidebar_skyblue/dhxsidebar_cell_progress.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxSidebar/codebase/imgs/dhxsidebar_skyblue/dhxsidebar_side_icon.gif b/themes/sources4.0/dhtmlxSidebar/codebase/imgs/dhxsidebar_skyblue/dhxsidebar_side_icon.gif deleted file mode 100644 index 30dfbba..0000000 Binary files a/themes/sources4.0/dhtmlxSidebar/codebase/imgs/dhxsidebar_skyblue/dhxsidebar_side_icon.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxSidebar/codebase/imgs/dhxsidebar_terrace/dhxsidebar_arrow_down.gif b/themes/sources4.0/dhtmlxSidebar/codebase/imgs/dhxsidebar_terrace/dhxsidebar_arrow_down.gif deleted file mode 100644 index e04b449..0000000 Binary files a/themes/sources4.0/dhtmlxSidebar/codebase/imgs/dhxsidebar_terrace/dhxsidebar_arrow_down.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxSidebar/codebase/imgs/dhxsidebar_terrace/dhxsidebar_arrow_up.gif b/themes/sources4.0/dhtmlxSidebar/codebase/imgs/dhxsidebar_terrace/dhxsidebar_arrow_up.gif deleted file mode 100644 index c230d03..0000000 Binary files a/themes/sources4.0/dhtmlxSidebar/codebase/imgs/dhxsidebar_terrace/dhxsidebar_arrow_up.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxSidebar/codebase/imgs/dhxsidebar_terrace/dhxsidebar_cell_progress.gif b/themes/sources4.0/dhtmlxSidebar/codebase/imgs/dhxsidebar_terrace/dhxsidebar_cell_progress.gif deleted file mode 100644 index 7c30859..0000000 Binary files a/themes/sources4.0/dhtmlxSidebar/codebase/imgs/dhxsidebar_terrace/dhxsidebar_cell_progress.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxSidebar/codebase/imgs/dhxsidebar_terrace/dhxsidebar_side_icon.gif b/themes/sources4.0/dhtmlxSidebar/codebase/imgs/dhxsidebar_terrace/dhxsidebar_side_icon.gif deleted file mode 100644 index 30dfbba..0000000 Binary files a/themes/sources4.0/dhtmlxSidebar/codebase/imgs/dhxsidebar_terrace/dhxsidebar_side_icon.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxSidebar/codebase/imgs/dhxsidebar_web/dhxsidebar_arrow_down.gif b/themes/sources4.0/dhtmlxSidebar/codebase/imgs/dhxsidebar_web/dhxsidebar_arrow_down.gif deleted file mode 100644 index 38fe0c9..0000000 Binary files a/themes/sources4.0/dhtmlxSidebar/codebase/imgs/dhxsidebar_web/dhxsidebar_arrow_down.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxSidebar/codebase/imgs/dhxsidebar_web/dhxsidebar_arrow_up.gif b/themes/sources4.0/dhtmlxSidebar/codebase/imgs/dhxsidebar_web/dhxsidebar_arrow_up.gif deleted file mode 100644 index 6f7fb10..0000000 Binary files a/themes/sources4.0/dhtmlxSidebar/codebase/imgs/dhxsidebar_web/dhxsidebar_arrow_up.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxSidebar/codebase/imgs/dhxsidebar_web/dhxsidebar_cell_progress.gif b/themes/sources4.0/dhtmlxSidebar/codebase/imgs/dhxsidebar_web/dhxsidebar_cell_progress.gif deleted file mode 100644 index ff9a5e6..0000000 Binary files a/themes/sources4.0/dhtmlxSidebar/codebase/imgs/dhxsidebar_web/dhxsidebar_cell_progress.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxSidebar/codebase/imgs/dhxsidebar_web/dhxsidebar_side_icon.gif b/themes/sources4.0/dhtmlxSidebar/codebase/imgs/dhxsidebar_web/dhxsidebar_side_icon.gif deleted file mode 100644 index d42cf12..0000000 Binary files a/themes/sources4.0/dhtmlxSidebar/codebase/imgs/dhxsidebar_web/dhxsidebar_side_icon.gif and /dev/null differ diff --git a/themes/sources4.0/dhtmlxSidebar/codebase/skins/dhtmlxsidebar_dhx_skyblue.css b/themes/sources4.0/dhtmlxSidebar/codebase/skins/dhtmlxsidebar_dhx_skyblue.css deleted file mode 100644 index 89053df..0000000 --- a/themes/sources4.0/dhtmlxSidebar/codebase/skins/dhtmlxsidebar_dhx_skyblue.css +++ /dev/null @@ -1,594 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: dhx_skyblue - include extra file: skins/dhx_skyblue.less -*/ - -.dhxsidebar_base_dhx_skyblue { - position: relative; - cursor: default; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont { - position: absolute; - cursor: default; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side { - position: absolute; - left: 0px; - top: 0px; - background-color: #f5f5f5; - border-style: solid; - border-color: #a4bed4; - border-width: 1px 1px 0px 1px; - overflow: hidden; - z-index: 5; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - -webkit-tap-highlight-color: rgba(0,0,0,0); -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items { - position: absolute; - width: 100%; - overflow: hidden; - -ms-touch-action: none; - -webkit-transition: top 0.2s; - -moz-transition: top 0.2s; - -ms-transition: top 0.2s; - -o-transition: top 0.2s; - transition: top 0.2s; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item { - position: relative; - padding: 0px 10px; - z-index: 1; - cursor: default; - margin: 1px 2px; - border: 1px solid #f5f5f5; - background-color: #f5f5f5; - overflow: hidden; - opacity: 1; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100); - font-family: Tahoma, Helvetica; - font-size: 11px; - color: black; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - -webkit-touch-callout: none; - -ms-touch-action: none; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_hidden { - height: 0px !important; - margin: 0px 0px; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item:hover { - background-color: #f1f7ff; - border-color: #b9cdde; - z-index: 2; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_selected { - z-index: 3; - border-color: #a4bed4; - background-color: #b5deff; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon { - position: absolute; - left: 9px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text { - position: absolute; - left: 0px; - top: 0px; - height: inherit; - line-height: inherit; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_bubble { - position: absolute; - width: 15px; - height: 15px; - line-height: 14px; - right: 5px; - top: 2px; - border-radius: 10px; - background-color: #ff2222; - border: 2px solid #f5f5f5; - font-family: Tahoma; - font-size: 10px; - text-align: center; - font-weight: bold; - color: white; - cursor: default; - overflow: hidden; - z-index: 1; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item:hover div.dhxsidebar_bubble { - border-color: #f1f7ff; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_selected div.dhxsidebar_bubble { - border-color: white; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_sep { - position: relative; - height: 1px; - margin: 5px 14px; - overflow: hidden; - background: #cccccc; - background: -moz-linear-gradient(left,#ebebeb 0%,#cccccc 50%,#ebebeb 100%); - background: -webkit-gradient(linear,left top,right top,color-stop(0%,#ebebeb),color-stop(50%,#cccccc),color-stop(100%,#ebebeb)); - background: -webkit-linear-gradient(left,#ebebeb 0%,#cccccc 50%,#ebebeb 100%); - background: -o-linear-gradient(left,#ebebeb 0%,#cccccc 50%,#ebebeb 100%); - background: -ms-linear-gradient(left,#ebebeb 0%,#cccccc 50%,#ebebeb 100%); - background: linear-gradient(to right,#ebebeb 0%,#cccccc 50%,#ebebeb 100%); -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_touch div.dhxsidebar_side_items div.dhxsidebar_item:hover { - border-color: #f5f5f5; - background-color: #f5f5f5; - z-index: 1; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_touch div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_selected { - z-index: 3; - border-color: #a4bed4; - background-color: #b5deff; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_details div.dhxsidebar_side_items div.dhxsidebar_item { - height: 23px; - line-height: 23px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_details div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon { - top: 3px; - width: 16px; - height: 16px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_details div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text { - padding-left: 34px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_details div.dhxsidebar_side_items div.dhxsidebar_sep { - margin-top: 2px; - margin-bottom: 2px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item { - height: 43px; - line-height: 43px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon { - top: 5px; - width: 32px; - height: 32px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text { - padding-left: 50px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_bubble { - top: 12px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons div.dhxsidebar_side_items div.dhxsidebar_item { - height: 43px; - line-height: 43px; - text-align: center; - padding-left: 4px; - padding-right: 4px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon { - position: relative; - display: inline; - left: 0px; - top: 5px; - width: 32px; - height: 32px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons div.dhxsidebar_side_items div.dhxsidebar_sep { - margin: 3px 6px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons_text div.dhxsidebar_side_items div.dhxsidebar_item { - height: 62px; - line-height: 1em; - text-align: center; - padding-left: 4px; - padding-right: 4px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons_text div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon { - position: relative; - display: inline; - left: 0px; - top: 4px; - width: 32px; - height: 32px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons_text div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text { - position: relative; - display: block; - height: 16px; - margin-top: 10px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons_text div.dhxsidebar_side_items div.dhxsidebar_sep { - margin: 3px 6px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_text div.dhxsidebar_side_items div.dhxsidebar_item { - height: 23px; - line-height: 23px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_text div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text { - padding-left: 14px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_text div.dhxsidebar_side_items div.dhxsidebar_sep { - margin-top: 2px; - margin-bottom: 2px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar { - position: absolute; - background-color: white; - margin: 0px; - padding: 0px; - overflow: hidden; - cursor: default; - z-index: 0; - background-image: none !important; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_cont_sidebar { - position: absolute; - border-left: 0px solid #a4bed4; - border-right: 1px solid #a4bed4; - border-bottom: 1px solid #a4bed4; - border-top: 1px solid #a4bed4; - overflow: hidden; - z-index: 0; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_cont_sidebar.dhx_cell_cont_no_borders { - border-width: 0px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr { - position: relative; - height: 27px; - line-height: 26px; - overflow: hidden; - font-weight: bold; - border-color: #a4bed4; - border-style: solid; - border-width: 1px 1px 0px 0px; - cursor: default; - z-index: 1; - font-family: Tahoma, Helvetica; - font-size: 11px; - color: #34404b; - background-color: #e2efff; - background: linear-gradient(#e2efff,#d3e7ff); - background: -webkit-linear-gradient(#e2efff,#d3e7ff); - filter: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e2efff,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - -webkit-tap-highlight-color: rgba(0,0,0,0); -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr.dhx_cell_sidebar_hdr_hidden { - border-width: 0px; - height: 0px; - line-height: 0px; - overflow: hidden; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr div.dhx_cell_sidebar_hdr_text { - position: relative; - margin: 0px 10px; - overflow: hidden; - white-space: nowrap; - cursor: default; - text-align: left; - height: 100%; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr div.dhx_cell_sidebar_hdr_text.dhx_cell_sidebar_hdr_text_icon { - margin-left: 34px !important; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr div.dhx_cell_sidebar_hdr_icon { - position: absolute; - top: 0px; - left: 10px; - width: 16px; - height: 100%; - background-image: url("../imgs/dhxsidebar_skyblue/dhxsidebar_side_icon.gif"); - background-position: center center; - background-repeat: no-repeat; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_menu_def { - position: relative; - overflow: hidden; - border-width: 0px 1px 1px 1px; - border-color: #a4bed4; - border-style: solid; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_menu_def div.dhtmlxMenu_dhx_skyblue_Middle { - padding: 0px 2px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_menu_no_borders { - position: relative; - overflow: hidden; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_menu_no_borders div.dhtmlxMenu_dhx_skyblue_Middle { - padding: 0px 2px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_toolbar_def { - position: relative; - overflow: hidden; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_toolbar_def div.dhx_toolbar_dhx_skyblue { - border-top-width: 0px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_dhx_skyblue { - margin-top: -1px; - width: auto; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhtmlxribbon_dhx_skyblue.dhxrb_without_tabbar { - border-top-width: 0px; - width: auto; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_statusbar_def { - position: absolute; - bottom: 0px; - width: 100%; - background-color: #ddecff; - font-family: Tahoma, Helvetica; - font-size: 11px; - color: black; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - position: relative; - padding: 0px 4px; - height: 21px; - line-height: 21px; - border-bottom: 1px solid #a4bed4; - border-left: 1px solid #a4bed4; - border-right: 1px solid #a4bed4; - white-space: nowrap; - overflow: hidden; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_progress_bar { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: white; - z-index: 5; - opacity: 0.75; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=75); -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_progress_img { - position: absolute; - left: 0px; - top: 0px; - border: 1px solid #a4bed4; - background-position: center 55%; - background-image: url('../imgs/dhxsidebar_skyblue/dhxsidebar_cell_progress.gif'); - background-repeat: no-repeat; - cursor: progress; - z-index: 6; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_menu_def { - border-width: 1px 1px 0px 0px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_toolbar_def div.dhx_toolbar_dhx_skyblue { - border-width: 1px 1px 0px 0px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhxrb_with_itembar.dhxtabbar_base_dhx_skyblue { - margin-left: -1px; - margin-bottom: -1px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhtmlxribbon_dhx_skyblue.dhxrb_without_tabbar { - border-width: 1px 1px 0px 0px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - border-left-width: 0px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_progress_img { - border-left-width: 0px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_cont_sidebar, -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr, -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_menu_def, -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_toolbar_def div.dhx_toolbar_dhx_skyblue, -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhtmlxribbon_dhx_skyblue.dhxrb_without_tabbar, -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - border-left-width: 1px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont.dhxsidebar_autohide { - overflow: hidden; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont.dhxsidebar_autohide div.dhxsidebar_side { - -webkit-transition: left 0.2s; - -moz-transition: left 0.2s; - -ms-transition: left 0.2s; - -o-transition: left 0.2s; - transition: left 0.2s; - box-shadow: 0px 2px 8px rgba(127,127,127,0.4); -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont.dhxsidebar_autohide div.dhxsidebar_arrows { - -webkit-transition: left 0.2s; - -moz-transition: left 0.2s; - -ms-transition: left 0.2s; - -o-transition: left 0.2s; - transition: left 0.2s; - box-shadow: 0px 4px 6px rgba(127,127,127,0.4); -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side_cover { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - overflow: hidden; - background-color: #fff; - z-index: 3; - -webkit-transition: opacity 0.3s; - -moz-transition: opacity 0.3s; - -ms-transition: opacity 0.3s; - -o-transition: opacity 0.3s; - transition: opacity 0.3s; - opacity: 0.0001; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_side_cover.dhxsidebar_side_cover_actv { - opacity: 0.6; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=60); -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_arrows { - position: absolute; - left: 0px; - bottom: 0px; - height: 24px; - border-color: #a4bed4; - border-style: solid; - border-width: 1px 1px 1px 1px; - font-size: 1px; - overflow: hidden; - z-index: 6; - -webkit-tap-highlight-color: rgba(0,0,0,0); - -ms-touch-action: none; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_arrows.dhxsidebar_arrows_hidden { - height: 0px; - border-width: 0px 1px 1px 1px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow { - position: absolute; - width: 50%; - height: 100%; - top: 0px; - font-size: 1px; - overflow: hidden; - z-index: 1; - background-color: #e2efff; - background: linear-gradient(#e2efff,#d3e7ff); - background: -webkit-linear-gradient(#e2efff,#d3e7ff); - filter: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e2efff,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100); -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_left { - left: 0px; - border-right: 1px solid #a4bed4; - z-index: 2; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_left div.dhxsidebar_arrow_image { - background-image: url("../imgs/dhxsidebar_skyblue/dhxsidebar_arrow_up.gif"); -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_right { - right: 0px; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_right div.dhxsidebar_arrow_image { - background-image: url("../imgs/dhxsidebar_skyblue/dhxsidebar_arrow_down.gif"); -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow div.dhxsidebar_arrow_image { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-repeat: no-repeat; - background-position: center center; - font-size: 1px; - overflow: hidden; -} -.dhxsidebar_base_dhx_skyblue div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow:active { - background-color: #d2e7fe; - background: linear-gradient(#d2e7fe,#d3e7ff); - background: -webkit-linear-gradient(#d2e7fe,#d3e7ff); - filter: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#d2e7fe,endColorStr=#d3e7ff) progid:DXImageTransform.Microsoft.Alpha(opacity=100); - box-shadow: 0 0 5px rgba(127,127,127,0.15) inset; -} -.dhxsidebar_base_dhx_skyblue div.dhxcelltop_progress { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: white; - z-index: 3; - opacity: 0.55; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=55); -} -.dhxsidebar_base_dhx_skyblue div.dhxcelltop_progress_img { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-image: url('../imgs/dhxsidebar_skyblue/dhxsidebar_cell_progress.gif'); - background-position: center center; - background-repeat: no-repeat; - z-index: 4; -} -.dhxsidebar_base_dhx_skyblue div.dhxcelltop_hdr { - position: relative; -} -.dhxsidebar_base_dhx_skyblue div.dhxcelltop_ftr { - position: absolute; -} -.dhxsidebar_base_dhx_skyblue div.dhxcelltop_menu { - position: relative; - overflow: hidden; -} -.dhxsidebar_base_dhx_skyblue div.dhxcelltop_toolbar { - position: relative; - background-color: #ebebeb; - padding-bottom: 4px; - overflow: hidden; -} -.dhxsidebar_base_dhx_skyblue div.dhxcelltop_ribbon { - padding-bottom: 4px; - position: relative; -} -.dhxsidebar_base_dhx_skyblue div.dhxcelltop_ribbon div.dhtmlxribbon_dhx_skyblue.dhxrb_without_tabbar { - width: auto; -} -.dhxsidebar_base_dhx_skyblue div.dhxcelltop_statusbar { - position: absolute; - bottom: 0px; - width: 100%; - background-color: #ebebeb; - overflow: hidden; -} -.dhxsidebar_base_dhx_skyblue div.dhxcelltop_statusbar div.dhxcont_statusbar { - position: relative; - margin-top: 4px; - border: 1px solid #a4bed4; - background-color: #ddecff; - padding: 7px 6px; - font-family: Tahoma, Helvetica; - font-size: 11px; - color: black; -} -.dhxsidebar_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 10px; - height: 10px; - overflow: hidden; -} diff --git a/themes/sources4.0/dhtmlxSidebar/codebase/skins/dhtmlxsidebar_dhx_terrace.css b/themes/sources4.0/dhtmlxSidebar/codebase/skins/dhtmlxsidebar_dhx_terrace.css deleted file mode 100644 index 0b2d535..0000000 --- a/themes/sources4.0/dhtmlxSidebar/codebase/skins/dhtmlxsidebar_dhx_terrace.css +++ /dev/null @@ -1,573 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: dhx_terrace - include extra file: skins/dhx_terrace.less -*/ - -.dhxsidebar_base_dhx_terrace { - position: relative; - cursor: default; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont { - position: absolute; - cursor: default; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side { - position: absolute; - left: 0px; - top: 0px; - background-color: #f5f5f5; - border-style: solid; - border-color: #cccccc; - border-width: 1px 1px 0px 1px; - overflow: hidden; - z-index: 5; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - -webkit-tap-highlight-color: rgba(0,0,0,0); -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items { - position: absolute; - width: 100%; - overflow: hidden; - box-sizing: border-box; - -ms-touch-action: none; - -webkit-transition: top 0.2s; - -moz-transition: top 0.2s; - -ms-transition: top 0.2s; - -o-transition: top 0.2s; - transition: top 0.2s; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item { - position: relative; - padding: 0px 10px; - z-index: 1; - cursor: default; - margin: 1px 0px; - background-color: #f5f5f5; - overflow: hidden; - opacity: 1; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100); - font-family: Arial, Helvetica; - font-size: 13px; - color: #333333; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - -ms-touch-action: none; - -webkit-touch-callout: none; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_hidden { - height: 0px !important; - margin: 0px 0px; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item:hover { - background-color: #f0f0f0; - z-index: 2; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_selected { - z-index: 3; - background-color: #fff3a1; - color: black; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon { - position: absolute; - left: 9px; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text { - position: absolute; - left: 0px; - top: 0px; - height: inherit; - line-height: inherit; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_bubble { - position: absolute; - width: 15px; - height: 15px; - line-height: 14px; - right: 5px; - top: 5px; - border-radius: 10px; - background-color: #f5f5f5; - border: 1px solid #333333; - font-family: Tahoma; - font-size: 10px; - text-align: center; - font-weight: normal; - color: #333333; - cursor: default; - overflow: hidden; - z-index: 1; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item:hover div.dhxsidebar_bubble { - background-color: #f0f0f0; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_selected div.dhxsidebar_bubble { - background-color: #fff3a1; - color: black; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_sep { - position: relative; - height: 1px; - margin: 1px 0px; - overflow: hidden; - background-color: #e8e8e8; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_touch div.dhxsidebar_side_items div.dhxsidebar_item:hover { - background-color: #f5f5f5; - z-index: 1; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_touch div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_selected { - z-index: 3; - background-color: #fff3a1; - color: black; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_details div.dhxsidebar_side_items div.dhxsidebar_item { - height: 27px; - line-height: 27px; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_details div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon { - top: 5px; - width: 16px; - height: 16px; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_details div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text { - padding-left: 34px; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item { - height: 47px; - line-height: 47px; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon { - top: 7px; - width: 32px; - height: 32px; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text { - padding-left: 50px; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_bubble { - top: 15px; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons div.dhxsidebar_side_items div.dhxsidebar_item { - height: 47px; - line-height: 47px; - text-align: center; - padding-left: 4px; - padding-right: 4px; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon { - position: relative; - display: inline; - left: 0px; - top: 7px; - width: 32px; - height: 32px; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons_text div.dhxsidebar_side_items div.dhxsidebar_item { - height: 66px; - line-height: 1em; - text-align: center; - padding-left: 4px; - padding-right: 4px; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons_text div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon { - position: relative; - display: inline; - left: 0px; - top: 4px; - width: 32px; - height: 32px; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons_text div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text { - position: relative; - display: block; - height: 16px; - margin-top: 10px; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_text div.dhxsidebar_side_items div.dhxsidebar_item { - height: 27px; - line-height: 27px; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_text div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text { - padding-left: 14px; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar { - position: absolute; - background-color: #ffffff; - margin: 0px; - padding: 0px; - overflow: hidden; - cursor: default; - z-index: 0; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar.dhx_cell_cont_no_top div.dhx_cell_cont_sidebar { - border-top-color: #ffffff; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_cont_sidebar { - position: absolute; - border-style: solid; - border-color: #cccccc; - border-width: 1px 1px 1px 0px; - overflow: hidden; - z-index: 0; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_cont_sidebar.dhx_cell_cont_no_borders { - border-width: 0px; - padding: 0px; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_menu_def { - position: relative; - overflow: hidden; - border-top: 1px solid #cccccc; - border-right: 1px solid #cccccc; - padding: 8px 8px 0px 8px; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_menu_no_borders { - position: relative; - overflow: hidden; - padding-left: 8px; - padding-bottom: 8px; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhtmlxMenu_dhx_terrace_Middle { - padding: 0px 2px; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_toolbar_def { - position: relative; - overflow: hidden; - padding: 8px 8px 0px 8px; - border-top: 1px solid #cccccc; - border-right: 1px solid #cccccc; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_toolbar_no_borders { - padding-left: 8px; - padding-bottom: 8px; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def { - position: relative; - overflow: hidden; - padding: 4px 4px 0px 4px; - border-top: 1px solid #cccccc; - border-right: 1px solid #cccccc; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_dhx_web { - border-width: 0px; - width: auto; - margin: 4px 4px 0px 4px; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhtmlxribbon_dhx_terrace.dhxrb_without_tabbar { - border-width: 0px; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_no_borders { - position: relative; - overflow: hidden; - padding: 0; - padding: 0px 0px 8px 8px; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_no_borders div.dhtmlxribbon_dhx_web.dhxrb_without_tabbar { - width: auto; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_statusbar_def { - position: absolute; - bottom: 0px; - width: 100%; - font-family: Arial, Helvetica; - font-size: 13px; - color: #333333; - background-color: #f5f5f5; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - position: relative; - padding: 0px 4px; - height: 24px; - line-height: 24px; - border-bottom: 1px solid #cccccc; - border-left: 1px solid #cccccc; - border-right: 1px solid #cccccc; - white-space: nowrap; - overflow: hidden; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_progress_bar { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: #ffffff; - opacity: 0.75; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=75); - z-index: 1; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_progress_img { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-image: url('../imgs/dhxsidebar_terrace/dhxsidebar_cell_progress.gif'); - background-position: center center; - background-repeat: no-repeat; - z-index: 2; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr { - position: relative; - background-color: #f5f5f5; - height: 36px; - line-height: 35px; - font-weight: normal; - overflow: hidden; - cursor: default; - z-index: 1; - border: 1px solid #cccccc; - font-family: Arial, Helvetica; - font-size: 13px; - color: #333333; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - -webkit-tap-highlight-color: rgba(0,0,0,0); -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr.dhx_cell_sidebar_hdr_hidden { - border-width: 1px 0px 0px 0px; - height: 0px; - line-height: 0px; - overflow: hidden; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr div.dhx_cell_sidebar_hdr_text { - position: relative; - margin: 0px 10px; - overflow: hidden; - white-space: nowrap; - cursor: default; - text-align: left; - height: 100%; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr div.dhx_cell_sidebar_hdr_text.dhx_cell_sidebar_hdr_text_icon { - margin-left: 34px !important; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr div.dhx_cell_sidebar_hdr_icon { - position: absolute; - top: 0px; - left: 10px; - width: 16px; - height: 100%; - background-image: url("../imgs/dhxsidebar_terrace/dhxsidebar_side_icon.gif"); - background-position: center center; - background-repeat: no-repeat; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_cont_sidebar { - border-left-width: 1px; - border-top-width: 0px; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_cont_sidebar.dhx_cell_cont_no_borders { - border-left-width: 0px; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_menu_def, -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_toolbar_def, -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_ribbon_def { - border-top-width: 0px; - border-left: 1px solid #cccccc; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont.dhxsidebar_autohide { - overflow: hidden; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont.dhxsidebar_autohide div.dhxsidebar_side { - -webkit-transition: left 0.2s; - -moz-transition: left 0.2s; - -ms-transition: left 0.2s; - -o-transition: left 0.2s; - transition: left 0.2s; - box-shadow: 0px 2px 8px rgba(127,127,127,0.4); -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont.dhxsidebar_autohide div.dhxsidebar_arrows { - -webkit-transition: left 0.2s; - -moz-transition: left 0.2s; - -ms-transition: left 0.2s; - -o-transition: left 0.2s; - transition: left 0.2s; - box-shadow: 0px 4px 6px rgba(127,127,127,0.4); -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side_cover { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - overflow: hidden; - background-color: #fff; - z-index: 3; - -webkit-transition: opacity 0.3s; - -moz-transition: opacity 0.3s; - -ms-transition: opacity 0.3s; - -o-transition: opacity 0.3s; - transition: opacity 0.3s; - opacity: 0.0001; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_side_cover.dhxsidebar_side_cover_actv { - opacity: 0.6; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=60); -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_arrows { - position: absolute; - left: 0px; - bottom: 0px; - height: 24px; - border: 1px solid #cccccc; - background-color: #f5f5f5; - font-size: 1px; - overflow: hidden; - z-index: 6; - -webkit-tap-highlight-color: rgba(0,0,0,0); - -ms-touch-action: none; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_arrows.dhxsidebar_arrows_hidden { - height: 0px; - border-width: 0px 1px 1px 1px; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow { - position: absolute; - width: 50%; - height: 100%; - top: 0px; - font-size: 1px; - overflow: hidden; - z-index: 1; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_left { - left: 0px; - border-right: 1px solid #cccccc; - z-index: 2; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_left div.dhxsidebar_arrow_image { - background-image: url("../imgs/dhxsidebar_terrace/dhxsidebar_arrow_up.gif"); -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_right { - right: 0px; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_right div.dhxsidebar_arrow_image { - background-image: url("../imgs/dhxsidebar_terrace/dhxsidebar_arrow_down.gif"); -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow div.dhxsidebar_arrow_image { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-repeat: no-repeat; - background-position: center center; - font-size: 1px; - overflow: hidden; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow:hover { - background-color: #f0f0f0; -} -.dhxsidebar_base_dhx_terrace div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow:active { - background-color: #ebebeb; -} -.dhxsidebar_base_dhx_terrace div.dhxcelltop_progress { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: white; - z-index: 3; - opacity: 0.55; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=55); -} -.dhxsidebar_base_dhx_terrace div.dhxcelltop_progress_img { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-image: url('../imgs/dhxsidebar_terrace/dhxsidebar_cell_progress.gif'); - background-position: center center; - background-repeat: no-repeat; - z-index: 4; -} -.dhxsidebar_base_dhx_terrace div.dhxcelltop_hdr { - position: relative; -} -.dhxsidebar_base_dhx_terrace div.dhxcelltop_ftr { - position: absolute; -} -.dhxsidebar_base_dhx_terrace div.dhxcelltop_menu { - position: relative; - overflow: hidden; - padding-left: 0px; - padding-right: 0px; - padding-bottom: 10px; -} -.dhxsidebar_base_dhx_terrace div.dhxcelltop_toolbar { - position: relative; - padding-bottom: 10px; - overflow: hidden; -} -.dhxsidebar_base_dhx_terrace div.dhxcelltop_toolbar div.dhx_toolbar_dhx_terrace { - padding-left: 0px; - padding-right: 0px; -} -.dhxsidebar_base_dhx_terrace div.dhxcelltop_ribbon { - padding-bottom: 10px; - position: relative; -} -.dhxsidebar_base_dhx_terrace div.dhxcelltop_ribbon div.dhtmlxribbon_dhx_terrace.dhxrb_without_tabbar { - width: auto; -} -.dhxsidebar_base_dhx_terrace div.dhxcelltop_statusbar { - position: absolute; - background-color: #ffffff; - overflow: hidden; -} -.dhxsidebar_base_dhx_terrace div.dhxcelltop_statusbar div.dhxcont_statusbar { - position: relative; - margin-top: 10px; - border: 1px solid #cccccc; - background-color: #f5f5f5; - font-family: Arial, Helvetica; - font-size: 13px; - color: #333333; - padding: 3px 4px; -} -.dhxsidebar_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 30px; - height: 10px; - overflow: hidden; -} diff --git a/themes/sources4.0/dhtmlxSidebar/codebase/skins/dhtmlxsidebar_dhx_web.css b/themes/sources4.0/dhtmlxSidebar/codebase/skins/dhtmlxsidebar_dhx_web.css deleted file mode 100644 index 60b699b..0000000 --- a/themes/sources4.0/dhtmlxSidebar/codebase/skins/dhtmlxsidebar_dhx_web.css +++ /dev/null @@ -1,573 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: dhx_web - include extra file: skins/dhx_web.less -*/ - -.dhxsidebar_base_dhx_web { - position: relative; - cursor: default; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont { - position: absolute; - cursor: default; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side { - position: absolute; - left: 0px; - top: 0px; - background-color: #3da0e3; - border-top: 10px solid #3da0e3; - overflow: hidden; - z-index: 5; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - -webkit-tap-highlight-color: rgba(0,0,0,0); -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items { - position: absolute; - width: 100%; - overflow: hidden; - -ms-touch-action: none; - -webkit-transition: top 0.2s; - -moz-transition: top 0.2s; - -ms-transition: top 0.2s; - -o-transition: top 0.2s; - transition: top 0.2s; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item { - position: relative; - padding: 0px 10px; - z-index: 1; - cursor: default; - margin: 1px 10px; - background-color: #3da0e3; - overflow: hidden; - opacity: 1; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100); - font-family: Tahoma, Helvetica; - font-size: 12px; - color: #ffffff; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - -ms-touch-action: none; - -webkit-touch-callout: none; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_hidden { - height: 0px !important; - margin: 0px 0px; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item:hover { - background-color: #4aa7e5; - z-index: 2; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_selected { - z-index: 3; - background-color: #1e88cf; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon { - position: absolute; - left: 9px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text { - position: absolute; - left: 0px; - top: 0px; - height: inherit; - line-height: inherit; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_bubble { - position: absolute; - width: 15px; - height: 15px; - line-height: 14px; - right: 4px; - top: 4px; - border-radius: 10px; - background-color: #3da0e3; - border: 1px solid #ffffff; - font-family: Tahoma; - font-size: 10px; - text-align: center; - font-weight: normal; - color: #ffffff; - cursor: default; - overflow: hidden; - z-index: 1; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item:hover div.dhxsidebar_bubble { - background-color: #4aa7e5; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_selected div.dhxsidebar_bubble { - background-color: #1e88cf; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_sep { - position: relative; - height: 1px; - margin: 8px 10px; - overflow: hidden; - background-color: #65b4e9; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_touch div.dhxsidebar_side_items div.dhxsidebar_item:hover { - background-color: #3da0e3; - z-index: 1; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_touch div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_selected { - z-index: 3; - background-color: #1e88cf; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_details div.dhxsidebar_side_items div.dhxsidebar_item { - height: 25px; - line-height: 25px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_details div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon { - top: 4px; - width: 16px; - height: 16px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_details div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text { - padding-left: 34px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item { - height: 43px; - line-height: 43px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon { - top: 5px; - width: 32px; - height: 32px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text { - padding-left: 50px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_bubble { - top: 14px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons div.dhxsidebar_side_items div.dhxsidebar_item { - height: 43px; - line-height: 43px; - text-align: center; - padding-left: 4px; - padding-right: 4px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon { - position: relative; - display: inline; - left: 0px; - top: 5px; - width: 32px; - height: 32px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons_text div.dhxsidebar_side_items div.dhxsidebar_item { - height: 62px; - line-height: 1em; - text-align: center; - padding-left: 4px; - padding-right: 4px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons_text div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon { - position: relative; - display: inline; - left: 0px; - top: 4px; - width: 32px; - height: 32px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons_text div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text { - position: relative; - display: block; - height: 16px; - margin-top: 10px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_text div.dhxsidebar_side_items div.dhxsidebar_item { - height: 23px; - line-height: 23px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_text div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text { - padding-left: 14px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_text div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_bubble { - top: 3px; - right: 3px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar { - position: absolute; - background-color: white; - margin: 0px; - padding: 0px; - overflow: hidden; - cursor: default; - z-index: 0; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar.dhx_cell_cont_no_top div.dhx_cell_cont_sidebar { - border-top-color: #ffffff; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_cont_sidebar { - position: absolute; - border-style: solid; - border-color: #c7c7c7; - border-width: 1px 1px 1px 0px; - padding: 8px; - overflow: hidden; - z-index: 0; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_cont_sidebar.dhx_cell_cont_no_borders { - border-width: 0px; - padding: 0px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_progress_bar { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: #ffffff; - z-index: 1; - opacity: 0.75; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=75); -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_progress_img { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-image: url('../imgs/dhxsidebar_web/dhxsidebar_cell_progress.gif'); - background-position: center center; - background-repeat: no-repeat; - z-index: 2; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_menu_def { - position: relative; - overflow: hidden; - border-top: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; - padding: 8px 8px 0px 8px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_menu_no_borders { - position: relative; - overflow: hidden; - padding-left: 8px; - padding-bottom: 8px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhtmlxMenu_dhx_web_Middle { - padding: 0px 2px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_toolbar_def { - position: relative; - overflow: hidden; - padding: 8px 8px 0px 8px; - border-top: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_toolbar_no_borders { - padding-left: 8px; - padding-bottom: 8px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def { - position: relative; - overflow: hidden; - padding: 4px 4px 0px 4px; - border-top: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_dhx_web { - border-width: 0px; - width: auto; - margin: 4px 4px 0px 4px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhtmlxribbon_dhx_web.dhxrb_without_tabbar { - border-width: 0px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_no_borders { - position: relative; - overflow: hidden; - padding: 0px 0px 8px 8px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_no_borders div.dhtmlxribbon_dhx_web.dhxrb_without_tabbar { - width: auto; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_statusbar_def { - position: absolute; - bottom: 0px; - width: 100%; - font-family: Tahoma, Helvetica; - font-size: 12px; - color: #000000; - background-color: #f4f4f4; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - position: relative; - padding: 0px 4px; - height: 24px; - line-height: 25px; - border-bottom: 1px solid #c7c7c7; - border-left: 1px solid #c7c7c7; - border-right: 1px solid #c7c7c7; - white-space: nowrap; - overflow: hidden; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr { - position: relative; - background-color: #2589ce; - height: 32px; - line-height: 30px; - font-weight: normal; - overflow: hidden; - cursor: default; - z-index: 1; - font-family: Tahoma, Helvetica; - font-size: 12px; - color: #ffffff; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - -webkit-tap-highlight-color: rgba(0,0,0,0); -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr.dhx_cell_sidebar_hdr_hidden { - border-top: 1px solid #c7c7c7; - height: 0px; - line-height: 0px; - overflow: hidden; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr div.dhx_cell_sidebar_hdr_text { - position: relative; - margin: 0px 10px; - overflow: hidden; - white-space: nowrap; - cursor: default; - text-align: left; - height: 100%; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr div.dhx_cell_sidebar_hdr_text.dhx_cell_sidebar_hdr_text_icon { - margin-left: 34px !important; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr div.dhx_cell_sidebar_hdr_icon { - position: absolute; - top: 0px; - left: 10px; - width: 16px; - height: 100%; - background-image: url("../imgs/dhxsidebar_web/dhxsidebar_side_icon.gif"); - background-position: center center; - background-repeat: no-repeat; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_cont_sidebar { - border-left-width: 1px; - border-top-width: 0px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_cont_sidebar.dhx_cell_cont_no_borders { - border-left-width: 0px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_menu_def, -.dhxsidebar_base_dhx_web div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_toolbar_def, -.dhxsidebar_base_dhx_web div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_ribbon_def { - border-top-width: 0px; - border-left: 1px solid #c7c7c7; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_toolbar_no_borders { - padding: 0px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont.dhxsidebar_autohide { - overflow: hidden; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont.dhxsidebar_autohide div.dhxsidebar_side { - -webkit-transition: left 0.2s; - -moz-transition: left 0.2s; - -ms-transition: left 0.2s; - -o-transition: left 0.2s; - transition: left 0.2s; - box-shadow: 0px 2px 8px rgba(127,127,127,0.4); -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont.dhxsidebar_autohide div.dhxsidebar_arrows { - -webkit-transition: left 0.2s; - -moz-transition: left 0.2s; - -ms-transition: left 0.2s; - -o-transition: left 0.2s; - transition: left 0.2s; - box-shadow: 0px 4px 6px rgba(127,127,127,0.4); -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side_cover { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - overflow: hidden; - background-color: #fff; - z-index: 3; - -webkit-transition: opacity 0.3s; - -moz-transition: opacity 0.3s; - -ms-transition: opacity 0.3s; - -o-transition: opacity 0.3s; - transition: opacity 0.3s; - opacity: 0.0001; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_side_cover.dhxsidebar_side_cover_actv { - opacity: 0.6; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=60); -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_arrows { - position: absolute; - left: 0px; - bottom: 0px; - height: 24px; - border-color: #3da0e3; - border-style: solid; - border-width: 10px 0px 0px 0px; - background-color: #3da0e3; - font-size: 1px; - overflow: hidden; - z-index: 6; - -webkit-tap-highlight-color: rgba(0,0,0,0); - -ms-touch-action: none; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_arrows.dhxsidebar_arrows_hidden { - height: 0px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_arrows.dhxsidebar_arrows_hidden div.dhxsidebar_arrow { - display: none; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow { - position: absolute; - width: 50%; - height: 100%; - top: 0px; - font-size: 1px; - overflow: hidden; - z-index: 1; - border-top: 1px solid #c7c7c7; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_left { - left: 0px; - border-right: 1px solid #c7c7c7; - z-index: 2; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_left div.dhxsidebar_arrow_image { - background-image: url("../imgs/dhxsidebar_web/dhxsidebar_arrow_up.gif"); -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_right { - right: 0px; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_right div.dhxsidebar_arrow_image { - background-image: url("../imgs/dhxsidebar_web/dhxsidebar_arrow_down.gif"); -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow div.dhxsidebar_arrow_image { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-repeat: no-repeat; - background-position: center center; - font-size: 1px; - overflow: hidden; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow:hover { - background-color: #46a4e4; -} -.dhxsidebar_base_dhx_web div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow:active { - background-color: #349ce2; -} -.dhxsidebar_base_dhx_web div.dhxcelltop_hdr { - position: relative; -} -.dhxsidebar_base_dhx_web div.dhxcelltop_ftr { - position: absolute; -} -.dhxsidebar_base_dhx_web div.dhxcelltop_progress { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: white; - z-index: 3; - opacity: 0.55; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=55); -} -.dhxsidebar_base_dhx_web div.dhxcelltop_progress_img { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-image: url('../imgs/dhxsidebar_web/dhxsidebar_cell_progress.gif'); - background-position: center center; - background-repeat: no-repeat; - z-index: 4; -} -.dhxsidebar_base_dhx_web div.dhxcelltop_menu { - position: relative; - overflow: hidden; - border-bottom: 9px solid #ffffff; -} -.dhxsidebar_base_dhx_web div.dhxcelltop_toolbar { - position: relative; - background-color: #ffffff; - padding-bottom: 9px; - overflow: hidden; -} -.dhxsidebar_base_dhx_web div.dhxcelltop_ribbon { - position: relative; - border-bottom: 9px solid #ffffff; -} -.dhxsidebar_base_dhx_web div.dhxcelltop_ribbon div.dhtmlxribbon_dhx_web.dhxrb_without_tabbar { - width: auto; -} -.dhxsidebar_base_dhx_web div.dhxcelltop_statusbar { - position: absolute; - overflow: hidden; - background-color: #ffffff; -} -.dhxsidebar_base_dhx_web div.dhxcelltop_statusbar div.dhxcont_statusbar { - position: relative; - background-color: #f4f4f4; - margin-top: 9px; - border: 1px solid #c7c7c7; - padding: 3px 4px; - font-family: Tahoma, Helvetica; - font-size: 12px; - color: #000000; -} -.dhxsidebar_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 20px; - height: 10px; - overflow: hidden; -} diff --git a/themes/sources4.0/dhtmlxSidebar/codebase/skins/dhtmlxsidebar_material.css b/themes/sources4.0/dhtmlxSidebar/codebase/skins/dhtmlxsidebar_material.css deleted file mode 100644 index a9d8f0a..0000000 --- a/themes/sources4.0/dhtmlxSidebar/codebase/skins/dhtmlxsidebar_material.css +++ /dev/null @@ -1,727 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: material - include extra file: skins/material.less -*/ - -@keyframes dhx_loader_rotate { - 100% { - transform: rotate(360deg); - } -} -@keyframes dhx_loader_dash { - 0% { - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - } - 50% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -35px; - } - 100% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -124px; - } -} -.dhxsidebar_base_material { - position: relative; - cursor: default; -} -.dhxsidebar_base_material div.dhxsidebar_cont { - position: absolute; - cursor: default; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side { - position: absolute; - left: 0px; - top: 0px; - background-color: #fafafa; - border-style: solid; - border-color: #dfdfdf; - border-width: 1px 1px 0px 1px; - overflow: hidden; - z-index: 5; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - -webkit-tap-highlight-color: rgba(0,0,0,0); -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items { - position: absolute; - width: 100%; - overflow: hidden; - box-sizing: border-box; - -ms-touch-action: none; - -webkit-transition: top 0.2s; - -moz-transition: top 0.2s; - -ms-transition: top 0.2s; - -o-transition: top 0.2s; - transition: top 0.2s; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item { - position: relative; - padding: 0px 10px; - z-index: 1; - cursor: default; - margin: 1px 0px; - background-color: #fafafa; - overflow: hidden; - opacity: 1; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; - -ms-touch-action: none; - -webkit-touch-callout: none; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_hidden { - height: 0px !important; - margin: 0px 0px; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item:hover { - background-color: #f5f5f5; - z-index: 2; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_selected { - z-index: 3; - background-color: #ebebeb; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon { - position: absolute; - left: 9px; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text { - position: absolute; - left: 0px; - top: 0px; - height: inherit; - line-height: inherit; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_bubble { - position: absolute; - width: 15px; - height: 15px; - line-height: 14px; - right: 5px; - top: 5px; - border-radius: 10px; - background-color: #fafafa; - border: 1px solid #3399cc; - font-family: Tahoma; - font-size: 10px; - text-align: center; - font-weight: normal; - color: #3399cc; - cursor: default; - overflow: hidden; - z-index: 1; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item:hover div.dhxsidebar_bubble { - background-color: #f5f5f5; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_selected div.dhxsidebar_bubble { - background-color: #ebebeb; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side div.dhxsidebar_side_items div.dhxsidebar_sep { - position: relative; - height: 1px; - margin: 1px 0px; - overflow: hidden; - background-color: #ededed; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_touch div.dhxsidebar_side_items div.dhxsidebar_item:hover { - background-color: #fafafa; - z-index: 1; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_touch div.dhxsidebar_side_items div.dhxsidebar_item.dhxsidebar_item_selected { - z-index: 3; - background-color: #ebebeb; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_details div.dhxsidebar_side_items div.dhxsidebar_item { - height: 27px; - line-height: 27px; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_details div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon { - top: 5px; - width: 16px; - height: 16px; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_details div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text { - padding-left: 34px; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item { - height: 47px; - line-height: 47px; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon { - top: 7px; - width: 32px; - height: 32px; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text { - padding-left: 50px; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_tiles div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_bubble { - top: 15px; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons div.dhxsidebar_side_items div.dhxsidebar_item { - height: 47px; - line-height: 47px; - text-align: center; - padding-left: 4px; - padding-right: 4px; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon { - position: relative; - display: inline; - left: 0px; - top: 7px; - width: 32px; - height: 32px; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons_text div.dhxsidebar_side_items div.dhxsidebar_item { - height: 66px; - line-height: 1em; - text-align: center; - padding-left: 4px; - padding-right: 4px; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons_text div.dhxsidebar_side_items div.dhxsidebar_item img.dhxsidebar_item_icon { - position: relative; - display: inline; - left: 0px; - top: 4px; - width: 32px; - height: 32px; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_icons_text div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text { - position: relative; - display: block; - height: 16px; - margin-top: 10px; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_text div.dhxsidebar_side_items div.dhxsidebar_item { - height: 27px; - line-height: 27px; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side.dhxsidebar_tpl_text div.dhxsidebar_side_items div.dhxsidebar_item div.dhxsidebar_item_text { - padding-left: 14px; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar { - position: absolute; - background-color: white; - margin: 0px; - padding: 0px; - overflow: hidden; - cursor: default; - z-index: 0; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_cover { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - margin: 0px; - padding: 0px; - font-size: 1px; - background-color: white; - overflow: hidden; - z-index: 1; - opacity: 0; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_progress_bar { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: white; - z-index: 1; - opacity: 0.75; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=75); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_progress_img { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - border: 1px solid #e4e4e4; - background-image: url('../imgs/dhxsidebar_material/dhxsidebar_cell_progress.gif'); - background-position: center center; - background-repeat: no-repeat; - z-index: 2; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_progress_svg { - border: 1px solid #e4e4e4; - z-index: 2; - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_progress_svg .dhx_cell_prsvg { - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - margin: auto; - width: 50px; - height: 50px; - animation: dhx_loader_rotate 2s linear infinite; - transform-origin: center center; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_progress_svg .dhx_cell_prsvg .dhx_cell_prcircle { - fill: none; - stroke: #3399cc; - stroke-width: 2; - stroke-miterlimit: 10; - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - stroke-linecap: round; - animation: dhx_loader_dash 1.5s ease-in-out infinite; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_menu_def { - position: relative; - overflow: hidden; - border-style: solid; - border-width: 0px 1px 1px 1px; - border-color: #dfdfdf; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_toolbar_def { - position: relative; - overflow: hidden; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_toolbar_def .dhx_toolbar_material { - border-width: 0px 1px 1px 1px; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def { - position: relative; - overflow: hidden; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material { - border-top-width: 0px; - margin-top: -1px; - width: auto; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhtmlxribbon_material.dhxrb_without_tabbar { - border-top-width: 0px; - width: auto; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_statusbar_def { - position: absolute; - bottom: 0px; - width: 100%; - background-color: #fafafa; - z-index: 1; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - position: relative; - font: inherit; - height: 30px; - line-height: 30px; - border-style: solid; - border-width: 0px 1px 1px 1px; - border-color: #dfdfdf; - white-space: nowrap; - overflow: hidden; - padding: 0px 12px; - color: #737373; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_menu_def, -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_toolbar_def .dhx_toolbar_material, -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhtmlxribbon_material.dhxrb_without_tabbar { - border-width: 1px 1px 0px 0px; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material { - border-width: 1px 1px 0px 0px; - margin-top: 0px; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material div.dhxtabbar_tabs { - border-left-width: 0px; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material div.dhxtabbar_tabs_top div.dhx_cell_tabbar div.dhx_cell_cont_tabbar { - border-width: 0px 1px 0px 0px; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - border-left-width: 0px; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_progress_img { - border-left-width: 0px; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar.dhx_cell_cont_no_top div.dhx_cell_cont_sidebar { - border-top-color: white; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_cont_sidebar { - position: absolute; - border-style: solid; - border-color: #dfdfdf; - border-width: 1px 1px 1px 0px; - overflow: hidden; - z-index: 0; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_cont_sidebar.dhx_cell_cont_no_borders { - border-width: 0px; - padding: 0px; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr { - position: relative; - background-color: #fafafa; - height: 36px; - line-height: 35px; - font-weight: normal; - overflow: hidden; - cursor: default; - z-index: 1; - border-style: solid; - border-color: #dfdfdf; - border-width: 1px 1px 0px 0px; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - -webkit-tap-highlight-color: rgba(0,0,0,0); -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr.dhx_cell_sidebar_hdr_hidden { - border-width: 1px 0px 0px 0px; - height: 0px; - line-height: 0px; - overflow: hidden; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr div.dhx_cell_sidebar_hdr_text { - position: relative; - margin: 0px 10px; - overflow: hidden; - white-space: nowrap; - cursor: default; - text-align: left; - height: 100%; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr div.dhx_cell_sidebar_hdr_text.dhx_cell_sidebar_hdr_text_icon { - margin-left: 34px !important; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr div.dhx_cell_sidebar_hdr_icon { - position: absolute; - top: 0px; - left: 10px; - width: 16px; - height: 100%; - background-image: url("../imgs/dhxsidebar_material/dhxsidebar_side_icon.gif"); - background-position: center center; - background-repeat: no-repeat; -} -.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_sidebar_hdr { - border-left-width: 1px; -} -.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_cont_sidebar { - border-left-width: 1px; -} -.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_cont_sidebar.dhx_cell_cont_no_borders { - border-left-width: 0px; -} -.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_menu_def, -.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_toolbar_def .dhx_toolbar_material, -.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhtmlxribbon_material.dhxrb_without_tabbar, -.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_statusbar_def div.dhx_cell_statusbar_text { - border-left-width: 1px; -} -.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material div.dhxtabbar_tabs { - border-left-width: 1px; -} -.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide div.dhx_cell_sidebar div.dhx_cell_ribbon_def div.dhxrb_with_tabbar.dhxtabbar_base_material div.dhxtabbar_tabs_top div.dhx_cell_tabbar div.dhx_cell_cont_tabbar { - border-left-width: 1px; -} -.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide { - overflow: hidden; -} -.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide div.dhxsidebar_side { - -webkit-transition: left 0.2s; - -moz-transition: left 0.2s; - -ms-transition: left 0.2s; - -o-transition: left 0.2s; - transition: left 0.2s; - box-shadow: 0px 2px 8px rgba(127,127,127,0.4); -} -.dhxsidebar_base_material div.dhxsidebar_cont.dhxsidebar_autohide div.dhxsidebar_arrows { - -webkit-transition: left 0.2s; - -moz-transition: left 0.2s; - -ms-transition: left 0.2s; - -o-transition: left 0.2s; - transition: left 0.2s; - box-shadow: 0px 4px 6px rgba(127,127,127,0.4); -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side_cover { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - overflow: hidden; - background-color: #fff; - z-index: 3; - -webkit-transition: opacity 0.3s; - -moz-transition: opacity 0.3s; - -ms-transition: opacity 0.3s; - -o-transition: opacity 0.3s; - transition: opacity 0.3s; - opacity: 0.0001; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0); -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_side_cover.dhxsidebar_side_cover_actv { - opacity: 0.6; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=60); -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_arrows { - position: absolute; - left: 0px; - bottom: 0px; - height: 24px; - border: 1px solid #dfdfdf; - background-color: #fafafa; - font-size: 1px; - overflow: hidden; - z-index: 6; - -webkit-tap-highlight-color: rgba(0,0,0,0); - -ms-touch-action: none; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_arrows.dhxsidebar_arrows_hidden { - height: 0px; - border-width: 0px 1px 1px 1px; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow { - position: absolute; - width: 50%; - height: 100%; - top: 0px; - font-size: 1px; - overflow: hidden; - z-index: 1; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_left { - left: 0px; - border-right: 1px solid #dfdfdf; - z-index: 2; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_left div.dhxsidebar_arrow_image { - background-image: url("../imgs/dhxsidebar_material/dhxsidebar_arrow_up.gif"); -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_right { - right: 0px; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow.dhxsidebar_arrow_right div.dhxsidebar_arrow_image { - background-image: url("../imgs/dhxsidebar_material/dhxsidebar_arrow_down.gif"); -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow div.dhxsidebar_arrow_image { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-repeat: no-repeat; - background-position: center center; - font-size: 1px; - overflow: hidden; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow:hover { - background-color: #f5f5f5; -} -.dhxsidebar_base_material div.dhxsidebar_cont div.dhxsidebar_arrows div.dhxsidebar_arrow:active { - background-color: #f0f0f0; -} -.dhxsidebar_base_material div.dhxcelltop_hdr { - position: relative; -} -.dhxsidebar_base_material div.dhxcelltop_ftr { - position: absolute; -} -.dhxsidebar_base_material div.dhxcelltop_progress { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-color: white; - z-index: 3; - opacity: 0.55; - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=55); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxsidebar_base_material div.dhxcelltop_progress_img { - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - background-image: url('../imgs/dhxsidebar_material/dhxsidebar_cell_progress.gif'); - background-position: center center; - background-repeat: no-repeat; - z-index: 4; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxsidebar_base_material div.dhxcelltop_progress_svg { - z-index: 4; - position: absolute; - left: 0px; - top: 0px; - width: 100%; - height: 100%; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhxsidebar_base_material div.dhxcelltop_progress_svg .dhx_cell_prsvg { - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - margin: auto; - width: 50px; - height: 50px; - animation: dhx_loader_rotate 2s linear infinite; - transform-origin: center center; -} -.dhxsidebar_base_material div.dhxcelltop_progress_svg .dhx_cell_prsvg .dhx_cell_prcircle { - fill: none; - stroke: #3399cc; - stroke-width: 2; - stroke-miterlimit: 10; - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - stroke-linecap: round; - animation: dhx_loader_dash 1.5s ease-in-out infinite; -} -.dhxsidebar_base_material div.dhxcelltop_menu { - position: relative; - overflow: hidden; - border-width: 1px 1px 0px 1px; - border-style: solid; - border-color: #dfdfdf; -} -.dhxsidebar_base_material div.dhxcelltop_toolbar { - position: relative; - overflow: hidden; -} -.dhxsidebar_base_material div.dhxcelltop_toolbar div.dhx_toolbar_material { - border-width: 1px 1px 0px 1px; -} -.dhxsidebar_base_material div.dhxcelltop_ribbon { - position: relative; - overflow: hidden; -} -.dhxsidebar_base_material div.dhxcelltop_ribbon div.dhtmlxribbon_material.dhxrb_without_tabbar { - border-bottom-width: 0px; - width: auto; -} -.dhxsidebar_base_material div.dhxcelltop_ribbon div.dhtmlxribbon_material div.dhxrb_with_tabbar.dhxtabbar_base_material div.dhxtabbar_tabs_top div.dhx_cell_tabbar div.dhx_cell_cont_tabbar { - border-bottom-width: 0px; -} -.dhxsidebar_base_material div.dhxcelltop_statusbar { - position: absolute; - overflow: hidden; - background-color: #fafafa; - font-size: 14px; - font-family: Roboto, Arial, Helvetica; - color: #404040; -} -.dhxsidebar_base_material div.dhxcelltop_statusbar div.dhxcont_statusbar { - position: relative; - background-color: #fafafa; - font: inherit; - height: 30px; - line-height: 30px; - border-width: 0px 1px 1px 1px; - border-style: solid; - border-color: #dfdfdf; - padding: 0px 12px; - color: #737373; - white-space: nowrap; - overflow: hidden; -} -.dhxsidebar_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 40px; - height: 10px; - overflow: hidden; -} diff --git a/themes/sources4.0/dhtmlxSlider/codebase/dhtmlxslider.js b/themes/sources4.0/dhtmlxSlider/codebase/dhtmlxslider.js deleted file mode 100644 index 900cb1d..0000000 --- a/themes/sources4.0/dhtmlxSlider/codebase/dhtmlxslider.js +++ /dev/null @@ -1,669 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -function dhtmlXSlider(data) { - - var that = this; - - this.conf = { - size: null, - skin: null, - vertical: false, - min: 0, - max: 99, - value: 0, - step: 1, - margin: 2, - border: 1, - disabled: false, - tooltip: false, - visible: true, - linkTo: undefined - }; - - this._attachedNode = {}; - - this.base = null; - - var movingInitialValues = null; - - if (arguments.length > 1) { // init by arguments - return new dhtmlXSlider(this._renderArgumets(arguments)); - }else if (typeof(data) == "string" || (typeof(data) == "object" && data.tagName)) { // init by node - return new dhtmlXSlider({parent: data}); - } - - if (typeof(data.parent) == "string") { - this.base = document.getElementById(data.parent); - } else { - this.base = data.parent; - } - - this._mergeConfig(this._readAttFormNode(this.base)); - this._mergeConfig(data); - - if (this.conf.size == null || this.conf.size == undefined) { - if (this.conf.vertical) { - this.conf.size = this.base.offsetHeight; - } else { - this.conf.size = this.base.offsetWidth; - } - } - - var skin = this.conf.skin || window.dhx4.skin || (typeof(dhtmlx)!== "undefined"? dhtmlx.skin: null) || window.dhx4.skinDetect("dhxslider") || "dhx_skyblue"; - - this.setSkin(skin); - - this.base.innerHTML = "
              "+ - "
              "+ - "
              "+ - "
              "; - - this._nodes = { - cont: this.base.firstChild, - track: this.base.firstChild.firstChild, - runner: this.base.firstChild.childNodes[1] - }; - - this._nodes.cont.onmousedown = - this._nodes.track.onmousedown = - this._nodes.cont.onselectstart = - this._nodes.track.onselectstart = function(e) { - e = e || event; - if (typeof(e.preventDefault) == "function") { - e.preventDefault(); - } else { - e.returnValue = false; - } - return false; - }; - - this.conf.value = this._normalize(this.conf.value); - this._setOrient(this.conf.vertical); - this.setSize(this.conf.size); - - // events start - - this._initMover = function(e) { - - e = e || event; - - movingInitialValues = {}; - movingInitialValues.value = that.conf.value; - movingInitialValues.coord = (that.conf.vertical)? e.clientY: e.clientX; - - if (that.conf.disabled == false) { - if (typeof(window.addEventListener) == "function") { - window.addEventListener("mousemove", that._move, false); - window.addEventListener("mouseup", that._cleanMove, false); - } else { - document.body.attachEvent("onmousemove", that._move); - document.body.attachEvent("onmouseup", that._cleanMove); - } - } - that.callEvent("_onRunnerMouseDown",[]); - return false; - }; - - this._move = function(e) { - - e = e || event; - - var runner = (that.conf.vertical)? that._nodes.runner.offsetHeight: that._nodes.runner.offsetWidth; - var rang = that.conf.max - that.conf.min; - var n_cord = (that.conf.vertical)? e.clientY: e.clientX; - var new_value = movingInitialValues.value + (n_cord - movingInitialValues.coord)*rang/(that.conf.size - runner); - - that.setValue(Math.round(new_value), true); - }; - - this._cleanMove = function(e) { - if (typeof(window.addEventListener) == "function") { - window.removeEventListener("mousemove", that._move, false); - window.removeEventListener("mouseup", that._cleanMove, false); - } else { - document.body.detachEvent("onmousemove", that._move); - document.body.detachEvent("onmouseup", that._cleanMove); - } - movingInitialValues = null; - that.callEvent("onSlideEnd", [that.conf.value]); - that.callEvent("_onRunnerMouseUp",[]); - }; - - this._doOnSetValue = function(e) { - - if (movingInitialValues) return false; - - e = e || event; - - var n_coord = (that.conf.vertical)? (e.offsetY || e.layerY): (e.offsetX || e.layerX); - var runner = (that.conf.vertical)? that._nodes.runner.offoffsetHeightsetHe: that._nodes.runner.offsetWidth; - var rang = that.conf.max - that.conf.min; - - var new_value = n_coord*rang/(that.conf.size) + that.conf.min; - - that.setValue(Math.round(new_value), true); - - if (!movingInitialValues) that._initMover(e); - - return false; - }; - - this._doOnChangeInput = function(e) { - e = e || event; - var target = e.target || e.srcElement; - that.setValue(target.value); - }; - - this._doOnKeyDown = function(e) { - e = e || event; - var target = e.target || e.srcElement; - if (e.keyCode == 13) that.setValue(target.value); - }; - - // events end - - this._attachEvents(this._nodes); - - this.unload = function() { - - dhx4._eventable(this, "clear"); - - this._detachNode(); - this._detachEvents(this._nodes); - - this.base.removeChild(this._nodes.cont); - - this._nodes.cont.onmousedown = - this._nodes.track.onmousedown = - this._nodes.cont.onselectstart = - this._nodes.track.onselectstart = null; - - delete this._nodes.cont; - delete this._nodes.track; - delete this._nodes.max; - delete this._nodes.min; - delete this._nodes.runner; - - if (/\s?dhtmlxslider_\S*/.test(this.base.className)) { - this.base.className = this.base.className.replace(/\s?dhtmlxslider_\S*/, ""); - } - - for (var key in this) this[key] = null; - - that = null; - }; - - dhx4._eventable(this); - - if (this.conf.disabled) { - this.disable(); - } - - if (this.conf.tooltip) { - this.enableTooltip(); - } - - if (!this.conf.visible) { - this.hide(); - } - - if (this.conf.linkTo) { - this.linkTo(this.conf.linkTo); - } - - return this; - -}; - -dhtmlXSlider.prototype._setOrient = function(vertical) { - vertical = vertical || false; - - if (/\s?dhxsl_cont_hr/i.test(this._nodes.cont.className)) { - this._nodes.cont.className = this._nodes.cont.className.replace(/\s?dhxsl_cont_hr/i, ""); - } - - if (/\s?dhxsl_cont_vr/i.test(this._nodes.cont.className)) { - this._nodes.cont.className = this._nodes.cont.className.replace(/\s?dhxsl_cont_vr/i, ""); - } - - if (vertical) { - this._nodes.cont.className += " dhxsl_cont_vr"; - } else { - this._nodes.cont.className += " dhxsl_cont_hr"; - } -}; - -dhtmlXSlider.prototype._attachEvents = function(nodes) { - if (typeof(window.addEventListener) == "function") { - nodes.runner.addEventListener("mousedown", this._initMover, false); - nodes.cont.addEventListener("mousedown", this._doOnSetValue, false); - } else { - nodes.runner.attachEvent("onmousedown", this._initMover); - nodes.cont.attachEvent("onmousedown", this._doOnSetValue); - } -}; - -dhtmlXSlider.prototype._detachEvents = function(nodes) { - if (typeof(window.addEventListener) == "function") { - nodes.runner.removeEventListener("mousedown", this._initMover, false); - nodes.cont.removeEventListener("mousedown", this._doOnSetValue, false); - } else { - nodes.runner.detachEvent("onmousedown", this._initMover); - nodes.cont.detachEvent("onmousedown", this._doOnSetValue); - } -}; - -dhtmlXSlider.prototype._mergeConfig = function(data) { - for (var key in data) { - switch (key.toLowerCase()) { - case "size": - case "min": - case "max": - case "value": - case "step": - this.conf[key] = parseInt(data[key]); - break; - case "vertical": - case "tooltip": - case "disabled": - case "visible": - this.conf[key] = dhx4.s2b(data[key]); - break; - case "parent": - continue; - break; - default: - this.conf[key] = data[key]; - } - } -}; - -dhtmlXSlider.prototype._readAttFormNode = function(node) { - var atts = node.attributes, l = atts.length, i, answer = {}, att; - - for (i=0; i=0; i--) { - if (arr[i] == el) { - answer = i; - break; - } - } - - return answer; -}; - -dhtmlXSlider.prototype._refreshRunner = function() { - var cmax, cp; - - if (this.conf.vertical) { - cmax = this._nodes.cont.offsetHeight - this._nodes.runner.offsetHeight; - cp = this._getCoord(cmax); - - this._nodes.runner.style.top = cp + this.conf.border + "px"; - this._nodes.runner.style.left = Math.round((this._nodes.cont.offsetWidth - this._nodes.runner.offsetWidth)/2) + "px"; - - }else { - cmax = this._nodes.cont.offsetWidth - this._nodes.runner.offsetWidth; - cp = this._getCoord(cmax); - - this._nodes.runner.style.left = cp + this.conf.border + "px"; - this._nodes.runner.style.top = Math.round((this._nodes.cont.offsetHeight - this._nodes.runner.offsetHeight)/2) + "px"; - } -}; - -dhtmlXSlider.prototype._setValueByCoord = function(data) { - var cx = dhx4.absLeft(this._nodes.cont), - cy = dhx4.absTop(this._nodes.cont), - value, k; - - if (this.conf.vertical) { - k = (data.y - cy - this._nodes.runner.offsetHeight/2)/(this._nodes.cont.offsetHeight - this._nodes.runner.offsetHeight); - } else { - k = (data.x - cx - this._nodes.runner.offsetWidth/2)/(this._nodes.cont.offsetWidth - this._nodes.runner.offsetWidth); - } - - value = Math.round((this.conf.max-this.conf.min)*k+this.conf.min); - - this.setValue(value, true); -}; - -dhtmlXSlider.prototype._getCoord = function(max) { - var conf = this.conf; - var k = (conf.value-conf.min)/(conf.max - conf.min); - - return Math.round(max*k); -}; - -dhtmlXSlider.prototype._normalize = function(value) { - value = parseInt(value); - return Math.round(value/this.conf.step)*this.conf.step; -}; - -dhtmlXSlider.prototype._attachNode = function(node) { - var tagName = node.tagName.toLowerCase(); - if (!tagName) return; - - this._attachedNode.node = node; - - switch (tagName) { - case "input": - if (typeof(window.addEventListener) == "function") { - node.addEventListener("change", this._doOnChangeInput, false); - node.addEventListener("keydown", this._doOnKeyDown, false); - } else { - node.attachEvent("onchange", this._doOnChangeInput); - node.attachEvent("onkeydown", this._doOnKeyDown); - } - - this._attachedNode.setValue = function(value) { - node.value = value; - }; - break; - default: - this._attachedNode.setValue = function(value) { - node.innerHTML = value; - }; - } - - this._attachedNode.setValue(this.conf.value); -}; - -dhtmlXSlider.prototype._detachNode = function() { - var node = this._attachedNode.node; - - if (!node) { - return; - } - - var tagName = node.tagName; - - switch (tagName) { - case "input": - if (typeof(window.addEventListener) == "function") { - node.removeEventListener("change", this._doOnChangeInput, false); - node.removeEventListener("keydown", this._doOnChangeInput, false); - } else { - node.detachEvent("change", this._doOnChangeInput); - node.detachEvent("keydown", this._doOnChangeInput); - } - break; - } - - delete this._attachedNode.node; - delete this._attachedNode.setValue; -}; - - - -dhtmlXSlider.prototype.setSize = function(value) { - value = parseInt(value); - if (!isNaN(value)) { - if (this.conf.vertical) { - if (this._nodes.cont.style.width) delete this._nodes.cont.style.width; - this._nodes.cont.style.height = value-this.conf.margin + "px"; - } else { - if (this._nodes.cont.style.height) delete this._nodes.cont.style.height; - this._nodes.cont.style.width = value-this.conf.margin + "px"; - } - - this._refreshRunner(); - } -}; - -dhtmlXSlider.prototype.setSkin = function (skin) { - skin = skin.toLowerCase(); - - var classes, _int = -1, skinName, className="dhtmlxslider"; - - classes = this.base.className.match(/\S\w+/ig); - - if (classes instanceof Array) { - for (skinName in this._skinCollection) { - if (_int == -1) { - _int = this._indexOf(classes, className + "_" + skinName); - } else { - break; - } - } - - _int = (_int == -1)? classes.length: _int; - } else { - classes = []; - _int = 0; - } - - - - classes[_int] = className + "_" + skin; - - this.base.className = classes.join(" "); - this.conf.skin = skin; - - if (this._nodes) this._refreshRunner(); -}; - -dhtmlXSlider.prototype.setValue = function(value, callEvent) { - value = parseInt(value); - callEvent = callEvent || false; - - if (!isNaN(value)) { - value = this._normalize(value); - value = Math.max(this.conf.min, value); - value = Math.min(this.conf.max, value); - if (this.conf.value !== value) { - this.conf.value = value; - this._refreshRunner(); - - if (this.conf.tooltip) this._nodes.cont.title = this.conf.value; - - if (callEvent) this.callEvent("onChange", [this.conf.value, this]); - } - } - - if (typeof(this._attachedNode.setValue) == "function") { - this._attachedNode.setValue(this.conf.value); - } -}; - -dhtmlXSlider.prototype.getValue = function() { - return this.conf.value; -}; - -dhtmlXSlider.prototype.disable = function(mode) { - mode = (mode == false)? false: true; // deprecated - var reg = null; - if (mode) { - for (var nm in this._nodes) { - if (nm == "cont") continue; - reg = new RegExp("\\s?dhxsl_"+nm+"_dis","i"); - if (!reg.test(this._nodes[nm].className)) { - this._nodes[nm].className += " dhxsl_"+nm+"_dis"; - } - } - - this.conf.disabled = true; - } else { - this.enable(); - } -}; - -dhtmlXSlider.prototype.enable = function() { - var reg; - for (var nm in this._nodes) { - if (nm == "cont") continue; - reg = new RegExp("\\s?dhxsl_"+nm+"_dis","i"); - if (reg.test(this._nodes[nm].className)) { - this._nodes[nm].className = this._nodes[nm].className.replace(reg,""); - } - } - - this.conf.disabled = false; -}; - -dhtmlXSlider.prototype.isEnabled = function() { - return !this.conf.disabled; -}; - -dhtmlXSlider.prototype.disableTooltip = function() { - this._nodes.cont.removeAttribute("title"); - this.conf.tooltip = false; -}; - -dhtmlXSlider.prototype.enableTooltip = function(mode) { - if (typeof(mode) == "undefined") mode = true; else mode = dhx4.s2b(mode); - if (mode) { - this._nodes.cont.title = this.conf.value; - this.conf.tooltip = true; - } else { - this.disableTooltip(); - } -}; - -dhtmlXSlider.prototype.setMax = function(value) { - value = parseInt(value); - if (!isNaN(value) && this.conf.min < value) { - this.conf.max = value; - this.setValue(this.conf.value); - } -}; - -dhtmlXSlider.prototype.getMax = function() { - return this.conf.max; -}; - -dhtmlXSlider.prototype.setMin = function(value) { - value = parseInt(value); - if (!isNaN(value) && this.conf.max > value) { - this.conf.min = value; - this.setValue(this.conf.value); - } -}; - -dhtmlXSlider.prototype.getMin = function() { - return this.conf.min; -}; - -dhtmlXSlider.prototype.setStep = function(value) { - value = parseInt(value); - var maxValue = this.conf.max - this.conf.min; - if (!isNaN(value) && value < maxValue) { - this.conf.step = value; - this.setValue(this.conf.value); - } -}; - -dhtmlXSlider.prototype.getStep = function() { - return this.conf.step; -}; - -dhtmlXSlider.prototype.show = function() { - if (/\s?dhxsl_hidden/i.test(this._nodes.cont.className)) { - this._nodes.cont.className = this._nodes.cont.className.replace(/\s?dhxsl_hidden/i, ""); - } - - this.conf.visible = true; -}; - -dhtmlXSlider.prototype.hide = function() { - if (!/\s?dhxsl_hidden/i.test(this._nodes.cont.className)) { - this._nodes.cont.className += " dhxsl_hidden"; - } - - this.conf.visible = false; -}; - -dhtmlXSlider.prototype.isVisible = function() { - return this.conf.visible; -}; - -dhtmlXSlider.prototype.linkTo = function(node) { - if (typeof(node) == "string") { - node = document.getElementById(node); - } - - if (this._attachedNode.node) { - this._detachNode(); - } - - this._attachNode(node); -}; \ No newline at end of file diff --git a/themes/sources4.0/dhtmlxSlider/codebase/dhtmlxslider_deprecated.js b/themes/sources4.0/dhtmlxSlider/codebase/dhtmlxslider_deprecated.js deleted file mode 100644 index a21a597..0000000 --- a/themes/sources4.0/dhtmlxSlider/codebase/dhtmlxslider_deprecated.js +++ /dev/null @@ -1,24 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -window.dhtmlxSlider = window.dhtmlXSlider; - -dhtmlXSlider.prototype.setOnChangeHandler = function(fun) { - if (typeof fun == "function") { - this.attachEvent("onChange", fun); - } -}; - -dhtmlXSlider.prototype.init = function() { - // no longer used -}; - -dhtmlXSlider.prototype.setImagePath = function() { - // no longer used -}; - diff --git a/themes/sources4.0/dhtmlxSlider/codebase/skins/dhtmlxslider_dhx_skyblue.css b/themes/sources4.0/dhtmlxSlider/codebase/skins/dhtmlxslider_dhx_skyblue.css deleted file mode 100644 index 48ef2a5..0000000 --- a/themes/sources4.0/dhtmlxSlider/codebase/skins/dhtmlxslider_dhx_skyblue.css +++ /dev/null @@ -1,82 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* skin detected, extra file: skins/dhx_skyblue.less */ - -.dhxslider_skin_detect { - position: absolute; - left: 0px; - top: -100px; - border: 0px solid white; - width: 10px; - height: 10px; - margin: 0; - padding: 0; - overflow: hidden; -} -.dhtmlxslider_dhx_skyblue .dhxsl_hidden { - display: none; -} -.dhtmlxslider_dhx_skyblue .dhxsl_container { - position: relative; - float: left; - clear: left; - margin: 0px; - padding: 1px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; - -ms-user-select: none; -} -.dhtmlxslider_dhx_skyblue .dhxsl_container.dhxsl_cont_hr { - margin-top: 6px; -} -.dhtmlxslider_dhx_skyblue .dhxsl_container.dhxsl_cont_vr { - margin-left: 6px; -} -.dhtmlxslider_dhx_skyblue .dhxsl_runner { - position: absolute; - margin: 0; - padding: 0; - overflow: hidden; - width: 16px; - height: 16px; - border: 1px solid #a4bed4; - border-radius: 2px; - background-color: #f1f7ff; - background: linear-gradient(#f1f7ff,#e2efff); - filter: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#f1f7ff,endColorStr=#e2efff) progid:DXImageTransform.Microsoft.Alpha(opacity=100); -} -.dhtmlxslider_dhx_skyblue .dhxsl_runner_dis { - border-color: #c9c9c9; - background-color: #e8e8e8; - background: linear-gradient(#e8e8e8,#dedede); - filter: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e8e8e8,endColorStr=#dedede) progid:DXImageTransform.Microsoft.Alpha(opacity=100); -} -.dhtmlxslider_dhx_skyblue .dhxsl_track { - border: 1px solid #a4bed4; - border-radius: 2px; - background-color: white; - margin: 0; - padding: 0; - overflow: hidden; -} -.dhtmlxslider_dhx_skyblue .dhxsl_cont_vr .dhxsl_track { - height: 100%; - width: 3px; -} -.dhtmlxslider_dhx_skyblue .dhxsl_cont_hr .dhxsl_track { - width: 100%; - height: 3px; -} -.dhtmlxslider_dhx_skyblue .dhxsl_track_dis { - border: 1px solid #c9c9c9; - background-color: #f0f0f0; -} diff --git a/themes/sources4.0/dhtmlxSlider/codebase/skins/dhtmlxslider_dhx_terrace.css b/themes/sources4.0/dhtmlxSlider/codebase/skins/dhtmlxslider_dhx_terrace.css deleted file mode 100644 index 77b1177..0000000 --- a/themes/sources4.0/dhtmlxSlider/codebase/skins/dhtmlxslider_dhx_terrace.css +++ /dev/null @@ -1,83 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* skin detected, extra file: skins/dhx_terrace.less */ - -.dhxslider_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 30px; - height: 10px; - overflow: hidden; -} -.dhtmlxslider_dhx_terrace .dhxsl_hidden { - display: none; -} -.dhtmlxslider_dhx_terrace .dhxsl_container { - position: relative; - float: left; - clear: left; - margin: 0px; - padding: 1px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhtmlxslider_dhx_terrace .dhxsl_container.dhxsl_cont_hr { - margin-top: 4px; -} -.dhtmlxslider_dhx_terrace .dhxsl_container.dhxsl_cont_vr { - margin-left: 4px; -} -.dhtmlxslider_dhx_terrace .dhxsl_runner { - position: absolute; - border: 1px solid #cccccc; - border-radius: 3px; - background-color: #e8e8e8; - margin: 0; - padding: 0; - overflow: hidden; -} -.dhtmlxslider_dhx_terrace .dhxsl_cont_hr .dhxsl_runner { - width: 12px; - height: 22px; -} -.dhtmlxslider_dhx_terrace .dhxsl_cont_vr .dhxsl_runner { - width: 22px; - height: 12px; -} -.dhtmlxslider_dhx_terrace .dhxsl_runner_dis { - border: 1px solid #d1d1d1; - background-color: #f0f0f0; -} -.dhtmlxslider_dhx_terrace .dhxsl_track { - border: 1px solid #cccccc; - border-radius: 3px; - background-color: #f5f5f5; - overflow: hidden; - margin: 0px; - padding: 0px; -} -.dhtmlxslider_dhx_terrace .dhxsl_cont_vr .dhxsl_track { - height: 100%; - width: 8px; -} -.dhtmlxslider_dhx_terrace .dhxsl_cont_hr .dhxsl_track { - width: 100%; - height: 8px; -} -.dhtmlxslider_dhx_terrace .dhxsl_track_dis { - border: 1px solid #d1d1d1; - background-color: #f0f0f0; -} diff --git a/themes/sources4.0/dhtmlxSlider/codebase/skins/dhtmlxslider_dhx_web.css b/themes/sources4.0/dhtmlxSlider/codebase/skins/dhtmlxslider_dhx_web.css deleted file mode 100644 index e15cc2e..0000000 --- a/themes/sources4.0/dhtmlxSlider/codebase/skins/dhtmlxslider_dhx_web.css +++ /dev/null @@ -1,75 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* skin detected, extra file: skins/dhx_web.less */ - -.dhxslider_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 20px; - height: 10px; - overflow: hidden; -} -.dhtmlxslider_dhx_web .dhxsl_hidden { - display: none; -} -.dhtmlxslider_dhx_web .dhxsl_container { - position: relative; - float: left; - clear: left; - margin: 0px; - padding: 1px; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhtmlxslider_dhx_web .dhxsl_container.dhxsl_cont_hr { - margin-top: 5px; -} -.dhtmlxslider_dhx_web .dhxsl_container.dhxsl_cont_vr { - margin-left: 5px; -} -.dhtmlxslider_dhx_web .dhxsl_runner { - position: absolute; - width: 12px; - height: 12px; - border: 1px solid #3da0e3; - background-color: #3da0e3; - margin: 0; - padding: 0; - overflow: hidden; -} -.dhtmlxslider_dhx_web .dhxsl_runner_dis { - border: 1px solid #999999; - background-color: #999999; -} -.dhtmlxslider_dhx_web .dhxsl_track { - margin: 0; - padding: 0; - overflow: hidden; - border: 1px solid #c7c7c7; - background-color: #ffffff; -} -.dhtmlxslider_dhx_web .dhxsl_cont_vr .dhxsl_track { - height: 100%; - width: 6px; -} -.dhtmlxslider_dhx_web .dhxsl_cont_hr .dhxsl_track { - width: 100%; - height: 6px; -} -.dhtmlxslider_dhx_web .dhxsl_track_dis { - border: 1px solid #d9d9d9; - background-color: #f2f2f2; -} diff --git a/themes/sources4.0/dhtmlxSlider/codebase/skins/dhtmlxslider_material.css b/themes/sources4.0/dhtmlxSlider/codebase/skins/dhtmlxslider_material.css deleted file mode 100644 index 23f731c..0000000 --- a/themes/sources4.0/dhtmlxSlider/codebase/skins/dhtmlxslider_material.css +++ /dev/null @@ -1,129 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 5.2.0 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -/* - skin detected: material - include extra file: skins/material.less -*/ - -@keyframes dhx_loader_rotate { - 100% { - transform: rotate(360deg); - } -} -@keyframes dhx_loader_dash { - 0% { - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - } - 50% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -35px; - } - 100% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -124px; - } -} -.dhtmlxslider_material { - z-index: 0; -} -.dhtmlxslider_material .dhxsl_hidden { - display: none; -} -.dhtmlxslider_material .dhxsl_container { - position: relative; - float: left; - clear: left; - margin: 0px; - padding: 1px; - -webkit-tap-highlight-color: rgba(0,0,0,0); - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhtmlxslider_material .dhxsl_container.dhxsl_cont_hr { - margin-top: 4px; -} -.dhtmlxslider_material .dhxsl_container.dhxsl_cont_vr { - margin-left: 4px; -} -.dhtmlxslider_material .dhxsl_runner { - position: absolute; - background-color: #3399cc; - -webkit-touch-callout: none; - -webkit-user-select: none; - -ms-touch-action: none; - z-index: 1; - border-radius: 50%; - width: 12px; - height: 12px; - margin: 0; - padding: 0; - overflow: hidden; -} -.dhtmlxslider_material .dhxsl_runner.dhxsl_runner_actv { - z-index: 2; -} -.dhtmlxslider_material .dhxsl_runner_dis { - background-color: #dfdfdf; - border: 1px solid white; - width: 10px; - height: 10px; -} -.dhtmlxslider_material .dhxsl_track { - background-color: #dfdfdf; - overflow: hidden; - position: relative; - margin: 0px; - padding: 0px; - -webkit-touch-callout: none; - -webkit-user-select: none; - -ms-touch-action: none; -} -.dhtmlxslider_material .dhxsl_track div.dhxsl_track_bg { - position: absolute; - font-size: 1px; - overflow: hidden; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.dhtmlxslider_material .dhxsl_cont_vr .dhxsl_track { - height: 100%; - width: 2px; -} -.dhtmlxslider_material .dhxsl_cont_vr .dhxsl_track div.dhxsl_track_bg { - left: 0px; - width: 100%; -} -.dhtmlxslider_material .dhxsl_cont_hr .dhxsl_track { - width: 100%; - height: 2px; -} -.dhtmlxslider_material .dhxsl_cont_hr .dhxsl_track div.dhxsl_track_bg { - top: 0px; - height: 100%; -} -.dhxslider_skin_detect { - position: absolute; - left: 0px; - top: -100px; - margin: 0; - padding: 0; - border: 0px solid white; - width: 40px; - height: 10px; - overflow: hidden; -} diff --git a/themes/sources4.0/dhtmlxTabbar/codebase/dhtmlxtabbar.js b/themes/sources4.0/dhtmlxTabbar/codebase/dhtmlxtabbar.js deleted file mode 100644 index 1c76852..0000000 --- a/themes/sources4.0/dhtmlxTabbar/codebase/dhtmlxtabbar.js +++ /dev/null @@ -1,1141 +0,0 @@ -/* -Product Name: dhtmlxSuite -Version: 4.0.3 -Edition: Professional -License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com -Copyright UAB Dinamenta http://www.dhtmlx.com -*/ - -function dhtmlXTabBar(conf, mode) { // skin? data? - - // console.log("context menu for tabs?"); - // console.log("first tab open event?"); - - var that = this; - - this.conf = { - skin: (window.dhx4.skin||(typeof(dhtmlx)!="undefined"?dhtmlx.skin:null)||window.dhx4.skinDetect("dhxtabbar")||"dhx_skyblue"), - fullScreen: false, - fullScreenResize: false, // autoresize not inited - lastActive: null, - closeButton: false, - align: "left", // tabs aligned to right side, inversed, default "right" align - tabsMode: (mode=="bottom"?"bottom":"top"), // top/bottom - contZone: true, - transSpeed: "0.15s", - baseOfs: {w:2,h:2}, // offset for base in fullscreen mode - tabsOfs: 1, // dhx_skyblue and dhx_terrace have margin-left:-1px for tabs, should be included - tabsTop: 0, // tabs top position, used in attachObject to hide border - autoload: {} - }; - - var base; - - // check if api init - if (conf != null && typeof(conf) == "object" && typeof(conf.tagName) == "undefined") { - base = conf.parent; - if (typeof(conf.skin) != "undefined") this.conf.skin = conf.skin; - if (typeof(conf.mode) != "undefined") this.conf.tabsMode = (conf.mode=="bottom"?"bottom":"top"); - if (typeof(conf.align) != "undefined") this.conf.align = (conf.align=="right"?"right":"left"); - if (typeof(conf.close_button) != "undefined") this.conf.closeButton = window.dhx4.s2b(conf.close_button); - if (typeof(conf.content_zone) != "undefined") this.conf.contZone = window.dhx4.s2b(conf.content_zone); - if (typeof(conf.xml) != "undefined") this.conf.autoload.xml = conf.xml; - if (typeof(conf.json) != "undefined") this.conf.autoload.xml = conf.json; // new in 4.0 - if (typeof(conf.tabs) != "undefined") this.conf.autoload.tabs = conf.tabs; - if (typeof(conf.onload) != "undefined") this.conf.autoload.tabs = conf.tabs; // new in 4.0 - // deprecated from 4.0 - // conf { height, offset, margin, image_path, href_mode, scroll, forced, size_by_content, auto_size } - } else { - base = conf; - } - - if (base == document.body) { - - document.documentElement.className += " dhxtabbar_fullscreen"; - document.body.className += " dhxtabbar_fullscreen"; - this.conf.fullScreen = true; - - this.base = document.createElement("DIV"); - this.base.className = "dhxtabbar_base_"+this.conf.skin; - this.base.style.position = "absolute"; - this.base.style.left = this.conf.baseOfs.w+"px"; - this.base.style.top = this.conf.baseOfs.h+"px"; - document.body.appendChild(this.base); - - } else { - - this.base = (typeof(base) == "string" ? document.getElementById(base) : base); - base = null; - - this.base.className += " dhxtabbar_base_"+this.conf.skin; - - } - - // tabsTop override - if (this.base._ofs != null && this.base._ofs.t != null) this.conf.tabsTop = this.base._ofs.t; - - this.tabsMode = document.createElement("DIV"); - this.tabsMode.className = "dhxtabbar_tabs_"+this.conf.tabsMode; - this.base.appendChild(this.tabsMode); - - this.tabsArea = document.createElement("DIV"); - this.tabsArea.className = "dhxtabbar_tabs dhxtabbar_tabs_"+this.conf.tabsMode; - this.tabsArea.innerHTML = "
              "+ - "
              "+ - "
              "+ - "
              "+ - "
              "+ - "
              "+ - "
              "; - - if (this.conf.tabsMode == "top") { - this.tabsArea.style.top = this.conf.tabsTop+"px"; - } - this.tabsMode.appendChild(this.tabsArea); - - // area to move tabs - this.tabsArea.childNodes[1].childNodes[0].style[this.conf.align] = "0px"; - - this.tabsArea.childNodes[0].onclick = function() { - if (that.conf.align == "left") { - that._moveTabs(1); - } else { - that._moveTabs(-1); - } - } - this.tabsArea.childNodes[2].onclick = function() { - if (that.conf.align == "left") { - that._moveTabs(-1); - } else { - that._moveTabs(1); - } - } - - this._onTabsAreaClick = function(id) { - return this._callMainEvent("onTabClose",[id]); - } - - this.tabsArea.onclick = function(e) { - e = e||event; - var t = (e.target||e.srcElement); - while (t != null) { - if (typeof(t._tabCloseId) != "undefined") { - if (that._onTabsAreaClick(t._tabCloseId) !== true) return; - that.t[t._tabCloseId].conf.remove = true; - that._hideTab(t._tabCloseId); - t = null; - } else if (typeof(t._tabId) != "undefined") { - that._doOnClick(t._tabId); - t = null; - } - if (t != null) { - t = t.parentNode; - if (t == this) t = null; - } - } - } - - this.tabsArea.onselectstart = function(e) { - e = e||event; - if (e.preventDefault) e.preventDefault(); else e.returnValue = false; - } - - this._doOnClick = function(id) { - // onBeforeEvent here - this.callEvent("onTabClick", [id, this.conf.lastActive]); - if (this.t[id].conf.enabled) this._setTabActive(id); - } - - this.t = {}; - - this.addTab = function(id, text, width, position, active, close) { - - // close = show close button, false by default - // true - show_closeButton - // false - do not show (ignoring enableTabCloseButton) - // not set - depending on enableTabCloseButton - if (typeof(close) != "boolean") close = (this.conf.closeButton==true); - active = window.dhx4.s2b(active); - - var tab = document.createElement("DIV"); - tab.className = "dhxtabbar_tab"; - tab.innerHTML = "
              "+text+"
              "+ - (close?"
              ":""); - - tab._tabId = id; - if (close) tab.childNodes[1]._tabCloseId = id; // close button - - var p = this.tabsArea.childNodes[1].firstChild; - - if (position != null && position+1 > 0 && position+1 < p.childNodes.length) { // 1st item - line - p.insertBefore(tab, p.childNodes[position+1]); - } else { - p.appendChild(tab); - } - - - // width - var autowidth = false; - if (typeof(width) == "undefined" || width == null || width == "*") { - width = this._getLabelWidth(text, close); - autowidth = true; - } else { - width = parseInt(width); - } - - tab.style.width = width+"px"; - - var cell = new dhtmlXTabBarCell(id, this); - this.tabsMode.appendChild(cell.cell); - - this.t[id] = { - tab: tab, - cell: cell, - conf: { - text: text, - visible: true, - active: false, - enabled: true, - close: close, - width: width, - autowidth: autowidth - } - }; - - p = cell = null; - - if (active) { - this._setTabActive(id); - } else { - this._adjustCell(id); - } - - } - - this.setSizes = function() { - - if (this.conf.fullScreen) { - this.base.style.width = document.body.offsetWidth-this.conf.baseOfs.w*2+"px"; - this.base.style.height = document.body.offsetHeight-this.conf.baseOfs.h*2+"px"; - } - - if (this.conf.tabsAreaOfs == null) { - this.tabsArea.style.width = this.base.offsetWidth+"px"; - this.conf.tabsAreaOfs = parseInt(this.tabsArea.style.width)-this.tabsArea.offsetWidth; - } - this.tabsArea.style.width = this.base.offsetWidth+this.conf.tabsAreaOfs+"px"; - - this.tabsArea.childNodes[1].style.left = this.tabsArea.childNodes[0].offsetWidth-1+"px"; - this.tabsArea.childNodes[1].style.width = Math.max(0, this.tabsArea.offsetWidth-this.tabsArea.childNodes[0].offsetWidth-this.tabsArea.childNodes[2].offsetWidth)+1+"px"; // minus 2 arrows - - this._adjustCell(this.conf.lastActive); - this._adjustTabs(); - - } - - this._adjustCell = function(id) { - - // adjust specified cell or active - - if (!this.conf.contZone || id == null) return; - - var y = (this.conf.tabsMode=="top"?this.tabsArea.offsetHeight:0)+this.conf.tabsTop; - var h = this.base.offsetHeight-this.tabsArea.offsetHeight-this.conf.tabsTop; - - // if layout attached - move a bit - var t = this.t[id].cell.dataType; - if (this.conf.skin == "dhx_skyblue" && (t == "layout" || t == "tabbar" || t == "acc")) { - if (this.conf.tabsMode == "top") y = y - 1; // only for top - h = h + 1; // always - } - - if (id != this.conf.lastActive) { - y = -5000; - this.t[id].cell.cell.style.visibility = "hidden"; - this.t[id].cell.cell.style.zIndex = 0; - } - this.t[id].cell._setSize(0, y, this.base.offsetWidth, h); - - } - - this.setTabsMode = function(mode) { - - // new - this.conf.tabsMode = (mode=="bottom"?"bottom":"top"); - this.tabsMode.className = "dhxtabbar_tabs_"+this.conf.tabsMode; - this.setSizes(); - - } - - // generate tab css depending on actv/en state - this._tabCss = function(id, hidden) { - var a = this.t[id].conf.active; - var d = !this.t[id].conf.enabled; - var h = !this.t[id].conf.visible; - return "dhxtabbar_tab"+(h?" dhxtabbar_tab_hidden":(a||d?" dhxtabbar_tab"+(a?"_actv":"")+(d?"_dis":""):"")); - } - - // calculate tab width depending on text and close button - this._getLabelWidth = function(text, close) { - - if (!this.tabsTextTest) { - this.tabsTextTest = document.createElement("SPAN"); - this.tabsTextTest.className = "dhxtabbar_tabs_text_test_"+this.conf.skin; - } - - document.body.appendChild(this.tabsTextTest); - this.tabsTextTest.innerHTML = text; - var w = this.tabsTextTest.offsetWidth; - // move to conf? - w += (this.conf.skin == "dhx_terrace" ? 44:35); - w += (close ? (this.conf.skin == "dhx_terrace" ? 14:9) : 0); - // - document.body.removeChild(this.tabsTextTest); - return w; - } - - // if tabs overflow left/right side, adjust active tab position - this._adjustTabs = function() { - - var p = this.tabsArea.childNodes[1]; - if (p.offsetWidth < 5) { - p = null; - return; - } - - var x = parseInt(p.childNodes[0].style[this.conf.align]); - - var k = null; - for (var q=0; q